From 9ff0d92f9e7a58c405ef64e028cc7baf90d5f378 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期一, 09 九月 2024 10:51:25 +0800
Subject: [PATCH] 测试完成

---
 src/views/knowledge/education/compilequer/index.vue |  246 +++++++++++++++++++++++--------------------------
 1 files changed, 116 insertions(+), 130 deletions(-)

diff --git a/src/views/knowledge/education/compilequer/index.vue b/src/views/knowledge/education/compilequer/index.vue
index 57f987d..c605e6e 100644
--- a/src/views/knowledge/education/compilequer/index.vue
+++ b/src/views/knowledge/education/compilequer/index.vue
@@ -142,6 +142,7 @@
                 @change="handleInputConfirm"
                 filterable
                 remote
+                allow-create
                 reserve-keyword
                 default-first-option
                 :remote-method="remoteMethodtag"
@@ -175,22 +176,15 @@
             ></el-col>
             <el-col :span="9">
               <el-form-item label="鍙敤鐘舵��" prop="region">
-                <el-select
-                  v-model="ruleForm.isavailable"
-                  size="medium"
-                  filterable
-                  placeholder="璇烽�夋嫨鍒嗙被"
-                >
-                  <el-option
-                    class="ruleFormaa"
-                    v-for="item in usable"
-                    :key="item.value"
-                    :label="item.label"
-                    :value="item.value"
+                <el-radio-group v-model="ruleForm.isAvailable">
+                  <el-radio
+                    v-for="(item, index) in usable"
+                    :label="item.value"
+                    >{{ item.label }}</el-radio
                   >
-                  </el-option>
-                </el-select> </el-form-item
-            ></el-col>
+                </el-radio-group>
+              </el-form-item></el-col
+            >
           </el-row>
           <el-form-item label="瀹f暀鏂瑰紡" prop="region">
             <el-select
@@ -211,45 +205,9 @@
             </el-select>
           </el-form-item>
           <el-form-item label="閫傜敤鐤剧梾" prop="region">
-            <div class="xinz-inf">
-              <el-tag
-                :key="item.icd10name"
-                type="warning"
-                v-for="item in illnesslist"
-                closable
-                :disable-transitions="false"
-                @close="handleCloseillness(item)"
-              >
-                {{ item.icd10name }}
-              </el-tag>
-              <el-select
-                v-model="inputValue"
-                v-if="illnessVisible"
-                @change="illnessConfirm"
-                :remote-method="remoteMethod"
-                filterable
-                remote
-                allow-create
-                default-first-option
-                placeholder="璇烽�夋嫨/鏌ヨ"
-                :loading="loading"
-              >
-                <el-option
-                  v-for="item in optionsillness"
-                  :key="item.icdid"
-                  :label="item.icdname"
-                  :value="item.icdid"
-                >
-                </el-option>
-              </el-select>
-              <el-button
-                v-else
-                class="button-new-tag"
-                size="small"
-                @click="illnessshowInput"
-                >+ 鏂板鐤剧梾</el-button
-              >
-            </div>
+            <el-button type="warning" @click="$refs.child.handleAddpatient()"
+              >娣诲姞鐤剧梾</el-button
+            >
           </el-form-item>
           <el-form-item label="閫傜敤闄㈠尯" prop="region">
             <el-select
@@ -385,6 +343,14 @@
         </div>
       </div>
     </div>
+    <!-- 娣诲姞閫傜敤鐤剧梾绐楀彛 -->
+    <Optional-Form
+      ref="child"
+      :dialogVisiblepatient="dialogVisiblepatient"
+      :overallCase="illnesslist"
+      @addoption="dialogVisiblepatient = false"
+      @kkoption="dialogVisiblepatient = true"
+    />
   </div>
 </template>
 
@@ -407,6 +373,8 @@
   illnesslistget,
   getillness,
 } from "@/api/AiCentre/index";
+import OptionalForm from "@/components/OptionalForm"; //姝e垯缁勪欢
+
 import { listDept } from "@/api/system/dept";
 // import * as Quill from "quill";
 import Quill from "quill";
@@ -440,12 +408,14 @@
 ];
 
 export default {
+  name: "aEducationinfo",
+  components: { OptionalForm },
   data() {
     return {
       headers: {
         Authorization: "Bearer " + getToken(),
       },
-      uploadImgUrl: process.env.VUE_APP_BASE_API + "/common/upload",
+      uploadImgUrl: process.env.VUE_APP_BASE_API + "/common/uploadSort",
       uploadImgUrlword: process.env.VUE_APP_BASE_API + "/common/uploadShow",
       uploadUrlPath: "娌℃湁鏂囦欢涓婁紶",
       quillUpdateImg: false,
@@ -464,6 +434,7 @@
       dynamicTags: [],
       inputVisible: false,
       illnessVisible: false,
+      dialogVisiblepatient: false, //閫傜敤鐤剧梾绐楀彛
       inputValue: "",
       // 瀵屾枃鏈�
       editorOption: {
@@ -513,6 +484,8 @@
       radioas: "", //濉┖棰樼瓟妗�
       // 鎬绘潯鏁�
       total: 1,
+      hetype: "",
+      id: null,
       ruleForm: {
         campus: [],
         heLibraryTagList: [],
@@ -570,6 +543,13 @@
       },
     };
   },
+  activated() {
+    if (this.id != this.$route.query.id) {
+      this.gettabList();
+      this.getList();
+      this.illnessUpdate();
+    }
+  },
 
   created() {
     this.gettabList();
@@ -597,6 +577,7 @@
     getList() {
       this.loading = true;
       this.id = this.$route.query.id;
+      this.hetype = this.$route.query.hetype;
       if (this.id) {
         getlibraryinfo({ id: this.id }).then((res) => {
           this.ruleForm = res.data[0];
@@ -604,7 +585,7 @@
           this.dynamicTags = res.data[0].heLibraryTagList.map(
             this.processElement
           );
-          this.Getmissioncontent(this.ruleForm.richText);
+          this.Getmissioncontent(this.ruleForm.htmlRichText);
           if (this.ruleForm.deptNames) {
             this.tempDetpRelevanceslist = JSON.parse(this.ruleForm.deptNames);
           }
@@ -619,6 +600,7 @@
       // 瀹f暀鍒嗙被
       getheLibraryAssort({}).then((res) => {
         this.sortlist = res.rows;
+        console.log(this.sortlist);
       });
       // 閮ㄩ棬
       listDept(this.queryParams).then((response) => {
@@ -635,34 +617,79 @@
       this.ruleForm.campus = this.ruleForm.campus.join(",");
       this.ruleForm.labelInfo = tgs.length != 0 ? tgs.join(", ") : "";
       this.ruleForm.otherdata = JSON.stringify(this.variablelist);
+      this.ruleForm.hetype = 1;
       console.log(22);
       this.ruleForm.suitway =
         this.ruleForm.suitway.length != 0
           ? this.ruleForm.suitway.join(",")
           : "";
-      if (this.id) {
-        this.ruleForm.isoperation = 2;
-      } else {
-        this.ruleForm.isoperation = 1;
-      }
+      addrichText({
+        content: this.content,
+        fileName: this.generateRandomHtmlFilename(),
+      }).then((res) => {
+        this.ruleForm.richText = res.msg;
+        this.ruleForm.htmlRichText = this.replaceIpAndPort(res.msg);
+        this.ruleForm.htmlRichText = this.removePathSegment(this.ruleForm.htmlRichText,'prod-api');
+        console.log(this.ruleForm.htmlRichText,'this.ruleForm.htmlRichText');
+
+        if (this.id) {
+          this.ruleForm.isoperation = 2;
+          compilelibrary(this.ruleForm).then((res) => {
+            this.$modal.msgSuccess("缂栬緫鎴愬姛");
+            this.confirmillness();
+            this.$router.go(-1);
+          });
+        } else {
+          this.ruleForm.isoperation = 1;
+          compilelibrary(this.ruleForm).then((res) => {
+            this.$modal.msgSuccess("鏂板鎴愬姛");
+            this.confirmillness(res.data);
+            this.$router.go(-1);
+          });
+        }
+      });
+    },
+    replaceIpAndPort(path) {
+      // 姝e垯琛ㄨ揪寮忓尮閰岻P鍦板潃鍜岀鍙�
+      const ipPortRegex = /(\b(?:\d{1,3}\.){3}\d{1,3}(?::\d+)?)/;
+      // 鏇挎崲涓烘寚瀹氱殑IP鍦板潃鍜岀鍙�
+      return path.replace(ipPortRegex, "192.168.191.181:8095");
+    },
+    removePathSegment(url, segment) {
+    // 浣跨敤姝e垯琛ㄨ揪寮忓叏灞�鍖归厤骞舵浛鎹㈡帀鎸囧畾鐨勮矾寰勬
+    return url.replace(new RegExp('/' + segment + '/?', 'g'), '/');
+},
+    generateRandomHtmlFilename() {
+    // 鐢熸垚涓�涓�0鍒�1涔嬮棿鐨勯殢鏈烘暟锛屽苟灏嗗叾杞崲涓哄瓧绗︿覆
+    let randomNumber = Math.random().toString();
+    // 绉婚櫎鍓嶉潰鐨�0鍜屽皬鏁扮偣
+    randomNumber = randomNumber.substring(6);
+    // 纭繚鐢熸垚鐨勯殢鏈烘暟鏄竴瀹氶暱搴︾殑锛屼緥濡�8浣�
+    while (randomNumber.length < 8) {
+        randomNumber = '0' + randomNumber;
+    }
+    // 鎷兼帴涓�.html鍚庣紑
+    return randomNumber + '.html';
+},
+
+    // 淇濆瓨鐤剧梾
+    confirmillness(guid) {
       this.illnesslist.forEach((item, index) => {
+        if (guid) {
+          item.outid = guid;
+        } else {
+          console.log(this.ruleForm);
+          item.outid = this.ruleForm.id;
+        }
+        item.icd10name = item.icdname;
+        item.icd10code = item.icdcode;
+        item.type = 6;
         if (!item.id) {
           addtargetillness(item).then((res) => {});
         }
       });
-      if (this.illnesslistapi.length) {
-        deltargetillness(this.illnesslistapi.join(",")).then((res) => {});
-      }
-      addrichText({
-        content: this.content,
-        fileName: this.fileName ? this.fileName : "娴嬭瘯.html",
-      }).then((res) => {
-        this.ruleForm.richText = res.msg;
-        compilelibrary(this.ruleForm).then((res) => {
-          this.$modal.msgSuccess("缂栬緫鎴愬姛");
-          this.$router.go(-1);
-        });
-      });
+      this.illnessVisible = false;
+      this.$modal.msgSuccess("缂栬緫鎴愬姛");
     },
     getFileNameFromPath(path) {
       const parts = path.split("/");
@@ -815,62 +842,19 @@
     },
     // 鐤剧梾-----------------------
     illnessUpdate() {
-      this.illnesslistapi = [];
-      const illnessqueryParams = {
-        pageNum: 1,
-        pageSize: 100,
-      };
-      getillnesslist(illnessqueryParams).then((response) => {
-        this.optionsillness = response.rows;
-      });
-      getillness({ outid: this.$route.query.id, type: 6 }).then((res) => {
-        this.illnesslist = res.rows;
-      });
-    },
-    handleCloseillness(tag) {
-      this.illnesslist.splice(this.illnesslist.indexOf(tag), 1);
-      if (tag.id) {
-        this.illnesslistapi.push(tag.id);
+      if (this.id) {
+        getillness({ outid: this.$route.query.id, type: 6 }).then((res) => {
+          this.illnesslist = res.rows;
+          this.illnesslist.forEach((item) => {
+            item.icdname = item.icd10name;
+          });
+        });
       }
     },
-    remoteMethod(value) {
-      const illnessqueryParams = {
-        pageNum: 1,
-        pageSize: 100,
-        icdname: value,
-      };
-      this.loading = true;
-      setTimeout(() => {
-        this.loading = false;
-        getillnesslist(illnessqueryParams).then((response) => {
-          this.optionsillness = response.rows;
-        });
-      }, 200);
-    },
-    illnessConfirm(item) {
-      let opeavalue = {};
-      let tagname = this.inputValue;
-      illnesslistget(item).then((res) => {
-        opeavalue = res.data;
-        opeavalue.outid = this.id;
-        opeavalue.type = 6;
-        opeavalue.icd10id = opeavalue.icdid;
-        opeavalue.icd10name = opeavalue.icdname;
-        opeavalue.icd10code = opeavalue.icdcode;
-        if (tagname) {
-          this.illnesslist.push(opeavalue);
-        }
-      });
-      this.illnessVisible = false;
-      this.inputValue = "";
-    },
 
-    illnessshowInput() {
-      this.illnessVisible = true;
-    },
     // --------------------------
 
-    // 棰勮妯$増
+    // 棰勮妯℃澘
     PreviewTemplate() {
       this.drawer = true;
     },
@@ -891,12 +875,12 @@
     // 涓婁紶鍥剧墖鎴愬姛
     uploadEditorSuccess(res, file) {
       console.log("涓婁紶鎴愬姛");
-      // this.$emit('upload',res, file)
-      console.log(res, file);
       //鎷兼帴鍑轰笂浼犵殑鍥剧墖鍦ㄦ湇鍔″櫒鐨勫畬鏁村湴鍧�
       let imgUrl = res.url;
+      imgUrl=this.replaceIpAndPort(imgUrl)
       let type = imgUrl.substring(imgUrl.lastIndexOf(".") + 1);
-      console.log(type);
+      this.fileName = this.getFileNameFromPath(res.url);
+
       // 鑾峰彇瀵屾枃鏈粍浠跺疄渚�
       let quill = this.$refs.customQuillEditor.quill;
       // 鑾峰彇鍏夋爣鎵�鍦ㄤ綅缃�
@@ -968,7 +952,8 @@
           console.log(response.data, "鏁版嵁"); // 杈撳嚭鑾峰彇鍒扮殑鏂囦欢鍐呭
           this.content = response.data;
           this.texturl = res.url;
-          this.fileName = this.getFileNameFromPath(res.url);
+          this.fileName = this.getFileNameFromPath(response.url);
+          console.log(this.fileName, "this.fileName");
         })
         .catch((error) => {
           console.error("Failed to fetch file:", error);
@@ -980,7 +965,8 @@
         .then((response) => {
           console.log(response.data, "鏁版嵁"); // 杈撳嚭鑾峰彇鍒扮殑鏂囦欢鍐呭
           this.content = response.data;
-          this.fileName = this.getFileNameFromPath(res.url);
+          this.fileName = this.getFileNameFromPath(response.url);
+          console.log(this.fileName, "this.fileName");
         })
         .catch((error) => {
           console.error("Failed to fetch file:", error);

--
Gitblit v1.9.3