import { getChangyangPersonListRq } from "../../../../api/meeting/visitorIinvitation.js" Page({ data: { /** 索引栏*/ indexList: [], /** 数据*/ dataList: [], // ids: [], }, /** * 生命周期函数--监听页面加载 */ onLoad(options) { let _this = this; let ids = JSON.parse(options.ids) _this.setData({ ids }) // // 获取数据 _this.getDataList() }, // 获取数据 getDataList() { let _this = this; getChangyangPersonListRq().then(res => { console.log('getChangyangPersonListRq', res); let filterDataList = res.data.map(item => { let id = item.id let label = `${item.name ? item.name : item.mobile}-${item.mobile}` let isSelect = false // if (_this.data.ids.includes(id)) { isSelect = true } return { id, label, isSelect, } }) // 赋值并且格式化数据 _this.setAndFormatData(filterDataList) }) }, // 格式化数据 setAndFormatData(transferList) { let _this = this; // 索引列 let indexList = _this.getFirstCharacterList(transferList) // 对应每个索引的数据列表 let dataList = indexList.map(item => { let title = item; let collectList = []; for (let i = 0; i < transferList.length; i++) { let transferData = transferList[i]; if (title == transferData.label.substring(0, 1)) { collectList.push(transferData) } } return { title, list: collectList } }) _this.setData({ indexList, dataList }) }, // 获取第一个字符数组,不重复 getFirstCharacterList(list) { let firstNameList = list.map(item => { return { name: item.label.substring(0, 1), exist: false } }); for (let i = 0; i < firstNameList.length; i++) { for (let j = i + 1; j < firstNameList.length; j++) { // 已重复的数据直接跳过 if (firstNameList[j].exist) { continue; } // 数据重复 if (firstNameList[i].name == firstNameList[j].name) { firstNameList[j].exist = true; } } } return firstNameList.filter(item => !item.exist).map(item => item.name) }, // 选择 selectClick(e) { console.log('selectClick', e); let _this = this; let id = e.currentTarget.dataset.data.id let dataList = _this.data.dataList dataList.map(data => { data.list.map(item => { if (item.id == id) { item.isSelect = !item.isSelect } }) return data }) _this.setData({ dataList }) }, // 提交 submit() { let _this = this; let personList = [] _this.data.dataList.map(data => { personList = personList.concat(data.list.filter(item => item.isSelect)) }) // let pages = getCurrentPages(); //获取page let prevPage = pages[pages.length - 2]; //上一个页面(父页面) // 上个页面数据 // let detail = prevPage.data.detail; // 赋值上个页面的数据 prevPage.setData({ reservationPersonList: personList }) // 后退页面 wx.navigateBack(); }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady() { }, /** * 生命周期函数--监听页面显示 */ onShow() { }, /** * 生命周期函数--监听页面隐藏 */ onHide() { }, /** * 生命周期函数--监听页面卸载 */ onUnload() { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh() { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom() { }, /** * 用户点击右上角分享 */ onShareAppMessage() { } })