|  | @@ -1,4 +1,5 @@
 | 
	
		
			
				|  |  |  import ColResult from '@/components/col-result'
 | 
	
		
			
				|  |  | +import { useList } from '@/helpers/hooks'
 | 
	
		
			
				|  |  |  import request from '@/helpers/request'
 | 
	
		
			
				|  |  |  import { state } from '@/state'
 | 
	
		
			
				|  |  |  import { List } from 'vant'
 | 
	
	
		
			
				|  | @@ -18,10 +19,11 @@ export default defineComponent({
 | 
	
		
			
				|  |  |    data() {
 | 
	
		
			
				|  |  |      return {
 | 
	
		
			
				|  |  |        list: [] as any,
 | 
	
		
			
				|  |  | -      dataShow: true, // 判断是否有数据
 | 
	
		
			
				|  |  | -      loading: false,
 | 
	
		
			
				|  |  | -      finished: false,
 | 
	
		
			
				|  |  | -      lockLoad: false,
 | 
	
		
			
				|  |  | +      listState: {
 | 
	
		
			
				|  |  | +        dataShow: true, // 判断是否有数据
 | 
	
		
			
				|  |  | +        loading: false,
 | 
	
		
			
				|  |  | +        finished: false
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  |        params: {
 | 
	
		
			
				|  |  |          useState: this.useState,
 | 
	
		
			
				|  |  |          page: 1,
 | 
	
	
		
			
				|  | @@ -35,38 +37,27 @@ export default defineComponent({
 | 
	
		
			
				|  |  |    methods: {
 | 
	
		
			
				|  |  |      async getList() {
 | 
	
		
			
				|  |  |        try {
 | 
	
		
			
				|  |  | -        if (this.lockLoad) return
 | 
	
		
			
				|  |  | -        // 上锁
 | 
	
		
			
				|  |  | -        this.lockLoad = true
 | 
	
		
			
				|  |  | -        // 判断是哪个端
 | 
	
		
			
				|  |  | -        const url =
 | 
	
		
			
				|  |  | -          state.platformType === 'STUDENT' ? '/api-student' : '/api-teacher'
 | 
	
		
			
				|  |  | -        const res = await request.post(`${url}/couponInfo/page`, {
 | 
	
		
			
				|  |  | -          data: {
 | 
	
		
			
				|  |  | -            ...this.params
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | +        const result = await useList(`${state.platformApi}/couponInfo/page`, {
 | 
	
		
			
				|  |  | +          params: this.params,
 | 
	
		
			
				|  |  | +          list: this.list,
 | 
	
		
			
				|  |  | +          ...this.listState
 | 
	
		
			
				|  |  |          })
 | 
	
		
			
				|  |  | -        this.loading = false
 | 
	
		
			
				|  |  | -        const result = res.data || {}
 | 
	
		
			
				|  |  | -        this.list = this.list.concat(result.rows || [])
 | 
	
		
			
				|  |  | -        this.finished = result.pageNo >= result.totalPage
 | 
	
		
			
				|  |  | -        this.params.page = result.pageNo + 1
 | 
	
		
			
				|  |  | -        this.dataShow = this.list.length > 0
 | 
	
		
			
				|  |  | -        // 解锁
 | 
	
		
			
				|  |  | -        this.lockLoad = false
 | 
	
		
			
				|  |  | +        const { params, list, ...res } = result
 | 
	
		
			
				|  |  | +        this.params = params
 | 
	
		
			
				|  |  | +        this.list = list
 | 
	
		
			
				|  |  | +        this.listState = res
 | 
	
		
			
				|  |  |        } catch {
 | 
	
		
			
				|  |  | -        this.dataShow = false
 | 
	
		
			
				|  |  | -        this.finished = true
 | 
	
		
			
				|  |  | +        //
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |    render() {
 | 
	
		
			
				|  |  |      return (
 | 
	
		
			
				|  |  |        <>
 | 
	
		
			
				|  |  | -        {this.dataShow ? (
 | 
	
		
			
				|  |  | +        {this.listState.dataShow ? (
 | 
	
		
			
				|  |  |            <List
 | 
	
		
			
				|  |  | -            v-model:loading={this.loading}
 | 
	
		
			
				|  |  | -            finished={this.finished}
 | 
	
		
			
				|  |  | +            v-model:loading={this.listState.loading}
 | 
	
		
			
				|  |  | +            finished={this.listState.finished}
 | 
	
		
			
				|  |  |              finishedText=" "
 | 
	
		
			
				|  |  |              // 为了处理体验问题
 | 
	
		
			
				|  |  |              class={[this.list.length > 0 && styles.list]}
 |