From 7442a435d058bd17d6fc679e1b7956bf3a5d32ae Mon Sep 17 00:00:00 2001 From: zenglf <18502938215@163.com> Date: 星期四, 17 八月 2023 22:36:11 +0800 Subject: [PATCH] 设备管理代码提交 --- src/components/jeecg/JVxeTable/components/JVxeTable.js | 82 ++++++++++++++++++++++++---------------- 1 files changed, 49 insertions(+), 33 deletions(-) diff --git a/src/components/jeecg/JVxeTable/components/JVxeTable.js b/src/components/jeecg/JVxeTable/components/JVxeTable.js index c1a1859..3532194 100644 --- a/src/components/jeecg/JVxeTable/components/JVxeTable.js +++ b/src/components/jeecg/JVxeTable/components/JVxeTable.js @@ -107,9 +107,9 @@ // caseId锛岃〃鏍煎敮涓�鏍囪瘑 caseId: `_j-vxe-${randomString(8)}_`, // 鍐呯疆columns - _innerColumns: [], + innerColumns: [], // 鍐呯疆 EditRules - _innerEditRules: [], + innerEditRules: [], // 璁板綍婊氬姩鏉′綅缃� scroll: {top: 0, left: 0}, // 褰撳墠鏄惁姝e湪婊氬姩 @@ -156,14 +156,14 @@ excludeCode:[], // 鑱斿姩涓嬫媺閫夐」锛堢敤浜庨殧绂讳笉鍚岀殑涓嬫媺閫夐」锛� // 鍐呴儴鑱斿姩閰嶇疆锛宮ap - _innerLinkageConfig: null, + innerLinkageConfig: null, } }, computed: { // vxe 鏈�缁� columns vxeColumns() { - this._innerColumns.forEach(column => { + this.innerColumns.forEach(column => { let renderOptions = { caseId: this.caseId, bordered: this.bordered, @@ -184,11 +184,11 @@ } } // 澶勭悊鑱斿姩鍒楋紝鑱斿姩鍒楀彧鑳戒綔鐢ㄤ簬 select 缁勪欢 - if (column.$type === JVXETypes.select && this._innerLinkageConfig != null) { + if (column.$type === JVXETypes.select && this.innerLinkageConfig != null) { // 鍒ゆ柇褰撳墠鍒楁槸鍚︽槸鑱斿姩鍒� - if (this._innerLinkageConfig.has(column.key)) { + if (this.innerLinkageConfig.has(column.key)) { renderOptions.linkage = { - config: this._innerLinkageConfig.get(column.key), + config: this.innerLinkageConfig.get(column.key), getLinkageOptionsSibling: this.getLinkageOptionsSibling, getLinkageOptionsAsync: this.getLinkageOptionsAsync, linkageSelectChange: this.linkageSelectChange, @@ -224,11 +224,11 @@ } // update--end--autor:lvdandan-----date:20201211------for:JT-118 銆恛nline銆� 鏃ユ湡銆佹椂闂存帶浠堕暱搴﹁緝灏� }) - return this._innerColumns + return this.innerColumns }, // vxe 鏈�缁� editRules vxeEditRules() { - return Object.assign({}, this.editRules, this._innerEditRules) + return Object.assign({}, this.editRules, this.innerEditRules) }, // vxe 鏈�缁� props vxeProps() { @@ -302,8 +302,8 @@ this.$set(data, this.dragSortKey, idx + 1) } // 澶勭悊鑱斿姩鍥炴樉鏁版嵁 - if (this._innerLinkageConfig != null) { - for (let configItem of this._innerLinkageConfig.values()) { + if (this.innerLinkageConfig != null) { + for (let configItem of this.innerLinkageConfig.values()) { this.autoSetLinkageOptionsByData(data, '', configItem, 0) } } @@ -341,8 +341,8 @@ handler(columns) { //鑾峰彇涓嶉渶瑕佹樉绀哄垪 this.loadExcludeCode() - let _innerColumns = [] - let _innerEditRules = {} + let innerColumns = [] + let innerEditRules = {} let {rowNumber, rowSelection, rowExpand, dragSort} = this let expandColumn, seqColumn, checkboxColumn, radioColumn, dragSortColumn if (Array.isArray(columns)) { @@ -422,7 +422,7 @@ rules.push(Object.assign({}, rule, replace)) } } - _innerEditRules[col.key] = rules + innerEditRules[col.key] = rules } // 澶勭悊缁熻鍒� // sum = 姹傚拰銆乤verage = 骞冲潎鍊� @@ -435,7 +435,7 @@ } }) } - _innerColumns.push(col) + innerColumns.push(col) } }) } @@ -445,7 +445,7 @@ if (seqColumn) { col = Object.assign(col, seqColumn, {type: 'seq'}) } - _innerColumns.unshift(col) + innerColumns.unshift(col) } // 鍒ゆ柇鏄惁寮�鍚簡鍙�夋嫨琛� if (rowSelection) { @@ -462,7 +462,7 @@ if (this.rowSelectionType === 'checkbox' && checkboxColumn) { col = Object.assign(col, checkboxColumn, {type: 'checkbox'}) } - _innerColumns.unshift(col) + innerColumns.unshift(col) } // 鏄惁鍙睍寮�琛� if (rowExpand) { @@ -474,7 +474,7 @@ if (expandColumn) { col = Object.assign(col, expandColumn, {type: 'expand'}) } - _innerColumns.unshift(col) + innerColumns.unshift(col) } // 鏄惁鍙嫋鍔ㄦ帓搴� if (dragSort) { @@ -486,11 +486,11 @@ if (dragSortColumn) { col = Object.assign(col, dragSortColumn, {type: JVXETypes.rowDragSort}) } - _innerColumns.unshift(col) + innerColumns.unshift(col) } - this._innerColumns = _innerColumns - this._innerEditRules = _innerEditRules + this.innerColumns = innerColumns + this.innerEditRules = innerEditRules } }, // watch linkageConfig @@ -501,7 +501,7 @@ if (Array.isArray(this.linkageConfig) && this.linkageConfig.length > 0) { // 鑾峰彇鑱斿姩鐨刱ey椤哄簭 let getLcKeys = (key, arr) => { - let col = this._innerColumns.find(col => col.key === key) + let col = this.innerColumns.find(col => col.key === key) if (col) { arr.push(col.key) if (col.linkageKey) { @@ -520,9 +520,9 @@ } keys.forEach(k => configMap.set(k, configItem)) }) - this._innerLinkageConfig = configMap + this.innerLinkageConfig = configMap } else { - this._innerLinkageConfig = null + this.innerLinkageConfig = null } } }, @@ -715,7 +715,12 @@ resetScrollTop(top) { this.scrollTo(null, (top == null || top === '') ? this.scroll.top : top) }, - + clearAllData() { + let {xTable} = this.$refs.vxe.$refs + // issues/2784 + // 鍏堟竻绌烘墍鏈夋暟鎹� + xTable.loadData([]) + }, /** * 鍔犺浇鏂版暟鎹紝鍜� loadData 涓嶅悓鐨勬槸锛岀敤璇ユ柟娉曞姞杞界殑鏁版嵁閮芥槸鐩稿綋浜庣偣鏂板鎸夐挳鏂板鐨勬暟鎹�� * 閫傜敤浜庝笉鏄暟鎹簱閲屾煡鍑烘潵鐨勬病鏈塱d鐨勪复鏃舵暟鎹� @@ -734,8 +739,8 @@ this.$set(data, this.dragSortKey, idx + 1) } // 澶勭悊鑱斿姩鍥炴樉鏁版嵁 - if (this._innerLinkageConfig != null) { - for (let configItem of this._innerLinkageConfig.values()) { + if (this.innerLinkageConfig != null) { + for (let configItem of this.innerLinkageConfig.values()) { this.autoSetLinkageOptionsByData(data, '', configItem, 0) } } @@ -763,6 +768,8 @@ console.warn(`JVxeTable.setValues锛氬繀椤讳紶閫掓暟缁刞) return } + // 鏄惁鏇存柊浜嗘暟鎹� + let updated = false values.forEach((item, idx) => { let {rowKey, values: record} = item let {row} = this.getIfRowById(rowKey) @@ -775,6 +782,7 @@ let oldValue = row[colKey] let newValue = record[colKey] if (newValue !== oldValue) { + updated = true this.$set(row, colKey, newValue) // 瑙﹀彂 valueChange 浜嬩欢 this.trigger('valueChange', { @@ -791,6 +799,14 @@ } }) }) + // 銆恑ssues/3828銆戞暟鎹洿鏂板悗锛岄噸鏂拌绠楃粺璁″垪 + if (updated && this.statistics.has) { + this.$nextTick(async () => { + let {xTable} = this.$refs.vxe.$refs; + await xTable.updateCache(true); + await xTable.updateData(); + }); + } }, /** 鑾峰彇鎵�鏈夌殑鏁版嵁锛屽寘鎷瑅alues銆乨eleteIds */ @@ -1242,10 +1258,10 @@ record[col.key] = createValue({row: record, column, $table: xTable}) } // update-begin--author:sunjianlei---date:20210819------for: 澶勭悊鑱斿姩鍒楋紝鑱斿姩鍒楀彧鑳戒綔鐢ㄤ簬 select 缁勪欢 - if (col.$type === JVXETypes.select && this._innerLinkageConfig != null) { + if (col.$type === JVXETypes.select && this.innerLinkageConfig != null) { // 鍒ゆ柇褰撳墠鍒楁槸鍚︽槸鑱斿姩鍒� - if (this._innerLinkageConfig.has(col.key)) { - let configItem = this._innerLinkageConfig.get(col.key) + if (this.innerLinkageConfig.has(col.key)) { + let configItem = this.innerLinkageConfig.get(col.key) this.getLinkageOptionsAsync(configItem, '') } } @@ -1402,11 +1418,11 @@ {title: '缃戝潃', value: 'url', pattern: /^(?:([A-Za-z]+):)?(\/{0,3})([0-9.\-A-Za-z]+)(?::(\d+))?(?:\/([^?#]*))?(?:\?([^#]*))?(?:#(.*))?$/}, {title: '鐢靛瓙閭欢', value: 'e', pattern: /^([\w]+\.*)([\w]+)@[\w]+\.\w{3}(\.\w{2}|)$/}, {title: '鎵嬫満鍙风爜', value: 'm', pattern: /^1[3456789]\d{9}$/}, - {title: '閭斂缂栫爜', value: 'p', pattern: /^[1-9]\d{5}$/}, + {title: '閭斂缂栫爜', value: 'p', pattern: /^[0-9]{6}$/}, {title: '瀛楁瘝', value: 's', pattern: /^[A-Z|a-z]+$/}, {title: '鏁板瓧', value: 'n', pattern: /^-?\d+(\.?\d+|\d?)$/}, {title: '鏁存暟', value: 'z', pattern: /^-?\d+$/}, - {title: '閲戦', value: 'money', pattern: /^(([1-9][0-9]*)|([0]\.\d{0,2}|[1-9][0-9]*\.\d{0,2}))$/}, + {title: '閲戦', value: 'money', pattern: /^(([1-9][0-9]*)|([0]\.\d{0,2}|[1-9][0-9]*\.\d{0,5}))$/}, ] /** 鏃х増handler杞负鏂扮増Validator */ @@ -1442,4 +1458,4 @@ } } return Promise.resolve() -} \ No newline at end of file +} -- Gitblit v1.9.3