From fea063f5c7fdf79d56ada2dd2b8045a44ca2db44 Mon Sep 17 00:00:00 2001 From: wupengfei <834520024@qq.com> Date: 星期五, 08 八月 2025 15:17:55 +0800 Subject: [PATCH] feat: 任务 --- src/views/EmploymentManage/EmploymentManage.vue | 121 ++++++++++++++++++++++++--------------- 1 files changed, 74 insertions(+), 47 deletions(-) diff --git a/src/views/EmploymentManage/EmploymentManage.vue b/src/views/EmploymentManage/EmploymentManage.vue index 452e7f8..3750b03 100644 --- a/src/views/EmploymentManage/EmploymentManage.vue +++ b/src/views/EmploymentManage/EmploymentManage.vue @@ -3,49 +3,41 @@ <AppContainer> <ProTableQueryFilterBar @on-reset="reset"> <template #query> - <QueryFilterItem tip-content="褰曠敤鐘舵��"> + <QueryFilterItem tip-content="浠诲姟鐘舵��"> <FieldRadio - v-model="extraParamState.flexEnterpriseSettingStatus" - :value-enum="[ - { label: '宸插畨鎺�', value: 1 }, - { label: '寰呭畨鎺�', value: 0 }, - ]" + v-model="extraParamState.status" + :value-enum="EnumTaskStatusText" buttonStyle showAllBtn @change="getList()" /> </QueryFilterItem> - <QueryFilterItem tip-content="瀹炲悕鐘舵��"> + <QueryFilterItem tip-content="鍙戝竷鐘舵��"> <FieldRadio - v-model="extraParamState.flexEnterpriseSettingStatus" - :value-enum="[ - { label: '鍙戝竷涓�', value: 1 }, - { label: '宸插仠姝�', value: 0 }, - ]" + v-model="extraParamState.releaseStatus" + :value-enum="EnumTaskReleaseStatusText" buttonStyle showAllBtn @change="getList()" /> </QueryFilterItem> - <QueryFilterItem> + <QueryFilterItem tip-content="鍙戝竷鏃堕棿"> <FieldDatePicker - v-model="extraParamState.flexEnterpriseSettingStatus" + v-model="extraParamState.time" type="daterange" range-separator="~" - start-placeholder="璧峰鏃ユ湡" - end-placeholder="鎴鏃ユ湡" + start-placeholder="寮�濮嬫棩鏈�" + end-placeholder="缁撴潫鏃ユ湡" clearable @change="getList()" - tooltipContent="鍙戝竷鏃堕棿" ></FieldDatePicker> </QueryFilterItem> <QueryFilterItem> <SearchInput - v-model="extraParamState.searchWord" - style="width: 250px" + v-model="extraParamState.keywords" + style="width: 260px" placeholder="浠诲姟鍚嶇О" @on-click-search="getList" - @keyup.enter="getList()" > </SearchInput> </QueryFilterItem> @@ -59,8 +51,10 @@ :columns="EmploymentManageColumns" :operationBtns="operationBtns" > - <template #signNum="{ row }"> - <el-button link type="primary" @click="goSignList(row)">{{ row.signNum || 0 }}</el-button> + <template #userCount="{ row }"> + <el-button link type="primary" @click="goSignList(row)">{{ + row.userCount || 0 + }}</el-button> </template> </ProTableV2> </AppContainer> @@ -81,9 +75,12 @@ defineOperationBtns, } from '@bole-core/components'; import { EmploymentManageColumns } from './constants'; -import { FlexEnterpriseSettingStatus, Gender } from '@/constants'; -import { OrderInputType } from '@bole-core/core'; +import { EnumTaskStatusText, EnumTaskReleaseStatusText } from '@/constants'; import { useGlobalEventContext } from '@/hooks'; +import * as taskServices from '@/services/api/task'; +import { format } from '@/utils'; +import { ModelValueType } from 'element-plus'; +import { Message } from '@bole-core/core'; defineOptions({ name: 'EmploymentManageList', @@ -105,7 +102,7 @@ name: '璇︽儏', }, emits: { - onClick: (role) => goDetail(role), + onClick: (row: API.GetTaskInfosQueryResultItem) => goDetail(row), }, }, { @@ -114,10 +111,12 @@ name: '鍙戝竷', }, emits: { - onClick: (role) => handlePublish(role), + onClick: (row: API.GetTaskInfosQueryResultItem) => + setTaskInfoReleaseStatus(row, EnumTaskReleaseStatus.InProcess), }, extraProps: { - hide: (row) => false, + hide: (row: API.GetTaskInfosQueryResultItem) => + row.releaseStatus === EnumTaskReleaseStatus.InProcess, }, }, { @@ -126,10 +125,12 @@ name: '鍋滄鍙戝竷', }, emits: { - onClick: (role) => handleUnPublish(role), + onClick: (row: API.GetTaskInfosQueryResultItem) => + setTaskInfoReleaseStatus(row, EnumTaskReleaseStatus.Stopped), }, extraProps: { - hide: (row) => false, + hide: (row: API.GetTaskInfosQueryResultItem) => + row.releaseStatus === EnumTaskReleaseStatus.Stopped, }, }, { @@ -138,7 +139,7 @@ name: '瀹夋帓', }, emits: { - onClick: (role) => handleArrange(role), + onClick: (row: API.GetTaskInfosQueryResultItem) => handleArrange(row), }, }, ]); @@ -175,17 +176,20 @@ } = useTable( async ({ pageIndex, pageSize }, extraParamState) => { try { - let params: API.GetFlexEnterpriseInput = { + let params: API.GetTaskInfosQuery = { pageModel: { rows: pageSize, page: pageIndex, orderInput: extraParamState.orderInput, }, - flexEnterpriseSettingStatus: extraParamState.flexEnterpriseSettingStatus, - searchWord: extraParamState.searchWord, + keywords: extraParamState.keywords, + status: extraParamState.status, + releaseStatus: extraParamState.releaseStatus, + 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 flexEnterpriseServices.getFlexEnterpriseList(params, { + let res = await taskServices.getTaskInfos(params, { showLoading: !state.loading, }); return res; @@ -195,23 +199,46 @@ }, { defaultExtraParams: { - searchWord: '', - orderInput: [{ property: 'id', order: OrderInputType.Desc }], + keywords: '', + status: '' as any as EnumTaskStatus, + releaseStatus: '' as any as EnumTaskReleaseStatus, + time: [] as unknown as ModelValueType, + orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }], flexEnterpriseSettingStatus: '' as any as FlexEnterpriseSettingStatus, }, - queryKey: ['flexEnterpriseServices/getFlexEnterpriseList'], - columnsRenderProps: {}, + queryKey: ['taskServices/getTaskInfos'], + 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 }, + beginTime: { type: 'date', format: 'YYYY-MM-DD' }, + endTime: { type: 'date', format: 'YYYY-MM-DD' }, + serviceFee: { type: 'money' }, + }, } ); -function handlePublish(row) { - console.log(row); -} -function handleUnPublish(row) { - console.log(row); +async function setTaskInfoReleaseStatus( + row: API.GetTaskInfosQueryResultItem, + releaseStatus: EnumTaskReleaseStatus +) { + try { + await Message.tipMessage(`纭瑕�${EnumTaskReleaseStatusTextForTip[releaseStatus]}鍚楋紵`); + let params: API.SetTaskInfoReleaseStatusCommand = { + ids: [row.id], + releaseStatus: releaseStatus, + }; + let res = await taskServices.setTaskInfoReleaseStatus(params); + if (res) { + Message.successMessage('鎿嶄綔鎴愬姛'); + getList(paginationState.pageIndex); + } + } catch (error) {} } -function handleArrange(row) { +function handleArrange(row: API.GetTaskInfosQueryResultItem) { router.push({ name: 'EmploymentManageArrange', params: { @@ -219,7 +246,7 @@ }, }); } -function goAddOrEdit(row?) { +function goAddOrEdit(row?: API.GetTaskInfosQueryResultItem) { router.push({ name: 'AddOrEditEmployment', params: { @@ -227,7 +254,7 @@ }, }); } -function goDetail(row) { +function goDetail(row: API.GetTaskInfosQueryResultItem) { router.push({ name: 'EmploymentManageDetail', params: { @@ -236,7 +263,7 @@ }); } -function goSignList(row) { +function goSignList(row: API.GetTaskInfosQueryResultItem) { router.push({ name: 'EmploymentSignList', params: { -- Gitblit v1.9.1