From 7cf04da7eaba7cad9c3b5e5f674d2e038ebcd305 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期五, 12 九月 2025 17:36:56 +0800
Subject: [PATCH] Merge branch 'master' into dev-v1.1

---
 apps/bMiniApp/src/subpackages/flexJobManage/flexJobManage/InnerPage.vue |   73 +++++++++++++++++++++++++++---------
 1 files changed, 55 insertions(+), 18 deletions(-)

diff --git a/apps/bMiniApp/src/subpackages/flexJobManage/flexJobManage/InnerPage.vue b/apps/bMiniApp/src/subpackages/flexJobManage/flexJobManage/InnerPage.vue
index 46982c2..32e45c9 100644
--- a/apps/bMiniApp/src/subpackages/flexJobManage/flexJobManage/InnerPage.vue
+++ b/apps/bMiniApp/src/subpackages/flexJobManage/flexJobManage/InnerPage.vue
@@ -1,6 +1,6 @@
 <template>
   <ProTabs
-    v-model="queryState.userSignContractStatus"
+    v-model="queryState.signContractStatus"
     name="home-tab"
     :showPaneContent="false"
     class="home-tabs"
@@ -8,14 +8,24 @@
     title-gutter="12"
     title-scroll
   >
-    <ProTabPane :title="`宸茬绾" :pane-key="EnumTaskUserSignContractStatus.Pass"></ProTabPane>
-    <ProTabPane :title="`寰呯绾" :pane-key="EnumTaskUserSignContractStatus.Wait"></ProTabPane>
-    <ProTabPane :title="`宸茶В绾" :pane-key="EnumTaskUserSignContractStatus.Refuse"></ProTabPane>
+    <ProTabPane
+      :title="`鐏靛伐寰呯绾"
+      :pane-key="EnumGetEnterpriseEmployeesQuerySignContractStatus.UserWait"
+    ></ProTabPane>
+    <ProTabPane
+      :title="`浼佷笟寰呯绾"
+      :pane-key="EnumGetEnterpriseEmployeesQuerySignContractStatus.EnterpriseWait"
+    ></ProTabPane>
+    <ProTabPane
+      :title="`宸茬绾"
+      :pane-key="EnumGetEnterpriseEmployeesQuerySignContractStatus.Pass"
+    ></ProTabPane>
+    <!-- <ProTabPane :title="`宸茶В绾" :pane-key="EnumTaskUserSignContractStatus.Stop"></ProTabPane> -->
   </ProTabs>
   <InfiniteLoading
     scrollViewClassName="common-infinite-scroll-list home-list"
     v-bind="infiniteLoadingProps"
-    :key="queryState.userSignContractStatus"
+    :key="queryState.signContractStatus"
   >
     <template #renderItem="{ item }">
       <FlexJobCard
@@ -35,7 +45,7 @@
       >
         <template #footerRight>
           <template
-            v-if="Number(queryState.userSignContractStatus) === EnumTaskUserSignContractStatus.Pass"
+            v-if="item.enterpriseSignContractStatus === EnumTaskUserSignContractStatus.Pass"
           >
             <nut-button
               class="flexJobManage-card-plain-button"
@@ -44,16 +54,19 @@
               @click.stop="handleUnsign(item)"
               >瑙g害</nut-button
             >
-            <nut-button type="primary" @click.stop="checkContract">鏌ョ湅鍚堢害</nut-button>
+            <nut-button type="primary" @click.stop="checkContract(item)">鏌ョ湅鍚堢害</nut-button>
           </template>
           <nut-button
-            v-else-if="
-              Number(queryState.userSignContractStatus) === EnumTaskUserSignContractStatus.Wait ||
-              Number(queryState.userSignContractStatus) === EnumTaskUserSignContractStatus.Refuse
-            "
+            v-if="item.userSignContractStatus === EnumTaskUserSignContractStatus.Wait"
             type="primary"
             @click.stop="goFlexJobSign(item)"
-            >绛剧害</nut-button
+            >閭�璇风绾�</nut-button
+          >
+          <nut-button
+            v-if="item.enterpriseSignContractStatus === EnumTaskUserSignContractStatus.Wait"
+            type="primary"
+            @click.stop="goEnterpriseSign(item)"
+            >浼佷笟绛剧害</nut-button
           >
         </template>
       </FlexJobCard>
@@ -69,20 +82,21 @@
   EnumTaskUserHireStatus,
   EnumTaskUserSignContractStatus,
   EnumPagedListOrder,
+  EnumGetEnterpriseEmployeesQuerySignContractStatus,
 } from '@12333/constants';
 import * as enterpriseEmployeeServices from '@12333/services/apiV2/enterpriseEmployee';
 import Taro from '@tarojs/taro';
-import { Message } from '@12333/utils';
+import { Message, openDocument, setOSSLink } from '@12333/utils';
 
 defineOptions({
   name: 'InnerPage',
 });
 
 const queryState = reactive({
-  userSignContractStatus: EnumTaskUserSignContractStatus.Pass,
+  signContractStatus: EnumGetEnterpriseEmployeesQuerySignContractStatus.UserWait,
 });
 
-const { infiniteLoadingProps } = useInfiniteLoading(
+const { infiniteLoadingProps, invalidateQueries } = useInfiniteLoading(
   ({ pageParam }) => {
     let params: API.GetEnterpriseEmployeesQuery = {
       pageModel: {
@@ -91,9 +105,8 @@
         orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
       },
       hireStatus: EnumTaskUserHireStatus.Pass,
-      userSignContractStatus: queryState.userSignContractStatus,
+      signContractStatus: queryState.signContractStatus,
     };
-
     return enterpriseEmployeeServices.getEnterpriseEmployees(params, {
       showLoading: false,
     });
@@ -103,7 +116,13 @@
   }
 );
 
-function checkContract() {}
+function checkContract(item: API.GetEnterpriseEmployeesQueryResultItem) {
+  if (!item.contractUrl) {
+    Message.warning('鍗忚鏃犳硶鏌ョ湅锛岃绋嶅悗鍐嶈瘯');
+    return;
+  }
+  openDocument(setOSSLink(item.contractUrl));
+}
 
 function goDetail(item: API.GetEnterpriseEmployeesQueryResultItem) {
   Taro.navigateTo({
@@ -114,6 +133,14 @@
 async function handleUnsign(item: API.GetEnterpriseEmployeesQueryResultItem) {
   try {
     await Message.confirm({ message: '纭畾瑕佽В绾﹀悧锛�' });
+    let params: API.StopElectronSignCommand = {
+      ids: [item.id],
+    };
+    let res = await enterpriseEmployeeServices.stopElectronSign(params);
+    if (res) {
+      Message.success('瑙g害鎴愬姛');
+      invalidateQueries();
+    }
   } catch (error) {}
 }
 function goFlexJobSign(item: API.GetEnterpriseEmployeesQueryResultItem) {
@@ -121,6 +148,16 @@
     url: `${RouterPath.flexJobSign}?enterpriseEmployeeId=${item.id}`,
   });
 }
+
+async function goEnterpriseSign(item: API.GetEnterpriseEmployeesQueryResultItem) {
+  try {
+    let res = await enterpriseEmployeeServices.enterpriseUserElectronSign({ id: item.id });
+    if (res) {
+      const encodedUrl = encodeURIComponent(res.signContractLongUrl);
+      Taro.navigateTo({ url: `${RouterPath.extraPage}?url=${encodedUrl}` });
+    }
+  } catch (error) {}
+}
 </script>
 
 <style lang="scss">

--
Gitblit v1.9.1