diff --git a/miniprogram/api/meeting/visitorIinvitation.js b/miniprogram/api/meeting/visitorIinvitation.js index 12ed790..24730ab 100644 --- a/miniprogram/api/meeting/visitorIinvitation.js +++ b/miniprogram/api/meeting/visitorIinvitation.js @@ -62,4 +62,12 @@ export function selectVisitorRecordByIdRq(id) { url: '/api/visitor/selectVisitorRecordById/' + id, method: "get", }); +} + +// 获取参会人员列表 +export function getChangyangPersonListRq() { + return request({ + url: '/api/roomContent/getChangyangPersonList', + method: "get", + }); } \ No newline at end of file diff --git a/miniprogram/app.js b/miniprogram/app.js index aa944b6..210435a 100644 --- a/miniprogram/app.js +++ b/miniprogram/app.js @@ -6,15 +6,15 @@ App({ parkId: '26', // 园区id parkName: '长阳智会云控', // 园区名称 // 本地测试 - // DOMAIN_NAME_PREFIX: ' http://wrqhey.natappfree.cc', - // DOMAIN_NAME: ' http://wrqhey.natappfree.cc', //接口域名 - // IMG_NAME: ' http://wrqhey.natappfree.cc', - // socketUrl: 'wss://company.haxy.com.cn:4443/changyang-office/websocket-server', + DOMAIN_NAME_PREFIX: ' http://192.168.0.30', + DOMAIN_NAME: ' http://192.168.0.30:9227', //接口域名 + IMG_NAME: ' http://192.168.0.30:9227', + socketUrl: 'wss://192.168.0.30:9227/changyang-office/websocket-server', // 生产 - DOMAIN_NAME_PREFIX: 'https://www.chuangzhikj.com', - DOMAIN_NAME: 'https://www.chuangzhikj.com/saas-ics', //接口域名 - IMG_NAME: 'https://www.chuangzhikj.com/saas-ics', - socketUrl: 'wss://company.haxy.com.cn:4443/changyang-office/websocket-server', + // DOMAIN_NAME_PREFIX: 'https://www.chuangzhikj.com', + // DOMAIN_NAME: 'https://www.chuangzhikj.com/saas-ics', //接口域名 + // IMG_NAME: 'https://www.chuangzhikj.com/saas-ics', + // socketUrl: 'wss://company.haxy.com.cn:4443/changyang-office/websocket-server', globals: { refreshMyPages: false, homedata: {}, diff --git a/miniprogram/app.json b/miniprogram/app.json index 908be97..7de72a7 100644 --- a/miniprogram/app.json +++ b/miniprogram/app.json @@ -73,6 +73,7 @@ "pages/meeting/reservationRecord/exhibitionRecord/list/list", "pages/meeting/reservationRecord/exhibitionRecord/detail/detail", "pages/meeting/meetingRoom/meetingService/meetingService", + "pages/meeting/meetingRoom/meetingPerson/meetingPerson", "pages/smartDevice/region/region", "pages/smartDevice/room/room" ], diff --git a/miniprogram/pages/meeting/meetingRoom/meetingOrder/meetingOrder.js b/miniprogram/pages/meeting/meetingRoom/meetingOrder/meetingOrder.js index 15b9185..9bf0a06 100644 --- a/miniprogram/pages/meeting/meetingRoom/meetingOrder/meetingOrder.js +++ b/miniprogram/pages/meeting/meetingRoom/meetingOrder/meetingOrder.js @@ -36,7 +36,7 @@ Page({ userData: {}, serviceList: [], title: '', - personNum: '', + reservationPersonList: [], }, /** @@ -98,27 +98,29 @@ Page({ }) }, + // 跳转-人员列表 + jumpMeetingPerson() { + let ids = JSON.stringify(this.data.reservationPersonList.map(item => item.id)) + wx.navigateTo({ + url: `/pages/meeting/meetingRoom/meetingPerson/meetingPerson?ids=${ids}` + }) + }, // 提交订单 submitCase() { let _this = this // 参数校验 + // 主题 if (!_this.data.title) { - // 错误提示 - Notify({ - type: 'danger', - message: '请输入会议主题!' - }); - return; - } - if (_this.data.personNum == '') { - // 错误提示 - Notify({ - type: 'danger', - message: '请输入参会人数!' - }); + app.vantNotifyErr(Notify, '请输入会议主题!') return; } + // 参会人员 + let reservationPersonList = _this.data.reservationPersonList.map(item => { + return { + userId: item.id + } + }) // 过滤选择的服务 let serviceList = _this.data.serviceList.filter(item => item.isSelect) @@ -127,7 +129,7 @@ Page({ "userId": _this.data.userData.id, "customerId": _this.data.userData.icsCustomerId, "title": _this.data.title, - "personNum": _this.data.personNum, + reservationPersonList, "startTime": _this.data.startTime, "endDate": _this.data.endTime, "orderMoney": 0, diff --git a/miniprogram/pages/meeting/meetingRoom/meetingOrder/meetingOrder.wxml b/miniprogram/pages/meeting/meetingRoom/meetingOrder/meetingOrder.wxml index 4954035..7573f81 100644 --- a/miniprogram/pages/meeting/meetingRoom/meetingOrder/meetingOrder.wxml +++ b/miniprogram/pages/meeting/meetingRoom/meetingOrder/meetingOrder.wxml @@ -47,10 +47,10 @@ - - 参会人数 + + 参会人员 - + diff --git a/miniprogram/pages/meeting/meetingRoom/meetingPerson/meetingPerson.js b/miniprogram/pages/meeting/meetingRoom/meetingPerson/meetingPerson.js new file mode 100644 index 0000000..81240d2 --- /dev/null +++ b/miniprogram/pages/meeting/meetingRoom/meetingPerson/meetingPerson.js @@ -0,0 +1,191 @@ +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() { + + } +}) \ No newline at end of file diff --git a/miniprogram/pages/meeting/meetingRoom/meetingPerson/meetingPerson.json b/miniprogram/pages/meeting/meetingRoom/meetingPerson/meetingPerson.json new file mode 100644 index 0000000..28ba2a1 --- /dev/null +++ b/miniprogram/pages/meeting/meetingRoom/meetingPerson/meetingPerson.json @@ -0,0 +1,10 @@ +{ + "navigationBarTitleText": "请选择参会人员", + "usingComponents": { + "van-cell": "@vant/weapp/cell/index", + "van-index-bar": "@vant/weapp/index-bar/index", + "van-index-anchor": "@vant/weapp/index-anchor/index", + "van-divider": "@vant/weapp/divider/index", + "van-checkbox": "@vant/weapp/checkbox/index" + } +} \ No newline at end of file diff --git a/miniprogram/pages/meeting/meetingRoom/meetingPerson/meetingPerson.wxml b/miniprogram/pages/meeting/meetingRoom/meetingPerson/meetingPerson.wxml new file mode 100644 index 0000000..ea55c19 --- /dev/null +++ b/miniprogram/pages/meeting/meetingRoom/meetingPerson/meetingPerson.wxml @@ -0,0 +1,17 @@ + + + + + + + {{item.label}} + + + + + +暂无数据 + + + +提交 \ No newline at end of file diff --git a/miniprogram/pages/meeting/meetingRoom/meetingPerson/meetingPerson.wxss b/miniprogram/pages/meeting/meetingRoom/meetingPerson/meetingPerson.wxss new file mode 100644 index 0000000..26395f4 --- /dev/null +++ b/miniprogram/pages/meeting/meetingRoom/meetingPerson/meetingPerson.wxss @@ -0,0 +1,11 @@ +.itemView { + display: flex; + justify-content: flex-start; + align-items: center; + margin-right: 40rpx; +} + +.space { + width: 100%; + height: 400rpx; +} \ No newline at end of file