wupengfei
8 天以前 a4978ef36ce6dc9c6723b61b20fd27cffd907ad9
src/views/TaskManage/TaskManageList.vue
@@ -66,24 +66,25 @@
import { ModelValueType } from 'element-plus';
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,
    },
  },
};
@@ -122,7 +123,8 @@
        keywords: extraParamState.keywords,
        releaseStatus: extraParamState.releaseStatus,
        recommendStatus: extraParamState.recommendStatus,
        // time: extraParamState.time,
        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 taskServices.getTaskInfos(params, {
        showLoading: !state.loading,
@@ -138,12 +140,38 @@
      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) {}
}