From 5b01e3e6a695a8c9ba508fb4570b0b66e154ba0f Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期二, 02 十二月 2025 14:57:53 +0800
Subject: [PATCH] feat: 页面
---
src/views/EmploymentManage/EmploymentManageArrange.vue | 69 ++++++++++++++++++++++++++++------
1 files changed, 56 insertions(+), 13 deletions(-)
diff --git a/src/views/EmploymentManage/EmploymentManageArrange.vue b/src/views/EmploymentManage/EmploymentManageArrange.vue
index d33ed67..2973c98 100644
--- a/src/views/EmploymentManage/EmploymentManageArrange.vue
+++ b/src/views/EmploymentManage/EmploymentManageArrange.vue
@@ -13,6 +13,15 @@
/>
</QueryFilterItem>
<QueryFilterItem>
+ <FieldRadio
+ v-model="extraParamState.applyStatus"
+ :value-enum="EnumGetArrangeTaskUsersQueryApplyStatusText"
+ buttonStyle
+ showAllBtn
+ @change="getList()"
+ />
+ </QueryFilterItem>
+ <QueryFilterItem>
<SearchInput
v-model="extraParamState.searchWord"
style="width: 250px"
@@ -24,11 +33,7 @@
</QueryFilterItem>
</template>
</ProTableQueryFilterBar>
- <ProTableV2
- v-bind="proTableProps"
- :columns="EmploymentArrangeColumns"
- :operationBtns="operationBtns"
- >
+ <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns">
</ProTableV2>
</AppContainer>
</LoadingLayout>
@@ -50,18 +55,18 @@
import { EmploymentArrangeColumns } from './constants';
import { Message } from '@bole-core/core';
import * as taskUserServices from '@/services/api/taskUser';
-import { EnumTaskUserArrangeStatusText } from '@/constants';
+import {
+ EnumTaskUserArrangeStatusText,
+ EnumGetArrangeTaskUsersQueryApplyStatusText,
+} from '@/constants';
+import { hiddenIDNumberForEnd4 } from '@/utils';
defineOptions({
name: 'EmploymentManageArrange',
});
-const operationBtns = defineOperationBtns([
- {
- data: {
- enCode: 'arrangeBtn',
- name: '瀹夋帓',
- },
+const operationBtnMap: Record<string, OperationBtnType> = {
+ arrangeBtn: {
emits: {
onClick: (role) => handleArrange(role),
},
@@ -70,7 +75,20 @@
row.arrangeStatus === EnumTaskUserArrangeStatus.Complete,
},
},
-]);
+ cancelRecruitBtn: {
+ emits: {
+ onClick: (role) => setTaskUserHire(role, EnumTaskUserHireStatus.Cancel),
+ },
+ extraProps: {
+ hide: (row: API.GetArrangeTaskUsersQueryResultItem) =>
+ row.arrangeStatus === EnumTaskUserArrangeStatus.Complete,
+ },
+ },
+};
+
+const { column, operationBtns } = useAccess({
+ operationBtnMap,
+});
const router = useRouter();
const route = useRoute();
@@ -105,6 +123,7 @@
id: id,
keywords: extraParamState.searchWord,
arrangeStatus: extraParamState.arrangeStatus,
+ applyStatus: extraParamState.applyStatus,
};
let res = await taskUserServices.getArrangeTaskUsers(params, {
@@ -120,11 +139,17 @@
searchWord: '',
orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
arrangeStatus: '' as any as EnumTaskUserArrangeStatus,
+ applyStatus: '' as any as EnumGetArrangeTaskUsersQueryApplyStatus,
},
queryKey: ['taskUserServices/getArrangeTaskUsers'],
columnsRenderProps: {
gender: { type: 'enum', valueEnum: EnumUserGenderTextForPerson },
arrangeStatus: { type: 'enum', valueEnum: EnumTaskUserArrangeStatusText },
+ identity: {
+ formatter: (row: API.GetArrangeTaskUsersQueryResultItem) => {
+ return hiddenIDNumberForEnd4(row.identity);
+ },
+ },
},
}
);
@@ -142,4 +167,22 @@
}
} catch (error) {}
}
+
+async function setTaskUserHire(
+ row: API.GetArrangeTaskUsersQueryResultItem,
+ hireStatus: EnumTaskUserHireStatus
+) {
+ try {
+ await Message.tipMessage(`纭瑕佸彇娑堝綍鐢ㄥ悧锛焋);
+ let params: API.SetTaskUserHireCommand = {
+ id: row.id,
+ hireStatus: hireStatus,
+ };
+ let res = await taskUserServices.setTaskUserHire(params);
+ if (res) {
+ Message.successMessage('鎿嶄綔鎴愬姛');
+ getList(paginationState.pageIndex);
+ }
+ } catch (error) {}
+}
</script>
--
Gitblit v1.9.1