Explorar el Código

Merge branch 'deploy' of http://git.chelingzhu.com/chelingzhu-web/storeCheck-app into deploy

1004749546@qq.com hace 4 años
padre
commit
ee068c3164

+ 4 - 2
api/backLog.js

@@ -3,7 +3,8 @@ import axios from '@/libs/axios.js'
 export const getBackLogList = params => {
 export const getBackLogList = params => {
   return axios.request({
   return axios.request({
     url: `backlog/query/${params.pageNo}/${params.pageSize}`,
     url: `backlog/query/${params.pageNo}/${params.pageSize}`,
-    method: 'post'
+    method: 'post',
+	data: params
   })
   })
 }
 }
 // 待办详情
 // 待办详情
@@ -17,6 +18,7 @@ export const getBackLogDetail = params => {
 export const saveBackLog = params => {
 export const saveBackLog = params => {
   return axios.request({
   return axios.request({
     url: `backlog/save`,
     url: `backlog/save`,
-    method: 'post'
+    method: 'post',
+	data: params
   })
   })
 }
 }

+ 20 - 2
pages.json

@@ -37,6 +37,24 @@
 				"navigationBarTitleText": "智能巡店"
 				"navigationBarTitleText": "智能巡店"
 			}
 			}
 		},
 		},
+		{
+			"path": "pages/videoShopTour/videoShopTour",  //  视频巡店
+			"style": {
+				"navigationBarTitleText": "视频巡店"
+			}
+		},
+		{
+			"path": "pages/searchPage/searchPage",  //  搜索 - 根据门店名称搜索
+			"style": {
+				"navigationBarTitleText": "搜索"
+			}
+		},
+		{
+			"path": "pages/organization/organization",  //  搜索 - 根据组织机构搜索
+			"style": {
+				"navigationBarTitleText": "搜索"
+			}
+		},
 		{
 		{
 		    "path" : "pages/shopTour/shopTour",
 		    "path" : "pages/shopTour/shopTour",
 		    "style" : {
 		    "style" : {
@@ -149,9 +167,9 @@
 			}
 			}
         },
         },
 		{
 		{
-			"path": "pages/userCenter/personInfo",		//  我的>员工信息
+			"path": "pages/userCenter/personInfo",		//  我的>个人信息
 			"style": {
 			"style": {
-				"navigationBarTitleText": "员工信息"
+				"navigationBarTitleText": "个人信息"
 			}
 			}
 		},
 		},
 		{
 		{

+ 28 - 63
pages/index/index.vue

@@ -18,19 +18,19 @@
 		<div class="panel-box">
 		<div class="panel-box">
 			<div class="panel-title">
 			<div class="panel-title">
 				<span class="texts">待办单</span>
 				<span class="texts">待办单</span>
-				<span class="btns">更多 
+				<span class="btns" @click="toDoList">更多 
 				<u-icon name="icon-xian-11" custom-prefix="xd-icon" size="24" color="#4eacfe"></u-icon>
 				<u-icon name="icon-xian-11" custom-prefix="xd-icon" size="24" color="#4eacfe"></u-icon>
 				</span>
 				</span>
 			</div>
 			</div>
 			<div class="panel-body">
 			<div class="panel-body">
 				<div class="order-list">
 				<div class="order-list">
-					<div v-for="item in orderData" :key="item.id">
+					<div v-for="item in toDoData" :key="item.id">
 						<span>{{item.createDate}}</span>
 						<span>{{item.createDate}}</span>
-						<span>{{item.vehicleNumber}}</span>
-						<span :class="getClass(item.status)">{{item.status}}</span>
+						<span>{{item.sourceType}}</span>
+						<span>{{item.status}}</span>
 					</div>
 					</div>
 				</div>
 				</div>
-				<div class="nodata" v-if="orderData.length==0">{{noOrderDataText}}</div>
+				<div class="nodata" v-if="toDoData.length==0">{{notoDoDataText}}</div>
 			</div>
 			</div>
 		</div>
 		</div>
 	</view>
 	</view>
@@ -39,7 +39,7 @@
 <script>
 <script>
 import iconItemsList from '@/components/icon-items-list/icon-items-list.vue'
 import iconItemsList from '@/components/icon-items-list/icon-items-list.vue'
 import { bannerList } from "@/api/banner.js"
 import { bannerList } from "@/api/banner.js"
-import { orderQueryLike } from '@/api/backLog'
+import { getBackLogList } from '@/api/backLog'
 import moment from 'moment'
 import moment from 'moment'
 export default {
 export default {
 	components: {
 	components: {
@@ -49,8 +49,8 @@ export default {
 		return {
 		return {
 			// 顶部轮播图片
 			// 顶部轮播图片
 			imageTopList:[],
 			imageTopList:[],
-			noOrderDataText: '数据加载中,请稍后...',
-			orderData: [],
+			notoDoDataText: '数据加载中,请稍后...',
+			toDoData: [],
 			// 快捷导航
 			// 快捷导航
 			navList: [
 			navList: [
 				{
 				{
@@ -58,7 +58,8 @@ export default {
 					icon: 'xundian',
 					icon: 'xundian',
 					color: '#00aaff',
 					color: '#00aaff',
 					name: '视频巡店',
 					name: '视频巡店',
-					url:'/pages/shopTour/shopTour',
+					// url:'/pages/shopTour/shopTour',
+					url: '/pages/videoShopTour/videoShopTour',
 					target: 'page',
 					target: 'page',
 					auth: true
 					auth: true
 				},
 				},
@@ -94,7 +95,7 @@ export default {
 	},
 	},
 	onLoad() {
 	onLoad() {
 		this.getBanner('HOME_TOP')
 		this.getBanner('HOME_TOP')
-		this.getOrderData()
+		this.gettoDoData()
 	},
 	},
 	methods: {
 	methods: {
 		openVideo() {
 		openVideo() {
@@ -114,8 +115,8 @@ export default {
 			bannerList({
 			bannerList({
 				position: position,
 				position: position,
 				status : '1',
 				status : '1',
+				bannerType: 'App'
 			}).then(res=>{
 			}).then(res=>{
-				console.log(res,"-----------")
 				if(res.status == 200){
 				if(res.status == 200){
 					if(position == 'HOME_TOP'){
 					if(position == 'HOME_TOP'){
 						this.imageTopList=res.data
 						this.imageTopList=res.data
@@ -125,72 +126,36 @@ export default {
 				console.log('数据获取失败')
 				console.log('数据获取失败')
 			})
 			})
 		},
 		},
-		// 获取工单看板
-		getOrderData(){
+		// 获取待办单
+		gettoDoData(){
 			let _this = this
 			let _this = this
-			let orderData = {
+			let toDoData = {
 			  pageNo: 1,
 			  pageNo: 1,
 			  pageSize: 5,
 			  pageSize: 5,
-			  queryEndDate: moment().format('YYYY-MM-DD'),
-			  queryBeginDate: moment().subtract(7, 'days').format('YYYY-MM-DD')
+			  endDate: moment().format('YYYY-MM-DD'),
+			  beginDate: moment().subtract(7, 'days').format('YYYY-MM-DD')
 			}
 			}
-			orderQueryLike(orderData).then(res=>{
-				console.log(res,'oooooooooo')
+			getBackLogList(toDoData).then(res=>{
 				if(res.status==200){
 				if(res.status==200){
 					let data = res.data.list
 					let data = res.data.list
-					let temp = []
 					if(data.length) {
 					if(data.length) {
-						data.map(item=>{
-							// 已完工 已结清
-							if(item.finishFlag == 'FINI' && item.orderFlag == 'PAED' ){
-								item.status = '已结清'
-							}
-							// 已完工 未结算
-							if (item.finishFlag == 'FINI' && item.orderFlag == 'UNPA'){
-								item.status = '待结算'
-							}
-							// 已开单 未完工 未结算
-							if (item.finishFlag == 'SAVE' && item.orderFlag == 'UNPA'){
-								item.status = '待完工'
-							}
-							// 扫码洗车 已结清 未完工 
-							if (item.finishFlag == 'SAVE' && item.orderFlag == 'PAED'){
-								item.status = '待完工'
-							}
-							// 销售单 已结清
-							if (item.typeId == 2 && item.orderFlag == 'PAED'){
-								item.status = '已结清'
-							}
-							// 销售单 待结算
-							if (item.typeId == 2 && item.orderFlag == 'UNPA'){
-								item.status = '待结算'
-							}
-							temp.push(item)
-							return
-						})
-						_this.orderData = temp.slice(0,3)
+						_this.toDoData = data
 					} else {
 					} else {
-						_this.orderData = []
-						_this.noOrderDataText = '暂无数据'
+						_this.toDoData = []
+						_this.notoDoDataText = '暂无数据'
 					}
 					}
 				} else {
 				} else {
 					this.showTotast(res.message ? res.message : '网络似乎出错了,请稍后再试')
 					this.showTotast(res.message ? res.message : '网络似乎出错了,请稍后再试')
-					this.noOrderDataText = res.message ? res.message : '网络似乎出错了,请稍后再试'
+					this.notoDoDataText = res.message ? res.message : '网络似乎出错了,请稍后再试'
 				}
 				}
 			})
 			})
 		},
 		},
-		// 根据工单状态 附class名
-		getClass(flag){
-			if (flag == '已结清'){
-				return 'yiJs'
-			}
-			if (flag == '待完工'){
-				return 'daiWg'
-			}
-			if (flag == '待结算'){
-				return 'daiJs'
-			}
-		},
+		// 更多待办
+		toDoList(){
+			uni.navigateTo({
+				url: '/pages/toDoList/toDoList'
+			})
+		}
 	}
 	}
 };
 };
 </script>
 </script>

+ 55 - 63
pages/myShopTour/myShopTour.vue

@@ -8,7 +8,7 @@
 				</view>
 				</view>
 				<view class="left-icon">我的巡店</view>
 				<view class="left-icon">我的巡店</view>
 				<view class="right-icon">
 				<view class="right-icon">
-					<u-icon name="more-dot-fill" color="#fff" size="28" @click="openScreen=true"></u-icon>
+					<u-icon name="more-dot-fill" color="#fff" size="28" @click="openScreenFun"></u-icon>
 				</view>
 				</view>
 			</view>
 			</view>
 		</u-navbar>
 		</u-navbar>
@@ -19,7 +19,9 @@
 				<swiper-item class="swiper-item" v-for="(tabs, index) in tabList" :key="index">
 				<swiper-item class="swiper-item" v-for="(tabs, index) in tabList" :key="index">
 					<scroll-view scroll-y class="scroll-con" @scrolltolower="onreachBottom">
 					<scroll-view scroll-y class="scroll-con" @scrolltolower="onreachBottom">
 						<view class="record-con">
 						<view class="record-con">
-							<view v-show="searchForm.creatTime.length != 0" class="alert-tips">{{searchForm.creatTime[0]}} ~ {{searchForm.creatTime[1]}}</view>
+							<view v-show="searchForm.creatTime.length != 0" class="alert-tips">
+								<text>{{searchForm.creatTime[0]}} ~ {{searchForm.creatTime[1]}}</text>
+							</view>
 							<view class="record-item" v-for="(item,index) in list" :key="index">
 							<view class="record-item" v-for="(item,index) in list" :key="index">
 								<view class="item-head">
 								<view class="item-head">
 									<text class="item-c-tit">{{item.name}}</text>
 									<text class="item-c-tit">{{item.name}}</text>
@@ -64,21 +66,20 @@
 			</swiper>
 			</swiper>
 		</view>
 		</view>
 		<!-- 筛选弹框 -->
 		<!-- 筛选弹框 -->
-		<u-popup v-model="openScreen" mode="right" length="60%" class="screenModel-wrap">
+		<u-popup v-model="openScreen" mode="right" length="80%" class="screenModel-wrap">
 			<!-- 条件项 -->
 			<!-- 条件项 -->
 			<view class="condition-con">
 			<view class="condition-con">
-				<view class="condition-item">
-					<text class="condition-tit">创建时间</text>
-					<view class="condition-val">
-						<text @click="onShowDatePicker('range')">{{range[0] ? range[0] : '请选择'}} ~ {{range[1] ? range[1] : '请选择'}}</text>
-						<u-icon v-show="range.length != 0" name="close-circle" color="#999" size="28" class="close-circle" @click="range=[]"></u-icon>
+				<view class="screen-module">
+					<text class="screen-tit">创建时间:</text>
+					<view class="screen-time-val">
+						<text @click="onShowDatePicker('range')">{{ range.length == 0 ? '请选择' : range[0] + '~' + range[1] }}</text>
+						<u-icon v-show="range.length != 0" name="close-circle-fill" color="#c8c0cc" size="32" class="close-circle" @click="range=[]"></u-icon>
 					</view>
 					</view>
 				</view>
 				</view>
-				<view class="condition-item">
-					<text class="condition-tit">门店</text>
-					<view class="condition-val">
-						<text @click="openStore=!openStore">{{storeName ? storeName : '全部'}}</text>
-						<u-icon v-show="storeName" name="close-circle" color="#999" size="28" class="close-circle" @click="clearStore"></u-icon>
+				<view class="screen-module">
+					<text class="screen-tit">门店:</text>
+					<view class="screen-inp-val">
+						<u-input class="screen-inp" v-model="storeName" :height="52" placeholder="请输入" type="text" :border="true" />
 					</view>
 					</view>
 				</view>
 				</view>
 			</view>
 			</view>
@@ -90,8 +91,6 @@
 		</u-popup>
 		</u-popup>
 		<!-- 选择创建时间 -->
 		<!-- 选择创建时间 -->
 		<mx-date-picker class="choose-date-wrap" :show="showPicker" :type="type" :value="searchForm.creatTime" :show-tips="true" :begin-text="'开始'" :end-text="'结束'" :show-seconds="true" @confirm="onSelected" @cancel="onSelected" />
 		<mx-date-picker class="choose-date-wrap" :show="showPicker" :type="type" :value="searchForm.creatTime" :show-tips="true" :begin-text="'开始'" :end-text="'结束'" :show-seconds="true" @confirm="onSelected" @cancel="onSelected" />
-		<!-- 选择门店 -->
-		<u-select v-model="openStore" :default-value="defaultStoreValue" :list="storeList" @confirm="confirmStore" class="choose-store-wrap"></u-select>
 	</view>
 	</view>
 </template>
 </template>
 
 
@@ -122,9 +121,9 @@
 				noDataText: '暂无数据',  //  列表数据为空时提示文字
 				noDataText: '暂无数据',  //  列表数据为空时提示文字
 				list: [  //  数据列表
 				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: '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: '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,  //  是否打开筛选
 				openScreen: false,  //  是否打开筛选
@@ -133,16 +132,10 @@
 					creatTime: [],  //  创建时间默认筛选近7天
 					creatTime: [],  //  创建时间默认筛选近7天
 					store: ''
 					store: ''
 				},
 				},
-				openStore: false,  // 选择门店
-				storeList: [
-					{ value: '1', label: '江' },
-					{ value: '2', label: '河' }
-				],
 				showPicker: false,  //  是否选择创建时间
 				showPicker: false,  //  是否选择创建时间
 				range: [],  //  筛选创建时间的默认值
 				range: [],  //  筛选创建时间的默认值
 				type: 'range',  //  日期时间类型
 				type: 'range',  //  日期时间类型
-				storeName: '',  //  筛选门店名称
-				defaultStoreValue: [],  //  门店默认选中下标
+				storeName: '',  //  筛选的门店名称
 			}
 			}
 		},
 		},
 		onLoad() {
 		onLoad() {
@@ -229,36 +222,19 @@
 			    }
 			    }
 			    return m
 			    return m
 			},
 			},
-			//  选择门店
-			confirmStore(e){
-				this.storeName = e[0].label
-				this.defaultStoreValue = [this.storeList.findIndex(item => item.value == e[0].value)]
-			},
-			//  情空  筛选门店
-			clearStore(){
-				this.storeName = ''
-				this.defaultStoreValue = []
+			//  打开筛选条件
+			openScreenFun(){
+				this.openScreen = true
 			},
 			},
 			//  重置筛选条件
 			//  重置筛选条件
 			resetF(){
 			resetF(){
 				this.range = this.searchForm.creatTime
 				this.range = this.searchForm.creatTime
-				let ind = [this.storeList.findIndex(item => item.value == this.searchForm.store)]
-				if(ind == -1){
-					this.defaultStoreValue = []
-					this.storeName = ''
-				}else{
-					this.defaultStoreValue = [ind]
-					this.storeName = this.storeList[ind].label
-				}
+				this.storeName = this.searchForm.store
 			},
 			},
 			//  确定筛选
 			//  确定筛选
 			submitF(){
 			submitF(){
 				this.searchForm.creatTime = this.range
 				this.searchForm.creatTime = this.range
-				if(this.storeName){
-					this.searchForm.store = this.storeList[this.defaultStoreValue[0]].value
-				}else{
-					this.searchForm.store = ''
-				}
+				this.searchForm.store = this.storeName
 				this.openScreen = false
 				this.openScreen = false
 			},
 			},
 		}
 		}
@@ -304,18 +280,28 @@ page {
 					height: 100%;
 					height: 100%;
 					// 列表
 					// 列表
 					.record-con{
 					.record-con{
-						padding-top: 20upx;
+						padding-top: 74upx;
+						position: relative;
 						.alert-tips{
 						.alert-tips{
-							font-size: 24upx;
-							padding: 4upx 10upx;
-							margin: 0upx 30upx 10upx;
-							border: 1upx solid #fcbd71;
-							background-color: #fdf6ec;
-							border-radius: 6upx;
+							position: fixed;
+							top: 0upx;
+							left: 0;
+							width: 100%;
+							z-index: 3;
+							padding: 20upx 30upx 10upx;
+							background-color: #fff;
+							text{
+								display: block;
+								font-size: 24upx;
+								padding: 4upx 10upx;
+								border: 1upx solid #fcbd71;
+								background-color: #fdf6ec;
+								border-radius: 6upx;
+							}
 						}
 						}
 						.record-item{
 						.record-item{
 							background-color: #fff;
 							background-color: #fff;
-							margin: 0upx 30upx 20upx;
+							margin: 20upx 30upx 20upx;
 							padding: 14upx 30upx 20upx;
 							padding: 14upx 30upx 20upx;
 							border-radius: 12upx;
 							border-radius: 12upx;
 							.item-head{
 							.item-head{
@@ -341,7 +327,7 @@ page {
 									display: inline-block;
 									display: inline-block;
 									position: absolute;
 									position: absolute;
 									left: 0;
 									left: 0;
-									top: 10upx;
+									top: 8upx;
 								}
 								}
 								.item-val{
 								.item-val{
 									display: inline-block;
 									display: inline-block;
@@ -384,15 +370,14 @@ page {
 		padding-bottom: 80upx;
 		padding-bottom: 80upx;
 		.condition-con{
 		.condition-con{
 			padding: 20upx 30upx;
 			padding: 20upx 30upx;
-			.condition-item{
-				.condition-tit{
-					display: block;
+			.screen-module{
+				margin: 0 0 20upx;
+				.screen-tit{
+					color: #464646;
 					font-size: 26upx;
 					font-size: 26upx;
-					margin: 20upx 0;
 				}
 				}
-				.condition-val{
-					display: block;
-					font-size: 24upx;
+				.screen-time-val{
+					font-size: 26upx;
 					background-color: #f4f4f4;
 					background-color: #f4f4f4;
 					border-radius: 12upx;
 					border-radius: 12upx;
 					padding: 10upx 14upx;
 					padding: 10upx 14upx;
@@ -408,6 +393,13 @@ page {
 						vertical-align: bottom;
 						vertical-align: bottom;
 					}
 					}
 				}
 				}
+				.screen-inp-val{
+					margin: 10upx 0;
+					.screen-inp{
+						color: #464646;
+						font-size: 26upx;
+					}
+				}
 			}
 			}
 		}
 		}
 		.btns{
 		.btns{

+ 129 - 0
pages/organization/organization.vue

@@ -0,0 +1,129 @@
+<template>
+	<view class="organization-wrap">
+		<u-sticky>
+			<!-- 组织结构根节点 -->
+			<view class="organization-root-tit">车领主</view>
+			<!-- 组织结构子节点 -->
+			<view class="organization-node-con">
+				<view class="organization-node-item">
+					<text class="organization-node-item-name">贷安抚记卡的</text>
+					<u-icon class="organization-node-item-icon" name="arrow-right" color="#999" size="28"></u-icon>
+				</view>
+				<view class="organization-node-item">
+					<text class="organization-node-item-name">贷安抚记卡的</text>
+					<u-icon class="organization-node-item-icon" name="arrow-right" color="#999" size="28"></u-icon>
+				</view>
+			</view>
+		</u-sticky>
+		<!-- 门店列表 -->
+		<view class="list-con">
+			<view class="list-tit">门店列表</view>
+			<!-- 列表数据 -->
+			<view class="listData-con">
+				<view class="listData-item" v-for="(item, index) in list" :key="index">
+					<view class="listData-item-l">
+						<u-icon class="listData-item-l-icon" name="mendian" custom-prefix="xd-icon" size="40" color="#888"></u-icon>
+						<text class="listData-item-l-name">{{item.name}}</text>
+					</view>
+					<view class="listData-item-r">
+						<u-icon class="listData-item-r-icon" name="yuanchengxundian" custom-prefix="xd-icon" size="40" color="#2b85e4"></u-icon>
+					</view>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default{
+		data(){
+			return{
+				list: [
+					{ name: '常青二路店' },
+					{ name: '常青二路店常青青二路店常路店' },
+					{ name: '常青二路店' },
+					{ name: '常青二路店' },
+					{ name: '常青二路店' },
+					{ name: '常青二路店' },
+					{ name: '常青二路店' },
+					{ name: '常青二路店常青青二路店常路店' },
+					{ name: '常青二路店' },
+					{ name: '常青二路店' },
+					{ name: '常青二路店' },
+					{ name: '常青二路店' },
+					{ name: '常青二路店' },
+					{ name: '常青二路店常青青二路店常路店' },
+					{ name: '常青二路店' },
+					{ name: '常青二路店' },
+					{ name: '常青二路店' },
+					{ name: '常青二路店' },
+				]
+			}
+		},
+		methods: {}
+	}
+</script>
+
+<style lang="scss" scoped>
+	page {
+		background-color: #f8f8f8;
+		height: calc(100vh - 44px);
+	}
+	.organization-wrap{
+		.organization-root-tit{
+			padding: 20upx 30upx;
+			background-color: #fff;
+			border-bottom: 20upx solid #f8f8f8;
+		}
+		.organization-node-con{
+			padding: 0 30upx;
+			background-color: #fff;
+			.organization-node-item{
+				display: flex;
+				padding: 20upx 0;
+				border-bottom: 1upx dashed #f8f8f8;
+				&-name{
+					flex-grow: 1;
+				}
+				&-icon{
+					flex-shrink: 0;
+				}
+			}
+		}
+		// 门店列表
+		.list-con{
+			background-color: #fff;
+			margin-top: 20upx;
+			.list-tit{
+				padding: 20upx 30upx;
+				border-bottom: 1upx solid #f8f8f8;
+			}
+			.listData-con{
+				padding: 0 30upx;
+				.listData-item{
+					display: flex;
+					justify-content: space-between;
+					align-items: center;
+					padding: 20upx 0;
+					border-bottom: 1upx dashed #f8f8f8;
+					&-l{
+						flex-grow: 1;
+						padding-right: 10upx;
+						position: relative;
+						padding-left: 50upx;
+						&-icon{
+							vertical-align: sub;
+							padding-right: 8upx;
+							position: absolute;
+							left: 0;
+							top: -4upx;
+						}
+					}
+					&-r{
+						flex-shrink: 0;
+					}
+				}
+			}
+		}
+	}
+</style>

+ 60 - 0
pages/searchPage/searchPage.vue

@@ -0,0 +1,60 @@
+<template>
+	<view class="searchPage-wrap">
+		<!-- 搜索 -->
+		<u-search shape="square" placeholder="请输入门店名称搜索" v-model="keyword" action-text="取消" @change="change" @search="search" @custom="custom"></u-search>
+	</view>
+</template>
+
+<script>
+	export default{
+		data(){
+			return{
+				keyword: ''
+			}
+		},
+		methods: {
+			//  用户点击右侧控件时触发
+			custom(val){
+				
+			},
+			//  输入框内容发生变化时触发
+			change(val){
+				let i = this.throttle(this.handle(), 1000)
+				// console.log(i)
+			},
+			//  用户确定搜索时触发,用户按回车键,或者手机键盘右下角的"搜索"键时触发
+			search(val){
+				
+			},
+			// 节流throttle代码(时间戳+定时器)
+			throttle(fn,delay){
+			    let valid = true
+			    return function() {
+			       if(!valid){
+			           //休息时间 暂不接客
+			           return false 
+			       }
+			       // 工作时间,执行函数并且在间隔期内把状态位设为无效
+			        valid = false
+			        setTimeout(() => {
+			            fn()
+			            valid = true;
+			        }, delay)
+			    }
+			},
+			handle(){
+				console.log(12)
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	page {
+		background-color: #f8f8f8;
+		height: calc(100vh - 44px);
+	}
+	.searchPage-wrap{
+		
+	}
+</style>

+ 303 - 35
pages/shopTourRecord/shopTourRecord.vue

@@ -1,55 +1,195 @@
 <template>
 <template>
 	<view class="shopTourRecord-wrap">
 	<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>
+		<u-sticky offset-top="0">
+			<!-- 顶部筛选条件 -->
+			<u-dropdown ref="uDropdown" class="uDropdown">
+				<u-dropdown-item v-model="searchForm.isAll" title="全部" :options="screenClass"></u-dropdown-item>
+				<u-dropdown-item v-model="searchForm.inspectionMethod" title="检查方式" :options="screenMethod"></u-dropdown-item>
+				<u-dropdown-item v-model="searchForm.state" title="状态" :options="screenState"></u-dropdown-item>
+				<u-dropdown-item title="筛选" class="screen-dropdown">
+					<view class="slot-content">
+						<scroll-view class="scroll-view" scroll-y="true">
+							<view class="screen-module">
+								<text class="screen-tit">时间区间:</text>
+								<view class="screen-time-val">
+									<text @click="onShowDatePicker('range')">{{ range.length == 0 ? '请选择' : range[0] + '~' + range[1] }}</text>
+									<u-icon v-show="range.length != 0" name="close-circle-fill" color="#c8c0cc" size="32" class="close-circle" @click="range=[]"></u-icon>
+								</view>
+							</view>
+							<view class="screen-module">
+								<text class="screen-tit">门店:</text>
+								<view class="screen-inp-val">
+									<u-input class="screen-inp" v-model="searchForm.store" :height="52" placeholder="请输入" type="text" :border="true" />
+								</view>
+							</view>
+							<view class="screen-module">
+								<text class="screen-tit">巡店人:</text>
+								<view class="screen-inp-val">
+									<u-input class="screen-inp" v-model="searchForm.shopInspector" :height="52" placeholder="请输入" type="text" :border="true" />
+								</view>
+							</view>
+						</scroll-view>
+						<u-button type="primary" @click="closeDropdown">确定</u-button>
+					</view>
+				</u-dropdown-item>
+			</u-dropdown>
+		</u-sticky>
+		<!-- 列表数据 -->
+		<view class="list-con">
+			<scroll-view scroll-y class="scroll-con" @scrolltolower="onreachBottom">
+				<view class="record-con">
+					<u-sticky offset-top="80">
+						<view v-show="searchForm.creatTime.length != 0" class="alert-tips">
+							<text>{{searchForm.creatTime[0]}} ~ {{searchForm.creatTime[1]}}</text>
+						</view>
+					</u-sticky>
+					<view class="record-item" v-for="(item,index) in list" :key="index">
+						<view class="item-head">
+							<text class="item-c-tit">{{item.name}}</text>
+							<u-tag class="item-c-type" :text="item.orderStatus" type="primary" />
+						</view>
+						<view class="item-main">
+							<text class="item-tit">巡店人:</text>
+							<text class="item-val">{{item.shopInspector}}</text>
+						</view>
+						<view class="item-main">
+							<text class="item-tit">创建时间:</text>
+							<text class="item-val">{{item.creatTime}}</text>
+						</view>
+						<u-grid class="item-grid" :col="4" hover-class="none">
+							<u-grid-item>
+								<text class="grid-num text-blue">18</text>
+								<text class="grid-text">检查项</text>
+							</u-grid-item>
+							<u-grid-item>
+								<text class="grid-num text-green">13</text>
+								<text class="grid-text">合格</text>
+							</u-grid-item>
+							<u-grid-item>
+								<text class="grid-num text-red">3</text>
+								<text class="grid-text">不合格</text>
+							</u-grid-item>
+							<u-grid-item>
+								<text class="grid-num text-yellow">2</text>
+								<text class="grid-text">不适用</text>
+							</u-grid-item>
+						</u-grid>
+					</view>
 				</view>
 				</view>
-			</u-dropdown-item>
-		</u-dropdown>
+				<u-empty text="暂无数据" img-width="120" v-if="list.length == 0 && status != 'loading'" mode="list"></u-empty>
+				<u-loadmore bg-color="#f8f8f8" v-if="list.length < total || status == 'loading'" :status="status" class="loadmore" />
+			</scroll-view>
+		</view>
+		
+		<!-- 选择时间区间 -->
+		<mx-date-picker class="choose-date-wrap" :show="showPicker" :type="type" :value="searchForm.creatTime" :show-tips="true" :begin-text="'开始'" :end-text="'结束'" :show-seconds="true" @confirm="onSelected" @cancel="onSelected" />
 	</view>
 	</view>
 </template>
 </template>
 
 
 <script>
 <script>
+	import MxDatePicker from "@/components/mx-datepicker/mx-datepicker.vue"
 	export default{
 	export default{
+		components: { MxDatePicker },
 		data(){
 		data(){
 			return{
 			return{
-				value1: 1,
-				value2: 2,
-				options1: [
-					{ label: '默认排序', value: 1, },
-					{ label: '距离优先', value: 2, },
-					{ label: '价格优先', value: 3, }
+				screenClass: [
+					{ label: '全部', value: 1, },
+					{ label: '我的巡店', value: 2, }
 				],
 				],
-				options2: [
-					{ label: '去冰', value: 1, },
-					{ label: '加冰', value: 2, },
+				screenMethod: [
+					{ label: '现场巡店', value: 1, },
+					{ label: '视频巡店', value: 2, },
+					{ label: '点检任务', value: 3, }
+				],
+				screenState: [
+					{ label: '全部', value: 1, },
+					{ label: '待处理', value: 2, },
+					{ label: '进行中', value: 3, },
+					{ label: '已完成', value: 4, },
+					{ label: '已过期', value: 5, }
 				],
 				],
 				searchForm: {
 				searchForm: {
-					isAll: '',
-					inspectionMethod: '',
-					state: '',
-					screen: ''
-				}
+					isAll: '1',  //  全部(全部、我的巡店)
+					inspectionMethod: '',  //  检查方式(现场巡店、视频巡店、点检任务)
+					state: '1',  //  状态(全部、待处理、进行中、已完成、已过期)
+					creatTime: '',  //  时间区间(天)
+					store: '',  //  门店
+					shopInspector: ''  //  巡店人
+				},
+				showPicker: false,  //  是否选择创建时间
+				range: [],  //  筛选创建时间的默认值
+				type: 'range',  //  日期时间类型
+				pageNo: 1,  //  当前页码
+				pageSize: 15,  //  一页多少条
+				total: 0,  //  总条数
+				// status: 'loading',  //  加载状态
+				status: 'loadmore',  //  加载状态
+				noDataText: '暂无数据',  //  列表数据为空时提示文字
+				list: [  //  数据列表
+					{ name: '常青二店', creatTime: '2020-09-08 09:16', orderStatus: 'haveInHand', shopInspector: '张三' },
+					{ name: '常青二店', creatTime: '2020-09-08 09:16', orderStatus: 'invalid', shopInspector: '李四' },
+					{ name: '常青二店', creatTime: '2020-09-08 09:16', orderStatus: 'haveInHand', shopInspector: '王五' },
+					{ name: '常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店常青二店', creatTime: '2020-09-08 09:16', orderStatus: 'completed', shopInspector: '王权富贵' },
+					{ name: '常青二店', creatTime: '2020-09-08 09:16', orderStatus: 'completed', shopInspector: '钱六' },
+				],
 			}
 			}
 		},
 		},
+		onLoad() {
+			this.pageInit()
+		},
 		methods: {
 		methods: {
+			pageInit(){
+				this.range = [ this.get7day(-6), this.get7day(0) ]
+				this.searchForm.creatTime = [ this.get7day(-6), this.get7day(0) ]
+				this.total = 0
+				this.pageNo = 1
+			},
+			//  获取近几天的数据
+			get7day(day){
+				let today = new Date()
+				let targetday_milliseconds = today.getTime() + 1000 * 60 * 60 * 24 * day
+				today.setTime(targetday_milliseconds)  //注意,这行是关键代码
+				let tYear = today.getFullYear()
+				let tMonth = today.getMonth()
+				let tDate = today.getDate()
+				tMonth = this.doHandleMonth(tMonth + 1)
+				tDate = this.doHandleMonth(tDate)
+				return tYear + "-" + tMonth + "-" + tDate
+			},
+			//  月份
+			doHandleMonth(month){
+			    let m = month
+			    if(month.toString().length == 1){
+					m = "0" + month
+			    }
+			    return m
+			},
+			// scroll-view到底部加载更多
+			onreachBottom() {
+				// if(this.list.length < this.total){
+				// 	this.pageNo += 1
+				// 	this.pageInit()
+				// }else{
+				// 	this.status = "nomore"
+				// }
+			},
+			//  关闭筛选
 			closeDropdown() {
 			closeDropdown() {
 				this.$refs.uDropdown.close()
 				this.$refs.uDropdown.close()
-			}
+			},
+			//  显示日期选择
+			onShowDatePicker(type){
+				this.type = type
+				this.showPicker = true
+				this.searchForm.creatTime = this[type]
+			},
+			//  日期选择
+			onSelected(e) {
+				this.showPicker = false
+				if(e) {
+					this[this.type] = e.value
+				}
+			},
 		}
 		}
 	}
 	}
 </script>
 </script>
@@ -60,8 +200,136 @@
 		height: calc(100vh - 44px);
 		height: calc(100vh - 44px);
 	}
 	}
 	.shopTourRecord-wrap{
 	.shopTourRecord-wrap{
+		// 筛选条件
 		.uDropdown{
 		.uDropdown{
-			
+			background-color: #fff;
+			.screen-dropdown{
+				.slot-content{
+					background-color: #fff;
+					.scroll-view{
+						height: 300upx;
+						.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;
+								}
+							}
+						}
+					}
+				}
+			}
+		}
+		// 列表数据
+		.list-con{
+			.scroll-con{
+				height: 100%;
+				// 列表
+				.record-con{
+					.alert-tips{
+						padding: 20upx 30upx 10upx;
+						background-color: #fff;
+						text{
+							display: block;
+							font-size: 24upx;
+							padding: 4upx 10upx;
+							border: 1upx solid #fcbd71;
+							background-color: #fdf6ec;
+							border-radius: 6upx;
+						}
+					}
+					.record-item{
+						background-color: #fff;
+						margin: 20upx 30upx 20upx;
+						padding: 14upx 30upx 20upx;
+						border-radius: 12upx;
+						.item-head{
+							display: flex;
+							justify-content: space-between;
+							align-items: center;
+							padding: 10upx 0;
+							.item-c-tit{
+								flex-grow: 1;
+								padding-right: 18upx;
+								font-weight: bold;
+							}
+							.item-c-type{
+								flex-shrink: 0;
+							}
+						}
+						.item-main{
+							font-size: 26upx;
+							line-height: 48upx;
+							padding: 6upx 0;
+							position: relative;
+							.item-tit{
+								display: inline-block;
+								position: absolute;
+								left: 0;
+								top: 8upx;
+							}
+							.item-val{
+								display: inline-block;
+								padding-left: 130upx;
+							}
+						}
+						.item-grid{
+							margin-top: 10upx;
+							.text-blue{
+								color: #2979ff;
+							}
+							.text-green{
+								color: #19be6b;
+							}
+							.text-red{
+								color: #fa3534;
+							}
+							.text-yellow{
+								color: #ff9900;
+							}
+							.grid-num{
+								font-weight: bold;
+							}
+							.grid-text{
+								font-size: 26upx;
+								padding-top: 10upx;
+								color: #666;
+							}
+						}
+					}
+				}
+				.loadmore{
+					padding: 30upx;
+				}
+			}
 		}
 		}
 	}
 	}
 </style>
 </style>

+ 28 - 7
pages/spotCheckCenter/spotCheckResult.vue

@@ -1,29 +1,35 @@
 <template>
 <template>
 	<view class="result-pages">
 	<view class="result-pages">
-		<view class="results">
+		<view class="results" v-if="pageData">
 			<view class="results-head">
 			<view class="results-head">
-				<view>夏季活夏季活动布置动布置-长青长青二路店二路店-2020-05-26</view>
+				<view>{{pageData.name}}-{{pageData.storeName}}-{{pageData.createDate}}</view>
 				<view>任务的点检结果</view>
 				<view>任务的点检结果</view>
 				<view>
 				<view>
-					<view class="r-totals">113</view>
+					<view class="r-totals">{{pageData.totalTargetCount}}</view>
 					<view>点检总数</view>
 					<view>点检总数</view>
 				</view>
 				</view>
 			</view>
 			</view>
 			<view class="results-items">
 			<view class="results-items">
 				<view>
 				<view>
-					<view class="hg">6</view>
+					<view class="hg">{{pageData.passTargetCount}}</view>
 					<view>合格项数</view>
 					<view>合格项数</view>
 				</view>
 				</view>
 				<view>
 				<view>
-					<view class="bhg">2</view>
+					<view class="bhg">{{pageData.notPassTargetCount}}</view>
 					<view>不合格项数</view>
 					<view>不合格项数</view>
 				</view>
 				</view>
 				<view>
 				<view>
-					<view class="bsy">5</view>
+					<view class="bsy">{{pageData.notWorkTargetCount}}</view>
 					<view>不适用项数</view>
 					<view>不适用项数</view>
 				</view>
 				</view>
 			</view>
 			</view>
 		</view>
 		</view>
+		<view v-else>
+			<view class="loadingStyle">
+				<u-loading mode="circle"></u-loading>
+				<view>正在加载</view>
+			</view>
+		</view>
 		<view class="result-back">
 		<view class="result-back">
 			<u-button type="primary" @click="goBack">返回任务列表</u-button>
 			<u-button type="primary" @click="goBack">返回任务列表</u-button>
 		</view>
 		</view>
@@ -31,15 +37,26 @@
 </template>
 </template>
 
 
 <script>
 <script>
+	import { getTaskDetail } from '@/api/task';
 	export default {
 	export default {
 		data() {
 		data() {
 			return {
 			return {
-				pageData: null
+				pageData: null,
+				id: ''
 			}
 			}
 		},
 		},
+		onLoad(options) {
+			this.id = options.id
+			this.getDetail()
+		},
 		methods: {
 		methods: {
 			goBack(){
 			goBack(){
 				uni.navigateBack()
 				uni.navigateBack()
+			},
+			getDetail(){
+				getTaskDetail({id:this.id}).then(res => {
+					this.pageData = res.data || null
+				})
 			}
 			}
 		}
 		}
 	}
 	}
@@ -47,6 +64,10 @@
 
 
 <style lang="scss">
 <style lang="scss">
 	.result-pages{
 	.result-pages{
+		.loadingStyle{
+			text-align: center;
+			padding: 10vh 0 10vh 0;
+		}
 		.results{
 		.results{
 			padding: 20upx;
 			padding: 20upx;
 			background: #fff;
 			background: #fff;

+ 204 - 248
pages/spotCheckCenter/spotChecking.vue

@@ -1,276 +1,232 @@
 <template>
 <template>
 	<view class="pagesCons">
 	<view class="pagesCons">
 		<view class="tab-body">
 		<view class="tab-body">
-			    <view>
-					<u-tabs-swiper ref="uTabs" :list="tabList" name="dispName" :current="current" @change="tabsChange" :is-scroll="false"
-					 swiperWidth="750"></u-tabs-swiper>
-				</view>
-				<swiper class="check-list" :current="swiperCurrent" @transition="transition" @change="swiperChange" @animationfinish="animationfinish">
-					<swiper-item class="swiper-item" style="height: 100%;width: 100%;overflow: hidden;" v-for="(tabs, index) in tabList" :key="index">
-						<scroll-view scroll-y style="height: 100%;width: 100%;overflow: auto;" @scrolltolower="onreachBottom">
-							<view  
-							class="check-order-list" 
-							v-for="(item,index) in list" 
-							:key="item.id"
-							>
-								 <view class="check-row" @click="viewRow(item)">
-									 <view class="createDate">{{item.createDate}}</view>
-									 <view>待处理</view>
-								 </view>
-								 <view class="check-row" @click="viewRow(item)">
-									 <view>
-										 <view style="font-size: 30upx;margin-bottom: 10upx;">夏季活动布置</view>
-										 <view style="color: #666666;">长青二路店</view>
-									</view>
-									 <view>
-										 <text style="color: #007AFF;">开始点检</text>
-									 	 <u-icon name="icon-xian-11" custom-prefix="xd-icon" size="28" color="#888888"></u-icon>
-									 </view>
-								 </view>
-							 </view>
-							 <u-empty :text="noDataText" img-width="120" v-if="list.length==0 && status!='loading'" mode="list"></u-empty>
-							 <view style="padding: 20upx;">
-								 <u-loadmore v-if="total>pageSize || status=='loading'" :status="status" />
-							 </view>
-						</scroll-view>
-					</swiper-item>
-				</swiper>
+			<view><u-tabs-swiper ref="uTabs" :list="tabList" name="dispName" :current="current" @change="tabsChange" :is-scroll="false" swiperWidth="750"></u-tabs-swiper></view>
+			<swiper class="check-list" :current="swiperCurrent" @transition="transition" @change="swiperChange" @animationfinish="animationfinish">
+				<swiper-item class="swiper-item" style="height: 100%;width: 100%;overflow: hidden;" v-for="(tabs, index) in tabList" :key="index">
+					<scroll-view scroll-y style="height: 100%;width: 100%;overflow: auto;" @scrolltolower="onreachBottom">
+						<view class="check-order-list" v-for="(item, index) in list" :key="item.id">
+							<view class="check-row" @click="viewRow(item)">
+								<view class="createDate">{{ item.createDate }}</view>
+								<view>{{ item.status }}</view>
+							</view>
+							<view class="check-row" @click="viewRow(item)">
+								<view>
+									<view style="font-size: 30upx;margin-bottom: 10upx;">{{ item.name }}</view>
+									<view style="color: #666666;">{{ item.storeName }}</view>
+								</view>
+								<view>
+									<text style="color: #007AFF;">开始点检</text>
+									<u-icon name="icon-xian-11" custom-prefix="xd-icon" size="28" color="#888888"></u-icon>
+								</view>
+							</view>
+						</view>
+						<u-empty :text="noDataText" img-width="120" v-if="list.length == 0 && status != 'loading'" mode="list"></u-empty>
+						<view style="padding: 20upx;"><u-loadmore v-if="total > pageSize || status == 'loading'" :status="status" /></view>
+					</scroll-view>
+				</swiper-item>
+			</swiper>
 		</view>
 		</view>
 	</view>
 	</view>
 </template>
 </template>
 
 
 <script>
 <script>
-	import {getCheckResult, deleteCheckResult} from '@/api/task.js'
-	import { getLookUpDatas, listLookUp } from '@/api/data'
-	import { orderQueryLike, deleteOrder, finishOrder, smAddSerPerson } from '@/api/task'
-	import { clzConfirm } from '@/libs/tools.js'
-	export default {
-		components: {
-		},
-		data() {
-			return {
-				showSearch: false,
-				status: 'loadmore',
-				canEdit: false, 
-				canFinish: false, 
-				canDel: false, 
-				canView: false, 
-				canPay: false, 
-				noDataText: '暂无数据',
-				background: {
-					// 渐变色
-					backgroundImage: 'linear-gradient(45deg, rgb(85, 170, 255), rgb(21, 102, 223))'
+import { getTaskList } from '@/api/task.js';
+import { getLookUpDatas, listLookUp } from '@/api/data';
+import { clzConfirm } from '@/libs/tools.js';
+export default {
+	data() {
+		return {
+			status: 'loadmore',
+			noDataText: '暂无数据',
+			tabList: [
+				{
+					dispName: '待处理',
+					typeId: 4
+				},
+				{
+					dispName: '已完成',
+					typeId: 3
+				},
+				{
+					dispName: '已过期',
+					typeId: 2
 				},
 				},
-				tabList: [
-					   {
-						  dispName: '待处理',
-						  typeId: 4
-					   },
-					  {
-					    dispName: '已完成',
-					  	typeId: 3
-					  },
-					  {
-					    dispName: '已过期',
-					  	typeId: 2
-					  },
-					  {
-					    dispName: '全部',
-					  	typeId: 1
-					  },
-				  ],
-				current: 0,
-				swiperCurrent: 0,
-				pageNo: 1,
-				pageSize: 10,
-				list: [],
-				total: 0,
+				{
+					dispName: '全部',
+					typeId: 1
+				}
+			],
+			current: 0,
+			swiperCurrent: 0,
+			pageNo: 1,
+			pageSize: 10,
+			list: [],
+			total: 0
+		};
+	},
+	onLoad() {
+		this.getRow();
+	},
+	methods: {
+		message(title) {
+			uni.showToast({
+				icon: 'none',
+				title: title
+			});
+		},
+		// tabs通知swiper切换
+		tabsChange(index) {
+			this.swiperCurrent = index;
+			this.list = [];
+			this.status = 'loading';
+		},
+		swiperChange(event) {
+			console.log(event.detail);
+			this.list = [];
+			this.status = 'loading';
+		},
+		// swiper-item左右移动,通知tabs的滑块跟随移动
+		transition(e) {
+			let dx = e.detail.dx;
+			this.$refs.uTabs.setDx(dx);
+		},
+		// 由于swiper的内部机制问题,快速切换swiper不会触发dx的连续变化,需要在结束时重置状态
+		// swiper滑动结束,分别设置tabs和swiper的状态
+		animationfinish(e) {
+			let current = e.detail.current;
+			if (current != this.current) {
+				this.$refs.uTabs.setFinishCurrent(current);
+				this.swiperCurrent = current;
+				this.current = current;
+				this.getRow();
 			}
 			}
 		},
 		},
-		onLoad() {
-			this.getRow()
+		// scroll-view到底部加载更多
+		onreachBottom() {
+			console.log(this.list.length, this.total);
+			if (this.list.length < this.total) {
+				this.pageNo += 1;
+				this.getRow();
+			} else {
+				this.status = 'nomore';
+			}
 		},
 		},
-		methods:{
-			message(title){
-				uni.showToast({
-					icon:'none',
-					title: title
-				})
-			},
-			// tabs通知swiper切换
-			tabsChange(index) {
-				this.swiperCurrent = index;
-				this.list = []
-				this.status = "loading"
-			},
-			swiperChange(event){
-				console.log(event.detail)
-				this.list = []
-				this.status = "loading"
-			},
-			// swiper-item左右移动,通知tabs的滑块跟随移动
-			transition(e) {
-				let dx = e.detail.dx;
-				this.$refs.uTabs.setDx(dx);
-			},
-			// 由于swiper的内部机制问题,快速切换swiper不会触发dx的连续变化,需要在结束时重置状态
-			// swiper滑动结束,分别设置tabs和swiper的状态
-			animationfinish(e) {
-				let current = e.detail.current;
-				if(current != this.current){
-					this.$refs.uTabs.setFinishCurrent(current);
-					this.swiperCurrent = current;
-					this.current = current;
-					this.getRow()
-				}
-			},
-			// scroll-view到底部加载更多
-			onreachBottom() {
-				console.log(this.list.length, this.total)
-				if(this.list.length < this.total){
-					this.pageNo += 1
-					this.getRow()
-				}else{
-					this.status = "nomore"
-				}
-			},
-			// 查询列表
-			getRow (pageNo) {
-			  let _this = this
-			  if (pageNo) {
-			    this.pageNo = pageNo
-			  }
-			  
-			  let params = {
-			    pageNo: this.pageNo,
-			    pageSize: this.pageSize,
-			    queryWord: this.queryWord,
-			    queryBeginDate: this.beginDate,
-			    queryEndDate: this.endDate,
-			    typeId: this.typeId,
-			    finishFlag: this.finishFlag,
-			    orderFlag: this.orderFlag,
-				orderFlags: this.orderFlags,
-			    orderSource: this.orderSource
-			  }
-			  this.status = "loading"
-			  orderQueryLike(params).then(res => {
+		// 查询列表
+		getRow(pageNo) {
+			let _this = this;
+			if (pageNo) {
+				this.pageNo = pageNo;
+			}
+			let params = {
+				pageNo: this.pageNo,
+				pageSize: this.pageSize,
+				type: '点检任务', // 任务类型
+				status: this.typeId == 1 ? '' : this.typeId // 任务状态
+			};
+			this.status = 'loading';
+			getTaskList(params).then(res => {
 				if (res.code == 200 || res.status == 204 || res.status == 200) {
 				if (res.code == 200 || res.status == 204 || res.status == 200) {
-				  if(_this.pageNo>1){
-					  _this.list = _this.list.concat(res.data.list || [])
-				  }else{
-					  _this.list = res.data.list || []
-				  }
-				  _this.total = res.data.count || 0
+					if (_this.pageNo > 1) {
+						_this.list = _this.list.concat(res.data.list || []);
+					} else {
+						_this.list = res.data.list || [];
+					}
+					_this.total = res.data.count || 0;
 				} else {
 				} else {
-				  _this.list = []
-				  _this.total = 0
-				  _this.noDataText = res.message
+					_this.list = [];
+					_this.total = 0;
+					_this.noDataText = res.message;
 				}
 				}
-				_this.status = "loadmore"
-			  })
-			},
-			// 查询条件
-			openSearch(){
-				this.showSearch = true
-			},
-			bindBeginDateChange(e){
-				this.beginDate = e.target.value
-			},
-			bindEndDateChange(e){
-				this.endDate = e.target.value
-			},
-			// 重置
-			resetForm(){
-				this.queryWord = ''
-				this.beginDate = ''
-				this.endDate = ''
-				this.pageInit(true)
-			},
-			// 详细页
-			viewRow(item){
-				// 已完成的
-				uni.navigateTo({
-					url: "/pages/spotCheckCenter/spotCheckResult?id="+item.id
-				})
-			},
+				_this.status = 'loadmore';
+			});
+		},
+		// 详细页
+		viewRow(item) {
+			// 判断状态,待处理的跳转的开始点检页面,已完成的查看点检结果,已过期的不处理
+			// 已完成的
+			uni.navigateTo({
+				url: '/pages/spotCheckCenter/spotCheckResult?id=' + item.id
+			});
+			// 待处理
 		}
 		}
 	}
 	}
+};
 </script>
 </script>
 
 
 <style lang="scss" scoped>
 <style lang="scss" scoped>
-	page{
-		height: 100%;
-	}
-	.pagesCons{
-		height: 100%;
-		display: flex;
-		flex-direction: column;
-		.tab-body{
-			.check-list{
-				height: calc(100vh - 120px);
-			}
-			.check-order-list{
-				background: #ffffff;
-				padding: 10upx 20upx;
-				margin: 25upx;
-				border-radius: 6upx;
-				box-shadow: 1px 1px 3px #EEEEEE;
-				.check-row{
+page {
+	height: 100%;
+}
+.pagesCons {
+	height: 100%;
+	display: flex;
+	flex-direction: column;
+	.tab-body {
+		.check-list {
+			height: calc(100vh - 120px);
+		}
+		.check-order-list {
+			background: #ffffff;
+			padding: 10upx 20upx;
+			margin: 25upx;
+			border-radius: 6upx;
+			box-shadow: 1px 1px 3px #eeeeee;
+			.check-row {
+				display: flex;
+				align-items: center;
+				padding: 20upx 10upx;
+				font-size: 28upx;
+				&:first-child {
+					border-bottom: 1px dashed #f8f8f8;
+					font-size: 26upx;
+				}
+				&:last-child {
+					border-top: 1px dashed #f8f8f8;
+				}
+				> view {
+					&:first-child {
+						flex-grow: 1;
+					}
+				}
+				.action {
+					margin: 0 6rpx;
+					padding: 0 20rpx;
+					color: #fff;
+				}
+				.edit {
+					background-color: #f9ba09;
+				}
+				.view {
+					background-color: #ff7801;
+				}
+				.del {
+					background-color: #f72525;
+				}
+				.finish {
+					background-color: #2d8cf0;
+				}
+				.pay {
+					background-color: #10c71e;
+				}
+				.check-btns {
+					width: '50%';
 					display: flex;
 					display: flex;
 					align-items: center;
 					align-items: center;
-					padding: 20upx 10upx;
-					font-size: 28upx;
-					&:first-child{
-						border-bottom: 1px dashed #F8F8F8;
-						font-size: 26upx;
-					}
-					&:last-child{
-						border-top: 1px dashed #F8F8F8;
-					}
-					> view{
-						&:first-child{
-							flex-grow: 1;
-						}
-					}
-					.action{
-						margin: 0 6rpx;
-						padding: 0 20rpx;
-						color: #fff;
-					}
-					.edit{
-						background-color: #f9ba09;
-					}
-					.view{
-						background-color: #ff7801;
-					}
-					.del{
-						background-color: #f72525;
-					}
-					.finish{
-						background-color: #2d8cf0;
-					}
-					.pay{
-						background-color: #10c71e;
-					}
-					.check-btns{
-						width: '50%';
-						display: flex;
-						align-items: center;
-						justify-content: flex-end;
-						> view{
-							margin-left: 35upx;
-							font-size: 28upx;
-						}
-					}
-					.u-tag{
-						border-radius: 0;
-					}
-					.uni-icons{
-						margin: 0 5upx;
+					justify-content: flex-end;
+					> view {
+						margin-left: 35upx;
+						font-size: 28upx;
 					}
 					}
 				}
 				}
+				.u-tag {
+					border-radius: 0;
+				}
+				.uni-icons {
+					margin: 0 5upx;
+				}
 			}
 			}
 		}
 		}
 	}
 	}
+}
 </style>
 </style>

+ 6 - 11
pages/toDoList/toDoList.vue

@@ -1,11 +1,8 @@
 <template>
 <template>
 	<view class="pagesCons">
 	<view class="pagesCons">
 		<!-- 自定义标题 -->
 		<!-- 自定义标题 -->
-		<u-navbar :is-back="false" :border-bottom="false" :background="background" id="navbar">
+		<u-navbar title-color="#fff" back-icon-size="30" back-icon-color="#fff" :border-bottom="false" :background="background" id="navbar">
 			<view class="slot-wrap">
 			<view class="slot-wrap">
-				<view class="back-icon" @click="goBack">
-					<u-icon name="arrow-left" color="#fff" size="32"></u-icon>
-				</view>
 				<view class="left-icon">待办单</view>
 				<view class="left-icon">待办单</view>
 				<view class="right-icon">
 				<view class="right-icon">
 					<u-icon name="plus-circle" color="#fff" size="32"></u-icon>新增
 					<u-icon name="plus-circle" color="#fff" size="32"></u-icon>新增
@@ -252,19 +249,17 @@
 		/* 如果您想让slot内容占满整个导航栏的宽度 */
 		/* 如果您想让slot内容占满整个导航栏的宽度 */
 		flex: 1;
 		flex: 1;
 		/* 如果您想让slot内容与导航栏左右有空隙 */
 		/* 如果您想让slot内容与导航栏左右有空隙 */
-		padding: 0 30rpx;
+		padding: 0 30rpx 0 0;
 		color: #fff;
 		color: #fff;
 		font-size: 28upx;
 		font-size: 28upx;
-		.left-icon {
+		.left-icon{
 			flex-grow: 1;
 			flex-grow: 1;
 			font-size: 32upx;
 			font-size: 32upx;
-			margin-right: 10upx;
-			text-align: center;
 		}
 		}
-		.right-icon {
-			padding-left: 50upx;
+		.right-icon{
+			padding-left:50upx;
 		}
 		}
-		.uni-icons {
+		.uni-icons{
 			margin-right: 10upx;
 			margin-right: 10upx;
 		}
 		}
 	}
 	}

+ 37 - 25
pages/userCenter/personInfo.vue

@@ -1,25 +1,25 @@
 <template>
 <template>
 	<view class="container">
 	<view class="container">
-		<view class="content">
+		<view class="content" v-if="pageData">
 			<view class="content-item">
 			<view class="content-item">
 				<text>员工姓名</text>
 				<text>员工姓名</text>
-				<view>李磊</view>
+				<view>{{pageData.name}}</view>
 			</view>
 			</view>
 			<view class="content-item">
 			<view class="content-item">
 				<text>手机号码</text>
 				<text>手机号码</text>
-				<view>13709146191</view>
+				<view>{{pageData.phone}}</view>
 			</view>
 			</view>
 			<view class="content-item">
 			<view class="content-item">
 				<text>性别</text>
 				<text>性别</text>
-				<view></view>
+				<view>{{pageData.sex}}</view>
 			</view>
 			</view>
 			<view class="content-item">
 			<view class="content-item">
 				<text>角色</text>
 				<text>角色</text>
-				<view>管理员</view>
+				<view>{{pageData.roles | filterRoles}}</view>
 			</view>
 			</view>
 			<view class="content-item">
 			<view class="content-item">
 				<text>所属机构</text>
 				<text>所属机构</text>
-				<view>陕西>西安>北区</view>
+				<view>{{pageData.orgCodePaths}}</view>
 			</view>
 			</view>
 			<view class="content-item">
 			<view class="content-item">
 				<text>可点检门店</text>
 				<text>可点检门店</text>
@@ -28,48 +28,60 @@
 				</view>
 				</view>
 			</view>
 			</view>
 		</view>
 		</view>
+		<view v-else>
+			<view class="loadingStyle">
+				<u-loading mode="circle"></u-loading>
+				<view>正在加载</view>
+			</view>
+		</view>
 	</view>
 	</view>
 </template>
 </template>
 
 
 <script>
 <script>
+	import { findUserInfo } from '@/api/user.js'
 	export default{
 	export default{
 		data(){
 		data(){
-			// const currentDate = this.getDate({
-			// 	format: true
-			// })
 			return{
 			return{
 				pageData:null,		// 接受上个页面传的数据
 				pageData:null,		// 接受上个页面传的数据
-				show: false,		// 是否显示消息提醒弹窗
-				content: '',		// 消息提醒内容
-				title:'',			// 消息提醒标题
-				showCancelButton:''	// 是否显示确认框的取消按钮  true 显示  false不显示
 			}
 			}
 		},
 		},
-		onLoad() {
+		onShow() {
+			this.getDetail()
 		},
 		},
 		// 判断员工性别
 		// 判断员工性别
 		filters: {
 		filters: {
-			sexFilter(sexTypeVal){
-				console.log(sexTypeVal,'---')
-				if(sexTypeVal == 1){
-					return '男'
-				}
-				if(userTypeVal == 0){
-					return '女'
-				}
+			filterRoles(val){
+				 let arr = []
+				 val.map(item => {
+					 arr.push(item.name)
+				 })
+				 return arr.join(',')
 			}
 			}
 		},
 		},
 		methods:{
 		methods:{
-			viewStores(){
-				uni.navigateTo({
-					url: '/pages/userCenter/viewStores'
+			// 查询详细信息
+			getDetail(){
+				findUserInfo().then(res => {
+					this.pageData = res.data || null
 				})
 				})
+			},
+			viewStores(){
+				let item = this.pageData.userStoreList
+				if(item.length>0){
+					uni.navigateTo({
+						url: '/pages/userCenter/viewStores?userStoreList='+encodeURIComponent(JSON.stringify(item))
+					})
+				}
 			}
 			}
 		}
 		}
 	}
 	}
 </script>
 </script>
 
 
 <style lang="less">
 <style lang="less">
+	.loadingStyle{
+		text-align: center;
+		padding: 10vh 0 10vh 0;
+	}
 	.container{
 	.container{
 		color:#666;
 		color:#666;
 		font-size: 28rpx;
 		font-size: 28rpx;

+ 5 - 14
pages/userCenter/viewStores.vue

@@ -6,22 +6,13 @@
 	export default {
 	export default {
 		data() {
 		data() {
 			return {
 			return {
-				list: [
-					{
-						id: '1232',
-						name: '爱的街坊邻居爱上了对方加拉附件爱的街坊邻居爱上了对方加拉附件',
-					},
-					{
-						id: '2223',
-						name: 'banner',
-					},
-					{
-						id: '3333',
-						name: 'orange',
-					}
-				],
+				list: [],
 			}
 			}
 		},
 		},
+		onLoad(options) {
+			console.log(options.userStoreList)
+			this.list = JSON.parse(decodeURIComponent(options.userStoreList))
+		},
 		methods: {
 		methods: {
 			
 			
 		}
 		}

+ 129 - 0
pages/videoShopTour/videoShopTour.vue

@@ -0,0 +1,129 @@
+<template>
+	<view class="videoShopTour-wrap">
+		<u-sticky>
+			<!-- 搜索方式 -->
+			<u-grid :col="2" class="search-type-con" hover-class="none">
+				<u-grid-item class="search-module" @click="goSearch">
+					<u-icon class="search-icon" name="xundianguanli" custom-prefix="xd-icon" size="80" color="#2b85e4"></u-icon>
+					<view class="search-txt">按门店名称查询</view>
+				</u-grid-item>
+				<u-grid-item class="search-module" @click="goOrgSearch">
+					<u-icon class="search-icon" name="zuzhijigou" custom-prefix="xd-icon" size="80" color="#19be6b"></u-icon>
+					<view class="search-txt">按组织机构查询</view>
+				</u-grid-item>
+			</u-grid>
+		</u-sticky>
+		<!-- 门店列表 -->
+		<view class="list-con">
+			<view class="list-tit">门店列表</view>
+			<!-- 列表数据 -->
+			<view class="listData-con">
+				<view class="listData-item" v-for="(item, index) in list" :key="index">
+					<view class="listData-item-l">
+						<u-icon class="listData-item-l-icon" name="mendian" custom-prefix="xd-icon" size="40" color="#888"></u-icon>
+						<text class="listData-item-l-name">{{item.name}}</text>
+					</view>
+					<view class="listData-item-r">
+						<u-icon class="listData-item-r-icon" name="yuanchengxundian" custom-prefix="xd-icon" size="40" color="#2b85e4"></u-icon>
+					</view>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default{
+		data(){
+			return{
+				list: [
+					{ name: '常青二路店' },
+					{ name: '常青二路店常青青二路店常路店' },
+					{ name: '常青二路店' },
+					{ name: '常青二路店' },
+					{ name: '常青二路店' },
+					{ name: '常青二路店' },
+					{ name: '常青二路店' },
+					{ name: '常青二路店常青青二路店常路店' },
+					{ name: '常青二路店' },
+					{ name: '常青二路店' },
+					{ name: '常青二路店' },
+					{ name: '常青二路店' },
+					{ name: '常青二路店' },
+					{ name: '常青二路店常青青二路店常路店' },
+					{ name: '常青二路店' },
+					{ name: '常青二路店' },
+					{ name: '常青二路店' },
+					{ name: '常青二路店' },
+				]
+			}
+		},
+		methods: {
+			//  按门店名称查询
+			goSearch(){
+				uni.navigateTo({
+					url: '/pages/searchPage/searchPage'
+				})
+			},
+			//  按组织机构查询
+			goOrgSearch(){
+				uni.navigateTo({
+					url: '/pages/organization/organization'
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	page {
+		background-color: #f8f8f8;
+		height: calc(100vh - 44px);
+	}
+	.videoShopTour-wrap{
+		// 搜索方式
+		.search-type-con{
+			.search-module{
+				.search-txt{
+					font-size: 26upx;
+					padding-top: 6upx;
+				}
+			}
+		}
+		// 门店列表
+		.list-con{
+			background-color: #fff;
+			margin-top: 20upx;
+			.list-tit{
+				padding: 20upx 30upx;
+				border-bottom: 1upx solid #f8f8f8;
+			}
+			.listData-con{
+				padding: 0 30upx;
+				.listData-item{
+					display: flex;
+					justify-content: space-between;
+					align-items: center;
+					padding: 20upx 0;
+					border-bottom: 1upx dashed #f8f8f8;
+					&-l{
+						flex-grow: 1;
+						padding-right: 10upx;
+						position: relative;
+						padding-left: 50upx;
+						&-icon{
+							vertical-align: sub;
+							padding-right: 8upx;
+							position: absolute;
+							left: 0;
+							top: -4upx;
+						}
+					}
+					&-r{
+						flex-shrink: 0;
+					}
+				}
+			}
+		}
+	}
+</style>

+ 1 - 1
pages/work/work.vue

@@ -38,7 +38,7 @@
 						auth: true
 						auth: true
 					},
 					},
 					{
 					{
-						id: 'tcgl',
+						id: 'dbd',
 						icon: 'daiban',
 						icon: 'daiban',
 						color: '#0e97ff',
 						color: '#0e97ff',
 						name: '待办单',
 						name: '待办单',