You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
66 lines
1.7 KiB
66 lines
1.7 KiB
<template>
|
|
<WeatherAndTime :mall-code="mallCode" />
|
|
<ScrollList ref="scrollList" :customer-list="customerList" :mall-code="mallCode" />
|
|
<img src="./assets/images/back_index_icon.svg" class="fixed bottom-11 left-[52px] w-28 h-12 z-100" alt="" @click="back" />
|
|
</template>
|
|
<script setup lang="ts">
|
|
import { onMounted, onBeforeUnmount, ref, toRefs, shallowRef } from 'vue'
|
|
import { useRootStore } from '@/store/root'
|
|
import { getCustomerList } from '@/http/api/base'
|
|
import { HTTP_CODE } from '@/enums'
|
|
import WeatherAndTime from '@/components/WeatherAndTime/WeatherAndTime.vue'
|
|
import ScrollList from '@/components/ScrollList/ScrollList.vue'
|
|
|
|
const store = useRootStore()
|
|
const { config } = toRefs(store)
|
|
|
|
const scrollList = ref<InstanceType<typeof ScrollList> | null>(null)
|
|
const mallCode = ref<string>('')
|
|
|
|
const pageIndex = ref(1)
|
|
const customerList = shallowRef<Customer[]>([])
|
|
function _getCustomerList() {
|
|
const params = {
|
|
pageIndex: pageIndex.value,
|
|
pageSize: 1000,
|
|
mallCode: mallCode.value
|
|
}
|
|
getCustomerList(config.value.smallUrl, params).then(({ code, data }) => {
|
|
if (code === HTTP_CODE.ERR_OK) {
|
|
customerList.value = data.list
|
|
}
|
|
})
|
|
}
|
|
|
|
let timer: any
|
|
onMounted(() => {
|
|
const href = window.location.href
|
|
mallCode.value = href.split('=')[1]
|
|
_getCustomerList()
|
|
timer = setInterval(() => {
|
|
_getCustomerList()
|
|
scrollList.value?.scroll()
|
|
}, 1000 * 60)
|
|
})
|
|
onBeforeUnmount(() => {
|
|
clearInterval(timer)
|
|
})
|
|
|
|
function back() {
|
|
scrollList.value?.scroll()
|
|
}
|
|
</script>
|
|
|
|
<style>
|
|
html,
|
|
body,
|
|
#app {
|
|
overflow: hidden;
|
|
width: 1920px;
|
|
height: 1080px;
|
|
}
|
|
#app {
|
|
background: url('./assets/images/bg.webp') no-repeat center center;
|
|
background-size: 1920px 1080px;
|
|
}
|
|
</style>
|
|
|