From 2d186e743eb24fd44fba02e2146e55273a66f153 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期三, 12 十一月 2025 17:53:47 +0800
Subject: [PATCH] feat: 1.3.0.2
---
src/views/EmploymentManage/EmploymentSignList.vue | 9 +
src/views/FlexJobManage/FlexJobManage.vue | 75 ++++++---
src/views/FlexJobManage/components/AddInternalStaffDialog.vue | 222 +++++++++++++++++++++++++++++++
src/views/EmploymentManage/components/CheckManageDialog.vue | 9 +
src/views/FlexJobManage/components/StaffInfoDialog.vue | 55 +++----
src/services/api/typings.d.ts | 18 ++
src/views/EmploymentManage/TaskManageList.vue | 12 +
src/views/EmploymentManage/CheckReceiveTaskDetail.vue | 7
src/views/EmploymentManage/EmploymentManageArrange.vue | 6
9 files changed, 346 insertions(+), 67 deletions(-)
diff --git a/src/services/api/typings.d.ts b/src/services/api/typings.d.ts
index 113f2ac..c354538 100644
--- a/src/services/api/typings.d.ts
+++ b/src/services/api/typings.d.ts
@@ -3901,6 +3901,7 @@
}
interface GetArrangeTaskUsersQueryResult {
+ objectData?: GetArrangeTaskUsersQueryResultObjectData;
pageModel?: PagedListQueryResultPageModel;
/** 鏁版嵁 */
data?: GetArrangeTaskUsersQueryResultItem[];
@@ -3938,6 +3939,11 @@
/** 宸ヤ綔缁忛獙 */
workExperience?: string;
arrangeStatus?: EnumTaskUserArrangeStatus;
+ }
+
+ interface GetArrangeTaskUsersQueryResultObjectData {
+ /** 鏄惁鍐呴儴浠诲姟 */
+ isInternal?: boolean;
}
interface GetBankOcrCommand {
@@ -4053,6 +4059,8 @@
interface GetCheckReceiveTaskQueryResultObjectData {
/** 渚涘簲鍟咺d */
supplierEnterpriseId?: string;
+ /** 鏄惁鍐呴儴浠诲姟 */
+ isInternal?: boolean;
/** 闇�姹備汉鏁� */
needPeopleNumber?: number;
/** 浠诲姟鍚嶇О */
@@ -4324,6 +4332,8 @@
addressName?: string;
/** 楠屾敹鏂瑰紡 */
checkReceiveMethods?: EnumTaskCheckReceiveMethod[];
+ /** 鏄惁鍐呴儴浠诲姟 */
+ isInternal?: boolean;
}
interface GetCodeUrlQueryResult {
@@ -7060,6 +7070,8 @@
id?: string;
/** 渚涘簲鍟咺d */
supplierEnterpriseId?: string;
+ /** 鏄惁鍐呴儴浠诲姟 */
+ isInternal?: boolean;
/** 渚涘簲鍟� */
supplierEnterpriseName?: string;
/** 渚涘簲鍟嗚处鍙� */
@@ -7170,6 +7182,7 @@
}
interface GetTaskUsersQueryResult {
+ objectData?: GetTaskUsersQueryResultObjectData;
pageModel?: PagedListQueryResultPageModel;
/** 鏁版嵁 */
data?: GetTaskUsersQueryResultItem[];
@@ -7211,6 +7224,11 @@
hireStatus?: EnumTaskUserHireStatus;
}
+ interface GetTaskUsersQueryResultObjectData {
+ /** 鏄惁鍐呴儴浠诲姟 */
+ isInternal?: boolean;
+ }
+
interface GetThreeResourceLogsQuery {
/** 鍒涘缓鏃堕棿-璧峰 */
createdTimeBegin?: string;
diff --git a/src/views/EmploymentManage/CheckReceiveTaskDetail.vue b/src/views/EmploymentManage/CheckReceiveTaskDetail.vue
index c0e74fa..8eaa267 100644
--- a/src/views/EmploymentManage/CheckReceiveTaskDetail.vue
+++ b/src/views/EmploymentManage/CheckReceiveTaskDetail.vue
@@ -59,13 +59,11 @@
ProFormCol,
ProFormColItem,
ProFormItemV2,
- ProTableQueryFilterBar,
} from '@bole-core/components';
import * as taskCheckReceiveServices from '@/services/api/taskCheckReceive';
import * as taskServices from '@/services/api/task';
import { useQuery } from '@tanstack/vue-query';
import { OrderUtils } from '@/utils';
-import { EnumBillingMethodUnitText, EnumBillingMethod, EnumBillingMethodText } from '@/constants';
import dayjs from 'dayjs';
import CheckManageDialog from './components/CheckManageDialog.vue';
import ManualCheckManageDialog from './components/ManualCheckManageDialog.vue';
@@ -105,6 +103,8 @@
const BaseState = {
loading: true,
checkReceiveMethods: [] as any as EnumTaskCheckReceiveMethod[],
+
+ isInternal: false,
};
const state = reactive({ ...BaseState });
@@ -141,6 +141,7 @@
showLoading: !state.loading,
});
state.checkReceiveMethods = res.objectData?.checkReceiveMethods;
+ state.isInternal = res.objectData?.isInternal;
return res;
} catch (error) {}
},
@@ -166,6 +167,7 @@
handleEdit({
id: row.id,
checkReceiveMethods: state.checkReceiveMethods,
+ isInternal: state.isInternal,
isDetail,
});
}
@@ -174,6 +176,7 @@
defaultFormParams: {
id: '',
checkReceiveMethods: [] as any as EnumTaskCheckReceiveMethod[],
+ isInternal: false,
isDetail: false,
},
});
diff --git a/src/views/EmploymentManage/EmploymentManageArrange.vue b/src/views/EmploymentManage/EmploymentManageArrange.vue
index 573d5d4..42bd81d 100644
--- a/src/views/EmploymentManage/EmploymentManageArrange.vue
+++ b/src/views/EmploymentManage/EmploymentManageArrange.vue
@@ -69,7 +69,7 @@
},
extraProps: {
hide: (row: API.GetArrangeTaskUsersQueryResultItem) =>
- row.arrangeStatus === EnumTaskUserArrangeStatus.Complete,
+ row.arrangeStatus === EnumTaskUserArrangeStatus.Complete || !state.isInternal,
},
},
};
@@ -84,6 +84,7 @@
const BaseState = {
loading: true,
+ isInternal: false,
};
const state = reactive({ ...BaseState });
@@ -117,6 +118,9 @@
let res = await taskUserServices.getArrangeTaskUsers(params, {
showLoading: !state.loading,
});
+ if (res) {
+ state.isInternal = res.objectData?.isInternal;
+ }
return res;
} catch (error) {
console.log('error: ', error);
diff --git a/src/views/EmploymentManage/EmploymentSignList.vue b/src/views/EmploymentManage/EmploymentSignList.vue
index 9ef4fb9..b88a032 100644
--- a/src/views/EmploymentManage/EmploymentSignList.vue
+++ b/src/views/EmploymentManage/EmploymentSignList.vue
@@ -67,7 +67,7 @@
},
extraProps: {
hide: (row: API.GetTaskUsersQueryResultItem) =>
- row.hireStatus === EnumTaskUserHireStatus.Pass,
+ row.hireStatus === EnumTaskUserHireStatus.Pass || !state.isInternal,
},
},
refuseBtn: {
@@ -76,7 +76,7 @@
},
extraProps: {
hide: (row: API.GetTaskUsersQueryResultItem) =>
- row.hireStatus !== EnumTaskUserHireStatus.Wait,
+ row.hireStatus !== EnumTaskUserHireStatus.Wait || !state.isInternal,
},
},
};
@@ -90,6 +90,8 @@
const id = route.params.id as string;
const BaseState = {
loading: true,
+
+ isInternal: false,
};
const state = reactive({ ...BaseState });
@@ -122,6 +124,9 @@
let res = await taskUserServices.getTaskUsers(params, {
showLoading: !state.loading,
});
+ if (res) {
+ state.isInternal = res.objectData?.isInternal;
+ }
return res;
} catch (error) {
console.log('error: ', error);
diff --git a/src/views/EmploymentManage/TaskManageList.vue b/src/views/EmploymentManage/TaskManageList.vue
index d602103..14aeb74 100644
--- a/src/views/EmploymentManage/TaskManageList.vue
+++ b/src/views/EmploymentManage/TaskManageList.vue
@@ -53,9 +53,10 @@
</ProTableQueryFilterBar>
<ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns">
<template #userCount="{ row }">
- <el-button link type="primary" @click="goSignList(row)">{{
+ <el-button v-if="row.isInternal" link type="primary" @click="goSignList(row)">{{
row.userCount || 0
}}</el-button>
+ <span v-else>{{ row.userCount || 0 }}</span>
</template>
</ProTableV2>
</AppContainer>
@@ -94,7 +95,8 @@
onClick: (role) => goAddOrEdit(role),
},
extraProps: {
- hide: (row: API.GetTaskInfosQueryResultItem) => row.status === EnumTaskStatus.Complete,
+ hide: (row: API.GetTaskInfosQueryResultItem) =>
+ row.status === EnumTaskStatus.Complete || !row.isInternal,
},
},
detailBtn: {
@@ -109,7 +111,7 @@
},
extraProps: {
hide: (row: API.GetTaskInfosQueryResultItem) =>
- row.releaseStatus === EnumTaskReleaseStatus.InProcess,
+ row.releaseStatus === EnumTaskReleaseStatus.InProcess || !row.isInternal,
},
},
unPublishBtn: {
@@ -119,7 +121,7 @@
},
extraProps: {
hide: (row: API.GetTaskInfosQueryResultItem) =>
- row.releaseStatus === EnumTaskReleaseStatus.Stopped,
+ row.releaseStatus === EnumTaskReleaseStatus.Stopped || !row.isInternal,
},
},
arrangeBtn: {
@@ -128,7 +130,7 @@
},
extraProps: {
hide: (row: API.GetTaskInfosQueryResultItem) =>
- row.releaseStatus === EnumTaskReleaseStatus.Stopped,
+ row.releaseStatus === EnumTaskReleaseStatus.Stopped || !row.isInternal,
},
},
};
diff --git a/src/views/EmploymentManage/components/CheckManageDialog.vue b/src/views/EmploymentManage/components/CheckManageDialog.vue
index 689f0fa..c0b155b 100644
--- a/src/views/EmploymentManage/components/CheckManageDialog.vue
+++ b/src/views/EmploymentManage/components/CheckManageDialog.vue
@@ -39,6 +39,7 @@
type Form = {
id: string;
checkReceiveMethods: EnumTaskCheckReceiveMethod[];
+ isInternal: boolean;
isDetail: boolean;
};
@@ -157,7 +158,9 @@
!(
row.checkReceiveStatus === EnumTaskUserSubmitCheckReceiveStatus.WaitSubmit ||
row.checkReceiveStatus === EnumTaskUserSubmitCheckReceiveStatus.WaitCheckReceive
- ) || form.value.isDetail,
+ ) ||
+ form.value.isDetail ||
+ !form.value.isInternal,
},
},
{
@@ -173,7 +176,9 @@
!(
row.checkReceiveStatus === EnumTaskUserSubmitCheckReceiveStatus.WaitSubmit ||
row.checkReceiveStatus === EnumTaskUserSubmitCheckReceiveStatus.WaitCheckReceive
- ) || form.value.isDetail,
+ ) ||
+ form.value.isDetail ||
+ !form.value.isInternal,
},
},
{
diff --git a/src/views/FlexJobManage/FlexJobManage.vue b/src/views/FlexJobManage/FlexJobManage.vue
index da5ec98..b723cbc 100644
--- a/src/views/FlexJobManage/FlexJobManage.vue
+++ b/src/views/FlexJobManage/FlexJobManage.vue
@@ -124,7 +124,7 @@
</BlFileUpload>
<el-button
v-if="checkSubModuleItemShow('pageButton', 'addBtn')"
- @click="handleStaffInfoAdd()"
+ @click="handleInternalStaffAdd()"
type="primary"
>鏂板缓</el-button
>
@@ -174,6 +174,7 @@
/>
<SendShotMessageDialog v-bind="dialogShotMessageProps" />
<SignDialog v-bind="dialogSignProps" />
+ <AddInternalStaffDialog v-bind="dialogAddInternalStaffProps" />
</LoadingLayout>
</template>
@@ -202,6 +203,7 @@
import BatchImportDialog from './components/BatchImportDialog.vue';
import SendShotMessageDialog from './components/SendShotMessageDialog.vue';
import StaffDetailInfoDialog from './components/StaffDetailInfoDialog.vue';
+import AddInternalStaffDialog from './components/AddInternalStaffDialog.vue';
import SignDialog from './components/SignDialog.vue';
import * as enterpriseEmployeeServices from '@/services/api/enterpriseEmployee';
import { ModelValueType } from 'element-plus';
@@ -304,7 +306,7 @@
handleAdd: handleStaffInfoAdd,
editForm: staffInfoEditForm,
} = useFormDialog({
- onConfirm: addEnterpriseEmployee,
+ onConfirm: editEnterpriseEmployee,
defaultFormParams: {
id: '',
name: '',
@@ -318,7 +320,6 @@
regiterTime: '',
userRealTime: '',
userSignContractTime: '',
- contractTime: [] as unknown as ModelValueType,
isDetail: false,
},
});
@@ -342,31 +343,7 @@
userRealTime: row.userRealTime ?? '',
userSignContractTime: row.userSignContractTime ?? '',
isDetail: isDetail,
-
- contractTime: [row.contractBegin, row.contractEnd],
});
- } catch (error) {}
-}
-
-async function addEnterpriseEmployee() {
- try {
- let params: API.AddEnterpriseEmployeeCommand = {
- name: staffInfoEditForm.name,
- identity: staffInfoEditForm.identity,
- contactPhoneNumber: staffInfoEditForm.contactPhoneNumber,
- gender: staffInfoEditForm.gender,
- age: staffInfoEditForm.age,
- identityImg: staffInfoEditForm.identityImg[0]?.path ?? '',
- identityBackImg: staffInfoEditForm.identityBackImg[0]?.path ?? '',
- contractUrl: staffInfoEditForm.contractUrl[0]?.path ?? '',
- contractBegin: format(staffInfoEditForm.contractTime[0], 'YYYY-MM-DD 00:00:00'),
- contractEnd: format(staffInfoEditForm.contractTime[1], 'YYYY-MM-DD 23:59:59'),
- };
- let res = await enterpriseEmployeeServices.addEnterpriseEmployee(params);
- if (res) {
- Message.successMessage('鎿嶄綔鎴愬姛');
- getList(paginationState.pageIndex);
- }
} catch (error) {}
}
@@ -676,4 +653,48 @@
state.flexjobUrl = [] as UploadUserFile[];
}
}
+
+const {
+ dialogProps: dialogAddInternalStaffProps,
+ handleAdd: handleInternalStaffAdd,
+ editForm: internalStaffEditForm,
+} = useFormDialog({
+ onConfirm: addEnterpriseEmployee,
+ defaultFormParams: {
+ name: '',
+ identity: '',
+ contactPhoneNumber: '',
+ gender: EnumUserGender.Male,
+ age: null as any as number,
+ identityImg: [] as UploadUserFile[],
+ identityBackImg: [] as UploadUserFile[],
+ contractUrl: [] as UploadUserFile[],
+ regiterTime: '',
+ userRealTime: '',
+ userSignContractTime: '',
+ contractTime: [] as unknown as ModelValueType,
+ },
+});
+
+async function addEnterpriseEmployee() {
+ try {
+ let params: API.AddEnterpriseEmployeeCommand = {
+ name: internalStaffEditForm.name,
+ identity: internalStaffEditForm.identity,
+ contactPhoneNumber: internalStaffEditForm.contactPhoneNumber,
+ gender: internalStaffEditForm.gender,
+ age: internalStaffEditForm.age,
+ identityImg: internalStaffEditForm.identityImg[0]?.path ?? '',
+ identityBackImg: internalStaffEditForm.identityBackImg[0]?.path ?? '',
+ contractUrl: internalStaffEditForm.contractUrl[0]?.path ?? '',
+ contractBegin: format(internalStaffEditForm.contractTime[0], 'YYYY-MM-DD 00:00:00'),
+ contractEnd: format(internalStaffEditForm.contractTime[1], 'YYYY-MM-DD 23:59:59'),
+ };
+ let res = await enterpriseEmployeeServices.addEnterpriseEmployee(params);
+ if (res) {
+ Message.successMessage('鎿嶄綔鎴愬姛');
+ getList(paginationState.pageIndex);
+ }
+ } catch (error) {}
+}
</script>
diff --git a/src/views/FlexJobManage/components/AddInternalStaffDialog.vue b/src/views/FlexJobManage/components/AddInternalStaffDialog.vue
new file mode 100644
index 0000000..8d16ddd
--- /dev/null
+++ b/src/views/FlexJobManage/components/AddInternalStaffDialog.vue
@@ -0,0 +1,222 @@
+<template>
+ <ProDialog
+ title="鏂板缓鐏靛伐"
+ v-model="visible"
+ @close="onDialogClose"
+ destroy-on-close
+ draggable
+ :width="900"
+ >
+ <ProForm :model="form" ref="dialogForm" label-width="120px">
+ <ProFormCol>
+ <ProFormColItem :span="12">
+ <ProFormItemV2 label="濮撳悕锛�" prop="name" :check-rules="[{ message: '璇疯緭鍏ュ鍚�' }]">
+ <ProFormText placeholder="璇疯緭鍏ュ鍚�" v-model.trim="form.name"></ProFormText>
+ </ProFormItemV2>
+ </ProFormColItem>
+ <ProFormColItem :span="12">
+ <ProFormItemV2 label="鏈嶅姟鍗忚锛�" prop="contractUrl">
+ <ProFormUpload
+ v-model:file-url="form.contractUrl"
+ :limit="1"
+ :limitFileSize="10"
+ accept="jpg/jpeg,png,pdf"
+ ></ProFormUpload>
+ </ProFormItemV2>
+ </ProFormColItem>
+ <ProFormColItem :span="12">
+ <ProFormItemV2
+ label="韬唤璇佸彿锛�"
+ prop="identity"
+ :check-rules="[{ message: '璇疯緭鍏ヨ韩浠借瘉鍙�', type: 'idCard' }]"
+ >
+ <ProFormText
+ placeholder="璇疯緭鍏ヨ韩浠借瘉鍙�"
+ v-model.trim="form.identity"
+ @blur="handleCalculateAge"
+ ></ProFormText>
+ </ProFormItemV2>
+ </ProFormColItem>
+ <ProFormColItem :span="12">
+ <ProFormItemV2
+ label="鍗忚鏃堕棿:"
+ prop="contractTime"
+ :check-rules="[{ message: '璇烽�夋嫨鍗忚鏃堕棿', type: 'array' }]"
+ >
+ <ProFormDatePicker
+ v-model="form.contractTime"
+ type="daterange"
+ range-separator="鑷�"
+ start-placeholder="璧峰鏃ユ湡"
+ end-placeholder="缁堟鏃ユ湡"
+ ></ProFormDatePicker>
+ </ProFormItemV2>
+ </ProFormColItem>
+ <ProFormColItem :span="12">
+ <ProFormItemV2
+ label="鎵嬫満鍙凤細"
+ prop="contactPhoneNumber"
+ :check-rules="[{ message: '璇疯緭鍏ユ墜鏈哄彿', type: 'phone' }]"
+ >
+ <ProFormText
+ placeholder="璇疯緭鍏ユ墜鏈哄彿"
+ v-model.trim="form.contactPhoneNumber"
+ ></ProFormText>
+ </ProFormItemV2>
+ </ProFormColItem>
+ <ProFormColItem :span="12"> </ProFormColItem>
+ <ProFormColItem :span="12">
+ <ProFormItemV2
+ label="鎬у埆锛�"
+ prop="gender"
+ required
+ :check-rules="[{ message: '璇烽�夋嫨鎬у埆' }]"
+ >
+ <ProFormRadio
+ v-model="form.gender"
+ :value-enum="EnumUserGenderTextForPerson"
+ :buttonStyle="false"
+ ></ProFormRadio>
+ </ProFormItemV2>
+ </ProFormColItem>
+ <ProFormColItem :span="12"> </ProFormColItem>
+ <ProFormColItem :span="12">
+ <ProFormItemV2
+ label="骞撮緞锛�"
+ prop="age"
+ :check-rules="[{ message: '璇疯緭鍏ュ勾榫�', type: 'number' }]"
+ >
+ <ProFormInputNumber
+ v-model="form.age"
+ :controls="false"
+ :min="0"
+ :max="9999"
+ placeholder="璇疯緭鍏ュ勾榫�"
+ unit="宀�"
+ />
+ </ProFormItemV2>
+ </ProFormColItem>
+ </ProFormCol>
+ <ProFormItemV2
+ label="韬唤璇佹闈細"
+ prop="identityImg"
+ :check-rules="[{ message: '璇蜂笂浼犺韩浠借瘉姝i潰', type: 'upload' }]"
+ >
+ <ProFormImageUpload
+ v-model:file-url="form.identityImg"
+ :limitFileSize="10"
+ :showTip="false"
+ >
+ </ProFormImageUpload>
+ </ProFormItemV2>
+ <ProFormItemV2
+ label="韬唤璇佸弽闈細"
+ prop="identityBackImg"
+ :check-rules="[{ message: '璇蜂笂浼犺韩浠借瘉鍙嶉潰', type: 'upload' }]"
+ >
+ <ProFormImageUpload
+ v-model:file-url="form.identityBackImg"
+ :limitFileSize="10"
+ :showTip="false"
+ >
+ </ProFormImageUpload>
+ </ProFormItemV2>
+ </ProForm>
+ <template #footer>
+ <span class="dialog-footer">
+ <el-button type="primary" @click="handleConfirm">鎻愪氦</el-button>
+ <el-button @click="emit('onCancel')">鍙栨秷</el-button>
+ </span>
+ </template>
+ </ProDialog>
+</template>
+
+<script setup lang="ts">
+import { FormInstance, ModelValueType } from 'element-plus';
+import {
+ ProDialog,
+ ProForm,
+ ProFormItemV2,
+ ProFormText,
+ UploadUserFile,
+ ProFormCol,
+ ProFormColItem,
+ ProFormImageUpload,
+ ProFormRadio,
+ ProFormUpload,
+ ProFormInputNumber,
+ ProFormDatePicker,
+} from '@bole-core/components';
+import { calculateAge, deepClone, format } from '@/utils';
+import { EnumUserGender, EnumUserGenderTextForPerson } from '@/constants';
+import { BoleRegExp } from '@bole-core/core';
+
+defineOptions({
+ name: 'AddInternalStaffDialog',
+});
+
+type Form = {
+ title?: string;
+ name: string;
+ identity: string;
+ contactPhoneNumber: string;
+ gender: EnumUserGender;
+ age: number;
+ identityImg: UploadUserFile[];
+ identityBackImg: UploadUserFile[];
+ contractUrl: UploadUserFile[];
+ regiterTime: string;
+ userRealTime: string;
+ userSignContractTime: string;
+
+ contractTime: ModelValueType;
+};
+
+const visible = defineModel({ type: Boolean });
+
+const form = defineModel<Form>('form');
+let defaultForm: Form = null;
+
+watch(
+ visible,
+ (visible) => {
+ if (visible) {
+ defaultForm = deepClone(unref(form));
+ }
+ },
+ {
+ immediate: true,
+ }
+);
+
+const emit = defineEmits<{
+ (e: 'onConfirm'): void;
+ (e: 'onCancel'): void;
+}>();
+
+const dialogForm = ref<FormInstance>();
+
+function onDialogClose() {
+ if (!dialogForm.value) return;
+ dialogForm.value.resetFields();
+}
+
+function handleConfirm() {
+ if (!dialogForm.value) return;
+ dialogForm.value.validate((valid) => {
+ if (valid) {
+ emit('onConfirm');
+ } else {
+ return;
+ }
+ });
+}
+
+function handleReset() {
+ form.value = { ...defaultForm };
+}
+
+function handleCalculateAge() {
+ form.value.age = calculateAge(form.value.identity);
+}
+</script>
diff --git a/src/views/FlexJobManage/components/StaffInfoDialog.vue b/src/views/FlexJobManage/components/StaffInfoDialog.vue
index 94309b3..0dd52d5 100644
--- a/src/views/FlexJobManage/components/StaffInfoDialog.vue
+++ b/src/views/FlexJobManage/components/StaffInfoDialog.vue
@@ -15,13 +15,8 @@
</ProFormItemV2>
</ProFormColItem>
<ProFormColItem :span="12">
- <ProFormItemV2 label="鏈嶅姟鍗忚锛�" prop="contractUrl">
- <ProFormUpload
- v-model:file-url="form.contractUrl"
- :limit="1"
- :limitFileSize="10"
- accept="jpg/jpeg,png,pdf"
- ></ProFormUpload>
+ <ProFormItemV2 v-if="form.isDetail" label="鎶ュ悕鏃堕棿锛�" prop="regiterTime">
+ <div>{{ format(form.regiterTime, 'YYYY-MM-DD HH:mm') }}</div>
</ProFormItemV2>
</ProFormColItem>
<ProFormColItem :span="12">
@@ -38,18 +33,8 @@
</ProFormItemV2>
</ProFormColItem>
<ProFormColItem :span="12">
- <ProFormItemV2
- label="鍗忚鏃堕棿:"
- prop="contractTime"
- :check-rules="[{ message: '璇烽�夋嫨鍗忚鏃堕棿', type: 'array' }]"
- >
- <ProFormDatePicker
- v-model="form.contractTime"
- type="daterange"
- range-separator="鑷�"
- start-placeholder="璧峰鏃ユ湡"
- end-placeholder="缁堟鏃ユ湡"
- ></ProFormDatePicker>
+ <ProFormItemV2 v-if="form.isDetail" label="瀹炲悕鏃堕棿锛�" prop="userRealTime">
+ <div>{{ format(form.userRealTime, 'YYYY-MM-DD HH:mm') }}</div>
</ProFormItemV2>
</ProFormColItem>
<ProFormColItem :span="12">
@@ -64,7 +49,11 @@
></ProFormText>
</ProFormItemV2>
</ProFormColItem>
- <ProFormColItem :span="12"> </ProFormColItem>
+ <ProFormColItem :span="12">
+ <ProFormItemV2 v-if="form.isDetail" label="绛剧害鏃堕棿锛�" prop="userSignContractTime">
+ <div>{{ format(form.userSignContractTime, 'YYYY-MM-DD HH:mm') }}</div>
+ </ProFormItemV2>
+ </ProFormColItem>
<ProFormColItem :span="12">
<ProFormItemV2
label="鎬у埆锛�"
@@ -79,7 +68,16 @@
></ProFormRadio>
</ProFormItemV2>
</ProFormColItem>
- <ProFormColItem :span="12"> </ProFormColItem>
+ <ProFormColItem :span="12">
+ <ProFormItemV2 v-if="form.isDetail" label="鐢靛瓙鍚堝悓锛�" prop="contractUrl">
+ <ProFormUpload
+ v-model:file-url="form.contractUrl"
+ :limit="1"
+ :limitFileSize="10"
+ accept="jpg/jpeg,png,pdf"
+ ></ProFormUpload>
+ </ProFormItemV2>
+ </ProFormColItem>
<ProFormColItem :span="12">
<ProFormItemV2
label="骞撮緞锛�"
@@ -92,8 +90,12 @@
:min="0"
:max="9999"
placeholder="璇疯緭鍏ュ勾榫�"
- unit="宀�"
- />
+ >
+ <template #readContent>
+ <span v-if="form.age">{{ form.age }}宀�</span>
+ <span v-else></span>
+ </template>
+ </ProFormInputNumber>
</ProFormItemV2>
</ProFormColItem>
</ProFormCol>
@@ -127,7 +129,7 @@
<el-button v-if="form.isDetail" @click="emit('onCancel')">鍏抽棴</el-button>
<template v-else>
<el-button type="primary" @click="handleConfirm">鎻愪氦</el-button>
- <!-- <el-button @click="handleReset">閲嶇疆</el-button> -->
+ <el-button @click="handleReset">閲嶇疆</el-button>
<el-button @click="emit('onCancel')">鍙栨秷</el-button>
</template>
</span>
@@ -136,7 +138,7 @@
</template>
<script setup lang="ts">
-import { FormInstance, ModelValueType } from 'element-plus';
+import { FormInstance } from 'element-plus';
import {
ProDialog,
ProForm,
@@ -149,7 +151,6 @@
ProFormRadio,
ProFormUpload,
ProFormInputNumber,
- ProFormDatePicker,
} from '@bole-core/components';
import { calculateAge, deepClone, format } from '@/utils';
import { EnumUserGender, EnumUserGenderTextForPerson } from '@/constants';
@@ -174,8 +175,6 @@
userRealTime: string;
userSignContractTime: string;
isDetail: boolean;
-
- contractTime: ModelValueType;
};
const visible = defineModel({ type: Boolean });
--
Gitblit v1.9.1