Vue.use(Vuedals.default) new Vue({ el: '#main', data: { height: '', isloading: false, //加载中 start: '', searchStr: 1, end: '', tabledata: [], //表格数据 levelList: [ { level: '4', areaLevel: '2' }, { level: '3', areaLevel: '3' }, { level: '2', areaLevel: '4' } ], //两种搜索,地区等级对比 areaLevel: '', // 2、市,3、区,4、社区,5、团队 initareaLevel: '', initlevel: '', initarea: '', level: '', area: '', areaTitle: '', index: '121', lowLevel: '', initlowLevel: '', years: [], chooseYear: '', userRole: '', treedata: [], treedataExpert: [{ label: '邀请专科回复统计', id: '1' }], tableHeader: [], defaultProps: { children: 'children', label: 'label' }, pickerOptions: { disabledDate: function (time) { return time.getTime() > Date.now() } }, radio: '1', timeLevel: 2, searchJson: {}, currentPage: 1, currentSize: 10, datatotal: 0, rangeList: [], rangeCode: '', areaList: [], areaCode: '', communityList: [{ code: '', name: '全部' }], communityCode: '', teamList: [{ code: '', name: '全部' }], teamCode: '', detailInquire: [ { label: '明细查询', children: [ { label: '咨询分析', id: '33' }, { label: '签约分析', id: '34' }, { label: '专病分析', id: '35' }, { label: '生日祝福分析', id: '36' }, { label: '上门服务分析', id: '37' }, { label: '长处方分析', id: '38' }, { label: '体征数据分析', id: '39' }, { label: '上转预约明细', id: '40' }, { label: '专病复诊明细', id: '53' }, { label: '微信绑定明细', id: '41' }, { label: '居民积分明细', id: '42' }, { label: '入户访视明细', id: '43' }, { label: '康复下转明细', id: '44' }, { label: '邀请专科回复明细', id: '45' } ] } ], mzfTabsData: [ { label: '慢阻肺医院工作量表', id: '46' }, { label: '慢阻肺患者查询', id: '47' }, { label: '慢阻肺入组进度', id: '48' }, { label: '慢阻肺入组总明细', id: '49' }, { label: '慢阻肺随访进度', id: '50' }, { label: '慢阻肺随访总明细', id: '51' }, { label: 'v1入组情况报表', id: '52' }, { label: '慢阻肺呼吸训练数据', id: '54' }, { label: '慢阻肺手表数据', id: '55' }, { label: '慢阻肺监查、稽查情况统计', id: '56' }, { label: '第一阶段入组随访进度', id: '57' }, { label: '第二阶段三级医院入组进度', id: '58' }, { label: '第二阶段社区医院入组进度', id: '59' }, { label: '第二阶段三级医院随访进度', id: '60' }, { label: '第二阶段社区医院随访进度', id: '61' }, { label: '第二阶段三级医院随访进度及出组情况', id: '62' } ], mzfJcTabsData: [ { label: '慢阻肺患者档案', id: '63' }, { label: '管理情况自助查询', id: '64' } ], // 慢阻肺管理情况自处查询字段列表 copdManageSearchFilterList: [ { label: '总患者数', value: 'totalPatients' }, { label: '今年新增人数', value: 'newPatientsThisYear' }, { label: '已随访人数', value: 'followedUpPatients' }, { label: '完成率', value: 'completionRate' }, { label: '回退次数', value: 'returnCount' }, { label: '转移次数', value: 'transferCount' }, { label: '病人转归情况人数', value: 'patientOutcomeCount' }, { label: '家签患者人数', value: 'signedPatients' }, { label: '非家签患者人数', value: 'unsignedPatients' }, { label: '已分配人数', value: 'assignedPatients' }, { label: '未分配人数', value: 'unassignedPatients' }, { label: '已接收人数', value: 'receivedPatients' }, { label: '未接收人数', value: 'unreceivedPatients' }, { label: '未随访人数', value: 'unfollowedPatients' }, { label: '已随访次数', value: 'followUpCount' }, { label: '失访人数', value: 'lostFollowUpPatients' }, { label: '死亡人数', value: 'deceasedPatients' } ], // 家庭病床统计 jtbcTabsData: [ { label: '患者情况分析', id: '71' }, { label: '建床人数统计', id: '72' }, { label: '计划服务情况分析', id: '73' }, { label: '病床查床情况分析', id: '74' }, { label: '转诊与撤床情况分析', id: '75' }, { label: '一键报警记录查询', id: '76' } ], gxbTabsData: [ { label: '冠心病评估情况统计表', id: '77' }, { label: '冠心病上转情况表', id: '78' }, { label: '冠心病门诊下转统计表', id: '79' }, { label: '冠心病出院下转统计表', id: '80' }, { label: '冠心病管理全流程闭环情况', id: '81' }, { label: '签约情况统计', id: '82' }, { label: '就诊情况统计', id: '83' }, { label: '下转动态分析', id: '84' }, { label: '康复随访记录', id: '85' }, { label: '康复随访详情', id: '86' }, { label: '康复下转明细', id: '87' }, { label: '居民预约情况明细', id: '88' } ], copdFilterCheckValue: [], handleNodeShow: 1, handleNodeId: 0, radio1: '', radio2: '', radio3: '', radio4: '', radio5: '', radio6: '', radio7: '', radio8: '', radio9: '', radio10: '', cities: [ { value: '高血压', num: '4' }, { value: '糖尿病', num: '5' }, { value: '65岁以上人群', num: '3' }, { value: '0-6岁小孩', num: '7' }, { value: '计划生育家庭', num: '9' }, { value: '严重精神障碍', num: '10' }, { value: '残疾人', num: '11' }, { value: '普通人群', num: '1' }, { value: '结核病', num: '12' }, { value: '低保人群', num: '8' }, { value: '孕产妇', num: '6' } ], checkedCities: [], specialCities: [], specialCheckedCities: [], serveCities: [ { value: '残疾人', num: '1' }, { value: '失能/半失能老人', num: '5' }, { value: '80岁以上老人', num: '7' }, { value: '肺结核患者', num: '2' }, { value: '计生特殊家庭', num: '3' }, { value: '重性精神病', num: '4' }, { value: '其他', num: '6' } ], serveSpecialCities: [], options: [ { value: '1', label: '是' }, { value: '0', label: '否' } ], value: '', form: { endorseTheTicket: '', renew: '', backToSign: '', WeChat: '' }, form2: { juniorCollege: '', family: '', resident: '', patientType: '' }, form3: { family: '', resident: '' }, form4: { family: '', resident: '' }, form5: { family: '', resident: '' }, handleData: [], diseaseData: [], serviceTypeData: [], analyseData: [], //分析数据 searchJsonTime: undefined, loadingTwo: false, radio1Show: null, serverType: '', diseaseDataType: '', serviceTypeDataType: '', fullscreenLoading: false, derive: '', tabsList: [ { id: '1', text: '综合查询', show: true }, { id: '2', text: '明细查询', show: false }, { id: '3', text: '汇总数据', show: false }, { id: '4', text: '专科综合查询', show: false }, // {id:'5',text:'慢阻肺综合查询',show:false}, { id: '6', text: '慢阻肺统计', show: false }, { id: '7', text: '疾控慢阻肺监测', show: false }, { id: '8', text: '家庭病床统计', show: false }, { id: '9', text: '冠心病统计', show: false } ], tabsId: '1', facility: '', //体征数据分析 - 设备类型 illness: '', //体征数据分析 - 疾病类型 form6: { resident: '', doctor: '' }, form7: { resident: '', doctorOne: '', hospital: '', doctorTwo: '', administrativeOffice: '' }, form9: { resident: '', doctorTwo: '' }, form10: { resident: '', doctorTwo: '' }, form11: { patientName: '', status: '', hospitalCode: '', hospitalDoctor: '', orgCode: '', doctor: '', archiveStatus: '', patientType: '' }, form12: { patientName: '', status: '', doctor: '', hospital: '', archiveStatus: '' }, getHealthData: [], form8: { renew: '' }, reservationData: [], wexinBindingData: [], hospitalData: [], administrativeOffice: [], jifenData: [], ruhuData: [], collect: [ { id: 'kfxzrs,kfxzrc,szrs,szrc', label: '专病汇总', code: '1', children: [ { id: 'kfxzrs', label: '康复下转人数', code: '1' }, { id: 'kfxzrc', label: '康复下转人次', code: '1' }, { id: 'szrs', label: '上转人数', code: '1' }, { id: 'szrc', label: '上转人次', code: '1' } ] }, { id: 'scsbs,scrc,yctzrc,gyrc', label: '体征数据汇总', code: '2', children: [ { id: 'scsbs', label: '上传设备数', code: '2' }, { id: 'scrc', label: '上传人次', code: '2' }, { id: 'yctzrc', label: '异常体征人次', code: '2' }, { id: 'gyrc', label: '干预人次', code: '2' } ] }, { id: 'fwgd', label: '上门服务汇总', code: '3', children: [{ id: 'fwgd', label: '服务工单', code: '3' }] } ], specHosName: '', specHosList: [], collectCode: '', diseaseReport: [], diseaseColumn: [], diseaseHeader: [], facilitySign: '', getDeviceReport: [], getDeviceColumn: [], getDeviceHeader: [], getDoorReport: [], getDoorColumn: [], getDoorHeader: [], isCheck: false, deorsumvergence: [{ value: '', label: '全部' }], rehabilitationHospital: [{ value: '', label: '全部' }], archiveList: [{ value: '', label: '全部' }], inviteStatus: [ { value: '', label: '全部' }, { value: '0', label: '待回复' }, { value: '1', label: '进行中' }, { value: '2', label: '已完成' }, { value: '3', label: '未回复' } ], inviteStatus1: [ { value: '', label: '全部' }, { value: '1', label: '门诊患者' }, { value: '2', label: '出院患者' } ], recoveryList: [], dialogVisible: false, signatoryList: [], tableKey: '', indicator: [], communityHospitals: [], invitationList: [], expertFamilyIdType: '', expertReplyData: [], specializedHospital: [{ value: '', label: '全部' }], mzfzhcxData: [{ name: '测试数据1条' }], mzftjTree: [ { id: 'zhzrs,yglrs,yrzrs,ysfrs,yczrs,bnrglrs,swrs', label: '患者管理统计', code: '1', children: [ { id: 'zhzrs', label: '总患者人数', code: '1' }, { id: 'yglrs', label: '已管理人数', code: '1' }, { id: 'yrzrs', label: '已入组人数', code: '1' }, { id: 'ysfrs', label: '已失访人数', code: '1' }, { id: 'yczrs', label: '已出组人数', code: '1' }, { id: 'bnrglrs', label: '不纳入管理人数', code: '1' }, { id: 'swrs', label: '死亡人数', code: '1' } ] }, { id: 'yjcrs,yjccs,djcrs,djccs,djcrs,djccs', label: '监查稽查统计', code: '2', children: [ { id: 'yjcrs', label: '已稽查人数', code: '2' }, { id: 'yjccs', label: '已稽查次数', code: '2' }, { id: 'djcrs', label: '待监查人数', code: '2' }, { id: 'djccs', label: '待监查次数', code: '2' }, { id: 'djcrs', label: '待稽查人数', code: '2' }, { id: 'djccs', label: '待稽查次数', code: '2' } ] }, { id: 'xzrs,jsxzrs', label: '下转接收统计', code: '3', children: [ { id: 'xzrs', label: '下转人数', code: '3' }, { id: 'jsxzrs', label: '接收下转人数', code: '3' } ] }, { id: 'v1sxrs,v2rzrs,v3rs,v4rs,v5rs,v6rs,zgrs,tlzls', label: '随访进度统计', code: '4', children: [ { id: 'v1sxrs', label: 'v1筛选人数', code: '4' }, { id: 'v2rzrs', label: 'v2入组人数', code: '4' }, { id: 'v3rs', label: 'v3人数', code: '4' }, { id: 'v4rs', label: 'v4人数', code: '4' }, { id: 'v5rs', label: 'v5人数', code: '4' }, { id: 'v6rs', label: 'v6人数', code: '4' }, { id: 'zgrs', label: '在管人数', code: '4' }, { id: 'tlzls', label: '脱落总例数', code: '4' } ] } ], list: [], startTime: new Date('2023', '05', '26'), endTime: new Date(), regionList: [], regionData: [{ label: '全市', id: '1', type: '1' }], regionListList: [], tertiaryHospitalsData: [{ label: '全部', id: '1', type: '2' }], communityHospitalsList: [], communityHospitalsData: [{ label: '全部', id: '1', type: '3' }], groupingList: [], groupingData: [{ label: '全部', id: '1', type: '4' }], administrationStatusList: [], administrationStatusData: [{ label: '全部', id: '1', type: '5' }], show: false, showTwo: false, showThree: false, currentPage: 1, currentSize: 10, datatotal: 0, //总数 loadingTwo: false, setDisabled: { disabledDate: function (time) { return time.getTime() < new Date('2023', '05', '26') || time.getTime() > Date.now() } }, s: '', e: '', // 下转状态 transferStatusOptions: [ { label: '全部', value: -1 }, { label: '已下转', value: 1 }, { label: '未下转', value: 2 } ], // 接收状态 receiveStatusOptions: [ { label: '全部', value: -1 }, { label: '已接收', value: 1 }, { label: '未接收', value: 2 } ], // 接收的社区医院 receivingHospitalList: [], // 档案状态 recordStatusOptions: [ { label: '全部', value: -1 }, { label: '正常', value: 1 }, { label: '失访', value: 2 }, { label: '回退', value: 3 } ], // 生存状态 survivalStatusOption: [ { label: '全部', value: -1 }, { label: '生存', value: 1 }, { label: '死亡', value: 2 } ], componentId: [] }, components: { vuedals: Vuedals.Component }, watch: { rangeCode: function (val) { var vm = this if (vm.initlevel != 2) { vm.communityCode = '' } vm.teamCode = '' vm.getTreeList() }, areaCode: function (val) { var vm = this vm.selChange(3) }, communityCode: function (val) { var vm = this vm.selChange(5) }, 'startTime': { handler: function (o) { if (!o) { this.list.splice(0, 1) } }, deep: true, immediate: true }, 'endTime': { handler: function (o) { if (!o) { this.list.splice(0, 1) } }, deep: true, immediate: true } }, mounted: function () { var vm = this //初始化数据 var searchStr = location.search if (searchStr) { vm.searchStr = 0 vm.tabsList = [{ id: '7', text: '疾控慢阻肺监测', show: true }] vm.tabsClick({ id: '7', text: '疾控慢阻肺监测', show: true }) } initData(vm) vm.getQuotaStr() vm.getDiseaseTypeList() vm.height = document.body.offsetHeight - 85 window.onresize = function () { vm.height = document.body.offsetHeight - 85 } this.s = this.startTime.format('yyyy-MM-dd') this.e = this.endTime.format('yyyy-MM-dd') this.list.unshift({ type: '0', id: 'time', label: this.s + '~' + this.e }) for (var i = 46; i <= 88; i++) { this.componentId.push(i + '') } }, methods: { //获取综合查询指标 getQuotaStr() { var vm = this statisticAPI.getDictByDictName({ name: 'jkcopd_quotaStr' }).then(function (res) { vm.copdManageSearchFilterList = res.list console.log(vm.copdManageSearchFilterList, 'osidosioaidoasodais') }) }, startTimeChange: function (o) { if (!this.list[0] || this.list[0].type != 0) { this.list.unshift({ type: '0', id: 'time', label: o.format('yyyy-MM-dd') + '~' + this.endTime.format('yyyy-MM-dd') }) } else { this.list[0].label = o.format('yyyy-MM-dd') + '~' + this.endTime.format('yyyy-MM-dd') } }, endTimeChange: function (o) { if (!this.list[0] || this.list[0].type != 0) { this.list.unshift({ type: '0', id: 'time', label: this.startTime.format('yyyy-MM-dd') + '~' + o.format('yyyy-MM-dd') }) } else { this.list[0].label = this.startTime.format('yyyy-MM-dd') + '~' + o.format('yyyy-MM-dd') } }, // 确定 confirm: function () { this.hospitalWorkStatistics() }, // 选择 change: function (val) { this.list = this.list.concat(val) }, // 已选 deleteClick: function (item) { if (item.id == 'time') { this.startTime = '' this.endTime = '' this.list.splice(0, 1) } var index = this.list.findIndex(function (v) { return item.id == v.id }) this.list.splice(index, 1) }, // 取消 cancel: function () { this.startTime = new Date('2023', '05', '26') this.endTime = new Date() if (!this.list[0] || this.list[0].type != 0) { this.list.unshift({ type: '0', id: 'time', label: this.startTime.format('yyyy-MM-dd') + '~' + this.endTime.format('yyyy-MM-dd') }) } else { this.list[0].label = this.startTime.format('yyyy-MM-dd') + '~' + this.endTime.format('yyyy-MM-dd') } }, // 导出 exportHandle: function () { var vm = this vm.loadingTwo = true statisticAPI .exportHospitalWorkStatistics( { startDate: this.startTime.format('yyyy-MM-dd'), endDate: this.endTime.format('yyyy-MM-dd') }, '慢阻肺综合查询表.xls' ) .then(function (res) { vm.loadingTwo = false }) }, renderTableHeader: function (h, item) { var $index = item.$index return h('div', [ h('span', this.diseaseHeader[$index - 1] + ' ', { align: 'center', marginTop: '10px' }), h( 'el-popover', { props: { placement: 'top-start', // 一般 icon 处可添加浮层说明,浮层位置等属性 width: '100', trigger: 'hover' } }, [ h('p', this.indicator[$index - 2], { class: 'text-align: center; margin: 0' }), h('i', { // 生成 i 标签 ,添加icon 设置 样式,slot 必填 class: 'el-icon-question', style: 'color:#ccc,margin:18px,padding-top:10px', slot: 'reference' }) ] ) ]) }, renderHeadeRexpert: function (h, item) { var index = item.$index return [ index == '3' ? '邀请次数' : index == '4' ? '进行中' : index == '5' ? '已回复' : index == '6' ? '未回复' : index == '7' ? '回复率' : index == '8' ? '平均响应时长' : '用户评价', h( 'el-tooltip', { props: { content: (function () { return index == '3' ? '发起邀请总次数' : index == '' ? '其中咨询未完成,包含待回复和进行中' : index == '5' ? '其中医生已回复且咨询已结束的' : index == '6' ? '其中咨询已结束医生未回复的' : index == '7' ? '已回复 / 邀请次数' : index == '8' ? '[邀请1响应时长+ 邀请2响应时长 + ...] / 总次数' : '用户评价' })(), placement: 'top' } }, [ h('span', { class: { 'el-icon-question': true } }) ] ) ] }, // 获取康复下转明细 --- 下转状态 deorsumvergenceStatusFunction: function (name) { var vm = this signAPI.getDictByDictName({ name: name }).then(function (res) { if (res.status === 200) { if (name == 'rehabilitation_status') { res.list.forEach(function (v) { vm.deorsumvergence.push({ value: v.code, label: v.value }) }) } if (name == 'rehabilitation_hospital') { res.list.forEach(function (v) { vm.rehabilitationHospital.push({ value: v.code, label: v.value }) }) } if (name == 'archive_status') { res.list.forEach(function (v) { vm.archiveList.push({ value: v.code, label: v.value }) }) } } }) }, // 获取社区医院 hospitalsByType: function () { var vm = this statisticAPI .hospitalsByType({ type: 1, code: '350200' }) .then(function (res) { if (res.status == 200) { res.list.forEach(function (v) { vm.communityHospitals.push({ value: v.code, label: v.name }) }) } }) .catch(function (err) { console.log(err, 'Errr') }) }, // 康复下转操作 operation: function (num, item) { var vm = this if (num != 2) { statisticAPI .synchronizePationSingle({ id: item.id }) .then(function (res) { if (res.status == 200) { toastr.info('操作成功') this.tableKey = Math.random() } else { toastr.error(res.msg) } }) .catch(function (err) { console.log(err, 'Errr') }) } else { vm.signatoryList = [] statisticAPI .kangfuGetSignInfo({ idcard: item.idcard }) .then(function (res) { if (res.status == 200) { if (res.data != null) { vm.signatoryList.push(res.data) } } }) .catch(function (err) { console.log(err, 'Errr') }) this.dialogVisible = true } }, getImgurl: function (url) { var imgUrl = url && url.split(',')[0] return httpRequest.getImgUrl(imgUrl) }, reset: function () { if (this.tabsId == 1) { this.getTreeList() } else { this.collect = [ { id: 'kfxzrs,kfxzrc,szrs,szrc', label: '专病汇总', code: '1', children: [ { id: 'kfxzrs', label: '康复下转人数', code: '1' }, { id: 'kfxzrc', label: '康复下转人次', code: '1' }, { id: 'szrs', label: '下转人数', code: '1' }, { id: 'szrc', label: '下转人数', code: '1' } ] }, { id: 'scsbs,scrc,yctzrc,gyrc', label: '体征数据汇总', code: '2', children: [ { id: 'scsbs', label: '上传设备数', code: '2' }, { id: 'scrc', label: '上传人次', code: '2' }, { id: 'yctzrc', label: '异常体征人次', code: '2' }, { id: 'gyrc', label: '干预人次', code: '2' } ] }, { id: 'fwgd', label: '上门服务汇总', code: '3', children: [{ id: 'fwgd', label: '服务工单', code: '3' }] } ] } }, // 清除 eliminateClick: function () { this.radio = this.handleNodeId == 44 || this.expertFamilyIdType == 'zhuanke1' || this.handleNodeId == 45 ? '2' : '1' this.radio1 = '' this.radio2 = '' this.radio3 = '' this.radio4 = '' this.radio5 = '' this.radio6 = '' this.radio7 = '' this.radio8 = '' this.radio9 = '' this.radio10 = '' this.form = { endorseTheTicket: '', renew: '', backToSign: '', WeChat: '' } this.form2 = { juniorCollege: '', family: '', resident: '' } this.form3 = { family: '', resident: '' } this.form4 = { family: '', resident: '' } this.form5 = { family: '', resident: '' } this.facility = '' //体征数据分析 - 设备类型 this.illness = '' //体征数据分析 - 疾病类型 this.form6 = { resident: '', doctor: '' } this.form7 = { resident: '', doctorOne: '', hospital: '', doctorTwo: '', administrativeOffice: '' } ;(this.form9 = { resident: '', doctorTwo: '' }), (this.form10 = { resident: '', doctorTwo: '' }), (this.form8 = { renew: '' }) this.facilitySign = '' this.form11 = { patientName: '', status: '', hospitalCode: '', hospitalDoctor: '', orgCode: '', doctor: '', archiveStatus: '' } ;(this.form12 = { patientName: '', status: '', doctor: '', hospital: '', archiveStatus: '' }), initData(this) // initTime(this) // initScope(this) }, tabsClick: function (item) { console.log(item, 'item') var vm = this this.copdFilterCheckValue = [] vm.tabsId = item.id if (item.id != 4) { vm.expertFamilyIdType = '' } if (item.id == 5) { vm.handleNodeShow = 5 } vm.tabsList.forEach(function (res) { if (res.id == item.id) { res.show = true } else { res.show = false } }) vm.eliminateClick() }, // 获取汇总数据的专科医院 specHosData: function () { var vm = this statisticAPI.getSpecialHospital().then(function (res) { if (res.status == 200) { res.data.forEach(function (item) { vm.specHosList.push({ code: item.code, name: item.name }) }) } }) }, getDiseaseTypeList: function () { var vm = this statisticAPI.getDiseaseTypeList({}).then(function (res) { if (res.status == 200) { vm.specialCities = res.list } }) }, // 签约人群 handleCheckedCitiesChange: function (value) { var vm = this vm.handleData = value }, // 下转病种 diseaseChange: function (value) { var vm = this vm.diseaseData = value }, // 服务类型 serviceTypeChange: function (value) { var vm = this vm.serviceTypeData = value }, // 综合析树形图 treedataClick: function (name, data) { var vm = this vm.handleNodeShow = 1 vm.handleNodeId = 0 vm.currentPage = 1 vm.radio = '1' //签约年度 --创建时间 // initTime(vm) // initScope(vm) }, // 汇总树形图 collectClick: function (data, isCheck) { var vm = this vm.derive = data.label vm.handleNodeShow = 3 vm.currentPage = 1 vm.radio = '1' //签约年度 --创建时间 vm.isCheck = isCheck }, collCheck: function (data, name) { // console.log(arguments) var vm = this vm.diseaseReport = [] vm.datatotal = 0 vm.collect.forEach(function (item) { item.children.forEach(function (o) { if (o.code != data.code) { vm.$refs.collectTree.setChecked(o, false, true) } }) if (data.id == item.id) { vm.$refs.collectTree.setChecked(item, vm.isCheck, true) } else { item.children.forEach(function (o) { if (data.id == o.id) { vm.$refs.collectTree.setChecked(o, vm.isCheck, true) } }) } }) vm.handleNodeId = 'huizongshuju' vm.collectCode = data.code if (data.code == 1) { vm.rangeList = [ { name: '按区', code: 'town' }, { name: '按社区', code: 'hospital' }, { name: '按团队', code: 'team' }, { name: '按专科医院', code: 'specHos' } ] vm.specHosData() } else { vm.rangeList = [ { name: '按区', code: 'town' }, { name: '按社区', code: 'hospital' }, { name: '按团队', code: 'team' } ] } }, // 点击明细查询树形图 handleNodeClick: function (item, type) { var vm = this vm.copdFilterCheckValue = [] vm.handleNodeId = 0 vm.derive = item.label // if(data.id>=33) { //明细查询以下 vm.handleNodeShow = 2 // 明细查询tabs为2 vm.tableHeader = [] // 选择统计的数组 vm.analyseData = [] // 明细查询数组 // } vm.handleNodeId = item.id //切换后的id vm.radio = '1' //签约年度 --创建时间 vm.radio1 = '' //咨询分析咨询状态 vm.radio2 = '' vm.radio3 = '' vm.radio4 = '' vm.radio5 = '' vm.radio6 = '' vm.radio7 = '' vm.radio8 = '' vm.radio9 = '' vm.radio10 = '' vm.checkedCities = [] //签约人群清空 vm.specialCheckedCities = [] //下转病种清空 vm.serveSpecialCities = [] //服务类型清空 vm.diseaseReport = [] vm.datatotal = 0 vm.form = { endorseTheTicket: '', renew: '', backToSign: '', WeChat: '' } vm.form2 = { juniorCollege: '', family: '', resident: '' } ;(vm.form3 = { family: '', resident: '' }), (vm.form4 = { family: '', resident: '' }), (vm.form5 = { family: '', resident: '' }), (this.form6 = { resident: '', doctor: '' }) this.form7 = { resident: '', doctorOne: '', hospital: '', doctorTwo: '', administrativeOffice: '' } ;(this.form9 = { resident: '', doctorTwo: '' }), (this.form10 = { resident: '', doctorTwo: '' }), (this.form8 = { renew: '' }) this.form11 = { patientName: '', status: '', hospitalCode: '', hospitalDoctor: '', orgCode: '', doctor: '', archiveStatus: '' } initTime(vm) //时间初始化 initScope(vm) //数据范围初始化 vm.currentPage = 1 if (type == 'zhuanke') { vm.handleNodeShow = 4 vm.radio = '2' vm.expertFamilyIdType = 'zhuanke' + item.id vm.expertFamily(item.id) } else { vm.analysFunction(vm.handleNodeId) //明细查询列表查询 } // 慢阻肺监测档案 if (type == 7) { console.log('点击了') EventBus.$emit('copd-reset-select', {}) } // // 家庭病床统计 // if (type == 8) { // console.log(item, type, '---') // EventBus.$emit('jtbc-table-page', { type, id: item.id }) // console.log('家庭病床') // } }, expertFamily: function (id) { var vm = this if (id == '1') { vm.expertReplyList() } }, // 邀请专科回复统计传参 expertReply: function () { var vm = this vm.searchJsonTime = vm.beforeReq() return { // signYear :vm.radio=='1'?vm.chooseYear:'', //签约年度 team: vm.teamCode, //团队 area: vm.areaCode, //地区 hospital: vm.communityCode, //社区 range: vm.rangeCode, //数据范围(town区传值area,hospital医院传值hospital,team团队传值team) startDate: vm.radio == '2' ? vm.searchJsonTime.start : '', //开始时间 endDate: vm.radio == '2' ? vm.searchJsonTime.end : '', //结束时间 pageSize: vm.currentSize, page: vm.currentPage } }, // 邀请专科回复统计列表 expertReplyList: function () { var vm = this vm.loadingTwo = true statisticAPI.consultHelpCountPage(vm.expertReply()).then(function (res) { if (res.status == 200) { vm.expertReplyData = res.detailModelList vm.datatotal = res.totalCount vm.loadingTwo = false } }) }, analysFunction: function (id) { var vm = this // idcard = idcard.replace(/^(.{6})(?:\d+)(.{4})$/,"$1****$2") 身份证 医保卡 脱敏显示 vm.detailFunction(id) }, // 下转预约获取医生,科室 getReservationHosAndDept: function (data) { var vm = this statisticAPI .getReservationHosAndDept({ hospital: data ? data : '', type: data ? '2' : '' }) .then(function (res) { if (res.status == 200) { if (data) { vm.administrativeOffice = [] res.data.forEach(function (item) { vm.administrativeOffice.push({ value: item.code, label: item.name }) }) } else { vm.hospitalData = [] res.data.forEach(function (item) { vm.hospitalData.push({ value: item.code, label: item.name }) }) } } }) }, hospitalChange: function (data) { var vm = this vm.getReservationHosAndDept(data) }, // 咨询分析 getConsultList: function () { var vm = this vm.loadingTwo = true vm.lastAjax = 'statisticsExport/getConsultList' statisticAPI .getConsultList({ year: vm.radio == '1' ? vm.chooseYear : '', //签约年度 startDate: vm.radio == '2' ? vm.searchJsonTime.start : '', //开始时间 endDate: vm.radio == '2' ? vm.searchJsonTime.end : '', //结束时间 status: vm.radio1, //咨询状态,1已回复,0未回复,2未及时回复 team: vm.teamCode, //团队 area: vm.areaCode, //地区 hospital: vm.communityCode, //社区 rang: vm.rangeCode, //数据范围(town区传值area,hospital医院传值hospital,team团队传值team) pageSize: vm.currentSize, page: vm.currentPage }) .then(function (res) { // console.log(res,"咨询分析") if (res.status == 200) { vm.analyseData = res.data.list vm.datatotal = res.data.total vm.loadingTwo = false } if (res.status == -1) { vm.loadingTwo = false vm.$message.error(res.msg) } }) }, // 签约分析 getSignList: function () { var vm = this vm.lastAjax = 'statisticsExport/getSignList' vm.loadingTwo = true var handleDataList = [] vm.serverType = '' vm.handleData.forEach(function (res) { handleDataList.push(res.num) }) vm.serverType = handleDataList.join(',') statisticAPI .getSignList({ year: vm.radio == '1' ? vm.chooseYear : '', //签约年度 startDate: vm.radio == '2' ? vm.searchJsonTime.start : '', //开始时间 endDate: vm.radio == '2' ? vm.searchJsonTime.end : '', //结束时间 serverType: vm.serverType, //签约人群 status: vm.radio2, //签约状态,1已签约,0待审核,2代缴费 isUpdate: vm.form.endorseTheTicket, //是否改签 1是0否 isAdd: vm.form.renew, //是否续签 1是0否 isOut: vm.form.backToSign, //是否退签 1是0否 isBindWX: vm.form.WeChat, //是否绑定微信 1是0否 team: vm.teamCode, //团队 area: vm.areaCode == '350200' ? '' : vm.areaCode, //地区 hospital: vm.communityCode, //社区 rang: vm.rangeCode, //数据范围(town区传值area,hospital医院传值hospital,team团队传值team) signYearAge: vm.radio10, // 签约年限 pageSize: vm.currentSize, page: vm.currentPage }) .then(function (res) { // console.log(res,"签约分析") if (res.status == 200) { res.data.list.forEach(function (item) { item.sscNum = item.sscNum.replace(/^(.{4})(?:\d+)(.{1})$/, '$1****$2') item.idcardNum = item.idcardNum.replace(/^(.{6})(?:\d+)(.{4})$/, '$1****$2') }) vm.analyseData = res.data.list vm.datatotal = res.data.total vm.loadingTwo = false } if (res.status == -1) { vm.loadingTwo = false vm.$message.error(res.msg) } }) }, // 专病分析 getSickList: function () { var vm = this // vm.diseaseData vm.lastAjax = 'statisticsExport/getSickList' vm.loadingTwo = true var handleDataList = [] vm.diseaseDataType = '' vm.diseaseData.forEach(function (res) { handleDataList.push(res.code) }) vm.diseaseDataType = handleDataList.join(',') statisticAPI .getSickList({ year: vm.radio == '1' ? vm.chooseYear : '', //年度 startDate: vm.radio == '2' ? vm.searchJsonTime.start : '', //开始时间 endDate: vm.radio == '2' ? vm.searchJsonTime.end : '', //结束时间 diseaseType: vm.diseaseDataType, //病种类型 status: vm.radio3, //下转状态,1已接受,0未接受,2未管理 doctorName: vm.form2.juniorCollege, //专科医生 familyDoctorName: vm.form2.family, //家庭医生名字 patientName: vm.form2.resident, // 居民姓名 team: vm.teamCode, //团队 area: vm.areaCode == '350200' ? '' : vm.areaCode, //地区 hospital: vm.communityCode, //社区 rang: vm.rangeCode, //数据范围(town区传值area,hospital医院传值hospital,team团队传值team) pageSize: vm.currentSize, page: vm.currentPage, patientType: vm.form2.patientType }) .then(function (res) { // console.log(res,"专病分析") if (res.status == 200) { res.data.list.forEach(function (item) { item.sscNum = item.sscNum.replace(/^(.{4})(?:\d+)(.{1})$/, '$1****$2') item.idcardNum = item.idcardNum.replace(/^(.{6})(?:\d+)(.{4})$/, '$1****$2') }) vm.analyseData = res.data.list vm.datatotal = res.data.total vm.loadingTwo = false } if (res.status == -1) { vm.loadingTwo = false vm.$message.error(res.msg) } }) }, // 生日祝福分析明细 getBirthdayPatientList: function () { var vm = this vm.loadingTwo = true vm.lastAjax = 'statisticsExport/getBirthdayPatientList' statisticAPI .getBirthdayPatientList({ patientName: vm.form3.resident, // 居民姓名 doctorName: vm.form3.family, //医生姓名 signYear: vm.radio == '1' ? vm.chooseYear : '', //签约年度 startDate: vm.radio == '2' ? vm.searchJsonTime.start : '', //开始时间 endDate: vm.radio == '2' ? vm.searchJsonTime.end : '', //结束时间 status: vm.radio4, //状态(不传为全部,1、已发送,2、未发送) team: vm.teamCode, //团队 area: vm.areaCode == '350200' ? '' : vm.areaCode, //地区 hospital: vm.communityCode, //社区 range: vm.rangeCode, //数据范围(town区传值area,hospital医院传值hospital,team团队传值team) pageSize: vm.currentSize, page: vm.currentPage }) .then(function (res) { if (res.status == 200) { // console.log(res,"Sddddd") res.data.detailModelList.forEach(function (item) { item.ssc = item.ssc.replace(/^(.{4})(?:\d+)(.{1})$/, '$1****$2') item.idcard = item.idcard.replace(/^(.{6})(?:\d+)(.{4})$/, '$1****$2') }) vm.analyseData = res.data.detailModelList vm.datatotal = res.data.total vm.loadingTwo = false } if (res.status == -1) { vm.loadingTwo = false vm.$message.error(res.msg) } }) }, // 长处方分析明细 getPrescriptionList: function () { var vm = this vm.loadingTwo = true vm.lastAjax = 'statisticsExport/getPrescriptionList' statisticAPI .getPrescriptionList({ patientName: vm.form5.resident, // 居民姓名 doctorName: vm.form5.family, //医生姓名 signYear: vm.radio == '1' ? vm.chooseYear : '', //签约年度 startDate: vm.radio == '2' ? vm.searchJsonTime.start : '', //开始时间 endDate: vm.radio == '2' ? vm.searchJsonTime.end : '', //结束时间 status: vm.radio6, //续方状态 0待审核 20药师审核中 40待支付 100已完成 999其他 diagnosis: vm.radio7, //续方疾病类型1高血压2糖尿病3其他 dispensaryType: vm.radio8, // 取药方式1自取2快递3健管师配送 team: vm.teamCode, //团队 area: vm.areaCode == '350200' ? '' : vm.areaCode, //地区 hospital: vm.communityCode, //社区 range: vm.rangeCode, //数据范围(town区传值area,hospital医院传值hospital,team团队传值team) pageSize: vm.currentSize, page: vm.currentPage }) .then(function (res) { if (res.status == 200) { res.data.detailModelList.forEach(function (item) { // console.log(item.finish_time,"长处方分析") item.ssc = item.ssc.replace(/^(.{4})(?:\d+)(.{1})$/, '$1****$2') item.idcard = item.idcard.replace(/^(.{6})(?:\d+)(.{4})$/, '$1****$2') }) vm.analyseData = res.data.detailModelList vm.datatotal = res.data.total vm.loadingTwo = false } if (res.status == -1) { vm.loadingTwo = false vm.$message.error(res.msg) } }) }, // 上门服务分析明细 getDoorServiceList: function () { var vm = this vm.lastAjax = '' vm.loadingTwo = true var handleDataList = [] vm.serviceTypeDataType = 'statisticsExport/getDoorServiceList' vm.serviceTypeData.forEach(function (res) { handleDataList.push(res.num) }) vm.serviceTypeDataType = handleDataList.join(',') statisticAPI .getDoorServiceList({ patientName: vm.form4.resident, // 居民姓名 doctorName: vm.form4.family, //医生姓名 signYear: vm.radio == '1' ? vm.chooseYear : '', //签约年度 startDate: vm.radio == '2' ? vm.searchJsonTime.start : '', //开始时间 endDate: vm.radio == '2' ? vm.searchJsonTime.end : '', //结束时间 status: vm.radio5, //工单状态 -1已取消,1待派单、2待接单、3已接单、4待服务、5待评价 type: vm.serviceTypeDataType, //服务类型 1残疾人,2肺结核患者,3计生特殊家庭,4重性精神病,5失能/半失能老人,6其他,7 80岁以上老人 team: vm.teamCode, //团队 area: vm.areaCode == '350200' ? '' : vm.areaCode, //地区 hospital: vm.communityCode, //社区 range: vm.rangeCode, //数据范围(town区传值area,hospital医院传值hospital,team团队传值team) pageSize: vm.currentSize, page: vm.currentPage }) .then(function (res) { if (res.status == 200) { // console.log(res,"上门服务分析明细") res.data.detailModelList.forEach(function (item) { item.ssc = item.ssc.replace(/^(.{4})(?:\d+)(.{1})$/, '$1****$2') item.idcard = item.idcard.replace(/^(.{6})(?:\d+)(.{4})$/, '$1****$2') }) vm.analyseData = res.data.detailModelList vm.datatotal = res.data.total vm.loadingTwo = false } if (res.status == -1) { vm.loadingTwo = false vm.$message.error(res.msg) } }) }, //体征数据分析传参 getHealthParameter: function () { var vm = this return { signYear: vm.radio == '1' ? vm.chooseYear : '', //签约年度 team: vm.teamCode, //团队 area: vm.areaCode == '350200' ? '' : vm.areaCode, //地区 hospital: vm.communityCode, //社区 range: vm.rangeCode, //数据范围(town区传值area,hospital医院传值hospital,team团队传值team) startDate: vm.radio == '2' ? vm.searchJsonTime.start : '', //开始时间 endDate: vm.radio == '2' ? vm.searchJsonTime.end : '', //结束时间 name: vm.form6.resident, // 居民姓名 category: vm.facility, //设备类型 doctorName: vm.form6.doctor, //医生姓名 serverType: vm.illness, //签约疾病类型 pageSize: vm.currentSize, page: vm.currentPage } }, //体征数据分析 physicalSignData: function () { var vm = this vm.loadingTwo = true vm.lastAjax = 'statisticsExport/getHealthList' statisticAPI.getHealthList(vm.getHealthParameter()).then(function (res) { if (res.status == 200) { // console.log(res,"体征数据") vm.getHealthData = res.data.detailModelList vm.datatotal = res.data.total vm.loadingTwo = false } if (res.status == -1) { vm.loadingTwo = false vm.$message.error(res.msg) } }) }, //上转预约传参 reservationParameter: function () { var vm = this return { signYear: vm.radio == '1' ? vm.chooseYear : '', //签约年度 team: vm.teamCode, //团队 area: vm.areaCode == '350200' ? '' : vm.areaCode, //地区 hospital: vm.communityCode, //社区 range: vm.rangeCode, //数据范围(town区传值area,hospital医院传值hospital,team团队传值team) startDate: vm.radio == '2' ? vm.searchJsonTime.start : '', //开始时间 endDate: vm.radio == '2' ? vm.searchJsonTime.end : '', //结束时间 name: vm.form7.resident, // 居民姓名 doctorName: vm.form7.doctorOne, //签约医生姓名 reservationHospital: vm.form7.hospital, //签约医院 reservationDept: vm.form7.administrativeOffice, //预约科室 reservationDoctorName: vm.form7.doctorTwo, //预约医生 pageSize: vm.currentSize, page: vm.currentPage } }, // 上转预约 upTransferAppointment: function () { var vm = this vm.loadingTwo = true vm.lastAjax = 'statisticsExport/getDoctorReservationList' statisticAPI.getDoctorReservationList(vm.reservationParameter()).then(function (res) { if (res.status == 200) { // console.log(res,"上转预约") vm.reservationData = res.data.detailModelList vm.datatotal = res.data.total vm.loadingTwo = false vm.getReservationHosAndDept() } if (res.status == -1) { vm.loadingTwo = false vm.$message.error(res.msg) } }) }, //微信绑定传参 wexinBindingParameter: function () { var vm = this return { signYear: vm.radio == '1' ? vm.chooseYear : '', //签约年度 team: vm.teamCode, //团队 area: vm.areaCode == '350200' ? '' : vm.areaCode, //地区 hospital: vm.communityCode, //社区 range: vm.rangeCode, //数据范围(town区传值area,hospital医院传值hospital,team团队传值team) startDate: vm.radio == '2' ? vm.searchJsonTime.start : '', //开始时间 endDate: vm.radio == '2' ? vm.searchJsonTime.end : '', //结束时间 binging: vm.form8.renew, //是否绑定微信 pageSize: vm.currentSize, page: vm.currentPage } }, // 微信绑定 wechatBinding: function () { var vm = this vm.loadingTwo = true vm.lastAjax = 'statisticsExport/getWexinBindingList' statisticAPI.getWexinBindingList(vm.wexinBindingParameter()).then(function (res) { if (res.status == 200) { // console.log(res,"微信绑定") res.data.detailModelList.forEach(function (res) { res.sex = res.sex == 1 ? '男' : '女' res.apply_date = new Date(res.apply_date).format('yyyy-MM-dd HH:mm:ss') }) vm.wexinBindingData = res.data.detailModelList vm.datatotal = res.data.total vm.loadingTwo = false } if (res.status == -1) { vm.loadingTwo = false vm.$message.error(res.msg) } }) }, // 居民积分明细传参 residentIntegralParameter: function () { var vm = this var parameter = { signYear: vm.radio == '1' ? vm.chooseYear : '', //签约年度 team: vm.teamCode, //团队 area: vm.areaCode == '350200' ? '' : vm.areaCode, //地区 hospital: vm.specHosName ? vm.specHosName : vm.communityCode, //专病医院 range: vm.rangeCode, //数据范围(town区传值area,hospital医院传值hospital,team团队传值team) startDate: vm.radio == '2' ? vm.searchJsonTime.start : '', //开始时间 endDate: vm.radio == '2' ? vm.searchJsonTime.end : '', //结束时间 pageSize: vm.currentSize, page: vm.currentPage, patientName: vm.form9.resident || '', doctorName: vm.form9.doctorTwo || '' } return parameter }, // 居民积分明细 residentIntegral: function () { var vm = this vm.loadingTwo = true vm.lastAjax = 'statisticsExport/patinetIntegralAnalysis' statisticAPI.patinetIntegralAnalysis(vm.residentIntegralParameter()).then(function (res) { if (res.status == 200) { vm.loadingTwo = false res.data.list.forEach(function (item) { item.ssc = item.ssc.replace(/^(.{4})(?:\d+)(.{1})$/, '$1****$2') // item.idcard = item.idcard.replace(/^(.{6})(?:\d+)(.{4})$/,"$1****$2") }) vm.jifenData = res.data.list vm.datatotal = res.data.total } else { vm.loadingTwo = false vm.$message.error(res.msg) } }) }, // 入户访视明细传参 interviewParameter: function () { var vm = this var parameter = { // signYear:'2020', //签约年度 signYear: vm.radio == '1' ? vm.chooseYear : '', //签约年度 team: vm.teamCode, //团队 area: vm.areaCode == '350200' ? '' : vm.areaCode, //地区 hospital: vm.specHosName ? vm.specHosName : vm.communityCode, //专病医院 range: vm.rangeCode, //数据范围(town区传值area,hospital医院传值hospital,team团队传值team) startDate: vm.radio == '2' ? vm.searchJsonTime.start : '', //开始时间 endDate: vm.radio == '2' ? vm.searchJsonTime.end : '', //结束时间 pageSize: vm.currentSize, page: vm.currentPage, patientName: vm.form10.resident || '', doctorName: vm.form10.doctorTwo || '' } return parameter }, // 入户访视 interview: function () { var vm = this vm.loadingTwo = true vm.lastAjax = 'statisticsExport/findPatientFollowListByCondition' statisticAPI.findPatientFollowListByCondition(vm.interviewParameter()).then(function (res) { if (res.status == 200) { vm.loadingTwo = false vm.ruhuData = res.data.list vm.datatotal = res.data.total } else { vm.loadingTwo = false vm.$message.error(res.msg) } }) }, //邀请专科回复明细传参 invitationDetailsParameter: function () { var vm = this vm.searchJsonTime = vm.beforeReq() var parameter = { patientName: vm.form12.patientName, name: '', status: vm.form12.status, startTime: vm.radio == '2' ? vm.searchJsonTime.start : '', //开始时间 endTime: vm.radio == '2' ? vm.searchJsonTime.end : '', //结束时间 specialistName: vm.form12.doctor, //专科医生姓名 specialistHospital: vm.form12.hospital, //专科医院code specialistDeptName: vm.form12.archiveStatus, //专科科室名称 team: vm.teamCode, area: vm.areaCode == '350200' ? '' : vm.areaCode, //地区 range: vm.rangeCode, //数据范围(town区传值area,hospital医院传值hospital,team团队传值team) hospital: vm.communityCode, //医院 pageSize: vm.currentSize, page: vm.currentPage } return parameter }, //邀请专科回复明细列表 invitationDetails: function () { var vm = this vm.loadingTwo = true statisticAPI.consultHelpDetailPage(vm.invitationDetailsParameter()).then(function (res) { if (res.status == 200) { vm.loadingTwo = false res.detailModelList.forEach(function (v) { v.sex = v.sex == 1 ? '男' : '女' }) vm.invitationList = res.detailModelList vm.datatotal = res.totalCount } else { vm.loadingTwo = false vm.$message.error(res.msg) } }) }, // 康复下转明细传参 recoveryParameter: function () { var vm = this vm.searchJsonTime = vm.beforeReq() var parameter = { // signYear:vm.radio=='1'?vm.chooseYear:'', //签约年度 // team:vm.teamCode, //团队 // area:vm.areaCode=='350200'?'':vm.areaCode, //地区 // range:vm.rangeCode, //数据范围(town区传值area,hospital医院传值hospital,team团队传值team) startTime: vm.radio == '2' ? vm.searchJsonTime.start : '', //开始时间 endTime: vm.radio == '2' ? vm.searchJsonTime.end : '', //结束时间 size: vm.currentSize, page: vm.currentPage, patientName: vm.form11.patientName, status: vm.form11.status, hospitalCode: vm.form11.hospitalCode, orgCode: vm.form11.orgCode, hospitalDoctor: vm.form11.hospitalDoctor, doctor: vm.form11.doctor, archiveStatus: vm.form11.archiveStatus, patientType: vm.form11.patientType } return parameter }, // 康复下转 recovery: function () { var vm = this vm.loadingTwo = true vm.lastAjax = 'doctor/specialist/rehabilitation/rehabilitationPatientInfo' statisticAPI.rehabilitationPatientInfo(vm.recoveryParameter()).then(function (res) { if (res.status == 200) { vm.loadingTwo = false res.detailModelList.forEach(function (v) { v.sex = v.sex == 1 ? '男' : '女' }) vm.recoveryList = res.detailModelList vm.datatotal = res.totalCount } else { vm.loadingTwo = false vm.$message.error(res.msg) } }) }, //专病汇总传参 getSpecialParameter: function () { var vm = this var parameter = { signYear: vm.radio == '1' ? vm.chooseYear : '', //签约年度 team: vm.teamCode, //团队 area: vm.areaCode == '350200' ? '' : vm.areaCode, //地区 hospital: vm.specHosName ? vm.specHosName : vm.communityCode, //专病医院 range: vm.rangeCode, //数据范围(town区传值area,hospital医院传值hospital,team团队传值team) startDate: vm.radio == '2' ? vm.searchJsonTime.start : '', //开始时间 endDate: vm.radio == '2' ? vm.searchJsonTime.end : '', //结束时间 menu: vm.beforeReq().checked // pageSize:vm.currentSize, // page:vm.currentPage, } return parameter }, // 专病汇总 getSpecialDiseaseReport: function () { var vm = this vm.loadingTwo = true statisticAPI.getSpecialDiseaseReport(vm.getSpecialParameter()).then(function (res) { if (res.status == 200) { vm.indicator = [] res.data.column.forEach(function (v) { if (v == 'kfxzrs') { vm.indicator.push('康复计划人数') } if (v == 'kfxzrc') { vm.indicator.push('康复计划数') } if (v == 'szrs') { vm.indicator.push('预约挂号人数') } if (v == 'szrc') { vm.indicator.push('预约挂号数') } }) vm.loadingTwo = false vm.diseaseReport = res.data.list vm.diseaseColumn = res.data.column // '康复计划人数','康复计划数','预约挂号人数','预约挂号数' vm.diseaseHeader = res.data.header vm.datatotal = res.data.list.length } else { vm.loadingTwo = false vm.$message.error(res.msg) } }) }, //体征分析传参 getDeviceParameter: function () { var vm = this var parameter = { signYear: vm.radio == '1' ? vm.chooseYear : '', //签约年度 team: vm.teamCode, //团队 area: vm.areaCode == '350200' ? '' : vm.areaCode, //地区 hospital: vm.communityCode, //医院 range: vm.rangeCode, //数据范围(town区传值area,hospital医院传值hospital,team团队传值team) startDate: vm.radio == '2' ? vm.searchJsonTime.start : '', //开始时间 endDate: vm.radio == '2' ? vm.searchJsonTime.end : '', //结束时间 category: vm.facilitySign, menu: vm.beforeReq().checked // pageSize:vm.currentSize, // page:vm.currentPage, } return parameter }, // 体征分析数据 getDeviceHealthReport: function () { var vm = this vm.loadingTwo = true statisticAPI.getDeviceHealthReport(vm.getDeviceParameter()).then(function (res) { if (res.status == 200) { vm.loadingTwo = false // console.log(res,"sss") vm.getDeviceReport = res.data.list vm.getDeviceColumn = res.data.column vm.getDeviceHeader = res.data.header vm.datatotal = res.data.list.length } else { vm.loadingTwo = false vm.$message.error(res.msg) } }) }, //上门汇总传参 getDoorParameter: function () { var vm = this var parameter = { signYear: vm.radio == '1' ? vm.chooseYear : '', //签约年度 team: vm.teamCode, //团队 area: vm.areaCode == '350200' ? '' : vm.areaCode, //地区 hospital: vm.communityCode, //医院 status: vm.radio9, range: vm.rangeCode, //数据范围(town区传值area,hospital医院传值hospital,team团队传值team) startDate: vm.radio == '2' ? vm.searchJsonTime.start : '', //开始时间 endDate: vm.radio == '2' ? vm.searchJsonTime.end : '', //结束时间 menu: vm.beforeReq().checked // pageSize:vm.currentSize, // page:vm.currentPage, } return parameter }, // 上门汇总 getDoorServerOrderReport: function () { var vm = this vm.loadingTwo = true statisticAPI.getDoorServerOrderReport(vm.getDoorParameter()).then(function (res) { if (res.status == 200) { vm.loadingTwo = false // console.log(res,"sss") vm.getDoorReport = res.data.list vm.getDoorColumn = res.data.column vm.getDoorHeader = res.data.header vm.datatotal = res.data.list.length } else { vm.loadingTwo = false vm.$message.error(res.msg) } }) }, getTreeList: function () { var vm = this statisticAPI.exportTreeList({ rang: vm.rangeCode }).then(function (res) { if (res.status == 200) { console.log(res, 'Sddd') ;(vm.treedata = []), (jindex = 0) _.each(res.data, function (item, index) { vm.treedata.push({ id: 'p_' + jindex, label: index, children: [] }) _.each(item, function (citem, cindex) { vm.treedata[jindex].children.push({ id: cindex, label: citem }) }) jindex++ }) } }) }, beforeReq: function (flag) { var vm = this, startDate = '', endDate = '', checked = [] if (vm.radio == '1') { if (vm.chooseYear == 2022) { startDate = '2022-07-01' endDate = '2022-12-31' } else if (vm.chooseYear > 2022) { startDate = vm.chooseYear + '-01-01' endDate = getEndDate(vm.chooseYear) } else { startDate = getStartDate(vm.chooseYear) endDate = getEndDate(vm.chooseYear) } vm.timeLevel = 2 } else { if (!vm.start && !vm.end) { this.$message({ message: '请选择创建时间', type: 'warning' }) return false } else { if (vm.start > vm.end) { this.$message({ message: '开始时间应早于结束时间', type: 'warning' }) return false } else { startDate = vm.start endDate = vm.end vm.timeLevel = 1 } } } if (vm.handleNodeId == 0 || vm.handleNodeId == 'huizongshuju') { var checkTree if (vm.tabsId == 1) { checkTree = vm.$refs.tree.getCheckedNodes(true) } else { checkTree = vm.$refs.collectTree.getCheckedNodes(true) } if (checkTree.length) { if (!flag) { vm.tableHeader = [] } _.each(checkTree, function (item, index) { if (!flag) { vm.tableHeader.push({ prop: item.label, label: item.label }) } checked.push(item.id) }) } else { this.$message({ message: '请选择搜索指标!', type: 'warning' }) return false } } else if (vm.handleNodeId == 2) { this.$message({ message: '请选择明细查询!', type: 'warning' }) return false } return { start: startDate, end: endDate, checked: checked.join(',') } }, // 查询 searchHandle: function (status) { // console.log(this.beforeReq()) var vm = this vm.searchJsonTime = vm.beforeReq() vm.currentPage = 1 if (this.radio1 == 1) { this.radio1Show = true } else { this.radio1Show = false } if (vm.handleNodeId == 0) { if (vm.searchJsonTime) { vm.searchJson = { startDate: vm.searchJsonTime.start, endDate: vm.searchJsonTime.end, quotaStr: vm.searchJsonTime.checked, range: vm.rangeCode, team: vm.teamCode, hospital: vm.communityCode, area: vm.areaCode == '350200' ? '' : vm.areaCode, size: vm.currentSize, page: vm.currentPage, timeLevel: vm.timeLevel } vm.getStatisticDataList() } } else if (vm.collectCode == 1) { // 专病汇总 vm.getSpecialDiseaseReport() } else if (vm.collectCode == 2) { // 体征数据汇总 vm.getDeviceHealthReport() } else if (vm.collectCode == 3) { // 上门服务汇总 vm.getDoorServerOrderReport() } else { vm.detailFunction(vm.handleNodeId, status) } }, getStatisticDataList: function () { var vm = this vm.isloading = true var params = JSON.parse(JSON.stringify(vm.searchJson)) params.page = vm.currentPage statisticAPI.getStatisticDataList(params).then(function (res) { if (res.status == 200) { vm.tabledata = res.data.data vm.datatotal = res.data.total if (vm.tabledata.length) { vm.tableHeader = [] _.each(vm.tabledata[0], function (item, index) { if ( index != 'town' && index != 'townName' && index != 'hospital' && index != 'hospitalName' && index != 'area' && index != 'areaName' && index != 'code' && index != 'name' ) vm.tableHeader.push({ prop: index, label: index }) }) } } else { vm.$message.error(res.msg) } vm.isloading = false }) }, // 导出 exportHandle: function () { // var uid = JSON.parse(window.localStorage.getItem('wlyyAgentForDoc')).uid // var blob = new Blob(["Hello, world!"], {type: "text/plain;charset=utf-8"}); // saveAs(blob, "hello world.txt"); // return var vm = this var vm = this, searchJson = undefined vm.fullscreenLoading = true searchJson = vm.beforeReq('export') var areaCode = vm.areaCode == '350200' ? '' : vm.areaCode var chooseYear = vm.radio == '1' ? vm.chooseYear : '' //年份 var startDate = vm.radio == '2' ? vm.searchJsonTime.start : '' var endDate = vm.radio == '2' ? vm.searchJsonTime.end : '' if (vm.handleNodeId == 0) { if (searchJson) { statisticAPI .statisticsExportExport( { startDate: searchJson.start, endDate: searchJson.end, quotaStr: searchJson.checked, range: vm.rangeCode, area: areaCode, hospital: vm.communityCode, team: vm.teamCode, timeLevel: vm.timeLevel }, '综合查询.xls' ) .then(function (res) { vm.fullscreenLoading = false // toastr.info("导出成功") // var blob = new Blob(["Hello, world!"]); // FileSaver.saveAs(blob, "hello world.txt"); // console.log(res) // FileSaver() }) .catch(function (err) { console.error(err) }) // let str = httpRequest.server + 'statisticsExport/export?startDate='+searchJson.start+'&endDate='+searchJson.end+'"aStr='+searchJson.checked+'&range='+vm.rangeCode+'&area='+areaCode+'&hospital='+vm.communityCode+'&team='+vm.teamCode+'&timeLevel='+vm.timeLevel // window.location.href = str } } else if (vm.handleNodeId == 33) { // 咨询分析 if (vm.analyseData.length != 0) { statisticAPI .statisticsExportExportConsultList( { year: chooseYear, startDate: startDate, endDate: endDate, status: vm.radio1, area: areaCode, hospital: vm.communityCode, rang: vm.rangeCode, team: vm.teamCode }, vm.derive + '.xls' ) .then(function (res) { vm.fullscreenLoading = false }) .catch(function (err) { toastr.info(err) vm.fullscreenLoading = false console.error(err) }) // var str = httpRequest.server + 'statisticsExport/exportConsultList?year='+chooseYear+'&startDate='+startDate+'&endDate='+endDate+ // '&status='+vm.radio1+'&area='+areaCode+'&hospital='+vm.communityCode+'&rang='+vm.rangeCode+'&team='+vm.teamCode // window.location.href = str } else { vm.fullscreenLoading = false } } else if (vm.handleNodeId == 34) { // 签约分析 if (vm.analyseData.length != 0) { statisticAPI .statisticsExportExportSignList( { year: chooseYear, startDate: startDate, endDate: endDate, serverType: vm.serverType, status: vm.radio2, isUpdate: vm.form.endorseTheTicket, isAdd: vm.form.renew, isOut: vm.form.backToSign, isBindWX: vm.form.WeChat, area: areaCode, hospital: vm.communityCode, rang: vm.rangeCode, team: vm.teamCode, signYearAge: vm.radio10 }, vm.derive + '.xls' ) .then(function (res) { vm.fullscreenLoading = false }) .catch(function (err) { toastr.info(err) vm.fullscreenLoading = false console.error(err) }) } else { vm.fullscreenLoading = false } } else if (vm.handleNodeId == 35) { // 专病分析 if (vm.analyseData.length != 0) { statisticAPI .statisticsExportExportSickList( { year: chooseYear, startDate: startDate, endDate: endDate, diseaseType: vm.diseaseDataType, status: vm.radio3, doctorName: vm.form2.juniorCollege, familyDoctorName: vm.form2.family, patientName: vm.form2.resident, area: areaCode, hospital: vm.communityCode, rang: vm.rangeCode, team: vm.teamCode, patientType: vm.form2.patientType }, vm.derive + '.xls' ) .then(function (res) { vm.fullscreenLoading = false }) .catch(function (err) { toastr.info(err) vm.fullscreenLoading = false console.error(err) }) } else { vm.fullscreenLoading = false } } else if (vm.handleNodeId == 36) { // 生日祝福分析 if (vm.analyseData.length != 0) { statisticAPI .statisticsExportGetBirthdayPatientListExport( { signYear: chooseYear, startDate: startDate, endDate: endDate, patientName: vm.form3.resident, doctorName: vm.form3.family, status: vm.radio4, area: areaCode, hospital: vm.communityCode, range: vm.rangeCode, team: vm.teamCode, pageSize: '50000', page: vm.currentPage }, vm.derive + '.xls' ) .then(function (res) { vm.fullscreenLoading = false }) .catch(function (err) { toastr.info(err) vm.fullscreenLoading = false console.error(err) }) } else { vm.fullscreenLoading = false } } else if (vm.handleNodeId == 37) { // 上门服务分析 if (vm.analyseData.length != 0) { statisticAPI .statisticsExportExportDoorServiceList( { signYear: chooseYear, startDate: startDate, endDate: endDate, patientName: vm.form4.resident, doctorName: vm.form4.family, status: vm.radio5, type: vm.serviceTypeDataType, area: areaCode, hospital: vm.communityCode, range: vm.rangeCode, team: vm.teamCode, pageSize: vm.currentSize, page: vm.currentPage }, vm.derive + '.xls' ) .then(function (res) { vm.fullscreenLoading = false }) .catch(function (err) { toastr.info(err) vm.fullscreenLoading = false console.error(err) }) } else { vm.fullscreenLoading = false } } else if (vm.handleNodeId == 38) { // 长处方分析 if (vm.analyseData.length != 0) { statisticAPI .statisticsExportExportPrescriptionList( { signYear: chooseYear, startDate: startDate, endDate: endDate, patientName: vm.form5.resident, doctorName: vm.form5.family, status: vm.radio6, diagnosisName: vm.radio7, dispensaryType: vm.radio8, area: areaCode, hospital: vm.communityCode, range: vm.rangeCode, team: vm.teamCode, pageSize: vm.currentSize, page: vm.currentPage }, vm.derive + '.xls' ) .then(function (res) { vm.fullscreenLoading = false }) .catch(function (err) { toastr.info(err) vm.fullscreenLoading = false console.error(err) }) } else { vm.fullscreenLoading = false } } else if (vm.handleNodeId == 39) { // 体征数据 if (vm.getHealthData.length != 0) { statisticAPI .exportHealthList(vm.getHealthParameter(), vm.derive + '.xls') .then(function (res) { vm.fullscreenLoading = false }) .catch(function (err) { toastr.info(err) vm.fullscreenLoading = false console.error(err) }) } else { vm.fullscreenLoading = false } } else if (vm.handleNodeId == 40) { // 上转预约 if (vm.reservationData.length != 0) { statisticAPI .exportDoctorReservationList(vm.reservationParameter(), vm.derive + '.xls') .then(function (res) { vm.fullscreenLoading = false }) .catch(function (err) { toastr.info(err) vm.fullscreenLoading = false console.error(err) }) } else { vm.fullscreenLoading = false } } else if (vm.handleNodeId == 41) { // 微信绑定数据 if (vm.wexinBindingData.length != 0) { statisticAPI .exportWexinBindingList(vm.wexinBindingParameter(), vm.derive + '.xls') .then(function (res) { vm.fullscreenLoading = false }) .catch(function (err) { toastr.info(err) vm.fullscreenLoading = false console.error(err) }) } else { vm.fullscreenLoading = false } } else if (vm.handleNodeId == 42) { // 居民积分明细导出 if (vm.jifenData.length != 0) { statisticAPI .exPatinetIntegralAnalysis(_.assign({}, vm.residentIntegralParameter(), { pageSize: 99999 }), vm.derive + '.xls') .then(function (res) { vm.fullscreenLoading = false }) .catch(function (err) { toastr.info(err) vm.fullscreenLoading = false console.error(err) }) } else { vm.fullscreenLoading = false } } else if (vm.handleNodeId == 43) { // 入户访视导出 if (vm.ruhuData.length != 0) { statisticAPI .exfindPatientFollowListByCondition(vm.interviewParameter(), vm.derive + '.xls') .then(function (res) { vm.fullscreenLoading = false }) .catch(function (err) { toastr.info(err) vm.fullscreenLoading = false console.error(err) }) } else { vm.fullscreenLoading = false } } else if (vm.handleNodeId == 44) { // 康复下转导出 if (vm.recoveryList.length != 0) { statisticAPI .exportRehabilitationPatientInfo(vm.recoveryParameter(), vm.derive + '.xls') .then(function (res) { vm.fullscreenLoading = false }) .catch(function (err) { toastr.info(err) vm.fullscreenLoading = false console.error(err) }) } else { vm.fullscreenLoading = false } } else if (vm.handleNodeId == 45) { // 邀请专科回复明细导出 if (vm.invitationList.length != 0) { var p = _.assign({}, vm.invitationDetailsParameter()) var docInfo = JSON.parse(window.localStorage.getItem('wlyyAgent')) delete p.page delete p.pageSize p.doctor = docInfo.uid statisticAPI .exportConsultHelpDetailPage(p, vm.derive + '.xls') .then(function (res) { vm.fullscreenLoading = false }) .catch(function (err) { toastr.info(err) vm.fullscreenLoading = false console.error(err) }) } else { vm.fullscreenLoading = false } } else if (vm.collectCode == 1) { // 专病汇总 if (vm.diseaseReport.length != 0) { statisticAPI .exportSpecialDiseaseReport(vm.getSpecialParameter(), vm.derive + '.xls') .then(function (res) { vm.fullscreenLoading = false }) .catch(function (err) { toastr.info(err) vm.fullscreenLoading = false console.error(err) }) } else { vm.fullscreenLoading = false } } else if (vm.collectCode == 2) { // 体征分析 if (vm.getDeviceReport.length != 0) { statisticAPI .exportDeviceHealthReport(vm.getDeviceParameter(), vm.derive + '.xls') .then(function (res) { vm.fullscreenLoading = false }) .catch(function (err) { toastr.info(err) vm.fullscreenLoading = false console.error(err) }) } else { vm.fullscreenLoading = false } } else if (vm.collectCode == 3) { // 上门汇总 if (vm.getDoorReport.length != 0) { statisticAPI .exportDoorServerOrderReport(vm.getDoorParameter(), vm.derive + '.xls') .then(function (res) { vm.fullscreenLoading = false }) .catch(function (err) { toastr.info(err) vm.fullscreenLoading = false console.error(err) }) } else { vm.fullscreenLoading = false } } else if (vm.expertFamilyIdType == 'zhuanke1') { // 邀请专科回复统计导出 if (vm.expertReplyData.length != 0) { statisticAPI .exportConsultHelpCountPage(vm.expertReply(), vm.derive + '.xls') .then(function (res) { vm.fullscreenLoading = false }) .catch(function (err) { toastr.info(err) vm.fullscreenLoading = false console.error(err) }) } else { vm.fullscreenLoading = false } } }, backClick: function () { history.go(-1) }, bindEvent: function () { var vm = this //监听后退按钮的操作 EventBus.$on('back-click', function (arg) { EventBus.$emit('update-statistics-time', {}) //更新统计时间 vm.backClick() }) //监听页面刷新 EventBus.$on('refresh-click', function (arg) { EventBus.$emit('update-statistics-time', {}) //更新统计时间 initData(vm) }) $('#main').removeClass('c-hide') }, detailFunction: function (id, status) { var vm = this window.ajaxInsArr[vm.lastAjax] && window.ajaxInsArr[vm.lastAjax].abort() if (id == 33) { // 咨询分析 vm.getConsultList() } else if (id == 34) { // 签约分析 vm.getSignList() } else if (id == 35) { // 专病分析 vm.getSickList() } else if (id == 36) { // 生日祝福分析 vm.getBirthdayPatientList() } else if (id == 37) { // 上门服务分析 vm.getDoorServiceList() } else if (id == 38) { // 长处方分析 vm.getPrescriptionList() } else if (id == 39) { // 体征数据 vm.physicalSignData() } else if (id == 40) { // 上转预约 vm.upTransferAppointment() } else if (id == 41) { // 微信绑定 vm.wechatBinding() } else if (id == 42) { // 居民积分明细 vm.residentIntegral() } else if (id == 43) { // 入户访视 vm.interview() } else if (id == 44) { // 康复下转 vm.radio = '2' vm.recovery() if (!status) { vm.pullDown() } } else if (id == 45) { vm.radio = '2' vm.invitationDetails() if (!status) { vm.getSpecialistHospital() //获取专科医院 } } else if (vm.expertFamilyIdType == 'zhuanke1') { vm.expertReplyList() } }, getSpecialistHospital: function () { var vm = this vm.specializedHospital = [{ value: '', label: '全部' }] homeAPI.getSpecialistHospital().then(function (res) { console.log(res, 'Sdddddd') if (res.status == 200) { res.data.forEach(function (v) { vm.specializedHospital.push({ value: v.code, label: v.name }) }) } }) }, pullDown: function () { this.deorsumvergenceStatusFunction('archive_status') //档案状态 this.deorsumvergenceStatusFunction('rehabilitation_status') //下转状态 this.deorsumvergenceStatusFunction('rehabilitation_hospital') //下转医院 this.hospitalsByType() }, // 下一页 上一页 handleCurrentChange: function (val) { var vm = this vm.currentPage = val if (vm.handleNodeId == 0) { vm.getStatisticDataList() } else { vm.detailFunction(vm.handleNodeId) } }, //获取省市区 type:区3 getDistrict: function (type, code, name) { var vm = this, list = [], param = '' if (type == 3) { list = [{ code: code, name: name }] param = 'area' } else if (type == 5) { list = [{ code: '', name: '全部' }] param = 'community' } var params = { type: type, code: code } homeAPI.getDistrict(params).then(function (res) { if (res.status == 200) { vm[param + 'List'] = list.concat(res.list) vm[param + 'Code'] = vm[param + 'List'][0].code } else { vm.$message.error(res.msg) } }) }, selChange: function (type) { var vm = this, name = '' if (type == 3) { vm.initSelOption('community') vm.initSelOption('team') vm.getCommunityHospital() } else if (type == 5) { vm.initSelOption('team') vm.teamListByArea() } }, initSelOption: function (param) { var vm = this vm[param + 'List'] = [{ code: '', name: '全部' }] if (param == 'team') { vm[param + 'List'] = [{ id: '', name: '全部' }] } vm[param + 'Code'] = vm[param + 'List'][0].code || vm[param + 'List'][0].id }, getCommunityHospital: function () { var vm = this, list = [{ code: '', name: '全部' }], param = 'community' homeAPI.getCommunityHospital({ area: vm.areaCode == '350200' ? '' : vm.areaCode }).then(function (res) { if (res.status == 200) { vm[param + 'List'] = list.concat(res.data) vm[param + 'Code'] = vm[param + 'List'][0].code } else { vm.$message.error(res.msg) } }) }, teamListByArea: function () { var vm = this, list = [{ id: '', name: '全部' }], param = 'team' homeAPI.teamListByArea({ area: vm.areaCode == '350200' ? '' : vm.areaCode, hospital: vm.communityCode }).then(function (res) { if (res.status == 200) { vm[param + 'List'] = list.concat(res.data) vm[param + 'Code'] = vm[param + 'List'][0].id } else { vm.$message.error(res.msg) } }) }, // 慢阻肺搜索左侧字段变化 onCopdFilterChange(event) { EventBus.$emit('copd-record-filter-change', event) } } }) // 初始化时间 function initTime(vm) { var now = new Date() vm.end = now.format('yyyy-MM-dd') var start = now.getTime() - 30 * 24 * 60 * 60 * 1000 vm.start = new Date(start).format('yyyy-MM-dd') vm.nowyear = vm.chooseYear = now.getFullYear() vm.nowmonth = now.getMonth() + 1 vm.years = [] for (i = vm.nowyear; i >= 2016; i--) { vm.years.push(i) } } // 数据范围初始化 function initScope(vm) { //获得缓存中缓存的角色权限 var userRole = window.sessionStorage.getItem('selectedRole') if (!userRole) { return false } vm.userRole = JSON.parse(userRole) //level:2、市,3、区,4、社区,5、团队 vm.initareaLevel = vm.areaLevel = vm.userRole.code == '350200' ? 2 : vm.userRole.code.length == 6 ? 3 : 4 vm.initlevel = vm.level = vm.userRole.code == '350200' ? 4 : vm.userRole.code.length == 6 ? 3 : 2 // vm.lowLevel = vm.initlowLevel = vm.userRole.code == '350200' ? 3 : vm.userRole.code.length == 6 ? 2 : 1; vm.initarea = vm.area = vm.userRole.code vm.areaTitle = vm.userRole.name vm.rangeList = [ { name: '按区', code: 'town' }, { name: '按社区', code: 'hospital' }, { name: '按团队', code: 'team' } ] if (vm.initlevel == 4) { //市获取区 vm.getDistrict(3, vm.initarea, vm.areaTitle.substr(0, 3)) vm.rangeCode = vm.rangeList[0].code } else if (vm.initlevel == 3) { //区获取社区 vm.areaList = [{ code: vm.initarea, name: vm.areaTitle }] vm.areaCode = vm.initarea vm.rangeCode = vm.rangeList[0].code } else if (vm.initlevel == 2) { //社区获取团队 vm.communityList = [{ code: vm.initarea, name: vm.areaTitle }] vm.communityCode = vm.initarea vm.rangeList.shift() vm.rangeCode = vm.rangeList[0].code } vm.searchJson.range = vm.rangeCode } function initData(vm) { initScope(vm) //初始化时间 initTime(vm) vm.tabledata = [] vm.bindEvent() }