registrationNotice.vue 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. <!-- 报班通知 -->
  2. <template>
  3. <view class="registration">
  4. <u-navbar back-text="" title="" back-icon-color="#FFFFFF" :background="{ background: '#3D5D4C' }" :border-bottom="false"></u-navbar>
  5. <z-paging
  6. ref="paging"
  7. v-model="noticeList"
  8. @query="queryList"
  9. >
  10. <view class="registration-list">
  11. <view class="registration-list-item" v-for="(item, index) in noticeList" :key="index">
  12. <view class="left">
  13. <u-image :src="item.img" mode="aspectFill" width="200" height="216" border-radius="10"/>
  14. </view>
  15. <view class="right">
  16. <view class="name">{{ item.name }}</view>
  17. <view class="school">{{ item.schoolName }}</view>
  18. <view class="content">
  19. <u-parse :html="item.description"></u-parse>
  20. </view>
  21. <view class="button" @click="signUp(item)">报名</view>
  22. </view>
  23. </view>
  24. </view>
  25. </z-paging>
  26. <u-toast ref="uToast" />
  27. </view>
  28. </template>
  29. <script>
  30. export default {
  31. data() {
  32. return {
  33. noticeList: []
  34. }
  35. },
  36. methods: {
  37. /**
  38. * 下拉分页组件触发
  39. * @param {Number} pageNum
  40. * @param {Number} pageSize
  41. */
  42. queryList(pageNum, pageSize) {
  43. this.getList(pageNum, pageSize)
  44. },
  45. /**
  46. * 获取列表
  47. * @param {Object} pageNum
  48. * @param {Object} pageSize
  49. */
  50. getList(pageNum, pageSize) {
  51. this.$u.api.skillTraining.getClassNoticeApi({ pageNum, pageSize }).then(res => {
  52. if (res.code === 200) {
  53. this.$refs.paging.complete(res.rows)
  54. } else {
  55. this.$refs.paging.complete([]);
  56. this.$refs.uToast.show({
  57. title: res.msg,
  58. type: 'error'
  59. })
  60. }
  61. })
  62. },
  63. /**
  64. * 报名
  65. * @param {Object} item
  66. */
  67. signUp(item) {
  68. this.$u.api.skillTraining.signUpClassApi({ packageId: item.id }).then(res => {
  69. if (res.code === 200) {
  70. this.jumpPage('/pages/skillsTraining/submitSuccess/submitSuccess');
  71. } else {
  72. this.$refs.uToast.show({
  73. title: res.msg,
  74. type: 'error'
  75. })
  76. }
  77. })
  78. }
  79. }
  80. }
  81. </script>
  82. <style lang="scss" scoped>
  83. @import './registrationNotice.scss';
  84. </style>