From 051c48a0048ddb7d94d0b398a07d8aecbaabde91 Mon Sep 17 00:00:00 2001
From: liangzai <2440983361@qq.com>
Date: Sun, 26 Jul 2026 22:25:01 +0800
Subject: [PATCH] f
---
src/api/index.js | 3 +
src/pages/admin/users/index.vue | 109 ++++++++++++++++++++++++++++++++
2 files changed, 112 insertions(+)
diff --git a/src/api/index.js b/src/api/index.js
index 4607858..9e4b2da 100644
--- a/src/api/index.js
+++ b/src/api/index.js
@@ -220,6 +220,9 @@ export const certificationApi = {
// 管理员代用户完成认证(暂不关联合同)
adminCompleteWithoutContract: (data) => request.post('/certifications/admin/complete-without-contract', data),
+ // 管理员触发重新认证(回退到提交企业信息,保留钱包/API Key/历史记录)
+ adminResetForResignContract: (data) => request.post('/certifications/admin/reset-for-resign-contract', data),
+
// 管理端企业审核:列表(按状态机 certification_status 筛选)、详情、通过、拒绝、按用户变更状态
adminListSubmitRecords: (params) => request.get('/certifications/admin/submit-records', { params }),
adminGetSubmitRecord: (id) => request.get(`/certifications/admin/submit-records/${id}`),
diff --git a/src/pages/admin/users/index.vue b/src/pages/admin/users/index.vue
index 9b3d63c..a1938f1 100644
--- a/src/pages/admin/users/index.vue
+++ b/src/pages/admin/users/index.vue
@@ -543,6 +543,15 @@
暂无合同信息
+
+
+
+ 重新认证
+
+
+ 回退到填写企业信息,钱包 / API Key / 历史记录不受影响
+
+
@@ -699,6 +708,59 @@
+
+
+
+
+
+
+
+ 用户手机:
+ {{ formatPhone(selectedUser.phone) }}
+
+
+ 企业名称:
+ {{ selectedUser.enterprise_info?.company_name || '-' }}
+
+
+
+
+
+
+
+
+
+
+
+ 取消
+
+
+ 确认重新认证
+
+
+
+
@@ -745,6 +807,20 @@ const adminCertForm = reactive({
reason: ''
})
+// 管理员重新签合同
+const resignContractDialogVisible = ref(false)
+const resignContractLoading = ref(false)
+const resignContractFormRef = ref(null)
+const resignContractForm = reactive({
+ reason: ''
+})
+const resignContractRules = {
+ reason: [
+ { required: true, message: '请填写操作原因', trigger: 'blur' },
+ { min: 2, max: 500, message: '原因长度需在 2-500 字之间', trigger: 'blur' }
+ ]
+}
+
const adminCertRules = {
company_name: [{ required: true, message: '请输入企业名称', trigger: 'blur' }],
unified_social_code: [{ required: true, message: '请输入统一社会信用代码', trigger: 'blur' }],
@@ -999,6 +1075,39 @@ const handleSubmitAdminCert = async () => {
}
}
+// 打开重新认证弹窗
+const openResignContractDialog = () => {
+ if (!selectedUser.value?.is_certified) {
+ ElMessage.warning('仅已认证用户可重新认证')
+ return
+ }
+ resignContractForm.reason = ''
+ resignContractDialogVisible.value = true
+}
+
+// 提交重新认证
+const handleSubmitResignContract = async () => {
+ if (!resignContractFormRef.value || !selectedUser.value) return
+ try {
+ await resignContractFormRef.value.validate()
+ resignContractLoading.value = true
+ await certificationApi.adminResetForResignContract({
+ user_id: selectedUser.value.id,
+ reason: resignContractForm.reason
+ })
+ ElMessage.success('已重置为重新认证,请通知用户前往企业入驻重新填写企业信息')
+ resignContractDialogVisible.value = false
+ userDialogVisible.value = false
+ await loadUsers()
+ await loadStats()
+ } catch (error) {
+ console.error('重新认证失败:', error)
+ ElMessage.error(error?.response?.data?.message || '重新认证失败')
+ } finally {
+ resignContractLoading.value = false
+ }
+}
+
// 查看合同
const handleViewContract = (contract) => {
if (contract.contract_file_url) {