index.vue 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. <template>
  2. <ContentWrap>
  3. <!-- 搜索工作栏 -->
  4. <el-form
  5. class="-mb-15px"
  6. :model="queryParams"
  7. ref="queryFormRef"
  8. :inline="true"
  9. label-width="68px"
  10. @submit.prevent
  11. >
  12. <el-form-item label="企业名称" prop="name">
  13. <el-input
  14. v-model="queryParams.name"
  15. placeholder="请输入企业名称"
  16. clearable
  17. @keyup.enter="handleQuery"
  18. class="!w-240px"
  19. />
  20. </el-form-item>
  21. <el-form-item>
  22. <el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button>
  23. <el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button>
  24. <el-button type="primary" plain @click="handleAdd"><Icon icon="ep:plus" class="mr-5px" /> 新增</el-button>
  25. </el-form-item>
  26. </el-form>
  27. </ContentWrap>
  28. <!-- 列表 -->
  29. <ContentWrap>
  30. <el-table v-loading="loading" :data="list" :stripe="true">
  31. <el-table-column label="招聘会标题" align="center" prop="jobFair.title" />
  32. <el-table-column label="企业名称" align="center" prop="name" />
  33. <el-table-column label="操作" align="center">
  34. <template #default="scope">
  35. <el-button
  36. link
  37. type="primary"
  38. @click="handleRemoveWhiteList(scope.row.name)"
  39. >
  40. 移出白名单
  41. </el-button>
  42. </template>
  43. </el-table-column>
  44. </el-table>
  45. <Pagination
  46. :total="total"
  47. v-model:page="queryParams.pageNo"
  48. v-model:limit="queryParams.pageSize"
  49. @pagination="getList"
  50. />
  51. </ContentWrap>
  52. <!-- 表单弹窗:添加/修改 -->
  53. <JobFairForm ref="formRef" @success="getList" />
  54. </template>
  55. <script setup lang="ts">
  56. import { JobFairWhiteApi } from '@/api/menduner/system/jobFair/white'
  57. import JobFairForm from './jobFairForm.vue'
  58. /** 招聘会 列表 */
  59. defineOptions({ name: 'JobFair' })
  60. const message = useMessage() // 消息弹窗
  61. const loading = ref(true) // 列表的加载中
  62. const list = ref([]) // 列表的数据
  63. const total = ref(0)
  64. const queryParams = ref({
  65. pageNo: 1,
  66. pageSize: 10,
  67. name: undefined
  68. })
  69. /** 查询列表 */
  70. const getList = async () => {
  71. loading.value = true
  72. try {
  73. const data = await JobFairWhiteApi.getJobFairWhiteList(queryParams.value)
  74. total.value = data.total
  75. list.value = data.list
  76. } finally {
  77. loading.value = false
  78. }
  79. }
  80. const handleQuery = () => {
  81. queryParams.value.pageNo = 1
  82. getList()
  83. }
  84. /** 重置按钮操作 */
  85. const queryFormRef = ref()
  86. const resetQuery = () => {
  87. queryFormRef.value.resetFields()
  88. handleQuery()
  89. }
  90. const formRef = ref()
  91. const handleAdd = () => {
  92. formRef.value.open()
  93. }
  94. // 移出白名单
  95. const handleRemoveWhiteList = async (enterpriseName: string) => {
  96. try {
  97. await message.confirm('确定要将该企业移出白名单吗?')
  98. await JobFairWhiteApi.removeJobFairWhiteList(enterpriseName)
  99. message.success('移出成功')
  100. getList()
  101. } catch (err) {}
  102. }
  103. /** 初始化 **/
  104. onMounted(() => {
  105. getList()
  106. })
  107. </script>