From 60530101d70fd5887ae1152962882919fceab502 Mon Sep 17 00:00:00 2001
From: 张诺 <zhang_12370@163.com>
Date: 星期四, 16 四月 2026 16:44:47 +0800
Subject: [PATCH] feat(库存管理): 重构库存分类并新增原材料库存页面
---
src/pages/productionManagement/productionReport/index.vue | 91 +++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 91 insertions(+), 0 deletions(-)
diff --git a/src/pages/productionManagement/productionReport/index.vue b/src/pages/productionManagement/productionReport/index.vue
index ab3baf4..8d1e0e9 100644
--- a/src/pages/productionManagement/productionReport/index.vue
+++ b/src/pages/productionManagement/productionReport/index.vue
@@ -11,6 +11,31 @@
error-message-align="right">
<!-- 鍩烘湰淇℃伅 -->
<view class="form-section">
+ <u-form-item label="鏈哄彴"
+ prop="deviceName"
+ required>
+ <u-input v-model="form.deviceName"
+ disabled
+ placeholder="璇疯緭鍏ユ満鍙�" />
+ </u-form-item>
+ <u-form-item label="璁″垝寮�濮嬫椂闂�"
+ prop="planStartTime"
+ required>
+ <u-input v-model="form.planStartTime"
+ placeholder="璇烽�夋嫨璁″垝寮�濮嬫椂闂�"
+ readonly
+ @click="showStartTimePicker = true"
+ suffix-icon="calendar" />
+ </u-form-item>
+ <u-form-item label="璁″垝缁撴潫鏃堕棿"
+ prop="planEndTime"
+ required>
+ <u-input v-model="form.planEndTime"
+ placeholder="璇烽�夋嫨璁″垝缁撴潫鏃堕棿"
+ readonly
+ @click="showEndTimePicker = true"
+ suffix-icon="calendar" />
+ </u-form-item>
<u-form-item label="寰呯敓浜ф暟閲�"
prop="planQuantity"
required>
@@ -57,6 +82,20 @@
title="閫夋嫨鐢熶骇浜�"
@select="onProducerConfirm"
@close="showProducerPicker = false" />
+
+ <!-- 寮�濮嬫椂闂撮�夋嫨鍣� -->
+ <up-datetime-picker :show="showStartTimePicker"
+ v-model="startTimeValue"
+ mode="datetime"
+ @confirm="onStartTimeConfirm"
+ @cancel="showStartTimePicker = false" />
+
+ <!-- 缁撴潫鏃堕棿閫夋嫨鍣� -->
+ <up-datetime-picker :show="showEndTimePicker"
+ v-model="endTimeValue"
+ mode="datetime"
+ @confirm="onEndTimeConfirm"
+ @cancel="showEndTimePicker = false" />
</view>
</template>
@@ -80,6 +119,9 @@
// 琛ㄥ崟鏁版嵁
const form = ref({
+ deviceName: "",
+ planStartTime: "",
+ planEndTime: "",
planQuantity: "",
quantity: "",
scrapQty: "",
@@ -97,6 +139,12 @@
// 鐢熶骇浜洪�夋嫨鍣ㄧ姸鎬�
const showProducerPicker = ref(false);
+ // 鏃堕棿閫夋嫨鍣ㄧ姸鎬�
+ const showStartTimePicker = ref(false);
+ const showEndTimePicker = ref(false);
+ const startTimeValue = ref(Number(new Date()));
+ const endTimeValue = ref(Number(new Date()));
+
const producerList = ref([]);
const currentField = ref(""); // 褰撳墠閫夋嫨鐨勫瓧娈�
@@ -131,6 +179,30 @@
showProducerPicker.value = false;
};
+ // 鏍煎紡鍖栨棩鏈�
+ const formatDateTime = (timestamp) => {
+ const date = new Date(timestamp);
+ const y = date.getFullYear();
+ const m = (date.getMonth() + 1).toString().padStart(2, '0');
+ const d = date.getDate().toString().padStart(2, '0');
+ const h = date.getHours().toString().padStart(2, '0');
+ const min = date.getMinutes().toString().padStart(2, '0');
+ const s = date.getSeconds().toString().padStart(2, '0');
+ return `${y}-${m}-${d} ${h}:${min}:${s}`;
+ };
+
+ // 寮�濮嬫椂闂寸‘璁�
+ const onStartTimeConfirm = (e) => {
+ form.value.planStartTime = formatDateTime(e.value);
+ showStartTimePicker.value = false;
+ };
+
+ // 缁撴潫鏃堕棿纭
+ const onEndTimeConfirm = (e) => {
+ form.value.planEndTime = formatDateTime(e.value);
+ showEndTimePicker.value = false;
+ };
+
// 鎻愪氦鐘舵��
const submitting = ref(false);
@@ -142,6 +214,21 @@
const submitForm = async () => {
submitting.value = true;
// 鏍¢獙琛ㄥ崟
+ if (!form.value.deviceName) {
+ submitting.value = false;
+ showToast("璇疯緭鍏ユ満鍙�");
+ return;
+ }
+ if (!form.value.planStartTime) {
+ submitting.value = false;
+ showToast("璇烽�夋嫨璁″垝寮�濮嬫椂闂�");
+ return;
+ }
+ if (!form.value.planEndTime) {
+ submitting.value = false;
+ showToast("璇烽�夋嫨璁″垝缁撴潫鏃堕棿");
+ return;
+ }
if (!form.value.quantity) {
submitting.value = false;
showToast("璇疯緭鍏ユ湰娆$敓浜ф暟閲�");
@@ -202,10 +289,14 @@
onLoad(options => {
try {
const orderRow = JSON.parse(options.orderRow);
+ console.log(orderRow, "orderRow");
// 纭繚 planQuantity 杞崲涓哄瓧绗︿覆锛屼互渚垮湪 u-input 涓纭樉绀�
form.value.planQuantity = orderRow.planQuantity != null ? String(orderRow.planQuantity) : "";
form.value.productProcessRouteItemId = orderRow.productProcessRouteItemId || "";
form.value.workOrderId = orderRow.id || "";
+ form.value.deviceName = orderRow.deviceName || "";
+ form.value.planStartTime = orderRow.planStartTime || "";
+ form.value.planEndTime = orderRow.planEndTime || "";
getInfo().then(res => {
// 榛樿浣跨敤褰撳墠鐧诲綍鐢ㄦ埛锛屼絾鍏佽鐢ㄦ埛淇敼
form.value.userId.value = res.user.userId;
--
Gitblit v1.9.3