|
|
@@ -43,7 +43,8 @@
|
|
|
<el-table-column label="送出时间" prop="applyDate"></el-table-column>
|
|
|
<el-table-column label="手术间" prop="roomName" width="80">
|
|
|
<template #default="scope">
|
|
|
- <el-select v-model="scope.row.roomCode" @change="(roomCode) => handleArrangementChange(scope.row.recordId, 'room_code', roomCode)">
|
|
|
+ <el-select v-model="scope.row.roomCode" @focus="handleSelectionFocus(scope.row, 'roomCode')"
|
|
|
+ @change="(roomCode) => handleSelectionChange(scope.row.recordId, 'room_code', roomCode)">
|
|
|
<el-option v-for="item in allRooms" :value="item.code" :label="item.name" :disabled="item.statusFlag === 2"></el-option>
|
|
|
</el-select>
|
|
|
</template>
|
|
|
@@ -64,14 +65,16 @@
|
|
|
</el-table-column>
|
|
|
<el-table-column label="器械护士" width="60">
|
|
|
<template #default="scope">
|
|
|
- <el-select v-model="scope.row.nurseQx" filterable @change="(nurseQx) => handleArrangementChange(scope.row.recordId, 'nurse_qx', nurseQx)">
|
|
|
+ <el-select v-model="scope.row.nurseQx" filterable @focus="handleSelectionFocus(scope.row, 'nurseQx')"
|
|
|
+ @change="(nurseQx) => handleSelectionChange(scope.row.recordId, 'nurse_qx', nurseQx)">
|
|
|
<el-option v-for="item in allStaffs" :value="item.code" :label="item.name"></el-option>
|
|
|
</el-select>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="巡回护士" width="60">
|
|
|
<template #default="scope">
|
|
|
- <el-select v-model="scope.row.nurseXh" filterable @change="(nurseXh) => handleArrangementChange(scope.row.recordId, 'nurse_xh', nurseXh)">
|
|
|
+ <el-select v-model="scope.row.nurseXh" filterable @focus="handleSelectionFocus(scope.row, 'nurseXh')"
|
|
|
+ @change="(nurseXh) => handleSelectionChange(scope.row.recordId, 'nurse_xh', nurseXh)">
|
|
|
<el-option v-for="item in allStaffs" :value="item.code" :label="item.name"></el-option>
|
|
|
</el-select>
|
|
|
</template>
|
|
|
@@ -108,7 +111,8 @@
|
|
|
</el-table-column>
|
|
|
<el-table-column label="体外标志">
|
|
|
<template #default="scope">
|
|
|
- <el-select v-model="scope.row.twFlag" @change="(twFlag) => handleArrangementChange(scope.row.recordId, 'tw_flag', twFlag)">
|
|
|
+ <el-select v-model="scope.row.twFlag" @focus="handleSelectionFocus(scope.row, 'twFlag')"
|
|
|
+ @change="(twFlag) => handleSelectionChange(scope.row.recordId, 'tw_flag', twFlag)">
|
|
|
<el-option label="否" value="0"></el-option>
|
|
|
<el-option label="是" value="1"></el-option>
|
|
|
</el-select>
|
|
|
@@ -251,14 +255,38 @@ const beforeSearch = (row) => {
|
|
|
showSearch = true
|
|
|
}
|
|
|
const handleClickSearchResult = (item) => {
|
|
|
- currentRow.doctorZd = item.code
|
|
|
- currentRow.doctorZdName = item.name
|
|
|
showSearch = false
|
|
|
- handleArrangementChange(currentRow.recordId, currentKey, item.code)
|
|
|
+ handleArrangementChange(currentRow.recordId, currentKey, item.code).then(() => {
|
|
|
+ currentRow.doctorZd = item.code
|
|
|
+ currentRow.doctorZdName = item.name
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+const oldSelection = reactive({
|
|
|
+ key: '',
|
|
|
+ val: ''
|
|
|
+})
|
|
|
+const handleSelectionFocus = (row, key) => {
|
|
|
+ currentRow = row
|
|
|
+ oldSelection.key = key
|
|
|
+ oldSelection.val = row[key]
|
|
|
+}
|
|
|
+
|
|
|
+const handleSelectionChange = (orderId, key, value) => {
|
|
|
+ handleArrangementChange(orderId, key, value).then(() => {
|
|
|
+ }).catch(() => {
|
|
|
+ currentRow[oldSelection.key] = oldSelection.val
|
|
|
+ })
|
|
|
}
|
|
|
|
|
|
const handleArrangementChange = (orderId, key, value) => {
|
|
|
- updateArrangement(orderId, key, value)
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
+ updateArrangement(orderId, key, value).then(() => {
|
|
|
+ resolve()
|
|
|
+ }).catch(() => {
|
|
|
+ reject()
|
|
|
+ })
|
|
|
+ })
|
|
|
}
|
|
|
|
|
|
const doctorAdvise = (row) => {
|