【update】 发票信息页面功能的增加、报名页面增加编辑、删除功能

This commit is contained in:
fengchenchen
2023-07-23 18:14:54 +08:00
parent 23b68045f9
commit 803d80d363
24 changed files with 1088 additions and 230 deletions
+2 -1
View File
@@ -35,7 +35,8 @@
"pages/standardBasicInfo/standardBasicInfo", "pages/standardBasicInfo/standardBasicInfo",
"pages/council/council", "pages/council/council",
"pages/councilDetail/councilDetail", "pages/councilDetail/councilDetail",
"pages/guestEditSignUpinfo/guestEditSignUpInfo" "pages/guestEditSignUpinfo/guestEditSignUpInfo",
"pages/invoice/invoice"
], ],
"window":{ "window":{
"backgroundTextStyle": "dark", "backgroundTextStyle": "dark",
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

+19
View File
@@ -0,0 +1,19 @@
export const InvoiceTypeEnums = {
noNeed: { name: '不需要', index: 0 },
plain: { name: '增值税普通发票', index: 1 },
special: { name: '增值税专用发票', index: 2 }
}
// 参会人员身份类型
export const MeetIdentifyTypeEnums = {
guest: { name: '嘉宾', index: 1 },
attendee: { name: '参会人', index: 2 },
internal: { name: '内部企业', index: 3 }
}
// 嘉宾类型
export const GuestTypeEnums = {
VIP: { name: 'VIP', index: 1 },
speaker: { name: '演讲嘉宾', index: 2 },
guestInvitation: { name: '特邀嘉宾', index: 3 },
cooperative: { name: '合作伙伴', index: 4 },
exhibitor: { name: '参展商', index: 5 },
}
+5 -1
View File
@@ -10,7 +10,11 @@ const MeetingApi = {
// 参会人信息 // 参会人信息
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) editSignUpInfo:(params) => http.post(`${URL_CONFIG}meeting/payMeetingSituation/editGuestInfo`, params),
// 删除会议报名信息
deleteSignUpInfo:(params) => http.get(`${URL_CONFIG}meeting/payMeetingSituation/contactsDelete`, params),
// 编辑会议报名信息
editContactsInfo:(params) => http.post(`${URL_CONFIG}meeting/payMeetingSituation/contactsEdit`, params)
} }
export default MeetingApi export default MeetingApi
+3 -1
View File
@@ -82,7 +82,9 @@ const UserApi = {
// 手机号唯一校验 // 手机号唯一校验
checkPhoneOnly: (params) => http.get(`${URL_CONFIG}/sys/duplicate/check`, params), checkPhoneOnly: (params) => http.get(`${URL_CONFIG}/sys/duplicate/check`, params),
// 企业端的会议文件的下载 // 企业端的会议文件的下载
downFileDownWeb: (fileId,meetingId, params) => http.get(`${URL_CONFIG}meeting/payMeeting/userDownload/${fileId}/${meetingId}`,params) downFileDownWeb: (fileId,meetingId, params) => http.get(`${URL_CONFIG}meeting/payMeeting/userDownload/${fileId}/${meetingId}`,params),
// 企业人员查询参与项目的邮寄信息
getVoiceMailList: (fileId,meetingId, params) => http.get(`${URL_CONFIG}mail/payMailBill/contactsSearch`,params)
} }
export default UserApi export default UserApi
+6 -1
View File
@@ -22,6 +22,7 @@ module.exports = Behavior({
data: { data: {
// page-container 相关的配置 // page-container 相关的配置
statusBarHeight: wx.getSystemInfoSync()['statusBarHeight'], statusBarHeight: wx.getSystemInfoSync()['statusBarHeight'],
pageTitle: '会议报名',
invoiceConfirmModalVisible: false, invoiceConfirmModalVisible: false,
duration: 300, duration: 300,
position: 'bottom', position: 'bottom',
@@ -118,6 +119,10 @@ module.exports = Behavior({
}); });
} }
}) })
} },
// 自定义头部的参数
goBack(){
wx.navigateBack()
},
} }
}) })
+29 -11
View File
@@ -1,6 +1,9 @@
// components/imageUpload/imageUpload.js // components/imageUpload/imageUpload.js
import {baseUrl, URL_CONFIG} from '../../assets/js/project.config' import {
baseUrl,
URL_CONFIG
} from '../../assets/js/project.config'
Component({ Component({
/** /**
* 组件的属性列表 * 组件的属性列表
@@ -17,11 +20,27 @@ Component({
value: 1 value: 1
}, },
// 图片的回显 // 图片的回显
initImgsList:{ initImgsList: {
type:String type: String
}
},
observers: {
'initImgsList': function (initImgsList) {
let initImgArr
if (!!this.data.initImgsList) {
initImgArr = this.data.initImgsList.split(',')
}
const arr = []
if (initImgArr && initImgArr.length > 0) {
for (let index = 0; index < initImgArr.length; index++) {
arr.push(baseUrl + URL_CONFIG + 'sys/common/download/' + initImgArr[index])
}
}
this.setData({
tempFilePaths: arr
})
} }
}, },
/** /**
* 组件的初始数据 * 组件的初始数据
*/ */
@@ -30,20 +49,19 @@ Component({
tempFilePaths: [] tempFilePaths: []
}, },
lifetimes: { lifetimes: {
attached: function() { attached: function () {
console.log(' this.data.initImgsList', this.data.initImgsList);
let initImgArr let initImgArr
if(!!this.data.initImgsList){ if (!!this.data.initImgsList) {
initImgArr = this.data.initImgsList.split(',') initImgArr = this.data.initImgsList.split(',')
} }
const arr = [] const arr = []
if(initImgArr && initImgArr.length > 0){ if (initImgArr && initImgArr.length > 0) {
for (let index = 0; index < initImgArr.length; index++) { for (let index = 0; index < initImgArr.length; index++) {
arr.push( baseUrl + URL_CONFIG + 'sys/common/download/' + initImgArr[index]) arr.push(baseUrl + URL_CONFIG + 'sys/common/download/' + initImgArr[index])
} }
} }
this.setData({ this.setData({
tempFilePaths:arr tempFilePaths: arr
}) })
console.log(this.data.tempFilePaths); console.log(this.data.tempFilePaths);
}, },
@@ -129,7 +147,7 @@ Component({
//如果是最后一张,则隐藏等待中 //如果是最后一张,则隐藏等待中
if (count == tempFilePaths.length) { if (count == tempFilePaths.length) {
wx.hideToast(); wx.hideToast();
that.triggerEvent("getIds",imgids) that.triggerEvent("getIds", imgids)
} }
}, },
+12
View File
@@ -206,6 +206,8 @@ Page({
url = '../standardRouter/standardRouter' url = '../standardRouter/standardRouter'
} else if (this.data.selectArr[index].val === '5') { // 合同 } else if (this.data.selectArr[index].val === '5') { // 合同
url = '../mineContract/mineContract' url = '../mineContract/mineContract'
} else if (this.data.selectArr[index].val === '7') { // 发票
url = '../invoice/invoice'
} }
isLogin( () => { isLogin( () => {
wx.navigateTo({ wx.navigateTo({
@@ -394,6 +396,11 @@ Page({
text: '合同', text: '合同',
val: '5', val: '5',
}, },
{
path: '../../assets/images/invoice.png',
text: '发票',
val: '7',
}
] ]
let menuArr = [{ let menuArr = [{
@@ -427,6 +434,11 @@ Page({
text: '合同', text: '合同',
val: '5', val: '5',
}, },
{
path: '../../assets/images/invoice.png',
text: '发票',
val: '7',
}
] ]
let searchParams = { let searchParams = {
pageNo: 1, pageNo: 1,
+125
View File
@@ -0,0 +1,125 @@
import UserApi from '../../assets/js/http/userApi'
import { appName } from '../../assets/js/project.config'
Page({
/**
* 页面的初始数据
*/
data: {
statusBarHeight: wx.getSystemInfoSync()['statusBarHeight'],
index: 0,
list: [], // 项目列表
searchParams: {
pageNo: 1,
pageSize: 10,
needInvoice: '', // 是否需要发票 0 4
pack: '', // 是否打包 0 1
year: '', // 运行年份
particularYear:'',// 资料网元的运行年份,
// 创建时间倒叙排序
column:'createTime',
order:'desc'
},
pageTitle:'发票'
},
goBack(){
wx.navigateBack()
},
// 发票改变
bindNeedInvoiceChange(e){
this.data.searchParams.pageNo = 1
if(e.detail.value == 0) {
this.setData({
"searchParams.needInvoice": 1,
})
}else{
this.setData({
"searchParams.needInvoice": 0,
})
}
this.loadData()
},
// 打包改变
bindPackChange(e){
this.data.searchParams.pageNo = 1
if(e.detail.value == 0) {
this.setData({
"searchParams.pack": 1,
})
}else{
this.setData({
"searchParams.pack": 0,
})
}
this.loadData()
},
bindDateChange(e){
this.data.searchParams.pageNo = 1
// 资料网员的年份查询字段与其他的不一样
if(this.data.type === 'ziliao'){
this.setData({
"searchParams.particularYear": e.detail.value
})
}else{
this.setData({
"searchParams.year": e.detail.value
})
}
this.loadData()
},
// 项目详情
projectDetail(e){
let project = e.currentTarget.dataset.project
let num = project.postNo
// num = 'SF1632615984954'
wx.navigateTo({
url: `plugin://kdPlugin/index?num=${num}&appName=${appName}`,
})
// wx.navigateTo({
// url: `../projectDetail/projectDetail?id=${e.currentTarget.dataset.project.id}&type=${this.data.type}&workingGroupId=${e.currentTarget.dataset.project.workingGroupId}`,
// })
},
loadData(){
const that = this
wx.showToast({
title: '加载中...',
icon: 'loading'
})
UserApi.getVoiceMailList(this.data.searchParams).then(res=>{
if(res.success){
// 搜索时,把原数据清空,重新筛选
if(that.data.searchParams.pageNo === 1) {
that.setData({
list: []
})
}
if(res.result.records && res.result.records.length){
that.setData({
list: [...that.data.list, ...res.result.records]
})
}
}
}).catch(err=>{
wx.showToast({
title: '加载失败',
icon: 'none',
duration: 2000
})
})
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
this.loadData()
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
this.data.searchParams.pageNo++
this.loadData()
},
})
+4
View File
@@ -0,0 +1,4 @@
{
"navigationStyle": "custom",
"usingComponents": {}
}
+57
View File
@@ -0,0 +1,57 @@
<!--发票信息 自定义头部start -->
<view class="custom flex_center" style="padding-top:{{statusBarHeight}}px">
<image src="../../assets/images/back.png" bindtap="goBack"></image>
<text>{{pageTitle}}</text>
</view>
<view class="empty_custom" style="padding-top:{{statusBarHeight}}px"></view><!-- 空view用来填充自定义头部的padding-top -->
<!-- 自定义头部end -->
<!--pages/meeting/meeting.wxml首页会议活动-->
<!-- <view class="select-list"> -->
<!-- 发票 -->
<!-- <view class="select-item">
<picker bindchange="bindNeedInvoiceChange" range="{{['是','否']}}">
<view class="picker">
<text>发票</text>
</view>
</picker>
</view> -->
<!-- 打包 -->
<!-- <view class="select-item">
<picker bindchange="bindPackChange" range="{{['是','否']}}">
<view class="picker">
<text>打包</text>
</view>
</picker>
</view> -->
<!-- 年份 -->
<!-- <view class="select-item">
<picker mode="date" fields="year" start="2000" end="2050" bindchange="bindDateChange">
<view class="picker">
<text>时间</text>
</view>
</picker>
</view> -->
<!-- </view> -->
<view class="list">
<view class="list-item" wx:for="{{list}}" bindtap="projectDetail" wx:key="item" data-project="{{item}}">
<!-- <view class="title"> -->
<!-- <text>{{item.projectName}}</text> -->
<!-- <text>{{item.year || item.particularYear}}年</text> -->
<!-- </view> -->
<!-- 工作组项目展示begin -->
<block>
<view class="item-content">项目名称:{{item.projectName }}</view>
<!-- <view class="item-content">项目类型:{{item.projectType }}</view> -->
<view class="item-content">开票金额:{{item.invoiceAmount }} 元</view>
<view class="item-content">项目负责人:{{item.principalName}}</view>
<view class="item-content">邮寄联系人:{{item.contactName}}</view>
<view class="item-content">状态:{{item.postStatus_dictText}}</view>
<!-- <view class="item-content">缴费凭证:{{item.paymentStatus_dictText || '无'}}</view> -->
</block>
</view>
</view>
<view wx:if="{{list.length === 0}}" class="no-data">
<text>暂无数据</text>
</view>
<popup visible="{{visible}}" bindclose="close" outClickCanClose="true" bindok="ok" data="{{data}}"></popup>
<dateMonth visible="{{visibleDate}}" mode="year" outClickCanClose="true" bindok="dateOk" bindclose="close"></dateMonth>
+103
View File
@@ -0,0 +1,103 @@
/* pages/meeting/meeting.wxss */
page {
background-color: #F5F5F5;
}
/* 头部筛选 start */
.select-list {
border-top: 0.5px solid #F5F5F5;
height: 40px;
font-size: 14px;
display: flex;
align-items: center;
background-color: #fff;
}
.select-item {
flex: 1;
display: flex;
align-items: center;
justify-content: center;
}
.select-item image {
width: 11px;
height: 6px;
margin-left: 9px;
}
/* 头部筛选end */
/* 列表start */
.list{
padding: 15px;
}
.list-item{
height: auto;
background-color: #fff;
border-radius: 5px;
padding: 10px 15px;
display: flex;
justify-content: space-around;
align-items: center;
flex-direction: column;
}
.list-item:not(:first-child) {
margin-top: 10px;
}
.list-item .title{
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
}
.list-item .title text:nth-child(1){
font-size: 14px;
color: #333;
flex: 1;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.list-item .title text:nth-child(2){
font-size: 12px;
color: #999;
width: 70px;
text-align: right;
flex-shrink: 0;
}
.item-content {
width: 100%;
padding: 10rpx 0;
box-sizing: border-box;
font-size: 14px;
height: auto;
display: flex;
}
.item-content text{
flex-shrink: 0;
}
.content-text{
width: 100%;
color: #999;
font-size: 12px;
display: flex;
justify-content: space-between;
align-items: center;
}
/* 字体颜色 */
.color-gray {
color:#999
}
.color-green {
color:#069F99
}
.color-orange {
color: orange;
}
.half{
color: burlywood;
}
.all{
color: #069F99;
}
+48 -3
View File
@@ -155,7 +155,6 @@ Page({
// 会议类型筛选 // 会议类型筛选
bindTypeChange(e) { bindTypeChange(e) {
let index = this.data.meetingTypeList[e.detail.value].value let index = this.data.meetingTypeList[e.detail.value].value
console.log(index);
this.data.searchParams.pageNo = 1 this.data.searchParams.pageNo = 1
// 宣贯会 培训会 信息交流会 需要单独写查询条件 // 宣贯会 培训会 信息交流会 需要单独写查询条件
if(index === '7'){ if(index === '7'){
@@ -202,7 +201,6 @@ Page({
}) })
// let meetingItem = e.currentTarget.dataset.meetinginfo // let meetingItem = e.currentTarget.dataset.meetinginfo
// 如果是去报名页面需要在缓存中存储会议信息 当报名结束后 需要清除缓存中的当前会议信息 meetingSignUpType 1 可报名 2报名 // 如果是去报名页面需要在缓存中存储会议信息 当报名结束后 需要清除缓存中的当前会议信息 meetingSignUpType 1 可报名 2报名
// if (meetingItem.meetingSignUpType === 1) { // if (meetingItem.meetingSignUpType === 1) {
@@ -254,7 +252,6 @@ Page({
} }
res.result.records.forEach(tt => { res.result.records.forEach(tt => {
tt.meetingTypeText = this.initMeetingType(tt) tt.meetingTypeText = this.initMeetingType(tt)
console.log(tt);
}) })
this.setData({ this.setData({
meetingList: [...this.data.meetingList, ...res.result.records] meetingList: [...this.data.meetingList, ...res.result.records]
@@ -269,12 +266,60 @@ Page({
}) })
}) })
}, },
// 删除会议报名的信息
deleteMeetingInfo(e) {
let meetingInfo = e.currentTarget.dataset.meetinginfo
const params = {id: meetingInfo.situationId}
let that = this
wx.showModal({
title: '提示',
content: '确定删除此报名信息吗?',
success: function (res) {
if (res.confirm) {
MeetingApi.deleteSignUpInfo(params).then(res => {
wx.showToast({
title: res.message,
icon: "none",
duration: 800,
});
if (res.success) {
that.data.searchParams.pageNo = 1
that.queryMeetingList()
}
})
} else if (res.cancel) {
return false;
}
}
})
},
// 编辑会议报名的信息
editMeetingInfo(e) {
let meetingInfo = e.currentTarget.dataset.meetinginfo
const params = {
id: meetingInfo.situationId, // 报名信息的id
meetingId: meetingInfo.id,
meetingType: meetingInfo.meetingType,
}
console.log("---------params------", params)
// 国际研讨会去国际研讨会的报名
if(params.meetingType !== 3){
wx.navigateTo({
url: `../signUpPage/signUpPage?meetingId=${params.meetingId}&id=${params.id}&ope=edit&page=meeting&options=${JSON.stringify(this.options)}`,
})
}else{
wx.navigateTo({
url: `../signUpPageGuoji/signUpPageGuoji?meetingId=${params.meetingId}&id=${params.id}&ope=edit&page=meeting&options=${JSON.stringify(this.options)}`,
})
}
},
/** /**
* 生命周期函数--监听页面加载 * 生命周期函数--监听页面加载
*/ */
onLoad: function (options) { onLoad: function (options) {
console.log(options); console.log(options);
this.options = options
if (!!options.workingGroupId) { if (!!options.workingGroupId) {
// 工作组的更多跳转 // 工作组的更多跳转
this.setData({ this.setData({
+12 -1
View File
@@ -48,10 +48,21 @@
<image mode="aspectFill" src="../../assets/images/location.png"></image> <image mode="aspectFill" src="../../assets/images/location.png"></image>
<text>报名状态:{{ item.signUpStatus_dictText || '无'}}</text> <text>报名状态:{{ item.signUpStatus_dictText || '无'}}</text>
</view> </view>
<view class="content-btn" wx:if="{{item.situationId}}">
<view class="inner-btn-box" data-meetinginfo="{{item}}" catchtap="editMeetingInfo">
<image src="../../assets/images/icon_edit.png"></image>
<text>编辑</text>
</view>
<view class="inner-btn-box" data-meetinginfo="{{item}}" catchtap="deleteMeetingInfo">
<image src="../../assets/images/icon_delete.png"></image>
<text>删除</text>
</view>
</view>
</view> </view>
<view wx:if="{{meetingList.length === 0}}" class="no-data"> <view wx:if="{{meetingList.length === 0}}" class="no-data">
<text>暂无数据</text> <text>暂无数据</text>
</view> </view>
</view> </view>
<!-- 下拉框的弹出层 --> <!-- 下拉框的弹出层 -->
<popup visible="{{visible}}" bindclose="close" outClickCanClose="true" bindok="ok" data="{{selectData}}"></popup> <popup visible="{{visible}}" bindclose="close" outClickCanClose="true" bindok="ok" data="{{selectData}}"></popup>
+50 -8
View File
@@ -2,6 +2,7 @@
page { page {
background-color: #F5F5F5; background-color: #F5F5F5;
} }
/* 头部筛选 start */ /* 头部筛选 start */
.select-list { .select-list {
border-top: 0.5px solid #F5F5F5; border-top: 0.5px solid #F5F5F5;
@@ -24,13 +25,15 @@ page {
height: 6px; height: 6px;
margin-left: 9px; margin-left: 9px;
} }
/* 头部筛选end */ /* 头部筛选end */
/* 列表start */ /* 列表start */
.list{ .list {
padding: 15px; padding: 15px;
} }
.list-item{
height: 90px; .list-item {
min-height: 90px;
background-color: #fff; background-color: #fff;
border-radius: 5px; border-radius: 5px;
padding: 10px 15px; padding: 10px 15px;
@@ -39,16 +42,20 @@ page {
align-items: center; align-items: center;
flex-direction: column; flex-direction: column;
} }
.list-item:not(:first-child) { .list-item:not(:first-child) {
margin-top: 10px; margin-top: 10px;
} }
.list-item .title{
.list-item .title {
width: 100%; width: 100%;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
min-height: 50rpx;
} }
.list-item .title text:nth-child(1){
.list-item .title text:nth-child(1) {
font-size: 14px; font-size: 14px;
color: #333; color: #333;
flex: 1; flex: 1;
@@ -56,20 +63,55 @@ page {
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; white-space: nowrap;
} }
.list-item .title text:nth-child(2){
.list-item .title text:nth-child(2) {
font-size: 12px; font-size: 12px;
color: #999; color: #999;
width: 120px; width: 120px;
text-align: right; text-align: right;
flex-shrink: 0; flex-shrink: 0;
} }
.content-text{
.content-text {
min-height: 36rpx;
width: 100%; width: 100%;
color: #999; color: #999;
font-size: 12px; font-size: 12px;
} }
.content-text image{
.content-text image {
width: 11px; width: 11px;
height: 11px; height: 11px;
margin-right: 10px; margin-right: 10px;
} }
/* 列表页的操作按钮 */
.content-btn {
margin-top: 10rpx;
padding-top: 10px;
border-top: 2rpx solid #f5f5f5;
border-top: 2rpx solid #f5f5f5;
display: flex;
align-items: center;
justify-content: flex-end;
flex-direction: row;
width: 100%;
}
.content-btn .inner-btn-box {
display: flex;
align-items: center;
margin-left: 50rpx;
}
.content-btn .inner-btn-box image {
width: 23rpx;
height: 24rpx;
margin-right: 8rpx;
}
.content-btn .inner-btn-box text {
font-size: 24rpx;
font-weight: 300;
color: #069F99;
}
+3 -1
View File
@@ -165,7 +165,9 @@ Page({
}) })
let url = decodeURIComponent(options.q) let url = decodeURIComponent(options.q)
let meetingId = url.split('=')[1] let meetingId = url.split('=')[1]
// meetingId = '1571763536197734402' // todo 开发直接测试
// meetingId = '1681696011549757442' // 其他会议
meetingId = '1681693843581128706' // 国际研讨会
this.queryMeetingDetail(meetingId) this.queryMeetingDetail(meetingId)
// this.queryMeetingDetail("1479397531946348545") // this.queryMeetingDetail("1479397531946348545")
+160 -47
View File
@@ -9,12 +9,9 @@ import {
compareDate, compareDate,
dutyCode dutyCode
} from '../../utils/validate' } from '../../utils/validate'
import {
const InvoiceTypeEnums = { InvoiceTypeEnums
noNeed: { name: '不需要', index: 0 }, } from '../../assets/js/Enums/common.js'
plain: { name: '增值税普通发票', index: 1 },
special: { name: '增值税专用发票', index: 2 }
}
Page({ Page({
behaviors: [confirmInvoiceModalBehavior], behaviors: [confirmInvoiceModalBehavior],
@@ -118,7 +115,9 @@ Page({
// 扫码报名的 需要调用无限制接口 // 扫码报名的 需要调用无限制接口
nolimitBool: false, nolimitBool: false,
// 会议费用 // 会议费用
meetingCost: '' meetingCost: '',
// 备注信息
remark: '',
}, },
// 是否需要发票的选择 // 是否需要发票的选择
needInvoiceChange(e) { needInvoiceChange(e) {
@@ -193,7 +192,6 @@ Page({
this.setData({ this.setData({
selectedIdentity: e.detail.value selectedIdentity: e.detail.value
}) })
console.log(e.detail.value);
// 参会身份选择嘉宾和内部企业 会议费用为 0 // 参会身份选择嘉宾和内部企业 会议费用为 0
if (e.detail.value === '2') { if (e.detail.value === '2') {
// 标协会议需要判断选中的企业是否是标协成员 // 标协会议需要判断选中的企业是否是标协成员
@@ -375,7 +373,7 @@ Page({
return return
} }
} }
if (!formData.invoiceProject || formData.invoiceProject === -1) { if (formData.invoiceProject === undefined || formData.invoiceProject === -1) {
wx.showToast({ wx.showToast({
title: '请选择发票项目', title: '请选择发票项目',
icon: 'none', icon: 'none',
@@ -431,11 +429,22 @@ Page({
title: '加载中', title: '加载中',
mask: true mask: true
}) })
signUpApi.signUpMeeting(formData).then(res => { let func
let lastPage // 上一个调换的页面,用于记录编辑成功后返回哪个页面
const isEdit = this.isEdit
if(isEdit) {
func = MeetingApi.editContactsInfo
formData.id = this.model.id // 编辑参会人的信息
lastPage = this.lastPage
} else {
func = signUpApi.signUpMeeting
}
func(formData).then(res => {
if (res.success) { if (res.success) {
wx.hideLoading({}) wx.hideLoading({})
let message = isEdit ? '编辑成功' : '报名成功'
wx.showToast({ wx.showToast({
title: '报名成功', title: message,
icon: 'loading', icon: 'loading',
duration: 1500 duration: 1500
}) })
@@ -449,8 +458,9 @@ Page({
wx.removeStorage({ wx.removeStorage({
key: 'currentMeetingInfo', key: 'currentMeetingInfo',
success() { success() {
// 非编辑页面跳转到下一页
if(!isEdit) {
// 跳转报名成功页面 // 跳转报名成功页面
if (!res.result) { if (!res.result) {
wx.navigateTo({ wx.navigateTo({
url: `../signUpSuccess/signUpSuccess?audit=${res.result}`, url: `../signUpSuccess/signUpSuccess?audit=${res.result}`,
@@ -460,6 +470,12 @@ Page({
url: `../signUpSuccess/signUpSuccess`, url: `../signUpSuccess/signUpSuccess`,
}) })
} }
} else {
// 编辑页面跳转到会议列表页
wx.navigateTo({
url: lastPage,
})
}
} }
}) })
} else { } else {
@@ -504,7 +520,6 @@ Page({
if (flag) { if (flag) {
return return
} }
console.log('选择参会单位', this.data.nolimitBool);
if (this.data.nolimitBool) { if (this.data.nolimitBool) {
wx.navigateTo({ wx.navigateTo({
url: `../companyList/companyList?nolimit=nolimt`, url: `../companyList/companyList?nolimit=nolimt`,
@@ -532,7 +547,6 @@ Page({
}, },
// 信用代码验证 // 信用代码验证
validateDutyCode(e) { validateDutyCode(e) {
console.log(e, 1111)
let value = e.detail.value let value = e.detail.value
let { let {
message, message,
@@ -565,7 +579,6 @@ Page({
}, },
// 发票项目变化的时候触发的方法 // 发票项目变化的时候触发的方法
invoiceProjectChange(e) { invoiceProjectChange(e) {
console.log("------e--------", e)
this.setData({ this.setData({
invoiceProjectIndex: e.detail.value invoiceProjectIndex: e.detail.value
}) })
@@ -575,12 +588,15 @@ Page({
MeetingApi.meetingDetail({ MeetingApi.meetingDetail({
id: id id: id
}).then(res => { }).then(res => {
console.log(res);
if (res.success) { if (res.success) {
this.setData({ this.setData({
selectedMeeting: res.result, selectedMeeting: res.result,
meetingCost: res.result.meetingCosts meetingCost: res.result.meetingCosts
}) })
// 编辑的时候判断是否是标协会员,费用是否需要修改
if(this.isEdit) {
this.judgeMemberCompany(this, res.result)
}
// 存储会议信息 // 存储会议信息
wx.setStorage({ wx.setStorage({
key: 'currentMeetingInfo', key: 'currentMeetingInfo',
@@ -595,10 +611,80 @@ Page({
}) })
}) })
}, },
/*
* 编辑
* */
edit(record){
this.model = Object.assign({}, record)
// 选中的身份
const selectedIdentity = this.model.identity + ''
// 参会身份选中状态的处理
this.data.identifyList.map(tt => {
if (tt.value === selectedIdentity) {
tt.checked = true
}
})
// 是否选择发票的选中的索引 默认需要
const index = this.data.needInvoiceList.findIndex(e => e.value === (this.model.needInvoice + '')) + ''
// 缴费方式
const paymentMethod = this.model.payMode
// 缴费方式选中状态的处理
this.data.paymentMethodList.map(tt => {
if (tt.value === paymentMethod + '') {
tt.checked = true
}
})
// 选中的参会单位
const selectedCompany = {
id:this.model.companyId,
companyName:this.model.companyName,
// 写入发票的信息,因为需要回显
dutyCode:this.model.dutyCode, // 信用代码
companyAddress:this.model.companyAddress, // 公司地址
companyPhone:this.model.companyPhone, // 公司电话
openingBank:this.model.openingBank, // 开户行
bankAccount:this.model.bankAccount, // 银行账号
linkBankNumber:this.model.linkBankNumber // 联行号
}
const selectedPerson = {
id:this.model.companyContactTemporaryId,
name:this.model.companyContactName
}
// 发票项目选择的索引
const invoiceProjectIndex = this.data.invoiceProjectList.findIndex(e => e.value === (this.model.invoiceProject + ''))
// 回显邮寄联系人
const selectedPostPerson = {
id: this.model.postContactId,
name: this.model.postContactName,
contactAddress: this.model.postContactAddress, // 邮寄地址
postalCode: this.model.postCode, // 邮编
}
this.setData({
selectedCompany,
selectedPerson,
phone: this.model.phone,
selectedIdentity, // 参会身份
identifyList: this.data.identifyList, // 参会身份选中
paymentMethod, // 缴费方式
paymentMethodList: this.data.paymentMethodList, // 缴费方式信息选中
index, // 是否需要发票
invoiceProjectIndex, // 发票项目
selectedPostPerson, // 邮寄联系人信息
remark: this.model.remark // 备注
})
},
/** /**
* 生命周期函数--监听页面加载 * 生命周期函数--监听页面加载
*/ */
onLoad: function (options) { onLoad: async function (options) {
// options = {
// id: "1682018325751480322",
// meetingId: "1680850121742204930",
// meetingType: 1,
// page: 'meeting',
// ope: 'edit'
// }
if (options.type) { if (options.type) {
this.setData({ this.setData({
indexMsg: options.type, indexMsg: options.type,
@@ -609,10 +695,33 @@ Page({
nolimitBool: true nolimitBool: true
}) })
} }
this.setData({
pageTitle: options.id ? '编辑报名信息' : '会议报名'
})
if(options.id){
this.isEdit = options.ope === 'edit'
this.lastPage = `../${options.page}/${options.page}`
// 对上一个页面的参数进行处理
this.lastOptions = options.options && JSON.parse(options.options) || {}
let str = ''
Object.keys(this.lastOptions).forEach((tt, i) => {
if( i > 0) {
str += `&${tt}=${this.lastOptions[tt]}`
} else {
str += `?${tt}=${this.lastOptions[tt]}`
}
})
this.lastPage += str
// 通过id获取参会人信息
MeetingApi.queryPersongInfoById({id: options.id}).then(res => {
if(res.success){
this.edit(res.result)
}
})
}
// this.queryMeetingInfo('1455359606691979265') // this.queryMeetingInfo('1455359606691979265')
if (options.meetingId) { if (options.meetingId) {
console.log(options.meetingId, 'options.meetingId'); await this.queryMeetingInfo(options.meetingId)
this.queryMeetingInfo(options.meetingId)
this.setData({ this.setData({
meetingId: options.meetingId meetingId: options.meetingId
}) })
@@ -634,7 +743,6 @@ Page({
wx.getStorage({ wx.getStorage({
key: 'userInfo', key: 'userInfo',
success(res) { success(res) {
console.log(res);
that.setData({ that.setData({
'selectedCompany.companyName': res.data.companyName, 'selectedCompany.companyName': res.data.companyName,
'selectedPerson.name': res.data.name, 'selectedPerson.name': res.data.name,
@@ -653,7 +761,6 @@ Page({
}, },
// 手机号验证 // 手机号验证
validatePhone(e) { validatePhone(e) {
console.log(e);
let value = e.detail.value let value = e.detail.value
let { let {
message, message,
@@ -720,7 +827,37 @@ Page({
} }
}, },
/**
* 判断是否是标协会员的单位 进行费用的重置
* @param that--原方法里面就是this实例
* @param meetingObj -- 原方法是获取的currentMeetingInfo信息
*/
judgeMemberCompany(that, meetingObj) {
// 标协会议需要判断单位是否是会员单位
if (that.data.selectedCompany.companyName && meetingObj.meetingType + '' === '2') {
signUpApi.validateStandard({
companyName: that.data.selectedCompany.companyName
}).then(result => {
if (result.result) {
that.setData({
meetingCost: meetingObj.meetingCostsVip
})
} else {
that.setData({
meetingCost: meetingObj.meetingCosts
})
}
}).finally(() => {
if (that.data.selectedIdentity) {
that.changeIdentity({
detail: {
value: that.data.selectedIdentity
}
})
}
})
}
},
/** /**
* 生命周期函数--监听页面初次渲染完成 * 生命周期函数--监听页面初次渲染完成
@@ -742,7 +879,6 @@ Page({
wx.getStorage({ wx.getStorage({
key: 'userInfo', key: 'userInfo',
success(res) { success(res) {
console.log(res);
that.setData({ that.setData({
'selectedCompany.companyName': res.data.companyName, 'selectedCompany.companyName': res.data.companyName,
'selectedPerson.name': res.data.name, 'selectedPerson.name': res.data.name,
@@ -791,30 +927,7 @@ Page({
that.setData({ that.setData({
selectedMeeting: res.data selectedMeeting: res.data
}) })
// 标协会议需要判断单位是否是会员单位 that.judgeMemberCompany(that, res.data)
if (that.data.selectedCompany.companyName && res.data.meetingType + '' === '2') {
signUpApi.validateStandard({
companyName: that.data.selectedCompany.companyName
}).then(result => {
if (result.result) {
that.setData({
meetingCost: res.data.meetingCostsVip
})
} else {
that.setData({
meetingCost: res.data.meetingCosts
})
}
}).finally(() => {
if (that.data.selectedIdentity) {
that.changeIdentity({
detail: {
value: that.data.selectedIdentity
}
})
}
})
}
} }
}) })
+1
View File
@@ -1,4 +1,5 @@
{ {
"navigationBarTitleText": "会议报名", "navigationBarTitleText": "会议报名",
"navigationStyle": "custom",
"usingComponents": {} "usingComponents": {}
} }
+19 -11
View File
@@ -1,4 +1,12 @@
<!--报名页面--> <!--报名页面-->
<!--发票信息 自定义头部start -->
<view class="custom flex_center" style="padding-top:{{statusBarHeight}}px">
<image src="../../assets/images/back.png" bindtap="goBack"></image>
<text>{{pageTitle}}</text>
</view>
<view class="empty_custom" style="padding-top:{{statusBarHeight}}px"></view><!-- 空view用来填充自定义头部的padding-top -->
<!-- 自定义头部end -->
<view class="color-f5 wrap"> <view class="color-f5 wrap">
<form bindsubmit="formSubmit"> <form bindsubmit="formSubmit">
<view class="form-wrap"> <view class="form-wrap">
@@ -25,7 +33,7 @@
<view> <view>
<radio-group name='identity' bindchange="changeIdentity"> <radio-group name='identity' bindchange="changeIdentity">
<label class="radio radio-item" wx:for="{{identifyList}}" wx:key="item"> <label class="radio radio-item" wx:for="{{identifyList}}" wx:key="item">
<radio wx:if="{{!item.disabled}}" class="radio-scale" value="{{item.value}}" color="#069F99" disabled="{{item.disabled}}" /> <radio wx:if="{{!item.disabled}}" class="radio-scale" value="{{item.value}}" color="#069F99" disabled="{{item.disabled}}" checked="{{item.checked}}"/>
<text wx:if="{{!item.disabled}}">{{item.name}}</text> <text wx:if="{{!item.disabled}}">{{item.name}}</text>
</label> </label>
</radio-group> </radio-group>
@@ -39,7 +47,7 @@
<view> <view>
<radio-group name='payMode' bindchange="paymentMethodRadioChange"> <radio-group name='payMode' bindchange="paymentMethodRadioChange">
<label class="radio radio-item" wx:for="{{paymentMethodList}}" wx:key="item" style="font-size:13px"> <label class="radio radio-item" wx:for="{{paymentMethodList}}" wx:key="item" style="font-size:13px">
<radio class="radio-scale" value="{{item.value}}" color="#069F99" />{{item.name}} <radio class="radio-scale" value="{{item.value}}" color="#069F99" checked="{{item.checked}}"/>{{item.name}}
</label> </label>
</radio-group> </radio-group>
</view> </view>
@@ -112,42 +120,42 @@
<text class="item-label flex-1 validate">邮编:</text> <text class="item-label flex-1 validate">邮编:</text>
<input placeholder-class="text-right" name="postCode" bindblur="validatePostCode" value="{{selectedPostPerson.postalCode}}" data-message='请输入邮编' data-errmsg='请输入正确的邮编' type="number" maxlength="6" placeholder="请输入邮编" /> <input placeholder-class="text-right" name="postCode" bindblur="validatePostCode" value="{{selectedPostPerson.postalCode}}" data-message='请输入邮编' data-errmsg='请输入正确的邮编' type="number" maxlength="6" placeholder="请输入邮编" />
</view> </view>
<!-- 这3个字段感觉国际研讨会才会存在 目前企业端报名的时候不存在 所以先去掉 -->
<view class="form-item-radio"> <!-- <view class="form-item-radio">
<view class="radio-label"> <view class="radio-label">
<text class="item-label flex-1">是否住酒店:</text> <text class="item-label flex-1">是否住酒店:</text>
</view> </view>
<view> <view>
<radio-group name='checkInHotel' bindchange="paymentMethodRadioChange"> <radio-group name='checkInHotel' bindchange="paymentMethodRadioChange">
<label class="radio radio-item" wx:for="{{needCheckInHotel}}" wx:key="item"> <label class="radio radio-item" wx:for="{{needCheckInHotel}}" wx:key="item">
<radio class="radio-scale" color="#069F99" value="{{item.value}}" />{{item.name}} <radio class="radio-scale" color="#069F99" value="{{item.value}}" checked="{{item.checked}}" />{{item.name}}
</label> </label>
</radio-group> </radio-group>
</view> </view>
</view> </view> -->
<view class="form-item"> <!-- <view class="form-item">
<text class="item-label flex-1">抵达时间:</text> <text class="item-label flex-1">抵达时间:</text>
<picker name='arrivalTime' mode="date" value="{{date}}" bindchange="bindDateChangeArriveTime"> <picker name='arrivalTime' mode="date" value="{{date}}" bindchange="bindDateChangeArriveTime">
<view class="picker"> <view class="picker">
{{arrivalTime}} {{arrivalTime}}
</view> </view>
</picker> </picker>
</view> </view> -->
<view class="form-item"> <!-- <view class="form-item">
<text class="item-label flex-1">离开时间:</text> <text class="item-label flex-1">离开时间:</text>
<picker name='departureTime' mode="date" value="{{date}}" bindchange="bindDateChangeLeaveTime"> <picker name='departureTime' mode="date" value="{{date}}" bindchange="bindDateChangeLeaveTime">
<view class="picker"> <view class="picker">
{{departureTime}} {{departureTime}}
</view> </view>
</picker> </picker>
</view> </view> -->
<view class="form-item-radio"> <view class="form-item-radio">
<text class="item-label flex-1">备注:</text> <text class="item-label flex-1">备注:</text>
<textarea name="remark" placeholder="请输入备注" name="remark" /> <textarea name="remark" placeholder="请输入备注" name="remark" value="{{remark}}"/>
</view> </view>
<view class="form-item"> <view class="form-item">
+301 -28
View File
@@ -13,11 +13,18 @@ import {
baseUrl, baseUrl,
URL_CONFIG URL_CONFIG
} from '../../assets/js/project.config.js' } from '../../assets/js/project.config.js'
const InvoiceTypeEnums = { // 所有是否选择框的数据,因为要回显所以不能用一个了
noNeed: { name: '不需要', index: 0 }, const NeedArr = [{
plain: { name: '增值税普通发票', index: 1 }, value: '1',
special: { name: '增值税专用发票', index: 2 } name: '是'
} },
{
value: '0',
name: '否'
},
]
import { InvoiceTypeEnums, MeetIdentifyTypeEnums, GuestTypeEnums } from '../../assets/js/Enums/common.js'
Page({ Page({
behaviors: [confirmInvoiceModalBehavior], behaviors: [confirmInvoiceModalBehavior],
@@ -124,21 +131,30 @@ Page({
name: '培训费' name: '培训费'
}, },
], ],
// 是否 need: [...NeedArr],
need: [{ // 是否用餐
value: '1', needHaveMealsArr: [...NeedArr],
name: '是' // 是否是否回民
}, needHuiPeopleArr: [...NeedArr],
{ //是否住酒店
value: '0', needCheckInHotelArr: [...NeedArr],
name: '否' // 是否需要接站
}, needPickUpArr: [...NeedArr],
], // 是否需要送站
needDeliveryStationArr: [...NeedArr],
flag: false, flag: false,
// 是否调用无限制接口 // 是否调用无限制接口
nolimitBool: false, nolimitBool: false,
//会议费用 //会议费用
meetingCosts: '' meetingCosts: '',
// 是否是编辑页面
isEdit: false,
// 嘉宾类型的显示信息,不保
guestType_dictText: '',
// 嘉宾的相关信息
guestInfo: {
}
}, },
// 抵达时间选择 // 抵达时间选择
bindDateChangeArriveTime(e) { bindDateChangeArriveTime(e) {
@@ -206,7 +222,6 @@ Page({
// 缴费方式选择 // 缴费方式选择
paymentMethodRadioChange(e) { paymentMethodRadioChange(e) {
let value = e.detail.value let value = e.detail.value
console.log(e.detail.value);
this.setData({ this.setData({
payMethod: value payMethod: value
}) })
@@ -347,7 +362,6 @@ Page({
}, },
// 校验邀请码 // 校验邀请码
validateCode() { validateCode() {
console.log("--this.data.inviteCode-------", this.data.inviteCode)
if (this.data.inviteCode === '' || this.data.inviteCode === undefined) { if (this.data.inviteCode === '' || this.data.inviteCode === undefined) {
wx.showToast({ wx.showToast({
title: '请输入邀请码', title: '请输入邀请码',
@@ -395,14 +409,12 @@ Page({
}); });
}) })
let validSuccessCallback = () => { let validSuccessCallback = () => {
console.log(this.data.inviteCodeArr);
let toUserCode = this.data.inviteCode.substring(0, this.data.inviteCode.indexOf('-')) let toUserCode = this.data.inviteCode.substring(0, this.data.inviteCode.indexOf('-'))
let validateArr = this.data.inviteCodeArr.filter(item => { let validateArr = this.data.inviteCodeArr.filter(item => {
return toUserCode === item.code return toUserCode === item.code
}) })
if (validateArr.length === 0) return if (validateArr.length === 0) return
console.log(validateArr[0].type);
this.setData({ this.setData({
guestType: validateArr[0].type, guestType: validateArr[0].type,
haveMeals: '', haveMeals: '',
@@ -436,7 +448,6 @@ Page({
}) })
break break
case '5': case '5':
console.log('666')
this.setData({ this.setData({
cooperatieBool: true, cooperatieBool: true,
validateBtnBool: false validateBtnBool: false
@@ -459,7 +470,6 @@ Page({
count: 1, //能选择文件的数量 count: 1, //能选择文件的数量
type: 'file', //能选择文件的类型,我这里只允许上传文件.还有视频,图片,或者都可以 type: 'file', //能选择文件的类型,我这里只允许上传文件.还有视频,图片,或者都可以
success(res) { success(res) {
console.log(res);
var size = res.tempFiles[0].size; var size = res.tempFiles[0].size;
var name = res.tempFiles[0].name; var name = res.tempFiles[0].name;
var temporaryPdfArr = []; var temporaryPdfArr = [];
@@ -501,7 +511,6 @@ Page({
}, },
// 手机号验证 // 手机号验证
validatePhone(e) { validatePhone(e) {
console.log(e);
let value = e.detail.value let value = e.detail.value
let { let {
message, message,
@@ -601,7 +610,6 @@ Page({
}, },
// 信用代码验证 // 信用代码验证
validateDutyCode(e) { validateDutyCode(e) {
console.log(e, 1111)
let value = e.detail.value let value = e.detail.value
let { let {
message, message,
@@ -634,7 +642,6 @@ Page({
}, },
// 发票项目变化的时候触发的方法 // 发票项目变化的时候触发的方法
invoiceProjectChange(e) { invoiceProjectChange(e) {
console.log("------e--------", e)
this.setData({ this.setData({
invoiceProjectIndex: e.detail.value invoiceProjectIndex: e.detail.value
}) })
@@ -815,7 +822,7 @@ Page({
return return
} }
} }
if (!formData.invoiceProject || formData.invoiceProject === -1) { if (formData.invoiceProject === undefined || formData.invoiceProject === -1) {
wx.showToast({ wx.showToast({
title: '请选择发票项目', title: '请选择发票项目',
icon: 'none', icon: 'none',
@@ -1053,9 +1060,25 @@ Page({
title: '加载中', title: '加载中',
mask: true mask: true
}) })
signUpApi.signUpMeeting(formData).then(res => { let func
let lastPage // 上一个调换的页面,用于记录编辑成功后返回哪个页面
const isEdit = this.isEdit
if(isEdit) {
func = MeetingApi.editContactsInfo
formData.id = this.model.id // 编辑参会人的信息
lastPage = this.lastPage
} else {
func = signUpApi.signUpMeeting
}
func(formData).then(res => {
if (res.success) { if (res.success) {
wx.hideLoading({}) wx.hideLoading({})
let message = isEdit ? '编辑成功' : '报名成功'
wx.showToast({
title: message,
icon: 'loading',
duration: 1500
})
// 成功 清除缓存 跳转报名成功页面 // 成功 清除缓存 跳转报名成功页面
wx.removeStorage({ wx.removeStorage({
key: 'selectedCompany', key: 'selectedCompany',
@@ -1072,6 +1095,8 @@ Page({
wx.removeStorage({ wx.removeStorage({
key: 'currentMeetingInfo', key: 'currentMeetingInfo',
success() { success() {
// 非编辑页面跳转到下一页
if(!isEdit) {
// 跳转报名成功页面 res.result为true不需要审核 // 跳转报名成功页面 res.result为true不需要审核
if (!res.result) { if (!res.result) {
wx.navigateTo({ wx.navigateTo({
@@ -1082,6 +1107,12 @@ Page({
url: `../signUpSuccess/signUpSuccess`, url: `../signUpSuccess/signUpSuccess`,
}) })
} }
} else {
// 编辑页面跳转到会议列表页
wx.navigateTo({
url: lastPage,
})
}
} }
}) })
} else { } else {
@@ -1107,10 +1138,229 @@ Page({
//显示 校验发票信息的弹框 //显示 校验发票信息的弹框
this.showConfirmModal(formData, callback) this.showConfirmModal(formData, callback)
}, },
/**
* 通过嘉宾类型 更新相应的DOM
* @param guestType
*/
updateGuestFlag(guestType) {
guestType = +guestType
switch (guestType) {
case GuestTypeEnums.VIP.index:
this.setData({
vipBool: true,
validateBtnBool: false,
guestType_dictText: GuestTypeEnums.VIP.name
})
break
case GuestTypeEnums.speaker.index:
this.setData({
speakerBool: true,
validateBtnBool: false,
guestType_dictText: GuestTypeEnums.speaker.name
})
break
case GuestTypeEnums.guestInvitation.index:
this.setData({
guestBool: true,
validateBtnBool: false,
guestType_dictText: GuestTypeEnums.guestInvitation.name
})
break
case GuestTypeEnums.cooperative.index:
this.setData({
cooperatieBool: true,
validateBtnBool: false,
guestType_dictText: GuestTypeEnums.cooperative.name
})
break
case GuestTypeEnums.exhibitor.index:
this.setData({
cooperatieBool: true,
validateBtnBool: false,
guestType_dictText: GuestTypeEnums.exhibitor.name
})
break
}
},
/**
* 更新radio对应的选中状态
* @param arr-radio 对应的数组
* @param value-选中的值
*/
updateRadioArr(arr, value) {
value = value + '' // 修改成字符串 防止匹配不到位
arr.map(tt => {
if (tt.value === value) {
tt.checked = true
}
})
},
// 通过文件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
}
},
// 编辑--用于信息的回显
edit(record){
this.model = Object.assign({}, record)
// 选中的参会单位
const selectedCompany = {
id:this.model.companyId,
companyName:this.model.companyName,
// 写入发票的信息,因为需要回显
dutyCode:this.model.dutyCode, // 信用代码
companyAddress:this.model.companyAddress, // 公司地址
companyPhone:this.model.companyPhone, // 公司电话
openingBank:this.model.openingBank, // 开户行
bankAccount:this.model.bankAccount, // 银行账号
linkBankNumber:this.model.linkBankNumber // 联行号
}
// 参会人
const selectedPerson = {
id:this.model.companyContactTemporaryId,
name:this.model.companyContactName
}
// 如果身份是嘉宾则有邀请码,不是嘉宾则没有邀请码
this.changeInviteCode({
detail: {value: this.model.identity === MeetIdentifyTypeEnums.guest.index ? '1' : '0'}
})
// 选中的身份
const selectedIdentity = this.model.identity + ''
// 参会身份选中状态的处理
this.updateRadioArr(this.data.identifyList, selectedIdentity)
// 参会人的时候更新参会人的相关信息
const updateObj = {
identity: this.model.identity + '' // 参会人信息
}
if(this.model.identity === MeetIdentifyTypeEnums.attendee.index) {
this.updateRadioArr(this.data.need, '0')
updateObj.need = this.data.need
// 缴费方式
this.updateRadioArr(this.data.paymentMethodList, this.model.payMode)
updateObj.paymentMethodList = this.data.paymentMethodList
// 是否选择发票的选中的索引 默认需要
const index = this.data.needInvoiceList.findIndex(e => e.value === (this.model.needInvoice + '')) + ''
updateObj.index = index
// 发票项目选择的索引
const invoiceProjectIndex = this.data.invoiceProjectList.findIndex(e => e.value === (this.model.invoiceProject + ''))
updateObj.invoiceProjectIndex = invoiceProjectIndex
// 回显邮寄联系人
const selectedPostPerson = {
id: this.model.postContactId,
name: this.model.postContactName,
contactAddress: this.model.postContactAddress, // 邮寄地址
postalCode: this.model.postCode, // 邮编
}
updateObj.selectedPostPerson = selectedPostPerson
updateObj.remark = this.model.remark // 备注
} else if(this.model.identity === MeetIdentifyTypeEnums.guest.index) {
// 将验证码相关显示信息回显
const guestType = this.model.guestType + '' // 嘉宾类型
this.updateGuestFlag(guestType)
updateObj.guestType = guestType
this.updateRadioArr(this.data.need, '1')
updateObj.need = this.data.need
this.data.guestInfo.speechTopic = this.model.speechTopic // 演讲题目
// 演讲PPT--先获取文件的id 处理全局的信息 speechPpt-文件id tempFiles--文件的名称
if(this.model.speechPpt) {
//todo PC端可以上传多个文件,但是小程序只做了一个 先按照小程序的处理
this.initFileList(this.model.speechPpt).then(res => {
this.setData({
speechPpt: res[0].id,
tempFiles: res[0].name,
})
})
} else {
}
updateObj.imageIds = this.model.photo // 照片
this.data.guestInfo.profile = this.model.profile // 个人简介
// haveMeals-是否用餐:
this.updateRadioArr(this.data.needHaveMealsArr, this.model.haveMeals)
updateObj.haveMeal = this.model.haveMeals + '' // 是否用餐
updateObj.needHaveMealsArr = this.data.needHaveMealsArr // 是否用餐
this.updateRadioArr(this.data.needHuiPeopleArr, this.model.huiPeople) // 是否回民
updateObj.needHuiPeopleArr = this.data.needHuiPeopleArr
this.updateRadioArr(this.data.needCheckInHotelArr, this.model.checkInHotel) // 是否住酒店
updateObj.needCheckInHotelArr = this.data.needCheckInHotelArr // 是否住酒店radio数组
updateObj.needHotel = this.model.checkInHotel + '' // 是否住酒店
updateObj.inHotelTime = this.model.inHotelTime + '' // 入住酒店时间
updateObj.outHotelTime = this.model.outHotelTime + '' // 离店时间
this.data.guestInfo.roomLayout = this.model.roomLayout // 房型
this.updateRadioArr(this.data.needPickUpArr, this.model.pickUp) // 是否需要接站radio数组
updateObj.needPickUpArr = this.data.needPickUpArr
updateObj.needPick = this.model.pickUp + '' // 是否需要接站
updateObj.arrivalTime = this.model.arrivalTime + '' // 抵达时间
this.data.guestInfo.destination = this.model.destination // 到达站
this.data.guestInfo.arrivalShift = this.model.arrivalShift // 到达班次:
this.updateRadioArr(this.data.needDeliveryStationArr, this.model.deliveryStation)
updateObj.needDeliveryStationArr = this.data.needDeliveryStationArr
// updateObj.deliveryStation = this.model.deliveryStation + '' // 是否需要送站
updateObj.needSend = this.model.deliveryStation + '' // 是否需要送站
updateObj.departureTime = this.model.departureTime // 离开时间
this.data.guestInfo.departureStation = this.model.departureStation // 离开站
this.data.guestInfo.departureShift = this.model.departureShift // 离开班次
this.data.guestInfo.peer = this.model.peer // 同行人
this.data.guestInfo.remark = this.model.remark // 备注
}
this.setData({
isEdit: true,
selectedCompany,
selectedPerson,
phone: this.model.phone,
selectedIdentity, // 参会身份
identifyList: this.data.identifyList, // 参会身份选中
guestInfo: this.data.guestInfo, // 嘉宾的相关信息
...updateObj
})
},
/** /**
* 生命周期函数--监听页面加载 * 生命周期函数--监听页面加载
*/ */
onLoad: function (options) { onLoad: function (options) {
// options = {
// id: "1683047817135579138",
// meetingId: "1681693843581128706",
// meetingType: 3,
// ope: 'edit'
// }
// 这个id 可能是是会议活动进来的 或者消息 或者扫码的 // 这个id 可能是是会议活动进来的 或者消息 或者扫码的
if (options.meetingId) { if (options.meetingId) {
this.queryMeetingDetail(options.meetingId) this.queryMeetingDetail(options.meetingId)
@@ -1122,6 +1372,30 @@ Page({
nolimitBool: true nolimitBool: true
}) })
} }
this.setData({
pageTitle: options.id ? '编辑报名信息' : '会议报名'
})
if(options.id) {
this.isEdit = options.ope === 'edit'
this.lastPage = `../${options.page}/${options.page}`
// 对上一个页面的参数进行处理
this.lastOptions = options.options && JSON.parse(options.options) || {}
let str = ''
Object.keys(this.lastOptions).forEach((tt, i) => {
if( i > 0) {
str += `&${tt}=${this.lastOptions[tt]}`
} else {
str += `?${tt}=${this.lastOptions[tt]}`
}
})
this.lastPage += str
// 通过id获取参会人信息
MeetingApi.queryPersongInfoById({id: options.id}).then(res => {
if(res.success){
this.edit(res.result)
}
})
}
// 从缓存中拿选中的企业 // 从缓存中拿选中的企业
const that = this const that = this
@@ -1138,7 +1412,6 @@ Page({
wx.getStorage({ wx.getStorage({
key: 'currentMeetingInfo', key: 'currentMeetingInfo',
success(res) { success(res) {
console.log(res, 'meetingInfo');
that.setData({ that.setData({
selectedMeeting: res.data selectedMeeting: res.data
}) })
@@ -1,5 +1,6 @@
{ {
"navigationBarTitleText": "会议报名", "navigationBarTitleText": "会议报名",
"navigationStyle": "custom",
"usingComponents": { "usingComponents": {
"image-upload":"../../components/imageUpload/imageUpload" "image-upload":"../../components/imageUpload/imageUpload"
} }
+81 -69
View File
@@ -1,4 +1,11 @@
<!--国际研讨会的报名--> <!--国际研讨会的报名-->
<!--发票信息 自定义头部start -->
<view class="custom flex_center" style="padding-top:{{statusBarHeight}}px">
<image src="../../assets/images/back.png" bindtap="goBack"></image>
<text>{{pageTitle}}</text>
</view>
<view class="empty_custom" style="padding-top:{{statusBarHeight}}px"></view><!-- 空view用来填充自定义头部的padding-top -->
<!-- 自定义头部end -->
<view class="color-f5 wrap"> <view class="color-f5 wrap">
<form bindsubmit="formSubmit"> <form bindsubmit="formSubmit">
<view class="form-wrap"> <view class="form-wrap">
@@ -26,7 +33,7 @@
<view> <view>
<radio-group bindchange="changeInviteCode"> <radio-group bindchange="changeInviteCode">
<label class="radio radio-item" wx:for="{{need}}" wx:key="item"> <label class="radio radio-item" wx:for="{{need}}" wx:key="item">
<radio class="radio-scale" value="{{item.value}}" color="#069F99" />{{item.name}} <radio class="radio-scale" value="{{item.value}}" color="#069F99" checked="{{item.checked}}"/>{{item.name}}
</label> </label>
</radio-group> </radio-group>
</view> </view>
@@ -40,22 +47,27 @@
<view> <view>
<radio-group name='identity' bindchange="changeIdentify"> <radio-group name='identity' bindchange="changeIdentify">
<label class="radio radio-item" wx:for="{{identifyList}}" wx:key="item"> <label class="radio radio-item" wx:for="{{identifyList}}" wx:key="item">
<radio wx:if="{{!item.disabled}}" class="radio-scale" value="{{item.value}}" color="#069F99" disabled="{{item.disabled}}" /> <radio wx:if="{{!item.disabled}}" class="radio-scale" value="{{item.value}}" color="#069F99" disabled="{{item.disabled}}" checked="{{item.checked}}"/>
<text wx:if="{{!item.disabled}}">{{item.name}}</text> <text wx:if="{{!item.disabled}}">{{item.name}}</text>
</label> </label>
</radio-group> </radio-group>
</view> </view>
</view> </view>
<!-- 是否有邀请码选择是 才会出现 --> <!-- 是否有邀请码选择是 且非编辑状态 才会出现 -->
<view class="form-item" wx:if="{{ isInviteCode === '1' }}" style="margin-bottom:10rpx"> <view class="form-item" wx:if="{{ isInviteCode === '1' && !isEdit}}" style="margin-bottom:10rpx">
<text class="item-label flex-1 validate">邀请码:</text> <text class="item-label flex-1 validate">邀请码:</text>
<input placeholder-class="text-right" name="inviteCode" bindinput="bindInputInviteCode" value="{{inviteCode}}" placeholder="请输入邀请码" /> <input placeholder-class="text-right" name="inviteCode" bindinput="bindInputInviteCode" value="{{inviteCode}}" placeholder="请输入邀请码" />
</view> </view>
<view class="form-item" wx:if="{{isInviteCode === '1'}}"> <view class="form-item" wx:if="{{isInviteCode === '1' && !isEdit}}">
<button class="validate-btn" bindtap="validateCode">校验邀请码</button> <button class="validate-btn" bindtap="validateCode">校验邀请码</button>
</view> </view>
<!-- 编辑的时候 作为回显显示 -->
<view class="form-item" wx:if="{{ isInviteCode === '1' && isEdit}}">
<text>嘉宾类型:</text>
<input value="{{guestType_dictText}}" disabled />
</view>
<!-- 选择身份是参会人和内部企业的时候显示 --> <!-- 选择身份是参会人和内部企业的时候显示 -->
@@ -68,7 +80,7 @@
<view> <view>
<radio-group name='payMode' bindchange="paymentMethodRadioChange"> <radio-group name='payMode' bindchange="paymentMethodRadioChange">
<label class="radio radio-item" wx:for="{{paymentMethodList}}" wx:key="item" style="font-size:13px"> <label class="radio radio-item" wx:for="{{paymentMethodList}}" wx:key="item" style="font-size:13px">
<radio class="radio-scale" value="{{item.value}}" color="#069F99" />{{item.name}} <radio class="radio-scale" value="{{item.value}}" color="#069F99" checked="{{item.checked}}"/>{{item.name}}
</label> </label>
</radio-group> </radio-group>
</view> </view>
@@ -144,7 +156,7 @@
<view class="form-item-radio"> <view class="form-item-radio">
<text class="item-label flex-1">备注:</text> <text class="item-label flex-1">备注:</text>
<textarea name="remark" placeholder="请输入备注" name="remark" /> <textarea name="remark" placeholder="请输入备注" name="remark" value="{{remark}}"/>
</view> </view>
<view class="form-item"> <view class="form-item">
<text class="item-label flex-1">费用合计:</text> <text class="item-label flex-1">费用合计:</text>
@@ -162,7 +174,7 @@
<view class="form-item"> <view class="form-item">
<text class="item-label flex-1">演讲题目:</text> <text class="item-label flex-1">演讲题目:</text>
<input placeholder-class="text-right" name="speechTopic" placeholder="请输入演讲题目" /> <input placeholder-class="text-right" name="speechTopic" placeholder="请输入演讲题目" value="{{guestInfo.speechTopic}}"/>
</view> </view>
<view class="form-item-radio"> <view class="form-item-radio">
@@ -173,13 +185,13 @@
<view class="form-item-radio"> <view class="form-item-radio">
<text class="item-label flex-1">照片:</text> <text class="item-label flex-1">照片:</text>
<image-upload style="margin-top:20rpx" bindgetIds='getImagesId' maxLength='1'></image-upload> <image-upload style="margin-top:20rpx" bindgetIds='getImagesId' maxLength='1' initImgsList="{{imageIds}}" ></image-upload>
</view> </view>
<view class="form-item-radio"> <view class="form-item-radio">
<text class="item-label flex-1">个人简介:</text> <text class="item-label flex-1">个人简介:</text>
<textarea name="profile" placeholder="请输入个人简介" name="remark" /> <textarea name="profile" placeholder="请输入个人简介" value="{{guestInfo.profile}}"/>
</view> </view>
<view class="form-item-radio"> <view class="form-item-radio">
@@ -188,8 +200,8 @@
</view> </view>
<view> <view>
<radio-group name='haveMeals' bindchange="needHaveMeal"> <radio-group name='haveMeals' bindchange="needHaveMeal">
<label class="radio radio-item" wx:for="{{need}}" wx:key="item"> <label class="radio radio-item" wx:for="{{needHaveMealsArr}}" wx:key="item">
<radio class="radio-scale" value="{{item.value}}" color="#069F99" />{{item.name}} <radio class="radio-scale" value="{{item.value}}" color="#069F99" checked="{{item.checked}}"/>{{item.name}}
</label> </label>
</radio-group> </radio-group>
</view> </view>
@@ -202,8 +214,8 @@
</view> </view>
<view> <view>
<radio-group name='huiPeople'> <radio-group name='huiPeople'>
<label class="radio radio-item" wx:for="{{need}}" wx:key="item"> <label class="radio radio-item" wx:for="{{needHuiPeopleArr}}" wx:key="item">
<radio class="radio-scale" value="{{item.value}}" color="#069F99" />{{item.name}} <radio class="radio-scale" value="{{item.value}}" color="#069F99" checked="{{item.checked}}"/>{{item.name}}
</label> </label>
</radio-group> </radio-group>
</view> </view>
@@ -216,8 +228,8 @@
</view> </view>
<view> <view>
<radio-group name='checkInHotel' bindchange="needHotel"> <radio-group name='checkInHotel' bindchange="needHotel">
<label class="radio radio-item" wx:for="{{need}}" wx:key="item"> <label class="radio radio-item" wx:for="{{needCheckInHotelArr}}" wx:key="item">
<radio class="radio-scale" value="{{item.value}}" color="#069F99" />{{item.name}} <radio class="radio-scale" value="{{item.value}}" color="#069F99" checked="{{item.checked}}"/>{{item.name}}
</label> </label>
</radio-group> </radio-group>
</view> </view>
@@ -225,7 +237,7 @@
<view class="form-item" wx:if="{{needHotel === '1' }}"> <view class="form-item" wx:if="{{needHotel === '1' }}">
<text class="item-label flex-1 validate">入住酒店时间:</text> <text class="item-label flex-1 validate">入住酒店时间:</text>
<picker name='inHotelTime' mode="date" bindchange="bindDateChangeInHotelTime"> <picker name='inHotelTime' mode="date" bindchange="bindDateChangeInHotelTime" value="{{inHotelTime}}">
<view class="picker"> <view class="picker">
{{inHotelTime}} {{inHotelTime}}
</view> </view>
@@ -234,7 +246,7 @@
<view class="form-item" wx:if="{{needHotel === '1' }}"> <view class="form-item" wx:if="{{needHotel === '1' }}">
<text class="item-label flex-1 validate">离店时间:</text> <text class="item-label flex-1 validate">离店时间:</text>
<picker name='outHotelTime' placeholder="请选择离店时间" mode="date" bindchange="bindDateChangeOutHotelTime"> <picker name='outHotelTime' placeholder="请选择离店时间" mode="date" bindchange="bindDateChangeOutHotelTime" value="{{outHotelTime}}">
<view class="picker"> <view class="picker">
{{outHotelTime}} {{outHotelTime}}
</view> </view>
@@ -243,7 +255,7 @@
<view class="form-item" wx:if="{{needHotel === '1' }}"> <view class="form-item" wx:if="{{needHotel === '1' }}">
<text class="item-label flex-1 validate">房型:</text> <text class="item-label flex-1 validate">房型:</text>
<input placeholder-class="text-right" name="roomLayout" bindinput="bindInputPhone" placeholder="请输入房型" /> <input placeholder-class="text-right" name="roomLayout" value="{{guestInfo.roomLayout}}" placeholder="请输入房型" />
</view> </view>
<view class="form-item-radio"> <view class="form-item-radio">
@@ -252,8 +264,8 @@
</view> </view>
<view> <view>
<radio-group name='pickUp' bindchange="needPick"> <radio-group name='pickUp' bindchange="needPick">
<label class="radio radio-item" wx:for="{{need}}" wx:key="item"> <label class="radio radio-item" wx:for="{{needPickUpArr}}" wx:key="item">
<radio class="radio-scale" value="{{item.value}}" color="#069F99" />{{item.name}} <radio class="radio-scale" value="{{item.value}}" color="#069F99" checked="{{item.checked}}"/>{{item.name}}
</label> </label>
</radio-group> </radio-group>
</view> </view>
@@ -261,7 +273,7 @@
<view class="form-item" wx:if="{{needPick === '1' }}"> <view class="form-item" wx:if="{{needPick === '1' }}">
<text class="item-label flex-1 validate">抵达时间:</text> <text class="item-label flex-1 validate">抵达时间:</text>
<picker name='arrivalTime' mode="date" value="{{date}}" bindchange="bindDateChangeArriveTime"> <picker name='arrivalTime' mode="date" value="{{arrivalTime}}" bindchange="bindDateChangeArriveTime">
<view class="picker"> <view class="picker">
{{arrivalTime}} {{arrivalTime}}
</view> </view>
@@ -270,12 +282,12 @@
<view class="form-item" wx:if="{{needPick === '1' }}"> <view class="form-item" wx:if="{{needPick === '1' }}">
<text class="item-label flex-1 validate">到达站:</text> <text class="item-label flex-1 validate">到达站:</text>
<input placeholder-class="text-right" name="destination" bindinput="bindInputPhone" placeholder="请输入到达站" /> <input placeholder-class="text-right" name="destination" placeholder="请输入到达站" value="{{guestInfo.destination}}"/>
</view> </view>
<view class="form-item" wx:if="{{needPick === '1' }}"> <view class="form-item" wx:if="{{needPick === '1' }}">
<text class="item-label flex-1 validate">到达班次:</text> <text class="item-label flex-1 validate">到达班次:</text>
<input placeholder-class="text-right" name="arrivalShift" bindinput="bindInputPhone" placeholder="请输入到达班次" /> <input placeholder-class="text-right" name="arrivalShift" placeholder="请输入到达班次" value="{{guestInfo.arrivalShift}}" />
</view> </view>
@@ -285,8 +297,8 @@
</view> </view>
<view> <view>
<radio-group name='deliveryStation' bindchange="needSend"> <radio-group name='deliveryStation' bindchange="needSend">
<label class="radio radio-item" wx:for="{{need}}" wx:key="item"> <label class="radio radio-item" wx:for="{{needDeliveryStationArr}}" wx:key="item">
<radio class="radio-scale" value="{{item.value}}" color="#069F99" />{{item.name}} <radio class="radio-scale" value="{{item.value}}" color="#069F99" checked="{{item.checked}}"/>{{item.name}}
</label> </label>
</radio-group> </radio-group>
</view> </view>
@@ -294,7 +306,7 @@
<view class="form-item" wx:if="{{needSend === '1' }}"> <view class="form-item" wx:if="{{needSend === '1' }}">
<text class="item-label flex-1 validate">离开时间:</text> <text class="item-label flex-1 validate">离开时间:</text>
<picker name='departureTime' mode="date" value="{{date}}" bindchange="bindDateChangeLeaveTime"> <picker name='departureTime' mode="date" value="{{departureTime}}" bindchange="bindDateChangeLeaveTime">
<view class="picker"> <view class="picker">
{{departureTime}} {{departureTime}}
</view> </view>
@@ -303,22 +315,22 @@
<view class="form-item" wx:if="{{needSend === '1' }}"> <view class="form-item" wx:if="{{needSend === '1' }}">
<text class="item-label flex-1 validate">离开站:</text> <text class="item-label flex-1 validate">离开站:</text>
<input placeholder-class="text-right" name="departureStation" bindinput="bindInputPhone" placeholder="请输入离开站" /> <input placeholder-class="text-right" name="departureStation" bindinput="bindInputPhone" placeholder="请输入离开站" value="{{guestInfo.departureStation}}"/>
</view> </view>
<view class="form-item" wx:if="{{needSend === '1' }}"> <view class="form-item" wx:if="{{needSend === '1' }}">
<text class="item-label flex-1 validate">离开班次:</text> <text class="item-label flex-1 validate">离开班次:</text>
<input placeholder-class="text-right" name="departureShift" bindinput="bindInputPhone" placeholder="请输入离开班次" /> <input placeholder-class="text-right" name="departureShift" bindinput="bindInputPhone" placeholder="请输入离开班次" value="{{guestInfo.departureShift}}"/>
</view> </view>
<view class="form-item"> <view class="form-item">
<text class="item-label flex-1">同行人:</text> <text class="item-label flex-1">同行人:</text>
<input placeholder-class="text-right" name="peer" bindinput="bindInputPhone" placeholder="请输入同行人" /> <input placeholder-class="text-right" name="peer" bindinput="bindInputPhone" placeholder="请输入同行人" value="{{guestInfo.peer}}"/>
</view> </view>
<view class="form-item-radio"> <view class="form-item-radio">
<text class="item-label flex-1">备注:</text> <text class="item-label flex-1">备注:</text>
<textarea name="remark" placeholder="请输入备注" name="remark" /> <textarea name="remark" placeholder="请输入备注" name="remark" value="{{guestInfo.remark}}"/>
</view> </view>
<view class="btn-wrap"> <view class="btn-wrap">
@@ -332,7 +344,7 @@
<view class="form-item"> <view class="form-item">
<text class="item-label flex-1">演讲题目:</text> <text class="item-label flex-1">演讲题目:</text>
<input placeholder-class="text-right" name="speechTopic" placeholder="请输入演讲题目" /> <input placeholder-class="text-right" name="speechTopic" placeholder="请输入演讲题目" value="{{guestInfo.speechTopic}}"/>
</view> </view>
<view class="form-item-radio"> <view class="form-item-radio">
@@ -345,13 +357,13 @@
<text class="item-label flex-1">照片:</text> <text class="item-label flex-1">照片:</text>
<!-- <input placeholder-class="text-right" name="postContactAddress" bindinput="bindInputPhone" <!-- <input placeholder-class="text-right" name="postContactAddress" bindinput="bindInputPhone"
placeholder="请上传" /> --> placeholder="请上传" /> -->
<image-upload style="margin-top:20rpx" bindgetIds='getImagesId' maxLength='1'></image-upload> <image-upload style="margin-top:20rpx" bindgetIds='getImagesId' initImgsList="{{imageIds}}" maxLength='1'></image-upload>
</view> </view>
<view class="form-item-radio"> <view class="form-item-radio">
<text class="item-label flex-1">个人简介:</text> <text class="item-label flex-1">个人简介:</text>
<textarea name="profile" placeholder="请输入个人简介" name="remark" /> <textarea name="profile" placeholder="请输入个人简介" name="remark" value="{{guestInfo.profile}}"/>
</view> </view>
<view class="form-item-radio"> <view class="form-item-radio">
@@ -360,8 +372,8 @@
</view> </view>
<view> <view>
<radio-group name='haveMeals' bindchange="needHaveMeal"> <radio-group name='haveMeals' bindchange="needHaveMeal">
<label class="radio radio-item" wx:for="{{need}}" wx:key="item"> <label class="radio radio-item" wx:for="{{needHaveMealsArr}}" wx:key="item">
<radio class="radio-scale" value="{{item.value}}" color="#069F99" />{{item.name}} <radio class="radio-scale" value="{{item.value}}" color="#069F99" checked="{{item.checked}}"/>{{item.name}}
</label> </label>
</radio-group> </radio-group>
</view> </view>
@@ -373,8 +385,8 @@
</view> </view>
<view> <view>
<radio-group name='huiPeople'> <radio-group name='huiPeople'>
<label class="radio radio-item" wx:for="{{need}}" wx:key="item"> <label class="radio radio-item" wx:for="{{needHuiPeopleArr}}" wx:key="item">
<radio class="radio-scale" value="{{item.value}}" color="#069F99" />{{item.name}} <radio class="radio-scale" value="{{item.value}}" color="#069F99" checked="{{item.checked}}"/>{{item.name}}
</label> </label>
</radio-group> </radio-group>
</view> </view>
@@ -386,8 +398,8 @@
</view> </view>
<view> <view>
<radio-group name='pickUp' bindchange="needPick"> <radio-group name='pickUp' bindchange="needPick">
<label class="radio radio-item" wx:for="{{need}}" wx:key="item"> <label class="radio radio-item" wx:for="{{needPickUpArr}}" wx:key="item">
<radio class="radio-scale" value="{{item.value}}" color="#069F99" />{{item.name}} <radio class="radio-scale" value="{{item.value}}" color="#069F99" checked="{{item.checked}}"/>{{item.name}}
</label> </label>
</radio-group> </radio-group>
</view> </view>
@@ -395,7 +407,7 @@
<view class="form-item" wx:if="{{needPick === '1' }}"> <view class="form-item" wx:if="{{needPick === '1' }}">
<text class="item-label flex-1 validate">抵达时间:</text> <text class="item-label flex-1 validate">抵达时间:</text>
<picker name='arrivalTime' mode="date" value="{{date}}" bindchange="bindDateChangeArriveTime"> <picker name='arrivalTime' mode="date" value="{{arrivalTime}}" bindchange="bindDateChangeArriveTime">
<view class="picker"> <view class="picker">
{{arrivalTime}} {{arrivalTime}}
</view> </view>
@@ -404,12 +416,12 @@
<view class="form-item" wx:if="{{needPick === '1' }}"> <view class="form-item" wx:if="{{needPick === '1' }}">
<text class="item-label flex-1 validate">到达站:</text> <text class="item-label flex-1 validate">到达站:</text>
<input placeholder-class="text-right" name="destination" placeholder="请输入到达站" /> <input placeholder-class="text-right" name="destination" placeholder="请输入到达站" value="{{guestInfo.destination}}"/>
</view> </view>
<view class="form-item" wx:if="{{needPick === '1' }}"> <view class="form-item" wx:if="{{needPick === '1' }}">
<text class="item-label flex-1 validate">到达班次:</text> <text class="item-label flex-1 validate">到达班次:</text>
<input placeholder-class="text-right" name="arrivalShift" bindinput="bindInputPhone" placeholder="请输入到达班次" /> <input placeholder-class="text-right" name="arrivalShift" bindinput="bindInputPhone" placeholder="请输入到达班次" value="{{guestInfo.arrivalShift}}"/>
</view> </view>
@@ -419,8 +431,8 @@
</view> </view>
<view> <view>
<radio-group name='deliveryStation' bindchange="needSend"> <radio-group name='deliveryStation' bindchange="needSend">
<label class="radio radio-item" wx:for="{{need}}" wx:key="item"> <label class="radio radio-item" wx:for="{{needDeliveryStationArr}}" wx:key="item">
<radio class="radio-scale" value="{{item.value}}" color="#069F99" />{{item.name}} <radio class="radio-scale" value="{{item.value}}" color="#069F99" checked="{{item.checked}}"/>{{item.name}}
</label> </label>
</radio-group> </radio-group>
</view> </view>
@@ -428,7 +440,7 @@
<view class="form-item" wx:if="{{needSend === '1' }}"> <view class="form-item" wx:if="{{needSend === '1' }}">
<text class="item-label flex-1 validate">离开时间:</text> <text class="item-label flex-1 validate">离开时间:</text>
<picker name='departureTime' mode="date" value="{{date}}" bindchange="bindDateChangeLeaveTime"> <picker name='departureTime' mode="date" value="{{departureTime}}" bindchange="bindDateChangeLeaveTime">
<view class="picker"> <view class="picker">
{{departureTime}} {{departureTime}}
</view> </view>
@@ -437,22 +449,22 @@
<view class="form-item" wx:if="{{needSend === '1' }}"> <view class="form-item" wx:if="{{needSend === '1' }}">
<text class="item-label flex-1 validate">离开站:</text> <text class="item-label flex-1 validate">离开站:</text>
<input placeholder-class="text-right" name="departureStation" placeholder="请输入离开站" /> <input placeholder-class="text-right" name="departureStation" placeholder="请输入离开站" value="{{guestInfo.departureStation}}"/>
</view> </view>
<view class="form-item" wx:if="{{needSend === '1' }}"> <view class="form-item" wx:if="{{needSend === '1' }}">
<text class="item-label flex-1 validate">离开班次:</text> <text class="item-label flex-1 validate">离开班次:</text>
<input placeholder-class="text-right" name="departureShift" placeholder="请输入离开班次" /> <input placeholder-class="text-right" name="departureShift" placeholder="请输入离开班次" value="{{guestInfo.departureShift}}"/>
</view> </view>
<view class="form-item"> <view class="form-item">
<text class="item-label flex-1">同行人:</text> <text class="item-label flex-1">同行人:</text>
<input placeholder-class="text-right" name="peer" placeholder="请输入同行人" /> <input placeholder-class="text-right" name="peer" placeholder="请输入同行人" value="{{guestInfo.peer}}"/>
</view> </view>
<view class="form-item-radio"> <view class="form-item-radio">
<text class="item-label flex-1">备注:</text> <text class="item-label flex-1">备注:</text>
<textarea name="remark" placeholder="请输入备注" name="remark" /> <textarea name="remark" placeholder="请输入备注" name="remark" value="{{guestInfo.remark}}"/>
</view> </view>
<view class="btn-wrap"> <view class="btn-wrap">
@@ -469,8 +481,8 @@
</view> </view>
<view> <view>
<radio-group name='haveMeals' bindchange="needHaveMeal"> <radio-group name='haveMeals' bindchange="needHaveMeal">
<label class="radio radio-item" wx:for="{{need}}" wx:key="item"> <label class="radio radio-item" wx:for="{{needHaveMealsArr}}" wx:key="item">
<radio class="radio-scale" value="{{item.value}}" color="#069F99" />{{item.name}} <radio class="radio-scale" value="{{item.value}}" color="#069F99" checked="{{item.checked}}"/>{{item.name}}
</label> </label>
</radio-group> </radio-group>
</view> </view>
@@ -482,8 +494,8 @@
</view> </view>
<view> <view>
<radio-group name='huiPeople'> <radio-group name='huiPeople'>
<label class="radio radio-item" wx:for="{{need}}" wx:key="item"> <label class="radio radio-item" wx:for="{{needHuiPeopleArr}}" wx:key="item">
<radio class="radio-scale" value="{{item.value}}" color="#069F99" />{{item.name}} <radio class="radio-scale" value="{{item.value}}" color="#069F99" checked="{{item.checked}}"/>{{item.name}}
</label> </label>
</radio-group> </radio-group>
</view> </view>
@@ -495,8 +507,8 @@
</view> </view>
<view> <view>
<radio-group name='pickUp' bindchange="needPick"> <radio-group name='pickUp' bindchange="needPick">
<label class="radio radio-item" wx:for="{{need}}" wx:key="item"> <label class="radio radio-item" wx:for="{{needPickUpArr}}" wx:key="item">
<radio class="radio-scale" value="{{item.value}}" color="#069F99" />{{item.name}} <radio class="radio-scale" value="{{item.value}}" color="#069F99" checked="{{item.checked}}"/>{{item.name}}
</label> </label>
</radio-group> </radio-group>
</view> </view>
@@ -504,7 +516,7 @@
<view class="form-item" wx:if="{{needPick === '1'}}"> <view class="form-item" wx:if="{{needPick === '1'}}">
<text class="item-label flex-1 validate">抵达时间:</text> <text class="item-label flex-1 validate">抵达时间:</text>
<picker name='arrivalTime' mode="date" value="{{date}}" bindchange="bindDateChangeArriveTime"> <picker name='arrivalTime' mode="date" value="{{arrivalTime}}" bindchange="bindDateChangeArriveTime">
<view class="picker"> <view class="picker">
{{arrivalTime}} {{arrivalTime}}
</view> </view>
@@ -513,12 +525,12 @@
<view class="form-item" wx:if="{{needPick === '1'}}"> <view class="form-item" wx:if="{{needPick === '1'}}">
<text class="item-label flex-1 validate">到达站:</text> <text class="item-label flex-1 validate">到达站:</text>
<input placeholder-class="text-right" name="destination" bindinput="bindInputPhone" placeholder="请输入到达站" /> <input placeholder-class="text-right" name="destination" bindinput="bindInputPhone" placeholder="请输入到达站" value="{{guestInfo.destination}}"/>
</view> </view>
<view class="form-item" wx:if="{{needPick === '1'}}"> <view class="form-item" wx:if="{{needPick === '1'}}">
<text class="item-label flex-1 validate">到达班次:</text> <text class="item-label flex-1 validate">到达班次:</text>
<input placeholder-class="text-right" name="arrivalShift" bindinput="bindInputPhone" placeholder="请输入到达班次" /> <input placeholder-class="text-right" name="arrivalShift" bindinput="bindInputPhone" placeholder="请输入到达班次" value="{{guestInfo.arrivalShift}}"/>
</view> </view>
@@ -528,8 +540,8 @@
</view> </view>
<view> <view>
<radio-group name='deliveryStation' bindchange="needSend"> <radio-group name='deliveryStation' bindchange="needSend">
<label class="radio radio-item" wx:for="{{need}}" wx:key="item"> <label class="radio radio-item" wx:for="{{needDeliveryStationArr}}" wx:key="item">
<radio class="radio-scale" value="{{item.value}}" color="#069F99" />{{item.name}} <radio class="radio-scale" value="{{item.value}}" color="#069F99" checked="{{item.checked}}"/>{{item.name}}
</label> </label>
</radio-group> </radio-group>
</view> </view>
@@ -537,7 +549,7 @@
<view class="form-item" wx:if="{{needSend === '1'}}"> <view class="form-item" wx:if="{{needSend === '1'}}">
<text class="item-label flex-1 validate">离开时间:</text> <text class="item-label flex-1 validate">离开时间:</text>
<picker name='departureTime' mode="date" bindchange="bindDateChangeLeaveTime"> <picker name='departureTime' mode="date" bindchange="bindDateChangeLeaveTime" value="{{departureTime}}">
<view class="picker"> <view class="picker">
{{departureTime}} {{departureTime}}
</view> </view>
@@ -546,21 +558,21 @@
<view class="form-item" wx:if="{{needSend === '1'}}"> <view class="form-item" wx:if="{{needSend === '1'}}">
<text class="item-label flex-1 validate">离开站:</text> <text class="item-label flex-1 validate">离开站:</text>
<input placeholder-class="text-right" name="departureStation" bindinput="bindInputPhone" placeholder="请输入离开站" /> <input placeholder-class="text-right" name="departureStation" bindinput="bindInputPhone" placeholder="请输入离开站" value="{{guestInfo.departureStation}}"/>
</view> </view>
<view class="form-item" wx:if="{{needSend === '1'}}"> <view class="form-item" wx:if="{{needSend === '1'}}">
<text class="item-label flex-1 validate">离开班次:</text> <text class="item-label flex-1 validate">离开班次:</text>
<input placeholder-class="text-right" name="departureShift" bindinput="bindInputPhone" placeholder="请输入离开班次" /> <input placeholder-class="text-right" name="departureShift" bindinput="bindInputPhone" placeholder="请输入离开班次" value="{{guestInfo.departureShift}}"/>
</view> </view>
<view class="form-item"> <view class="form-item">
<text class="item-label flex-1">同行人:</text> <text class="item-label flex-1">同行人:</text>
<input placeholder-class="text-right" name="peer" placeholder="请输入同行人" /> <input placeholder-class="text-right" name="peer" placeholder="请输入同行人" value="{{guestInfo.peer}}"/>
</view> </view>
<view class="form-item-radio"> <view class="form-item-radio">
<text class="item-label flex-1">备注:</text> <text class="item-label flex-1">备注:</text>
<textarea name="remark" placeholder="请输入备注" name="remark" /> <textarea name="remark" placeholder="请输入备注" name="remark" value="{{guestInfo.remark}}"/>
</view> </view>
<view class="btn-wrap"> <view class="btn-wrap">
@@ -573,7 +585,7 @@
<view class="form-item"> <view class="form-item">
<text class="item-label flex-1">抵达时间:</text> <text class="item-label flex-1">抵达时间:</text>
<picker name='arrivalTime' mode="date" bindchange="bindDateChangeArriveTime"> <picker name='arrivalTime' mode="date" value="{{arrivalTime}}" bindchange="bindDateChangeArriveTime">
<view class="picker"> <view class="picker">
{{arrivalTime}} {{arrivalTime}}
</view> </view>
@@ -583,7 +595,7 @@
<view class="form-item"> <view class="form-item">
<text class="item-label flex-1">离开时间:</text> <text class="item-label flex-1">离开时间:</text>
<picker name='departureTime' mode="date" bindchange="bindDateChangeLeaveTime"> <picker name='departureTime' mode="date" value="{{departureTime}}" bindchange="bindDateChangeLeaveTime">
<view class="picker"> <view class="picker">
{{departureTime}} {{departureTime}}
</view> </view>
@@ -591,7 +603,7 @@
</view> </view>
<view class="form-item-radio"> <view class="form-item-radio">
<text class="item-label flex-1">备注:</text> <text class="item-label flex-1">备注:</text>
<textarea name="remark" placeholder="请输入备注" name="remark" /> <textarea name="remark" placeholder="请输入备注" name="remark" value="{{guestInfo.remark}}"/>
</view> </view>
<view class="btn-wrap"> <view class="btn-wrap">
<button class="btn-ok" formType="submit">确定</button> <button class="btn-ok" formType="submit">确定</button>