From 1cbf9952dff257482264fb09e49d38b5df97d52e Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期四, 14 八月 2025 15:58:18 +0800
Subject: [PATCH] feat: 接口对接

---
 src/views/CPersonManage/components/CPersonDetailDialog.vue |  129 +++++++++++++++++++-----------------------
 1 files changed, 59 insertions(+), 70 deletions(-)

diff --git a/src/views/CPersonManage/components/CPersonDetailDialog.vue b/src/views/CPersonManage/components/CPersonDetailDialog.vue
index e6d9e99..a42d246 100644
--- a/src/views/CPersonManage/components/CPersonDetailDialog.vue
+++ b/src/views/CPersonManage/components/CPersonDetailDialog.vue
@@ -1,28 +1,31 @@
 <template>
-  <ProDialog title="鐢宠璇︽儏" v-model="innerVisible" width="1200px" destroy-on-close>
-    <ProTabs v-model="innerForm.tabType" hasBorder>
+  <ProDialog title="鐢宠璇︽儏" v-model="visible" width="1200px" destroy-on-close>
+    <ProTabs v-model="form.tabType" hasBorder>
       <ProTabPane lazy label="浜哄憳璇︽儏" name="user">
         <ProForm :model="form" ref="dialogForm" label-width="120px" is-read>
           <ProFormItemV2 label="濮撳悕:" prop="name">
-            <ProFormText v-model.trim="innerForm.name" />
+            <ProFormText v-model.trim="form.name" />
           </ProFormItemV2>
-          <ProFormItemV2 label="韬唤璇佸彿:" prop="idNumber">
-            <ProFormText v-model.trim="innerForm.idNumber" />
+          <ProFormItemV2 label="韬唤璇佸彿:" prop="identity">
+            <ProFormText v-model.trim="form.identity" />
           </ProFormItemV2>
-          <ProFormItemV2 label="鎵嬫満鍙�:" prop="contactPhone">
-            <ProFormText v-model.trim="innerForm.contactPhone" />
+          <ProFormItemV2 label="鎵嬫満鍙�:" prop="contactPhoneNumber">
+            <ProFormText v-model.trim="form.contactPhoneNumber" />
           </ProFormItemV2>
-          <ProFormItemV2 label="鎬у埆:" prop="age">
-            <ProFormRadio v-model="innerForm.genderType" :value-enum="GenderText"></ProFormRadio>
+          <ProFormItemV2 label="鎬у埆:" prop="gender">
+            <ProFormRadio
+              v-model="form.gender"
+              :value-enum="EnumUserGenderTextForPerson"
+            ></ProFormRadio>
           </ProFormItemV2>
           <ProFormItemV2 label="骞撮緞:" prop="age">
-            <ProFormInputNumber v-model="innerForm.age" unit="宀�"></ProFormInputNumber>
+            <ProFormInputNumber v-model="form.age" unit="宀�"></ProFormInputNumber>
           </ProFormItemV2>
-          <ProFormItemV2 label="韬唤璇佹闈�:" prop="certificateFrontImgUrl">
-            <ProFormImageUpload v-model:file-url="innerForm.certificateFrontImgUrl" />
+          <ProFormItemV2 label="韬唤璇佹闈�:" prop="identityImg">
+            <ProFormImageUpload v-model:file-url="form.identityImg" />
           </ProFormItemV2>
-          <ProFormItemV2 label="韬唤璇佸弽闈�:" prop="certificateBackImgUrl">
-            <ProFormImageUpload v-model:file-url="innerForm.certificateBackImgUrl" />
+          <ProFormItemV2 label="韬唤璇佸弽闈�:" prop="identityBackImg">
+            <ProFormImageUpload v-model:file-url="form.identityBackImg" />
           </ProFormItemV2>
         </ProForm>
       </ProTabPane>
@@ -33,6 +36,11 @@
         </ProDialogTableWrapper>
       </ProTabPane>
     </ProTabs>
+    <template #footer>
+      <span class="dialog-footer">
+        <el-button @click="emit('onCancel')">鍏抽棴</el-button>
+      </span>
+    </template>
   </ProDialog>
 </template>
 
@@ -51,46 +59,44 @@
   ProFormImageUpload,
   ProFormRadio,
   ProFormInputNumber,
+  defineColumns,
 } from '@bole-core/components';
-import { OrderInputType } from '@bole-core/core';
 import _ from 'lodash';
-import * as flexEnterpriseWokerServices from '@/services/api/FlexEnterpriseWoker';
-import { setOSSLink } from '@/utils';
-import { FlexTaskWorkerHireEnumText, FlexWorkerEleSignEnumText, Gender, GenderText } from '@/constants';
+import * as userServices from '@/services/api/user';
+import {
+  EnumUserGender,
+  EnumUserGenderTextForPerson,
+  EnumTaskUserHireStatusText,
+  EnumTaskUserSignContractStatusText,
+} from '@/constants';
 
 defineOptions({
   name: 'CPersonDetailDialog',
 });
 
-type Props = {
-  modelValue: boolean;
-  form: {
-    tabType: string;
-    userId: string;
-    name: string;
-    idNumber: string;
-    contactPhone: string;
-    age: number;
-    genderType:Gender;
-    certificateFrontImgUrl: UploadUserFile[];
-    certificateBackImgUrl: UploadUserFile[];
-  };
+type Form = {
+  tabType: string;
+  id: string;
+  name: string;
+  identity: string;
+  contactPhoneNumber: string;
+  age: number;
+  gender: EnumUserGender;
+  identityImg: UploadUserFile[];
+  identityBackImg: UploadUserFile[];
 };
 
-const props = withDefaults(defineProps<Props>(), {
-  modelValue: false,
-});
+const form = defineModel<Form>('form');
+const visible = defineModel<boolean>('visible');
 
 const emit = defineEmits<{
-  (e: 'update:modelValue', value: boolean): void;
-  (e: 'update:form', value: Props['form']): void;
   (e: 'onCancel'): void;
 }>();
 
-const column: API.CustomModuleColumnDto[] = [
+const column = defineColumns([
   {
     id: '1',
-    enCode: 'enterpirseName',
+    enCode: 'enterpriseName',
     name: '鎵�灞炲鎴�',
   },
   {
@@ -105,22 +111,22 @@
   },
   {
     id: '4',
-    enCode: 'hireDateTime',
+    enCode: 'hireTime',
     name: '褰曠敤鏃堕棿',
   },
   {
     id: '5',
-    enCode: 'userSignStatus',
+    enCode: 'userSignContractStatus',
     name: '绛剧害鐘舵��',
   },
   {
     id: '6',
-    enCode: 'enterSignStatus',
+    enCode: 'enterpriseSignContractStatus',
     name: '浼佷笟绛剧害鐘舵��',
   },
   {
     id: '7',
-    enCode: 'enterSignTime',
+    enCode: 'enterpriseSignContractTime',
     name: '浼佷笟绛剧害鏃堕棿',
   },
   {
@@ -128,27 +134,10 @@
     enCode: 'contractUrl',
     name: '鐢靛瓙鍚堝悓',
   },
-];
-
-const innerVisible = computed({
-  get() {
-    return props.modelValue;
-  },
-  set(val) {
-    emit('update:modelValue', val);
-  },
-});
-const innerForm = computed({
-  get() {
-    return props.form;
-  },
-  set(val) {
-    emit('update:form', val);
-  },
-});
+]);
 
 watch(
-  () => innerVisible.value,
+  () => visible.value,
   (val) => {
     if (val) {
       getList();
@@ -164,29 +153,29 @@
 } = useTable(
   async ({ pageIndex, pageSize }, extraParamState) => {
     try {
-      let params: API.GetUserClientSignListInput = {
+      let params: API.GetPersonalUserInfoSignContractsQuery = {
         pageModel: {
           rows: pageSize,
           page: pageIndex,
           orderInput: extraParamState.orderInput,
         },
-        userId: props.form.userId,
+        id: form.value.id,
       };
-      let res = await flexEnterpriseWokerServices.getUserClientSignList(params);
+      let res = await userServices.getPersonalUserInfoSignContracts(params);
       return res;
     } catch (error) {}
   },
   {
     defaultExtraParams: {
-      orderInput: [{ property: 'applyTime', order: OrderInputType.Desc }],
+      orderInput: [{ property: 'applyTime', order: EnumPagedListOrder.Desc }],
     },
     columnsRenderProps: {
       applyTime: { type: 'date' },
-      hireDateTime: { type: 'date' },
-      userSignTime: { type: 'date' },
-      hireStatus: { type: 'enum', valueEnum: FlexTaskWorkerHireEnumText },
-      userSignStatus: { type: 'enum', valueEnum: FlexWorkerEleSignEnumText },
-      enterSignStatus: { type: 'enum', valueEnum: FlexWorkerEleSignEnumText },
+      hireTime: { type: 'date' },
+      enterpriseSignContractTime: { type: 'date' },
+      hireStatus: { type: 'enum', valueEnum: EnumTaskUserHireStatusText },
+      userSignContractStatus: { type: 'enum', valueEnum: EnumTaskUserSignContractStatusText },
+      enterpriseSignContractStatus: { type: 'enum', valueEnum: EnumTaskUserSignContractStatusText },
     },
   }
 );

--
Gitblit v1.9.1