Browse Source

1.机器设备融资报告开发(开发中)

GouGengquan 7 months ago
parent
commit
3f5cd4743e

+ 5 - 0
src/api/assetsReport.js

@@ -18,4 +18,9 @@ export function updateReportBaseInfo(params) {
 // 根据报告id获取报告基础信息
 export function getReportBaseInfo(params) {
     return request.get(`/assetsReport/getReportBaseInfo/${params}`)
+}
+
+// 生成机器设备报告word文件
+export function generateEquipmentReport(params) {
+    return request.get(`/assetsReport/generateEquipmentReport/${params}`)
 }

+ 4 - 2
src/views/assets/workbench/calculate/baseInfo.vue

@@ -51,7 +51,7 @@ export default {
         ...mapStores(assetsProjectInfo),
     },
     created() {
-        if(this.projectStore.calculateProgress) {
+        if (this.projectStore.calculateProgress) {
             this.baseInfo.id = this.projectStore.calculateProgress.id;
             this.baseInfo.projectId = this.projectStore.projectInfo.id;
             this.baseInfo.calculateName = this.projectStore.calculateProgress.calculateName;
@@ -63,7 +63,9 @@ export default {
         createCalculate() {
             this.$refs.baseInfo.validate((valid) => {
                 if (valid) {
-                    this.baseInfo.progress = 'BASE';
+                    if (!this.projectStore.calculateProgress.id) {
+                        this.baseInfo.progress = 'BASE';
+                    }
                     this.baseInfo.projectId = this.projectStore.projectInfo.id;
                     createAssetsCalculate(this.baseInfo).then(res => {
                         if (res.code == 200) {

+ 9 - 9
src/views/assets/workbench/calculate/importInfo.vue

@@ -134,9 +134,9 @@
                         </el-form-item>
                     </template>
                 </el-table-column>
-                <el-table-column prop="originalValue" label="账面原值" width="150">
+                <el-table-column prop="bookOriginalValue" label="账面原值" width="150">
                     <template #default="{ row }">
-                        <el-form-item prop="originalValue">
+                        <el-form-item prop="bookOriginalValue">
                             <el-form :model="row" @submit.native.prevent>
                                 <el-input v-model="row.bookOriginalValue" placeholder="请输入账面原值" />
                             </el-form>
@@ -188,9 +188,9 @@
                     </template>
                 </el-table-column>
                 <el-table-column label="评估价值" width="300">
-                    <el-table-column prop="originalValue" label="原值" width="100">
+                    <el-table-column prop="evaluateOriginalValue" label="原值" width="100">
                         <template #default="{ row }">
-                            <span>{{ row.originalValue = row.excludeTaxPrice }}</span>
+                            <span>{{ row.evaluateOriginalValue = row.excludeTaxPrice }}</span>
                         </template>
                     </el-table-column>
                     <el-table-column prop="depreciationRate" label="成新率%" width="100">
@@ -198,9 +198,9 @@
                             <span>{{ row.depreciationRate = row.comprehensiveDepreciationRate }}</span>
                         </template>
                     </el-table-column>
-                    <el-table-column prop="netValue" label="净值" width="100">
+                    <el-table-column prop="evaluateNetValue" label="净值" width="100">
                         <template #default="{ row }">
-                            <span>{{ row.netValue = (row.originalValue * 1 * row.comprehensiveDepreciationRate /
+                            <span>{{ row.evaluateNetValue = (row.evaluateOriginalValue * 1 * row.comprehensiveDepreciationRate /
                                 100)
                             }}</span>
                         </template>
@@ -209,7 +209,7 @@
                     <template #default="{ row }">
                         <el-form-item prop="valueAddedRate">
                             <el-form :model="row" @submit.native.prevent>
-                                <span>{{ row.valueAddedRate = ((row.originalValue * 1 - row.bookNetValue * 1) / row.bookNetValue).toFixed(2) }}</span>
+                                <span>{{ row.valueAddedRate = ((row.evaluateOriginalValue * 1 - row.bookNetValue * 1) / row.bookNetValue).toFixed(2) }}</span>
                             </el-form>
                         </el-form-item>
                     </template>
@@ -501,9 +501,9 @@
                         </el-form-item>
                     </template>
                 </el-table-column>
-                <el-table-column prop="originalValue" label="账面原值" width="150">
+                <el-table-column prop="bookOriginalValue" label="账面原值" width="150">
                     <template #default="{ row }">
-                        <el-form-item prop="originalValue">
+                        <el-form-item prop="bookOriginalValue">
                             <el-form :model="row" @submit.native.prevent>
                                 <el-input v-model="row.bookOriginalValue" placeholder="账面原值" disabled/>
                             </el-form>

+ 15 - 1
src/views/assets/workbench/report/baseInfo.vue

@@ -11,6 +11,13 @@
             </el-row>
             <el-row :gutter="10">
                 <el-col :span="12">
+                    <el-form-item label="报告号(产品号):" class="form-item" prop="productionNo">
+                        <el-input v-model="baseInfo.productionNo" clearable style="width: 100%;" />
+                    </el-form-item>
+                </el-col>
+            </el-row>
+            <el-row :gutter="10">
+                <el-col :span="12">
                     <el-form-item label="关联的测算表:" class="form-item" prop="calculateId">
                         <el-select v-model="baseInfo.calculateId" placeholder="选择关联的测算表">
                             <el-option v-for="item in dropDownBoxData" :key="item.id" :label="item.name" :value="item.id" />
@@ -46,6 +53,9 @@ export default {
                 ],
                 calculateId: [
                     { required: true, message: '请选择关联的测算表', trigger: 'blur' }
+                ],
+                productionNo: [
+                    { required: true, message: '请输入报告号', trigger: 'blur' }
                 ]
             }
         }
@@ -60,6 +70,7 @@ export default {
             this.baseInfo.projectId = this.projectStore.projectInfo.id;
             this.baseInfo.reportName = this.projectStore.reportProgress.reportName;
             this.baseInfo.calculateId = this.projectStore.reportProgress.calculateId;
+            this.baseInfo.productionNo = this.projectStore.reportProgress.productionNo;
         }
     },
     methods: {
@@ -75,7 +86,9 @@ export default {
         createReport() {
             this.$refs.baseInfo.validate((valid) => {
                 if (valid) {
-                    this.baseInfo.progress = 'BASE';
+                    if (!this.projectStore.reportProgress.id) {
+                        this.baseInfo.progress = 'BASE';
+                    }
                     this.baseInfo.projectId = this.projectStore.projectInfo.id;
                     createAssetsReport(this.baseInfo).then(res => {
                         if (res.code == 200) {
@@ -85,6 +98,7 @@ export default {
                                 type: 'success'
                             })
                             this.getReportProgress();
+                            this.$router.push('/home/assets/workbench/report/eqptBaseInfo');
                         }
                     })
                 }

+ 45 - 32
src/views/assets/workbench/report/eqptBaseInfo.vue

@@ -97,45 +97,45 @@
                     <el-divider content-position="left"><span style="color:#ff6154;">资产实物情况</span></el-divider>
                     <el-row :gutter="10">
                         <el-col :span="24">
-                            <el-form-item label="资产项数:" label-width="180" class="form-item" prop="assetCount">
-                                <el-input v-model="eqptBaseInfo.assetCount" type="number" clearable style="width: 100%;" />
+                            <el-form-item label="资产项数:" label-width="180" class="form-item" prop="assetsInfo.assetCount">
+                                <el-input v-model="eqptBaseInfo.assetsInfo.assetCount" type="number" clearable style="width: 100%;" />
                             </el-form-item>
                         </el-col>
                     </el-row>
                     <el-row :gutter="10">
                         <el-col :span="24">
-                            <el-form-item label="资产位置:" label-width="180" class="form-item" prop="assetLocation">
-                                <el-input v-model="eqptBaseInfo.assetLocation" clearable style="width: 100%;" />
+                            <el-form-item label="资产位置:" label-width="180" class="form-item" prop="assetsInfo.assetLocation">
+                                <el-input v-model="eqptBaseInfo.assetsInfo.assetLocation" clearable style="width: 100%;" />
                             </el-form-item>
                         </el-col>
                     </el-row>
                     <el-row :gutter="10">
                         <el-col :span="24">
-                            <el-form-item label="主要设备资产:" label-width="180" class="form-item" prop="majorEquipmentAssets">
-                                <el-input v-model="eqptBaseInfo.majorEquipmentAssets" :rows="1" type="textarea" clearable
+                            <el-form-item label="主要设备资产:" label-width="180" class="form-item" prop="assetsInfo.majorEquipmentAssets">
+                                <el-input v-model="eqptBaseInfo.assetsInfo.majorEquipmentAssets" :rows="1" type="textarea" clearable
                                     style="width: 100%;" />
                             </el-form-item>
                         </el-col>
                     </el-row>
                     <el-row :gutter="10">
                         <el-col :span="24">
-                            <el-form-item label="购置期间:" label-width="180" class="form-item" prop="purchasePeriod">
-                                <el-input v-model="eqptBaseInfo.purchasePeriod" clearable style="width: 100%;" />
+                            <el-form-item label="购置期间:" label-width="180" class="form-item" prop="assetsInfo.purchasePeriod">
+                                <el-input v-model="eqptBaseInfo.assetsInfo.purchasePeriod" clearable style="width: 100%;" />
                             </el-form-item>
                         </el-col>
                     </el-row>
                     <el-row :gutter="10">
                         <el-col :span="24">
-                            <el-form-item label="资产现状:" label-width="180" class="form-item" prop="assetCondition">
-                                <el-input v-model="eqptBaseInfo.assetCondition" :rows="1" type="textarea" clearable
+                            <el-form-item label="资产现状:" label-width="180" class="form-item" prop="assetsInfo.assetCondition">
+                                <el-input v-model="eqptBaseInfo.assetsInfo.assetCondition" :rows="1" type="textarea" clearable
                                     style="width: 100%;" />
                             </el-form-item>
                         </el-col>
                     </el-row>
                     <el-row :gutter="10">
                         <el-col :span="24">
-                            <el-form-item label="是否设立抵押权:" label-width="180" class="form-item" prop="establishMortgage">
-                                <el-radio-group v-model="eqptBaseInfo.establishMortgage">
+                            <el-form-item label="是否设立抵押权:" label-width="180" class="form-item" prop="assetsInfo.establishMortgage">
+                                <el-radio-group v-model="eqptBaseInfo.assetsInfo.establishMortgage">
                                     <el-radio value="true">是</el-radio>
                                     <el-radio value="false">否</el-radio>
                                 </el-radio-group>
@@ -144,18 +144,18 @@
                     </el-row>
                     <el-row :gutter="10">
                         <el-col :span="24">
-                            <el-form-item label="是否尚在质保期:" label-width="180" class="form-item" prop="underWarranty">
-                                <el-radio-group v-model="eqptBaseInfo.underWarranty">
+                            <el-form-item label="是否尚在质保期:" label-width="180" class="form-item" prop="assetsInfo.underWarranty">
+                                <el-radio-group v-model="eqptBaseInfo.assetsInfo.underWarranty">
                                     <el-radio value="true">是</el-radio>
                                     <el-radio value="false">否</el-radio>
                                 </el-radio-group>
                             </el-form-item>
                         </el-col>
                     </el-row>
-                    <el-row :gutter="10" v-if="eqptBaseInfo.underWarranty && eqptBaseInfo.underWarranty === 'true'">
+                    <el-row :gutter="10" v-if="eqptBaseInfo.assetsInfo.underWarranty && eqptBaseInfo.assetsInfo.underWarranty === 'true'">
                         <el-col :span="24">
-                            <el-form-item label="基准日尚余未付设备款:" label-width="180" class="form-item" prop="eqptUnpaidAmount">
-                                <el-input v-model="eqptBaseInfo.eqptUnpaidAmount" type="number" clearable
+                            <el-form-item label="基准日尚余未付设备款:" label-width="180" class="form-item" prop="assetsInfo.eqptUnpaidAmount">
+                                <el-input v-model="eqptBaseInfo.assetsInfo.eqptUnpaidAmount" type="number" clearable
                                     style="width: 100%;">
                                     <template #append>万元</template>
                                 </el-input>
@@ -164,8 +164,8 @@
                     </el-row>
                     <el-row :gutter="10">
                         <el-col :span="24">
-                            <el-form-item label="产权持有人权属等主要资料不完整或者存在瑕疵的情形:" label-width="180" class="form-item" prop="flaw">
-                                <el-input v-model="eqptBaseInfo.flaw" :rows="1" type="textarea" clearable
+                            <el-form-item label="产权持有人权属等主要资料不完整或者存在瑕疵的情形:" label-width="180" class="form-item" prop="assetsInfo.flaw">
+                                <el-input v-model="eqptBaseInfo.assetsInfo.flaw" :rows="1" type="textarea" clearable
                                     style="width: 100%;" />
                             </el-form-item>
                         </el-col>
@@ -253,7 +253,7 @@
                         </el-col>
                     </el-row>
                     <div>
-                        <el-button type="danger" style="float: right;">
+                        <el-button type="danger" @click="generateEquipmentReport()" style="float: right;">
                             生成报告
                         </el-button>
                     </div>
@@ -393,14 +393,15 @@
 <script>
 import { mapStores } from 'pinia'
 import { assetsProjectInfo } from '@/stores/assetsProjectStore';
-import { updateReportBaseInfo, getReportBaseInfo } from '@/api/assetsReport'
+import { updateReportBaseInfo, getReportBaseInfo, generateEquipmentReport } from '@/api/assetsReport'
 
 export default {
     data() {
         return {
             eqptBaseInfo: {
                 consignorInfos: [],
-                propertyOwnerInfos: []
+                propertyOwnerInfos: [],
+                assetsInfo: {}
             },
             eqptBaseInfoRules: {
                 reportName: [
@@ -442,31 +443,31 @@ export default {
                 ownerClient: [
                     { required: true, message: '请输入委托人与产权持有人之间的关系', trigger: 'blur' }
                 ],
-                assetCount: [
+                "assetsInfo.assetCount": [
                     { required: true, message: '请输入资产项数', trigger: 'blur' }
                 ],
-                assetLocation: [
+                "assetsInfo.assetLocation": [
                     { required: true, message: '请输入资产位置', trigger: 'blur' }
                 ],
-                majorEquipmentAssets: [
+                "assetsInfo.majorEquipmentAssets": [
                     { required: true, message: '请输入主要设备资产', trigger: 'blur' }
                 ],
-                purchasePeriod: [
+                "assetsInfo.purchasePeriod": [
                     { required: true, message: '请输入购置期间', trigger: 'blur' }
                 ],
-                assetCondition: [
+                "assetsInfo.assetCondition": [
                     { required: true, message: '请输入资产现状', trigger: 'blur' }
                 ],
-                establishMortgage: [
+                "assetsInfo.establishMortgage": [
                     { required: true, message: '请选择是否设立抵押权', trigger: 'blur' }
                 ],
-                underWarranty: [
+                "assetsInfo.underWarranty": [
                     { required: true, message: '请选择是否尚在质保期', trigger: 'blur' }
                 ],
-                eqptUnpaidAmount: [
+                "assetsInfo.eqptUnpaidAmount": [
                     { required: true, message: '请输入基准日尚余未付设备款', trigger: 'blur' }
                 ],
-                flaw: [
+                "assetsInfo.flaw": [
                     { required: true, message: '请输入产权持有人权属等主要资料不完整或者存在瑕疵的情形', trigger: 'blur' }
                 ]
             },
@@ -524,7 +525,7 @@ export default {
         }
     },
     created() {
-        if(this.projectStore.reportProgress) {
+        if (this.projectStore.reportProgress) {
             this.getReportBaseInfo();
         }
     },
@@ -586,6 +587,18 @@ export default {
                     this.needUpdateStore = false;
                 }
             })
+        },
+        // 生成机器设备报告word文件
+        generateEquipmentReport() {
+            generateEquipmentReport(this.projectStore.reportProgress.id).then(res => {
+                if (res.code == 200) {
+                    ElMessage({
+                        showClose: true,
+                        message: res.message,
+                        type: 'success'
+                    })
+                }
+            })
         }
     }
 }