From 3e817b4e2c158feabb79f718ada14f47ae2770e6 Mon Sep 17 00:00:00 2001 From: weizong song Date: Sat, 15 Aug 2026 01:03:18 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=81=E6=9F=A5=E6=9F=A5=E4=BC=81=E4=B8=9A?= =?UTF-8?q?=E6=88=B7=E8=AE=BE=E7=BD=AE=E9=9D=99=E6=80=81=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E5=8D=A0=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/book/index.js | 7 +- src/api/qccEnterpriseAccount/index.js | 46 ++++++ src/views/book/components/checkBook.vue | 47 ++++-- src/views/qccEnterpriseAccount/index.vue | 174 +++++++++++++++++++++++ 4 files changed, 256 insertions(+), 18 deletions(-) create mode 100644 src/api/qccEnterpriseAccount/index.js create mode 100644 src/views/qccEnterpriseAccount/index.vue diff --git a/src/api/book/index.js b/src/api/book/index.js index 3e90588..3981a9d 100644 --- a/src/api/book/index.js +++ b/src/api/book/index.js @@ -55,13 +55,14 @@ export function destroy(params) { }) } -export function retry(params) { +export function retry(params, config = {}) { return request({ method: "get", url: "/api/admin/appointments/retry-appointment", - params + params, + headers: config.headers, + isLoading: config.isLoading }) } - diff --git a/src/api/qccEnterpriseAccount/index.js b/src/api/qccEnterpriseAccount/index.js new file mode 100644 index 0000000..ee291e2 --- /dev/null +++ b/src/api/qccEnterpriseAccount/index.js @@ -0,0 +1,46 @@ +import request from '@/utils/request' + +/** + * 企查查企业户准入模块。 + * + * 后端接口尚未实现时,此文件即为前后端联调契约: + * - candidates: 可发起准入的企业库候选项 + * - enrollments: 准入单列表/状态筛选 + * - submit: 创建并提交准入单 + * - reconcile: 向元禾/企查查查询单条真实状态 + */ +export function candidates(params, isLoading = false) { + return request({ + method: 'get', + url: '/api/admin/qcc-enterprise-enrollments/candidates', + params, + isLoading + }) +} + +export function index(params, isLoading = false) { + return request({ + method: 'get', + url: '/api/admin/qcc-enterprise-enrollments/index', + params, + isLoading + }) +} + +export function submit(data) { + return request({ + method: 'post', + url: '/api/admin/qcc-enterprise-enrollments/submit', + data, + isLoading: true + }) +} + +export function reconcile(data) { + return request({ + method: 'post', + url: '/api/admin/qcc-enterprise-enrollments/reconcile', + data, + isLoading: true + }) +} diff --git a/src/views/book/components/checkBook.vue b/src/views/book/components/checkBook.vue index b2808af..ff822a4 100644 --- a/src/views/book/components/checkBook.vue +++ b/src/views/book/components/checkBook.vue @@ -80,7 +80,7 @@
第三方记录
- 重新预约 + 重新预约
@@ -174,9 +174,10 @@ data() { return { isShow: false, - type: 'show', - id: '', - submitObj: {}, + type: 'show', + id: '', + retrying: false, + submitObj: {}, thirdArr: [], baseUrl: `${process.env.VUE_APP_BASE_API}`, form: { @@ -220,16 +221,31 @@ this.$emit('refresh') }) }, - sendBook(id) { - retry({ - id: id - }).then(res => { - this.$message({ - type: 'success', - message: '重新发送预约成功' - }) - this.getDetail() - }) + async sendBook(id) { + const traceId = `retry-${id}-${Date.now()}-${Math.random().toString(36).slice(2, 8)}` + this.retrying = true + try { + await retry({ + id: id + }, { + headers: { + 'X-Retry-Trace-Id': traceId + }, + isLoading: true + }) + this.$message({ + type: 'success', + message: `已提交重新预约(追踪号:${traceId})` + }) + await this.getDetail() + } catch (error) { + const message = error.response && error.response.data && error.response.data.errmsg + ? error.response.data.errmsg + : (error.message || '请求未收到响应') + this.$message.error(`重新预约失败:${message}(追踪号:${traceId})`) + } finally { + this.retrying = false + } }, formatHH(val) { if (val) { @@ -253,7 +269,8 @@ if (newVal) { this.getDetail() } else { - this.id = '' + this.id = '' + this.retrying = false this.submitObj = {} this.$refs['dialog'].reset() } diff --git a/src/views/qccEnterpriseAccount/index.vue b/src/views/qccEnterpriseAccount/index.vue new file mode 100644 index 0000000..65271d9 --- /dev/null +++ b/src/views/qccEnterpriseAccount/index.vue @@ -0,0 +1,174 @@ + + + + +