Browse Source

发料退料添加模糊查询新接口

master
shenzhouyu 1 month ago
parent
commit
21ab18cd38
  1. 2
      src/api/production/production-issue.js
  2. 51
      src/views/modules/production-issue/directIssue.vue
  3. 101
      src/views/modules/production-return/productionReturnPicking.vue

2
src/api/production/production-issue.js

@ -43,4 +43,6 @@ export const confirmDirectIssue = data => createAPI(`/pda/production/issue/confi
export const confirmProductionPicking = data => createAPI(`/pda/production/issue/confirmProductionPicking`,'post',data)
export const getShopOrderLine = data => createAPI(`/pda/production/issue/getShopOrderLine`,'post',data)

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

@ -16,11 +16,12 @@
v-model="workOrderNo"
placeholder="请输入工单号"
prefix-icon="el-icon-search"
@keyup.enter.native="handleSearchWorkOrder"
@keyup.enter.native="handleSearchWorkOrderByShopOrderLine"
ref="workOrderInput"
/>
</div>
<div class="search-container">
<!-- 原先需要精准查询现在不用了换成模糊查询接口 -->
<!-- <div class="search-container">
<el-input
clearable
v-model="releaseNo"
@ -35,7 +36,7 @@
@keyup.enter.native="handleSearchWorkOrder"
class="narrow-input"
/>
</div>
</div> -->
<!-- 工单信息卡片列表 -->
<div class="work-order-list" v-if="workOrderList.length > 0">
@ -135,6 +136,7 @@
import {
getWorkOrderInfo,
getWorkOrderMaterials,
getShopOrderLine,
} from "@/api/production/production-issue";
import moment from "moment";
@ -215,7 +217,7 @@ export default {
}
},
//
//
handleSearchWorkOrder() {
if (!this.workOrderNo.trim()) {
this.$message.warning("请输入工单号");
@ -258,6 +260,47 @@ export default {
});
},
// 使ShopOrderLine
handleSearchWorkOrderByShopOrderLine() {
if (!this.workOrderNo.trim()) {
this.$message.warning("请输入工单号");
return;
}
this.loading = true;
const params = {
workOrderNo: this.workOrderNo.trim(),
site: localStorage.getItem('site'),
};
getShopOrderLine(params)
.then(({ data }) => {
this.loading = false;
console.log("工单信息", data);
if (
data.workOrders &&
data.workOrders.length > 0 &&
data.code === 0
) {
this.workOrderList = data.workOrders;
this.selectedWorkOrder = null;
this.materialList = [];
this.showOnlySelected = false;
} else {
this.$message.error(data.msg ||"未找到该工单信息");
this.workOrderList = [];
this.selectedWorkOrder = null;
this.materialList = [];
this.showOnlySelected = false;
}
})
.catch((error) => {
this.loading = false;
this.$message.error(error.msg || "查询工单信息失败");
});
},
//
isSameWorkOrder(a, b) {
if (!a || !b) return false;

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

@ -18,11 +18,12 @@
v-model="workOrderNo"
placeholder="请输入工单号"
prefix-icon="el-icon-search"
@keyup.enter.native="handleSearchWorkOrder"
@keyup.enter.native="handleSearchWorkOrderByShopOrderLine"
ref="workOrderInput"
/>
</div>
<div class="search-container">
<!-- 原先需要精准查询现在不用了换成模糊查询接口 -->
<!-- <div class="search-container">
<el-input
clearable
v-model="releaseNo"
@ -37,21 +38,18 @@
@keyup.enter.native="handleSearchWorkOrder"
class="narrow-input"
/>
</div>
</div> -->
<!-- 工单信息卡片列表 -->
<!-- <div class="work-order-list" v-if="workOrderList.length > 0">
<div class="work-order-list" v-if="displayWorkOrderList.length > 0">
<div
v-for="(workOrder, index) in workOrderList"
v-for="(workOrder, index) in displayWorkOrderList"
:key="index"
class="work-order-card"
:class="['work-order-card', { selected: selectedWorkOrder && selectedWorkOrder.orderNo === workOrder.orderNo && selectedWorkOrder.releaseNo === workOrder.releaseNo && selectedWorkOrder.sequenceNo === workOrder.sequenceNo }]"
@click="selectWorkOrder(workOrder)"
>
<div class="card-title">
<span class="title-label">工单号{{ workOrder.orderNo }}</span>
</div>
<div class="part-desc-row">
<span class="title-label">工单号{{ workOrder.orderNo }}-{{workOrder.releaseNo}}-{{workOrder.sequenceNo}}</span>
<span class="title-value">{{ workOrder.partNo }}</span>
</div>
<div class="part-desc-row">
@ -73,7 +71,7 @@
</div>
</div>
</div>
</div> -->
</div>
<!-- 材料列表新增仿 directIssue.vue -->
<div
@ -87,7 +85,7 @@
@click="openIssueList(material)"
>
<div class="card-title">
<span class="title-label">工单号{{ material.orderNo }}</span>
<span class="title-label">工单号{{ material.orderNo }}-{{material.releaseNo}}-{{material.sequenceNo}}</span>
</div>
<div class="card-title">
@ -138,7 +136,7 @@
</template>
<script>
import { getWorkOrderMaterials } from '@/api/production/production-issue';
import { getWorkOrderMaterials, getShopOrderLine } from '@/api/production/production-issue';
import { getReturnWorkOrderInfo } from '@/api/production/production-return';
import moment from 'moment';
@ -154,8 +152,17 @@ export default {
selectedMaterial: null,
loading: false,
detailLoading: false,
showOnlySelected: false,
};
},
computed: {
displayWorkOrderList() {
if (this.showOnlySelected && this.selectedWorkOrder) {
return [this.selectedWorkOrder];
}
return this.workOrderList;
},
},
methods: {
formatDate(date) {
return date ? moment(date).format('YYYY-MM-DD') : '';
@ -169,8 +176,10 @@ export default {
workOrderList: this.workOrderList,
selectedWorkOrder: this.selectedWorkOrder,
materialList: this.materialList,
showOnlySelected: this.showOnlySelected,
};
sessionStorage.setItem('productionReturnPicking_state_fromIssueList', JSON.stringify(state));
sessionStorage.setItem('productionReturnPicking_shouldRestore', 'true');
},
// sessionStorage
restorePageStateFromIssueList() {
@ -185,6 +194,7 @@ export default {
this.workOrderList = state.workOrderList || [];
this.selectedWorkOrder = state.selectedWorkOrder || null;
this.materialList = state.materialList || [];
this.showOnlySelected = state.showOnlySelected || false;
//
sessionStorage.removeItem('productionReturnPicking_shouldRestore');
sessionStorage.removeItem('productionReturnPicking_state_fromIssueList');
@ -195,7 +205,7 @@ export default {
sessionStorage.removeItem('productionReturnPicking_state_fromIssueList');
}
},
//
//
handleSearchWorkOrder() {
if (!this.workOrderNo.trim()) {
this.$message.warning("请输入工单号");
@ -224,12 +234,14 @@ export default {
this.selectedWorkOrder = firstWorkOrder;
this.workOrderList = [];
this.materialList = [];
this.showOnlySelected = true;
this.loadMaterialList();
} else {
this.$message.error(data.msg);
this.workOrderList = [];
this.selectedWorkOrder = null;
this.materialList = [];
this.showOnlySelected = false;
this.detailLoading = false
}
})
@ -241,9 +253,66 @@ export default {
});
},
// 使 getShopOrderLine
handleSearchWorkOrderByShopOrderLine() {
if (!this.workOrderNo.trim()) {
this.$message.warning("请输入工单号");
return;
}
this.loading = true;
const params = {
workOrderNo: this.workOrderNo.trim(),
site: localStorage.getItem('site'),
};
getShopOrderLine(params)
.then(({ data }) => {
this.loading = false;
console.log("工单信息", data);
if (
data.workOrders &&
data.workOrders.length > 0 &&
data.code === 0
) {
this.workOrderList = data.workOrders;
this.selectedWorkOrder = null;
this.materialList = [];
this.showOnlySelected = false;
} else {
this.$message.error(data.msg || "未找到该工单信息");
this.workOrderList = [];
this.selectedWorkOrder = null;
this.materialList = [];
this.showOnlySelected = false;
}
})
.catch((error) => {
this.loading = false;
this.$message.error(error.msg || "查询工单信息失败");
});
},
//
selectWorkOrder(workOrder) {
if (
this.showOnlySelected &&
this.selectedWorkOrder &&
this.selectedWorkOrder.orderNo === workOrder.orderNo &&
this.selectedWorkOrder.releaseNo === workOrder.releaseNo &&
this.selectedWorkOrder.sequenceNo === workOrder.sequenceNo
) {
//
this.selectedWorkOrder = null;
this.materialList = [];
this.showOnlySelected = false;
return;
}
this.selectedWorkOrder = workOrder;
this.showOnlySelected = true;
this.detailLoading = true;
this.loadMaterialList();
},
@ -256,8 +325,8 @@ export default {
const params = {
workOrderNo: this.selectedWorkOrder.orderNo,
releaseNo: (this.releaseNo || "*").trim() || "*",
sequenceNo: (this.sequenceNo || "*").trim() || "*",
releaseNo: (this.selectedWorkOrder.releaseNo || this.releaseNo || "*").trim() || "*",
sequenceNo: (this.selectedWorkOrder.sequenceNo || this.sequenceNo || "*").trim() || "*",
site: localStorage.getItem('site'),
};

Loading…
Cancel
Save