Bladeren bron

Signed-off-by: 1004749546@qq.com <1004749546@qq.com>
修改 提交

1004749546@qq.com 4 jaren geleden
bovenliggende
commit
863a234d68
4 gewijzigde bestanden met toevoegingen van 250 en 38 verwijderingen
  1. 13 0
      pages.json
  2. 56 0
      pages/toDoList/backlogDetail.vue
  3. 172 30
      pages/toDoList/searchModal.vue
  4. 9 8
      pages/toDoList/toDoList.vue

+ 13 - 0
pages.json

@@ -183,6 +183,19 @@
 			"style": {
 				"navigationBarTitleText": "修改密码"
 			}
+		},
+		{
+			"path": "pages/toDoList/toDoList",		//  待办单 > 待办单列表
+			"style": {
+				"navigationStyle": "custom" ,// 隐藏系统导航栏
+				"navigationBarTextStyle": "white" // 状态栏字体为白色,只能为 white-白色,black-黑色 二选一
+			}
+		},
+		{
+			"path": "pages/toDoList/backlogDetail",		//  待办单 > 待办单列表
+			"style": {
+				"navigationBarTitleText": "问题详情"
+			}
 		}
     ],
 	"globalStyle": {

+ 56 - 0
pages/toDoList/backlogDetail.vue

@@ -0,0 +1,56 @@
+<template>
+	<view class="back-content">
+		<!-- 轮播图 -->
+		<swiper class="top-ad-swiper" :indicator-dots="false" :autoplay="true" :interval="5000" :duration="600" :circular="true">
+			<swiper-item v-for="(item,index) in imageTopList" :key="index">
+				<div class="swiper-item uni-bg-red">
+					<!-- <image class="swiper-item-imgse" :fade-show='true' :src="item.photo"></image> -->
+					<u-image mode="scaleToFill" width="750upx" height="400upx" :src="item.photo"></u-image>
+				</div>
+			</swiper-item>
+		</swiper>
+		<view class="back-text">
+			<view class="text-item">
+				常青二路店
+			</view>
+			<view class="text-item">
+				<view>处理人</view>
+				<view>张三丰</view>
+				<view class="">
+					2020-08-07 到期
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		components: {
+		},
+		data() {
+			return {
+				// 顶部轮播图片
+				imageTopList:[],
+			}
+		},
+		onLoad() {
+			
+		},
+		methods: {
+			
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.back-content {
+		.top-ad-swiper{
+			height: 340upx;
+		}
+		.swiper-item-imgse{
+			width: 750upx;
+			height: 340upx;
+		}
+	}
+</style>

+ 172 - 30
pages/toDoList/searchModal.vue

@@ -1,34 +1,37 @@
 <template>
 	<!-- 待办单查询 -->
-	<u-popup v-model="isshow" class="search-popup" mode="right" @close="handleClose" :custom-style="{top:'var(--status-bar-height)'}" length="80%">
-		<view class="search-title">待办单查询</view>
-		<u-form class="form-content" :model="form" ref="uForm" label-width="150">
-			<u-form-item label="发起时间" prop="time">
-				<u-input v-model="form.time" disabled placeholder="请选择发起时间区间" @click="showPicker=true"/>
-			</u-form-item>
-			<u-form-item label="门店" prop="storeName">
-				<u-input v-model="form.storeName" placeholder="请输入门店名称" />
-			</u-form-item>
-			<u-form-item label="巡店人" prop="userName">
-				<u-input v-model="form.userName" placeholder="请输入巡店人名称" />
-			</u-form-item>
-			<u-form-item label="单据状态" prop="status"> 
-				<u-input v-model="form.status" placeholder="请输入巡店人名称" />
-			</u-form-item>
-			<u-form-item label="检查方式" prop="status">
-				<u-input v-model="form.status" placeholder="请输入巡店人名称" />
-			</u-form-item>
-			<u-form-item label="过期状态" prop="status">
-				<u-input v-model="form.status" placeholder="请输入巡店人名称" />
-			</u-form-item>
-		</u-form>
-		<view class="uni-list-btns">
-			<button type="primary" @click="pageInit(false)">查询</button>
-			<button type="info" @click="resetForm">重置</button>
-		</view>
-		<!-- 时间选择器 -->
-		<mx-date-picker :show="showPicker" type="range" :value="form.time" :show-tips="true" @confirm="onSelected" @cancel="onSelected" />
-	</u-popup>
+	<div class="modal-content">
+		<u-popup v-model="isshow" class="search-popup" mode="right" @close="handleClose" :custom-style="{top:'var(--status-bar-height)'}" length="90%">
+			<view class="search-title">待办单查询</view>
+			<u-form class="form-content" :model="form" ref="uForm" label-width="150">
+				<u-form-item label="发起时间" prop="time">
+					<u-input clearable v-model="form.time" disabled placeholder="请选择发起时间区间" @click="openPicker"/>
+				</u-form-item>
+				<u-form-item label="门店" prop="storeName">
+					<u-input v-model="form.storeName" placeholder="请输入门店名称" />
+				</u-form-item>
+				<u-form-item label="巡店人" prop="userName">
+					<u-input v-model="form.userName" placeholder="请输入巡店人名称" />
+				</u-form-item>
+				<u-form-item label="单据状态" prop="status" label-position="top"> 
+					<view :class="['status-item', item.checked ? 'active' : '']" v-for="item in statusList" :key="item.id" @click="chooseStatus(item)">
+						{{item.dispName}}
+					</view>
+				</u-form-item>
+				<u-form-item label="检查方式" prop="sourceType" label-position="top">
+					<view :class="['status-item', item.checked ? 'active' : '']" v-for="item in sourceTypeList" :key="item.id" @click="chooseSourceType(item)">
+						{{item.dispName}}
+					</view>
+				</u-form-item>
+			</u-form>
+			<view class="uni-list-btns">
+				<button type="primary" @click="handleSearch">查询</button>
+				<button type="info" @click="resetForm">重置</button>
+			</view>
+			<!-- 时间选择器 -->
+			<mx-date-picker class="date-picker" :show="showPicker" type="range" format="yyyy-mm-dd" :value="form.time" :show-tips="true" @confirm="onSelected" @cancel="showPicker=false" />
+		</u-popup>
+	</div>
 </template>
 
 <script>
@@ -61,21 +64,145 @@
 			return {
 				isshow: this.visible,  // 显示隐藏
 				showPicker: false, // 是否显示时间弹窗
+				statusList: [
+					{
+						id: 1,
+						code: 'pending',
+						dispName: '待整改',
+						checked: false
+					},
+					{
+						id: 12,
+						code: 'check_pending',
+						dispName: '待审核',
+						checked: false
+					},
+					{
+						id: 13,
+						code: 'finished',
+						dispName: '整改完成',
+						checked: false
+					},
+					{
+						id: 14,
+						code: 'expired',
+						dispName: '已过期',
+						checked: false
+					},
+				], // 状态列表
+				sourceTypeList: [
+					{
+						id: 1,
+						code: 'remote_check',
+						dispName: '远程巡店',
+						checked: false
+					},
+					{
+						id: 12,
+						code: 'spot_check',
+						dispName: '现场巡店',
+						checked: false
+					},
+					{
+						id: 13,
+						code: 'point_check',
+						dispName: '点检',
+						checked: false
+					},
+					{
+						id: 14,
+						code: 'manual',
+						dispName: '手动创建',
+						checked: false
+					},
+				], // 检查方式列表
 				form: {
-					time: null,
+					time: '', // 发起时间区间
+					storeName: '', // 门店名称
+					userName: '' // 巡店人
 				},
+				beginDate: null, // 开始时间
+				endDate: null, // 结束时间
+			}
+		},
+		computed: {
+			// 已选单据状态
+			status() {
+				return this.filterData(this.statusList)
+			},
+			// 检查方式
+			sourceType () {
+				return this.filterData(this.sourceTypeList)
 			}
 		},
 		methods: {
 			// 关闭弹窗
 			handleClose () {
 				this.isshow = false
+			},
+			// 打开时间选择弹框
+			openPicker () {
+				this.showPicker = true
+				console.log(111)
+				// this.$emit('openPicke')
+			},
+			// 确认日期选择
+			onSelected (v) {
+				console.log(v,'vvvvvvvv')
+				this.form.time = v.value[0] + ' ~ ' + v.value[1]
+				this.beginDate = v.value[0]
+				this.endDate = v.value[1]
+				this.showPicker = false
+			},
+			// 过滤已选数据
+			filterData (data) {
+				let arr = []
+				data.map(item => {
+					if (item.checked) {
+						arr.push(item.code)
+					}
+				})
+				return arr
+			},
+			// 选择单据状态
+			chooseStatus (item) {
+				item.checked = !item.checked
+			},
+			// 选择检查方式
+			chooseSourceType (item) {
+				item.checked = !item.checked
+			},
+			// 查询
+			handleSearch () {
+				let params = {
+					beginDate: this.beginDate,
+					endDate: this.endDate,
+					storeName: this.form.storeName,
+					userName: this.form.userName,
+					status: this.status,
+					sourceType: this.sourceType
+				}
+				this.$emit('refresh',params)
+				this.isshow = false
+			},
+			// 重置
+			resetForm () {
+				this.$refs.uForm.resetFields()
+				this.statusList.map(item=>{
+					item.checked = false
+				})
+				this.sourceTypeList.map(item=>{
+					item.checked = false
+				})
 			}
 		},
 	}
 </script>
 
 <style lang="scss" scoped>
+	.modal-content {
+		position: relative;
+	}
 	.search-popup{
 		.search-title{
 			text-align: center;
@@ -85,6 +212,19 @@
 		}
 		.form-content {
 			padding: 0 20upx;
+			.status-item {
+				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;
+			}
 		}
 		.uni-list{
 			margin: 20upx;
@@ -112,4 +252,6 @@
 		}
 		
 	}
+	.date-picker{
+	}
 </style>

+ 9 - 8
pages/toDoList/toDoList.vue

@@ -77,7 +77,8 @@
 					</swiper-item>
 				</swiper>
 		</view>
-		<search-modal :visible="showSearch" @close="showSearch=false"></search-modal>
+		<!-- 待办单查询弹框 -->
+		<search-modal :visible="showSearch" @openPicke="openPicker" @refresh="refresh" @close="showSearch=false"></search-modal>
 	</view>
 </template>
 
@@ -91,7 +92,8 @@
 		},
 		data() {
 			return {
-				showSearch: false,
+				showSearch: false, // 是否显示搜索弹框
+				searchParams: null, // 查询数据参数
 				status: 'loadmore',
 				noDataText: '暂无数据',
 				background: {
@@ -220,12 +222,11 @@
 				// _this.status = "loadmore"
 			 //  })
 			},
-			// 重置
-			resetForm(){
-				this.queryWord = ''
-				this.beginDate = ''
-				this.endDate = ''
-				this.pageInit(true)
+			// 查询刷新
+			refresh(params){
+				console.log(params,'1111111111')
+				this.searchParams = params
+				this.getRow(1)
 			},
 			// 详细页
 			viewRow(item){