1.定位日志

This commit is contained in:
邱贞招 2024-09-12 16:30:33 +08:00
parent 2700e12e44
commit fd165faf6a
20 changed files with 628 additions and 114 deletions

View File

@ -87,7 +87,7 @@ export function optionselect() {
})
}
// 根据运营商id获取运营商列表
// 根据代理商id获取代理商列表
export function selectAreaListByDeptId(deptId) {
return request({
url: '/system/area/selectAreaListByDeptId/'+deptId,
@ -95,14 +95,14 @@ export function selectAreaListByDeptId(deptId) {
})
}
// 根据运营区id获取运营
// 根据运营区id获取代理
export function selectDeptByAreaId(areaId) {
return request({
url: '/system/area/selectDeptByAreaId/'+areaId,
method: 'get'
})
}
// 根据运营区id获取运营
// 根据运营区id获取代理
export function getleaderboard(type,timeLimit) {
return request({
url: '/index/admim/leaderboard?type='+type+'&timeLimit='+timeLimit,

View File

@ -66,7 +66,7 @@ export function getBalance(){
method: 'get'
})
}
// 查询运营商信息
// 查询代理商信息
export function getDeptByToken(deptId){
return request({
url: '/system/dept/getDept',

View File

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询定位日志列表
export function listLocationLog(query) {
return request({
url: '/system/locationLog/list',
method: 'get',
params: query
})
}
// 查询定位日志详细
export function getLocationLog(locationId) {
return request({
url: '/system/locationLog/' + locationId,
method: 'get'
})
}
// 新增定位日志
export function addLocationLog(data) {
return request({
url: '/system/locationLog',
method: 'post',
data: data
})
}
// 修改定位日志
export function updateLocationLog(data) {
return request({
url: '/system/locationLog',
method: 'put',
data: data
})
}
// 删除定位日志
export function delLocationLog(locationId) {
return request({
url: '/system/locationLog/' + locationId,
method: 'delete'
})
}

View File

@ -200,7 +200,7 @@ export const dynamicRoutes = [
path: 'index/:owner',
component: () => import('@/views/system/dept'),
name: 'Data',
meta: { title: '运营商列表', activeMenu: '/system/dept' }
meta: { title: '代理商列表', activeMenu: '/system/dept' }
}
]
},
@ -330,6 +330,20 @@ export const dynamicRoutes = [
}
]
},
{
path: '/system/locationLog',
component: Layout,
hidden: true,
permissions: ['system:locationLog:query'],
children: [
{
path: 'index/:mac',
component: () => import('@/views/system/locationLog'),
name: 'Data',
meta: { title: '定位日志', activeMenu: '/system/locationLog' }
}
]
},
{
path: '/tool/gen-edit',
component: Layout,

View File

@ -3,7 +3,7 @@
<div class="left">
<div class="info_li">
<div class="card1">
<div class="txt">运营商数</div>
<div class="txt">代理商数</div>
<div class="num">{{ StatisticsInfo.operatorCount }}</div>
<div class="txt1">独立小程序{{ StatisticsInfo.appCount }}</div>
<img
@ -368,7 +368,7 @@
</div>
<div class="li" v-for="(item, index) in leaderboardList" :key="index">
<div class="li_txt" style="width: 34%;justify-content: flex-start;">
<div class="paim" >
{{ index + 1 }}
</div>

View File

@ -25,19 +25,19 @@
<el-row>
<el-col :span="12">
<el-form-item
label="运营商"
label="代理商"
prop="deptId"
v-if="userName == 'admin'"
data-tip="这是运营商选择框"
data-tip="这是代理商选择框"
>
<treeselect
v-model="form.deptId"
:options="deptOptions"
:show-count="true"
placeholder="请选择运营商"
placeholder="请选择代理商"
/>
</el-form-item>
<!-- <div class="text" style="color:red;">运营商没设置收费方式将无法保存数据请返回运营管理设置收费方式</div> -->
<!-- <div class="text" style="color:red;">代理商没设置收费方式将无法保存数据请返回运营管理设置收费方式</div> -->
</el-col>
<el-col :span="12">
<el-form-item
@ -616,7 +616,7 @@ export default {
{ required: true, message: "最低电量不能为空", trigger: "blur" },
],
deptId: [
{ required: true, message: "运营商不能为空", trigger: "blur" },
{ required: true, message: "代理商不能为空", trigger: "blur" },
],
// ruleIds: [{ required: true, message: "", trigger: "blur" }],
deposit: [
@ -627,7 +627,7 @@ export default {
},
watch: {
'form.deptId'(newValue, oldValue) {
console.log('运营商ID变化了:', newValue);
console.log('代理商ID变化了:', newValue);
// this.changedept()
//
}

View File

@ -1,8 +1,8 @@
<template>
<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="deptId" v-if="userName == 'admin'">
<el-select v-model="queryParams.deptId" filterable placeholder="选择运营商" clearable>
<el-form-item label="代理商" prop="deptId" v-if="userName == 'admin'">
<el-select v-model="queryParams.deptId" filterable placeholder="选择代理商" clearable>
<el-option
v-for="item in deptOptions"
:key="item.deptId"
@ -54,7 +54,7 @@
<el-table v-loading="loading" :data="areaList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="运营区域" align="center" prop="areaName" />
<el-table-column label="运营商" align="center" prop="deptName" />
<el-table-column label="代理商" align="center" prop="deptName" />
<el-table-column label="车数量" align="center" prop="deviceNum" />
<el-table-column label="运营区域" align="center" :show-overflow-tooltip="true">
<template slot-scope="scope">
@ -173,8 +173,8 @@
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-row>
<el-col :span="12" v-if="userName == 'admin'">
<el-form-item label="运营商" prop="deptId">
<treeselect v-model="form.deptId" :options="deptOptions" :show-count="true" placeholder="请选择运营商" />
<el-form-item label="代理商" prop="deptId">
<treeselect v-model="form.deptId" :options="deptOptions" :show-count="true" placeholder="请选择代理商" />
</el-form-item>
</el-col>
<el-col :span="12">
@ -482,7 +482,7 @@ export default {
//
areaList: [],
userName: null,
//
//
deptOptions: undefined,
//
title: "",
@ -513,7 +513,7 @@ export default {
// contact: [{ required: true, message: "", trigger: "blur" }],
// phone: [{ required: true, message: "", trigger: "blur" }],
autoReplacementOrder: [{ required: true, message: "最低电量不能为空", trigger: "blur" }],
deptId: [{ required: true, message: "运营商不能为空", trigger: "blur" }],
deptId: [{ required: true, message: "代理商不能为空", trigger: "blur" }],
},
};
},
@ -557,7 +557,7 @@ export default {
console.log(console.log(this.form.provinceList, ' this.form.provinceList'))
})
},
/** 查询运营商下拉树结构 */
/** 查询代理商下拉树结构 */
getDeptTree() {
deptTreeSelect().then(response => {
this.deptOptions = response.data;

View File

@ -1,8 +1,8 @@
<template>
<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="deptId" v-if="userName == 'admin'">
<el-select v-model="queryParams.deptId" filterable placeholder="请选择运营商" clearable>
<el-form-item label="代理商" prop="deptId" v-if="userName == 'admin'">
<el-select v-model="queryParams.deptId" filterable placeholder="请选择代理商" clearable>
<el-option
v-for="item in deptOptions"
:key="item.deptId"
@ -76,7 +76,7 @@
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="文章id" align="center" prop="articleId" />
<el-table-column label="分类" align="center" key="classifyName" prop="classify.classifyName" :show-overflow-tooltip="true" />
<el-table-column label="运营商" align="center" prop="deptName" />
<el-table-column label="代理商" align="center" prop="deptName" />
<el-table-column label="运营区" align="center" prop="areaName" />
<!-- <el-table-column label="分类" align="center" prop="classifyName">-->
<!-- <template slot-scope="scope">-->

View File

@ -67,7 +67,7 @@
:tree-props="{children: 'children', hasChildren: 'hasChildren'}"
>
<el-table-column prop="classifyName" label="分类名称" width="260"></el-table-column>
<el-table-column prop="deptName" label="运营商" width="260" v-if="userName == 'admin'"></el-table-column>
<el-table-column prop="deptName" label="代理商" width="260" v-if="userName == 'admin'"></el-table-column>
<el-table-column prop="orderNum" label="排序" width="200"></el-table-column>
<el-table-column prop="status" label="状态" width="100">
<template slot-scope="scope">

View File

@ -1,10 +1,10 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
<el-form-item label="运营商名称" prop="deptName">
<el-form-item label="代理商名称" prop="deptName">
<el-input
v-model="queryParams.deptName"
placeholder="请输入运营商名称"
placeholder="请输入代理商名称"
clearable
@keyup.enter.native="handleQuery"
/>
@ -26,7 +26,7 @@
/>
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="运营商状态" clearable>
<el-select v-model="queryParams.status" placeholder="代理商状态" clearable>
<el-option
v-for="dict in dict.type.sys_normal_disable"
:key="dict.value"
@ -72,7 +72,7 @@
:default-expand-all="isExpandAll"
:tree-props="{children: 'children', hasChildren: 'hasChildren'}"
:default-sort="defaultSort" @sort-change="handleSortChange">
<el-table-column prop="deptName" label="运营商名称" width="180" sortable="custom" :sort-orders="['descending', 'ascending']"></el-table-column>
<el-table-column prop="deptName" label="代理商名称" width="180" sortable="custom" :sort-orders="['descending', 'ascending']"></el-table-column>
<el-table-column prop="areaName" label="名下运营区" align="center" ></el-table-column>
<el-table-column prop="phone" label="联系电话" align="center" ></el-table-column>
<el-table-column prop="appName" label="小程序" align="center" ></el-table-column>
@ -147,13 +147,13 @@
<pagination :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
@pagination="getList" />
<!-- 添加或修改运营商对话框 -->
<!-- 添加或修改代理商对话框 -->
<el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-row>
<el-col :span="12">
<el-form-item label="运营商名称" prop="deptName">
<el-input v-model="form.deptName" placeholder="请输入运营商名称" />
<el-form-item label="代理商名称" prop="deptName">
<el-input v-model="form.deptName" placeholder="请输入代理商名称" />
</el-form-item>
</el-col>
<!-- <el-col :span="12">-->
@ -466,7 +466,7 @@ export default {
// appUserId: null,
//
total: 0,
//
//
deptOptions: [],
balance: null,
options: [],
@ -505,10 +505,10 @@ export default {
//
rules: {
parentId: [
{ required: true, message: "上级运营商不能为空", trigger: "blur" }
{ required: true, message: "上级代理商不能为空", trigger: "blur" }
],
deptName: [
{ required: true, message: "运营商名称不能为空", trigger: "blur" }
{ required: true, message: "代理商名称不能为空", trigger: "blur" }
],
handlingChargeType: [
{ required: true, message: "手续费类型不能为空", trigger: "blur" }
@ -626,7 +626,7 @@ export default {
this.options = []
}
},
/** 查询运营商列表 */
/** 查询代理商列表 */
getList() {
this.loading = true;
listDept2(this.queryParams).then(response => {
@ -635,7 +635,7 @@ export default {
this.loading = false;
});
},
/** 转换运营商数据结构 */
/** 转换代理商数据结构 */
normalizer(node) {
if (node.children && !node.children.length) {
delete node.children;
@ -700,7 +700,7 @@ export default {
handleAdd(row) {
this.reset();
this.open = true;
this.title = "添加运营商";
this.title = "添加代理商";
listDept2({status: '0',pageNum:1,pageSize:999 }).then(response => {
// console.log("response=============",response)
this.deptOptions = response.data;
@ -725,7 +725,7 @@ export default {
this.form = response.data;
this.$set(this.form, "areaIds", response.areaIds);
this.open = true;
this.title = "修改运营商";
this.title = "修改代理商";
// this.form.isProfitSharing = this.form.isProfitSharing === 'true';
this.form.isUsePlatformApp = this.form.isUsePlatformApp === 'true';
console.log("userName==========="+response.data.userName)

View File

@ -8,11 +8,11 @@
v-show="showSearch"
label-width="68px"
>
<el-form-item label="运营商" prop="deptId" v-if="userName == 'admin'">
<el-form-item label="代理商" prop="deptId" v-if="userName == 'admin'">
<el-select
v-model="queryParams.deptId"
filterable
placeholder="选择运营商"
placeholder="选择代理商"
style="width: 120px"
clearable
>
@ -269,7 +269,7 @@
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column
label="运营商"
label="代理商"
align="center"
prop="deptName"
v-if="userName == 'admin' && columns[0].visible"
@ -416,6 +416,20 @@
/>
</template>
</el-table-column>
<!-- <el-table-column-->
<!-- label="上报状态"-->
<!-- align="center"-->
<!-- prop="status2"-->
<!-- width="60"-->
<!-- v-if="columns[16].visible"-->
<!-- >-->
<!-- <template slot-scope="scope">-->
<!-- <dict-tag-->
<!-- :options="dict.type.et_device_report_status"-->
<!-- :value="scope.row.status2"-->
<!-- />-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="二维码" align="center" v-if="columns[16].visible">
<template slot-scope="d">
<el-popover placement="top" width="180" trigger="hover">
@ -521,6 +535,14 @@
v-hasPermi="['system:device:log']"
>日志</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-document"
@click="toLocationLog(scope.row)"
v-hasPermi="['system:device:log']"
>定位日志</el-button
>
<el-button
size="mini"
type="text"
@ -589,11 +611,11 @@
</el-form-item>
</el-col>
<el-col :span="8" v-if="userName == 'admin'">
<el-form-item label="运营商" prop="operator">
<el-form-item label="代理商" prop="operator">
<el-select
v-model="form.deptId"
clearable
placeholder="请选择运营商"
placeholder="请选择代理商"
>
<el-option
v-for="item in deptOptions"
@ -911,7 +933,7 @@ import "@riophae/vue-treeselect/dist/vue-treeselect.css";
export default {
name: "Device",
dicts: ["as_online_status", "as_device_status", "et_device_lock_status"],
dicts: ["as_online_status", "as_device_status", "et_device_lock_status","et_device_report_status"],
components: {
Map,
OrderRecord,
@ -989,7 +1011,7 @@ export default {
},
//
columns: [
{ key: 0, label: `运营`, visible: true },
{ key: 0, label: `代理`, visible: true },
{ key: 1, label: `运营区`, visible: true },
{ key: 2, label: `MAC`, visible: true },
{ key: 3, label: `SN`, visible: true },
@ -1182,7 +1204,7 @@ export default {
this.reset2();
}
},
/** 当选择运营商时 根据运营商id获取运营区和型号 */
/** 当选择代理商时 根据代理商id获取运营区和型号 */
fetchData2(deptId) {
if (deptId) {
this.isUpdating = true; //
@ -1206,7 +1228,7 @@ export default {
// this.form.modelId = null;
}
},
/** 当选择运营区时 根据运营区id获取运营商和型号 */
/** 当选择运营区时 根据运营区id获取代理商和型号 */
fetchData3(areaId) {
if (areaId) {
this.isUpdating = true; //
@ -1613,6 +1635,9 @@ export default {
toLog(row) {
this.$router.push(`/system/commandLog/index/${row.sn}`);
},
toLocationLog(row) {
this.$router.push(`/system/locationLog/index/${row.mac}`);
},
ring(row) {
this.reset();
const deviceId = row.deviceId || this.ids;

View File

@ -2,8 +2,8 @@
<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="deptId" v-if="userName == 'admin'">
<el-select v-model="queryParams.deptId" filterable placeholder="请选择运营商" clearable>
<el-form-item label="代理商" prop="deptId" v-if="userName == 'admin'">
<el-select v-model="queryParams.deptId" filterable placeholder="请选择代理商" clearable>
<el-option
v-for="item in deptOptions"
:key="item.deptId"
@ -51,7 +51,7 @@
<el-table v-loading="loading" :data="feeList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="id" align="center" prop="ruleId" />
<el-table-column label="运营商" align="center" prop="deptName" v-if="userName == 'admin'"/>
<el-table-column label="代理商" align="center" prop="deptName" v-if="userName == 'admin'"/>
<!-- <el-table-column label="应用运营区" align="center" prop="areaName"/>-->
<el-table-column label="套餐名称" align="center" prop="name" />
<el-table-column label="说明" :show-overflow-tooltip="true" align="center" prop="instructions" />
@ -93,7 +93,7 @@
</el-form-item>
<el-row>
<el-col :span="12" v-if="userName == 'admin'">
<el-form-item label="运营商" prop="deptId" >
<el-form-item label="代理商" prop="deptId" >
<el-select v-model="form.deptId" placeholder="请选择运营区">
<el-option
v-for="item in deptOptions"
@ -451,7 +451,7 @@ export default {
{ required: true, message: '请输入区间收费', trigger: 'blur' },
],
deptId: [
{ required: true, message: '请选择运营商', trigger: 'change' },
{ required: true, message: '请选择代理商', trigger: 'change' },
]
// startingTime: [
// { required: true, message: '', trigger: 'blur' },
@ -485,7 +485,7 @@ export default {
console.log('---------------deptId:', deptId)
if(deptId){
selectAreaListByDeptId(deptId).then(response => {
console.log("根据运营商id获取运营区和型号=========",response.data)
console.log("根据代理商id获取运营区和型号=========",response.data)
this.areaOptions = response.data.areaList;
let areaOptions = response.data.areaList;
if(this.form.areaId != null){

View File

@ -132,7 +132,7 @@
<!-- <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="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">-->
@ -193,11 +193,11 @@
<el-form-item label="支付手续费" prop="handlingCharge">
<el-input v-model="form.handlingCharge" placeholder="请输入支付手续费" />
</el-form-item>
<el-form-item label="运营商分账" prop="operatorDividend">
<el-input v-model="form.operatorDividend" placeholder="请输入运营商分账" />
<el-form-item label="代理商分账" prop="operatorDividend">
<el-input v-model="form.operatorDividend" placeholder="请输入代理商分账" />
</el-form-item>
<el-form-item label="运营商结余" prop="operatorBalance">
<el-input v-model="form.operatorBalance" placeholder="请输入运营商结余" />
<el-form-item label="代理商结余" prop="operatorBalance">
<el-input v-model="form.operatorBalance" placeholder="请输入代理商结余" />
</el-form-item>
<el-form-item label="合伙人分账" prop="partnerDividend">
<el-input v-model="form.partnerDividend" placeholder="请输入合伙人分账" />

View File

@ -0,0 +1,379 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="mac" prop="mac">
<el-input
v-model="queryParams.mac"
placeholder="请输入mac"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<!-- <el-form-item label="车辆状态" prop="status">-->
<!-- <el-select v-model="queryParams.status" placeholder="请选择车辆状态" clearable>-->
<!-- <el-option-->
<!-- v-for="dict in dict.type.as_device_status"-->
<!-- :key="dict.value"-->
<!-- :label="dict.label"-->
<!-- :value="dict.value"-->
<!-- />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- <el-form-item label="锁状态" prop="lockStatus">-->
<!-- <el-select v-model="queryParams.lockStatus" placeholder="请选择锁状态" clearable>-->
<!-- <el-option-->
<!-- v-for="dict in dict.type.et_device_lock_status"-->
<!-- :key="dict.value"-->
<!-- :label="dict.label"-->
<!-- :value="dict.value"-->
<!-- />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item>
<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>
<!-- <el-row :gutter="10" class="mb8">-->
<!-- <el-col :span="1.5">-->
<!-- <el-button-->
<!-- type="warning"-->
<!-- plain-->
<!-- icon="el-icon-download"-->
<!-- size="mini"-->
<!-- @click="handleExport"-->
<!-- v-hasPermi="['system:locationLog:export']"-->
<!-- >导出</el-button>-->
<!-- </el-col>-->
<!-- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>-->
<!-- </el-row>-->
<el-table v-loading="loading" :data="locationLogList" :default-sort="defaultSort" @sort-change="handleSortChange" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="定位id" align="center" prop="locationId" />
<el-table-column label="mac" align="center" prop="mac" />
<!-- <el-table-column label="onenet接收到的消息" align="center" prop="onenetMsg" />-->
<!-- <el-table-column label="经度" align="center" prop="longitude" />-->
<!-- <el-table-column label="纬度" align="center" prop="latitude" />-->
<el-table-column label="位置" align="center">
<template slot-scope="scope">
<a
:href="`https://uri.amap.com/marker?position=${scope.row.longitude},${scope.row.latitude}`"
target="_blank"
class="link-type">
{{ scope.row.longitude }}, {{ scope.row.latitude }}
</a>
</template>
</el-table-column>
<el-table-column label="onenet消息时间" align="center" prop="at" width="180" sortable="custom" :sort-orders="['descending', 'ascending']">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.at, '{y}-{m}-{d} {h}:{i}:{s}' ) }}</span>
</template>
</el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime" width="180" sortable="custom" :sort-orders="['descending', 'ascending']">
<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="status2">
<template slot-scope="scope">
<span>{{ formatStatus(scope.row.status2) }}</span>
</template>
</el-table-column>
<el-table-column label="电池电压" align="center" prop="bat">
<template slot-scope="scope">
<span>{{ formatVoltage(scope.row.bat) }}</span>
</template>
</el-table-column>
<el-table-column label="信号强度" align="center" prop="csq">
<template slot-scope="scope">
<span>{{ scope.row.csq }}</span>
</template>
</el-table-column>
<el-table-column label="卫星数量" align="center" prop="s">
<template slot-scope="scope">
<span>{{ scope.row.s }}</span>
</template>
</el-table-column>
<el-table-column label="钥匙状态" align="center" prop="q">
<template slot-scope="scope">
<span>{{ scope.row.q }}</span>
</template>
</el-table-column>
<!-- <el-table-column label="车辆状态" align="center" prop="status" >-->
<!-- <template slot-scope="scope">-->
<!-- <dict-tag-->
<!-- :options="dict.type.as_device_status"-->
<!-- :value="scope.row.status"-->
<!-- />-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="锁状态" align="center" prop="lockStatus" >-->
<!-- <template slot-scope="scope">-->
<!-- <dict-tag-->
<!-- :options="dict.type.et_device_lock_status"-->
<!-- :value="scope.row.lockStatus"-->
<!-- />-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-view"
@click="handleView(scope.row,scope.index)"
v-hasPermi="['system:locationLog:query']"
>详细</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改定位日志对话框 -->
<el-dialog title="命令日志详细" :visible.sync="open" width="800px" append-to-body>
<el-form ref="form" :model="form" label-width="100px">
<el-col :span="12">
<el-form-item label="MAC">{{ form.mac }}</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="SN">{{ form.sn }}</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="经度">{{ form.longitude }}</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="纬度">{{ form.latitude }}</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="消息">{{ form.onenetMsg }}</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="消息时间">{{ form.at }}</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="创建时间">{{ form.createTime }}</el-form-item>
</el-col>
<!-- 新增字段展示 -->
<el-col :span="12">
<el-form-item label="电动车状态">{{ formatStatus(form.status2) }}</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="电池电压">{{ formatVoltage(form.bat) }}</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="信号强度">{{ form.csq }}</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="卫星数量">{{ form.s }}</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="钥匙状态">{{ form.q }}</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="车辆状态">
<dict-tag :options="dict.type.as_device_status" :value="form.status"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="锁状态">
<dict-tag :options="dict.type.et_device_lock_status" :value="form.lockStatus"/>
</el-form-item>
</el-col>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="open = false"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listLocationLog, getLocationLog, delLocationLog, addLocationLog, updateLocationLog } from "@/api/system/locationLog";
export default {
name: "LocationLog",
dicts: ["et_device_lock_status","as_device_status"],
data() {
return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
locationLogList: [],
defaultSort: {prop: 'createTime', order: 'descending'},
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 20,
mac: null,
},
//
form: {},
//
rules: {
}
};
},
created() {
const mac = this.$route.params && this.$route.params.mac;
if (mac != null) {
this.queryParams.mac = mac;
}
this.getList();
},
methods: {
//
formatStatus(status) {
const statusMap = {
0: '断电',
1: '上电运行',
2: '轮动抱死',
3: '超出区域断电'
};
return statusMap[status] || '未知状态';
},
// '50.1V'
formatVoltage(bat) {
if (bat === null || bat === undefined) return '0.0V';
return (bat / 10).toFixed(1) + 'V';
},
/** 详细按钮操作 */
handleView(row) {
this.open = true;
this.form = row;
},
/** 排序触发事件 */
handleSortChange(column, prop, order) {
this.queryParams.orderByColumn = column.prop;
this.queryParams.isAsc = column.order;
this.getList();
},
/** 查询定位日志列表 */
getList() {
this.loading = true;
listLocationLog(this.queryParams).then(response => {
this.locationLogList = response.rows;
this.total = response.total;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
locationId: null,
mac: null,
onenetMsg: null,
longitude: null,
latitude: null,
createTime: null,
at: null,
status: null,
lockStatus: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.locationId)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加定位日志";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const locationId = row.locationId || this.ids
getLocationLog(locationId).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改定位日志";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.locationId != null) {
updateLocationLog(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addLocationLog(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const locationIds = row.locationId || this.ids;
this.$modal.confirm('是否确认删除定位日志编号为"' + locationIds + '"的数据项?').then(function() {
return delLocationLog(locationIds);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('system/locationLog/export', {
...this.queryParams
}, `locationLog_${new Date().getTime()}.xlsx`)
}
}
};
</script>

View File

@ -1,8 +1,8 @@
<template>
<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="deptId" v-if="userName == 'admin'">
<el-select v-model="queryParams.operator" filterable placeholder="选择运营商" clearable>
<el-form-item label="代理商" prop="deptId" v-if="userName == 'admin'">
<el-select v-model="queryParams.operator" filterable placeholder="选择代理商" clearable>
<el-option
v-for="item in deptOptions"
:key="item.deptId"
@ -74,7 +74,7 @@
<el-table v-loading="loading" :data="modelList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="车型" align="center" prop="model" />
<el-table-column label="运营商" align="center" prop="operatorName" />
<el-table-column label="代理商" align="center" prop="operatorName" />
<el-table-column label="运营区" align="center" prop="areaName" />
<el-table-column label="满电电压(V)" align="center" prop="fullVoltage" />
<el-table-column label="亏电电压(V)" align="center" prop="lowVoltage" />
@ -121,8 +121,8 @@
<el-form-item label="车型" prop="model">
<el-input v-model="form.model" placeholder="请输入车型" />
</el-form-item>
<el-form-item v-if="userName == 'admin'" label="运营商" prop="operator">
<el-select v-model="form.operator" style="width: 100%" clearable placeholder="请选择运营商">
<el-form-item v-if="userName == 'admin'" label="代理商" prop="operator">
<el-select v-model="form.operator" style="width: 100%" clearable placeholder="请选择代理商">
<el-option
v-for="item in deptOptions"
:key="item.deptId"
@ -132,7 +132,7 @@
</el-select>
</el-form-item>
<el-form-item label="运营区" prop="areaId">
<el-select v-model="form.areaId" style="width: 100%" clearable placeholder="请选择运营商">
<el-select v-model="form.areaId" style="width: 100%" clearable placeholder="请选择代理商">
<el-option
v-for="item in areaOptions"
:key="item.areaId"
@ -150,7 +150,10 @@
<el-form-item label="满电续航(KM)" label-width="90" prop="fullEndurance">
<el-input style="width: 80%" v-model="form.fullEndurance" placeholder="请输入满电续航" />
</el-form-item>
<el-form-item label="骑行低电量提醒(%)" label-width="120" prop="lowBatteryReminder">
<el-form-item label="低电量提醒" label-width="90" prop="lowBatteryReminderSwitch">
<el-switch v-model="form.lowBatteryReminderSwitch" class="drawer-switch" />
</el-form-item>
<el-form-item v-if="form.lowBatteryReminderSwitch == true" label="骑行低电量提醒(%)" label-width="120" prop="lowBatteryReminder">
<el-input style="width: 78%" v-model="form.lowBatteryReminder" placeholder="请输入骑行低电量提醒" />
</el-form-item>
<el-form-item label="应用收费方式" label-width="120" prop="ruleIds">
@ -194,7 +197,7 @@ export default {
isUpdating: false, //
//
ids: [],
//
//
deptOptions: [],
//
areaOptions: [],
@ -223,14 +226,16 @@ export default {
operator: null,
},
//
form: {},
form: {
lowBatteryReminderSwitch: false,
},
//
rules: {
model: [
{ required: true, message: "车型不能为空", trigger: "blur" }
],
operator: [
{ required: true, message: "运营商不能为空", trigger: "blur" }
{ required: true, message: "代理商不能为空", trigger: "blur" }
],
fullVoltage: [
{ required: true, message: "满电电压不能为空", trigger: "blur" },
@ -270,7 +275,7 @@ export default {
},
},
methods: {
/** 当选择运营商时 根据运营商id获取运营区和型号 */
/** 当选择代理商时 根据代理商id获取运营区和型号 */
fetchData2(deptId,oldVal) {
console.log("deptId1111",deptId)
console.log("oldVal1111",oldVal)
@ -375,7 +380,7 @@ export default {
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 查询运营商下拉树结构 */
/** 查询代理商下拉树结构 */
getDeptTree() {
listDept2({status: '0',pageNum:1,pageSize:999 }).then(response => {
this.deptOptions = response.rows;

View File

@ -87,17 +87,33 @@
<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" width="150">
<el-table-column label="订单信息" align="center" width="270">
<template slot-scope="scope">
<div>
<span>{{ scope.row.orderNo }}</span> <!-- 显示订单号 -->
<span>订单号: {{ scope.row.orderNo }}</span> <!-- 显示订单号 -->
<br> <!-- 换行 -->
<router-link :to="'/user/user/userName/index/' + scope.row.userName" class="link-type">
<span>{{ scope.row.userName }}</span> <!-- 显示用户名 -->
<span >{{scope.row.realName? scope.row.realName+':':''}}{{ scope.row.userName }}</span>
</router-link>
<br> <!-- 换行 -->
<span>时长: {{ formatDuration(scope.row) }}</span>
<br> <!-- 换行 -->
<span>距离: {{ formatDistance(scope.row) }}</span>
</div>
</template>
</el-table-column>
<!-- <el-table-column label="订单信息" align="center" width="150">-->
<!-- <template slot-scope="scope">-->
<!-- <div>-->
<!-- <span>{{ scope.row.orderNo }}</span> &lt;!&ndash; 显示订单号 &ndash;&gt;-->
<!-- <br> &lt;!&ndash; 换行 &ndash;&gt;-->
<!-- <router-link :to="'/user/user/userName/index/' + scope.row.userName" class="link-type">-->
<!-- <span>{{ scope.row.userName }}</span> &lt;!&ndash; 显示用户名 &ndash;&gt;-->
<!-- </router-link>-->
<!-- </div>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column label="订单号" align="center" prop="orderNo" width="120"/>-->
<!-- <el-table-column label="用户" align="center" width="100">-->
<!-- <template slot-scope="scope">-->
@ -113,8 +129,8 @@
<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 :to="'/system/device/vehicleNum/index/' + (scope.row.vehicleNum || '无')" class="link-type">
<span>车牌号: {{ scope.row.vehicleNum || '无' }}</span> <!-- 车牌号为空时显示 -->
</router-link>
</div>
</template>
@ -179,31 +195,49 @@
<el-table-column label="费用详情" header-align="center" align="left" width="200">
<template slot-scope="scope">
<div>
<span style="font-weight: bold;color: red">{{ formatFee(scope.row.totalFee) }}</span><br />
<span>预约费{{ formatFee(scope.row.appointmentFee) }}</span><br />
<span>骑行费{{ formatFee(scope.row.ridingFee) }}</span><br />
<span>运营区外调度费{{ formatFee(scope.row.dispatchFee) }}</span><br />
<span>停车点外调度费{{ formatFee(scope.row.manageFee) }}</span>
<template >
<span>结算金额{{ formatFee(calculateSettlementAmount(scope.row)) }}</span><br />
</template>
<template v-if="scope.row.appointmentFee > 0">
<span>预约费{{ formatFee(scope.row.appointmentFee) }}</span><br />
</template>
<template v-if="scope.row.ridingFee > 0">
<span>骑行费{{ formatFee(scope.row.ridingFee) }}</span><br />
</template>
<template v-if="scope.row.dispatchFee > 0">
<span>运营区外调度费{{ formatFee(scope.row.dispatchFee) }}</span><br />
</template>
<template v-if="scope.row.manageFee > 0">
<span>停车点外调度费{{ formatFee(scope.row.manageFee) }}</span><br />
</template>
<template v-if="scope.row.manageFee > 0">
<span >订单金额{{ formatFee(scope.row.totalFee) }}</span><br />
</template>
<template v-if="scope.row.totalRefundFee > 0">
<span>退款金额
<span style="font-weight: bold;color: red">{{ formatFee(scope.row.totalRefundFee) }}</span>
</span><br />
</template>
</div>
</template>
</el-table-column>
<!-- <el-table-column label="备注" align="center" prop="mark" />-->
<el-table-column label="备注" align="center" prop="mark" width="140"/>
<!-- <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="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="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">
@ -362,7 +396,14 @@
<el-form-item label="支付时间:">{{ form.payTime }}</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="计费模板:" >{{ form.rule.name }}</el-form-item>
<el-form-item label="计费模板:" >
<span>
{{ form.rule.name }}
</span><br />
<span>
{{ form.rule.description }}
</span><br />
</el-form-item>
</el-col>
</el-row>
<el-row v-if="form.etRefunds && form.etRefunds.length > 0">
@ -814,6 +855,12 @@ export default {
const formattedFee = parseFloat(fee).toFixed(2);
return `${formattedFee}`;
},
calculateSettlementAmount(row) {
// = - 退
const totalFee = row.totalFee || 0;
const totalRefundFee = row.totalRefundFee || 0;
return totalFee - totalRefundFee;
},
calculateNetFee() {
// 退
let totalRefund = this.form.etRefunds.reduce((total, refund) => {

View File

@ -45,14 +45,14 @@
<el-table v-loading="loading" :data="refundList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="时间" align="center" prop="day" />
<el-table-column label="运营商" align="center" prop="deptName" />
<el-table-column label="代理商" align="center" prop="deptName" />
<el-table-column label="运营区" align="center" prop="areaName" />
<el-table-column label="订单收入" align="center" prop="payFee" />
<el-table-column label="退款" align="center" prop="refundFee" />
<el-table-column label="手续费" align="center" prop="serviceFee" />
<el-table-column label="平台服务费" align="center" prop="platformServiceFee" />
<el-table-column label="累计营收" align="center" prop="income" />
<el-table-column label="运营商分账" align="center" prop="income" />
<el-table-column label="代理商分账" align="center" prop="income" />
<el-table-column label="合伙人分账" align="center" prop="partnerFee" />
</el-table>

View File

@ -1,12 +1,12 @@
<template>
<div class="app-container">
<el-row :gutter="20">
<!--运营商数据-->
<!--代理商数据-->
<el-col :span="3" :xs="24" v-if="userName == 'admin'">
<div class="head-container">
<el-input
v-model="deptName"
placeholder="请输入运营商名称"
placeholder="请输入代理商名称"
clearable
size="small"
prefix-icon="el-icon-search"
@ -143,7 +143,7 @@
<el-table-column label="用户昵称" align="center" key="nickName" prop="nickName" v-if="columns[2].visible" :show-overflow-tooltip="true" />
<el-table-column label="角色" align="center" key="roleNames" prop="roleNames" v-if="columns[2].visible" :show-overflow-tooltip="true" />
<el-table-column label="运营区" align="center" key="areaName" prop="areaName" v-if="columns[3].visible" :show-overflow-tooltip="true" />
<el-table-column label="运营商" align="center" key="deptName" prop="dept.deptName" v-if="columns[3].visible" :show-overflow-tooltip="true" />
<el-table-column label="代理商" align="center" key="deptName" prop="dept.deptName" v-if="columns[3].visible" :show-overflow-tooltip="true" />
<el-table-column label="手机号码" align="center" key="phonenumber" prop="phonenumber" v-if="columns[4].visible" width="120" />
<el-table-column label="关联APP用户" align="center" key="appUserName" prop="appUserName" v-if="columns[5].visible" width="120" >
<template slot-scope="scope">
@ -228,8 +228,8 @@
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="运营商" prop="deptId">
<treeselect v-model="form.deptId" :options="deptOptions" :show-count="true" placeholder="请选择归属运营商" />
<el-form-item label="代理商" prop="deptId">
<treeselect v-model="form.deptId" :options="deptOptions" :show-count="true" placeholder="请选择归属代理商" />
</el-form-item>
</el-col>
<el-col :span="12">
@ -416,12 +416,12 @@ export default {
userList: null,
//
title: "",
//
//
deptOptions: undefined,
//
open: false,
open2: false,
//
//
deptName: undefined,
//
initPassword: undefined,
@ -468,7 +468,7 @@ export default {
{ key: 0, label: `用户编号`, visible: true },
{ key: 1, label: `用户名称`, visible: true },
{ key: 2, label: `用户昵称`, visible: true },
{ key: 3, label: `运营`, visible: true },
{ key: 3, label: `代理`, visible: true },
{ key: 4, label: `手机号码`, visible: true },
{ key: 5, label: `状态`, visible: true },
{ key: 6, label: `创建时间`, visible: true }
@ -496,7 +496,7 @@ export default {
}
],
deptId: [
{ required: true, message: "所属运营商不能为空", trigger: "blur" }
{ required: true, message: "所属代理商不能为空", trigger: "blur" }
]
}
};
@ -505,7 +505,7 @@ export default {
'form.deptId': function(newVal) {
this.getAreaListByDeptId(newVal);
},
//
//
deptName(val) {
this.$refs.tree.filter(val);
}
@ -523,7 +523,7 @@ export default {
getAreaListByDeptId(deptId){
if(deptId) {
selectAreaListByDeptId(deptId).then(response => {
console.log("根据运营商id获取运营区和型号=========", response.data)
console.log("根据代理商id获取运营区和型号=========", response.data)
this.areaOptions = response.data.areaList;
console.log("this.areaOptions", this.areaOptions)
});
@ -612,7 +612,7 @@ export default {
this.areaOptions = response.rows;
});
},
/** 查询运营商下拉树结构 */
/** 查询代理商下拉树结构 */
getDeptTree() {
deptTreeSelect().then(response => {
this.deptOptions = response.data;

View File

@ -1,8 +1,8 @@
<template>
<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="deptId" v-if="userName == 'admin'">
<el-select v-model="queryParams.deptId" filterable placeholder="请选择运营商" clearable>
<el-form-item label="代理商" prop="deptId" v-if="userName == 'admin'">
<el-select v-model="queryParams.deptId" filterable placeholder="请选择代理商" clearable>
<el-option
v-for="item in deptOptions"
:key="item.deptId"
@ -72,7 +72,7 @@
<el-table v-loading="loading" :data="withdrawList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<!-- <el-table-column label="提现id" align="center" prop="id" />-->
<el-table-column label="运营商" align="center" prop="deptName" v-if="userName == 'admin'"/>
<el-table-column label="代理商" align="center" prop="deptName" v-if="userName == 'admin'"/>
<el-table-column label="提现单号" align="center" prop="withdrawNo" />
<el-table-column label="提现金额:元" align="center" prop="amount" />
<el-table-column label="申请状态" align="center" prop="status">
@ -168,7 +168,7 @@
<el-form ref="form3" :model="form3" label-width="100px" size="mini">
<el-row>
<el-col :span="24">
<el-form-item label="运营商:">{{ form3.deptName }}</el-form-item>
<el-form-item label="代理商:">{{ form3.deptName }}</el-form-item>
<el-form-item label="提现单号:">{{ form3.withdrawNo }}</el-form-item>
</el-col>
<el-col :span="24">

View File

@ -99,7 +99,7 @@
<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="operatorBalance" :formatter="formatAmount"/>
<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">
@ -135,8 +135,8 @@
<!-- 添加或修改资金流水对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-form-item label="运营商" prop="operator" v-if="userName == 'admin'">
<el-select v-model="form.deptId" clearable placeholder="请选择运营商">
<el-form-item label="代理商" prop="operator" v-if="userName == 'admin'">
<el-select v-model="form.deptId" clearable placeholder="请选择代理商">
<el-option
v-for="item in deptOptions"
:key="item.deptId"
@ -180,7 +180,7 @@
<el-form-item label="提现金额:"><span style="font-weight: 700">{{ form3.amount + form3.handlingCharge }}</span> </el-form-item>
<el-form-item label="支付手续费:"><span style="font-weight: 700">{{ form3.handlingCharge }}</span> </el-form-item>
<el-form-item label="实际到账:"><span style="color: red;font-weight: 700">{{ form3.amount }}</span> </el-form-item>
<el-form-item label="运营商结余:"><span style="font-weight: 700">{{ form3.operatorBalance }}</span> </el-form-item>
<el-form-item label="代理商结余:"><span style="font-weight: 700">{{ form3.operatorBalance }}</span> </el-form-item>
<el-form-item label="申请时间:">{{ form3.createTime }}</el-form-item>
<el-form-item label="状态:">
<dict-tag :options="dict.type.et_flow_status" :value="form3.status"/>