mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-07-03 21:48:13 +08:00
update 同步前端代码
This commit is contained in:
@@ -5,7 +5,7 @@ VUE_APP_TITLE = 万车充运营管理平台
|
|||||||
ENV = 'development'
|
ENV = 'development'
|
||||||
|
|
||||||
# 万车充运营管理平台/预生产环境
|
# 万车充运营管理平台/预生产环境
|
||||||
VUE_APP_BASE_API = 'https://apitest.jsowellcloud.com'
|
VUE_APP_BASE_API = 'http://apitest.jsowellcloud.com'
|
||||||
|
|
||||||
# 路由懒加载
|
# 路由懒加载
|
||||||
VUE_CLI_BABEL_TRANSPILE_MODULES = true
|
VUE_CLI_BABEL_TRANSPILE_MODULES = true
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ VUE_APP_TITLE = 万车充运营管理平台
|
|||||||
ENV = 'staging'
|
ENV = 'staging'
|
||||||
|
|
||||||
# 万车充运营管理平台/测试环境
|
# 万车充运营管理平台/测试环境
|
||||||
VUE_APP_BASE_API = 'http://192.168.2.21:8080'
|
VUE_APP_BASE_API = 'http://192.168.2.2:8080'
|
||||||
|
|
||||||
# 开发环境配置
|
# 开发环境配置
|
||||||
NODE_ENV = production
|
NODE_ENV = production
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
@echo off
|
@echo off
|
||||||
echo.
|
echo.
|
||||||
echo [信息] 打包Web工程,生成dist文件。
|
echo [<EFBFBD><EFBFBD>Ϣ] <20><><EFBFBD>Web<65><62><EFBFBD>̣<EFBFBD><CCA3><EFBFBD><EFBFBD><EFBFBD>dist<73>ļ<EFBFBD><C4BC><EFBFBD>
|
||||||
echo.
|
echo.
|
||||||
|
|
||||||
%~d0
|
%~d0
|
||||||
cd %~dp0
|
cd %~dp0
|
||||||
|
|
||||||
cd ..
|
cd ..
|
||||||
npm run build:stage
|
npm run build:sit
|
||||||
|
|
||||||
pause
|
pause
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
@echo off
|
@echo off
|
||||||
echo.
|
echo.
|
||||||
echo [信息] 打包Web工程,生成dist文件。
|
echo [<EFBFBD><EFBFBD>Ϣ] <20><><EFBFBD>Web<65><62><EFBFBD>̣<EFBFBD><CCA3><EFBFBD><EFBFBD><EFBFBD>dist<73>ļ<EFBFBD><C4BC><EFBFBD>
|
||||||
echo.
|
echo.
|
||||||
|
|
||||||
%~d0
|
%~d0
|
||||||
cd %~dp0
|
cd %~dp0
|
||||||
|
|
||||||
cd ..
|
cd ..
|
||||||
npm run build:prod
|
npm run build:prd
|
||||||
|
|
||||||
pause
|
pause
|
||||||
|
|||||||
@@ -81,4 +81,22 @@ export function WithdrawalHistory(data) {
|
|||||||
method: "post",
|
method: "post",
|
||||||
data: data,
|
data: data,
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
//查询运营商配置的提现方式
|
||||||
|
export function queryWithdrawalType(data) {
|
||||||
|
return request({
|
||||||
|
url: "/pile/merchant/queryWithdrawalType",
|
||||||
|
method: "post",
|
||||||
|
data: data,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
//修改提现方式
|
||||||
|
export function updateWithdrawalType(data) {
|
||||||
|
return request({
|
||||||
|
url: "/pile/merchant/updateWithdrawalType",
|
||||||
|
method: "post",
|
||||||
|
data: data,
|
||||||
|
});
|
||||||
}
|
}
|
||||||
@@ -86,4 +86,29 @@ export function concatenateAuthLinks(data) {
|
|||||||
method: 'post',
|
method: 'post',
|
||||||
data: data
|
data: data
|
||||||
})
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
//根据汇付会员id查询配置分账的站点列表
|
||||||
|
export function queryStationList(data) {
|
||||||
|
return request({
|
||||||
|
url: '/station/splitconfig/queryStationList',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
//查询订单分账数据
|
||||||
|
export function queryOrderSplitData(data) {
|
||||||
|
return request({
|
||||||
|
url: '/order/queryOrderSplitData',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export function queryStationAggregateData(data) {
|
||||||
|
return request({
|
||||||
|
url: '/order/queryStationAggregateData',
|
||||||
|
method: 'post',
|
||||||
|
data: data
|
||||||
|
})
|
||||||
}
|
}
|
||||||
BIN
jsowell-ui/src/assets/images/img.png
Normal file
BIN
jsowell-ui/src/assets/images/img.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 43 KiB |
@@ -205,19 +205,33 @@ export const constantRoutes = [
|
|||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: "/secret/detail",
|
path: "/secret/detail",
|
||||||
component: Layout,
|
component: Layout,
|
||||||
hidden: true,
|
hidden: true,
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
path: "index/:id",
|
path: "index/:id",
|
||||||
component: () => import("@/views/thirdparty/secret/detail"),
|
component: () => import("@/views/thirdparty/secret/detail"),
|
||||||
name: "secretDetail",
|
name: "secretDetail",
|
||||||
meta: { title: "第三方平台配置详情", activeMenu: "/secret/detail" },
|
meta: { title: "第三方平台配置详情", activeMenu: "/secret/detail" },
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: "/financial/profitDetails",
|
||||||
|
component: Layout,
|
||||||
|
hidden: true,
|
||||||
|
children: [{
|
||||||
|
path: "",
|
||||||
|
component: () => import("@/views/financial/profitDetails.vue"),
|
||||||
|
name: "profitDetails",
|
||||||
|
meta: {
|
||||||
|
title: "分润详情",
|
||||||
|
activeMenu: "/financial/profitDetails"
|
||||||
|
}
|
||||||
|
}]
|
||||||
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
// 动态路由,基于用户权限动态去加载
|
// 动态路由,基于用户权限动态去加载
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<div class="header-cont ">
|
<div class="header-cont ">
|
||||||
<div class="header-txt">运营汇总</div>
|
<div class="header-txt">运营汇总</div>
|
||||||
|
<p class="payout">提现方式:{{ modifyMethod }}<span @click="modifyWithdrawal">修改</span></p>
|
||||||
<el-button type="primary" @click="goAccount">开户信息</el-button>
|
<el-button type="primary" @click="goAccount">开户信息</el-button>
|
||||||
</div>
|
</div>
|
||||||
<div class="header" v-loading="loading">
|
<div class="header" v-loading="loading">
|
||||||
@@ -119,7 +120,7 @@
|
|||||||
<div class="color60" style="margin-bottom: 15px;color:#000;">账户总余额(元):{{ adapayMember.avlBalance }}</div>
|
<div class="color60" style="margin-bottom: 15px;color:#000;">账户总余额(元):{{ adapayMember.avlBalance }}</div>
|
||||||
<div class="color60">可提现(元)</div>
|
<div class="color60">可提现(元)</div>
|
||||||
<div class="margin-20 color">{{ adapayMember.lastAvlBalance }}</div>
|
<div class="margin-20 color">{{ adapayMember.lastAvlBalance }}</div>
|
||||||
<el-button type="primary" @click="dialogVisible = true">提现申请</el-button>
|
<el-button v-if="modifyMethod == '手动提现'" type="primary" @click="dialogVisible = true">提现申请</el-button>
|
||||||
<!-- <div v-else>
|
<!-- <div v-else>
|
||||||
<span class="text">该余额大于{{ withdrawalFee }}元时,才可发起取现</span>
|
<span class="text">该余额大于{{ withdrawalFee }}元时,才可发起取现</span>
|
||||||
</div> -->
|
</div> -->
|
||||||
@@ -225,6 +226,21 @@
|
|||||||
<pagination v-show="orderTotal > 0" :total="orderTotal" :page.sync="getOrderParams.pageNum"
|
<pagination v-show="orderTotal > 0" :total="orderTotal" :page.sync="getOrderParams.pageNum"
|
||||||
:limit.sync="getOrderParams.pageSize" @pagination="getOrderList" />
|
:limit.sync="getOrderParams.pageSize" @pagination="getOrderList" />
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
<!-- 提现方式 -->
|
||||||
|
<el-dialog title="修改提现方式" :visible.sync="withdrawalPop" width="500px" append-to-body :before-close="cancel">
|
||||||
|
<el-form ref="methodParameters" :model="methodParameters" label-width="80px">
|
||||||
|
<el-form-item label="提现方式">
|
||||||
|
<el-radio-group v-model="methodParameters.withdrawalType" size="small">
|
||||||
|
<el-radio label="1" border>手动提现</el-radio>
|
||||||
|
<el-radio label="2" border>自动提现</el-radio>
|
||||||
|
</el-radio-group>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<div slot="footer" class="dialog-footer">
|
||||||
|
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||||
|
<el-button @click="cancel">取 消</el-button>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
@@ -233,7 +249,9 @@ import {
|
|||||||
withdraw,
|
withdraw,
|
||||||
selectAdapayMember,
|
selectAdapayMember,
|
||||||
queryAdapayAccountBalance,
|
queryAdapayAccountBalance,
|
||||||
WithdrawalHistory
|
WithdrawalHistory,
|
||||||
|
queryWithdrawalType,
|
||||||
|
updateWithdrawalType
|
||||||
} from "@/api/adapayMember/adapayMember";
|
} from "@/api/adapayMember/adapayMember";
|
||||||
import { getOrderReportDetail } from "@/api/order/order";
|
import { getOrderReportDetail } from "@/api/order/order";
|
||||||
import { getDay } from "@/utils/common";
|
import { getDay } from "@/utils/common";
|
||||||
@@ -291,7 +309,14 @@ export default {
|
|||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
},
|
},
|
||||||
payoutInformation: [],
|
payoutInformation: [],
|
||||||
getTotal: 0
|
getTotal: 0,
|
||||||
|
modifyMethod: null,
|
||||||
|
withdrawalPop: false,
|
||||||
|
methodParameters: {
|
||||||
|
merchantId: this.$route.query.merchantId,
|
||||||
|
withdrawalType: null,
|
||||||
|
reservedAmount: null
|
||||||
|
}
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
@@ -461,12 +486,50 @@ export default {
|
|||||||
this.payoutInformation = response.data.list;
|
this.payoutInformation = response.data.list;
|
||||||
this.getTotal = response.data.total;
|
this.getTotal = response.data.total;
|
||||||
});
|
});
|
||||||
}
|
},
|
||||||
|
// 查询提现方式
|
||||||
|
withdrawalMethod() {
|
||||||
|
let param = {
|
||||||
|
merchantId: this.merchantId,
|
||||||
|
};
|
||||||
|
console.log("提现方式参数", param);
|
||||||
|
queryWithdrawalType(param).then((response) => {
|
||||||
|
console.log("提现方式", response);
|
||||||
|
this.modifyMethod = response.data.withdrawalType == 1 ? '手动提现' : '自动提现';
|
||||||
|
this.methodParameters.withdrawalType = response.data.withdrawalType;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 修改提现方式
|
||||||
|
updateWithdrawalMethod() {
|
||||||
|
console.log("修改提现方式参数", this.getWithdrawnParameters.merchantId);
|
||||||
|
updateWithdrawalType(this.getWithdrawnParameters.merchantId).then(() => {
|
||||||
|
console.log("修改提现方式", response);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 提现方式弹窗取消
|
||||||
|
cancel() {
|
||||||
|
this.withdrawalPop = false;
|
||||||
|
},
|
||||||
|
// 提现方式弹窗确定
|
||||||
|
submitForm() {
|
||||||
|
console.log("methodParameters", this.methodParameters);
|
||||||
|
updateWithdrawalType(this.methodParameters).then((response) => {
|
||||||
|
console.log("修改提现方式", response);
|
||||||
|
this.$modal.msgSuccess("操作成功");
|
||||||
|
this.withdrawalMethod();
|
||||||
|
this.withdrawalPop = false;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
modifyWithdrawal() {
|
||||||
|
this.withdrawalPop = true;
|
||||||
|
this.withdrawalMethod();
|
||||||
|
},
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.defaultDate();
|
this.defaultDate();
|
||||||
this.getAdapayBalance();
|
this.getAdapayBalance();
|
||||||
this.selectAdapayMember();
|
this.selectAdapayMember();
|
||||||
|
this.withdrawalMethod();
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
@@ -556,4 +619,14 @@ export default {
|
|||||||
color: #000;
|
color: #000;
|
||||||
font-weight: bolder;
|
font-weight: bolder;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.payout {
|
||||||
|
margin: 0;
|
||||||
|
|
||||||
|
span {
|
||||||
|
color: #1890ff;
|
||||||
|
cursor: pointer;
|
||||||
|
margin-left: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -1,116 +1,74 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<el-form
|
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="110px"
|
||||||
:model="queryParams"
|
@submit.native.prevent>
|
||||||
ref="queryForm"
|
|
||||||
size="small"
|
|
||||||
:inline="true"
|
|
||||||
label-width="110px"
|
|
||||||
@submit.native.prevent
|
|
||||||
>
|
|
||||||
<el-form-item label="运营商" prop="merchantId" label-width="120">
|
<el-form-item label="运营商" prop="merchantId" label-width="120">
|
||||||
<el-select v-model="queryParams.merchantId" filterable clearable placeholder="请选择运营商">
|
<el-select v-model="queryParams.merchantId" filterable clearable placeholder="请选择运营商">
|
||||||
<el-option
|
<el-option v-for="item in merchantList" :key="item.merchantName" :label="item.merchantName"
|
||||||
v-for="item in merchantList"
|
:value="item.id" />
|
||||||
:key="item.merchantName"
|
|
||||||
:label="item.merchantName"
|
|
||||||
:value="item.id"
|
|
||||||
/>
|
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="联系人名称" prop="managerName">
|
<el-form-item label="联系人名称" prop="managerName">
|
||||||
<el-input
|
<el-input v-model="queryParams.managerName" placeholder="请输入联系人名称" clearable
|
||||||
v-model="queryParams.managerName"
|
@keyup.enter.native="handleQuery" />
|
||||||
placeholder="请输入联系人名称"
|
|
||||||
clearable
|
|
||||||
@keyup.enter.native="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="管理员联系方式" prop="managerPhone">
|
<el-form-item label="管理员联系方式" prop="managerPhone">
|
||||||
<el-input
|
<el-input v-model="queryParams.managerPhone" placeholder="请输入管理员联系方式" clearable
|
||||||
v-model="queryParams.managerPhone"
|
@keyup.enter.native="handleQuery" />
|
||||||
placeholder="请输入管理员联系方式"
|
|
||||||
clearable
|
|
||||||
@keyup.enter.native="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||||
type="primary"
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||||
icon="el-icon-search"
|
|
||||||
size="mini"
|
|
||||||
@click="handleQuery"
|
|
||||||
>搜索</el-button
|
|
||||||
>
|
|
||||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
|
|
||||||
>重置</el-button
|
|
||||||
>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
|
||||||
<el-table :data="merchantInfoList" style="width: 100%" v-loading="loading">
|
<el-table :data="merchantInfoList" style="width: 100%" v-loading="loading">
|
||||||
<el-table-column prop="merchantName" label="运营商" align="center">
|
<el-table-column prop="merchantName" label="运营商" align="center">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<router-link
|
<router-link :to="{
|
||||||
:to="{
|
path: '/financial/merchant/financeDetail',
|
||||||
path: '/financial/merchant/financeDetail',
|
query: {
|
||||||
query: {
|
merchantId: scope.row.merchantId,
|
||||||
merchantId: scope.row.merchantId,
|
merchantName: scope.row.merchantName,
|
||||||
merchantName: scope.row.merchantName,
|
},
|
||||||
},
|
}" class="link-type">
|
||||||
}"
|
|
||||||
class="link-type"
|
|
||||||
>
|
|
||||||
<span>{{ scope.row.merchantName }}</span>
|
<span>{{ scope.row.merchantName }}</span>
|
||||||
</router-link>
|
</router-link>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
||||||
<el-table-column
|
<el-table-column prop="organizationCode" label="组织机构代码" align="center" />
|
||||||
prop="organizationCode"
|
|
||||||
label="组织机构代码"
|
|
||||||
align="center"
|
|
||||||
/>
|
|
||||||
<el-table-column prop="status" label="状态" align="center" width="130">
|
<el-table-column prop="status" label="状态" align="center" width="130">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<dict-tag
|
<dict-tag :options="dict.type.merchant_status" :value="scope.row.status" />
|
||||||
:options="dict.type.merchant_status"
|
|
||||||
:value="scope.row.status"
|
|
||||||
/>
|
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column prop="adapayMemberId" label="汇付会员id" align="center" />
|
||||||
prop="adapayMemberId"
|
<!-- <el-table-column prop="auditStatus" label="汇付会员审核状态" align="center" width="130">-->
|
||||||
label="汇付会员id"
|
<!-- <template slot-scope="scope">-->
|
||||||
align="center"
|
<!-- <dict-tag-->
|
||||||
/>
|
<!-- :options="dict.type.account_audit_status"-->
|
||||||
<!-- <el-table-column prop="auditStatus" label="汇付会员审核状态" align="center" width="130">-->
|
<!-- :value="scope.row.status"-->
|
||||||
<!-- <template slot-scope="scope">-->
|
<!-- />-->
|
||||||
<!-- <dict-tag-->
|
<!-- </template>-->
|
||||||
<!-- :options="dict.type.account_audit_status"-->
|
<!-- </el-table-column>-->
|
||||||
<!-- :value="scope.row.status"-->
|
<el-table-column prop="settleAccountId" label="汇付结算账户id" align="center" />
|
||||||
<!-- />-->
|
|
||||||
<!-- </template>-->
|
|
||||||
<!-- </el-table-column>-->
|
|
||||||
<el-table-column
|
|
||||||
prop="settleAccountId"
|
|
||||||
label="汇付结算账户id"
|
|
||||||
align="center"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<el-table-column
|
<el-table-column prop="managerName" label="联系人" align="center" width="130" />
|
||||||
prop="managerName"
|
<el-table-column prop="managerPhone" label="联系方式" align="center" width="300" />
|
||||||
label="联系人"
|
|
||||||
align="center"
|
|
||||||
width="130"
|
|
||||||
/>
|
|
||||||
<el-table-column
|
|
||||||
prop="managerPhone"
|
|
||||||
label="联系方式"
|
|
||||||
align="center"
|
|
||||||
width="300"
|
|
||||||
/>
|
|
||||||
<el-table-column prop="createTime" label="入驻时间" align="center" />
|
<el-table-column prop="createTime" label="入驻时间" align="center" />
|
||||||
|
<el-table-column label="操作" align="center">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<router-link :to="{
|
||||||
|
path: '/financial/profitDetails',
|
||||||
|
query: {
|
||||||
|
adapayMemberId: scope.row.adapayMemberId
|
||||||
|
},
|
||||||
|
}" class="link-type">
|
||||||
|
<span class="link-type">分润详情</span>
|
||||||
|
</router-link>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<!-- :to="'/merchant/detail/index/' + scope.row.id" -->
|
<!-- :to="'/merchant/detail/index/' + scope.row.id" -->
|
||||||
<!-- <el-table-column prop="address" label="操作" align="center">
|
<!-- <el-table-column prop="address" label="操作" align="center">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
@@ -141,18 +99,13 @@
|
|||||||
</el-table-column> -->
|
</el-table-column> -->
|
||||||
</el-table>
|
</el-table>
|
||||||
|
|
||||||
<pagination
|
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
|
||||||
v-show="total > 0"
|
@pagination="getList" />
|
||||||
:total="total"
|
|
||||||
:page.sync="queryParams.pageNum"
|
|
||||||
:limit.sync="queryParams.pageSize"
|
|
||||||
@pagination="getList"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import {getFinancialMerchantList, getMerchantList} from "@/api/pile/merchant";
|
import { getFinancialMerchantList, getMerchantList } from "@/api/pile/merchant";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
dicts: ["merchant_status", "account_audit_status"],
|
dicts: ["merchant_status", "account_audit_status"],
|
||||||
@@ -219,6 +172,9 @@ export default {
|
|||||||
// this.resetForm("queryForm");
|
// this.resetForm("queryForm");
|
||||||
this.handleQuery();
|
this.handleQuery();
|
||||||
},
|
},
|
||||||
|
profitDetails() {
|
||||||
|
|
||||||
|
}
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
313
jsowell-ui/src/views/financial/profitDetails.vue
Normal file
313
jsowell-ui/src/views/financial/profitDetails.vue
Normal file
@@ -0,0 +1,313 @@
|
|||||||
|
<template>
|
||||||
|
<div class="wp">
|
||||||
|
<el-tabs type="border-card" @tab-click="handleClick">
|
||||||
|
<el-tab-pane label="分润订单">
|
||||||
|
<div class="querySift">
|
||||||
|
<el-form :model="queryParams" size="small" :inline="true" label-width="110px"
|
||||||
|
@submit.native.prevent>
|
||||||
|
<el-form-item label="日期范围" style="width: 380px;margin-bottom: 0px;">
|
||||||
|
<el-date-picker v-model="queryParams.createTimeRange" style="width: 240px"
|
||||||
|
value-format="yyyy-MM-dd HH:mm:ss" :default-time="['00:00:00', '23:59:59']"
|
||||||
|
type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"
|
||||||
|
:clearable="true" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="选择站点" prop="stationName" label-width="120" style="margin-bottom: 0px;">
|
||||||
|
<el-select v-model="queryParams.stationId" filterable clearable placeholder="请选择站点">
|
||||||
|
<el-option v-for="item in stationList" :key="item.stationId" :label="item.stationName"
|
||||||
|
:value="item.stationId" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item style="margin-bottom: 0px;">
|
||||||
|
<el-button type="primary" icon="el-icon-search" size="mini"
|
||||||
|
@click="handleQuery">搜索</el-button>
|
||||||
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</div>
|
||||||
|
<div class="concentrate" style="margin-top: 20px;">
|
||||||
|
<h3 style="margin-top: 0px;">订单分账明细</h3>
|
||||||
|
<el-table :data="orderList" v-loading="loading">
|
||||||
|
<el-table-column property="orderCode" label="订单编号" align="center" />
|
||||||
|
<el-table-column property="orderAmount" label="订单消费金额(元)" align="center" />
|
||||||
|
<el-table-column property="settleAmount" label="订单结算金额(元)" align="center" />
|
||||||
|
<el-table-column label="操作" align="center">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-popover placement="top" trigger="hover" width="1150">
|
||||||
|
<!-- 嵌套表格 -->
|
||||||
|
<el-table :data="scope.row.orderSplitList">
|
||||||
|
<el-table-column property="merchantName" label="运营商名称" align="center"
|
||||||
|
width="150" />
|
||||||
|
<el-table-column property="adapayMemberId" label="汇付会员id" align="center"
|
||||||
|
width="150" />
|
||||||
|
<el-table-column property="electricitySplitRatio" label="电费分账比例(%)"
|
||||||
|
align="center" width="130" />
|
||||||
|
<el-table-column property="electricitySplitAmount" label="电费分账金额(元)"
|
||||||
|
align="center" width="140" />
|
||||||
|
<el-table-column property="serviceSplitRatio" label="服务费分账比例(%)" align="center"
|
||||||
|
width="140" />
|
||||||
|
<el-table-column property="serviceSplitAmount" label="服务费分账金额(元)" align="center"
|
||||||
|
width="140" />
|
||||||
|
<el-table-column property="revenueAmount" label="总收入金额(元)" align="center"
|
||||||
|
width="140" />
|
||||||
|
<el-table-column property="feeAmount" label="手续费(元)" align="center"
|
||||||
|
width="120" />
|
||||||
|
</el-table>
|
||||||
|
<span slot="reference" class="link-type"
|
||||||
|
@mouseover="hoverRow = scope.$index">分润明细</span>
|
||||||
|
</el-popover>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<pagination v-show="orderTotal > 0" :total="orderTotal" :page.sync="getOrderParams.pageNo"
|
||||||
|
:limit.sync="getOrderParams.pageSize" @pagination="getOrderList" />
|
||||||
|
</div>
|
||||||
|
</el-tab-pane>
|
||||||
|
<el-tab-pane label="分润汇总">
|
||||||
|
<div class="querySift">
|
||||||
|
<el-form :model="statisticsParams" size="small" :inline="true" label-width="110px"
|
||||||
|
@submit.native.prevent>
|
||||||
|
<el-form-item label="日期范围" style="width: 380px;margin-bottom: 0px;">
|
||||||
|
<el-date-picker v-model="statisticsParams.createTimeRange" style="width: 240px"
|
||||||
|
value-format="yyyy-MM-dd HH:mm:ss" :default-time="['00:00:00', '23:59:59']"
|
||||||
|
type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"
|
||||||
|
:clearable="true" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="选择站点" prop="stationName" label-width="120" style="margin-bottom: 0px;">
|
||||||
|
<el-select v-model="statisticsParams.stationId" filterable clearable placeholder="请选择站点">
|
||||||
|
<el-option v-for="item in stationList" :key="item.stationId" :label="item.stationName"
|
||||||
|
:value="item.stationId" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item style="margin-bottom: 0px;">
|
||||||
|
<el-button type="primary" icon="el-icon-search" size="mini"
|
||||||
|
@click="handleStatistics">搜索</el-button>
|
||||||
|
<el-button icon="el-icon-refresh" size="mini" @click="resetStatistics">重置</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</div>
|
||||||
|
<div class="concentrate">
|
||||||
|
<p class="prompt"
|
||||||
|
v-if="statisticsParams.createTimeRange && statisticsParams.createTimeRange.length >= 2">
|
||||||
|
创建时间 {{ statisticsParams.createTimeRange[0] }} - {{ statisticsParams.createTimeRange[1] }} 期间
|
||||||
|
</p>
|
||||||
|
<p class="prompt" v-else>时间范围:未选择</p>
|
||||||
|
<el-table :data="tableData" border show-summary :summary-method="getSummaries">
|
||||||
|
<el-table-column prop="stationName" label="站点名称" align="center" />
|
||||||
|
<el-table-column prop="orderCount" label="订单数量" align="center" />
|
||||||
|
<el-table-column prop="totalElectricitySplitAmount" label="总电费分账金额(元)" align="center" />
|
||||||
|
<el-table-column prop="totalServiceSplitAmount" label="总服务费分账金额(元)" align="center" />
|
||||||
|
<el-table-column prop="totalFeeAmount" label="总手续费(元)" align="center" />
|
||||||
|
<el-table-column prop="totalRevenueAmount" label="总收入金额(元)" align="center" />
|
||||||
|
</el-table>
|
||||||
|
</div>
|
||||||
|
</el-tab-pane>
|
||||||
|
</el-tabs>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { queryStationList, queryOrderSplitData, queryStationAggregateData } from "@/api/pile/merchant";
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
queryParams: {
|
||||||
|
stationId: null,
|
||||||
|
createTimeRange: this.getDefaultDateRange(),
|
||||||
|
},
|
||||||
|
statisticsParams: {
|
||||||
|
stationId: null,
|
||||||
|
createTimeRange: this.getDefaultDateRange(),
|
||||||
|
},
|
||||||
|
stationList: [],
|
||||||
|
orderList: [],
|
||||||
|
orderTotal: 0,
|
||||||
|
getOrderParams: {
|
||||||
|
pageNo: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
stationId: null,
|
||||||
|
adapayMemberId: this.$route.query.adapayMemberId,
|
||||||
|
startTime: this.getDefaultDateRange()[0],
|
||||||
|
endTime: this.getDefaultDateRange()[1],
|
||||||
|
},
|
||||||
|
loading: false,
|
||||||
|
tableData: [],
|
||||||
|
};
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.getList();
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// 获取当前日期范围
|
||||||
|
getDefaultDateRange() {
|
||||||
|
// 获取当前日期
|
||||||
|
const now = new Date()
|
||||||
|
|
||||||
|
// 当月第一天
|
||||||
|
const start = new Date(now.getFullYear(), now.getMonth(), 1)
|
||||||
|
start.setHours(0, 0, 0, 0)
|
||||||
|
|
||||||
|
// 今天
|
||||||
|
const end = new Date()
|
||||||
|
end.setHours(23, 59, 59, 999)
|
||||||
|
|
||||||
|
// 格式化函数
|
||||||
|
const format = date => {
|
||||||
|
const pad = n => n.toString().padStart(2, '0')
|
||||||
|
return [
|
||||||
|
date.getFullYear(),
|
||||||
|
pad(date.getMonth() + 1),
|
||||||
|
pad(date.getDate())
|
||||||
|
].join('-') + ' ' + [
|
||||||
|
pad(date.getHours()),
|
||||||
|
pad(date.getMinutes()),
|
||||||
|
pad(date.getSeconds())
|
||||||
|
].join(':')
|
||||||
|
}
|
||||||
|
|
||||||
|
return [format(start), format(end)]
|
||||||
|
},
|
||||||
|
// 搜索按钮操作
|
||||||
|
handleQuery() {
|
||||||
|
if (!this.queryParams.createTimeRange) {
|
||||||
|
this.$message.error("请选择日期范围");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (!this.queryParams.stationId) {
|
||||||
|
this.$message.error("请选择站点");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.getOrderParams.pageNo = 1;
|
||||||
|
this.getOrderParams.startTime = this.queryParams.createTimeRange[0];
|
||||||
|
this.getOrderParams.endTime = this.queryParams.createTimeRange[1];
|
||||||
|
console.log("搜索的值", this.queryParams);
|
||||||
|
this.getOrderList();
|
||||||
|
},
|
||||||
|
// 重置按钮操作
|
||||||
|
resetQuery() {
|
||||||
|
this.getList();
|
||||||
|
this.queryParams.createTimeRange = this.getDefaultDateRange();
|
||||||
|
this.getOrderParams = {
|
||||||
|
pageNo: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
stationId: this.queryParams.stationId,
|
||||||
|
adapayMemberId: this.$route.query.adapayMemberId,
|
||||||
|
startTime: this.getDefaultDateRange()[0],
|
||||||
|
endTime: this.getDefaultDateRange()[1],
|
||||||
|
};
|
||||||
|
},
|
||||||
|
// 获取站点列表
|
||||||
|
getList() {
|
||||||
|
let params = {
|
||||||
|
adapayMemberId: this.$route.query.adapayMemberId,
|
||||||
|
};
|
||||||
|
queryStationList(params).then((response) => {
|
||||||
|
this.stationList = response.obj.stationList;
|
||||||
|
this.queryParams.stationId = response.obj.stationList[0].stationId;
|
||||||
|
this.getOrderList();
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 获取订单列表
|
||||||
|
getOrderList() {
|
||||||
|
this.loading = true;
|
||||||
|
this.getOrderParams.stationId = this.queryParams.stationId
|
||||||
|
queryOrderSplitData(this.getOrderParams).then((response) => {
|
||||||
|
this.orderList = response.obj.list;;
|
||||||
|
this.orderTotal = response.obj.total;
|
||||||
|
this.loading = false;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
getSummaries(param) {
|
||||||
|
const { columns, data } = param;
|
||||||
|
const integerFields = ['orderCount', 'quantity']; // 需要显示整数的字段
|
||||||
|
|
||||||
|
return columns.map((col, index) => {
|
||||||
|
if (index === 0) return '总计';
|
||||||
|
|
||||||
|
const total = data.reduce((sum, row) => {
|
||||||
|
const val = Number(row[col.property]) || 0;
|
||||||
|
return sum + val;
|
||||||
|
}, 0);
|
||||||
|
|
||||||
|
return integerFields.includes(col.property)
|
||||||
|
? total.toLocaleString('zh-CN', { maximumFractionDigits: 0 })
|
||||||
|
: total.toLocaleString('zh-CN', { minimumFractionDigits: 2, maximumFractionDigits: 2 });
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 获取统计数据
|
||||||
|
getAggregateData() {
|
||||||
|
let params = {
|
||||||
|
adapayMemberId: this.$route.query.adapayMemberId,
|
||||||
|
startTime: this.statisticsParams.createTimeRange[0],
|
||||||
|
endTime: this.statisticsParams.createTimeRange[1],
|
||||||
|
stationId: this.statisticsParams.stationId,
|
||||||
|
};
|
||||||
|
queryStationAggregateData(params).then((response) => {
|
||||||
|
this.tableData = response.obj;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 搜索统计数据
|
||||||
|
handleStatistics() {
|
||||||
|
if (!this.statisticsParams.createTimeRange) {
|
||||||
|
this.$message.error("请选择日期范围");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.statisticsParams.startTime = this.statisticsParams.createTimeRange[0];
|
||||||
|
this.statisticsParams.endTime = this.statisticsParams.createTimeRange[1];
|
||||||
|
this.statisticsParams.stationId = this.statisticsParams.stationId;
|
||||||
|
this.getAggregateData();
|
||||||
|
},
|
||||||
|
// 重置统计按钮操作
|
||||||
|
resetStatistics() {
|
||||||
|
this.statisticsParams.createTimeRange = this.getDefaultDateRange();
|
||||||
|
this.statisticsParams.stationId = null;
|
||||||
|
this.getAggregateData();
|
||||||
|
},
|
||||||
|
// Tab切换事件
|
||||||
|
handleClick(tab, event) {
|
||||||
|
if (tab.label === "分润订单") {
|
||||||
|
this.resetQuery();
|
||||||
|
} else if (tab.label === "分润汇总") {
|
||||||
|
this.resetStatistics();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.wp {
|
||||||
|
width: 100%;
|
||||||
|
min-height: 100vh;
|
||||||
|
background: #f9fafb;
|
||||||
|
padding: 20px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
p {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.querySift {
|
||||||
|
width: 98%;
|
||||||
|
height: 100px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
border-radius: 8px;
|
||||||
|
background: #FFFFFF;
|
||||||
|
box-shadow: 0px 2px 6px 0px rgba(0, 0, 0, 0.1);
|
||||||
|
margin: 20px auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.concentrate {
|
||||||
|
width: 98%;
|
||||||
|
border-radius: 8px;
|
||||||
|
background: #FFFFFF;
|
||||||
|
box-shadow: 0px 2px 6px 0px rgba(0, 0, 0, 0.1);
|
||||||
|
margin: auto;
|
||||||
|
padding: 24px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
.prompt {
|
||||||
|
margin-bottom: 20px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -1,15 +1,13 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<h1>概况 (自2023-01-01起)</h1>
|
<h1>概况 (自2023-01-01起) </h1>
|
||||||
<hr />
|
<hr />
|
||||||
<div
|
<div style="
|
||||||
style="
|
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
"
|
">
|
||||||
>
|
|
||||||
<div class="box" style="background-color: #ffba00">
|
<div class="box" style="background-color: #ffba00">
|
||||||
<el-image class="box-image" :src="require('@/assets/images/lightning.png')" />
|
<el-image class="box-image" :src="require('@/assets/images/lightning.png')" />
|
||||||
<div class="flex1">
|
<div class="flex1">
|
||||||
@@ -43,23 +41,36 @@
|
|||||||
<hr />
|
<hr />
|
||||||
<el-form :model="queryParams" ref="queryForm" size="small" inline label-width="68px">
|
<el-form :model="queryParams" ref="queryForm" size="small" inline label-width="68px">
|
||||||
<el-form-item label="筛选日期" prop="tradeDate">
|
<el-form-item label="筛选日期" prop="tradeDate">
|
||||||
<el-date-picker
|
<el-date-picker v-model="createTimeRange" style="width: 240px" value-format="yyyy-MM-dd"
|
||||||
v-model="createTimeRange"
|
:default-time="['00:00:00', '23:59:59']" type="daterange" range-separator="-" start-placeholder="开始日期"
|
||||||
style="width: 240px"
|
end-placeholder="结束日期" :clearable="false" @change="init"></el-date-picker>
|
||||||
value-format="yyyy-MM-dd"
|
|
||||||
:default-time="['00:00:00', '23:59:59']"
|
|
||||||
type="daterange"
|
|
||||||
range-separator="-"
|
|
||||||
start-placeholder="开始日期"
|
|
||||||
end-placeholder="结束日期"
|
|
||||||
:clearable="false"
|
|
||||||
@change="init"
|
|
||||||
></el-date-picker>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<!-- <el-button style="background-color: #1ab394; color: #ffffff">最近30天 </el-button> -->
|
<!-- <el-button style="background-color: #1ab394; color: #ffffff">最近30天 </el-button> -->
|
||||||
<div ref="chart" :style="{ width: '100%', height: '500px' }"></div>
|
<div ref="chart" :style="{ width: '100%', height: '500px' }"></div>
|
||||||
<hr />
|
<hr />
|
||||||
|
//通知弹窗
|
||||||
|
<el-dialog :visible.sync="dialogVisible" width="40%" :before-close="handleClose">
|
||||||
|
<div class="notice">
|
||||||
|
<div class="noticeContent">
|
||||||
|
<h3>关于平台充电订单抽成的通知!!!</h3>
|
||||||
|
<p class="optimize">为持续优化平台服务、提升运营效率并为您提供更优质的充电体验,经平台研究决定,自2025年6月1日起,将对所有通过平台完成的充电订单收取订单金额2%的平台服务费。具体说明如下:
|
||||||
|
</p>
|
||||||
|
<div class="adjustment">
|
||||||
|
<h5>调整内容</h5>
|
||||||
|
<p>自<span> 2025-06-01 </span>起</p>
|
||||||
|
<p>平台将按照订单金额2%的比例从订单中扣取费用。(例:若订单金额为100元,平台服务费为2元,实际到账金额为98元。)</p>
|
||||||
|
</div>
|
||||||
|
<div class="adjustment" style="background: #F9FAFB;">
|
||||||
|
<h5>注意事项</h5>
|
||||||
|
<p>2025年6月1日前完成的订单仍按原规则结算。</p>
|
||||||
|
<p>您可通过平台【XXX】实时查询费用变动。</p>
|
||||||
|
<p style="color: #3B82F6;">您可以随时操作提现,但请注意提现金额与抽成账单的关联!</p>
|
||||||
|
</div>
|
||||||
|
<p style="margin-top: 20px;">感谢您一直以来的信任与支持!我们将继续努力为您创造价值,携手共建更便捷的充电服务生态。</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
@@ -88,6 +99,7 @@ export default {
|
|||||||
],
|
],
|
||||||
createTimeRange: [],
|
createTimeRange: [],
|
||||||
queryParams: {},
|
queryParams: {},
|
||||||
|
dialogVisible: true,
|
||||||
};
|
};
|
||||||
}, //图表实例
|
}, //图表实例
|
||||||
created() {
|
created() {
|
||||||
@@ -453,6 +465,10 @@ export default {
|
|||||||
let h = date.getHours();
|
let h = date.getHours();
|
||||||
return `${y}-${m}-${d}`;
|
return `${y}-${m}-${d}`;
|
||||||
},
|
},
|
||||||
|
handleClose(done) {
|
||||||
|
this.dialogVisible = false;
|
||||||
|
done();
|
||||||
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
@@ -501,4 +517,69 @@ export default {
|
|||||||
.box-text {
|
.box-text {
|
||||||
margin-top: 0px;
|
margin-top: 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
::v-deep .el-dialog__header,
|
||||||
|
::v-deep .el-dialog__body {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.notice {
|
||||||
|
width: 100%;
|
||||||
|
height: 700px;
|
||||||
|
background: url("../../assets/images/img.png") no-repeat 0 0;
|
||||||
|
background-size: 100% 100%;
|
||||||
|
|
||||||
|
h3,
|
||||||
|
h5,
|
||||||
|
p {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.noticeContent {
|
||||||
|
padding: 70px 68px 40px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
h3 {
|
||||||
|
font-size: 26px;
|
||||||
|
font-weight: 600;
|
||||||
|
color: #3B82F6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.optimize {
|
||||||
|
margin-top: 60px;
|
||||||
|
font-size: 18px;
|
||||||
|
font-weight: 600;
|
||||||
|
color: #374151;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.adjustment {
|
||||||
|
padding: 16px;
|
||||||
|
border-radius: 8px;
|
||||||
|
background: #EFF6FF;
|
||||||
|
box-sizing: border-box;
|
||||||
|
margin-top: 30px;
|
||||||
|
|
||||||
|
h5 {
|
||||||
|
font-size: 16px;
|
||||||
|
font-weight: 600;
|
||||||
|
color: #374151;
|
||||||
|
}
|
||||||
|
|
||||||
|
p {
|
||||||
|
font-size: 16px;
|
||||||
|
font-weight: normal;
|
||||||
|
color: #374151;
|
||||||
|
margin-top: 10px;
|
||||||
|
|
||||||
|
span {
|
||||||
|
font-weight: 600;
|
||||||
|
color: #2563EB;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -36,7 +36,7 @@
|
|||||||
</el-form>
|
</el-form>
|
||||||
<!-- 底部 -->
|
<!-- 底部 -->
|
||||||
<div class="el-login-footer">
|
<div class="el-login-footer">
|
||||||
<span>Copyright © 2016-{{ year }} Jsowell All Rights Reserved.</span>
|
<span>Copyright © 2016-{{ year }} Jsowell All Rights Reserved. 沪ICP备16035790号-3 </span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
@@ -104,7 +104,7 @@
|
|||||||
<el-card class="box-card" shadow="hover">
|
<el-card class="box-card" shadow="hover">
|
||||||
<div slot="header" class="clearUnbinding">
|
<div slot="header" class="clearUnbinding">
|
||||||
<span>个人桩信息</span>
|
<span>个人桩信息</span>
|
||||||
<p @click="unbinding">解绑</p>
|
<p @click="unbinding(personalPileInfo.memberId)">解绑</p>
|
||||||
</div>
|
</div>
|
||||||
<!-- 表格 -->
|
<!-- 表格 -->
|
||||||
<div style="margin: 10px 0">
|
<div style="margin: 10px 0">
|
||||||
@@ -498,10 +498,11 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 解绑
|
// 解绑
|
||||||
unbinding() {
|
unbinding(memberId) {
|
||||||
console.log('解绑', this.pileDetail.pileSn);
|
console.log('解绑', this.pileDetail.pileSn);
|
||||||
let from = {
|
let from = {
|
||||||
pileSn: this.pileDetail.pileSn
|
pileSn: this.pileDetail.pileSn,
|
||||||
|
memberId: memberId,
|
||||||
}
|
}
|
||||||
// 弹出确认框
|
// 弹出确认框
|
||||||
this.$confirm('确定要解绑该设备吗?此操作不可逆,请谨慎操作。', '提示', {
|
this.$confirm('确定要解绑该设备吗?此操作不可逆,请谨慎操作。', '提示', {
|
||||||
|
|||||||
@@ -275,6 +275,7 @@ export default {
|
|||||||
businessHours: "",
|
businessHours: "",
|
||||||
pictures: "",
|
pictures: "",
|
||||||
deptId: "",
|
deptId: "",
|
||||||
|
aloneApply: "",
|
||||||
},
|
},
|
||||||
stationId: this.$route.params.id,
|
stationId: this.$route.params.id,
|
||||||
publicFlagOptions: [
|
publicFlagOptions: [
|
||||||
|
|||||||
@@ -339,6 +339,9 @@
|
|||||||
<el-tab-pane label="分润配置" name="Config">
|
<el-tab-pane label="分润配置" name="Config">
|
||||||
<Config ref="Config" :stationId="stationId" :merchantId="merchantId"></Config>
|
<Config ref="Config" :stationId="stationId" :merchantId="merchantId"></Config>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
|
<el-tab-pane label="引流抽成" name="drainage">
|
||||||
|
<drainage ref="drainage" :stationId="stationId"></drainage>
|
||||||
|
</el-tab-pane>
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
|
|
||||||
<el-dialog :title="dialogTitle" :visible.sync="dialogFormVisible">
|
<el-dialog :title="dialogTitle" :visible.sync="dialogFormVisible">
|
||||||
@@ -380,6 +383,7 @@ import {
|
|||||||
import Whitelist from "@/views/pile/station/stationWhiteList";
|
import Whitelist from "@/views/pile/station/stationWhiteList";
|
||||||
import OrderReport from "./orderReport.vue";
|
import OrderReport from "./orderReport.vue";
|
||||||
import Config from "@/views/pile/station/splitConfig.vue";
|
import Config from "@/views/pile/station/splitConfig.vue";
|
||||||
|
import drainage from "@/views/pile/station/drainageRake.vue";
|
||||||
import {formatTime, formatTimeStr} from "@/utils";
|
import {formatTime, formatTimeStr} from "@/utils";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@@ -396,6 +400,7 @@ export default {
|
|||||||
stationWhiteList,
|
stationWhiteList,
|
||||||
OrderReport,
|
OrderReport,
|
||||||
Config,
|
Config,
|
||||||
|
drainage
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
|||||||
104
jsowell-ui/src/views/pile/station/drainageRake.vue
Normal file
104
jsowell-ui/src/views/pile/station/drainageRake.vue
Normal file
@@ -0,0 +1,104 @@
|
|||||||
|
<template>
|
||||||
|
<div class="container">
|
||||||
|
<div class="querySift">
|
||||||
|
<el-form :model="queryParams" size="small" :inline="true" label-width="110px" @submit.native.prevent>
|
||||||
|
<el-form-item label="日期范围" style="width: 380px;margin-bottom: 0px;">
|
||||||
|
<el-date-picker v-model="queryParams.createTimeRange" style="width: 240px"
|
||||||
|
value-format="yyyy-MM-dd HH:mm:ss" :default-time="['00:00:00', '23:59:59']" type="daterange"
|
||||||
|
range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" :clearable="true" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="订单流水号" prop="stationName" label-width="120" style="margin-bottom: 0px;">
|
||||||
|
<el-input v-model="queryParams.orderNo" placeholder="请输入订单流水号" clearable />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="订单编号" prop="memberId">
|
||||||
|
<el-input v-model="queryParams.orderId" placeholder="请输入订单编号" clearable />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item style="margin-bottom: 0px;">
|
||||||
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||||
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</div>
|
||||||
|
<div class="concentrate" style="margin-top: 20px;">
|
||||||
|
<h3 style="margin-top: 0px;">引流抽成支出列表</h3>
|
||||||
|
<el-table :data="list" v-loading="loading">
|
||||||
|
<el-table-column property="orderCode" label="订单编号" align="center" />
|
||||||
|
<el-table-column property="" label="订单流水号" align="center" />
|
||||||
|
<el-table-column property="" label="引流支付总额(元)" align="center" />
|
||||||
|
<el-table-column property="" label="电费抽成金额(元)" align="center" />
|
||||||
|
<el-table-column property="" label="服务费抽成金额(元)" align="center" />
|
||||||
|
<el-table-column property="流水时间" label="" align="center" />
|
||||||
|
</el-table>
|
||||||
|
<pagination v-show="total > 0" :total="total" :page.sync="pageParams.pageNo"
|
||||||
|
:limit.sync="pageParams.pageSize" @pagination="getList" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
props: {
|
||||||
|
stationId: {
|
||||||
|
type: String,
|
||||||
|
required: true,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
queryParams: {
|
||||||
|
createTimeRange: [],
|
||||||
|
orderNo: '',
|
||||||
|
orderId: '',
|
||||||
|
},
|
||||||
|
list: [],
|
||||||
|
total: 0,
|
||||||
|
loading: false,
|
||||||
|
pageParams: {
|
||||||
|
pageNo: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// 查询
|
||||||
|
handleQuery() {
|
||||||
|
this.pageParams.pageNo = 1;
|
||||||
|
this.getList();
|
||||||
|
},
|
||||||
|
// 重置查询条件
|
||||||
|
resetQuery() {
|
||||||
|
this.queryParams.createTimeRange = [];
|
||||||
|
this.queryParams.orderNo = '';
|
||||||
|
this.queryParams.orderId = '';
|
||||||
|
this.getList();
|
||||||
|
},
|
||||||
|
// 获取列表数据
|
||||||
|
getList() {
|
||||||
|
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.querySift {
|
||||||
|
width: 98%;
|
||||||
|
height: 100px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
border-radius: 8px;
|
||||||
|
background: #FFFFFF;
|
||||||
|
box-shadow: 0px 2px 6px 0px rgba(0, 0, 0, 0.1);
|
||||||
|
margin: 20px auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.concentrate {
|
||||||
|
width: 98%;
|
||||||
|
border-radius: 8px;
|
||||||
|
background: #FFFFFF;
|
||||||
|
box-shadow: 0px 2px 6px 0px rgba(0, 0, 0, 0.1);
|
||||||
|
margin: auto;
|
||||||
|
padding: 24px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@@ -74,17 +74,8 @@
|
|||||||
/>
|
/>
|
||||||
</el-form-item> -->
|
</el-form-item> -->
|
||||||
<el-form-item label="交易日期" prop="tradeDate">
|
<el-form-item label="交易日期" prop="tradeDate">
|
||||||
<el-date-picker
|
<el-date-picker v-model="value" style="width: 240px" value-format="yyyy-MM-dd" type="daterange"
|
||||||
v-model="value"
|
range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" :clearable=false></el-date-picker>
|
||||||
style="width: 240px"
|
|
||||||
value-format="yyyy-MM-dd HH:mm:ss"
|
|
||||||
:default-time="['00:00:00', '23:59:59']"
|
|
||||||
type="daterange"
|
|
||||||
range-separator="至"
|
|
||||||
start-placeholder="开始日期"
|
|
||||||
end-placeholder="结束日期"
|
|
||||||
:clearable=false
|
|
||||||
></el-date-picker>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- <el-form-item label="交易金额" prop="tradeAmount">
|
<!-- <el-form-item label="交易金额" prop="tradeAmount">
|
||||||
<el-input
|
<el-input
|
||||||
@@ -157,7 +148,7 @@
|
|||||||
<el-table v-loading="loading" :data="reportList" @selection-change="handleSelectionChange">
|
<el-table v-loading="loading" :data="reportList" @selection-change="handleSelectionChange">
|
||||||
<el-table-column type="selection" width="55" align="center" />
|
<el-table-column type="selection" width="55" align="center" />
|
||||||
<!-- <el-table-column label="主键" align="center" prop="id" /> -->
|
<!-- <el-table-column label="主键" align="center" prop="id" /> -->
|
||||||
<!-- <el-table-column label="运营商id" align="center" prop="merchantId" />-->
|
<!-- <el-table-column label="运营商id" align="center" prop="merchantId" />-->
|
||||||
<!-- <el-table-column label="站点id" align="center" prop="stationId" /> -->
|
<!-- <el-table-column label="站点id" align="center" prop="stationId" /> -->
|
||||||
<el-table-column label="交易日期" align="center" prop="tradeDate" />
|
<el-table-column label="交易日期" align="center" prop="tradeDate" />
|
||||||
<el-table-column label="用电度数" align="center" prop="useElectricity" />
|
<el-table-column label="用电度数" align="center" prop="useElectricity" />
|
||||||
@@ -169,7 +160,7 @@
|
|||||||
<el-table-column label="虚拟金额" align="center" prop="virtualAmount" />
|
<el-table-column label="虚拟金额" align="center" prop="virtualAmount" />
|
||||||
<el-table-column label="交易金额" align="center" prop="tradeAmount" />
|
<el-table-column label="交易金额" align="center" prop="tradeAmount" />
|
||||||
<el-table-column label="交易手续费" align="center" prop="tradeFee" />
|
<el-table-column label="交易手续费" align="center" prop="tradeFee" />
|
||||||
<!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
<!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button
|
<el-button
|
||||||
size="mini"
|
size="mini"
|
||||||
@@ -186,16 +177,11 @@
|
|||||||
v-hasPermi="['pile:report:remove']"
|
v-hasPermi="['pile:report:remove']"
|
||||||
>删除</el-button>
|
>删除</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>-->
|
</el-table-column>-->
|
||||||
</el-table>
|
</el-table>
|
||||||
|
|
||||||
<pagination
|
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
|
||||||
v-show="total>0"
|
@pagination="getList" />
|
||||||
:total="total"
|
|
||||||
:page.sync="queryParams.pageNum"
|
|
||||||
:limit.sync="queryParams.pageSize"
|
|
||||||
@pagination="getList"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<!-- 添加或修改结算订单报对话框 -->
|
<!-- 添加或修改结算订单报对话框 -->
|
||||||
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
||||||
@@ -255,7 +241,7 @@ export default {
|
|||||||
name: "Report",
|
name: "Report",
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
value:'',
|
value: '',
|
||||||
// 遮罩层
|
// 遮罩层
|
||||||
loading: true,
|
loading: true,
|
||||||
// 选中数组
|
// 选中数组
|
||||||
@@ -290,7 +276,7 @@ export default {
|
|||||||
tradeDate: null,
|
tradeDate: null,
|
||||||
tradeAmount: null,
|
tradeAmount: null,
|
||||||
tradeFee: null,
|
tradeFee: null,
|
||||||
|
|
||||||
},
|
},
|
||||||
// 表单参数
|
// 表单参数
|
||||||
form: {},
|
form: {},
|
||||||
@@ -306,9 +292,10 @@ export default {
|
|||||||
/** 查询结算订单报列表 */
|
/** 查询结算订单报列表 */
|
||||||
getList() {
|
getList() {
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
this.queryParams.stationId = this.$route.params.id
|
this.queryParams.stationId = this.$route.params.id;
|
||||||
|
|
||||||
listReport(this.queryParams).then(response => {
|
listReport(this.queryParams).then(response => {
|
||||||
console.log('查询订单日报',response)
|
console.log('查询订单日报', response)
|
||||||
this.reportList = response.rows;
|
this.reportList = response.rows;
|
||||||
this.total = response.total;
|
this.total = response.total;
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
@@ -343,8 +330,15 @@ export default {
|
|||||||
},
|
},
|
||||||
/** 搜索按钮操作 */
|
/** 搜索按钮操作 */
|
||||||
handleQuery() {
|
handleQuery() {
|
||||||
console.log('this.value 日期',this.value)
|
console.log('this.value 日期', this.value)
|
||||||
this.queryParams.pageNum = 1;
|
this.queryParams.pageNum = 1;
|
||||||
|
if (this.value != null) {
|
||||||
|
this.queryParams.startTime = this.value[0];
|
||||||
|
this.queryParams.endTime = this.value[1];
|
||||||
|
} else {
|
||||||
|
this.queryParams.startTime = null;
|
||||||
|
this.queryParams.endTime = null;
|
||||||
|
}
|
||||||
this.getList();
|
this.getList();
|
||||||
},
|
},
|
||||||
/** 重置按钮操作 */
|
/** 重置按钮操作 */
|
||||||
@@ -356,7 +350,7 @@ export default {
|
|||||||
// 多选框选中数据
|
// 多选框选中数据
|
||||||
handleSelectionChange(selection) {
|
handleSelectionChange(selection) {
|
||||||
this.ids = selection.map(item => item.id)
|
this.ids = selection.map(item => item.id)
|
||||||
this.single = selection.length!==1
|
this.single = selection.length !== 1
|
||||||
this.multiple = !selection.length
|
this.multiple = !selection.length
|
||||||
},
|
},
|
||||||
/** 新增按钮操作 */
|
/** 新增按钮操作 */
|
||||||
@@ -398,12 +392,12 @@ export default {
|
|||||||
/** 删除按钮操作 */
|
/** 删除按钮操作 */
|
||||||
handleDelete(row) {
|
handleDelete(row) {
|
||||||
const ids = row.id || this.ids;
|
const ids = row.id || this.ids;
|
||||||
this.$modal.confirm('是否确认删除结算订单报编号为"' + ids + '"的数据项?').then(function() {
|
this.$modal.confirm('是否确认删除结算订单报编号为"' + ids + '"的数据项?').then(function () {
|
||||||
return delReport(ids);
|
return delReport(ids);
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
this.getList();
|
this.getList();
|
||||||
this.$modal.msgSuccess("删除成功");
|
this.$modal.msgSuccess("删除成功");
|
||||||
}).catch(() => {});
|
}).catch(() => { });
|
||||||
},
|
},
|
||||||
/** 导出按钮操作 */
|
/** 导出按钮操作 */
|
||||||
handleExport() {
|
handleExport() {
|
||||||
|
|||||||
Reference in New Issue
Block a user