<template>
<div>
<tree-transfer :title="title" :from_data='fromData' :to_data='toData' :defaultProps="{label:'label'}" @addBtn='add'
@removeBtn='remove' :mode='mode' filter>
</tree-transfer>
<!-- 权限设置 -->
<div>
<h4>设置权限</h4>
<el-table :data="setUserperm" height="250" border style="width: 100%">
<el-table-column prop="label" label="姓名">
</el-table-column>
<el-table-column label="是否可以上传文件">
<template slot-scope="scope">
<el-switch v-model="scope.row.has_upload_permission" active-text="是" inactive-text="否">
</el-switch>
</template>
</el-table-column>
</el-table>
</div>
<div>
<h4>会议主持人</h4>
<el-select v-model="speaker" filterable placeholder="请选择">
<el-option v-for="item in setUserperm" :label="item.username" :value="item.user" :key="item.user">
</el-option>
</el-select>
</div>
<el-button type="primary" style="margin-top: 12px;" @click="next">下一步</el-button>
</div>
</template><script>
import treeTransfer from "el-tree-transfer"; // 引入export default {
data() {
return {
title: ["用户组人员", "选中人员"],
mode: "transfer", // transfer addressList
fromData: [],
toData: [],
setUserperm: [],
// 演讲人
speaker: "",
meetingId: localStorage.getItem("AlterMeetId")
};
},
methods: {
// 切换模式 现有树形穿梭框模式transfer 和通讯录模式addressList
changeMode() {
if (this.mode == "transfer") {
this.mode = "addressList";
} else {
this.mode = "transfer";
}
}, // 监听穿梭框组件添加
add(fromData, toData, obj) {
console.log("开始");
console.log(this.setUserperm);
let tempArr = [];
toData.forEach(item => {
item.children.forEach(itemChild => {
this.$set(itemChild, "has_upload_permission", true);
this.setUserperm.forEach((lastItem, index) => {
if (itemChild.id.split("-")[1] == lastItem.id.split("-")[1]) {
console.log(itemChild.has_upload_permission);
console.log(lastItem.has_upload_permission);
itemChild.has_upload_permission = lastItem.has_upload_permission;
return;
}
});
tempArr.push(itemChild);
});
});
this.setUserperm = tempArr;
console.log("结束");
console.log(this.setUserperm);
}, // 监听穿梭框组件移除
remove(fromData, toData, obj) {
// let tempArr = [];
// toData.forEach(item => {
// item.children.forEach(itemChild => {
// this.$set(itemChild, "has_upload_permission", true);
// tempArr.push(itemChild);
// });
// });
// this.setUserperm = tempArr;
// console.log(fromData);
// console.log(toData);
}, // 获取用户组和用户,用作穿梭框
getGroup() {
this.$axios
.get(`/api/meeting/${this.meetingId}/tree/`)
.then(res => {
this.fromData = res.data.from_data;
this.toData = res.data.to_data;
this.setUserperm = res.data.users;
console.log(this.setUserperm);
})
.catch(res => {
console.log(res);
});
}, //提交数据
async next() {
console.log(this.setUserperm);
// 设定演讲人
this.$emit("ParentNext");
if (this.speaker != "") {
this.setUserperm.forEach((item, index) => {
if (item.user === this.speaker) {
item.is_speaker = true;
console.log("主持人");
}
});
}
// 开始post数据
await this.setUserperm.forEach((item, index) => {
this.$axios
.post(`/api/meeting-user/${this.meetingId}/`, {
user: item.user,
meeting: this.meetingId,
has_upload_permission: item.has_upload_permission,
is_speaker: item.is_speaker
})
.then(res => {
console.log(res);
})
.catch(res => {
console.log(res);
});
});
}
},
components: { treeTransfer }, // 注册 created() {
this.getGroup();
},
watch: {
setUserperm(val, newval) {
console.log("变化");
console.log(val);
console.log(newval);
}
} // 会议id
// props: ["meetingId"]
};
</script><style>
</style>
解决方案 »
- 求高手,怎么批量绑定鼠标右键单击事件啊。我这代码有bug指点一下好吗。求求你们了,我研究一天未果了。
- 紧急求助!!SWFObject 设置动态高度
- 怎样将html设计的button放在ActiveX的上方
- 那位高手帮我分离一下页面中的jsp部分还有与此相关的js部分,多谢
- javascript如何读取text文本并统计某个字的出现个数
- 传参
- |zyciis| 帮我看一下为什么这个Js一定执行onload 事件 和 complete 事件呢 急
- 求一个JSP的树型菜单
- window.returnValue的值去了哪里?
- 100求一个将ascii码转换成8进制的代码!
- 验证表单失败怎么阻止点击提交
- 求助,jsp里面java的类型转换问题
// 监听穿梭框组件添加
add(fromData, toData, obj) {
console.log("开始");
console.log(this.setUserperm);
let tempArr = [];
toData.forEach(item => {
item.children.forEach(itemChild => {
this.$set(itemChild, "has_upload_permission", true);
this.setUserperm.forEach((lastItem, index) => {
if (itemChild.id.split("-")[1] == lastItem.id.split("-")[1]) {
console.log(itemChild.has_upload_permission);
console.log(lastItem.has_upload_permission);
itemChild.has_upload_permission = lastItem.has_upload_permission;
return;
}
});
tempArr.push(itemChild);
});
});
this.setUserperm = tempArr;
console.log("结束");
console.log(this.setUserperm);
},