From 41021633bfee5b5c9c57cb888423f3392c530f98 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期一, 25 三月 2024 18:31:08 +0800
Subject: [PATCH] 业务类型bug修改,集成接口,远程部署等功能修改。

---
 Source/UBCS-WEB/src/views/modeling/BusinessAdd.vue |  522 ++++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 418 insertions(+), 104 deletions(-)

diff --git a/Source/UBCS-WEB/src/views/modeling/BusinessAdd.vue b/Source/UBCS-WEB/src/views/modeling/BusinessAdd.vue
index ca03ae9..7cfaf5b 100644
--- a/Source/UBCS-WEB/src/views/modeling/BusinessAdd.vue
+++ b/Source/UBCS-WEB/src/views/modeling/BusinessAdd.vue
@@ -1,78 +1,97 @@
 <template>
   <el-dialog
-    title="涓氬姟绫诲瀷"
+    v-loading="loading"
     :visible.sync="showSubmitDialog"
     append-to-body
-    @close="closeSubmitDialog"
-    width="70%"
     style="height: 115vh;"
+    title="涓氬姟绫诲瀷"
+    top="6vh"
+    width="70%"
+    @close="closeSubmitDialog"
   >
-    <el-form ref="form" :model="btmType" show-message="true" inline size="medium" label-suffix=":" class="btmTypeForm"
-             :rules="rules" @resetFields="resetForm" status-icon="true">
-      <el-form-item label="鑻辨枃鍚嶇О" label-width="100px" required="true" prop="id">
-        <el-input v-model="btmType.id" :prefix-icon="icons.key"></el-input>
+    <el-form ref="form" :model="btmType" :rules="rules" class="btmTypeForm" inline label-suffix=":" show-message="true"
+             size="medium" status-icon="true" @resetFields="resetForm">
+      <el-form-item label="鑻辨枃鍚嶇О" label-width="100px" prop="id" required="true">
+        <el-input v-model="btmType.id" :disabled="false" :prefix-icon="icons.key"></el-input>
       </el-form-item>
       <el-form-item label="涓枃鍚嶇О" label-width="100px">
         <el-input v-model="btmType.name" :prefix-icon="icons.name"></el-input>
       </el-form-item>
-      <el-form-item label="鏁版嵁搴撹〃鍚�" label-width="100px">
+      <!-- <el-form-item label="鏁版嵁搴撹〃鍚�" label-width="100px">
         <el-input v-model="btmType.tableName" :prefix-icon="icons.tableName"></el-input>
-      </el-form-item>
-      <el-form-item label="鎵�灞為鍩�" label-width="100px" prop="domain" class="domainSelect">
-        <el-select v-model="btmType.bizDomain" :prefix-icon="icons.domain">
+      </el-form-item> -->
+      <el-form-item class="domainSelect" label="鎵�灞為鍩�" label-width="100px" prop="domain">
+        <el-select v-model="btmType.bizDomain" :prefix-icon="icons.domain" placeholder="璇烽�夋嫨棰嗗煙" @change="domainChange">
           <el-option v-for="item in domainOption"
-                     :label="item.label" :value="item.value" :key="item.value">
+                     :key="item.value" :label="item.label" :value="item.value">
           </el-option>
         </el-select>
       </el-form-item>
       <el-form-item label="鐗堟湰瑙勫垯" label-width="100px">
-        <el-input v-model="btmType.revisionRuleName" :prefix-icon="icons.revisionRule" class="revisionRule"
-                  @focus="openRevision" clearable @clear="clearRevision">
-          <i slot="suffix" class="el-input__icon el-icon-search"></i>
+        <el-input v-model="btmType.revisionRuleName"
+                  :prefix-icon="icons.revisionRule"
+                  :suffix-icon="icons.referType"
+                  class="revisionRule"
+                  clearable
+                  placeholder="璇烽�夋嫨锛岀暀绌哄垯涓嶈繘琛岀鐞�"
+                  @change="ruleChange"
+                  @clear="clearRevision"
+                  @focus="openRevision">
         </el-input>
       </el-form-item>
       <el-form-item label="鐢熷懡鍛ㄦ湡" label-width="100px">
-        <el-input v-model="btmType.lifeCycleId" :prefix-icon="icons.lifeCycle">
-          <i slot="suffix" class="el-input__icon el-icon-search"></i>
+        <el-input v-model="btmType.lifeCycleName"
+                  :prefix-icon="icons.lifeCycle"
+                  :suffix-icon="icons.referType"
+                  class="lifeCycle"
+                  clearable
+                  placeholder="璇烽�夋嫨锛岀暀绌哄垯涓嶈繘琛岀鐞�"
+                  @clear="clearLifeCycle"
+                  @focus="openLifeCycle">
         </el-input>
       </el-form-item>
-      <div>
-        <el-form-item label="寮�鍚鍥�" label-width="100px" class="viewFlag">
-          <el-switch v-model="btmType.viewFlag" active-color="#13ce66" @change="viewChange"></el-switch>
-        </el-form-item>
-        <el-form-item label="瑙嗗浘璇彞" label-width="100px" class="viewInput">
-          <el-input v-model="btmType.view" :prefix-icon="icons.view" :disabled="!btmType.viewFlag"></el-input>
-        </el-form-item>
-      </div>
-      <el-form-item label="鎻忚堪" label-width="100px" class="description">
-        <el-input v-model="btmType.description"
+      <!--      <div>-->
+      <!--        <el-form-item label="寮�鍚鍥�" label-width="100px" class="viewFlag">-->
+      <!--          <el-switch v-model="btmType.viewFlag" active-color="#13ce66" @change="viewChange"></el-switch>-->
+      <!--        </el-form-item>-->
+      <!--        <el-form-item label="瑙嗗浘璇彞" label-width="100px" class="viewInput">-->
+      <!--          <el-input v-model="btmType.view" :prefix-icon="icons.view" :disabled="!btmType.viewFlag"></el-input>-->
+      <!--        </el-form-item>-->
+      <!--      </div>-->
+      <el-form-item class="description" label="鎻忚堪" label-width="100px">
+        <el-input id="descId"
+                  v-model="btmType.description"
                   :prefix-icon="icons.desc"
                   class="descClass"
-                  id="descId"
         ></el-input>
       </el-form-item>
     </el-form>
-    <avue-crud :option="option"
+    <avue-crud ref="attrTable"
                :data="btmType.attributes"
-               :page.sync="page"
-               ref="attrTable">
-      <template slot-scope="scope" slot="menuLeft">
-        <el-button type="danger"
-                   icon="el-icon-plus"
+               :option="option"
+               :page.sync="page">
+      <template slot="menuLeft" slot-scope="scope">
+        <el-button icon="el-icon-plus"
                    size="small"
+                   type="danger"
                    @click="rowAdd()">灞炴�ч�夋嫨
         </el-button>
       </template>
       <template slot="attrDataTypeText" slot-scope="{row}">
-        <el-tag>{{ row.attrDataTypeText }}</el-tag>
+        <el-tag v-if=" row.attrDataTypeText">{{ row.attrDataTypeText }}</el-tag>
+      </template>
+      <template slot="isDefaultAttr" slot-scope="{row}">
+        <el-tag v-if="row.isDefaultAttr" type="success">鏄�</el-tag>
+        <el-tag v-else type="danger">鍚�</el-tag>
       </template>
       <template slot="menu" slot-scope="{row,index}">
-        <el-button icon="el-icon-edit" size="small" type="text" v-if="!row.$cellEdit" @click="cellEditClick(row)">缂栬緫
+        <el-button v-if="!row.$cellEdit" icon="el-icon-edit" size="small" type="text" @click="cellEditClick(row,index)">
+          缂栬緫
         </el-button>
-        <el-button icon="el-icon-delete" size="small" type="text" v-if="!row.$cellEdit"
+        <el-button v-if="!row.$cellEdit" icon="el-icon-delete" size="small" type="text"
                    @click="removeFormAttrTable(row,index)">绉婚櫎
         </el-button>
-        <el-button icon="el-icon-check" size="small" type="text" v-if="row.$cellEdit" @click="cellEditSave(row,index)">
+        <el-button v-if="row.$cellEdit" icon="el-icon-check" size="small" type="text" @click="cellEditSave(row,index)">
           淇濆瓨
         </el-button>
       </template>
@@ -83,23 +102,23 @@
     </div>
 
     <!-- 灞炴�ф睜鐨勯�夋嫨 -->
-    <el-dialog title="灞炴�ф睜"
-               :visible="attrRef.visible"
+    <el-dialog :visible="attrRef.visible"
                append-to-body
-               @close="closeAttrDialog"
+               title="灞炴�ф睜"
                width="80%"
+               @close="closeAttrDialog"
     >
-      <avue-crud class="attrRef"
-                 :option="attrRef.option"
+      <avue-crud ref="attrRef"
+                 v-loading="attrRef.loading"
                  :data="attrRef.data"
+                 :option="attrRef.option"
                  :page.sync="attrRef.page"
-                 ref="attrRef"
+                 class="attrRef"
                  @on-load="attrRefOnLoad"
                  @search-change="attrRefSearch"
-                 @selection-change="selectionChange"
-                 v-loading="attrRef.loading">
+                 @selection-change="selectionChange">
         <template slot="typeValue" slot-scope="scope">
-          <el-tag>{{ scope.row.typeValue }}</el-tag>
+          <el-tag v-if="scope.row.typeValue">{{ scope.row.typeValue }}</el-tag>
         </template>
       </avue-crud>
       <div slot="footer" class="dialog-footer">
@@ -108,17 +127,20 @@
       </div>
     </el-dialog>
     <!-- 鐗堟湰瑙勫垯鐨勫弬鐓� -->
-    <el-dialog title="璇烽�夋嫨鐗堟湰瑙勫垯"
-               :visible.sync="revisionRef.visible"
+    <el-dialog :visible.sync="revisionRef.visible"
                append-to-body
+               title="璇烽�夋嫨鐗堟湰瑙勫垯"
                width="80%">
 
-      <avue-crud class="revisionRef"
-                 :option="revisionRef.option"
+      <avue-crud ref="revisionRef"
+                 v-loading="revisionRef.loading"
                  :data="revisionRef.data"
+                 :option="revisionRef.option"
                  :page.sync="revisionRef.page"
-                 ref="revisionRef"
-                 @row-click="revisionClick">
+                 class="revisionRef"
+                 @row-click="revisionClick"
+                 @search-change="searchRevisionRule"
+                 @search-reset="clearSearchRevisionRule">
         <template slot="radio"
                   slot-scope="{row}">
           <el-radio v-model="revisionRef.selectRow"
@@ -131,41 +153,69 @@
         <el-button @click="cancelRevision">鍙栨秷</el-button>
       </div>
     </el-dialog>
+
+    <!-- 鐢熷懡鍛ㄦ湡鐨勫弬鐓� -->
+    <el-dialog :visible.sync="lifeCycleRef.visible"
+               append-to-body
+               title="璇烽�夋嫨鐢熷懡鍛ㄦ湡"
+               width="80%">
+
+      <avue-crud ref="lifeCycleRef"
+                 v-loading="lifeCycleRef.loading"
+                 :data="lifeCycleRef.data"
+                 :option="lifeCycleRef.option"
+                 :page.sync="lifeCycleRef.page"
+                 class="lifeCycleRef"
+                 @row-click="lifeCycleClick"
+                 @search-change="searchLifeCycle"
+                 @search-reset="clearSearchLifeCycle">
+        <template slot="radio"
+                  slot-scope="{row}">
+          <el-radio v-model="lifeCycleRef.selectRow"
+                    :label="row.$index">&nbsp;
+          </el-radio>
+        </template>
+      </avue-crud>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="confirmLifeCycle">纭畾</el-button>
+        <el-button @click="cancelLifeCycle">鍙栨秷</el-button>
+      </div>
+    </el-dialog>
   </el-dialog>
+
+
 </template>
 
 
 <script>
 
-import {add, update} from '@/api/omd/btmType';
+import {add, update, defaultRequestHandler} from '@/api/omd/btmType';
 import {queryPage} from '@/api/omd/OmdAttribute';
 import {getPage} from '@/api/omd/revisionRule';
+import {getList} from '@/api/modeling/cycle';
 
 export default {
   name: 'BusinessAdd',
   props: {
     btmType: {
-      type: Object
+      type: Object,
+      default: {}
     },
     domainOption: {
       type: Array
     },
     icons: {
       type: Array
-    }
+    },
+    type: {
+      type: String,
+    },
   },
-  watch: {
-    btmType: {
-      handler(newval, oldval) {
-        console.log('鐩戝惉', newval, oldval)
-      },
-      deep: true,
-      immediate: true
-    }
-  },
+  watch: {},
   data() {
     return {
       form: {},
+      loading: false,
       showSubmitDialog: false,
       option: {
         height: "330px",
@@ -179,6 +229,7 @@
         editBtn: false,
         delBtn: false,
         columnBtn: false,
+        refreshBtn: false,
         menuWidth: 150,
         addBtn: false,
         highlightCurrentRow: true,
@@ -186,13 +237,14 @@
           {
             label: '鑻辨枃鍚嶇О',
             prop: 'id',
-            align: 'center'
+            align: 'center',
+            disabled: true
           }, {
             label: '涓枃鍚嶇О',
             prop: 'name',
             align: 'center',
             cell: true
-          },{
+          }, {
             label: "绫诲瀷",
             prop: "attrDataTypeText",
             align: 'center',
@@ -209,6 +261,13 @@
             prop: "description",
             align: 'center',
             cell: true
+          },
+          {
+            label: '榛樿瀛楁',
+            prop: 'isDefaultAttr',
+            align: 'center',
+            cell: true,
+            slot: true
           }
         ]
       },
@@ -238,6 +297,7 @@
               prop: 'id',
               align: 'left',
               search: true,
+              disabled: true,
               width: 230
             }, {
               label: '涓枃鍚嶇О',
@@ -287,6 +347,7 @@
           currentPage: 1,
           pageSize: 10
         },
+        loading: false,
         selectRow: '',
         searchKey: null,
         option: {
@@ -309,6 +370,72 @@
             {
               label: '鑻辨枃鍚嶇О',
               prop: 'id',
+              disabled: true,
+              search: true
+            },
+            {
+              label: "涓枃鍚嶇О",
+              prop: "name",
+              search: true,
+            },
+            {
+              label: "璺宠穬瀛楃",
+              prop: "skipCode"
+            },
+            {
+              label: "鍒濆鍊�",
+              prop: "startCode"
+            },
+            {
+              label: "姝ラ暱",
+              prop: "serialStep"
+            },
+            {
+              label: "鍓嶇紑",
+              prop: "prefixCode"
+            },
+            {
+              label: "鍚庣紑",
+              prop: "suffixCode"
+            },
+            {
+              label: "鎻忚堪",
+              prop: "description",
+              type: "textarea"
+            }
+          ]
+        },
+      },
+      lifeCycleRef: {
+        visible: false,
+        page: {
+          currentPage: 1,
+          pageSize: 10
+        },
+        loading: false,
+        selectRow: '',
+        searchKey: null,
+        option: {
+          height: 360,
+          addBtn: false,
+          refreshBtn: false,
+          columnBtn: false,
+          menu: false,
+          border: true,
+          reserveSelection: true,
+          searchMenuSpan: 8,
+          searchShowBtn: false,
+          highlightCurrentRow: true,
+          column: [{
+            label: '閫夋嫨',
+            prop: 'radio',
+            width: 60,
+            hide: false
+          },
+            {
+              label: '鑻辨枃鍚嶇О',
+              prop: 'id',
+              disabled: true,
               search: true
             },
             {
@@ -350,24 +477,80 @@
           {pattern: /^[A-Za-z]+$/, message: '涓氬姟绫诲瀷缂栧彿鍙兘涓鸿嫳鏂�', trigger: 'blur'},
           {min: 2, max: 20, message: '闀垮害鍦�2鍒�20涓瓧绗�', trigger: 'blur'}
         ],
+        name: [
+          {required: true, message: '璇疯緭鍏ヤ笟鍔$被鍨嬩腑鏂囧悕绉�', trigger: 'blur'}
+        ],
         domain: [
           {required: true, message: '璇烽�夋嫨鎵�灞為鍩�', trigger: 'blur'}
         ]
       },
+      domainData: [],
+      ruleData: [],
+      lifeData: [],
+      domainFirstSelection: true,
+      ruleFirstSelection: true,
+      lifeCycleSelection: true,
     }
   },
   created() {
 
   },
   methods: {
+    getDefaultData(requestType, dataName, selectionName) {
+      if (this[selectionName]) {
+        defaultRequestHandler(requestType).then(res => {
+          this[dataName] = res.data.data;
+          res.data.data.forEach(item => {
+            let data = {
+              id: item.id,
+              name: item.name,
+              attrDataType: item.attrDataType,
+              attrDataTypeText: item.attrDataTypeText,
+              defaultValue: item.defaultValue,
+              description: item.description,
+              attributeLength: item.attributeLength,
+              referBtmTypeId: item.referTypeCode,
+              referBtmTypeName: item.referToName,
+              enumId: item.dictCode,
+              isDefaultAttr: item.isDefaultAttr
+            }
+            if (!this.btmType.attributes) {
+              this.btmType.attributes = [];
+            }
+            this.btmType.attributes.push(data);
+          })
+          this.attrRefOnLoad()
+          this[selectionName] = false;
+        });
+      }
+    },
+    //鎵�灞為鍩焎hange
+    domainChange() {
+      this.getDefaultData('defaultAttr', 'domainData', 'domainFirstSelection');
+    },
+    //鐗堟湰瑙勫垯change
+    ruleHandler() {
+      this.getDefaultData('reVersionRule', 'ruleData', 'ruleFirstSelection');
+    },
+    //鐢熷懡鍛ㄦ湡change
+    lifeCycleHandler() {
+      this.getDefaultData('lifeCycle', 'lifeData', 'lifeCycleSelection');
+    },
+    //榛樿鍊艰姹�
+    defaultValueRequest() {
+
+    },
     // 鍏抽棴缁勪欢寮圭獥
     closeSubmitDialog() {
       this.showSubmitDialog = false;
-      this.btmType.attributes = [];
-      this.btmType = {};
-      this.attrRef.selectData = [];
-      this.attrRef.queryNotIn = null;
-      this.resetForm();
+      //鎵�灞為鍩熺姸鎬侀噸鏂拌祴鍊�
+      this.domainFirstSelection = true;
+      //鐗堟湰瑙勫垯鐘舵�侀噸鏂拌祴鍊�
+      this.ruleFirstSelection = true;
+      //鐢熷懡鍛ㄦ湡鐘舵�侀噸鏂拌祴鍊�
+      this.lifeCycleSelection = true;
+      //閲嶇疆鏍¢獙瑙勫垯
+      this.$refs.form.resetFields();
     },
     // 鍏抽棴灞炴�ф睜鏌ヨ寮圭獥
     closeAttrDialog() {
@@ -391,12 +574,7 @@
         const data = res.data.data;
         this.attrRef.page.total = data.total;
         this.attrRef.data = data.records;
-      });
-      setTimeout(() => {
         this.attrRef.loading = false;
-      }, 600)
-      this.$nextTick(() => {
-        this.$refs.attrRef.refreshTable();
       });
     },
     // 灞炴�ф睜妫�绱�
@@ -423,7 +601,7 @@
       if (!this.btmType.attributes) {
         this.btmType.attributes = [];
       }
-      console.log(this.attrRef.selectData);
+      // console.log(this.attrRef.selectData);
       this.attrRef.selectData.forEach(item => {
         this.btmType.attributes.push({
           id: item.id,
@@ -440,6 +618,8 @@
         this.attrRef.queryNotIn += (item.id + ",")
       });
       this.attrRef.data = [];
+      this.$refs.attrRef.selectClear();
+      this.attrRef.selectData = [];
       this.closeAttrDialog();
     },
     // 鍙栨秷灞炴�ф睜鍕鹃��
@@ -449,10 +629,28 @@
     },
     // 娣诲姞涓氬姟绫诲瀷
     submitBtmType() {
-      console.log(this.btmType);
+      // console.log(this.btmType);
+      if (!this.btmType.attributes) {
+        this.$message.warning("杩樻病鏈変负涓氬姟绫诲瀷閫夋嫨灞炴��");
+        return;
+      } else {
+        let nullFlag = false;
+        this.btmType.attributes.forEach(item => {
+          if (!item.name) {
+            this.$message.warning("绗�" + (item.$index + 1) + "琛岀殑涓枃鍚嶇О涓嶈兘涓虹┖");
+            nullFlag = true;
+            return;
+          }
+        })
+        if (nullFlag) {
+          return;
+        }
+      }
+      this.btmType.attributes = this.btmType.attributes.filter(item => !item.isDefaultAttr);
       add(this.btmType, true).then(res => {
+        // console.log(res)
         // 娣诲姞瀹屾垚锛屽洖璋冪埗缁勪欢鐨勫埛鏂�
-        this.$message.success('淇濆瓨鎴愬姛');
+        this.$message.success(res.data.msg);
         this.cancleSubmitBtmType();
         this.$emit('refreshTable');
       })
@@ -475,33 +673,58 @@
     },
     // 鍒楄〃缂栬緫
     cellEditClick(cell) {
-      console.log(cell);
+      // console.log(cell);
       cell.$cellEdit = true;
     },
     // 鍒楄〃缂栬緫淇濆瓨
-    cellEditSave(row) {
-      this.btmType.attributes[row.$index].name = row.name
-      this.btmType.attributes[row.$index].defaultValue = row.defaultValue;
-      this.btmType.attributes[row.$index].description = row.description;
+    cellEditSave(row, index) {
+      this.btmType.attributes[index].name = row.name
+      this.btmType.attributes[index].defaultValue = row.defaultValue;
+      this.btmType.attributes[index].description = row.description;
       row.$cellEdit = false;
+      // console.log(this.btmType.attributes);
+      this.$refs.attrTable.refreshTable();
     },
     // 鎵撳紑鐗堟湰瑙勫垯鍙傜収
-    async openRevision() {
-      await getPage().then(res => {
-        this.revisionRef.data = res.data.data.records;
-      });
+    openRevision() {
       this.revisionRef.visible = true;
+      this.revisionRuleOnLoad();
+    },
+    // 鐗堟湰鍙傜収鍒楄〃鐨勯粯璁ゆ煡璇㈡柟娉�
+    revisionRuleOnLoad() {
+      this.revisionRef.loading = true;
+      getPage().then(res => {
+        this.revisionRef.data = res.data.data.records;
+        this.revisionRef.loading = false;
+      });
+
+      // this.$nextTick(() => {
+      //   this.$refs.revisionRef.refreshTable();
+      // });
+    },
+    // 鎵撳紑鐗堟湰瑙勫垯鍙傜収
+    openLifeCycle() {
+      this.lifeCycleRef.visible = true;
+      this.lifeCycleOnLoad();
+    },
+    // 鐢熷懡鍛ㄦ湡鍒楄〃鐨勯粯璁ゆ煡璇㈡柟娉�
+    lifeCycleOnLoad() {
+      this.lifeCycleRef.loading = true;
+      getList().then(res => {
+        this.lifeCycleRef.data = res.data.data.records;
+        this.lifeCycleRef.loading = false;
+      });
+      this.$nextTick(() => {
+        this.$refs.lifeCycleRef.refreshTable();
+      });
     },
     // 鍏抽棴鐗堟湰瑙勫垯鍙傜収寮圭獥
     closeRevisionDialog() {
       this.revisionRef.visible = false;
     },
-    // 鐗堟湰瑙勫垯鍙傜収鍒楄〃妫�绱�
-    revisionRefSearch() {
-
-    },
-    // 鐗堟湰瑙勫垯閫変腑浜嬩欢
-    revisionChange() {
+    // 鍏抽棴鐢熷懡鍛ㄦ湡鍙傜収寮圭獥
+    closeLifeCycleDialog() {
+      this.lifeCycleRef.visible = false;
     },
     // 纭閫変腑鐗堟湰瑙勫垯
     confirmRevision() {
@@ -509,13 +732,29 @@
       this.btmType.revisionRuleId = this.revisionRef.selectData.id;
       this.btmType.revisionRuleName = this.revisionRef.selectData.name;
       this.btmType.inputRevisionFlag = false;
+      this.ruleHandler()
       this.cancelRevision();
+
+    },
+    // 纭閫変腑鐢熷懡鍛ㄦ湡
+    confirmLifeCycle() {
+      this.btmType.lifeCycleFlag = true;
+      this.btmType.lifeCycleId = this.lifeCycleRef.selectData.id;
+      this.btmType.lifeCycleName = this.lifeCycleRef.selectData.name;
+      this.cancelLifeCycle();
+      this.lifeCycleHandler()
     },
     // 鍙栨秷閫変腑鐗堟湰瑙勫垯
     cancelRevision() {
       this.revisionRef.selectRow = '';
       this.revisionRef.selectData = {};
       this.closeRevisionDialog();
+    },
+    // 鍙栨秷閫変腑鐢熷懡鍛ㄦ湡
+    cancelLifeCycle() {
+      this.lifeCycleRef.selectRow = '';
+      this.lifeCycleRef.selectData = {};
+      this.closeLifeCycleDialog();
     },
     // 鐗堟湰瑙勫垯鍗曢��
     revisionClick(row) {
@@ -525,15 +764,90 @@
         name: row.name,
       };
     },
+    // 鐢熷懡鍛ㄦ湡鍗曢��
+    lifeCycleClick(row) {
+      this.lifeCycleRef.selectRow = row.$index;
+      this.lifeCycleRef.selectData = {
+        id: row.id,
+        name: row.name,
+      };
+    },
+    // 鍙栨秷鐗堟湰瑙勫垯
     clearRevision() {
       this.$delete(this.btmType, 'revisionFlag');
       this.$delete(this.btmType, 'revisionRuleId');
       this.$delete(this.btmType, 'revisionRuleName');
       this.$delete(this.btmType, 'inputRevisionFlag');
     },
+    // 鍙栨秷鐢熷懡鍛ㄦ湡
+    clearLifeCycle() {
+      this.$delete(this.btmType, 'lifeCycleFlag');
+      this.$delete(this.btmType, 'lifeCycleId');
+      this.$delete(this.btmType, 'lifeCycleName');
+    },
+    // 琛ㄥ崟閲嶇疆
     resetForm() {
       this.btmType = {};
       this.$refs.form.resetFields();
+    },
+    /**
+     * 鎼滅储鐗堟湰瑙勫垯
+     * @param params 鎼滅储妗嗚緭鍏ュ��  {id: '',name: ''} 鐩存帴鑾峰彇灏辫
+     * @param done 鎵ц瀹屾垚鍚庣殑鍥炶皟
+     */
+    searchRevisionRule(params, done) {
+      let condition = {};
+      if (params.id) {
+        condition['id_like'] = params.id;
+      }
+      if (params.name) {
+        condition['name_like'] = params.name;
+      }
+      this.revisionRef.loading = true;
+      getPage(this.revisionRef.page.currentPage, this.revisionRef.page.pageSize, condition).then(res => {
+        this.revisionRef.data = res.data.data.records;
+      });
+      setTimeout(() => {
+        done();
+        this.revisionRef.loading = false;
+      }, 600);
+      this.$nextTick(() => {
+        this.$refs.revisionRef.refreshTable();
+      });
+    },
+    /**
+     * 鎼滅储鐢熷懡鍛ㄦ湡
+     * @param params 鎼滅储妗嗚緭鍏ュ��
+     * @param done 鎵ц瀹屾垚鍚庣殑鍥炶皟
+     */
+    searchLifeCycle(params, done) {
+      let condition = {};
+      if (params.id) {
+        condition['id_like'] = params.id;
+      }
+      if (params.name) {
+        condition['name_like'] = params.name;
+      }
+      this.lifeCycleRef.loading = true;
+      getList(this.lifeCycleRef.page.currentPage, this.lifeCycleRef.page.pageSize, condition).then(res => {
+        this.lifeCycleRef.data = res.data.data.records;
+      });
+      setTimeout(() => {
+        done();
+        this.lifeCycleRef.loading = false;
+      }, 600);
+      this.$nextTick(() => {
+        this.$refs.lifeCycleRef.refreshTable();
+      });
+    },
+    // 鍙栨秷鐗堟湰瑙勫垯鎼滅储
+    clearSearchRevisionRule(item) {
+      this.revisionRuleOnLoad();
+    },
+    // 鍙栨秷鐢熷懡鍛ㄦ湡鎼滅储
+    clearSearchLifeCycle(item) {
+      this.lifeCycleOnLoad();
+      console.log(item);
     }
   }
 }
@@ -549,27 +863,27 @@
   display: none !important;
 }
 
+.lifeCycleRef > .el-card:nth-of-type(2) > .el-card__body > .avue-crud__menu {
+  display: none !important;
+}
+
 .btmTypeForm > .el-form-item > .el-form-item__content > .el-input > .el-input__inner {
-  width: 200px;
+  width: 260px;
 }
 
 .domainSelect > .el-form-item__content > .el-select > .el-input > .el-input__inner {
-  width: 200px;
+  width: 260px;
 }
 
 .viewFlag {
-  width: 305px;
+  width: 360px;
 }
 
 .viewInput > .el-form-item__content > .el-input > .el-input__inner {
-  width: 200px;
+  width: 630px;
 }
 
 .descClass > .el-input__inner {
-  width: 57vw
-}
-
-#descId {
-  width: 57vw;
+  width: 1000px;
 }
 </style>

--
Gitblit v1.9.3