Browse Source

报表手册重新计算修改

duy 1 year ago
parent
commit
70f4e7f83a

+ 8 - 1
src/api/modules/debit-pay/material/book.js

@@ -25,5 +25,12 @@ export default {
             params: form,
         }, msg)
     },
-
+    //重新计算
+    async meterPdfInfo(form, msg = true) {
+        return HcApi({
+            url: '/apiblade-meter/task/meterPdfInfo',
+            method: 'get',
+            params: form,
+        }, msg)
+    },
 }

+ 22 - 2
src/views/debit-pay/material/book.vue

@@ -8,10 +8,10 @@
         </template>
         <hc-table :column="tableColumn" :datas="tableData" :loading="tableLoading" is-new :index-style="{ width: 60 }">
             <template #action="{ row }">
-                <el-link type="primary">查看报表</el-link>
+                <el-link type="primary" @click="viewPdf(row)">查看报表</el-link>
                 <el-link type="success" @click="editRow(row)">修改</el-link>
                 <el-link type="danger" @click="delCilck(row)">删除</el-link>
-                <el-link>重新计算</el-link>
+                <el-link v-loading="recalculateLoading" @click="recalculate(row)">重新计算</el-link>
             </template>
         </hc-table>
         <template #action>
@@ -51,6 +51,7 @@ import bookApi from '~api/debit-pay/material/book.js'
 import periodApi from '~api/debit-pay/material/periods.js'
 import { useAppStore } from '~src/store'
 import { formValidate, getArrValue, getObjValue } from 'js-fast-way'
+import { toPdfPage } from '~uti/btn-auth'
 const useAppState = useAppStore()
 const contractId = ref(useAppState.getContractId)
 const projectId = ref(useAppState.getProjectId)
@@ -173,6 +174,25 @@ const delCilck = (row)=>{
             }
     })
 }
+//查看报表
+const viewPdf = (row)=>{
+    toPdfPage(row.rawUrl)
+}
+//重新计算
+const recalculateLoading = ref(false)
+const recalculate = async (row)=>{
+    recalculateLoading.value = true
+    const { error, code, msg } = await bookApi.meterPdfInfo({
+        FormDataId:row.meterPeriodId,
+        ContractId:contractId.value,
+       type:1,
+    })
+    recalculateLoading.value = false
+    if (!error && code === 200) {
+        window.$message.success('计算成功')
+        getTableData()
+    } 
+}
 const removeProPay = async (id) => {
     const { error, code } = await bookApi.remove({
         ids: id,

+ 23 - 2
src/views/debit-pay/start-work/book.vue

@@ -8,10 +8,10 @@
         </template>
         <hc-table :column="tableColumn" :datas="tableData" :loading="tableLoading" is-new :index-style="{ width: 60 }">
             <template #action="{ row }">
-                <el-link type="primary">查看报表</el-link>
+                <el-link type="primary" @click="viewPdf(row)">查看报表</el-link>
                 <el-link type="success" @click="editRow(row)">修改</el-link>
                 <el-link type="danger" @click="delCilck(row)">删除</el-link>
-                <el-link>重新计算</el-link>
+                <el-link v-loading="recalculateLoading" @click="recalculate(row)">重新计算</el-link>
             </template>
         </hc-table>
         <template #action>
@@ -55,6 +55,7 @@ const useAppState = useAppStore()
 const contractId = ref(useAppState.getContractId)
 const projectId = ref(useAppState.getProjectId)
 import { delMessageV2 } from '~com/message/index.js'
+import { toPdfPage } from '~uti/btn-auth'
 defineOptions({
     name: 'DebitPayMaterialBook',
 })
@@ -154,6 +155,10 @@ const addModalClick = () => {
     editType.value = 'add'
     modalTitle.value = '开工预付款报表新增'
 }
+//查看报表
+const viewPdf = (row)=>{
+    toPdfPage(row.rawUrl)
+}
 const editRow = (row)=>{
     formModalShow.value = true
     console.log(row, 'row')
@@ -173,6 +178,22 @@ const delCilck = (row)=>{
             }
     })
 }
+
+//重新计算
+const recalculateLoading = ref(false)
+const recalculate = async (row)=>{
+    recalculateLoading.value = true
+    const { error, code, msg } = await bookApi.meterPdfInfo({
+        FormDataId:row.meterPeriodId,
+        ContractId:contractId.value,
+       type:2,
+    })
+    recalculateLoading.value = false
+    if (!error && code === 200) {
+        window.$message.success('计算成功')
+        getTableData()
+    } 
+}
 const removeProPay = async (id) => {
     const { error, code } = await bookApi.remove({
         ids: id,