From 9cc440df58642761cd7361786351e91b9fa62a79 Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期二, 22 八月 2023 11:16:20 +0800
Subject: [PATCH] 接口配置页面

---
 Source/UBCS-WEB/src/api/docking/info.js                     |   59 +++++
 Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue   |    2 
 Source/UBCS-WEB/src/views/docking/info.vue                  |   64 ++++-
 Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue |    2 
 Source/UBCS-WEB/src/views/docking/infoForm.vue              |  457 +++++++++++++++++++++++++++++++++++++++++++++
 Source/UBCS-WEB/src/components/refer/vciWebReferTree.vue    |    3 
 6 files changed, 567 insertions(+), 20 deletions(-)

diff --git a/Source/UBCS-WEB/src/api/docking/info.js b/Source/UBCS-WEB/src/api/docking/info.js
new file mode 100644
index 0000000..df0cb74
--- /dev/null
+++ b/Source/UBCS-WEB/src/api/docking/info.js
@@ -0,0 +1,59 @@
+import request from '@/router/axios';
+
+export const getList = (page, size, params) => {
+  return request({
+    url: '/api/ubcs-code/dockingManagement/gridLoge',
+    method: 'get',
+    params: {
+      ...params,
+      page,
+      size
+    }
+  })
+}
+
+// 鏂板
+export const add = (data) => {
+  return request({
+    url: '/api/ubcs-code/dockingManagement/submit',
+    method: 'post',
+    data
+  })
+}
+// 淇敼
+export const edit = (data) => {
+  return request({
+    url: '/api/ubcs-code/dockingManagement/edit-save',
+    method: 'put',
+    data
+  })
+}
+
+// 鍒犻櫎
+export const del = (data) => {
+  let url = '/api/ubcs-code/dockingManagement/remove'
+  return request({
+    url,
+    method: 'post',
+    data
+  })
+}
+
+
+// 鍚屾
+export const push = (data) => {
+  return request({
+    url: '/api/ubcs-code/dockingManagement/push',
+    method: 'put',
+    data
+  })
+}
+
+// 鍋滅敤鍚敤
+export const updateStatus = (data) => {
+  return request({
+    url: '/api/ubcs-code/dockingManagement/updateStatus',
+    method: 'put',
+    data
+  })
+}
diff --git a/Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue b/Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue
index 4639d3f..3697124 100644
--- a/Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue
+++ b/Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue
@@ -237,7 +237,7 @@
 
       this.value=value.join(',');
       this.text=text.join(',')
-      this.$emit("setValue", {field:this.referConfig.field,showField:this.referConfig.showField,value:this.value,text:this.text,rawData:this.selectionList});
+      this.$emit("setValue", {field:this.referConfig.field,showField:this.referConfig.showField,value:this.value,text:this.text,rawData:this.selectionList,fieldMap:this.referConfig.fieldMap});
       this.visible=false;
     },
     searchReset() {
diff --git a/Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue b/Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue
index cc0b644..549156e 100644
--- a/Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue
+++ b/Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue
@@ -295,7 +295,7 @@
 
       this.value=value.join(',');
       this.text=text.join(',')
-      this.$emit("setValue", {field:this.referConfig.field,showField:this.referConfig.showField,value:this.value,text:this.text,rawData:this.selectionList});
+      this.$emit("setValue", {field:this.referConfig.field,showField:this.referConfig.showField,value:this.value,text:this.text,rawData:this.selectionList,fieldMap:this.referConfig.fieldMap});
       this.visible=false;
     },
     searchReset() {
diff --git a/Source/UBCS-WEB/src/components/refer/vciWebReferTree.vue b/Source/UBCS-WEB/src/components/refer/vciWebReferTree.vue
index 8abf926..88fa814 100644
--- a/Source/UBCS-WEB/src/components/refer/vciWebReferTree.vue
+++ b/Source/UBCS-WEB/src/components/refer/vciWebReferTree.vue
@@ -183,7 +183,8 @@
         value: this.value,
         text: this.text || '',
         isTreeMuti:this.isMuti,
-        rawData: checkedData.checkedNodes
+        rawData: checkedData.checkedNodes,
+        fieldMap:this.referConfig.fieldMap
       });
     }
   },
diff --git a/Source/UBCS-WEB/src/views/docking/info.vue b/Source/UBCS-WEB/src/views/docking/info.vue
index 538f1e0..238b5f3 100644
--- a/Source/UBCS-WEB/src/views/docking/info.vue
+++ b/Source/UBCS-WEB/src/views/docking/info.vue
@@ -26,7 +26,7 @@
         </avue-crud>
       </basic-container>
     </el-main>
-    <originalAdd ref="originalAdd" @refreshTable="refreshChange" :attribute="editAttribute"></originalAdd>
+    <infoForm ref="infoForm" @refreshTable="refreshChange" :formData="editAttribute"></infoForm>
     <!-- 楂樼骇鏌ヨ瀵硅瘽妗� -->
     <advanced-query
       :ref="advancedQueryParam.ref"
@@ -39,16 +39,14 @@
 
 <script>
 import {
-  getList,
-  remove,
-  add,
-  update, getPage, getApplyRange
-} from "@/api/omd/OmdAttribute";
+  getList,add,edit,del,push,updateStatus
+} from "@/api/docking/info";
 import {getDictionary} from "@/api/omd/enum";
-import {mapGetters} from "vuex";
+import infoForm from "./infoForm.vue";
 
 export default {
   name: "info",
+  components:{infoForm},
   data() {
     return {
       page: {
@@ -223,22 +221,22 @@
       this.onLoad(this.page, this.query);
     },
     addSave() {
-      this.$refs.originalAdd.showSubmitDialog = true;
+      this.$refs.infoForm.showSubmitDialog = true;
       const newAttr = {};
       newAttr.nullable = true;
-      this.$refs.originalAdd.attribute = newAttr;
+      this.$refs.infoForm.formData = newAttr;
     },
     updateSave(row,index) {
       this.selectRow = index;
       var json = JSON.stringify(row);
       this.editAttribute = JSON.parse(json);
       this.editAttribute.nullable = row.nullable == 'true' ? true : false;
-      this.$refs.originalAdd.attribute = this.editAttribute;
-      this.$refs.originalAdd.showSubmitDialog = true;
+      this.$refs.infoForm.attribute = this.editAttribute;
+      this.$refs.infoForm.showSubmitDialog = true;
       this.checkUsingReferDict(row);
-      this.$refs.originalAdd.activeName = this.itemForm.activeName;
-      this.$refs.originalAdd.enumInitFlag = this.itemForm.enumInitFlag;
-      this.$refs.originalAdd.referInitFlag = this.itemForm.referInitFlag;
+      this.$refs.infoForm.activeName = this.itemForm.activeName;
+      this.$refs.infoForm.enumInitFlag = this.itemForm.enumInitFlag;
+      this.$refs.infoForm.referInitFlag = this.itemForm.referInitFlag;
       // this.refreshChange()
     },
     deleteSave(row,index) {
@@ -254,6 +252,38 @@
           this.refreshChange();
         });
       });
+    },
+    ENABLE(row,index){
+      //鍚敤
+      this.updateStatus("enable");
+    },
+    DISABLE(row,index){
+      //鍋滅敤
+      this.updateStatus("disable");
+    },
+    updateStatus(able){
+      var that = this;
+      var paramTemp = {
+        update:able,
+        oid:this.selectRow.oid,
+        ts:this.selectRow.ts
+      };
+      this.$confirm("鏄惁瑕�"+(able == "enbale" ? "鍚敤" : (able == "disable" ? "鍋滅敤": "鍙戝竷")) +"杩欐潯鏁版嵁锛�", {
+        confirmButtonText: "纭畾",
+        cancelButtonText: "鍙栨秷",
+        type: "warning"
+      })
+        .then(() => {
+          return updateStatus(paramTemp);
+        })
+        .then(() => {
+          this.onLoad(this.page);
+          this.$message({
+            type: "success",
+            message:(able == "enbale" ? "鍚敤鎴愬姛" : (able == "disable" ? "鍋滅敤鎴愬姛": "鍙戝竷鎴愬姛"))
+          });
+          this.$refs.crud.toggleSelection();
+        });
     },
     PUSH(){
       if (this.selectionList.length != 1) {
@@ -279,7 +309,7 @@
     },
     onLoad(page, params = {}) {
       this.loading = true;
-      getPage(this.page.currentPage, this.page.pageSize, Object.assign(params, this.query)).then(res => {
+      getList(this.page.currentPage, this.page.pageSize, Object.assign(params, this.query)).then(res => {
         const data = res.data.data;
         this.page.total = data.total;
         this.data = data.records;
@@ -290,7 +320,7 @@
     },
     rowClick(row) {
       this.itemForm.itemData = row;
-      this.selectRow = row.$index;
+      this.selectRow = row;
       this.attribute = row;
 
       this.$refs.crud.toggleSelection();
@@ -309,7 +339,7 @@
         getDictionary({code: row.dictCode}).then(res => {
           this.editAttribute.dictValue = res.data.data[0].label;
           this.itemForm.itemData.dictValue = this.editAttribute.dictValue;
-          this.$refs.originalAdd.dictEnums = res.data.data;
+          this.$refs.infoForm.dictEnums = res.data.data;
         })
       }else {
         this.itemForm.activeName = 'referTab';
diff --git a/Source/UBCS-WEB/src/views/docking/infoForm.vue b/Source/UBCS-WEB/src/views/docking/infoForm.vue
new file mode 100644
index 0000000..e450714
--- /dev/null
+++ b/Source/UBCS-WEB/src/views/docking/infoForm.vue
@@ -0,0 +1,457 @@
+<template>
+  <el-container>
+    <el-dialog title="绯荤粺闆嗘垚鍩虹淇℃伅" v-dialogDrag :visible.sync="showSubmitDialog" class="avue-dialog avue-dialog--top" append-to-body @close="closeSubmitDialog" width="1000px"
+               style="height: 100vh;" top="-5%">
+      <el-form ref="form" :model="formData" show-message="true" inline size="medium" label-suffix=":"
+               class="dockingForm" :rules="rules" @resetFields="resetForm" status-icon="true">
+        <el-form-item label="鎺ュ彛绫诲瀷" prop="interfaceType">
+          <el-select v-model="formData.interfaceType" placeholder="璇烽�夋嫨鎺ュ彛绫诲瀷" @change="typeSelectChange">
+            <el-option v-for="item in interfaceTypeList" :key="item.value" :label="item.label" :value="item.value">
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="鍙傛暟绫诲瀷" prop="paramType">
+          <el-select v-model="formData.paramType" placeholder="璇烽�夋嫨鍙傛暟绫诲瀷" @change="typeSelectChange">
+            <el-option v-for="item in paramTypeList" :key="item.value" :label="item.label" :value="item.value">
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="杩斿洖鍊肩被鍨�" prop="returnType">
+          <el-select v-model="formData.returnType" placeholder="璇烽�夋嫨杩斿洖鍊肩被鍨�" @change="typeSelectChange">
+            <el-option v-for="item in returnTypeList" :key="item.value" :label="item.label" :value="item.value">
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="鎺ㄩ�佺被鍨�" prop="pushType">
+          <el-select v-model="formData.pushType" placeholder="璇烽�夋嫨鎺ㄩ�佺被鍨�" @change="typeSelectChange">
+            <el-option v-for="item in pushTypeList" :key="item.value" :label="item.label" :value="item.value">
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="鍒嗙被閫夋嫨" prop="classifyName">
+          <vciWebRefer
+            :referConfig="{
+                  title: '鍒嗙被閫夋嫨',
+                  showField: 'classifyName',
+                  field: 'classifyOid',
+                  fieldMap:{'classifyId':'id'},
+                  placeholder: '璇烽�夋嫨鍒嗙被閫夋嫨',
+                  options: {isMuti: false, type: 'tree', url: 'api/ubcs-code/codeClassify/referTree'},
+                }"
+            :value="formData.classifyOid"
+            :text="formData.classifyName"
+            :disabled="false"
+            :display="true"
+            @setReferValue="setReferValue"
+          ></vciWebRefer>
+        </el-form-item>
+        <el-form-item label="鎺ㄩ�佺郴缁�" prop="sourceSysName">
+          <vciWebRefer
+            :referConfig="{
+                  title: '鎺ㄩ�佺郴缁�',
+                  showField: 'sourceSysName',
+                  field: 'sourceSystemOid',
+                  fieldMap:{'sourceSysId':'id'},
+                  placeholder: '璇烽�夋嫨鎺ㄩ�佺郴缁�',
+                  options: {isMuti: false, type: 'default', url: 'api/ubcs-code/codeClassify/referTree'},
+                }"
+            :value="formData.sourceSystemOid"
+            :text="formData.sourceSysName"
+            :disabled="false"
+            :display="true"
+            @setReferValue="setReferValue"
+          ></vciWebRefer>
+        </el-form-item>
+        <el-form-item label="绯荤粺鎻忚堪" >
+          <el-input type="textarea" :rows="2" v-model="formData.description"></el-input>
+        </el-form-item>
+        <el-form-item label="璇锋眰鏂瑰紡" prop="requestMethod">
+          <el-select v-model="formData.requestMethod" placeholder="璇烽�夋嫨璇锋眰鏂瑰紡" @change="typeSelectChange">
+            <el-option v-for="item in requestMethodList" :key="item.value" :label="item.label" :value="item.value">
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="璇锋眰鍦板潃" prop="requestUrl">
+          <el-input v-model="formData.requestUrl" type="text"></el-input>
+        </el-form-item>
+        <el-form-item label="鎺ュ彛鍑芥暟" prop="interfaceFunction">
+          <el-input v-model="formData.interfaceFunction"></el-input>
+        </el-form-item>
+        <el-form-item label="鍛藉悕绌洪棿" prop="nameSpace">
+          <el-input v-model="formData.namespace"></el-input>
+        </el-form-item>
+        <el-form-item label="soapaction" prop="soapaction">
+          <el-input v-model="formData.soapaction" ></el-input>
+        </el-form-item>
+        <el-form-item label="鍙傛暟鍚嶇О" prop="targName">
+          <el-input v-model="formData.targName" ></el-input>
+        </el-form-item>
+        <el-form-item label="cxfaxis" prop="cxfaxis">
+          <el-input v-model="formData.soapaction" ></el-input>
+        </el-form-item>
+        <el-form-item label="绫昏矾寰�" prop="classPath">
+          <el-input v-model="formData.classPath" ></el-input>
+        </el-form-item>
+        <el-tabs v-model="activeName" @tab-click="handleClick" stretch="true">
+          <el-tab-pane label="鍙傛暟瀵硅薄" name="paramTab">
+            <avue-crud :option="param.option"
+                       :data="param.data"
+                       v-model="formData.sysIntParamVOs"
+                       ref="paramcrud">
+              <template slot="menuLeft">
+                <el-button type="primary"
+                           size="small"
+                           plain
+                           icon="el-icon-plus"
+                           @click="handleParamAdd">娣诲姞琛�
+                </el-button>
+              </template>
+              <template slot-scope="scope" slot="menu">
+                <el-button type="text"
+                           icon="el-icon-delete"
+                           size="small"
+                           @click="handleParamDel(scope.row)">绉婚櫎
+                </el-button>
+              </template>
+            </avue-crud>
+          </el-tab-pane>
+          <el-tab-pane label="header瀵硅薄" name="headerTab">
+            <avue-crud :option="header.option"
+                       :data="header.data"
+                       v-model="formData.sysIntHeaderVOs"
+                       ref="paramcrud">
+              <template slot="menuLeft">
+                <el-button type="primary"
+                           size="small"
+                           plain
+                           icon="el-icon-plus"
+                           @click="handleHeaderAdd">娣诲姞琛�
+                </el-button>
+              </template>
+              <template slot-scope="scope" slot="menu">
+                <el-button type="text"
+                           icon="el-icon-delete"
+                           size="small"
+                           @click="handleHeaderDel(scope.row)">绉婚櫎
+                </el-button>
+              </template>
+            </avue-crud>
+          </el-tab-pane>
+        </el-tabs>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitAttribute">纭畾</el-button>
+        <el-button @click="cancelSubmit">鍙栨秷</el-button>
+      </div>
+    </el-dialog>
+
+  </el-container>
+</template>
+
+<script>
+import { getDictionary, getParentList } from '@/api/omd/enum'
+import {add,edit} from "@/api/docking/info"
+import vciWebRefer from "@/components/refer/vciWebRefer.vue";
+
+export default {
+  name: 'infoForm',
+  props: {
+    formData: {
+      type: Object
+    },
+  },
+  components: { vciWebRefer },
+  data() {
+    return {
+      showSubmitDialog: false,
+      //鎺ュ彛绫诲瀷涓嬫媺
+      interfaceTypeList: [{
+        label: 'webService', value: 'webService'
+      }, {
+        label: '绫昏矾寰�', value: 'classPath'
+      }, {
+        label: 'Http', value: 'http'
+      }],
+      //鍙傛暟绫诲瀷涓嬫媺
+      paramTypeList:[ {
+          label: 'xml', value: 'xml'
+        }, {
+          label: 'Json', value: 'json'
+        }],
+      //杩斿洖鍊肩被鍨嬩笅鎷�
+      returnTypeList:[ {
+        label: 'xml', value: 'xml'
+      }, {
+        label: 'Json', value: 'json'
+      }],
+      //鎺ㄩ�佺被鍨�
+      pushTypeList: [{key: '1', value: '鏁版嵁鎺ㄩ��'},
+        {key: '2', value: '鍒嗙被鎺ㄩ��'},
+        {key: '3', value: '缂栫爜鐢宠'},
+        {key: '4', value: '缂栫爜鏇存敼锛堢姸鎬併�佸洖鏀讹級'},
+        {key: '5', value: '鍒嗙被鏌ヨ'},
+        {key: '6', value: '鍚鍒欎俊鎭殑鍒嗙被鏌ヨ'},
+        {key: '7', value: '鏁版嵁鏌ヨ'}],
+      //璇锋眰鏂瑰紡
+      requestMethodList:[{key: 'post', value: 'post'},
+        {key: 'get', value: 'get'},
+        {key: 'delete', value: 'delete'},
+        {key: 'put', value: 'put'}],
+      // 榛樿鐨勯〉绛�
+      activeName: 'paramTab',
+      // 灞炴�х被鍨嬩笅鎷夋鏁版嵁
+      typeList: [],
+      // 鍙傜収涓嬫媺妗嗘槸鍚﹀彲鐢�
+      referToFlag: true,
+      // 琛ㄥ崟鏍¢獙瑙勫垯
+      rules: {
+        paramType: [
+          {required: true, message: '璇烽�夋嫨鍙傛暟绫诲瀷', trigger: 'blur'}
+        ],
+        returnType: [
+          {required: true, message: '璇烽�夋嫨杩斿洖鍊肩被鍨�', trigger: 'blur'}
+        ],
+        pushType: [
+          {required: true, message: '璇烽�夋嫨鎺ㄩ�佺被鍨�', trigger: 'change'}
+        ],
+        classifyName: [
+          {required: true, message: '璇烽�夋嫨鎺ㄩ�佺郴缁�', trigger: 'blur'}
+        ],
+        sourceSysName: [
+          {required: true, message: '璇烽�夋嫨鍒嗙被閫夋嫨', trigger: 'blur'}
+        ],
+        classPath: [
+          {required: true, message: '璇疯緭鍏ョ被璺緞', trigger: 'blur'}
+        ],
+        requestMethod: [
+          {required: true, message: '璇烽�夋嫨璇锋眰鏂瑰紡', trigger: 'blur'}
+        ],
+        requestUrl: [
+          {required: true, message: '璇疯緭鍏ヨ姹傚湴鍧�', trigger: 'blur'}
+        ],
+        interfaceFunction: [
+          {required: true, message: '璇疯緭鍏ユ帴鍙e嚱鏁�', trigger: 'blur'}
+        ],
+        nameSpace: [
+          {required: true, message: '璇疯緭鍏ュ懡鍚嶇┖闂�', trigger: 'blur'}
+        ],
+        soapaction: [
+          {required: true, message: '璇疯緭鍏oapaction', trigger: 'blur'}
+        ],
+        targName: [
+          {required: true, message: '璇疯緭鍏ュ弬鏁板悕绉�', trigger: 'blur'}
+        ],
+        cxfaxis: [
+          {required: true, message: '璇疯緭鍏xfaxis', trigger: 'blur'}
+        ]
+      },
+      // 琛ㄦ牸閰嶇疆
+      param: {
+        option: {
+          height: 200,
+          addBtn: false,
+          viewBtn: false,
+          delBtn: false,
+          editBtn: false,
+          refreshBtn: false,
+          columnBtn: false,
+          menu: false,
+          border: true,
+          searchShowBtn: false,
+          column: [{
+            label: '鍙傛暟鍚�',
+            prop: 'paramKey'
+          }, {
+            label: '鍙傛暟鍊�',
+            prop: 'paramValue'
+          }, {
+            label: '鏄惁浣跨敤',
+            prop: 'usedFlag',
+            dicData: [{
+              label: '鏄�', value: 'true'
+            }, {
+              label: '鍚�', value: 'false'
+            }]
+          }]
+        },
+        data: [],
+        selectRow: {}
+      },
+      // 鏋氫妇鍙傜収琛ㄦ牸閰嶇疆
+      header: {
+        option: {
+          height: 200,
+          addBtn: false,
+          viewBtn: false,
+          delBtn: false,
+          editBtn: false,
+          refreshBtn: false,
+          menu: false,
+          border: true,
+          searchShowBtn: false,
+          column: [{
+            label: '澶村弬鏁板悕绉�',
+            prop: 'headerKey'
+          }, {
+            label: '澶村弬鏁板��',
+            prop: 'headerValue'
+          }, {
+            label: '鏄惁浣跨敤',
+            prop: 'usedFlag',
+            dicData: [{
+              label: '鏄�', value: 'true'
+            }, {
+              label: '鍚�', value: 'false'
+            }]
+          }],
+          data: [],
+          // 閫夊畾琛�
+          selectRow: ''
+        },
+        dictEnums: []
+      }
+    }
+  },
+  created() {
+    //this.geDictData('interfaceType', this.interfaceTypeList)
+
+  },
+  methods: {
+    closeSubmitDialog() {
+      this.resetForm();
+      this.showSubmitDialog = false;
+    },
+    resetForm() {
+      this.formData = {
+        nullable: true,
+        referTypeKey: '',
+      };
+      this.referToFlag = true;
+      this.$refs.form.resetFields();
+      this.dictEnums = [];
+    },
+    setReferValue(data) {
+      if (data.field) {
+        this.formData[data.field] = data.value || "";
+        this.formData[data.showField] = data.text || "";
+      }
+      if (data.fieldMap) {
+        //璇存槑闇�瑕佹槧灏�
+        for (let key in data.fieldMap) {
+          let mapFields = data.fieldMap[key].split(",");
+          let value = [];
+          data.rawData.forEach(_item => {
+            var temp;
+            if (!_item.attributes) {
+              _item.attributes = _item;
+            }
+            if (mapFields.length == 1) {
+              var mapField = mapFields[0];
+              if (mapField.indexOf("attribute.") > -1) {
+                temp = _item['attributes'][mapField.subString("attribute.".length)];
+              } else {
+                temp = _item['attributes'][mapField] || _item[mapField];
+              }
+            } else {
+              //鏈夊涓�
+              var mutiTemp = [];
+              layui.each(mapFields, function (_indexField, _itemField) {
+                if (_itemField.indexOf("attribute.") > -1) {
+                  mutiTemp.push(_item['attributes'][_itemField.subString("attribute.".length)]);
+                } else {
+                  mutiTemp.push(_item['attributes'][_itemField] || _item[_itemField]);
+                }
+              });
+              temp = mutiTemp.join(' ');
+            }
+            if (temp != null && temp != '') {
+              value.push(temp);
+            }
+          })
+          this.formData[key] = value.join(',');
+        }
+      }
+    }
+    ,
+    submitAttribute() {
+      const that = this;
+      this.$refs.form.validate(function (pass, field) {
+        if (pass) {
+          add(that.formData).then(res => {
+            that.$message.success("淇濆瓨鎴愬姛");
+            that.showSubmitDialog = false;
+            that.formData = {};
+            that.$emit('refreshTable');
+          });
+        } else {
+          that.$message.error('蹇呭~');
+        }
+      })
+    },
+    cancelSubmit() {
+      this.closeSubmitDialog();
+    },
+    // 灞炴�х被鍨嬩笅鎷夋閫夋嫨浜嬩欢
+    typeSelectChange(value) {
+      if (value == 'VTString') {
+        this.$set(this.formData, "maxLength", 150)
+      } else if (value == 'VTInteger') {
+        this.$set(this.formData, "maxLength", 50)
+      } else if (value == 'VTBoolean') {
+        this.$set(this.formData, "maxLength", 5)
+      } else if (value == 'VTDouble') {
+        this.$set(this.formData, "maxLength", 26)
+        this.$set(this.formData, "precision", 8)
+      } else if (value == 'VTLong') {
+        this.$set(this.formData, "maxLength", 150)
+      } else if (value == 'VTDate' || value == 'VTTime' || value == 'VTDateTime') {
+        this.$set(this.formData, "maxLength", 6)
+      } else {
+        this.$set(this.formData, "maxLength", 50)
+      }
+      this.formData.typeCode = 'attributeType';
+      this.formData.typeKey = value;
+    },
+    // 寮傛鑾峰彇瀛楀吀鏁版嵁
+    geDictData(dictKey, list) {
+      getDictionary({code: dictKey}).then((res) => {
+        if (res.data && res.data.code === 200) {
+          let dictData = (res.data.data || []).map((itm) => {
+            itm.value = itm.dictValue;
+            itm.key = itm.dictKey;
+            return itm;
+          });
+          list = dictData;
+        }
+      });
+    },
+    handleClick(tab) {
+      // 鍥犱负鍙兘鍙傜収鍜屾灇涓句簩閫変竴銆傛墍浠ュ湪鍒囨崲鐨勬椂鍊欐妸灞炴�х粰娓呯┖銆�
+      if (tab.name === 'enumTab') {
+        this.enumInitFlag = true;
+        this.referInitFlag = false;
+      } else {
+        this.enumInitFlag = false;
+        this.referInitFlag = true;
+      }
+    }
+  }
+}
+</script>
+
+<style>
+.btmTable>.el-card:nth-of-type(2)>.el-card__body>.avue-crud__menu {
+  display: none !important;
+}
+
+.enumTable>.el-card:nth-of-type(2)>.el-card__body>.avue-crud__menu {
+  display: none !important;
+}
+.dockingForm .el-form-item__label{width: 130px;}
+.dockingForm .el-form-item__content .el-input>.el-input__inner,.dockingForm .el-input-number--medium {
+  width: 300px !important;
+}
+.dockingForm .el-form-item__content{
+  width :300px !important;
+}
+</style>

--
Gitblit v1.9.3