From a89fe32c353040bbb95d7519cf7bafc4b5934f10 Mon Sep 17 00:00:00 2001
From: Mr.Zhang <710666463@qq.com>
Date: 星期三, 06 九月 2023 09:54:14 +0800
Subject: [PATCH] 小程序

---
 minipro_standard/pages/index/index.vue |  468 ++++++++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 417 insertions(+), 51 deletions(-)

diff --git a/minipro_standard/pages/index/index.vue b/minipro_standard/pages/index/index.vue
index 7308129..97d5592 100644
--- a/minipro_standard/pages/index/index.vue
+++ b/minipro_standard/pages/index/index.vue
@@ -1,77 +1,443 @@
 <template>
-	<view>
-		
+	<view class="index">
+		<!-- <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
+					:style="{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.mixParam"></u-search>
+					<image src="../../static/filter@2x.png" class="img48 ml20" @click="filterAction" mode=""></image>
+				</view>
+				<view class="cY mt30">
+					<view v-for="item in tagList" :key="item.id" class="sbtn rd8 mr10"
+						:class="searchForm.status==item.id?'sbtn_green':'sbtn_black_rim'" @click="selectType(item.id)">
+						{{`${item.name}(${item.num})`}}
+					</view>
+				</view>
+			</view>
+		</u-sticky>
+		<scroll-view v-if="projectList.length" scroll-y="true" refresher-enabled="true" :refresher-triggered="triggered"
+			:refresher-threshold="100" @refresherpulling="scrolltolower" @refresherrefresh="scrolltoupper"
+		>
+			<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 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 { coustomLogin, wxEmpower } from '@/util/api/index'
-
-
 	import myTabbar from "@/components/myTabber.vue"
+	import {
+		getList,
+		pageCount
+	} from '@/util/api/agencyAPI'
+	import {
+		mapState
+	} from 'vuex'
 	export default {
 		components: {
 			myTabbar
 		},
 		data() {
 			return {
-				form: {
-					account: '',
-					password: '',
+				code: '',
+				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: ''
 				},
-				logining: false,
-				openId: ''
+				page: {
+					total: 0,
+					capacity: 10,
+					page: 1,
+				},
+				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
+		},
 		onLoad() {
-			// uni.login({
-			// 	success: data => {
-			// 		this.wxLogin(data.code)
-			// 	},
-			// 	fail: err => {
-			// 		uni.$u.toast(err)
-			// 	}
-			// })
+			uni.getSystemInfo({
+				success: res => {
+					this.windowHeight = res.windowHeight
+
+				}
+			})
+			this.loadData()
 		},
 		methods: {
-			// loginAction() {
-			// 	if (!this.form.account || !this.form.password) {
-			// 		uni.$u.toast('璐﹀彿鎴栬�呭瘑鐮佷笉鑳戒负绌�')
-			// 	}
-			// 	this.logining = true
-			// 	coustomLogin({...this.form, openid: this.openId})
-			// 		.then(res => {
-			// 			this.$store.commit('SETTOKEN', res.token)
-			// 			this.$store.commit('SETUSERINFO', res)
-			// 			uni.navigateTo({
-			// 				url:'/pages/projectList/projectList'
-			// 			})
-			// 		})
-			// 		.finally(() => {
-			// 			this.logining = false
-			// 		})
-			// },
-			// wxLogin(code) {
-			// 	wxEmpower({code})
-			// 		.then(res => {
-			// 			this.openId = res.openid
-			// 			if (res.userInfo) {
-			// 				this.$store.commit('SETTOKEN', res.userInfo.token)
-			// 				this.$store.commit('SETUSERINFO', res.userInfo)
-			// 				uni.navigateTo({
-			// 					url:'/pages/projectList/projectList'
-			// 				})
-			// 			} 
-			// 		})
-			// 		.catch(err => {
-			// 			uni.$u.toast(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 => {
+
+					})
+			},
+			scrolltolower() {
+				this.page.page = 1
+				this.loadData()
+			},
+			scrolltoupper() {
+				this.page.page += 1
+				this.loadData()
+			},
+			selectType(status) {
+				if (this.searchForm.status == status) return
+				this.searchForm.status = status
+				this.scrolltolower()
+			},
+			jump(item) {
+				if ((item.type === 0 || item.type === 2 || item.type === 5) && item.status === 0) { // 璺宠浆鍑哄簱(杞簱鍗�)
+					uni.navigateTo({
+						url: 'pages/OutOperation/OutOperation',
+						query: {
+							id: item.objId,
+							dbid: item.id,
+							type: 7
+						}
+					})
+					// router.push({
+					// 	name: 'issueOperation',
+					// 	query: {
+					// 		id: item.objId,
+					// 		dbid: item.id,
+					// 		type: 7
+					// 	}
+					// })
+				} 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
+					// 	}
+					// })
+				} 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',
+						query: {
+							id: item.objId,
+							dbid: item.id,
+							type: 7
+						}
+					})
+					// router.push({
+					// 	name: 'warehousing',
+					// 	query: {
+					// 		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
+					}
+					// 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) { // 澶囨枡锛堣浆搴撳崟璇︽儏锛�
+					// router.push({ name: 'wInboundDetail', query: { id: item.objId } })
+					// router.push({
+					// 	name: 'wTransferDetail',
+					// 	query: {
+					// 		id: item.objId
+					// 	}
+					// })
+				} else if (item.type === 9 && item.status === 0) { // 璋冩暣鍏ュ簱(鍏ュ簱鍗�)
+					// router.push({
+					// 	name: 'warehousing',
+					// 	query: {
+					// 		id: item.objId,
+					// 		dbid: item.id,
+					// 		type: 9
+					// 	}
+					// })
+				} else if (item.type === 9 && item.status === 1) {
+					// router.push({
+					// 	name: 'wInboundDetail',
+					// 	query: {
+					// 		id: item.objId
+					// 	}
+					// })
+				}
+			},
+			filterAction() {
+				this.show = true
+			},
+			close() {
+				this.show = false
+			},
+			resetType() {
+				this.type = ''
+				this.searchForm.type = ''
+				this.confirm()
+			},
+			confirm() {
+				this.searchForm.type = this.type
+				this.show = false
+				this.scrolltoupper()
+			}
 		}
 	}
 </script>
 
 <style lang="scss" scoped>
+	.index {
+		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: 0
+	}
 </style>

--
Gitblit v1.9.3