From 80f399be7456a6816d3926a3a94dbeac885d3f92 Mon Sep 17 00:00:00 2001 From: sc Date: Thu, 22 Jul 2021 13:40:30 +0800 Subject: [PATCH] =?UTF-8?q?UPD=20scTable=20=E6=94=AF=E6=8C=81=E5=8A=A8?= =?UTF-8?q?=E6=80=81=E5=88=97=E3=80=81=E8=87=AA=E5=AE=9A=E4=B9=89=E5=88=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/scTable/columnSetting.vue | 155 +++++++++++++---------- src/components/scTable/index.vue | 15 +-- src/config/table.js | 19 ++- src/views/template/list/index.vue | 20 +-- 4 files changed, 115 insertions(+), 94 deletions(-) diff --git a/src/components/scTable/columnSetting.vue b/src/components/scTable/columnSetting.vue index 3eca4827..cf5fd0f6 100644 --- a/src/components/scTable/columnSetting.vue +++ b/src/components/scTable/columnSetting.vue @@ -1,102 +1,117 @@ diff --git a/src/components/scTable/index.vue b/src/components/scTable/index.vue index adb6b33c..6b72b069 100644 --- a/src/components/scTable/index.vue +++ b/src/components/scTable/index.vue @@ -10,10 +10,6 @@ {{scope.row[item.prop]}} - @@ -28,11 +24,11 @@
- + - +
@@ -49,6 +45,7 @@ columnSetting }, props: { + tableName: { type: String, default: "" }, apiObj: { type: Object, default: () => {} }, params: { type: Object, default: () => ({}) }, data: { type: Object, default: () => {} }, @@ -165,9 +162,9 @@ this.userColumn = userColumn; this.toggleIndex += 1; }, - removeColumn(index){ - this.$refs.columnSetting.remove(index) - this.toggleIndex += 1; + //自定义列保存 + columnSettingSave(userColumn){ + config.columnSettingSave(this.tableName, userColumn, this.$refs.columnSetting) }, //排序事件 sortChange(obj){ diff --git a/src/config/table.js b/src/config/table.js index cde2bbb9..31264afb 100644 --- a/src/config/table.js +++ b/src/config/table.js @@ -1,4 +1,5 @@ //数据表格配置 +import { ElMessage } from 'element-plus' export default { pageSize: 20, //表格每一页条数 @@ -15,5 +16,21 @@ export default { pageSize: 'pageSize', //规定一页条数字段 prop: 'prop', //规定排序字段名字段 order: 'order' //规定排序规格字段 + }, + /** + * 自定义列保存处理 + * @tableName scTable组件的props->tableName + * @column 用户配置好的列 + * @ref 列配置弹窗组件的ref + */ + columnSettingSave: function (tableName, column, ref) { + ref.isSave = true + setTimeout(()=>{ + ref.isSave = false + ElMessage.success(`${tableName} 保存列配置成功,打开F12控制台查看详细`) + console.log('这里可以保存本地或者远程保存,本文件在@/config/table.js'); + console.log('tableName:', tableName); + console.log('column:', column); + },1000) } -} \ No newline at end of file +} diff --git a/src/views/template/list/index.vue b/src/views/template/list/index.vue index 16af9757..a90d0e6b 100644 --- a/src/views/template/list/index.vue +++ b/src/views/template/list/index.vue @@ -1,10 +1,10 @@