Explorar el Código

<style lang=less scoped>

reaper hace 4 años
padre
commit
4b88b730d7

+ 28 - 15
src/components/knowledgeExtra/AddNewRule.vue

@@ -25,7 +25,8 @@
   }
   .form_btn {
     width: 100%;
-    margin: 20px 0;
+    background: #fff;
+    padding: 20px 0;
     text-align: center;
   }
 }
@@ -38,14 +39,15 @@
       linkTo="ZskRuleManager"
     ></crumbs>
     <div class="AddRuleContent">
-      <el-form size="mini" :model="form" :rules="rules" ref="ruleForm">
+      <el-form size="mini" :model="form"  ref="ruleForm">
         <!-- <div class="table_form"> -->
         <el-row class="table_form">
-          <el-col :span="8">
+          <el-col :span="6">
             <!-- 规则名称 -->
             <el-form-item
               label-width="130px"
               label="规则名称:"
+              :rules="rules.parDescription"
               prop="parDescription"
             >
               <el-input
@@ -55,11 +57,12 @@
             </el-form-item>
           </el-col>
 
-          <el-col :span="8">
+          <el-col :span="6">
             <!-- 规则类型 -->
             <el-form-item
               label-width="130px"
               label="规则类型:"
+              :rules="rules.parRuleType"
               prop="parRuleType"
             >
               <el-select
@@ -80,11 +83,12 @@
               </div>
             </el-form-item>
           </el-col>
-          <el-col :span="8">
+          <el-col :span="6">
             <!-- 规则术语类型: -->
             <el-form-item
               label-width="130px"
               label="规则术语类型:"
+              :rules="rules.parLenCode"
               prop="parLenCode"
             >
               <el-select
@@ -105,10 +109,12 @@
               </div>
             </el-form-item>
           </el-col>
-          <el-col :span="8">
+          <el-col :span="6">
             <el-form-item
               label-width="130px"
               label="医学标准术语:"
+              style="margin-bottom:50px"
+              :rules="rules.parConceptId"
               prop="parConceptId"
             >
               <el-select
@@ -129,11 +135,12 @@
               </el-select>
             </el-form-item>
           </el-col>
-          <el-col :span="8">
+          <el-col :span="6">
             <el-form-item
               label-width="130px"
               v-if="showHasSub"
               label="有无子条件:"
+              :rules="rules.parHasSub"
               prop="parHasSub"
             >
               <el-select
@@ -146,17 +153,18 @@
               </el-select>
             </el-form-item>
           </el-col>
-          <el-col :span="8">
+          <el-col :span="12">
             <el-form-item
               style="flex: 1; minwidth: 500px"
               label-width="130px"
               v-if="showMsg"
               label="附加信息:"
+              :rules="rules.parMsg"
               prop="parMsg"
             >
               <el-input
                 type="textarea"
-                :rows="3"
+                :rows="1"
                 placeholder="请输入附加信息"
                 v-model.trim="form.parMsg"
               ></el-input>
@@ -405,7 +413,7 @@ export default {
       });
     },
     // 初始化表格
-    setInitGroupData() {
+    setInitGroupData(init) {
       const date = new Date().valueOf();
       this.$set(this.form, "klRuleByIdSub", [
         {
@@ -429,13 +437,15 @@ export default {
           dataType: ""
         }
       ]);
-      this.form.parConceptId = ""; //医学标准术语清空
-      this.conceptList = []; //下拉列表清空
+      if (!init) {
+        this.form.parConceptId = ""; //医学标准术语清空
+        this.conceptList = []; //下拉列表清空
+      }
     },
     // 有无子条件切换
     hasSubChange(val) {
       if (val) {
-        this.setInitGroupData();
+        this.setInitGroupData(true);
       } else {
         this.form.klRuleByIdSub = [];
       }
@@ -599,7 +609,6 @@ export default {
   watch: {
     "form.klRuleByIdSub": {
       handler(val) {
-        console.log("000000000");
         this.form.klRuleByIdSub.forEach((item, i, arr) => {
           if (i == 0) {
             item.rowIndex = 1;
@@ -609,9 +618,13 @@ export default {
             item.rowIndex = arr[i - 1].rowIndex + 1;
           }
         });
-        console.log(this.form.klRuleByIdSub);
       },
       deep: true
+    },
+    "form.parHasSub"(val) {
+      if (!val || val == 0) {
+        this.form.klRuleByIdSub = [];
+      }
     }
   },
   computed: {

+ 25 - 16
src/components/knowledgeExtra/AddNewRuleTable.vue

@@ -45,7 +45,7 @@
     display: flex;
     .type_content_item1 {
       /deep/ .el-form-item__content {
-        padding-bottom: 0px;
+        padding-bottom: 8px;
       }
       .row_box {
         .el-col {
@@ -86,6 +86,12 @@
   .table_cell_cls {
     vertical-align: top;
   }
+  /deep/ .el-table__body .el-table__row.hover-row td {
+    background-color: transparent;
+  }
+  /deep/ .el-form-item__label{
+    font-size: 12px;
+  }
 }
 </style>
 
@@ -96,14 +102,15 @@
     <el-table
       border
       :data="klRuleByIdSub"
-      style="width: 100%"
       size="mini"
+      style="min-height:200px"
+      height="calc(100vh - 480px)"
       :row-style="rowStyle"
       :header-row-style="{ background: '#E3EAF4' }"
       :cell-style="cellStyle"
       :span-method="ObjectSpanMethod"
     >
-      <el-table-column width="80px" label="组" prop="groupType">
+      <el-table-column width="80px" label="组" prop="groupType" fixed="left">
         <template slot-scope="scope">
           <div class="btn_box">
             <div class="btn_div">
@@ -126,6 +133,7 @@
       <el-table-column
         width="80px"
         v-if="maxNum && maxNum > 1"
+        fixed="left"
         label="基础规则"
         prop="groupType"
       >
@@ -292,7 +300,7 @@
                         validator: (rule, value, callback) => {
                           subMaxOperator(scope, rule, value, callback);
                         },
-                        trigger: 'blur'
+                        trigger: 'change'
                       }
                     ]"
                   >
@@ -421,6 +429,11 @@
               label-width="100px"
               :prop="`klRuleByIdSub[${scope.$index}].subEqValue`"
               :rules="[
+                {
+                  required: true,
+                  message: '请输入' + textName(scope.$index),
+                  trigger: 'blur'
+                },
                 {
                   validator: (rule, value, callback) => {
                     subEqValue(scope, rule, value, callback);
@@ -443,11 +456,16 @@
               label-width="120px"
               style="flex: 2"
               v-if="scope.row.subType === 6"
-              :prop="`klRuleByIdSub[${scope.$index}].subEqValue`"
+              :prop="`klRuleByIdSub[${scope.$index}].subEqValue1`"
               :rules="[
+                {
+                  required: true,
+                  message: '请输入' + textName(scope.$index),
+                  trigger: 'blur'
+                },
                 {
                   validator: (rule, value, callback) => {
-                    subEqValuerule(scope, rule, value, callback);
+                    subEqValue(scope, rule, value, callback);
                   },
                   trigger: 'blur'
                 }
@@ -550,6 +568,7 @@ export default {
     },
     // 医学内容rule
     subEqValue(scope, rule, value, callback) {
+      console.log(value);
       if (value === "") {
         callback(new Error("请输入" + this.textName(scope.$index)));
       } else if (value.length > 200) {
@@ -558,16 +577,6 @@ export default {
         callback();
       }
     },
-    // 正则rule
-    subEqValuerule(scope, rule, value, callback) {
-      if (value === "") {
-        callback(new Error("请输入" + this.textName));
-      } else if (value.length > 200) {
-        callback(new Error(this.textName + "不能超过200字"));
-      } else {
-        callback();
-      }
-    },
     // 判断是否为最后一条规则
     isLastDate(id) {
       const tableLength = this.klRuleByIdSub.filter(