chenrui 4 anos atrás
pai
commit
caf2e665ee

+ 13 - 1
pages.json

@@ -103,15 +103,27 @@
 		    "style": {
 		    	"navigationStyle": "custom" ,// 隐藏系统导航栏
 		    	"navigationBarTextStyle": "white", // 状态栏字体为白色,只能为 white-白色,black-黑色 二选一
-		    	"navigationBarTitleText": "预览"
+		    	"navigationBarTitleText": "我的巡店"
 		    }
 		},
+		{
+		    "path" : "pages/shopTourRecord/shopTourRecord",  //  巡店记录
+		    "style" : {
+				"navigationBarTitleText": "巡店记录"
+			}
+		},
 		{
 		    "path" : "pages/shopTourDetails/shopTourDetails",  //  现场巡店-巡店详情
 		    "style" : {
 				"navigationBarTitleText": "巡店详情"
 			}
 		},
+		{
+		    "path" : "pages/spotCheckDetails/spotCheckDetails",  //  点检详情
+		    "style" : {
+				"navigationBarTitleText": "点检详情"
+			}
+		},
 		{
 		    "path" : "pages/spotCheckConfigure/spotCheckList",
 		    "style": {

+ 7 - 5
pages/myShopTour/myShopTour.vue

@@ -107,6 +107,7 @@
 				},
 				tabList: [  //  tab切换  类型
 					{ dispName: '全部', code:'' },
+					{ dispName: '待处理', code:'0' },
 					{ dispName: '进行中', code:'1' },
 					{ dispName: '已完成', code:'2' },
 					{ dispName: '已过期', code:'3' }
@@ -121,9 +122,9 @@
 				noDataText: '暂无数据',  //  列表数据为空时提示文字
 				list: [  //  数据列表
 					{ name: '常青二店', creatTime: '2020-09-08 09:16', orderStatus: 'haveInHand', completionTime: '2020-09-08 09:16', timeConsuming: '5小时18分钟', inspectionItems: 18, qualified: 14, unqualified: 2, notApplicable: 2 },
-					{ name: '常青二店', creatTime: '2020-09-08 09:16', orderStatus: 'invalid', completionTime: '2020-09-08 09:16', timeConsuming: '5小时18分钟', inspectionItems: 18, qualified: 14, unqualified: 2, notApplicable: 2 },
-					{ name: '常青二店', creatTime: '2020-09-08 09:16', orderStatus: 'haveInHand', completionTime: '2020-09-08 09:16', timeConsuming: '5小时18分钟', inspectionItems: 18, qualified: 14, unqualified: 2, notApplicable: 2 },
-					{ name: '常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店', creatTime: '2020-09-08 09:16', orderStatus: 'completed', completionTime: '2020-09-08 09:16', timeConsuming: '5小时18分钟', inspectionItems: 18, qualified: 14, unqualified: 2, notApplicable: 2 },
+					// { name: '常青二店', creatTime: '2020-09-08 09:16', orderStatus: 'invalid', completionTime: '2020-09-08 09:16', timeConsuming: '5小时18分钟', inspectionItems: 18, qualified: 14, unqualified: 2, notApplicable: 2 },
+					// { name: '常青二店', creatTime: '2020-09-08 09:16', orderStatus: 'haveInHand', completionTime: '2020-09-08 09:16', timeConsuming: '5小时18分钟', inspectionItems: 18, qualified: 14, unqualified: 2, notApplicable: 2 },
+					// { name: '常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店', creatTime: '2020-09-08 09:16', orderStatus: 'completed', completionTime: '2020-09-08 09:16', timeConsuming: '5小时18分钟', inspectionItems: 18, qualified: 14, unqualified: 2, notApplicable: 2 },
 					{ name: '常青二店', creatTime: '2020-09-08 09:16', orderStatus: 'completed', completionTime: '2020-09-08 09:16', timeConsuming: '5小时18分钟', inspectionItems: 18, qualified: 14, unqualified: 2, notApplicable: 2 },
 				],
 				openScreen: false,  //  是否打开筛选
@@ -303,17 +304,18 @@ page {
 					height: 100%;
 					// 列表
 					.record-con{
+						padding-top: 20upx;
 						.alert-tips{
 							font-size: 24upx;
 							padding: 4upx 10upx;
-							margin: 20upx 30upx 10upx;
+							margin: 0upx 30upx 10upx;
 							border: 1upx solid #fcbd71;
 							background-color: #fdf6ec;
 							border-radius: 6upx;
 						}
 						.record-item{
 							background-color: #fff;
-							margin: 20upx 30upx 20upx;
+							margin: 0upx 30upx 20upx;
 							padding: 14upx 30upx 20upx;
 							border-radius: 12upx;
 							.item-head{

+ 90 - 0
pages/shopTourDetails/commentPopup.vue

@@ -0,0 +1,90 @@
+<template>
+	<u-popup v-model="isShow" mode="center" border-radius="14" :closeable="true" length="80%" class="commentPopup-wrap">
+		<view class="popup-con">
+			<view class="popup-tit">查看评论</view>
+			<view class="popup-main">
+				<u-swiper :list="list" class="popup-swiper" @click="clickSwiper"></u-swiper>
+				<view class="popup-des">未按规则着装,上班时间玩手机抽烟等不良影响上班时间玩手机抽烟等不良影响上班时间玩手机抽烟等不良影响上班时间玩手机抽烟等不良影响上班时间玩手机抽烟等不良影响上班时间玩手机抽烟等不良影响上班时间玩手机抽烟等不良影响上班时间玩手机抽烟等不良影响上班时间玩手机抽烟等不良影响上班时间玩手机抽烟等不良影响上班时间玩手机抽烟等不良影响</view>
+			</view>
+		</view>
+	</u-popup>
+</template>
+
+<script>
+	export default{
+		name: 'CommentPopup',
+		props: {
+			openPopup: {
+				type: Boolean,
+				default: false
+			}
+		},
+		data(){
+			return{
+				isShow: this.openPopup,  //  是否显示弹框
+				list: [{
+						image: 'https://cdn.uviewui.com/uview/swiper/1.jpg',
+						title: '昨夜星辰昨夜风,画楼西畔桂堂东'
+					},
+					{
+						image: require('@/static/defaultMe.png'),
+						title: '身无彩凤双飞翼,心有灵犀一点通'
+					},
+					{
+						image: 'https://cdn.uviewui.com/uview/swiper/3.jpg',
+						title: '谁念西风独自凉,萧萧黄叶闭疏窗,沉思往事立残阳'
+					}
+				],
+			}
+		},
+		methods: {
+			//  查看评论大图
+			clickSwiper(e){
+				// 预览图片
+				uni.previewImage({
+					current: e,
+					urls: this.list[e],
+					longPressActions: {
+						itemList: ['发送给朋友', '保存图片', '收藏'],
+						success: function(data) {
+							console.log('选中了第' + (data.tapIndex + 1) + '个按钮,第' + (data.index + 1) + '张图片');
+						},
+						fail: function(err) {
+							console.log(err.errMsg);
+						}
+					}
+				})
+			}
+		},
+		watch: {
+			openPopup(val){
+				this.isShow = val
+			},
+			isShow(val){
+				if(!val){
+					this.$emit('close')
+				}
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.commentPopup-wrap{
+		.popup-con{
+			padding: 26upx 0 10upx;
+			.popup-tit{
+				padding: 10upx 30upx 26upx;
+				border-bottom: 1upx solid #f8f8f8;
+			}
+			.popup-main{
+				.popup-swiper{
+					margin: 20upx 30upx 0;
+				}
+				.popup-des{
+					padding: 20upx 30upx;
+				}
+			}
+		}
+	}
+</style>

+ 123 - 8
pages/shopTourDetails/shopTourDetails.vue

@@ -1,19 +1,63 @@
 <template>
 	<view class="shopTourDetails-wrap">
 		<scroll-view scroll-y class="scroll-con-l">
-			432
+			<view class="item-con" v-for="(item, index) in itemList" :key="index">
+				<view :class="['item-tit', nowInd==index ? 'active' : '']" @click="changeType(index)">{{item.name}}</view>
+			</view>
 		</scroll-view>
 		<scroll-view scroll-y class="scroll-con-r" @scrolltolower="onreachBottom">
-			24
+			<view class="item-con" v-for="(item, index) in evaluationItemsList" :key="index">
+				<view class="item-tit">{{item.name}}</view>
+				<view class="item-main">
+					<view class="item-state">状态:
+						<text v-if="item.state == 0" class="green">合格</text>
+						<text v-if="item.state == 1" class="red">不合格</text>
+						<text v-if="item.state == 2" class="yellow">不适用</text>
+					</view>
+					<text class="item-btn" @click="openPopup=true">查看评论</text>
+				</view>
+				<view class="item-footer">
+					考核时间:2020-09-09 14:29
+				</view>
+			</view>
 		</scroll-view>
+		<!-- 查看评论 -->
+		<comment-popup :openPopup="openPopup" @close="closePopup" />
 	</view>
 </template>
 
 <script>
+	import CommentPopup from './commentPopup.vue'
 	export default{
+		components: { CommentPopup },
 		data(){
 			return{
-				
+				itemList: [  //  考评项目
+					{ name: '工作态度' },
+					{ name: '办事效率' },
+					{ name: '正常营业' },
+					{ name: '工作态度' },
+				],
+				evaluationItemsList: [  //  考评项
+					{ name: '按时完成工作', state: 0 },
+					{ name: '待人接物礼貌', state: 1 },
+					{ name: '按时完成工作', state: 2 },
+					{ name: '待人接物礼貌', state: 1 },
+					{ name: '按时完成工作', state: 0 },
+					{ name: '待人接物礼貌', state: 1 },
+					{ name: '按时完成工作', state: 2 },
+					{ name: '待人接物礼貌', state: 1 },
+					{ name: '按时完成工作', state: 0 },
+					{ name: '待人接物礼貌', state: 1 },
+					{ name: '按时完成工作', state: 2 },
+					{ name: '待人接物礼貌', state: 1 },
+					{ name: '按时完成工作', state: 0 },
+					{ name: '待人接物礼貌', state: 1 },
+					{ name: '按时完成工作', state: 2 },
+					{ name: '待人接物礼貌', state: 1 },
+				],
+				nowInd: 0,  //  当前考评分类
+				openPopup: false,  //  查看评论
 			}
 		},
 		methods: {
@@ -26,25 +70,96 @@
 				// 	this.status = "nomore"
 				// }
 			},
+			//  切换分类
+			changeType(ind){
+				this.nowInd = ind
+			},
+			//  关闭   查看评论
+			closePopup(){
+				this.openPopup = false
+			}
 		}
 	}
 </script>
 
 <style lang="scss" scoped>
 	page {
-		height: calc(100vh - 56px);
+		background-color: #f8f8f8;
+		height: calc(100vh - 48px);
 	}
 	.shopTourDetails-wrap{
 		height: 100%;
+		background-color: #f8f8f8;
 		.scroll-con-l{
 			display: inline-block;
-			width: 30%;
-			height: 100%;
+			width: 28%;
+			height: 99%;
+			margin: 1% 1% 0;
+			box-sizing: border-box;
+			.item-con{
+				.item-tit{
+					text-align: center;
+					padding: 26upx 0;
+					margin-bottom: 12upx;
+					background-color: #fff;
+					position: relative;
+					&:before{
+						content: '';
+						background-color: #fff;
+						width: 8upx;
+						height: 50upx;
+						display: block;
+						position: absolute;
+						right: 0;
+						top: 18upx;
+					}
+				}
+				.item-tit.active{
+					&:before{
+						background-color: #fa3534;
+					}
+				}
+			}
 		}
 		.scroll-con-r{
 			display: inline-block;
-			width: 70%;
-			height: 100%;
+			width: 69%;
+			height: 99%;
+			margin: 1% 1% 0 0;
+			.item-con{
+				padding: 14upx 30upx;
+				margin-bottom: 18upx;
+				border-radius: 12upx;
+				background-color: #fff;
+				.item-tit{
+					font-weight: bold;
+				}
+				.item-main{
+					padding: 14upx 0;
+					display: flex;
+					justify-content: space-between;
+					.item-state{
+						font-size: 26upx;
+						text.green{
+							color: #19be6b;
+						}
+						text.yellow{
+							color: #ff9900;
+						}
+						text.red{
+							color: #fa3534;
+						}
+					}
+					.item-btn{
+						font-size: 24upx;
+						color: #2979ff;
+					}
+				}
+				.item-footer{
+					font-size: 24upx;
+					color: #464646;
+				}
+			}
 		}
 	}
 </style>

+ 67 - 0
pages/shopTourRecord/shopTourRecord.vue

@@ -0,0 +1,67 @@
+<template>
+	<view class="shopTourRecord-wrap">
+		<!-- 顶部筛选条件 -->
+		<u-dropdown ref="uDropdown" class="uDropdown">
+			<u-dropdown-item v-model="searchForm.isAll" title="全部" :options="options1"></u-dropdown-item>
+			<u-dropdown-item v-model="searchForm.inspectionMethod" title="检查方式" :options="options2"></u-dropdown-item>
+			<u-dropdown-item v-model="searchForm.state" title="状态" :options="options2"></u-dropdown-item>
+			<u-dropdown-item title="筛选">
+				<view class="slot-content" style="background-color: #FFFFFF;">
+					<scroll-view scroll-y="true" style="height: 200upx;">
+						<view class="u-text-center u-content-color u-m-t-20 u-m-b-20">无言独上西楼</view>
+						<view class="u-text-center u-content-color u-m-t-20 u-m-b-20">月如钩</view>
+						<view class="u-text-center u-content-color u-m-t-20 u-m-b-20">寂寞梧桐深院锁清秋</view>
+						<view class="u-text-center u-content-color u-m-t-20 u-m-b-20">剪不断</view>
+						<view class="u-text-center u-content-color u-m-t-20 u-m-b-20">理还乱</view>
+						<view class="u-text-center u-content-color u-m-t-20 u-m-b-20">是离愁</view>
+						<view class="u-text-center u-content-color u-m-t-20 u-m-b-20">别是一般滋味在心头</view>
+					</scroll-view>
+					<u-button type="primary" @click="closeDropdown">确定</u-button>
+				</view>
+			</u-dropdown-item>
+		</u-dropdown>
+	</view>
+</template>
+
+<script>
+	export default{
+		data(){
+			return{
+				value1: 1,
+				value2: 2,
+				options1: [
+					{ label: '默认排序', value: 1, },
+					{ label: '距离优先', value: 2, },
+					{ label: '价格优先', value: 3, }
+				],
+				options2: [
+					{ label: '去冰', value: 1, },
+					{ label: '加冰', value: 2, },
+				],
+				searchForm: {
+					isAll: '',
+					inspectionMethod: '',
+					state: '',
+					screen: ''
+				}
+			}
+		},
+		methods: {
+			closeDropdown() {
+				this.$refs.uDropdown.close()
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	page {
+		background-color: #f8f8f8;
+		height: calc(100vh - 44px);
+	}
+	.shopTourRecord-wrap{
+		.uDropdown{
+			
+		}
+	}
+</style>

+ 158 - 0
pages/spotCheckDetails/spotCheckDetails.vue

@@ -0,0 +1,158 @@
+<template>
+	<view class="spotCheckDetails-wrap">
+		<view class="item-con" v-for="(item,index) in list" :key="index">
+			<view class="item-header">
+				<view class="header-l">
+					<text class="item-sub">{{index + 1}}、</text>
+					<view class="item-c">
+						<text class="item-c-tit">{{item.name}}:</text>
+						<text class="item-c-txt">{{item.content}}</text>
+					</view>
+				</view>
+				<text v-if="item.state == 0" class="header-r green">合格</text>
+				<text v-if="item.state == 1" class="header-r red">不合格</text>
+				<text v-if="item.state == 2" class="header-r yellow">不适用</text>
+			</view>
+			<view class="comment-con">
+				<u-row gutter="16" class="pic-con">
+					<u-col span="3" v-for="(pic, ind) in item.picList" :key="ind">
+						<u-image class="pic" width="100%" height="150upx" :src="pic" @click="clickPic(index, ind)"></u-image>
+					</u-col>
+				</u-row>
+				<view class="comment-main">
+					<text class="comment-tit">{{item.userName}}:</text>
+					<text class="comment-txt">{{item.remarks}}</text>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default{
+		data(){
+			return{
+				list: [  //  列表数据
+					{ 
+						name: '着装标准',
+						content: '服装干净、整洁、无污渍服装干净、整',
+						picList: [
+							'', '', ''
+						],
+						userName: '测试账号',
+						remarks: '未穿工服、办公桌面不整洁',
+						state: 0
+					},
+					{
+						name: '着装标准',
+						content: '服装干净、整洁、无污渍服装干净、整洁、无污渍服装干净、整洁、无污渍服装干净、整洁、无污渍服装干净、整洁、无污渍服装干净、整洁、无污渍',
+						picList: [
+							'', '', ''
+						],
+						userName: '测试账号',
+						remarks: '未穿工服、办公桌面不整洁,未穿工服、办公桌面不整洁,未穿工服、办公桌面不整洁,未穿工服、办公桌面不整洁',
+						state: 1
+					},
+					{
+						name: '着装标准',
+						content: '服装干净、整洁、无污渍服装干净、整',
+						picList: [
+							'', '', ''
+						],
+						userName: '测试账号',
+						remarks: '未穿工服、办公桌面不整洁',
+						state: 2
+					},
+				]
+			}
+		},
+		methods: {
+			//  查看评论大图
+			clickPic(index,ind){
+				// 预览图片
+				uni.previewImage({
+					current: ind,
+					urls: this.list[index].picList[ind],
+					longPressActions: {
+						itemList: ['发送给朋友', '保存图片', '收藏'],
+						success: function(data) {
+							console.log('选中了第' + (data.tapIndex + 1) + '个按钮,第' + (data.index + 1) + '张图片');
+						},
+						fail: function(err) {
+							console.log(err.errMsg);
+						}
+					}
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	page {
+		background-color: #f8f8f8;
+		height: calc(100vh - 44px);
+	}
+	.spotCheckDetails-wrap{
+		padding-top: 20upx;
+		.item-con{
+			background-color: #fff;
+			margin: 0 20upx 20upx;
+			padding: 16upx 20upx 20upx;
+			.item-header{
+				display: flex;
+				justify-content: space-between;
+				.header-l{
+					flex-grow: 1;
+					position: relative;
+					.item-sub{
+						position: absolute;
+						left: 0;
+						top: 0;
+						width: 66upx;
+						text-align: center;
+					}
+					.item-c{
+						padding-left: 66upx;
+						.item-c-tit{
+							font-weight: bold;
+						}
+						.item-c-txt{
+							
+						}
+					}
+				}
+				.header-r{
+					flex-shrink: 0;
+				}
+				.header-r.green{
+					color: #19be6b;
+				}
+				.header-r.yellow{
+					color: #ff9900;
+				}
+				.header-r.red{
+					color: #fa3534;
+				}
+			}
+			.comment-con{
+				.pic-con{
+					margin: 20upx 0;
+				}
+				.comment-main{
+					font-size: 26upx;
+					padding: 16upx 20upx;
+					line-height: 1.5em;
+					border-radius: 12upx;
+					background-color: #f8f8f8;
+					.comment-tit{
+						font-weight: bold;
+					}
+					.comment-txt{
+						
+					}
+				}
+			}
+		}
+	}
+</style>