拍照装置列表调整

master
fanluyan 2 years ago
parent 1783b476c6
commit 5d328e39ca

@ -1,385 +0,0 @@
<template>
<el-dialog
class="photoSetDialog"
title="设置"
:visible.sync="isShow"
:close-on-click-modal="false"
width="1020px"
>
<div class="setTimeTd">
<h3>时间表规则</h3>
<div class="flexTimeGz">
<p class="timeGz" v-for="(val, index) in ruleSchedule" :key="index">
<span>{{ val.startTime }}</span> ~
<span>{{ val.endTime }}</span>
间隔<b>{{ val.span }}分钟</b>
</p>
</div>
<h3>设置通道</h3>
<div class="chooseTDBox">
<label>选择通道:</label>
<div class="checkBox">
<el-radio-group v-model="checkedAisle" @change="handleChange">
<el-radio
:label="val.id"
border
v-for="val in aisleList"
:key="val.id"
>{{ val.name }}</el-radio
>
</el-radio-group>
</div>
</div>
<div class="flexnr" v-loading="loading" v-if="newzzList.length !== 0">
<div class="dybox" v-for="(dyitem, index) in newzzList" :key="index">
<h4>电压等级{{ dyitem.name }}</h4>
<div
class="xlbox"
v-for="(xlitem, index) in dyitem.list"
:key="index"
>
<div class="zzbox">
<el-checkbox
:indeterminate="isIndeterminate"
v-model="xlitem.isCheck"
@change="handleCheckAllChange(item.isCheck, index)"
>
<h4>线路{{ xlitem.name }}</h4>
</el-checkbox>
<el-checkbox-group v-model="zzListCheck" @change="handleCheckBox">
<el-checkbox
:label="zzitem.id"
v-for="(zzitem, index) in xlitem.list"
:key="index"
>{{ zzitem.displayName }}
<b v-if="false" class="zzstatus"></b>
</el-checkbox>
</el-checkbox-group>
</div>
</div>
</div>
</div>
<div class="flexnr" v-else>
<p class="nochannel">暂无通道</p>
</div>
</div>
<div slot="footer" class="dialog-footer">
<!-- <el-button @click="getCheckedNodes"></el-button> -->
<el-button @click="isShow = false"> </el-button>
<el-button type="primary" @click="submitForm()"> </el-button>
</div>
</el-dialog>
</template>
<script>
import {
setScheduleRulel,
getScheduleRulelAccessList,
getTermListByChannelJoggle,
} from "@/utils/api/index";
export default {
props: {
title: String,
},
data() {
return {
contentStyle: { width: "90px" },
isShow: false,
selid: 0, //id
ruleSchedule: [], //
checkedAisle: "", //
aisleList: [], //
listnr: [], //
defaultProps: {
children: "list",
label: "name",
},
ruleid: "",
parmsList: [], //
multipleSelection: [],
//
newzzList: [],
zzListCheck: [],
loading: false,
//
checkAll: true,
isIndeterminate: true, //
};
},
mounted() {},
methods: {
//
getdataform(val) {
this.selid = val.id;
this.ruleSchedule = val.list;
console.log(this.ruleSchedule, "时间规则");
this.getlistnr();
},
//
getlistnr() {
getScheduleRulelAccessList({})
.then((res) => {
this.listnr = res.data.list;
this.aisleList = res.data.channellist;
})
.catch((err) => {});
},
//q
handleCheckAllChange(val, index) {
let arr = [];
const re = this.data[index].children;
//
if (val) {
for (let i = 0; i < re.length; i++) {
arr[i] = re[i]["value"];
}
}
this.data[index].checkedData = arr;
this.data[index].isIndeterminate = false;
},
//
handleChange() {
console.log(this.checkedAisle);
this.loading = true;
getTermListByChannelJoggle({
id: this.checkedAisle,
})
.then((res) => {
console.log(res);
this.newzzList = res.data.list;
console.log(this.zzListCheck);
this.loading = false;
})
.catch((err) => {});
},
handleCheckBox() {
console.log(this.zzListCheck);
},
//
eachTreeData(data, callback, childKey) {
if (!childKey) childKey = "children";
data.forEach((d) => {
if (callback(d) !== false && d[childKey])
this.eachTreeData(d[childKey], callback, childKey);
});
},
// keykey
addKeyToList(data) {
let key = 0;
this.eachTreeData(data, (d) => {
d.key = key++;
});
},
//
getCheckedNodes() {
this.parmsList = [];
const checkedNodes = this.$refs.tree.getCheckedNodes(false, true); //
//const checkedParam = []; //
let index = -1;
// console.log(checkedNodes);
if (checkedNodes.length !== 0) {
checkedNodes.forEach((item) => {
// list
if (item.list !== undefined) {
index++;
this.parmsList[index] = {
//name: item.name,
termid: item.id,
channelidlist: [],
};
} else {
//list id push channelidlist
this.parmsList[index].channelidlist.push(item.id);
}
//bsManufacturer 线 线id
// if (item.bsManufacturer !== undefined) {
// this.ruleid = item.id;
// console.log(this.ruleid);
// }
});
}
// console.log(this.parmsList);
//channelichilddlist
this.parmsList = this.parmsList
.filter((item) => item.channelidlist.length !== 0)
.map((item) => {
return {
termid: item.termid,
channelidlist: item.channelidlist,
};
});
console.log(this.parmsList);
return this.parmsList;
},
//
submitForm() {
console.log(this.zzListCheck);
console.log(this.checkedAisle);
let checkzzList = [];
for (let i = 0; i < this.zzListCheck.length; i++) {
console.log(this.zzListCheck[i]);
checkzzList.push({
termid: this.zzListCheck[i],
channelidlist: [this.checkedAisle],
});
}
console.log(checkzzList);
if (this.zzListCheck.length == 0) {
this.$message.error("请选择通道");
} else {
setScheduleRulel({
scheduleid: this.selid,
list: checkzzList,
})
.then((res) => {
this.isShow = false;
this.$message({
showClose: true,
message: '添加成功',type: 'success'
});;
this.$parent.deviceList();
})
.catch((err) => {
this.$message({
showClose: true,
message: '添加失败',type: 'error'
});
});
}
// if (this.parmsList.length == 0)
// return this.$message.error("");
// setScheduleRulel({ list: this.parmsList, ruleid: this.selid })
// .then((res) => {
// this.isShow = false;
// this.$message({
showClose: true,
message: '添加成功',type: 'success'
});;
// this.$parent.deviceList();
// })
// .catch((err) => {
// this.$message({
showClose: true,
message: '添加失败',type: 'error'
});
// });
},
display() {
this.isShow = true;
},
hide() {
this.isShow = false;
},
},
};
</script>
<style lang="less">
.photoSetDialog {
.el-dialog__body {
// height: 360px;
// overflow: auto;
}
.flexnr {
height: 360px;
overflow: auto;
display: flex;
align-items: flex-start;
border: 1px solid #eee;
padding: 16px;
border-radius: 4px;
.dybox {
h4 {
font-size: 14px;
color: #333;
line-height: 24px;
font-weight: normal;
}
.xlbox {
h4 {
font-size: 14px;
color: #333;
line-height: 24px;
font-weight: normal;
}
margin-left: 16px;
.zzbox {
h4 {
}
.el-checkbox-group {
// display: flex;
// flex-direction: column;
margin-left: 22px;
.el-checkbox {
line-height: 28px;
//width: 196px;
.el-checkbox__label {
b {
margin-left: 18px;
font-weight: normal;
font-size: 12px;
}
}
}
}
}
}
}
.nochannel {
width: 100%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
}
}
.w50 {
width: 50px;
}
.setTimeTd {
h3 {
margin: 8px 0px;
font-size: 16px;
line-height: 24px;
}
.flexTimeGz {
display: flex;
flex-wrap: wrap;
.timeGz {
line-height: 32px;
margin-right: 16px;
b {
font-weight: normal;
color: #409eff;
}
span {
margin: 0px 8px;
}
}
}
.setCheckbox {
.el-table__header .el-table-column--selection .cell .el-checkbox:after {
color: #333;
content: "全选";
font-size: 16px;
margin-left: 12px;
font-weight: bold;
}
}
}
.chooseTDBox {
display: flex;
align-items: center;
margin-bottom: 8px;
label {
margin-right: 8px;
}
}
.treeTable {
margin-top: 16px;
}
}
</style>

@ -19,79 +19,151 @@
@row-click="handleRowClick"
v-loading="loading"
>
<el-table-column
<!-- <el-table-column
prop="cmdid"
label="图像监测装置ID(cmdid)"
label="电压等级"
show-overflow-tooltip
>
</el-table-column> -->
<el-table-column
prop="linename"
label="线路名称"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop="towername"
label="杆塔名称"
show-overflow-tooltip
width="160px"
>
</el-table-column>
<el-table-column
prop="displayName"
label="显示名"
label="设备名称"
show-overflow-tooltip
width="160px"
>
<template slot-scope="scope">
<span v-if="scope.row.hadisplayNamesPan == ''">{{
scope.row.hadisplayNamesPan
}}</span>
<span v-else>{{ scope.row.cmdid }}</span>
</template>
</el-table-column>
<el-table-column prop="linename" label="线路编号"> </el-table-column>
<el-table-column prop="towername" label="杆塔编号"> </el-table-column>
<el-table-column prop="hasPan" label="是否带云台">
<template slot-scope="scope">
<span v-if="scope.row.hasPan == 0"></span>
<span v-if="scope.row.hasPan == 1"></span>
</template>
<el-table-column prop="cmdid" label="设备编号" show-overflow-tooltip>
</el-table-column>
<!-- <el-table-column
prop="updateTime"
label="修改时间"
:show-overflow-tooltip="true"
prop="cmdid"
label="SIM卡号"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop="cmdid"
label="网络类型"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop="cmdid"
label="状态"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop="cmdid"
label="装置型号"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop="cmdid"
label="装置厂家"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop="cmdid"
label="规约版本"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop="cmdid"
label="投运日期"
show-overflow-tooltip
:formatter="dateFormat"
width="160px"
>
</el-table-column> -->
<el-table-column prop="equipName" label="装置名称"> </el-table-column>
<el-table-column prop="model" label="装置型号"> </el-table-column>
<!-- <el-table-column label="经维度">
<template slot-scope="scope" v-if="scope.row.longitude">
<span>({{ scope.row.longitude }},</span>
<span>{{ scope.row.latitude }})</span>
<el-table-column
prop="lastHeartbeat"
label="最后一次心跳时间"
show-overflow-tooltip
>
<template slot-scope="scope">
{{
scope.row.lastHeartbeat == null
? ""
: $moment(scope.row.lastHeartbeat * 1000).format(
"yy-MM-DD HH:mm:ss"
)
}}</template
>
</el-table-column>
<el-table-column
prop="bootTime"
label="装置上次启动时间"
show-overflow-tooltip
>
<template slot-scope="scope"
>{{
scope.row.bootTime == null
? ""
: $moment(scope.row.bootTime * 1000).format(
"yy-MM-DD HH:mm:ss"
)
}}
</template>
</el-table-column> -->
<!-- <el-table-column prop="orgId" label="原始ID"> </el-table-column> -->
</el-table-column>
<el-table-column label="电量/电压" show-overflow-tooltip
><template slot-scope="scope"
>{{ scope.row.batteryCapacity }} /
{{ scope.row.batteryVoltage }}V</template
>
</el-table-column>
<el-table-column
prop="essentialInfoVersion"
label="装置基本信息版本号"
width="140px"
prop="signalStrength4g"
label="4G信号强度"
show-overflow-tooltip
>
</el-table-column>
<!-- <el-table-column label="出厂编号">
<template slot-scope="scope">{{ scope.row.bsIdentifier }}</template>
</el-table-column> -->
<!-- <el-table-column prop="bsManufacturer" label="生产厂家">
<!-- <el-table-column
prop="cmdid"
label=" 连续工作时间
剩余运行内存
剩余存储内存"
show-overflow-tooltip
>
</el-table-column> -->
<!-- <el-table-column
prop="bsProductionDate"
label="生产日期"
prop="updateTime"
label="修改时间"
:show-overflow-tooltip="true"
:formatter="dateFormat"
>
</el-table-column> -->
<el-table-column
<!-- <el-table-column
prop="createTime"
label="创建时间"
:show-overflow-tooltip="true"
:formatter="dateFormat"
>
</el-table-column>
</el-table-column> -->
<el-table-column fixed="right" label="操作" width="360">
<template slot-scope="scope">

Loading…
Cancel
Save