//从表方法 let detailMethods = { //查询从表å‰å…ˆåšå†…éƒ¨å¤„ç† loadInternalDetailTableBefore(param, callBack) { //åŠ è½½æ˜Žç»†è¡¨æ•°æ®ä¹‹å‰,需è¦è®¾å®šæŸ¥è¯¢çš„主表的ID //æ¯æ¬¡åªè¦åŠ è½½æ˜Žç»†è¡¨æ ¼æ•°æ®å°±é‡ç½®åˆ 除明细的值 if (this.detailOptions.delKeys.length > 0) { this.detailOptions.delKeys = []; } let key = this.table.key; if (this.currentRow && this.currentRow.hasOwnProperty(key)) { param.value = this.currentRow[key]; } return this.loadDetailTableBefore(param, callBack); }, detailRowOnChange(row) { this.detailRowChange(row); }, detailRowChange(row) { //checkbox选ä¸è¡Œäº‹ä»¶ }, detailRowOnClick({ row, column, event }) { //明细表点击行事件2020.11.07 this.detailRowClick({ row, column, event }); }, detailRowClick({ row, column, event }) {}, resetDetailTable(row) { //编辑和查看明细时é‡ç½®ä»Žè¡¨æ•°æ® if (!this.detailOptions.columns || this.detailOptions.columns.length == 0) { return; } let key = this.table.key; let query = { value: row ? row[key] : this.currentRow[key] }; this.$nextTick(() => { if (this.$refs.detail) { this.$refs.detail.reset(); this.$refs.detail.load(query); } }); }, //从åŽé¢åŠ è½½ä»Žè¡¨æ•°æ® refreshRow() { this.resetDetailTable(); }, addRow() { this.$refs.detail.addRow({}); this.$refs.detail.edit.rowIndex=-1; this.updateDetailTableSummaryTotal(); }, delRow() { let rows = this.$refs.detail.getSelected(); if (!rows || rows.length == 0) { return this.$message.error('请选择è¦åˆ 除的行!'); } if (!this.delDetailRow(rows)) { return false; } let tigger = false; this.$confirm('确认è¦åˆ 除选择的数æ®å—?', 'è¦å‘Š', { confirmButtonText: '确定', cancelButtonText: 'å–æ¶ˆ', type: 'warning', center: true }).then(() => { if (tigger) return; tigger = true; rows = this.$refs.detail.delRow(); let key = this.detailOptions.key; //è®°å½•åˆ é™¤çš„è¡Œæ•°æ® rows.forEach((x) => { if (x.hasOwnProperty(key) && x[key]) { this.detailOptions.delKeys.push(x[key]); } }); this.updateDetailTableSummaryTotal(); }); }, updateDetailTableSummaryTotal() { //2021.09.25å¢žåŠ æ˜Žç»†è¡¨åˆ é™¤ã€ä¿®æ”¹æ—¶é‡æ–°è®¡ç®—行数与汇总 //2021.12.12å¢žåŠ æ˜Žç»†è¡¨åˆ¤æ–(强制刷新åˆè®¡æ—¶ä¼šç”¨åˆ°) if (!this.$refs.detail) { return; } //åˆ é™¤æˆ–æ–°å¢žè¡Œæ—¶é‡æ–°è®¾ç½®æ˜¾ç¤ºçš„æ€»è¡Œæ•° this.$refs.detail.paginations.total = this.$refs.detail.rowData.length; //釿–°è®¾ç½®åˆè®¡ if (this.$refs.detail.summary) { this.$refs.detail.columns.forEach((column) => { if (column.summary) { this.$refs.detail.getInputSummaries(null, null, null, column); } }); } }, detailSelectable(row, index){ //明细表CheckBox 是å¦å¯ä»¥å‹¾é€‰ return true; } }; export default detailMethods;