var app = getApp() var that; Component({ mixins: [], data: { userList: [],//人员集合 all_user_list: [],//人员集合 isShow: false, showId: 0,//显示的部门ID下员工 terr: [ { name: '全部', id: 0 } ], all_rule_list: [], rule_tree: [], selectUserId: [], isAllChecked: false, isItem: true, searchVal: '', }, props: { onClose: (data) => console.log(data), onConfirm: (data) => console.log(data), selectUser: [], isAllSelect: true,//是否多选 }, didMount() { that = this; // this.setData({ // selectUserId: this.props.selectUser, // }) this.getData(0); this.getBmData(); }, didUpdate() { }, didUnmount() { }, methods: { onConfirm() { this.props.onConfirm(this.data.selectUserId); this.onClose(); }, //搜索 bindKeyInput(e) { var userList = this.data.userList; var items = userList.filter((item) => { return item.name.indexOf(e.detail.value) >= 0 }); this.setData({ searchVal: items, isItem: e.detail.value ? false : true }) }, changeSection(e) { var item = e.target.dataset.item; var terr = this.data.terr; terr.push(item); console.log(item); if (item._child.length > 0) { that.setData({ rule_tree: item._child, terr: terr, isAllChecked: false }) } else { that.setData({ rule_tree: [], terr: terr, isAllChecked: false }) } this.getData(item.id); }, //点击导航栏 activeItem(e) { var item = e.target.dataset.item; var index = e.target.dataset.index; var terr = this.data.terr; if ((index + 1) == terr.length) { return false }; this.setData({ rule_tree: [],userList:[],all_user_list:[] }); if (index == 0) { this.setData({ terr: [{ name: '全部', id: 0 }], rule_tree: this.data.all_rule_list, isAllChecked: false }) } else { var arr = terr.slice(0, index + 1); this.setData({ rule_tree: item._child, terr: arr, isAllChecked: false }) } this.getData(item.id); }, // 点击下一级 openDown(e) { this.setData({ rule_tree: [] }); var item = e.target.dataset.item; var terr = this.data.terr; terr.push(item); if (item._child.length > 0) { that.setData({ rule_tree: item._child, terr: terr, isAllChecked: false }) } this.getData(item.id); }, getArrDifference(arr1, arr2) { var obj = {}; arr1.concat(arr2).forEach(function (v, i, arr) { obj[v.id] = v; }); return obj; }, //单选择 radioChange: function (e) { this.setData({ selectUserId: [e.detail.value] }) }, //关闭 onClose(e) { this.props.onClose(); }, //获取人员列表 getData(dept_id) { app.$get("api/employee/list", { dept_id: dept_id }).then((res) => { var list = res.data.data.list; var selectUserId = this.data.selectUserId; list.map((item) => { item.checked = false; if (selectUserId.length > 0) { selectUserId.forEach(item2 => { if (item.id == item2.id) { item.checked = true; } }) } }) this.setData({ userList: list, all_user_list: list }) }) }, //获取部门列表 getBmData(dept_id) { app.$get("api/department/tree", {}).then((res) => { var list = res.data.data.list; this.setData({ rule_tree: list, all_rule_list: list }) }) }, }, });