From feaf0a9778879ef211c5587a513ba4cbdabb52d0 Mon Sep 17 00:00:00 2001 From: ZZJ <10913410+zzj2100@user.noreply.gitee.com> Date: 星期四, 23 六月 2022 17:42:58 +0800 Subject: [PATCH] bug修复 --- src/pages/library/components/carList.vue | 2578 ++++++++++++++++++++++++++++++++++------------------------- 1 files changed, 1,465 insertions(+), 1,113 deletions(-) diff --git a/src/pages/library/components/carList.vue b/src/pages/library/components/carList.vue index 9e03c14..a30dfb2 100644 --- a/src/pages/library/components/carList.vue +++ b/src/pages/library/components/carList.vue @@ -1,241 +1,136 @@ <template> <div class="table-parent"> - <el-row class style="margin:20px"> - <!-- <el-col :span="4" class="tl"> - <b class="f14">{{this.baseObject.tableName}}</b> - </el-col> - <el-col :span="2"> - <b class="f14">{{this.baseObject.bwType === '1'?'榛戝悕鍗�':'鐧藉悕鍗�'}}</b> - </el-col> - <el-col :span="8"> - <b class="f14">鏈夋晥鏃堕棿锛歿{this.baseObject.startTime}}--{{this.baseObject.endTime?this.baseObject.endTime:'姘镐箙鏈夋晥'}}</b> - </el-col>--> - <div class="tl"> - <span - class="f14" - style="color:#000000;" - >{{this.baseObject.tableName?this.baseObject.tableName + '/ ':''}}</span> - <span - class="f14" - style="color:#000000;" - >{{this.baseObject.bwType === '1'?'榛戝悕鍗�/ ':'鐧藉悕鍗�/ '}}</span> - <span - class="f14" - style="color:#000000;" - >鏈夋晥鏃堕棿锛歿{this.baseObject.startTime}}--{{this.baseObject.endTime?this.baseObject.endTime:'姘镐箙鏈夋晥'}}</span> + <el-row> + <div class="base-tip"> + <div class="left-tips"> + <span class="ku-name">{{ this.baseObject.tableName }}</span> + <span + class="list" + :class=" + this.baseObject.bwType === '1' ? 'black-list' : 'white-list' + " + >{{ this.baseObject.bwType === "1" ? "榛戝悕鍗�" : "鐧藉悕鍗�" }}</span + > + <span class="ok-time" + >鏈夋晥鏃堕棿锛歿{ this.baseObject.startTime }} -- + {{ + this.baseObject.endTime ? this.baseObject.endTime : "姘镐箙鏈夋晥" + }}</span + > + </div> + + <div class="right-btns"> + <span style="margin-right: 2px">搴曞簱鐘舵�侊紙鐢熸晥/澶辨晥锛�</span> + <el-switch + :active-value="1" + :width="52" + :inactive-value="0" + v-model="baseObject.enable" + active-color="#4E94FF" + inactive-color="#BBBBBB" + style="margin-right: 10px" + :disabled="isDisabled(baseObject)" + @change="setEnable(baseObject)" + > + </el-switch> + <div class="shutiao" v-if="baseObject.enable"></div> + <div class="shutiao1" v-else></div> + <el-tooltip content="鍒犻櫎" placement="top" popper-class="atooltip"> + <span + class="iconfont iconfont-wrap iconshanchuku-09" + v-if="isShow('library:set')" + @click.stop="askDelete('base')" + ></span> + </el-tooltip> + + <el-tooltip content="缂栬緫" placement="top" popper-class="atooltip"> + <span + class="iconfont iconfont-wrap iconbianjiku-09" + @click.stop="edit" + v-if="isShow('library:set')" + ></span> + </el-tooltip> + </div> </div> </el-row> - <el-row class style="margin:40px 0 40px 20px"> - <el-col :span="6"> - <el-input - placeholder="濮撳悕/鎬у埆/韬唤璇佸彿/鎵嬫満鍙�" - autocomplete="off" - width="100%" - size="small" - v-model="BaseManageData.contentValue" - @keyup.enter.native="handleSearch" - ></el-input> - </el-col> - <el-col :span="2"> - <el-button size="small" type="primary" @click="handleSearch">鎼滅储</el-button> - </el-col> - <el-col :offset="8" :span="3"> - <fTemplate authority="videoTable:edit"> - <el-button + + <div style="display: flex" class="border-tabl"> + <div class="head-search"> + <div class="desc"> + 鏈簱鍏辨湁 + <span class="nums">{{ BaseManageData.total }}鏉�</span> + 鏁版嵁 + </div> + <div class="right-group"> + <el-input + placeholder="濮撳悕/鎬у埆/韬唤璇佸彿/鎵嬫満鍙�" + autocomplete="off" + width="100%" size="small" - class="ml10" - type="danger" - @click="deleteBatch" - v-if="isShow('videoTable:edit')" - >鎵归噺鍒犻櫎</el-button> - </fTemplate> - </el-col> - <el-col :span="2"> - <div class="text-left"> - <el-button size="small" class="ml10" type="primary" @click="addCar">娣诲姞杞﹁締</el-button> - <el-drawer - title="杞﹁締淇℃伅" - :modal="false" - :destroy-on-close="true" - :append-to-body="true" - :visible.sync="addDrawer" - :direction="direction" - :before-close="handleClose1" + v-model="BaseManageData.contentValue" + @keyup.enter.native="handleSearch" + ></el-input> + <el-button size="small" type="primary" @click="handleSearch" + >鎼滅储</el-button > - <div class="drawerSpace"> - <div class="uploadLine"> - <div class="car-picture"> - <el-upload - action - :http-request="uploadCar" - accept="image/*" - list-type="picture-card" - :file-list="form.carUrls" - :before-remove="handleRemoveCarPic" - > - <i class="el-icon-plus" style="margin-top:25px"></i> - <div>涓婁紶杞﹁締鐓х墖</div> - </el-upload> - </div> - <div class="person-picture"> - <el-upload - action - :http-request="uploadPerson" - list-type="picture-card" - accept="image/*" - :limit="1" - :file-list="form.faceUrl" - :on-remove="handleRemoveFacePic" - > - <i class="el-icon-plus" style="margin-top:25px"></i> - <div>涓婁紶杞︿富鐓х墖</div> - </el-upload> - </div> - </div> - <el-form - ref="formForCar" - :model="form" - label-width="100px" - style="margin-top:20px;margin-bottom: 50px" - :rule="rules" - > - <el-form-item label="*杞︾墝鍙凤細"> - <el-input placeholder="璇疯緭鍏ヨ溅鐗屽彿" v-model="form.carNo" class="inputWidth"></el-input> - </el-form-item> - <el-form-item label="杞﹁締绫诲瀷锛�"> - <el-select v-model="form.carType" placeholder="璇烽�夋嫨杞﹁締绫诲瀷" class="inputWidth"> - <el-option - v-for="item in VideoPhotoData.dictionary.CARTYPE" - :key="item.value" - :label="item.name" - :value="item.value" - ></el-option> - </el-select> - </el-form-item> - <el-form-item label="杞﹁締鍝佺墝锛�"> - <el-select v-model="form.carBrand" placeholder="璇烽�夋嫨杞﹁締鍝佺墝" class="inputWidth"> - <el-option - v-for="item in VideoPhotoData.dictionary.BRAND" - :key="item.value" - :label="item.name" - :value="item.value" - ></el-option> - </el-select> - </el-form-item> - <el-form-item label="杞﹁韩棰滆壊锛�"> - <el-select v-model="form.carColor" placeholder="璇烽�夋嫨杞﹁韩棰滆壊" class="inputWidth"> - <el-option - v-for="item in VideoPhotoData.dictionary.nColor" - :key="item.value" - :label="item.name" - :value="item.value" - ></el-option> - </el-select> - </el-form-item> - <el-form-item label="杞︿富濮撳悕锛�"> - <el-input v-model="form.personName" class="inputWidth"></el-input> - </el-form-item> - <el-form-item label="杞︿富鎬у埆锛�"> - <el-radio-group v-model="form.sex"> - <el-radio label="鐢�"></el-radio> - <el-radio label="濂�"></el-radio> - </el-radio-group> - </el-form-item> - <el-form-item label="韬唤璇佸彿锛�"> - <el-input v-model="form.idCard" class="inputWidth"></el-input> - </el-form-item> - <el-form-item label="鎵嬫満鍙凤細"> - <el-input v-model="form.phoneNum" class="inputWidth"></el-input> - </el-form-item> - <el-form-item label="鍏朵粬锛�"> - <el-input v-model="form.reserved" class="inputWidth"></el-input> - </el-form-item> - <el-form-item style="text-align:tight"> - <el-button type="primary" @click="submitCar" style="margin-left:120px">淇濆瓨</el-button> - <el-button @click="resetForm">鍙栨秷</el-button> - </el-form-item> - </el-form> - </div> - </el-drawer> - </div> - </el-col> - <el-col :span="3"> - <div class="text-left"> - <el-button size="small" class="ml10" type="primary" @click="addBatch">鎵归噺涓婁紶杞︾墝</el-button> - <el-drawer - title="涓婁紶杞︾墝" - :modal="false" - :append-to-body="true" - :visible.sync="addBatchDrawer" - :direction="direction" - :before-close="handleClose2" + + <el-tooltip + content="鎵归噺鍒犻櫎" + placement="top" + popper-class="atooltip" > - <div class="drawerSpace"> - <div class="plateAttach"> - <el-input - type="textarea" - :rows="25" - v-model="plates" - style="width:90%" - placeholder="璇疯緭鍏ヨ溅鐗屽彿" - ></el-input> - <p>杞︾墝鍙蜂互閫楀彿鎴栧洖杞﹂敭闅斿紑锛屽崟娆℃渶澶氭敮鎸�100鏉′笂浼狅紝渚嬪锛氫含YAB123,浜現34Y87</p> - <el-button type="primary" @click="platesBatch" style="margin-left:210px">淇濆瓨</el-button> - <el-button @click="resetForm('ruleForm')">鍙栨秷</el-button> - </div> - </div> - </el-drawer> + <fTemplate authority="library:set"> + <span + class="iconfont iconfont-wrap iconpiliangshanchu-09" + @click="askDelete('batch')" + v-if="isShow('library:set')" + ></span> + </fTemplate> + </el-tooltip> + + <el-tooltip + content="娣诲姞杞﹁締" + placement="top" + popper-class="atooltip" + > + <span + class="iconfont iconfont-wrap icontianjiacheliang-09" + @click="addCar" + ></span> + </el-tooltip> + + <el-tooltip + content="鎵归噺涓婁紶杞︾墝" + placement="top" + popper-class="atooltip" + > + <span + class="iconfont iconfont-wrap iconshangchuanchepai-09" + @click="addBatch" + ></span> + </el-tooltip> </div> - </el-col> - </el-row> - <div style="display:flex;" class="border-tabl ml20"> + </div> + <el-table id="multipleTable" + class="tableBox" ref="multipleTable" :data="BaseManageData.personList" tooltip-effect="dark" - style="width: 100%;" + style="width: 100%; overflow: auto" :fit="true" - :max-height="tableHeight" - :default-sort="{prop: 'createTime', order: 'descending'}" + border + :default-sort="{ prop: 'createTime', order: 'descending' }" @selection-change="handleSelectionChange" - :header-cell-style="{background:'#f8f8f8',color:'#222222'}" + :header-cell-style="{ + background: '#fff', + color: '#222222', + padding: '2px 1px', + borderBottom: 'none', + }" > <el-table-column type="selection" width="30"></el-table-column> - <el-table-column label="搴忓彿" width="70" sortable align="center"> - <template slot-scope="scope">{{scope.$index+1}}</template> - </el-table-column> - <el-table-column prop="carNo" label="杞︾墝鍙�" sortable align="center" width="120"></el-table-column> - <el-table-column - prop="carType" - label="杞﹁締绫诲瀷" - width="100" - show-overflow-tooltip - sortable - align="center" - ></el-table-column> - <el-table-column prop="carBrand" label="杞﹁締鍝佺墝" min-width="100" sortable align="center"></el-table-column> - <el-table-column - prop="carColor" - label="杞﹁韩棰滆壊" - width="100" - show-overflow-tooltip - sortable - align="center" - > - <template - slot-scope="scope" - >{{getDataName(VideoPhotoData.dictionary.nColor,scope.row.carColor)}}</template> - </el-table-column> - <el-table-column - prop="personName" - label="杞︿富濮撳悕" - min-width="110" - show-overflow-tooltip - sortable - align="center" - ></el-table-column> - <el-table-column prop="sex" label="杞︿富鎬у埆" align="center" width="80"></el-table-column> <el-table-column prop="carUrls" label="杞﹁締鐓х墖" @@ -247,17 +142,84 @@ > <template slot-scope="scope"> <el-carousel - style="height:100px;" + style="height: 100px" :autoplay="false" indicator-position="none" :arrow="scope.row.carUrls.length > 1 ? 'always' : 'never'" > - <el-carousel-item v-for="(item, index) in scope.row.carUrls" :key="index"> - <img style="width:100px;height:100px;object-fit:contain;" :src="item.url" alt /> + <el-carousel-item + v-for="(item, index) in scope.row.carUrls" + :key="index" + > + <img + style="width: 100px; height: 100px; object-fit: contain" + :src="item.url" + alt + /> </el-carousel-item> </el-carousel> </template> </el-table-column> + <el-table-column label="鐢熸晥鐘舵��" align="center" width="80"> + <template slot-scope="scope"> + <el-switch + v-model="scope.row.enable" + :active-value="1" + :disabled="!isShow('library:set')" + :inactive-value="0" + @change="enable(scope.row)" + ></el-switch> + </template> + </el-table-column> + <el-table-column + prop="carNo" + label="杞︾墝鍙�" + sortable + align="center" + width="120" + ></el-table-column> + <el-table-column + prop="carType" + label="杞﹁締绫诲瀷" + width="100" + show-overflow-tooltip + sortable + align="center" + ></el-table-column> + <el-table-column + prop="carBrand" + label="杞﹁締鍝佺墝" + min-width="100" + sortable + align="center" + ></el-table-column> + <el-table-column + prop="carColor" + label="杞﹁韩棰滆壊" + width="100" + show-overflow-tooltip + sortable + align="center" + > + <template slot-scope="scope">{{ + getDataName(VideoPhotoData.dictionary.nColor, scope.row.carColor) + }}</template> + </el-table-column> + <el-table-column + prop="personName" + label="杞︿富濮撳悕" + min-width="110" + show-overflow-tooltip + sortable + align="center" + ></el-table-column> + <el-table-column + prop="sex" + label="杞︿富鎬у埆" + align="center" + width="80" + ></el-table-column> + <el-table-column prop="createTime" label="鍏ュ簱鏃堕棿" @@ -266,71 +228,91 @@ sortable align="center" ></el-table-column> - <!-- <el-table-column prop="reserved" label="鍏朵粬" align="center"></el-table-column> --> - <el-table-column label="鐢熸晥鐘舵��" align="center" width="80"> - <template slot-scope="scope"> - <el-switch - v-model="scope.row.enable" - :active-value="1" - :disabled="!isShow('videoTable:edit')" - :inactive-value="0" - @change="enable(scope.row)" - ></el-switch> - </template> - </el-table-column> + <el-table-column label="鎿嶄綔" min-width="200" align="center"> <template slot-scope="scope"> - <fTemplate authority="videoTable:edit"> - <el-tooltip content="缂栬緫" placement="top" popper-class="atooltip"> + <fTemplate authority="library:set"> + <el-tooltip + content="缂栬緫" + placement="top" + popper-class="atooltip" + > <span - class="iconfont iconbianji iconStyle1" - style="font-size:15px;" + class="iconfont iconbianjixinxi-09" + style="font-size: 24px; cursor: pointer" @click="handleClick(scope.row)" ></span> </el-tooltip> </fTemplate> - <el-tooltip content="鏌ユ壘姝や汉" placement="top" popper-class="atooltip"> - <span class="iconfont iconsousuoren iconStyle1" @click="tosearch(scope.row)"></span> - </el-tooltip> - <fTemplate authority="videoTable:edit"> - <el-tooltip content="澶嶅埗" placement="top" popper-class="atooltip"> + <el-popover + placement="top" + trigger="click" + popper-class="popper-caozuo1" + > + <el-tooltip + content="鏌ユ壘姝よ溅" + placement="top" + popper-class="atooltip" + > <span - class="iconfont iconfuzhi iconStyle1" - title="澶嶅埗" - @click="copyClick(scope.row)" + class="iconfont iconchazhaociren-09" + @click="tosearch(scope.row)" ></span> </el-tooltip> - </fTemplate> - <fTemplate authority="videoTable:edit"> - <el-tooltip content="绉诲姩" placement="top" popper-class="atooltip"> - <span - class="iconfont iconyidongzhi iconStyle1" - style="font-size:15px;" - title="绉诲姩" - @click="moveClick(scope.row)" - ></span> - </el-tooltip> - </fTemplate> - <fTemplate authority="videoTable:edit"> - <el-tooltip content="鍒犻櫎" placement="top" popper-class="atooltip"> - <span - class="iconfont iconshanchu iconStyle1" - style="color:#E74C3C;" - @click="deleteThis(scope.row.id)" - title="鍒犻櫎" - ></span> - </el-tooltip> - </fTemplate> + <fTemplate authority="library:set"> + <el-tooltip + content="澶嶅埗" + placement="top" + popper-class="atooltip" + > + <span + class="iconfont iconfuzhi-09" + title="澶嶅埗" + @click="copyClick(scope.row)" + ></span> + </el-tooltip> + </fTemplate> + <fTemplate authority="library:set"> + <el-tooltip + content="绉诲姩" + placement="top" + popper-class="atooltip" + > + <span + class="iconfont iconyidong-09" + title="绉诲姩" + @click="moveClick(scope.row)" + ></span> + </el-tooltip> + </fTemplate> + <fTemplate authority="library:set"> + <el-tooltip + content="鍒犻櫎" + placement="top" + popper-class="atooltip" + > + <span + class="iconfont iconshanchu-09" + style="color: #e74c3c" + @click="askDelete('single', scope.row.id)" + title="鍒犻櫎" + ></span> + </el-tooltip> + </fTemplate> + <span + slot="reference" + class="iconfont icongengduocaozuo-09" + style="font-size: 24px; cursor: pointer" + ></span> + </el-popover> </template> </el-table-column> </el-table> - </div> - <div class="pt5 pb20" style="height:40px;position:relative"> <el-pagination @current-change="refrash" :current-page="BaseManageData.page" :page-size="BaseManageData.size" - style="position:absolute;right:10px;bottom:5px" + style="margin-top: 10px" :total="BaseManageData.total" ></el-pagination> </div> @@ -343,19 +325,41 @@ > <div> <div class="tl"> - <span>涓婁紶鎴愬姛鐨勬暟閲忥細{{uploadResult.successList.length}}</span> + <span>涓婁紶鎴愬姛鐨勬暟閲忥細{{ uploadResult.successList.length }}</span> </div> <div class="flex-box mt10"> - <span>涓婁紶澶辫触鐨勬暟閲忥細{{uploadResult.failList.length}}</span> - <div class="ml20" v-for="(i,index) in uploadResult.failList" :key="index">{{i}}</div> + <span>涓婁紶澶辫触鐨勬暟閲忥細{{ uploadResult.failList.length }}</span> + <div + class="ml20" + v-for="(i, index) in uploadResult.failList" + :key="index" + > + {{ i }} + </div> </div> <div class="flex-box mt10"> - <span>鍖呭惈澶氬紶浜鸿劯鐨勫浘鐗囨暟閲忥細{{uploadResult.multiFaceList.length}}</span> - <div class="ml20" v-for="(i,index) in uploadResult.multiFaceList" :key="index">{{i}}</div> + <span + >鍖呭惈澶氬紶浜鸿劯鐨勫浘鐗囨暟閲忥細{{ + uploadResult.multiFaceList.length + }}</span + > + <div + class="ml20" + v-for="(i, index) in uploadResult.multiFaceList" + :key="index" + > + {{ i }} + </div> </div> <div class="flex-box mt10"> - <span>涓嶅惈浜鸿劯鐨勫浘鐗囨暟閲忥細{{uploadResult.noFaceList.length}}</span> - <div class="ml20" v-for="(i,index) in uploadResult.noFaceList" :key="index">{{i}}</div> + <span>涓嶅惈浜鸿劯鐨勫浘鐗囨暟閲忥細{{ uploadResult.noFaceList.length }}</span> + <div + class="ml20" + v-for="(i, index) in uploadResult.noFaceList" + :key="index" + > + {{ i }} + </div> </div> </div> </el-dialog> @@ -365,8 +369,7 @@ :visible.sync="copyVisiabled" :append-to-body="true" okText="淇濆瓨" - width="35%" - class="copy" + custom-class="copy-dialog" cancelText="鍙栨秷" > <div class="addToBase1"> @@ -375,13 +378,21 @@ <p>榛戝悕鍗� ></p> </div> <div class="baseList"> - <el-checkbox-group v-model="BaseManageData.selectBlacks" @change="blackAngWhite"> - <div class="base" v-for="(item, index) in BaseManageData.blackList" :key="index"> + <el-checkbox-group + v-model="BaseManageData.selectBlacks" + @change="blackAngWhite" + > + <div + class="base" + v-for="(item, index) in BaseManageData.blackList" + :key="index" + > <el-checkbox :label="item.value" :title="item.title" :disabled="item.disabled" - >{{item.title}}</el-checkbox> + >{{ item.title }}</el-checkbox + > </div> </el-checkbox-group> </div> @@ -391,13 +402,21 @@ <p>鐧藉悕鍗� ></p> </div> <div class="baseList"> - <el-checkbox-group v-model="BaseManageData.selectWhites" @change="blackAngWhite"> - <div class="base" v-for="(item, index) in BaseManageData.whiteList" :key="index"> + <el-checkbox-group + v-model="BaseManageData.selectWhites" + @change="blackAngWhite" + > + <div + class="base" + v-for="(item, index) in BaseManageData.whiteList" + :key="index" + > <el-checkbox :label="item.value" :title="item.title" :disabled="item.disabled" - >{{item.title}}</el-checkbox> + >{{ item.title }}</el-checkbox + > </div> </el-checkbox-group> </div> @@ -405,7 +424,9 @@ </div> <div slot="footer" class="dialog-footer"> <el-button size="small" @click="copyClose" type="info">鍙� 娑�</el-button> - <el-button size="small" type="primary" @click="copySubmit()">纭� 瀹�</el-button> + <el-button size="small" type="primary" @click="copySubmit()" + >纭� 瀹�</el-button + > </div> </el-dialog> @@ -414,8 +435,7 @@ :visible.sync="moveVisiabled" :append-to-body="true" okText="淇濆瓨" - class="move" - width="35%" + custom-class="copy-dialog" cancelText="鍙栨秷" > <div class="addToBase1"> @@ -429,12 +449,17 @@ @change="blackAngWhite" :max="1" > - <div class="base" v-for="(item, index) in BaseManageData.blackList" :key="index"> + <div + class="base" + v-for="(item, index) in BaseManageData.blackList" + :key="index" + > <el-checkbox :label="item.value" :title="item.title" :disabled="item.disabled" - >{{item.title}}</el-checkbox> + >{{ item.title }}</el-checkbox + > </div> </el-checkbox-group> </div> @@ -449,12 +474,17 @@ @change="blackAngWhite" :max="1" > - <div class="base" v-for="(item, index) in BaseManageData.whiteList" :key="index"> + <div + class="base" + v-for="(item, index) in BaseManageData.whiteList" + :key="index" + > <el-checkbox :label="item.value" :title="item.title" :disabled="item.disabled" - >{{item.title}}</el-checkbox> + >{{ item.title }}</el-checkbox + > </div> </el-checkbox-group> </div> @@ -462,43 +492,306 @@ </div> <div slot="footer" class="dialog-footer"> <el-button size="small" @click="moveClose" type="info">鍙� 娑�</el-button> - <el-button size="small" type="primary" @click="moveSubmit()">纭� 瀹�</el-button> + <el-button size="small" type="primary" @click="moveSubmit()" + >纭� 瀹�</el-button + > </div> </el-dialog> + + <el-dialog + :visible.sync="askDeleteShow" + :center="true" + custom-class="del-dialog" + > + <div> + <div class="suc-icon"> + <i class="iconfont icongantanhao1"></i> + </div> + <div class="tt">{{ delText[0] }}</div> + <div class="flex-box"> + <span>{{ delText[1] }}</span> + </div> + </div> + <span slot="footer" class="dialog-footer"> + <el-button @click="askDeleteShow = false">鍙� 娑�</el-button> + <el-button type="primary" @click="handleDel" :loading="delBtnLoading" + >纭� 瀹�</el-button + > + </span> + </el-dialog> + + <el-drawer + title="杞﹁締淇℃伅" + :modal="false" + :destroy-on-close="true" + custom-class="add-car" + :visible.sync="addDrawer" + :direction="direction" + :before-close="handleClose1" + > + <div class="uploadLine"> + <div class="car-picture"> + <div class="car-text">涓婁紶杞﹁締鐓х墖</div> + <el-upload + action + :http-request="uploadCar" + accept="image/*" + list-type="picture-card" + :file-list="form.carUrls" + :before-remove="handleRemoveCarPic" + > + <i class="el-icon-plus" style="margin-top: 25px"></i> + </el-upload> + </div> + <div class="person-picture"> + <div class="car-text">涓婁紶杞︿富鐓х墖</div> + <el-upload + action + :http-request="uploadPerson" + list-type="picture-card" + accept="image/*" + :limit="1" + :file-list="form.faceUrl" + :on-remove="handleRemoveFacePic" + > + <i class="el-icon-plus" style="margin-top: 25px"></i> + </el-upload> + </div> + </div> + <el-form + ref="formForCar" + :model="form" + label-width="80px" + style="margin-top: 20px; margin-bottom: 30px" + :rule="carRules" + > + <el-form-item label="杞︾墝鍙�" prop="carNo"> + <el-input + placeholder="璇疯緭鍏ヨ溅鐗屽彿" + v-model="form.carNo" + class="inputWidth" + ></el-input> + </el-form-item> + <el-form-item label="杞﹁締绫诲瀷" prop="carType"> + <el-select + v-model="form.carType" + placeholder="璇烽�夋嫨杞﹁締绫诲瀷" + class="inputWidth" + > + <el-option + v-for="item in VideoPhotoData.dictionary.CARTYPE" + :key="item.value" + :label="item.name" + :value="item.value" + ></el-option> + </el-select> + </el-form-item> + <el-form-item label="杞﹁締鍝佺墝" prop="carBrand"> + <el-select + v-model="form.carBrand" + placeholder="璇烽�夋嫨杞﹁締鍝佺墝" + class="inputWidth" + > + <el-option + v-for="item in VideoPhotoData.dictionary.BRAND" + :key="item.value" + :label="item.name" + :value="item.value" + ></el-option> + </el-select> + </el-form-item> + <el-form-item label="杞﹁韩棰滆壊" prop="carColor"> + <el-select + v-model="form.carColor" + placeholder="璇烽�夋嫨杞﹁韩棰滆壊" + class="inputWidth" + > + <el-option + v-for="item in VideoPhotoData.dictionary.nColor" + :key="item.value" + :label="item.name" + :value="item.value" + ></el-option> + </el-select> + </el-form-item> + <el-form-item label="杞︿富濮撳悕" prop="personName"> + <el-input v-model="form.personName" class="inputWidth"></el-input> + </el-form-item> + <el-form-item label="杞︿富鎬у埆" prop="sex"> + <el-radio-group v-model="form.sex"> + <el-radio label="鐢�"></el-radio> + <el-radio label="濂�"></el-radio> + </el-radio-group> + </el-form-item> + <el-form-item label="韬唤璇佸彿" prop="idCard"> + <el-input v-model="form.idCard" class="inputWidth"></el-input> + </el-form-item> + <el-form-item label="鎵嬫満鍙�" prop="phoneNum"> + <el-input v-model="form.phoneNum" class="inputWidth"></el-input> + </el-form-item> + <el-form-item label="鍏朵粬" prop="reserved"> + <el-input v-model="form.reserved" class="inputWidth"></el-input> + </el-form-item> + </el-form> + <div class="dialog-footer"> + <el-button + size="small" + class="sure-btn" + type="primary" + @click="submitCar" + >纭� 瀹�</el-button + > + <el-button + size="small" + class="cancel-btn" + @click="resetForm" + type="info" + >鍙� 娑�</el-button + > + </div> + </el-drawer> + + <el-drawer + title="涓婁紶杞︾墝" + :modal="false" + :visible.sync="addBatchDrawer" + :direction="direction" + custom-class="upload-pai" + :before-close="handleClose2" + > + <div class="drawerSpace"> + <div class="plateAttach"> + <el-input + type="textarea" + :rows="25" + v-model="plates" + style="width: 90%" + placeholder="璇疯緭鍏ヨ溅鐗屽彿" + ></el-input> + <p> + 杞︾墝鍙蜂互閫楀彿鎴栧洖杞﹂敭闅斿紑锛屽崟娆℃渶澶氭敮鎸�100鏉′笂浼狅紝渚嬪锛氫含YAB123,浜現34Y87 + </p> + <!-- <el-button + type="primary" + @click="platesBatch" + style="margin-left: 210px" + >淇濆瓨</el-button + > + <el-button @click="resetForm('ruleForm')">鍙栨秷</el-button> --> + </div> + </div> + <div class="dialog-footer"> + <el-button + size="small" + class="sure-btn" + type="primary" + @click="platesBatch" + >淇濆瓨</el-button + > + <el-button + size="small" + class="cancel-btn" + @click="resetForm('ruleForm')" + type="info" + >鍙栨秷</el-button + > + </div> + </el-drawer> </div> </template> <script> -import { addBaseCar, updateBaseCar, deleteBasePersons, plateBatch } from "@/api/baseLibrary"; +import { + addBaseCar, + updateBaseCar, + deleteBasePersons, + plateBatch, + updateDbTableStatus, + deleteDbPersonById, + deleteDBtablesById, +} from "@/api/baseLibrary"; import axios from "axios"; -// import { findByType } from '@/server/video.js' -import Upload from "./upload"; import fTemplate from "@/components/fTemplate"; -import request from "@/scripts/httpRequest" +import request from "@/scripts/httpRequest"; export default { components: { - // httpImg, - fTemplate + fTemplate, }, props: { baseObject: { - default: () => { }, - type: Object - } + default: () => {}, + type: Object, + }, + syncType: { + type: String, + }, + }, + + computed: { + isAdmin() { + if ( + sessionStorage.getItem("userInfo") && + sessionStorage.getItem("userInfo") !== "" + ) { + let loginName = JSON.parse(sessionStorage.getItem("userInfo")).username; + return loginName === "superadmin" || loginName === "basic"; + } + return false; + }, + delText() { + switch (this.delType) { + case "base": + return ["鍒犻櫎搴曞簱", "纭畾鍒犻櫎璇ュ簳搴擄紵"]; + case "single": + return ["鍒犻櫎杞﹁締淇℃伅", "纭畾鍒犻櫎璇ヨ溅杈嗕俊鎭紵"]; + case "batch": + return ["鎵归噺鍒犻櫎", "纭畾鍒犻櫎璇ュ簳搴撻�変腑鐨勮溅杈嗕俊鎭紵"]; + default: + return ["", ""]; + } + }, }, data() { + var checkCar = (rule, value, callback) => { + debugger; + if (!value) { + return callback(); + } else { + var result = false; + if (value.length === 7) { + var express = /^[浜触娌笣鍐�璞簯杈介粦婀樼殩椴佹柊鑻忔禉璧i剛妗傜敇鏅嬭挋闄曞悏闂借吹绮ら潚钘忓窛瀹佺惣浣块A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9鎸傚璀︽腐婢砞{1}$/; + result = express.test(value); + } else if (value.length === 8) { + var express2 = /^[浜触娌笣鍐�璞簯杈介粦婀樼殩椴佹柊鑻忔禉璧i剛妗傜敇鏅嬭挋闄曞悏闂借吹绮ら潚钘忓窛瀹佺惣浣块A-Z]{1}[A-Z]{1}[A-Z0-9]{5}[A-Z0-9鎸傚璀︽腐婢砞{1}$/; + result = express2.test(value); + } + if (result) { + callback(); + } else { + callback(new Error("璇疯緭鍏ユ纭溅鐗屽彿鐮�")); + } + return result; + } + }; return { dialogFormVisible: false, addDrawer: false, plates: "", addBatchDrawer: false, - direction: 'rtl', - dialogImageUrl: '', - fileList: [{ name: "fasjido.jpg", url: "group2/M00/0A/D7/wKgBnFyjH0-AUE5eAAC8hSMP2Yw110.jpg" }, { name: "fasjido.jpg", url: "group2/M00/0A/D7/wKgBnFyjH0-AUE5eAAC8hSMP2Yw110.jpg" }], - provinces: [{ name: '浜�', value: 1 }, { name: '娲�', value: 2 }, { name: '鍐�', value: 3 }], + direction: "rtl", + dialogImageUrl: "", + fileList: [ + { + name: "fasjido.jpg", + url: "group2/M00/0A/D7/wKgBnFyjH0-AUE5eAAC8hSMP2Yw110.jpg", + }, + { + name: "fasjido.jpg", + url: "group2/M00/0A/D7/wKgBnFyjH0-AUE5eAAC8hSMP2Yw110.jpg", + }, + ], copyVisiabled: false, moveVisiabled: false, buttonAuthority: sessionStorage.getItem("buttonAuthoritys") || [], - searchName: "", current: 1, compare: false, pageSize: 10, @@ -517,7 +810,7 @@ idCard: "", phoneNum: "", monitorLevel: "one", - carUrls: [], //{url:"/httpImage/192.168.20.10:6701/818,56d0122c44f069"},{url:"/httpImage/192.168.20.10:6701/818,56d0122c44f069"} + carUrls: [], faceUrl: [], faceFeature: "", carPicUrls: "", @@ -527,647 +820,37 @@ carBrand: "0", carNo: "", enable: 0, - reserved: "" + reserved: "", }, - rules: { - picDesc: [ - { required: true, message: "璇疯緭鍏ョ収鐗囨爣璇�", trigger: "change" } + carRules: { + carNo: [ + { required: true, message: "璇疯緭鍏ユ椿鍔ㄥ悕绉�", trigger: "blur" }, + // { validator: checkCar, trigger: 'blur' } ], - sex: [{ required: true, message: "璇峰嬀閫夋�у埆", trigger: "change" }], - monitorLevel: [ - { required: true, message: "璇烽�夋嫨浜哄憳绛夌骇", trigger: "change" } - ] }, tableData: [], - tableHeight: window.innerHeight - 320, - multipleSelection: [], - peoperLevel: [], oldWidth: "", oldHeight: "", - // 涓婁紶鍚庣殑寮规鏄剧ず + askDeleteShow: false, + delType: "", + toDeleteId: "", dialogVisible: false, - // 鎵归噺涓婁紶鍚庣殑杩斿洖缁撴灉 - uploadResult: { failList: [], successList: [], multiFaceList: [], noFaceList: [] } + uploadResult: { + failList: [], + successList: [], + multiFaceList: [], + noFaceList: [], + }, + delBtnLoading: false, }; }, - computed: { - isAdmin() { - if ( - sessionStorage.getItem('userInfo') && - sessionStorage.getItem('userInfo') !== '' - ) { - let loginName = JSON.parse(sessionStorage.getItem('userInfo')).username - return ( - loginName === 'superadmin' || loginName === 'basic' - ) - } - return false; - } - }, - methods: { - handleRemoveCarPic(file, fileList) { - console.log("鍒犻櫎鏂囦欢", file, fileList); - var index = fileList.findIndex(item => { - if (item.uid == file.uid) { - return true - } - }) - console.log("鍒犻櫎鐨勭储寮�", index) - this.form.carUrls.splice(index, 1) - console.log("鍒犻櫎鍚庣殑fileList:", this.fileList) + watch: { + "BaseManageData.selectBlacks": function (value) { + this.blackAngWhite(); }, - handleRemoveFacePic(file, fileList) { - this.form.faceUrl.splice(0, 1) - console.log("鍒犻櫎鍚庣殑faceUrl:", this.fileList) + "BaseManageData.selectWhites": function (value) { + this.blackAngWhite(); }, - beforeUoload() { - - }, - handlePictureCardPreview(file) { - this.dialogImageUrl = file.url; - this.dialogVisible = true; - }, - async uploadCar(param) { - const fd = new FormData() - console.log("鏂囦欢鍙傛暟锛�", param) - fd.append('file', param.file) - fd.append('picType', '0') - console.log("鍙傛暟锛�", fd) - let res = await request({ - method: 'post', - url: `/data/api-v/dbperson/fileupload`, - data: fd - }) - console.log("鍥剧墖涓婁紶缁撴灉锛�", res.success) - if (res.success) { - this.form.carUrls.push({ url: "/httpImage/" + res.data.picUrl }) - console.log("carUrl:", this.form.carUrls) - } - }, - async uploadPerson(param) { - const fd = new FormData() - fd.append('file', param.file) - fd.append('picType', '1') - let res = await request({ - method: 'post', - url: `/data/api-v/dbperson/fileupload`, - data: fd - }) - if (res.success) { - this.form.faceUrl.push({ url: "/httpImage/" + res.data.picUrl }) - this.form.faceFeature = res.data.faceFeature - console.log("faceUrl:", this.form.faceUrl) - } - }, - addCar() { - this.addDrawer = true - }, - addBatch() { - this.addBatchDrawer = true - }, - resetForm() { - - }, - handleClose1(done) { - this.form = { - id: "", - sex: "鐢�", - name: "", - tableId: "", - picDesc: "", - idCard: "", - phoneNum: "", - monitorLevel: "one", - carUrls: [], //{url:"/httpImage/192.168.20.10:6701/818,56d0122c44f069"},{url:"/httpImage/192.168.20.10:6701/818,56d0122c44f069"} - faceUrl: [], - faceFeature: "", - carPicUrls: "", - personPicUrl: "", - carColor: "0", - carType: "0", - carBrand: "0", - carNo: "", - enable: 0, - reserved: "" - }, - done() - // this.$confirm('纭鍏抽棴锛�') - // .then(_ => { - // done(); - // }) - // .catch(_ => {}); - }, - handleClose2(done) { - done() - // this.$confirm('纭鍏抽棴锛�') - // .then(_ => { - // done(); - // }) - // .catch(_ => {}); - }, - isShow(authority) { - if (this.isAdmin) { - return true - } else if ( - this.buttonAuthority.indexOf(',' + authority + ',') > -1 - ) { - return true - } else { - return false - } - }, - toggleSelection(rows) { - if (rows) { - rows.forEach(row => { - this.$refs.multipleTable.toggleRowSelection(row); - }); - } else { - this.$refs.multipleTable.clearSelection(); - } - }, - deleteThis(id) { - let token = - sessionStorage.getItem("loginedInfo") && - JSON.parse(sessionStorage.getItem("loginedInfo")).access_token; - this.$confirm("鎻愮ず锛氱‘瀹氬垹闄よ搴曞簱浜哄憳锛�", { - center: true, - cancelButtonClass: "comfirm-class-cancle", - confirmButtonClass: "comfirm-class-sure" - }) - .then(_ => { - fetch(`/data/api-v/dbperson/deleteDbPersonById/${id}`, { - method: "POST", - headers: { - "Content-Type": "application/json", - Authorization: token - } - }) - .then(res => { - return res.json(); - }) - .then(data => { - // console.log(data.data); - if (data.success) { - this.$notify({ - type: "success", - message: "璇ヤ汉鍛樺垹闄ゆ垚鍔燂紒" - }); - } - this.getCarList(); - }) - .catch(err => { - console.log(err); - }); - }) - .catch(_ => { }); - }, - sayHello() { - console.log("hello"); - }, - getUploadResult(result) { - console.log(result, "涓婁紶鐨勮繑鍥�"); - this.uploadResult = result.data; - this.dialogVisible = true; - this.getCarList(); - }, - async getCarList() { - // console.log("鎵ц浜嗗埛鏂板嚱鏁�", this.BaseManageData.syncTables[0]); - if (this.baseObject.id && this.baseObject.id !== undefined) { - // console.log("搴曞簱id", this.baseObject.id); - this.BaseManageData.tableId = this.baseObject.id; - // this.BaseManageData.queryPersonList(); - this.setLoadSearch(this.BaseManageData.queryPersonList()) - } - }, - changeDialog(data) { - data.erFileList.map((item, index) => { - this.$notify({ - type: "error", - message: item.errorMsg.message - }); - }); - }, - handleClose() { - //this.getCarList(); - this.dialogFormVisible = false; - }, - handleSelectionChange(val) { - this.selectedRowKeys = val; - }, - refrash(current, pageSize) { - this.current = current; - this.BaseManageData.page = current; - this.getCarList(); - }, - handleClick(row) { - this.form = row; - // 杩欏潡鍎垮悗鍙扮殑瀛楀吀value鍊兼湁闂锛岄渶瑕佸墠绔潵鍥炶浆 - this.form.carColor += "" - this.form.carType += "" - this.form.carBrand += "" - console.log("this.form", this.form) - this.addDrawer = true; - }, - async submit() { - this.$refs["formForEdit"].validate(async valid => { - // console.log("閫氳繃楠岃瘉", valid); - if (valid) { - let { ...json } = this.form; - delete (json["compareScore"]) - // console.log("淇敼鐨勫弬鏁帮細", json); - let res = await updateBasePerson(json); - // console.log("淇濆瓨浜�", res); - if (res.success) { - this.$notify({ - type: "success", - message: "浜哄憳淇敼鎴愬姛锛�" - }); - this.dialogFormVisible = false; - } else { - this.$notify({ - type: "error", - message: "浜哄憳淇敼澶辫触锛岃閲嶈瘯锛侊紒" - }); - } - } else { - return false; - } - }); - }, - confirm() { - this.$confirm({ - title: "Confirm", - content: "Bla bla ...", - okText: "纭", - cancelText: "鍙栨秷" - }); - }, - async enable(item) { - let res = await updateBasePerson({ - id: item.id, - enable: item.enable, - sex: item.sex, - personName: item.personName, - picDesc: item.picDesc, - idCard: item.idCard, - phoneNum: item.phoneNum, - monitorLevel: item.monitorLevel, - personPicUrl: item.personPicUrl, - reserved: item.reserved - }); - if (res.success === true) { - this.$notify({ - type: "success", - message: "搴曞簱浜哄憳鎴愬姛鍙樻洿鐢熸晥鐘舵�侊紒" - }); - } else { - this.$notify({ - type: "error", - message: "搴曞簱浜哄憳鍙樻洿鐢熸晥鐘舵�佸け璐ワ紒" - }); - } - }, - handleSearch() { - this.getCarList(); - }, - searchImg() { - this.$refs.uploadDrag && this.$refs.uploadDrag.uploadStart(); - }, - haveScore(row) { - if (row.compareScore && row.compareScore !== "") { - return true - } else { - return false - } - }, - async searchImgList(faceUrl, threshold) { - // console.log("鎼滃浘鍙傛暟", faceUrl, threshold); - let json = { - tableId: this.baseObject.id, - page: this.current, - size: this.pageSize, - faceUrl: faceUrl, - threshold: threshold, - orderType: this.orderType, - orderName: this.orderName - }; - let res = await getPersonByPhoto(json); - // console.log("鍒楄〃鏌ヨ", json); - this.tableData = res.data.datalist; - this.total = res.data.total; - this.compare = true; - }, - updateThreshold() { }, - async updateFace(param) { - const fd = new FormData(); - fd.append("file", param.file); - fd.append("id", this.form.id); - // console.log("鎹㈣劯浜嗗悧", fd); - let res = await axios({ - method: "post", - url: `/data/api-v/dbperson/updateFace`, - headers: { - 'Authorization': sessionStorage.getItem('loginedInfo') && JSON.parse(sessionStorage.getItem('loginedInfo')).access_token - }, - data: fd - }); - if (res.data.success) { - this.form.personPicUrl = res.data.data.personPicUrl; - this.form.faceFeature = res.data.data.faceFeature; - } - }, - uploadSuccess() { - console.log("鎹㈣劯鎴愬姛浜�"); - }, - uploadError() { - console.log("鎹㈣劯澶辫触浜�"); - }, - deleteBatch() { - // console.log('瑕佸垹闄ょ殑', this.selectedRowKeys.length) - if (this.selectedRowKeys.length === 0) { - this.$notify({ - type: "warning", - message: "璇烽�夋嫨瑕佸垹闄ょ殑浜哄憳" - }); - } else { - this.$confirm("鎻愮ず锛氱‘瀹氬垹闄よ搴曞簱閫変腑浜哄憳锛�", { - center: true, - cancelButtonClass: "comfirm-class-cancle", - confirmButtonClass: "comfirm-class-sure" - }).then(async _ => { - let ids = []; - this.selectedRowKeys.map((item, index) => { - ids.push(item.id); - }); - // console.log('鎵归噺鍒犻櫎鏁扮粍', ids) - let res = await deleteBasePersons(ids); - // console.log(res, '鎵归噺鍒犻櫎缁撴灉') - if (res.success) { - this.$notify({ - type: "success", - message: "鍒犻櫎鎴愬姛锛�" - }); - this.getCarList(); - } else { - this.$notify({ - type: "error", - message: "鍒犻櫎澶辫触锛�" - }); - } - }); - } - }, - async init() { - await this.BaseManageData.querySyncTables(); - await this.BaseManageData.queryLocalTables(); - if (this.baseObject.id && this.baseObject.id !== undefined) { - // console.log("one;", this.baseObject.id); - } else if ( - this.BaseManageData.syncTables[0].id && - this.BaseManageData.syncTables[0].id !== undefined - ) { - this.BaseManageData.tableId = this.BaseManageData.syncTables[0].id; - this.BaseManageData.queryPersonList(); - } else { - this.BaseManageData.tableId = this.BaseManageData.localTables[0].id; - this.BaseManageData.queryPersonList(); - } - }, - handleRowStyle({ row, rowIndex }) { - // console.log(row, rowIndex, "handleRowStyle"); - if (rowIndex === 0) { - return "background:#222222;"; - } - }, - blackAngWhite() { - if (this.BaseManageData.selectBlacks.length > 0) { - for (let i = 0; i < this.BaseManageData.whiteList.length; i++) { - //this.VideoPhotoData.whiteList[i].disabled = true - this.$set(this.BaseManageData.whiteList[i], 'disabled', true) - } - } - if (this.BaseManageData.selectBlacks.length == 0) { - for (let i = 0; i < this.BaseManageData.whiteList.length; i++) { - //this.VideoPhotoData.whiteList[i].disabled = false - this.$set(this.BaseManageData.whiteList[i], 'disabled', false) - } - } - if (this.BaseManageData.selectWhites.length > 0) { - for (let i = 0; i < this.BaseManageData.blackList.length; i++) { - // this.VideoPhotoData.blackList[i].disabled = true - this.$set(this.BaseManageData.blackList[i], 'disabled', true) - } - } - if (this.BaseManageData.selectWhites.length == 0) { - for (let i = 0; i < this.BaseManageData.blackList.length; i++) { - //this.VideoPhotoData.blackList[i].disabled = false - this.$set(this.BaseManageData.blackList[i], 'disabled', false) - } - } - }, - tosearch(item) { - // console.log("璺宠浆鍦板潃", item) - var curWwwPath = window.document.location.href; - var pathname = window.document.location.pathname; - var pos = curWwwPath.indexOf(pathname); - var localhostPath = curWwwPath.substring(0, pos); //ip+port - var href = localhostPath + "/Layout/Searching" - let captureId = item.id == "" ? item.personId : item.id - var url = item.personPicUrl ? item.personPicUrl : item.personPicUrl - // console.log("璺宠浆鍦板潃",href,"url",url) - var compType = 0 - window.open(href + '?showType=findByPic&targetId=' + captureId + '&picSmUrl=' + url + '&compType=' + compType) - }, - async platesBatch() { - var temp = this.plates.split(/[\n,]/g); - var reg = /[浜触娌笣鍐�璞簯杈介粦婀樼殩椴佹柊鑻忔禉璧i剛妗傜敇鏅嬭挋闄曞悏闂借吹绮ら潚钘忓窛瀹佺惣浣块]{1}[A-Z]{1}[A-Z0-9]{5,6}/; - for (let i = 0; i < temp.length; i++) { - if (temp[i] == '') { - temp.splice(i, 1) - i-- - } else { - if (!reg.test(temp[i])) { - this.$notify({ - type: "error", - message: "杞︾墝鍙�:" + temp[i] + "涓嶇鍚堣鍒欙紝璇锋鏌�!" - }) - return - } - } - } - if (temp.length == 0) { - this.$notify({ - type: 'error', - message: '璇疯緭鍏ヨ溅鐗屽彿', - }) - return - } - let param = { - tableId: this.baseObject.id, - carNos: temp - } - let resp = await plateBatch(param) - console.log("resp:", resp) - if (resp && resp.success) { - // 鍒锋柊car鍒楄〃 - this.$notify({ - type: "success", - message: resp.msg - }); - this.getCarList(); - this.addBatchDrawer = false; - } else { - this.$notify({ - type: "error", - message: resp.msg - }); - } - - }, - async submitCar() { - this.$refs["formForCar"].validate(async valid => { - // console.log("閫氳繃楠岃瘉", valid); - if (valid) { - let { ...json } = this.form; - - for (let index in json.carUrls) { - if (index == 0) { - json.carPicUrls += json.carUrls[index].url.substring(11) - } else { - json.carPicUrls += ";" + json.carUrls[index].url.substring(11) - } - } - json.carColor = parseInt(json.carColor) - json.carType = parseInt(json.carType) - json.carBrand = parseInt(json.carBrand) - json.personPicUrl = json.faceUrl[0].url.substring(11) - json.tableId = this.baseObject.id - console.log("琛ㄥ崟鐨刯son鍖栵細", json) - delete (json["compareScore"]) - // console.log("淇敼鐨勫弬鏁帮細", json); - let res - if (json.id == "") { - res = await addBaseCar(json); - } else { - res = await updateBaseCar(json); - } - console.log("淇濆瓨浜�", res); - if (res.success) { - this.$notify({ - type: "success", - message: res.data.msg - }); - this.getCarList(); - this.addDrawer = false; - } else { - this.$notify({ - type: "error", - message: res.data.msg - }); - } - } else { - return false; - } - }); - }, - copyClick(row) { - this.BaseManageData.personId = row.id - this.copyVisiabled = true - }, - moveClick(row) { - this.BaseManageData.personId = row.id - this.moveVisiabled = true - }, - copyClose() { - this.copyVisiabled = false - this.BaseManageData.personId = "" - this.BaseManageData.selectBlacks = [] - this.BaseManageData.selectWhites = [] - }, - moveClose() { - this.moveVisiabled = false - this.BaseManageData.personId = "" - this.BaseManageData.selectBlacks = [] - this.BaseManageData.selectWhites = [] - }, - copySubmit() { - if (this.BaseManageData.selectBlacks.length === 0 && this.BaseManageData.selectWhites.length === 0) { - this.$notify({ - title: "娉ㄦ剰", - message: "璇烽�夋嫨瑕佸鍒跺埌鐨勫簱", - type: "warning" - }) - return - } - var resp = this.BaseManageData.copyTo() - resp.then(data => { - if (data.success) { - this.$notify({ - title: "鎴愬姛", - message: data.data, - type: "success" - }) - } else { - this.$notify({ - title: "澶辫触", - message: data.data, - type: "error" - }) - } - }) - this.copyVisiabled = false - this.BaseManageData.personId = "" - this.BaseManageData.selectBlacks = [] - this.BaseManageData.selectWhites = [] - }, - getDataName: (dataList, key) => { - let name = "" - if (Array.isArray(dataList) && dataList.length > 0) { - for (let i = 0; i < dataList.length; i++) { - if (dataList[i].value == key) { - name = dataList[i].name - } - } - } - return name - }, - moveSubmit() { - if (this.BaseManageData.selectBlacks.length === 0 && this.BaseManageData.selectWhites.length === 0) { - this.$notify({ - title: "娉ㄦ剰", - message: "璇烽�夋嫨瑕佺Щ鍔ㄥ埌鐨勫簱", - type: "warning" - }) - return - } - var resp = this.BaseManageData.moveTo() - resp.then(data => { - if (data.success) { - this.$notify({ - title: "鎴愬姛", - message: data.data, - type: "success" - }) - } else { - this.$notify({ - title: "澶辫触", - message: data.data, - type: "error" - }) - } - this.moveVisiabled = false - this.BaseManageData.personId = "" - this.BaseManageData.selectBlacks = [] - this.BaseManageData.selectWhites = [] - this.BaseManageData.queryPersonList() - }) - }, - setLoadSearch(fn) { - this.AuthData.setLoading("multipleTable", this); - fn.then(_ => { - this.AuthData.closeLoad(); - }) - } }, mounted() { this.getCarList(); @@ -1179,7 +862,6 @@ window.onresize = () => { let width = document.body.clientWidth; let height = document.body.clientHeight; - // console.log(width, height, "绐楀彛鍙樺寲瀵规瘮", this.oldWidth, this.oldHeight); if (width !== this.oldWidth && width < 1750) { } this.$nextTick(() => { @@ -1193,22 +875,618 @@ beforeDestroy() { window.onresize = null; }, - watch: { - baseObject: { - handler(newVal, oldVal) { - // console.log(newVal, "鐩戝惉baseObject"); - this.BaseManageData.cleanData(); + methods: { + checkCarNo(value) { + var result = false; + if (value.length === 7) { + var express = /^[浜触娌笣鍐�璞簯杈介粦婀樼殩椴佹柊鑻忔禉璧i剛妗傜敇鏅嬭挋闄曞悏闂借吹绮ら潚钘忓窛瀹佺惣浣块A-Z]{1}[A-Z]{1}[A-Z0-9]{4}[A-Z0-9鎸傚璀︽腐婢砞{1}$/; + result = express.test(value); + } else if (value.length === 8) { + var express2 = /^[浜触娌笣鍐�璞簯杈介粦婀樼殩椴佹柊鑻忔禉璧i剛妗傜敇鏅嬭挋闄曞悏闂借吹绮ら潚钘忓窛瀹佺惣浣块A-Z]{1}[A-Z]{1}[A-Z0-9]{5}[A-Z0-9鎸傚璀︽腐婢砞{1}$/; + result = express2.test(value); + } + return result; + }, + async handleDel() { + this.delBtnLoading = true; + if (this.delType == "single") { + await this.deleteThis(); + } else if (this.delType == "base") { + await this.deleteBase(); + } else if (this.delType == "batch") { + await this.deleteBatch(); + } + + this.delBtnLoading = false; + this.askDeleteShow = false; + }, + deleteBase() { + deleteDBtablesById({ id: this.baseObject.id }) + .then((res) => { + if (res.success) { + this.$notify({ + type: "success", + message: "搴曞簱鍒犻櫎鎴愬姛锛�", + }); + } + this.askDeleteShow = false; + this.$emit("onDelete"); + }) + .catch((err) => { + this.$notify({ + type: "error", + message: err, + }); + }); + }, + handleRemoveCarPic(file, fileList) { + var index = fileList.findIndex((item) => { + if (item.uid == file.uid) { + return true; + } + }); + this.form.carUrls.splice(index, 1); + }, + isDisabled(item) { + var flag = true; + if (this.isShow("library:set")) { + if (item.endTime == "") { + flag = false; + } else { + flag = !this.$moment(new Date()).isBetween( + item.startTime, + item.endTime + ); + } + } + return flag; + }, + handleRemoveFacePic(file, fileList) { + this.form.faceUrl.splice(0, 1); + }, + edit() { + this.$emit("changeShow", this.baseObject, this.syncType); + }, + // beforeUoload() {}, + handlePictureCardPreview(file) { + this.dialogImageUrl = file.url; + this.dialogVisible = true; + }, + async uploadCar(param) { + const fd = new FormData(); + fd.append("file", param.file); + fd.append("picType", "0"); + let res = await request({ + method: "post", + url: `/data/api-v/dbperson/fileupload`, + data: fd, + }); + if (res.success) { + debugger; + this.form.carUrls.push({ url: "/httpImage/" + res.data.picUrl }); + } + }, + async uploadPerson(param) { + const fd = new FormData(); + fd.append("file", param.file); + fd.append("picType", "1"); + let res = await request({ + method: "post", + url: `/data/api-v/dbperson/fileupload`, + data: fd, + }); + if (res.success) { + this.form.faceUrl.push({ url: "/httpImage/" + res.data.picUrl }); + this.form.faceFeature = res.data.faceFeature; + } + }, + addCar() { + this.addDrawer = true; + }, + addBatch() { + this.addBatchDrawer = true; + }, + resetForm() {}, + handleClose1(done) { + (this.form = { + id: "", + sex: "鐢�", + name: "", + tableId: "", + picDesc: "", + idCard: "", + phoneNum: "", + monitorLevel: "one", + carUrls: [], + faceUrl: [], + faceFeature: "", + carPicUrls: "", + personPicUrl: "", + carColor: "0", + carType: "0", + carBrand: "0", + carNo: "", + enable: 0, + reserved: "", + }), + done(); + }, + handleClose2(done) { + done(); + }, + isShow(authority) { + return ( + this.isAdmin || this.buttonAuthority.indexOf("," + authority + ",") > -1 + ); + }, + toggleSelection(rows) { + if (rows) { + rows.forEach((row) => { + this.$refs.multipleTable.toggleRowSelection(row); + }); + } else { + this.$refs.multipleTable.clearSelection(); + } + }, + deleteThis() { + deleteDbPersonById({ id: this.toDeleteId }) + .then((data) => { + if (data.success) { + this.$notify({ + type: "success", + message: "杞﹁締淇℃伅鍒犻櫎鎴愬姛锛�", + }); + } + this.getCarList(); + }) + .catch((err) => {}); + }, + getUploadResult(result) { + this.uploadResult = result.data; + this.dialogVisible = true; + this.getCarList(); + }, + getCarList() { + if (this.baseObject.id && this.baseObject.id !== undefined) { + this.BaseManageData.tableId = this.baseObject.id; + this.setLoadSearch(this.BaseManageData.queryPersonList()); + } + }, + changeDialog(data) { + data.erFileList.map((item, index) => { + this.$notify({ + type: "error", + message: item.errorMsg.message, + }); + }); + }, + handleClose() { + this.dialogFormVisible = false; + }, + handleSelectionChange(val) { + this.selectedRowKeys = val; + }, + refrash(current, pageSize) { + this.current = current; + this.BaseManageData.page = current; + this.getCarList(); + }, + handleClick(row) { + this.form = row; + // 杩欏潡鍎垮悗鍙扮殑瀛楀吀value鍊兼湁闂锛岄渶瑕佸墠绔潵鍥炶浆 + this.form.carColor += ""; + this.form.carType += ""; + this.form.carBrand += ""; + this.addDrawer = true; + }, + async submit() { + this.$refs["formForEdit"].validate(async (valid) => { + if (valid) { + let { ...json } = this.form; + delete json["compareScore"]; + let res = await updateBasePerson(json); + if (res.success) { + this.$notify({ + type: "success", + message: "杞﹁締淇℃伅淇敼鎴愬姛锛�", + }); + this.dialogFormVisible = false; + } else { + this.$notify({ + type: "error", + message: "杞﹁締淇℃伅淇敼澶辫触锛岃閲嶈瘯锛侊紒", + }); + } + } else { + return false; + } + }); + }, + confirm() { + this.$confirm({ + title: "Confirm", + content: "Bla bla ...", + okText: "纭", + cancelText: "鍙栨秷", + }); + }, + async enable(item) { + let res = await updateBasePerson({ + id: item.id, + enable: item.enable, + sex: item.sex, + personName: item.personName, + picDesc: item.picDesc, + idCard: item.idCard, + phoneNum: item.phoneNum, + monitorLevel: item.monitorLevel, + personPicUrl: item.personPicUrl, + reserved: item.reserved, + }); + if (res.success) { + this.$notify({ + type: "success", + message: "杞﹁締淇℃伅鎴愬姛鍙樻洿鐢熸晥鐘舵�侊紒", + }); + } else { + this.$notify({ + type: "error", + message: "杞﹁締淇℃伅鍙樻洿鐢熸晥鐘舵�佸け璐ワ紒", + }); + } + }, + handleSearch() { + this.getCarList(); + }, + searchImg() { + this.$refs.uploadDrag && this.$refs.uploadDrag.uploadStart(); + }, + haveScore(row) { + return row.compareScore && row.compareScore !== ""; + }, + async setEnable(item) { + let res = await updateDbTableStatus({ + id: item.id, + enable: item.enable, + }); + if (res.success) { + this.$notify({ + type: "success", + message: "搴曞簱鎴愬姛鍙樻洿鐢熸晥鐘舵�侊紒", + }); + } else { + this.$notify({ + type: "error", + message: "搴曞簱鍙樻洿鐢熸晥鐘舵�佸け璐ワ紒", + }); + } + }, + async searchImgList(faceUrl, threshold) { + let json = { + tableId: this.baseObject.id, + page: this.current, + size: this.pageSize, + faceUrl: faceUrl, + threshold: threshold, + orderType: this.orderType, + orderName: this.orderName, + }; + let res = await getPersonByPhoto(json); + this.tableData = res.data.datalist; + this.total = res.data.total; + this.compare = true; + }, + // updateThreshold() {}, + async updateFace(param) { + const fd = new FormData(); + fd.append("file", param.file); + fd.append("id", this.form.id); + let res = await axios({ + method: "post", + url: `/data/api-v/dbperson/updateFace`, + headers: { + Authorization: + sessionStorage.getItem("loginedInfo") && + JSON.parse(sessionStorage.getItem("loginedInfo")).access_token, + }, + data: fd, + }); + if (res.data.success) { + this.form.personPicUrl = res.data.data.personPicUrl; + this.form.faceFeature = res.data.data.faceFeature; + } + }, + async deleteBatch() { + let ids = []; + this.selectedRowKeys.map((item, index) => { + ids.push(item.id); + }); + let res = await deleteBasePersons({ ids: ids }); + if (res.success) { + this.$notify({ + type: "success", + message: "鍒犻櫎鎴愬姛锛�", + }); this.getCarList(); - }, - deep: true + } else { + this.$notify({ + type: "error", + message: "鍒犻櫎澶辫触锛�", + }); + } }, - "BaseManageData.selectBlacks": function (value) { - this.blackAngWhite() + async init() { + await this.BaseManageData.querySyncTables(); + await this.BaseManageData.queryLocalTables(); + if (this.baseObject.id && this.baseObject.id !== undefined) { + } else if ( + this.BaseManageData.syncTables[0].id && + this.BaseManageData.syncTables[0].id !== undefined + ) { + this.BaseManageData.tableId = this.BaseManageData.syncTables[0].id; + this.BaseManageData.queryPersonList(); + } else { + this.BaseManageData.tableId = this.BaseManageData.localTables[0].id; + this.BaseManageData.queryPersonList(); + } }, - "BaseManageData.selectWhites": function (value) { - this.blackAngWhite() + askDelete(typ, id) { + if (typ == "batch") { + if (this.selectedRowKeys.length === 0) { + this.$notify({ + type: "warning", + message: "璇烽�夋嫨瑕佸垹闄ょ殑杞﹁締淇℃伅", + }); + return; + } + } + this.askDeleteShow = true; + this.delType = typ; + id && (this.toDeleteId = id); }, - } + blackAngWhite() { + if (this.BaseManageData.selectBlacks.length > 0) { + for (let i = 0; i < this.BaseManageData.whiteList.length; i++) { + //this.VideoPhotoData.whiteList[i].disabled = true + this.$set(this.BaseManageData.whiteList[i], "disabled", true); + } + } + if (this.BaseManageData.selectBlacks.length == 0) { + for (let i = 0; i < this.BaseManageData.whiteList.length; i++) { + //this.VideoPhotoData.whiteList[i].disabled = false + this.$set(this.BaseManageData.whiteList[i], "disabled", false); + } + } + if (this.BaseManageData.selectWhites.length > 0) { + for (let i = 0; i < this.BaseManageData.blackList.length; i++) { + // this.VideoPhotoData.blackList[i].disabled = true + this.$set(this.BaseManageData.blackList[i], "disabled", true); + } + } + if (this.BaseManageData.selectWhites.length == 0) { + for (let i = 0; i < this.BaseManageData.blackList.length; i++) { + //this.VideoPhotoData.blackList[i].disabled = false + this.$set(this.BaseManageData.blackList[i], "disabled", false); + } + } + }, + tosearch(item) { + var curWwwPath = window.document.location.href; + var pathname = window.document.location.pathname; + var pos = curWwwPath.indexOf(pathname); + var localhostPath = curWwwPath.substring(0, pos); //ip+port + var href = localhostPath + "/Layout/Searching"; + let captureId = item.id == "" ? item.personId : item.id; + var url = item.personPicUrl ? item.personPicUrl : item.personPicUrl; + var compType = 0; + window.open( + href + + "?showType=findByPic&targetId=" + + captureId + + "&picSmUrl=" + + url + + "&compType=" + + compType + ); + }, + async platesBatch() { + var temp = this.plates.split(/[\n,]/g); + var reg = /[浜触娌笣鍐�璞簯杈介粦婀樼殩椴佹柊鑻忔禉璧i剛妗傜敇鏅嬭挋闄曞悏闂借吹绮ら潚钘忓窛瀹佺惣浣块]{1}[A-Z]{1}[A-Z0-9]{5,6}/; + for (let i = 0; i < temp.length; i++) { + if (temp[i] == "") { + temp.splice(i, 1); + i--; + } else { + if (!reg.test(temp[i])) { + this.$notify({ + type: "error", + message: "杞︾墝鍙�:" + temp[i] + "涓嶇鍚堣鍒欙紝璇锋鏌�!", + }); + return; + } + } + } + if (temp.length == 0) { + this.$notify({ + type: "error", + message: "璇疯緭鍏ヨ溅鐗屽彿", + }); + return; + } + let param = { + tableId: this.baseObject.id, + carNos: temp, + }; + let resp = await plateBatch(param); + if (resp && resp.success) { + // 鍒锋柊car鍒楄〃 + this.$notify({ + type: "success", + message: resp.msg, + }); + this.getCarList(); + this.addBatchDrawer = false; + } else { + this.$notify({ + type: "error", + message: resp.msg, + }); + } + }, + submitCar() { + this.$refs["formForCar"].validate(async (valid) => { + if (valid) { + let { ...json } = this.form; + json.carPicUrls = ""; + for (let index in json.carUrls) { + if (index == 0) { + json.carPicUrls += json.carUrls[index].url.substring(11); + } else { + json.carPicUrls += ";" + json.carUrls[index].url.substring(11); + } + } + if (!this.checkCarNo(json.carNo)) { + this.$notify({ + type: "warning", + message: "璇疯緭鍏ユ纭殑杞︾墝鍙�", + }); + return; + } + json.carColor = parseInt(json.carColor); + json.carType = parseInt(json.carType); + json.carBrand = parseInt(json.carBrand); + json.personPicUrl = json.faceUrl[0].url.substring(11); + json.tableId = this.baseObject.id; + delete json["compareScore"]; + let res; + if (json.id == "") { + res = await addBaseCar(json); + } else { + res = await updateBaseCar(json); + } + if (res.success) { + this.$notify({ + type: "success", + message: "淇濆瓨鎴愬姛", + }); + this.getCarList(); + this.addDrawer = false; + } else { + this.$notify({ + type: "error", + message: res.msg, + }); + } + } else { + return false; + } + }); + }, + copyClick(row) { + this.BaseManageData.personId = row.id; + this.copyVisiabled = true; + }, + moveClick(row) { + this.BaseManageData.personId = row.id; + this.moveVisiabled = true; + }, + copyClose() { + this.copyVisiabled = false; + this.BaseManageData.personId = ""; + this.BaseManageData.selectBlacks = []; + this.BaseManageData.selectWhites = []; + }, + moveClose() { + this.moveVisiabled = false; + this.BaseManageData.personId = ""; + this.BaseManageData.selectBlacks = []; + this.BaseManageData.selectWhites = []; + }, + copySubmit() { + if ( + this.BaseManageData.selectBlacks.length === 0 && + this.BaseManageData.selectWhites.length === 0 + ) { + this.$notify({ + title: "娉ㄦ剰", + message: "璇烽�夋嫨瑕佸鍒跺埌鐨勫簱", + type: "warning", + }); + return; + } + var resp = this.BaseManageData.copyTo(); + resp.then((data) => { + if (data.success) { + this.$notify({ + title: "鎴愬姛", + message: data.data, + type: "success", + }); + } else { + this.$notify({ + title: "澶辫触", + message: data.data, + type: "error", + }); + } + }); + this.copyVisiabled = false; + this.BaseManageData.personId = ""; + this.BaseManageData.selectBlacks = []; + this.BaseManageData.selectWhites = []; + }, + getDataName: (dataList, key) => { + let name = ""; + if (Array.isArray(dataList) && dataList.length > 0) { + for (let i = 0; i < dataList.length; i++) { + if (dataList[i].value == key) { + name = dataList[i].name; + } + } + } + return name; + }, + moveSubmit() { + if ( + this.BaseManageData.selectBlacks.length === 0 && + this.BaseManageData.selectWhites.length === 0 + ) { + this.$notify({ + title: "娉ㄦ剰", + message: "璇烽�夋嫨瑕佺Щ鍔ㄥ埌鐨勫簱", + type: "warning", + }); + return; + } + var resp = this.BaseManageData.moveTo(); + resp.then((data) => { + if (data.success) { + this.$notify({ + title: "鎴愬姛", + message: data.data, + type: "success", + }); + } else { + this.$notify({ + title: "澶辫触", + message: data.data, + type: "error", + }); + } + this.moveVisiabled = false; + this.BaseManageData.personId = ""; + this.BaseManageData.selectBlacks = []; + this.BaseManageData.selectWhites = []; + this.BaseManageData.queryPersonList(); + }); + }, + setLoadSearch(fn) { + this.AuthData.setLoading("multipleTable", this); + fn.then((_) => { + this.AuthData.closeLoad(); + }); + }, + }, }; </script> <style lang="scss"> @@ -1236,9 +1514,6 @@ max-width: none; font-size: 14px; color: #606266; - thead { - background: green !important; - } } .avatar-uploader:hover { .mask1 { @@ -1247,8 +1522,8 @@ } .mask1 { position: absolute; - width: 150px; - height: 150px; + width: 100px; + height: 100px; background: rgba(0, 0, 0, 0.35); backdrop-filter: blur(1px) brightness(100%); text-align: center; @@ -1257,8 +1532,7 @@ display: none; } .table-parent { - // position: relative; - height: 90%; + height: 100%; overflow: visible !important; .picture { .el-carousel__item { @@ -1291,16 +1565,72 @@ height: 25px; } } - .el-drawer.ltr, - .el-drawer.rtl { - width: 27% !important; - height: 90%; - top: 9%; + .el-drawer.add-car { + width: 380px; .el-drawer__header { - border-bottom: 2px solid #eee; - padding-bottom: 10px; - font-size: 16px; - margin-bottom: 0px; + margin-bottom: 0; + padding: 20px; + box-shadow: 0px 2px 4px rgb(0 0 0 / 8%); + font-size: 14px; + } + .el-drawer__body { + .uploadLine { + padding-left: 10px; + + .el-upload-list--picture-card .el-upload-list__item { + background-color: #fff; + border: 2px solid #d4d6d9; + border-radius: 8px; + width: 100px; + height: 100px; + } + .el-upload--picture-card { + background-color: #fff; + border: 2px solid #d4d6d9; + border-radius: 8px; + width: 100px; + height: 100px; + line-height: 100px; + } + .car-text { + color: #999999; + font-size: 14px; + line-height: 20px; + text-align: left; + margin-bottom: 5px; + } + .car-picture { + margin-bottom: 20px; + & > div { + display: flex; + } + } + .person-picture { + margin-bottom: 20px; + & > div { + display: flex; + } + } + } + .el-select { + width: 100%; + } + .el-radio-group { + width: 100%; + text-align: left; + } + .el-form-item { + margin-bottom: 18px; + } + } + } + .el-drawer.upload-pai { + width: 380px; + .el-drawer__header { + margin-bottom: 0; + padding: 20px; + box-shadow: 0px 2px 4px rgb(0 0 0 / 8%); + font-size: 14px; } } } @@ -1313,7 +1643,38 @@ .border-tabl { border: 1px solid #ebeef5; border-bottom: none; - // border-bottom: none; + height: calc(100% - 100px); + overflow: auto; + .tableBox { + border: none; + &::before, + &::after { + display: none; + } + .el-table--border .el-table__cell, + .el-table__body-wrapper + .el-table--border.is-scrolling-left + ~ .el-table__fixed { + border-right: none; + } + td { + border: none; + } + } + .head-search { + .desc { + min-width: fit-content; + margin-right: 20px; + } + .right-group { + .iconshangchuanchepai-09:hover, + .icontianjiacheliang-09:hover { + border: 1px solid var(--colorCard); + background: var(--colorCard); + color: #fff; + } + } + } } .el-dialog__header { padding: 20px 0 10px; @@ -1333,9 +1694,9 @@ font-size: 14px; word-break: break-all; } -.dialog-footer { - text-align: center; -} +// .dialog-footer { +// text-align: center; +// } .comfirm-class-sure { background: #f53d3d; border-radius: 2px; @@ -1365,163 +1726,154 @@ padding-left: 8px !important; padding-right: 0px !important; } -.addToBase1 { - width: 98%; - height: 350px; - position: relative; - .topLabel { - margin-top: 20px; - height: 40px; - border-bottom: 1px solid #eee; - font-family: PingFangSC-Medium; - font-size: 20px; - font-weight: 600; - line-height: 1rem; - color: #222222; - text-align: left; - margin-left: 15px; + +// .copy, +// .move { +// .el-dialog__body { +// padding: 0px !important; +// } +// } + +.el-dialog.copy-dialog { + width: 550px; + border-radius: 24px; + .el-dialog__header { + text-align: center; } - .items { - width: 100%; - height: auto; - max-height: 35%; - overflow-y: auto; - margin: 20px 0px; - .lable { - width: 15%; - margin-top: 10px; - float: left; - //font-family: PingFangSC-Medium; + .el-dialog__headerbtn .el-dialog__close { + color: #999999; + font-size: 20px; + } + .el-dialog__title { + line-height: 22px; + font-size: 16px; + color: #5f5f5f; + } + .el-dialog__body { + padding: 20px 15px; + color: #5f5f5f; + } + .dialog-footer { + // width: 315px; + .el-button--info { + color: #999999; + background: #fff; + padding: 9px 37px; font-size: 14px; - font-weight: 600; + border: 1px solid #999999; + border-radius: 18px; + width: 150px; } - .baseList { - width: 85%; - height: 100%; - float: left; - .base { - width: calc(33% - 10px); - padding: 0px 5px; - line-height: 30px; - float: left; + .el-button--primary { + background: var(--colorCard) !important; + padding: 9px 37px; + color: #fff; + border: 1px solidvar(--colorCard) !important; + border-radius: 18px; + font-size: 14px; + width: 150px; + } + } + .addToBase1 { + position: relative; + .topLabel { + margin-top: 20px; + height: 40px; + border-bottom: 1px solid #eee; + font-family: PingFangSC-Medium; + font-size: 20px; + font-weight: 600; + line-height: 1rem; + color: #222222; + text-align: left; + margin-left: 15px; + } + .items { + width: 100%; + min-height: 150px; + margin-bottom: 10px; + .lable { + font-size: 16px; + font-weight: bold; text-align: left; - font-size: 12px !important; - .el-checkbox { - width: 100%; - display: block; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - .el-checkbox__label { - display: inline !important; + margin-bottom: 10px; + } + .baseList { + height: 100%; + overflow: auto; + .base { + width: 152px; + padding: 5px 5px 5px 10px; + line-height: 30px; + box-sizing: border-box; + float: left; + text-align: left; + background: #eff1f5; + border-radius: 8px; + margin: 0 10px; + margin-bottom: 10px; + .el-checkbox__input.is-checked .el-checkbox__inner { + background-color: var(--colorCard); + border-color: var(--colorCard); } + .el-checkbox { + width: 100%; + display: block; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + .el-checkbox__label { + display: inline !important; + padding-left: 6px; + line-height: 20px; + color: #5f5f5f; + } + } + } + .white-wrap { + background: #ffffff; + box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.16); } } } - } -} -.copy, -.move { - .el-dialog__body { - padding: 0px !important; } } .avatar-uploader { - max-width: 150px; - min-width: 150px; - min-height: 152px; + max-width: 100px; + min-width: 100px; + min-height: 100px; border: 1px solid #eee; } - -.inputWidth { - width: 270px !important; -} -.rightInputWidth { - max-width: 270px; -} - -.el-drawer.ltr, -.el-drawer.rtl { - min-width: 450px; - width: 25% !important; - height: 90%; - min-height: 1100px; - top: 9%; - .el-drawer__header { - border-bottom: 2px solid #eee; - padding-bottom: 10px; - font-size: 16px; - margin-bottom: 0px; - :focus { - outline: 0; +.el-popover.el-popper.popper-caozuo1 { + box-shadow: 0px 0px 10px rgb(0 0 0 / 12%); + border-radius: 8px; + padding: 0; + padding-right: 1px; + & > span { + width: 32px; + height: 32px; + cursor: pointer; + display: inline-block; + text-align: center; + line-height: 32px; + border-radius: 8px; + font-size: 24px; + .iconfont { + font-size: 24px; + } + .iconshanchu-09 { + color: #fe6d68; } } -} - -.drawerSpace { - height: 900px; - margin-bottom: 30px; - overflow-y: scroll; - .uploadLine { - height: 280px; - - .car-picture { - float: left; - margin: 15px; - border: 1px solid #eee; - width: 280px; - height: 260px; - overflow: hidden; - .el-upload--picture-card { - margin: 10px; - width: 110px; - height: 110px; - line-height: 35px; - } - .el-upload-list--picture-card { - .el-upload-list__item { - margin: 10px; - width: 110px; - height: 110px; - img { - object-fit: contain; - } - } - .el-progress--circle { - width: 30px !important; - } - } - } - .person-picture { - float: left; - margin-top: 15px; - width: 120px; - height: 120px; - overflow: hidden; - .el-upload--picture-card { - width: 110px; - height: 110px; - line-height: 35px; - } - .el-upload-list__item { - margin: 10px; - width: 110px; - height: 110px; - img { - object-fit: contain; - } - } - } + & > span:hover { + background: var(--colorCard); + color: #fff; } - .plateAttach { - width: calc(100% -40px); - height: calc(100% -40px); - padding: 20px; - p { - margin-top: 20px; - width: 400px; - line-height: 20px; + & > .del-wrap:hover { + background: #fe6d68; + .iconshanchu-09 { + color: #fff; } } } -- Gitblit v1.8.0