From 801e83de3caae9a44c50c7fd627728dd3a95ec75 Mon Sep 17 00:00:00 2001 From: wupengfei <834520024@qq.com> Date: 星期五, 08 八月 2025 15:12:53 +0800 Subject: [PATCH] feat: 任务 --- src/views/TaskManage/TaskManageList.vue | 97 +++++++++++++++++++++++++++++------------------- 1 files changed, 58 insertions(+), 39 deletions(-) diff --git a/src/views/TaskManage/TaskManageList.vue b/src/views/TaskManage/TaskManageList.vue index 3be9206..717e553 100644 --- a/src/views/TaskManage/TaskManageList.vue +++ b/src/views/TaskManage/TaskManageList.vue @@ -3,19 +3,10 @@ <AppContainer> <ProTableQueryFilterBar @on-reset="reset"> <template #query> - <QueryFilterItem> - <FieldSelect - v-model="extraParamState.pageType" - placeholder="骞垮憡椤甸潰" - :value-enum="FlexWorkerEleSignEnumText" - clearable - @change="getList()" - /> - </QueryFilterItem> <QueryFilterItem tip-content="鍙戝竷鐘舵��"> <FieldRadio - v-model="extraParamState.status" - :value-enum="FlexWorkerEleSignEnumText" + v-model="extraParamState.releaseStatus" + :value-enum="EnumTaskReleaseStatusText" buttonStyle showAllBtn @change="getList()" @@ -23,8 +14,8 @@ </QueryFilterItem> <QueryFilterItem tip-content="鎺ㄨ崘鐘舵��"> <FieldRadio - v-model="extraParamState.status" - :value-enum="FlexWorkerEleSignEnumText" + v-model="extraParamState.recommendStatus" + :value-enum="EnumTaskRecommendStatusText" buttonStyle showAllBtn @change="getList()" @@ -32,7 +23,7 @@ </QueryFilterItem> <QueryFilterItem tip-content="鍙戝竷鏃堕棿"> <FieldDatePicker - v-model="extraParamState.beginDate" + v-model="extraParamState.time" type="daterange" range-separator="~" start-placeholder="寮�濮嬫棩鏈�" @@ -43,7 +34,7 @@ </QueryFilterItem> <QueryFilterItem> <SearchInput - v-model="extraParamState.keyword" + v-model="extraParamState.keywords" style="width: 260px" placeholder="浠诲姟鍚嶇О" @on-click-search="getList" @@ -69,31 +60,31 @@ QueryFilterItem, useTable, FieldDatePicker, - FieldSelect, FieldRadio, } from '@bole-core/components'; import { useAccess } from '@/hooks'; -import { FlexWorkerEleSignEnumText } from '@/constants'; import { ModelValueType } from 'element-plus'; -import { OrderInputType } from '@bole-core/core'; +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) } }, - takeOnBtn: { - emits: { onClick: (role) => setAdvertiseOnShowStatus(role) }, + detailBtn: { emits: { onClick: (row: API.GetTaskInfosQueryResultItem) => goDetail(row) } }, + recommendBtn: { + emits: { onClick: (row: API.GetTaskInfosQueryResultItem) => setTaskInfoRecommendStatus(row) }, extraProps: { - hide: (row) => row.status, + hide: (row) => row.recommendStatus === EnumTaskRecommendStatus.Yes, }, }, - takeDownBtn: { - emits: { onClick: (role) => setAdvertiseOnShowStatus(role) }, - props: { type: 'danger' }, + cancelRecommendBtn: { + emits: { onClick: (row: API.GetTaskInfosQueryResultItem) => setTaskInfoRecommendStatus(row) }, extraProps: { - hide: (row) => !row.status, + hide: (row) => row.recommendStatus === EnumTaskRecommendStatus.No, }, }, }; @@ -123,15 +114,19 @@ } = useTable( async ({ pageIndex, pageSize }, extraParamState) => { try { - let params: API.GetUserClientForBackInput = { + 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 flexEnterpriseWokerServices.getUserClientList(params, { + let res = await taskServices.getTaskInfos(params, { showLoading: !state.loading, }); return res; @@ -139,24 +134,48 @@ }, { defaultExtraParams: { - keyword: '', - pageType: '' as any as number, - status: '' as any as boolean, - beginDate: [] as unknown as ModelValueType, - endDate: [] as unknown as ModelValueType, - orderInput: [{ property: 'sort', order: OrderInputType.Asc }], + keywords: '', + releaseStatus: '' as any as EnumTaskReleaseStatus, + recommendStatus: '' as any as EnumTaskRecommendStatus, + time: [] as unknown as ModelValueType, + orderInput: [{ property: 'id', order: EnumPagedListOrder.Asc }], }, - columnsRenderProps: {}, - columnPropsMap: ['advertiseBeginDate', 'advertiseEndDate'], + 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) {} } function goDetail(row) { - router.push({ name: 'TaskDetail', params: { id: row?.id ?? '' } }); + router.push({ name: 'TaskManageDetail', params: { id: row?.id ?? '' } }); } </script> -- Gitblit v1.9.1