From 9dc580ddd21504701a85ab5e53651cc05be33ce6 Mon Sep 17 00:00:00 2001 From: lb Date: Mon, 28 Aug 2023 13:30:29 +0800 Subject: [PATCH] update --- .env.dev | 4 ++-- src/components/DialogForm/index.vue | 17 +++++++++++++---- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/.env.dev b/.env.dev index dc6c5365..43076e63 100644 --- a/.env.dev +++ b/.env.dev @@ -5,9 +5,9 @@ ENV = 'development' VUE_APP_TITLE = 芋道管理系统 # 芋道管理系统/开发环境 -# VUE_APP_BASE_API = 'http://192.168.1.49:48080' +VUE_APP_BASE_API = 'http://192.168.1.49:48080' # VUE_APP_BASE_API = 'http://192.168.1.8:48080' -VUE_APP_BASE_API = 'http://192.168.0.33:48080' +# VUE_APP_BASE_API = 'http://192.168.0.33:48080' # VUE_APP_BASE_API = 'http://192.168.1.188:48080' # 路由懒加载 diff --git a/src/components/DialogForm/index.vue b/src/components/DialogForm/index.vue index 238d7823..03b58d7e 100644 --- a/src/components/DialogForm/index.vue +++ b/src/components/DialogForm/index.vue @@ -114,6 +114,7 @@ export default { formLoading: true, optionListOf: {}, uploadedFileList: [], + dataLoaded: false, }; }, computed: { @@ -125,7 +126,8 @@ export default { }, form: { get() { - return this.dataForm; + if (this.dataLoaded) return this.dataForm; + else return {} }, set(val) { console.log('set form', val); @@ -162,7 +164,7 @@ export default { return response.data; }, async handleOptions(trigger = 'monuted') { - console.log("[dialogForm:handleOptions]") + console.log('[dialogForm:handleOptions]'); const promiseList = []; this.rows.forEach((cols) => { cols.forEach((opt) => { @@ -176,11 +178,12 @@ export default { } else if (opt.url) { // 如果有 depends,则暂时先不获取,注册一个watcher if (opt.depends) { - console.log("[handleOptions] setting watch") + console.log('[handleOptions] setting watch'); this.$watch( () => this.form[opt.depends], (id) => { - console.log(opt.depends, 'changed') + console.log('<', opt.depends, '>', 'changed', id); + if (id == null) return; // 清空原有选项 this.form[opt.prop] = null; // 获取新的选项 @@ -196,6 +199,9 @@ export default { })) ); }); + }, + { + immediate: true, } ); return; @@ -231,6 +237,8 @@ export default { }); }); + console.log('[dialogForm:handleOptions] done!'); + // 如果是 watch 触发的,不需要执行进一步的请求 if (trigger == 'watch') { this.formLoading = false; @@ -239,6 +247,7 @@ export default { try { await Promise.all(promiseList.map((fn) => fn())); this.formLoading = false; + this.dataLoaded = true; // console.log("[dialogForm:handleOptions:optionListOf]", this.optionListOf) } catch (error) { console.log('[dialogForm:handleOptions:error]', error);