From 41b1f5280255ac539e40d4cd794532ae1829ce17 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期四, 01 八月 2024 18:25:36 +0800
Subject: [PATCH] 测试完成

---
 src/views/knowledge/questionbank/particulars/index.vue |  230 ++++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 170 insertions(+), 60 deletions(-)

diff --git a/src/views/knowledge/questionbank/particulars/index.vue b/src/views/knowledge/questionbank/particulars/index.vue
index 4f19bb6..ac445b6 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">
@@ -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"
@@ -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"
@@ -193,16 +188,20 @@
                   class="upload-demo"
                   :action="uploadImgUrl"
                   :headers="headers"
-                  :accept="'image/*,video/*'"
-                  :on-change="handleChangetg"
+                  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="url"
-                    :preview-src-list="[...url]"
+                    :src="topicobj.picturePath"
+                    :preview-src-list="[...topicobj.picturePath]"
                   >
                   </el-image>
                 </div>
@@ -213,14 +212,14 @@
               <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"
@@ -228,6 +227,7 @@
                     @change="handleInputConfirm"
                     filterable
                     remote
+                    allow-create
                     reserve-keyword
                     default-first-option
                     :remote-method="remoteMethodtag"
@@ -252,7 +252,7 @@
                 </div>
               </el-form-item>
             </el-row>
-            <el-row>
+            <!-- <el-row>
               <el-form-item label="閫傜敤鐤剧梾" prop="region">
                 <div class="xinz-inf">
                   <el-tag
@@ -294,9 +294,22 @@
                   >
                 </div>
               </el-form-item>
-            </el-row>
+            </el-row> -->
+            <el-form-item label="閫変腑鎸囨爣锛�">
+              <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
+              >
+            </el-form-item>
           </div>
-          <div v-if="topicobj.scriptType != 3">
+
+          <div v-if="topicobj.scriptType != 3 && topicobj.scriptType != 4">
             <div class="headline">
               閫夐」璁剧疆<span style="margin-left: 30px"
                 ><el-button type="primary" round @click="addoption"
@@ -351,7 +364,8 @@
                     </el-radio-group>
                   </el-form-item>
                 </el-col>
-                <el-col :span="2">
+
+                <el-col :span="2" :offsset="topicobj.scoretype == 4 ? 11 : 0">
                   <el-button
                     type="danger"
                     icon="el-icon-delete"
@@ -360,7 +374,14 @@
                   ></el-button>
                 </el-col>
               </el-row>
-
+              <el-row :gutter="10">
+                <el-form-item label="棰勮鍊�">
+                  <el-radio-group v-model="item.isabnormal">
+                    <el-radio :label="1">鏄�</el-radio>
+                    <el-radio :label="0">鍚�</el-radio>
+                  </el-radio-group>
+                </el-form-item>
+              </el-row>
               <el-row :gutter="10">
                 <el-form-item label="閫変腑鎻愮ず">
                   <el-input
@@ -379,7 +400,7 @@
                     class="upload-demo"
                     :action="uploadImgUrl"
                     :headers="headers"
-                    :accept="'image/*,video/*'"
+                    accept=".jpg,.png,image/*"
                     :on-success="handleChange.bind(this, item)"
                   >
                     <el-button size="small" type="primary">鐐瑰嚮涓婁紶</el-button>
@@ -400,7 +421,7 @@
       </el-card>
     </div>
     <el-drawer
-      title="娣诲姞閫夐」"
+      title="閫夋嫨鎸囨爣"
       :visible.sync="drawer"
       custom-class="demo-drawer"
       size="50%"
@@ -413,9 +434,27 @@
           :inline="true"
           label-width="98px"
         >
-          <el-form-item label="鏍囬" prop="userName">
+          <el-form-item label="鎸囨爣鍚嶇О" prop="userName">
             <el-input
               v-model="queryParams.targetname"
+              placeholder="璇疯緭鍏�"
+              clearable
+              style="width: 200px"
+              @keyup.enter.native="gettargetInfo"
+            />
+          </el-form-item>
+          <el-form-item label="鎸囨爣璇存槑" prop="userName">
+            <el-input
+              v-model="queryParams.targetdesc"
+              placeholder="璇疯緭鍏�"
+              clearable
+              style="width: 200px"
+              @keyup.enter.native="gettargetInfo"
+            />
+          </el-form-item>
+          <el-form-item label="鎸囨爣鏍囩" prop="userName">
+            <el-input
+              v-model="queryParams.tagName"
               placeholder="璇疯緭鍏�"
               clearable
               style="width: 200px"
@@ -438,17 +477,53 @@
         </el-form>
         <el-table v-loading="loading" :data="targetList">
           <el-table-column
-            label="鏍囬"
+            label="鎸囨爣鍚嶇О"
             align="center"
             key="targetname"
             prop="targetname"
             width="100"
           />
           <el-table-column
-            label="闂鍐呭"
+            label="鎸囨爣璇存槑"
             align="center"
             key="targetdesc"
             prop="targetdesc"
+            width="200"
+            :show-overflow-tooltip="true"
+          />
+          <el-table-column
+            label="璇█"
+            align="center"
+            key="language"
+            prop="language"
+            width="200"
+            :show-overflow-tooltip="true"
+          />
+          <el-table-column
+            label="鏄惁鍙敤"
+            align="center"
+            key="isAvailable"
+            prop="isAvailable"
+          >
+            <template slot-scope="scope">
+              <dict-tag :options="usable" :value="scope.row.isAvailable" />
+            </template>
+          </el-table-column>
+          <el-table-column
+            label="闂绫诲瀷"
+            align="center"
+            key="scriptType"
+            prop="scriptType"
+          >
+            <template slot-scope="scope">
+              <dict-tag :options="valuetype" :value="scope.row.scriptType" />
+            </template>
+          </el-table-column>
+          <el-table-column
+            label="閫夐」璇存槑"
+            align="center"
+            key="optionDesc"
+            prop="optionDesc"
             width="200"
             :show-overflow-tooltip="true"
           />
@@ -506,6 +581,8 @@
     return {
       topicobj: {
         svyLibScriptOptions: [],
+        svyLibScriptTagList: [],
+        suitway: "1",
       },
       headers: {
         Authorization: "Bearer " + getToken(),
@@ -561,6 +638,7 @@
         { label: "鍒嗘暟", value: "1" },
         { label: "ABC绛夌骇", value: "2" },
         { label: "浼樿壇绛夌骇", value: "3" },
+        { label: "鏃�", value: "4" },
       ],
       optionstag: [],
       valuetype: [],
@@ -572,7 +650,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;
@@ -584,6 +662,9 @@
     // 鍏叡鏂规硶---------------
     getIndexInArray(arr, obj) {
       return arr.indexOf(obj);
+    },
+    processElement(element) {
+      return { ...element, isoperation: 1 };
     },
     // 閫掑綊鎵佸钩鍖�
     flattenArray(arr) {
@@ -614,8 +695,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;
@@ -631,9 +713,18 @@
       });
     },
     gettargetInfo() {
+      if (!this.topicobj.scriptType) {
+        this.$message({
+          message: "璇峰厛閫夋嫨棰樼洰绫诲瀷",
+          type: "error",
+        });
+        return;
+      }
+      this.queryParams.scriptType = this.topicobj.scriptType;
       gettargetInfo(this.queryParams).then((res) => {
         this.targetList = res.rows;
         this.total = res.total;
+        this.drawer = true;
       });
     },
     // 鏂板鎴栦慨鏀硅鎯�
@@ -646,9 +737,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) => {
@@ -698,12 +791,12 @@
         if (score.score) {
           console.log(Number(score.score), this.topicobj.score, "鍒嗗��");
           if (
-            Number(score.score) <= 0 ||
+            Number(score.score) < 0 ||
             Number(score.score) > Number(this.topicobj.score)
           ) {
             console.log(score, "閿欒鍒嗗��");
             this.$message({
-              message: "閫夐」鍒嗗�煎繀椤诲ぇ浜�0灏忎簬绛変簬" + this.topicobj.score + "鍒�",
+              message: "閫夐」鍒嗗�煎繀椤诲湪0鍒�" + this.topicobj.score + "鍒嗕箣闂�",
               type: "warning",
             });
             return false;
@@ -727,16 +820,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(
@@ -761,14 +850,17 @@
     selectlabel(row) {
       this.$modal
         .confirm(
-          '鏄惁閫夋嫨鏍囬涓�"' + row.targetname + '"鐨勬寚鏍囧苟鏇挎崲濉厖闂淇℃伅锛�'
+          '鏄惁閫夋嫨鏍囬涓�"' +
+            row.targetname +
+            '"鐨勬寚鏍囧苟鏇挎崲濉厖闂鍙婇�夐」淇℃伅锛�'
         )
         .then(() => {
           console.log(row);
-          console.log(this.topicobj);
           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 = [];
@@ -792,14 +884,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 = {};
@@ -821,7 +915,8 @@
             };
           }
           // this.dynamicTags.push(tagvalue);
-          this.dynamicTags.push(tagvalue.tagname);
+          this.topicobj.svyLibScriptTagList.push(tagvalue);
+          this.dynamicTags.push(tagvalue);
         });
       }
       this.inputVisible = false;
@@ -897,7 +992,13 @@
     //   this.illnessVisible = false;
     //   this.$modal.msgSuccess("缂栬緫鎴愬姛");
     // },
-    resetQuery() {},
+    resetQuery() {
+      this.queryParams = {
+        pageNum: 1,
+        pageSize: 10,
+      };
+      this.gettargetInfo();
+    },
     // 渚挎嵎鏍囩
     tsgnameto(row) {
       let inputValueArr = "";
@@ -905,7 +1006,6 @@
       //el.selectionStart; 杩欏氨鏄綋鍓嶅厜鏍囨墍鍦ㄧ殑浣嶇疆锛堝瓧绗︿覆涓瓧绗︾殑index锛�
       if (this.currentInputId == "scriptContent") {
         inputValueArr = this.topicobj.scriptContent.split("");
-        console.log(123);
       } else if (this.currentInputId == "nomatchtext") {
         inputValueArr = this.topicobj.nomatchtext.split("");
       } else if (this.currentInputId == "sliencetext") {
@@ -1007,17 +1107,27 @@
     },
     // 閫夐」鏂囦欢涓婁紶
     handleChange(item, response, file, fileList) {
-      let index = this.topicobj.svyLibScriptOptions.findIndex(
-        (obj) => obj.id == item.id && obj.name == item.name
-      );
-      this.topicobj.svyLibScriptOptions[index].picturePath = response.url;
+      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(item, file, fileList) {
-      let index = this.topicobj.svyLibScriptOptions.findIndex(
-        (obj) => obj.id == item.id && obj.name == item.name
-      );
-      this.topicobj.svyLibScriptOptions[index].picturePath = file.response.url;
+    handleChangetg(response, file, fileList) {
+      if (response.code == 200) {
+        this.topicobj.picturePath = response.url;
+      } else {
+        this.$message.error("鍥剧墖鎻掑叆澶辫触");
+      }
     },
   },
 };
@@ -1036,12 +1146,12 @@
     margin: 15px 0;
   }
   .topicxq {
-    width: 68%;
+    width: 72%;
     background-color: #e2f5fc;
     border-radius: 4px;
     margin-top: 15px;
     margin-left: 10%;
-    padding-left: 10px;
+    padding-left: 20px;
     padding-top: 15px;
     border: 1px solid #dcdfe6;
     -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12),

--
Gitblit v1.9.3