wupengfei
2025-12-04 6b532419c00f8bfbc696ef475f5c97b457497c6b
src/views/EmploymentManage/CheckManage.vue
@@ -36,11 +36,7 @@
          </QueryFilterItem>
        </template>
      </ProTableQueryFilterBar>
      <ProTableV2
        v-bind="proTableProps"
        :columns="CheckManageColumns"
        :operationBtns="operationBtns"
      >
      <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns">
      </ProTableV2>
    </AppContainer>
  </LoadingLayout>
@@ -57,34 +53,23 @@
  useTable,
  FieldDatePicker,
  FieldRadio,
  defineOperationBtns,
  useFormDialog,
} from '@bole-core/components';
import { CheckManageColumns } from './constants';
import * as taskCheckReceiveServices from '@/services/api/taskCheckReceive';
import { ModelValueType } from 'element-plus';
import { format } from '@/utils';
import { downloadFileByUrl, format, OrderUtils, setOSSLink } from '@/utils';
import { EnumTaskCheckReceiveStatusText } from '@/constants';
defineOptions({
  name: 'CheckManage',
});
const operationBtns = defineOperationBtns([
  {
    data: {
      enCode: 'detailBtn',
      name: '详情',
    },
const operationBtnMap: Record<string, OperationBtnType> = {
  detailBtn: {
    emits: {
      onClick: (role) => goCheckReceiveTaskDetail(role),
    },
  },
  {
    data: {
      enCode: 'exportBtn',
      name: '导出',
    },
  exportBtn: {
    emits: {
      onClick: (role) => handleExport(role),
    },
@@ -93,7 +78,11 @@
        row.checkReceiveStatus !== EnumTaskCheckReceiveStatus.Completed,
    },
  },
]);
};
const { column, operationBtns } = useAccess({
  operationBtnMap,
});
const router = useRouter();
@@ -160,10 +149,17 @@
    columnsRenderProps: {
      checkReceiveStatus: { type: 'enum', valueEnum: EnumTaskCheckReceiveStatusText },
      billingMethod: { type: 'enum', valueEnum: EnumBillingMethodText },
      checkReceiveMethods: {
        formatter: (row: API.GetCheckReceiveTasksQueryResultItem) => {
          return row.checkReceiveMethods
            .map((item) => EnumTaskCheckReceiveMethodText[item])
            .join(',');
        },
      },
      serviceFee: {
        type: 'money',
        formatter: (row) => {
          return `${row.serviceFee}${EnumBillingMethodUnitText[row.billingMethod]}`;
        formatter: (row: API.GetCheckReceiveTasksQueryResultItem) => {
          return OrderUtils.getServiceFeeText(row.serviceFee, row.billingMethod);
        },
      },
      settlementCycle: { type: 'enum', valueEnum: EnumSettlementCycleText },
@@ -184,5 +180,15 @@
  });
}
function handleExport(row: API.GetCheckReceiveTasksQueryResultItem) {}
async function handleExport(row: API.GetCheckReceiveTasksQueryResultItem) {
  try {
    let params: API.ExportTaskCheckReceiveTaskUsersCommand = {
      id: row.id,
    };
    let res = await taskCheckReceiveServices.exportTaskCheckReceiveTaskUsers(params);
    if (res) {
      downloadFileByUrl(setOSSLink(res));
    }
  } catch (error) {}
}
</script>