zhengyiming
2025-12-03 a589e8e0f15b368069164fffed0e36becab92cb6
src/views/EmploymentManage/TaskManageList.vue
@@ -43,14 +43,15 @@
          </QueryFilterItem>
        </template>
        <template #btn>
          <el-button @click="goAddOrEdit()" type="primary">发布</el-button>
          <el-button
            v-if="checkSubModuleItemShow('pageButton', 'addBtn')"
            @click="goAddOrEdit()"
            type="primary"
            >发布</el-button
          >
        </template>
      </ProTableQueryFilterBar>
      <ProTableV2
        v-bind="proTableProps"
        :columns="EmploymentManageColumns"
        :operationBtns="operationBtns"
      >
      <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns">
        <template #userCount="{ row }">
          <el-button link type="primary" @click="goSignList(row)">{{
            row.userCount || 0
@@ -72,13 +73,11 @@
  useTable,
  FieldDatePicker,
  FieldRadio,
  defineOperationBtns,
} from '@bole-core/components';
import { EmploymentManageColumns } from './constants';
import { EnumTaskStatusText, EnumTaskReleaseStatusText } from '@/constants';
import { useGlobalEventContext } from '@/hooks';
import * as taskServices from '@/services/api/task';
import { format } from '@/utils';
import { format, OrderUtils } from '@/utils';
import { ModelValueType } from 'element-plus';
import { Message } from '@bole-core/core';
import dayjs from 'dayjs';
@@ -87,12 +86,8 @@
  name: 'TaskManageList',
});
const operationBtns = defineOperationBtns([
  {
    data: {
      enCode: 'editBtn',
      name: '编辑',
    },
const operationBtnMap: Record<string, OperationBtnType> = {
  editBtn: {
    emits: {
      onClick: (role) => goAddOrEdit(role),
    },
@@ -100,20 +95,12 @@
      hide: (row: API.GetTaskInfosQueryResultItem) => row.status === EnumTaskStatus.Complete,
    },
  },
  {
    data: {
      enCode: 'detailBtn',
      name: '详情',
    },
  detailBtn: {
    emits: {
      onClick: (row: API.GetTaskInfosQueryResultItem) => goDetail(row),
    },
  },
  {
    data: {
      enCode: 'publishBtn',
      name: '发布',
    },
  publishBtn: {
    emits: {
      onClick: (row: API.GetTaskInfosQueryResultItem) =>
        setTaskInfoReleaseStatus(row, EnumTaskReleaseStatus.InProcess),
@@ -123,11 +110,7 @@
        row.releaseStatus === EnumTaskReleaseStatus.InProcess,
    },
  },
  {
    data: {
      enCode: 'unPublishBtn',
      name: '停止发布',
    },
  unPublishBtn: {
    emits: {
      onClick: (row: API.GetTaskInfosQueryResultItem) =>
        setTaskInfoReleaseStatus(row, EnumTaskReleaseStatus.Stopped),
@@ -137,11 +120,7 @@
        row.releaseStatus === EnumTaskReleaseStatus.Stopped,
    },
  },
  {
    data: {
      enCode: 'arrangeBtn',
      name: '安排',
    },
  arrangeBtn: {
    emits: {
      onClick: (row: API.GetTaskInfosQueryResultItem) => handleArrange(row),
    },
@@ -150,7 +129,11 @@
        row.releaseStatus === EnumTaskReleaseStatus.Stopped,
    },
  },
]);
};
const { checkSubModuleItemShow, column, operationBtns } = useAccess({
  operationBtnMap,
});
const router = useRouter();
@@ -224,11 +207,9 @@
      beginTime: { type: 'date', format: 'YYYY-MM-DD' },
      endTime: { type: 'date', format: 'YYYY-MM-DD' },
      serviceFee: {
        type: 'money',
        formatter: (row) => {
          return row.billingMethod === EnumBillingMethod.Face
            ? ''
            : `${row.serviceFee}${EnumBillingMethodUnitText[row.billingMethod]}`;
        type: 'text',
        formatter: (row: API.GetTaskInfosQueryResultItem) => {
          return OrderUtils.getServiceFeeText(row.serviceFee, row.billingMethod);
        },
      },
      applyBeginTime: { type: 'date', format: 'YYYY-MM-DD' },