浏览代码

意见返馈

mr-zhou-zhou 2 年之前
父节点
当前提交
77ca6a12b4

+ 26 - 1
common/tools.js

@@ -329,6 +329,29 @@ const replaceDetail = (details = '') => {
   return newContent;
 }
 
+//处理选择时间
+const handleStrLength=(num)=>{
+	return String(num).length < 2 ? '0' + num : num;
+}
+const handleDate=(date)=>{
+	let m = handleStrLength(date.getMonth() + 1);
+	let d = handleStrLength(date.getDate());
+	// let h = handleStrLength(date.getHours());
+	// let mm = handleStrLength(date.getMinutes());
+	// let dateStr = date.getFullYear() + "-" + m + "-" + d + " " + h + ":" + mm;
+	let dateStr = date.getFullYear() + "-" + m + "-" + d;
+	return dateStr;
+}
+const handleDateTime=(date)=>{
+	let m = handleStrLength(date.getMonth() + 1);
+	let d = handleStrLength(date.getDate());
+	// let h = handleStrLength(date.getHours());
+	// let mm = handleStrLength(date.getMinutes());
+	let dateStr = date.getFullYear() + "-" + m + "-" + d + " " + h + ":" + mm;
+	// let dateStr = date.getFullYear() + "-" + m + "-" + d;
+	return dateStr;
+}
+
 export default {
 	msg,
 	date,
@@ -340,5 +363,7 @@ export default {
 	uploadVideo,
 	previewImg,
 	checkDeviceAuthorize,
-	replaceDetail
+	replaceDetail,
+	handleDate,
+	handleDateTime
 }

+ 135 - 0
components/kx-choose.vue

@@ -0,0 +1,135 @@
+<template>
+	<view name='KXDateTime'>
+		<popup ref="popup" type="bottom" :zIndex="999">
+			<view class="time-panel">
+				<!-- <image src="/static/perm/cancel.png" mode="aspectFill" class="cancel-img" @click="close"></image> -->
+				
+				<view class="zicon-quxiao cancel" @click="close"></view>
+				<view class="but">
+					<text class="title">请选择</text>
+				</view>
+				
+				<picker-view  :indicator-style="indicatorStyle" :value="val"  @change="bindChange">
+					<picker-view-column>
+						<view class="item" v-for="(item,index) in datas" :key="index">{{item.name}}</view>
+					</picker-view-column>
+				</picker-view>
+			    <view class="btn" @click="ok">确定</view>
+			</view>
+		</popup>
+	</view>
+</template>
+
+<script>
+	// import uniPopup from '../uni-popup/uni-popup.vue'
+	export default {
+		name: 'KXChoose',
+		components: {
+			// uniPopup
+		},
+		// props: {
+		// 	datas:[],
+		// },
+		data() {
+			return {
+				title: 'picker-view',
+				indicatorStyle: `height: 80rpx;`,
+				datas:[],
+				activeItem:'',
+				val:[0],
+			}
+		},
+		methods: {
+			open(datas) {
+				if(!datas && datas.length === 0){
+					return;
+				}
+				this.datas = datas;
+				this.activeItem = this.datas[this.val[0]];
+				this.$refs.popup.show();
+			},
+			close() {
+				this.$refs.popup.hide()
+				this.$emit("close");
+			},
+			ok() {
+				// 点击确定才触发
+				if(!this.activeItem){
+					return;
+				}
+				this.$emit("rundata",{item:this.activeItem,items:this.datas})
+				this.$refs.popup.hide()
+			},
+			bindChange: function(e) {
+				console.log('bindChange===',e);
+				let val = e.detail.value; //只要上下滑动就触发
+				this.val = val;
+				this.activeItem = this.datas[val[0]]
+			},
+		},
+	}
+</script>
+
+<style lang="scss" scoped>
+	.time-panel{
+		width: 100%;
+		height: 687rpx;
+		background: #ffffff;
+		border-radius: 20rpx 20rpx 0rpx 0rpx;
+		padding: 45rpx 30rpx 0;
+		position: relative;
+		.cancel{
+			width: 88rpx;
+			height: 88rpx;
+			padding: 30rpx;
+			position: absolute;
+			top:0;
+			right: 0;
+		}
+	}
+	.cancel-img{
+		width: 88rpx;
+		height: 88rpx;
+		padding: 30rpx;
+		position: absolute;
+		right: 0;
+		top: 0;
+		z-index: 6;
+	}
+	.but {
+		background: #fff;
+		// height: 80rpx;
+		// line-height: 80rpx;
+		width: 100%;
+		text-align: left;
+		.title{
+			font-size: 36rpx;
+			font-weight: 700;
+			color: #333333;
+		}
+		
+	}
+	picker-view {
+		width: 100%;
+		background: #fff;
+		height: 403rpx;
+		text-align: center;
+		.item{
+			height: 80rpx;
+			line-height: 80rpx;
+		}
+	}
+    .btn{
+		width: 620rpx;
+		height: 90rpx;
+		line-height: 90rpx;
+		text-align: center;
+		background: #009ffd;
+		border-radius: 45rpx;
+		box-shadow: 5rpx 5rpx 15rpx 0px rgba(0,159,253,0.6); 
+		font-size: 30rpx;
+		font-weight: 500;
+		color: #ffffff;
+		margin:73rpx auto 42rpx;
+	}
+</style>

+ 60 - 1
pages.json

@@ -43,7 +43,8 @@
 		    "path" : "pages/mine/mine",
 		    "style" :                                                                                    
 		    {
-		        "navigationBarTitleText": ""
+		        "navigationBarTitleText": "",
+				"navigationStyle": "custom"
 		    }
 		},
         {
@@ -144,6 +145,64 @@
             }
             
         }
+		,{
+		    "path" : "pages/mine/userCenter",
+		    "style" :                                                                                    
+		    {
+		        "navigationBarTitleText": "个人中心",
+		        "enablePullDownRefresh": false
+		    }
+		    
+		}
+        ,{
+            "path" : "pages/mine/balance/myBalance",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "我的余额",
+                "enablePullDownRefresh": false,
+				"navigationBarBackgroundColor": "#f8f8f8",
+				"backgroundColor": "#f8f8f8"
+            }
+            
+        }
+        ,{
+            "path" : "pages/mine/balance/moreRecharge",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "充值中心",
+                "enablePullDownRefresh": false
+            }
+            
+        }
+        ,{
+            "path" : "pages/mine/balance/moreRecord",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "帐户明细",
+                "enablePullDownRefresh": false
+            }
+            
+        }
+        ,{
+            "path" : "pages/mine/shopApply",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "商家入驻",
+                "enablePullDownRefresh": false
+            }
+            
+        }
+        ,{
+            "path" : "pages/mine/feedback",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "意见反馈",
+                "enablePullDownRefresh": false,
+				"navigationBarBackgroundColor": "#f8f8f8",
+				"backgroundColor": "#f8f8f8"
+            }
+            
+        }
     ],
 	"tabBar": {
 		"color": "#999999",

+ 1 - 13
pages/mang/confirm.vue

@@ -139,7 +139,7 @@ export default {
 	},
 	onLoad() {
 		let date = new Date();
-		this.startdate = this.handleDatetime(date);
+		this.startdate = this.$tools.handleDatetime(date);
 	},
 	methods: {
 		//数量
@@ -171,18 +171,6 @@ export default {
 				}
 			}
 		},
-	    //时间
-		handleStrLength(num){
-			return String(num).length < 2 ? '0' + num : num;
-		},
-		handleDatetime(date){
-			let m = this.handleStrLength(date.getMonth() + 1);
-			let d = this.handleStrLength(date.getDate());
-			let h = this.handleStrLength(date.getHours());
-			let mm = this.handleStrLength(date.getMinutes());
-			let dateStr = date.getFullYear() + "-" + m + "-" + d + " " + h + ":" + mm;
-			return dateStr;
-		},
 		getTime(e){
 	    	this.show_time=e;
 	    	// var date= new Date(e.replace(/-/g, "/"));

+ 97 - 0
pages/mine/balance/moreRecharge.vue

@@ -0,0 +1,97 @@
+<template>
+	<view class="page">
+		<view class="p-recharge flex-col">
+			  <view class="grid">
+			    <view class="flex-col items-start grid-item" v-for="(item,idx) in 4" :key="idx">
+			      <view class="group_7 align-center">
+			        <text class="text_6">¥</text>
+			        <text class="text_8 clamp">100</text>
+			      </view>
+			      <text class="text_10">充值金额</text>
+			    </view>
+			  </view>
+		</view>
+		<safe-area bgColor="#f8f8f8" />
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				
+			};
+		}
+	}
+</script>
+
+<style lang="scss">
+page{
+	background-color: #f8f8f8;
+}
+.page{
+	padding: 30rpx;
+}
+.p-recharge{
+  padding: 29rpx 20rpx 30rpx;
+  background-color: #ffffff;
+  border-radius: 4rpx;
+	.text_4 {
+	  color: #333333;
+	  font-size: 30rpx;
+	  font-family: PingFang;
+	  line-height: 29rpx;
+	  letter-spacing: 1.2rpx;
+	}
+	.group_6 {
+	  margin-top: 4rpx;
+	}
+	.text_5 {
+	  color: #999999;
+	  font-size: 24rpx;
+	  font-family: PingFang;
+	  line-height: 23rpx;
+	}
+	.image_5 {
+	  margin-left: 13rpx;
+	  flex-shrink: 0;
+	  width: 12rpx;
+	  height: 20rpx;
+	}
+	.grid {
+	  display: grid;
+	  grid-template-columns: repeat(2, 1fr);
+	  row-gap: 22rpx;
+	  column-gap: 22rpx;
+	}
+	.grid-item {
+	  padding: 26rpx 22rpx 30rpx;
+	  background-color: #ffffff;
+	  border-radius: 4rpx;
+	  border: solid 1rpx #d8d8d8;
+	}
+	.group_7 {
+	  line-height: 31rpx;
+	}
+	.text_6 {
+	  color: #333333;
+	  font-size: 28rpx;
+	  font-family: PingFang;
+	  letter-spacing: 1.12rpx;
+	}
+	.text_8 {
+	  color: #333333;
+	  font-size: 40rpx;
+	  font-family: PingFang;
+	  max-width: 220rpx;
+	  letter-spacing: 1.6rpx;
+	}
+	.text_10 {
+	  margin-left: 7rpx;
+	  margin-top: 13rpx;
+	  color: #999999;
+	  font-size: 24rpx;
+	  font-family: PingFang;
+	}
+}
+</style>

+ 72 - 0
pages/mine/balance/moreRecord.vue

@@ -0,0 +1,72 @@
+<template>
+	<view class="page">
+        <view class="p-list">
+		    <view class="list-wrap flex-col">
+				  <view class="flex-col list-item" :key="i" v-for="(item, i) in 8">
+				    <view class="flex-row justify-between">
+				      <text class="name clamp">幸福西饼四拼多口味蛋糕</text>
+					  <!-- add -->
+				      <text class="price">-¥148.50</text>
+				    </view>
+				    <text class="time">2022/07/15 15:12</text>
+				  </view>
+			</view>
+		</view>
+		<safe-area bgColor="#f8f8f8" />
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				
+			};
+		}
+	}
+</script>
+
+<style lang="scss">
+page{
+	background-color: #f8f8f8;
+}
+.page{
+	padding: 30rpx;
+}
+.p-list{
+	background: #FFFFFF;
+	border-radius: 4rpx;
+	.list-wrap{
+		.list-item{
+			padding: 40rpx 27rpx 40rpx 30rpx;
+		}
+		.list-item:not(:last-of-type) {
+		  border-bottom: solid 2rpx #0000000f;
+		}
+		.name {
+		  color: #333333;
+		  font-size: 30rpx;
+		  font-family: PingFang;
+		  letter-spacing: 1.2rpx;
+		  max-width: 439rpx;
+		}
+		.price {
+		  margin-top: 6rpx;
+		  color: #ea5f58;
+		  font-size: 30rpx;
+		  font-family: PingFang;
+		  &.add{
+			  color:#333333;
+		  }
+		}
+		.time {
+		  margin-top: 14rpx;
+		  align-self: flex-start;
+		  color: #999999;
+		  font-size: 24rpx;
+		  font-family: PingFang;
+		}
+	}
+}
+
+</style>

+ 217 - 0
pages/mine/balance/myBalance.vue

@@ -0,0 +1,217 @@
+<template>
+	<view class="page">
+		<view class="p-money flex-col items-start">
+			  <text class="key">余额</text>
+			  <text class="val clamp">387.50</text>
+		</view>
+		<view class="p-recharge flex-col">
+			  <view class="flex-row justify-between">
+			    <text class="text_4">充值中心</text>
+			    <view class="flex-row group_6">
+			      <text class="text_5">更多</text>
+			      <image
+			        src="/static/rech-rarrow.png"
+			        class="image_5"
+			      />
+			    </view>
+			  </view>
+			  <view class="grid">
+			    <view class="flex-col items-start grid-item" v-for="(item,idx) in 4" :key="idx">
+			      <view class="group_7 align-center">
+			        <text class="text_6">¥</text>
+			        <text class="text_8 clamp">100</text>
+			      </view>
+			      <text class="text_10">充值金额</text>
+			    </view>
+			  </view>
+		</view>
+		
+		<view class="p-list">
+			<view class="flex-row justify-between title-wrap">
+			  <text class="title">账户明细</text>
+			  <view class="flex-row group_9">
+			    <text class="txt">更多</text>
+			    <image
+			      src="/static/rech-rarrow.png"
+			      class="ic"
+			    />
+			  </view>
+			</view>
+		    <view class="list-wrap flex-col">
+				  <view class="flex-col list-item" :key="i" v-for="(item, i) in 8">
+				    <view class="flex-row justify-between">
+				      <text class="name clamp">幸福西饼四拼多口味蛋糕</text>
+					  <!-- add -->
+				      <text class="price">-¥148.50</text>
+				    </view>
+				    <text class="time">2022/07/15 15:12</text>
+				  </view>
+			</view>
+		</view>
+		<safe-area bgColor="#f8f8f8" />
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				
+			};
+		}
+	}
+</script>
+
+<style lang="scss">
+page{
+	background-color: #f8f8f8;
+}
+.page{
+	padding: 30rpx;
+}
+.p-money{
+	  padding: 22rpx 30rpx 51rpx;
+	  background-color: #92b99c;
+	  border-radius: 10rpx;
+	.key {
+	  color: #ffffff;
+	  font-size: 32rpx;
+	  font-family: PingFang;
+	  letter-spacing: 1.28rpx;
+	}
+	.val {
+	  margin-top: 27rpx;
+	  color: #ffffff;
+	  font-size: 54rpx;
+	  font-family: PingFang;
+	  letter-spacing: 2.16rpx;
+	  max-width: 400rpx;
+	}
+}
+.p-recharge{
+  margin-top: 24rpx;
+  padding: 29rpx 20rpx 30rpx;
+  background-color: #ffffff;
+  border-radius: 4rpx;
+	.text_4 {
+	  color: #333333;
+	  font-size: 30rpx;
+	  font-family: PingFang;
+	  line-height: 29rpx;
+	  letter-spacing: 1.2rpx;
+	}
+	.group_6 {
+	  margin-top: 4rpx;
+	}
+	.text_5 {
+	  color: #999999;
+	  font-size: 24rpx;
+	  font-family: PingFang;
+	  line-height: 23rpx;
+	}
+	.image_5 {
+	  margin-left: 13rpx;
+	  flex-shrink: 0;
+	  width: 12rpx;
+	  height: 20rpx;
+	}
+	.grid {
+	  margin-top: 41rpx;
+	  display: grid;
+	  grid-template-columns: repeat(2, 1fr);
+	  row-gap: 22rpx;
+	  column-gap: 22rpx;
+	}
+	.grid-item {
+	  padding: 26rpx 22rpx 30rpx;
+	  background-color: #ffffff;
+	  border-radius: 4rpx;
+	  border: solid 1rpx #d8d8d8;
+	}
+	.group_7 {
+	  line-height: 31rpx;
+	}
+	.text_6 {
+	  color: #333333;
+	  font-size: 28rpx;
+	  font-family: PingFang;
+	  letter-spacing: 1.12rpx;
+	}
+	.text_8 {
+	  color: #333333;
+	  font-size: 40rpx;
+	  font-family: PingFang;
+	  max-width: 220rpx;
+	  letter-spacing: 1.6rpx;
+	}
+	.text_10 {
+	  margin-left: 7rpx;
+	  margin-top: 13rpx;
+	  color: #999999;
+	  font-size: 24rpx;
+	  font-family: PingFang;
+	}
+}
+.p-list{
+	margin-top: 20rpx;
+	background: #FFFFFF;
+	border-radius: 4rpx;
+	.title-wrap{
+		  padding: 29rpx 20rpx 30rpx 21rpx;
+		  border-bottom: solid 2rpx #0000001a;
+		.title{
+		  color: #333333;
+		  font-size: 30rpx;
+		  font-family: PingFang;
+		  line-height: 29rpx;
+		  letter-spacing: 1.2rpx;
+		}
+		.group_9 {
+		  margin-top: 4rpx;
+		}
+		.txt {
+		  color: #999999;
+		  font-size: 24rpx;
+		  font-family: PingFang;
+		  line-height: 23rpx;
+		}
+		.ic{
+		  margin-left: 13rpx;
+		  flex-shrink: 0;
+		  width: 12rpx;
+		  height: 20rpx;
+		}
+	}
+    .list-wrap{
+		.list-item{
+			padding: 40rpx 27rpx 40rpx 30rpx;
+		}
+		.list-item:not(:last-of-type) {
+		  border-bottom: solid 2rpx #0000000f;
+		}
+		.name {
+		  color: #333333;
+		  font-size: 30rpx;
+		  font-family: PingFang;
+		  letter-spacing: 1.2rpx;
+		  max-width: 439rpx;
+		}
+		.price {
+		  margin-top: 6rpx;
+		  color: #ea5f58;
+		  font-size: 30rpx;
+		  font-family: PingFang;
+		  &.add{
+			  color:#333333;
+		  }
+		}
+		.time {
+		  margin-top: 14rpx;
+		  align-self: flex-start;
+		  color: #999999;
+		  font-size: 24rpx;
+		  font-family: PingFang;
+		}
+	}
+}
+</style>

+ 151 - 0
pages/mine/feedback.vue

@@ -0,0 +1,151 @@
+<template>
+	<view class="page">
+		<view class="p-content flex-col items-start">
+			<view class="title">问题与意见</view>
+			<view class="area-wrap">
+				<textarea placeholder="写几句评价" class="area"></textarea>
+				<view class="img-wrap flex-row">
+					<view class="img-item" v-for="(item,idx) in 10" :key="idx">
+						<image src="/static/temp/pro.png" mode="aspectFill" class="img" ></image>
+						<view class="cancel">
+							取消
+						</view>
+					</view>  
+					<image
+						src="/static/addimg.png"
+						class="img"
+					/>	
+				</view>	
+			</view>
+		</view>
+		<view class="p-contact">
+			<view class="title">联系方式</view>
+			<input type="number" class="inpt" placeholder="请留下您的联系方式">
+		</view>
+        <submit-btn @submit="submit" ref="submitRef">
+			<template v-slot:btns="{isSubmitted}">
+				<view class="p-btn" :class="{'disabled':isSubmitted}">
+					立即注册
+				</view>
+			</template>
+		</submit-btn>
+		<safe-area bgColor="#f8f8f8" />
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				
+			};
+		}
+	}
+</script>
+
+<style lang="scss">
+page{
+	background-color: #f8f8f8;
+}
+.page{
+	padding: 30rpx;
+}
+.p-content{
+	width: 690rpx;
+	background: #fff;
+	border-radius: 10rpx;
+	  padding: 40rpx 30rpx 100rpx;
+	  margin: 0 auto;
+	.title{
+		font-size: 30rpx;
+		font-family: PingFang SC;
+		font-weight: bold;
+		color: #333333;
+	}
+	.area-wrap{
+		margin-top: 30rpx;
+		background-color: #F6F6F6;
+		border-radius: 10rpx;
+	}
+	.area {
+	  color: #333;
+	  font-size: 24rpx;
+	  font-family: PingFang;
+	  line-height: 36rpx;
+	  height: 185rpx;
+	  width: 100%;
+	  padding: 20rpx;
+	}
+	.img-wrap{
+		flex-wrap: wrap;
+		padding: 0 30rpx;
+		.img-item{
+			position: relative;
+			margin-right: 10rpx;
+		    margin-bottom: 10rpx;
+			border-radius: 20rpx;
+			overflow: hidden;
+		}
+		.cancel{
+			position: absolute;
+			bottom: 0;
+			left: 0;
+			background: rgba(0,0,0,.4);
+			height: 40rpx;
+			line-height: 40rpx;
+			text-align: center;
+			width: 100%;
+			color:#fff;
+			font-size: 24rpx;
+		}
+		.img {
+		  width: 130rpx;
+		  height: 130rpx;
+		  &:nth-child(5n){
+			  margin-right: 0;
+		  }
+		}
+	}
+	
+}
+.p-contact{
+	margin: 24rpx auto 0;
+	width: 690rpx;
+	height: 208rpx;
+	background: #FFFFFF;
+	border-radius: 10rpx;
+	padding: 10rpx 30rpx 30rpx;
+	margin-bottom: 100rpx;
+	.title{
+		font-size: 30rpx;
+		font-family: PingFang SC;
+		font-weight: bold;
+		color: #333333;
+		height: 90rpx;
+		line-height: 90rpx;
+	}
+	.inpt{
+		width: 630rpx;
+		height: 77rpx;
+		background: #F6F6F6;
+		border-radius: 10rpx;
+		line-height: 77rpx;
+		padding: 0 20rpx;
+		color:#333;
+		font-size: 24rpx;
+	}
+}
+.p-btn{
+	width: 691rpx;
+	height: 94rpx;
+	background: #92B99C;
+	border-radius: 10rpx;
+	line-height: 94rpx;
+	text-align: center;
+	font-size: 34rpx;
+	font-family: PingFang SC;
+	font-weight: bold;
+	color: #FFFFFF;
+	margin:0 auto;
+}
+</style>

+ 295 - 7
pages/mine/mine.vue

@@ -1,19 +1,307 @@
 <template>
-	<view>
-		abc
+	<view class="page">
+		<navbarLine :hasPlacer="false" bgColor="transparent"><view class="pageTitle">我的</view></navbarLine>
+		<view class="p-header flex-col">
+			<view class="flex-col section_1">
+				<!-- -->
+				<view class="flex-row group_2">
+					<image src="/static/temp/avatar.png" class="image" />
+					<view class="flex-col items-start group_3">
+						<text class="nick clamp">向阳而生</text>
+						<text class="mobile">159****9172</text>
+						<view class="group_4">
+							<text class="txt">累计减碳</text>
+							<text class="txt active">1520</text>
+							<text class="txt">克,已累计帮助捐赠</text>
+							<text class="txt active">¥1.50</text>
+							<text class="txt">来帮助食物浪费</text>
+						</view>
+					</view>
+				</view>
+			</view>
+			<view class="flex-row equal-division">
+				<view class="flex-col items-start equal-division-item">
+					<text class="text_8">账户余额(元)</text>
+					<text class="text_9 clamp">387.50</text>
+					<view class="flex-col items-center text-wrapper"><text class="text_10">充值</text></view>
+				</view>
+				<view class="flex-col items-start equal-division-item_1">
+			 	<text class="text_11">可用券</text>
+					<text class="text_12 clamp">3</text>
+				</view>
+			</view>
+		</view>
+		<view class="p-content flex-col">
+			<text class="title">会员服务</text>
+			<view class="flex-row content-topwrap">
+				<view class="flex-col items-center equal-division-item_2 group_5">
+					<image src="/static/m-addr.png" class="image_1" />
+					<text class="text_14">我的收藏</text>
+				</view>
+				<view class="flex-col items-center equal-division-item_2">
+					<image src="/static/m-addr.png" class="image_1" />
+					<text class="text_14">收货地址</text>
+				</view>
+				<view class="flex-col items-center equal-division-item_2">
+					<image src="/static/m-eva.png" class="image_1" />
+					<text class="text_14">我的评价</text>
+				</view>
+				<view class="flex-col items-center equal-division-item_2">
+					<image src="/static/m-shops.png" class="image_1" />
+					<text class="text_14">商家入驻</text>
+				</view>
+			</view>
+			<text class="text_19">其他服务</text>
+			<view class="flex-row content-bomwrap">
+				<view class="flex-col items-center equal-division-item_3" @tap="showShare">
+					<image src="/static/m-wx.png" class="image_1" />
+					<text class="text_20">关注公众号</text>
+				</view>
+				<view class="flex-col items-center equal-division-item_3">
+					<image src="/static/m-kefu.png" class="image_1" />
+					<text class="text_20">联系客服</text>
+				</view>
+				<view class="flex-col items-center equal-division-item_3">
+					<image src="/static/m-feedback.png" class="image_1" />
+					<text class="text_20">意见反馈</text>
+				</view>
+			</view>
+		</view>
+	    <popup ref="shareRef">
+			<view class="share-panel flex-col align-center">
+				<image src="/static/temp/my-wx.png" mode="widthFix" class="img"></image>
+				<text class="zicon zicon-quxiao1 ic" @tap="hideShare"></text>
+			</view>
+		</popup>
+		<image src="/static/mine-bomimg.png" mode="aspectFill" class="bomimg"></image>
 	</view>
 </template>
 
 <script>
-	export default {
-		data() {
-			return {
-				
-			};
+import navbarLine from '@/components/navbar-line.vue';
+export default {
+	components: {
+		navbarLine
+	},
+	data() {
+		return {};
+	},
+	methods:{
+		showShare(){
+			this.$refs.shareRef.show();
+		},
+		hideShare(){
+			this.$refs.shareRef.hide();
 		}
 	}
+};
 </script>
 
 <style lang="scss">
+page {
+	background-color: #fff;
+}
+.pageTitle {
+	position: absolute;
+	left: 50%;
+	top: 50%;
+	transform: translate(-50%, -50%);
+	color: #ffffff;
+	font-size: 34rpx;
+	font-family: PingFang;
+}
+.p-header {
+	padding-bottom: 40rpx;
+	height: 518rpx;
+	.section_1 {
+		padding: 76rpx 43rpx 151rpx;
+		background-image: url('/static/mine-bg.png');
+		background-size: 100% 100%;
+		background-repeat: no-repeat;
+	}
+	.group_2 {
+		margin-top: 48rpx;
+	}
+	.image {
+		flex-shrink: 0;
+		width: 96rpx;
+		height: 96rpx;
+	}
+	.group_3 {
+		margin-left: 18rpx;
+		margin-right: 40rpx;
+		flex: 1 1 auto;
+	}
+	.nick {
+		color: #ffffff;
+		font-size: 32rpx;
+		font-family: PingFang;
+		letter-spacing: 1.28rpx;
+		max-width: 512rpx;
+	}
+	.mobile {
+		margin-top: 15rpx;
+		color: #ffffff;
+		font-size: 24rpx;
+		font-family: PingFang;
+	}
+	.group_4 {
+		margin-top: 12rpx;
+		.txt {
+			color: #ffffff;
+		 font-size: 20rpx;
+			font-family: PingFang;
+			&.active {
+				font-weight: 700;
+			}
+		}
+	}
 
+	.equal-division {
+		margin: -76rpx 30rpx 0;
+		position: relative;
+	}
+	.equal-division-item {
+		padding: 24rpx 25rpx 36rpx;
+		flex: 1 1 335rpx;
+		background-color: #ffffff;
+		box-shadow: 0px 4rpx 18.4rpx 1.6rpx #2a2a2a1a;
+		border-radius: 16rpx;
+		position: relative;
+	}
+	.text_8 {
+		color: #333333;
+		font-size: 28rpx;
+		font-family: PingFang;
+		letter-spacing: 1.12rpx;
+	}
+	.text_9 {
+		margin-top: 33rpx;
+		color: #333333;
+		font-size: 40rpx;
+		font-family: PingFang;
+		letter-spacing: 1.6rpx;
+		max-width: 196rpx;
+	}
+	.text-wrapper {
+		padding: 11rpx 0 14rpx;
+		border-radius: 25rpx;
+		width: 88rpx;
+		position: absolute;
+		right: 24rpx;
+		top: 76rpx;
+		border: solid 1rpx #92b99c;
+	}
+	.text_10 {
+		color: #92b99c;
+		font-size: 24rpx;
+		font-family: PingFang;
+	}
+	.equal-division-item_1 {
+		margin-left: 20rpx;
+		padding: 23rpx 25rpx 36rpx;
+		flex: 1 1 335rpx;
+		background-color: #ffffff;
+		box-shadow: 0px 4rpx 18.4rpx 1.6rpx #2a2a2a1a;
+		border-radius: 16rpx;
+		// height: 150rpx;
+	}
+	.text_11 {
+		color: #333333;
+		font-size: 28rpx;
+		font-family: PingFang;
+		letter-spacing: 1.12rpx;
+	}
+	.text_12 {
+		margin-left: 4rpx;
+		margin-top: 34rpx;
+		color: #333333;
+		font-size: 40rpx;
+		font-family: PingFang;
+		letter-spacing: 1.6rpx;
+		max-width: 196rpx;
+	}
+}
+.p-content {
+	margin: 30rpx 30rpx 0;
+	padding: 40rpx 0 50rpx;
+	background-color: #ffffff;
+	box-shadow: 0px 4rpx 18.4rpx 1.6rpx #2a2a2a1a;
+	border-radius: 16rpx;
+	.title {
+		margin-left: 24rpx;
+		align-self: flex-start;
+		color: #333333;
+		font-size: 34rpx;
+		font-family: PingFang;
+		letter-spacing: 1.36rpx;
+	}
+	.content-topwrap {
+		margin-top: 50rpx;
+		padding: 0 20rpx;
+	}
+	.equal-division-item_2 {
+		margin-left: 14rpx;
+		flex: 1 1 162rpx;
+		padding: 9.5rpx 0 10rpx;
+	}
+	.group_5 {
+		margin-left: 0;
+	}
+	.image_1 {
+		width: 48rpx;
+		height: 48rpx;
+	}
+	.text_14 {
+		margin-top: 22.5rpx;
+		color: #999999;
+		font-size: 24rpx;
+		font-family: PingFang;
+		line-height: 23rpx;
+	}
+	.text_19 {
+		margin-left: 25rpx;
+		margin-top: 70rpx;
+		align-self: flex-start;
+		color: #333333;
+		font-size: 34rpx;
+		font-family: PingFang;
+		line-height: 32rpx;
+		letter-spacing: 1.36rpx;
+	}
+	.content-bomwrap {
+		margin-left: 14.5rpx;
+		margin-top: 50rpx;
+		align-self: flex-start;
+	}
+	.equal-division-item_3 {
+		flex: 1 1 162rpx;
+		padding: 9rpx 0 10rpx;
+		width: 162rpx;
+	}
+	.text_20 {
+		margin-top: 24rpx;
+		color: #999999;
+		font-size: 24rpx;
+		font-family: PingFang;
+		line-height: 23rpx;
+	}
+}
+.share-panel{
+	.img{
+		width: 600rpx;
+		height: 679rpx;
+		border-radius: 20rpx;
+	}
+	.ic{
+		margin: 30rpx auto 0;
+		color:#000;
+		font-size: 46rpx;
+	}
+}
+.bomimg{
+	width: 244rpx;
+	height: 86rpx;
+	margin: 100rpx auto 30rpx;
+}
 </style>

+ 118 - 0
pages/mine/shopApply.vue

@@ -0,0 +1,118 @@
+<template>
+	<view class="page">
+		<view class="p-content">
+			<view class="align-center justify-between inpt-line">
+			  <text class="text_2">*店铺名称</text>
+			  <input type="text" class="inpt" placeholder="请输入您的店铺名称">
+			</view>
+			<view class="align-center justify-between inpt-line" @tap="chooseLoc">
+			  <text class="text_2">*店铺地址</text>
+			  <text class="text_4">请选择城市</text>
+			  <image src="/static/r-arrow.png" mode="aspectFill" class="ic"></image>
+			</view>
+			<view class="align-center justify-end inpt-line">
+			  <input type="text" class="inpt txtright" placeholder="请输入详细地址">
+			</view>
+			<view class="align-center justify-between inpt-line">
+			  <text class="text_2">*联系电话</text>
+			  <input type="number" class="inpt" placeholder="请输入联系电话">
+			</view>	
+		</view>
+		<submit-btn @submit="submit" ref="submitRef">
+			<template v-slot:btns="{isSubmitted}">
+				<view class="p-btn" :class="{'disabled':isSubmitted}">
+					提交
+				</view>
+			</template>
+		</submit-btn>
+		
+	</view>
+</template>
+
+<script>
+	import {chooseLoc} from '@/common/loc.js';
+	export default {
+		data() {
+			return {
+				
+			};
+		},
+		methods:{
+			// 城市选择器
+			async chooseLoc() {
+				let  {
+				   province,
+				   city, 
+				   area,
+				   address,
+				   latitude,
+				   longitude,
+				} =await chooseLoc();
+				this.addr = `${province}${city} ${area}`;
+				this.desc = address;
+			},
+		}
+	}
+</script>
+
+<style lang="scss">
+page{
+	background-color: #f8f8f8;
+}
+.p-content{
+	background-color: #fff;
+	padding: 0 20rpx;
+	margin-bottom: 100rpx;
+	
+}
+.inpt-line {
+  padding: 0 3rpx;
+  border-bottom: solid 2rpx #0000001a;
+  height: 110rpx;
+  &:last-child{
+	  border: none;
+  }
+}
+.text_2 {
+  color: #333333;
+  font-size: 30rpx;
+  font-family: PingFang;
+  letter-spacing: 1.2rpx;
+  flex-shrink: 0;
+}
+.inpt{
+	height: 110rpx;
+	line-height: 110rpx;
+	font-size: 30rpx;
+	color:#333;
+	flex:1;
+	text-align: right;
+}
+.text_4 {
+  margin-left: auto;
+  color: #999999;
+  font-size: 30rpx;
+  font-family: PingFang;
+  letter-spacing: 1.2rpx;
+}
+.ic{
+	flex-shrink: 0;
+	margin-left: 10rpx;
+	width: 20rpx;
+	height: 20rpx;
+}
+.p-btn{
+	width: 710rpx;
+	height: 76rpx;
+	background: #92B99C;
+	border-radius: 38rpx;
+	line-height: 76rpx;
+	text-align: center;
+	
+	font-size: 30rpx;
+	font-family: PingFang SC;
+	font-weight: 500;
+	color: #FFFFFF;
+	margin: 0 auto;
+}
+</style>

+ 298 - 0
pages/mine/userCenter.vue

@@ -0,0 +1,298 @@
+<template>
+	<view class="page">
+		<view class="flex-col section_1">
+			<view class="justify-between align-center group" @tap="tapAvatar">
+				<text class="text">头像</text>
+				<view class="flex-row">
+					<image
+						:src="userInfo.avatar ? userInfo.avatar : '/static/temp/pro.png'"
+						class="image_1"
+					/>
+					<image
+						src="/static/my_rarrow.png"
+						class="image_2 image_3"
+					/>
+		 	</view>
+			</view>
+			<view class="flex-col">
+				<view class="justify-between align-center group" @tap="showNickPanel">
+					<text class="text">昵称</text>
+					<view class="flex-row">
+						<text class="text_4 clamp">昵称昵称</text>
+						<image
+							src="/static/my_rarrow.png"
+							class="image_2 image_3"
+						/>
+					</view>
+				</view>
+				<view class="flex-col">
+					<view class="justify-between align-center group">
+						<text class="text">姓名</text>
+						<view class="flex-row">
+							<text class="text_4 clamp">姓名姓名姓名</text>
+							<image
+								src="/static/my_rarrow.png"
+								class="image_2 image_3"
+							/>
+					    </view>
+					</view>
+				</view>
+				<view class="flex-col">
+					<view class="justify-between align-center group" @tap='tapSex'>
+						<text class="text">姓别</text>
+						<view class="flex-row">
+							<text class="text_4 clamp">姓别</text>
+							<image
+								src="/static/my_rarrow.png"
+								class="image_2 image_3"
+							/>
+					    </view>
+					</view>
+				</view>
+				<view class="flex-col">
+					<picker mode="date"  @change="onDate" :end="curDate" >
+						<view class="justify-between align-center group">
+							<text class="text">生日</text>
+							<view class="flex-row">
+								<text class="text_4 clamp">1998-12-18</text>
+								<image
+									src="/static/my_rarrow.png"
+									class="image_2 image_3"
+								/>
+							</view>
+						</view>
+					</picker>
+				</view>
+			</view>
+		</view>
+		
+		<popup ref="nickRef" :isStopMaskHide="true">
+			<view class="flex-col section_3 nick-panel">
+			  <text class="text_14">修改昵称</text>
+			  <view class="flex-col group_14">
+				<view class="flex-col">
+				  <view class="group_16 align-center">
+					<text class="text_15">原昵称:</text>
+					<text class=" text_16 clamp">{{panelOVal}}</text>
+				  </view>
+				  <view class="flex-col items-start text-wrapper">
+					  <input type="text" class="text_17" placeholder="请输入昵称" v-model="panelVal">
+					  <!-- <text class="text_17">支持2-16位中英文、数字</text> -->
+				  </view>
+				</view>
+				<view class="flex-row group_17">
+				  <view class="flex-col items-center text-wrapper_1" @tap="cancel"><text class="text_18">取消</text></view>
+				  <view class="flex-col items-center text-wrapper_2" @tap="confirm"><text class="text_19">确认更改</text></view>
+				</view>
+			  </view>
+			</view>	
+		</popup>
+		<KXChoose ref="sexRef" @rundata="onSex" />
+	</view>
+</template>
+
+<script>
+import KXChoose from '@/components/kx-choose.vue'
+export default {
+	components:{
+		KXChoose,
+	},
+	data() {
+		return {
+			nickname:'',
+			panelType:'', //修改昵称nick,姓名name
+			panelVal:'', //输入值
+			panelOVal:'', //原值
+			curDate:'',
+			sexs:[{name:'男'},{name:'女'}]
+		};
+	},
+	onLoad() {
+		this.curDate= this.$tools.handleDate(new Date());
+	},
+	methods:{
+		onDate(e){
+			console.log('onDate--',e.detail.value)
+		},
+		tapSex(){
+			this.$refs.sexRef.open(this.sexs);
+		},
+		onSex({item,items}){
+			console.log('onSex---',item,items)
+		},
+		showNickPanel(){
+			this.$refs.nickRef.show()
+		},
+		hideNickPanel(){
+			this.$refs.nickRef.hide()
+		},
+		cancel(){
+			this.hideNickPanel()
+		},
+		async confirm(){
+			this.cancel();
+			let pRes = await this.$request('user.profile',{nickname:this.nickname})
+			this.$tools.msg(pRes.msg);
+			this.nickname = '';
+			this.$store.dispatch('user/getUserInfo')
+		},
+		async tapAvatar(){
+			let res = await this.$tools.uploadImg();
+			let pRes = await this.$request('user.profile',{avatar:res.fullurl})
+			this.$tools.msg(pRes.msg);
+			this.avatar = res.fullurl;
+			this.$store.dispatch('user/getUserInfo')
+		},
+		tapLink(){
+			if(!this.userInfo.bsnlink){
+				this.$tools.msg('您的地址尚未生成')
+				return;
+			}
+			this.navTo('/pages/mine/chainAddr')
+		}
+	}
+};
+</script>
+
+<style lang="scss">
+page{
+	background-color: #fff;
+}
+.page{
+	padding-top: 10rpx;
+}
+
+// . {
+// 	text-transform: uppercase;
+// }
+.section_1 {
+	background-color: #ffffff;
+	border-radius: 20rpx;
+	width: 690rpx;
+	margin: 0  auto;
+}
+.group {
+	height: 108rpx;
+	// padding: 30rpx 24rpx 30rpx 31rpx;
+	border-bottom: solid 2rpx #0000000f;
+	.text {
+		margin: 10rpx 0;
+		color: #333333;
+		font-size: 30rpx;
+		font-family: PingFang;
+	}	
+	.image_1 {
+		width: 70rpx;
+		height: 70rpx;
+		border-radius: 70rpx;
+	}	
+	.text_4 {
+		color: #999999;
+		font-size: 30rpx;
+		font-family: PingFang;
+		// line-height: 29rpx;
+		letter-spacing: 2.7rpx;
+		max-width: 400rpx;
+	}
+	.image_2 {
+		width: 8rpx;
+		height: 15rpx;
+	}
+	.image_3 {
+		margin-left: 10rpx;
+		align-self: center;
+	}	
+	
+}
+
+
+.section_3 {
+  padding: 30rpx 37rpx 34rpx;
+  background-color: #ffffff;
+  border-radius: 20rpx;
+}
+.text_14 {
+  align-self: center;
+  color: #333333;
+  font-size: 34rpx;
+  font-family: PingFang;
+  line-height: 32rpx;
+  letter-spacing: 1.36rpx;
+}
+.group_14 {
+  margin-top: 38rpx;
+}
+.group_17 {
+  margin-top: 41rpx;
+  padding: 0 20rpx;
+}
+.group_16 {
+  align-self: center;
+  line-height: 27rpx;
+}
+.text-wrapper {
+  margin-top: 30rpx;
+  // padding: 24rpx 0 23rpx;
+  background-color: #f1f1f1;
+  border-radius: 10rpx;
+  width: 500rpx;
+    .text_17 {
+	  // margin-left: 37rpx;
+	  padding: 0 37rpx;
+	  color: #333;
+	  font-size: 28rpx;
+	  font-family: PingFang;
+	  letter-spacing: 1.12rpx;
+	  height: 74rpx;
+	  line-height: 74rpx;
+	  width: 100%;
+	}
+
+}
+.text-wrapper_1 {
+  padding: 19rpx 0 18rpx;
+  background-color: #ececec;
+  border-radius: 10rpx;
+  width: 194rpx;
+  height: 64rpx;
+}
+.text-wrapper_2 {
+  margin-left: 72rpx;
+  padding: 19rpx 0 18rpx;
+  background-color: #363636;
+  border-radius: 10rpx;
+  width: 194rpx;
+  height: 64rpx;
+}
+.text_15 {
+  color: #333333;
+  font-size: 28rpx;
+  font-family: PingFang;
+  line-height: 27rpx;
+  letter-spacing: 1.12rpx;
+}
+.text_16 {
+  color: #333333;
+  font-size: 28rpx;
+  font-family: PingFang;
+  line-height: 27rpx;
+  letter-spacing: 2.52rpx;
+  max-width: 360rpx;
+}
+.text_18 {
+  color: #333333;
+  font-size: 28rpx;
+  font-family: PingFang;
+  line-height: 27rpx;
+  letter-spacing: 1.12rpx;
+  text-align: center;
+}
+.text_19 {
+  color: #ffffff;
+  font-size: 28rpx;
+  font-family: PingFang;
+  line-height: 27rpx;
+  letter-spacing: 1.12rpx;
+   text-align: center;
+}
+</style>

+ 91 - 0
pages/order/refund.vue

@@ -53,6 +53,30 @@
 			    <text class="text_19">可修改,请与商家协商一致后填写</text>
 			  </view>
 		</view>
+	    <view class="p-desc flex-col items-start ">
+			  <text class="title">描述信息</text>
+			  <textarea placeholder="补充描述信息,方便更好的处理售后问题" class="area"></textarea>
+			  
+			  <view class="img-wrap flex-row">
+			  	<view class="img-item" v-for="(item,idx) in 10" :key="idx">
+			  		<image src="/static/temp/pro.png" mode="aspectFill" class="img" ></image>
+			  		<view class="cancel">
+			  			取消
+			  		</view>
+			  	</view>  
+			  	<image
+			  	  src="/static/refund-add.png"
+			  	  class="img"
+			  	/>
+			  </view>
+		</view>
+		<safe-area height="94rpx">
+			<template v-slot:btn>
+				<view class="btn-wrap">
+						提交
+				</view>
+			</template>
+		</safe-area>
 	</view>
 </template>
 
@@ -220,4 +244,71 @@ page {
 	  font-family: PingFang;
 	}
 }
+.p-desc{
+	  margin-top: 24rpx;
+	  padding: 30rpx 19rpx;
+	  background-color: #ffffff;
+	  box-shadow: 0px 6rpx 10rpx #2a2a2a14;
+	  border-radius: 20rpx;
+	.title {
+	  color: #333333;
+	  font-size: 32rpx;
+	  font-family: PingFang;
+	}
+	.area{
+		 height: 160rpx;
+	     color:#333;
+		 font-size: 24rpx;
+		 line-height: 36rpx;
+		 padding: 30rpx;
+	}
+	.img-wrap{
+		flex-wrap: wrap;
+		.img-item{
+			position: relative;
+			margin-right: 10rpx;
+		    margin-bottom: 10rpx;
+			border-radius: 20rpx;
+			overflow: hidden;
+		}
+		.cancel{
+			position: absolute;
+			bottom: 0;
+			left: 0;
+			background: rgba(0,0,0,.4);
+			height: 40rpx;
+			line-height: 40rpx;
+			text-align: center;
+			width: 100%;
+			color:#fff;
+			font-size: 24rpx;
+		}
+		.img {
+		 
+		  width: 118rpx;
+		  height: 118rpx;
+		  
+		  &:nth-child(5n){
+			  margin-right: 0;
+		  }
+		}
+	}
+}
+.btn-wrap{
+	width: 690rpx;
+	height: 94rpx;
+	background: $base-color;
+	border-radius: 47rpx;
+	margin: 0  auto;
+
+
+	font-size: 34rpx;
+	font-family: PingFang SC;
+	font-weight: bold;
+	color: #FFFFFF;
+	line-height: 94rpx;
+	text-align: center;
+	
+}
+
 </style>

二进制
static/m-addr.png


二进制
static/m-eva.png


二进制
static/m-feedback.png


二进制
static/m-kefu.png


二进制
static/m-shops.png


二进制
static/m-shou.png


二进制
static/m-wx.png


二进制
static/mine-bg.png


二进制
static/mine-bomimg.png


二进制
static/my_rarrow.png


二进制
static/rech-rarrow.png


二进制
static/refund-add.png


二进制
static/temp/avatar.png


二进制
static/temp/my-wx.png


文件差异内容过多而无法显示
+ 0 - 0
style/icon.css


部分文件因为文件数量过多而无法显示