123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- <template>
- <div id="liveList">
- <el-row>
- <el-col :span="24" class="info">
- <el-col class="list" v-for="(item, index) in list" :key="index">
- <el-col :span="18" class="left">
- <p class="textOver">{{ item.title }}</p>
- <p>
- 举办城市:<span>{{ item.province }}{{ item.places }}</span>
- </p>
- <p>
- 直播时间:<span>{{ item.start_time }}</span>
- </p>
- </el-col>
- <el-col :span="6" class="right">
- <p @click="$router.push({ path: '/live/roomDetail', query: { id: item.id, roomname: item.roomname } })" v-if="item.roomname && item.status != '2'">
- 进入房间
- </p>
- <p @click="$router.push({ path: '/live/detail', query: { id: item.id } })" v-else-if="item.roomname == undefined && item.status != '2'">进入房间</p>
- <p @click="$router.push({ path: '/onlive/roomInfo', query: { roomname: item.roomname } })" v-if="item.roomname">房间详情</p>
- </el-col>
- </el-col>
- </el-col>
- </el-row>
- </div>
- </template>
- <script>
- import { mapState, createNamespacedHelpers } from 'vuex';
- const { mapActions: dock } = createNamespacedHelpers('dock');
- const { mapActions: place } = createNamespacedHelpers('place');
- export default {
- name: 'liveList',
- props: {},
- components: {},
- data: function() {
- return {
- list: [],
- };
- },
- created() {
- this.searchInfo();
- },
- methods: {
- ...dock({ dockQuery: 'query', palcefetch: 'fetch' }),
- ...place({ palcequery: 'query', transactiondtetle: 'delete' }),
- async searchInfo() {
- let res = await this.dockQuery();
- if (this.$checkRes(res)) {
- for (const val of res.data) {
- val.province = await this.provinceSearch(val.province);
- val.places = await this.placeSearch(val.place);
- }
- this.$set(this, `list`, res.data);
- }
- },
- // 省份
- async provinceSearch(parent) {
- let provinceInfo = await this.palcequery({ level: 1, parent });
- var arr = provinceInfo.data.filter(item => item.code === parent);
- for (const province of arr) {
- return province.name;
- }
- },
- // 市区
- async placeSearch(places) {
- let placesInfo = await this.palcequery({ level: 2, places });
- var arr = placesInfo.data.filter(item => item.code === places);
- for (const places of arr) {
- return places.name;
- }
- },
- },
- computed: {
- ...mapState(['user']),
- pageTitle() {
- return `${this.$route.meta.title}`;
- },
- },
- metaInfo() {
- return { title: this.$route.meta.title };
- },
- };
- </script>
- <style lang="less" scoped>
- .info {
- padding: 10px;
- }
- .list {
- background: #fff;
- padding: 10px;
- border-radius: 5px;
- margin: 0 0 10px 0;
- .left {
- font-size: 16px;
- color: #ccc;
- p {
- padding: 0 0 10px 0;
- span {
- color: #000;
- }
- }
- p:first-child {
- color: #000;
- }
- }
- .right {
- text-align: center;
- p {
- background: #409eff;
- color: #fff;
- padding: 5px 8px;
- border-radius: 5px;
- margin: 0 0 10px 0;
- }
- }
- }
- </style>
|