2312970463@qq.com 4 lat temu
rodzic
commit
7f3d325c3c
5 zmienionych plików z 420 dodań i 158 usunięć
  1. 70 0
      api/money.js
  2. 34 6
      pages/donate/donate.vue
  3. 104 72
      pages/donate/donateDetail.vue
  4. 162 44
      pages/donate/idonate.vue
  5. 50 36
      pages/user/myaid.vue

+ 70 - 0
api/money.js

@@ -36,3 +36,73 @@ export function orderPay(data) {
 	});
 }
 
+//捐赠活动列表
+export function getProjectList(data) {
+	return request({
+		url: '/api/project/list',
+		method: 'get',
+		data
+	})
+}
+
+//捐赠活动详情
+export function getProjectInfo(data) {
+	return request({
+		url: '/api/project/info',
+		method: 'get',
+		data
+	})
+}
+
+//创建捐赠
+export function createProject(data) {
+	return request({
+		url: '/api/project/order_create',
+		method: 'post',
+		data
+	})
+}
+
+// 获取物流方式
+export function getLogistics(data) {
+	return request({
+		url: '/api/project/logistics',
+		method: 'get',
+		data
+	})
+}
+
+// 获取所有物资
+export function getDonationInfo(data) {
+	return request({
+		url: '/api/project/Donation_info',
+		method: 'get',
+		data
+	})
+}
+
+// 获取我的捐赠
+export function getMyorder(data) {
+	return request({
+		url: '/api/project/myorder',
+		method: 'post',
+		data
+	})
+}
+
+//创建捐赠用户
+export function createUser(data) {
+	return request({
+		url: '/api/project/create_user',
+		method: 'post',
+		data
+	})
+}
+//Project/all_order
+export function getAllOrder(data) {
+	return request({
+		url: '/api/project/all_order',
+		method: 'post',
+		data
+	})
+}

+ 34 - 6
pages/donate/donate.vue

@@ -10,14 +10,14 @@
 			</picker>
 		</view>
 		<view class="item-wrapper">
-			<view class="item flex" v-for="item in ceshiList" :key="item.id">
+			<view class="item flex" v-for="item in list" >
 				<view class="item-left">
-					<image src="" mode=""></image>
+					<image :src="item.img" mode=""></image>
 				</view>
 				<view class="item-right">
 					<view class="item-title clamp">{{item.title}}</view>
-					<view class="item-content clamp2">{{item.content}}</view>
-					<view class="item-status">捐赠进度<text>{{item.jindu}}%</text></view>
+					<view class="item-content clamp2">{{item.info}}</view>
+					<view class="item-status">捐赠进度<text>{{item.project_progress}}%</text></view>
 					<view class="item-btn" :class="{'btn-active': item.status === 0}" @click="join(item.id)">{{item.status===0?'我要捐赠':'已结束'}}</view>
 				</view>
 			</view>
@@ -26,7 +26,7 @@
 </template>
 
 <script>
-
+import {getProjectList,getProjectInfo} from '../../api/money.js'
 	export default {
 		data() {
 			return {
@@ -56,10 +56,14 @@
 						status: 0,
 						jindu: 20
 					},
-				]
+				],
+				list: []
 				
 			}
 		},
+		onLoad() {
+			this.loadDate()
+		},
 		methods: {
 			bindAreaChange(e) {
 				console.log(e.target)
@@ -75,6 +79,30 @@
 					url: '/pages/donate/donateDetail?id=' +id
 				})
 				console.log('dddddddddd')
+			},
+			async loadDate() {
+				getProjectList({
+					page: 1,
+					limit: 1000
+				}).then( ({data}) => {
+					// console.log(res,'+++++++++++++++++')
+					let list = []
+					data.list.map( item => {
+						getProjectInfo({
+							id: item.id
+						}).then( res => {
+							let data = JSON.parse(res.msg)
+							// console.log( data.project_progress,'999999999999999')
+							item.project_progress = data.project_progress
+							item.info = item.info.replace(/<[^>]+>/g, "")
+							console.log(item)
+							this.list.push(item)
+							return item
+						})
+					})
+					console.log(this.list,'5555555')
+					
+				})
 			}
 		}
 	}

+ 104 - 72
pages/donate/donateDetail.vue

@@ -1,8 +1,8 @@
 <template>
 	<view class="detail">
 		<view class="top">
-			<image src="../../static/images/bgi2.png" mode=""></image>
-			<view class="title clamp">夏天的清凉阳光孤儿院物资爱心捐赠活动</view>
+			<image :src="proInfo.img" mode=""></image>
+			<view class="title clamp">{{ proInfo.title }}</view>
 			<view class="tip">
 				<view class=""></view>
 				基本信息
@@ -10,7 +10,7 @@
 			<view class="base-info">
 				<view class="item">
 					<text>捐赠进度</text>
-					<text class="status">30%</text>
+					<text class="status">{{ proInfo.project_progress }}%</text>
 				</view>
 				<view class="item">
 					<text>创立时间</text>
@@ -18,11 +18,11 @@
 				</view>
 				<view class="item">
 					<text>开始时间</text>
-					2021年6月10日
+					{{ proInfo.add_time | time }}
 				</view>
 				<view class="item">
 					<text>结束时间</text>
-					2021年6月10日
+					{{ proInfo.end_time | time }}
 				</view>
 			</view>
 			<view class="dynamic flex">
@@ -49,21 +49,21 @@
 					<view class=""></view>
 					捐赠介绍
 				</view>
-				<view class="item-content">内容介绍内容介绍内容介绍内容介绍内容介绍内容介绍, 内容介绍内容介绍内容介绍内。</view>
+				<view class="item-content" v-html="proInfo.info"></view>
 				<view class="tip">
 					<view class=""></view>
 					项目需求
 				</view>
 				<view class="item-needs">
-					<view class="need-item">
+					<view class="need-item" v-for="item in proInfo.project_donation_info">
 						<view class="">
-							帐篷类(帐篷)
-							<text>500</text>
+							{{ item.project_donation_id | type(typeList)}}
+							<text>{{ item.project_donation_num }}</text>
 						</view>
 						<view class="">
 							最低需求捐赠数:
-							<text>500</text>
+							<text>{{ item.project_donation_num}}</text>
 						</view>
 						<view class="">
@@ -71,7 +71,7 @@
 							<text>全新</text>
 						</view>
 					</view>
-					<view class="need-item">
+					<!-- <view class="need-item">
 						<view class="">
 							帐篷类(帐篷):
 							<text>500</text>
@@ -86,24 +86,20 @@
 							物资捐赠要求:
 							<text>全新</text>
 						</view>
-					</view>
+					</view> -->
 				</view>
 			</view>
 		</view>
 		<view v-else class="feedback">
 			<view class="feedback-nav">
-				<view class="nav-item" :class="{'action': navCurrentIndex === 0}" @click="lookmore(0)">全部</view>
-				<view class="nav-item" :class="{'action': navCurrentIndex === 1}" @click="lookmore(1)">已成功</view>
-				<view class="nav-item nav-item-err" :class="{'action': navCurrentIndex === 2}" @click="lookmore(2)">已失败</view>
+				<view class="nav-item" :class="{ action: navCurrentIndex === 0 }" @click="lookmore(0)">全部</view>
+				<view class="nav-item" :class="{ action: navCurrentIndex === 1 }" @click="lookmore(1)">已成功</view>
+				<view class="nav-item nav-item-err" :class="{ action: navCurrentIndex === 2 }" @click="lookmore(2)">已失败</view>
 			</view>
 			<view class="feedback-content">
 				<view class="overall" v-if="navCurrentIndex === 0">
-					<view class="title">
-						项目整体反馈
-					</view>
-					<view class="content">
-						截止2021年6月10日,荆州市红十字会已将捐赠的消毒液1120瓶和帐篷200顶,500箱矿泉水全数发往阳光福利院。
-					</view>
+					<view class="title">项目整体反馈</view>
+					<view class="content">截止2021年6月10日,荆州市红十字会已将捐赠的消毒液1120瓶和帐篷200顶,500箱矿泉水全数发往阳光福利院。</view>
 				</view>
 				<view class="feedback-item">
 					<view class="item-top">
@@ -114,56 +110,40 @@
 						</view>
 					</view>
 					<view class="item-content">
-						<text>荆州XXXX有限分公司</text>2021年6月10日,荆州市红十字会已将贵公司捐赠的消毒液1120瓶和帐篷200顶,发往阳光福利院。
+						<text>荆州XXXX有限分公司</text>
+						2021年6月10日,荆州市红十字会已将贵公司捐赠的消毒液1120瓶和帐篷200顶,发往阳光福利院。
 					</view>
 				</view>
 			</view>
 		</view>
 		<view class="btn-wrapper flex">
-			<view class="btn1 btn" @click="navTo('/pages/donate/progress')">
-				实时进展
-			</view>
-			<view class="btn2 btn" @click="want()">
-				我要捐款
-			</view>
+			<view class="btn1 btn" @click="navTo('/pages/donate/progress')">实时进展</view>
+			<view class="btn2 btn" @click="want()">我要捐款</view>
 		</view>
 		<uni-popup ref="popup" type="center">
-			<view  class="type-box">
-				
+			<view class="type-box">
 				<image src="../../static/img/sele.png" mode="" class="bg"></image>
-				
+
 				<view class="box-title">捐款类型</view>
 				<view class="box-tip">请选择您的捐赠身份类型</view>
-				<view class="box-btn" @click="chooseType(1)">
-					<image src="" mode=""></image>
-					<view class="btn-title" >
-						个人捐赠
-					</view>
-					<view class="qq" :class="{'action': jxType === 1}">
-						<view class="yx">
-							
-						</view>
-					</view>
-				</view>
 				<view class="box-btn" @click="chooseType(0)">
 					<image src="" mode=""></image>
-					<view class="">
-						企业(团队)捐赠
-					</view>
-					<view class="qq"  :class="{'action': jxType === 0}">
-						<view class="yx">
-						</view>
-					</view>
+					<view class="btn-title">个人捐赠</view>
+					<view class="qq" :class="{ action: jxType === 0 }"><view class="yx"></view></view>
 				</view>
-				<view class="qr" @click="qr()">
-					确认
+				<view class="box-btn" @click="chooseType(1)">
+					<image src="" mode=""></image>
+					<view class="">企业(团队)捐赠</view>
+					<view class="qq" :class="{ action: jxType === 1 }"><view class="yx"></view></view>
 				</view>
+				<view class="qr" @click="qr()">确认</view>
 			</view>
 		</uni-popup>
 	</view>
 </template>
 
 <script>
+import { getProjectInfo, createProject, getDonationInfo, getAllOrder} from '../../api/money.js';
 export default {
 	data() {
 		return {
@@ -172,31 +152,84 @@ export default {
 			swiperHeight: 0,
 			navCurrentIndex: 0,
 			jxType: 0,
+			pid: 0,
+			proInfo: {},
+			typeList: [],//物资分类列表
 		};
 	},
+	filters: {
+		time(val) {
+			let date = new Date(val * 1000);
+			let Y = date.getFullYear();
+			let M = date.getMonth();
+			let D = date.getDate();
+			return Y + '年' + M + '月' + D + '日';
+		},
+		type(val,typeList) {
+			let str = ''
+			let arr = typeList
+			let len = arr.length
+			for(let i = 0;i< len ; i++){
+				if(arr[i].id === val) {
+					return str = arr[i].name
+				}
+			}
+		}
+	},
+	onLoad(opt) {
+		this.pid = opt.id;
+		this.loadDate(this.pid);
+		this.getDonationInfo()
+		this.getAllOrder()
+	},
 	methods: {
+		loadDate(id) {
+			getProjectInfo({
+				id: id
+			}).then(res => {
+				let data = JSON.parse(res.msg);
+				console.log(data, 'loaddata++++++++++');
+				data.info = data.info.replace(/<img /g, '<img style="width:100%"');
+				this.proInfo = data;
+			});
+		},
 		navTo(url) {
 			uni.navigateTo({
 				url: url
-			})
+			});
 		},
 		navClick(index) {
 			this.currentIndex = index;
 		},
 		lookmore(index) {
-			this.navCurrentIndex = index
+			this.navCurrentIndex = index;
 		},
 		want() {
-			this.$refs.popup.open()
+			this.$refs.popup.open();
 		},
 		chooseType(index) {
-			this.jxType = index
+			this.jxType = index;
 		},
 		qr() {
-			this.$refs.popup.close()
-			this.navTo('/pages/donate/idonate?type=' + this.jxType )
+			this.$refs.popup.close();
+			this.navTo('/pages/donate/idonate?type=' + this.jxType + '&id='+this.proInfo.id);
+			
+		},
+		//获取物资分类列表
+		getDonationInfo() {
+			getDonationInfo().then(({data} )=>{
+				
+				this.typeList = data
+				console.log(this.typeList,'获取所有物资')
+			})
+		},
+		getAllOrder() {
+				
+			getAllOrder({
+			}).then(res => {
+				console.log(res)
+			})
 		}
-		
 	}
 };
 </script>
@@ -217,7 +250,7 @@ page {
 		height: 375rpx;
 		border-radius: 20rpx;
 		margin: 0 auto;
-		background-color: red;
+		// background-color: red;
 	}
 	.title {
 		width: 580rpx;
@@ -388,7 +421,7 @@ page {
 			display: inline-block;
 			width: 100rpx;
 			height: 55rpx;
-			background: #FDCBC2;
+			background: #fdcbc2;
 			box-shadow: 0px 0px 10rpx 0rpx rgba(0, 0, 0, 0.1);
 			border-radius: 10rpx;
 			margin-right: 20rpx;
@@ -397,14 +430,14 @@ page {
 			font-size: 24rpx;
 			font-family: PingFang SC;
 			font-weight: 500;
-			color: #FFFFFF;
+			color: #ffffff;
 		}
 		.nav-item-err {
 			color: #999999;
-			background: #F1F1F0;
+			background: #f1f1f0;
 		}
 		.action {
-			background: #FA7E67;
+			background: #fa7e67;
 			color: #fff;
 		}
 	}
@@ -413,13 +446,13 @@ page {
 			.title {
 				width: 667rpx;
 				height: 75rpx;
-				background: #FA7E67;
+				background: #fa7e67;
 				box-shadow: 0px 0px 10rpx 0rpx rgba(0, 0, 0, 0.1);
 				border-radius: 10rpx 10rpx 0px 0px;
 				font-size: 28rpx;
 				font-family: PingFang SC;
 				font-weight: bold;
-				color: #FFFFFF;
+				color: #ffffff;
 				line-height: 75rpx;
 				padding-left: 17rpx;
 			}
@@ -445,7 +478,7 @@ page {
 			.item-top {
 				height: 118rpx;
 				border-radius: 10px 10px 0 0;
-				border-bottom: 1px solid #ECECEC;
+				border-bottom: 1px solid #ececec;
 				padding: 25rpx 0 0 17rpx;
 				display: flex;
 				image {
@@ -481,7 +514,7 @@ page {
 				color: #999;
 				line-height: 42rpx;
 				text {
-					color: #E80000;
+					color: #e80000;
 					font-weight: bold;
 				}
 			}
@@ -543,13 +576,12 @@ page {
 			right: 0;
 		}
 		.action {
-			border-color: #FA7E67;
+			border-color: #fa7e67;
 			// position: relative;
 			.yx {
-				
 				width: 20rpx;
 				height: 20rpx;
-				background: #FA7E67;
+				background: #fa7e67;
 				// border: 1px solid #FA7E67;
 				border-radius: 50%;
 				position: absolute;
@@ -564,13 +596,13 @@ page {
 	.qr {
 		width: 460rpx;
 		height: 71rpx;
-		background: #FA7E67;
+		background: #fa7e67;
 		box-shadow: 0px 16rpx 16rpx 0px rgba(250, 126, 103, 0.5);
 		border-radius: 10rpx;
 		font-size: 28rpx;
 		font-family: PingFang SC;
 		font-weight: 500;
-		color: #FFFFFF;
+		color: #ffffff;
 		text-align: center;
 		line-height: 71rpx;
 		margin: 62rpx auto 0;

+ 162 - 44
pages/donate/idonate.vue

@@ -10,36 +10,36 @@
 					</label>
 				</radio-group>
 			</view>
-			<template v-if="type === 0">
+			<template v-if="type === 1">
 				<view class="item">
 					<view class="item-tit">捐赠单位<text>*</text></view>
-					<input type="text" :value="unit" placeholder="请填写捐赠单位"/>
+					<input type="text" v-model="unit" placeholder="请填写捐赠单位"/>
 				</view>
 				<view class="item">
 					<view class="item-tit">单位联系人<text>*</text></view>
-					<input type="text" :value="dwPeople" placeholder="请填写捐赠方联系人"/>
+					<input type="text" v-model="contacts" placeholder="请填写捐赠方联系人"/>
 				</view>
 				<view class="item">
 					<view class="item-tit">单位电话<text>*</text></view>
-					<input type="text" :value="dwPhone" placeholder="请填写单位联系方式"/>
+					<input type="text" v-model="tel" placeholder="请填写单位联系方式"/>
 				</view>
 				<view class="item">
 					<view class="item-tit">企业信用代码</view>
-					<input type="text" :value="qyxydm" placeholder="请填写单位的企业信用代码"/>
+					<input type="text" v-model="qyxydm" placeholder="请填写单位的企业信用代码"/>
 				</view>
 			</template>
-			<template v-if="type === 1">
+			<template v-if="type === 0">
 				<view class="item">
 					<view class="item-tit">姓名<text>*</text></view>
-					<input type="text" :value="unit" placeholder="请填写您的姓名"/>
+					<input type="text" v-model="name" placeholder="请填写您的姓名"/>
 				</view>
 				<view class="item">
 					<view class="item-tit">联系方式<text>*</text></view>
-					<input type="text" :value="unit" placeholder="请填写您的联系方式"/>
+					<input type="text" v-model="phone" placeholder="请填写您的联系方式"/>
 				</view>
 				<view class="item">
 					<view class="item-tit">身份证号</view>
-					<input type="text" :value="unit" placeholder="请填写您的身份证号"/>
+					<input type="text" v-model="identityNumber" placeholder="请填写您的身份证号"/>
 				</view>
 			</template>
 			<view class="item">
@@ -56,8 +56,8 @@
 				</radio-group>
 			</view>
 			<view class="item">
-				<view class="item-tit">物流方式</view>
-				<picker @change="bindLogChange(item)" :range="logs">
+				<view class="item-tit">物流方式<text>*</text></view>
+				<picker @change="bindLogChange" :range="logs" range-key="name">
 					<view class="log select" :class="{'action': log }">{{ log || '请选择物流方式' }}</view>
 				</picker>
 			</view>
@@ -82,10 +82,10 @@
 				<view class="item-tit">捐赠物资<text>*</text></view>
 				<view class="choose-box">
 					<view class="choose-item" v-for="(item,index) in wzList" :key="index" @click="dianji(index)">
-						<picker @change="bindWzChange" :range="wzs">
-							<view class="wz select" :class="{'action': item.wzname }">{{ item.wzname }}</view>
+						<picker @change="bindWzChange" :range="wzs" range-key="name">
+							<view class="wz select" :class="{'action': item.project_donation_name }">{{ item.project_donation_name || '请选择物资分类' }}</view>
 						</picker>
-						<input type="number" v-model="item.num" placeholder="填写数量"/>
+						<input type="number" v-model="item.project_donation_num" placeholder="填写数量"/>
 					</view>
 					<view class="more" @click="addMore">
 						+添加更多
@@ -105,7 +105,7 @@
 					</template>
 				</view>
 			</view>
-			<view class="t-item" v-if="type === 0">
+			<!-- <view class="t-item" v-if="type === 1">
 				<view class="t-tit">
 					营业执照(必填)<text>{{yyimg | much}}/3</text>
 				</view>
@@ -115,7 +115,7 @@
 						<image :src="item" mode="" v-if="item"  @click.stop="imgsub(yyimg,index)"  :key="index"></image>
 					</template>
 				</view>
-			</view>
+			</view> -->
 			<view class="t-item">
 				<view class="t-tit">
 					质量合格书(必填)<text>{{zlimg | much}}/3</text>
@@ -158,26 +158,29 @@
 
 <script>
 	import { upload } from '@/api/ask.js';
+	import { getProjectInfo, createProject, getLogistics, getDonationInfo, createUser } from '../../api/money.js';
 	export default {
 		data() {
 			return {
 				items: [
 					{
-						value: '企业(团体)',
+						value: '个人',
 						iid: '0'
 					},
 					{
-						value: '个人',
+						value: '企业(团体)',
 						iid: '1'
 					}
 				],
 				IsAnonymous: false,
 				limit: 1,
-				type: 0,//捐赠个体 1位个人 0为团体(企业)
+				type: 0,//捐赠个体0位个人 1为团体(企业)
 				unit: '',//捐赠单位
-				dwPeople: '',//捐赠方联系人
-				dwPhone: '',//单位电话
+				contacts: '',//捐赠方联系人
+				tel: '',//单位电话
 				log: '',//物流方式
+				logistics: '',//物流编号
+				// Logistics: '',//物流方式id
 				logs: ['顺丰','邮政'],
 				Isopen: false,//是否开具发票
 				mask: '',//备注
@@ -185,21 +188,21 @@
 				name: '',// 捐赠人姓名
 				phone: '',//捐赠人联系方式
 				identityNumber: '',//身份证号
-				wzs: ['帐篷类(帐篷)','棉被类(被子)'],
+				wzs: [],//物资分类列表
 				wzList: [
 					{
-						wzname: '帐篷类(帐篷)',
-						num: null
-					},
-					{
-						wzname: '棉被类(被子)',
-						num: null
+						project_donation_id: null,
+						project_donation_num: null,
+						project_donation_name: null
 					}
 				],
 				swimg: [''],//实物照片
 				yyimg: [''],//营业执照
 				zlimg: [''],//质量合格证书
 				jzimg: [''],//价值凭证
+				true_wzList: [],//最终捐赠的物资列表
+				hadadd: [],//已添加分类
+				project_id: 0,//项目ID
 			}
 		},
 		filters:{
@@ -218,7 +221,11 @@
 				this.type = ops.type*1
 				console.log(this.type,'++++++++')
 			}
-			
+			if(ops.id) {
+				this.project_id = ops.id*1
+			}
+			this.getDonationInfo()
+			this.getLogistics()
 		},
 		mounted() {
 			// this.$set(this,'wzList',[this.wz1,this.wz2])
@@ -235,7 +242,7 @@
 			//选择捐赠是个人或团体
 			typeChange(e) {
 				this.type = e.detail.value*1
-				console.log(this.type)
+				console.log(this.type,'this.typ+++++++++++++++++++++')
 			},
 			//选择是否匿名
 			anonymousChange(e) {
@@ -247,9 +254,24 @@
 			},
 			//选择物流方式
 			bindLogChange(e) {
-				this.log = this.logs[e.detail.value*1]
+				this.log = this.logs[e.detail.value].name
+				this.logistics = this.logs[e.detail.value].id
+			},
+			//选择捐献物资分类
+			bindWzChange(e){
+				if(this.hadadd.indexOf(e.detail.value) === -1) {
+					this.hadadd.push(e.detail.value)
+					this.wzList[this.currentWzIndex].project_donation_name = this.wzs[e.detail.value].name
+					this.wzList[this.currentWzIndex].project_donation_id = this.wzs[e.detail.value].id
+				}else {
+					this.$api.msg('改分类已添加');
+					return 
+				}
+				
+				console.log(this.wzList)
+				// this.wz = this.logs[e.detail.value].name
+				
 			},
-			//
 			openChange(e) {
 				if(e.detail.value !== '1') {
 					this.Isopen = false
@@ -270,31 +292,127 @@
 					}
 				});
 			},
-			//选择捐献物资分类
-			bindWzChange(e){
-				// item.wzname = e.detail.value
-				// console.log(item)
-				this.wzList[this.currentWzIndex].wzname = this.wzs[e.detail.value]
-				console.log(this.wzList)
-				
-			},
+			
 			dianji(index) {
 				this.currentWzIndex = index
 			},
 			//添加更多
 			addMore() {
 				this.wzList.push({
-					wzname: this.wzs[0],
-					num: null
+					project_donation_id: null,
+					project_donation_num: null,
+					project_donation_name: null
 				})
 			},
 			//提交
 			sub() {
-				uni.navigateTo({
-					url: '/pages/joinSuc/joinsuccess'
+				// uni.navigateTo({
+				// 	url: '/pages/joinSuc/joinsuccess'
+				// })
+				
+				let obj = this;
+				
+				if(obj.type === 0) {
+					if (obj.name == '') {
+						obj.$api.msg('请输入您的姓名');
+						return;
+					}
+					const reg = /^(\+?0?86-?)?1[\d]\d{9}$/;
+					if (!reg.test(obj.phone)) {
+						obj.$api.msg('请填写正确的手机号码');
+						return;
+					}
+					
+				}else {
+					if(obj.unit =='') {
+						obj.$api.msg('请输入捐赠单位');
+						return;
+					}
+					if(obj.dwPeople =='') {
+						obj.$api.msg('请输入联系人');
+						return;
+					}
+					if(obj.tel == '') {
+						obj.$api.msg('请输入单位电话');
+						return;
+					}
+				}
+				if(obj.log == '') {
+					obj.$api.msg('请选择物流方式');
+					return;
+				}
+				try{
+					obj.wzList.forEach( item => {
+						if(!item.project_donation_id){
+							 throw '请选择物资类别'
+						}
+						if(!item.project_donation_num || item.project_donation_num == 0) {
+							 throw '请填写捐赠数量'
+						}
+					})
+				}catch(e) {
+					obj.$api.msg(e);
+					return
+				}
+				
+				let matter =obj.swimg.toString().replace(/,$/,''),
+					qc = obj.zlimg.toString().replace(/,$/,''),
+					worth = obj.jzimg.toString().replace(/,$/,''),
+					item = obj.wzList
+				if(matter== ''){
+					obj.$api.msg('请上传实物照片');
+					return
+				}
+					
+				if(qc == ''){
+					obj.$api.msg('请上传质量合格证书');
+					return
+				}
+				console.log(matter,'5555555555555555')
+				createUser({
+					name: obj.type === 0? obj.name: obj.unit,
+					phone: obj.phone,
+					tel: obj.tel,
+					contacts: obj.contacts,
+					user_type: obj.type,
+					logistics: obj.logistics,
+					anonymous: obj.IsAnonymous? 1:0,
+					invoice: obj.Isopen? 1:0
+				}).then( res => {
+					console.log(JSON.parse(res.msg),'99999999999999999999999999')
+					let info = JSON.parse(res.msg)
+					console.log(info.name,'8888888888888')
+					createProject({
+						name: obj.type === 0? obj.name: obj.unit,
+						project_id: obj.project_id,
+						project_user_id: +info.id,
+						matter,
+						qc,
+						worth,
+						item
+					}).then( res => {
+						console.log(JSON.parse(res.msg),'77777777777777777777')
+						
+					})
+				})
+				
+			},
+			//获取物资分类列表
+			getDonationInfo() {
+				getDonationInfo().then(({data} )=>{
+					
+					this.wzs = data
+					console.log(this.wzs,'获取所有物资')
+				})
+			},
+			getLogistics() {
+				getLogistics().then( ({data}) => {
+					console.log('88888888888888888888',data)
+					this.logs = data
 				})
 			}
 			
+			
 		}
 	}
 </script>

+ 50 - 36
pages/user/myaid.vue

@@ -57,7 +57,8 @@ import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
 import empty from '@/components/empty';
 import { mapState } from 'vuex';
 import { saveUrl } from '@/utils/loginUtils.js';
-import { orderList, orderCancel, orderDel, orderTake } from '@/api/order.js';
+import { orderList, orderCancel, orderDel, orderTake } from '@/api/order.js';
+import { getProjectInfo, createProject, getDonationInfo, getMyorder} from '../../api/money.js';
 export default {
 	filters: {
 
@@ -73,7 +74,7 @@ export default {
 			showModal: false,
 			navList: [
 				{
-					state: 0,
+					state: -2,
 					text: '全部',
 					loadingType: 'more',
 					orderList: [
@@ -90,7 +91,7 @@ export default {
 					limit: 10 //每次信息条数
 				},
 				{
-					state: 1,
+					state: -1,
 					text: '审核中',
 					loadingType: 'more',
 					orderList: [],
@@ -98,7 +99,7 @@ export default {
 					limit: 10 //每次信息条数
 				},
 				{
-					state: 2,
+					state: 0,
 					text: '进行中',
 					loadingType: 'more',
 					orderList: [],
@@ -106,7 +107,7 @@ export default {
 					limit: 10 //每次信息条数
 				},
 				{
-					state: 3,
+					state: 1,
 					text: '已完成',
 					loadingType: 'more',
 					orderList: [],
@@ -133,7 +134,8 @@ export default {
 		if (options.state == 0) {
 			this.loadData();
 		}
-		// #endif
+		// #endif
+		this.getMyorder()
 	},
 	computed: {
 		...mapState(['userInfo'])
@@ -224,36 +226,40 @@ export default {
 				return;
 			}
 			// 修改当前对象状态为加载中
-			navItem.loadingType = 'loading';
-
-			orderList({
-				type: state,
-				page: navItem.page,
-				limit: navItem.limit
+			navItem.loadingType = 'loading';
+			getMyorder({
+				page: navItem.page,
+				limit: navItem.limit,
+				status: navItem.state
 			})
-				.then(({ data }) => {
-					let arr = data.map(e => {
-						let b = this.orderStateExp(e.status);
-						e.stateTip = b.stateTip;
-						e.stateTipColor = b.stateTipColor;
-						return e;
-					});
-					navItem.orderList = navItem.orderList.concat(arr);
-					// console.log(navItem.orderList);
-					navItem.page++;
-					if (navItem.limit == data.length) {
-						//判断是否还有数据, 有改为 more, 没有改为noMore
-						navItem.loadingType = 'more';
-						return;
-					} else {
-						//判断是否还有数据, 有改为 more, 没有改为noMore
-						navItem.loadingType = 'noMore';
-					}
-					this.$set(navItem, 'loaded', true);
-				})
-				.catch(e => {
-					console.log(e);
-				});
+			// orderList({
+			// 	type: state,
+			// 	page: navItem.page,
+			// 	limit: navItem.limit
+			// })
+			// 	.then(({ data }) => {
+			// 		let arr = data.map(e => {
+			// 			let b = this.orderStateExp(e.status);
+			// 			e.stateTip = b.stateTip;
+			// 			e.stateTipColor = b.stateTipColor;
+			// 			return e;
+			// 		});
+			// 		navItem.orderList = navItem.orderList.concat(arr);
+			// 		// console.log(navItem.orderList);
+			// 		navItem.page++;
+			// 		if (navItem.limit == data.length) {
+			// 			//判断是否还有数据, 有改为 more, 没有改为noMore
+			// 			navItem.loadingType = 'more';
+			// 			return;
+			// 		} else {
+			// 			//判断是否还有数据, 有改为 more, 没有改为noMore
+			// 			navItem.loadingType = 'noMore';
+			// 		}
+			// 		this.$set(navItem, 'loaded', true);
+			// 	})
+			// 	.catch(e => {
+			// 		console.log(e);
+			// 	});
 			
 		},
 
@@ -330,7 +336,15 @@ export default {
 			uni.navigateTo({
 				url: url
 			})
-		}
+		},
+		getMyorder() {
+			getMyorder({
+				status: 2
+			}).then(res => {
+				console.log(res,'88888888888')
+			})
+		}
+		
 	}
 };
 </script>