| | |
| | | <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> |
| | |
| | | :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> |
| | |
| | | FieldRadio, |
| | | defineOperationBtns, |
| | | } from '@bole-core/components'; |
| | | import * as flexEnterpriseServices from '@/services/api/FlexEnterprise'; |
| | | 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', |
| | |
| | | name: '详情', |
| | | }, |
| | | emits: { |
| | | onClick: (role) => goDetail(role), |
| | | onClick: (row: API.GetTaskInfosQueryResultItem) => goDetail(row), |
| | | }, |
| | | }, |
| | | { |
| | |
| | | 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, |
| | | }, |
| | | }, |
| | | { |
| | |
| | | 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, |
| | | }, |
| | | }, |
| | | { |
| | |
| | | name: '安排', |
| | | }, |
| | | emits: { |
| | | onClick: (role) => handleArrange(role), |
| | | onClick: (row: API.GetTaskInfosQueryResultItem) => handleArrange(row), |
| | | }, |
| | | }, |
| | | ]); |
| | |
| | | } = 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; |
| | |
| | | }, |
| | | { |
| | | 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: { |
| | |
| | | }, |
| | | }); |
| | | } |
| | | function goAddOrEdit(row?) { |
| | | function goAddOrEdit(row?: API.GetTaskInfosQueryResultItem) { |
| | | router.push({ |
| | | name: 'AddOrEditEmployment', |
| | | params: { |
| | |
| | | }, |
| | | }); |
| | | } |
| | | function goDetail(row) { |
| | | function goDetail(row: API.GetTaskInfosQueryResultItem) { |
| | | router.push({ |
| | | name: 'EmploymentManageDetail', |
| | | params: { |
| | |
| | | }); |
| | | } |
| | | |
| | | function goSignList(row) { |
| | | function goSignList(row: API.GetTaskInfosQueryResultItem) { |
| | | router.push({ |
| | | name: 'EmploymentSignList', |
| | | params: { |