添加获取当前选中的节点

master
Fluyan 2 years ago
parent bde66f5805
commit 01eb96413e

12159
package-lock.json generated

File diff suppressed because it is too large Load Diff

@ -6,7 +6,7 @@
:close-on-click-modal="false" :close-on-click-modal="false"
width="40%" width="40%"
> >
<el-form <!-- <el-form
label-position="left" label-position="left"
ref="formInfo" ref="formInfo"
label-width="100px" label-width="100px"
@ -21,10 +21,17 @@
ref="tree" ref="tree"
node-key="id" node-key="id"
:default-expand-all="true" :default-expand-all="true"
@check-change="handleCheckChange"
></el-tree> ></el-tree>
</el-form-item> </el-form-item>
</el-form> </el-form> -->
<el-tree
:data="listnr"
show-checkbox
:props="defaultProps"
ref="tree"
node-key="id"
:default-expand-all="true"
></el-tree>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button @click="getCheckedNodes"></el-button> <el-button @click="getCheckedNodes"></el-button>
<el-button @click="isShow = false"> </el-button> <el-button @click="isShow = false"> </el-button>
@ -54,6 +61,8 @@ export default {
label: "name", label: "name",
}, },
selid: 0, selid: 0,
ruleid: "",
parmsList: [],
}; };
}, },
mounted() { mounted() {
@ -77,31 +86,53 @@ export default {
}) })
.catch((err) => {}); .catch((err) => {});
}, },
handleCheckChange(data, checked, indeterminate) {
// start
if (checked == true) {
console.log(checked, indeterminate);
console.log(data);
// end
}
},
// //
getCheckedNodes() { getCheckedNodes() {
console.log(this.$refs.tree); const checkedNodes = this.$refs.tree.getCheckedNodes(false, true); //
//const checkedParam = []; //
console.log("当前选中的id是" + this.$refs.tree.getCheckedKeys(true)); let index = -1;
console.log("当前选中的id是" + this.$refs.tree.getCheckedKeys(false)); 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() { submitForm() {
this.$refs.formInfo.validate((valid) => { this.$refs.formInfo.validate((valid) => {
if (valid) { if (valid) {
setScheduleRulel({ list: formArr }) setScheduleRulel({ ruleid: this.ruleid, list: this.parmsList })
.then((res) => { .then((res) => {
this.isShow = false; this.isShow = false;
this.$message.success("添加成功"); this.$message.success("添加成功");
@ -111,6 +142,7 @@ export default {
this.$message.error("添加失败"); this.$message.error("添加失败");
}); });
} else { } else {
console.log({ ruleid: this.ruleid, list: this.parmsList });
console.log("error submit!!"); console.log("error submit!!");
return false; return false;
} }

@ -1,47 +1,108 @@
<template> <template>
<el-dialog class="addLineDialog" title="时间表设置" :visible.sync="isShow" :close-on-click-modal="false" width="60%" > <el-dialog
class="addLineDialog"
title="时间表设置"
:visible.sync="isShow"
:close-on-click-modal="false"
width="60%"
>
<el-tabs v-model="activeName" @tab-click="handleClick"> <el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="查询实际时间表" name="1"> <el-tab-pane label="查询实际时间表" name="1">
<div class="flexnr"> <div class="flexnr">
<div class="w8">通道:</div> <div class="w8">通道:</div>
<el-select v-model="selaccess" placeholder="请选择" class="mr20"> <el-select v-model="selaccess" placeholder="请选择" class="mr20">
<el-option v-for="item in accesslist" :key="item.id" :label="item.channelName" :value="item.id"></el-option> <el-option
v-for="item in accesslist"
:key="item.id"
:label="item.channelName"
:value="item.id"
></el-option>
</el-select> </el-select>
<el-button type="primary" @click="inquirebtn()"></el-button> <el-button type="primary" @click="inquirebtn()"></el-button>
</div> </div>
<div class="flexno bt30"> <div class="flexno bt30">
<div class="w8">时间表:</div> <div class="w8">时间表:</div>
<div class="w80 flexonly"> <div class="w80 flexonly">
<el-tag class="mr10 mt10" size="mini" v-for="(val,index) in this.shedulenr" :key="index">{{val}}</el-tag> <el-tag
class="mr10 mt10"
size="mini"
v-for="(val, index) in this.shedulenr"
:key="index"
>{{ val }}</el-tag
>
</div> </div>
</div> </div>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="设置时间表" name="2"> <el-tab-pane label="设置时间表" name="2">
<div class="deviceTable"> <div class="deviceTable">
<el-table ref="multipleTable" :data="deviceTableData" tooltip-effect="dark" style="width: 100%" height="calc(100% - 40px)"> <el-table
ref="multipleTable"
:data="deviceTableData"
tooltip-effect="dark"
style="width: 100%"
height="calc(100% - 40px)"
>
<el-table-column label="时间表类型" show-overflow-tooltip> <el-table-column label="时间表类型" show-overflow-tooltip>
<template>时间表类型</template> <template>时间表类型</template>
</el-table-column> </el-table-column>
<el-table-column prop="startTime" label="开始时间" show-overflow-tooltip ></el-table-column> <el-table-column
<el-table-column prop="endTime" label="结束时间" show-overflow-tooltip ></el-table-column> prop="startTime"
<el-table-column prop="span" label="间隔(分)" show-overflow-tooltip></el-table-column> label="开始时间"
<el-table-column prop="remark" label="备注" show-overflow-tooltip></el-table-column> show-overflow-tooltip
></el-table-column>
<el-table-column
prop="endTime"
label="结束时间"
show-overflow-tooltip
></el-table-column>
<el-table-column
prop="span"
label="间隔(分)"
show-overflow-tooltip
></el-table-column>
<el-table-column
prop="remark"
label="备注"
show-overflow-tooltip
></el-table-column>
<el-table-column fixed="right" label="操作" width="200"> <el-table-column fixed="right" label="操作" width="200">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="text" @click.native.stop="handleSet(scope.row)">设置</el-button> <el-button type="text" @click.native.stop="handleSet(scope.row)"
>设置</el-button
>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<div class="pageNation"> <div class="pageNation">
<el-pagination :current-page="page" :page-size="pageSize" layout=" prev, pager, next, jumper,total" <el-pagination
@current-change="handleCurrentChange" :total="total" background > :current-page="page"
:page-size="pageSize"
layout=" prev, pager, next, jumper,total"
@current-change="handleCurrentChange"
:total="total"
background
>
</el-pagination> </el-pagination>
</div> </div>
</div> </div>
<el-dialog class="addLineDialog" title="设置" :visible.sync="isShowset" :close-on-click-modal="false" width="40%" append-to-body> <el-dialog
<el-form label-position="left" ref="formInfo" label-width="100px" > class="addLineDialog"
title="设置"
:visible.sync="isShowset"
:close-on-click-modal="false"
width="40%"
append-to-body
>
<el-form label-position="left" ref="formInfo" label-width="100px">
<el-form-item label="通道:"> <el-form-item label="通道:">
<el-tree :data="listnr" show-checkbox :props="defaultProps" ref="tree" node-key="id" ></el-tree> <el-tree
:data="listnr"
show-checkbox
:props="defaultProps"
ref="tree"
node-key="id"
:default-expand-all="true"
></el-tree>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
@ -55,52 +116,64 @@
</el-dialog> </el-dialog>
</template> </template>
<script> <script>
import { getChannelListJoggle, getSchedulenr,getScheduleRulelListJoggle, setScheduleRulel,getScheduleRulelAccessList } from "@/utils/api/index"; import {
getChannelListJoggle,
getSchedulenr,
getScheduleRulelListJoggle,
setScheduleRulel,
getScheduleRulelAccessList,
} from "@/utils/api/index";
export default { export default {
props: { props: {
title:String title: String,
}, },
data() { data() {
return { return {
isShow: false, isShow: false,
isShowset:false, isShowset: false,
activeName: '1',// activeName: "1", //
accesslist:[],// accesslist: [], //
selaccess:'',// selaccess: "", //
shedulenr:[],// shedulenr: [], //
deviceTableData: [],//- deviceTableData: [], //-
page: 1, // page: 1, //
pageSize: 10, // pageSize: 10, //
total: 0, // total: 0, //
listnr: [],// listnr: [], //
defaultProps: { defaultProps: {
children: 'list', children: "list",
label: 'name' label: "name",
}, },
selfacilityId:''//id selfacilityId: "", //id
ruleid: "", //线id
parmsList: [], //
}; };
}, },
mounted() { mounted() {},
},
methods: { methods: {
handleClick(tab, event) { handleClick(tab, event) {
console.log(tab, event); console.log(tab, event);
}, },
// //
getSingleAccess(id){ getSingleAccess(id) {
this.selfacilityId=id this.selfacilityId = id;
getChannelListJoggle({ termid: id }).then((res) => { getChannelListJoggle({ termid: id })
this.accesslist = res.data.list .then((res) => {
this.selaccess = res.data.list[0].id this.accesslist = res.data.list;
}).catch((err) => {}); this.selaccess = res.data.list[0].id;
})
.catch((err) => {});
}, },
// //
inquirebtn(){ inquirebtn() {
getSchedulenr({ channelid: this.selaccess, terminalid: this.selfacilityId }).then((res) => { getSchedulenr({
channelid: this.selaccess,
terminalid: this.selfacilityId,
})
.then((res) => {
this.$message.success("查询成功"); this.$message.success("查询成功");
// this.shedulenr = res.data.list.join("; ") // this.shedulenr = res.data.list.join("; ")
this.shedulenr = res.data.list this.shedulenr = res.data.list;
}) })
.catch((err) => { .catch((err) => {
this.$message.error("查询失败"); this.$message.error("查询失败");
@ -108,9 +181,13 @@ export default {
}, },
//线 //线
deviceList() { deviceList() {
getScheduleRulelListJoggle({ pageindex: this.page, pagesize: this.pageSize }).then((res) => { getScheduleRulelListJoggle({
pageindex: this.page,
pagesize: this.pageSize,
})
.then((res) => {
this.deviceTableData = res.data.list; this.deviceTableData = res.data.list;
this.total = res.data.total this.total = res.data.total;
}) })
.catch((err) => {}); .catch((err) => {});
}, },
@ -120,24 +197,64 @@ export default {
this.deviceList(); this.deviceList();
}, },
//- //-
handleSet(val){ handleSet(val) {
this.isShowset=true this.isShowset = true;
getScheduleRulelAccessList({ termid:this.selfacilityId }).then((res) => { getScheduleRulelAccessList({ termid: this.selfacilityId })
this.listnr = res.data.list .then((res) => {
}).catch((err) => {}); this.listnr = res.data.list;
})
.catch((err) => {});
}, },
// //
getCheckedNodes() { getCheckedNodes() {
console.log(this.$refs.tree.getCheckedNodes()); 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) => {
console.log(item);
return {
termid: item.termid,
channelidlist: item.channelidlist,
};
});
console.log(this.parmsList);
return this.parmsList;
}, },
// //
submitForm() { submitForm() {
this.$refs.formInfo.validate((valid) => { this.$refs.formInfo.validate((valid) => {
if (valid) { if (valid) {
setScheduleRulel({ list: formArr }).then((res) => { setScheduleRulel({ ruleid: this.ruleid, list: this.parmsList })
this.isShowset = false .then((res) => {
this.isShowset = false;
this.$message.success("添加成功"); this.$message.success("添加成功");
this.$parent.deviceList() this.$parent.deviceList();
}) })
.catch((err) => { .catch((err) => {
this.$message.error("添加失败"); this.$message.error("添加失败");
@ -149,44 +266,44 @@ export default {
}); });
}, },
display() { display() {
this.isShow = true this.isShow = true;
}, },
hide() { hide() {
this.isShow = false this.isShow = false;
} },
} },
}; };
</script> </script>
<style lang="less"> <style lang="less">
.flexonly{ .flexonly {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
} }
.flexno{ .flexno {
display: flex; display: flex;
margin-top: 25px; margin-top: 25px;
} }
.flexnr{ .flexnr {
display: flex; display: flex;
align-items: center; align-items: center;
margin-top: 25px; margin-top: 25px;
} }
.mt10{ .mt10 {
margin-top: 10px; margin-top: 10px;
} }
.mr10{ .mr10 {
margin-right: 10px; margin-right: 10px;
} }
.w8{ .w8 {
width: 8%; width: 8%;
} }
.w80{ .w80 {
width: 80%; width: 80%;
} }
.mr20{ .mr20 {
margin-right: 20px; margin-right: 20px;
} }
.bt30{ .bt30 {
margin-bottom: 30px; margin-bottom: 30px;
} }
.deviceTable { .deviceTable {

@ -62,13 +62,13 @@
</el-option> </el-option>
</el-select> </el-select>
</div> </div>
</div> <div class="setTimebtn">
<div class="paramsDate">
<el-button type="primary" @click.native.stop="handleSetSchedule()" <el-button type="primary" @click.native.stop="handleSetSchedule()"
>时间表设置</el-button >时间表设置</el-button
> >
</div> </div>
</div> </div>
</div>
<!-- <paramArea></paramArea> --> <!-- <paramArea></paramArea> -->
<setschedule ref="setschedule_ref"></setschedule> <setschedule ref="setschedule_ref"></setschedule>
</div> </div>
@ -85,14 +85,14 @@ import carouselChart from "../components/carouselChart.vue";
import picturemain from "./picturemain.vue"; // import picturemain from "./picturemain.vue"; //
import paramArea from "./paramArea.vue"; // import paramArea from "./paramArea.vue"; //
import setschedule from "./components/setschedule.vue" import setschedule from "./components/setschedule.vue";
export default { export default {
components: { components: {
picturemain, picturemain,
paramArea, paramArea,
carouselChart, carouselChart,
setschedule setschedule,
}, },
data() { data() {
return { return {
@ -235,15 +235,11 @@ export default {
this.getTerminalPhotoList(val, this.dateValue, channelObj.termid); this.getTerminalPhotoList(val, this.dateValue, channelObj.termid);
}, },
// //
<<<<<<< HEAD handleSetSchedule() {
handleSetSchedule() {}, this.$refs.setschedule_ref.display();
======= this.$refs.setschedule_ref.getSingleAccess(this.channelId);
handleSetSchedule(){ this.$refs.setschedule_ref.deviceList();
this.$refs.setschedule_ref.display() },
this.$refs.setschedule_ref.getSingleAccess(this.channelId)
this.$refs.setschedule_ref.deviceList()
}
>>>>>>> xy-ly
}, },
}; };
</script> </script>
@ -299,7 +295,8 @@ export default {
padding: 16px 16px; padding: 16px 16px;
border-left: 1px solid #dcdfe6; border-left: 1px solid #dcdfe6;
.monitorItemBox, .monitorItemBox,
.paramsDate { .paramsDate,
.setTimebtn {
margin-bottom: 16px; margin-bottom: 16px;
h3 { h3 {
font-size: 16px; font-size: 16px;

Loading…
Cancel
Save