From 3c6203da5fc2503b83ee2f7bd5b8a37333b62cb2 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期三, 08 五月 2024 17:30:34 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
src/views/system/work-order/threshold/index.vue | 354 +++++++++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 275 insertions(+), 79 deletions(-)
diff --git a/src/views/system/work-order/threshold/index.vue b/src/views/system/work-order/threshold/index.vue
index ddbbc4e..54f88b9 100644
--- a/src/views/system/work-order/threshold/index.vue
+++ b/src/views/system/work-order/threshold/index.vue
@@ -23,36 +23,144 @@
<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">
@@ -86,16 +194,32 @@
/>
<!-- 浜鸿劯闃堝�� -->
- <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>
@@ -104,14 +228,31 @@
</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">
@@ -121,16 +262,9 @@
</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>
@@ -138,7 +272,7 @@
<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>
@@ -146,7 +280,7 @@
<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>
@@ -189,6 +323,7 @@
// 鏄惁鏄剧ず寮瑰嚭灞�
videoOpen: false,
faceOpen: false,
+ carOpen: false,
// 鏌ヨ鍙傛暟
queryParams: {
pageNum: 1,
@@ -200,6 +335,52 @@
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' }
@@ -220,46 +401,54 @@
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("淇敼澶辫触")
}
+ // })
+ // }
})
},
/** 鏌ヨ杩愮淮闃堝�煎垪琛� */
@@ -525,4 +714,11 @@
width: 120px;
text-align: center;
}
+.fixedWidth {
+ width: 200px;
+}
+.threshold {
+ display: flex;
+ flex-direction: row;
+}
</style>
--
Gitblit v1.8.0