From def7a94103b1c68110dcfc2a7ceba3021a22a24f Mon Sep 17 00:00:00 2001
From: Mr.Zhang <710666463@qq.com>
Date: 星期四, 07 九月 2023 15:35:34 +0800
Subject: [PATCH] 小程序

---
 minipro_standard/pages/selectWorkOrder/selectWorkOrder.vue |  437 ++++++++++++++++++++++++++----------------------------
 1 files changed, 213 insertions(+), 224 deletions(-)

diff --git a/minipro_standard/pages/selectWorkOrder/selectWorkOrder.vue b/minipro_standard/pages/selectWorkOrder/selectWorkOrder.vue
index e6800a4..74ba8b9 100644
--- a/minipro_standard/pages/selectWorkOrder/selectWorkOrder.vue
+++ b/minipro_standard/pages/selectWorkOrder/selectWorkOrder.vue
@@ -8,10 +8,12 @@
 						<div class="Search_item_label">璁″垝鏃ユ湡</div>
 						<div class="Search_item_content" @click="isOpenDate=true">
 							<div class="Search_item_content_a" :style="form.startDate ? 'color: #000;' : ''">
-								{{ form.startDate ? form.startDate : '寮�濮嬫棩鏈�'}}</div>
+								{{ form.startDate ? form.startDate : '寮�濮嬫棩鏈�'}}
+							</div>
 							<span>-</span>
 							<div class="Search_item_content_a" :style="form.endDate ? 'color: #000;' : ''">
-								{{ form.endDate ? form.endDate : '缁撴潫鏃ユ湡'}}</div>
+								{{ form.endDate ? form.endDate : '缁撴潫鏃ユ湡'}}
+							</div>
 						</div>
 					</div>
 				</template>
@@ -19,239 +21,226 @@
 			<div class="content_search_x"></div>
 			<v-LableSelection :TagList="tagList" :isShow="true" @change="clickTag"></v-LableSelection>
 		</div>
-		<div class="content_total">鍏眥{page.total}}鏉℃暟鎹�</div>
-		<div class="content_list">
-			<u-list @scrolltolower="scrolltolower" @scrolltoupper="scrolltoupper">
-				<u-list-item  v-for="(item, i) in list" :key="i">
-					<div class="content_list_item" @click="jump(item)">
-						<div class="content_list_item_top">
-							<div class="content_list_item_top_left">
-								<span v-if="item.mmodel">{{item.mmodel.name}} | {{item.procedureName}}</span>
-								<div class="content_list_item_top_left_tag" v-if="item.urgent">浼樺厛{{item.urgent}}</div>
-								<div class="content_list_item_top_left_tagW" v-if="item.paused === 1">鍋�</div>
-							</div>
-							<div class="content_list_item_top_right">
-								<span class="yellow" v-if="item.status === 0">宸插垱寤�</span>
-								<span class="green" v-if="item.status === 1">宸插鏂�</span>
-								<span v-if="item.status === 2">宸插畬宸�</span>
-								<span class="purple" v-if="item.status === 3">宸叉楠�</span>
-								<span v-if="item.status === 4">宸叉姤宸�</span>
-								<span v-if="item.status === 5">宸插叆搴�</span>
-								<span v-if="item.status === 6">宸插彇娑�</span>
-							</div>
-						</div>
-						<span>宸ュ崟缂栫爜: {{item.code}}</span>
-						<div class="content_list_item_content">
-							<div class="content_list_item_content_item">
-								<div class="content_list_item_content_item_label">鐗╂枡缂栫爜锛�</div>
-								<div class="content_list_item_content_item_nr" v-if="item.mmodel">{{item.mmodel.code}}
-								</div>
-							</div>
-							<div class="content_list_item_content_item">
-								<div class="content_list_item_content_item_label">璁″垝寮�宸ワ細</div>
-								<div class="content_list_item_content_item_nr">{{item.planDate}}</div>
-							</div>
-							<div class="content_list_item_content_item">
-								<div class="content_list_item_content_item_label">鐢熶骇鎵规锛�</div>
-								<div class="content_list_item_content_item_nr">{{item.batch}}</div>
-							</div>
-							<div class="content_list_item_content_item">
-								<div class="content_list_item_content_item_label">璁″垝鏁伴噺锛�</div>
-								<div class="content_list_item_content_item_nr" v-if="item.umodel">
-									{{item.planNum}}{{item.umodel.name}}</div>
-							</div>
-							<div class="content_list_item_content_item">
-								<div class="content_list_item_content_item_label">鐢熶骇璁惧锛�</div>
-								<div class="content_list_item_content_item_nr" v-if="item.pgmodel">{{item.pgmodel.name}}
-								</div>
-							</div>
-							<div class="content_list_item_content_item" v-if="item.status === 5">
-								<div class="content_list_item_content_item_label">瀹屽伐鏁伴噺锛�</div>
-								<div class="content_list_item_content_item_nr">{{item.proNum}}</div>
-							</div>
-						</div>
-					</div>
-				</u-list-item>
-			</u-list>
+		<div class="content_total">鍏眥{page.total}}鏉℃暟鎹�</div>
+		<div class="content_list">
+			<scroll-view scroll-y="true" refresher-enabled="true" :refresher-triggered="refreshing"
+				@scrolltolower="loadMore" @refresherrefresh="onRefresh" :style="{height: height}">
+				<div class="content_list_item" v-for="(item, i) in list" :key="i" @click="jump(item)">
+					<div class="content_list_item_top">
+						<div class="content_list_item_top_left">
+							<span v-if="item.mmodel">{{item.mmodel.name}} | {{item.procedureName}}</span>
+							<div class="content_list_item_top_left_tag" v-if="item.urgent">浼樺厛{{item.urgent}}</div>
+							<div class="content_list_item_top_left_tagW" v-if="item.paused === 1">鍋�</div>
+						</div>
+						<div class="content_list_item_top_right">
+							<span class="yellow" v-if="item.status === 0">宸插垱寤�</span>
+							<span class="green" v-if="item.status === 1">宸插鏂�</span>
+							<span v-if="item.status === 2">宸插畬宸�</span>
+							<span class="purple" v-if="item.status === 3">宸叉楠�</span>
+							<span v-if="item.status === 4">宸叉姤宸�</span>
+							<span v-if="item.status === 5">宸插叆搴�</span>
+							<span v-if="item.status === 6">宸插彇娑�</span>
+						</div>
+					</div>
+					<span>宸ュ崟缂栫爜: {{item.code}}</span>
+					<div class="content_list_item_content">
+						<div class="content_list_item_content_item">
+							<div class="content_list_item_content_item_label">鐗╂枡缂栫爜锛�</div>
+							<div class="content_list_item_content_item_nr" v-if="item.mmodel">{{item.mmodel.code}}
+							</div>
+						</div>
+						<div class="content_list_item_content_item">
+							<div class="content_list_item_content_item_label">璁″垝寮�宸ワ細</div>
+							<div class="content_list_item_content_item_nr">{{item.planDate}}</div>
+						</div>
+						<div class="content_list_item_content_item">
+							<div class="content_list_item_content_item_label">鐢熶骇鎵规锛�</div>
+							<div class="content_list_item_content_item_nr">{{item.batch}}</div>
+						</div>
+						<div class="content_list_item_content_item">
+							<div class="content_list_item_content_item_label">璁″垝鏁伴噺锛�</div>
+							<div class="content_list_item_content_item_nr" v-if="item.umodel">
+								{{item.planNum}}{{item.umodel.name}}
+							</div>
+						</div>
+						<div class="content_list_item_content_item">
+							<div class="content_list_item_content_item_label">鐢熶骇璁惧锛�</div>
+							<div class="content_list_item_content_item_nr" v-if="item.pgmodel">{{item.pgmodel.name}}
+							</div>
+						</div>
+						<div class="content_list_item_content_item" v-if="item.status === 5">
+							<div class="content_list_item_content_item_label">瀹屽伐鏁伴噺锛�</div>
+							<div class="content_list_item_content_item_nr">{{item.proNum}}</div>
+						</div>
+					</div>
+				</div>
+			</scroll-view>
 		</div>
 		<!-- <van-pull-refresh v-model="refreshing" @refresh="onRefresh">
 			<van-list v-model:loading="loading" :finished="finished" finished-text="娌℃湁鏇村浜唦" @load="onLoad">
 			</van-list>
-		</van-pull-refresh> -->
-		<u-calendar :show="isOpenDate" mode="range" @close="isOpenDate=false" @confirm="onConfirm"></u-calendar>
-		<!-- <van-calendar v-model:show="isOpenDate" type="range" :min-date="minDate" :max-date="maxDate" color="#4275FC"
-			@confirm="onConfirm" /> -->
-		<!-- <v-ScanCode
-		            :openCode="openCode"
-		            :infos="['绗竴娆℃壂鐮�']"
-		            @closePopup="closePopup"
-		            @onDecode="onDecode">
-		        </v-ScanCode> -->
+		</van-pull-refresh> -->
+
+		<l-calendar :lunar="false" v-model="isOpenDate" @change="onConfirm" :isRange="true" activeBgColor="#305ED5"
+			rangeColor="#305ED5" rangeBgColor="rgba(48, 80, 213, 0.1)"></l-calendar>
+
 	</view>
 </template>
 
-<script>
-	import vSearch from '@/components/Search.vue'
-	import vLableSelection from '@/components/LabelSelection.vue'
-	import { gsdate } from '@/util/utils'
-	export default {
-		components: {
-			vSearch,
-			vLableSelection
+<script>
+	import vSearch from '@/components/Search.vue'
+	import vLableSelection from '@/components/LabelSelection.vue'
+	import {
+		gsdate
+	} from '@/util/utils'
+	import {
+		getList,
+		pageCount
+	} from '@/util/api/WorkOrderAPI'
+	export default {
+		components: {
+			vSearch,
+			vLableSelection
 		},
 		data() {
 			return {
-				status: true,
-				isOpenDate: false,
-				// tagList: [1,2,3],
-				form: {
-					startDate: '',
-					endDate: ''
-				},
-				list: [
-					{
-						mmodel: { name: 'adsa', },
-						mmodel: { code: 'wl-001' },
-						umodel: { name: '鍚�' },
-						pgmodel: { name: '娑插帇鏈�' },
-						procedureName: '鍘嬪埗',
-						urgent: 10,
-						paused: 0,
-						status: 0,
-						code: '00100',
-						planDate: '2023-08-30',
-						batch: 'kk-yw',
-						planNum: 300,
-						proNum: 100,
-					},
-					{
-						mmodel: { name: 'adsa', },
-						mmodel: { code: 'wl-001' },
-						umodel: { name: '鍚�' },
-						pgmodel: { name: '娑插帇鏈�' },
-						procedureName: '鍘嬪埗',
-						urgent: 10,
-						paused: 0,
-						status: 1,
-						code: '00100',
-						planDate: '2023-08-30',
-						batch: 'kk-yw',
-						planNum: 300,
-						proNum: 100
-					},
-					{
-						mmodel: { name: 'adsa', },
-						mmodel: { code: 'wl-001' },
-						umodel: { name: '鍚�' },
-						pgmodel: { name: '娑插帇鏈�' },
-						procedureName: '鍘嬪埗',
-						urgent: 10,
-						paused: 0,
-						status: 2,
-						code: '00100',
-						planDate: '2023-08-30',
-						batch: 'kk-yw',
-						planNum: 300,
-						proNum: 100,
-					},
-					{
-						mmodel: { name: 'adsa', },
-						mmodel: { name: '鐗╂枡001', code: 'wl-001' },
-						umodel: { name: '鍚�' },
-						pgmodel: { name: '娑插帇鏈�' },
-						procedureName: '鍘嬪埗',
-						urgent: 10,
-						paused: 0,
-						status: 3,
-						code: '00100',
-						planDate: '2023-08-30',
-						batch: 'kk-yw',
-						planNum: 300,
-						proNum: 100,
-					},
-					{
-						mmodel: { name: 'adsa', },
-						mmodel: { code: 'wl-001' },
-						umodel: { name: '鍚�' },
-						pgmodel: { name: '娑插帇鏈�' },
-						procedureName: '鍘嬪埗',
-						urgent: 10,
-						paused: 0,
-						status: 4,
-						code: '00100',
-						planDate: '2023-08-30',
-						batch: 'kk-yw',
-						planNum: 300,
-						proNum: 100,
-					},
-					{
-						mmodel: { name: 'adsa', },
-						mmodel: { code: 'wl-001' },
-						umodel: { name: '鍚�' },
-						pgmodel: { name: '娑插帇鏈�' },
-						procedureName: '鍘嬪埗',
-						urgent: 10,
-						paused: 0,
-						status: 5,
-						code: '00100',
-						planDate: '2023-08-30',
-						batch: 'kk-yw',
-						planNum: 300,
-						proNum: 100,
-					},
-					{
-						mmodel: { name: 'adsa', },
-						mmodel: { code: 'wl-001' },
-						umodel: { name: '鍚�' },
-						pgmodel: { name: '娑插帇鏈�' },
-						procedureName: '鍘嬪埗',
-						urgent: 10,
-						paused: 0,
-						status: 6,
-						code: '00100',
-						planDate: '2023-08-30',
-						batch: 'kk-yw',
-						planNum: 300,
-						proNum: 100,
-					},
-					{
-						mmodel: { name: 'adsa', },
-						mmodel: { code: 'wl-001' },
-						umodel: { name: '鍚�' },
-						pgmodel: { name: '娑插帇鏈�' },
-						procedureName: '鍘嬪埗',
-						urgent: 10,
-						paused: 0,
-						status: 7,
-						code: '00100',
-						planDate: '2023-08-30',
-						batch: 'kk-yw',
-						planNum: 300,
-						proNum: 100,
-					},
-				],
-				page: {
-					size: 10,
-					index: 1,
-					total: 0
+				height: '',
+				status: true,
+				isOpenDate: false,
+				refreshing: false,
+				// tagList: [1,2,3],
+				tagList: [{
+                    id: [2,3,7],
+                    name: '鐢熶骇涓�',
+                    num: ''
+                }],
+				minDate: '2021-01-01',
+				maxDate: '',
+				form: {
+					startDate: '',
+					endDate: '',
+					mixParam: '',
+					statusList: []
+				},
+				list: [],
+				page: {
+					capacity: 10,
+					index: 1,
+					total: 0
 				}
 			};
-		},
-		methods: {
-			reset() {},
-			submit() {},
-			onConfirm(value) {
-				const [start, end] = value
-				this.form.startDate = gsdate(start)
-				this.form.endDate = gsdate(end)
-				this.isOpenDate = false
-			},
-			scrolltolower() {},
-			scrolltoupper() {},
-			jump(item) {
-				uni.$emit('workOrder', item)
-				uni.navigateBack()
-			}
+		},
+		onLoad(opt) {
+			this.$nextTick(() => {
+				uni.createSelectorQuery().in(this).select('.content_search').boundingClientRect((rect) => {
+					this.height = `calc(100vh - ${rect.height + 80}px)`
+				}).exec()
+			})
+			if (opt.type == '1') {
+				this.tagList = [{
+						id: [0, 1],
+						name: '寰呯敓浜�',
+						num: ''
+					},
+					{
+						id: [2, 3, 7],
+						name: '鐢熶骇涓�',
+						num: ''
+					}
+				]
+			} else {
+				this.tagList = [{
+					id: [2, 3, 7],
+					name: '鐢熶骇涓�',
+					num: ''
+				}]
+			}
+			this.maxDate = gsdate(new Date(`${new Date().getFullYear() + 1}-12-30`))
+			this.pageCounts()
+			this.loadData()
+		},
+		methods: {
+			reset() {
+				this.form.startDate = ''
+				this.form.endDate = ''
+				this.search()
+			},
+			searchInput(val) {
+				this.form.mixParam = val;
+				this.search()
+			},
+			clickTag(v) {
+				this.form.statusList = v
+				this.search()
+			},
+			submit() {
+				this.search()
+			},
+			onConfirm(value) {
+				this.form.startDate = value.startDate
+				this.form.endDate = value.endDate
+				this.isOpenDate = false
+			},
+			onRefresh() {
+				if (this.refreshing) return
+				this.refreshing = true;
+				this.search()
+			},
+			loadMore() {
+				this.page.page += 1
+				this.loadData()
+			},
+			search() {
+				this.page.page = 1
+				this.loadData()
+			},
+			loadData() {
+				getList({
+						...this.page,
+						model: {
+							...this.form,
+							statusList: this.form.statusList.length === 0 ? this.tagList[0].id : this.form.statusList
+						} 
+					})
+					.then(res => {
+						let {
+							data
+						} = res
+						if (data.page == 1) {
+							this.list = []
+						}
+						this.list.push(...data.records)
+						this.page.total = data.total
+						this.page.page = data.page
+					})
+					.catch(err => {
+
+					})
+					.finally(() => {
+						this.refreshing = false
+					})
+			},
+			pageCounts() {
+				pageCount({}).then(res => {
+					if (res.code === 200) {
+						this.tagList.forEach(item => {
+							if (item.name == '寰呯敓浜�') {
+								item.num = res.data.startNum
+							}
+							if (item.name == '鐢熶骇涓�') {
+								item.num = res.data.ingNum
+							}
+							if (item.name == '宸插畬鎴�') {
+								item.num = res.data.endNum
+							}
+						})
+					}
+				})
+			},
+			jump(item) {
+				uni.$emit('workOrder', item)
+				uni.navigateBack()
+			}
 		}
 	}
 </script>
@@ -363,7 +352,7 @@
 
 		.content_list {
 			width: 100%;
-			height: 100%;
+			// height: 100%;
 			display: flex;
 			flex-direction: column;
 

--
Gitblit v1.9.3