@@ -128,10 +139,26 @@
>
{{ operation.label }}
+
+ {{ hcsRepushingId === row.id ? '推送中…' : '推送合规' }}
+
+
+ 合规对账
+
删除
+
+
import('@/views/vehicle/customer-archive.vue')),
+ HcsReconDialog: defineAsyncComponent(() => import('./components/hcs-recon-dialog.vue')),
ChangeRecordDetailDialog,
ElImageViewer,
OpenFileViewer,
@@ -1107,6 +1136,10 @@ export default {
{ label: '高风险', value: 'high', statKey: 'high' },
{ label: '中风险', value: 'medium', statKey: 'medium' },
],
+ // 合规(HCS)推送/对账状态
+ hcsRepushingId: null,
+ hcsReconVisible: false,
+ hcsReconLoader: null,
page: {
pageSize: 10,
pageSizes: [10, 20, 50, 100],
@@ -1578,6 +1611,56 @@ export default {
return this.canOperation(operation, row);
});
},
+ // ==================== 合规(HCS)推送/对账(照“同步金蝶”按钮模式) ====================
+ hcsSyncLabel(value) {
+ return { unsynced: '待推送', synced: '已推送', failed: '推送失败' }[value] || value;
+ },
+ hcsSyncTagType(value) {
+ return { unsynced: 'info', synced: 'success', failed: 'danger' }[value] || 'info';
+ },
+ canHcsRepush(row) {
+ return (
+ !this.readonlyScope &&
+ ['approved', 'change_approved'].includes(row.approvalStatus) &&
+ row.hcsSyncStatus !== 'synced'
+ );
+ },
+ canHcsRecon(row) {
+ return ['approved', 'change_approved'].includes(row.approvalStatus);
+ },
+ handleHcsRepush(row) {
+ if (this.hcsRepushingId) return;
+ this.$confirm('确定推送该数据到合同合规系统?', '提示', {
+ confirmButtonText: '确定',
+ cancelButtonText: '取消',
+ type: 'warning',
+ }).then(() => {
+ this.hcsRepushingId = row.id;
+ hcsRepush('project', row.id)
+ .then(res => {
+ if (res.data?.success === false) {
+ this.$message.error(res.data?.msg || '推送合规失败');
+ return;
+ }
+ this.$message.success(res.data?.data || '推送合规成功');
+ this.onLoad(this.page, this.query);
+ })
+ .catch(error => {
+ this.$message.error(error?.response?.data?.msg || '推送合规失败');
+ })
+ .finally(() => {
+ this.hcsRepushingId = null;
+ });
+ });
+ },
+ openHcsRecon(row) {
+ if (!row.projectCode) {
+ this.$message.warning('该项目无项目编号,无法对账');
+ return;
+ }
+ this.hcsReconLoader = () => reconProject(row.projectCode);
+ this.hcsReconVisible = true;
+ },
canOperation(operation, row) {
const permission = operation.permission || `${this.config.permission}_${operation.action}`;
if (!this.hasPermission(permission) || this.readonlyScope || row.readonly) return false;
From 8640238cbef58a39b7f1393d733328f5f9c80ee0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=88=98=E6=B3=89=E4=BD=B3?= <1107186916@qq.com>
Date: Sun, 11 Oct 2026 16:27:09 +0800
Subject: [PATCH 02/27] =?UTF-8?q?:fire:=20=E7=A7=BB=E9=99=A4=E5=90=88?=
=?UTF-8?q?=E8=A7=84=E5=AF=B9=E8=B4=A6=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/business/hcs.js | 24 ---
.../components/hcs-contract-panel.vue | 15 +-
.../business/components/hcs-recon-dialog.vue | 147 ------------------
src/views/business/contract-manage.vue | 24 +--
src/views/business/project-apply.vue | 27 +---
5 files changed, 4 insertions(+), 233 deletions(-)
delete mode 100644 src/views/business/components/hcs-recon-dialog.vue
diff --git a/src/api/business/hcs.js b/src/api/business/hcs.js
index 4dac778..7039307 100644
--- a/src/api/business/hcs.js
+++ b/src/api/business/hcs.js
@@ -48,30 +48,6 @@ export const downloadAttachment = (fdId, name) =>
timeout: 120000,
});
-export const reconProject = projectCode =>
- request({
- url: `${baseUrl}/recon/project`,
- method: 'get',
- params: { projectCode },
- timeout: 30000,
- });
-
-export const reconContract = contractNo =>
- request({
- url: `${baseUrl}/recon/contract`,
- method: 'get',
- params: { contractNo },
- timeout: 30000,
- });
-
-export const reconContractDetail = params =>
- request({
- url: `${baseUrl}/recon/contract/detail`,
- method: 'get',
- params,
- timeout: 30000,
- });
-
export const applyContractSpec = data =>
request({
url: `${baseUrl}/contract/spec-apply`,
diff --git a/src/views/business/components/hcs-contract-panel.vue b/src/views/business/components/hcs-contract-panel.vue
index e0e7f47..2a3b1f3 100644
--- a/src/views/business/components/hcs-contract-panel.vue
+++ b/src/views/business/components/hcs-contract-panel.vue
@@ -20,7 +20,6 @@
>
确认特批结果
- 合规对账
@@ -103,12 +102,6 @@
取消
-
-