已报名会议的上传凭证

This commit is contained in:
fengachen
2021-10-18 16:13:45 +08:00
parent 824f4e1027
commit f346175191
5 changed files with 167 additions and 85 deletions
+2
View File
@@ -19,6 +19,8 @@ const signUpApi = {
addPersonNoLimit: (params) => http.post(`${URL_CONFIG}company/payContactsManagement/addMeeting`, params),
// 会议报名接口
signUpMeeting:(params) => http.post(`${URL_CONFIG}meeting/payMeetingSituation/signUp`, params),
// 上传汇款凭证
uploadPayRecord:(params) =>http.post(`${URL_CONFIG}meeting/payMeetingSituation/editTerminal`, params),
}
export default signUpApi
@@ -1,7 +1,10 @@
// pages/meeting/meeting.js
import {previewFile} from '../../assets/js/preview'
import {
previewFile
} from '../../assets/js/preview'
import MeetingApi from '../../assets/js/http/meetingApi'
import signUpApi from '../../assets/js/http/signUp'
Page({
/**
@@ -10,44 +13,64 @@ Page({
data: {
payProveImage: '',
// 会议详情
meetingInfo:{},
meetingInfo: {},
// 参会人信息
singInPersonInfo:{},
singInPersonInfo: {},
// 会议通知文件资料数组
meetingFilesList:[],
meetingFilesList: [],
// 会议资料文件数组
meetingDataList:[]
meetingDataList: [],
// 缴费凭证id
imageIds:[],
// 订单后四位
ordeCode:''
},
// 上传缴费凭证
uploadImage(){
const that = this
wx.chooseImage({
count: 1,
sizeType: ['original', 'compressed'],
sourceType: ['album', 'camera'],
success (res) {
// tempFilePath可以作为img标签的src属性显示图片
that.setData({
payProveImage: res.tempFilePaths
})
console.log(that.data.payProveImage)
// 获取图片的id
getImagesId(e) {
this.setData({
imageIds: e.detail.join(',')
})
},
// 订单后四位
setOrdeCode(e){
this.setData({
ordeCode:e.detail.value
})
},
// 上传汇款凭证
editPayRecord(){
const param = {
id:this.data.meetingInfo.situationId,
orderCode:this.data.ordeCode,
paymentRecord:this.data.imageIds
}
signUpApi.uploadPayRecord(param).then(res => {
console.log(res);
if(res.success){
wx.showToast({
title:res.message,
icon: "success",
duration: 800,
});
}else{
wx.showToast({
title:res.message,
icon: "error",
duration: 800,
});
}
})
},
// 删除缴费凭证
delete(){
this.setData({
payProveImage: ''
})
},
//参会人信息
queryPeronInfo(id){
MeetingApi.queryPersongInfoById({id:id}).then(res => {
if(res.success){
queryPeronInfo(id) {
MeetingApi.queryPersongInfoById({
id: id
}).then(res => {
if (res.success) {
this.setData({
singInPersonInfo:res.result
singInPersonInfo: res.result
})
}
})
@@ -56,7 +79,9 @@ Page({
getFileInfo(id) {
return new Promise(resolve => {
let result = {}
MeetingApi.queryFileInfoById({ id: id }).then(res => {
MeetingApi.queryFileInfoById({
id: id
}).then(res => {
if (res.success) {
result = res.result
}
@@ -66,14 +91,17 @@ Page({
})
},
// 获取文件信息
async initFileList(fileIds) {
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 })
fileList.push({
id: fileObj.id,
name: fileObj.fileName
})
}
return fileList
}
@@ -81,7 +109,7 @@ Page({
// 预览
previewFile(e) {
const fileObj = e.currentTarget.dataset.file
previewFile(fileObj.id,fileObj.name)
previewFile(fileObj.id, fileObj.name)
},
/**
* 生命周期函数--监听页面加载
@@ -92,26 +120,29 @@ Page({
console.log(meetingInfo);
const that = this
this.setData({
meetingInfo:meetingInfo
meetingInfo: meetingInfo
})
//
let {meetingFiles,meetingData} = meetingInfo
let {
meetingFiles,
meetingData
} = meetingInfo
// 获取参会人信息
this.queryPeronInfo(meetingInfo.id)
this.queryPeronInfo(meetingInfo.situationId)
// this.queryFileInfo(meetingFiles)
// 获取会议资料文件
this.initFileList(meetingData).then(res => {
that.setData({
meetingDataList:res
})
that.setData({
meetingDataList: res
})
})
// 会议通知文件
this.initFileList(meetingFiles).then(res => {
that.setData({
meetingFilesList:res
meetingFilesList: res
})
})
})
},
@@ -163,4 +194,4 @@ Page({
onShareAppMessage: function () {
}
})
})
@@ -1,4 +1,6 @@
{
"navigationBarTitleText": "会议详情",
"usingComponents": {}
"usingComponents": {
"image-upload":"../../components/imageUpload/imageUpload"
}
}
@@ -12,13 +12,13 @@
<text>负责人</text>
<text>{{meetingInfo.directorName}}</text>
</view>
<view>
<view class="sign-in">
<text>召开时间</text>
<text>{{meetingInfo.startTime + '至' + meetingInfo.endTime}}</text>
<text class="sign-in-text">{{meetingInfo.startTime + '至' + meetingInfo.endTime}}</text>
</view>
<view>
<view class="sign-in">
<text>召开地点</text>
<text>{{meetingInfo.venue + '/' + meetingInfo.address}}</text>
<text class="sign-in-text">{{meetingInfo.venue + '/' + meetingInfo.address}}</text>
</view>
<view>
<text>报名截止时间</text>
@@ -33,13 +33,13 @@
<text>{{meetingInfo.particularYear}}</text>
</view>
<!-- 标协会议才有 -->
<view>
<view wx:if="{{meetingInfo.meetType === '2' }}">
<text>会议费用(VIP</text>
<text>{{meetingInfo.meetingCostsVip}}</text>
</view>
<view>
<view class="sign-in">
<text>会议内容</text>
<text>{{meetingInfo.meetingContent}}</text>
<text class="sign-in-text">{{meetingInfo.meetingContent}}</text>
</view>
<view class="meeting-files">
<text>会议通知</text>
@@ -48,7 +48,7 @@
<image src="../../assets/images/pdf.png"></image>
<text>{{item.name}}</text>
</view>
<text class="look-file" bindtap="previewFile" data-file ='{{item}}'>查看</text>
<text class="look-file" bindtap="previewFile" data-file='{{item}}'>查看</text>
</view>
</view>
<view class="meeting-files" style="margin-top: 0;">
@@ -58,14 +58,14 @@
<image src="../../assets/images/warn.png"></image>
<text>单个账号会议文件只可发送五次</text>
</view>
<view class="file-name" wx:for="{{meetingDataList}}" wx:key="item">
<view class="file-name" wx:for="{{meetingDataList}}" wx:key="item">
<view>
<image src="../../assets/images/pdf.png"></image>
<text>{{item.name}}</text>
</view>
<text class="look-file" bindtap="previewFile" data-file ='{{item}}'>查看</text>
<text class="look-file" bindtap="previewFile" data-file='{{item}}'>查看</text>
</view>
<view class="center"> <text wx:if="{{meetingDataList.length === 0 }}">暂无</text></view>
<view class="center"> <text wx:if="{{meetingDataList.length === 0 }}" style="color:#999">暂无</text></view>
</view>
</view>
<!-- 报名信息begin -->
@@ -87,45 +87,50 @@
</view>
<view>
<text>抵达时间</text>
<text>{{singInPersonInfo.arrivalTime}}</text>
<text>{{singInPersonInfo.arrivalTime === null ? '' : singInPersonInfo.arrivalTime}}</text>
</view>
<view>
<text>离开时间</text>
<text>{{singInPersonInfo.departureTime}}</text>
<text>{{singInPersonInfo.departureTime === null ? '' : singInPersonInfo.departureTime}}</text>
</view>
<view>
<text>邮寄联系人</text>
<text>{{singInPersonInfo.postContactName}}</text>
<text>{{singInPersonInfo.postContactName === null ? '' :singInPersonInfo.postContactName}}</text>
</view>
<view>
<text>缴费方式</text>
<text>{{singInPersonInfo.payMode_dictText}}</text>
<text>{{singInPersonInfo.payMode_dictText === null ? '':singInPersonInfo.payMode_dictText }}</text>
</view>
<view>
<text>是否需要发票</text>
<text>{{singInPersonInfo.needInvoice_dictText}}</text>
<text>{{singInPersonInfo.needInvoice_dictText === null ? '': singInPersonInfo.needInvoice_dictText}}</text>
</view>
<view>
<view class="sign-in">
<text>邮寄地址</text>
<text>{{singInPersonInfo.postContactAddress}}</text>
<text class="sign-in-text">{{singInPersonInfo.postContactAddress === null ? '' : singInPersonInfo.postContactAddress}}</text>
</view>
<view>
<text>邮编</text>
<text>{{singInPersonInfo.postCode}}</text>
</view>
<view class="pay-prove-box">
<text>缴费凭证</text>
<view class="pay-prove-content">
<view class="pay-prove" wx:if="{{payProveImage}}">
<image src="{{payProveImage}}" mode="aspectFill"></image>
<text class="delete-image" bindtap="delete">×</text>
</view>
<view class="pay-prove" bindtap="uploadImage">
<image src="../../assets/images/uploadImage.png" mode="aspectFill" style="width: 40px; height: 40px;"></image>
</view>
</view>
<text>{{singInPersonInfo.postCode === null ? '' :singInPersonInfo.postCode}}</text>
</view>
</view>
<!-- 缴费凭证 begin -->
<view class="payment-record" wx:if="{{singInPersonInfo.payMode === 2 || singInPersonInfo.payMode === 1}}">
<view class="p-20">
<text>缴费凭证</text>
<view class="payment-text">
<image-upload bindgetIds='getImagesId' maxLength='1'></image-upload>
</view>
</view>
<view class="line"></view>
<!-- 缴费方式为线上的显示 -->
<view class="p-20" wx:if="{{singInPersonInfo.payMode === 2 }}">
<text>缴费订单号后四位数</text>
<input class="input" placeholder="请输入订单号后四位数" bindblur="setOrdeCode" />
</view>
<view class="tip" wx:if="{{singInPersonInfo.payMOde === 2 }}">请在会议期间内上传缴费凭证和缴费订单号后四位</view>
</view>
<!-- 缴费凭证 end -->
<!-- 报名信息end -->
<!-- 签到信息begin -->
<view class="basic-info" style="margin-top: 10px;">
@@ -138,16 +143,18 @@
</view>
</view>
<!-- 签到信息end -->
<!-- 会议状态begin -->
<!-- 进行中 -->
<image wx:if="{{meetingInfo.meetingStatus === 3}}" class="img" src="../../assets/images/ing.png"></image>
<!-- 未开始 -->
<image wx:if="{{meetingInfo.meetingStatus === 2}}" class="img" src="../../assets/images/no-start.png"></image>
<!-- 已结束 -->
<image wx:if="{{meetingInfo.meetingStatus === 4}}" class="img" src="../../assets/images/end.png"></image>
<!-- 进行中 -->
<image wx:if="{{meetingInfo.meetingStatus === 3}}" class="img" src="../../assets/images/ing.png"></image>
<!-- 未开始 -->
<image wx:if="{{meetingInfo.meetingStatus === 2}}" class="img" src="../../assets/images/no-start.png"></image>
<!-- 已结束 -->
<image wx:if="{{meetingInfo.meetingStatus === 4}}" class="img" src="../../assets/images/end.png"></image>
<!-- 会议状态end -->
<view class="sign-up-empty"></view>
<view class="sign-up">
<text>确定</text>
<text bindtap="editPayRecord">确定</text>
</view>
</view>
</view>
@@ -92,7 +92,7 @@ page{
justify-content: flex-start;
align-items: center;
padding: 0;
height: 80px;
height: 200px;
}
.pay-prove-box .pay-prove-content .pay-prove{
width: 80px;
@@ -106,10 +106,10 @@ page{
justify-content: center;
align-items: center;
}
.pay-prove-box .pay-prove-content .pay-prove image{
/* .pay-prove-box .pay-prove-content .pay-prove image{
width: 80px;
height: 80px;
}
} */
.pay-prove-box .pay-prove-content .pay-prove .delete-image{
width: 12px;
height: 12px;
@@ -159,3 +159,43 @@ page{
bottom: 0;
margin: auto;
}
.basic-info view.sign-in {
display: flex!important;
flex-direction: column!important;
align-items: start;
justify-content: start;
height: auto!important;
}
.sign-in-text {
margin-top: 15px;
}
.payment-record {
background: #fff;
margin-top: 20rpx;
}
.p-20 {
padding: 10px 20px;
box-sizing: border-box;
}
.payment-text {
margin-top: 10px;
}
.input {
margin: 10px 0;
border: 1px solid #eee;
padding-left: 10rpx;
height: 30px;
line-height: 30px;
}
.line {
border-top: 1px solid #eee;
}
.tip {
padding-left: 20px;
padding-bottom: 10px;
color: #333;
font-size: 14px;
}