c5_labsci/fapp/ciyon_ap/pages/pub/psection.vue

74 lines
2.0 KiB
Vue

<template>
<ciy-header :title="init.code==1?init.section.name:'加载中'" ref="header"></ciy-header>
<view v-if="init.code != 1" class="px4 py4">
<view class="ciy-skeleton" style="height:2em;width:100%;"></view>
<view class="ciy-skeleton" style="height:8em;width:100%;"></view>
<view class="ciy-skeleton" style="height:8em;width:100%;"></view>
</view>
<view v-else>
<view class="sti px2 py2" :style="{top:(header_statusbar_height+header_title_height)+'px'}">
<ciy-searchbar placeholder="请输入关键字" @confirm="search_change"></ciy-searchbar>
</view>
<view class="ciy-list" v-for="(item,index) in init.list" :key="item.id">
<ciy-svgimg v-if="item.img" :src="item.img"></ciy-svgimg>
<view class="l1 txt-wb" @tap="gourl" :data-url="'part?id=' + item.id">{{item.name}}</view>
<view class="l3" v-html="tobr(item.descs)"></view>
</view>
<ciy-listend :page="pageno" :listlen="init.list.length" :nodataimg="file_stor('/img/mbnone.png')"></ciy-listend>
</view>
</template>
<style>
</style>
<script>
export default {
data() {
return {}
},
onLoad() {
this.getlist();
},
onReachBottom(b) {
if (this.init.code != 1)
return;
this.getlist();
},
onPullDownRefresh(b) {
this.pageno = 0;
this._stopPullDown = true;
this.getlist();
},
watch: {},
computed: {},
methods: {
async getlist() {
if (this.pageno < 0)
return;
if (this._loading)
return;
this.pagepost.pageno = this.pageno + 1;
this.pagepost.once = !this.init.once;
this._loading = true;
var retjson = await this.callfunc({
func: 'main.psection_list',
data: this.pagepost
});
this._loading = false;
if (retjson.code != 1)
return this.alert(retjson.errmsg);
this.pageno++;
if (this.pageno == 1)
this.init.list = [];
this.init = this.objdeepmerge(this.init, retjson);
if (retjson.list.length < retjson.pagecount)
this.pageno = -1;
},
search_change(e) {
this.pagepost.key = e.value;
this.pageno = 0;
this.getlist();
},
}
}
</script>