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