nationalCommissionList.vue 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <template>
  2. <view>
  3. <u-navbar :back-text="i18n('Back')" :back-text-style="backStyle" back-icon-color="#fff" title-color="#fff"
  4. :title="i18n('RegionalCommittee')" :background="background">
  5. </u-navbar>
  6. <view class="">
  7. <view style="min-height: 1000upx;background-color: #F5F5F5;">
  8. <view
  9. style="margin: 20upx 20upx;height: 200upx;border-radius: 30upx;overflow: hidden;background-color: #fff;"
  10. v-for="(item,index) in initData" :key="index">
  11. <img :src="websiteUrl + item.bannerList[0]" alt="" v-if="item.bannerList[0]"
  12. style="width: 200upx;height: 200upx;">
  13. <img :src="websiteUrl+'/def/projectdefault.png'" alt="" v-else
  14. style="width: 200upx;height: 200upx;">
  15. <view class="recommend-bottom">
  16. <view class="recommend-bottom-name">{{item.projectName}}</view>
  17. <view>{{i18n('Releasedate')}}:{{handlePublishTimeDesc(toDate,item.createDate,$i18n.locale)}}
  18. {{$t('common.release')}}</view>
  19. </view>
  20. </view>
  21. </view>
  22. </view>
  23. </view>
  24. </template>
  25. <script>
  26. export default {
  27. data() {
  28. return {
  29. background: {
  30. backgroundImage: 'linear-gradient(270deg, #4BC0E2 0%, #538BE7 100%)',
  31. },
  32. backStyle: {
  33. color: '#fff'
  34. },
  35. initData: [],
  36. };
  37. },
  38. onShow() {
  39. this.getList();
  40. },
  41. methods: {
  42. async getList() {
  43. let list = {
  44. language: this.$i18n.locale.toUpperCase(),
  45. }
  46. const res = await this.$myRequest({
  47. url: '/project/committeeBasisInfos/getCommitteeInfos',
  48. data: list,
  49. });
  50. this.initData = res.data.committeeBasisInfosRegion;
  51. },
  52. i18n(data) {
  53. return this.$t('common.' + data);
  54. },
  55. }
  56. }
  57. </script>
  58. <style lang="scss">
  59. </style>