Browse Source

Merge remote-tracking branch 'origin/master'

master
qiankanghui 2 weeks ago
parent
commit
4c81cf67c6
  1. 142
      src/views/modules/quality/com_qualityIssuePoList.vue

142
src/views/modules/quality/com_qualityIssuePoList.vue

@ -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>
Loading…
Cancel
Save