pengjun 6 days ago
parent
commit
0bcaed666a
  1. 5
      src/components/common/HcAsbitem.vue
  2. 74
      src/components/report/BtnReport.vue
  3. 113
      src/components/report/PatientRegisterListNobtn.vue
  4. 12
      src/components/sumDoctorCheck/SumPREdit.vue

5
src/components/common/HcAsbitem.vue

@ -203,8 +203,9 @@ export default {
getAsbItemByItemType(e) {
this.getAsbItemByItemTypeAll()
//
arrayReduce(this.dict.asbItem, [...this.medicalPackageAsbitems], "id=id");
arrayReduce(this.dict.asbItemQuick, [...this.medicalPackageAsbitems], "id=id");
let choosed = [].concat(this.medicalPackageAsbitems,[{asbitemId:this.asbitemId}])
arrayReduce(this.dict.asbItem, choosed, "id=asbitemId");
arrayReduce(this.dict.asbItemQuick, choosed, "id=asbitemId");
this.quickAsb = Object.assign(this.dict.asbItemQuick)
if(e){
this.$refs.itemTypeIds.toggleDropDownVisible();

74
src/components/report/BtnReport.vue

@ -20,7 +20,7 @@
<el-button type="primary" class="commonbutton" @click="btnReportExport(false)">导出 pdf 报告</el-button>
</div>
<div class="listBtn">
<el-button type="primary" class="commonbutton" @click="btnGetReport">领取报告</el-button>
<el-button type="primary" class="commonbutton" @click="btnGetReport('Y')">领取报告</el-button>
</div>
<div class="listBtn">
<el-button type="primary" class="commonbutton" @click="btnUpReport">上传Web</el-button>
@ -46,17 +46,17 @@
:close-on-click-modal="false" :append-to-body="true">
<div>
<div class="query" style="display: flex;">
<div class="query" style="display: flex;margin: 0 0 30px 10px;">
<span class="spanClass">领取人</span>
<el-input placeholder="领取人" v-model="getMan" 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>
<div style="display: flex;">
<div class="listBtn">
<div>
<el-button type="primary" class="commonbutton" @click="btnGetReportOk">确定</el-button>
</div>
<div class="listBtn">
<div style="margin-left: 10px;">
<el-button type="primary" class="commonbutton" @click="dialogGetReport = false">取消</el-button>
</div>
</div>
@ -81,7 +81,12 @@ export default {
data() {
return {
dialogGetReport:false,
getMan: '', //
receiveReport:{
patientRegisterIds: [
],
isReceiveReport: "Y",
reportReceiveName: "" ////
}
};
},
@ -252,16 +257,57 @@ export default {
},
btnGetReportOk(){
postapi('/api/app/PatientRegister/BatchUpdatePatientRegisterReportReceive',this.receiveReport)
.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
this.receiveReport.patientRegisterIds.forEach(patientRegisterId => {
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
}
});
}
})
},
//
btnGetReport() {
if (!this.dataTransOpts.tableS.patient_register.id) {
this.$message.warning({ showClose: true, message: "请先选择记录!" })
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) {
this.$message.warning({ showClose: true, message: "请先勾选或选择记录(有勾选人员时,仅操作勾选的记录)!" })
return
}
let lfind = arrayExistObj(this.patientRegister.prList,'patientRegisterId',rd[0].patientRegisterId)
if(lfind > -1){
this.receiveReport.reportReceiveName = this.patientRegister.prList[lfind].patientName
}
this.dataTransOpts.tableS.patient_register.completeFlag = '2'
this.receiveReport.patientRegisterIds = []
this.receiveReport.isReceiveReport = isReceiveReport
rd.forEach(e => {
this.receiveReport.patientRegisterIds.push(e.patientRegisterId)
});
//
// {
// "patientRegisterIds": [
// "3fa85f64-5717-4562-b3fc-2c963f66afa6"
// ],
// "isReceiveReport": "string",
// "reportReceiveName": "string"
// }
this.dialogGetReport = true
},
@ -582,4 +628,10 @@ export default {
.btnClass {
width: 100px;
}
.spanClass {
font-size: 14px;
padding: 5px 2px 0 0;
}
</style>

113
src/components/report/PatientRegisterListNobtn.vue

@ -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);

12
src/components/sumDoctorCheck/SumPREdit.vue

@ -22,12 +22,12 @@
<div>
<span class="query">{{ summary_check_doctor_alias[0] || '总检' }}日期</span>
<el-date-picker v-model="dataTransOpts.tableS.patient_register.summaryDate" value-format="yyyy-MM-dd HH:mm:ss"
:disabled="dataTransOpts.tableS.patient_register.completeFlag == '3' ? true : false" type="date"
style="width: 90px" size="small" />
:readonly="dataTransOpts.tableS.patient_register.completeFlag == '3' ? true : false" type="datetime"
style="width: 140px" size="small" />
</div>
<div style="margin-top: 3px;">
<span class="query">{{ summary_check_doctor_alias[0] || '总检' }}</span>
<el-checkbox :value="dataTransOpts.tableS.patient_register.completeFlag == '3'" disabled></el-checkbox>
<el-checkbox :value="dataTransOpts.tableS.patient_register.completeFlag == '3'" readonly></el-checkbox>
</div>
<div>
<span class="query">{{ summary_check_doctor_alias[1] || '审核' }}医生</span>
@ -38,12 +38,12 @@
</div>
<div>
<span class="query">{{ summary_check_doctor_alias[1] || '审核' }}日期</span>
<el-date-picker v-model="dataTransOpts.tableS.patient_register.auditDate" value-format="yyyy-MM-dd" disabled
type="date" style="width: 90px" size="small" />
<el-date-picker v-model="dataTransOpts.tableS.patient_register.auditDate" value-format="yyyy-MM-dd HH:mm:ss" readonly
type="datetime" style="width: 140px" size="small" />
</div>
<div style="margin-top: 3px;">
<span class="query">{{ summary_check_doctor_alias[1] || '审核' }}</span>
<el-checkbox :value="dataTransOpts.tableS.patient_register.isAudit == 'Y'" disabled></el-checkbox>
<el-checkbox :value="dataTransOpts.tableS.patient_register.isAudit == 'Y'" readonly></el-checkbox>
</div>
</div>
</div>

Loading…
Cancel
Save