From 16c8b7f024bedd117f7757d49f5586492156d35b Mon Sep 17 00:00:00 2001 From: wxz Date: Thu, 13 Jul 2023 09:16:01 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E5=85=9A=E7=BB=84=E7=BB=87=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E3=80=911?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/js/epmet-result-resolver.js | 78 ++++ src/js/result_data_resolve.js | 26 -- .../communityParty/partyOrg/create.vue | 437 ++++++++++++++++++ .../communityParty/partyOrg/orgTree.vue | 400 ++++++++++++++++ .../fuwuzhaoren/personList.vue | 18 +- 5 files changed, 925 insertions(+), 34 deletions(-) create mode 100644 src/js/epmet-result-resolver.js delete mode 100644 src/js/result_data_resolve.js create mode 100644 src/views/modules/communityParty/partyOrg/create.vue create mode 100644 src/views/modules/communityParty/partyOrg/orgTree.vue diff --git a/src/js/epmet-result-resolver.js b/src/js/epmet-result-resolver.js new file mode 100644 index 000000000..0b363fd9f --- /dev/null +++ b/src/js/epmet-result-resolver.js @@ -0,0 +1,78 @@ +/** + * 解析epmet后台返回结果,并且执行传入的逻辑 + * @param success_processor 正常返回执行的函数,代表要对data做何种操作。第一个参数是 + * @param fail_processor 异常返回执行的函数,代表要对data做何种操作 + * @param result 后台返回的结果json对象 + */ + + +export default function EpmetResultResolver(env) { + + this._env = env; + this.success_processor = null; + + // 成功回调 + this.success = (success_processor) => { + this.success_processor = success_processor; + return this; + } + + // 失败回调 + this.fail = (fail_processor) => { + this.fail_processor = fail_processor; + return this; + } + + // 执行解析逻辑 + this.parse = (result) => { + const { data, code, msg } = result + + // 失败 + if (code !== 0) { + // 表明后台返回错误 + + // 首先调用失败兜底函数 + if (this.fail_processor) { + this.fail_processor(); + } + + // 弹出消息 + if (code < 8000) { + this._env.$message.error('服务器开小差了...') + } else { + this._env.$message.error(msg) + } + + return; + } + + // 成功 + if (this.success_processor) { + // 后台没有返回错误,正常执行 + this.success_processor(data) + } + } + + // processEpmetResult + // 处理result的函数 + // this.processEpmetResult = (success_processor, fail_processor, result) => { + // const { data, code, msg } = result + // if (code !== 0) { + // // 表明后台返回错误 + // fail_processor(); + // if (code < 8000) { + // this.$message.error('服务器开小差了...') + // } else { + // this.$message.error(msg) + // } + // return + // } + // + // if (success_processor) { + // // 后台没有返回错误,正常执行 + // success_processor(data) + // } + // } + + return this; +} diff --git a/src/js/result_data_resolve.js b/src/js/result_data_resolve.js deleted file mode 100644 index 679482d08..000000000 --- a/src/js/result_data_resolve.js +++ /dev/null @@ -1,26 +0,0 @@ -/** - * 解析epmet后台返回结果,并且执行传入的逻辑 - * @param success_processor 正常返回执行的函数,代表要对data做何种操作 - * @param fail_processor 异常返回执行的函数,代表要对data做何种操作 - * @param result 后台返回的结果json对象 - */ -const processResult = (success_processor, fail_processor, result) => { - const { data, code, msg } = result - if (code !== 0) { - // 表明后台返回错误 - if (code < 8000) { - this.$message.error('服务器开小差了...') - } else { - this.$message.error(msg) - } - fail_processor() - return - } - - if (success_processor) { - // 后台没有返回错误,正常执行 - success_processor(data) - } -} - -export const processEpmetResult = processResult diff --git a/src/views/modules/communityParty/partyOrg/create.vue b/src/views/modules/communityParty/partyOrg/create.vue new file mode 100644 index 000000000..57b6441ff --- /dev/null +++ b/src/views/modules/communityParty/partyOrg/create.vue @@ -0,0 +1,437 @@ + + + + + + diff --git a/src/views/modules/communityParty/partyOrg/orgTree.vue b/src/views/modules/communityParty/partyOrg/orgTree.vue new file mode 100644 index 000000000..f605f1176 --- /dev/null +++ b/src/views/modules/communityParty/partyOrg/orgTree.vue @@ -0,0 +1,400 @@ + + + + + diff --git a/src/views/modules/communityService/fuwuzhaoren/personList.vue b/src/views/modules/communityService/fuwuzhaoren/personList.vue index 397824de2..4fc8242ea 100644 --- a/src/views/modules/communityService/fuwuzhaoren/personList.vue +++ b/src/views/modules/communityService/fuwuzhaoren/personList.vue @@ -183,11 +183,12 @@ import { requestPost } from '@/js/dai/request' import { requestGet } from '@/js/dai/request' -import { processEpmetResult } from '@/js/result_data_resolve' +import EpmetResultResolver from '@/js/epmet-result-resolver' import nextTick from 'dai-js/tools/nextTick' export default { mounted () { + this.epmetResultResolver = new EpmetResultResolver(this); this.searchFormData.serviceId = this.serviceId; this.initOrgTree(); this.handleSearch(); @@ -234,6 +235,7 @@ export default { //表格数据 selectedPersonListIds: [], // 选中的名单id列表 personList: [], // 找到的人员名单 + epmetResultResolver: null } }, methods: { @@ -264,12 +266,12 @@ export default { this.searchFormData.tagId = this.tagId let result = await requestPost(url, this.searchFormData) - processEpmetResult((data)=> { - debugger - this.personList = data.list; - this.total = data.total; - }, null, result) - + this.epmetResultResolver + .success((data) => { + this.personList = data.list; + this.total = data.total; + }) + .parse(result); }, /** @@ -285,7 +287,7 @@ export default { const rst = await requestPost(url, params); - processEpmetResult(null, null, rst); + this.epmetResultResolver.parse(result); // 重新加载列表 this.handleSearch();