import { browser } from '@/helpers/utils'; import { defineComponent, onMounted, reactive } from 'vue'; import styles from './index.module.less'; import MSticky from '@/components/m-sticky'; import MHeader from '@/components/m-header'; import { useRouter } from 'vue-router'; import { postMessage } from '@/helpers/native-message'; import MSearch from '@/components/m-search'; import { Calendar, List } from 'vant'; import dayjs from 'dayjs'; import isBetween from 'dayjs/plugin/isBetween'; import request from '@/helpers/request'; import MEmpty from '@/components/m-empty'; dayjs.extend(isBetween); import recordItemBg from './images/record-item-bg.png'; const vipGiftPeriodType = { DAY: '天', MONTH: '个月', YEAR: '年' } as any; export default defineComponent({ name: 'activationCode', setup() { const router = useRouter(); const state = reactive({ showPopoverTime: false, background: 'transparent', loading: false, finished: false, list: [] as any }); const forms = reactive({ page: 1, rows: 20, status: 'ACTIVATED', code: null as any, activateStartTime: dayjs().subtract(1, 'months').format('YYYY-MM-DD'), activateEndTime: dayjs().format('YYYY-MM-DD') }); const getList = async () => { state.loading = true; try { const params = { ...forms }; if (forms.activateEndTime && forms.activateStartTime) { params.activateEndTime = forms.activateEndTime + ' 23:59:59'; params.activateStartTime = forms.activateStartTime + ' 00:00:00'; } const res = await request.post('/edu-app/activationCodeRecord/page', { data: params }); if (res.code === 200 && Array.isArray(res?.data?.rows)) { state.list = [...state.list, ...res.data.rows]; state.finished = !res.data.next; forms.page = res.data.current + 1; // state.listState.dataShow = state.list.length > 0; } else { state.finished = true; } } catch (error) { // console.log('🚀 ~ error:', error); state.finished = true; } state.loading = false; }; onMounted(() => { getList(); }); return () => (