import { visitorListRq, visitorSelectUserByCustomerRq, } from "../../../../api/meeting/visitorIinvitation.js" Page({ data: { title: '', id: null, /** 索引栏*/ indexList: [], /** 数据*/ dataList: [], }, /** * 生命周期函数--监听页面加载 */ onLoad(options) { let _this = this; _this.setData({ ...options }) wx.setNavigationBarTitle({ title: '请选择' + options.title, }) // // if (_this.data.title == '单位') { // 获取所有的企业 _this.getVisitorList() } if (_this.data.title == '人员') { // 获取企业下的所有用户 _this.getVisitorSelectUserByCustomer() } }, // 获取所有的企业 getVisitorList() { let _this = this; visitorListRq().then(res => { console.log('getVisitorList', res); let filterDataList = res.rows.map(item => { return { label: item.name, otherData: JSON.stringify({ id: item.id, name: item.name, }) } }) // 赋值并且格式化数据 _this.setAndFormatData(filterDataList) }) }, // 获取企业下的所有用户 getVisitorSelectUserByCustomer() { let _this = this; visitorSelectUserByCustomerRq(_this.data.id).then(res => { console.log('getVisitorSelectUserByCustomer', res); let filterDataList = res.rows.map(item => { return { label: item.username + '-' + item.mobile, otherData: JSON.stringify({ id: item.id, username: item.username, mobile: item.mobile, }) } }) // 赋值并且格式化数据 _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 label = e.currentTarget.dataset.label let otherdata = JSON.parse(e.currentTarget.dataset.otherdata) // let pages = getCurrentPages(); //获取page let prevPage = pages[pages.length - 2]; //上一个页面(父页面) // 上个页面数据 let detail = prevPage.data.detail; // 更新上个页面对应的数据 if (_this.data.title == '单位') { detail.customerId = otherdata.id //企业id detail.customerName = otherdata.name //企业名称 detail.userId = null //被访人id detail.username = null //被访人姓名 detail.mobile = null //被访人手机号 } if (_this.data.title == '人员') { detail.userId = otherdata.id //被访人id detail.username = otherdata.username //被访人姓名 detail.mobile = otherdata.mobile //被访人手机号 } // 赋值上个页面的数据 prevPage.setData({ detail }) // 后退页面 wx.navigateBack(); }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady() { }, /** * 生命周期函数--监听页面显示 */ onShow() { }, /** * 生命周期函数--监听页面隐藏 */ onHide() { }, /** * 生命周期函数--监听页面卸载 */ onUnload() { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh() { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom() { }, /** * 用户点击右上角分享 */ onShareAppMessage() { } })