gaohaiyong vor 5 Monaten
Ursprung
Commit
7f800b4eee
1 geänderte Dateien mit 82 neuen und 40 gelöschten Zeilen
  1. 82 40
      src/views/rule/config/components/CreateDialog.vue

+ 82 - 40
src/views/rule/config/components/CreateDialog.vue

@@ -141,6 +141,7 @@
             <el-col :span="24" style="margin-bottom: 20px;">
               <el-button type="primary" plain icon="el-icon-plus" @click="onAddQZTJ">前置条件</el-button>
               <el-button type="primary" plain icon="el-icon-plus" @click="onAddZKYJ">质控依据</el-button>
+              <el-button type="primary" plain icon="el-icon-plus" @click="onAddZKyujing">质控预警</el-button>
             </el-col>
 
             <!-- 前置条件 -->
@@ -245,22 +246,17 @@
                 </div>
               </el-card>
             </el-col>
-            <!-- 质控逻辑 -->
-            <el-col :span="24">
-              <el-divider />
-              <el-card v-for="(item, index) of ruleForm.rule" :key="'rule'+index" class="box-card" shadow="never">
+            <!-- 质控预警 -->
+            <el-col v-if="ruleForm.zkyujing.length" :span="24">
+              <el-card v-for="(item, index) of ruleForm.zkyujing" :key="'rule'+index" class="box-card" shadow="never">
                 <div slot="header" class="clearfix box-card_header span">
-                  <span class="text">质控逻辑</span>
-                  <span class="ml40">
-                    <span>流向</span>
-                    <el-radio v-model="item.detail_status" :label="1" class="ml40">正确</el-radio>
-                    <el-radio v-model="item.detail_status" :label="2">错误</el-radio>
-                  </span>
+                  <span class="text">质控预警{{ index + 1 }}</span>
+                  <i class="el-icon-delete" style="float: right; margin-top: 13px; cursor: pointer;" @click="onDeleteZKyujing(index)" />
                 </div>
                 <div>
                   <el-row v-for="(sItem, sIndex) of item.condition_content" :key="'tj'+sIndex" :gutter="12" class="mb12">
                     <el-col :span="2">
-                      <div class="text-right">逻辑{{ sIndex + 1 }}</div>
+                      <div class="text-right">条件{{ sIndex + 1 }}</div>
                     </el-col>
                     <el-col :span="8">
                       <el-cascader
@@ -281,44 +277,45 @@
                     </el-col>
                     <el-col :span="4">
                       <el-select v-model="sItem.condition" filterable clearable placeholder="请选择" style="width: 100%;">
-                        <el-option v-for="(item,index) in selectFormula" :key="index" :label="item.formula" :value="item.formula" />
+                        <el-option label="包含" value="包含" />
+                        <el-option label="不包含" value="不包含" />
+                        <el-option label="大于" value="大于" />
+                        <el-option label="小于" value="小于" />
+                        <el-option label="等于" value="等于" />
                       </el-select>
                     </el-col>
                     <el-col :span="6">
-                      <el-autocomplete
-                        v-model="sItem.param2"
-                        class="inline-input"
-                        value-key="name"
-                        :fetch-suggestions="querySearch"
-                        placeholder="请输入"
-                        style="width: 100%;"
-                        @select="handleSelect"
-                      />
+                      <el-input v-model="sItem.param2" clearable placeholder="请输入" style="width: 100%;" />
                     </el-col>
                     <el-col :span="4">
-                      <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="onAddGZ(index, sIndex)" />
-                      <el-button v-if="item.condition_content.length !== 1" type="primary" size="mini" plain icon="el-icon-minus" @click="onDeleteGZ(index, sIndex)" />
+                      <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="onAddTJZKyujing(index, sIndex)" />
+                      <el-button v-if="item.custom_msg.length !== 1" size="mini" type="primary" plain icon="el-icon-minus" @click="onDeleteTJZKyujing(index, sIndex)" />
                     </el-col>
                   </el-row>
-                  <div class="span">
-                    <span>规则之间的逻辑</span>
+                  <!-- <div class="span">
+                    <span>条件之间的逻辑</span>
                     <el-radio v-model="item.condition_relation" :label="1" class="ml40">且(满足所有条件)</el-radio>
                     <el-radio v-model="item.condition_relation" :label="2">或(满足任意一条件)</el-radio>
-                  </div>
+                  </div> -->
                 </div>
               </el-card>
             </el-col>
-            <!-- 质控预警 -->
+            <!-- 质控逻辑 -->
             <el-col :span="24">
               <el-divider />
               <el-card v-for="(item, index) of ruleForm.rule" :key="'rule'+index" class="box-card" shadow="never">
                 <div slot="header" class="clearfix box-card_header span">
-                  <span class="text">质控预警</span>
+                  <span class="text">质控逻辑</span>
+                  <span class="ml40">
+                    <span>流向</span>
+                    <el-radio v-model="item.detail_status" :label="1" class="ml40">正确</el-radio>
+                    <el-radio v-model="item.detail_status" :label="2">错误</el-radio>
+                  </span>
                 </div>
                 <div>
                   <el-row v-for="(sItem, sIndex) of item.condition_content" :key="'tj'+sIndex" :gutter="12" class="mb12">
                     <el-col :span="2">
-                      <div class="text-right">条件{{ sIndex + 1 }}</div>
+                      <div class="text-right">逻辑{{ sIndex + 1 }}</div>
                     </el-col>
                     <el-col :span="8">
                       <el-cascader
@@ -339,29 +336,34 @@
                     </el-col>
                     <el-col :span="4">
                       <el-select v-model="sItem.condition" filterable clearable placeholder="请选择" style="width: 100%;">
-                        <el-option label="包含" value="包含" />
-                        <el-option label="不包含" value="不包含" />
-                        <el-option label="大于" value="大于" />
-                        <el-option label="小于" value="小于" />
-                        <el-option label="等于" value="等于" />
+                        <el-option v-for="(item,index) in selectFormula" :key="index" :label="item.formula" :value="item.formula" />
                       </el-select>
                     </el-col>
                     <el-col :span="6">
-                      <el-input v-model="sItem.param2" clearable placeholder="请输入" style="width: 100%;" />
+                      <el-autocomplete
+                        v-model="sItem.param2"
+                        class="inline-input"
+                        value-key="name"
+                        :fetch-suggestions="querySearch"
+                        placeholder="请输入"
+                        style="width: 100%;"
+                        @select="handleSelect"
+                      />
                     </el-col>
                     <el-col :span="4">
-                      <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="onAddTJ(index, sIndex)" />
-                      <el-button v-if="item.condition_content.length !== 1" size="mini" type="primary" plain icon="el-icon-minus" @click="onDeleteTJ(index, sIndex)" />
+                      <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="onAddGZ(index, sIndex)" />
+                      <el-button v-if="item.condition_content.length !== 1" type="primary" size="mini" plain icon="el-icon-minus" @click="onDeleteGZ(index, sIndex)" />
                     </el-col>
                   </el-row>
-                  <!-- <div class="span">
-                    <span>条件之间的逻辑</span>
+                  <div class="span">
+                    <span>规则之间的逻辑</span>
                     <el-radio v-model="item.condition_relation" :label="1" class="ml40">且(满足所有条件)</el-radio>
                     <el-radio v-model="item.condition_relation" :label="2">或(满足任意一条件)</el-radio>
-                  </div> -->
+                  </div>
                 </div>
               </el-card>
             </el-col>
+
           </el-form-item>
         </el-col>
 
@@ -459,6 +461,16 @@ export default {
               input2: ''
             }]
           }
+        ],
+        zkyujing: [
+          {
+            custom_msg: [{
+              aftertime: '',
+              param1: '',
+              input1: '',
+              input2: ''
+            }]
+          }
         ]
       },
       rules: {
@@ -589,6 +601,36 @@ export default {
     handleSelect(item) {
       console.log(item)
     },
+    // 添加质控预警
+    onAddZKyujing() {
+      this.ruleForm.zkyujing.push({
+        custom_msg: [{
+          aftertime: '',
+          param1: '',
+          input1: '',
+          input2: ''
+        }
+        ]
+      })
+    },
+    // 删除质控预警大框
+    onDeleteZKyujing(index) {
+      this.ruleForm.zkyujing.splice(index, 1)
+    },
+    // 新增质控预警大框中_条件
+    onAddTJZKyujing(index, sIndex) {
+      this.ruleForm.zkyujing[index].custom_msg.push({
+        aftertime: '',
+        param1: '',
+        input1: '',
+        input2: ''
+      })
+    },
+    // 删除质控预警大框中_条件
+    onDeleteTJZKyujing(index, sIndex) {
+      this.ruleForm.zkyujing[index].custom_basis.splice(sIndex, 1)
+    },
+
     // 添加质控依据
     onAddZKYJ() {
       this.ruleForm.zkyj.push({