Browse Source

queue

master
pengjun 11 months ago
parent
commit
6d0548176f
  1. 281
      src/components/doctorCheck/QueueCheckList.vue
  2. 1
      src/components/queue/Queue.vue

281
src/components/doctorCheck/QueueCheckList.vue

@ -1,36 +1,19 @@
<template>
<div>
<!--组件主体-->
<div
:style="`height: ${tableHeight}px;font-size:14px;z-index:10;background-color: #f4f8ff;`"
>
<div :style="`height: ${tableHeight}px;font-size:14px;z-index:10;background-color: #f4f8ff;`">
<div style="display: flex">
<div>
<div>
<span>分诊房间:</span>
<el-select
v-model="LocalConfig.doctorCheck.queueRoom"
placeholder="分诊房间"
clearable
filterable
style="width: 100px"
size="small"
>
<el-option
v-for="item in dict.room"
:key="item.id"
:label="item.displayName"
:value="item.id"
/>
<el-select v-model="LocalConfig.doctorCheck.queueRoom" placeholder="分诊房间" clearable filterable
style="width: 100px" size="small">
<el-option v-for="item in dict.room" :key="item.id" :label="item.displayName" :value="item.id" />
</el-select>
</div>
<div>
<el-cascader
:options="dict.itemTypeTree"
v-model="LocalConfig.doctorCheck.queueItemTypeIds"
popper-class="example"
style="width: 160px"
:props="{
<el-cascader :options="dict.itemTypeTree" v-model="LocalConfig.doctorCheck.queueItemTypeIds"
popper-class="example" style="width: 160px" :props="{
checkStrictly: true,
expandTrigger: 'hover',
label: 'displayName',
@ -38,42 +21,24 @@
id: 'id',
children: 'treeChildren',
multiple: true,
}"
clearable
filterable
size="small"
collapse-tags
>
}" clearable filterable size="small" collapse-tags>
</el-cascader>
</div>
</div>
<div style="display: flex;flex-direction: column;justify-content: space-evenly;">
<div>
<el-button
type="primary"
class="commonbutton"
:style="[
{width:'40px'},
<el-button type="primary" class="commonbutton" :style="[
{ width: '40px' },
{ minWidth: '40px' },
{ height: '26px' },
{
backgroundColor: isSignIn == 'N' ? 'red' : '',
}
]"
:disabled="isSignIn=='Y'"
@click="btnIsSignIn('0')"
>签到</el-button
>
]" :disabled="isSignIn == 'Y'" @click="btnIsSignIn('0')">签到</el-button>
</div>
<div>
<el-button
type="primary"
class="commonbutton"
style="width: 40px; min-width: 40px; height: 26px"
:disabled="isSignIn=='N'"
@click="btnIsSignIn('1')"
>签退</el-button
>
<el-button type="primary" class="commonbutton" style="width: 40px; min-width: 40px; height: 26px"
:disabled="isSignIn == 'N'" @click="btnIsSignIn('1')">签退</el-button>
</div>
</div>
</div>
@ -84,33 +49,11 @@
</div>
-->
<div style="display: flex">
<el-table
:data="waitDetail"
style="width: 100%"
border
highlight-current-row
@row-click="rowClickWait"
:row-style="{ height: '28px' }"
:height="Math.floor((tableHeight - 72) / 3)"
>
<el-table-column
prop="queueRegisterNumber"
label="号"
min-width="30"
align="center"
/>
<el-table-column
prop="patientName"
label="姓名"
min-width="80"
align="center"
/>
<el-table-column
prop="isVip"
label="Vip"
min-width="40"
align="center"
>
<el-table :data="waitDetail" style="width: 100%" border highlight-current-row @row-click="rowClickWait"
:row-style="{ height: '28px' }" :height="Math.floor((tableHeight - 72) / 3)">
<el-table-column prop="queueRegisterNumber" label="号" min-width="30" align="center" />
<el-table-column prop="patientName" label="姓名" min-width="80" align="center" />
<el-table-column prop="isVip" label="Vip" min-width="40" align="center">
<template slot-scope="scope">
<div style="font-family: 'Microsoft YaHei'">
{{ scope.row.isVip == "Y" ? "√" : "" }}
@ -120,68 +63,30 @@
</el-table>
<div style="margin-top: 20px">
<div>
<el-button
type="primary"
class="commonbutton"
@click="btnCall(waitRow.queueRegisterId, '1')"
style="width: 40px; min-width: 40px; height: 26px"
>呼叫</el-button
>
<el-button type="primary" class="commonbutton" @click="btnCall(waitRow.queueRegisterId, '1')"
style="width: 40px; min-width: 40px; height: 26px">呼叫</el-button>
</div>
<div style="margin: 10px 0">
<el-button
type="primary"
class="commonbutton"
@click="
getQueueRegisterList(
LocalConfig.doctorCheck.queueRoom,
LocalConfig.doctorCheck.queueItemTypeIds
)
"
style="width: 40px; min-width: 40px; height: 26px"
>刷新</el-button
>
<el-button type="primary" class="commonbutton" @click="
getQueueRegisterList(
LocalConfig.doctorCheck.queueRoom,
LocalConfig.doctorCheck.queueItemTypeIds
)
" style="width: 40px; min-width: 40px; height: 26px">刷新</el-button>
</div>
<div>
<el-button
type="primary"
class="commonbutton"
@click="fnQueue"
style="width: 40px; min-width: 40px; height: 26px"
>排队</el-button
>
<el-button type="primary" class="commonbutton" @click="fnQueue"
style="width: 40px; min-width: 40px; height: 26px">排队</el-button>
</div>
</div>
</div>
<div style="margin-top: 6px">已呼人员</div>
<div style="display: flex">
<el-table
:data="alreadyCalledDetail"
style="width: 100%"
border
highlight-current-row
@row-click="rowClickAlready"
:row-style="{ height: '28px' }"
:height="Math.floor((tableHeight - 72) / 3)"
>
<el-table-column
prop="queueRegisterNumber"
label="号"
min-width="30"
align="center"
/>
<el-table-column
prop="patientName"
label="姓名"
min-width="80"
align="center"
/>
<el-table-column
prop="isVip"
label="Vip"
min-width="40"
align="center"
>
<el-table :data="alreadyCalledDetail" style="width: 100%" border highlight-current-row
@row-click="rowClickAlready" :row-style="{ height: '28px' }" :height="Math.floor((tableHeight - 72) / 3)">
<el-table-column prop="queueRegisterNumber" label="号" min-width="30" align="center" />
<el-table-column prop="patientName" label="姓名" min-width="80" align="center" />
<el-table-column prop="isVip" label="Vip" min-width="40" align="center">
<template slot-scope="scope">
<div style="font-family: 'Microsoft YaHei'">
{{ scope.row.isVip == "Y" ? "√" : "" }}
@ -191,45 +96,18 @@
</el-table>
<div style="margin-top: 20px">
<div>
<el-button
type="primary"
class="commonbutton"
@click="btnCall(alreadyRow, '2')"
style="width: 40px; min-width: 40px; height: 26px"
>过号</el-button
>
<el-button type="primary" class="commonbutton" @click="btnCall(alreadyRow, '2')"
style="width: 40px; min-width: 40px; height: 26px">过号</el-button>
</div>
</div>
</div>
<div style="margin-top: 6px">过号人员</div>
<div style="display: flex">
<el-table
:data="overNumberDetail"
style="width: 100%"
border
highlight-current-row
@row-click="rowClickOver"
:row-style="{ height: '28px' }"
:height="Math.floor((tableHeight - 72) / 3)"
>
<el-table-column
prop="queueRegisterNumber"
label="号"
min-width="30"
align="center"
/>
<el-table-column
prop="patientName"
label="姓名"
min-width="80"
align="center"
/>
<el-table-column
prop="isVip"
label="Vip"
min-width="40"
align="center"
>
<el-table :data="overNumberDetail" style="width: 100%" border highlight-current-row @row-click="rowClickOver"
:row-style="{ height: '28px' }" :height="Math.floor((tableHeight - 72) / 3)">
<el-table-column prop="queueRegisterNumber" label="号" min-width="30" align="center" />
<el-table-column prop="patientName" label="姓名" min-width="80" align="center" />
<el-table-column prop="isVip" label="Vip" min-width="40" align="center">
<template slot-scope="scope">
<div style="font-family: 'Microsoft YaHei'">
{{ scope.row.isVip == "Y" ? "√" : "" }}
@ -239,22 +117,12 @@
</el-table>
<div style="margin-top: 20px">
<div>
<el-button
type="primary"
class="commonbutton"
@click="btnCall(overRow, '9')"
style="width: 40px; min-width: 40px; height: 26px"
>重呼</el-button
>
<el-button type="primary" class="commonbutton" @click="btnCall(overRow, '9')"
style="width: 40px; min-width: 40px; height: 26px">重呼</el-button>
</div>
<div style="margin: 10px 0">
<el-button
type="primary"
class="commonbutton"
@click="btnCall(overRow, '0')"
style="width: 40px; min-width: 40px; height: 26px"
>退回</el-button
>
<el-button type="primary" class="commonbutton" @click="btnCall(overRow, '0')"
style="width: 40px; min-width: 40px; height: 26px">退回</el-button>
</div>
</div>
</div>
@ -263,13 +131,8 @@
<!--组件弹窗-->
<div>
<!-- 修改信息 -->
<el-dialog
title="分诊排队"
:visible.sync="dialogWin.queue"
width="800px"
:append-to-body="true"
:close-on-click-modal="false"
>
<el-dialog title="分诊排队" :visible.sync="dialogWin.queue" width="800px" :append-to-body="true"
:close-on-click-modal="false">
<Queue :refParams="queueParams" />
</el-dialog>
</div>
@ -312,15 +175,16 @@ export default {
},
LocalConfigInit: {},
interval: null, //
queue_after_call: 'N', //
queue_refresh_interval: 15, // ()
queue_play_voice_repeate_times: 2, //
queue_play_voice_repeate_interval: 1, // ()
isSignIn:"N"//
isSignIn: "N"//
};
},
created() {},
created() { },
//
mounted() {
@ -396,6 +260,17 @@ export default {
console.log(error);
}
//
try {
let sysParam = await postapi(
"/api/app/SysParmValue/GetSysParmValueBySysParmId",
{ sysParmId: "queue_after_call" }
);
this.queue_after_call = sysParam.data;
} catch (error) {
console.log(error);
}
//
if (this.$peisAPI) {
postapi("/api/app/SysParmValue/GetSysParmValueBySysParmId", {
@ -493,6 +368,10 @@ export default {
this.LocalConfig.doctorCheck.queueItemTypeIds
);
if (this.$peisAPI && completeFlag == "1") this.outShellCall(row);
if (this.queue_after_call == 'Y') return postapi('/api/app/QueueRegister/AutomaticQueuingRoom', {
patientRegisterId: row.patientRegisterId
})
}
});
} else if (completeFlag == "9") {
@ -550,16 +429,16 @@ export default {
});
});
},
btnIsSignIn(signInFlag){
postapi("/api/app/RegisterCheck/CreateDoctorSignIn",{
roomId:this.LocalConfig.doctorCheck.queueRoom,
signInFlag:signInFlag
}).then((res)=>{
if(res.code!=-1){
if(signInFlag=='0'){
this.isSignIn='Y'
}else{
this.isSignIn='N'
btnIsSignIn(signInFlag) {
postapi("/api/app/RegisterCheck/CreateDoctorSignIn", {
roomId: this.LocalConfig.doctorCheck.queueRoom,
signInFlag: signInFlag
}).then((res) => {
if (res.code != -1) {
if (signInFlag == '0') {
this.isSignIn = 'Y'
} else {
this.isSignIn = 'N'
}
}
})
@ -612,10 +491,10 @@ export default {
this.$message.warning({ showClose: true, message: "请选择房间" });
return;
}
postapi("/api/app/RegisterCheck/GetDoctorIsSignIn",{
roomId:roomId
}).then((res)=>{
this.isSignIn=res.data.isSignIn
postapi("/api/app/RegisterCheck/GetDoctorIsSignIn", {
roomId: roomId
}).then((res) => {
this.isSignIn = res.data.isSignIn
})
this.getQueueRegisterList(
roomId,
@ -645,9 +524,6 @@ export default {
return;
}
this.queueParams = {
patientRegisterId: this.queueParams.patientRegisterId,
};
this.dataTransOpts.plus.queue++;
this.dialogWin.queue = true;
},
@ -655,6 +531,9 @@ export default {
//
rowClickWait(row) {
this.waitRow = row;
this.queueParams = {
patientRegisterId: row.patientRegisterId,
};
},
//

1
src/components/queue/Queue.vue

@ -238,6 +238,7 @@ export default {
//
btnQueueAuto() {
console.log('this.refParams.patientRegisterId',this.refParams.patientRegisterId)
if (!this.refParams.patientRegisterId) {
this.$message.warning({ showClose: true, message: '未获取到人员信息' })
return

Loading…
Cancel
Save