From 10727876994cffcd1fc74af114223740fc8825b6 Mon Sep 17 00:00:00 2001 From: ZZJ <zzjdsg2300@163.com> Date: 星期一, 13 十二月 2021 10:44:23 +0800 Subject: [PATCH] Merge branch 'bhomebus' of http://192.168.5.5:10010/r/web/vue-smart-ai into bhomebus --- src/pages/library/components/personList.vue | 1317 +++++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 1,011 insertions(+), 306 deletions(-) diff --git a/src/pages/library/components/personList.vue b/src/pages/library/components/personList.vue index d2569b1..518ae0c 100644 --- a/src/pages/library/components/personList.vue +++ b/src/pages/library/components/personList.vue @@ -36,7 +36,7 @@ <span class="iconfont iconfont-wrap iconshanchuku-09" v-if="isShow('library:set')" - @click.stop="deleteBase" + @click.stop="askDelete('base')" ></span> </el-tooltip> @@ -50,53 +50,7 @@ </div> </div> </el-row> - <!-- <el-row class style="margin: 40px 0 40px 0px"> - <el-col :span="6"> - <el-input - placeholder="濮撳悕/鎬у埆/韬唤璇佸彿/鎵嬫満鍙�" - autocomplete="off" - width="100%" - size="small" - v-model="BaseManageData.contentValue" - @keyup.enter.native="handleSearch" - > - <upload-icon slot="suffix"></upload-icon> - </el-input> - </el-col> - <el-col :span="2"> - <el-button size="small" type="primary" @click="handleSearch" - >鎼滅储</el-button - > - </el-col> - <el-col :offset="11" :span="3"> - <fTemplate authority="library:set"> - <el-button - size="small" - class="ml10" - type="danger" - @click="deleteBatch" - v-if="isShow('library:set')" - >鎵归噺鍒犻櫎</el-button - > - </fTemplate> - </el-col> - <el-col :span="2"> - <div class="text-left"> - <UploadBtn - limitTypes=".jpg,.png,.jpeg" - limitSize - uploadBtntext="涓婁紶鐓х墖" - uploadBtnIcon - v-if="isShow('library:set')" - uploadBtnSize="small" - :isDrag="true" - @addFilesBaBackFN="changeDialog" - @successFN="getUploadResult" - :idJson="{ tableId: baseObject.id }" - /> - </div> - </el-col> - </el-row> --> + <div class="border-tabl"> <div class="head-search"> <div class="desc"> @@ -125,8 +79,7 @@ > <span class="iconfont iconfont-wrap iconpiliangshanchu-09" - title="鍒犻櫎" - @click="deleteBatch" + @click="askDelete('batch')" v-if="isShow('library:set')" ></span> </el-tooltip> @@ -158,9 +111,15 @@ tooltip-effect="dark" style="width: 100%; overflow: auto" :fit="true" + cell-class-name="cell-classname" :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="60" sortable align="center"> @@ -183,13 +142,15 @@ </p> </template> </el-table-column> - <el-table-column label="鐢熸晥鐘舵��" align="center" width="80"> + <el-table-column label="鐢熸晥鐘舵��" align="center" min-width="70"> <template slot-scope="scope"> <el-switch v-model="scope.row.enable" :active-value="1" :disabled="!isShow('library:set')" :inactive-value="0" + active-color="#4E94FF" + inactive-color="#C4C4C4" @change="enable(scope.row)" ></el-switch> </template> @@ -197,7 +158,7 @@ <el-table-column prop="personName" label="濮撳悕" - min-width="90" + min-width="70" show-overflow-tooltip sortable align="center" @@ -205,14 +166,14 @@ <el-table-column prop="sex" label="鎬у埆" - width="70" + min-width="60" sortable align="center" ></el-table-column> <el-table-column prop="idCard" label="韬唤璇佸彿" - min-width="170" + min-width="150" show-overflow-tooltip sortable align="center" @@ -220,7 +181,7 @@ <el-table-column prop="phoneNum" label="鎵嬫満鍙�" - width="110" + min-width="100" show-overflow-tooltip sortable align="center" @@ -229,19 +190,19 @@ prop="monitorLevel" label="绛夌骇" align="center" - width="80" + min-width="50" ></el-table-column> <el-table-column prop="createTime" label="鍏ュ簱鏃堕棿" - width="140" + min-width="140" show-overflow-tooltip sortable align="center" ></el-table-column> <!-- <el-table-column prop="reserved" label="鍏朵粬" align="center"></el-table-column> --> - <el-table-column label="鎿嶄綔" min-width="200" align="center"> + <el-table-column label="鎿嶄綔" min-width="130" align="center"> <template slot-scope="scope"> <fTemplate authority="library:set"> <el-tooltip @@ -250,73 +211,82 @@ popper-class="atooltip" > <span - class="iconfont iconfont-wrap iconbianji" - 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" + <el-popover + placement="left" + trigger="click" + popper-class="popper-caozuo" > + <el-tooltip + content="鏌ユ壘姝や汉" + placement="top" + popper-class="atooltip" + > + <span + class="iconfont iconchazhaociren-09" + @click="tosearch(scope.row)" + ></span> + </el-tooltip> + <el-tooltip + content="鏌ョ湅璇︽儏" + placement="top" + popper-class="atooltip" + > + <span + class="iconfont iconchakanxiangqing-09" + @click="showDetail(scope.row)" + ></span> + </el-tooltip> + <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" class="del-wrap"> + <el-tooltip + content="鍒犻櫎" + placement="top" + popper-class="atooltip" + > + <span + class="iconfont iconshanchu-09" + @click="askDelete('single', scope.row.id)" + ></span> + </el-tooltip> + </fTemplate> <span - class="iconfont iconsousuoren" - @click="tosearch(scope.row)" + slot="reference" + class="iconfont icongengduocaozuo-09" + style="font-size: 24px; cursor: pointer" ></span> - </el-tooltip> - <el-tooltip - content="鏌ョ湅璇︽儏" - placement="top" - popper-class="atooltip" - > - <span - class="iconfont iconsousuoren" - @click="showDetail(scope.row)" - ></span> - </el-tooltip> - <fTemplate authority="library:set"> - <el-tooltip - content="澶嶅埗" - placement="top" - popper-class="atooltip" - > - <span - class="iconfont iconfuzhi" - title="澶嶅埗" - @click="copyClick(scope.row)" - ></span> - </el-tooltip> - </fTemplate> - <fTemplate authority="library:set"> - <el-tooltip - content="绉诲姩" - placement="top" - popper-class="atooltip" - > - <span - class="iconfont iconyidongzhi" - style="font-size: 15px" - title="绉诲姩" - @click="moveClick(scope.row)" - ></span> - </el-tooltip> - </fTemplate> - <fTemplate authority="library:set"> - <el-tooltip - content="鍒犻櫎" - placement="top" - popper-class="atooltip" - > - <span - class="iconfont iconshanchuku-09" - style="color: #e74c3c" - @click="deleteThis(scope.row.id)" - title="鍒犻櫎" - ></span> - </el-tooltip> - </fTemplate> + <!-- @click="handleClick(scope.row)" --> + </el-popover> </template> </el-table-column> </el-table> @@ -347,45 +317,23 @@ title="鎶撴媿璇︽儏" :visible.sync="cameraDetailVisible" okText="纭畾" + custom-class="zhuapai-dialog" > - <div class="top-bar"> - <el-date-picker - size="mini" - @change="timeChange" - v-model="timeRange" - value-format="yyyy-MM-dd HH:mm:ss" - type="datetimerange" - range-separator="鑷�" - start-placeholder="寮�濮嬫椂闂�" - end-placeholder="缁撴潫鏃堕棿" - ></el-date-picker> - <div style="margin: 0 10px; display: flex"> - <span style="width: 68px">鍋滅暀鏃堕暱:</span> - <el-input - size="mini" - style="width: 80px" - v-model.number="reqCameraParams.thresholdTime" - ></el-input - >s - </div> - <el-button size="mini" type="primary" @click="postCameraData" - >鏌ヨ</el-button - > - </div> - <div class="member-info"> - <label class>浜哄憳淇℃伅:</label> + <label class> + <i class="iconfont icongerenxinxi_v" style="font-size: 30px"></i> + </label> <ul> <li> - <span>濮撳悕:</span> + <!-- <span>濮撳悕:</span> --> <span>{{ memberInfo.personName }}</span> </li> <li> - <span>鎬у埆:</span> + <!-- <span>鎬у埆:</span> --> <span>{{ memberInfo.sex }}</span> </li> - <li> - <span>韬唤璇佸彿:</span> + <li style="margin-right: 80px"> + <!-- <span>韬唤璇佸彿:</span> --> <span>{{ memberInfo.idCard }}</span> </li> <li> @@ -395,6 +343,39 @@ </ul> </div> + <div class="top-bar"> + <div style="display: flex"> + <span style="margin-right: 10px">鍋滅暀鏃堕暱</span> + <el-input + size="mini" + style="width: 58px; margin-right: 4px" + v-model.number="reqCameraParams.thresholdTime" + ></el-input + >s + </div> + <div style="display: flex"> + <span style="margin-right: 10px">鏃舵湡</span> + <el-date-picker + size="mini" + popper-class="popper-pick" + @change="timeChange" + v-model="timeRange" + align="center" + value-format="yyyy-MM-dd HH:mm:ss" + type="datetimerange" + range-separator="鑷�" + start-placeholder="寮�濮嬫椂闂�" + end-placeholder="缁撴潫鏃堕棿" + ></el-date-picker> + </div> + + <el-button size="mini" type="primary" @click="postCameraData" + >鏌ヨ</el-button + > + </div> + <p style="text-align: right; font-size: 14px; color: #5f5f5f"> + 鍏眥{ faceDataCount }}鏉℃暟鎹� + </p> <el-table :data="cameraDetailData" border> <el-table-column prop="faceImg" @@ -445,11 +426,17 @@ </template> </el-table-column> </el-table> - <p style="text-align: right; font-size: 14px"> - 鍏眥{ faceDataCount }}鏉℃暟鎹� - </p> + + <div class="bot-btn"> + <el-button + size="mini" + type="primary" + @click="cameraDetailVisible = false" + >鍏抽棴</el-button + > + </div> </el-dialog> - <el-dialog + <!-- <el-dialog title="淇敼淇℃伅" :visible.sync="dialogFormVisible" okText="淇濆瓨" @@ -497,8 +484,8 @@ v-if="`httpImage/` + form.personPicUrl" :src="`/httpImage/` + form.personPicUrl" style=" - max-height: 150px; - width: 150px; + max-height: 100px; + width: 100px; object-fit: contain; background: rgba(0, 0, 0, 0.35); " @@ -659,15 +646,232 @@ >纭� 瀹�</el-button > </div> - </el-dialog> + </el-dialog> --> + <el-drawer title="淇敼淇℃伅" :modal="false" :visible.sync="showInfoDrawer"> + <!-- :before-close="handleClose" --> + <el-form + ref="formForEdit" + :model="form" + label-width="100px" + :rules="rules" + > + <div class="flex-center mb10"> + <el-upload + class="avatar-uploader" + action + :http-request="updateFace" + accept="image/*" + :show-file-list="false" + :on-success="uploadSuccess" + :on-error="uploadError" + > + <div class="mask1"> + <div + slot="trigger" + class="flex-center" + style="position: absolute; top: 70px" + > + <p + style=" + background: rgba(0, 0, 0, 0.35); + width: 100px; + line-height: 30px; + color: #fff; + font-size: 13px; + opacity: 1; + " + > + 鐐瑰嚮淇敼鐓х墖 + </p> + </div> + </div> + <img + v-if="`httpImage/` + form.personPicUrl" + :src="`/httpImage/` + form.personPicUrl" + style=" + max-height: 100px; + width: 100px; + object-fit: contain; + background: rgba(0, 0, 0, 0.35); + " + class="avatar" + /> + </el-upload> + </div> + <el-row> + <el-col :span="20"> + <el-form-item label="ID" style="width: 100%; margin-bottom: 14px"> + <el-input + size="small" + v-model="form.id" + disabled + placeholder="璇疯緭鍏�" + ></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="20"> + <el-form-item + label="鐓х墖鏍囪瘑" + prop="picDesc" + style="width: 100%; margin-bottom: 14px" + > + <el-input + size="small" + v-model="form.picDesc" + placeholder="璇疯緭鍏�" + ></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="20"> + <el-form-item label="濮撳悕" style="width: 100%; margin-bottom: 14px"> + <el-input + size="small" + v-model="form.personName" + placeholder="璇疯緭鍏�" + ></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="20"> + <el-form-item + label="鎬у埆" + prop="sex" + style="width: 100%; margin-bottom: 14px; text-align: left" + > + <el-radio-group v-model="form.sex" class="mt10"> + <el-radio label="鐢�"></el-radio> + <el-radio label="濂�"></el-radio> + </el-radio-group> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="20"> + <el-form-item + label="韬唤璇佸彿" + style="width: 100%; margin-bottom: 14px" + > + <el-input + size="small" + v-model="form.idCard" + placeholder="璇疯緭鍏�" + ></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="20"> + <el-form-item + label="鎵嬫満鍙�" + style="width: 100%; margin-bottom: 14px" + > + <el-input + size="small" + v-model="form.phoneNum" + placeholder="璇疯緭鍏�" + ></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="20"> + <el-form-item + label="浜哄憳绛夌骇" + prop="monitorLevel" + style="width: 100%; margin-bottom: 14px" + > + <el-select + size="small" + v-model="form.monitorLevel" + placeholder="璇烽�夋嫨" + style="width: 100%" + > + <el-option + v-for="item in VideoPhotoData.dictionary.MONITORLEVEL" + :key="item.value" + :label="item.name" + :value="item.value" + ></el-option> + </el-select> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="20"> + <el-form-item + label="鍏ュ簱浣嶇疆" + style="width: 100%; margin-bottom: 14px" + > + <el-input + size="small" + v-model="form.fromServerId" + disabled + placeholder="璇疯緭鍏�" + ></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="20"> + <el-form-item + label="鍏ュ簱鏃堕棿" + style="width: 100%; margin-bottom: 14px" + > + <el-input + size="small" + v-model="form.createTime" + disabled + placeholder="璇疯緭鍏�" + ></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="20"> + <el-form-item label="鍏朵粬" style="width: 100%; margin-bottom: 14px"> + <el-input + size="small" + v-model="form.reserved" + placeholder="璇疯緭鍏�" + ></el-input> + </el-form-item> + </el-col> + </el-row> + </el-form> + <div class="dialog-footer"> + <el-button + size="small" + class="cancel-btn" + @click="handleClose" + type="info" + >鍙� 娑�</el-button + > + <el-button + size="small" + class="sure-btn" + type="primary" + @click="submit()" + >纭� 瀹�</el-button + > + </div> + </el-drawer> <el-dialog - title="鎻愮ず" :visible.sync="dialogVisible" :close="getPersonList" - width="30%" + :center="true" + custom-class="suc-dialog" > <div> - <div class="tl"> + <div class="suc-icon"> + <i class="iconfont iconduigou3"></i> + </div> + <div class="tt">涓婁紶鎴愬姛</div> + <div class="flex-box"> <span>涓婁紶鎴愬姛鐨勬暟閲忥細{{ uploadResult.successList.length }}</span> </div> <div class="flex-box mt10"> @@ -705,20 +909,43 @@ </div> </div> </div> + <span slot="footer" class="dialog-footer"> + <el-button @click="dialogVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="dialogVisible = false" + >纭� 瀹�</el-button + > + </span> </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">纭� 瀹�</el-button> + </span> + </el-dialog> <el-dialog title="澶嶅埗鍒�" :visible.sync="copyVisiabled" okText="淇濆瓨" - width="35%" - class="copy" + custom-class="copy-dialog" cancelText="鍙栨秷" > <div class="addToBase1"> <div class="items" v-if="baseObject.bwType === '1'"> <div class="lable"> - <p>榛戝悕鍗� ></p> + <p>榛戝悕鍗�</p> </div> <div class="baseList"> <el-checkbox-group @@ -742,7 +969,7 @@ </div> <div class="items" v-else> <div class="lable"> - <p>鐧藉悕鍗� ></p> + <p>鐧藉悕鍗�</p> </div> <div class="baseList"> <el-checkbox-group @@ -751,6 +978,11 @@ > <div class="base" + :class=" + BaseManageData.selectWhites.includes(item.value) + ? 'white-wrap' + : '' + " v-for="(item, index) in BaseManageData.whiteList" :key="index" > @@ -777,14 +1009,13 @@ title="绉诲姩鑷�" :visible.sync="moveVisiabled" okText="淇濆瓨" - class="move" - width="35%" + custom-class="copy-dialog" cancelText="鍙栨秷" > <div class="addToBase1"> <div class="items"> <div class="lable"> - <p>榛戝悕鍗� ></p> + <p>榛戝悕鍗�</p> </div> <div class="baseList"> <el-checkbox-group @@ -809,7 +1040,7 @@ </div> <div class="items"> <div class="lable"> - <p>鐧藉悕鍗� ></p> + <p>鐧藉悕鍗�</p> </div> <div class="baseList"> <el-checkbox-group @@ -892,6 +1123,9 @@ idCard: "", reserved: "", }, + showPop: true, + askDeleteShow: false, + toDeleteId: "", reqCameraParams: { startTime: new Date(2020, 7, 25, 8).Format("yyyy-MM-dd HH:mm:ss"), endTime: new Date().Format("yyyy-MM-dd HH:mm:ss"), @@ -914,6 +1148,7 @@ orderName: "createTime", contentValue: "", visible: false, + showInfoDrawer: false, selectedRowKeys: [], form: { id: "", @@ -938,11 +1173,12 @@ ], }, tableData: [], - tableHeight: window.innerHeight - 320, - multipleSelection: [], - peoperLevel: [], + // tableHeight: window.innerHeight - 320, + // multipleSelection: [], + // peoperLevel: [], oldWidth: "", oldHeight: "", + delType: "", faceDataCount: 0, // 涓婁紶鍚庣殑寮规鏄剧ず dialogVisible: false, @@ -965,6 +1201,18 @@ return loginName === "superadmin" || loginName === "basic"; } return false; + }, + delText() { + switch (this.delType) { + case "base": + return ["鍒犻櫎搴曞簱", "纭畾鍒犻櫎璇ュ簳搴擄紵"]; + case "single": + return ["鍒犻櫎浜哄憳", "纭畾鍒犻櫎璇ュ簳搴撲汉鍛橈紵"]; + case "batch": + return ["鎵归噺鍒犻櫎", "纭畾鍒犻櫎璇ュ簳搴撻�変腑浜哄憳锛�"]; + default: + return ["", ""]; + } }, }, methods: { @@ -1007,40 +1255,47 @@ this.$refs.multipleTable.clearSelection(); } }, - deleteThis(id) { + 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); + }, + deleteThis() { let token = sessionStorage.getItem("loginedInfo") && JSON.parse(sessionStorage.getItem("loginedInfo")).access_token; - this.$confirm("鎻愮ず锛氱‘瀹氬垹闄よ搴曞簱浜哄憳锛�", { - center: true, - cancelButtonClass: "comfirm-class-cancle", - confirmButtonClass: "comfirm-class-sure", + + fetch(`/data/api-v/dbperson/deleteDbPersonById?id=${this.toDeleteId}`, { + method: "GET", + headers: { + "Content-Type": "application/json", + Authorization: token, + }, }) - .then((_) => { - fetch(`/data/api-v/dbperson/deleteDbPersonById?id=${id}`, { - method: "GET", - headers: { - "Content-Type": "application/json", - Authorization: token, - }, - }) - .then((res) => { - return res.json(); - }) - .then((data) => { - if (data.success) { - this.$notify({ - type: "success", - message: "璇ヤ汉鍛樺垹闄ゆ垚鍔燂紒", - }); - } - this.getPersonList(); - }) - .catch((err) => { - console.log(err); - }); + .then((res) => { + return res.json(); }) - .catch((_) => {}); + .then((data) => { + if (data.success) { + this.$notify({ + type: "success", + message: "璇ヤ汉鍛樺垹闄ゆ垚鍔燂紒", + }); + } + this.getPersonList(); + }) + .catch((err) => { + console.log(err); + }); }, sayHello() { console.log("hello"); @@ -1085,42 +1340,34 @@ this.$emit("changeShow", this.baseObject, this.syncType); }, deleteBase() { - debugger; - let id = this.baseObject.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/dbtable/deleteDBtablesById?id=${id}`, { - method: "GET", - headers: { - "Content-Type": "application/json", - Authorization: token, - }, + fetch(`/data/api-v/dbtable/deleteDBtablesById?id=${this.baseObject.id}`, { + method: "GET", + headers: { + "Content-Type": "application/json", + Authorization: token, + }, + }) + .then((res) => { + return res.json(); }) - .then((res) => { - return res.json(); - }) - .then((res) => { - if (res.success) { - this.$notify({ - type: "success", - message: "搴曞簱鍒犻櫎鎴愬姛锛�", - }); - } - this.$emit("onDelete"); - }) - .catch((err) => { + .then((res) => { + if (res.success) { this.$notify({ - type: "error", - message: err, + type: "success", + message: "搴曞簱鍒犻櫎鎴愬姛锛�", }); + } + this.$emit("onDelete"); + }) + .catch((err) => { + this.$notify({ + type: "error", + message: err, }); - }); + }); }, async getPersonList() { if (this.baseObject.id && this.baseObject.id !== undefined) { @@ -1137,7 +1384,7 @@ }); }, handleClose() { - this.dialogFormVisible = false; + this.showInfoDrawer = false; }, handleSelectionChange(val) { this.selectedRowKeys = val; @@ -1154,17 +1401,15 @@ }, handleClick(row) { this.form = row; - this.dialogFormVisible = true; + // this.dialogFormVisible = true; + this.showInfoDrawer = 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", @@ -1218,6 +1463,16 @@ handleSearch() { this.getPersonList(); }, + handleDel() { + debugger; + if (this.delType == "single") { + this.deleteThis(); + } else if (this.delType == "base") { + this.deleteBase(); + } else if (this.delType == "batch") { + this.deleteBatch(); + } + }, searchImg() { this.$refs.uploadDrag && this.$refs.uploadDrag.uploadStart(); }, @@ -1229,7 +1484,6 @@ } }, async searchImgList(faceUrl, threshold) { - // console.log("鎼滃浘鍙傛暟", faceUrl, threshold); let json = { tableId: this.baseObject.id, page: this.current, @@ -1240,7 +1494,6 @@ orderName: this.orderName, }; let res = await getPersonByPhoto(json); - // console.log("鍒楄〃鏌ヨ", json); this.tableData = res.data.datalist; this.total = res.data.total; this.compare = true; @@ -1250,7 +1503,6 @@ 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`, @@ -1273,7 +1525,6 @@ console.log("鎹㈣劯澶辫触浜�"); }, deleteBatch() { - // console.log('瑕佸垹闄ょ殑', this.selectedRowKeys.length) if (this.selectedRowKeys.length === 0) { this.$notify({ type: "warning", @@ -1289,9 +1540,7 @@ 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", @@ -1580,7 +1829,39 @@ .table-parent { height: 100%; overflow: visible !important; - + .zhuapai-dialog { + border-radius: 24px; + top: 50%; + min-height: 625px; + .bot-btn { + position: absolute; + bottom: 20px; + left: calc(50% - 75px); + .el-button--mini { + padding: 10px 34px; + font-size: 14px; + background: #4e94ff !important; + border-color: #4e94ff !important; + width: 150px; + border-radius: 18px; + } + } + .el-dialog__body { + padding-top: 0; + } + .el-dialog__header { + box-shadow: 0px 2px 4px rgb(0 0 0 / 8%); + text-align: center; + .el-dialog__title { + line-height: 22px; + font-size: 16px; + color: #5f5f5f; + } + .el-dialog__headerbtn .el-dialog__close { + color: #999999; + } + } + } .base-tip { text-align: left; font-size: 14px; @@ -1660,6 +1941,71 @@ color: #ff3d3b; } } + .el-drawer { + box-shadow: -4px 0px 8px rgb(0 0 0 / 16%); + border-radius: 24px 0px 0px 24px; + min-width: 380px; + .el-drawer__body { + padding: 20px; + .el-input.is-disabled .el-input__inner { + border: 1px solid #d4d6d9; + border-radius: 16px; + background: #edeff2; + color: #bbbbbb; + font-size: 14px; + } + .el-input--small { + font-size: 14px; + .el-input__inner { + border: 1px solid #d4d6d9; + box-sizing: border-box; + border-radius: 16px; + } + } + .el-form-item__label { + color: #999999; + } + .el-form-item__error { + color: #fe6d68; + padding-top: 0px; + left: 15px; + } + .el-form-item.is-required:not(.is-no-asterisk) + > .el-form-item__label:before { + color: #fe6d68; + } + .el-col-20 { + width: 92.3333%; + } + .dialog-footer { + margin-top: 10px; + .sure-btn { + padding: 11px 65px; + font-size: 14px; + border-radius: 18px; + border-color: #4e94ff !important; + background: #4e94ff !important; + color: #fff; + } + .cancel-btn { + padding: 11px 65px; + font-size: 14px; + border-radius: 18px; + background: #ffffff; + border-color: #999999; + color: #999999; + } + } + } + // .move.el-drawer__header { + // padding-bottom: 16px; + // font-size: 16px; + // color: #5f5f5f; + // margin-bottom: 0px; + // box-shadow: 0px 2px 4px rgb(0 0 0 / 8%); + // border-radius: 24px 0px 0px 0px; + // } + } } .text-left { @@ -1677,6 +2023,10 @@ padding: 10px; margin-top: 8px; box-shadow: 0px 0px 6px 1px rgb(143 159 191 / 15%); + .cell-classname { + // background: #ff3d3b; + border-bottom: 1px solid #eff1f5 !important; + } .head-search { font-size: 14px; line-height: 20px; @@ -1706,6 +2056,7 @@ background: #4e94ff !important; border-radius: 0px 18px 18px 0px; border-color: #4e94ff !important; + color: #fff; } .el-input__suffix { top: 6px; @@ -1758,6 +2109,17 @@ font-size: 15px; } } + + .el-table th.el-table__cell > .cell { + background: #f7f8fa; + height: 38px; + line-height: 38px; + } + .el-table td.el-table__cell div { + -webkit-box-sizing: border-box; + box-sizing: border-box; + line-height: inherit; + } ::-webkit-scrollbar-thumb { border-radius: 6px; background-color: #dfdfdf; @@ -1792,7 +2154,6 @@ .el-dialog__header { padding: 20px 0 10px; text-align: left; - -webkit-box-shadow: 0 2px 7px 0 rgba(0, 0, 0, 0.07); box-shadow: 0 2px 7px 0 rgba(0, 0, 0, 0.07); } .el-dialog__title { @@ -1842,66 +2203,59 @@ 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; - } - .items { - width: 100%; - height: auto; - max-height: 35%; - overflow-y: auto; - margin: 20px 0px; - .lable { - width: 15%; - margin-top: 10px; - float: left; - font-size: 14px; - font-weight: 600; - } - .baseList { - width: 85%; - height: 100%; - float: left; - .base { - width: calc(33% - 10px); - padding: 0px 5px; - line-height: 30px; - float: left; - 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; - } - } - } - } - } -} -.copy, -.move { - .el-dialog__body { - padding: 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; +// } +// .items { +// width: 100%; +// height: auto; +// max-height: 35%; +// overflow-y: auto; +// margin: 20px 0px; +// .lable { +// margin-top: 10px; +// font-size: 14px; +// font-weight: 600; +// } +// .baseList { +// height: 100%; +// .base { +// width: 152px; +// padding: 5px 5px; +// line-height: 30px; +// float: left; +// text-align: left; +// font-size: 12px !important; +// background: #eff1f5; +// border-radius: 8px; +// margin-right: 10px; +// .el-checkbox { +// width: 100%; +// display: block; +// overflow: hidden; +// text-overflow: ellipsis; +// white-space: nowrap; +// .el-checkbox__label { +// display: inline !important; +// } +// } +// } +// } +// } +// } .avatar-uploader { margin: auto; @@ -1915,19 +2269,370 @@ justify-content: space-between; align-items: center; line-height: 30px; + margin: 20px 0 10px 0; + + color: #999; + .el-button--mini { + padding: 8px 15px; + font-size: 14px; + border-radius: 3px; + background: #4e94ff !important; + border-radius: 16px; + border-color: #4e94ff !important; + width: 128px; + } + .el-input--mini .el-input__inner { + height: 32px; + line-height: 32px; + border: 1px solid #d4d5d8; + border-radius: 16px; + } + .el-range-editor--mini.el-input__inner { + height: 32px; + border-radius: 16px; + border: 1px solid #d4d5d8; + width: 370px; + } + .el-range-editor--mini .el-range__icon, + .el-range-editor--mini .el-range__close-icon { + line-height: 25px; + } + .el-date-range-picker__time-header > .el-icon-arrow-right { + color: #d4d5d8; + } + .el-range-editor--mini .el-range-separator { + line-height: 32px; + font-size: 12px; + height: 32px; + color: #d4d5d8; + } + .el-range-editor--mini .el-range-input { + font-size: 14px; + } +} +.el-dialog.el-dialog--center.suc-dialog { + border-radius: 24px; + height: 290px; + width: 360px; + .el-dialog__header { + box-shadow: none; + padding: 10px; + } + .el-dialog__headerbtn .el-dialog__close { + color: #999999; + font-size: 20px; + } + .el-dialog__body { + text-align: center; + padding: 0 20px 10px 20px; + } + .suc-icon { + margin-bottom: 20px; + text-align: center; + + .iconfont { + font-size: 40px; + color: #13ce66; + } + } + .dialog-footer { + .el-button--default { + color: #999999; + background: #fff; + padding: 9px 37px; + font-size: 14px; + border: 1px solid #999999; + border-radius: 18px; + width: 150px; + } + .el-button--primary { + background: #4e94ff !important; + padding: 9px 37px; + color: #fff; + border: 1px solid #4e94ff !important; + border-radius: 18px; + font-size: 14px; + width: 150px; + } + } + .tt { + font-weight: bold; + text-align: center; + + font-size: 16px; + line-height: 22px; + color: #5f5f5f; + margin-bottom: 10px; + } + .flex-box { + font-size: 14px; + line-height: 20px; + display: flex; + justify-content: center; + color: #5f5f5f; + } +} +.el-dialog.copy-dialog { + // min-height: 372px; + width: 516px; + border-radius: 24px; + .el-dialog__header { + text-align: center; + } + .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; + color: #5f5f5f; + } + .dialog-footer { + .el-button--info { + color: #999999; + background: #fff; + padding: 9px 37px; + font-size: 14px; + border: 1px solid #999999; + border-radius: 18px; + width: 150px; + } + .el-button--primary { + background: #4e94ff !important; + padding: 9px 37px; + color: #fff; + border: 1px solid #4e94ff !important; + border-radius: 18px; + font-size: 14px; + width: 150px; + } + } + .addToBase1 { + // 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; + } + .items { + width: 100%; + min-height: 150px; + // background: cadetblue; + // overflow-y: auto; + // margin: 20px 0px; + margin-bottom: 20px; + .lable { + // margin-top: 10px; + font-size: 16px; + font-weight: bold; + text-align: left; + margin-bottom: 10px; + } + .baseList { + height: 100%; + .base { + width: 152px; + padding: 5px 5px 5px 10px; + line-height: 30px; + box-sizing: border-box; + float: left; + text-align: left; + // font-size: 12px !important; + background: #eff1f5; + border-radius: 8px; + margin: 0 5px; + .el-checkbox__input.is-checked .el-checkbox__inner { + background-color: #4e94ff; + border-color: #4e94ff; +} + .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); + } + } + } + } +} +.el-dialog.el-dialog--center.del-dialog { + border-radius: 24px; + height: 235px; + width: 360px; + .el-dialog__header { + box-shadow: none; + padding: 10px; + } + .el-dialog__headerbtn .el-dialog__close { + color: #999999; + font-size: 20px; + } + .el-dialog__body { + text-align: center; + padding: 0 20px 10px 20px; + } + .suc-icon { + margin-bottom: 20px; + text-align: center; + + .iconfont { + font-size: 40px; + color: #fe6d68; + } + } + .dialog-footer { + .el-button--default { + color: #999999; + background: #fff; + padding: 9px 37px; + font-size: 14px; + border: 1px solid #999999; + border-radius: 18px; + width: 150px; + } + .el-button--primary { + background: #4e94ff !important; + padding: 9px 37px; + color: #fff; + border: 1px solid #4e94ff !important; + border-radius: 18px; + font-size: 14px; + width: 150px; + } + } + .tt { + font-weight: bold; + text-align: center; + + font-size: 16px; + line-height: 22px; + color: #5f5f5f; + margin-bottom: 10px; + } + .flex-box { + font-size: 14px; + line-height: 20px; + display: flex; + justify-content: center; + color: #5f5f5f; + } } .member-info { - font-size: 13px; - margin: 10px 0; + padding: 20px 0; display: flex; + border-bottom: 1px solid #eff1f5; label { color: #999; - margin-right: 6px; + margin-right: 20px; } ul { display: flex; + align-items: center; li { - margin-right: 8px; + margin-right: 20px; + font-weight: bold; + } + } +} +.el-picker-panel.el-date-range-picker.el-popper.popper-pick { + border-radius: 8px; + .el-input--small .el-input__inner { + border: 1px solid #d4d5d8; + border-radius: 16px; + } + .el-date-range-picker__time-header { + border-bottom: none; + } + .el-picker-panel__footer { + border-top: none; + text-align: center; + padding-bottom: 10px; + border-radius: inherit; + } + .el-date-range-picker .el-picker-panel__content { + margin: 0; + padding: 5px 15px; + } + .el-button--text { + color: #999999; + background: #fff; + padding: 9px 37px; + font-size: 14px; + border: 1px solid #999999; + border-radius: 18px; + } + .el-date-table td.start-date span, + .el-date-table td.end-date span { + background-color: #4e94ff; + } + .el-date-table td.in-range div { + background-color: #4e94ff17; + } + .el-button--default { + background: #4e94ff; + padding: 9px 37px; + color: #fff; + border: 1px solid #4e94ff; + border-radius: 18px; + font-size: 14px; + } +} +.el-popover.el-popper.popper-caozuo { + box-shadow: 0px 0px 10px rgb(0 0 0 / 12%); + border-radius: 8px; + padding: 0; + padding-right: 1px; + // background: olive; + + & > 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; + } + } + & > span:hover { + background: #4e94ff; + color: #fff; + } + & > .del-wrap:hover { + background: #fe6d68; + .iconshanchu-09 { + color: #fff; } } } -- Gitblit v1.8.0