Browse Source

queue

master
pengjun 2 years ago
parent
commit
a43507f1f5
  1. 78
      src/components/doctorCheck/QueueCheckList.vue
  2. 198
      src/components/occDisease/occReport.vue
  3. 4
      src/components/queue/Queue.vue

78
src/components/doctorCheck/QueueCheckList.vue

@ -38,7 +38,7 @@
</el-table> </el-table>
<div style="margin-top: 20px;"> <div style="margin-top: 20px;">
<div> <div>
<el-button type="primary" class="commonbutton" @click="btnCall(waitQueueRegisterId, '1')"
<el-button type="primary" class="commonbutton" @click="btnCall(waitRow.queueRegisterId, '1')"
style="width: 40px;min-width: 40px;height: 26px;">呼叫</el-button> style="width: 40px;min-width: 40px;height: 26px;">呼叫</el-button>
</div> </div>
<div style="margin: 10px 0;"> <div style="margin: 10px 0;">
@ -68,7 +68,7 @@
</el-table> </el-table>
<div style="margin-top: 20px;"> <div style="margin-top: 20px;">
<div> <div>
<el-button type="primary" class="commonbutton" @click="btnCall(alreadyQueueRegisterId, '2')"
<el-button type="primary" class="commonbutton" @click="btnCall(alreadyRow, '2')"
style="width: 40px;min-width: 40px;height: 26px;">过号</el-button> style="width: 40px;min-width: 40px;height: 26px;">过号</el-button>
</div> </div>
</div> </div>
@ -89,11 +89,11 @@
</el-table> </el-table>
<div style="margin-top: 20px;"> <div style="margin-top: 20px;">
<div> <div>
<el-button type="primary" class="commonbutton" @click="btnCall(overQueueRegisterId, '9')"
<el-button type="primary" class="commonbutton" @click="btnCall(overRow, '9')"
style="width: 40px;min-width: 40px;height: 26px;">重呼</el-button> style="width: 40px;min-width: 40px;height: 26px;">重呼</el-button>
</div> </div>
<div style="margin: 10px 0;"> <div style="margin: 10px 0;">
<el-button type="primary" class="commonbutton" @click="btnCall(overQueueRegisterId, '0')"
<el-button type="primary" class="commonbutton" @click="btnCall(overRow, '0')"
style="width: 40px;min-width: 40px;height: 26px;">退回</el-button> style="width: 40px;min-width: 40px;height: 26px;">退回</el-button>
</div> </div>
</div> </div>
@ -129,9 +129,10 @@ export default {
alreadyCalledDetail: [], alreadyCalledDetail: [],
overNumberDetail: [], overNumberDetail: [],
waitQueueRegisterId: '',
alreadyQueueRegisterId: '',
overQueueRegisterId: '',
waitRow: {},
alreadyRow: {},
overRow: {},
LocalConfig: { LocalConfig: {
doctorCheck: { // doctorCheck: { //
@ -232,7 +233,8 @@ export default {
}) })
} }
if (!this.interval) {
//
if (!this.interval && this.queue_refresh_interval != 0) {
this.interval = setInterval(() => { this.interval = setInterval(() => {
this.getQueueRegisterList(this.LocalConfig.doctorCheck.queueRoom, this.LocalConfig.doctorCheck.queueItemTypeIds) this.getQueueRegisterList(this.LocalConfig.doctorCheck.queueRoom, this.LocalConfig.doctorCheck.queueItemTypeIds)
}, this.queue_refresh_interval * 1000); }, this.queue_refresh_interval * 1000);
@ -240,32 +242,32 @@ export default {
} }
}, },
btnCall(refQueueRegisterId, completeFlag) {
let queueRegisterId = refQueueRegisterId
btnCall(refRow, completeFlag) {
let row = Object.assign({}, refRow)
switch (completeFlag) { switch (completeFlag) {
case "0": // 退 case "0": // 退
if (!queueRegisterId) {
if (this.overNumberDetail.length > 0) queueRegisterId = this.overNumberDetail[0].queueRegisterId
if (!row.queueRegisterId) {
if (this.overNumberDetail.length > 0) row = this.overNumberDetail[0]
} }
if (!queueRegisterId) this.$message.warning({ showClose: true, message: '未可操作的数据,或未选择过号人员' })
if (!row.queueRegisterId) this.$message.warning({ showClose: true, message: '未可操作的数据,或未选择过号人员' })
break; break;
case "1": // case "1": //
if (!queueRegisterId) {
if (this.waitDetail.length > 0) queueRegisterId = this.waitDetail[0].queueRegisterId
if (!row.queueRegisterId) {
if (this.waitDetail.length > 0) row = this.waitDetail[0]
} }
if (!queueRegisterId) this.$message.warning({ showClose: true, message: '未可操作的数据,或未选择候诊人员' })
if (!row.queueRegisterId) this.$message.warning({ showClose: true, message: '未可操作的数据,或未选择候诊人员' })
break; break;
case "2": // case "2": //
if (!queueRegisterId) {
if (this.alreadyCalledDetail.length > 0) queueRegisterId = this.alreadyCalledDetail[0].queueRegisterId
if (!row.queueRegisterId) {
if (this.alreadyCalledDetail.length > 0) row = this.alreadyCalledDetail[0]
} }
if (!queueRegisterId) this.$message.warning({ showClose: true, message: '未可操作的数据,或未选择已呼人员' })
if (!row.queueRegisterId) this.$message.warning({ showClose: true, message: '未可操作的数据,或未选择已呼人员' })
break; break;
case "9": // case "9": //
if (!queueRegisterId) {
if (this.overNumberDetail.length > 0) queueRegisterId = this.overNumberDetail[0].queueRegisterId
if (!row.queueRegisterId) {
if (this.overNumberDetail.length > 0) queueRegisterId = this.overNumberDetail[0]
} }
if (!queueRegisterId) this.$message.warning({ showClose: true, message: '未可操作的数据,或未选择过号人员' })
if (!row.queueRegisterId) this.$message.warning({ showClose: true, message: '未可操作的数据,或未选择过号人员' })
break; break;
} }
@ -274,7 +276,7 @@ export default {
.then(res => { .then(res => {
if (res.code > -1) { if (res.code > -1) {
this.getQueueRegisterList(this.LocalConfig.doctorCheck.queueRoom, this.LocalConfig.doctorCheck.queueItemTypeIds) this.getQueueRegisterList(this.LocalConfig.doctorCheck.queueRoom, this.LocalConfig.doctorCheck.queueItemTypeIds)
if (this.$peisAPI && completeFlag == '1') this.outShellCall()
if (this.$peisAPI && completeFlag == '1') this.outShellCall(row)
} }
}) })
} else if (completeFlag == '9') { } else if (completeFlag == '9') {
@ -283,18 +285,20 @@ export default {
}, },
// api // api
outShellCall() {
// /api/app/Room/Get
// {
// "roomId": "3a13f191-1c1a-0749-fda4-5b10b0b10c15"
// }
this.$peisAPI.getIsSpeechEnable()
outShellCall(row) {
let roomName = ''
postapi('/api/app/Room/Get', { roomId: this.LocalConfig.doctorCheck.queueRoom })
.then(res => {
if (res.code > -1) {
roomName = res.data.displayName
return this.$peisAPI.getIsSpeechEnable()
}
})
.then(res => { .then(res => {
if (res == 'Y') return this.$peisAPI.speechConnect() if (res == 'Y') return this.$peisAPI.speechConnect()
}) })
.then(res => { .then(res => {
let toOutShell = { SendText: "欢迎光临", RepatPlayNum: 2, Delay: 1 }
let toOutShell = { SendText: `${row.patientName}${roomName}检查`, RepatPlayNum: 3, Delay: 1 }
return this.$peisAPI.speechSendText(JSON.stringify(toOutShell)) return this.$peisAPI.speechSendText(JSON.stringify(toOutShell))
}) })
.catch(err => { .catch(err => {
@ -330,9 +334,9 @@ export default {
this.alreadyCalledDetail = [] this.alreadyCalledDetail = []
this.overNumberDetail = [] this.overNumberDetail = []
this.waitQueueRegisterId = ''
this.alreadyQueueRegisterId = ''
this.overQueueRegisterId = ''
this.waitRow = {}
this.alreadyRow = {}
this.overRow = {}
let itemTypeIds = [] let itemTypeIds = []
itemType.forEach(e => { itemType.forEach(e => {
@ -394,17 +398,17 @@ export default {
// //
rowClickWait(row) { rowClickWait(row) {
this.waitQueueRegisterId = row.queueRegisterId
this.waitRow = row
}, },
// //
rowClickAlready(row) { rowClickAlready(row) {
this.alreadyQueueRegisterId = row.queueRegisterId
this.alreadyRow = row
}, },
// //
rowClickOver(row) { rowClickOver(row) {
this.overQueueRegisterId = row.queueRegisterId
this.overRow = row
}, },
}, },

198
src/components/occDisease/occReport.vue

@ -34,7 +34,8 @@
</el-select> </el-select>
</div> </div>
<div class="query"> <div class="query">
<el-button @click="btnQuery" size="small" class="commonbutton">查询</el-button>
<el-button @click="btnQuery(true)" size="small" class="commonbutton">预览</el-button>
<el-button @click="btnQuery(false)" size="small" class="commonbutton">打印</el-button>
</div> </div>
<!-- <!--
<div class="query"> <div class="query">
@ -55,22 +56,23 @@
" :data="tableData" id="standardTableData" ref="standardTableData" style="width: 100%" " :data="tableData" id="standardTableData" ref="standardTableData" style="width: 100%"
:header-cell-class-name="headerStyle"> :header-cell-class-name="headerStyle">
<el-table-column :label="reportTitle"> <el-table-column :label="reportTitle">
<el-table-column :label="`单位: ${customerOrgName||''} 体检次数 ${medicalTimes||''} 开始月份: ${startMonth||''} 结束月份: ${endMonth||''}`">
<el-table-column
:label="`单位: ${customerOrgName || ''} 体检次数 ${medicalTimes || ''} 开始月份: ${startMonth || ''} 结束月份: ${endMonth || ''}`">
<template slot-scope="scope"> <template slot-scope="scope">
<el-table :data="scope.row.patientRegisterPositiveReports" border show-summary <el-table :data="scope.row.patientRegisterPositiveReports" border show-summary
:summary-method="summarizeRegisterCounts" :header-cell-class-name="headerStyle"> :summary-method="summarizeRegisterCounts" :header-cell-class-name="headerStyle">
<el-table-column label="人员阳性结果清单"> <el-table-column label="人员阳性结果清单">
<el-table-column :label="`${startDate||''}
<el-table-column :label="`${startDate || ''}
${endDate||''}
${endDate || ''}
体检人员共计 体检人员共计
${sumMedicalNumber|| ''}
${sumMedicalNumber || ''}
其中男 其中男
${maleMedicalNumber|| ''}
${maleMedicalNumber || ''}
${femaleMedicalNumber||''}
${femaleMedicalNumber || ''}
其他 其他
${otherMedicalNumber||''}
${otherMedicalNumber || ''}
`"> `">
<el-table-column prop="patientNo" label="档案号" width="120" /> <el-table-column prop="patientNo" label="档案号" width="120" />
<el-table-column prop="patientName" label="姓名" width="120" /> <el-table-column prop="patientName" label="姓名" width="120" />
@ -86,17 +88,17 @@
<el-table :data="scope.row.positivePatientRegisterReportStandards" border <el-table :data="scope.row.positivePatientRegisterReportStandards" border
:header-cell-class-name="headerStyle" style="margin-top: 15px"> :header-cell-class-name="headerStyle" style="margin-top: 15px">
<el-table-column label="阳性结果人员清单"> <el-table-column label="阳性结果人员清单">
<el-table-column :label="`${startDate||''}
<el-table-column :label="`${startDate || ''}
${endDate||''}
${endDate || ''}
体检人员共计 体检人员共计
${sumMedicalNumber|| ''}
${sumMedicalNumber || ''}
其中男 其中男
${maleMedicalNumber|| ''}
${maleMedicalNumber || ''}
${femaleMedicalNumber||''}
${femaleMedicalNumber || ''}
其他 其他
${otherMedicalNumber||''}
${otherMedicalNumber || ''}
`"> `">
<template slot-scope="scopes"> <template slot-scope="scopes">
<el-table :data="scopes.row.patientRegisters" border show-summary <el-table :data="scopes.row.patientRegisters" border show-summary
@ -124,20 +126,21 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
<el-table :data="scope.row.diseaseCountStatisticsReports" border :header-cell-class-name="headerStyle"
show-summary :summary-method="summarizeRegisterCount" style="margin-top: 15px">
<el-table :data="scope.row.diseaseCountStatisticsReports" border
:header-cell-class-name="headerStyle" show-summary :summary-method="summarizeRegisterCount"
style="margin-top: 15px">
<el-table-column label="疾病人数统计"> <el-table-column label="疾病人数统计">
<el-table-column :label="`${startDate||''}
<el-table-column :label="`${startDate || ''}
${endDate||''}
${endDate || ''}
体检人员共计 体检人员共计
${sumMedicalNumber|| ''}
${sumMedicalNumber || ''}
其中男 其中男
${maleMedicalNumber|| ''}
${maleMedicalNumber || ''}
${femaleMedicalNumber||''}
${femaleMedicalNumber || ''}
其他 其他
${otherMedicalNumber||''}
${otherMedicalNumber || ''}
`"> `">
<el-table-column label="序号" type="index"> <el-table-column label="序号" type="index">
</el-table-column> </el-table-column>
@ -163,22 +166,23 @@
" :data="reducetableData" id="reducetableData" ref="reducetableData" style="width: 100%" " :data="reducetableData" id="reducetableData" ref="reducetableData" style="width: 100%"
:header-cell-class-name="headerStyle"> :header-cell-class-name="headerStyle">
<el-table-column :label="reducereportTitle"> <el-table-column :label="reducereportTitle">
<el-table-column :label="`单位: ${customerOrgName||''} 体检次数 ${medicalTimes||''} 开始月份: ${startMonth||''} 结束月份: ${endMonth||''}`">
<el-table-column
:label="`单位: ${customerOrgName || ''} 体检次数 ${medicalTimes || ''} 开始月份: ${startMonth || ''} 结束月份: ${endMonth || ''}`">
<template slot-scope="scope"> <template slot-scope="scope">
<el-table :data="scope.row.patientRegisterPositiveReports" border show-summary <el-table :data="scope.row.patientRegisterPositiveReports" border show-summary
:summary-method="summarizeRegisterCounts" :header-cell-class-name="headerStyle"> :summary-method="summarizeRegisterCounts" :header-cell-class-name="headerStyle">
<el-table-column label="人员阳性结果清单"> <el-table-column label="人员阳性结果清单">
<el-table-column :label="`${reducestartDate||''}
<el-table-column :label="`${reducestartDate || ''}
${reduceendDate||''}
${reduceendDate || ''}
体检人员共计 体检人员共计
${reducesumMedicalNumber||''}
${reducesumMedicalNumber || ''}
其中男 其中男
${reducemaleMedicalNumber||''}
${reducemaleMedicalNumber || ''}
${reducefemaleMedicalNumber||''}
${reducefemaleMedicalNumber || ''}
其他 其他
${reduceotherMedicalNumber||''}
${reduceotherMedicalNumber || ''}
`"> `">
<el-table-column prop="patientNo" label="档案号" width="120" /> <el-table-column prop="patientNo" label="档案号" width="120" />
<el-table-column prop="patientName" label="姓名" width="120" /> <el-table-column prop="patientName" label="姓名" width="120" />
@ -195,17 +199,17 @@
:header-cell-class-name="headerStyle" show-summary :summary-method="summarizeRegisterCount" :header-cell-class-name="headerStyle" show-summary :summary-method="summarizeRegisterCount"
style="margin-top: 15px"> style="margin-top: 15px">
<el-table-column label="阳性结果人员清单"> <el-table-column label="阳性结果人员清单">
<el-table-column :label="`${reducestartDate||''}
<el-table-column :label="`${reducestartDate || ''}
${reduceendDate||''}
${reduceendDate || ''}
体检人员共计 体检人员共计
${reducesumMedicalNumber||''}
${reducesumMedicalNumber || ''}
其中男 其中男
${reducemaleMedicalNumber||''}
${reducemaleMedicalNumber || ''}
${reducefemaleMedicalNumber||''}
${reducefemaleMedicalNumber || ''}
其他 其他
${reduceotherMedicalNumber||''}
${reduceotherMedicalNumber || ''}
`"> `">
<el-table-column label="序号" type="index"> <el-table-column label="序号" type="index">
</el-table-column> </el-table-column>
@ -216,20 +220,21 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
<el-table :data="scope.row.diseaseCountStatisticsReports" border :header-cell-class-name="headerStyle"
show-summary :summary-method="summarizeRegisterCount" style="margin-top: 15px">
<el-table :data="scope.row.diseaseCountStatisticsReports" border
:header-cell-class-name="headerStyle" show-summary :summary-method="summarizeRegisterCount"
style="margin-top: 15px">
<el-table-column label="疾病人数统计"> <el-table-column label="疾病人数统计">
<el-table-column :label="`${reducestartDate||''}
<el-table-column :label="`${reducestartDate || ''}
${reduceendDate||''}
${reduceendDate || ''}
体检人员共计 体检人员共计
${reducesumMedicalNumber||''}
${reducesumMedicalNumber || ''}
其中男 其中男
${reducemaleMedicalNumber||''}
${reducemaleMedicalNumber || ''}
${reducefemaleMedicalNumber||''}
${reducefemaleMedicalNumber || ''}
其他 其他
${reduceotherMedicalNumber||''}
${reduceotherMedicalNumber || ''}
`"> `">
<el-table-column label="序号" type="index"> <el-table-column label="序号" type="index">
</el-table-column> </el-table-column>
@ -331,9 +336,8 @@ export default {
...mapState(["window", "dict", "patientRegister", "report"]), ...mapState(["window", "dict", "patientRegister", "report"]),
}, },
methods: { methods: {
btnQuery() {
let body = {},
customerOrgs = [];
btnQuery(isPreview) {
let customerOrgs = [];
if (this.report.dataCusOrgOCX.length > 0) { if (this.report.dataCusOrgOCX.length > 0) {
this.report.dataCusOrgOCX.forEach((e) => { this.report.dataCusOrgOCX.forEach((e) => {
let rd = { let rd = {
@ -361,64 +365,64 @@ export default {
}); });
} }
body.customerOrgs = customerOrgs;
if (this.completeFlag) body.completeFlag = this.completeFlag;
body.isAudit = this.classification;
if (customerOrgs.length == 0) {
this.$message.warning({ showClose: true, message: "请选择单位" })
return
}
if (this.format == 0) {
postapi(
"/api/customerreport/getunitphysicalexaminationreportstandard",
body
).then((res) => {
if (res.code != -1) {
this.tableData = [];
this.tableData.push(res.data);
this.reportTitle = res.data.reportTitle;
this.customerOrgName = res.data.customerOrgName;
this.medicalTimes = res.data.medicalTimes;
this.startMonth = res.data.startMonth;
this.endMonth = res.data.endMonth;
this.startDate = res.data.startDate;
this.endDate = res.data.endDate;
this.sumMedicalNumber = res.data.sumMedicalNumber;
this.maleMedicalNumber = res.data.maleMedicalNumber;
this.femaleMedicalNumber = res.data.femaleMedicalNumber;
this.otherMedicalNumber = res.data.otherMedicalNumber;
if (!this.$peisAPI) {
this.$message.info({ showClose: true, message: "此功能,需要在壳客户端才可运行!" })
return
} }
});
} else if (this.format == 1) {
postapi(
"/api/customerreport/getunitphysicalexaminationreportreduce",
body
).then((res) => {
if (res.code != -1) {
this.reducetableData = [];
this.reducetableData.push(res.data);
this.reducereportTitle = res.data.reportTitle;
this.reducecustomerOrgName = res.data.customerOrgName;
this.reducemedicalTimes = res.data.medicalTimes;
this.reducestartMonth = res.data.startMonth;
this.reduceendMonth = res.data.endMonth;
this.reducestartDate = res.data.startDate;
this.reduceendDate = res.data.endDate;
this.reducesumMedicalNumber = res.data.sumMedicalNumber;
this.reducemaleMedicalNumber = res.data.maleMedicalNumber;
this.reducefemaleMedicalNumber = res.data.femaleMedicalNumber;
this.reduceotherMedicalNumber = res.data.otherMedicalNumber;
//
// if (this.format == 0)
let ReportCode = '0009';
let token = window.sessionStorage.getItem('token');
let user = window.sessionStorage.getItem('user');
let toOutShell = {
ReportCode,
token,
isBuildImage: 'N',
IsUploadPdf: 'N',
preViewCanPrint: "Y",
Parameters: [
{ Name: "printer", Value: user },
{ Name: "hisLog", Value: "pic/hisLog.jpg" },
{ Name: 'pageFooter', Value: 'pic/peisQrCode.jpg' },
],
BusinessCode:JSON.stringify(customerOrgs)
};
console.log('toOutShell', toOutShell)
if (isPreview) {
this.$peisAPI.printPre(JSON.stringify(toOutShell))
.then(res => {
let lres = JSON.parse(res)
if (lres.code < 0) {
this.$message.error({ showClose: true, message: lres.message })
} }
})
.catch((err) => {
this.$message.error({ showClose: true, message: err })
}); });
} else { } else {
postapi(
"/api/customerreport/getunitphysicalexaminationreportexportword",
body
).then((res) => {
if (res.code != -1) {
const sysConfig = JSON.parse(window.sessionStorage.getItem('sysConfig'))
this.reportUrl = sysConfig.apiurl + res.data.reportUrl;
this.$peisAPI.print(JSON.stringify(toOutShell))
.then(res => {
let lres = JSON.parse(res)
if (lres.code < 0) {
this.$message.error({ showClose: true, message: lres.message })
} }
})
.catch((err) => {
this.$message.error({ showClose: true, message: err })
}); });
} }
}, },
summarizeRegisterCounts(param) { summarizeRegisterCounts(param) {
const { columns, data } = param; const { columns, data } = param;
const sums = []; const sums = [];
@ -579,6 +583,7 @@ page-break-before: avoid;}}`, // 去除页眉页脚
:deep .left-align .cell { :deep .left-align .cell {
text-align: left !important; text-align: left !important;
} }
::v-deep .el-input__inner { ::v-deep .el-input__inner {
/*text-align: center;*/ /*text-align: center;*/
padding-left: 5px; padding-left: 5px;
@ -598,7 +603,8 @@ page-break-before: avoid;}}`, // 去除页眉页脚
::v-deep .el-icon-search:before { ::v-deep .el-icon-search:before {
color: #00F; color: #00F;
} }
.query:last-child{
.query:last-child {
margin-right: 0; margin-right: 0;
} }
</style> </style>

4
src/components/queue/Queue.vue

@ -44,10 +44,10 @@
<el-table-column label="房间" min-width="80" prop="roomName" align="center" /> <el-table-column label="房间" min-width="80" prop="roomName" align="center" />
</el-table> </el-table>
<div style="margin: 25px 0 10px 0;"> <div style="margin: 25px 0 10px 0;">
<el-button class="commonbutton" @click="btnQueue">人工排队</el-button>
<el-button class="commonbutton" @click="btnQueue">人工分诊排队</el-button>
</div> </div>
<div> <div>
<el-button class="commonbutton" @click="btnQueueAuto">自动排队</el-button>
<el-button class="commonbutton" @click="btnQueueAuto">AI智能分诊</el-button>
</div> </div>
<div style="margin: 10px 0;">当前排队房间</div> <div style="margin: 10px 0;">当前排队房间</div>
<div style="height: 40px;margin-left: 20px;"> <div style="height: 40px;margin-left: 20px;">

Loading…
Cancel
Save