80 lines
2.6 KiB
Vue
80 lines
2.6 KiB
Vue
<script setup lang="ts">
|
|
import { ref, reactive } from "vue"
|
|
import { onLoad, onShow } from "@dcloudio/uni-app"
|
|
import { isEmpty } from "radash"
|
|
import { SERVICE_IMAGE } from "@@/constant/index"
|
|
import { filePath } from "@@/utils/file"
|
|
|
|
import * as hooks from "@@/hooks"
|
|
import { walletApi } from "@@/api"
|
|
|
|
import zTabs from "@@/components/other/z-tabs/z-tabs.vue"
|
|
|
|
const data = {
|
|
tabs: ["全部", "收入", "支出"],
|
|
}
|
|
const state = reactive<any>({
|
|
walletId: null,
|
|
pa: {
|
|
createTime: null,
|
|
type: 0,
|
|
walletId: null,
|
|
},
|
|
})
|
|
|
|
onLoad((options: any) => {
|
|
if (!isEmpty(options.id)) {
|
|
state.walletId = options.id
|
|
state.pa.walletId = options.id
|
|
}
|
|
})
|
|
onShow(() => { })
|
|
|
|
const pageRef = ref<any>(null)
|
|
const pageHook = hooks.usePage(pageRef, walletApi.transaction, null, "data.records")
|
|
const query = (page: number, pagesize: number) => {
|
|
pageHook.startPage(page, pagesize, false, state.pa)
|
|
}
|
|
|
|
const doTab = (e: any) => {
|
|
if (state.pa.type != e) {
|
|
state.pa.type = e
|
|
pageRef.value.reload(true)
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<template>
|
|
<crud-layout title="饭卡" :bg="filePath(SERVICE_IMAGE.blueBg)">
|
|
<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="h-30rpx" />
|
|
<view class="bg-white rounded-16rpx px-20rpx">
|
|
<z-tabs :list="data.tabs" @change="doTab" />
|
|
</view>
|
|
<view class="h-20rpx" />
|
|
<view class="flex-row items-center justify-between card p-x-20rpx p-y-30rpx m-b-20rpx"
|
|
v-for="(v, i) in pageHook.list" :key="i">
|
|
<view class="flex">
|
|
<view class="w-200rpx flex justify-left p-r-25rpx">
|
|
<tm-tag v-if="v.title == '更新余额'" size="m">{{ v.title }}</tm-tag>
|
|
<tm-tag v-if="v.title == '批量更新余额'" size="m">{{ v.title }}</tm-tag>
|
|
<tm-tag v-if="v.title == '充值'" size="m">{{ v.title }}</tm-tag>
|
|
<tm-tag v-if="v.title == '支付'" color="error" size="m">{{ v.title }}</tm-tag>
|
|
<tm-tag v-if="v.title == '退款'" color="info" size="m">{{ v.title }}</tm-tag>
|
|
<tm-tag v-if="v.title == '转账'" color="success" size="m">{{ v.title }}</tm-tag>
|
|
<tm-tag v-if="v.title == '转账退款'" color="info" size="m">{{ v.title }}</tm-tag>
|
|
</view>
|
|
<view class="flex-row-center">
|
|
<text class="sub-text-30">{{ hooks.useMoney(v.price) }}元</text>
|
|
</view>
|
|
</view>
|
|
<view class="sub-text-24 text-right">
|
|
{{ hooks.useTime(v.createTime, "") }}
|
|
</view>
|
|
</view>
|
|
</z-paging>
|
|
</crud-layout>
|
|
</template>
|