From 031572447c7b141945d4021624dd11f52793bbbf Mon Sep 17 00:00:00 2001
From: zhangdingyu <974548713@qq.com>
Date: Wed, 16 Oct 2019 18:13:28 +0800
Subject: [PATCH] =?UTF-8?q?=E5=88=9B=E5=BB=BA=E9=87=87=E8=B4=AD=E5=90=88?=
=?UTF-8?q?=E5=90=8C?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../CreatePurchaseContract/index.vue | 529 +++++++++---------
1 file changed, 265 insertions(+), 264 deletions(-)
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('请先选择合同进行编辑')
+ }
}
}
}