diff --git a/src/application/mk/basic-pages/edit.vue b/src/application/mk/basic-pages/edit.vue index f9b7cbb..2759424 100644 --- a/src/application/mk/basic-pages/edit.vue +++ b/src/application/mk/basic-pages/edit.vue @@ -58,19 +58,24 @@ export default { // 返回 back() { - this.isEdit = this.options.isEdit; - // 如果是新增模式,关闭当前页面 - if (!this.isEdit) { - this.$closePage({ - closeRoute: this.options.addPageUrl - }); + if (this.options.addPageUrl) { + this.isEdit = this.options.isEdit; + // 如果是新增模式,关闭当前页面 + if (!this.isEdit) { + this.$closePage({ + closeRoute: this.options.addPageUrl + }); + } else { + this.$closePage({ + closeRoute: this.options.editPageUrl + }); + } + // 打开列表页面 + this.$openPage(this.options.listPageUrl) } else { - this.$closePage({ - closeRoute: this.options.editPageUrl - }); + this.$emit("callback", { success: true }); } - // 打开列表页面 - this.$openPage(this.options.listPageUrl) + }, // 保存 @@ -93,7 +98,7 @@ export default { // postdata = { MesUnit: postdata } } // 格式化提交的数据 - this.$mk.formatFormData({ data: postdata, rules: this.options.formOptions.items }); + this.$mk.formatFormData({ data: postdata, rules: this.options.formOptions.items ,igFields : this.options.saveIgFields }); // 提交数据 @@ -102,33 +107,38 @@ export default { loading: "保存中...", data: postdata, useBigInt: true, - }).then(() => { // 成功回调 + }).then((a) => { // 成功回调 if (afterSave) { afterSave(); } else { - this.$mk.success("保存成功"); + if (a.code == 200) { + this.$mk.success("保存成功"); - this.$emit("afterSave", { data: postdata }); - if (!this.isEdit) { // 如果是新增模式,关闭当前页面 + this.$emit("afterSave", { data: postdata }); + if (!this.isEdit) { // 如果是新增模式,关闭当前页面 + + if (this.options.action_afterSave == "confirm") { + this.$confirm({ + title: '提示', + content: '新增成功,是否继续', + okText: '确认', + cancelText: '返回', + onOk() { + _this.options.formOptions.data = _this.defaultFormData; + }, + onCancel() { + _this.back(); + }, + }); + } else { + this.back(); + } - if (this.options.action_afterSave == "confirm") { - this.$confirm({ - title: '提示', - content: '新增成功,是否继续', - okText: '确认', - cancelText: '返回', - onOk() { - _this.options.formOptions.data = _this.defaultFormData; - }, - onCancel() { - _this.back(); - }, - }); - } else { - this.back(); } - + } else { + this.$mk.error(a.msg); // 显示错误信息 } + } }).catch((a) => { // 失败回调 @@ -152,7 +162,11 @@ export default { // 取消 返回 cancel() { - this.back(); + if (this.options.addPageUrl) { + this.back(); + } else { + this.$emit("callback", {}); + } } }, // 监听属性 diff --git a/src/application/mk/basic-pages/list.vue b/src/application/mk/basic-pages/list.vue index b6b6ffa..19ca3f9 100644 --- a/src/application/mk/basic-pages/list.vue +++ b/src/application/mk/basic-pages/list.vue @@ -160,7 +160,7 @@ export default { let item = this.options.exportColumns[i]; var v = ""; if (item.valueGetter) { - v = item.valueGetter({ row: row,column:item }); + v = item.valueGetter({ row: row, column: item }); } else if (item.dataField) { v = row[item.dataField]; @@ -348,7 +348,27 @@ export default { toolbarClick(e) { if (e.name == "add") { // 如果是添加 - this.$openPage(this.options.addPageUrl); // 打开页面 + if (this.options.editPage) { + this.$mk.dialog.open({ + page: this.options.editPage, + title: this.options.editPageTitle, + pageOptions: { + }, + width: this.$mk.getWindowSize().width * 0.9, + height: this.$mk.getWindowSize().height * 0.9, + dataId: 0, + callback:({success})=>{ + if(success){ + this.$refs.xGrid.commitProxy('query') + } + } + }); + } else { + this.$openPage(this.options.addPageUrl); // 打开页面 + } + + + } }, @@ -437,20 +457,45 @@ export default { if (editPage != null) { editPage.beforeTabClose().then(() => { this.$closePage(this.options.editPageUrl); - this.$openPage(this.options.editPageUrl + row[this.options.keyName]); // 打开页面 + this.showPageEdit( row[this.options.keyName]); // 打开页面 }); } else { - this.$openPage(this.options.editPageUrl + row[this.options.keyName]); // 打开页面 + this.showPageEdit(row[this.options.keyName]); // 打开页面 } } else { - this.$openPage(this.options.editPageUrl + row[this.options.keyName]); // 打开页面 + this.showPageEdit(row[this.options.keyName]); // 打开页面 } }, + + showPageEdit(dataId){ + + if( this.options.editPage){ + this.$mk.dialog.open({ + page: this.options.editPage, + title: this.options.editPageTitle, + pageOptions: { + }, + width: this.$mk.getWindowSize().width * 0.9, + height: this.$mk.getWindowSize().height * 0.9, + dataId: dataId, + callback:({success})=>{ + if(success){ + this.$refs.xGrid.commitProxy('query') + } + } + }); + }else{ + this.$openPage(this.options.editPageUrl + dataId); + } + + }, + + // 删除 pageDelete(row) { let rows = row ? [row] : this.$refs.xGrid.getCheckboxRecords(); // 获取选中行 @@ -466,7 +511,7 @@ export default { let delParms = {}; let url = this.options.actions.delete; - + if (url.indexOf('batchDelete') != -1) { delParms = { @@ -505,10 +550,10 @@ export default { this.$refs.xGrid.commitProxy('query') // 提交搜索 }, - gridReload(){ + gridReload() { this.$refs.xGrid.commitProxy('query') }, - + getConfirmData() { let rows = this.$refs.xGrid.getCheckboxRecords(); return rows; @@ -529,7 +574,8 @@ export default { .gridPanel { height: calc(100vh - 220px); -} +} + .oplinks svg { width: 22px; height: 22px; diff --git a/src/application/mk/components/dialog/dialog.vue b/src/application/mk/components/dialog/dialog.vue index 9e8cdfe..0a300fd 100644 --- a/src/application/mk/components/dialog/dialog.vue +++ b/src/application/mk/components/dialog/dialog.vue @@ -68,6 +68,8 @@ export default { // 处理回调 handleCallback(e) { + + console.log(e); const { callback } = this; // 判断是否有回调函数 if (callback) { diff --git a/src/application/mk/components/editors/MkFormDataSelector.vue b/src/application/mk/components/editors/MkFormDataSelector.vue index 1f94755..92f12a6 100644 --- a/src/application/mk/components/editors/MkFormDataSelector.vue +++ b/src/application/mk/components/editors/MkFormDataSelector.vue @@ -2,7 +2,7 @@