From 690eaac5ed710462a5f2635ccf9736e560f09381 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期三, 06 十一月 2024 10:07:02 +0800
Subject: [PATCH] 大图展示得分分开
---
src/views/system/work-order/threshold/index.vue | 1280 +++++++++++++++++++++++++++++++++++-----------------------
1 files changed, 771 insertions(+), 509 deletions(-)
diff --git a/src/views/system/work-order/threshold/index.vue b/src/views/system/work-order/threshold/index.vue
index 54f88b9..6e2d5af 100644
--- a/src/views/system/work-order/threshold/index.vue
+++ b/src/views/system/work-order/threshold/index.vue
@@ -1,308 +1,416 @@
<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">
- <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>
+ <!-- <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: 350px; margin-right: 20px;color: #656565;">
+ <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 class="table-row">
- <div class="table-row-item">鍙婃椂鐜�</div>
- <div class="table-row-item">{{ scope.row.timelyRate }}</div>
+ </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 class="unit" v-if="item.countType=='percent'">%</span>
+ <span class="unit" v-if="item.countType=='second'">绉�</span>
+ </el-form-item>
+ </el-form>
+ </div>
</div>
- <div class="table-row">
- <div class="table-row-item">寤惰繜閲�</div>
- <div class="table-row-item">{{ scope.row.delayAmount }}</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 class="unit" v-if="item.countType=='percent'">%</span>
+ <span class="unit" v-if="item.countType=='second'">绉�</span>
+ </el-form-item>
+ </el-form>
+ </div>
</div>
- <div class="table-row">
- <div class="table-row-item">璁惧娲昏穬鐜�</div>
- <div class="table-row-item">{{ scope.row.deviceActiveRate }}</div>
+ </div>
+ </el-card>
+ </el-col>
+ <el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="8">
+ <el-card style="margin-bottom: 20px; height: 350px; margin-right: 20px;color: #656565;">
+ <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 class="table-row">
- <div class="table-row-item">鎶撴媿鍙婃椂鐜�</div>
- <div class="table-row-item">{{ scope.row.timelyCapture }}</div>
+ </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 class="unit" v-if="item.countType=='percent'">%</span>
+ <span class="unit" v-if="item.countType=='second'">绉�</span>
+ </el-form-item>
+ </el-form>
+ </div>
</div>
- <div class="table-row">
- <div class="table-row-item">鏃堕挓鍑嗙‘鐜�</div>
- <div class="table-row-item">{{ scope.row.timeAccuracy }}</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 class="unit" v-if="item.countType=='percent'">%</span>
+ <span class="unit" v-if="item.countType=='second'">绉�</span>
+ </el-form-item
+ >
+ </el-form>
+ </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>
+ </el-card></el-col
+ >
+ <el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="8">
+ <el-card style="margin-bottom: 20px; height: 350px; margin-right: 20px;color: #656565;">
+ <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 class="table-row">
- <div class="table-row-item">杩囪溅缂哄け鐜�</div>
- <div class="table-row-item">{{ scope.row.passCarMissRate }}</div>
+ </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: 206px;
+ "
+ >
+ 宸ュ崟闃堝��
+ </div>
+ <div>
+ <el-form ref="form" label-width="160px">
+ <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 class="unit" v-if="item.countType=='percent'">%</span>
+ <span class="unit" v-if="item.countType=='second'">绉�</span>
+ </el-form-item>
+ </el-form>
+ </div>
</div>
- <div class="table-row">
- <div class="table-row-item">鏈夋晥杩囪溅鏁版嵁閲�</div>
- <div class="table-row-item">{{ scope.row.passCarEffectiveNum }}</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 class="unit" v-if="item.countType=='percent'">%</span>
+ <span class="unit" v-if="item.countType=='second'">绉�</span>
+ </el-form-item>
+ </el-form>
+ </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>
-<!-- <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="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="涓嬪彂闃堝��"/>
+ </div>
+ </el-card></el-col
+ >
+ </el-row>
+ <el-row class="content-warp">
+ <div class="header鈥攖ext" style="margin-bottom: 5px">宸ュ崟鐧藉悕鍗�</div>
+ <el-form :model="queryParams" ref="queryForm" size="small" :inline="true">
+ <el-form-item label="璁惧缂栫爜" prop="serialNumber">
+ <el-input
+ v-model="queryParams.serialNumber"
+ placeholder="璁惧缂栫爜"
+ clearable
+ @keyup.enter.native="getWhiteList"
+ @clear="getWhiteList"
+ />
</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 label="鐐逛綅鍚嶇О" prop="pointName">
+ <el-input
+ v-model="queryParams.pointName"
+ placeholder="鐐逛綅鍚嶇О"
+ clearable
+ @keyup.enter.native="getWhiteList"
+ @clear="getWhiteList"
+ />
</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-button type="primary" icon="el-icon-search" size="small" @click="getWhiteList">鎼滅储</el-button>
</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-row>
+ <el-row class="content-warp">
+ <el-button size="small" type="success" @click="addOpen" plain>鏂板</el-button>
+ <el-button size="small" type="danger" @click="bathDelete" plain>鍒犻櫎</el-button>
+ <el-popover style="margin-left: 10px" placement="bottom" trigger="hover" content="瀵煎叆鐐逛綅">
+ <div class="bottom_">
+ <p>瀵煎叆鐐逛綅鍙仛鏂板鎿嶄綔</p>
+ </div>
+ <div class="bottom_">
+ <el-upload
+ ref="upload"
+ class="upload-demo"
+ drag
+ :action="importUrl"
+ :file-list="fileList"
+ :before-upload="beforeUpload"
+ >
+ <i class="el-icon-upload"></i>
+ <div class="el-upload__text">灏嗘枃浠舵嫋鍒版澶勶紝鎴�<em>鐐瑰嚮涓婁紶</em></div>
+ <div class="el-upload__tip" slot="tip">鍙兘涓婁紶xls/xlsx鏂囦欢</div>
+ </el-upload>
+ </div>
+ <div>
+ <el-button class="bottom_" type="primary" size="small" v-loading="upload" @click="handleImport"
+ v-hasPermi="['point:import']">瀵煎叆</el-button>
+ </div>
+ <el-button type="primary" size="small" plain icon="el-icon-bottom" slot="reference" v-hasPermi="['point:import']">瀵煎叆鐧藉悕鍗�</el-button>
+ </el-popover>
+ </el-row>
+ <el-row class="content-warp">
+ <el-col :span="24">
+ <el-table v-loading="loading" :data="workOrderWhiteList" @selection-change="handleSelectionChange">
+ <el-table-column type="selection" width="55" align="center" prop="id"/>
+ <el-table-column label="璁惧缂栫爜" align="center" prop="serialNumber"/>
+ <el-table-column label="鐐逛綅鍚嶇О" align="center" prop="pointName"/>
+ <el-table-column label="鍒涘缓浜�" align="center" prop="createBy"/>
+ <el-table-column label="澶囨敞" align="center" prop="remark"/>
+ </el-table>
- <!-- 杞﹁締闃堝�� -->
- <el-dialog title="淇敼杞﹁締宸ュ崟闃堝��" :visible.sync="carOpen" width="700px" append-to-body>
- <el-form ref="faceForm" :model="faceForm" label-width="150px" :inline="true">
- <el-form-item class="fixedWidth" label="杩囪溅鏁版嵁閲�" prop="passCarNum">
- <el-input clearable size="small" v-model="carForm.passCarNum" placeholder="宸ュ崟闃堝��"/>
- <el-input clearable size="small" v-model="carForm.passCarNumAuto" placeholder="涓嬪彂闃堝��"/>
- </el-form-item>
- <el-form-item class="fixedWidth" label="杩囪溅缂哄け鐜�" prop="passCarMissRate">
- <el-input clearable size="small" v-model="carForm.passCarMissRate" placeholder="宸ュ崟闃堝��"/>
- <el-input clearable size="small" v-model="carForm.passCarMissRateAuto" placeholder="涓嬪彂闃堝��"/>
- </el-form-item>
- <el-form-item class="fixedWidth" label="鏈夋晥杩囪溅鏁版嵁閲�" prop="passCarEffectiveNum">
- <el-input clearable size="small" v-model="carForm.passCarEffectiveNum" placeholder="宸ュ崟闃堝��"/>
- <el-input clearable size="small" v-model="carForm.passCarEffectiveNumAuto" placeholder="涓嬪彂闃堝��"/>
- </el-form-item>
- <el-form-item class="fixedWidth" label="璁惧娲昏穬鐜�" prop="deviceActiveRate">
- <el-input clearable size="small" v-model="carForm.deviceActiveRate" placeholder="宸ュ崟闃堝��"/>
- <el-input clearable size="small" v-model="carForm.deviceActiveRateAuto" placeholder="涓嬪彂闃堝��"/>
- </el-form-item>
- <el-form-item class="fixedWidth" label="鎶撴媿鍙婃椂鐜�" prop="timelyCapture">
- <el-input clearable size="small" v-model="carForm.timelyCapture" placeholder="宸ュ崟闃堝��"/>
- <el-input clearable size="small" v-model="carForm.timelyCaptureAuto" placeholder="涓嬪彂闃堝��"/>
- </el-form-item>
- <el-form-item class="fixedWidth" label="鏃堕挓鍑嗙‘鐜�" prop="timeAccuracy">
- <el-input clearable size="small" v-model="carForm.timeAccuracy" placeholder="宸ュ崟闃堝��"/>
- <el-input clearable size="small" v-model="carForm.timeAccuracyAuto" placeholder="涓嬪彂闃堝��"/>
- </el-form-item>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button type="primary" @click="editCar">纭� 瀹�</el-button>
- <el-button @click="cancelCar">鍙� 娑�</el-button>
- </div>
- </el-dialog>
+ <pagination
+ v-show="total>0"
+ :total="total"
+ :page.sync="queryParams.pageNum"
+ :limit.sync="queryParams.pageSize"
+ @pagination="getWhiteList"
+ />
+ </el-col>
+ </el-row>
- <!-- 瑙嗛闃堝�� -->
- <el-dialog title="淇敼瑙嗛宸ュ崟闃堝��" :visible.sync="videoOpen" width="700px" append-to-body>
- <el-form ref="videoForm" :model="videoForm" label-width="100px" :inline="true">
- <el-form-item class="fixedWidth" label="鍥惧儚璐ㄩ噺" prop="imageQuality" label-width="100px">
- <el-select v-model="videoForm.imageQuality" placeholder="宸ュ崟闃堝��" @change="handleModeNameChange">
- <el-option :key="dict.value" :label="dict.value" v-for="dict in dict.type.image_qualify"/>
- </el-select>
- <el-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 class="fixedWidth" label="瑙嗛璐ㄩ噺" prop="videoQuality" label-width="100px">
- <el-select v-model="videoForm.videoQuality" placeholder="宸ュ崟闃堝��" @change="handleModeNameChange">
- <el-option :key="dict.value" :label="dict.value" v-for="dict in dict.type.video_qualify"/>
- </el-select>
- <el-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 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>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button type="primary" @click="editVideo">纭� 瀹�</el-button>
- <el-button @click="cancelVideo">鍙� 娑�</el-button>
+<!-- 鏂板鐧藉悕鍗�-->
+ <el-dialog
+ title="鏂板鐧藉悕鍗�"
+ :visible.sync="addShow"
+ width="500px"
+ :close-on-click-modal="false"
+ :before-close="addClose">
+ <div>
+ <el-form :model="addForm" label-position="top" :rules="addFormRules" ref="addForm" size="small">
+ <el-form-item label="璁惧缂栫爜" prop="serialNumber">
+ <el-input v-model="addForm.serialNumber"></el-input>
+ </el-form-item>
+ <el-form-item label="澶囨敞淇℃伅" prop="remark">
+ <el-input v-model="addForm.remark"></el-input>
+ </el-form-item>
+ </el-form>
</div>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="addClose">鍙� 娑�</el-button>
+ <el-button type="primary" @click="addSubmit">鏂� 澧�</el-button>
+ </span>
</el-dialog>
-
</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,
+ importData,
+} from "@/api/platform/threshold";
+import {
+ editCar,
+ editFace,
+ getCar,
+ getFace,
+ getVideo,
+} from "../../../../api/platform/threshold";
+
+import {
+ getWhiteList,
+ addWhiteList,
+ bathDelete,
+} from "@/api/platform/work-order";
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,
@@ -317,9 +425,12 @@
// 鎬绘潯鏁�
total: 0,
// 杩愮淮闃堝�艰〃鏍兼暟鎹�
- thresholdList: [],
+ thresholdList: {},
+ videoList: [],
+ faceList: [],
+ carList: [],
// 寮瑰嚭灞傛爣棰�
- title: '',
+ title: "",
// 鏄惁鏄剧ず寮瑰嚭灞�
videoOpen: false,
faceOpen: false,
@@ -328,7 +439,9 @@
queryParams: {
pageNum: 1,
pageSize: 10,
- monitorType: null
+ monitorType: null,
+ serialNumber: null,
+ pointName: null,
},
// 琛ㄥ崟鍙傛暟
videoForm: {},
@@ -337,141 +450,208 @@
// 琛ㄥ崟鏍¢獙
faceRules: {
monitorType: [
- { required: true, message: '璁惧绫诲瀷涓嶈兘涓虹┖', trigger: 'change' }
+ {required: true, message: "璁惧绫诲瀷涓嶈兘涓虹┖", trigger: "change"},
],
captureNum: [
- { required: true, message: '璇峰~鍐欐姄鎷嶉噺', trigger: 'blur' }
+ {required: true, message: "璇峰~鍐欐姄鎷嶉噺", trigger: "blur"},
],
timelyRate: [
- { required: true, message: '璇峰~鍐欏強鏃剁巼', trigger: 'blur' }
+ {required: true, message: "璇峰~鍐欏強鏃剁巼", trigger: "blur"},
],
delayAmount: [
- { required: true, message: '璇峰~鍐欏欢杩熼噺', trigger: 'blur' }
+ {required: true, message: "璇峰~鍐欏欢杩熼噺", trigger: "blur"},
],
deviceActiveRate: [
- { required: true, message: '璇峰~鍐欒澶囨椿璺冪巼', trigger: 'blur' }
+ {required: true, message: "璇峰~鍐欒澶囨椿璺冪巼", trigger: "blur"},
],
timeAccuracy: [
- { required: true, message: '璇峰~鍐欐椂閽熷噯纭巼', trigger: 'blur' }
+ {required: true, message: "璇峰~鍐欐椂閽熷噯纭巼", trigger: "blur"},
],
timelyCapture: [
- { required: true, message: '璇峰~鍐欐姄鎷嶅強鏃剁巼', trigger: 'blur' }
+ {required: true, message: "璇峰~鍐欐姄鎷嶅強鏃剁巼", trigger: "blur"},
],
},
carRules: {
monitorType: [
- { required: true, message: '璁惧绫诲瀷涓嶈兘涓虹┖', trigger: 'change' }
+ {required: true, message: "璁惧绫诲瀷涓嶈兘涓虹┖", trigger: "change"},
],
passCarNum: [
- { required: true, message: '璇峰~鍐欒繃杞︽暟鎹噺', trigger: 'blur' }
+ {required: true, message: "璇峰~鍐欒繃杞︽暟鎹噺", trigger: "blur"},
],
passCarMissRate: [
- { required: true, message: '璇峰~鍐欒繃杞︾己澶辩巼', trigger: 'blur' }
+ {required: true, message: "璇峰~鍐欒繃杞︾己澶辩巼", trigger: "blur"},
],
passCarEffectiveNum: [
- { required: true, message: '璇峰~鍐欐湁鏁堣繃杞︽暟鎹噺', trigger: 'blur' }
+ {required: true, message: "璇峰~鍐欐湁鏁堣繃杞︽暟鎹噺", trigger: "blur"},
],
timelyCapture: [
- { required: true, message: '璇峰~鍐欐姄鎷嶅強鏃剁巼', trigger: 'blur' }
+ {required: true, message: "璇峰~鍐欐姄鎷嶅強鏃剁巼", trigger: "blur"},
],
deviceActiveRate: [
- { required: true, message: '璇峰~鍐欒澶囨椿璺冪巼', trigger: 'blur' }
+ {required: true, message: "璇峰~鍐欒澶囨椿璺冪巼", trigger: "blur"},
],
timeAccuracy: [
- { required: true, message: '璇峰~鍐欐椂閽熷噯纭巼', trigger: 'blur' }
+ {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"},
],
- }
- }
+ },
+ // 鐧藉悕鍗曞垪琛�
+ workOrderWhiteList: [],
+ // 鏂板妗�
+ addShow: false,
+ addForm: {
+ serialNumber: "",
+ remark: "",
+ },
+ // 鏂板妗嗘牎楠�
+ addFormRules: {
+ serialNumber: [
+ {required: true, message: "璁惧缂栫爜涓嶈兘涓虹┖", trigger: "blur"},
+ ],
+ },
+ // 瀵煎叆鏂囦欢璺緞
+ importUrl: '',
+ fileList: [],
+ importFile: null,
+ upload: false,
+ };
},
created() {
- this.getList()
+ this.getList();
+ this.getWhiteList();
},
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") {
-
+ 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.videoOpen = false
- this.getList();
- } else {
- this.$message.success("淇敼澶辫触")
- }
+ 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 => {
+ editFace(this.videoForm).then((res) => {
if (res.code === 200) {
- this.$message.success("淇敼鎴愬姛")
- this.faceOpen = false
+ this.$message.success("淇敼鎴愬姛");
+ this.faceOpen = false;
this.getList();
} else {
- this.$message.success("淇敼澶辫触")
+ this.$message.success("淇敼澶辫触");
}
// })
// }
- })
+ });
},
editCar() {
// this.$refs['carForm'].validate(validate => {
// if (validate) {
- editCar(this.carForm).then(res => {
+ editCar(this.carForm).then((res) => {
if (res.code === 200) {
- this.$message.success("淇敼鎴愬姛")
- this.carOpen = false
+ this.$message.success("淇敼鎴愬姛");
+ this.carOpen = false;
this.getList();
} else {
- this.$message.success("淇敼澶辫触")
+ 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;
+ });
+ },
+ getWhiteList() {
+ this.loading = true;
+ getWhiteList(this.queryParams).then((response) => {
+ this.workOrderWhiteList = response.data;
+ 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() {
@@ -482,9 +662,9 @@
indicator: null,
createTime: null,
updateTime: null,
- deleted: null
- }
- this.resetForm('form')
+ deleted: null,
+ };
+ this.resetForm("form");
},
resetVideo() {
this.videoForm = {
@@ -496,8 +676,8 @@
videoQualityAuto: "",
annotationAccuracy: null,
annotationAccuracyAuto: null,
- }
- this.resetForm('videoForm')
+ };
+ this.resetForm("videoForm");
},
resetFace() {
this.faceForm = {
@@ -509,8 +689,8 @@
videoQualityAuto: "",
annotationAccuracy: null,
annotationAccuracyAuto: null,
- }
- this.resetForm('faceForm')
+ };
+ this.resetForm("faceForm");
},
resetCar() {
this.carForm = {
@@ -522,18 +702,215 @@
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;
+ // },
+ /** 鏂板鎸夐挳鎿嶄綔 */
+ // 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;
+ this.faceOpen = true;
+ });
+ } 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;
+ 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 = "淇敼杩愮淮闃堝��";
+ });
+ },
+ /** 鎻愪氦鎸夐挳 */
+ submitForm() {
+ this.$refs["form"].validate((valid) => {
+ if (valid) {
+ // 灏唅ndicators杞负json璧嬪�煎埌form
+ 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();
+ });
+ } else {
+ 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(() => {
+ });
+ },
+ /** 鍒囨崲涓嶅悓鎸囨爣 */
+ handleModeNameChange() {
+ 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,
+ },
+ ];
+ } 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,
+ },
+ ];
+ } else if (this.form.monitorType === "video") {
+ this.indicators = [
+ {
+ label: "褰曞儚璐ㄩ噺",
+ value: null,
+ },
+ {
+ label: "鏍囨敞鍑嗙‘鐜�",
+ value: null,
+ },
+ {
+ label: "鍥惧儚璐ㄩ噺",
+ value: null,
+ },
+ ];
+ }
+ },
+ // 鎵撳紑鏂板妗�
+ addOpen() {
+ this.addShow = true;
+ },
+ // 鍏抽棴鏂板妗�
+ addClose() {
+ this.addShow = false;
+ this.addReset();
+ },
+ // 鏂板妗嗘彁浜�
+ addSubmit() {
+ this.$refs["addForm"].validate((valid) => {
+ if (valid) {
+ addWhiteList(this.addForm).then((response) => {
+ this.$modal.msgSuccess("鏂板鎴愬姛");
+ this.addShow = false;
+ this.getWhiteList();
+ this.addReset();
+ });
+ }
+ });
+ },
+ // 鏂板妗嗛噸缃�
+ addReset() {
+ this.addForm = {
+ serialNumber: "",
+ remark: "",
+ };
},
// 澶氶�夋閫変腑鏁版嵁
handleSelectionChange(selection) {
@@ -541,176 +918,43 @@
this.single = selection.length !== 1
this.multiple = !selection.length
},
- /** 鏂板鎸夐挳鎿嶄綔 */
- 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
- this.faceOpen = true;
- })
- } 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
- 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 = '淇敼杩愮淮闃堝��'
+ // 鎵归噺鍒犻櫎
+ bathDelete() {
+ bathDelete(this.ids).then(() => {
+ this.getWhiteList();
+ this.$modal.msgSuccess("鎵归噺鍒犻櫎鎴愬姛");
+ this.ids = [];
})
},
- /** 鎻愪氦鎸夐挳 */
- submitForm() {
- this.$refs['form'].validate(valid => {
- if (valid) {
- // 灏唅ndicators杞负json璧嬪�煎埌form
- 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()
- })
- } else {
- addThreshold(this.form).then(response => {
- this.$modal.msgSuccess('鏂板鎴愬姛')
- this.open = false
- this.getList()
- })
- }
- }
- })
+ beforeUpload(file) {
+ this.importFile = file
+ this.fileList = [file]
+ return false
},
- /** 鍒犻櫎鎸夐挳鎿嶄綔 */
- handleDelete(row) {
- const ids = row.id || this.ids
- this.$modal.confirm('鏄惁纭鍒犻櫎杩愮淮闃堝�肩紪鍙蜂负"' + ids + '"鐨勬暟鎹」锛�').then(function() {
- return delThreshold(ids)
- }).then(() => {
- this.getList()
- this.$modal.msgSuccess('鍒犻櫎鎴愬姛')
- }).catch(() => {
+ // 瀵煎叆鐧藉悕鍗�
+ handleImport() {
+ this.upload = true;
+ let formData = new FormData()
+ formData.append("file", this.importFile)
+ importData(formData).then(res => {
+ this.$message.success("瀵煎叆鎴愬姛")
+ this.upload = false
+ this.fileList = []
+ this.getWhiteList()
})
- },
- /** 鍒囨崲涓嶅悓鎸囨爣 */
- handleModeNameChange() {
- 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
- }
- ]
- } 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
- }
- ]
- } else if (this.form.monitorType === 'video') {
- this.indicators = [
- {
- 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;
}
@@ -721,4 +965,22 @@
display: flex;
flex-direction: row;
}
+
+.header鈥攖ext {
+ font-weight: bold;
+ font-size: large;
+}
+::v-deep .el-form-item {
+ margin-bottom: 0px; /* 鏍规嵁闇�姹傝皟鏁磋繖涓�� */
+}
+::v-deep .el-form-item__label {
+ color: #8d8d8d;
+}
+.unit {
+ margin-left: 5px;
+ display: inline-block;
+}
+.content-warp {
+ margin-top: 10px;
+}
</style>
--
Gitblit v1.8.0