Files
pgserver3.0/pgweb/src/views/report/components/baseInfo.vue
2026-04-27 14:54:37 +08:00

2993 lines
142 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<template>
<div class="detail-div">
<div class="text-right mb-10 nx-float-block">
<Button shape="circle" class="mr-10" @click="conserveReport">保存当前物业</Button>
<Button shape="circle" class="mr-10" @click="saveReportBaseInfo">保存报告信息</Button>
<Button shape="circle" class="mr-10" v-if='$route.name=="report-examineDetail"' :loading="returnLoad" @click="subApprovalReturn">退回</Button><!-- 待审核 -->
<!-- <Button shape="circle" class="mr-10" @click="reqPreviewReport" :loading='viewLoad'>预览</Button> -->
<Button shape="circle" class="mr-10" :loading="loading" @click="subReport" v-if='$route.query.state!="checkone" && $route.query.state!="checktwo"'>
提交
</Button>
<Button shape="circle" v-if='$route.query.state=="checkone" || $route.query.state=="checktwo"' :loading="finishLoad" @click='subFinish($route.query.state=="checkone"?2:3)'>完成</Button>
</div>
<Card :border="false">
<div class="zc-table-details">
<table class="zc-table">
<tbody>
<tr>
<td class="zc-label">银行名</td>
<td class="zc-minWidth" >{{topInfo.bank_name}}</td>
<td class="zc-label">分行名</td>
<td class="zc-minWidth">{{topInfo.bank_branch_name}}</td>
<td class="zc-label">支行名</td>
<td class="zc-minWidth">
<Input v-model="topInfo.bank_sub_name" placeholder="请输入支行名" />
</td>
<td class="zc-label">客户经理</td>
<td class="zc-minWidth">
<Input v-model="topInfo.bank_customer_mgr_name" placeholder="请输入客户经理" />
</td>
</tr>
<tr>
<td class="zc-label">业务员</td>
<td class="zc-minWidth">{{topInfo.user_name}}</td>
<td class="zc-label required">评估师1</td>
<td class="zc-minWidth">
<Select v-model="topInfo.appraiser_id" clearable>
<Option v-for="item in assessList" :value="item.id" :key="item.id">{{ item.name }}</Option>
</Select>
</td>
<td class="zc-label required">评估师2</td>
<td class="zc-minWidth">
<Select v-model="topInfo.appraiser2_id" clearable>
<Option v-for="item in assessList" :value="item.id" :key="item.id">{{ item.name }}</Option>
</Select>
</td>
<td class="zc-label">评估目的</td>
<td class="zc-minWidth">{{topInfo.eva_purpose}}</td>
</tr>
<tr>
<td class="zc-label" rowspan="2">制作员</td>
<td class="zc-minWidth" rowspan="2">{{topInfo.producer_name}}</td>
<td class="zc-label">二审审核员</td>
<td class="zc-minWidth">{{topInfo.reviewer_name}}</td>
<td class="zc-label" rowspan="2">报告所属公司</td>
<td class="zc-minWidth" rowspan="2">
<Input v-model="topInfo.company" placeholder="请输入" />
</td>
<td class="zc-label" rowspan="2">价值时点</td>
<td class="zc-minWidth" rowspan="2">
<DatePicker :value="topInfo.valuation_time" type="date" placeholder="请选择" @on-change="getTime($event,'valuation_time')"></DatePicker>
</td>
</tr>
<tr>
<td class="zc-label">三审审核员</td>
<td class="zc-minWidth">{{topInfo.reviewer2_name}}</td>
</tr>
<tr>
<td class="zc-label">制作日期</td>
<td class="zc-minWidth">
<DatePicker :value="topInfo.produce_time" type="date" placeholder="请选择" @on-change="getTime($event,'produce_time')"></DatePicker>
</td>
<td class="zc-label">审核日期</td>
<td class="zc-minWidth">
<DatePicker v-if="$route.query.state == 'check'" :value="topInfo.review_time" type="date" placeholder="请选择" @on-change="getTime($event,'review_time')"></DatePicker>
<span v-else>{{topInfo.review_time}}</span></td>
<td class="zc-label">评估日期</td>
<td class="zc-minWidth">
<DatePicker :value="topInfo.appraisal_time" type="date" placeholder="请选择" @on-change="getTime($event,'appraisal_time')"></DatePicker>
</td>
<td class="zc-label">有效日期</td>
<td class="zc-minWidth">
<DatePicker :value="topInfo.validity_time" type="date" placeholder="请选择" @on-change="getTime($event,'validity_time')"></DatePicker>
</td>
</tr>
<tr>
<td class="zc-label">物业数量</td>
<td class="zc-minWidth">{{topInfo.estata_number}}</td>
<td class="zc-label">评估总值</td>
<td class="zc-minWidth">{{topInfo.eva_total_value|formatMoney}}</td>
<td class="zc-label">贷款总值</td>
<td class="zc-minWidth">{{topInfo.loan_money|formatMoney}}</td>
<td class="zc-label">建筑面积</td>
<td class="zc-minWidth">
<Input v-model="topInfo.size" placeholder="请输入" />
</td>
</tr>
<tr>
<td class="zc-label required">市场背景</td>
<td class="zc-minWidth">
<CheckboxGroup v-model="topInfo.market_background">
<Checkbox v-for="item in market_background_list" :key="item.code" :label="item.code">{{item.valname}}</Checkbox>
</CheckboxGroup>
</td>
<td class="zc-label">报告模板全称</td>
<td class="zc-minWidth">{{topInfo.template_name}}</td>
<td class="zc-label">报告模板</td>
<td class="zc-minWidth" style="max-width:250px;">
<Select clearable v-model='topInfo.cur_tmpl_id' >
<Option v-for="item in reportTemplateList" :value="item.id" :key="item.id">{{ item.name }}</Option>
</Select>
</td>
<td class="zc-label required" v-if='topInfo.bank_name === "中国光大银行"'><span>贷款品种</span></td>
<td class="zc-minWidth">
<Select clearable v-model='topInfo.ceb_product_type' v-if='topInfo.bank_name === "中国光大银行"'>
<Option v-for="item in loanTypeList" :value="item.code" :key="item.code">{{ item.valname }}</Option>
</Select>
</td>
</tr>
<tr>
<td class="zc-label">报告上传</td>
<td class="zc-minWidth" colspan="8">
<fileUpload
:uploadType="'btnUpload'"
:haveUpload="topInfo.report_attachment_info"
:maxLength="1"
:format="['doc','docx','xls','xlsx','pdf',]"
:isImg=false
:maxSize=20480
@getFilelist="getTopInfoFile($event,'report_file_id',1)" ></fileUpload>
</td>
</tr>
<tr>
<td class="zc-label">附件</td>
<td class="zc-minWidth" colspan="7">
<fileUpload
:uploadType="'btnUpload'"
:haveUpload="topInfo.attachment_info"
:maxLength="3"
:maxSize=20480
@getFilelist="getTopInfoFile($event,'attachment_ids',3)" ></fileUpload>
</td>
</tr>
<tr>
<td class="zc-label">委托说明</td>
<td class="zc-minWidth" colspan="7">
<Input v-model="topInfo.commission_note" placeholder="请输入" :maxlength="500"/>
</td>
</tr>
<tr>
<td class="zc-label">估价结果明细表备注</td>
<td class="zc-minWidth" colspan="7">
<Input v-model="topInfo.appraisal_result_remark" placeholder="请输入" :maxlength="500"/>
</td>
</tr>
<!-- <tr>-->
<!-- <td class="zc-label">他项权利状况</td>-->
<!-- <td class="zc-minWidth">-->
<!-- <Select v-model="topInfo.otherrights_type">-->
<!-- <Option v-for="item in otherRightsTypesList" :value="item.id" :key="item.id">{{ item.valname }}</Option>-->
<!-- </Select>-->
<!-- </td>-->
<!-- <td class="zc-label" colspan="6"></td>-->
<!-- </tr>-->
</tbody>
</table>
<div v-if="topInfo.estate_info.length >0">
<ul class="ul mb-10">
<li
v-for="(item, index) in topInfo.estate_info"
@click="selectMenu(index)"
:key="index"
class="cursor_li"
:class="{active : active == index}"
>{{item.building_name}}</li>
</ul>
<div style="margin-bottom:22px;">
<span class="red">切换物业前请务必点击保存当前物业如若未点击保存切换前的物业所有修改信息将丢失</span>
<!-- <div class="inline-block zc-right">
<Button @click="conserveReport">保存当前物业</Button>
</div> -->
</div>
<Tabs value="name1" class="mt-10" :animated='false'>
<TabPane label="基本信息" name="name1">
<div class="zc-table-detail">
<table class="zc-table">
<tr>
<td class="zc-label required">土地位置</td>
<td class="zc-minWidth" >
<Poptip trigger="hover">
<Input v-model="formItem.reportinfo.land_location" placeholder="请输入" />
<div slot="content">{{ formItem.reportinfo.land_location }}</div>
</Poptip>
</td>
<td class="zc-label required">物业名</td>
<td class="zc-minWidth" >
<Poptip trigger="hover">
<Input v-model="formItem.inquiryinfo.building_name" placeholder="请输入" />
<div slot="content">{{ formItem.inquiryinfo.building_name }}</div>
</Poptip>
</td>
<td class="zc-label required">栋号</td>
<td class="zc-minWidth">
<Input v-model="formItem.inquiryinfo.building_no" placeholder="请输入" />
</td>
<td class="zc-label required">房号</td>
<td class="zc-minWidth">
<Input v-model="formItem.inquiryinfo.unit_no" placeholder="请输入" />
</td>
</tr>
<tr>
<td class="zc-label required">购买时间</td>
<td class="zc-minWidth">
<DatePicker :value="formItem.inquiryinfo.purchase_date" type="date" placeholder="请选择" @on-change="getTime($event,'purchase_date')"></DatePicker>
</td>
<td class="zc-label required">购买年限</td>
<td class="zc-minWidth">
<Select v-model="formItem.inquiryinfo.is_tran_tax_free" placeholder="请选择">
<Option v-for="item in yearList" :key="item.id" :value="item.id">{{item.valname}}</Option>
</Select>
</td>
<td class="zc-label required">建筑面积</td>
<td class="zc-minWidth">
<Input v-model="formItem.inquiryinfo.size" placeholder="请输入" />
</td>
<td class="zc-label required">登记价</td>
<td class="zc-minWidth">
<Input v-model="formItem.inquiryinfo.reg_price" placeholder="请输入" />
</td>
</tr>
<tr>
<td class="zc-label required">登记日期</td>
<td class="zc-minWidth">
<DatePicker :value="formItem.inquiryinfo.reg_date" type="date" placeholder="请选择" @on-change="getTime($event,'reg_date')"></DatePicker>
</td>
<td class="zc-label required">房屋用途</td>
<td class="zc-minWidth">
<Select v-model="formItem.inquiryinfo.usage" filterable clearable placeholder="请选择">
<Option v-for="item in houseUsageList" :key="item.code" :value="item.code">{{item.valname}}</Option>
</Select>
</td>
<td class="zc-label required">产权人类型</td>
<td class="zc-minWidth">
<Select v-model="formItem.inquiryinfo.ownership_type" placeholder="请选择">
<Option v-for="item in tenureTypeList" :key="item.code" :value="item.code">{{item.valname}}</Option>
</Select>
</td>
<td class="zc-label required">所在城市</td>
<td class="zc-minWidth">
<Select v-model="formItem.inquiryinfo.city_id" @on-change='getCity_id' placeholder="请选择">
<Option v-for="item in cityList" :key="item.id" :value="item.id">{{item.shortname}}</Option>
</Select>
</td>
</tr>
<tr>
<td class="zc-label ">房屋现状</td>
<td class="zc-minWidth">
<Select v-model="formItem.reportinfo.house_condition" placeholder="请选择">
<Option v-for="item in house_condition" :key="item.code" :value="item.code">{{item.valname}}</Option>
</Select>
</td>
<td class="zc-label">附记备注</td>
<td class="zc-minWidth">
<Poptip trigger="hover">
<Input v-model="formItem.reportinfo.cert_remark" placeholder="请输入" :maxlength="500" width="100%"/>
<div slot="content">{{ formItem.reportinfo.cert_remark }}</div>
</Poptip>
</td>
<td class="zc-label">是否为住宅</td>
<td class="zc-minWidth">
<RadioGroup v-model="formItem.reportinfo.is_residential">
<Radio :label="2"></Radio>
<Radio :label="1"></Radio>
</RadioGroup>
</td>
<td class="zc-label required">他项权利状况</td>
<td class="zc-minWidth">
<Select v-model="formItem.reportinfo.otherrights_type">
<Option v-for="item in otherRightsTypesList" :value="item.id" :key="item.id">{{ item.valname }}</Option>
</Select>
</td>
</tr>
</table>
<table class="zc-table">
<tbody>
<tr>
<td rowspan="2" class="zc-label">产证年份非必填</td>
<td rowspan="2" class="zc-minWidth">
<Input v-model="formItem.inquiryinfo.year" placeholder="请输入"/>
</td>
<td rowspan="2" class="zc-label required">房产证号</td>
<td rowspan="2" class="zc-minWidth">
<Input v-model="formItem.reportinfo.property_cert" placeholder="请输入" />
</td>
<td class="zc-label required">权利人份额</td>
<td colspan="3" class="zc-minWidth">
<Poptip trigger="hover" max-width="200">
<Input v-model="formItem.reportinfo.obligee_percent" placeholder="请输入" />
<div slot="content">
<p>{{formItem.reportinfo.obligee_percent}}</p>
</div>
</Poptip>
</td>
</tr>
<tr>
<td class="zc-label required">权利人</td>
<td class="zc-minWidth">
<Poptip trigger="hover" max-width="200">
<Input v-model="formItem.reportinfo.obligee" placeholder="请输入" />
<div slot="content">
<p>{{formItem.reportinfo.obligee}}</p>
</div>
</Poptip>
</td>
<td class="zc-label">证件类型</td>
<td class="zc-minWidth">
<Select v-model="formItem.reportinfo.cert_type" placeholder="请选择">
<Option v-for="item in certtypeList" :key="item.code" :value="item.code">{{item.valname}}</Option>
</Select>
</td>
</tr>
<tr>
<td class="zc-label required">委托方</td>
<td class="zc-minWidth">
<Poptip trigger="hover">
<Input v-model="formItem.reportinfo.client" placeholder="请输入" />
<div slot="content">{{ formItem.reportinfo.client }}</div>
</Poptip>
</td>
<td class="zc-label required">宗地号</td>
<td class="zc-minWidth">
<Input v-model="formItem.reportinfo.parcel_no" placeholder="请输入" />
</td>
<td class="zc-label required">宗地面积</td>
<td class="zc-minWidth">
<Poptip trigger="hover" max-width="200">
<Input v-model="formItem.reportinfo.parcel_area" placeholder="请输入" />
<div slot="content">
<p>{{formItem.reportinfo.parcel_area}}</p>
</div>
</Poptip>
</td>
<td class="zc-label">证件号</td>
<td class="zc-minWidth">
<Input v-model="formItem.reportinfo.cert_no" placeholder="请输入" />
</td>
</tr>
<tr>
<td class="zc-label required">房屋性质</td>
<td class="zc-minWidth">
<Input v-model="formItem.reportinfo.use_right_source" placeholder="请输入" />
</td>
<td class="zc-label required">竣工日期</td>
<td class="zc-minWidth">
<DatePicker
:value="formItem.reportinfo.completion_date"
type="date"
placeholder="请选择"
@on-change="getTime($event,'completion_date')"
></DatePicker>
</td>
<td class="zc-label required">土地用途</td>
<td class="zc-minWidth">
<Tooltip placement="top" max-width="200">
<Input v-model="formItem.reportinfo.parcel_usage" placeholder="请输入" />
<div slot="content">
<p>{{formItem.reportinfo.parcel_usage}}</p>
</div>
</Tooltip>
</td>
<td class="zc-label required">土地使用年限</td>
<td class="zc-minWidth">
<Input v-model="formItem.reportinfo.max_land_use_years" placeholder="请输入" />
</td>
</tr>
<tr>
<td class="zc-label required">土地开始使用时间</td>
<td class="zc-minWidth">
<DatePicker
:value="formItem.reportinfo.land_use_start_time"
type="date"
placeholder="请选择"
@on-change="getTime($event,'land_use_start_time')"
></DatePicker>
</td>
<td class="zc-label required">土地结束使用时间</td>
<td class="zc-minWidth">
<DatePicker :value="formItem.reportinfo.land_use_end_time" type="date" placeholder="请选择" @on-change="getTime($event,'land_use_end_time')"></DatePicker>
</td>
<td class="zc-label">测算方法</td>
<td class="zc-minWidth">
<CheckboxGroup v-model="formItem.reportinfo.test_method">
<Checkbox v-for="item in testMethodList" :key="item.code" :label="item.code">{{item.valname}}</Checkbox>
</CheckboxGroup>
</td>
<td class="zc-label required">是否空置中信是否复式</td>
<td class="zc-minWidth">
<RadioGroup v-model="formItem.reportinfo.is_vacant">
<Radio :label="1"></Radio>
<Radio :label="2"></Radio>
</RadioGroup>
</td>
</tr>
<tr>
<td class="zc-label ">所在片区</td>
<td class="zc-minWidth">
<Select v-model="formItem.reportinfo.grand_district_id" @on-change='getSmallAreaList' placeholder="请选择">
<Option v-for="item in bigAreaList" :key="item.id" :value="item.id">{{item.name}}</Option>
</Select>
</td>
<td class="zc-minWidth">
<Select v-model="formItem.reportinfo.small_district_id" placeholder="请选择">
<Option v-for="item in smallAreaList" :key="item.id" :value="item.id">{{item.name}}</Option>
</Select></td>
<td class="zc-minWidth"></td>
<td class="zc-label">所在楼盘</td>
<td >
<Input v-model="formItem.inquiryinfo.property_complex" placeholder="请输入" />
</td>
<td class="zc-label">参考单价所属楼盘</td>
<td >
<Input v-model="formItem.reportinfo.ref_unit_price_building" placeholder="请输入" />
</td>
</tr>
<tr>
<td class="zc-label required">房屋毛坯空置时间</td>
<td class="zc-minWidth">
<Input v-model="formItem.reportinfo.vacant_months" type='number' placeholder="请输入" />
</td>
<td class="zc-label required">是否与其他房产打通使用</td>
<td>
<RadioGroup v-model="formItem.reportinfo.is_connect_with_other">
<Radio :label="2"></Radio>
<Radio :label="1"></Radio>
</RadioGroup>
</td>
<td class="zc-label required">是否为自建房或私宅</td>
<td>
<RadioGroup v-model="formItem.reportinfo.is_self_built">
<Radio :label="2"></Radio>
<Radio :label="1"></Radio>
</RadioGroup>
</td>
<td class="zc-label required">是否存在违规改建或加建</td>
<td>
<RadioGroup v-model="formItem.reportinfo.is_illegal_building">
<Radio :label="2"></Radio>
<Radio :label="1"></Radio>
</RadioGroup>
</td>
</tr>
<tr>
<td class="zc-label required">是否通过拍卖或仲裁取得</td>
<td class="zc-minWidth">
<RadioGroup v-model="formItem.reportinfo.is_arbitration">
<Radio :label="2"></Radio>
<Radio :label="1"></Radio>
</RadioGroup>
</td>
<td class="zc-label required">房产证登记用途与实际用途是否一致</td>
<td>
<RadioGroup v-model="formItem.reportinfo.is_consistent">
<Radio :label="2"></Radio>
<Radio :label="1"></Radio>
</RadioGroup>
</td>
<td class="zc-label required">是否双拼</td>
<td>
<RadioGroup v-model="formItem.reportinfo.is_double_unit">
<Radio :label="2"></Radio>
<Radio :label="1"></Radio>
</RadioGroup>
</td>
<td class="zc-label required">是否多拼中信是否顶层复式</td>
<td>
<RadioGroup v-model="formItem.reportinfo.is_multi_unit">
<Radio :label="2"></Radio>
<Radio :label="1"></Radio>
</RadioGroup>
</td>
</tr>
<tr>
<td class="zc-label required">是否有暗房中信户型结构是否变动</td>
<td class="zc-minWidth">
<RadioGroup v-model="formItem.reportinfo.has_hidden_room">
<Radio :label="2"></Radio>
<Radio :label="1"></Radio>
</RadioGroup>
</td>
<td class="zc-label required">是否被政府批准列入棚改或旧改</td>
<td class="zc-minWidth">
<RadioGroup v-model="formItem.reportinfo.is_renovation">
<Radio :label="2"></Radio>
<Radio :label="1"></Radio>
</RadioGroup>
</td>
<td class="zc-label required">是否已确认实施主体</td>
<td class="zc-minWidth">
<RadioGroup v-model="formItem.reportinfo.is_impl_subject">
<Radio :label="2"></Radio>
<Radio :label="1"></Radio>
</RadioGroup>
</td>
<td class="zc-label">公告链接</td>
<td>
<Input v-model="formItem.reportinfo.announce_link" placeholder="请输入" />
</td>
</tr>
<tr>
<td class="zc-label required">是否存在不相一致假设条件</td>
<td class="zc-minWidth">
<RadioGroup v-model="formItem.reportinfo.is_inconsit_cond">
<Radio :label="2"></Radio>
<Radio :label="1"></Radio>
</RadioGroup>
</td>
<td class="zc-label">不相一致的原因</td>
<td class="zc-minWidth" colspan="5">
<Poptip trigger="hover">
<Input v-model="formItem.reportinfo.inconsistent_reason" placeholder="请输入" :maxlength="500" width="100%"/>
<div slot="content">{{ formItem.reportinfo.inconsistent_reason }}</div>
</Poptip>
</td>
</tr>
<tr>
<td class="zc-label required">是否法院评估</td>
<td class="zc-minWidth">
<RadioGroup v-model="formItem.reportinfo.is_court">
<Radio :label="2"></Radio>
<Radio :label="1"></Radio>
</RadioGroup>
</td>
<td class="zc-label">法院评估背离事实假设条件说明</td>
<td class="zc-minWidth" colspan="5">
<Poptip trigger="hover">
<Input v-model="formItem.reportinfo.deviation_desc" placeholder="请输入" :maxlength="500" width="100%"/>
<div slot="content">{{ formItem.reportinfo.deviation_desc }}</div>
</Poptip>
</td>
</tr>
</tbody>
</table>
<table class="zc-table">
<tr>
<td class="zc-label" rowspan="5" width='150px'>区域情况分析
<div>
<Button type="primary" :loading='areaInfoLoad' @click="getAreaInfo">填充</Button>
</div>
<div>
<Button type="primary" class='mt-10' :loading='conserveAreaLoad' @click="conserveArea">保存</Button>
</div>
</td>
<td class="zc-label required" width='200px'>毗邻物业</td>
<td><Input v-model='formItem.reportinfo.adjacent_property' placeholder="请输入" maxlength="100"/></td>
</tr>
<tr>
<td class="zc-label required" width='200px'>公交线路</td>
<td><Input v-model='formItem.reportinfo.bus_lines' placeholder="请输入" maxlength="100"/></td>
</tr>
<tr>
<td class="zc-label required" width='200px'>四至</td>
<td><Input v-model='formItem.reportinfo.boundaries' placeholder="请输入" maxlength="100"/></td>
</tr>
<tr>
<td class="zc-label required" width='200px'>公共服务设施</td>
<td><Input v-model='formItem.reportinfo.pub_serv' placeholder="请输入" maxlength="100"/></td>
</tr>
<tr>
<td class="zc-label required" width='200px'>楼盘介绍</td>
<td><Input v-model='formItem.reportinfo.property_intro' placeholder="请输入" maxlength="500"/></td>
</tr>
</table>
<table class="zc-table">
<tr>
<td class="zc-label" rowspan="5" width='180px'>变现能力分析</td>
<td class="zc-label" width='200px'>通用性</td>
<td>
<!-- <Input v-model="formItem.reportinfo.gen_saleablility_desc" placeholder="请输入" type="textarea" rows="3"/> -->
<wangeditor :content="formItem.reportinfo.gen_saleablility_desc" @getCenterHtml="getCenterHtml($event, 'gen_saleablility_desc')" />
</td>
</tr>
<tr>
<td class="zc-label">独立使用性</td>
<td>
<!-- <wangeditor :content="formItem.reportinfo.indp_use_desc" @getCenterHtml="getCenterHtml($event, 'indp_use_desc')" /> -->
<Input v-model='formItem.reportinfo.indp_use_desc' type="textarea" placeholder="请输入" maxlength="500"/>
</td>
</tr>
<tr>
<td class="zc-label">可分割转让性</td>
<td>
<!-- <wangeditor :content="formItem.reportinfo.seg_transfer_desc" @getCenterHtml="getCenterHtml($event, 'seg_transfer_desc')" /> -->
<Input v-model='formItem.reportinfo.seg_transfer_desc' type="textarea" placeholder="请输入" maxlength="500"/>
</td>
</tr>
<tr>
<td class="zc-label">区位</td>
<td>
<!-- <wangeditor :content="formItem.reportinfo.dev_lv_desc" @getCenterHtml="getCenterHtml($event, 'dev_lv_desc')" /> -->
<Input v-model='formItem.reportinfo.dev_lv_desc' type="textarea" placeholder="请输入" maxlength="500"/>
</td>
</tr>
<tr>
<td class="zc-label">综上所述</td>
<td>
<!-- <wangeditor :content="formItem.reportinfo.summary_desc" @getCenterHtml="getCenterHtml($event, 'summary_desc')" /> -->
<Input v-model='formItem.reportinfo.summary_desc' type="textarea" placeholder="请输入" maxlength="500"/>
</td>
</tr>
</table>
<table class="zc-table">
<tbody>
<tr>
<td class="zc-label">评估单价</td>
<td class="zc-minWidth">{{formItem.priceinfo.eva_unit_price}}</td>
<td class="zc-label">评估总值</td>
<td class="zc-minWidth">{{formItem.priceinfo.eva_total_value}}</td>
<td class="zc-label">评估净值1</td>
<td class="zc-minWidth">{{formItem.priceinfo.eva_net_value}}</td>
<td class="zc-label">评估净值2</td>
<td class="zc-minWidth">{{formItem.priceinfo.eva_net_value2}}</td>
</tr>
<tr>
<td class="zc-label">税费1合计</td>
<td class="zc-minWidth">{{formItem.priceinfo.total_taxes1}}</td>
<td class="zc-label">税费2合计</td>
<td class="zc-minWidth">{{formItem.priceinfo.total_taxes2}}</td>
<td class="zc-label">二手参考指导价</td>
<td class="zc-minWidth">{{formItem.priceinfo.guide_price}}</td>
<td class="zc-label"></td>
<td class="zc-minWidth"></td>
</tr>
<!-- <tr>
<td class="zc-label">贷款成数</td>
<td class="zc-minWidth">{{formItem.priceinfo.loan_ratio}}</td>
<td class="zc-label">总值</td>
<td class="zc-minWidth">{{formItem.priceinfo.gross_value}}</td>
<td class="zc-label">净值1</td>
<td class="zc-minWidth">{{formItem.priceinfo.eva_net_value}}</td>
<td class="zc-label">净值2</td>
<td class="zc-minWidth">{{formItem.priceinfo.eva_net_value2}}</td>
</tr>-->
</tbody>
</table>
<table class="zc-table">
<tbody>
<tr>
<!-- <td class="zc-label" width='150px'>报告备注</td>
<td style='min-width:300px;'>
<Input
type="textarea"
v-model="formItem.reportinfo.report_remark"
:autosize="{minRows: 5,maxRows: 10}"
maxlength="500"
show-word-limit
/>
</td> -->
<td class="zc-label">
<div>最新查档信息</div>
<Button type="primary" @click="consultFiles" :loading="consultLoad">查档</Button>
</td>
<td class="red" style='min-width:300px;'>
<Input
type="textarea"
v-model="formItem.reportinfo.new_online_info"
:autosize="{minRows: 5,maxRows: 10}"
maxlength="1000"
show-word-limit
/>
</td>
</tr>
<!-- <tr>
<td class="zc-label">风险提示备注</td>
<td class="zc-minWidth">
<Input
type="textarea"
v-model="formItem.reportinfo.risk_remark"
:autosize="{minRows: 5,maxRows: 10}"
maxlength="500"
show-word-limit
/>
</td>
<td class="zc-label"></td>
<td class="zc-minWidth">
</td>
</tr> -->
</tbody>
</table>
<table class="zc-table">
<tbody>
<tr>
<td class="zc-label required" width='200px'>房产证及查档</td>
<td>
<fileUpload
:uploadType="'btnUpload'"
:haveUpload="formItem.reportinfo.house_img_info"
:maxLength="50"
:isModal='true'
:deleteValidate='true'
@getFilelist="getFilelist($event,'house_cert_img_ids',3)"
></fileUpload>
<!--<fileUpload
:uploadType="'showDraggable'"
@datadragEnd="datadragEnd"
:haveUpload="formItem.reportinfo.house_img_info"
:maxLength="50"
@getFilelist="getFilelist($event,'house_cert_img_ids',3)"
></fileUpload>-->
</td>
</tr>
<tr>
<td class="zc-label ">报告摘要</td>
<td>
<fileUpload
:uploadType="'btnUpload'"
:haveUpload="formItem.reportinfo.report_summary_img_info"
:maxLength="1"
:deleteValidate='true'
@getFilelist="getFilelist($event,'report_summary_img_ids',1)"
></fileUpload>
</td>
</tr>
<tr>
<td class="zc-label">附件</td>
<td>
<fileUpload
:uploadType="'btnUpload'"
:haveUpload="formItem.reportinfo.attachment_info"
:maxLength="10"
:deleteValidate='true'
@getFilelist="getFilelist($event,'attachment_ids',10)"
></fileUpload>
</td>
</tr>
</tbody>
</table>
</div>
</TabPane>
<TabPane label="查勘信息" name="name2">
<div v-if="survey_type == 1">
<houseForm :areaList="areaList" ref='surveyRef' @getSurveyData='getSurveyData' :surveyInfo='surveyInfo' />
</div>
<!-- 子组件也可以自己处理数据 -->
<!-- :typeObj='typeObj' -->
<div v-else>
<businessForm :areaList="areaList" ref='surveyRef' @getSurveyData='getSurveyData' :surveyInfo='surveyInfo' />
</div>
</TabPane>
<TabPane label="报告摘要" name="name3">
<table class="zc-table">
<tbody>
<tr>
<td class="zc-label" style="width:15%;">物业名 <span @click="copy(reportAbstractsList.property_full_name)" class="zc-cursor zc-right" >[ 复制 ]</span>
</td>
<td class="text-left">
<span>{{reportAbstractsList.property_full_name}}</span>
</td>
</tr>
<tr>
<td class="zc-label">委托方
<span @click="copy(reportAbstractsList.client)" class="zc-cursor zc-right" >[ 复制 ]</span>
</td>
<td class="text-left">
<span>{{reportAbstractsList.client}}</span>
</td>
</tr>
<tr>
<td class="zc-label">估价方
<span type="text" @click="copy(reportAbstractsList.evaluate)" class="zc-cursor zc-right">[ 复制 ]</span>
</td>
<td class="text-left">
<span>{{reportAbstractsList.evaluate}}</span>
</td>
</tr>
<tr>
<td class="zc-label">报告编号
<span type="text" @click="copy(reportAbstractsList.report_no)" class="zc-cursor zc-right" >[ 复制 ]</span>
</td>
<td class="text-left">
<span>{{reportAbstractsList.report_no}}</span>
</td>
</tr>
<tr>
<td class="zc-label">房产证号
<span type="text" @click="copy(reportAbstractsList.property_cert)" class="zc-cursor zc-right" >[ 复制 ]</span>
</td>
<td class="text-left">
<span>{{reportAbstractsList.property_cert}}</span>
</td>
</tr>
<tr>
<td class="zc-label">价值定义
<span type="text" @click="copy(reportAbstractsList.value_definition)" class="zc-cursor zc-right" >[ 复制 ]</span>
</td>
<td class="text-left">
<span>{{reportAbstractsList.value_definition}}</span>
</td>
</tr>
<tr>
<td class="zc-label">市场价值
<span type="text" @click="copy(reportAbstractsList.gross_value)" class="zc-cursor zc-right">[ 复制 ]</span>
</td>
<td class="text-left">
<span>{{reportAbstractsList.gross_value}}</span>
</td>
</tr>
<tr>
<td class="zc-label">预计税费
<span type="text" @click="copy(reportAbstractsList.total_taxes2)" class="zc-cursor zc-right" >[ 复制 ]</span>
</td>
<td class="text-left">
<span>{{reportAbstractsList.total_taxes2}}</span>
</td>
</tr>
<tr>
<td class="zc-label">契税
<span type="text" @click="copy(reportAbstractsList.deed_tax)" class="zc-cursor zc-right" >[ 复制 ]</span>
</td>
<td class="text-left">
<span>{{reportAbstractsList.deed_tax}}</span>
</td>
</tr>
<tr>
<td class="zc-label">建筑面积
<span type="text" @click="copy(reportAbstractsList.size)" class="zc-cursor zc-right" >[ 复制 ]</span>
</td>
<td class="text-left">
<span>{{reportAbstractsList.size}}</span>
</td>
</tr>
</tbody>
</table>
</TabPane>
<!-- <TabPane label="测算方法-比较法简易" name="name4" >
<table class="zc-table">
<tr>
<td class="zc-label">项目</td>
<td>案例一</td>
<td>案例二</td>
<td>案例三</td>
</tr>
<tr>
<td class="zc-label">成交日期</td>
<td>
<Input type='text' v-model='formItem.simpleinfo[0].trade_date' placeholder="请输入" />
</td>
<td>
<Input type='text' v-model='formItem.simpleinfo[1].trade_date' placeholder="请输入" />
</td>
<td>
<Input type='text' v-model='formItem.simpleinfo[2].trade_date' placeholder="请输入" />
</td>
</tr>
<tr>
<td class="zc-label">物业名</td>
<td >
<Input class="mt-10 mb-10" v-model="formItem.simpleinfo[0].building_name" maxlength="100" placeholder="请输入" type="textarea" />
</td>
<td>
<Input class="mt-10 mb-10" v-model="formItem.simpleinfo[1].building_name" maxlength="100" placeholder="请输入" type="textarea" />
</td>
<td>
<Input class="mt-10 mb-10" v-model="formItem.simpleinfo[2].building_name" maxlength="100" placeholder="请输入" type="textarea" />
</td>
</tr>
<tr>
<td class="zc-label">面积</td>
<td>
<Input class="mt-10 mb-10" v-model="formItem.simpleinfo[0].size" maxlength="100" placeholder="请输入" type="textarea" />
</td>
<td>
<Input class="mt-10 mb-10" v-model="formItem.simpleinfo[1].size" maxlength="100" placeholder="请输入" type="textarea" />
</td>
<td>
<Input class="mt-10 mb-10" v-model="formItem.simpleinfo[2].size" maxlength="100" placeholder="请输入" type="textarea" />
</td>
</tr>
<tr>
<td class="zc-label">楼层</td>
<td>
<Input class="mt-10 mb-10" v-model="formItem.simpleinfo[0].floor_number1" maxlength="100" placeholder="请输入" type="textarea" />
</td>
<td>
<Input class="mt-10 mb-10" v-model="formItem.simpleinfo[1].floor_number1" maxlength="100" placeholder="请输入" type="textarea" />
</td>
<td>
<Input class="mt-10 mb-10" v-model="formItem.simpleinfo[2].floor_number1" maxlength="100" placeholder="请输入" type="textarea" />
</td>
</tr>
<tr>
<td class="zc-label">户型</td>
<td>
<Input class="mt-10 mb-10" v-model="formItem.simpleinfo[0].unit_type" maxlength="100" placeholder="请输入" type="textarea" />
</td>
<td>
<Input class="mt-10 mb-10" v-model="formItem.simpleinfo[1].unit_type" maxlength="100" placeholder="请输入" type="textarea" />
</td>
<td>
<Input class="mt-10 mb-10" v-model="formItem.simpleinfo[2].property_type" maxlength="100" placeholder="请输入" type="textarea" />
</td>
</tr>
<tr>
<td class="zc-label">交易单价/</td>
<td>
<Input class="mt-10 mb-10" v-model="formItem.simpleinfo[0].price" maxlength="100" placeholder="请输入" type="textarea" />
</td>
<td>
<Input class="mt-10 mb-10" v-model="formItem.simpleinfo[1].price" maxlength="100" placeholder="请输入" type="textarea" />
</td>
<td>
<Input class="mt-10 mb-10" v-model="formItem.simpleinfo[2].price" maxlength="100" placeholder="请输入" type="textarea" />
</td>
</tr>
<tr>
<td class="zc-label">交易情况</td>
<td>
<Input class="mt-10 mb-10" v-model="formItem.simpleinfo[0].transactions" maxlength="100" placeholder="请输入" type="textarea" />
</td>
<td>
<Input class="mt-10 mb-10" v-model="formItem.simpleinfo[1].transactions" maxlength="100" placeholder="请输入" type="textarea" />
</td>
<td>
<Input class="mt-10 mb-10" v-model="formItem.simpleinfo[2].transactions" maxlength="100" placeholder="请输入" type="textarea" />
</td>
</tr>
</table>
</TabPane> -->
<TabPane label="测算方法-比较法正式" name="name5" >
<formalView :formalinfo="formItem.formalinfo" ref='formalRef' @getFormalData ='getFormalData' />
</TabPane>
<TabPane label="测算方法-收益法" name="name6">
<!-- <profitView :profitinfo='formItem.profitinfo' :setFormalinfo='setFormalinfo'/> -->
<div>
<p>运用收益法求取估价对象的市场价值</p>
<p>①客观租金和租金损失率或空置率确定</p>
<!-- <p>1客观租金的确定通过全面深入细致的市场调研估价对象所在片区同类物业的前三年的月客观租金如下</p> -->
<p>1客观租金的确定通过全面深入细致的市场调研估价对象所在片区同类物业的月客观租金如下</p>
<table class="zc-table">
<tr>
<td>物业名</td>
<td>地理位置</td>
<!-- <td>楼层</td> -->
<td>类型</td>
<!-- <td>有无租约限制</td> -->
<td>估价对象合同租金</td>
<td>
<Input v-model="formItem.profitinfo.one_year" placeholder="请输入" />
</td>
<td>
<Input v-model="formItem.profitinfo.two_year" placeholder="请输入" />
</td>
<td>
<Input v-model="formItem.profitinfo.three_year" placeholder="请输入" />
</td>
</tr>
<tr v-for="(item,i) in formItem.profitinfo.market_research" :key="i">
<td class="p-0">
<div class="pb-10" style="min-hight:100px; border-bottom: 1px solid #ccc">
<fileUpload
:uploadType="'btnUpload'"
:haveUpload="item.house_imgs_arr"
:maxLength="1"
:deleteValidate='true'
@getFilelist="getMarketFile($event,i)"
></fileUpload>
</div>
<Input v-model="item.house_name" placeholder="请输入" />
</td>
<td>
<Input v-model="item.position" placeholder="请输入" />
</td>
<td>
<Input v-model="item.floor" placeholder="请输入" />
</td>
<td>
<Input v-model="item.islimit" placeholder="请输入" />
</td>
<td>
<Input v-model="item.one_rent" placeholder="请输入" />
</td>
<td>
<Input v-model="item.two_rent" placeholder="请输入" />
</td>
<td>
<Input v-model="item.three_rent" placeholder="请输入" />
</td>
</tr>
</table>
<!-- <p>从上述调查的市场租金可知近几年所在片区同类物业的租金水平稳中有升结合估价对象实际利用状况确定估价对象在价值时点的客观租金为<span class="red">{{rent}}</span>/平方米·按建筑面积算较为合理</p>
<p>
估价对象目前为
<span class="red"><Input v-model='formItem.profitinfo.appraisal_object' style="width:100px;" /></span>由于未提供租赁合同本次评估采用市场客观租金进行收益测算/平方米·按建筑面积算较为合理
</p> -->
<p>
<Input type="textarea" :rows="3" v-model='formItem.profitinfo.appraisal_object' style="width:100%;" />
</p>
<p>①空置率和租金损失/平方米·按建筑面积算较为合理</p>
<p>
深圳市房地产租赁市场成熟出租空置率较低根据市场调查并结合估价对象的实际情况确定估价对象每年的空置天数约为<span class="red">{{formItem.profitinfo.vacant_day}}</span>
空置率=
<Input v-model='formItem.profitinfo.vacant_day' style="width:100px;" />÷365×100%=
<Input v-model='formItem.profitinfo.vacant_rate' style="width:100px;" />%
</p>
<p>在综合分析估价对象前几年租金的变化情况的基础上结合同区域的房地产租售市场前几年的发展状况和发展趋势以及房地产市场的发展规律确定估价对象客观租金和空置率或租金损失率在未来收益年限内的变化情况我们预测估价对象租金平均每年环比递增率g为<span class="red">{{increase_rate}}</span>%空置率保持不变</p>
<p> 租赁成本确定</p>
<p>深圳市出租物业出租人应承担的运营费用一般包括房地产税包括房产税增值税及其附加土地使用税保险费维修费等而物业管理费水电费有线电视及通信燃气等费用一般由承租人负担</p>
<p>房产税依据中华人民共和国房产税暂行条例国发[1986]90第四条规定房产税的税率依照房产余值计算缴纳的税率为1.2%依照房产租金收入计算缴纳的税率为12%另据深圳市地方税务局关于调整个人出租房屋税收委托代征相关事宜的函深地税函[2016]134关于营改增后私房租赁税综合征收率调整的公告规定深圳市个人出租房屋的房产税税率为4%</p>
<p>
增值税及附加依据财政部国家税务总局关于全面推开营业税改征增值税试点的通知财税201636关于发布纳税人提供不动产经营租赁服务增值税征收管理暂行办法的公告国家税务总局2016年第16号关于全面推开营业税改征增值税试点有关税收征收管理事项的公告国家税务总局公告2016年第23号深圳市地方税务局关于调整个人出租房屋税收委托代征相关事宜的函深地税函[2016]134规定
依据国家税务总局公告2016年第23号文件第六条第项规定月租金不含税30000可享受小微企业免征增值税优惠政策增值税及其附加免征
</p>
<p>月租金不含税30000增值税税率为5%城市维护建设税税率为0.35%即增值税的7%教育费附加0.15%即增值税的3%地方教育费附加0.1%即增值税的2%</p>
<p> 城镇土地使用税</p>
<p>依据深圳市地方税务局公告2016年第3号深圳市地方税务局关于城镇土地使用税有关问题的公告的规定该税按实际占用的土地面积分等级定额征收标准如下表</p>
<table class="zc-table">
<tr>
<td>土地登记</td>
<td>一级</td>
<td>二级</td>
<td>三级</td>
<td>四级</td>
<td>五级</td>
<td>六级</td>
</tr>
<tr>
<td>年税费额/</td>
<td>30</td>
<td>21</td>
<td>13</td>
<td>9</td>
<td>5</td>
<td>3</td>
</tr>
</table>
<p>个人自有自用非营业用的房屋用地暂缓征收城镇土地使用税由于未能获知估价对象实际占用土地分摊面积故本次未计征此项税费</p>
<p>印花税依据中华人民共和国印花税暂行条例国务院令[1988]第11号中印花税税目税率表规定税目财产租赁合同包括租赁房屋船舶飞机机动车辆机械器具设备等税率按租赁金额0.1%贴花税额不足一元的按一元贴花本次取租金的0.1%</p>
<p>保险费一般为建筑成本的0.08%~0.1%或按租金收入的0.1%本次按租金收入的<span class='red'>{{insurance_formula}}</span>%计取保险费</p>
<p>维修费一般为建筑成本的1%~3%或为租金收入的1%~2%本次按租金收入的<span class='red'>{{maintenance_formula}}</span>%计取维修费</p>
<p>租赁成本在未来有效收益年限内的变化情况结合估价对象的租金变化情况的分析考虑到在测算中租赁成本是依据租金数据乘于相关比例参数计算得出即租赁成本大小是随租金变化而变化的所以在本测算过程中对租赁成本的计算中相关比例参数保持不变</p>
<p> 确定适当的资本化率资本化率的确定方法很多这里我们采用安全利率加风险调整值的办法
安全利率按价值时点中国人民银行公布的1年期含1年存款利率1.5%
风险调整值风险分低投机四个档次相应的调整值为02%2%5%5%8%8%以上
估价对象的实际情况风险档次判定为高等按安全利率再加上一定的风险调整值则资本化率确定为r=<span class='red'>{{remuneration_rate}}</span>%</p>
<p> 有效收益年限确定根据房地产权证复印件估价对象土地使用年限为<span class='red'>{{this.formItem.reportinfo.max_land_use_years}}</span>
从2015年09月23日至2055年09月22日止依据估价人员勘察估价对象外观为九成新预计其在土地使用年期内能
正常使用故本次评估取土地剩余使用年限为收益年限 <span class='red'>n={{income_period}}</span></p>
<p>
⑤采用收益法确定房地产价格收益法是预测估价对象的未来收益利用报酬率或资本化率
收益乘数将未来收益转化为价值得到的估价对象价值或价格的方法
收益法计算公式Va÷r-g×[1-1+gn/1+rn]
</p>
<p>⑥测算过程详见下表收益法测算表</p>
<div style="width:100%;text-align:center;color:#333;font-size:20px;">收益法测算表</div>
<div v-if='formItem.inquiryinfo.ownership_type==1'>
<table class="zc-table" >
<tr>
<td width="10%">建筑总面积</td>
<td width="30%"><Input type='number' v-model='formItem.profitinfo.total_area' placeholder="请输入"/></td>
<td width="30%">原建购价</td>
<td width="10%"><Input type='number' v-model='formItem.profitinfo.original_price' placeholder="请输入"/></td>
</tr>
<tr>
<td>序号</td>
<td>项目名</td>
<td>计算方法及说明</td>
<td></td>
</tr>
<tr>
<td>1</td>
<td>月潜在毛收益</td>
<td>房地产具体情况及周围同类物业租金水平</td>
<td>
<Input type='number' v-model='formItem.profitinfo.month_profit' placeholder="请输入" />
</td>
</tr>
<tr>
<td>2</td>
<td>空置率</td>
<td>根据市场调查并结合估价对象自身特点综合确定</td>
<td>
<Input type='number' v-model='formItem.profitinfo.vacancy_rate' placeholder="请输入">
<span slot="append">%</span>
</Input>
</td>
</tr>
<tr>
<td>3</td>
<td>月有效毛收益</td>
<td>月潜在毛收益 × 1 - 空置率</td>
<td><Input type='number' v-model='formItem.profitinfo.month_valid_profit' placeholder="请输入" /></td>
</tr>
<tr>
<td>4</td>
<td>增值税</td>
<!-- <td>不含税月租金<span>{{formItem.profitinfo.added_tax_formula }}</span>免征</td> -->
<td>{{formItem.profitinfo.added_tax_formula}}</td>
<td><Input :type="formItem.profitinfo.added_tax == '免征' ? 'text':'number'" :readonly="formItem.profitinfo.added_tax == '免征'" v-model='formItem.profitinfo.added_tax' placeholder="请输入" /></td>
</tr>
<tr>
<td>5</td>
<td>城市建设维护税</td>
<!-- <td>不含税月租金<span>{{formItem.profitinfo.urban_construction_tax_formula }}</span>免征</td> -->
<td>{{formItem.profitinfo.urban_construction_tax_formula}}</td>
<td><Input :type="formItem.profitinfo.urban_construction_tax == '免征' ? 'text':'number'" v-model='formItem.profitinfo.urban_construction_tax' placeholder="请输入" /></td>
</tr>
<tr>
<td>6</td>
<td>教育附加及地方教育附加</td>
<!-- <td>不含税月租金<span>{{formItem.profitinfo.education_surcharges_formula }}</span>免征</td> -->
<td>{{formItem.profitinfo.education_surcharges_formula}}</td>
<td><Input :type="formItem.profitinfo.edu_surcharge == '免征' ? 'text':'number'" v-model='formItem.profitinfo.edu_surcharge' placeholder="请输入" /></td>
</tr>
<tr>
<td>7</td>
<td>房产税</td>
<td>3)÷1+5%×4%</td>
<td><Input type='number' v-model='formItem.profitinfo.deed_tax' placeholder="请输入" /></td>
</tr>
<tr>
<td>8</td>
<td>印花税</td>
<td>3)×0.1%</td>
<td><Input type='number' v-model='formItem.profitinfo.stamp_duty' placeholder="请输入" /></td>
</tr>
<tr>
<td>9</td>
<td>保险费</td>
<td>
月有效毛利率 ×
<div style="display: inline-block;vertical-align: bottom;">
<Input type='number' v-model='formItem.profitinfo.insurance_formula' placeholder="请输入" style="width:100px;">
<span slot="append">%</span>
</Input>
</div>
</td>
<td><Input type='number' v-model='formItem.profitinfo.insurance_premium' placeholder="请输入" /></td>
</tr>
<tr>
<td>10</td>
<td>维修费</td>
<td>
月有效毛利率 ×
<div style="display: inline-block;vertical-align: bottom;">
<Input type='number' v-model='formItem.profitinfo.maintenance_formula' placeholder="请输入" style="width:100px;">
<span slot="append">%</span>
</Input>
</div>
</td>
<td><Input type='number' v-model='formItem.profitinfo.maintenance_cost' placeholder="请输入" /></td>
</tr>
<tr>
<td>11</td>
<td>月净收益</td>
<td>3)-{Σ[4)~10)]}</td>
<td><Input type='number' v-model='formItem.profitinfo.month_net_profit' placeholder="请输入" /></td>
</tr>
<tr>
<td>12</td>
<td>押金年收益</td>
<td>押金×年利率(一年期定期存款利率为1.5%),押金一般为两个月租金</td>
<td><Input type='number' v-model='formItem.profitinfo.year_profit' placeholder="请输入" /></td>
</tr>
<tr>
<td>13</td>
<td>年净收益a</td>
<td>11)×12+12)</td>
<td><Input type='number' v-model='formItem.profitinfo.year_net_profit' placeholder="请输入" /></td>
</tr>
<tr>
<td>14</td>
<td>报酬率r</td>
<td>报酬率用安全利率加风险调整值得到</td>
<td>
<Input type='number' v-model='formItem.profitinfo.remuneration_rate' placeholder="请输入">
<span slot="append">%</span>
</Input>
</td>
</tr>
<tr>
<td>15</td>
<td>收益年递增比率g</td>
<td>综合分析该区域房地产现状并结合区域城市规划估算</td>
<td>
<Input type='number' v-model='formItem.profitinfo.increase_rate' placeholder="请输入">
<span slot="append">%</span>
</Input>
</td>
</tr>
<tr>
<td>16</td>
<td>收益期n</td>
<td>根据房地产证的记载计算得到</td>
<td>
<Input type='number' v-model='formItem.profitinfo.income_period' placeholder="请输入" />
</td>
</tr>
<tr>
<td>17</td>
<td>收益单价</td>
<td>a÷(r-g)×[1-(1+g)^n÷(1+r)^n]</td>
<td><Input type='number' v-model='formItem.profitinfo.increase_price' placeholder="请输入" /></td>
</tr>
</table>
<div class="text-center">
<Button @click='calculation' class="mr-10">计算</Button>
<Button @click='dataFill'>数据填充</Button>
</div>
</div>
<div v-else>
<table class="zc-table" >
<tr>
<td width="10%">建筑总面积</td>
<td width="30%"><Input v-model='formItem.profitinfo.total_area' placeholder="请输入"/></td>
<td width="30%">原建购价</td>
<td width="30%"><Input v-model='formItem.profitinfo.original_price' placeholder="请输入"/></td>
</tr>
<tr>
<td>序号</td>
<td>项目名</td>
<td>计算方法及说明</td>
<td></td>
</tr>
<tr>
<td>1</td>
<td>月潜在毛收益</td>
<td>房地产具体情况及周围同类物业租金水平</td>
<td>
<Input type='number' v-model='formItem.profitinfo.month_profit' placeholder="请输入" />
</td>
</tr>
<tr>
<td>2</td>
<td>空置率</td>
<td>根据市场调查并结合估价对象自身特点综合确定</td>
<td>
<Input type='number' v-model='formItem.profitinfo.vacancy_rate' placeholder="请输入">
<span slot="append">%</span>
</Input>
</td>
</tr>
<tr>
<td>3</td>
<td>月有效毛收益</td>
<td>月潜在毛收益 × 1 - 空置率</td>
<td><Input type='number' v-model='formItem.profitinfo.month_valid_profit' placeholder="请输入" /></td>
</tr>
<tr>
<td>4</td>
<td>增值税</td>
<td>3)÷(1+5%)×5% </td>
<td><Input type='number' v-model='formItem.profitinfo.added_tax' placeholder="请输入" /></td>
</tr>
<tr>
<td>5</td>
<td>城市建设维护税</td>
<td>4)×7% </td>
<td><Input type='number' v-model='formItem.profitinfo.urban_construction_tax' placeholder="请输入" /></td>
</tr>
<tr>
<td>6</td>
<td>教育附加及地方教育附加</td>
<td>4)×5% </td>
<td><Input type='number' v-model='formItem.profitinfo.edu_surcharge' placeholder="请输入" /></td>
</tr>
<tr>
<td>7</td>
<td>房产税</td>
<td>原购建价÷建筑面积×70%×1.2%÷12</td>
<td><Input type='number' v-model='formItem.profitinfo.deed_tax' placeholder="请输入" /></td>
</tr>
<tr>
<td>8</td>
<td>印花税</td>
<td>3)×0.1%</td>
<td><Input type='number' v-model='formItem.profitinfo.stamp_duty' placeholder="请输入" /></td>
</tr>
<tr>
<td>9</td>
<td>保险费</td>
<td>
月有效毛利率 ×
<div style="display: inline-block;vertical-align: bottom;">
<Input type='number' v-model='formItem.profitinfo.insurance_formula' placeholder="请输入" style="width:100px;">
<span slot="append">%</span>
</Input>
</div>
</td>
<td><Input type='number' v-model='formItem.profitinfo.insurance_premium' placeholder="请输入" /></td>
</tr>
<tr>
<td>10</td>
<td>维修费</td>
<td>
月有效毛利率 ×
<div style="display: inline-block;vertical-align: bottom;">
<Input type='number' v-model='formItem.profitinfo.maintenance_formula' placeholder="请输入" style="width:100px;">
<span slot="append">%</span>
</Input>
</div>
</td>
<td><Input type='number' v-model='formItem.profitinfo.maintenance_cost' placeholder="请输入" /></td>
</tr>
<tr>
<td>11</td>
<td>月净收益</td>
<td>3)-{Σ[4)~10)]}</td>
<td><Input type='number' v-model='formItem.profitinfo.month_net_profit' placeholder="请输入" /></td>
</tr>
<tr>
<td>12</td>
<td>押金年收益</td>
<td>押金×年利率(一年期定期存款利率为1.5%),押金一般为两个月租金</td>
<td><Input type='number' v-model='formItem.profitinfo.year_profit' placeholder="请输入" /></td>
</tr>
<tr>
<td>13</td>
<td>年净收益a</td>
<td>11)×12+12)</td>
<td><Input type='number' v-model='formItem.profitinfo.year_net_profit' placeholder="请输入" /></td>
</tr>
<tr>
<td>14</td>
<td>报酬率r</td>
<td>报酬率用安全利率加风险调整值得到</td>
<td>
<Input type='number' v-model='formItem.profitinfo.remuneration_rate' placeholder="请输入">
<span slot="append">%</span>
</Input>
</td>
</tr>
<tr>
<td>15</td>
<td>收益年递增比率g</td>
<td>综合分析该区域房地产现状并结合区域城市规划估算</td>
<td>
<Input type='number' v-model='formItem.profitinfo.increase_rate' placeholder="请输入">
<span slot="append">%</span>
</Input>
</td>
</tr>
<tr>
<td>16</td>
<td>收益期n</td>
<td>根据房地产证的记载计算得到</td>
<td>
<Input type='number' v-model='formItem.profitinfo.income_period' placeholder="请输入" />
</td>
</tr>
<tr>
<td>17</td>
<td>收益单价</td>
<td>a÷(r-g)×[1-(1+g)^n÷(1+r)^n]</td>
<td><Input type='number' v-model='formItem.profitinfo.increase_price' placeholder="请输入" /></td>
</tr>
</table>
<div class="text-center">
<Button @click='compute' class="mr-10">计算</Button>
<Button @click='dataFill'>数据填充</Button>
</div>
</div>
</div>
</TabPane>
<!-- <TabPane label="测算方法-GY收益法" name="name7">
<div>
<div style="width:100%;text-align:center;color:#333;font-size:20px;">GY收益法测算表{{formItem.inquiryinfo.ownership_type==1?'个人':'企业'}}</div>
<table class="zc-table" >
<tr>
<td colspan="3" width='5%' >序号</td>
<td width='20%' >项目名</td>
<td width='30%' >计算方法及说明</td>
<td width='20%' >取值及结果</td>
</tr>
<tr>
<td colspan="3" >1</td>
<td >建筑总面积</td>
<td></td>
<td ><Input type='number' v-model='formItem.gyprofitinfo.total_area' placeholder="请输入"/></td>
</tr>
<tr>
<td colspan="3" >2</td>
<td >月租金单价/·</td>
<td></td>
<td ><Input type='number' v-model='formItem.gyprofitinfo.m_rent_price' placeholder="请输入"/></td>
</tr>
<tr>
<td colspan="3" >3</td>
<td>年有效毛收入</td>
<td></td>
<td>
<Input type='number' v-model='formItem.gyprofitinfo.y_eff_gross_profit_income' placeholder="请输入" />
</td>
</tr>
<tr>
<td ></td>
<td colspan="2" ></td>
<td>年租金收入</td>
<td>A×B×C</td>
<td>
<Input type='number' v-model='formItem.gyprofitinfo.y_rent_price' placeholder="请输入"/>
</td>
</tr>
<tr>
<td width="1%"></td>
<td width="1%"></td>
<td width="1%">A</td>
<td>年潜在毛租金</td>
<td>A××12个月</td>
<td><Input type='number' v-model='formItem.gyprofitinfo.y_protent_net_rent_income' placeholder="请输入" /></td>
</tr>
<tr>
<td></td>
<td ></td>
<td >B</td>
<td>有效出租面积率</td>
<td>---</td>
<td><Input type='number' v-model='formItem.gyprofitinfo.eff_rent_size' placeholder="请输入" /></td>
</tr>
<tr>
<td></td>
<td ></td>
<td >C</td>
<td>出租率</td>
<td>空置和租金损失</td>
<td><Input type='number' v-model='formItem.gyprofitinfo.rent_rate' placeholder="请输入" /></td>
</tr>
<tr>
<td></td>
<td colspan="2"></td>
<td>年其他收入</td>
<td>××2个月×D×B×C租赁保证金或押金收益</td>
<td><Input type='number' v-model='formItem.gyprofitinfo.y_other_income' placeholder="请输入" /></td>
</tr>
<tr>
<td></td>
<td></td>
<td >D</td>
<td>利率</td>
<td>取价值时点时中国人民银行公布的一年期存款利率</td>
<td><Input type='number' v-model='formItem.gyprofitinfo.interest_rate' placeholder="请输入" /></td>
</tr>
<tr>
<td colspan="3">4</td>
<td>年运营费用</td>
<td>=</td>
<td><Input type='number' v-model='formItem.gyprofitinfo.y_oper_fee' placeholder="请输入" /></td>
</tr>
<tr>
<td></td>
<td colspan="2"></td>
<td>管理费</td>
<td>×3%</td>
<td><Input type='number' v-model='formItem.gyprofitinfo.mgr_fee' placeholder="请输入" /></td>
</tr>
<tr>
<td></td>
<td colspan="2"></td>
<td>维修保养费</td>
<td> ×房屋重置单价×1.5%</td>
<td><Input type='number' v-model='formItem.gyprofitinfo.maintenance_fee' placeholder="请输入" /></td>
</tr>
<tr>
<td></td>
<td colspan="2"></td>
<td>房产税</td>
<td>/1.05×4%</td>
<td><Input type='number' v-model='formItem.gyprofitinfo.deed_taxes' placeholder="请输入" /></td>
</tr>
<tr>
<td></td>
<td colspan="2"></td>
<td>两税两费</td>
<td>EFGH</td>
<td><Input type='number' v-model='formItem.gyprofitinfo.two_taxes' placeholder="请输入" /></td>
</tr>
<tr>
<td></td>
<td></td>
<td >E</td>
<td>增值税</td>
<td>不含税月租金30000元时免征不含税月租金30000元时住宅为E/1.05×1.5%非住宅E/1.05×5%</td>
<td><Input type='number' v-model='formItem.gyprofitinfo.vat' placeholder="请输入" /></td>
</tr>
<tr>
<td></td>
<td></td>
<td >F</td>
<td>城市建设维护税</td>
<td>不含税月租金30000元时免征不含税月租金30000元时FE×7%</td>
<td><Input type='number' v-model='formItem.gyprofitinfo.urban_taxes' placeholder="请输入" /></td>
</tr>
<tr>
<td></td>
<td></td>
<td >G</td>
<td>教育费附加</td>
<td>不含税月租金30000元时免征不含税月租金30000元时GE×3%</td>
<td><Input type='number' v-model='formItem.gyprofitinfo.edu_taxes' placeholder="请输入" /></td>
</tr>
<tr>
<td></td>
<td></td>
<td >H</td>
<td>地方教育费附加</td>
<td>不含税月租金30000元时免征不含税月租金30000元时HE×2%</td>
<td>
<Input type='number' v-model='formItem.gyprofitinfo.local_edu_taxes' placeholder="请输入" />
</td>
</tr>
<tr>
<td></td>
<td colspan="2"></td>
<td>印花税</td>
<td>免征</td>
<td><Input type='number' v-model='formItem.gyprofitinfo.stamp_taxes' placeholder="请输入" /></td>
</tr>
<tr>
<td></td>
<td colspan="2"></td>
<td>保险费</td>
<td>×房屋重置单价×2</td>
<td><Input type='number' v-model='formItem.gyprofitinfo.insurance_fee' placeholder="请输入" /></td>
</tr>
<tr v-if='formItem.inquiryinfo.ownership_type==1'>
<td></td>
<td colspan="2"></td>
<td>个人所得税</td>
<td>不含税月租金30000元时×20不含税月租金30000元时/1.05×0.44%×20</td>
<td><Input type='number' v-model='formItem.gyprofitinfo.individual_taxes' placeholder="请输入" /></td>
</tr>
<tr>
<td colspan="3">5</td>
<td>第一年净收益</td>
<td></td>
<td><Input type='number' v-model='formItem.gyprofitinfo.firstyear_income' placeholder="请输入" /></td>
</tr>
<tr>
<td colspan="3">6</td>
<td>收益期</td>
<td>使用年限已使用年限</td>
<td><Input type='number' v-model='formItem.gyprofitinfo.earnings_period' placeholder="请输入" /></td>
</tr>
<tr>
<td colspan="3">7</td>
<td>报酬率</td>
<td>根据安全利率+风险调整值综合确定</td>
<td><Input type='number' v-model='formItem.gyprofitinfo.return_rate' placeholder="请输入" /></td>
</tr>
<tr>
<td colspan="3">8</td>
<td>净收益递增/减比率</td>
<td>前51.02年的年净收益增长率3.00%以后保持相对稳定</td>
<td><Input type='number' v-model='formItem.gyprofitinfo.net_income_rate' placeholder="请输入" /></td>
</tr>
<tr>
<td colspan="3">9</td>
<td>收益价值</td>
<td>/(r-s)×(1-((1+s)/(1+r))^t)(1+r)^t-1/r×1-1/(1+r)^n-t)/1+r^n</td>
<td><Input type='number' v-model='formItem.gyprofitinfo.income_value' placeholder="请输入" /></td>
</tr>
<tr>
<td colspan="3">10</td>
<td>单价/</td>
<td>取整</td>
<td><Input type='number' v-model='formItem.gyprofitinfo.eva_unit_price' placeholder="请输入" /></td>
</tr>
</table>
<div class="text-center">
</div>
</div>
</TabPane> -->
<TabPane label="测算方法-比较法" name="name7">
<gzFormalView :gzformalinfo="formItem.gzformalinfo" ref='gzformalRef' @getGzFormalData='getGzFormalData' :simpleinfo="formItem.simpleinfo" @getSimpleinfo="getSimpleinfo" :size="reportAbstractsList.size"/>
</TabPane>
<TabPane label="审核意见" name="name8" v-if='$route.name=="report-examineDetail"'>
<table class="zc-table">
<tr>
<td class='zc-label' width='200'>业务员</td>
<td class="zc-minWidth">{{formItem.approvalinfo.username}}</td>
<td class='zc-label' width='200'>下单时间</td>
<td class="zc-minWidth">{{formItem.approvalinfo.create_time}}</td>
</tr>
<tr>
<td class='zc-label' width='200'>报告制作</td>
<td class="zc-minWidth">{{formItem.approvalinfo.producer_name}}</td>
<td class='zc-label' width='200'>制作日期</td>
<td class="zc-minWidth">{{formItem.approvalinfo.maker_date}}</td>
</tr>
<tr>
<td class='zc-label'>报告二审</td>
<td class="zc-minWidth">
<Input type='text' v-model='formItem.approvalinfo.first_instance' placeholder="请输入" />
</td>
<td class='zc-label'>二审日期</td>
<td class="zc-minWidth"><DatePicker type="date" :value='formItem.approvalinfo.first_instance_date' @on-change="getTime($event,'first_instance_date')" placeholder="请选择" style="width:100%;" ></DatePicker></td>
</tr>
<tr>
<td class='zc-label'>二审意见</td>
<td class="zc-minWidth" colspan="3">
<Input :rows="4" v-model="formItem.approvalinfo.first_instance_opinion" maxlength="300" show-word-limit type="textarea" placeholder="请输入" />
</td>
</tr>
<tr>
<td class='zc-label'>报告三审</td>
<td class="zc-minWidth">
<Input type='text' v-model='formItem.approvalinfo.second_instance' placeholder="请输入" />
</td>
<td class='zc-label'>三审日期</td>
<td class="zc-minWidth"><DatePicker type="date" :value='formItem.approvalinfo.second_instance_date' @on-change="getTime($event,'second_instance_date')" placeholder="请选择" style="width:100%;" ></DatePicker></td>
</tr>
<tr>
<td class='zc-label'>三审意见</td>
<td class="zc-minWidth" colspan="3">
<Input :rows="4" v-model="formItem.approvalinfo.second_instance_opinion" maxlength="300" show-word-limit type="textarea" placeholder="请输入" />
</td>
</tr>
</table>
</TabPane>
<TabPane label="案例成交参考价" name="name9" v-if='isCaseGuide'>
<table class="zc-table">
<tr>
<th style='width:100px;'>序号</th>
<th>项目名</th>
<th>成交参考价格/平方米</th>
<th style='width:150px;'>操作</th>
</tr>
<template v-if='formItem.guideinfo.length !=0'>
<tr v-for='(item,i) in formItem.guideinfo' :key='item.id'>
<td>{{i+1}}</td>
<td><Input type='text' v-model='item.case_estate_name' placeholder="请输入" /></td>
<td><Input type='text' v-model='item.case_guide_price' placeholder="请输入" /></td>
<td><Button type="text" :loading='delLoad' @click='deleteGuide(item,i)' class="zc-cursor-red ">删除</Button></td>
</tr>
</template>
<template v-else>
<tr>
<td colspan="4">暂无数据</td>
</tr>
</template>
</table>
<div class="text-center">
<Button type="primary" @click ='addGuide'>新增</Button>
</div>
</TabPane>
</Tabs>
</div>
<Modal v-model="modal" class-name="zc-modal" width="500" :mask-closable="false">
<div class="header-title" slot="header">提示</div>
<p class="red text-center mt-10">切换物业前请务必点击保存当前物业如若未点击保存切换前的物业所有修改信息将丢失</p>
<div slot="footer" class="text-center">
<Button type="primary" shape="circle" class="mr-10" @click="modal=false">确定</Button>
</div>
</Modal>
</div>
</Card>
</div>
</template>
<script>
import {
getAppraiser,
topBaseInfo,
getBaseInfo,
getSmallArea,
reqReportAbstractInfo,
methodSimpleInfo,
methodFormalInfo,
methodGzFormalInfo,
methodProfitInfo,
// methodGYProfitInfo,
reqReportSurveyDetail,
saveReportBaseInfo,
subReport,
conserveReport,
reqPreviewReport,
getBigArea,
getSmallAreaList,
subFinish, getReportTemplate, getAreaInfo, conserveArea, subApprovalReturn,
getApprovalInfo,
guideInfo,
guideInfoDel,
getOtherRightsType
} from '@/api/report'
import {decrypto } from '@/libs/util'
import { getBuildingCity } from '@/api/basicData'
import { reqDataDict } from '@/api/public'
import { consultFiles } from '@/api/businessManage/inquiry'
import fileUpload from '@/components/upload/file-upload'
import houseForm from './houseForm'
import businessForm from './businessForm'
import profitView from './profitView'
import formalView from './formalView'
import gzFormalView from './gzFormalView'
import { closeCurrentPage } from '@/libs/util'
import { keepTwoDecimalFull } from '@/libs/tools'
import wangeditor from '@/components/wangeditor'
export default {
components: {
fileUpload,
houseForm,
businessForm,
profitView,
formalView,
gzFormalView,
wangeditor
},
data () {
return {
reportSort: 1, //提交顺序
otherRightsTypesList:[{ id: 1, valname: '已抵押未注销' },{ id: 2, valname: '未抵押' },{ id: 3, valname: '查封' },{ id: 4, valname: '--' }],
delLoad:false,
reportTemplateList: [],
active: 0, // 选中物业索引
loading: false,
viewLoad: false,
returnLoad: false,
finishLoad: false,
modal: false,
flag: false,
tabsName: 'name1',
consultLoad: false, // 查档中
bigAreaList: [], // 所在大片区
smallAreaList: [], // 所在大片区
reportAbstractsList: {}, // 报告摘要
survey_type: '', // 业务类型
isDataLoading:false, // 数据加载所.配合SetLDataLoading(true/),getDataLoading()两函数使用
typeObj: { // 户型
house: '',
hall: '',
toilet: '',
balcony: ''
},
tabsObj: {
name1: true,
name2: false,
name3: false,
name4: false,
name5: false,
name6: false,
name7: false
},
// 查勘信息 初始化数据
surveyInfo: {
prosperity_lv: {
shop_prosperity_vf: '', // 商业繁华程度-人流量
shop_prosperity_cg: '', // 商业繁华程度-消费档次
shop_prosperity_mn: '' // 商业繁华程度-昭示性
},
business_district_lv: {
shop_business_level: '', // 商圈等级
remark: '' // 商圈等级-备注
},
pub_fac: '', // 公共配套设施
traffic: {
shop_traffic_condition: '', // 交通条件
bus_lines: '', // 交通条件-公交路线
subway: '' // 交通条件-地铁
},
user_id: '', // 查勘员
complete_time: '', // 查勘时间
address: '', // 物业地址
size: '', // 面积
total_floors: '', // 总楼层
building_completion_time: '', // 竣工时间
podium_floor: '', // 裙楼层数
floor_no: '', // 评估楼层
floor_height: '', // 层高
area: '', // 小片区
property_form: '', // 物业形态
business_content: '', // 经营内容
commercial_positioning: '', // 商业定位
shop_condition: {
// shop_situation: '', // 商铺状况-是否临街
shop_beside_street: {// 商铺状况-临街
street: '', // 临街
bay: '', // 开间
depth: '', // 进深
shop_ground_meter: '', // 距离地面
shop_distance_road: '', // 距离道路
shop_green_belt: '', // 有无绿化
shop_pillar_shelter1: '', // 是否柱子遮挡
shop_beside_street_situation: '', // 临街情况
shop_mezzanine: '', // 夹层
shop_basement: '', // 地下室
shop_situation_ss: '' // 商铺形状
},
shop_inner_shop: {// 商铺状况-内铺
distance_entrance: '', // 距离主要入口
distance_escalator: '', // 距离主手扶梯
shop_pillar_shelter2: '', // 是有柱子遮挡2
shop_situation_wss: '', // 商铺形状
length: '', // 长
width: ''// 宽
},
survey_gallery_imgs_arr: []
},
parking_condition: {// 停车状况
// shop_parking: '', // 停车场
shop_above_parking: [], // 地上停车场
shop_under_parking: [], // 地下停车场
shop_parking_convenient: '', // 是否方便停车
shop_parking_cost_free: '', // 是否免费停车
shop_shopping_cart_pick: '' // 是否购物车接送
},
usage_condition: {// 使用状况
shop_usage_status: '',
rent_money: '', // 租金
rent_term: '', // 租期
annual_increment: '', // 年递增
shop_is_through_next: '', // 是否与邻铺打通
shop_vacant: '' // 空置与装修中
},
exterior_wall: [], // 外墙
door_window: [], // 门窗
interior_wall: [], // 内墙
ceiling: [], // 天花板
ground: [], // 地面
kitchen: {
residence_kitchen_ceiling: [], // 厨房-天花
residence_kitchen_wall: [], // 厨房-墙面
residence_kitchen_ground: [], // 厨房-地面
residence_kitchen_equipment: [], // 厨房-设备
shop_kitchen2_ceiling: [], // 厨房-天花
shop_kitchen2_wall: [], // 厨房-墙面
shop_kitchen2_ground: [], // 厨房-地面
shop_kitchen2_equipment: [] // 厨房-设备
},
kitchen_img_ids: [], // 厨房图片
bathroom: {
// shop_toilet_type: [], // 卫生间-独立
residence_kitchen_ceiling: [], // 卫生间-天花
residence_bathroom_wall: [], // 卫生间-墙面
residence_bathroom_ground: [], // 卫生间-地面
residence_bathroom_sanitary: [] // 卫生间-洁具
},
facility: {
shop_facilities_hydropower: [], // 水电
shop_facilities_communication: [], // 通讯
shop_facilities_ac: [], // 空调
shop_facilities_elevator_option: [], // 电梯
shop_facilities_elevator: {}, // 电梯数量
shop_facilities_elevator_arr: [] // 电梯数量
},
street_view_img_ids: [], // 街景图片
exterior_wall_img_ids: [], // 外墙图片
door_window_img_ids: [], // 门窗图片
interior_wall_img_ids: [], // 内墙图片
ceiling_img_ids: [], // 天花板图片
ground_img_ids: [], // 地面图片
bathroom_img_ids: [], // 卫生间图片
facility_img_ids: [], // 设施图片
loc_img_ids: [], // 物业位置
supplement_img_ids: [], // 补充图片
appraisal_img_ids: [] // 查勘图库
}, // 查勘信息
formItem: {
reportid: this.$route.query.reportid,
property_cert_info_id: '',
inquiryinfo: {}, // 基本信息
surveyinfo: {}, // 查勘信息
reportinfo: {
otherrights_type: 1,
house_img_info: [], // 房产证
attachment_info: [], // 附件
report_summary_img_info: [] // 报告摘要
}, // 基本信息
priceinfo: {}, // 评估信息
simpleinfo: [{ trade_date: '' }, { trade_date: '' }, { trade_date: '' }], // 测算方法-比较法简易
formalinfo: {}, // 策算方法-正式
gzformalinfo: {}, // gz比较法
profitinfo: {
market_research: [], // 收益法-物业
one_year: '', // 年份租金
two_year: '', // 年份租金
three_year: '', // 年份租金
appraisal_object:''
},
gyprofitinfo:{ // 国中收益法
m_rent_price :'', // 月租金单价(元/㎡·月)
y_eff_gross_profit_income :'', // 年有效毛收入(元)
y_rent_price :'', // 年租金收入(元)
eff_rent_size :'', // 有效出租面积率
rent_rate :'', // 出租率
y_other_income :'', // 年其他收入(元)
interest_rate :'', // 利率
y_oper_fee :'', // 年运营费用(元)
mgr_fee :'', // 管理费(元)
maintenance_fee :'', // 维修保养费(元)
deed_taxes :'', // 房产税(元)
two_taxes :'', // “两税两费”(元)
vat :'', // 增值税(元)
urban_taxes :'', // 城市建设维护税(元)
edu_taxes :'', // 教育费附加(元)
local_edu_taxes :'', // 地方教育费附加(元)
stamp_taxes :'', // 印花税(元)
insurance_fee :'', // 保险费
individual_taxes :'', // 个人所得税(元)
firstyear_income :'', // 第一年净收益(元)
earnings_period :'', // 收益期(年)
return_rate :'', // 报酬率
net_income_rate :'', // 净收益递增/减比率
income_value :'', // 收益价值(元)
eva_unit_price :'', // 单价(元/㎡)(取整)
y_protent_net_rent_income :'', // 年潜在毛租金(元)
},
approvalinfo: {},// 报告待审核-审核意见
guideinfo:[], //案例成交参考价
},
topInfo: { estate_info: [], report_attachment_info: [], attachment_info: [], otherrights_type:1}, // 头部详情
setFormalinfo: {
valuation_time: '', // 价值时点
max_land_use_years: '', // 土地使用年限 formItem.reportinfo.max_land_use_years
land_use_start_time: '', // 土地开始使用时间 formItem.reportinfo.land_use_start_time
size: '', // 建筑面积 formItem.inquiryinfo.size
reg_price: '', // 登记价formItem.inquiryinfo.reg_price
ownership_type: ''// 权利人类型formItem.inquiryinfo.ownership_type
},
assessList: [], // 评估师
cityList: [], // 城市
yearList: [
{ id: 1, valname: '已满两年' },
{ id: 2, valname: '未满两年' }
], // 购买年限
houseUsageList: [], // 房屋用途
tenureTypeList: [], // 产权人类型
certtypeList: [], // 证件类型
testMethodList: [], // 测算方法
areaList: [],
market_background_list: [], // 市场背景
house_condition: [], // 房屋现状
// 正式法数据填充
rent: '', // 租金
increase_rate: '', // 递增率
insurance_formula: '', // 保险费
maintenance_formula: '', // 维修费
remuneration_rate: '', // 报酬率
income_period: '', // 收益期
areaInfoLoad: false, // 填充区域情况中
conserveAreaLoad: false, // 保存区域情况中
loanTypeList: [], //贷款品种
isCaseGuide:false,//是否显示案例成交参考价
}
},
created () {
this.getAppraiser()
this.topBaseInfo()
this.getBuildingCity()
this.getBigArea()
this.getReportTemplate()
},
watch: {
handler (val) {
this.formItem.reportinfo.house_img_info = this.formItem.reportinfo.house_img_info
},
} ,
methods: {
// 设置DataLoading标记
setDataLoading( isLoading )
{
this.isDataLoading = isLoading;
},
// 获取DataLoading标记
getDataLoading()
{
return this.isDataLoading;
},
initialGYinfo()
{
this.formItem.gyprofitinfo = { // 国中收益法
m_rent_price :'', // 月租金单价(元/㎡·月)
y_eff_gross_profit_income :'', // 年有效毛收入(元)
y_rent_price :'', // 年租金收入(元)
eff_rent_size :'', // 有效出租面积率
rent_rate :'', // 出租率
y_other_income :'', // 年其他收入(元)
interest_rate :'', // 利率
y_oper_fee :'', // 年运营费用(元)
mgr_fee :'', // 管理费(元)
maintenance_fee :'', // 维修保养费(元)
deed_taxes :'', // 房产税(元)
two_taxes :'', // “两税两费”(元)
vat :'', // 增值税(元)
urban_taxes :'', // 城市建设维护税(元)
edu_taxes :'', // 教育费附加(元)
local_edu_taxes :'', // 地方教育费附加(元)
stamp_taxes :'', // 印花税(元)
insurance_fee :'', // 保险费
individual_taxes :'', // 个人所得税(元)
firstyear_income :'', // 第一年净收益(元)
earnings_period :'', // 收益期(年)
return_rate :'', // 报酬率
net_income_rate :'', // 净收益递增/减比率
income_value :'', // 收益价值(元)
eva_unit_price :'', // 单价(元/㎡)(取整)
y_protent_net_rent_income :'', // 年潜在毛租金(元)
}
return this.formItem.gyprofitinfo
},
saveReportBaseInfo()
{
if (this.reportSort < 2) {
return this.$Message.error('请先提交当前物业信息');
}
if( this.getDataLoading() )
{
return this.$Message.error('请您在信息加载完后,再进行保存。');
}
this.topInfo.reportid = this.$route.query.reportid
if(this.topInfo.bank_name !== '中国光大银行'){
delete this.topInfo.ceb_product_type
}
// 保存报告基础信息
saveReportBaseInfo(this.topInfo).then( res =>{
if( res.code === 1)
{
console.log(res)
// 判断是否提交过报告信息
if (this.reportSort == 2) {
this.reportSort = 3; // 提交顺序 3
}
// 保存报告基础信息成功、暂不提示;失败才提示。
this.$Message.success(res.msg)
}
else
{
this.$Message.error( res.msg )
}
})
},
// 保存
conserveReport () {
if( this.getDataLoading() )
{
return this.$Message.error('请您在信息加载完后,再进行保存。');
}
this.formItem.property_cert_info_id = this.topInfo.estate_info[this.active].id
this.formItem.reportinfo.year = this.formItem.inquiryinfo.year
if(this.isCaseGuide){
let array =[]
this.formItem.guideinfo.map(item =>{
if(item.case_estate_name !='' || item.case_guide_price != ''){
array.push(item)
}
})
this.formItem.guideinfo = array
}
this.$refs.surveyRef.reqSubmitSurvey()
// 商业并且物业>=3套
if (this.$route.query.type == 2 || this.topInfo.estate_info.length >= 3) {
this.$refs.formalRef.formalSubmit()
this.$refs.gzformalRef.formalSubmit()
}
conserveReport(this.formItem).then(res => {
if (res.code === 1) {
this.$Message.success(res.msg)
this.getAbstractInfo(this.active)
this.methodSimpleInfo(this.active)
this.methodFormalInfo(this.active)
this.methodGzFormalInfo(this.active)
this.methodProfitInfo(this.active)
this.methodGYProfitInfo(this.active)
this.guideInfo(this.active)
// 判断是否提交过物业信息
if (this.reportSort == 1) {
this.reportSort = 2; // 提交顺序 2
}
} else {
this.$Message.error(res.msg)
}
})
},
// 获取查勘数据
getSurveyData (val) {
this.formItem.surveyinfo = val
},
// 获取正式法数据
getFormalData (val) {
this.formItem.formalinfo = val
},
// 获取GZ比较法数据
getGzFormalData (val) {
this.formItem.gzformalinfo = val
},
//获取比较法简易数据
getSimpleinfo (val) {
this.formItem.simpleinfo = val
},
// 提交头部数据
subReport () {
if (this.reportSort < 3) {
return this.$Message.error('请先提交报告信息');
}
if( this.getDataLoading() )
{
return this.$Message.error('请您在信息加载完后,再进行提交。');
}
if (!this.topInfo.appraiser_id) {
this.$Message.error('请选择评估师1')
return false
}
if (!this.topInfo.appraiser2_id) {
this.$Message.error('请选择评估师2')
return false
}
this.loading = true
this.topInfo.reportid = this.$route.query.reportid
if(this.topInfo.bank_name !== '中国光大银行'){
delete this.topInfo.ceb_product_type
}
//console.log(this.topInfo)
subReport(this.topInfo).then(res => {
// this.loading = false
if (res.code === 1) {
this.reqPreviewReport()
this.$Message.success(res.msg)
closeCurrentPage(this, this.$route.query.from, {}) // 关闭当前页
} else {
this.$Message.error(res.msg)
}
})
},
// 房产证拖动函数
datadragEnd (item) {
console.log( 'datadragend:',item)
this.formItem.reportinfo.house_img_info = []
if (item.fileList.length > 0) {
item.fileList.map(val => {
if (val.id) {
this.formItem.reportinfo.house_img_info.push(val.id)
} else {
this.formItem.reportinfo.house_img_info.push(val.response.data.id)
}
// this.formItem.reportinfo.house_cert_img_ids = this.formItem.reportinfo.house_img_info
})
console.log( 'this.formItem.reportinfo.house_img_info',this.formItem.reportinfo.house_img_info )
}
},
// 报告预览
reqPreviewReport () {
// this.viewLoad = true
reqPreviewReport({ reportid: this.$route.query.reportid, cur_tmpl_id: this.topInfo.cur_tmpl_id, type: '1' }).then(res => {
// this.viewLoad = false
this.loading = false
this.finishLoad = false
if (res.code === 1) {
window.open(res.data.url)
closeCurrentPage(this, this.$route.query.from, {}, this.$route) // 关闭当前页
this.$Message.success(res.msg)
} else {
this.$Message.error(res.msg)
}
})
},
// 点击切换物业
selectMenu (index) {
if (this.flag && this.active != index) {
this.active = index
this.getBaseInfo(index)
this.getAbstractInfo(index)
this.methodProfitInfo(index)
this.methodGYProfitInfo(index)
this.reqReportSurveyDetail(index)
this.tabsName = 'name1'
this.methodSimpleInfo(index)
this.methodFormalInfo(index)
this.methodGzFormalInfo(index)
this.guideInfo(index)
if (this.$route.query.from == 'waitApproval' || this.$route.query.from == 'waitApprovalThird') this.getApprovalInfo(index)
} else if (!this.flag && index != 0) {
this.modal = true
this.flag = true
}
},
// 获取头部详情
topBaseInfo () {
topBaseInfo({ reportid: this.$route.query.reportid,ctype: this.$route.query.state }).then(res => {
if (res.code === 1) {
this.topInfo = res.data
this.topInfo.ceb_product_type = String (this.topInfo.ceb_product_type)
if (this.topInfo.estate_info.length > 0) {
// 判断是否有物业,有则默认查第一个物业
this.getBaseInfo(0)
this.getAbstractInfo(0)
this.reqDataDict()
this.reqReportSurveyDetail(0)
this.methodProfitInfo(0)
this.methodSimpleInfo(0)
this.methodFormalInfo(0)
this.methodGzFormalInfo(0)
this.guideInfo(0)
this.methodGYProfitInfo(0)
if (this.$route.query.from == 'waitApproval' || this.$route.query.from == 'waitApprovalThird') this.getApprovalInfo(0)
}
} else {
this.$Message.error(res.msg)
}
})
},
// 获取基本详情
getBaseInfo (index) {
this.setDataLoading(true);
getBaseInfo({
reportid: this.$route.query.reportid,
property_cert_info_id: this.topInfo.estate_info[index].id
}).then(res => {
this.setDataLoading(false);
if (res.code === 1) {
this.survey_type = String(res.data.survey_type)
this.formItem.inquiryinfo = res.data.basic_info.inquiryinfo
this.formItem.reportinfo = res.data.basic_info.reportinfo
// 判断是否有区域情况分析信息,有则获取变现能力分析信息
if (this.formItem.reportinfo.adjacent_property && !this.formItem.reportinfo.gen_saleablility_desc) {
this.getLiquidityInfo(this.formItem.reportinfo)
}
this.formItem.priceinfo = res.data.basic_info.priceinfo
this.getSmallArea(this.formItem.inquiryinfo.city_id)
// if( this.topInfo.otherrights_type == null)
// {
// this.topInfo.otherrights_type = 1
// }
if (this.formItem.reportinfo.grand_district_id != '') {
this.getSmallAreaList(this.formItem.reportinfo.grand_district_id)
}
} else {
this.$Message.error(res.msg)
}
})
},
// 查勘
reqReportSurveyDetail(index) {
reqReportSurveyDetail({
reportid: this.$route.query.reportid,
property_cert_info_id: this.topInfo.estate_info[index].id
}).then(res => {
if (res.code === 1) {
this.surveyInfo = res.data
this.getSmallArea(this.formItem.inquiryinfo.city_id)
} else {
this.$Message.error(res.msg)
}
})
},
// 报告摘要
getAbstractInfo (index) {
reqReportAbstractInfo({
reportid: this.$route.query.reportid,
property_cert_info_id: this.topInfo.estate_info[index].id
}).then(res => {
if (res.code === 1) {
this.reportAbstractsList = res.data
} else {
this.$Message.error(res.msg)
}
})
},
// 计较法简单
methodSimpleInfo (index) {
methodSimpleInfo({
reportid: this.$route.query.reportid,
property_cert_info_id: this.topInfo.estate_info[index].id }).then(res => {
if (res.code === 1) {
this.formItem.simpleinfo = res.data
} else {
this.$Message.error(res.msg)
}
})
},
// 正式法
methodFormalInfo (index) {
methodFormalInfo({
reportid: this.$route.query.reportid,
property_cert_info_id: this.topInfo.estate_info[index].id }).then(res => {
if (res.code === 1) {
this.formItem.formalinfo = res.data
} else {
this.$Message.error(res.msg)
}
})
},
// GZ比较法
methodGzFormalInfo (index) {
methodGzFormalInfo({
reportid: this.$route.query.reportid,
property_cert_info_id: this.topInfo.estate_info[index].id }).then(res => {
if (res.code === 1) {
this.formItem.gzformalinfo = res.data
} else {
this.$Message.error(res.msg)
}
})
},
// 请求GY收益法
methodGYProfitInfo(index)
{
// methodGYProfitInfo({ reportid: this.$route.query.reportid,
// property_cert_info_id: this.topInfo.estate_info[index].id })
// .then(res => {
// console.log('methodGYprofinInfo res.data ', res.data )
// if (res.code === 1) {
// if(null != res.data ) // 要判断是否为空
// this.formItem.gyprofitinfo = res.data
// else
// this.initialGYinfo();
// } else {
// this.$Message.error(res.msg)
// }
// })
},
// 收益法信息
methodProfitInfo (index) {
methodProfitInfo({ reportid: this.$route.query.reportid,
property_cert_info_id: this.topInfo.estate_info[index].id }).then(res => {
if (res.code === 1) {
this.formItem.profitinfo = res.data
this.formItem.profitinfo.total_area = this.formItem.profitinfo.total_area ? this.formItem.profitinfo.total_area : this.formItem.inquiryinfo.size
this.formItem.profitinfo.original_price = this.formItem.profitinfo.original_price ? this.formItem.profitinfo.original_price : this.formItem.inquiryinfo.reg_price
this.formItem.profitinfo.appraisal_object = this.formItem.profitinfo.appraisal_object ? this.formItem.profitinfo.appraisal_object :
`从上述调查的市场租金可知,近几年所在片区同类物业的租金水平稳中有升,结合估价对象实际利用状况,确定估价对象在价值时点的客观租金为#元/平方米·月(按建筑面积算)较为合理。估价对象目前为#,由于未提供租赁合同,本次评估采用市场客观租金进行收益测算。#/平方米·月(按建筑面积算)较为合理。`
this.increase_rate = res.data.increase_rate
this.insurance_formula = res.data.insurance_formula
this.maintenance_formula = res.data.maintenance_formula
this.remuneration_rate = res.data.remuneration_rate
this.income_period = res.data.income_period
} else {
this.$Message.error(res.msg)
}
})
},
// 获取评估师
getAppraiser () {
getAppraiser().then(res => {
if (res.code === 1) {
this.assessList = res.data
} else {
this.$Message.error(res.msg)
}
})
},
// 获取城市
getBuildingCity () {
getBuildingCity().then(res => {
if (res.code === 1) {
this.cityList = res.data
} else {
this.$Message.error(res.msg)
}
})
},
// 数据字典
reqDataDict () {
reqDataDict({
type: ['HOUSE_USAGE', 'OWNERSHIP_TYPE', 'TEST_METHOD', 'CERTTYPE', 'MARKET_BACKGROUND', 'HOUSE_STATUS','CEB_PRODUCT_TYPE']
}).then(res => {
if (res.code === 1) {
var _data = (res.isCrypto==true)?decrypto(res.data):res.data
this.houseUsageList = _data.house_usage
this.tenureTypeList = _data.ownership_type
this.testMethodList = _data.test_method
this.certtypeList = _data.certtype
this.market_background_list = _data.market_background
this.house_condition = _data.house_condition
this.loanTypeList = _data.ceb_product_type
} else {
this.$Message.error(res.msg)
}
})
},
// 获取头部信息图片文件信息
getTopInfoFile (item, name, number) {
if (item.type === 'handleRemove') {
if (number == 1) {
name == 'report_file_id' ? this.topInfo[name] = '' : this.topInfo[name] = []
} else if (number > 1) {
this.topInfo[name].splice(item.index, 1)
}
} else {
name == 'report_file_id' ? this.topInfo[name] = item.response.data.id : this.topInfo[name].push(item.response.data.id)
}
},
// 获取图片ID
getFilelist (item, name, number) {
if (item.type === 'handleRemove') {
if (number == 1) {
this.formItem.reportinfo[name] = []
} else if (number > 1) {
this.formItem.reportinfo[name].splice(item.index, 1)
}
}
else if( item.type === 'house_cert_img_ids')
{
console.log('house_cert_img_ids', item )
}
else {
console.log('item.response:', item.response )
this.formItem.reportinfo[name].push(item.response.data.id)
}
},
// 获取片区
getSmallArea (id) {
if (!id) return false
getSmallArea({ id: id }).then(res => {
if (res.code === 1) {
this.areaList = res.data
} else {
this.$Message.error(res.msg)
}
})
},
// 复制
copy (data) {
if (!data) {
this.$Message.error('无复制内容')
return false
}
let _input = document.createElement('input') // 直接构建input
_input.value = data // 设置内容
document.body.appendChild(_input) // 添加临时实例
_input.select() // 选择实例内容
document.execCommand('Copy')
this.$Message.success('复制成功')
document.body.removeChild(_input) // 删除临时实例
},
// 查档
consultFiles () {
let data = {
year: this.formItem.inquiryinfo.year,
property_cert: this.formItem.reportinfo.property_cert,
client: this.formItem.reportinfo.obligee
}
this.consultLoad = true
consultFiles(data).then(res => {
this.consultLoad = false
if (res.code === 1) {
this.formItem.reportinfo.new_online_info = res.data.show
} else {
this.$Message.error(res.msg)
}
})
},
// 获取收益法物业图片
getMarketFile (item, index) {
if (item.fileList.length > 0) {
this.formItem.profitinfo.market_research[index].house_imgs = item.response.data.id
} else {
this.formItem.profitinfo.market_research[index].house_imgs = ''
}
},
// 数据填充
dataFill () {
this.rent = this.formItem.profitinfo.month_profit
this.increase_rate = this.formItem.profitinfo.increase_rate
this.insurance_formula = this.formItem.profitinfo.insurance_formula
this.maintenance_formula = this.formItem.profitinfo.maintenance_formula
this.remuneration_rate = this.formItem.profitinfo.remuneration_rate
this.income_period = this.formItem.profitinfo.income_period
},
// 个人收益法计算
calculation () {
if (!this.formItem.profitinfo.month_profit && !this.formItem.profitinfo.vacancy_rate) {
this.$Message.error('请输入月潜在毛收益、空置率')
return false
}
// 月有效毛收益
let value = keepTwoDecimalFull(Number(this.formItem.profitinfo.month_profit) * (1 - Number(this.formItem.profitinfo.vacancy_rate) / 100), 2)
this.formItem.profitinfo.month_valid_profit = Number(value)
// 月租金计算
let monthRent = keepTwoDecimalFull(Number(this.formItem.profitinfo.total_area) * this.formItem.profitinfo.month_valid_profit / 1.05, 2)
// 4增值税 月租金计算
this.formItem.profitinfo.added_tax_formula = monthRent
// 5城市建设维护税 月租金计算
this.formItem.profitinfo.urban_construction_tax_formula = monthRent
// 6教育附加及地方教育附加 月租金计算
this.formItem.profitinfo.education_surcharges_formula = monthRent
// 4增值税 5城市建设维护税 计算
if (Number(monthRent) <= 30000) {
this.formItem.profitinfo.added_tax = '免征'
this.formItem.profitinfo.urban_construction_tax = '免征'
this.formItem.profitinfo.added_tax_formula = '不含税月租金≤30000元免征 '
this.formItem.profitinfo.urban_construction_tax_formula = '不含税月租金≤30000元免征 '
} else {
this.formItem.profitinfo.added_tax = keepTwoDecimalFull(this.formItem.profitinfo.month_valid_profit / 1.05 * 0.05, 2)
this.formItem.profitinfo.urban_construction_tax = keepTwoDecimalFull(this.formItem.profitinfo.added_tax * 0.07, 2)
this.formItem.profitinfo.added_tax_formula = '不含税月租金30000元3)÷(1+5%)×5%'
this.formItem.profitinfo.urban_construction_tax_formula = '④x7%'
}
// 教育附加及地方教育附加 方法说明
if (Number(monthRent) <= 30000) {
this.formItem.profitinfo.edu_surcharge = '免征'
this.formItem.profitinfo.education_surcharges_formula = '不含税月租金≤30000元免征'
} else if (Number(monthRent) > 30000 && Number(monthRent) <= 100000) {
this.formItem.profitinfo.education_surcharges_formula = '30000不含税月租金≤100000元免征'
this.formItem.profitinfo.edu_surcharge = '免征'
} else if (Number(monthRent) > 100000) {
this.formItem.profitinfo.education_surcharges_formula = '④x5%'
this.formItem.profitinfo.edu_surcharge = keepTwoDecimalFull(this.formItem.profitinfo.added_tax * 0.05, 2)
}
// 房产税
this.formItem.profitinfo.deed_tax = Number(keepTwoDecimalFull(this.formItem.profitinfo.month_valid_profit / 1.05 * 0.04, 2))
// 印花税
this.formItem.profitinfo.stamp_duty = Number(keepTwoDecimalFull(this.formItem.profitinfo.month_valid_profit * 0.001, 2))
// 保险费
this.formItem.profitinfo.insurance_premium = Number(keepTwoDecimalFull(this.formItem.profitinfo.month_valid_profit * (this.formItem.profitinfo.insurance_formula / 100), 2))
// 维修费
this.formItem.profitinfo.maintenance_cost = Number(keepTwoDecimalFull(this.formItem.profitinfo.month_valid_profit * (this.formItem.profitinfo.maintenance_formula / 100), 2))
// 月净收益
let month_net_profit = this.formItem.profitinfo.month_valid_profit - ((this.formItem.profitinfo.added_tax == '免征' ? 0 : this.formItem.profitinfo.added_tax) +
(this.formItem.profitinfo.urban_construction_tax == '免征' ? 0 : this.formItem.profitinfo.urban_construction_tax) +
(this.formItem.profitinfo.edu_surcharge == '免征' ? 0 : this.formItem.profitinfo.edu_surcharge) +
this.formItem.profitinfo.deed_tax + this.formItem.profitinfo.stamp_duty + this.formItem.profitinfo.insurance_premium + this.formItem.profitinfo.maintenance_cost)
this.formItem.profitinfo.month_net_profit = keepTwoDecimalFull(month_net_profit, 2)
// 押金年收益
this.formItem.profitinfo.year_profit = keepTwoDecimalFull((this.formItem.profitinfo.month_profit * 2 * 0.015), 2)
// 年净收益a
this.formItem.profitinfo.year_net_profit = keepTwoDecimalFull(this.formItem.profitinfo.month_net_profit * 12 + this.formItem.profitinfo.year_profit, 2)
// 16收益期n
let valuation_time = new Date(this.topInfo.valuation_time.replace(/-/g, '/')) // 价值时点
let land_use_start_time = new Date(this.formItem.reportinfo.land_use_start_time.replace(/-/g, '/')) // 土地开始使用时间
let days = valuation_time.getTime() - land_use_start_time.getTime()
let day = parseInt(days / (1000 * 60 * 60 * 24))
this.formItem.profitinfo.income_period = keepTwoDecimalFull(this.formItem.reportinfo.max_land_use_years - day / 365, 2)
// 17收益单价
let powNum = Math.pow(((1 + (this.formItem.profitinfo.increase_rate / 100)) / (1 + (this.formItem.profitinfo.remuneration_rate / 100))), this.formItem.profitinfo.income_period)
this.formItem.profitinfo.increase_price = Math.ceil((this.formItem.profitinfo.year_net_profit / ((this.formItem.profitinfo.remuneration_rate / 100) - (this.formItem.profitinfo.increase_rate / 100)) * (1 - powNum)))
},
// 公司收益法计算
compute () {
if (!this.formItem.profitinfo.month_profit && !this.formItem.profitinfo.vacancy_rate) {
this.$Message.error('请输入月潜在毛收益、空置率')
return false
}
// 月有效毛收益
let value = (this.formItem.profitinfo.month_profit * (1 - Number(this.formItem.profitinfo.vacancy_rate) / 100))
this.formItem.profitinfo.month_valid_profit = keepTwoDecimalFull(value, 2)
// 增值税
this.formItem.profitinfo.added_tax = keepTwoDecimalFull(this.formItem.profitinfo.month_valid_profit / 1.05 * 0.05, 2)
// 城市建设维护税
this.formItem.profitinfo.urban_construction_tax = keepTwoDecimalFull(this.formItem.profitinfo.added_tax * 0.07, 2)
// 教育附加及地方教育附加
this.formItem.profitinfo.edu_surcharge = keepTwoDecimalFull(this.formItem.profitinfo.added_tax * 0.05, 2)
// 房产税 ----------
this.formItem.profitinfo.deed_tax = keepTwoDecimalFull(Number(this.formItem.profitinfo.original_price) / Number(this.formItem.profitinfo.total_area) * 0.7 * 0.012 / 12, 2)
// 印花税
this.formItem.profitinfo.stamp_duty = keepTwoDecimalFull(this.formItem.profitinfo.month_valid_profit * 0.001, 2)
// 保险费
this.formItem.profitinfo.insurance_premium = keepTwoDecimalFull(this.formItem.profitinfo.month_valid_profit * (this.formItem.profitinfo.insurance_formula / 100), 2)
// 维修费
this.formItem.profitinfo.maintenance_cost = keepTwoDecimalFull(this.formItem.profitinfo.month_valid_profit * (this.formItem.profitinfo.maintenance_formula / 100), 2)
// 月净收益
this.formItem.profitinfo.month_net_profit = this.formItem.profitinfo.month_valid_profit - (this.formItem.profitinfo.added_tax + this.formItem.profitinfo.urban_construction_tax + this.formItem.profitinfo.edu_surcharge + this.formItem.profitinfo.deed_tax + this.formItem.profitinfo.stamp_duty + this.formItem.profitinfo.insurance_premium + this.formItem.profitinfo.maintenance_cost)
// 押金年收益
this.formItem.profitinfo.year_profit = (this.formItem.profitinfo.month_profit * 2 * 0.015)
// 年净收益a
this.formItem.profitinfo.year_net_profit = this.formItem.profitinfo.month_net_profit * 12 + this.formItem.profitinfo.year_profit
// 16收益期n
let valuation_time = new Date(this.topInfo.valuation_time.replace(/-/g, '/')) // 价值时点
let land_use_start_time = new Date(this.formItem.reportinfo.land_use_start_time.replace(/-/g, '/')) // 土地开始使用时间
let days = valuation_time.getTime() - land_use_start_time.getTime()
let day = parseInt(days / (1000 * 60 * 60 * 24))
this.formItem.profitinfo.income_period = this.formItem.reportinfo.max_land_use_years - day / 365
// 17收益单价
let powNum = Math.pow(((1 + (this.formItem.profitinfo.increase_rate / 100)) / (1 + (this.formItem.profitinfo.remuneration_rate / 100))), this.formItem.profitinfo.income_period)
this.formItem.profitinfo.increase_price = this.formItem.profitinfo.year_net_profit / ((this.formItem.profitinfo.remuneration_rate / 100) - (this.formItem.profitinfo.increase_rate / 100)) * (1 - powNum)
},
// 获取城市id
getCity_id (id) {
this.getSmallArea(id)
},
// 获取选择时间
getTime (val, name) {
switch (name) {
case 'produce_time': // 制作日期
this.topInfo.produce_time = val
break
case 'appraisal_time': // 评估日期
this.topInfo.appraisal_time = val
break
case 'validity_time': // 有效日期
this.topInfo.validity_time = val
break
case 'purchase_date': // 购买/登记时间
this.formItem.inquiryinfo.purchase_date = val
break
case 'reg_date':
this.formItem.inquiryinfo.reg_date = val
break;
case 'completion_date': // 竣工日期
this.formItem.reportinfo.completion_date = val
break
case 'land_use_start_time': // 土地开始使用时间
this.formItem.reportinfo.land_use_start_time = val
break
case 'land_use_end_time': // 土地结束使用时间
this.formItem.reportinfo.land_use_end_time = val
break
case 'valuation_time':
this.topInfo.valuation_time = val
break
case 'review_time': // 审核日期
this.topInfo.review_time = val
break
case 'first_instance_date': // 一审日期
this.formItem.approvalinfo.first_instance_date = val
break
case 'second_instance_date': // 二审日期
this.formItem.approvalinfo.second_instance_date = val
break
}
},
// 完成
subFinish (type) {
if (!this.topInfo.appraiser_id) {
this.$Message.error('请选择评估师1')
return false
}
if (!this.topInfo.appraiser2_id) {
this.$Message.error('请选择评估师2')
return false
}
this.topInfo.ctype = type
this.finishLoad = true
this.topInfo.reportid = this.$route.query.reportid
subFinish(this.topInfo).then(res => {
// this.finishLoad = false
if (res.code === 1) {
// this.reqPreviewReport()
this.$Message.success(res.msg)
closeCurrentPage(this, this.$route.query.from, {}, this.$route) // 关闭当前页
} else {
this.$Message.error(res.msg)
}
})
},
// 所在大区
getBigArea () {
getBigArea().then(res => {
if (res.code === 1) {
this.bigAreaList = res.data
} else {
this.$Message.error(res.msg)
}
})
},
// 所在小区
getSmallAreaList (event) {
if (!event) return false
getSmallAreaList({ pid: event }).then(res => {
if (res.code === 1) {
this.smallAreaList = res.data
} else {
this.$Message.error(res.msg)
}
})
},
// 获取报告模板
getReportTemplate () {
getReportTemplate({ reportid: this.$route.query.reportid }).then(res => {
if (res.code === 1) {
this.reportTemplateList = res.data
} else {
this.$Message.error(res.msg)
}
})
},
// 填充区域情况分析
getAreaInfo () {
if (this.formItem.reportinfo.parcel_no === '') {
this.$Message.error('请输入宗地号')
return false
}
this.areaInfoLoad = true
getAreaInfo({ parcel_no: this.formItem.reportinfo.parcel_no }).then(res => {
this.areaInfoLoad = false
if (res.code === 1) {
this.formItem.reportinfo.bus_lines = res.data.bus_lines
this.formItem.reportinfo.boundaries = res.data.boundaries
this.formItem.reportinfo.property_intro = res.data.property_intro
this.formItem.reportinfo.adjacent_property = res.data.adjacent_property
this.formItem.reportinfo.pub_serv = res.data.pub_serv
this.$Message.success(res.msg)
} else {
this.$Message.error(res.msg)
}
})
},
// 保存区域情况分析
conserveArea () {
if (!this.formItem.reportinfo.parcel_no || this.formItem.reportinfo.parcel_no === '') {
this.$Message.error('请输入宗地号')
return false
}
if (!this.formItem.reportinfo.adjacent_property || this.formItem.reportinfo.adjacent_property === '') {
this.$Message.error('请输入毗邻物业')
return false
}
if (!this.formItem.reportinfo.bus_lines || this.formItem.reportinfo.bus_lines === '') {
this.$Message.error('请输入公交线路')
return false
}
if (!this.formItem.reportinfo.boundaries || this.formItem.reportinfo.boundaries === '') {
this.$Message.error('请输入四至')
return false
}
if (!this.formItem.reportinfo.pub_serv || this.formItem.reportinfo.pub_serv === '') {
this.$Message.error('请输入公共服务设施')
return false
}
if (!this.formItem.reportinfo.property_intro || this.formItem.reportinfo.property_intro === '') {
this.$Message.error('请输入楼盘介绍')
return false
}
this.conserveAreaLoad = true
let data = {
parcel_no: this.formItem.reportinfo.parcel_no,
parcel_area:this.formItem.reportinfo.parcel_area,
bus_lines: this.formItem.reportinfo.bus_lines,
boundaries: this.formItem.reportinfo.boundaries,
property_intro: this.formItem.reportinfo.property_intro,
adjacent_property: this.formItem.reportinfo.adjacent_property,
pub_serv: this.formItem.reportinfo.pub_serv
}
conserveArea(data).then(res => {
this.conserveAreaLoad = false
if (res.code === 1) {
this.$Message.success(res.msg)
// 填完区域情况分析后获取变现能力分析信息
this.getLiquidityInfo(this.formItem.reportinfo)
} else {
this.$Message.error(res.msg)
}
})
},
// 退回
subApprovalReturn () {
this.returnLoad = true
subApprovalReturn({ reportid: this.$route.query.reportid }).then(res => {
this.returnLoad = false
if (res.code === 1) {
closeCurrentPage(this, this.$route.query.from, {}, this.$route) // 关闭当前页
this.$Message.success(res.msg)
} else {
this.$Message.error(res.msg)
}
})
},
// 待审核-获取审核意见
getApprovalInfo (index) {
getApprovalInfo({ reportid: this.$route.query.reportid,
property_cert_info_id: this.topInfo.estate_info[index].id }).then(res => {
if (res.code === 1) {
this.formItem.approvalinfo = res.data
} else {
this.$Message.error(res.msg)
}
})
},
// 案例成交价
guideInfo(index){
guideInfo({property_cert_info_id: this.topInfo.estate_info[index].id }).then(res => {
if (res.code === 1) {
if(res.data.display_status == 1){
this.isCaseGuide = true
this.formItem.guideinfo = res.data.case_guide_data
}else{
this.isCaseGuide = false
}
} else {
this.$Message.error(res.msg)
}
})
},
// 新增案例参考价
addGuide(){
this.formItem.guideinfo.push({case_estate_name:'', case_guide_price:''})
},
// 删除案例参考价
deleteGuide(item,i){
if(item.id){
this.delLoad = true
guideInfoDel({id:item.id}).then(res =>{
this.delLoad = false
if(res.code === 1){
this.formItem.guideinfo.splice(i,1)
}else{
this.$Message.error(res.msg)
}
})
}else{
this.formItem.guideinfo.splice(i,1)
}
},
// 富文本编辑器回传数据
getCenterHtml (content, type) {
const val = ref('');
if (content === '<p><br></p>') { // 手动清空时的数据
val.value = ''
} else {
val.value = content
}
if (type === 'gen_saleablility_desc') {
this.formItem.reportinfo.gen_saleablility_desc = val.value
} else if (type === 'indp_use_desc') {
this.formItem.reportinfo.indp_use_desc = val.value
}else if(type === 'seg_transfer_desc'){
this.formItem.reportinfo.seg_transfer_desc = val.value
} else if(type === 'dev_lv_desc') {
this.formItem.reportinfo.dev_lv_desc = val.value
} else if(type === 'summary_desc') {
this.formItem.reportinfo.summary_desc = val.value
}
},
// 获取变现能力分析信息
getLiquidityInfo(data) {
if (!data.gen_saleablility_desc) {
this.formItem.reportinfo.gen_saleablility_desc = '<p style="font-size:14px;line-height:24px;text-indent:2em;">'+
'在经济学中,专用性资产是指由特定的经济主体拥有或控制的,通过特定的使用方法,能够给经济主体带来经济利益的经济资源。这种资产有两个显著特征:由特定的经济主体拥有或控制;只能用于特定的用途,如果转到其他用途或由他人使用,则其创造的价值可能降低。其专用性是指该项资产能够被重新配置于其他替代用途或是被他人使用时损失其生产价值的程度,按资产专用性的不同,可以分为通用性资产、混合性资产(半专用性)和高度专用性资产三种类型。一般地,流动性和可转换能力强的资产专用性差,通用性强;流动性和可转换能力差的资产专用性强,通用性差。</p>'+
'<p style="font-size:14px;line-height:24px;text-indent:2em;">用途的专业化</p>'+
'<p style="font-size:14px;line-height:24px;text-indent:2em;">估价对象登记用途均为商业,实际用途均为商业,专业化不强,其用途适用的使用范围越宽,针对的客户面较广,其变现能力较强。</p>'+
'<p style="font-size:14px;line-height:24px;text-indent:2em;">结构类型与房屋质量</p>'+
'<p style="font-size:14px;line-height:24px;text-indent:2em;">委估物业为框剪结构,目前该种结构在建筑中普遍采用,因维修保养较好,房屋质量较好,一般多为自用或出租,物业的快速变现能力较好。</p>'+
'<p style="font-size:14px;line-height:24px;text-indent:2em;">估价对象的面积和房地产价值</p>'+
'<p style="font-size:14px;line-height:24px;text-indent:2em;">估价对象单套物业面积较小,总价值量较小,其快速变现能力较好。</p>'+
'<p style="font-size:14px;line-height:24px;text-indent:2em;">房地产的开发程度</p>'+
'<p style="font-size:14px;line-height:24px;text-indent:2em;">估价对象为现房,已办理了《房地产证》并已经投入使用,目前均出租,使用状况较一般,其变现能力较强。</p>'+
'<p style="font-size:14px;line-height:24px;text-indent:2em;">小结:估价对象的通用性较好,估价对象单套物业面积较小,总价值量较小,其快速变现能力较好。</p>'
}
if (!data.indp_use_desc) {
this.formItem.reportinfo.indp_use_desc = '纳入此次评估范围的房地产估价对象登记用途均为商业,实际用途均为商业,并已办理了《房地产证》,可出租及出售,估价对象现和其他物业打通合并使用,单套物业如需独立使用则需恢复原状,单套物业独立使用性均一般。'
}
if (!data.seg_transfer_desc) {
this.formItem.reportinfo.seg_transfer_desc = '委估物业登记用途均为商业,实际用途均为商业,物理上可分割使用,但产权不具有可分割转让性。'
}
if (!data.dev_lv_desc && this.formItem.reportinfo.adjacent_property && this.formItem.reportinfo.bus_lines) {
this.formItem.reportinfo.dev_lv_desc = this.formItem.inquiryinfo.building_name + '位于' + this.formItem.reportinfo.land_location + '' +
'附近有' + this.formItem.reportinfo.adjacent_property + '等裙楼商业物业,' +
'周边有' + this.formItem.reportinfo.pub_serv + '等配套,繁华程度高,商业聚集度较高。' +
'临近' + this.formItem.reportinfo.boundaries + '' +
'且近' + this.formItem.reportinfo.bus_lines + '等多路公交车经过,交通便利,交通便捷度较好。'
}
if (!data.summary_desc) {
this.formItem.reportinfo.summary_desc = '综上所述,估价对象' + this.formItem.inquiryinfo.building_name + this.formItem.reportinfo.land_location + this.formItem.reportinfo.property_intro
}
}
}
}
</script>
<style lang="less" scoped>
.detail-div{
max-height: 80vh;
overflow-y: auto;
}
.form-control {
width: 70%;
/deep/ .ivu-input {
border-bottom: 1px solid #dcdee2 !important;
border-radius: 0;
&:focus {
border: 0;
box-shadow: none;
}
}
}
.tb-form {
margin: 5px 0;
&-tip {
display: inline-block;
width: 30%;
}
}
.radioForm {
/deep/.ivu-form .ivu-form-item-label {
line-height: initial;
}
}
.inline-block {
vertical-align: bottom;
/deep/ .ivu-input {
border-bottom: 1px solid #dcdee2 !important;
border-radius: 0;
&:focus {
border: 0;
box-shadow: none;
}
}
}
.form-box {
width: 100%;
padding: 0 10px 10px;
border-bottom: 1px solid #e6e6e6;
}
/deep/.input-btm input {
border-bottom: 1px solid #dcdee2 !important;
}
/deep/.ivu-input-group-append {
background-color: #fff;
border: 0;
border-radius: 0;
}
.red {
color: red ;
/deep/textarea{
color: red ;
}
}
.btn-absolute {
position: absolute;
top: -55px;
right: 0;
}
/deep/.ivu-tabs-nav {
margin-top: 10px !important;
}
.ul {
li {
list-style: none;
height: 30xp;
line-height: 30px;
font-size: 14px;
padding: 3px 0px 3px 10px;
cursor: pointer;
}
.active {
color: #2d8cf0;
background: #fffdf0;
}
.cursor_li:hover {
color:#53d5df;
}
}
</style>