2 changed files with 431 additions and 0 deletions
@ -0,0 +1,423 @@ |
|||
<template> |
|||
<div class="main-content12 recharge-wrap"> |
|||
<h3 class="pagetitle">代收款结算</h3> |
|||
<div class="flex-common"> |
|||
<div class="flex-between"> |
|||
<el-tabs v-model="totalType" @tab-click="handleClick"> |
|||
<el-tab-pane label="收款设置" name="1"></el-tab-pane> |
|||
<el-tab-pane label="结算列表" name="2"></el-tab-pane> |
|||
<el-tab-pane label="账单列表" name="3"></el-tab-pane> |
|||
</el-tabs> |
|||
<div class="flex"> |
|||
</div> |
|||
</div> |
|||
<div class="mt24" v-if="totalType == '1'"> |
|||
<el-form class="el-row demo-ruleForm" ref="formRef"> |
|||
|
|||
</el-form> |
|||
</div> |
|||
<el-form class="mt24" v-else> |
|||
<GuipTable :tableData="tableList" :key="tableKey" ref="multipleTable" autoColumn="true" :loading="tableLoading" style="flex:1"> |
|||
<template v-if="totalType == '2'"> |
|||
<el-table-column prop="tid" label="订单号"></el-table-column> |
|||
<el-table-column prop="money"> |
|||
<template slot="header"> |
|||
充值金额 |
|||
<span class="money-header" v-if="total_money>0"> 总计 {{ total_money }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column prop="pay_date" label="充值时间"></el-table-column> |
|||
<el-table-column prop="remain_money" label="充值前账号余额"></el-table-column> |
|||
<el-table-column prop="type_desc" label="类型"></el-table-column> |
|||
<el-table-column prop="opt" label="操作"> |
|||
<template slot-scope="scope"> |
|||
<GuipButton v-if="scope.row.confirm" type="ignore" class="mr-16" :btnstyle="confirmBtnStyle" @click="confirmRecharge(scope.row.id, scope.row.tid)">确认收货</GuipButton> |
|||
<div v-else>----</div> |
|||
</template> |
|||
</el-table-column> |
|||
</template> |
|||
<template v-else> |
|||
<el-table-column prop="short_name" label="账号"></el-table-column> |
|||
<el-table-column prop="bill_date" label="账单日期"></el-table-column> |
|||
<el-table-column prop="pay_type" label="支付类型"> |
|||
<template slot-scope="scope"> |
|||
<img :src="require('@/assets/pay/pay_'+scope.row.pay_type+'.svg')" alt=""> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column prop="money" label="收入金额(元)"></el-table-column> |
|||
<el-table-column prop="unpay_money" label="未核算金额(元)"></el-table-column> |
|||
<el-table-column prop="ctime" label="账单生成时间"></el-table-column> |
|||
<el-table-column prop="status" label="核算状态"> |
|||
<template slot-scope="scope"> |
|||
<div :class="statusClass(scope.row.status)">{{scope.row.status}}</div> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column prop="money" label="操作"></el-table-column> |
|||
|
|||
</template> |
|||
|
|||
</GuipTable> |
|||
<el-pagination background @size-change='handleSizeChange' @current-change='handleCurrentChange' |
|||
:current-page="currentPage" :page-size=pageSize layout="prev, pager, next,jumper" |
|||
:total="parseInt(total)"> |
|||
</el-pagination> |
|||
</el-form> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
<script> |
|||
|
|||
import GuipButton from "@/components/GuipButton.vue"; |
|||
import GuipTable from "@/components/GuipTable.vue"; |
|||
|
|||
export default { |
|||
components: { |
|||
GuipTable, |
|||
GuipButton, |
|||
}, |
|||
props: { |
|||
total_type: { |
|||
type: String, |
|||
default: '1' |
|||
}, |
|||
}, |
|||
data() { |
|||
return { |
|||
totalType:'1', |
|||
tableLoading:false, |
|||
|
|||
walletType: '', |
|||
walletList:[], |
|||
|
|||
prompt:'', |
|||
prompt_link:'', |
|||
bonus:[], |
|||
buy_price_type: '', |
|||
buy_price_types: {}, |
|||
buy_price_link: '', |
|||
buy_price_links: {}, |
|||
links_desc: '', |
|||
|
|||
ordernum:'', |
|||
|
|||
tableKey: '', |
|||
tableList:[], |
|||
currentPage: 1, //当前页 |
|||
pageSize: 20, //每页的容量 |
|||
total: 0, //列表总数 |
|||
total_money: 0, //列表总数 |
|||
tid2refunds: [], //列表总数 |
|||
dialogVisible: false, |
|||
refund_detail: [], |
|||
|
|||
confirmBtnStyle: { |
|||
'background':'#FF4D4F', |
|||
'color':'#FFFFFF', |
|||
'border':'1px solid #FF4D4F', |
|||
'border-radius':'4px', |
|||
'width': '88px', |
|||
'height': '33px', |
|||
'font-size': '12px', |
|||
} |
|||
} |
|||
}, |
|||
mounted() { |
|||
this.$nextTick(()=>{ |
|||
this.totalType = this.total_type; |
|||
this.handleClick() |
|||
}) |
|||
}, |
|||
methods: { |
|||
statusClass(status){ |
|||
if(status == '已核算') return 'already_pay'; |
|||
return 'not_pay' |
|||
}, |
|||
handleClick(){ |
|||
this.tableList = [] |
|||
this.total_money = 0 |
|||
if(this.totalType == 1) this.getRechargeData() |
|||
if(this.totalType == 2) this.getRechargeList() |
|||
if(this.totalType == 3) this.getBillList() |
|||
}, |
|||
getRechargeData() { |
|||
try { |
|||
this.$http('POST', '/agentnew/ajax_get_recharge_data', {date: this.date}).then(response => { |
|||
this.$nextTick(() => { |
|||
this.walletList = response.data |
|||
}) |
|||
}).catch(error => { |
|||
console.error(error, 'error') |
|||
}) |
|||
} catch (error) { |
|||
console.error('数据加载失败:', error) |
|||
} |
|||
}, |
|||
getRechargeList() { |
|||
this.tableLoading = true |
|||
try { |
|||
this.$http('POST', '/agentnew/ajax_get_recharge_list', { |
|||
type: this.walletType, |
|||
cur_page: this.currentPage, |
|||
page_size: this.pageSize |
|||
}).then(response => { |
|||
this.tableLoading = false |
|||
this.$nextTick(() => { |
|||
this.tableList = response.data.list |
|||
this.total = response.data.total |
|||
this.total_money = response.data.total_money |
|||
this.tableKey = Math.random(); |
|||
}) |
|||
}).catch(error => { |
|||
console.error(error, 'error') |
|||
}) |
|||
} catch (error) { |
|||
console.error('数据加载失败:', error) |
|||
} finally { |
|||
this.tableLoading = false |
|||
} |
|||
}, |
|||
getBillList() { |
|||
this.tableLoading = true |
|||
try { |
|||
this.$http('POST', '/agentnew/ajax_get_bill_list', {date: this.date}).then(response => { |
|||
this.tableLoading = false |
|||
this.$nextTick(() => { |
|||
this.tableList = response.data.list |
|||
}) |
|||
}).catch(error => { |
|||
console.error(error, 'error') |
|||
}) |
|||
} catch (error) { |
|||
console.error('数据加载失败:', error) |
|||
} finally { |
|||
this.tableLoading = false |
|||
} |
|||
}, |
|||
doRecharge(){ |
|||
try { |
|||
this.$http('POST', '/agentnew/ajax_do_recharge', {orderId: this.ordernum,type: this.walletType}).then(response => { |
|||
if (response.status) { |
|||
this.$message.success('充值成功'); |
|||
return true; |
|||
} |
|||
this.$message.error(response.info); |
|||
}).catch(error => { |
|||
console.error(error, 'error') |
|||
}) |
|||
} catch (error) { |
|||
console.error('数据加载失败:', error) |
|||
} |
|||
}, |
|||
confirmRecharge(id, tid){ |
|||
try { |
|||
this.$http('POST', '/agentnew/ajax_confirm_recharge', {orderId: tid,type: this.walletType,recharge_id: id}).then(response => { |
|||
if (response.status) { |
|||
this.$message.success('充值成功'); |
|||
return true; |
|||
} |
|||
this.$message.error(response.info); |
|||
}).catch(error => { |
|||
console.error(error, 'error') |
|||
}) |
|||
} catch (error) { |
|||
console.error('数据加载失败:', error) |
|||
} |
|||
}, |
|||
handleSizeChange(val) { |
|||
this.pageSize = val |
|||
this.getRechargeList() |
|||
}, |
|||
handleCurrentChange(val) { |
|||
this.currentPage = val |
|||
this.getRechargeList() |
|||
}, |
|||
} |
|||
} |
|||
|
|||
</script> |
|||
<style lang="scss" scoped> |
|||
.recharge-wrap{ |
|||
.pagetitle { |
|||
text-align: left; |
|||
font-size: 16px; |
|||
font-weight: bold; |
|||
line-height: normal; |
|||
letter-spacing: 0.08em; |
|||
color: #1E2226; |
|||
margin-top: 8px; |
|||
} |
|||
.w552{ |
|||
width: 552px; |
|||
letter-spacing: 0.08em; |
|||
} |
|||
.w443{ |
|||
width: 443px; |
|||
letter-spacing: 0.08em; |
|||
} |
|||
.wallet-choose{ |
|||
font-size: 14px; |
|||
color: #1E2226; |
|||
} |
|||
.wallet-desc{ |
|||
font-size: 12px; |
|||
color: #8A9099; |
|||
cursor: pointer; |
|||
} |
|||
.wallet-item{ |
|||
display: flex; |
|||
flex-direction: column; |
|||
gap: 12px; |
|||
text-align: left; |
|||
padding: 16px 18px; |
|||
width: 264px; |
|||
letter-spacing: 0.08em; |
|||
border-radius: 8px; |
|||
background: #F6F7FA; |
|||
box-sizing: border-box; |
|||
|
|||
.wallet-name{ |
|||
color: #1E2226;; |
|||
font-size: 14px; |
|||
font-weight: bold; |
|||
} |
|||
.wallet-num{ |
|||
font-size: 12px; |
|||
color: #626573; |
|||
padding: 0 2px; |
|||
} |
|||
.wallet-price{ |
|||
font-size: 22px; |
|||
font-weight: bold; |
|||
color: #626573; |
|||
} |
|||
} |
|||
|
|||
.wallet-item-active{ |
|||
position: relative; |
|||
background: #F2F7FF; |
|||
.tem-active{ |
|||
position: absolute; |
|||
right: 0; |
|||
top: 0; |
|||
width: 30px; |
|||
height: 30px; |
|||
} |
|||
.wallet-name{ |
|||
color: #006AFF; |
|||
} |
|||
} |
|||
|
|||
.gap24 { |
|||
gap: 24px; |
|||
width: 100%; |
|||
align-items: stretch; |
|||
} |
|||
|
|||
.buy-area{ |
|||
.buy-btn{ |
|||
font-size: 12px; |
|||
width: 139px; |
|||
color: #006AFF; |
|||
letter-spacing: 0.08em; |
|||
padding: 9px 16px; |
|||
gap: 6px; |
|||
border-radius: 4px; |
|||
border: 1px solid #006AFF; |
|||
box-sizing: border-box; |
|||
} |
|||
|
|||
.buy-bonus{ |
|||
position: relative; |
|||
.buy-bonus-info{ |
|||
display: flex; |
|||
flex-wrap: wrap; |
|||
position: absolute; |
|||
top:54px; |
|||
left: 22px; |
|||
width: 510px; |
|||
gap: 3px; |
|||
color: #626573; |
|||
div{ |
|||
width: calc(50% - 15px); |
|||
gap: 7px; |
|||
b{ |
|||
padding: 0 4px; |
|||
} |
|||
.red{ |
|||
background: linear-gradient(180deg, #DB4CBB 0%, #EB202C 100%); |
|||
-webkit-background-clip: text; |
|||
-webkit-text-fill-color: transparent; |
|||
background-clip: text; |
|||
text-fill-color: transparent; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
.buy-desc{ |
|||
font-size: 12px; |
|||
letter-spacing: 0.08em; |
|||
color: #006AFF; |
|||
} |
|||
|
|||
.buy-hr{ |
|||
border: 1px dashed #BABDC2; |
|||
margin: 32px 0; |
|||
} |
|||
|
|||
.buy-info{ |
|||
width: 552px; |
|||
color: #8A9099; |
|||
font-size: 12px; |
|||
letter-spacing: 0.08em; |
|||
background: #F6F7FA; |
|||
padding: 12px; |
|||
display: flex; |
|||
flex-direction: column; |
|||
gap: 12px; |
|||
text-align: left; |
|||
box-sizing: border-box; |
|||
margin-top: 24px; |
|||
.red{ |
|||
color: #FF4D4F; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
.money-header{ |
|||
color: #626573; |
|||
margin-left: 8px; |
|||
} |
|||
|
|||
::v-deep .el-form-item { |
|||
margin: 0; |
|||
} |
|||
|
|||
.table-grid { |
|||
display: grid; |
|||
grid-template-columns: 1fr 1fr 1fr 1fr; /* 三列 */ |
|||
border: 1px solid #ccc; |
|||
} |
|||
|
|||
.table-grid-cell { |
|||
border: 1px solid #ccc; |
|||
padding: 8px; |
|||
text-align: center; |
|||
} |
|||
|
|||
.not_pay{ |
|||
padding: 2px 10px; |
|||
color: #626573; |
|||
border-radius: 4px; |
|||
background: #F6F7FA; |
|||
border: 1px solid #DFE2E6; |
|||
} |
|||
.already_pay{ |
|||
padding: 2px 10px; |
|||
color: #0DAF49; |
|||
border-radius: 4px; |
|||
background: rgba(239, 255, 224, 0.5); |
|||
border: 1px solid rgba(0, 194, 97, 0.6); |
|||
} |
|||
</style> |
Loading…
Reference in new issue