1.定位日志
This commit is contained in:
parent
2700e12e44
commit
fd165faf6a
|
@ -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,
|
||||
|
|
|
@ -66,7 +66,7 @@ export function getBalance(){
|
|||
method: 'get'
|
||||
})
|
||||
}
|
||||
// 查询运营商信息
|
||||
// 查询代理商信息
|
||||
export function getDeptByToken(deptId){
|
||||
return request({
|
||||
url: '/system/dept/getDept',
|
||||
|
|
44
src/api/system/locationLog.js
Normal file
44
src/api/system/locationLog.js
Normal 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'
|
||||
})
|
||||
}
|
|
@ -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,
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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()
|
||||
// 在这里执行值变化后的逻辑
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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">-->
|
||||
|
|
|
@ -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">
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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){
|
||||
|
|
|
@ -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="请输入合伙人分账" />
|
||||
|
|
379
src/views/system/locationLog/index.vue
Normal file
379
src/views/system/locationLog/index.vue
Normal 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>
|
|
@ -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;
|
||||
|
|
|
@ -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> <!– 显示订单号 –>-->
|
||||
<!-- <br> <!– 换行 –>-->
|
||||
<!-- <router-link :to="'/user/user/userName/index/' + scope.row.userName" class="link-type">-->
|
||||
<!-- <span>{{ scope.row.userName }}</span> <!– 显示用户名 –>-->
|
||||
<!-- </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) => {
|
||||
|
|
|
@ -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>
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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">
|
||||
|
|
|
@ -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"/>
|
||||
|
|
Loading…
Reference in New Issue
Block a user