From b694b6a61ba1835a14375d23e2120062ca0acfe5 Mon Sep 17 00:00:00 2001 From: "283591387@qq.com" Date: Sun, 12 Jun 2022 23:05:53 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dvue3=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E4=B8=BB=E4=BB=8E=E8=A1=A8=E7=AC=AC=E4=B8=80=E6=AC=A1=E6=89=93?= =?UTF-8?q?=E5=BC=80=E6=97=B6=E6=89=A7=E8=A1=8C=E4=B8=A4=E6=AC=A1=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/basic/ViewGrid/ViewGrid.vue | 2 +- .../basic/ViewGrid/detailMethods.js | 43 ++++++++++--------- .../components/basic/ViewGrid/ViewGrid.vue | 2 +- .../basic/ViewGrid/detailMethods.js | 43 ++++++++++--------- 4 files changed, 48 insertions(+), 42 deletions(-) diff --git a/Vol.Vue3版本/src/components/basic/ViewGrid/ViewGrid.vue b/Vol.Vue3版本/src/components/basic/ViewGrid/ViewGrid.vue index 1c28d958..5e6026e0 100644 --- a/Vol.Vue3版本/src/components/basic/ViewGrid/ViewGrid.vue +++ b/Vol.Vue3版本/src/components/basic/ViewGrid/ViewGrid.vue @@ -485,7 +485,7 @@ var vueParam = { columns: [], //从表列信息 edit: true, //明细是否可以编辑 single: false, //明细表是否单选 - load: true, + load: false,// delKeys: [], //当编辑时删除当前明细的行主键值 url: '', //从表加载数据的url pagination: { total: 0, size: 100, sortName: '' }, //从表分页配置数据 diff --git a/Vol.Vue3版本/src/components/basic/ViewGrid/detailMethods.js b/Vol.Vue3版本/src/components/basic/ViewGrid/detailMethods.js index 4d014d57..b38fd275 100644 --- a/Vol.Vue3版本/src/components/basic/ViewGrid/detailMethods.js +++ b/Vol.Vue3版本/src/components/basic/ViewGrid/detailMethods.js @@ -1,7 +1,8 @@ //从表方法 let detailMethods = { //查询从表前先做内部处理 - loadInternalDetailTableBefore(param, callBack) {//加载明细表数据之前,需要设定查询的主表的ID + loadInternalDetailTableBefore(param, callBack) { + //加载明细表数据之前,需要设定查询的主表的ID //每次只要加载明细表格数据就重置删除明细的值 if (this.detailOptions.delKeys.length > 0) { this.detailOptions.delKeys = []; @@ -15,26 +16,27 @@ let detailMethods = { detailRowOnChange(row) { this.detailRowChange(row); }, - detailRowChange(row) {//checkbox选中行事件 - + detailRowChange(row) { + //checkbox选中行事件 }, detailRowOnClick({ row, column, event }) { //明细表点击行事件2020.11.07 - this.detailRowClick({ row, column, event }) + this.detailRowClick({ row, column, event }); }, - detailRowClick({ row, column, event }) { - - }, - resetDetailTable(row) {//编辑和查看明细时重置从表数据 + 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] } - if (this.$refs.detail) { - this.$refs.detail.reset(); - this.$refs.detail.load(query); - } + 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() { @@ -47,7 +49,7 @@ let detailMethods = { delRow() { let rows = this.$refs.detail.getSelected(); if (!rows || rows.length == 0) { - return this.$message.error("请选择要删除的行!"); + return this.$message.error('请选择要删除的行!'); } if (!this.delDetailRow(rows)) { return false; @@ -65,15 +67,16 @@ let detailMethods = { rows = this.$refs.detail.delRow(); let key = this.detailOptions.key; //记录删除的行数据 - rows.forEach(x => { + rows.forEach((x) => { if (x.hasOwnProperty(key) && x[key]) { this.detailOptions.delKeys.push(x[key]); } - }) + }); this.updateDetailTableSummaryTotal(); }); }, - updateDetailTableSummaryTotal() { //2021.09.25增加明细表删除、修改时重新计算行数与汇总 + updateDetailTableSummaryTotal() { + //2021.09.25增加明细表删除、修改时重新计算行数与汇总 //2021.12.12增加明细表判断(强制刷新合计时会用到) if (!this.$refs.detail) { return; @@ -82,13 +85,13 @@ let detailMethods = { this.$refs.detail.paginations.total = this.$refs.detail.rowData.length; //重新设置合计 if (this.$refs.detail.summary) { - this.$refs.detail.columns.forEach(column => { + this.$refs.detail.columns.forEach((column) => { if (column.summary) { this.$refs.detail.getInputSummaries(null, null, null, column); } - }) + }); } } -} +}; export default detailMethods; diff --git a/开发版dev/Vue.NetCore/Vol.Vue3版本/src/components/basic/ViewGrid/ViewGrid.vue b/开发版dev/Vue.NetCore/Vol.Vue3版本/src/components/basic/ViewGrid/ViewGrid.vue index 1c28d958..5e6026e0 100644 --- a/开发版dev/Vue.NetCore/Vol.Vue3版本/src/components/basic/ViewGrid/ViewGrid.vue +++ b/开发版dev/Vue.NetCore/Vol.Vue3版本/src/components/basic/ViewGrid/ViewGrid.vue @@ -485,7 +485,7 @@ var vueParam = { columns: [], //从表列信息 edit: true, //明细是否可以编辑 single: false, //明细表是否单选 - load: true, + load: false,// delKeys: [], //当编辑时删除当前明细的行主键值 url: '', //从表加载数据的url pagination: { total: 0, size: 100, sortName: '' }, //从表分页配置数据 diff --git a/开发版dev/Vue.NetCore/Vol.Vue3版本/src/components/basic/ViewGrid/detailMethods.js b/开发版dev/Vue.NetCore/Vol.Vue3版本/src/components/basic/ViewGrid/detailMethods.js index 4d014d57..b38fd275 100644 --- a/开发版dev/Vue.NetCore/Vol.Vue3版本/src/components/basic/ViewGrid/detailMethods.js +++ b/开发版dev/Vue.NetCore/Vol.Vue3版本/src/components/basic/ViewGrid/detailMethods.js @@ -1,7 +1,8 @@ //从表方法 let detailMethods = { //查询从表前先做内部处理 - loadInternalDetailTableBefore(param, callBack) {//加载明细表数据之前,需要设定查询的主表的ID + loadInternalDetailTableBefore(param, callBack) { + //加载明细表数据之前,需要设定查询的主表的ID //每次只要加载明细表格数据就重置删除明细的值 if (this.detailOptions.delKeys.length > 0) { this.detailOptions.delKeys = []; @@ -15,26 +16,27 @@ let detailMethods = { detailRowOnChange(row) { this.detailRowChange(row); }, - detailRowChange(row) {//checkbox选中行事件 - + detailRowChange(row) { + //checkbox选中行事件 }, detailRowOnClick({ row, column, event }) { //明细表点击行事件2020.11.07 - this.detailRowClick({ row, column, event }) + this.detailRowClick({ row, column, event }); }, - detailRowClick({ row, column, event }) { - - }, - resetDetailTable(row) {//编辑和查看明细时重置从表数据 + 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] } - if (this.$refs.detail) { - this.$refs.detail.reset(); - this.$refs.detail.load(query); - } + 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() { @@ -47,7 +49,7 @@ let detailMethods = { delRow() { let rows = this.$refs.detail.getSelected(); if (!rows || rows.length == 0) { - return this.$message.error("请选择要删除的行!"); + return this.$message.error('请选择要删除的行!'); } if (!this.delDetailRow(rows)) { return false; @@ -65,15 +67,16 @@ let detailMethods = { rows = this.$refs.detail.delRow(); let key = this.detailOptions.key; //记录删除的行数据 - rows.forEach(x => { + rows.forEach((x) => { if (x.hasOwnProperty(key) && x[key]) { this.detailOptions.delKeys.push(x[key]); } - }) + }); this.updateDetailTableSummaryTotal(); }); }, - updateDetailTableSummaryTotal() { //2021.09.25增加明细表删除、修改时重新计算行数与汇总 + updateDetailTableSummaryTotal() { + //2021.09.25增加明细表删除、修改时重新计算行数与汇总 //2021.12.12增加明细表判断(强制刷新合计时会用到) if (!this.$refs.detail) { return; @@ -82,13 +85,13 @@ let detailMethods = { this.$refs.detail.paginations.total = this.$refs.detail.rowData.length; //重新设置合计 if (this.$refs.detail.summary) { - this.$refs.detail.columns.forEach(column => { + this.$refs.detail.columns.forEach((column) => { if (column.summary) { this.$refs.detail.getInputSummaries(null, null, null, column); } - }) + }); } } -} +}; export default detailMethods;