diff --git a/src/views/PurchasingManagement/OrderInquiry/index.vue b/src/views/PurchasingManagement/OrderInquiry/index.vue index 64e5c954..4a5afc7d 100644 --- a/src/views/PurchasingManagement/OrderInquiry/index.vue +++ b/src/views/PurchasingManagement/OrderInquiry/index.vue @@ -62,6 +62,7 @@ placeholder="订单备注" @keyup.enter.native="pageCurrent=1;searchLeftTable()"/> 导出 + 生成入库单 @@ -561,6 +562,98 @@ + + + + + + + + + + + + + + + 查询 + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + + 到货汇总 +
+ 本次到货物料数:{{ arrivalCount }} 个, + 其中需质检:{{ qualityCheckCount }} 个 → 推送质检部, + 免检直接入库:{{ noQualityCheckCount }} 个 → 推送仓库 +
+
+
+
+ +
@@ -636,14 +729,34 @@ export default { 最高单价: '', 最近单价: '' }, - historyPriceList: [] + historyPriceList: [], + // 生成入库单相关 + dialogFormVisible4: false, + arrivalSupplierName: '', + arrivalContractNo: '', + arrivalContract: [], + arrivalContractLabel: '', + arrivalNoticeLabel: '', + arrivalTableData: [] } }, computed: { ...mapGetters([ 'id', 'token' - ]) + ]), + hasArrivalData() { + return this.arrivalTableData.some(item => item.到货数量 > 0) + }, + arrivalCount() { + return this.arrivalTableData.filter(item => item.到货数量 > 0).length + }, + qualityCheckCount() { + return this.arrivalTableData.filter(item => item.到货数量 > 0 && item.需要质检).length + }, + noQualityCheckCount() { + return this.arrivalTableData.filter(item => item.到货数量 > 0 && !item.需要质检).length + } }, updated() { this.$nextTick(() => { @@ -1293,6 +1406,110 @@ export default { } return approverId }, + addArrivalNotice() { + this.arrivalSupplierName = '' + this.arrivalContractNo = '' + this.arrivalContractLabel = '' + this.arrivalNoticeLabel = '' + this.arrivalContract = [] + this.arrivalTableData = [] + this.dialogFormVisible4 = true + }, + getArrivalContract() { + if (!this.arrivalSupplierName) { + this.arrivalContract = [] + return + } + let check = this.arrivalSupplierName ? 1 : 0 + this.arrivalContract = [] + this.arrivalContractNo = '' + var param = [] + param[0] = ['供应商流水号_check', check] + param[1] = ['供应商流水号', this.arrivalSupplierName] + var Data = this.CreateData('11', '仓储管理_采购入库合同_查询', param) + this.ExecDatabase(Data).then(response => { + this.arrivalContract = response.data.map(item => ({ + label: item.采购合同编号, + value: item.采购合同流水号 + })) + }) + }, + onArrivalContractChange(val) { + const selected = this.arrivalContract.find(item => item.value === val) + if (selected) { + this.arrivalContractLabel = selected.label + this.arrivalNoticeLabel = selected.label + } + }, + searchArrivalDetail() { + if (!this.arrivalSupplierName) { + this.$message.warning('请先选择供应商') + return + } + if (!this.arrivalContractNo) { + this.$message.warning('请先选择合同号') + return + } + var param = [] + param[0] = ['供应商流水号', this.arrivalSupplierName] + param[1] = ['采购合同流水号', this.arrivalContractNo] + var Data = this.CreateData('11', '采购管理_采购入库合同明细_查询', param) + this.ExecDatabase(Data).then(response => { + this.arrivalTableData = response.data.map(item => ({ + ...item, + 到货数量: 0, + 需要质检: false + })) + if (this.arrivalTableData.length === 0) { + this.$message.info('该合同下没有物料明细') + } + }) + }, + submitArrivalNotice() { + const arrivalData = this.arrivalTableData.filter(item => item.到货数量 > 0) + if (arrivalData.length === 0) { + this.$message.warning('请至少填写一个物料的到货数量!') + return + } + const toQualityCheck = arrivalData.filter(item => item.需要质检 === true) + const toWarehouse = arrivalData.filter(item => item.需要质检 === false) + var param = [] + param[0] = ['通知内容', this.arrivalNoticeLabel] + param[1] = ['发起人', this.id] + param[2] = ['采购合同流水号', this.arrivalContractNo] + param[3] = ['到货数组', arrivalData.map(item => item.到货数量).join(',')] + param[4] = ['物料流水号组', arrivalData.map(item => item.物料流水号).join(',')] + param[5] = ['质检标志组', arrivalData.map(item => item.需要质检 ? 1 : 0).join(',')] + param[6] = ['采购合同', this.arrivalContractLabel] + param[7] = ['供应商流水号', this.arrivalSupplierName] + var Data = this.CreateData('12', '采购管理_到货内容_新增', param) + this.ExecDatabase(Data).then(response => { + if (response.data[0].result === '1') { + let message = '通知成功!' + if (toQualityCheck.length > 0) { + message += toQualityCheck.length + '个物料送质检部' + } + if (toWarehouse.length > 0) { + message += (toQualityCheck.length > 0 ? ',' : '') + toWarehouse.length + '个物料直接入库' + } + this.$message({ + message: message, + type: 'success', + duration: 3000 + }) + this.searchLeftTable() + this.dialogFormVisible4 = false + } else { + this.$message.error('通知失败') + } + }).catch(() => { + this.$message.error('操作失败,请重试') + }) + }, + callOffArrival() { + this.dialogFormVisible4 = false + this.$message.warning('已取消') + }, showHistoryPrice(row) { var param = [] param[0] = ['采购合同流水号', row.采购合同流水号] diff --git a/src/views/SeikoWorkshop/PartTraceability/index.vue b/src/views/SeikoWorkshop/PartTraceability/index.vue index c15cf5f6..577cb657 100644 --- a/src/views/SeikoWorkshop/PartTraceability/index.vue +++ b/src/views/SeikoWorkshop/PartTraceability/index.vue @@ -151,7 +151,6 @@
-
@@ -213,6 +212,16 @@ + + + + + + - - - - - -