hwq hace 3 años
padre
commit
c225392700

+ 17 - 0
api/help.js

@@ -7,4 +7,21 @@ export function getMyHelpApplyList(data) {
 		method: 'get',
 		data
 	})
+}
+
+// 获取帮扶列表
+export function getHelpList(data) {
+	return request({
+		url: '/api/help/index',
+		method: 'get',
+		data
+	})
+}
+
+export function getHelpIfy(data) {
+	return request({
+		url: '/api/help/ify',
+		method: 'get',
+		data
+	})
 }

+ 1 - 1
api/index.js

@@ -219,4 +219,4 @@ export function getCompany(data) {
 		method: 'get',
 		data
 	});
-}
+}

+ 63 - 0
pages.json

@@ -910,6 +910,63 @@
 				"navigationBarTitleText": "申请帮扶",
 				"navigationStyle": "custom"
 			}
+		},
+		{
+			"path": "pages/fu/getPoints",
+			"style": {
+				"navigationBarTitleText": "如何获取积分",
+				"navigationBarBackgroundColor": "#FF727E",
+				"navigationBarTextStyle": "white"
+			}
+		},
+		{
+			"path": "pages/fu/helpInfo",
+			"style": {
+				"navigationBarTitleText": "帮扶公示",
+				"navigationBarBackgroundColor": "#FF727E",
+				"navigationBarTextStyle": "white"
+			}
+		},
+		{
+			"path": "pages/fu/helpDetail",		// 公示
+			"style": {
+				"navigationBarTitleText": "帮扶详情",
+				"navigationBarBackgroundColor": "#FF727E",
+				"navigationBarTextStyle": "white"
+			}
+		},
+		{
+			"path": "pages/fu/fuInfo",
+			"style": {
+				"navigationBarTitleText": "帮扶详情",
+				"navigationBarBackgroundColor": "#FF727E",
+				"navigationBarTextStyle":"white"
+			}
+		},
+		{
+			"path": "pages/fu/axjz",
+			"style": {
+				"navigationBarTitleText": "爱心帮扶",
+				"navigationBarBackgroundColor": "#FF727E",
+				"navigationBarTextStyle":"white",
+				"app-plus": {
+					"titleNView": {
+						"buttons": [ {
+							"color": "#FFFFFF",
+							"fontSize": "16px",
+							"colorPressed": "#fc5c82",
+							"float": "right",
+							"text": "筛选 "
+						}]
+					}
+				}
+			}
+		},
+		{
+			"path": "pages/fu/upLoadInfo",
+			"style": {
+				"navigationBarTitleText": "上传资料"
+			}
 		}
 		
 	],
@@ -931,6 +988,12 @@
 				"selectedIconPath": "static/tabBar/home-action.png",
 				"text": "首页"
 				// "visible":false
+			},
+			{
+				"pagePath": "pages/fu/axjz",
+				"iconPath": "static/tabBar/tab-fu.png",
+				"selectedIconPath": "static/tabBar/tab-fu-current.png",
+				"text": "爱心帮扶"
 			},
 			{
 				"pagePath": "pages/category/category",

+ 910 - 570
pages/applyHelp/index.vue

@@ -1,581 +1,921 @@
-     <template>
-	<view class="cantent">
-		<!-- <view class="tip">孝心缝帮扶:仅限服装行业从业者申请哦~</view> -->
-		<!-- <view class="flex til-list" v-if="!id">
-			<view class="red">基本信息</view>
-			<view class="">信息选择</view>
-			<view class="">家庭成员情况</view>
-			<view class="">详细情况</view>
-		</view> -->
+<template>
+	<view class="cantent">
 		<view class="tit-tip">
 			基本信息
-		</view>
-		<view class="flex til-list" v-if="id && status == ''">
-			<view class="red">基本信息</view>
-			<view class="" @click="navTo('/pages/applyHelp/second?id='+id)">信息选择</view>
-			<view class="" @click="navTo('/pages/applyHelp/third?id='+id)">家庭成员情况</view>
-			<view class="" @click="navTo('/pages/applyHelp/fourth?id='+id)">详细情况</view>
-		</view>
-		<view class="flex til-list" v-if="id && status == 2">
-			<view class="red">基本信息</view>
-			<view class="" @click="navTo('/pages/applyHelp/second?id='+id +'&status=2')">信息选择</view>
-			<view class="" @click="navTo('/pages/applyHelp/third?id='+id+'&status=2')">家庭成员情况</view>
-			<view class="" @click="navTo('/pages/applyHelp/fourth?id='+id+'&status=2')">详细情况</view>
-		</view>
-		<view class="content_box">
-			<view class="row b-b">
-				<text class="tit">姓名</text>
-				<input class="input" type="text" :disabled="disabled" v-model="name" placeholder="请填写您的姓名" placeholder-class="placeholder" />
-			</view>
-			<view class="row b-b">
-				<text class="tit">年龄</text>
-				<input class="input" type="text" :disabled="disabled" v-model="age"  placeholder="请填写您的年龄" placeholder-class="placeholder" />
-			</view>
-			<view class="row b-b">
-				<text class="tit">性别</text>
-				<input class="input" type="text" :disabled="disabled" v-model="sex"  placeholder="请填写您的性别" placeholder-class="placeholder" />
-			</view>
-		</view>
-		<!-- <view class="content_box">
-			<view class="list-name">政治面貌</view>
-			<view class="uni-list">
-				<radio-group @change="radioChange">
-					<view class="radio-list flex_item">
-						<label class="uni-list-cell uni-list-cell-pd flex_item" v-for="(item, index) in outlook" :key="item.name">
-							<view><radio :disabled="disabled" style="transform:scale(0.7)" color='#FF727E' :value="item.name" :checked="index === current" /></view>
-							<view>{{item.name}}</view>
-						</label>
-					</view>
-				</radio-group>
+		</view>
+		<view class="content_box">
+			<view class="row b-b">
+				<text class="tit">姓名</text>
+				<input class="input" type="text" :disabled="disabled" v-model="full_name" placeholder="请填写您的姓名"
+					placeholder-class="placeholder" />
 			</view>
-		</view> -->
-		
+			<!-- <view class="row b-b">
+				<text class="tit">年龄</text>
+				<input class="input" type="text" :disabled="disabled" v-model="age" placeholder="请填写您的年龄"
+					placeholder-class="placeholder" />
+			</view> -->
+			<view class="row b-b">
+				<text class="tit">性别</text>
+				<input class="input" type="text" :disabled="disabled" v-model="sex" placeholder="请填写您的性别"
+					placeholder-class="placeholder" />
+			</view>
+		</view>
 		<view class="content_box">
 			<view class="row b-b" v-if="status =='' ">
 				<text class="tit">政治面貌</text>
-				<picker mode="" :range="checkedList" @change="changeChecked">
-					<input class="input" disabled v-model="checked" placeholder="请选择政治面貌" placeholder-class="placeholder" />
+				<picker mode="selector" :range="checkedList" @change="changeChecked" style="flex-grow: 1;">
+					<input class="input" disabled v-model="checked" placeholder="请选择政治面貌"
+						placeholder-class="placeholder" />
 				</picker>
-				<!-- <pickerAddress class="input"  @change="onCityClick">{{checked||'请选择省市区'}}</pickerAddress> -->
 			</view>
 			<view class="row b-b" v-if="status ==2 ">
 				<text class="tit">政治面貌</text>
-				<input class="input"  :disabled="disabled" v-model="address" placeholder="省市区" placeholder-class="placeholder" />
-			</view>
-			<view class="row" v-if="status == ''" @click="selectDatePicker(type)">
-				<text class="tit">出生日期:</text>
-				<input class="input" type="text"  v-model="birthday" disabled="true"  placeholder-class="placeholder" />
-				 <datetime ref='date-time' :type='type' :datestring='dateString' @change='dateTimeChange'></datetime>
-			</view>
-			<view class="row" v-if="status == 2">
-				<text class="tit">出生日期:</text>
-				<input class="input" type="text"  v-model="birthday" disabled="true"  placeholder-class="placeholder" />
-				 <datetime ref='date-time' :type='type' :datestring='dateString' @change='dateTimeChange'></datetime>
-			</view>
-			<view class="row b-b">
-				<text class="tit">身份证号</text>
-				<input class="input" type="number" :disabled="disabled"  v-model="card" placeholder="请填写身份证号" placeholder-class="placeholder" />
-			</view>
-			<view class="row b-b" v-if="status =='' ">
-				<text class="tit">省市区</text>
-				<pickerAddress class="input"  @change="onCityClick">{{address||'请选择省市区'}}</pickerAddress>
-			</view>
-			<view class="row b-b" v-if="status ==2 ">
-				<text class="tit">省市区</text>
-				<input class="input"  :disabled="disabled" v-model="address" placeholder="省市区" placeholder-class="placeholder" />
-			</view>
-			<view class="row b-b">
-				<text class="tit">详细地址</text>
-				<input class="input" v-model="addr" :disabled="disabled" placeholder="请填写详细地址" placeholder-class="placeholder" />
-			</view>
-			<view class="row b-b">
-				<text class="tit">联系电话</text>
-				<input class="input" type="text" :disabled="disabled" v-model="phone"  placeholder="请填写联系电话" placeholder-class="placeholder" />
-			</view>
-			<view class="row b-b">
-				<text class="tit">工作单位</text>
-				<input class="input" type="text"  :disabled="disabled" v-model="work"  placeholder="请填写工作单位" placeholder-class="placeholder" />
-			</view>
-		</view>
-		<view class="content_box" v-if="status == ''">
-			<view class="list-name">单位性质</view>
-			<view class="uni-list">
-				<radio-group @change="radioChange1">
-					<view class="radio-list flex_item">
-						<label class="uni-list-cell uni-list-cell-pd flex_item" v-for="(item, index) in nature" :key="item.name">
-							<view><radio :disabled="disabled" style="transform:scale(0.7)" color='#FF727E' :value="item.name" :checked="index === current1" /></view>
-							<view>{{item.name}}</view>
-						</label>
-					</view>
-				</radio-group>
-			</view>
-		</view>
-		<view class="add-btn" v-if="status == ''" @click="confirm">下一步</view>
-		<view class="add-btn"  v-if="status == 2" @click="Tosecond">下一步</view>
-	</view>
-</template>
-<script>
-import uniList from '@/components/uni-list/uni-list.vue';
-import uniListItem from '@/components/uni-list-item/uni-list-item.vue';
-import { upload,add_help } from '@/api/index.js';
-import { getList,helpdetail } from '@/api/applyHelp.js';
-import datetime from '@/components/DateTimePicker/DateTimePicker.vue'
-import  pickerAddress from '@/components/wangding-pickerAddress/wangding-pickerAddress.vue';
-export default {
-	components: {
-		uniList,
-		uniListItem,
-		pickerAddress,
-		datetime
-	},
-	data() {
-		return {
-			id:'',
-			name:'',//姓名
-			age:'',//年龄
-			sex:'',//性别
-			card:'',//身份证号
-			phone:'',//电话
-			address:'',//
-			addr:'',
-			work:'',//工作单位
-			checkedList: ['团员','预备党员','党员','群众'],//政治面貌
-			outlook:[{
-				id:1,
-				name:'团员'
-			},{
-				id:2,
-				name:'预备党员'
-			},{
-				id:3,
-				name:'党员'
-			},{
-				id:4,
-				name:'群众'
-			}],//政治面貌
-			current:'',
-			checked:'',
-			
-			nature:[{
-				id:1,
-				name:'国有企业'
-			},{
-				id:2,
-				name:'私营企业'
-			},{
-				id:3,
-				name:'外资企业'
-			},{
-				id:4,
-				name:'事业单位'
-			},{
-				id:5,
-				name:'个位经营'
-			},{
-				id:6,
-				name:'无'
-			}],//单位性质
-			current1:'',
-			checked1:'',
-			
-			dateString: '',
-			birthday:'请选择出生日期',//出生日期
-			type: 'date',
-			
-			status:'',//审核通过
-			disabled:false,
-		};
-	},
-	onLoad(option) {
-		if(option.id){
-			this.id = option.id;
-			this.helpDetail();
-		}
-		if(option.status){
-			this.status = option.status;
-			this.disabled = true;
-		}
-	},
-	onUnload() {
-		uni.navigateTo({
-			url: '/pages/applyHelp/cation'
-		});
-	},
-	methods: {
-		// 选择政治面貌
-		changeChecked(e) {
-			console.log(e)
-		},
-		radioChange(evt){
-			this.checked = evt.detail.value;
-		},
-		radioChange1(evt){
-			this.checked1 = evt.detail.value;
-		},
-		// 显示日期选择器
-		selectDatePicker(type, index) {
-			this.type = type;
-			this.index = index;
-			this.$refs['date-time'].show();
-		},
-		dateTimeChange(value) {
-			this.birthday = value;
-			console.log(value)
-		},
-		// 选中城市切换
-		onCityClick(res) {
-			let obj = this;
-			let province = res.data[0];
-			let city = res.data[1];
-			let district = res.data[2];
-			obj.address = province + city+ district;
-			console.log(obj.address, '城市');
-		},
-		//申请详情
-		helpDetail(){
-			let obj = this;
-			helpdetail({
-				id:obj.id
-			}).then(({ data }) => {
-				obj.name = data.name;
-				obj.sex = data.sex;
-				obj.card = data.card;
-				obj.phone = data.phone;
-				obj.work = data.work;
-				obj.birthday = data.birthday;
-				obj.age =  data.age;
-				console.log(data.address)
-				let addressDateil = data.address.split(',');
-				console.log(addressDateil)
-				obj.address = addressDateil[0];
-				obj.addr = addressDateil[1];
-				obj.checked = data.politic;
-				if(obj.checked == '团员'){
-					obj.current = 0;
-				}
-				if(obj.checked == '预备党员'){
-					obj.current = 1;
-				}
-				if(obj.checked == '党员'){
-					obj.current = 2;
-				}
-				if(obj.checked == '群众'){
-					obj.current = 3;
-				}
-				obj.checked1 = data.properties;
-				if(obj.checked1 == '国有企业'){
-					obj.current1 = 0;
-				}
-				if(obj.checked1 == '私营企业'){
-					obj.current1 = 1;
-				}
-				if(obj.checked1 == '外资企业'){
-					obj.current1 = 2;
-				}
-				if(obj.checked1 == '事业单位'){
-					obj.current1 = 3;
-				}
-				if(obj.checked1 == '个位经营'){
-					obj.current1 = 4;
-				}
-				if(obj.checked1 == '无'){
-					obj.current1 = 5;
-				}
-			})
-				.catch(err => {
-				console.log(err);
-			});
-		},
-		Tosecond(){
-			uni.navigateTo({
-				url:'/pages/applyHelp/second?id='+this.id+'&status=2'
-			})
-		},
-		//提交
-		confirm() {
-			let obj = this;
-			if(obj.name == ''){
-				this.$api.msg('请填写您的姓名!');
-				return;
-			}
-			if(obj.age == ''){
-				this.$api.msg('请填写您的年龄!');
-				return;
-			}
-			if(obj.sex == ''){
-				this.$api.msg('请填写您的性别!');
-				return;
-			}
-			if(obj.checked == ''){
-				this.$api.msg('请填写您的政治面貌!');
-				return;
-			}
-			if(obj.birthday == '' || obj.birthday == '请选择出生日期'){
-				this.$api.msg('请选择出生日期!');
-				return;
-			}
-			if(obj.card == ''){
-				this.$api.msg('请填写您的身份证号!');
-				return;
-			}
-			if(obj.address == ''){
-				this.$api.msg('请选择省市区!');
-				return;
-			}
-			if(obj.addr == ''){
-				this.$api.msg('请填写您的详细地址!');
-				return;
-			}
-			if(obj.phone == ''){
-				this.$api.msg('请填写您的联系电话!');
-				return;
-			}
-			if(obj.work == ''){
-				this.$api.msg('请填写您的工作单位!');
-				return;
-			}
-			if(obj.checked1 == ''){
-				this.$api.msg('请填写您的单位性质!');
-				return;
-			}
-			let data = {};
-			if(obj.id){
-				data = {
-					id:obj.id,
-					name:obj.name,
-					age:obj.age,
-					sex:obj.sex,
-					card:obj.card,
-					phone:obj.phone,
-					address:obj.address +','+ obj.addr,
-					work:obj.work,
-					politic:obj.checked,//政治面貌
-					birthday:obj.birthday,
-					properties:obj.checked1//单位性质
-				}
-			}else{
-				data = {
-					name:obj.name,
-					age:obj.age,
-					sex:obj.sex,
-					card:obj.card,
-					phone:obj.phone,
-					address:obj.address +','+ obj.addr,
-					work:obj.work,
-					politic:obj.checked,//政治面貌
-					birthday:obj.birthday,
-					properties:obj.checked1//单位性质
-				}
-			}
-			add_help(data).then(function(e) {
-				obj.$api.msg(e.msg);
-				let id = e.data.id;
-				console.log(id)
-				setTimeout(function(){
-					uni.navigateTo({
-						url:'/pages/applyHelp/second?id='+id
-					})
-				}, 1000);
-			})
-			.catch(e => {
-				obj.$api.msg(e.message);
-			});
-		},
-		navTo(url) {
-			uni.navigateTo({
-				url
-			});
-		}
-	}
-};
-</script>
-
-<style lang="scss">
-page {
-	background: $page-color-base;
-	min-height: 100%;
-}
-.cantent{
-	padding-bottom: 110rpx;
-}
-.tip{
-	color: #DE2412;
-	background-color: #FEE2E3;
-	font-size: 24rpx;
-	padding: 25rpx 35rpx;
-}
-.til-list{
-	padding: 35rpx 50rpx;
-	font-size: 28rpx;
-	color: #666666;
-	.red{
-		color: #E62129 !important;
-	}
-}
-.name{
-	padding: 0rpx 35rpx;
-	padding-bottom: 15rpx !important;
-	font-size: 36rpx;
-	font-weight:500;
-}
-.content_box {
-	background-color: #ffffff;
-	padding: 0rpx 25rpx;
-	.list-name{
-		padding-top: 25rpx;
-		font-size: 35rpx;
-		padding-left: 15rpx;
-		padding-bottom: 10rpx;
-	}
-	.examine_list{
-		width: 100%;
-		.textarea-box{
-			width: 100%;
-			padding-bottom: 25rpx;
-			padding-left: 25rpx;
-			.textarea{
-				width: 100%;
-				font-size: 28rpx;
-				min-height: 150rpx;
-			}
-			input{
-				font-size: 28rpx;
-			}
-		}
-	}
-}
-.radio-list{
-	display: flex;
-	flex-wrap: wrap;
-	font-size: 28rpx;
-	padding-top: 30rpx;
-	.uni-label-pointer{
-		padding-right: 25rpx;
-		padding-bottom: 30rpx;
-	}
-}
-.mar-b{
-	margin-bottom: 120rpx;
-}
-.row {
-	display: flex;
-	align-items: center;
-	// position: relative;
-	padding: 0 30rpx;
-	height: 110rpx;
-	background: #fff;
-	border-bottom: 1rpx solid #f8f6f6;
-
-	.tit {
-		flex-shrink: 0;
-		width: 180rpx;
-		font-size: 30rpx;
-		color: $font-color-dark;
-	}
-	.value{
-		width: 100%;
-		text-align: right;
-	}
-	.input {
-		flex: 1;
-		font-size: 30rpx;
-		color: $font-color-dark;
-		text-align: right;
-	}
-	.iconlocation {
-		font-size: 36rpx;
-		color: $font-color-light;
-	}
-}
-.examine_name {
-	color: #171717;
-	font-size: 28rpx;
-	padding: 25rpx 25rpx;
-}
-.examine_img {
-	width: 100%;
-	text-align: center;
-	.image{
-		width: 150rpx;
-		height: 150rpx;
-	}
-	.image1{
-		min-width: 150rpx;
-		max-width: 100%;
-		min-height: 150rpx;
-	}
-}
-.add-img-box {
-	width: 100%;
-	flex-direction: row;
-	flex-wrap: wrap;
-	margin-top: 50rpx;
-}
-.add-img-item {
-	margin-bottom: 25rpx;
-	width: 100%;
-	.add-img {
-		min-width: 150rpx;
-		max-width: 100%;
-		height: 400rpx;
-	}
-}
-.add-img-del {
-	position: absolute;
-	width: 40rpx;
-	height: 40rpx;
-	right: 60rpx;
-	// bottom: 155rpx;
-	//background-color: rgba(238, 0, 0, 1);
-	border-radius: 20rpx;
-}
-.default-row {
-	margin-top: 16rpx;
-	.tit {
-		flex: 1;
-	}
-	switch {
-		transform: translateX(16rpx) scale(0.9);
-	}
-}
-.add-btn{
-	position: fixed;
-	bottom: 0rpx;
-	left: 0rpx;
-	width: 100%;
-	height: 100rpx;
-	font-size: 28rpx;
-	color: #FFFFFF;
-	background-color: #FF727E;
-	line-height: 100rpx;
-	text-align: center;
-}
-.img_box {
-	padding: 35rpx 35rpx;
-	width: 250rpx;
-	height: 250rpx;
-}
-.img_box image {
-	width: 100%;
-	height: 100%;
-}
-.alert-box {
-	background-color: #ffffff;
-}
-.b-b:after {
-	position: relative !important;
-}
-.check_box {
-	padding: 25rpx 25rpx;
-	font-size: 20rpx;
-	padding-bottom: 150rpx;
-	text{
-		color: #6786FB;
-	}
-}
-.tit-tip {
-	color: #ff727e;
-	font-size: 36rpx;
-	padding: 10rpx 0 10rpx 20rpx;
-}
+				<input class="input" :disabled="disabled" v-model="address" placeholder="省市区"
+					placeholder-class="placeholder" />
+			</view>
+			<view class="row" v-if="status == ''" @click="selectDatePicker(type)">
+				<text class="tit">出生日期:</text>
+				<input class="input" type="text" v-model="birthday" disabled="true" placeholder-class="placeholder" />
+				<datetime ref='date-time' :type='type' :datestring='dateString' @change='dateTimeChange'>
+				</datetime>
+			</view>
+			<view class="row" v-if="status == 2">
+				<text class="tit">出生日期:</text>
+				<input class="input" type="text" v-model="birthday" disabled="true" placeholder-class="placeholder" />
+				<datetime ref='date-time' :type='type' :datestring='dateString' @change='dateTimeChange'>
+				</datetime>
+			</view>
+			<view class="row b-b">
+				<text class="tit">身份证号</text>
+				<input class="input" type="number" :disabled="disabled" v-model="id_card" placeholder="请填写身份证号"
+					placeholder-class="placeholder" />
+			</view>
+			<!-- <view class="row b-b" v-if="status =='' ">
+				<text class="tit">省市区</text>
+				<pickerAddress class="input" @change="onCityClick">{{address||'请选择省市区'}}</pickerAddress>
+			</view> -->
+			<!-- <view class="row b-b" v-if="status ==2 ">
+				<text class="tit">省市区</text>
+				<input class="input" :disabled="disabled" v-model="address" placeholder="省市区"
+					placeholder-class="placeholder" />
+			</view> -->
+			<view class="row b-b">
+				<text class="tit">家庭住址</text>
+				<input class="input" v-model="address" :disabled="disabled" placeholder="请填写详细地址"
+					placeholder-class="placeholder" />
+			</view>
+			<view class="row b-b">
+				<text class="tit">联系电话</text>
+				<input class="input" type="text" :disabled="disabled" v-model="phone" placeholder="请填写联系电话"
+					placeholder-class="placeholder" />
+			</view>
+			<view class="row b-b">
+				<text class="tit">工作单位</text>
+				<input class="input" type="text" :disabled="disabled" v-model="work" placeholder="请填写工作单位"
+					placeholder-class="placeholder" />
+			</view>
+			<view class="row b-b" v-if="status =='' ">
+				<text class="tit">单位性质</text>
+				<picker mode="selector" :range="checkedtList" @change="changeCheckedt" style="flex-grow: 1;">
+					<input class="input" disabled v-model="checked1" placeholder="请选择单位性质"
+						placeholder-class="placeholder" />
+				</picker>
+			</view>
+			<view class="row b-b" v-if="status ==2 ">
+				<text class="tit">单位性质</text>
+				<input class="input" :disabled="disabled" v-model="checked1" placeholder="请选择单位性质"
+					placeholder-class="placeholder" />
+			</view>
+		</view>
+		<view class="tit-tip">
+			信息选择
+		</view>
+		<view class="content_box">
+			<view class="row b-b" v-if="status =='' ">
+				<text class="tit">身份</text>
+				<picker mode="selector" :range="identityList" @change="changeidentity" style="flex-grow: 1;">
+					<input class="input" disabled v-model="identity" placeholder="请选择身份"
+						placeholder-class="placeholder" />
+				</picker>
+			</view>
+			<view class="row b-b" v-if="status =='' ">
+				<text class="tit">婚姻状态</text>
+				<picker mode="selector" :range="maritalList" @change="changeMarital" style="flex-grow: 1;">
+					<input class="input" disabled v-model="marital" placeholder="请选择婚姻状态"
+						placeholder-class="placeholder" />
+				</picker>
+			</view>
+			<view class="row b-b" v-if="status =='' ">
+				<text class="tit">是否医保</text>
+				<picker mode="selector" :range="insuranceList" @change="changeInsurance" style="flex-grow: 1;">
+					<input class="input" disabled v-model="insurance" placeholder="请选择是否医保"
+						placeholder-class="placeholder" />
+				</picker>
+			</view>
+			<view class="row b-b" v-if="status =='' ">
+				<text class="tit">对象特征</text>
+				<picker mode="selector" :range="characteristicsList" @change="changeCharacteristics"
+					style="flex-grow: 1;">
+					<input class="input" disabled v-model="characteristics" placeholder="请选择是否医保"
+						placeholder-class="placeholder" />
+				</picker>
+			</view>
+			<view class="row b-b" v-if="status =='' " style="border-bottom: none;">
+				<text class="tit" style="width: 400rpx;">制困原因(最多选三项)</text>
+			</view>
+			<view class="" style="padding-left: 50rpx;border-bottom: 1rpx solid #f8f6f6;" v-if="ready">
+				<checkbox-group style="display: inline-block;" @change="checkMaleLikes">
+					<label class="checkbox" v-for="item in maleLikeList" :key="item.name">
+						<checkbox :checked="item.cheched" color="#E62129"
+							style="transform:scale(0.6);margin: 0;padding: 0;" :value="item.name" />{{ item.name }}
+					</label>
+				</checkbox-group>
+			</view>
+
+		</view>
+		<!-- 基本信息家庭成员情况 -->
+		<view class="tit-tip">
+			基本信息家庭成员情况
+		</view>
+		<view v-for="(ls,findex) in datalist" :key="">
+			<view class="flex item-list">
+				<view class="list-name">家庭成员({{findex+1}})</view>
+				<view class="flex">
+					<view class="add-tip" @click="addlist(findex)" v-if="findex == (datalist.length -1)">新增</view>
+					<view class="add-tip" @click="dellist(findex)" style="margin-left: 20rpx;" v-if="findex != 0">删除
+					</view>
+				</view>
+
+			</view>
+			<view class="content_box" style="padding-left: 40rpx;margin-bottom: 10rpx;">
+				<view class="row b-b">
+					<text class="tit">姓名</text>
+					<input class="input" type="text" v-model="ls.full_name" :disabled="disabled" placeholder="请填写成员姓名"
+						placeholder-class="placeholder" />
+				</view>
+				<view class="row b-b">
+					<text class="tit">与本人关系</text>
+					<input class="input" type="text" v-model="ls.relation" :disabled="disabled" placeholder="请填写与本人关系"
+						placeholder-class="placeholder" />
+				</view>
+				<view class="row b-b">
+					<text class="tit">身份证号</text>
+					<input class="input" type="text" v-model="ls.id_card" :disabled="disabled" placeholder="请填写身份证号"
+						placeholder-class="placeholder" />
+				</view>
+				<view class="row b-b">
+					<text class="tit">工作单位或就读学校</text>
+					<input class="input" type="text" v-model="ls.work_unit" :disabled="disabled"
+						placeholder="请填写工作单位或就读学校" placeholder-class="placeholder" />
+				</view>
+				<view class="row b-b">
+					<text class="tit">健康状况</text>
+					<input class="input" type="text" v-model="ls.healthy" :disabled="disabled" placeholder="请填写健康状况"
+						placeholder-class="placeholder" />
+				</view>
+				<view class="row b-b">
+					<text class="tit">月收入(元)</text>
+					<input class="input" type="number" v-model="ls.monthly_income" :disabled="disabled"
+						placeholder="请填写月收入(元)" placeholder-class="placeholder" />
+				</view>
+			</view>
+		</view>
+		<!-- 详细情况 -->
+		<view class="tit-tip">
+			详细情况
+		</view>
+		<view class="item-list">
+			<view class="list-name">经济状况</view>
+		</view>
+		<view class="content_box">
+			<view class="row b-b">
+				<text class="tit">本人月收入(元)</text>
+				<input class="input" type="number" v-model="yue" :disabled="disabled" placeholder="请填写本人月收入(元)"
+					placeholder-class="placeholder" />
+			</view>
+			<view class="row b-b">
+				<text class="tit">家庭年度总收入(元)</text>
+				<input class="input" type="number" v-model="nian" :disabled="disabled" placeholder="请填写家庭年度总收入(元)"
+					placeholder-class="placeholder" />
+			</view>
+			<view class="row b-b">
+				<text class="tit">家庭年人均收入(元)</text>
+				<input class="input" type="number" v-model="all" :disabled="disabled" placeholder="请填写家庭年人均收入(元)"
+					placeholder-class="placeholder" />
+			</view>
+		</view>
+		<view class="content_box">
+			<view class="examine_list">
+				<view class="examine_name">申请帮扶类型</view>
+				<view class="textarea-box" @tap="handleTap('picker')" v-if="status == ''">
+					<input class="input" @focus='outFocus' v-model="hpleType" type="text" placeholder="请选择您的申请帮扶类型"
+						placeholder-class="placeholder" />
+				</view>
+				<view class="textarea-box" v-if="status == 2">
+					<input class="input" @focus='outFocus' v-model="hpleType" type="text" placeholder="请选择您的申请帮扶类型"
+						placeholder-class="placeholder" />
+				</view>
+			</view>
+		</view>
+		<lb-picker ref="picker" mode="selector" :list="list" @change="handleChange" @touchmove.prevent
+			@confirm="handleConfirm" @cancel="handleCancel">
+		</lb-picker>
+		<view class="content_box">
+			<view class="examine_list">
+				<view class="examine_name">帮扶说明</view>
+				<view class="textarea-box">
+					<textarea class="textarea" :disabled="disabled" v-model="explain" maxlength="-1"
+						placeholder-style="color:#999999" placeholder="如:关爱父母敬老爱幼等" @blur="bindTextAreaBlur"
+						auto-height />
+				</view>
+			</view>
+		</view>
+		<view class="content_box">
+			<view class="examine_list">
+				<view class="examine_name">帮扶情况描述</view>
+				<view class="textarea-box">
+					<textarea class="textarea" :disabled="disabled" v-model="content" maxlength="-1"
+						placeholder-style="color:#999999"
+						placeholder="注:1.为了更加详细了解您的困难情况,请您陈述材料完整详细不少于500字。2.请您附上相关证明材料,如医疗材料:入院病案首页、出入院记录、检查报告、医疗票据选取三种以上,其他证明材料。"
+						@blur="bindTextAreaBlur1" auto-height />
+				</view>
+			</view>
+		</view>
+		<view class="content_box mar-b">
+			<view class="examine_list">
+				<view class="examine_name">上传凭证<text>(请您上传相关证明材料)</text></view>
+				<view class="examine_img">
+					<view class="add-img-box flex_item" v-if="status == ''">
+						<view class="add-img-item" v-for="(item, index) in imgList" :key="index">
+							<image class="add-img" @click.stop="imgInfo(index)" :src="item.fullurl" mode="aspectFill">
+							</image>
+							<image class="add-img-del" @click.stop="delImg(index)" src="/static/img/delete.png"></image>
+						</view>
+						<view v-if='imgCount > 0' class="add-img-item" @click.stop="scImg()">
+							<image class="add-img" src="/static/img/add.png"></image>
+						</view>
+					</view>
+					<view class="add-img-box flex_item" v-if="status == 2">
+						<view class="add-img-item" v-for="(item, index) in imgList" :key="index">
+							<image class="add-img" @click.stop="imgInfo(index)" :src="item.fullurl" mode="aspectFill">
+							</image>
+						</view>
+					</view>
+				</view>
+			</view>
+		</view>
+		<!-- <view class="add-btn" v-if="status == ''" @click="confirm">下一步</view>
+		<view class="add-btn" v-if="status == 2" @click="Tosecond">下一步</view> -->
+	</view>
+</template>
+<script>
+	import uniList from '@/components/uni-list/uni-list.vue';
+	import uniListItem from '@/components/uni-list-item/uni-list-item.vue';
+	import {
+		upload,
+		add_help
+	} from '@/api/index.js';
+	import {
+		getList,
+		helpdetail
+	} from '@/api/applyHelp.js';
+	import datetime from '@/components/DateTimePicker/DateTimePicker.vue'
+	import pickerAddress from '@/components/wangding-pickerAddress/wangding-pickerAddress.vue';
+	import LbPicker from '@/components/lb-picker/index.vue';
+	export default {
+		components: {
+			uniList,
+			uniListItem,
+			pickerAddress,
+			datetime,
+			LbPicker
+		},
+		data() {
+			return {
+				ready: true,
+				id: '',
+				full_name: '', //姓名
+				age: '', //年龄
+				sex: '', //性别
+				id_card: '', //身份证号
+				phone: '', //电话
+				address: '', //家庭住址
+				addr: '',
+				work: '', //工作单位
+				checkedList: ['团员', '预备党员', '党员', '群众'], //政治面貌列表
+				politics: '', //政治面貌
+				checkedtList: ['国有企业', '私营企业', '外资企业', '事业单位', '个位经营', '无'], //单位性质列表
+				identityList: ['居民', '村民', '农民工', '在岗', '下岗', '离退休', '病退病休'], //身份列表
+				maritalList: ['已婚', '未婚', '离异', '丧偶'], //婚姻状况列表
+				insuranceList: ['是', '否'], //是否医保列表
+				characteristicsList: ['低保对象', '重度残疾', '低保边缘对象', '孤儿、孤寡老人', '因灾、因病致穷家庭', '其它'], //对象特征列表
+				maleLikeList: [{ //致困原因(最多选三项)
+					cheched: false,
+					name: '意外灾害',
+				}, {
+					vcheched: false,
+					name: '本人大病',
+				}, {
+					cheched: false,
+					name: '子女上学',
+				}, {
+					cheched: false,
+					name: '收入低无法维持基本生活',
+				}, {
+					cheched: false,
+					name: '残疾',
+				}, {
+					cheched: false,
+					name: '供养直系亲属大病',
+				}, {
+					cheched: false,
+					name: '下岗失业',
+				}, {
+					cheched: false,
+					name: '其它',
+				}],
+				datalist: [{
+					full_name: "", //姓名
+					relation: '', //关系
+					id_card: '', //身份证
+					work_unit: '', //单位
+					healthy: '', //健康状态
+					monthly_income: "", //月收入
+				}], //家庭成员情况列表
+				maleLike: '', // 制困原因
+				maleLikeListt: [],
+				characteristics: '', //对象特征
+				insurance: '', //是否医保
+				marital: '', //婚姻状况
+				identity: '', //身份
+				current: '',
+				checked: '',
+				current1: '',
+				checked1: '',
+				dateString: '',
+				birthday: '请选择出生日期', //出生日期
+				type: 'date',
+				status: '', //审核通过
+				disabled: false,
+				yue: '',
+				nian: '',
+				all: '',
+				cid: '',
+				hpleType: '',
+				explain: '',
+				content: '', //孝善情况
+				imgList: [],
+				cloudimgList: [],
+				imgCount: 9, //最多支持6张上传,可以修改
+				id: '',
+				list: [], //筹款类型
+			};
+		},
+		onLoad(option) {
+			if (option.id) {
+				this.id = option.id;
+				this.helpDetail();
+			}
+			if (option.status) {
+				this.status = option.status;
+				this.disabled = true;
+			}
+		},
+		onUnload() {
+			uni.navigateTo({
+				url: '/pages/applyHelp/cation'
+			});
+		},
+		methods: {
+			// 选择政治面貌
+			changeChecked(e) {
+				console.log(e)
+				this.checked = this.checkedList[e.detail.value]
+			},
+			// 选择单位性质
+			changeCheckedt(e) {
+				console.log(e)
+				this.checked1 = this.checkedtList[e.detail.value]
+			},
+			// 选择身份
+			changeidentity(e) {
+				console.log(e)
+				this.identity = this.identityList[e.detail.value]
+			},
+			// 选择婚姻状态
+			changeMarital(e) {
+				this.marital = this.maritalList[e.detail.value]
+			},
+			// 选择是否医保
+			changeInsurance(e) {
+				this.insurance = this.insuranceList[e.detail.value]
+			},
+			// 选择对象特征
+			changeCharacteristics(e) {
+				this.characteristics = this.characteristicsList[e.detail.value]
+			},
+			// 制困原因选择限制
+			checkMaleLikes(e) {
+				let arr = e.detail.value
+				let len = arr.length
+				let obj = this
+				console.log(e)
+				if (len <= 3) {
+					obj.maleLike = e.detail.value.join(',');
+					this.maleLikeListt = e.detail.value
+				} else {
+					obj.$api.msg('最多选择三个')
+					// let arr2 = e.detail.value.slice(0, 3)
+					// console.log(arr2, 'arr2')
+					obj.maleLike = this.maleLikeListt.join(',');
+				}
+				for (let i = 0; i < obj.maleLikeList.length; i++) {
+					if (obj.maleLike.indexOf(obj.maleLikeList[i].name) != -1) {
+						obj.maleLikeList[i].cheched = true;
+					} else {
+						obj.maleLikeList[i].cheched = false;
+					}
+				}
+				console.log(obj.maleLike, 'obj.maleLike++++++++')
+				obj.reload()
+			},
+			// 表单刷新
+			reload() {
+				this.ready = false
+				this.$nextTick(function() {
+					this.ready = true
+				})
+			},
+			//增加家庭成员
+			addlist(index) {
+				let obj = this
+				let addobj = {
+					full_name: "", //姓名
+					relation: '', //关系
+					id_card: '', //身份证
+					work_unit: '', //单位
+					healthy: '', //健康状态
+					monthly_income: "", //月收入
+				}
+				obj.datalist.push(addobj)
+			},
+			// 删除成员
+			dellist(index) {
+				this.datalist.splice(index, 1)
+			},
+			//多张上传图片
+			scImg() {
+				let obj = this;
+				upload({
+					file: ''
+				})
+					.then(e => {
+						obj.imgList = [...obj.imgList, ...e];
+						console.log(obj.imgList,'imgList')
+						obj.imgCount = 6 - obj.imgList.length;
+					})
+					.catch(e => {});
+			},
+			//点击图片显示大图
+			imgInfo(i) {
+				let tempList = [];
+				this.imgList.forEach(e => {
+					tempList.push(e.url);
+				});
+				//显示图片
+				uni.previewImage({
+					current: i,
+					loop: false,
+					urls: tempList,
+					indicator: 'default'
+				});
+			},
+			// 显示日期选择器
+			selectDatePicker(type, index) {
+				this.type = type;
+				this.index = index;
+				this.$refs['date-time'].show();
+			},
+			dateTimeChange(value) {
+				this.birthday = value;
+				console.log(value)
+			},
+			// 选中城市切换
+			onCityClick(res) {
+				let obj = this;
+				let province = res.data[0];
+				let city = res.data[1];
+				let district = res.data[2];
+				obj.address = province + city + district;
+				console.log(obj.address, '城市');
+			},
+			//申请详情
+			helpDetail() {
+				let obj = this;
+				helpdetail({
+						id: obj.id
+					}).then(({
+						data
+					}) => {
+						obj.name = data.name;
+						obj.sex = data.sex;
+						obj.card = data.card;
+						obj.phone = data.phone;
+						obj.work = data.work;
+						obj.birthday = data.birthday;
+						obj.age = data.age;
+						console.log(data.address)
+						let addressDateil = data.address.split(',');
+						console.log(addressDateil)
+						obj.address = addressDateil[0];
+						obj.addr = addressDateil[1];
+						obj.checked = data.politic;
+						if (obj.checked == '团员') {
+							obj.current = 0;
+						}
+						if (obj.checked == '预备党员') {
+							obj.current = 1;
+						}
+						if (obj.checked == '党员') {
+							obj.current = 2;
+						}
+						if (obj.checked == '群众') {
+							obj.current = 3;
+						}
+						obj.checked1 = data.properties;
+						if (obj.checked1 == '国有企业') {
+							obj.current1 = 0;
+						}
+						if (obj.checked1 == '私营企业') {
+							obj.current1 = 1;
+						}
+						if (obj.checked1 == '外资企业') {
+							obj.current1 = 2;
+						}
+						if (obj.checked1 == '事业单位') {
+							obj.current1 = 3;
+						}
+						if (obj.checked1 == '个位经营') {
+							obj.current1 = 4;
+						}
+						if (obj.checked1 == '无') {
+							obj.current1 = 5;
+						}
+					})
+					.catch(err => {
+						console.log(err);
+					});
+			},
+			Tosecond() {
+				uni.navigateTo({
+					url: '/pages/applyHelp/second?id=' + this.id + '&status=2'
+				})
+			},
+			//提交
+			confirm() {
+
+				let obj = this;
+				if (obj.full_name == '') {
+					this.$api.msg('请填写您的姓名!');
+					return;
+				}
+				// if (obj.age == '') {
+				// 	this.$api.msg('请填写您的年龄!');
+				// 	return;
+				// }
+				if (obj.sex == '') {
+					this.$api.msg('请填写您的性别!');
+					return;
+				}
+				if (obj.checked == '') {
+					this.$api.msg('请填写您的政治面貌!');
+					return;
+				}
+				if (obj.birthday == '' || obj.birthday == '请选择出生日期') {
+					this.$api.msg('请选择出生日期!');
+					return;
+				}
+				if (obj.card == '') {
+					this.$api.msg('请填写您的身份证号!');
+					return;
+				}
+				if (obj.address == '') {
+					this.$api.msg('请选择省市区!');
+					return;
+				}
+				if (obj.addr == '') {
+					this.$api.msg('请填写您的详细地址!');
+					return;
+				}
+				if (obj.phone == '') {
+					this.$api.msg('请填写您的联系电话!');
+					return;
+				}
+				if (obj.work == '') {
+					this.$api.msg('请填写您的工作单位!');
+					return;
+				}
+				if (obj.checked1 == '') {
+					this.$api.msg('请填写您的单位性质!');
+					return;
+				}
+
+				let data = {
+					// category_id: , 
+					// full_name: ,
+					// contact: ,
+					// id_card: ,
+					// title: ,
+					// info: ,
+					// userimage: ,
+					// userimages: ,
+					// sex: , 
+					// politics: , 
+					// birthday: ,
+					// address: ,
+					// company: ,
+					// unit_nature: ,
+					// monthly_income: ,
+					// annual_household_income: ,
+					// annual_household_income_average: ,
+					// identity: ,
+					// marriage: , 
+					// medical_insurance: , 
+					// object_features: , 
+					// reason: , 
+					// family: ,
+				}
+			},
+			navTo(url) {
+				uni.navigateTo({
+					url
+				});
+			}
+		}
+	};
+</script>
+
+<style lang="scss">
+	page {
+		background: $page-color-base;
+		min-height: 100%;
+	}
+
+	.cantent {
+		padding-bottom: 110rpx;
+	}
+
+	.tip {
+		color: #DE2412;
+		background-color: #FEE2E3;
+		font-size: 24rpx;
+		padding: 25rpx 35rpx;
+	}
+
+	.til-list {
+		padding: 35rpx 50rpx;
+		font-size: 28rpx;
+		color: #666666;
+
+		.red {
+			color: #E62129 !important;
+		}
+	}
+
+	.name {
+		padding: 0rpx 35rpx;
+		padding-bottom: 15rpx !important;
+		font-size: 36rpx;
+		font-weight: 500;
+	}
+
+	.content_box {
+		background-color: #ffffff;
+		padding: 0rpx 25rpx;
+
+		.list-name {
+			padding-top: 25rpx;
+			font-size: 35rpx;
+			padding-left: 15rpx;
+			padding-bottom: 10rpx;
+		}
+
+		.examine_list {
+			width: 100%;
+
+			.textarea-box {
+				width: 100%;
+				padding-bottom: 25rpx;
+				padding-left: 25rpx;
+
+				.textarea {
+					width: 100%;
+					font-size: 28rpx;
+					min-height: 150rpx;
+				}
+
+				input {
+					font-size: 28rpx;
+				}
+			}
+		}
+	}
+
+	.radio-list {
+		display: flex;
+		flex-wrap: wrap;
+		font-size: 28rpx;
+		padding-top: 30rpx;
+
+		.uni-label-pointer {
+			padding-right: 25rpx;
+			padding-bottom: 30rpx;
+		}
+	}
+
+	.mar-b {
+		margin-bottom: 120rpx;
+	}
+
+	.row {
+		display: flex;
+		align-items: center;
+		// position: relative;
+		padding: 0 30rpx;
+		height: 110rpx;
+		background: #fff;
+		border-bottom: 1rpx solid #f8f6f6;
+
+		.tit {
+			flex-shrink: 0;
+			width: 180rpx;
+			font-size: 30rpx;
+			color: $font-color-dark;
+		}
+
+		.value {
+			width: 100%;
+			text-align: right;
+		}
+
+		.input {
+			flex: 1;
+			font-size: 30rpx;
+			color: $font-color-dark;
+			text-align: right;
+		}
+
+		.iconlocation {
+			font-size: 36rpx;
+			color: $font-color-light;
+		}
+	}
+
+	.examine_name {
+		color: #171717;
+		font-size: 28rpx;
+		padding: 25rpx 25rpx;
+	}
+
+	.examine_img {
+		width: 100%;
+		text-align: center;
+
+		.image {
+			width: 150rpx;
+			height: 150rpx;
+		}
+
+		.image1 {
+			min-width: 150rpx;
+			max-width: 100%;
+			min-height: 150rpx;
+		}
+	}
+
+	.add-img-box {
+		width: 100%;
+		flex-direction: row;
+		flex-wrap: wrap;
+		margin-top: 50rpx;
+	}
+
+	.add-img-item {
+		margin-bottom: 25rpx;
+		width: 100%;
+
+		.add-img {
+			min-width: 150rpx;
+			max-width: 100%;
+			height: 400rpx;
+		}
+	}
+
+	.add-img-del {
+		position: absolute;
+		width: 40rpx;
+		height: 40rpx;
+		right: 60rpx;
+		// bottom: 155rpx;
+		//background-color: rgba(238, 0, 0, 1);
+		border-radius: 20rpx;
+	}
+
+	.default-row {
+		margin-top: 16rpx;
+
+		.tit {
+			flex: 1;
+		}
+
+		switch {
+			transform: translateX(16rpx) scale(0.9);
+		}
+	}
+
+	.add-btn {
+		position: fixed;
+		bottom: 0rpx;
+		left: 0rpx;
+		width: 100%;
+		height: 100rpx;
+		font-size: 28rpx;
+		color: #FFFFFF;
+		background-color: #FF727E;
+		line-height: 100rpx;
+		text-align: center;
+	}
+
+	.img_box {
+		padding: 35rpx 35rpx;
+		width: 250rpx;
+		height: 250rpx;
+	}
+
+	.img_box image {
+		width: 100%;
+		height: 100%;
+	}
+
+	.alert-box {
+		background-color: #ffffff;
+	}
+
+	.b-b:after {
+		position: relative !important;
+	}
+
+	.check_box {
+		padding: 25rpx 25rpx;
+		font-size: 20rpx;
+		padding-bottom: 150rpx;
+
+		text {
+			color: #6786FB;
+		}
+	}
+
+	.tit-tip {
+		color: #ff727e;
+		font-size: 36rpx;
+		padding: 10rpx 0 10rpx 20rpx;
+	}
+
+	.checkbox {
+		display: inline-block;
+		font-size: 24rpx;
+		font-family: PingFang SC;
+		font-weight: 500;
+		color: #191919;
+		padding-right: 30rpx;
+		padding-bottom: 10rpx;
+	}
+
+	.item-list {
+		padding: 25rpx 45rpx;
+		color: rgba(34, 34, 34, 1);
+		font-weight: 400;
+		font-size: 35rpx;
+		display: flex;
+		justify-content: space-between;
+		background-color: #fff;
+
+		.list-name {}
+
+		.add-tip {
+			color: #E62129 !important;
+		}
+	}
+
+	.add-img-item {
+		margin-bottom: 25rpx;
+		width: 33.33%;
+		position: relative;
+
+		.add-img {
+			padding: 0rpx 10rpx;
+			width: 100%;
+			height: 214rpx;
+		}
+	}
 </style>

+ 0 - 1
pages/applyHelp/second.vue

@@ -1,6 +1,5 @@
      <template>
 	<view class="content">
-		<!-- <view class="tip">孝心缝帮扶:仅限服装行业从业者申请哦~</view> -->
 		<view class="flex til-list" v-if="status == ''">
 			<view class="" @click="navTo('/pages/applyHelp/index?id='+id)">基本信息</view>
 			<view class="red">信息选择</view>

+ 399 - 0
pages/fu/axjz.vue

@@ -0,0 +1,399 @@
+<template>
+	<view class="container">
+		<scroll-view class="scroll-list" scroll-x>
+			<view class="scoll-box" v-for="(ls,index) in cationList" :key="index" :class="{ active: ls.id === currentId }" @click="tabtap(ls.id)">
+				<view class="scoll-name">{{ ls.name }}</view>
+			</view>
+		</scroll-view>
+		<swiper v-if="tabCurrentIndex == 0" class="swiper-box" duration="300" @change="changeTab">
+			<swiper-item class="tab-content">
+				<scroll-view class="list-scroll-content" scroll-y @scrolltolower="loadData">
+					<!-- 空白页 -->
+					<empty v-if="list.length === 0"></empty>
+					<!-- 订单列表 -->
+					<view >
+						<view class="fu-box" v-for='(item, index) in list' :key="index" @click="toDetail(item)">
+							<view class="img-box">
+								<image class="fu-img" :src="item.image" mode="aspectFill"></image>
+								<text class="fu-cname">{{ item.cname }}</text>
+							</view>
+							<view class="fu-right">
+								<view>
+									<view class="fu-tit">{{ item.title }}</view>
+									<view class="fu-text">{{ item.info }}</view>
+								</view>
+								<view class="fu-bottom" v-if="item.is_show == 1">
+									<view class="fu-shenqing">已有{{ item.sales }}人申请</view>
+									<text class="fu-jifen">+{{ item.integral }}积分</text>
+								</view>
+								<view class="fu-bottom" v-if="item.is_show == 0">
+									<text class="fu-shenqing">资金:{{ item.money }}</text>
+									<view class="fu-shenqing">帮扶人:{{ item.name }}</view>
+								</view>
+							</view>
+						</view>
+					</view>
+					<uni-load-more :status="loadingType"></uni-load-more>
+				</scroll-view>
+			</swiper-item>
+		</swiper>
+		
+		<u-popup v-model="show" mode="right">
+			<view class="popup-box">
+				<view class="pop-bfu">
+					<view class="bfu-btn" :class="{'checkBtn': type == 2 }" @click="shaixuan(2)">
+						未帮扶
+						<image class="btn-img" v-if="type == 2" src="../../static/images/icon_pick.png"></image>
+					</view>
+					<view class="bfu-btn" :class="{'checkBtn': type == 1 }" @click="shaixuan(1)">
+						帮扶中
+						<image class="btn-img" v-if="type == 1" src="../../static/images/icon_pick.png"></image>
+					</view>
+					<view class="bfu-btn" :class="{'checkBtn': type == 3 }" @click="shaixuan(3)">
+						公示中
+						<image class="btn-img" v-if="type == 3" src="../../static/images/icon_pick.png"></image>
+					</view>
+				</view>
+				<view class="pop-bfu">
+					
+					<view class="bfu-btn" :class="{'checkBtn': type == 4 }" @click="shaixuan(4)">
+						已完结
+						<image class="btn-img" v-if="type == 4" src="../../static/images/icon_pick.png"></image>
+					</view>
+				</view>
+				<view class="qr-btn">
+					<text class="btn-qr" @click="comfim">确认</text>
+				</view>
+			</view>
+		</u-popup>
+		
+	</view>
+</template>
+
+<script>
+	import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
+	import empty from '@/components/empty';
+	
+	import { getHelpList, getHelpIfy } from '@/api/help.js'
+	import { one_help,  } from '@/api/index.js';
+	import { getUserInfo } from '@/api/login.js';
+	import { getList } from '@/api/applyHelp.js';
+	export default {
+		components: {
+			uniLoadMore,
+			empty,
+		},
+		data() {
+			return {
+				tabCurrentIndex:0,
+				page: 1, //当前页数
+				limit: 10,//每次信息条数
+				loadingType: 'more',
+				list: [],
+				userInfo:'',
+				keyword:'',
+				money:'',//捐款金额
+				integral:'',//捐款积分
+				cationList: [],	// 分类列表
+				currentId:0,
+				show: false,	// 弹窗开关
+				type: 2,	// 筛选条件 1-帮扶中  2-未帮扶  3-公示中  4-已完成
+			};
+		},
+		onLoad() {
+			this.getHelpIfy();
+		},
+		onShow() {
+			this.page = 1;
+			this.loadingType = 'more';
+			this.list = [];
+			// this.loadData();
+		},
+		// 搜索按钮点击
+		onNavigationBarButtonTap() {
+			this.show = true;
+		},
+		watch:{
+			// keyword(n, o){
+			// 	this.keyword = n;
+			// 	this.loadData();
+			// },
+		},
+		methods: {
+			// 获取帮扶分类
+			getHelpIfy() {
+				getHelpIfy().then( ({data}) => {
+					this.cationList = data
+				})
+			},
+			// GetCation(){
+			// 	let obj = this;
+			// 	getList({})
+			// 		.then(({ data }) => {
+			// 			let res =[{
+			// 				cate_name:'全部',
+			// 				id:0
+			// 			}]
+			// 			res.unshift(0,0); 
+			// 			Array.prototype.splice.apply(data,res); 
+			// 			obj.cationList =  data;
+			// 		})
+			// 		.catch(err => {
+			// 			console.log(err);
+			// 		});
+			// },
+			//获取订单列表
+			loadData() {
+				let obj = this;
+				if (obj.loadingType === 'noMore') {
+					//防止重复加载
+					return;
+				}
+				// 修改当前对象状态为加载中
+				obj.loadingType = 'loading';
+				getHelpList({
+					page:obj.page,
+					limit:obj.limit,
+					cid:obj.currentId,
+					type: obj.type
+				})
+					.then(data => {
+						obj.list = obj.list.concat(data.data);
+						obj.page++;
+						if (obj.limit == data.data.length) {
+							//判断是否还有数据, 有改为 more, 没有改为noMore
+							obj.loadingType = 'more';
+							return;
+						} else {
+							//判断是否还有数据, 有改为 more, 没有改为noMore
+							obj.loadingType = 'noMore';
+						}
+					})
+			},
+			//一级分类点击
+			tabtap(item) {
+				let obj = this;
+				obj.currentId = item;
+				obj.page = 1;
+				obj.loadingType = 'more';
+				obj.list = [];
+				obj.loadData()
+			},
+			toDetail(item) {
+				if ( item.is_show == 1 ) {
+					uni.navigateTo({
+						url: '/pages/fu/fuInfo?id=' + item.id
+					})
+				} else {
+					uni.navigateTo({
+						url: '/pages/fu/helpDetail?id=' + item.id
+					})
+				}
+				
+			},
+			// 筛选 1-帮扶中   2-未帮扶
+			shaixuan(i) {
+					this.type = i;
+			},
+			comfim() {
+				this.show = false;
+				this.page = 1;
+				this.loadingType = 'more';
+				this.list = [];
+				this.loadData()
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	page {
+		height: 100%;
+		.container{
+			height: 100%;
+		}
+	}
+	.swiper-box {
+		height: calc(100% - 40px);
+		padding: 20rpx 30rpx 0 30rpx;
+		.list-scroll-content {
+			height: 100%;
+		   // padding-bottom: 25rpx;
+		}
+	}
+	.scroll-list {
+		width: 100%;
+		overflow: hidden;
+		white-space: nowrap;
+		background-color: #FFFFFF;
+		font-size: 32rpx;
+		height: 40px;
+		.scoll-box {
+			text-align: center;
+			display: inline-block;
+			margin: 0rpx 38rpx;
+			// padding: 15rpx 0rpx;
+			.scoll-img {
+				width: 130rpx;
+				height: 85rpx;
+				border-radius: 100%;
+				image {
+					width: 85rpx;
+					height: 100%;
+					border-radius: 100%;
+				}
+			}
+			.scoll-name {
+				padding-top: 15rpx;
+			}
+			&.active {
+				color: $motif-color;
+				border-bottom:6rpx solid $motif-color;
+			}
+		}
+	}
+	.fu-box {
+		padding: 14rpx 20rpx 28rpx 20rpx;
+		background: #FFFFFF;
+		box-shadow: 0px 0px 40rpx 0px rgba(0, 0, 0, 0.06);
+		border-radius: 12rpx;
+		display: flex;
+		align-items: center;
+		margin-bottom: 20rpx;
+		&:last-of-type {
+			margin-bottom: 0;
+		}
+		.img-box {
+			position: relative;
+		}
+		.fu-img {
+			width: 220rpx;
+			height: 182rpx;
+			border-radius: 8rpx;
+		}
+		.fu-cname {
+			position: absolute;
+			top: 0;
+			left: 0;
+			background: #FF727E;
+			color: #FFFFFF;
+			padding: 0 10rpx;
+			border-radius: 8rpx 0 8rpx 0;
+			font-size: 24rpx;
+		}
+		.fu-right {
+			margin-left: 20rpx;
+			width: 62%;
+			.fu-tit {
+				overflow: hidden;
+				text-overflow: ellipsis;
+				white-space: nowrap;
+				font-size: 36rpx;
+				font-family: PingFang SC;
+				font-weight: 500;
+				color: #222222;
+			}
+			.fu-text {
+				margin-top: 17rpx;
+				overflow : hidden;
+				text-overflow: ellipsis;
+				display: -webkit-box;
+				-webkit-line-clamp: 2;
+				-webkit-box-orient: vertical;
+				font-size: $font-sm;
+				font-family: PingFang SC;
+				font-weight: 500;
+				color: #666666;
+			}
+			.fu-bottom {
+				margin-top: 20rpx;
+				display: flex;
+				align-items: center;
+				justify-content: space-between;
+				.fu-shenqing {
+					font-size: 21rpx;
+					font-family: PingFang;
+					font-weight: 500;
+					color: #FF727E;
+				}
+				.fu-jifen {
+					padding: 0 5rpx;
+					border: 1px solid #FF0000;
+					border-radius: 5rpx;
+					font-size: 21rpx;
+					font-family: PingFang SC;
+					font-weight: 500;
+					color: #FF0000;
+				}
+				.fu-yjs {
+					font-size: 21rpx;
+					font-family: PingFang;
+					font-weight: 500;
+					color: #999999;
+				}
+				.fu-sczl {
+					padding: 5rpx 17rpx;
+					font-size: 21rpx;
+					font-family: PingFang SC;
+					font-weight: 500;
+					color: #FFFFFF;
+					background: #FF727E;
+					border-radius: 23rpx;
+				}
+			}
+		}
+	}
+	.popup-box {
+		padding: 100rpx 0 100rpx 20rpx ;
+		
+		.pop-bfu {
+			display: flex;
+			margin-bottom: 30rpx;
+			.bfu-btn {
+				width: 140rpx;
+				height: 66rpx;
+				background: #EDEDED;
+				border: 1px solid #EDEDED;
+				font-size: $font-base;
+				// padding: 10rpx 30rpx;
+				margin-right: 20rpx;
+				color: #FF727E;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+				position: relative;
+				.btn-img {
+					position: absolute;
+					bottom: 0;
+					right: 0;
+					width: 24rpx;
+					height: 24rpx;
+				}
+			}
+			.checkBtn {
+				border: 1px solid #FF727E;
+				background: #FF727E;
+				color: #FFFFFF;
+			}
+		}
+		.qr-btn {
+			margin-right: 20rpx;
+			margin-top: 100rpx;
+			display: flex;
+			align-items: center;
+			justify-content: flex-end;
+			.btn-qr {
+				color: #FFFFFF;
+				background: $motif-color;
+				font-size: $font-lg;
+				font-weight: 500;
+				width: 200rpx;
+				height: 66rpx;
+				border-radius: 33rpx;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+			}
+		}
+	}
+</style>

+ 455 - 0
pages/fu/fuInfo.vue

@@ -0,0 +1,455 @@
+<template>
+	<view class="container">
+		<view class="swiper">
+			<view class="swiper-box">
+				<swiper circular="true" autoplay="true" @change="swiperChange">
+					<swiper-item v-for="swiper in banner" :key="swiper.id"><image :src="swiper"></image></swiper-item>
+				</swiper>
+				<view class="indicator"><view class="dots" v-for="(swiper, index) in banner" :class="[swiperCurrent >= index ? 'on' : '']" :key="index"></view></view>
+			</view>
+		</view>
+		
+		<view class="info-item">
+			<view class="flex_item">
+				<view class="list-tip">{{list.cname}}</view>
+				<view class="info-title clamp">{{list.title}}</view>
+			</view>
+			<view class="info-tip">{{list.info}}</view>
+			<view class="info-number">
+				<!-- <view v-if="starting == true">
+					<view class="flex_item">
+						<view class="name-text">还剩</view>
+						<uni-countdown
+							color="#E62129"
+							background-color="#ffffff"
+							:show-day="true"
+							:day='startday'
+							:hour="starthour"
+							:minute="startminute"
+							:second="startsecond"
+						></uni-countdown>
+					</view>
+				</view>
+				<view class="starting" v-if="starting == false">活动已结束</view> -->
+				<view>资金:{{list.money }}</view>
+				<view v-if="starting == true">已有{{list.sales}}人申请</view>
+				<view v-if="starting == false">已结束</view>
+			</view>
+		</view>
+		<view class="introduce-item">
+			<view class="introduce-title ellipsis">项目介绍</view>
+			<view class="introduce-info">
+				<rich-text :nodes="list.description"></rich-text>
+			</view>
+		</view>
+		<!-- <view class="introduce-item">
+			<view class="introduce-title ellipsis">捐款通道</view>
+			<view class="introduce-info">银行账户:{{list.bank_account}}</view>
+		</view> -->
+		<view class="btn-bottom">
+			<view class="btn-left">
+				<view class="submit" v-if="starting == true && list.is == 0" @click="shenqing"><text class="">申请援助</text></view>
+				<view class="submit yijieshu"  v-if="starting == true && list.is == 1"><text class="">已申请援助</text></view>
+				<view class="submit yijieshu"  v-if="starting == false" ><text class="">已结束</text></view>
+			</view>
+			<view class="btn-right">
+				<view class="" @click="loveDona">
+					爱心捐款
+				</view>
+			</view>
+		</view>
+	
+		
+		<uni-popup ref="popup" type="center">
+			<view class="pop-box">
+				<image class="pop-img" src="../../static/images/sqyz.png"></image>
+				<view class="pop-frame">
+					<view class="pop-text">是否确认申请援助</view>
+					<view class="pop-btnBox">
+						<view class="pop-btn" @click="close">取消</view>
+						<view class="pop-btn queren" @click="corfim()">确认</view>
+					</view>
+				</view>
+			</view>
+		</uni-popup>
+	</view>
+</template>
+
+<script>
+	import uniPopup from '@/components/uni-popup/uni-popup.vue';
+	import { one_detail, enroll } from '@/api/applyHelp.js';
+	import { timeComputed } from '@/utils/rocessor.js';
+	import uniCountdown from '@/components/uni-countdown/uni-countdown.vue';
+	import {
+			weixindata
+		} from '@/utils/wxAuthorized.js';
+	export default {
+		components: {
+			uniPopup,
+			uniCountdown
+		},
+		data() {
+			return {
+				id:'',
+				money:99,
+				list: '',
+				description:'',
+				swiperCurrent: 0, //轮播图
+				swiperHeight: 300,
+				banner:[],//轮播图
+				img:'',
+				startday:0,
+				starthour:0,//距离今天开始时间
+				startminute:0,
+				startsecond:0,
+				title:'',
+				endTime:'',//结束时间
+				starting: false, //判断活动是否结束
+			};
+		},
+		onLoad(option) {
+			console.log(333,option)
+			this.id = option.id;
+			this.loadData();
+			this.IndexShare();
+		},
+		
+		methods: {
+			loadData(){
+				let obj = this;
+				let id = obj.id;
+				console.log(9090,id)
+				one_detail({
+					id: obj.id
+				}).then(data => {
+					console.log(9785,data.data)
+						obj.list = data.data;
+						obj.banner =  data.data.slider_image;
+						console.log('轮播图', obj.banner)
+						if (obj.list.description) {
+							obj.description = obj.list.description.replace(/\<img/gi, '<img class="rich-img"');
+							obj.description.repeat(/[&]quot;/g,'')
+							console.log(obj.description,'123456')
+						} //小程序商品详情图超出屏幕问题
+						let time = data.data.endActivityTime;
+						this.endTime = time*1000;
+						obj.StartDate();
+					})
+			},
+			IndexShare() {
+				let obj = this;
+				let id = obj.id
+				one_detail({
+					id: obj.id
+				}).then(data => {
+					console.log(9785,data.data)
+						let img = data.data.slider_image[0]
+						let title = data.data.title
+						let info = data.data.info
+						let item = {
+							link:  'http://dxhred.igxys.com/index/#/pages/fu/fuInfo?id=' +id,// 分享链接
+							imgUrl: img,
+							desc: info,
+							title: title,
+							success: console.log('分享加载成功')
+						};
+						console.log('分享',item)
+						weixindata(item);
+					})
+				
+			},
+			StartDate() {
+				let obj = this;
+				// 获取当前时间
+				let now = new Date();
+				let year = now.getFullYear(); //得到年份
+				let month = now.getMonth(); //得到月份
+				let date = now.getDate(); //得到日期
+				let hour = now.getHours(); //得到小时
+				let minu = now.getMinutes(); //得到分钟
+				let sec = now.getSeconds(); //得到秒
+				//获取现在时间的时间戳
+				let time = new Date(year, month, date, hour, minu, sec);
+				let nowTime = time.getTime();
+				if (nowTime < obj.endTime) {
+					console.log(nowTime,obj.endTime)
+					console.log('现在时间小于活动时间,活动进行中');
+					obj.starting = true;
+					console.log(obj.starting, '显示');
+					let starTime = obj.endTime - nowTime;
+					console.log(starTime,'starTime')
+					let day =  Math.floor(starTime / 1000 / 60 / 60 / 24); //获取剩余天数
+					let hours = Math.floor((starTime / 1000 / 60 / 60) % 24); //获取剩余小时数
+					let minutes = Math.floor((starTime / 1000 / 60) % 60); //获取分钟
+					let seconds = Math.floor((starTime / 1000) % 60); //获取秒数
+					obj.startday = day;
+					obj.starthour = hours;
+					obj.startminute = minutes;
+					obj.startsecond = seconds;
+					console.log('时间差是: '+ obj.startday + '天, ' + obj.starthour + '小时, ' + obj.startminute + '分钟, ' + obj.startsecond + '秒', '距离活动结束还剩多少时间');
+				}else{
+					obj.starting = false;
+				}
+			},
+			//轮播图
+			swiperChange(e) {
+				const index = e.detail.current;
+				this.swiperCurrent = index;
+			},
+			// 申请援助
+			shenqing() {
+				this.$refs.popup.open()
+			},
+			// 爱心捐款
+			loveDona(){
+				console.log('爱心捐款',this.id)
+				uni.navigateTo({
+					url: '/pages/applic/loveDonate?id=' + this.id
+				});
+				// pages/applic/loveDonate
+			},
+			// 关闭弹窗
+			close() {
+				this.$refs.popup.close()
+			},
+			// 确认
+			corfim() {
+				enroll({
+					hid: this.id,
+				}).then(res => {
+					this.close();
+					this.$api.msg('申请成功');
+					this.loadData();
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	page {
+		background: #F5F5F5;
+		.container{
+			height: 100%;
+			padding-bottom: 180rpx;
+		}
+	}
+	.rich-img {
+		width: 100% !important;
+		height: auto;
+	}
+	//轮播图
+	.swiper {
+		width: 100%;
+		display: flex;
+		justify-content: center;
+		.swiper-box {
+			width: 100%;
+			height:650rpx;
+			overflow: hidden;
+			// box-shadow: 0upx 8upx 25upx rgba(0, 0, 0, 0.2);
+			//兼容ios,微信小程序
+			position: relative;
+			z-index: 1;
+			swiper {
+				width: 100%;
+				height: 100%;
+				swiper-item {
+					image {
+						width: 100%;
+						height: 100%;
+					}
+				}
+			}
+			.indicator {
+				position: absolute;
+				bottom: 20upx;
+				left: 20upx;
+				background-color: rgba(255, 255, 255, 0.4);
+				width: 150upx;
+				height: 5upx;
+				border-radius: 3upx;
+				overflow: hidden;
+				display: flex;
+				.dots {
+					width: 0upx;
+					background-color: rgba(255, 255, 255, 1);
+					transition: all 0.3s ease-out;
+					&.on {
+						width: (100%/3);
+					}
+				}
+			}
+		}
+	}
+	.info-item{
+		background-color: #FFFFFF;
+		padding: 45rpx 25rpx;
+		.list-tip{
+			background-color: $motif-color;
+			color: #FFFFFF;
+			border-radius:8rpx;
+			padding: 5rpx 12rpx;
+			padding-bottom: 8rpx !important;
+			margin-right: 15rpx;
+			text-align: center;
+			font-size: 24rpx;
+		}
+		.info-title{
+			max-width: 75%;
+			font-size:36rpx;
+			font-weight:500;
+			color:rgba(34,34,34,1);
+		}
+		.info-tip{
+			font-weight:400;
+			color:rgba(102,102,102,1);
+			font-size: 28rpx;
+			padding: 15rpx 0rpx;
+		}
+		.info-number{
+			padding-top: 25rpx;
+			color: #EF3D28;
+			font-size: 24rpx;
+			// text-align: right;
+			display: flex;
+			align-items: center;
+			justify-content: space-between;
+			.name-text{
+				color: #666666;
+			}
+			.starting{
+				font-size: 32rpx;
+				font-weight: bold;
+			}
+		}
+	}
+	.introduce-item{
+		background-color: #FFFFFF;
+		padding: 45rpx 25rpx;
+		margin-top: 25rpx;
+		.introduce-title{
+			padding-bottom: 40rpx;
+			font-size: 36rpx;
+			font-family: PingFang;
+			font-weight: 500;
+			color: #222222;
+		}
+		.introduce-info{
+			font-size: 28rpx;
+			font-weight: 500;
+			color: #222222;
+		}
+	}
+	.static{
+		padding: 0rpx !important;
+		width: 70%;
+		padding-left:25rpx !important;
+	}
+	.btn-bottom{
+		position:fixed;
+		bottom: 0rpx;
+		padding: 24rpx 32rpx;
+		// height: 88rpx;
+		width: 100%;
+		color: #FFFFFF;
+		background-color: #FFFFFF;
+		display: flex;
+		justify-content: space-between;
+	}
+	.btn-left{
+		padding: 12rpx 0;
+		width: 45%;
+		// padding: 25rpx 180rpx;
+		// background:rgba(223,312,18,1);
+		background: $motif-color;
+		border-radius:50rpx;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+	}
+	.btn-right{
+		padding: 6rpx 0;
+		width: 45%;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		// padding: 25rpx 180rpx;
+		// background:rgba(223,36,18,1);
+		background: $motif-color;
+		border-radius:50rpx;
+	}
+	// .submit{
+		// width: 45%;
+		// text-align: center;
+		// padding: 50rpx 0rpx;
+		// font-size: $font-lg;
+		// text{
+		// 	padding: 25rpx 180rpx;
+		// 	// background:rgba(223,36,18,1);
+		// 	background: $motif-color;
+		// 	border-radius:50rpx;
+		// }
+	// }
+	.yijieshu {
+		// padding: 12rpx 0;
+		// width: 45%;
+		// background-color: #999999;
+		text{
+			color: #C3C3C3;
+		}
+	}
+	.red{
+		text{
+			padding: 25rpx 180rpx;
+			background:rgba(223,36,18,0.6);
+			border-radius:50rpx;
+		}
+	}
+	.pop-box {
+		.pop-img {
+			width: 542rpx;
+			height: 280rpx;
+			display: block;
+		}
+		.pop-frame {
+			margin: 0 16rpx;
+			padding: 35rpx 40rpx;
+			background: #FFFFFF;
+			box-shadow: 0px 5rpx 20rpx 0px rgba(0, 0, 0, 0.1);
+			border-radius: 0 0 10rpx 10rpx;
+			.pop-text {
+				margin-top: 30rpx;
+				font-size: 36rpx;
+				font-family: PingFang SC;
+				font-weight: 500;
+				color: #333C4C;
+				line-height: 40rpx;
+				text-align: center;
+			}
+			.pop-btnBox {
+				margin-top: 78rpx;
+				display: flex;
+				align-items: center;
+				justify-content: space-between;
+				.pop-btn {
+					width: 199rpx;
+					height: 78rpx;
+					border: 1px solid #FF727E;
+					border-radius: 10rpx;
+					font-size: 32rpx;
+					font-family: PingFang SC;
+					font-weight: 500;
+					color: #FF727E;
+					display: flex;
+					align-items: center;
+					justify-content: center;
+				}
+				.queren {
+					background: #FF727E;
+					color: #FFFFFF;
+				}
+			}
+		}
+	}
+</style>

+ 308 - 0
pages/fu/getPoints.vue

@@ -0,0 +1,308 @@
+<template>
+	<view class="content">
+		<view class="now-vip">
+			<view class="top-vip">
+				<view>当前等级</view>
+				<view>爱心积分</view>
+			</view>
+			<view class="top-num">
+				<view :class="{'num-dj': userInfo.level == 0}">
+					<image class="icon-vip" v-for="i in userInfo.level" src="../../static/images/vip.png"></image>
+				</view>
+				<view v-if="userInfo.level !== 4 ">{{ userInfo.all_integral }}/{{ userInfo.next_integral }}</view>
+				<view v-if="userInfo.level == 4">{{ userInfo.all_integral }}/{{ userInfo.all_integral }}</view>
+			</view>
+			<view class="line-progress">
+				<u-line-progress active-color="#E62129" :percent="percent" :show-percent="false" :height="14"></u-line-progress>
+			</view>
+			<view class="vip-icon">
+				<view>
+					<image v-for="i in userInfo.level" class="icon-vip" src="../../static/images/vip.png"></image>
+				</view>
+				<view v-if="userInfo.level !== 4">
+					<image v-for="i in userInfo.level + 1" class="icon-vip" src="../../static/images/vip.png"></image>
+				</view>
+				<view v-if="userInfo.level == 4">
+					<image v-for="i in userInfo.level" class="icon-vip" src="../../static/images/vip.png"></image>
+				</view>
+			</view>
+		</view>
+		<!-- 成长体系 -->
+		<view class="cztx-box">
+			<view class="cztx-tit">成长体系</view>
+			<view class="cztx-vip-box">
+				<view class="experience-box">
+					<view class="exper1">
+						<view class="line-exper1" :class="{'line-sel': userInfo.level > 0 }"></view>
+						<image class="exper1-img" src="../../static/images/v1.png"></image>
+					</view>
+					<view class="exper2">
+						<view class="exper-text">孝心新贵</view>
+						<view class="line-exper2" :class="{'line-sel': userInfo.level > 1 }"></view>
+						<image class="exper2-img" src="../../static/images/v2.png"></image>
+					</view>
+					<view class="exper3">
+						<view class="exper-text">乐善好施</view>
+						<view class="line-exper3" :class="{'line-sel': userInfo.level > 2 }"></view>
+						<image class="exper3-img" src="../../static/images/v3.png"></image>
+					</view>
+					<view class="exper4">
+						<view class="exper-text">爱心巨匠</view>
+						<view class="line-exper4" :class="{'line-sel': userInfo.level > 3 }"></view>
+						<image class="exper4-img" src="../../static/images/v4.png"></image>
+					</view>
+				</view>
+				<view class="cztx-experience">您可以通过更多公益行为来获得经验值</view>
+			</view>
+		</view>
+		<!-- 如何获得爱心积分 -->
+		<!-- <view class="love-box">
+			<view class="love-tit">如何获得爱心积分?</view>
+			<view class="love-text">下列操作可以帮助你获得爱心积分:</view>
+			<view class="love-frame">
+				<u-table>
+						<u-tr class="frame-tit">
+							<u-th class="frame-tit">操作</u-th>
+							<u-th class="frame-tit">获得积分</u-th>
+						</u-tr>
+						<u-tr class='frame-tr'>
+							<u-td class='frame-td'>首次登录</u-td>
+							<u-td class='frame-td'>100</u-td>
+						</u-tr>
+						<u-tr class='frame-tr'>
+							<u-td class='frame-td'>帮扶1次</u-td>
+							<u-td class='frame-td'>10</u-td>
+						</u-tr>
+						<u-tr class='frame-tr'>
+							<u-td class='frame-td'>分享1次</u-td>
+							<u-td class='frame-td'>5(每日上限15)</u-td>
+						</u-tr>
+						<u-tr class='frame-tr'>
+							<u-td class='frame-td'>在线满5分钟</u-td>
+							<u-td class='frame-td'>5(每日上限20)</u-td>
+						</u-tr>
+						<u-tr class='frame-tr'>
+							<u-td class='frame-td'>连续签到满1次</u-td>
+							<u-td class='frame-td'>1(每日递增,最高7)</u-td>
+						</u-tr>
+					</u-table>
+			</view>
+		</view> -->
+	</view>
+</template>
+
+<script>
+import { mapState } from 'vuex';
+export default {
+	data() {
+		return {
+			percent:'',
+		}
+	},
+	onLoad() {
+		this.loadData();
+	},
+	computed: {
+		...mapState('user', ['userInfo']),
+	},
+	methods: {
+		loadData() {
+			let obj = this;
+			if (obj.userInfo.level == 4) {
+				obj.percent = 100;
+			} else {
+				obj.percent = (obj.userInfo.all_integral / obj.userInfo.next_integral) * 100;
+			}
+			obj.percent = parseInt(obj.percent);
+			console.log(obj.percent,obj.userInfo);
+		}
+	}
+}
+</script>
+
+<style lang="scss">
+page {
+	height: 100%;
+	background: #FFFFFF;
+}
+.content {
+	padding: 80rpx 60rpx 80rpx;
+	.now-vip {
+		.top-vip {
+			display: flex;
+			align-items: center;
+			justify-content: space-around;
+			font-size: $font-base;
+			font-family: PingFang SC;
+			font-weight: 500;
+			color: #666666;
+			line-height: 1;
+		}
+		.top-num {
+			display: flex;
+			align-items: center;
+			justify-content: space-around;
+			font-size: 36rpx;
+			font-family: PingFang SC;
+			font-weight: 500;
+			color: #222222;
+			line-height: 1;
+			margin-top: 22rpx;
+			.num-dj {
+				visibility: hidden;
+			}
+			.icon-vip {
+				width: 37rpx;
+				height: 32rpx;
+				margin-left: 5rpx;
+			}
+		}
+		.line-progress {
+			padding: 30rpx 54rpx 24rpx;
+		}
+		.vip-icon {
+			display: flex;
+			align-items: center;
+			justify-content: space-between;
+			.icon-vip {
+				width: 37rpx;
+				height: 32rpx;
+				margin-left: 5rpx;
+			}
+		}
+	}
+	.cztx-box {
+		margin-top: 90rpx;
+		.cztx-tit {
+			font-size: 36rpx;
+			font-family: PingFang SC;
+			font-weight: 500;
+			color: #222222;
+		}
+		.cztx-vip-box {
+			.experience-box {
+				display: flex;
+				align-items: flex-end;
+				justify-content: space-around;
+				padding: 14rpx 40rpx 0 60rpx;
+				.exper-text {
+					font-size: $font-sm;
+					font-family: PingFang SC;
+					font-weight: 500;
+					color: #222222;
+					margin-bottom: 30rpx;
+				}
+				.exper1 {
+					display: flex;
+					flex-direction: column;
+					align-items: center;
+					.line-exper1 {
+						width: 14rpx;
+						height: 26rpx;
+						background: #EDEDED;
+						border-radius: 7rpx 7rpx 0px 0px;
+						margin-bottom: 24rpx;
+					}
+					.exper1-img {
+						width: 30rpx;
+						height: 26rpx;
+					}
+				}
+				.exper2 {
+					display: flex;
+					flex-direction: column;
+					align-items: center;
+					.line-exper2 {
+						width: 14rpx;
+						height: 104rpx;
+						background: #EDEDED;
+						border-radius: 7rpx 7rpx 0px 0px;
+						margin-bottom: 24rpx;
+					}
+					.exper2-img {
+						width: 50rpx;
+						height: 32rpx;
+					}
+				}
+				.exper3 {
+					display: flex;
+					flex-direction: column;
+					align-items: center;
+					.line-exper3 {
+						width: 14rpx;
+						height: 182rpx;
+						background: #EDEDED;
+						border-radius: 7rpx 7rpx 0px 0px;
+						margin-bottom: 24rpx;
+					}
+					.exper3-img {
+						width: 68rpx;
+						height: 32rpx;
+					}
+				}
+				.exper4 {
+					display: flex;
+					flex-direction: column;
+					align-items: center;
+					.line-exper4 {
+						width: 14rpx;
+						height: 260rpx;
+						background: #EDEDED;
+						border-radius: 7rpx 7rpx 0px 0px;
+						margin-bottom: 24rpx;
+					}
+					.exper4-img {
+						width: 87rpx;
+						height: 32rpx;
+					}
+				}
+				.line-sel {
+					background: #E62129 !important;
+				}
+			}
+			.cztx-experience {
+				margin-top: 50rpx;
+				text-align: center;
+				font-size: $font-sm;
+				font-family: PingFang SC;
+				font-weight: 500;
+				color: #222222;
+			}
+		}
+	}
+	.love-box {
+		margin-top: 96rpx;
+		line-height: 1;
+		.love-tit {
+			font-size: 36rpx;
+			font-family: PingFang SC;
+			font-weight: 500;
+			color: #222222;
+		}
+		.love-text {
+			font-size: $font-base;
+			font-family: PingFang SC;
+			font-weight: 500;
+			color: #222222;
+			margin: 21rpx 0 35rpx;
+		}
+		.love-frame {
+			width: 100%;
+			border-radius: 12rpx;
+			// border: 1px solid rgba(155,155,155,.3);
+			.frame-tit {
+				border-radius: 12rpx 12rpx 0 0;
+				height: 84rpx;
+			}
+			.frame-tr{
+				height: 84rpx;
+				.frame-td{
+					font-size: 28rpx;
+					font-weight: 500;
+					color: #222222;
+				}
+			}
+		}
+	}
+}
+</style>

+ 359 - 0
pages/fu/helpDetail.vue

@@ -0,0 +1,359 @@
+<template>
+	<view class="container">
+		<view class="swiper">
+			<view class="swiper-box">
+				<swiper circular="true" autoplay="true" @change="swiperChange">
+					<swiper-item v-for="swiper in banner" :key="swiper.id"><image :src="swiper"></image></swiper-item>
+				</swiper>
+				<view class="indicator"><view class="dots" v-for="(swiper, index) in banner" :class="[swiperCurrent >= index ? 'on' : '']" :key="index"></view></view>
+			</view>
+		</view>
+		
+		<view class="info-item">
+			<view class="flex_item">
+				<view class="list-tip">{{list.cname}}</view>
+				<view class="info-title clamp">{{list.title}}</view>
+			</view>
+			<view class="info-tip">{{list.info}}</view>
+			<view class="info-number">
+				<view>资金:{{ list.money }}</view>
+				<view>帮扶人:{{ list.arr.name }}</view>
+			</view>
+		</view>
+		<view class="introduce-item">
+			<view class="introduce-title ellipsis">项目介绍</view>
+			<view class="introduce-info">
+				<rich-text :nodes="list.description"></rich-text>
+			</view>
+		</view>
+		
+		<view class="introduce-item" v-if="list.arr.info1.remark">
+			<view class="introduce-title ellipsis">帮扶详情</view>
+			<view class="introduce-info">
+				<view>{{ list.arr.info1.remark }}</view>
+				<view class="img-box">
+					<image class="img-info" v-for="item in imgList" :src="item" mode="widthFix"></image>
+				</view>
+			</view>
+		</view>
+		
+		
+	</view>
+</template>
+
+<script>
+	import uniPopup from '@/components/uni-popup/uni-popup.vue';
+	import { one_detail, enroll } from '@/api/applyHelp.js';
+	import { timeComputed } from '@/utils/rocessor.js';
+	import uniCountdown from '@/components/uni-countdown/uni-countdown.vue';
+	export default {
+		components: {
+			uniPopup,
+			uniCountdown
+		},
+		data() {
+			return {
+				id:'',
+				list: '',
+				description:'',
+				swiperCurrent: 0, //轮播图
+				swiperHeight: 300,
+				banner:[],//轮播图
+				
+				startday:0,
+				starthour:0,//距离今天开始时间
+				startminute:0,
+				startsecond:0,
+				
+				endTime:'',//结束时间
+				starting: false, //判断活动是否结束
+				imgList: [],	// 图片
+			};
+		},
+		onLoad(option) {
+			this.id = option.id;
+			this.loadData();
+		},
+		methods: {
+			loadData(){
+				let obj = this;
+				one_detail({
+					id: obj.id
+				}).then(data => {
+						obj.list = data.data;
+						if (data.data.arr.info1.img) {
+							obj.imgList = data.data.arr.info1.img.split(';');	// 上传资料图片
+						}
+							
+						obj.banner =  data.data.slider_image;
+						if (obj.list.description) {
+							obj.description = obj.list.description.replace(/\<img/gi, '<img class="rich-img"');
+						} //小程序商品详情图超出屏幕问题
+						let time = data.data.endActivityTime;
+						this.endTime = time*1000;
+						obj.StartDate();
+					})
+			},
+			StartDate() {
+				let obj = this;
+				// 获取当前时间
+				let now = new Date();
+				let year = now.getFullYear(); //得到年份
+				let month = now.getMonth(); //得到月份
+				let date = now.getDate(); //得到日期
+				let hour = now.getHours(); //得到小时
+				let minu = now.getMinutes(); //得到分钟
+				let sec = now.getSeconds(); //得到秒
+				//获取现在时间的时间戳
+				let time = new Date(year, month, date, hour, minu, sec);
+				let nowTime = time.getTime();
+				if (nowTime < obj.endTime) {
+					console.log(nowTime,obj.endTime)
+					console.log('现在时间小于活动时间,活动进行中');
+					obj.starting = true;
+					let starTime = obj.endTime - nowTime;
+					console.log(starTime,'starTime')
+					let day =  Math.floor(starTime / 1000 / 60 / 60 / 24); //获取剩余天数
+					let hours = Math.floor((starTime / 1000 / 60 / 60) % 24); //获取剩余小时数
+					let minutes = Math.floor((starTime / 1000 / 60) % 60); //获取分钟
+					let seconds = Math.floor((starTime / 1000) % 60); //获取秒数
+					obj.startday = day;
+					obj.starthour = hours;
+					obj.startminute = minutes;
+					obj.startsecond = seconds;
+					console.log('时间差是: '+ obj.startday + '天, ' + obj.starthour + '小时, ' + obj.startminute + '分钟, ' + obj.startsecond + '秒', '距离活动结束还剩多少时间');
+				}else{
+					obj.starting = false;
+				}
+			},
+			//轮播图
+			swiperChange(e) {
+				const index = e.detail.current;
+				this.swiperCurrent = index;
+			},
+			// 申请援助
+			shenqing() {
+				this.$refs.popup.open()
+			},
+			// 关闭弹窗
+			close() {
+				this.$refs.popup.close()
+			},
+			// 确认
+			corfim() {
+				enroll({
+					hid: this.id,
+				}).then(res => {
+					this.close();
+					this.$api.msg('申请成功');
+					this.loadData();
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	page {
+		background: #F5F5F5;
+		.container{
+			height: 100%;
+			padding-bottom: 180rpx;
+		}
+	}
+	.rich-img {
+		width: 100% !important;
+		height: auto;
+	}
+	//轮播图
+	.swiper {
+		width: 100%;
+		display: flex;
+		justify-content: center;
+		.swiper-box {
+			width: 100%;
+			height:650rpx;
+			overflow: hidden;
+			// box-shadow: 0upx 8upx 25upx rgba(0, 0, 0, 0.2);
+			//兼容ios,微信小程序
+			position: relative;
+			z-index: 1;
+			swiper {
+				width: 100%;
+				height: 100%;
+				swiper-item {
+					image {
+						width: 100%;
+						height: 100%;
+					}
+				}
+			}
+			.indicator {
+				position: absolute;
+				bottom: 20upx;
+				left: 20upx;
+				background-color: rgba(255, 255, 255, 0.4);
+				width: 150upx;
+				height: 5upx;
+				border-radius: 3upx;
+				overflow: hidden;
+				display: flex;
+				.dots {
+					width: 0upx;
+					background-color: rgba(255, 255, 255, 1);
+					transition: all 0.3s ease-out;
+					&.on {
+						width: (100%/3);
+					}
+				}
+			}
+		}
+	}
+	.info-item{
+		background-color: #FFFFFF;
+		padding: 45rpx 25rpx;
+		.list-tip{
+			background-color: $motif-color;
+			color: #FFFFFF;
+			border-radius:8rpx;
+			padding: 5rpx 12rpx;
+			padding-bottom: 8rpx !important;
+			margin-right: 15rpx;
+			text-align: center;
+			font-size: 24rpx;
+		}
+		.info-title{
+			max-width: 75%;
+			font-size:36rpx;
+			font-weight:500;
+			color:rgba(34,34,34,1);
+		}
+		.info-tip{
+			font-weight:400;
+			color:rgba(102,102,102,1);
+			font-size: 28rpx;
+			padding: 15rpx 0rpx;
+		}
+		.info-number{
+			padding-top: 25rpx;
+			color: #EF3D28;
+			font-size: 24rpx;
+			font-weight: normal;
+			display: flex;
+			align-items: center;
+			justify-content: space-between;
+			.name-text{
+				color: #666666;
+			}
+			.starting{
+				font-size: 32rpx;
+				font-weight: bold;
+			}
+		}
+	}
+	.introduce-item{
+		background-color: #FFFFFF;
+		padding: 45rpx 25rpx;
+		margin-top: 25rpx;
+		.introduce-title{
+			padding-bottom: 40rpx;
+			font-size: 36rpx;
+			font-family: PingFang;
+			font-weight: 500;
+			color: #222222;
+
+		}
+		.introduce-info{
+			font-size: 28rpx;
+			font-weight: 500;
+			color: #222222;
+		}
+		.img-box {
+			width: 100%;
+		}
+		.img-info {
+			width: 100%;
+			display: block;
+			margin-top: 30rpx;
+		}
+	}
+	.static{
+		padding: 0rpx !important;
+		width: 70%;
+		padding-left:25rpx !important;
+	}
+	.submit{
+		position:fixed;
+		bottom: 0rpx;
+		width: 100%;
+		color: #FFFFFF;
+		text-align: center;
+		background-color: #FFFFFF;
+		padding: 50rpx 0rpx;
+		font-size: $font-lg;
+		text{
+			padding: 25rpx 180rpx;
+			// background:rgba(223,36,18,1);
+			background: $motif-color;
+			border-radius:50rpx;
+		}
+	}
+	.yijieshu {
+		text{
+			background: #999999;
+		}
+	}
+	.red{
+		text{
+			padding: 25rpx 180rpx;
+			background:rgba(223,36,18,0.6);
+			border-radius:50rpx;
+		}
+	}
+	.pop-box {
+		.pop-img {
+			width: 542rpx;
+			height: 280rpx;
+			display: block;
+		}
+		.pop-frame {
+			margin: 0 16rpx;
+			padding: 35rpx 40rpx;
+			background: #FFFFFF;
+			box-shadow: 0px 5rpx 20rpx 0px rgba(0, 0, 0, 0.1);
+			border-radius: 0 0 10rpx 10rpx;
+			.pop-text {
+				margin-top: 30rpx;
+				font-size: 36rpx;
+				font-family: PingFang SC;
+				font-weight: 500;
+				color: #333C4C;
+				line-height: 40rpx;
+				text-align: center;
+			}
+			.pop-btnBox {
+				margin-top: 78rpx;
+				display: flex;
+				align-items: center;
+				justify-content: space-between;
+				.pop-btn {
+					width: 199rpx;
+					height: 78rpx;
+					border: 1px solid #FF727E;
+					border-radius: 10rpx;
+					font-size: 32rpx;
+					font-family: PingFang SC;
+					font-weight: 500;
+					color: #FF727E;
+					display: flex;
+					align-items: center;
+					justify-content: center;
+				}
+				.queren {
+					background: #FF727E;
+					color: #FFFFFF;
+				}
+			}
+		}
+	}
+</style>

+ 186 - 0
pages/fu/helpInfo.vue

@@ -0,0 +1,186 @@
+<template>
+	<view class="container">
+		<!-- <view class="top">
+			普及培训
+		</view> -->
+		<swiper class="swiper-box" duration="300" @change="changeTab">
+			<swiper-item class="tab-content">
+				<scroll-view class="list-scroll-content" scroll-y @scrolltolower="loadData">
+					<!-- 空白页 -->
+					<empty v-if="loadingType === true && list.length === 0"></empty>
+					<!-- 订单列表 -->
+					<view class="order-item" @click="ToDetail(item)" v-for="(item, index) in list" :key="index">
+						<view class="list-cell">
+							<image class="image" :src="item.img"></image>
+							<view class="list-tpl">{{ item.title }}</view>
+						</view>
+					</view>
+				</scroll-view>
+			</swiper-item>
+		</swiper>
+	</view>
+</template>
+<script>
+import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
+import empty from '@/components/empty';
+import uniPopup from '@/components/uni-popup/uni-popup.vue';
+import { training } from '@/api/index.js';
+export default {
+	components: {
+		uniLoadMore,
+		empty,
+		uniPopup
+	},
+	data() {
+		return {
+			page: 1, //当前页数
+			limit: 6, //每次信息条数
+			list: [],
+			loadingType: 'more', //加载更多状态
+		};
+	},
+	onLoad() {
+		console.log(22)
+		this.loadData();
+	},
+	methods: {
+		//获取订单列表
+		loadData(type) {
+			//这里是将订单挂载到tab列表下
+			let obj = this;
+			if (type != 'refresh') {
+				console.log(obj.loadingType, '456');
+				//没有更多数据直接跳出方法
+				if (obj.loadingType === 'nomore') {
+					return;
+				} else {
+					// 设置当前为数据载入中
+					obj.loadingType = 'loading';
+				}
+			} else {
+				//当重新加载数据时更新状态为可继续添加数据
+				obj.loadingType = 'more';
+			}
+			training({})
+				.then(data => {
+					if (type === 'refresh') {
+						obj.list = [];
+					}
+					let arr = data.data
+					obj.list = obj.list.concat(arr);
+					//判断是否还有下一页,有是more  没有是nomore
+					if (obj.limit == arr.length) {
+						obj.page++;
+						obj.loadingType = 'more';
+					} else {
+						obj.loadingType = 'nomore';
+					}
+					// 判断是否为刷新数据
+					if (type === 'refresh') {
+						console.log('refresh');
+						// 判断是否为点击搜索按钮跳转加载
+						if (obj.loading == 1) {
+							uni.hideLoading();
+						} else {
+							uni.stopPullDownRefresh();
+						}
+					}
+				})
+				.catch(e => {
+					obj.loadingType = 'nomore';
+					uni.hideLoading();
+				});
+		},
+		//跳转到详情
+		ToDetail(e) {
+			let type = e.type;
+			let id = e.id;
+			uni.navigateTo({
+				url: '/pages/train/sign?type=' + type+'&id='+id
+			});
+		}
+	}
+};
+</script>
+
+<style lang="scss">
+page {
+	background: #F2F2F2;
+	height: 100%;
+	padding-bottom: 25rpx;
+}
+.container {
+	height: 100%;
+	.top{
+		background-color: #FFFFFF;
+		height: 88rpx;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		font-size: 36rpx;
+		font-weight: 500;
+		color: #333333;
+	}
+	.swiper-box {
+		height:100%;
+		.list-scroll-content {
+			height:100%;
+		}
+	}
+}
+.scroll-list {
+	width: 100%;
+	overflow: hidden;
+	white-space: nowrap;
+	background-color: #ffffff;
+	font-size: 32rpx;
+	.scoll-box {
+		text-align: center;
+		display: inline-block;
+		margin: 0rpx 38rpx;
+		padding: 15rpx 0rpx;
+		.scoll-img {
+			width: 130rpx;
+			height: 85rpx;
+			border-radius: 100%;
+			image {
+				width: 85rpx;
+				height: 100%;
+				border-radius: 100%;
+			}
+		}
+		.scoll-name {
+			padding-top: 15rpx;
+		}
+		&.active {
+			color: #ef3d28;
+			border-bottom: 6rpx solid #ef3d28;
+		}
+	}
+}
+
+.order-item {
+	width: 100%;
+	padding: 0rpx 25rpx;
+	padding-top: 25rpx !important;
+	.list-cell {
+		background-color: #ffffff;
+		border-radius: 20rpx;
+		width: 100%;
+		box-shadow: 0px 0px 40px 0px rgba(0, 0, 0, 0.06);
+		.image {
+			width: 100%;
+			height: 300rpx;
+			border-top-left-radius: 25rpx;
+			border-top-right-radius: 25rpx;
+		}
+		.list-tpl {
+			padding: 25rpx 25rpx;
+			padding-bottom: 35rpx !important;
+			font-size: 34rpx;
+			color: #222222;
+			font-weight:500;
+		}
+	}
+}
+</style>

+ 195 - 0
pages/fu/upLoadInfo.vue

@@ -0,0 +1,195 @@
+<template>
+	<view class="container">
+		<view class="up-tit">请退供相关图片描述 以便我们后续跟进</view>
+		<view class="add-img-box flex_item">
+			<view class="add-img-item"  v-for="(item, index) in imgList" :key="index">
+				<image class="add-img" @click.stop="imgInfo(index)" :src="item" mode="aspectFill"></image>
+				<image class="add-img-del" @click.stop="delImg(index)" src="/static/img/delete.png"></image>
+			</view>
+			<view v-if='imgCount > 0' class="add-img-item" @click.stop="scImg()">
+				<image class="add-img" src="../../static/images/sctp.png"></image>
+			</view>
+		</view>
+		<view class="mark-box">
+			<view class="mark-tit">补充描述</view>
+			<textarea class="mark-text" v-model="mark" placeholder="填写描述"></textarea>
+		</view>
+		<view class="up-btn" v-if="type == 0" @click="submit">提交</view>
+		<view class="up-btn" v-if="type == 1" @click="submit">修改</view>
+	</view>
+</template>
+
+<script>
+import { upload,add_four_help } from '@/api/index.js';
+import { means, get_means } from '@/api/applyHelp.js';
+export default {
+	data() {
+		return {
+			imgList: [],	// 图片
+			cloudimgList: [],
+			mark: '',	// 描述
+			imgCount: 6,	// 最多传6张
+			id: '',
+			type: 0,
+		}
+	},
+	onLoad(option) {
+		this.id = option.id;
+		if ( option.type ) {
+			this.type = 1;
+			get_means({
+				id: this.id
+			}).then(({data}) => {
+				this.imgList = data.img;
+				this.mark = data.remark; 
+			})
+		}
+	},
+	methods: {
+		//多张上传图片
+		scImg() {
+			let obj = this;
+			upload({
+				file: ''
+			})
+				.then(e => {
+					let list = []
+					obj.imgList = [...obj.imgList, e[0].url];
+					console.log(obj.imgList);
+					obj.imgCount = 6 - obj.imgList.length;
+				})
+				.catch(e => {});
+		},
+		//点击图片显示大图
+		imgInfo(i) {
+			let tempList = [];
+			this.imgList.forEach(e => {
+				tempList.push(e);
+			});
+			//显示图片
+			uni.previewImage({
+				current: i,
+				loop: false,
+				urls: this.imgList,
+				indicator: 'default'
+			});
+		},
+		//删除图片
+		delImg(i) {
+			uni.showModal({
+				content: '确定删除这张吗',
+				success: res => {
+					if (res.confirm) {
+						this.imgList.splice(i, 1);
+						this.imgCount++;
+					} else if (res.cancel) {
+					}
+				}
+			});
+		},
+		// 提交
+		submit() {
+			let obj = this;
+			
+			let arr = obj.imgList.join(';');
+			console.log(arr,'arr')
+			
+			console.log(this.mark);
+			if (!obj.imgList) {
+				obj.$api.msg('请上传图片');
+				return;
+			}
+			if (!obj.mark) {
+				obj.$api.msg('请填写描述');
+				return;
+			}
+			means({
+				id: obj.id,
+				img: arr,
+				remark: obj.mark,
+			}).then(({data}) => {
+				obj.$api.msg('上传成功');
+				uni.navigateBack();
+			}).catch(e => {
+				console.log(e);
+			})
+		},
+	}
+}
+</script>
+
+<style lang="scss">
+.container {
+	.up-tit {
+		padding: 24rpx 30rpx;
+		font-size: $font-base;
+		font-family: PingFang SC;
+		font-weight: 500;
+		color: #333333;
+	}
+	.add-img-box {
+		width: 100%;
+		flex-wrap: wrap;
+		// justify-content: center;
+		padding: 30rpx 30rpx 0 30rpx;
+		background: #FFFFFF;
+		border-bottom: 1px solid #F0F0F0;
+	}
+	.add-img-item {
+		margin-bottom: 25rpx;
+		width: 33.33%;
+		position: relative;
+		.add-img {
+			padding: 0rpx 10rpx;
+			width: 100%;
+			height: 214rpx;
+			display: block;
+		}
+	}
+	.add-img-del {
+		position: absolute;
+		width: 40rpx;
+		height: 40rpx;
+		right: 10rpx;
+		top: 0;
+		// bottom: 155rpx;
+		//background-color: rgba(238, 0, 0, 1);
+		border-radius: 20rpx;
+	}
+	.mark-box {
+		display: flex;
+		align-items: flex-start;
+		background: #FFFFFF;
+		padding: 40rpx 30rpx 0 30rpx;
+		.mark-tit {
+			margin-right: 40rpx;
+			font-size: $font-base;
+			font-family: PingFang SC;
+			font-weight: 500;
+			color: #333333;
+			flex-shrink: 0;
+		}
+		.mark-text {
+			font-size: $font-base - 2rpx;
+			font-family: PingFang SC;
+			font-weight: 500;
+			color: #999999;
+		}
+	}
+	.up-btn {
+		margin: auto;
+		margin-top: 120rpx;
+		width: 560rpx;
+		height: 80rpx;
+		background: #FF727E;
+		border-radius: 40rpx;
+		font-size: 30rpx;
+		font-family: PingFang SC;
+		font-weight: 500;
+		color: #FFFFFF;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+	}
+}
+</style>

BIN
static/images/v1.png


BIN
static/images/v2.png


BIN
static/images/v3.png


BIN
static/images/v4.png


BIN
static/images/vip.png


BIN
static/tabBar/tab-fu-current.png


BIN
static/tabBar/tab-fu.png