|
@ -1,3 +1,4 @@
|
|
|
|
|
|
var template = ''
|
|
|
$.ajax('../../../component/statistics/OutsideHospitalManage/index.html', {
|
|
|
data: {},
|
|
@ -17,9 +18,11 @@ Vue.component('outside-hospital-manage', {
|
|
|
data: function() {
|
|
|
return {
|
|
|
years: [],
|
|
|
hospitalList:[],
|
|
|
yearType: '1',
|
|
|
chooseYear: null,
|
|
|
chooseTime: null,
|
|
|
chooseHospital:null,
|
|
|
rangeOptions: [{ label: '区', value: 'town' }, { label: '医院', value: 'hospital' }, { label: '团队', value: 'team' }],
|
|
|
|
|
|
hospitalOptions: [],
|
|
@ -41,10 +44,10 @@ Vue.component('outside-hospital-manage', {
|
|
|
}
|
|
|
],
|
|
|
tableHeader: [
|
|
|
{ label: '医院名称', prop: 'patientName', width: '110' },
|
|
|
{ label: '患者总数', prop: 'idcard', width: '110' },
|
|
|
{ label: '康复管理人数', prop: 'hospitalName', width: '180' },
|
|
|
{ label: '康复计划数量', prop: 'doctorName', width: '110' }
|
|
|
{ label: '医院名称', prop: 'name', width: '110' },
|
|
|
{ label: '患者总数', prop: 'total', width: '110' },
|
|
|
{ label: '康复管理人数', prop: 'planNum', width: '180' },
|
|
|
{ label: '康复计划数量', prop: 'planTimes', width: '110' }
|
|
|
],
|
|
|
tableHeaderChildren: [
|
|
|
{
|
|
@ -112,6 +115,9 @@ Vue.component('outside-hospital-manage', {
|
|
|
size: 10,
|
|
|
total: 0,
|
|
|
level: 0,
|
|
|
dialogPage:1,
|
|
|
dialogSize:10,
|
|
|
dialogTotal:0,
|
|
|
messageVisible: false,
|
|
|
messTxt: '',
|
|
|
paramsObj: {
|
|
@ -125,10 +131,13 @@ Vue.component('outside-hospital-manage', {
|
|
|
// 详情
|
|
|
query: {
|
|
|
name: '',
|
|
|
signHospitalName: '',
|
|
|
signDoctorName: '',
|
|
|
remind: '',
|
|
|
serve: ''
|
|
|
mobile: '',
|
|
|
sex: '',
|
|
|
eventType: '',
|
|
|
hospital: '',
|
|
|
isRehabilitation:'',
|
|
|
reservationType:'',
|
|
|
doctorName:'',
|
|
|
},
|
|
|
dialogTableData: [
|
|
|
{
|
|
@ -141,7 +150,28 @@ Vue.component('outside-hospital-manage', {
|
|
|
dialogLoading: false,
|
|
|
dialogHeader: [],
|
|
|
title: '',
|
|
|
dialogExportLoading: false
|
|
|
dialogExportLoading: false,
|
|
|
reservationTypes:[
|
|
|
{ name: '全部', code: '' },
|
|
|
{ name: '代预约', code: '4' },
|
|
|
{ name: '电话短信提醒', code: '5' },
|
|
|
|
|
|
],
|
|
|
sexs: [
|
|
|
{ name: '全部', code: '' },
|
|
|
{ name: '男', code: '1' },
|
|
|
{ name: '女', code: '2' }
|
|
|
],
|
|
|
eventTypes: [
|
|
|
{ name: '全部', code: '' },
|
|
|
{ name: '门诊', code: '1' },
|
|
|
{ name: '住院', code: '2' },
|
|
|
],
|
|
|
isRehabilitations: [
|
|
|
{ name: '全部', code: '' },
|
|
|
{ name: '是', code: '1' },
|
|
|
{ name: '否', code: '0' },
|
|
|
]
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
@ -182,6 +212,7 @@ Vue.component('outside-hospital-manage', {
|
|
|
}
|
|
|
this.initTime()
|
|
|
this.getList()
|
|
|
this.initHospitalList();
|
|
|
},
|
|
|
initTime() {
|
|
|
var vm = this
|
|
@ -193,6 +224,17 @@ Vue.component('outside-hospital-manage', {
|
|
|
vm.years.push(i)
|
|
|
}
|
|
|
},
|
|
|
initHospitalList() {
|
|
|
var vm = this;
|
|
|
vm.hospitalList=[{code:'',name:'全部'}];
|
|
|
outsideHospitalAPI.ydManageHospitalList().then(function(res){
|
|
|
if(res.status == 200){
|
|
|
res.detailModelList.forEach(item => {
|
|
|
vm.hospitalList.push(item)
|
|
|
});
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
resetArea() {
|
|
|
if (this.level == 1) {
|
|
|
delete this.form.area
|
|
@ -209,24 +251,23 @@ Vue.component('outside-hospital-manage', {
|
|
|
var vm = this
|
|
|
this.loading = true
|
|
|
var params = {
|
|
|
...this.paramsObj,
|
|
|
page: this.page,
|
|
|
size: this.size
|
|
|
}
|
|
|
if (this.yearType == '1') {
|
|
|
params.startTime = this.chooseYear + '-01-01' + ' 00:00:00'
|
|
|
params.endTime = this.chooseYear + '-12-31' + ' 11:59:59'
|
|
|
} else {
|
|
|
if (this.chooseTime) {
|
|
|
params.startTime = this.chooseTime[0] + ' 00:00:00'
|
|
|
params.endTime = this.chooseTime[1] + ' 11:59:59'
|
|
|
}
|
|
|
}
|
|
|
|
|
|
httpRequest.get('statistics/collaborate/selectSmsInfoList', { data: params }).then(function(res) {
|
|
|
params.startDate = this.chooseYear + '-01-01'
|
|
|
params.endDate = this.chooseYear + '-12-31'
|
|
|
} else if (this.yearType == '2'){
|
|
|
params.hospital = this.chooseHospital
|
|
|
}else if(this.yearType=='3'){
|
|
|
params.startDate = this.chooseTime[0]
|
|
|
params.endDate = this.chooseTime[1]
|
|
|
}
|
|
|
outsideHospitalAPI.ydRehabilitationInfo(params).then(function(res) {
|
|
|
if (res.status == 200) {
|
|
|
// vm.tableData = res.detailModelList
|
|
|
vm.total = res.totalCount
|
|
|
vm.tableData = res.detailModelList
|
|
|
if (res.detailModelList.length == 0) {
|
|
|
vm.$message.warning('暂无数据!')
|
|
|
}
|
|
|
vm.total = res.detailModelList.length
|
|
|
}
|
|
|
vm.loading = false
|
|
|
})
|
|
@ -237,21 +278,21 @@ Vue.component('outside-hospital-manage', {
|
|
|
},
|
|
|
exportTable() {
|
|
|
var vm = this
|
|
|
this.exportLoading = true
|
|
|
var params = {
|
|
|
...this.paramsObj
|
|
|
}
|
|
|
if (this.yearType == '1') {
|
|
|
params.startDate = this.chooseYear + '-01-01 00:00'
|
|
|
params.endDate = this.chooseYear + '-12-31 23:59'
|
|
|
} else {
|
|
|
if (this.chooseTime) {
|
|
|
params.startDate = this.chooseTime[0] + ' 00:00'
|
|
|
params.endDate = this.chooseTime[1] + ' 23:59'
|
|
|
}
|
|
|
}
|
|
|
params.startDate = this.chooseYear + '-01-01'
|
|
|
params.endDate = this.chooseYear + '-12-31'
|
|
|
} else if (this.yearType == '2'){
|
|
|
params.hospital = this.chooseHospital
|
|
|
}else if(this.yearType=='3'){
|
|
|
params.startDate = this.chooseTime[0]
|
|
|
params.endDate = this.chooseTime[1]
|
|
|
}
|
|
|
this.exportLoading = true
|
|
|
var fileName = `消息推送明细.xls`
|
|
|
httpRequest.downLoadFileForAjax('statistics/collaborate/exportSelectSmsInfoList', fileName, params).then(function() {
|
|
|
var fileName = `异地医院管理情况统计.xls`
|
|
|
outsideHospitalAPI.exportYdRehabilitationInfo(fileName,params).then(function(){
|
|
|
vm.exportLoading = false
|
|
|
})
|
|
|
},
|
|
@ -272,29 +313,6 @@ Vue.component('outside-hospital-manage', {
|
|
|
this.chooseTime = null
|
|
|
this.$forceUpdate()
|
|
|
},
|
|
|
getHospital(code) {
|
|
|
var vm = this
|
|
|
delete this.form.hospital
|
|
|
delete this.form.team
|
|
|
var params = {
|
|
|
type: 5,
|
|
|
code: code
|
|
|
}
|
|
|
httpRequest.post('common/district', { data: params }).then(function(res) {
|
|
|
vm.hospitalOptions = res.list
|
|
|
})
|
|
|
},
|
|
|
getTeam(code) {
|
|
|
var vm = this
|
|
|
delete this.form.team
|
|
|
var params = {
|
|
|
hospital: code
|
|
|
}
|
|
|
|
|
|
httpRequest.get('statisticsExport/teamList', { data: params }).then(function(res) {
|
|
|
vm.teamOptions = res.data
|
|
|
})
|
|
|
},
|
|
|
handleCurrentChange(val) {
|
|
|
this.page = val
|
|
|
this.getList()
|
|
@ -303,34 +321,49 @@ Vue.component('outside-hospital-manage', {
|
|
|
this.size = val
|
|
|
this.getList()
|
|
|
},
|
|
|
handleCurrentDialogChange(val) {
|
|
|
this.DialogPage = val
|
|
|
if( this.title = '康复复诊记录明细'){
|
|
|
this.ydRehabilitationFz()
|
|
|
}else{
|
|
|
this.ydTurnDownDataPage()
|
|
|
}
|
|
|
|
|
|
},
|
|
|
handleDialogSizeChange(val) {
|
|
|
this.dialogSize = val
|
|
|
if( this.title = '康复复诊记录明细'){
|
|
|
this.ydRehabilitationFz()
|
|
|
}else{
|
|
|
this.ydTurnDownDataPage()
|
|
|
}
|
|
|
},
|
|
|
|
|
|
//详情
|
|
|
openDialog(row, prop) {
|
|
|
// if (!row.code) return
|
|
|
// this.page = 1
|
|
|
// this.query = {}
|
|
|
// var len = row.code.length
|
|
|
// if (len == 6) {
|
|
|
// this.query.range = 'town'
|
|
|
// this.query.area = row.code
|
|
|
// } else if (len == 10) {
|
|
|
// this.query.range = 'hospital'
|
|
|
// this.query.hospital = row.code
|
|
|
// } else {
|
|
|
// this.query.range = 'team'
|
|
|
// this.query.team = row.code
|
|
|
// }
|
|
|
// this.dataRangeOption = [{ label: row.name, value: row.code }]
|
|
|
if (prop == 'idcard' || prop == 'hospitalName') {
|
|
|
this.query = {
|
|
|
name: '',
|
|
|
mobile: '',
|
|
|
sex: '',
|
|
|
eventType: '',
|
|
|
hospital: '',
|
|
|
isRehabilitation:'',
|
|
|
reservationType:'',
|
|
|
doctorName:'',
|
|
|
}
|
|
|
if (prop == 'total' || prop == 'planNum') {
|
|
|
this.title = '下转情况数据列表'
|
|
|
this.dialogHeader = [
|
|
|
{ label: '姓名', prop: 'name', width: '110' },
|
|
|
{ label: '性别', prop: 'sex', width: '110' },
|
|
|
{ label: '年龄', prop: 'age', width: '110' },
|
|
|
{ label: '手机号', prop: 'phoen', width: '110' },
|
|
|
{ label: '下转次数', prop: 'sex', width: '110' },
|
|
|
{ label: '最近一次下转诊断', prop: 'age', width: '110' },
|
|
|
{ label: '最近一次下转时间', prop: 'phoen', width: '110' }
|
|
|
{ label: '手机号', prop: 'mobile', width: '110' },
|
|
|
{ label: '下转次数', prop: 'num', width: '110' },
|
|
|
{ label: '最近一次下转诊断', prop: 'diagnosisName', width: '110' },
|
|
|
{ label: '最近一次下转时间', prop: 'turnDownTime', width: '110' },
|
|
|
{ label: '最近一次下转类型', prop: 'eventType', width: '110' }
|
|
|
]
|
|
|
this.ydTurnDownDataPage()
|
|
|
this.visible = true
|
|
|
} else if (prop == 'vd1Num' || prop == 'v4Num') {
|
|
|
this.title = '康复复诊记录明细'
|
|
@ -339,13 +372,65 @@ Vue.component('outside-hospital-manage', {
|
|
|
{ label: '性别', prop: 'sex' },
|
|
|
{ label: '年龄', prop: 'age' },
|
|
|
{ label: '手机号', prop: 'mobile' },
|
|
|
{ label: '管理医院', prop: 'turnHospitalName' },
|
|
|
{ label: '管理医生', prop: 'turnDoctorName' },
|
|
|
{ label: '服务方式', prop: 'createTime' },
|
|
|
{ label: '服务时间', prop: 'hospitalName' }
|
|
|
{ label: '管理医院', prop: 'hospitalName' },
|
|
|
{ label: '管理医生', prop: 'doctorName' },
|
|
|
{ label: '服务方式', prop: 'reservationType' },
|
|
|
{ label: '服务时间', prop: 'finishTime' }
|
|
|
]
|
|
|
this.ydRehabilitationFz()
|
|
|
this.visible = true
|
|
|
}
|
|
|
|
|
|
},
|
|
|
ydTurnDownDataPage(){
|
|
|
vm = this;
|
|
|
vm.dialogTableData = [];
|
|
|
vm.dialogTotal=0
|
|
|
var params ={
|
|
|
page:this.dialogPage,
|
|
|
pageSize:this.dialogSize,
|
|
|
...this.query
|
|
|
}
|
|
|
if (this.yearType == '1') {
|
|
|
params.startDate = this.chooseYear + '-01-01'
|
|
|
params.endDate = this.chooseYear + '-12-31'
|
|
|
} else if (this.yearType == '2'){
|
|
|
params.hospital = this.chooseHospital
|
|
|
}else if(this.yearType=='3'){
|
|
|
params.startDate = this.chooseTime[0]
|
|
|
params.endDate = this.chooseTime[1]
|
|
|
}
|
|
|
outsideHospitalAPI.ydTurnDownDataPage(params).then(function(res){
|
|
|
if(res.status == 200){
|
|
|
vm.dialogTableData = res.detailModelList
|
|
|
vm.dialogTotal = res.totalCount
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
ydRehabilitationFz(){
|
|
|
vm = this;
|
|
|
vm.dialogTableData = [];
|
|
|
vm.dialogTotal=0
|
|
|
var params ={
|
|
|
page:this.dialogPage,
|
|
|
pageSize:this.dialogSize,
|
|
|
...this.query
|
|
|
}
|
|
|
if (this.yearType == '1') {
|
|
|
params.startDate = this.chooseYear + '-01-01'
|
|
|
params.endDate = this.chooseYear + '-12-31'
|
|
|
} else if (this.yearType == '2'){
|
|
|
params.hospital = this.chooseHospital
|
|
|
}else if(this.yearType=='3'){
|
|
|
params.startDate = this.chooseTime[0]
|
|
|
params.endDate = this.chooseTime[1]
|
|
|
}
|
|
|
outsideHospitalAPI.ydRehabilitationFz(params).then(function(res){
|
|
|
if(res.status == 200){
|
|
|
vm.dialogTableData = res.detailModelList
|
|
|
vm.dialogTotal = res.totalCount
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
closeDialog() {
|
|
|
this.visible = false
|
|
@ -364,42 +449,45 @@ Vue.component('outside-hospital-manage', {
|
|
|
},
|
|
|
dialogExportFn() {
|
|
|
var vm = this
|
|
|
this.exportLoading = true
|
|
|
|
|
|
if (this.title == '康复随访记录明细') {
|
|
|
var params = {
|
|
|
vm.dialogExportLoading = true
|
|
|
if (this.title == '康复复诊记录明细') {
|
|
|
var params ={
|
|
|
page:this.dialogPage,
|
|
|
pageSize:9999,
|
|
|
...this.query
|
|
|
}
|
|
|
if (this.yearType == '1') {
|
|
|
params.startDate = this.chooseYear + '-01-01'
|
|
|
params.endDate = this.chooseYear + '-12-31'
|
|
|
} else {
|
|
|
if (this.chooseTime) {
|
|
|
params.startDate = this.chooseTime[0]
|
|
|
params.endDate = this.chooseTime[1]
|
|
|
}
|
|
|
}
|
|
|
var fileName = `康复随访记录明细${new Date().getTime()}.xls`
|
|
|
httpRequest.downLoadFileForAjax('statistics/collaborate/exportGxbRehabilitationFollowupRecord', fileName, params).then(function() {
|
|
|
vm.exportLoading = false
|
|
|
params.startDate = this.chooseYear + '-01-01'
|
|
|
params.endDate = this.chooseYear + '-12-31'
|
|
|
} else if (this.yearType == '2'){
|
|
|
params.hospital = this.chooseHospital
|
|
|
}else if(this.yearType=='3'){
|
|
|
params.startDate = this.chooseTime[0]
|
|
|
params.endDate = this.chooseTime[1]
|
|
|
}
|
|
|
var fileName = `康复复诊记录明细${new Date().getTime()}.xls`
|
|
|
outsideHospitalAPI.exportYdRehabilitationFz(fileName, params).then(function() {
|
|
|
vm.dialogExportLoading = false
|
|
|
})
|
|
|
} else {
|
|
|
var params = {
|
|
|
...this.query,
|
|
|
type: 2
|
|
|
vm = this;
|
|
|
var params ={
|
|
|
page:this.dialogPage,
|
|
|
pageSize:9999,
|
|
|
...this.query
|
|
|
}
|
|
|
if (this.yearType == '1') {
|
|
|
params.startDate = this.chooseYear + '-01-01'
|
|
|
params.endDate = this.chooseYear + '-12-31'
|
|
|
} else {
|
|
|
if (this.chooseTime) {
|
|
|
params.startDate = this.chooseTime[0]
|
|
|
params.endDate = this.chooseTime[1]
|
|
|
}
|
|
|
}
|
|
|
var fileName = `康复随访消息推送明细${new Date().getTime()}.xls`
|
|
|
httpRequest.downLoadFileForAjax('statistics/collaborate/exportSelectSmsInfoList', fileName, params).then(function() {
|
|
|
vm.exportLoading = false
|
|
|
params.startDate = this.chooseYear + '-01-01'
|
|
|
params.endDate = this.chooseYear + '-12-31'
|
|
|
} else if (this.yearType == '2'){
|
|
|
params.hospital = this.chooseHospital
|
|
|
}else if(this.yearType=='3'){
|
|
|
params.startDate = this.chooseTime[0]
|
|
|
params.endDate = this.chooseTime[1]
|
|
|
}
|
|
|
var fileName = `下转情况数据列表${new Date().getTime()}.xls`
|
|
|
outsideHospitalAPI.exportYdTurnDownDataPage(fileName, params).then(function() {
|
|
|
vm.dialogExportLoading = false
|
|
|
})
|
|
|
}
|
|
|
},
|
|
@ -408,10 +496,11 @@ Vue.component('outside-hospital-manage', {
|
|
|
this.dialogSearch()
|
|
|
},
|
|
|
dialogSearch() {
|
|
|
if (this.title == '康复随访记录明细') {
|
|
|
this.gxbRehabilitationFollowupRecord()
|
|
|
console.log(this,'this')
|
|
|
if (this.title == '康复复诊记录明细') {
|
|
|
this.ydRehabilitationFz()
|
|
|
} else {
|
|
|
this.selectSmsInfoList()
|
|
|
this.ydTurnDownDataPage()
|
|
|
}
|
|
|
},
|
|
|
renderHeader: function(h, item) {
|
|
@ -454,7 +543,12 @@ Vue.component('outside-hospital-manage', {
|
|
|
// 个人案
|
|
|
seePatientDetail(row, prop) {
|
|
|
if (prop == 'name') {
|
|
|
EventBus.$emit('preview-person-info', { type: '5', code: row.code })
|
|
|
if(this.title == '康复复诊记录明细'){
|
|
|
EventBus.$emit('preview-person-info', { type: '5', code: row.patient||row.id,flag:'yd' })
|
|
|
}else{
|
|
|
EventBus.$emit('preview-person-info', { type: '4', code: row.patient||row.id,flag:'yd' })
|
|
|
}
|
|
|
|
|
|
}
|
|
|
}
|
|
|
},
|