Browse Source

检验检查新增数量,医嘱表格优化,接受会诊中历史显示医生名字问题

xiaochan 2 years ago
parent
commit
3166f54dd3

+ 1 - 2
src/components/xiao-chan/xc-table-v2/XcTableV2.vue

@@ -4,7 +4,7 @@
     <div class="xc-table_v2"
          ref="tableRef">
       <div class="header"
-           style="margin-right: 15px"
+           style="padding-right: 15px"
            ref="headerRef">
         <template v-for="(item,index) in props.columns">
           <div class="th"
@@ -16,7 +16,6 @@
             {{ item.name }}
           </div>
         </template>
-
       </div>
       <div v-bind="containerProps"
            class="xc-body_v2"

+ 155 - 155
src/views/hospitalization/case-front-sheet/JieShouHuiZhen.vue

@@ -1,69 +1,69 @@
 <template>
-    <page-layer>
-        <template #header>
-            <el-date-picker v-model="dateRange"
-                            :shortcuts="shortcuts"
-                            style="width: 220px"
-                            end-placeholder="结束日期"
-                            range-separator="至"
-                            start-placeholder="开始日期"
-                            type="daterange"/>
-            <el-checkbox v-model="history" label="历史" @change="historyFunc"/>
-            <el-button icon="Search" type="primary" @click="getHuiZhenDataClick">检索</el-button>
-            <el-button icon="Upload" type="primary" @click="baoCunHuiZhenClick" v-if="!history">保存</el-button>
-            <el-button icon="Printer" type="success" @click="daYingClick">打印</el-button>
-            <el-button type="primary" @click="enterMedicalOrder" v-if="!history">医嘱录入</el-button>
-            <consultation-notes @padding-data="daYingHuiZhenRef?.populateTheComments"/>
-            <el-tag type="danger">会诊意见限制 1100 个字</el-tag>
-        </template>
-        <template #main>
-            <pat-infomation-dialog
-                    v-if="dialog"
-                    @closed="dialog = false"
-                    :pat-no="rowData.inpatientNo"
-                    :admiss-date="rowData.admissDate"
-                    :times="rowData.admissTimes"
-                    :leave-hospital="1"
-                    :dics="dics"/>
-            <el-container>
-                <el-aside width="500px">
-                    <xc-table :local-data="huanZeData" :final-height="windowSize.h / 1.1" @row-click="dianJiDanYuanGe">
-                        <el-table-column label="床号" prop="bedNo" width="40px"></el-table-column>
-                        <el-table-column label="住院号_次数" prop="inpatientNo">
-                            <template #default="scope"> {{ scope.row.inpatientNo }}_{{
-                                scope.row.admissTimes
-                                }}
-                            </template>
-                        </el-table-column>
-                        <el-table-column label="姓名_申请次数" prop="name">
-                            <template #default="scope"> {{ scope.row.name }}_{{ scope.row.reqTimes }}</template>
-                        </el-table-column>
-                        <el-table-column label="患者科室" prop="deptCodeName">
-                            <template #default="scope">
-                                {{ scope.row.deptCodeName }}
-                            </template>
-                        </el-table-column>
-                        <el-table-column label="会诊科室" prop="reqDept1Name"></el-table-column>
-                        <el-table-column label="会诊级别" prop="hzType">
-                            <template #default="scope">
-                                {{ hzJiBie(scope.row.hzType) }}
-                            </template>
-                        </el-table-column>
-                        <el-table-column fixed="left" label="信息">
-                            <template #default="{row}">
-                                <el-button @click.stop="information(row)">信息</el-button>
-                            </template>
-                        </el-table-column>
-                    </xc-table>
-                </el-aside>
-                <el-main>
-                    <div style="overflow: auto;" :style="{height: windowSize.h - 30 + 'px'}">
-                        <print-the-consultation-form ref="daYingHuiZhenRef"/>
-                    </div>
-                </el-main>
-            </el-container>
-        </template>
-    </page-layer>
+  <page-layer>
+    <template #header>
+      <el-date-picker v-model="dateRange"
+                      :shortcuts="shortcuts"
+                      style="width: 220px"
+                      end-placeholder="结束日期"
+                      range-separator="至"
+                      start-placeholder="开始日期"
+                      type="daterange"/>
+      <el-checkbox v-model="history" label="历史" @change="historyFunc"/>
+      <el-button icon="Search" type="primary" @click="getHuiZhenDataClick">检索</el-button>
+      <el-button icon="Upload" type="primary" @click="baoCunHuiZhenClick" v-if="!history">保存</el-button>
+      <el-button icon="Printer" type="success" @click="daYingClick">打印</el-button>
+      <el-button type="primary" @click="enterMedicalOrder" v-if="!history">医嘱录入</el-button>
+      <consultation-notes @padding-data="daYingHuiZhenRef?.populateTheComments"/>
+      <el-tag type="danger">会诊意见限制 1100 个字</el-tag>
+    </template>
+    <template #main>
+      <pat-infomation-dialog
+          v-if="dialog"
+          @closed="dialog = false"
+          :pat-no="rowData.inpatientNo"
+          :admiss-date="rowData.admissDate"
+          :times="rowData.admissTimes"
+          :leave-hospital="1"
+          :dics="dics"/>
+      <el-container>
+        <el-aside width="500px">
+          <xc-table :local-data="huanZeData" :final-height="windowSize.h / 1.1" @row-click="dianJiDanYuanGe">
+            <el-table-column label="床号" prop="bedNo" width="40px"></el-table-column>
+            <el-table-column label="住院号_次数" prop="inpatientNo">
+              <template #default="scope"> {{ scope.row.inpatientNo }}_{{
+                  scope.row.admissTimes
+                }}
+              </template>
+            </el-table-column>
+            <el-table-column label="姓名_申请次数" prop="name">
+              <template #default="scope"> {{ scope.row.name }}_{{ scope.row.reqTimes }}</template>
+            </el-table-column>
+            <el-table-column label="患者科室" prop="deptCodeName">
+              <template #default="scope">
+                {{ scope.row.deptCodeName }}
+              </template>
+            </el-table-column>
+            <el-table-column label="会诊科室" prop="reqDept1Name"></el-table-column>
+            <el-table-column label="会诊级别" prop="hzType">
+              <template #default="scope">
+                {{ hzJiBie(scope.row.hzType) }}
+              </template>
+            </el-table-column>
+            <el-table-column fixed="left" label="信息">
+              <template #default="{row}">
+                <el-button @click.stop="information(row)">信息</el-button>
+              </template>
+            </el-table-column>
+          </xc-table>
+        </el-aside>
+        <el-main>
+          <div style="overflow: auto;" :style="{height: windowSize.h - 30 + 'px'}">
+            <print-the-consultation-form ref="daYingHuiZhenRef" :lai-yuan="history ? 2: 1"/>
+          </div>
+        </el-main>
+      </el-container>
+    </template>
+  </page-layer>
 </template>
 
 <script setup>
@@ -88,7 +88,7 @@ import ConsultationNotes from "@/views/hospitalization/case-front-sheet/componen
 ////////////////////////////// 获取屏幕高度 /////////////////////////////////////////
 
 const windowSize = computed(() => {
-    return store.state.app.windowSize
+  return store.state.app.windowSize
 })
 
 const daYingHuiZhenRef = ref(null)
@@ -100,26 +100,26 @@ const huanZeData = ref([])
 const history = ref(false)
 
 const getHuiZhenDataClick = () => {
-    let {startTime, endTime} = getDateRangeFormatDate(dateRange.value)
-    getHuiZhenData(startTime, endTime, history.value).then((res) => {
-        huanZeData.value = res
-    })
+  let {startTime, endTime} = getDateRangeFormatDate(dateRange.value)
+  getHuiZhenData(startTime, endTime, history.value).then((res) => {
+    huanZeData.value = res
+  })
 }
 
 const historyFunc = () => {
-    huanZeData.value = []
-    huanZheXinXi.value = {}
-    daYingHuiZhenRef.value.huiZhenXinXiXiangQing({})
+  huanZeData.value = []
+  huanZheXinXi.value = {}
+  daYingHuiZhenRef.value.huiZhenXinXiXiangQing({})
 }
 
 //////////////////////////////////////////// 点击右边的表格 ///////////////////////////////////////////////////////////
 const huanZheXinXi = ref({})
 
 const dianJiDanYuanGe = (val) => {
-    getHuanZheXinXi(val.admissTimes, val.reqTimes, val.inpatientNo).then((res) => {
-        huanZheXinXi.value = res
-        daYingHuiZhenRef.value.huiZhenXinXiXiangQing(res)
-    })
+  getHuanZheXinXi(val.admissTimes, val.reqTimes, val.inpatientNo).then((res) => {
+    huanZheXinXi.value = res
+    daYingHuiZhenRef.value.huiZhenXinXiXiangQing(res)
+  })
 }
 
 /**
@@ -127,81 +127,81 @@ const dianJiDanYuanGe = (val) => {
  * 要判断 一下 是仅保存 还是 完成会诊
  */
 const baoCunHuiZhenClick = () => {
-    if (!huanZheXinXi.value.name) {
-        ElMessage({
-            message: '请先选择患者',
-            showClose: true,
-            type: 'error',
-        })
-        return
-    }
-    if (stringIsBlank(huanZheXinXi.value.hzComment)) {
-        return ElMessage({
-            message: '请填写会诊意见',
-            showClose: true,
-            type: 'error',
-        })
-    }
-    ElMessageBox.confirm('是否保存【' + huanZheXinXi.value.name + '】的会诊信息', '提示', {
-        type: 'warning',
-        distinguishCancelAndClose: true,
-        cancelButtonText: '仅保存',
-        confirmButtonText: '完成会诊',
+  if (!huanZheXinXi.value.name) {
+    ElMessage({
+      message: '请先选择患者',
+      showClose: true,
+      type: 'error',
     })
-        .then(async () => {
-            huanZheXinXi.value.statusFlag = 2
-            // 完成 会诊 发送 axios
-            await wanChenHuiZhen(huanZheXinXi.value)
-            await getHuiZhenDataClick()
-            huanZheXinXi.value = {}
-            daYingHuiZhenRef.value.huanZheXinXi.value = {}
-        })
-        .catch((e) => {
-            if (e === 'cancel') {
-                huanZheXinXi.value.statusFlag = 1
-                wanChenHuiZhen(huanZheXinXi.value)
-            }
-        })
+    return
+  }
+  if (stringIsBlank(huanZheXinXi.value.hzComment)) {
+    return ElMessage({
+      message: '请填写会诊意见',
+      showClose: true,
+      type: 'error',
+    })
+  }
+  ElMessageBox.confirm('是否保存【' + huanZheXinXi.value.name + '】的会诊信息', '提示', {
+    type: 'warning',
+    distinguishCancelAndClose: true,
+    cancelButtonText: '仅保存',
+    confirmButtonText: '完成会诊',
+  })
+      .then(async () => {
+        huanZheXinXi.value.statusFlag = 2
+        // 完成 会诊 发送 axios
+        await wanChenHuiZhen(huanZheXinXi.value)
+        await getHuiZhenDataClick()
+        huanZheXinXi.value = {}
+        daYingHuiZhenRef.value.huanZheXinXi.value = {}
+      })
+      .catch((e) => {
+        if (e === 'cancel') {
+          huanZheXinXi.value.statusFlag = 1
+          wanChenHuiZhen(huanZheXinXi.value)
+        }
+      })
 }
 
 ///////////////////////////////////////////////////////// 开启打印 ///////////////////////////////////////////////////////////////////////////////
 const daYingClick = () => {
-    if (!huanZheXinXi.value.inpatientNo) {
-        ElMessage.error({
-            message: '请先选择患者',
-            showClose: true,
-        })
-        return
-    }
-    daYingHuiZhenRef.value.printClick()
+  if (!huanZheXinXi.value.inpatientNo) {
+    ElMessage.error({
+      message: '请先选择患者',
+      showClose: true,
+    })
+    return
+  }
+  daYingHuiZhenRef.value.printClick()
 }
 
 // 跳转到医嘱录入页面
 const enterMedicalOrder = () => {
-    if (!huanZheXinXi.value.inpatientNo) {
-        return ElMessage({
-            message: '请先选择患者',
-            showClose: true,
-            type: 'error',
-        })
-    } else {
-        router.push({
-            name: 'yiZhuLuRu',
-            params: {
-                inpatientNo: huanZheXinXi.value.inpatientNo,
-                admissTimes: huanZheXinXi.value.admissTimes,
-                consultation: true
-            }
-        })
-    }
+  if (!huanZheXinXi.value.inpatientNo) {
+    return ElMessage({
+      message: '请先选择患者',
+      showClose: true,
+      type: 'error',
+    })
+  } else {
+    router.push({
+      name: 'yiZhuLuRu',
+      params: {
+        inpatientNo: huanZheXinXi.value.inpatientNo,
+        admissTimes: huanZheXinXi.value.admissTimes,
+        consultation: true
+      }
+    })
+  }
 }
 
 const rowData = ref({})
 const dialog = ref(false)
 const dics = ref({})
 const information = (row) => {
-    rowData.value = row
-    dialog.value = true
+  rowData.value = row
+  dialog.value = true
 }
 
 
@@ -210,28 +210,28 @@ const paddingData = (val) => {
 }
 
 onMounted(() => {
-    dateRange.value[0] = shortcuts[0].value[0]
-    dateRange.value[1] = shortcuts[0].value[1]
-    getHuiZhenDataClick()
-    getAllDictionary().then(res => {
-        res.getOperations = operations;
-        res.getYesOrNo = yesOrNo;
-        res.getHaveOrNot = haveOrNot;
-        res.getAutopsies = autopsies;
-        dics.value = res
-    })
+  dateRange.value[0] = shortcuts[0].value[0]
+  dateRange.value[1] = shortcuts[0].value[1]
+  getHuiZhenDataClick()
+  getAllDictionary().then(res => {
+    res.getOperations = operations;
+    res.getYesOrNo = yesOrNo;
+    res.getHaveOrNot = haveOrNot;
+    res.getAutopsies = autopsies;
+    dics.value = res
+  })
 })
 
 // 会诊级别
 function hzJiBie(val) {
-    switch (val) {
-        case '1':
-            return '主治医师'
-        case '2':
-            return '副主任医生'
-        case '3':
-            return '主任医生'
-    }
+  switch (val) {
+    case '1':
+      return '主治医师'
+    case '2':
+      return '副主任医生'
+    case '3':
+      return '主任医生'
+  }
 }
 </script>
 

+ 9 - 0
src/views/hospitalization/zhu-yuan-yi-sheng/jian-cha-jian-yan-shen-qing/components/public/JianChaJianYanTable.vue

@@ -266,6 +266,15 @@ onMounted(() => {
         </el-switch>
       </template>
     </el-table-column>
+    <el-table-column label="数量" prop="quantity" width="90">
+      <template #default="scope">
+        <el-input-number :step="1"
+                         v-model="scope.row.quantity"
+                         :min="1"
+                         style="width: 77px"
+                         :controls="false"/>
+      </template>
+    </el-table-column>
   </el-table>
 
 </template>