From 92c759aef5049f69434185860ce7f705737ea99a Mon Sep 17 00:00:00 2001
From: fengachen <373943794@qq.com>
Date: Tue, 17 May 2022 23:59:25 +0800
Subject: [PATCH] =?UTF-8?q?=E3=80=90=E4=BF=AE=E6=94=B9=E3=80=91=E5=9B=BD?=
=?UTF-8?q?=E9=99=85=E7=A0=94=E8=AE=A8=E4=BC=9A=E5=98=89=E5=AE=BE=E4=BF=AE?=
=?UTF-8?q?=E6=94=B9=E6=8A=A5=E5=90=8D=E4=BF=A1=E6=81=AF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app.json | 5 +-
assets/js/http/meetingApi.js | 4 +-
.../guestEditSignUpInfo.js | 581 ++++++++++++++++++
.../guestEditSignUpInfo.json | 6 +
.../guestEditSignUpInfo.wxml | 258 ++++++++
.../guestEditSignUpInfo.wxss | 94 +++
.../meetingDetailSigned.js | 6 +
.../meetingDetailSigned.wxml | 4 +-
.../meetingDetailSigned.wxss | 15 +-
9 files changed, 967 insertions(+), 6 deletions(-)
create mode 100644 pages/guestEditSignUpinfo/guestEditSignUpInfo.js
create mode 100644 pages/guestEditSignUpinfo/guestEditSignUpInfo.json
create mode 100644 pages/guestEditSignUpinfo/guestEditSignUpInfo.wxml
create mode 100644 pages/guestEditSignUpinfo/guestEditSignUpInfo.wxss
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 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/guestEditSignUpinfo/guestEditSignUpInfo.wxss b/pages/guestEditSignUpinfo/guestEditSignUpInfo.wxss
new file mode 100644
index 0000000..337ed69
--- /dev/null
+++ b/pages/guestEditSignUpinfo/guestEditSignUpInfo.wxss
@@ -0,0 +1,94 @@
+/* pages/signUpPageGuoji/signUpPageGuoji.wxss */
+
+/* 报名页面 */
+page{
+ background-color: #F5F5F5;
+}
+
+.form-wrap {
+ width: 100wh;
+ background-color: #fff;
+ padding: 10px;
+ border: 1px solid #eee;
+ border-radius: 10px;
+}
+.wrap {
+ padding: 10px;
+ box-sizing: border-box;
+ margin-bottom: 20px;
+}
+
+.form-item {
+ width: 100%;
+ display: flex;
+ justify-content: space-between;
+ height: 40px;
+ padding: 10rpx 20rpx;
+ box-sizing: border-box;
+}
+.form-item input {
+ text-align: right;
+}
+.form-item-radio textarea{
+ margin-top: 15rpx;
+ width: 100%;
+ border: 1px solid #eee;
+ padding-left: 10px;
+ box-sizing: border-box;
+ height: 80px;
+ border-radius: 4px;
+}
+.form-item-radio {
+ margin-top: 20px;
+ width: 100%;
+ display: flex;
+ flex-direction: column;
+ padding: 10rpx 20rpx;
+ box-sizing: border-box;
+}
+.radio-label {
+ margin-bottom: 20px;
+}
+
+.item-label {
+ min-width:120px;
+}
+
+.text-right {
+ text-align: right;
+}
+
+.btn-wrap {
+ padding: 0 20rpx;
+ margin: 20rpx 0;
+ line-height: 80rpx;
+}
+.btn-ok {
+ width: 100%!important;
+ height: 80rpx;
+ border-radius: 4px;
+ background-color: #069F99;
+ font-weight: 400;
+ color: #fff;
+ font-size: 16px;
+ letter-spacing: 1px;
+}
+
+/* 红* */
+.validate::before{
+ content: '*';
+ font-size: 18px;
+ color: red;
+ position: absolute;
+ left: 40rpx;
+}
+/* 校验邀请码 */
+.validate-btn {
+ color: #fff;
+ background-color: #069F99;
+ font-weight: 500;
+ letter-spacing: 2px;
+}
+.primary-color {
+ color:#069F99!important;
+}
\ No newline at end of file
diff --git a/pages/meetingDetailSigned/meetingDetailSigned.js b/pages/meetingDetailSigned/meetingDetailSigned.js
index 4dfd234..2f4b4da 100644
--- a/pages/meetingDetailSigned/meetingDetailSigned.js
+++ b/pages/meetingDetailSigned/meetingDetailSigned.js
@@ -374,6 +374,12 @@ Page({
})
}
},
+ // 国际研讨会嘉宾编辑个人信息
+ editSignupInfo(){
+ wx.navigateTo({
+ url: `../guestEditSignUpinfo/guestEditSignUpInfo?&situationId=${this.data.singInPersonInfo.id}`,
+ })
+ },
/**
* 生命周期函数--监听页面加载
diff --git a/pages/meetingDetailSigned/meetingDetailSigned.wxml b/pages/meetingDetailSigned/meetingDetailSigned.wxml
index 9418e7f..d428bb1 100644
--- a/pages/meetingDetailSigned/meetingDetailSigned.wxml
+++ b/pages/meetingDetailSigned/meetingDetailSigned.wxml
@@ -188,7 +188,9 @@
wx:if="{{meetingInfo.meetingType == '3' && singInPersonInfo.identity === 1}}">
报名信息
+ 编辑报名信息
+
参会单位
{{singInPersonInfo.companyName}}
@@ -213,7 +215,7 @@
{{singInPersonInfo.speechTopic || ''}}
-
+
演讲PPT
diff --git a/pages/meetingDetailSigned/meetingDetailSigned.wxss b/pages/meetingDetailSigned/meetingDetailSigned.wxss
index 0d9fc0d..0cd9b44 100644
--- a/pages/meetingDetailSigned/meetingDetailSigned.wxss
+++ b/pages/meetingDetailSigned/meetingDetailSigned.wxss
@@ -5,7 +5,7 @@ page{
.basic-info .title{
height: 40px;
}
-.basic-info .title text{
+.basic-info .title text:first-child{
display: block;
border-left: 3px solid #069F99;
height: 14px;
@@ -18,6 +18,19 @@ page{
font-size: 15px;
font-weight: 500;
}
+.basic-info .title text:last-child{
+ display: block;
+ /* border-left: 3px solid #069F99; */
+ color: #069F99;
+ height: 14px;
+ padding-left: 10px;
+ border-radius: 2px;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ font-size: 15px;
+ font-weight: 500;
+}
.basic-info view{
background-color: #FFF;
padding: 15px;