From 080d96d823e35144b9a2470000ea3733170c953f Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期五, 12 十二月 2025 15:13:54 +0800
Subject: [PATCH] feat: 保险

---
 packages/services/apiV2/index.ts                             |    6 
 packages/services/apiV2/insuranceProduct.ts                  |   51 +++
 packages/hooks/index.ts                                      |    1 
 packages/hooks/insurance.ts                                  |   34 ++
 packages/services/apiV2/enterpriseInsuranceProduct.ts        |   57 ++++
 apps/bMiniApp/src/subpackages/task/publishTask/InnerPage.vue |   74 +++-
 packages/services/apiV2/wxmpUtils.ts                         |   18 +
 packages/services/apiV2/typings.d.ts                         |  386 +++++++++++++++++++++++++++-
 packages/services/apiV2/enterprise.ts                        |   33 ++
 packages/components/src/Input/ChooseInputWithPicker.vue      |    2 
 packages/constants/apiEnum.ts                                |   92 +++++-
 11 files changed, 682 insertions(+), 72 deletions(-)

diff --git a/apps/bMiniApp/src/subpackages/task/publishTask/InnerPage.vue b/apps/bMiniApp/src/subpackages/task/publishTask/InnerPage.vue
index c651ec1..613c7d1 100644
--- a/apps/bMiniApp/src/subpackages/task/publishTask/InnerPage.vue
+++ b/apps/bMiniApp/src/subpackages/task/publishTask/InnerPage.vue
@@ -335,14 +335,16 @@
       <nut-form-item
         label="淇濋櫓浜у搧:"
         class="bole-form-item"
-        prop="supplierEnterpriseId"
+        prop="insuranceProductId"
         label-width="90px"
         required
+        v-if="form.checkReceiveMethods.includes(EnumTaskCheckReceiveMethod.CheckIn)"
       >
         <ChooseInputWithPicker
-          v-model="form.supplierEnterpriseId"
+          v-model="form.insuranceProductId"
           placeholder="璇烽�夋嫨淇濋櫓浜у搧"
-          :value-enum="supplierEnterpriseSelect"
+          :value-enum="enterpriseInsuranceProductSelect"
+          @change="calcTaskTotalServiceFee()"
         />
       </nut-form-item>
       <nut-form-item
@@ -365,7 +367,7 @@
         prop="totalServiceFee"
         label-width="110px"
       >
-        {{ `${toThousand(totalServiceFee)}鍏僠 }}
+        {{ `${toThousand(form.totalServiceFee)}鍏僠 }}
       </nut-form-item>
     </nut-form>
   </ContentScrollView>
@@ -411,6 +413,7 @@
 import {
   useAllAreaList,
   useDictionaryDataSelect,
+  useEnterpriseInsuranceProductSelect,
   useEnterpriseWalletAccessSelect,
   useGetSupplierEnterpriseSelect,
 } from '@12333/hooks';
@@ -425,6 +428,7 @@
 const { findAreaNameFromCode } = useAllAreaList();
 
 const { supplierEnterpriseSelect } = useGetSupplierEnterpriseSelect();
+
 const router = Taro.useRouter();
 const taskId = router.params?.id ?? '';
 const isCopy = router.params?.isCopy === 'true';
@@ -489,6 +493,7 @@
   totalPieceQuantity: '' as any as number,
 
   totalServiceFee: null as number,
+  insuranceProductId: '',
 });
 
 const rules = reactive<FormRules>({
@@ -600,9 +605,23 @@
       },
     },
   ],
+  insuranceProductId: [
+    {
+      required: true,
+      message: '璇烽�夋嫨淇濋櫓浜у搧',
+      validator(value) {
+        if (!value?.length) return Promise.reject('璇烽�夋嫨淇濋櫓浜у搧');
+        return Promise.resolve(true);
+      },
+    },
+  ],
 });
 
 const { settlementAccessList } = useEnterpriseWalletAccessSelect({
+  supplierEnterpriseId: computed(() => form.supplierEnterpriseId),
+});
+
+const { enterpriseInsuranceProductSelect } = useEnterpriseInsuranceProductSelect({
   supplierEnterpriseId: computed(() => form.supplierEnterpriseId),
 });
 
@@ -657,6 +676,7 @@
     form.applyBeginTime = dayjs(data.applyBeginTime).format('YYYY-MM-DD');
     form.applyEndTime = dayjs(data.applyEndTime).format('YYYY-MM-DD');
     form.settlementAccess = data.settlementAccess;
+    form.insuranceProductId = data.insuranceProductId;
 
     if (!!data.timeoutServiceFee) {
       calcTaskTotalServiceFee();
@@ -680,7 +700,12 @@
       needPeopleNumber: form.needPeopleNumber,
       beginTime: dayjs(form.beginTime).format('YYYY-MM-DD 00:00:00'),
       endTime: dayjs(form.endTime).format('YYYY-MM-DD 23:59:59'),
+      supplierEnterpriseId: form.supplierEnterpriseId,
+      checkReceiveMethods: form.checkReceiveMethods,
     };
+    if (form.insuranceProductId) {
+      params.insuranceProductId = form.insuranceProductId;
+    }
     let res = await taskServices.calcTaskTotalServiceFee(params, { showLoading: false });
     if (res) {
       form.totalServiceFee = res.totalServiceFee;
@@ -688,26 +713,26 @@
   } catch (error) {}
 }
 
-const totalServiceFee = computed(() => {
-  if (!form.beginTime || !form.endTime) {
-    return 0;
-  }
-  var days = dayjs(form.endTime).diff(dayjs(form.beginTime), 'day') + 1;
-  const serviceFee = form.serviceFee || 0;
-  const needPeopleNumber = form.needPeopleNumber || 0;
-  switch (form.billingMethod) {
-    case EnumBillingMethod.Month:
-      return serviceFee * Math.round(days / 30) * needPeopleNumber;
-    case EnumBillingMethod.Day:
-      return serviceFee * days * needPeopleNumber;
-    case EnumBillingMethod.Hour:
-      return serviceFee * (form.verifyWorkHours || 0) * days * needPeopleNumber;
-    case EnumBillingMethod.Piece:
-      return serviceFee * (form.totalPieceQuantity || 0);
-    default:
-      return 0;
-  }
-});
+// const totalServiceFee = computed(() => {
+//   if (!form.beginTime || !form.endTime) {
+//     return 0;
+//   }
+//   var days = dayjs(form.endTime).diff(dayjs(form.beginTime), 'day') + 1;
+//   const serviceFee = form.serviceFee || 0;
+//   const needPeopleNumber = form.needPeopleNumber || 0;
+//   switch (form.billingMethod) {
+//     case EnumBillingMethod.Month:
+//       return serviceFee * Math.round(days / 30) * needPeopleNumber;
+//     case EnumBillingMethod.Day:
+//       return serviceFee * days * needPeopleNumber;
+//     case EnumBillingMethod.Hour:
+//       return serviceFee * (form.verifyWorkHours || 0) * days * needPeopleNumber;
+//     case EnumBillingMethod.Piece:
+//       return serviceFee * (form.totalPieceQuantity || 0);
+//     default:
+//       return 0;
+//   }
+// });
 
 const formRef = ref<any>(null);
 function handleConfirm() {
@@ -752,6 +777,7 @@
       applyBeginTime: dayjs(form.applyBeginTime).format('YYYY-MM-DD 00:00:00'),
       applyEndTime: dayjs(form.applyEndTime).format('YYYY-MM-DD 23:59:59'),
       settlementAccess: form.settlementAccess,
+      insuranceProductId: form.insuranceProductId,
     };
     if (form.billingMethod !== EnumBillingMethod.Face) {
       params.serviceFee = form.serviceFee;
diff --git a/packages/components/src/Input/ChooseInputWithPicker.vue b/packages/components/src/Input/ChooseInputWithPicker.vue
index 90c72c8..20d143f 100644
--- a/packages/components/src/Input/ChooseInputWithPicker.vue
+++ b/packages/components/src/Input/ChooseInputWithPicker.vue
@@ -29,6 +29,7 @@
 
 const emit = defineEmits<{
   (e: 'update:modelValue', val: string | number): void;
+  (e: 'change'): void;
 }>();
 
 const options = computed(() =>
@@ -66,6 +67,7 @@
                   onConfirm: ({ selectedValue, selectedOptions }) => {
                     console.log('selectedValue: ', selectedValue, selectedOptions);
                     emit('update:modelValue', selectedOptions[0].value);
+                    emit('change');
                     onClose();
                   },
                 }),
diff --git a/packages/constants/apiEnum.ts b/packages/constants/apiEnum.ts
index d8f26f2..c98f0a4 100644
--- a/packages/constants/apiEnum.ts
+++ b/packages/constants/apiEnum.ts
@@ -285,6 +285,12 @@
   Pass = 30,
 }
 
+/** 鎶曚繚渚涘簲鍟嗚处鍙� */
+export enum EnumInsuranceSupplierAccess {
+  /**浜鸿祫鍥� */
+  WaterDropCloud = 10,
+}
+
 /** 鏃ュ織绾у埆 */
 export enum EnumLogLevel {
   /**璺熻釜 */
@@ -423,54 +429,62 @@
   FlexJobServerTaskUser = 2,
   /**浠诲姟楠屾敹 */
   FlexJobServerTaskCheckReceive = 3,
+  /**鎶曚繚浜у搧 */
+  FlexJobServerInsuranceProduct = 4,
+  /**浼佷笟鎶曚繚浜у搧 */
+  FlexJobServerEnterpriseInsuranceProduct = 5,
   /**缂栧彿鍦板潃 */
-  CommonServerCodeUrls = 4,
+  CommonServerCodeUrls = 6,
   /**鏂囦欢 */
-  CommonServerFileUtils = 5,
+  CommonServerFileUtils = 7,
   /**浜嬩欢 */
-  CommonServerEventUtils = 6,
+  CommonServerEventUtils = 8,
   /**鏂囧瓧璇嗗埆 */
-  CommonServerOcrUtils = 7,
+  CommonServerOcrUtils = 9,
   /**鏃ュ織璁板綍 */
-  CommonServerLogRecords = 8,
+  CommonServerLogRecords = 10,
   /**鍚屾鏁版嵁搴� */
-  CommonServerSyncDatabase = 9,
+  CommonServerSyncDatabase = 11,
   /**鐭俊宸ュ叿 */
-  CommonServerSmsUtils = 10,
+  CommonServerSmsUtils = 12,
   /**閰嶇疆 */
-  CommonServerSettings = 11,
+  CommonServerSettings = 13,
   /**宸茶 */
-  CommonServerReadRecord = 12,
+  CommonServerReadRecord = 14,
+  /**寰俊灏忕▼搴� */
+  CommonServerWxmp = 15,
   /**鐢ㄦ埛璁よ瘉 */
-  UserServerAuth = 13,
+  UserServerAuth = 16,
   /**鐢ㄦ埛鑿滃崟 */
-  UserServerMenu = 14,
+  UserServerMenu = 17,
   /**鐢ㄦ埛璧勬簮 */
-  UserServerResource = 15,
+  UserServerResource = 18,
   /**鐢ㄦ埛瑙掕壊 */
-  UserServerRole = 16,
+  UserServerRole = 19,
   /**鐢ㄦ埛淇℃伅 */
-  UserServerUser = 17,
+  UserServerUser = 20,
   /**鐢ㄦ埛閽卞寘 */
-  UserServerUserWallet = 18,
+  UserServerUserWallet = 21,
   /**鐢靛瓙绛� */
-  UserServerElectronSign = 19,
+  UserServerElectronSign = 22,
   /**鐢ㄦ埛绠�鍘� */
-  UserServerUserResume = 20,
+  UserServerUserResume = 23,
   /**浼佷笟淇℃伅 */
-  UserServerEnterprise = 21,
+  UserServerEnterprise = 24,
   /**浼佷笟閽卞寘 */
-  UserServerEnterpriseWallet = 22,
+  UserServerEnterpriseWallet = 25,
   /**浼佷笟鍚堜綔閽卞寘 */
-  UserServerEnterpriseCooperationWallet = 23,
+  UserServerEnterpriseCooperationWallet = 26,
   /**鐏靛伐淇℃伅 */
-  UserServerEnterpriseEmployee = 24,
+  UserServerEnterpriseEmployee = 27,
   /**鐢靛瓙绛� */
-  ElectronSignServerElectronSign = 25,
+  ElectronSignServerElectronSign = 28,
   /**鐭俊 */
-  ToolServerSms = 26,
+  ToolServerSms = 29,
   /**灏忕▼搴� */
-  ToolServerWxmp = 27,
+  ToolServerWxmp = 30,
+  /**淇濋櫓 */
+  WaterDropCloudServerInsurance = 31,
 }
 
 /** 璧勬簮璇锋眰鏂瑰紡 */
@@ -911,6 +925,36 @@
   VERIFYING = 2,
 }
 
+/** 寰俊灏忕▼搴忚闃呮秷鎭ā鏉� */
+export enum EnumWxmpSubscribMessageTemplate {
+  /**宸ユ槗璧� */
+  HireCompletedToPersonal = 0,
+  /**宸ユ槗璧� */
+  ElectronSignStatusChangedForPersonal = 1,
+  /**宸ユ槗璧� */
+  ArrangeCompletedToPersonal = 2,
+  /**宸ユ槗璧� */
+  TaskCheckReceiveResultToPersonal = 3,
+  /**宸ユ槗璧� */
+  SettlementReceiveToPersonal = 4,
+  /**鐏靛伐杈� */
+  TaskCheckReceiveResultToEnterprise = 5,
+  /**鐏靛伐杈� */
+  SettlementWaitAuditToEnterprise = 6,
+  /**鐏靛伐杈� */
+  SettlementReceiveToEnterprise = 7,
+  /**鐏靛伐杈� */
+  RechargeStatusChangedToEnterprise = 8,
+  /**娣橀棯宸� */
+  SettlementWaitSureToSupplier = 9,
+  /**娣橀棯宸� */
+  SettlementReceiveToSupplier = 10,
+  /**娣橀棯宸� */
+  RechargeStatusChangedToSupplier = 11,
+  /**娣橀棯宸� */
+  CheckInToSupplier = 12,
+}
+
 /** 鎴戠殑鎶ュ悕鍒嗛〉鍒楄〃-鐘舵�� */
 export enum GetPersonalApplyTaskInfosQueryStatus {
   /**寰呯‘璁� */
diff --git a/packages/hooks/index.ts b/packages/hooks/index.ts
index 942be90..aa9985f 100644
--- a/packages/hooks/index.ts
+++ b/packages/hooks/index.ts
@@ -10,3 +10,4 @@
 export * from './user';
 export * from './payrollChange';
 export * from './dialog';
+export * from './insurance';
diff --git a/packages/hooks/insurance.ts b/packages/hooks/insurance.ts
new file mode 100644
index 0000000..2e79455
--- /dev/null
+++ b/packages/hooks/insurance.ts
@@ -0,0 +1,34 @@
+import { useQuery, useQueryClient } from '@tanstack/vue-query';
+import * as enterpriseInsuranceProductServices from '@12333/services/apiV2/enterpriseInsuranceProduct';
+import { compile, computed, MaybeRef, unref } from 'vue';
+
+type UseEnterpriseInsuranceProductSelectOptions = {
+  supplierEnterpriseId: MaybeRef<string>;
+};
+
+export function useEnterpriseInsuranceProductSelect(
+  options: UseEnterpriseInsuranceProductSelectOptions
+) {
+  const { supplierEnterpriseId } = options;
+  const queryClient = useQueryClient();
+
+  const { data: enterpriseInsuranceProductSelect } = useQuery({
+    queryKey: [
+      'enterpriseInsuranceProductServices/getEnterpriseInsuranceProductSelect',
+      supplierEnterpriseId,
+    ],
+    queryFn: () => {
+      return enterpriseInsuranceProductServices.getEnterpriseInsuranceProductSelect(
+        { supplierEnterpriseId: unref(supplierEnterpriseId) },
+        {
+          showLoading: false,
+        }
+      );
+    },
+    placeholderData: () =>
+      [] as API.SelectOptionNullableGuidGetEnterpriseInsuranceProductSelectQueryOption[],
+    enabled: computed(() => !!unref(supplierEnterpriseId)),
+  });
+
+  return { enterpriseInsuranceProductSelect };
+}
diff --git a/packages/services/apiV2/enterprise.ts b/packages/services/apiV2/enterprise.ts
index 1878577..346e2eb 100644
--- a/packages/services/apiV2/enterprise.ts
+++ b/packages/services/apiV2/enterprise.ts
@@ -35,6 +35,24 @@
   );
 }
 
+/** 鏌ヨ浼佷笟淇濋櫓閰嶇疆 GET /api/user/enterprise/getEnterpriseInsuranceSetting */
+export async function getEnterpriseInsuranceSetting(
+  // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
+  params: API.APIgetEnterpriseInsuranceSettingParams,
+  options?: API.RequestConfig
+) {
+  return request<API.GetEnterpriseInsuranceSettingQueryResult>(
+    '/api/user/enterprise/getEnterpriseInsuranceSetting',
+    {
+      method: 'GET',
+      params: {
+        ...params,
+      },
+      ...(options || {}),
+    }
+  );
+}
+
 /** 鏌ヨ浼佷笟淇℃伅鍒嗛〉鍒楄〃鏁版嵁 POST /api/user/enterprise/getEnterprises */
 export async function getEnterprises(body: API.GetEnterprisesQuery, options?: API.RequestConfig) {
   return request<API.PagedListQueryResultGetEnterprisesQueryResultItem>(
@@ -196,6 +214,21 @@
   });
 }
 
+/** 璁剧疆浼佷笟淇濋櫓閰嶇疆 PUT /api/user/enterprise/setEnterpriseInsuranceSetting */
+export async function setEnterpriseInsuranceSetting(
+  body: API.SetEnterpriseInsuranceSettingCommand,
+  options?: API.RequestConfig
+) {
+  return request<string>('/api/user/enterprise/setEnterpriseInsuranceSetting', {
+    method: 'PUT',
+    headers: {
+      'Content-Type': 'application/json-patch+json',
+    },
+    data: body,
+    ...(options || {}),
+  });
+}
+
 /** 璁剧疆浼佷笟鐭俊閰嶇疆 PUT /api/user/enterprise/setEnterpriseSmsSetting */
 export async function setEnterpriseSmsSetting(
   body: API.SetEnterpriseSmsSettingCommand,
diff --git a/packages/services/apiV2/enterpriseInsuranceProduct.ts b/packages/services/apiV2/enterpriseInsuranceProduct.ts
new file mode 100644
index 0000000..5ed0e55
--- /dev/null
+++ b/packages/services/apiV2/enterpriseInsuranceProduct.ts
@@ -0,0 +1,57 @@
+/* eslint-disable */
+// @ts-ignore
+import { request } from '@/utils/request';
+
+/** 鏌ヨ浼佷笟淇濋櫓浜у搧鍒嗛〉鍒楄〃 POST /api/flexjob/enterpriseInsuranceProduct/getEnterpriseInsuranceProducts */
+export async function getEnterpriseInsuranceProducts(
+  body: API.GetEnterpriseInsuranceProductsQuery,
+  options?: API.RequestConfig
+) {
+  return request<API.GetEnterpriseInsuranceProductsQueryResult>(
+    '/api/flexjob/enterpriseInsuranceProduct/getEnterpriseInsuranceProducts',
+    {
+      method: 'POST',
+      headers: {
+        'Content-Type': 'application/json-patch+json',
+      },
+      data: body,
+      ...(options || {}),
+    }
+  );
+}
+
+/** 鏌ヨ浼佷笟淇濋櫓浜у搧閫夋嫨鍣ㄦ暟鎹� GET /api/flexjob/enterpriseInsuranceProduct/getEnterpriseInsuranceProductSelect */
+export async function getEnterpriseInsuranceProductSelect(
+  // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
+  params: API.APIgetEnterpriseInsuranceProductSelectParams,
+  options?: API.RequestConfig
+) {
+  return request<API.SelectOptionNullableGuidGetEnterpriseInsuranceProductSelectQueryOption[]>(
+    '/api/flexjob/enterpriseInsuranceProduct/getEnterpriseInsuranceProductSelect',
+    {
+      method: 'GET',
+      params: {
+        ...params,
+      },
+      ...(options || {}),
+    }
+  );
+}
+
+/** 璁剧疆浼佷笟鎶曚繚浜у搧鐘舵�� PUT /api/flexjob/enterpriseInsuranceProduct/setDisabledEnterpriseInsuranceProducts */
+export async function setDisabledEnterpriseInsuranceProducts(
+  body: API.SetDisabledEnterpriseInsuranceProductsCommand,
+  options?: API.RequestConfig
+) {
+  return request<number>(
+    '/api/flexjob/enterpriseInsuranceProduct/setDisabledEnterpriseInsuranceProducts',
+    {
+      method: 'PUT',
+      headers: {
+        'Content-Type': 'application/json-patch+json',
+      },
+      data: body,
+      ...(options || {}),
+    }
+  );
+}
diff --git a/packages/services/apiV2/index.ts b/packages/services/apiV2/index.ts
index b5aa93e..2dd6b34 100644
--- a/packages/services/apiV2/index.ts
+++ b/packages/services/apiV2/index.ts
@@ -17,8 +17,10 @@
 import * as userResume from './userResume';
 import * as auth from './auth';
 import * as taskUser from './taskUser';
+import * as enterpriseInsuranceProduct from './enterpriseInsuranceProduct';
 import * as eventUtils from './eventUtils';
 import * as enterpriseCooperationWallet from './enterpriseCooperationWallet';
+import * as insuranceProduct from './insuranceProduct';
 import * as codeUrl from './codeUrl';
 import * as syncDatabase from './syncDatabase';
 import * as menu from './menu';
@@ -26,6 +28,7 @@
 import * as userWallet from './userWallet';
 import * as fileUtils from './fileUtils';
 import * as settings from './settings';
+import * as wxmpUtils from './wxmpUtils';
 export default {
   enterprise,
   enterpriseEmployee,
@@ -42,8 +45,10 @@
   userResume,
   auth,
   taskUser,
+  enterpriseInsuranceProduct,
   eventUtils,
   enterpriseCooperationWallet,
+  insuranceProduct,
   codeUrl,
   syncDatabase,
   menu,
@@ -51,4 +56,5 @@
   userWallet,
   fileUtils,
   settings,
+  wxmpUtils,
 };
diff --git a/packages/services/apiV2/insuranceProduct.ts b/packages/services/apiV2/insuranceProduct.ts
new file mode 100644
index 0000000..7b14035
--- /dev/null
+++ b/packages/services/apiV2/insuranceProduct.ts
@@ -0,0 +1,51 @@
+/* eslint-disable */
+// @ts-ignore
+import { request } from '@/utils/request';
+
+/** 鏌ヨ淇濋櫓浜у搧鍒嗛〉鍒楄〃 POST /api/flexjob/insuranceProduct/getInsuranceProducts */
+export async function getInsuranceProducts(
+  body: API.GetInsuranceProductsQuery,
+  options?: API.RequestConfig
+) {
+  return request<API.GetInsuranceProductsQueryResult>(
+    '/api/flexjob/insuranceProduct/getInsuranceProducts',
+    {
+      method: 'POST',
+      headers: {
+        'Content-Type': 'application/json-patch+json',
+      },
+      data: body,
+      ...(options || {}),
+    }
+  );
+}
+
+/** 淇濆瓨淇濋櫓浜у搧 POST /api/flexjob/insuranceProduct/saveInsuranceProduct */
+export async function saveInsuranceProduct(
+  body: API.SaveInsuranceProductCommand,
+  options?: API.RequestConfig
+) {
+  return request<string>('/api/flexjob/insuranceProduct/saveInsuranceProduct', {
+    method: 'POST',
+    headers: {
+      'Content-Type': 'application/json-patch+json',
+    },
+    data: body,
+    ...(options || {}),
+  });
+}
+
+/** 璁剧疆淇濋櫓浜у搧鐘舵�� PUT /api/flexjob/insuranceProduct/setIsDisabledInsuranceProduct */
+export async function setIsDisabledInsuranceProduct(
+  body: API.SetIsDisabledInsuranceProductCommand,
+  options?: API.RequestConfig
+) {
+  return request<number>('/api/flexjob/insuranceProduct/setIsDisabledInsuranceProduct', {
+    method: 'PUT',
+    headers: {
+      'Content-Type': 'application/json-patch+json',
+    },
+    data: body,
+    ...(options || {}),
+  });
+}
diff --git a/packages/services/apiV2/typings.d.ts b/packages/services/apiV2/typings.d.ts
index 6d96f49..5a1e326 100644
--- a/packages/services/apiV2/typings.d.ts
+++ b/packages/services/apiV2/typings.d.ts
@@ -140,6 +140,16 @@
     taskInfoId?: string;
   }
 
+  interface APIgetEnterpriseInsuranceProductSelectParams {
+    /** 渚涘簲鍟咺d */
+    supplierEnterpriseId?: string;
+  }
+
+  interface APIgetEnterpriseInsuranceSettingParams {
+    /** Id */
+    id?: string;
+  }
+
   interface APIgetEnterpriseLoginInfoParams {
     /** 鏌ヨ浼佷笟鐢ㄦ埛鐧诲綍淇℃伅 */
     request?: GetEnterpriseLoginInfoQuery;
@@ -546,6 +556,8 @@
   }
 
   interface CalcTaskTotalServiceFeeCommand {
+    /** 渚涘簲鍟咺d */
+    supplierEnterpriseId?: string;
     billingMethod?: EnumBillingMethod;
     /** 鏈嶅姟璐� */
     serviceFee?: number;
@@ -553,17 +565,30 @@
     verifyWorkHours?: number;
     /** 鎬讳欢鏁� */
     totalPieceQuantity?: number;
+    /** 淇濋櫓浜у搧Id */
+    insuranceProductId?: string;
     /** 闇�姹備汉鏁� */
     needPeopleNumber?: number;
     /** 浠诲姟寮�濮嬫椂闂� */
     beginTime?: string;
     /** 浠诲姟缁撴潫鏃堕棿 */
     endTime?: string;
+    /** 楠屾敹鏂瑰紡 */
+    checkReceiveMethods?: EnumTaskCheckReceiveMethod[];
   }
 
   interface CalcTaskTotalServiceFeeCommandResult {
     /** 鏈嶅姟璐� */
     totalServiceFee?: number;
+    /** 淇濊垂鍗曚环 */
+    insuranceUnitPrice?: number;
+    /** 棰勮淇濊垂 */
+    insuranceTotalPrice?: number;
+    insuranceSupplierAccess?: EnumInsuranceSupplierAccess;
+    /** 鎶曚繚渚涘簲鍟嗚处鍙� */
+    insuranceSupplierAccount?: string;
+    /** 淇濋櫓渚涘簲鍟咺d */
+    insuranceSupplierId?: string;
   }
 
   interface ChangePhoneNumberCommand {
@@ -1042,6 +1067,11 @@
     Pass = 30,
   }
 
+  enum EnumInsuranceSupplierAccess {
+    /**浜鸿祫鍥� */
+    WaterDropCloud = 10,
+  }
+
   enum EnumLogLevel {
     /**璺熻釜 */
     Trace = 10,
@@ -1167,54 +1197,62 @@
     FlexJobServerTaskUser = 2,
     /**浠诲姟楠屾敹 */
     FlexJobServerTaskCheckReceive = 3,
+    /**鎶曚繚浜у搧 */
+    FlexJobServerInsuranceProduct = 4,
+    /**浼佷笟鎶曚繚浜у搧 */
+    FlexJobServerEnterpriseInsuranceProduct = 5,
     /**缂栧彿鍦板潃 */
-    CommonServerCodeUrls = 4,
+    CommonServerCodeUrls = 6,
     /**鏂囦欢 */
-    CommonServerFileUtils = 5,
+    CommonServerFileUtils = 7,
     /**浜嬩欢 */
-    CommonServerEventUtils = 6,
+    CommonServerEventUtils = 8,
     /**鏂囧瓧璇嗗埆 */
-    CommonServerOcrUtils = 7,
+    CommonServerOcrUtils = 9,
     /**鏃ュ織璁板綍 */
-    CommonServerLogRecords = 8,
+    CommonServerLogRecords = 10,
     /**鍚屾鏁版嵁搴� */
-    CommonServerSyncDatabase = 9,
+    CommonServerSyncDatabase = 11,
     /**鐭俊宸ュ叿 */
-    CommonServerSmsUtils = 10,
+    CommonServerSmsUtils = 12,
     /**閰嶇疆 */
-    CommonServerSettings = 11,
+    CommonServerSettings = 13,
     /**宸茶 */
-    CommonServerReadRecord = 12,
+    CommonServerReadRecord = 14,
+    /**寰俊灏忕▼搴� */
+    CommonServerWxmp = 15,
     /**鐢ㄦ埛璁よ瘉 */
-    UserServerAuth = 13,
+    UserServerAuth = 16,
     /**鐢ㄦ埛鑿滃崟 */
-    UserServerMenu = 14,
+    UserServerMenu = 17,
     /**鐢ㄦ埛璧勬簮 */
-    UserServerResource = 15,
+    UserServerResource = 18,
     /**鐢ㄦ埛瑙掕壊 */
-    UserServerRole = 16,
+    UserServerRole = 19,
     /**鐢ㄦ埛淇℃伅 */
-    UserServerUser = 17,
+    UserServerUser = 20,
     /**鐢ㄦ埛閽卞寘 */
-    UserServerUserWallet = 18,
+    UserServerUserWallet = 21,
     /**鐢靛瓙绛� */
-    UserServerElectronSign = 19,
+    UserServerElectronSign = 22,
     /**鐢ㄦ埛绠�鍘� */
-    UserServerUserResume = 20,
+    UserServerUserResume = 23,
     /**浼佷笟淇℃伅 */
-    UserServerEnterprise = 21,
+    UserServerEnterprise = 24,
     /**浼佷笟閽卞寘 */
-    UserServerEnterpriseWallet = 22,
+    UserServerEnterpriseWallet = 25,
     /**浼佷笟鍚堜綔閽卞寘 */
-    UserServerEnterpriseCooperationWallet = 23,
+    UserServerEnterpriseCooperationWallet = 26,
     /**鐏靛伐淇℃伅 */
-    UserServerEnterpriseEmployee = 24,
+    UserServerEnterpriseEmployee = 27,
     /**鐢靛瓙绛� */
-    ElectronSignServerElectronSign = 25,
+    ElectronSignServerElectronSign = 28,
     /**鐭俊 */
-    ToolServerSms = 26,
+    ToolServerSms = 29,
     /**灏忕▼搴� */
-    ToolServerWxmp = 27,
+    ToolServerWxmp = 30,
+    /**淇濋櫓 */
+    WaterDropCloudServerInsurance = 31,
   }
 
   enum EnumResourceMethod {
@@ -1614,6 +1652,35 @@
     VERIFY_FAIL = 1,
     /**楠岃瘉涓紝鍟嗘埛鍙彂璧锋彁鐜板皾璇� */
     VERIFYING = 2,
+  }
+
+  enum EnumWxmpSubscribMessageTemplate {
+    /**宸ユ槗璧� */
+    HireCompletedToPersonal = 0,
+    /**宸ユ槗璧� */
+    ElectronSignStatusChangedForPersonal = 1,
+    /**宸ユ槗璧� */
+    ArrangeCompletedToPersonal = 2,
+    /**宸ユ槗璧� */
+    TaskCheckReceiveResultToPersonal = 3,
+    /**宸ユ槗璧� */
+    SettlementReceiveToPersonal = 4,
+    /**鐏靛伐杈� */
+    TaskCheckReceiveResultToEnterprise = 5,
+    /**鐏靛伐杈� */
+    SettlementWaitAuditToEnterprise = 6,
+    /**鐏靛伐杈� */
+    SettlementReceiveToEnterprise = 7,
+    /**鐏靛伐杈� */
+    RechargeStatusChangedToEnterprise = 8,
+    /**娣橀棯宸� */
+    SettlementWaitSureToSupplier = 9,
+    /**娣橀棯宸� */
+    SettlementReceiveToSupplier = 10,
+    /**娣橀棯宸� */
+    RechargeStatusChangedToSupplier = 11,
+    /**娣橀棯宸� */
+    CheckInToSupplier = 12,
   }
 
   interface ExportEnterpriseBalanceDetailsCommand {
@@ -2188,6 +2255,42 @@
     timestamp?: number;
   }
 
+  interface FriendlyResultGetEnterpriseInsuranceProductsQueryResult {
+    /** 璺熻釜Id */
+    traceId?: string;
+    /** 鐘舵�佺爜 */
+    code?: number;
+    /** 閿欒鐮� */
+    errorCode?: string;
+    data?: GetEnterpriseInsuranceProductsQueryResult;
+    /** 鎵ц鎴愬姛 */
+    success?: boolean;
+    /** 閿欒淇℃伅 */
+    msg?: any;
+    /** 闄勫姞鏁版嵁 */
+    extras?: any;
+    /** 鏃堕棿鎴� */
+    timestamp?: number;
+  }
+
+  interface FriendlyResultGetEnterpriseInsuranceSettingQueryResult {
+    /** 璺熻釜Id */
+    traceId?: string;
+    /** 鐘舵�佺爜 */
+    code?: number;
+    /** 閿欒鐮� */
+    errorCode?: string;
+    data?: GetEnterpriseInsuranceSettingQueryResult;
+    /** 鎵ц鎴愬姛 */
+    success?: boolean;
+    /** 閿欒淇℃伅 */
+    msg?: any;
+    /** 闄勫姞鏁版嵁 */
+    extras?: any;
+    /** 鏃堕棿鎴� */
+    timestamp?: number;
+  }
+
   interface FriendlyResultGetEnterpriseLoginInfoQueryResult {
     /** 璺熻釜Id */
     traceId?: string;
@@ -2448,6 +2551,24 @@
     /** 閿欒鐮� */
     errorCode?: string;
     data?: GetIdentityFrontOcrCommandResult;
+    /** 鎵ц鎴愬姛 */
+    success?: boolean;
+    /** 閿欒淇℃伅 */
+    msg?: any;
+    /** 闄勫姞鏁版嵁 */
+    extras?: any;
+    /** 鏃堕棿鎴� */
+    timestamp?: number;
+  }
+
+  interface FriendlyResultGetInsuranceProductsQueryResult {
+    /** 璺熻釜Id */
+    traceId?: string;
+    /** 鐘舵�佺爜 */
+    code?: number;
+    /** 閿欒鐮� */
+    errorCode?: string;
+    data?: GetInsuranceProductsQueryResult;
     /** 鎵ц鎴愬姛 */
     success?: boolean;
     /** 閿欒淇℃伅 */
@@ -3564,6 +3685,25 @@
     errorCode?: string;
     /** 鏁版嵁 */
     data?: SelectOptionGuidGetTaskSelectQueryOption[];
+    /** 鎵ц鎴愬姛 */
+    success?: boolean;
+    /** 閿欒淇℃伅 */
+    msg?: any;
+    /** 闄勫姞鏁版嵁 */
+    extras?: any;
+    /** 鏃堕棿鎴� */
+    timestamp?: number;
+  }
+
+  interface FriendlyResultListSelectOptionNullableGuidGetEnterpriseInsuranceProductSelectQueryOption {
+    /** 璺熻釜Id */
+    traceId?: string;
+    /** 鐘舵�佺爜 */
+    code?: number;
+    /** 閿欒鐮� */
+    errorCode?: string;
+    /** 鏁版嵁 */
+    data?: SelectOptionNullableGuidGetEnterpriseInsuranceProductSelectQueryOption[];
     /** 鎵ц鎴愬姛 */
     success?: boolean;
     /** 閿欒淇℃伅 */
@@ -5028,6 +5168,78 @@
     createdTime?: string;
   }
 
+  interface GetEnterpriseInsuranceProductSelectQueryOption {
+    /** Id */
+    id?: string;
+    /** 浜у搧鍚嶇О */
+    name?: string;
+  }
+
+  interface GetEnterpriseInsuranceProductsQuery {
+    /** 浼佷笟鍚堜綔Id */
+    enterpriseCooperationId: string;
+    /** 鍏抽敭瀛� */
+    keywords?: string;
+    /** 淇濋櫓鍏徃缂栧彿 */
+    supplierCode?: string;
+    /** 淇濋櫓闄╃缂栧彿 */
+    typeCode?: string;
+    /** 淇濋缂栧彿 */
+    sumInsuredCode?: string;
+    /** 鎶曚繚鏂瑰紡缂栧彿 */
+    periodCode?: string;
+    /** 鏄惁绂佺敤 */
+    isDisabled?: boolean;
+    pageModel?: PagedListQueryPageModel;
+  }
+
+  interface GetEnterpriseInsuranceProductsQueryResult {
+    pageModel?: PagedListQueryResultPageModel;
+    /** 鏁版嵁 */
+    data?: GetEnterpriseInsuranceProductsQueryResultItem[];
+  }
+
+  interface GetEnterpriseInsuranceProductsQueryResultItem {
+    /** Id */
+    id?: string;
+    /** 淇濋櫓鍏徃缂栧彿 */
+    supplierCode?: string;
+    /** 淇濋櫓鍏徃 */
+    supplierContent?: string;
+    /** 浜у搧鍚嶇О */
+    name?: string;
+    /** 淇濋櫓闄╃缂栧彿 */
+    typeCode?: string;
+    /** 淇濋櫓闄╃ */
+    typeContent?: string;
+    /** 淇濋缂栧彿 */
+    sumInsuredCode?: string;
+    /** 淇濋 */
+    sumInsuredContent?: string;
+    /** 鎶曚繚鏂瑰紡缂栧彿 */
+    periodCode?: string;
+    /** 鎶曚繚鏂瑰紡 */
+    periodContent?: string;
+    /** 鑱屼笟绫诲埆缂栧彿 */
+    jobCategoryCode?: string;
+    /** 鑱屼笟绫诲埆 */
+    jobCategoryContent?: string;
+    /** 鎶曚繚鐗堟湰缂栧彿 */
+    versionCode?: string;
+    /** 鎶曚繚鐗堟湰 */
+    versionContent?: string;
+    /** 鏄惁绂佺敤 */
+    isDisabled?: boolean;
+  }
+
+  interface GetEnterpriseInsuranceSettingQueryResult {
+    /** Id */
+    id?: string;
+    insuranceSupplierAccess?: EnumInsuranceSupplierAccess;
+    /** 鎶曚繚渚涘簲鍟嗚处鍙� */
+    insuranceSupplierAccount?: string;
+  }
+
   type GetEnterpriseLoginInfoQuery = Record<string, any>;
 
   interface GetEnterpriseLoginInfoQueryResult {
@@ -5548,6 +5760,61 @@
     model?: BaiduOcrIdentityFrontResultModel;
   }
 
+  interface GetInsuranceProductsQuery {
+    /** 鍏抽敭瀛� */
+    keywords?: string;
+    /** 淇濋櫓鍏徃缂栧彿 */
+    supplierCode?: string;
+    /** 淇濋櫓闄╃缂栧彿 */
+    typeCode?: string;
+    /** 淇濋缂栧彿 */
+    sumInsuredCode?: string;
+    /** 鎶曚繚鏂瑰紡缂栧彿 */
+    periodCode?: string;
+    /** 鏄惁绂佺敤 */
+    isDisabled?: boolean;
+    pageModel?: PagedListQueryPageModel;
+  }
+
+  interface GetInsuranceProductsQueryResult {
+    pageModel?: PagedListQueryResultPageModel;
+    /** 鏁版嵁 */
+    data?: GetInsuranceProductsQueryResultItem[];
+  }
+
+  interface GetInsuranceProductsQueryResultItem {
+    /** Id */
+    id?: string;
+    /** 淇濋櫓鍏徃缂栧彿 */
+    supplierCode?: string;
+    /** 淇濋櫓鍏徃 */
+    supplierContent?: string;
+    /** 浜у搧鍚嶇О */
+    name?: string;
+    /** 淇濋櫓闄╃缂栧彿 */
+    typeCode?: string;
+    /** 淇濋櫓闄╃ */
+    typeContent?: string;
+    /** 淇濋缂栧彿 */
+    sumInsuredCode?: string;
+    /** 淇濋 */
+    sumInsuredContent?: string;
+    /** 鎶曚繚鏂瑰紡缂栧彿 */
+    periodCode?: string;
+    /** 鎶曚繚鏂瑰紡 */
+    periodContent?: string;
+    /** 鑱屼笟绫诲埆缂栧彿 */
+    jobCategoryCode?: string;
+    /** 鑱屼笟绫诲埆 */
+    jobCategoryContent?: string;
+    /** 鎶曚繚鐗堟湰缂栧彿 */
+    versionCode?: string;
+    /** 鎶曚繚鐗堟湰 */
+    versionContent?: string;
+    /** 鏄惁绂佺敤 */
+    isDisabled?: boolean;
+  }
+
   interface GetLicenseOcrCommand {
     access?: EnumOcrAccess;
     /** 鍦烘櫙 */
@@ -5854,6 +6121,8 @@
     serviceFeeRate?: number;
     /** 鍙戠エ绋庣偣 */
     invoiceTaxPointRate?: number;
+    /** 鏄惁宸查厤缃� */
+    isConfigured?: boolean;
   }
 
   interface GetPersonalApplyTaskInfosQuery {
@@ -7037,6 +7306,10 @@
     timeoutServiceFee?: number;
     /** 鎬讳欢鏁� */
     totalPieceQuantity?: number;
+    /** 淇濋櫓浜у搧Id */
+    insuranceProductId?: string;
+    /** 淇濋櫓浜у搧鍚嶇О */
+    insuranceProductName?: string;
     settlementCycle?: EnumSettlementCycle;
     /** 缁撶畻鏃ユ湡 */
     settlementDate?: number;
@@ -8335,6 +8608,27 @@
     ext?: string;
   }
 
+  interface SaveInsuranceProductCommand {
+    /** 淇濋櫓鍏徃缂栧彿 */
+    supplierCode: string;
+    /** 浜у搧鍚嶇О */
+    name: string;
+    /** 淇濋櫓闄╃缂栧彿 */
+    typeCode?: string;
+    /** 淇濋缂栧彿 */
+    sumInsuredCode?: string;
+    /** 鎶曚繚鏂瑰紡缂栧彿 */
+    periodCode?: string;
+    /** 鑱屼笟绫诲埆缂栧彿 */
+    jobCategoryCode?: string;
+    /** 鐗堟湰缂栧彿 */
+    versionCode?: string;
+    /** 鏄惁绂佺敤 */
+    isDisabled?: boolean;
+    /** Id */
+    id?: string;
+  }
+
   interface SaveMenuButtonCommand {
     /** 鑿滃崟Id */
     parentId?: string;
@@ -8587,6 +8881,8 @@
     timeoutServiceFee?: number;
     /** 鎬讳欢鏁� */
     totalPieceQuantity?: number;
+    /** 淇濋櫓浜у搧Id */
+    insuranceProductId?: string;
     settlementCycle: EnumSettlementCycle;
     /** 缁撶畻鏃ユ湡 */
     settlementDate: number;
@@ -8770,6 +9066,14 @@
     data?: GetTaskSelectQueryOption;
   }
 
+  interface SelectOptionNullableGuidGetEnterpriseInsuranceProductSelectQueryOption {
+    /** 鍊� */
+    value?: string;
+    /** 鏍囩 */
+    label?: string;
+    data?: GetEnterpriseInsuranceProductSelectQueryOption;
+  }
+
   interface SelectOptionStringGetDictionaryDataSelectQueryResultOption {
     /** 鍊� */
     value?: string;
@@ -8804,7 +9108,27 @@
     phoneNumber: string;
   }
 
+  interface SendWxmpSubscribMessageCommand {
+    template: EnumWxmpSubscribMessageTemplate;
+    /** 鐐瑰嚮妯℃澘鍗$墖鍚庣殑璺宠浆椤甸潰锛屼粎闄愭湰灏忕▼搴忓唴鐨勯〉闈€�傛敮鎸佸甫鍙傛暟,锛堢ず渚媔ndex?foo=bar锛夈�傝瀛楁涓嶅~鍒欐ā鏉挎棤璺宠浆 */
+    page?: string;
+    /** 鐢ㄦ埛Id */
+    userId?: string;
+    /** 浼佷笟Id */
+    enterpriseId?: string;
+    /** 鍏宠仈Id */
+    relationId?: string;
+  }
+
   interface SetDictionaryDataIsDisabledCommand {
+    ids?: string[];
+    /** 鏄惁宸茬鐢� */
+    isDisabled?: boolean;
+  }
+
+  interface SetDisabledEnterpriseInsuranceProductsCommand {
+    /** 浼佷笟鍚堜綔Id */
+    enterpriseCooperationId?: string;
     ids?: string[];
     /** 鏄惁宸茬鐢� */
     isDisabled?: boolean;
@@ -8817,6 +9141,14 @@
     electronSignAccesses?: EnumElectronSignAccess[];
   }
 
+  interface SetEnterpriseInsuranceSettingCommand {
+    /** Id */
+    id?: string;
+    insuranceSupplierAccess?: EnumInsuranceSupplierAccess;
+    /** 鎶曚繚渚涘簲鍟嗚处鍙� */
+    insuranceSupplierAccount?: string;
+  }
+
   interface SetEnterpriseSmsSettingCommand {
     /** Id */
     id?: string;
@@ -8831,6 +9163,12 @@
     isDisabled?: boolean;
   }
 
+  interface SetIsDisabledInsuranceProductCommand {
+    ids?: string[];
+    /** 鏄惁宸茬鐢� */
+    isDisabled?: boolean;
+  }
+
   interface SetMenuSwitchCommand {
     /** Id */
     ids?: string[];
diff --git a/packages/services/apiV2/wxmpUtils.ts b/packages/services/apiV2/wxmpUtils.ts
new file mode 100644
index 0000000..ab5fbf0
--- /dev/null
+++ b/packages/services/apiV2/wxmpUtils.ts
@@ -0,0 +1,18 @@
+/* eslint-disable */
+// @ts-ignore
+import { request } from '@/utils/request';
+
+/** 鍙戦�佸井淇¤闃呮秷鎭� POST /api/common/wxmpUtils/sendWxmpSubscribMessage */
+export async function sendWxmpSubscribMessage(
+  body: API.SendWxmpSubscribMessageCommand,
+  options?: API.RequestConfig
+) {
+  return request<string>('/api/common/wxmpUtils/sendWxmpSubscribMessage', {
+    method: 'POST',
+    headers: {
+      'Content-Type': 'application/json-patch+json',
+    },
+    data: body,
+    ...(options || {}),
+  });
+}

--
Gitblit v1.9.1