From 68e3ef3c7e93de361e04dd2fc5dc261ba436b652 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期四, 11 九月 2025 15:57:58 +0800
Subject: [PATCH] fix: bug
---
src/views/CPersonManage/components/CPersonDetailDialog.vue | 151 +++++++++++++++++++++++++++-----------------------
1 files changed, 82 insertions(+), 69 deletions(-)
diff --git a/src/views/CPersonManage/components/CPersonDetailDialog.vue b/src/views/CPersonManage/components/CPersonDetailDialog.vue
index e6d9e99..cd5cb06 100644
--- a/src/views/CPersonManage/components/CPersonDetailDialog.vue
+++ b/src/views/CPersonManage/components/CPersonDetailDialog.vue
@@ -1,38 +1,57 @@
<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>
<ProTabPane lazy label="绛剧害璇︽儏" name="sign">
<ProDialogTableWrapper :height="400">
<ProTableV2 v-bind="proTableProps" :columns="column" :show-operation-column="false">
+ <template #contractUrl="{ row }">
+ <PreviewBtn
+ v-if="
+ row.userSignContractStatus === EnumTaskUserSignContractStatus.Pass &&
+ row.contractUrl
+ "
+ :show-download-btn="false"
+ :url="setOSSLink(row.contractUrl)"
+ >
+ </PreviewBtn>
+ </template>
</ProTableV2>
</ProDialogTableWrapper>
</ProTabPane>
</ProTabs>
+ <template #footer>
+ <span class="dialog-footer">
+ <el-button @click="emit('onCancel')">鍏抽棴</el-button>
+ </span>
+ </template>
</ProDialog>
</template>
@@ -51,46 +70,47 @@
ProFormImageUpload,
ProFormRadio,
ProFormInputNumber,
+ defineColumns,
+ PreviewBtn,
} from '@bole-core/components';
-import { OrderInputType } from '@bole-core/core';
import _ from 'lodash';
-import * as flexEnterpriseWokerServices from '@/services/api/FlexEnterpriseWoker';
+import * as userServices from '@/services/api/user';
+import {
+ EnumUserGender,
+ EnumUserGenderTextForPerson,
+ EnumTaskUserHireStatusText,
+ EnumTaskUserSignContractStatusText,
+ EnumTaskUserSignContractStatus,
+} from '@/constants';
import { setOSSLink } from '@/utils';
-import { FlexTaskWorkerHireEnumText, FlexWorkerEleSignEnumText, Gender, GenderText } 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>('modelValue');
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 +125,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,31 +148,18 @@
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,
(val) => {
+ console.log('val: ', val);
if (val) {
getList();
}
+ },
+ {
+ immediate: true,
}
);
@@ -164,29 +171,35 @@
} = 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: 'id', 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 },
+ // contractUrl: {
+ // type: 'url',
+ // showDownloadBtn: false,
+ // formatter: (row: API.GetPersonalUserInfoSignContractsQueryResultItem) =>
+ // setOSSLink(row.contractUrl),
+ // },
},
}
);
--
Gitblit v1.9.1