From f09e05514d9a9e2623cfa73c4de1ffa98bb30bf8 Mon Sep 17 00:00:00 2001
From: xiejun <xiejun@vci-tech.com>
Date: 星期二, 23 一月 2024 10:09:07 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/UBCS-WEB/src/components/code-dialog-page/referConfigFormDialog.vue | 1860 ++++++++++++++++++++++++++---------------------------------
 1 files changed, 812 insertions(+), 1,048 deletions(-)

diff --git a/Source/UBCS-WEB/src/components/code-dialog-page/referConfigFormDialog.vue b/Source/UBCS-WEB/src/components/code-dialog-page/referConfigFormDialog.vue
index 8fd0a67..295ca05 100644
--- a/Source/UBCS-WEB/src/components/code-dialog-page/referConfigFormDialog.vue
+++ b/Source/UBCS-WEB/src/components/code-dialog-page/referConfigFormDialog.vue
@@ -1,11 +1,15 @@
 <template>
     <!-- 绗簩灞傚璇濇,灞炴�х爜娈碉紝鍏紡缂栬緫妗嗗脊绐� -->
     <el-dialog
+      :close-on-click-modal="false"
       title="鍙傜収閰嶇疆"
       append-to-body
       :visible.sync="isShowReferConfigForm"
       width="90%"
       id="refer-config-form"
+      top="0"
+      class= "avue-dialog avue-dialog--top"
+      destroy-on-close
       @close="recoveryDataAndForm('initData')"
       style="height: 115vh; margin-top: -14vh; overflow-y: hidden">
         <div style="width: 100%; overflow-y: auto; height: 70vh">
@@ -15,7 +19,7 @@
                         <el-input :disabled="disabled"
                             :size="size"
                             v-model="form.referTypeName"
-                            ref="referTypeName" 
+                            ref="referTypeName"
                             placeholder="璇烽�夋嫨 鍙傜収鐨勪笟鍔$被鍨�"
                             prefix-icon="el-icon-search"
                             readonly="true"
@@ -27,7 +31,7 @@
                         <el-input :disabled="disabled"
                             :size="size"
                             v-model="form.sortField"
-                            ref="sortField" 
+                            ref="sortField"
                             placeholder="璇烽�夋嫨 鎺掑簭瀛楁"
                             prefix-icon="el-icon-search"
                             readonly="true"
@@ -47,7 +51,7 @@
                                     <el-input :disabled="disabled"
                                         :size="size"
                                         v-model="form.sortField"
-                                        ref="sortField" 
+                                        ref="sortField"
                                         placeholder="璇烽�夋嫨 鎺掑簭瀛楁"
                                         prefix-icon="el-icon-search"
                                         readonly="true"
@@ -64,7 +68,7 @@
                                 class="crud-attr"
                                 :option="attrOption"
                                 @cell-click="clickAttrEdit"
-                                :data="attrData">
+                                :data="codeShowFieldConfigVOS">
                                 <!-- 琛ㄦ牸鍐呮搷浣滄寜閽� -->
                                 <template slot="menu" slot-scope="scope">
                                     <el-button type="text"
@@ -90,7 +94,7 @@
                                     </el-button>
                                     <div class="tag-group" style="display: inline">
                                         <el-tag
-                                            v-for="item in attrData"
+                                            v-for="item in codeShowFieldConfigVOS"
                                             v-show="item.isquery && item.title!=''"
                                             style="margin-left: 3px"
                                             :key="item.title"
@@ -105,12 +109,12 @@
                         </el-row>
                     </el-tab-pane>
                     <el-tab-pane name="second">
-                        <span slot="label"><i class="el-icon-search"></i>鏌ヨ鏉′欢娣诲姞</span>
+                        <span slot="label"><i class="el-icon-search"></i>娣诲姞鏌ヨ鏉′欢</span>
                         <avue-crud
                             ref="crudAddCondition"
-                            :option="addSearchCondtionOption" 
+                            :option="addSearchCondtionOption"
                             @cell-click="clickAddSearchCondtionEdit"
-                            :data="addSearchCondtionData">
+                            :data="form.codeSrchCondConfigVOS">
                             <!-- 琛ㄦ牸鍐呮搷浣滄寜閽� -->
                             <template slot="menu" slot-scope="scope">
                                 <el-button type="text"
@@ -141,38 +145,14 @@
             <el-button @click="isShowReferConfigForm = false">鍙� 娑�</el-button>
         </div>
 
-        <el-dialog title="涓恒�愬弬鐓х殑涓氬姟绫诲瀷銆戦�夊彇鍊�"
-            append-to-body
-            :visible.sync="isShowReferBtmType"
-            width="70%"
-            destroy-on-close
-            @close="clearTableRowSelection('referType')"
-            style="height: 110vh; margin-top: -12vh; overflow-y: hidden">
-            <avue-crud :option="selectionReferBtmTypeOption"
-                :table-loading="selectReferBtmTypeLoading"
-                :data="selectReferBtmTypeData"
-                :page.sync="selectReferBtmTypePage"
-                ref="selectReferBtmTypeCrud"
-                class="referBtmType-crud"
-                @row-click="referBtmTypeRowClick"
-                @search-change="referBtmTypeSearchChange"
-                @search-reset="referBtmTypeSearchReset"
-                @current-change="referBtmTypeCurrentChange"
-                @size-change="referBtmTypeSizeChange">
-                <template #radio="{row}">
-                    <el-radio v-model="referBtmTypeSelectRow"
-                        :label="row.$index">
-                        &nbsp;
-                    </el-radio>
-                </template>
-            </avue-crud>
-            <div slot="footer" class="dialog-footer">
-                <el-button type="primary" @click="selectedReferBtmType">纭� 瀹�</el-button>
-                <el-button @click="isShowReferBtmType = false">鍙� 娑�</el-button>
-            </div>
-        </el-dialog>
+        <!-- 瀵硅瘽妗�,涓恒�愬弬鐓у紩鐢ㄧ殑涓氬姟绫诲瀷銆戦�夊彇鍊煎璇濇 -->
+        <refer-btm-type-crud-dialog
+            :visible.sync="referBtmDialogParams.selectReferBtmSettingBox"
+            :ref="referBtmDialogParams.ref"
+            @echoReferBtmType="echoReferBtmType">
+        </refer-btm-type-crud-dialog>
 
-        <el-dialog title="涓恒�愭帓搴忓瓧娈点�戦�夊彇鍊�"
+        <!-- <el-dialog title="涓恒�愭帓搴忓瓧娈点�戦�夊彇鍊�"
             append-to-body
             :visible.sync="isShowSortField"
             width="70%"
@@ -200,59 +180,49 @@
                 <el-button type="primary" @click="selectedSortField">纭� 瀹�</el-button>
                 <el-button @click="isShowSortField = false">鍙� 娑�</el-button>
             </div>
-        </el-dialog>
+        </el-dialog> -->
 
-        <el-dialog title="閫夋嫨鏄剧ず瀛楁"
+        <refer-select-btm-attr-dialog
+            title="涓恒�愭帓搴忓瓧娈点�戦�夊彇鍊�"
+            :visible.sync="selectedBtmTypeAttrParams.selectedBtmTypeAttrSettingBox"
+            :ref="selectedBtmTypeAttrParams.ref"
+            @echoSelectedAttr="echoSelectedAttr">
+        </refer-select-btm-attr-dialog>
+
+        <el-dialog title="閫夊彇IN鎴朜OTIN鏉′欢"
             append-to-body
-            :visible.sync="isShowShowField"
+            :visible.sync="isShowInOrNotInCondition"
             width="70%"
             destroy-on-close
             style="height: 110vh; margin-top: -12vh; overflow-y: hidden">
-            <avue-crud :option="selectionShowFieldOption"
-                :table-loading="selectShowFieldLoading"
-                :data="selectShowFieldData"
-                ref="selectShowFieldCrud"
-                @row-click="showFieldRowClick"
-                @selection-change="selectionShowFieldDataChange"
-                @search-change="showFieldSearchChange"
-                @search-reset="showFieldSearchReset">
+            <avue-crud :option="selectInOrNotInCondOption"
+                :page.sync="inOrNotInPage"
+                @current-change="inOrNotInCurrentChange"
+                @size-change="inOrNotInSizeChange"
+                @selection-change="selectionInOrNotInChange"
+                @row-click="rowInOrNotInClick"
+                @search-change="selectInOrNotInSearchChange"
+                @search-reset="searchInOrNotInReset"
+                :data="selectInOrNotInCondData"
+                ref="inOrNotInConditionCrud">
             </avue-crud>
             <div slot="footer" class="dialog-footer">
-                <el-button type="primary" @click="selectedShowField">纭� 瀹�</el-button>
-                <el-button @click="isShowShowField = false">鍙� 娑�</el-button>
-            </div>
-        </el-dialog>
-
-        <el-dialog title="閫夋嫨鏌ヨ鏉′欢"
-            append-to-body
-            :visible.sync="isShowSearchCondition"
-            width="70%"
-            destroy-on-close
-            style="height: 110vh; margin-top: -12vh; overflow-y: hidden">
-            <avue-crud :option="selectionSearchConditionOption"
-                :table-loading="selectSearchConditionLoading"
-                :data="selectSearchConditionData"
-                ref="selectSearchConditionCrud"
-                @row-click="searchConditionRowClick"
-                @selection-change="searchConditionDataChange"
-                @search-change="searchConditionSearchChange"
-                @search-reset="searchConditionSearchReset">
-            </avue-crud>
-            <div slot="footer" class="dialog-footer">
-                <el-button type="primary" @click="selectedSearchCondition">纭� 瀹�</el-button>
-                <el-button @click="isShowSearchCondition = false">鍙� 娑�</el-button>
+              <!-- <div class="avue-dialog__footer--left valueInfo">{{ valueInfo }}</div> -->
+              <el-button type="primary" @click="selectedInOrNotInCond">纭� 瀹�</el-button>
+              <el-button @click="isShowInOrNotInCondition = false">鍙� 娑�</el-button>
             </div>
         </el-dialog>
 
     </el-dialog>
-
 </template>
-    
+
 <script>
     import func from "@/util/func";
+    import {getList} from "@/api/refer/table";
     export default {
-        name: "referConfigDialog",
+        name: "referConfigFormDialog",
         props: {
+
         },
         data() {
             let element = '';
@@ -261,6 +231,7 @@
                 labelWidth: '150',   // 鏍囬瀹藉害
                 isShowReferConfigForm: false,  // 绗竴灞傚璇濇鏄剧ず闅愯棌鎺у埗
                 referTypeIsReadOnly: false,
+
                 // 琛ㄥ崟瀵硅薄
                 form: {
                     referTypeName: '', //鏄剧ず鐨勫��
@@ -276,7 +247,12 @@
                     paramForFormKey: '',
                     isMuti: false,
                     mapFields: '',
-                     // 鏌ヨ鏉′欢鍒楄〃
+                    isOpenGlobal: true, //鏄惁寮�鍚叏灞�
+                    codeSrchCondConfigVOS: [],
+                    isPersistence: true, // 鏄惁鎸佷箙鍖�
+                    id: '',
+                    name: '',
+                    // 鏌ヨ鏉′欢鍒楄〃
                     // limit: '15',
                     // sortField: '',
                     // sortType: 'asc',
@@ -288,7 +264,21 @@
                     // loadType: 'all',
                     // onlyLeaf: false,
                 },
-                attrData: [],
+                // type鍒囨崲鏃跺form琛ㄥ崟灞炴�ц繘琛岀Щ闄�
+                removeFormAttr: [
+                    'limit',
+                    'sortField',
+                    'sortType',
+                    'parentFieldName',
+                    'parentUsedField',
+                    'parentValue',
+                    'loadType',
+                    'onlyLeaf',
+                    'sortType',
+                    'referContent',
+                    'displayTable',
+                ],
+                codeShowFieldConfigVOS: [],
                 attrOption: {
                     height:'180',
                     tip: false,
@@ -307,20 +297,20 @@
                     dialogClickModal: false,
                     highlightCurrentRow: true,
                     indexFixed: false,
-                    menuFixed: false,  
+                    menuFixed: false,
                     column: [
                         {
                             label: "鍒楀瓧娈�(*)",
                             prop: "field",
                             cell: true,
                             clearable: false,
-                            blur: (value) => this.updateAttrBlur(value),
+                            // blur: (value) => this.updateAttrBlur(value),
                         },{
                             label: "鍒楀悕(*)",
                             prop: "title",
                             cell: true,
                             clearable: false,
-                            blur: (value) => this.updateAttrBlur(value),
+                            // blur: (value) => this.updateAttrBlur(value),
                         },{
                             label: "瀛楁绫诲瀷(*)",
                             prop: "fieldTypeText",
@@ -341,7 +331,7 @@
                             }, {
                                 value: 'textarea', label: '鏂囨湰鍩�'
                             }],
-                            blur: (value) => this.updateAttrBlur(value),
+                            // blur: (value) => this.updateAttrBlur(value),
                         },{
                             label: "鍒楄〃鍙帓搴�",
                             prop: "sort",
@@ -350,38 +340,38 @@
                             type:"switch",
                             width: '80px',
                             value: true,
-                            blur: (value) => this.updateAttrBlur(value),
+                            // blur: (value) => this.updateAttrBlur(value),
                         },{
                             label: "鎺掑簭瀛楁",
-                            prop: "sortField",
+                            prop: "attrSortField",
                             cell: true,
                             clearable: false,
-                            blur: (value) => this.updateAttrBlur(value),
+                            // blur: (value) => this.updateAttrBlur(value),
                         },{
                             label: "瀛楁瀹藉害",
                             prop: "width",
                             cell: true,
                             clearable: false,
-                            blur: (value) => this.updateAttrBlur(value),
+                            // blur: (value) => this.updateAttrBlur(value),
                         },{
                             label: "鍒楀浐瀹氫綅缃�",
-                            prop: "fixedText",
+                            prop: "fixedPosition",
                             cell: true,
                             type:"select",
                             clearable: false,
                             value: 'noFixed',
                             dicData: [{value: 'noFixed', label: '涓嶅浐瀹�'}, {value: 'left', label: '宸﹁竟'}, {value: 'right', label: '鍙宠竟'}],
-                            blur: (value) => this.updateAttrBlur(value),
+                            // blur: (value) => this.updateAttrBlur(value),
                         },{
                             label: "js鏄剧ず浠g爜",
                             prop: "templet",
                             cell: true,
                             clearable: false,
-                            blur: (value) => this.updateAttrBlur(value),
+                            // blur: (value) => this.updateAttrBlur(value),
                         },
                     ]
                 },
-                addSearchCondtionData: [],
+                // addSearchCondtionData: [],
                 addSearchCondtionOption: {
                     height:'150',
                     tip: false,
@@ -411,21 +401,25 @@
                             type: "select",
                             cell: true,
                             clearable: false,
-                            dicData: [{
-                                value: 'like', label: '鍖呭惈'
-                            }, {
-                                value: '=', label: '绛変簬'
-                            }, {
-                                value: '>', label: '澶т簬'
-                            }, {
-                                value: '<', label: '灏忎簬'
-                            }, {
-                                value: '!=', label: '涓嶇瓑浜�'
-                            }, {
-                                value: '>=', label: '澶т簬绛変簬'
-                            }, {
-                                value: '<=', label: '灏忎簬绛変簬'
-                            }]
+                            dicData: [
+                                {   
+                                  value: '_in', label: '瀛樺湪浜�'
+                                },{
+                                    value: '_notin', label: '涓嶅瓨鍦ㄤ簬'
+                                },{
+                                    value: '_like', label: '鍖呭惈'
+                                },{
+                                    value: "_notlike", label: "涓嶅寘鍚�",
+                                }, {
+                                    value: '_equal', label: '绛変簬'
+                                }, {
+                                    value: '_notequal', label: '涓嶇瓑浜�'
+                                }, {
+                                    value: '_ge', label: '澶т簬'
+                                }, {
+                                    value: '_le', label: '灏忎簬'
+                                }
+                            ]
                         },{
                             label: "绛涢�夊��",
                             prop: "filterValue",
@@ -434,6 +428,7 @@
                         }
                     ]
                 },
+                // 涓や釜琛ㄥ崟鐨剅ef
                 formRefs: ['form','otherForm'],
 
                 // tabs鎺у埗
@@ -441,634 +436,502 @@
                 activeName: 'first', //褰撳墠娲诲姩鐨則abs
 
 
-                //涓恒�愬弬鐓х殑涓氬姟绫诲瀷銆戦�夊彇鍊煎璇濇
-                selectionReferBtmTypeOption: {
-                    border: true,
-                    height: '260',
-                    tip: false,
-                    //searchShow: false,
-                    index: true,
-                    selection: false,
-                    menu: false,
-                    addBtn: false,
-                    refreshBtn: false,
-                    searchShowBtn: false,
-                    columnBtn: false,
-                    dialogClickModal: false,
-                    highlightCurrentRow: true,
-                    align: 'center',
-                    menuAlign: 'center',
-                    column: [{
-                        label: '-',
-                        prop: 'radio',
-                        width: 60,
-                        hide: false
-                    },{
-                        label: '涓氬姟绫诲瀷缂栧彿',
-                        width: 120,
-                        search: true,
-                        searchSpan: 8,
-                        searchLabelWidth: 100,
-                        prop: 'id'
-                    },{
-                        label: '涓氬姟绫诲瀷鍚嶇О',
-                        search: true,
-                        searchSpan: 8,
-                        searchLabelWidth: 100,
-                        prop: 'name'
-                    },{
-                        label: '鎻忚堪',
-                        search: false,
-                        prop: 'description'
-                    }],
+                /** 鍙傜収寮曠敤鐨勪笟鍔$被鍨嬪璇濇鐩稿叧鍙傛暟 */
+                referBtmDialogParams: {
+                    ref: 'crudReferBtm',
+                    selectReferBtmSettingBox: false,
                 },
-                selectReferBtmTypeLoading: false,
-                selectReferBtmTypeData: [],
-                selectReferBtmTypePage: {
-                    pageSize: 10,
-                    currentPage: 1,
-                    total: 0
+                /** 閫夋嫨鍏宠仈鐨勪笟鍔$被鍨嬪睘鎬х浉鍏崇殑瀵硅瘽妗嗙浉鍏冲弬鏁� */
+                selectedBtmTypeAttrParams: {
+                    ref: 'selectedBtmTypeAttrCrud',
+                    selectedBtmTypeAttrSettingBox: false,
                 },
-                referBtmTypeQuery: {},
-                isShowReferBtmType: false,
-                referBtmTypeSelectRowData: '',
-                referBtmTypeSelectRow: '',
-
-
-                // 涓恒�愭帓搴忓瓧娈点�戦�夊彇鍊煎璇濇
-                isShowSortField: false,
-                selectionSortFieldOption: {
-                    border: true,
-                    height: '220px',
-                    tip: false,
-                    //searchShow: false,
-                    index: true,
-                    selection: false,
-                    addBtn: false,
-                    menu: false,
-                    refreshBtn: false,
-                    searchShowBtn: false,
-                    columnBtn: false,
-                    dialogClickModal: false,
-                    highlightCurrentRow: true,
-                    align: 'center',
-                    menuAlign: 'center',
-                    border: true,
-                    column: [{
-                        label: '-',
-                        prop: 'radio',
-                        width: 60,
-                        hide: false
-                    },{
-                        label: '灞炴�ц嫳鏂囩紪鍙�',
-                        width: 120,
-                        search: true,
-                        searchSpan: 8,
-                        searchLabelWidth: 100,
-                        prop: 'id'
-                    },{
-                        label: '灞炴�т腑鏂囧悕绉�',
-                        search: true,
-                        searchSpan: 8,
-                        searchLabelWidth: 100,
-                        prop: 'name'
-                    },{
-                        label: '灞炴�ч暱搴�',
-                        search: false,
-                        prop: 'attrLength'
-                    },{
-                        label: '灞炴�х被鍨�',
-                        search: false,
-                        prop: 'attrType'
-                    }],
+                seletedBtmTypeAttrOptions: {
+                    title: '', //瀵硅瘽妗嗘樉绀虹殑鏍囬
+                    condition: '',  //褰撳墠鎵撳紑瀵硅瘽妗嗙殑绫诲瀷
+                    btmTypeId: '', //鏌ヨ鏉′欢锛屼笟鍔$被鍨媔d
                 },
-                selectSortFieldLoading: false,
-                selectSortFieldData: [],
-                selectSortFieldPage: {
-                    pageSize: 10,
-                    currentPage: 1,
-                    total: 0
-                },
-                sortFieldQuery: {},
-                sortFieldSelectRow: '',
-                sortFieldSelectRowData: '',
-
-
-                //閫夋嫨鏄剧ず瀛楁
-                isShowShowField: false,
-                selectionShowFieldOption:  {
-                    border: true,
-                    height: '220px',
-                    tip: false,
-                    //searchShow: false,
-                    index: true,
-                    selection: true,
-                    addBtn: false,
-                    menu: false,
-                    refreshBtn: false,
-                    searchShowBtn: false,
-                    columnBtn: false,
-                    dialogClickModal: false,
-                    highlightCurrentRow: true,
-                    align: 'center',
-                    menuAlign: 'center',
-                    border: true,
-                    column: [{
-                        label: '灞炴�ц嫳鏂囩紪鍙�',
-                        width: 120,
-                        search: true,
-                        searchSpan: 8,
-                        searchLabelWidth: 100,
-                        prop: 'id'
-                    },{
-                        label: '灞炴�т腑鏂囧悕绉�',
-                        search: true,
-                        searchSpan: 8,
-                        searchLabelWidth: 100,
-                        prop: 'name'
-                    },{
-                        label: '灞炴�ч暱搴�',
-                        search: false,
-                        prop: 'attrLength'
-                    },{
-                        label: '灞炴�х被鍨�',
-                        search: false,
-                        prop: 'attrType'
-                    }],
-                },
-                showFieldQuery: {},
-                selectShowFieldLoading: false,
-                selectShowFieldData: [],
-                showFieldSelectList: [],
-
-                //娣诲姞鏌ヨ鏉′欢
-                isShowSearchCondition: false,
-                selectionSearchConditionOption: {
-                    border: true,
-                    height: '220px',
-                    tip: false,
-                    //searchShow: false,
-                    index: true,
-                    selection: true,
-                    addBtn: false,
-                    menu: false,
-                    refreshBtn: false,
-                    searchShowBtn: false,
-                    columnBtn: false,
-                    dialogClickModal: false,
-                    highlightCurrentRow: true,
-                    align: 'center',
-                    menuAlign: 'center',
-                    border: true,
-                    column: [{
-                        label: '灞炴�ц嫳鏂囩紪鍙�',
-                        width: 120,
-                        search: true,
-                        searchSpan: 8,
-                        searchLabelWidth: 100,
-                        prop: 'id'
-                    },{
-                        label: '灞炴�т腑鏂囧悕绉�',
-                        search: true,
-                        searchSpan: 8,
-                        searchLabelWidth: 100,
-                        prop: 'name'
-                    },{
-                        label: '灞炴�ч暱搴�',
-                        search: false,
-                        prop: 'attrLength'
-                    },{
-                        label: '灞炴�х被鍨�',
-                        search: false,
-                        prop: 'attrType'
-                    }],
-                },
-                selectSearchConditionLoading: false,
-                selectSearchConditionData: [],
-                searchConditionQuery: {},
-                searchConditionSelectList: [],
 
                 //涓婁竴娆$偣鍑荤殑琛岀紪杈戞暟鎹�
                 preClickAttrRow: '',
                 preClickAddSearchConditionRow: '',
 
+                //鐐瑰嚮琛屽脊鍑篿n鎴杗otin鐨勫��
+                isShowInOrNotInCondition: false,
+                selectInOrNotInCondData: [],
+                selectInOrNotInCondOption: {
+                  height:'220',
+                  tip: false,
+                  addBtn: false,
+                  editBtn: false,
+                  searchShow: true,
+                  searchMenuSpan: 6,
+                  border: false,
+                  index: true,
+                  viewBtn: false,
+                  delBtn: false,
+                  selection: true,
+                  disablePage: false,
+                  refreshBtn: false,
+                  columnBtn: false,
+                  menu: false,
+                  dialogClickModal: false,
+                  highlightCurrentRow: true,
+                  column: []
+                },
+                inOrNotInPage: {
+                  pageSize: 10,
+                  currentPage: 1,
+                  total: 0,
+                },
+                selectionInOrNotInList: [],
+                inOrNotInParam: {},
+                
             };
         },
         // 琛ㄥ崟鐣岄潰鏄剧ず鍐呭閰嶇疆
         computed: {
-            formOption() {
-                /** 妫�楠屾槸鍚︿负鏁板瓧 */
-                let validateNumber = "";
-                validateNumber = (rule, value,callback) => {
-                    if(/[^\d]/g.test(value)){
-                        callback(new Error('绐楀彛鏄剧ず鐨勯珮搴﹀繀椤讳负鏁板�肩被鍨�'));
-                    }else {
-                        callback();
+          formOption() {
+            /** 妫�楠屾槸鍚︿负鏁板瓧 */
+            let validateNumber = "";
+            validateNumber = (rule, value, callback) => {
+              if (/[^\d]/g.test(value)) {
+                callback(new Error('绐楀彛鏄剧ず鐨勯珮搴﹀繀椤讳负鏁板�肩被鍨�'));
+              } else {
+                callback();
+              }
+            };
+            return {
+              submitBtn: false,
+              emptyBtn: false,
+              labelWidth: '145', //榛樿鏍囩瀹藉害
+              group: [
+                {
+                  // 鍩虹琛ㄥ崟淇℃伅灞曠ず鍖哄煙
+                  //display: this.form.type=='default'||this.form.type=='grid',
+                  icon: 'el-icon-info',
+                  label: '蹇呭~鐨勫弬鐓ч厤缃�',
+                  collapse: true,
+                  labelWidth: '115',
+                  prop: 'groupDdefaultOrGrid',
+                  column: [
+                    {
+                      label: '鍙傜収鐨勪笟鍔$被鍨�',
+                      prop: 'referTypeName',
+                      span: 6,
+                      labelWidth: '130',
+                      disabled: this.referTypeIsReadOnly,
+                      clearable: !this.referTypeIsReadOnly,
+                      tip: '鍙傜収鏁版嵁鏌ヨ鐨勪笟鍔$被鍨嬨��',
+                      tipPlacement: 'bottom',
+                      rules: [{
+                        required: true,
+                        message: "(鍙傜収鐨勪笟鍔$被鍨�)蹇呭~椤逛笉鑳戒负绌�",
+                        trigger: ["blur", "change"],
+                      }],
+                    }, {
+                      label: '鏄剧ず鐨勫睘鎬�',
+                      prop: 'textField',
+                      tip: '閫夋嫨鏁版嵁鍚庯紝鏄剧ず鍒板瓧娈典笂鐨勪俊鎭墍灞炵殑灞炴�э紝涓�鑸兘鏄痭ame,濡傛灉鏄涓睘鎬т娇鐢ㄩ�楀彿鍒嗗壊锛屽id,name銆�',
+                      tipPlacement: 'bottom',
+                      span: 6,
+                      value: 'name',
+                      rules: [{
+                        required: true,
+                        message: "(鏄剧ず鐨勫睘鎬�)蹇呭~椤逛笉鑳戒负绌�",
+                        trigger: "blur",
+                      }],
+                    }, {
+                      label: '瀛樺偍鍊肩殑灞炴��',
+                      prop: 'valueField',
+                      tip: '閫夋嫨鏁版嵁鍚庯紝淇濆瓨鍒版暟鎹簱閲岀殑灞炴�э紝涓�鑸兘鏄痮id鎴栬�卛d锛屽鏋滄槸澶氫釜灞炴�т娇鐢ㄩ�楀彿鍒嗗壊锛屽oid ,id',
+                      value: 'oid',
+                      tipPlacement: 'bottom',
+                      span: 6,
+                      rules: [{
+                        required: true,
+                        message: "(瀛樺偍鍊肩殑灞炴��)蹇呭~椤逛笉鑳戒负绌�",
+                        trigger: "blur",
+                      }],
+                    }, {
+                      label: '鍙傜収绐楀彛绫诲瀷',
+                      prop: 'type',
+                      tip: 'default:榛樿鐨勫弬鐓х獥鍙f牱寮�; stand:UI涓婁笅鏂囬厤缃殑鏂瑰紡; classify:鍒嗙被+妗f鐨勬樉绀�; 鑷畾涔夌殑鍙傜収鐩存帴鍐檍s鐨勭粍浠惰矾寰勶紱tree:鏍戝舰灞曠ず;grid:鍒楄〃灞曠ず',
+                      tipPlacement: 'bottom',
+                      span: 6,
+                      value: 'default',
+                      type: 'select',
+                      dicData: [{
+                        label: '榛樿鏍峰紡',
+                        value: 'default'
+                      }, {
+                        label: '骞冲彴閰嶇疆',
+                        value: 'stand'
+                      }, {
+                        label: '鏍戝舰',
+                        value: 'tree'
+                      }, {
+                        label: '鍒楄〃',
+                        value: 'grid'
+                      }, {
+                        label: '閮ㄩ棬鏍�',
+                        value: 'refer/OrgDepartmentRefer'
+                      }, {
+                        label: '閮ㄩ棬鍒楄〃',
+                        value: 'refer/OrgDepartmentGridRefers'
+                      }, {
+                        label: '鐢ㄦ埛',
+                        value: 'refer/SmUserRefer'
+                      }, {
+                        label: '鐢ㄦ埛鍒楄〃',
+                        value: 'refer/SmUserGridRefer'
+                      }, {
+                        label: '瑙掕壊鍒楄〃',
+                        value: 'refer/SmRoleRefer'
+                      }, {
+                        label: '鑱屽姟',
+                        value: 'refer/OrgDutyRefer'
+                      }, {
+                        label: '宸ョ',
+                        value: 'refer/SmWorkTypeRefer'
+                      }, {
+                        label: '娴佺▼妯℃澘',
+                        value: 'refer/WfProcessTemplateRefer'
+                      }],
+                      rules: [{
+                        required: true,
+                        message: "(鍙傜収绐楀彛绫诲瀷)蹇呭~椤逛笉鑳戒负绌�",
+                        trigger: "blur",
+                      }],
+                      change: ({value, column}) => {
+                        // console.log("start",value);
+                        // 澶嶅師琛ㄥ崟,鍥犱负鍏朵粬鍒嗙粍涓鏋滃瓨鍦ㄥ�硷紝鍦ㄥ垏鎹㈡椂,浼氫繚鐣欒緭鍏ョ殑瀛楁鍊兼墍浠ラ渶瑕佽繕鍘�
+                        let addFrom = {};
+                        this.activeName = 'first'; // 榛樿鍒囨崲鑷崇涓�涓猼ab
+                        //鏍规嵁绫诲瀷瀵筬orm琛ㄥ崟灞炴�ц繘琛岃皟鏁�
+                        if (value == 'stand') {
+                          addFrom = {
+                            referContent: '',
+                            displayTable: '',
+                          };
+                          this.isDisabledTabs = false;
+                        } else if (value == 'default' || value == 'grid') {
+                          addFrom = {
+                            limit: 15,
+                            sortField: '',
+                            sortType: 'asc',
+                          };
+                          this.isDisabledTabs = false;
+                        } else if (value == 'tree') {
+                          addFrom = {
+                            parentFieldName: '',
+                            parentUsedField: 'oid',
+                            parentValue: '',
+                            loadType: 'all',
+                            onlyLeaf: false,
+                            sortField: '',
+                            sortType: 'asc',
+                          };
+                          // 涓嶇煡閬撲负浠�涔坱ype涓簍ree鐨勬椂鍊欎細瑙﹀彂涓ゆchange浜嬩欢
+                          // 瀵艰嚧type鍒囨崲澶辫触
+                          this.form.type = 'tree';
+                          this.isDisabledTabs = false;
+                        } else {
+                          this.isDisabledTabs = true;
+                          this.activeName = 'second';
+                        }
+                        // 绫诲瀷鍒囨崲鏃讹紝瀵逛笉闇�瑕佺殑灞炴�ц繘琛岀瓫闄�
+                        this.removeFormAttr.forEach(attr => {
+                          // console.log(attr);
+                          this.$delete(this.form, attr)
+                        })
+                        // 鍚堝苟涓や釜琛ㄥ崟
+                        this.form = Object.assign(addFrom, this.form);
+                        // console.log("endFilter",this.form.type);
+                        // console.log(this.form);
+                      },
+                    }, {
+                      label: '鏄惁鎸佷箙鍖栧弬鐓ч厤缃�',
+                      prop: 'isPersistence',
+                      labelWidth: '142',
+                      tip: 'true:寮�鍚寔涔呭寲锛屽褰撳墠瀹氫箟鐨勫弬鐓ч厤缃繘琛屾寔涔呭寲瀛樺偍锛屼笅娆″彲鐩存帴閫夊彇锛沠alse:浠呭褰撳墠娆$爜娈垫柊澧炵敓鏁堛��',
+                      tipPlacement: 'bottom',
+                      span: 6,
+                      type: 'switch',
+                    }, {
+                      display: this.form.isPersistence || this.form.isPersistence == 'true',
+                      label: '鍙傜収閰嶇疆缂栧彿',
+                      prop: 'id',
+                      tip: '璁剧疆璇ュ弬鐓ч厤缃寔涔呭寲瀛樺偍鏃剁殑缂栧彿銆�',
+                      rules: [{
+                        required: true,
+                        message: "(寮�鍚寔涔呭寲鏃剁紪鍙�)蹇呭~椤逛笉鑳戒负绌�",
+                        trigger: "blur",
+                      }],
+                      span: 6,
+                    }, {
+                      display: this.form.isPersistence || this.form.isPersistence == 'true',
+                      label: '鍙傜収閰嶇疆鍚嶇О',
+                      prop: 'name',
+                      tip: '璁剧疆璇ュ弬鐓ч厤缃寔涔呭寲瀛樺偍鏃剁殑鍚嶇О銆�',
+                      rules: [{
+                        required: true,
+                        message: "(寮�鍚寔涔呭寲鏃跺悕绉�)蹇呭~椤逛笉鑳戒负绌�",
+                        trigger: "blur",
+                      }],
+                      span: 6,
                     }
-                };
-                return {
-                    submitBtn: false,
-                    emptyBtn: false,
-                    labelWidth: '145', //榛樿鏍囩瀹藉害
-                    group: [
-                        {   
-                            // 鍩虹琛ㄥ崟淇℃伅灞曠ず鍖哄煙
-                            //display: this.form.type=='default'||this.form.type=='grid',
-                            icon: 'el-icon-info',
-                            label: '蹇呭~鐨勫弬鐓ч厤缃�',
-                            collapse: true,
-                            labelWidth: '110',
-                            prop: 'groupDdefaultOrGrid',
-                            column: [
-                                {
-                                    label: '鍙傜収鐨勪笟鍔$被鍨�',
-                                    prop: 'referTypeName',
-                                    span: 6,
-                                    labelWidth: '130',
-                                    disabled: this.referTypeIsReadOnly,
-                                    clearable: !this.referTypeIsReadOnly,
-                                    tip: '鍙傜収鏁版嵁鏌ヨ鐨勪笟鍔$被鍨嬨��',
-                                    tipPlacement: 'bottom',
-                                    rules: [{
-                                        required: true,
-                                        message: "(鍙傜収鐨勪笟鍔$被鍨�)蹇呭~椤逛笉鑳戒负绌�",
-                                        trigger: ["blur","change"],
-                                    }],
-                                },{
-                                    label: '鏄剧ず鐨勫睘鎬�',
-                                    prop: 'textField',
-                                    tip: '閫夋嫨鏁版嵁鍚庯紝鏄剧ず鍒板瓧娈典笂鐨勪俊鎭墍灞炵殑灞炴�э紝涓�鑸兘鏄痭ame,濡傛灉鏄涓睘鎬т娇鐢ㄩ�楀彿鍒嗗壊锛屽id,name銆�',
-                                    tipPlacement: 'bottom',
-                                    span: 6,
-                                    value: 'name',
-                                    rules: [{
-                                        required: true,
-                                        message: "(鏄剧ず鐨勫睘鎬�)蹇呭~椤逛笉鑳戒负绌�",
-                                        trigger: "blur",
-                                    }],
-                                },{
-                                    label: '瀛樺偍鍊肩殑灞炴��',
-                                    prop: 'valueField',
-                                    tip: '閫夋嫨鏁版嵁鍚庯紝淇濆瓨鍒版暟鎹簱閲岀殑灞炴�э紝涓�鑸兘鏄痮id鎴栬�卛d锛屽鏋滄槸澶氫釜灞炴�т娇鐢ㄩ�楀彿鍒嗗壊锛屽oid ,id',
-                                    value: 'oid',
-                                    tipPlacement: 'bottom',
-                                    span: 6,
-                                    rules: [{
-                                        required: true,
-                                        message: "(瀛樺偍鍊肩殑灞炴��)蹇呭~椤逛笉鑳戒负绌�",
-                                        trigger: "blur",
-                                    }],
-                                },{
-                                    label: '鍙傜収绐楀彛绫诲瀷',
-                                    prop: 'type',
-                                    tip: 'default:榛樿鐨勫弬鐓х獥鍙f牱寮�; stand:UI涓婁笅鏂囬厤缃殑鏂瑰紡; classify:鍒嗙被+妗f鐨勬樉绀�; 鑷畾涔夌殑鍙傜収鐩存帴鍐檍s鐨勭粍浠惰矾寰勶紱tree:鏍戝舰灞曠ず;grid:鍒楄〃灞曠ず',
-                                    tipPlacement: 'bottom',
-                                    span: 6,
-                                    value: 'default',
-                                    type: 'select',
-                                    dicData: [{
-                                        label: '榛樿鏍峰紡',
-                                        value: 'default'
-                                    }, {
-                                        label: '骞冲彴閰嶇疆',
-                                        value: 'stand'
-                                    }, {
-                                        label: '鏍戝舰',
-                                        value: 'tree'
-                                    }, {
-                                        label: '鍒楄〃',
-                                        value: 'grid'
-                                    }, {
-                                        label: '閮ㄩ棬鏍�',
-                                        value: 'refer/OrgDepartmentRefer'
-                                    }, {
-                                        label: '閮ㄩ棬鍒楄〃',
-                                        value: 'refer/OrgDepartmentGridRefers'
-                                    }, {
-                                        label: '鐢ㄦ埛',
-                                        value: 'refer/SmUserRefer'
-                                    }, {
-                                        label: '鐢ㄦ埛鍒楄〃',
-                                        value: 'refer/SmUserGridRefer'
-                                    }, {
-                                        label: '瑙掕壊鍒楄〃',
-                                        value: 'refer/SmRoleRefer'
-                                    }, {
-                                        label: '鑱屽姟',
-                                        value: 'refer/OrgDutyRefer'
-                                    }, {
-                                        label: '宸ョ',
-                                        value: 'refer/SmWorkTypeRefer'
-                                    }, {
-                                        label: '娴佺▼妯℃澘',
-                                        value: 'refer/WfProcessTemplateRefer'
-                                    }],
-                                    rules: [{
-                                        required: true,
-                                        message: "(鍙傜収绐楀彛绫诲瀷)蹇呭~椤逛笉鑳戒负绌�",
-                                        trigger: "blur",
-                                    }],
-                                    change: ({ value, column }) => {
-                                        // 澶嶅師琛ㄥ崟,鍥犱负鍏朵粬鍒嗙粍涓鏋滃瓨鍦ㄥ�硷紝鍦ㄥ垏鎹㈡椂,浼氫繚鐣欒緭鍏ョ殑瀛楁鍊兼墍浠ラ渶瑕佽繕鍘�
-                                        let oldForm = this.form;
-                                        this.form = {};  // 琛ㄥ崟瀵硅薄璧嬬┖
-                                        this.form.referType = oldForm.referType
-                                        this.form.textField = oldForm.textField
-                                        this.form.valueField = oldForm.valueField
-                                        this.form.type = oldForm.type //鍙傜収绐楀彛绫诲瀷
-                                        this.form.url =  oldForm.url
-                                        this.form.backPath =  oldForm.backPath
-                                        this.form.method =  oldForm.method
-                                        this.form.height =  oldForm.height
-                                        this.form.useFormKey =  oldForm.useFormKey
-                                        this.form.paramForFormKey =  oldForm.paramForFormKey
-                                        this.form.isMuti =  oldForm.isMuti
-                                        this.form.mapFields =  oldForm.mapFields
-                                        let addFrom = {};  //鏍规嵁绫诲瀷闇�瑕佹坊鍔犵殑涓嶅悓灞炴��
-                                        this.activeName = 'first';
-                                        if(value == 'stand'){
-                                            addFrom = {
-                                                referContent: '',
-                                                displayTable: '',
-                                            };
-                                            this.isDisabledTabs = false;
-                                        } else if(value == 'default' || value == 'grid'){
-                                            addFrom = {
-                                                limit: '15',
-                                                sortField: '',
-                                                sortType: 'asc',
-                                            };
-                                            this.isDisabledTabs = false;
-                                        } else if(value == 'tree'){
-                                            addFrom = {
-                                                parentFieldName: '',
-                                                parentUsedField: 'oid',
-                                                parentValue: '',
-                                                loadType: 'all',
-                                                onlyLeaf: false,
-                                                sortField: '',
-                                                sortType: 'asc',
-                                            };
-                                            console.log('tree');
-                                            this.isDisabledTabs = false;
-                                        }else {
-                                            this.isDisabledTabs = true;
-                                            this.activeName = 'second';
-                                        }
-                                        // 鍚堝苟涓や釜琛ㄥ崟
-                                        this.form = Object.assign(addFrom,this.form);
-                                        //console.log(this.form);
-                                    },
-                                }
-                            ]
-                        },
-                        {   
-                            //display: this.form.type=='default'||this.form.type=='grid',
-                            icon: 'el-icon-info',
-                            label: '椤甸潰鍙傛暟閰嶇疆',
-                            collapse: false,
-                            prop: 'webConfig',
-                            column: [{
-                                label: '绐楀彛鏄剧ず鐨勯珮搴�',
-                                prop: 'height',
-                                tip: '榛樿绌虹潃锛岃缃悗琛ㄧず寮哄埗鏄剧ず杩欐牱鐨勯珮搴�',
-                                tipPlacement: 'right',
-                                span: 7,
-                                rules:[{
-                                    validator: validateNumber,
-                                    message: "绐楀彛鏄剧ず鐨勯珮搴﹀繀椤讳负鏁板�肩被鍨�",
-                                    trigger: "blur",
-                                }]
-                            },{
-                                label: '杩囨护(绾ц仈)灞炴��',
-                                prop: 'useFormKey',
-                                tip: '鑾峰彇琛ㄥ崟涓婄殑鍏朵粬灞炴�х殑灞炴�х殑鍊兼潵杩囨护,鎴栬�呬娇鐢ㄦ煇涓睘鎬ф潵绾ц仈閫夋嫨',
-                                tipPlacement: 'right',
-                                span: 7,
-                            },{
-                                label: '杩囨护灞炴�ц姹傚弬鏁�',
-                                prop: 'paramForFormKey',
-                                tip: '浣跨敤杩囨护灞炴�ф椂锛屽彂閫佺粰鍚庡彴鐨勮姹傚弬鏁�',
-                                tipPlacement: 'right',
-                                span: 7,
-                            },{
-                                label: '鏄犲皠鍏朵粬灞炴��',
-                                prop: 'mapFields',
-                                tip: '閫夋嫨鏁版嵁鍚庯紝灏嗛�夋嫨鐨勬暟鎹嫹璐濆埌琛ㄥ崟閲岀殑鍏朵粬灞炴�э紝涔﹀啓鏍煎紡涓簕褰撳墠琛ㄥ崟涓婄殑灞炴��:閫夋嫨鏁版嵁閲岀殑灞炴��,XXXXx:yyyy}',
-                                tipPlacement: 'right',
-                                span: 7,
-                            },{
-                                label: '鏄惁寮�鍚叏灞�',
-                                prop: 'isOpenGlobal',
-                                tip: '寮�鍚叏灞�涔嬪悗瀵瑰叏閮ㄥ弬鐓ч厤缃暟鎹繘琛屾煡璇紝榛樿鏍规嵁绉熸埛杩涜鏌ヨ銆�',
-                                tipPlacement: 'right',
-                                type: 'switch',
-                                span: 7,
-                            },{
-                                label: '鏄惁澶氶��',
-                                type: 'switch',
-                                prop: 'isMuti',
-                                value: false,
-                                span: 7,
-                                row: true,
-                            }]
-                        },
-                        {   
-                            //display: this.form.type=='default'||this.form.type=='grid',
-                            icon: 'el-icon-info',
-                            label: '鍚庡彴鍙傛暟閰嶇疆',
-                            collapse: false,
-                            prop: 'backstageConfig',
-                            column: [
-                                {
-                                label: '鑷畾涔夌殑鍚庡彴璺緞',
-                                prop: 'url',
-                                tip: '閫氬父涓虹┖;濡傛灉鏄垪琛紝鍚庡彴蹇呴』杩斿洖DataGrid锛屽鏋滄槸鏍戯紝鍚庡彴蹇呴』杩斿洖List<Tree>',
-                                tipPlacement: 'right',
-                                span: 7,
-                            },{
-                                label: '鏈嶅姟鐨勫湴鍧�',
-                                prop: 'backPath',
-                                tip: '閫氬父涓虹┖锛屽湪鏀寔寰湇鍔℃垨鑰呭垎甯冨紡閮ㄧ讲鐨勬椂鍊欐墠閰嶇疆',
-                                tipPlacement: 'right',
-                                span: 7,
-                            },{
-                                label: '璇锋眰鍚庡彴鐨勫崗璁柟寮�',
-                                prop: 'method',
-                                tip: 'HTTP鐨勫崗璁柟寮忥紝鏀寔POST,PUT,GET锛屼竴鑸兘鏄疓ET',
-                                tipPlacement: 'right',
-                                span: 7,
-                                value: 'GET',
-                                type: 'select',
-                                dicData: [{
-                                    label:'GET',value: "GET"
-                                },{
-                                    label:'PUT',value: "PUT"
-                                },
-                                {
-                                    label:'POST',value: "POST"
-                                }],
-                            },
-                            ]
-                        },
-                    ]
-                }
-            },
-            formOtherOption(){
-                return {
-                    // 鍙樺姩鐨勮〃鍗曞尯鍩�
-                    submitBtn: false,
-                    emptyBtn: false,
-                    labelWidth: '145', //榛樿鏍囩瀹藉害
-                    group: [
-                        {   
-                            display: this.form.type=='default'||this.form.type=='grid',
-                            icon: 'el-icon-info',
-                            label: this.form.type=='default' ? '榛樿鍙傜収鐨勯厤缃�(涓嬫柟鍒楄〃)':'鍒楄〃鍙傜収鐨勯厤缃紙涓嬫柟鍒楄〃)',
-                            collapse: true,
-                            prop: 'groupDdefaultOrGrid',
-                            column: [
-                                {
-                                    label: '姣忛〉鏄剧ず鏉℃暟',
-                                    prop: 'limit',
-                                    span: 7,
-                                    tip: '鍒嗛〉鏃舵瘡椤垫樉绀虹殑鏁伴噺锛屼笉鍒嗛〉濉�-1',
-                                    //value: 15,
-                                    tipPlacement: 'right',
-                                },{
-                                    label: '鎺掑簭瀛楁',
-                                    prop: 'sortField',
-                                    span: 7,
-                                    tip: '鏌ヨ鏁版嵁鏃剁殑鎺掑簭瀛楁',
-                                    //clearable: false,
-                                    tipPlacement: 'right',
-                                },{
-                                    label: '鎺掑簭绫诲瀷',
-                                    prop: 'sortType',
-                                    span: 7,
-                                    dicData: [{
-                                        label: '鍗囧簭', value: 'asc'
-                                    }, {
-                                        label: '闄嶅簭', value: 'desc'
-                                    }],
-                                    //value: 'asc',
-                                    type: 'select',
-                                    tip: '鏌ヨ鏁版嵁鏃剁殑鎺掑簭绫诲瀷',
-                                    tipPlacement: 'right',
-                                }
-                            ]
-                        },
-                        {   
-                            display: this.form.type=='stand',
-                            icon: 'el-icon-info',
-                            label: 'stand(骞冲彴閰嶇疆)鍙傜収',
-                            collapse: true,
-                            prop: 'groupStand',
-                            column: [
-                                {
-                                    label: '鍙傝�冪殑UI涓婁笅鏂�',
-                                    prop: 'referContent',
-                                    span: 7,
-                                    tip: '鍙湁鍙傜収绐楀彛绫诲瀷鏄痵tand鏃舵墠蹇呴』璁剧疆,涓斿湪stand绫诲瀷涓嬫墠鑳界敓鏁�',
-                                    tipPlacement: 'right',
-                                },
-                                {
-                                    label: '骞冲彴鐨勮〃鏍肩紪鍙�',
-                                    prop: 'displayTable',
-                                    span: 7,
-                                    tip: '涓庡弬鐓х殑UI涓婁笅鏂囦簰鏂ワ紝鍙湁鍙傜収绐楀彛绫诲瀷鏄痵tand鏃舵墠蹇呴』璁剧疆锛屼笖鍦╯tand绫诲瀷涓嬫墠鑳界敓鏁�',
-                                    tipPlacement: 'right',
-                                },
-                            ]
-                        },
-                        {   
-                            display: this.form.type=='tree',
-                            icon: 'el-icon-info',
-                            label: '鏍戝舰鍙傜収淇℃伅',
-                            collapse: true,
-                            prop: 'groupTree',
-                            labelWidth: '158',
-                            column: [
-                                {
-                                    label: '鏍戝舰鐨勪笂绾у睘鎬�',
-                                    prop: 'parentFieldName',
-                                    span: 7,
-                                    tip: '鏍戝舰灞曠ず鐨勬椂鍊欙紝涓婁笅绾у叧绯绘煡鎵剧殑灞炴�с��',
-                                    tipPlacement: 'right',
-                                    rules: [{
-                                        required: true,
-                                        message: "(鏍戝舰鐨勪笂绾у睘鎬�)蹇呭~椤逛笉鑳戒负绌�",
-                                        trigger: "blur",
-                                    }],
-                                },{
-                                    label: '涓婄骇灞炴�у�煎搴斿睘鎬�',
-                                    prop: 'parentUsedField',
-                                    span: 7,
-                                    tip: '涓婄骇灞炴�у瓨鍌ㄧ殑鍊�,鏄笂绾ф暟鎹殑浠�涔堝睘鎬с�備竴鑸兘鏄痮id銆�',
-                                    value: 'oid',
-                                    tipPlacement: 'right',
-                                },{
-                                    label: '鏍硅妭鐐圭殑鍊�',
-                                    prop: 'parentValue',
-                                    span: 7,
-                                    tip: '鏍戝舰灞曠ず鐨勬椂鍊欙紝涓婄骇鐨勫�笺��',
-                                    tipPlacement: 'right',
-                                },{
-                                    label: '鏍戝姞杞芥柟寮�',
-                                    prop: 'loadType',
-                                    span: 7,
-                                    value: 'all',
-                                    dicData: [{
-                                        label: '鍏ㄩ儴', value: 'all'
-                                    }, {
-                                        label: '閫愮骇鍔犺浇', value: 'node'
-                                    }],
-                                    type: 'select',
-                                },{
-                                    label: '鎺掑簭瀛楁',
-                                    prop: 'sortField',
-                                    span: 7,
-                                    //type: 'table',
-                                    tip: '鏌ヨ鏁版嵁鏃剁殑鎺掑簭瀛楁',
-                                    tipPlacement: 'right',
-                                },{
-                                    label: '鎺掑簭绫诲瀷',
-                                    prop: 'sortType',
-                                    span: 7,
-                                    type: 'select',
-                                    value: 'asc',
-                                    dicData: [{
-                                        label: '鍗囧簭', value: 'asc'
-                                    }, {
-                                        label: '闄嶅簭', value: 'desc'
-                                    }],
-                                },{
-                                    label: '鏄惁鍙兘閫夋嫨鍙跺瓙鑺傜偣',
-                                    prop: 'onlyLeaf',
-                                    span: 7,
-                                    value: false,
-                                    type: 'switch',
-                                }
-                            ]
-                        },
-                    ],
-                }
-            },
+
+                  ]
+                },
+                {
+                  icon: 'el-icon-info',
+                  label: '椤甸潰鍙傛暟閰嶇疆',
+                  collapse: false,
+                  prop: 'webConfig',
+                  column: [
+                    {
+                      label: '绐楀彛鏄剧ず鐨勯珮搴�',
+                      prop: 'height',
+                      tip: '榛樿绌虹潃锛岃缃悗琛ㄧず寮哄埗鏄剧ず杩欐牱鐨勯珮搴�',
+                      tipPlacement: 'right',
+                      span: 7,
+                      rules: [{
+                        validator: validateNumber,
+                        message: "绐楀彛鏄剧ず鐨勯珮搴﹀繀椤讳负鏁板�肩被鍨�",
+                        trigger: "blur",
+                      }]
+                    }, {
+                      label: '杩囨护(绾ц仈)灞炴��',
+                      prop: 'useFormKey',
+                      tip: '鑾峰彇琛ㄥ崟涓婄殑鍏朵粬灞炴�х殑灞炴�х殑鍊兼潵杩囨护,鎴栬�呬娇鐢ㄦ煇涓睘鎬ф潵绾ц仈閫夋嫨',
+                      tipPlacement: 'right',
+                      span: 7,
+                    }, {
+                      label: '杩囨护灞炴�ц姹傚弬鏁�',
+                      prop: 'paramForFormKey',
+                      tip: '浣跨敤杩囨护灞炴�ф椂锛屽彂閫佺粰鍚庡彴鐨勮姹傚弬鏁�',
+                      tipPlacement: 'right',
+                      span: 7,
+                    }, {
+                      label: '鏄犲皠鍏朵粬灞炴��',
+                      prop: 'mapFields',
+                      tip: '閫夋嫨鏁版嵁鍚庯紝灏嗛�夋嫨鐨勬暟鎹嫹璐濆埌琛ㄥ崟閲岀殑鍏朵粬灞炴�э紝涔﹀啓鏍煎紡涓簕褰撳墠琛ㄥ崟涓婄殑灞炴��:閫夋嫨鏁版嵁閲岀殑灞炴��,"XXXXx":"yyyy"}',
+                      tipPlacement: 'right',
+                      span: 7,
+                    }, {
+                      label: '鏄惁寮�鍚叏灞�',
+                      prop: 'isOpenGlobal',
+                      tip: '寮�鍚叏灞�涔嬪悗瀵瑰叏閮ㄥ弬鐓ч厤缃暟鎹繘琛屾煡璇紝榛樿鏍规嵁绉熸埛杩涜鏌ヨ銆�',
+                      tipPlacement: 'right',
+                      type: 'switch',
+                      span: 7,
+                    }, {
+                      label: '鏄惁澶氶��',
+                      type: 'switch',
+                      prop: 'isMuti',
+                      value: false,
+                      span: 7,
+                      row: true,
+                    }
+                  ]
+                },
+                {
+                  icon: 'el-icon-info',
+                  label: '鍚庡彴鍙傛暟閰嶇疆',
+                  collapse: false,
+                  prop: 'backstageConfig',
+                  column: [
+                    {
+                      label: '鑷畾涔夌殑鍚庡彴璺緞',
+                      prop: 'url',
+                      tip: '閫氬父涓虹┖;濡傛灉鏄垪琛紝鍚庡彴蹇呴』杩斿洖DataGrid锛屽鏋滄槸鏍戯紝鍚庡彴蹇呴』杩斿洖List<Theme>',
+                      tipPlacement: 'right',
+                      span: 7,
+                    }, {
+                      label: '鏈嶅姟鐨勫湴鍧�',
+                      prop: 'backPath',
+                      tip: '閫氬父涓虹┖锛屽湪鏀寔寰湇鍔℃垨鑰呭垎甯冨紡閮ㄧ讲鐨勬椂鍊欐墠閰嶇疆',
+                      tipPlacement: 'right',
+                      span: 7,
+                    }, {
+                      label: '璇锋眰鍚庡彴鐨勫崗璁柟寮�',
+                      prop: 'method',
+                      tip: 'HTTP鐨勫崗璁柟寮忥紝鏀寔POST,PUT,GET锛屼竴鑸兘鏄疓ET',
+                      tipPlacement: 'right',
+                      span: 7,
+                      value: 'GET',
+                      type: 'select',
+                      dicData: [{
+                        label: 'GET', value: "GET"
+                      }, {
+                        label: 'PUT', value: "PUT"
+                      },
+                        {
+                          label: 'POST', value: "POST"
+                        }],
+                    },
+                  ]
+                },
+              ]
+            }
+          },
+          formOtherOption() {
+            return {
+              // 鍙樺姩鐨勮〃鍗曞尯鍩�
+              submitBtn: false,
+              emptyBtn: false,
+              labelWidth: '145', //榛樿鏍囩瀹藉害
+              group: [
+                {
+                  display: this.form.type == 'default' || this.form.type == 'grid',
+                  icon: 'el-icon-info',
+                  label: this.form.type == 'default' ? '榛樿鍙傜収鐨勯厤缃�(涓嬫柟鍒楄〃)' : '鍒楄〃鍙傜収鐨勯厤缃紙涓嬫柟鍒楄〃)',
+                  collapse: true,
+                  prop: 'groupDdefaultOrGrid',
+                  column: [
+                    {
+                      label: '姣忛〉鏄剧ず鏉℃暟',
+                      prop: 'limit',
+                      span: 8,
+                      tip: '鍒嗛〉鏃舵瘡椤垫樉绀虹殑鏁伴噺锛屼笉鍒嗛〉濉�-1',
+                      value: 15,
+                      rules: [{
+                        required: true,
+                        message: "蹇呭~椤逛笉鑳戒负绌�",
+                        trigger: "blur",
+                      }],
+                      tipPlacement: 'right',
+                    }, {
+                      label: '鎺掑簭瀛楁',
+                      prop: 'sortField',
+                      span: 8,
+                      tip: '鏌ヨ鏁版嵁鏃剁殑鎺掑簭瀛楁',
+                      //clearable: false,
+                      tipPlacement: 'right',
+                    }, {
+                      label: '鎺掑簭绫诲瀷',
+                      prop: 'sortType',
+                      span: 8,
+                      dicData: [{
+                        label: '鍗囧簭', value: 'asc'
+                      }, {
+                        label: '闄嶅簭', value: 'desc'
+                      }],
+                      //value: 'asc',
+                      type: 'select',
+                      tip: '鏌ヨ鏁版嵁鏃剁殑鎺掑簭绫诲瀷',
+                      tipPlacement: 'right',
+                    }
+                  ]
+                },
+                {
+                  display: this.form.type == 'stand',
+                  icon: 'el-icon-info',
+                  label: 'stand(骞冲彴閰嶇疆)鍙傜収',
+                  collapse: true,
+                  prop: 'groupStand',
+                  column: [
+                    {
+                      label: '鍙傝�冪殑UI涓婁笅鏂�',
+                      prop: 'referContent',
+                      span: 8,
+                      tip: '鍙湁鍙傜収绐楀彛绫诲瀷鏄痵tand鏃舵墠蹇呴』璁剧疆,涓斿湪stand绫诲瀷涓嬫墠鑳界敓鏁�',
+                      tipPlacement: 'right',
+                    },
+                    {
+                      label: '骞冲彴鐨勮〃鏍肩紪鍙�',
+                      prop: 'displayTable',
+                      span: 8,
+                      tip: '涓庡弬鐓х殑UI涓婁笅鏂囦簰鏂ワ紝鍙湁鍙傜収绐楀彛绫诲瀷鏄痵tand鏃舵墠蹇呴』璁剧疆锛屼笖鍦╯tand绫诲瀷涓嬫墠鑳界敓鏁�',
+                      tipPlacement: 'right',
+                    },
+                  ]
+                },
+                {
+                  display: this.form.type == 'tree',
+                  icon: 'el-icon-info',
+                  label: '鏍戝舰鍙傜収淇℃伅',
+                  collapse: true,
+                  prop: 'groupTree',
+                  labelWidth: '158',
+                  column: [
+                    {
+                      label: '鏍戝舰鐨勪笂绾у睘鎬�',
+                      prop: 'parentFieldName',
+                      span: 7,
+                      tip: '鏍戝舰灞曠ず鐨勬椂鍊欙紝涓婁笅绾у叧绯绘煡鎵剧殑灞炴�с��',
+                      tipPlacement: 'right',
+                      rules: [{
+                        required: true,
+                        message: "(鏍戝舰鐨勪笂绾у睘鎬�)蹇呭~椤逛笉鑳戒负绌�",
+                        trigger: "blur",
+                      }],
+                    }, {
+                      label: '涓婄骇灞炴�у�煎搴斿睘鎬�',
+                      prop: 'parentUsedField',
+                      span: 7,
+                      tip: '涓婄骇灞炴�у瓨鍌ㄧ殑鍊�,鏄笂绾ф暟鎹殑浠�涔堝睘鎬с�備竴鑸兘鏄痮id銆�',
+                      value: 'oid',
+                      tipPlacement: 'right',
+                    }, {
+                      label: '鏍硅妭鐐圭殑鍊�',
+                      prop: 'parentValue',
+                      span: 7,
+                      tip: '鏍戝舰灞曠ず鐨勬椂鍊欙紝涓婄骇鐨勫�笺��',
+                      tipPlacement: 'right',
+                    }, {
+                      label: '鏍戝姞杞芥柟寮�',
+                      prop: 'loadType',
+                      span: 7,
+                      value: 'all',
+                      dicData: [{
+                        label: '鍏ㄩ儴', value: 'all'
+                      }, {
+                        label: '閫愮骇鍔犺浇', value: 'node'
+                      }],
+                      type: 'select',
+                    }, {
+                      label: '鎺掑簭瀛楁',
+                      prop: 'sortField',
+                      span: 7,
+                      //type: 'table',
+                      tip: '鏌ヨ鏁版嵁鏃剁殑鎺掑簭瀛楁',
+                      tipPlacement: 'right',
+                    }, {
+                      label: '鎺掑簭绫诲瀷',
+                      prop: 'sortType',
+                      span: 7,
+                      type: 'select',
+                      value: 'asc',
+                      dicData: [{
+                        label: '鍗囧簭', value: 'asc'
+                      }, {
+                        label: '闄嶅簭', value: 'desc'
+                      }],
+                    }, {
+                      label: '鏄惁鍙兘閫夋嫨鍙跺瓙鑺傜偣',
+                      prop: 'onlyLeaf',
+                      span: 7,
+                      value: false,
+                      type: 'switch',
+                    }
+                  ]
+                },
+              ],
+            }
+          },
         },
         mounted() {
-            // 楹荤殑杩欎釜鍦版柟璋冩鎴戜簡
+            // 浜嬩欢鐩戝惉锛屽疄鐜拌〃鏍艰缂栬緫鐐瑰嚮琛ㄦ牸鍖哄煙澶栧唴瀹规椂閫�鍑虹紪杈戠姸鎬�
             this.element = document.getElementById('refer-config-form');
             this.element.addEventListener("click", (e) => {
                 //<table cellspacing="0" cellpadding="0" border="0" class="el-table__body" style="width: 911px;">
-                //console.log(e.target);
-                // console.log(this.$refs.crudAttr);
-                // console.log(this.$refs.crudAttr.$el.contains(e.target));
-                //console.log(!this.$refs.crudAttr.$el.contains(e.target) && this.preClickAttrRow != null);
-                if (!this.$refs.crudAttr.$el.contains(e.target) && 
+                if (!this.$refs.crudAttr.$el.contains(e.target) &&
                    this.preClickAttrRow != '') {
                    this.preClickAttrRow.$cellEdit = false;
                 }
-                if (!this.$refs.crudAddCondition.$el.contains(e.target) && 
+                if (!this.$refs.crudAddCondition.$el.contains(e.target) &&
                    this.preClickAddSearchConditionRow != '') {
                    this.preClickAddSearchConditionRow.$cellEdit = false;
                 }
@@ -1076,58 +939,21 @@
         },
         watch: {
             // 璐煎潙锛屽垏鎹㈢被鍨嬫椂琛ㄦ牸锛岄殣钘忓啀鏄剧ず灏变細鍑虹幇琛ㄦ牸閿欎綅闂锛�
-            'form.type'(val) {
-                //console.log(val);
+            'form.type'(value) {
                 this.onloadAttrData();
+            },
+            // 鐩戝惉鐖剁粍浠朵紶鐨勭獥鍙f樉绀洪殣钘忕殑鍊�
+            isShowReferConfigForm (){
+                if(this.isShowReferConfigForm && this.codeShowFieldConfigVOS.length <= 0){
+                    this.onloadAttrData();
+                }
             }
         },
         methods: {
-
-            // 鍗曞嚮琛ㄦ牸瀹炵幇琛ㄦ牸琛岀紪杈�
-            clickAttrEdit(row, column, event){
-                if(this.preClickAttrRow && this.preClickAttrRow != row){
-                    //console.log(this.attrData[this.preClickAttrRow.$index]);
-                    this.attrData[this.preClickAttrRow.$index].$cellEdit = false;
-                }
-                row.$cellEdit = true;
-                this.preClickAttrRow = row;
-            },
-            // 灞炴�ц〃鏍艰缂栬緫澶卞幓鐒︾偣鏃朵繚瀛樻柟娉�
-            // updateAttrBlur(value){
-                //console.log(this.attrData[0]);
-                
-            // },
-            // 鍗曞嚮琛ㄦ牸瀹炵幇琛ㄦ牸琛岀紪杈�
-            clickAddSearchCondtionEdit(row, column, event){
-                if(this.preClickAddSearchConditionRow && this.preClickAddSearchConditionRow != row){
-                    //console.log(this.attrData[this.preClickAttrRow.$index]);
-                    this.addSearchCondtionData[this.preClickAddSearchConditionRow.$index].$cellEdit = false;
-                }
-                row.$cellEdit = true;
-                this.preClickAddSearchConditionRow = row;
-            },
-            //涓婁竴涓〉闈㈠凡缁忛�変腑鍙傜収搴旂敤鐨勪笟鍔$被鍨嬬殑鎯呭喌锛屽拰涓婁竴娆″凡缁忛厤缃繃鍙傜収閰嶇疆鐨勬儏鍐典笅杩涜椤甸潰鍒濆鍖栨覆鏌�
-            initPageData(val){
-                console.log(val);
-                if(func.notEmpty(val.referConfig)){
-                    this.form = JSON.parse(val.referConfig);
-                    //console.log(val);
-                    this.referTypeIsReadOnly = true;
-                    return;
-                }
-                if(func.notEmpty(val.referType)){
-                    this.form.referTypeName = val.referTypeName;
-                    this.form.referType = val.referType;
-                    this.referTypeIsReadOnly = true;
-                    return;
-                }
-                //console.log(localStorage.getItem("userId"));
-            },
             // 閫夋嫨瀹屽弬鐓ч厤缃箣鍚庣偣鍑讳繚瀛樻寜閽Е鍙�
             async selectedListReferConfig(){
                 // 鏍囪鎵�鏈夎〃鍗曟槸鍚﹂�氳繃鏍¢獙鐨勫彉閲�
                 let isValid = true;
-                
                 // 閬嶅巻琛ㄥ崟鏁扮粍锛屼緷娆″姣忎釜琛ㄥ崟杩涜鏍¢獙
                 await this.formRefs.forEach(ref => {
                     this.$refs[ref].validate((valid, done, msg) => {
@@ -1137,32 +963,144 @@
                                 break;
                             }
                             isValid = false;
-                            //console.log(valid);
-                        }                            
+                        }
                         done();
                     })
                 })
-                
                 // 濡傛灉鎵�鏈夎〃鍗曢兘鏍¢獙閫氳繃锛屾墽琛屾彁浜ゆ搷浣�
                 if (isValid) {
                     // 鏍规嵁绫诲瀷瀵筬orm琛ㄥ崟涓殑鍙傛暟杩涜杩囨护锛屽彧淇濈暀闈炵┖涓旈渶瑕佺殑灞炴��
                     let submitForm = this.filterForm();
-                    //console.log(submitForm);
                     this.$emit('echoReferConfig', submitForm) // 瑙﹀彂update:data灏嗗瓙缁勪欢鍊间紶閫掔粰鐖剁粍浠�
                     this.isShowReferConfigForm = false;
                 }
             },
+            // 鍗曞嚮琛ㄦ牸瀹炵幇琛ㄦ牸琛岀紪杈�
+            clickAttrEdit(row, column, event){
+                if(this.preClickAttrRow && this.preClickAttrRow != row){
+                    this.codeShowFieldConfigVOS[this.preClickAttrRow.$index].$cellEdit = false;
+                }
+                row.$cellEdit = true;
+                this.preClickAttrRow = row;
+            },
+            // 灞炴�ц〃鏍艰缂栬緫澶卞幓鐒︾偣鏃朵繚瀛樻柟娉�
+            // updateAttrBlur(value){
+                //console.log(this.codeShowFieldConfigVOS[0]);
+
+            // },
+
+            // 鍗曞嚮琛ㄦ牸瀹炵幇琛ㄦ牸琛岀紪杈�
+            clickAddSearchCondtionEdit(row, column, event){
+                if(this.preClickAddSearchConditionRow && this.preClickAddSearchConditionRow != row){
+                    //console.log(this.codeShowFieldConfigVOS[this.preClickAttrRow.$index]);
+                    this.form.codeSrchCondConfigVOS[this.preClickAddSearchConditionRow.$index].$cellEdit = false;
+                }
+                if(row.filterType === '_in' || row.filterType === '_notin'){
+                  //console.log(row);
+                  this.selectInOrNotInCondOption.column = [{
+                    prop: row.filterField,
+                    label: row.filterTypeText,
+                    search: true,
+                    searchLabelWidth: 45,
+                    searchSpan: 8,
+                    sortable: true,
+                  }]
+                  this.initPageData.pageSize = 10;
+                  this.initPageData.currentPage = 1;
+                  this.loadInOrNotInConditionData(this.initPageData);
+                  this.isShowInOrNotInCondition = true;
+                }
+                row.$cellEdit = true;
+                this.preClickAddSearchConditionRow = row;
+            },
+            loadInOrNotInConditionData(page, params = {}){
+              let mustParams = {
+                referType: this.form.referType,
+                referBo: this.form.referType,
+              };
+              getList(Object.assign(mustParams,params),page.currentPage,page.pageSize,'/api/ubcs-code/mdmEngineController/defaultReferDataGrid','GET').then(res=>{
+                //console.log(res.data);
+                this.selectInOrNotInCondData = res.data.records;
+                this.inOrNotInPage.total = res.data.total;
+              });
+            },
+            inOrNotInCurrentChange(currentPage) {
+              this.inOrNotInPage.currentPage = currentPage;
+            },
+            inOrNotInSizeChange(pageSize) {
+              this.inOrNotInPage.pageSize = pageSize;
+            },
+            rowInOrNotInClick(row){
+              this.$refs.inOrNotInConditionCrud.toggleSelection();
+              this.$refs.inOrNotInConditionCrud.toggleRowSelection(row); //閫変腑褰撳墠琛�
+            },
+            selectionInOrNotInChange(list){
+              if (this.isMuti && list.length > 1) {
+                const nowVal = list.shift();
+                this.$refs.inOrNotInConditionCrud.toggleRowSelection(nowVal, false);
+              }
+              this.selectionInOrNotInList = list
+            },
+            selectedInOrNotInCond(){
+              if(this.selectionInOrNotInList && this.selectionInOrNotInList.length > 0){
+                // console.log(this.selectionInOrNotInList)
+                this.preClickAddSearchConditionRow.filterValue = this.selectionInOrNotInList.map(item => item[this.selectInOrNotInCondOption.column[0].prop]).join(',');
+                this.isShowInOrNotInCondition = false;
+              }
+            },
+            /** 鐐瑰嚮鎼滅储鍚庤Е鍙戣浜嬩欢 */
+            selectInOrNotInSearchChange(params, done) {
+              this.initPageData.currentPage = 1;
+              let requestData = {};
+              if(params) {
+                Object.keys(params).forEach((key)=>{
+                  requestData["conditionMap" + "["+ key +"_like]"] = params[key].trim();
+                })
+              }
+              this.inOrNotInParam = requestData;
+              this.loadInOrNotInConditionData(this.initPageData,this.inOrNotInParam);
+              done();
+            },
+            /** 閲嶇疆浣嶅睘鎬ч�夊彇鍊艰〃鏍肩殑鎼滅储妗嗕箣鍚庣殑鍥炶皟 */
+            searchInOrNotInReset() {
+              this.inOrNotInParam = {};
+              this.loadInOrNotInConditionData(this.initPageData);
+            },
+
+            //涓婁竴涓〉闈㈠凡缁忛�変腑鍙傜収搴旂敤鐨勪笟鍔$被鍨嬬殑鎯呭喌锛屽拰涓婁竴娆″凡缁忛厤缃繃鍙傜収閰嶇疆鐨勬儏鍐典笅杩涜椤甸潰鍒濆鍖栨覆鏌�
+            initPageData(val){
+                // console.log(val.referConfig);
+                if(func.notEmpty(val.referConfig)){
+                    this.form = JSON.parse(val.referConfig);
+                    this.form.isPersistence = this.form.isPersistence == 'true'||this.form.isPersistence ? true:false;
+                    // 鍙傜収寮曠敤鐨勪笟鍔$被鍨嬩笉鍙��
+                    // this.referTypeIsReadOnly = true;
+                    if((this.form.type == 'default' || this.form.type  == 'grid') && (this.form.codeShowFieldConfigVOS != undefined && this.form.codeShowFieldConfigVOS.length > 0)){
+                        this.codeShowFieldConfigVOS = this.form.codeShowFieldConfigVOS;
+                    }
+                    return;
+                }else {
+                    this.onloadAttrData()
+                }
+                if(func.notEmpty(val.referType)){
+                    this.form.referTypeName = val.referTypeName;
+                    this.form.referType = val.referType;
+                    this.referTypeIsReadOnly = true;
+                    return;
+                }
+                //console.log(localStorage.getItem("userId"));
+            },
             /** 鍏跺疄閫夊彇灞炴�ц〃鏍肩殑榛樿鏁版嵁涓嶉渶瑕佸姞杞斤紝
              浣嗘槸寮圭獥鎵撳紑浼氭湁琛ㄦ牸閿欒闂鎵�浠ラ渶瑕佸湪杩欒皟鐢╠oLayout鏂规硶*/
             onloadAttrData(){
-                this.attrData = [
+                this.codeShowFieldConfigVOS = [
                     {
                         field: 'id',
                         title: '缂栧彿',
                         fieldType: 'text',
                         fieldTypeText: '鏂囨湰妗�',
                         sort: true,
-                        sortField: 'id',
+                        attrSortField: 'id',
                         width: '150',
                         isquery: true,
                         $cellEdit: false
@@ -1172,23 +1110,23 @@
                         fieldType: 'text',
                         fieldTypeText: '鏂囨湰妗�',
                         sort: true,
-                        sortField: 'name',
+                        attrSortField: 'name',
                         width: '180',
                         isquery: true,
                         $cellEdit: false
                     }
                 ];
-                this.$nextTick(() => {
-                    this.$refs.crudAttr.doLayout()
-                })
+                // this.$nextTick(() => {
+                //     this.$refs.crudAttr.doLayout()
+                // })
             },
             // 灞炴�ч�夋嫨琛ㄦ牸涓殑绉婚櫎鎸夐挳鍔熻兘
             removeCurrentRow(row,condition){
                 if(condition=='removeAttr'){
-                    this.$delete(this.attrData, row.$index);
+                    this.$delete(this.codeShowFieldConfigVOS, row.$index);
                     return;
                 }
-                this.$delete(this.addSearchCondtionData, row.$index);
+                this.$delete(this.form.codeSrchCondConfigVOS, row.$index);
             },
             // 璇ョ晫闈㈢殑鏁版嵁杩涜鍒濆鍖栧鍘�
             recoveryDataAndForm(condition){
@@ -1201,11 +1139,13 @@
                     // this.form.displayTable = '';
                     return;
                 }
-                Object.assign(this.$data,this.$options.data());    
+                Object.assign(this.$data,this.$options.data());
+                //this.preClickAttrRow.$cellEdit = false;
+                //console.log(this.preClickAttrRow.$cellEdit);
                 // 绉婚櫎缁戝畾鍦ㄨ椤甸潰瀵硅瘽妗嗕笂鐨勫叏灞�鐩戝惉浜嬩欢
                 if(this.element != ''){
                    let te = window.removeEventListener('click', this.element)
-                }     
+                }
             },
             // 鎻愪氦琛ㄥ崟涔嬪墠杩囨护鎺夌┖鎴栦笉闇�瑕佺殑琛ㄥ崟鏁版嵁
             filterForm(){
@@ -1223,8 +1163,10 @@
                     'useFormKey',
                     'paramForFormKey',
                     'isMuti',
-                    'mapFields', 
-                    'searchCondition', 
+                    'mapFields',
+                    'codeSrchCondConfigVOS',
+                    'isOpenGlobal', //鏄惁寮�鍚叏灞�
+                    'isPersistence',
                 ];
                 let addArray = [];
                 let newForm ={};
@@ -1235,33 +1177,37 @@
                     addArray = ['limit', 'sortField', 'sortType'];
                 } else if(oldForm.type == 'tree'){
                     addArray = [
-                        "parentFieldName", 
+                        "parentFieldName",
                         'parentUsedField',
-                        'parentValue', 
+                        'parentValue',
                         'loadType',
                         'onlyLeaf',
                         'sortField',
                         'sortType'
                     ];
                 }
+                // 寮�鍚寔涔呭寲鍙傜収閰嶇疆
+                if(oldForm.isPersistence=='true' || oldForm.isPersistence){
+                    submittDefaultForm =  submittDefaultForm.concat(['id','name'])
+                }
                 submittDefaultForm = submittDefaultForm.concat(addArray);
-                if(!this.checkArrayIsUndefined(this.addSearchCondtionData)){
+                if(!this.checkArrayIsUndefined(this.form.codeSrchCondConfigVOS)){
                     newForm = {
-                        searchCondition: this.addSearchCondtionData,
+                        codeSrchCondConfigVOS: this.form.codeSrchCondConfigVOS,
                     }
                 }
-                if((oldForm.type == 'default' || oldForm.type  == 'grid') && (this.attrData.length >= 0 && !this.checkArrayIsUndefined(this.addSearchCondtionData))){
-                    newForm = Object.assign(newForm,{attrData:this.attrData});
+                if((oldForm.type == 'default' || oldForm.type  == 'grid') && (this.codeShowFieldConfigVOS.length >= 0 && !this.checkArrayIsUndefined(this.codeShowFieldConfigVOS))){
+                    newForm = Object.assign(newForm,{codeShowFieldConfigVOS:this.codeShowFieldConfigVOS});
                 }
                 // 杩囨护鍑虹┖鍊煎睘鎬у拰涓嶉渶瑕佺殑灞炴��
                 submittDefaultForm.forEach(item=>{
                     // console.log(!this.checkStringIsEmpty(oldForm[item]) || !this.checkArrayIsUndefined(oldForm[item]));
                     if((item == 'isMuti' || item == 'onlyLeaf') || (!this.checkStringIsEmpty(oldForm[item]) || !this.checkArrayIsUndefined(oldForm[item]))){
                         //console.log(item,oldForm[item]);
-                        newForm = Object.assign(newForm,{[item]:oldForm[item]});  
+                        newForm = Object.assign(newForm,{[item]:oldForm[item]});
                     }
                 });
-                // console.log(newForm);
+                //console.log(newForm);
                 return newForm;
             },
             /**
@@ -1287,28 +1233,7 @@
             checkArrayIsUndefined(val){
                 return typeof val === 'array' && (val.length === 0 ||val === null || typeof val === 'undefined');
             },
-            // 鎵撳紑琛ㄦ牸閫夋嫨妗�
-            openSelectionTable(condition){
-                if (condition == 'referType'){
-                    this.isShowReferBtmType = true;
-                    this.referBtmTypeOnLoad();
-                }else if (condition == 'sortField'){
-                    this.isShowSortField = true;
-                    this.sortFieldOnLoad();
-                }else {
-                    if(this.form.referType == '' || this.form.referType == null){
-                        this.$message.warning("璇疯緭鍏ュ弬鐓х殑涓氬姟绫诲瀷")
-                        return;
-                    }
-                    if(condition == 'addSearchCondition'){
-                        this.isShowSearchCondition = true;
-                        this.selectSearchConditionDataOnload();
-                    }else {
-                        this.isShowShowField = true;
-                        this.selectShowFieldDataOnload();
-                    }
-                }
-            },
+
             // 娓呯┖琛ㄦ牸閫夋嫨妗�
             clearSelectionTable(condition){
                 if(condition == 'referType'){
@@ -1318,255 +1243,85 @@
                     this.form.sortField = '';
                 }
             },
-            // 鍏抽棴瀵硅瘽妗嗘椂瀵归�変腑鍐呭杩涜娓呯┖锛屽苟瑙g粦鍏ㄥ眬鐩戝惉浜嬩欢
-            clearTableRowSelection(condition){
+            // 鎵撳紑琛ㄦ牸閫夋嫨妗�
+            openSelectionTable(condition){
+                // 鎵撳紑閫夋嫨鍙傜収寮曠敤瀵硅瘽妗�
+                if (condition == 'referType'){
+                    this.referBtmDialogParams.selectReferBtmSettingBox = true;
+                    // console.log(this.referBtmDialogParams.ref);
+                    // 璋冪敤瀛愮粍浠跺埛鏂拌〃鏍兼暟鎹�
+                    this.$refs[this.referBtmDialogParams.ref].referBtmOnLoad();
+                    return;
+                }
+                // 鎻愮ず
+                if(this.form.referType == '' || this.form.referType == null){
+                    this.$message.warning("璇疯緭鍏ュ弬鐓х殑涓氬姟绫诲瀷")
+                    return;
+                }
+                let params = this.seletedBtmTypeAttrOptions;
+                params.btmTypeId = this.form.referType
+                // 閫夋嫨鎺掑簭瀛楁
                 if(condition == 'sortField'){
-                    this.sortFieldSelectRow = ''; 
-                    this.sortFieldSelectRowData = '';
-                }else if(condition == 'referType'){
-                    this.referBtmTypeSelectRow='';
-                    this.referBtmTypeSelectRowData = '';
+                    params.title = '涓恒�愭帓搴忓瓧娈点�戦�夊彇鍊煎璇濇';
+                    params.condition = 'sortField';
+                }else if(condition == 'addSearchCondition'){
+                    // 閫夋嫨鏌ヨ鏉′欢
+                    params.title = '閫夋嫨鏌ヨ鏉′欢';
+                    params.condition = 'addSearchCondition';
+                }else{
+                    // 閫夋嫨灞炴��
+                    params.title = '閫夋嫨鏄剧ず瀛楁';
+                    params.condition = 'selectAttr';
                 }
-                
+                this.$refs[this.selectedBtmTypeAttrParams.ref].selectedBtmTypeAttrOnLoad(params);
+                this.selectedBtmTypeAttrParams.selectedBtmTypeAttrSettingBox = true;
             },
 
-            // 涓恒�愬弬鐓х殑涓氬姟绫诲瀷銆戦�夊彇鍊�
-            referBtmTypeOnLoad(page, params = {}){
-                this.selectReferBtmTypeLoading = true;
-                // 璋冪敤api璇锋眰
-                const data = {
-                    total: 2,
-                    data: [{
-                        id: 't2',
-                        name: 'test2',
-                        description: 'test2',
-                    }, {
-                        id: 't3',
-                        name: 'test3',
-                        description: 'test3',
-                    }]
+            /** 涓恒�愬弬鐓у紩鐢ㄧ殑涓氬姟绫诲瀷銆戦�夊彇鍊间箣鍚庣殑鍐呭鍥炴樉鏃惰皟鐢� */
+            echoReferBtmType(content){
+                // 瀹炵幇鍥炴樉
+                this.form.referTypeName = content.name || content.id;
+                this.form.referType = content.id || '';
+            },
+            /** 鎺掑簭瀛楁銆佹樉绀虹殑灞炴�с�佹煡璇㈡潯浠剁殑琛ㄦ牸琛岄�夋嫨涔嬪悗鍥炴樉 */
+            echoSelectedAttr(data){
+                // console.log(data);
+                // 涓恒�愭帓搴忓瓧娈点�戦�夊彇鍊�
+                if(data.condition === 'sortField'){
+                    this.form.sortField = data.selectedArrary[0].id;
+                }else if(data.condition === 'addSearchCondition') {
+                    data.selectedArrary.forEach(item => {
+                        this.form.codeSrchCondConfigVOS.push(
+                            {
+                                filterField: item.id,
+                                filterType: '_equal',
+                                filterTypeText: item.name,
+                                filterValue: '',
+                                $cellEdit: false
+                            }
+                        )
+                    })
+                }else{
+                    // 閫夋嫨鏄剧ず瀛楁
+                    data.selectedArrary.forEach(item => {
+                        // console.log(item);
+                        this.codeShowFieldConfigVOS.push(
+                            {
+                                field: item.id,
+                                title: item.name,
+                                // fieldType: item.attrType,
+                                // fieldTypeText: item.attrTypeText,
+                                fieldType: 'text',
+                                fieldTypeText: '鏂囨湰妗�',
+                                sort: false,
+                                attrSortField: item.id,
+                                width: item.attributeLength,
+                                isquery: false,
+                                $cellEdit: false
+                            }
+                        )
+                    })
                 }
-                this.selectReferBtmTypeData = data.data;
-                this.selectReferBtmTypePage.total = data.total;
-                this.selectReferBtmTypeLoading = false;
-            },
-            referBtmTypeSizeChange(pageSize){
-                this.selectReferBtmTypePage.pageSize = pageSize;
-            },
-            referBtmTypeSearchChange(params, done){
-                this.referBtmTypeQuery = params;
-                this.selectReferBtmTypePage.currentPage = 1;
-                this.referBtmTypeOnLoad(this.page, params);
-                done();
-            },
-            referBtmTypeSearchReset(){
-                this.referBtmTypeQuery = {};
-                this.referBtmTypeOnLoad(this.selectReferBtmTypePage);
-            },
-            referBtmTypeRowClick(row){
-                this.referBtmTypeSelectRowData = row;
-                this.referBtmTypeSelectRow = row.$index
-                //console.log( this.referBtmTypeSelectRowData);
-            },
-            referBtmTypeCurrentChange(currentPage){
-                this.selectReferBtmTypePage.currentPage = currentPage;
-            },
-            selectedReferBtmType(){
-                if(!this.referBtmTypeSelectRowData) {
-                    this.$message.warning("璇烽�夋嫨涓�鏉℃暟鎹�");
-                    return;
-                }
-                this.form.referTypeName = this.referBtmTypeSelectRowData.name;
-                this.form.referType = this.referBtmTypeSelectRowData.id;
-                this.isShowReferBtmType = false;
-            },
-
-            // 涓恒�愭帓搴忓瓧娈点�戦�夊彇鍊�
-            sortFieldOnLoad(page, params = {}){
-                this.selectSortFieldLoading = true;
-                // 璋冪敤api璇锋眰
-                const data = {
-                    total: 2,
-                    data: [{
-                        id: 'test',
-                        name: '娴嬭瘯',
-                        attrLength: 11,
-                        attrType: '瀛楃涓�'
-                    }, {
-                        id: 'test1',
-                        name: '娴嬭瘯1',
-                        attrLength: 12,
-                        attrType: '鏁板瓧'
-                    }]
-                }
-                this.selectSortFieldData = data.data;
-                this.selectSortFieldPage.total = data.total;
-                this.selectSortFieldLoading = false;
-            },
-            sortFieldSizeChange(pageSize){
-                this.selectSortFieldPage.pageSize = pageSize;
-            },
-            sortFieldSearchChange(params, done){
-                this.sortFieldQuery = params;
-                this.selectSortFieldPage.currentPage = 1;
-                this.sortFieldOnLoad(this.page, params);
-                done();
-            },
-            sortFieldSearchReset(){
-                this.sortFieldQuery = {};
-                this.sortFieldOnLoad(this.selectSortFieldPage);
-            },
-            sortFieldRowClick(row){
-                this.sortFieldSelectRowData = row;
-                this.sortFieldSelectRow = row.$index
-                //console.log( this.sortFieldSelectRowData);
-            },
-            sortFieldCurrentChange(currentPage){
-                this.selectReferBtmTypePage.currentPage = currentPage;
-            },
-            selectedSortField(){
-                if(!this.sortFieldSelectRowData) {
-                    this.$message.warning("璇烽�夋嫨涓�鏉℃暟鎹�");
-                    return;
-                }
-                this.form.sortField = this.sortFieldSelectRowData.id;
-                this.isShowSortField = false;
-            },
-
-            // 閫夋嫨鏄剧ず瀛楁
-            selectShowFieldDataOnload(params = {}){
-                this.selectShowFieldLoading = true;
-                // 璋冪敤api璇锋眰
-                const data = {
-                    total: 2,
-                    data: [{
-                        id: 'test',
-                        name: '娴嬭瘯',
-                        attrLength: 11,
-                        attrType: 'text',
-                        attrTypeText: '鏂囨湰妗�'
-                    }, {
-                        id: 'test1',
-                        name: '娴嬭瘯1',
-                        attrLength: 12,
-                        attrType: 'number',
-                        attrTypeText: '鏁板瓧'
-                    }, {
-                        id: 'test2',
-                        name: '娴嬭瘯2',
-                        attrLength: 13,
-                        attrType: 'date',
-                        attrTypeText: '鏃ユ湡'
-                    }]
-                }
-                this.selectShowFieldData = data.data;
-                this.selectShowFieldLoading = false;
-            },
-            selectionShowFieldDataChange(list){
-                this.showFieldSelectList = list;
-                this.$refs.selectShowFieldCrud.setCurrentRow(this.showFieldSelectList[list.length-1]);
-            },
-            showFieldRowClick(row){
-                //this.showFieldSelectList.push(row);
-                this.$refs.selectShowFieldCrud.setCurrentRow(row);
-                this.$refs.selectShowFieldCrud.toggleRowSelection(row); //閫変腑褰撳墠琛�
-            },
-            showFieldSearchChange(params, done){
-                this.showFieldQuery = params;
-                this.selectShowFieldDataOnload(params);
-                done();
-            },
-            showFieldSearchReset(){
-                this.showFieldQuery = {};
-                this.sortFieldOnLoad();
-            },
-            selectedShowField(){
-                //console.log(this.showFieldSelectList);
-                if(this.showFieldSelectList.length <= 0) {
-                    this.$message.warning("璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�");
-                    return;
-                }
-                //this.showFieldSelectList;
-                this.showFieldSelectList.forEach(item => {
-                    this.attrData.push(
-                        {
-                            field: item.id,
-                            title: item.id,
-                            fieldType: item.attrType,
-                            fieldTypeText: item.attrTypeText,
-                            sort: false,
-                            sortField: item.id,
-                            width: item.attrLength,
-                            isquery: false,
-                            $cellEdit: false
-                        }
-                    )
-                    
-                })
-                this.isShowShowField = false;
-            },
-
-
-            // 閫夋嫨鏌ヨ鏉′欢
-            selectSearchConditionDataOnload(params = {}){
-                this.selectSearchConditionLoading = true;
-                // 璋冪敤api璇锋眰
-                this.selectSearchConditionData = [{
-                        id: 'test',
-                        name: '娴嬭瘯',
-                        attrLength: 11,
-                        attrType: '瀛楃涓�',
-                        $cellEdit: false,
-                    }, {
-                        id: 'test1',
-                        name: '娴嬭瘯1',
-                        attrLength: 12,
-                        attrType: '鏁板瓧',
-                        $cellEdit: false,
-                    }, {
-                        id: 'test2',
-                        name: '娴嬭瘯2',
-                        attrLength: 13,
-                        attrType: '鏃ユ湡',
-                        $cellEdit: false,
-                }];
-                this.selectSearchConditionLoading = false;
-            },
-            searchConditionRowClick(row){
-                this.$refs.selectSearchConditionCrud.setCurrentRow(row);
-                this.$refs.selectSearchConditionCrud.toggleRowSelection(row); //閫変腑褰撳墠琛�
-            },
-            searchConditionDataChange(list){
-                this.searchConditionSelectList = list;
-                this.$refs.selectSearchConditionCrud.setCurrentRow(this.searchConditionSelectList[list.length-1]);
-            },
-            searchConditionSearchChange(params, done){
-                this.searchConditionQuery = params;
-                this.selectSearchConditionDataOnload(params);
-                done();
-            },
-            searchConditionSearchReset(){
-                this.searchConditionQuery = {};
-                this.sortFieldOnLoad();
-            },
-            selectedSearchCondition(){
-                console.log(this.searchConditionSelectList);
-                if(this.searchConditionSelectList.length <= 0) {
-                    this.$message.warning("璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�");
-                    return;
-                }
-                this.searchConditionSelectList.forEach(item => {
-                    this.addSearchCondtionData.push(
-                        {
-                            filterField: item.id,
-                            filterType: '=',
-                            filterValue: '',
-                            $cellEdit: false
-                        }
-                    )
-                    
-                })
-                this.isShowSearchCondition = false;
             },
 
         }
@@ -1590,5 +1345,14 @@
         -webkit-transition:opacity .0s !important;
         transition:opacity .0s !important;
     }
-    
-</style>
\ No newline at end of file
+
+    /* .valueInfo {
+      float: left;
+      border: 1px solid #E9E7E7;
+      display: inline-block;
+      vertical-align: middle;
+      padding: 9px 15px;
+      line-height: 1;
+    } */
+
+</style>

--
Gitblit v1.9.3