diff --git a/src/components/xAvatar/index.vue b/src/components/xAvatar/index.vue index 1005535..403a779 100644 --- a/src/components/xAvatar/index.vue +++ b/src/components/xAvatar/index.vue @@ -11,7 +11,7 @@ - + diff --git a/src/components/xFilterBar/index.vue b/src/components/xFilterBar/index.vue index a22c498..923b2c0 100644 --- a/src/components/xFilterBar/index.vue +++ b/src/components/xFilterBar/index.vue @@ -299,6 +299,7 @@ .el-form--inline .el-form-item{ margin-top: 10px; display: revert; + width: auto !important; } } diff --git a/src/components/xTable/columnItem.vue b/src/components/xTable/columnItem.vue index 5e9c7f7..72f2468 100644 --- a/src/components/xTable/columnItem.vue +++ b/src/components/xTable/columnItem.vue @@ -13,14 +13,34 @@

- - + +

- - {{ op.label }} - +

@@ -46,17 +66,22 @@ }, methods: { handleClick(row, item){ + // 打开编辑层 if (item.update && (item.update.url || item.update.name)) { this.$emit('xtableupdate', row, { name:item.update.name || item.name, - remoteurl: item.update.url || 'system/table/getUpdate?name='+item.update.name - }, item.update.type || 'dialog'); + remoteurl: item.update.url || 'table/getUpdate?name='+item.update.name + }, item.update.type || 'dialog', 'update'); return ; } // 打开表格 - if (item.update && (item.update.url || item.update.name)) { + if (item.table && (item.table.url || item.table.name)) { + this.$emit('xtableupdate', row, { + name:item.table.name || item.name, + remoteurl: item.table.url || 'table/get?name='+item.table.name + }, item.table.type || 'dialog', 'table'); return ; } }, diff --git a/src/components/xTable/index.vue b/src/components/xTable/index.vue index b739c47..2d9767a 100644 --- a/src/components/xTable/index.vue +++ b/src/components/xTable/index.vue @@ -59,6 +59,7 @@ + @@ -153,6 +154,7 @@ column: [], customColumnShow: false, tableUpdateKey: '', + xtabledialog: '', summary: {}, visibleInfo: {}, config: { @@ -181,10 +183,19 @@ this.isActivat = false; }, methods: { - xtableupdate(row, options=[], type){ - this.tableUpdateKey = options.name || this.name; + xtableupdate(row, options=[], componenttype, type){ + + if (type=='update') { + this.tableUpdateKey = options.name || this.name; + this.$nextTick(() => { + this.$refs.xtableupdate.open().getComponentType(componenttype).setData(row).setConfig(options); + }) + return ; + } + + this.xtabledialog = options.name || this.name; this.$nextTick(() => { - this.$refs.xtableupdate.open().getComponentType(type).setData(row).setConfig(options); + this.$refs.xtabledialog.open().getComponentType(componenttype).setConfig(options); }) }, //获取数据 diff --git a/src/components/xTabledialog/index.vue b/src/components/xTabledialog/index.vue index 3029226..53dd076 100644 --- a/src/components/xTabledialog/index.vue +++ b/src/components/xTabledialog/index.vue @@ -9,11 +9,11 @@

- - - - - -
@@ -70,12 +65,17 @@ }, data: {}, style: {}, + page: { + total:0, + scPageSize:0, + currentPage:1, + }, config: { column : this.column, labelPosition : "right", labelWidth : "120px", size : "medium", - url:'', + api:'', submitname:'保存' }, size:900, @@ -87,7 +87,12 @@ watch: { column(){ this.config.column = this.column; - } + }, + '$refs.table.currentPage': function(newVal, oldVal) { + // 当this.$refs.table.total发生变化时,会执行这个回调函数 + console.log('this.$refs.table.total发生了变化', newVal, oldVal); + // 这里可以进行你的逻辑处理 + } }, computed: { componentType() { @@ -119,11 +124,12 @@ this.loading = true; setTimeout(async ()=>{ var res = await this.$http.get(this.config.remoteurl, {[this.key]: this.data[this.key]}) + if (res.code == 200 ) { this.loading = false; - if (res.data.config) { - Object.assign(this.config, res.data.config); + if (res.data) { + Object.assign(this.config, res.data); } if (res.data.data) { @@ -145,6 +151,12 @@ if (res.data.style) { this.style = res.data.style; } + + setTimeout(() => { + this.page.total = this.$refs.table.total; + this.page.scPageSize = this.$refs.table.scPageSize; + },100); + return; } this.$alert(res.message, "提示", {type: 'error'}); diff --git a/src/views/system/table/index.vue b/src/views/system/table/index.vue index 3dc03cd..ee3fa1f 100644 --- a/src/views/system/table/index.vue +++ b/src/views/system/table/index.vue @@ -114,7 +114,6 @@ this.$api.system.table.get(this.tablename, { cache: this.$route.meta.tablecache || 0 }).then((res) => { if (res.code == 200) { Object.assign(this.$data, res.data); - if (res.data.tabsdefaultvalue && res.data.tabskey) { this.search[res.data.tabskey] = res.data.tabsdefaultvalue }