| | |
| | | <span v-show="scope.row['monitorType'] === 'video'">视频</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="工单阈值" align="center" prop="indicator"> |
| | | <el-table-column label="工单阈值" align="center"> |
| | | <template slot-scope="scope"> |
| | | <div class="table-row" style="display: flex;flex-direction: row"> |
| | | <div class="table-row-item">图像质量</div> |
| | | <div class="table-row-item">{{ scope.row.imageQuality }}</div> |
| | | </div> |
| | | <div class="table-row" style="display: flex;flex-direction: row"> |
| | | <div class="table-row-item">视频质量</div> |
| | | <div class="table-row-item">{{ scope.row.videoQuality }}</div> |
| | | </div> |
| | | <div class="table-row" style="display: flex;flex-direction: row"> |
| | | <div class="table-row-item">标注准确率</div> |
| | | <div class="table-row-item">{{ scope.row.annotationAccuracy }}</div> |
| | | </div> |
| | | <template v-if="scope.row.monitorType === 'face'"> |
| | | <div class="table-row"> |
| | | <div class="table-row-item">抓拍量</div> |
| | | <div class="table-row-item">{{ scope.row.captureNum }}</div> |
| | | </div> |
| | | <div class="table-row"> |
| | | <div class="table-row-item">及时率</div> |
| | | <div class="table-row-item">{{ scope.row.timelyRate }}</div> |
| | | </div> |
| | | <div class="table-row"> |
| | | <div class="table-row-item">延迟量</div> |
| | | <div class="table-row-item">{{ scope.row.delayAmount }}</div> |
| | | </div> |
| | | <div class="table-row"> |
| | | <div class="table-row-item">设备活跃率</div> |
| | | <div class="table-row-item">{{ scope.row.deviceActiveRate }}</div> |
| | | </div> |
| | | <div class="table-row"> |
| | | <div class="table-row-item">抓拍及时率</div> |
| | | <div class="table-row-item">{{ scope.row.timelyCapture }}</div> |
| | | </div> |
| | | <div class="table-row"> |
| | | <div class="table-row-item">时钟准确率</div> |
| | | <div class="table-row-item">{{ scope.row.timeAccuracy }}</div> |
| | | </div> |
| | | </template> |
| | | <template v-else-if="scope.row.monitorType === 'car'"> |
| | | <div class="table-row"> |
| | | <div class="table-row-item">过车数据量</div> |
| | | <div class="table-row-item">{{ scope.row.passCarNum }}</div> |
| | | </div> |
| | | <div class="table-row"> |
| | | <div class="table-row-item">过车缺失率</div> |
| | | <div class="table-row-item">{{ scope.row.passCarMissRate }}</div> |
| | | </div> |
| | | <div class="table-row"> |
| | | <div class="table-row-item">有效过车数据量</div> |
| | | <div class="table-row-item">{{ scope.row.passCarEffectiveNum }}</div> |
| | | </div> |
| | | <div class="table-row"> |
| | | <div class="table-row-item">设备活跃率</div> |
| | | <div class="table-row-item">{{ scope.row.deviceActiveRate }}</div> |
| | | </div> |
| | | <div class="table-row"> |
| | | <div class="table-row-item">抓拍及时率</div> |
| | | <div class="table-row-item">{{ scope.row.timelyCapture }}</div> |
| | | </div> |
| | | <div class="table-row"> |
| | | <div class="table-row-item">时钟准确率</div> |
| | | <div class="table-row-item">{{ scope.row.timeAccuracy }}</div> |
| | | </div> |
| | | </template> |
| | | <template v-else-if="scope.row.monitorType === 'video'"> |
| | | <div class="table-row" style="display: flex;flex-direction: row"> |
| | | <div class="table-row-item">图像质量</div> |
| | | <div class="table-row-item">{{ scope.row.imageQuality }}</div> |
| | | </div> |
| | | <div class="table-row" style="display: flex;flex-direction: row"> |
| | | <div class="table-row-item">视频质量</div> |
| | | <div class="table-row-item">{{ scope.row.videoQuality }}</div> |
| | | </div> |
| | | <div class="table-row" style="display: flex;flex-direction: row"> |
| | | <div class="table-row-item">标注准确率</div> |
| | | <div class="table-row-item">{{ scope.row.annotationAccuracy }}</div> |
| | | </div> |
| | | </template> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="下发阈值" align="center" prop="indicator"> |
| | | <el-table-column label="下发阈值" align="center"> |
| | | <template slot-scope="scope"> |
| | | <div class="table-row" style="display: flex;flex-direction: row"> |
| | | <div class="table-row-item">图像质量</div> |
| | | <div class="table-row-item">{{ scope.row.imageQualityAuto }}</div> |
| | | </div> |
| | | <div class="table-row" style="display: flex;flex-direction: row"> |
| | | <div class="table-row-item">视频质量</div> |
| | | <div class="table-row-item">{{ scope.row.videoQualityAuto }}</div> |
| | | </div> |
| | | <div class="table-row" style="display: flex;flex-direction: row"> |
| | | <div class="table-row-item">标注准确率</div> |
| | | <div class="table-row-item">{{ scope.row.annotationAccuracyAuto }}</div> |
| | | </div> |
| | | <template v-if="scope.row.monitorType === 'face'"> |
| | | <div class="table-row"> |
| | | <div class="table-row-item">抓拍量</div> |
| | | <div class="table-row-item">{{ scope.row.captureNumAuto }}</div> |
| | | </div> |
| | | <div class="table-row"> |
| | | <div class="table-row-item">及时率</div> |
| | | <div class="table-row-item">{{ scope.row.timelyRateAuto }}</div> |
| | | </div> |
| | | <div class="table-row"> |
| | | <div class="table-row-item">延迟量</div> |
| | | <div class="table-row-item">{{ scope.row.delayAmountAuto }}</div> |
| | | </div> |
| | | <div class="table-row"> |
| | | <div class="table-row-item">设备活跃率</div> |
| | | <div class="table-row-item">{{ scope.row.deviceActiveRateAuto }}</div> |
| | | </div> |
| | | <div class="table-row"> |
| | | <div class="table-row-item">抓拍及时率</div> |
| | | <div class="table-row-item">{{ scope.row.timelyCaptureAuto }}</div> |
| | | </div> |
| | | <div class="table-row"> |
| | | <div class="table-row-item">时钟准确率</div> |
| | | <div class="table-row-item">{{ scope.row.timeAccuracyAuto }}</div> |
| | | </div> |
| | | </template> |
| | | <template v-else-if="scope.row.monitorType === 'car'"> |
| | | <div class="table-row"> |
| | | <div class="table-row-item">过车数据量</div> |
| | | <div class="table-row-item">{{ scope.row.passCarNumAuto }}</div> |
| | | </div> |
| | | <div class="table-row"> |
| | | <div class="table-row-item">过车缺失率</div> |
| | | <div class="table-row-item">{{ scope.row.passCarMissRateAuto }}</div> |
| | | </div> |
| | | <div class="table-row"> |
| | | <div class="table-row-item">有效过车数据量</div> |
| | | <div class="table-row-item">{{ scope.row.passCarEffectiveNumAuto }}</div> |
| | | </div> |
| | | <div class="table-row"> |
| | | <div class="table-row-item">设备活跃率</div> |
| | | <div class="table-row-item">{{ scope.row.deviceActiveRateAuto }}</div> |
| | | </div> |
| | | <div class="table-row"> |
| | | <div class="table-row-item">抓拍及时率</div> |
| | | <div class="table-row-item">{{ scope.row.timelyCaptureAuto }}</div> |
| | | </div> |
| | | <div class="table-row"> |
| | | <div class="table-row-item">时钟准确率</div> |
| | | <div class="table-row-item">{{ scope.row.timeAccuracyAuto }}</div> |
| | | </div> |
| | | </template> |
| | | <template v-else-if="scope.row.monitorType === 'video'"> |
| | | <div class="table-row"> |
| | | <div class="table-row-item">图像质量</div> |
| | | <div class="table-row-item">{{ scope.row.imageQualityAuto }}</div> |
| | | </div> |
| | | <div class="table-row"> |
| | | <div class="table-row-item">视频质量</div> |
| | | <div class="table-row-item">{{ scope.row.videoQualityAuto }}</div> |
| | | </div> |
| | | <div class="table-row"> |
| | | <div class="table-row-item">标注准确率</div> |
| | | <div class="table-row-item">{{ scope.row.annotationAccuracyAuto }}</div> |
| | | </div> |
| | | </template> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> |
| | |
| | | /> |
| | | |
| | | <!-- 人脸阈值 --> |
| | | <el-dialog title="修改人脸工单阈值" :visible.sync="faceOpen" width="400px" append-to-body> |
| | | <el-form ref="faceForm" :model="faceForm" :rules="rules" label-width="150px"> |
| | | <el-form-item label="设备类型" prop="monitorType"> |
| | | <el-select v-model="faceForm.monitorType" placeholder="请选择设备类型" @change="handleModeNameChange"> |
| | | <el-option label="人脸" value="face"/> |
| | | <el-option label="车辆" value="car"/> |
| | | <el-option label="视频" value="video"/> |
| | | </el-select> |
| | | <el-dialog title="修改人脸工单阈值" :visible.sync="faceOpen" width="700px" append-to-body> |
| | | <el-form ref="faceForm" :model="faceForm" label-width="150px" :inline="true"> |
| | | <el-form-item class="fixedWidth" label="抓拍量" prop="captureNum"> |
| | | <el-input clearable size="small" v-model="faceForm.captureNum" placeholder="工单阈值"/> |
| | | <el-input clearable size="small" v-model="faceForm.captureNumAuto" placeholder="下发阈值"/> |
| | | </el-form-item> |
| | | |
| | | <el-form-item class="fixedWidth" label="过车缺失率" prop="timelyRate"> |
| | | <el-input clearable size="small" v-model="faceForm.timelyRate" placeholder="工单阈值"/> |
| | | <el-input clearable size="small" v-model="faceForm.timelyRateAuto" placeholder="下发阈值"/> |
| | | </el-form-item> |
| | | <el-form-item class="fixedWidth" label="延迟量" prop="delayAmount"> |
| | | <el-input clearable size="small" v-model="faceForm.delayAmount" placeholder="工单阈值"/> |
| | | <el-input clearable size="small" v-model="faceForm.delayAmountAuto" placeholder="下发阈值"/> |
| | | </el-form-item> |
| | | <el-form-item class="fixedWidth" label="设备活跃率" prop="deviceActiveRate"> |
| | | <el-input clearable size="small" v-model="faceForm.deviceActiveRate" placeholder="工单阈值"/> |
| | | <el-input clearable size="small" v-model="faceForm.deviceActiveRateAuto" placeholder="下发阈值"/> |
| | | </el-form-item> |
| | | <el-form-item class="fixedWidth" label="抓拍及时率" prop="timelyCapture"> |
| | | <el-input clearable size="small" v-model="faceForm.timelyCapture" placeholder="工单阈值"/> |
| | | <el-input clearable size="small" v-model="faceForm.timelyCaptureAuto" placeholder="下发阈值"/> |
| | | </el-form-item> |
| | | <el-form-item class="fixedWidth" label="时钟准确率" prop="deviceActiveRate"> |
| | | <el-input clearable size="small" v-model="faceForm.timeAccuracy" placeholder="工单阈值"/> |
| | | <el-input clearable size="small" v-model="faceForm.timeAccuracyAuto" placeholder="下发阈值"/> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="editFace">确 定</el-button> |
| | |
| | | </el-dialog> |
| | | |
| | | <!-- 车辆阈值 --> |
| | | <el-dialog title="修改车辆工单阈值" :visible.sync="faceOpen" width="400px" append-to-body> |
| | | <el-form ref="faceForm" :model="faceForm" :rules="rules" label-width="150px"> |
| | | <el-form-item label="设备类型" prop="monitorType"> |
| | | <el-select v-model="faceForm.monitorType" placeholder="请选择设备类型" @change="handleModeNameChange"> |
| | | <el-option label="人脸" value="face"/> |
| | | <el-option label="车辆" value="car"/> |
| | | <el-option label="视频" value="video"/> |
| | | </el-select> |
| | | <el-dialog title="修改车辆工单阈值" :visible.sync="carOpen" width="700px" append-to-body> |
| | | <el-form ref="faceForm" :model="faceForm" label-width="150px" :inline="true"> |
| | | <el-form-item class="fixedWidth" label="过车数据量" prop="passCarNum"> |
| | | <el-input clearable size="small" v-model="carForm.passCarNum" placeholder="工单阈值"/> |
| | | <el-input clearable size="small" v-model="carForm.passCarNumAuto" placeholder="下发阈值"/> |
| | | </el-form-item> |
| | | <el-form-item class="fixedWidth" label="过车缺失率" prop="passCarMissRate"> |
| | | <el-input clearable size="small" v-model="carForm.passCarMissRate" placeholder="工单阈值"/> |
| | | <el-input clearable size="small" v-model="carForm.passCarMissRateAuto" placeholder="下发阈值"/> |
| | | </el-form-item> |
| | | <el-form-item class="fixedWidth" label="有效过车数据量" prop="passCarEffectiveNum"> |
| | | <el-input clearable size="small" v-model="carForm.passCarEffectiveNum" placeholder="工单阈值"/> |
| | | <el-input clearable size="small" v-model="carForm.passCarEffectiveNumAuto" placeholder="下发阈值"/> |
| | | </el-form-item> |
| | | <el-form-item class="fixedWidth" label="设备活跃率" prop="deviceActiveRate"> |
| | | <el-input clearable size="small" v-model="carForm.deviceActiveRate" placeholder="工单阈值"/> |
| | | <el-input clearable size="small" v-model="carForm.deviceActiveRateAuto" placeholder="下发阈值"/> |
| | | </el-form-item> |
| | | <el-form-item class="fixedWidth" label="抓拍及时率" prop="timelyCapture"> |
| | | <el-input clearable size="small" v-model="carForm.timelyCapture" placeholder="工单阈值"/> |
| | | <el-input clearable size="small" v-model="carForm.timelyCaptureAuto" placeholder="下发阈值"/> |
| | | </el-form-item> |
| | | <el-form-item class="fixedWidth" label="时钟准确率" prop="timeAccuracy"> |
| | | <el-input clearable size="small" v-model="carForm.timeAccuracy" placeholder="工单阈值"/> |
| | | <el-input clearable size="small" v-model="carForm.timeAccuracyAuto" placeholder="下发阈值"/> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | |
| | | </el-dialog> |
| | | |
| | | <!-- 视频阈值 --> |
| | | <el-dialog title="修改视频工单阈值" :visible.sync="videoOpen" width="500px" append-to-body> |
| | | <el-form ref="videoForm" :model="videoForm" :rules="rules" label-width="100px"> |
| | | <el-form-item label="设备类型" prop="monitorType"> |
| | | <el-select v-model="videoForm.monitorType" disabled placeholder="请选择设备类型" @change="handleModeNameChange"> |
| | | <el-option label="人脸" value="face"/> |
| | | <el-option label="车辆" value="car"/> |
| | | <el-option label="视频" value="video"/> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="图像质量" prop="imageQuality" label-width="100px"> |
| | | <el-dialog title="修改视频工单阈值" :visible.sync="videoOpen" width="700px" append-to-body> |
| | | <el-form ref="videoForm" :model="videoForm" label-width="100px" :inline="true"> |
| | | <el-form-item class="fixedWidth" label="图像质量" prop="imageQuality" label-width="100px"> |
| | | <el-select v-model="videoForm.imageQuality" placeholder="工单阈值" @change="handleModeNameChange"> |
| | | <el-option :key="dict.value" :label="dict.value" v-for="dict in dict.type.image_qualify"/> |
| | | </el-select> |
| | |
| | | <el-option :key="dict.value" :label="dict.value" v-for="dict in dict.type.image_qualify"/> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="视频质量" prop="videoQuality" label-width="100px"> |
| | | <el-form-item class="fixedWidth" label="视频质量" prop="videoQuality" label-width="100px"> |
| | | <el-select v-model="videoForm.videoQuality" placeholder="工单阈值" @change="handleModeNameChange"> |
| | | <el-option :key="dict.value" :label="dict.value" v-for="dict in dict.type.video_qualify"/> |
| | | </el-select> |
| | |
| | | <el-option :key="dict.value" :label="dict.value" v-for="dict in dict.type.video_qualify"/> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="标注准确率" prop="annotationAccuracy" label-width="100px"> |
| | | <el-form-item class="fixedWidth" label="标注准确率" prop="annotationAccuracy" label-width="100px"> |
| | | <el-input v-model="videoForm.annotationAccuracy" type="number" size="small" placeholder="工单阈值"></el-input> |
| | | <el-input v-model="videoForm.annotationAccuracy" type="number" size="small" placeholder="下发阈值"></el-input> |
| | | </el-form-item> |
| | |
| | | // 是否显示弹出层 |
| | | videoOpen: false, |
| | | faceOpen: false, |
| | | carOpen: false, |
| | | // 查询参数 |
| | | queryParams: { |
| | | pageNum: 1, |
| | |
| | | carForm: {}, |
| | | faceForm: {}, |
| | | // 表单校验 |
| | | faceRules: { |
| | | monitorType: [ |
| | | { required: true, message: '设备类型不能为空', trigger: 'change' } |
| | | ], |
| | | captureNum: [ |
| | | { required: true, message: '请填写抓拍量', trigger: 'blur' } |
| | | ], |
| | | timelyRate: [ |
| | | { required: true, message: '请填写及时率', trigger: 'blur' } |
| | | ], |
| | | delayAmount: [ |
| | | { required: true, message: '请填写延迟量', trigger: 'blur' } |
| | | ], |
| | | deviceActiveRate: [ |
| | | { required: true, message: '请填写设备活跃率', trigger: 'blur' } |
| | | ], |
| | | timeAccuracy: [ |
| | | { required: true, message: '请填写时钟准确率', trigger: 'blur' } |
| | | ], |
| | | timelyCapture: [ |
| | | { required: true, message: '请填写抓拍及时率', trigger: 'blur' } |
| | | ], |
| | | }, |
| | | carRules: { |
| | | monitorType: [ |
| | | { required: true, message: '设备类型不能为空', trigger: 'change' } |
| | | ], |
| | | passCarNum: [ |
| | | { required: true, message: '请填写过车数据量', trigger: 'blur' } |
| | | ], |
| | | passCarMissRate: [ |
| | | { required: true, message: '请填写过车缺失率', trigger: 'blur' } |
| | | ], |
| | | passCarEffectiveNum: [ |
| | | { required: true, message: '请填写有效过车数据量', trigger: 'blur' } |
| | | ], |
| | | timelyCapture: [ |
| | | { required: true, message: '请填写抓拍及时率', trigger: 'blur' } |
| | | ], |
| | | deviceActiveRate: [ |
| | | { required: true, message: '请填写设备活跃率', trigger: 'blur' } |
| | | ], |
| | | timeAccuracy: [ |
| | | { required: true, message: '请填写时钟准确率', trigger: 'blur' } |
| | | ], |
| | | }, |
| | | rules: { |
| | | monitorType: [ |
| | | { required: true, message: '设备类型:1人脸 2车辆 3视频不能为空', trigger: 'change' } |
| | |
| | | this.getList() |
| | | }, |
| | | methods: { |
| | | showContent(row) { |
| | | if(row.monitorType === "car") { |
| | | |
| | | } |
| | | }, |
| | | editVideo() { |
| | | this.$refs['videoForm'].validate(validate => { |
| | | if (validate) { |
| | | // this.$refs['videoForm'].validate(validate => { |
| | | // if (validate) { |
| | | editVideo(this.videoForm).then(res => { |
| | | if (res.code === 200) { |
| | | this.$message.success("修改成功") |
| | | this.videoOpen = false |
| | | this.getList(); |
| | | } else { |
| | | this.$message.success("修改失败") |
| | | } |
| | | }) |
| | | } |
| | | // }) |
| | | // } |
| | | }) |
| | | }, |
| | | editFace() { |
| | | this.$refs['faceForm'].validate(validate => { |
| | | if (validate) { |
| | | editFace(this.videoForm).then(res => { |
| | | if (res.code === 200) { |
| | | this.$message.success("修改成功") |
| | | this.getList(); |
| | | } else { |
| | | this.$message.success("修改失败") |
| | | } |
| | | }) |
| | | // this.$refs['faceForm'].validate(validate => { |
| | | // if (validate) { |
| | | editFace(this.videoForm).then(res => { |
| | | if (res.code === 200) { |
| | | this.$message.success("修改成功") |
| | | this.faceOpen = false |
| | | this.getList(); |
| | | } else { |
| | | this.$message.success("修改失败") |
| | | } |
| | | // }) |
| | | // } |
| | | }) |
| | | }, |
| | | editCar() { |
| | | this.$refs['carForm'].validate(validate => { |
| | | if (validate) { |
| | | editCar(this.carForm).then(res => { |
| | | if (res.code === 200) { |
| | | this.$message.success("修改成功") |
| | | this.getList(); |
| | | } else { |
| | | this.$message.success("修改失败") |
| | | } |
| | | }) |
| | | // this.$refs['carForm'].validate(validate => { |
| | | // if (validate) { |
| | | editCar(this.carForm).then(res => { |
| | | if (res.code === 200) { |
| | | this.$message.success("修改成功") |
| | | this.carOpen = false |
| | | this.getList(); |
| | | } else { |
| | | this.$message.success("修改失败") |
| | | } |
| | | // }) |
| | | // } |
| | | }) |
| | | }, |
| | | /** 查询运维阈值列表 */ |
| | |
| | | width: 120px; |
| | | text-align: center; |
| | | } |
| | | .fixedWidth { |
| | | width: 200px; |
| | | } |
| | | .threshold { |
| | | display: flex; |
| | | flex-direction: row; |
| | | } |
| | | </style> |