From 994286f8ed64c03f591c7cccc80f726054e3cc62 Mon Sep 17 00:00:00 2001
From: chenhaozhe <cgz@hz-kingdee.com>
Date: 星期五, 22 八月 2025 09:50:50 +0800
Subject: [PATCH] 工序出站汇报单 添加 合格数量/不良数量/报废数量判空验证 工序出站汇报单 添加 计时条件下 工时 判空和判0验证 新增 实时库存查询 页面

---
 manifest.json                    |    4 
 pages/jishikucunchaxun/table.vue |  362 +++++++++++++++++++++++++++++++++++++++++++++++++++
 pages.json                       |    8 +
 pages/index/tab2.vue             |    7 +
 pages/gongxuOut/form.vue         |   34 ++++
 5 files changed, 413 insertions(+), 2 deletions(-)

diff --git a/manifest.json b/manifest.json
index 02137ba..559fc1d 100644
--- a/manifest.json
+++ b/manifest.json
@@ -2,8 +2,8 @@
     "name" : "鏅轰簯LMES",
     "appid" : "__UNI__B002F49",
     "description" : "",
-    "versionName" : "1.0.60",
-    "versionCode" : 160,
+    "versionName" : "1.0.61",
+    "versionCode" : 161,
     "transformPx" : false,
     /* 5+App鐗规湁鐩稿叧 */
     "app-plus" : {
diff --git a/pages.json b/pages.json
index e066b2b..0e06eac 100644
--- a/pages.json
+++ b/pages.json
@@ -732,6 +732,14 @@
 			{
 				"navigationBarTitleText" : "淇敼瀵嗙爜"
 			}
+		},
+		{
+			"path" : "pages/jishikucunchaxun/table",
+			"style" : 
+			{
+				"navigationBarTitleText" : "ERP鍙婃椂搴撳瓨鏌ヨ"
+				// "enablePullDownRefresh": true
+			}
 		}
 	],
 	"tabBar": {
diff --git a/pages/gongxuOut/form.vue b/pages/gongxuOut/form.vue
index 6aabb3e..8d76864 100644
--- a/pages/gongxuOut/form.vue
+++ b/pages/gongxuOut/form.vue
@@ -500,6 +500,7 @@
     import {
         getUserInfo
     } from "@/utils/auth.js";
+import { CommonUtils } from '../../utils/common';
     export default {
         data() {
             return {
@@ -1295,8 +1296,31 @@
                     },
                 });
             },
+			preEditOrAddCheck() {
+				if(CommonUtils.isEmpty(this.hform.HQty) == true){
+					return {pass: false, message: '鎻愪氦澶辫触: 鍚堟牸鏁伴噺涓虹┖'}
+				}
+				if(CommonUtils.isEmpty(this.hform.HBadCount) == true){
+					return {pass: false, message: '鎻愪氦澶辫触: 涓嶈壇鏁伴噺涓虹┖'}
+				}
+				if(CommonUtils.isEmpty(this.hform.HQty) == true){
+					return {pass: false, message: '鎻愪氦澶辫触: 鎶ュ簾鏁伴噺涓虹┖'}
+				}
+				if(this.hform.HIsTimeFlag == 1 && CommonUtils.isEmpty(this.hform.HWorkTimes, true, true)) {
+					return {pass: false, message: '鎻愪氦澶辫触: 寮�鍚鏃讹紝浣嗗伐鏃朵负0鎴栫┖'}
+				}
+				return {pass: true, message: ''}
+			},
             //缂栬緫
             ifEdit() {
+				let {pass, message} = this.preEditOrAddCheck()
+				if(pass == false) {
+					return uni.showToast({
+						icon: 'none',
+						title: message
+					})
+				}
+				
                 //鏄惁缂栬緫
                 uni.request({
                     url: this.serverUrl + '/Cj_StationOutBill/set_ShowBillJudge',
@@ -1614,6 +1638,7 @@
 			},
 			//鏂板
             getNewData() {
+				
                 uni.request({
                     url: this.serverUrl + '/Web/GetMAXNum',
                     data: {
@@ -1670,6 +1695,15 @@
                         icon: 'none'
                     })
                 } else {
+					
+					let {pass, message} = this.preEditOrAddCheck()
+					if(pass == false) {
+						return uni.showToast({
+							icon: 'none',
+							title: message
+						})
+					}
+					
                     uni.showLoading({
                         title: '璇风◢鍊�'
                     })
diff --git a/pages/index/tab2.vue b/pages/index/tab2.vue
index 5df57cf..99713d6 100644
--- a/pages/index/tab2.vue
+++ b/pages/index/tab2.vue
@@ -195,6 +195,13 @@
 					id: 26,
 					hidden: false,
 				},
+				{
+					img: '../../static/icon/icon18.png',
+					text: 'ERP鍙婃椂搴撳瓨鏌ヨ',
+					url: '/pages/jishikucunchaxun/table',
+					id: 27,
+					hidden: false,
+				},
 				// , {
 				// 	img: '../../static/icon/icon1.png',
 				// 	text: '璁惧妗f鏌ヨ',
diff --git a/pages/jishikucunchaxun/table.vue b/pages/jishikucunchaxun/table.vue
new file mode 100644
index 0000000..fc27cca
--- /dev/null
+++ b/pages/jishikucunchaxun/table.vue
@@ -0,0 +1,362 @@
+<template>
+	<view class="page" id="pageContent">
+		<view class="search-condition-zone">
+			<view class="form-item">
+				<view class="left">
+					鏉$爜:
+				</view>
+				<view class="right general">
+					<input type="text" v-model="hform.HBarCode" />
+				</view>
+			</view>
+			<view class="form-item">
+				<view class="left">
+					浠撳簱:
+				</view>
+				<view class="right general">
+					<uni-combox :candidates="arrayHWHName" placeholder="璇疯緭鍏�(鎴栨壂鎻�)浠撳簱" v-model="hform.HWHName"
+						@input="onArrayHWHNameChangeHandler"></uni-combox>
+				</view>
+			</view>
+			<view class="form-item">
+				<view class="left">
+					浠撲綅:
+				</view>
+				<view class="right general" v-show="HIsStockMgr">
+					<uni-combox :candidates="arrayHStockPlaceName" placeholder="璇疯緭鍏�(鎴栨壂鎻�)浠撲綅"
+						v-model="hform.HStockPlaceName" @input="onArrayHStockPlaceNameChangeHandler"></uni-combox>
+				</view>
+				<view class="right disabled" v-show="!HIsStockMgr">
+					<input v-model="hform.HStockPlaceName" :disabled="!HIsStockMgr" placeholder="涓嶅彲鎿嶄綔" />
+				</view>
+			</view>
+		</view>
+		<view class="button-zone">
+			<button type="default" class="btn-a" size="mini" @tap="cmdSearch">鏌ヨ</button>
+			<button type="default" class="btn-c" size="mini" @tap="exit">閫�鍑�</button>
+		</view>
+		<view class="info-list-zone">
+			<view class="card-item" v-for="(item, index) in listDataShow">
+				<uni-card :title="item['鐗╂枡浠g爜']" :extra="'鏁伴噺: ' + item['鏁伴噺']" note="Tips">
+					<view class="card-detail">
+						<view class="detail" v-if="item['浠撳簱']">
+							<text>浠撳簱锛�</text>{{item['浠撳簱']}}
+						</view>
+						<view class="detail" v-if="item['浠撲綅']">
+							<text>浠撲綅锛�</text>{{item['浠撲綅']}}
+						</view>
+						<view class="detail" v-if="item['鐗╂枡鍚嶇О']">
+							<text>鐗╂枡鍚嶇О锛�</text>{{item['鐗╂枡鍚嶇О']}}
+						</view>
+						<view class="detail" v-if="item['瑙勬牸鍨嬪彿']">
+							<text>瑙勬牸鍨嬪彿锛�</text>{{item['瑙勬牸鍨嬪彿']}}
+						</view>
+						<view class="detail" v-if="item['鎵规']">
+							<text>鎵规锛�</text>{{item['鎵规']}}
+						</view>
+						<view class="detail" v-if="item['杈呭姪灞炴��']">
+							<text>杈呭姪灞炴�э細</text>{{item['杈呭姪灞炴��']}}
+						</view>
+						<view class="detail" v-if="item['鐢熶骇鏃ユ湡']">
+							<text>鐢熶骇鏃ユ湡锛�</text>{{item['鐢熶骇鏃ユ湡']}}
+						</view>
+						<view class="detail" v-if="item['鏈夋晥鏈熻嚦']">
+							<text>鏈夋晥鏈熻嚦锛�</text>{{item['鏈夋晥鏈熻嚦']}}
+						</view>
+						<view class="detail" v-if="item['缁勭粐']">
+							<text>缁勭粐锛�</text>{{item['缁勭粐']}}
+						</view>
+					</view>
+				</uni-card>
+			</view>
+		</view>
+		<view class="pagination-zone">
+			<uni-pagination show-icon :page-size="paginationMeta.pageSize" :total="paginationMeta.total" :current="paginationMeta.current"
+				@change="onPaginationChangeHandler"></uni-pagination>
+		</view>
+	</view>
+</template>
+
+<script>
+	import {
+		CommonUtils
+	} from '../../utils/common'
+	import {
+		getUserInfo
+	} from '../../utils/auth'
+	export default {
+		data() {
+			return {
+				navHeight: 0,
+				HWHNameList: [],
+				arrayHWHName: [],
+				HStockPlaceNameList: [],
+				arrayHStockPlaceName: [],
+				HIsStockMgr: false,
+				scrollTop: 0,
+				
+				hform: {
+					HBarCode: '',
+					HWHName: '',
+					HWHID: 0,
+					HStockPlaceName: '',
+					HStockPlaceID: 0,
+				},
+
+				paginationMeta: {
+					current: 1,
+					total: 0,
+					pageSize: 30,
+				},
+
+				listData: [],
+				listDataShow: [],
+			}
+		},
+		methods: {
+			exit() {
+				uni.navigateBack()
+			},
+			onArrayHWHNameChangeHandler(e) {
+				let index = this.HWHNameList.findIndex(p => p.HName == e)
+				if (index != -1) {
+					this.hform.HWHID = this.HWHNameList[index].HItemID
+					this.HIsStockMgr = this.HWHNameList[index].HIsStockMgr
+				}
+			},
+			getWHInfo() {
+				CommonUtils.doRequest(
+					"/Web/GetWarehouseList_Json_New", {
+						Warehouse: "",
+						HOrgID: uni.getStorageSync('OrganizationID')
+					},
+					(res) => {
+						let res1 = res.data
+						let {
+							data,
+							count
+						} = res1
+						if (count == 1) {
+							this.HWHNameList = data
+							for (var i = 0; i < data.length; i++) {
+								this.arrayHWHName[i] = data[i]["HName"]
+							}
+						} else {
+							uni.showToast({
+								title: '浠撳簱鏁版嵁璇锋眰澶辫触',
+								icon: 'none'
+							})
+						}
+					},
+				)
+			},
+			onArrayHStockPlaceNameChangeHandler() {
+				let index = this.HStockPlaceNameList.findIndex(p => p.HName == e)
+				if (index != -1) {
+					this.hform.HStockPlaceID = this.HStockPlaceNameList[index].HItemID
+				}
+			},
+			getStockPlaceInfo() {
+				CommonUtils.doRequest(
+					"/WEBSController/GetStockPlaceList_Json", {
+						StockPlace: '',
+						HWhID: this.hform.HWHID,
+						HStockOrgID: uni.getStorageSync('OrganizationID')
+					},
+					(res) => {
+						let res1 = res.data
+						console.log(res1)
+						let {
+							data,
+							count
+						} = res1
+						if (count == 1) {
+							this.HStockPlaceNameList = data
+							for (var i = 0; i < data.length; i++) {
+								this.arrayHStockPlaceName[i] = data[i]["HWhName"]
+							}
+						} else {
+							uni.showToast({
+								title: '浠撲綅鏁版嵁璇锋眰澶辫触',
+								icon: 'none'
+							})
+						}
+					},
+				)
+			},
+			cmdSearch() {
+				if (this.hform.HWHName == '') {
+					this.hform.HWHID = 0
+				}
+
+				if (this.hform.HStockPlaceName == '') {
+					this.hform.HStockPlaceID = 0
+				}
+
+				CommonUtils.doRequest2({
+					url: '/KF_ICInventoryByMaterID/GetBillEntry_TmpList_Pack1',
+					data: {
+						"HBarCode": this.hform.HBarCode,
+						"sHWHID": this.hform.HWHID,
+						"sHSPID": this.hform.HStockPlaceID,
+						"HOWNERID": uni.getStorageSync('OrganizationID'),
+						"sWhere": ''
+					},
+					resFunction: (res) => {
+						let {
+							data,
+							count,
+							Message
+						} = res.data
+						if (count > 0) {
+							this.listData = data
+							this.paginationMeta.total = data.length
+							this.onPaginationChangeHandler({
+								current: 1
+							})
+						} else {
+							uni.showToast({
+								icon: 'none',
+								title: Message
+							})
+						}
+					}
+				})
+			},
+			async onPaginationChangeHandler({
+				current
+			}) {
+				this.listDataShow =
+					this.listData.slice((current - 1) * this.paginationMeta.pageSize,
+						current * this.paginationMeta.pageSize)
+				
+			}
+		},
+		onLoad() {
+			this.getWHInfo()
+			this.getStockPlaceInfo()
+
+			this.$nextTick(() => {
+				this.cmdSearch()
+			})
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.page {
+		height: calc(100vh - 44px);
+		box-sizing: border-box;
+		padding: 20rpx 10rpx;
+		display: flex;
+		flex-direction: column;
+		gap: 10rpx;
+		position: relative;
+
+		.button-zone {
+			height: auto;
+			box-sizing: border-box;
+			padding-top: 20rpx;
+			display: flex;
+			flex-direction: row;
+			justify-content: space-between;
+			flex-wrap: wrap;
+
+			button {
+				border-radius: 50rpx;
+				width: 180rpx;
+				height: 66rpx;
+				line-height: 66rpx;
+				font-size: 28rpx;
+			}
+
+			.btn-a {
+				background-color: #3a78ff;
+				color: #fff;
+			}
+
+			.btn-c {
+				background-color: #ff5722;
+				color: #fff;
+			}
+		}
+
+		.search-condition-zone {
+			height: auto;
+			box-sizing: border-box;
+			padding: 0 60rpx;
+			display: flex;
+			flex-direction: column;
+			gap: 20rpx;
+
+			.form-item {
+				display: flex;
+				flex-direction: row;
+				gap: 20rpx;
+				align-items: center;
+
+				.left {
+					width: 4rem;
+				}
+
+				.right {
+					flex: 1;
+					padding: 8rpx 16rpx;
+
+					.search {
+						width: 32rpx;
+						height: 32rpx;
+					}
+				}
+
+				.general {
+					border-radius: 22rpx;
+					border: 1px solid #acacac;
+				}
+
+				.disabled {
+					border-radius: 22rpx;
+					border: 1px solid #e4e4e4;
+					background-color: #e4e4e4;
+				}
+
+				.uni-combox {
+					box-sizing: border-box;
+					padding: 0;
+				}
+			}
+		}
+
+		.info-list-zone {
+			flex: 1;
+			overflow-y: auto;
+
+			.card-item {
+				.card-detail {
+					width: 100%;
+					display: flex;
+					flex-wrap: wrap;
+					justify-content: space-between;
+					line-height: 120%;
+
+					.detail {
+						// width: 50%;
+						font-size: 26rpx;
+						margin-bottom: 12rpx;
+						color: #555;
+						margin-right: 20rpx;
+
+						text {
+							color: #999;
+							font-size: 26rpx;
+						}
+					}
+				}
+			}
+		}
+
+		.pagination-zone {
+			height: 80rpx;
+		}
+	}
+</style>
\ No newline at end of file

--
Gitblit v1.9.1