From 03627defbc56d0498e7778523da255eb972db6a4 Mon Sep 17 00:00:00 2001
From: guoyujie <guoyujie@ng.com>
Date: 星期四, 04 十二月 2025 10:25:03 +0800
Subject: [PATCH] 删除 安装包

---
 qrcodeScaner/pages/QuantityCompletion/QuantityCompletion.vue |  115 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 115 insertions(+), 0 deletions(-)

diff --git a/qrcodeScaner/pages/QuantityCompletion/QuantityCompletion.vue b/qrcodeScaner/pages/QuantityCompletion/QuantityCompletion.vue
new file mode 100644
index 0000000..9a629f4
--- /dev/null
+++ b/qrcodeScaner/pages/QuantityCompletion/QuantityCompletion.vue
@@ -0,0 +1,115 @@
+<template>
+	<view >
+		<uni-datetime-picker
+		 @change='changeTime'
+		v-model="datetimerange" 
+		type="datetimerange" 
+		rangeSeparator="/" />
+	</view>
+	<view>
+		<uni-table  border stripe  style='width:100%;max-height: 100%;overflow-y: auto;'>
+			<uni-tr>
+					<uni-th v-for='(item,keys,index) in list' :width='index==0?70:45' align="center">{{item}}</uni-th>
+			</uni-tr>
+			<uni-tr>
+					<uni-th v-for='(item,keys,index) in filterList' :width='index==0?70:45' align="center">
+						<input @blur="filterInfo" type="text" size='mini' v-model.trim="filterList[keys]" />
+					</uni-th>
+			</uni-tr>
+			<uni-tr v-for="items in reportingWorkList">
+				<uni-td style="text-align: center;" v-for='(item,keys) in list'>{{items[keys]}}</uni-td>
+			</uni-tr>
+			<uni-tr>
+				<uni-td style="text-align: center;"  v-for='(item,keys,index) in list'>{{sum(keys,index)}}</uni-td>
+			</uni-tr>
+		</uni-table>
+	</view>
+</template>
+
+<script setup>
+import { computed, onMounted,ref, watch } from 'vue'
+import userInfo from '@/stores/userInfo'
+import request from '../../utils/request'
+	const store=userInfo()
+	const list = ref({
+		'order_id':'璁�/搴�/鐗�',
+		'child_width':'瀹�',
+		'child_height':'楂�',
+		'completed_quantity':'瀹屽伐',
+		'breakage_quantity':'鐮存崯',
+		'finish_area':'瀹屽伐闈㈢Н',
+		'breakage_area':"娆$牬闈㈢Н"
+	})
+	const filterList = ref({
+		'order_id':null,
+		'child_width':null,
+		'child_height':null,
+		'completed_quantity':null,
+		'breakage_quantity':null
+	})
+	const datetimerange = ref([null,null])
+	const reportingWorkList = ref([])
+	const reportingWorkListAll = ref([])
+	const getReportingWorkList = async () => {
+		const obj = {
+			userId:store.user.userId,
+			process:store.user.address,
+			searchDate:datetimerange.value
+		}
+		await request.post(`/reportingWork/selectShiftQuantity`,obj).then(res => {
+			if(res.code ==='200'){
+				reportingWorkList.value = res.data.data
+				reportingWorkListAll.value = res.data.data
+				datetimerange.value = res.data.date
+			}
+		}).catch(err => {
+			uni.showModal({
+				title: '鎻愮ず',
+				content: err,
+				showCancel:false
+			});
+		})
+	}
+	onMounted( async ()=>{
+		await getReportingWorkList()
+	})
+	const changeTime = () => {
+		getReportingWorkList()
+	}
+	const sum = (val,index)=>{
+		if(index===0){
+			return '鍚堣:'
+		}
+		const arr = ['completed_quantity','breakage_quantity','finish_area','breakage_area']
+		if(arr.includes(val)){
+			let sum = 0
+			reportingWorkList.value.forEach(item => {
+				sum=Number(item[val]) +Number(sum)
+			})
+			return sum.toFixed(2).toString().replace(/\.?0+$/, '')
+		}else{
+			return null
+		}
+	}
+	const filterInfo = () => {
+		let filter = Object.fromEntries(
+			Object.entries(filterList.value).filter(([_, value]) => value !== null && value !== '')
+		)
+		if(JSON.stringify(filter) === '{}'){
+			reportingWorkList.value  = reportingWorkListAll.value
+			
+		}else{
+			reportingWorkList.value = reportingWorkListAll.value.filter(item => {
+				return Object.keys(filter).every(key => {
+					return item[key].toString().includes( filter[key])
+				})
+			})
+		}
+		
+		
+	}
+</script>
+
+<style>
+
+</style>

--
Gitblit v1.8.0