From 94619d90359419a070f80f65c2f0163382b67fc1 Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期四, 24 八月 2023 15:07:37 +0800
Subject: [PATCH] 接口配置页面

---
 Source/UBCS-WEB/src/views/docking/infoForm.vue |  448 ++++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 309 insertions(+), 139 deletions(-)

diff --git a/Source/UBCS-WEB/src/views/docking/infoForm.vue b/Source/UBCS-WEB/src/views/docking/infoForm.vue
index e450714..c36b5b7 100644
--- a/Source/UBCS-WEB/src/views/docking/infoForm.vue
+++ b/Source/UBCS-WEB/src/views/docking/infoForm.vue
@@ -1,30 +1,30 @@
 <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%">
+               style="height: 110vh;" 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">
+               class="dockingForm" :rules="rules" status-icon="true">
+        <el-form-item label="dataFlowType" prop="dataFlowType">
+          <el-select v-model="formData.dataFlowType" placeholder="璇烽�夋嫨" @change="dataFlowTypeChange">
+            <el-option v-for="item in dataFlowTypeList" :key="item.value" :label="item.label" :value="item.value">
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item :label="formData.dataFlowType=='push'?'鎺ㄩ�佺被鍨�':'鎺ュ彈绫诲瀷'" prop="pushType">
+          <el-select v-model="formData.pushType" placeholder="璇烽�夋嫨" @change="pushTypeChange">
+            <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="paramType">
-          <el-select v-model="formData.paramType" placeholder="璇烽�夋嫨鍙傛暟绫诲瀷" @change="typeSelectChange">
+          <el-select v-model="formData.paramType" placeholder="璇烽�夋嫨">
             <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-select v-model="formData.returnType" placeholder="璇烽�夋嫨">
             <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>
@@ -36,7 +36,7 @@
                   field: 'classifyOid',
                   fieldMap:{'classifyId':'id'},
                   placeholder: '璇烽�夋嫨鍒嗙被閫夋嫨',
-                  options: {isMuti: false, type: 'tree', url: 'api/ubcs-code/codeClassify/referTree'},
+                  options: {isMuti: false, type: 'tree', url: 'api/ubcs-code/codeClassify/treeCodeClassify'},
                 }"
             :value="formData.classifyOid"
             :text="formData.classifyName"
@@ -45,57 +45,126 @@
             @setReferValue="setReferValue"
           ></vciWebRefer>
         </el-form-item>
-        <el-form-item label="鎺ㄩ�佺郴缁�" prop="sourceSysName">
+        <el-form-item v-if="formData.dataFlowType=='push'" label="闆嗘垚绯荤粺" prop="targetSystemName">
           <vciWebRefer
             :referConfig="{
-                  title: '鎺ㄩ�佺郴缁�',
-                  showField: 'sourceSysName',
-                  field: 'sourceSystemOid',
-                  fieldMap:{'sourceSysId':'id'},
-                  placeholder: '璇烽�夋嫨鎺ㄩ�佺郴缁�',
-                  options: {isMuti: false, type: 'default', url: 'api/ubcs-code/codeClassify/referTree'},
+                  title: '闆嗘垚绯荤粺',
+                  showField: 'targetSystemName',
+                  field: 'targetSystemOid',
+                  fieldMap:{'targetSystemId':'id'},
+                  placeholder: '璇烽�夋嫨',
+                  options: {isMuti: false, type: 'default', url: 'api/ubcs-code/codeBasicSecController/gridCodeBasicSec'},
                 }"
-            :value="formData.sourceSystemOid"
-            :text="formData.sourceSysName"
+            :value="formData.targetSystemOid"
+            :text="formData.targetSystemName"
             :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 v-if="formData.dataFlowType=='push'" label="缂栫爜绯荤粺" prop="sourceSystemName">
+          <vciWebRefer
+            :referConfig="{
+                  title: '缂栫爜绯荤粺',
+                  showField: 'sourceSystemName',
+                  field: 'sourceSystemOid',
+                  fieldMap:{'sourceSystemId':'id'},
+                  placeholder: '璇烽�夋嫨',
+                  options: {isMuti: false, type: 'default', url: 'api/ubcs-code/codeBasicSecController/gridCodeBasicSec'},
+                }"
+            :value="formData.sourceSystemOid"
+            :text="formData.sourceSystemName"
+            :disabled="false"
+            :display="true"
+            @setReferValue="setReferValue"
+          ></vciWebRefer>
         </el-form-item>
-        <el-form-item label="璇锋眰鏂瑰紡" prop="requestMethod">
-          <el-select v-model="formData.requestMethod" placeholder="璇烽�夋嫨璇锋眰鏂瑰紡" @change="typeSelectChange">
+        <el-form-item v-if="formData.dataFlowType=='accept'" label="缂栫爜绯荤粺" prop="targetSystemName">
+          <vciWebRefer
+            :referConfig="{
+                  title: '缂栫爜绯荤粺',
+                  showField: 'targetSystemName',
+                  field: 'targetSystemOid',
+                  fieldMap:{'targetSystemId':'id'},
+                  placeholder: '璇烽�夋嫨',
+                  options: {isMuti: false, type: 'default', url: 'api/ubcs-code/codeBasicSecController/gridCodeBasicSec'},
+                }"
+            :value="formData.targetSystemOid"
+            :text="formData.targetSystemName"
+            :disabled="false"
+            :display="true"
+            @setReferValue="setReferValue"
+          ></vciWebRefer>
+        </el-form-item>
+        <el-form-item v-if="formData.dataFlowType=='accept'" label="闆嗘垚绯荤粺" prop="sourceSystemName">
+          <vciWebRefer
+            :referConfig="{
+                  title: '闆嗘垚绯荤粺',
+                  showField: 'sourceSystemName',
+                  field: 'sourceSystemOid',
+                  fieldMap:{'sourceSystemId':'id'},
+                  placeholder: '璇烽�夋嫨',
+                  options: {isMuti: false, type: 'default', url: 'api/ubcs-code/codeBasicSecController/gridCodeBasicSec'},
+                }"
+            :value="formData.sourceSystemOid"
+            :text="formData.sourceSystemName"
+            :disabled="false"
+            :display="true"
+            @setReferValue="setReferValue"
+          ></vciWebRefer>
+        </el-form-item>
+        <el-form-item v-if="formData.pushType=='1'" label="鏄惁鎺ㄩ�侀泦鍥㈢爜" prop="isGroupCodeFlag">
+          <el-switch v-model="formData.isGroupCodeFlag" ></el-switch>
+        </el-form-item>
+        <el-form-item v-if="formData.pushType=='3'" label="鏄惁鐢宠闆嗗洟鐮�" prop="isGroupCodeFlag">
+          <el-switch v-model="formData.isGroupCodeFlag" ></el-switch>
+        </el-form-item>
+        <el-form-item  v-if="formData.pushType=='4'" label="鏄惁缁存姢闆嗗洟鐮�" prop="isGroupCodeFlag">
+          <el-switch v-model="formData.isGroupCodeFlag" ></el-switch>
+        </el-form-item>
+        <el-form-item  v-if="formData.pushType=='7'" label="鏄惁鏌ヨ闆嗗洟鐮�" prop="isGroupCodeFlag">
+          <el-switch v-model="formData.isGroupCodeFlag" ></el-switch>
+        </el-form-item>
+        <el-form-item label="绯荤粺鎻忚堪"  style="width: 850px;">
+          <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 5}" v-model="formData.description" style="width: 740px;"></el-input>
+        </el-form-item>
+        <el-form-item label="鎺ュ彛绫诲瀷" prop="interfaceType">
+          <el-select v-model="formData.interfaceType" clearable placeholder="璇烽�夋嫨">
+            <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 v-if="formData.interfaceType=='http'" label="璇锋眰鏂瑰紡" prop="requestMethod">
+          <el-select v-model="formData.requestMethod" placeholder="璇烽�夋嫨">
             <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-form-item v-if="formData.interfaceType=='webService' || formData.interfaceType=='http'" label="璇锋眰鍦板潃" prop="requestUrl">
           <el-input v-model="formData.requestUrl" type="text"></el-input>
         </el-form-item>
-        <el-form-item label="鎺ュ彛鍑芥暟" prop="interfaceFunction">
+        <el-form-item v-if="formData.interfaceType=='webService'" 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 v-if="formData.interfaceType=='webService'" 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 v-if="formData.interfaceType=='webService'" label="soapAction" prop="soapAction">
+          <el-input v-model="formData.soapAction" ></el-input>
         </el-form-item>
-        <el-form-item label="鍙傛暟鍚嶇О" prop="targName">
+        <el-form-item v-if="formData.interfaceType=='webService'" 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 v-if="formData.interfaceType=='webService'" label="cxfaxis" prop="cxfaxis">
+          <el-input v-model="formData.cxfaxis" ></el-input>
         </el-form-item>
-        <el-form-item label="绫昏矾寰�" prop="classPath">
+        <el-form-item v-if="formData.interfaceType=='classPath'" 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-tabs v-model="activeName" @tab-click="tabClick">
           <el-tab-pane label="鍙傛暟瀵硅薄" name="paramTab">
             <avue-crud :option="param.option"
-                       :data="param.data"
+                       :data="formData.sysIntParamVOs"
                        v-model="formData.sysIntParamVOs"
                        ref="paramcrud">
               <template slot="menuLeft">
@@ -106,20 +175,22 @@
                            @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)">绉婚櫎
+              <template slot="menu" slot-scope="{row,index}">
+                <el-button icon="el-icon-edit" size="small" type="text" v-if="!row.$cellEdit" @click="handleParamEditClick(row,index)">缂栬緫
+                </el-button>
+                <el-button icon="el-icon-delete" size="small" type="text" v-if="!row.$cellEdit" @click="handleParamDel(row,index)">绉婚櫎
+                </el-button>
+                <el-button icon="el-icon-check" size="small" type="text" v-if="row.$cellEdit" @click="handleParamEditSave(row,index)">
+                  淇濆瓨
                 </el-button>
               </template>
             </avue-crud>
           </el-tab-pane>
           <el-tab-pane label="header瀵硅薄" name="headerTab">
             <avue-crud :option="header.option"
-                       :data="header.data"
+                       :data="formData.sysIntHeaderVOs"
                        v-model="formData.sysIntHeaderVOs"
-                       ref="paramcrud">
+                       ref="headercrud">
               <template slot="menuLeft">
                 <el-button type="primary"
                            size="small"
@@ -128,11 +199,13 @@
                            @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)">绉婚櫎
+              <template slot="menu" slot-scope="{row,index}">
+                <el-button icon="el-icon-edit" size="small" type="text" v-if="!row.$cellEdit" @click="handleHeaderEditClick(row,index)">缂栬緫
+                </el-button>
+                <el-button icon="el-icon-delete" size="small" type="text" v-if="!row.$cellEdit"  @click="handleHeaderDel(row,index)">绉婚櫎
+                </el-button>
+                <el-button icon="el-icon-check" size="small" type="text" v-if="row.$cellEdit" @click="handleHeaderEditSave(row,index)">
+                  淇濆瓨
                 </el-button>
               </template>
             </avue-crud>
@@ -149,6 +222,7 @@
 </template>
 
 <script>
+import { validatenull } from "@/util/validate";
 import { getDictionary, getParentList } from '@/api/omd/enum'
 import {add,edit} from "@/api/docking/info"
 import vciWebRefer from "@/components/refer/vciWebRefer.vue";
@@ -157,7 +231,11 @@
   name: 'infoForm',
   props: {
     formData: {
-      type: Object
+      type: Object,
+      default:{
+        sysIntParamVOs:[],
+        sysIntHeaderVOs:[]
+      }
     },
   },
   components: { vciWebRefer },
@@ -173,36 +251,32 @@
         label: 'Http', value: 'http'
       }],
       //鍙傛暟绫诲瀷涓嬫媺
-      paramTypeList:[ {
-          label: 'xml', value: 'xml'
-        }, {
-          label: 'Json', value: 'json'
-        }],
-      //杩斿洖鍊肩被鍨嬩笅鎷�
-      returnTypeList:[ {
+      paramTypeList: [{
         label: 'xml', value: 'xml'
       }, {
         label: 'Json', value: 'json'
       }],
+      //杩斿洖鍊肩被鍨嬩笅鎷�
+      returnTypeList: [{
+        label: 'xml', value: 'xml'
+      }, {
+        label: 'Json', value: 'json'
+      }],
+      dataFlowTypeList: [{
+        label: 'push', value: 'push'
+      }, {
+        label: 'accept', value: 'accept'
+      }],
       //鎺ㄩ�佺被鍨�
-      pushTypeList: [{key: '1', value: '鏁版嵁鎺ㄩ��'},
-        {key: '2', value: '鍒嗙被鎺ㄩ��'},
-        {key: '3', value: '缂栫爜鐢宠'},
-        {key: '4', value: '缂栫爜鏇存敼锛堢姸鎬併�佸洖鏀讹級'},
-        {key: '5', value: '鍒嗙被鏌ヨ'},
-        {key: '6', value: '鍚鍒欎俊鎭殑鍒嗙被鏌ヨ'},
-        {key: '7', value: '鏁版嵁鏌ヨ'}],
+      pushTypeList: [{value: '1', label: '鏁版嵁鎺ㄩ��'},
+        {value: '2', label: '鍒嗙被鎺ㄩ��'}],
       //璇锋眰鏂瑰紡
-      requestMethodList:[{key: 'post', value: 'post'},
+      requestMethodList: [{key: 'post', value: 'post'},
         {key: 'get', value: 'get'},
         {key: 'delete', value: 'delete'},
         {key: 'put', value: 'put'}],
       // 榛樿鐨勯〉绛�
       activeName: 'paramTab',
-      // 灞炴�х被鍨嬩笅鎷夋鏁版嵁
-      typeList: [],
-      // 鍙傜収涓嬫媺妗嗘槸鍚﹀彲鐢�
-      referToFlag: true,
       // 琛ㄥ崟鏍¢獙瑙勫垯
       rules: {
         paramType: [
@@ -211,14 +285,20 @@
         returnType: [
           {required: true, message: '璇烽�夋嫨杩斿洖鍊肩被鍨�', trigger: 'blur'}
         ],
+        dataFlowType: [
+          {required: true, message: '璇烽�夋嫨', trigger: 'change'}
+        ],
         pushType: [
-          {required: true, message: '璇烽�夋嫨鎺ㄩ�佺被鍨�', trigger: 'change'}
+          {required: true, message: '璇烽�夋嫨鎺ㄩ�佺被鍨�', trigger: 'blur'}
         ],
         classifyName: [
-          {required: true, message: '璇烽�夋嫨鎺ㄩ�佺郴缁�', trigger: 'blur'}
+          {required: true, message: '璇烽�夋嫨', trigger: 'sbumit'}
         ],
-        sourceSysName: [
-          {required: true, message: '璇烽�夋嫨鍒嗙被閫夋嫨', trigger: 'blur'}
+        sourceSystemName: [
+          {required: true, message: '璇烽�夋嫨', trigger: 'sbumit'}
+        ],
+        targetSystemName: [
+          {required: true, message: '璇烽�夋嫨', trigger: 'sbumit'}
         ],
         classPath: [
           {required: true, message: '璇疯緭鍏ョ被璺緞', trigger: 'blur'}
@@ -235,8 +315,8 @@
         nameSpace: [
           {required: true, message: '璇疯緭鍏ュ懡鍚嶇┖闂�', trigger: 'blur'}
         ],
-        soapaction: [
-          {required: true, message: '璇疯緭鍏oapaction', trigger: 'blur'}
+        soapAction: [
+          {required: true, message: '璇疯緭鍏oapAction', trigger: 'blur'}
         ],
         targName: [
           {required: true, message: '璇疯緭鍏ュ弬鏁板悕绉�', trigger: 'blur'}
@@ -249,62 +329,71 @@
       param: {
         option: {
           height: 200,
+          index: true,
           addBtn: false,
           viewBtn: false,
           delBtn: false,
           editBtn: false,
           refreshBtn: false,
           columnBtn: false,
-          menu: false,
           border: true,
+          menuWidth: 150,
           searchShowBtn: false,
+          align: 'center',
           column: [{
             label: '鍙傛暟鍚�',
-            prop: 'paramKey'
+            prop: 'paramKey',
+            cell: true
           }, {
             label: '鍙傛暟鍊�',
-            prop: 'paramValue'
+            prop: 'paramValue',
+            cell: true
           }, {
             label: '鏄惁浣跨敤',
             prop: 'usedFlag',
-            dicData: [{
-              label: '鏄�', value: 'true'
-            }, {
-              label: '鍚�', value: 'false'
-            }]
+            formatter: function (row, column) {
+              return row.usedFlag == 'true' || row.usedFlag == '1' ? '鏄�' : '鍚�'
+            },
+            width: 150,
+            type: 'switch',
+            cell: true
           }]
         },
-        data: [],
         selectRow: {}
       },
       // 鏋氫妇鍙傜収琛ㄦ牸閰嶇疆
       header: {
         option: {
           height: 200,
+          index: true,
           addBtn: false,
           viewBtn: false,
           delBtn: false,
           editBtn: false,
           refreshBtn: false,
-          menu: false,
+          columnBtn: false,
           border: true,
+          menuWidth: 150,
           searchShowBtn: false,
+          align: 'center',
           column: [{
             label: '澶村弬鏁板悕绉�',
-            prop: 'headerKey'
+            prop: 'headerKey',
+            cell: true
           }, {
             label: '澶村弬鏁板��',
-            prop: 'headerValue'
+            prop: 'headerValue',
+            cell: true
           }, {
             label: '鏄惁浣跨敤',
             prop: 'usedFlag',
-            dicData: [{
-              label: '鏄�', value: 'true'
-            }, {
-              label: '鍚�', value: 'false'
-            }]
+            formatter: function (row, column) {
+              return row.usedFlag == 'true' || row.usedFlag == '1' ? '鏄�' : '鍚�'
+            },
+            width: 150,
+            type: 'switch',
+            cell: true
           }],
-          data: [],
           // 閫夊畾琛�
           selectRow: ''
         },
@@ -314,7 +403,27 @@
   },
   created() {
     //this.geDictData('interfaceType', this.interfaceTypeList)
-
+  },
+  mounted(){
+    if (!this.formData.sysIntParamVOs) {
+      this.formData.sysIntParamVOs = [];
+    }
+    if (!this.formData.sysIntHeaderVOs) {
+      this.formData.sysIntHeaderVOs = [];
+    }
+    if(this.formData.dataFlowType=='accept'){
+      this.pushTypeList=[
+        {value: '3', label: '缂栫爜鐢宠'},
+        {value: '4', label: '缂栫爜鏇存敼锛堢姸鎬併�佸洖鏀讹級'},
+        {value: '5', label: '鍒嗙被鏌ヨ'},
+        {value: '6', label: '鍚鍒欎俊鎭殑鍒嗙被鏌ヨ'},
+        {value: '7', label: '鏁版嵁鏌ヨ'}]
+      this.formData.pushType=''
+    }else {
+      this.pushTypeList=[{value: '1', label: '鏁版嵁鎺ㄩ��'},
+        {value: '2', label: '鍒嗙被鎺ㄩ��'}]
+      this.formData.pushType='1'
+    }
   },
   methods: {
     closeSubmitDialog() {
@@ -323,12 +432,10 @@
     },
     resetForm() {
       this.formData = {
-        nullable: true,
-        referTypeKey: '',
+        sysIntParamVOs: [],
+        sysIntHeaderVOs: []
       };
-      this.referToFlag = true;
       this.$refs.form.resetFields();
-      this.dictEnums = [];
     },
     setReferValue(data) {
       if (data.field) {
@@ -371,46 +478,49 @@
           this.formData[key] = value.join(',');
         }
       }
-    }
-    ,
+    },
     submitAttribute() {
       const that = this;
-      this.$refs.form.validate(function (pass, field) {
-        if (pass) {
+      let pass=true
+      if(validatenull(this.formData.classifyName)||validatenull(this.formData.sourceSystemName)||validatenull(this.formData.targetSystemName)){
+        that.$message.error('蹇呭~椤逛笉鑳戒负绌�');
+        pass=false
+        return;
+      }
+      this.$refs.form.validateField(['paramType','returnType','dataFlowType','pushType','classPath','requestMethod','requestUrl',
+        'interfaceFunction','nameSpace','soapAction','targName','cxfaxis'],function (errormsg, field) {
+        if (errormsg) {
+          pass=false
+        }
+      })
+      this.$nextTick(function (){
+        if(pass){
+          that.formData.sysIntParamDTOs=this.formData.sysIntParamVOs.map(item=>{
+            return {
+              ...item,
+              ordernNo:item.$index
+            }
+          })
+          that.formData.sysIntHeaderDTOS=this.formData.sysIntHeaderVOs.map(item=>{
+            return {
+              ...item,
+              ordernNo:item.$index
+            }
+          })
           add(that.formData).then(res => {
             that.$message.success("淇濆瓨鎴愬姛");
             that.showSubmitDialog = false;
-            that.formData = {};
+            this.formData = {
+              sysIntParamVOs: [],
+              sysIntHeaderVOs: []
+            };
             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) {
@@ -425,15 +535,75 @@
         }
       });
     },
-    handleClick(tab) {
-      // 鍥犱负鍙兘鍙傜収鍜屾灇涓句簩閫変竴銆傛墍浠ュ湪鍒囨崲鐨勬椂鍊欐妸灞炴�х粰娓呯┖銆�
-      if (tab.name === 'enumTab') {
-        this.enumInitFlag = true;
-        this.referInitFlag = false;
-      } else {
-        this.enumInitFlag = false;
-        this.referInitFlag = true;
+    dataFlowTypeChange(value){
+      if(value=='push'){
+        this.pushTypeList=[{value: '1', label: '鏁版嵁鎺ㄩ��'},
+          {value: '2', label: '鍒嗙被鎺ㄩ��'}]
+        this.formData.pushType='鏁版嵁鎺ㄩ��'
+      }else if(value=='accept'){
+        this.pushTypeList=[
+          {value: '3', label: '缂栫爜鐢宠'},
+          {value: '4', label: '缂栫爜鏇存敼锛堢姸鎬併�佸洖鏀讹級'},
+          {value: '5', label: '鍒嗙被鏌ヨ'},
+          {value: '6', label: '鍚鍒欎俊鎭殑鍒嗙被鏌ヨ'},
+          {value: '7', label: '鏁版嵁鏌ヨ'}]
+        this.formData.pushType=''
+      }else{
+        this.pushTypeList=[];
       }
+      this.$refs.form.clearValidate()
+    },
+    pushTypeChange(value){
+      this.$refs.form.clearValidate()
+    },
+    tabClick(tab) {
+      if (tab.name === 'paramTab') {
+        this.$nextTick(function (){
+          this.$refs.paramcrud.doLayout()
+        })
+      } else {
+        this.$nextTick(function (){
+          this.$refs.headercrud.doLayout()
+        })
+      }
+    },
+    handleParamAdd() {
+      this.formData.sysIntParamVOs.push({
+        usedFlag: true,
+        $cellEdit:true
+      })
+      this.$nextTick(function (){
+        this.$refs.paramcrud.doLayout()
+      })
+    },
+    handleParamEditClick(row){
+      row.$cellEdit = true;
+    },
+    handleParamDel(row,index){
+      this.formData.sysIntParamVOs.splice(index, 1);
+    },
+    // 鍒楄〃缂栬緫淇濆瓨
+    handleParamEditSave(row,index) {
+      row.$cellEdit = false;
+    },
+    handleHeaderAdd() {
+      this.formData.sysIntHeaderVOs.push({
+        usedFlag: true,
+        $cellEdit:true
+      })
+      this.$nextTick(function (){
+        this.$refs.headercrud.doLayout()
+      })
+    },
+    handleHeaderEditClick(row){
+      row.$cellEdit = true;
+    },
+    handleHeaderDel(row,index){
+      this.formData.sysIntHeaderVOs.splice(index, 1);
+    },
+    // 鍒楄〃缂栬緫淇濆瓨
+    handleHeaderEditSave(row,index) {
+      row.$cellEdit = false;
     }
   }
 }
@@ -448,10 +618,10 @@
   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 {
+.dockingForm .el-form-item__content,.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;
+.dockingForm .cell .el-form-item__content,.dockingForm .cell .el-form-item__content .el-input>.el-input__inner{
+  width :100% !important;
 }
 </style>

--
Gitblit v1.9.3