Commit adb233f3 by 潘建波

暂时去除登录星云效果

1 parent db60e2e7
No preview for this file type
......@@ -6,36 +6,36 @@
<script>
export default {
data() {
return {
}
return {};
},
created(){
let menus = JSON.parse(localStorage.getItem('menu'))
if(menus) {
this.$store.dispatch('GetMenuRole',menus).then(res => {})
created() {
let menus = JSON.parse(localStorage.getItem("menu"));
if (menus) {
this.$store.dispatch("GetMenuRole", menus).then(res => {});
}
let token = localStorage.getItem("atoken");
if (!token) {
this.$router.push("/login");
}
},
mounted(){
window.videoEquitTableHeight = document.body.clientHeight - 142 + 'px';
window.opsTableHeight = document.body.clientHeight - 260 + 'px';
if(document.body.clientWidth>1366){
window.oneSearchTableHeight = document.body.clientHeight - 250 + 'px';
window.twoSearchTableHeight = document.body.clientHeight - 280 + 'px';
}else {
window.oneSearchTableHeight = document.body.clientHeight - 280 + 'px';
window.twoSearchTableHeight = document.body.clientHeight - 315 + 'px';
mounted() {
window.videoEquitTableHeight = document.body.clientHeight - 142 + "px";
window.opsTableHeight = document.body.clientHeight - 260 + "px";
if (document.body.clientWidth > 1366) {
window.oneSearchTableHeight = document.body.clientHeight - 250 + "px";
window.twoSearchTableHeight = document.body.clientHeight - 280 + "px";
} else {
window.oneSearchTableHeight = document.body.clientHeight - 280 + "px";
window.twoSearchTableHeight = document.body.clientHeight - 315 + "px";
}
}
}
};
</script>
<style lang="scss">
#app {
height: 100%;
font-family:MicrosoftYaHeiUI;
font-family: MicrosoftYaHeiUI;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
......
import axios from 'axios'
import store from '../store/index.js'
import axios from "axios";
import store from "../store/index.js";
import router from "../router/index";
// 创建 axios 实例
let service = axios.create({
// headers: {'Content-Type': 'application/json'},
timeout: 60000
})
});
// 添加请求拦截器
service.interceptors.request.use(
(config) => {
if (store.state.users.atoken) { // 判断是否存在token,如果存在的话,则每个http header都加上token
config.headers.authorization = store.state.users.atoken;
config => {
let token = localStorage.getItem("atoken");
if (token) {
// 判断是否存在token,如果存在的话,则每个http header都加上token
config.headers.authorization = token;
} else {
router.push("/login");
}
if (config.method == 'get') {
if (config.method == "get") {
config.params = {
_t: Date.parse(new Date()) / 1000,
...config.params
};
}
}
return config
return config;
},
(error) => {
error => {
// 请求错误处理
return Promise.reject(error)
return Promise.reject(error);
}
)
);
// 添加响应拦截器
service.interceptors.response.use(
(response) => {
let { data } = response
return data
response => {
let { data } = response;
return data;
},
(error) => {
console.log(error)
return Promise.reject(error)
error => {
console.log(error);
return Promise.reject(error);
}
)
);
/**
* 创建统一封装过的 axios 实例
* @return {AxiosInstance}
*/
export default function() {
return service
return service;
}
......@@ -18,10 +18,10 @@ Vue.prototype.$echarts = echarts;
Vue.prototype.$moment = moment;
Vue.prototype.$buildCode = buildCode;
Vue.prototype.oParse = new XML.ObjTree();
Vue.prototype.axios=axios;
Vue.prototype.axios = axios;
import VueParticles from 'vue-particles'
Vue.use(VueParticles)
// import VueParticles from "vue-particles";
// Vue.use(VueParticles);
Vue.use(api);
Vue.use(ElementUI, { size: "small", zIndex: 3000 });
......
......@@ -35,6 +35,7 @@
</template>
<script>
import types from "../../store/types.js";
// import HelloWorld from "@/components/HelloWorld.vue";
import menus from "./menu";
export default {
......@@ -110,11 +111,10 @@ export default {
this.curdate = `${Y}/${M}/${D} ${h}:${m}:${s} ${wtext}`;
},
logout() {
localStorage.removeItem("atkoen");
localStorage.removeItem("menu");
localStorage.removeItem("curmenu");
this.$store.commit(types.ATOKEN, "");
localStorage.removeItem("atkoen");
localStorage.removeItem("atoken");
this.$router.push("/login");
}
},
......
<template>
<div id="login" :style="{height:innerHeight+'px'}">
<div id="login" :style="{ height: innerHeight + 'px' }">
<vue-particles
color="#dedede"
:particleOpacity="0.7"
......@@ -21,15 +21,30 @@
<div class="box">
<h1>视频分析综合管理平台</h1>
<div style="width: 60%;margin: 0 auto;">
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="0px" class="demo-ruleForm">
<el-form
:model="ruleForm"
:rules="rules"
ref="ruleForm"
label-width="0px"
class="demo-ruleForm"
>
<el-form-item label=" " prop="username">
<el-input v-model="ruleForm.username" placeholder="请输入用户名"></el-input>
<el-input
v-model="ruleForm.username"
placeholder="请输入用户名"
></el-input>
</el-form-item>
<el-form-item label=" " prop="password">
<el-input v-model="ruleForm.password" type="password" placeholder="请输入密码"></el-input>
<el-input
v-model="ruleForm.password"
type="password"
placeholder="请输入密码"
></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm('ruleForm')">登 录</el-button>
<el-button type="primary" @click="submitForm('ruleForm')"
>登 录</el-button
>
</el-form-item>
</el-form>
</div>
......@@ -38,46 +53,42 @@
</template>
<script>
let sha1 = require('js-sha1');
import types from '../store/types.js'
export default {
name: 'Login',
let sha1 = require("js-sha1");
import types from "../store/types.js";
export default {
name: "Login",
data() {
var validatePass = (rule, value, callback) => {
if (value === '') {
callback(new Error('请输入密码'));
if (value === "") {
callback(new Error("请输入密码"));
} else {
callback();
}
};
var validateUser = (rule, value, callback) => {
if (value === '') {
callback(new Error('请输入用户名'));
if (value === "") {
callback(new Error("请输入用户名"));
} else {
callback();
}
};
return {
username: '',
password: '',
innerHeight:0,
ruleForm:{
username:'',
password:'',
username: "",
password: "",
innerHeight: 0,
ruleForm: {
username: "",
password: ""
},
rules: {
password: [
{ validator: validatePass, trigger: 'change' }
],
username: [
{ validator: validateUser, trigger: 'change' }
]
}
password: [{ validator: validatePass, trigger: "change" }],
username: [{ validator: validateUser, trigger: "change" }]
}
};
},
methods: {
submitForm(formName) {
this.$refs[formName].validate((valid) => {
this.$refs[formName].validate(valid => {
if (valid) {
this.login();
} else {
......@@ -85,22 +96,24 @@ import types from '../store/types.js'
}
});
},
initHeight(){
this.innerHeight=window.innerHeight;
initHeight() {
this.innerHeight = window.innerHeight;
},
login(){
this.$api.login.login({
"username":this.ruleForm.username,
"password":this.ruleForm.password,
"user_type": "user"
}).then(res => {
if(!res.ecode){
this.$store.commit(types.ATOKEN,res.atoken);
login() {
this.$api.login
.login({
username: this.ruleForm.username,
password: this.ruleForm.password,
user_type: "user"
})
.then(res => {
if (!res.ecode) {
this.$store.commit(types.ATOKEN, res.atoken);
// localStorage.setItem('rtoken',m.data.rtoken)
sessionStorage.setItem('user_unid',res.user_unid)
sessionStorage.setItem("user_unid", res.user_unid);
//本系统可以直接用本地缓存做
// localStorage.setItem('user_name',this.username)
localStorage.setItem("atoken", res.atoken);
// 处理登录用户权限菜单显示问题;
//算法配置列表
this.algoList();
......@@ -114,130 +127,157 @@ import types from '../store/types.js'
this.getDev();
this.getMenu(res.user_unid);
}
}).catch((err) => {
})
.catch(err => {});
},
getMenu(id){
getMenu(id) {
//获取菜单
this.$api.login.getMenus({
"shape":"tree"
}).then(res=>{
localStorage.setItem('menu', JSON.stringify(res.menu_tree[0].children))
this.$store.dispatch('GetMenuRole',res.menu_tree[0].children).then(res => {
this.$router.push('/')
})
this.$api.login
.getMenus({
shape: "tree"
})
.then(res => {
localStorage.setItem(
"menu",
JSON.stringify(res.menu_tree[0].children)
);
this.$store
.dispatch("GetMenuRole", res.menu_tree[0].children)
.then(res => {
this.$router.push("/");
});
});
},
algoList() {
this.$api.login.algocombs({
limit: '',
algo_set: 'video'
}).then(res => {
if(!res.ecode){
this.$store.commit(types.ALGO,res.list_data);
this.$api.login
.algocombs({
limit: "",
algo_set: "video"
})
.then(res => {
if (!res.ecode) {
this.$store.commit(types.ALGO, res.list_data);
}
}).catch((err) => {
})
.catch(err => {});
},
storeConfList(){
this.$api.login.storeconfs({
storeConfList() {
this.$api.login
.storeconfs({
offset: 0,
limit: ''
}).then(res => {
if(!res.ecode){
this.$store.commit(types.STORECONF,res.list_data);
limit: ""
})
.then(res => {
if (!res.ecode) {
this.$store.commit(types.STORECONF, res.list_data);
}
}).catch((err) => {
})
.catch(err => {});
},
getCodeList(){
this.$api.codes.cates().then(res => {
res.list_data.forEach(item=>{
this.$api.codes.codes({
},item.cate_unid).then(res => {
getCodeList() {
this.$api.codes
.cates()
.then(res => {
res.list_data.forEach(item => {
this.$api.codes
.codes({}, item.cate_unid)
.then(res => {
// 存储code列表
window.localStorage.setItem(item.name,JSON.stringify(res.list_data))
window.localStorage.setItem(
item.name,
JSON.stringify(res.list_data)
);
// 存储单独code
res.list_data.forEach(chilItem=>{
window.localStorage.setItem(item.name+'-'+chilItem.code,chilItem.name)
})
}).catch((err) => {
})
res.list_data.forEach(chilItem => {
window.localStorage.setItem(
item.name + "-" + chilItem.code,
chilItem.name
);
});
})
}).catch((err) => {
.catch(err => {});
});
})
.catch(err => {});
},
getCustomCode(){
this.$api.codes.customCode().then(res => {
if(res.list_data.length > 0) {
res.list_data.forEach((item) => {
window.localStorage.setItem(item.name + '-' + item.cate, item.unid);
})
getCustomCode() {
this.$api.codes
.customCode()
.then(res => {
if (res.list_data.length > 0) {
res.list_data.forEach(item => {
window.localStorage.setItem(
item.name + "-" + item.cate,
item.unid
);
});
} else {
this.$message({
type: 'warning',
message: '获取自定义编码失败!'
})
type: "warning",
message: "获取自定义编码失败!"
});
}
}).catch((err) => {
})
.catch(err => {});
},
getCatesList(){
this.$api.codes.eventCates({}).then(res=>{
getCatesList() {
this.$api.codes.eventCates({}).then(res => {
// 存储cate列表
window.localStorage.setItem('cate列表',JSON.stringify(res.list_data))
window.localStorage.setItem("cate列表", JSON.stringify(res.list_data));
// 存储单独code
res.list_data.forEach(item=>{
this.getOneEventList(item.code,item.event_cate_unid)
})
})
res.list_data.forEach(item => {
this.getOneEventList(item.code, item.event_cate_unid);
});
});
},
getOneEventList(code,id){
this.$api.codes.eventType({},id).then(res=>{
getOneEventList(code, id) {
this.$api.codes.eventType({}, id).then(res => {
// 存储cate列表
window.localStorage.setItem(code,JSON.stringify(res.list_data))
})
window.localStorage.setItem(code, JSON.stringify(res.list_data));
});
},
getEventList(){
this.$api.search.eventTypes({}).then(res=>{
getEventList() {
this.$api.search.eventTypes({}).then(res => {
// 存储code列表
window.localStorage.setItem('安防事件',JSON.stringify(res.list_data))
window.localStorage.setItem("安防事件", JSON.stringify(res.list_data));
// 存储单独code
res.list_data.forEach(item=>{
window.localStorage.setItem('安防事件-'+item.code,item.name)
})
})
res.list_data.forEach(item => {
window.localStorage.setItem("安防事件-" + item.code, item.name);
});
});
},
getDev() {
this.$api.resource.devs().then(res => {
sessionStorage.setItem('dev_unid',res[0].dev_unid);
sessionStorage.setItem("dev_unid", res[0].dev_unid);
this.getDevsName(res[0].dev_unid);
})
});
},
getDevsName(id){
this.$api.resource.getDevsName({
getDevsName(id) {
this.$api.resource
.getDevsName(
{
is_leaf: 0
},id).then(res=>{
if(res.list_data.length>0){
sessionStorage.setItem('device_id',res.list_data[0].device_id);
}
})
},
id
)
.then(res => {
if (res.list_data.length > 0) {
sessionStorage.setItem("device_id", res.list_data[0].device_id);
}
});
}
},
watch: {},
mounted() {
},
mounted() {},
created() {
this.initHeight();
}
}
};
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped lang="scss">
#particles{
#particles {
position: absolute;
width: 100%;
height: 100%;
......@@ -246,12 +286,12 @@ import types from '../store/types.js'
background-size: cover;
background-position: 50% 50%;
}
.loginTitle{
height:60px;
.loginTitle {
height: 60px;
background: #dcdcdc;
position: relative;
}
.loginTitle>div{
}
.loginTitle > div {
position: absolute;
text-align: left;
/*left: 5%;*/
......@@ -260,82 +300,82 @@ import types from '../store/types.js'
/*background: url(../assets/daer.jpg) no-repeat;*/
padding-left: 50px;
background-size: 100% 60px;
width:150px
}
.loginTitle>div span:first-child{
width: 150px;
}
.loginTitle > div span:first-child {
position: absolute;
left:50px;
left: 50px;
top: -5px;
font-weight: bold;
font-size: 18px;
font-family: "隶书";
}
.loginTitle>div span:last-child{
}
.loginTitle > div span:last-child {
font-weight: 500;
font-size: 12px;
font-family: Aparajita;
position: absolute;
left:50px;
left: 50px;
top: 16px;
}
}
h1 {
h1 {
color: #000000;
height: 40px;
line-height: 40px;
padding: 60px 0px;
font-size:44px;
}
font-size: 44px;
}
#login {
#login {
text-align: center;
position: relative;
background: url(../assets/img/login/background.png) no-repeat 0 0;
background-size:cover
}
background-size: cover;
}
#login input:focus {
#login input:focus {
outline: none;
box-shadow: none;
}
.box{
}
.box {
width: 25%;
position: absolute;
left: 52%;
top: 20%;
}
button {
button {
width: 100%;
margin-top: 40px;
border-radius: 30px;
background: #0069FF;
background: #0069ff;
height: 50px;
font-size: 20px;
}
}
button:hover {
color: #D6D9DF
}
button:hover {
color: #d6d9df;
}
p {
p {
margin: 0;
}
}
p:nth-child(1) {
padding-top: 15px
}
@media screen and (max-width: 1366px) {
p:nth-child(1) {
padding-top: 15px;
}
@media screen and (max-width: 1366px) {
h1 {
height: 40px;
line-height: 40px;
padding: 60px 0px;
font-size:34px;
font-size: 34px;
}
.box{
.box {
width: 25%;
position: absolute;
left: 57%;
top: 20%;
}
}
}
</style>
......@@ -3,17 +3,26 @@
<div class="content">
<div style="padding: 20px 15px 20px 23px;">
<span class="selectBox">
<el-select v-model="selectDevs" placeholder="请选择" @change="devsChange" :popper-append-to-body=false>
<el-option v-for="item in devsList" :value="item.device_id" :label='item.device_name'></el-option>
<el-select
v-model="selectDevs"
placeholder="请选择"
@change="devsChange"
:popper-append-to-body="false"
>
<el-option
v-for="(item, index) in devsList"
:key="index"
:value="item.device_id"
:label="item.device_name"
></el-option>
</el-select>
</span>
<div class="resourceDiv">
<span>图片可用分析资源:{{resource.picture_free}}</span>
<span>图片在用分析资源:{{resource.picture_busy}}</span>
<span>视频可用分析资源:{{resource.video_free}}</span>
<span>视频在用分析资源:{{resource.video_busy}}</span>
<span>图片可用分析资源:{{ resource.picture_free }}</span>
<span>图片在用分析资源:{{ resource.picture_busy }}</span>
<span>视频可用分析资源:{{ resource.video_free }}</span>
<span>视频在用分析资源:{{ resource.video_busy }}</span>
</div>
</div>
<div style="padding: 0 15px 20px 23px;">
<el-table
......@@ -21,46 +30,50 @@
:data="tableData"
stripe
border
style="width: 100%">
<el-table-column
align="center"
prop="device_name"
label="设备名称">
style="width: 100%"
>
<el-table-column align="center" prop="device_name" label="设备名称">
</el-table-column>
<el-table-column
prop="in_ip"
align="center"
label="ip地址">
<el-table-column prop="in_ip" align="center" label="ip地址">
</el-table-column>
<el-table-column
align="center"
prop="online"
:formatter="statusFormatter"
label="在线状态">
label="在线状态"
>
</el-table-column>
<el-table-column
align="center"
prop="video_total"
label="分析资源数">
<el-table-column align="center" prop="video_total" label="分析资源数">
</el-table-column>
<el-table-column
align="center"
prop="video_free"
label="可用分析资源数">
label="可用分析资源数"
>
</el-table-column>
<el-table-column
align="center"
prop="working_status"
label="工作状态">
label="工作状态"
>
</el-table-column>
<el-table-column
align="center"
width="300"
prop="operation"
label="操作">
label="操作"
>
<template slot-scope="scope">
<el-tooltip content="详情" placement="bottom" effect="light" :visible-arrow=false>
<span class="el-icon-info editIcon" @click="detail(scope.$index, scope.row)"></span>
<el-tooltip
content="详情"
placement="bottom"
effect="light"
:visible-arrow="false"
>
<span
class="el-icon-info editIcon"
@click="detail(scope.$index, scope.row)"
></span>
</el-tooltip>
</template>
</el-table-column>
......@@ -76,282 +89,321 @@
:current-page="page"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:total="total">
:total="total"
>
</el-pagination>
<div style="clear: both;"></div>
</div>
</div>
</div>
<el-dialog title="详情" :visible.sync="detailVisible">
<el-table height="574"
:data="detailData"
stripe
border>
<li>{{detail.online == 1 ? (detail.status.hardWareInfo.temperature[0]?detail.status.hardWareInfo.temperature[0].curTemperature : ''):''}}</li>
<el-table-column prop="device_name" align="center" label="核心板名称"></el-table-column>
<el-table-column prop="in_ip" align="center" label="核心板IP"></el-table-column>
<el-table height="574" :data="detailData" stripe border>
<li>
{{
detail.online == 1
? detail.status.hardWareInfo.temperature[0]
? detail.status.hardWareInfo.temperature[0].curTemperature
: ""
: ""
}}
</li>
<el-table-column
prop="device_name"
align="center"
label="核心板名称"
></el-table-column>
<el-table-column
prop="in_ip"
align="center"
label="核心板IP"
></el-table-column>
<el-table-column
align="center"
prop="online"
:formatter="statusFormatter"
label="在线状态">
label="在线状态"
>
</el-table-column>
<el-table-column prop="cpuUse" align="center" label="CPU使用率" :formatter="cpuUseFormatter"></el-table-column>
<el-table-column prop="cpuTem" align="center" label="CPU温度(℃)" :formatter="cpuTemFormatter"></el-table-column>
<el-table-column
prop="cpuUse"
align="center"
label="CPU使用率"
:formatter="cpuUseFormatter"
></el-table-column>
<el-table-column
prop="cpuTem"
align="center"
label="CPU温度(℃)"
:formatter="cpuTemFormatter"
></el-table-column>
</el-table>
</el-dialog>
</div>
</template>
<script>
export default {
data(){
return{
detailData:[],
dev_unid: sessionStorage.getItem('dev_unid'),
resource:{
export default {
data() {
return {
detailData: [],
dev_unid: sessionStorage.getItem("dev_unid"),
resource: {
picture_busy: 0,
picture_free: 0,
video_busy: 0,
video_free: 0,
video_free: 0
},
total:0,
page:1,
pageSize:30,
total: 0,
page: 1,
pageSize: 30,
tableData: [],
devsList:[],
selectDevs:'',
detailVisible:false
}
},
components:{
devsList: [],
selectDevs: "",
detailVisible: false
};
},
mounted(){
components: {},
mounted() {
this.getResource();
this.getDevsName();
},
methods:{
devsChange(){
methods: {
devsChange() {
this.getTableList();
},
getResource(){
this.$api.resource.getResource({},this.dev_unid).then(res=>{
this.resource=res.works;
})
getResource() {
this.$api.resource.getResource({}, this.dev_unid).then(res => {
this.resource = res.works;
});
},
getDevsName(){
this.$api.resource.getDevsName({
getDevsName() {
this.$api.resource
.getDevsName(
{
is_leaf: 0
},this.dev_unid).then(res=>{
this.devsList=res.list_data;
if(res.list_data.length>0){
this.selectDevs=res.list_data[0].device_id;
},
this.dev_unid
)
.then(res => {
this.devsList = res.list_data;
if (res.list_data.length > 0) {
this.selectDevs = res.list_data[0].device_id;
}
this.getTableList();
})
});
},
statusFormatter(row, column, cellValue, index){
if(cellValue == 1){
return '在线'
}else if(cellValue == 0){
return '离线'
}else {
return '未知'
statusFormatter(row, column, cellValue, index) {
if (cellValue == 1) {
return "在线";
} else if (cellValue == 0) {
return "离线";
} else {
return "未知";
}
},
cpuUseFormatter(row, column, cellValue, index){
if(row.online == 1){
return parseInt(row.status.hardWareInfo.usedResourceInfo.cpuRatio*60)+'%'
}else{
return ''
cpuUseFormatter(row, column, cellValue, index) {
if (row.online == 1) {
return (
parseInt(row.status.hardWareInfo.usedResourceInfo.cpuRatio * 60) + "%"
);
} else {
return "";
}
},
cpuTemFormatter(row, column, cellValue, index){
if(row.online == 1){
if(row.status.hardWareInfo.temperature[0]){
return row.status.hardWareInfo.temperature[0].curTemperature
}else{
return ''
cpuTemFormatter(row, column, cellValue, index) {
if (row.online == 1) {
if (row.status.hardWareInfo.temperature[0]) {
return row.status.hardWareInfo.temperature[0].curTemperature;
} else {
return "";
}
}else{
return ''
} else {
return "";
}
},
handleSizeChange(val) {
this.pageSize=val;
this.pageSize = val;
this.getTableList();
},
handleCurrentChange(val) {
this.page=val;
this.page = val;
this.getTableList();
},
getTableList(){
this.tableData=[];
getTableList() {
this.tableData = [];
let offset = (this.page - 1) * this.pageSize;
this.$api.resource.getDevsName({
this.$api.resource
.getDevsName(
{
limit: this.pageSize,
offset: offset,
parent_id: this.selectDevs,
},this.dev_unid).then((res)=>{
this.total=res.total_num;
parent_id: this.selectDevs
},
this.dev_unid
)
.then(res => {
this.total = res.total_num;
if(res.list_data==null){
this.tableData=[]
}else{
this.tableData=res.list_data;
if (res.list_data == null) {
this.tableData = [];
} else {
this.tableData = res.list_data;
}
}).catch((error)=>{
})
.catch(error => {});
},
detail(index,row){
this.detailData=[];
this.detailVisible=true;
this.$api.resource.getDevsName({
parent_id:row.device_id,
detail(index, row) {
this.detailData = [];
this.detailVisible = true;
this.$api.resource
.getDevsName(
{
parent_id: row.device_id,
offset: 0,
limit: 10000,
},this.dev_unid).then(res=>{
this.detailData=res.list_data;
this.detailData.unshift(row)
})
},
limit: 10000
},
this.dev_unid
)
.then(res => {
this.detailData = res.list_data;
this.detailData.unshift(row);
});
}
}
};
</script>
<style lang="scss" scoped>
.topCon{
.topCon {
background: $white-back-color;
margin-bottom: 12px;
height: 100px;
.left{
.left {
display: inline-block;
margin: {
top: 22px;
left: 30px;
};
img{
width:65px ;
}
img {
width: 65px;
height: 55px;
margin-right: 11px;
}
.topText{
font-size:24px;
font-family:MicrosoftYaHeiUI-Bold,MicrosoftYaHeiUI;
font-weight:bold;
.topText {
font-size: 24px;
font-family: MicrosoftYaHeiUI-Bold, MicrosoftYaHeiUI;
font-weight: bold;
margin-bottom: 4px;
}
.bottomText{
font-size:14px;
font-family:MicrosoftYaHeiUI;
.bottomText {
font-size: 14px;
font-family: MicrosoftYaHeiUI;
}
}
.right{
.right {
float: right;
.topText{
font-size:28px;
font-family:MicrosoftYaHeiUI-Bold,MicrosoftYaHeiUI;
font-weight:bold;
.topText {
font-size: 28px;
font-family: MicrosoftYaHeiUI-Bold, MicrosoftYaHeiUI;
font-weight: bold;
}
.bottomText{
.bottomText {
position: relative;
top: -1px;
font-size:14px;
font-family:MicrosoftYaHeiUI;
font-size: 14px;
font-family: MicrosoftYaHeiUI;
}
}
.textCon{
.textCon {
display: inline-block;
vertical-align: top;
}
.border{
.border {
display: inline-block;
height: 40px;
border: {
left: 2px solid $border-color;
};
}
.rightBox{
}
.rightBox {
margin-top: 14px;
display: inline-block;
img{
margin:{
top:15px;
img {
margin: {
top: 15px;
right: 22px;
}
}
}
.rightBox:nth-of-type(1){
img{
.rightBox:nth-of-type(1) {
img {
width: 34px;
height: 34px;
}
.textCon{
margin-right:114px ;
.textCon {
margin-right: 114px;
}
}
.rightBox:nth-of-type(2){
.rightBox:nth-of-type(2) {
position: relative;
top: 4px;
img{
img {
width: 40px;
height: 40px;
margin-left: 102px;
}
.textCon{
margin-right:101px ;
.textCon {
margin-right: 101px;
}
}
.rightBox:nth-of-type(3){
img{
.rightBox:nth-of-type(3) {
img {
width: 34px;
height: 35px;
margin-left: 104px;
}
.textCon{
margin-right:184px ;
}
.textCon {
margin-right: 184px;
}
}
.resourceDiv{
}
.resourceDiv {
display: inline-block;
margin-left: 10%;
span{
span {
margin-right: 5%;
}
}
.content{
background: #FFFFFF;
}
.inputBox{
}
.content {
background: #ffffff;
}
.inputBox {
margin-right: 20px;
}
.selectBox{
}
.selectBox {
margin-right: 20px;
}
.editIcon{
}
.editIcon {
cursor: pointer;
color:#0069ff;
font-size:16px;
}
.editIcon2{
color: #0069ff;
font-size: 16px;
}
.editIcon2 {
cursor: pointer;
color:#87d14b;
font-size:16px;
}
.playIcon{
color: #87d14b;
font-size: 16px;
}
.playIcon {
cursor: pointer;
color:#34b3a2;
font-size:16px;
}
.pauseIcon{
color: #34b3a2;
font-size: 16px;
}
.pauseIcon {
cursor: pointer;
color:#ffc62e;
font-size:14px;
}
.delIcon{
color: #ffc62e;
font-size: 14px;
}
.delIcon {
cursor: pointer;
color:#f2365a;
font-size:16px;
}
color: #f2365a;
font-size: 16px;
}
</style>
......@@ -2553,7 +2553,7 @@ debug@2.6.9, debug@^2.2.0, debug@^2.3.3:
dependencies:
ms "2.0.0"
debug@3.2.6, debug@^3.0.0, debug@^3.1.1, debug@^3.2.5, debug@^3.2.6:
debug@3.2.6, debug@^3.0.0, debug@^3.1.1, debug@^3.2.5:
version "3.2.6"
resolved "https://registry.npm.taobao.org/debug/download/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b"
dependencies:
......@@ -2596,10 +2596,6 @@ deep-equal@^1.0.1:
object-keys "^1.1.1"
regexp.prototype.flags "^1.2.0"
deep-extend@^0.6.0:
version "0.6.0"
resolved "https://registry.npm.taobao.org/deep-extend/download/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
deep-is@~0.1.3:
version "0.1.3"
resolved "https://registry.npm.taobao.org/deep-is/download/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
......@@ -2687,10 +2683,6 @@ destroy@~1.0.4:
version "1.0.4"
resolved "https://registry.npm.taobao.org/destroy/download/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
detect-libc@^1.0.2:
version "1.0.3"
resolved "https://registry.npm.taobao.org/detect-libc/download/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
detect-node@^2.0.4:
version "2.0.4"
resolved "https://registry.npm.taobao.org/detect-node/download/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c"
......@@ -3501,12 +3493,6 @@ fs-extra@^7.0.1:
jsonfile "^4.0.0"
universalify "^0.1.0"
fs-minipass@^1.2.5:
version "1.2.7"
resolved "https://registry.npm.taobao.org/fs-minipass/download/fs-minipass-1.2.7.tgz?cache=0&sync_timestamp=1579628689954&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffs-minipass%2Fdownload%2Ffs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7"
dependencies:
minipass "^2.6.0"
fs-minipass@^2.0.0:
version "2.1.0"
resolved "https://registry.npm.taobao.org/fs-minipass/download/fs-minipass-2.1.0.tgz?cache=0&sync_timestamp=1579628689954&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffs-minipass%2Fdownload%2Ffs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb"
......@@ -3988,7 +3974,7 @@ human-signals@^1.1.1:
version "1.1.1"
resolved "https://registry.npm.taobao.org/human-signals/download/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3"
iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@^0.4.4:
iconv-lite@0.4.24, iconv-lite@^0.4.24:
version "0.4.24"
resolved "https://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
dependencies:
......@@ -4008,12 +3994,6 @@ iferr@^0.1.5:
version "0.1.5"
resolved "https://registry.npm.taobao.org/iferr/download/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501"
ignore-walk@^3.0.1:
version "3.0.3"
resolved "https://registry.npm.taobao.org/ignore-walk/download/ignore-walk-3.0.3.tgz#017e2447184bfeade7c238e4aefdd1e8f95b1e37"
dependencies:
minimatch "^3.0.4"
ignore@^3.3.5:
version "3.3.10"
resolved "https://registry.npm.taobao.org/ignore/download/ignore-3.3.10.tgz?cache=0&sync_timestamp=1565775199290&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fignore%2Fdownload%2Fignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043"
......@@ -4104,10 +4084,6 @@ inherits@2.0.3:
version "2.0.3"
resolved "https://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz?cache=0&sync_timestamp=1560975547815&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finherits%2Fdownload%2Finherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
ini@~1.3.0:
version "1.3.5"
resolved "https://registry.npm.taobao.org/ini/download/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
inquirer@^6.2.2:
version "6.5.2"
resolved "https://registry.npm.taobao.org/inquirer/download/inquirer-6.5.2.tgz?cache=0&sync_timestamp=1579939863311&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Finquirer%2Fdownload%2Finquirer-6.5.2.tgz#ad50942375d036d327ff528c08bd5fab089928ca"
......@@ -4986,25 +4962,12 @@ minipass-pipeline@^1.2.2:
dependencies:
minipass "^3.0.0"
minipass@^2.6.0, minipass@^2.8.6, minipass@^2.9.0:
version "2.9.0"
resolved "https://registry.npm.taobao.org/minipass/download/minipass-2.9.0.tgz?cache=0&sync_timestamp=1571953917221&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fminipass%2Fdownload%2Fminipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6"
dependencies:
safe-buffer "^5.1.2"
yallist "^3.0.0"
minipass@^3.0.0, minipass@^3.1.1:
version "3.1.1"
resolved "https://registry.npm.taobao.org/minipass/download/minipass-3.1.1.tgz?cache=0&sync_timestamp=1571953917221&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fminipass%2Fdownload%2Fminipass-3.1.1.tgz#7607ce778472a185ad6d89082aa2070f79cedcd5"
dependencies:
yallist "^4.0.0"
minizlib@^1.2.1:
version "1.3.3"
resolved "https://registry.npm.taobao.org/minizlib/download/minizlib-1.3.3.tgz?cache=0&sync_timestamp=1570255638980&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fminizlib%2Fdownload%2Fminizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d"
dependencies:
minipass "^2.9.0"
mississippi@^3.0.0:
version "3.0.0"
resolved "https://registry.npm.taobao.org/mississippi/download/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022"
......@@ -5157,14 +5120,6 @@ natural-compare@^1.4.0:
version "1.4.0"
resolved "https://registry.npm.taobao.org/natural-compare/download/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
needle@^2.2.1:
version "2.3.2"
resolved "https://registry.npm.taobao.org/needle/download/needle-2.3.2.tgz#3342dea100b7160960a450dc8c22160ac712a528"
dependencies:
debug "^3.2.6"
iconv-lite "^0.4.4"
sax "^1.2.4"
negotiator@0.6.2:
version "0.6.2"
resolved "https://registry.npm.taobao.org/negotiator/download/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb"
......@@ -5247,21 +5202,6 @@ node-libs-browser@^2.2.1:
util "^0.11.0"
vm-browserify "^1.0.1"
node-pre-gyp@*:
version "0.14.0"
resolved "https://registry.npm.taobao.org/node-pre-gyp/download/node-pre-gyp-0.14.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-pre-gyp%2Fdownload%2Fnode-pre-gyp-0.14.0.tgz#9a0596533b877289bcad4e143982ca3d904ddc83"
dependencies:
detect-libc "^1.0.2"
mkdirp "^0.5.1"
needle "^2.2.1"
nopt "^4.0.1"
npm-packlist "^1.1.6"
npmlog "^4.0.2"
rc "^1.2.7"
rimraf "^2.6.1"
semver "^5.3.0"
tar "^4.4.2"
node-releases@^1.1.47:
version "1.1.47"
resolved "https://registry.npm.taobao.org/node-releases/download/node-releases-1.1.47.tgz?cache=0&sync_timestamp=1579641052401&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnode-releases%2Fdownload%2Fnode-releases-1.1.47.tgz#c59ef739a1fd7ecbd9f0b7cf5b7871e8a8b591e4"
......@@ -5300,13 +5240,6 @@ nodent-runtime@^3.2.1:
dependencies:
abbrev "1"
nopt@^4.0.1:
version "4.0.1"
resolved "https://registry.npm.taobao.org/nopt/download/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d"
dependencies:
abbrev "1"
osenv "^0.1.4"
normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.5.0:
version "2.5.0"
resolved "https://registry.npm.taobao.org/normalize-package-data/download/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8"
......@@ -5351,24 +5284,6 @@ normalize-wheel@^1.0.1:
version "1.0.1"
resolved "https://registry.npm.taobao.org/normalize-wheel/download/normalize-wheel-1.0.1.tgz#aec886affdb045070d856447df62ecf86146ec45"
npm-bundled@^1.0.1:
version "1.1.1"
resolved "https://registry.npm.taobao.org/npm-bundled/download/npm-bundled-1.1.1.tgz#1edd570865a94cdb1bc8220775e29466c9fb234b"
dependencies:
npm-normalize-package-bin "^1.0.1"
npm-normalize-package-bin@^1.0.1:
version "1.0.1"
resolved "https://registry.npm.taobao.org/npm-normalize-package-bin/download/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2"
npm-packlist@^1.1.6:
version "1.4.8"
resolved "https://registry.npm.taobao.org/npm-packlist/download/npm-packlist-1.4.8.tgz?cache=0&sync_timestamp=1579784145028&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fnpm-packlist%2Fdownload%2Fnpm-packlist-1.4.8.tgz#56ee6cc135b9f98ad3d51c1c95da22bbb9b2ef3e"
dependencies:
ignore-walk "^3.0.1"
npm-bundled "^1.0.1"
npm-normalize-package-bin "^1.0.1"
npm-run-path@^2.0.0:
version "2.0.2"
resolved "https://registry.npm.taobao.org/npm-run-path/download/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f"
......@@ -5381,7 +5296,7 @@ npm-run-path@^4.0.0:
dependencies:
path-key "^3.0.0"
"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0, npmlog@^4.0.2:
"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0:
version "4.1.2"
resolved "https://registry.npm.taobao.org/npmlog/download/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
dependencies:
......@@ -5588,7 +5503,7 @@ os-tmpdir@^1.0.0, os-tmpdir@~1.0.2:
version "1.0.2"
resolved "https://registry.npm.taobao.org/os-tmpdir/download/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
osenv@0, osenv@^0.1.4:
osenv@0:
version "0.1.5"
resolved "https://registry.npm.taobao.org/osenv/download/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410"
dependencies:
......@@ -5724,6 +5639,10 @@ parseurl@~1.3.2, parseurl@~1.3.3:
version "1.3.3"
resolved "https://registry.npm.taobao.org/parseurl/download/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"
particles.js@^2.0.0:
version "2.0.0"
resolved "https://registry.npm.taobao.org/particles.js/download/particles.js-2.0.0.tgz#21386c4328d6c7f96780a201e96eedfc09c736f6"
pascalcase@^0.1.1:
version "0.1.1"
resolved "https://registry.npm.taobao.org/pascalcase/download/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14"
......@@ -6367,15 +6286,6 @@ rbush@^3.0.1:
dependencies:
quickselect "^2.0.0"
rc@^1.2.7:
version "1.2.8"
resolved "https://registry.npm.taobao.org/rc/download/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
dependencies:
deep-extend "^0.6.0"
ini "~1.3.0"
minimist "^1.2.0"
strip-json-comments "~2.0.1"
read-pkg-up@^1.0.1:
version "1.0.1"
resolved "https://registry.npm.taobao.org/read-pkg-up/download/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02"
......@@ -6724,7 +6634,7 @@ sass-loader@^8.0.0:
schema-utils "^2.6.1"
semver "^6.3.0"
sax@^1.2.4, sax@~1.2.4:
sax@~1.2.4:
version "1.2.4"
resolved "https://registry.npm.taobao.org/sax/download/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
......@@ -6766,7 +6676,7 @@ selfsigned@^1.10.7:
dependencies:
node-forge "0.9.0"
"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.0:
"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.0:
version "5.7.1"
resolved "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1580434257623&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
......@@ -7257,7 +7167,7 @@ strip-indent@^2.0.0:
version "2.0.0"
resolved "https://registry.npm.taobao.org/strip-indent/download/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68"
strip-json-comments@2.0.1, strip-json-comments@^2.0.1, strip-json-comments@~2.0.1:
strip-json-comments@2.0.1, strip-json-comments@^2.0.1:
version "2.0.1"
resolved "https://registry.npm.taobao.org/strip-json-comments/download/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
......@@ -7365,18 +7275,6 @@ tar@^2.0.0:
fstream "^1.0.12"
inherits "2"
tar@^4.4.2:
version "4.4.13"
resolved "https://registry.npm.taobao.org/tar/download/tar-4.4.13.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftar%2Fdownload%2Ftar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525"
dependencies:
chownr "^1.1.1"
fs-minipass "^1.2.5"
minipass "^2.8.6"
minizlib "^1.2.1"
mkdirp "^0.5.0"
safe-buffer "^5.1.2"
yallist "^3.0.3"
terser-webpack-plugin@^1.4.3:
version "1.4.3"
resolved "https://registry.npm.taobao.org/terser-webpack-plugin/download/terser-webpack-plugin-1.4.3.tgz?cache=0&sync_timestamp=1580403891929&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fterser-webpack-plugin%2Fdownload%2Fterser-webpack-plugin-1.4.3.tgz#5ecaf2dbdc5fb99745fd06791f46fc9ddb1c9a7c"
......@@ -7819,6 +7717,13 @@ vue-loader@^15.7.2:
vue-hot-reload-api "^2.3.0"
vue-style-loader "^4.1.0"
vue-particles@^1.0.9:
version "1.0.9"
resolved "https://registry.npm.taobao.org/vue-particles/download/vue-particles-1.0.9.tgz#29d9cc2be0157df1c0a87ec3b96c96f33279526e"
dependencies:
particles.js "^2.0.0"
vue "^2.2.6"
vue-router@^3.1.3:
version "3.1.5"
resolved "https://registry.npm.taobao.org/vue-router/download/vue-router-3.1.5.tgz#ff29b8a1e1306c526b52d4dc0532109f16c41231"
......@@ -7841,7 +7746,7 @@ vue-template-es2015-compiler@^1.9.0:
version "1.9.1"
resolved "https://registry.npm.taobao.org/vue-template-es2015-compiler/download/vue-template-es2015-compiler-1.9.1.tgz#1ee3bc9a16ecbf5118be334bb15f9c46f82f5825"
vue@^2.6.10:
vue@^2.2.6, vue@^2.6.10:
version "2.6.11"
resolved "https://registry.npm.taobao.org/vue/download/vue-2.6.11.tgz#76594d877d4b12234406e84e35275c6d514125c5"
......@@ -8145,7 +8050,7 @@ yallist@^2.1.2:
version "2.1.2"
resolved "https://registry.npm.taobao.org/yallist/download/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
yallist@^3.0.0, yallist@^3.0.2, yallist@^3.0.3:
yallist@^3.0.2:
version "3.1.1"
resolved "https://registry.npm.taobao.org/yallist/download/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!