88 lines
2.3 KiB
Vue
88 lines
2.3 KiB
Vue
<script setup lang="ts">
|
|
import { ref, reactive } from "vue"
|
|
import { onLoad, onShow } from "@dcloudio/uni-app"
|
|
|
|
import { hooks, router } from "@@/index"
|
|
import { merchantApi } from "@@/api"
|
|
import { filePath } from "@@/utils/file"
|
|
|
|
const state = reactive<any>({
|
|
pa: {
|
|
pagesize: 10,
|
|
type: "2",
|
|
},
|
|
})
|
|
|
|
onLoad(() => {})
|
|
onShow(() => {
|
|
router.jump("/pages/tabbar/home")
|
|
uni.showToast({ title: "敬请期待", icon: "none", duration: 1000 })
|
|
return
|
|
|
|
if (pageRef.value) {
|
|
pageRef.value.reload(false)
|
|
}
|
|
})
|
|
|
|
const pageRef = ref<any>(null)
|
|
const pageHook = hooks.usePage(pageRef, merchantApi.page, null, "data.records")
|
|
const query = (page: number, pagesize: number) => {
|
|
pageHook.startPage(page, pagesize, false, state.pa)
|
|
}
|
|
|
|
const toDetail = async (v: any) => {
|
|
const isLogin = await hooks.useCheckLogin()
|
|
if (isLogin) {
|
|
router.jump("/pages/shop/detail", { id: v.id })
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<template>
|
|
<crud-layout bg="/static/page/blue-bg.png">
|
|
<z-paging
|
|
ref="pageRef"
|
|
height="100%"
|
|
:fixed="false"
|
|
v-model="pageHook.list"
|
|
:default-page-size="10"
|
|
safe-area-inset-bottom
|
|
:loading-more-enabled="true"
|
|
:show-scrollbar="false"
|
|
@query="query"
|
|
:auto-clean-list-when-reload="false"
|
|
:auto-scroll-to-top-when-reload="false"
|
|
@scroll="pageHook.scroll"
|
|
>
|
|
<view class="flex-col card p-20rpx m-b-20rpx" v-for="(v, i) in pageHook.list" :key="i" @tap="toDetail(v)">
|
|
<view class="flex-row-center">
|
|
<image class="w-120rpx h-120rpx rounded-12rpx" :src="filePath(v.logoPic)" mode="aspectFill" />
|
|
<view class="flex-1 flex-col m-l-20rpx">
|
|
<view class="flex-row items-center justify-between">
|
|
<view class="flex-row-center sub-text-34">
|
|
<text> {{ v.name }}</text>
|
|
</view>
|
|
<view>
|
|
<tm-tag size="s">{{ v.deptName }}</tm-tag>
|
|
</view>
|
|
</view>
|
|
<view class="second-text-28">{{ v.phone }}</view>
|
|
<view class="m-t-10rpx second-text-28">
|
|
<text>营业时间</text>
|
|
<text class="m-l-10rpx">
|
|
{{ v.jobStartTime }}
|
|
~
|
|
{{ v.jobEndTime }}
|
|
</text>
|
|
</view>
|
|
<view v-if="v.addressDes" class="m-t-10rpx second-text-28">
|
|
<text>地址</text>
|
|
<text class="m-l-10rpx">{{ v.addressDes }}</text>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</z-paging>
|
|
</crud-layout>
|
|
</template>
|