From f74773301c30eb6f74b0b6c091998196b071daba Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期一, 13 十月 2025 17:49:01 +0800
Subject: [PATCH] feat: 微信
---
src/views/CPersonManage/components/CPersonDetailDialog.vue | 199 +++++++------------------------------------------
1 files changed, 29 insertions(+), 170 deletions(-)
diff --git a/src/views/CPersonManage/components/CPersonDetailDialog.vue b/src/views/CPersonManage/components/CPersonDetailDialog.vue
index e6d9e99..415b8c4 100644
--- a/src/views/CPersonManage/components/CPersonDetailDialog.vue
+++ b/src/views/CPersonManage/components/CPersonDetailDialog.vue
@@ -1,195 +1,54 @@
<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" />
- </ProFormItemV2>
- <ProFormItemV2 label="韬唤璇佸彿:" prop="idNumber">
- <ProFormText v-model.trim="innerForm.idNumber" />
- </ProFormItemV2>
- <ProFormItemV2 label="鎵嬫満鍙�:" prop="contactPhone">
- <ProFormText v-model.trim="innerForm.contactPhone" />
- </ProFormItemV2>
- <ProFormItemV2 label="鎬у埆:" prop="age">
- <ProFormRadio v-model="innerForm.genderType" :value-enum="GenderText"></ProFormRadio>
- </ProFormItemV2>
- <ProFormItemV2 label="骞撮緞:" prop="age">
- <ProFormInputNumber v-model="innerForm.age" unit="宀�"></ProFormInputNumber>
- </ProFormItemV2>
- <ProFormItemV2 label="韬唤璇佹闈�:" prop="certificateFrontImgUrl">
- <ProFormImageUpload v-model:file-url="innerForm.certificateFrontImgUrl" />
- </ProFormItemV2>
- <ProFormItemV2 label="韬唤璇佸弽闈�:" prop="certificateBackImgUrl">
- <ProFormImageUpload v-model:file-url="innerForm.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>
+ <span class="dialog-footer">
+ <el-button @click="emit('onCancel')">鍏抽棴</el-button>
+ </span>
+ </template>
</ProDialog>
</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, UploadUserFile } from '@bole-core/components';
import _ from 'lodash';
-import * as flexEnterpriseWokerServices from '@/services/api/FlexEnterpriseWoker';
-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',
});
-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[];
+ userRealTime: string;
};
-const props = withDefaults(defineProps<Props>(), {
- modelValue: false,
-});
+const form = defineModel<Form>('form');
+const visible = defineModel<boolean>('modelValue');
const emit = defineEmits<{
- (e: 'update:modelValue', value: boolean): void;
- (e: 'update:form', value: Props['form']): void;
(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: '鐢靛瓙鍚堝悓',
- },
-];
-
-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,
- (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: props.form.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