Browse Source

完成手术神奇

xiaochan 3 years ago
parent
commit
4a044009f3

+ 10 - 0
src/api/zhu-yuan-yi-sheng/shou-shu-shen-qing.js

@@ -49,6 +49,16 @@ export function huoQuShouShuBuWei(name) {
     })
 }
 
+export function xinZengShouShuShenQing(data) {
+    return request({
+        url: url + 'xinZengShouShuShenQing',
+        method: 'post',
+        data
+    })
+}
+
+
+
 
 
 

+ 0 - 0
src/components/huiZhenDaYing/DaYingHuiZhen.vue → src/components/hui-zhen-da-ying/DaYingHuiZhen.vue


+ 55 - 31
src/components/zhu-yuan-yi-sheng/shou-shu-shen-qing/BianJiShouShu.vue

@@ -71,7 +71,7 @@
                   @current-change="zhenDuanFanYe">
               </el-pagination>
               <el-option v-for="item in shouShuZhenDuan.slice((zhenDuanDangQianYe - 1) * 20,zhenDuanDangQianYe * 20)"
-                         :key="item.code" :label="item.name" :value="{label:item.name,value:item.code,laiYuan:8}">
+                         :key="item.code" :label="item.name" :value="{label:item.name,value:item.code,laiYuan:'术前诊断'}">
                 <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
                 <el-divider direction="vertical"></el-divider>
                 <span>{{ item.name }}</span>
@@ -83,12 +83,12 @@
           <el-form-item label="自费">
             <el-switch
                 v-model="data.ybSelfFlag"
+                :active-value="1"
+                :inactive-value="0"
                 active-color="#13ce66"
                 active-text="是"
-                active-value="1"
                 inactive-color="#ff4949"
-                inactive-text="否"
-                inactive-value="0">
+                inactive-text="否">
             </el-switch>
           </el-form-item>
         </el-col>
@@ -97,7 +97,20 @@
             <el-select v-model="data.partCodeObj" :remote-method="souSuoBuWei" clearable filterable remote
                        style="width: 220px" @change="huoQuXialaKuangMing">
               <el-option v-for="item in shouShuBuWeiShuJu" :key="item.code" :label="item.name"
-                         :value="{label:item.name,value:item.code,laiYuan:9}">
+                         :value="{label:item.name,value:item.code,laiYuan:'手术部位'}">
+                <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
+                <el-divider direction="vertical"></el-divider>
+                <span>{{ item.name }}</span>
+              </el-option>
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="手术等级" prop="opScale">
+            <el-select v-model="data.opScale" :remote-method="souSuoBuWei" clearable filterable remote
+                       style="width: 220px" @change="huoQuXialaKuangMing">
+              <el-option v-for="item in shouShuDengJi" :key="item.code" :label="item.name"
+                         :value="item.code">
                 <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
                 <el-divider direction="vertical"></el-divider>
                 <span>{{ item.name }}</span>
@@ -107,8 +120,10 @@
         </el-col>
         <el-col :span="12">
           <el-form-item label="麻醉方式">
-            <el-select v-model="data.hocusCode" clearable filterable style="width: 220px">
-              <el-option v-for="item in maZuiFangShiShuJu" :key="item.code" :label="item.name" :value="item.code">
+            <el-select v-model="data.hocusCodeObj" clearable filterable style="width: 220px"
+                       @change="huoQuXialaKuangMing">
+              <el-option v-for="item in maZuiFangShiShuJu" :key="item.code" :label="item.name"
+                         :value="{label:item.name,value:item.code,laiYuan:'麻醉方式'}">
                 <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
                 <el-divider direction="vertical"></el-divider>
                 <span>{{ item.name }}</span>
@@ -121,7 +136,7 @@
             <el-select v-model="data.doctorZdObj" :remote-method="suoSouYiShen" clearable filterable remote
                        style="width: 220px" @change="huoQuXialaKuangMing">
               <el-option v-for="item in yiShengShuJu" :key="item.code" :label="item.name"
-                         :value="{label:item.name,value:item.code,laiYuan:1}">
+                         :value="{label:item.name,value:item.code,laiYuan:'主刀医生'}">
                 <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
                 <el-divider direction="vertical"></el-divider>
                 <span style="color:#67C23A">{{ item.name }}</span>
@@ -138,7 +153,7 @@
             <el-select v-model="data.doctor1Obj" :remote-method="suoSouYiShen" clearable filterable remote
                        style="width: 220px" @change="huoQuXialaKuangMing">
               <el-option v-for="item in yiShengShuJu" :key="item.code" :label="item.name"
-                         :value="{label:item.name,value:item.code,laiYuan:2}">
+                         :value="{label:item.name,value:item.code,laiYuan:'第一助手'}">
                 <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
                 <el-divider direction="vertical"></el-divider>
                 <span style="color:#67C23A">{{ item.name }}</span>
@@ -155,7 +170,7 @@
             <el-select v-model="data.doctor2Obj" :remote-method="suoSouYiShen" clearable filterable remote
                        style="width: 220px" @change="huoQuXialaKuangMing">
               <el-option v-for="item in yiShengShuJu" :key="item.code" :label="item.name"
-                         :value="{label:item.name,value:item.code,laiYuan:3}">
+                         :value="{label:item.name,value:item.code,laiYuan:'第二助手'}">
                 <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
                 <el-divider direction="vertical"></el-divider>
                 <span style="color:#67C23A">{{ item.name }}</span>
@@ -172,7 +187,7 @@
             <el-select v-model="data.doctor3Obj" :remote-method="suoSouYiShen" clearable filterable remote
                        style="width: 220px" @change="huoQuXialaKuangMing">
               <el-option v-for="item in yiShengShuJu" :key="item.code" :label="item.name"
-                         :value="{label:item.name,value:item.code,laiYuan:4}">
+                         :value="{label:item.name,value:item.code,laiYuan:'第三助手'}">
                 <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
                 <el-divider direction="vertical"></el-divider>
                 <span style="color:#67C23A">{{ item.name }}</span>
@@ -189,7 +204,7 @@
             <el-select v-model="data.doctorMzObj" :remote-method="suoSouYiShen" clearable filterable remote
                        style="width: 220px" @change="huoQuXialaKuangMing">
               <el-option v-for="item in yiShengShuJu" :key="item.code" :label="item.name"
-                         :value="{label:item.name,value:item.code,laiYuan:5}">
+                         :value="{label:item.name,value:item.code,laiYuan:'麻醉医生'}">
                 <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
                 <el-divider direction="vertical"></el-divider>
                 <span style="color:#67C23A">{{ item.name }}</span>
@@ -201,14 +216,12 @@
             </el-select>
           </el-form-item>
         </el-col>
-
         <el-col :span="12">
-
           <el-form-item label="器械护士">
             <el-select v-model="data.nurseQxObj" :remote-method="suoSouYiShen" clearable filterable remote
                        style="width: 220px" @change="huoQuXialaKuangMing">
               <el-option v-for="item in yiShengShuJu" :key="item.code" :label="item.name"
-                         :value="{label:item.name,value:item.code,laiYuan:6}">
+                         :value="{label:item.name,value:item.code,laiYuan:'器械护士'}">
                 <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
                 <el-divider direction="vertical"></el-divider>
                 <span style="color:#67C23A">{{ item.name }}</span>
@@ -225,7 +238,7 @@
             <el-select v-model="data.nurseXhObj" :remote-method="suoSouYiShen" clearable filterable remote
                        style="width: 220px" @change="huoQuXialaKuangMing">
               <el-option v-for="item in yiShengShuJu" :key="item.code" :label="item.name"
-                         :value="{label:item.name,value:item.code,laiYuan:7}">
+                         :value="{label:item.name,value:item.code,laiYuan:'巡回护士'}">
                 <span style="color: #8492a6; font-size: 12px">{{ item.code }}</span>
                 <el-divider direction="vertical"></el-divider>
                 <span style="color:#67C23A">{{ item.name }}</span>
@@ -240,9 +253,9 @@
         <el-col :span="12">
           <el-form-item label="生成医嘱">
             <el-switch
-                v-model="data.yzShengCheng"
-                :active-value="true"
-                :inactive-value="false"
+                v-model="data.ssyzFlag"
+                :active-value="1"
+                :inactive-value="2"
                 active-color="#13ce66"
                 active-text="是"
                 inactive-color="#ff4949"
@@ -327,39 +340,43 @@ export default {
 
     const huoQuXialaKuangMing = (val) => {
       switch (val.laiYuan) {
-        case 1:
+        case '麻醉方式':
+          data.value.hocusCode = val.value
+          data.value.hocusCodeName = val.label
+          return;
+        case '主刀医生':
           data.value.doctorZd = val.value
           data.value.doctorZdName = val.label
           return;
-        case 2:
+        case '第一助手':
           data.value.doctor1 = val.value
           data.value.doctor1Name = val.label
           return;
-        case 3:
+        case '第二助手':
           data.value.doctor2 = val.value
           data.value.doctor2Name = val.label
           return;
-        case 4:
+        case '第三助手':
           data.value.doctor3 = val.value
           data.value.doctor3Name = val.label
           return;
-        case 5:
+        case '麻醉医生':
           data.value.doctorMz = val.value
           data.value.doctorMzName = val.label
           return;
-        case 6:
+        case '器械护士':
           data.value.nurseQx = val.value
           data.value.nurseQxName = val.label
           return;
-        case 7:
+        case '巡回护士':
           data.value.nurseXh = val.value
           data.value.nurseXhName = val.label
           return;
-        case 8:
-          data.value.diagBeforeOp = val.value
-          data.value.diagBeforeOpName = val.label
+        case '术前诊断':
+          data.value.diagBeforeCode = val.value
+          data.value.diagBeforeOp = val.label
           return;
-        case 9:
+        case '手术部位':
           data.value.partCode = val.value
           data.value.partCodeName = val.label
           return;
@@ -394,6 +411,7 @@ export default {
       diagBeforeOpObj: [{required: true, message: '术前诊断不能为空', trigger: 'blur'}],
       partCodeObj: [{required: true, message: '手术部位不能为空', trigger: 'blur'}],
       doctorZdObj: [{required: true, message: '主刀医生不能为空', trigger: 'blur'}],
+      opScale: [{required: true, message: '手术等级不能为空', trigger: 'blur'}],
     })
 
 
@@ -443,7 +461,13 @@ export default {
       jiaoYanShuJu,
       jiaoYanGuiZe,
       shouShuBiaoGe,
-      quXiaoBianJi
+      quXiaoBianJi,
+      shouShuDengJi: [
+        {code: 1, name: '四级'},
+        {code: 2, name: '三级'},
+        {code: 3, name: '二级'},
+        {code: 4, name: '一级'},
+      ]
     }
   }
 }

+ 12 - 5
src/components/zhu-yuan-yi-sheng/shou-shu-shen-qing/XinZengShouShuShenQing.vue

@@ -52,7 +52,7 @@
             </template>
           </el-table-column>
           <el-table-column label="手术部位" prop="partCodeName"></el-table-column>
-          <el-table-column label="术前诊断" prop="diagBeforeOpName" show-overflow-tooltip></el-table-column>
+          <el-table-column label="术前诊断" prop="diagBeforeOp" show-overflow-tooltip></el-table-column>
           <el-table-column label="手术等级" prop="opScale">
             <template #default="scope">
               {{ shouShuDengJi(scope.row.opScale) }}
@@ -67,9 +67,9 @@
           <el-table-column label="器械护士" prop="nurseQxName"></el-table-column>
           <el-table-column label="巡回护士" prop="nurseXhName"></el-table-column>
           <el-table-column label="附注说明" prop="remark"></el-table-column>
-          <el-table-column label="是否生成医嘱" prop="yzShengCheng">
+          <el-table-column label="是否生成医嘱" prop="ssyzFlag">
             <template #default="scope">
-              <span v-if="scope.row.yzShengCheng">生成</span>
+              <span v-if="scope.row.ssyzFlag === 1">生成</span>
               <span v-else>不生成</span>
             </template>
           </el-table-column>
@@ -124,7 +124,11 @@
 <script>
 import {computed, onMounted, ref} from "vue";
 import store from "@/store";
-import {fenLeiXiangQing, shouShuShenQingCeBianLan} from "@/api/zhu-yuan-yi-sheng/shou-shu-shen-qing";
+import {
+  fenLeiXiangQing,
+  shouShuShenQingCeBianLan,
+  xinZengShouShuShenQing
+} from "@/api/zhu-yuan-yi-sheng/shou-shu-shen-qing";
 import router from "@/router";
 import {getServerDateApi} from "@/api/public-api";
 import {
@@ -227,8 +231,11 @@ export default {
     const dianJiBaoCun = () => {
       if (youWuXuanZheHuanZhe()) return
       let data = huanZheXinXi.value
+      data.execDept = store.state.user.info.deptCode
       data.list = xinZhenShuJu.value
-      console.log(data)
+      xinZengShouShuShenQing(data).then((res) => {
+        console.log(res)
+      })
     }
 
     const dianJiShanChuShouShu = (opCode, index) => {

+ 1 - 0
src/views/hospitalization/zhu-yuan-yi-sheng/ShouShuShenQing.vue

@@ -157,6 +157,7 @@ export default {
     }
 
     const dianJiXinZhenShouShu = () => {
+      if (youWuXuanZheHuanZhe()) return
       router.push('/inpatient/zhuYuanYiSheng/xinZengShouShuShenQing')
     }