pengjun 1 year ago
parent
commit
0561f32c1c
  1. 31
      src/components/doctorCheck/PatientRegisterList.vue
  2. 374
      src/components/doctorCheck/QueueCheckList.vue
  3. 62
      src/components/patientRegister/PatientRegisterList.vue
  4. 58
      src/components/queue/Queue.vue
  5. 2
      src/components/room/RoomEdit.vue
  6. 5
      src/store/index.js
  7. 27
      src/views/doctorCheck/doctorCheck.vue

31
src/components/doctorCheck/PatientRegisterList.vue

@ -30,11 +30,18 @@
</div>
<div class="query">
<span>体检类别</span>
<el-select v-model="local.query.medicalTypeIds" placeholder="请选择" clearable filterable
style="width: 200px" size="small" multiple collapse-tags>
<el-select v-model="local.query.medicalTypeIds" placeholder="请选择" clearable filterable style="width: 207px"
size="small" multiple collapse-tags>
<el-option v-for="item in dict.medicalType" :key="item.id" :label="item.displayName" :value="item.id" />
</el-select>
</div>
<div class="query">
<span>{{ win == 'doctorCheck' ? '检查' : '总检' }}医生</span>
<el-select v-model="local.query.checkDoctorIds" placeholder="快速选择组合项目" size="small" filterable clearable
style="width:207px;text-align: left;" multiple collapse-tags>
<el-option v-for="item in users" :key="item.id" :value="item.id" :label="item.surname" />
</el-select>
</div>
<div class="query">
<span>人员状态</span>
<el-select v-model="local.query.completeFlag" placeholder="请选择" clearable style="width: 80px" size="small">
@ -48,7 +55,6 @@
</el-select>
<el-checkbox v-if="win == 'doctorCheck'" v-model="local.query.haveImage">有图</el-checkbox>
</div>
<div class="query" v-if="win == 'doctorCheck'">
<span>组合项目</span>
<el-select v-model="local.query.checkAsb" placeholder="快速选择组合项目" size="small" filterable
@ -238,7 +244,8 @@ export default {
checkAsb: '', //
checkCompleteFlag: '', //
isAuditCheck: '', //
medicalTypeIds:[]
medicalTypeIds: [],
checkDoctorIds:[],
},
completeFlag: []
@ -258,6 +265,7 @@ export default {
oneClick: 0, // 1
DbClick: 0, // 1
users: [],
};
},
@ -276,9 +284,9 @@ export default {
...mapState(["window", "dataTransOpts", "dict", "customerOrg", "patientRegister", "doctorCheck", "sumDoctorCheck", "report"]),
divHeight() {
if (this.win == "doctorCheck") {
return 202
return 240
} else {
return 137
return 170
}
},
tableHeight() {
@ -322,6 +330,16 @@ export default {
}
});
//
let operatorTypes = ["2", "3"]
if (this.win == 'doctorCheck') operatorTypes = ["1", "3"]
postapi('/api/identity/users/GetListByOperatorType', { operatorTypes })
.then(res => {
if (res.code > -1) {
this.users = res.data
}
})
this.local.completeFlag = deepCopy(this.dict.completeFlag)
this.local.completeFlag.splice(0, 1) //
this.local.completeFlag.splice(2, 0, { id: '5', displayName: '全部已检(未总检)' }) //
@ -453,6 +471,7 @@ export default {
if (this.local.query.checkCompleteFlag) body.asbitemCompleteFlag = this.local.query.checkCompleteFlag
if (this.local.query.isAuditCheck) body.asbitemIsAudit = this.local.query.isAuditCheck
body.medicalTypeIds = this.local.query.medicalTypeIds
body.checkDoctorIds = this.local.query.checkDoctorIds
body.isFilterPreRegistration = 'Y' // Y= N= N (CompleteFlag0null)
// "patientName": "string",

374
src/components/doctorCheck/QueueCheckList.vue

@ -1,131 +1,170 @@
<template>
<div :style="`height: ${tableHeight}px;font-size:14px;z-index:10;background-color: #f4f8ff;`">
<div>
<span>候诊人员</span>
<el-input placeholder="候诊人员" v-model="patientName" size="small" style="width: 125px;" clearable />
</div>
<div style="display: flex;">
<el-table :data="queue1" style="width: 100%;" border highlight-current-row @row-click="rowClick"
:row-style="{ height: '28px' }" :height="Math.floor((tableHeight - 72) / 3)">
<el-table-column prop="seq" label="号" min-width="30">
<template slot-scope="scope">
<div :style="`padding: 0 5px;color: ${setCheckStatusColor(scope.row.completeFlag)};`">
{{ scope.row.asbitemName }}
</div>
</template>
</el-table-column>
<el-table-column prop="patientName" label="姓名" min-width="80" />
<el-table-column prop="vip" label="vip" min-width="40" />
</el-table>
<div style="margin-top: 20px;">
<div>
<el-button type="primary" class="commonbutton" @click="refuseItem"
style="width: 40px;min-width: 40px;height: 26px;">呼叫</el-button>
</div>
<div style="margin: 10px 0;">
<el-button type="primary" class="commonbutton" @click="refuseItem"
style="width: 40px;min-width: 40px;height: 26px;">刷新</el-button>
</div>
<div>
<el-button type="primary" class="commonbutton" @click="refuseItem"
style="width: 40px;min-width: 40px;height: 26px;">排队</el-button>
</div>
<div>
<!--组件主体-->
<div :style="`height: ${tableHeight}px;font-size:14px;z-index:10;background-color: #f4f8ff;`">
<div>
<span>分诊房间</span>
<el-select v-model="roomId" placeholder="分诊房间" clearable filterable style="width: 125px" size="small"
@change="getQueueRegisterListByRoomId">
<el-option v-for="item in dict.room" :key="item.id" :label="item.displayName" :value="item.id" />
</el-select>
</div>
</div>
<div style="margin-top: 6px;">已呼人员</div>
<div style="display: flex;">
<el-table :data="queue1" style="width: 100%;" border highlight-current-row @row-click="rowClick"
:row-style="{ height: '28px' }" :height="Math.floor((tableHeight - 72) / 3)">
<el-table-column prop="seq" label="号" min-width="30">
<template slot-scope="scope">
<div :style="`padding: 0 5px;color: ${setCheckStatusColor(scope.row.completeFlag)};`">
{{ scope.row.asbitemName }}
</div>
</template>
</el-table-column>
<el-table-column prop="patientName" label="姓名" min-width="80" />
<el-table-column prop="vip" label="vip" min-width="40" />
</el-table>
<div style="margin-top: 20px;">
<div>
<el-button type="primary" class="commonbutton" @click="refuseItem"
style="width: 40px;min-width: 40px;height: 26px;">过号</el-button>
</div>
<div>
<span>候诊人员</span>
<el-input placeholder="候诊人员" v-model="patientName" size="small" style="width: 125px;" clearable />
</div>
</div>
<div style="margin-top: 6px;">过号人员</div>
<div style="display: flex;">
<el-table :data="queue1" style="width: 100%;" border highlight-current-row @row-click="rowClick"
:row-style="{ height: '28px' }" :height="Math.floor((tableHeight - 72) / 3)">
<el-table-column prop="seq" label="号" min-width="30">
<template slot-scope="scope">
<div :style="`padding: 0 5px;color: ${setCheckStatusColor(scope.row.completeFlag)};`">
{{ scope.row.asbitemName }}
</div>
</template>
</el-table-column>
<el-table-column prop="patientName" label="姓名" min-width="80" />
<el-table-column prop="vip" label="vip" min-width="40" />
</el-table>
<div style="margin-top: 20px;">
<div>
<el-button type="primary" class="commonbutton" @click="refuseItem"
style="width: 40px;min-width: 40px;height: 26px;">重呼</el-button>
<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="vip" label="vip" min-width="40" align="center">
<template slot-scope="scope">
<div style="font-family: 'Microsoft YaHei';">
{{ scope.row.vip == 'Y' ? '√' : '' }}
</div>
</template>
</el-table-column>
</el-table>
<div style="margin-top: 20px;">
<div>
<el-button type="primary" class="commonbutton" @click="btnCall(waitQueueRegisterId,'1')"
style="width: 40px;min-width: 40px;height: 26px;">呼叫</el-button>
</div>
<div style="margin: 10px 0;">
<el-button type="primary" class="commonbutton" @click="getQueueRegisterListByRoomId(roomId)"
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>
</div>
</div>
<div style="margin: 10px 0;">
<el-button type="primary" class="commonbutton" @click="refuseItem"
style="width: 40px;min-width: 40px;height: 26px;">退回</el-button>
</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="vip" label="vip" min-width="40" align="center">
<template slot-scope="scope">
<div style="font-family: 'Microsoft YaHei';">
{{ scope.row.vip == 'Y' ? '√' : '' }}
</div>
</template>
</el-table-column>
</el-table>
<div style="margin-top: 20px;">
<div>
<el-button type="primary" class="commonbutton" @click="btnCall(alreadyQueueRegisterId,'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="vip" label="vip" min-width="40" align="center">
<template slot-scope="scope">
<div style="font-family: 'Microsoft YaHei';">
{{ scope.row.vip == 'Y' ? '√' : '' }}
</div>
</template>
</el-table-column>
</el-table>
<div style="margin-top: 20px;">
<div>
<el-button type="primary" class="commonbutton" @click="btnCall(overQueueRegisterId,'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(overQueueRegisterId,'1')"
style="width: 40px;min-width: 40px;height: 26px;">退回</el-button>
</div>
</div>
</div>
</div>
<!--组件弹窗-->
<div>
<!-- 修改信息 -->
<el-dialog title="分诊排队" :visible.sync="dialogWin.queue" width="800px" :append-to-body="true"
:close-on-click-modal="false">
<Queue :refParams="queueParams" />
</el-dialog>
</div>
</div>
</template>
<script>
import { mapState } from 'vuex';
import { getapi, postapi, putapi, deletapi } from "@/api/api";
import { listOrderBy, setCheckStatusColor } from "../../utlis/proFunc"
import { listOrderBy, setCheckStatusColor, deepCopy } from "../../utlis/proFunc"
import Queue from "../../components/queue/Queue.vue";
export default {
components: {},
components: {
Queue
},
data() {
return {
queueParams: {},
patientName: '',
queue1: [{ patientName: '张三' }],
queue2: [],
queue3: [],
activeNames: ['0', '1', '2', '3'],
waitDetail: [],
alreadyCalledDetail: [],
overNumberDetail: [],
waitQueueRegisterId: '',
alreadyQueueRegisterId: '',
overQueueRegisterId: '',
roomId: '', //
LocalConfig: {
doctorCheck: { //
queueRoom: '', //
}
},
LocalConfigInit: {}
};
},
created() { },
created() {
},
//
mounted() {
this.registerCheckList(this.dataTransOpts.tableS.patient_register.id)
this.dictInit().then(res => {
if (!this.roomId) {
this.LocalConfigInit = deepCopy(this.LocalConfig)
let LocalConfig = window.localStorage.getItem("LocalConfig") || null
try {
this.LocalConfig = Object.assign({}, this.LocalConfigInit, JSON.parse(LocalConfig) || {})
this.roomId = this.LocalConfig.doctorCheck.queueRoom
} catch (error) {
console.log('window.localStorage.getItem("LocalConfig")', error)
}
}
if (!this.roomId) {
if (res.data.length > 0) this.roomId = res.data[0].id
}
if (this.roomId) this.getQueueRegisterListByRoomId(this.roomId)
})
this.setQueueParams()
},
computed: {
...mapState(['window', 'dataTransOpts', 'dict', 'doctorCheck']),
...mapState(['window', 'dialogWin', 'dataTransOpts', 'dict', 'doctorCheck']),
tableHeight() {
return this.window.pageHeight < 600 ? 400 : this.window.pageHeight - 200
},
registerCheckList0() {
return this.doctorCheck.RegisterCheckList.filter(e => { return e.checkTypeFlag == '0' })
},
registerCheckList1() {
return this.doctorCheck.RegisterCheckList.filter(e => { return e.checkTypeFlag == '1' })
},
registerCheckList2() {
return this.doctorCheck.RegisterCheckList.filter(e => { return e.checkTypeFlag == '2' })
},
registerCheckList3() {
return this.doctorCheck.RegisterCheckList.filter(e => { return e.checkTypeFlag == '3' })
},
},
methods: {
@ -141,65 +180,123 @@ export default {
return '';
},
refuseItem() {
btnCall(queueRegisterId, completeFlag) {
switch (completeFlag) {
case "0": // 退
if (!queueRegisterId) this.$message.warning({ showClose: true, message: '请选择过号人员' })
break;
case "1": //
if (!queueRegisterId) this.$message.warning({ showClose: true, message: '请选择候诊人员' })
break;
case "2": //
if (!queueRegisterId) this.$message.warning({ showClose: true, message: '请选择已呼人员' })
break;
case "9": //
if (!queueRegisterId) this.$message.warning({ showClose: true, message: '请选择过号人员' })
break;
}
if (queueRegisterId && completeFlag != '9') {
postapi('/api/app/QueueRegister/UpdateQueueRegisterStatus', { queueRegisterId, completeFlag })
.then(res => {
if (res.code > -1) {
this.getQueueRegisterListByRoomId(this.roomId)
}
})
}
},
//
rowClick(row) {
console.log('rowClick')
this.doctorCheck.RegisterCheckId = row.id
this.dataTransOpts.tableS.register_check.id = row.id
this.dataTransOpts.refresh.register_check.S++
this.dataTransOpts.refresh.register_check_item.M++
refuseItem() {
},
//
registerCheckList(patientRegisterId) {
if (!patientRegisterId) {
this.doctorCheck.RegisterCheckList = []
this.doctorCheck.RegisterCheckId = ''
this.dataTransOpts.tableS.register_check.id = ''
dictInit() {
return new Promise((resolve, reject) => {
postapi('/api/app/Room/GetList')
.then((res) => {
if (res.code > -1) {
this.dict.room = res.data
// this.tableData = res.data.filter(e => {
// return medicalCenterId ? (e.medicalCenterId == medicalCenterId) : e
// });
resolve(res)
} else {
reject(res.message)
}
})
.catch(err => {
reject(err)
});
})
},
this.dataTransOpts.refresh.register_check.S++
this.dataTransOpts.refresh.register_check_item.M++
return
}
postapi('/api/app/RegisterCheck/GetRegisterCheckWithAsbitems', { patientRegisterId })
.then((res) => {
// console.log("registerCheckList res.data", res.data);
if (res.code != -1) {
//
this.handleRegisterCheckList(res.data)
//
getQueueRegisterListByRoomId(roomId) {
return new Promise((resolve, reject) => {
if (!roomId) reject('请选择房间')
// 1
if (res.data.length > 0) {
this.doctorCheck.RegisterCheckId = res.data[0].id
this.dataTransOpts.tableS.register_check.id = res.data[0].id
this.waitDetail = []
this.alreadyCalledDetail = []
this.overNumberDetail = []
// this.doctorCheck.RegisterCheckEdit = res.data[0]
this.waitQueueRegisterId = ''
this.alreadyQueueRegisterId = ''
this.overQueueRegisterId = ''
// this.$refs['doctorCheck_RegisterCheckList'].setCurrentRow(res.data[0])
postapi('/api/app/QueueRegister/GetQueueRegisterListByRoomId', { roomId })
.then(res => {
if (res.code > -1) {
this.waitDetail = res.data.waitDetail
this.alreadyCalledDetail = res.data.alreadyCalledDetail
this.overNumberDetail = res.data.overNumberDetail
resolve(res)
} else {
this.dataTransOpts.tableS.register_check.id = ''
reject(res.message)
}
})
.catch(err => {
reject(err)
})
})
},
setQueueParams() {
this.queueParams.patientRegisterId = this.dataTransOpts.tableS.patient_register.id
},
//
fnQueue() {
if (!this.queueParams.patientRegisterId) {
this.$message.warning({ showClose: true, message: '未获取到人员信息' })
return
}
this.queueParams = {
patientRegisterId: this.queueParams.patientRegisterId
}
this.dataTransOpts.plus.queue++
this.dialogWin.queue = true
},
this.dataTransOpts.refresh.register_check.S++ //
this.dataTransOpts.refresh.register_check_item.M++ //
//
rowClickWait(row) {
this.waitQueueRegisterId = row.queueRegisterId
},
}
})
.catch((err) => {
this.$message.error({ showClose: true, message: `操作失败,原因:${err}` });
});
//
rowClickAlready(row) {
this.alreadyQueueRegisterId = row.queueRegisterId
},
handleRegisterCheckList(registerCheckList) {
this.doctorCheck.RegisterCheckList = listOrderBy(registerCheckList, [{ colName: 'checkTypeFlag', sortType: 'A' }, { colName: 'itemTypeDisplayOrder', sortType: 'A' }, { colName: 'asbitemDisplayOrder', sortType: 'A' }])
//
rowClickOver(row) {
this.overQueueRegisterId = row.queueRegisterId
},
}
},
@ -210,7 +307,10 @@ export default {
// immediate:true,
handler(newVal, oldVal) {
console.log(`watch 组合项目列表 newVal: ${newVal} oldVal: ${oldVal} patient_register.id: ${this.dataTransOpts.tableS.patient_register.id}`);
this.registerCheckList(this.dataTransOpts.tableS.patient_register.id)
if (newVal != oldVal) {
this.dictInit()
this.setQueueParams()
}
}
},
}

62
src/components/patientRegister/PatientRegisterList.vue

@ -83,7 +83,8 @@
{{ scope.row[dragCol[index].prop] + '_' }}
</div>
<div v-else-if="dragCol[index].prop == 'customerOrgName'">
{{ scope.row[dragCol[index].prop] == scope.row['customerOrgParentName'] ? '':scope.row[dragCol[index].prop] }}
{{ scope.row[dragCol[index].prop] == scope.row['customerOrgParentName'] ?
'' : scope.row[dragCol[index].prop] }}
</div>
<div v-else>
{{ scope.row[dragCol[index].prop] }}
@ -233,9 +234,9 @@
</el-dialog>
<!-- 修改信息 -->
<el-dialog title="分诊排队" :visible.sync="dialogWin.queue" width="800px"
:append-to-body="true" :close-on-click-modal="false">
<Queue :refParams="queueParams"/>
<el-dialog title="分诊排队" :visible.sync="dialogWin.queue" width="800px" :append-to-body="true"
:close-on-click-modal="false">
<Queue :refParams="queueParams" />
</el-dialog>
<!-- 拍照 -->
@ -416,7 +417,7 @@ export default {
patientRegisterId: ""
},
queueParams:{}, //
queueParams: {}, //
};
},
@ -865,15 +866,15 @@ export default {
this.multipleSelection.forEach(e => {
switch (completeFlag) {
case '0':
if(e.completeFlag == '1') patientRegisterIds.push(e.id)
break;
if (e.completeFlag == '1') patientRegisterIds.push(e.id)
break;
case '1':
if(e.completeFlag == '0') patientRegisterIds.push(e.id)
if (e.completeFlag == '0') patientRegisterIds.push(e.id)
break;
}
}
});
if(patientRegisterIds.length == 0){
if (patientRegisterIds.length == 0) {
this.$message.info({ showClose: true, message: "没有可操作的数据!" });
return;
}
@ -1203,9 +1204,9 @@ export default {
},
//
fnQueue(row){
fnQueue(row) {
this.queueParams = {
patientRegisterId:row.id
patientRegisterId: row.id
}
this.dataTransOpts.plus.queue++
this.dialogWin.queue = true
@ -1307,6 +1308,13 @@ export default {
this.importResult('lis', row);
},
})
if (checkPagePriv(this.pagePriv.privs, '批量更新组合项目明细'))
items.push({
label: "批量更新组合项目明细",
onClick: () => {
this.btnItemBatch();
},
})
items.push({ label: "----------------", })
this.$contextmenu({
items,
@ -1345,7 +1353,7 @@ export default {
},
//
//
btnAsbBatch() {
let customerOrgId = this.patientRegister.query.customerOrgId;
if (!customerOrgId) {
@ -1367,6 +1375,34 @@ export default {
this.dataTransOpts.plus.PatientRegisterEditItemBatch++ //
this.dialogWin.PatientRegisterEditItemBatch = true;
},
//
async btnItemBatch() {
if (this.multipleSelection.length < 1) {
this.$message.warning({ showClose: true, message: "请选择要操作的记录" })
return
}
this.elProgress.display = true;
this.elProgress.percentage = 0;
for (let i = 0; i < this.multipleSelection.length; i++) {
let patientRegisterId = this.multipleSelection[i].id
try {
await postapi('/api/app/RegisterCheckItem/SyncRegisterCheckItem', { patientRegisterId })
} catch (error) {
console.log('printPromise', error)
}
this.elProgress.percentage = Math.floor(
((i + 1) * 100) / this.multipleSelection.length
);
}
this.elProgress.display = false;
},
//

58
src/components/queue/Queue.vue

@ -27,22 +27,17 @@
</div>
</template>
</el-table-column>
<el-table-column label="房间" prop="standardPrice" min-width="60" align="center" />
<el-table-column label="状态" prop="discount" min-width="60">
<el-table-column label="房间" prop="roomName" min-width="60" align="center" />
<el-table-column label="状态" prop="completeFlag" min-width="60" align="center">
<template slot-scope="scope">
<el-input type="number" v-model="scope.row.discount" size="small" disabled />
</template>
</el-table-column>
<el-table-column label="排号人" prop="amount" min-width="80">
<template slot-scope="scope">
<el-select v-model="scope.row.payTypeFlag" size="small" disabled>
<el-option v-for="item in dict.payType" :key="item.id" :label="item.displayName" :value="item.id" />
</el-select>
<div>{{ dddw(dict.queueFlag,'id',scope.row.completeFlag,'displayName') }}</div>
</template>
</el-table-column>
<el-table-column label="排号人" prop="triageName" min-width="80" align="center"/>
</el-table>
</div>
<div style="width: 150px;">
<div style="width: 120px;">
<div>房间</div>
<el-table :data="roomsForAsbitem" border style="width: 100%" row-key="id" height="270" highlight-current-row
size="small" @row-click="rowClickRoom" ref="roomsForAsbitem">
@ -55,11 +50,11 @@
<el-button class="commonbutton" @click="btnQueueAuto">自动排队</el-button>
</div>
<div style="margin: 10px 0;">当前排队房间</div>
<div style="height: 40px;margin-left: 40px;">
<div style="height: 40px;margin-left: 20px;">
{{ queueRegister.roomName }}
</div>
<div style="margin: 5px 0;">当前候诊人数</div>
<div style="height: 50px;margin-left: 40px;">
<div style="height: 50px;margin-left: 20px;">
{{ queueRegister.queueCount }}
</div>
<div>
@ -116,6 +111,7 @@ export default {
},
methods: {
dddw,
funMounted() {
this.dictInit()
.then(res => {
@ -123,13 +119,12 @@ export default {
})
.catch(err => {
console.log(err)
this.$message.warning({ showClose: true, message: `${err}` })
this.$message.error({ showClose: true, message: `${err}` })
})
},
//
dictInit() {
return new Promise((resolve, reject) => {
let patientRegisterId = this.refParams.patientRegisterId // id
let medicalCenterId = window.sessionStorage.getItem('peisid');
@ -202,17 +197,44 @@ export default {
//
rowClickRoom(row) {
this.curRoomId = row.asbitemId
this.curRoomId = row.roomId
},
//
btnQueue() {
if (!this.refParams.patientRegisterId) {
this.$message.warning({ showClose: true, message: '未获取到人员信息' })
return
}
if (!this.curRoomId) {
this.$message.warning({ showClose: true, message: '请选择排队房间' })
return
}
postapi('/api/app/QueueRegister/ManualQueuingRoom', {
patientRegisterId: this.refParams.patientRegisterId,
roomId: this.curRoomId
}).then(res => {
if(res.code > -1){
this.$message.success({ showClose: true, message: '操作成功!' })
return this.dictInit()
}
})
},
//
btnQueueAuto() {
if (!this.refParams.patientRegisterId) {
this.$message.warning({ showClose: true, message: '未获取到人员信息' })
return
}
postapi('/api/app/QueueRegister/AutomaticQueuingRoom', {
patientRegisterId: this.refParams.patientRegisterId
}).then(res => {
if(res.code > -1){
this.$message.success({ showClose: true, message: '操作成功!' })
return this.dictInit()
}
})
},
},

2
src/components/room/RoomEdit.vue

@ -194,7 +194,7 @@ export default {
this.form.id = res.data.id
}
this.dataTransOpts.tableS.room.id = this.form.id
this.dialogWin.RommEdit = false
this.dialogWin.RoomEdit = false
}
})
});

5
src/store/index.js

@ -303,6 +303,11 @@ export default new Vuex.Store({
{ id: "0", displayName: "普通" },
{ id: "1", displayName: "采血室" }
],
queueFlag:[
{ id: "0", displayName: "候诊" },
{ id: "1", displayName: "已呼" },
{ id: "2", displayName: "过号" },
],
},
// 项目特有的对象数据 project private

27
src/views/doctorCheck/doctorCheck.vue

@ -26,7 +26,7 @@
<el-tab-pane label="组合项目" name="asbitem">
<RegisterCheckList />
</el-tab-pane>
<el-tab-pane label="叫号" name="call">
<el-tab-pane v-show="LocalConfig.doctorCheck.isQueue == 'Y'" label="叫号" name="call">
<QueueCheckList />
</el-tab-pane>
</el-tabs>
@ -62,7 +62,7 @@
<script>
import { mapState } from "vuex";
import { getapi, postapi, putapi, deletapi } from "@/api/api";
import { arrayExistObj, tcdate } from "../../utlis/proFunc";
import { arrayExistObj, tcdate, deepCopy } from "../../utlis/proFunc";
import { photoParse } from "../../utlis/proApi";
import PatientRegisterBase from "../../components/doctorCheck/PatientRegisterBase.vue";
@ -95,6 +95,8 @@ export default {
LocalConfig: {
doctorCheck: { //
isCheckPicture: false, //
isQueue: 'N', //
queueRoom: '', //
}
},
doctor_check_check_charge: 'Y', //
@ -103,6 +105,7 @@ export default {
created() {
// console.log("this.$route.query", this.$route.query)
if (this.$route.query.patient_register) {
this.dataTransOpts.tableS.patient_register = this.$route.query.patient_register
} else {
@ -111,6 +114,15 @@ export default {
this.peoplePhoto = ''
}
this.LocalConfigInit = deepCopy(this.LocalConfig)
let LocalConfig = window.localStorage.getItem("LocalConfig") || null
try {
this.LocalConfig = Object.assign({}, this.LocalConfigInit, JSON.parse(LocalConfig) || {})
} catch (error) {
console.log('window.localStorage.getItem("LocalConfig")', error)
}
if (this.$peisAPI) {
// this.$message.info("");
// console.log('this.$peisAPI',this.$peisAPI)
@ -119,17 +131,16 @@ export default {
if (res) this.isCheckPicture = res.toUpperCase() == 'Y' ? true : false
})
} else {
let LocalConfig = window.localStorage.getItem("LocalConfig") || null
try {
this.LocalConfig = Object.assign({}, this.LocalConfig, JSON.parse(LocalConfig) || {})
this.isCheckPicture = this.LocalConfig.doctorCheck.isCheckPicture
} catch (error) {
console.log('window.localStorage.getItem("LocalConfig")', error)
}
this.isCheckPicture = this.LocalConfig.doctorCheck.isCheckPicture
console.log('this.LocalConfig.doctorCheck.isCheckPicture', this.LocalConfig.doctorCheck.isCheckPicture)
}
},
//
@ -335,8 +346,8 @@ export default {
let operatorType = window.sessionStorage.getItem("operatorType")
if (operatorType == '2' || operatorType == '3') ret = false
return ret
case 'btnOcc':
console.log('patientRegister',patientRegister)
case 'btnOcc':
console.log('patientRegister', patientRegister)
if (patientRegister.isPatientOccupationalDisease && patientRegister.isPatientOccupationalDisease == 'Y') ret = false
return ret
}

Loading…
Cancel
Save