文件
mashangyoujiu/Public/Admin/js/admin-profit-list.js

189 行
9.2 KiB
JavaScript
可执行文件

/**
* 分润
*/
Vue.component('admin-profit-list', {
template: `<div>
<el-form :inline="true" size="small">
<el-form-item>
<el-date-picker @change="changeRange"
v-model="search_info.date_range"
type="daterange"
range-separator="至"
clearable
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
:picker-options="pickerOptions">
</el-date-picker>
</el-form-item>
<el-form-item>
<el-radio-group v-model="search_info.data_type" size="mini" @change="selectType">
<el-radio-button :label="1">今天</el-radio-button>
<el-radio-button :label="2">昨天</el-radio-button>
<el-radio-button :label="3">上个月</el-radio-button>
<el-radio-button :label="4">前三个月</el-radio-button>
</el-radio-group>
</el-form-item>
<el-form-item>
<select-agent v-if="userType==1"
@change="searchData"
:agent-id.sync="search_info.agent_id"></select-agent>
<select-merchant v-if="userType==2"
@change="searchData"
:merchant-id.sync="search_info.merchant_id"></select-merchant>
</el-form-item>
</el-form>
<div class="table-top-card-box">
<div class="table-top-card">
<div class="table-top-card-header">订单总金额</div>
<div class="table-top-card-body primary">{{sumData.all_money}}</div>
</div>
<div class="table-top-card">
<div class="table-top-card-header">订单总退款金额</div>
<div class="table-top-card-body primary">{{sumData.all_refund_money}}</div>
</div>
<div class="table-top-card">
<div class="table-top-card-header">交易笔数</div>
<div class="table-top-card-body success">{{sumData.transactions_count}}</div>
</div>
<div class="table-top-card">
<div class="table-top-card-header">代理商净分润(减退款)</div>
<div class="table-top-card-body danger">{{sumData.agent_net_profit}}</div>
</div>
<div class="table-top-card" v-if="userType==1">
<div class="table-top-card-header">合伙人净分润(减退款)</div>
<div class="table-top-card-body danger">{{sumData.partner_net_profit}}</div>
</div>
</div>
<div>
<el-table border :data="orderList" style="width: 100%;" size="small"
:header-cell-style="{background:'#F5F7FA',color:'#606266'}">
<el-table-column align="center" type="index" label="序号" width="50" fixed="left"></el-table-column>
<el-table-column align="center" prop="store_name" label="门店名称" min-width="100" fixed="left" show-overflow-tooltip></el-table-column>
<el-table-column align="center" prop="out_trade_no" label="订单号" min-width="150" show-overflow-tooltip></el-table-column>
<el-table-column align="center" prop="add_time" label="交易时间" min-width="140" show-overflow-tooltip></el-table-column>
<el-table-column align="center" prop="trade_amount" label="交易金额" min-width="70"></el-table-column>
<el-table-column align="center" prop="pay_type" label="交易方式" min-width="70"></el-table-column>
<el-table-column align="center" prop="merchant_rate" label="商家费率" min-width="70"></el-table-column>
<el-table-column align="center" prop="agent_rate" label="代理商费率" min-width="86"></el-table-column>
<el-table-column align="center" prop="agent_profit" label="代理商分润" min-width="86"></el-table-column>
<el-table-column align="center" prop="merchant_name" label="所属商户" min-width="80"></el-table-column>
<el-table-column align="center" prop="agent_name" label="所属代理" min-width="80" v-if="userType==1"></el-table-column>
<el-table-column align="center" prop="partner_rate" label="合伙人费率" width="86" v-if="userType==1"></el-table-column>
<el-table-column align="center" prop="partner_profit" label="合伙人分润" width="86" v-if="userType==1"></el-table-column>
<el-table-column align="center" prop="agent_refund_profit" label="代理商分润退款" min-width="110"></el-table-column>
<el-table-column align="center" prop="partner_refund_profit" label="合伙人分润退款" min-width="110" v-if="userType==1"></el-table-column>
</el-table>
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="currentPage"
:page-sizes="[10, 15, 20, 25, 30, 35, 40, 45, 50]"
:page-size="100"
layout="total, sizes, prev, pager, next, jumper"
:total="len">
</el-pagination>
</div>
</div>`,
props: {
'userType': {
type: Number,
default: 1,
},//分润类型 1合伙人 2代理商
'profitType': {
type: Number,
default: 1,
},//分润类型 1直连 2新大陆 3云闪付
},
data() {
return {
sumData: {
all_money: 0,
transactions_count: 0,
all_refund_money: 0,
agent_net_profit: 0,
},
search_info: {
profit_type: 2,
date_range: '',
data_type: '',
agent_id: '',
merchant_id: '',
},
orderList: [],
len: 0,
currentPage: 1,
currentLimit: 10,
pickerOptions: {
disabledDate(time) {
return time.getTime() > Date.now();
}
}
}
},
methods: {
searchData() {
this.getTotal();
this.handleCurrentChange(1);
},
changeRange() {
this.search_info.data_type = '';
this.searchData();
},
selectType() {
this.search_info.date_range = '';
this.searchData();
},
handleSizeChange(val) {
this.currentLimit = val;//切换每页数量
this.currentPage = 1;
this.getData();
},
handleCurrentChange(val) {
this.currentPage = val;
this.getData();//切换页数
},
getTotal() {
this.sendRequest((this.userType == 1 ? 'Admin' : 'Agent') + '/Continentflow/profitTotal', {
data: {
search_info: JSON.stringify(this.search_info),
},
success: (res) => {
if (res.status == 1) {
this.sumData = res.data;
} else {
this.$message.error(res.message);
}
}
})
},
getData() {
this.sendRequest((this.userType == 1 ? 'Admin' : 'Agent') + '/Continentflow/profitList', {
data: {
page: this.currentPage,
limit: this.currentLimit,
search_info: JSON.stringify(this.search_info),
},
success: (res) => {
if (res.status == 1) {
this.orderList = [];
this.orderList = res.data.list;
this.len = res.data.count;
} else {
this.$message.error(res.message);
}
}
})
},
},
created() {
this.search_info.profit_type = this.profitType;
this.searchData();
},
});