|
|
|
@ -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, |
|
|
|
}; |
|
|
|
}, |
|
|
|
|
|
|
|
// 选择过号人员 |
|
|
|
|