1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- <import name="x-book" src="../../components/book/book.ux"></import>
- <template>
- <div class="leaderboard-wrap">
- <div class="type-bar">
- <block for="type in typeList">
- <div class="type-item" @click="typeChange(type.index)">
- <text class="{{type.index === current ? 'cur' : ''}}">{{type.name}}</text>
- <text class="choose-bar" show="{{type.index === current}}"></text>
- </div>
- </block>
- </div>
- <list>
- <list-item type="multi" class="book-list__wrap book-list__wrap--multi">
- <div class="book-list__multi">
- <block for="book in list">
- <div class="book-item">
- <div style="width:60px;margin-right:15px">
- <image if="$idx<3" src="{{img[$idx]}}" class="book-index"></image>
- <div else class="book-index_follow">
- <text>{{$idx+1}}</text>
- </div>
- </div>
- <x-book multi="{{true}}" width="{{150}}" book="{{book}}">
- <div class="book-info__multi">
- <text class="name">{{book.book_name}}</text>
- <text class="intro">{{book.book_summary}}</text>
- </div>
- </x-book>
- </div>
- </block>
- </div>
- </list-item>
- </list>
- </div>
- </template>
- <script>
- import { getRank } from "../../api";
- export default {
- data() {
- return {
- typeList: [
- {
- name: "女生",
- index: 0
- },
- {
- name: "男生",
- index: 1
- },
- ],
- list: [],
- current: 0,
- img: ['../../assets/imgs/rank_1.png', '../../assets/imgs/rank_2.png', '../../assets/imgs/rank_3.png']
- }
- },
- async onInit() {
- await this.getCityListByTabChange();
- this.$watch('current', 'getCityListByTabChange')
- },
- onShow() { },
- typeChange(index) {
- this.current = index;
- },
- async getCityListByTabChange(index = 0) {
- let sex = index ? "1" : "2";
- let ret = await getRank(sex);
- this.list = ret;
- }
- }
- </script>
- <style lang="less">
- @import "../../assets/less/leaderboard.less";
- </style>
|