Browse Source

生产领料海安修改

dev
shenzhouyu 2 weeks ago
parent
commit
e031c258f4
  1. 111
      src/views/modules/haianWarehouse/shopOrderIssueNotify/ShopOrderIssueNotify54.vue

111
src/views/modules/haianWarehouse/shopOrderIssueNotify/ShopOrderIssueNotify54.vue

@ -167,6 +167,27 @@
<el-button type="primary" @click="seqNoModalFlag = false">关闭</el-button> <el-button type="primary" @click="seqNoModalFlag = false">关闭</el-button>
</el-footer> </el-footer>
</el-dialog> </el-dialog>
<!-- 同一订单号对应多个site时先选具体contract再查物料 - rqrq -->
<el-dialog title="选择工单Site" :close-on-click-modal="false" v-drag :visible.sync="shopOrderSiteSelectFlag" width="900px" append-to-body>
<el-table :height="360" :data="shopOrderCandidateList" border style="width: 100%;" highlight-current-row>
<el-table-column prop="contract" label="Site" min-width="100" header-align="center" align="center" show-overflow-tooltip></el-table-column>
<el-table-column prop="orderNo" label="OrderNo" min-width="120" header-align="center" align="center" show-overflow-tooltip></el-table-column>
<el-table-column prop="releaseNo" label="ReleaseNo" min-width="90" header-align="center" align="center"></el-table-column>
<el-table-column prop="sequenceNo" label="SequenceNo" min-width="90" header-align="center" align="center"></el-table-column>
<el-table-column prop="partNo" label="产品编码" min-width="120" header-align="center" align="center" show-overflow-tooltip></el-table-column>
<el-table-column prop="partDesc" label="产品名称" min-width="160" header-align="center" align="left" show-overflow-tooltip></el-table-column>
<el-table-column prop="objstate" label="状态" min-width="90" header-align="center" align="center"></el-table-column>
<el-table-column prop="lotSize" label="工单数量" min-width="90" header-align="center" align="right"></el-table-column>
<el-table-column fixed="right" header-align="center" align="center" width="90" label="操作">
<template slot-scope="scope">
<el-button type="primary" size="mini" plain :loading="seqNoModalLoading" @click="confirmShopOrderSite(scope.row)">选择</el-button>
</template>
</el-table-column>
</el-table>
<el-footer style="height:40px;margin-top: 10px;text-align:center">
<el-button type="primary" @click="shopOrderSiteSelectFlag = false">关闭</el-button>
</el-footer>
</el-dialog>
<el-dialog title="保存工单" :close-on-click-modal="false" v-drag :visible.sync="saveSeqNoModalFlag" width="750px"> <el-dialog title="保存工单" :close-on-click-modal="false" v-drag :visible.sync="saveSeqNoModalFlag" width="750px">
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;"> <el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;">
<el-row :gutter="20"> <el-row :gutter="20">
@ -734,7 +755,7 @@ export default {
fixed: false, fixed: false,
columnWidth: 100, columnWidth: 100,
}, },
/* {
{
userId: this.$store.state.user.name, userId: this.$store.state.user.name,
functionId: 555001, functionId: 555001,
serialNumber: '555001Table2ReleaseNo', serialNumber: '555001Table2ReleaseNo',
@ -769,7 +790,7 @@ export default {
status: true, status: true,
fixed: false, fixed: false,
columnWidth: 80, columnWidth: 80,
}, */
},
{ {
userId: this.$store.state.user.name, userId: this.$store.state.user.name,
functionId: 555001, functionId: 555001,
@ -788,16 +809,16 @@ export default {
fixed: false, fixed: false,
columnWidth: 70, columnWidth: 70,
}, },
/* {
{
userId: this.$store.state.user.name, userId: this.$store.state.user.name,
functionId: 555001, functionId: 555001,
serialNumber: '555001Table2Contract',
serialNumber: '555001Table2SubSite',
tableId: '555001Table2', tableId: '555001Table2',
tableName: '查询工单及物料', tableName: '查询工单及物料',
columnProp: 'contract',
columnProp: 'subSite',
headerAlign: 'center', headerAlign: 'center',
align: 'center', align: 'center',
columnLabel: '合同',
columnLabel: 'Site',
columnHidden: false, columnHidden: false,
columnImage: false, columnImage: false,
columnSortable: false, columnSortable: false,
@ -805,7 +826,7 @@ export default {
status: true, status: true,
fixed: false, fixed: false,
columnWidth: 100, columnWidth: 100,
}, */
},
{ {
userId: this.$store.state.user.name, userId: this.$store.state.user.name,
functionId: 555001, functionId: 555001,
@ -1433,6 +1454,9 @@ export default {
chooseLoading: false, chooseLoading: false,
seqNoModalLoading: false, seqNoModalLoading: false,
saveNewLoading: false, saveNewLoading: false,
// sitecontract- rqrq
shopOrderSiteSelectFlag: false,
shopOrderCandidateList: [],
} }
}, },
@ -1771,7 +1795,7 @@ export default {
chooseSOSModal() { chooseSOSModal() {
this.seqNoData = { this.seqNoData = {
site: this.$store.state.user.site,
site: this.$store.state.user.site+'%',
orderNo: '', orderNo: '',
releaseNo: '*', releaseNo: '*',
sequenceNo: '*', sequenceNo: '*',
@ -1784,9 +1808,11 @@ export default {
endDate: this.dayjs().format('YYYY-MM-DD'), endDate: this.dayjs().format('YYYY-MM-DD'),
} }
this.seqNoList = [] this.seqNoList = []
this.shopOrderCandidateList = []
this.shopOrderSiteSelectFlag = false
this.seqNoModalFlag = true this.seqNoModalFlag = true
}, },
// IFScontractsubSite - rqrq
// site%ShopOrdercontractsite - rqrq
searchSOSRouting() { searchSOSRouting() {
if (!this.seqNoData.orderNo || !this.seqNoData.releaseNo || !this.seqNoData.sequenceNo) { if (!this.seqNoData.orderNo || !this.seqNoData.releaseNo || !this.seqNoData.sequenceNo) {
this.$message.warning('请输入完整的OrderNo/ReleaseNo/SequenceNo!') this.$message.warning('请输入完整的OrderNo/ReleaseNo/SequenceNo!')
@ -1796,7 +1822,66 @@ export default {
return false return false
} }
this.seqNoModalLoading = true this.seqNoModalLoading = true
haiAnGetShopOrderAndMaterialByShoporder(this.seqNoData)
let materialFetchStarted = false
const shopOrderQuery = {
...this.seqNoData,
site: (this.$store.state.user.site || '') + '%',
}
haiAnGetShopOrderFromIFSWithOrderNo(shopOrderQuery)
.then(({ data }) => {
if (!(data && data.code === 0 && data.rows && data.rows.length > 0)) {
this.$message.error((data && data.msg) || '未查询到工单')
return
}
const allowedStatuses = ['Released', 'Reserved', 'Started']
const validOrders = data.rows.filter(item => allowedStatuses.includes(item.objstate))
if (data.rows.length > 0 && validOrders.length === 0) {
this.$message.error('生产订单' + this.seqNoData.orderNo + '状态不允许发料,请检查!')
return
}
if (validOrders.length === 1) {
// loading - rqrq
materialFetchStarted = true
return this.fetchShopOrderMaterial(validOrders[0])
}
// sitecontract - rqrq
this.shopOrderCandidateList = validOrders
this.shopOrderSiteSelectFlag = true
})
.catch((e) => {
this.$message.error((e && e.msg) || '查询工单失败')
})
.finally(() => {
if (!materialFetchStarted) {
this.seqNoModalLoading = false
}
})
},
// site(contract) - rqrq
confirmShopOrderSite(row) {
if (!row) {
return
}
this.shopOrderSiteSelectFlag = false
this.fetchShopOrderMaterial(row)
},
// 使site(contract)ShopOrderMaterialsubSite - rqrq
fetchShopOrderMaterial(shopOrder) {
const contract = (shopOrder && (shopOrder.contract || shopOrder.site)) || ''
if (!contract) {
this.seqNoModalLoading = false
this.$message.error('工单缺少Site(contract)信息,无法查询物料')
return Promise.resolve()
}
this.seqNoModalLoading = true
const materialQuery = {
...this.seqNoData,
site: contract,
orderNo: (shopOrder && shopOrder.orderNo) || this.seqNoData.orderNo,
releaseNo: (shopOrder && shopOrder.releaseNo) || this.seqNoData.releaseNo,
sequenceNo: (shopOrder && shopOrder.sequenceNo) || this.seqNoData.sequenceNo,
}
return haiAnGetShopOrderAndMaterialByShoporder(materialQuery)
.then(({ data }) => { .then(({ data }) => {
if (data && data.code === 0 && data.rows && data.rows.length > 0) { if (data && data.code === 0 && data.rows && data.rows.length > 0) {
data.rows.forEach(newRow => { data.rows.forEach(newRow => {
@ -1805,8 +1890,8 @@ export default {
const qtyReserved = parseFloat(newRow.qtyReserved) || 0 const qtyReserved = parseFloat(newRow.qtyReserved) || 0
const applyQty = qtyRequired - qtyIssued - qtyReserved const applyQty = qtyRequired - qtyIssued - qtyReserved
this.$set(newRow, 'applyQty', applyQty > 0 ? applyQty : 0) this.$set(newRow, 'applyQty', applyQty > 0 ? applyQty : 0)
// subSiteIFScontract/sitesubsite - rqrq
this.$set(newRow, 'subSite', newRow.subSite || newRow.contract || newRow.site || '')
// subSitecontract - rqrq
this.$set(newRow, 'subSite', newRow.subSite || newRow.contract || contract || newRow.site || '')
this.seqNoList.push(newRow) this.seqNoList.push(newRow)
}) })
this.$message.success(`成功添加 ${data.rows.length} 条数据`) this.$message.success(`成功添加 ${data.rows.length} 条数据`)
@ -1815,7 +1900,7 @@ export default {
} }
}) })
.catch((e) => { .catch((e) => {
this.$message.error(e.msg || '查询失败')
this.$message.error((e && e.msg) || '查询失败')
}) })
.finally(() => { .finally(() => {
this.seqNoModalLoading = false this.seqNoModalLoading = false

Loading…
Cancel
Save