diff --git a/api/blank/blank.js b/api/blank/blank.js
index 7802089..0f7a17a 100644
--- a/api/blank/blank.js
+++ b/api/blank/blank.js
@@ -1,7 +1,7 @@
import upload from '@/utils/upload'
import request from '@/utils/request'
// 毛坯相关接口 ========
-// PDA-毛坯标签解析
+// PDA-毛坯入库
export function PDABlankWarehousing(data) {
return request({
url: '/mes/wm/WmBlankInventory/PDABlankWarehousing',
@@ -9,7 +9,16 @@ export function PDABlankWarehousing(data) {
data
})
}
-// PDA-毛坯入库
+
+// PDA-毛坯出库
+export function PDABlankOutbound(data) {
+ return request({
+ url: '/mes/wm/WmBlankInventory/PDABlankOutbound',
+ method: 'post',
+ data
+ })
+}
+// PDA-毛坯标签解析
export function PDABlankResolutionPackage(params) {
return request({
url: '/mes/wm/WmBlankInventory/PDABlankResolutionPackage',
@@ -18,3 +27,6 @@ export function PDABlankResolutionPackage(params) {
})
}
+
+
+
diff --git a/pages.json b/pages.json
index 74ebd0f..29f3a0d 100644
--- a/pages.json
+++ b/pages.json
@@ -285,6 +285,13 @@
{
"navigationBarTitleText" : "毛坯入库"
}
+ },
+ {
+ "path" : "pages/blank/blankOutbound/blankOutbound",
+ "style" :
+ {
+ "navigationBarTitleText" : "毛坯出库"
+ }
}
]
diff --git a/pages/blank/blankOutbound/blankOutbound.vue b/pages/blank/blankOutbound/blankOutbound.vue
new file mode 100644
index 0000000..16e844c
--- /dev/null
+++ b/pages/blank/blankOutbound/blankOutbound.vue
@@ -0,0 +1,614 @@
+
+
+
+
+
+
+
+ 已扫货物数:{{ quantityTotal }}
+ 已扫箱数:{{ newMaterialList.length }}
+
+
+
+ 请扫箱码
+
+
+
+
+
+
+
+
+
+
+ 上次批次号:{{ newMaterialList[newMaterialList.length - 2].patchCode }}
+ 上次批次号:
+
+
+
+ 毛坯清单
+
+
+
+
+
+
+
+ 批次号:{{ item.patchCode }}
+ 总成号:{{ item.partNumner }}
+ 描述:{{ item.productionDescribe }}
+
+
+
+ 数量:{{ item.quantity }}
+
+ 生产批次
+ {{ item.productionTime }}
+
+
+
+
+
+
+
+
+
+
+ 全部重置
+ 毛坯出库
+
+
+
+
+
+ 修改数量
+
+ 当前数量:{{ currentItemIndex !== -1 ? newMaterialList[currentItemIndex].quantity : 0 }}
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/blank/blankOutbound/utils.js b/pages/blank/blankOutbound/utils.js
new file mode 100644
index 0000000..9172775
--- /dev/null
+++ b/pages/blank/blankOutbound/utils.js
@@ -0,0 +1,118 @@
+/**
+ * 入库通用工具方法
+ */
+
+/**
+ * 显示操作确认模态框
+ * @param {string} title - 标题
+ * @param {string} content - 内容
+ * @param {boolean} showCancel - 是否显示取消按钮
+ * @returns {Promise} Promise对象
+ */
+export function showOperationConfirm(title, content, showCancel = true) {
+ return new Promise((resolve) => {
+ uni.showModal({
+ title: title || '提示',
+ content: content || '',
+ showCancel: showCancel,
+ cancelText: '取消',
+ confirmText: '确定',
+ success: function(res) {
+ resolve(res);
+ }
+ });
+ });
+}
+
+/**
+ * 检查是否为重复箱
+ * @param {Array} list - 箱子列表
+ * @param {string} patchCode - 批次号
+ * @returns {boolean} 是否重复
+ */
+export function isRepeatPackage(list, patchCode) {
+ if (!list || list.length === 0) return false;
+
+ for (let item of list) {
+ if (item.patchCode === patchCode) {
+ return true;
+ }
+ }
+ return false;
+}
+
+/**
+ * 检查是否更换了批次
+ * @param {Array} list - 箱子列表
+ * @param {string} productionTime - 批次时间
+ * @returns {boolean} 是否更换批次
+ */
+export function isChangeBatch(list, productionTime) {
+ if (!list || list.length === 0) return false;
+
+ const lastItem = list[list.length - 1];
+ return lastItem.productionTime !== productionTime;
+}
+
+/**
+ * 检查是否为重复箱(基于originalCode)
+ * @param {Array} list - 箱子列表
+ * @param {string} originalCode - 原始编码
+ * @returns {boolean} 是否重复
+ */
+export function isRepeatPackageByCode(list, originalCode) {
+ if (!list || list.length === 0) return false;
+
+ for (let item of list) {
+ if (item.originalCode === originalCode) {
+ return true;
+ }
+ }
+ return false;
+}
+
+/**
+ * 清除重复箱
+ * @param {Array} list - 箱子列表
+ * @returns {Array} 清除重复后的列表和重复箱信息
+ */
+export function clearRepeatPackages(list) {
+ let newArray = [];
+ let seen = new Map();
+ let repeatPackage = [];
+
+ list.forEach((item) => {
+ if (!seen.has(item.originalCode)) {
+ seen.set(item.originalCode, true);
+ newArray.push(item);
+ } else {
+ repeatPackage.push(item.patchCode);
+ }
+ });
+
+ return {
+ clearedList: newArray,
+ repeatPackages: repeatPackage
+ };
+}
+
+/**
+ * 防抖函数
+ * @param {Function} func - 要防抖的函数
+ * @param {number} delay - 延迟时间(ms)
+ * @returns {Function} 防抖后的函数
+ */
+export function debounce(func, delay) {
+ let timeoutId;
+ return function (...args) {
+ // 清除之前的定时器
+ if (timeoutId) {
+ clearTimeout(timeoutId);
+ }
+
+ // 设置新的定时器
+ timeoutId = setTimeout(() => {
+ func.apply(this, args);
+ }, delay);
+ };
+}
\ No newline at end of file
diff --git a/pages/index/index.vue b/pages/index/index.vue
index ae52a3f..55c9a88 100644
--- a/pages/index/index.vue
+++ b/pages/index/index.vue
@@ -91,6 +91,13 @@ export default {
type: 2,
index: 6
},
+ {
+ name: '毛坯出库',
+ icon: 'outbound/shipping',
+ url: '/pages/blank/blankOutbound/blankOutbound',
+ type: 2,
+ index: 17
+ },
{
name: '退货到\n成品库',
icon: 'outbound/return',