diff --git a/base-vue/src/views/modules/contract/contract-add-or-update.vue b/base-vue/src/views/modules/contract/contract-add-or-update.vue index 8b097a0..e444817 100644 --- a/base-vue/src/views/modules/contract/contract-add-or-update.vue +++ b/base-vue/src/views/modules/contract/contract-add-or-update.vue @@ -70,13 +70,10 @@ - + - + + + + { this.$refs['dataForm'].resetFields() + this.materData = [] if (this.dataForm.contractId) { this.$http({ - url: this.$http.adornUrl(`/tickets/contract/info/${this.dataForm.contractId}`), + url: this.$http.adornUrl(`/flow/contract/list/${this.dataForm.contractId}`), method: 'get', params: this.$http.adornParams() }).then(({data}) => { @@ -320,12 +334,21 @@ this.innerVisible = true this.getDataList() }, + calculateTotal(index) { + const row = this.materData[index] + const price = parseFloat(row.price) || 0 + const quantity = parseFloat(row.quantity) || 0 + row.total = price * quantity + }, + calculateTotalSum() { + this.dataForm.totalSum = this.materData.reduce((sum, row) => sum + parseFloat(row.total || 0), 0) + }, // 表单提交 dataFormSubmit () { this.$refs['dataForm'].validate((valid) => { if (valid) { this.$http({ - url: this.$http.adornUrl(`/tickets/contract/${!this.dataForm.contractId ? 'save' : 'update'}`), + url: this.$http.adornUrl(`/flow/contract/${!this.dataForm.contractId ? 'save' : 'update'}`), method: 'post', data: this.$http.adornData({ 'contractId': this.dataForm.contractId || undefined, @@ -333,9 +356,10 @@ 'isMaster': this.dataForm.isMaster, 'contractNumber': this.dataForm.contractNumber, 'clientId': this.dataForm.clientId, - 'materialJson': this.dataForm.materialJson, + 'materialJson': JSON.stringify(this.materData), 'isAcceptance': this.dataForm.isAcceptance, - 'remarks': this.dataForm.remarks + 'remarks': this.dataForm.remarks, + 'totalSum': this.dataForm.totalSum }) }).then(({data}) => { if (data && data.code === 0) { diff --git a/base-vue/src/views/modules/contract/contract.vue b/base-vue/src/views/modules/contract/contract.vue index 7b3fa99..994fea3 100644 --- a/base-vue/src/views/modules/contract/contract.vue +++ b/base-vue/src/views/modules/contract/contract.vue @@ -193,7 +193,7 @@ type: 'warning' }).then(() => { this.$http({ - url: this.$http.adornUrl('/tickets/contract/delete'), + url: this.$http.adornUrl('/flow/contract/delete'), method: 'post', data: this.$http.adornData(ids, false) }).then(({data}) => { diff --git a/base-vue/src/views/modules/contract/temp-add-or-update.vue b/base-vue/src/views/modules/contract/temp-add-or-update.vue index 46673a4..c2ea979 100644 --- a/base-vue/src/views/modules/contract/temp-add-or-update.vue +++ b/base-vue/src/views/modules/contract/temp-add-or-update.vue @@ -102,12 +102,14 @@ export default { addAndPrint () { const LODOP = getLodop() LODOP.PRINT_INITA("0mm", "0mm", "213mm", "297mm", "打印合同模板") - LODOP.SET_PRINT_PAGESIZE(1, 0, 0, "A4") - LODOP.ADD_PRINT_TEXT(0, 0, 700, 50, "产品供应合同") + LODOP.SET_PRINT_PAGESIZE(1, 2100, 2970, "A4") + LODOP.ADD_PRINT_TEXT(0, 0, '0', '0', '') // 获取弹窗内容并转换为 HTML 字符串 + const h1Content = `

产品供销合同

` const popupContent = document.getElementById('popupContent').innerHTML const printHtml = ` + ${h1Content} ${popupContent} ` // 添加弹窗内容到打印任务 - LODOP.ADD_PRINT_HTM("30mm", "10mm", "RightMargin:10mm", "BottomMargin:10mm", printHtml) + LODOP.ADD_PRINT_HTM(0, '5%', '90%', '90%', printHtml) LODOP.PREVIEW()// 预览 }, }