新增vuedraggable package,算力管理摄像机ip排序方法重定义,比对库/数据栈列表size调试
| | |
| | | "vue-js-toggle-button": "^1.3.3", |
| | | "vue-photo-preview": "^1.1.3", |
| | | "vue-qrcode-component": "^2.1.1", |
| | | "vuedraggable": "^2.24.3", |
| | | "vuex": "^3.5.1", |
| | | "xlsx": "^0.16.7" |
| | | }, |
| | |
| | | "keywords": [], |
| | | "author": "", |
| | | "license": "ISC" |
| | | } |
| | | } |
| | |
| | | :cell-style="cellStyle" |
| | | > |
| | | <el-table-column label="序号" type="index" align="center" width="60px"></el-table-column> |
| | | <el-table-column label="摄像机名称" align="center" show-overflow-tooltip sortable> |
| | | <el-table-column label="摄像机名称" align="center" show-overflow-tooltip > |
| | | <template slot-scope="scope"> |
| | | <span |
| | | :style="scope.row.is_running ? `color:#3d68e1` : '' " |
| | |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="摄像机地址" prop="addr" align="center" show-overflow-tooltip sortable></el-table-column> |
| | | <el-table-column label="摄像机IP" prop="ip" align="center" width="130px" sortable></el-table-column> |
| | | <el-table-column label="摄像机类型" align="center" width="120px" sortable> |
| | | <el-table-column label="摄像机IP" prop="ip" align="center" width="130px" sortable :sort-method="ipSortMethod"></el-table-column> |
| | | <el-table-column label="摄像机类型" align="center" width="120px" > |
| | | <template slot-scope="scope"> |
| | | <span>{{scope.row.run_type | cameraType}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="执行算法" align="center" show-overflow-tooltip sortable> |
| | | <el-table-column label="执行算法" align="center" show-overflow-tooltip > |
| | | <template slot-scope="scope"> |
| | | <span v-if="scope.row.run_type === -1 ">-</span> |
| | | <span v-else>{{scope.row.tasks | taskList}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="运行设备" align="center" width="160px"> |
| | | <el-table-column label="运行设备" align="center" width="160px" sortable> |
| | | <template slot-scope="scope"> |
| | | <span v-if="scope.row.run_type === -1 ">-</span> |
| | | <span v-else>{{scope.row.runServerName}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="状态" align="center" show-overflow-tooltip sortable width="100px"> |
| | | <el-table-column label="状态" align="center" show-overflow-tooltip width="100px"> |
| | | <template slot-scope="scope"> |
| | | <span v-if="scope.row.status === -1 ">-</span> |
| | | <span v-else-if="scope.row.status === 2">{{"处理中"}}</span> |
| | |
| | | clearTimeout(this.timeout); |
| | | }, |
| | | methods: { |
| | | ipSortMethod(a,b){ |
| | | console.log(a,b); |
| | | debugger |
| | | if(Number(a.ip.substr(a.ip.lastIndexOf('.')+1)) < Number(b.ip.substr(b.ip.lastIndexOf('.')+1))){ |
| | | return -1; |
| | | } |
| | | if(Number(a.ip.substr(a.ip.lastIndexOf('.')+1)) > Number(b.ip.substr(b.ip.lastIndexOf('.')+1))){ |
| | | return 1; |
| | | } |
| | | return 0; |
| | | }, |
| | | openDrawer() { |
| | | this.initFormData(); |
| | | this.drawer = true; |
| | |
| | | @select="handleSelect" |
| | | @select-all="handleSelect" |
| | | > |
| | | <el-table-column type="selection" width="50" align="center" :selectable="isSelectable"></el-table-column> |
| | | <el-table-column type="selection" align="center" :selectable="isSelectable"></el-table-column> |
| | | <el-table-column prop="name" label="文件名"> |
| | | <template slot-scope="{row}"> |
| | | <div :class="snapshotClass"> |
| | |
| | | >{{row.name}}</a> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="fileSize" label="大小" width="120"> |
| | | <el-table-column prop="fileSize" label="大小" > |
| | | <template slot-scope="scope">{{scope.row.size | readFileSizeUnit}}</template> |
| | | </el-table-column> |
| | | <el-table-column prop="duration" label="时长" show-overflow-tooltip align="center"></el-table-column> |
| | |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleRefrashFileList" |
| | | :current-page="page" |
| | | :page-sizes="[5, 10, 15, 20]" |
| | | :page-sizes="[10, 20, 50, 100]" |
| | | :page-size="size" |
| | | style="position:absolute;right:10px;bottom:5px" |
| | | :total="total" |
| | |
| | | <el-table |
| | | :data="tableRuleList" |
| | | border |
| | | style="width: 100%" |
| | | style="width:100%" |
| | | :cell-style="cellStyle" |
| | | :header-cell-style="{background:'#f8f8f8',color:'#222222'}" |
| | | > |
| | | <el-table-column label="序号" type="index" align="center" width="50"></el-table-column> |
| | | <el-table-column label="序号" type="index" align="center" ></el-table-column> |
| | | <el-table-column |
| | | label="场景名称" |
| | | prop="scene_name" |
| | | width="120" |
| | | |
| | | align="center" |
| | | show-overflow-tooltip |
| | | ></el-table-column> |
| | |
| | | <span v-html="scope.row.group_text"></span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="时间段" prop="time_name" align="center" width="100"></el-table-column> |
| | | <el-table-column label="时间段" prop="time_name" align="center" ></el-table-column> |
| | | <el-table-column label="描述" prop="desc" align="center" min-width="150"></el-table-column> |
| | | <!-- <el-table-column label="状态" align="center" width="90"> |
| | | <template slot-scope="scope"> |
| | | <el-switch v-model="scope.row.defence_state" @change="updateDefence(scope.row)"></el-switch> |
| | | </template> |
| | | </el-table-column>--> |
| | | <el-table-column label="事件等级" align="center" width="120"> |
| | | <el-table-column label="事件等级" align="center" > |
| | | <template slot-scope="scope"> |
| | | <span>{{scope.row.alarm_level | alarmLevel }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="操作" fixed="right" align="center" width="100"> |
| | | <el-table-column label="操作" fixed="right" align="center" > |
| | | <template slot-scope="scope"> |
| | | <el-tooltip content="编辑" :hide-after="700" placement="top" popper-class="atooltip"> |
| | | <i |
| | |
| | | <el-carousel :height="rowSize==3?'600px':'770px'" :autoplay="false" arrow="never">
|
| | | <el-carousel-item v-for="(carousel,index) in carousels" :key="index">
|
| | | <div class="app-list clearFix sdk-list">
|
| | | <!-- <draggable v-model="carousel" @start="drag=true" @end="drag=false"> -->
|
| | | <div v-for="item in carousel" :key="item.id">
|
| | | <div class="app" v-if="item.url" @click="dockClick(item)">
|
| | | <div class="wrap">
|
| | |
| | | </div>
|
| | | </div>
|
| | | </div>
|
| | |
|
| | | <!-- </draggable> -->
|
| | | <!-- <div class="app" v-for="dock in stateDocks" :key="dock.id" @click="dockClick(dock)">
|
| | | <div class="wrap">
|
| | | <div class="app-icon">
|
| | |
| | | </template>
|
| | |
|
| | | <script>
|
| | | import draggable from "vuedraggable"
|
| | | import { findAllSdk } from '@/api/taskMange';
|
| | | export default {
|
| | | name: 'toolsEntry',
|
| | | components: { draggable },
|
| | | data () {
|
| | | return {
|
| | | publicPath: process.env.BASE_URL,
|
| | |
| | | this.badgeNum = upgradeArr.length;
|
| | | let arr = null;
|
| | | //根据屏幕高度来判断是展示3排还是4排 阈值:970
|
| | | if(window.innerHeight >= 930 ){
|
| | | if (window.innerHeight >= 930) {
|
| | | this.rowSize = 4;
|
| | | arr = this.chunk(tempArr, 24);
|
| | | }else{
|
| | | } else {
|
| | | this.rowSize = 3;
|
| | | arr = this.chunk(tempArr, 18);
|
| | | }
|
| | |
| | | </div> |
| | | <div class="pt5" style="height:40px;position:relative"> |
| | | <el-pagination |
| | | @size-change="handleSizeChange" |
| | | @current-change="refrash" |
| | | :current-page="BaseManageData.page" |
| | | :page-size="BaseManageData.size" |
| | | :page-sizes="[10,20,50,100]" |
| | | style="position:absolute;right:10px;bottom:5px" |
| | | layout="total,sizes,prev,pager,next,jumper" |
| | | :total="BaseManageData.total" |
| | | ></el-pagination> |
| | | </div> |
| | |
| | | this.BaseManageData.page = current; |
| | | this.getPersonList(); |
| | | }, |
| | | handleSizeChange(val){ |
| | | //this.pageSize = val; |
| | | this.BaseManageData.size = val; |
| | | this.getPersonList(); |
| | | }, |
| | | handleClick(row) { |
| | | this.form = row; |
| | | this.dialogFormVisible = true; |