常熟吴彦祖 4 months ago
parent
commit
1f5820610f
  1. 4
      src/api/automatedWarehouse/callOut.js
  2. 75
      src/assets/scss/global.scss
  3. 2
      src/views/main.vue
  4. 124
      src/views/modules/automatedWarehouse/callOut.vue

4
src/api/automatedWarehouse/callOut.js

@ -0,0 +1,4 @@
import { createAPI } from "@/utils/httpRequest.js";
export const saveTransportTask = data => createAPI(`/factory/tblbasedata/saveTransportTask`,'get',data)
export const getShopOrderFromIFSWithOrderNo = data => createAPI(`/wcsIntegration/getShopOrderFromIFSWithOrderNo`,'post',data)

75
src/assets/scss/global.scss

@ -843,3 +843,78 @@ a:hover{
padding-bottom: 12px; padding-bottom: 12px;
} }
/* ==================== 2024-12-19 15:30 新增 Call料页面样式 ==================== */
/* 表单区域 - 合并到main-content */
.main-content.form-section {
background: white;
border-radius: 8px;
margin: 16px;
padding: 20px;
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
.input-group {
margin-bottom: 16px;
}
.input-group:last-child {
margin-bottom: 0;
}
.input-label {
display: block;
margin-bottom: 8px;
font-size: 14px;
font-weight: 500;
color: #333;
}
/* 输入框样式覆盖全局样式以适配表单 */
.form-input ::v-deep .el-input__inner {
border-radius: 6px;
border: 1px solid #ddd;
}
.form-input ::v-deep .el-input__inner:focus {
border-color: #17b3a3;
}
/* 响应式调整 */
@media (max-width: 768px) {
.main-content.form-section {
margin: 4px;
padding: 16px;
}
}
/* ==================== Call料页面样式结束 ==================== */
.action-btn {
flex: 1;
padding: 12px;
border: 1px solid #17B3A3;
background: white;
color: #17B3A3;
border-radius: 20px;
font-size: 14px;
cursor: pointer;
transition: all 0.2s ease;
}
.action-btn:hover {
background: #17B3A3;
color: white;
}
.action-btn:active {
transform: scale(0.98);
}
/* 底部操作按钮 */
.bottom-actions {
display: flex;
padding: 16px;
gap: 20px;
background: white;
margin-top: auto;
}

2
src/views/main.vue

@ -154,7 +154,7 @@
<span class="section-title">立库操作</span> <span class="section-title">立库操作</span>
</div> </div>
<div class="button-grid"> <div class="button-grid">
<div class="menu-item" @click="navigateWithWarehouseCheck('porecv')">
<div class="menu-item" @click="navigateWithWarehouseCheck('callOut')">
<div class="menu-icon purchase"> <div class="menu-icon purchase">
<van-icon name="shopping-cart-o" size="24" /> <van-icon name="shopping-cart-o" size="24" />
</div> </div>

124
src/views/modules/automatedWarehouse/callOut.vue

@ -16,8 +16,47 @@
<!-- --> <!-- -->
<!-- </div>--> <!-- </div>-->
<div class="main-content">
<div class="main-content form-section">
<!-- 表单区域 -->
<div class="input-group">
<label class="input-label">物料编码</label>
<el-input
v-model="formData.partNo"
placeholder="请输入物料编码"
class="form-input"
clearable
@blur="handlePartNoBlur"
/>
</div>
<div class="input-group">
<label class="input-label">物料名称</label>
<el-input
v-model="formData.partDesc"
disabled
class="form-input"
/>
</div>
<div class="input-group">
<label class="input-label">批号</label>
<el-input
v-model="formData.batchNo"
class="form-input"
clearable
/>
</div>
<div class="bottom-actions">
<button class="action-btn secondary" @click="confirmDo">
确定
</button>
<button class="action-btn secondary" style="margin-left: 10px;" @click="cleanData">
清空
</button>
</div>
</div> </div>
</div> </div>
</div> </div>
@ -25,6 +64,8 @@
<script> <script>
import {saveTransportTask, getShopOrderFromIFSWithOrderNo} from '../../../api/automatedWarehouse/callOut'
export default { export default {
data() { data() {
return { return {
@ -33,7 +74,16 @@ export default {
returnList: [], // 退 returnList: [], // 退
selectedDetail: null, // RMA selectedDetail: null, // RMA
processType: "inbound", // processType: "inbound", //
site:localStorage.getItem('site')
site:localStorage.getItem('site'),
loading: false, // loading
lastPartNo: '', //
formData: {
partNo: '',
partDesc: '',
batchNo: '',
rollNo: '',
site:localStorage.getItem('site'),
}
}; };
}, },
computed: { computed: {
@ -44,10 +94,78 @@ export default {
this.$router.back(); this.$router.back();
}, },
//
async handlePartNoBlur() {
const partNo = this.formData.partNo;
if (!partNo) {
this.formData.partDesc = '';
return;
}
//
// if (this.lastPartNo === partNo) {
// return;
// }
this.loading = true;
getShopOrderFromIFSWithOrderNo({
site: this.formData.site,
partNo: partNo
}).then(({ data }) => {
this.loading = false;
if (data.code === 0) {
let rows=data.rows
if(rows.length>0){
this.formData.partDesc = rows[0].description || '';
}else {
this.formData.partDesc = '';
this.$alert('没有找到该物料编码', '错误', {
confirmButtonText: '确定',
})
}
} else {
//
this.formData.partDesc = '';
this.$alert(data.msg, '错误', {
confirmButtonText: '确定',
})
}
})
},
confirmDo() {
if(this.formData.partNo==null||this.formData.partNo===''){
this.$message.error('请输入物料编码');
return;
}
saveTransportTask(this.formData).then(({ data }) => {
if (data && data.code === 0) {
this.$message.success('操作成功');
this.cleanData()
} else {
this.$message.error(data.msg || '操作失败');
}
}).catch(error => {
console.error('出库确认失败:', error);
this.$message.error('操作失败');
});
},
cleanData(){
//
this.formData = {
partNo: '',
partDesc: '',
batchNo: '',
rollNo: '',
site:localStorage.getItem('site'),
};
},
}, },
mounted() { mounted() {
this.$nextTick(() => this.$refs.scanRmaRef && this.$refs.scanRmaRef.focus());
} }
}; };
</script> </script>

Loading…
Cancel
Save