|
|
<template>
|
|
|
<el-dialog
|
|
|
class="photoSetDialog"
|
|
|
title="设置"
|
|
|
:visible.sync="isShow"
|
|
|
:close-on-click-modal="false"
|
|
|
width="1020px"
|
|
|
@close="handleclose"
|
|
|
>
|
|
|
<div class="setTimeTd" v-loading="timeboxLoading">
|
|
|
<div class="headTitle">
|
|
|
<div class="rulesInfo">
|
|
|
<h3>时间表规则:</h3>
|
|
|
<div
|
|
|
class="timeBox"
|
|
|
v-for="(val, index) in rulesTimeList.listTime"
|
|
|
:key="index"
|
|
|
>
|
|
|
<div class="timeSlot">
|
|
|
{{
|
|
|
new Date(val.startTime).getHours() < 10
|
|
|
? "0" + new Date(val.startTime).getHours()
|
|
|
: new Date(val.startTime).getHours()
|
|
|
}}:
|
|
|
{{
|
|
|
new Date(val.startTime).getMinutes() < 10
|
|
|
? "0" + new Date(val.startTime).getMinutes()
|
|
|
: new Date(val.startTime).getMinutes()
|
|
|
}}
|
|
|
~
|
|
|
{{
|
|
|
new Date(val.endTime).getHours() < 10
|
|
|
? "0" + new Date(val.endTime).getHours()
|
|
|
: new Date(val.endTime).getHours()
|
|
|
}}:
|
|
|
{{
|
|
|
new Date(val.endTime).getMinutes() < 10
|
|
|
? "0" + new Date(val.endTime).getMinutes()
|
|
|
: new Date(val.endTime).getMinutes()
|
|
|
}}
|
|
|
</div>
|
|
|
<div class="timespan">
|
|
|
间隔:<b>{{ val.span }}分钟</b>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="mathFloor">
|
|
|
<span class="mathTitle">设置偏移量(max:10):</span>
|
|
|
<el-input-number v-model="mathMam" :min="0" :max="10"></el-input-number>
|
|
|
<el-button type="primary" @click="setMathFloor()">设置</el-button>
|
|
|
</div>
|
|
|
<div class="channelBox">
|
|
|
<span class="channelTitle">选择通道:</span>
|
|
|
<div class="checkBox" v-if="channelList.length !== 0">
|
|
|
<el-radio-group v-model="checkedAisle" @change="handleChange">
|
|
|
<el-radio
|
|
|
:label="val.id"
|
|
|
border
|
|
|
v-for="val in channelList"
|
|
|
:key="val.id"
|
|
|
>{{ val.name }}</el-radio
|
|
|
>
|
|
|
</el-radio-group>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="treebox" v-loading="treeloading">
|
|
|
<el-tree
|
|
|
:data="treeList"
|
|
|
:props="defaultProps"
|
|
|
show-checkbox
|
|
|
node-key="id"
|
|
|
default-expand-all
|
|
|
:expand-on-click-node="false"
|
|
|
:check-on-click-node="true"
|
|
|
>
|
|
|
<span class="custom-tree-node" slot-scope="{ node, data }">
|
|
|
<span>{{ data.name == null ? data.cmdid : data.name }}</span
|
|
|
>-- <span>{{ data.id }}</span
|
|
|
>-- <span>{{ data.onlinestatus == 0 ? "离线" : "在线" }}</span
|
|
|
>--
|
|
|
<span>{{ data.protocol }}</span>
|
|
|
</span>
|
|
|
</el-tree>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
<!-- <el-button @click="getCheckedNodes">获取</el-button> -->
|
|
|
<el-button @click="handleclose">取 消</el-button>
|
|
|
<el-button type="primary" @click="submitForm()">确 定</el-button>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
</template>
|
|
|
<script>
|
|
|
import {
|
|
|
// setScheduleRulel,
|
|
|
getScheduleRulelAccessList,
|
|
|
getTermListByChannelJoggle,
|
|
|
// getCmaSchelduleUpload,
|
|
|
} from "@/utils/api/index";
|
|
|
// import moment from "moment";
|
|
|
export default {
|
|
|
data() {
|
|
|
return {
|
|
|
isShow: false,
|
|
|
timeboxLoading: false,
|
|
|
rulesTimeList: "", //当前时间表数据
|
|
|
mathMam: 0, //偏移量默认为0
|
|
|
checkedAisle: 1, //选中通道数据
|
|
|
channelList: [], //通道数据内容
|
|
|
treeloading: false,
|
|
|
treeList: [], //树结构
|
|
|
defaultProps: {
|
|
|
children: "list",
|
|
|
label: "name",
|
|
|
disabled: this.disabledFn,
|
|
|
},
|
|
|
};
|
|
|
},
|
|
|
mounted() {},
|
|
|
methods: {
|
|
|
//判断
|
|
|
getdataform(val) {
|
|
|
console.log(val);
|
|
|
this.rulesTimeList = val;
|
|
|
this.timeboxLoading = true;
|
|
|
this.getChannelList();
|
|
|
},
|
|
|
|
|
|
// 保存确定操作
|
|
|
submitForm() {},
|
|
|
//获取通道
|
|
|
getChannelList() {
|
|
|
getScheduleRulelAccessList({})
|
|
|
.then((res) => {
|
|
|
console.log(res);
|
|
|
this.channelList = res.data.channellist;
|
|
|
|
|
|
this.handleChange();
|
|
|
})
|
|
|
.catch((err) => {});
|
|
|
},
|
|
|
//改变通道获取树状结构
|
|
|
handleChange() {
|
|
|
console.log(this.checkedAisle);
|
|
|
this.treeloading = true;
|
|
|
getTermListByChannelJoggle({
|
|
|
id: this.checkedAisle,
|
|
|
})
|
|
|
.then((res) => {
|
|
|
console.log(res);
|
|
|
this.timeboxLoading = false;
|
|
|
|
|
|
this.treeList = res.data.list;
|
|
|
this.treeloading = false;
|
|
|
})
|
|
|
.catch((err) => {});
|
|
|
},
|
|
|
display() {
|
|
|
this.isShow = true;
|
|
|
},
|
|
|
clearfn() {},
|
|
|
handleclose() {
|
|
|
this.isShow = false;
|
|
|
},
|
|
|
},
|
|
|
};
|
|
|
</script>
|
|
|
<style lang="less">
|
|
|
.photoSetDialog {
|
|
|
.setTimeTd {
|
|
|
//background-color: #fcc;
|
|
|
.headTitle {
|
|
|
.rulesInfo {
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
line-height: 32px;
|
|
|
h3 {
|
|
|
font-size: 14px;
|
|
|
font-weight: normal;
|
|
|
}
|
|
|
.timeBox {
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
font-size: 14px;
|
|
|
margin-right: 8px;
|
|
|
.timeSlot {
|
|
|
font-size: 14px;
|
|
|
margin-right: 8px;
|
|
|
}
|
|
|
.timespan {
|
|
|
b {
|
|
|
font-size: 14px;
|
|
|
font-weight: normal;
|
|
|
color: #169e8c;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
.mathFloor {
|
|
|
margin-top: 8px;
|
|
|
.mathTitle {
|
|
|
font-size: 14px;
|
|
|
font-weight: normal;
|
|
|
}
|
|
|
.el-button {
|
|
|
margin-left: 8px;
|
|
|
}
|
|
|
}
|
|
|
.channelBox {
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
line-height: 32px;
|
|
|
margin-top: 8px;
|
|
|
.channelTitle {
|
|
|
font-size: 14px;
|
|
|
}
|
|
|
.el-radio {
|
|
|
margin-right: 8px;
|
|
|
}
|
|
|
}
|
|
|
.treebox {
|
|
|
margin-top: 8px;
|
|
|
background-color: #169e8c;
|
|
|
height: 360px;
|
|
|
// overflow: auto;
|
|
|
display: flex;
|
|
|
align-items: flex-start;
|
|
|
border: 1px solid #eee;
|
|
|
padding: 8px;
|
|
|
border-radius: 4px;
|
|
|
position: relative;
|
|
|
.el-tree {
|
|
|
width: 100%;
|
|
|
height: 100%;
|
|
|
overflow: auto;
|
|
|
.el-tree-node {
|
|
|
.el-tree-node__content {
|
|
|
height: 32px;
|
|
|
border-bottom: 1px solid #eee;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
</style>
|