浏览代码

1.机器设备-设备融资项目报告word生成开发

GouGengquan 7 月之前
父节点
当前提交
62d7bfb328
共有 2 个文件被更改,包括 110 次插入33 次删除
  1. 8 0
      src/views/assets/template/createReport.vue
  2. 102 33
      src/views/assets/workbench/report/eqptBaseInfo.vue

+ 8 - 0
src/views/assets/template/createReport.vue

@@ -198,6 +198,14 @@ export default {
                     label: '设备融资项目报告-目录-段落模板',
                 },
                 {
+                    value: 'ATTACHMENTS',
+                    label: '设备融资项目报告-附件-段落模板',
+                },
+                {
+                    value: 'DIGEST',
+                    label: '设备融资项目报告-摘要-段落模板',
+                },
+                {
                     value: 'DETAIL',
                     label: '设备融资项目报告-正文-段落模板',
                 },

+ 102 - 33
src/views/assets/workbench/report/eqptBaseInfo.vue

@@ -1,21 +1,45 @@
 <template>
     <div class="contrl" style="overflow: auto;height: 85vh;">
         <el-divider content-position="left"><span style="color:#ff6154;">生成报告</span></el-divider>
+        <h3 style="text-align: center;">{{ consignorCompanyNames }}拟进行{{ eqptBaseInfo.purpose
+        }}所涉及的{{ ownerCompanyNames }}持有的{{ eqptBaseInfo.assetsInfo.assetCount }}台/套机器设备{{ eqptBaseInfo.valueType }}</h3>
         <el-form ref="eqptBaseInfo" :model="eqptBaseInfo" label-width="auto" style="margin-top: 10px;"
             :rules="eqptBaseInfoRules">
             <el-row :gutter="20">
                 <el-col :span="12">
                     <el-row :gutter="10">
                         <el-col :span="24">
-                            <el-form-item label="评估报告名称:" label-width="180" class="form-item" prop="reportName">
-                                <el-input v-model="eqptBaseInfo.reportName" 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="purpose">
-                                <el-input v-model="eqptBaseInfo.purpose" clearable style="width: 100%;" />
+                                <el-select v-model="eqptBaseInfo.purpose" clearable style="width: 100%;">
+                                    <el-option label="IPO上市" value="IPO上市" />
+                                    <el-option label="公司制改建" value="公司制改建" />
+                                    <el-option label="对外投资" value="对外投资" />
+                                    <el-option label="接受投资" value="接受投资" />
+                                    <el-option label="合并、分立、破产、清算、解散" value="合并、分立、破产、清算、解散" />
+                                    <el-option label="股东股权比例变动" value="股东股权比例变动" />
+                                    <el-option label="产权转让" value="产权转让" />
+                                    <el-option label="上市公司发行股份购买资产" value="上市公司发行股份购买资产" />
+                                    <el-option label="资产转让、置换、拍卖" value="资产转让、置换、拍卖" />
+                                    <el-option label="资产抵押/质押" value="资产抵押/质押" />
+                                    <el-option label="资产租赁" value="资产租赁" />
+                                    <el-option label="资产补偿/损失补偿" value="资产补偿/损失补偿" />
+                                    <el-option label="资产偿债" value="资产偿债" />
+                                    <el-option label="资产涉讼" value="资产涉讼" />
+                                    <el-option label="资产收购" value="资产收购" />
+                                    <el-option label="接受抵债资产" value="接受抵债资产" />
+                                    <el-option label="债转股" value="债转股" />
+                                    <el-option label="债务重组及其他" value="债务重组及其他" />
+                                    <el-option label="追溯评估" value="追溯评估" />
+                                    <el-option label="复核报告" value="复核报告" />
+                                    <el-option label="了解价值" value="了解价值" />
+                                    <el-option label="财务会计报告目的" value="财务会计报告目的" />
+                                    <el-option label="计税价格评估" value="计税价格评估" />
+                                    <el-option label="认定报关价格" value="认定报关价格" />
+                                    <el-option label="搬迁" value="搬迁" />
+                                    <el-option label="资产捐赠" value="资产捐赠" />
+                                    <el-option label="收购/处置不良资产" value="收购/处置不良资产" />
+                                    <el-option label="其他" value="其他" />
+                                </el-select>
                             </el-form-item>
                         </el-col>
                     </el-row>
@@ -30,28 +54,38 @@
                     <el-row :gutter="10">
                         <el-col :span="24">
                             <el-form-item label="价值类型:" label-width="180" class="form-item" prop="valueType">
-                                <el-input v-model="eqptBaseInfo.valueType" clearable style="width: 100%;" />
+                                <el-select v-model="eqptBaseInfo.valueType" clearable style="width: 100%;">
+                                    <el-option label="市场价值" value="市场价值" />
+                                    <el-option label="投资价值" value="投资价值" />
+                                    <el-option label="在用价值" value="在用价值" />
+                                    <el-option label="清算价值" value="清算价值" />
+                                    <el-option label="残余价值" value="残余价值" />
+                                    <el-option label="其他" value="其他" />
+                                </el-select>
                             </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="preparationPhase">
-                                <el-input v-model="eqptBaseInfo.preparationPhase" clearable style="width: 100%;" />
+                                <el-date-picker v-model="eqptBaseInfo.preparationPhase" value-format="YYYY年MM月" type="month"
+                                    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="valuationBasisDate">
-                                <el-input v-model="eqptBaseInfo.valuationBasisDate" clearable style="width: 100%;" />
+                                <el-date-picker v-model="eqptBaseInfo.valuationBasisDate" value-format="YYYY年MM月DD日"
+                                    type="date" 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="fieldInvestigationDay">
-                                <el-input v-model="eqptBaseInfo.fieldInvestigationDay" clearable style="width: 100%;" />
+                                <el-date-picker v-model="eqptBaseInfo.fieldInvestigationDay" value-format="YYYY年MM月DD日"
+                                    type="date" clearable style="width: 100%;" />
                             </el-form-item>
                         </el-col>
                     </el-row>
@@ -83,14 +117,16 @@
                     <el-row :gutter="10">
                         <el-col :span="24">
                             <el-form-item label="评估报告日:" label-width="180" class="form-item" prop="reportDate">
-                                <el-input v-model="eqptBaseInfo.reportDate" clearable style="width: 100%;" />
+                                <el-date-picker v-model="eqptBaseInfo.reportDate" value-format="YYYY年MM月DD日" type="date"
+                                    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="reportValidity">
-                                <el-input v-model="eqptBaseInfo.reportValidity" clearable style="width: 100%;" />
+                                <el-date-picker v-model="eqptBaseInfo.reportValidity" value-format="YYYY年MM月DD日"
+                                    :type="reportValidityDatePicker" range-separator="至" clearable style="width: 100%;" />
                             </el-form-item>
                         </el-col>
                     </el-row>
@@ -98,7 +134,8 @@
                     <el-row :gutter="10">
                         <el-col :span="24">
                             <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-input v-model="eqptBaseInfo.assetsInfo.assetCount" type="number" clearable
+                                    style="width: 100%;" />
                             </el-form-item>
                         </el-col>
                     </el-row>
@@ -111,30 +148,34 @@
                     </el-row>
                     <el-row :gutter="10">
                         <el-col :span="24">
-                            <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 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="assetsInfo.purchasePeriod">
-                                <el-input v-model="eqptBaseInfo.assetsInfo.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" 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="assetsInfo.assetCondition">
-                                <el-input v-model="eqptBaseInfo.assetsInfo.assetCondition" :rows="1" type="textarea" clearable
-                                    style="width: 100%;" />
+                            <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="assetsInfo.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>
@@ -144,7 +185,8 @@
                     </el-row>
                     <el-row :gutter="10">
                         <el-col :span="24">
-                            <el-form-item label="是否尚在质保期:" label-width="180" class="form-item" prop="assetsInfo.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>
@@ -152,9 +194,11 @@
                             </el-form-item>
                         </el-col>
                     </el-row>
-                    <el-row :gutter="10" v-if="eqptBaseInfo.assetsInfo.underWarranty && eqptBaseInfo.assetsInfo.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="assetsInfo.eqptUnpaidAmount">
+                            <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>
@@ -164,7 +208,8 @@
                     </el-row>
                     <el-row :gutter="10">
                         <el-col :span="24">
-                            <el-form-item label="产权持有人权属等主要资料不完整或者存在瑕疵的情形:" label-width="180" class="form-item" prop="assetsInfo.flaw">
+                            <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>
@@ -307,7 +352,8 @@
                 <el-row :gutter="10">
                     <el-col :span="24">
                         <el-form-item label="成立日期:" class="form-item" prop="consignorEstablishmentDate">
-                            <el-input v-model="consignorInfo.consignorEstablishmentDate" clearable style="width: 100%;" />
+                            <el-date-picker v-model="consignorInfo.consignorEstablishmentDate" value-format="YYYY年MM月DD日"
+                                type="date" clearable style="width: 100%;" />
                         </el-form-item>
                     </el-col>
                 </el-row>
@@ -368,7 +414,8 @@
                 <el-row :gutter="10">
                     <el-col :span="24">
                         <el-form-item label="成立日期:" class="form-item" prop="ownerEstablishmentDate">
-                            <el-input v-model="propertyOwnerInfo.ownerEstablishmentDate" clearable style="width: 100%;" />
+                            <el-date-picker v-model="propertyOwnerInfo.ownerEstablishmentDate" value-format="YYYY年MM月DD日"
+                                type="date" clearable style="width: 100%;" />
                         </el-form-item>
                     </el-col>
                 </el-row>
@@ -398,15 +445,16 @@ import { updateReportBaseInfo, getReportBaseInfo, generateEquipmentReport } from
 export default {
     data() {
         return {
+            reportValidityDatePicker: 'daterange',
             eqptBaseInfo: {
                 consignorInfos: [],
                 propertyOwnerInfos: [],
                 assetsInfo: {}
             },
             eqptBaseInfoRules: {
-                reportName: [
-                    { required: true, message: '请输入评估报告名称', trigger: 'blur' }
-                ],
+                // reportName: [
+                //     { required: true, message: '请输入评估报告名称', trigger: 'blur' }
+                // ],
                 purpose: [
                     { required: true, message: '请输入评估目的', trigger: 'blur' }
                 ],
@@ -531,6 +579,14 @@ export default {
     },
     computed: {
         ...mapStores(assetsProjectInfo),
+        consignorCompanyNames() {
+            // 使用 map 方法提取 name 属性,并用 join 方法以 、 分割
+            return this.eqptBaseInfo.consignorInfos.map(consignor => consignor.consignorCompanyName).join('、');
+        },
+        ownerCompanyNames() {
+            // 使用 map 方法提取 name 属性,并用 join 方法以 、 分割
+            return this.eqptBaseInfo.propertyOwnerInfos.map(propertyOwner => propertyOwner.ownerCompanyName).join('、');
+        }
     },
     methods: {
         // 添加委托人概况
@@ -559,6 +615,9 @@ export default {
         updateReportBaseInfo() {
             this.$refs.eqptBaseInfo.validate((valid) => {
                 if (valid) {
+                    // 提交信息前将reportValidity的从数组改为字符串,并将对应的日期选择器类型改为date,不然日期选择器组件接收的数组会报错
+                    this.reportValidityDatePicker = 'date';
+                    this.eqptBaseInfo.reportValidity = this.eqptBaseInfo.reportValidity.join('至');
                     let params = {};
                     params.reportId = this.projectStore.reportProgress.id;
                     params.baseInfo = JSON.stringify(this.eqptBaseInfo);
@@ -574,6 +633,10 @@ export default {
                                 this.projectStore.reportProgress.progress = 'GENERATE';
                             }
                         }
+                        // 提交信息之后再改回来
+                        const parts = this.eqptBaseInfo.reportValidity.split('至');
+                        this.eqptBaseInfo.reportValidity = parts.map(part => part.trim());
+                        this.reportValidityDatePicker = 'daterange';
                     })
                 }
             })
@@ -583,11 +646,17 @@ export default {
             getReportBaseInfo(this.projectStore.reportProgress.id).then(res => {
                 if (res.data) {
                     this.eqptBaseInfo = JSON.parse(res.data);
+                    const parts = this.eqptBaseInfo.reportValidity.split('至');
+                    this.eqptBaseInfo.reportValidity = parts.map(part => part.trim());
                     // 返回不为空说明该步骤以前已经完成了,不需要更新本地缓存
                     this.needUpdateStore = false;
                 }
             })
         },
+        // 组装报告名字
+        reportNameChange() {
+
+        },
         // 生成机器设备报告word文件
         generateEquipmentReport() {
             generateEquipmentReport(this.projectStore.reportProgress.id).then(res => {