Browse Source

发料修改

master
shenzhouyu 2 months ago
parent
commit
f73a152243
  1. 36
      src/views/modules/production-issue/directIssue.vue
  2. 8
      src/views/modules/production-return/productionReturnIssueList.vue
  3. 49
      src/views/modules/production-return/productionReturnPicking.vue
  4. 6
      src/views/modules/production-return/productionReturnPickingDetail.vue

36
src/views/modules/production-issue/directIssue.vue

@ -20,6 +20,22 @@
ref="workOrderInput"
/>
</div>
<div class="search-container">
<el-input
clearable
v-model="releaseNo"
placeholder="请输入下达号(默认*)"
@keyup.enter.native="handleSearchWorkOrder"
class="narrow-input"
/>
<el-input
clearable
v-model="sequenceNo"
placeholder="请输入序列号(默认*)"
@keyup.enter.native="handleSearchWorkOrder"
class="narrow-input"
/>
</div>
<!-- 工单信息卡片列表 -->
<div class="work-order-list" v-if="workOrderList.length > 0">
@ -126,6 +142,8 @@ export default {
data() {
return {
workOrderNo: "",
releaseNo: "*",
sequenceNo: "*",
workOrderList: [],
selectedWorkOrder: null,
materialList: [],
@ -151,6 +169,8 @@ export default {
savePageStateForDetail() {
const state = {
workOrderNo: this.workOrderNo,
releaseNo: this.releaseNo,
sequenceNo: this.sequenceNo,
workOrderList: this.workOrderList,
selectedWorkOrder: this.selectedWorkOrder,
materialList: this.materialList,
@ -168,6 +188,8 @@ export default {
if (shouldRestore === 'true' && savedState) {
const state = JSON.parse(savedState);
this.workOrderNo = state.workOrderNo || "";
this.releaseNo = state.releaseNo || "*";
this.sequenceNo = state.sequenceNo || "*";
this.workOrderList = state.workOrderList || [];
this.selectedWorkOrder = state.selectedWorkOrder || null;
this.materialList = state.materialList || [];
@ -203,6 +225,8 @@ export default {
this.loading = true;
const params = {
workOrderNo: this.workOrderNo.trim(),
releaseNo: (this.releaseNo || "*").trim() || "*",
sequenceNo: (this.sequenceNo || "*").trim() || "*",
site: localStorage.getItem('site'),
};
@ -274,6 +298,8 @@ export default {
const params = {
workOrderNo: this.selectedWorkOrder.orderNo,
site: localStorage.getItem('site'),
releaseNo: (this.releaseNo || "*").trim() || "*",
sequenceNo: (this.sequenceNo || "*").trim() || "*",
};
getWorkOrderMaterials(params)
@ -375,7 +401,7 @@ export default {
/* 搜索容器 */
.search-container {
padding: 12px 16px;
padding: 3px 16px;
background: white;
display: flex;
align-items: center;
@ -386,6 +412,14 @@ export default {
flex: 1;
}
.narrow-input {
width: 120px;
}
.narrow-input ::v-deep .el-input__inner {
text-align: center;
}
.search-btn {
padding: 8px 16px;
background: #17b3a3;

8
src/views/modules/production-return/productionReturnIssueList.vue

@ -82,6 +82,8 @@ export default {
issueList: [],
componentPartDesc: '',
lineItemNo: '',
releaseNo: '',
sequenceNo: '',
};
},
methods: {
@ -94,6 +96,8 @@ export default {
workOrderNo: this.workOrderNo,
site: localStorage.getItem('site'),
componentPartNo: this.componentPartNo,
releaseNo: this.releaseNo || '*',
sequenceNo: this.sequenceNo || '*',
};
getIssueForShopOrder(params)
.then(({ data }) => {
@ -129,6 +133,8 @@ export default {
batchNo: item.LOT_BATCH_NO,
lineItemNo: this.lineItemNo,
componentPartDesc: this.componentPartDesc,
releaseNo: this.releaseNo,
sequenceNo: this.sequenceNo,
},
});
},
@ -140,6 +146,8 @@ export default {
this.componentPartNo = this.$route.query.componentPartNo;
this.componentPartDesc = this.$route.query.componentPartDesc;
this.lineItemNo = this.$route.query.lineItemNo;
this.releaseNo = this.$route.query.releaseNo;
this.sequenceNo = this.$route.query.sequenceNo;
this.loadIssueList();
},
};

49
src/views/modules/production-return/productionReturnPicking.vue

@ -21,6 +21,22 @@
@keyup.enter.native="handleSearchWorkOrder"
ref="workOrderInput"
/>
</div>
<div class="search-container">
<el-input
clearable
v-model="releaseNo"
placeholder="请输入下达号(默认*)"
@keyup.enter.native="handleSearchWorkOrder"
class="narrow-input"
/>
<el-input
clearable
v-model="sequenceNo"
placeholder="请输入序列号(默认*)"
@keyup.enter.native="handleSearchWorkOrder"
class="narrow-input"
/>
</div>
<!-- 工单信息卡片列表 -->
@ -114,7 +130,7 @@
</div>
<!-- 加载状态 -->
<div v-if="loading" class="loading-state">
<div v-if="loading||detailLoading" class="loading-state">
<i class="el-icon-loading"></i>
<p>加载中...</p>
</div>
@ -130,11 +146,14 @@ export default {
data() {
return {
workOrderNo: "",
releaseNo: "*",
sequenceNo: "*",
workOrderList: [],
selectedWorkOrder: null,
materialList: [],
selectedMaterial: null,
loading: false,
detailLoading: false,
};
},
methods: {
@ -145,6 +164,8 @@ export default {
savePageStateForIssueList() {
const state = {
workOrderNo: this.workOrderNo,
releaseNo: this.releaseNo,
sequenceNo: this.sequenceNo,
workOrderList: this.workOrderList,
selectedWorkOrder: this.selectedWorkOrder,
materialList: this.materialList,
@ -159,6 +180,8 @@ export default {
if (shouldRestore === 'true' && savedState) {
const state = JSON.parse(savedState);
this.workOrderNo = state.workOrderNo || "";
this.releaseNo = state.releaseNo || "*";
this.sequenceNo = state.sequenceNo || "*";
this.workOrderList = state.workOrderList || [];
this.selectedWorkOrder = state.selectedWorkOrder || null;
this.materialList = state.materialList || [];
@ -180,13 +203,15 @@ export default {
}
this.loading = true;
this.detailLoading = true;
const params = {
workOrderNo: this.workOrderNo.trim(),
releaseNo: (this.releaseNo || "*").trim() || "*",
sequenceNo: (this.sequenceNo || "*").trim() || "*",
site: localStorage.getItem('site'),
};
getReturnWorkOrderInfo(params).then(({ data }) => {
this.loading = false;
console.log("工单信息", data);
if (
@ -208,8 +233,9 @@ export default {
}
})
.catch((error) => {
this.loading = false;
this.$message.error(error.msg);
}).finally(() => {
this.loading = false;
});
},
@ -228,12 +254,15 @@ export default {
const params = {
workOrderNo: this.selectedWorkOrder.orderNo,
releaseNo: (this.releaseNo || "*").trim() || "*",
sequenceNo: (this.sequenceNo || "*").trim() || "*",
site: localStorage.getItem('site'),
};
getWorkOrderMaterials(params)
.then(({ data }) => {
if (data && data.code === 0) {
this.detailLoading = false;
this.materialList = (data.materials || []).map((item, index) => ({
...item,
id: index + 1,
@ -246,6 +275,8 @@ export default {
.catch((error) => {
console.error('获取材料清单失败:', error);
this.$message.error('获取材料清单失败');
}).finally(() => {
this.detailLoading = false;
});
},
@ -257,6 +288,8 @@ export default {
name: 'productionReturnIssueList',
query: {
workOrderNo: this.selectedWorkOrder.orderNo,
releaseNo: (this.selectedWorkOrder.releaseNo || "*").trim() || "*",
sequenceNo: (this.selectedWorkOrder.sequenceNo || "*").trim() || "*",
componentPartNo: material.componentPartNo,
componentPartDesc: material.componentPartDesc,
lineItemNo: material.lineItemNo,
@ -321,7 +354,7 @@ export default {
/* 搜索容器 */
.search-container {
padding: 12px 16px;
padding: 3px 16px;
background: white;
display: flex;
align-items: center;
@ -332,6 +365,14 @@ export default {
flex: 1;
}
.narrow-input {
width: 120px;
}
.narrow-input ::v-deep .el-input__inner {
text-align: center;
}
/* 工单列表 */
.work-order-list {
overflow-y: auto;

6
src/views/modules/production-return/productionReturnPickingDetail.vue

@ -243,6 +243,8 @@ export default {
},
editIndex: -1, //
loading: false,
releaseNo: '',
sequenceNo: '',
}
},
computed: {
@ -403,6 +405,8 @@ export default {
issueQty: this.quantity,
notifyNo:this.notifyNo,
lineItemNo:this.lineItemNo,
releaseNo: this.releaseNo,
sequenceNo: this.sequenceNo,
// 退
selectedMaterials: this.labelList.map((label) => ({
labelCode: label.labelCode,
@ -577,6 +581,8 @@ export default {
this.batchNo = this.$route.query.batchNo
this.lineItemNo = this.$route.query.lineItemNo
this.componentPartDesc = this.$route.query.componentPartDesc
this.releaseNo = this.$route.query.releaseNo
this.sequenceNo = this.$route.query.sequenceNo
console.log(
'订单号:',
this.orderNo,

Loading…
Cancel
Save