myDelivery.vue 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. <!-- 我的投递 -->
  2. <template>
  3. <view class="delivery">
  4. <z-paging
  5. ref="paging"
  6. v-model="deliveryList"
  7. @query="queryList"
  8. >
  9. <view class="delivery-list">
  10. <view
  11. class="delivery-list-item"
  12. v-for="(item, index) in deliveryList"
  13. :key="index"
  14. @click="jumpPage('/pages/jobDetails/jobDetails', { id: item.id, isSubmit: true })"
  15. :class="{ 'off': item.postStatus == 0 }"
  16. >
  17. <view class="delivery-list-item-left">
  18. <view class="delivery-list-item-left-image">
  19. <image
  20. :src="item.companyLogoUrl"
  21. />
  22. </view>
  23. <view class="delivery-list-item-left-info">
  24. <view>{{ item.postName }}</view>
  25. <view>{{ `${item.provinceName || ''} | 经验${item.workYear ? item.workYear + '年' : '不限'} | ${getEducationBg(item.educationBg)}` }}</view>
  26. <view>{{ item.companyName }}</view>
  27. </view>
  28. </view>
  29. <view class="delivery-list-item-right">
  30. <view align="right" class="off-the-shelf" v-if="item.postStatus == 0">职位已下架</view>
  31. <view align="right" class="salary" v-else>{{ `${item.lowestSalary || ''}k ~ ${item.highestSalary || ''}k` }}</view>
  32. <view>{{ item.createTime.split(' ')[0] }}</view>
  33. </view>
  34. </view>
  35. </view>
  36. </z-paging>
  37. <u-toast ref="uToast" />
  38. </view>
  39. </template>
  40. <script>
  41. export default {
  42. data() {
  43. return {
  44. deliveryList: [],
  45. degrEducList: []
  46. }
  47. },
  48. onShow() {
  49. this.getDictEduc()
  50. },
  51. methods: {
  52. /**
  53. * 获取教育等级名称
  54. * @param {Object} value
  55. */
  56. getEducationBg(value) {
  57. let name;
  58. this.degrEducList.forEach(item => {
  59. if (item.text == value) {
  60. name = item.label
  61. }
  62. })
  63. return name;
  64. },
  65. /**
  66. * 获取字典
  67. */
  68. getDictEduc() {
  69. this.$u.api.getDictdataUrl({
  70. key: 'degr_educ'
  71. }).then(res => {
  72. if (res.code === 200) {
  73. this.degrEducList = res.data;
  74. }
  75. })
  76. },
  77. getList(pageNum, pageSize) {
  78. this.$u.api.delivery.getDeliveryList({
  79. pageNum,
  80. pageSize
  81. }).then(res => {
  82. if (res.code === 200) {
  83. this.$refs.paging.complete(res.rows)
  84. } else {
  85. this.$refs.uToast.show({
  86. title: res.msg,
  87. type: 'error'
  88. })
  89. this.$refs.paging.complete([])
  90. }
  91. }).catch(() => {
  92. this.$refs.uToast.show({
  93. title: '系统异常!',
  94. type: 'error'
  95. })
  96. this.$refs.paging.complete([])
  97. })
  98. },
  99. /**
  100. * 下拉上滑触发
  101. */
  102. queryList(pageNo, pageSize) {
  103. // 组件加载时会自动触发此方法,因此默认页面加载时会自动触发,无需手动调用
  104. this.getList(pageNo, pageSize);
  105. },
  106. /**
  107. * 跳转到指定页面
  108. */
  109. jumpPage(url, params) {
  110. this.$u.route({
  111. url: url,
  112. params: params
  113. })
  114. }
  115. }
  116. }
  117. </script>
  118. <style lang="scss" scoped>
  119. @import './myDelivery.scss';
  120. </style>