Quellcode durchsuchen

feat: 页面顶部流程路线改为5步 — 签约→进件→开通→充值→转账

- currentStep 基于 sign_status/onboard_status/account_book_id/balance 推进
- 每步有独立描述: 待签约/审核中/已通过/待开通/已开通/未充值
alphaH vor 1 Tag
Ursprung
Commit
0f4e896672

+ 22 - 6
frontend/src/views/module_payment/account/components/AccountOverview.vue

@@ -9,8 +9,9 @@
       </template>
 
       <el-steps :active="currentStep" align-center finish-status="success" class="mb-6">
-        <el-step title="转账授权签约 & 开通资金账户" :description="authorizeStatusText" />
-        <!-- <el-step title="开通资金账户" :description="accountStatusText" /> -->
+        <el-step title="签约授权" :description="stepSignDesc" />
+        <el-step title="提交进件" :description="stepOnboardDesc" />
+        <el-step title="开通记账本" :description="stepAccountDesc" />
         <el-step title="账户充值" :description="depositStatusText" />
         <el-step title="进行转账" />
       </el-steps>
@@ -372,11 +373,26 @@ const authorizeStatus = computed(() =>
     ? "AUTHORIZED" : "PENDING"
 );
 
+const stepSignDesc = computed(() =>
+  accountData.value.sign_status === "SIGNED" ? "已签约" : "待签约"
+);
+const stepOnboardDesc = computed(() => {
+  if (!accountData.value.sign_status || accountData.value.sign_status !== "SIGNED") return "需先签约";
+  if (accountData.value.onboard_status === "VALID") return "已通过";
+  if (accountData.value.onboard_status === "PENDING") return "审核中";
+  if (accountData.value.onboard_status === "INVALID") return "未通过";
+  return "待提交";
+});
+const stepAccountDesc = computed(() =>
+  accountData.value.account_book_id ? "已开通" : "待开通"
+);
+
 const currentStep = computed(() => {
-  if (authorizeStatus.value !== "AUTHORIZED") return 0;
-  // if (!accountData.value.account_book_id) return 1;
-  if (!accountData.value.balance || accountData.value.balance <= 0) return 2;
-  return 3;
+  if (!accountData.value.sign_status || accountData.value.sign_status !== "SIGNED") return 0;
+  if (!accountData.value.onboard_status || accountData.value.onboard_status !== "VALID") return 1;
+  if (!accountData.value.account_book_id) return 2;
+  if (!accountData.value.balance || accountData.value.balance <= 0) return 3;
+  return 4;
 });
 
 const authorizeStatusText = computed(() => {