zhengyiming
昨天 a61a6310e93bf792d3cc41944006d8663636b552
src/views/EmploymentManage/CheckManage.vue
@@ -5,11 +5,8 @@
        <template #query>
          <QueryFilterItem tip-content="验收状态">
            <FieldRadio
              v-model="extraParamState.flexEnterpriseSettingStatus"
              :value-enum="[
                { label: '已安排', value: 1 },
                { label: '待安排', value: 0 },
              ]"
              v-model="extraParamState.checkReceiveStatus"
              :value-enum="EnumTaskCheckReceiveStatusText"
              buttonStyle
              showAllBtn
              @change="getList()"
@@ -17,7 +14,7 @@
          </QueryFilterItem>
          <QueryFilterItem>
            <FieldDatePicker
              v-model="extraParamState.flexEnterpriseSettingStatus"
              v-model="extraParamState.checkReceiveTime"
              type="daterange"
              range-separator="~"
              start-placeholder="起始日期"
@@ -46,7 +43,6 @@
      >
      </ProTableV2>
    </AppContainer>
    <CheckManageDialog v-bind="dialogProps" @check="handleCheck" />
  </LoadingLayout>
</template>
@@ -65,9 +61,10 @@
  useFormDialog,
} from '@bole-core/components';
import { CheckManageColumns } from './constants';
import { FlexEnterpriseSettingStatus, Gender } from '@/constants';
import { OrderInputType } from '@bole-core/core';
import CheckManageDialog from './components/CheckManageDialog.vue';
import * as taskCheckReceiveServices from '@/services/api/taskCheckReceive';
import { ModelValueType } from 'element-plus';
import { downloadFileByUrl, format, setOSSLink } from '@/utils';
import { EnumTaskCheckReceiveStatusText } from '@/constants';
defineOptions({
  name: 'CheckManage',
@@ -76,20 +73,24 @@
const operationBtns = defineOperationBtns([
  {
    data: {
      enCode: 'checkBtn',
      name: '验收',
    },
    emits: {
      onClick: (role) => openDialog(role, 'check'),
    },
  },
  {
    data: {
      enCode: 'detailBtn',
      name: '详情',
    },
    emits: {
      onClick: (role) => openDialog(role, 'detail'),
      onClick: (role) => goCheckReceiveTaskDetail(role),
    },
  },
  {
    data: {
      enCode: 'exportBtn',
      name: '导出',
    },
    emits: {
      onClick: (role) => handleExport(role),
    },
    extraProps: {
      hide: (row: API.GetCheckReceiveTasksQueryResultItem) =>
        row.checkReceiveStatus !== EnumTaskCheckReceiveStatus.Completed,
    },
  },
]);
@@ -101,6 +102,12 @@
};
const state = reactive({ ...BaseState });
const eventContext = useGlobalEventContext();
eventContext.addEvent('checkReceiveTask', () => {
  getList(paginationState.pageIndex);
});
onMounted(async () => {
  await getList();
@@ -116,17 +123,25 @@
} = useTable(
  async ({ pageIndex, pageSize }, extraParamState) => {
    try {
      let params: API.GetFlexEnterpriseInput = {
      let params: API.GetCheckReceiveTasksQuery = {
        pageModel: {
          rows: pageSize,
          page: pageIndex,
          orderInput: extraParamState.orderInput,
        },
        flexEnterpriseSettingStatus: extraParamState.flexEnterpriseSettingStatus,
        searchWord: extraParamState.searchWord,
        checkReceiveStatus: extraParamState.checkReceiveStatus,
        checkReceiveTimeBegin: format(
          extraParamState.checkReceiveTime?.[0] ?? '',
          'YYYY-MM-DD 00:00:00'
        ),
        checkReceiveTimeEnd: format(
          extraParamState.checkReceiveTime?.[1] ?? '',
          'YYYY-MM-DD 23:59:59'
        ),
        keywords: extraParamState.searchWord,
      };
      let res = await flexEnterpriseServices.getFlexEnterpriseList(params, {
      let res = await taskCheckReceiveServices.getCheckReceiveTasks(params, {
        showLoading: !state.loading,
      });
      return res;
@@ -137,29 +152,47 @@
  {
    defaultExtraParams: {
      searchWord: '',
      orderInput: [{ property: 'id', order: OrderInputType.Desc }],
      flexEnterpriseSettingStatus: '' as any as FlexEnterpriseSettingStatus,
      orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
      checkReceiveStatus: '' as any as EnumTaskCheckReceiveStatus,
      checkReceiveTime: [] as unknown as ModelValueType,
    },
    queryKey: ['flexEnterpriseServices/getFlexEnterpriseList'],
    columnsRenderProps: {},
    queryKey: ['taskCheckReceiveServices/getCheckReceiveTasks'],
    columnsRenderProps: {
      checkReceiveStatus: { type: 'enum', valueEnum: EnumTaskCheckReceiveStatusText },
      billingMethod: { type: 'enum', valueEnum: EnumBillingMethodText },
      serviceFee: {
        type: 'money',
        formatter: (row) => {
          return `${row.serviceFee}${EnumBillingMethodUnitText[row.billingMethod]}`;
        },
      },
      settlementCycle: { type: 'enum', valueEnum: EnumSettlementCycleText },
      createdTime: { type: 'date', format: 'YYYY-MM-DD' },
      beginTime: { type: 'date', format: 'YYYY-MM-DD' },
      endTime: { type: 'date', format: 'YYYY-MM-DD' },
      lastCheckReceiveTime: { type: 'date' },
    },
  }
);
const { dialogProps, handleEdit, editForm } = useFormDialog({
  defaultFormParams: {
    id: '',
    type: '',
  },
});
function openDialog(row, type: string) {
  handleEdit({
    id: row.id,
    type: type,
function goCheckReceiveTaskDetail(row: API.GetCheckReceiveTasksQueryResultItem) {
  router.push({
    name: 'CheckReceiveTaskDetail',
    params: {
      id: row.id ?? '',
    },
  });
}
function handleCheck(val) {
  console.log('val: ', val);
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>