From 6b6cc07fb81f05153fc07995e0a5be5596b5ca4f Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期一, 29 七月 2024 09:36:45 +0800
Subject: [PATCH] 测试完成

---
 src/views/knowledge/questionbank/particulars/index.vue |  253 ++++++++++++++++++++++++++++++-------------------
 1 files changed, 154 insertions(+), 99 deletions(-)

diff --git a/src/views/knowledge/questionbank/particulars/index.vue b/src/views/knowledge/questionbank/particulars/index.vue
index 3a09165..ca60cd7 100644
--- a/src/views/knowledge/questionbank/particulars/index.vue
+++ b/src/views/knowledge/questionbank/particulars/index.vue
@@ -5,15 +5,12 @@
         <el-form :inline="true" :model="topicobj" class="demo-form-inline">
           <div class="headline">
             棰樼洰璁剧疆璇︽儏
-            <span style="margin-left: 30px"
-              ><el-button type="primary" @click="Saveproblem"
-                >淇� 瀛�</el-button
-              > </span
-            ><span style="margin-left: 30px"
-              ><el-button type="success" round @click="drawer = true"
-                >+閫夋嫨鎸囨爣</el-button
-              ></span
-            >
+            <span style="float: right; margin-right: 30px"
+              ><el-button type="success" @click="Saveproblem">棰勮</el-button>
+            </span>
+            <span style="float: right; margin-right: 30px"
+              ><el-button type="primary" @click="Saveproblem">淇� 瀛�</el-button>
+            </span>
           </div>
           <div style="margin-left: 8%">
             <el-row :gutter="10">
@@ -71,7 +68,7 @@
               <el-col :span="8"
                 ><el-form-item label="棰樼洰鏍囬">
                   <el-input
-                    v-model="topicobj.topic"
+                    v-model="topicobj.scriptTopic"
                     placeholder="璇疯緭鍏ユ爣棰�"
                   ></el-input> </el-form-item
               ></el-col>
@@ -94,7 +91,7 @@
                   </el-select> </el-form-item
               ></el-col>
               <el-col :span="8"
-                ><el-form-item label="璇█(缂�)">
+                ><el-form-item label="璇█">
                   <el-select
                     v-model="topicobj.language"
                     size="medium"
@@ -134,7 +131,7 @@
               <el-col :span="8"
                 ><el-form-item label="棰樼洰绫诲瀷">
                   <el-select
-                    v-model="topicobj.scripttype"
+                    v-model="topicobj.scriptType"
                     size="medium"
                     filterable
                     placeholder="璇烽�夋嫨鍒嗙被"
@@ -152,11 +149,9 @@
               <el-col :span="8"
                 ><el-form-item label="閫傜敤鏂瑰紡">
                   <el-select
-                    v-model="suitwaylist"
-                    size="medium"
-                    filterable
-                    multiple
-                    placeholder="璇烽�夋嫨鍒嗙被"
+                    v-model="topicobj.suitway"
+                    disabled
+                    placeholder="璇烽�夋嫨"
                   >
                     <el-option
                       class="topicobjaa"
@@ -172,9 +167,9 @@
               <el-input
                 style="width: 40vw"
                 type="textarea"
-                id="script"
-                v-model="topicobj.script"
-                @focus="handleInput('script')"
+                id="scriptContent"
+                v-model="topicobj.scriptContent"
+                @focus="handleInput('scriptContent')"
                 placeholder="璇疯緭鍏ラ鐩唴瀹�"
               ></el-input>
             </el-form-item>
@@ -182,23 +177,49 @@
               <el-input
                 style="width: 40vw"
                 type="textarea"
-                v-model="topicobj.scriptContent"
+                v-model="topicobj.scriptDesc"
                 placeholder="璇疯緭鍏ヨ鏄�"
               ></el-input>
+            </el-form-item>
+
+            <el-form-item label="棰樺共鏂囦欢" prop="sickness">
+              <div style="width: 40vw">
+                <el-upload
+                  class="upload-demo"
+                  :action="uploadImgUrl"
+                  :headers="headers"
+                  accept=".jpg,.png,image/*"
+                  :on-success="handleChangetg"
+                >
+                  <el-button size="small" type="primary">鐐瑰嚮涓婁紶</el-button>
+                  <div slot="tip" class="el-upload__tip">
+                    鍙兘涓婁紶jpg/png绫诲瀷鏂囦欢
+                  </div>
+                </el-upload>
+
+                <div style="margin: 20px">
+                  <el-image
+                    style="width: 100px; height: 100px"
+                    :src="topicobj.picturePath"
+                    :preview-src-list="[...topicobj.picturePath]"
+                  >
+                  </el-image>
+                </div>
+              </div>
             </el-form-item>
 
             <el-row>
               <el-form-item label="鏍囩" prop="desc">
                 <div class="xinz-inf">
                   <el-tag
-                    :key="tag"
+                    :key="tag.tagname"
                     type="success"
                     v-for="tag in dynamicTags"
                     closable
                     :disable-transitions="false"
                     @close="handleClosetag(tag)"
                   >
-                    {{ tag }}
+                    {{ tag.tagname }}
                   </el-tag>
                   <el-select
                     v-model="inputValue"
@@ -206,6 +227,7 @@
                     @change="handleInputConfirm"
                     filterable
                     remote
+                    allow-create
                     reserve-keyword
                     default-first-option
                     :remote-method="remoteMethodtag"
@@ -273,60 +295,22 @@
                 </div>
               </el-form-item>
             </el-row>
-            <!-- <el-form-item label="閫氱煡鍙橀噺" prop="name">
-              <div style="margin-bottom: 5px" v-for="item in variablelist">
-                <el-row>
-                  <el-col :span="5">
-                    <el-input
-                      v-model="item.variatename"
-                      placeholder="璇疯緭鍏ュ彉閲忓悕"
-                    ></el-input>
-                  </el-col>
-                  <el-col :span="8" :offset="1">
-                    <el-input
-                      v-model="item.variate"
-                      placeholder="璇疯緭鍏ュ彉閲忓唴瀹�"
-                    ></el-input>
-                  </el-col>
-                  <el-col :span="8" :offset="1">
-                    <el-button
-                      type="success"
-                      icon="el-icon-plus"
-                      circle
-                      @click="addvariable(item)"
-                    ></el-button>
-                    <el-button
-                      v-if="!item.default"
-                      type="danger"
-                      icon="el-icon-delete"
-                      circle
-                      @click="delvariable(item)"
-                    ></el-button>
-                  </el-col>
-                </el-row>
-              </div>
-            </el-form-item>
-            <el-row>
-              <el-col :span="24">
-                <div
-                  style="display: flex; margin-left: 66px; margin-bottom: 10px"
-                >
-                  <div
-                    v-for="item in variablelist"
-                    class="tsgname"
-                    @click="tsgnameto(item)"
-                  >
-                    {{ item.variatename }}
-                  </div>
-                </div>
-              </el-col></el-row
-            > -->
           </div>
-          <div v-if="topicobj.valueType == 1">
+          <div v-if="topicobj.scriptType != 3 && topicobj.scriptType != 4">
             <div class="headline">
               閫夐」璁剧疆<span style="margin-left: 30px"
                 ><el-button type="primary" round @click="addoption"
                   >+鏂板</el-button
+                ></span
+              >
+              <span style="margin-left: 30px"
+                >閫変腑鎸囨爣锛�<el-tag type="success" effect="dark">{{
+                  topicobj.targetname ? topicobj.targetname : "鏈�夋嫨"
+                }}</el-tag></span
+              >
+              <span style="margin-left: 30px"
+                ><el-button type="success" round @click="gettargetInfo"
+                  >+閫夋嫨鎸囨爣</el-button
                 ></span
               >
             </div>
@@ -399,13 +383,34 @@
                   </el-input
                 ></el-form-item>
               </el-row>
+              <el-form-item label="閫夐」鏂囦欢" prop="sickness">
+                <div style="width: 40vw">
+                  <el-upload
+                    class="upload-demo"
+                    :action="uploadImgUrl"
+                    :headers="headers"
+                    accept=".jpg,.png,image/*"
+                    :on-success="handleChange.bind(this, item)"
+                  >
+                    <el-button size="small" type="primary">鐐瑰嚮涓婁紶</el-button>
+                  </el-upload>
+                  <div style="margin: 20px">
+                    <el-image
+                      style="width: 100px; height: 100px"
+                      :src="item.picturePath"
+                      :preview-src-list="[...item.picturePath]"
+                    >
+                    </el-image>
+                  </div>
+                </div>
+              </el-form-item>
             </div>
           </div>
         </el-form>
       </el-card>
     </div>
     <el-drawer
-      title="娣诲姞閫夐」"
+      title="閫夋嫨鎸囨爣"
       :visible.sync="drawer"
       custom-class="demo-drawer"
       size="50%"
@@ -504,13 +509,20 @@
   illnesslistget,
   getillness,
 } from "@/api/AiCentre/index";
+import { getToken } from "@/utils/auth";
 
 export default {
   data() {
     return {
       topicobj: {
         svyLibScriptOptions: [],
+        svyLibScriptTagList: [],
+        suitway: "1",
       },
+      headers: {
+        Authorization: "Bearer " + getToken(),
+      },
+      uploadImgUrl: process.env.VUE_APP_BASE_API + "/common/uploadSort",
       inputVisible: false,
       inputValue: "",
       currentInputId: "",
@@ -527,6 +539,11 @@
         { variatename: "鐢佃瘽", variate: "${phone}", default: 1 },
         { variatename: "鐥呮儏", variate: "${illness}", default: 1 },
       ],
+      url: "https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg",
+      srcList: [
+        "https://fuss10.elemecdn.com/8/27/f01c15bb73e1ef3793e64e6b7bbccjpeg.jpeg",
+        "https://fuss10.elemecdn.com/1/8e/aeffeb4de74e2fde4bd74fc7b4486jpeg.jpeg",
+      ],
       // 鏌ヨ鍙傛暟
       queryParams: {
         pageNum: 1,
@@ -534,9 +551,9 @@
         isavailable: "",
       },
       optionlist: [
-        { value: "topic", table: "topic" },
-        { value: "topic", table: "topic" },
-        { value: "topic", table: "topic" },
+        { value: "scriptTopic", table: "scriptTopic" },
+        { value: "scriptTopic", table: "scriptTopic" },
+        { value: "scriptTopic", table: "scriptTopic" },
       ],
       inputValueillness: "",
       required: [],
@@ -567,7 +584,7 @@
   created() {
     this.gettabList();
     this.getissueinfo();
-    this.gettargetInfo();
+    // this.gettargetInfo();
     this.mode = store.getters.mode;
     this.languagelist = store.getters.languagelist;
     this.usable = store.getters.usable;
@@ -579,6 +596,9 @@
     // 鍏叡鏂规硶---------------
     getIndexInArray(arr, obj) {
       return arr.indexOf(obj);
+    },
+    processElement(element) {
+      return { ...element, isoperation: 1 };
     },
     // 閫掑綊鎵佸钩鍖�
     flattenArray(arr) {
@@ -609,8 +629,9 @@
       }
       getissuelist({ id: this.id }).then((res) => {
         this.topicobj = res.rows[0];
-        this.dynamicTags = this.topicobj.tag.split(",");
-        this.suitwaylist = this.topicobj.suitway.split(",");
+        this.dynamicTags = this.topicobj.svyLibScriptTagList.map(
+          this.processElement
+        );
         this.variablelist = JSON.parse(this.topicobj.otherdata)
           ? JSON.parse(this.topicobj.otherdata)
           : this.variablelist;
@@ -626,9 +647,11 @@
       });
     },
     gettargetInfo() {
+      this.queryParams.scriptType = this.topicobj.scriptType;
       gettargetInfo(this.queryParams).then((res) => {
         this.targetList = res.rows;
         this.total = res.total;
+        this.drawer = true;
       });
     },
     // 鏂板鎴栦慨鏀硅鎯�
@@ -641,9 +664,11 @@
           return item;
         }
       );
+      this.topicobj.targetoptions = this.topicobj.svyLibScriptOptions
+        .filter((item) => item.isoperation != 3)
+        .map((item) => item.optioncontent)
+        .join(", ");
       this.topicobj.otherdata = JSON.stringify(this.variablelist);
-      this.topicobj.tag = this.dynamicTags.join(",");
-      this.topicobj.suitway = this.suitwaylist.join(",");
       if (this.id) {
         this.topicobj.isoperation = 2;
         compileissue(this.topicobj).then((res) => {
@@ -696,13 +721,15 @@
             Number(score.score) <= 0 ||
             Number(score.score) > Number(this.topicobj.score)
           ) {
-            console.log(22);
+            console.log(score, "閿欒鍒嗗��");
             this.$message({
               message: "閫夐」鍒嗗�煎繀椤诲ぇ浜�0灏忎簬绛変簬" + this.topicobj.score + "鍒�",
               type: "warning",
             });
             return false;
           }
+          return true;
+        } else if (this.topicobj.scriptType == 3) {
           return true;
         } else {
           this.$message({
@@ -720,16 +747,12 @@
     },
     Saveproblem() {
       if (this.topicobj.scoretype == 1) {
-        console.log(321);
         this.Scorejudgment();
       } else {
         this.compileissue();
       }
     },
-    // 鍒犻櫎鏍囩
-    handleClose(tag) {
-      this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1);
-    },
+
     // 鍒犻櫎閫夐」
     deletexuanx(row) {
       const index = this.getIndexInArray(
@@ -758,10 +781,11 @@
         )
         .then(() => {
           console.log(row);
-          console.log(this.topicobj);
-          this.topicobj.topic = row.targetname;
+          this.topicobj.scriptTopic = row.targetname;
           this.topicobj.valueType = row.valueType;
           this.topicobj.scriptContent = row.targetdesc;
+          this.topicobj.targetid = row.id;
+          this.topicobj.targetname = row.targetname;
           this.topicobj.isavailable = "0";
           this.topicobj.language = "鏅�氳瘽";
           this.topicobj.svyLibScriptOptions = [];
@@ -785,14 +809,16 @@
         tagcategoryid: "0",
       };
       listtag(tagqueryParams).then((response) => {
-        console.log(response);
+        console.log(response, "寰呴�夋爣绛�");
         this.optionstag = response.rows;
       });
     },
     handleClosetag(tag) {
       console.log(tag);
       console.log(this.dynamicTags.indexOf(tag));
+      const lindex = this.dynamicTags.indexOf(tag);
       this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1);
+      this.topicobj.svyLibScriptTagList[lindex].delFlag = 1;
     },
     handleInputConfirm() {
       let tagvalue = {};
@@ -814,7 +840,8 @@
             };
           }
           // this.dynamicTags.push(tagvalue);
-          this.dynamicTags.push(tagvalue.tagname);
+          this.topicobj.svyLibScriptTagList.push(tagvalue);
+          this.dynamicTags.push(tagvalue);
         });
       }
       this.inputVisible = false;
@@ -890,15 +917,20 @@
     //   this.illnessVisible = false;
     //   this.$modal.msgSuccess("缂栬緫鎴愬姛");
     // },
-    resetQuery() {},
+    resetQuery() {
+      this.queryParams = {
+        pageNum: 1,
+        pageSize: 10,
+      };
+      this.gettargetInfo();
+    },
     // 渚挎嵎鏍囩
     tsgnameto(row) {
       let inputValueArr = "";
       let el = document.querySelector("#" + this.currentInputId);
       //el.selectionStart; 杩欏氨鏄綋鍓嶅厜鏍囨墍鍦ㄧ殑浣嶇疆锛堝瓧绗︿覆涓瓧绗︾殑index锛�
-      if (this.currentInputId == "script") {
-        inputValueArr = this.topicobj.script.split("");
-        console.log(123);
+      if (this.currentInputId == "scriptContent") {
+        inputValueArr = this.topicobj.scriptContent.split("");
       } else if (this.currentInputId == "nomatchtext") {
         inputValueArr = this.topicobj.nomatchtext.split("");
       } else if (this.currentInputId == "sliencetext") {
@@ -919,8 +951,8 @@
       // 鎶婃暟缁勯噸鏂拌浆鎹负瀛楃涓插苟璧嬪��
       inputValueArr = inputValueArr.join("");
       console.log(inputValueArr);
-      if (this.currentInputId == "script") {
-        this.topicobj.script = inputValueArr;
+      if (this.currentInputId == "scriptContent") {
+        this.topicobj.scriptContent = inputValueArr;
       } else if (this.currentInputId == "nomatchtext") {
         this.topicobj.nomatchtext = inputValueArr;
       } else if (this.currentInputId == "sliencetext") {
@@ -996,8 +1028,31 @@
     // 绛涢�夐敊璇矾绾�
     screen(data) {
       const arraysGreaterThan10 = data.filter((arr) => this.sumArray(arr) > 21);
-
       console.log(arraysGreaterThan10, "绛涢�夐敊璇矾绾垮ぇ浜�13鍒�");
+    },
+    // 閫夐」鏂囦欢涓婁紶
+    handleChange(item, response, file, fileList) {
+      console.log(response);
+      if (response.code == 200) {
+        console.log(item);
+        let index = this.topicobj.svyLibScriptOptions.findIndex(
+          (obj) => obj.optioncontent == item.optioncontent
+        );
+        console.log(index);
+        this.topicobj.svyLibScriptOptions[index].picturePath = response.url;
+        console.log(this.topicobj.svyLibScriptOptions[index]);
+        this.$forceUpdate();
+      } else {
+        this.$message.error("鍥剧墖鎻掑叆澶辫触");
+      }
+    },
+    // 棰樺共鏂囦欢涓婁紶
+    handleChangetg(response, file, fileList) {
+      if (response.code == 200) {
+        this.topicobj.picturePath = response.url;
+      } else {
+        this.$message.error("鍥剧墖鎻掑叆澶辫触");
+      }
     },
   },
 };
@@ -1075,7 +1130,7 @@
   border: 1px solid #dcdfe6;
   -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12),
     0 0 6px 0 rgba(0, 0, 0, 0.04);
-  .topic-dev {
+  .scriptTopic-dev {
     margin-bottom: 25px;
     font-size: 20px !important;
     .dev-text {

--
Gitblit v1.9.3