diff --git a/src/api/PurchasingCenter/FundApproval.js b/src/api/PurchasingCenter/FundApproval.js index 5a696614..d334f78d 100644 --- a/src/api/PurchasingCenter/FundApproval.js +++ b/src/api/PurchasingCenter/FundApproval.js @@ -75,14 +75,14 @@ export function execApprovalOffline(num1, num2, reason, person, state) { }) } // 采购合同内容查询 -export function searchContactDetail(num) { +export function searchContactDetail(check, num1, num2) { return request({ url: '', method: 'post', data: { type: '1', - name: '采购管理_采购合同内容_查询数据', - param: '采购合同流水号=' + num + name: '采购管理_采购合同内容_查询数据_合并后', + param: `check=${check}&采购合同流水号=${num1}&离线合同流水号=${num2}` } }) } diff --git a/src/api/PurchasingCenter/PurchaseContractRequestFund.js b/src/api/PurchasingCenter/PurchaseContractRequestFund.js index 4c8c7443..e00fd12b 100644 --- a/src/api/PurchasingCenter/PurchaseContractRequestFund.js +++ b/src/api/PurchasingCenter/PurchaseContractRequestFund.js @@ -12,14 +12,14 @@ export function searchTable0(check, date1, date2) { }) } // 采购合同内容查询 -export function searchContract(num) { +export function searchContract(check, num1, num2) { return request({ url: '', method: 'post', data: { type: '1', - name: '采购管理_采购合同内容_查询数据', - param: '采购合同流水号=' + num + name: '采购管理_采购合同内容_查询数据_合并后', + param: `check=${check}&采购合同流水号=${num1}&离线合同流水号=${num2}` } }) } @@ -48,14 +48,14 @@ export function searchSupplier() { }) } // 采购合同请款 -export function submitRequestFund(contractGroup, sumGroup, supplier, money, person) { +export function submitRequestFund(contractGroup, offGroup, sumGroup, supplier, money, person) { return request({ url: '', method: 'post', data: { type: '2', - name: '采购管理_采购合同_请款_增加数据', - param: `采购合同流水号组=${contractGroup}&合同总额组=${sumGroup}&供应商流水号=${supplier}&请款金额=${money}&请款人=${person}` + name: '采购管理_采购合同_请款_增加数据_合并后', + param: `采购合同流水号组=${contractGroup}&离线合同流水号组=${offGroup}&合同总额组=${sumGroup}&供应商流水号=${supplier}&请款金额=${money}&请款人=${person}` } }) } @@ -84,14 +84,14 @@ export function cancelRequestFund(num) { }) } // 查询离线合同待请款信息 -export function searchPurchaseContract(check, num) { +export function searchPurchaseContract(check1, check, num) { return request({ url: '', method: 'post', data: { type: '1', - name: '采购管理_采购合同_查询数据', - param: `供应商流水号_check=${check}&供应商流水号=${num}` + name: '采购管理_采购合同_查询数据_合并后', + param: `check=${check1}&供应商流水号_check=${check}&供应商流水号=${num}` } }) } diff --git a/src/views/PurchasingCenter/FundApproval1/index.vue b/src/views/PurchasingCenter/FundApproval1/index.vue index 9a3528c7..9171bc17 100644 --- a/src/views/PurchasingCenter/FundApproval1/index.vue +++ b/src/views/PurchasingCenter/FundApproval1/index.vue @@ -30,7 +30,7 @@ @@ -58,72 +58,11 @@ @current-change="handleCurrentChange1"/> - - -

离线合同

- - - - - - - - - - - - - - - - - -
- -
-
-

采购合同

-
-

离线合同

- - +

合同明细

+ + @@ -131,7 +70,7 @@ {{ scope.row.物料名称 }} - + @@ -141,31 +80,36 @@ {{ scope.row.物料型号 }} - + - + - + - + + + +
@@ -205,8 +149,11 @@ export default { }, methods: { searchContactDetail(row) { - searchContactDetail(row.采购合同流水号).then(response => { - this.contractDetail1 = response.data[0].合同内容 + var check + row.采购合同流水号 ? check = 1 : check = 2 + searchContactDetail(check, row.采购合同流水号, row.离线合同流水号).then(response => { + this.contractDetail2 = response.data + // this.contractDetail1 = response.data[0].合同内容 }) }, searchOfflineContactDetail(row) { // 查询离线合同明细 @@ -220,7 +167,7 @@ export default { columns.forEach((column, index) => { if (index === 0) { sums[index] = '总价' - } else if (index === 7) { + } else if (index === 6) { const values = data.map(item => Number(parseFloat(item['单价']) * parseInt(item['数量']))) if (!values.every(value => isNaN(value))) { sums[index] = values.reduce((prev, curr) => { @@ -231,7 +178,7 @@ export default { return prev } }, 0) - sums[index] += ' 元' + sums[index] = sums[index].toFixed(2) + ' 元' } else { sums[index] = 'N/A' } @@ -241,7 +188,7 @@ export default { }, fetchData() { this.searchTable1() - this.searchTable2() + // this.searchTable2() }, searchTable1() { initApproval(this.pageCurrent1, this.pageSize1, 0).then(response => { @@ -310,6 +257,7 @@ export default { execApproval(row.采购合同请款流水号, 2, value, this.id, 0).then(response => { if (response.data[0].result === '1') { this.$message.success('执行成功') + this.tableData2 = [] this.searchTable1() } else { this.$message.error('执行失败') } }) diff --git a/src/views/PurchasingCenter/FundApproval2/index.vue b/src/views/PurchasingCenter/FundApproval2/index.vue index e766fa6b..59ad373e 100644 --- a/src/views/PurchasingCenter/FundApproval2/index.vue +++ b/src/views/PurchasingCenter/FundApproval2/index.vue @@ -26,11 +26,11 @@ @@ -245,8 +149,33 @@ export default { this.fetchData() }, methods: { + getSummaries2(param) { // 合计 + const { columns, data } = param + const sums = [] + columns.forEach((column, index) => { + if (index === 0) { + sums[index] = '总价' + return + } else if (index === 2 || index === 3) { + const values = data.map(item => Number(item[column.property])) + if (!values.every(value => isNaN(value))) { + sums[index] = values.reduce((prev, curr) => { + const value = Number(curr) + if (!isNaN(value)) { + return prev + curr + } else { + return prev + } + }, 0) + sums[index] = sums[index].toFixed(2) + ' 元' + } else { + sums[index] = 'N/A' + } + } + }) + return sums + }, showOffline(row) { - console.log(row, 222) const children = document.getElementsByClassName('tableData') const parent = document.getElementsByClassName('offlineContract')[0] if (children.length !== 0) { @@ -285,13 +214,13 @@ export default { document.getElementById('remark').innerHTML = row.离线合同备注 }, searchContactDetail(row) { - document.documentElement.scrollTop = this.$el.querySelector('#firstAnchor').offsetTop - searchContactDetail(row.采购合同流水号).then(response => { - this.contractDetail1 = response.data[0].合同内容 + var check + row.采购合同流水号 ? check = 1 : check = 2 + searchContactDetail(check, row.采购合同流水号, row.离线合同流水号).then(response => { + this.contractDetail2 = response.data }) }, searchOfflineContactDetail(row) { // 查询离线合同明细 - document.documentElement.scrollTop = this.$el.querySelector('#secondAnchor').offsetTop searchMateriel(row.离线合同流水号).then(response => { this.contractDetail2 = response.data this.showOffline(row) @@ -303,7 +232,7 @@ export default { columns.forEach((column, index) => { if (index === 0) { sums[index] = '总价' - } else if (index === 7) { + } else if (index === 6) { const values = data.map(item => Number(parseFloat(item['单价']) * parseInt(item['数量']))) if (!values.every(value => isNaN(value))) { sums[index] = values.reduce((prev, curr) => { @@ -314,7 +243,7 @@ export default { return prev } }, 0) - sums[index] += ' 元' + sums[index] = sums[index].toFixed(2) + ' 元' } else { sums[index] = 'N/A' } diff --git a/src/views/PurchasingCenter/FundApproval3/index.vue b/src/views/PurchasingCenter/FundApproval3/index.vue index 2396f385..7d8861ce 100644 --- a/src/views/PurchasingCenter/FundApproval3/index.vue +++ b/src/views/PurchasingCenter/FundApproval3/index.vue @@ -26,11 +26,11 @@ @@ -203,9 +148,37 @@ export default { this.fetchData() }, methods: { + getSummaries2(param) { // 合计 + const { columns, data } = param + const sums = [] + columns.forEach((column, index) => { + if (index === 0) { + sums[index] = '总价' + return + } else if (index === 2 || index === 3) { + const values = data.map(item => Number(item[column.property])) + if (!values.every(value => isNaN(value))) { + sums[index] = values.reduce((prev, curr) => { + const value = Number(curr) + if (!isNaN(value)) { + return prev + curr + } else { + return prev + } + }, 0) + sums[index] = sums[index].toFixed(2) + ' 元' + } else { + sums[index] = 'N/A' + } + } + }) + return sums + }, searchContactDetail(row) { - searchContactDetail(row.采购合同流水号).then(response => { - this.contractDetail1 = response.data[0].合同内容 + var check + row.采购合同流水号 ? check = 1 : check = 2 + searchContactDetail(check, row.采购合同流水号, row.离线合同流水号).then(response => { + this.contractDetail2 = response.data }) }, searchOfflineContactDetail(row) { // 查询离线合同明细 @@ -219,7 +192,7 @@ export default { columns.forEach((column, index) => { if (index === 0) { sums[index] = '总价' - } else if (index === 7) { + } else if (index === 6) { const values = data.map(item => Number(parseFloat(item['单价']) * parseInt(item['数量']))) if (!values.every(value => isNaN(value))) { sums[index] = values.reduce((prev, curr) => { @@ -230,7 +203,7 @@ export default { return prev } }, 0) - sums[index] += ' 元' + sums[index] = sums[index].toFixed(2) + ' 元' } else { sums[index] = 'N/A' } diff --git a/src/views/PurchasingCenter/PurchaseContractRequestFund/index.vue b/src/views/PurchasingCenter/PurchaseContractRequestFund/index.vue index eea2073c..b205da00 100644 --- a/src/views/PurchasingCenter/PurchaseContractRequestFund/index.vue +++ b/src/views/PurchasingCenter/PurchaseContractRequestFund/index.vue @@ -11,12 +11,7 @@ :label="item.label" :value="item.value"/> - 查询 + 查询 请款

请款表

@@ -80,21 +75,21 @@ @@ -248,6 +296,7 @@ export default { tableData01: [], SUM: 0, contractGroup: [], + offGroup: [], gridData: [] } }, @@ -287,10 +336,63 @@ export default { }) }, searchContract(row) { - searchContract(row.采购合同流水号).then(response => { - this.returns = response.data[0].合同内容 + var check + row.采购合同流水号 ? check = 1 : check = 2 + searchContract(check, row.采购合同流水号, row.离线合同流水号).then(response => { + this.tableData2 = response.data }) }, + getSummaries(param) { // 合计 + const { columns, data } = param + const sums = [] + columns.forEach((column, index) => { + if (index === 0) { + sums[index] = '总价' + } else if (index === 6) { + const values = data.map(item => Number(parseFloat(item['单价']) * parseInt(item['数量']))) + if (!values.every(value => isNaN(value))) { + sums[index] = values.reduce((prev, curr) => { + const value = Number(curr) + if (!isNaN(value)) { + return prev + curr + } else { + return prev + } + }, 0) + sums[index] = sums[index].toFixed(2) + ' 元' + } else { + sums[index] = 'N/A' + } + } + }) + return sums + }, + getSummaries2(param) { // 合计 + const { columns, data } = param + const sums = [] + columns.forEach((column, index) => { + if (index === 0) { + sums[index] = '总价' + return + } else if (index === 2 || index === 3) { + const values = data.map(item => Number(item[column.property])) + if (!values.every(value => isNaN(value))) { + sums[index] = values.reduce((prev, curr) => { + const value = Number(curr) + if (!isNaN(value)) { + return prev + curr + } else { + return prev + } + }, 0) + sums[index] = sums[index].toFixed(2) + ' 元' + } else { + sums[index] = 'N/A' + } + } + }) + return sums + }, handleSizeChange1(val) { this.pageSize1 = val this.pageCurrent1 = 1 @@ -310,7 +412,7 @@ export default { }) this.totalSum = 0 this.totalPay = 0 - searchPurchaseContract(check2, this.supplierValue).then(response => { + searchPurchaseContract(1, check2, this.supplierValue).then(response => { response.data.map(data => { this.totalSum += data.合同总额 this.totalPay += data.已付金额 @@ -327,9 +429,10 @@ export default { searchTable01() { // 查询待请款 if (this.supplierValue) { this.contractGroup = [] + this.offGroup = [] let check this.supplierValue ? check = 1 : check = 0 - searchPurchaseContract(check, this.supplierValue).then(response => { + searchPurchaseContract(2, check, this.supplierValue).then(response => { this.tableData01 = response.data this.tableData01.map(v => { this.$set(v, '请款金额', 0) @@ -337,8 +440,6 @@ export default { return v }) }) - } else { - this.$message.error('请选择供应商') } }, selectable(row, index) { // 控制某行是否可选 @@ -348,31 +449,43 @@ export default { this.selectContents = val this.SUM = 0 this.contractGroup = [] + this.offGroup = [] this.sumGroup = [] for (let i = 0; i < val.length; i++) { this.SUM += parseFloat(val[i].请款金额) this.contractGroup.push(val[i].采购合同流水号) + this.offGroup.push(val[i].采购合同流水号) this.sumGroup.push(val[i].请款金额) } + this.SUM = parseFloat(this.SUM).toFixed(2) }, submitRequestFund() { // 确认请款 if (this.supplierValue && this.contractGroup.length !== 0) { this.SUM = 0 this.contractGroup = [] + this.offGroup = [] this.sumGroup = [] for (let i = 0; i < this.tableData01.length; i++) { for (let j = 0; j < this.selectContents.length; j++) { - if (this.selectContents[j].采购合同流水号 === this.tableData01[i].采购合同流水号) { - this.SUM += parseFloat(this.tableData01[i].请款金额) - this.contractGroup.push(this.tableData01[i].采购合同流水号) - this.sumGroup.push(this.tableData01[i].请款金额) + if (this.selectContents[j].采购合同流水号 === this.tableData01[i].采购合同流水号 && this.selectContents[j].合同类型 === this.tableData01[i].合同类型) { + if (this.selectContents[j].合同类型 === 1) { + this.SUM += parseFloat(this.tableData01[i].请款金额) + this.contractGroup.push(this.tableData01[i].采购合同流水号) + this.offGroup.push('a974548') + this.sumGroup.push(this.tableData01[i].请款金额) + } else { + this.SUM += parseFloat(this.tableData01[i].请款金额) + this.contractGroup.push('a974548') + this.offGroup.push(this.tableData01[i].采购合同流水号) + this.sumGroup.push(this.tableData01[i].请款金额) + } } } } if (this.SUM === 0) { this.$message.error('请款金额不能为0') } else { - submitRequestFund(this.contractGroup, this.sumGroup, this.supplierValue, this.SUM, this.id).then(response => { // 采购合同流水号组=${contractGroup}&合同总额组=${sumGroup}&供应商流水号=${supplier}&请款金额=${money}&请款人=${person + submitRequestFund(this.contractGroup, this.offGroup, this.sumGroup, this.supplierValue, this.SUM, this.id).then(response => { if (response.data[0].result === '1') { this.$message.success('请款成功') this.searchTable1()