// 慢阻肺患者档案-服务档案 var template = ''; $.ajax('../../../component/statistics/CopdRecordSearch/index.html', { data: {}, dataType: 'html', cache: false, timeout: 60000, async: false, error: function (res) { }, success: function (res) { template = res; } }); Vue.component('copd-record-search', { template: template, props: [], data() { return { // 当前显示的字段 communityArr:[], tableFieldList: [], quotaStrArr:[], value1:[], rangeList:[ {name: '按区', code: 'town'}, {name: '按社区', code: 'hospital'}, {name: '按市', code: 'city'} ], startTime:'', endTime:'', rangeCode:'town', quotaStr:'', range:'', area:'', hospital:'', page:1, size:50, sex:'', firstVisitType:'', hasLung:'', hasCt:'', hasx:'', hasBloodGas:'', hasSmoke:'', hasDrink:'', diseaseConversion:'', age:'', dataList:[], daLoading:false, datatotal:0, currentPage: 1, currentSize:50, chooseYear: '', firstVisitArea:'', firstVisitOrgLevel:'', end:'', start:'', nowyear:'', nowmonth:'', years:[], radio: '1', dicName:['jkcopd_disease_conversion','jkcopd_age','jkcopd_smoke','jkcopd_drink','jkcopd_firstVisitType','jkcopd_first_area','jkcopd_first_org_level'], conversionArr:[], ageArr:[], firstVisitType:[], areaArr:[], smokeArr:[], drinkArr:[], orGlevelArr:[], userRole:'', levelList: [ {level: '4', areaLevel: '2'}, {level: '3', areaLevel: '3'}, {level: '2', areaLevel: '4'} ], //两种搜索,地区等级对比 areaLevel: '', // 2、市,3、区,4、社区,5、团队 initareaLevel: '', initlevel: '', initarea: '', level: '', areaTitle: '', areaCode:'', communityList: [{code: '', name: '全部'}], communityCode: '', teamList: [{code: '', name: '全部'}], teamCode: '', userRoleCode:'' }; }, watch:{ value1(va){ if(this.radio=='2'){ this.startTime=va[0] this.endTime=va[1] } }, rangeCode: function (val) { var vm = this; if (vm.initlevel != 2) { vm.communityCode = ''; } vm.teamCode = ''; }, areaCode: function (val) { var vm = this; vm.selChange(3); }, communityCode: function (val) { var vm = this; vm.selChange(5); }, }, methods: { getCommunityList(){ var vm=this statisticAPI.hospitalList({queryArea:vm.userRoleCode}).then(function(res){ if(res.status==200){ vm.communityArr= res.detailModelList } }) }, //字典 getDictByDictName(value){ var vm=this statisticAPI.getDictByDictName({name:value}).then(function(res){ if(value=='jkcopd_age'){ vm.ageArr=res.list }else if(value=='jkcopd_smoke'){ vm.smokeArr=res.list }else if(value=='jkcopd_drink'){ vm.drinkArr=res.list }else if(value=='jkcopd_first_area'){ vm.areaArr=res.list }else if(value=='jkcopd_disease_conversion'){ vm.conversionArr=res.list }else if(value=='jkcopd_firstVisitType'){ vm.firstVisitTypeArr=res.list }else if(value=='jkcopd_first_org_level'){ vm.orGlevelArr=res.list } }) }, //获取省市区 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); } }); }, // 初始化时间 initTime(vm) { var now = new Date(); vm.endTime = now.format('yyyy-MM-dd'); var start = now.getFullYear()+'-'+'01-01'; vm.startTime = new Date(start).format('yyyy-MM-dd'); vm.nowyear = vm.chooseYear = now.getFullYear(); vm.chooseYear='2022' vm.nowmonth = now.getMonth() + 1; vm.years = []; for (i = vm.nowyear; i >= 2013; i--) { vm.years.push(i); } }, // 数据范围初始化 initScope(vm) { //获得缓存中缓存的角色权限 var userRole = window.sessionStorage.getItem('selectedRole'); console.log(userRole,'aaaaaaaaaaalllllooooooooooooooo') if (!userRole) { return false; } vm.userRole = JSON.parse(userRole); //level:2、市,3、区,4、社区,5、团队 vm.initareaLevel = vm.areaLevel = vm.userRole.code == 'jk_350200' ? 2 : vm.userRole.code.length == 9 ? 3 : 4; vm.initlevel = vm.level = vm.userRole.code == 'jk_350200' ? 4 : vm.userRole.code.length == 9 ? 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; if (vm.initlevel == 4) { //市获取区 vm.getDistrict(3, vm.initarea.substring(3), 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.range = vm.rangeCode; }, toggleField(fieldName) { return this.tableFieldList.indexOf(fieldName) !== -1 }, manageInfo(){ var vm =this this.daLoading=true var params={ startTime: this.radio==1? this.chooseYear+'-01-01' : this.startTime, endTime:this.radio==1? this.chooseYear+'-12-31': this.endTime, quotaStr:this.quotaStrArr.join(','), range:this.rangeCode, area:this.areaCode=='350200'?'':this.areaCode, hospital:this.communityCode, page:1, size:50, sex:this.sex, firstVisitType:this.firstVisitType, hasLung:this.hasLung, hasCt:this.hasCt, hasx:this.hasx, hasBloodGas:this.hasBloodGas, hasSmoke:this.hasSmoke, hasDrink:this.hasDrink, diseaseConversion:this.diseaseConversion, age:this.age, } statisticAPI.manageInfo(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.daLoading=false }).catch(function(err){ vm.daLoading=false }) }, bubbleSort(array) { for (var i = 0; i < array.length - 1; i++) { for (var j = 0; j < array.length - i - 1; j++) { // 1.对每一个值和它的下一个值进行比较 if (array[j] > array[j + 1]) { // 如果第一个值更多,则将其赋予自定义计数值 count var count = array[j]; // 反复交换 array[j] = array[j + 1]; array[j + 1] = count; }; }; }; return array; }, search(){ if(this.quotaStrArr.length){ this.manageInfo() }else{ this.$message({ message: '请选择查询指标!', type: 'warning' }); return false } }, 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); } }); }, exportTable(){ var vm=this vm.daLoading=true // var quotaStrs= this.bubbleSort(this.quotaStrArr) this.quotaStrArr.sort(function(a, b) { return a - b}); var params={ startTime: this.radio==1? this.chooseYear+'-01-01' : this.startTime, endTime:this.radio==1? this.chooseYear+'-12-31': this.endTime, quotaStr:this.quotaStrArr.join(','), range:this.rangeCode, area:this.areaCode=='350200'?'':this.areaCode, hospital:this.communityCode, page:1, size:50, sex:this.sex, firstVisitType:this.firstVisitType, hasLung:this.hasLung, hasCt:this.hasCt, hasx:this.hasx, hasBloodGas:this.hasBloodGas, hasSmoke:this.hasSmoke, hasDrink:this.hasDrink, diseaseConversion:this.diseaseConversion, age:this.age, } statisticAPI.exportManageInfo(params,'管理情况.xls').then( function(res){ vm.daLoading=false vm.$message({ message: '导出成功!', type: 'success' }); } ) }, resetDate(){ this.startTime='', this.endTime='', this.rangeCode='town', this.quotaStr='', this.range='', this.area='', this.hospital='', this.sex='', this.firstVisitType='', this.firstVisitArea='', this.firstVisitOrgLevel='', this.areaCode='', this.hasLung='', this.hasCt='', this.hasx='', this.hasBloodGas='', this.hasSmoke='', this.hasDrink='', this.diseaseConversion='', this.age='' } }, mounted() { var vm = this var userRole = window.sessionStorage.getItem('selectedRole'); vm.userRoleCode = JSON.parse(userRole).code; this.initTime(this) this.initScope(this) this.getCommunityList() EventBus.$on('copd-record-filter-change', function (event) { vm.quotaStrArr = event console.log(vm.quotaStrArr,'999sd8s9a8d9s8ad9sa89') }) this.dicName.forEach(function(item) { vm.getDictByDictName(item) }); // this.manageInfo() }, destroyed() { EventBus.$off('copd-record-filter-change'); } });