浏览代码

手术安排的手术时间可以修改

lighter 2 年之前
父节点
当前提交
2f66e5a391
共有 1 个文件被更改,包括 38 次插入15 次删除
  1. 38 15
      src/views/surgical-management/SurgeryArrangement.vue

+ 38 - 15
src/views/surgical-management/SurgeryArrangement.vue

@@ -40,7 +40,12 @@
             </el-tag>
           </template>
         </el-table-column>
-        <el-table-column label="日期" prop="opDatetime" width="118"></el-table-column>
+        <el-table-column label="日期" width="125">
+          <template #default="scope">
+            <div v-if="scope.row.status === 'd'">{{ scope.row.opDatetime }}</div>
+            <el-input v-else v-model="scope.row.opDatetime" readonly @click="beforeChargeOpTime(scope.row)"></el-input>
+          </template>
+        </el-table-column>
         <el-table-column label="送出时间" prop="applyDate" width="118"></el-table-column>
         <el-table-column label="手术间" prop="roomName" width="50">
           <template #default="scope">
@@ -52,12 +57,12 @@
             </el-select>
           </template>
         </el-table-column>
-        <el-table-column label="病房" prop="wardName" width="80"></el-table-column>
+        <el-table-column label="病房" prop="wardName" width="78"></el-table-column>
         <el-table-column label="床号" prop="bedNo" width="30"></el-table-column>
         <el-table-column label="住院号" prop="inpatientNo" width="60"></el-table-column>
         <el-table-column label="姓名" prop="patientName" width="50"></el-table-column>
-        <el-table-column label="年龄" prop="age" width="35"></el-table-column>
-        <el-table-column label="性别" prop="sex" width="35"></el-table-column>
+        <el-table-column label="年龄" prop="age" width="33"></el-table-column>
+        <el-table-column label="性别" prop="sex" width="30"></el-table-column>
         <el-table-column label="手术名称" prop="opName" width="183"></el-table-column>
         <el-table-column label="麻醉方式" prop="hocusName" width="165"></el-table-column>
         <el-table-column label="麻醉医生" prop="doctorMzYsName" width="55"></el-table-column>
@@ -134,11 +139,8 @@
         <el-table-column label="台次" prop="sstc" width="35"></el-table-column>
         <el-table-column label="备注">
           <template #default="scope">
-            <div v-if="scope.row.remark" @click="inputRemark(scope.row.recordId, scope.row.remark)"
-                 :title="scope.row.remark">{{ scope.row.remark }}</div>
-            <div v-else style="width: 100%; text-align: center">
-              <el-button plain circle icon="Edit" title="编辑备注" @click="inputRemark(scope.row.recordId, scope.row.remark)"></el-button>
-            </div>
+            <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>
           </template>
         </el-table-column>
         <el-table-column label="手术开始时间" prop="opStartDate" width="118"></el-table-column>
@@ -191,7 +193,7 @@
         <div style="width: 80px;">巡回护士</div>
       </div>
       <div style="height: 8px"></div>
-      <div v-for="item in surgeryList" style="display: flex;align-items: center;justify-content: center;font-size: 12px; height: 36px; border-bottom: 1px solid black">
+      <div v-for="item in surgeryListForPrint" style="display: flex;align-items: center;justify-content: center;font-size: 12px; height: 32px; border-bottom: 1px solid black">
         <div style="width: 170px">{{ item.opDatetime }}</div>
         <div style="width: 90px;">{{ item.roomName }}</div>
         <div style="width: 160px;">{{ item.wardName }} - {{ item.bedNo }}床</div>
@@ -256,6 +258,12 @@ let queryParam = $ref({
 
 let surgeryList = $ref([])
 
+let surgeryListForPrint = computed(() => {
+  return surgeryList.filter(item => {
+    return item.status !== 'd'
+  })
+})
+
 const clickQuery = () => {
   if (listIsBlank(dateRange)) {
     ElMessage.error('请先输入日期')
@@ -368,15 +376,30 @@ const handleSelectionChange = (orderId, key, value) => {
   })
 }
 
-const inputRemark = (orderId, remark) => {
+const beforeChargeOpTime = (row) => {
+  ElMessageBox.prompt('请输入手术时间:', '提示', {
+    confirmButtonText: '确定',
+    cancelButtonText: '取消',
+    inputValue: row.opDatetime,
+    inputPattern: /^[1-9][0-9][0-9][0-9]-(0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-9]|3[0-1]) (0[0-9]|1[0-9]|2[0-3]):(0[0-9]|[1-5][0-9]):(0[0-9]|[1-5][0-9])$/,
+    inputErrorMessage: '请输入正确的时间格式',
+  }).then(({value}) => {
+    handleArrangementChange(row.recordId, 'op_datetime', value).then(() => {
+      row.opDatetime = value
+    })
+  }).catch(() => {})
+}
+
+const inputRemark = (row) => {
   ElMessageBox.prompt('请输入备注:', '提示', {
     confirmButtonText: '确定',
     cancelButtonText: '取消',
-    inputValue: remark,
-    inputPattern: /\S/,
-    inputErrorMessage: '请输入备注内容',
+    inputValue: row.remark,
   }).then(({value}) => {
-    handleArrangementChange(orderId, 'remark', value)
+    let remark = value ? value : ''
+    handleArrangementChange(row.recordId, 'remark', remark).then(() => {
+      row.remark = value
+    })
   }).catch(() => {})
 }