wupengfei
2025-12-02 5b01e3e6a695a8c9ba508fb4570b0b66e154ba0f
src/views/EmploymentManage/EmploymentManageArrange.vue
@@ -33,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>
@@ -63,17 +59,14 @@
  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),
    },
@@ -82,7 +75,20 @@
        row.arrangeStatus === EnumTaskUserArrangeStatus.Complete,
    },
  },
]);
  cancelRecruitBtn: {
    emits: {
      onClick: (role) => setTaskUserHire(role, EnumTaskUserHireStatus.Cancel),
    },
    extraProps: {
      hide: (row: API.GetArrangeTaskUsersQueryResultItem) =>
        row.arrangeStatus === EnumTaskUserArrangeStatus.Complete,
    },
  },
};
const { column, operationBtns } = useAccess({
  operationBtnMap,
});
const router = useRouter();
const route = useRoute();
@@ -139,6 +145,11 @@
    columnsRenderProps: {
      gender: { type: 'enum', valueEnum: EnumUserGenderTextForPerson },
      arrangeStatus: { type: 'enum', valueEnum: EnumTaskUserArrangeStatusText },
      identity: {
        formatter: (row: API.GetArrangeTaskUsersQueryResultItem) => {
          return hiddenIDNumberForEnd4(row.identity);
        },
      },
    },
  }
);
@@ -156,4 +167,22 @@
    }
  } catch (error) {}
}
async function setTaskUserHire(
  row: API.GetArrangeTaskUsersQueryResultItem,
  hireStatus: EnumTaskUserHireStatus
) {
  try {
    await Message.tipMessage(`确认要取消录用吗?`);
    let params: API.SetTaskUserHireCommand = {
      id: row.id,
      hireStatus: hireStatus,
    };
    let res = await taskUserServices.setTaskUserHire(params);
    if (res) {
      Message.successMessage('操作成功');
      getList(paginationState.pageIndex);
    }
  } catch (error) {}
}
</script>