From b26c48a6878519fce4068f4b1ee308e11fecd862 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期三, 08 一月 2025 14:54:34 +0800
Subject: [PATCH] 测试完成

---
 src/views/knowledge/questionbank/particulars/index.vue |  169 +++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 100 insertions(+), 69 deletions(-)

diff --git a/src/views/knowledge/questionbank/particulars/index.vue b/src/views/knowledge/questionbank/particulars/index.vue
index a615daf..d0f507d 100644
--- a/src/views/knowledge/questionbank/particulars/index.vue
+++ b/src/views/knowledge/questionbank/particulars/index.vue
@@ -23,7 +23,7 @@
       </div>
       <div v-if="Editprogress == 1">
         <el-card class="box-card">
-          <el-form :inline="true" :model="topicobj" class="demo-form-inline">
+          <el-form :inline="true" ref="topicobj" :model="topicobj" :rules="rules" class="demo-form-inline">
             <div class="headline">
               鍩虹淇℃伅閰嶇疆
               <span style="margin-left: 30px"
@@ -40,9 +40,27 @@
             <el-divider></el-divider>
 
             <div style="margin-left: 8%">
+              <el-form-item label="闂鍐呭" prop="scriptContent">
+                <el-input
+                  style="width: 40vw"
+                  type="textarea"
+                  id="scriptContent"
+                  v-model="topicobj.scriptContent"
+                  @focus="handleInput('scriptContent')"
+                  placeholder="璇疯緭鍏ラ棶棰樺唴瀹�"
+                ></el-input>
+              </el-form-item>
+              <el-form-item label="闂璇存槑" prop="targetname">
+                <el-input
+                  style="width: 40vw"
+                  type="textarea"
+                  v-model="topicobj.scriptDesc"
+                  placeholder="璇疯緭鍏ヨ鏄�"
+                ></el-input>
+              </el-form-item>
               <el-row :gutter="10">
                 <el-col :span="8">
-                  <el-form-item label="闂鍒嗙被">
+                  <el-form-item label="闂鍒嗙被" prop="categoryid">
                     <el-select
                       v-model="topicobj.categoryid"
                       size="medium"
@@ -66,7 +84,7 @@
                   </el-form-item>
                 </el-col>
                 <el-col :span="8">
-                  <el-form-item label="璇勪环绫诲瀷">
+                  <el-form-item label="璇勪环绫诲瀷" prop="scoretype">
                     <el-select
                       v-model="topicobj.scoretype"
                       placeholder="璇烽�夋嫨鍒嗙被"
@@ -82,7 +100,7 @@
                   </el-form-item>
                 </el-col>
                 <el-col :span="8" v-if="topicobj.scoretype == 1">
-                  <el-form-item label="棰樼洰寰楀垎">
+                  <el-form-item label="闂寰楀垎" prop="score">
                     <el-input
                       v-model="topicobj.score"
                       placeholder="璇疯緭鍏ュ垎鏁�"
@@ -93,16 +111,17 @@
 
               <el-row :gutter="10">
                 <el-col :span="8"
-                  ><el-form-item label="棰樼洰鏍囬">
+                  ><el-form-item label="闂鏍囬" prop="scriptTopic">
                     <el-input
                       v-model="topicobj.scriptTopic"
                       placeholder="璇疯緭鍏ユ爣棰�"
                     ></el-input> </el-form-item
                 ></el-col>
                 <el-col :span="8"
-                  ><el-form-item label="鏄惁鍙敤">
+                  ><el-form-item label="鏄惁鍙敤" prop="isavailable">
                     <el-radio-group v-model="topicobj.isavailable">
                       <el-radio
+                      @change="$forceUpdate()"
                         v-for="(item, index) in usable"
                         :label="item.value"
                         >{{ item.label }}</el-radio
@@ -110,40 +129,23 @@
                     </el-radio-group>
                   </el-form-item></el-col
                 >
-                <el-col :span="8">
-                  <el-form-item label="鏄惁蹇呭~">
+                <!-- <el-col :span="8">
+                  <el-form-item label="鏄惁蹇呭~" prop="ismandatory">
                     <el-radio-group v-model="topicobj.ismandatory">
                       <el-radio
+                      @change="$forceUpdate()"
                         v-for="(item, index) in required"
                         :label="item.value"
                         >{{ item.label }}</el-radio
                       >
                     </el-radio-group>
                   </el-form-item>
-                </el-col>
+                </el-col> -->
               </el-row>
               <el-row :gutter="10">
-                <el-col :span="8">
-                  <el-form-item label="璇█">
-                    <el-select
-                      v-model="topicobj.language"
-                      size="medium"
-                      filterable
-                      placeholder="璇烽�夋嫨鍒嗙被"
-                    >
-                      <el-option
-                        class="topicobjaa"
-                        v-for="item in languagelist"
-                        :key="item.value"
-                        :label="item.label"
-                        :value="item.value"
-                      >
-                      </el-option>
-                    </el-select>
-                  </el-form-item>
-                </el-col>
+
                 <el-col :span="8"
-                  ><el-form-item label="棰樼洰绫诲瀷">
+                  ><el-form-item label="闂绫诲瀷" prop="scriptType">
                     <el-select
                       v-model="topicobj.scriptType"
                       @change="changefn"
@@ -162,7 +164,7 @@
                     </el-select> </el-form-item
                 ></el-col>
                 <el-col :span="8"
-                  ><el-form-item label="閫傜敤鏂瑰紡">
+                  ><el-form-item label="閫傜敤鏂瑰紡" prop="suitway">
                     <el-select
                       v-model="topicobj.suitway"
                       disabled
@@ -177,17 +179,27 @@
                       >
                       </el-option> </el-select></el-form-item
                 ></el-col>
+                <el-col :span="8">
+                  <el-form-item label="璇█" prop="language">
+                    <el-select
+                      v-model="topicobj.language"
+                      size="medium"
+                      filterable
+                      placeholder="璇烽�夋嫨鍒嗙被"
+                    >
+                      <el-option
+                        class="topicobjaa"
+                        v-for="item in languagelist"
+                        :key="item.value"
+                        :label="item.label"
+                        :value="item.value"
+                      >
+                      </el-option>
+                    </el-select>
+                  </el-form-item>
+                </el-col>
               </el-row>
-              <el-form-item label="棰樼洰鍐呭">
-                <el-input
-                  style="width: 40vw"
-                  type="textarea"
-                  id="scriptContent"
-                  v-model="topicobj.scriptContent"
-                  @focus="handleInput('scriptContent')"
-                  placeholder="璇疯緭鍏ラ鐩唴瀹�"
-                ></el-input>
-              </el-form-item>
+
               <!-- <el-form-item
               label=""
               prop="scriptContent"
@@ -233,14 +245,7 @@
                 </el-form-item>
               </el-col>
             </el-row> -->
-              <el-form-item label="棰樼洰璇存槑">
-                <el-input
-                  style="width: 40vw"
-                  type="textarea"
-                  v-model="topicobj.scriptDesc"
-                  placeholder="璇疯緭鍏ヨ鏄�"
-                ></el-input>
-              </el-form-item>
+
 
               <!-- <el-form-item label="閫変腑鎸囨爣锛�">
                 <span style="margin-left: 30px"
@@ -335,7 +340,7 @@
       </div>
       <div v-if="Editprogress == 2">
         <el-card class="box-card">
-          <el-form :inline="true" :model="topicobj" class="demo-form-inline">
+          <el-form :inline="true" ref="topicobj" :model="topicobj" class="demo-form-inline">
             <div class="headline">
               鎸囨爣璁剧疆璇︽儏
               <span v-if="topicobj.targetname" style="margin-left: 30px"
@@ -381,7 +386,7 @@
 
               <el-row>
                 <el-col :span="10">
-                  <el-form-item label="鍊肩被鍨�">
+                  <el-form-item label="缁撴灉绫诲瀷">
                     <el-radio-group
                       :disabled="true"
                       v-model="topicobj.valueType"
@@ -393,7 +398,7 @@
                   </el-form-item>
                 </el-col>
                 <el-col :span="12">
-                  <el-form-item label="棰樼洰绫诲瀷">
+                  <el-form-item label="闂棰樺瀷">
                     <el-radio-group
                       :disabled="true"
                       v-model="topicobj.scriptType"
@@ -477,7 +482,7 @@
                     </el-col>
                   </el-row>
                   <el-row :gutter="10">
-                    <el-form-item label="棰勮鎻愰啋">
+                    <el-form-item label="寮傚父鎻愰啋">
                       <el-radio-group v-model="item.isabnormal">
                         <el-radio :label="1">鏄�</el-radio>
                         <el-radio :label="0">鍚�</el-radio>
@@ -525,7 +530,7 @@
                 <el-input
                   type="textarea"
                   :rows="4"
-                  placeholder="姝ゅ灞曠ず鏀堕泦淇℃伅"
+                  placeholder="姝ゅ灞曠ず闂瓟棰樻敹闆嗕俊鎭�"
                   v-model="testgovalue"
                 >
                 </el-input>
@@ -609,14 +614,6 @@
             :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"
@@ -672,7 +669,7 @@
         />
       </div>
     </el-drawer>
-    <el-dialog title="棰樼洰棰勮" :visible.sync="topicVisible" width="50%">
+    <el-dialog title="闂棰勮" :visible.sync="topicVisible" width="50%">
       <div class="preview-left">
         <div class="dev-text">
           <span>{{ topicobj.scriptContent }}</span>
@@ -730,6 +727,8 @@
         svyLibScriptOptions: [],
         svyLibScriptTagList: [],
         suitway: "1",
+        scoretype:'4',
+        language:'鏅�氳瘽',
       },
       headers: {
         Authorization: "Bearer " + getToken(),
@@ -797,6 +796,36 @@
       valuetype: [],
       usable: [],
       mode: [], //鏂瑰紡
+      // 琛ㄥ崟鏍¢獙
+      rules: {
+        categoryid: [
+          { required: true, message: "闂鍒嗙被涓嶈兘涓虹┖", trigger: "blur" },
+        ],
+        scoretype: [
+          { required: true, message: "璇勪环绫诲瀷涓嶈兘涓虹┖", trigger: "blur" },
+        ],
+        language: [
+          { required: true, message: "璇█涓嶈兘涓虹┖", trigger: "blur" },
+        ],
+        isavailable: [
+          { required: true, message: "鍙敤鐘舵�佷笉鑳戒负绌�", trigger: "blur" },
+        ],
+        scriptTopic: [
+          { required: true, message: "闂鏍囬涓嶈兘涓虹┖", trigger: "blur" },
+        ],
+        ismandatory: [
+          { required: true, message: "鏄惁蹇呭~涓嶈兘涓虹┖", trigger: "blur" },
+        ],
+        scriptType: [
+          { required: true, message: "闂绫诲瀷涓嶈兘涓虹┖", trigger: "blur" },
+        ],
+        suitway: [
+          { required: true, message: "閫傜敤鏂瑰紡涓嶈兘涓虹┖", trigger: "blur" },
+        ],
+        scriptContent: [
+          { required: true, message: "闂鍐呭涓嶈兘涓虹┖", trigger: "blur" },
+        ],
+      },
     };
   },
 
@@ -842,12 +871,10 @@
       if (this.$route.query.categoryid) {
         this.topicobj.categoryid = Number(this.$route.query.categoryid);
       }
-      this.topicobj.isavailable = "1";
-      this.topicobj.language = "鏅�氳瘽";
+
       // 鍒嗙被
       getissueclassify({}).then((res) => {
         this.classifylist = res.rows;
-        console.log(this.classifylist, "鍒嗙被");
       });
       if (!this.id) {
         return;
@@ -889,7 +916,9 @@
     },
     // 鏂板鎴栦慨鏀硅鎯�
     compileissue() {
-      this.topicobj.svyLibScriptOptions = this.topicobj.svyLibScriptOptions.map(
+      this.$refs["topicobj"].validate((valid) => {
+        if (valid) {
+          this.topicobj.svyLibScriptOptions = this.topicobj.svyLibScriptOptions.map(
         (item) => {
           if (item.isoperation != 1 && item.isoperation != 3) {
             item.isoperation = 2;
@@ -943,13 +972,17 @@
       if (this.illnesslistapi.length) {
         deltargetillness(this.illnesslistapi.join(",")).then((res) => {});
       }
+        }
+      })
+
+
     },
     // 鍒ゆ柇鍒嗗��
     Scorejudgment() {
       let scorearr = this.topicobj.svyLibScriptOptions;
       let isValid = scorearr.every((score, index) => {
         if (this.topicobj.scriptType == 1) {
-          if (score.score) {
+          if (score.score||score.score==0) {
             if (
               Number(score.score) < 0 ||
               Number(score.score) > Number(this.topicobj.score)
@@ -1060,8 +1093,6 @@
           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 = [];
           const labellist = row.targetoptionList;
           labellist.forEach((item) => {

--
Gitblit v1.9.3