Commit 4fa416a5 by 潘建波

提交图标文件

1 parent fc2a6ee2
......@@ -32,9 +32,12 @@ export default {
return api.get(`${baseUrl}/api/v1/devconf_fx/devs/${devuid}/vchans/${refid}`); //获取分析流
},
sipSet(devid, userid) {
return api.get(`${baseUrl}/devconf_fx/devs/${devid}/${userid}/sip_server`)
return api.get(`${baseUrl}/devconf_fx/devs/${devid}/${userid}/sip_server`);
},
getStore(params) {
return api.get(`${baseUrl}/api/v1/devconf_fx/store_confs`, params)
return api.get(`${baseUrl}/api/v1/devconf_fx/store_confs`, params);
},
getFreelist(dev_unid, params) {
return api.get(`${baseUrl}/api/v1/devconf_fx/devs/${dev_unid}/fx_devs/free`, params)
}
};
......@@ -13,7 +13,7 @@ export default {
return api.post(urls.editTask(taskid), params);
},
editSubTask(taskid, params) {
return api.post2(urls.setSubTask(taskid), params)
return api.post2(urls.setSubTask(taskid), params);
},
editRoi(taskid, subtaskid, params) {
return api.post(urls.editroi(taskid, subtaskid), params);
......
......@@ -8,7 +8,7 @@ export default {
return `${baseUrl}/api/v1/devconf_fx/tasks/${taskid}`;
},
editroi: (taskid, subtaskid) => {
return `${baseUrl}/api/v1/devconf_fx/tasks/${taskid}/subtasks/${subtaskid}}`; // ROI设置
return `${baseUrl}/api/v1/devconf_fx/tasks/${taskid}/subtasks/${subtaskid}`; // ROI设置
},
alternatestate: (taskid, subtaskid) => {
return `${baseUrl}/api/v1/devconf_fx/tasks/${taskid}/subtask/${subtaskid}/suspend_alternate_task?s=${gitTimer()}`;
......
......@@ -160,6 +160,8 @@ html,body{
}
.nav-tag-box {
line-height: 40px;
height: 40px;
overflow: hidden;
}
.nav-tag-box .el-tag{
border-radius: 0;
......@@ -209,4 +211,7 @@ html,body{
}
.codes-tab-box .el-tabs__item{
width: 112px!important;
}
.is-opend {
background: red;
}
\ No newline at end of file
{
"id": "1565499",
"name": "繁星2.0",
"id": "1592179",
"name": "fanxin_new",
"font_family": "iconfont",
"css_prefix_text": "icon-",
"css_prefix_text": "icon",
"description": "",
"glyphs": [
{
"icon_id": "831114",
"icon_id": "13192442",
"name": "上",
"font_class": "shang",
"unicode": "e611",
"unicode_decimal": 58897
},
{
"icon_id": "13192443",
"name": "下",
"font_class": "xia",
"unicode": "e612",
"unicode_decimal": 58898
},
{
"icon_id": "13192444",
"name": "左",
"font_class": "zuo",
"unicode": "e615",
"unicode_decimal": 58901
},
{
"icon_id": "13192445",
"name": "左下",
"font_class": "zuoxia",
"unicode": "e619",
"unicode_decimal": 58905
},
{
"icon_id": "13192446",
"name": "右下",
"font_class": "youxia",
"unicode": "e61f",
"unicode_decimal": 58911
},
{
"icon_id": "13192447",
"name": "左上",
"font_class": "zuoshang",
"unicode": "e620",
"unicode_decimal": 58912
},
{
"icon_id": "13192448",
"name": " 右",
"font_class": "you",
"unicode": "e621",
"unicode_decimal": 58913
},
{
"icon_id": "13192449",
"name": "右上",
"font_class": "youshang",
"unicode": "e626",
"unicode_decimal": 58918
},
{
"icon_id": "13191358",
"name": "启动",
"font_class": "qidong",
"unicode": "e628",
"unicode_decimal": 58920
},
{
"icon_id": "13191359",
"name": "密码",
"font_class": "mima",
"unicode": "e629",
"unicode_decimal": 58921
},
{
"icon_id": "13191361",
"name": "迁移",
"font_class": "qianyi",
"unicode": "e62a",
"unicode_decimal": 58922
},
{
"icon_id": "13191411",
"name": "用户名",
"font_class": "yonghuming",
"unicode": "e62b",
"unicode_decimal": 58923
},
{
"icon_id": "13191425",
"name": "修 改",
"font_class": "xiugai",
"unicode": "e62c",
"unicode_decimal": 58924
},
{
"icon_id": "13191430",
"name": "修 改 copy",
"font_class": "xiugaicopy",
"unicode": "e62d",
"unicode_decimal": 58925
},
{
"icon_id": "13191446",
"name": "暂停",
"font_class": "zanting",
"unicode": "e62e",
"unicode_decimal": 58926
},
{
"icon_id": "13176280",
"name": "导出",
"font_class": "daochu",
"unicode": "e61a",
"unicode_decimal": 58906
},
{
"icon_id": "13176281",
"name": "重型罐式",
"font_class": "zhongxingguanshi",
"unicode": "e61b",
"unicode_decimal": 58907
},
{
"icon_id": "13176282",
"name": "展示",
"font_class": "zhanshi",
"unicode": "e61c",
"unicode_decimal": 58908
},
{
"icon_id": "13176283",
"name": "导入",
"font_class": "daoru",
"unicode": "e61d",
"unicode_decimal": 58909
},
{
"icon_id": "13176284",
"name": "危险品",
"font_class": "weixianpin",
"unicode": "e61e",
"unicode_decimal": 58910
},
{
"icon_id": "1010109",
"name": "日历",
"font_class": "rili",
"unicode": "e616",
"unicode_decimal": 58902
"icon_id": "13176288",
"name": "运行路数",
"font_class": "yunhanglushu",
"unicode": "e622",
"unicode_decimal": 58914
},
{
"icon_id": "1355658",
"name": "导入",
"font_class": "login",
"icon_id": "13176289",
"name": "开启",
"font_class": "kaiqi",
"unicode": "e623",
"unicode_decimal": 58915
},
{
"icon_id": "13176290",
"name": "icon 选中智能检索",
"font_class": "iconxuanzhongzhinengjiansuo1",
"unicode": "e624",
"unicode_decimal": 58916
},
{
"icon_id": "13176291",
"name": "系统版本",
"font_class": "xitongbanben",
"unicode": "e625",
"unicode_decimal": 58917
},
{
"icon_id": "13176293",
"name": "运行异常",
"font_class": "yunhangyichang",
"unicode": "e627",
"unicode_decimal": 58919
},
{
"icon_id": "13176254",
"name": "icon 选中首页(2)",
"font_class": "iconxuanzhongshouye",
"unicode": "e600",
"unicode_decimal": 58880
},
{
"icon_id": "6237827",
"name": "展示",
"font_class": "zhanshi",
"unicode": "e87a",
"unicode_decimal": 59514
"icon_id": "13176255",
"name": "icon 选中任务管理(1)",
"font_class": "iconxuanzhongrenwuguanli",
"unicode": "e601",
"unicode_decimal": 58881
},
{
"icon_id": "6367958",
"name": "添加",
"font_class": "add-circle-s",
"unicode": "e662",
"unicode_decimal": 58978
"icon_id": "13176256",
"name": "icon 选中资源管理",
"font_class": "iconxuanzhongziyuanguanli",
"unicode": "e602",
"unicode_decimal": 58882
},
{
"icon_id": "7588088",
"name": "播放",
"font_class": "bofang1",
"unicode": "e61c",
"unicode_decimal": 58908
"icon_id": "13176257",
"name": "icon 选中首页(1)",
"font_class": "iconxuanzhongshouye1",
"unicode": "e603",
"unicode_decimal": 58883
},
{
"icon_id": "13176258",
"name": "icon 选中资源管理(1)",
"font_class": "iconxuanzhongziyuanguanli1",
"unicode": "e604",
"unicode_decimal": 58884
},
{
"icon_id": "13176259",
"name": "信息存储",
"font_class": "xinxicunchu",
"unicode": "e605",
"unicode_decimal": 58885
},
{
"icon_id": "7815001",
"name": "播放",
"font_class": "bofang",
"icon_id": "13176260",
"name": "icon 选中系统运维",
"font_class": "iconxuanzhongxitongyunwei",
"unicode": "e606",
"unicode_decimal": 58886
},
{
"icon_id": "13176261",
"name": "icon 选中智能检索(1)",
"font_class": "iconxuanzhongzhinengjiansuo",
"unicode": "e607",
"unicode_decimal": 58887
},
{
"icon_id": "7978614",
"name": "删 除",
"font_class": "detail",
"unicode": "e644",
"unicode_decimal": 58948
"icon_id": "13176262",
"name": "icon 选中任务管理",
"font_class": "iconxuanzhongrenwuguanli1",
"unicode": "e608",
"unicode_decimal": 58888
},
{
"icon_id": "8147570",
"name": "迁移",
"font_class": "Migration",
"unicode": "e664",
"unicode_decimal": 58980
"icon_id": "13176263",
"name": "删 除(1)",
"font_class": "shanchu",
"unicode": "e609",
"unicode_decimal": 58889
},
{
"icon_id": "8386986",
"name": "暂停",
"font_class": "zanting",
"unicode": "e685",
"unicode_decimal": 59013
"icon_id": "13176264",
"name": "定位 位置",
"font_class": "dingweiweizhi",
"unicode": "e60a",
"unicode_decimal": 58890
},
{
"icon_id": "9356268",
"name": "暂停 停止",
"font_class": "zantingtingzhi",
"unicode": "e643",
"unicode_decimal": 58947
"icon_id": "13176265",
"name": "系统信息",
"font_class": "xitongxinxi",
"unicode": "e60b",
"unicode_decimal": 58891
},
{
"icon_id": "10905634",
"name": "修 改",
"font_class": "xiugai",
"unicode": "e632",
"unicode_decimal": 58930
"icon_id": "13176266",
"name": "分析资源",
"font_class": "fenxiziyuan",
"unicode": "e60c",
"unicode_decimal": 58892
},
{
"icon_id": "13176267",
"name": "渣土车抓拍",
"font_class": "zhatuchezhuapai",
"unicode": "e60d",
"unicode_decimal": 58893
},
{
"icon_id": "13176268",
"name": "多选/选中",
"font_class": "duoxuanxuanzhong",
"unicode": "e60e",
"unicode_decimal": 58894
},
{
"icon_id": "13176269",
"name": "单选/选中",
"font_class": "danxuanxuanzhong",
"unicode": "e60f",
"unicode_decimal": 58895
},
{
"icon_id": "13176270",
"name": "设备信息",
"font_class": "shebeixinxi",
"unicode": "e610",
"unicode_decimal": 58896
},
{
"icon_id": "13176273",
"name": "icon 选中首页",
"font_class": "iconxuanzhongshouye2",
"unicode": "e613",
"unicode_decimal": 58899
},
{
"icon_id": "13176274",
"name": "保存 面性",
"font_class": "baocunmianxing",
"unicode": "e614",
"unicode_decimal": 58900
},
{
"icon_id": "13176276",
"name": "重置",
"font_class": "zhongzhi",
"unicode": "e616",
"unicode_decimal": 58902
},
{
"icon_id": "13176277",
"name": "添加",
"font_class": "tianjia",
"unicode": "e617",
"unicode_decimal": 58903
},
{
"icon_id": "13176278",
"name": "删 除",
"font_class": "shanchu1",
"unicode": "e618",
"unicode_decimal": 58904
}
]
}
......@@ -142,6 +142,7 @@ a:active{
}
.contentBox{
padding: 12px;
overflow: hidden;
}
}
.detaiCon span{
......
......@@ -9,7 +9,7 @@ import resetCss from "./assets/resetElementCss/index.css";
import api from "./api/install";
import "./assets/css/public.css";
import echarts from "echarts";
import "./assets/icon/icon1/iconfont.css";
// import "./assets/icon/icon1/iconfont.css";
import "./assets/icon/icon2/iconfont.css";
import "../src/assets/js/vporto";
import { buildCode } from "../src/assets/js/buildcodes";
......
......@@ -47,7 +47,7 @@ export const asyncRouterMap = [
name: "任务管理",
component: resolve => require(["../views/Layout/index.vue"], resolve),
meta: {
icon: "el-icon-location"
icon: "icon-fanxing-iconxuanzhongrenwuguanli1"
},
children: [
{
......@@ -75,7 +75,7 @@ export const asyncRouterMap = [
name: "智能检索",
component: resolve => require(["../views/Layout/index.vue"], resolve),
meta: {
icon: "el-icon-location"
icon: "icon-fanxing-iconxuanzhongzhinengjiansuo1"
},
children: [
{
......@@ -144,7 +144,7 @@ export const asyncRouterMap = [
name: "资源管理",
component: resolve => require(["../views/Layout/index.vue"], resolve),
meta: {
icon: "el-icon-location"
icon: "icon-fanxing-iconxuanzhongziyuanguanli1"
},
children: [
{
......@@ -208,7 +208,7 @@ export const asyncRouterMap = [
name: "系统运维",
component: resolve => require(["../views/Layout/index.vue"], resolve),
meta: {
icon: "el-icon-location"
icon: "icon-fanxing-iconxuanzhongxitongyunwei"
},
children: [
{
......
......@@ -2,28 +2,28 @@
<div class="home">
<el-container class="home-box">
<el-header class="headers">
<img class="logoImg" src="../../assets/img/home/logo.png" alt="">
<div class="headRight">
<span>2019-11-15 16:50 星期一</span>
<img src="../../assets/img/home/user.png" alt="">
<span class="exit">退出<i class="el-icon-arrow-down"></i></span>
</div>
</el-header>
<img class="logoImg" src="../../assets/img/home/logo.png" alt="" />
<span :class="{'el-icon-s-fold':isopen,'el-icon-s-unfold':!isopen,'menu-switch':true}" @click="openmenu"></span>
<div class="headRight">
<span>{{ curdate }}</span>
<img src="../../assets/img/home/user.png" alt="" />
<span class="exit" @click="logout()">退出<i class="el-icon-arrow-down"></i></span>
</div>
</el-header>
<el-container style="min-height:calc(100vh - 64px);">
<el-aside :width="menuwidth">
<menus @setTopBar="setTopBar" ref="leftmenu"></menus>
</el-aside>
<el-main>
<div class="nav">
<div class="nav-tag-box">
<el-tag
v-for="(tag,index) in topbarArr" :key="index"
v-for="(tag, index) in topbarArr"
:key="index"
closable
@close="closetag(tag,index)"
@close="closetag(tag, index)"
@click="toPath(tag)"
>
<i :class="tag.icon"></i>
{{tag.name}}
>
<!-- <i :class="tag.icon"></i> -->
{{ tag.name }}
</el-tag>
</div>
</div>
......@@ -36,110 +36,169 @@
<script>
// import HelloWorld from "@/components/HelloWorld.vue";
import menus from './menu'
import menus from "./menu";
export default {
name: "x",
data(){
return{
isCollapse: false,
conHeight:0,
menuwidth:"254px",
full:false,
topbarArr:[]
};
data() {
return {
curdate: "",
isopen:true,
conHeight: 0,
menuwidth: "15vw",
full: false,
topbarArr: []
};
},
methods:{
setTopBar(data){
if(this.topbarArr.length < 1) {
this.topbarArr.push(data)
methods: {
setTopBar(data) {
if (this.topbarArr.length < 1) {
this.topbarArr.push(data);
}
let hasBar = false;
for(let i = 0; i < this.topbarArr.length; i++) {
if(this.topbarArr[i].path == data.path){
hasBar = true
}
for (let i = 0; i < this.topbarArr.length; i++) {
if (this.topbarArr[i].path == data.path) {
hasBar = true;
}
}
if(!hasBar) {
this.topbarArr.push(data)
if (!hasBar) {
this.topbarArr.push(data);
}
},
toPath(data){
this.$refs.leftmenu.handleSelect(data.path)
openmenu() {
this.isopen = !this.isopen;
this.$refs.leftmenu.collapsemenu();
},
toPath(data) {
this.$refs.leftmenu.handleSelect(data.path);
},
closetag(data, index) {
this.topbarArr.splice(index, 1);
},
closetag(data,index){
this.topbarArr.splice(index,1)
getDate() {
let date = new Date();
let Y = date.getFullYear();
let M = date.getMonth();
let D = date.getDate();
let h = date.getHours();
let m = date.getMinutes();
let s = date.getSeconds();
let w = date.getDay();
let wtext = "";
switch (w) {
case 1:
wtext = "星期一";
break;
case 2:
wtext = "星期二";
break;
case 3:
wtext = "星期三";
break;
case 4:
wtext = "星期四";
break;
case 5:
wtext = "星期五";
break;
case 6:
wtext = "星期六";
break;
case 7:
wtext = "星期日";
break;
}
this.curdate = `${Y}/${M}/${D} ${h}:${m}:${s} ${wtext}`;
},
logout() {
localStorage.removeItem("atkoen");
localStorage.removeItem("menu");
localStorage.removeItem("atkoen");
this.$router.push("/login");
}
},
created(){
created() {
this.$api.device.getDev().then(m => {
if(m.length < 1) {
// this.infoFun('未发现运维服务,请联系相关人员')
this.$message({
message: '未发现运维服务,请联系相关人员',
type: 'error'
});
this.setDevunid('9cb6e39adc5176b81879f6c22f1d963')
return
}
this.setDevunid(m[0].dev_unid)
})
if (m.length < 1) {
// this.infoFun('未发现运维服务,请联系相关人员')
this.$message({
message: "未发现运维服务,请联系相关人员",
type: "error"
});
this.setDevunid("9cb6e39adc5176b81879f6c22f1d963");
return;
}
this.setDevunid(m[0].dev_unid);
});
},
components:{
components: {
menus
},
mounted(){
console.log(this.permission_routers)
this.conHeight=window.innerHeight-65;
console.log(this.conHeight)
document.addEventListener("keydown", (event)=>{
var e = event || window.event || arguments.callee.caller.arguments[0];
if(e && e.keyCode==122 ){ // 按 Esc
if(this.full) {
this.menuwidth = "254px";
this.full = false
return
}
this.menuwidth = 0
this.full = true
}
});
},
beforeMount() {
//建立ws连接
let uid = localStorage.getItem('user_unid');
let clientid = localStorage.getItem('client_unid');
this.$api.device.getGlobalWs(uid, clientid).then(data => {
this.globalWs = new WebSocket(data.ws_url);
let ary = data.ws_url.split('/');
localStorage.setItem('cennect_unid',ary[ary.length-1])
mounted() {
console.log(this.permission_routers);
this.conHeight = window.innerHeight - 65;
console.log(this.conHeight);
document.addEventListener("keydown", event => {
var e = event || window.event || arguments.callee.caller.arguments[0];
if (e && e.keyCode == 122) {
// 按 Esc
if (this.full) {
this.menuwidth = "254px";
this.full = false;
return;
}
this.menuwidth = 0;
this.full = true;
}
});
setInterval(() => {
this.getDate();
}, 1000);
},
beforeMount() {
//建立ws连接
let uid = localStorage.getItem("user_unid");
let clientid = localStorage.getItem("client_unid");
this.$api.device.getGlobalWs(uid, clientid).then(data => {
this.globalWs = new WebSocket(data.ws_url);
let ary = data.ws_url.split("/");
localStorage.setItem("cennect_unid", ary[ary.length - 1]);
//监听成功
this.globalWs.onopen = function() {
console.log('全局推送服务连接成功')
}
//监听成功
this.globalWs.onopen = function() {
console.log("全局推送服务连接成功");
};
//监听断开
this.globalWs.onclose = function(){
console.log('全局推送服务连接断开')
}
//监听断开
this.globalWs.onclose = function() {
console.log("全局推送服务连接断开");
};
//监听推送信息
// this.globalWs.onmessage = this.wsdeal;
//监听推送信息
// this.globalWs.onmessage = this.wsdeal;
//保持连接
var $this = this
setInterval(function() {
var send_mesage = '{"type":"request","id":"' + new Date().getTime() + '","mts":"' + new Date().getTime() + '","command": "get /wsapi/v1/users/'+localStorage.getItem('cennect_unid')+'/keep_alive"}'
$this.globalWs.send(send_mesage)
}, 20000)
})
},
//保持连接
var $this = this;
setInterval(function() {
var send_mesage =
'{"type":"request","id":"' +
new Date().getTime() +
'","mts":"' +
new Date().getTime() +
'","command": "get /wsapi/v1/users/' +
localStorage.getItem("cennect_unid") +
'/keep_alive"}';
$this.globalWs.send(send_mesage);
}, 20000);
});
}
};
</script>
<style lang="stylus" scoped>
.menu-switch{
color #fff
font-size 25px;
margin-left 50px;
overflow: hidden;
vertical-align: super;
}
</style>
......@@ -5,26 +5,27 @@
class="el-menu-vertical-demo"
:collapse="isCollapse"
@select="handleSelect"
:unique-opened="true"
>
<el-submenu index="1">
<el-submenu index="1" class="menu-icon">
<template slot="title">
<i class="el-icon-location"></i>
<i class="icon-fanxing-iconxuanzhongshouye1"></i>
<span slot="title">首页</span>
</template>
<el-menu-item index="/trficcshow">
<i class="el-icon-location"></i>交通展示
<i class="submenuicon"></i>交通展示
</el-menu-item>
<el-menu-item index="/behaviorshow">
<i class="el-icon-location"></i>综治展示
<i class="submenuicon"></i>综治展示
</el-menu-item>
</el-submenu>
<el-submenu v-for="(fristmenu,index) in permission_routers" :index="fristmenu.path" :key="index">
<el-submenu v-for="(fristmenu,index) in permission_routers" :index="fristmenu.path" :key="index" class="menu-icon">
<template slot="title">
<i :class="fristmenu.meta.icon"></i>
<span slot="title">{{fristmenu.name}}</span>
</template>
<el-menu-item v-for="(twomenu,index) in fristmenu.children" :key="index" :index="twomenu.path">
<i :class="twomenu.meta.icon"></i>{{twomenu.name}}
<i class="submenuicon"></i>{{twomenu.name}}
</el-menu-item>
</el-submenu>
</el-menu>
......@@ -48,6 +49,9 @@ export default {
this.$router.push(key);
localStorage.setItem("curmenu", key);
this.activemenu = key
},
collapsemenu() {
this.isCollapse = !this.isCollapse;
}
},
computed: {
......@@ -77,7 +81,26 @@ export default {
</script>
<style lang="stylus" scoped>
.el-menu-vertical-demo:not(.el-menu--collapse) {
width: 200px;
min-height: 400px;
}
.box{
height 100%;
}
.menu-icon i{
font-size 14px;
padding-right:10px;
}
.menu-icon .submenuicon{
display inline-block;
height 3px;
width 3px;
background:rgba(0,0,0,0.85);
opacity .5;
border-radius 5px;
margin-left -10px;
margin-right 10px;
padding-right:0px;
}
</style>
\ No newline at end of file
......@@ -116,7 +116,7 @@
<div class="info-content">
<div class="con-item">
<span class="con-label">平台类型:</span>
<span class="con-text">{{}}</span>
<span class="con-text"></span>
</div>
<div class="con-item">
<span class="con-label">设备类型:</span>
......@@ -358,7 +358,7 @@ export default {
display: none;
}
.right-box {
width: 10vw;
width: 20vw;
height: 100%;
border-left: 10px solid #f5f7f9;
}
......
<template>
<div class="contentBox">
<div class="content">
<div>
<span class="selectBox">
<el-select
v-model="curCateUnid"
placeholder="请选择"
@change="cateChange"
:popper-append-to-body="false"
>
<el-option
v-for="item in catesData"
:key="item"
:value="item.cate_unid"
:label="item.name"
></el-option>
</el-select>
</span>
<div class="headerbox">
<span class="addbox">
<el-button type="primary" @click="addcode">添加code</el-button>
<el-button type="primary" @click="addAuthor">添加授权</el-button>
</span>
</div>
<div class="mt10">
......@@ -35,34 +20,25 @@
label="#"
width="40"
></el-table-column>
<el-table-column align="center" prop="code_unid" label="code_unid">
<el-table-column align="center" prop="code_unid" label="模板名称">
</el-table-column>
<el-table-column prop="code" align="center" label="code">
<el-table-column prop="code" align="center" label="授权路数">
</el-table-column>
<el-table-column align="center" prop="name" label="名称">
<el-table-column align="center" prop="name" label="已使用路数">
</el-table-column>
<el-table-column align="center" prop="name" label="备注">
</el-table-column>
<el-table-column align="center" prop="operation" label="操作">
<template slot-scope="scope">
<el-tooltip
content="编辑"
content="详情"
placement="bottom"
effect="light"
:visible-arrow="false"
>
<span
class="iconfont icon-xiugai editIcon"
@click="editCode(scope.$index, scope.row)"
></span>
</el-tooltip>
<el-tooltip
content="删除"
placement="bottom"
effect="light"
:visible-arrow="false"
>
<span
class="iconfont icon-detail delIcon del-btn"
@click="deleteCode(scope.$index, scope.row)"
class="iconfont el-icon-info"
@click="showDetail(scope.$index, scope.row)"
></span>
</el-tooltip>
</template>
......@@ -86,50 +62,30 @@
</div>
</div>
</div>
<el-dialog title="设置CODE" :visible.sync="detailVisible" width="400px">
<el-form
ref="trfficform"
:model="codeData"
label-position="left"
label-width="80px"
<el-dialog title="上传授权文件" :visible.sync="detailVisible" width="400px">
<el-upload
class="upload-demo"
ref="upload"
action="https://jsonplaceholder.typicode.com/posts/"
:on-preview="handlePreview"
:on-remove="handleRemove"
:file-list="fileList"
:auto-upload="false"
>
<el-form-item
label="类型"
prop="catename"
:rules="[
{ required: true, message: '类型不能为空!', trigger: 'blur' }
]"
>
<el-input v-model="codeData.catename" disabled></el-input>
</el-form-item>
<el-form-item
label="CODE"
prop="code"
:rules="[
{ required: true, message: 'code不能为空!', trigger: 'blur' }
]"
<el-button slot="trigger" size="small" type="primary"
>选取文件</el-button
>
<el-input v-model="codeData.code"></el-input>
</el-form-item>
<el-form-item
label="名称"
prop="name"
:rules="[
{ required: true, message: '名称不能为空!', trigger: 'blur' }
]"
<el-button
style="margin-left: 10px;"
size="small"
type="success"
@click="submitUpload"
>上传到服务器</el-button
>
<el-input v-model="codeData.name"></el-input>
</el-form-item>
<el-form-item
label="备注"
prop="note"
:rules="[
{ required: true, message: '备注名称不能为空!', trigger: 'blur' }
]"
>
<el-input v-model="codeData.name"></el-input>
</el-form-item>
</el-form>
<div slot="tip" class="el-upload__tip">
只能上传jpg/png文件,且不超过500kb
</div>
</el-upload>
<span slot="footer" class="dialog-footer">
<el-button size="small" @click="detailVisible = false">取 消</el-button>
<el-button size="small" type="primary" @click="saveCode"
......@@ -137,9 +93,13 @@
>
</span>
</el-dialog>
<div>
<authordetail ref="detail"></authordetail>
</div>
</div>
</template>
<script>
import authordetail from "./authorDetail";
export default {
data() {
return {
......@@ -156,88 +116,28 @@ export default {
codeData: {}
};
},
components: {},
components: {
authordetail
},
created() {
this.getCates();
},
methods: {
cateChange(cateunid) {
let offset = (this.page - 1) * this.pageSize;
let obj = {
limit: this.pageSize,
offset: offset
};
this.$api.codes
.codes(obj, cateunid)
.then(res => {
this.tableData = res.list_data;
})
.catch(err => {});
},
addcode() {
this.codeStatus = 0;
this.detailVisible = true;
this.codeData.catename = this.getCateName(this.curCateUnid);
},
editCode(index, row) {
this.codeStatus = 1;
this.detailVisible = true;
this.codeData = row;
this.codeData.catename = this.getCateName(this.curCateUnid);
},
getCateName(cateunid) {
let name = "";
this.catesData.forEach(ele => {
if (ele.cate_unid === cateunid) {
name = ele.name;
}
});
return name;
},
getCates() {
this.$api.codes.cates().then(res => {
this.catesData = res.list_data;
});
submitUpload() {
this.$refs.upload.submit();
},
saveCode() {
this.$refs["trfficform"].validate(valid => {
if (valid) {
if (this.editStatus === 0) {
this.saveAddCode();
}
if (this.editStatus === 1) {
this.saveEditCode();
}
} else {
console.log("error submit!!");
return false;
}
});
handleRemove(file, fileList) {
console.log(file, fileList);
},
saveAddCode() {
this.$api.codes
.addTrafficCode(this.codeData, this.curCateUnid)
.then(res => {
console.log(res);
});
handlePreview(file) {
console.log(file);
},
saveEditCode() {
this.$api.codes
.editTrafficCode(
this.codeData,
this.curCateUnid,
this.codeData.code_unid
)
.then(res => {
console.log(res);
});
showDetail(index, row) {
this.$refs.detail.initahthor(row);
},
deleteCode(index, row) {
this.$api.codes
.editTrafficCode(row, this.curCateUnid, row.code_unid)
.then(res => {
console.log(res);
});
addAuthor() {
this.codeStatus = 0;
this.detailVisible = true;
},
handleSizeChange(val) {
this.pageSize = val;
......@@ -249,16 +149,11 @@ export default {
};
</script>
<style lang="scss" scoped>
.addbox {
float: right;
margin-right: 10px;
.headerbox {
overflow: hidden;
}
.code-btn {
margin-bottom: 10px;
.addbox {
float: right;
margin-right: 10px;
}
.del-btn {
padding-left: 20px;
}
</style>
<template>
<div>
<el-dialog title="业务功能" :visible.sync="detailVisible" width="753px">
<div class="authordetail-box">
<div class="authitembox">
<div class="itemheader">识别</div>
<div></div>
</div>
<div class="authitembox">
<div class="itemheader">违法</div>
<div></div>
</div>
<div class="authitembox">
<div class="itemheader">事件</div>
<div></div>
</div>
<div class="authitembox">
<div class="itemheader">流量</div>
<div></div>
</div>
</div>
<span slot="footer" class="dialog-footer">
<el-button size="small" @click="detailVisible = false">取 消</el-button>
<el-button size="small" type="primary" @click="detailVisible = false"
>确 定</el-button
>
</span>
</el-dialog>
</div>
</template>
<script>
export default {
data() {
return {
detailVisible: true,
detailData: {}
};
},
methods: {
initahthor(data) {
this.detailVisible = true;
this.detailData = data;
}
}
};
</script>
<style lang="scss" scoped>
.authordetail-box {
display: flex;
}
.authitembox {
width: 160px;
height: 240px;
margin-left: 15px;
border: 1px solid #E9E9E9;
border-radius: 4px;
}
.authitembox:first-child {
margin-left: 0;
}
.authitembox .itemheader {
height: 40px;
line-height: 40px;
text-align: center;
background:rgba(245,245,245,1);
border-bottom:1px solid rgba(233,233,233,1);
color: #222;
font-size: 16px;
font-weight: 600;
}
</style>
......@@ -273,7 +273,6 @@ export default {
.task-lsit{
display inline-block
cursor pointer
padding 10px 0
.icon {
padding-left 10px
}
......@@ -291,6 +290,9 @@ export default {
}
.task-title{
padding-left 10px
width 100%
display inline-block
overflow hidden
}
.tasklist{
padding-left 10px;
......
......@@ -5,70 +5,70 @@
<span
@mousedown="Ytontroller('SIP_CTRL_PTZ_UPLEFT')"
@mouseup="stopYtontroller('SIP_CTRL_PTZ_UPLEFT')"
class="control-btn el-icon-top-left"
class="control-btn icon-fanxing-zuoshang"
></span>
<span
@mousedown="Ytontroller('SIP_CTRL_PTZ_UP')"
@mouseup="stopYtontroller('SIP_CTRL_PTZ_UP')"
class="control-btn el-icon-top"
class="control-btn icon-fanxing-shang"
></span>
<span
@mousedown="Ytontroller('SIP_CTRL_PTZ_UPRIGHT')"
@mouseup="stopYtontroller('SIP_CTRL_PTZ_UPRIGHT')"
class="control-btn el-icon-top-right"
class="control-btn icon-fanxing-youshang"
></span>
</div>
<div>
<span
@mousedown="Ytontroller('SIP_CTRL_PTZ_LEFT')"
@mouseup="stopYtontroller('SIP_CTRL_PTZ_LEFT')"
class="control-btn el-icon-back"
class="control-btn icon-fanxing-zuo"
></span>
<span
@mousedown="Ytontroller('12')"
@mouseup="stopYtontroller('12')"
class="control-btn el-icon-refresh"
class="control-btn icon-fanxing-zhongzhi"
></span>
<span
@mousedown="Ytontroller('SIP_CTRL_PTZ_RIGHT')"
@mouseup="stopYtontroller('SIP_CTRL_PTZ_RIGHT')"
class="control-btn el-icon-right"
class="control-btn icon-fanxing-you"
></span>
</div>
<div>
<span
@mousedown="Ytontroller('SIP_CTRL_PTZ_DOWNLEFT')"
@mouseup="stopYtontroller('SIP_CTRL_PTZ_DOWNLEFT')"
class="control-btn el-icon-bottom-left"
class="control-btn icon-fanxing-zuoxia"
></span>
<span
@mousedown="Ytontroller('SIP_CTRL_PTZ_DOWN')"
@mouseup="stopYtontroller('SIP_CTRL_PTZ_DOWN')"
class="control-btn el-icon-bottom"
class="control-btn icon-fanxing-xia"
></span>
<span
@mousedown="Ytontroller('SIP_CTRL_PTZ_DOWNRIGHT')"
@mouseup="stopYtontroller('SIP_CTRL_PTZ_DOWNRIGHT')"
class="control-btn el-icon-bottom-right"
class="control-btn icon-fanxing-youxia"
></span>
</div>
</div>
<div class="control-right-box">
<div class="slider-box">
<span class="title">光圈</span>
<el-slider class="slider-item" v-model="value" show-input></el-slider>
<el-slider class="slider-item" v-model="value1" show-input></el-slider>
</div>
<div class="slider-box">
<span class="title">光倍</span>
<el-slider class="slider-item" v-model="value" show-input></el-slider>
<el-slider class="slider-item" v-model="value2" show-input></el-slider>
</div>
<div class="slider-box">
<span class="title">焦距</span>
<el-slider class="slider-item" v-model="value" show-input></el-slider>
<el-slider class="slider-item" v-model="value3" show-input></el-slider>
</div>
<div class="slider-box">
<span class="title">速度</span>
<el-slider class="slider-item" v-model="value" show-input></el-slider>
<el-slider class="slider-item" v-model="value4" show-input></el-slider>
</div>
<div class="right-bottom-box">
<div class="setyzw item-box">
......@@ -99,7 +99,11 @@ export default {
data() {
return {
showyt: false,
value: ""
value: 0,
value1: 0,
value2: 0,
value3: 0,
value4: 0,
};
},
methods: {
......@@ -162,12 +166,13 @@ export default {
.control-btn {
height: 5vh;
margin-top: 2vh;
width: 3.5vw;
width: 3.8vw;
overflow: hidden;
font-size: 30px;
text-align: center;
color: #cccccc;
font-weight: 600;
display inline-block
}
}
......
......@@ -163,7 +163,7 @@
<el-button type="primary" @click="detailVisible = false">关 闭</el-button>
</span>
</el-dialog>
<curVideo ref="visableDialog" :playersrc="playurl"></curVideo>
<videoDialog ref="visableDialog" :playersrc="playurl"></videoDialog>
</div>
</template>
<script>
......
......@@ -28,19 +28,20 @@
</el-select>
</el-form-item>
<el-form-item label="场景占用">
<el-select
<el-input
v-model="formData.type"
placeholder="请选择"
:popper-append-to-body="false"
>
<el-option key="1" label="全部" value></el-option>
<el-option key="2" label="222" value="2"></el-option>
</el-select>
</el-input>
</el-form-item>
<el-form-item label="时间计划">
<el-input v-model="formData.type"></el-input>
<el-select v-model="formData.period">
<el-option value="true" label="全天"></el-option>
<el-option value="false" label="时间"></el-option>
</el-select>
</el-form-item>
<el-form-item label="时间">
<el-form-item label="时间" v-show="formData.plate_time != 'day'">
<el-date-picker
style="width:100%"
v-model="formData.timer"
......@@ -65,6 +66,12 @@
></el-option>
</el-select>
</el-form-item>
<el-form-item label="设备类型">
<el-input
v-model="formData.plate_type"
placeholder="请选择"
></el-input>
</el-form-item>
<el-form-item label="优先级">
<el-select
v-model="formData.priority"
......@@ -127,7 +134,9 @@ export default {
store_conf: {
unid: ""
},
priority: ""
priority: "",
plate_type: "",
plate_time: "",
};
}
if (type == "edit") {
......@@ -178,6 +187,8 @@ export default {
end_dt: this.setUtcTime(this.formData.timer[1]),
priority: this.formData.priority,
store_conf_unid: this.formData.store_conf.unid,
period: this.period,
plate_type: this.plate_type,
task_type: "normal"
// algo_comb_unid: this.formData.store_conf,
};
......
......@@ -57,7 +57,7 @@
></el-table-column>
<el-table-column
align="center"
prop="status"
prop="running_status"
label="视频状态"
></el-table-column>
<el-table-column
......@@ -74,7 +74,7 @@
:visible-arrow="false"
>
<span
class="iconfont icon-Migration moveIcon"
class="el-icon-copy-document moveIcon"
@click="moveFun(scope.$index, scope.row)"
></span>
</el-tooltip>
......@@ -86,7 +86,7 @@
:visible-arrow="false"
>
<span
class="iconfont icon-detail delIcon"
class="el-icon-delete delIcon"
@click="delFun(scope.$index, scope.row)"
></span>
</el-tooltip>
......@@ -160,16 +160,19 @@ export default {
let ary = [];
let data = res.list_data;
for (let i in data) {
debugger
if (data[i].vchan) {
data[i].vchan.subtask_id = data[i].subtask_id;
data[i].vchan.refid = data[i].vchan.vchan_refid;
data[i].vchan.name = data[i].vchan.vchan_name;
data[i].vchan.running_status = data[i].running_status
} else {
data.vchan = {
subtask_id: data[i].subtask_id,
refid: "",
vchan_name: data[i].subtask_name,
name: data[i].subtask_name
name: data[i].subtask_name,
running_status: data[i].running_status
};
}
ary.push(data[i].vchan);
......@@ -184,7 +187,8 @@ export default {
if (this.tableData.length > 0) {
for (let i = 0; i < this.tableData.length; i++) {
if (this.tableData[i].vchan_id == data.vchan_id) {
this.tableData.splice(i, 1);
this.delFun(i, this.tableData[i],'tree')
staus = true;
break;
}
......@@ -213,14 +217,15 @@ export default {
playVideo(data) {
console.log("b", data);
},
delFun(index, data) {
debugger;
delFun(index, data, action= "tree") {
this.$api.task
.deleteSubTask(this.editData.task_id, data.subtask_id)
.then(res => {
this.tableData.splice(index, 1);
});
this.checkvckan();
if (action != "tree") {
this.checkvckan();
}
},
append(data) {
const newChild = { id: id++, label: "testtest", children: [] };
......
......@@ -65,7 +65,7 @@
>
</span>
</div>
<div style="padding: 0 23px 20px 23px;width:99%">
<div style="padding: 0 23px 20px 23px;width:98%">
<el-table
height="574"
:data="tableData"
......@@ -93,8 +93,10 @@
<span class="subtask-info">33</span>
<span class="label">指定设备下发</span>
<span class="subtask-info">
<el-select>
<el-option>sss</el-option>
<el-select v-model="assign_ip">
<el-option v-for="(item,index) in freeList" :key="index" :value="item.in_ip">
{{item.in_ip}}
</el-option>
</el-select>
</span>
<span class="label">确定</span>
......@@ -134,6 +136,8 @@
</el-table-column>
<el-table-column align="center" prop="workers_count" label="资源用量">
</el-table-column>
<el-table-column align="center" prop="workers_count" label="设备类型">
</el-table-column>
<el-table-column
align="center"
prop="priority"
......@@ -154,6 +158,7 @@
width="300"
prop="operation"
label="操作"
fixed="right"
>
<template slot-scope="scope">
<el-tooltip
......@@ -163,7 +168,7 @@
:visible-arrow="false"
>
<span
class="iconfont icon-xiugai editIcon"
class="icon-fanxing-xiugai editIcon"
@click="editVideo(scope.$index, scope.row)"
></span>
</el-tooltip>
......@@ -175,7 +180,7 @@
:visible-arrow="false"
>
<span
class="iconfont icon-xiugai editIcon2"
class="icon-fanxing-xiugai editIcon2"
@click="editTask('edit', scope.$index, scope.row)"
></span>
</el-tooltip>
......@@ -187,7 +192,7 @@
:visible-arrow="false"
>
<span
class="iconfont icon-bofang playIcon"
class="icon-fanxing-qidong playIcon"
@click="setTaskStatus(scope.row, 'start')"
></span>
</el-tooltip>
......@@ -199,7 +204,7 @@
:visible-arrow="false"
>
<span
class="iconfont icon-zanting pauseIcon"
class="icon-fanxing-zanting pauseIcon"
@click="setTaskStatus(scope.row, 'stop')"
></span>
</el-tooltip>
......@@ -211,7 +216,7 @@
:visible-arrow="false"
>
<span
class="iconfont icon-detail delIcon"
class="el-icon-delete delIcon"
@click="delFun(scope.$index, scope.row)"
></span>
</el-tooltip>
......@@ -265,10 +270,12 @@ export default {
videoShow: false,
editForm: {},
tableData: [],
subTaskData: [],
subTaskData: [],
freeList: [],
pedittype: "add",
currentRow:{},
rowkey:["1"]
currentRow: {},
rowkey: ["1"],
assign_ip: ""
};
},
components: {
......@@ -277,6 +284,7 @@ export default {
},
mounted() {
this.getTaskList();
this.getFreelist();
},
methods: {
expandchange(row, prow) {
......@@ -412,6 +420,12 @@ export default {
})
.catch(error => {});
},
getFreelist() {
this.$api.device.getFreelist(this.dev_unid).then(res => {
this.freeList = res.list_data;
});
// /
},
editVideo(index, row) {
this.$refs.editvideo.showModal(row);
},
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!