浏览代码

巡店记录

chenrui 4 年之前
父节点
当前提交
f1c3ddc1b4
共有 2 个文件被更改,包括 60 次插入136 次删除
  1. 29 12
      pages/shopTourRecord/screenModule.vue
  2. 31 124
      pages/shopTourRecord/shopTourRecord.vue

+ 29 - 12
pages/shopTourRecord/screenModule.vue

@@ -1,9 +1,9 @@
 <template>
 <template>
 	<view>
 	<view>
 		<!-- 顶部筛选条件 -->
 		<!-- 顶部筛选条件 -->
-		<u-dropdown ref="uDropdown" class="uDropdown">
+		<u-dropdown ref="uDropdown" class="uDropdown" @close="closeDropdownItem">
 			<u-dropdown-item v-model="searchForm.inspectorId" :title="isAll" @change="dropdownChange" :options="screenClass"></u-dropdown-item>
 			<u-dropdown-item v-model="searchForm.inspectorId" :title="isAll" @change="dropdownChange" :options="screenClass"></u-dropdown-item>
-			<u-dropdown-item title="检查方式" class="screen-dropdown" @change="typeChange" @close="closeDropdownItem">
+			<u-dropdown-item title="检查方式" class="screen-dropdown" @change="typeChange">
 				<view class="slot-content">
 				<view class="slot-content">
 					<scroll-view class="scroll-view" scroll-y="true">
 					<scroll-view class="scroll-view" scroll-y="true">
 						<view class="screen-module">
 						<view class="screen-module">
@@ -16,7 +16,7 @@
 				</view>
 				</view>
 			</u-dropdown-item>
 			</u-dropdown-item>
 			<u-dropdown-item v-model="searchForm.status" title="状态" :options="screenState" @change="dropdownChange"></u-dropdown-item>
 			<u-dropdown-item v-model="searchForm.status" title="状态" :options="screenState" @change="dropdownChange"></u-dropdown-item>
-			<u-dropdown-item title="筛选" class="screen-dropdown" @close="closeDropdownItem">
+			<u-dropdown-item title="筛选" class="screen-dropdown">
 				<view class="slot-content">
 				<view class="slot-content">
 					<scroll-view class="scroll-view" scroll-y="true">
 					<scroll-view class="scroll-view" scroll-y="true">
 						<view class="screen-module">
 						<view class="screen-module">
@@ -29,13 +29,13 @@
 						<view class="screen-module">
 						<view class="screen-module">
 							<text class="screen-tit">门店:</text>
 							<text class="screen-tit">门店:</text>
 							<view class="screen-inp-val">
 							<view class="screen-inp-val">
-								<u-input class="screen-inp" v-model="searchForm.storeName" :height="52" placeholder="请输入" type="text" :border="true" />
+								<u-input class="screen-inp" v-model="moreScreen.storeName" :height="52" placeholder="请输入" type="text" :border="true" />
 							</view>
 							</view>
 						</view>
 						</view>
 						<view class="screen-module">
 						<view class="screen-module">
 							<text class="screen-tit">巡店人:</text>
 							<text class="screen-tit">巡店人:</text>
 							<view class="screen-inp-val">
 							<view class="screen-inp-val">
-								<u-input class="screen-inp" v-model="searchForm.shopInspector" :height="52" placeholder="请输入" type="text" :border="true" />
+								<u-input class="screen-inp" v-model="moreScreen.shopInspector" :height="52" placeholder="请输入" type="text" :border="true" />
 							</view>
 							</view>
 						</view>
 						</view>
 					</scroll-view>
 					</scroll-view>
@@ -81,7 +81,11 @@
 				screenState: [],  // 过滤条件  状态
 				screenState: [],  // 过滤条件  状态
 				showPicker: false,  //  是否选择创建时间
 				showPicker: false,  //  是否选择创建时间
 				range: [],  //  筛选创建时间的默认值
 				range: [],  //  筛选创建时间的默认值
-				sourceTypeList: [], // 检查方式列表
+				sourceTypeList: [], // 检查方式数据列表
+				moreScreen: {  //  数据暂存
+					storeName: '',  //  门店
+					shopInspector: ''  //  巡店人
+				}
 			}
 			}
 		},
 		},
 		computed: {
 		computed: {
@@ -105,6 +109,9 @@
 				this.searchForm.creatTime = this.defaultParams.creatTime ? this.defaultParams.creatTime : []
 				this.searchForm.creatTime = this.defaultParams.creatTime ? this.defaultParams.creatTime : []
 				this.range = this.searchForm.creatTime
 				this.range = this.searchForm.creatTime
 				this.searchForm.storeName = this.defaultParams.storeName ? this.defaultParams.storeName : ''
 				this.searchForm.storeName = this.defaultParams.storeName ? this.defaultParams.storeName : ''
+				this.searchForm.shopInspector = this.defaultParams.shopInspector ? this.defaultParams.shopInspector : ''
+				this.moreScreen.storeName = this.searchForm.storeName
+				this.moreScreen.shopInspector = this.searchForm.shopInspector
 				this.defaultSourceType()
 				this.defaultSourceType()
 			},
 			},
 			//  巡店人、状态  筛选条件  change
 			//  巡店人、状态  筛选条件  change
@@ -119,6 +126,9 @@
 			},
 			},
 			//  筛选  筛选条件
 			//  筛选  筛选条件
 			closeDropdown(){
 			closeDropdown(){
+				this.searchForm.creatTime = this.range
+				this.searchForm.storeName = this.moreScreen.storeName
+				this.searchForm.shopInspector = this.moreScreen.shopInspector
 				this.$emit('refresh', this.searchForm)
 				this.$emit('refresh', this.searchForm)
 				this.$refs.uDropdown.close()
 				this.$refs.uDropdown.close()
 			},
 			},
@@ -137,8 +147,14 @@
 				}
 				}
 			},
 			},
 			//  关闭
 			//  关闭
-			closeDropdownItem(){
-				
+			closeDropdownItem(ind){
+				if(ind == 1){  //  检查方式
+					this.defaultSourceType()
+				}else if(ind == 3){  //  多条件筛选
+					this.moreScreen.storeName = this.searchForm.storeName
+					this.moreScreen.shopInspector = this.searchForm.shopInspector
+					this.range = this.searchForm.creatTime
+				}
 			},
 			},
 			// 获取数据字典数据
 			// 获取数据字典数据
 			getLookUpData(code) {
 			getLookUpData(code) {
@@ -169,7 +185,7 @@
 					if (item.checked) {
 					if (item.checked) {
 						arr.push(item.code)
 						arr.push(item.code)
 					}
 					}
-				});
+				})
 				return arr
 				return arr
 			},
 			},
 			//  显示日期选择
 			//  显示日期选择
@@ -181,7 +197,6 @@
 				this.showPicker = false
 				this.showPicker = false
 				if(e) {
 				if(e) {
 					this.range = e.value
 					this.range = e.value
-					this.searchForm.creatTime = this.range
 				}
 				}
 			},
 			},
 		}
 		}
@@ -197,8 +212,11 @@
 				background-color: #fff;
 				background-color: #fff;
 				.scroll-view{
 				.scroll-view{
 					height: 300upx;
 					height: 300upx;
+					padding: 20upx 0;
+					box-sizing: border-box;
 					.screen-module{
 					.screen-module{
-						margin: 20upx 30upx 20upx;
+						margin: 0 30upx;
+						padding: 14upx 0;
 						display: flex;
 						display: flex;
 						align-items: center;
 						align-items: center;
 						.screen-tit{
 						.screen-tit{
@@ -213,7 +231,6 @@
 							background-color: #f4f4f4;
 							background-color: #f4f4f4;
 							border-radius: 12upx;
 							border-radius: 12upx;
 							padding: 10upx 14upx;
 							padding: 10upx 14upx;
-							margin: 10upx 0;
 							text-align: center;
 							text-align: center;
 							text{
 							text{
 								display: inline-block;
 								display: inline-block;

+ 31 - 124
pages/shopTourRecord/shopTourRecord.vue

@@ -12,34 +12,34 @@
 							<text>{{searchForm.creatTime[0]}} ~ {{searchForm.creatTime[1]}}</text>
 							<text>{{searchForm.creatTime[0]}} ~ {{searchForm.creatTime[1]}}</text>
 						</view>
 						</view>
 					</u-sticky>
 					</u-sticky>
-					<view class="record-item" v-for="(item,index) in list" :key="index">
+					<view class="record-item" v-for="(item,index) in list" :key="index" @click="getDetails(item)">
 						<view class="item-head">
 						<view class="item-head">
 							<text class="item-c-tit">{{item.storeName}}</text>
 							<text class="item-c-tit">{{item.storeName}}</text>
-							<u-tag class="item-c-type" :text="item.orderStatus" type="primary" />
+							<u-tag class="item-c-type" :text="item.status | taskStatus" type="primary" />
 						</view>
 						</view>
 						<view class="item-main">
 						<view class="item-main">
 							<text class="item-tit">巡店人:</text>
 							<text class="item-tit">巡店人:</text>
-							<text class="item-val">{{item.shopInspector}}</text>
+							<text class="item-val">{{item.userName}}</text>
 						</view>
 						</view>
 						<view class="item-main">
 						<view class="item-main">
 							<text class="item-tit">创建时间:</text>
 							<text class="item-tit">创建时间:</text>
-							<text class="item-val">{{item.createDate}}</text>
+							<text class="item-val">{{item.startTime}}</text>
 						</view>
 						</view>
 						<u-grid class="item-grid" :col="4" hover-class="none">
 						<u-grid class="item-grid" :col="4" hover-class="none">
 							<u-grid-item>
 							<u-grid-item>
-								<text class="grid-num text-blue">18</text>
+								<text class="grid-num text-blue">{{item.totalTargetCount}}</text>
 								<text class="grid-text">检查项</text>
 								<text class="grid-text">检查项</text>
 							</u-grid-item>
 							</u-grid-item>
 							<u-grid-item>
 							<u-grid-item>
-								<text class="grid-num text-green">13</text>
+								<text class="grid-num text-green">{{item.passTargetCount}}</text>
 								<text class="grid-text">合格</text>
 								<text class="grid-text">合格</text>
 							</u-grid-item>
 							</u-grid-item>
 							<u-grid-item>
 							<u-grid-item>
-								<text class="grid-num text-red">3</text>
+								<text class="grid-num text-red">{{item.notPassTargetCount}}</text>
 								<text class="grid-text">不合格</text>
 								<text class="grid-text">不合格</text>
 							</u-grid-item>
 							</u-grid-item>
 							<u-grid-item>
 							<u-grid-item>
-								<text class="grid-num text-yellow">2</text>
+								<text class="grid-num text-yellow">{{item.notWorkTargetCount}}</text>
 								<text class="grid-text">不适用</text>
 								<text class="grid-text">不适用</text>
 							</u-grid-item>
 							</u-grid-item>
 						</u-grid>
 						</u-grid>
@@ -81,6 +81,22 @@
 			this.searchForm.creatTime = [ this.get7day(-6), this.get7day(0) ]
 			this.searchForm.creatTime = [ this.get7day(-6), this.get7day(0) ]
 			this.pageInit(1)
 			this.pageInit(1)
 		},
 		},
+		filters: {
+			// 任务类型
+			taskStatus(val){
+				let str = ''
+				if(val == 'PENDING'){
+					str = '待处理'
+				}else if(val == 'RUNNING'){
+					str = '进行中'
+				}else if(val == 'FINISHED'){
+					str = '已完成'
+				}else if(val == 'EXPIRED'){
+					str = '已过期'
+				}
+				return str
+			}
+		},
 		methods: {
 		methods: {
 			// 查询列表
 			// 查询列表
 			pageInit(pageNo){
 			pageInit(pageNo){
@@ -115,9 +131,15 @@
 					this.status = 'loadmore'
 					this.status = 'loadmore'
 				});
 				});
 			},
 			},
+			//  查看详情
+			getDetails(item){
+				uni.navigateTo({
+					url: '/pages/shopTourDetails/shopTourDetails?taskId=' + item.id
+				})
+			},
 			//  筛选
 			//  筛选
 			refresh(params){
 			refresh(params){
-				console.log(params,'1111111111')
+				// console.log(params,'1111111111')
 				this.searchForm = params
 				this.searchForm = params
 				this.pageInit(1)
 				this.pageInit(1)
 			},
 			},
@@ -150,58 +172,6 @@
 					this.status = 'nomore'
 					this.status = 'nomore'
 				}
 				}
 			},
 			},
-			// //  关闭筛选
-			// closeDropdown() {
-			// 	this.$refs.uDropdown.close()
-			// },
-			// //  显示日期选择
-			// onShowDatePicker(type){
-			// 	this.showPicker = true
-			// 	this.searchForm.creatTime = this.range
-			// },
-			// //  日期选择
-			// onSelected(e) {
-			// 	this.showPicker = false
-			// 	if(e) {
-			// 		this.range = e.value
-			// 	}
-			// // },
-			
-			
-			// // 过滤已选数据
-			// filterData(data) {
-			// 	let arr = []
-			// 	data.map(item => {
-			// 		if (item.checked) {
-			// 			arr.push(item.code)
-			// 		}
-			// 	});
-			// 	return arr
-			// },
-			
-			
-			// // 选择检查方式
-			// chooseSourceType(item) {
-			// 	item.checked = !item.checked
-			// },
-			// 获取数据字典数据
-			// getLookUpData(code) {
-			// 	getLookUpDatas({ type: code }).then(res => {
-			// 		if (res.status == 200) {
-			// 			res.data.map(item => {
-			// 				item.label = item.dispName
-			// 				item.value = item.code
-			// 				item.checked = false
-			// 			})
-			// 			if (code == 'TASK_TYPE') {  //  检查方式
-			// 				this.sourceTypeList = res.data
-			// 			}else if(code == 'TASK_STATUS'){  //  状态
-			// 				res.data.unshift({label: '全部', value: ''})
-			// 				this.screenState = res.data
-			// 			}
-			// 		}
-			// 	});
-			// },
 		}
 		}
 	}
 	}
 </script>
 </script>
@@ -212,69 +182,6 @@
 		height: calc(100vh - 44px);
 		height: calc(100vh - 44px);
 	}
 	}
 	.shopTourRecord-wrap{
 	.shopTourRecord-wrap{
-		// 筛选条件
-		.uDropdown{
-			background-color: #fff;
-			.screen-dropdown{
-				.slot-content{
-					background-color: #fff;
-					.scroll-view{
-						height: 300upx;
-						// margin: 20upx 30upx 20upx;
-						.screen-module{
-							margin: 20upx 30upx 20upx;
-							display: flex;
-							align-items: center;
-							.screen-tit{
-								color: #464646;
-								font-size: 26upx;
-								width: 140upx;
-								flex-shrink: 0;
-							}
-							.screen-time-val{
-								flex-grow: 1;
-								font-size: 26upx;
-								background-color: #f4f4f4;
-								border-radius: 12upx;
-								padding: 10upx 14upx;
-								margin: 10upx 0;
-								text-align: center;
-								text{
-									display: inline-block;
-									width: 85%;
-								}
-								.close-circle{
-									display: inline-block;
-									padding-left: 3%;
-									vertical-align: bottom;
-								}
-							}
-							.screen-inp-val{
-								flex-grow: 1;
-								.screen-inp{
-									color: #464646;
-									font-size: 26upx;
-								}
-							}
-						}
-						.status-item {
-							display: inline-block;
-							width: 30%;
-							text-align: center;
-							line-height: 60upx;
-							background-color: #e2e2e2;
-							color: #333;
-							font-size: 24upx;
-							margin: 0 10upx;
-						}
-						.active {
-							background-color: #ffaa00;
-							color: #fff;
-						}
-					}
-				}
-			}
-		}
 		// 列表数据
 		// 列表数据
 		.list-con{
 		.list-con{
 			.scroll-con{
 			.scroll-con{