From c0885ae4ad1d8aba1ea04696fd04af9b221d2197 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周三, 04 9月 2024 13:50:06 +0800
Subject: [PATCH] 1

---
 yiqi_pda/pages/outBoundWorkPieceInfoCount/modules/barContent.vue |   68 ++++++++
 yiqi_pda/pages/outBoundWorkPieceInfoCount/index.vue              |  313 +++++++++++++++++++++++++++++++++++++++
 yiqi_pda/pages/outBoundWorkPieceInfoCount/modules/barStatus.vue  |   66 ++++++++
 yiqi_pda/pages/home/index.vue                                    |    5 
 4 files changed, 450 insertions(+), 2 deletions(-)

diff --git a/yiqi_pda/pages/home/index.vue b/yiqi_pda/pages/home/index.vue
index 7f5ec8f..8774b56 100644
--- a/yiqi_pda/pages/home/index.vue
+++ b/yiqi_pda/pages/home/index.vue
@@ -59,8 +59,9 @@
 						{name:'宸ヤ欢璐ㄩ噺淇℃伅鎵归噺淇敼',icon:'icon-worker',pathName:'unbindAll',color:'#1e90ff'},
 						{name:'宸ヤ欢淇℃伅杩芥函',icon:'icon-notice',pathName:'retrospect',color:'#1e90ff'},
 						{name:'宸ヤ欢鍑哄簱鎵ц',icon:'icon-notice',pathName:'outBound',color:'#1e90ff'},
-						{name:'宸ヤ欢涓嬬嚎(鏂�)',icon:'icon-notice',pathName:'unLine',color:'#1e90ff'},
-						{name:'宸ヤ欢鍑哄簱(鏂�)',icon:'icon-notice',pathName:'outBoundNew',color:'#1e90ff'}
+						// {name:'宸ヤ欢涓嬬嚎(鏂�)',icon:'icon-notice',pathName:'unLine',color:'#1e90ff'},
+						// {name:'宸ヤ欢鍑哄簱(鏂�)',icon:'icon-notice',pathName:'outBoundNew',color:'#1e90ff'},
+						{name:'宸ヤ欢鍑哄簱缁熻',icon:'icon-notice',pathName:'outBoundWorkPieceInfoCount',color:'#1e90ff'}
 					]
 				},
 				{
diff --git a/yiqi_pda/pages/outBoundWorkPieceInfoCount/index.vue b/yiqi_pda/pages/outBoundWorkPieceInfoCount/index.vue
new file mode 100644
index 0000000..123c400
--- /dev/null
+++ b/yiqi_pda/pages/outBoundWorkPieceInfoCount/index.vue
@@ -0,0 +1,313 @@
+<template>
+	<default-header-page-layout ref="page" title="宸ヤ欢鍑哄簱缁熻" >
+		<view class="page-frame with-action-user-row" :style="{height:pageBodyHeight+'px'}" v-if="pageBodyHeight">
+			<action-user-row />
+			<view class="with-action-user-row-page-content">
+			<!-- 	<scan-input-form-item
+					class="forma-item"
+					label="宸ヤ欢ID"
+					v-model="barId"
+					:msg="msg"
+					:msg-type="msgType"
+					@search="onSearchContainter"
+					@clear="onClearContainter"
+				/> -->
+				<u-form :model="form"  ref="uForm" label-width="65" labelAlign="right">
+				<u-form-item required label="鍑哄簱鏃ユ湡:" prop="planTime">
+									<u-input :readonly="true" placeholder="璇烽�夋嫨鍑哄簱鏃ユ湡" v-model="form.planTime"
+										@click.native="timeShow = true"></u-input>
+								</u-form-item>
+									<!-- 鏃堕棿閫夋嫨鍣� -->
+											<u-datetime-picker closeOnClickOverlay :show="timeShow" @confirm="timeConfirm" :mode="mode"
+												v-model="value1"  @close="timeShow=false" @cancel="timeShow=false"></u-datetime-picker>
+				</u-form>
+				<view class="btn-view">
+					<view class="search-btn" @tap.stop="onSearchContainter">鎼滅储</view>
+				</view> 
+				<!-- 璇︽儏 -->
+				<view>
+					<!-- 鍩虹淇℃伅 -->
+					<bar-content v-for="item in list" :title="'鍑哄簱浜�:' + item.workPieceOutboundUserName" :content="item" :propArr="detailArr" :key="item.id"></bar-content>
+				</view>
+			</view>
+		</view>
+		<!-- <template v-slot:footer>
+			<view class="bottom-btns-row">
+				<view class="btn-frame left-btn-frame"><u-button text="鎾ら攢"  @click="onBind"></u-button></view>
+				<view class="btn-frame right-btn-frame"><u-button type="primary" text="纭淇敼"  @click="comfirmUpdate"></u-button></view>
+			</view>
+		</template> -->
+	</default-header-page-layout>
+</template>
+
+<script>
+import DefaultHeaderPageLayout from '@/components/DefaultHeaderPageLayout.vue'
+import ActionUserRow from '@/components/ActionUserRow.vue'
+import ScanInputFormItem from '@/components/ScanInputFormItem.vue'
+import barContent from './modules/barContent.vue'
+import barStatus from './modules/barStatus.vue'
+import { getBarRetrospectInfo } from '@/api/retrospect/index.js'
+import {
+		getOutBoundWorkPieceInfoCountList
+	} from '@/api/outBound/index.js'
+import { parseDic, $alert, $successInfo } from '@/static/js/utils/index.js'
+import moment from 'moment'
+export default {
+	name:'baseInPage',
+	components:{DefaultHeaderPageLayout,ActionUserRow,ScanInputFormItem,barContent,barStatus},
+	data(){
+		return {
+			// 璁″垝鏃堕棿
+			value1: Number(new Date()),
+			mode: '',
+			timeShow: false,
+			form: {
+								planType: '',
+								planTypeName: '',
+								planTime: '',
+								teamType: '',
+								planProductionNum: null,
+								remarks: ''
+							},
+			pageBodyHeight: 0,
+			initInterVal: null,
+			msg: '',
+			msgType: 'error',
+			barId: '',
+			list: [],
+			detailArr: []
+		}
+	},
+	onLoad() {
+		// this.barDetail = {special: "SAE1041(0.80%~1.10%Mn)",barType: "楂樼⒊閽�",barSpec: "70鍙�",material: "229-255HBS",status: 1};
+		// this.statusArr = [{code: 1,title: '涓嶅悎鏍�'},{code: 2,title: '鍚堟牸'},{code: 3,title: '鐤戜技'}]
+		this.detailArr = [{code: "count",title: '鍑哄簱鏁伴噺'}]
+		var date=new Date();
+		this.form.planTime = moment(date).format('YYYY-MM-DD')
+		this.onSearchContainter();
+	},
+	methods:{
+		// 鏃堕棿纭
+					timeConfirm({
+						value,
+						mode
+					}) {
+						if (!value) {
+							return this.timeShow = false
+						}
+						if (mode == 'date') {
+							this.form.planTime = moment(value).format('YYYY-MM-DD')
+						} else {
+							this.form.planTime = moment(value).format('YYYY-MM')
+						}
+						this.timeShow = false
+		
+					},
+		onSearchContainter(barId) {
+			if(this.form.planTime == '') {
+				return uni.showModal({
+					title:'鍑哄簱鏃ユ湡涓嶈兘涓虹┖',
+					showCancel: false
+				})
+			}
+			//debugger
+			const param = {Date: this.form.planTime}
+			getOutBoundWorkPieceInfoCountList(param).then(res => {
+				this.list = res.data
+			})
+		},
+		onClearContainter() {
+			this.barId = ''
+			this.list = []
+		},
+		/* 椤甸潰鍒濆鍖栬幏鍙栭〉闈ody楂樺害鐨勫畾鏃跺櫒 */
+		startInitInterval(callback){
+			this.initInterVal = setInterval(()=>{
+				if (this.pageBodyHeight) {
+					this.clearInitInterval()
+					callback && callback()
+				} else {
+					this.pageBodyHeight = this.$refs.page.getBodyHeight()
+				}
+			},200)
+		},
+		/* 娓呴櫎瀹氭椂鍣� */
+		clearInitInterval(){
+			try{
+				clearInterval(this.initInterVal)
+				this.initInterVal = null
+			}catch(e){
+				//TODO handle the exception
+			}
+		},
+		comfirmUpdate() {
+			
+		}
+	},
+	onReady(){
+		this.startInitInterval(()=>{
+			/* 椤甸潰鍒濆鍖栧悗闇�瑕佹墽琛岀殑浠g爜鍦ㄨ繖杈硅皟鐢� */
+		})
+	},
+	onUnload(){
+		this.clearInitInterval()
+	}
+}
+</script>
+
+<style scoped lang="scss">
+	.btn-view {
+		flex-shrink: 0;
+	}
+	
+	.btn-view {
+		width: 570rpx;
+		height: 10%;
+		padding: 20rpx;
+		padding-left: 0rpx;
+		box-sizing: border-box;
+		
+		.search-btn {
+			height: 100%;
+			width: 100%;
+			border-radius: 8rpx;
+			background: linear-gradient(157.342820970935deg, rgba(194, 128, 255, 1) -20%, rgba(194, 128, 255, 1) -19%, rgba(132, 0, 255, 1) 119%);
+			display: flex;
+			align-items: center;
+			justify-content: center;
+			color: $uni-bg-color;
+			font-size: 26rpx;
+		}
+	}
+	.p-form-label {
+		font-size: 32rpx;
+		color: $u-tips-color;
+		padding-bottom: 12rpx;
+		padding-left: 20rpx;
+	}
+	
+	.input-row {
+		width: 100%;
+		height: 90rpx;
+		overflow: hidden;
+		background-color: $uni-bg-color;
+		display: flex;
+		align-items: center;
+		position: relative;
+	
+		.scan-view,
+	
+	
+		.scan-view {
+			display: flex;
+			align-items: center;
+			justify-content: center;
+			padding-right: 10rpx;
+		}
+	
+		.input-view {
+			flex-grow: 1;
+			padding-left: 20rpx;
+		}
+	
+		
+		
+	}
+	
+	.msg-row {
+		padding: 6rpx 20rpx 0 20rpx;
+		line-height: 1.3;
+		font-size: 24rpx;
+		color: $u-error;
+	
+		&.info-type {
+			color: $color-blue;
+		}
+	}
+.bottom-btns-row{
+	display: flex;
+	padding: 10rpx 0;
+	background-color: #fff;
+	.btn-frame{
+		box-sizing: border-box;
+	}
+	.left-btn-frame{
+		width: 30%;
+		padding-left: 20rpx;
+		padding-right: 8rpx;
+	}
+	.right-btn-frame{
+		flex: 1;
+		padding-right: 20rpx;
+		padding-left: 8rpx;
+	}
+	.u-button {
+		border: 2px solid #F08202;
+	}
+}
+.forma-item{
+	margin-bottom: 24rpx;
+}
+.material-item-group{
+	background-color: $uni-bg-color;
+	padding-top: 10rpx;
+	.material-list-item{
+		border-bottom: 2rpx solid $uni-border-color;
+		padding-bottom: 10rpx;
+		padding-left: 60rpx;
+		margin-bottom: 10rpx;
+		position: relative;
+		&:last-child{
+			border-bottom: 0;
+		}
+		.item-row{
+			display: flex;
+			&>.label{
+				flex-shrink: 0;
+				color: $u-tips-color;
+				width: 144rpx;
+			}
+			&>.content{
+				flex-grow: 1;
+				color: $u-content-color;
+				uni-input{
+					font: inherit;
+					color: $u-primary;
+					text-decoration: underline;
+				}
+			}
+		}
+		.badge-box{
+			position: absolute;
+			top:8rpx;
+			left: 8rpx;
+			z-index: 1;
+		}
+		.close-btn{
+			$closeBtnSize:70rpx;
+			width: $closeBtnSize;
+			height: $closeBtnSize;
+			z-index: 1;
+			position: absolute;
+			top:0rpx;
+			right: 8rpx;
+			background-color: $u-error;
+			opacity: 0.6;
+			border-radius: 25rpx;
+			.icon-layer{
+				position: absolute;
+				width: 100%;
+				height: 100%;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+				z-index: 2;
+			}
+		}
+	}
+}
+
+
+		
+
+</style>
\ No newline at end of file
diff --git a/yiqi_pda/pages/outBoundWorkPieceInfoCount/modules/barContent.vue b/yiqi_pda/pages/outBoundWorkPieceInfoCount/modules/barContent.vue
new file mode 100644
index 0000000..df568e1
--- /dev/null
+++ b/yiqi_pda/pages/outBoundWorkPieceInfoCount/modules/barContent.vue
@@ -0,0 +1,68 @@
+<template>
+	<view class="content">
+		<!-- 椤堕儴鏍囬 -->
+		<view class="title">{{title}}</view>
+		<view class="detail">
+			<view v-for="item in propArr" :key="item.code" class="item">
+				<view class="item_title">{{item.title}}</view>
+				<view  class="item_content">{{content[item.code]}}</view>
+				
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		props: {
+			title: {type:String,required: true},
+			content: {type: Object,required: true},
+			propArr: {type: Array,required: true}
+		},
+		data() {
+			return {
+				
+			}
+		},
+		methods: {
+			
+		}
+	}
+</script>
+
+<style scoped lang="scss">
+	.content {
+		width: 96%;
+		margin: 18rpx auto;
+		.title {
+			border-left: 6rpx solid #F18202;
+			padding-left: 10rpx;
+			box-sizing: border-box;
+			font-size: 36rpx;
+			margin-bottom: 10rpx;
+		}
+		.detail {
+			box-sizing: border-box;
+			.item {
+				width: 100%;
+				background: #fff;
+				border-radius: 4rpx;
+				display: flex;
+				justify-content: center;
+				align-items: center;
+                padding: 15rpx;
+				font-size: 32rpx;
+				box-sizing: border-box;
+			}
+			
+			.item_title {
+				width: 30%;
+			}
+			.item_content {
+				flex: 1;
+				text-align: right;
+				color: $color-common;
+			}
+		}
+	}
+</style>
\ No newline at end of file
diff --git a/yiqi_pda/pages/outBoundWorkPieceInfoCount/modules/barStatus.vue b/yiqi_pda/pages/outBoundWorkPieceInfoCount/modules/barStatus.vue
new file mode 100644
index 0000000..c19f1d7
--- /dev/null
+++ b/yiqi_pda/pages/outBoundWorkPieceInfoCount/modules/barStatus.vue
@@ -0,0 +1,66 @@
+<template>
+	<view class="content">
+		<!-- 椤堕儴鏍囬 -->
+		<view class="title">{{title}}</view>
+		<view class="detail">
+			<view v-for="(item,index) in typeArr" :key="item.code" class="item" :class="activeIndex == index? 'active' : ''" @click="activeIndex = index">
+				{{item.title}}
+			</view>
+		</view>
+	</view>
+</template>
+<script>
+import props from '../../../uni_modules/uview-ui/libs/config/props'
+	export default {
+		props: {
+			title: {type: String,required: true},
+			typeArr: {type: Array,required: true},
+			status: {type: Number,required: true}
+		},
+		data() {
+			return {
+				activeIndex: 0,
+			}
+		},
+		watch: {
+			activeIndex(val) {
+				this.$emit("update:status", this.typeArr[val].code)
+			}
+		}
+	}
+</script>
+
+<style scoped lang="scss">
+	.content {
+		width: 96%;
+		margin: 18rpx auto;
+		.title {
+			border-left: 6rpx solid #F18202;
+			padding-left: 10rpx;
+			box-sizing: border-box;
+			font-size: 36rpx;
+			margin-bottom: 10rpx;
+		}
+		.detail {
+			box-sizing: border-box;
+			width: 100%;
+			display: flex;
+			justify-content: space-around;
+			box-sizing: border-box;
+			.item {
+				width: 30%;
+				text-align: center;
+				height: 80rpx;
+				line-height: 80rpx;
+				font-size: 40rpx;
+				color: #000;
+				background: #fff;
+				border-radius: 10rpx;
+			}
+			.active {
+				color: #fff;
+				background: #F18202;
+			}
+		}
+	}
+</style>
\ No newline at end of file

--
Gitblit v1.9.3