From 13f2d9d9b067d571f37fc14fe8ea4399eaad2547 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期三, 13 九月 2023 08:45:23 +0800 Subject: [PATCH] 代码提交 --- Source/UBCS-WEB/src/components/code-dialog-page/referConfigFormDialog.vue | 1519 ++++++++++++++++++++++++--------------------------------- 1 files changed, 639 insertions(+), 880 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 40d4f9d..9e75512 100644 --- a/Source/UBCS-WEB/src/components/code-dialog-page/referConfigFormDialog.vue +++ b/Source/UBCS-WEB/src/components/code-dialog-page/referConfigFormDialog.vue @@ -1,21 +1,25 @@ <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"> <el-row> - <avue-form ref="form" :option="formOption" v-model="form" class="referTypeForm"> + <avue-form :ref="formRefs[0]" :option="formOption" v-model="form" class="referTypeForm"> <template #referTypeName="{disabled,size}"> <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" @@ -37,76 +41,101 @@ </template> </avue-form> </el-row> - <el-row v-show="form.type=='default' || form.type=='grid'"> - <avue-crud - ref="crudAttr" - class="crud-attr" - :option="attrOption" - @cell-click="clickAttrEdit" - :data="attrData"> - <!-- 琛ㄦ牸鍐呮搷浣滄寜閽� --> - <template slot="menu" slot-scope="scope"> - <el-button type="text" - size="small" - icon="el-icon-search" - plain - @click="scope.row.isquery=!scope.row.isquery"> - {{scope.row.isquery ? "鍙栨秷蹇�熸煡璇�":"蹇�熸煡璇�"}} - </el-button> - <el-button type="text" - size="small" - icon="el-icon-minus" - plain - @click="removeCurrentRow(scope.row,'removeAttr')">绉婚櫎 - </el-button> - </template> - <!-- 琛ㄦ牸宸︿笂鏂规寜閽尯鍩� --> - <template slot="menuLeft" slot-scope="scope"> - <el-button type="primary" - size="small" - icon="el-icon-plus" - @click="openSelectionTable('selectAttr')">閫夋嫨灞炴�� - </el-button> - <div class="tag-group" style="display: inline"> - <el-tag - v-for="item in attrData" - v-show="item.isquery && item.title!=''" - style="margin-left: 3px" - :key="item.title" - type="info" - size="small" - effect="dark"> - {{ item.title }} - </el-tag> - </div> - </template> - </avue-crud> - </el-row> - <el-row style="margin-top: 10px"> - <avue-crud - ref="crudAddCondition" - :option="addSearchCondtionOption" - @cell-click="clickAddSearchCondtionEdit" - :data="addSearchCondtionData"> - <!-- 琛ㄦ牸鍐呮搷浣滄寜閽� --> - <template slot="menu" slot-scope="scope"> - <el-button type="text" - size="small" - icon="el-icon-minus" - plain - @click="removeCurrentRow(scope.row,'removeaddSearchCondtion')">绉婚櫎 - </el-button> - </template> - <!-- 琛ㄦ牸宸︿笂鏂规寜閽尯鍩� --> - <template slot="menuLeft" slot-scope="scope"> - <el-button type="primary" - size="small" - icon="el-icon-plus" - @click="openSelectionTable('addSearchCondition')"> - 娣诲姞鏌ヨ鏉′欢 - </el-button> - </template> - </avue-crud> + <el-row> + <el-tabs type="border-card" v-model="activeName"> + <el-tab-pane name="first" :disabled="isDisabledTabs"> + <span slot="label"><i class="el-icon-monitor"></i>鏄剧ず鐨勫睘鎬т笌鍏朵粬閰嶇疆</span> + <el-row> + <avue-form :ref="formRefs[1]" :option="formOtherOption" v-model="form" class="referTypeForm"> + <template #sortField="{disabled,size}"> + <el-input :disabled="disabled" + :size="size" + v-model="form.sortField" + ref="sortField" + placeholder="璇烽�夋嫨 鎺掑簭瀛楁" + prefix-icon="el-icon-search" + readonly="true" + @focus="openSelectionTable('sortField')"> + <i slot="suffix" class="el-icon-circle-close" @click="clearSelectionTable('sortField')" style="margin-right: 5px;cursor: pointer;"></i> + </el-input> + </template> + </avue-form> + </el-row> + <el-row v-show="form.type=='default' || form.type=='grid'"> + <el-divider content-position="left" style="margin-bottom: -40px;">閰嶇疆鏄剧ず鐨勫睘鎬�</el-divider> + <avue-crud + ref="crudAttr" + class="crud-attr" + :option="attrOption" + @cell-click="clickAttrEdit" + :data="codeShowFieldConfigVOS"> + <!-- 琛ㄦ牸鍐呮搷浣滄寜閽� --> + <template slot="menu" slot-scope="scope"> + <el-button type="text" + size="small" + icon="el-icon-search" + plain + @click="scope.row.isquery=!scope.row.isquery"> + {{scope.row.isquery ? "鍙栨秷蹇�熸煡璇�":"蹇�熸煡璇�"}} + </el-button> + <el-button type="text" + size="small" + icon="el-icon-minus" + plain + @click="removeCurrentRow(scope.row,'removeAttr')">绉婚櫎 + </el-button> + </template> + <!-- 琛ㄦ牸宸︿笂鏂规寜閽尯鍩� --> + <template slot="menuLeft" slot-scope="scope"> + <el-button type="primary" + size="small" + icon="el-icon-plus" + @click="openSelectionTable('selectAttr')">閫夋嫨灞炴�� + </el-button> + <div class="tag-group" style="display: inline"> + <el-tag + v-for="item in codeShowFieldConfigVOS" + v-show="item.isquery && item.title!=''" + style="margin-left: 3px" + :key="item.title" + type="info" + size="small" + effect="dark"> + {{ item.title }} + </el-tag> + </div> + </template> + </avue-crud> + </el-row> + </el-tab-pane> + <el-tab-pane name="second"> + <span slot="label"><i class="el-icon-search"></i>娣诲姞鏌ヨ鏉′欢</span> + <avue-crud + ref="crudAddCondition" + :option="addSearchCondtionOption" + @cell-click="clickAddSearchCondtionEdit" + :data="form.codeSrchCondConfigVOS"> + <!-- 琛ㄦ牸鍐呮搷浣滄寜閽� --> + <template slot="menu" slot-scope="scope"> + <el-button type="text" + size="small" + icon="el-icon-minus" + plain + @click="removeCurrentRow(scope.row,'removeaddSearchCondtion')">绉婚櫎 + </el-button> + </template> + <!-- 琛ㄦ牸宸︿笂鏂规寜閽尯鍩� --> + <template slot="menuLeft" slot-scope="scope"> + <el-button type="primary" + size="small" + icon="el-icon-plus" + @click="openSelectionTable('addSearchCondition')"> + 娣诲姞鏌ヨ鏉′欢 + </el-button> + </template> + </avue-crud> + </el-tab-pane> + </el-tabs> </el-row> </div> @@ -116,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"> - - </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%" @@ -175,7 +180,14 @@ <el-button type="primary" @click="selectedSortField">纭� 瀹�</el-button> <el-button @click="isShowSortField = false">鍙� 娑�</el-button> </div> - </el-dialog> + </el-dialog> --> + + <refer-select-btm-attr-dialog + title="涓恒�愭帓搴忓瓧娈点�戦�夊彇鍊�" + :visible.sync="selectedBtmTypeAttrParams.selectedBtmTypeAttrSettingBox" + :ref="selectedBtmTypeAttrParams.ref" + @echoSelectedAttr="echoSelectedAttr"> + </refer-select-btm-attr-dialog> <el-dialog title="閫夋嫨鏄剧ず瀛楁" append-to-body @@ -222,21 +234,22 @@ </el-dialog> </template> - + <script> import func from "@/util/func"; export default { - name: "referConfigDialog", + name: "referConfigFormDialog", props: { + }, data() { let element = ''; return { - activeName: 'first', //褰撳墠娲诲姩鐨則abs labelWidth: '150', // 鏍囬瀹藉害 isShowReferConfigForm: false, // 绗竴灞傚璇濇鏄剧ず闅愯棌鎺у埗 referTypeIsReadOnly: false, + // 琛ㄥ崟瀵硅薄 form: { referTypeName: '', //鏄剧ず鐨勫�� @@ -252,7 +265,12 @@ paramForFormKey: '', isMuti: false, mapFields: '', - // 鏌ヨ鏉′欢鍒楄〃 + isOpenGlobal: true, //鏄惁寮�鍚叏灞� + codeSrchCondConfigVOS: [], + isPersistence: true, // 鏄惁鎸佷箙鍖� + id: '', + name: '', + // 鏌ヨ鏉′欢鍒楄〃 // limit: '15', // sortField: '', // sortType: 'asc', @@ -264,7 +282,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, @@ -282,19 +314,21 @@ columnBtn: false, dialogClickModal: false, highlightCurrentRow: true, + indexFixed: 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", @@ -315,7 +349,7 @@ }, { value: 'textarea', label: '鏂囨湰鍩�' }], - blur: (value) => this.updateAttrBlur(value), + // blur: (value) => this.updateAttrBlur(value), },{ label: "鍒楄〃鍙帓搴�", prop: "sort", @@ -324,38 +358,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, @@ -385,21 +419,21 @@ type: "select", cell: true, clearable: false, - dicData: [{ - value: 'like', label: '鍖呭惈' - }, { - value: '=', label: '绛変簬' - }, { - value: '>', label: '澶т簬' - }, { - value: '<', label: '灏忎簬' - }, { - value: '!=', label: '涓嶇瓑浜�' - }, { - value: '>=', label: '澶т簬绛変簬' - }, { - value: '<=', label: '灏忎簬绛変簬' - }] + dicData: [ + { + value: '_like', label: '鍖呭惈' + },{ + value: "_notlike", label: "涓嶅寘鍚�", + }, { + value: '_equal', label: '绛変簬' + }, { + value: '_notequal', label: '涓嶇瓑浜�' + }, { + value: '_ge', label: '澶т簬' + }, { + value: '_le', label: '灏忎簬' + } + ] },{ label: "绛涢�夊��", prop: "filterValue", @@ -408,213 +442,29 @@ } ] }, + // 涓や釜琛ㄥ崟鐨剅ef + formRefs: ['form','otherForm'], - //涓恒�愬弬鐓х殑涓氬姟绫诲瀷銆戦�夊彇鍊煎璇濇 - 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' - }], - }, - selectReferBtmTypeLoading: false, - selectReferBtmTypeData: [], - selectReferBtmTypePage: { - pageSize: 10, - currentPage: 1, - total: 0 - }, - referBtmTypeQuery: {}, - isShowReferBtmType: false, - referBtmTypeSelectRowData: '', - referBtmTypeSelectRow: '', + // tabs鎺у埗 + isDisabledTabs: false, + activeName: 'first', //褰撳墠娲诲姩鐨則abs - // 涓恒�愭帓搴忓瓧娈点�戦�夊彇鍊煎璇濇 - 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' - }], + /** 鍙傜収寮曠敤鐨勪笟鍔$被鍨嬪璇濇鐩稿叧鍙傛暟 */ + referBtmDialogParams: { + ref: 'crudReferBtm', + selectReferBtmSettingBox: false, }, - selectSortFieldLoading: false, - selectSortFieldData: [], - selectSortFieldPage: { - pageSize: 10, - currentPage: 1, - total: 0 + /** 閫夋嫨鍏宠仈鐨勪笟鍔$被鍨嬪睘鎬х浉鍏崇殑瀵硅瘽妗嗙浉鍏冲弬鏁� */ + selectedBtmTypeAttrParams: { + ref: 'selectedBtmTypeAttrCrud', + selectedBtmTypeAttrSettingBox: false, }, - 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' - }], + seletedBtmTypeAttrOptions: { + title: '', //瀵硅瘽妗嗘樉绀虹殑鏍囬 + condition: '', //褰撳墠鎵撳紑瀵硅瘽妗嗙殑绫诲瀷 + btmTypeId: '', //鏌ヨ鏉′欢锛屼笟鍔$被鍨媔d }, - 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: '', @@ -638,207 +488,285 @@ submitBtn: false, emptyBtn: false, labelWidth: '145', //榛樿鏍囩瀹藉害 - // 鍩虹琛ㄥ崟淇℃伅灞曠ず鍖哄煙 - column: [ - { - label: '鍙傜収鐨勪笟鍔$被鍨�', - prop: 'referTypeName', - span: 7, - disabled: this.referTypeIsReadOnly, - clearable: !this.referTypeIsReadOnly, - tip: '鍙傜収鏁版嵁鏌ヨ鐨勪笟鍔$被鍨嬨��', - tipPlacement: 'right', - rules: [{ - required: true, - message: "(鍙傜収鐨勪笟鍔$被鍨�)蹇呭~椤逛笉鑳戒负绌�", - trigger: ["blur","change"], - }], - },{ - label: '鏄剧ず鐨勫睘鎬�', - prop: 'textField', - tip: '閫夋嫨鏁版嵁鍚庯紝鏄剧ず鍒板瓧娈典笂鐨勪俊鎭墍灞炵殑灞炴�э紝涓�鑸兘鏄痭ame,濡傛灉鏄涓睘鎬т娇鐢ㄩ�楀彿鍒嗗壊锛屽id,name銆�', - tipPlacement: 'right', - span: 7, - value: 'name', - rules: [{ - required: true, - message: "(鏄剧ず鐨勫睘鎬�)蹇呭~椤逛笉鑳戒负绌�", - trigger: "blur", - }], - },{ - label: '瀛樺偍鍊肩殑灞炴��', - prop: 'valueField', - tip: '閫夋嫨鏁版嵁鍚庯紝淇濆瓨鍒版暟鎹簱閲岀殑灞炴�э紝涓�鑸兘鏄痮id鎴栬�卛d锛屽鏋滄槸澶氫釜灞炴�т娇鐢ㄩ�楀彿鍒嗗壊锛屽oid ,id', - value: 'oid', - tipPlacement: 'right', - span: 7, - rules: [{ - required: true, - message: "(瀛樺偍鍊肩殑灞炴��)蹇呭~椤逛笉鑳戒负绌�", - trigger: "blur", - }], - },{ - label: '鍙傜収绐楀彛绫诲瀷', - prop: 'type', - tip: 'default:榛樿鐨勫弬鐓х獥鍙f牱寮�; stand:UI涓婁笅鏂囬厤缃殑鏂瑰紡; classify:鍒嗙被+妗f鐨勬樉绀�; 鑷畾涔夌殑鍙傜収鐩存帴鍐檍s鐨勭粍浠惰矾寰勶紱tree:鏍戝舰灞曠ず;grid:鍒楄〃灞曠ず', - tipPlacement: 'right', - span: 7, - 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 = {}; //鏍规嵁绫诲瀷闇�瑕佹坊鍔犵殑涓嶅悓灞炴�� - if(value == 'stand'){ - addFrom = { - referContent: '', - displayTable: '', - } - } else if(value == 'default' || value == 'grid'){ - addFrom = { - limit: '15', - sortField: '', - sortType: 'asc', - } - } else if(value == 'tree'){ - addFrom = { - parentFieldName: '', - parentUsedField: 'oid', - parentValue: '', - loadType: 'all', - onlyLeaf: false, - sortField: '', - sortType: 'asc', - } - } - // 鍚堝苟涓や釜琛ㄥ崟 - this.form = Object.assign(addFrom,this.form); - //console.log(this.form); - }, - },{ - 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" - }], - },{ - 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: '鏄惁澶氶��', - type: 'switch', - prop: 'isMuti', - value: false, - span: 7, - row: true, - },{ - label: '鏄犲皠鍏朵粬灞炴��', - prop: 'mapFields', - tip: '閫夋嫨鏁版嵁鍚庯紝灏嗛�夋嫨鐨勬暟鎹嫹璐濆埌琛ㄥ崟閲岀殑鍏朵粬灞炴�э紝涔﹀啓鏍煎紡涓簕褰撳墠琛ㄥ崟涓婄殑灞炴��:閫夋嫨鏁版嵁閲岀殑灞炴��,XXXXx:yyyy}', - tipPlacement: 'right', - span: 18, - } - ], - // 鍙樺姩鐨勮〃鍗曞尯鍩� 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, + } + + ] + }, + { + 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' ? '榛樿鍙傜収鐨勯厤缃�(涓嬫柟鍒楄〃)':'鍒楄〃鍙傜収鐨勯厤缃紙涓嬫柟鍒楄〃)', @@ -848,21 +776,21 @@ { label: '姣忛〉鏄剧ず鏉℃暟', prop: 'limit', - span: 7, + span: 8, tip: '鍒嗛〉鏃舵瘡椤垫樉绀虹殑鏁伴噺锛屼笉鍒嗛〉濉�-1', - //value: 15, + value: 15, tipPlacement: 'right', },{ label: '鎺掑簭瀛楁', prop: 'sortField', - span: 7, + span: 8, tip: '鏌ヨ鏁版嵁鏃剁殑鎺掑簭瀛楁', //clearable: false, tipPlacement: 'right', },{ label: '鎺掑簭绫诲瀷', prop: 'sortType', - span: 7, + span: 8, dicData: [{ label: '鍗囧簭', value: 'asc' }, { @@ -875,7 +803,7 @@ } ] }, - { + { display: this.form.type=='stand', icon: 'el-icon-info', label: 'stand(骞冲彴閰嶇疆)鍙傜収', @@ -885,20 +813,20 @@ { label: '鍙傝�冪殑UI涓婁笅鏂�', prop: 'referContent', - span: 7, + span: 8, tip: '鍙湁鍙傜収绐楀彛绫诲瀷鏄痵tand鏃舵墠蹇呴』璁剧疆,涓斿湪stand绫诲瀷涓嬫墠鑳界敓鏁�', tipPlacement: 'right', }, { label: '骞冲彴鐨勮〃鏍肩紪鍙�', prop: 'displayTable', - span: 7, + span: 8, tip: '涓庡弬鐓х殑UI涓婁笅鏂囦簰鏂ワ紝鍙湁鍙傜収绐楀彛绫诲瀷鏄痵tand鏃舵墠蹇呴』璁剧疆锛屼笖鍦╯tand绫诲瀷涓嬫墠鑳界敓鏁�', tipPlacement: 'right', }, ] }, - { + { display: this.form.type=='tree', icon: 'el-icon-info', label: '鏍戝舰鍙傜収淇℃伅', @@ -942,12 +870,6 @@ }], type: 'select', },{ - label: '鏄惁鍙兘閫夋嫨鍙跺瓙鑺傜偣', - prop: 'onlyLeaf', - span: 7, - value: false, - type: 'switch', - },{ label: '鎺掑簭瀛楁', prop: 'sortField', span: 7, @@ -965,27 +887,29 @@ }, { 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; } @@ -993,44 +917,83 @@ }, watch: { // 璐煎潙锛屽垏鎹㈢被鍨嬫椂琛ㄦ牸锛岄殣钘忓啀鏄剧ず灏变細鍑虹幇琛ㄦ牸閿欎綅闂锛� - 'form.type'(val) { - //console.log(val); + 'form.type'(value) { this.onloadAttrData(); + }, + // 鐩戝惉鐖剁粍浠朵紶鐨勭獥鍙f樉绀洪殣钘忕殑鍊� + isShowReferConfigForm (){ + if(this.isShowReferConfigForm && this.codeShowFieldConfigVOS.length <= 0){ + this.onloadAttrData(); + } } }, methods: { + // 閫夋嫨瀹屽弬鐓ч厤缃箣鍚庣偣鍑讳繚瀛樻寜閽Е鍙� + async selectedListReferConfig(){ + // 鏍囪鎵�鏈夎〃鍗曟槸鍚﹂�氳繃鏍¢獙鐨勫彉閲� + let isValid = true; + // 閬嶅巻琛ㄥ崟鏁扮粍锛屼緷娆″姣忎釜琛ㄥ崟杩涜鏍¢獙 + await this.formRefs.forEach(ref => { + this.$refs[ref].validate((valid, done, msg) => { + if (!valid) { + for(let attr in msg) { + this.$message.warning(msg[attr][0].message); + 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){ - //console.log(this.attrData[this.preClickAttrRow.$index]); - this.attrData[this.preClickAttrRow.$index].$cellEdit = false; + //console.log(this.codeShowFieldConfigVOS[this.preClickAttrRow.$index]); + this.codeShowFieldConfigVOS[this.preClickAttrRow.$index].$cellEdit = false; } row.$cellEdit = true; this.preClickAttrRow = row; }, // 灞炴�ц〃鏍艰缂栬緫澶卞幓鐒︾偣鏃朵繚瀛樻柟娉� // updateAttrBlur(value){ - //console.log(this.attrData[0]); - + //console.log(this.codeShowFieldConfigVOS[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; + //console.log(this.codeShowFieldConfigVOS[this.preClickAttrRow.$index]); + this.form.codeSrchCondConfigVOS[this.preClickAddSearchConditionRow.$index].$cellEdit = false; } row.$cellEdit = true; this.preClickAddSearchConditionRow = row; }, //涓婁竴涓〉闈㈠凡缁忛�変腑鍙傜収搴旂敤鐨勪笟鍔$被鍨嬬殑鎯呭喌锛屽拰涓婁竴娆″凡缁忛厤缃繃鍙傜収閰嶇疆鐨勬儏鍐典笅杩涜椤甸潰鍒濆鍖栨覆鏌� initPageData(val){ - //console.log(val); + // console.log(val.referConfig); if(func.notEmpty(val.referConfig)){ this.form = JSON.parse(val.referConfig); - //console.log(val); - this.referTypeIsReadOnly = true; + 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; @@ -1040,38 +1003,17 @@ } //console.log(localStorage.getItem("userId")); }, - // 閫夋嫨瀹屽弬鐓ч厤缃箣鍚庣偣鍑讳繚瀛樻寜閽Е鍙� - selectedListReferConfig(){ - //琛ㄥ崟楠岃瘉 - this.$refs.form.validate((valid, done, msg) => { - if (valid) { - // 鏍规嵁绫诲瀷瀵筬orm琛ㄥ崟涓殑鍙傛暟杩涜杩囨护锛屽彧淇濈暀闈炵┖涓旈渶瑕佺殑灞炴�� - let submitForm = this.filterForm(); - //console.log(submitForm); - this.$emit('echoReferConfig', submitForm) // 瑙﹀彂update:data灏嗗瓙缁勪欢鍊间紶閫掔粰鐖剁粍浠� - this.isShowReferConfigForm = false; - done() - } else { - for(let attr in msg) { - //console.log(msg[attr][0].message); - this.$message.warning(msg[attr][0].message); - break; - } - return false; - } - }) - }, /** 鍏跺疄閫夊彇灞炴�ц〃鏍肩殑榛樿鏁版嵁涓嶉渶瑕佸姞杞斤紝 浣嗘槸寮圭獥鎵撳紑浼氭湁琛ㄦ牸閿欒闂鎵�浠ラ渶瑕佸湪杩欒皟鐢╠oLayout鏂规硶*/ onloadAttrData(){ - this.attrData = [ + this.codeShowFieldConfigVOS = [ { field: 'id', title: '缂栧彿', fieldType: 'text', fieldTypeText: '鏂囨湰妗�', sort: true, - sortField: 'id', + attrSortField: 'id', width: '150', isquery: true, $cellEdit: false @@ -1081,23 +1023,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){ @@ -1110,11 +1052,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(){ @@ -1132,8 +1076,10 @@ 'useFormKey', 'paramForFormKey', 'isMuti', - 'mapFields', - 'searchCondition', + 'mapFields', + 'codeSrchCondConfigVOS', + 'isOpenGlobal', //鏄惁寮�鍚叏灞� + 'isPersistence', ]; let addArray = []; let newForm ={}; @@ -1144,33 +1090,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; }, /** @@ -1196,28 +1146,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'){ @@ -1227,255 +1156,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; }, } @@ -1499,5 +1258,5 @@ -webkit-transition:opacity .0s !important; transition:opacity .0s !important; } - -</style> \ No newline at end of file + +</style> -- Gitblit v1.9.3