|
|
|
@ -2,7 +2,7 @@ |
|
|
|
<div class="customer-css"> |
|
|
|
<!-- 操作按钮 --> |
|
|
|
<el-form :inline="true" style="margin-bottom: 2px;"> |
|
|
|
<el-button type="primary" @click="showSelectPoDialog" :disabled="!supplierNo" class="customer-bun-min">选择PO</el-button> |
|
|
|
<el-button type="primary" @click="showSelectPoDialog" class="customer-bun-min">选择PO</el-button> |
|
|
|
</el-form> |
|
|
|
|
|
|
|
<!-- 已关联PO列表表格 --> |
|
|
|
@ -16,31 +16,50 @@ |
|
|
|
<el-table-column |
|
|
|
prop="poNo" |
|
|
|
label="PO" |
|
|
|
width="180" |
|
|
|
width="120" |
|
|
|
align="center"/> |
|
|
|
|
|
|
|
<el-table-column |
|
|
|
prop="supplierNo" |
|
|
|
label="供应商编码" |
|
|
|
width="110" |
|
|
|
align="center"/> |
|
|
|
|
|
|
|
<el-table-column |
|
|
|
prop="supplierName" |
|
|
|
label="供应商描述" |
|
|
|
min-width="140" |
|
|
|
show-overflow-tooltip/> |
|
|
|
|
|
|
|
<el-table-column |
|
|
|
prop="buyer" |
|
|
|
label="Buyer" |
|
|
|
width="100" |
|
|
|
align="center"/> |
|
|
|
|
|
|
|
<el-table-column |
|
|
|
prop="poDate" |
|
|
|
label="PO Date" |
|
|
|
width="180" |
|
|
|
width="140" |
|
|
|
align="center"/> |
|
|
|
|
|
|
|
<el-table-column |
|
|
|
prop="sku" |
|
|
|
label="SKU" |
|
|
|
min-width="250" |
|
|
|
prop="partNo" |
|
|
|
label="物料编码" |
|
|
|
width="120" |
|
|
|
align="center" |
|
|
|
show-overflow-tooltip/> |
|
|
|
|
|
|
|
<el-table-column |
|
|
|
prop="partDesc" |
|
|
|
label="物料描述" |
|
|
|
min-width="160" |
|
|
|
show-overflow-tooltip/> |
|
|
|
|
|
|
|
<el-table-column |
|
|
|
prop="poQty" |
|
|
|
label="Qty" |
|
|
|
width="120" |
|
|
|
align="right"/> |
|
|
|
|
|
|
|
<el-table-column |
|
|
|
prop="shippedQty" |
|
|
|
label="Qty Shipped" |
|
|
|
width="110" |
|
|
|
width="90" |
|
|
|
align="right"/> |
|
|
|
|
|
|
|
<el-table-column |
|
|
|
@ -58,7 +77,7 @@ |
|
|
|
<el-dialog |
|
|
|
title="选择PO" |
|
|
|
:visible.sync="selectPoDialogVisible" |
|
|
|
width="50%" |
|
|
|
width="75%" |
|
|
|
top="10vh" |
|
|
|
:close-on-click-modal="false" |
|
|
|
append-to-body> |
|
|
|
@ -67,6 +86,16 @@ |
|
|
|
<el-form :inline="true" label-position="top" class="search-form-inline"> |
|
|
|
<div class="search-row"> |
|
|
|
|
|
|
|
<el-form-item class="search-item"> |
|
|
|
<span slot="label" class="choose-label" @click="getBaseList(501)">供应商编码</span> |
|
|
|
<el-input |
|
|
|
v-model="poSearchData.supplierNo" |
|
|
|
placeholder="供应商编码" |
|
|
|
style="width:120px" |
|
|
|
clearable |
|
|
|
@keyup.enter.native="loadAvailablePoList"/> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item label="PO" class="search-item"> |
|
|
|
<el-input |
|
|
|
v-model="poSearchData.poNo" |
|
|
|
@ -75,11 +104,12 @@ |
|
|
|
@keyup.enter.native="loadAvailablePoList"/> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item label="Part No" class="search-item"> |
|
|
|
<el-form-item label="物料编码" class="search-item"> |
|
|
|
<el-input |
|
|
|
v-model="poSearchData.partNo" |
|
|
|
placeholder="料号" |
|
|
|
placeholder="物料编码" |
|
|
|
style="width:120px" |
|
|
|
clearable |
|
|
|
@keyup.enter.native="loadAvailablePoList"/> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
@ -109,6 +139,7 @@ |
|
|
|
<el-button |
|
|
|
type="primary" |
|
|
|
size="small" |
|
|
|
:loading="poSearchLoading" |
|
|
|
@click="loadAvailablePoList"> |
|
|
|
查询 |
|
|
|
</el-button> |
|
|
|
@ -128,11 +159,14 @@ |
|
|
|
@selection-change="handleSelectionChange" |
|
|
|
:header-cell-style="{ textAlign: 'center' }"> |
|
|
|
<el-table-column type="selection" width="50" /> |
|
|
|
<el-table-column prop="poNo" label="PO" width="120" /> |
|
|
|
<el-table-column prop="poDate" label="PO Date" width="160" /> |
|
|
|
<el-table-column prop="sku" label="SKU" /> |
|
|
|
<el-table-column prop="qty" label="Qty" width="100" align="right" /> |
|
|
|
<el-table-column prop="shippedQty" label="Qty Shipped" width="120" align="right" /> |
|
|
|
<el-table-column prop="supplierNo" label="供应商编码" width="110" /> |
|
|
|
<el-table-column prop="supplierName" label="供应商描述" min-width="140" show-overflow-tooltip /> |
|
|
|
<el-table-column prop="buyer" label="Buyer" width="90" /> |
|
|
|
<el-table-column prop="poNo" label="PO" width="110" /> |
|
|
|
<el-table-column prop="poDate" label="PO Date" width="140" /> |
|
|
|
<el-table-column prop="partNo" label="物料编码" width="120" show-overflow-tooltip /> |
|
|
|
<el-table-column prop="partDesc" label="物料描述" min-width="140" show-overflow-tooltip /> |
|
|
|
<el-table-column prop="qty" label="Qty" width="90" align="right" /> |
|
|
|
</el-table> |
|
|
|
|
|
|
|
<span slot="footer" class="dialog-footer"> |
|
|
|
@ -140,15 +174,22 @@ |
|
|
|
<el-button @click="selectPoDialogVisible = false">关闭</el-button> |
|
|
|
</span> |
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
<Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
|
|
|
|
<script> |
|
|
|
import { getIssuePoList, getAvailablePoList, saveIssuePo, deleteIssuePo } from '@/api/quality/qualityIssue.js' |
|
|
|
import Chooselist from '@/views/modules/common/Chooselist_eam' |
|
|
|
|
|
|
|
export default { |
|
|
|
name: 'QualityIssuePoList', |
|
|
|
|
|
|
|
components: { |
|
|
|
Chooselist |
|
|
|
}, |
|
|
|
|
|
|
|
props: { |
|
|
|
issueNo: { |
|
|
|
type: String, |
|
|
|
@ -176,7 +217,10 @@ export default { |
|
|
|
selectPoDialogVisible: false, |
|
|
|
availablePoList: [], |
|
|
|
selectedPoRows: [], |
|
|
|
poSearchLoading: false, |
|
|
|
tagNo: null, |
|
|
|
poSearchData: { |
|
|
|
supplierNo: '', |
|
|
|
poNo: '', |
|
|
|
partNo: '', |
|
|
|
beginDate: '', |
|
|
|
@ -237,46 +281,72 @@ export default { |
|
|
|
|
|
|
|
// 显示选择PO对话框 |
|
|
|
showSelectPoDialog() { |
|
|
|
if (!this.supplierNo) { |
|
|
|
this.$message.warning('请先选择有供应商的质量问题记录') |
|
|
|
return |
|
|
|
} |
|
|
|
this.selectPoDialogVisible = true |
|
|
|
// 重置搜索条件 |
|
|
|
this.poSearchData = { |
|
|
|
supplierNo: '', |
|
|
|
poNo: '', |
|
|
|
partNo: '', |
|
|
|
beginDate: '', |
|
|
|
endDate: '' |
|
|
|
} |
|
|
|
this.availablePoList = [] |
|
|
|
this.selectedPoRows = [] |
|
|
|
this.loadAvailablePoList() |
|
|
|
}, |
|
|
|
|
|
|
|
getBaseList(val) { |
|
|
|
this.tagNo = val |
|
|
|
this.$nextTick(() => { |
|
|
|
const strVal = this.poSearchData.supplierNo || '' |
|
|
|
const conSql = " and site = '" + this.site + "'" |
|
|
|
this.$refs.baseList.init(val, strVal, conSql) |
|
|
|
}) |
|
|
|
}, |
|
|
|
|
|
|
|
getBaseData(val) { |
|
|
|
if (this.tagNo === 501) { |
|
|
|
this.poSearchData.supplierNo = val.SupplierID || val.supplierID || val.supplierId || '' |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
|
// 加载可用PO列表 |
|
|
|
loadAvailablePoList() { |
|
|
|
if (!this.site) { |
|
|
|
this.$message.warning('缺少站点信息') |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
const params = { |
|
|
|
site: this.site, |
|
|
|
supplierNo: this.supplierNo, |
|
|
|
supplierNo: this.poSearchData.supplierNo || undefined, |
|
|
|
poNo: this.poSearchData.poNo || undefined, |
|
|
|
partNo: this.poSearchData.partNo || undefined, |
|
|
|
beginDate: this.poSearchData.beginDate || undefined, |
|
|
|
endDate: this.poSearchData.endDate || undefined |
|
|
|
} |
|
|
|
|
|
|
|
this.poSearchLoading = true |
|
|
|
getAvailablePoList(params).then(({ data }) => { |
|
|
|
if (data.code === 0) { |
|
|
|
this.availablePoList = (data.page && data.page.list) || [] |
|
|
|
if (data && (data.code === 0 || data.code === '0')) { |
|
|
|
this.availablePoList = (data.page && data.page.list) ? data.page.list : [] |
|
|
|
this.$nextTick(() => { |
|
|
|
if (this.$refs.availablePoTable) { |
|
|
|
this.$refs.availablePoTable.clearSelection() |
|
|
|
} |
|
|
|
}) |
|
|
|
if (this.availablePoList.length === 0) { |
|
|
|
this.$message.info('未查询到符合条件的PO') |
|
|
|
} |
|
|
|
} else { |
|
|
|
this.availablePoList = [] |
|
|
|
this.$message.error((data && data.msg) || '查询PO失败') |
|
|
|
} |
|
|
|
}).catch(error => { |
|
|
|
console.error('加载可用PO列表失败:', error) |
|
|
|
this.availablePoList = [] |
|
|
|
this.$message.error('查询PO失败,请稍后重试') |
|
|
|
}).finally(() => { |
|
|
|
this.poSearchLoading = false |
|
|
|
}) |
|
|
|
}, |
|
|
|
|
|
|
|
@ -303,9 +373,7 @@ export default { |
|
|
|
poNo: row.poNo, |
|
|
|
itemNo: row.itemNo, |
|
|
|
partNo: row.partNo, |
|
|
|
sku: row.sku, |
|
|
|
qty: row.qty, |
|
|
|
shippedQty: row.shippedQty |
|
|
|
qty: row.qty |
|
|
|
})) |
|
|
|
|
|
|
|
const params = { |
|
|
|
@ -442,4 +510,14 @@ export default { |
|
|
|
/deep/ .el-link { |
|
|
|
font-size: 12px; |
|
|
|
} |
|
|
|
|
|
|
|
.choose-label { |
|
|
|
color: #2ec7c9; |
|
|
|
cursor: pointer; |
|
|
|
font-weight: 500; |
|
|
|
} |
|
|
|
|
|
|
|
.choose-label:hover { |
|
|
|
text-decoration: underline; |
|
|
|
} |
|
|
|
</style> |