diff --git a/src/views/PurchasingCenter/CreatePurchaseContract/index.vue b/src/views/PurchasingCenter/CreatePurchaseContract/index.vue index a5091bbc..195f2526 100644 --- a/src/views/PurchasingCenter/CreatePurchaseContract/index.vue +++ b/src/views/PurchasingCenter/CreatePurchaseContract/index.vue @@ -176,20 +176,20 @@ - - - - - - - - - - + + + + ①选择合同模板: + + + + + + 预览合同 - 递交审批: + ②递交审批: 递交 @@ -242,7 +242,7 @@ export default { hasTax: '含税', taxRate: 0.13, preview: false, // 预览 - demoRadio: '', // 模板radio + demoRadio: '模板1', // 模板radio content: ``, // 合同格式模板 contentNew: ``, // tinymce的 contractName: '采购合同', // 合同名称 @@ -285,6 +285,7 @@ export default { this.fetchData11() this.fetchData() this.initDirection() + this.demo1() }, methods: { fetchData11() { @@ -300,6 +301,7 @@ export default { }, selectHetong() { this.contractNumValue = '' + this.tableData1 = [] if (this.supplierValue11) { this.asdasd = 1 } else { this.asdasd = 0 } searchInquirySheet(0, 0, 0, 0, 1, this.id, this.asdasd, this.supplierValue11).then(response => { // 初始化询价单号 this.contractNums = [] @@ -421,6 +423,7 @@ export default { }, fetchData() { initSupplier(this.id).then(res => { + // this.id this.supplier = [] for (let i = 0; i < res.data.length; i++) { this.supplier.push({ @@ -558,8 +561,6 @@ export default { }) } }) - this.demo1() - this.editContract() }, demoChange() { // 模板change switch (this.demoRadio) { @@ -569,152 +570,152 @@ export default { case '模板2': this.demo2() break - // case '自定义': - // this.customization() - // break + // case '自定义': + // this.customization() + // break } }, demo1() { // 选择合同模板1 this.content = `

- 采购合同 + 采购合同

- - - - - - - - - - - - + + + + + + + + + + + +
-

- GAOJING -

-
-

合同名称:

-
-

合同编号:

-
+

+ GAOJING +

+
+

合同名称:

+
+

合同编号:

+
- - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + +
买方:江苏高精机电装配有限公司卖方:
地址:${this.companyAddress}地址:
法定代表人:徐秀兵法定代表人:
买方:江苏高精机电装配有限公司卖方:
地址:${this.companyAddress}地址:
法定代表人:徐秀兵法定代表人:

根据中华人民共和国合同法及相关法律法规,经买卖双方平等协商,就卖方向买方出售合同项下产品事宜达成一致,签订本合同(明细表及合同通用条款)如下:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
合同总额(RMB):大写:
交货地点:地址:${this.sendAddress}
联系人:${this.name}
联系电话:${this.phone2}
交货日期:
开票信息:
支付日期:
支付方式:
其他说明:
合同总额(RMB):大写:
交货地点:地址:${this.sendAddress}
联系人:${this.name}
联系电话:${this.phone2}
交货日期:
开票信息:
支付日期:
支付方式:
其他说明:
- - - - - - + + + + + +
- 卖方:${this.supplierName}(盖章)
- 受托人:${this.trustee}
- 开户行:${this.bank1}
- 账号:${this.account1}
- 税号:${this.taxCode1}
- 电话:${this.phone1}
- 传真:${this.fax1}
- 邮编:${this.postCode1} -
- 买方:江苏高精机电装配有限公司(盖章)
- 受托人:${this.name}
- 开户行:${this.bank2}
- 账号:${this.account2}
- 税号:${this.taxCode2}
- 电话:${this.phone2}
- 传真:${this.fax2}
- 邮编:${this.postCode2} -
+ 卖方:${this.supplierName}(盖章)
+ 受托人:${this.trustee}
+ 开户行:${this.bank1}
+ 账号:${this.account1}
+ 税号:${this.taxCode1}
+ 电话:${this.phone1}
+ 传真:${this.fax1}
+ 邮编:${this.postCode1} +
+ 买方:江苏高精机电装配有限公司(盖章)
+ 受托人:${this.name}
+ 开户行:${this.bank2}
+ 账号:${this.account2}
+ 税号:${this.taxCode2}
+ 电话:${this.phone2}
+ 传真:${this.fax2}
+ 邮编:${this.postCode2} +

日期:_${this.year}_年_${this.month}_月_${this.day}_日


- 明细表 - () + 明细表 + ()

- - - - - - - - - - - - - - - + + + + + + + + + + + + + + +
序号机床号-组号名称图号或型号规格数量单位单价合计交货时间备注
序号机床号-组号名称图号或型号规格数量单位单价合计交货时间备注
未税合计:
税额:
@@ -729,106 +730,106 @@ export default { this.day = date.getDate() this.demoChange() await sleep(0) - // if (this.contractNumValue) { - // if (this.demoRadio) { - // this.$refs.tinymce.destroyTinymce() - document.getElementById('contractName') ? document.getElementById('contractName').innerHTML = this.contractName : '' - document.getElementById('contractNum') ? document.getElementById('contractNum').innerHTML = this.contractNum : '' - document.getElementById('supplierName') ? document.getElementById('supplierName').innerHTML = this.supplierName : '' - document.getElementById('supplierAddress') ? document.getElementById('supplierAddress').innerHTML = this.supplierAddress : '' - document.getElementById('legalPerson') ? document.getElementById('legalPerson').innerHTML = this.legalPerson : '' - document.getElementById('payDate') ? document.getElementById('payDate').innerHTML = this.payDate : '' - document.getElementById('payMethod') ? document.getElementById('payMethod').innerHTML = this.payMethod : '' - document.getElementById('invoiceInfo') ? document.getElementById('invoiceInfo').innerHTML = this.invoiceInfo : '' - document.getElementById('deliveryDate') ? document.getElementById('deliveryDate').innerHTML = this.deliveryDate : '' - document.getElementById('otherInfo') ? document.getElementById('otherInfo').innerHTML = this.otherInfo : '' - document.getElementById('hasTax') ? document.getElementById('hasTax').innerHTML = this.hasTax : '' - document.getElementById('taxRate') ? document.getElementById('taxRate').innerHTML = this.taxRate * 100 + '%' : '' - // 明细表 - // 移出旧数据 - const children = document.getElementsByClassName('tableData') - const parent = document.getElementById('tbody') - if (children.length !== 0) { - for (let i = children.length - 1; i >= 0; i--) { - parent.removeChild(children[i]) - } - } - const merge = [] - this.tableData1.map(v => { - if ((this.hasTax === '含税' && v.含税单价.trim() !== '') || (this.hasTax === '未税' && v.未税单价.trim() !== '')) { // 筛掉未询到价格的物料 - merge.push({ - 机床图号: v.机床图号, - 组号: v.组号, - 图号: v.图号, - 名称: v.名称, - 规格: v.规格, - 数量: Number(v.数量), - 计量单位: v.计量单位, - 单价: this.hasTax === '含税' ? v.含税单价 : v.未税单价, - 合计: (Number(v.数量) * (this.hasTax === '含税' ? Number(v.含税单价) : Number(v.未税单价))).toFixed(2), - 交货期: v.交货期 ? v.交货期.split(' ')[0] : '', - 备注: v.备注 + if (this.contractNumValue) { + if (this.demoRadio) { + // this.$refs.tinymce.destroyTinymce() + document.getElementById('contractName') ? document.getElementById('contractName').innerHTML = this.contractName : '' + document.getElementById('contractNum') ? document.getElementById('contractNum').innerHTML = this.contractNum : '' + document.getElementById('supplierName') ? document.getElementById('supplierName').innerHTML = this.supplierName : '' + document.getElementById('supplierAddress') ? document.getElementById('supplierAddress').innerHTML = this.supplierAddress : '' + document.getElementById('legalPerson') ? document.getElementById('legalPerson').innerHTML = this.legalPerson : '' + document.getElementById('payDate') ? document.getElementById('payDate').innerHTML = this.payDate : '' + document.getElementById('payMethod') ? document.getElementById('payMethod').innerHTML = this.payMethod : '' + document.getElementById('invoiceInfo') ? document.getElementById('invoiceInfo').innerHTML = this.invoiceInfo : '' + document.getElementById('deliveryDate') ? document.getElementById('deliveryDate').innerHTML = this.deliveryDate : '' + document.getElementById('otherInfo') ? document.getElementById('otherInfo').innerHTML = this.otherInfo : '' + document.getElementById('hasTax') ? document.getElementById('hasTax').innerHTML = this.hasTax : '' + document.getElementById('taxRate') ? document.getElementById('taxRate').innerHTML = this.taxRate * 100 + '%' : '' + // 明细表 + // 移出旧数据 + const children = document.getElementsByClassName('tableData') + const parent = document.getElementById('tbody') + if (children.length !== 0) { + for (let i = children.length - 1; i >= 0; i--) { + parent.removeChild(children[i]) + } + } + const merge = [] + this.tableData1.map(v => { + if ((this.hasTax === '含税' && v.含税单价.trim() !== '') || (this.hasTax === '未税' && v.未税单价.trim() !== '')) { // 筛掉未询到价格的物料 + merge.push({ + 机床图号: v.机床图号, + 组号: v.组号, + 图号: v.图号, + 名称: v.名称, + 规格: v.规格, + 数量: Number(v.数量), + 计量单位: v.计量单位, + 单价: this.hasTax === '含税' ? v.含税单价 : v.未税单价, + 合计: (Number(v.数量) * (this.hasTax === '含税' ? Number(v.含税单价) : Number(v.未税单价))).toFixed(2), + 交货期: v.交货期 ? v.交货期.split(' ')[0] : '', + 备注: v.备注 + }) + } }) + let mergeData = [] + mergeData = groupBy(merge, ['图号', '名称', '规格', '计量单位', '单价', '交货期', '备注']) + // 放入新数据 + const tr = [] + for (let i = 0; i < mergeData.length; i++) { + tr[i] = document.createElement('tr') + tr[i].setAttribute('class', 'tableData') + tr[i].innerHTML = '' + const tableHead = $('#tableHead') + tableHead ? tableHead.after(tr[i]) : '' + } + this.actualTotal = 0 + this.untaxTotal = 0 + this.taxTotal = 0 + for (let j = 0; j < this.tableData1.length; j++) { + this.actualTotal += Number(this.tableData1[j].含税总额) + this.untaxTotal += Number(this.tableData1[j].未税总额) + this.taxTotal += Number(this.tableData1[j].含税总额) + } + for (let j = 0; j < mergeData.length; j++) { + if (document.getElementsByClassName('tableData')[j]) { + document.getElementsByClassName('tableData')[j].children[0].innerHTML = j + 1 + document.getElementsByClassName('tableData')[j].children[1].innerHTML = mergeData[j].机床图号_组号 + document.getElementsByClassName('tableData')[j].children[2].innerHTML = mergeData[j].名称 + document.getElementsByClassName('tableData')[j].children[3].innerHTML = mergeData[j].图号 + document.getElementsByClassName('tableData')[j].children[4].innerHTML = mergeData[j].规格 + document.getElementsByClassName('tableData')[j].children[5].innerHTML = mergeData[j].数量 + document.getElementsByClassName('tableData')[j].children[6].innerHTML = mergeData[j].计量单位 + document.getElementsByClassName('tableData')[j].children[7].innerHTML = mergeData[j].单价 + document.getElementsByClassName('tableData')[j].children[8].innerHTML = (Number(mergeData[j].数量) * Number(mergeData[j].单价)).toFixed(2) + document.getElementsByClassName('tableData')[j].children[9].innerHTML = mergeData[j].交货期 + document.getElementsByClassName('tableData')[j].children[10].innerHTML = mergeData[j].备注 + } + } + this.actualTotal = this.actualTotal.toFixed(2) + this.untaxTotal = this.untaxTotal.toFixed(2) + this.taxTotal = this.taxTotal.toFixed(2) + this.tax = (this.taxTotal - this.untaxTotal).toFixed(2) + document.getElementById('untaxTotal') ? document.getElementById('untaxTotal').innerHTML = this.untaxTotal : '' + document.getElementById('tax') ? document.getElementById('tax').innerHTML = this.tax : '' + document.getElementById('taxTotal') ? document.getElementById('taxTotal').innerHTML = this.taxTotal : '' + document.getElementsByClassName('actualTotal')[0] ? document.getElementsByClassName('actualTotal')[0].innerHTML = this.actualTotal : '' + document.getElementsByClassName('actualTotal')[1] ? document.getElementsByClassName('actualTotal')[1].innerHTML = this.actualTotal : '' + document.getElementById('actualTotal_zh') ? document.getElementById('actualTotal_zh').innerHTML = this.actualTotal_zh : '' + document.getElementsByClassName('actualTotal')[0].innerHTML = this.actualTotal + document.getElementsByClassName('actualTotal')[1].innerHTML = this.actualTotal + document.getElementById('actualTotal_zh').innerHTML = convertCurrency(this.actualTotal) + this.contentNew = document.getElementsByClassName('editor-content')[0].innerHTML + this.$refs.tinymce.initTinymce() + setTimeout(() => { + this.$refs.tinymce.setContent(this.contentNew) + }, 1000) + } else { + this.$message.warning('请先选择合同模板,再预览') } - }) - let mergeData = [] - mergeData = groupBy(merge, ['图号', '名称', '规格', '计量单位', '单价', '交货期', '备注']) - // 放入新数据 - const tr = [] - for (let i = 0; i < mergeData.length; i++) { - tr[i] = document.createElement('tr') - tr[i].setAttribute('class', 'tableData') - tr[i].innerHTML = '' - const tableHead = $('#tableHead') - tableHead ? tableHead.after(tr[i]) : '' + } else { + this.$message.warning('请先选择合同,再预览') } - this.actualTotal = 0 - this.untaxTotal = 0 - this.taxTotal = 0 - for (let j = 0; j < this.tableData1.length; j++) { - this.actualTotal += Number(this.tableData1[j].含税总额) - this.untaxTotal += Number(this.tableData1[j].未税总额) - this.taxTotal += Number(this.tableData1[j].含税总额) - } - for (let j = 0; j < mergeData.length; j++) { - if (document.getElementsByClassName('tableData')[j]) { - document.getElementsByClassName('tableData')[j].children[0].innerHTML = j + 1 - document.getElementsByClassName('tableData')[j].children[1].innerHTML = mergeData[j].机床图号_组号 - document.getElementsByClassName('tableData')[j].children[2].innerHTML = mergeData[j].名称 - document.getElementsByClassName('tableData')[j].children[3].innerHTML = mergeData[j].图号 - document.getElementsByClassName('tableData')[j].children[4].innerHTML = mergeData[j].规格 - document.getElementsByClassName('tableData')[j].children[5].innerHTML = mergeData[j].数量 - document.getElementsByClassName('tableData')[j].children[6].innerHTML = mergeData[j].计量单位 - document.getElementsByClassName('tableData')[j].children[7].innerHTML = mergeData[j].单价 - document.getElementsByClassName('tableData')[j].children[8].innerHTML = (Number(mergeData[j].数量) * Number(mergeData[j].单价)).toFixed(2) - document.getElementsByClassName('tableData')[j].children[9].innerHTML = mergeData[j].交货期 - document.getElementsByClassName('tableData')[j].children[10].innerHTML = mergeData[j].备注 - } - } - this.actualTotal = this.actualTotal.toFixed(2) - this.untaxTotal = this.untaxTotal.toFixed(2) - this.taxTotal = this.taxTotal.toFixed(2) - this.tax = (this.taxTotal - this.untaxTotal).toFixed(2) - document.getElementById('untaxTotal') ? document.getElementById('untaxTotal').innerHTML = this.untaxTotal : '' - document.getElementById('tax') ? document.getElementById('tax').innerHTML = this.tax : '' - document.getElementById('taxTotal') ? document.getElementById('taxTotal').innerHTML = this.taxTotal : '' - document.getElementsByClassName('actualTotal')[0] ? document.getElementsByClassName('actualTotal')[0].innerHTML = this.actualTotal : '' - document.getElementsByClassName('actualTotal')[1] ? document.getElementsByClassName('actualTotal')[1].innerHTML = this.actualTotal : '' - document.getElementById('actualTotal_zh') ? document.getElementById('actualTotal_zh').innerHTML = this.actualTotal_zh : '' - document.getElementsByClassName('actualTotal')[0].innerHTML = this.actualTotal - document.getElementsByClassName('actualTotal')[1].innerHTML = this.actualTotal - document.getElementById('actualTotal_zh').innerHTML = convertCurrency(this.actualTotal) - this.contentNew = document.getElementsByClassName('editor-content')[0].innerHTML - this.$refs.tinymce.initTinymce() - setTimeout(() => { - this.$refs.tinymce.setContent(this.contentNew) - }, 1000) - // } else { - // this.$message.warning('请先选择合同模板,再预览') - // } - // } else { - // this.$message.warning('请先选择合同,再预览') - // } }, demo2() { this.content = `demo2` @@ -859,33 +860,33 @@ export default { inquiryDetailNum_old.push(v.询价单明细流水号) } }) - // if (this.contractNumValue) { - // if (this.demoRadio) { - this.$confirm('此采购合同将递交审批,递交后该合同不可删除,确认完成编辑?', '提示', { - confirmButtonText: '确定', - cancelButtonText: '取消', - type: 'warning' - }).then(() => { - doneContract(this.contractNum, this.contractName, this.deliveryDate, this.payDate, this.payMethod, this.invoiceInfo, this.otherInfo, this.actualTotal, this.id, this.supplierValue, this.单价是否含税, this.组件零件流水号组, this.组件零件基本件流水号组, this.数量组, this.单价组, this.交货期组, this.content, this.taxRate * 100, inquiryDetailNum_old, this.备注组).then(response => { - if (response.data[0].result === '1') { - this.$message.success('合同生成成功') - this.reload() - } else { - this.$message.error('生成合同失败') - } - }) - }).catch(() => { - this.$message({ - type: 'info', - message: '已取消操作' - }) - }) - // } else { - // this.$message.warning('请先选择模板进行预览') - // } - // } else { - // this.$message.warning('请先选择合同进行编辑') - // } + if (this.contractNumValue) { + if (this.demoRadio) { + this.$confirm('此采购合同将递交审批,递交后该合同不可删除,确认完成编辑?', '提示', { + confirmButtonText: '确定', + cancelButtonText: '取消', + type: 'warning' + }).then(() => { + doneContract(this.contractNum, this.contractName, this.deliveryDate, this.payDate, this.payMethod, this.invoiceInfo, this.otherInfo, this.actualTotal, this.id, this.supplierValue, this.单价是否含税, this.组件零件流水号组, this.组件零件基本件流水号组, this.数量组, this.单价组, this.交货期组, this.content, this.taxRate * 100, inquiryDetailNum_old, this.备注组).then(response => { + if (response.data[0].result === '1') { + this.$message.success('合同生成成功') + this.reload() + } else { + this.$message.error('生成合同失败') + } + }) + }).catch(() => { + this.$message({ + type: 'info', + message: '已取消操作' + }) + }) + } else { + this.$message.warning('请先选择模板进行预览') + } + } else { + this.$message.warning('请先选择合同进行编辑') + } } } }