diff --git a/app.json b/app.json index 2e8ba10..ebf59dd 100644 --- a/app.json +++ b/app.json @@ -34,9 +34,8 @@ "pages/standardRouter/standardRouter", "pages/standardBasicInfo/standardBasicInfo", "pages/council/council", - "pages/councilDetail/councilDetail" - - + "pages/councilDetail/councilDetail", + "pages/guestEditSignUpinfo/guestEditSignUpInfo" ], "window":{ "backgroundTextStyle": "dark", diff --git a/assets/js/http/meetingApi.js b/assets/js/http/meetingApi.js index 4b84204..3fd0330 100644 --- a/assets/js/http/meetingApi.js +++ b/assets/js/http/meetingApi.js @@ -8,7 +8,9 @@ const MeetingApi = { // 文件id获取文件信息 queryFileInfoById:(params) => http.get(`${URL_CONFIG}sys/oss/file/queryById`, params), // 参会人信息 - queryPersongInfoById:(params) => http.get(`${URL_CONFIG}meeting/payMeetingSituation/queryById`, params) + queryPersongInfoById:(params) => http.get(`${URL_CONFIG}meeting/payMeetingSituation/queryById`, params), + // 国际研讨会编辑嘉宾信息 + editSignUpInfo:(params) => http.post(`${URL_CONFIG}meeting/payMeetingSituation/editGuestInfo`, params) } export default MeetingApi diff --git a/pages/guestEditSignUpinfo/guestEditSignUpInfo.js b/pages/guestEditSignUpinfo/guestEditSignUpInfo.js new file mode 100644 index 0000000..e18624c --- /dev/null +++ b/pages/guestEditSignUpinfo/guestEditSignUpInfo.js @@ -0,0 +1,581 @@ +// pages/guestEditSignUpinfo/guestEditSignUpInfo.js +import MeetingApi from '../../assets/js/http/meetingApi' +import { + compareDate +} from '../../utils/validate' +import { + baseUrl, + URL_CONFIG +} from '../../assets/js/project.config.js' +Page({ + + /** + * 页面的初始数据 + */ + data: { + info: {}, // 参会人的信息 + guestType_dictText: '', // 嘉宾类型 + // 抵达时间 + arrivalTime: '请选择抵达时间', + // 入住酒店时间 + inHotelTime: '请选择入住酒店时间', + // 离店时间 + outHotelTime: '请选择离店时间', + // 离开时间 + departureTime: '请选择离开时间', + // 是否选择发票的选中的索引 + index: -1, + // 是否需要用餐 + haveMeal: '', + // 是否住酒店 + needHotel: '', + // 是否接站 + needPick: '', + // 是否送站 + needSend: '', + // 上传图片的id + imageIds: '', + // 记录临时的文件名 用于回显 小程序上传后后端的名会乱码 + tempFiles: '点击上传', + // ppt Id + speechPpt: '', + + // 是否 + need: [{ + value: 1, + name: '是' + }, + { + value: 0, + name: '否' + }, + ], + }, + // 初始化嘉宾类型 + initGuestType(type) { + switch (type) { + case 1: + this.setData({ + 'guestType_dictText': 'VIP' + }); + break + case 2: + this.setData({ + 'guestType_dictText': '演讲嘉宾' + }); + break + case 3: + this.setData({ + 'guestType_dictText': '特邀嘉宾' + }); + break + case 4: + this.setData({ + 'guestType_dictText': '合作伙伴' + }); + break + } + }, + // 表单的显示隐藏 + initForm(record) { + if(record.guestType === 1 && record.speechPpt){ + this.setData({ + 'info.speechPpt':record.speechPpt + }) + } + // 是否用餐 + if (record.haveMeals !== null) { + this.setData({ + haveMeal: record.haveMeals + }) + } + // 是否住酒店 + if (record.checkInHotel !== null) { + this.setData({ + needHotel: record.checkInHotel + }) + if(record.checkInHotel === 1 && record.inHotelTime){ + this.setData({ + 'inHotelTime':record.inHotelTime + }) + } + if(record.checkInHotel === 1 && record.outHotelTime){ + this.setData({ + 'outHotelTime':record.outHotelTime + }) + } + + } + // 是否接站 + if (record.pickUp !== null) { + this.setData({ + needPick: record.pickUp + }) + if(record.pickUp === 1 && record.arrivalTime){ + this.setData({ + 'arrivalTime':record.arrivalTime + }) + } + } + // 是否送站 + if (record.deliveryStation !== null) { + this.setData({ + needSend: record.deliveryStation + }) + + if(record.deliveryStation === 1 && record.departureTime){ + this.setData({ + 'departureTime':record.departureTime + }) + } + + } + }, + formSubmit(e) { + const formData = JSON.parse(JSON.stringify(e.detail.value)) + formData.guestType = this.data.info.guestType + formData.inHotelTime = this.data.info.inHotelTime + formData.outHotelTime = this.data.info.outHotelTime + formData.arrivalTime = this.data.info.arrivalTime + formData.departureTime = this.data.info.departureTime + formData.id = this.data.info.id + if(this.data.info.guestType === 1 || this.data.info.guestType === 2){ + formData.photo = this.data.info.photo + formData.speechPpt = this.data.info.speechPpt + } + console.log(formData) + if(this.data.info.guestType !== 4){ + // 不是合作伙伴的需要校验 + if(!formData.haveMeals){ + wx.showToast({ + title: '请选择是否用餐', + icon: 'none', + duration: 2000 + }) + return + } + + if(formData.haveMeals === "1" && !formData.huiPeople){ + wx.showToast({ + title: '请选择是否回民', + icon: 'none', + duration: 2000 + }) + return + } + if(formData.checkInHotel && formData.checkInHotel === "1" ){ + if(!formData.inHotelTime){ + wx.showToast({ + title: '请选择入住酒店时间', + icon: 'none', + duration: 2000 + }) + return + } + if(!formData.outHotelTime){ + wx.showToast({ + title: '请选择离店时间', + icon: 'none', + duration: 2000 + }) + return + } + if(formData.inHotelTime && formData.outHotelTime){ + let flag = compareDate(formData.inHotelTime,formData.outHotelTime) + if(flag){ + wx.showToast({ + title: '入住酒店时间不能大于离店时间', + icon: 'none', + duration: 2000 + }) + return + } + } + + if(!formData.roomLayout){ + wx.showToast({ + title: '请输入房型', + icon: 'none', + duration: 2000 + }) + return + } + } + + if(!formData.pickUp){ + wx.showToast({ + title: '请选择是否接站', + icon: 'none', + duration: 2000 + }) + return + } + + if(formData.pickUp === "1" && !formData.arrivalTime){ + wx.showToast({ + title: '请选择抵达时间', + icon: 'none', + duration: 2000 + }) + return + } + + if(formData.pickUp === "1" && !formData.destination){ + wx.showToast({ + title: '请选择抵达站', + icon: 'none', + duration: 2000 + }) + return + } + + if(formData.pickUp === "1" && !formData.arrivalShift){ + wx.showToast({ + title: '请输入到达班次', + icon: 'none', + duration: 2000 + }) + return + } + + if(!formData.deliveryStation){ + wx.showToast({ + title: '请选择是否送站', + icon: 'none', + duration: 2000 + }) + return + } + + if(formData.deliveryStation === "1" && !formData.departureTime){ + wx.showToast({ + title: '请选择离开时间', + icon: 'none', + duration: 2000 + }) + return + } + + if(formData.arrivalTime && formData.departureTime){ + let flag = compareDate(formData.arrivalTime,formData.departureTime) + if(flag){ + wx.showToast({ + title: '抵达时间不能大于离开时间', + icon: 'none', + duration: 2000 + }) + return + } + } + + if(formData.deliveryStation === "1" && !formData.departureStation){ + wx.showToast({ + title: '请输入离开站', + icon: 'none', + duration: 2000 + }) + return + } + + if(formData.deliveryStation === "1" && !formData.departureShift){ + wx.showToast({ + title: '请输入离开班次', + icon: 'none', + duration: 2000 + }) + return + } + + MeetingApi.editSignUpInfo(formData).then(res => { + if(res.success){ + wx.showToast({ + title: '编辑成功', + icon: 'none', + duration: 1000 + }) + let pages = getCurrentPages() + let prevPage = pages[pages.length - 2]; + prevPage.queryPeronInfo(this.data.info.id) + wx.navigateBack({ + delta: 1, + }) + }else{ + wx.showToast({ + title: res.message, + icon: 'none', + duration: 1000 + }) + } + }) + + }else{ + if(this.data.info.arrivalTime && this.data.info.departureTime){ + let flag = compareDate(this.data.info.arrivalTime,this.data.info.departureTime) + if(flag){ + wx.showToast({ + title: '抵达时间不能大于离开时间', + icon: 'none', + duration: 2000 + }) + return + } + } + const param = { + arriveTime:this.data.info.arrivalTime, + departureTime:this.data.info.departureTime, + id:this.data.info.id, + guestType: 4 + } + // 合作伙伴不需要校验 + MeetingApi.editSignUpInfo(param).then(res => { + if(res.success){ + wx.showToast({ + title: '编辑成功', + icon: 'none', + duration: 1000 + }) + let pages = getCurrentPages() + let prevPage = pages[pages.length - 2]; + prevPage.queryPeronInfo(this.data.info.id) + wx.navigateBack({ + delta: 1, + }) + }else{ + wx.showToast({ + title: res.message, + icon: 'none', + duration: 1000 + }) + } + }) + + } + }, + // 抵达时间选择 + bindDateChangeArriveTime(e) { + this.setData({ + arrivalTime: e.detail.value, + 'info.arrivalTime':e.detail.value + }) + }, + // 离开时间选择 + bindDateChangeLeaveTime(e) { + this.setData({ + departureTime: e.detail.value, + 'info.departureTime':e.detail.value + }) + }, + // 入住酒店时间 + bindDateChangeInHotelTime(e) { + this.setData({ + inHotelTime: e.detail.value, + 'info.inHotelTime':e.detail.value + }) + }, + // 离店时间选择 + bindDateChangeOutHotelTime(e) { + this.setData({ + outHotelTime: e.detail.value, + 'info.outHotelTime':e.detail.value + }) + }, + // 是否用餐 + needHaveMeal(e) { + let value = Number(e.detail.value) + this.setData({ + haveMeal: value + }) + }, + // 是否住酒店 + needHotel(e) { + let value = Number(e.detail.value) + this.setData({ + needHotel: value, + inHotelTime: '请选择入住酒店时间', + outHotelTime: '请选择离店时间' + }) + console.log(this.data.needHotel) + + }, + // 是否接站 + needPick(e) { + let value = Number(e.detail.value) + this.setData({ + needPick: value, + arrivalTime: '请选择抵达时间' + }) + }, + // 是否送站 + needSend(e) { + let value = Number(e.detail.value) + this.setData({ + needSend: value, + departureTime: '请选择离开时间' + }) + }, + //参会人信息 + queryPeronInfo(id) { + MeetingApi.queryPersongInfoById({ + id: id + }).then(res => { + if (res.success) { + this.initGuestType(res.result.guestType) + this.setData({ + info: res.result, + }) + this.initForm(this.data.info) + // 演讲ppt、 + if (res.result.speechPpt) { + this.initFileList(res.result.speechPpt).then(res => { + this.setData({ + speechPptList: res + }) + }) + } + } + }) + }, + // 获取图片的id + getImagesId(e) { + this.setData({ + 'info.photo': e.detail.join(',') + }) + }, + // ppt的上传 + uploadPPT() { + const that = this + wx.chooseMessageFile({ + count: 1, //能选择文件的数量 + type: 'file', //能选择文件的类型,我这里只允许上传文件.还有视频,图片,或者都可以 + success(res) { + console.log(res); + var size = res.tempFiles[0].size; + var name = res.tempFiles[0].name; + var temporaryPdfArr = []; + temporaryPdfArr.push(res.tempFiles[0]); + var filePath = res.tempFiles[0].path; + if (size > 10485760) { //限制了文件的大小和具体文件类型 + wx.showToast({ + title: '文件大小不能超过10MB', + icon: "none", + duration: 2000, + mask: true + }) + } else { + wx.showLoading({ + title: '上传中...', + mask: true, + }); + // 如果多个文件 要循环上传 + wx.uploadFile({ + url: baseUrl + URL_CONFIG + 'sys/common/upload', //上传的路径 + filePath: filePath, //刚刚在data保存的文件路径 + name: 'file', //后台获取的凭据 + success(res) { + var fileBackDa = JSON.parse(res.data); + console.log(fileBackDa); + var backPdfArr = []; + backPdfArr.push(fileBackDa) + wx.hideLoading(); //隐藏提示框 + //上传成功, + const fileList = [{name:name,id:'fileBackDa.result.id'}] + that.setData({ + tempFiles: name, + 'info.speechPpt': fileBackDa.result.id, + speechPptList:fileList + }); + } + }) + } + } + }) + }, + // 通过文件id获取文件的相关信息 + getFileInfo(id) { + return new Promise(resolve => { + let result = {} + MeetingApi.queryFileInfoById({ + id: id + }).then(res => { + if (res.success) { + result = res.result + } + }).finally(() => { + resolve(result) + }) + }) + }, + // 获取文件信息 + async initFileList(fileIds) { + if (fileIds) { + const fileList = [] + let arr = fileIds.split(',') + for (let i = 0; i < arr.length; i++) { + let fileObj = {} + fileObj = await this.getFileInfo(arr[i]) + fileList.push({ + id: fileObj.id, + name: fileObj.fileName + }) + } + return fileList + } + }, + + /** + * 生命周期函数--监听页面加载 + */ + onLoad: function (options) { + this.queryPeronInfo(options.situationId) + // this.queryPeronInfo('1526466713801809921') + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady: function () { + + }, + + /** + * 生命周期函数--监听页面显示 + */ + onShow: function () { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide: function () { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload: function () { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh: function () { + + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom: function () { + + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage: function () { + + } +}) \ No newline at end of file diff --git a/pages/guestEditSignUpinfo/guestEditSignUpInfo.json b/pages/guestEditSignUpinfo/guestEditSignUpInfo.json new file mode 100644 index 0000000..cea601a --- /dev/null +++ b/pages/guestEditSignUpinfo/guestEditSignUpInfo.json @@ -0,0 +1,6 @@ +{ + "navigationBarTitleText": "编辑信息", + "usingComponents": { + "image-upload":"../../components/imageUpload/imageUpload" + } +} \ No newline at end of file diff --git a/pages/guestEditSignUpinfo/guestEditSignUpInfo.wxml b/pages/guestEditSignUpinfo/guestEditSignUpInfo.wxml new file mode 100644 index 0000000..96f32ce --- /dev/null +++ b/pages/guestEditSignUpinfo/guestEditSignUpInfo.wxml @@ -0,0 +1,258 @@ + + + +
+ + + + + 参会单位: + + + + + 参会人: + + + + + 手机号: + + + + + 身份类型: + + + + + 嘉宾类型: + + + + + 演讲题目: + + + + + 演讲PPT: + + + + + {{item.name}} + + + + 点击上传 + + + + + + 照片: + + + + + + + + 个人简介: +