public/images/library/¸öÈËÐÅÏ¢.png
public/images/library/ͬ²½¿â2.png
public/images/library/±¾µØ¿â2.png
public/index.html
@@ -384,29 +384,30 @@ border-color: #3D68E1 !important; } .el-button--primary:hover, /* .el-button--primary:hover, .el-button--primary:focus { background: #2249b4 !important; border-color: #2249b4 !important; } } */ /* .el-input>input,.el-date-editor.el-input__inner{ border-color: #dcdfe6!important; } */ /* .el-date-editor.el-input__inner:focus{ border-color: #2249b4!important; } */ /* .el-input>input:focus{ border-color: #3D68E1!important; } .el-input__inner:focus { outline: none!important; border-color: #3D68E1!important; } */ .el-select-dropdown__list { text-align: left; } .el-notification { padding: 17px 26px 17px 13px !important; align-items: center; } .el-notification .el-notification__content { line-height: 24px; margin: 0; } .el-notification .el-notification__closeBtn { top: 21px; } .el-form-item.is-required:not(.is-no-asterisk)>.el-form-item__label:before { margin-left: -8px !important; margin-right: 0; src/components/searching/UploadIcon.vue
@@ -1,7 +1,6 @@ <template> <div class="uploadIconBox"> <i class="iconfont iconyitusousuo-09" @click="showUpload"></i> <!-- <i class="el-input__icon el-icon-camera-solid" @click="showUpload"></i> --> <SearchLeft v-show="visibile" @closeUpload="showUpload"></SearchLeft> </div> </template> @@ -30,6 +29,10 @@ font-size: 24px; color: rgb(209, 209, 209); cursor: pointer; transition: 0.5s; } i:hover{ color:var(--colorCard); } .left-section1 { border-radius: 8px; src/pages/ai/index/App.vue
@@ -1402,7 +1402,7 @@ min-width: 100px; text-align: end; position: absolute; right: 0; right: 0; width: 120px; margin-top: 2px; } .rocket-icon { src/pages/ai/index/detail.vue
@@ -287,8 +287,8 @@ installedApps: [], storeApps: [], installFile: {}, appUpgreading: true, sdkUpgreading: true, appUpgreading: false, sdkUpgreading: false, autoRefresh: true, productDetailVisible: false, isUpgrading: false, @@ -516,7 +516,6 @@ ); if (obj.progressMsg !== "" && obj.progressMsg !== "å·²å®è£ ") { obj.upgradeLoading = true; this.appUpgreading = true; } @@ -726,7 +725,6 @@ ); if (obj.progressMsg !== "" && obj.progressMsg !== "å·²å®è£ ") { obj.upgradeLoading = true; this.sdkUpgreading = true; } @@ -859,21 +857,20 @@ inputBlur(item) { this.$set(item, "isEdit", false); }, autoRefreshAppAndSdkState() { // å ³éåéåº autoRefreshAppAndSdkState() { this.getAllApps(); this.getAllSdk(); if (!this.autoRefresh) { return; } if (this.appUpgreading) { this.getAllApps(); } if (this.sdkUpgreading) { this.getAllSdk(); } let _this = this; setTimeout(() => { _this.autoRefreshAppAndSdkState(); }, 500); if (this.appUpgreading) { this.getAllApps(); } if (this.sdkUpgreading) { this.getAllSdk(); } }, 1000); }, }, }; src/pages/desktop/index/components/DFrame.vue
@@ -379,7 +379,7 @@ .d-frame-title-content { line-height: 30px; text-align: center; background: #eeeeee; background: #ffffff; } .d-frame-title-content img { src/pages/library/components/addBase.vue
@@ -56,6 +56,7 @@ <el-col :span="11" class> <el-date-picker size="small" popper-class="popper-add" type="datetime" placeholder="éæ©æ¥æ" value-format="yyyy-MM-dd HH:mm:ss" @@ -63,13 +64,6 @@ :picker-options="pickerOptions" style="width: 100%" ></el-date-picker> <!-- <el-checkbox v-model="foreverChecked" @change="forever" class="check-css" >æ°¸ä¹ ææ</el-checkbox > --> <!-- <el-radio v-model="foreverChecked" label="1">å¤é项</el-radio> --> </el-col> <el-col :span="2" class="text-center pick-time"> <span>-</span> @@ -78,6 +72,7 @@ <el-date-picker size="small" class="end-time-pick" popper-class="popper-add" type="datetime" :placeholder="foreverChecked ? 'æ°¸ä¹ ææ' : 'éæ©æ¥æ'" :disabled="foreverChecked" @@ -164,16 +159,6 @@ </el-form-item> </el-col> </el-row> <!-- <el-row> <el-col :span="7" :offset="1"> <el-form-item label="æ¯å¦åæ¥" label-width="80px" style="width:100%;text-align:left" required> <el-radio-group v-model="form.isSync" class> <el-radio label="1">æ¯</el-radio> <el-radio label="0">å¦</el-radio> </el-radio-group> </el-form-item> </el-col> </el-row>--> <el-row class="footer"> <el-button type="info" @@ -228,9 +213,9 @@ }, }, rules: { tableName: [{ required: true, message: "åºåºåç§°ä¸è½ä¸ºç©º" }], tableName: [{ required: true, message: "åºåºåç§°ä¸è½ä¸ºç©º"}], tableType: [{ required: true, message: "åºåºç±»åä¸è½ä¸ºç©º" }], bwType: [{ required: true, message: "é»ç½ååå¿ é" }], bwType: [{ required: true, message: "é»ç½ååå¿ é"}], startTime: [ { required: !this.foreverChecked, message: "è¯·éæ©èµ·å§æ¶é´" }, ], @@ -305,7 +290,6 @@ // idä¸ä¸ºç©ºï¼ä¿®æ¹åºåº this.$refs[formName].validate(async (valid) => { if (valid) { // const { ...json } = this.form let res = await updateBase({ analyServerId: this.form.analyServerId, tableName: this.form.tableName, @@ -390,11 +374,7 @@ init() { if (Object.keys(this.baseObject).length > 3) { this.form = this.baseObject; if (!this.form.endTime) { this.foreverChecked = true; } else { this.foreverChecked = false; } this.foreverChecked = !this.form.endTime } else { this.$refs.baseForm.resetFields(); } @@ -414,11 +394,7 @@ return new Date(dateArray[0], dateArray[1] - 1, dateArray[2]); }, isEmpty(str) { if (!str || str === undefined || str === null) { return true; } else { return false; } return !str || str === undefined || str === null }, dateCompare(dateString, compareDateString) { // dateString:å½åæ¶é´ @@ -453,6 +429,58 @@ }; </script> <style lang="scss"> .el-date-picker.el-popper.popper-add { 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-date-picker__time-header { border-bottom: none; } .el-date-picker__header { margin-bottom: 0; } .el-picker-panel__content { margin-top: 0; } .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: var(--colorCard); } .el-date-table td.in-range div { background-color: var(--colorCard) 17; } .el-button--default { background: var(--colorCard); padding: 9px 37px; color: #fff; border: 1px solidvar(--colorCard); border-radius: 18px; font-size: 14px; } } .add-base-c { background: #ffffff; border-radius: 24px; @@ -480,6 +508,7 @@ } .add-base-form { padding: 30px 20px; .el-form-item__label { color: #999999; } @@ -498,7 +527,7 @@ background: var(--colorCard) !important; padding: 9px 37px; color: #fff; border: 1px solidvar(--colorCard) !important; border: 1px solid var(--colorCard) !important; border-radius: 18px; font-size: 14px; width: 150px; @@ -516,7 +545,6 @@ } .end-time-pick.is-disabled .el-input__inner { background-color: #fff; // border-color: #dfe4ed; cursor: not-allowed; } .el-form-item__content { @@ -532,9 +560,6 @@ .end-time-pick.is-disabled .el-input__inner::placeholder { color: #606266; } // .el-date-editor .el-input__inner { // text-align: center; // } .el-select-dropdown__item.selected { color: var(--colorCard); } @@ -551,8 +576,8 @@ } .el-select-dropdown { border-radius: 8px; box-shadow: 0px 0px 8px rgb(0 0 0 / 16%); left: 0px !important; box-shadow: 0px 0px 8px rgb(0 0 0 / 16%); left: 0px !important; } .el-popper[x-placement^="bottom"] .popper__arrow { top: -7px; @@ -598,10 +623,6 @@ -webkit-box-sizing: border-box; box-sizing: border-box; } // .el-radio__input.is-checked .el-radio__inner { // border-color: #3d68e1; // background: #3d68e1; // } .save { background: var(--colorCard); border-radius: 2px; src/pages/library/components/baseList.vue
@@ -6,14 +6,8 @@ <el-collapse v-model="activeNames"> <el-collapse-item name="1" class="el-collapse-item__wrap"> <template slot="title"> <span :class=" title === '忥åº' ? 'iconfont icontongbuku_v' : 'iconfont iconbendiku_v' " style="font-size: 32px" ></span> <img v-if="title === '忥åº'" src="/images/library/忥åº2.png" alt="" srcset=""> <img v-else src="/images/library/æ¬å°åº2.png" alt="" srcset=""> <span class="m5">{{ title }}</span> <span class="iconfont icontianjiaku-09" @@ -62,6 +56,7 @@ <div class="status-dot" :class="item.enable == 1 ?'status-dot-active':''" :style="item.enable == 1 ? { background: '#4E94FF' } : {}" ></div> </el-col> @@ -85,7 +80,7 @@ </el-collapse-item> <el-collapse-item name="2" class="el-collapse-item__wrap"> <template slot="title"> <span class="iconfont iconbendiku_v" style="font-size: 32px"></span> <img src="/images/library/æ¬å°åº2.png" alt="" srcset=""> <span class="m5">{{ titleB }}</span> <span class="iconfont icontianjiaku-09" @@ -131,6 +126,7 @@ <div class="status-dot" :class="item.enable == 1 ?'status-dot-active':''" :style="item.enable == 1 ? { background: '#4E94FF' } : {}" ></div> </el-col> @@ -148,9 +144,6 @@ <div class="time-end"> {{ item.endTime ? item.endTime : "æ°¸ä¹ ææ" }} </div> <!-- {{ item.startTime }}~{{ item.endTime ? item.endTime : "æ°¸ä¹ ææ" }} --> </el-col> </el-row> </div> @@ -189,13 +182,9 @@ }, methods: { isShow(authority) { if (this.isAdmin) { return true; } else if (this.buttonAuthority.indexOf("," + authority + ",") > -1) { return true; } else { return false; } return ( this.isAdmin || this.buttonAuthority.indexOf("," + authority + ",") > -1 ); }, async init() { await this.BaseManageData.querySyncTables(); @@ -364,7 +353,7 @@ .time-end { color: #e9e9e9; } .status-dot { .status-dot-active { background: #fff !important; } } src/pages/library/components/carList.vue
@@ -12,7 +12,7 @@ >{{ this.baseObject.bwType === "1" ? "é»åå" : "ç½åå" }}</span > <span class="ok-time" >æææ¶é´ï¼{{ this.baseObject.startTime }}--{{ >æææ¶é´ï¼{{ this.baseObject.startTime }} -- {{ this.baseObject.endTime ? this.baseObject.endTime : "æ°¸ä¹ ææ" }}</span > @@ -31,7 +31,8 @@ @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" @@ -297,8 +298,7 @@ @current-change="refrash" :current-page="BaseManageData.page" :page-size="BaseManageData.size" style="margin-top: 10px;" layout="total,sizes,prev,pager,next,jumper" style="margin-top: 10px" :total="BaseManageData.total" ></el-pagination> </div> @@ -510,134 +510,148 @@ title="车è¾ä¿¡æ¯" :modal="false" :destroy-on-close="true" :append-to-body="true" custom-class="add-car" :visible.sync="addDrawer" :direction="direction" :before-close="handleClose1" > <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 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> <el-form ref="formForCar" :model="form" label-width="100px" style="margin-top: 20px; margin-bottom: 50px" :rule="rules" <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="rules" > <el-form-item label="车çå·" prop="carNo"> <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 class="dialog-footer"> <el-button size="small" class="sure-btn" type="primary" @click="submitCar" >ç¡® å®</el-button > <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> <el-button size="small" class="cancel-btn" @click="resetForm" type="info" >å æ¶</el-button > </div> </el-drawer> <el-drawer title="ä¸ä¼ 车ç" :modal="false" :append-to-body="true" :visible.sync="addBatchDrawer" :direction="direction" custom-class="upload-pai" :before-close="handleClose2" > <div class="drawerSpace"> @@ -652,14 +666,30 @@ <p> 车çå·ä»¥éå·æå车é®éå¼ï¼å次æå¤æ¯æ100æ¡ä¸ä¼ ï¼ä¾å¦ï¼äº¬YAB123,京F34Y87 </p> <el-button <!-- <el-button type="primary" @click="platesBatch" style="margin-left: 210px" >ä¿å</el-button > <el-button @click="resetForm('ruleForm')">åæ¶</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> @@ -707,11 +737,6 @@ url: "group2/M00/0A/D7/wKgBnFyjH0-AUE5eAAC8hSMP2Yw110.jpg", }, ], // provinces: [ // { name: "京", value: 1 }, // { name: "æ´¥", value: 2 }, // { name: "å", value: 3 }, // ], copyVisiabled: false, moveVisiabled: false, buttonAuthority: sessionStorage.getItem("buttonAuthoritys") || [], @@ -746,13 +771,11 @@ reserved: "", }, rules: { picDesc: [ { required: true, message: "请è¾å ¥ç §çæ è¯", trigger: "change" }, ], sex: [{ required: true, message: "请å¾éæ§å«", trigger: "change" }], monitorLevel: [ { required: true, message: "è¯·éæ©äººåç级", trigger: "change" }, ], carNo: [{ required: true, message: "请è¾å ¥è½¦çå·", trigger: "change" }], // sex: [{ required: true, message: "请å¾éæ§å«", trigger: "change" }], // monitorLevel: [ // { required: true, message: "è¯·éæ©äººåç级", trigger: "change" }, // ], }, tableData: [], oldWidth: "", @@ -928,13 +951,9 @@ done(); }, isShow(authority) { if (this.isAdmin) { return true; } else if (this.buttonAuthority.indexOf("," + authority + ",") > -1) { return true; } else { return false; } return ( this.isAdmin || this.buttonAuthority.indexOf("," + authority + ",") > -1 ); }, toggleSelection(rows) { if (rows) { @@ -970,7 +989,6 @@ }) .catch((err) => {}); }, // sayHello() {}, getUploadResult(result) { this.uploadResult = result.data; this.dialogVisible = true; @@ -1075,7 +1093,6 @@ return row.compareScore && row.compareScore !== ""; }, async setEnable(item) { debugger; let res = await updateDbTableStatus({ id: item.id, enable: item.enable, @@ -1475,9 +1492,6 @@ max-width: none; font-size: 14px; color: #606266; thead { background: green !important; } } .avatar-uploader:hover { .mask1 { @@ -1529,16 +1543,74 @@ 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; } .el-drawer__body { } } } @@ -1572,9 +1644,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; @@ -1617,98 +1689,5 @@ 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; } } } .drawerSpace { height: calc(100% - 140px); box-sizing: border-box; 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; } } } } .plateAttach { width: calc(100% - 40px); height: calc(100% - 40px); padding: 20px; p { margin-top: 20px; width: 400px; line-height: 20px; } } } </style> src/pages/library/components/personList.vue
@@ -12,7 +12,8 @@ >{{ this.baseObject.bwType === "1" ? "é»åå" : "ç½åå" }}</span > <span class="ok-time" >æææ¶é´ï¼{{ this.baseObject.startTime }}--{{ >æææ¶é´ï¼{{ this.baseObject.startTime }} -- {{ this.baseObject.endTime ? this.baseObject.endTime : "æ°¸ä¹ ææ" }}</span > @@ -31,7 +32,8 @@ @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" @@ -110,7 +112,9 @@ tooltip-effect="dark" style="width: 100%; overflow: auto" :fit="true" row-class-name="hover-row" cell-class-name="cell-classname" @row-click="pickRow" :default-sort="{ prop: 'createTime', order: 'descending' }" @selection-change="handleSelectionChange" :header-cell-style="{ @@ -120,16 +124,8 @@ borderBottom: 'none', }" > <el-table-column type="selection" width="30"></el-table-column> <!-- <el-table-column label="åºå·" width="60" sortable align="center"> <template slot-scope="scope">{{ scope.$index + 1 }}</template> </el-table-column> --> <el-table-column prop="personPicUrl" label="ç §ç" align="center" width="120" > <el-table-column type="selection" width="40"></el-table-column> <el-table-column prop="personPicUrl" label="ç §ç" width="120"> <template slot-scope="scope"> <img :src="'/httpImage/' + scope.row.personPicUrl" @@ -141,7 +137,7 @@ </p> </template> </el-table-column> <el-table-column label="çæç¶æ" align="center" min-width="70"> <el-table-column label="çæç¶æ" min-width="70"> <template slot-scope="scope"> <el-switch v-model="scope.row.enable" @@ -160,14 +156,12 @@ min-width="70" show-overflow-tooltip sortable align="center" ></el-table-column> <el-table-column prop="sex" label="æ§å«" min-width="60" sortable align="center" ></el-table-column> <el-table-column prop="idCard" @@ -175,7 +169,6 @@ min-width="150" show-overflow-tooltip sortable align="center" ></el-table-column> <el-table-column prop="phoneNum" @@ -183,12 +176,10 @@ min-width="100" show-overflow-tooltip sortable align="center" ></el-table-column> <el-table-column prop="monitorLevel" label="ç级" align="center" min-width="50" ></el-table-column> <el-table-column @@ -197,11 +188,8 @@ 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="130" align="center"> <el-table-column label="æä½" min-width="130"> <template slot-scope="scope"> <fTemplate authority="library:set"> <el-tooltip @@ -217,7 +205,7 @@ </el-tooltip> </fTemplate> <el-popover placement="left" placement="top" trigger="click" popper-class="popper-caozuo" > @@ -284,7 +272,6 @@ class="iconfont icongengduocaozuo-09" style="font-size: 24px; cursor: pointer" ></span> <!-- @click="handleClick(scope.row)" --> </el-popover> </template> </el-table-column> @@ -308,19 +295,16 @@ > <div class="member-info"> <label class> <i class="iconfont icongerenxinxi_v" style="font-size: 30px"></i> <img src="/images/library/个人信æ¯.png" alt="" srcset="" /> </label> <ul> <li> <!-- <span>å§å:</span> --> <span>{{ memberInfo.personName }}</span> </li> <li> <!-- <span>æ§å«:</span> --> <span>{{ memberInfo.sex }}</span> </li> <li style="margin-right: 80px"> <!-- <span>身份è¯å·:</span> --> <span>{{ memberInfo.idCard }}</span> </li> <li> @@ -363,7 +347,19 @@ <p style="text-align: right; font-size: 14px; color: #5f5f5f"> å ±{{ faceDataCount }}æ¡æ°æ® </p> <el-table :data="cameraDetailData" border> <el-table :data="cameraDetailData" tooltip-effect="dark" :fit="true" style="width: 100%; overflow: auto" :header-cell-style="{ background: '#fff', color: '#222222', padding: '2px 1px', borderBottom: 'none', }" > <el-table-column prop="faceImg" label="ææå®æ¯" @@ -423,219 +419,7 @@ > </div> </el-dialog> <!-- <el-dialog title="ä¿®æ¹ä¿¡æ¯" :visible.sync="dialogFormVisible" okText="ä¿å" width="30%" :before-close="handleClose" cancelText="åæ¶" > <el-form ref="formForEdit" :model="form" label-width="120px" :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: 120px" > <p style=" background: rgba(0, 0, 0, 0.35); width: 150px; 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: 10px"> <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: 10px" > <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: 10px"> <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: 8px; 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: 10px" > <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: 10px" > <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: 10px" > <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: 10px" > <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: 10px" > <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: 10px"> <el-input size="small" v-model="form.reserved" placeholder="请è¾å ¥" ></el-input> </el-form-item> </el-col> </el-row> </el-form> <div slot="footer" class="dialog-footer"> <el-button size="small" @click="handleClose" type="info" >å æ¶</el-button > <el-button size="small" type="primary" @click="submit()" >ç¡® å®</el-button > </div> </el-dialog> --> <el-drawer title="ä¿®æ¹ä¿¡æ¯" :modal="false" :visible.sync="showInfoDrawer"> <!-- :before-close="handleClose" --> <el-form ref="formForEdit" :model="form" @@ -687,7 +471,7 @@ </div> <el-row> <el-col :span="20"> <el-form-item label="ID" style="width: 100%; margin-bottom: 14px"> <el-form-item label="ID" style="width: 100%; margin-bottom: 20px"> <el-input size="small" v-model="form.id" @@ -702,7 +486,7 @@ <el-form-item label="ç §çæ è¯" prop="picDesc" style="width: 100%; margin-bottom: 14px" style="width: 100%; margin-bottom: 20px" > <el-input size="small" @@ -714,7 +498,7 @@ </el-row> <el-row> <el-col :span="20"> <el-form-item label="å§å" style="width: 100%; margin-bottom: 14px"> <el-form-item label="å§å" style="width: 100%; margin-bottom: 20px"> <el-input size="small" v-model="form.personName" @@ -728,7 +512,7 @@ <el-form-item label="æ§å«" prop="sex" style="width: 100%; margin-bottom: 14px; text-align: left" style="width: 100%; margin-bottom: 20px; text-align: left" > <el-radio-group v-model="form.sex" class="mt10"> <el-radio label="ç·"></el-radio> @@ -741,7 +525,7 @@ <el-col :span="20"> <el-form-item label="身份è¯å·" style="width: 100%; margin-bottom: 14px" style="width: 100%; margin-bottom: 20px" > <el-input size="small" @@ -755,7 +539,7 @@ <el-col :span="20"> <el-form-item label="ææºå·" style="width: 100%; margin-bottom: 14px" style="width: 100%; margin-bottom: 20px" > <el-input size="small" @@ -770,7 +554,7 @@ <el-form-item label="人åç级" prop="monitorLevel" style="width: 100%; margin-bottom: 14px" style="width: 100%; margin-bottom: 20px" > <el-select size="small" @@ -792,7 +576,7 @@ <el-col :span="20"> <el-form-item label="å ¥åºä½ç½®" style="width: 100%; margin-bottom: 14px" style="width: 100%; margin-bottom: 20px" > <el-input size="small" @@ -807,7 +591,7 @@ <el-col :span="20"> <el-form-item label="å ¥åºæ¶é´" style="width: 100%; margin-bottom: 14px" style="width: 100%; margin-bottom: 20px" > <el-input size="small" @@ -820,7 +604,7 @@ </el-row> <el-row> <el-col :span="20"> <el-form-item label="å ¶ä»" style="width: 100%; margin-bottom: 14px"> <el-form-item label="å ¶ä»" style="width: 100%; margin-bottom: 20px"> <el-input size="small" v-model="form.reserved" @@ -943,6 +727,11 @@ class="base" v-for="(item, index) in BaseManageData.blackList" :key="index" :class=" BaseManageData.selectBlacks.includes(item.value) ? 'white-wrap' : '' " > <el-checkbox :label="item.value" @@ -1014,6 +803,11 @@ class="base" v-for="(item, index) in BaseManageData.blackList" :key="index" :class=" BaseManageData.selectBlacks.includes(item.value) ? 'white-wrap' : '' " > <el-checkbox :label="item.value" @@ -1039,6 +833,11 @@ class="base" v-for="(item, index) in BaseManageData.whiteList" :key="index" :class=" BaseManageData.selectWhites.includes(item.value) ? 'white-wrap' : '' " > <el-checkbox :label="item.value" @@ -1068,7 +867,6 @@ } from "@/api/baseLibrary"; import { getCameraFaceData } from "@/api/es"; import axios from "axios"; // import { findByType } from '@/server/video.js' import UploadBtn from "./upload"; import fTemplate from "@/components/fTemplate"; import UploadIcon from "@/components/searching/UploadIcon.vue"; @@ -1120,7 +918,6 @@ }, cameraDetailData: [], cameraDetailVisible: false, dialogFormVisible: false, copyVisiabled: false, moveVisiabled: false, @@ -1151,11 +948,11 @@ }, rules: { picDesc: [ { required: true, message: "请è¾å ¥ç §çæ è¯", trigger: "submit" }, { required: true, message: "请è¾å ¥ç §çæ è¯", trigger: "change" }, ], sex: [{ required: true, message: "请å¾éæ§å«", trigger: "submit" }], sex: [{ required: true, message: "请å¾éæ§å«", trigger: "change" }], monitorLevel: [ { required: true, message: "è¯·éæ©äººåç级", trigger: "submit" }, { required: true, message: "è¯·éæ©äººåç级", trigger: "change" }, ], }, tableData: [], @@ -1221,13 +1018,12 @@ this.cameraDetailVisible = true; }, isShow(authority) { if (this.isAdmin) { return true; } else if (this.buttonAuthority.indexOf("," + authority + ",") > -1) { return true; } else { return false; } return ( this.isAdmin || this.buttonAuthority.indexOf("," + authority + ",") > -1 ); }, pickRow(row, column, event) { this.$refs.multipleTable.toggleRowSelection(row); }, toggleSelection(rows) { if (rows) { @@ -1244,6 +1040,7 @@ this.$notify({ type: "warning", message: "è¯·éæ©è¦å é¤ç人å", duration:1000000, }); return; } @@ -1273,6 +1070,7 @@ type: "success", message: "该人åå 餿åï¼", }); this.askDeleteShow = false; } this.getPersonList(); }) @@ -1374,13 +1172,11 @@ this.getPersonList(); }, handleSizeChange(val) { //this.pageSize = val; this.BaseManageData.size = val; this.getPersonList(); }, handleClick(row) { this.form = row; // this.dialogFormVisible = true; this.showInfoDrawer = true; }, async submit() { @@ -1394,7 +1190,7 @@ type: "success", message: "人åä¿®æ¹æåï¼", }); this.dialogFormVisible = false; this.showInfoDrawer = false; } else { this.$notify({ type: "error", @@ -1532,11 +1328,6 @@ this.BaseManageData.queryPersonList(); } }, // handleRowStyle({ row, rowIndex }) { // if (rowIndex === 0) { // return "background:#222222;"; // } // }, blackAngWhite() { if (this.BaseManageData.selectBlacks.length > 0) { for (let i = 0; i < this.BaseManageData.whiteList.length; i++) { @@ -1750,9 +1541,6 @@ max-width: none; font-size: 14px; color: #606266; thead { background: green !important; } } .avatar-uploader:hover { .mask1 { @@ -1792,6 +1580,25 @@ } .el-dialog__body { padding-top: 0; .el-table::before { visibility: hidden; } .el-checkbox__input.is-indeterminate .el-checkbox__inner { background-color: var(--colorCard); border-color: var(--colorCard); } .el-checkbox__input.is-checked .el-checkbox__inner { background-color: var(--colorCard); border-color: var(--colorCard); } .el-table th.el-table__cell > .cell { background: #f7f8fa; height: 38px; line-height: 38px; } .el-table__body tr.hover-row > td.el-table__cell { background-color: #ffffff !important; } } .el-dialog__header { box-shadow: 0px 2px 4px rgb(0 0 0 / 8%); @@ -1831,20 +1638,40 @@ display: flex; align-items: center; cursor: pointer; .shutiao { width: 1.73px; height: 8.67px; background: var(--colorCard); border-radius: 1px; position: absolute; right: 125px; transition: 0.5s; } .shutiao1 { width: 1.73px; height: 8.67px; background: #bbbbbb; border-radius: 1px; position: absolute; right: 153px; transform: rotate(90deg); transition: 0.5s; } .el-switch__core { height: 26px; border-radius: 18px; } .el-switch__core:after { width: 22px; height: 22px; width: 20px; height: 20px; top: 2px; } .el-switch.is-checked .el-switch__core::after { margin-left: -22px; } .iconshanchuku-09 { color: #fe6d68; // margin-right: 10px; } .iconshanchuku-09:hover { background: #fe6d68; @@ -1855,7 +1682,7 @@ color: rgb(102, 102, 102); } .iconbianjiku-09:hover { border: 1px solidvar(--colorCard); border: 1px solid var(--colorCard); background: var(--colorCard); color: #fff; } @@ -1889,6 +1716,14 @@ box-shadow: -4px 0px 8px rgb(0 0 0 / 16%); border-radius: 24px 0px 0px 24px; min-width: 380px; .el-drawer__header > :first-child { font-size: 16px; } .el-drawer__header { padding: 15px 20px; box-shadow: 0px 2px 4px rgb(0 0 0 / 8%); margin-bottom: 0; } .el-drawer__body { padding: 20px; .el-input.is-disabled .el-input__inner { @@ -1898,11 +1733,24 @@ color: #bbbbbb; font-size: 14px; } .el-form-item.is-error .el-input__inner, .el-form-item.is-error .el-input__inner:focus, .el-form-item.is-error .el-textarea__inner, .el-form-item.is-error .el-textarea__inner:focus, .el-message-box__input input.invalid, .el-message-box__input input.invalid:focus { border-color: #f56c6c; } .el-radio__input.is-checked .el-radio__inner { border-color: var(--colorCard); background: var(--colorCard); } .el-form-item__label { line-height: 32px; } .el-form-item__content { line-height: 32px; } .el-input--small { font-size: 14px; .el-input__inner { @@ -1946,22 +1794,14 @@ } } } // .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 { .el-upload-list { display: none; } } .border-tabl { border: 1px solid #ebeef5; border-bottom: none; @@ -1973,7 +1813,7 @@ margin-top: 8px; box-shadow: 0px 0px 6px 1px rgb(143 159 191 / 15%); .cell-classname { border-bottom: 1px solid #eff1f5 !important; background-color: #ffffff; } .head-search { font-size: 14px; @@ -1990,8 +1830,6 @@ } .iconpiliangshanchu-09 { color: #fe6d68; // margin-right: 10px; // margin-left: 20px; } .iconpiliangshanchu-09:hover { background: #fe6d68; @@ -2000,12 +1838,18 @@ } .el-button--small { padding: 8px 45px; position: relative; font-size: 14px; background: var(--colorCard) !important; border-radius: 0px 18px 18px 0px; border-color: var(--colorCard) !important; color: #fff; margin-right: 10px; } .el-button--small:hover { // background: "rgba(#{var(--colorCard-rgb)},10%) !important" ; filter: brightness(92%); } .el-input__suffix { top: 6px; @@ -2023,6 +1867,9 @@ line-height: 20px; color: #bbbbbb; } } .el-input--small .el-input__inner:focus { border: 1px solid var(--colorCard); } // .compearValue .compearValue { @@ -2073,6 +1920,33 @@ background: #f7f8fa; height: 38px; line-height: 38px; } .el-table__body tr.hover-row > td.el-table__cell { background-color: #ffffff !important; } .hover-row { cursor: pointer; } .hover-row:hover { td { background-color: #fff; border-top: 1px solid var(--colorCard); border-bottom: 1px solid var(--colorCard); &:first-child { background-color: #fff; border-radius: 20px 0 0 20px; border-left: 1px solid var(--colorCard); border-bottom: 1px solid var(--colorCard); } &:last-child { border-radius: 0 20px 20px 0; background-color: #fff; border-right: 1px solid var(--colorCard); border-bottom: 1px solid var(--colorCard); } } } .el-table td.el-table__cell div { -webkit-box-sizing: border-box; @@ -2280,7 +2154,6 @@ } } .el-dialog.copy-dialog { // min-height: 372px; width: 516px; border-radius: 24px; .el-dialog__header { @@ -2296,7 +2169,7 @@ color: #5f5f5f; } .el-dialog__body { padding: 20px; padding: 20px 15px; color: #5f5f5f; } .dialog-footer { @@ -2320,7 +2193,6 @@ } } .addToBase1 { // height: 350px; position: relative; .topLabel { margin-top: 20px; @@ -2337,12 +2209,8 @@ .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; @@ -2357,10 +2225,10 @@ box-sizing: border-box; float: left; text-align: left; // font-size: 12px !important; background: #eff1f5; border-radius: 8px; margin: 0 5px; margin: 0 10px; margin-bottom: 10px; .el-checkbox__input.is-checked .el-checkbox__inner { background-color: var(--colorCard); border-color: var(--colorCard); @@ -2466,6 +2334,7 @@ } } } .el-picker-panel.el-date-range-picker.el-popper.popper-pick { border-radius: 8px; .el-input--small .el-input__inner { @@ -2514,8 +2383,6 @@ border-radius: 8px; padding: 0; padding-right: 1px; // background: olive; & > span { width: 32px; height: 32px; src/pages/library/components/upload.vue
@@ -1,15 +1,5 @@ <template> <span class="upload-content pr"> <!-- <el-button type="primary" :loading="upLoadLoading" :size="uploadBtnSize" data-style="slide-down" @click.native="uploadStart" > <i :class="uploadBtnIcon"></i> {{uploadBtntext}} </el-button> --> <span class="iconfont iconfont-wrap iconshangchuantupian-09" @click="uploadStart" @@ -35,24 +25,15 @@ @dragenter="dragenter($event)" @dragleave="dragleave($event)" > <!-- <i class="el-icon-upload text-primary" style="color: rgb(61, 104, 225)" ></i> --> <div class="icon-wrap"> <span class="iconfont iconshangchuantupian-11"></span> </div> <div class="el-upload__text" style="margin-top: 10px" > <div class="el-upload__text" style="margin-top: 10px"> å°æä»¶æå°æ¤å¤æ<span class="text-primary cursor-pointer" >ç¹å»ä¸ä¼ </span > </div> <div class="el-upload__tip text-light" > <div class="el-upload__tip text-light"> {{ limitTypes ? `åªè½ä¸ä¼ ${limitTypes}æä»¶` : "" }}{{ limitSize ? ` æä»¶å¤§å°ä¸è¶ è¿${limitSize}` : "" }} </div> @@ -188,7 +169,6 @@ fileObj && fileObj.name ? "â" + fileObj.name + "â" : "" }å¿ é¡»å°äº` + this.limitSize, }; // this.$notify(msg) return msg; } return "success"; @@ -306,10 +286,6 @@ }); if (res && res.data) { const result = res.data; // this.$notify({ // type: result && result.success ? 'success' : 'error', // message: result.msg // }) this.progressValue = 0; this.showProgress = false; this.$emit("successFN", result); @@ -386,12 +362,7 @@ </script> <style lang="scss" scoped> .upload-img-icon { width: 60px; background-size: 100%; background-repeat: no-repeat; background-position: center; } .upload-progress { width: 96%; position: absolute; @@ -410,6 +381,11 @@ left: 0; display: none; } .iconshangchuantupian-09:hover { border: 1px solid var(--colorCard); background: var(--colorCard); color: #fff; } } .drag-area { position: absolute; @@ -421,7 +397,8 @@ padding: 20px 20px 20px 20px; right: 0; top: 45px; border-radius: 8px; box-sizing: border-box; border-radius: 8px; box-sizing: border-box; box-shadow: 0px 0px 10px rgb(0 0 0 / 12%); .text-center { @@ -436,7 +413,8 @@ color: #bbd2f9; } } .el-upload__tip,.el-upload__text { .el-upload__tip, .el-upload__text { font-size: 12px; line-height: 17px; color: #999999; src/pages/library/index/App.vue
@@ -16,7 +16,7 @@ </div> </div> <div class="bg-white ml20 data-right-box"> <div v-show="showList" style="height: 100%;"> <div v-show="showList" style="height: 100%"> <person-list ref="personList" :baseObject="baseObject" @@ -38,7 +38,7 @@ ref="addBase" :baseObject="baseForEdit" :type="syncType" v-show="!showList" v-if="!showList" @refresh="findBaseSync" @closeAdd="closeAdd" ></add-base> @@ -51,6 +51,26 @@ import addBase from "../components/addBase"; import personList from "../components/personList"; import carList from "../components/carList"; const colorRgb = function (s) { var reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/; var color = s.toLowerCase(); if (reg.test(color)) { if (color.length === 4) { var colorNew = "#"; for (var i = 1; i < 4; i += 1) { colorNew += color.slice(i, i + 1).concat(color.slice(i, i + 1)); } color = colorNew; } var colorChange = []; for (var i = 1; i < 7; i += 2) { colorChange.push(parseInt("0x" + color.slice(i, i + 2))); } return "" + colorChange.join(",") + ""; } else { return color; } }; export default { data() { return { @@ -77,10 +97,10 @@ }; }, methods: { getPersonList(item,type) { getPersonList(item, type) { this.baseObject = item; this.baseForEdit = item; this.syncType = type this.syncType = type; // ç´æ¥è°ç¨åç»ä»¶å·æ°åè¡¨çæ¹æ³ // å¤æè¿æ¯äººååºè¿æ¯è½¦è¾åºï¼å³å®showListçå¼ if (item.tableType == "person") { @@ -103,8 +123,8 @@ this.syncType = type; this.showList = false; }, initBaseList(){ this.$refs.baseSync.init() initBaseList() { this.$refs.baseSync.init(); }, // æ¥è¯¢åæ¥åºåè¡¨æ°æ®\æ¥è¯¢æ¬å°åºåè¡¨æ°æ® findBaseSync() { @@ -130,6 +150,7 @@ mounted() { window.addEventListener("message", (e) => { if (e.data.msg === "changeColor") { const res = colorRgb(e.data.color); document.documentElement.style.setProperty( "--colorCard", `${e.data.color}` @@ -138,9 +159,15 @@ }); }, created() { const color = localStorage.getItem("--colorCard"); let color = localStorage.getItem("--colorCard"); if (color) { document.documentElement.style.setProperty("--colorCard", `${color}`); } else { color = getComputedStyle(document.documentElement).getPropertyValue( "--colorCard" ); const res = colorRgb(color); document.documentElement.style.setProperty("--colorCard-rgb", `${res}`); } }, }; @@ -148,8 +175,22 @@ <style lang="scss" > .s-base-manage { box-sizing: border-box; background-color: #e9ebf2; background-color: #eff1f5; border-top: 1px solid #f1f3f6; height: 100%; .el-table { .cell:empty::before { content: "-"; color: #ccc; } .is-leaf { .cell:empty::before { content: "-"; color: #ccc; } } } .el-collapse { border: none; } src/pages/settings/index/index.vue
@@ -16,11 +16,11 @@ <div class="container-center" v-if="activeIndex == 0"> <div class="account-left" v-if="activeIndex == 0"> <div class="account-list" :class="{'account-list-scroll' :account_list_scroll}" @mouseenter="account_list_scroll = true" @mouseleave="account_list_scroll = false" <div class="account-list" :class="{ 'account-list-scroll': account_list_scroll }" @mouseenter="account_list_scroll = true" @mouseleave="account_list_scroll = false" > <div class="account-card" @@ -77,7 +77,6 @@ <span class="enable" v-if="!showJPGArr" @click="editHeadPic" >ç¼è¾å¤´å</span > </div> </div> <div class="user-desc"> @@ -645,7 +644,7 @@ class="nav-child" @click="openWelcome(i)" @mousedown="mouseDownIndex = i" :class="mouseDownIndex === i? 'nav-child-active':''" :class="mouseDownIndex === i ? 'nav-child-active' : ''" v-for="(item, i) in menuArr" :key="i" > @@ -768,7 +767,6 @@ selectedPic: null, showDayInput: false, timestamp: 0, ajustType: "æå¨æ ¡æ¶", inAccountDetail: false, isChangePw: false, isSetPermission: false, @@ -840,7 +838,7 @@ inputHour: "", inputMin: "", inputSec: "", mouseDownIndex:'', mouseDownIndex: "", inputYrs: "", showInputNickName: false, inputMonth: "", @@ -886,28 +884,25 @@ ], confirmPassword: [{ validator: v4, trigger: "blur" }], }, account_list_scroll: false account_list_scroll: false, }; }, created(){ let color = localStorage.getItem('--colorCard') if(color) { document.documentElement.style.setProperty('--colorCard',`${color}`) } created() { let color = localStorage.getItem("--colorCard"); if (color) { document.documentElement.style.setProperty("--colorCard", `${color}`); } }, beforeDestroy() { clearTimeout(this.clockTimer); clearInterval(this.browserTimer); // if (this.$refs.curPage) { // this.$refs.curPage.removeEventListener("click"); // } }, mounted() { window.addEventListener("message",(e)=>{ if(e.data.msg === 'è¿åç³»ç»è®¾ç½®') { this.showWelcome = true } }) window.addEventListener("message", (e) => { if (e.data.msg === "è¿åç³»ç»è®¾ç½®") { this.showWelcome = true; } }); const menu = getUrlKey("menu"); if (menu) { this.showWelcome = false; @@ -1173,15 +1168,7 @@ } ); }, // flatCheckedArr(arr, res) { // for (const item of arr) { // if (item.selected) res.push(item.id); // if (item.children) this.flatCheckedArr(item.children, res); // } // }, saveAuth() { // let arr = []; // this.flatCheckedArr(this.sysMenus, arr); updataUser({ id: this.activeAccountItem.id, menuIds: this.$refs.treeMenus.getCheckedKeys(), @@ -1499,19 +1486,13 @@ ":" ); }, // changeSwitch(str) { // if (str == "isNtp") { // this.isManual = !this[str]; // } else { // this.isNtp = !this[str]; // } // this.syncType = this.isNtp ? "1" : "2"; // if (this.isManual) this.parseTime(); // }, }, computed: { activeUserRole() { return this.activeAccountItem.sysRoles[0].name; if (this.activeAccountItem.sysRoles&&this.activeAccountItem.sysRoles.length) { return this.activeAccountItem.sysRoles[0].name; } return "æ®éç¨æ·" }, curUserRole() { const info = JSON.parse(sessionStorage.getItem("userInfo")); @@ -1573,7 +1554,7 @@ border-radius: 40px; .search-res { background-color: rgba(255,255,255,.5); background-color: rgba(255, 255, 255, 0.5); } .search-input { font-size: 14px; @@ -1603,29 +1584,30 @@ width: 100%; font-weight: bold; &::-webkit-input-placeholder { /* WebKit browsers */ color: #828282; font-weight: normal; font-size: 14px; &::-webkit-input-placeholder { /* WebKit browsers */ color: #828282; font-weight: normal; font-size: 14px; } &:-moz-placeholder { /* Mozilla Firefox 4 to 18 */ color: #828282; font-weight: normal; font-size: 14px; &:-moz-placeholder { /* Mozilla Firefox 4 to 18 */ color: #828282; font-weight: normal; font-size: 14px; } &::-moz-placeholder { /* Mozilla Firefox 19+ */ color: #828282; font-weight: normal; font-size: 14px; &::-moz-placeholder { /* Mozilla Firefox 19+ */ color: #828282; font-weight: normal; font-size: 14px; } &:-ms-input-placeholder { /* Internet Explorer 10+ */ color: #828282; font-weight: normal; font-size: 14px; } &:-ms-input-placeholder { /* Internet Explorer 10+ */ color: #828282; font-weight: normal; font-size: 14px; } } .el-input__suffix { display: flex; @@ -1654,7 +1636,7 @@ text-align: left; box-sizing: border-box; padding: 0 20px; color: #4F4F4F; color: #4f4f4f; font-size: 14px; cursor: pointer; } @@ -1664,7 +1646,7 @@ text-align: left; box-sizing: border-box; padding: 0 20px; color: #4F4F4F; color: #4f4f4f; font-size: 14px; } .res-bar:hover { @@ -1691,14 +1673,14 @@ justify-content: center; align-items: center; cursor: pointer; border: 2px solid #F2F2F7; border: 2px solid #f2f2f7; &-active { border: 2px solid #4E94FF; border: 2px solid #4e94ff; } &:hover { background: #F2F2F7; background: #f2f2f7; } .child-info { @@ -1718,11 +1700,10 @@ font-size: 16px; font-weight: bold; margin-top: 24px; color: #4F4F4F; color: #4f4f4f; } } } } } .container { @@ -1733,8 +1714,8 @@ flex-basis: auto; box-sizing: border-box; background-color: #fff; color: #4F4F4F; border-top: 2px solid #E1E0E6; color: #4f4f4f; border-top: 2px solid #e1e0e6; overflow-x: hidden; .container-left { height: 100%; @@ -1755,7 +1736,7 @@ .card-text { margin-left: 20px; color: #4F4F4F; color: #4f4f4f; font-weight: bold; font-size: 16px; line-height: 22px; @@ -1806,17 +1787,21 @@ height: calc(85%); overflow: auto; padding-right: 5px; &::-webkit-scrollbar-track, &::-webkit-scrollbar-thumb { visibility: hidden; } &::-webkit-scrollbar { background-color: #fff; } &::-webkit-scrollbar-track, &::-webkit-scrollbar-thumb { visibility: hidden; } &::-webkit-scrollbar { background-color: #fff; } &.account-list-scroll::-webkit-scrollbar-thumb, &.account-list-scroll::-webkit-scrollbar-track { &.account-list-scroll::-webkit-scrollbar-thumb, &.account-list-scroll::-webkit-scrollbar-track { visibility: visible; } &.account-list-scroll::-webkit-scrollbar { background-color: #f5f5f5; } background-color: #f5f5f5; } } .add-account { color: var(--colorCard); @@ -1853,7 +1838,7 @@ height: 19.21px; background: #ffffff; border-radius: 20px; color: #4F4F4F; color: #4f4f4f; transform: scale(0.833333); line-height: 22.21px; span { @@ -1940,7 +1925,7 @@ display: flex; flex-direction: column; align-items: center; color: #4F4F4F; color: #4f4f4f; min-width: 200px; .user-name { margin-bottom: 10px; @@ -2046,7 +2031,7 @@ font-weight: bold; font-size: 16px; line-height: 22px; color: #4F4F4F; color: #4f4f4f; margin-bottom: 40px; height: 28px; display: flex; @@ -2066,7 +2051,7 @@ border-radius: 8px; padding: 0 15px 0 20px; .el-select-dropdown__item { color: #4F4F4F; color: #4f4f4f; height: 32px; font-size: 12px; line-height: 32px; @@ -2094,12 +2079,12 @@ border: 2px solid transparent; border-radius: 20px; height: 32px; line-height: 32px; line-height: 32px; padding: 0 15px; font-size: 14px; font-weight: bold; } .el-input__inner:focus{ .el-input__inner:focus { border: 2px solid var(--colorCard); } .el-input__inner::placeholder { @@ -2111,7 +2096,7 @@ width: 100%; } .el-select .el-input .el-select__caret { color: #4F4F4F; color: #4f4f4f; font-size: 14px; font-weight: 600; } @@ -2135,7 +2120,7 @@ font-size: 15px; } .el-input__clear { color: #4F4F4F; color: #4f4f4f; font-size: 16px; line-height: 48px; } @@ -2154,7 +2139,7 @@ line-height: 48px; font-size: 16px; font-weight: 600; color: #4F4F4F; color: #4f4f4f; height: 48px; background: #fbfaff; border-bottom: 2px solid #f2f2f7; @@ -2276,7 +2261,7 @@ border-radius: 8px; padding: 0 15px 0 20px; .el-select-dropdown__item { color: #4F4F4F; color: #4f4f4f; height: 32px; font-size: 12px; line-height: 32px; @@ -2307,18 +2292,18 @@ } .el-form-item { .el-input__inner { background-color: #ffffff; border: 2px solid transparent; border-radius: 20px; height: 32px; line-height: 32px; padding: 0 15px; font-size: 14px; font-weight: bold; } .el-input__inner:focus{ border: 2px solid var(--colorCard); } background-color: #ffffff; border: 2px solid transparent; border-radius: 20px; height: 32px; line-height: 32px; padding: 0 15px; font-size: 14px; font-weight: bold; } .el-input__inner:focus { border: 2px solid var(--colorCard); } .el-input__inner::placeholder { color: #c0c4cc; font-size: 12px; @@ -2328,7 +2313,7 @@ width: 100%; } .el-select .el-input .el-select__caret { color: #4F4F4F; color: #4f4f4f; font-size: 14px; font-weight: 600; } @@ -2339,7 +2324,7 @@ .datetime-right { .datetime-left { .device-time { color: #4F4F4F; color: #4f4f4f; .title { display: flex; justify-content: center; @@ -2625,36 +2610,35 @@ border: 2px solid transparent; } } } .btns { margin: 0 auto; margin-top: 40px; width: fit-content; display: flex; .cancel { width: 188px; height: 40px; cursor: pointer; border-radius: 25px; background-color: #e0e0e0; line-height: 40px; font-weight: bold; font-size: 16px; margin-right: 12px; } .ok { width: 188px; height: 40px; cursor: pointer; border-radius: 25px; background-color: var(--colorCard); color: #fff; line-height: 40px; font-weight: bold; font-size: 16px; } .btns { margin: 0 auto; margin-top: 40px; width: fit-content; display: flex; .cancel { width: 188px; height: 40px; cursor: pointer; border-radius: 25px; background-color: #e0e0e0; line-height: 40px; font-weight: bold; font-size: 16px; margin-right: 12px; } .ok { width: 188px; height: 40px; cursor: pointer; border-radius: 25px; background-color: var(--colorCard); color: #fff; line-height: 40px; font-weight: bold; font-size: 16px; } } .container-right-for-account { background: #fbfaff; padding: 0;