Forráskód Böngészése

加入简单校验(demo)

reaper 4 éve
szülő
commit
ddf4c4a814

+ 20 - 13
src/components/knowledgeExtra/AddAssess/index.vue

@@ -138,8 +138,8 @@ it .ql-editor,
             <el-form-item
               label="标题:"
               label-width="70px"
-              :prop="`scaleTable-${tableIndex}-tableContent`"
-              :rules="rules.tableContent"
+              :prop="`klScaleParent[${tableIndex}].content`"
+              :rules="rules.content"
             >
               <el-input maxlength="20" v-model.trim="table.content" />
             </el-form-item>
@@ -177,13 +177,20 @@ it .ql-editor,
               class="num_box"
               v-if="table.resultType === 2 && table.textType === 11"
             >
-              <el-form-item label="系数:" label-width="60px">
+              <el-form-item
+                label="系数:"
+                label-width="70px"
+                :prop="`klScaleParent[${tableIndex}].factor`"
+                :rules="rules.factor"
+              >
                 <el-input v-model.trim="table.factor" />
               </el-form-item>
               <el-form-item
                 label="常数:"
-                label-width="60px"
+                label-width="70px"
                 style="margin-left: 10px"
+                :prop="`klScaleParent[${tableIndex}].constant`"
+                :rules="rules.constant"
               >
                 <el-input v-model.trim="table.constant" />
               </el-form-item>
@@ -315,7 +322,7 @@ const defaultDate = {
 const defaultTable = {
   constant: 0,
   content: "",
-  factor: 0,
+  factor: 1,
   klScaleSaveGroup: [
     {
       ...defaultDate
@@ -343,7 +350,7 @@ export default {
           {
             constant: 0,
             content: "",
-            factor: 0,
+            factor: 1,
             klScaleSaveGroup: [
               // 问题层+结果层(包括分组)
               {
@@ -488,13 +495,13 @@ export default {
   methods: {
     // 提交 (父级调用)
     assessCommit() {
-      // this.$refs["scaleFormRef"].validate((valid) => {
-      //   console.log(valid);
-      //   if (valid) {
-      //   } else {
-      //     return false;
-      //   }
-      // });
+      this.$refs["scaleFormRef"].validate((valid) => {
+        console.log(valid);
+        if (valid) {
+        } else {
+          return false;
+        }
+      });
       console.log("/one/", this.scaleData);
       // 提交数据的处理 start....
       // 1. 新建一个整体对象

+ 23 - 2
src/components/knowledgeExtra/AddAssess/rules.js

@@ -1,5 +1,26 @@
 export default {
-  tableContent: [
+  content: [
     { required: true, message: "请输入标题", trigger: ["blur"] },
-  ]
+  ],
+  factor: [
+    { required: true, message: "请输入系数", trigger: ["blur"] },
+  ],
+  constant: [
+    { required: true, message: "请输入常数", trigger: ["blur"] },
+  ],
+  two_content: [
+    { required: true, message: "请输入问题内容", trigger: ["blur"] },
+  ],
+  two_factor: [
+    { required: true, message: "请输入系数", trigger: ["blur"] },
+  ],
+  two_constant: [
+    { required: true, message: "请输入常数", trigger: ["blur"] },
+  ],
+  optionContent: [
+    { required: true, message: "请输入选项内容", trigger: ["blur"] },
+  ],
+  result: [
+    { required: true, message: "请输入选项结果", trigger: ["blur"] },
+  ],
 }

+ 27 - 7
src/components/knowledgeExtra/AddAssess/scale-table.vue

@@ -175,7 +175,10 @@
             <div class="custom_table_header">问题内容</div>
           </template>
           <template slot-scope="scope">
-            <el-form-item>
+            <el-form-item
+              :prop="`klScaleParent[${tableIndex}].klScaleSaveGroup[${scope.$index}].two_content`"
+              :rules="rules.two_content"
+            >
               <el-input
                 type="text"
                 v-model="scope.row.two_content"
@@ -192,7 +195,10 @@
           v-if="tableResultType === 2"
         >
           <template slot-scope="scope">
-            <el-form-item>
+            <el-form-item
+              :prop="`klScaleParent[${tableIndex}].two_factor`"
+              :rules="rules.two_factor"
+            >
               <el-input
                 type="text"
                 v-model="scope.row.two_factor"
@@ -209,7 +215,10 @@
           v-if="tableResultType === 2"
         >
           <template slot-scope="scope">
-            <el-form-item>
+            <el-form-item
+              :prop="`klScaleParent[${tableIndex}].klScaleSaveGroup[${scope.$index}].two_constant`"
+              :rules="rules.two_constant"
+            >
               <el-input
                 type="text"
                 v-model="scope.row.two_constant"
@@ -272,7 +281,10 @@
             <div class="custom_table_header">选项内容</div>
           </template>
           <template slot-scope="scope">
-            <el-form-item>
+            <el-form-item
+              :prop="`klScaleParent[${tableIndex}].klScaleSaveGroup[${scope.$index}].content`"
+              :rules="rules.optionContent"
+            >
               <el-input
                 type="text"
                 v-model="scope.row.content"
@@ -291,7 +303,10 @@
             <div class="custom_table_header">分值</div>
           </template>
           <template slot-scope="scope">
-            <el-form-item>
+            <el-form-item
+              :prop="`klScaleParent[${tableIndex}].klScaleSaveGroup[${scope.$index}].content`"
+              :rules="rules.optionContent"
+            >
               <el-input
                 type="text"
                 v-model="scope.row.content"
@@ -308,7 +323,10 @@
           v-if="tableResultType === 1"
         >
           <template slot-scope="scope">
-            <el-form-item>
+            <el-form-item
+              :prop="`klScaleParent[${tableIndex}].klScaleSaveGroup[${scope.$index}].result`"
+              :rules="rules.result"
+            >
               <el-input
                 type="text"
                 v-model="scope.row.result"
@@ -330,11 +348,13 @@
 </template>
 
 <script>
+import rules from "./rules";
 export default {
   name: "scaleTable",
   data() {
     return {
-      tableShow: true
+      tableShow: true,
+      rules: rules
     };
   },
   methods: {