From 4b80c98ef5fda8d6358778f2efe8bb35cb20ccf9 Mon Sep 17 00:00:00 2001
From: queenwuli <942534046@qq.com>
Date: Fri, 15 Jan 2021 16:18:21 +0800
Subject: [PATCH] gx

---
 hive-app/pages/workbench/serviceOrderList.vue |  119 ++++++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 100 insertions(+), 19 deletions(-)

diff --git a/hive-app/pages/workbench/serviceOrderList.vue b/hive-app/pages/workbench/serviceOrderList.vue
index adf2219..0f7267f 100644
--- a/hive-app/pages/workbench/serviceOrderList.vue
+++ b/hive-app/pages/workbench/serviceOrderList.vue
@@ -42,7 +42,7 @@
 							</view>
 							
 						</view>
-						<view class="flex flex-v right">
+						<view class="flex flex-v right" style="flex: 0 0 70px;">
 							<text class="gray mb-5">{{item.timeLength}}分钟</text>
 							<text class="gray mt-5" v-for="(op, index) in item.projs">{{op.beautyName || '-'}}</text>
 							<text class="mt-10" :class="item.status==7 || item.status==8?'gray':'blue'">{{item.status | formatStatus}}</text>
@@ -53,6 +53,11 @@
 							v-if="isShowCancelBtn(item.status, item.projs, item.staffId)" 
 							@click.stop="cancelOrder(item.id)">
 							取消
+						</text>
+						<text class="blue-btn small-btn ml-10"
+							v-if="isShowOrder(item.status)"
+							@click.stop="confirmServiceOrder(item.id)">
+							确认预约
 						</text>
 						<text class="blue-btn small-btn ml-10" 
 							v-if="isShowStartServiceBtn(item.status, item.projs)"
@@ -67,6 +72,9 @@
 					</view>
 				</navigator>
 				<no-record :isShow="!list.length" txt="暂无服务单记录"></no-record>
+				<view v-if="list.length">
+					<uni-load-more :status="loadStatus" color="#a5abaf"></uni-load-more>
+				</view>
 			</view>
 		</view>
 	</view>
@@ -75,10 +83,12 @@
 <script>
 	import HTabs from "@/components/liuyuno-tabs/liuyuno-tabs.vue";
 	import searchBar from '../../components/searchBar/index.vue';
+	import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
 	export default {
 		components: {
 		    HTabs,
-			searchBar
+			searchBar,
+			uniLoadMore
 		},
 		data() {
 		  return {
@@ -91,35 +101,64 @@
 				},
 				{
 					state: 1,
-					name: '待预约'
+					name: '待确认'
 				},
 				{
 					state: 2,
-					name: '待配料'
+					name: '待排班'
 				},
 				{
 					state: 3,
-					name: '待服务'
+					name: '待配料'
 				},
 				{
 					state: 4,
-					name: '服务中'
+					name: '待服务'
 				},
 				{
 					state: 5,
+					name: '服务中'
+				},
+				{
+					state: 6,
 					name: '已完成'
 				}
 			],
 			list: [],
-			userId: ''
+			userId: '',
+			loadStatus: 'more',
+			pageNum: 1
 		  }  
 		},
 		onLoad(options) {
 			if(options.status){
 				this.orderStatus = Number(options.status);
 			}
+			if(options.queryKey){
+				this.queryKey = options.queryKey;
+			}
 			this.loadList();
 			this.userId = this.$httpUtils.getRoleInfo().id;
+			// 判断权限
+			// #ifdef APP-PLUS
+			if(!this.$utils.hasPermission('fwdgl.add')){
+				let webView = this.$mp.page.$getAppWebview();
+				webView.setTitleNViewButtonStyle(0, {
+				    width: 0,  
+				});
+			}
+			// #endif
+		},
+		onPullDownRefresh(){
+			this.reloadData();
+			let timer = setTimeout(function () {
+				uni.startPullDownRefresh();
+				clearTimeout(timer);
+				timer = null;
+			}, 800);
+		},
+		onReachBottom(){
+			this.loadList()
 		},
 		onNavigationBarButtonTap(Object){
 			if(Object.key === 'add'){
@@ -129,15 +168,31 @@
 			}
 		},
 		methods:{
+			reloadData(){
+				this.list = [];
+				this.pageNum = 1;
+				this.loadStatus = 'more';
+				this.loadList();
+			},
 			loadList(){
+				if(this.loadStatus!=='more'){
+					return;
+				}
 				this.$httpUtils.request('/api/serviceOrder/findServiceOrderList', {
-					pageNum: 1,
-					pageSize: 100,
+					pageNum: this.pageNum,
+					pageSize: 10,
 					queryKey: this.queryKey,
 					status: this.orderStatus
 				}, 'POST').then((res) => {
 					if(res.status == 200){
-						this.list = res.rows;
+						let result = res.rows;
+						if(result.length < 10){
+							this.loadStatus = 'noMore';
+						} else {
+							this.pageNum ++ ;
+							this.loadStatus = 'more';
+						}
+						this.list = this.list.concat(result);
 					}
 				})
 			},
@@ -145,36 +200,41 @@
 			isShowFooter(status, items, staffId){
 				return this.isShowCancelBtn(status, items, staffId) ||
 					this.isShowStartServiceBtn(status, items) ||
-					this.isShowEndServiceBtn(status, items)
+					this.isShowEndServiceBtn(status, items) ||
+					this.isShowOrder(status)
 			},
 			// 是否显示取消按钮
 			isShowCancelBtn(status, items, staffId){
 				// 美疗师和下单顾问可以取消服务
 				let isEnable = (items.some((item) => item.id == this.userId)) || (this.userId == staffId);
-				return status != 5 && status != 6 && status != 7 && status != 8 && isEnable;
+				return status != 5 && status != 6 && status != 7 && status != 8 && isEnable && this.$utils.hasPermission('fwdgl.cancel');
+			},
+			// 是否显示确认预约
+			isShowOrder(status){
+				return status == 9 && this.$utils.hasPermission('fwdgl.qryy');
 			},
 			// 是否显示开始服务按钮
 			isShowStartServiceBtn(status, items){
 				// 只有美疗师本人才可以开始服务
 				let isEnable = items.some((item) => item.id == this.userId)
-				return status == 4 && isEnable;
+				return status == 4 && isEnable && this.$utils.hasPermission('fwdgl.begin');
 			},
 			// 是否显示结束服务按钮
 			isShowEndServiceBtn(status, items){
 				// 只有美疗师本人才可以开始服务
 				let isEnable = items.some((item) => item.id == this.userId)
-				return status == 5 && isEnable;
+				return status == 5 && isEnable && this.$utils.hasPermission('fwdgl.end');
 			},
 			search(val){
 				this.queryKey = val;
-				this.loadList();
+				this.reloadData();
 			},
 			tabChange(index){
 				if(this.orderStatus === index){
 					return;
 				}
 				this.orderStatus = index;
-				this.loadList();
+				this.reloadData();
 			},
 			// 取消订单
 			cancelOrder(id){
@@ -185,7 +245,26 @@
 				        if (res.confirm) {
 							this.$httpUtils.request('/api/serviceOrder/cancelService/'+id).then((res) => {
 								if(res.status == 200){
-									this.loadList()
+									this.reloadData()
+								}
+								this.$toast.info(res.info);
+							})
+				        }
+				    }
+				});
+			},
+			// 确认预约
+			confirmServiceOrder(id){
+				uni.showModal({
+				    title: '提示',
+				    content: '确认预约吗?',
+				    success: (res) => {
+				        if (res.confirm) {
+							this.$httpUtils.request('/api/serviceOrder/confirmServiceOrder', {
+								id:id
+							}, 'POST').then((res) => {
+								if(res.status == 200){
+									this.reloadData()
 								}
 								this.$toast.info(res.info);
 							})
@@ -202,7 +281,7 @@
 				        if (res.confirm) {
 							this.$httpUtils.request('/api/serviceOrder/startService/'+id).then((res) => {
 								if(res.status == 200){
-									this.loadList()
+									this.reloadData()
 								}
 								this.$toast.info(res.info);
 							})
@@ -219,7 +298,7 @@
 				        if (res.confirm) {
 							this.$httpUtils.request('/api/serviceOrder/stopService/'+id).then((res) => {
 								if(res.status == 200){
-									this.loadList()
+									this.reloadData()
 								}
 								this.$toast.info(res.info);
 							})
@@ -245,6 +324,8 @@
 					return '已完成'
 				} else if(val == 7){
 					return '服务单结束'
+				} else if(val == 9){
+					return '待确认'
 				} else {
 					return '已取消'
 				}

--
Gitblit v1.9.1