From 8cef2483dcfc4c40d861caaf58d618387f5ab80c Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期四, 13 十一月 2025 13:11:36 +0800
Subject: [PATCH] feat: 1.3.0.2
---
src/views/FlexJobManage/FlexJobManage.vue | 40 +++++++++++++++++++-
src/views/Permission/components/dialogAuthorizeV2.vue | 1
src/views/FlexJobManage/FlexJobContractManage.vue | 5 +-
src/views/FlexJobManage/components/SignDetailView.vue | 2
src/views/FlexJobManage/components/AddInternalStaffDialog.vue | 7 +--
src/views/EmploymentManage/TaskManageList.vue | 4 +-
src/views/EmploymentManage/components/AddOrEditEmploymentView.vue | 23 ++++++++++-
7 files changed, 67 insertions(+), 15 deletions(-)
diff --git a/src/views/EmploymentManage/TaskManageList.vue b/src/views/EmploymentManage/TaskManageList.vue
index 14aeb74..abc7300 100644
--- a/src/views/EmploymentManage/TaskManageList.vue
+++ b/src/views/EmploymentManage/TaskManageList.vue
@@ -53,10 +53,10 @@
</ProTableQueryFilterBar>
<ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns">
<template #userCount="{ row }">
- <el-button v-if="row.isInternal" 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>
+ <span v-else>/</span>
</template>
</ProTableV2>
</AppContainer>
diff --git a/src/views/EmploymentManage/components/AddOrEditEmploymentView.vue b/src/views/EmploymentManage/components/AddOrEditEmploymentView.vue
index 9a8c9f3..da71ba5 100644
--- a/src/views/EmploymentManage/components/AddOrEditEmploymentView.vue
+++ b/src/views/EmploymentManage/components/AddOrEditEmploymentView.vue
@@ -16,7 +16,11 @@
</ProFormCol>
<ProFormCol>
<ProFormColItem :span="12">
- <ProFormItemV2 label="闇�姹備汉鏁�:" prop="needPeopleNumber">
+ <ProFormItemV2
+ label="闇�姹備汉鏁�:"
+ prop="needPeopleNumber"
+ :check-rules="[{ message: '璇疯緭鍏ラ渶姹備汉鏁�' }]"
+ >
<ProFormInputNumber
:controls="false"
v-model="form.needPeopleNumber"
@@ -307,7 +311,20 @@
<ProFormItemV2
label="浠诲姟鏃堕棿:"
prop="time"
- :check-rules="[{ message: '璇烽�夋嫨浠诲姟鏃堕棿', type: 'array' }]"
+ :check-rules="[
+ { message: '璇烽�夋嫨浠诲姟鏃堕棿', type: 'array' },
+ {
+ validator: (rule, value, callback) => {
+ if (form.billingMethod === EnumBillingMethod.Month) {
+ if (dayjs(form.time[1]).diff(dayjs(form.time[0]), 'month') < 1) {
+ callback(new Error('鏈堢粨浠诲姟鏃朵换鍔℃椂闂撮渶澶т簬涓�涓湀'));
+ }
+ callback();
+ }
+ callback();
+ },
+ },
+ ]"
>
<ProFormDatePicker
v-model="form.time"
@@ -655,7 +672,7 @@
callback: (action) => {
if (action === 'confirm') {
router.push({
- name: 'BalanceManageV2',
+ name: 'EnterpriseBalanceManage',
});
}
},
diff --git a/src/views/FlexJobManage/FlexJobContractManage.vue b/src/views/FlexJobManage/FlexJobContractManage.vue
index 782b98f..2ae2743 100644
--- a/src/views/FlexJobManage/FlexJobContractManage.vue
+++ b/src/views/FlexJobManage/FlexJobContractManage.vue
@@ -170,8 +170,9 @@
hide: (row: API.GetEnterpriseEmployeesQueryResultItem) =>
!(
row.userSignContractStatus !== EnumTaskUserSignContractStatus.Pass &&
- row.hireStatus === EnumTaskUserHireStatus.Pass &&
- row.source === EnumEnterpriseEmployeeSource.Internal
+ ((row.hireStatus === EnumTaskUserHireStatus.Pass &&
+ row.source === EnumEnterpriseEmployeeSource.External) ||
+ row.source === EnumEnterpriseEmployeeSource.Internal)
),
},
},
diff --git a/src/views/FlexJobManage/FlexJobManage.vue b/src/views/FlexJobManage/FlexJobManage.vue
index b723cbc..0766984 100644
--- a/src/views/FlexJobManage/FlexJobManage.vue
+++ b/src/views/FlexJobManage/FlexJobManage.vue
@@ -217,7 +217,11 @@
const operationBtnMap: Record<string, OperationBtnType> = {
editBtn: {
emits: {
- onClick: (role) => openDialog(role),
+ onClick: (role) => openInternalDialog(role),
+ },
+ extraProps: {
+ hide: (row: API.GetEnterpriseEmployeesQueryResultItem) =>
+ row.source === EnumEnterpriseEmployeeSource.External,
},
},
detailBtn: {
@@ -657,10 +661,12 @@
const {
dialogProps: dialogAddInternalStaffProps,
handleAdd: handleInternalStaffAdd,
+ handleEdit: handleInternalStaffEdit,
editForm: internalStaffEditForm,
} = useFormDialog({
onConfirm: addEnterpriseEmployee,
defaultFormParams: {
+ id: '',
name: '',
identity: '',
contactPhoneNumber: '',
@@ -676,8 +682,32 @@
},
});
+async function openInternalDialog(row: API.GetEnterpriseEmployeesQueryResultItem) {
+ try {
+ let detail = await enterpriseEmployeeServices.getEnterpriseEmployee({ id: row.id });
+ handleInternalStaffEdit({
+ id: row.id,
+ name: row.name,
+ identity: row.identity,
+ contactPhoneNumber: row.contactPhoneNumber,
+ gender: detail.gender,
+ age: detail.age ?? null,
+ identityImg: convertApi2FormUrlOnlyOne(detail.identityImg),
+ identityBackImg: convertApi2FormUrlOnlyOne(detail.identityBackImg),
+ contractUrl: convertApi2FormUrlOnlyOne(detail.contractUrl, {
+ fileName: detail.contractUrl ? detail.contractUrl.split('/').pop() : '鍚堝悓',
+ }),
+ regiterTime: detail.applyTime ?? '',
+ userRealTime: row.userRealTime ?? '',
+ userSignContractTime: row.userSignContractTime ?? '',
+ contractTime: [row.contractBegin, row.contractEnd],
+ });
+ } catch (error) {}
+}
+
async function addEnterpriseEmployee() {
try {
+ const isEdit = !!internalStaffEditForm.id;
let params: API.AddEnterpriseEmployeeCommand = {
name: internalStaffEditForm.name,
identity: internalStaffEditForm.identity,
@@ -690,7 +720,13 @@
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);
+ let res;
+ if (isEdit) {
+ (params as API.EditEnterpriseEmployeeCommand).id = internalStaffEditForm.id;
+ res = await enterpriseEmployeeServices.editEnterpriseEmployee(params);
+ } else {
+ res = await enterpriseEmployeeServices.addEnterpriseEmployee(params);
+ }
if (res) {
Message.successMessage('鎿嶄綔鎴愬姛');
getList(paginationState.pageIndex);
diff --git a/src/views/FlexJobManage/components/AddInternalStaffDialog.vue b/src/views/FlexJobManage/components/AddInternalStaffDialog.vue
index 8d16ddd..5939095 100644
--- a/src/views/FlexJobManage/components/AddInternalStaffDialog.vue
+++ b/src/views/FlexJobManage/components/AddInternalStaffDialog.vue
@@ -38,11 +38,7 @@
</ProFormItemV2>
</ProFormColItem>
<ProFormColItem :span="12">
- <ProFormItemV2
- label="鍗忚鏃堕棿:"
- prop="contractTime"
- :check-rules="[{ message: '璇烽�夋嫨鍗忚鏃堕棿', type: 'array' }]"
- >
+ <ProFormItemV2 label="鍗忚鏃堕棿:" prop="contractTime">
<ProFormDatePicker
v-model="form.contractTime"
type="daterange"
@@ -157,6 +153,7 @@
type Form = {
title?: string;
+ id: string;
name: string;
identity: string;
contactPhoneNumber: string;
diff --git a/src/views/FlexJobManage/components/SignDetailView.vue b/src/views/FlexJobManage/components/SignDetailView.vue
index 6ea4065..d83a691 100644
--- a/src/views/FlexJobManage/components/SignDetailView.vue
+++ b/src/views/FlexJobManage/components/SignDetailView.vue
@@ -45,7 +45,7 @@
const column = defineColumns([
{
id: '1',
- enCode: 'enterpriseName',
+ enCode: 'sourceName',
name: '鎵�灞炲鎴�',
},
{
diff --git a/src/views/Permission/components/dialogAuthorizeV2.vue b/src/views/Permission/components/dialogAuthorizeV2.vue
index 71bfb25..aad24be 100644
--- a/src/views/Permission/components/dialogAuthorizeV2.vue
+++ b/src/views/Permission/components/dialogAuthorizeV2.vue
@@ -21,6 +21,7 @@
node-key="id"
:expand-on-click-node="false"
:highlight-current="true"
+ check-strictly
default-expand-all
show-checkbox
ref="moduleTree"
--
Gitblit v1.9.1