Merge remote-tracking branch 'origin/master'
| | |
| | | }) |
| | | } |
| | | |
| | | // 批量审核工单 |
| | | export function batchAuditing(data) { |
| | | return request({ |
| | | url: '/work-order/batchAuditing', |
| | | method: 'put', |
| | | data: data |
| | | }) |
| | | } |
| | | |
| | | // 工单运维情况 |
| | | export function ywCondition(data) { |
| | | return request({ |
| | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="审核人" align="center" prop="auditingUser" /> |
| | | <el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width"> |
| | | <el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width" width="230px"> |
| | | <template slot-scope="scope"> |
| | | <el-button size="mini" type="text" icon="el-icon-view" @click="handleView(scope.row)">详情</el-button> |
| | | <el-button size="mini" type="text" icon="el-icon-s-check" @click="handleAuditing(scope.row)" |
| | |
| | | <template slot-scope="{ data }"> |
| | | <el-tooltip class="item" :disabled="data.label.length < 16 && !data.deductCategory" effect="dark" |
| | | :content=" |
| | | data.label.length < 16 ? |
| | | data.deductCategory ? |
| | | data.deductCategory == '分数乘以数量' ? '扣' + data.calcFraction + '分*数量 ' : data.deductCategory == '除以数量后乘以分数' ? '扣' + data.calcFraction + '分/' + data.calcUnit + '小时' : '扣' + data.calcFraction + '分' : |
| | | '' : |
| | | (data.deductCategory ? |
| | | data.label + ' ' + (data.deductCategory == '分数乘以数量' ? '扣' + data.calcFraction + '分*数量 ' : data.deductCategory == '除以数量后乘以分数' ? '扣' + data.calcFraction + '分/' + data.calcUnit + '小时' : '扣' + data.calcFraction + '分') : |
| | | data.label.length < 16 ? |
| | | data.deductCategory ? |
| | | data.deductCategory == '分数乘以数量' ? '扣' + data.calcFraction + '分*数量 ' : data.deductCategory == '除以数量后乘以分数' ? '扣' + data.calcFraction + '分/' + data.calcUnit + '小时' : '扣' + data.calcFraction + '分' : |
| | | '' : |
| | | (data.deductCategory ? |
| | | data.label + ' ' + (data.deductCategory == '分数乘以数量' ? '扣' + data.calcFraction + '分*数量 ' : data.deductCategory == '除以数量后乘以分数' ? '扣' + data.calcFraction + '分/' + data.calcUnit + '小时' : '扣' + data.calcFraction + '分') : |
| | | data.label)" |
| | | placement="left"> |
| | | <span>{{ data.label }}</span> |
| | |
| | | .el-cascader-node { |
| | | max-width: 300px; |
| | | } |
| | | </style> |
| | | </style> |
| | |
| | | |
| | | <script> |
| | | import { listPlatform, getPlatform, delPlatform, addPlatform, updatePlatform } from "@/api/platform/vehicle-data-monitor"; |
| | | import { tableColumn } from "./list"; |
| | | import { videoData, carData, faceData, equipment } from "./list"; |
| | | import store from '@/store'; |
| | | |
| | | export default { |
| | |
| | | next(); |
| | | }, |
| | | created() { |
| | | this.tableHead = tableColumn[0].columns; |
| | | if (this.$route.query.type === '1') this.tableHead = videoData[this.$route.query.index].columns; |
| | | if (this.$route.query.type === '2') this.tableHead = carData[this.$route.query.index].columns; |
| | | if (this.$route.query.type === '3') this.tableHead = faceData[this.$route.query.index].columns; |
| | | if (this.$route.query.type === '4') this.tableHead = equipment[this.$route.query.index].columns; |
| | | this.getList(); |
| | | }, |
| | | methods: { |
| | |
| | | export const tableColumn = [ |
| | | export const videoData = [ |
| | | { |
| | | title: '平台在线', |
| | | columns: [ |
| | |
| | | prop: 'notUniqueDataNumber' |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | title: '一机一档', |
| | | columns: [ |
| | | { |
| | | label: '卡口名称', |
| | | align: 'center', |
| | | prop: 'bayonetName', |
| | | }, |
| | | { |
| | | label: '卡口编号', |
| | | align: 'center', |
| | | prop: 'bayonetNumber' |
| | | }, |
| | | { |
| | | label: '过车数据量', |
| | | align: 'center', |
| | | prop: 'vehicleDataNumber' |
| | | }, |
| | | { |
| | | label: '不唯一数据', |
| | | align: 'center', |
| | | prop: 'notUniqueData' |
| | | }, |
| | | { |
| | | label: '不唯一数据量', |
| | | align: 'center', |
| | | prop: 'notUniqueDataNumber' |
| | | }, |
| | | ] |
| | | }, |
| | | { |
| | | title: "点位在线", |
| | | columns: [ |
| | | { |
| | | label: "行政区划编码", |
| | | align: "center", |
| | | prop: "arealayernoCode" |
| | | }, |
| | | { |
| | | label: "行政区划名称", |
| | | align: "center", |
| | | prop: "arealayernoName" |
| | | }, |
| | | { |
| | | label: "诊断日期", |
| | | align: "center", |
| | | prop: "diagDate" |
| | | }, |
| | | { |
| | | label: "统计纬度", |
| | | align: "center", |
| | | prop: "dim" |
| | | }, |
| | | { |
| | | label: "icmp离线数", |
| | | align: "center", |
| | | prop: "icmpOfflineNum" |
| | | }, |
| | | { |
| | | label: "icmp在线数", |
| | | align: "center", |
| | | prop: "icmpOnlineNum" |
| | | }, |
| | | { |
| | | label: "icmp在线率", |
| | | align: "center", |
| | | prop: "icmpOnlineRate" |
| | | }, |
| | | { |
| | | label: "icmp诊断总数", |
| | | align: "center", |
| | | prop: "icmpTotalNum" |
| | | }, |
| | | { |
| | | label: "离线数", |
| | | align: "center", |
| | | prop: "offlineNum" |
| | | }, |
| | | { |
| | | label: "在线数", |
| | | align: "center", |
| | | prop: "onlineNum" |
| | | }, |
| | | { |
| | | label: "在线率", |
| | | align: "center", |
| | | prop: "onlineRate" |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | title: "录像可用", |
| | | columns: [ |
| | | { |
| | | label: "行政区域名称", |
| | | align: "center", |
| | | prop: "arealayername" |
| | | }, |
| | | { |
| | | label: "行政区域ID", |
| | | align: "center", |
| | | prop: "arealayerno" |
| | | }, |
| | | { |
| | | label: "创建时间", |
| | | align: "center", |
| | | prop: "createTime" |
| | | }, |
| | | { |
| | | label: "摄像机ID", |
| | | align: "center", |
| | | prop: "deviceId" |
| | | }, |
| | | { |
| | | label: "摄像机名称", |
| | | align: "center", |
| | | prop: "deviceName" |
| | | }, |
| | | { |
| | | label: "主键ID", |
| | | align: "center", |
| | | prop: "id" |
| | | }, |
| | | { |
| | | label: "缺失时长", |
| | | align: "center", |
| | | prop: "missDuration" |
| | | }, |
| | | { |
| | | label: "国标平台ID", |
| | | align: "center", |
| | | prop: "platId" |
| | | }, |
| | | { |
| | | label: "录像时长", |
| | | align: "center", |
| | | prop: "recordDuration" |
| | | }, |
| | | { |
| | | label: "录像完整状态", |
| | | align: "center", |
| | | prop: "recordStatus" |
| | | }, |
| | | { |
| | | label: "统计时间", |
| | | align: "center", |
| | | prop: "statTime" |
| | | }, |
| | | { |
| | | label: "租户ID", |
| | | align: "center", |
| | | prop: "tenantId" |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | title: "视频标注", |
| | | columns: [ |
| | | { |
| | | label: "区域路径信息", |
| | | align: "center", |
| | | prop: "arealayerPath" |
| | | }, |
| | | { |
| | | label: "区域名称", |
| | | align: "center", |
| | | prop: "arealayername" |
| | | }, |
| | | { |
| | | label: "区域编码", |
| | | align: "center", |
| | | prop: "arealayerno" |
| | | }, |
| | | { |
| | | label: "设备 ID", |
| | | align: "center", |
| | | prop: "deviceId" |
| | | }, |
| | | { |
| | | label: "设备名称", |
| | | align: "center", |
| | | prop: "deviceName" |
| | | }, |
| | | { |
| | | label: "是否大于最大值", |
| | | align: "center", |
| | | prop: "diff" |
| | | }, |
| | | { |
| | | label: "拉码流时间差", |
| | | align: "center", |
| | | prop: "diffTime" |
| | | }, |
| | | { |
| | | label: "IP 地址", |
| | | align: "center", |
| | | prop: "ip" |
| | | }, |
| | | { |
| | | label: "图片 ocr 识别结果", |
| | | align: "center", |
| | | prop: "ocrResult" |
| | | }, |
| | | { |
| | | label: "图片地址", |
| | | align: "center", |
| | | prop: "imgPath" |
| | | }, |
| | | { |
| | | label: "状态码", |
| | | align: "center", |
| | | prop: "statusCode" |
| | | }, |
| | | { |
| | | label: "拉码流时间格式", |
| | | align: "center", |
| | | prop: "osdFormat" |
| | | }, |
| | | { |
| | | label: "OSD 信息", |
| | | align: "center", |
| | | prop: "osdInfo" |
| | | }, |
| | | { |
| | | label: "图片上的字幕时间", |
| | | align: "center", |
| | | prop: "osdTime" |
| | | }, |
| | | { |
| | | label: "摄像机标签", |
| | | align: "center", |
| | | prop: "tags" |
| | | }, |
| | | { |
| | | label: "更新时间", |
| | | align: "center", |
| | | prop: "updateTime" |
| | | }, |
| | | { |
| | | label: "视频码流获取时间", |
| | | align: "center", |
| | | prop: "videoGetTime" |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | title: '重点指挥图像在线率', |
| | | columns: [ |
| | | { |
| | | label: "区域路径信息", |
| | | align: "center", |
| | | prop: "arealayerPath" |
| | | }, |
| | | { |
| | | label: "行政区划编码", |
| | | align: "center", |
| | | prop: "arealayernoCode" |
| | | }, |
| | | { |
| | | label: "行政区划名称", |
| | | align: "center", |
| | | prop: "arealayernoName" |
| | | }, |
| | | { |
| | | label: "二进制租户ID", |
| | | align: "center", |
| | | prop: "binaryTenantId" |
| | | }, |
| | | { |
| | | label: "模糊", |
| | | align: "center", |
| | | prop: "blur" |
| | | }, |
| | | { |
| | | label: "模糊原始分值", |
| | | align: "center", |
| | | prop: "blurRaw" |
| | | }, |
| | | { |
| | | label: "模糊阈值", |
| | | align: "center", |
| | | prop: "blurThreshold" |
| | | }, |
| | | { |
| | | label: "颜色", |
| | | align: "center", |
| | | prop: "color" |
| | | }, |
| | | { |
| | | label: "颜色原始分值", |
| | | align: "center", |
| | | prop: "colorRaw" |
| | | }, |
| | | { |
| | | label: "颜色阈值", |
| | | align: "center", |
| | | prop: "colorThreshold" |
| | | }, |
| | | { |
| | | label: "解码信息", |
| | | align: "center", |
| | | prop: "decodeInfo" |
| | | }, |
| | | { |
| | | label: "设备国标ID", |
| | | align: "center", |
| | | prop: "deviceId" |
| | | }, |
| | | { |
| | | label: "设备IP", |
| | | align: "center", |
| | | prop: "deviceIp" |
| | | }, |
| | | { |
| | | label: "设备名称", |
| | | align: "center", |
| | | prop: "deviceName" |
| | | }, |
| | | { |
| | | label: "扩展JSON", |
| | | align: "center", |
| | | prop: "extJson" |
| | | }, |
| | | { |
| | | label: "丢帧率", |
| | | align: "center", |
| | | prop: "frameLostRate" |
| | | }, |
| | | { |
| | | label: "组ID", |
| | | align: "center", |
| | | prop: "groupId" |
| | | }, |
| | | { |
| | | label: "主键ID", |
| | | align: "center", |
| | | prop: "id" |
| | | }, |
| | | { |
| | | label: "IFM延迟", |
| | | align: "center", |
| | | prop: "ifmDelay" |
| | | }, |
| | | { |
| | | label: "图像路径", |
| | | align: "center", |
| | | prop: "imagePath" |
| | | }, |
| | | { |
| | | label: "图像状态", |
| | | align: "center", |
| | | prop: "imgStatus" |
| | | }, |
| | | { |
| | | label: "入网时间", |
| | | align: "center", |
| | | prop: "inTime" |
| | | }, |
| | | { |
| | | label: "纬度", |
| | | align: "center", |
| | | prop: "latitude" |
| | | }, |
| | | { |
| | | label: "亮度", |
| | | align: "center", |
| | | prop: "light" |
| | | }, |
| | | { |
| | | label: "亮度原始分值", |
| | | align: "center", |
| | | prop: "lightRaw" |
| | | }, |
| | | { |
| | | label: "亮度阈值", |
| | | align: "center", |
| | | prop: "lightThreshold" |
| | | }, |
| | | { |
| | | label: "经度", |
| | | align: "center", |
| | | prop: "longitude" |
| | | }, |
| | | { |
| | | label: "在线状态", |
| | | align: "center", |
| | | prop: "onlineStatus" |
| | | }, |
| | | { |
| | | label: "原始平台ID", |
| | | align: "center", |
| | | prop: "originalPlatId" |
| | | }, |
| | | { |
| | | label: "负载类型", |
| | | align: "center", |
| | | prop: "payloadType" |
| | | }, |
| | | { |
| | | label: "像素信息", |
| | | align: "center", |
| | | prop: "pixelInfo" |
| | | }, |
| | | { |
| | | label: "平台ID", |
| | | align: "center", |
| | | prop: "platId" |
| | | }, |
| | | { |
| | | label: "遮挡", |
| | | align: "center", |
| | | prop: "shade" |
| | | }, |
| | | { |
| | | label: "遮挡原始分值", |
| | | align: "center", |
| | | prop: "shadeRaw" |
| | | }, |
| | | { |
| | | label: "遮挡阈值", |
| | | align: "center", |
| | | prop: "shadeThreshold" |
| | | }, |
| | | { |
| | | label: "抖动", |
| | | align: "center", |
| | | prop: "shake" |
| | | }, |
| | | { |
| | | label: "抖动原始分值", |
| | | align: "center", |
| | | prop: "shakeRaw" |
| | | }, |
| | | { |
| | | label: "抖动阈值", |
| | | align: "center", |
| | | prop: "shakeThreshold" |
| | | }, |
| | | { |
| | | label: "无信号", |
| | | align: "center", |
| | | prop: "signa1" |
| | | }, |
| | | { |
| | | label: "无信号原始分值", |
| | | align: "center", |
| | | prop: "signa1Raw" |
| | | }, |
| | | { |
| | | label: "无信号状态", |
| | | align: "center", |
| | | prop: "signa1Status" |
| | | }, |
| | | { |
| | | label: "无信号阈值", |
| | | align: "center", |
| | | prop: "signa1Threshold" |
| | | }, |
| | | { |
| | | label: "SIP延迟", |
| | | align: "center", |
| | | prop: "sipDelay" |
| | | }, |
| | | { |
| | | label: "雪花", |
| | | align: "center", |
| | | prop: "snow" |
| | | }, |
| | | { |
| | | label: "雪花原始分值", |
| | | align: "center", |
| | | prop: "snowRaw" |
| | | }, |
| | | { |
| | | label: "雪花阈值", |
| | | align: "center", |
| | | prop: "snowThreshold" |
| | | }, |
| | | { |
| | | label: "条纹", |
| | | align: "center", |
| | | prop: "stripe" |
| | | }, |
| | | { |
| | | label: "条纹原始分值", |
| | | align: "center", |
| | | prop: "stripeRaw" |
| | | }, |
| | | { |
| | | label: "条纹阈值", |
| | | align: "center", |
| | | prop: "stripeThreshold" |
| | | }, |
| | | { |
| | | label: "摄像机标签", |
| | | align: "center", |
| | | prop: "tags" |
| | | }, |
| | | { |
| | | label: "任务创建时间", |
| | | align: "center", |
| | | prop: "taskCreateTime" |
| | | }, |
| | | { |
| | | label: "任务复检时间", |
| | | align: "center", |
| | | prop: "taskRecheckTime" |
| | | }, |
| | | { |
| | | label: "租户ID", |
| | | align: "center", |
| | | prop: "tenantId" |
| | | }, |
| | | { |
| | | label: "视频延迟", |
| | | align: "center", |
| | | prop: "videoDelay" |
| | | }, |
| | | { |
| | | label: "视频诊断状态", |
| | | align: "center", |
| | | prop: "videoDiagStatus" |
| | | }, |
| | | { |
| | | label: "视频诊断时间", |
| | | align: "center", |
| | | prop: "videoDiagTime" |
| | | }, |
| | | { |
| | | label: "视频获取状态", |
| | | align: "center", |
| | | prop: "videoGetStatus" |
| | | }, |
| | | { |
| | | label: "视频获取时间", |
| | | align: "center", |
| | | prop: "videoGetTime" |
| | | }, |
| | | { |
| | | label: "夜间VQD", |
| | | align: "center", |
| | | prop: "vqdAtNight" |
| | | } |
| | | ] |
| | | }, |
| | | { |
| | | title: '视频图像资源安全管理', |
| | | columns: [] |
| | | }, |
| | | { |
| | | title: "视频图像质量检测报告", |
| | | columns: [ |
| | | { |
| | | label: "行政区划编码", |
| | | align: "center", |
| | | prop: "arealayernoCode" |
| | | }, |
| | | { |
| | | label: "行政区划名称", |
| | | align: "center", |
| | | prop: "arealayernoName" |
| | | }, |
| | | { |
| | | label: "模糊", |
| | | align: "center", |
| | | prop: "blur" |
| | | }, |
| | | { |
| | | label: "模糊原始分值", |
| | | align: "center", |
| | | prop: "blurRaw" |
| | | }, |
| | | { |
| | | label: "颜色", |
| | | align: "center", |
| | | prop: "color" |
| | | }, |
| | | { |
| | | label: "颜色原始分值", |
| | | align: "center", |
| | | prop: "colorRaw" |
| | | }, |
| | | { |
| | | label: "摄像机-国标id", |
| | | align: "center", |
| | | prop: "deviceId" |
| | | }, |
| | | { |
| | | label: "摄像机ip", |
| | | align: "center", |
| | | prop: "deviceIp" |
| | | }, |
| | | { |
| | | label: "摄像机设备名称", |
| | | align: "center", |
| | | prop: "deviceName" |
| | | }, |
| | | { |
| | | label: "统计纬度", |
| | | align: "center", |
| | | prop: "dim" |
| | | }, |
| | | { |
| | | label: "图像是否正常", |
| | | align: "center", |
| | | prop: "isImgAbnormal" |
| | | }, |
| | | { |
| | | label: "信号是否丢失", |
| | | align: "center", |
| | | prop: "isSignalMiss" |
| | | }, |
| | | { |
| | | label: "亮度", |
| | | align: "center", |
| | | prop: "light" |
| | | }, |
| | | { |
| | | label: "亮度原始分值", |
| | | align: "center", |
| | | prop: "lightRaw" |
| | | }, |
| | | { |
| | | label: "遮挡", |
| | | align: "center", |
| | | prop: "shade" |
| | | }, |
| | | { |
| | | label: "遮挡原始分值", |
| | | align: "center", |
| | | prop: "shadeRaw" |
| | | }, |
| | | { |
| | | label: "抖动", |
| | | align: "center", |
| | | prop: "shake" |
| | | }, |
| | | { |
| | | label: "抖动原始分值", |
| | | align: "center", |
| | | prop: "shakeRaw" |
| | | }, |
| | | { |
| | | label: "无信号", |
| | | align: "center", |
| | | prop: "signa1" |
| | | }, |
| | | { |
| | | label: "无信号原始分值", |
| | | align: "center", |
| | | prop: "signa1Raw" |
| | | }, |
| | | { |
| | | label: "雪花", |
| | | align: "center", |
| | | prop: "snow" |
| | | }, |
| | | { |
| | | label: "雪花原始分值", |
| | | align: "center", |
| | | prop: "snowRaw" |
| | | }, |
| | | { |
| | | label: "排序属性", |
| | | align: "center", |
| | | prop: "sortFiled" |
| | | }, |
| | | { |
| | | label: "诊断状态编码", |
| | | align: "center", |
| | | prop: "status" |
| | | }, |
| | | { |
| | | label: "诊断状态名称", |
| | | align: "center", |
| | | prop: "statusName" |
| | | }, |
| | | { |
| | | label: "条纹", |
| | | align: "center", |
| | | prop: "stripe" |
| | | }, |
| | | { |
| | | label: "条纹原始分值", |
| | | align: "center", |
| | | prop: "stripeRaw" |
| | | }, |
| | | { |
| | | label: "诊断时间", |
| | | align: "center", |
| | | prop: "vqdTime" |
| | | } |
| | | ] |
| | | } |
| | | ] |
| | | ]; |
| | | |
| | | export const carData = []; |
| | | |
| | | export const faceData = []; |
| | | |
| | | export const equipment = []; |
| | |
| | | <el-row :gutter="20"> |
| | | <el-col :xl="4" :lg="4" :md="6" :sm="6" :xs="12" v-for="(item, index) in videoData" :key="index" |
| | | :style="item.name == '' ? 'display:none' : ''" class="col-margin"> |
| | | <el-link @click="handleDetail(item)"> |
| | | <el-link @click="handleDetail(item, index)"> |
| | | <el-card style="width:150px;height: 150px;text-align: center;"> |
| | | <i style="font-size: 40px;padding: 15px;" :class="item.icon"></i> |
| | | <div>{{ item.name }}</div> |
| | |
| | | <el-row :gutter="20"> |
| | | <el-col :xl="4" :lg="4" :md="6" :sm="6" :xs="12" v-for="(item, index) in carData" :key="index" |
| | | :style="item.name == '' ? 'display:none' : ''" class="col-margin"> |
| | | <el-link @click="handleDetail(item)"> |
| | | <el-link @click="handleDetail(item, index)"> |
| | | <el-card style="width:150px;height: 150px;text-align: center;"> |
| | | <i style="font-size: 40px;padding: 15px;" :class="item.icon"></i> |
| | | <div>{{ item.name }}</div> |
| | |
| | | <el-row :gutter="20"> |
| | | <el-col :xl="4" :lg="4" :md="6" :sm="6" :xs="12" v-for="(item, index) in faceData" :key="index" |
| | | :style="item.name == '' ? 'display:none' : ''" class="col-margin"> |
| | | <el-link @click="handleDetail(item)"> |
| | | <el-link @click="handleDetail(item, index)"> |
| | | <el-card style="width:150px;height: 150px;text-align: center;"> |
| | | <i style="font-size: 40px;padding: 15px;" :class="item.icon"></i> |
| | | <div>{{ item.name }}</div> |
| | |
| | | <el-row :gutter="20"> |
| | | <el-col :xl="4" :lg="4" :md="6" :sm="6" :xs="12" v-for="(item, index) in equipment" :key="index" |
| | | :style="item.name == '' ? 'display:none' : ''" class="col-margin"> |
| | | <el-link @click="handleDetail(item)"> |
| | | <el-link @click="handleDetail(item, index)"> |
| | | <el-card style="width:150px;height: 150px;text-align: center;"> |
| | | <i style="font-size: 40px;padding: 15px;" :class="item.icon"></i> |
| | | <div>{{ item.name }}</div> |
| | |
| | | data() { |
| | | return { |
| | | videoData: [ |
| | | { name: '平台在线', icon: 'el-icon-connection', description: '描述信息', routerUrl: '/vehicle-data-monitor' }, |
| | | { name: '一机一档', icon: 'el-icon-folder', description: '描述信息', routerUrl: '/vehicle-data-monitor' }, |
| | | { name: '点位在线', icon: 'el-icon-search', description: '描述信息', routerUrl: '/vehicle-data-monitor' }, |
| | | { name: '录像可用', icon: 'el-icon-turn-off', description: '描述信息', routerUrl: '/vehicle-data-monitor' }, |
| | | { name: '视频标注', icon: 'el-icon-place', description: '描述信息', routerUrl: '/vehicle-data-monitor' }, |
| | | { name: '重点指挥图像在线率', icon: 'el-icon-film', description: '描述信息', routerUrl: '/vehicle-data-monitor' }, |
| | | { name: '视频图像资源安全管理', icon: 'el-icon-house', description: '描述信息', routerUrl: '/vehicle-data-monitor' }, |
| | | { name: '视频图像质量', icon: 'el-icon-set-up', description: '描述信息', routerUrl: '/vehicle-data-monitor' }, |
| | | { name: '', icon: 'el-icon-connection', description: '描述信息', routerUrl: '/vehicle-data-monitor' }, |
| | | { name: '', icon: 'el-icon-connection', description: '描述信息', routerUrl: '/vehicle-data-monitor' }, |
| | | { name: '', icon: 'el-icon-connection', description: '描述信息', routerUrl: '/vehicle-data-monitor' }, |
| | | { name: '', icon: 'el-icon-connection', description: '描述信息', routerUrl: '/vehicle-data-monitor' } |
| | | { name: '平台在线', icon: 'el-icon-connection', description: '描述信息', type: '1' }, |
| | | { name: '一机一档', icon: 'el-icon-folder', description: '描述信息', type: '1' }, |
| | | { name: '点位在线', icon: 'el-icon-search', description: '描述信息', type: '1' }, |
| | | { name: '录像可用', icon: 'el-icon-turn-off', description: '描述信息', type: '1' }, |
| | | { name: '视频标注', icon: 'el-icon-place', description: '描述信息', type: '1' }, |
| | | { name: '重点指挥图像在线率', icon: 'el-icon-film', description: '描述信息', type: '1' }, |
| | | { name: '视频图像资源安全管理', icon: 'el-icon-house', description: '描述信息', type: '1' }, |
| | | { name: '视频图像质量', icon: 'el-icon-set-up', description: '描述信息', type: '1' }, |
| | | { name: '', icon: 'el-icon-connection', description: '描述信息', type: '1' }, |
| | | { name: '', icon: 'el-icon-connection', description: '描述信息', type: '1' }, |
| | | { name: '', icon: 'el-icon-connection', description: '描述信息', type: '1' }, |
| | | { name: '', icon: 'el-icon-connection', description: '描述信息', type: '1' } |
| | | ], |
| | | carData: [ |
| | | { name: '视图库对接稳定性', icon: 'el-icon-truck', description: '描述信息', routerUrl: '/vehicle-data-monitor' }, |
| | | { name: '点位在线率', icon: 'el-icon-truck', description: '描述信息', routerUrl: '/vehicle-data-monitor' }, |
| | | { name: '联网卡口设备目录一致率', icon: 'el-icon-truck', description: '描述信息', routerUrl: '/vehicle-data-monitor' }, |
| | | { name: '车辆卡口信息采集准确率', icon: 'el-icon-truck', description: '描述信息', routerUrl: '/vehicle-data-monitor' }, |
| | | { name: '车辆卡口设备抓拍数据完整性', icon: 'el-icon-truck', description: '描述信息', routerUrl: '/vehicle-data-monitor' }, |
| | | { name: '车辆卡口设备抓拍数据准确性', icon: 'el-icon-truck', description: '描述信息', routerUrl: '/vehicle-data-monitor' }, |
| | | { name: '车辆卡口设备时钟准确性', icon: 'el-icon-truck', description: '描述信息', routerUrl: '/vehicle-data-monitor' }, |
| | | { name: '车辆卡口设备抓拍数据上传及时性', icon: 'el-icon-truck', description: '描述信息', routerUrl: '/vehicle-data-monitor' }, |
| | | { name: '车辆卡口设备url可用性', icon: 'el-icon-truck', description: '描述信息', routerUrl: '/vehicle-data-monitor' }, |
| | | { name: '车辆卡口设备抓拍数据大图可用性', icon: 'el-icon-truck', description: '描述信息', routerUrl: '/vehicle-data-monitor' }, |
| | | { name: '', icon: 'el-icon-truck', description: '描述信息', routerUrl: '/vehicle-data-monitor' }, |
| | | { name: '', icon: 'el-icon-truck', description: '描述信息', routerUrl: '/vehicle-data-monitor' } |
| | | { name: '视图库对接稳定性', icon: 'el-icon-truck', description: '描述信息', type: '2' }, |
| | | { name: '点位在线率', icon: 'el-icon-truck', description: '描述信息', type: '2' }, |
| | | { name: '联网卡口设备目录一致率', icon: 'el-icon-truck', description: '描述信息', type: '2' }, |
| | | { name: '车辆卡口信息采集准确率', icon: 'el-icon-truck', description: '描述信息', type: '2' }, |
| | | { name: '车辆卡口设备抓拍数据完整性', icon: 'el-icon-truck', description: '描述信息', type: '2' }, |
| | | { name: '车辆卡口设备抓拍数据准确性', icon: 'el-icon-truck', description: '描述信息', type: '2' }, |
| | | { name: '车辆卡口设备时钟准确性', icon: 'el-icon-truck', description: '描述信息', type: '2' }, |
| | | { name: '车辆卡口设备抓拍数据上传及时性', icon: 'el-icon-truck', description: '描述信息', type: '2' }, |
| | | { name: '车辆卡口设备url可用性', icon: 'el-icon-truck', description: '描述信息', type: '2' }, |
| | | { name: '车辆卡口设备抓拍数据大图可用性', icon: 'el-icon-truck', description: '描述信息', type: '2' }, |
| | | { name: '', icon: 'el-icon-truck', description: '描述信息', type: '2' }, |
| | | { name: '', icon: 'el-icon-truck', description: '描述信息', type: '2' } |
| | | ], |
| | | faceData: [ |
| | | { name: '视图库对接稳定性', icon: 'el-icon-alarm-clock', description: '描述信息', routerUrl: '/vehicle-data-monitor' }, |
| | | { name: '点位在线率', icon: 'el-icon-user', description: '描述信息', routerUrl: '/vehicle-data-monitor' }, |
| | | { name: '目录一致率', icon: 'el-icon-data-line', description: '描述信息', routerUrl: '/vehicle-data-monitor' }, |
| | | { name: '人脸卡口信息采集准确率', icon: 'el-icon-timer', description: '描述信息', routerUrl: '/vehicle-data-monitor' }, |
| | | { name: '设备抓拍图片合格性', icon: 'el-icon-money', description: '描述信息', routerUrl: '/vehicle-data-monitor' }, |
| | | { name: '设备抓拍图片时钟准确性', icon: 'el-icon-data-analysis', description: '描述信息', routerUrl: '/vehicle-data-monitor' }, |
| | | { name: '抓拍人脸数据上传及时性', icon: 'el-icon-thumb', description: '描述信息', routerUrl: '/vehicle-data-monitor' }, |
| | | { name: '人脸卡口设备抓拍数据大图可用性', icon: 'el-icon-pie-chart', description: '描述信息', routerUrl: '/vehicle-data-monitor' }, |
| | | { name: '', icon: 'el-icon-data-line', description: '描述信息', routerUrl: '/vehicle-data-monitor' }, |
| | | { name: '', icon: 'el-icon-timer', description: '描述信息', routerUrl: '/vehicle-data-monitor' }, |
| | | { name: '', icon: 'el-icon-money', description: '描述信息', routerUrl: '/vehicle-data-monitor' }, |
| | | { name: '', icon: 'el-icon-data-analysis', description: '描述信息', routerUrl: '/vehicle-data-monitor' }, |
| | | { name: '视图库对接稳定性', icon: 'el-icon-alarm-clock', description: '描述信息', type: '3' }, |
| | | { name: '点位在线率', icon: 'el-icon-user', description: '描述信息', type: '3' }, |
| | | { name: '目录一致率', icon: 'el-icon-data-line', description: '描述信息', type: '3' }, |
| | | { name: '人脸卡口信息采集准确率', icon: 'el-icon-timer', description: '描述信息', type: '3' }, |
| | | { name: '设备抓拍图片合格性', icon: 'el-icon-money', description: '描述信息', type: '3' }, |
| | | { name: '设备抓拍图片时钟准确性', icon: 'el-icon-data-analysis', description: '描述信息', type: '3' }, |
| | | { name: '抓拍人脸数据上传及时性', icon: 'el-icon-thumb', description: '描述信息', type: '3' }, |
| | | { name: '人脸卡口设备抓拍数据大图可用性', icon: 'el-icon-pie-chart', description: '描述信息', type: '3' }, |
| | | { name: '', icon: 'el-icon-data-line', description: '描述信息', type: '3' }, |
| | | { name: '', icon: 'el-icon-timer', description: '描述信息', type: '3' }, |
| | | { name: '', icon: 'el-icon-money', description: '描述信息', type: '3' }, |
| | | { name: '', icon: 'el-icon-data-analysis', description: '描述信息', type: '3' }, |
| | | ], |
| | | equipment: [ |
| | | { name: '资产管理', icon: 'el-icon-wallet', description: '描述信息', routerUrl: '/equipment/index' }, |
| | | { name: '', icon: 'el-icon-pie-chart', description: '描述信息', routerUrl: '/vehicle-data-monitor' }, |
| | | { name: '', icon: 'el-icon-data-line', description: '描述信息', routerUrl: '/vehicle-data-monitor' }, |
| | | { name: '', icon: 'el-icon-timer', description: '描述信息', routerUrl: '/vehicle-data-monitor' }, |
| | | { name: '', icon: 'el-icon-money', description: '描述信息', routerUrl: '/vehicle-data-monitor' }, |
| | | { name: '', icon: 'el-icon-data-analysis', description: '描述信息', routerUrl: '/vehicle-data-monitor' }, |
| | | { name: '资产管理', icon: 'el-icon-wallet', description: '描述信息', type: '4' }, |
| | | { name: '', icon: 'el-icon-pie-chart', description: '描述信息', type: '4' }, |
| | | { name: '', icon: 'el-icon-data-line', description: '描述信息', type: '4' }, |
| | | { name: '', icon: 'el-icon-timer', description: '描述信息', type: '4' }, |
| | | { name: '', icon: 'el-icon-money', description: '描述信息', type: '4' }, |
| | | { name: '', icon: 'el-icon-data-analysis', description: '描述信息', type: '4' }, |
| | | ] |
| | | }; |
| | | }, |
| | | methods: { |
| | | handleDetail(item) { |
| | | handleDetail(item, index) { |
| | | this.$router.push({ |
| | | path: `/data-manage/data-detail/index/${'car'}/${1}`, |
| | | }); |
| | | return; |
| | | this.$router.push({ |
| | | path: item.routerUrl, |
| | | params: { |
| | | id: item.id |
| | | } |
| | | path: `/data-manage/data-detail/index/1/1?type=${item.type}&index=${index}`, |
| | | }); |
| | | } |
| | | } |
| | |
| | | </el-form-item> |
| | | <el-form-item label="故障类型" prop="workOrderNo"> |
| | | <el-select v-model="queryParams.errorType" placeholder="故障类型" clearable @clear="handleQuery"> |
| | | <el-option label="市政施工" value="市政施工"></el-option> |
| | | <el-option label="设备遗失" value="设备遗失"></el-option> |
| | | <el-option v-for="item, index in errorTypeOptions" :label="item.dictLabel" :value="item.dictValue" :key="index"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="审核状态" prop="status"> |
| | | <el-select v-model="queryParams.status" placeholder="审核状态" clearable @clear="handleQuery"> |
| | | <el-select v-model="queryParams.status" placeholder="审核状态" @change="handleQuery"> |
| | | <el-option label="已下发" value="DISTRIBUTED"></el-option> |
| | | <el-option label="运维已处理" value="YW_HANDLE"></el-option> |
| | | <el-option label="审核通过" value="AUDITING_SUCCESS"></el-option> |
| | |
| | | </el-form-item> |
| | | </el-form> |
| | | |
| | | <el-row :gutter="10" class="mb8"> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | | type="primary" |
| | | plain |
| | | size="mini" |
| | | @click="batchAuditingVisible = true; batchAuditingWorkOrder = {}" |
| | | v-hasPermi="['work:order:audit']" |
| | | >批量审核</el-button> |
| | | </el-col> |
| | | </el-row> |
| | | |
| | | <el-row :gutter="20"> |
| | | <el-col :xl="6" :lg="8" :md="12" :sm="24" v-for="item in workOrderList" :key="item.id" style="margin-bottom: 20px;"> |
| | | <el-card :body-style="{ padding: '0px',display: 'flex' }"> |
| | |
| | | <el-form-item label="运维人员" prop="ywPeopleName"> |
| | | <el-input v-model="auditingForm.ywPeopleName" disabled /> |
| | | </el-form-item> |
| | | <el-form-item label="现场情况" v-if="auditingForm.condition"> |
| | | <span v-html="auditingForm.condition"></span> |
| | | </el-form-item> |
| | | <el-form-item label="佐证材料" v-if="auditingForm.proofMaterials"> |
| | | <el-link v-for="item in auditingForm.proofMaterials != null ? auditingForm.proofMaterials.split(',') : auditingForm.proofMaterials" :underline="false" :key="item.id" @click="handleDownload(item)">{{ item.substring(item.lastIndexOf("/") + 1) }}</el-link> |
| | | </el-form-item> |
| | | <div v-for="obj, index in ywConditions" :key="index"> |
| | | <el-form-item :label="'现场情况' + (index + 1)" v-if="obj.ywCondition"> |
| | | <span v-html="obj.ywCondition"></span> |
| | | </el-form-item> |
| | | <el-form-item label="佐证材料" v-if="obj.ywProofMaterials"> |
| | | <el-link v-for="item in obj.ywProofMaterials != null ? obj.ywProofMaterials.split(',') : obj.ywProofMaterials" :underline="false" :key="item.id" @click="handleDownload(item)">{{ item.substring(item.lastIndexOf("/") + 1) }}</el-link> |
| | | </el-form-item> |
| | | </div> |
| | | <el-form-item label="审核结果" prop="auditingResult"> |
| | | <el-radio v-model="auditingForm.auditingResult" label="AUDITING_SUCCESS">通过</el-radio> |
| | | <el-radio v-model="auditingForm.auditingResult" label="AUDITING_FAIL">驳回</el-radio> |
| | |
| | | </div> |
| | | </el-dialog> |
| | | |
| | | <el-dialog title="运维批量审核" :visible.sync="batchAuditingVisible" width="500px" append-to-body> |
| | | <el-form ref="batchAuditingWorkOrder" :model="batchAuditingWorkOrder" label-width="80px" :rules="batchAuditingRules"> |
| | | <el-form-item label="故障类型" prop="errorType"> |
| | | <el-select v-model="batchAuditingWorkOrder.errorType" placeholder="故障类型"> |
| | | <el-option v-for="item, index in errorTypeOptions" :label="item.dictLabel" :value="item.dictValue" :key="index"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="审核说明" prop="auditingRemark"> |
| | | <el-input v-model="batchAuditingWorkOrder.auditingRemark" type="textarea" maxlength="30" show-word-limit /> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="batchAuditing('AUDITING_SUCCESS')">审 核</el-button> |
| | | <el-button type="danger" @click="batchAuditing('AUDITING_FAIL')">驳 回</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | |
| | | |
| | | <!-- 过程图 --> |
| | | <el-dialog title="过程图" :visible.sync="flowOpen" width="1200px" :close-on-click-modal="false" append-to-body> |
| | | <el-dialog title="过程图" :visible.sync="flowOpen" width="1200px" append-to-body> |
| | | <div> |
| | | <el-steps :active="ywAuditingList.length != 0 ? 3 : ywHandleList.length != 0 ? 2 : 1" :space="500"> |
| | | <el-step title="产生工单"> |
| | |
| | | } |
| | | </style> |
| | | <script> |
| | | import { listWorkOrder, getWorkOrder, delWorkOrder, addWorkOrder, updateWorkOrder,auditing, ywCondition, getYwCondition, getYwConditionList, getYwAuditingList } from "@/api/platform/work-order"; |
| | | import { listWorkOrder, getWorkOrder, delWorkOrder, addWorkOrder, updateWorkOrder, auditing, batchAuditing, ywCondition, getYwCondition, getYwConditionList, getYwAuditingList } from "@/api/platform/work-order"; |
| | | import { addReport } from "@/api/platform/report"; |
| | | import { getDicts } from "@/api/system/dict/data"; |
| | | export default { |
| | | name: "Work-order", |
| | | components: { |
| | | }, |
| | | data() { |
| | | return { |
| | | errorTypeOptions: [], |
| | | ywConditions: [], |
| | | batchAuditingVisible: false, |
| | | batchAuditingWorkOrder: {}, |
| | | ywHandleList: [], |
| | | ywAuditingList: [], |
| | | reportFormRules: { |
| | |
| | | { required: true, message: "运维检测结果不能为空", trigger: "blur" } |
| | | ], |
| | | }, |
| | | // 批量审核校验 |
| | | batchAuditingRules: { |
| | | errorType: [ |
| | | { required: true, message: "请选择故障类型", trigger: "blur" } |
| | | ], |
| | | } |
| | | }; |
| | | }, |
| | | created() { |
| | | this.getList(); |
| | | }, |
| | | methods: { |
| | | // 批量审核 |
| | | batchAuditing(result) { |
| | | this.batchAuditingWorkOrder.auditingResult = result; |
| | | this.$refs["batchAuditingWorkOrder"].validate(valid => { |
| | | if (valid) { |
| | | batchAuditing(this.batchAuditingWorkOrder).then(res => { |
| | | this.batchAuditingWorkOrder = {}; |
| | | this.batchAuditingVisible = false; |
| | | this.$modal.msgSuccess("操作成功"); |
| | | this.getList(); |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | | /** 下载按钮操作 */ |
| | | handleDownload (data) { |
| | | this.$download.resource(data); |
| | |
| | | handleAuditing(row) { |
| | | this.auditingForm = row; |
| | | getYwCondition(row.id).then(response => { |
| | | if (response.data) { |
| | | this.auditingForm.condition = response.data.ywCondition; |
| | | this.auditingForm.proofMaterials = response.data.ywProofMaterials; |
| | | } |
| | | this.ywConditions = response.data; |
| | | this.auditingOpen = true; |
| | | }); |
| | | }, |
| | |
| | | this.total = response.total; |
| | | this.loading = false; |
| | | }); |
| | | // 获取故障类型 |
| | | getDicts("error_type").then(response => { |
| | | this.errorTypeOptions = response.data; |
| | | }); |
| | | }, |
| | | // 取消按钮 |
| | | cancel() { |