wupengfei
2 天以前 9c2c8534862d5a843b1e8766bd4bf171ac295fb3
src/views/EmploymentManage/EmploymentManageArrange.vue
@@ -13,6 +13,15 @@
            />
          </QueryFilterItem>
          <QueryFilterItem>
            <FieldRadio
              v-model="extraParamState.applyStatus"
              :value-enum="EnumGetArrangeTaskUsersQueryApplyStatusText"
              buttonStyle
              showAllBtn
              @change="getList()"
            />
          </QueryFilterItem>
          <QueryFilterItem>
            <SearchInput
              v-model="extraParamState.searchWord"
              style="width: 250px"
@@ -24,11 +33,7 @@
          </QueryFilterItem>
        </template>
      </ProTableQueryFilterBar>
      <ProTableV2
        v-bind="proTableProps"
        :columns="EmploymentArrangeColumns"
        :operationBtns="operationBtns"
      >
      <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns">
      </ProTableV2>
    </AppContainer>
  </LoadingLayout>
@@ -43,25 +48,22 @@
  AppContainer,
  QueryFilterItem,
  useTable,
  FieldDatePicker,
  FieldRadio,
  defineOperationBtns,
} from '@bole-core/components';
import { EmploymentArrangeColumns } from './constants';
import { Message } from '@bole-core/core';
import * as taskUserServices from '@/services/api/taskUser';
import { EnumTaskUserArrangeStatusText } from '@/constants';
import {
  EnumTaskUserArrangeStatusText,
  EnumGetArrangeTaskUsersQueryApplyStatusText,
} from '@/constants';
import { hiddenIDNumberForEnd4 } from '@/utils';
defineOptions({
  name: 'EmploymentManageArrange',
});
const operationBtns = defineOperationBtns([
  {
    data: {
      enCode: 'arrangeBtn',
      name: '安排',
    },
const operationBtnMap: Record<string, OperationBtnType> = {
  arrangeBtn: {
    emits: {
      onClick: (role) => handleArrange(role),
    },
@@ -70,7 +72,20 @@
        row.arrangeStatus === EnumTaskUserArrangeStatus.Complete,
    },
  },
]);
  cancelRecruitBtn: {
    emits: {
      onClick: (role) => setTaskUserHire(role, EnumTaskUserHireStatus.Cancel),
    },
    extraProps: {
      hide: (row: API.GetArrangeTaskUsersQueryResultItem) =>
        row.arrangeStatus === EnumTaskUserArrangeStatus.Complete || !row.taskInfoUserId,
    },
  },
};
const { column, operationBtns } = useAccess({
  operationBtnMap,
});
const router = useRouter();
const route = useRoute();
@@ -105,6 +120,7 @@
        id: id,
        keywords: extraParamState.searchWord,
        arrangeStatus: extraParamState.arrangeStatus,
        applyStatus: extraParamState.applyStatus,
      };
      let res = await taskUserServices.getArrangeTaskUsers(params, {
@@ -120,11 +136,17 @@
      searchWord: '',
      orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
      arrangeStatus: '' as any as EnumTaskUserArrangeStatus,
      applyStatus: '' as any as EnumGetArrangeTaskUsersQueryApplyStatus,
    },
    queryKey: ['taskUserServices/getArrangeTaskUsers'],
    columnsRenderProps: {
      gender: { type: 'enum', valueEnum: EnumUserGenderTextForPerson },
      arrangeStatus: { type: 'enum', valueEnum: EnumTaskUserArrangeStatusText },
      identity: {
        formatter: (row: API.GetArrangeTaskUsersQueryResultItem) => {
          return hiddenIDNumberForEnd4(row.identity);
        },
      },
    },
  }
);
@@ -142,4 +164,22 @@
    }
  } catch (error) {}
}
async function setTaskUserHire(
  row: API.GetArrangeTaskUsersQueryResultItem,
  hireStatus: EnumTaskUserHireStatus
) {
  try {
    await Message.tipMessage(`确认要取消录用吗?`);
    let params: API.SetTaskUserHireCommand = {
      id: row.taskInfoUserId,
      hireStatus: hireStatus,
    };
    let res = await taskUserServices.setTaskUserHire(params);
    if (res) {
      Message.successMessage('操作成功');
      getList(paginationState.pageIndex);
    }
  } catch (error) {}
}
</script>