Procházet zdrojové kódy

智能开方-左侧中医电子病历添加刷新按钮 [755dd036]

cc12458 před 3 týdny
rodič
revize
200d37f611
2 změnil soubory, kde provedl 48 přidání a 2 odebrání
  1. 19 0
      src/api/diagnosis.js
  2. 29 2
      src/views/diagnosis/Prescribing.vue

+ 19 - 0
src/api/diagnosis.js

@@ -111,6 +111,25 @@ export function getPatiensBasisM(data) {
     }).then(res => removeRedundantSemicolons(res));
 };
 
+// 刷新电子病历信息
+export function refreshElectronicInfo(data) {
+  return request({
+    url: '/test/outpatient/refreshElectronicInfo?patientId=' + data.patientId,
+    method: 'post',
+    ignoreErrorMessage: '请重试',
+  }).then(res => {
+    if (res.ResultCode !== 0) throw Error(res.ResultInfo || `请重试`);
+    if (res.Data == null) throw Error(`暂无新数据,请稍后刷新`);
+    const {pulseDiagnosisReportVo, ..._data} = res.Data;
+    const data = removeRedundantSemicolons(_data);
+    return data.outpatientElectronicmedicalrecord != null ? data : {
+      outpatientElectronicmedicalrecord: data,
+      pulseDiagnosisReportVo,
+    };
+  });
+}
+
+
 // 获取表格 药品列表
 export function getTableDrug(data, isPurposeType = false) {
     if (isPurposeType) {

+ 29 - 2
src/views/diagnosis/Prescribing.vue

@@ -22,7 +22,11 @@
       <div class="pre-title mr-t10">
         <div class="flex-vertical-center-l title-container">
           <span></span>
-          <div>中医电子病历</div>
+          <div style="display: flex;justify-content: space-between; align-items: center; width: 100%">
+            中医电子病历
+            <el-button v-if="showRecordLoading" style="padding: 4px 8px; transform: translateY(2px)" size="mini" :loading="recordLoading" @click="loadRecord()">
+              {{ recordLoading ? '' : '刷新' }}</el-button>
+          </div>
         </div>
       </div>
       <div class="patiens-msg" v-if="patiensMsg.outpatientElectronicmedicalrecord">
@@ -1152,6 +1156,7 @@ import medAdress from "./components/medAddress.vue";
 import medAdressNew from "./components/medAddressNew.vue";
 import {
   getPatiensBasisM,
+  refreshElectronicInfo,
   getTongueAndFaceAnalysisRecords,
   addRecipe,
   getRecipeShowData,
@@ -1215,6 +1220,7 @@ export default {
       AI_MODEL_URL: window.SIX_config.AI_MODEL_URL,
       unifyPrescriptionTitle: window.SIX_config.unifyPrescription,
 
+      recordLoading: false, // 中医电子病历
       tongueAndFaceLoading: false, // 舌面象加载
       tongueAndFaceAnalysis: null, // 舌面象数据
       showTongueAnalysis: false, // 舌象分析弹窗
@@ -1352,6 +1358,7 @@ export default {
         }
       ],
       patiensMsg: {}, // 患者信息
+      patientMsgPreviewImages: [], // 患者信息预览图片
       dianosisMsg: [], // 诊断信息
 
       ops: {
@@ -1424,6 +1431,23 @@ export default {
     }
   },
   methods: {
+    async loadRecord(tips = true) {
+      this.recordLoading = true;
+      try {
+        let data = await refreshElectronicInfo({
+          patientId: this.getPatiensInfo.pid
+        });
+        if (data.outpatientElectronicmedicalrecord) {
+          data.outpatientElectronicmedicalrecord.image1 = formatPicture(data.outpatientElectronicmedicalrecord.image1);
+          this.patientMsgPreviewImages = [...data.outpatientElectronicmedicalrecord.image1];
+        }
+        this.patiensMsg = {...this.patiensMsg, ...data};
+        if (tips) this.$message.success('刷新成功');
+      } catch (e) {
+        if (tips) this.$message.error(e.message);
+      }
+      this.recordLoading = false;
+    },
     // 处理路由参数
     async _processRouteQuery() {
       const query = this.$route.query || {};
@@ -4595,7 +4619,10 @@ export default {
         : 0
       ).toFixed(2);
     },
-    ...mapGetters(["getPatiensInfo", "getuserinfo", "getDrugInfo", "getRecipeId", "getIsSee", "getPreNo"])
+    ...mapGetters(["getPatiensInfo", "getuserinfo", "getDrugInfo", "getRecipeId", "getIsSee", "getPreNo"]),
+    showRecordLoading() {
+      return true;
+    },
   },
   filters: {
     ftsjj(value) {