zhengkaixin 4 rokov pred
rodič
commit
2d70639548

+ 43 - 0
src/projects/business/apis-xsy/meal.js

@@ -0,0 +1,43 @@
+import request from '$project/utils/request'
+import Qs from 'qs';
+
+//个人申请调班提交
+export function remainingAmount(params) {
+	return request({
+		url: '/mobile/canteenApi/remainingAmount',
+		data: Qs.stringify(params),
+		method: 'get',
+	})
+}
+
+export function personDiningList(params) {
+	return request({
+		url: '/mobile/canteenApi/personDiningList',
+		data: Qs.stringify(params),
+		method: 'post',
+	})
+}
+
+export function personDiningDetail(params) {
+	return request({
+		url: '/mobile/canteenApi/personDiningDetail?id='+params,
+	 
+		method: 'get',
+	})
+}
+
+export function pageList(params) {
+	return request({
+		url: '/mobile/canteenApi/pageList',
+		data: Qs.stringify(params),
+		method: 'post',
+	})
+}
+
+export function detail(params) {
+	return request({
+		url: '/mobile/canteenApi/detail?id='+params,
+	 
+		method: 'get',
+	})
+}

+ 2 - 2
src/projects/business/components/Approval/ListSp.vue

@@ -362,8 +362,8 @@
 	},
 	destroyed() {
 		//销毁监听事件
-		//var _this = this;
-		//window.removeEventListener('scroll', _this.handleScrool);
+		var _this = this;
+		window.removeEventListener('scroll', _this.handleScrool);
 	},
 	
 	}

+ 66 - 7
src/projects/business/views-xsy/Meal/Home.vue

@@ -12,7 +12,7 @@
 							我的余额
 							<h1>
 								<i class="iconfont icon-md-account_balance_wallet"></i>
-								50.00
+								{{remainingAmount}}
 							</h1>
 						</div>
 						<button class="mui-btn mui-btn-grey">充值</button>
@@ -21,14 +21,17 @@
 				</div>
 				<ul class="mui-table-view ">
 					<li class="mui-table-view-cell mui-media">
-						<a href="javascript:;" class="mui-navigate-right">
+						<router-link :to="{name:'XsyMealList'}" class="mui-navigate-right">
+						
 							就餐记录
-						</a>
+						</router-link >
 					</li>
 					<li class="mui-table-view-cell mui-media">
-						<a href="javascript:;" class="mui-navigate-right">
-							就餐记录
-						</a>
+						<router-link :to="{name:'XsyMealRecharge'}" class="mui-navigate-right">
+						
+							充值记录
+						</router-link >
+						 
 					</li>
 				</ul>
 				<div class="mui-content-padded">
@@ -36,10 +39,66 @@
 					<p class="mui-h5">该功能仅向外协工作人员开放,饭卡充值暂不开放在线充值入口,请至办公室财务部,联系电话0716-0000000。</p>
 				</div>
 			</div>
+			<loading :visible="isLoading"></loading>
 </div>
 </template>
 
-<script>
+
+<script>
+ 	
+	import * as API from '@/apis-xsy/meal'
+  
+	import  Common from '$project/components/Common.vue'
+ 	import Loading from '$project/components/Loading.vue'
+	import TopHeader from '$project/components/TopHeader.vue'
+ 
+
+	export default {
+		name: '',
+		components: {
+			Common,
+			Loading,
+			TopHeader 
+		},
+		data() {
+			return {
+			 
+				pageTitle: '申请调班',
+				remainingAmount:"",
+				isLoading: false,
+				 
+			}
+		},
+		created() {
+ 
+		},
+		methods: {
+			 
+			 
+			getRemainingAmount(){
+				this.isLoading = true;
+					 
+				API.remainingAmount().then(response => {
+					this.remainingAmount=response;
+				 
+					this.isLoading = false;
+				}).catch(error => {
+					this.isLoading = false;
+					mui.toast(error);
+				})
+			},
+			asynCallBack() {
+
+			},
+		
+		},
+		mounted() {
+			this.getRemainingAmount();
+			
+		},
+		destroyed() {},
+	
+	}
 </script>
 
 <style src="$project/assets/css/iconfont.css"></style>

+ 59 - 5
src/projects/business/views-xsy/Meal/Info.vue

@@ -8,32 +8,86 @@
 			<div class="vongi-wordcard-center mt-10">
 				<div class="flew-sp flew-items eat-dat-tit">
 					消费金额
-					<h1>1.00</h1>
+					<h1>{{info.categoryAmount}}</h1>
 				</div>
 				<ul class="mui-table-view">
 					<li class="mui-table-view-cell mui-media">
 						<div class="mui-media-body">交易类型</div>
-						<span>午餐</span>
+						<span>{{info.categoryN}}</span>
 					</li>
 					<li class="mui-table-view-cell mui-media">
 						<div class="mui-media-body">交易时间</div>
-						<span>2017-02-30 12:30:20</span>
+						<span>{{info.recordTime}}</span>
 					</li>
 					<li class="mui-table-view-cell mui-media">
 						<div class="mui-media-body">流水单号</div>
-						<span class="colorf6f448">12345678901234567890</span>
+						<span class="colorf6f448">{{id}}</span>
 					</li>
 					<li class="mui-table-view-cell mui-media">
 						<div class="mui-media-body">备注</div>
-						<span>余额支付</span>
+						<span>{{info.remark}}</span>
 					</li>
 				</ul>
 			</div>
 		</div>
+		<loading :visible="isLoading"></loading>
 </div>
 </template>
 
+
 <script>
+	import * as API from '@/apis-xsy/meal'
+	import  Common from '$project/components/Common.vue'
+	import Loading from '$project/components/Loading.vue'
+	import TopHeader from '$project/components/TopHeader.vue'
+	 
+	
+	export default {
+		name: '',
+		components: {
+			Common,
+			Loading,
+			TopHeader 
+		},
+		data() {
+			return {
+				id:this.$route.query.id,
+				pageTitle: '申请调班',
+				info:{},
+				isLoading: false,
+				 
+			}
+		},
+		created() {
+	 
+		},
+		methods: {
+			 
+			 
+			getInfo(){
+				this.isLoading = true;
+					 
+				API.personDiningDetail(this.id).then(response => {
+					this.info=response;
+				 
+					this.isLoading = false;
+				}).catch(error => {
+					this.isLoading = false;
+					mui.toast(error);
+				})
+			},
+			asynCallBack() {
+	
+			},
+		
+		},
+		mounted() {
+			this.getInfo();
+			
+		},
+		destroyed() {},
+	
+	}
 </script>
 
 <style src="$project/assets/css/iconfont.css"></style>

+ 114 - 16
src/projects/business/views-xsy/Meal/List.vue

@@ -6,30 +6,128 @@
 		</header>
 		<div class="mui-content">
 			<ul class="mui-table-view vongi-jy-ul">
-				<li class="mui-table-view-cell">
-					<a class="mui-navigate-right" href="#">
+				<li class="mui-table-view-cell" v-for="item,i in recordList">
+					<router-link :to="{name:'XsyMealInfo',query:{id:item.id}}" class="mui-navigate-right">
+					
 						<div class="mui-media-body">
-							晚餐
-							<p class='mui-ellipsis'>2021-03-02 18:30:20</p>
+							{{item.categoryN}}
+							<p class='mui-ellipsis'>{{item.recordTime}}</p>
 						</div>
-						<span>1.00</span>
-					</a>
-				</li>
-				<li class="mui-table-view-cell">
-					<a class="mui-navigate-right" href="#">
-						<div class="mui-media-body">
-							晚餐
-							<p class='mui-ellipsis'>2021-03-02 18:30:20</p>
-						</div>
-						<span>1.00</span>
-					</a>
+						<span>{{item.categoryAmount}}</span>
+					 </router-link>
 				</li>
+				 
 			</ul>
+			<NullList :remark="'暂无就餐记录'" v-if="!recordList.length"></NullList>
+			
 		</div>
+		<loading :visible="isLoading"></loading>
 </div>
 </template>
 
-<script>
+
+<script>
+	import * as API from '@/apis-xsy/meal'
+	 
+
+	import  Common from '$project/components/Common.vue'
+ 	import Loading from '$project/components/Loading.vue'
+	import TopHeader from '$project/components/TopHeader.vue'
+	import NullList from '$project/components/NullList.vue'
+	import isReachBottom from '$project/utils/isReachBottom'
+	
+ 
+
+	export default {
+		name: '',
+		components: {
+			Common,
+			Loading,
+			TopHeader,NullList
+		},
+		 
+		data() {
+			return { 
+				pageTitle: '调班审核',
+			 
+				isLoading: false,
+							
+				listForm: {
+				 
+					pageIndex: 1,
+					pageSize: 10,
+					totalPage: 1,
+				},
+				recordList: [],
+				 
+			}
+		},
+		created() {
+		 
+			
+		},
+		methods: {
+			 
+			 //获取列表
+			 getList() {
+			 	this.isLoading = true;
+			 	API.personDiningList(this.listForm).then(response => {
+			 		if (response) {
+					 
+			 			if (this.listForm.pageIndex == 1) {
+			 				this.recordList = response.data;
+			 				this.listForm.pageIndex = response.pageNumber;
+			 				this.listForm.totalPage = response.totalPage;
+							this.mybadge=response.recordsTotal
+			 			} else {
+			 				this.recordList = [
+			 					...this.recordList,
+			 					...response.data
+			 				];
+			 			}
+			 		}
+			 		this.listForm.pageIndex++;
+			 		this.isLoading = false;
+			 	}).catch(error => {
+			 		this.isLoading = false;
+			 		mui.toast(error);
+			 	})
+			 },
+			 //下拉事件
+			 handleScrool() {
+				 
+			 	if (isReachBottom()) {
+			 		console.log('到达底部')
+				
+						if (this.listForm.pageIndex <= this.listForm.totalPage && this.isLoading == false) {
+							this.getList();
+						} else {
+							return;
+						}
+					
+			 		
+			 	}
+			 },
+		 
+			asynCallBack() {
+
+			},
+		
+		},
+	mounted() {
+		this.getList();
+		
+		//监控下拉加载事件
+		var _this = this;
+		window.addEventListener('scroll', _this.handleScrool);
+	},
+	destroyed() {
+		//销毁监听事件
+		var _this = this;
+		window.removeEventListener('scroll', _this.handleScrool);
+	},
+	
+	}
 </script>
 
 <style src="$project/assets/css/iconfont.css"></style>

+ 114 - 6
src/projects/business/views-xsy/Meal/Recharge.vue

@@ -6,21 +6,129 @@
 		</header>
 		<div class="mui-content">
 			<ul class="mui-table-view vongi-jy-ul">
-				<li class="mui-table-view-cell">
-					<a class="mui-navigate-right" href="#">
+				<li class="mui-table-view-cell"  v-for="item,i in recordList">
+					 
+						<router-link :to="{name:'XsyMealRechargeinfo',query:{id:item.id}}" class="mui-navigate-right">
+						
 						<div class="mui-media-body">
 							余额充值
-							<p class='mui-ellipsis'>2021-03-02 18:30:20</p>
+							<p class='mui-ellipsis'>{{item.createTime}}</p>
 						</div>
-						<span>+50.00</span>
-					</a>
+						<span>+{{item.rechargeAmount}}</span>
+					 </router-link>
 				</li>
 			</ul>
+			
+			<NullList :remark="'暂无充值记录'" v-if="!recordList.length"></NullList>
+			
 		</div>
+		<loading :visible="isLoading"></loading>
 </div>
 </template>
 
-<script>
+
+<script>
+	import * as API from '@/apis-xsy/meal'
+	 
+
+	import  Common from '$project/components/Common.vue'
+ 	import Loading from '$project/components/Loading.vue'
+	import TopHeader from '$project/components/TopHeader.vue'
+	import NullList from '$project/components/NullList.vue'
+	import isReachBottom from '$project/utils/isReachBottom'
+	
+ 
+
+	export default {
+		name: '',
+		components: {
+			Common,
+			Loading,
+			TopHeader,NullList
+		},
+		 
+		data() {
+			return { 
+				pageTitle: '调班审核',
+			 
+				isLoading: false,
+							
+				listForm: {
+				 
+					pageIndex: 1,
+					pageSize: 10,
+					totalPage: 1,
+				},
+				recordList: [],
+				 
+			}
+		},
+		created() {
+		 
+			
+		},
+		methods: {
+			 
+			 //获取列表
+			 getList() {
+			 	this.isLoading = true;
+			 	API.pageList(this.listForm).then(response => {
+			 		if (response) {
+						 
+			 			if (this.listForm.pageIndex == 1) {
+			 				this.recordList = response.data;
+			 				this.listForm.pageIndex = response.pageNumber;
+			 				this.listForm.totalPage = response.totalPage;
+							this.mybadge=response.recordsTotal
+			 			} else {
+			 				this.recordList = [
+			 					...this.recordList,
+			 					...response.data
+			 				];
+			 			}
+			 		}
+			 		this.listForm.pageIndex++;
+			 		this.isLoading = false;
+			 	}).catch(error => {
+			 		this.isLoading = false;
+			 		mui.toast(error);
+			 	})
+			 },
+			 //下拉事件
+			 handleScrool() {
+				 
+			 	if (isReachBottom()) {
+			 		console.log('到达底部')
+				
+						if (this.listForm.pageIndex <= this.listForm.totalPage && this.isLoading == false) {
+							this.getList();
+						} else {
+							return;
+						}
+					
+			 		
+			 	}
+			 },
+		 
+			asynCallBack() {
+
+			},
+		
+		},
+	mounted() {
+		this.getList();
+		
+		//监控下拉加载事件
+		var _this = this;
+		window.addEventListener('scroll', _this.handleScrool);
+	},
+	destroyed() {
+		//销毁监听事件
+		var _this = this;
+		window.removeEventListener('scroll', _this.handleScrool);
+	},
+	
+	}
 </script>
 
 <style src="$project/assets/css/iconfont.css"></style>

+ 57 - 4
src/projects/business/views-xsy/Meal/Rechargeinfo.vue

@@ -8,7 +8,7 @@
 			<div class="vongi-wordcard-center mt-10">
 				<div class="flew-sp flew-items eat-dat-tit">
 					饭卡充值
-					<h1>+50.00</h1>
+					<h1>+{{info.rechargeAmount}}</h1>
 				</div>
 				<ul class="mui-table-view">
 					<li class="mui-table-view-cell mui-media">
@@ -17,23 +17,76 @@
 					</li>
 					<li class="mui-table-view-cell mui-media">
 						<div class="mui-media-body">交易时间</div>
-						<span>2017-02-30 12:30:20</span>
+						<span>{{info.createTime}}</span>
 					</li>
 					<li class="mui-table-view-cell mui-media">
 						<div class="mui-media-body">流水单号</div>
-						<span class="colorf6f448">12345678901234567890</span>
+						<span class="colorf6f448">{{info.id}}</span>
 					</li>
 					<li class="mui-table-view-cell mui-media">
 						<div class="mui-media-body">备注</div>
-						<span>余额支付</span>
+						<span>{{info.remark}}</span>
 					</li>
 				</ul>
 			</div>
 		</div>
+		<loading :visible="isLoading"></loading>
 </div>
 </template>
 
 <script>
+	import * as API from '@/apis-xsy/meal'
+	import  Common from '$project/components/Common.vue'
+	import Loading from '$project/components/Loading.vue'
+	import TopHeader from '$project/components/TopHeader.vue'
+	 
+	
+	export default {
+		name: '',
+		components: {
+			Common,
+			Loading,
+			TopHeader 
+		},
+		data() {
+			return {
+				id:this.$route.query.id,
+				pageTitle: '申请调班',
+				info:{},
+				isLoading: false,
+				 
+			}
+		},
+		created() {
+	 
+		},
+		methods: {
+			 
+			 
+			getInfo(){
+				this.isLoading = true;
+					 
+				API.detail(this.id).then(response => {
+					this.info=response;
+				 
+					this.isLoading = false;
+				}).catch(error => {
+					this.isLoading = false;
+					mui.toast(error);
+				})
+			},
+			asynCallBack() {
+	
+			},
+		
+		},
+		mounted() {
+			this.getInfo();
+			
+		},
+		destroyed() {},
+	
+	}
 </script>
 
 <style src="$project/assets/css/iconfont.css"></style>