|
|
|
@ -1,9 +1,9 @@ |
|
|
|
<template> |
|
|
|
<div> |
|
|
|
<div> |
|
|
|
<div @contextmenu.prevent="onContextmenu"> |
|
|
|
<el-table :data="patientRegister.prList" border ref="info" id="info" |
|
|
|
:height="(window.pageHeight < 600) ? 230 : (window.pageHeight - 370)" highlight-current-row |
|
|
|
@row-click="rowClick" size="small" @selection-change="handleSelectionChange"> |
|
|
|
@row-click="rowClick" size="small" @selection-change="handleSelectionChange" @row-contextmenu="rowContextmenu"> |
|
|
|
<el-table-column :type="dragCol[0].type" width="40" align="center" /> |
|
|
|
<!--列可拖拽 key值很关键 --> |
|
|
|
<el-table-column v-for="(item, index) in dragCol" v-if="index != 0" :key="`${item.label + index}`" |
|
|
|
@ -17,7 +17,7 @@ |
|
|
|
{{ dddw(dict.completeFlag, "id", scope.row[dragCol[index].prop], "displayName") }} |
|
|
|
</div> |
|
|
|
<div v-else-if="dragCol[index].prop == 'birthDate'"> |
|
|
|
{{ scope.row[dragCol[index].prop].substring(0,10) }} |
|
|
|
{{ scope.row[dragCol[index].prop].substring(0, 10) }} |
|
|
|
</div> |
|
|
|
<div v-else-if="dragCol[index].prop == 'isReportPrint'"> |
|
|
|
<i class="el-icon-printer" v-if="scope.row.isReportPrint == 'Y'" |
|
|
|
@ -29,15 +29,17 @@ |
|
|
|
<div v-else-if=" |
|
|
|
dragCol[index].prop == 'isVip' || |
|
|
|
dragCol[index].prop == 'isUpload' || |
|
|
|
dragCol[index].prop == 'isUploadAppoint' |
|
|
|
dragCol[index].prop == 'isUploadAppoint' || |
|
|
|
dragCol[index].prop == 'isReceiveReport' |
|
|
|
"> |
|
|
|
<el-checkbox :value="scope.row[dragCol[index].prop] == 'Y'" /> |
|
|
|
<el-checkbox :value="scope.row[dragCol[index].prop]=='Y'" true-label="Y" |
|
|
|
false-label="N" /> |
|
|
|
</div> |
|
|
|
<div v-else-if="dragCol[index].prop == 'packGroup'"> |
|
|
|
{{ scope.row.medicalPackageName || scope.row.customerOrgGroupName }} |
|
|
|
</div> |
|
|
|
<div v-else-if="dragCol[index].prop == 'departmentName'"> |
|
|
|
{{ scope.row.customerOrgName == scope.row.departmentName ? '':scope.row.departmentName }} |
|
|
|
{{ scope.row.customerOrgName == scope.row.departmentName ? '' : scope.row.departmentName }} |
|
|
|
</div> |
|
|
|
<div v-else> |
|
|
|
{{ scope.row[dragCol[index].prop] }} |
|
|
|
@ -101,13 +103,13 @@ export default { |
|
|
|
summary_check_doctor_alias: ["总检", "审核"], |
|
|
|
|
|
|
|
//拖动列 |
|
|
|
selectionCol:0, |
|
|
|
selectionCol: 0, |
|
|
|
dragCol: [ |
|
|
|
{ label: "勾选", type: "selection", 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: "reportPrintName", minWidth: 70, 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" }, |
|
|
|
@ -116,8 +118,8 @@ export default { |
|
|
|
{ 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: "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" }, |
|
|
|
@ -125,7 +127,7 @@ export default { |
|
|
|
{ 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: "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" }, |
|
|
|
@ -140,6 +142,9 @@ export default { |
|
|
|
{ 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" }, |
|
|
|
], |
|
|
|
|
|
|
|
@ -210,6 +215,86 @@ export default { |
|
|
|
await this.queryEvent() |
|
|
|
}, |
|
|
|
|
|
|
|
// 取消领取 |
|
|
|
canselGetReport() { |
|
|
|
let body = { |
|
|
|
patientRegisterIds: [], |
|
|
|
isReceiveReport: 'N' |
|
|
|
} |
|
|
|
|
|
|
|
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.patientRegisterId) rd.push({ patientRegisterId: this.dataTransOpts.tableS.patient_register.patientRegisterId }) |
|
|
|
} |
|
|
|
if (rd.length == 0) { |
|
|
|
this.$message.warning({ showClose: true, message: "请先勾选或选择记录(有勾选人员时,仅操作勾选的记录)!" }) |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
rd.forEach(e => { |
|
|
|
body.patientRegisterIds.push(e.patientRegisterId) |
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
postapi('/api/app/PatientRegister/BatchUpdatePatientRegisterReportReceive', body) |
|
|
|
.then(res => { |
|
|
|
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 |
|
|
|
body.patientRegisterIds.forEach(patientRegisterId => { |
|
|
|
lfind = arrayExistObj(this.patientRegister.prList, 'patientRegisterId', patientRegisterId) |
|
|
|
if (lfind > -1) { |
|
|
|
this.patientRegister.prList[lfind].isReceiveReport = body.isReceiveReport |
|
|
|
this.patientRegister.prList[lfind].reportReceiveDate = reportReceiveDate |
|
|
|
} |
|
|
|
}); |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
// 右击 |
|
|
|
rowContextmenu(row, column) { |
|
|
|
this.dataTransOpts.tableS.patient_register = deepCopy(row) |
|
|
|
}, |
|
|
|
|
|
|
|
onContextmenu(event) { |
|
|
|
// items.push({ |
|
|
|
// label: "一级菜单", |
|
|
|
// children: [ |
|
|
|
// { label: "修改姓名", onClick: () => { this.fnUpBaseInfo(row, 'patientName'); } } |
|
|
|
// ] |
|
|
|
// }) |
|
|
|
let items = [] |
|
|
|
|
|
|
|
//取消领取报告 |
|
|
|
items.push({ |
|
|
|
label:'取消领取报告', |
|
|
|
onClick: () => { |
|
|
|
this.canselGetReport(); |
|
|
|
} |
|
|
|
}) |
|
|
|
|
|
|
|
// 右击菜单显示 |
|
|
|
this.$contextmenu({ |
|
|
|
items, |
|
|
|
event, |
|
|
|
x: event.clientX, |
|
|
|
y: event.clientY, |
|
|
|
customClass: "custom-class", |
|
|
|
zIndex: 3, |
|
|
|
minWidth: 80, |
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
return false; |
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
//滚动加载数据 |
|
|
|
scrollFull() { |
|
|
|
this.dom = this.$refs['info'].bodyWrapper |
|
|
|
@ -240,10 +325,10 @@ export default { |
|
|
|
// 2. 创建 Sortable 实例 |
|
|
|
Sortable.create(table, { |
|
|
|
animation: 150, // 拖拽动画时长 |
|
|
|
|
|
|
|
|
|
|
|
// 开始拖拽的时候 |
|
|
|
onStart: (event) => { |
|
|
|
if(event.oldIndex == 0){ |
|
|
|
if (event.oldIndex == 0) { |
|
|
|
this.$alert('第1列不可以拖动', '提示') |
|
|
|
} |
|
|
|
//evt.oldIndex; // element index within parent |
|
|
|
@ -251,7 +336,7 @@ export default { |
|
|
|
// 3. 监听拖拽结束事件 |
|
|
|
onEnd: (event) => { |
|
|
|
const { oldIndex, newIndex } = event; |
|
|
|
|
|
|
|
|
|
|
|
// 4. 更新列定义数组的顺序 |
|
|
|
let movedColumn = this.dragCol.splice(oldIndex, 1)[0]; |
|
|
|
this.dragCol.splice(newIndex, 0, movedColumn); |
|
|
|
|