From 4f0a665d8b0078defa95c6557ed46c681ca29fc6 Mon Sep 17 00:00:00 2001 From: wupengfei <834520024@qq.com> Date: 星期四, 11 九月 2025 17:38:04 +0800 Subject: [PATCH] feat: 页面 --- src/views/CPersonManage/components/CPersonDetailDialog.vue | 157 +++------------------------------------------------ 1 files changed, 11 insertions(+), 146 deletions(-) diff --git a/src/views/CPersonManage/components/CPersonDetailDialog.vue b/src/views/CPersonManage/components/CPersonDetailDialog.vue index 45a2fe2..9c2baf9 100644 --- a/src/views/CPersonManage/components/CPersonDetailDialog.vue +++ b/src/views/CPersonManage/components/CPersonDetailDialog.vue @@ -2,35 +2,13 @@ <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="form.name" /> - </ProFormItemV2> - <ProFormItemV2 label="韬唤璇佸彿:" prop="idNumber"> - <ProFormText v-model.trim="form.idNumber" /> - </ProFormItemV2> - <ProFormItemV2 label="鎵嬫満鍙�:" prop="contactPhone"> - <ProFormText v-model.trim="form.contactPhone" /> - </ProFormItemV2> - <ProFormItemV2 label="鎬у埆:" prop="age"> - <ProFormRadio v-model="form.genderType" :value-enum="GenderText"></ProFormRadio> - </ProFormItemV2> - <ProFormItemV2 label="骞撮緞:" prop="age"> - <ProFormInputNumber v-model="form.age" unit="宀�"></ProFormInputNumber> - </ProFormItemV2> - <ProFormItemV2 label="韬唤璇佹闈�:" prop="certificateFrontImgUrl"> - <ProFormImageUpload v-model:file-url="form.certificateFrontImgUrl" /> - </ProFormItemV2> - <ProFormItemV2 label="韬唤璇佸弽闈�:" prop="certificateBackImgUrl"> - <ProFormImageUpload v-model:file-url="form.certificateBackImgUrl" /> - </ProFormItemV2> - </ProForm> + <!-- <StaffDetailInfoView :form="form" /> --> + </ProTabPane> + <ProTabPane lazy label="浜哄憳绠�鍘�" name="resume"> + <!-- <StaffResumeView :form="form" /> --> </ProTabPane> <ProTabPane lazy label="绛剧害璇︽儏" name="sign"> - <ProDialogTableWrapper :height="400"> - <ProTableV2 v-bind="proTableProps" :columns="column" :show-operation-column="false"> - </ProTableV2> - </ProDialogTableWrapper> + <SignDetailView :form="form" /> </ProTabPane> </ProTabs> <template #footer> @@ -42,30 +20,11 @@ </template> <script setup lang="ts"> -import { - ProDialog, - ProTableV2, - ProDialogTableWrapper, - ProTabs, - ProTabPane, - useTable, - ProForm, - ProFormItemV2, - ProFormText, - UploadUserFile, - ProFormImageUpload, - ProFormRadio, - ProFormInputNumber, -} from '@bole-core/components'; -import { OrderInputType } from '@bole-core/core'; +import { ProDialog, ProTabs, ProTabPane } from '@bole-core/components'; import _ from 'lodash'; -import { setOSSLink } from '@/utils'; -import { - FlexTaskWorkerHireEnumText, - FlexWorkerEleSignEnumText, - Gender, - GenderText, -} from '@/constants'; +import StaffDetailInfoView from './StaffDetailInfoView.vue'; +import StaffResumeView from './StaffResumeView.vue'; +import SignDetailView from './SignDetailView.vue'; defineOptions({ name: 'CPersonDetailDialog', @@ -73,109 +32,15 @@ type Form = { tabType: string; - userId: string; - name: string; - idNumber: string; - contactPhone: string; - age: number; - genderType: Gender; - certificateFrontImgUrl: UploadUserFile[]; - certificateBackImgUrl: UploadUserFile[]; + id: string; }; const form = defineModel<Form>('form'); -const visible = defineModel<boolean>('visible'); +const visible = defineModel<boolean>('modelValue'); const emit = defineEmits<{ (e: 'onCancel'): void; }>(); - -const column: API.CustomModuleColumnDto[] = [ - { - id: '1', - enCode: 'enterpirseName', - name: '鎵�灞炲鎴�', - }, - { - id: '2', - enCode: 'applyTime', - name: '鎶ュ悕鏃堕棿', - }, - { - id: '3', - enCode: 'hireStatus', - name: '褰曠敤鐘舵��', - }, - { - id: '4', - enCode: 'hireDateTime', - name: '褰曠敤鏃堕棿', - }, - { - id: '5', - enCode: 'userSignStatus', - name: '绛剧害鐘舵��', - }, - { - id: '6', - enCode: 'enterSignStatus', - name: '浼佷笟绛剧害鐘舵��', - }, - { - id: '7', - enCode: 'enterSignTime', - name: '浼佷笟绛剧害鏃堕棿', - }, - { - id: '8', - enCode: 'contractUrl', - name: '鐢靛瓙鍚堝悓', - }, -]; - -watch( - () => visible.value, - (val) => { - if (val) { - getList(); - } - } -); - -const { - getDataSource: getList, - proTableProps, - paginationState, - extraParamState, -} = useTable( - async ({ pageIndex, pageSize }, extraParamState) => { - try { - let params: API.GetUserClientSignListInput = { - pageModel: { - rows: pageSize, - page: pageIndex, - orderInput: extraParamState.orderInput, - }, - userId: form.value.userId, - }; - let res = await flexEnterpriseWokerServices.getUserClientSignList(params); - return res; - } catch (error) {} - }, - { - defaultExtraParams: { - orderInput: [{ property: 'applyTime', order: OrderInputType.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 }, - }, - } -); </script> <style lang="scss" scoped> -- Gitblit v1.9.1