浏览代码

优化操作

DESKTOP-0GD05B0\Administrator 2 年之前
父节点
当前提交
c768bced94

+ 23 - 0
src/api/dictionary/emr-data-maintenance-api.js

@@ -52,3 +52,26 @@ export function getEmrInpatientData(data) {
     })
 }
 
+export function getExtractDataSource() {
+    return request({
+        url: url + 'getExtractDataSource',
+        method: 'get',
+    })
+}
+
+export function updateExtractDataSource(data) {
+    return request({
+        url: url + 'updateExtractDataSource',
+        method: 'post',
+        data
+    })
+}
+
+export function deleteExtractDataSource(code) {
+    return request({
+        url: url + 'deleteExtractDataSource',
+        method: 'get',
+        params: {code}
+    })
+}
+

+ 0 - 16
src/api/zhu-yuan-yi-sheng/yi-zhu-lu-ru.js

@@ -223,22 +223,6 @@ export function muBanCaoZuo(patternCode, patternName, deptCode, sortNo, flag) {
     })
 }
 
-export function yiZhuChaoZuo(actOrderNo, flag, content) {
-    return request({
-        url: url + '/yiZhuChaoZuo',
-        method: 'get',
-        params: {actOrderNo, flag, content},
-    })
-}
-
-export function piLiangXiuGaiTingZhiShiJian(data) {
-    return request({
-        url: url + '/piLiangXiuGaiTingZhiShiJian',
-        method: 'post',
-        data,
-    })
-}
-
 export function expensesForGettingADoctorSOrder(patNo, times) {
     return request({
         url: url + '/expensesForGettingADoctorSOrder',

+ 8 - 1
src/components/zhu-yuan-yi-sheng/yi-zhu-lu-ru/HuoQuMuBan.vue

@@ -122,6 +122,13 @@ import {getServerDateApi} from '@/api/public-api'
 import {BizException, ExceptionEnum} from "@/utils/BizException";
 import XcTable from "@/components/xiao-chan/xc-table/XcTable.vue";
 
+const props = defineProps({
+  dialog: {
+    type: Boolean,
+    default: false
+  },
+})
+
 // 调用父组件的方法
 const emit = defineEmits(['mu-ban-shu-ju', 'close'])
 
@@ -134,7 +141,7 @@ const user = computed(() => {
 })
 
 const code = ref('')
-const dialog = ref(false)
+const dialog = ref(props.dialog)
 const muBanShuJu = ref([])
 const tableRef = ref(null)
 const muBanLeiXing = ref(3)

+ 14 - 13
src/components/zhu-yuan-yi-sheng/yi-zhu-lu-ru/yz-edit/YzEditor.vue

@@ -181,6 +181,18 @@
             <el-option key="2" label="饭后" value="2"></el-option>
           </el-select>
         </div>
+        <div>
+          费用标志:
+          <el-select v-model="yiZhuData.selfBuy"
+                     :disabled="yiZhuData.serial === '00' || currentPage === 'takeMedicine'"
+                     clearable style="width: 120px"
+                     @clear="yiZhuData.selfBuy = null">
+            <el-option label="自备" value="1"/>
+            <el-option label="嘱托" value="2"/>
+            <el-option label="基数药" value="3"/>
+            <el-option :disabled="currentPage !== 'takeMedicine'" label="出院带药" value="4"/>
+          </el-select>
+        </div>
         <div class="div_center__box">
           <xc-checkbox
               label="医保自费"
@@ -191,22 +203,11 @@
           <xc-checkbox
               label="紧急"
               v-model="yiZhuData.emergencyFlag"
+              @keydown.tab="toAddAnOrder"
               active-value="1"
               inactive-value="0"/>
         </div>
-        <div>
-          费用标志:
-          <el-select v-model="yiZhuData.selfBuy"
-                     :disabled="yiZhuData.serial === '00' || currentPage === 'takeMedicine'"
-                     clearable style="width: 120px"
-                     @keydown.tab="toAddAnOrder"
-                     @clear="yiZhuData.selfBuy = null">
-            <el-option label="自备" value="1"/>
-            <el-option label="嘱托" value="2"/>
-            <el-option label="基数药" value="3"/>
-            <el-option :disabled="currentPage !== 'takeMedicine'" label="出院带药" value="4"/>
-          </el-select>
-        </div>
+
 
         <div>
           录入/确认/停止

+ 1 - 11
src/components/zhu-yuan-yi-sheng/yi-zhu-lu-ru/yz-header/YzQueryCondition.vue

@@ -103,17 +103,7 @@ const currentConfirmOrdersClick = () => {
   if (!props.patientInfo.inpatientNo) {
     BizException(ExceptionEnum.MESSAGE_ERROR, '请先选择患者')
   }
-  queryParam.value.patNo = props.patientInfo.inpatientNo
-  queryParam.value.times = props.patientInfo.admissTimes
-  huoQuYiZhuShuJu(queryParam.value).then((res) => {
-    yzData.value = res
-    queryParam.value.displayRange = 0
-    queryParam.value.frequCode = 0
-    queryParam.value.zhuangTai = 0
-    props.confirmOrdersClick()
-  }).catch(() => {
-    yzData.value = []
-  })
+  props.confirmOrdersClick()
 }
 
 /**

+ 109 - 16
src/views/dictionary/EmrDataMaintenance.vue

@@ -13,20 +13,72 @@
     </template>
 
     <template #main>
-      <xc-table :data="data" @currentChange="queryChange" @sizeChange="queryChange" :height="200">
-        <el-table-column label="默认值">
-          <el-table-column label="操作" width="120">
-            <template #default="scope">
-              <el-button type="warning" round icon="Edit" @click="openDialog(false,scope.row)"></el-button>
-              <el-button type="danger" round icon="Delete" @click="clickDelete(scope.row)"></el-button>
+      <el-tabs>
+        <el-tab-pane label="提取数据">
+          <xc-table :local-data="extractList" :height="200">
+            <el-table-column label="操作" width="90">
+              <template #default="{row}">
+                <el-button-group>
+                  <el-button type="warning" icon="Edit" @click="extractFunc.open(row)"></el-button>
+                  <el-button type="danger" icon="Delete" @click="extractFunc.delete(row.emrCategoryCode)"></el-button>
+                </el-button-group>
+              </template>
+            </el-table-column>
+            <el-table-column prop="emrCategoryCode" label="编码"/>
+            <el-table-column prop="dataExtract" label="数据元" show-overflow-tooltip/>
+            <el-table-column prop="name" label="名称" show-overflow-tooltip/>
+          </xc-table>
+          <xc-dialog-v2 title="提取数据" v-model="extractFunc.dialog">
+            <el-form>
+              <el-form-item label="电子病历编码">
+                <el-input v-model="extractFunc.data.emrCategoryCode"></el-input>
+              </el-form-item>
+              <el-form-item label="需要提取的数据元">
+                <el-select
+                    style="width: 540px"
+                    v-model="extractFunc.data.dataExtractObj"
+                    multiple
+                    filterable
+                    allow-create
+                    default-first-option
+                    :reserve-keyword="false"
+                    placeholder="Choose tags for your article">
+                  <el-option
+                      v-for="item in extractFunc.options"
+                      :key="item.value"
+                      :label="item.label"
+                      :value="item.value"
+                  />
+                </el-select>
+              </el-form-item>
+              <el-form-item label="病历名称">
+                <el-input v-model="extractFunc.data.name"></el-input>
+              </el-form-item>
+            </el-form>
+            <template #footer>
+              <el-button @click="extractFunc.save()">保存</el-button>
             </template>
-          </el-table-column>
-          <!--    <el-table-column prop="delFlag" label="删除" width="30"/>-->
-          <el-table-column prop="id" label="uuid" width="40"/>
-          <el-table-column prop="name" label="数据名称" width="80" show-overflow-tooltip/>
-          <el-table-column prop="sqlSentence" label="语句内容" show-overflow-tooltip/>
-        </el-table-column>
-      </xc-table>
+          </xc-dialog-v2>
+        </el-tab-pane>
+        <el-tab-pane label="数据元">
+          <xc-table :data="data" @currentChange="queryChange" @sizeChange="queryChange" :height="200">
+            <el-table-column label="默认值">
+              <el-table-column label="操作" width="120">
+                <template #default="scope">
+                  <el-button type="warning" round icon="Edit" @click="openDialog(false,scope.row)"></el-button>
+                  <el-button type="danger" round icon="Delete" @click="clickDelete(scope.row)"></el-button>
+                </template>
+              </el-table-column>
+              <!--    <el-table-column prop="delFlag" label="删除" width="30"/>-->
+              <el-table-column prop="id" label="uuid" width="40"/>
+              <el-table-column prop="name" label="数据名称" width="80" show-overflow-tooltip/>
+              <el-table-column prop="sqlSentence" label="语句内容" show-overflow-tooltip/>
+            </el-table-column>
+          </xc-table>
+        </el-tab-pane>
+
+      </el-tabs>
+
 
       <el-drawer v-model="editData.dialog"
                  :title="editData.title"
@@ -99,13 +151,16 @@
 <script setup name='EmrDataMaintenance'>
 import XcTable from "@/components/xiao-chan/xc-table/XcTable.vue";
 import {
-  addData, deleteById,
+  addData, deleteById, deleteExtractDataSource,
   fetchCountryDictionary,
-  getEmrInpatientData,
-  testSqlAPi, updateData
+  getEmrInpatientData, getExtractDataSource,
+  testSqlAPi, updateData, updateExtractDataSource
 } from "@/api/dictionary/emr-data-maintenance-api";
 import {ElMessage, ElMessageBox} from "element-plus";
 import PageLayer from "@/layout/PageLayer";
+import XcDialog from "@/components/xiao-chan/dialog/XcDialog.vue";
+import XcDialogV2 from "@/components/xiao-chan/dialog/XcDialogV2.vue";
+import {BizException, ExceptionEnum} from "@/utils/BizException";
 
 let data = $ref({
   data: [],
@@ -136,10 +191,15 @@ let returnValue = $ref({
   data: ''
 })
 
+let extractList = $ref([])
+
 let checkData = $ref('')
 
 onMounted(() => {
   queryData()
+  getExtractDataSource().then(res => {
+    extractList = res
+  })
 })
 
 
@@ -268,6 +328,39 @@ const close = () => {
   editData.dialog = false
   editData.passedTheTest = false
 }
+
+const extractFunc = $ref({
+  dialog: false,
+  data: {
+    emrCategoryCode: '',
+    dataExtract: '',
+    name: '',
+    dataExtractObj: []
+  },
+  options: [],
+  open: (row) => {
+    extractFunc.dialog = true
+    extractFunc.data = row
+    extractFunc.data.dataExtractObj = JSON.parse(extractFunc.data.dataExtract)
+  },
+  save: () => {
+    extractFunc.data.dataExtract = JSON.stringify(extractFunc.data.dataExtractObj);
+    if (!extractFunc.data.emrCategoryCode) {
+      BizException(ExceptionEnum.MESSAGE_ERROR, '编码不能为空。')
+    }
+    if (extractFunc.data.dataExtractObj.length === 0) {
+      BizException(ExceptionEnum.MESSAGE_ERROR, '提取数据元不能为空。')
+    }
+    if (!extractFunc.data.name) {
+      BizException(ExceptionEnum.MESSAGE_ERROR, '名称不能为空。')
+    }
+    updateExtractDataSource(extractFunc.data)
+  },
+  delete: (code) => {
+    deleteExtractDataSource(code)
+  }
+})
+
 </script>
 
 <style scoped>

+ 2 - 2
src/views/hospitalization/zhu-yuan-yi-sheng/yi-zhu-lu-ru/TemplateMaintenance.vue

@@ -10,7 +10,7 @@
     </div>
   </div>
   <el-button icon="ArrowLeft" style="font-size: 14px" text type="primary" @click="cloneWindow">返回</el-button>
-  <el-button type="primary" @click="muBanDuiHuaKuang = true">获取模板</el-button>
+  <el-button type="primary" @click="muBanDuiHuaKuang = true"> 获取模板</el-button>
   <el-button :disabled="yiZhuList.length === 0" type="primary" @click="baoCunMuBanClick">保存模板</el-button>
   {{ count }}
   <el-button @click="openErrorDialog">打开错误信息</el-button>
@@ -302,7 +302,6 @@
     </el-table-column>
   </el-table>
 
-
   <yao-ping-xiang-qing v-if="drugProblem.dialog"
                        :url="drugProblem.url"
                        @close="drugProblem.dialog = false"/>
@@ -318,6 +317,7 @@
                   ref="baoCunXinXiRef"/>
   <!-- 这里是获取模板的 -->
   <huo-qu-mu-ban v-if="muBanDuiHuaKuang"
+                 :dialog="true"
                  @close="muBanDuiHuaKuang = false"
                  @muBanShuJu="muBanShuJu"/>
   <!-- 保存模板用 -->