This commit is contained in:
2024-09-10 10:49:08 +08:00
parent b5fd06b800
commit dd4f5938da
6391 changed files with 722800 additions and 0 deletions

View File

@@ -0,0 +1,139 @@
<template>
<view class="content">
<view class="mbr-info">
<image :src="vdata.record.avatarUrl" />
<text class="mbr-info-name">{{ vdata.record.mbrName }}</text>
<text class="mbr-info-amount">{{ vdata.record.changeAmount > 0 ? '+'+cal.cert2Dollar(vdata.record.changeAmount) : cal.cert2Dollar(vdata.record.changeAmount) }}</text>
</view>
<view class="account-line"></view>
<view class="account-history">
<view class="account-history-item"><text>业务类型</text>
<text>{{ vdata.record.bizType==1?'支付充值':vdata.record.bizType==2?'现金充值':vdata.record.bizType==3?'会员消费':vdata.record.bizType==4?'消费退款':vdata.record.bizType==5?'人工调账':'其他' }}</text>
</view>
<view class="account-history-item"><text>流水ID</text><text>{{ vdata.record.hid }}</text></view>
<view class="account-history-item"><text>会员ID</text><text>{{ vdata.record.mbrId }}</text></view>
<view class="account-history-item"><text>会员手机号</text><text>{{ vdata.record.mbrTel }}</text></view>
<view class="account-history-item"><text>变动前余额</text><text>{{ cal.cert2Dollar(vdata.record.beforeAmount) }}</text></view>
<view class="account-history-item"><text>变动金额</text><text>{{ cal.cert2Dollar(vdata.record.changeAmount) }}</text></view>
<view class="account-history-item"><text>变动后余额</text><text>{{ cal.cert2Dollar(vdata.record.afterAmount) }}</text></view>
<view v-if="vdata.record.relaBizOrderId && vdata.record.bizType == 1" class="account-history-item">
<text>充值订单号</text>
<text>{{ vdata.record.relaBizOrderId }}
<text class="info-copy" @tap="copyInfo(vdata.record.relaBizOrderId)">复制</text>
</text>
</view>
<view class="account-history-item"><text>变动时间</text><text>{{ vdata.record.createdAt }}</text></view>
</view>
</view>
</template>
<script setup>
import { reactive, ref } from 'vue'
import { onLoad, onUnload } from '@dcloudio/uni-app'
import { reqLoad, API_URL_MEMBER_ACCOUNT_HISTORY } from '@/http/apiManager.js'
import infoBox from '@/commons/utils/infoBox.js';
import cal from '@/commons/utils/cal.js'
import go from '@/commons/utils/go.js'
import emit from '@/commons/utils/emit.js'
import ent from '@/commons/utils/ent.js'
onLoad((options) => {
refData(options.hid)
})
const vdata = reactive({
record : { }
})
// 监听 更新事件
onUnload(() => uni.$off(emit.ENAME_REF_MEMBER_ACCOUNT_HISTORY_DETAIL))
uni.$on(emit.ENAME_REF_MEMBER_ACCOUNT_HISTORY_DETAIL, function(data){
refData(vdata.record.hid)
})
function refData(hid){
reqLoad.getById(API_URL_MEMBER_ACCOUNT_HISTORY, hid).then(({bizData}) => {
vdata.record = bizData
})
}
const copyInfo = (val) => {
uni.setClipboardData({ data: val}).then(() => {
infoBox.showSuccessToast('复制成功')
})
}
</script>
<style lang="scss" scoped>
.content {
width: 630rpx;
margin: 0 auto;
}
.mbr-info {
height: 376rpx;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
image {
width: 100rpx;
height: 100rpx;
border-radius: 50%;
}
.mbr-info-name {
padding-top: 10rpx;
color: #828282ff;
font-size: 30rpx;
}
.mbr-info-amount {
padding-top: 10rpx;
color: #000000ff;
font-size: 50rpx;
font-weight: 500;
}
}
.account-line {
border-bottom: 1rpx solid #0000001a;
}
.account-history {
padding-top: 60rpx;
display: flex;
flex-direction: column;
justify-content: center;
align-items: flex-start;
.account-history-item {
display: flex;
flex-direction: row;
justify-content: flex-start;
opacity: 1;
padding: 13rpx 0 12rpx;
text:first-child {
width: 180rpx;
color: #999999;
font-size: 26rpx;
font-weight: 400;
}
text:nth-child(2) {
width: 450rpx;
color: #000000;
font-size: 26rpx;
font-weight: 400;
word-break: break-all;
.info-copy {
padding-left: 20rpx;
opacity: 1;
color: #2d6dccff;
font-size: 26rpx;
}
}
}
}
</style>

View File

@@ -0,0 +1,113 @@
<template>
<view class="page-wrapper">
<JeepayCustomNavbar title="顾客红包" backCtrl="back" />
<!-- 搜索 -->
<JSearchTitle place="搜索" @click="go.toSearchPage('redAccountHistory')">
<template #right>
<JeepaySearchSelect v-model:bizType="vdata.searchData.type" :list="vdata.bizTypeList" title="按业务类型筛选" @change="refTable"/>
</template>
</JSearchTitle>
<JeepayTableList ref="jeepayTableListRef" :searchData="vdata.searchData" :reqTableDataFunc="reqTableDataFunc">
<template #tableBody="{ record }">
<RedAccountHistoryRender :record="record" />
</template>
</JeepayTableList>
</view>
</template>
<script setup>
import { nextTick, reactive, ref } from "vue"
import { onReachBottom, onShow, onUnload } from '@dcloudio/uni-app'
import go from '@/commons/utils/go.js'
import emit from '@/commons/utils/emit.js'
import { reqLoad, API_URL_MCH_REF_PACKET_INFO_LIST } from "@/http/apiManager.js"
import RedAccountHistoryRender from '@/pageRed/list/render/RedAccountHistoryRender.vue'
const jeepayTableListRef = ref()
const vdata = reactive({
searchData: { type: '' },
bizTypeList: [
{ label: '全部类型', value: '' },
{ label: '微信', value: 'WECHAT' },
{ label: '支付宝', value: 'ALIPAY' },
]
})
onReachBottom(() => { })
// // 监听 更新事件
onUnload(() => uni.$off(emit.ENAME_REF_MEMBER_ACCOUNT_HISTORY_LIST))
uni.$on(emit.API_URL_MCH_REF_PACKET_INFO_LIST, function(data){
jeepayTableListRef.value.refTable(true)
})
function refTable (e) {
jeepayTableListRef.value.refTable(true)
}
// 请求
function reqTableDataFunc (params) {
return reqLoad.list(API_URL_MCH_REF_PACKET_INFO_LIST, params)
}
</script>
<style lang="scss" scoped>
.sta-input {
display: flex;
align-items: center;
padding: 0 30rpx;
height: 110rpx;
background-color: $J-bg-ff;
.input-main {
flex: 1;
display: flex;
align-items: center;
height: 70rpx;
background-color: $J-bg-f5;
border-radius: $J-b-r12;
color: rgba(0, 0, 0, 0.35);
font-size: 27rpx;
font-weight: 400;
image {
padding: 22rpx;
width: 26rpx;
height: 26rpx;
}
}
.icon-more {
margin-left: 30rpx;
width: 70rpx;
height: 70rpx;
}
}
.footer-wrapper {
height: 170rpx;
background-color: transparent;
.footer-button {
position: fixed;
left: 0;
right: 0;
bottom: 0;
padding: 30rpx;
button {
height: 110rpx;
font-size: 33rpx;
font-weight: 500;
color: $J-color-tff;
border-radius: 20rpx;
background: $jeepay-bg-primary;
}
.hover-button {
opacity: 0.5;
}
}
}
</style>