Browse Source

个贷口估接口

wucl 3 months ago
parent
commit
92f4eabb18
2 changed files with 108 additions and 73 deletions
  1. 14 0
      src/api/modules/personalFacePrice.js
  2. 94 73
      src/views/personal/facePrice.vue

+ 14 - 0
src/api/modules/personalFacePrice.js

@@ -0,0 +1,14 @@
+import request from '@/utils/request'
+
+/*
+* 个贷口估
+*/
+export default {
+
+  queryDyData(params) {
+    return request.post(`personalFacePrice/dy/price`, params)
+  },
+  queryEnternalData(params){
+    return request.post(`personalFacePrice/external/price`, params)
+  }
+}

+ 94 - 73
src/views/personal/facePrice.vue

@@ -10,32 +10,36 @@
                 <el-option label="口估小区名字" value="communityName"></el-option>
                 </el-select>
             </el-input>
-            <el-input style="margin-left: 20px; width: 300px;" type="number" v-model.number="queryParam.acreage" placeholder="请输入面积">
+            <!-- <el-input style="margin-left: 20px; width: 300px;" type="number" v-model.number="queryParam.acreage" placeholder="请输入面积">
                 <template slot="prepend">口估面积</template>
-            </el-input>
+            </el-input> -->
+            <el-select v-model="queryParam.limit" placeholder="请选择">
+                <el-option key="1" label="两年内" value="两年内"></el-option>
+                <el-option key="1" label="一年内" value="一年内"></el-option>
+                <el-option key="1" label="半年内" value="半年内"></el-option>
+                <el-option key="1" label="三月内" value="三月内"></el-option>
+                <el-option key="1" label="一月内" value="一月内"></el-option>
+
+            </el-select>
             <el-input style="margin-left: 20px; width: 300px; color: red;" :value="currentDate" disabled readonly>
                 <template slot="prepend">价值时点</template>
             </el-input>
-            <el-button style="margin-left: 20px;" type="success">口估查询</el-button>
+            <el-button style="margin-left: 20px;" type="success" @click="queryFacePrice()">口估查询</el-button>
         </div>
 
         <el-card class="data-class" shadow="never">
             <span style="font-weight: bold;">大友个贷数据</span>
+            <el-tag style="margin: 5px ;" type="danger" effect="plain" size="mini">{{ queryParam.limit }}</el-tag>
+            <el-tag style="margin: 5px ;" type="danger" effect="plain" size="mini">{{ dyData.length }} 个</el-tag>
             <el-divider></el-divider>
-            <div>
-                <el-table ref="table" slot="table" size="medium" :data="data" border
-                :row-key="getRowKeys" :height=maxHeight fit stripe highlight-current-row
+            <div style="height: 200px; width: 100%; overflow: auto;">
+                <el-table ref="table" slot="table" size="medium" :data="dyData" border
                 :header-row-style="{ color: '#333333' }" style="
                 border-left: 1px solid #ebeced;
                 border-right: 1px solid #ebeced;
                 color: #333333; 
                 " 	>
-                <el-table-column label="订单号" align="center" prop="orderId">
-                    <template slot-scope="{row}">
-                        <span>{{ row.orderId }}</span>
-                    </template>
-                </el-table-column>
-                <el-table-column label="坐落" align="center" prop="location">
+                <el-table-column label="坐落" align="center" prop="location" width="300" show-overflow-tooltip>
                     <template slot-scope="{row}">
                         <span>{{ row.location }}</span>
                     </template>
@@ -45,20 +49,20 @@
                         <span>{{ row.communityName }}</span>
                     </template>
                 </el-table-column>
-                <el-table-column label="评估单价" align="center" prop="price">
+                <el-table-column label="评估单价(元)" align="center" prop="price">
                     <template slot-scope="{row}">
-                        <span>{{ row.price }}</span>
+                        <span style="color: red;">{{ row.price }}</span>
                     </template>
                 </el-table-column>
-                <el-table-column label="评估面积" align="center" prop="acreage">
+                <el-table-column label="评估面积(m²)" align="center" prop="acreage">
                     <template slot-scope="{row}">
-                        <span>{{ row.acreage }}</span>
+                        <span style="color: red;">{{ row.acreage }}</span>
                     </template>
                 </el-table-column>
 
-                <el-table-column label="评估总价" align="center" prop="amount">
+                <el-table-column label="评估总价(万)" align="center" prop="amount">
                     <template slot-scope="{row}">
-                        <span>{{ row.amount }}</span>
+                        <span style="color: red;">{{ row.amount ? (row.amount / 10000).toFixed(2) + '万' : '-' }}</span>
                     </template>
                 </el-table-column>
 
@@ -98,20 +102,20 @@
         </el-card>
         <el-card class="data-class" shadow="never">
             <span style="font-weight: bold;">系统数据 </span>
-            <el-tag type="danger" effect="plain">{{ limit }}</el-tag>
-            <el-tag style="margin-left: 5px;" effect="plain">{{ queryTarget }}</el-tag>
+            <el-tag  type="danger" effect="plain" size="mini">{{ queryParam.limit }}</el-tag>
+            <el-tag style="margin: 5px ;" type="danger" effect="plain" size="mini">{{ enternalData.deals.length + enternalData.ups.length }} 个</el-tag>
             <el-divider></el-divider>
             <div style="width: 100%; display: flex;">
-                <el-card :style="activateTable=='deal'?activeStyle:disActiveStyle" shadow="hover" @click.native="activateTable = 'deal'">
+                <el-card v-if="enternalData.deals.length>0" :style="activateTable=='deal'?activeStyle:disActiveStyle" shadow="hover" @click.native="activateTable = 'deal'">
                     <div style="padding: 3px;font-size: 20px;">
                         <div>
-                            <span style="font-weight: bold; color: red;">成交价:{{ dealPrice }} ¥</span> = 
-                            <span style="margin-left: 20px; margin-right: 20px; font-weight: bold;">{{ dealAvgPrice }}</span> * 
-                            <span style="margin-left: 20px; margin-right: 20px; font-weight: bold;">{{ timeParam }}</span> * 
-                            <span style="margin-left: 20px; margin-right: 20px; font-weight: bold;">{{ acreageParam }}</span> * 
-                            <span style="margin-left: 20px; margin-right: 20px; font-weight: bold;">{{ overAllParam }}</span>
+                            <span style="font-weight: bold; color: red;">成交价:{{ enternalData.dealPrice }} ¥</span> = 
+                            <span style="margin-left: 20px; margin-right: 20px; font-weight: bold;">{{ enternalData.dealAvgPrice }}</span> * 
+                            <span style="margin-left: 20px; margin-right: 20px; font-weight: bold;">{{ enternalData.timeParam }}</span> * 
+                            <span style="margin-left: 20px; margin-right: 20px; font-weight: bold;">{{ enternalData.acreageParam }}</span> * 
+                            <span style="margin-left: 20px; margin-right: 20px; font-weight: bold;">{{ enternalData.overAllParam }}</span>
 
-                            <span style="margin-left: 50px;">案例个数:{{ qiYuDealSize }}</span>
+                            <span style="margin-left: 50px;">{{ enternalData.deals.length }}  个</span>
                         </div>
                         
                         <div>
@@ -124,16 +128,16 @@
                         
                     </div>
                 </el-card>
-                <el-card :style="activateTable=='up'?activeStyle:disActiveStyle" shadow="hover" @click.native="activateTable = 'up'">
+                <el-card v-if="enternalData.ups.length>0" :style="activateTable=='up'?activeStyle:disActiveStyle" shadow="hover" @click.native="activateTable = 'up'">
                     <div style="padding: 3px;font-size: 20px;">
                         <div>
-                            <span style="font-weight: bold; color: red;">挂牌价:{{ upPrice }} ¥</span> = 
-                            <span style="margin-left: 20px; margin-right: 20px; font-weight: bold;">{{ dealAvgPrice }}</span> * 
-                            <span style="margin-left: 20px; margin-right: 20px; font-weight: bold;">{{ timeParam }}</span> * 
-                            <span style="margin-left: 20px; margin-right: 20px; font-weight: bold;">{{ acreageParam }}</span> * 
-                            <span style="margin-left: 20px; margin-right: 20px; font-weight: bold;">{{ overAllParam }}</span>
+                            <span style="font-weight: bold; color: red;">挂牌价:{{ enternalData.upPrice }} ¥</span> = 
+                            <span style="margin-left: 20px; margin-right: 20px; font-weight: bold;">{{ enternalData.upAvgPrice }}</span> * 
+                            <span style="margin-left: 20px; margin-right: 20px; font-weight: bold;">{{ enternalData.timeParam }}</span> * 
+                            <span style="margin-left: 20px; margin-right: 20px; font-weight: bold;">{{ enternalData.acreageParam }}</span> * 
+                            <span style="margin-left: 20px; margin-right: 20px; font-weight: bold;">{{ enternalData.overAllParam }}</span>
 
-                            <span style="margin-left: 50px;">案例个数:{{ qiYuDealSize }}</span>
+                            <span style="margin-left: 50px;">{{ enternalData.ups.length }} 个</span>
                         </div>
                         
                         <div>
@@ -145,38 +149,32 @@
                     </div>
                 </el-card>
             </div>
-            <div class="dealData-class" v-show="activateTable=='deal'">
-                <el-table ref="dealTable" slot="table" size="medium" :data="dealData" border
-                :row-key="getRowKeys" :height=maxHeight fit stripe highlight-current-row
+            <div style="width: 100%; overflow: auto;" v-show="activateTable=='deal'">
+                <el-table ref="dealTable" slot="table" size="medium" :data="enternalData.deals" border
                 :header-row-style="{ color: '#333333' }" style="
                 border-left: 1px solid #ebeced;
                 border-right: 1px solid #ebeced;
                 color: #333333; 
                 " 	>
-                <el-table-column label="坐落" align="center" prop="location">
-                    <template slot-scope="{row}">
-                        <span>{{ row.location }}</span>
-                    </template>
-                </el-table-column>
                 <el-table-column label="小区名称" align="center" prop="communityName">
                     <template slot-scope="{row}">
                         <span>{{ row.communityName }}</span>
                     </template>
                 </el-table-column>
-                <el-table-column label="评估单价" align="center" prop="price">
+                <el-table-column label="成交单价(元)" align="center" prop="price">
                     <template slot-scope="{row}">
-                        <span>{{ row.price }}</span>
+                        <span style="color: red;">{{ row.price }}</span>
                     </template>
                 </el-table-column>
-                <el-table-column label="评估面积" align="center" prop="acreage">
+                <el-table-column label="面积(m²)" align="center" prop="acreage">
                     <template slot-scope="{row}">
-                        <span>{{ row.acreage }}</span>
+                        <span style="color: red;">{{ row.acreage }}</span>
                     </template>
                 </el-table-column>
 
-                <el-table-column label="评估总价" align="center" prop="amount">
+                <el-table-column label="成交总价(万)" align="center" prop="amount">
                     <template slot-scope="{row}">
-                        <span>{{ row.amount }}</span>
+                        <span style="color: red;">{{ row.amount ? (row.amount / 10000).toFixed(2) + '万' : '-' }}</span>
                     </template>
                 </el-table-column>
                 <el-table-column label="区域" align="center" prop="areaName">
@@ -236,38 +234,32 @@
                 </el-table-column>
             </el-table>
             </div>
-            <div class="upData-class" v-show="activateTable=='up'">
-                <el-table ref="upTable" slot="table" size="medium" :data="dealData" border
-                    :row-key="getRowKeys" :height=maxHeight fit stripe highlight-current-row
+            <div style="width: 100%; overflow: auto;" v-show="activateTable=='up'">
+                <el-table ref="upTable" slot="table" size="medium" :data="enternalData.ups" border
                     :header-row-style="{ color: '#333333' }" style="
                     border-left: 1px solid #ebeced;
                     border-right: 1px solid #ebeced;
                     color: #333333; 
                     " 	>
-                <el-table-column label="坐落" align="center" prop="location">
-                    <template slot-scope="{row}">
-                        <span>{{ row.location }}</span>
-                    </template>
-                </el-table-column>
                 <el-table-column label="小区名称" align="center" prop="communityName">
                     <template slot-scope="{row}">
                         <span>{{ row.communityName }}</span>
                     </template>
                 </el-table-column>
-                <el-table-column label="评估单价" align="center" prop="price">
+                <el-table-column label="挂牌单价(元)" align="center" prop="price">
                     <template slot-scope="{row}">
-                        <span>{{ row.price }}</span>
+                        <span style="color: red;">{{ row.price }}</span>
                     </template>
                 </el-table-column>
-                <el-table-column label="评估面积" align="center" prop="acreage">
+                <el-table-column label="面积(m²)" align="center" prop="acreage">
                     <template slot-scope="{row}">
-                        <span>{{ row.acreage }}</span>
+                        <span style="color: red;">{{ row.acreage }}</span>
                     </template>
                 </el-table-column>
 
-                <el-table-column label="评估总价" align="center" prop="amount">
+                <el-table-column label="挂牌总价(万)" align="center" prop="amount">
                     <template slot-scope="{row}">
-                        <span>{{ row.amount }}</span>
+                        <span style="color: red;">{{ row.amount ? (row.amount / 10000).toFixed(2) + '万' : '-' }}</span>
                     </template>
                 </el-table-column>
                 <el-table-column label="区域" align="center" prop="areaName">
@@ -363,21 +355,26 @@ export default {
             select: 'location',
             queryParam:{
                 location:null,
-                acreage:null
+                limit:'一年内'
             },
-            dealData:[],
             activateTable:'deal',
             activeStyle:"width:50%;height:80px;background-color:#f1f4fd;",
             disActiveStyle:"width:50%;height:80px;",
-            dealPrice:12023,
-            timeParam:1,
-            acreageParam:1,
-            overAllParam:1,
-            dealAvgPrice:12300,
-            upPrice:16923,
-            limit:"一年内",
-            queryTarget:"成都市青羊区光华北一路527号7栋3单元8层805号",
-            qiYuDealSize:12
+            enternalData:{
+                dealPrice:null,
+                dealAvgPrice:null,
+                upPrice:null,
+                upAvgPrice:null,
+                timeParam:null,
+                acreageParam:null,
+                overAllParam:null,
+                limit:null,
+                queryTarget:null,
+                acreage:null,
+                deals:[],
+                ups:[]
+            }
+            
         }
     },
 
@@ -389,6 +386,28 @@ export default {
 
         clickCard(val){
             this.activateTable = val;
+        },
+        queryFacePrice(){
+            if (this.queryParam.location){
+                this.queryDyData();
+                this.queryEnternalData();
+            }else{
+                this.$message.error("口估地址或小区名字不能为空")
+            }
+        },
+        queryDyData(){
+            this.$api.personalFacePrice.queryDyData(this.queryParam).then(res=>{
+                if (res.code === 200){
+                    this.dyData = res.data;
+                }
+            })
+        },
+        queryEnternalData(){
+            this.$api.personalFacePrice.queryEnternalData(this.queryParam).then(res=>{
+                if (res.code === 200){
+                    this.enternalData = res.data;
+                }
+            })
         }
     },
 
@@ -423,4 +442,6 @@ export default {
 .actiateCard{
     background-color: #f1f4fd;
 }
+
+
 </style>