zhangdan 4 anni fa
parent
commit
efd7ccf6b4

+ 2 - 1
App.vue

@@ -1,5 +1,5 @@
 <script>
-	// const uat_domain = 'https://gather.test.sxzxyj.net' // 预发布
+	// const uat_domain = 'https://cust.test.sxzxyj.net' // 预发布
 	const uat_domain = 'http://192.168.16.217:8305' // 本地
 	const pro_domain = 'https://gather.zyucgj.cn' // 生产
 	const uat_URL = uat_domain+'/gc-gather/' // 预发布
@@ -41,6 +41,7 @@
 
 <style lang="scss">
 	@import "uview-ui/index.scss";
+	@import "/static/iconfont-weapp-icon.css";
 	/*每个页面公共css */
 	page {
 		min-height: 100%;

+ 2 - 2
manifest.json

@@ -1,7 +1,7 @@
 {
-    "name" : "乐色超人(骑手端)",
+    "name" : "乐色超人",
     "appid" : "__UNI__778E110",
-    "description" : "乐色超人(骑手端)小程序",
+    "description" : "乐色超人小程序",
     "versionName" : "1.0.0",
     "versionCode" : "100",
     "transformPx" : false,

+ 34 - 14
pages.json

@@ -11,9 +11,21 @@
 			}
 		},
 		{
-			"path": "pages/index/addData",
+			"path": "pages/index/yuyue",
 			"style": {
-				"navigationBarTitleText": "垃圾数据录入"
+				"navigationBarTitleText": "上门预约"
+			}
+		},
+		{
+			"path": "pages/index/userInfo",
+			"style": {
+				"navigationBarTitleText": "用户信息"
+			}
+		},
+		{
+			"path": "pages/index/yuyueResult",
+			"style": {
+				"navigationBarTitleText": "预约结果"
 			}
 		},
 		{
@@ -25,9 +37,17 @@
 		{
 			"path": "pages/userCenter/index",
 			"style": {
-				"navigationBarTitleText": "个人中心",
-				"navigationBarBackgroundColor": "#0DC55F",
-				"navigationBarTextStyle": "white"
+				"navigationBarTitleText": "我的",
+				"navigationBarBackgroundColor": "#fff",
+				"navigationBarTextStyle": "black"
+			}
+		},
+		{
+			"path": "pages/order/index",
+			"style": {
+				"navigationBarTitleText": "我的订单",
+				"navigationBarBackgroundColor": "#fff",
+				"navigationBarTextStyle": "black"
 			}
 		},
 		{
@@ -55,27 +75,27 @@
 		}
 	},
 	"tabBar": {
-		"color": "#7A7E83",
-		"selectedColor": "##0DC55F",
+		"color": "#999999.",
+		"selectedColor": "#4F88F7",
 		"backgroundColor": "#ffffff",
 		"fontSize": "14px",
 		"list": [
 		{
 			"pagePath": "pages/index/index",
-			"iconPath": "static/index/logo.png",
-			"selectedIconPath": "static/index/logo-active.png",
+			"iconPath": "static/home.png",
+			"selectedIconPath": "static/home_current.png",
 			"text": "首页"
 		},
 		 {
-		 	"pagePath": "pages/index/index",
-		 	"iconPath": "static/index/logo.png",
-		 	"selectedIconPath": "static/index/logo-active.png",
+		 	"pagePath": "pages/order/index",
+		 	"iconPath": "static/order.png",
+		 	"selectedIconPath": "static/order_current.png",
 		 	"text": "订单"
 		 },
 		{
 			"pagePath": "pages/userCenter/index",
-			"iconPath": "static/tabbar/user.png",
-			"selectedIconPath": "static/tabbar/user-active.png",
+			"iconPath": "static/person.png",
+			"selectedIconPath": "static/person_current.png",
 			"text": "我的"
 		}]
 	}

+ 0 - 326
pages/index/addData.vue

@@ -1,326 +0,0 @@
-<template>
-	<view class="content">
-		<view>
-			<view class="form-data">
-				<u-form :model="form" ref="uForm" :label-width="140" :error-type="['toast']">
-						<u-form-item prop="gatherNum_other" label="其他垃圾:" >
-							<u-input :disabled="isView" @input="numberToFixed('gatherNum_other',0,999999)" type="number" placeholder="请输入" v-model="form.gatherNum_other" />
-							<text slot="right" style="color: #000000;">桶(约{{form.gatherNum_other*240}}kg)</text>
-						</u-form-item>
-						<u-form-item prop="gatherNum_chuyu" label="厨余垃圾:" >
-							<u-input :disabled="isView" @input="numberToFixed('gatherNum_chuyu',0,999999)" placeholder="请输入" type="number" v-model="form.gatherNum_chuyu" />
-							<text slot="right" style="color: #000000;">桶(约{{form.gatherNum_chuyu*240}}kg)</text>
-						</u-form-item>
-						<u-form-item prop="gatherNum_jianzhu" label="建筑垃圾:" >
-							<u-input :disabled="isView" @input="numberToFixed('gatherNum_jianzhu',2,999999)" placeholder="请输入" type="digit" v-model="form.gatherNum_jianzhu" />
-							<text slot="right" style="color: #000000;">吨(约{{form.gatherNum_jianzhu*1000}}kg)</text>
-						</u-form-item>
-				</u-form>
-			</view>
-			<view class="form-data remark">
-				<text>信息备注</text>
-				<textarea :disabled="isView" :auto-height="true" :maxlength="30" v-model="form.remarks" class="receiveAddress"/>
-			</view>
-			<view class="form-data qyImg">
-				<text>清运照片</text>
-				<view class="info-main">
-					<view v-if="photograph.length<3 && !isView" class="camera-btn">
-						<view @click="goPhotograph" class="photograph-camera">
-							<u-icon name="camera" color="#bfbfbf" size="60" ></u-icon>
-						</view>
-						<view >
-							(最多3张)
-						</view>
-						<view >
-							(每张最大不超过10M)
-						</view>
-					</view>
-					<view v-show="photograph.length" v-for="(item,index) in photograph" :key="index" class="photograph-con">
-						<u-icon v-show="!isView" name="close-circle-fill" color="#fa3534" size="50" class="close-circle-icon" @click="cancelPhotograph(index)"></u-icon>
-						<u-image width="100%" height="100%" :src="item" @click="previewPictures(item)"></u-image>
-					</view>
-				</view>
-			</view>
-			<u-button v-if="isView" @click="isView = false" class="submitBtn" type="waring" shape="circle">修改</u-button>
-			<u-button v-else @click="submit" :loading="loading" class="submitBtn" type="success" shape="circle">提交</u-button>
-			<uni-popup ref="openModal" type="center">
-				<uni-popup-dialog content="确认提交吗?" @confirm="onOk" :title="title"></uni-popup-dialog>
-			</uni-popup>
-		</view>
-	</view>
-</template>
-
-<script>
-	import uniPopup from '@/components/uni-popup/uni-popup.vue'
-	import uniPopupDialog from '@/components/uni-popup/uni-popup-dialog.vue'
-	import {gatherSave,gatherDetail} from '@/api/index.js'
-	import {numberToFixed,saveImgToAliOss} from '@/libs/tools.js'
-	export default {
-		components: {
-			uniPopup,uniPopupDialog
-		},
-		data() {
-			return {
-				title:'',
-				loading:false, // 提交按钮加载圈
-				photograph: [], //  图片路径
-				form: {
-					gatherNum_other: '', // 其它垃圾
-					gatherNum_chuyu: '', // 厨余垃圾
-					gatherNum_jianzhu: '', // 建筑垃圾
-					remarks: '' // 备注
-				},
-				isView: false ,// 是否是查看详情
-				itemId:''
-			};
-		},
-		onLoad(option) {
-			console.log(option,option.id,'ppppppppp')
-			// 查看
-			if(option && option.id){
-				this.isView = true
-				this.itemId=option.id
-				this.getDetailData()
-			}else {
-				console.log('--------新增')
-				this.photograph = []
-				this.form.remarks = ''
-				this.$refs.uForm.resetFields()
-			}
-		},
-		onUnload() {
-		},
-		methods: {
-			// 保留几位小数
-			numberToFixed: function (key, num, max) {
-			  let val = this.form[key]
-			  let ret = numberToFixed(val, num, max)
-			  this.$nextTick(() => {
-			  	this.form[key] = ret
-			  })
-			},
-			// 获取详情数据
-			getDetailData(){
-				gatherDetail({id:this.itemId}).then(res=>{
-					if(res.status==200){
-						console.log(res)
-						const a = res.data.gatherRubbishList.find(item=>item.rubbishType=='GATHER_BUILDING')
-						const b = res.data.gatherRubbishList.find(item=>item.rubbishType=='GATHER_OTHER')
-						const c = res.data.gatherRubbishList.find(item=>item.rubbishType=='GATHER_KITCHEN')
-						this.form.gatherNum_jianzhu= a ? a.gatherNum.toString() : '0'
-						this.form.gatherNum_chuyu= c ? c.gatherNum.toString() : '0'
-						this.form.gatherNum_other= b ? b.gatherNum.toString() : '0'
-						this.form.remarks=res.data.remarks
-						this.photograph=res.data.imageUrlList || []
-						console.log(this.form,'this.form')
-					}
-				})
-			},
-			// 拍照或从相册选图片
-			goPhotograph() {
-				uni.chooseImage({
-				    count: 1, //默认9
-				    sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
-				    sourceType: ['album','camera'], //从相册选择
-				    success:  (res) =>{
-						console.log(res,'rrrrrrrrrrr')
-				        console.log(JSON.stringify(res.tempFilePaths));
-						console.log(this.photograph.length,'this.photograph')
-						if(res.tempFiles[0].size>10485760){
-							uni.showToast({
-								title: '图片过大无法上传!',
-								icon: 'none'
-							})
-							return
-						}
-						uni.showLoading({
-							title:'正在保存图片...',
-							mask: true
-						})
-						saveImgToAliOss(res.tempFilePaths[0],(ret)=>{
-							// console.log(ret,'----------ret')
-							this.photograph.push(ret.data)
-							// _this.photograph = ret.data
-							uni.hideLoading()
-						})
-				    }
-				});
-			},
-			//  预览图片
-			previewPictures(item) {
-				const photograph = [item];
-				uni.previewImage({
-					urls: photograph,
-				});
-			},
-			//  删除图片
-			cancelPhotograph(index) {
-				setTimeout(() => {
-					this.photograph.splice(index,1)
-				}, 500);
-			},
-			// 提交
-			submit(){
-				if((!this.form.gatherNum_other ||this.form.gatherNum_other==0)  && (!this.form.gatherNum_chuyu || this.form.gatherNum_chuyu==0) && (!this.form.gatherNum_jianzhu || this.form.gatherNum_jianzhu==0)) {
-					uni.showToast({
-						title: '请至少输入一项垃圾分类的数量!',
-						icon: 'none'
-					})
-					return false
-				} else {
-					this.$refs.openModal.open()
-				}
-			},
-			// 确认提交
-			onOk() {
-				this.$refs.openModal.close()
-				let params = {
-					rubbishEntityList: [],
-					imageUrlList: this.photograph,
-					remarks: this.form.remarks
-				}
-				if(this.itemId){
-					params.id=this.itemId
-				}
-				if(this.form.gatherNum_other) {
-					params.rubbishEntityList.push({
-						"rubbishType":"GATHER_OTHER",
-						"rubbishWeight": this.form.gatherNum_other*240,
-						"gatherNum": this.form.gatherNum_other,
-						"unit":"BUCKET"
-					})
-				}
-				if(this.form.gatherNum_chuyu) {
-					params.rubbishEntityList.push({
-						"rubbishType":"GATHER_KITCHEN",
-						"rubbishWeight": this.form.gatherNum_chuyu*240,
-						"gatherNum": this.form.gatherNum_chuyu,
-						"unit":"BUCKET"
-					})
-				}
-				if(this.form.gatherNum_jianzhu) {
-					params.rubbishEntityList.push({
-						"rubbishType":"GATHER_BUILDING",
-						"rubbishWeight": this.form.gatherNum_jianzhu*1000,
-						"gatherNum": this.form.gatherNum_jianzhu,
-						"unit":"TON"
-					})
-				}
-				this.loading=true
-				gatherSave(params).then(res=>{
-					if(res.status == 200) {
-						uni.showToast({
-							title: res.message,
-							icon: 'none'
-						})
-						setTimeout(()=>{
-							uni.navigateBack()
-						},300)
-					} else {
-						uni.showToast({
-							title: res.message,
-							icon: 'none'
-						})
-					}
-					this.loading= false
-				})
-			},
-			
-		},
-		// 必须要在onReady生命周期,因为onLoad生命周期组件可能尚未创建完毕
-		onReady() {
-			this.$refs.uForm.setRules(this.rules);
-		}
-	}
-</script>
-
-<style lang="scss">
-	.content{
-		width: 100%;
-		height: 100vh;
-		padding: 0;
-		background: #F5F5F5;
-		// .buttons{
-		// 	font-size: 32upx;
-		// 	display: block;
-		// 	height: 80upx;
-		// 	line-height: 80upx;
-		// 	margin: 0 auto;
-		// 	background-color: #0DC55F;
-		// 	color: #fff;
-		// 	border-radius: 50upx;
-		// }
-		.receiveAddress{
-			width: 100%;
-			line-height: 1.5em;
-			box-sizing: border-box;
-			font-style: normal;
-		}
-		.form-data{
-			padding: 0 40upx;
-			margin-bottom: 20upx;
-			background-color: #fff;
-		}
-		.remark{
-			padding: 40upx ;
-		}
-		.qyImg{
-			padding: 40upx ;
-		}
-		.info-main {
-			margin-top: 14upx;
-			border-radius: 12upx;
-			background-color: #fff;
-			display: flex;
-			.location-icon {
-				padding-left: 10upx;
-				vertical-align: sub;
-			}
-			.photograph-camera {
-				border: 2upx dashed #bfbfbf;
-				border-radius: 12upx;
-				width: 140upx;
-				height: 140upx;
-				display: flex;
-				align-items: center;
-				justify-content: center;
-			}
-			.camera-btn{
-				display: flex;
-				flex-direction: column;
-				align-items: center;
-				color: #999999;
-				font-size: 24upx;
-			}
-			.photograph-con {
-				margin: 0 20upx;
-				width: 140upx;
-				height: 140upx;
-				text-align: center;
-				position: relative;
-				.photograph-icon {
-					display: inline-block;
-					padding-top: 48upx;
-				}
-				.close-circle-icon {
-					background-color: #fff;
-					border-radius: 50%;
-					position: absolute;
-					right: -23upx;
-					top: -23upx;
-					z-index: 9;
-				}
-			}
-		}
-		.submitBtn{
-			font-size: 32upx;
-			display: block;
-			width: 670upx;
-			height: 80upx;
-			line-height: 80upx;
-			margin: 0 auto;
-			color: #fff;
-			border-radius: 50upx;
-		}
-	}
-</style>

+ 243 - 320
pages/index/index.vue

@@ -1,113 +1,82 @@
 <template>
 	<view class="content">
-		<view class="header">
-			<view @click="openSearch">
-				<text v-if="searchForm.beginDate">{{searchForm.beginDate}}至{{searchForm.endDate}}</text>
-				<text v-else>全部</text>
-				<!-- <u-icon name="arrow-right" color="#999999" size="28"></u-icon> -->
-				<u-image v-if="hasLogin" @click="openScreen=true" class="filter-img" width="36rpx" height="36rpx" src="/static/filter.png"></u-image>
+		<view class="content-top">
+			<view class="top-banner">
+				<u-swiper :list="bannerList" class="banner"></u-swiper>
 			</view>
-			<!-- 总计 -->
-			<view class="header-cont">
-				<view class="cont-item">
-					<text>其它垃圾</text>
-					<text v-if="!titleStatus" class="other">{{otherTotal}}kg</text>
-					<u-loading :show="titleStatus"></u-loading>
-				</view>
-				<view class="cont-item">
-					<text>厨余垃圾</text>
-					<text v-if="!titleStatus" class="chuyu">{{chuyuTotal}}kg</text>
-					<u-loading :show="titleStatus"></u-loading>
+		</view>
+		<view class="content-bottom">
+			<!-- 预约 -->
+			<u-button :custom-style="yuYueBtn" :hair-line="false" @click="gotoYueYu">一键预约</u-button>
+			<!-- 接单信息 -->
+			<view class="bottom-new-notice">
+				<view class="notice-content">
+					<view class="notice-content-item"><span class="t-icon t-icon-home_icon_bells"></span><span class="item-title">最新通知</span></view>
+					<view class="notice-content-item">骑手<span>已接单,</span>请耐心等待</view>
+					<view class="notice-content-item">2020-05-20 15:30</view>
 				</view>
-				<view class="cont-item">
-					<text>建筑垃圾</text>
-					<text v-if="!titleStatus" class="jianzhu">{{jianzhuTotal}}kg</text>
-					<u-loading :show="titleStatus"></u-loading>
+				<view class="notice-static">
+					<span class="notice-static-text">已接单</span>
 				</view>
 			</view>
-		</view>
-		<scroll-view  class="scroll-con" :scroll-top="scrollTop" scroll-y @scrolltolower="onreachBottom">
-			<!-- 列表数据 -->
-			<view class="cell-item" v-for="item in listdata">
-				<view class="cell-item-title" >
-					<view>
-						<text>{{item.createDate}}</text>
+			<!-- 回收指引 -->
+			<view class="bottom-zhiyin" @click="toZY">
+				<u-image src="/static/houme_bg_guide.png" mode="" height="160"></u-image>
+			</view>
+			<!-- 收回统计 -->
+			<view class="statistics-title">今日回收统计</view>
+			<view class="bottom-statistics">
+				<view class="statistics-rubbishType">
+					<view class="statistics-box">
+						<view class="rubbishType-type"><span class="t-icon t-icon-home_icon_paper" style="display: inline-block;margin: 0 10upx;"></span>纸质类</view>
+						<view v-for="item in rubbishPaperList" class="rubbishType-item">
+							<view>{{item.name ? item.name+':' :''}}{{item.weight ? (item.weight/1000).toFixed(3)/1 :0}}</view>
+						</view>
 					</view>
-					<view @click="intoPage(item)">
-						<span class="view">查看详情</span>
-						<u-icon name="arrow-right" color="#999999" size="28"></u-icon>
+					<view class="statistics-box">
+						<view class="rubbishType-type"><span class="t-icon t-icon-home_icon_clothing" style="display: inline-block;margin: 0 10upx;"></span>衣物&其他</view>
+						<view v-for="item in rubbishYWList" class="rubbishType-item">
+							<view>{{item.name ? item.name+':' :''}}{{item.weight ? (item.weight/1000).toFixed(3)/1 :0}}</view>
+						</view>
 					</view>
 				</view>
-				<view class="cell-item-cont">
-					<!-- 其他垃圾 -->
-					<view class="cont-item">
-						<u-image src="/static/index/other.png"></u-image>
-						<text>{{item.gatherOther? (item.gatherOther/1000).toFixed(3)/1 :0}}kg</text>
+				<view class="statistics-rubbishType">
+					<view class="statistics-box">
+						<view class="rubbishType-type"><span class="t-icon t-icon-home_icon_plastic" style="display: inline-block;margin: 0 10upx;"></span>塑料类</view>
+						<view v-for="item in rubbishSLList" class="rubbishType-item">
+							<view>{{item.name ? item.name+':' :''}}{{item.weight ? (item.weight/1000).toFixed(3)/1 :0}}</view>
+						</view>
 					</view>
-					<!-- 厨余垃圾 -->
-					<view class="cont-item">
-						<u-image src="/static/index/chuyu.png"></u-image>
-						<text>{{item.gatherKitchen ? (item.gatherKitchen/1000).toFixed(3)/1 :0}}kg</text>
-					</view>
-					<!-- 建筑垃圾 -->
-					<view class="cont-item">
-						<u-image src="/static/index/jianzhu.png"></u-image>
-						<text>{{item.gatherBuilding ? (item.gatherBuilding/1000).toFixed(3)/1 :0}}kg</text>
+					<view class="statistics-box">
+						<view class="rubbishType-type"><span class="t-icon t-icon-home_icon_metal" style="display: inline-block;margin: 0 10upx;"></span>金属类</view>
+						<view v-for="item in rubbishJSList" class="rubbishType-item">
+							<view>{{item.name ? item.name+':' :''}}{{item.weight ? (item.weight/1000).toFixed(3)/1 :0}}</view>
+						</view>
 					</view>
 				</view>
 			</view>
-			<view class="nodata" v-if="listdata.length==0 && status!='loading'">
-				<u-empty :text="noDataText" mode="list"></u-empty>
-			</view>
-			<view class="loadmore">
-				<u-loadmore v-if="total>pageSize || status=='loading'" :status="status" />
-			</view>
-		</scroll-view>
-		<view @click="intoPage()" class="footer">
-			<!-- <u-icon name="edit-pen" size="30"></u-icon> -->
-			<text>垃圾数据录入</text>
 		</view>
-		<!-- 筛选弹框 -->
-		<search-modal v-if="openScreen" :visible="openScreen" :defaultParams="searchForm" @refresh="refresh" @close="openScreen=false"></search-modal>
 	</view>
 </template>
 
 <script>
-	import searchModal from './searchModal.vue'
-	import {gatherList,gatherTotal} from '@/api/index.js'
-	import { checkLogin } from '@/api/login.js'
-	import moment from 'moment'
-	import getDate from '@/libs/getDate.js'
 	export default {
-		components: { searchModal },
+		components: {  },
 		data() {
 			return {
-				hasLogin: false, // 是否登录
-				listdata: [], // 列表数据
-				otherTotal: 0, // 其它垃圾总和
-				jianzhuTotal: 0, // 建筑垃圾总和
-				chuyuTotal: 0, // 厨余垃圾总和
-				pageNo: 1,  //  当前页码
-				pageSize: 10,  //  每页条数
-				total: 0,  //  数据总条数
-				noDataText: '暂无数据',  //  列表请求状态提示语
-				status: 'loadmore',  //  加载中状态
-				titleStatus: false,  //  顶部加载中状态
-				openScreen: false,  //  是否打开筛选
-				searchForm: {  //  查询条件
-					beginDate: getDate.getRecentday().starttime,  //  创建时间默认筛选近7天
-					endDate: getDate.getRecentday().endtime,  //  创建时间默认筛选近7天
+				yuYueBtn:{
+					background: "#4F88F7",
+					borderRadius: "12px",
+					color:'#fff',
 				},
-				scrollTop: 0,  //  滚动条位置
+				bannerList:[{image:"/static/banner.jpg"},{image:"/static/banner.jpg"},{image:"/static/banner.jpg"}],
+				rubbishPaperList:[{name:'黄纸',weight:'6000'},{name:'黄纸',weight:'6000'},{name:'黄纸',weight:'6000'},{name:'黄纸',weight:'6000'},{name:'黄纸',weight:'6000'},{name:'黄纸',weight:'6000'}],
+				rubbishSLList:[{name:'塑料筐',weight:'6000'},{name:'塑料筐',weight:'6000'},{name:'塑料筐',weight:'6000'},{name:'塑料筐',weight:'6000'}],
+				rubbishYWList:[{name:'衣物',weight:'6000'}],
+				rubbishJSList:[{name:'钛',weight:'6000'},{name:'钛',weight:'6000'},{name:'钛',weight:'6000'}]
 			}
 		},
 		onLoad() {
-			this.checkUpdate()
-			// 开启分享
-			uni.showShareMenu({
-				withShareTicket: true,
-				menus: ['shareAppMessage', 'shareTimeline']
-			})
 		},
 		onUnload() {
 			
@@ -117,161 +86,124 @@
 		onShareTimeline(res) {
 		},
 		onShow() {
-			checkLogin().then(res => {
-				this.hasLogin = res.status == 200
-				if(this.hasLogin){
-					this.pageInit()
-				} else {
-					this.noDataText = '您尚未登录或登录已过期,完成登录后可查看录入信息!'
-				}
-			})
+			// checkLogin().then(res => {
+			// 	this.hasLogin = res.status == 200
+			// 	if(this.hasLogin){
+			// 		// this.pageInit()
+			// 	} else {
+			// 		this.noDataText = '您尚未登录或登录已过期,完成登录后可查看录入信息!'
+			// 	}
+			// })
 		},
 		methods: {
-			pageInit() {
-				this.pageNo = 1
-				this.pageSize = 10
-				this.total = 0
-				this.scrollTop = 0
-				this.otherTotal= 0 // 其它垃圾总和
-				this.jianzhuTotal= 0 // 建筑垃圾总和
-				this.chuyuTotal= 0 // 厨余垃圾总和
-				this.searchForm.beginDate = getDate.getRecentday().starttime
-				this.searchForm.endDate = getDate.getRecentday().endtime
-				console.log(this.searchForm,'this.searchForm')
-				this.searchHandle()
-				this.getTotal()
+			// pageInit() {
+			// 	this.pageNo = 1
+			// 	this.pageSize = 10
+			// 	this.total = 0
+			// 	this.scrollTop = 0
+			// 	this.otherTotal= 0 // 其它垃圾总和
+			// 	this.jianzhuTotal= 0 // 建筑垃圾总和
+			// 	this.chuyuTotal= 0 // 厨余垃圾总和
+			// 	this.searchForm.beginDate = getDate.getRecentday().starttime
+			// 	this.searchForm.endDate = getDate.getRecentday().endtime
+			// 	console.log(this.searchForm,'this.searchForm')
+			// 	this.searchHandle()
+			// 	this.getTotal()
+			// },
+			gotoYueYu(){
+				uni.navigateTo({
+				    url: '/pages/index/yuyue'
+				})
+			},
+			// 回收指引
+			toZY(){
+				console.log('--------指引')
+				uni.navigateTo({
+				    // url: url
+				})
 			},
 			// 检查更新
 			checkUpdate(){
-				if (uni.canIUse('getUpdateManager')) {
-				      const updateManager = uni.getUpdateManager()
-				      updateManager.onCheckForUpdate(function (res) {
-				        console.log('onCheckForUpdate====', res)
-				        // 请求完新版本信息的回调
-				        if (res.hasUpdate) {
-				          console.log('res.hasUpdate====')
-				          updateManager.onUpdateReady(function () {
-				            uni.showModal({
-				              title: '更新提示',
-				              content: '新版本已经准备好,是否重启应用?',
-				              success: function (res) {
-				                console.log('success====', res)
-				                // res: {errMsg: "showModal: ok", cancel: false, confirm: true}
-				                if (res.confirm) {
-				                  // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
-				                  updateManager.applyUpdate()
-				                }
-				              }
-				            })
-				          })
-				          updateManager.onUpdateFailed(function () {
-				            // 新的版本下载失败
-				            uni.showModal({
-				              title: '已经有新版本了哟~',
-				              content: '新版本已经上线啦~,请您删除当前小程序,重新搜索打开哟~'
-				            })
-				          })
-				        }
-				      })
-				    }
-			},
-			// 打开查询弹窗
-			openSearch(){
-				if(this.hasLogin){
-					this.openScreen = true
-				}
-			},
-			// 获取查询参数 刷新列表
-			refresh(params){
-				this.searchForm = params
-				this.listdata = []
-				this.total = 0
-				this.searchHandle(1)
-				this.getTotal()
-			},
-			// 搜索查询
-			searchHandle (pageNo) {
-				this.status = "loading"
-				pageNo ? this.pageNo = pageNo : null
-				gatherList({
-					pageNo: this.pageNo,
-					pageSize: this.pageSize,
-					beginDate: this.searchForm.beginDate?moment(this.searchForm.beginDate).format('YYYY-MM-DD 00:00:00'):'',
-					endDate: this.searchForm.endDate ? moment(this.searchForm.endDate).format('YYYY-MM-DD 23:59:59'):'',
-				}).then(res => {
-					if (res.status == 200) {
-						if(this.pageNo>1){
-							this.listdata = this.listdata.concat(res.data.list || [])
-						}else{
-							this.listdata = res.data.list || []
-							this.scrollTop = 0
-						}
-						this.total = res.data.count || 0
-						this.noDataText = '暂无数据'
-					} else {
-						this.noDataText = res.message
-						this.listdata = []
-						this.total = 0
-					}
-					this.status = "loadmore"
-				})
+				// if (uni.canIUse('getUpdateManager')) {
+				//       const updateManager = uni.getUpdateManager()
+				//       updateManager.onCheckForUpdate(function (res) {
+				//         console.log('onCheckForUpdate====', res)
+				//         // 请求完新版本信息的回调
+				//         if (res.hasUpdate) {
+				//           console.log('res.hasUpdate====')
+				//           updateManager.onUpdateReady(function () {
+				//             uni.showModal({
+				//               title: '更新提示',
+				//               content: '新版本已经准备好,是否重启应用?',
+				//               success: function (res) {
+				//                 console.log('success====', res)
+				//                 // res: {errMsg: "showModal: ok", cancel: false, confirm: true}
+				//                 if (res.confirm) {
+				//                   // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
+				//                   updateManager.applyUpdate()
+				//                 }
+				//               }
+				//             })
+				//           })
+				//           updateManager.onUpdateFailed(function () {
+				//             // 新的版本下载失败
+				//             uni.showModal({
+				//               title: '已经有新版本了哟~',
+				//               content: '新版本已经上线啦~,请您删除当前小程序,重新搜索打开哟~'
+				//             })
+				//           })
+				//         }
+				//       })
+				//     }
 			},
 			// scroll-view到底部加载更多
 			onreachBottom() {
-				console.log(111111)
-				if(this.listdata.length < this.total){
-					this.pageNo += 1
-					this.searchHandle()
-				}else{
-					uni.showToast({ title: '已经到底了', icon: 'none' })
-					this.status = "nomore"
-				}
 			},
 			// 总计
 			getTotal(){
-				this.titleStatus = true
-				gatherTotal({
-					beginDate: this.searchForm.beginDate?moment(this.searchForm.beginDate).format('YYYY-MM-DD 00:00:00'):'',
-					endDate: this.searchForm.endDate ? moment(this.searchForm.endDate).format('YYYY-MM-DD 23:59:59'):''}).then(res=>{
-						if(res.status==200){
-							const a = res.data.find(item=>item.rubbishType=='GATHER_BUILDING')
-							const b = res.data.find(item=>item.rubbishType=='GATHER_OTHER')
-							const c = res.data.find(item=>item.rubbishType=='GATHER_KITCHEN')
-							this.jianzhuTotal= a ? (a.rubbishWeight/1000).toFixed(3)/1 : '0'
-							this.chuyuTotal= c ? (c.rubbishWeight/1000).toFixed(3)/1 : '0'
-							this.otherTotal= b ? (b.rubbishWeight/1000).toFixed(3)/1 : '0'
-						}
-					console.log(res)
-					this.titleStatus = false
-				})
+				// this.titleStatus = true
+				// gatherTotal({
+				// 	beginDate: this.searchForm.beginDate?moment(this.searchForm.beginDate).format('YYYY-MM-DD 00:00:00'):'',
+				// 	endDate: this.searchForm.endDate ? moment(this.searchForm.endDate).format('YYYY-MM-DD 23:59:59'):''}).then(res=>{
+				// 		if(res.status==200){
+				// 			const a = res.data.find(item=>item.rubbishType=='GATHER_BUILDING')
+				// 			const b = res.data.find(item=>item.rubbishType=='GATHER_OTHER')
+				// 			const c = res.data.find(item=>item.rubbishType=='GATHER_KITCHEN')
+				// 			this.jianzhuTotal= a ? (a.rubbishWeight/1000).toFixed(3)/1 : '0'
+				// 			this.chuyuTotal= c ? (c.rubbishWeight/1000).toFixed(3)/1 : '0'
+				// 			this.otherTotal= b ? (b.rubbishWeight/1000).toFixed(3)/1 : '0'
+				// 		}
+				// 	console.log(res)
+				// 	this.titleStatus = false
+				// })
 			},
 			// 打开垃圾数据录入页面
 			intoPage(item) {
-				const flag=item ? item.gatherId : ''
-				console.log(flag,'---------hangid,;;;;')
-				let url = flag ? `/pages/index/addData?id=${flag}` : `/pages/index/addData`
-				// uni.navigateTo({
-				//     url: url
-				// })
-				if(!this.hasLogin){
-					uni.showModal({
-					  title: '提示',
-					  content: '您尚未登录或登录已过期,请登录后使用',
-					  success: (res)=> {
-					    if (res.confirm) {
-					     uni.navigateTo({
-					         url: '/pages/login/login'
-					     })
-					    } else if (res.cancel) {
-					      console.log('用户点击取消');
-					    }
-					  }
-					});
-				} else {
-					uni.navigateTo({
-					    url: url
-					})
-				}
+				// const flag=item ? item.gatherId : ''
+				// console.log(flag,'---------hangid,;;;;')
+				// let url = flag ? `/pages/index/addData?id=${flag}` : `/pages/index/addData`
+				// // uni.navigateTo({
+				// //     url: url
+				// // })
+				// if(!this.hasLogin){
+				// 	uni.showModal({
+				// 	  title: '提示',
+				// 	  content: '您尚未登录或登录已过期,请登录后使用',
+				// 	  success: (res)=> {
+				// 	    if (res.confirm) {
+				// 	     uni.navigateTo({
+				// 	         url: '/pages/login/login'
+				// 	     })
+				// 	    } else if (res.cancel) {
+				// 	      console.log('用户点击取消');
+				// 	    }
+				// 	  }
+				// 	});
+				// } else {
+				// 	uni.navigateTo({
+				// 	    url: url
+				// 	})
+				// }
 			}
 		}
 	}
@@ -283,116 +215,107 @@
 		height: 100vh;
 		display: flex;
 		flex-direction: column;
-		justify-content: center;
-		align-items: center;
-		.header{
-			width: 100%;
-			background-color: #FFFFFF;
-			display: flex;
-			flex-direction: column;
-			border-radius: 15upx;
-			padding: 30upx;
-			box-shadow: 0upx 3upx 6upx #eee;
-			margin-bottom: 20upx;
-			:first-child {
-				display: flex;
-				justify-content: space-between;
-				align-items: center;
+		padding: 0;
+			.content-top{
+				width: 100%;
+				height:260upx ;
+				background-color: #4F88F7;
+				border-bottom-left-radius: 50%;  /* 左下角 */
+				border-bottom-right-radius:50%; /* 右下角 */
+				opacity: 1;
+				.top-banner{
+					padding: 20upx 30upx 0;
+					.banner{
+						width:100%;
+						height: 140px;
+					}
+				}
 			}
-			.header-cont{
-				margin-top: 20upx;
-				display: flex;
-				align-items: center;
-				justify-content: space-around;
-				.cont-item{
+			.content-bottom{
+				padding: 30upx;
+				background-color: #f5f5f5;
+				.bottom-new-notice{
+					background-image: url('../../static/home_bg_expressage.png');
+					height:220upx;
+					margin: 30upx 0;
 					display: flex;
-					flex-direction: column;
+					justify-content: space-between;
 					align-items: center;
-					text{
-						line-height: 50upx;
+					padding: 20upx 30upx;
+					.notice-content{
+						.notice-content-item{
+							margin: 15upx 0;
+							display: flex;
+							align-items: center;
+							.item-title{
+								display: inline-block;
+								margin-left: 20upx;
+							}
+						}
+						.notice-content-item:last-child{
+							font-size: 26upx;
+							font-family: PingFang SC;
+							font-weight: 400;
+							color: #7C7D7E;
+						}
 					}
-					text:last-child{
-						font-weight: 600;
-						font-size: 28upx;
+					.notice-static{
+						width:186upx;
+						height: 108upx;
+						background-image: url('../../static/home_sign_rider.png');
+						.notice-static-text{
+							position: relative;
+							top:21upx;
+							left:85upx
+						}
 					}
 				}
-				.other{
-					color: #FB1E1E;
+				.bottom-zhiyin{
+					margin-bottom: 30upx;
 				}
-				.chuyu{
-					color: #FCAE53;
+				.statistics-title{
+					font-size: 36upx;
+					font-family: PingFang SC;
+					font-weight: bold;
+					color: #191919;
+					opacity: 1;
+					margin-bottom: 30upx;
 				}
-				.jianzhu{
-					color: #4EACFA;
-				}
-			}
-			.filter-img{
-				padding: 10upx;
-			}
-		}
-		.scroll-con{
-			flex: 1;
-			width: 100%;
-			-webkit-box-flex:1;
-			-webkit-flex:1;
-			-ms-flex:1;
-			overflow: auto;
-			.cell-item{
-				width: 100%;
-				background-color: #fff;
-				border-radius: 15upx;
-				// padding: 20upx;
-				box-shadow: 0upx 3upx 6upx #eee;
-				.cell-item-title{
-					padding: 20upx 20upx 10upx;
-					width: 100%;
+				.bottom-statistics{
 					display: flex;
-					justify-content: space-between;
-					// border-bottom: 1px solid #e6e6e6;
-					.view{
-						color: #999999;
-						margin-right: 12upx;
-					}
-				}
-				.cell-item-cont{
 					width: 100%;
-					display: flex;
 					justify-content: space-between;
-					padding: 20upx;
-					margin-bottom: 20upx;
-					.cont-item{
+					.statistics-rubbishType{
+						width: 48%;
+						.statistics-box{
+							margin-bottom:30upx ;
+							background-color: #fff;
+							padding: 20upx;
+							border-radius:16upx;
+						}
+						.statistics-box:last-child{
+							margin-bottom:0 ;
+						}
+					}
+					.rubbishType-type{
 						display: flex;
-						flex-direction: column;
 						align-items: center;
-						width: 33%;
-						// border-right: 1px solid #e6e6e6;
-						:first-child {
-							width: 120upx;
-							height: 120upx;
-							margin-bottom: 20upx;
-						}
+						justify-content: center;
+						font-size: 28upx;
+						font-family: PingFang SC;
+						font-weight: 400;
+						color: #000000;
 					}
-					:last-child {
-						border: none;
+					.rubbishType-item{
+						display: flex;
+						justify-content: center;
+						margin:10upx 0 ;
+						font-size: 26upx;
+						font-family: PingFang SC;
+						font-weight: 400;
+						color: #444444;
 					}
 				}
 			}
 		}
-		.footer{
-			z-index: 9999;
-			// position: absolute;
-			// bottom: 30upx;
-			// margin: 20upx;
-			width: 95%;
-			height: 80upx;
-			background-color: #0DC55F;
-			opacity: 1;
-			border-radius: 50upx;
-			color: #fff;
-			font-size: 30rpx;
-			display: flex;
-			align-items: center;
-			justify-content: center;
-		}
-	}
 </style>

+ 0 - 196
pages/index/searchModal.vue

@@ -1,196 +0,0 @@
-<template>
-	<!-- 待办单查询 -->
-	<div class="modal-content">
-		<u-popup v-model="isShow" class="search-popup" mode="right" @close="handleClose" length="85%">
-			<view class="search-title">筛选</view>
-			<u-form class="form-content" :model="form" ref="uForm" label-width="150">
-				<u-form-item label="录入时间" prop="time" class="form-item">
-					<u-input clearable v-model="form.time" disabled placeholder="请选择投递时间区间" class="form-item-inp" @click="openPicker" />
-					<u-icon v-show="form.time.length != 0" name="close-circle-fill" color="#c8c0cc" size="32" class="close-circle" @click="clearTime"></u-icon>
-				</u-form-item>
-			</u-form>
-			<view class="uni-list-btns">
-				<u-button class="handle-btn search-btn" size="medium" hover-class="none" :custom-style="customBtnStyle" @click="handleSearch">查询</u-button>
-				<u-button class="handle-btn" size="medium" hover-class="none" @click="resetForm">重置</u-button>
-			</view>
-		</u-popup>
-		<!-- 时间选择器 -->
-		<w-picker
-			class="date-picker"
-			:visible.sync="showPicker"
-			mode="range"
-			:current="true"
-			fields="day"
-			@confirm="onSelected($event, 'range')"
-			@cancel="showPicker = false"
-			ref="date"
-		></w-picker>
-	</div>
-</template> 
-
-<script>
-import wPicker from '@/components/w-picker/w-picker.vue'
-export default {
-	components: { wPicker },
-	props: {
-		visible: {
-			type: Boolean,
-			default: false
-		},
-		defaultParams: {  //  默认筛选条件
-			type: Object,
-			default: () => {
-				return {};
-			}
-		}
-	},
-	watch: {
-		visible(newValue, oldValue) {
-			if (newValue) {
-				this.isShow = newValue
-			}
-		},
-		isShow(newValue, oldValue) {
-			if (newValue) {
-			} else {
-				this.init()
-				this.$emit('close')
-			}
-		}
-	},
-	data() {
-		return {
-			customBtnStyle: {  //  自定义按钮样式
-				borderColor: '#2ab4e5',
-				backgroundColor: '#2ab4e5',
-				color: '#fff'
-			},
-			isShow: this.visible, // 显示隐藏
-			showPicker: false, // 是否显示时间弹窗
-			form: {
-				time: '', // 发起时间区间
-				customerMobile: '', // 门店名称
-			},
-			beginDate: null, // 开始时间
-			endDate: null // 结束时间
-		};
-	},
-	mounted() {
-		this.init()
-	},
-	methods: {
-		//  初始化数据
-		init(){
-			if(this.defaultParams.beginDate && this.defaultParams.endDate){
-				this.form.time = this.defaultParams.beginDate + ' ~ ' + this.defaultParams.endDate
-			}
-			this.beginDate = this.defaultParams.beginDate ? this.defaultParams.beginDate : ''
-			this.endDate = this.defaultParams.endDate ? this.defaultParams.endDate : ''
-			this.form.customerMobile = this.defaultParams.customerMobile ? this.defaultParams.customerMobile : ''
-		},
-		//  清空创建时间
-		clearTime(){
-			this.form.time = ''
-			this.beginDate = ''
-			this.endDate = ''
-		},
-		// 关闭弹窗
-		handleClose() {
-			this.isShow = false
-		},
-		// 打开时间选择弹框
-		openPicker() {
-			this.showPicker = true
-		},
-		// 确认日期选择
-		onSelected(v) {
-			this.form.time = v.value[0] + ' ~ ' + v.value[1]
-			this.beginDate = v.value[0]
-			this.endDate = v.value[1]
-			this.showPicker = false
-		},
-		// 查询
-		handleSearch() {
-			let params = {
-				beginDate: this.beginDate,
-				endDate: this.endDate,
-				customerMobile: this.form.customerMobile,
-			};
-			this.$emit('refresh', params)
-			this.isShow = false
-		},
-		// 重置
-		resetForm() {
-			this.$refs.uForm.resetFields()
-			this.$emit('refresh', {})
-			this.isShow = false
-		}
-	}
-};
-</script>
-
-<style lang="scss" scoped>
-.modal-content {
-	position: relative;
-}
-.search-popup {
-	.search-title {
-		text-align: center;
-		padding: 18upx 22upx;
-		color: #333;
-		border-bottom: 1px solid #eee;
-	}
-	.form-content {
-		display: block;
-		padding: 0 20upx;
-		box-sizing: content-box;
-		.status-item {
-			width: 30%;
-			text-align: center;
-			line-height: 60upx;
-			background-color: #F8F8F8;
-			color: #333;
-			border-radius: 6upx;
-			font-size: 24upx;
-			margin: 0 10upx;
-		}
-		.active {
-			background-color: #ffaa00;
-			color: #fff;
-		}
-		.form-item-inp{
-			display: inline-block;
-			width: 88%;
-			vertical-align: top;
-		}
-	}
-	.uni-list {
-		margin: 20upx;
-		.uni-list-cell {
-			display: flex;
-			align-items: center;
-			border-bottom: 1px dashed #eeeeee;
-			.uni-list-cell-db {
-				flex: 1;
-			}
-			.uni-input {
-				height: 2.5em;
-				line-height: 2.5em;
-			}
-		}
-	}
-	.uni-list-btns {
-		display: flex;
-		padding: 20upx;
-		margin-top: 200rpx;
-		.handle-btn {
-			font-size: 28upx;
-			margin: 0 30upx;
-			width: 100%;
-			flex: 1;
-		}
-	}
-}
-.date-picker {
-}
-</style>

+ 400 - 0
pages/index/userInfo.vue

@@ -0,0 +1,400 @@
+<template>
+	<view class="content">
+		<view class="content-form">
+			<view class="form-data">
+				<u-form :model="form" ref="uForm" :label-width="140" :error-type="['toast']">
+						<u-form-item prop="time" label="用户类型:" >
+							<u-select v-model="show"  mode="mutil-column-auto" :list="list" @confirm="confirm"></u-select>
+							<u-input placeholder="请选择用户类型" v-model="form.time" @click="selectTime" :disabled="true"/>
+							<u-icon name="arrow-right" slot="right" @click="selectTime"></u-icon>
+						</u-form-item>
+						<u-form-item prop="info" label="用户名称:" >
+							<u-input placeholder="请输入用户名称"  v-model="form.info"/>
+						</u-form-item>
+						<u-form-item prop="info" label="联系电话:" >
+							<u-input placeholder="请输入联系电话" v-model="form.info"/>
+						</u-form-item>
+				</u-form>
+			</view>
+			<view class="form-data">
+				<u-form :model="form" ref="uForm" :label-width="140" :error-type="['toast']">
+						<u-form-item prop="address" label="通讯地址:" >
+							<u-input placeholder="请选择通讯地址" v-model="form.address" @click="selectAddress" :disabled="true"/>
+							<u-icon name="arrow-right" slot="right"></u-icon>
+						</u-form-item>
+						<u-form-item prop="info" label="详细信息:" >
+							<u-input placeholder="请输入详细信息" v-model="form.info"/>
+						</u-form-item>
+				</u-form>
+			</view>
+			<view class="form-data qyImg">
+				<view> 上传图片 <text style="color: #a6a6a6;">(仅可上传1张,10MB以内)</text></view> 
+				<view class="info-main">
+					<view v-if="photograph.length<1 && !isView" class="camera-btn">
+						<view @click="goPhotograph" class="photograph-camera">
+							<u-icon name="camera" color="#bfbfbf" size="60" ></u-icon>
+						</view>
+					</view>
+					<view v-show="photograph.length" v-for="(item,index) in photograph" :key="index" class="photograph-con">
+						<u-icon v-show="!isView" name="close-circle-fill" color="#fa3534" size="50" class="close-circle-icon" @click="cancelPhotograph(index)"></u-icon>
+						<u-image width="100%" height="100%" :src="item" @click="previewPictures(item)"></u-image>
+					</view>
+				</view>
+			</view>
+		</view>
+		<view class="btns">
+			<u-button @click="submit" :loading="loading" :custom-style="submitBtn">提交</u-button>
+		</view>
+		<!-- <uni-popup ref="openModal" type="center">
+			<uni-popup-dialog content="确认提交吗?" @confirm="onOk" :title="title"></uni-popup-dialog>
+		</uni-popup> -->
+	</view>
+</template>
+
+<script>
+	// import uniPopup from '@/components/uni-popup/uni-popup.vue'
+	// import uniPopupDialog from '@/components/uni-popup/uni-popup-dialog.vue'
+	import {gatherSave,gatherDetail} from '@/api/index.js'
+	import {saveImgToAliOss} from '@/libs/tools.js'
+	export default {
+		// components: {
+		// 	uniPopup,uniPopupDialog
+		// },
+		data() {
+			return {
+				title:'',
+				loading:false, // 提交按钮加载圈
+				photograph: [], //  图片路径
+				form: {
+					time: '', // 其它垃圾
+					info: '', // 厨余垃圾
+					address:'' // 通讯地址
+				},
+				isView: false ,// 是否是查看详情
+				itemId:'',
+				submitBtn:{
+					backgroundColor: '#4F88F7',
+					color: '#fff',
+					borderRadius: '12px'
+				},
+				show: false,
+				list: [
+					{
+						value: 1,
+						label: '今天',
+						children: [
+							{
+								value: 2,
+								label: '上午(08-13点)',
+							},
+							{
+								value: 3,
+								label: '下午(13-18点)',
+							}
+						]
+					},
+					{
+						value: 4,
+						label: '明天',
+						children: [
+							{
+								value: 5,
+								label: '上午(08-13点)',
+							},
+							{
+								value: 6,
+								label: '下午(13-18点)',
+							}
+						]
+					},
+					{
+						value: 7,
+						label: '后天',
+						children: [
+							{
+								value: 8,
+								label: '上午(08-13点)',
+							},
+							{
+								value: 9,
+								label: '下午(13-18点)',
+							}
+						]
+					},
+				],
+				rules: {
+					time: [
+						{
+							required: true,
+							message: '请选择时间',
+							trigger: ['blur', 'change']
+						}
+					],
+					info:[{required:true,message:'请选择用户信息',trigger:['change']}]
+				}
+			};
+		},
+		onLoad(option) {
+			console.log(option,option.id,'ppppppppp')
+			// 查看
+			if(option && option.id){
+				this.isView = true
+				this.itemId=option.id
+				this.getDetailData()
+			}else {
+				console.log('--------新增')
+				this.photograph = []
+				this.form.remarks = ''
+				this.$refs.uForm.resetFields()
+			}
+		},
+		onUnload() {
+		},
+		methods: {
+			// 保留几位小数
+			// numberToFixed: function (key, num, max) {
+			//   let val = this.form[key]
+			//   let ret = numberToFixed(val, num, max)
+			//   this.$nextTick(() => {
+			//   	this.form[key] = ret
+			//   })
+			// },
+			selectAddress(){
+				 wx.chooseLocation({
+				      success: function(res) {
+						  if(res){
+							this.form.address=res,address  
+						  }
+				        console.log(res,'-----------dizhi --------------')
+				      },
+				    })
+			},
+			// 选择用户类型
+			selectTime(){
+				wx.hideKeyboard()
+				setTimeout(()=>{
+					this.show=true
+				},500)
+				
+				
+			},
+			confirm(e) {
+				console.log(e);
+				this.form.time=e[0].label + e[1].label
+			},
+			// 选择用户信息
+			selectUserInfo(){
+				uni.navigateTo({
+				    url: '/pages/index/userInfo'
+				})
+			},
+			// 获取详情数据
+			getDetailData(){
+				gatherDetail({id:this.itemId}).then(res=>{
+					if(res.status==200){
+						console.log(res)
+						const a = res.data.gatherRubbishList.find(item=>item.rubbishType=='GATHER_BUILDING')
+						const b = res.data.gatherRubbishList.find(item=>item.rubbishType=='GATHER_OTHER')
+						const c = res.data.gatherRubbishList.find(item=>item.rubbishType=='GATHER_KITCHEN')
+						this.form.gatherNum_jianzhu= a ? a.gatherNum.toString() : '0'
+						this.form.gatherNum_chuyu= c ? c.gatherNum.toString() : '0'
+						this.form.gatherNum_other= b ? b.gatherNum.toString() : '0'
+						this.form.remarks=res.data.remarks
+						this.photograph=res.data.imageUrlList || []
+						console.log(this.form,'this.form')
+					}
+				})
+			},
+			// 拍照或从相册选图片
+			goPhotograph() {
+				uni.chooseImage({
+				    count: 1, //默认9
+				    sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
+				    sourceType: ['album','camera'], //从相册选择
+				    success:  (res) =>{
+						console.log(res,'rrrrrrrrrrr')
+				        console.log(JSON.stringify(res.tempFilePaths));
+						console.log(this.photograph.length,'this.photograph')
+						if(res.tempFiles[0].size>10485760){
+							uni.showToast({
+								title: '图片过大无法上传!',
+								icon: 'none'
+							})
+							return
+						}
+						uni.showLoading({
+							title:'正在保存图片...',
+							mask: true
+						})
+						saveImgToAliOss(res.tempFilePaths[0],(ret)=>{
+							// console.log(ret,'----------ret')
+							this.photograph.push(ret.data)
+							// _this.photograph = ret.data
+							uni.hideLoading()
+						})
+				    }
+				});
+			},
+			//  预览图片
+			previewPictures(item) {
+				const photograph = [item];
+				uni.previewImage({
+					urls: photograph,
+				});
+			},
+			//  删除图片
+			cancelPhotograph(index) {
+				setTimeout(() => {
+					this.photograph.splice(index,1)
+				}, 500);
+			},
+			// 提交
+			submit(){
+				this.$refs.uForm.validate(valid => {
+					if (valid) {
+						console.log('验证通过');
+					} else {
+						console.log('验证失败');
+					}
+				});
+			},
+			// 确认提交
+			// onOk() {
+			// 	this.$refs.openModal.close()
+			// 	let params = {
+			// 		rubbishEntityList: [],
+			// 		imageUrlList: this.photograph,
+			// 		remarks: this.form.remarks
+			// 	}
+			// 	if(this.itemId){
+			// 		params.id=this.itemId
+			// 	}
+			// 	if(this.form.gatherNum_other) {
+			// 		params.rubbishEntityList.push({
+			// 			"rubbishType":"GATHER_OTHER",
+			// 			"rubbishWeight": this.form.gatherNum_other*240,
+			// 			"gatherNum": this.form.gatherNum_other,
+			// 			"unit":"BUCKET"
+			// 		})
+			// 	}
+			// 	if(this.form.gatherNum_chuyu) {
+			// 		params.rubbishEntityList.push({
+			// 			"rubbishType":"GATHER_KITCHEN",
+			// 			"rubbishWeight": this.form.gatherNum_chuyu*240,
+			// 			"gatherNum": this.form.gatherNum_chuyu,
+			// 			"unit":"BUCKET"
+			// 		})
+			// 	}
+			// 	if(this.form.gatherNum_jianzhu) {
+			// 		params.rubbishEntityList.push({
+			// 			"rubbishType":"GATHER_BUILDING",
+			// 			"rubbishWeight": this.form.gatherNum_jianzhu*1000,
+			// 			"gatherNum": this.form.gatherNum_jianzhu,
+			// 			"unit":"TON"
+			// 		})
+			// 	}
+			// 	this.loading=true
+			// 	gatherSave(params).then(res=>{
+			// 		if(res.status == 200) {
+			// 			uni.showToast({
+			// 				title: res.message,
+			// 				icon: 'none'
+			// 			})
+			// 			setTimeout(()=>{
+			// 				uni.navigateBack()
+			// 			},300)
+			// 		} else {
+			// 			uni.showToast({
+			// 				title: res.message,
+			// 				icon: 'none'
+			// 			})
+			// 		}
+			// 		this.loading= false
+			// 	})
+			// },
+			
+		},
+		// 必须要在onReady生命周期,因为onLoad生命周期组件可能尚未创建完毕
+		onReady() {
+			this.$refs.uForm.setRules(this.rules);
+		}
+	}
+</script>
+
+<style lang="scss">
+	.content{
+		width: 100%;
+		height: 100vh;
+		padding: 0;
+		background: #F5F5F5;
+		display: flex;
+		flex-direction: column;
+		.content-form{
+			flex: 1;
+			overflow-y: scroll;
+		}
+		.receiveAddress{
+			width: 100%;
+			line-height: 1.5em;
+			box-sizing: border-box;
+			font-style: normal;
+		}
+		.form-data{
+			padding: 0 30upx;
+			margin-bottom: 20upx;
+			background-color: #fff;
+		}
+		.qyImg{
+			padding: 40upx ;
+		}
+		.info-main {
+			margin-top: 14upx;
+			border-radius: 12upx;
+			background-color: #fff;
+			display: flex;
+			.location-icon {
+				padding-left: 10upx;
+				vertical-align: sub;
+			}
+			.photograph-camera {
+				border: 2upx dashed #bfbfbf;
+				border-radius: 12upx;
+				width: 140upx;
+				height: 140upx;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+			}
+			.camera-btn{
+				display: flex;
+				flex-direction: column;
+				align-items: center;
+				color: #999999;
+				font-size: 24upx;
+			}
+			.photograph-con {
+				margin: 0 20upx;
+				width: 140upx;
+				height: 140upx;
+				text-align: center;
+				position: relative;
+				.photograph-icon {
+					display: inline-block;
+					padding-top: 48upx;
+				}
+				.close-circle-icon {
+					background-color: #fff;
+					border-radius: 50%;
+					position: absolute;
+					right: -23upx;
+					top: -23upx;
+					z-index: 9;
+				}
+			}
+		}
+		.btns{
+			padding: 30upx 30upx 50upx;
+			background-color: #fff;
+		}
+	}
+</style>

+ 440 - 0
pages/index/yuyue.vue

@@ -0,0 +1,440 @@
+<template>
+	<view class="content">
+		<view class="content-form">
+			<view class="content-detail">
+				<view class="detail-text">
+					<u-image src="/static/pop_icon_warning.png" width="32" height="32"></u-image>
+					<text>请按照回收要求合理预约服务</text>
+				</view>
+				<view class="detail-xqtext">查看详情</view>
+			</view>
+			<view class="form-data">
+				<u-form :model="form" ref="uForm" :label-width="140" :error-type="['toast']">
+						<u-form-item prop="time" label="预约时间:" >
+							<u-select v-model="show"  mode="mutil-column-auto" :list="list" @confirm="confirm"></u-select>
+							<u-input placeholder="请选择预约时间" v-model="form.time" @click="selectTime" :disabled="true"/>
+							<u-icon name="arrow-right" slot="right"  @click="selectTime"></u-icon>
+						</u-form-item>
+						<u-form-item prop="info" label="用户信息:" >
+							<u-input placeholder="请选择用户信息" v-model="form.info" @click="selectUserInfo" :disabled="true"/>
+							<u-icon name="arrow-right" slot="right" @click="selectUserInfo"></u-icon>
+						</u-form-item>
+				</u-form>
+			</view>
+			<view class="form-data rubbishType">
+				<view class="rubbishType-title">回收分类</view>
+				<view class="rubbishType-tags">
+					<u-tag text="纸质类" shape="circle" type="info" @click="chooseRubbishType"/><u-tag text="金属类" shape="circle" type="info" @click="chooseRubbishType"/><u-tag text="衣物类" shape="circle" type="info" @click="chooseRubbishType"/><u-tag text="塑料类" shape="circle" type="info" @click="chooseRubbishType"/>
+				</view>
+			</view>
+			<view class="form-data rubbishType">
+				<view class="rubbishType-title">预估重量</view>
+				<view class="rubbishType-tags">
+					<u-tag text="10-50克" shape="circle" :type="weightTagType" @click="chooseWeight(1)"/><u-tag text="50-100克" shape="circle" type="info" @click="chooseWeight(2)"/><u-tag text="100克以上" shape="circle" type="info" @click="chooseWeight(3)"/>
+				</view>
+			</view>
+			<view class="form-data qyImg">
+				<view> 上传图片 <text style="color: #a6a6a6;">(最多3张,单张10MB以内)</text></view> 
+				<view class="info-main">
+					<view v-if="photograph.length<3 && !isView" class="camera-btn">
+						<view @click="goPhotograph" class="photograph-camera">
+							<u-icon name="camera" color="#bfbfbf" size="60" ></u-icon>
+						</view>
+					</view>
+					<view v-show="photograph.length" v-for="(item,index) in photograph" :key="index" class="photograph-con">
+						<u-icon v-show="!isView" name="close-circle-fill" color="#fa3534" size="50" class="close-circle-icon" @click="cancelPhotograph(index)"></u-icon>
+						<u-image width="100%" height="100%" :src="item" @click="previewPictures(item)"></u-image>
+					</view>
+				</view>
+			</view>
+		</view>
+		<view style="color:#FF2C5C;text-align: center;margin-bottom: 20upx;">当前地址/时段无可上门骑手,暂不能下单</view>
+		<view class="btns">
+			<u-button @click="submit" :loading="loading" :custom-style="submitBtn">提交</u-button>
+		</view>
+		<!-- <uni-popup ref="openModal" type="center">
+			<uni-popup-dialog content="确认提交吗?" @confirm="onOk" :title="title"></uni-popup-dialog>
+		</uni-popup> -->
+	</view>
+</template>
+
+<script>
+	// import uniPopup from '@/components/uni-popup/uni-popup.vue'
+	// import uniPopupDialog from '@/components/uni-popup/uni-popup-dialog.vue'
+	import {gatherSave,gatherDetail} from '@/api/index.js'
+	import {saveImgToAliOss} from '@/libs/tools.js'
+	export default {
+		// components: {
+		// 	uniPopup,uniPopupDialog
+		// },
+		data() {
+			return {
+				title:'',
+				loading:false, // 提交按钮加载圈
+				photograph: [], //  图片路径
+				RubbishType:[], // 回收分类
+				weightType:'',
+				weightTagType:'info', // 重量按钮类型
+				form: {
+					time: '', // 其它垃圾
+					info: '', // 厨余垃圾
+				},
+				isView: false ,// 是否是查看详情
+				itemId:'',
+				submitBtn:{
+					backgroundColor: '#4F88F7',
+					color: '#fff',
+					borderRadius: '12px'
+				},
+				show: false,
+				list: [
+					{
+						value: 1,
+						label: '今天',
+						children: [
+							{
+								value: 2,
+								label: '上午(08-13点)',
+							},
+							{
+								value: 3,
+								label: '下午(13-18点)',
+							}
+						]
+					},
+					{
+						value: 4,
+						label: '明天',
+						children: [
+							{
+								value: 5,
+								label: '上午(08-13点)',
+							},
+							{
+								value: 6,
+								label: '下午(13-18点)',
+							}
+						]
+					},
+					{
+						value: 7,
+						label: '后天',
+						children: [
+							{
+								value: 8,
+								label: '上午(08-13点)',
+							},
+							{
+								value: 9,
+								label: '下午(13-18点)',
+							}
+						]
+					},
+				],
+				rules: {
+					time: [
+						{
+							required: true,
+							message: '请选择时间',
+							trigger: ['blur', 'change']
+						}
+					],
+					info:[{required:true,message:'请选择用户信息',trigger:['change']}]
+				}
+			};
+		},
+		onLoad(option) {
+			console.log(option,option.id,'ppppppppp')
+			// 查看
+			if(option && option.id){
+				this.isView = true
+				this.itemId=option.id
+				this.getDetailData()
+			}else {
+				console.log('--------新增')
+				this.photograph = []
+				this.form.remarks = ''
+				this.$refs.uForm.resetFields()
+			}
+		},
+		onUnload() {
+		},
+		methods: {
+			// 保留几位小数
+			// numberToFixed: function (key, num, max) {
+			//   let val = this.form[key]
+			//   let ret = numberToFixed(val, num, max)
+			//   this.$nextTick(() => {
+			//   	this.form[key] = ret
+			//   })
+			// },
+			// 选择时间
+			selectTime(){
+				wx.hideKeyboard()
+				this.show=true
+			},
+			confirm(e) {
+				console.log(e);
+				this.form.time=e[0].label + e[1].label
+			},
+			// 选择用户信息
+			selectUserInfo(){
+				uni.navigateTo({
+				    url: '/pages/index/userInfo'
+				})
+			},
+			// 选择垃圾分类
+			chooseRubbishType(){},
+			// 选择重量
+			chooseWeight(value){
+				if(value!=1 || value!=2 || value!=3){
+					this.weightTagType='primary'
+				}else{
+					this.weightTagType='info'
+				}
+				console.log('-------选中重量')
+			},
+			// 获取详情数据
+			getDetailData(){
+				gatherDetail({id:this.itemId}).then(res=>{
+					if(res.status==200){
+						console.log(res)
+						const a = res.data.gatherRubbishList.find(item=>item.rubbishType=='GATHER_BUILDING')
+						const b = res.data.gatherRubbishList.find(item=>item.rubbishType=='GATHER_OTHER')
+						const c = res.data.gatherRubbishList.find(item=>item.rubbishType=='GATHER_KITCHEN')
+						this.form.gatherNum_jianzhu= a ? a.gatherNum.toString() : '0'
+						this.form.gatherNum_chuyu= c ? c.gatherNum.toString() : '0'
+						this.form.gatherNum_other= b ? b.gatherNum.toString() : '0'
+						this.form.remarks=res.data.remarks
+						this.photograph=res.data.imageUrlList || []
+						console.log(this.form,'this.form')
+					}
+				})
+			},
+			// 拍照或从相册选图片
+			goPhotograph() {
+				uni.chooseImage({
+				    count: 1, //默认9
+				    sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
+				    sourceType: ['album','camera'], //从相册选择
+				    success:  (res) =>{
+						console.log(res,'rrrrrrrrrrr')
+				        console.log(JSON.stringify(res.tempFilePaths));
+						console.log(this.photograph.length,'this.photograph')
+						if(res.tempFiles[0].size>10485760){
+							uni.showToast({
+								title: '图片过大无法上传!',
+								icon: 'none'
+							})
+							return
+						}
+						uni.showLoading({
+							title:'正在保存图片...',
+							mask: true
+						})
+						saveImgToAliOss(res.tempFilePaths[0],(ret)=>{
+							// console.log(ret,'----------ret')
+							this.photograph.push(ret.data)
+							// _this.photograph = ret.data
+							uni.hideLoading()
+						})
+				    }
+				});
+			},
+			//  预览图片
+			previewPictures(item) {
+				const photograph = [item];
+				uni.previewImage({
+					urls: photograph,
+				});
+			},
+			//  删除图片
+			cancelPhotograph(index) {
+				setTimeout(() => {
+					this.photograph.splice(index,1)
+				}, 500);
+			},
+			// 提交
+			submit(){
+				uni.navigateTo({
+				    url: '/pages/index/yuyueResult'
+				})
+				this.$refs.uForm.validate(valid => {
+					if (valid) {
+						console.log('验证通过');
+					} else {
+						console.log('验证失败');
+					}
+				});
+			},
+			// 确认提交
+			// onOk() {
+			// 	this.$refs.openModal.close()
+			// 	let params = {
+			// 		rubbishEntityList: [],
+			// 		imageUrlList: this.photograph,
+			// 		remarks: this.form.remarks
+			// 	}
+			// 	if(this.itemId){
+			// 		params.id=this.itemId
+			// 	}
+			// 	if(this.form.gatherNum_other) {
+			// 		params.rubbishEntityList.push({
+			// 			"rubbishType":"GATHER_OTHER",
+			// 			"rubbishWeight": this.form.gatherNum_other*240,
+			// 			"gatherNum": this.form.gatherNum_other,
+			// 			"unit":"BUCKET"
+			// 		})
+			// 	}
+			// 	if(this.form.gatherNum_chuyu) {
+			// 		params.rubbishEntityList.push({
+			// 			"rubbishType":"GATHER_KITCHEN",
+			// 			"rubbishWeight": this.form.gatherNum_chuyu*240,
+			// 			"gatherNum": this.form.gatherNum_chuyu,
+			// 			"unit":"BUCKET"
+			// 		})
+			// 	}
+			// 	if(this.form.gatherNum_jianzhu) {
+			// 		params.rubbishEntityList.push({
+			// 			"rubbishType":"GATHER_BUILDING",
+			// 			"rubbishWeight": this.form.gatherNum_jianzhu*1000,
+			// 			"gatherNum": this.form.gatherNum_jianzhu,
+			// 			"unit":"TON"
+			// 		})
+			// 	}
+			// 	this.loading=true
+			// 	gatherSave(params).then(res=>{
+			// 		if(res.status == 200) {
+			// 			uni.showToast({
+			// 				title: res.message,
+			// 				icon: 'none'
+			// 			})
+			// 			setTimeout(()=>{
+			// 				uni.navigateBack()
+			// 			},300)
+			// 		} else {
+			// 			uni.showToast({
+			// 				title: res.message,
+			// 				icon: 'none'
+			// 			})
+			// 		}
+			// 		this.loading= false
+			// 	})
+			// },
+			
+		},
+		// 必须要在onReady生命周期,因为onLoad生命周期组件可能尚未创建完毕
+		onReady() {
+			this.$refs.uForm.setRules(this.rules);
+		}
+	}
+</script>
+
+<style lang="scss">
+	.content{
+		width: 100%;
+		height: 100vh;
+		padding: 0;
+		background: #F5F5F5;
+		display: flex;
+		flex-direction: column;
+		.content-form{
+			flex: 1;
+			overflow-y: scroll;
+			.content-detail{
+				padding:20upx 30upx;
+				background: rgba(255, 209, 0, 0.4);
+				opacity: 1;
+				display: flex;
+				justify-content: space-between;
+				.detail-text{
+					display: flex;
+					align-items: center;
+					text{
+						display: inline-block;
+						margin-left: 15upx;
+					}
+				}
+				.detail-xqtext{
+					font-size: 30upx;
+					font-family: PingFang SC;
+					font-weight: 500;
+					color: #FF9528;
+				}
+			}
+		}
+		.receiveAddress{
+			width: 100%;
+			line-height: 1.5em;
+			box-sizing: border-box;
+			font-style: normal;
+		}
+		.form-data{
+			padding: 0 30upx;
+			margin-bottom: 20upx;
+			background-color: #fff;
+		}
+		.rubbishType{
+			padding: 30upx ;
+			.rubbishType-title{
+				margin-bottom: 20upx;
+			}
+			.rubbishType-tags{
+				display: flex;
+				justify-content: space-between;
+			}
+		}
+		.qyImg{
+			padding: 40upx ;
+		}
+		.info-main {
+			margin-top: 14upx;
+			border-radius: 12upx;
+			background-color: #fff;
+			display: flex;
+			.location-icon {
+				padding-left: 10upx;
+				vertical-align: sub;
+			}
+			.photograph-camera {
+				border: 2upx dashed #bfbfbf;
+				border-radius: 12upx;
+				width: 140upx;
+				height: 140upx;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+			}
+			.camera-btn{
+				display: flex;
+				flex-direction: column;
+				align-items: center;
+				color: #999999;
+				font-size: 24upx;
+			}
+			.photograph-con {
+				margin: 0 20upx;
+				width: 140upx;
+				height: 140upx;
+				text-align: center;
+				position: relative;
+				.photograph-icon {
+					display: inline-block;
+					padding-top: 48upx;
+				}
+				.close-circle-icon {
+					background-color: #fff;
+					border-radius: 50%;
+					position: absolute;
+					right: -23upx;
+					top: -23upx;
+					z-index: 9;
+				}
+			}
+		}
+		.btns{
+			padding: 30upx 30upx 50upx;
+			background-color: #fff;
+		}
+	}
+</style>

+ 54 - 0
pages/index/yuyueResult.vue

@@ -0,0 +1,54 @@
+<template>
+	<view class="content">
+		<view class="content-result">
+			<u-image src="/static/def_pay_success.png" width="250" height="180"></u-image>
+			<view class="result-yuyue">预约成功</view>
+			<view class="result-yuyueDetail" @click="seeDetail">查看详情</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default{
+		data(){
+			return{
+				
+			}
+		},
+		methods:{
+			seeDetail(){
+				uni.navigateTo({
+				    url: '/pages/index/yuyue'
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="less">
+	.content{
+		width: 100%;
+		height: 100vh;
+		display: flex;
+		text-align: center;
+		justify-content: center;
+		align-items: center;
+		padding: 0;
+		.content-result{
+			.result-yuyue{
+				margin: 40upx 0 140upx;
+				font-size: 40upx;
+				font-family: PingFang SC;
+				font-weight: bold;
+				color: #222222;
+			}
+			.result-yuyueDetail{
+				height: 80upx;
+				line-height: 80upx;
+				background: #4F88F7;
+				border-radius: 30px;
+				color: #fff;
+			}
+		}
+	}
+</style>

+ 50 - 65
pages/login/login.vue

@@ -3,17 +3,13 @@
 		<!-- <view> -->
 			<view>
 				<view class="logo-cont">
-					<u-image src="/static/login_icon.png" width="160" height="160" class="logo"></u-image>
-					<u-image src="/static/login_slogan.png" mode="aspectFit" width="286" height="36" class="logo_text"></u-image>
+					<u-image src="/static/login_icon_logo.png" width="160" height="160" class="logo"></u-image>
+					<!-- <u-image src="/static/login_slogan.png" mode="aspectFit" width="286" height="36" class="logo_text"></u-image> -->
 				</view>
 				<view class="login-btns">
 					<u-button shape="circle" :custom-style="wxButton" class="login-btn" type="success" :hair-line="false" open-type="getPhoneNumber" @getphonenumber="getPhoneNumber">
 						微信授权登录
 					</u-button>
-					<u-gap height="30"></u-gap>
-					<u-button shape="circle" :custom-style="phoneButton" class="login-btn phoneBtn" @click="phoneLogin" :hoverClass='none'>
-						账号密码登录
-					</u-button>
 				</view>
 			</view>
 			<view class="nologin">
@@ -22,7 +18,7 @@
 				</u-button>
 			</view>
 		<!-- </view> -->
-		<view @click="toYs" class="yszc">登录即代表同意<text class="yszc-text">服务协议及隐私保护政策</text></view>
+		<view @click="toYs" class="yszc">首次登录会自动创建账号且即代表同意<text class="yszc-text">《车领主服务协议》</text><text class="yszc-text">《隐私保护政策</text></view>
 	</view>
 </template>
 
@@ -40,9 +36,19 @@
 				wxButton: {
 					background: '#0DC55F'
 				},
-				phoneButton: {
-					background: '#fff',
-					color:'#000',
+				popupBox:{
+					padding:'20'
+				},
+				cancelBtn:{
+					background:'#eee',
+					color:"#07C160",
+					width:'100px',
+					height:'35px',
+					border:0
+				},
+				submitBtn:{
+					width:'100px',
+					height:'35px'
 				}
 			}
 		},
@@ -137,19 +143,6 @@
 					}
 				})
 			},
-			// 手机号登录
-			phoneLogin () {
-				if(this.url){
-					wx.navigateTo({
-						url: '/pages/login/phoneLogin?path='+this.path+'&lanuch='+this.lanuch+'&encode='+this.url 
-					})
-				}else{
-					wx.navigateTo({
-						url: '/pages/login/phoneLogin?path='+this.path+'&lanuch='+this.lanuch
-					})
-				}
-			  
-			}
 		}
 	}
 </script>
@@ -158,7 +151,7 @@
 	.content{
 		width: 100%;
 		height: 100vh;
-		padding:0 40upx;
+		padding:0 130upx;
 		margin: 0 auto;
 		.logo-cont{
 			display: flex;
@@ -167,7 +160,7 @@
 		}
 		.logo{
 			display: inline-block;
-			margin:250upx 256upx 24upx;
+			margin:240upx 256upx 120upx;
 		}
 		.logo_text{
 			display: inline-block;
@@ -175,7 +168,7 @@
 		}
 		.login-btn{
 			display: block;
-			width: 670upx;
+			// width: 670upx;
 			height: 80upx;
 		}
 		.phoneBtn:active{
@@ -184,52 +177,44 @@
 		}
 		.nologin{
 			text-align: center;
-			margin: 100upx 0 50upx 0;
+			margin: 100upx 0 200upx 0;
 		}
 		.yszc{
 			font-size: 24upx;
 			text-align: center;
 			.yszc-text{
-				color:#07c160;
+				color:#4F88F7;
 			}
 			
 		}
+		.popup-title{
+			display: flex;
+			align-items: center;
+			padding: 30rpx 40rpx;
+			h4{
+				margin-left:20rpx ;
+			}
+		}
+		.popup-usePhone{
+			padding:20rpx  40rpx ;
+		}
+		.popup-bindPhone{
+			display: flex;
+			padding:20rpx  40rpx ;
+			text{
+				display: inline-block;
+				margin-left: 20rpx;
+				color:#999
+			}
+		}
+		.popup-useOtherPhone{
+			padding:20rpx  40rpx ;
+			color:#576B95
+		}
+		.popup-btn{
+			display: flex;
+			justify-content: space-around;
+			padding:20rpx  40rpx 40rpx;
+		}
 	}
-	// .content {
-	// 	width: 100%;
-	// 	height: 100%;
-	// 	padding: 40upx;
-	// 	display: flex;
-	// 	flex-direction: column;
-	// 	> view{
-	// 		text-align: center;
-	// 		&:first-child{
-	// 			flex-grow: 1;
-	// 			height: 80vh;
-	// 			padding: 20% 10%;
-	// 			display: flex;
-	// 			flex-direction: column;
-	// 			justify-content: space-between;
-	// 		}
-	// 		&:last-child{
-	// 			font-size: 24upx;
-	// 			text{
-	// 				color: #07c160;
-	// 			}
-	// 		}
-	// 		.logo{
-	// 			text-align: center;
-	// 			display: flex;
-	// 			justify-content: center;
-	// 		}
-	// 		.login-btns{
-	// 			// padding: 60upx 0;
-	// 			.login-btn{
-	// 				width: 670upx;
-	// 				height: 50upx;
-	// 				border-radius: 25upx;
-	// 			}
-	// 		}
-	// 	}
-	// }
 </style>

+ 148 - 0
pages/order/index.vue

@@ -0,0 +1,148 @@
+<template>
+	<view class="content">
+		<view v-for="item in orderList" class="order-content">
+			<view class="item-userInfo item1" @click="itemChange(item)">
+				<view class="userInfo">
+					<u-image :src="item.img" width="72" height="72" shape="circle"></u-image>
+					<view class="userInfo-nameOrPhone">
+						<view class="name">{{item.name}}</view>
+						<view class="phone"><u-icon name="phone"></u-icon><text>{{item.phone}}</text></view>
+					</view>
+				</view>
+				<view>
+					<!-- <u-icon :name="nameType" color='#999' @click="isShow"></u-icon> -->
+					<u-icon v-show="item.isUp" name="arrow-up" color="#999" size="28"></u-icon>
+					<u-icon v-show="!item.isUp" name="arrow-down" color="#999" size="28"></u-icon>
+					<!-- <u-icon name="arrow-up" color='#999' @click="isShow"></u-icon> -->
+				</view>
+			</view>
+			<view v-show="item.isUp">
+				<u-line color="#e5e5e5" />
+				<view class="item-userInfo-detail">
+					<view class="detail-title">用户信息</view>
+					<view class="detail-title coucntinfo"><text class="coucntname">{{item.coucntname}}</text><text>{{item.coucntphone}}</text></view>
+					<view class="detail-title address">{{item.address}}</view>
+				</view>
+				<u-line color="#e5e5e5"/>
+				<view class="item-userInfo-detail detail-title">订单信息</view>
+				<u-line color="#e5e5e5"/>
+				<view class="item-userInfo item-userInfo-detail"><text class="address">订单编号</text><text class="detail-title">{{item.orderNo}}</text></view>
+				<u-line color="#e5e5e5"/>
+				<view class="item-userInfo item-userInfo-detail"><text class="address">预约时间</text><text class="detail-title">{{item.yuyueTime}}</text></view>
+				<u-line color="#e5e5e5"/>
+				<view class="item-userInfo item-userInfo-detail"><text class="address">下单时间</text><text class="detail-title">{{item.orderTime}}</text></view>
+				<u-line color="#e5e5e5"/>
+				<view class="item-userInfo item-userInfo-detail"><text class="address">预约品类</text><text class="detail-title">{{item.type}}</text></view>
+				<view class="item-userInfo-detail-image">
+					<u-image :src="img" v-for=" img in item.imgList" width="120" height="120" class="detail-image"></u-image>
+				</view>
+				<u-line color="#e5e5e5"/>
+				<view class="userInfo cancelBtn"><u-button :custom-style="cancelBtn" :hair-line="false">取消订单</u-button></view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default{
+		data(){
+			return{
+				cancelBtn:{
+					width: '106px',
+					height: '38px',
+					background: '#E5E5E5',
+					borderRadius:' 6px'
+				},
+				orderList:[
+					{img:'/static/edit.png',name:'骑手1',phone:'18292887584',coucntname:'用户1',coucntphone:'15991205189',address:'陕西省西安未央区北二环华帝金座A西安车领主网络科技有限公司',orderNo:'20122536987',yuyueTime:'今天中午',orderTime:'2021-12-25 13:15:36',type:'纸质类,塑料类',isUp:true,imgList:[{img:'/static/logo.jpg'},{img:'/static/logo.jpg'},{img:'/static/logo.jpg'}]},
+					{img:'/static/edit.png',name:'骑手2',phone:'18292887584',coucntname:'用户2',coucntphone:'15991205189',address:'陕西省西安未央区北二环华帝金座A西安车领主网络科技有限公司',orderNo:'20122536987',yuyueTime:'今天中午',orderTime:'2021-12-25 13:15:36',type:'纸质类,塑料类',isUp:false,imgList:[{img:'/static/logo.jpg'},{img:'/static/logo.jpg'},{img:'/static/logo.jpg'}]}
+					]
+			}
+		},
+		methods:{
+			// 数据展开收起
+			itemChange(item) {
+				// item.isUp = !item.isUp
+				this.$nextTick(function(){
+					item.isUp = !item.isUp
+				})
+			},
+		}
+		}
+</script>
+
+<style lang="less">
+	.content{
+		width: 100%;
+		height: 100vh;
+		padding: 20upx 30upx;
+		background-color: #f5f5f5;
+		.order-content{
+			padding: 30upx;
+			background-color: #fff;
+			display: flex;
+			flex-direction: column;
+			border-radius: 12px;
+			font-family: PingFang SC;
+			margin-bottom: 20upx;
+			.item-userInfo{
+				display: flex;
+				align-items: center;
+				justify-content: space-between;
+				.userInfo{
+					display: flex;
+					.userInfo-nameOrPhone{
+						margin-left: 20upx;
+						font-size: 28upx;
+						.name{
+							font-weight: bold;
+							color: #222;
+						}
+						.phone{
+							font-weight: 400;
+							color: #999;
+						}
+					}
+				}
+			}
+			.item1{
+				padding-bottom: 20upx;
+			}
+			.item-userInfo-detail{
+				padding: 30upx 0;
+				view:not(last-child){
+					padding-bottom: 10upx;
+				}
+				.detail-title{
+					font-size: 32upx;
+					font-weight: 400;
+					color:#222
+				}
+				.coucntinfo{
+					font-size: 28upx;
+					.coucntname{
+						display: inline-block;
+						margin-right: 20upx;
+					}
+				}
+				.address{
+					font-size: 28upx;
+					color: #999;
+				}
+				
+			}
+			.item-userInfo-detail-image{
+				display: flex;
+				padding-bottom: 30upx;
+				.detail-image{
+					margin-right: 20upx;
+				}
+			}
+			.cancelBtn{
+				display: flex;
+				justify-content: flex-end;
+				padding-top: 30upx;
+			}
+		}
+	}
+</style>

+ 22 - 9
pages/userCenter/index.vue

@@ -7,17 +7,24 @@
 				<!-- <u-image v-show="!hasLogin" src="/static/logo.png" width="100" height="100"></u-image> -->
 			</view>
 			<view class="user-info">
-				<view v-if="hasLogin" class="user-info-item">{{userData.stationName || ''}}</view>
-				<view v-if="hasLogin" class="user-info-item">{{userData.gatherName||''}} {{userData.gatherPhone || ''}}</view>
-				<u-button v-else="!hasLogin" plain size="mini" shape="circle" @click="toLoginPage">立即登录</u-button>
+				<view>
+					<view v-if="hasLogin" class="user-info-item">{{userData.stationName || ''}}</view>
+					<view v-if="hasLogin" class="user-info-item">{{userData.gatherName||''}} {{userData.gatherPhone || ''}}</view>
+					<u-button v-else="!hasLogin" plain size="mini" shape="circle" @click="toLoginPage">立即登录</u-button>
+				</view>
+				<view>
+					<u-tag :text="price" bg-color="#ff2c5c30" color="#FF2C5C" shape="circleLeft" mode="dark" class="tagPrice"/>
+				</view>
 			</view>
 		</view>
 		<!-- 列表 -->
 		<view class="user-list">
 			<u-cell-group>
-				<u-cell-item icon="file-text" icon-size="40" :icon-style="{color:'#ffaa00'}" index="0" @click="toPage" title="服务协议及隐私政策"></u-cell-item>
-				<u-cell-item  v-if="hasLogin" icon="lock" icon-size="38" :icon-style="{color:'#00aaff'}" index="1" @click="toPage" title="修改密码"></u-cell-item>
-				<u-cell-item  icon="error-circle" icon-size="38" :icon-style="{color:'#aaaaff'}" :value="version" @click="checkUpdate" title="版本检查"></u-cell-item>
+				<!-- <u-cell-item icon="minus-circle" icon-size="40" index="3" @click="quitSys" title="退出登录"></u-cell-item> -->
+				<!-- <u-cell-item icon="file-text" icon-size="40" :icon-style="{color:'#ffaa00'}" index="0" @click="toPage" title="服务协议及隐私政策"></u-cell-item> -->
+				<!-- <u-cell-item icon="file-text" icon-size="40" :icon-style="{color:'#ffaa00'}" index="0" v-if="hasLogin" @click="toPage" title="退出登录"></u-cell-item> -->
+				<!-- <u-cell-item  v-if="hasLogin" icon="lock" icon-size="38" :icon-style="{color:'#00aaff'}" index="1" @click="toPage" title="修改密码"></u-cell-item> -->
+				<u-cell-item  icon="error-circle" icon-size="38" :icon-style="{color:'#aaaaff'}" :value="version" v-if="hasLogin" @click="checkUpdate" title="版本检查"></u-cell-item>
 			</u-cell-group>
 		</view>
 		<view class="user-list quit">
@@ -35,6 +42,7 @@
 			return {
 				hasLogin: false,
 				userData: {},
+				price:'500元',  // 交易金额
 				version: '1.0.0' // 小程序版本
 			};
 		},
@@ -167,13 +175,15 @@
 	.user-content{
 		width: 100%;
 		.user-head{
-			background: #0DC55F;
+			background: #fff;
 			display: flex;
 			align-items: center;
-			padding: 35rpx 55rpx;
+			padding: 35rpx 0rpx 35rpx 55rpx;
 			.user-info{
+				display: flex;
+				justify-content: space-between;
 				flex-grow: 1;
-				padding: 0 20rpx;
+				padding-left: 20rpx;
 				color: #FFFFFF;
 				.user-info-item{
 					margin: 10rpx 0;
@@ -181,6 +191,9 @@
 						font-size: 34upx;
 					}
 				}
+				.tagPrice{
+					width: 200rpx;
+				}
 			}
 			.user-photo{
 				display: block;

+ 75 - 0
project.config.json

@@ -0,0 +1,75 @@
+{
+  "description": "项目配置文件",
+  "packOptions": {
+    "ignore": []
+  },
+  "setting": {
+    "urlCheck": true,
+    "es6": true,
+    "enhance": false,
+    "postcss": true,
+    "preloadBackgroundData": false,
+    "minified": true,
+    "newFeature": false,
+    "coverView": true,
+    "nodeModules": false,
+    "autoAudits": false,
+    "showShadowRootInWxmlPanel": true,
+    "scopeDataCheck": false,
+    "uglifyFileName": false,
+    "checkInvalidKey": true,
+    "checkSiteMap": true,
+    "uploadWithSourceMap": true,
+    "compileHotReLoad": false,
+    "useMultiFrameRuntime": true,
+    "useApiHook": true,
+    "useApiHostProcess": true,
+    "babelSetting": {
+      "ignore": [],
+      "disablePlugins": [],
+      "outputPath": ""
+    },
+    "enableEngineNative": false,
+    "bundle": false,
+    "useIsolateContext": true,
+    "useCompilerModule": true,
+    "userConfirmedUseCompilerModuleSwitch": false,
+    "userConfirmedBundleSwitch": false,
+    "packNpmManually": false,
+    "packNpmRelationList": [],
+    "minifyWXSS": true
+  },
+  "compileType": "miniprogram",
+  "libVersion": "2.17.0",
+  "appid": "wxc0af8df4c4a03f3f",
+  "projectname": "miniprogram-1",
+  "debugOptions": {
+    "hidedInDevtools": []
+  },
+  "scripts": {},
+  "staticServerOptions": {
+    "baseURL": "",
+    "servePath": ""
+  },
+  "isGameTourist": false,
+  "condition": {
+    "search": {
+      "list": []
+    },
+    "conversation": {
+      "list": []
+    },
+    "game": {
+      "list": []
+    },
+    "plugin": {
+      "list": []
+    },
+    "gamePlugin": {
+      "list": []
+    },
+    "miniprogram": {
+      "list": []
+    }
+  }
+}

BIN
static/CLOTHES.png


BIN
static/banner.jpg


BIN
static/def_pay_success.png


BIN
static/filter.png


BIN
static/home.png


BIN
static/home_bg_expressage.png


BIN
static/home_current.png


BIN
static/home_sign_rider.png


BIN
static/houme_bg_guide.png


File diff suppressed because it is too large
+ 85 - 0
static/iconfont-weapp-icon.css


BIN
static/index/chuyu.png


BIN
static/index/jianzhu.png


BIN
static/index/logo-active.png


BIN
static/index/logo.png


BIN
static/index/other.png


BIN
static/login_icon_logo.png


BIN
static/logo.jpg


BIN
static/logo.png


BIN
static/order.png


BIN
static/order_current.png


BIN
static/person.png


BIN
static/person_current.png


BIN
static/pop_icon_warning.png


BIN
static/tabbar/home-active.png


BIN
static/tabbar/home.png


BIN
static/tabbar/shop-active.png


BIN
static/tabbar/shop.png


BIN
static/tabbar/user-active.png


BIN
static/tabbar/user.png


Some files were not shown because too many files changed in this diff