Procházet zdrojové kódy

task-59 电子病历字段去除多余分号
修复: 75cb2a5b69e69db4f6e68c00f792ed1d0f1fb43e [75cb2a5]

cc12458 před 1 rokem
rodič
revize
8ebaeefa30
2 změnil soubory, kde provedl 15 přidání a 3 odebrání
  1. 4 3
      src/api/diagnosis.js
  2. 11 0
      src/api/hack.js

+ 4 - 3
src/api/diagnosis.js

@@ -1,5 +1,6 @@
 import request from '@/utils/request.js'
 import {fromAnalysisModel} from "@/model/tongue-analysis.model";
+import {removeRedundantSemicolons} from '@/api/hack';
 
 // 获取就诊病人信息
 export function getPatiiensMsg(data) {
@@ -56,7 +57,7 @@ export function getPatiensBasisM(data) {
         url: '/test/outpatient/patientBaseInfo?patientId=' + data.patientId,
         method: 'post',
         // data
-    })
+    }).then(res => removeRedundantSemicolons(res));
 };
 
 // 获取表格 药品列表
@@ -138,7 +139,7 @@ export function addEMR(data) {
     return request({
         url: '/outpatient/electronicmedicalrecordMgr/Add',
         method: 'post',
-        data
+        data: removeRedundantSemicolons(data),
     })
 };
 
@@ -147,7 +148,7 @@ export function editEMR(data) {
     return request({
         url: '/outpatient/electronicmedicalrecordMgr/update',
         method: 'post',
-        data
+        data: removeRedundantSemicolons(data),
     })
 };
 

+ 11 - 0
src/api/hack.js

@@ -0,0 +1,11 @@
+export function removeRedundantSemicolons(data) {
+    if (Array.isArray(data)) return data.map(item => removeRedundantSemicolons(item));
+    if (data && typeof data === 'object') return Object.fromEntries(
+        Object.entries(data).map(([key, value]) => [key, removeRedundantSemicolons(value)]),
+    );
+    if (typeof data === 'string') return data
+        .replace(/^[\s;]+/, '')         // 去除开头的分号和空白
+        .replace(/\s*;+\s*/g, ';')      // 分号和两边空白合并为一个分号
+        .replace(/;{2,}/g, ';');        // 再次合并可能出现的连续分号
+    return data;
+}