Sfoglia il codice sorgente

手术安排添加“术前访视”和"术前准备完善情况"

lighter 2 anni fa
parent
commit
de19c5dbbf

+ 4 - 4
src/api/surgical-management/surgery-arrangement.js

@@ -7,9 +7,9 @@ export function getDicList() {
     })
 }
 
-export function huoQuShouShuAnPaiXinXi(data) {
+export function selectSurgeryArrangements(data) {
     return request({
-        url: '/surgeryArrangement/huoQuShouShuAnPaiXinXi',
+        url: '/surgeryArrangement/selectSurgeryArrangements',
         method: 'post',
         data
     })
@@ -23,10 +23,10 @@ export function updateSurgeryStatus(recordId, status) {
     })
 }
 
-export function updateArrangement(recordId, key, value) {
+export function updateArrangement(recordId, column, value) {
     return request({
         url: '/surgeryArrangement/updateArrangement',
         method: 'get',
-        params: { recordId, key, value }
+        params: { recordId, column, value }
     })
 }

+ 48 - 20
src/views/surgical-management/SurgeryArrangement.vue

@@ -110,7 +110,8 @@
         <el-table-column label="分类" width="45">
           <template #default="scope">
             <div v-if="scope.row.status === 'd'">{{ filterUrgentClinicFlag(scope.row.urgentClinicFlag) }}</div>
-            <el-select v-else v-model="scope.row.urgentClinicFlag" placeholder=" ">
+            <el-select v-else v-model="scope.row.urgentClinicFlag" placeholder=" " @focus="handleSelectionFocus(scope.row, 'urgentClinicFlag')"
+                       @change="(urgentClinicFlag) => handleSelectionChange(scope.row.recordId, 'urgent_clinic_flag', urgentClinicFlag)">
               <el-option label="普通" value="0"></el-option>
               <el-option label="急诊" value="1"></el-option>
               <el-option label="择期" value="2"></el-option>
@@ -150,10 +151,25 @@
           </template>
         </el-table-column>
         <el-table-column label="台次" prop="sstc" width="35"></el-table-column>
+
+        <el-table-column label="术前访视">
+          <template #default="scope">
+            <div v-if="scope.row.status === 'd'" :title="scope.row.preoperativeVisit">{{ scope.row.preoperativeVisit }}</div>
+            <el-input v-else v-model="scope.row.preoperativeVisit" readonly
+                      @click="inputContent(scope.row, 'preoperativeVisit')" :title="scope.row.preoperativeVisit"></el-input>
+          </template>
+        </el-table-column>
+        <el-table-column label="术前准备">
+          <template #default="scope">
+            <div v-if="scope.row.status === 'd'" :title="scope.row.preoperativePreparation">{{ scope.row.preoperativePreparation }}</div>
+            <el-input v-else v-model="scope.row.preoperativePreparation" readonly
+                      @click="inputContent(scope.row, 'preoperativePreparation')" :title="scope.row.preoperativePreparation"></el-input>
+          </template>
+        </el-table-column>
         <el-table-column label="备注">
           <template #default="scope">
             <div v-if="scope.row.status === 'd'" :title="scope.row.remark">{{ scope.row.remark }}</div>
-            <el-input v-else v-model="scope.row.remark" readonly @click="inputRemark(scope.row)" :title="scope.row.remark"></el-input>
+            <el-input v-else v-model="scope.row.remark" readonly @click="inputContent(scope.row, 'remark')" :title="scope.row.remark"></el-input>
           </template>
         </el-table-column>
         <el-table-column label="手术开始时间" prop="opStartDate" width="118"></el-table-column>
@@ -226,7 +242,7 @@
 <script name="SurgeryArrangement" setup>
 import {
   getDicList,
-  huoQuShouShuAnPaiXinXi,
+  selectSurgeryArrangements,
   updateSurgeryStatus,
   updateArrangement
 } from '@/api/surgical-management/surgery-arrangement'
@@ -286,7 +302,7 @@ const clickQuery = () => {
   let dateS = getDateRangeFormatDate(dateRange)
   queryParam.startTime = dateS.startTime
   queryParam.endTime = dateS.endTime
-  huoQuShouShuAnPaiXinXi(queryParam).then((res) => {
+  selectSurgeryArrangements(queryParam).then((res) => {
     surgeryList = res
     emergencyCount = 0
     surgeryList.forEach((item) => {
@@ -374,19 +390,19 @@ const handleClickSearchResult = (item) => {
 }
 
 const oldSelection = reactive({
-  key: '',
-  val: ''
+  column: '',
+  value: ''
 })
-const handleSelectionFocus = (row, key) => {
+const handleSelectionFocus = (row, column) => {
   currentRow = row
-  oldSelection.key = key
-  oldSelection.val = row[key]
+  oldSelection.column = column
+  oldSelection.value = row[column]
 }
 
-const handleSelectionChange = (orderId, key, value) => {
-  handleArrangementChange(orderId, key, value).then(() => {
+const handleSelectionChange = (orderId, column, value) => {
+  handleArrangementChange(orderId, column, value).then(() => {
   }).catch(() => {
-    currentRow[oldSelection.key] = oldSelection.val
+    currentRow[oldSelection.column] = oldSelection.value
   })
 }
 
@@ -404,22 +420,34 @@ const beforeChargeOpTime = (row) => {
   }).catch(() => {})
 }
 
-const inputRemark = (row) => {
-  ElMessageBox.prompt('请输入备注:', '提示', {
+const filterPromptMessage = (key) => {
+  switch (key) {
+    case 'remark':
+      return {title: '请输入备注', column: 'remark'}
+    case 'preoperativeVisit':
+      return {title: '请输入术前访视', column: 'preoperative_visit'}
+    case  'preoperativePreparation':
+      return {title: '请输入术前准备完善情况', column: 'preoperative_preparation'}
+  }
+}
+
+const inputContent = (row, key) => {
+  let message = filterPromptMessage(key)
+  ElMessageBox.prompt(message.title, '提示', {
     confirmButtonText: '确定',
     cancelButtonText: '取消',
-    inputValue: row.remark,
+    inputValue: row[key],
   }).then(({value}) => {
-    let remark = value ? value : ''
-    handleArrangementChange(row.recordId, 'remark', remark).then(() => {
-      row.remark = value
+    let inputVal = value ? value : ''
+    handleArrangementChange(row.recordId, message.column, inputVal).then(() => {
+      row[key] = inputVal
     })
   }).catch(() => {})
 }
 
-const handleArrangementChange = (orderId, key, value) => {
+const handleArrangementChange = (orderId, column, value) => {
   return new Promise((resolve, reject) => {
-    updateArrangement(orderId, key, value).then(() => {
+    updateArrangement(orderId, column, value).then(() => {
       resolve()
     }).catch(() => {
       reject()