|
|
|
@ -26,7 +26,9 @@ |
|
|
|
<el-button type="primary" class="commonbutton" @click="btnUpReport">上传Web</el-button> |
|
|
|
</div> |
|
|
|
<div class="listBtn"> |
|
|
|
<el-button type="primary" class="commonbutton" @click="btnExport">导出人员</el-button> |
|
|
|
<download-excel :fields="jsonFields" :fetch="btnExport" type="xls" :name="xlsName"> |
|
|
|
<el-button type="" class="commonbutton" style="width:100%">人员信息导出</el-button> |
|
|
|
</download-excel> |
|
|
|
</div> |
|
|
|
<div class="listBtn"> |
|
|
|
<el-button type="primary" class="commonbutton" @click="exportZip">导出Zip</el-button> |
|
|
|
@ -48,7 +50,8 @@ |
|
|
|
|
|
|
|
<div class="query" style="display: flex;margin: 0 0 30px 10px;"> |
|
|
|
<span class="spanClass">领取人</span> |
|
|
|
<el-input placeholder="领取人" v-model="receiveReport.reportReceiveName" size="small" clearable style="width: 120px" /> |
|
|
|
<el-input placeholder="领取人" v-model="receiveReport.reportReceiveName" size="small" clearable |
|
|
|
style="width: 120px" /> |
|
|
|
</div> |
|
|
|
<div style="display: flex;justify-content: space-between;"> |
|
|
|
<div></div> |
|
|
|
@ -57,7 +60,8 @@ |
|
|
|
<el-button type="primary" class="commonbutton" @click="btnGetReportOk">确定</el-button> |
|
|
|
</div> |
|
|
|
<div style="margin-left: 10px;"> |
|
|
|
<el-button type="primary" class="commonbutton" @click="dialogGetReport = false">取消</el-button> |
|
|
|
<el-button type="primary" class="commonbutton" |
|
|
|
@click="dialogGetReport = false">取消</el-button> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
@ -70,7 +74,7 @@ |
|
|
|
import moment from "moment"; |
|
|
|
import { mapState } from "vuex"; |
|
|
|
import { getapi, postapi, putapi, deletapi } from "@/api/api"; |
|
|
|
import { arrayExistObj, deepCopy, parseID } from "../../utlis/proFunc"; |
|
|
|
import { arrayExistObj, deepCopy, parseID,dddw } from "../../utlis/proFunc"; |
|
|
|
import ElProgressOCX from "../report/ElProgressOCX.vue"; |
|
|
|
//import PatientRegisterList from "../doctorCheck/PatientRegisterList.vue"; |
|
|
|
export default { |
|
|
|
@ -80,13 +84,59 @@ export default { |
|
|
|
}, |
|
|
|
data() { |
|
|
|
return { |
|
|
|
dialogGetReport:false, |
|
|
|
receiveReport:{ |
|
|
|
dialogGetReport: false, |
|
|
|
receiveReport: { |
|
|
|
patientRegisterIds: [ |
|
|
|
], |
|
|
|
isReceiveReport: "Y", |
|
|
|
reportReceiveName: "" //// 报告领取人 |
|
|
|
} |
|
|
|
}, |
|
|
|
jsonFields: {}, |
|
|
|
xlsName: '', |
|
|
|
|
|
|
|
dragCol: [ |
|
|
|
{ label: "序号", prop: "sn", minWidth: 40, align: "center" }, |
|
|
|
{ label: "体检进度", prop: "completeFlag", minWidth: 90, align: "center" }, |
|
|
|
{ label: "体检日期", prop: "medicalStartDate", minWidth: 100, align: "center" }, |
|
|
|
{ label: "打印", prop: "isReportPrint", minWidth: 60, align: "center" }, |
|
|
|
{ label: "领取", prop: "isReceiveReport", minWidth: 60, align: "center" }, |
|
|
|
{ label: "预约备单", prop: "isUploadAppoint", minWidth: 90, align: "center" }, |
|
|
|
{ label: "上传", prop: "isUpload", minWidth: 60, align: "center" }, |
|
|
|
{ label: "条码号", prop: "patientRegisterNo", minWidth: 150, align: "center" }, |
|
|
|
{ label: "姓名", prop: "patientName", minWidth: 60, align: "center" }, |
|
|
|
{ label: "性别", prop: "sexName", minWidth: 60, align: "center" }, |
|
|
|
{ label: "年龄", prop: "age", minWidth: 60, align: "center" }, |
|
|
|
{ label: "分组/套餐", prop: "packGroup", minWidth: 150, align: "center" }, |
|
|
|
{ label: "体检次数", prop: "medicalTimes", minWidth: 90, align: "center" }, |
|
|
|
{ label: "单位名称", prop: "customerOrgName", minWidth: 180, align: "left", showTooltip: true }, |
|
|
|
{ label: "部门名称", prop: "departmentName", minWidth: 180, align: "left", showTooltip: true }, |
|
|
|
{ label: "手机", prop: "mobileTelephone", minWidth: 130, align: "center" }, |
|
|
|
{ label: "电话", prop: "telephone", minWidth: 130, align: "center" }, |
|
|
|
{ label: "档案号", prop: "patientNo", minWidth: 80, align: "center" }, |
|
|
|
{ label: "身份证号", prop: "idNo", minWidth: 160, align: "center" }, |
|
|
|
{ label: "出生日期", prop: "birthDate", minWidth: 90, align: "center" }, |
|
|
|
{ label: "婚姻", prop: "maritalStatusName", minWidth: 70, align: "center" }, |
|
|
|
{ label: "民族", prop: "nationName", minWidth: 70, align: "center" }, |
|
|
|
{ label: "地址", prop: "address", minWidth: 400, align: "left", showTooltip: true }, |
|
|
|
{ label: "体检卡号", prop: "medicalCardNo", minWidth: 90, align: "center" }, |
|
|
|
{ label: "工卡号", prop: "jobCardNo", minWidth: 90, align: "center" }, |
|
|
|
{ label: "体检类别", prop: "medicalTypeName", minWidth: 100, align: "center" }, |
|
|
|
{ label: "人员类别", prop: "personnelTypeName", minWidth: 100, align: "center" }, |
|
|
|
{ label: "职务", prop: "jobPost", minWidth: 70, align: "center" }, |
|
|
|
{ label: "职称", prop: "jobTitle", minWidth: 70, align: "center" }, |
|
|
|
{ label: "介绍人", prop: "salesman", minWidth: 80, align: "center" }, |
|
|
|
{ label: "VIP", prop: "isVip", minWidth: 80, align: "center" }, |
|
|
|
{ label: "总检医生", prop: "summaryDoctorName", minWidth: 90, align: "center" }, |
|
|
|
{ label: "总检日期", prop: "summaryDate", minWidth: 140, align: "center" }, |
|
|
|
{ label: "审核医生", prop: "auditDoctorName", minWidth: 90, align: "center" }, |
|
|
|
{ label: "审核日期", prop: "auditDate", minWidth: 140, align: "center" }, |
|
|
|
{ label: "登记人", prop: "registerName", minWidth: 80, align: "center" }, |
|
|
|
{ label: "登记时间", prop: "registerDate", minWidth: 140, align: "center" }, |
|
|
|
{ label: "打印人", prop: "reportPrintName", minWidth: 70, align: "center" }, |
|
|
|
{ label: "领取人", prop: "reportReceiveName", minWidth: 70, align: "center" }, |
|
|
|
{ label: "领取时间", prop: "reportReceiveDate", minWidth: 140, align: "center" }, |
|
|
|
{ label: "锁住", prop: "isLock", minWidth: 60, align: "center" }, |
|
|
|
], |
|
|
|
}; |
|
|
|
}, |
|
|
|
|
|
|
|
@ -103,6 +153,7 @@ export default { |
|
|
|
}, |
|
|
|
|
|
|
|
methods: { |
|
|
|
dddw, |
|
|
|
btnQuery() { |
|
|
|
this.patientRegister.query.times++ |
|
|
|
}, |
|
|
|
@ -220,6 +271,7 @@ export default { |
|
|
|
} |
|
|
|
this.elProgress.display = false; |
|
|
|
}, |
|
|
|
|
|
|
|
// 导入结果 |
|
|
|
btnImportResult(checkType) { |
|
|
|
if (!this.dataTransOpts.tableS.patient_register.id) { |
|
|
|
@ -256,41 +308,43 @@ export default { |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
btnGetReportOk(){ |
|
|
|
postapi('/api/app/PatientRegister/BatchUpdatePatientRegisterReportReceive',this.receiveReport) |
|
|
|
//领取体检报告(提交) |
|
|
|
btnGetReportOk() { |
|
|
|
postapi('/api/app/PatientRegister/BatchUpdatePatientRegisterReportReceive', this.receiveReport) |
|
|
|
.then(res => { |
|
|
|
if(res.code > -1){ |
|
|
|
this.$message.success({showClose:true,message:'操作成功!'}) |
|
|
|
if (res.code > -1) { |
|
|
|
this.$message.success({ showClose: true, message: '操作成功!' }) |
|
|
|
let reportReceiveDate = moment(new Date()).format('yyyy-MM-DD HH:mm:ss') |
|
|
|
let lfind = -1 |
|
|
|
this.receiveReport.patientRegisterIds.forEach(patientRegisterId => { |
|
|
|
lfind = arrayExistObj(this.patientRegister.prList,'patientRegisterId',patientRegisterId) |
|
|
|
if(lfind > -1){ |
|
|
|
lfind = arrayExistObj(this.patientRegister.prList, 'patientRegisterId', patientRegisterId) |
|
|
|
if (lfind > -1) { |
|
|
|
this.patientRegister.prList[lfind].isReceiveReport = this.receiveReport.isReceiveReport |
|
|
|
this.patientRegister.prList[lfind].reportReceiveName = this.receiveReport.reportReceiveName |
|
|
|
this.patientRegister.prList[lfind].reportReceiveDate = reportReceiveDate |
|
|
|
} |
|
|
|
}); |
|
|
|
this.dialogGetReport = false |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
|
|
|
|
//领取体检报告 |
|
|
|
//领取体检报告(按钮) |
|
|
|
btnGetReport(isReceiveReport) { |
|
|
|
//console.log('this.dataTransOpts.tableS.patient_register.id',this.dataTransOpts.tableS.patient_register.id,this.dataTransOpts.tableM.patient_register) |
|
|
|
let rd = [] |
|
|
|
if (this.dataTransOpts.tableM.patient_register && this.dataTransOpts.tableM.patient_register.length > 0) { |
|
|
|
rd = rd.concat(this.dataTransOpts.tableM.patient_register) |
|
|
|
} |
|
|
|
if(rd.length == 0){ |
|
|
|
if(this.dataTransOpts.tableS.patient_register.id) rd.push({patientRegisterId:this.dataTransOpts.tableS.patient_register.id}) |
|
|
|
if (rd.length == 0) { |
|
|
|
if (this.dataTransOpts.tableS.patient_register.id) rd.push({ patientRegisterId: this.dataTransOpts.tableS.patient_register.id }) |
|
|
|
} |
|
|
|
if (rd.length == 0) { |
|
|
|
this.$message.warning({ showClose: true, message: "请先勾选或选择记录(有勾选人员时,仅操作勾选的记录)!" }) |
|
|
|
return |
|
|
|
} |
|
|
|
let lfind = arrayExistObj(this.patientRegister.prList,'patientRegisterId',rd[0].patientRegisterId) |
|
|
|
if(lfind > -1){ |
|
|
|
let lfind = arrayExistObj(this.patientRegister.prList, 'patientRegisterId', rd[0].patientRegisterId) |
|
|
|
if (lfind > -1) { |
|
|
|
this.receiveReport.reportReceiveName = this.patientRegister.prList[lfind].patientName |
|
|
|
} |
|
|
|
|
|
|
|
@ -394,30 +448,17 @@ export default { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//体检报告 |
|
|
|
//体检报告打印(预览) |
|
|
|
async btnReport(isPreview) { |
|
|
|
if (!this.dataTransOpts.tableS.patient_register.id || !(this.dataTransOpts.tableM.patient_register && this.dataTransOpts.tableM.patient_register.length > 0)) { |
|
|
|
this.$message.warning({ showClose: true, message: "请先勾选或选择记录(优先打印勾选人员的报告)!" }) |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
if (!this.$peisAPI) { |
|
|
|
this.$message.info({ showClose: true, message: "此功能,需要在壳客户端才可运行!" }) |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
///3a0c990e-5756-2dc0-19d5-69a617fe4048 isPatientOccupationalDisease patientRegisterId completeFlag isAudit |
|
|
|
let rds = [] |
|
|
|
if (this.dataTransOpts.tableM.patient_register && this.dataTransOpts.tableM.patient_register.length > 0) { |
|
|
|
rds = this.dataTransOpts.tableM.patient_register |
|
|
|
} else { |
|
|
|
rds.push({ |
|
|
|
patientRegisterId: this.dataTransOpts.tableS.patient_register.id, |
|
|
|
isPatientOccupationalDisease: this.dataTransOpts.tableS.patient_register.isPatientOccupationalDisease, |
|
|
|
completeFlag: this.dataTransOpts.tableS.patient_register.completeFlag, |
|
|
|
isAudit: this.dataTransOpts.tableS.patient_register.isAudit, |
|
|
|
}) |
|
|
|
} |
|
|
|
let rds = this.getChoosedRds() |
|
|
|
if (rds.length == 0) return |
|
|
|
|
|
|
|
|
|
|
|
let ReportCode = '0005'; |
|
|
|
if (rds[0].isPatientOccupationalDisease == 'Y') ReportCode = '0006' |
|
|
|
@ -442,6 +483,8 @@ export default { |
|
|
|
{ Name: 'resultSign', Value: 'pic/resultSign.png' }, // 结果章,如:职业病(本次体检未发现职业性异常) |
|
|
|
{ Name: 'picExtThree', Value: 'pic/peisQrCode.jpg' }, // 公众号二维码 |
|
|
|
{ Name: 'picExtFour', Value: 'pic/peisQrCodeMini.jpg' }, // 小程序二维码 |
|
|
|
{ Name: 'picExtFive', Value: 'pic/sumDoctorSign.jpg' }, // 总检签名(部份企业固定才用) |
|
|
|
{ Name: 'picExtSix', Value: 'pic/auditDoctorSign.jpg' }, // 总检审核签名(部份企业固定才用) |
|
|
|
], |
|
|
|
}; |
|
|
|
|
|
|
|
@ -470,6 +513,7 @@ export default { |
|
|
|
}); |
|
|
|
|
|
|
|
} else { |
|
|
|
let lfind = -1 |
|
|
|
for (let i = 0; i < rds.length; i++) { |
|
|
|
let rd = rds[i]; |
|
|
|
|
|
|
|
@ -493,6 +537,12 @@ export default { |
|
|
|
this.$message.warning({ showClose: true, message: JSON.parse(lres).message }); |
|
|
|
} else { |
|
|
|
postapi('/api/app/patientregister/updatepatientregisterreportprinttimesmany', [rd.patientRegisterId]) |
|
|
|
.then(res => { |
|
|
|
if (res.code > -1) { |
|
|
|
lfind = arrayExistObj(this.patientRegister.prList, 'patientRegisterId', rd.patientRegisterId) |
|
|
|
if (lfind > -1) this.patientRegister.prList[lfind].isReportPrint = 'Y' |
|
|
|
} |
|
|
|
}) |
|
|
|
} |
|
|
|
} catch (error) { |
|
|
|
this.$message.warning({ showClose: true, message: error }); |
|
|
|
@ -599,6 +649,61 @@ export default { |
|
|
|
}) |
|
|
|
}, |
|
|
|
|
|
|
|
// 通用判断 是否有选中或勾选记录(同时有选中与勾选记录时,以勾选记录为主) |
|
|
|
getChoosedRds() { |
|
|
|
let rd = [] |
|
|
|
if (this.dataTransOpts.tableM.patient_register && this.dataTransOpts.tableM.patient_register.length > 0) { |
|
|
|
rd = rd.concat(this.dataTransOpts.tableM.patient_register) |
|
|
|
} |
|
|
|
if (rd.length == 0) { |
|
|
|
if (this.dataTransOpts.tableS.patient_register.id) { |
|
|
|
let lfind = arrayExistObj(this.patientRegister.prList, 'patientRegisterId', this.dataTransOpts.tableS.patient_register.id) |
|
|
|
if (lfind > -1) rd.push(this.patientRegister.prList.slice(lfind, Number(lfind) + 1)) |
|
|
|
} |
|
|
|
} |
|
|
|
if (rd.length == 0) { |
|
|
|
this.$message.warning({ showClose: true, message: "请先勾选或选择记录(有勾选人员时,仅操作勾选的记录)!" }) |
|
|
|
} |
|
|
|
return rd |
|
|
|
}, |
|
|
|
|
|
|
|
//通用导出 |
|
|
|
btnExport(elId) { |
|
|
|
this.dragCol.forEach((e) => { |
|
|
|
this.jsonFields[e.label] = e.prop; |
|
|
|
}); |
|
|
|
let tableDatas = deepCopy(this.patientRegister.prList) |
|
|
|
tableDatas.forEach((e, index) => { |
|
|
|
e.sn = index + 1 |
|
|
|
if (e.completeFlag) e.completeFlag = e.isAudit == "Y" ? "已审核" : dddw(this.dict.completeFlag, "id", e.completeFlag, "displayName") |
|
|
|
e.isReportPrint = e.isReportPrint == 'Y' ? '√' : '' |
|
|
|
if (e.isLock) e.isLock = e.isLock == 'Y' ? '√' : '' |
|
|
|
//if (e.sexId) e.sexId = dddw(this.dict.sex, "id", e.sexId, "displayName") |
|
|
|
// if (e.patientRegisterNo) e.patientRegisterNo = " " + e.patientRegisterNo |
|
|
|
if (e.patientNo) e.patientNo = "'" + e.patientNo |
|
|
|
if (e.medicalPackageId !== this.dict.personOrgId && e.customerOrgId === this.dict.personOrgId) { |
|
|
|
e.groupPack = e.medicalPackageName // dddw(this.dict.medicalPackage, "id", e.medicalPackageId, "displayName") |
|
|
|
} else if (e.medicalPackageId !== this.dict.personOrgId && e.customerOrgId !== this.dict.personOrgId) { |
|
|
|
e.groupPack = e.customerOrgGroupName // dddw(this.dict.customerOrgGroupAll, "id", e.customerOrgGroupId, "displayName") |
|
|
|
} |
|
|
|
//if (e.nationId) e.nationId = dddw(this.dict.nation, "id", e.nationId, "displayName") |
|
|
|
// if (e.idNo) e.idNo = " " + e.idNo |
|
|
|
// if (e.mobileTelephone) e.mobileTelephone = " " + e.mobileTelephone |
|
|
|
// if (e.telephone) e.telephone = " " + e.telephone |
|
|
|
|
|
|
|
if (e.birthDate) e.birthDate = moment(e.birthDate).format("yyyy-MM-DD") |
|
|
|
//if (e.maritalStatusId) e.maritalStatusId = dddw(this.dict.maritalStatus, "id", e.maritalStatusId, "displayName") |
|
|
|
//if (e.medicalTypeId) e.medicalTypeId = dddw(this.dict.medicalType, "id", e.medicalTypeId, "displayName") |
|
|
|
//if (e.personnelTypeId) e.personnelTypeId = dddw(this.dict.personnelType, "id", e.personnelTypeId, "displayName") |
|
|
|
if (e.isVip) e.isVip = e.isVip == "Y" ? "是" : "否" |
|
|
|
if (e.isUpload) e.isUpload = e.isUpload == "Y" ? "是" : "否" |
|
|
|
|
|
|
|
}) |
|
|
|
this.xlsName = '人员列表' + moment(new Date()).format('yyyyMMDDHHmmss') + '.xls' |
|
|
|
return tableDatas; |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
//监听事件() |
|
|
|
@ -633,5 +738,4 @@ export default { |
|
|
|
font-size: 14px; |
|
|
|
padding: 5px 2px 0 0; |
|
|
|
} |
|
|
|
|
|
|
|
</style> |