Commit 1a8ec039 authored by 吴春's avatar 吴春

1

parent aecd0a7a
...@@ -7,7 +7,24 @@ class passbookService { ...@@ -7,7 +7,24 @@ class passbookService {
static async GetCustomerBigRedEnvelope(CustomerId:Number):Promise<HttpResponse>{ static async GetCustomerBigRedEnvelope(CustomerId:Number):Promise<HttpResponse>{
return request('customer_post_GetCustomerBigRedEnvelope',{CustomerId}) return request('customer_post_GetCustomerBigRedEnvelope',{CustomerId})
} }
// 获取明细
//获取幸福存折 -存入明细
static async getDepositBankbookDetail_V2(CustomerId:Number): Promise<HttpResponse> {
return request("customer_post_GetDepositBankbookDetail", {CustomerId});
}
//获取幸福存折 -存入明细
static async getBankbookUseDetail_V2(CustomerId:Number,queryTime:string): Promise<HttpResponse> {
return request("customer_post_GetDepositBankbookDetail", {CustomerId,queryTime});
}
//获取 幸福存折 -线路数据占比
static async getLinePercentage_V2(CustomerId:Number): Promise<HttpResponse> {
return request("customer_post_GetLinePercentage", {CustomerId});
}
// 获取幸福存折 -存入明细
static async getDepositBankbookDetail(CustomerId:Number):Promise<HttpResponse>{ static async getDepositBankbookDetail(CustomerId:Number):Promise<HttpResponse>{
return requestJava('/api/b2b/user/getDepositBankbookDetail',{CustomerId}) return requestJava('/api/b2b/user/getDepositBankbookDetail',{CustomerId})
} }
...@@ -15,7 +32,7 @@ class passbookService { ...@@ -15,7 +32,7 @@ class passbookService {
static async getBankbookUseDetail(queryTime:string):Promise<HttpResponse>{ static async getBankbookUseDetail(queryTime:string):Promise<HttpResponse>{
return requestJava('/api/b2b/user/getBankbookUseDetail',{queryTime}) return requestJava('/api/b2b/user/getBankbookUseDetail',{queryTime})
} }
// 获取占比 // 获取 幸福存折 -线路数据占比
static async getLinePercentage():Promise<HttpResponse>{ static async getLinePercentage():Promise<HttpResponse>{
return requestJava('/api/b2b/user/getLinePercentage',{}) return requestJava('/api/b2b/user/getLinePercentage',{})
} }
......
...@@ -38,7 +38,8 @@ ...@@ -38,7 +38,8 @@
<div>{{item.id}}</div> <div>{{item.id}}</div>
<div>{{item.teamSeries}}</div> <div>{{item.teamSeries}}</div>
<div>{{item.peopleNum}}</div> <div>{{item.peopleNum}}</div>
<div><span :class="{'text-red':item.money>0}"><template v-if="item.money>0">+</template> ¥{{item.money}}</span></div> <div><span :class="{'text-red':item.money>0}"><template v-if="item.type==1">+</template>
<template v-else-if="item.type==2">-</template>¥{{item.money}}</span></div>
</div> </div>
</div> </div>
<div class="text-center q-pb-lg" <div class="text-center q-pb-lg"
...@@ -98,7 +99,11 @@ ...@@ -98,7 +99,11 @@
const methods = { const methods = {
getZb(){ getZb(){
passbookService.getLinePercentage() let CustomerId
if (Store.state && Store.state.user?.userDetail) {
CustomerId = Store.state.user?.userDetail?.customerId
}
passbookService.getLinePercentage_V2(CustomerId)
.then(r => { .then(r => {
data.zbList = [] data.zbList = []
if (r.data.resultCode == ApiResult.SUCCESS) { if (r.data.resultCode == ApiResult.SUCCESS) {
...@@ -124,7 +129,7 @@ ...@@ -124,7 +129,7 @@
if (Store.state && Store.state.user?.userDetail) { if (Store.state && Store.state.user?.userDetail) {
CustomerId = Store.state.user?.userDetail?.customerId CustomerId = Store.state.user?.userDetail?.customerId
} }
passbookService.getDepositBankbookDetail(CustomerId) passbookService.getDepositBankbookDetail_V2(CustomerId)
.then(r => { .then(r => {
if (r.data.resultCode == ApiResult.SUCCESS) { if (r.data.resultCode == ApiResult.SUCCESS) {
data.dataList= r.data.data.pageData; data.dataList= r.data.data.pageData;
......
...@@ -4,28 +4,39 @@ ...@@ -4,28 +4,39 @@
<q-separator color="grey-3" class="q-my-sm" /> <q-separator color="grey-3" class="q-my-sm" />
<div class=" q-pt-md" <div class=" q-pt-md"
:class="[$q.platform.is.desktop?'q-px-lg':'q-px-md']"> :class="[$q.platform.is.desktop?'q-px-lg':'q-px-md']">
<q-field clearable @clear="activeMonths=0,getList()" v-model="queryTime" <div class="q-pt-md" style="max-width: 300px" :class="[$q.platform.is.desktop?'q-px-lg':'q-px-md']">
:label="$t('v104.passbook.titles.text7')" standout class="col-2" style="width: 190px" dense> <q-field stack-label label="日期" outlined style="min-width: 190px" dense clearable v-model="queryTime"
<div class="self-center full-width no-outline" tabindex="0">{{ queryTime }}</div> @update:model-value="dateRangeHandler" class="col-2">
<q-separator color="grey-3" class="q-my-sm" /> <div class="self-center full-width no-outline" tabindex="0">{{ queryTime }}</div>
<q-popup-proxy :offset="[0, 10]" ref="qDateProxy"> <q-popup-proxy cover transition-show="scale"
<!-- <q-date v-model="queryTime" :offset="[0, 7]" transition-hide="scale" ref="qDateProxy" >
mask="YYYY/MM" <q-date v-model="queryTime" mask="YYYY-MM"
default-view="Months" reason="month"
@update:model-value="dateRangeHandler"></q-date> --> default-view="Months"
<div class="column bg-white" style="width: 300px;"> default-year-month="2024-01"
<div class="bg-blue text-white q-px-lg q-py-md fz18">{{$t('v104.passbook.titles.text8')}}</div> @navigation="dateRangeHandler($event)"
<div class="row"> @update:model-value="dateRangeHandler" clearable></q-date>
<div v-for="(item,index) in chineseMonth" </q-popup-proxy>
class="col-4 text-center q-py-lg"> <template v-slot:append>
<span class="cursor-pointer q-py-sm q-px-md rounded-borders useDetails-hover" :class="[activeMonths==index+1?'bg-blue text-white':'']" <q-icon name="event" color="orange" />
@click="activeMonths=index+1,dateRangeHandler()">{{item}}</span> </template>
</div> </q-field>
</div> <!-- <q-input filled v-model="queryTime" label="Label">
<template v-slot:prepend>
</div> <q-icon name="event" class="cursor-pointer"></q-icon>
</q-popup-proxy> <q-popup-proxy cover transition-show="scale" transition-hide="scale">
</q-field> <q-date v-model="queryTime" mask="YYYY-MM" @update:model-value="dateRangeHandler" clearable>
<div class="row items-center justify-end">
<q-btn v-close-popup label="Close" color="primary" flat />
</div>
</q-date>
</q-popup-proxy>
</template>
<template v-slot:append>
<q-icon name="event" color="orange" />
</template>
</q-input> -->
</div>
</div> </div>
<div class="row justify-between" <div class="row justify-between"
:class="[$q.platform.is.desktop?'useDetails-form':'q-py-lg q-px-md']"> :class="[$q.platform.is.desktop?'useDetails-form':'q-py-lg q-px-md']">
...@@ -37,17 +48,23 @@ ...@@ -37,17 +48,23 @@
</div> </div>
<q-separator color="grey-3" /> <q-separator color="grey-3" />
<div class="column"> <div class="column">
<template v-if="dataList&&dataList.length>0">
<div <div
v-for="(item,index) in dataList" v-for="(item,index) in dataList"
class="row items-center left-text text-dark"> class="row items-center left-text text-dark">
<div>{{item.updateTime}}</div> <div>{{item.updateTime}}</div>
<div>{{item.description}}</div> <div>{{item.description}}</div>
<div><span :class="{'text-red':item.money>0}"><template v-if="item.money>0">+</template> ¥{{item.money}}</span></div> <div><span :class="{'text-red':item.money>0}"><template v-if="item.type==1">+</template>
<template v-else-if="item.type==2">-</template>
¥{{item.money}}</span></div>
</div> </div>
<div class="text-center q-pb-lg"> </template>
<template v-else>
<div class="text-center q-pb-lg" >
<svg-icon :size="50" color="nav" icon="General/Clipboard.svg"></svg-icon> <svg-icon :size="50" color="nav" icon="General/Clipboard.svg"></svg-icon>
<div class="q-mt-md f12 text-grey-6">{{ $t('noneData') }}</div> <div class="q-mt-md f12 text-grey-6">{{ $t('noneData') }}</div>
</div> </div>
</template>
</div> </div>
</div> </div>
...@@ -90,20 +107,27 @@ ...@@ -90,20 +107,27 @@
data.activeMonths = formattedString>10?formattedString:formattedString.slice(1) data.activeMonths = formattedString>10?formattedString:formattedString.slice(1)
data.chineseMonth = useHotel.getMonthType() data.chineseMonth = useHotel.getMonthType()
const methods = { const methods = {
dateRangeHandler() { dateRangeHandler(event) {
if(qDateProxy.value) qDateProxy.value.hide() if(event&&event.year&&event.month){
data.queryTime = `${date.formatDate(timeStamp, 'YYYY')}/${data.activeMonths>10?data.activeMonths:'0'+data.activeMonths}` data.queryTime = event.year+'-'+(event.month>10?event.month:'0'+event.month)
}
else data.queryTime = ''
if(qDateProxy.value) qDateProxy.value.hide()
methods.getList() methods.getList()
}, },
getList(){ getList(){
passbookService.getBankbookUseDetail(data.queryTime) let CustomerId
if (Store.state && Store.state.user?.userDetail) {
CustomerId = Store.state.user?.userDetail?.customerId
}
passbookService.getBankbookUseDetail_V2(CustomerId,data.queryTime)
.then(r => { .then(r => {
if (r.data.resultCode == ApiResult.SUCCESS) { if (r.data.resultCode == ApiResult.SUCCESS) {
let list = r.data.data.pageData.forEach(item=>{ // let list = r.data.data.pageData.forEach(item=>{
item.updateTime = date.formatDate(item.updateTime, 'YYYY/MM/DD') // item.updateTime = date.formatDate(item.updateTime, 'YYYY/MM/DD')
}) // })
data.dataList= list; data.dataList= r.data.data.pageData;
} else { } else {
message.errorMsg(r.data.message) message.errorMsg(r.data.message)
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment