日志更新
This commit is contained in:
parent
d03ee7792f
commit
e219100362
|
@ -322,3 +322,36 @@ export const WithdrawServiceType = {
|
|||
POINT: "1", // 按比例
|
||||
FIXED: "2", // 固定金额
|
||||
}
|
||||
|
||||
// 日志业务类型
|
||||
export const LogBizType = {
|
||||
UNKNOWN: "UNKNOWN", // 未知
|
||||
SUIT: "SUIT", // 套餐
|
||||
ORDER: "ORDER", // 订单
|
||||
COMPLAINT: "COMPLAINT", // 投诉建议
|
||||
DEVICE: "DEVICE", // 设备
|
||||
MCH_APPLY: "MCH_APPLY", // 招商加盟
|
||||
PAY: "PAY", // 支付
|
||||
REAL_NAME: "REAL_NAME", // 实名认证
|
||||
AREA: "AREA", // 运营区
|
||||
ACCOUNT: "ACCOUNT", // 收款账户
|
||||
AD: "AD", // 广告
|
||||
AGREEMENT: "AGREEMENT", // 协议
|
||||
APP: "APP", // APP
|
||||
AREA_JOIN: "AREA_JOIN", // 运营加盟
|
||||
AREA_SUB: "AREA_SUB", // 子区域
|
||||
ARTICLE_CATEGORY: "ARTICLE_CATEGORY", // 文章分类
|
||||
ARTICLE: "ARTICLE", // 文章
|
||||
BALANCE_LOG: "BALANCE_LOG", // 帐变记录
|
||||
BONUS: "BONUS", // 分成
|
||||
CHANNEL: "CHANNEL", // 支付渠道
|
||||
CUSTOMER_SERVICE: "CUSTOMER_SERVICE", // 客服
|
||||
FAULT: "FAULT", // 故障
|
||||
HARDWARE_VERSION: "HARDWARE_VERSION", // 硬件版本
|
||||
LOCATION_LOG: "LOCATION_LOG", // 定位日志
|
||||
MODEL: "MODEL", // 车辆型号
|
||||
SOFTWARE_VERSION: "SOFTWARE_VERSION", // 软件版本
|
||||
USER_APP: "USER_APP", // 用户APP关联
|
||||
WITHDRAW: "WITHDRAW", // 提现
|
||||
USER: "USER", // 用户
|
||||
}
|
||||
|
|
|
@ -67,6 +67,14 @@
|
|||
<form-col :span="span * 2" label="短信通知" prop="msgSwitch" tip="开启短信通知,费用0.1元/条,从运营商余额中扣除(场景:还车审核)">
|
||||
<el-switch v-model="form.msgSwitch" active-text="开启" inactive-text="关闭"/>
|
||||
</form-col>
|
||||
<form-col :span="span * 2" label="寻车范围" prop="requiredRingRadius" tip="开启后,用户只能靠近车辆指定范围才允许响铃寻车(防止恶意响铃)">
|
||||
<el-switch v-model="form.requiredRingRadius" active-text="开启" inactive-text="关闭"/>
|
||||
</form-col>
|
||||
<form-col :span="span * 2" prop="ringRadius" v-if="form.requiredRingRadius" tip="设定一个寻车范围,在开启寻车范围功能后生效">
|
||||
<el-input v-model="form.ringRadius" placeholder="请输入寻车范围" type="number">
|
||||
<template #append>米</template>
|
||||
</el-input>
|
||||
</form-col>
|
||||
</el-row>
|
||||
</collapse-panel>
|
||||
<collapse-panel title="还车设置" :value="true">
|
||||
|
@ -226,6 +234,8 @@ export default {
|
|||
createTime: null,
|
||||
boundaryDistance: 20,
|
||||
outageDistance: 20,
|
||||
requiredRingRadius: false,
|
||||
ringRadius: 500,
|
||||
// vo
|
||||
userName: this.nickName,
|
||||
};
|
||||
|
|
|
@ -234,7 +234,6 @@ export default {
|
|||
this.polygonEditor.on('end', this.handlePolygonEnd);
|
||||
} catch (error) {
|
||||
console.error('地图初始化失败:', error);
|
||||
this.$message.error('地图加载失败');
|
||||
}
|
||||
},
|
||||
handlePolygonAdd({target}) {
|
||||
|
|
|
@ -141,6 +141,7 @@ export default {
|
|||
{key: 'userName', visible: true, label: '操作人', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
|
||||
{key: 'operaTime', visible: true, label: '时间', minWidth: null, sortable: true, overflow: false, align: 'center', width: null},
|
||||
{key: 'location', visible: true, label: '定位', minWidth: null, sortable: false, overflow: false, align: 'center', width: null},
|
||||
{key: 'originResponse', visible: true, label: '原始响应', minWidth: null, sortable: false, overflow: true, align: 'center', width: null},
|
||||
],
|
||||
// 排序方式
|
||||
orderSorts: ['ascending', 'descending', null],
|
||||
|
|
|
@ -78,14 +78,18 @@
|
|||
<collapse-panel :value="true" title="运营信息">
|
||||
<el-descriptions :column="1">
|
||||
<el-descriptions-item label="运营区">{{ detail.areaName | dv }}</el-descriptions-item>
|
||||
<el-descriptions-item label="车辆归属">{{ detail.mchName | dv }}</el-descriptions-item>
|
||||
<el-descriptions-item label="车辆归属">
|
||||
<user-link :id="detail.mchId" :text="detail.mchName"/>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="车型名称">{{ detail.modelName | dv }}</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
</collapse-panel>
|
||||
|
||||
<collapse-panel :value="true" title="当前订单" v-if="detail.orderNo">
|
||||
<el-descriptions :column="1">
|
||||
<el-descriptions-item label="订单编号">{{ detail.orderNo | dv }}</el-descriptions-item>
|
||||
<el-descriptions-item label="订单编号">
|
||||
<order-link :id="detail.orderId" :text="detail.orderNo"/>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="订单状态">
|
||||
<dict-tag :options="dict.type.order_status" :value="detail.orderStatus" size="small"/>
|
||||
</el-descriptions-item>
|
||||
|
@ -113,6 +117,9 @@
|
|||
<el-tab-pane label="订单使用记录" lazy v-if="checkPermi(['bst:orderDevice:list'])">
|
||||
<order-device :query="{ deviceId: id }" />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="操作日志" lazy v-if="checkPermi(['monitor:operlog:list'])">
|
||||
<operlog :query="{ bizId: detail.id, bizType: LogBizType.DEVICE }" />
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</el-card>
|
||||
</div>
|
||||
|
@ -124,14 +131,16 @@ import { unlockDevice, lockDevice, ringDevice, rebootDevice, unlockSeatDevice, r
|
|||
import { outDevice, inDevice, disableDevice, enableDevice } from "@/api/bst/device";
|
||||
import CollapsePanel from '@/components/CollapsePanel/index.vue';
|
||||
import BooleanTag from '@/components/BooleanTag/index.vue';
|
||||
import { DeviceStatus } from '@/utils/enums';
|
||||
import { DeviceStatus, LogBizType } from '@/utils/enums';
|
||||
import { $device } from '@/views/bst/device/mixins';
|
||||
import OrderDevice from '@/views/bst/orderDevice/index.vue';
|
||||
import DeviceLocation from '@/views/bst/device/view/components/DeviceLocation.vue';
|
||||
import CommandLog from '@/views/bst/commandLog/index.vue';
|
||||
import DeviceBonusPreview from '@/views/bst/device/view/components/DeviceBonusPreview.vue';
|
||||
import DeviceSn from '@/views/bst/device/components/DeviceSn.vue';
|
||||
|
||||
import Operlog from '@/views/monitor/operlog/index.vue';
|
||||
import OrderLink from '@/components/Business/Order/OrderLink.vue';
|
||||
import UserLink from '@/components/Business/User/UserLink.vue';
|
||||
|
||||
export default {
|
||||
name: 'DeviceView',
|
||||
|
@ -145,13 +154,17 @@ export default {
|
|||
CommandLog,
|
||||
DeviceBonusPreview,
|
||||
DeviceSn,
|
||||
Operlog,
|
||||
OrderLink,
|
||||
UserLink
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
id: null,
|
||||
detail: {},
|
||||
loading: false,
|
||||
DeviceStatus
|
||||
DeviceStatus,
|
||||
LogBizType
|
||||
}
|
||||
},
|
||||
created() {
|
||||
|
|
|
@ -76,8 +76,7 @@
|
|||
<dict-tag :options="dict.type.suit_riding_rule" :value="detail.suitRidingRule" size="mini" style="margin-left: 4px;"/>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="免费骑行时间" :span="3">
|
||||
{{ detail.suitFreeRideTime | dv }}
|
||||
<dict-tag :options="dict.type.suit_rental_unit" :value="detail.suitRentalUnit"/>
|
||||
{{ detail.suitFreeRideTime | dv }} 分钟
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="起步规则" :span="3" v-if="SuitRidingRule.START === detail.suitRidingRule">
|
||||
在{{detail.suitStartRule.startingTime}}{{unitLabel(detail.suitRentalUnit)}}以内,起步价{{detail.suitStartRule.startingPrice}}元;
|
||||
|
@ -124,16 +123,26 @@
|
|||
<el-card>
|
||||
<collapse-panel :value="true" title="设备信息">
|
||||
<el-descriptions :column="1" >
|
||||
<el-descriptions-item label="SN">{{ detail.deviceSn }}</el-descriptions-item>
|
||||
<el-descriptions-item label="MAC">{{ detail.deviceMac }}</el-descriptions-item>
|
||||
<el-descriptions-item label="车牌号">{{ detail.deviceVehicleNum }}</el-descriptions-item>
|
||||
<el-descriptions-item label="SN">
|
||||
<device-link :id="detail.deviceId" :text="detail.deviceSn"/>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="MAC">
|
||||
<device-link :id="detail.deviceId" :text="detail.deviceMac"/>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="车牌号">
|
||||
<device-link :id="detail.deviceId" :text="detail.deviceVehicleNum"/>
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
</collapse-panel>
|
||||
|
||||
<collapse-panel :value="true" title="用户信息">
|
||||
<el-descriptions :column="1" >
|
||||
<el-descriptions-item label="用户">{{ detail.userName }}</el-descriptions-item>
|
||||
<el-descriptions-item label="手机">{{ detail.userPhone }}</el-descriptions-item>
|
||||
<el-descriptions-item label="用户">
|
||||
<user-link :id="detail.userId" :text="detail.userName"/>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="手机">
|
||||
<user-link :id="detail.userId" :text="detail.userPhone"/>
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
</collapse-panel>
|
||||
|
||||
|
@ -165,6 +174,12 @@
|
|||
<el-tab-pane label="退款信息" v-if="checkPermi(['bst:refund:list'])">
|
||||
<refund :query="{payBstId: detail.id, payBstType: PayBstType.ORDER}"/>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="命令日志" v-if="checkPermi(['bst:commandLog:list'])">
|
||||
<command-log :query="{orderId: detail.id}"/>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="操作日志" v-if="checkPermi(['monitor:operlog:list'])">
|
||||
<operlog :query="{bizId: detail.id, bizType: LogBizType.ORDER}"/>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</el-card>
|
||||
|
||||
|
@ -178,7 +193,7 @@
|
|||
<script>
|
||||
import { getOrder, endOrder } from '@/api/bst/order'
|
||||
import CollapsePanel from '@/components/CollapsePanel/index.vue'
|
||||
import {SuitRidingRule, PayBstType, BonusBstType, OrderStatus} from '@/utils/enums'
|
||||
import {SuitRidingRule, PayBstType, BonusBstType, OrderStatus, LogBizType} from '@/utils/enums'
|
||||
import OrderDevice from '@/views/bst/orderDevice/index.vue'
|
||||
import Pay from '@/views/bst/pay/index.vue'
|
||||
import Bonus from '@/views/bst/bonus/index.vue'
|
||||
|
@ -187,6 +202,10 @@ import OrderRefundDialog from '@/views/bst/order/components/OrderRefundDialog.vu
|
|||
import OrderVerifyDialog from '@/views/bst/order/components/OrderVerifyDialog.vue'
|
||||
import { toDescriptionFromSecond } from '@/utils/date'
|
||||
import Refund from '@/views/bst/refund/index.vue'
|
||||
import Operlog from '@/views/monitor/operlog/index.vue'
|
||||
import CommandLog from '@/views/bst/commandLog/index.vue'
|
||||
import DeviceLink from '@/components/Business/Device/DeviceLink.vue'
|
||||
import UserLink from '@/components/Business/User/UserLink.vue'
|
||||
|
||||
export default {
|
||||
name: 'OrderView',
|
||||
|
@ -199,7 +218,11 @@ export default {
|
|||
DeviceLocation,
|
||||
OrderRefundDialog,
|
||||
OrderVerifyDialog,
|
||||
Refund
|
||||
Refund,
|
||||
Operlog,
|
||||
CommandLog,
|
||||
DeviceLink,
|
||||
UserLink
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
|
@ -210,6 +233,7 @@ export default {
|
|||
SuitRidingRule,
|
||||
PayBstType,
|
||||
BonusBstType,
|
||||
LogBizType,
|
||||
showRefundDialog: false,
|
||||
showVerifyDialog: false,
|
||||
}
|
||||
|
|
|
@ -1,40 +1,38 @@
|
|||
<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="operIp">
|
||||
<el-input
|
||||
v-model="queryParams.operIp"
|
||||
placeholder="请输入操作地址"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="系统模块" prop="title">
|
||||
<el-form-item label="接口名称" prop="title">
|
||||
<el-input
|
||||
v-model="queryParams.title"
|
||||
placeholder="请输入系统模块"
|
||||
placeholder="请输入接口名称"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="操作人员" prop="operName">
|
||||
<el-form-item label="请求地址" prop="operUrl">
|
||||
<el-input
|
||||
v-model="queryParams.operUrl"
|
||||
placeholder="请输入请求地址"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="请求IP" prop="operIp">
|
||||
<el-input
|
||||
v-model="queryParams.operIp"
|
||||
placeholder="请输入请求IP"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="操作人" prop="operName">
|
||||
<el-input
|
||||
v-model="queryParams.operName"
|
||||
placeholder="请输入操作人员"
|
||||
placeholder="请输入操作人"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="操作类型" prop="businessType" >
|
||||
<el-select v-model="queryParams.businessType" placeholder="请选择操作类型" clearable @change="handleQuery">
|
||||
<el-option
|
||||
v-for="dict in dict.type.sys_oper_type"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="业务类型" prop="bizType">
|
||||
<el-select v-model="queryParams.bizType" placeholder="请选择业务类型" clearable @change="handleQuery">
|
||||
<el-option
|
||||
|
@ -57,14 +55,14 @@
|
|||
</el-form-item>
|
||||
<el-form-item label="操作时间">
|
||||
<el-date-picker
|
||||
v-model="dateRange"
|
||||
style="width: 240px"
|
||||
v-model="queryParams.operTimeRange"
|
||||
value-format="yyyy-MM-dd HH:mm:ss"
|
||||
type="daterange"
|
||||
type="datetimerange"
|
||||
range-separator="-"
|
||||
start-placeholder="开始时间"
|
||||
end-placeholder="结束时间"
|
||||
:default-time="['00:00:00', '23:59:59']"
|
||||
@change="handleQuery"
|
||||
></el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
|
@ -110,32 +108,17 @@
|
|||
|
||||
<el-table ref="tables" v-loading="loading" :data="list" @selection-change="handleSelectionChange" :default-sort="defaultSort" @sort-change="handleSortChange">
|
||||
<el-table-column type="selection" width="50" align="center" />
|
||||
<el-table-column label="日志编号" align="center" prop="operId" />
|
||||
<el-table-column label="系统模块" align="center" prop="title" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="操作类型" align="center" prop="businessType">
|
||||
<el-table-column label="接口名称" align="left" prop="title" min-width="200">
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.sys_oper_type" :value="scope.row.businessType"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作人员" align="center" prop="operName" width="110" :show-overflow-tooltip="true" sortable="custom" :sort-orders="['descending', 'ascending']" />
|
||||
<el-table-column label="操作地址" align="center" prop="operIp" width="130" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="操作地点" align="center" prop="operLocation" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="业务类型" align="center" prop="bizType">
|
||||
<template slot-scope="d">
|
||||
<dict-tag :options="dict.type.log_biz_type" :value="d.row.bizType"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="业务ID" align="center" prop="bizIds" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="操作状态" align="center" prop="status">
|
||||
<template slot-scope="scope">
|
||||
<dict-tag :options="dict.type.sys_common_status" :value="scope.row.status"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作日期" align="center" prop="operTime" width="160" sortable="custom" :sort-orders="['descending', 'ascending']">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ parseTime(scope.row.operTime) }}</span>
|
||||
<span>{{ scope.row.title | dv}}</span>
|
||||
<dict-tag :options="dict.type.log_biz_type" :value="scope.row.bizType" size="mini" style="margin-left: 4px;"/>
|
||||
<dict-tag :options="dict.type.sys_common_status" :value="scope.row.status" size="mini" style="margin-left: 4px;"/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="请求地址" align="center" prop="operUrl" :show-overflow-tooltip="true" sortable="custom" :sort-orders="['descending', 'ascending']" />
|
||||
<el-table-column label="操作人" align="center" prop="operName" :show-overflow-tooltip="true" sortable="custom" :sort-orders="['descending', 'ascending']" />
|
||||
<el-table-column label="请求IP" align="center" prop="operIp" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="操作时间" align="center" prop="operTime" width="160" sortable="custom" :sort-orders="['descending', 'ascending']"/>
|
||||
<el-table-column label="消耗时间" align="center" prop="costTime" width="110" :show-overflow-tooltip="true" sortable="custom" :sort-orders="['descending', 'ascending']">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ scope.row.costTime }}毫秒</span>
|
||||
|
@ -247,6 +230,7 @@ export default {
|
|||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
operTimeRange: [],
|
||||
operIp: undefined,
|
||||
title: undefined,
|
||||
operName: undefined,
|
||||
|
@ -255,6 +239,7 @@ export default {
|
|||
}
|
||||
};
|
||||
},
|
||||
|
||||
created() {
|
||||
this.queryParams = {
|
||||
...this.queryParams,
|
||||
|
|
Loading…
Reference in New Issue
Block a user