Browse Source

检验合格入库

master
han\hanst 5 months ago
parent
commit
af8c3eef3a
  1. 11
      src/api/po/po.js
  2. 53
      src/assets/scss/global.scss
  3. 2
      src/views/common/login.vue
  4. 45
      src/views/modules/other-transaction/inventory-move.vue
  5. 977
      src/views/modules/recv/qualifiedStorage.vue
  6. 4
      src/views/modules/recv/recv.vue

11
src/api/po/po.js

@ -47,4 +47,13 @@ export const getPoReceiveRecords = data => createAPI(`po/getPoReceiveRecords`,'p
export const getHandlingUnitsByReceiptNo = data => createAPI(`po/getHandlingUnitsByReceiptNo`,'post',data) export const getHandlingUnitsByReceiptNo = data => createAPI(`po/getHandlingUnitsByReceiptNo`,'post',data)
// 确认库存移库 // 确认库存移库
export const confirmInventoryMove = data => createAPI(`other/confirmInventoryMove`,'post',data)
export const confirmInventoryMove = data => createAPI(`other/confirmInventoryMove`,'post',data)
// 获取采购订单接收记录列表(检验合格入库用)
export const getPurchaseOrderReceiptList = data => createAPI(`qualified-storage/getPurchaseOrderReceiptList`,'post',data)
// 校验并获取HandlingUnit信息(检验合格入库用)
export const validateHandlingUnitForQualifiedStorage = data => createAPI(`qualified-storage/validateHandlingUnit`,'post',data)
// 确认检验合格入库
export const confirmQualifiedStorage = data => createAPI(`qualified-storage/confirmQualifiedStorage`,'post',data)

53
src/assets/scss/global.scss

@ -1,3 +1,56 @@
/* Element UI Message 组件样式调整 - 适配PDA屏幕 start */
.el-message {
max-width: 98vw !important;
min-width: 300px !important;
width: auto !important;
word-wrap: break-word !important;
word-break: break-all !important;
white-space: pre-wrap !important;
line-height: 1.4 !important;
padding: 12px 16px !important;
font-size: 14px !important;
left: 30% !important;
transform: translateX(-70%) !important;
margin-left: -30px;
}
.el-message__content {
max-width: 100% !important;
word-wrap: break-word !important;
word-break: break-all !important;
white-space: pre-wrap !important;
line-height: 1.4 !important;
}
/* 针对不同类型的message */
.el-message--error {
max-width: 98vw !important;
}
.el-message--success {
max-width: 98vw !important;
}
.el-message--warning {
max-width: 98vw !important;
}
.el-message--info {
max-width: 98vw !important;
}
/* 小屏幕下进一步调整message宽度 */
@media (max-width: 360px) {
.el-message {
max-width: 99vw !important;
min-width: 250px !important;
font-size: 13px !important;
padding: 10px 12px !important;
transform: translateX(-65%) !important;
}
}
/* Element UI Message 组件样式调整 - 适配PDA屏幕 end */
/* 侧边导航栏 start*/ /* 侧边导航栏 start*/
.el-menu-item, .el-submenu__title { .el-menu-item, .el-submenu__title {
height: 35px; height: 35px;

2
src/views/common/login.vue

@ -196,7 +196,7 @@ export default {
this.$router.replace({ name: 'home' }); this.$router.replace({ name: 'home' });
} else { } else {
this.$alert("用户名或密码错误", '错误', {
this.$alert(data.msg, '错误', {
confirmButtonText: '确定' confirmButtonText: '确定'
}); });
} }

45
src/views/modules/other-transaction/inventory-move.vue

@ -93,6 +93,11 @@
<span>{{ label.qty }} {{ label.unit || '个' }}</span> <span>{{ label.qty }} {{ label.unit || '个' }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12" v-if="label.expiredDate">
<el-form-item label="过期日期">
<span>{{ formatDate(label.expiredDate) }}</span>
</el-form-item>
</el-col>
</el-row> </el-row>
</el-form> </el-form>
</div> </div>
@ -237,6 +242,28 @@ export default {
return; return;
}*/ }*/
//
if (this.scannedItems.length > 0) {
const firstItemExpiryDate = this.scannedItems[0].expiredDate;
const currentExpiryDate = huInfo.expiredDate;
//
if (firstItemExpiryDate && currentExpiryDate) {
const firstDate = new Date(firstItemExpiryDate).toDateString();
const currentDate = new Date(currentExpiryDate).toDateString();
if (firstDate !== currentDate) {
this.$message.error(`HandlingUnit的过期日期不一致,无法一起移库。已扫描的过期日期:${firstDate},当前扫描的过期日期:${currentDate}`);
return;
}
}
//
else if (firstItemExpiryDate || currentExpiryDate) {
this.$message.error('HandlingUnit的过期日期不一致,部分有过期日期,部分没有,无法一起移库');
return;
}
}
// //
this.scannedItems.push({ this.scannedItems.push({
id: Date.now(), id: Date.now(),
@ -247,7 +274,8 @@ export default {
unit: huInfo.unit, unit: huInfo.unit,
batchNo: huInfo.batchNo, batchNo: huInfo.batchNo,
locationId: huInfo.locationId, locationId: huInfo.locationId,
wdr: huInfo.wdr
wdr: huInfo.wdr,
expiredDate: huInfo.expiredDate
}); });
this.$message.success('扫描成功'); this.$message.success('扫描成功');
@ -379,6 +407,21 @@ export default {
// //
initFormData() { initFormData() {
// //
},
//
formatDate(dateString) {
if (!dateString) return '';
try {
const date = new Date(dateString);
return date.toLocaleDateString('zh-CN', {
year: 'numeric',
month: '2-digit',
day: '2-digit'
});
} catch (error) {
return dateString;
}
} }
}, },

977
src/views/modules/recv/qualifiedStorage.vue
File diff suppressed because it is too large
View File

4
src/views/modules/recv/recv.vue

@ -199,9 +199,9 @@ export default {
}); });
}, },
async recvLine(row) { async recvLine(row) {
/* if (row.receiveCaseDB!='INVDIR' && row.receiveCaseDB!='QAINV') {
if (row.receiveCaseDB!='INVDIR' && row.receiveCaseDB!='QAINV') {
return this.$message.warning("该采购订单行的收货方式为"+row.receiveCase+",无法接收"); return this.$message.warning("该采购订单行的收货方式为"+row.receiveCase+",无法接收");
}*/
}
if (row.poStatus === 'Stopped' || row.poStatus === 'Closed' || row.poStatus === 'Cancelled' || row.poStatus === 'Planned') { if (row.poStatus === 'Stopped' || row.poStatus === 'Closed' || row.poStatus === 'Cancelled' || row.poStatus === 'Planned') {
return this.$message.warning("该采购订单状态为"+row.poStatus+",无法接收"); return this.$message.warning("该采购订单状态为"+row.poStatus+",无法接收");
} }

Loading…
Cancel
Save