1.支付渠道

This commit is contained in:
邱贞招 2024-09-06 22:35:28 +08:00
parent bc4ed94ddb
commit 8c4897c849
4 changed files with 140 additions and 56 deletions
src
router
views
system
user/user

View File

@ -134,6 +134,20 @@ export const dynamicRoutes = [
}
]
},
{
path: '/user/user/userName',
component: Layout,
hidden: true,
permissions: ['user:user:list'],
children: [
{
path: 'index/:userName',
component: () => import('@/views/user/user'),
name: 'Data',
meta: { title: 'APP用户信息', activeMenu: '/system/user' }
}
]
},
{
path: '/system/device/sn',
component: Layout,

View File

@ -2,7 +2,7 @@
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="运营区" prop="areaId" v-if="userName == 'admin'">
<el-select v-model="queryParams.areaId" filterable placeholder="请选择运营区" clearable>
<el-select v-model="queryParams.areaId" filterable placeholder="请选择运营区" style="width: 9em" clearable>
<el-option
v-for="item in areaOptions"
:key="item.areaId"
@ -15,18 +15,19 @@
<el-input
v-model="queryParams.orderNo"
placeholder="请输入关联订单号"
style="width: 12em"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="第三方交易单号" label-width="100" prop="outTradeNo">
<el-input
v-model="queryParams.outTradeNo"
placeholder="请输入第三方交易单号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="第三方交易单号" label-width="100" prop="outTradeNo">-->
<!-- <el-input-->
<!-- v-model="queryParams.outTradeNo"-->
<!-- placeholder="请输入第三方交易单号"-->
<!-- clearable-->
<!-- @keyup.enter.native="handleQuery"-->
<!-- />-->
<!-- </el-form-item>-->
<el-form-item label="收支类型" prop="type">
<el-select style="width: 100px" v-model="queryParams.type" placeholder="请选择收支类型" clearable>
<el-option
@ -47,20 +48,20 @@
/>
</el-select>
</el-form-item>
<el-form-item label="支付方式" prop="payType">
<el-select style="width: 150px" v-model="queryParams.payType" placeholder="请选择业务类型" clearable>
<el-option
v-for="dict in dict.type.et_pay_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
<!-- <el-form-item label="支付方式" prop="payType">-->
<!-- <el-select style="width: 150px" v-model="queryParams.payType" placeholder="请选择业务类型" clearable>-->
<!-- <el-option-->
<!-- v-for="dict in dict.type.et_pay_type"-->
<!-- :key="dict.value"-->
<!-- :label="dict.label"-->
<!-- :value="dict.value"-->
<!-- />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item label="交易时间">
<el-date-picker
v-model="dateRange"
style="width: 240px"
style="width: 220px"
value-format="yyyy-MM-dd"
type="daterange"
range-separator="-"
@ -69,7 +70,7 @@
></el-date-picker>
</el-form-item>
<el-form-item label="型号" prop="modelId" >
<el-select v-model="queryParams.modelId" filterable placeholder="请选择型号" clearable>
<el-select v-model="queryParams.modelId" filterable placeholder="请选择型号" style="width: 8em" clearable>
<el-option
v-for="item in modelOptions"
:key="item.modelId"
@ -108,8 +109,15 @@
</el-table-column>
<el-table-column label="区域" align="center" prop="areaName" />
<el-table-column label="所属人" align="center" prop="owner" />
<el-table-column label="关联订单号" width="180" align="center" prop="orderNo" />
<el-table-column label="第三方交易单号" width="180" align="center" prop="outTradeNo" />
<!-- <el-table-column label="关联订单号" width="180" align="center" prop="orderNo" />-->
<el-table-column align="center" label="关联订单号" width="180" prop="orderNo">
<template slot-scope="scope">
<router-link :to="'/system/order/index/' + scope.row.orderNo" class="link-type">
<span>{{ scope.row.orderNo }}</span>
</router-link>
</template>
</el-table-column>
<!-- <el-table-column label="第三方交易单号" width="180" align="center" prop="outTradeNo" />-->
<el-table-column label="收支类型" align="center" prop="type">
<template slot-scope="scope">
<dict-tag :options="dict.type.et_flow_type" :value="scope.row.type"/>
@ -120,22 +128,22 @@
<dict-tag :options="dict.type.et_business_type" :value="scope.row.busType"/>
</template>
</el-table-column>
<el-table-column label="交易金额" align="center" prop="amount" :formatter="formatAmount"/>
<el-table-column label="支付手续费" align="center" prop="handlingCharge" :formatter="formatAmount"/>
<el-table-column label="平台服务费" align="center" prop="platformServiceFee" :formatter="formatAmount"/>
<el-table-column label="账变金额" align="center" prop="operatorDividend" :formatter="formatAmount"/>
<!-- <el-table-column label="交易金额" align="center" prop="amount" :formatter="formatAmount"/>-->
<!-- <el-table-column label="支付手续费" align="center" prop="handlingCharge" :formatter="formatAmount"/>-->
<!-- <el-table-column label="平台服务费" align="center" prop="platformServiceFee" :formatter="formatAmount"/>-->
<el-table-column label="账变金额" align="left" prop="operatorDividend" :formatter="formatAmount2"/>
<el-table-column label="运营商结余" align="center" prop="operatorBalance" :formatter="formatAmount"/>
<!-- <el-table-column label="合伙人分账" align="center" prop="partnerDividend" :formatter="formatAmount"/>-->
<el-table-column label="支付方式" align="center" prop="payType">
<template slot-scope="scope">
<dict-tag :options="dict.type.et_pay_type" :value="scope.row.payType"/>
</template>
</el-table-column>
<el-table-column label="状态" align="center" prop="status">
<template slot-scope="scope">
<dict-tag :options="dict.type.et_flow_status" :value="scope.row.status"/>
</template>
</el-table-column>
<!-- <el-table-column label="支付方式" align="center" prop="payType">-->
<!-- <template slot-scope="scope">-->
<!-- <dict-tag :options="dict.type.et_pay_type" :value="scope.row.payType"/>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="状态" align="center" prop="status">-->
<!-- <template slot-scope="scope">-->
<!-- <dict-tag :options="dict.type.et_flow_status" :value="scope.row.status"/>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="车型" align="center" prop="model" />
</el-table>
@ -294,6 +302,19 @@ export default {
const key = column.property;
return parseFloat(row[key] || 0).toFixed(2);
},
formatAmount2(row) {
if (row.operatorDividend == null) return '';
// "-"
let amount = parseFloat(row.operatorDividend).toFixed(2);
// "-"
if (amount.startsWith('-')) {
return amount;
}
// "-" "+"
return `+${amount}`;
},
/** 查询资金流水列表 */
getList() {
this.loading = true;

View File

@ -87,37 +87,64 @@
<el-table-column type="selection" width="55" align="center" />
<!-- <el-table-column label="订单id" align="center" prop="orderId" />-->
<el-table-column label="区域" align="center" prop="area" />
<el-table-column label="订单号" align="center" prop="orderNo" width="200"/>
<el-table-column label="用户" align="center" prop="userName" width="100"/>
<el-table-column label="设备SN" align="center" prop="sn" >
<el-table-column label="订单号" align="center" prop="orderNo" width="120"/>
<el-table-column label="用户" align="center" width="100">
<template slot-scope="scope">
<router-link :to="'/system/device/sn/index/' + scope.row.sn" class="link-type">
<span>{{ scope.row.sn }}</span>
<router-link :to="'/user/user/userName/index/' + scope.row.userName" class="link-type">
<span>{{ scope.row.userName }}</span>
</router-link>
</template>
</el-table-column>
<el-table-column label="车牌号" align="center" prop="vehicleNum" >
<el-table-column label="设备信息" align="center" width="120">
<template slot-scope="scope">
<router-link :to="'/system/device/vehicleNum/index/' + scope.row.vehicleNum" class="link-type">
<span>{{ scope.row.vehicleNum }}</span>
</router-link>
<div>
<router-link :to="'/system/device/sn/index/' + scope.row.sn" class="link-type">
<span>SN: {{ scope.row.sn }}</span>
</router-link>
<br />
<router-link :to="'/system/device/vehicleNum/index/' + scope.row.vehicleNum" class="link-type">
<span>车牌号: {{ scope.row.vehicleNum }}</span>
</router-link>
</div>
</template>
</el-table-column>
<!-- <el-table-column label="设备SN" align="center" prop="sn" >-->
<!-- <template slot-scope="scope">-->
<!-- <router-link :to="'/system/device/sn/index/' + scope.row.sn" class="link-type">-->
<!-- <span>{{ scope.row.sn }}</span>-->
<!-- </router-link>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="车牌号" align="center" prop="vehicleNum" >-->
<!-- <template slot-scope="scope">-->
<!-- <router-link :to="'/system/device/vehicleNum/index/' + scope.row.vehicleNum" class="link-type">-->
<!-- <span>{{ scope.row.vehicleNum }}</span>-->
<!-- </router-link>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="状态" align="center" prop="status">
<template slot-scope="scope">
<dict-tag :options="dict.type.et_order_status" :value="scope.row.status"/>
</template>
</el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime" width="90">
<el-table-column label="创建时间/开始骑行" align="center" width="135">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
</template>
</el-table-column>
<el-table-column label="开始骑行" align="center" prop="unlockTime" width="90">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.unlockTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
<div>
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span><br />
<span>{{ parseTime(scope.row.unlockTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
</div>
</template>
</el-table-column>
<!-- <el-table-column label="创建时间" align="center" prop="createTime" width="90">-->
<!-- <template slot-scope="scope">-->
<!-- <span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="开始骑行" align="center" prop="unlockTime" width="90">-->
<!-- <template slot-scope="scope">-->
<!-- <span>{{ parseTime(scope.row.unlockTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="结束骑行" align="center" prop="returnTime" width="90">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.returnTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
@ -134,9 +161,23 @@
</template>
</el-table-column>
<el-table-column label="金额(元)" align="center" prop="totalFee" width="70"/>
<el-table-column label="备注" align="center" prop="mark" />
<el-table-column label="订单时长" align="center" prop="duration" :formatter="formatDuration"/>
<el-table-column label="距离" align="center" prop="distance" :formatter="formatDistance"/>
<!-- <el-table-column label="备注" align="center" prop="mark" />-->
<!-- <el-table-column label="交易金额" align="center" prop="amount" :formatter="formatAmount"/>-->
<el-table-column label="手续费" align="center" prop="handlingCharge" :formatter="formatAmount"/>
<el-table-column label="成本" align="center" prop="handlingCharge" :formatter="formatAmount"/>
<el-table-column label="服务费" align="center" prop="platformServiceFee" :formatter="formatAmount"/>
<el-table-column label="到账金额" align="center" prop="platformServiceFee" :formatter="formatAmount"/>
<!-- <el-table-column label="订单时长" align="center" prop="duration" :formatter="formatDuration"/>-->
<!-- <el-table-column label="距离" align="center" prop="distance" :formatter="formatDistance"/>-->
<el-table-column label="订单信息" align="center" width="120">
<template slot-scope="scope">
<div>
<span>时长: {{ formatDuration(scope.row) }}</span><br />
<span>距离: {{ formatDistance(scope.row) }}</span>
</div>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="150" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
@ -560,6 +601,10 @@ export default {
}
},
methods: {
formatAmount(row, column) {
const key = column.property;
return parseFloat(row[key] || 0).toFixed(2);
},
confirmDeduction(){
// 1. 退
this.$refs["form4"].validate(valid => {

View File

@ -500,6 +500,10 @@ export default {
};
},
created() {
const userName = this.$route.params && this.$route.params.userName;
if (userName != null) {
this.queryParams.userName = userName;
}
this.getList();
this.getAreaList();
this.getConfigKey("sys.user.initPassword").then(response => {