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 |  188 ++++++++++++++++++++++++++++++++++++----------
 1 files changed, 145 insertions(+), 43 deletions(-)

diff --git a/src/views/knowledge/questionbank/particulars/index.vue b/src/views/knowledge/questionbank/particulars/index.vue
index b96ed53..ac445b6 100644
--- a/src/views/knowledge/questionbank/particulars/index.vue
+++ b/src/views/knowledge/questionbank/particulars/index.vue
@@ -6,6 +6,9 @@
           <div class="headline">
             棰樼洰璁剧疆璇︽儏
             <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>
@@ -88,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"
@@ -146,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"
@@ -187,11 +188,15 @@
                   class="upload-demo"
                   :action="uploadImgUrl"
                   :headers="headers"
-                  :accept="'image/*,video/*'"
+                  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"
@@ -207,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"
@@ -247,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
@@ -289,19 +294,26 @@
                   >
                 </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"
                   >+鏂板</el-button
-                ></span
-              >
-              <span style="margin-left: 30px">閫変腑鎸囨爣锛歿{topicobj.scriptTopic}}</span>
-              <span style="margin-left: 30px"
-                ><el-button type="success" round @click="gettargetInfo"
-                  >+閫夋嫨鎸囨爣</el-button
                 ></span
               >
             </div>
@@ -352,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"
@@ -361,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
@@ -380,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>
@@ -414,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"
@@ -439,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"
           />
@@ -507,6 +581,8 @@
     return {
       topicobj: {
         svyLibScriptOptions: [],
+        svyLibScriptTagList: [],
+        suitway: "1",
       },
       headers: {
         Authorization: "Bearer " + getToken(),
@@ -562,6 +638,7 @@
         { label: "鍒嗘暟", value: "1" },
         { label: "ABC绛夌骇", value: "2" },
         { label: "浼樿壇绛夌骇", value: "3" },
+        { label: "鏃�", value: "4" },
       ],
       optionstag: [],
       valuetype: [],
@@ -585,6 +662,9 @@
     // 鍏叡鏂规硶---------------
     getIndexInArray(arr, obj) {
       return arr.indexOf(obj);
+    },
+    processElement(element) {
+      return { ...element, isoperation: 1 };
     },
     // 閫掑綊鎵佸钩鍖�
     flattenArray(arr) {
@@ -615,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;
@@ -632,6 +713,13 @@
       });
     },
     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;
@@ -649,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) => {
@@ -701,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;
@@ -730,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(
@@ -764,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 = [];
@@ -795,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 = {};
@@ -824,7 +915,8 @@
             };
           }
           // this.dynamicTags.push(tagvalue);
-          this.dynamicTags.push(tagvalue.tagname);
+          this.topicobj.svyLibScriptTagList.push(tagvalue);
+          this.dynamicTags.push(tagvalue);
         });
       }
       this.inputVisible = false;
@@ -900,7 +992,13 @@
     //   this.illnessVisible = false;
     //   this.$modal.msgSuccess("缂栬緫鎴愬姛");
     // },
-    resetQuery() {},
+    resetQuery() {
+      this.queryParams = {
+        pageNum: 1,
+        pageSize: 10,
+      };
+      this.gettargetInfo();
+    },
     // 渚挎嵎鏍囩
     tsgnameto(row) {
       let inputValueArr = "";
@@ -1011,10 +1109,14 @@
     handleChange(item, response, file, fileList) {
       console.log(response);
       if (response.code == 200) {
+        console.log(item);
         let index = this.topicobj.svyLibScriptOptions.findIndex(
-          (obj) => obj.id == item.id && obj.name == item.name
+          (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("鍥剧墖鎻掑叆澶辫触");
       }
@@ -1044,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