|
|
@@ -9,35 +9,189 @@
|
|
|
:close-on-press-escape="false"
|
|
|
width="600px"
|
|
|
>
|
|
|
- <el-form :model="form" ref="formRef" size="default" label-width="80px">
|
|
|
+ <el-card header="基本信息" class="mt8" shadow="hover">
|
|
|
<el-row :gutter="35">
|
|
|
- <!-- <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
|
- <el-form-item label="应用ID" prop="appid" :rules="[{ required: true, message: '请输入应用ID', trigger: ['blur', 'change'] }]">
|
|
|
- <el-input v-model="form.appid" clearable />
|
|
|
- </el-form-item>
|
|
|
- </el-col> -->
|
|
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
|
- <el-form-item label="应用名称" prop="name" :rules="[{ required: true, message: '请输入应用名称', trigger: ['blur', 'change'] }]">
|
|
|
- <el-input v-model="form.name" clearable />
|
|
|
- </el-form-item>
|
|
|
+ <span>操作类型:{{ form.opreationType }}</span>
|
|
|
</el-col>
|
|
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
|
- <el-form-item label="应用编码" prop="code">
|
|
|
- <el-input v-model="form.code" clearable />
|
|
|
- </el-form-item>
|
|
|
+ <span>油机唯一标识:{{ form.machineId }}</span>
|
|
|
</el-col>
|
|
|
<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
|
- <el-form-item label="最小版本" prop="code">
|
|
|
- <el-input v-model="form.minVersion" clearable />
|
|
|
- </el-form-item>
|
|
|
+ <span>账户:{{ form.account }}</span>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
|
+ <span>sn:{{ form.sn }}</span>
|
|
|
</el-col>
|
|
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12">
|
|
|
- <el-form-item label="排序">
|
|
|
- <el-input-number v-model="form.sort" />
|
|
|
- </el-form-item>
|
|
|
+ <span>操作时间:{{ form.createTime }}</span>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
- </el-form>
|
|
|
+ </el-card>
|
|
|
+
|
|
|
+ <el-card v-if="form.opreationType == '冷启动'" header="机型" class="mt8" style="width: 100%;" shadow="hover" >
|
|
|
+ <el-col v-if="state.coldStartInfo.modelCode!= undefined && state.coldStartInfo.modelCode.length > 0" :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
|
+ <span>机型码:{{ state.coldStartInfo.modelCode }}</span>
|
|
|
+ </el-col>
|
|
|
+ <el-col v-if="state.coldStartInfo.nonStandeNozzleList != undefined && state.coldStartInfo.nonStandeNozzleList.length > 0" :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
|
+ <span>交叉出油配置</span>
|
|
|
+ <el-table :data="state.coldStartInfo.nonStandeNozzleList" stripe style="width: 100%;">
|
|
|
+ <el-table-column v-for="colume in state.nonstandNozzledynamicColumns" :key="colume" :prop="colume.prop" :label="colume.label" />
|
|
|
+ </el-table>
|
|
|
+ </el-col>
|
|
|
+ </el-card>
|
|
|
+
|
|
|
+ <el-card v-if="form.opreationType == '冷启动'" header="显示屏配置" class="mt8" style="width: 100%;" shadow="hover">
|
|
|
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" style="margin-bottom: 3%;">
|
|
|
+ <span>显示屏类型:{{ state.coldStartInfo.displayType }}</span>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
|
+ <el-table :data="state.coldStartInfo.displayCountList" stripe style="width: 100%;">
|
|
|
+ <el-table-column v-for="colume in state.displayCountdynamicColumns" :key="colume" :prop="colume.prop" :label="colume.label" />
|
|
|
+ </el-table>
|
|
|
+ </el-col>
|
|
|
+ </el-card>
|
|
|
+
|
|
|
+ <el-card v-if="form.opreationType == '冷启动'" header="油机ip" class="mt8" style="width: 100%;" shadow="hover">
|
|
|
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
|
+ <span>network ip:{{ state.coldStartInfo.machineIP.networkIP }}</span>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
|
+ <span>network 网关:{{ state.coldStartInfo.machineIP.networkGateway }}</span>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
|
+ <span>network 子网掩码:{{ state.coldStartInfo.machineIP.networkMask }}</span>
|
|
|
+ </el-col>
|
|
|
+ <hr style="margin: 3% 0%;height: 1px;" />
|
|
|
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
|
+ <span>IFSF network ip:{{ state.coldStartInfo.machineIP.ifsfIP }}</span>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
|
+ <span>IFSF network 网关:{{ state.coldStartInfo.machineIP.ifsfGateway }}</span>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
|
+ <span>IFSF network 子网掩码:{{ state.coldStartInfo.machineIP.ifsfMask }}</span>
|
|
|
+ </el-col>
|
|
|
+ </el-card>
|
|
|
+
|
|
|
+ <el-card v-if="form.opreationType == '冷启动'" header="多媒体大屏配置" class="mt8" style="width: 100%;" shadow="hover">
|
|
|
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
|
+ <span>是否连接A面大屏:{{ state.coldStartInfo.screenConfig.isOpenVGAA == true ? "打开" : "关闭" }}</span>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
|
+ <span>A面大屏IP:{{ state.coldStartInfo.screenConfig.ipVGAA }}</span>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
|
+ <span>A面大屏端口:{{ state.coldStartInfo.screenConfig.portVGAA }}</span>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
|
+ <span>A面大屏关联加油点:{{ state.coldStartInfo.screenConfig.fpointVGAA.join(',') }}</span>
|
|
|
+ </el-col>
|
|
|
+ <hr style="margin: 3% 0%;height: 1px;" />
|
|
|
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
|
+ <span>是否连接B面大屏:{{ state.coldStartInfo.screenConfig.isOpenVGAB == true ? "打开" : "关闭" }}</span>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
|
+ <span>B面大屏IP:{{ state.coldStartInfo.screenConfig.ipVGAB }}</span>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
|
+ <span>B面大屏端口:{{ state.coldStartInfo.screenConfig.portVGAB }}</span>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
|
+ <span>B面大屏关联加油点:{{ state.coldStartInfo.screenConfig.fpointVGAB.join(',') }}</span>
|
|
|
+ </el-col>
|
|
|
+ </el-card>
|
|
|
+
|
|
|
+ <el-card v-if="form.opreationType == '冷启动'" header="打印机配置" class="mt8" style="width: 100%;" shadow="hover">
|
|
|
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
|
+ <el-table :data="state.coldStartInfo.printerConfig" stripe style="width: 100%;">
|
|
|
+ <el-table-column v-for="colume in state.printConfigdynamicColumns" :key="colume" :prop="colume.prop" :label="colume.label" />
|
|
|
+ </el-table>
|
|
|
+ </el-col>
|
|
|
+ </el-card>
|
|
|
+
|
|
|
+ <el-card v-if="form.opreationType == '冷启动'" header="协议配置" class="mt8" style="width: 100%;" shadow="hover">
|
|
|
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
|
+ <span>配置协议:{{ state.coldStartInfo.agree }}</span>
|
|
|
+ </el-col>
|
|
|
+ </el-card>
|
|
|
+
|
|
|
+ <el-card v-if="form.opreationType == '冷启动'" header="IFSF 音频配置" class="mt8" style="width: 100%;" shadow="hover">
|
|
|
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
|
+ <span>是否开启IFSF音频:{{ state.coldStartInfo.ifsfVolumeConfig.isOpen == true ? "打开" : "关闭" }}</span>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
|
+ <span>IFSF 语音播报类型:{{ state.coldStartInfo.ifsfVolumeConfig.type }}</span>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
|
+ <span>IFSF 白天开始时间:{{ state.coldStartInfo.ifsfVolumeConfig.dayTime }} 点</span>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
|
+ <span>IFSF 晚上开始时间:{{ state.coldStartInfo.ifsfVolumeConfig.nightTime }} 点</span>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
|
+ <span>IFSF 白天音量:{{ state.coldStartInfo.ifsfVolumeConfig.dayVolume }} 级</span>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
|
+ <span>IFSF 晚上音量:{{ state.coldStartInfo.ifsfVolumeConfig.nightTime }} 级</span>
|
|
|
+ </el-col>
|
|
|
+ </el-card>
|
|
|
+
|
|
|
+ <el-card v-if="form.opreationType == '数据备份'" header="数据备份" class="mt8" shadow="hover" >
|
|
|
+ <span>备份结果:{{ state.dataBackInfo.backResult}}</span>
|
|
|
+ </el-card>
|
|
|
+
|
|
|
+ <el-card v-if="form.opreationType == '数据还原'" header="数据还原" class="mt8" shadow="hover" >
|
|
|
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
|
+ <span>还原包:{{ state.dataRestoreInfo.backInfo}}</span>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
|
+ <span>还原结果:{{ state.dataRestoreInfo.restoreResult}}</span>
|
|
|
+ </el-col>
|
|
|
+ </el-card>
|
|
|
+
|
|
|
+ <el-card v-if="form.opreationType == '油机升级'" header="油机升级" class="mt8" shadow="hover" >
|
|
|
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
|
+ <span>旧版本:{{ state.machineUpgradeInfo.oldVersion}}</span>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
|
+ <span>升级包:{{ state.machineUpgradeInfo.newVersion}}</span>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
|
+ <span>升级结果:{{ state.machineUpgradeInfo.upgradeResult}}</span>
|
|
|
+ </el-col>
|
|
|
+ </el-card>
|
|
|
+
|
|
|
+ <el-card v-if="form.opreationType == '计控参数'" header="计控参数" class="mt8" shadow="hover" >
|
|
|
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
|
+ <span>设置的脉冲隐藏参数:{{ state.legalParamsInfo.pulseHideParams}}</span>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
|
+ <span>设置结果:{{ state.legalParamsInfo.result}}</span>
|
|
|
+ </el-col>
|
|
|
+ </el-card>
|
|
|
+
|
|
|
+ <el-card v-if="form.opreationType == '计控交易日志'" header="计控交易日志" class="mt8" shadow="hover" >
|
|
|
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
|
+ <span>拷贝油枪的加油点:{{ state.legalLogCopyInfo.fpoint}}</span>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
|
+ <span>拷贝油枪的内部枪号:{{ state.legalLogCopyInfo.interNum}}</span>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
|
+ <span>拷贝油枪的外部枪号:{{ state.legalLogCopyInfo.nozzle}}</span>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
|
+ <span>开始拷贝日志:{{ state.legalLogCopyInfo.startTrans}}</span>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
|
+ <span>结束拷贝日志:{{ state.legalLogCopyInfo.endTrans}}</span>
|
|
|
+ </el-col>
|
|
|
+ <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24">
|
|
|
+ <span>拷贝结果:{{ state.legalLogCopyInfo.result}}</span>
|
|
|
+ </el-col>
|
|
|
+ </el-card>
|
|
|
+
|
|
|
<template #footer>
|
|
|
<span class="dialog-footer">
|
|
|
<el-button @click="onCancel" size="default">取 消</el-button>
|
|
|
@@ -53,6 +207,9 @@ import { reactive, toRefs, ref, PropType } from 'vue'
|
|
|
import { OauthApplyDto,OauthApply } from '/@/api/admin/data-contracts'
|
|
|
import { PermissionApi } from '/@/api/admin/Permission'
|
|
|
import eventBus from '/@/utils/mitt'
|
|
|
+import { BackRestoreInfo, BackResultInfo, ColdStartInfo, LegalParamsInfo, LegalTransLogCopyInfo, RecordOutput, UpgradeInfo } from '/@/api/appOperationRecord/dto'
|
|
|
+import { number } from 'echarts'
|
|
|
+import { it } from 'node:test'
|
|
|
|
|
|
defineProps({
|
|
|
title: {
|
|
|
@@ -69,14 +226,37 @@ const formRef = ref()
|
|
|
const state = reactive({
|
|
|
showDialog: false,
|
|
|
sureLoading: false,
|
|
|
- form: {
|
|
|
- id:0,
|
|
|
- appid: '',
|
|
|
- name: '',
|
|
|
- code: '',
|
|
|
- sort: '',
|
|
|
- minVersion:'',
|
|
|
- } as OauthApplyDto,
|
|
|
+ /** 操作记录数据 */
|
|
|
+ form: {} as RecordOutput,
|
|
|
+ /**交叉出油动态表头 */
|
|
|
+ nonstandNozzledynamicColumns: [
|
|
|
+ { prop: 'nozzleNum', label: '物理枪号' },
|
|
|
+ { prop: 'fpoint', label: '加油点' },
|
|
|
+ { prop: 'oilId', label: '油品号' },
|
|
|
+ { prop: 'motolNum', label: '马达号' }],
|
|
|
+
|
|
|
+ /**显示屏数量动态表头 */
|
|
|
+ displayCountdynamicColumns: [
|
|
|
+ { prop: 'fpoint', label: '加油点' },
|
|
|
+ { prop: 'displayNum', label: '显示屏数量' }],
|
|
|
+
|
|
|
+ /**打印机配置动态表头 */
|
|
|
+ printConfigdynamicColumns: [
|
|
|
+ { prop: 'fpoint', label: '加油点' },
|
|
|
+ { prop: 'printerAdress', label: '打印机地址' },
|
|
|
+ { prop: 'printerMode', label: '打印机模式' }],
|
|
|
+ /** 冷启动记录 */
|
|
|
+ coldStartInfo:{} as ColdStartInfo,
|
|
|
+ /** 数据备份记录 */
|
|
|
+ dataBackInfo:{} as BackResultInfo,
|
|
|
+ /** 数据还原记录 */
|
|
|
+ dataRestoreInfo:{} as BackRestoreInfo,
|
|
|
+ /** 油机升级记录 */
|
|
|
+ machineUpgradeInfo:{} as UpgradeInfo,
|
|
|
+ /** 计控参数设置记录 */
|
|
|
+ legalParamsInfo:{} as LegalParamsInfo,
|
|
|
+ /** 计控交易日志拷贝记录 */
|
|
|
+ legalLogCopyInfo:{} as LegalTransLogCopyInfo
|
|
|
})
|
|
|
|
|
|
const { form } = toRefs(state)
|
|
|
@@ -93,9 +273,81 @@ const open = async (row: any = {}) => {
|
|
|
// } else {
|
|
|
// state.form = {} as OauthApplyDto
|
|
|
// }
|
|
|
+
|
|
|
state.form=row
|
|
|
+
|
|
|
+ getRecord()
|
|
|
state.showDialog = true
|
|
|
}
|
|
|
+
|
|
|
+/** 将操作记录json转对象 */
|
|
|
+const getRecord = () => {
|
|
|
+ clearRecord()
|
|
|
+
|
|
|
+ if(form.value.recodeJson) {
|
|
|
+ if(state.form.opreationType == "冷启动") {
|
|
|
+ state.coldStartInfo = JSON.parse(form.value.recodeJson)
|
|
|
+ }
|
|
|
+ if(state.form.opreationType == "数据备份"){
|
|
|
+ state.dataBackInfo = JSON.parse(form.value.recodeJson)
|
|
|
+ }
|
|
|
+ if(state.form.opreationType == "数据还原"){
|
|
|
+ state.dataRestoreInfo = JSON.parse(form.value.recodeJson)
|
|
|
+ }
|
|
|
+ if(state.form.opreationType == "油机升级"){
|
|
|
+ state.machineUpgradeInfo = JSON.parse(form.value.recodeJson)
|
|
|
+ }
|
|
|
+ if(state.form.opreationType == "计控参数"){
|
|
|
+ state.legalParamsInfo = JSON.parse(form.value.recodeJson)
|
|
|
+ }
|
|
|
+ if(state.form.opreationType == "计控交易日志"){
|
|
|
+ state.legalLogCopyInfo = JSON.parse(form.value.recodeJson)
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+/** 清空操作记录对象 */
|
|
|
+const clearRecord = () => {
|
|
|
+ /** 冷启动记录 */
|
|
|
+ state.coldStartInfo = {} as ColdStartInfo
|
|
|
+ /** 数据备份记录 */
|
|
|
+ state.dataBackInfo = {} as BackResultInfo,
|
|
|
+ /** 数据还原记录 */
|
|
|
+ state.dataRestoreInfo = {} as BackRestoreInfo,
|
|
|
+ /** 油机升级记录 */
|
|
|
+ state.machineUpgradeInfo = {} as UpgradeInfo,
|
|
|
+ /** 计控参数设置记录 */
|
|
|
+ state.legalParamsInfo = {} as LegalParamsInfo,
|
|
|
+ /** 计控交易日志拷贝记录 */
|
|
|
+ state.legalLogCopyInfo = {} as LegalTransLogCopyInfo
|
|
|
+}
|
|
|
+
|
|
|
+/** 转多媒体屏设置 */
|
|
|
+const trunScreenConfig = () => {
|
|
|
+ var screenFpointsA = ""
|
|
|
+ info.fpointVGAA.array.forEach((element:number) => {
|
|
|
+ screenFpointsA += element + ","
|
|
|
+ });
|
|
|
+ screenFpointsA.slice(0,screenFpointsA.length - 1)
|
|
|
+
|
|
|
+ var screenFpointsB = ""
|
|
|
+ info.fpointVGAB.array.forEach((element:number) => {
|
|
|
+ screenFpointsB += element + ","
|
|
|
+ });
|
|
|
+ screenFpointsB.slice(0,screenFpointsB.length - 1)
|
|
|
+
|
|
|
+ const screenConfig = {
|
|
|
+ isOpenVGAA: info.isOpenVGAA == true ? "打开" : "关闭",
|
|
|
+ ipVGAA: info.ipVGAA,
|
|
|
+ portVGAA: info.portVGAA,
|
|
|
+ fpointVGAA: screenFpointsA,
|
|
|
+ isOpenVGAB: info.isOpenVGAB == true ? "打开" : "关闭",
|
|
|
+ ipVGAB: info.ipVGAB,
|
|
|
+ portVGAB: info.portVGAB,
|
|
|
+ fpointVGAB: screenFpointsB
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
// 取消
|
|
|
const onCancel = () => {
|
|
|
state.showDialog = false
|
|
|
@@ -103,28 +355,7 @@ const onCancel = () => {
|
|
|
|
|
|
// 确定
|
|
|
const onSure = () => {
|
|
|
- formRef.value.validate(async (valid: boolean) => {
|
|
|
- if (!valid) return
|
|
|
-
|
|
|
- state.sureLoading = true
|
|
|
- let res = {} as any
|
|
|
- if (state.form.id != undefined && state.form.id > 0) {
|
|
|
- res = await new PermissionApi().addApply(state.form, { showSuccessMessage: true }).catch(() => {
|
|
|
- state.sureLoading = false
|
|
|
- })
|
|
|
- } else {
|
|
|
- res = await new PermissionApi().addApply(state.form, { showSuccessMessage: true }).catch(() => {
|
|
|
- state.sureLoading = false
|
|
|
- })
|
|
|
- }
|
|
|
-
|
|
|
- state.sureLoading = false
|
|
|
-
|
|
|
- if (res?.success) {
|
|
|
- eventBus.emit('refreshOrg')
|
|
|
- state.showDialog = false
|
|
|
- }
|
|
|
- })
|
|
|
+ state.showDialog = false
|
|
|
}
|
|
|
|
|
|
defineExpose({
|