From a4978ef36ce6dc9c6723b61b20fd27cffd907ad9 Mon Sep 17 00:00:00 2001 From: wupengfei <834520024@qq.com> Date: 星期五, 08 八月 2025 14:56:05 +0800 Subject: [PATCH] feat: 任务 --- src/views/TaskManage/TaskManageList.vue | 83 +++++++++++++++++++++++++++-------------- 1 files changed, 54 insertions(+), 29 deletions(-) diff --git a/src/views/TaskManage/TaskManageList.vue b/src/views/TaskManage/TaskManageList.vue index 1409251..717e553 100644 --- a/src/views/TaskManage/TaskManageList.vue +++ b/src/views/TaskManage/TaskManageList.vue @@ -5,11 +5,8 @@ <template #query> <QueryFilterItem tip-content="鍙戝竷鐘舵��"> <FieldRadio - v-model="extraParamState.status" - :value-enum="[ - { value: true, label: '鍙戝竷涓�' }, - { value: false, label: '宸插仠姝�' }, - ]" + v-model="extraParamState.releaseStatus" + :value-enum="EnumTaskReleaseStatusText" buttonStyle showAllBtn @change="getList()" @@ -17,11 +14,8 @@ </QueryFilterItem> <QueryFilterItem tip-content="鎺ㄨ崘鐘舵��"> <FieldRadio - v-model="extraParamState.status" - :value-enum="[ - { value: true, label: '宸叉帹鑽�' }, - { value: false, label: '鏈帹鑽�' }, - ]" + v-model="extraParamState.recommendStatus" + :value-enum="EnumTaskRecommendStatusText" buttonStyle showAllBtn @change="getList()" @@ -29,7 +23,7 @@ </QueryFilterItem> <QueryFilterItem tip-content="鍙戝竷鏃堕棿"> <FieldDatePicker - v-model="extraParamState.beginDate" + v-model="extraParamState.time" type="daterange" range-separator="~" start-placeholder="寮�濮嬫棩鏈�" @@ -40,7 +34,7 @@ </QueryFilterItem> <QueryFilterItem> <SearchInput - v-model="extraParamState.keyword" + v-model="extraParamState.keywords" style="width: 260px" placeholder="浠诲姟鍚嶇О" @on-click-search="getList" @@ -70,25 +64,27 @@ } from '@bole-core/components'; import { useAccess } from '@/hooks'; import { ModelValueType } from 'element-plus'; -import * as enterpriseServices from '@/services/api/enterprise'; +import * as taskServices from '@/services/api/task'; +import { EnumTaskReleaseStatusText, EnumTaskRecommendStatusText } from '@/constants'; +import { format } from '@/utils'; +import { Message } from '@bole-core/core'; defineOptions({ name: 'OperationManageList', }); const operationBtnMap: Record<string, OperationBtnType> = { - detailBtn: { emits: { onClick: (role) => goDetail(role) } }, + detailBtn: { emits: { onClick: (row: API.GetTaskInfosQueryResultItem) => goDetail(row) } }, recommendBtn: { - emits: { onClick: (role) => setAdvertiseOnShowStatus(role) }, + emits: { onClick: (row: API.GetTaskInfosQueryResultItem) => setTaskInfoRecommendStatus(row) }, extraProps: { - hide: (row) => row.status, + hide: (row) => row.recommendStatus === EnumTaskRecommendStatus.Yes, }, }, cancelRecommendBtn: { - emits: { onClick: (role) => setAdvertiseOnShowStatus(role) }, - props: { type: 'danger' }, + emits: { onClick: (row: API.GetTaskInfosQueryResultItem) => setTaskInfoRecommendStatus(row) }, extraProps: { - hide: (row) => !row.status, + hide: (row) => row.recommendStatus === EnumTaskRecommendStatus.No, }, }, }; @@ -118,15 +114,19 @@ } = useTable( async ({ pageIndex, pageSize }, extraParamState) => { try { - let params: API.GetEnterprisesQuery = { + let params: API.GetTaskInfosQuery = { pageModel: { rows: pageSize, page: pageIndex, orderInput: extraParamState.orderInput, }, - // searchKeys: extraParamState.keyword, + keywords: extraParamState.keywords, + releaseStatus: extraParamState.releaseStatus, + recommendStatus: extraParamState.recommendStatus, + beginTime: format(extraParamState.time?.[0] ?? '', 'YYYY-MM-DD 00:00:00'), + endTime: format(extraParamState.time?.[1] ?? '', 'YYYY-MM-DD 23:59:59'), }; - let res = await enterpriseServices.getEnterprises(params, { + let res = await taskServices.getTaskInfos(params, { showLoading: !state.loading, }); return res; @@ -134,19 +134,44 @@ }, { defaultExtraParams: { - keyword: '', - pageType: '' as any as number, - status: '' as any as boolean, - beginDate: [] as unknown as ModelValueType, - endDate: [] as unknown as ModelValueType, + keywords: '', + releaseStatus: '' as any as EnumTaskReleaseStatus, + recommendStatus: '' as any as EnumTaskRecommendStatus, + time: [] as unknown as ModelValueType, orderInput: [{ property: 'id', order: EnumPagedListOrder.Asc }], }, - columnsRenderProps: {}, + columnsRenderProps: { + billingMethod: { type: 'enum', valueEnum: EnumBillingMethodText }, + settlementCycle: { type: 'enum', valueEnum: EnumSettlementCycleText }, + genderLimit: { type: 'enum', valueEnum: EnumUserGenderText }, + status: { type: 'enum', valueEnum: EnumTaskStatusText }, + releaseStatus: { type: 'enum', valueEnum: EnumTaskReleaseStatusText }, + checkReceiveStatus: { type: 'enum', valueEnum: EnumTaskCheckReceiveStatusText }, + settlementStatus: { type: 'enum', valueEnum: EnumTaskSettlementStatusText }, + beginTime: { type: 'date', format: 'YYYY-MM-DD' }, + endTime: { type: 'date', format: 'YYYY-MM-DD' }, + serviceFee: { type: 'money' }, + }, } ); -async function setAdvertiseOnShowStatus(row) { +async function setTaskInfoRecommendStatus(row: API.GetTaskInfosQueryResultItem) { try { + await Message.tipMessage( + `纭瑕�${row.recommendStatus === EnumTaskRecommendStatus.Yes ? '鍙栨秷' : '鎺ㄨ崘'}鍚楋紵` + ); + let params: API.SetTaskInfoRecommendStatusCommand = { + ids: [row.id], + recommendStatus: + row.recommendStatus === EnumTaskRecommendStatus.Yes + ? EnumTaskRecommendStatus.No + : EnumTaskRecommendStatus.Yes, + }; + let res = await taskServices.setTaskInfoRecommendStatus(params); + if (res) { + Message.successMessage('鎿嶄綔鎴愬姛'); + getList(paginationState.pageIndex); + } } catch (error) {} } -- Gitblit v1.9.1