lhl 2 years ago
parent
commit
d8da060ef6

+ 1 - 1
manifest.json

@@ -1,5 +1,5 @@
 {
-    "name" : "东宝红十字会",
+    "name" : "东宝红十字会",
     "appid" : "__UNI__F405D65",
     "description" : "",
     "versionName" : "1.0.0",

+ 1 - 1
pages.json

@@ -17,7 +17,7 @@
 					"titleNView": false
 				},
 				// #endif
-				"navigationBarTitleText": "东宝红十字会"
+				"navigationBarTitleText": "东宝红十字会"
 
 			}
 		},

+ 794 - 788
pages/applic/contribution.vue

@@ -1,789 +1,795 @@
-<template>
-	<view class="content">
-		<!-- <view class="top">
-			爱心捐款
-		</view> -->
-		<view class="box">
-			<view class="box-item" v-if="!isHelp">
-				<view class="box-left">
-					<text class="imp">*</text>捐款意向
-				</view>
-				<view class="box-right">
-					<picker :value="index" @change="PickerDire" :range="chooseDire" class="box-right" @click="addType">
-						<text>{{ intention || '请选择捐款意向'}}</text>
-					</picker>
-				</view>
-			</view>
-			<view class="box-item">
-				<view class="box-left">
-					<text class="imp">*</text>捐款方式
-				</view>
-				<view class="box-right">
-					<!-- <input type="text" placeholder="请选择捐款方式" /> -->
-					<picker @change="PickerType" :value="index" :range="chooseType" class="box-right">
-						<text>{{ way || '请选择捐款方式'}}</text>
-					</picker>
-				</view>
-			</view>
-			<!-- <view class="box-item">
-					<view class="box-left">
-						捐款金额
-					</view>
-					<view class="box-right">
-						<picker @change="PickerMoney" :value="index" :range="chooseMoney" class="box-right">
-							<text>{{ money || '请选择捐款金额'}}</text>
-						</picker>
-					</view>
-			</view> -->
-			<view class="box-item1" @click="tochooseMoney">
-				<!-- <view class="box-item1" @click="tochooseMoney"> -->
-				<view class="box-main">
-					<view class="box-left">
-						<text class="imp">*</text>捐款金额
-					</view>
-					<view class="box-right">
-						<input type="text" placeholder="请选择金额" v-model="money" disabled />
-						<!-- <picker @change="PickerMoney" :value="index" :range="chooseMoney" class="box-right">
-							<text>{{ money || '请选择捐款金额'}}</text>
-						</picker> -->
-					</view>
-
-				</view>
-
-				<view class="box-bottom">
-					个人满500,单位满2000可打印纸质证书
-				</view>
-			</view>
-
-		</view>
-		<!-- <view class="infoOptional">
-			信息(选填)
-		</view> -->
-		<view class="box">
-			<view class="box-item">
-				<view class="box-left">
-					<view v-if="is_show">
-						<text class="imp">*</text>姓名
-					</view>
-					<view v-else>
-						<text class="imp">*</text>单位
-					</view>
-				</view>
-				<view class="box-right">
-					<input type="text" placeholder="请真实填写" v-model="donate_er" />
-				</view>
-			</view>
-			<view class="box-item">
-				<view class="box-left">
-					<text class="imp">*</text>手机号
-				</view>
-				<view class="box-right">
-					<input type="text" placeholder="请填写手机号" v-model="mobile" />
-				</view>
-			</view>
-		</view>
-
-		<view class="switch-box">
-			<view class="switch-left">
-				实名公开
-			</view>
-			<view class="switch-right">
-				<switch :checked="public" color='#E63931' style="transform: scale(0.7,0.7)" @change="switch1Change" />
-			</view>
-		</view>
-
-		<view class="switch-box">
-			<view class="switch-left">
-				寄发票
-			</view>
-			<view class="switch-right">
-				<switch :checked="receipts" color='#E63931' style="transform: scale(0.7,0.7)" @change="switch2Change" />
-			</view>
-
-		</view>
-
-		<view class="box">
-			<view class="box-item">
-				<view class="box-left">
-					联系地址
-				</view>
-				<view class="box-right">
-					<input type="text" placeholder="请输入联系地址" v-model="address" />
-				</view>
-			</view>
-		</view>
-		<view class="submit" @click="confirm()">
-			立即提交
-		</view>
-		<uni-popup ref="popup" type="bottom" @click="close">
-			<view class="popup_row">
-				<view class="title">
-
-					<view class="title-left">
-						一份爱心,一份力量!
-					</view>
-					<view class="cancel" @click="cancel">
-						<!-- <image src="../../static/img/取消.png" mode=""></image> -->
-					</view>
-				</view>
-				<view class="money-btn">
-					<view class="btn" v-for="item in moneyList" :key="item.id">
-						<button type="default" @click="addmoney(item)">{{ item.money}}</button>
-					</view>
-				</view>
-				<view class="pop-main">
-					<view class="money-left">
-						金额数
-					</view>
-					<view class="money-iup">
-						<input type="text" value="" v-model="popmoney" placeholder="请选择金额或者自定义金额" />
-					</view>
-					<view class="">
-						元
-					</view>
-				</view>
-				<view class="comfirm">
-					<view class="comfirm1" @click="comfirm1()">
-						确认
-					</view>
-				</view>
-
-			</view>
-		</uni-popup>
-		<uni-popup ref="popup1" type="center">
-			<view class="popup-box">
-				<!-- <view class="img">
-					<image src="../../static/img/WechatIMG662.png" mode=""></image>
-				</view> -->
-				<view class="mian">
-					<view class="delivery">
-						支付失败
-						<!-- {{ i18n.qrhwsdm }} -->
-					</view>
-					<view class="nocancel">
-						请退出页面,重新登录
-						<!-- {{ i18n.wfcx }} -->
-					</view>
-					<view class="comfirm-box">
-						<view class="cancel" @click="cancel1">
-							取消
-						</view>
-						<view class="comfirm" @click="comfirmExit()">
-							确认
-						</view>
-					</view>
-				</view>
-			</view>
-
-		</uni-popup>
-	</view>
-</template>
-
-<script>
-	import {
-		chosintention,
-		joinDona
-	} from '@/api/ask.js';
-	import uniPopup from '@/components/uni-popup/uni-popup.vue';
-	import {
-		computedOrderkey,
-		balance,
-		createOrderkey,
-		orderPay
-	} from '@/api/money.js';
-	import {
-		saveUrl,
-		interceptor
-	} from '@/utils/loginUtils.js';
-	import {
-		mapState,
-		mapMutations
-	} from 'vuex';
-	import {
-		userinfo
-	} from '@/api/user.js';
-	export default {
-		components: {
-			uniPopup,
-			// uniLoadMore
-		},
-		data() {
-			return {
-				index: 0,
-				intention: '', // 捐款意向
-				category_id: '', // 捐款意向ID
-				way: '', // 捐款方式
-				way_id: '', // 捐款方式id
-				money: '', // 捐款金额
-				// elsemoney: '', // 其他金额
-				popmoney: '', // 按钮金额 弹窗金额
-				is_show: true,
-				moneyList: [{
-						id: 0,
-						money: 500
-					},
-					{
-						id: 1,
-						money: 200
-					},
-					{
-						id: 2,
-						money: 100
-					},
-					{
-						id: 3,
-						money: 50
-					},
-					{
-						id: 4,
-						money: 20
-					},
-				],
-				is_public: '0', // 是否实名公开
-				is_receipts: '1', // 是否开发票
-				public: true, // 是否实名公开
-				receipts: false, // 是否开发票
-				donate_er: '', // 捐款人/单位
-				mobile: '', // 手机号
-				isshowMoney: false, // 其他金额是否展示
-				address: '', // 联系地址
-				// chooseDire: ['请选择捐款意向','红十字人道事业(非定向捐赠)','疫情防控','其他','红十字博爱送万家','AED救护及科普','青少年生命安全教育基地建设项目','关注重度失能老人项目','青少年白血病救护项目','地芯行动-关爱地中海贫血儿童','会费缴纳'],
-				chooseDire: [],
-				chooseList: [], //捐款意向真实列表
-				chooseType: ['个人', '单位'],
-				chooseMoney: ['5元', '10元', '50元', '其他金额'],
-				payLoding: false, //判断是否支付中
-				froms: '', //保存h5中数据来源对象
-				type: '', //判断是否从订单中进入
-				payName: 'weixin',
-				// orderInfo: {},
-				help_id: 0,
-				isHelp: false,
-				order_name: '',
-			}
-		},
-		onLoad(options) {
-			// console.log(333,options)
-			if (options.helpid) {
-				this.help_id = options.helpid
-				this.order_name = options.order_name
-				this.isHelp = true
-			}
-		},
-		onShow() {
-			if (!this.hasLogin) {
-				// 登录拦截
-				uni.showModal({
-					title: '登录',
-					content: '您未登录,是否马上登陆?',
-					success: e => {
-						if (e.confirm) {
-							saveUrl()
-							interceptor();
-						}
-					},
-					fail: e => {
-						console.log(e);
-						uni.showModal({
-							title: '错误',
-							content: JSON.stringify(e),
-						})
-					}
-				});
-			} else {
-				// this.loadData();
-			}
-		},
-		computed: {
-			...mapState('user', ['userInfo', 'baseURL', 'hasLogin']),
-			...mapState(['weichatObj']),
-		},
-		methods: {
-			// 点击捐赠意向
-			addType(e) {
-				chosintention({}).then(({
-					data
-				}) => {
-					this.chooseDire = data.map(item => item.name)
-					this.chooseList = data
-				}).catch()
-			},
-			// 选择捐赠意向
-			PickerDire: function(e) {
-				console.log(334, e)
-				this.intention = this.chooseDire[e.target.value];
-				this.category_id = this.chooseList[e.target.value].id;
-			},
-			// 选择捐款方式
-			PickerType: function(e) {
-				this.way = this.chooseType[e.target.value];
-				this.way_id = e.target.value;
-				this.index = e.target.value;
-				console.log('选择捐款方式', this.way_id)
-				if (this.index == 1) {
-					this.is_show = true
-				} else {
-					this.is_show = false
-				}
-				// if ( )
-			},
-			// 选择捐款金额
-			PickerMoney: function(e) {
-				this.money = this.chooseMoney[e.target.value];
-				this.index = e.target.value + 1;
-				console.log('选择金额', this.money)
-				if (this.money == '其他金额') {
-					this.isshowMoney = true
-				} else {
-					this.isshowMoney = false
-					this.elsemoney = ''
-				}
-
-			},
-			// 其他金额 选择
-			tochooseMoney: function() {
-				this.$refs.popup.open();
-			},
-			addmoney(mon) {
-				console.log('点击金额按钮', mon.money)
-				this.popmoney = mon.money
-				console.log(123, this.popmoney)
-			},
-			cancel() {
-				this.$refs.popup.close();
-			},
-			cancel1() {
-				this.$refs.popup1.close();
-			},
-			comfirm1: function() {
-				let obj = this
-				if (obj.popmoney.toString().trim() == '') {
-					console.log('输入框为空')
-				} else {
-					console.log('输入框为不为空')
-					obj.money = obj.popmoney
-					obj.popmoney = ''
-					this.$refs.popup.close();
-				}
-			},
-			comfirmExit() {
-				console.log('点击comfirmExit')
-				this.$refs.popup1.close()
-				uni.switchTab({
-					url: '/pages/home/home'
-				});
-
-			},
-			// 是否实名公开
-			switch1Change(e) {
-				this.public = e.detail.value
-				if (e.detail.value) {
-					this.is_public = '0'
-				} else {
-					this.is_public = '1'
-				}
-				console.log(this.is_public)
-			},
-			//是都寄发票
-			switch2Change(e) {
-				this.is_receipts = e.detail.value
-				if (e.detail.value) {
-					this.is_receipts = '0'
-				} else {
-					this.is_receipts = '1'
-				}
-				console.log('is_receipts', this.is_receipts)
-			},
-			// 提交
-			confirm: async function() {
-				let obj = this
-				if (!obj.way) {
-					this.$api.msg('请选择捐款方式!');
-					return;
-				}
-				if (!obj.money) {
-					this.$api.msg('请输入捐款金额!');
-					return;
-				}
-				if (this.is_show) {
-					if (!obj.donate_er) {
-						this.$api.msg('请填写您的姓名');
-						return;
-					}
-				} else {
-					if (!obj.donate_er) {
-						this.$api.msg('请填写您的单位');
-						return;
-					}
-				}
-
-				const reg = /^(\+?0?86-?)?1[\d]\d{9}$/;
-				if (!reg.test(obj.mobile)) {
-					obj.$api.msg('请填写正确的手机号码');
-					return;
-				}
-				if (this.is_receipts == '0') {
-					// obj.address = '用户未填写联系地址'
-					if (!obj.address) {
-						this.$api.msg('请输入联系地址');
-						return;
-					}
-				}
-
-				if (!obj.address) {
-					obj.address = '用户未填写联系地址'
-				}
-				if(!obj.isHelp) {
-					if (!obj.intention) {
-						this.$api.msg('请选择捐款意向');
-						return;
-					}
-				}
-				let updata = {
-					// category_id: obj.category_id, //捐款意向id
-					amount: obj.money, //捐款金额
-					name: obj.donate_er, //捐款人/单位
-					// contact: obj, //单位联系人(企业有效)
-					tel: obj.mobile, //手机号
-					address: obj.address, //联系地址
-					is_open: obj.is_public, //是否实名公开
-					is_ticket: obj.is_receipts, //是否开发票
-					pay_type: 0, //支付方式0微信1支付宝
-					type: obj.way_id,
-				}
-				if (obj.isHelp) {
-					updata.help_id = obj.help_id
-					updata.order_name = obj.order_name
-				} else {
-					updata.order_name = obj.intention //捐款意向
-					updata.category_id = obj.category_id //捐款意向id
-				}
-				createOrderkey(updata).then(({
-					data
-				}) => {
-					console.log(345, data)
-					console.log(666, obj)
-					let res = data.jsConfig;
-					console.log(res)
-					// 仅作为示例,非真实参数信息。
-					obj.weichatObj.chooseWXPay({
-						timestamp: res.timestamp,
-						nonceStr: res.nonceStr,
-						package: res.package,
-						signType: res.signType,
-						paySign: res.paySign,
-						success: function(res) {
-							// obj.$api.msg('支付成功')
-							let date = new Date()
-							let year = date.getFullYear()
-							let month = date.getMonth() >= 9 ? date.getMonth() + 1 : '0' + (date
-								.getMonth() + 1)
-							let day = date.getDate() >= 10 ? date.getDate() : '0' + date.getDate()
-							uni.navigateTo({
-								url: '/pages/form/donaSuccess?money=' + obj.money + '&name=' + encodeURI(obj.donate_er) + '&time=' + encodeURI(year + '年' + month + '月' + day + '日')
-							})
-						},
-						fail: function(res) {
-							this.$refs.popup1.open()
-							console.log(res, "失败")
-							console.log(res.errMsg)
-						}
-					});
-				})
-				// 支付中
-				obj.payLoding = true;
-			}
-		},
-	}
-</script>
-
-<style lang="scss">
-	.content {}
-
-	.top {
-		display: flex;
-		align-items: center;
-		justify-content: center;
-		background-color: #E63931;
-		color: #FFFFFF;
-		padding: 22rpx 0;
-	}
-
-	.box {
-		margin-top: 10rpx;
-
-		.box-item2 {
-			background-color: #FFFFFF;
-			padding: 18rpx 24rpx;
-			// display: flex;
-			border-bottom: 1rpx solid #F2F2F2;
-
-			.box-left {
-				color: #E63931;
-			}
-
-			.box-info {
-				text-indent: 68rpx;
-				margin-top: 16rpx;
-				color: #7b7b7b;
-			}
-
-			.box-phone {
-				text-indent: 68rpx;
-				margin-top: 6rpx;
-				// text-align: center;
-				color: #7b7b7b;
-			}
-		}
-
-		.box-item1 {
-			background-color: #FFFFFF;
-			padding: 18rpx 24rpx;
-			// display: flex;
-			border-bottom: 1rpx solid #F2F2F2;
-
-		}
-
-		.box-main {
-			display: flex;
-
-			.box-left {
-				width: 200rpx;
-				flex-shrink: 0;
-				// flex: 0;
-			}
-
-			.box-right {
-				width: 100%;
-				color: #999999;
-				text-align: right;
-			}
-		}
-
-		.box-bottom {
-			color: #999999;
-			// padding-left: 12rpx;
-			padding-top: 12rpx;
-			font-size: 26rpx;
-		}
-
-		.box-item {
-			background-color: #FFFFFF;
-			padding: 24rpx;
-			display: flex;
-			border-bottom: 1rpx solid #F2F2F2;
-		}
-
-		.box-left {
-			width: 200rpx;
-			flex-shrink: 0;
-
-			// flex: 0;
-			.imp {
-				color: #E63931;
-				margin-right: 2rpx;
-			}
-		}
-
-		.box-right {
-			width: 100%;
-			color: #999999;
-			text-align: right;
-		}
-	}
-
-	.switch-box {
-		margin-top: 24rpx;
-		display: flex;
-		align-items: center;
-		padding: 16rpx 24rpx;
-		color: #7b7b7b;
-		background-color: #FFFFFF;
-		border-bottom: 1rpx solid #F2F2F2;
-		justify-content: space-between;
-
-		.switch-right {
-			// background-color: #E63931;
-		}
-	}
-
-	.infoOptional {
-		padding: 20rpx 24rpx;
-	}
-
-	.submit {
-		position: fixed;
-		bottom: 0;
-		left: 0;
-		right: 0;
-		width: 750rpx;
-		height: 100rpx;
-		background: #E63931;
-		color: #FFFFFF;
-		display: flex;
-		align-items: center;
-		justify-content: center;
-	}
-
-	.popup_row {
-		height: 500rpx;
-		width: 100%;
-		padding: 24rpx;
-		background-color: #FFFFFF;
-
-		.title {
-			border-bottom: 2rpx solid #F2F2F2;
-			color: #E63931;
-			font-size: 32rpx;
-			padding-left: 4rpx;
-			padding-bottom: 16rpx;
-			display: flex;
-			justify-content: space-between;
-
-			// align-items: center;
-			.cancel {
-				width: 36rpx;
-				height: 36rpx;
-
-				image {
-					width: 36rpx;
-					height: 36rpx;
-				}
-			}
-		}
-
-		.money-btn {
-			display: flex;
-			justify-content: space-around;
-			margin-top: 28rpx;
-
-			.btn {
-				// 	width: 20%;
-				// 	display: flex;
-				// 	button{
-				// 		background-color: #FFFFFF;
-				// 	}
-			}
-		}
-
-		.pop-main {
-			margin-top: 32rpx;
-			font-size: 34rpx;
-			display: flex;
-
-			.money-left {
-				// width: 100rpx;
-				padding: 0 6rpx;
-				flex-shrink: 0;
-				color: #E63931;
-				// background-color: #457DBF;
-			}
-
-			.money-iup {
-				width: 100%;
-				padding-left: 22rpx;
-
-				input {
-					font-size: 32rpx;
-					// color: #1B1B1B;
-					color: #FF9797;
-
-					.input-placeholder {
-						// height: 70rpx;
-						font-size: 32rpx;
-						color: #FF9797;
-					}
-				}
-
-				// background-color: pink;
-			}
-		}
-
-		.comfirm {
-			display: flex;
-			justify-content: flex-end;
-			margin-top: 54rpx;
-
-			.comfirm1 {
-				padding: 12rpx 24rpx;
-				border-radius: 12rpx;
-				color: #FFFFFF;
-				background-color: #E63931;
-			}
-		}
-	}
-
-	.popup-box {
-		width: 522rpx;
-		height: 605rpx;
-		background-color: #FFFFFF;
-		border-radius: 20rpx;
-
-		.img {
-			border-radius: 20rpx 20rpx 0 0;
-			width: 522rpx;
-			height: 307rpx;
-
-			image {
-				border-radius: 20rpx 20rpx 0 0;
-				width: 522rpx;
-				height: 307rpx;
-			}
-		}
-
-		.mian {
-			display: flex;
-			flex-direction: column;
-			align-items: center;
-			padding: 32rpx 32rpx;
-			background-color: #FFFFFF;
-			border-radius: 0 0 20rpx 20rpx;
-			text-align: center;
-
-			.delivery {
-				font-size: 36rpx;
-				color: #333333;
-				// margin-top: 46rpx;
-			}
-
-			.nocancel {
-				font-size: 30rpx;
-				color: #999999;
-				margin-top: 26rpx;
-			}
-
-			.comfirm-box {
-				margin-top: 52rpx;
-				display: flex;
-				// margin-bottom: 32rpx;
-
-				// justify-content: space-around;
-				.cancel {
-					display: flex;
-					align-items: center;
-					justify-content: center;
-					width: 197rpx;
-					height: 61rpx;
-					border: 1px solid #C90F1B;
-					border-radius: 31rpx;
-
-					font-size: 24rpx;
-					color: #C90F1B;
-				}
-
-				.comfirm {
-					margin-left: 32rpx;
-					display: flex;
-					align-items: center;
-					justify-content: center;
-					width: 197rpx;
-					height: 61rpx;
-					background: #FA7E67;
-					border-radius: 31px;
-					font-size: 24rpx;
-					color: #FFFFFF;
-				}
-			}
-		}
-	}
+<template>
+	<view class="content">
+		<!-- <view class="top">
+			爱心捐款
+		</view> -->
+		<view class="box">
+			<view class="box-item" v-if="!isHelp">
+				<view class="box-left">
+					<text class="imp">*</text>捐款意向
+				</view>
+				<view class="box-right">
+					<picker :value="index" @change="PickerDire" :range="chooseDire" class="box-right" @click="addType">
+						<text>{{ intention || '请选择捐款意向'}}</text>
+					</picker>
+				</view>
+			</view>
+			<view class="box-item">
+				<view class="box-left">
+					<text class="imp">*</text>捐款方式
+				</view>
+				<view class="box-right">
+					<!-- <input type="text" placeholder="请选择捐款方式" /> -->
+					<picker @change="PickerType" :value="index" :range="chooseType" class="box-right">
+						<text>{{ way || '请选择捐款方式'}}</text>
+					</picker>
+				</view>
+			</view>
+			<!-- <view class="box-item">
+					<view class="box-left">
+						捐款金额
+					</view>
+					<view class="box-right">
+						<picker @change="PickerMoney" :value="index" :range="chooseMoney" class="box-right">
+							<text>{{ money || '请选择捐款金额'}}</text>
+						</picker>
+					</view>
+			</view> -->
+			<view class="box-item1" @click="tochooseMoney">
+				<!-- <view class="box-item1" @click="tochooseMoney"> -->
+				<view class="box-main">
+					<view class="box-left">
+						<text class="imp">*</text>捐款金额
+					</view>
+					<view class="box-right">
+						<input type="text" placeholder="请选择金额" v-model="money" disabled />
+						<!-- <picker @change="PickerMoney" :value="index" :range="chooseMoney" class="box-right">
+							<text>{{ money || '请选择捐款金额'}}</text>
+						</picker> -->
+					</view>
+
+				</view>
+
+				<view class="box-bottom">
+					个人满500,单位满2000可打印纸质证书
+				</view>
+			</view>
+
+		</view>
+		<!-- <view class="infoOptional">
+			信息(选填)
+		</view> -->
+		<view class="box" v-if="public">
+			<view class="box-item">
+				<view class="box-left">
+					<view v-if="!is_show">
+						<text class="imp">*</text>姓名
+					</view>
+					<view v-else>
+						<text class="imp">*</text>单位
+					</view>
+				</view>
+				<view class="box-right">
+					<input type="text" placeholder="请真实填写" v-model="donate_er" />
+				</view>
+			</view>
+			<view class="box-item">
+				<view class="box-left">
+					<text class="imp">*</text>手机号
+				</view>
+				<view class="box-right">
+					<input type="text" placeholder="请填写手机号" v-model="mobile" />
+				</view>
+			</view>
+		</view>
+
+		<view class="switch-box">
+			<view class="switch-left">
+				实名公开
+			</view>
+			<view class="switch-right">
+				<switch :checked="public" color='#E63931' style="transform: scale(0.7,0.7)" @change="switch1Change" />
+			</view>
+		</view>
+
+		<view class="switch-box">
+			<view class="switch-left">
+				寄发票
+			</view>
+			<view class="switch-right">
+				<switch :checked="receipts" color='#E63931' style="transform: scale(0.7,0.7)" @change="switch2Change" />
+			</view>
+
+		</view>
+
+		<view class="box">
+			<view class="box-item">
+				<view class="box-left">
+					联系地址
+				</view>
+				<view class="box-right">
+					<input type="text" placeholder="请输入联系地址" v-model="address" />
+				</view>
+			</view>
+		</view>
+		<view class="submit" @click="confirm()">
+			立即提交
+		</view>
+		<uni-popup ref="popup" type="bottom" @click="close">
+			<view class="popup_row">
+				<view class="title">
+
+					<view class="title-left">
+						一份爱心,一份力量!
+					</view>
+					<view class="cancel" @click="cancel">
+						<!-- <image src="../../static/img/取消.png" mode=""></image> -->
+					</view>
+				</view>
+				<view class="money-btn">
+					<view class="btn" v-for="item in moneyList" :key="item.id">
+						<button type="default" @click="addmoney(item)">{{ item.money}}</button>
+					</view>
+				</view>
+				<view class="pop-main">
+					<view class="money-left">
+						金额数
+					</view>
+					<view class="money-iup">
+						<input type="text" value="" v-model="popmoney" placeholder="请选择金额或者自定义金额" />
+					</view>
+					<view class="">
+						元
+					</view>
+				</view>
+				<view class="comfirm">
+					<view class="comfirm1" @click="comfirm1()">
+						确认
+					</view>
+				</view>
+
+			</view>
+		</uni-popup>
+		<uni-popup ref="popup1" type="center">
+			<view class="popup-box">
+				<!-- <view class="img">
+					<image src="../../static/img/WechatIMG662.png" mode=""></image>
+				</view> -->
+				<view class="mian">
+					<view class="delivery">
+						支付失败
+						<!-- {{ i18n.qrhwsdm }} -->
+					</view>
+					<view class="nocancel">
+						请退出页面,重新登录
+						<!-- {{ i18n.wfcx }} -->
+					</view>
+					<view class="comfirm-box">
+						<view class="cancel" @click="cancel1">
+							取消
+						</view>
+						<view class="comfirm" @click="comfirmExit()">
+							确认
+						</view>
+					</view>
+				</view>
+			</view>
+
+		</uni-popup>
+	</view>
+</template>
+
+<script>
+	import {
+		chosintention,
+		joinDona
+	} from '@/api/ask.js';
+	import uniPopup from '@/components/uni-popup/uni-popup.vue';
+	import {
+		computedOrderkey,
+		balance,
+		createOrderkey,
+		orderPay
+	} from '@/api/money.js';
+	import {
+		saveUrl,
+		interceptor
+	} from '@/utils/loginUtils.js';
+	import {
+		mapState,
+		mapMutations
+	} from 'vuex';
+	import {
+		userinfo
+	} from '@/api/user.js';
+	export default {
+		components: {
+			uniPopup,
+			// uniLoadMore
+		},
+		data() {
+			return {
+				index: 0,
+				intention: '', // 捐款意向
+				category_id: '', // 捐款意向ID
+				way: '', // 捐款方式
+				way_id: '', // 捐款方式id
+				money: '', // 捐款金额
+				// elsemoney: '', // 其他金额
+				popmoney: '', // 按钮金额 弹窗金额
+				is_show: true,
+				moneyList: [{
+						id: 0,
+						money: 500
+					},
+					{
+						id: 1,
+						money: 200
+					},
+					{
+						id: 2,
+						money: 100
+					},
+					{
+						id: 3,
+						money: 50
+					},
+					{
+						id: 4,
+						money: 20
+					},
+				],
+				is_public: '0', // 是否实名公开
+				is_receipts: '1', // 是否开发票
+				public: true, // 是否实名公开
+				receipts: false, // 是否开发票
+				donate_er: '', // 捐款人/单位
+				mobile: '', // 手机号
+				isshowMoney: false, // 其他金额是否展示
+				address: '', // 联系地址
+				// chooseDire: ['请选择捐款意向','红十字人道事业(非定向捐赠)','疫情防控','其他','红十字博爱送万家','AED救护及科普','青少年生命安全教育基地建设项目','关注重度失能老人项目','青少年白血病救护项目','地芯行动-关爱地中海贫血儿童','会费缴纳'],
+				chooseDire: [],
+				chooseList: [], //捐款意向真实列表
+				chooseType: ['个人', '单位'],
+				chooseMoney: ['5元', '10元', '50元', '其他金额'],
+				payLoding: false, //判断是否支付中
+				froms: '', //保存h5中数据来源对象
+				type: '', //判断是否从订单中进入
+				payName: 'weixin',
+				// orderInfo: {},
+				help_id: 0,
+				isHelp: false,
+				order_name: '',
+			}
+		},
+		onLoad(options) {
+			// console.log(333,options)
+			if (options.helpid) {
+				this.help_id = options.helpid
+				this.order_name = options.order_name
+				this.isHelp = true
+			}
+		},
+		onShow() {
+			if (!this.hasLogin) {
+				// 登录拦截
+				uni.showModal({
+					title: '登录',
+					content: '您未登录,是否马上登陆?',
+					success: e => {
+						if (e.confirm) {
+							saveUrl()
+							interceptor();
+						}
+					},
+					fail: e => {
+						console.log(e);
+						uni.showModal({
+							title: '错误',
+							content: JSON.stringify(e),
+						})
+					}
+				});
+			} else {
+				// this.loadData();
+			}
+		},
+		computed: {
+			...mapState('user', ['userInfo', 'baseURL', 'hasLogin']),
+			...mapState(['weichatObj']),
+		},
+		methods: {
+			// 点击捐赠意向
+			addType(e) {
+				chosintention({}).then(({
+					data
+				}) => {
+					this.chooseDire = data.map(item => item.name)
+					this.chooseList = data
+				}).catch()
+			},
+			// 选择捐赠意向
+			PickerDire: function(e) {
+				console.log(334, e)
+				this.intention = this.chooseDire[e.target.value];
+				this.category_id = this.chooseList[e.target.value].id;
+			},
+			// 选择捐款方式
+			PickerType: function(e) {
+				this.way = this.chooseType[e.target.value];
+				this.way_id = e.target.value;
+				this.index = e.target.value;
+				console.log('选择捐款方式', this.way_id)
+				if (this.index == 1) {
+					this.is_show = true
+				} else {
+					this.is_show = false
+				}
+				// if ( )
+			},
+			// 选择捐款金额
+			PickerMoney: function(e) {
+				this.money = this.chooseMoney[e.target.value];
+				this.index = e.target.value + 1;
+				console.log('选择金额', this.money)
+				if (this.money == '其他金额') {
+					this.isshowMoney = true
+				} else {
+					this.isshowMoney = false
+					this.elsemoney = ''
+				}
+
+			},
+			// 其他金额 选择
+			tochooseMoney: function() {
+				this.$refs.popup.open();
+			},
+			addmoney(mon) {
+				console.log('点击金额按钮', mon.money)
+				this.popmoney = mon.money
+				console.log(123, this.popmoney)
+			},
+			cancel() {
+				this.$refs.popup.close();
+			},
+			cancel1() {
+				this.$refs.popup1.close();
+			},
+			comfirm1: function() {
+				let obj = this
+				if (obj.popmoney.toString().trim() == '') {
+					console.log('输入框为空')
+				} else {
+					console.log('输入框为不为空')
+					obj.money = obj.popmoney
+					obj.popmoney = ''
+					this.$refs.popup.close();
+				}
+			},
+			comfirmExit() {
+				console.log('点击comfirmExit')
+				this.$refs.popup1.close()
+				uni.switchTab({
+					url: '/pages/home/home'
+				});
+
+			},
+			// 是否实名公开
+			switch1Change(e) {
+				this.public = e.detail.value
+				console.log(e.detail.value,'e.detail.value')
+				if (e.detail.value) {
+					this.is_public = '1'
+				} else {
+					this.is_public = '0'
+				}
+				console.log(this.is_public)
+			},
+			//是都寄发票
+			switch2Change(e) {
+				this.is_receipts = e.detail.value
+				if (e.detail.value) {
+					this.is_receipts = '1'
+				} else {
+					this.is_receipts = '0'
+				}
+				console.log('is_receipts', this.is_receipts)
+			},
+			// 提交
+			confirm: async function() {
+				let obj = this
+				if (!obj.way) {
+					this.$api.msg('请选择捐款方式!');
+					return;
+				}
+				if (!obj.money) {
+					this.$api.msg('请输入捐款金额!');
+					return;
+				}
+				if(obj.public) {
+					if (this.is_show) {
+						if (!obj.donate_er) {
+							this.$api.msg('请填写您的单位');
+							return;
+						}
+					} else {
+						if (!obj.donate_er) {
+							this.$api.msg('请填写您的姓名');
+							return;
+						}
+					}
+					
+					const reg = /^(\+?0?86-?)?1[\d]\d{9}$/;
+					if (!reg.test(obj.mobile)) {
+						obj.$api.msg('请填写正确的手机号码');
+						return;
+					}
+				}
+				
+				if (this.is_receipts == '0') {
+					// obj.address = '用户未填写联系地址'
+					if (!obj.address) {
+						this.$api.msg('请输入联系地址');
+						return;
+					}
+				}
+
+				if (!obj.address) {
+					obj.address = '用户未填写联系地址'
+				}
+				if(!obj.isHelp) {
+					if (!obj.intention) {
+						this.$api.msg('请选择捐款意向');
+						return;
+					}
+				}
+				let updata = {
+					// category_id: obj.category_id, //捐款意向id
+					amount: obj.money, //捐款金额
+					name: obj.donate_er, //捐款人/单位
+					// contact: obj, //单位联系人(企业有效)
+					tel: obj.mobile, //手机号
+					address: obj.address, //联系地址
+					is_open: obj.is_public, //是否实名公开
+					is_ticket: obj.is_receipts, //是否开发票
+					pay_type: 0, //支付方式0微信1支付宝
+					type: obj.way_id,
+				}
+				if (obj.isHelp) {
+					updata.help_id = obj.help_id
+					updata.order_name = obj.order_name
+				} else {
+					updata.order_name = obj.intention //捐款意向
+					updata.category_id = obj.category_id //捐款意向id
+				}
+				createOrderkey(updata).then(({
+					data
+				}) => {
+					console.log(345, data)
+					console.log(666, obj)
+					let res = data.jsConfig;
+					console.log(res)
+					// 仅作为示例,非真实参数信息。
+					obj.weichatObj.chooseWXPay({
+						timestamp: res.timestamp,
+						nonceStr: res.nonceStr,
+						package: res.package,
+						signType: res.signType,
+						paySign: res.paySign,
+						success: function(res) {
+							// obj.$api.msg('支付成功')
+							let date = new Date()
+							let year = date.getFullYear()
+							let month = date.getMonth() >= 9 ? date.getMonth() + 1 : '0' + (date
+								.getMonth() + 1)
+							let day = date.getDate() >= 10 ? date.getDate() : '0' + date.getDate()
+							uni.navigateTo({
+								url: '/pages/form/donaSuccess?money=' + obj.money +
+									'&name=' + obj.donate_er + '&time=' + year + '年' +
+									month + '月' + day + '日'
+							})
+						},
+						fail: function(res) {
+							this.$refs.popup1.open()
+							console.log(res, "失败")
+							console.log(res.errMsg)
+						}
+					});
+				})
+				// 支付中
+				obj.payLoding = true;
+			}
+		},
+	}
+</script>
+
+<style lang="scss">
+	.content {}
+
+	.top {
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		background-color: #E63931;
+		color: #FFFFFF;
+		padding: 22rpx 0;
+	}
+
+	.box {
+		margin-top: 10rpx;
+
+		.box-item2 {
+			background-color: #FFFFFF;
+			padding: 18rpx 24rpx;
+			// display: flex;
+			border-bottom: 1rpx solid #F2F2F2;
+
+			.box-left {
+				color: #E63931;
+			}
+
+			.box-info {
+				text-indent: 68rpx;
+				margin-top: 16rpx;
+				color: #7b7b7b;
+			}
+
+			.box-phone {
+				text-indent: 68rpx;
+				margin-top: 6rpx;
+				// text-align: center;
+				color: #7b7b7b;
+			}
+		}
+
+		.box-item1 {
+			background-color: #FFFFFF;
+			padding: 18rpx 24rpx;
+			// display: flex;
+			border-bottom: 1rpx solid #F2F2F2;
+
+		}
+
+		.box-main {
+			display: flex;
+
+			.box-left {
+				width: 200rpx;
+				flex-shrink: 0;
+				// flex: 0;
+			}
+
+			.box-right {
+				width: 100%;
+				color: #999999;
+				text-align: right;
+			}
+		}
+
+		.box-bottom {
+			color: #999999;
+			// padding-left: 12rpx;
+			padding-top: 12rpx;
+			font-size: 26rpx;
+		}
+
+		.box-item {
+			background-color: #FFFFFF;
+			padding: 24rpx;
+			display: flex;
+			border-bottom: 1rpx solid #F2F2F2;
+		}
+
+		.box-left {
+			width: 200rpx;
+			flex-shrink: 0;
+
+			// flex: 0;
+			.imp {
+				color: #E63931;
+				margin-right: 2rpx;
+			}
+		}
+
+		.box-right {
+			width: 100%;
+			color: #999999;
+			text-align: right;
+		}
+	}
+
+	.switch-box {
+		margin-top: 24rpx;
+		display: flex;
+		align-items: center;
+		padding: 16rpx 24rpx;
+		color: #7b7b7b;
+		background-color: #FFFFFF;
+		border-bottom: 1rpx solid #F2F2F2;
+		justify-content: space-between;
+
+		.switch-right {
+			// background-color: #E63931;
+		}
+	}
+
+	.infoOptional {
+		padding: 20rpx 24rpx;
+	}
+
+	.submit {
+		position: fixed;
+		bottom: 0;
+		left: 0;
+		right: 0;
+		width: 750rpx;
+		height: 100rpx;
+		background: #FA7E67;
+		color: #FFFFFF;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+	}
+
+	.popup_row {
+		height: 500rpx;
+		width: 100%;
+		padding: 24rpx;
+		background-color: #FFFFFF;
+
+		.title {
+			border-bottom: 2rpx solid #F2F2F2;
+			color: #E63931;
+			font-size: 32rpx;
+			padding-left: 4rpx;
+			padding-bottom: 16rpx;
+			display: flex;
+			justify-content: space-between;
+
+			// align-items: center;
+			.cancel {
+				width: 36rpx;
+				height: 36rpx;
+
+				image {
+					width: 36rpx;
+					height: 36rpx;
+				}
+			}
+		}
+
+		.money-btn {
+			display: flex;
+			justify-content: space-around;
+			margin-top: 28rpx;
+
+			.btn {
+				// 	width: 20%;
+				// 	display: flex;
+				// 	button{
+				// 		background-color: #FFFFFF;
+				// 	}
+			}
+		}
+
+		.pop-main {
+			margin-top: 32rpx;
+			font-size: 34rpx;
+			display: flex;
+
+			.money-left {
+				// width: 100rpx;
+				padding: 0 6rpx;
+				flex-shrink: 0;
+				color: #E63931;
+				// background-color: #457DBF;
+			}
+
+			.money-iup {
+				width: 100%;
+				padding-left: 22rpx;
+
+				input {
+					font-size: 32rpx;
+					// color: #1B1B1B;
+					color: #FF9797;
+
+					.input-placeholder {
+						// height: 70rpx;
+						font-size: 32rpx;
+						color: #FF9797;
+					}
+				}
+
+				// background-color: pink;
+			}
+		}
+
+		.comfirm {
+			display: flex;
+			justify-content: flex-end;
+			margin-top: 54rpx;
+
+			.comfirm1 {
+				padding: 12rpx 24rpx;
+				border-radius: 12rpx;
+				color: #FFFFFF;
+				background-color: #E63931;
+			}
+		}
+	}
+
+	.popup-box {
+		width: 522rpx;
+		height: 605rpx;
+		background-color: #FFFFFF;
+		border-radius: 20rpx;
+
+		.img {
+			border-radius: 20rpx 20rpx 0 0;
+			width: 522rpx;
+			height: 307rpx;
+
+			image {
+				border-radius: 20rpx 20rpx 0 0;
+				width: 522rpx;
+				height: 307rpx;
+			}
+		}
+
+		.mian {
+			display: flex;
+			flex-direction: column;
+			align-items: center;
+			padding: 32rpx 32rpx;
+			background-color: #FFFFFF;
+			border-radius: 0 0 20rpx 20rpx;
+			text-align: center;
+
+			.delivery {
+				font-size: 36rpx;
+				color: #333333;
+				// margin-top: 46rpx;
+			}
+
+			.nocancel {
+				font-size: 30rpx;
+				color: #999999;
+				margin-top: 26rpx;
+			}
+
+			.comfirm-box {
+				margin-top: 52rpx;
+				display: flex;
+				// margin-bottom: 32rpx;
+
+				// justify-content: space-around;
+				.cancel {
+					display: flex;
+					align-items: center;
+					justify-content: center;
+					width: 197rpx;
+					height: 61rpx;
+					border: 1px solid #C90F1B;
+					border-radius: 31rpx;
+
+					font-size: 24rpx;
+					color: #C90F1B;
+				}
+
+				.comfirm {
+					margin-left: 32rpx;
+					display: flex;
+					align-items: center;
+					justify-content: center;
+					width: 197rpx;
+					height: 61rpx;
+					background: #FA7E67;
+					border-radius: 31px;
+					font-size: 24rpx;
+					color: #FFFFFF;
+				}
+			}
+		}
+	}
 </style>

+ 0 - 1
pages/form/certificates.vue

@@ -4,7 +4,6 @@
 			<empty></empty>
 		</view>
 		<view class="certificates" v-if='is_over'>
-
 			<canvas v-if="showcanvas" id="qrShareBox" canvas-id="qrShareBox" class="tki-qrcode-canvas" />
 			<image class="imgbox" v-else :src="img" mode=" aspectFill"></image>
 		</view>

+ 1 - 1
pages/form/donaSuccess.vue

@@ -167,7 +167,7 @@ export default {
 	onLoad(option) {
 		console.log(333, option);
 		this.money = option.money;
-		this.name = decodeURI(option.name)
+		this.name = decodeURI(option.name) || '佚名'
 		this.add_time =decodeURI(option.time)
 		this.IndexShare();
 		this.ScanAudio(true);

+ 1 - 1
pages/form/myDonate.vue

@@ -12,7 +12,7 @@
 			</view>
 		</view> -->
 		<view class="box">
-			<view class="box-item" v-for="item in list" :key="item.id" @click="lookzs(item)">
+			<view class="box-item" v-for="item in list" :key="item.id" @click="lookzs(item)" v-if="item.paid == 1">
 				<view class="header">
 					明细
 				</view>

+ 2 - 2
pages/share/card.vue

@@ -130,8 +130,8 @@ export default {
 		IndexShare() {
 			let obj = this;
 			let item = {
-				link:  'http://slj.igxys.com/index/#/pages/share/card',// 分享链接
-				imgUrl: '/index/static/img/002.png',
+				link:  obj.$store.state.baseURL + '/index/#/pages/share/card',// 分享链接
+				imgUrl: obj.$store.state.baseURL + '/index/static/img/002.png',
 				desc: '电子名片分享',
 				title: '东宝区红十字会',
 			};

BIN
static/index/aixin2.png