public/index.html
@@ -24,43 +24,44 @@ color: #2c3e50; width: 100%; height: 100%; font-size: 12px; } .el-button--primary:hover, .el-button--primary:focus { background: #2249b4; border-color: #2249b4; } .el-button--warning:hover, .el-button--warning:focus { background: #fd780b; border-color: #fd780b; } .el-button--primary:focus { background: #2249b4; border-color: #2249b4; } .el-button--warning:hover, .el-button--warning:focus { background: #fd780b; border-color: #fd780b; } .el-button--danger:hover, .el-button--danger:focus { background: #d22929; border-color: #d22929; } .el-button--danger:hover, .el-button--danger:focus { background: #d22929; border-color: #d22929; } .el-button--info { color: #222222; } .el-button--info:hover, .el-button--info:focus { background: rgb(190, 190, 190); border-color: rgb(190, 190, 190); } .el-button--info { color: #222222; } .el-button--info:hover, .el-button--info:focus { background: rgb(190, 190, 190); border-color: rgb(190, 190, 190); } .el-button--text:focus, .el-button--text:hover { color: #2249b4; } .el-button--text:focus, .el-button--text:hover { color: #2249b4; } .el-tag.el-tag--info { background-color: #f4f4f5; border-color: #e9e9eb; color: #909399; } body .el-tag.el-tag--info { background-color: #f4f4f5; border-color: #e9e9eb; color: #909399; } /* reset */ html { color: #000; @@ -306,6 +307,35 @@ height: 0; clear: both; } .mb10 { margin-bottom: 10px; } .mt15 { margin-top: 15px; } .el-button--primary { color: #FFFFFF; background-color: #3D68E1!important; border-color: #3D68E1!important; } .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; } */ </style> </head> src/components/LeftNav.vue
@@ -579,6 +579,10 @@ font-size: 20px; padding: 0px 5px; } // .el-input__inner:focus { // outline: none; // border-color: #3D68E1; // } .el-menu { border-right: none; } src/pages/ai/index/App.vue
@@ -221,495 +221,6 @@ </el-tab-pane> </el-tabs> </div> <!-- 算法管理 --> <!-- <div class="right-box" style="width:58%"> <div class="title"> <label>算法管理</label> <el-button size="small" type="primary" @click="addTask" style="float:right">添加任务</el-button> </div> <div id="taskArea" class="width-new-line task-manage-table"> <div v-for="(row, Index) in TaskMange.list2" :key="Index" class="dic-border mb10 width-new-line" > <div class="flex-box" style="height:100%;"> <div class="task-name-google"> <div class="mask" v-if="!row.isSetting"> <el-tooltip content="编辑名称" transition="none" placement="left" popper-class="atooltip" > <i class="iconfont iconbianji1" style="font-size:30px; left:14px; top:30px;" @click="clickSet(row)" ></i> </el-tooltip> <el-tooltip content="删除任务" transition="none" placement="right" popper-class="atooltip" > <i class="iconfont iconshanchu4" style="font-size:30px; color:red; top:30px; left:28px;" @click="clickDel(row, Index)" ></i> </el-tooltip> <el-tooltip :content="`${row.enable ? '关闭任务' : '开启任务'}`" placement="left" popper-class="atooltip" transition="none" style="left: -45px; top: 65px;" > <el-switch :active-value="true" :inactive-value="false" v-model="row.enable" @change="updateTaskStatus(row)" ></el-switch> </el-tooltip> <el-tooltip content="修改图标" transition="none" placement="right" popper-class="atooltip" > <i class="iconfont icontupian1" style="font-size:12px; left:-20px; top:65px;"></i> </el-tooltip> </div> <div class="list-choose-header flex-center"> <span class="iconfont iconrenwu" style="font-size:3rem;color:#fff;"></span> </div> <div class="task-name-div"> <span :title="row.name" v-if="!row.isSetting">{{ row.name }}</span> <el-input size="small" v-model="row.name" v-if="row.isSetting" v-focus :maxlength="15" style="width:120px" @blur="updateTaskName(row)" ></el-input> </div> </div> <div id="child" class="overflow-x"> <draggable :id="row.id" :list="row.child" group="article" filter=".mask" class="dragAreaR flex-box" @start="startRight" @end="endLeft" > <div v-for="(item, index) in row.child" :key="index" :title="item.sdk_name" :class=" item.isSelect ? 'list-choose-item alg-shadow' : 'list-choose-item' " > <div class="mask"> <el-tooltip content="设置" transition="none" placement="top" popper-class="atooltip" > <i class="iconfont iconshezhi" style="font-size:15px; top:43px;" @click="clickSetAlgo(row, item)" ></i> </el-tooltip> <el-tooltip content="删除算法" transition="none" placement="top" popper-class="atooltip" > <i class="iconfont iconshanchu4" style="font-size: 30px; color:red; left:12px;" @click="clickDelSdk(row, item)" ></i> </el-tooltip> </div> <div class style="height:100%;padding: 20px 10px 10px 10px;"> <div class="flex-center" style> <span :class="`iconfont ${item.icon}`" style="font-size:3rem;margin-left:5px;" ></span> </div> <div :class="item.isSelect?'select-color text-css':'task-name text-css'" style >{{ item.sdk_name }}</div> </div> </div> <div style class="tc drag-info flex-center"> <div class="drag-info-text"> <span>拖动算法图标到这里</span> </div> </div> </draggable> </div> </div> <div class v-if="row.isShowSetAlgo"> <div class="b-top"> <div class="flex-box mt10"> <span class="alg-t ml10 mr10 fb">算法配置</span> </div> <div style="border: 1px solid #EBEBEB;"></div> <div> <div class="p5"> <div v-for="(temp, index) in TaskMange.argsList" :key="index" class="p5 ml50"> <el-row :gutter="2"> <el-col :span="4"> <el-select v-model="temp.value1" placeholder="请选择" width="200px" disabled @change="selectChange($event, 'options1', temp)" > <el-option v-for="item in temp.options1" :key="item.id" :label="item.name" :value="item.value" ></el-option> </el-select> </el-col> <el-col :span="4"> <el-select v-model="temp.value2" placeholder="请选择" @change="selectChange($event, 'options2', temp)" > <el-option v-for="item in temp.options2" :key="item.id" :label="item.name" :value="item.value" ></el-option> </el-select> </el-col> <el-col :span="12"> <div v-if="temp.value2 === 'is'"> <el-select v-model="temp.value3" placeholder="请选择" @change="selectChange($event, 'options3', temp)" > <el-option v-for="item in temp.options3" :key="item.id" :label="item.name" :value="item.value" ></el-option> </el-select> </div> <div v-else class="flex-row-left"> <div> <el-input v-model="temp.value3" placeholder="请输入" @blur="valiNum(temp.value3)" ></el-input> </div> <div v-if="temp.unit" class="unit-class"> <span>(单位:{{ temp.unit }})</span> </div> </div> </el-col> </el-row> </div> </div> </div> <div class="flex-row-right" style="margin: 0px 25px 5px 0px;"> <a style="font-family: PingFangSC-Medium;line-height: 32px; font-size: 13px;text-decoration:underline; color: #3D68E1;margin-right: 28px;" @click="getDefault" >恢复默认值</a> <el-button type="info" size="small" class="mb10" @click="cancle(row)">取消</el-button> <el-button type="primary" size="small" class="mr50 mb10" @click="save">保存</el-button> </div> </div> </div> </div> </div> </div>--> </div> <!-- 一般用户可见 --> <div class="common" v-if="!isSuperUser"> <!-- 算法管理 --> <!-- <div class="right-box" style="width:84%;margin:auto 8%"> <div class="title"> <label>算法管理</label> <el-button size="small" type="primary" @click="addTask" style="float:right" v-show="isSuperUser" >添加任务</el-button> </div> <div id="taskArea" class="width-new-line task-manage-table"> <div v-for="(row, Index) in TaskMange.list2" :key="Index" class="dic-border mb10 width-new-line" > <div class="flex-box" style="height:100%;"> <div class="task-name-google"> <div class="mask" v-if="row.isSetting"> <el-tooltip content="编辑名称" transition="none" placement="left" popper-class="atooltip" > <i class="iconfont iconbianji1" style="font-size:30px; left:14px; top:30px;" @click="clickSet(row)" ></i> </el-tooltip> <el-tooltip content="删除任务" transition="none" placement="right" popper-class="atooltip" > <i class="iconfont iconshanchu4" style="font-size:30px; color:red; top:30px; left:28px;" @click="clickDel(row, Index)" ></i> </el-tooltip> <el-tooltip :content="`${row.enable ? '关闭任务' : '开启任务'}`" placement="left" popper-class="atooltip" transition="none" style="left: -45px; top: 65px;" > <el-switch :active-value="true" :inactive-value="false" v-model="row.enable" @change="updateTaskStatus(row)" ></el-switch> </el-tooltip> <el-tooltip content="修改图标" transition="none" placement="right" popper-class="atooltip" > <i class="iconfont icontupian1" style="font-size:12px; left:-20px; top:65px;" ></i> </el-tooltip> </div> <div class="list-choose-header flex-center"> <span class="iconfont iconrenwu" style="font-size:3rem;color:#fff;"></span> </div> <div class="task-name-div"> <span :title="row.name" v-if="!row.isSetting">{{ row.name }}</span> <el-input size="small" v-model="row.name" v-if="row.isSetting" v-focus :maxlength="15" style="width:120px" @blur="updateTaskName(row)" ></el-input> </div> </div> <div id="child" class="overflow-x"> <div :id="row.id" :list="row.child" group="article" filter=".child" class="dragAreaR flex-box" @start="startRight" @end="endLeft" > <div v-for="(item, index) in row.child" :key="index" :title="item.sdk_name" :class=" item.isSelect ? 'list-choose-item alg-shadow' : 'list-choose-item' " > <div class="mask"> <el-tooltip content="设置" transition="none" placement="top" popper-class="atooltip" > <i class="iconfont iconshezhi" style="font-size:15px; top:43px;" @click="clickSetAlgo(row, item)" ></i> </el-tooltip> <el-tooltip content="删除算法" transition="none" placement="top" popper-class="atooltip" v-show="isSuperUser" > <i class="iconfont iconshanchu4" style="font-size: 30px; color:red; left:12px;" @click="clickDelSdk(row, item)" ></i> </el-tooltip> </div> <div class style="height:100%;padding: 20px 10px 10px 10px;"> <div class="flex-center" style> <span :class="`iconfont ${item.icon}`" style="font-size:3rem;margin-left:5px;" ></span> </div> <div :class="item.isSelect?'select-color text-css':'task-name text-css'" style >{{ item.sdk_name }}</div> </div> </div> <div style class="tc drag-info flex-center" v-show="isSuperUser"> <div class="drag-info-text"> <span>拖动算法图标到这里</span> </div> </div> </div> </div> </div> <div class v-if="row.isShowSetAlgo"> <div class="b-top"> <div class="flex-box mt10"> <span class="alg-t ml10 mr10 fb">算法配置</span> </div> <div style="border: 1px solid #EBEBEB;"></div> <div> <div class="p5"> <div v-for="(temp, index) in TaskMange.argsList" :key="index" class="p5 ml50" > <el-row :gutter="2"> <el-col :span="4"> <el-select v-model="temp.value1" placeholder="请选择" width="200px" disabled @change="selectChange($event, 'options1', temp)" > <el-option v-for="item in temp.options1" :key="item.id" :label="item.name" :value="item.value" ></el-option> </el-select> </el-col> <el-col :span="4"> <el-select v-model="temp.value2" placeholder="请选择" disabled @change="selectChange($event, 'options2', temp)" > <el-option v-for="item in temp.options2" :key="item.id" :label="item.name" :value="item.value" ></el-option> </el-select> </el-col> <el-col :span="12"> <div v-if="temp.value2 === 'is'"> <el-select v-model="temp.value3" placeholder="请选择" @change="selectChange($event, 'options3', temp)" > <el-option v-for="item in temp.options3" :key="item.id" :label="item.name" :value="item.value" ></el-option> </el-select> </div> <div v-else class="flex-row-left"> <div> <el-input v-model="temp.value3" placeholder="请输入" :disabled="temp.value1 !== 'score'" @blur="valiNum(temp.value3)" ></el-input> </div> <div v-if="temp.unit" class="unit-class"> <span>(单位:{{ temp.unit }})</span> </div> </div> </el-col> </el-row> </div> </div> </div> <div class="flex-row-right" style="margin: 0px 25px 5px 0px;"> <a style="font-family: PingFangSC-Medium;line-height: 32px; font-size: 13px;text-decoration:underline; color: #3D68E1;margin-right: 28px;" @click="getDefault" v-show="isSuperUser" >恢复默认值</a> <el-button type="info" size="small" class="mb10" @click="cancle(row)">取消</el-button> <el-button type="primary" size="small" class="mr50 mb10" @click="save">保存</el-button> </div> </div> </div> </div> </div> </div>--> </div> </div> </div> @@ -1600,10 +1111,7 @@ .s-task-manage { width: 100% !important; height: 100%; box-sizing: border-box; background-color: rgb(233, 235, 242); padding: 10px; text-align: left; // background-color: #f2f6fc; .s-video-manage-breadcrumb { @@ -1727,7 +1235,6 @@ .left-box { // width: 41%; height: 100%; padding-top: 10px; box-sizing: border-box; // float: left; src/pages/ai/index/main.ts
@@ -1,6 +1,7 @@ import Vue from 'vue' import ElementUI from 'element-ui' import 'element-ui/lib/theme-chalk/index.css' import 'element-ui/lib/theme-chalk/index.css'; import "@/assets/css/element-variables.scss"; import App from './App.vue' Vue.use(ElementUI) src/pages/analysisPower/index/App.vue
@@ -16,7 +16,7 @@ </div> </div> <div class="bottom"> <div class="bottom" :style="{'height':strethTable?'calc(100% - 30px)':'calc(100% - 220px)'}"> <div style="width: 100%;height: 10px;background-color: #E9EBF2;"></div> <div class="content"> <div class="toolBar"> @@ -55,6 +55,7 @@ <el-table :header-cell-style="{background:'#F8F8F8', color: '#222222'}" height="93%" :data="PollData.CameraList" border > @@ -487,7 +488,7 @@ <style lang="scss"> .s-poll-setting { width: 100%; height: 100%; font-size: 14px; position: relative; .top { @@ -501,6 +502,8 @@ width: 80%; height: 82%; float: left; padding-left: 38px; box-sizing: border-box; // @media screen and (min-width: 1280px) and (max-width: 1440px) { // width: 75%; // } @@ -539,7 +542,7 @@ .bottom { //width: calc(100% + 76px); //height: 100%; // height: calc(100% - 220px); //height: calc(100% - 220px); //position: absolute; // top: 220px; //left: -38px; @@ -555,7 +558,7 @@ padding: 20px 38px 38px 38px; box-sizing: border-box; width: 100%; height: 100%; .toolBar { width: 100%; height: 42px; src/pages/cameraAccess/index/App.vue
@@ -84,7 +84,6 @@ padding: 14px; overflow-x: hidden; overflow-y: hidden; cursor: ew-resize; } .resize-bar { width: 310px; src/pages/cameraAccess/index/VideoManage.vue
@@ -286,7 +286,7 @@ } } } .el-tabs__content { .video-tab>.el-tabs__content { width: 100%; margin-top: 52px; //height: calc(100% - 52px); src/pages/desktop/index/App.vue
@@ -21,6 +21,7 @@ components: { Desktop, NotificationCenter, NoticeTip, Tools, ToolsEntry }, mounted() { document.getElementById('app').style.backgroundImage = process.env.VUE_APP_MAIN_URL; let _that = this; src/pages/gb28181/index/main.ts
@@ -1,6 +1,7 @@ import Vue from 'vue' import ElementUI from 'element-ui' import 'element-ui/lib/theme-chalk/index.css' import "@/assets/css/element-variables.scss"; import App from './App.vue' Vue.use(ElementUI) src/pages/index/main.ts
@@ -1,7 +1,6 @@ import Vue from 'vue' import ElementUI from 'element-ui' import 'element-ui/lib/theme-chalk/index.css' import 'element-ui/lib/theme-chalk/index.css'; import "@/assets/css/element-variables.scss"; import "../../assets/css/common.scss" import "../../assets/css/overried.scss" src/pages/library/index/main.ts
@@ -2,8 +2,9 @@ import ElementUI from 'element-ui'; import 'element-ui/lib/theme-chalk/index.css'; import "@/assets/css/element-variables.scss"; import "../../../assets/css/common.scss" import "../../../assets/css/overried.scss" import "../../../assets/css/common.scss" import App from './App.vue' import moment from "moment"; src/pages/search/index/App.vue
@@ -1,13 +1,13 @@ <template> <div class="column"> <div class="column-left" :style="`height:${screenHeight}px;`"> <div class="column-left" > <div class="resize-bar"></div> <div class="resize-line"></div> <div class="resize-save"> <left-nav :appName="'Search'" :height="screenHeight - 40"></left-nav> </div> </div> <div class="column-right" :style="`height:${screenHeight}px;`"> <div class="column-right" > <right-side /> </div> <card-window></card-window> @@ -69,14 +69,14 @@ overflow: hidden; } .column-left { height: inherit; height: 100vh; background-color: #fff; position: relative; float: left; height: 100vh; } .column-right { height: 100%; padding: 16px; height: 100vh; background-color: #eee; box-sizing: border-box; overflow: hidden; src/pages/search/index/Searching.vue
@@ -120,20 +120,8 @@ <b class="clear-searching" @click="clearSearch">重置</b> </p> </div> <div ref="mid" style="height:calc(100% - 72px)"> <!-- <div id="searchMid" class="mid" ref="scrollContain" v-if="!VideoPhotoData.uploadDiaplay"> <Card :class="item.activeObject.id === VideoPhotoData.activeCard ? 'my-active-card' : ''" v-for="(item, index) in VideoPhotoData.cards" :key="index + 'a'" :outHeight="'155px'" :outWidth="cardWidth" :data="item" :showType="showType" @detailsClick="getDetails($event, index)" @addToBase="toAdd" ></Card> </div>--> <div ref="mid" style="height:100%;overflow-y:auto;"> <div id="searchMid" class="mid"> <div class="left-selection" v-if="VideoPhotoData.uploadDiaplay"> <upload-img ref="uploadImg" @labelDisabled="disabled"></upload-img> @@ -155,9 +143,21 @@ @addToBase="toAdd" ></Card> </div> <div class="foot"> <el-pagination :current-page="VideoPhotoData.page" @current-change="changePages" @size-change="sizeChange" :page-sizes="VideoPhotoData.pageSizeOption" :page-size="VideoPhotoData.size" layout="total, sizes, prev, pager, next, jumper" :total="VideoPhotoData.total" ></el-pagination> </div> </div> </div> <div class="foot"> <!-- <div class="foot"> <el-pagination :current-page="VideoPhotoData.page" @current-change="changePages" @@ -167,71 +167,10 @@ layout="total, sizes, prev, pager, next, jumper" :total="VideoPhotoData.total" ></el-pagination> </div> </div> --> </div> </div> <!-- <hsc-window-style-metal class="windown-model"> <hsc-window v-for="(item, index) in CardList.addBaseList" :closeButton="true" @closebuttonclick="closeWindow(index)" :key="index" @update:height="resizeHeight" @update:width="resizeWidth" style="background:white; height:475px" :left="center.x + index * 10" :top="center.y + index * 10" :resizable="true" positionHint="center" :isScrollable="true" :minWidth="662" :minHeight="479" :maxWidth="10000" :maxHeight="7000" :height="defaultHeight" :width="defaultWidth" > <div class="addToBase"> <div class="topLabel">加入底库</div> <div class="items"> <div class="lable"> <p>黑名单 ></p> </div> <div class="baseList"> <el-checkbox-group v-model="VideoPhotoData.selectBlacks" @change="blackAngWhite"> <div class="base" v-for="(item, index) in VideoPhotoData.blackList" :key="index"> <el-checkbox :label="item.value" :title="item.title" :disabled="item.disabled" >{{item.title}}</el-checkbox> </div> </el-checkbox-group> </div> </div> <div class="items"> <div class="lable"> <p>白名单 ></p> </div> <div class="baseList"> <el-checkbox-group v-model="VideoPhotoData.selectWhites" @change="blackAngWhite"> <div class="base" v-for="(item, index) in VideoPhotoData.whiteList" :key="index"> <el-checkbox :label="item.value" :title="item.title" :disabled="item.disabled" >{{item.title}}</el-checkbox> </div> </el-checkbox-group> </div> </div> <div class="buttons"> <el-button type="primary" @click="saveAddBase(item, index)">保存</el-button> <el-button type="default" @click="closeWindow(index)">取消</el-button> </div> </div> </hsc-window> </hsc-window-style-metal>--> </div> </template> @@ -772,8 +711,8 @@ } } .mid { width: 100%; height: 100%; //width: 100%; //height: 100%; padding: 10px; overflow: auto; position: relative; src/pages/search/index/main.ts
@@ -2,8 +2,6 @@ import ElementUI from 'element-ui'; import 'element-ui/lib/theme-chalk/index.css'; import "@/assets/css/element-variables.scss"; import "../../../assets/css/common.scss" import "../../../assets/css/overried.scss" import App from './App.vue' import moment from "moment"; src/pages/settings/components/BasicSetting.vue
@@ -889,6 +889,9 @@ // margin-left: -80px; .el-form-item { text-align: left; &.is-required:not(.is-no-asterisk)>.el-form-item__label:before{ margin-left:-8px; } .el-button { float: right; } @@ -973,7 +976,7 @@ list-style: none; position: relative; margin: 0; padding-left: 0; padding-left: 10px; background-color: #ffffff; .el-submenu__title { height: 35px; src/pages/settings/index/main.ts
@@ -1,6 +1,7 @@ import Vue from 'vue' import ElementUI from 'element-ui' import 'element-ui/lib/theme-chalk/index.css' import 'element-ui/lib/theme-chalk/index.css'; import "@/assets/css/element-variables.scss"; import App from './App.vue' Vue.use(ElementUI) src/pages/syslog/index/main.ts
@@ -1,6 +1,7 @@ import Vue from 'vue' import ElementUI from 'element-ui' import 'element-ui/lib/theme-chalk/index.css' import 'element-ui/lib/theme-chalk/index.css'; import "@/assets/css/element-variables.scss"; import App from './App.vue' Vue.use(ElementUI) src/pages/vindicate/index/main.ts
@@ -1,6 +1,7 @@ import Vue from 'vue' import ElementUI from 'element-ui' import 'element-ui/lib/theme-chalk/index.css' import 'element-ui/lib/theme-chalk/index.css'; import "@/assets/css/element-variables.scss"; import moment from 'moment'; import App from './App.vue' vue.config.js
@@ -7,7 +7,7 @@ pages[chunk] = { entry: path, template: 'public/index.html', title: chunk, title: chunk=='desktop/index'?'SmartAI':chunk, chunks: ['chunk-vendors', 'chunk-common', chunk] } if (chunk != 'index') {