From f8331485341314c3d0613079d4981887a111568c Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期四, 24 十月 2024 17:20:03 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/views/system/work-order/threshold/index.vue | 1369 +++++++++++++++++------------------------------------------ 1 files changed, 402 insertions(+), 967 deletions(-) diff --git a/src/views/system/work-order/threshold/index.vue b/src/views/system/work-order/threshold/index.vue index 07815a9..6e2d5af 100644 --- a/src/views/system/work-order/threshold/index.vue +++ b/src/views/system/work-order/threshold/index.vue @@ -14,8 +14,8 @@ <!-- </el-col>--> <!-- </el-row>--> <el-row> - <el-col :span="8"> - <el-card style="margin-bottom: 20px; height: 340px; margin-right: 20px"> + <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> @@ -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> @@ -37,101 +41,38 @@ style=" margin: 20px; display: flex; - width: 350px; + width: 400px; justify-content: space-between; " > <div> - <span style="font-size: small">宸ュ崟闃堝��</span> + <div + style=" + font-size: small; + display: flex; + flex-direction: row-reverse; + width: 192px; + " + > + 宸ュ崟闃堝�� + </div> <div> - <el-form label-width="100px"> - <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 class="unit" v-if="item.countType=='percent'">%</span> + <span class="unit" v-if="item.countType=='second'">绉�</span> </el-form-item> </el-form> </div> @@ -139,98 +80,22 @@ <div> <span style="font-size: small">涓嬪彂闃堝��</span> <div> - <el-form - ref="form" - :model="thresholdList[0]" - label-width="100px" - > - <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 class="unit" v-if="item.countType=='percent'">%</span> + <span class="unit" v-if="item.countType=='second'">绉�</span> </el-form-item> </el-form> </div> @@ -238,8 +103,8 @@ </div> </el-card> </el-col> - <el-col :span="8"> - <el-card style="margin-bottom: 20px; height: 340px; margin-right: 20px"> + <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> @@ -248,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="a()" v-if="ifEdit" + <el-button + size="mini" + type="primary" + @click="saveEdit('face')" + v-if="ifEditFace" >淇濆瓨 </el-button> </div> @@ -261,134 +130,62 @@ style=" margin: 20px; display: flex; - width: 350px; + width: 400px; justify-content: space-between; " > <div> - <span style="font-size: small">宸ュ崟闃堝��</span> + <div + style=" + font-size: small; + display: flex; + flex-direction: row-reverse; + width: 190px; + " + > + 宸ュ崟闃堝�� + </div> <div> - <el-form label-width="100px"> - <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 label-width="140px"> + <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 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> <span style="font-size: small">涓嬪彂闃堝��</span> <div> - <el-form - ref="form" - :model="thresholdList[0]" - label-width="100px" - > - <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 class="unit" v-if="item.countType=='percent'">%</span> + <span class="unit" v-if="item.countType=='second'">绉�</span> + </el-form-item > </el-form> </div> @@ -396,8 +193,8 @@ </div> </el-card></el-col > - <el-col :span="8"> - <el-card style="margin-bottom: 20px; height: 340px; margin-right: 20px"> + <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> @@ -406,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> @@ -419,71 +220,38 @@ style=" margin: 20px; display: flex; - width: 350px; + width: 400px; justify-content: space-between; " > <div> - <span style="font-size: small">宸ュ崟闃堝��</span> + <div + style=" + font-size: small; + display: flex; + flex-direction: row-reverse; + width: 206px; + " + > + 宸ュ崟闃堝�� + </div> <div> - <el-form - ref="form" - :model="thresholdList[0]" - label-width="120px" - > - <el-form-item label="鏃堕挓鍑嗙‘鐜囷細"> + <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="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 class="unit" v-if="item.countType=='percent'">%</span> + <span class="unit" v-if="item.countType=='second'">绉�</span> </el-form-item> </el-form> </div> @@ -491,64 +259,22 @@ <div> <span style="font-size: small">涓嬪彂闃堝��</span> <div> - <el-form - ref="form" - :model="thresholdList[0]" - label-width="120px" - > - <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 class="unit" v-if="item.countType=='percent'">%</span> + <span class="unit" v-if="item.countType=='second'">绉�</span> </el-form-item> </el-form> </div> @@ -557,535 +283,101 @@ </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 - 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-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 - size="small" - v-model="faceForm.captureNum" - placeholder="宸ュ崟闃堝��" - /> - <el-input - clearable - size="small" - v-model="faceForm.captureNumAuto" - placeholder="涓嬪彂闃堝��" + @keyup.enter.native="getWhiteList" + @clear="getWhiteList" /> </el-form-item> - <el-form-item class="fixedWidth" label="杩囪溅缂哄け鐜�" prop="timelyRate"> + <el-form-item label="鐐逛綅鍚嶇О" prop="pointName"> <el-input + v-model="queryParams.pointName" + placeholder="鐐逛綅鍚嶇О" clearable - size="small" - v-model="faceForm.timelyRate" - placeholder="宸ュ崟闃堝��" - /> - <el-input - clearable - size="small" - v-model="faceForm.timelyRateAuto" - placeholder="涓嬪彂闃堝��" + @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> + 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> @@ -1094,7 +386,8 @@ import { listThreshold, getThreshold, - editVideo, + updateThreshold, + importData, } from "@/api/platform/threshold"; import { editCar, @@ -1104,12 +397,20 @@ getVideo, } from "../../../../api/platform/threshold"; +import { + getWhiteList, + addWhiteList, + bathDelete, +} from "@/api/platform/work-order"; + export default { dicts: ["image_qualify", "video_qualify"], name: "Threshold", data() { return { - ifEdit: false, + ifEditVideo: false, + ifEditFace: false, + ifEditCar: false, indicators: [], // 閬僵灞� loading: true, @@ -1124,9 +425,10 @@ // 鎬绘潯鏁� total: 0, // 杩愮淮闃堝�艰〃鏍兼暟鎹� - thresholdList: [], + thresholdList: {}, videoList: [], faceList: [], + carList: [], // 寮瑰嚭灞傛爣棰� title: "", // 鏄惁鏄剧ず寮瑰嚭灞� @@ -1138,6 +440,8 @@ pageNum: 1, pageSize: 10, monitorType: null, + serialNumber: null, + pointName: null, }, // 琛ㄥ崟鍙傛暟 videoForm: {}, @@ -1146,48 +450,48 @@ // 琛ㄥ崟鏍¢獙 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: { @@ -1199,24 +503,73 @@ }, ], 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.getWhiteList(); }, methods: { - a() { - this.ifEdit = true; - console.log(this.ifEdit); + 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") { @@ -1271,8 +624,18 @@ getList() { this.loading = true; listThreshold(this.queryParams).then((response) => { - this.thresholdList = response.rows; - this.videoList = 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; + }); + }, + getWhiteList() { + this.loading = true; + getWhiteList(this.queryParams).then((response) => { + this.workOrderWhiteList = response.data; this.total = response.total; this.loading = false; }); @@ -1343,28 +706,28 @@ 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") { @@ -1428,7 +791,8 @@ this.getList(); this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); }) - .catch(() => {}); + .catch(() => { + }); }, /** 鍒囨崲涓嶅悓鎸囨爣 */ handleModeNameChange() { @@ -1519,7 +883,67 @@ ]; } }, - }, + // 鎵撳紑鏂板妗� + 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) { + this.ids = selection.map(item => item.id) + this.single = selection.length !== 1 + this.multiple = !selection.length + }, + // 鎵归噺鍒犻櫎 + bathDelete() { + bathDelete(this.ids).then(() => { + this.getWhiteList(); + this.$modal.msgSuccess("鎵归噺鍒犻櫎鎴愬姛"); + this.ids = []; + }) + }, + beforeUpload(file) { + this.importFile = file + this.fileList = [file] + return false + }, + // 瀵煎叆鐧藉悕鍗� + 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() + }) + } + } }; </script> <style scoped> @@ -1544,8 +968,19 @@ .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