From ca73a173f008c8d7a9d700bad897ca24fe2d2203 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期一, 16 十月 2023 09:29:57 +0800
Subject: [PATCH] 111

---
 minipro_standard/pages/index/index.vue |  483 ++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 329 insertions(+), 154 deletions(-)

diff --git a/minipro_standard/pages/index/index.vue b/minipro_standard/pages/index/index.vue
index 9c02c28..88883e6 100644
--- a/minipro_standard/pages/index/index.vue
+++ b/minipro_standard/pages/index/index.vue
@@ -1,30 +1,47 @@
-<template>
-	<view class="index">
+<template>
+	<page-meta :page-style="ban ?'overflow: hidden;': ''"/>
+	<view class="index" >
+		<!-- :class="ban?'scroll-ban': ''" -->
+		<!-- <view class="mask" @tap="tapMask" @touchmove="moveHandle"></view> -->
 		<!-- <web-view v-if="show" @onPostMessage="onMessage" :src="'https://dmtest.ahapp.net/doumeeplant_h5/#/appletLogin?code=' + code"></web-view> -->
 		<!-- {{$store.state.statusbarHeight}} -->
-
+		
 		<u-sticky>
-			<view class="plr50 pb30 nav-style">
+			<view class="plr30 pb30 nav-style bg_w">
 				<view
-					:style="{paddingTop: `${statusbarHeight}px`, height: `${navHeight}px`, lineHeight:`${navHeight}px`, textAlign: 'center'}">
+					:style="{background: '#fff', zIndex: '999', paddingTop: `${statusbarHeight}px`, height: `${navHeight}px`, lineHeight:`${navHeight}px`, textAlign: 'center'}">
 					寰呭姙</view>
-				<view class="cY">
-					<u-search placeholder="鎼滅储鍏抽敭瀛�" bgColor="#f7f7f7" :showAction="false" @search="scrolltoupper"
-						shape="square" v-model="searchForm.name"></u-search>
-					<image src="../../static/filter@2x.png" class="img48 ml20" @click="filterAction" mode=""></image>
-				</view>
-				<view class="cY mt30">
-					<view class="sbtn rd8" :class="searchForm.status==0?'sbtn_green':'sbtn_black_rim'"
-						@click="selectType(0)">寰呭姙</view>
-					<view class="sbtn rd8 ml20" :class="searchForm.status==1?'sbtn_green':'sbtn_black_rim'"
-						@click="selectType(1)">宸插姙</view>
-				</view>
+				<div class="content_search">
+					<v-Search @searchInput="searchInput" @submit="confirm" @reset="resetType" :isShow="true"
+						placeholder="鎼滅储鍏抽敭瀛�" @scrollerBan="$event => ban=$event">
+						<template v-slot:content>
+							<view class="rp contanir">
+								<view class="c2 b">绫诲瀷</view>
+								<view class="content">
+									<u-grid col="2" :border="false">
+										<u-grid-item v-for="item in types" :key="item.id">
+											<view class="ptb20 f26 c9 type-style tc rd10" :class="type===item.id?'sbtn_green':'sbtn_gray'"
+												@click="type=item.id">{{ item.name }}</view>
+										</u-grid-item>
+									</u-grid>
+								</view>
+								<!-- <view class="flex ap tc bottom-view">
+									<view class="fx1 ptb20 sbtn_gray c9" @click="resetType">閲嶇疆</view>
+									<view class="fx1 ml20 ptb20 sbtn_green" @click="confirm">纭畾</view>
+								</view> -->
+							</view>
+						</template>
+					</v-Search>
+					<div class="content_search_x"></div>
+					<LabelSelection :TagList="tagList" :isShow="true" @change="clickTag"></LabelSelection>
+				</div>
 			</view>
-		</u-sticky>
-
-		<u-list :showScrollbar="false" @scrolltolower="scrolltolower" @scrolltoupper="scrolltoupper"
-			:height="windowHeight - (statusbarHeight + navHeight + 120) + 'px'">
-			<u-list-item v-for="(item, index) in projectList" :key="index">
+		</u-sticky>
+		
+		<scroll-view   :style="{height: height}" v-if="projectList.length" scroll-y refresher-enabled="true" :refresher-triggered="triggered" @scrolltolower="loadMore"
+			@refresherrefresh="refresh"
+		>
+			<view v-for="(item, index) in projectList" :key="index">
 				<view class="box_list">
 					<view class="box_list_item" @click="jump(item)">
 						<view class="box_list_item_icon">
@@ -41,16 +58,16 @@
 						</view>
 					</view>
 				</view>
-			</u-list-item>
-		</u-list>
-		<u-popup :show="show" @close="close" :round="8" zIndex="20000">
+			</view>
+		</scroll-view>
+		<view v-else class="tc c6">鏆傛棤鏁版嵁...</view>
+		<!-- <u-popup :show="show" @close="close" :round="8" zIndex="20000">
 			<view class="rp p40 contanir">
 				<view class="c2 b">绫诲瀷</view>
 				<view class="content">
 					<u-grid col="2" :border="false">
 						<u-grid-item v-for="item in types" :key="item.id">
-							<view class="ptb20 c9 type-style tc rd10"
-								:class="type===item.id?'sbtn_green':'sbtn_gray'"
+							<view class="ptb20 f26 c9 type-style tc rd10" :class="type===item.id?'sbtn_green':'sbtn_gray'"
 								@click="type=item.id">{{ item.name }}</view>
 						</u-grid-item>
 					</u-grid>
@@ -59,23 +76,34 @@
 					<view class="fx1 ptb20 sbtn_gray c9" @click="resetType">閲嶇疆</view>
 					<view class="fx1 ml20 ptb20 sbtn_green" @click="confirm">纭畾</view>
 				</view>
-			</view>
+			</view> -->
 		</u-popup>
 		<myTabbar :index="0" />
 	</view>
 </template>
 
 <script>
-	import myTabbar from "@/components/myTabber.vue"
+	import myTabbar from "@/components/myTabber.vue"
+	import vSearch from '@/components/Search.vue'
+	import LabelSelection from '@/components/LabelSelection.vue'
+	import {
+		getList,
+		pageCount
+	} from '@/util/api/agencyAPI'
 	import {
 		mapState
 	} from 'vuex'
 	export default {
 		components: {
-			myTabbar
+			myTabbar,
+			vSearch,
+			LabelSelection
 		},
 		data() {
-			return {
+			return {
+				ban: false,
+				height: '',
+				top: '',
 				code: '',
 				windowHeight: '',
 				show: false,
@@ -115,158 +143,271 @@
 						id: 8,
 						name: '瀹㈤��/杩斿搧鍥炲巶妫�楠�'
 					}
-				],
+				],
+				tagList: [{
+						id: 0,
+						name: '寰呭姙',
+						num: 0
+					},
+					{
+						id: 1,
+						name: '宸插姙',
+						num: 0
+					}
+				],
 				type: '',
 				searchForm: {
-					name: '',
+					mixParam: '',
 					status: 0,
 					type: ''
 				},
-				projectList: [{
-						title: '212132',
-						createTime: '2023-08-28',
-						content: 'asdsadsax鎵嬫墦澶ц惃杈剧殑鍟婂疄鎵揳s'
-					},
-					{
-						title: '212132',
-						createTime: '2023-08-28',
-						content: 'asdsadsax鎵嬫墦澶ц惃杈剧殑鍟婂疄鎵揳s'
-					},
-					{
-						title: '212132',
-						createTime: '2023-08-28',
-						content: 'asdsadsax鎵嬫墦澶ц惃杈剧殑鍟婂疄鎵揳s'
-					},
-					{
-						title: '212132',
-						createTime: '2023-08-28',
-						content: 'asdsadsax鎵嬫墦澶ц惃杈剧殑鍟婂疄鎵揳s'
-					},
-				]
+				page: {
+					total: 0,
+					capacity: 10,
+					page: 1,
+				},
+				triggered: false,
+				finished: false,
+				projectList: []
 			}
 		},
 		computed: {
 			...mapState(['statusbarHeight', 'navHeight']),
+		},
+		async mounted() {
+			await this.$store.dispatch('getUpcomingNum')
+			this.tagList[0].num = this.$store.state.upcomingNum.d
+			this.tagList[1].num = this.$store.state.upcomingNum.y
+		},
+		onReady() {
+			var that = this
+			
+			this.$nextTick(() => {
+				uni.createSelectorQuery()
+					.in(this)
+					.select('.content_search')
+					.boundingClientRect((rect) => {
+						that.height = `calc(100vh - ${rect.height + 150}px)`
+						that.top = `${rect.height}px`
+					})
+					.exec()
+			})
 		},
 		onLoad() {
 			uni.getSystemInfo({
 				success: res => {
 					this.windowHeight = res.windowHeight
 				}
+			})
+			uni.$on('success', () => {
+				this.search();
 			})
-
-			var that = this
-			uni.login({
-				provider: 'weixin',
-				success: function(loginRes) {
-					// console.log(loginRes);
-					that.code = loginRes.code
-				}
-			});
+			this.loadData()
 		},
-		methods: {
-			scrolltolower() {},
-			scrolltoupper() {},
-			selectType(status) {
-				if (this.searchForm.status == status) return
-				this.searchForm.status = status
-				this.scrolltoupper()
+		methods: {
+			// 鎼滅储
+			searchInput(val) {
+				this.searchForm.mixParam = val;
+				this.search();
+			},
+			getPageCount() {
+				pageCount({mixParam: this.searchForm.mixParam})
+					.then(res => {
+						this.tagList[0].num = res.data.startNum
+						this.tagList[1].num = res.data.endNum
+						this.$store.commit('SETNUM', {
+							d: res.data.startNum,
+							y: res.data.endNum
+						})
+					})
+					.catch(err => {})
 			},
-			jump(item) {
-				if ((item.type === 0 || item.type === 2 || item.type === 5) && item.status === 0) { // 璺宠浆鍑哄簱(杞簱鍗�)
-					router.push({
-						name: 'issueOperation',
-						query: {
-							id: item.objId,
-							dbid: item.id,
-							type: 7
-						}
+			loadData() {
+				getList({
+						model: this.searchForm,
+						...this.page
 					})
-				} else if ((item.type === 0 || item.type === 2 || item.type === 5) && item.status === 1) {
-					router.push({
-						name: 'wTransferDetail',
-						query: {
-							id: item.objId,
-							status: item.status,
-							type: item.type,
-							dbid: item.id
+					.then(res => {
+						let data = res.data
+						if (data.page == 1) {
+							this.projectList = []
 						}
+						this.page.page = data.page
+						this.page.total = data.total
+						this.projectList.push(...data.records)
 					})
-					// router.push({ name: 'wTransferDetail', query: { id: item.objId, status: 0, type: item.type, dbid: item.id } })
+					.catch(err => {
+
+					})
+					.finally(() => {
+						this.triggered = false
+					})
+			},
+			refresh() {
+				if (this.triggered) return
+				this.triggered = true;
+				this.search()
+				// this.page.page = 1
+				// this.loadData()
+				// this.getPageCount()
+			},
+			loadMore() {
+				this.page.page += 1
+				this.loadData()
+			},
+			clickTag(status) {
+				if (this.searchForm.status == status) return
+				this.searchForm.status = status
+				this.search()
+			},
+			jump(item) {
+				console.log(item.type);
+				switch(item.type) {
+					case 0: case 2: case 5: {
+						if (item.status === 0) {
+							uni.navigateTo({
+								url: `/pages_inspect/pages/OutOperation/OutOperation?id=${item.objId}&dbid=${item.id}&type=7`
+							})
+						} else {
+							debugger
+							uni.navigateTo({
+								url: `/pages_adjust/pages/warehousingDetails/warehousingDetails?id=${item.objId}&status=${item.status}&type=${item.type}&dbid=${item.id}`
+							})
+						}
+						break
+					}
+					case 3: {
+						if (item.status==0) {
+							
+						} else{
+							uni.navigateTo({
+								url: `/pages_adjust/pages/warehousingDetails/warehousingDetails?id=${item.objId}`
+							})
+						}
+						break
+					}
+					case 4: {
+						break
+					}
+					case 1: case 6: {
+						if (item.status === 0) {
+							uni.navigateTo({
+								url: `/pages_inspect/pages/InOperation/InOperation?id=${item.objId}&dbid=${item.id}&type=7`
+							})
+						} else {
+							uni.navigateTo({
+								url: `/pages_adjust/pages/warehousingDetails/warehousingDetails?id=${item.objId}`
+							})
+						}
+						break
+					}
+					case 9: {
+						if (item.status === 0) {
+							uni.navigateTo({
+								url: `/pages_inspect/pages/InOperation/InOperation?id=${item.objId}&dbid=${item.id}&type=9`
+							})
+						} else{
+							uni.navigateTo({
+								url: `/pages_adjust/pages_adjust/pages/warehousingDetails1/warehousingDetails1?id=${item.objId}`
+							})
+						}
+					}
+					default: {
+						
+					}
+				}
+				/**
+				 * 
+				 * if ((item.type === 0 || item.type === 2 || item.type === 5) && item.status === 0) { // 璺宠浆鍑哄簱(杞簱鍗�)
+					
+				} else if ((item.type === 0 || item.type === 2 || item.type === 5) && item.status === 1) {
+					
 				} else if ((item.type === 1 || item.type === 4 || item.type === 6) && item.status === 0) { // 璺宠浆鍏ュ簱(杞簱鍗�)
 					if (item.type === 4) { // 璺宠浆瀹屽伐鍏ュ簱璇︽儏
-						router.push({
-							name: 'completionDetails',
-							query: {
-								id: item.objId,
-								dbid: item.id,
-								type: 7,
-								isShow: 1,
-								Type: item.type
-							}
-						})
+						// router.push({
+						// 	name: 'completionDetails',
+						// 	query: {
+						// 		id: item.objId,
+						// 		dbid: item.id,
+						// 		type: 7,
+						// 		isShow: 1,
+						// 		Type: item.type
+						// 	}
+						// })
 						return
 					}
-					router.push({
-						name: 'warehousing',
-						query: {
-							id: item.objId,
-							dbid: item.id,
-							type: 7
-						}
+					uni.navigateTo({
+						url: `/pages/InOperation/InOperation?id=${item.objId}&dbid=${item.id}&type=7`
 					})
+					
 				} else if ((item.type === 1 || item.type === 4 || item.type === 6) && item.status === 1) {
 					if (item.type === 4) { // 璺宠洓瀹屽伐鍏ュ簱璇︽儏
-						router.push({
-							name: 'completionDetails',
-							query: {
-								id: item.objId,
-								dbid: item.id,
-								type: 7,
-								isShow: 2
-							}
-						})
+						// router.push({
+						// 	name: 'completionDetails',
+						// 	query: {
+						// 		id: item.objId,
+						// 		dbid: item.id,
+						// 		type: 7,
+						// 		isShow: 2
+						// 	}
+						// })
 						return
-					}
-					router.push({
-						name: 'wTransferDetail',
-						query: {
-							id: item.objId
-						}
+					}
+					uni.navigateTo({
+						url: `/pages/warehousingDetails/warehousingDetails?id=${item.objId}`
 					})
+					// router.push({
+					// 	name: 'wTransferDetail',
+					// 	query: {
+					// 		id: item.objId
+					// 	}
+					// })
 				} else if (item.type === 3 && item.status === 0) { // 纭澶囨枡
-					router.push({
-						name: 'orderStock',
-						query: {
-							id: item.objId,
-							dbid: item.id
-						}
-					})
+					// router.push({
+					// 	name: 'orderStock',
+					// 	query: {
+					// 		id: item.objId,
+					// 		dbid: item.id
+					// 	}
+					// })
 				} else if (item.type === 3 && item.status === 1) { // 澶囨枡锛堣浆搴撳崟璇︽儏锛�
-					// router.push({ name: 'wInboundDetail', query: { id: item.objId } })
-					router.push({
-						name: 'wTransferDetail',
-						query: {
-							id: item.objId
-						}
+					uni.navigateTo({
+						url: `/pages/warehousingDetails/warehousingDetails?id=${item.objId}`
 					})
-				} else if (item.type === 9 && item.status === 0) { // 璋冩暣鍏ュ簱(鍏ュ簱鍗�)
-					router.push({
-						name: 'warehousing',
-						query: {
-							id: item.objId,
-							dbid: item.id,
-							type: 9
-						}
+					// router.push({
+					// 	name: 'wTransferDetail',
+					// 	query: {
+					// 		id: item.objId
+					// 	}
+					// })
+				} else if (item.type === 9 && item.status === 0) { // 璋冩暣鍏ュ簱(鍏ュ簱鍗�)
+					uni.navigateTo({
+						url: `/pages/InOperation/InOperation?id=${item.objId}&dbid=${item.id}&type=9`
 					})
-				} else if (item.type === 9 && item.status === 1) {
-					router.push({
-						name: 'wInboundDetail',
-						query: {
-							id: item.objId
-						}
+					// router.push({
+					// 	name: 'warehousing',
+					// 	query: {
+					// 		id: item.objId,
+					// 		dbid: item.id,
+					// 		type: 9
+					// 	}
+					// })
+				} else if (item.type === 9 && item.status === 1) {
+					uni.navigateTo({
+						url: `/pages_adjust/pages/warehousingDetails1/warehousingDetails1?id=${item.objId}`
 					})
-				}
+					// router.push({
+					// 	name: 'wInboundDetail',
+					// 	query: {
+					// 		id: item.objId
+					// 	}
+					// })
+				}
+				 * 
+				 * 
+				 * */
+				
+				
 			},
 			filterAction() {
 				this.show = true
@@ -274,15 +415,23 @@
 			close() {
 				this.show = false
 			},
-			resetType() {
+			resetType() {
 				this.type = ''
-				this.searchForm.type = ''
-				this.confirm()
+				this.searchForm.type = ''
+				this.ban =false
+				this.confirm()
+				
 			},
-			confirm() {
+			confirm() {
 				this.searchForm.type = this.type
-				this.show = false
-				this.scrolltoupper()
+				this.show = false
+				this.ban =false
+				this.search()
+			},
+			search() {
+				this.page.page = 1
+				this.loadData()
+				this.getPageCount()
 			}
 		}
 	}
@@ -401,6 +550,32 @@
 	.bottom-view {
 		left: 40rpx;
 		right: 40rpx;
-		bottom: 0
+		bottom: 40rpx
+	}
+	.tag_item {
+		min-width: 120rpx;
+		// padding: 0 24rpx;
+		border-radius: 26rpx;
+		text-align: center;
+		flex-shrink: 0;
+		margin-right: 20rpx;
+		border: 1rpx solid #CCCCCC;
+		font-size: 26rpx;
+		font-weight: 400;
+		height: 52rpx;
+		line-height: 52rpx;
+	}
+	.content_search_x {
+		height: 24rpx;
+	}
+	.mask {
+		z-index: 8000;
+		position: fixed;
+		left: 0;
+		top: 0;
+		right: 0;
+		bottom: 0;
+		height: 100vh;
+		background-color: rgba(0, 0, 0, 0.5);
 	}
 </style>

--
Gitblit v1.9.3