From 1995e710dcf70e635c4edaa8173f8b66cd67d499 Mon Sep 17 00:00:00 2001 From: 黄何裕 <1053952480@qq.com> Date: 星期二, 30 七月 2024 14:05:06 +0800 Subject: [PATCH] 样式优化 --- src/views/system/work-order/threshold/index.vue | 915 ++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 584 insertions(+), 331 deletions(-) diff --git a/src/views/system/work-order/threshold/index.vue b/src/views/system/work-order/threshold/index.vue index ddbbc4e..848a2b4 100644 --- a/src/views/system/work-order/threshold/index.vue +++ b/src/views/system/work-order/threshold/index.vue @@ -1,174 +1,313 @@ <template> <div class="app-container"> -<!-- <el-row :gutter="10" class="mb8">--> -<!-- <el-col :span="1.5">--> -<!-- <el-button--> -<!-- type="primary"--> -<!-- plain--> -<!-- icon="el-icon-plus"--> -<!-- size="mini"--> -<!-- @click="handleAdd"--> -<!-- v-hasPermi="['ycl:threshold:add']"--> -<!-- >鏂板--> -<!-- </el-button>--> -<!-- </el-col>--> -<!-- </el-row>--> - - <el-table v-loading="loading" :data="thresholdList" @selection-change="handleSelectionChange"> - <el-table-column type="selection" width="55" align="center"/> - <el-table-column label="璁惧绫诲瀷" align="center" prop="monitorType"> - <template slot-scope="scope"> - <span v-show="scope.row['monitorType'] === 'face'">浜鸿劯</span> - <span v-show="scope.row['monitorType'] === 'car'">杞﹁締</span> - <span v-show="scope.row['monitorType'] === 'video'">瑙嗛</span> - </template> - </el-table-column> - <el-table-column label="宸ュ崟闃堝��" align="center" prop="indicator"> - <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> + <!-- <el-row :gutter="10" class="mb8">--> + <!-- <el-col :span="1.5">--> + <!-- <el-button--> + <!-- type="primary"--> + <!-- plain--> + <!-- icon="el-icon-plus"--> + <!-- size="mini"--> + <!-- @click="handleAdd"--> + <!-- v-hasPermi="['ycl:threshold:add']"--> + <!-- >鏂板--> + <!-- </el-button>--> + <!-- </el-col>--> + <!-- </el-row>--> + <el-row> + <el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="8"> + <el-card style="margin-bottom: 20px; height: 450px; margin-right: 20px"> + <div style="display: flex; justify-content: space-between"> + <div class="header鈥攖ext">瑙嗛</div> + <div> + <el-button + size="mini" + type="text" + icon="el-icon-edit" + v-hasPermi="['ycl:threshold:edit']" + @click="showEdit('video')" + v-if="!ifEditVideo" + >淇敼 + </el-button> + <el-button + size="mini" + type="primary" + @click="saveEdit('video')" + v-if="ifEditVideo" + >淇濆瓨 + </el-button> + </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 + style=" + margin: 20px; + display: flex; + width: 400px; + justify-content: space-between; + " + > + <div> + <div + style=" + font-size: small; + display: flex; + flex-direction: row-reverse; + width: 192px; + " + > + 宸ュ崟闃堝�� + </div> + <div> + <el-form label-width="140px"> + <el-form-item + v-for="(item, index) in thresholdList.video" + :label="item.name + '锛�'" + :key="item.id" + > + <el-input + v-model="videoList[index].value" + size="mini" + style="width: 100px" + :type="item.countType=='int'?'number':''" + v-if="ifEditVideo" + ></el-input> + <span v-else>{{ item.value }}</span> + <span v-if="item.countType=='percent'">%</span> + <span v-if="item.countType=='second'">绉�</span> + </el-form-item> + </el-form> + </div> + </div> + <div> + <span style="font-size: small">涓嬪彂闃堝��</span> + <div> + <el-form ref="form"> + <el-form-item + v-for="(item, index) in thresholdList.video" + label="" + :key="item.id" + > + <el-input + v-model="videoList[index].valueAuto" + size="mini" + style="width: 100px" + :type="item.countType=='int'?'number':''" + v-if="ifEditVideo" + ></el-input> + <span v-else>{{ item.valueAuto }}</span> + <span v-if="item.countType=='percent'">%</span> + <span v-if="item.countType=='second'">绉�</span> + </el-form-item> + </el-form> + </div> + </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> + </el-card> + </el-col> + <el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="8"> + <el-card style="margin-bottom: 20px; height: 450px; margin-right: 20px"> + <div style="display: flex; justify-content: space-between"> + <div class="header鈥攖ext">浜鸿劯</div> + <div> + <el-button + size="mini" + type="text" + icon="el-icon-edit" + v-hasPermi="['ycl:threshold:edit']" + @click="showEdit('face')" + v-if="!ifEditFace" + >淇敼 + </el-button> + <el-button + size="mini" + type="primary" + @click="saveEdit('face')" + v-if="ifEditFace" + >淇濆瓨 + </el-button> + </div> </div> - </template> - </el-table-column> - <el-table-column label="涓嬪彂闃堝��" align="center" prop="indicator"> - <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 + style=" + margin: 20px; + display: flex; + width: 400px; + justify-content: space-between; + " + > + <div> + <div + style=" + font-size: small; + display: flex; + flex-direction: row-reverse; + width: 190px; + " + > + 宸ュ崟闃堝�� + </div> + <div> + <el-form label-width="140px"> + <el-form-item + v-for="(item, index) in thresholdList.face" + :label="item.name + '锛�'" + :key="item.id" + > + <el-input + v-model="faceList[index].value" + size="mini" + style="width: 100px" + :type="item.countType=='int'?'number':''" + v-if="ifEditFace" + ></el-input> + <span v-else>{{ item.value }}</span> + <span v-if="item.countType=='percent'">%</span> + <span v-if="item.countType=='second'">绉�</span> + </el-form-item> + </el-form> + </div> + </div> + <div> + <span style="font-size: small">涓嬪彂闃堝��</span> + <div> + <el-form ref="form"> + <el-form-item + v-for="(item, index) in thresholdList.face" + label="" + :key="item.id" + > + <el-input + v-model="faceList[index].valueAuto" + size="mini" + style="width: 100px" + :type="item.countType=='int'?'number':''" + v-if="ifEditFace" + ></el-input> + <span v-else>{{ item.valueAuto }}</span> + <span v-if="item.countType=='percent'">%</span> + <span v-if="item.countType=='second'">绉�</span> + </el-form-item + > + </el-form> + </div> + </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> + </el-card></el-col + > + <el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="8"> + <el-card style="margin-bottom: 20px; height: 450px; margin-right: 20px"> + <div style="display: flex; justify-content: space-between"> + <div class="header鈥攖ext">杞﹁締</div> + <div> + <el-button + size="mini" + type="text" + icon="el-icon-edit" + v-hasPermi="['ycl:threshold:edit']" + @click="showEdit('car')" + v-if="!ifEditCar" + >淇敼 + </el-button> + <el-button + size="mini" + type="primary" + @click="saveEdit('car')" + v-if="ifEditCar" + >淇濆瓨 + </el-button> + </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 + style=" + margin: 20px; + display: flex; + width: 400px; + justify-content: space-between; + " + > + <div> + <div + style=" + font-size: small; + display: flex; + flex-direction: row-reverse; + width: 232px; + " + > + 宸ュ崟闃堝�� + </div> + <div> + <el-form ref="form" label-width="180px"> + <el-form-item + v-for="(item, index) in thresholdList.car" + :label="item.name + '锛�'" + :key="item.id" + > + <el-input + v-model="carList[index].value" + size="mini" + style="width: 100px" + :type="item.countType=='int'?'number':''" + v-if="ifEditCar" + ></el-input> + <span v-else>{{ item.value }}</span> + <span v-if="item.countType=='percent'">%</span> + <span v-if="item.countType=='second'">绉�</span> + </el-form-item> + </el-form> + </div> + </div> + <div> + <span style="font-size: small">涓嬪彂闃堝��</span> + <div> + <el-form ref="form"> + <el-form-item + v-for="(item, index) in thresholdList.car" + label="" + :key="item.id" + > + <el-input + v-model="carList[index].valueAuto" + size="mini" + style="width: 100px" + :type="item.countType=='int'?'number':''" + v-if="ifEditCar" + ></el-input> + <span v-else>{{ item.valueAuto }}</span> + <span v-if="item.countType=='percent'">%</span> + <span v-if="item.countType=='second'">绉�</span> + </el-form-item> + </el-form> + </div> + </div> </div> - </template> - </el-table-column> - <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width"> - <template slot-scope="scope"> - <el-button - size="mini" - type="text" - icon="el-icon-edit" - v-hasPermi="['ycl:threshold:edit']" - @click="updateWho(scope.row)" - >淇敼 - </el-button> -<!-- <el-button--> -<!-- size="mini"--> -<!-- type="text"--> -<!-- icon="el-icon-delete"--> -<!-- @click="handleDelete(scope.row)"--> -<!-- v-hasPermi="['ycl:threshold:remove']"--> -<!-- >鍒犻櫎--> -<!-- </el-button>--> - </template> - </el-table-column> - </el-table> - - <pagination - v-show="total>0" - :total="total" - :page.sync="queryParams.pageNum" - :limit.sync="queryParams.pageSize" - @pagination="getList" - /> - - <!-- 浜鸿劯闃堝�� --> - <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-form-item> - - </el-form> - <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="editFace">纭� 瀹�</el-button> - <el-button @click="cancelFace">鍙� 娑�</el-button> - </div> - </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-form-item> - </el-form> - <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="editCar">纭� 瀹�</el-button> - <el-button @click="cancelCar">鍙� 娑�</el-button> - </div> - </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-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-select v-model="videoForm.imageQualityAuto" placeholder="涓嬪彂闃堝��" @change="handleModeNameChange"> - <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-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-select v-model="videoForm.videoQualityAuto" placeholder="涓嬪彂闃堝��" @change="handleModeNameChange"> - <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-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> - </el-form> - <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="editVideo">纭� 瀹�</el-button> - <el-button @click="cancelVideo">鍙� 娑�</el-button> - </div> - </el-dialog> - + </el-card></el-col + > + </el-row> </div> </template> <script> -import { listThreshold, getThreshold, editVideo } from '@/api/platform/threshold' -import { editCar, editFace, getCar, getFace, getVideo } from '../../../../api/platform/threshold' +import { + listThreshold, + getThreshold, + updateThreshold, +} from "@/api/platform/threshold"; +import { + editCar, + editFace, + getCar, + getFace, + getVideo, +} from "../../../../api/platform/threshold"; export default { - dicts: ['image_qualify', 'video_qualify'], - name: 'Threshold', + dicts: ["image_qualify", "video_qualify"], + name: "Threshold", data() { return { + ifEditVideo: false, + ifEditFace: false, + ifEditCar: false, indicators: [], // 閬僵灞� loading: true, @@ -183,106 +322,203 @@ // 鎬绘潯鏁� total: 0, // 杩愮淮闃堝�艰〃鏍兼暟鎹� - thresholdList: [], + thresholdList: {}, + videoList: [], + faceList: [], + carList: [], // 寮瑰嚭灞傛爣棰� - title: '', + title: "", // 鏄惁鏄剧ず寮瑰嚭灞� videoOpen: false, faceOpen: false, + carOpen: false, // 鏌ヨ鍙傛暟 queryParams: { pageNum: 1, pageSize: 10, - monitorType: null + monitorType: null, }, // 琛ㄥ崟鍙傛暟 videoForm: {}, 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' } + { + required: true, + message: "璁惧绫诲瀷锛�1浜鸿劯 2杞﹁締 3瑙嗛涓嶈兘涓虹┖", + trigger: "change", + }, ], videoQuality: [ - { required: true, message: '璇烽�夋嫨瑙嗛璐ㄩ噺闃堝��', trigger: 'change' } + { required: true, message: "璇烽�夋嫨瑙嗛璐ㄩ噺闃堝��", trigger: "change" }, ], imageQuality: [ - { required: true, message: '璇烽�夋嫨鍥惧儚璐ㄩ噺闃堝��', trigger: 'change' } + { required: true, message: "璇烽�夋嫨鍥惧儚璐ㄩ噺闃堝��", trigger: "change" }, ], annotationAccuracy: [ - { required: true, message: '璇峰~鍐欐爣娉ㄥ噯纭巼闃堝��', trigger: 'blur' } + { required: true, message: "璇峰~鍐欐爣娉ㄥ噯纭巼闃堝��", trigger: "blur" }, ], - } - } + }, + }; }, created() { - this.getList() + this.getList(); }, methods: { + showEdit(value) { + if (value == "video") { + this.videoList = JSON.parse(JSON.stringify(this.thresholdList.video)); + this.ifEditVideo = true; + } + if (value == "face") { + this.faceList = JSON.parse(JSON.stringify(this.thresholdList.face)); + this.ifEditFace = true; + } + if (value == "car") { + this.carList = JSON.parse(JSON.stringify(this.thresholdList.car)); + this.ifEditCar = true; + } + }, + saveEdit(value) { + let data = [] + if (value == "video") { + data = this.videoList; + this.ifEditVideo = false; + } + if (value == "face") { + data = this.faceList; + this.ifEditFace = false; + } + if (value == "car") { + data = this.carList; + this.ifEditCar = false; + } + updateThreshold(data).then((response) => { + this.$modal.msgSuccess("淇敼鎴愬姛"); + this.getList(); + }); + }, + showContent(row) { + if (row.monitorType === "car") { + } + }, editVideo() { - this.$refs['videoForm'].validate(validate => { - if (validate) { - editVideo(this.videoForm).then(res => { - if (res.code === 200) { - this.$message.success("淇敼鎴愬姛") - this.getList(); - } else { - this.$message.success("淇敼澶辫触") - } - }) + // 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("淇敼澶辫触"); } - }) + // }) + // } + }); }, /** 鏌ヨ杩愮淮闃堝�煎垪琛� */ getList() { - this.loading = true - listThreshold(this.queryParams).then(response => { - this.thresholdList = response.rows - this.total = response.total - this.loading = false - }) + this.loading = true; + listThreshold(this.queryParams).then((response) => { + this.thresholdList = response.data; + this.videoList = JSON.parse(JSON.stringify(this.thresholdList.video)); + this.faceList = JSON.parse(JSON.stringify(this.thresholdList.face)); + this.carList = JSON.parse(JSON.stringify(this.thresholdList.car)); + this.total = response.total; + this.loading = false; + }); }, // 鍙栨秷鎸夐挳 cancelFace() { - this.faceOpen = false - this.resetFace() + this.faceOpen = false; + this.resetFace(); }, cancelCar() { - this.carOpen = false - this.resetCar() + this.carOpen = false; + this.resetCar(); }, cancelVideo() { - this.videoOpen = false - this.resetVideo() + this.videoOpen = false; + this.resetVideo(); }, // 琛ㄥ崟閲嶇疆 reset() { @@ -293,9 +529,9 @@ indicator: null, createTime: null, updateTime: null, - deleted: null - } - this.resetForm('form') + deleted: null, + }; + this.resetForm("form"); }, resetVideo() { this.videoForm = { @@ -307,8 +543,8 @@ videoQualityAuto: "", annotationAccuracy: null, annotationAccuracyAuto: null, - } - this.resetForm('videoForm') + }; + this.resetForm("videoForm"); }, resetFace() { this.faceForm = { @@ -320,8 +556,8 @@ videoQualityAuto: "", annotationAccuracy: null, annotationAccuracyAuto: null, - } - this.resetForm('faceForm') + }; + this.resetForm("faceForm"); }, resetCar() { this.carForm = { @@ -333,196 +569,213 @@ videoQualityAuto: "", annotationAccuracy: null, annotationAccuracyAuto: null, - } - this.resetForm('carForm') + }; + this.resetForm("carForm"); }, /** 鎼滅储鎸夐挳鎿嶄綔 */ - handleQuery() { - this.queryParams.pageNum = 1 - this.getList() - }, + // handleQuery() { + // this.queryParams.pageNum = 1; + // this.getList(); + // }, /** 閲嶇疆鎸夐挳鎿嶄綔 */ - resetQuery() { - this.resetForm('queryForm') - this.handleQuery() - }, + // resetQuery() { + // this.resetForm("queryForm"); + // this.handleQuery(); + // }, // 澶氶�夋閫変腑鏁版嵁 - handleSelectionChange(selection) { - this.ids = selection.map(item => item.id) - this.single = selection.length !== 1 - this.multiple = !selection.length - }, + // handleSelectionChange(selection) { + // this.ids = selection.map((item) => item.id); + // this.single = selection.length !== 1; + // this.multiple = !selection.length; + // }, /** 鏂板鎸夐挳鎿嶄綔 */ - handleAdd() { - this.reset() - this.open = true - this.title = '娣诲姞杩愮淮闃堝��' - this.handleModeNameChange() - }, + // handleAdd() { + // this.reset(); + // this.open = true; + // this.title = "娣诲姞杩愮淮闃堝��"; + // this.handleModeNameChange(); + // }, /** 淇敼鎸夐挳鎿嶄綔 */ updateWho(row) { - if (row.monitorType === 'face') { - getFace(row.id).then(response => { - this.faceForm = response.data + if (row.monitorType === "face") { + getFace(row.id).then((response) => { + this.faceForm = response.data; this.faceOpen = true; - }) - } else if (row.monitorType === 'car') { - getCar(row.id).then(response => { - this.carForm = response.data + }); + } else if (row.monitorType === "car") { + getCar(row.id).then((response) => { + this.carForm = response.data; this.carOpen = true; - }) + }); } else { - getVideo(row.id).then(response => { - this.videoForm = response.data + getVideo(row.id).then((response) => { + this.videoForm = response.data; this.videoOpen = true; - }) + }); } }, handleUpdate(row) { - this.reset() - const id = row.id || this.ids - getThreshold(id).then(response => { - this.form = response.data - this.indicators = JSON.parse(this.form.indicator) - this.videoOpen = true - this.title = '淇敼杩愮淮闃堝��' - }) + this.reset(); + const id = row.id || this.ids; + getThreshold(id).then((response) => { + this.form = response.data; + this.indicators = JSON.parse(this.form.indicator); + this.videoOpen = true; + this.title = "淇敼杩愮淮闃堝��"; + }); }, /** 鎻愪氦鎸夐挳 */ submitForm() { - this.$refs['form'].validate(valid => { + this.$refs["form"].validate((valid) => { if (valid) { // 灏唅ndicators杞负json璧嬪�煎埌form - this.form.indicator = JSON.stringify(this.indicators) + this.form.indicator = JSON.stringify(this.indicators); if (this.form.id != null) { - updateThreshold(this.form).then(response => { - this.$modal.msgSuccess('淇敼鎴愬姛') - this.open = false - this.getList() - }) + updateThreshold(this.form).then((response) => { + this.$modal.msgSuccess("淇敼鎴愬姛"); + this.open = false; + this.getList(); + }); } else { - addThreshold(this.form).then(response => { - this.$modal.msgSuccess('鏂板鎴愬姛') - this.open = false - this.getList() - }) + addThreshold(this.form).then((response) => { + this.$modal.msgSuccess("鏂板鎴愬姛"); + this.open = false; + this.getList(); + }); } } - }) + }); }, /** 鍒犻櫎鎸夐挳鎿嶄綔 */ handleDelete(row) { - const ids = row.id || this.ids - this.$modal.confirm('鏄惁纭鍒犻櫎杩愮淮闃堝�肩紪鍙蜂负"' + ids + '"鐨勬暟鎹」锛�').then(function() { - return delThreshold(ids) - }).then(() => { - this.getList() - this.$modal.msgSuccess('鍒犻櫎鎴愬姛') - }).catch(() => { - }) + const ids = row.id || this.ids; + this.$modal + .confirm('鏄惁纭鍒犻櫎杩愮淮闃堝�肩紪鍙蜂负"' + ids + '"鐨勬暟鎹」锛�') + .then(function () { + return delThreshold(ids); + }) + .then(() => { + this.getList(); + this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); + }) + .catch(() => {}); }, /** 鍒囨崲涓嶅悓鎸囨爣 */ handleModeNameChange() { - if (this.form.monitorType === '1' || this.form.monitorType === null) { + if (this.form.monitorType === "1" || this.form.monitorType === null) { this.indicators = [ { - label: '鎶撴媿閲�', - value: null + label: "鎶撴媿閲�", + value: null, }, { - label: '鍙婃椂鐜�', - value: null + label: "鍙婃椂鐜�", + value: null, }, { - label: '寤惰繜閲�', - value: null + label: "寤惰繜閲�", + value: null, }, { - label: '鎶芥閲�', - value: null + label: "鎶芥閲�", + value: null, }, { - label: '璁惧娲昏穬鐜�', - value: null + label: "璁惧娲昏穬鐜�", + value: null, }, { - label: '鎶撴媿鍙婃椂鐜�', - value: null + label: "鎶撴媿鍙婃椂鐜�", + value: null, }, { - label: '鏃堕挓鍑嗙‘鐜�', - value: null + label: "鏃堕挓鍑嗙‘鐜�", + value: null, }, { - label: '鏃堕挓涓嶅噯纭巼', - value: null - } - ] - } else if (this.form.monitorType === 'car') { + label: "鏃堕挓涓嶅噯纭巼", + value: null, + }, + ]; + } else if (this.form.monitorType === "car") { this.indicators = [ { - label: '杩囪溅鏁版嵁閲�', - value: null + label: "杩囪溅鏁版嵁閲�", + value: null, }, { - label: '杩囪溅缂哄け鐜�', - value: null + label: "杩囪溅缂哄け鐜�", + value: null, }, { - label: '鏈夋晥杩囪溅鏁版嵁閲�', - value: null + label: "鏈夋晥杩囪溅鏁版嵁閲�", + value: null, }, { - label: '鎶芥閲�', - value: null + label: "鎶芥閲�", + value: null, }, { - label: '璁惧娲昏穬鐜�', - value: null + label: "璁惧娲昏穬鐜�", + value: null, }, { - label: '鎶撴媿鍙婃椂鐜�', - value: null + label: "鎶撴媿鍙婃椂鐜�", + value: null, }, { - label: '鏃堕挓鍑嗙‘鐜�', - value: null + label: "鏃堕挓鍑嗙‘鐜�", + value: null, }, { - label: '鏃堕挓涓嶅噯纭巼', - value: null - } - ] - } else if (this.form.monitorType === 'video') { + label: "鏃堕挓涓嶅噯纭巼", + value: null, + }, + ]; + } else if (this.form.monitorType === "video") { this.indicators = [ { - label: '褰曞儚璐ㄩ噺', - value: null + label: "褰曞儚璐ㄩ噺", + value: null, }, { - label: '鏍囨敞鍑嗙‘鐜�', - value: null + label: "鏍囨敞鍑嗙‘鐜�", + value: null, }, { - label: '鍥惧儚璐ㄩ噺', - value: null + label: "鍥惧儚璐ㄩ噺", + value: null, }, - ] + ]; } - } - } -} + }, + }, +}; </script> -<style> -.el-input-half-width { +<style scoped> +::v-deep .el-input-half-width { width: calc(50% - 6px); /* 鍑忓幓涓�浜涢棿闅� */ } -.table-row { +::v-deep .table-row { display: flex; flex-direction: row; } -.table-row-item { +::v-deep .table-row-item { width: 120px; text-align: center; } +.fixedWidth { + width: 200px; +} +.threshold { + display: flex; + flex-direction: row; +} + +.header鈥攖ext { + font-weight: bold; +} +::v-deep .el-form-item { + margin-bottom: 0px; /* 鏍规嵁闇�姹傝皟鏁磋繖涓�� */ +} </style> -- Gitblit v1.8.0