|
|
|
@ -17,7 +17,7 @@ |
|
|
|
|
|
|
|
<!-- 申请单物料列表 --> |
|
|
|
<div class="work-order-list" v-if="returnRequestMaterials.length > 0 "> |
|
|
|
<div v-for="material in displayReturnRequestMaterials" :key="`${material.partNo}-${material.itemNo}`" |
|
|
|
<div v-for="(material,index) in displayReturnRequestMaterials" :key="index" |
|
|
|
:class="['work-order-card', { selected: selectedRequestMaterial && isSameRequestMaterial(selectedRequestMaterial, material) }]" @click="selectRequestMaterial(material)"> |
|
|
|
<div class="card-title"> |
|
|
|
<span class="title-label">申请单号:{{ material.notifyNo }} </span> |
|
|
|
@ -27,21 +27,24 @@ |
|
|
|
<div class="part-desc-row"> |
|
|
|
<span class="desc-text">工单号:{{ material.soorderNo }}</span> |
|
|
|
</div> |
|
|
|
<div class="part-desc-row"> |
|
|
|
<span class="desc-text">状态:{{ material.status }}</span> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div class="card-details"> |
|
|
|
<!-- <div class="card-details"> |
|
|
|
<div class="detail-item"> |
|
|
|
<div class="detail-label">申请数量</div> |
|
|
|
<div class="detail-value">{{ material.unissureQty }}</div> |
|
|
|
</div> |
|
|
|
<div class="detail-item"> |
|
|
|
<div class="detail-label">状态</div> |
|
|
|
<div class="detail-value">待退料</div> |
|
|
|
<div class="detail-value">{{material.status}}</div> |
|
|
|
</div> |
|
|
|
<div class="detail-item"> |
|
|
|
<div class="detail-label">单位</div> |
|
|
|
<div class="detail-value">{{ material.uom || "个" }}</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> --> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<!-- 材料列表(新增,仿 directIssue.vue) --> |
|
|
|
@ -70,7 +73,7 @@ |
|
|
|
|
|
|
|
<div class="card-details"> |
|
|
|
<div class="detail-item"> |
|
|
|
<div class="detail-label">需求数量</div> |
|
|
|
<div class="detail-label">申请数量</div> |
|
|
|
<div class="detail-value">{{ material.qtyToUnissue }}</div> |
|
|
|
</div> |
|
|
|
<div class="detail-item"> |
|
|
|
@ -152,6 +155,47 @@ export default { |
|
|
|
this.$router.back() |
|
|
|
}, |
|
|
|
|
|
|
|
// 保存页面状态到sessionStorage(仅用于从领料记录页返回时恢复) |
|
|
|
savePageStateForList() { |
|
|
|
const state = { |
|
|
|
requestReturnForm: { |
|
|
|
...this.requestReturnForm |
|
|
|
}, |
|
|
|
returnRequestMaterials: this.returnRequestMaterials, |
|
|
|
selectedRequestMaterial: this.selectedRequestMaterial, |
|
|
|
selectedWorkOrder: this.selectedWorkOrder, |
|
|
|
materialList: this.materialList, |
|
|
|
showOnlySelected: this.showOnlySelected, |
|
|
|
} |
|
|
|
sessionStorage.setItem('productionReturnPDA_state_fromList', JSON.stringify(state)) |
|
|
|
}, |
|
|
|
|
|
|
|
// 从sessionStorage恢复页面状态(仅当从领料记录页返回时) |
|
|
|
restorePageStateFromList() { |
|
|
|
try { |
|
|
|
const shouldRestore = sessionStorage.getItem('productionReturnPDA_shouldRestore') |
|
|
|
const savedState = sessionStorage.getItem('productionReturnPDA_state_fromList') |
|
|
|
if (shouldRestore === 'true' && savedState) { |
|
|
|
const state = JSON.parse(savedState) |
|
|
|
this.requestReturnForm = { |
|
|
|
...this.requestReturnForm, |
|
|
|
...state.requestReturnForm, |
|
|
|
} |
|
|
|
this.returnRequestMaterials = state.returnRequestMaterials || [] |
|
|
|
this.selectedRequestMaterial = state.selectedRequestMaterial || null |
|
|
|
this.selectedWorkOrder = state.selectedWorkOrder || '' |
|
|
|
this.materialList = state.materialList || [] |
|
|
|
this.showOnlySelected = state.showOnlySelected || false |
|
|
|
// 清除标记 |
|
|
|
sessionStorage.removeItem('productionReturnPDA_shouldRestore') |
|
|
|
sessionStorage.removeItem('productionReturnPDA_state_fromList') |
|
|
|
} |
|
|
|
} catch (error) { |
|
|
|
sessionStorage.removeItem('productionReturnPDA_shouldRestore') |
|
|
|
sessionStorage.removeItem('productionReturnPDA_state_fromList') |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
|
goBackToMaterials() { |
|
|
|
this.selectedRequestMaterial = null |
|
|
|
}, |
|
|
|
@ -250,6 +294,8 @@ export default { |
|
|
|
|
|
|
|
// 打开材料列表页面(仿照 productionReturnPicking.vue 的 openIssueList) |
|
|
|
openReturnDetail(material) { |
|
|
|
// 跳转前保存当前页面状态(用于从领料记录返回时恢复) |
|
|
|
this.savePageStateForList() |
|
|
|
this.$router.push({ |
|
|
|
name: 'productionReturnPDAList', |
|
|
|
query: { |
|
|
|
@ -283,6 +329,8 @@ export default { |
|
|
|
this.resetRequest() |
|
|
|
}, |
|
|
|
mounted() { |
|
|
|
// 如果是从领料记录返回,则恢复页面状态 |
|
|
|
this.restorePageStateFromList() |
|
|
|
// 聚焦申请单号输入框 |
|
|
|
this.$nextTick(() => { |
|
|
|
if (this.$refs.requestNoInput) { |
|
|
|
@ -349,7 +397,7 @@ export default { |
|
|
|
/* 工单列表 */ |
|
|
|
.work-order-list { |
|
|
|
overflow-y: auto; |
|
|
|
padding: 12px 16px; |
|
|
|
padding: 12px 10px; |
|
|
|
} |
|
|
|
|
|
|
|
/* 工单卡片 */ |
|
|
|
|