Просмотр исходного кода

修复:中医电子病历-报告上传 提交图片地址问题

cc12458 1 год назад
Родитель
Сommit
c86128b8ae
2 измененных файлов с 11 добавлено и 21 удалено
  1. 7 0
      src/utils/picture.js
  2. 4 21
      src/views/diagnosis/Emr.vue

+ 7 - 0
src/utils/picture.js

@@ -2,4 +2,11 @@ export function formatPicture(picture) {
     if (typeof picture === 'string') picture = picture.split(',');
     if (!picture || !Array.isArray(picture)) return [];
     return picture.filter(Boolean).map(url => /https?/.test(url) ? url : `${process.env.VUE_APP_UPLOAD}file/${url}`);
+}
+
+export function toPicture(picture) {
+    if (typeof picture === 'string') picture = picture.split(',');
+    if (!picture || !Array.isArray(picture)) return [];
+    const r = new RegExp(`^${process.env.VUE_APP_UPLOAD}file/`)
+    return picture.map(url => url.replace(r, '')).filter(Boolean).join(',');
 }

+ 4 - 21
src/views/diagnosis/Emr.vue

@@ -54,7 +54,7 @@ import { mapGetters, mapMutations } from "vuex";
 import uploadFile from "@/components/UploadFile.vue";
 import PriviewEdit from "../business/components/PriviewEdit.vue";
 
-import { formatPicture } from "@/utils/picture";
+import {formatPicture, toPicture} from "@/utils/picture";
 
 export default {
   components: {
@@ -690,15 +690,9 @@ export default {
     async addEMR(next = null) {
       let paramsData = this.backUploadData();
       let images = this.$refs.edit.imageUrl;
-      let spliceRules = process.env.VUE_APP_UPLOAD + "file/";
-
-      let uploadImages = [];
-      images.forEach(item => {
-        uploadImages.push(item.split(spliceRules)[1]);
-      });
 
       let params = {
-        image1: uploadImages.join(","), // 报告上传
+        image1: toPicture(images), // 报告上传
         // 患者id
         recordsid: this.getPatiensInfo.pid,
         templateId: this.temItem.pid,
@@ -746,15 +740,9 @@ export default {
     async setDataToHis() {
       let paramsData = this.backUploadData();
       let images = this.$refs.edit.imageUrl;
-      let spliceRules = process.env.VUE_APP_UPLOAD + "file/";
-
-      let uploadImages = [];
-      images.forEach(item => {
-        uploadImages.push(item.split(spliceRules)[1]);
-      });
 
       let params = {
-        image1: uploadImages.join(","), // 报告上传
+        image1: toPicture(images), // 报告上传
         // 患者id
         recordsid: this.getPatiensInfo.pid,
         templateId: this.temItem.pid,
@@ -846,14 +834,9 @@ export default {
     async editEMR(next = null) {
       let paramsData = this.backUploadData();
       let images = this.$refs.edit.imageUrl;
-      let spliceRules = process.env.VUE_APP_UPLOAD + "file/";
 
-      let uploadImages = [];
-      images.forEach(item => {
-        uploadImages.push(item.split(spliceRules)[1]);
-      });
       let params = {
-        image1: uploadImages.join(","), // 报告上传
+        image1: toPicture(images), // 报告上传
         // 患者id
         recordsid: this.getPatiensInfo.pid,
         pid: this.pid,