Quellcode durchsuchen

1.运营陪伴 店主端
2.改bug

guo vor 3 Jahren
Ursprung
Commit
3e9e350397

+ 21 - 1
operatingCompany/pages.json

@@ -1,7 +1,20 @@
 {
 	"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
 
-
+		// {
+		// 	"path": "pages/shop/shopIndex/index",
+		// 	"style": {
+		// 		"navigationBarTitleText": "运营陪伴",
+		// 		"navigationStyle": "custom",
+		// 		"enablePullDownRefresh": true
+		// 		/* "navigationBarBackgroundColor": "#FFFFFF",*/
+		// 		/* "app-plus":{
+		// 			"titleNView":{
+		// 				"autoBackButton":false
+		// 			}
+		// 		} */
+		// 	}
+		// },
 		{
 			"path": "pages/index/index",
 			"style": {
@@ -100,6 +113,13 @@
 					}
 				} */
 			}
+		},
+		{
+			"path": "pages/shop/shopIndex/reviews",
+			"style": {
+				"navigationBarTitleText": "点评运营经理",
+				"navigationBarBackgroundColor": "#FFFFFF"
+			}
 		},
 		{
 			"path": "pages/entryReport/entered",

+ 17 - 23
operatingCompany/pages/entryReport/historyReport.vue

@@ -34,9 +34,9 @@
 
 
 
-				<picker :value="thirdIndex" mode="selector" range-key='name' :range="thirdArr"
-					@change="bindPickerChange3" v-if="isDirector">
-					<view class="uni-input">{{thirdIndex == null ? '访问人' : thirdArr[thirdIndex].name}}
+				<picker :value="thirdIndex" mode="selector" :range="thirdArr"
+					@change="bindPickerChange3">
+					<view class="uni-input">{{thirdIndex == null ? '访问人' : thirdArr[thirdIndex]}}
 						<image class="downArrow" src="../../static/img/icon_downArrow.png"></image>
 					</view>
 				</picker>
@@ -102,10 +102,7 @@
 				searchValue: '',
 				
 				thirdIndex: null,
-				thirdArr: [{
-					name: '请选择',
-					ID: ''
-				}],
+				thirdArr: ['请选择'],
 				managerId: '',
 				shopData: [],
 				page: 1,
@@ -114,7 +111,6 @@
 				starTime: '',
 				endTime: '',
 				dateTime: null,
-				isDirector:'',
 				shopId:'',
 			}
 		},
@@ -123,11 +119,9 @@
 			this.getShopData()
 		},
 		onLoad(opt) {
-			this.isDirector = this.$common.isDirector()
 			this.shopId = opt.shopId
-			if(this.isDirector) {
-				this.getManager()
-			}
+			
+			this.getVisitor()
 
 			this.page = 1
 			this.getShopData()
@@ -178,17 +172,17 @@
 				this.getShopData()
 			},
 
-			getManager() {
-				uni.showLoading({
-					title: '加载中'
-				})
-				let url = 'accompany/SuperAccounts/queryManagerListByDept',
-					params = {
-						name: '',
-					}
-				this.$http(url, params, 'GET').then(res => {
-					this.thirdArr = this.thirdArr.concat(res.data)
-				})
+			getVisitor() {
+				uni.showLoading({
+					title: '加载中'
+				})
+				let url = 'accompany/SuperCheckSheet/myShopCheckManagerPage',
+					params = {
+						
+					}
+				this.$http(url, params, 'GET').then(res => {
+					this.thirdArr = this.thirdArr.concat(res.data)
+				})
 			},
 			getShopData() {
 				uni.showLoading({

+ 172 - 119
operatingCompany/pages/index/index.vue

@@ -1,120 +1,173 @@
-<template>
-	<view class="content">
-		<!-- 我的待办 -->
-		<view class="modular">
-			<view class="modularTitle">我的待办</view>
-			<view class="modularCont">
-				<view class="modularLine" @click="goRouter('../upcoming/upcoming')">
-					<image src="../../static/img/home_icon_1.png" mode="" class="modularImg"></image>
-					<view class="modularName">待办事项</view>
-				</view>
-			</view>
-		</view>
-		<!--录入报告  -->
-		<view class="modular">
-			<view class="modularTitle">录入报告</view>
-			<view class="modularCont">
-				<view class="modularLine" @click="goRouter('../entryReport/entryReport')">
-					<image src="../../static/img/home_icon_2.png" mode="" class="modularImg"></image>
-					<view class="modularName">录入报告</view>
-				</view>
-				<view class="modularLine" @click="goRouter('../reportManage/reportManage')">
-					<image src="../../static/img/home_icon_3.png" mode="" class="modularImg"></image>
-					<view class="modularName">报告管理</view>
-				</view>
-			</view>
-		</view>
-		<!--团队管理  -->
-		<view class="modular">
-			<view class="modularTitle">团队管理</view>
-			<view class="modularCont">
-				<view class="modularLine" @click="goRouter('../team/myTeam')">
-					<image src="../../static/img/home_icon_4.png" mode="" class="modularImg"></image>
-					<view class="modularName">我的团队</view>
-				</view>
-				<view class="modularLine" @click="goRouter('../teamStore/teamStore')">
-					<image src="../../static/img/home_icon_5.png" mode="" class="modularImg"></image>
-					<view class="modularName">团队门店</view>
-				</view>
-			</view>
-		</view>
-		<!--其他设置  -->
-		<view class="modular">
-			<view class="modularTitle">其他设置</view>
-			<view class="modularCont">
-				<view class="modularLine" @click="goRouter('../accountSet/accountSet')">
-					<image src="../../static/img/home_icon_6.png" mode="" class="modularImg"></image>
-					<view class="modularName">账号设置</view>
-				</view>
-				
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	export default {
-		data() {
-			return {
-				
-			}
-		},
-		onLoad() {
-          //页面加载初始化生命周期函数
-		  
-		},
-		methods: {
-			//自己定义的方法函数
-            goRouter(url){
-				//uni.navigateTo  路由跳转 url 是地址 路由还分为uni.redirectTo switchTab navigateBackreLaunch
-				this.$common.isUserId()
-				
-				uni.navigateTo({
-					url:url
-				})
-			}
-		}
-	}
-</script>
-
-<style scoped>
-	.content{
-		 background: #F4F5F7;
-		 min-height: 100vh;
-		 padding: 24rpx 20rpx;
-	}
-	/* #ifdef H5 */
-		.content{
-			 background: #F4F5F7;
-			 min-height:calc(100vh - 44px);
-			 padding: 24rpx 20rpx;
-		}
-	/* #endif */
-	.modular{
-		background: #FFFFFF;
-		border-radius: 16rpx;
-		padding: 30rpx 20rpx;
-		margin-bottom: 20rpx;
-	}
-	.modularTitle{
-		font-size: 32rpx;
-		font-weight: 600;
-		color: #3C3C3C;
-	}
-	.modularImg{
-		width: 80rpx;height: 80rpx;
-	}
-	.modularCont{
-		display: flex;
-	}
-	.modularLine{
-		width: 25%;
-		text-align: center;
-		padding-top: 33rpx;
-	}
-	.modularName{
-		font-size: 24rpx;
-		padding-top: 5rpx;
-		color: #666666;
-	}
+<template>
+	<view class="content">
+		<!-- 我的待办 -->
+		<view class="modular">
+			<view class="modularTitle">我的待办</view>
+			<view class="modularCont">
+				<view class="modularLine" @click="goRouter('../upcoming/upcoming')">
+					<image src="../../static/img/home_icon_1.png" mode="" class="modularImg"></image>
+					<view class="subscript" v-if="count">{{count}}</view>
+					<view class="modularName">待办事项</view>
+				</view>
+			</view>
+		</view>
+		<!--录入报告  -->
+		<view class="modular">
+			<view class="modularTitle">录入报告</view>
+			<view class="modularCont">
+				<view class="modularLine" @click="goRouter('../entryReport/entryReport')">
+					<image src="../../static/img/home_icon_2.png" mode="" class="modularImg"></image>
+					<view class="modularName">录入报告</view>
+				</view>
+				<view class="modularLine" @click="goRouter('../reportManage/reportManage')">
+					<image src="../../static/img/home_icon_3.png" mode="" class="modularImg"></image>
+					<view class="modularName">报告管理</view>
+				</view>
+			</view>
+		</view>
+		<!--团队管理  -->
+		<view class="modular">
+			<view class="modularTitle">团队管理</view>
+			<view class="modularCont">
+				<view class="modularLine" @click="goRouter('../team/myTeam')">
+					<image src="../../static/img/home_icon_4.png" mode="" class="modularImg"></image>
+					<view class="modularName">我的团队</view>
+				</view>
+				<view class="modularLine" @click="goRouter('../teamStore/teamStore')">
+					<image src="../../static/img/home_icon_5.png" mode="" class="modularImg"></image>
+					<view class="modularName">团队门店</view>
+				</view>
+			</view>
+		</view>
+		<!--其他设置  -->
+		<view class="modular">
+			<view class="modularTitle">其他设置</view>
+			<view class="modularCont">
+				<view class="modularLine" @click="goRouter('../accountSet/accountSet')">
+					<image src="../../static/img/home_icon_6.png" mode="" class="modularImg"></image>
+					<view class="modularName">账号设置</view>
+				</view>
+
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				uid: '',
+				count: '',
+			}
+		},
+		onLoad() {
+			//页面加载初始化生命周期函数
+
+		},
+		onShow() {
+			this.uid = uni.getStorageSync("logInData").uid;
+			console.log(this.uid);
+			if (this.uid) {
+				this.getData()
+			}
+
+		},
+		methods: {
+			getData() {
+				uni.showLoading({
+					title: '加载中'
+				})
+				let url = 'accompany/SuperAccounts/listMyTodoPage',
+					params = {
+						page: 1,
+						limit: 20,
+
+					}
+				this.$http(url, params, 'GET').then(res => {
+
+					this.count = res.data.TotalSize
+				
+
+				})
+			},
+			//自己定义的方法函数
+			goRouter(url) {
+				//uni.navigateTo  路由跳转 url 是地址 路由还分为uni.redirectTo switchTab navigateBackreLaunch
+				this.$common.isUserId()
+
+				uni.navigateTo({
+					url: url
+				})
+			}
+		}
+	}
+</script>
+
+<style scoped>
+	.content {
+		background: #F4F5F7;
+		min-height: 100vh;
+		padding: 24rpx 20rpx;
+	}
+
+	/* #ifdef H5 */
+	.content {
+		background: #F4F5F7;
+		min-height: calc(100vh - 44px);
+		padding: 24rpx 20rpx;
+	}
+
+	/* #endif */
+	.modular {
+		background: #FFFFFF;
+		border-radius: 16rpx;
+		padding: 30rpx 20rpx;
+		margin-bottom: 20rpx;
+	}
+
+	.modularTitle {
+		font-size: 32rpx;
+		font-weight: 600;
+		color: #3C3C3C;
+	}
+
+	.modularImg {
+		width: 80rpx;
+		height: 80rpx;
+	}
+
+	.modularCont {
+		display: flex;
+	}
+
+	.modularLine {
+		width: 25%;
+		text-align: center;
+		padding-top: 33rpx;
+		position: relative;
+	}
+
+	.modularName {
+		font-size: 24rpx;
+		padding-top: 5rpx;
+		color: #666666;
+	}
+
+	.subscript {
+		width: 32rpx;
+		height: 32rpx;
+		border-radius: 16rpx;
+		text-align: center;
+		line-height: 32rpx;
+		background-color: #F03B3B;
+		color: #FFFFFF;
+		font-size: 20rpx;
+
+		z-index: 99;
+		position: absolute;
+		right: 32rpx;
+		top: 16rpx;
+
+	}
 </style>

+ 1 - 1
operatingCompany/pages/reportManage/reportManage.vue

@@ -43,7 +43,7 @@
 
 				<picker :value="thirdIndex" mode="selector" range-key='name' :range="thirdArr"
 					@change="bindPickerChange3" v-if="isDirector">
-					<view class="uni-input">{{thirdIndex == null ? '访问人' : thirdArr[thirdIndex].name}}
+					<view class="uni-input">{{thirdIndex == null ? '运营经理' : thirdArr[thirdIndex].name}}
 						<image class="downArrow" src="../../static/img/icon_downArrow.png"></image>
 					</view>
 				</picker>

+ 10 - 5
operatingCompany/pages/shop/shopIndex/index.vue

@@ -30,7 +30,7 @@
 
 					<!-- 得分 -->
 					<view class="scoreBg">
-						<view class="scoreCount count">{{storeMess.ShopScore}}</view>
+						<view class="scoreCount count">{{storeMess.ShopScore == '' ? '暂无' :storeMess.ShopScore}}</view>
 						<view class="title">上次得分</view>
 					</view>
 				</view>
@@ -44,7 +44,7 @@
 					<view class="leftTitle">运营陪伴记录</view>
 				</view>
 
-				<view class="right">
+				<view class="right" @click="goReviews(storeMess)">
 					<view class="rightTitle">待点评:<text
 							style="font-size: 30rpx; color: #FF6E00; font-weight: bold;">{{storeMess.reviewCount}}</text>
 						<image src="../../../static/img/icon_zhanghu_arrow.png"
@@ -167,7 +167,7 @@
 			
 			this.getMessage()
 
-			this.getManager()
+			this.getVisitor()
 			this.page = 1
 			this.getShopData()
 		},
@@ -181,7 +181,12 @@
 					url: url
 				})
 			},
-
+			
+			goReviews(storeMess){
+				uni.navigateTo({
+					url:'reviews'
+				})
+			},
 			timeClick() {
 
 				this.$refs.timepop.father();
@@ -235,7 +240,7 @@
 				this.getShopData()
 			},
 			
-			getManager() {
+			getVisitor() {
 				uni.showLoading({
 					title: '加载中'
 				})

+ 375 - 0
operatingCompany/pages/shop/shopIndex/reviews.vue

@@ -0,0 +1,375 @@
+<template>
+	<view class="content">
+		<view class="topView">
+			<!-- 切换tab -->
+			<view class="tabBox">
+				<scroll-view scroll-x="true" class="scroll">
+					<view class="tabCotn">
+						<view class="tabLine" :class="{tabactive:tabIndex==1}" @click="tabClick(1)">待点评</view>
+						<view class="tabLine" :class="{tabactive:tabIndex==2}" @click="tabClick(2)">历史点评</view>
+						
+
+					</view>
+				</scroll-view>
+			</view>
+
+			</view>
+		</view>
+		<!-- 列表 -->
+		<view class="shopList">
+			<view v-for="(item,index) in shopData" :key="index">
+
+				<!-- shopBox -->
+				<view class="shopBox" @click="goAppraise(item)" >
+					<view class=" shopTop">
+
+						<view class="shopName">{{item.ShopName}}</view>
+
+						<!-- 订单状态 1 待提交 草稿 2 已提交 待作业 3 已作业 待点评 4 已评价 待回复,5 已回复 已完成 -->
+						<view class="type" v-if="item.State == 1">待提交</view>
+						<view class="type" v-if="item.State == 2">已提交</view>
+						<view class="type" v-if="item.State == 3">已作业</view>
+						<view class="type" v-if="item.State == 4">已评价</view>
+						<view class="type" v-if="item.State == 5">已回复</view>
+
+					</view>
+
+
+
+					<!-- 第2行 -->
+					<view class="bottomView">
+						<!-- 运营经理 -->
+						<view class="manager">{{item.ManagerName}} · {{item.CheckTime}}</view>
+						<!-- 评分 -->
+						<view class="score" v-if="item.ShopScore">{{item.ShopScore}}分</view>
+					</view>
+
+
+				</view>
+			</view>
+		</view>
+
+		<!-- 上拉 加载更多 -->
+		<view class="noMore" v-if="noMoreShow">没有更多数据</view>
+		<!-- 无数据空白页 -->
+		<view class="nodataBox" v-if="shopData.length == 0">
+			<image src="../../../static/img/pic_empty_def.png" mode="widthFix" class="nodataImg"></image>
+			<view class="noTxt">暂无数据</view>
+		</view>
+
+		
+	</view>
+</template>
+
+<script>
+	
+	export default {
+		
+		data() {
+			return {
+				tabIndex: 0,
+				status: '', //订单状态 1 待提交 草稿 2 已提交 待作业 3 已作业 待点评 4 已评价 待回复,5 已回复 已完成
+				searchValue: '',
+				data: {
+					provinceCode: '',
+					province: '',
+					cityCode: '',
+					city: '',
+					areaCode: '',
+					area: '',
+					address: null,
+				},
+				thirdIndex: null,
+				thirdArr: [{
+					name: '请选择',
+					ID: ''
+				}],
+				managerId: '',
+				shopData: [],
+				page: 1,
+				noMoreShow: false,
+				timeShow: false,
+				starTime: '',
+				endTime: '',
+				dateTime: null,
+				isDirector:'',
+			}
+		},
+		onShow() {
+			this.isDirector = this.$common.isDirector()
+			
+			if(this.isDirector) {
+				this.getManager()
+			}
+
+			this.page = 1
+			this.getShopData()
+		},
+		methods: {
+			timeClick() {
+				
+				this.$refs.timepop.father();
+			},
+			goAppraise(item){
+				uni.navigateTo({
+					url:'reportDetail?id='+item.ID
+				})
+			},
+			returnDate(e) {
+				console.log(e)
+				this.starTime = e.startTime
+				this.endTime = e.endTime
+				if (e.startTime) {
+					this.dateTime = e.startTime + '-' + e.endTime
+				} else {
+					this.dateTime = null
+				}
+
+				this.page = 1;
+				this.getShopData()
+			},
+			tabClick(num) {
+				this.tabIndex = num;
+
+				if (num == 0) {
+					this.status = ''
+				} else {
+					this.status = num;
+				}
+				this.page = 1;
+				this.getShopData()
+			},
+			searchDone(e) {
+				this.searchValue = e.target.value
+				this.page = 1
+				this.getShopData()
+			},
+
+			bindChange: function(e) {
+				console.log(e)
+				this.data.address = '区域筛选';
+				this.data.provinceCode = '';
+				this.data.cityCode = '';
+				this.data.areaCode = ''
+				if (e.detail.code[0]) {
+					this.data.provinceCode = e.detail.code[0];
+					this.data.province = e.detail.value[0];
+					if (e.detail.code[1]) {
+						this.data.cityCode = e.detail.code[1];
+						this.data.city = e.detail.value[1]
+						if (e.detail.code[2]) {
+							this.data.areaCode = e.detail.code[2];
+							this.data.area = e.detail.value[2]
+						}
+					}
+					this.data.address = this.data.province + this.data.city + this.data.area
+				} 
+
+
+
+
+
+				this.page = 1
+				this.getShopData()
+			},
+			bindPickerChange3(e) {
+				this.thirdIndex = e.target.value
+				this.managerId = this.thirdArr[this.thirdIndex].ID
+				if(e.target.value == 0){
+					this.thirdIndex = null
+				}
+				this.page = 1
+				this.getShopData()
+			},
+
+			getManager() {
+				uni.showLoading({
+					title: '加载中'
+				})
+				let url = 'accompany/SuperAccounts/queryManagerListByDept',
+					params = {
+						name: '',
+					}
+				this.$http(url, params, 'GET').then(res => {
+					this.thirdArr = this.thirdArr.concat(res.data)
+				})
+			},
+			getShopData() {
+				uni.showLoading({
+					title: '加载中'
+				})
+				let url = 'accompany/SuperAccounts/listShopInfoByDeptCheckPage',
+					params = {
+						page: this.page,
+						limit: 20,
+						provinceCode: this.data.provinceCode,
+						cityCode: this.data.cityCode,
+						areaCode: this.data.areaCode,
+						managerID: this.managerId,
+						shopName: this.searchValue,
+						starTime: this.starTime,
+						endTime: this.endTime,
+						state: this.status,
+
+					}
+				this.$http(url, params, 'GET').then(res => {
+					var list = res.data.Items
+
+					// 处理 undefined和null转为空白字符串
+					list.forEach((item, index) => {
+						for (const key in item) {
+							item[key] = this.$praseStrEmpty(item[key])
+						}
+					})
+
+					if (this.page == 1 && list.length == 0) {
+						this.noMoreShow = false
+					} else if (list.length < 20) {
+						this.noMoreShow = true
+					}
+					if (this.page == 1) {
+						this.shopData = list
+					} else {
+						this.shopData = this.shopData.concat(list)
+					}
+
+				})
+			},
+			
+
+		},
+
+		// 下拉刷新 上拉加载更多
+		onPullDownRefresh() {
+			this.page = 1
+			this.getShopData()
+			setTimeout(function() {
+				uni.stopPullDownRefresh();
+			}, 1000);
+		},
+		onReachBottom() {
+			this.page++;
+			this.getShopData()
+		},
+
+	}
+</script>
+
+<style>
+	.content {
+		background-color: #F4F5F7;
+		min-height: 100vh;
+	}
+
+	.topView {
+		width: 100%;
+		height: 105rpx;
+		background-color: #FFFFFF;
+		left: 0rpx;
+		top: 0rpx;
+		position: fixed;
+		z-index: 99;
+	}
+
+	/* #ifdef H5 */
+	.topView {
+		top: 44px;
+	}
+
+	/* #endif */
+
+	
+	.tabBox {
+		width: 100%;
+	}
+
+	.tabCotn {
+		display: flex;
+		justify-content: space-around;
+	}
+
+	.tabLine {
+		
+		text-align: center;
+		color: #3C3C3C;
+		font-size: 30rpx;
+		line-height: 104rpx;
+	}
+
+	.tabactive {
+		color: #FF4F00;
+		border-bottom: 4rpx solid #FF4F00;
+	}
+
+	.shopList {
+		background-color: #F4F5F7;
+		padding: 0rpx 24rpx;
+		padding-top: 290rpx;
+	}
+
+	.shopBox {
+		background-color: #FFFFFF;
+		border-radius: 10rpx;
+		margin: 20rpx 0rpx;
+
+	}
+
+	.shopTop {
+		display: flex;
+		padding: 30rpx 20rpx 10rpx 20rpx;
+		justify-content: space-between;
+
+	}
+
+	.shopName {
+		font-size: 28rpx;
+		color: #3C3C3C;
+		font-weight: bold;
+		width: 500rpx;
+	}
+
+	.type {
+		font-size: 28rpx;
+		color: #FF4F00;
+		margin-left: 10rpx;
+	}
+
+	.bottomView {
+		padding: 28rpx 20rpx;
+		display: flex;
+		justify-content: space-between;
+	}
+
+	.manager {
+		font-size: 24rpx;
+		color: #666666;
+	}
+
+	.score {
+		font-size: 28rpx;
+		color: #B98B5D;
+	}
+
+	/* 空白页css */
+	.nodataBox {
+		text-align: center;
+	}
+
+	.nodataImg {
+		width: 400rpx;
+		padding-top: 290rpx;
+	}
+
+	.noTxt {
+		font-size: 30rpx;
+		color: #999999;
+		padding-top: 50rpx;
+	}
+
+	.noMore {
+		text-align: center;
+		line-height: 50rpx;
+		color: #999999;
+		font-size: 28rpx;
+	}
+</style>

+ 1 - 1
operatingCompany/pages/team/manageStore.vue

@@ -32,7 +32,7 @@
 					<!-- 详细地址 -->
 					<view class="addressView">
 						<view class="address">{{item.Address}}</view>
-						<view class="distance">{{item.distance}}km</view>
+						<view class="distance" v-if="item.distance != 0.00">{{item.distance}}km</view>
 					</view>
 
 

+ 3 - 2
operatingCompany/pages/upcoming/upcoming.vue

@@ -25,7 +25,8 @@
 				<!-- 修理厂名称 -->
 				<view class="secondView">
 					<view class="shopName">{{item.ShopName}}</view>
-					<view class="time">{{item.CheckTime}}</view>
+					<view class="time" v-if="item.State == 1">{{item.TempTime}}</view>
+					<view class="time" v-if="item.State == 3">{{item.SubmitTime}}</view>
 				</view>
 
 			</view>
@@ -67,7 +68,7 @@
 					params = {
 						page: this.page,
 						limit: 20,
-						name: this.searchValue
+						
 					}
 				this.$http(url, params, 'GET').then(res => {