Browse Source

生成一般假设文档前端接口

wucl 8 months ago
parent
commit
22966e5039
2 changed files with 242 additions and 118 deletions
  1. 9 0
      src/api/houseGuaranty.js
  2. 233 118
      src/views/house/workbench/conditions.vue

+ 9 - 0
src/api/houseGuaranty.js

@@ -25,6 +25,15 @@ const houseGuaranty = {
     },
     getTargetsById(params){
         return request.get(`/house/guaranty/targets/${params}`)
+    },
+    saveSupplement(params){
+        return request.post(`/house/guaranty/target`, params)
+    },
+    getTarget(param1,param2){
+        return request.get(`/house/guaranty/target?docId=${param1}&tId=${param2}`)
+    },
+    genConditionDoc(params){
+        return request.get(`/house/guaranty/condition/${params}`)
     }
 
 }

+ 233 - 118
src/views/house/workbench/conditions.vue

@@ -1,15 +1,18 @@
 <template>
     <div class="contrl">
-        <div style="width: 95%;">
-            <div class="title-div">
-                <span>完善估价对象详细信息</span>
-            </div>
-
-            <el-tabs v-model="activeName" class="targets-tabs">
-                <el-tab-pane :label="'估价对象' + t.id" :name="index" :lazy="true" v-for="(t, index) in targets">
+        <div class="title-div">
+            <span>完善估价对象详细信息</span>
+            <el-button class="genBtn" plain type="danger" @click="genConditionDoc()">生成《估价的假设和限制条件及使用报告说明》
+                        <el-icon style="vertical-align: -20%;">
+                            <ArrowRightBold />
+                        </el-icon>
+            </el-button>
+        </div>
+        <el-tabs v-model="activeName" class="targets-tabs">
+                <el-tab-pane :label="'估价对象' + t.tid" :name="t.tid" :lazy="true" v-for="(t, index) in targets">
                     <div class="targetTable">
                         <el-divider content-position="left">一览表</el-divider>
-                        <el-table :data="t.list" border stripe size="medium" :header-row-style="{ color: '#333333'}"
+                        <el-table :data="t.list" border stripe size="default" :header-row-style="{ color: '#333333'}"
                             style="
                         border-left: 1px solid #ebeced;
                         border-right: 1px solid #ebeced;
@@ -35,23 +38,23 @@
                     </div>
                     <div>
                         <el-divider content-position="left">一般假设、未定事项假设、不相一致假设、依据不足假设</el-divider>
-                        <el-form :inline="true" :model="t" label-width="auto" style="margin-top: 30px;">
+                        <el-form :inline="true" :model="t" label-width="230" style="margin-top: 30px;">
                             <el-row :gutter="24">
                                 <el-col :span="12">
                                     <el-form-item label="是否建筑物部分:">
-                                        <el-select v-model="t.isPart" clearable placeholder="请选择">
-                                            <el-option label="是" value="是" />
-                                            <el-option label="否" value="否" />
-                                            <el-option label="酒店部分" value="酒店部分" />
-                                        </el-select>
+                                        <el-radio-group v-model="t.isPart">
+                                            <el-radio value="是">是</el-radio>
+                                            <el-radio value="否">否</el-radio>
+                                            <el-radio value="酒店部分">酒店部分</el-radio>
+                                        </el-radio-group>
                                     </el-form-item>
                                 </el-col>
                                 <el-col :span="12">
                                     <el-form-item label="是否登记建成年份:">
-                                        <el-select v-model="t.hasBuildingYear" clearable placeholder="请选择" @change="handleBuidingYear(t)">
-                                            <el-option label="是" :value="true" />
-                                            <el-option label="否" :value="false" />
-                                        </el-select>
+                                        <el-radio-group v-model="t.hasBuildingYear" @change="handleBuidingYear(t)">
+                                            <el-radio :value="true">是</el-radio>
+                                            <el-radio :value="false">否</el-radio>
+                                        </el-radio-group>
                                     </el-form-item>
                                 </el-col>
                             </el-row>
@@ -76,11 +79,11 @@
                             <el-row :gutter="24">
                                 <el-col :span="12">
                                     <el-form-item label="土地用途:">
-                                        <el-select v-model="t.landUseTo" clearable placeholder="请选择">
-                                            <el-option label="商业" value="商业" />
-                                            <el-option label="住宅" value="住宅" />
-                                            <el-option label="工业" value="工业" />
-                                        </el-select>
+                                        <el-radio-group v-model="t.landUseTo" >
+                                            <el-radio value="商业">商业</el-radio>
+                                            <el-radio value="住宅">住宅</el-radio>
+                                            <el-radio value="工业">工业</el-radio>
+                                        </el-radio-group>
                                     </el-form-item>
                                 </el-col>
                                 <el-col :span="12">
@@ -97,21 +100,31 @@
                                     </el-form-item>
                                 </el-col>
                                 <el-col :span="12">
+                                    <el-form-item label="采用成本法且分摊土地面积处理:">
+                                        <el-radio-group v-model="t.isCostingShareMethod" clearable placeholder="请选择">
+                                            <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="24">
+                                <el-col :span="12">
                                     <el-form-item label="是否采用分层面积处理方式:">
-                                        <el-select v-model="t.isLayer" clearable placeholder="请选择">
-                                            <el-option label="是" :value="true" />
-                                            <el-option label="否" :value="false" />
-                                        </el-select>
+                                        <el-radio-group v-model="t.isLayer" clearable placeholder="请选择">
+                                            <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="24" v-if="t.isLayer">
                                 <el-col :span="12">
                                     <el-form-item label="分层面积处理方式是否有图:">
-                                        <el-select v-model="t.hasLayerImage" clearable placeholder="请选择">
-                                            <el-option label="有图" value="有图" />
-                                            <el-option label="无图" value="无图" />
-                                        </el-select>
+                                        <el-radio-group v-model="t.hasLayerImage" clearable placeholder="请选择">
+                                            <el-radio :value="true">有图</el-radio>
+                                            <el-radio :value="false">无图</el-radio>
+                                        </el-radio-group>
                                     </el-form-item>
                                 </el-col>
                                 <el-col :span="12">
@@ -120,7 +133,7 @@
                                     </el-form-item>
                                 </el-col>
                             </el-row>
-                            <el-row :gutter="24" v-if="t.isLayer=='是'">
+                            <el-row :gutter="24" v-if="t.isLayer">
                                 <el-col :span="12">
                                     <el-form-item label="二层面积(㎡):">
                                         <el-input v-model="t.floor2Acreage" />
@@ -135,64 +148,90 @@
                             <el-row :gutter="24">
                                 <el-col :span="12">
                                     <el-form-item label="查勘地址与登记地址是否一致:">
-                                        <el-select v-model="t.isAddressSame" clearable placeholder="请选择">
-                                            <el-option label="是" :value="true" />
-                                            <el-option label="否" :value="false" />
-                                        </el-select>
+                                        <el-radio-group v-model="t.isAddressSame" clearable placeholder="请选择">
+                                            <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="24" v-if="!t.isAddressSame">
+                                <el-col :span="12" >
+                                    <el-form-item label="地址不一致时是否开具地址证明:">
+                                        <el-radio-group v-model="t.isAddressCertificate" clearable placeholder="请选择">
+                                            <el-radio :value="true">是</el-radio>
+                                            <el-radio :value="false">否</el-radio>
+                                        </el-radio-group>
                                     </el-form-item>
                                 </el-col>
                                 <el-col :span="12">
-                                    <el-form-item label="查勘之日与价值时点是否一致:">
-                                        <el-select v-model="t.isDateTimeSame" clearable placeholder="请选择">
-                                            <el-option label="是" value="是" />
-                                            <el-option label="否" value="否" />
-                                        </el-select>
+                                    <el-form-item label="未见栋号房号:">
+                                        <el-radio-group v-model="t.noBuildingHouseNos" clearable placeholder="请选择">
+                                            <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="24">
-                                <el-col :span="12" v-if="t.isAddressSame">
-                                    <el-form-item label="地址不一致时是否开具地址证明:">
-                                        <el-select v-model="t.isAddressCertificate" clearable placeholder="请选择">
-                                            <el-option label="是" :value="true" />
-                                            <el-option label="否" :value="false" />
-                                        </el-select>
+                                <el-col :span="12">
+                                    <el-form-item label="查勘之日与价值时点是否一致:">
+                                        <el-radio-group v-model="t.isDateTimeSame" clearable placeholder="请选择">
+                                            <el-radio :value="true">是</el-radio>
+                                            <el-radio :value="false">否</el-radio>
+                                        </el-radio-group>
                                     </el-form-item>
                                 </el-col>
+                                <el-col :span="12" v-if="!t.isDateTimeSame">
+                                    <el-form-item label="实地查勘日期:">
+                                        <el-date-picker v-model="t.exploreDate" type="date" placeholder="请选择"
+                                            format="YYYY年MM月DD日" value-format="YYYY年MM月DD日" />
+                                    </el-form-item>
+                                </el-col>
+                            </el-row>
+                            <el-row :gutter="24">
                                 <el-col :span="12">
                                     <el-form-item label="是否考虑建筑物残值:">
-                                        <el-select v-model="t.isBuildingReduceValue" clearable placeholder="请选择">
-                                            <el-option label="是" :value="true" />
-                                            <el-option label="否" :value="false" />
-                                        </el-select>
+                                        <el-radio-group v-model="t.isBuildingReduceValue" clearable placeholder="请选择">
+                                            <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="24">
                                 <el-col :span="12">
                                     <el-form-item label="是否提供权属证件原件:">
-                                        <el-select v-model="t.hasOriginCertificate" clearable placeholder="请选择">
-                                            <el-option label="是" :value="true" />
-                                            <el-option label="否" :value="false" />
-                                        </el-select>
+                                        <el-radio-group v-model="t.hasOriginCertificate" clearable placeholder="请选择">
+                                            <el-radio :value="true">是</el-radio>
+                                            <el-radio :value="false">否</el-radio>
+                                        </el-radio-group>
                                     </el-form-item>
                                 </el-col>
-                                <el-col :span="12" v-if="t.hasOriginCertificate">
+                                <el-col :span="12" v-if="!t.hasOriginCertificate">
                                     <el-form-item label="《权利状况说明及承诺书》承诺证件一致:" >
-                                        <el-select v-model="t.isPromise" clearable placeholder="请选择">
-                                            <el-option label="是" :value="true" />
-                                            <el-option label="否" :value="false" />
-                                        </el-select>
+                                        <el-radio-group v-model="t.isPromise" clearable placeholder="请选择">
+                                            <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="24">
                                 <el-col :span="12">
-                                    <el-form-item label="提供《国有建设用地使用权出让合同》:">
-                                        <el-select v-model="t.hasLandUseRightContract" clearable placeholder="请选择">
-                                            <el-option label="是" :value="true" />
-                                            <el-option label="否" :value="false" />
-                                        </el-select>
+                                    <el-form-item label="是否提供《国有建设用地使用权出让合同》:">
+                                        <el-radio-group v-model="t.hasLandUseRightContract" clearable placeholder="请选择">
+                                            <el-radio :value="true">是</el-radio>
+                                            <el-radio :value="false">否</el-radio>
+                                        </el-radio-group>
+                                    </el-form-item>
+                                </el-col>
+                                <el-col :span="12">
+                                    <el-form-item label="土地剩余使用年限短于建筑物剩余经济寿命:">
+                                        <el-radio-group v-model="t.landYearLowerHouseYear" clearable placeholder="请选择">
+                                            <el-radio :value="true">是</el-radio>
+                                            <el-radio :value="false">否</el-radio>
+                                        </el-radio-group>
                                     </el-form-item>
                                 </el-col>
                             </el-row>
@@ -200,29 +239,29 @@
                             <el-row :gutter="24">
                                 <el-col :span="12">
                                     <el-form-item label="估价对象是否已出租:">
-                                        <el-select v-model="t.isRentOut" clearable placeholder="请选择" @change="handleIsRentOut(t)">
-                                            <el-option label="是" :value="true" />
-                                            <el-option label="否" :value="false" />
-                                        </el-select>
+                                        <el-radio-group v-model="t.isRentOut" clearable placeholder="请选择" @change="handleIsRentOut(t)">
+                                            <el-radio :value="true">是</el-radio>
+                                            <el-radio :value="false">否</el-radio>
+                                        </el-radio-group>
                                     </el-form-item>
                                 </el-col>
                                 
                                 <el-col :span="12" v-if="t.isRentOut">
                                     <el-form-item label="是否提供租赁合同:" >
-                                        <el-select v-model="t.hasRentOutContract" clearable placeholder="请选择" @change="handleRentOutContract(t)">
-                                            <el-option label="是" :value="true" />
-                                            <el-option label="否" :value="false" />
-                                        </el-select>
+                                        <el-radio-group v-model="t.hasRentOutContract" clearable placeholder="请选择" @change="handleRentOutContract(t)">
+                                            <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="24" v-if="t.isRentOut">
                                 <el-col :span="12">
                                     <el-form-item label="是否考虑租约限制:">
-                                        <el-select v-model="t.isRentLimit" clearable placeholder="请选择" @change="handleisRentLimit(t)">
-                                            <el-option label="是" :value="true" />
-                                            <el-option label="否" :value="false" />
-                                        </el-select>
+                                        <el-radio-group v-model="t.isRentLimit" clearable placeholder="请选择" @change="handleisRentLimit(t)">
+                                            <el-radio :value="true">是</el-radio>
+                                            <el-radio :value="false">否</el-radio>
+                                        </el-radio-group>
                                     </el-form-item>
                                 </el-col>
                             </el-row>
@@ -279,10 +318,10 @@
                                 <el-row :gutter="24">
                                 <el-col :span="12">
                                     <el-form-item label="是否设置抵押权:" >
-                                        <el-select v-model="t.hasPledge" clearable placeholder="请选择">
-                                            <el-option label="是" :value="true" />
-                                            <el-option label="否" :value="false" />
-                                        </el-select>
+                                        <el-radio-group v-model="t.hasPledge" clearable placeholder="请选择">
+                                            <el-radio :value="true">是</el-radio>
+                                            <el-radio :value="false">否</el-radio>
+                                        </el-radio-group>
                                     </el-form-item>
                                 </el-col>
                             </el-row>
@@ -294,10 +333,10 @@
                                 </el-col>
                                 <el-col :span="12">
                                     <el-form-item label="抵押权类型:" >
-                                        <el-select v-model="t.pledgeType" clearable placeholder="请选择">
-                                            <el-option label="一般抵押权" value="一般抵押权" />
-                                            <el-option label="最高额抵押权" value="最高额抵押权" />
-                                        </el-select>
+                                        <el-radio-group v-model="t.pledgeType" clearable placeholder="请选择">
+                                            <el-radio  value="一般抵押权">一般抵押权</el-radio>
+                                            <el-radio  value="最高额抵押权">最高额抵押权</el-radio>
+                                        </el-radio-group>
                                     </el-form-item>
                                 </el-col>
                             </el-row>
@@ -309,10 +348,10 @@
                                 </el-col>
                                 <el-col :span="12">
                                     <el-form-item label="同一抵押权人续贷:" >
-                                        <el-select v-model="t.samePledgeContinue" clearable placeholder="请选择">
-                                            <el-option label="是" :value="true" />
-                                            <el-option label="否" :value="false" />
-                                        </el-select>
+                                        <el-radio-group v-model="t.samePledgeContinue" clearable placeholder="请选择">
+                                            <el-radio :value="true">是</el-radio>
+                                            <el-radio :value="false">否</el-radio>
+                                        </el-radio-group>
                                     </el-form-item>
                                 </el-col>
                             </el-row>
@@ -324,50 +363,60 @@
                                 </el-col>
                                 <el-col :span="12">
                                     <el-form-item label="已设立最高额抵押权且抵押未到期:" >
-                                        <el-select v-model="t.highPledgeNotExpire" clearable placeholder="请选择">
-                                            <el-option label="是" :value="true" />
-                                            <el-option label="否" :value="false" />
-                                        </el-select>
+                                        <el-radio-group v-model="t.highPledgeNotExpire" clearable placeholder="请选择">
+                                            <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="24">
                                 <el-col :span="12" v-if="t.hasPledge">
-                                    <el-form-item label="现拟设立最高额抵押权同一抵押权人:" >
-                                        <el-select v-model="t.samePledgeHigh" clearable placeholder="请选择">
-                                            <el-option label="是" :value="true" />
-                                            <el-option label="否" :value="false" />
-                                        </el-select>
+                                    <el-form-item label="已设立抵押权现拟设立最高额抵押权同一抵押权人:" >
+                                        <el-radio-group v-model="t.samePledgeHigh" clearable placeholder="请选择">
+                                            <el-radio :value="true">是</el-radio>
+                                            <el-radio :value="false">否</el-radio>
+                                        </el-radio-group>
                                     </el-form-item>
                                 </el-col>
                                 <el-col :span="12">
-                                    <el-form-item label="其他法定优先受偿款(万元):" >
-                                        <el-input v-model="t.firstMoney" clearable />
+                                    <el-form-item label="其他法定优先受偿款:" >
+                                        <el-input v-model="t.firstMoney" clearable>
+                                            <template #append>
+                                                <span>万元</span>
+                                            </template>
+                                        </el-input>
                                     </el-form-item>
                                 </el-col>
                             </el-row>
                             <el-row :gutter="24">
                                 <el-col :span="12">
-                                    <el-form-item label="拖欠工程款(万元):" >
-                                        <el-input v-model="t.debtMonty" clearable />
+                                    <el-form-item label="拖欠工程款:" >
+                                        <el-input v-model="t.debtMoney" clearable>
+                                            <template #append>
+                                                <span>万元</span>
+                                            </template>
+                                        </el-input>
                                     </el-form-item>
                                 </el-col>
                                 <el-col :span="12">
                                     <el-form-item label="是否扣除法定优先受偿款:" >
-                                        <el-select v-model="t.isTakeOutFirstMoney" clearable placeholder="请选择">
-                                            <el-option label="是" :value="true" />
-                                            <el-option label="否" :value="false" />
-                                        </el-select>
+                                        <el-radio-group v-model="t.isTakeOutFirstMoney" clearable placeholder="请选择">
+                                            <el-radio :value="true">是</el-radio>
+                                            <el-radio :value="false">否</el-radio>
+                                        </el-radio-group>
                                     </el-form-item>
                                 </el-col>
                             </el-row>
                         </el-form>
+                        <el-button style="float: right;" plain type="danger" @click="saveSupplement(t)">保存估价对象{{ t.tid }}的补充信息
+                            <el-icon style="vertical-align: -20%;">
+                                <ArrowRightBold />
+                            </el-icon>
+                        </el-button>
                     </div>
                 </el-tab-pane>
-
-            </el-tabs>
-        </div>
-
+        </el-tabs>
     </div>
 </template>
 
@@ -382,12 +431,23 @@ export default {
 
     created() {
         this.docId = this.$route.query.id;
+        
         this.getTargets();
     },
 
+    watch:{
+        activeName:{
+            handler(nv,ov){
+                this.getTargetSupplement(nv);
+            },
+            immediate:true
+        },
+        
+    },
+
     data() {
         return {
-            activeName: 0,
+            activeName: '①',
             docId: null,
             targets: [],
 
@@ -400,7 +460,7 @@ export default {
             houseGuaranty.getTargetsById(this.docId).then(res => {
                 if (res.code === 200) {
                     this.targets = res.data;
-
+                    this.getTargetSupplement(this.activeName);
                 }
             })
         },
@@ -437,6 +497,48 @@ export default {
             if (t.hasBuildingYear){
                 t.buildingYear = null;
             }
+        },
+
+        saveSupplement(t){
+            t.docId= this.docId;
+            t.baseInfo = JSON.stringify(t.list);
+            houseGuaranty.saveSupplement(t).then(res=>{
+                if (res.code === 200){
+                    ElMessage({
+                        message: '估价对象'+t.tid+',补充信息已保存.',
+                        type: 'success',
+                        plain: true
+                    })
+                }
+            })
+        },
+
+        getTargetSupplement(tid){
+            if (this.docId){
+                houseGuaranty.getTarget(this.docId,tid).then(res=>{
+                    if (res.code ===200 && res.data!=null){
+                        for (let i in this.targets){
+                            if (this.targets[i].tid === tid){
+                                const list = this.targets[i].list;
+                                this.targets[i] = res.data;
+                                this.targets[i].list = list;
+                            }
+                        }
+                    }
+                })
+            }
+        },
+
+        genConditionDoc(){
+            houseGuaranty.genConditionDoc(this.docId).then(res=>{
+                if (res.code === 200){
+                    ElMessage({
+                        message: '《估价的假设和限制条件及使用报告说明》生成成功',
+                        type: 'success',
+                        plain: true
+                    })
+                }
+            })
         }
 
     }
@@ -456,17 +558,30 @@ export default {
 .title-div {
     height: 80px;
     line-height: 80px;
-    width: 300px;
+    width: 100%;
     font-size: 20px;
     font-weight: 900;
 }
 
-.el-select {
-    --el-select-width: 220px;
+.genBtn{
+    float: right;
+    margin-top: 30px;
+}
+
+/* .el-radio-group {
+    --el-radio-group-width: 220px;
 }
 
 .el-input {
-    --el-input-width: 220px;
+    --el-input-width: 100%;
+} */
+
+:deep(.el-select){
+    width: 220px;
+}
+
+:deep(.el-input){
+    width: 220px;
 }
 
 :deep(.el-table .cell) {
@@ -478,9 +593,9 @@ export default {
     --el-input-focus-border-color: #ff6154;
 }
 
-:deep(.el-select__wrapper.is-focused) {
+:deep(.el-radio-group__wrapper.is-focused) {
     box-shadow: #ff6154;
-    --el-select-input-focus-border-color: #ff6154;
+    --el-radio-group-input-focus-border-color: #ff6154;
     --el-color-primary: #ff6154;
 }