|
@ -0,0 +1,409 @@
|
|
|
|
var template = ''
|
|
|
|
$.ajax('../html/mzfv1rzReport.html',{
|
|
|
|
data: {},
|
|
|
|
dataType: 'html',
|
|
|
|
cache: false,
|
|
|
|
timeout: 60000,
|
|
|
|
async: false,
|
|
|
|
error: function(res) {
|
|
|
|
},
|
|
|
|
success: function(res) {
|
|
|
|
template = res
|
|
|
|
}
|
|
|
|
})
|
|
|
|
let date = new Date();
|
|
|
|
let today = date.toISOString().split('T')[0];
|
|
|
|
let oneWeekBeforeDate = new Date(date.getTime() - (7 * 24 * 60 * 60 * 1000));
|
|
|
|
Vue.component('mzf-v1rzreport', {
|
|
|
|
props: [],
|
|
|
|
template: template,
|
|
|
|
data: function() {
|
|
|
|
return {
|
|
|
|
mzfWorksheetData:[],
|
|
|
|
list:[], // 已选列表
|
|
|
|
startTime: oneWeekBeforeDate, //new Date('2023','05','26'),
|
|
|
|
endTime: new Date(),
|
|
|
|
regionList:[], // 地区
|
|
|
|
regionData:[],
|
|
|
|
threeHospitalList:[], // 三级医院
|
|
|
|
tertiaryHospitalsData:[],
|
|
|
|
communityHospitalsList:[], //社区医院
|
|
|
|
communityHospitalsData:[],
|
|
|
|
groupingList:[], // 分组
|
|
|
|
groupingData:[],
|
|
|
|
administrationStatusList:[], // 管理状态
|
|
|
|
administrationStatusData:[
|
|
|
|
{label:'全部',id:'8',type:'5', disabled: true, checked: false},
|
|
|
|
{label:'已管理',id:'7',type:'5', disabled: true, checked: false},
|
|
|
|
{label:'在管',id:'1',type:'5', disabled: true, checked: false},
|
|
|
|
{label:'未管理',id:'0',type:'5', disabled: true, checked: false},
|
|
|
|
{label:'不纳入管理',id:'4',type:'5', disabled: true, checked: false},
|
|
|
|
{label:'入组',id:'5',type:'5', disabled: false , checked: false},
|
|
|
|
{label:'出组',id:'3',type:'5', disabled: true, checked: false},
|
|
|
|
{label:'失访',id:'2',type:'5', disabled: true, checked: false},
|
|
|
|
{label:'死亡',id:'6',type:'5', disabled: true, checked: false},
|
|
|
|
],
|
|
|
|
show:false,
|
|
|
|
showTwo:false,
|
|
|
|
showThree:false,
|
|
|
|
currentPage:1,
|
|
|
|
currentSize:10,
|
|
|
|
datatotal:10, //总数
|
|
|
|
loadingTwo:false,
|
|
|
|
setDisabled:{
|
|
|
|
disabledDate(time) {
|
|
|
|
return time.getTime() < new Date('2023','05','26') || time.getTime() > Date.now();
|
|
|
|
}
|
|
|
|
},
|
|
|
|
s:'',
|
|
|
|
e:'',
|
|
|
|
findType: 1,
|
|
|
|
groupState: '',
|
|
|
|
copdState: false
|
|
|
|
}
|
|
|
|
},
|
|
|
|
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.cascadingFindHosptail() // 地区
|
|
|
|
// this.threeHospital() // 三级医院
|
|
|
|
// this.communityHospital() // 社区医院
|
|
|
|
// this.group() // 分组
|
|
|
|
|
|
|
|
this.findHospitalEntryCount() // 表单
|
|
|
|
},
|
|
|
|
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, areaCode, hospitalCode) {
|
|
|
|
// var vm = this
|
|
|
|
// var data = {
|
|
|
|
// findType: type ? type : 1, // findType 1查地区 2查三级医院 3社区医院 4 分组【对照组、康复组】
|
|
|
|
// areaCode: areaCode || '',
|
|
|
|
// hosptialCode: hospitalCode || '',
|
|
|
|
// }
|
|
|
|
// var jsonStr = JSON.stringify(data)
|
|
|
|
// statisticAPI.cascadingFindHosptail({
|
|
|
|
// jsonStr
|
|
|
|
// }).then(res => {
|
|
|
|
// if(res.status == 200) {
|
|
|
|
// console.log(res);
|
|
|
|
// if(vm.findType == 1) {
|
|
|
|
// res.data.forEach(v => {
|
|
|
|
// v.checked = false
|
|
|
|
// })
|
|
|
|
// this.regionData = [{areaCode:'', areaName:'全市', checked: true}].concat(res.data)
|
|
|
|
// }else if(vm.findType == 2) {
|
|
|
|
// this.tertiaryHospitalsData = [{areaCode:'', areaName:'', hospitalCode: '', hospitalName: '全部'}].concat(res.data)
|
|
|
|
// }else if(vm.findType == 3) {
|
|
|
|
// this.communityHospitalsData = [{areaCode:'', areaName:'', hospitalCode: '', hospitalName: '全部'}].concat(res.data)
|
|
|
|
// }
|
|
|
|
// else if (vm.findType == 4) {
|
|
|
|
// var data = _.map(res.data, function(v) {
|
|
|
|
// var temp = {}
|
|
|
|
// for(var k in v) {
|
|
|
|
// temp.code = k
|
|
|
|
// temp.label = v[k]
|
|
|
|
// }
|
|
|
|
// return temp
|
|
|
|
// })
|
|
|
|
// console.log(data, 'fenzu');
|
|
|
|
// this.groupingData = [{label:'全部',id:'1',type:'4'}].concat(data)
|
|
|
|
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
// }).catch(function(err){
|
|
|
|
// console.log(err);
|
|
|
|
// })
|
|
|
|
// },
|
|
|
|
|
|
|
|
// // 获取全部三级医院
|
|
|
|
// threeHospital: function() {
|
|
|
|
// var vm = this
|
|
|
|
// var data = {
|
|
|
|
// findType: 2, // findType 1查地区 2查三级医院 3社区医院 4 分组【对照组、康复组】
|
|
|
|
// areaCode: '',
|
|
|
|
// hosptialCode: '',
|
|
|
|
// }
|
|
|
|
// var jsonStr = JSON.stringify(data)
|
|
|
|
// statisticAPI.cascadingFindHosptail({
|
|
|
|
// jsonStr
|
|
|
|
// }).then(res => {
|
|
|
|
// if(res.status == 200) {
|
|
|
|
// // this.tertiaryHospitalsData = [{areaCode:'', areaName:'', hospitalCode: '', hospitalName: '全部'}].concat(res.data)
|
|
|
|
// this.tertiaryHospitalsData = res.data
|
|
|
|
// }
|
|
|
|
// })
|
|
|
|
// },
|
|
|
|
// // 获取全部社区医院
|
|
|
|
// communityHospital: function() {
|
|
|
|
// var vm = this
|
|
|
|
// var data = {
|
|
|
|
// findType: 3, // findType 1查地区 2查三级医院 3社区医院 4 分组【对照组、康复组】
|
|
|
|
// areaCode: '',
|
|
|
|
// hosptialCode: '',
|
|
|
|
// }
|
|
|
|
// var jsonStr = JSON.stringify(data)
|
|
|
|
// statisticAPI.cascadingFindHosptail({
|
|
|
|
// jsonStr
|
|
|
|
// }).then(res => {
|
|
|
|
// if(res.status == 200) {
|
|
|
|
// // this.communityHospitalsData = [{areaCode:'', areaName:'', hospitalCode: '', hospitalName: '全部'}].concat(res.data)
|
|
|
|
// this.communityHospitalsData = res.data
|
|
|
|
// }
|
|
|
|
// })
|
|
|
|
// },
|
|
|
|
// // 获取分组
|
|
|
|
// group: function() {
|
|
|
|
// var vm = this
|
|
|
|
// var data = {
|
|
|
|
// findType: 4, // findType 1查地区 2查三级医院 3社区医院 4 分组【对照组、康复组】
|
|
|
|
// areaCode: '',
|
|
|
|
// hosptialCode: '',
|
|
|
|
// }
|
|
|
|
// var jsonStr = JSON.stringify(data)
|
|
|
|
// statisticAPI.cascadingFindHosptail({
|
|
|
|
// jsonStr
|
|
|
|
// }).then(res => {
|
|
|
|
// if(res.status == 200) {
|
|
|
|
// var data = _.map(res.data, function(v) {
|
|
|
|
// var temp = {}
|
|
|
|
// for(var k in v) {
|
|
|
|
// temp.code = k
|
|
|
|
// temp.label = v[k]
|
|
|
|
// }
|
|
|
|
// return temp
|
|
|
|
// })
|
|
|
|
// console.log(data, 'fenzu');
|
|
|
|
// // this.groupingData = [{label:'全部',id:'1',type:'4'}].concat(data)
|
|
|
|
// this.groupingData = data
|
|
|
|
// }
|
|
|
|
// })
|
|
|
|
// },
|
|
|
|
|
|
|
|
|
|
|
|
// 查询数据接口 1默认时间,和 三级医院
|
|
|
|
findHospitalEntryCount: function(code, hospitalCode, communityHospitalCode,groupingCode) {
|
|
|
|
var vm = this
|
|
|
|
vm.loadingTwo = true
|
|
|
|
var data = {
|
|
|
|
startTime:this.startTime.format('yyyy-MM-dd'),
|
|
|
|
endTime:this.endTime.format('yyyy-MM-dd'),
|
|
|
|
areaCode: code || '', // 地区code
|
|
|
|
hosptialCode: hospitalCode || '', // 医院code
|
|
|
|
communityHospitalCode: communityHospitalCode || '', // 社区医院code
|
|
|
|
groupState: groupingCode || '', // 3 康复组 4 对照组
|
|
|
|
copdState: 5
|
|
|
|
}
|
|
|
|
var jsonStr = JSON.stringify(data)
|
|
|
|
statisticAPI.findHospitalEntryCount({
|
|
|
|
jsonStr
|
|
|
|
}).then(res => {
|
|
|
|
if(res.status == 200) {
|
|
|
|
console.log(res);
|
|
|
|
vm.loadingTwo = false
|
|
|
|
vm.mzfWorksheetData = res.data
|
|
|
|
vm.datatotal = res.total
|
|
|
|
}
|
|
|
|
}).catch(function(err){
|
|
|
|
console.log(err);
|
|
|
|
})
|
|
|
|
},
|
|
|
|
// 开始时间
|
|
|
|
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) {
|
|
|
|
// 如果id==time 删除时间选择
|
|
|
|
if(item.id == "time") {
|
|
|
|
this.startTime = ''
|
|
|
|
this.endTime = ''
|
|
|
|
this.list.splice(0,1)
|
|
|
|
}
|
|
|
|
// 找对应当前点击的index 进行移除
|
|
|
|
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
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
// // 选择地区
|
|
|
|
// change:function(val) {
|
|
|
|
// console.log(val, '选择的数据');
|
|
|
|
// var code = [] // 地区code
|
|
|
|
// val.forEach(v => {
|
|
|
|
// v.type = 1
|
|
|
|
// v.label = v.areaName
|
|
|
|
// code.push(v.areaCode)
|
|
|
|
// })
|
|
|
|
// this.findType = 2
|
|
|
|
// this.cascadingFindHosptail(this.findType, code.join(',') , '',)
|
|
|
|
// this.list = Array.from(new Set(this.list.concat(val)))
|
|
|
|
// },
|
|
|
|
// // 选择三级医院
|
|
|
|
// changeHospital(val) {
|
|
|
|
// var hospitalCode = [] // 三级医院code
|
|
|
|
// val.forEach(v => {
|
|
|
|
// v.type = 2
|
|
|
|
// v.label = v.hospitalName
|
|
|
|
// hospitalCode.push(v.hospitalCode)
|
|
|
|
// })
|
|
|
|
// this.findType = 3
|
|
|
|
// this.cascadingFindHosptail(this.findType, '', hospitalCode.join(','))
|
|
|
|
// this.list = Array.from(new Set(this.list.concat(val)))
|
|
|
|
|
|
|
|
// },
|
|
|
|
// // 选择社区
|
|
|
|
// changeCommunityHospitals(val) {
|
|
|
|
// console.log(val)
|
|
|
|
// var communityHospitalCode = []
|
|
|
|
// val.forEach(v => {
|
|
|
|
// v.type = 3
|
|
|
|
// v.label = v.hospitalName
|
|
|
|
// communityHospitalCode.push(v.hospitalCode)
|
|
|
|
// })
|
|
|
|
// this.findType = 4
|
|
|
|
// this.cascadingFindHosptail(this.findType, '', '')
|
|
|
|
// this.list = Array.from(new Set(this.list.concat(val)))
|
|
|
|
// },
|
|
|
|
// // 分组
|
|
|
|
// changeGroup(val) {
|
|
|
|
// val.forEach(v => {
|
|
|
|
// v.type = 4
|
|
|
|
// })
|
|
|
|
// this.list = Array.from(new Set(this.list.concat(val)))
|
|
|
|
|
|
|
|
// },
|
|
|
|
// // 管理状态
|
|
|
|
// changeStatus(val) {
|
|
|
|
// console.log(val);
|
|
|
|
// this.list = Array.from(new Set(this.list.concat(val)))
|
|
|
|
// },
|
|
|
|
|
|
|
|
|
|
|
|
// 确定
|
|
|
|
confirm:function() {
|
|
|
|
|
|
|
|
// // 地区
|
|
|
|
// var regionCode = []
|
|
|
|
// this.regionList.forEach(v => {
|
|
|
|
// regionCode.push(v.areaCode)
|
|
|
|
// })
|
|
|
|
// // 三级医院
|
|
|
|
// var threeHospitaCode = []
|
|
|
|
// this.threeHospitalList.forEach(v => {
|
|
|
|
// threeHospitaCode.push(v.hospitalCode)
|
|
|
|
// })
|
|
|
|
// // 社区医院
|
|
|
|
// var communityHospitalCode = []
|
|
|
|
// this.communityHospitalsList.forEach(v => {
|
|
|
|
// communityHospitalCode.push(v.hospitalCode)
|
|
|
|
// })
|
|
|
|
// var groupingCode = []
|
|
|
|
// this.groupingList.forEach(v => {
|
|
|
|
// groupingCode.push(v.code)
|
|
|
|
// })
|
|
|
|
// this.findHospitalEntryCount(regionCode.join(','), threeHospitaCode.join(','), communityHospitalCode.join(','), groupingCode.join(','))
|
|
|
|
|
|
|
|
this.findHospitalEntryCount()
|
|
|
|
},
|
|
|
|
// 取消
|
|
|
|
cancel:function() {
|
|
|
|
this.startTime = oneWeekBeforeDate
|
|
|
|
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')
|
|
|
|
}
|
|
|
|
|
|
|
|
// this.list = []
|
|
|
|
// this.regionList = []
|
|
|
|
// this.threeHospitalList = []
|
|
|
|
// this.communityHospitalsList = []
|
|
|
|
// this.groupingList = []
|
|
|
|
// this.administrationStatusList = []
|
|
|
|
// this.list.unshift({type:'0',id:'time',label:this.s +"~"+ this.e},{type:'2', id:'1', label:'全部'})
|
|
|
|
// this.findHospitalEntryCount()
|
|
|
|
},
|
|
|
|
|
|
|
|
// 导出
|
|
|
|
exportHandle:function() {
|
|
|
|
|
|
|
|
// // 地区
|
|
|
|
// var regionCode = []
|
|
|
|
// // 三级医院
|
|
|
|
// var threeHospitaCode = []
|
|
|
|
// // 社区医院
|
|
|
|
// var communityHospitalCode = []
|
|
|
|
// // 分组
|
|
|
|
// var groupingCode = []
|
|
|
|
// this.list.forEach(v => {
|
|
|
|
// regionCode.push(v.areaCode)
|
|
|
|
// threeHospitaCode.push(v.hospitalCode)
|
|
|
|
// communityHospitalCode.push(v.hospitalCode)
|
|
|
|
// groupingCode.push(v.code)
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
|
|
var vm = this
|
|
|
|
vm.loadingTwo = true
|
|
|
|
var data = {
|
|
|
|
startTime: vm.startTime.format('yyyy-MM-dd'),
|
|
|
|
endTime: vm.endTime.format('yyyy-MM-dd'),
|
|
|
|
areaCode: '', // 地区code
|
|
|
|
hosptialCode: '', // 医院code
|
|
|
|
communityHospitalCode: '', // 社区医院code
|
|
|
|
groupState: '', // 3 康复组 4 对照组
|
|
|
|
}
|
|
|
|
var jsonStr = JSON.stringify(data)
|
|
|
|
statisticAPI.exportHospitalEntryCount({
|
|
|
|
jsonStr
|
|
|
|
},'v1\入组情况报表.xls').then(function(res){
|
|
|
|
vm.loadingTwo = false
|
|
|
|
})
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
})
|