var template = '' $.ajax('../html/mzfHzcx.html', { data: {}, dataType: 'html', cache: false, timeout: 60000, async: false, error: function (res) {}, success: function (res) { template = res } }) Vue.component('mzf-hzcx', { props: [], template: template, data: function () { return { tableData: [], testArr1: [], testArr2: [], testPosition1: 0, testPosition2: 0, list: [], startTime: new Date('2023', '05', '26'), endTime: new Date(), regionData: [ { label: '全部', value: '8' }, { label: '未管理', value: '0' }, { label: '在管', value: '1' }, { label: '失访', value: '2' }, { label: '出组', value: '3' }, { label: '不纳入管理 ', value: '4' }, { label: '入组 ', value: '5' }, { label: '死亡 ', value: '6' }, { label: '已管理 ', value: '7' } ], region: '8', //管理状态 tertiaryHospitalsData: [], tertiary: [], //地区 communityHospitalsData: [], communityHospitals: [], // 三级医院 groupingData: [], group: [], // 社区 queryLevel: 1, // :1.全部 2.区 3.等级医院 4.社区医院 patientName: '', // 患者姓名 stageType: '0,1,2,10,20', // 阶段 // 0:慢阻肺测试患者 1:第一阶段 2:第二阶段 10:测试账号 20:其他' 全部 0,1,2,10,20 stageData: [ { label: '全部', value: '0,1,2,10,20' }, { label: '慢阻肺测试患者', value: '0' }, { label: '第一阶段 ', value: '1' }, { label: '第二阶段 ', value: '2' }, { label: '测试账号', value: '10' }, { label: '其他', value: '20' } ], administration: [], administrationStatusData: [ { label: '全部', value: '0' }, { label: '康复组', value: '1' }, { label: '对照组', value: '2' } ], 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: '', dialogVisible: false, dataInfo: [], dialogVisible1: false, dataJl: [] } }, created: function () { 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 }) this.getCopdPatientInfoList(1, 1, '350200') this.cascadingFindHosptail(1, '') }, watch: { '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 } }, methods: { // 获取地区 cascadingFindHosptail: function (type, val, hos) { var vm = this var data = { findType: type ? type : 1, areaCode: val.length != 0 ? val.join(',') : '', hosptialCode: hos ? hos.join(',') : '' } statisticAPI .cascadingFindHosptail({ jsonStr: JSON.stringify(data) }) .then(function (res) { if (res.status === 200) { console.log(res, 'dq') if (type == 2) { vm.communityHospitalsData = res.data } else if (type == 3) { vm.groupingData = res.data } else { vm.tertiaryHospitalsData = res.data } } }) }, tertiaryChange: function (val) { if (val.length == 0) { this.communityHospitals = [] this.communityHospitalsData = [] this.group = [] this.groupingData = [] } else { this.queryLevel = 2 this.cascadingFindHosptail(2, val) } }, comChange: function (val) { var vm = this if (val.length == 0) { vm.groupingData = [] vm.group = [] } else { vm.queryLevel = 3 vm.cascadingFindHosptail(3, vm.tertiary, val) } }, admChange: function () {}, groChange: function () { var vm = this vm.queryLevel = 4 }, // 清除 clearGroup: function () { if (this.group.length == 0) { this.queryLevel = 3 } }, clearCommunityHospitals: function (val) { if (this.communityHospitals.length == 0) { this.queryLevel = 2 this.groupingData = [] } }, clearTertiary: function () { if (this.tertiary.length == 0) { this.queryLevel = 1 } }, getCopdPatientInfoList: function (page, queryLevel, code) { var vm = this vm.loadingTwo = true var data = { startTime: this.startTime.format('yyyy-MM-dd'), endTime: this.endTime.format('yyyy-MM-dd'), stageType: vm.stageType, findType: 2, copdState: vm.region, page: page, size: 10, searchKey: vm.patientName, queryLevel: queryLevel, queryCode: code, hosptialCode: '', // 医院code pageIf: 'true' } statisticAPI .getCopdPatientInfoList({ json: JSON.stringify(data) }) .then(function (res) { if (res.status == 200) { console.log(res, 'hxsj') vm.loadingTwo = false vm.tableData = res.data.list vm.datatotal = res.data.count } }) .catch(function (err) { vm.loadingTwo = false }) }, 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') } }, 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) }, // 下一页 上一页 handleCurrentChange: function (val) { var vm = this vm.currentPage = val if (this.queryLevel == 1) { this.getCopdPatientInfoList(val, 1, '350200') } else if (this.queryLevel == 2) { // 地区 var areaCode = this.tertiary.join(',') this.getCopdPatientInfoList(val, this.queryLevel, areaCode) } else if (this.queryLevel == 3) { // 三级医院 var areaCode = this.communityHospitals.join(',') this.getCopdPatientInfoList(val, this.queryLevel, areaCode) } else if (this.queryLevel == 4) { // 社区 var areaCode = this.group.join(',') this.getCopdPatientInfoList(val, this.queryLevel, areaCode) } }, change: function (val) { this.list = this.list.concat(val) }, // 确定 confirm: function () { // 全部 , 也是默认 if (this.queryLevel == 1) { this.getCopdPatientInfoList(1, 1, '350200') } else if (this.queryLevel == 2) { // 地区 var areaCode = this.tertiary.join(',') this.getCopdPatientInfoList(1, this.queryLevel, areaCode) } else if (this.queryLevel == 3) { // 三级医院 var areaCode = this.communityHospitals.join(',') this.getCopdPatientInfoList(1, this.queryLevel, areaCode) } else if (this.queryLevel == 4) { // 社区 var areaCode = this.group.join(',') this.getCopdPatientInfoList(1, this.queryLevel, areaCode) } }, // 取消 cancel: function () { this.startTime = new Date('2023', '05', '26') this.endTime = new Date() this.tertiary = [] this.communityHospitals = [] this.group = [] this.patientName = '' this.region = '8' this.stageType = '0,1,2,10,20' this.queryLevel = 1 }, // 查看 showInfo: function (item) { var vm = this vm.dialogVisible = true var data = { patientCode: item.patientCode } statisticAPI .findCopdPatientFollowList({ jsonStr: JSON.stringify(data) }) .then(function (res) { if (res.status == 200) { console.log(res, '记录') vm.dataInfo = res.data } }) }, showJl: function (item) { console.log(item, 'item') var vm = this var data = { followupId: item.followupId, visitCount: item.visit_count } var jsonStr = JSON.stringify(data) statisticAPI .exportConclusionList( { // jsonStr: encodeURIComponent(jsonStr) followupId: item.followupId, visitCount: item.visit_count }, '随访计划.pdf' ) .then(function (res) { vm.loadingTwo = false }) }, // 导出 exportHandle: function () { // 全部 , 也是默认 if (this.queryLevel == 1) { this.exportCopdPatientInfoList(1, 1, '350200') } else if (this.queryLevel == 2) { // 地区 var areaCode = this.tertiary.join(',') this.exportCopdPatientInfoList(1, this.queryLevel, areaCode) } else if (this.queryLevel == 3) { // 三级医院 var areaCode = this.communityHospitals.join(',') this.exportCopdPatientInfoList(1, this.queryLevel, areaCode) } else if (this.queryLevel == 4) { // 社区 var areaCode = this.group.join(',') this.exportCopdPatientInfoList(1, this.queryLevel, areaCode) } }, exportCopdPatientInfoList: function (page, queryLevel, code) { var vm = this vm.loadingTwo = true var data = { startTime: this.startTime.format('yyyy-MM-dd'), endTime: this.endTime.format('yyyy-MM-dd'), stageType: vm.stageType, findType: 2, copdState: vm.region, page: page, size: 10, searchKey: vm.patientName, queryLevel: queryLevel, queryCode: code, hosptialCode: '', // 医院code pageIf: '' } var jsonStr = JSON.stringify(data) statisticAPI .exportCopdPatientInfoList( { json: encodeURIComponent(jsonStr) }, '慢阻肺患者查询.xls' ) .then(function (res) { vm.loadingTwo = false }) } } })