feat(bounus-lx): 乐学环境奖金汇总及明细列表字段调整

This commit is contained in:
woody 2025-06-05 11:50:33 +08:00
parent daf38b19fa
commit 3b39f8c108
2 changed files with 654 additions and 693 deletions

View File

@ -8,20 +8,13 @@
<view class="content"> <view class="content">
<view class="header_a"> <view class="header_a">
<view class="header"> <view class="header">
<img @click="isTop=true" <img @click="isTop = true" src="@/assets/images/search.png" alt="" />
src="@/assets/images/search.png" <img @click="isFont = true" src="@/assets/images/change.png" alt="" />
alt="">
<img @click="isFont=true"
src="@/assets/images/change.png"
alt="">
</view> </view>
</view> </view>
<view class="zhan"></view> <view class="zhan"></view>
<view class="kuang" <view class="kuang" v-for="(item, index) in tableData" :key="index">
v-for="(item,index) in tableData" <table class="tftable" border="1">
:key="index">
<table class="tftable"
border="1">
<tr v-if="allTxt.memberCode"> <tr v-if="allTxt.memberCode">
<td align="right">{{ '会员编号' }}</td> <td align="right">{{ '会员编号' }}</td>
<td align="left">{{ item.memberCode }}</td> <td align="left">{{ item.memberCode }}</td>
@ -48,146 +41,126 @@
<td align="left">{{ item.settleDate }}</td> <td align="left">{{ item.settleDate }}</td>
</tr> </tr>
<tr v-if="allTxt.directIncomeOri"> <tr v-if="allTxt.directIncomeOri">
<td align="right">{{ '直推收益' }}({{isLocalSymbol() }})</td> <td align="right">{{ '直推收益' }}({{ isLocalSymbol() }})</td>
<td align="left">{{ item.directIncomeOri }}</td> <td align="left">{{ item.directIncomeOri }}</td>
</tr> </tr>
<tr v-if="allTxt.expandIncomeOri"> <tr v-if="allTxt.expandIncomeOri">
<td align="right">{{ '拓展收益' }}({{isLocalSymbol() }})</td> <td align="right">{{ '拓展收益' }}({{ isLocalSymbol() }})</td>
<td align="left">{{ item.expandIncomeOri }}</td> <td align="left">{{ item.expandIncomeOri }}</td>
</tr> </tr>
<tr v-if="allTxt.coachIncomeOri"> <tr v-if="allTxt.coachIncomeOri">
<td align="right">{{ '辅导收益' }}({{isLocalSymbol() }})</td> <td align="right">{{ '辅导收益' }}({{ isLocalSymbol() }})</td>
<td align="left">{{ item.coachIncomeOri }}</td> <td align="left">{{ item.coachIncomeOri }}</td>
</tr> </tr>
<tr v-if="allTxt.shareIncomeOri">
<td align="right">{{ '分红收益' }}({{isLocalSymbol() }})</td>
<td align="left">{{ item.shareIncomeOri }}</td>
</tr>
<tr v-if="allTxt.serviceIncomeOri"> <tr v-if="allTxt.serviceIncomeOri">
<td align="right">{{ '报单收益' }}({{isLocalSymbol() }})</td> <td align="right">{{ '服务补贴' }}({{ isLocalSymbol() }})</td>
<td align="left">{{ item.serviceIncomeOri }}</td> <td align="left">{{ item.serviceIncomeOri }}</td>
</tr> </tr>
<tr v-if="allTxt.repurRangeIncomeOri"> <tr v-if="allTxt.repurRangeIncomeOri">
<td align="right">{{ '复购级差收益' }}({{isLocalSymbol() }})</td> <td align="right">{{ '复购级差收益' }}({{ isLocalSymbol() }})</td>
<td align="left">{{ item.repurRangeIncomeOri }}</td> <td align="left">{{ item.repurRangeIncomeOri }}</td>
</tr> </tr>
<tr v-if="allTxt.repurExpandIncomeOri"> <tr v-if="allTxt.repurExpandIncomeOri">
<td align="right">{{ '复购拓展收益' }}({{isLocalSymbol() }})</td> <td align="right">{{ '复购拓展收益' }}({{ isLocalSymbol() }})</td>
<td align="left">{{ item.repurExpandIncomeOri }}</td> <td align="left">{{ item.repurExpandIncomeOri }}</td>
</tr> </tr>
<tr v-if="allTxt.repurCoachIncome"> <tr v-if="allTxt.repurCoachIncome">
<td align="right">{{ '复购辅导收益' }}({{isLocalSymbol() }})</td> <td align="right">{{ '复购辅导收益' }}({{ isLocalSymbol() }})</td>
<td align="left">{{ item.repurCoachIncome }}</td> <td align="left">{{ item.repurCoachIncome }}</td>
</tr> </tr>
<tr v-if="allTxt.repurCouponOri">
<td align="right">{{ '复购券' }}({{isLocalSymbol() }})</td>
<td align="left">{{ item.repurCouponOri }}</td>
</tr>
<tr v-if="allTxt.repurCouponShareOri">
<td align="right">{{ '复购券均分' }}</td>
<td align="left">{{ item.repurCouponShareOri }}</td>
</tr>
<tr v-if="allTxt.backPointsOri"> <tr v-if="allTxt.backPointsOri">
<td align="right">{{ '商城重消' }}({{isLocalSymbol() }})</td> <td align="right">{{ '商城重消' }}({{ isLocalSymbol() }})</td>
<td align="left">{{ item.backPointsOri }}</td> <td align="left">{{ item.backPointsOri }}</td>
</tr> </tr>
<tr v-if="allTxt.serviceSpendOri"> <tr v-if="allTxt.serviceSpendOri">
<td align="right">{{ '平台服务费' }}({{isLocalSymbol() }})</td> <td align="right">{{ '平台服务费' }}({{ isLocalSymbol() }})</td>
<td align="left">{{ item.serviceSpendOri }}</td> <td align="left">{{ item.serviceSpendOri }}</td>
</tr> </tr>
<tr v-if="allTxt.globalPointsOri"> <tr v-if="allTxt.globalPointsOri">
<td align="right">直推级差({{isLocalSymbol() }})</td> <td align="right">直推级差({{ isLocalSymbol() }})</td>
<td align="left">{{ item.globalPointsOri }}</td> <td align="left">{{ item.globalPointsOri }}</td>
</tr> </tr>
<tr v-if="allTxt.carAwardPointsOri">
<td align="right">{{ '车奖积分' }}</td>
<td align="left">{{ item.carAwardPointsOri }}</td>
</tr>
<tr v-if="allTxt.purRealSubtotalOri"> <tr v-if="allTxt.purRealSubtotalOri">
<td align="right">{{ '首购实发小计' }}({{isLocalSymbol() }})</td> <td align="right">{{ '首购实发小计' }}({{ isLocalSymbol() }})</td>
<td align="left">{{ item.purRealSubtotalOri }}</td> <td align="left">{{ item.purRealSubtotalOri }}</td>
</tr> </tr>
<tr v-if="allTxt.repurRealSubtotalOri"> <tr v-if="allTxt.repurRealSubtotalOri">
<td align="right">{{ '复购实发小计' }}({{isLocalSymbol() }})</td> <td align="right">{{ '复购实发小计' }}({{ isLocalSymbol() }})</td>
<td align="left">{{ item.repurRealSubtotalOri }}</td> <td align="left">{{ item.repurRealSubtotalOri }}</td>
</tr> </tr>
<tr v-if="allTxt.repurCouponSubtotalOri">
<td align="right">{{ '复购券实发小计' }}({{isLocalSymbol() }})</td>
<td align="left">{{ item.repurCouponSubtotalOri }}</td>
</tr>
<tr v-if="allTxt.realIncomeTotalOri"> <tr v-if="allTxt.realIncomeTotalOri">
<td align="right">{{ '实发收益总计' }}({{isLocalSymbol() }})</td> <td align="right">{{ '实发收益总计' }}({{ isLocalSymbol() }})</td>
<td align="left">{{ item.realIncomeTotalOri }}</td> <td align="left">{{ item.realIncomeTotalOri }}</td>
</tr> </tr>
</table> </table>
</view> </view>
<!-- 侧边弹框 --> <!-- 侧边弹框 -->
<u-popup :show="isFont" <u-popup :show="isFont" mode="right" @close="isFont = false">
mode="right"
@close="isFont=false">
<view class="che"> <view class="che">
<u-checkbox-group v-model="selectAll" <u-checkbox-group
v-model="selectAll"
@change="getAll" @change="getAll"
placement="column" placement="column"
activeColor="#ED1D25"> activeColor="#ED1D25"
<u-checkbox :customStyle="{marginBottom: '8px'}" >
<u-checkbox
:customStyle="{ marginBottom: '8px' }"
v-for="(item, index) in allList" v-for="(item, index) in allList"
:key="index" :key="index"
:label="item.text" :label="item.text"
:name="item.id"> :name="item.id"
>
</u-checkbox> </u-checkbox>
</u-checkbox-group> </u-checkbox-group>
<u-checkbox-group v-model="selected" <u-checkbox-group
v-model="selected"
@change="getMenu" @change="getMenu"
placement="column" placement="column"
activeColor="#ED1D25"> activeColor="#ED1D25"
<u-checkbox :customStyle="{marginBottom: '8px'}" >
<u-checkbox
:customStyle="{ marginBottom: '8px' }"
v-for="(item, index) in menuList" v-for="(item, index) in menuList"
:key="index" :key="index"
v-show="index!=0" v-show="index != 0"
:label="item.text" :label="item.text"
:name="item.id"> :name="item.id"
>
</u-checkbox> </u-checkbox>
</u-checkbox-group> </u-checkbox-group>
</view> </view>
</u-popup> </u-popup>
<!-- 小计 --> <!-- 小计 -->
<view class="table_all"> <view class="table_all">
<u-button @click="isBtm=true" <u-button
@click="isBtm = true"
size="small" size="small"
color="rgba(243, 169, 0, 1)" color="rgba(243, 169, 0, 1)"
:text="'小计'"></u-button> :text="'小计'"
></u-button>
</view> </view>
<!-- 小计弹框 --> <!-- 小计弹框 -->
<u-popup :show="isBtm" <u-popup
:show="isBtm"
mode="bottom" mode="bottom"
:closeable="true" :closeable="true"
@close="isBtm=false"> @close="isBtm = false"
>
<view class="pop"> <view class="pop">
<view class="kuang" <view class="kuang" v-for="(item, index) in totalPrice" :key="index">
v-for="(item,index) in totalPrice" <table class="tftable" border="1">
:key="index">
<table class="tftable"
border="1">
<!-- <tr v-if="allTxt.memberCode"> <!-- <tr v-if="allTxt.memberCode">
<td align="right">{{ '会员编号' }}</td> <td align="right">{{ '会员编号' }}</td>
<td align="left">{{ item.memberCode }}</td> <td align="left">{{ item.memberCode }}</td>
@ -214,49 +187,47 @@
<td align="left">{{ item.settleDate }}</td> <td align="left">{{ item.settleDate }}</td>
</tr> --> </tr> -->
<tr v-if="allTxt.directIncomeOri"> <tr v-if="allTxt.directIncomeOri">
<td align="right">{{ '直推收益' }}({{isLocalSymbol() }})</td> <td align="right">{{ '直推收益' }}({{ isLocalSymbol() }})</td>
<td align="left">{{ item.directIncomeOri }}</td> <td align="left">{{ item.directIncomeOri }}</td>
</tr> </tr>
<tr v-if="allTxt.expandIncomeOri"> <tr v-if="allTxt.expandIncomeOri">
<td align="right">{{ '拓展收益' }}({{isLocalSymbol() }})</td> <td align="right">{{ '拓展收益' }}({{ isLocalSymbol() }})</td>
<td align="left">{{ item.expandIncomeOri }}</td> <td align="left">{{ item.expandIncomeOri }}</td>
</tr> </tr>
<tr v-if="allTxt.coachIncomeOri"> <tr v-if="allTxt.coachIncomeOri">
<td align="right">{{ '辅导收益' }}({{isLocalSymbol() }})</td> <td align="right">{{ '辅导收益' }}({{ isLocalSymbol() }})</td>
<td align="left">{{ item.coachIncomeOri }}</td> <td align="left">{{ item.coachIncomeOri }}</td>
</tr> </tr>
<tr v-if="allTxt.shareIncomeOri"> <tr v-if="allTxt.shareIncomeOri">
<td align="right">{{ '分红收益' }}({{isLocalSymbol() }})</td> <td align="right">{{ '分红收益' }}({{ isLocalSymbol() }})</td>
<td align="left">{{ item.shareIncomeOri }}</td> <td align="left">{{ item.shareIncomeOri }}</td>
</tr> </tr>
<tr v-if="allTxt.serviceIncomeOri"> <tr v-if="allTxt.serviceIncomeOri">
<td align="right">{{ '报单收益' }}({{isLocalSymbol() }})</td> <td align="right">{{ '报单收益' }}({{ isLocalSymbol() }})</td>
<td align="left">{{ item.serviceIncomeOri }}</td> <td align="left">{{ item.serviceIncomeOri }}</td>
</tr> </tr>
<tr v-if="allTxt.repurPushIncomeOri"> <tr v-if="allTxt.repurPushIncomeOri">
<td align="right">{{ '复购推荐收益' }}({{isLocalSymbol() }})</td> <td align="right">{{ '复购推荐收益' }}({{ isLocalSymbol() }})</td>
<td align="left">{{ item.repurPushIncomeOri }}</td> <td align="left">{{ item.repurPushIncomeOri }}</td>
</tr> </tr>
<tr v-if="allTxt.repurRangeIncomeOri"> <tr v-if="allTxt.repurRangeIncomeOri">
<td align="right">{{ '复购级差收益' }}({{isLocalSymbol() }})</td> <td align="right">{{ '复购级差收益' }}({{ isLocalSymbol() }})</td>
<td align="left">{{ item.repurRangeIncomeOri }}</td> <td align="left">{{ item.repurRangeIncomeOri }}</td>
</tr> </tr>
<tr v-if="allTxt.repurExpandIncomeOri"> <tr v-if="allTxt.repurExpandIncomeOri">
<td align="right">{{ '复购拓展收益' }}({{isLocalSymbol() }})</td> <td align="right">{{ '复购拓展收益' }}({{ isLocalSymbol() }})</td>
<td align="left">{{ item.repurExpandIncomeOri }}</td> <td align="left">{{ item.repurExpandIncomeOri }}</td>
</tr> </tr>
<tr v-if="allTxt.repurCouponOri"> <tr v-if="allTxt.repurCouponOri">
<td align="right">{{ '复购券' }}({{isLocalSymbol() }})</td> <td align="right">{{ '复购券' }}({{ isLocalSymbol() }})</td>
<td align="left">{{ item.repurCouponOri }}</td> <td align="left">{{ item.repurCouponOri }}</td>
</tr> </tr>
@ -266,16 +237,16 @@
</tr> </tr>
<tr v-if="allTxt.backPointsOri"> <tr v-if="allTxt.backPointsOri">
<td align="right">{{ '商城重消' }}({{isLocalSymbol() }})</td> <td align="right">{{ '商城重消' }}({{ isLocalSymbol() }})</td>
<td align="left">{{ item.backPointsOri }}</td> <td align="left">{{ item.backPointsOri }}</td>
</tr> </tr>
<tr v-if="allTxt.serviceSpendOri"> <tr v-if="allTxt.serviceSpendOri">
<td align="right">{{ '平台服务费' }}({{isLocalSymbol() }})</td> <td align="right">{{ '平台服务费' }}({{ isLocalSymbol() }})</td>
<td align="left">{{ item.serviceSpendOri }}</td> <td align="left">{{ item.serviceSpendOri }}</td>
</tr> </tr>
<tr v-if="allTxt.globalPointsOri"> <tr v-if="allTxt.globalPointsOri">
<td align="right">直推级差({{isLocalSymbol() }})</td> <td align="right">直推级差({{ isLocalSymbol() }})</td>
<td align="left">{{ item.globalPointsOri }}</td> <td align="left">{{ item.globalPointsOri }}</td>
</tr> </tr>
@ -284,28 +255,28 @@
<td align="left">{{ item.carAwardPointsOri }}</td> <td align="left">{{ item.carAwardPointsOri }}</td>
</tr> </tr>
<tr v-if="allTxt.purRealSubtotalOri"> <tr v-if="allTxt.purRealSubtotalOri">
<td align="right">{{ '首购实发小计' }}({{isLocalSymbol() }})</td> <td align="right">{{ '首购实发小计' }}({{ isLocalSymbol() }})</td>
<td align="left">{{ item.purRealSubtotalOri }}</td> <td align="left">{{ item.purRealSubtotalOri }}</td>
</tr> </tr>
<tr v-if="allTxt.repurRealSubtotalOri"> <tr v-if="allTxt.repurRealSubtotalOri">
<td align="right">{{ '复购实发小计' }}({{isLocalSymbol() }})</td> <td align="right">{{ '复购实发小计' }}({{ isLocalSymbol() }})</td>
<td align="left">{{ item.repurRealSubtotalOri }}</td> <td align="left">{{ item.repurRealSubtotalOri }}</td>
</tr> </tr>
<tr v-if="allTxt.repurCouponSubtotalOri"> <tr v-if="allTxt.repurCouponSubtotalOri">
<td align="right">{{ '复购券实发小计' }}({{isLocalSymbol() }})</td> <td align="right">
{{ '复购券实发小计' }}({{ isLocalSymbol() }})
</td>
<td align="left">{{ item.repurCouponSubtotalOri }}</td> <td align="left">{{ item.repurCouponSubtotalOri }}</td>
</tr> </tr>
<tr v-if="allTxt.realIncomeTotalOri"> <tr v-if="allTxt.realIncomeTotalOri">
<td align="right">{{ '实发收益总计' }}({{isLocalSymbol() }})</td> <td align="right">{{ '实发收益总计' }}({{ isLocalSymbol() }})</td>
<td align="left">{{ item.realIncomeTotalOri }}</td> <td align="left">{{ item.realIncomeTotalOri }}</td>
</tr> </tr>
<tr v-if="menuList[17].checked==true &&allTxt.realIncomeTotal"> <tr v-if="menuList[17].checked == true && allTxt.realIncomeTotal">
<td align="right">{{ '实发收益总计' }}($)</td> <td align="right">{{ '实发收益总计' }}($)</td>
<td align="left">{{ item.realIncomeTotal }}</td> <td align="left">{{ item.realIncomeTotal }}</td>
</tr> </tr>
@ -314,33 +285,33 @@
</view> </view>
</u-popup> </u-popup>
<!-- 顶部搜索 --> <!-- 顶部搜索 -->
<u-popup :show="isTop" <u-popup :show="isTop" mode="top" @close="isTop = false">
mode="top"
@close="isTop=false">
<view class="tt"> <view class="tt">
<u--form labelPosition="left" <u--form
labelPosition="left"
labelWidth="auto" labelWidth="auto"
:model="select" :model="select"
ref="uForm"> ref="uForm"
>
<u-row gutter="10"> <u-row gutter="10">
<u-col span="6"> <u-col span="6">
<u-form-item :label="'会员编号'"> <u-form-item :label="'会员编号'">
<u--input fontSize="12" <u--input fontSize="12" v-model="select.memberCode"></u--input>
v-model="select.memberCode"></u--input>
</u-form-item> </u-form-item>
</u-col> </u-col>
<u-col span="6"> <u-col span="6">
<u-form-item :label="'会员姓名'"> <u-form-item :label="'会员姓名'">
<u--input fontSize="12" <u--input fontSize="12" v-model="select.memberName"></u--input>
v-model="select.memberName"></u--input>
</u-form-item> </u-form-item>
</u-col> </u-col>
</u-row> </u-row>
<u-row gutter="10"> <u-row gutter="10">
<u-col span="6"> <u-col span="6">
<u-form-item :label="'结算期数'"> <u-form-item :label="'结算期数'">
<u--input fontSize="12" <u--input
v-model="select.memberSettlePeriodId"></u--input> fontSize="12"
v-model="select.memberSettlePeriodId"
></u--input>
</u-form-item> </u-form-item>
</u-col> </u-col>
<!-- <u-col span="6"> <!-- <u-col span="6">
@ -360,59 +331,70 @@
</u-row> </u-row>
<u-row gutter="10"> <u-row gutter="10">
<u-col span="12"> <u-col span="12">
<u-form-item label="结算日期" <u-form-item label="结算日期" @click="isData = true">
@click="isData=true"> <u--input
<u--input disabled disabled
fontSize="12" fontSize="12"
disabledColor="#ffffff" disabledColor="#ffffff"
v-model="select.operationTimeVal" v-model="select.operationTimeVal"
suffixIcon="arrow-down" suffixIcon="arrow-down"
suffixIconStyle="font-size: 12px;"></u--input> suffixIconStyle="font-size: 12px;"
></u--input>
</u-form-item> </u-form-item>
</u-col> </u-col>
</u-row> </u-row>
<u-row gutter="10"> <u-row gutter="10">
<u-col span="6"> <u-col span="6">
<u-form-item :label="'隶属体系'"> <u-form-item :label="'隶属体系'">
<picker :range="vertexList" <picker
:range="vertexList"
range-key="vertexName" range-key="vertexName"
@change="bindPickerChange4"> @change="bindPickerChange4"
<u--input disabled >
<u--input
disabled
fontSize="12" fontSize="12"
disabledColor="#ffffff" disabledColor="#ffffff"
v-model="select.vertexIdVal" v-model="select.vertexIdVal"
suffixIcon="arrow-down" suffixIcon="arrow-down"
suffixIconStyle="font-size: 12px;"></u--input> suffixIconStyle="font-size: 12px;"
></u--input>
</picker> </picker>
</u-form-item> </u-form-item>
</u-col> </u-col>
<u-col span="6"> <u-col span="6">
<u-form-item :label="'隶属团队'"> <u-form-item :label="'隶属团队'">
<picker :range="memberteamList" <picker
:range="memberteamList"
range-key="teamName" range-key="teamName"
@change="bindPickerChange5"> @change="bindPickerChange5"
<u--input disabled >
<u--input
disabled
fontSize="12" fontSize="12"
disabledColor="#ffffff" disabledColor="#ffffff"
v-model="select.teamIdVal" v-model="select.teamIdVal"
suffixIcon="arrow-down" suffixIcon="arrow-down"
suffixIconStyle="font-size: 12px;"></u--input> suffixIconStyle="font-size: 12px;"
></u--input>
</picker> </picker>
</u-form-item> </u-form-item>
</u-col> </u-col>
</u-row> </u-row>
</u--form> </u--form>
<view class="footer"> <view class="footer">
<u-button @click="getList1" <u-button
@click="getList1"
color="#C8161D" color="#C8161D"
text="搜索" text="搜索"
class="btnn"></u-button> class="btnn"
<u-button @click="reset" ></u-button>
text="重置"></u-button> <u-button @click="reset" text="重置"></u-button>
</view> </view>
</view> </view>
</u-popup> </u-popup>
<u-calendar @close="isData = false" <u-calendar
@close="isData = false"
:closeOnClickOverlay="true" :closeOnClickOverlay="true"
:show="isData" :show="isData"
:allowSameDay="true" :allowSameDay="true"
@ -420,21 +402,24 @@
:maxDate="calendar.maxDate" :maxDate="calendar.maxDate"
:minDate="calendar.minDate" :minDate="calendar.minDate"
:monthNum="calendar.monthNum" :monthNum="calendar.monthNum"
@confirm="confirm"></u-calendar> @confirm="confirm"
></u-calendar>
<!-- 悬浮球 --> <!-- 悬浮球 -->
<drag-button /> <drag-button />
<export-ball ref="exportBall" <export-ball
ref="exportBall"
v-hasButtons="['BonusDetailExport']" v-hasButtons="['BonusDetailExport']"
@handleExport="handleExport" /> @handleExport="handleExport"
/>
</view> </view>
</template> </template>
<script> <script>
import * as api from '@/api/settle' import * as api from '@/api/settle';
import * as infor from '@/api/information' import * as infor from '@/api/information';
import { isLocals, isLocalSymbol } from '@/util/numberToCurrency' import { isLocals, isLocalSymbol } from '@/util/numberToCurrency';
export default { export default {
data() { data() {
return { return {
select: {}, select: {},
@ -582,159 +567,161 @@ export default {
settleDate: '', settleDate: '',
totalPrice: [], totalPrice: [],
isBtm: false, isBtm: false,
} };
}, },
onLoad(options) { onLoad(options) {
this.settleDate = options.settleDate || '' this.settleDate = options.settleDate || '';
console.log( console.log(
'%c [ this.settleDate ]-532', '%c [ this.settleDate ]-532',
'font-size:13px; background:#40a0a3; color:#84e4e7;', 'font-size:13px; background:#40a0a3; color:#84e4e7;',
this.settleDate this.settleDate
) );
// //
this.getUserRole() this.getUserRole();
// //
this.getData() this.getData();
this.chooseTimed() this.chooseTimed();
if (this.settleDate) { if (this.settleDate) {
this.$set(this.select, 'startDate', this.settleDate) this.$set(this.select, 'startDate', this.settleDate);
this.$set(this.select, 'endDate', this.settleDate) this.$set(this.select, 'endDate', this.settleDate);
this.$set( this.$set(
this.select, this.select,
'operationTimeVal', 'operationTimeVal',
this.settleDate + ' 至 ' + this.settleDate this.settleDate + ' 至 ' + this.settleDate
) );
} else { } else {
var s1 = this.getStartTime() const s1 = this.getStartTime();
var s2 = this.getEndTime() const s2 = this.getEndTime();
this.$set(this.select, 'startDate', s1) this.$set(this.select, 'startDate', s1);
this.$set(this.select, 'endDate', s2) this.$set(this.select, 'endDate', s2);
this.$set(this.select, 'operationTimeVal', s1 + ' 至 ' + s2) this.$set(this.select, 'operationTimeVal', s1 + ' 至 ' + s2);
} }
this.getAll([0]) this.getAll([0]);
this.todayData = Date.now() this.todayData = Date.now();
this.minDate = Number(new Date('1950-01-01')) this.minDate = Number(new Date('1950-01-01'));
this.getList() this.getList();
}, },
onReachBottom() { onReachBottom() {
this.queryParams.pageNum++ this.queryParams.pageNum++;
this.getList() this.getList();
}, },
methods: { methods: {
isLocalSymbol, isLocalSymbol,
isLocals, isLocals,
getStartTime() { getStartTime() {
let date = new Date() const date = new Date();
let year = date.getFullYear() // const year = date.getFullYear(); //
let month = date.getDate() === 1 ? date.getMonth() : date.getMonth() + 1 // 0-11+1 let month =
date.setDate(1) // date.getDate() === 1 ? date.getMonth() : date.getMonth() + 1; // 0-11+1
month = month >= 10 ? month : '0' + month // date.setDate(1); //
let day = date.getDate() // setDate(1) month = month >= 10 ? month : '0' + month; //
day = day >= 10 ? day : '0' + day // let day = date.getDate(); // setDate(1)
return year + '-' + month + '-' + day day = day >= 10 ? day : '0' + day; //
return year + '-' + month + '-' + day;
}, },
getEndTime() { getEndTime() {
var date = new Date() const date = new Date();
var year = date.getFullYear() // const year = date.getFullYear(); //
let month = date.getDate() === 1 ? date.getMonth() : date.getMonth() + 1 // 0-11+1 let month =
var day = date.getDate() > 1 ? date.getDate() - 1 : date.getDate() // date.getDate() === 1 ? date.getMonth() : date.getMonth() + 1; // 0-11+1
let day1 = date.getDate() let day = date.getDate() > 1 ? date.getDate() - 1 : date.getDate(); //
const day1 = date.getDate();
// 0 // 0
if (month >= 1 && month <= 9) { if (month >= 1 && month <= 9) {
month = '0' + month month = '0' + month;
} }
if (day >= 0 && day <= 9) { if (day >= 0 && day <= 9) {
day = '0' + day day = '0' + day;
} }
if (day1 == 1) { if (day1 == 1) {
var date2 = new Date() const date2 = new Date();
var year2 = date2.getFullYear() const year2 = date2.getFullYear();
var month2 = date2.getMonth() const month2 = date2.getMonth();
var dates = new Date(year2, month2, 0).getDate() const dates = new Date(year2, month2, 0).getDate();
day = dates day = dates;
} }
return year + '-' + month + '-' + day return year + '-' + month + '-' + day;
}, },
// //
chooseTimed() { chooseTimed() {
let date = new Date() const date = new Date();
let year = date.getFullYear() const year = date.getFullYear();
let month = date.getMonth() + 1 let month = date.getMonth() + 1;
let day = date.getDate() let day = date.getDate();
if (month <= 9) { if (month <= 9) {
month = '0' + month month = '0' + month;
} }
if (day <= 9) { if (day <= 9) {
day = '0' + day day = '0' + day;
} }
let minyear = year - 1 const minyear = year - 1;
let maxyear = year + 1 const maxyear = year + 1;
this.calendar.minDate = minyear + '-' + month + '-' + day this.calendar.minDate = minyear + '-' + month + '-' + day;
this.calendar.maxDate = maxyear + '-' + month + '-' + day this.calendar.maxDate = maxyear + '-' + month + '-' + day;
}, },
getData() { getData() {
api.accountList().then((res) => { api.accountList().then((res) => {
this.acList = res.data this.acList = res.data;
}) });
// //
infor.getvertexValue().then((res) => { infor.getvertexValue().then((res) => {
this.vertexList = res.data this.vertexList = res.data;
}) });
// //
infor.getmemberTeamList().then((res) => { infor.getmemberTeamList().then((res) => {
this.memberteamList = res.rows this.memberteamList = res.rows;
}) });
}, },
// //
getAll(e) { getAll(e) {
if (e.length > 0) { if (e.length > 0) {
this.menuList.forEach((item) => { this.menuList.forEach((item) => {
this.$set(item, 'checked', true) this.$set(item, 'checked', true);
this.selected.push(item.id) this.selected.push(item.id);
}) });
} else { } else {
this.menuList.forEach((item) => { this.menuList.forEach((item) => {
this.$set(item, 'checked', false) this.$set(item, 'checked', false);
}) });
this.$set(this, 'selected', []) this.$set(this, 'selected', []);
} }
}, },
// //
getMenu(e) { getMenu(e) {
this.menuList.forEach((item) => { this.menuList.forEach((item) => {
this.$set(item, 'checked', false) this.$set(item, 'checked', false);
e.forEach((ctem) => { e.forEach((ctem) => {
if (item.id == ctem) { if (item.id == ctem) {
this.$set(item, 'checked', true) this.$set(item, 'checked', true);
} }
}) });
}) });
if (e.length == this.menuList.length) { if (e.length == this.menuList.length) {
this.$set(this, 'selectAll', [0]) this.$set(this, 'selectAll', [0]);
} else { } else {
this.$set(this, 'selectAll', []) this.$set(this, 'selectAll', []);
} }
}, },
getUserRole() { getUserRole() {
infor.getRoleMenu('BonusDetail').then((res) => { infor.getRoleMenu('BonusDetail').then((res) => {
let obj = {} const obj = {};
res.data.forEach((item) => { res.data.forEach((item) => {
obj[item] = 1 obj[item] = 1;
}) });
this.allTxt = obj this.allTxt = obj;
}) });
}, },
// //
getList() { getList() {
api api
.queryBonusDetail(Object.assign({}, this.queryParams, this.select)) .queryBonusDetail(Object.assign({}, this.queryParams, this.select))
.then((res) => { .then((res) => {
this.total = res.total this.total = res.total;
this.tableData = this.tableData.concat(res.rows) this.tableData = this.tableData.concat(res.rows);
let obj = {} const obj = {};
this.tableData.forEach((item) => { this.tableData.forEach((item) => {
for (let key in item) { for (const key in item) {
if ( if (
key != 'memberCode' && key != 'memberCode' &&
key != 'memberName' && key != 'memberName' &&
@ -743,80 +730,88 @@ export default {
key != 'period' && key != 'period' &&
key != 'settleDate' key != 'settleDate'
) { ) {
let value = Number(item[key]) const value = Number(item[key]);
key in obj ? (obj[key] += value) : (obj[key] = value) key in obj ? (obj[key] += value) : (obj[key] = value);
} }
} }
}) });
this.totalPrice = [obj] this.totalPrice = [obj];
}) });
}, },
getList1() { getList1() {
this.tableData = [] this.tableData = [];
this.queryParams.pageNum = 1 this.queryParams.pageNum = 1;
this.isTop = false this.isTop = false;
this.getList() this.getList();
}, },
reset() { reset() {
this.select = {} this.select = {};
}, },
handleExport() { handleExport() {
let url = '/bonus/manage/bonus/export-bonus-detail' const url = '/bonus/manage/bonus/export-bonus-detail';
let obj = Object.assign({}, this.select, this.queryParams) const obj = Object.assign({}, this.select, this.queryParams);
this.$refs.exportBall.handleExport( this.$refs.exportBall.handleExport(
url, url,
obj, obj,
`${'奖金明细'}-${new Date().getTime()}` `${'奖金明细'}-${new Date().getTime()}`
) );
}, },
bindPickerChange1(e) { bindPickerChange1(e) {
this.$set(this.select, 'pkCurrencyVal', this.acList[e.detail.value].label) this.$set(
this.$set(this.select, 'pkCurrency', this.acList[e.detail.value].value) this.select,
'pkCurrencyVal',
this.acList[e.detail.value].label
);
this.$set(this.select, 'pkCurrency', this.acList[e.detail.value].value);
}, },
bindPickerChange4(e) { bindPickerChange4(e) {
this.$set( this.$set(
this.select, this.select,
'vertexIdVal', 'vertexIdVal',
this.vertexList[e.detail.value].vertexName this.vertexList[e.detail.value].vertexName
) );
this.$set(this.select, 'pkVertex', this.vertexList[e.detail.value].pkId) this.$set(
this.select,
'pkVertex',
this.vertexList[e.detail.value].pkId
);
}, },
bindPickerChange5(e) { bindPickerChange5(e) {
this.$set( this.$set(
this.select, this.select,
'teamIdVal', 'teamIdVal',
this.memberteamList[e.detail.value].teamName this.memberteamList[e.detail.value].teamName
) );
this.$set( this.$set(
this.select, this.select,
'pkTeamCode', 'pkTeamCode',
this.memberteamList[e.detail.value].pkId this.memberteamList[e.detail.value].pkId
) );
}, },
confirm(e) { confirm(e) {
this.$set(this.select, 'startDate', e[0]) this.$set(this.select, 'startDate', e[0]);
this.$set(this.select, 'endDate', e[e.length - 1]) this.$set(this.select, 'endDate', e[e.length - 1]);
this.$set( this.$set(
this.select, this.select,
'operationTimeVal', 'operationTimeVal',
e[0] + ' 至 ' + e[e.length - 1] e[0] + ' 至 ' + e[e.length - 1]
) );
this.isData = false this.isData = false;
}, },
}, },
} };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.content { .content {
background: #f9f9f9; background: #f9f9f9;
// padding: 20rpx; // padding: 20rpx;
} }
.header_a { .header_a {
position: fixed; position: fixed;
width: 100%; width: 100%;
} }
.header { .header {
margin: 20rpx; margin: 20rpx;
background: #ffffff; background: #ffffff;
box-shadow: 0px 2px 10px 0px rgba(204, 204, 204, 0.4); box-shadow: 0px 2px 10px 0px rgba(204, 204, 204, 0.4);
@ -829,17 +824,17 @@ export default {
width: 24px; width: 24px;
height: 24px; height: 24px;
} }
} }
.zhan { .zhan {
height: 130rpx; height: 130rpx;
} }
.kuang { .kuang {
background: #f9f9f9; background: #f9f9f9;
border-radius: 10px 10px 10px 10px; border-radius: 10px 10px 10px 10px;
margin: 20rpx; margin: 20rpx;
padding-bottom: 40rpx; padding-bottom: 40rpx;
} }
.tftable { .tftable {
font-size: 12px; font-size: 12px;
border-collapse: collapse; border-collapse: collapse;
border-radius: 10px; border-radius: 10px;
@ -866,35 +861,35 @@ export default {
tr :nth-child(2) { tr :nth-child(2) {
color: #333333; color: #333333;
} }
} }
.che { .che {
padding: 20rpx 40rpx; padding: 20rpx 40rpx;
} }
.tt { .tt {
padding: 20rpx; padding: 20rpx;
margin-top: 40px; margin-top: 40px;
} }
::v-deep .u-transition { ::v-deep .u-transition {
z-index: 998 !important; z-index: 998 !important;
} }
.footer { .footer {
display: flex; display: flex;
align-items: center; align-items: center;
padding: 20rpx 60rpx; padding: 20rpx 60rpx;
.btnn { .btnn {
margin-right: 40rpx; margin-right: 40rpx;
} }
} }
::v-deep .u-input { ::v-deep .u-input {
padding: 0 9px !important; padding: 0 9px !important;
} }
::v-deep .u-form-item__body__left__content__label { ::v-deep .u-form-item__body__left__content__label {
font-size: 12px; font-size: 12px;
} }
::v-deep .u-form-item__body { ::v-deep .u-form-item__body {
padding: 5px 0; padding: 5px 0;
} }
::v-deep .u-checkbox-group { ::v-deep .u-checkbox-group {
flex-wrap: wrap; flex-wrap: wrap;
flex-shrink: inherit; flex-shrink: inherit;
.u-checkbox { .u-checkbox {
@ -907,16 +902,16 @@ export default {
.u-icon__icon { .u-icon__icon {
margin-right: 0rpx; margin-right: 0rpx;
} }
} }
.table_all { .table_all {
position: fixed; position: fixed;
bottom: 0; bottom: 0;
width: 100%; width: 100%;
} }
.pop { .pop {
padding: 40rpx; padding: 40rpx;
height: 60vh; height: 60vh;
overflow-y: auto; overflow-y: auto;
background: #f9f9f9; background: #f9f9f9;
} }
</style> </style>

View File

@ -30,24 +30,14 @@
{{ item.coachIncomeOri | toThousandthAndKeepDecimal }} {{ item.coachIncomeOri | toThousandthAndKeepDecimal }}
</td> </td>
</tr> </tr>
<tr v-if="allTxt.shareIncomeOri">
<td align="right">{{ '分红收益' }}({{ isLocalSymbol() }})</td>
<td align="left">
{{ item.shareIncomeOri | toThousandthAndKeepDecimal }}
</td>
</tr>
<tr v-if="allTxt.serviceIncomeOri"> <tr v-if="allTxt.serviceIncomeOri">
<td align="right">{{ '报单收益' }}({{ isLocalSymbol() }})</td> <td align="right">{{ '服务补贴' }}({{ isLocalSymbol() }})</td>
<td align="left"> <td align="left">
{{ item.serviceIncomeOri | toThousandthAndKeepDecimal }} {{ item.serviceIncomeOri | toThousandthAndKeepDecimal }}
</td> </td>
</tr> </tr>
<tr v-if="allTxt.repurPushIncomeOri">
<td align="right">{{ '复购推荐收益' }}</td>
<td align="left">
{{ item.repurPushIncomeOri | toThousandthAndKeepDecimal }}
</td>
</tr>
<tr v-if="allTxt.repurRangeIncomeOri"> <tr v-if="allTxt.repurRangeIncomeOri">
<td align="right">{{ '复购级差收益' }}({{ isLocalSymbol() }})</td> <td align="right">{{ '复购级差收益' }}({{ isLocalSymbol() }})</td>
<td align="left"> <td align="left">
@ -66,20 +56,9 @@
{{ item.repurCoachIncome | toThousandthAndKeepDecimal }} {{ item.repurCoachIncome | toThousandthAndKeepDecimal }}
</td> </td>
</tr> </tr>
<tr v-if="allTxt.repurCouponOri">
<td align="right">{{ '复购券' }}({{ isLocalSymbol() }})</td>
<td align="left">
{{ item.repurCouponOri | toThousandthAndKeepDecimal }}
</td>
</tr>
<tr v-if="allTxt.repurCouponShareOri">
<td align="right">{{ '复购券均分' }}</td>
<td align="left">{{ item.repurCouponShareOri }}</td>
</tr>
<tr v-if="allTxt.backPointsOri"> <tr v-if="allTxt.backPointsOri">
<td align="right">{{ '商城重消' }}({{ isLocalSymbol() }})</td> <td align="right">{{ '重复消费' }}({{ isLocalSymbol() }})</td>
<td align="left"> <td align="left">
{{ item.backPointsOri | toThousandthAndKeepDecimal }} {{ item.backPointsOri | toThousandthAndKeepDecimal }}
</td> </td>
@ -97,12 +76,6 @@
{{ item.globalPointsOri | toThousandthAndKeepDecimal }} {{ item.globalPointsOri | toThousandthAndKeepDecimal }}
</td> </td>
</tr> </tr>
<tr v-if="allTxt.carAwardPointsOri">
<td align="right">{{ '车奖积分' }}</td>
<td align="left">
{{ item.carAwardPointsOri | toThousandthAndKeepDecimal }}
</td>
</tr>
<tr v-if="allTxt.purRealSubtotalOri"> <tr v-if="allTxt.purRealSubtotalOri">
<td align="right">{{ '首购实发小计' }}({{ isLocalSymbol() }})</td> <td align="right">{{ '首购实发小计' }}({{ isLocalSymbol() }})</td>
@ -118,13 +91,6 @@
</td> </td>
</tr> </tr>
<tr v-if="allTxt.repurCouponSubtotalOri">
<td align="right">{{ '复购券实发小计' }}({{ isLocalSymbol() }})</td>
<td align="left">
{{ item.repurCouponSubtotalOri | toThousandthAndKeepDecimal }}
</td>
</tr>
<tr v-if="allTxt.realIncomeTotalOri"> <tr v-if="allTxt.realIncomeTotalOri">
<td align="right">{{ '实发收益总计' }}({{ isLocalSymbol() }})</td> <td align="right">{{ '实发收益总计' }}({{ isLocalSymbol() }})</td>
<td align="left"> <td align="left">