招聘网页
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

index.vue 3.0KB

2 år sedan
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. <template>
  2. <a-biaoge :data="commomParams.table.data" :columns="commomParams.table.columns" :pagination="commomParams.page"
  3. @page="getPage" :loading="loading">
  4. <template #default="{ record }">
  5. <a-row :gutter="20">
  6. <a-col>
  7. <a-dropdown placement="bottomRight">
  8. <template #overlay>
  9. <a-menu>
  10. <a-menu-item key="1">
  11. <a-button @click="popInRecycle(record.id)">移出回收站</a-button>
  12. </a-menu-item>
  13. </a-menu>
  14. </template>
  15. <a-button>
  16. 操作
  17. <DownOutlined />
  18. </a-button>
  19. </a-dropdown>
  20. </a-col>
  21. </a-row>
  22. </template>
  23. </a-biaoge>
  24. </template>
  25. <script setup lang="ts">
  26. import { ref, onMounted, computed, defineEmits, createVNode } from 'vue';
  27. import { GetCompanyJobRecycleList, PostCompanyJobRecoverRecycle } from '@/apis/models';
  28. import ASearch from '@/components/company/invite/manage/search.vue';
  29. import { cols } from '@/components/company/invite/manage/columns';
  30. import { warnToast, successToast } from '@/utils/toastHelper';
  31. import { DownOutlined } from '@ant-design/icons-vue';
  32. import { useCommon } from '@/hooks/useCommon';
  33. let { commomParams, ExclamationCircleOutlined, Modal } = useCommon();
  34. const emit = defineEmits();
  35. let loading = ref<Boolean>(true);
  36. onMounted(() => {
  37. getData();
  38. })
  39. const searchData = (data : object) => {
  40. commomParams.value.search = data
  41. getData();
  42. }
  43. const clearData = (data : object) => {
  44. if (data) {
  45. commomParams.value.search = data
  46. } else {
  47. commomParams.value.search = {
  48. page: 1,
  49. pagesize: 10,
  50. sort: 'id',
  51. sortby: 'asc',
  52. keyword: ''
  53. }
  54. }
  55. getData();
  56. }
  57. const getPage = (data : object) => {
  58. commomParams.value.search.page = data.current;
  59. commomParams.value.search.pagesize = data.pageSize;
  60. getData();
  61. }
  62. const getData = async () => {
  63. try {
  64. loading.value = true;
  65. let res = await GetCompanyJobRecycleList(commomParams.value.search);
  66. loading.value = false;
  67. commomParams.value.table.data = res.data.list;
  68. commomParams.value.table.columns = cols;
  69. commomParams.value.page = {
  70. current: commomParams.value.search.page,
  71. pageSize: commomParams.value.search.pagesize,
  72. total: res.data.total,
  73. pageSizeOptions: ['10', '20', '30', '40'],
  74. hideOnSinglePage: false,
  75. showSizeChanger: true
  76. };
  77. } catch {
  78. loading.value = false;
  79. }
  80. }
  81. // 修改
  82. const edit = (record : Object) => {
  83. emit('toEdit', { record: record })
  84. }
  85. // 移除回收站
  86. const popInRecycle = (id) => {
  87. Modal.confirm({
  88. title: '是否要移出回收站',
  89. centered: true,
  90. icon: createVNode(ExclamationCircleOutlined),
  91. onOk() {
  92. PostCompanyJobRecoverRecycle({ id: id }).then(res => {
  93. successToast('已移出回收站')
  94. getData();
  95. })
  96. },
  97. onCancel() {
  98. },
  99. });
  100. }
  101. // const del = (id : number) => {
  102. // commomParams.value.delParam = { id: id };
  103. // PostCompanyDepartmentDel(commomParams.value.delParam).then(res => {
  104. // successToast('删除成功');
  105. // getData();
  106. // })
  107. // }
  108. </script>
  109. <style scoped lang="less">
  110. </style>