|
@@ -44,7 +44,6 @@ export default defineComponent({
|
|
|
data() {
|
|
|
return {
|
|
|
list: [],
|
|
|
- dataShow: true, // 判断是否有数据
|
|
|
loading: false,
|
|
|
finished: false,
|
|
|
params: {
|
|
@@ -65,16 +64,13 @@ export default defineComponent({
|
|
|
},
|
|
|
methods: {
|
|
|
onSearch() {
|
|
|
- this.loading = false
|
|
|
this.finished = false
|
|
|
this.list = []
|
|
|
this.params.pageNum = 1
|
|
|
- if (!this.dataShow) this.getList() // list组件没有触发, 手动触发获取数据
|
|
|
- this.dataShow = true
|
|
|
-
|
|
|
- // this.getList()
|
|
|
+ this.getList() // list组件没有触发, 手动触发获取数据
|
|
|
},
|
|
|
async getList() {
|
|
|
+ this.loading = true
|
|
|
try {
|
|
|
let params = this.params
|
|
|
params.productCategoryId = this.typeId ? this.typeId : undefined // 商品分类
|
|
@@ -89,7 +85,7 @@ export default defineComponent({
|
|
|
...params
|
|
|
}
|
|
|
})
|
|
|
- this.loading = false
|
|
|
+
|
|
|
const result = res.data || {}
|
|
|
// 处理重复请求数据
|
|
|
if (this.list.length > 0 && result.pageNum === 1) {
|
|
@@ -98,11 +94,10 @@ export default defineComponent({
|
|
|
this.list = this.list.concat(result.list || [])
|
|
|
this.finished = result.pageNum >= result.totalPage
|
|
|
this.params.pageNum = result.pageNum + 1
|
|
|
- this.dataShow = this.list.length > 0
|
|
|
} catch {
|
|
|
- this.dataShow = false
|
|
|
this.finished = true
|
|
|
}
|
|
|
+ this.loading = false
|
|
|
},
|
|
|
onDetailClick(item: any) {
|
|
|
if (this.isTab) {
|
|
@@ -129,27 +124,24 @@ export default defineComponent({
|
|
|
render() {
|
|
|
return (
|
|
|
<div class={styles.tabList}>
|
|
|
- {this.dataShow ? (
|
|
|
- <List
|
|
|
- v-model:loading={this.loading}
|
|
|
- finished={this.finished}
|
|
|
- finishedText=" "
|
|
|
- immediateCheck={false}
|
|
|
- class={[styles.goodsList, 'mb12']}
|
|
|
- onLoad={this.getList}
|
|
|
- >
|
|
|
- {this.list.map((item: any) => (
|
|
|
- <Goods
|
|
|
- style={{ marginTop: '12px' }}
|
|
|
- item={item}
|
|
|
- onItemClick={this.onDetailClick}
|
|
|
- onBuyClick={this.onBuyClick}
|
|
|
- />
|
|
|
- ))}
|
|
|
- </List>
|
|
|
- ) : (
|
|
|
- <ColResult btnStatus={false} classImgSize="SMALL" tips="暂无商品" />
|
|
|
- )}
|
|
|
+ <List
|
|
|
+ v-model:loading={this.loading}
|
|
|
+ finished={this.finished}
|
|
|
+ finishedText=""
|
|
|
+ immediateCheck={false}
|
|
|
+ class={[styles.goodsList, 'mb12']}
|
|
|
+ onLoad={this.getList}
|
|
|
+ >
|
|
|
+ {this.list.length && this.list.map((item: any) => (
|
|
|
+ <Goods
|
|
|
+ style={{ marginTop: '12px' }}
|
|
|
+ item={item}
|
|
|
+ onItemClick={this.onDetailClick}
|
|
|
+ onBuyClick={this.onBuyClick}
|
|
|
+ />
|
|
|
+ )) || null}
|
|
|
+ { !this.loading && !this.list.length && <ColResult btnStatus={false} classImgSize="SMALL" tips="暂无商品" /> || null}
|
|
|
+ </List>
|
|
|
|
|
|
<Popup
|
|
|
show={this.addGoodsShow}
|