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 |  575 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 556 insertions(+), 19 deletions(-)

diff --git a/minipro_standard/pages/index/index.vue b/minipro_standard/pages/index/index.vue
index 225d435..88883e6 100644
--- a/minipro_standard/pages/index/index.vue
+++ b/minipro_standard/pages/index/index.vue
@@ -1,36 +1,437 @@
-<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="plr30 pb30 nav-style bg_w">
+				<view
+					:style="{background: '#fff', zIndex: '999', paddingTop: `${statusbarHeight}px`, height: `${navHeight}px`, lineHeight:`${navHeight}px`, textAlign: 'center'}">
+					寰呭姙</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>
+		
+		<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">
+							<image src="../../static/daiban_ic_daiban@2x.png" mode=""></image>
+						</view>
+						<view class="box_list_item_nr">
+							<view class="box_list_item_nr_top">
+								<span>{{item.title}}</span>
+								<span>{{item.createTime}}</span>
+							</view>
+							<view class="box_list_item_nr_bottom">
+								{{item.content}}
+							</view>
+						</view>
+					</view>
+				</view>
+			</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 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> -->
+		</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: '',
-				show: false
+				windowHeight: '',
+				show: false,
+				types: [{
+						id: 0,
+						name: '杞﹂棿棰嗘枡-寰呭彂璐�'
+					},
+					{
+						id: 1,
+						name: '杞﹂棿棰嗘枡-寰呭叆搴�'
+					},
+					{
+						id: 2,
+						name: '鏈哄彴澶囨枡-寰呭彂璐�'
+					},
+					{
+						id: 3,
+						name: '鏈哄彴澶囨枡-寰呭叆搴�'
+					},
+					{
+						id: 4,
+						name: '瀹屽伐鍏ュ簱-寰呮帴鏀�'
+					},
+					{
+						id: 5,
+						name: '搴撳瓨杞簱-寰呭彂璐�'
+					},
+					{
+						id: 6,
+						name: '搴撳瓨杞簱-寰呭叆搴�'
+					},
+					{
+						id: 7,
+						name: '鐢宠瀹℃壒'
+					},
+					{
+						id: 8,
+						name: '瀹㈤��/杩斿搧鍥炲巶妫�楠�'
+					}
+				],
+				tagList: [{
+						id: 0,
+						name: '寰呭姙',
+						num: 0
+					},
+					{
+						id: 1,
+						name: '宸插姙',
+						num: 0
+					}
+				],
+				type: '',
+				searchForm: {
+					mixParam: '',
+					status: 0,
+					type: ''
+				},
+				page: {
+					total: 0,
+					capacity: 10,
+					page: 1,
+				},
+				triggered: false,
+				finished: false,
+				projectList: []
 			}
 		},
-		onLoad() {
-			var that = this
-			uni.login({
-				provider: 'weixin',
-				success: function (loginRes) {
-					// console.log(loginRes);
-					that.code = loginRes.code
-					that.show = true
-				}
-			});
+		computed: {
+			...mapState(['statusbarHeight', 'navHeight']),
 		},
-		methods: {
-			onMessage(e) {
-				console.log('12345654321')
+		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();
+			})
+			this.loadData()
+		},
+		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 => {})
+			},
+			loadData() {
+				getList({
+						model: this.searchForm,
+						...this.page
+					})
+					.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)
+					})
+					.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
+						// 	}
+						// })
+						return
+					}
+					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
+						// 	}
+						// })
+						return
+					}
+					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
+					// 	}
+					// })
+				} else if (item.type === 3 && item.status === 1) { // 澶囨枡锛堣浆搴撳崟璇︽儏锛�
+					uni.navigateTo({
+						url: `/pages/warehousingDetails/warehousingDetails?id=${item.objId}`
+					})
+					// 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`
+					})
+					// 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
+			},
+			close() {
+				this.show = false
+			},
+			resetType() {
+				this.type = ''
+				this.searchForm.type = ''
+				this.ban =false
+				this.confirm()
+				
+			},
+			confirm() {
+				this.searchForm.type = this.type
+				this.show = false
+				this.ban =false
+				this.search()
+			},
+			search() {
+				this.page.page = 1
+				this.loadData()
+				this.getPageCount()
 			}
 		}
 	}
@@ -41,4 +442,140 @@
 		width: 100vw;
 		height: 100vh;
 	}
+
+	.nav-style {
+		border-bottom: 20rpx #f7f7f7 solid;
+	}
+
+	.box_list {
+		width: 100%;
+		padding: 0 30rpx;
+		display: flex;
+		flex-direction: column;
+		box-sizing: border-box;
+
+		.box_list_item {
+			padding: 30rpx 0;
+			display: flex;
+			border-bottom: 1rpx solid #E5E5E5;
+
+			&:last-child {
+				border: none;
+			}
+
+			.box_list_item_icon {
+				flex-shrink: 0;
+				width: 64rpx;
+				height: 64rpx;
+				margin-right: 24rpx;
+				position: relative;
+
+				.box_list_item_icon_active {
+					position: absolute;
+					right: 0;
+					top: 0;
+					width: 18rpx;
+					height: 18rpx;
+					border-radius: 50%;
+					background: #DE5243;
+					border: 2rpx solid #FFFFFF;
+				}
+
+				image {
+					width: 100%;
+					height: 100%;
+				}
+			}
+
+			.box_list_item_nr {
+				flex: 1;
+				display: flex;
+				flex-direction: column;
+
+				.box_list_item_nr_top {
+					display: flex;
+					align-items: center;
+					justify-content: space-between;
+
+					span {
+						&:first-child {
+							font-size: 30rpx;
+							font-weight: 500;
+							max-width: 450rpx;
+							color: #222222;
+							overflow: hidden;
+							white-space: nowrap;
+							text-overflow: ellipsis;
+							-o-text-overflow: ellipsis;
+						}
+
+						&:last-child {
+							flex-shrink: 0;
+							font-size: 24rpx;
+							font-weight: 400;
+							color: #999999;
+							margin-left: 10rpx;
+							overflow: hidden;
+							white-space: nowrap;
+							text-overflow: ellipsis;
+							-o-text-overflow: ellipsis;
+						}
+					}
+				}
+
+				.box_list_item_nr_bottom {
+					font-size: 28rpx;
+					font-weight: 400;
+					color: #666666;
+					margin-top: 16rpx;
+					word-break: break-all;
+				}
+			}
+		}
+	}
+
+	.contanir {
+		height: calc(env(safe-area-inset-bottom) + 720rpx);
+
+		.content {
+			margin-top: 20rpx;
+
+			.type-style {
+				width: 325rpx;
+				margin-bottom: 20rpx;
+			}
+		}
+	}
+
+	.bottom-view {
+		left: 40rpx;
+		right: 40rpx;
+		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