From ce59cac766bd4f0fb70555bff1c08875181e03bf Mon Sep 17 00:00:00 2001 From: 黄何裕 <1053952480@qq.com> Date: 星期一, 22 七月 2024 09:14:42 +0800 Subject: [PATCH] 处理冲突 --- src/views/system/monitor/recovery/index.vue | 15 src/views/system/work-order/distribute/index.vue | 18 src/views/system/monitor/video/index.vue | 19 src/views/system/work-order/threshold/index.vue | 709 +++++++----------------------------- src/views/system/data-manage/data-detail/index.vue | 2 src/views/system/data-manage/equipment/index.vue | 2 src/views/system/monitor/face/index.vue | 15 src/views/system/data-manage/vehicle-data-monitor/index.vue | 2 src/views/system/monitor/car/index.vue | 15 src/views/system/contract/contract/index.vue | 315 +++++++++++---- src/views/system/monitor/platform/index.vue | 15 11 files changed, 419 insertions(+), 708 deletions(-) diff --git a/src/views/system/contract/contract/index.vue b/src/views/system/contract/contract/index.vue index 1c095bd..8f7e39d 100644 --- a/src/views/system/contract/contract/index.vue +++ b/src/views/system/contract/contract/index.vue @@ -1,61 +1,123 @@ <template> <div class="app-container"> - + <el-row :gutter="10" class="mb8" style="margin-top: 10px"> + <el-col :span="1.5"> + <el-button + type="primary" + plain + icon="el-icon-plus" + size="mini" + v-hasPermi="['system:contract:import']" + @click="handleImport" + >鏂板</el-button + > + </el-col> + </el-row> <el-row v-loading="loading"> - <el-col :span="8" v-for="(item, index) in contractList" :key="index" style="margin: 10px;width: 30%;"> + <el-col + :span="8" + v-for="(item, index) in contractList" + :key="index" + style="margin: 10px; width: 30%" + > <el-card :body-style="{ padding: '0px' }"> - <ImagePreview style="width: 100%;height: 187px;" - fit="cover" :src="item.attachment" - class="image" /> - <div style="padding: 14px;"> + <ImagePreview + style="width: 100%; height: 187px" + fit="cover" + :src="item.attachment" + class="image" + /> + <div style="padding: 14px"> <span>{{ item.name }}</span> - <span class="time" style="margin-left: 10px;">{{ item.unitName }}</span> + <span class="time" style="margin-left: 10px">{{ + item.unitName + }}</span> <div class="bottom clearfix"> - <time class="time">{{ item.startTime }} 鈥� {{ item.endTime }}</time> - <el-button type="text" class="button" @click="handleDetail(item)">鏌ョ湅璇︽儏</el-button> + <time class="time" + >{{ item.startTime }} 鈥� {{ item.endTime }}</time + > + <el-button type="text" class="button" @click="handleDetail(item)" + >鏌ョ湅璇︽儏</el-button + > </div> </div> </el-card> </el-col> </el-row> - <el-row :gutter="10" class="mb8" style="margin-top: 40px;"> - <el-col :span="1.5"> - <el-button type="primary" plain icon="el-icon-plus" size="mini" v-hasPermi="['system:contract:import']" - @click="handleImport">鏂板</el-button> - </el-col> - </el-row> - <!-- 鍚堝悓璇︽儏 --> - <el-dialog :title="detailName" :visible.sync="detail" width="800px" append-to-body> + <el-dialog + :title="detailName" + :visible.sync="detail" + width="800px" + append-to-body + > <el-form label-position="left" inline class="table-expand"> <el-collapse v-model="activeNames"> - <el-collapse-item v-for="(item, index) in ruleData" :key="index" :title="item.ruleName" :name="index"> - <div class="inline-input-container" v-for="(item, index) in item.children" :key="index"> - <b>{{ item.ruleDesc }}</b> <br v-if="item.ruleDesc"/> - <el-tooltip class="item" v-for="(item, index) in item.children" :key="index" effect="dark" :content="item.deductCategory == '鍒嗘暟涔樹互鏁伴噺' ? '鎵�' + item.calcFraction + '鍒�*鏁伴噺 ' : item.deductCategory == '闄や互鏁伴噺鍚庝箻浠ュ垎鏁�' ? '鎵�' + item.calcFraction + '鍒�/' + item.calcUnit + '灏忔椂' : '鎵�' + item.calcFraction + '鍒�'" placement="top"> - <span>{{ item.ruleCondition }}<br/></span> + <el-collapse-item + v-for="(item, index) in ruleData" + :key="index" + :title="item.ruleName" + :name="index" + > + <div + class="inline-input-container" + v-for="(item, index) in item.children" + :key="index" + > + <b>{{ item.ruleDesc }}</b> <br v-if="item.ruleDesc" /> + <el-tooltip + class="item" + v-for="(item, index) in item.children" + :key="index" + effect="dark" + :content=" + item.deductCategory == '鍒嗘暟涔樹互鏁伴噺' + ? '鎵�' + item.calcFraction + '鍒�*鏁伴噺 ' + : item.deductCategory == '闄や互鏁伴噺鍚庝箻浠ュ垎鏁�' + ? '鎵�' + item.calcFraction + '鍒�/' + item.calcUnit + '灏忔椂' + : '鎵�' + item.calcFraction + '鍒�' + " + placement="top" + > + <span>{{ item.ruleCondition }}<br /></span> <!-- {{ item.deductCategory }} {{ item.calcFraction }}{{ item.calcUnit ? "/" + item.calcUnit : '' }} --> - </el-tooltip> + </el-tooltip> </div> </el-collapse-item> <el-collapse-item title="鑰冩牳缁撴灉搴旂敤瑙勫垯" :name="ruleData.length"> <div class="inline-input-container"> - <span v-for="(item, index) in moneyRules" :key="index"> - <div> - <span>{{ item.scoreCondition }}</span> - <el-tooltip class="item" effect="dark" :content="item.description" placement="top"> - <span style="margin-left: 20px;">{{ item.description }}</span> - </el-tooltip> - </div> - </span> + <span v-for="(item, index) in moneyRules" :key="index"> + <div> + <span>{{ item.scoreCondition }}</span> + <el-tooltip + class="item" + effect="dark" + :content="item.description" + placement="top" + > + <span style="margin-left: 20px">{{ + item.description + }}</span> + </el-tooltip> + </div> + </span> </div> </el-collapse-item> <el-form-item label="鍚堝悓闄勪欢" prop="attachment" class="top"> - <file-upload v-model="form.attachment"/> + <file-upload v-model="form.attachment" /> </el-form-item> - <el-link class="top" v-for="item in contractInfo.attachment != null ? contractInfo.attachment.split(',') : contractInfo.attachment" :underline="false" :key="item" @click="handleDownload(item)">{{ item.substring(item.lastIndexOf("/") + 1) }}</el-link> - <div style="text-align: right; margin-top: 10px;"> + <el-link + class="top" + v-for="item in contractInfo.attachment != null + ? contractInfo.attachment.split(',') + : contractInfo.attachment" + :underline="false" + :key="item" + @click="handleDownload(item)" + >{{ item.substring(item.lastIndexOf("/") + 1) }}</el-link + > + <div style="text-align: right; margin-top: 10px"> <el-button type="primary" @click="submitForm">鎻愪氦</el-button> </div> </el-collapse> @@ -63,7 +125,12 @@ </el-dialog> <!-- 鍚堝悓瀵煎叆瀵硅瘽妗� --> - <el-dialog :title="upload.title" :visible.sync="upload.open" width="1000px" append-to-body> + <el-dialog + :title="upload.title" + :visible.sync="upload.open" + width="1000px" + append-to-body + > <el-form ref="form" :model="upload" :rules="rules" label-width="80px"> <el-divider content-position="left">鍚堝悓淇℃伅</el-divider> <div class="row-warp"> @@ -75,31 +142,61 @@ </el-form-item> <el-form-item label="鍏徃鍚嶇О" prop="unitId"> <el-select v-model="upload.unitId" placeholder="璇烽�夋嫨"> - <el-option v-for="item in unitList" :key="item.id" :label="item.value" :value="item.id"> + <el-option + v-for="item in unitList" + :key="item.id" + :label="item.value" + :value="item.id" + > </el-option> </el-select> </el-form-item> <el-form-item label="鍚堝悓鏃堕棿" prop="timezone"> - <el-date-picker :disabled="title === '淇敼鍚堝悓鏃堕棿'" @change="dateChange" v-model="upload.timezone" - value-format="yyyy-MM-dd HH:mm:ss" type="datetimerange" align="right" unlink-panels range-separator="鑷�" - start-placeholder="寮�濮嬫椂闂�" end-placeholder="缁撴潫鏃堕棿"> + <el-date-picker + :disabled="title === '淇敼鍚堝悓鏃堕棿'" + @change="dateChange" + v-model="upload.timezone" + value-format="yyyy-MM-dd HH:mm:ss" + type="datetimerange" + align="right" + unlink-panels + range-separator="鑷�" + start-placeholder="寮�濮嬫椂闂�" + end-placeholder="缁撴潫鏃堕棿" + > </el-date-picker> </el-form-item> </div> </div> - <div class="row-right" style="margin-left: 80px;"> + <div class="row-right" style="margin-left: 80px"> <div class="margin-5"> - <el-upload ref="upload" :limit="1" accept=".xlsx, .xls" :headers="upload.headers" + <el-upload + ref="upload" + :limit="1" + accept=".xlsx, .xls" + :headers="upload.headers" :action="upload.url" - :disabled="upload.isUploading" :on-progress="handleFileUploadProgress" :on-success="handleFileSuccess" + :disabled="upload.isUploading" + :on-progress="handleFileUploadProgress" + :on-success="handleFileSuccess" :data="upload" - :auto-upload="false" drag style="text-align: center;"> + :auto-upload="false" + drag + style="text-align: center" + > <i class="el-icon-upload"></i> - <div class="el-upload__text">灏嗘枃浠舵嫋鍒版澶勶紝鎴�<em>鐐瑰嚮涓婁紶</em></div> + <div class="el-upload__text"> + 灏嗘枃浠舵嫋鍒版澶勶紝鎴�<em>鐐瑰嚮涓婁紶</em> + </div> <div class="el-upload__tip text-center" slot="tip"> <span>浠呭厑璁稿鍏ls銆亁lsx鏍煎紡鏂囦欢銆�</span> - <el-link type="primary" :underline="false" style="font-size:12px;vertical-align: baseline;" - @click="importTemplate">涓嬭浇妯℃澘</el-link> + <el-link + type="primary" + :underline="false" + style="font-size: 12px; vertical-align: baseline" + @click="importTemplate" + >涓嬭浇妯℃澘</el-link + > </div> </el-upload> </div> @@ -108,38 +205,64 @@ </div> <el-divider content-position="left">鑰冩牳缁撴灉搴旂敤瑙勫垯</el-divider> <div class="row-warp"> - <div class="row" v-for="(item, index) in upload.ruleList" :key="index"> - <div class="row-left" style="flex: 0.7;"> + <div + class="row" + v-for="(item, index) in upload.ruleList" + :key="index" + > + <div class="row-left" style="flex: 0.7"> <div class="block"> <el-form-item label="鑰冩牳鏉′欢" prop="ruleList"> - <el-input v-model="item.scoreCondition" style="width: 250px;" /> + <el-input + v-model="item.scoreCondition" + style="width: 250px" + /> </el-form-item> </div> </div> <div class="row-right"> <div class="margin-5"> <el-form-item label="瑙勫垯鎻忚堪" prop="ruleList"> - <el-input type="textarea" v-model="item.description" style="width: 300px;" /> - <el-button style="margin-left: 50px;" type="danger" icon="el-icon-delete" circle @click="deleteRule(index)"></el-button> + <el-input + type="textarea" + v-model="item.description" + style="width: 300px" + /> + <el-button + style="margin-left: 50px" + type="danger" + icon="el-icon-delete" + circle + @click="deleteRule(index)" + ></el-button> </el-form-item> </div> </div> </div> </div> - <el-button style="margin-left: 50px;" type="success" icon="el-icon-plus" circle @click="addRule"></el-button> - </el-form> + <el-button + style="margin-left: 50px" + type="success" + icon="el-icon-plus" + circle + @click="addRule" + ></el-button> + </el-form> <div slot="footer" class="dialog-footer"> <el-button type="primary" @click="submitFileForm">纭� 瀹�</el-button> <el-button @click="upload.open = false">鍙� 娑�</el-button> </div> </el-dialog> - </div> </template> <script> -import { listContract, getContract, updateContract } from "@/api/platform/contract"; +import { + listContract, + getContract, + updateContract, +} from "@/api/platform/contract"; import { getRuleListByContractId } from "../../../../api/platform/calculate-rule"; import { getMoneyRulesByContractId } from "../../../../api/platform/calculate-money-rule"; import { unitSelect } from "../../../../api/platform/unit"; @@ -167,21 +290,19 @@ // 涓婁紶鐨勫湴鍧� url: process.env.VUE_APP_BASE_API + "/system/contract/importData", ruleList: [], - unitId: '', - startTime: '', - endTime: '' + unitId: "", + startTime: "", + endTime: "", }, - dialogImageUrl: '', + dialogImageUrl: "", dialogVisible: false, disabled: false, props: { - row: { - - } + row: {}, }, unitList: [], deptList: [], - activeNames: ['1'], + activeNames: ["1"], // 閬僵灞� loading: true, // 閫変腑鏁扮粍 @@ -207,23 +328,32 @@ ruleData: [], moneyRules: [], // 琛ㄥ崟鍙傛暟 - form: { - }, + form: {}, // 琛ㄥ崟鏍¢獙 rules: { name: [ - { required: true, message: "鍚堝悓鍚嶇О涓嶈兘涓虹┖", trigger: "blur" } + { required: true, message: "鍚堝悓鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }, ], unitId: [ - { required: true, message: "杩愮淮鍗曚綅涓嶈兘涓虹┖", trigger: "change" } + { required: true, message: "杩愮淮鍗曚綅涓嶈兘涓虹┖", trigger: "change" }, ], timezone: [ - { type: "array", required: true, message: "鍚堝悓鏃堕棿涓嶈兘涓虹┖", trigger: "change" } + { + type: "array", + required: true, + message: "鍚堝悓鏃堕棿涓嶈兘涓虹┖", + trigger: "change", + }, ], ruleList: [ - { type: "array", required: true, message: "鑰冩牳缁撴灉搴旂敤瑙勫垯涓嶈兘涓虹┖", trigger: "submit" } - ] - } + { + type: "array", + required: true, + message: "鑰冩牳缁撴灉搴旂敤瑙勫垯涓嶈兘涓虹┖", + trigger: "submit", + }, + ], + }, }; }, created() { @@ -234,15 +364,15 @@ methods: { addRule() { this.upload.ruleList.push({ - scoreCondition: '', - description: '' + scoreCondition: "", + description: "", }); }, deleteRule(index) { this.upload.ruleList.splice(index, 1); }, submitForm() { - updateContract(this.form).then(response => { + updateContract(this.form).then((response) => { this.detail = false; if (response.code != 200) { this.$message.error("鎿嶄綔澶辫触"); @@ -258,8 +388,7 @@ }, /** 涓嬭浇妯℃澘鎿嶄綔 */ importTemplate() { - this.download('system/contract/importTemplate', { - }, `鍚堝悓瀵煎叆妯℃澘.xlsx`) + this.download("system/contract/importTemplate", {}, `鍚堝悓瀵煎叆妯℃澘.xlsx`); }, // 鏂囦欢涓婁紶涓鐞� handleFileUploadProgress(event, file, fileList) { @@ -280,7 +409,7 @@ // 鎻愪氦涓婁紶鏂囦欢 submitFileForm() { let that = this; - this.$refs["form"].validate(valid => { + this.$refs["form"].validate((valid) => { if (valid) { that.upload.ruleList = JSON.stringify(this.upload.ruleList); that.loading = true; @@ -290,7 +419,7 @@ that.reset(); }); } - }) + }); }, // 鏃堕棿閫夋嫨鍙戠敓鍙樺寲 dateChange() { @@ -306,20 +435,20 @@ }, // 杩愮淮鍏徃涓嬫媺鏁版嵁 selectUnit() { - unitSelect().then(res => { + unitSelect().then((res) => { this.unitList = res.data; - }) + }); }, // 鍏畨閮ㄩ棬涓嬫媺鏁版嵁 selectDept() { - deptSelect().then(res => { + deptSelect().then((res) => { this.deptList = res.data; - }) + }); }, /** 鏌ヨ銆愯濉啓鍔熻兘鍚嶇О銆戝垪琛� */ getList() { this.loading = true; - listContract(this.queryParams).then(response => { + listContract(this.queryParams).then((response) => { this.contractList = response; this.total = response.total; this.loading = false; @@ -327,12 +456,12 @@ }, /** 鑾峰彇鍚堝悓瑙勫垯 */ getRuleList(item) { - getRuleListByContractId(item.id).then(response => { + getRuleListByContractId(item.id).then((response) => { this.ruleData = response.data; this.form.id = item.id; this.contractInfo = item; }); - getMoneyRulesByContractId(item.id).then(response => { + getMoneyRulesByContractId(item.id).then((response) => { this.moneyRules = response.data; }); }, @@ -351,28 +480,28 @@ /** 淇敼鎸夐挳鎿嶄綔 */ handleUpdate(row) { this.reset(); - const id = row.id || this.ids - getContract(id).then(response => { + const id = row.id || this.ids; + getContract(id).then((response) => { this.form = response.data; this.open = true; this.title = "淇敼鍚堝悓"; }); }, /** 涓嬭浇鎸夐挳鎿嶄綔 */ - handleDownload (data) { + handleDownload(data) { this.$download.resource(data); }, - reset () { + reset() { this.upload = { open: false, name: undefined, unitId: undefined, timezone: undefined, - ruleList: [] + ruleList: [], }; this.resetForm("form"); - } - } + }, + }, }; </script> @@ -421,7 +550,7 @@ } .clearfix:after { - clear: both + clear: both; } .top { diff --git a/src/views/system/data-manage/data-detail/index.vue b/src/views/system/data-manage/data-detail/index.vue index 08d602a..944c30f 100644 --- a/src/views/system/data-manage/data-detail/index.vue +++ b/src/views/system/data-manage/data-detail/index.vue @@ -309,7 +309,7 @@ width: 20%; height: 80px; margin-left: 5%; - background-color: #5599F7; + background-color: #1890FF; font-size: 50px; color: #FFF; width: 85px; diff --git a/src/views/system/data-manage/equipment/index.vue b/src/views/system/data-manage/equipment/index.vue index 1b6dd83..d39b2f0 100644 --- a/src/views/system/data-manage/equipment/index.vue +++ b/src/views/system/data-manage/equipment/index.vue @@ -5,7 +5,7 @@ <el-card class="box-card" > <el-row type="flex" align="middle" justify="space-between"> <el-col :xl="8" :lg="8" :md="10" :sm="8" :xs="6"> - <div class="icon-container" style="background-color: #5599F7"> + <div class="icon-container" style="background-color: #1890FF"> <i class="el-icon-wallet"></i> </div> </el-col> diff --git a/src/views/system/data-manage/vehicle-data-monitor/index.vue b/src/views/system/data-manage/vehicle-data-monitor/index.vue index 75bddb3..377323f 100644 --- a/src/views/system/data-manage/vehicle-data-monitor/index.vue +++ b/src/views/system/data-manage/vehicle-data-monitor/index.vue @@ -299,7 +299,7 @@ width: 20%; height: 80px; margin-left: 5%; - background-color: #5599F7; + background-color: #1890FF; font-size: 50px; color: #FFF; width: 85px; diff --git a/src/views/system/monitor/car/index.vue b/src/views/system/monitor/car/index.vue index 596da1f..ae62114 100644 --- a/src/views/system/monitor/car/index.vue +++ b/src/views/system/monitor/car/index.vue @@ -2,12 +2,12 @@ <div class="app-container"> <el-card class="box-card" > <el-row type="flex" align="middle" justify="space-between"> - <el-col :xl="8" :lg="8" :md="10" :sm="8" :xs="6"> - <div class="icon-container" style="background-color: #5599F7"> + <el-col :span="4"> + <div class="icon-container" style="background-color: #1890FF"> <i class="el-icon-truck"></i> </div> </el-col> - <el-col :xl="14" :lg="14" :md="12" :sm="14" :xs="16"> + <el-col :span="20"> <div class="dashboard"> <div class="dashboard-item"> <h3 style="color: #5C9BF8">{{ count.totalPosts }}</h3> @@ -394,7 +394,7 @@ <style lang="scss" scoped> .box-card { - background-color: #F5F9FE; + background-color: #ffffff; width: 100%; margin-bottom: 20px; height: 120px @@ -404,7 +404,7 @@ justify-content: center; align-items: center; border-radius: 20px; - width: 20%; + width: 130px; height: 80px; margin-left: 5%; } @@ -415,9 +415,10 @@ .dashboard { display: flex; - gap: 10%; + gap: 5%; align-items: center; - margin-left: -50%; + justify-content: space-between; + margin-right: 20px; } .dashboard-item { diff --git a/src/views/system/monitor/face/index.vue b/src/views/system/monitor/face/index.vue index 6e99e50..1e6aaf9 100644 --- a/src/views/system/monitor/face/index.vue +++ b/src/views/system/monitor/face/index.vue @@ -2,12 +2,12 @@ <div class="app-container"> <el-card class="box-card" > <el-row type="flex" align="middle" justify="space-between"> - <el-col :xl="8" :lg="8" :md="10" :sm="8" :xs="6"> - <div class="icon-container" style="background-color: #5599F7"> + <el-col :span="4"> + <div class="icon-container" style="background-color: #1890FF"> <i class="el-icon-user"></i> </div> </el-col> - <el-col :xl="14" :lg="14" :md="12" :sm="14" :xs="16"> + <el-col :span="20"> <div class="dashboard"> <div class="dashboard-item"> <h3 style="color: #5C9BF8">{{ count.totalPosts }}</h3> @@ -434,7 +434,7 @@ <style lang="scss" scoped> .box-card { - background-color: #F5F9FE; + background-color: #ffffff; width: 100%; margin-bottom: 20px; height: 120px @@ -444,7 +444,7 @@ justify-content: center; align-items: center; border-radius: 20px; - width: 20%; + width: 130px; height: 80px; margin-left: 5%; } @@ -455,9 +455,10 @@ .dashboard { display: flex; - gap: 10%; + gap: 5%; align-items: center; - margin-left: -50%; + justify-content: space-between; + margin-right: 20px; } .dashboard-item { diff --git a/src/views/system/monitor/platform/index.vue b/src/views/system/monitor/platform/index.vue index 3bbe042..6609341 100644 --- a/src/views/system/monitor/platform/index.vue +++ b/src/views/system/monitor/platform/index.vue @@ -2,12 +2,12 @@ <div class="app-container"> <el-card class="box-card" > <el-row type="flex" align="middle" justify="space-between"> - <el-col :xl="8" :lg="8" :md="10" :sm="8" :xs="6"> - <div class="icon-container" style="background-color: #5599F7"> + <el-col :span="4"> + <div class="icon-container" style="background-color: #1890FF"> <i class="el-icon-connection"></i> </div> </el-col> - <el-col :xl="14" :lg="14" :md="12" :sm="14" :xs="16"> + <el-col :span="20"> <div class="dashboard"> <div class="dashboard-item"> <h3 style="color: #5C9BF8">{{ count.totalPosts }}</h3> @@ -357,7 +357,7 @@ <style lang="scss" scoped> .box-card { - background-color: #F5F9FE; + background-color: #ffffff; width: 100%; margin-bottom: 20px; height: 120px @@ -367,7 +367,7 @@ justify-content: center; align-items: center; border-radius: 20px; - width: 20%; + width: 130px; height: 80px; margin-left: 5%; } @@ -378,9 +378,10 @@ .dashboard { display: flex; - gap: 10%; + gap: 5%; align-items: center; - margin-left: -50%; + justify-content: space-between; + margin-right: 20px; } .dashboard-item { diff --git a/src/views/system/monitor/recovery/index.vue b/src/views/system/monitor/recovery/index.vue index 29912d5..93d6d78 100644 --- a/src/views/system/monitor/recovery/index.vue +++ b/src/views/system/monitor/recovery/index.vue @@ -2,12 +2,12 @@ <div class="app-container"> <el-card class="box-card" > <el-row type="flex" align="middle" justify="space-between"> - <el-col :xl="8" :lg="8" :md="10" :sm="8" :xs="6"> - <div class="icon-container" style="background-color: #5599F7"> + <el-col :span="4"> + <div class="icon-container" style="background-color: #1890FF"> <i class="el-icon-refresh-left"></i> </div> </el-col> - <el-col :xl="14" :lg="14" :md="12" :sm="14" :xs="16"> + <el-col :span="20"> <div class="dashboard"> <div class="dashboard-item"> <h3 style="color: #5C9BF8">{{ count.totalPosts }}</h3> @@ -365,7 +365,7 @@ <style lang="scss" scoped> .box-card { - background-color: #F5F9FE; + background-color: #ffffff; width: 100%; margin-bottom: 20px; height: 120px @@ -375,7 +375,7 @@ justify-content: center; align-items: center; border-radius: 20px; - width: 20%; + width: 130px; height: 80px; margin-left: 5%; } @@ -386,9 +386,10 @@ .dashboard { display: flex; - gap: 10%; + gap: 5%; align-items: center; - margin-left: -50%; + justify-content: space-between; + margin-right: 20px; } .dashboard-item { diff --git a/src/views/system/monitor/video/index.vue b/src/views/system/monitor/video/index.vue index 030708c..b90d25c 100644 --- a/src/views/system/monitor/video/index.vue +++ b/src/views/system/monitor/video/index.vue @@ -3,13 +3,13 @@ <div class="app-container"> <el-card class="box-card" > - <el-row type="flex" align="middle" justify="space-between"> - <el-col :xl="8" :lg="8" :md="10" :sm="8" :xs="6"> - <div class="icon-container" style="background-color: #5599F7"> + <el-row type="flex" align="middle" justify="space-between" style="width: 100%;"> + <el-col :span="4"> + <div class="icon-container" style="background-color: #1890FF"> <i class="el-icon-video-camera"></i> </div> </el-col> - <el-col :xl="14" :lg="14" :md="12" :sm="14" :xs="16"> + <el-col :span="20"> <div class="dashboard"> <div class="dashboard-item"> <h3 style="color: #5C9BF8">{{ count.totalPosts }}</h3> @@ -434,17 +434,17 @@ <style lang="scss" scoped> .box-card { - background-color: #F5F9FE; + background-color: hsl(0, 0%, 100%); width: 100%; margin-bottom: 20px; - height: 120px + height: 120px; } .icon-container { display: flex; justify-content: center; align-items: center; border-radius: 20px; - width: 20%; + width: 130px; height: 80px; margin-left: 5%; } @@ -455,9 +455,10 @@ .dashboard { display: flex; - gap: 10%; + gap: 5%; align-items: center; - margin-left: -50%; + justify-content: space-between; + margin-right: 20px; } .dashboard-item { diff --git a/src/views/system/work-order/distribute/index.vue b/src/views/system/work-order/distribute/index.vue index 89e48d7..4113958 100644 --- a/src/views/system/work-order/distribute/index.vue +++ b/src/views/system/work-order/distribute/index.vue @@ -15,12 +15,12 @@ <el-row class="op-warp" type="flex" justify="left" > <el-col :span="24"> - <el-button size="small" type="info" @click="selectedDistribute" class="op">涓嬪彂閫変腑宸ュ崟</el-button> + <el-button size="mini" type="primary" @click="selectedDistribute" class="op">涓嬪彂閫変腑宸ュ崟</el-button> <el-popconfirm @confirm="allDistribute" title="纭畾瑕佷笅鍙戞墍鏈夊伐鍗曞悧锛�" > - <el-button size="small" type="danger" class="op" slot="reference">鍏ㄩ儴涓嬪彂</el-button> + <el-button size="mini" type="primary" class="op" slot="reference">鍏ㄩ儴涓嬪彂</el-button> </el-popconfirm> <el-popover @@ -56,15 +56,21 @@ </el-select> </el-form-item> <el-form-item label="鏁伴噺闄愬埗" prop="fastNumLimit"> - <el-input v-model="fastDistributeForm.fastNumLimit" size="small" type="number" placeholder="姝ゆ宸ュ崟涓嬪彂鏈�澶ф暟閲�"></el-input> + <el-input v-model="fastDistributeForm.fastNumLimit" size="mini" type="number" placeholder="姝ゆ宸ュ崟涓嬪彂鏈�澶ф暟閲�"></el-input> </el-form-item> <el-form-item> - <el-button type="primary" size="small" @click="fastDistribute">绔嬪嵆涓嬪彂</el-button> + <el-button type="primary" size="mini" @click="fastDistribute">绔嬪嵆涓嬪彂</el-button> </el-form-item> </el-form> - <el-button slot="reference" type="primary" size="small">蹇嵎涓嬪彂</el-button> + <el-button slot="reference" type="primary" size="mini">蹇嵎涓嬪彂</el-button> </el-popover> - <el-button size="small" type="success" @click="handleAdd">鎵嬪姩鏂板宸ュ崟</el-button> + <el-button + type="primary" + plain + icon="el-icon-plus" + size="mini" + @click="handleAdd" + >鎵嬪姩鏂板宸ュ崟</el-button> <el-button icon="el-icon-refresh" circle @click="page"></el-button> </el-col> </el-row> diff --git a/src/views/system/work-order/threshold/index.vue b/src/views/system/work-order/threshold/index.vue index 7053ad8..345e441 100644 --- a/src/views/system/work-order/threshold/index.vue +++ b/src/views/system/work-order/threshold/index.vue @@ -24,11 +24,15 @@ type="text" icon="el-icon-edit" v-hasPermi="['ycl:threshold:edit']" - @click="a()" - v-if="!ifEdit" + @click="showEdit('video')" + v-if="!ifEditVideo" >淇敼 </el-button> - <el-button size="mini" type="primary" @click="a()" v-if="ifEdit" + <el-button + size="mini" + type="primary" + @click="saveEdit('video')" + v-if="ifEditVideo" >淇濆瓨 </el-button> </div> @@ -47,83 +51,28 @@ font-size: small; display: flex; flex-direction: row-reverse; - width: 172px; + width: 192px; " - >宸ュ崟闃堝��</div > + 宸ュ崟闃堝�� + </div> <div> - <el-form label-width="120px"> - <el-form-item label="妯$硦鍒嗗�硷細"> + <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.blur" + v-model="videoList[index].value" size="mini" style="width: 100px" - v-if="ifEdit" + :type="item.countType=='int'?'number':''" + v-if="ifEditVideo" ></el-input> - <span v-else>{{ thresholdList[0].blur }}</span> - </el-form-item> - <el-form-item label="棰滆壊鍒嗗�硷細"> - <el-input - v-model="videoList.color" - size="mini" - style="width: 100px" - v-if="ifEdit" - ></el-input> - <span v-else>{{ thresholdList[0].color }}</span> - </el-form-item> - <el-form-item label="浜害鍒嗗�硷細"> - <el-input - v-model="videoList.light" - size="mini" - style="width: 100px" - v-if="ifEdit" - ></el-input> - <span v-else>{{ thresholdList[0].light }}</span> - </el-form-item> - <el-form-item label="閬尅鍒嗗�硷細"> - <el-input - v-model="videoList.shade" - size="mini" - style="width: 100px" - v-if="ifEdit" - ></el-input> - <span v-else>{{ thresholdList[0].shade }}</span> - </el-form-item> - <el-form-item label="闆姳鍒嗗�硷細"> - <el-input - v-model="videoList.snow" - size="mini" - style="width: 100px" - v-if="ifEdit" - ></el-input> - <span v-else>{{ thresholdList[0].snow }}</span> - </el-form-item> - <el-form-item label="鏉$汗鍒嗗�硷細"> - <el-input - v-model="videoList.stripe" - size="mini" - style="width: 100px" - v-if="ifEdit" - ></el-input> - <span v-else>{{ thresholdList[0].stripe }}</span> - </el-form-item> - <el-form-item label="鏃犱俊鍙峰垎鍊硷細"> - <el-input - v-model="videoList.signal" - size="mini" - style="width: 100px" - v-if="ifEdit" - ></el-input> - <span v-else>{{ thresholdList[0].signal }}</span> - </el-form-item> - <el-form-item label="鏍囨敞鏃堕棿宸�(绉�)锛�"> - <el-input - v-model="videoList.diffTime" - size="mini" - style="width: 100px" - v-if="ifEdit" - ></el-input> - <span v-else>{{ thresholdList[0].diffTime }}</span> + <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> @@ -131,78 +80,22 @@ <div> <span style="font-size: small">涓嬪彂闃堝��</span> <div> - <el-form ref="form" :model="thresholdList[0]"> - <el-form-item label=""> + <el-form ref="form"> + <el-form-item + v-for="(item, index) in thresholdList.video" + label="" + :key="item.id" + > <el-input - v-model="videoList.blur" + v-model="videoList[index].valueAuto" size="mini" style="width: 100px" - v-if="ifEdit" + :type="item.countType=='int'?'number':''" + v-if="ifEditVideo" ></el-input> - <span v-else>{{ thresholdList[0].blur }}</span> - </el-form-item> - <el-form-item label=""> - <el-input - v-model="videoList.color" - size="mini" - style="width: 100px" - v-if="ifEdit" - ></el-input> - <span v-else>{{ thresholdList[0].color }}</span> - </el-form-item> - <el-form-item label=""> - <el-input - v-model="videoList.light" - size="mini" - style="width: 100px" - v-if="ifEdit" - ></el-input> - <span v-else>{{ thresholdList[0].light }}</span> - </el-form-item> - <el-form-item label=""> - <el-input - v-model="videoList.shade" - size="mini" - style="width: 100px" - v-if="ifEdit" - ></el-input> - <span v-else>{{ thresholdList[0].shade }}</span> - </el-form-item> - <el-form-item label=""> - <el-input - v-model="videoList.snow" - size="mini" - style="width: 100px" - v-if="ifEdit" - ></el-input> - <span v-else>{{ thresholdList[0].snow }}</span> - </el-form-item> - <el-form-item label=""> - <el-input - v-model="videoList.stripe" - size="mini" - style="width: 100px" - v-if="ifEdit" - ></el-input> - <span v-else>{{ thresholdList[0].stripe }}</span> - </el-form-item> - <el-form-item label=""> - <el-input - v-model="videoList.signal" - size="mini" - style="width: 100px" - v-if="ifEdit" - ></el-input> - <span v-else>{{ thresholdList[0].signal }}</span> - </el-form-item> - <el-form-item label=""> - <el-input - v-model="videoList.difftime" - size="mini" - style="width: 100px" - v-if="ifEdit" - ></el-input> - <span v-else>{{ thresholdList[0].difftime }}</span> + <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> @@ -220,11 +113,15 @@ type="text" icon="el-icon-edit" v-hasPermi="['ycl:threshold:edit']" - @click="a()" - v-if="!ifEdit" + @click="showEdit('face')" + v-if="!ifEditFace" >淇敼 </el-button> - <el-button size="mini" type="primary" @click="b()" v-if="ifEdit" + <el-button + size="mini" + type="primary" + @click="saveEdit('face')" + v-if="ifEditFace" >淇濆瓨 </el-button> </div> @@ -245,131 +142,50 @@ flex-direction: row-reverse; width: 190px; " - >宸ュ崟闃堝��</div > + 宸ュ崟闃堝�� + </div> <div> <el-form label-width="140px"> - <el-form-item label="鏃堕挓鍑嗙‘鐜囷細"> - <el-input - v-model="faceList.clockPercent" - size="mini" - style="width: 100px" - v-if="ifEdit" - ></el-input> - <span v-else>{{ thresholdList[1].clockPercent }}</span> - </el-form-item> - <el-form-item label="鏁版嵁鍙婃椂鐜囷細"> - <el-input - v-model="faceList.timelyPercent" - size="mini" - style="width: 100px" - v-if="ifEdit" - ></el-input> - <span v-else>{{ thresholdList[1].timelyPercent }}</span> - </el-form-item> - <el-form-item label="涓嶅敮涓�鏁版嵁閲忥細"> - <el-input - v-model="faceList.nouniqueCount" - size="mini" - style="width: 100px" - v-if="ifEdit" - ></el-input> - <span v-else>{{ thresholdList[1].nouniqueCount }}</span> - </el-form-item> - <el-form-item label="寤烘ā澶辫触鐜囷細"> - <el-input - v-model="faceList.failPercent" - size="mini" - style="width: 100px" - v-if="ifEdit" - ></el-input> - <span v-else>{{ thresholdList[1].failPercent }}</span> - </el-form-item> - <el-form-item label="骞冲潎浜鸿劯浣庤瘎鍒嗙巼锛�"> - <el-input - v-model="faceList.lowScorePercent" - size="mini" - style="width: 100px" - v-if="ifEdit" - ></el-input> - <span v-else>{{ - thresholdList[1].lowScorePercent - }}</span></el-form-item + <el-form-item + v-for="(item, index) in thresholdList.face" + :label="item.name + '锛�'" + :key="item.id" > - <el-form-item label="鎸佺画鏃犳暟鎹ぉ鏁帮細"> <el-input - v-model="thresholdList[0].continueNoDataCount" + v-model="faceList[index].value" size="mini" style="width: 100px" - v-if="ifEdit" + :type="item.countType=='int'?'number':''" + v-if="ifEditFace" ></el-input> - <span v-else>{{ 10 }}</span></el-form-item - > + <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" - :model="thresholdList[0]" - > - <el-form-item label=""> - <el-input - v-model="thresholdList[1].clockPercent" - size="mini" - style="width: 100px" - v-if="ifEdit" - ></el-input> - <span v-else>{{ - thresholdList[1].clockPercent - }}</span></el-form-item + <el-form ref="form"> + <el-form-item + v-for="(item, index) in thresholdList.face" + label="" + :key="item.id" > - <el-form-item label=""> <el-input - v-model="thresholdList[0].timelyPercent" + v-model="faceList[index].valueAuto" size="mini" style="width: 100px" - v-if="ifEdit" + :type="item.countType=='int'?'number':''" + v-if="ifEditFace" ></el-input> - <span v-else>{{ 10 }}</span></el-form-item - > - <el-form-item label=""> - <el-input - v-model="thresholdList[0].nouniqueCount" - size="mini" - style="width: 100px" - v-if="ifEdit" - ></el-input> - <span v-else>{{ 10 }}</span></el-form-item - > - <el-form-item label=""> - <el-input - v-model="thresholdList[0].failPercent" - size="mini" - style="width: 100px" - v-if="ifEdit" - ></el-input> - <span v-else>{{ 10 }}</span></el-form-item - > - <el-form-item label=""> - <el-input - v-model="thresholdList[0].lowScorePercent" - size="mini" - style="width: 100px" - v-if="ifEdit" - ></el-input> - <span v-else>{{ 10 }}</span></el-form-item - > - <el-form-item label=""> - <el-input - v-model="thresholdList[0].continueNoDataCount" - size="mini" - style="width: 100px" - v-if="ifEdit" - ></el-input> - <span v-else>{{ 10 }}</span></el-form-item + <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> @@ -387,11 +203,15 @@ type="text" icon="el-icon-edit" v-hasPermi="['ycl:threshold:edit']" - @click="a()" - v-if="!ifEdit" + @click="showEdit('car')" + v-if="!ifEditCar" >淇敼 </el-button> - <el-button size="mini" type="primary" @click="a()" v-if="ifEdit" + <el-button + size="mini" + type="primary" + @click="saveEdit('car')" + v-if="ifEditCar" >淇濆瓨 </el-button> </div> @@ -412,67 +232,26 @@ flex-direction: row-reverse; width: 232px; " - >宸ュ崟闃堝��</div > + 宸ュ崟闃堝�� + </div> <div> - <el-form - ref="form" - :model="thresholdList[0]" - label-width="180px" - > - <el-form-item label="鏃堕挓鍑嗙‘鐜囷細"> + <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="thresholdList[0].clockPercent" + v-model="carList[index].value" size="mini" style="width: 100px" - v-if="ifEdit" + :type="item.countType=='int'?'number':''" + v-if="ifEditCar" ></el-input> - <span v-else>{{ 10 }}</span> - </el-form-item> - <el-form-item label="鏁版嵁鍙婃椂鐜囷細"> - <el-input - v-model="thresholdList[0].timelyPercent" - size="mini" - style="width: 100px" - v-if="ifEdit" - ></el-input> - <span v-else>{{ 10 }}</span> - </el-form-item> - <el-form-item label="涓嶅敮涓�鏁版嵁閲忥細"> - <el-input - v-model="thresholdList[0].nouniqueCount" - size="mini" - style="width: 100px" - v-if="ifEdit" - ></el-input> - <span v-else>{{ 10 }}</span> - </el-form-item> - <el-form-item label="杞︾墝鏈瘑鍒噺锛�"> - <el-input - v-model="thresholdList[0].dayNoNumberCount" - size="mini" - style="width: 100px" - v-if="ifEdit" - ></el-input> - <span v-else>{{ 10 }}</span> - </el-form-item> - <el-form-item label="杞﹁締鍏」灞炴�т笉瀹屾暣閲忥細"> - <el-input - v-model="thresholdList[0].noIntegrityCount" - size="mini" - style="width: 100px" - v-if="ifEdit" - ></el-input> - <span v-else>{{ 10 }}</span> - </el-form-item> - <el-form-item label="鎸佺画鏃犳暟鎹ぉ鏁帮細"> - <el-input - v-model="thresholdList[0].continueNoDataCount" - size="mini" - style="width: 100px" - v-if="ifEdit" - ></el-input> - <span v-else>{{ 10 }}</span> + <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> @@ -480,63 +259,22 @@ <div> <span style="font-size: small">涓嬪彂闃堝��</span> <div> - <el-form - ref="form" - :model="thresholdList[0]" - > - <el-form-item label=""> + <el-form ref="form"> + <el-form-item + v-for="(item, index) in thresholdList.car" + label="" + :key="item.id" + > <el-input - v-model="thresholdList[0].clockPercent" + v-model="carList[index].valueAuto" size="mini" style="width: 100px" - v-if="ifEdit" + :type="item.countType=='int'?'number':''" + v-if="ifEditCar" ></el-input> - <span v-else>{{ 10 }}</span> - </el-form-item> - <el-form-item label=""> - <el-input - v-model="thresholdList[0].timelyPercent" - size="mini" - style="width: 100px" - v-if="ifEdit" - ></el-input> - <span v-else>{{ 10 }}</span> - </el-form-item> - <el-form-item label=""> - <el-input - v-model="thresholdList[0].nouniqueCount" - size="mini" - style="width: 100px" - v-if="ifEdit" - ></el-input> - <span v-else>{{ 10 }}</span> - </el-form-item> - <el-form-item label=""> - <el-input - v-model="thresholdList[0].dayNoNumberCount" - size="mini" - style="width: 100px" - v-if="ifEdit" - ></el-input> - <span v-else>{{ 10 }}</span> - </el-form-item> - <el-form-item label=""> - <el-input - v-model="thresholdList[0].noIntegrityCount" - size="mini" - style="width: 100px" - v-if="ifEdit" - ></el-input> - <span v-else>{{ 10 }}</span> - </el-form-item> - <el-form-item label=""> - <el-input - v-model="thresholdList[0].continueNoDataCount" - size="mini" - style="width: 100px" - v-if="ifEdit" - ></el-input> - <span v-else>{{ 10 }}</span> + <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> @@ -545,203 +283,6 @@ </el-card></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"> - <template slot-scope="scope"> - <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"> - <template slot-scope="scope"> - <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" - > - <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> - </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 @@ -1082,7 +623,7 @@ import { listThreshold, getThreshold, - editVideo, + updateThreshold, } from "@/api/platform/threshold"; import { editCar, @@ -1097,7 +638,9 @@ name: "Threshold", data() { return { - ifEdit: false, + ifEditVideo: false, + ifEditFace: false, + ifEditCar: false, indicators: [], // 閬僵灞� loading: true, @@ -1112,9 +655,10 @@ // 鎬绘潯鏁� total: 0, // 杩愮淮闃堝�艰〃鏍兼暟鎹� - thresholdList: [], + thresholdList: {}, videoList: [], faceList: [], + carList: [], // 寮瑰嚭灞傛爣棰� title: "", // 鏄惁鏄剧ず寮瑰嚭灞� @@ -1202,13 +746,38 @@ this.getList(); }, methods: { - a() { - this.ifEdit = true; + 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; + } }, - b(){ - console.log(1111111); - this.ifEdit = false; - console.log(this.ifEdit); + 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") { @@ -1263,8 +832,10 @@ getList() { this.loading = true; listThreshold(this.queryParams).then((response) => { - this.thresholdList = response.rows; - this.videoList = this.thresholdList[0]; + 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; }); -- Gitblit v1.8.0