From 73dbe864eb18a1a4df4f41caed1dd128faf1b2ec Mon Sep 17 00:00:00 2001 From: ludc Date: 星期五, 02 六月 2023 19:11:27 +0800 Subject: [PATCH] 引用码段关于业务类型接口的联调,重复使用的界面抽离成单独组件 --- Source/UBCS-WEB/src/components/code-dialog-page/referConfigFormDialog.vue | 900 ++++++++++++++++++----------------------------------------- 1 files changed, 276 insertions(+), 624 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..6a91563 100644 --- a/Source/UBCS-WEB/src/components/code-dialog-page/referConfigFormDialog.vue +++ b/Source/UBCS-WEB/src/components/code-dialog-page/referConfigFormDialog.vue @@ -64,7 +64,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 +90,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 +105,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" @cell-click="clickAddSearchCondtionEdit" - :data="addSearchCondtionData"> + :data="form.codeSrchCondConfigVOS"> <!-- 琛ㄦ牸鍐呮搷浣滄寜閽� --> <template slot="menu" slot-scope="scope"> <el-button type="text" @@ -141,38 +141,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%" @@ -200,7 +176,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 @@ -276,6 +259,11 @@ paramForFormKey: '', isMuti: false, mapFields: '', + isOpenGlobal: true, //鏄惁寮�鍚叏灞� + codeSrchCondConfigVOS: [], + isPersistence: true, // 鏄惁鎸佷箙鍖� + id: '', + name: '', // 鏌ヨ鏉′欢鍒楄〃 // limit: '15', // sortField: '', @@ -288,7 +276,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, @@ -353,7 +355,7 @@ blur: (value) => this.updateAttrBlur(value), },{ label: "鎺掑簭瀛楁", - prop: "sortField", + prop: "attrSortField", cell: true, clearable: false, blur: (value) => this.updateAttrBlur(value), @@ -365,7 +367,7 @@ blur: (value) => this.updateAttrBlur(value), },{ label: "鍒楀浐瀹氫綅缃�", - prop: "fixedText", + prop: "fixedPosition", cell: true, type:"select", clearable: false, @@ -381,7 +383,7 @@ }, ] }, - addSearchCondtionData: [], + // addSearchCondtionData: [], addSearchCondtionOption: { height:'150', tip: false, @@ -434,6 +436,7 @@ } ] }, + // 涓や釜琛ㄥ崟鐨剅ef formRefs: ['form','otherForm'], // tabs鎺у埗 @@ -441,212 +444,21 @@ 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: '', @@ -677,7 +489,7 @@ icon: 'el-icon-info', label: '蹇呭~鐨勫弬鐓ч厤缃�', collapse: true, - labelWidth: '110', + labelWidth: '115', prop: 'groupDdefaultOrGrid', column: [ { @@ -769,23 +581,11 @@ trigger: "blur", }], change: ({ value, column }) => { + // console.log("start",value); // 澶嶅師琛ㄥ崟,鍥犱负鍏朵粬鍒嗙粍涓鏋滃瓨鍦ㄥ�硷紝鍦ㄥ垏鎹㈡椂,浼氫繚鐣欒緭鍏ョ殑瀛楁鍊兼墍浠ラ渶瑕佽繕鍘� - 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'; + let addFrom = {}; + this.activeName = 'first'; // 榛樿鍒囨崲鑷崇涓�涓猼ab + //鏍规嵁绫诲瀷瀵筬orm琛ㄥ崟灞炴�ц繘琛岃皟鏁� if(value == 'stand'){ addFrom = { referContent: '', @@ -809,72 +609,108 @@ sortField: '', sortType: 'asc', }; - console.log('tree'); + // 涓嶇煡閬撲负浠�涔坱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', + tip: 'true:寮�鍚寔涔呭寲锛屽褰撳墠瀹氫箟鐨勫弬鐓ч厤缃繘琛屾寔涔呭寲瀛樺偍锛屼笅娆″彲鐩存帴閫夊彇锛沠alse:浠呭褰撳墠娆$爜娈垫柊澧炵敓鏁堛��', + tipPlacement: 'bottom', + span: 6, + type: 'switch', + },{ + display: this.form.isPersistence | this.form.isPersistence=='true', + label: '缂栧彿', + prop: 'id', + rules: [{ + required: true, + message: "(寮�濮嬫寔涔呭寲鏃剁紪鍙�)蹇呭~椤逛笉鑳戒负绌�", + trigger: "blur", + }], + span: 6, + },{ + display: this.form.isPersistence | this.form.isPersistence=='true', + label: '鍚嶇О', + prop: 'name', + rules: [{ + required: true, + message: "(寮�濮嬫寔涔呭寲鏃跺悕绉�)蹇呭~椤逛笉鑳戒负绌�", + trigger: "blur", + }], + span: 6, } + ] }, { - //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, - }] + 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, @@ -886,29 +722,29 @@ 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: '鏈嶅姟鐨勫湴鍧�', + 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:'POST',value: "POST" - }], - }, ] }, ] @@ -931,21 +767,21 @@ { label: '姣忛〉鏄剧ず鏉℃暟', prop: 'limit', - span: 7, + span: 8, tip: '鍒嗛〉鏃舵瘡椤垫樉绀虹殑鏁伴噺锛屼笉鍒嗛〉濉�-1', //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' }, { @@ -968,14 +804,14 @@ { 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', }, @@ -1076,8 +912,7 @@ }, watch: { // 璐煎潙锛屽垏鎹㈢被鍨嬫椂琛ㄦ牸锛岄殣钘忓啀鏄剧ず灏变細鍑虹幇琛ㄦ牸閿欎綅闂锛� - 'form.type'(val) { - //console.log(val); + 'form.type'(value) { this.onloadAttrData(); } }, @@ -1086,33 +921,39 @@ // 鍗曞嚮琛ㄦ牸瀹炵幇琛ㄦ牸琛岀紪杈� 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); if(func.notEmpty(val.referConfig)){ this.form = JSON.parse(val.referConfig); - //console.log(val); + // console.log(this.form); + this.form.isPersistence = this.form.isPersistence == 'true' ? 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; } if(func.notEmpty(val.referType)){ @@ -1127,7 +968,6 @@ async selectedListReferConfig(){ // 鏍囪鎵�鏈夎〃鍗曟槸鍚﹂�氳繃鏍¢獙鐨勫彉閲� let isValid = true; - // 閬嶅巻琛ㄥ崟鏁扮粍锛屼緷娆″姣忎釜琛ㄥ崟杩涜鏍¢獙 await this.formRefs.forEach(ref => { this.$refs[ref].validate((valid, done, msg) => { @@ -1142,12 +982,11 @@ done(); }) }) - // 濡傛灉鎵�鏈夎〃鍗曢兘鏍¢獙閫氳繃锛屾墽琛屾彁浜ゆ搷浣� if (isValid) { // 鏍规嵁绫诲瀷瀵筬orm琛ㄥ崟涓殑鍙傛暟杩涜杩囨护锛屽彧淇濈暀闈炵┖涓旈渶瑕佺殑灞炴�� let submitForm = this.filterForm(); - //console.log(submitForm); + // console.log(submitForm); this.$emit('echoReferConfig', submitForm) // 瑙﹀彂update:data灏嗗瓙缁勪欢鍊间紶閫掔粰鐖剁粍浠� this.isShowReferConfigForm = false; } @@ -1155,14 +994,14 @@ /** 鍏跺疄閫夊彇灞炴�ц〃鏍肩殑榛樿鏁版嵁涓嶉渶瑕佸姞杞斤紝 浣嗘槸寮圭獥鎵撳紑浼氭湁琛ㄦ牸閿欒闂鎵�浠ラ渶瑕佸湪杩欒皟鐢╠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,7 +1011,7 @@ fieldType: 'text', fieldTypeText: '鏂囨湰妗�', sort: true, - sortField: 'name', + attrSortField: 'name', width: '180', isquery: true, $cellEdit: false @@ -1185,10 +1024,10 @@ // 灞炴�ч�夋嫨琛ㄦ牸涓殑绉婚櫎鎸夐挳鍔熻兘 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){ @@ -1224,7 +1063,9 @@ 'paramForFormKey', 'isMuti', 'mapFields', - 'searchCondition', + 'codeSrchCondConfigVOS', + 'isOpenGlobal', //鏄惁寮�鍚叏灞� + 'isPersistence', ]; let addArray = []; let newForm ={}; @@ -1244,14 +1085,18 @@ '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=>{ @@ -1261,7 +1106,7 @@ newForm = Object.assign(newForm,{[item]:oldForm[item]}); } }); - // console.log(newForm); + //console.log(newForm); return newForm; }, /** @@ -1287,28 +1132,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,256 +1142,84 @@ 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; + }, + + /** 涓恒�愬弬鐓у紩鐢ㄧ殑涓氬姟绫诲瀷銆戦�夊彇鍊间箣鍚庣殑鍐呭鍥炴樉鏃惰皟鐢� */ + echoReferBtmType(content){ + // 瀹炵幇鍥炴樉 + this.form.referTypeName = content.name; + 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: '=', + filterTypeText: item.name, + filterValue: '', + $cellEdit: false + } + ) + }) + }else{ + // 閫夋嫨鏄剧ず瀛楁 + data.selectedArrary.forEach(item => { + this.codeShowFieldConfigVOS.push( + { + field: item.id, + title: item.id, + fieldType: item.attrType, + fieldTypeText: item.attrTypeText, + sort: false, + attrSortField: item.id, + width: item.attrLength, + isquery: false, + $cellEdit: false + } + ) + }) + } }, - // 涓恒�愬弬鐓х殑涓氬姟绫诲瀷銆戦�夊彇鍊� - referBtmTypeOnLoad(page, params = {}){ - this.selectReferBtmTypeLoading = true; - // 璋冪敤api璇锋眰 - const data = { - total: 2, - data: [{ - id: 't2', - name: 'test2', - description: 'test2', - }, { - id: 't3', - name: 'test3', - description: 'test3', - }] - } - 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; - }, } }; -- Gitblit v1.9.3