diff --git a/RuoYi-App-master/App.vue b/RuoYi-App-master/App.vue
index 656874c..ed38100 100644
--- a/RuoYi-App-master/App.vue
+++ b/RuoYi-App-master/App.vue
@@ -4,16 +4,13 @@
import { getToken } from '@/utils/auth'
export default {
- globalData: {
- config: {}
- },
onLaunch: function() {
this.initApp()
},
- onShow: function() {
- // 检查应用状态,确保从后台恢复时状态一致
- this.checkAppState()
- },
+ // onShow: function() {
+ // // 检查应用状态,确保从后台恢复时状态一致
+ // this.checkAppState()
+ // },
methods: {
// 初始化应用
initApp() {
@@ -29,43 +26,39 @@
},
checkLogin() {
if (!getToken()) {
+ console.log('checkLogin 检查登录状态,token不存在')
+
this.$tab.reLaunch('/pages/login')
}
- },
- checkAppState() {
- // 检查Token状态和页面导航栈状态
- console.log('应用从后台切换到前台,检查应用状态')
-
- // 获取当前页面路径,判断是否在登录页
- const pages = getCurrentPages()
- const currentPage = pages[pages.length - 1]
- const currentPagePath = currentPage ? currentPage.route : ''
-
- // 如果当前页面是登录页,则不检查token
- if (currentPagePath === 'pages/login') {
- console.log('当前已在登录页面,不进行token检查')
- return
- }
-
- // 检查Token状态
- if (!getToken()) {
- console.log('Token不存在,提示并跳转到登录页')
- uni.showToast({
- icon: 'none',
- title: '登录已过期,请重新登录'
- })
- setTimeout(() => {
- uni.reLaunch({ url: '/pages/login' })
- }, 1500)
- } else {
- console.log('Token存在,不做操作')
- }
-
-
}
-
+ // checkAppState() {
+ // // 检查Token状态和页面导航栈状态
+ // console.log('应用从后台切换到前台,检查应用状态')
+ // // 检查Token状态
+ // if (!getToken()) {
+ // console.log('Token不存在,跳转到登录页')
+ // this.$tab.reLaunch('/pages/login')
+ // return
+ // }
+ // // 检查页面导航栈状态
+ // const pages = getCurrentPages()
+ // if (pages.length === 0) {
+ // console.log('页面导航栈为空,跳转到首页')
+ // this.$tab.reLaunch('/pages/index')
+ // return
+ // }
+ // // 检查当前页面是否为登录页
+ // const currentPage = pages[pages.length - 1].route
+ // if (currentPage === 'pages/login') {
+ // // 如果当前页面是登录页,不做任何操作
+ // console.log('当前页面是登录页,不需要跳转')
+ // }
+
+
+ // }
}
}
+
+
+ .uni-select__input-box:hover {
+ border-color: #c0c4cc;
+ }
+}
+
\ No newline at end of file
diff --git a/RuoYi-App-master/pages/in/bindPro.vue b/RuoYi-App-master/pages/in/bindPro.vue
index c938136..cf3ccee 100644
--- a/RuoYi-App-master/pages/in/bindPro.vue
+++ b/RuoYi-App-master/pages/in/bindPro.vue
@@ -168,7 +168,7 @@
})
}
- // try {
+ try {
const response = await bindTray(this.formData)
console.log(response)
@@ -193,13 +193,13 @@
icon: 'none'
})
}
- // } catch (error) {
- // // console.error('绑定托盘失败:', error)
- // uni.showToast({
- // title: '绑定托盘失败',
- // icon: 'none'
- // })
- // }
+ } catch (error) {
+ console.error('绑定托盘失败:', error)
+ uni.showToast({
+ title: '网络错误,请稍后重试',
+ icon: 'none'
+ })
+ }
}
}
}
diff --git a/RuoYi-App-master/pages/in/inorder.vue b/RuoYi-App-master/pages/in/inorder.vue
index 54b69db..cab3b3b 100644
--- a/RuoYi-App-master/pages/in/inorder.vue
+++ b/RuoYi-App-master/pages/in/inorder.vue
@@ -3,7 +3,7 @@
+
+ 创建时间:
+ {{ order.createDate }}
+
+
+ 供应商
+ {{ order.supplierName }}
+
- {{ $t('inbound.inorder.goodsInfo') }}
+ 物品信息
+
+
+
+
+
{{ goods.productId }}
{{ goods.extraField.materialDesc }}
@@ -60,8 +60,8 @@
+ 入库
+
@@ -70,7 +70,7 @@
- {{ $t('inbound.inorder.noOrderInfo') }}
+ 暂无入库单信息
@@ -118,7 +118,7 @@ export default {
} catch (error) {
console.error('获取入库单列表失败:', error)
uni.showToast({
- title: this.$t('inbound.inorder.getOrderListFailed'),
+ title: '获取入库单列表失败',
icon: 'none'
})
}
@@ -139,7 +139,7 @@ export default {
} catch (error) {
console.error('获取物品信息失败:', error)
uni.showToast({
- title: this.$t('inbound.inorder.getItemInfoFailed'),
+ title: '获取物品信息失败',
icon: 'none'
})
}
@@ -187,7 +187,7 @@ export default {
if (Number(goods.inQuantity) > maxQuantity) {
goods.inQuantity = maxQuantity;
uni.showToast({
- title: this.$t('inbound.inorder.exceedInboundQuantity'),
+ title: '超出可入库数量',
icon: 'none'
});
}
@@ -197,7 +197,7 @@ export default {
async handleInStock(goods) {
if (!this.isValidQuantity(goods)) {
uni.showToast({
- title: this.$t('inbound.inorder.enterValidQuantity'),
+ title: '请输入有效的入库数量',
icon: 'none'
})
return
@@ -210,7 +210,7 @@ export default {
})
uni.showToast({
- title: this.$t('inbound.inorder.inboundSuccess'),
+ title: '入库成功',
icon: 'success'
})
@@ -219,7 +219,7 @@ export default {
} catch (error) {
console.error('入库操作失败:', error)
uni.showToast({
- title: this.$t('inbound.inorder.inboundFailed'),
+ title: '入库失败',
icon: 'none'
})
}
diff --git a/RuoYi-App-master/pages/in/ktpin.vue b/RuoYi-App-master/pages/in/ktpin.vue
index 11a5251..5d23a11 100644
--- a/RuoYi-App-master/pages/in/ktpin.vue
+++ b/RuoYi-App-master/pages/in/ktpin.vue
@@ -1,10 +1,10 @@
- {{ $t('inbound.emptyPalletBox.emptyPallet.trayCode') }}
+ 托盘条码:
-
- {{ $t('inbound.emptyPalletBox.emptyPallet.warehouse') }}
+
-
+
@@ -57,16 +42,11 @@ import { getBasWarehouList,getCargoSpaceList } from '@/api/bas/bas.js'
return {
formData: {
trayCode: '',
- warehouseId: '',
- cargoSpaceId: '',
- cargoSpaceName:'',
-
+ warehouseId: ''
+
},
- warehouseList: [],
- cargoSpaceId: '',
- cargoSpaceList: [],
- currentWarehouseType: null,
- cargoSpaceHeight:''
+ warehouseList: []
+
}
},
onReady() {
@@ -77,7 +57,7 @@ import { getBasWarehouList,getCargoSpaceList } from '@/api/bas/bas.js'
}, 100)
// 获取仓库列表
- this.getWarehouseList()
+ // this.getWarehouseList()
},
methods: {
// 获取仓库列表
@@ -85,20 +65,20 @@ import { getBasWarehouList,getCargoSpaceList } from '@/api/bas/bas.js'
try {
const response = await getBasWarehouList({
pageNum:1,
- pageSize:100,
- typeData:['1','2']
+ pageSize:100
+
})
if (response.code === 200) {
this.warehouseList = response.rows.map(item => ({
value: item.warehouseId,
- text: item.warehouseName,
- type: item.warehouseType
+ text: item.warehouseName
+ // type: item.warehouseType
}))
}
} catch (error) {
console.error('获取仓库列表失败:', error)
uni.showToast({
- title: this.$t('inbound.emptyPalletBox.emptyPallet.getWarehouseListFailed'),
+ title: '获取仓库列表失败',
icon: 'none'
})
}
@@ -119,103 +99,34 @@ import { getBasWarehouList,getCargoSpaceList } from '@/api/bas/bas.js'
})
},
- handleWarehouseChange(warehouseId) {
- if (!warehouseId) return
- const selectedWarehouse = this.warehouseList.find(item => item.value === warehouseId)
- this.currentWarehouseType = selectedWarehouse ? selectedWarehouse.type : null
-
- },
- // 处理货位选择
- async handleRecommendCargoSpace() {
- // try {
- const response = await getCargoSpaceList({ warehouseId: this.formData.warehouseId, status: 1 })
- if (response.code === 200 && response.rows.length > 0) {
- // 获取第一个推荐货位
- this.formData.cargoSpaceId = response.rows[0].cargoSpaceId
- this.formData.cargoSpaceName = response.rows[0].cargoSpaceName
- // 手动触发handleCargoSpaceInput方法获取货位高度信息
- await this.handleCargoSpaceInput(response.rows[0].cargoSpaceName)
- } else {
- uni.showToast({
- title: this.$t('inbound.emptyPalletBox.emptyPallet.noAvailableCargoSpace'),
- icon: 'none'
- })
- }
- // } catch (error) {
- // uni.showToast({
- // title: '获取推荐货位失败',
- // icon: 'none'
- // })
- // }
- },
- // 处理货位选择
- async handleCargoSpaceInput(value) {
- if (value) {
- try {
- const response = await getCargoSpaceList({ cargoSpaceName: value, warehouseId: this.formData.warehouseId })
- if (response.code === 200 && response.rows.length > 0) {
- this.formData.cargoSpaceId = response.rows[0].cargoSpaceId
- this.cargoSpaceHeight = response.rows[0].cargoHight
- console.log(this.formData.cargoSpaceId)
- } else {
- uni.showToast({
- title: this.$t('inbound.emptyPalletBox.emptyPallet.getCargoSpaceInfoFailed'),
- icon: 'none'
- })
- this.formData.cargoSpaceId = ''
- this.cargoSpaceHeight = null
- }
- } catch (error) {
- uni.showToast({
- title: this.$t('inbound.emptyPalletBox.emptyPallet.getCargoSpaceInfoFailed'),
- icon: 'none'
- })
- this.formData.cargoSpaceId = ''
- this.cargoSpaceHeight = null
- }
- } else {
- this.formData.cargoSpaceId = ''
- this.cargoSpaceHeight = null
- }
- },
async handleSubmit() {
if (!this.formData.trayCode) {
uni.showToast({
- title: this.$t('inbound.emptyPalletBox.emptyPallet.enterTrayCode'),
- icon: 'none'
- })
- return
- }
- if (!this.formData.warehouseId) {
- uni.showToast({
- title: this.$t('inbound.emptyPalletBox.emptyPallet.selectWarehouse'),
- icon: 'none'
- })
- return
- }
- if (this.currentWarehouseType === '1' && (!this.formData.cargoSpaceId || this.formData.cargoSpaceId === null)) {
- uni.showToast({
- title: this.$t('inbound.emptyPalletBox.emptyPallet.selectCargoSpace'),
+ title: '请输入托盘条码',
icon: 'none'
})
return
}
+ // if (!this.formData.warehouseId) {
+ // uni.showToast({
+ // title: '请选择仓库',
+ // icon: 'none'
+ // })
+ // return
+ // }
await emptyTrayIn(this.formData).then(response => {
if (response.code === 200) {
uni.showToast({
- title: this.$t('inbound.emptyPalletBox.emptyPallet.inboundSuccess'),
+ title: '空托盘入库成功',
icon: 'success'
})
// 清空表单
this.formData = {
trayCode: '',
- warehouseId: '',
- cargoSpaceId: '',
- cargoSpaceName: ''
+ warehouseId: ''
+
}
- this.cargoSpaceHeight=''
- this.currentWarehouseType=null
// 重新聚焦到托盘条码输入框
setTimeout(() => {
this.$nextTick(() => {
@@ -224,14 +135,14 @@ import { getBasWarehouList,getCargoSpaceList } from '@/api/bas/bas.js'
}, 100)
} else {
uni.showToast({
- title: response.msg || this.$t('inbound.emptyPalletBox.emptyPallet.inboundOperationFailed'),
+ title: response.msg || '入库操作失败',
icon: 'none'
})
}
}).catch(error => {
console.error('入库失败:', error)
uni.showToast({
- title: this.$t('inbound.emptyPalletBox.emptyPallet.inboundFailed'),
+ title: '入库失败',
icon: 'none'
})
})
diff --git a/RuoYi-App-master/pages/in/menu.vue b/RuoYi-App-master/pages/in/menu.vue
index 72677f0..7aacb37 100644
--- a/RuoYi-App-master/pages/in/menu.vue
+++ b/RuoYi-App-master/pages/in/menu.vue
@@ -1,15 +1,15 @@
-
+
-
+
+
- {{ $t('inbound.inorder.title') }}
- {{ $t('inbound.inorder.desc') }}
+ 平库入库
+ 平库收货入库
-
+
- {{ $t('inbound.bindMsg.title') }}
- {{ $t('inbound.bindMsg.desc') }}
+ 物资入库
+ 托盘绑定物资
-
+
diff --git a/RuoYi-App-master/pages/in/qualityCheck.vue b/RuoYi-App-master/pages/in/qualityCheck.vue
index 6bf6c7e..f87f630 100644
--- a/RuoYi-App-master/pages/in/qualityCheck.vue
+++ b/RuoYi-App-master/pages/in/qualityCheck.vue
@@ -5,30 +5,30 @@
- {{ $t('inbound.qualityCheck.orderNumber') }}
+ 单据编号:
{{ item.stockinId }}
- {{ $t('inbound.qualityCheck.supplier') }}
+ 供应商:
{{ item.supplierName }}
- {{ $t('inbound.qualityCheck.warehouse') }}
+ 仓库
{{ item.warehouseName }}
- {{ $t('inbound.qualityCheck.createTime') }}
+ 创建时间:
{{ item.createDate }}
- {{ item.isExpanded ? $t('inbound.qualityCheck.collapse') : $t('inbound.qualityCheck.expand') }}
+ {{ item.isExpanded ? '收起' : '展开' }}
@@ -36,7 +36,7 @@
{{ material.extraField.materialDesc }}
- {{ $t('inbound.qualityCheck.quantity') }}
+ 数量:
- {{ material.stockStatus == '1' ? $t('inbound.qualityCheck.checked') : $t('inbound.qualityCheck.unchecked') }}
-
-
+ {{ material.stockStatus == '1' ? '已质检' : '待质检' }}
+
+
@@ -56,7 +56,7 @@
- {{ $t('inbound.qualityCheck.noOrders') }}
+ 暂无待质检单据
@@ -86,14 +86,14 @@ export default {
}))
} else {
uni.showToast({
- title: response.msg || this.$t('inbound.qualityCheck.getOrdersFailed'),
+ title: response.msg || '获取单据列表失败',
icon: 'none'
})
}
} catch (error) {
console.error('获取单据列表失败:', error)
uni.showToast({
- title: this.$t('inbound.qualityCheck.getOrdersFailed'),
+ title: '获取单据列表失败',
icon: 'none'
})
}
@@ -117,14 +117,14 @@ export default {
this.$set(this.orderList[index], 'materials', response.rows)
} else {
uni.showToast({
- title: response.msg || this.$t('inbound.qualityCheck.getMaterialsFailed'),
+ title: response.msg || '获取物料信息失败',
icon: 'none'
})
}
} catch (error) {
console.error('获取物料信息失败:', error)
uni.showToast({
- title: this.$t('inbound.qualityCheck.getMaterialsFailed'),
+ title: '获取物料信息失败',
icon: 'none'
})
}
@@ -135,7 +135,7 @@ export default {
const order = this.orderList[index]
if (!order.materials || order.materials.length === 0) {
uni.showToast({
- title: this.$t('inbound.qualityCheck.noMaterials'),
+ title: '暂无可质检的物料',
icon: 'none'
})
return
@@ -150,7 +150,7 @@ export default {
if (materials.length === 0) {
uni.showToast({
- title: this.$t('inbound.qualityCheck.allChecked'),
+ title: '所有物料已完成质检',
icon: 'none'
})
return
@@ -164,7 +164,7 @@ export default {
if (response.code === 200) {
uni.showToast({
- title: this.$t('inbound.qualityCheck.batchCheckSuccess'),
+ title: '批量质检完成',
icon: 'success'
})
@@ -179,14 +179,14 @@ export default {
this.fetchOrderList()
} else {
uni.showToast({
- title: response.msg || this.$t('inbound.qualityCheck.batchCheckFailed'),
+ title: response.msg || '批量质检失败',
icon: 'none'
})
}
} catch (error) {
console.error('批量质检失败:', error)
uni.showToast({
- title: this.$t('inbound.qualityCheck.batchCheckFailed'),
+ title: '批量质检失败',
icon: 'none'
})
}
@@ -203,7 +203,7 @@ export default {
})
if (response.code === 200) {
uni.showToast({
- title: `${material.extraField.materialDesc} ${this.$t('inbound.qualityCheck.checkSuccess')}`,
+ title: `${material.extraField.materialDesc} 质检完成`,
icon: 'success'
})
// 重新获取当前单据的物料列表
@@ -216,7 +216,7 @@ export default {
}
} else {
uni.showToast({
- title: response.msg || this.$t('inbound.qualityCheck.checkFailed'),
+ title: response.msg || '质检操作失败',
icon: 'none'
})
}
@@ -230,7 +230,7 @@ export default {
// 验证输入值
if (isNaN(newQuantity) || newQuantity < 0) {
uni.showToast({
- title: this.$t('inbound.qualityCheck.invalidQuantity'),
+ title: '请输入有效的数量',
icon: 'none'
})
material.quantity = material.quantity
diff --git a/RuoYi-App-master/pages/index.vue b/RuoYi-App-master/pages/index.vue
index 9c2866c..2c144c6 100644
--- a/RuoYi-App-master/pages/index.vue
+++ b/RuoYi-App-master/pages/index.vue
@@ -2,19 +2,19 @@
- {{ $t('home.greeting') }}{{ userName }}
- {{ $t('home.today') }}{{ currentDate }}
+ 你好,{{ userName }}
+ 今天是{{ currentDate }}
-
+
-
- {{ $t('home.pendingTasks') }}
+
@@ -42,35 +42,45 @@
- {{ $t('home.inbound.title') }}
- {{ $t('home.inbound.desc') }}
+ 入库管理
+ 收货、上架、验收
-
+
- {{ $t('home.outbound.title') }}
- {{ $t('home.outbound.desc') }}
+ 出库管理
+ 拣货、打包、发货
-
+
+
+
+
+
+ 托盘管理
+ 空托盘出入库
+
+
+
+
+
- {{ $t('home.stocktaking.title') }}
- {{ $t('home.stocktaking.desc') }}
+ 盘点管理
+ 周期盘点、抽查
@@ -78,8 +88,7 @@
diff --git a/RuoYi-App-master/pages/login.vue b/RuoYi-App-master/pages/login.vue
index 86d3635..7872d2c 100644
--- a/RuoYi-App-master/pages/login.vue
+++ b/RuoYi-App-master/pages/login.vue
@@ -3,12 +3,12 @@
- {{ $t('login.appTitle') }}
+ WMS手持终端
-
+
{{ account }}
@@ -17,15 +17,15 @@
-
+
- {{ $t('login.rememberAccount') }}
+ 记住账号
-
-
+
+
- {{ $t('login.version') }}
- {{ $t('login.copyright') }}
+ Version 1.0.0
+ © 2025 WMS仓储管理系统
@@ -95,11 +95,11 @@
if (this.loginForm.username === "") {
- this.$modal.msgError(this.$t('login.usernameRequired'))
+ this.$modal.msgError('请输入您的账号')
} else if (this.loginForm.password === "") {
- this.$modal.msgError(this.$t('login.passwordRequired'))
+ this.$modal.msgError('请输入您的密码')
} else {
- this.$modal.loading(this.$t('login.loggingIn'))
+ this.$modal.loading('登录中,请耐心等待...')
this.pwdLogin()
}
},
diff --git a/RuoYi-App-master/pages/mine/index.vue b/RuoYi-App-master/pages/mine/index.vue
index fee0565..3ea3eae 100644
--- a/RuoYi-App-master/pages/mine/index.vue
+++ b/RuoYi-App-master/pages/mine/index.vue
@@ -10,16 +10,16 @@
- {{ $t('mine.clickToLogin') }}
+ 点击登录
- {{ $t('mine.username') }}:{{ name }}
+ 用户名:{{ name }}
- {{ $t('mine.personalInfo') }}
+ 个人信息
@@ -67,7 +67,7 @@
@@ -110,7 +110,7 @@
this.$tab.navigateTo('/pages/mine/avatar/index')
},
handleLogout() {
- this.$modal.confirm(this.$t('mine.logoutConfirm')).then(() => {
+ this.$modal.confirm('确定注销并退出系统吗?').then(() => {
this.$store.dispatch('LogOut').then(() => {
this.$tab.reLaunch('/pages/index')
})
@@ -126,7 +126,7 @@
this.$modal.showToast('QQ:①133713780(Full)、②146013835(Full)、③189091635')
},
handleBuilding() {
- this.$modal.showToast(this.$t('mine.moduleBuilding'))
+ this.$modal.showToast('模块建设中~')
}
}
}
diff --git a/RuoYi-App-master/pages/mine/setting/index.vue b/RuoYi-App-master/pages/mine/setting/index.vue
index 930a037..64f6fb4 100644
--- a/RuoYi-App-master/pages/mine/setting/index.vue
+++ b/RuoYi-App-master/pages/mine/setting/index.vue
@@ -22,14 +22,14 @@
@@ -126,7 +126,7 @@
this.$tab.navigateTo('/pages/setting')
},
handleLogout() {
- this.$modal.confirm(this.$t('mine.logoutConfirm')).then(() => {
+ this.$modal.confirm('确定注销并退出系统吗?').then(() => {
this.$store.dispatch('LogOut').then(() => {
this.$tab.reLaunch('/pages/login')
})
diff --git a/RuoYi-App-master/pages/out/bindShell.vue b/RuoYi-App-master/pages/out/bindShell.vue
index 9874337..dfb5750 100644
--- a/RuoYi-App-master/pages/out/bindShell.vue
+++ b/RuoYi-App-master/pages/out/bindShell.vue
@@ -1,7 +1,7 @@
@@ -9,7 +9,7 @@
v-model="selectedWarehouse"
:localdata="warehouseList"
:clear="false"
- :placeholder="$t('outbound.bindShelf.selectWarehouse')"
+ placeholder="请选择仓库"
@change="handleWarehouseChange"
/>
@@ -19,13 +19,13 @@
v-model="selectedExit"
:localdata="exitList"
:clear="false"
- :placeholder="$t('outbound.bindShelf.selectExit')"
+ placeholder="请选择出口"
@change="handleExitChange"
/>
- {{ $t('outbound.bindShelf.loading') }}
+ 加载中...
@@ -36,12 +36,12 @@
{{ item.productName }}
- {{ $t('outbound.bindShelf.materialInfo') }}: {{ item.productId }}
+ 物料信息: {{ item.productId }}
- {{ $t('outbound.bindShelf.bindQuantity') }}
+ 绑定数量
- {{ $t('outbound.bindShelf.noMaterialInfo') }}
+ 暂无物料信息
-
+
@@ -245,7 +244,7 @@ export default {
this.materialList = (response.rows || []).map(item => ({
...item,
selected: false,
- bindQuantity: item.quantity
+ bindQuantity: item.quantit
}))
} else {
uni.showToast({
@@ -257,7 +256,7 @@ export default {
} catch (error) {
console.error('获取物料信息失败:', error)
uni.showToast({
- title: this.$t('outbound.bindShelf.noMaterialInfo'),
+ title: '暂无物料信息',
icon: 'none'
})
this.materialList = []
@@ -300,19 +299,6 @@ export default {
return
}
- // 检查绑定数量是否为0或空
- const invalidQuantityItem = selectedItems.find(item => {
- return !item.bindQuantity || item.bindQuantity === 0
- })
-
- if (invalidQuantityItem) {
- uni.showToast({
- title: '绑定数量不能为0或空',
- icon: 'none'
- })
- return
- }
-
this.$refs.bindShelfPopup.open()
},
// 关闭绑定料架弹窗
@@ -374,7 +360,7 @@ export default {
async submitBindShelf() {
if (!this.shelfCode) {
uni.showToast({
- title: this.$t('outbound.bindShelf.pleaseScanShelfCode'),
+ title: '请先扫描料架条码',
icon: 'none'
})
return
@@ -383,20 +369,7 @@ export default {
const selectedItems = this.materialList.filter(item => item.selected)
if (selectedItems.length === 0) {
uni.showToast({
- title: this.$t('outbound.bindShelf.pleaseSelectMaterial'),
- icon: 'none'
- })
- return
- }
-
- // 检查绑定数量是否为0或空
- const invalidQuantityItem = selectedItems.find(item => {
- return !item.bindQuantity || item.bindQuantity === 0
- })
-
- if (invalidQuantityItem) {
- uni.showToast({
- title: '绑定数量不能为0或空',
+ title: '请先选择需要绑定的物料',
icon: 'none'
})
return
diff --git a/RuoYi-App-master/pages/out/ckMakeSure.vue b/RuoYi-App-master/pages/out/ckMakeSure.vue
index 73baea5..95887b9 100644
--- a/RuoYi-App-master/pages/out/ckMakeSure.vue
+++ b/RuoYi-App-master/pages/out/ckMakeSure.vue
@@ -1,9 +1,22 @@
+
+ 出口:
+
+
+
+
+
+ 物料条码:
-
-
-
+
{{ item.productId }}
- {{ item.extraField.materialDesc }}
- {{ item.outQuantity }}
-
-
-
+ {{ item.productName }}
+
-
-
-
-
+
-
+
@@ -76,13 +73,26 @@
return {
trayCode: '',
materialList: [],
- isAllSelected: false,
- rackCode: ''
+ selectedExit: '',
+ // 出口选项
+ exitOptions: [
+ { value: 'L1021', text: 'L1021' },
+ { value: 'L1022', text: 'L1022' },
+ { value: 'L2002', text: 'L2002' },
+ { value: 'L2008', text: 'L2008' }
+ ]
}
},
methods: {
// 处理输入事件
handleInput(value) {
+ if(!this.selectedExit){
+ uni.showToast({
+ title: '请选择出口',
+ icon: 'none'
+ })
+ return
+ }
if (value) {
this.fetchTrayInfo(value)
}
@@ -103,12 +113,11 @@
// 获取托盘信息
async fetchTrayInfo(trayCode) {
try {
- const response = await getTaskDetail({trayCode:trayCode,status:'3'})
+ const response = await getTaskDetail({trayCode:trayCode,exitId:this.selectedExit})
// 为每个物料添加选择状态和绑定数量
this.materialList = response.data.map(item => ({
- ...item,
- selected: false,
- bindQuantity: item.pickQuantityReal
+ ...item
+
}))
} catch (error) {
uni.showToast({
@@ -119,84 +128,43 @@
},
// 确认出库
async handleConfirm() {
- const selectedItems = this.materialList.filter(item => item.selected)
- if (this.materialList[0].spare2 === '2') {
- try {
- await ckMakeSure({
- trayCode: this.trayCode,
- containerCode: 'MOCK_CONTAINER',
- mydoJobDetailList: [{
- jobDetailId: 'MOCK_JOB_DETAIL_ID',
- pickQuantity: 1
- }]
- })
- uni.showToast({
- title: '出库确认成功',
- icon: 'success'
- })
- // 清空数据
- this.trayCode = ''
- this.rackCode = ''
- this.materialList = []
- return
- } catch (error) {
- uni.showToast({
- title: '出库确认失败',
- icon: 'none'
- })
- return
- }
- }
-
- if (selectedItems.length === 0) {
+ // 验证出口选择
+ if (!this.selectedExit) {
uni.showToast({
- title: '请选择要出库的物料',
+ title: '请选择出口',
icon: 'none'
})
return
}
-
- if (!this.rackCode) {
+ if (!this.trayCode) {
uni.showToast({
- title: '请输入料架码',
+ title: '请输入托盘条码',
icon: 'none'
})
return
}
-
- for (const item of selectedItems) {
- if (item.bindQuantity <= 0 || item.bindQuantity > item.outQuantity) {
- uni.showToast({
- title: '绑定数量必须大于0且不能超过出库数量',
- icon: 'none'
- })
- return
- }
- }
-
- try {
- await ckMakeSure({
+
+ const response=await ckMakeSure({
trayCode: this.trayCode,
- containerCode: this.rackCode,
- mydoJobDetailList: selectedItems.map(item => ({
- jobDetailId: item.jobDetailId,
- pickQuantity: item.bindQuantity
- }))
+ exitId: this.selectedExit
})
- uni.showToast({
- title: '出库确认成功',
+ if (response.code==200) {
+ uni.showToast({
+ title: '出库成功',
icon: 'success'
})
- // 清空数据
- this.trayCode = ''
- this.rackCode = ''
- this.materialList = []
- } catch (error) {
- uni.showToast({
- title: '出库确认失败',
+ // 清空数据
+ this.trayCode = ''
+ this.materialList = []
+ this.selectedExit = ''
+ }else{
+ uni.showToast({
+ title: response.msg,
icon: 'none'
})
- }
+ }
+
+
},
// 切换全选状态
toggleSelectAll() {
@@ -235,12 +203,49 @@
margin-bottom: 30rpx;
box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.08);
+ .input-label {
+ display: block;
+ font-size: 28rpx;
+ color: #606266;
+ margin-bottom: 16rpx;
+ font-weight: 500;
+ }
+
+ .select-input {
+ width: 100%;
+ }
+
:deep(.uni-easyinput__content) {
background-color: #f8f8f8;
border-radius: 8rpx;
height: 80rpx;
padding: 0 24rpx;
}
+
+ // uni-data-select 样式
+ :deep(.uni-select) {
+ .uni-select__input-box {
+ background-color: #f8f8f8;
+ border-radius: 8rpx;
+ border: 2rpx solid #dcdfe6;
+ transition: all 0.3s ease;
+ height: 80rpx;
+
+ .uni-select__input-text {
+ font-size: 28rpx;
+ color: #606266;
+ }
+
+ .uni-select__input-placeholder {
+ font-size: 28rpx;
+ color: #c0c4cc;
+ }
+ }
+
+ .uni-select__input-box:hover {
+ border-color: #c0c4cc;
+ }
+ }
}
.scan-icon {
diff --git a/RuoYi-App-master/pages/out/ckMakeSureByTray.vue b/RuoYi-App-master/pages/out/ckMakeSureByTray.vue
index 3ca551d..94108e2 100644
--- a/RuoYi-App-master/pages/out/ckMakeSureByTray.vue
+++ b/RuoYi-App-master/pages/out/ckMakeSureByTray.vue
@@ -3,7 +3,7 @@
-
+
@@ -43,7 +43,7 @@
-
+
@@ -101,13 +101,13 @@
this.materialList = response.data
} else {
uni.showToast({
- title: this.$t('outbound.ckMakeSureByTray.trayInfoNotFound'),
+ title: '未找到托盘信息',
icon: 'none'
})
}
} catch (error) {
uni.showToast({
- title: this.$t('outbound.ckMakeSureByTray.getTrayInfoFailed'),
+ title: '获取托盘信息失败',
icon: 'none'
})
} finally {
@@ -118,7 +118,7 @@
async handleSubmit() {
if (!this.trayCode) {
uni.showToast({
- title: this.$t('outbound.ckMakeSureByTray.enterTrayCode'),
+ title: '请输入托盘条码',
icon: 'none'
})
return
@@ -126,7 +126,7 @@
if (this.materialList.length === 0) {
uni.showToast({
- title: this.$t('outbound.ckMakeSureByTray.noOutboundMaterial'),
+ title: '没有可出库的物料',
icon: 'none'
})
return
@@ -139,7 +139,7 @@
})
if (response.code==200) {
uni.showToast({
- title: this.$t('outbound.ckMakeSureByTray.outboundSuccess'),
+ title: '出库成功',
icon: 'success'
})
// 清空数据
@@ -155,7 +155,7 @@
} catch (error) {
uni.showToast({
- title: this.$t('outbound.ckMakeSureByTray.outboundFailed'),
+ title: '出库失败',
icon: 'none'
})
}
diff --git a/RuoYi-App-master/pages/out/errorout.vue b/RuoYi-App-master/pages/out/errorout.vue
index ad963eb..9826ca1 100644
--- a/RuoYi-App-master/pages/out/errorout.vue
+++ b/RuoYi-App-master/pages/out/errorout.vue
@@ -3,7 +3,7 @@
- {{ $t('outbound.exception.materialCode') }}:
+ 物资编码:
{{ item.productId }}
- {{ $t('outbound.exception.materialName') }}:
+ 物料名称:
{{ item.extraField.materialDesc }}
- {{ $t('outbound.exception.outQuantity') }}:
+ 出库数量:
{{ item.outQuantity }}
- {{ $t('outbound.exception.pickQuantity') }}:
-
-
+ 拣选数量:
+ {{ item.pickQuantity }}
+
-
+
@@ -68,25 +68,19 @@ export default {
try {
const response = await getTaskDetail({trayCode: value,inOut:'2'})
if (response.code === 200) {
- // 设置materialList并初始化pickQuantity为outQuantity的值
- this.materialList = (response.data || []).map(item => {
- return {
- ...item,
- pickQuantity: item.outQuantity
- }
- })
+ this.materialList = response.data || []
} else {
uni.showToast({
- title: response.msg || this.$t('common.noData'),
+ title: response.msg || '暂无数据',
icon: 'none'
})
}
} catch (error) {
- console.error(this.$t('outbound.exception.getTrayInfoFailed'), error)
- uni.showToast({
- title: this.$t('outbound.exception.getTrayInfoFailed'),
- icon: 'none'
- })
+ console.error('获取托盘信息失败', error)
+ uni.showToast({
+ title: '获取托盘信息失败',
+ icon: 'none'
+ })
}
}
},
@@ -94,37 +88,6 @@ export default {
handleClear() {
this.materialList = []
},
- // 验证拣货数量不超过出库数量且不为负数
- validatePickQuantity(item) {
- // 转换为数字
- let pickQty = Number(item.pickQuantity)
- let outQty = Number(item.outQuantity)
-
- // 检查是否为有效数字
- if (isNaN(pickQty) || pickQty === '') {
- item.pickQuantity = outQty
- return
- }
-
- // 检查是否为负数
- if (pickQty < 0) {
- uni.showToast({
- title: this.$t('outbound.exception.pickQuantityNegative'),
- icon: 'none'
- })
- item.pickQuantity = 0
- return
- }
-
- // 检查是否超过出库数量
- if (pickQty > outQty) {
- uni.showToast({
- title: this.$t('outbound.exception.pickQuantityExceed'),
- icon: 'none'
- })
- item.pickQuantity = outQty
- }
- },
// 处理扫码事件
handleScan() {
uni.scanCode({
@@ -138,71 +101,19 @@ export default {
async handleSubmit() {
if (!this.materialList.length) {
uni.showToast({
- title: this.$t('outbound.exception.scanTrayFirst'),
+ title: '请先扫描托盘条码',
icon: 'none'
})
return
}
-
- // 提交前再次验证所有物料的pickQuantity
- let isValid = true
- this.materialList.forEach(item => {
- // 转换为数字
- let pickQty = Number(item.pickQuantity)
- let outQty = Number(item.outQuantity)
-
- // 检查是否为有效数字
- if (isNaN(pickQty) || pickQty === '') {
- isValid = false
- uni.showToast({
- title: this.$t('outbound.exception.invalidPickQuantity'),
- icon: 'none'
- })
- item.pickQuantity = outQty
- return
- }
-
- // 检查是否为负数
- if (pickQty < 0) {
- isValid = false
- uni.showToast({
- title: this.$t('outbound.exception.pickQuantityNegative'),
- icon: 'none'
- })
- item.pickQuantity = 0
- return
- }
-
- // 检查是否超过出库数量
- if (pickQty > outQty) {
- isValid = false
- uni.showToast({
- title: this.$t('outbound.exception.pickQuantityExceed'),
- icon: 'none'
- })
- item.pickQuantity = outQty
- }
- })
-
- if (!isValid) return
-
- // 准备提交数据,包含所有物料编码和pickQuantity
- const materialDetails = this.materialList.map(item => {
- return {
- jobDetailId: item.jobDetailId,
- productId: item.productId,
- pickQuantity: item.pickQuantity
- }
- })
-
try {
const response = await submitError({
- trayCode: this.trayCode,
- materialDetails: materialDetails
+ trayCode: this.trayCode
+
})
if (response.code === 200) {
uni.showToast({
- title: this.$t('outbound.exception.submitSuccess'),
+ title: '提交成功',
icon: 'success'
})
// 清空数据
@@ -210,16 +121,16 @@ export default {
this.materialList = []
} else {
uni.showToast({
- title: response.msg || this.$t('outbound.exception.submitFailed'),
+ title: response.msg || '提交失败',
icon: 'none'
})
}
} catch (error) {
- console.error(this.$t('outbound.exception.submitFailed'), error)
- uni.showToast({
- title: this.$t('outbound.exception.submitFailed'),
- icon: 'none'
- })
+ console.error('提交失败', error)
+ uni.showToast({
+ title: '提交失败',
+ icon: 'none'
+ })
}
}
}
diff --git a/RuoYi-App-master/pages/out/ktpout.vue b/RuoYi-App-master/pages/out/ktpout.vue
index 1e8a125..cd6d465 100644
--- a/RuoYi-App-master/pages/out/ktpout.vue
+++ b/RuoYi-App-master/pages/out/ktpout.vue
@@ -2,43 +2,28 @@
-
+
-
-
-
-
-
-
-
-
-
- {{ $t('outbound.emptyPalletBox.emptyPallet.cargoSpaceHeight') }}{{ cargoSpaceHeight }}{{ $t('outbound.emptyPalletBox.emptyPallet.meter') }}
-
-
-
+
+
+
-
+
@@ -53,9 +38,7 @@ export default {
return {
formData: {
warehouseId: '',
- cargoSpaceId: '',
- exitId: '',
- cargoSpaceName: ''
+ exitId: ''
},
warehouseList: [],
cargoSpaceList: [],
@@ -73,17 +56,17 @@ export default {
const res = await getBasWarehouList({
pageNum:1,
pageSize:100,
- typeData:['1','2']
+ // typeData:['1','2']
})
if (res.code === 200) {
this.warehouseList = res.rows.map(item => ({
value: item.warehouseId,
- text: item.warehouseName,
- type: item.warehouseType
+ text: item.warehouseName
+ // type: item.warehouseType
}))
}
} catch (error) {
- console.error(this.$t('outbound.emptyPalletBox.emptyPallet.getWarehouseListFailed'), error)
+ console.error('获取仓库列表失败', error)
}
},
async handleWarehouseChange(warehouseId) {
@@ -92,97 +75,27 @@ export default {
this.currentWarehouseType = selectedWarehouse ? selectedWarehouse.type : ''
this.formData.exitId = ''
- if (this.currentWarehouseType == '2') {
+ // if (this.currentWarehouseType == '2') {
// 模拟出口数据,实际项目中应该从后端获取
this.exitList = [
- { value: '1', text: this.$t('outbound.emptyPalletBox.emptyPallet.exit') + '1' },
- { value: '2', text: this.$t('outbound.emptyPalletBox.emptyPallet.exit') + '2' },
- { value: '3', text: this.$t('outbound.emptyPalletBox.emptyPallet.exit') + '3' }
+ { value: '1', text: '出口方向1' },
+ { value: '2', text: '出口方向2' }
]
- }
- },
- handleCargoSpaceSelect(item) {
- this.formData.cargoSpaceId = item.value
- },
- async handleRecommendCargoSpace() {
- if (!this.formData.warehouseId) {
- uni.showToast({
- title: this.$t('outbound.emptyPalletBox.emptyPallet.selectWarehouse'),
- icon: 'none'
- })
- return
- }
- // try {
- const response = await getFullCargoSpaceListByWarehouse({ warehouseId: this.formData.warehouseId })
- if (response.code === 200 && response.data.length > 0) {
- // 获取第一个推荐货位
- this.formData.cargoSpaceId = response.data[0].cargoSpaceId
- this.formData.cargoSpaceName = response.data[0].cargoSpaceName
- // 手动触发handleCargoSpaceInput方法获取货位高度信息
- await this.handleCargoSpaceInput(response.data[0].cargoSpaceName)
-
- } else {
- uni.showToast({
- title: this.$t('outbound.emptyPalletBox.emptyPallet.noAvailableCargoSpace'),
- icon: 'none'
- })
- }
- // } catch (error) {
- // console.error('获取推荐货位失败:', error)
- // uni.showToast({
- // title: '获取推荐货位失败',
- // icon: 'none'
- // })
// }
},
- // 处理货位选择
- async handleCargoSpaceInput(value) {
- if (value) {
- try {
- const response = await getCargoSpaceList({ cargoSpaceName: value, warehouseId: this.formData.warehouseId })
- if (response.code === 200 && response.rows.length > 0) {
- this.formData.cargoSpaceId = response.rows[0].cargoSpaceId
- this.cargoSpaceHeight = response.rows[0].cargoHight
- console.log(this.formData.cargoSpaceId)
- } else {
- uni.showToast({
- title: this.$t('outbound.emptyPalletBox.emptyPallet.getCargoSpaceInfoFailed'),
- icon: 'none'
- })
- this.formData.cargoSpaceId = ''
- this.cargoSpaceHeight = null
- }
- } catch (error) {
- uni.showToast({
- title: this.$t('outbound.emptyPalletBox.emptyPallet.getCargoSpaceInfoFailed'),
- icon: 'none'
- })
- this.formData.cargoSpaceId = ''
- this.cargoSpaceHeight = null
- }
- } else {
- this.formData.cargoSpaceId = ''
- this.cargoSpaceHeight = null
- }
- },
+
async handleSubmit() {
if (!this.formData.warehouseId) {
uni.showToast({
- title: this.$t('outbound.emptyPalletBox.emptyPallet.selectWarehouse'),
+ title: '请选择仓库',
icon: 'none'
})
return
}
- if (this.currentWarehouseType == '1' && !this.formData.cargoSpaceId) {
+
+ if ( !this.formData.exitId) {
uni.showToast({
- title: this.$t('outbound.emptyPalletBox.emptyPallet.selectCargoSpace'),
- icon: 'none'
- })
- return
- }
- if (this.currentWarehouseType == '2' && !this.formData.exitId) {
- uni.showToast({
- title: this.$t('outbound.emptyPalletBox.emptyPallet.selectExit'),
+ title: '请选择出口',
icon: 'none'
})
return
@@ -194,22 +107,19 @@ export default {
if (response.code === 200) {
uni.showToast({
- title: this.$t('outbound.emptyPalletBox.emptyPallet.outboundSuccess'),
+ title: '空托盘出库成功',
icon: 'success'
})
// 重置表单数据
this.formData = {
warehouseId: '',
- cargoSpaceId: '',
exitId: ''
}
- this.cargoSpaceList = []
this.exitList = []
- this.currentWarehouseType = ''
- this.cargoSpaceHeight = ''
+
} else {
uni.showToast({
- title: response.msg || this.$t('outbound.emptyPalletBox.emptyPallet.outboundOperationFailed'),
+ title: response.msg || '出库操作失败',
icon: 'none'
})
}
diff --git a/RuoYi-App-master/pages/out/menu.vue b/RuoYi-App-master/pages/out/menu.vue
index e1be8cc..1712bfa 100644
--- a/RuoYi-App-master/pages/out/menu.vue
+++ b/RuoYi-App-master/pages/out/menu.vue
@@ -6,8 +6,8 @@
- {{ $t('outbound.emptyPalletBox.title') }}
- {{ $t('outbound.emptyPalletBox.desc') }}
+ 空托盘/料箱出库
+ 空托盘/料箱出库管理
@@ -15,8 +15,8 @@
- {{ $t('outbound.pkout.title') }}
- {{ $t('outbound.pkout.desc') }}
+ 平库出库
+ 平库出库管理
@@ -24,8 +24,8 @@
- {{ $t('outbound.ckMakeSureByTray.title') }}
- {{ $t('outbound.ckMakeSureByTray.desc') }}
+ 出库确认
+ 出库单确认管理
@@ -33,8 +33,8 @@
- {{ $t('outbound.bindShelf.title') }}
- {{ $t('outbound.bindShelf.desc') }}
+ 绑定料架
+ 出库单确认管理
@@ -42,8 +42,8 @@
- {{ $t('outbound.exception.title') }}
- {{ $t('outbound.exception.desc') }}
+ 异常出库
+ 异常出库
@@ -51,8 +51,8 @@
- {{ $t('outbound.move.title') }}
- {{ $t('outbound.move.desc') }}
+ 料架搬运
+ 点对点搬运
diff --git a/RuoYi-App-master/pages/out/move.vue b/RuoYi-App-master/pages/out/move.vue
index c07b79e..5d05f22 100644
--- a/RuoYi-App-master/pages/out/move.vue
+++ b/RuoYi-App-master/pages/out/move.vue
@@ -3,49 +3,49 @@
-
+
-
+
-
+
-
+
-
+
@@ -82,7 +82,7 @@ export default {
this.pointTypeList = res.map(item => ({
value: item.dictValue,
- text: this.$t(item.dictLabel)
+ text: item.dictLabel
}))
@@ -90,7 +90,7 @@ export default {
} catch (error) {
console.error('获取点位列表失败', error)
uni.showToast({
- title: this.$t('outbound.move.getPointTypeListFailed'),
+ title: '获取点位类型列表失败',
icon: 'none'
})
}
@@ -118,7 +118,7 @@ async handleStartPointTypeChange(value) {
} catch (error) {
console.error('获取端口列表失败', error)
uni.showToast({
- title: this.$t('outbound.move.getPortListFailed'),
+ title: '获取端口列表失败',
icon: 'none'
})
}
@@ -148,7 +148,7 @@ async handleStartPointTypeChange(value) {
} catch (error) {
console.error('获取目标端口列表失败', error)
uni.showToast({
- title: this.$t('outbound.move.getPortListFailed'),
+ title: '获取端口列表失败',
icon: 'none'
})
}
@@ -161,7 +161,7 @@ async handleStartPointTypeChange(value) {
// 表单验证
if (!this.formData.startPointType) {
uni.showToast({
- title: this.$t('outbound.move.startPointTypeRequired'),
+ title: '请选择起始点类型',
icon: 'none'
})
return
@@ -169,7 +169,7 @@ async handleStartPointTypeChange(value) {
if (!this.formData.targetPointType) {
uni.showToast({
- title: this.$t('outbound.move.targetPointTypeRequired'),
+ title: '请选择目标点类型',
icon: 'none'
})
return
@@ -177,7 +177,7 @@ async handleStartPointTypeChange(value) {
if (!this.formData.sourceLocationId) {
uni.showToast({
- title: this.$t('outbound.move.sourceLocationRequired'),
+ title: '请选择起始位置',
icon: 'none'
})
return
@@ -185,7 +185,7 @@ async handleStartPointTypeChange(value) {
if (!this.formData.targetLocationId) {
uni.showToast({
- title: this.$t('outbound.move.targetLocationRequired'),
+ title: '请选择目标位置',
icon: 'none'
})
return
@@ -197,7 +197,7 @@ async handleStartPointTypeChange(value) {
endPoint:this.formData.targetLocationId})
if (res.code === 200) {
uni.showToast({
- title: this.$t('outbound.move.submitSuccess'),
+ title: '提交成功',
icon: 'success'
})
// 重置表单
@@ -211,14 +211,14 @@ async handleStartPointTypeChange(value) {
this.targetLocationList = []
} else {
uni.showToast({
- title: res.msg || this.$t('outbound.move.submitFailed'),
+ title: res.msg || '提交失败',
icon: 'none'
})
}
} catch (error) {
console.error('提交移库请求失败', error)
uni.showToast({
- title: res.msg ||this.$t('outbound.move.submitError'),
+ title: res.msg ||'提交请求失败',
icon: 'none'
})
}
diff --git a/RuoYi-App-master/pages/out/pkout.vue b/RuoYi-App-master/pages/out/pkout.vue
index 641b476..9a84732 100644
--- a/RuoYi-App-master/pages/out/pkout.vue
+++ b/RuoYi-App-master/pages/out/pkout.vue
@@ -3,7 +3,7 @@
- {{ $t('outbound.pkout.orderNumber') }}
+ 单据编号:
{{ order.stockoutId }}
- {{ $t('outbound.pkout.createTime') }}
+ 创建时间:
{{ order.createDate }}
- {{ $t('outbound.pkout.customer') }}
+ 客户:
{{ order.customerName }}
- {{ $t('outbound.pkout.goodsInfo') }}
+ 物品信息
{{ goods.productId }}
@@ -49,7 +49,7 @@
{{ goods.quantity - goods.assignNum }}
@@ -59,7 +59,7 @@
- {{ $t('outbound.pkout.noOrderInfo') }}
+ 暂无出库单信息
@@ -102,11 +102,11 @@ export default {
goodsList: null
}))
} catch (error) {
- console.error(this.$t('outbound.pkout.getOrderListFailed'), error)
- uni.showToast({
- title: this.$t('outbound.pkout.getOrderListFailed'),
- icon: 'none'
- })
+ console.error('获取出库单列表失败', error)
+ uni.showToast({
+ title: '获取出库单列表失败',
+ icon: 'none'
+ })
}
},
// 获取物品列表
@@ -123,11 +123,11 @@ export default {
// outQuantity: item.quantity-item.assignNum
}))
} catch (error) {
- console.error(this.$t('outbound.pkout.getItemInfoFailed'), error)
- uni.showToast({
- title: this.$t('outbound.pkout.getItemInfoFailed'),
- icon: 'none'
- })
+ console.error('获取物品信息失败', error)
+ uni.showToast({
+ title: '获取物品信息失败',
+ icon: 'none'
+ })
}
},
// 处理出库单点击
@@ -179,18 +179,18 @@ export default {
})
uni.showToast({
- title: this.$t('outbound.pkout.outboundSuccess'),
- icon: 'success'
- })
+ title: '出库成功',
+ icon: 'success'
+ })
// 刷新数据
this.getOrderList()
} catch (error) {
console.error('出库失败:', error)
uni.showToast({
- title: this.$t('outbound.pkout.outboundFailed'),
- icon: 'none'
- })
+ title: '出库失败',
+ icon: 'none'
+ })
}
}
}
diff --git a/RuoYi-App-master/pages/pandian/confirm.vue b/RuoYi-App-master/pages/pandian/confirm.vue
index 65f356f..1267fdd 100644
--- a/RuoYi-App-master/pages/pandian/confirm.vue
+++ b/RuoYi-App-master/pages/pandian/confirm.vue
@@ -1,60 +1,146 @@
+
+
+
+ 托盘条码:
-
- 📷
-
+
-
-
-
-
-
-
-
- {{ item.countQuantity }}
-
- {{ item.countQuantity > item.outQuantity ? $t('stocktaking.confirm.surplus') + (item.countQuantity - item.outQuantity) : item.countQuantity < item.outQuantity ? $t('stocktaking.confirm.loss') + (item.outQuantity - item.countQuantity) : $t('stocktaking.confirm.match') }}
-
-
-
-
-
+
+
+
+
+
+
+
-
+
@@ -62,8 +148,7 @@
+
diff --git a/ruoyi-ui/src/views/rf/emptyInTrayCode.vue b/ruoyi-ui/src/views/rf/emptyInTrayCode.vue
new file mode 100644
index 0000000..8dc5c5b
--- /dev/null
+++ b/ruoyi-ui/src/views/rf/emptyInTrayCode.vue
@@ -0,0 +1,355 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+
+
+
+
+ 新增
+
+
+ 修改
+
+
+ 删除
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 修改
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ruoyi-ui/src/views/rf/emptyOutTrayCode.vue b/ruoyi-ui/src/views/rf/emptyOutTrayCode.vue
new file mode 100644
index 0000000..8dc5c5b
--- /dev/null
+++ b/ruoyi-ui/src/views/rf/emptyOutTrayCode.vue
@@ -0,0 +1,355 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+
+
+
+
+ 新增
+
+
+ 修改
+
+
+ 删除
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 修改
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ruoyi-ui/src/views/rf/outMakeSure.vue b/ruoyi-ui/src/views/rf/outMakeSure.vue
new file mode 100644
index 0000000..8dc5c5b
--- /dev/null
+++ b/ruoyi-ui/src/views/rf/outMakeSure.vue
@@ -0,0 +1,355 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+
+
+
+
+ 新增
+
+
+ 修改
+
+
+ 删除
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 修改
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ruoyi-ui/src/views/rf/pdMakeSure.vue b/ruoyi-ui/src/views/rf/pdMakeSure.vue
new file mode 100644
index 0000000..8dc5c5b
--- /dev/null
+++ b/ruoyi-ui/src/views/rf/pdMakeSure.vue
@@ -0,0 +1,355 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+
+
+
+
+ 新增
+
+
+ 修改
+
+
+ 删除
+
+
+ 导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 修改
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/ruoyi-ui/src/views/search/ViewOutJobFlow/index.vue b/ruoyi-ui/src/views/search/ViewOutJobFlow/index.vue
index d0d3b0d..2cb846c 100644
--- a/ruoyi-ui/src/views/search/ViewOutJobFlow/index.vue
+++ b/ruoyi-ui/src/views/search/ViewOutJobFlow/index.vue
@@ -392,13 +392,13 @@
-
+
-
-
+
+
@@ -436,7 +436,7 @@
-
+