From c2463c02a17f92df55ec77ed2da3fb724290c072 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期一, 20 十月 2025 17:34:30 +0800
Subject: [PATCH] fix: bug

---
 apps/bMiniApp/src/subpackages/payrollManage/payrollManage/InnerPage.vue |   15 ++++
 packages/components/src/List/IncomeDetailListItem.vue                   |    6 -
 apps/cMiniApp/src/constants/router.ts                                   |    2 
 apps/cMiniApp/src/hooks/user.ts                                         |   10 +++
 packages/services/apiV2/enterpriseEmployee.ts                           |   18 ++++++
 packages/services/apiV2/typings.d.ts                                    |   53 +++++++++++++++++
 apps/cMiniApp/src/subpackages/wallet/mineWallet/InnerPage.vue           |   25 ++++++++
 apps/cMiniApp/src/subpackages/wallet/unboundAlipay/InnerPage.vue        |   35 +----------
 apps/cMiniApp/src/pages/mine/index.vue                                  |    2 
 9 files changed, 126 insertions(+), 40 deletions(-)

diff --git a/apps/bMiniApp/src/subpackages/payrollManage/payrollManage/InnerPage.vue b/apps/bMiniApp/src/subpackages/payrollManage/payrollManage/InnerPage.vue
index 317f62a..ca0f4ac 100644
--- a/apps/bMiniApp/src/subpackages/payrollManage/payrollManage/InnerPage.vue
+++ b/apps/bMiniApp/src/subpackages/payrollManage/payrollManage/InnerPage.vue
@@ -22,7 +22,7 @@
     ></ProTabPane>
   </ProTabs>
   <InfiniteLoading
-    scrollViewClassName="common-infinite-scroll-list"
+    scrollViewClassName="common-infinite-scroll-list payroll-manage-list"
     v-bind="infiniteLoadingProps"
     :key="queryState.paymentStatus"
   >
@@ -144,4 +144,17 @@
 
 <style lang="scss">
 @import '@/styles/common.scss';
+
+.payrollManage-page-wrapper {
+  .payroll-manage-list {
+    .income-detail-list-item-inner {
+      display: flex;
+      flex-direction: column;
+      background: #ffffff;
+      border-radius: 12px;
+      padding: 40px;
+      margin-bottom: 24px;
+    }
+  }
+}
 </style>
diff --git a/apps/cMiniApp/src/constants/router.ts b/apps/cMiniApp/src/constants/router.ts
index 114b98d..1ca01b0 100644
--- a/apps/cMiniApp/src/constants/router.ts
+++ b/apps/cMiniApp/src/constants/router.ts
@@ -41,7 +41,7 @@
 
   mineWallet = '/subpackages/wallet/mineWallet/mineWallet',
   unboundBankCard = '/subpackages/wallet/unboundBankCard/unboundBankCard',
-  unboundAlipay = '/subpackages/wallet/unboundBankCard/unboundAlipay',
+  unboundAlipay = '/subpackages/wallet/unboundAlipay/unboundAlipay',
   bindBankCard = '/subpackages/wallet/bindBankCard/bindBankCard',
   incomeDetail = '/subpackages/wallet/incomeDetail/incomeDetail',
   incomeDetailInfo = '/subpackages/wallet/incomeDetailInfo/incomeDetailInfo',
diff --git a/apps/cMiniApp/src/hooks/user.ts b/apps/cMiniApp/src/hooks/user.ts
index 740ac8d..9b980e1 100644
--- a/apps/cMiniApp/src/hooks/user.ts
+++ b/apps/cMiniApp/src/hooks/user.ts
@@ -29,6 +29,14 @@
     return userDetail.value?.bankCardAAccesses?.includes(EnumUserBankCardAccess.Bank);
   });
 
+  const isBindAlipay = computed(() => {
+    return userDetail.value?.bankCardAAccesses?.includes(EnumUserBankCardAccess.AliPay);
+  });
+
+  const isBindWechat = computed(() => {
+    return userDetail.value?.bankCardAAccesses?.includes(EnumUserBankCardAccess.WeChatPay);
+  });
+
   return {
     user: userInfo,
     userDetail: userDetail,
@@ -37,6 +45,8 @@
     locationCity,
     userId,
     isBindBank,
+    isBindAlipay,
+    isBindWechat,
   };
 }
 
diff --git a/apps/cMiniApp/src/pages/mine/index.vue b/apps/cMiniApp/src/pages/mine/index.vue
index fde6502..6835237 100644
--- a/apps/cMiniApp/src/pages/mine/index.vue
+++ b/apps/cMiniApp/src/pages/mine/index.vue
@@ -71,7 +71,7 @@
             </div>
           </div>
           <div class="mine-balance-content-item">
-            <div class="mine-balance-content-item-title">鍙彁鐜�</div>
+            <div class="mine-balance-content-item-title">宸插彂鏀�</div>
             <div class="mine-balance-content-item-money withdraw">
               锟{ toThousand(userDetail?.balance ?? 0) }}
             </div>
diff --git a/apps/cMiniApp/src/subpackages/wallet/mineWallet/InnerPage.vue b/apps/cMiniApp/src/subpackages/wallet/mineWallet/InnerPage.vue
index 13983cb..cd66ede 100644
--- a/apps/cMiniApp/src/subpackages/wallet/mineWallet/InnerPage.vue
+++ b/apps/cMiniApp/src/subpackages/wallet/mineWallet/InnerPage.vue
@@ -12,6 +12,20 @@
         </div>
       </template>
     </ListItem>
+    <ListItem title="鏀粯瀹�" @click="goBankAlipay">
+      <template #extra>
+        <div class="bind-bank-card">
+          {{ isBindAlipay ? '宸茬粦瀹�' : '鏈粦瀹氥�佺珛鍗崇粦瀹�' }}
+        </div>
+      </template>
+    </ListItem>
+    <ListItem title="寰俊">
+      <template #extra>
+        <div class="bind-bank-card">
+          {{ '宸茬粦瀹�' }}
+        </div>
+      </template>
+    </ListItem>
   </List>
 </template>
 
@@ -24,7 +38,7 @@
   name: 'InnerPage',
 });
 
-const { userDetail, isBindBank } = useUser();
+const { userDetail, isBindBank, isBindAlipay, isBindWechat } = useUser();
 
 function goIncomeDetail() {
   Taro.navigateTo({
@@ -48,6 +62,15 @@
   },
   { message: '瀹屾垚瀹炲悕璁よ瘉鍚庢墠鍙繘琛岄摱琛屽崱缁戝畾' }
 );
+
+const goBankAlipay = useAccessReal(
+  () => {
+    Taro.navigateTo({
+      url: `${isBindAlipay.value ? RouterPath.bindBankCard : RouterPath.unboundAlipay}`,
+    });
+  },
+  { message: '瀹屾垚瀹炲悕璁よ瘉鍚庢墠鍙繘琛屾敮浠樺疂缁戝畾' }
+);
 </script>
 
 <style lang="scss">
diff --git a/apps/cMiniApp/src/subpackages/wallet/unboundAlipay/InnerPage.vue b/apps/cMiniApp/src/subpackages/wallet/unboundAlipay/InnerPage.vue
index 0356fc6..c82d5d2 100644
--- a/apps/cMiniApp/src/subpackages/wallet/unboundAlipay/InnerPage.vue
+++ b/apps/cMiniApp/src/subpackages/wallet/unboundAlipay/InnerPage.vue
@@ -16,11 +16,8 @@
 
 <script setup lang="ts">
 import { FormRules } from '@nutui/nutui-taro/dist/types/__VUE/form/types';
-import { ProFormCaptcha } from 'senin-mini/components';
-import { FormValidator, Message } from '@12333/utils';
+import { Message } from '@12333/utils';
 import * as userServices from '@12333/services/apiV2/user';
-import Taro from '@tarojs/taro';
-import { useQueryClient } from '@tanstack/vue-query';
 import { EnumUserBankCardAccess } from '@12333/constants';
 
 const { userDetail } = useUser();
@@ -31,35 +28,12 @@
 
 const form = reactive({
   name: userDetail.value?.name ?? '',
-  identity: userDetail.value?.identity ?? '',
-  phoneNumber: '',
   code: '',
-  bank: '',
-  bankBranch: '',
-  verifyCode: '',
 });
 
 const rules = reactive<FormRules>({
-  code: [
-    { required: true, message: '璇疯緭鍏ラ摱琛屽崱鍙�' },
-    { message: '璇疯緭鍏ユ纭殑閾惰鍗″彿', validator: FormValidator.validatorBankCard },
-  ],
-  bank: [{ required: true, message: '璇疯緭鍏ュ紑鎴疯' }],
-  phoneNumber: [
-    { required: true, message: '璇峰~鍐欐墜鏈哄彿鐮�' },
-    { message: '璇疯緭鍏ユ纭殑鎵嬫満鍙风爜', validator: FormValidator.validatorPhoneNumber },
-  ],
-  verifyCode: [{ required: true, message: '璇疯緭鍏ラ獙璇佺爜' }],
+  code: [{ required: true, message: '璇疯緭鍏ユ敮浠樺疂璐﹀彿' }],
 });
-
-async function onGetCaptcha(phoneNumber: string) {
-  await userServices.sendSavePersonalUserBankCardVerifyCode(
-    {
-      phoneNumber: form.phoneNumber,
-    },
-    { showLoading: false }
-  );
-}
 
 const formRef = ref<any>(null);
 function handleConfirm() {
@@ -75,10 +49,7 @@
   try {
     let params: API.SavePersonalUserBankCardCommand = {
       code: form.code,
-      bank: form.bank,
-      phoneNumber: form.phoneNumber,
-      verifyCode: form.verifyCode,
-      access: EnumUserBankCardAccess.Bank,
+      access: EnumUserBankCardAccess.AliPay,
     };
     let res = await userServices.savePersonalUserBankCard(params);
     if (res) {
diff --git a/packages/components/src/List/IncomeDetailListItem.vue b/packages/components/src/List/IncomeDetailListItem.vue
index 7d8e68c..80fd078 100644
--- a/packages/components/src/List/IncomeDetailListItem.vue
+++ b/packages/components/src/List/IncomeDetailListItem.vue
@@ -44,12 +44,10 @@
   padding: 0 boleGetCssVar('size', 'body-padding-h');
 
   .income-detail-list-item-inner {
+    padding: 24px 0 18px;
+    border-bottom: 1px solid #f6f6f6;
     display: flex;
     flex-direction: column;
-    background: #ffffff;
-    border-radius: 12px;
-    padding: 40px;
-    margin-bottom: 24px;
 
     &.border-none {
       border-bottom: none;
diff --git a/packages/services/apiV2/enterpriseEmployee.ts b/packages/services/apiV2/enterpriseEmployee.ts
index 286ed8a..622e474 100644
--- a/packages/services/apiV2/enterpriseEmployee.ts
+++ b/packages/services/apiV2/enterpriseEmployee.ts
@@ -2,6 +2,24 @@
 // @ts-ignore
 import { request } from '@/utils/request';
 
+/** 浼佷笟鎵归噺绛剧害鍚堝悓 POST /api/user/enterpriseEmployee/batchEnterpriseSignContract */
+export async function batchEnterpriseSignContract(
+  body: API.BatchEnterpriseSignContractCommand,
+  options?: API.RequestConfig
+) {
+  return request<API.BatchEnterpriseSignContractCommandResult>(
+    '/api/user/enterpriseEmployee/batchEnterpriseSignContract',
+    {
+      method: 'POST',
+      headers: {
+        'Content-Type': 'application/json-patch+json',
+      },
+      data: body,
+      ...(options || {}),
+    }
+  );
+}
+
 /** 缂栬緫鐏靛伐淇℃伅 POST /api/user/enterpriseEmployee/editEnterpriseEmployee */
 export async function editEnterpriseEmployee(
   body: API.EditEnterpriseEmployeeCommand,
diff --git a/packages/services/apiV2/typings.d.ts b/packages/services/apiV2/typings.d.ts
index 6cda5f1..26fed29 100644
--- a/packages/services/apiV2/typings.d.ts
+++ b/packages/services/apiV2/typings.d.ts
@@ -398,6 +398,29 @@
     address?: string;
   }
 
+  interface BatchEnterpriseSignContractCommand {
+    /** 鐏靛伐Id */
+    ids?: string[];
+  }
+
+  interface BatchEnterpriseSignContractCommandResult {
+    /** 绛剧害鎴愬姛鐏靛伐Id */
+    successIds?: string[];
+    /** 绛剧害澶辫触鐨勭伒宸ヤ俊鎭� */
+    errors?: BatchEnterpriseSignContractCommandResultError[];
+  }
+
+  interface BatchEnterpriseSignContractCommandResultError {
+    /** 濮撳悕 */
+    name?: string;
+    /** 鎵嬫満鍙� */
+    contactPhoneNumber?: string;
+    /** 韬唤璇佸彿 */
+    identity?: string;
+    /** 閿欒娑堟伅 */
+    errorMessages?: string;
+  }
+
   interface BindWxmpUserInfoCommand {
     /** 璁块棶浠ょ墝 */
     accessToken: string;
@@ -1358,6 +1381,24 @@
   interface ExportTaskSettlementOrderRostersCommand {
     /** 缁撶畻璁㈠崟Id */
     id?: string;
+  }
+
+  interface FriendlyResultBatchEnterpriseSignContractCommandResult {
+    /** 璺熻釜Id */
+    traceId?: string;
+    /** 鐘舵�佺爜 */
+    code?: number;
+    /** 閿欒鐮� */
+    errorCode?: string;
+    data?: BatchEnterpriseSignContractCommandResult;
+    /** 鎵ц鎴愬姛 */
+    success?: boolean;
+    /** 閿欒淇℃伅 */
+    msg?: any;
+    /** 闄勫姞鏁版嵁 */
+    extras?: any;
+    /** 鏃堕棿鎴� */
+    timestamp?: number;
   }
 
   interface FriendlyResultBoolean {
@@ -3833,6 +3874,12 @@
     bindProperty?: string;
     /** 鏄惁蹇呭~ */
     required?: boolean;
+    /** 鍧愭爣X */
+    x?: number;
+    /** 鍧愭爣Y */
+    y?: number;
+    /** 椤电爜 */
+    page?: number;
   }
 
   type GetCurrentLogierMenusQuery = Record<string, any>;
@@ -6999,6 +7046,12 @@
     bindProperty?: string;
     /** 鏄惁蹇呭~ */
     required?: boolean;
+    /** 鍧愭爣X */
+    x?: number;
+    /** 鍧愭爣Y */
+    y?: number;
+    /** 椤电爜 */
+    page?: number;
   }
 
   interface SaveDictionaryCategoryCommand {

--
Gitblit v1.9.1