Sfoglia il codice sorgente

表单校验进度 --50%

reaper 4 anni fa
parent
commit
8efbd623ab

+ 27 - 4
src/components/knowledgeExtra/AddAssess/ScoreResultsTable.vue

@@ -1,6 +1,7 @@
 <template>
   <div class="ScoreResults">
     <h4>得分结果:</h4>
+
     <el-table
       :data="list"
       header-row-class-name="header_row_class_name"
@@ -32,7 +33,12 @@
           <!-- <div>{{ scope.row.content.max }},{{ scope.row.content.min }}</div> -->
           <div class="range_box">
             <div class="range_child">
-              <el-form-item label="大于:" label-width="50px">
+              <el-form-item
+                label="大于:"
+                label-width="70px"
+                :prop="`scoreresultsdatas[${scope.$index}].content.max`"
+                :rules="rules.content"
+              >
                 <el-input
                   type="text"
                   v-model="scope.row.content.max"
@@ -42,7 +48,12 @@
               </el-form-item>
             </div>
             <div class="range_child">
-              <el-form-item label="小于:" label-width="50px">
+              <el-form-item
+                label="小于:"
+                label-width="70px"
+                :prop="`scoreresultsdatas[${scope.$index}].content.min`"
+                :rules="rules.content"
+              >
                 <el-input
                   type="text"
                   v-model="scope.row.content.min"
@@ -59,7 +70,10 @@
           <div class="custom_table_header">结果</div>
         </template>
         <template slot-scope="scope">
-          <el-form-item>
+          <el-form-item
+            :prop="`scoreresultsdatas[${scope.$index}].result`"
+            :rules="rules.content"
+          >
             <el-input
               type="text"
               v-model="scope.row.result"
@@ -71,7 +85,10 @@
       </el-table-column>
       <el-table-column prop="pushInfo" label="建议">
         <template slot-scope="scope">
-          <el-form-item>
+          <el-form-item
+            :prop="`scoreresultsdatas[${scope.$index}].pushInfo`"
+            :rules="rules.content"
+          >
             <el-input
               type="text"
               v-model="scope.row.pushInfo"
@@ -86,7 +103,13 @@
 </template>
 
 <script>
+import rules from "./rules";
 export default {
+  data() {
+    return {
+      rules: rules
+    };
+  },
   props: {
     list: {
       default: []

+ 40 - 21
src/components/knowledgeExtra/AddAssess/index.vue

@@ -243,10 +243,12 @@ it .ql-editor,
         <div class="rich_text" v-if="table.textType === 12">
           <el-form-item
             label="概述:"
-            prop="content"
             label-width="100px"
             ref="editor"
+            :prop="`klScaleParent[${tableIndex}].klScaleSaveGroup[0].content`"
+            :rules="rules.content"
           >
+            <!-- klScaleParent[${tableIndex}].klScaleSaveGroup[${scope.$index}].content -->
             <quillEditor
               v-model="table.klScaleSaveGroup[0].content"
               :options="editorOption"
@@ -269,8 +271,15 @@ it .ql-editor,
           </div>
         </div>
       </div>
+    </el-form>
+    <el-form
+      size="mini"
+      :model="scoreresults"
+      label-position="left"
+      ref="ScoreResultsRef"
+    >
       <ScoreResultsTable
-        :list="scoreresultsdatas"
+        :list="scoreresults.scoreresultsdatas"
         @CHANEG_SCORE_RESULT="CHANEG_SCORE_RESULT"
       />
     </el-form>
@@ -473,23 +482,25 @@ export default {
           ]
         }
       },
-      scoreresultsdatas: [
-        // todo me: 最后处理数据记得将orderNo设不唯一的值
-        {
-          content: {
-            max: null,
-            min: null
-          },
-          orderNo: null,
-          pushInfo: "",
-          remark: null,
-          result: "",
-          ruleCode: null,
-          score: null,
-          status: null,
-          textType: null
-        }
-      ]
+      scoreresults: {
+        scoreresultsdatas: [
+          // todo me: 最后处理数据记得将orderNo设不唯一的值
+          {
+            content: {
+              max: null,
+              min: null
+            },
+            orderNo: null,
+            pushInfo: "",
+            remark: null,
+            result: "",
+            ruleCode: null,
+            score: null,
+            status: null,
+            textType: null
+          }
+        ]
+      }
     };
   },
   methods: {
@@ -502,6 +513,14 @@ export default {
           return false;
         }
       });
+      console.log(123);
+      this.$refs["ScoreResultsRef"].validate((valid) => {
+        console.log(valid);
+        if (valid) {
+        } else {
+          return false;
+        }
+      });
       console.log("/one/", this.scaleData);
       // 提交数据的处理 start....
       // 1. 新建一个整体对象
@@ -633,7 +652,7 @@ export default {
         this.timer = null;
       }, 500);
       if (type === 1) {
-        this.scoreresultsdatas.splice(index + 1, 0, {
+        this.scoreresults.scoreresultsdatas.splice(index + 1, 0, {
           content: {
             max: null,
             min: null
@@ -648,7 +667,7 @@ export default {
           textType: null
         });
       } else {
-        this.$delete(this.scoreresultsdatas, index);
+        this.$delete(this.scoreresults.scoreresultsdatas, index);
       }
     },
     /**

+ 1 - 1
src/components/knowledgeExtra/AddAssess/scale-table.vue

@@ -196,7 +196,7 @@
         >
           <template slot-scope="scope">
             <el-form-item
-              :prop="`klScaleParent[${tableIndex}].two_factor`"
+              :prop="`klScaleParent[${tableIndex}].klScaleSaveGroup[${scope.$index}].two_factor`"
               :rules="rules.two_factor"
             >
               <el-input