Browse Source

retrieve

master
pengjun 2 years ago
parent
commit
cafe626bcd
  1. 84
      src/components/doctorCheck/PatientRegisterList.vue
  2. 147
      src/components/patientRegister/PatientLis.vue
  3. 34
      src/components/patientRegister/PatientRegisterEdit.vue
  4. 67
      src/components/patientRegister/PatientRegisterItem.vue
  5. 6
      src/components/patientRegister/PatientRegisterList.vue

84
src/components/doctorCheck/PatientRegisterList.vue

@ -10,7 +10,8 @@
</el-tooltip>
</div>
<div class="query" style="display: flex;padding-top: 2px;">
<el-input placeholder="请选择体检单位" v-model="patientRegister.query.cusOrgOCX" style="width:238px;" size="small" disabled>
<el-input placeholder="请选择体检单位" v-model="patientRegister.query.cusOrgOCX" style="width:238px;" size="small"
disabled>
</el-input>
<el-button icon="el-icon-search" @click="report.dialogCusOrgOCX = true"
style="font-size: 20px;height:30px;min-width:30px; padding: 5px 5px;" size="small"></el-button>
@ -56,8 +57,8 @@
<!-- 人员列表 -->
<el-table :data="dataList" border width="100%"
:height="winAbsolute ? (window.pageHeight - 44 - 120 - 30) : (window.pageHeight - 44 - 120)" row-key="id"
size="small" highlight-current-row @row-click="rowClick" @row-dblclick="rowDblclick" ref="dataList"
:height="winAbsolute ? (window.pageHeight - 44 - 120 - 30 - 24) : (window.pageHeight - 44 - 120 - 24)" row-key="id"
size="small" highlight-current-row @row-click="rowClick" @row-dblclick="rowDblclick" ref="info" id="info"
style="border-radius:10px;">
<el-table-column prop="customerOrgParentName" label="单位" width="120">
<template slot-scope="scope">
@ -161,10 +162,17 @@
</template>
</el-table-column>
</el-table>
<div style="display: flex;justify-content:space-between;">
<div></div>
<div>
<span style="font-size:12px;">{{ loadOpts.totalCount }} 条记录当前显示{{ dataList.length }}
</span>
</div>
</div>
<!--通用选单位体检次数分组的控件-->
<el-dialog title="体检单位选择" :visible.sync="report.dialogCusOrgOCX" :close-on-click-modal="false" :append-to-body="true"
width="800px" height="600px" >
width="800px" height="600px">
<CusOrgOCX :useCustomerOrg="false" :initDateType="'medicalStartDate'" />
</el-dialog>
@ -216,6 +224,15 @@ export default {
quickAsb: [],
asbItemQuick: [],
dom: null, //
lazyLoading: false, //
loadOpts: {
totalCount: 0,
skipCount: 0,
maxResultCount: 100,
},
loadOptsInit: {},
oneClick: 0, // 1
DbClick: 0, // 1
};
@ -223,12 +240,17 @@ export default {
created() {
this.dictInit()
this.loadOptsInit = Object.assign({}, this.loadOpts)
},
//
mounted() { },
mounted() {
this.$nextTick(() => {
this.scrollFull()
})
},
computed: {
...mapState(["window", "dataTransOpts", "dict", "customerOrg","patientRegister", "doctorCheck", "sumDoctorCheck", "report"]),
...mapState(["window", "dataTransOpts", "dict", "customerOrg", "patientRegister", "doctorCheck", "sumDoctorCheck", "report"]),
},
methods: {
...mapMutations(['doctorCheckPrBaseInit', 'sumPREditInit']),
@ -335,7 +357,7 @@ export default {
//
rowDblclick(row) {
this.rowClick(row)
// this.rowClick(row)
this.doctorCheck.doctorCheckDialogVisible = false
this.sumDoctorCheck.sumDoctorCheckDialogVisible = false
@ -347,7 +369,13 @@ export default {
},
//
query() {
async query() {
this.loadOpts = Object.assign(this.loadOpts, this.loadOptsInit)
await this.getPrList()
},
async getPrList() {
if (this.loadOpts.skipCount != 0 && this.loadOpts.skipCount * this.loadOpts.maxResultCount >= this.loadOpts.totalCount) return
let body = {}, customerOrgs = []
console.log('this.report.dataCusOrgOCX', this.report.dataCusOrgOCX)
if (this.report.dataCusOrgOCX.length > 0) {
@ -380,7 +408,7 @@ export default {
if (this.local.query.checkAsb) body.asbitems = [this.local.query.checkAsb]
if (this.local.query.haveImage) body.isPicture = 'Y'
body.maxResultCount = 1000
body.isFilterPreRegistration = 'Y' // Y= N= N (CompleteFlag0null)
// "patientName": "string",
// "sexId": "string",
@ -388,7 +416,7 @@ export default {
// "completeFlag": "string",
// "maxResultCount": 0
console.log('/api/patientregister/getpeisrecordlist', body)
console.log('/api/patientregister/getpeisrecordlist', Object.assign(body,this.loadOpts))
// const loading = this.$loading({
// lock: true,
// text: "Loading",
@ -397,8 +425,13 @@ export default {
// });
postapi('/api/patientregister/getpeisrecordlist', body)
.then((res) => {
if (res.code != -1) {
this.dataList = res.data.items;
if (res.code > -1) {
//
this.loadOpts.totalCount = res.data.totalCount
if (body.skipCount == 0) this.dataList = [];
this.dataList = this.dataList.concat(res.data.items)
}
})
// .finally(() =>{
@ -407,6 +440,33 @@ export default {
;
},
//
async load() {
this.loadOpts.skipCount++
await this.getPrList()
},
//
scrollFull() {
this.dom = this.$refs['info'].bodyWrapper
console.log('this.dom', this.dom)
this.dom.addEventListener('scroll', async () => {
// console.log('scrollTop',this.dom.scrollTop,'clientHeight',this.dom.clientHeight,'scrollHeight',this.dom.scrollHeight);
if (this.dom.scrollTop + this.dom.clientHeight + 20 > this.dom.scrollHeight && !this.lazyLoading) {
//
console.log('scrollTop', this.dom.scrollTop, 'clientHeight', this.dom.clientHeight, 'scrollHeight', this.dom.scrollHeight);
if ((Number(this.loadOpts.skipCount) + 1) * Number(this.loadOpts.maxResultCount) >= Number(this.loadOpts.totalCount)) {
this.lazyLoading = false
} else {
this.lazyLoading = true
await this.load()
this.lazyLoading = false
// this.dom.scrollTop = this.dom.scrollTop - 100
}
}
})
},
//
close() {

147
src/components/patientRegister/PatientLis.vue

@ -2,12 +2,12 @@
<div>
<!--组件主体-->
<div style="display: flex">
<div :style="'width:' + (window.pageWidth - 200 - 145) + 'px;'" @contextmenu.prevent="onContextmenu">
<div :style="'width:' + (window.pageWidth - 200 - 145) + 'px;'">
<div>
<el-table @body-scrolling="load" :data="tableData" border highlight-current-row
:height="window.pageHeight < 600 ? 238:Math.floor((window.pageHeight - 243)*2/3)"
@row-click="rowClick" @row-dblclick="rowDblclick" size="small" row-key="id"
@selection-change="handleSelectionChange" ref="info" id="info" :row-class-name="handleRowClassName">
:height="window.pageHeight < 600 ? 238 : Math.floor((window.pageHeight - 243) * 2 / 3)" @row-click="rowClick"
size="small" row-key="id" @selection-change="handleSelectionChange" ref="info" id="info"
:row-class-name="handleRowClassName">
<!-- 取消勾选改为选中
<el-table-column type="selection" width="40" show-overflow-tooltip/>
:height="window.pageHeight < 600 ? 202 : Math.floor(((window.pageHeight - 302) * 2) / 3)"
@ -109,18 +109,12 @@
<el-tabs v-model="tabChoosed" style="margin-top: -22px;">
<!-- 给合项目 -->
<el-tab-pane label="预览" name="1">
<div :style="`overflow: scroll; width: 100%;height: ${window.pageHeight < 600 ? 119:Math.floor((window.pageHeight - 243)/3)}px;`">
<el-image :src="lisLabel">
<div slot="placeholder" class="image-slot">
加载中<span class="dot">...</span>
</div>
</el-image>
</div>
<embed :src="lisLabel" type="application/pdf" width="100%" style="margin-top: -56px;"
:height="(window.pageHeight < 600 ? 119 : Math.floor((window.pageHeight - 243) / 3)) + 56" />
</el-tab-pane>
</el-tabs>
</div>
<div style="margin-left: 10px;">
<div style="margin-left: 5px;">
<div v-show="checkPagePriv(pagePriv.privs, '全选')" class="listBtn">
<el-button type="success" class="commonbutton" @click="btnChooseAll(1)">全选</el-button>
</div>
@ -261,7 +255,8 @@ export default {
oneClick: 0, // 1
DbClick: 0, // 1
lisLabel: 'https://fuss10.elemecdn.com/1/8e/aeffeb4de74e2fde4bd74fc7b4486jpeg.jpeg',
printPre: 0,
lisLabel: '', // data:application/pdf;base64,
};
},
@ -374,6 +369,7 @@ export default {
//
rowClick(row) {
/*
if (this.oneClick == 0) {
this.oneClick = 1;
} else {
@ -389,7 +385,8 @@ export default {
setTimeout(() => { //300ms
if (this.oneClick == 1 && this.DbClick == 0) this.rowClickRetrieve(row)
}, 300)
*/
this.rowClickRetrieve(row)
},
rowClickRetrieve(row) {
@ -452,16 +449,11 @@ export default {
//
this.dataTransOpts.tableS.patient_register.id = this.tableData[lfind].id
this.tableDataCurrentRow = deepCopy(this.tableData[lfind])
this.dataTransOpts.refresh.register_check_asbitem.M++ //
//
if (this.$peisAPI) this.lisPrint(this.dataTransOpts.tableS.patient_register.id, "0002", "Y", "Y")
}
},
//
rowDblclick(row) {
this.rowClick(row)
this.btnEdit()
},
//
async Query() {
//
@ -674,7 +666,7 @@ export default {
},
//
lisPrint(prId, ReportCode, isPreview) {
lisPrint(prId, ReportCode, isPreview, IsUploadPdf) {
if (!this.$peisAPI) {
this.$message.info({ showClose: true, message: "此功能,需要在壳客户端才可运行!" });
return;
@ -686,7 +678,7 @@ export default {
ReportCode,
token,
isBuildImage: 'N',
IsUploadPdf: 'N',
IsUploadPdf,
preViewCanPrint: "N",
Parameters: [
{ Name: "printer", Value: user },
@ -696,28 +688,13 @@ export default {
};
if (isPreview) {
/*
postapi(
`/api/app/printreport/getlisrequestreport?PatientRegisterId=${prId}`
)
.then((res) => {
if (res.code != -1) {
toOutShell.ReportTable = { lisRequest: res.data };
console.log(
"JSON.stringify(toOutShell)",
JSON.stringify(toOutShell)
);
return this.$peisAPI.printPre(JSON.stringify(toOutShell));
}
})
.catch((err) => {
this.$message.warning(err);
});
*/
this.$peisAPI.printPre(JSON.stringify(toOutShell))
.then(res => {
if (JSON.parse(res).code < 0) {
let lres = JSON.parse(res)
if (lres.code < 0) {
this.$message.warning({ showClose: true, message: JSON.parse(res).message });
}else if(IsUploadPdf == 'Y'){
this.lisLabel = 'data:application/pdf;base64,' + lres.data
}
})
.catch((err) => {
@ -726,39 +703,7 @@ export default {
});
} else {
/*
postapi(
`/api/app/printreport/getlisrequestreport?PatientRegisterId=${prId}`
)
.then((res) => {
if (res.code != -1) {
toOutShell.ReportTable = { lisRequest: res.data };
console.log(
"JSON.stringify(toOutShell)",
JSON.stringify(toOutShell)
);
return this.$peisAPI.print(JSON.stringify(toOutShell));
}
})
.then((res) => {
//console.log("res", res);
if (JSON.parse(res).code >= 0) {
// /api/app/lisrequest/updatelisrequestisprint
// {
// "operateType": 0, 1.PatientRegisterId 2.LisRequestId
// "patientRegisterId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
// "lisRequestId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
// }
return postapi("/api/app/lisrequest/updatelisrequestisprint", {
operateType: 1,
patientRegisterId: prId,
});
}
})
.catch((err) => {
this.$message.warning(err);
});
*/
this.$peisAPI.print(JSON.stringify(toOutShell))
.then(res => {
if (JSON.parse(res).code < 0) {
@ -804,24 +749,6 @@ export default {
};
if (isPreview) {
/*
postapi(
`/api/app/printreport/getpacsnoreport?PatientRegisterId=${prId}`
)
.then((res) => {
if (res.code != -1) {
toOutShell.ReportTable = { lisRequest: res.data };
console.log(
"JSON.stringify(toOutShell)",
JSON.stringify(toOutShell)
);
return this.$peisAPI.printPre(JSON.stringify(toOutShell));
}
})
.catch((err) => {
this.$message.warning(err);
});
*/
this.$peisAPI.printPre(JSON.stringify(toOutShell))
.then(res => {
if (JSON.parse(res).code < 0) {
@ -833,38 +760,6 @@ export default {
this.$message.warning({ showClose: true, message: `${err}` });
});
} else {
/*
postapi(
`/api/app/printreport/getpacsnoreport?PatientRegisterId=${prId}`
)
.then((res) => {
if (res.code != -1) {
toOutShell.ReportTable = { lisRequest: res.data };
console.log(
"JSON.stringify(toOutShell)",
JSON.stringify(toOutShell)
);
return this.$peisAPI.print(JSON.stringify(toOutShell));
}
})
.then((res) => {
if (JSON.parse(res).code >= 0) {
// /api/app/lisrequest/updatelisrequestisprint
// {
// "operateType": 0, 1.PatientRegisterId 2.LisRequestId
// "patientRegisterId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
// "lisRequestId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
// }
return postapi("/api/app/lisrequest/updatelisrequestisprint", {
operateType: 1,
patientRegisterId: prId,
});
}
})
.catch((err) => {
this.$message.warning(err);
});
*/
this.$peisAPI.print(JSON.stringify(toOutShell))
.then(res => {
if (JSON.parse(res).code < 0) {

34
src/components/patientRegister/PatientRegisterEdit.vue

@ -24,7 +24,7 @@
<el-form-item label="单位名称" prop="customerOrgId">
<el-cascader v-model="form.customerOrgId" :options="patientRegister.customerOrgTreeAll"
:style="'width:' + Math.floor((window.pageWidth - 510) / 4.8) + 'px;'" filterable
popper-class="example" :show-all-levels="false"
popper-class="example" :show-all-levels="false" @change="changeCustomerOrgId"
:props="{ checkStrictly: true, expandTrigger: 'hover', ...customerOrg.treeprops, }"
:disabled="(form.completeFlag == '3' || isDoctor != '1') ? true : false" size="small">
</el-cascader>
@ -1803,24 +1803,24 @@ export default {
},
//
"form.photo"(newVal, oldVal) {
//console.log('patientRegister.patientRegisterRd.id newVal',newVal,' oldVal',oldVal)
if (newVal != oldVal) {
this.getPeoplePhoto(newVal)
}
},
// "form.photo"(newVal, oldVal) {
// //console.log('patientRegister.patientRegisterRd.id newVal',newVal,' oldVal',oldVal)
// if (newVal != oldVal) {
// this.getPeoplePhoto(newVal)
// }
// },
//
"form.customerOrgId": {
// immediate:true,
// // deep:true,
handler(newVal, oldVal) {
//console.log('patientRegister.patientRegisterRd.id newVal',newVal,' oldVal',oldVal)
if (newVal != oldVal) {
this.changeCustomerOrgId(newVal)
}
}
},
// "form.customerOrgId": {
// // immediate:true,
// // // deep:true,
// handler(newVal, oldVal) {
// //console.log('patientRegister.patientRegisterRd.id newVal',newVal,' oldVal',oldVal)
// if (newVal != oldVal) {
// this.changeCustomerOrgId(newVal)
// }
// }
// },
//
//

67
src/components/patientRegister/PatientRegisterItem.vue

@ -235,7 +235,7 @@ export default {
})
},
mounted() {
this.getPrAsb(this.dataTransOpts.tableS.patient_register.id)
// this.getPrAsb(this.dataTransOpts.tableS.patient_register.id)
},
methods: {
@ -423,36 +423,36 @@ export default {
},
//
async onSubmit(msg) {
let ret = false
// async onSubmit(msg) {
// let ret = false
ret = await this.batchAddAsb()
if (!ret) {
if (msg) this.$message.warning({ showClose: true, message: `组合项目 ${msg} 失败!`})
return
}
// ret = await this.batchAddAsb()
// if (!ret) {
// if (msg) this.$message.warning({ showClose: true, message: ` ${msg} `})
// return
// }
ret = await this.batchDelAsb()
if (!ret) {
if (msg) this.$message.warning({ showClose: true, message: `组合项目 ${msg} 失败!`})
return
}
// ret = await this.batchDelAsb()
// if (!ret) {
// if (msg) this.$message.warning({ showClose: true, message: ` ${msg} `})
// return
// }
ret = await this.batchEditAsb()
if (!ret) {
if (msg) this.$message.warning({ showClose: true, message: `组合项目 ${msg} 失败!`})
return
}
// ret = await this.batchEditAsb()
// if (!ret) {
// if (msg) this.$message.warning({ showClose: true, message: ` ${msg} `})
// return
// }
console.log('this.prAsbOpraOpts.formId', this.prAsbOpraOpts.formId)
if (this.prAsbOpraOpts.formId) {
this.refreshFormId()
} else {
//
this.triggerHeadSave()
this.getPrAsb(this.prForm.id)
}
},
// console.log('this.prAsbOpraOpts.formId', this.prAsbOpraOpts.formId)
// if (this.prAsbOpraOpts.formId) {
// this.refreshFormId()
// } else {
// //
// this.triggerHeadSave()
// this.getPrAsb(this.prForm.id)
// }
// },
//
handleSelectionChange(val) {
@ -1118,6 +1118,7 @@ export default {
// }
// },
//
"dataTransOpts.refresh.register_check_asbitem.D": {
// immediate: true, //
// deep: true, //
@ -1176,12 +1177,12 @@ export default {
},
//
"prAsbOpraOpts.prAsbSave"(newVal, oldVal) {
console.log("patientRegister.saveTimes newVal:", newVal, " oldVal:", oldVal);
if (newVal != oldVal) {
this.onSubmit('');
}
},
// "prAsbOpraOpts.prAsbSave"(newVal, oldVal) {
// console.log("patientRegister.saveTimes newVal", newVal, " oldVal", oldVal);
// if (newVal != oldVal) {
// this.onSubmit('');
// }
// },
},
};

6
src/components/patientRegister/PatientRegisterList.vue

@ -609,7 +609,7 @@ export default {
//
rowDblclick(row) {
this.rowClick(row)
// this.rowClick(row)
this.btnEdit()
},
@ -690,11 +690,13 @@ export default {
return;
}
//console.log(this.patientRegister.patientRegisterRd,this.tableData)
this.dialogWin.PatientRegisterEdit = true;
//
this.dataTransOpts.refresh.patient_register.S++ //()
this.dataTransOpts.plus.clearPatientRegisterQuery++ //
this.dialogWin.PatientRegisterEdit = true;
},
//

Loading…
Cancel
Save