Commit e98c02bbc6b200d3f38ac4543552535bc475a0e4

Authored by 郭伟龙
1 parent 3ec10d9e
Exists in develop and in 1 other branch charge

fix:修改待开发用户池内容

api/organize.js
... ... @@ -2,7 +2,8 @@ const { http } = uni.$u
2 2 // 列表和条件筛选
3 3 export const getOrganizelist = params => http.get('/insight/organize/list', { params })
4 4  
5   -//居民用户
  5 +// 待开发用户池接口修改
  6 +/* //居民用户
6 7 export const getPoolResidentlist = params => http.get('/insight/poolResident/list', { params })
7 8  
8 9 //商业用户
... ... @@ -19,6 +20,25 @@ export const getPoolCommerceDetail = id => http.get('/insight/poolCommerce/'+id
19 20  
20 21 //工业用户详情
21 22 export const getPoolIndustryDetail = id => http.get('/insight/poolIndustry/'+id )
  23 + */
  24 +
  25 +//居民用户
  26 +export const getPoolResidentlist = params => http.get('/insight/poolResidentLedger/list', { params })
  27 +
  28 +//商业用户
  29 +export const getPoolCommercelist = params => http.get('/insight/poolIndustryAndCommerce/list', { params })
  30 +
  31 +//工业用户
  32 +export const getPoolCustomerRecoverylist = params => http.get('/insight/customerRecoveryProgress/list', { params })
  33 +
  34 +//居民用户详情
  35 +export const getPoolResidentDetail = id => http.get('/insight/poolResidentLedger/detail/'+id )
  36 +
  37 +//商业用户详情
  38 +export const getPoolCommerceDetail = id => http.get('/insight/poolIndustryAndCommerce/detail/'+id )
  39 +
  40 +//工业用户详情
  41 +export const getPoolCustomerRecovery = id => http.get('/insight/customerRecoveryProgress/detail/'+id )
22 42  
23 43 /*报告详情*/
24 44  
... ...
main.js
... ... @@ -10,9 +10,18 @@ import store from './store'
10 10  
11 11 import * as dd from 'dingtalk-jsapi'
12 12  
13   -import { dDingJudgeEnvPlatform } from 'utils/isDing.js'
  13 +import {
  14 + dDingJudgeEnvPlatform
  15 +} from 'utils/isDing.js'
14 16  
15   -import {DICT_TYPE, getDictDataLabel, getDictDatas, getDictDatas2} from "./utils/dict";
  17 +import dayjs from '@/uni_modules/uview-ui/libs/util/dayjs.js';
  18 +
  19 +import {
  20 + DICT_TYPE,
  21 + getDictDataLabel,
  22 + getDictDatas,
  23 + getDictDatas2
  24 +} from "./utils/dict";
16 25  
17 26 window.wx = {}
18 27  
... ... @@ -24,18 +33,19 @@ Vue.prototype.$store = store
24 33 Vue.prototype.getDictDatas = getDictDatas
25 34 Vue.prototype.getDictDatas2 = getDictDatas2
26 35 Vue.prototype.getDictDataLabel = getDictDataLabel
  36 +Vue.prototype.$dayjs = dayjs
27 37 Vue.prototype.DICT_TYPE = DICT_TYPE
28 38 Vue.prototype.$isDing = dDingJudgeEnvPlatform()
29 39  
30   -Vue.component('echarts',echarts)
  40 +Vue.component('echarts', echarts)
31 41  
32 42 App.mpType = 'app'
33 43  
34 44 Vue.use(uView)
35 45  
36 46 const app = new Vue({
37   - store,
38   - ...App
  47 + store,
  48 + ...App
39 49 })
40 50  
41 51 // 引入请求封装
... ...
pages/market/insight.vue
... ... @@ -38,8 +38,16 @@
38 38 </view> -->
39 39 </u-tabs>
40 40 </view>
41   - <u-search placeholder="搜索感兴趣的内容" v-model="keyword" :show-action="false" borderColor="rgb(230, 230, 230)"
  41 + <u-search :placeholder="searchTip" v-model="keyword" :show-action="false" borderColor="rgb(230, 230, 230)"
42 42 height="74rpx" bgColor="#F5F6FA" @search="search" @clear="clearInit"></u-search>
  43 + <view class="tagCss" v-if="current && !current2">
  44 + <view v-for="(item, index) in tagList" :key="index">
  45 + <u-tag :text="item.tagV" :class="index?'leftBorderCss':'rightBorderCss'" :plain="!item.checked" :name="index"
  46 + @click="tagClick">
  47 + </u-tag>
  48 + </view>
  49 + </view>
  50 +
43 51 </u-sticky>
44 52 <view class="listBodyCss"
45 53 :style="newList1.length || newList2.length ?{'background':'#f2f4f3'}:{'background':'#fff'}">
... ... @@ -72,15 +80,17 @@
72 80 <view class="top1 overflow-one-lines" v-if="current2 === 0"> {{item.householdName || ""}} </view>
73 81 <view class="top1 overflow-one-lines" v-else-if="current2 === 1"> {{item.householdName || ""}} </view>
74 82 <view class="top1 overflow-one-lines" v-else-if="current2 === 2"> {{item.contactPerson || ""}} </view>
75   - <view class="top2 overflow-one-lines"> 预算主体: {{item.budgetSubject || ""}}</view>
76   - <view class="top2 overflow-one-lines"> 联系方式: {{item.phoneNumber || ""}}</view>
  83 + <view class="top2 overflow-one-lines"> 区域: {{item.areaName || ""}}</view>
  84 + <view class="top2 overflow-one-lines"> 预算主体: {{item.entityName || ""}}</view>
77 85 <view class="top2 overflow-one-lines" v-if="current2 === 0">
78   - 详情地址:{{ item.city + item.street + item.communityName + item.floor+ '楼' + item.houseNumber + '号'}}
  86 + 详情地址:{{ item.address}}
79 87 </view>
80 88 <view class="top2 overflow-one-lines" v-else-if="current2 === 1">
81   - 详情地址: {{ item.city + item.street + item.houseNumber + '号'}}
  89 + 客户地址: {{ item.clientAddress}}
  90 + </view>
  91 + <view class="top2 overflow-one-lines" v-else-if="current2 === 2"> 流失时间:
  92 + {{$u.timeFormat(item.lossTime, 'yyyy年mm月dd日') || "" }}
82 93 </view>
83   - <view class="top2 overflow-one-lines" v-else-if="current2 === 2"> 详情地址: {{item.address}}</view>
84 94 </view>
85 95 </view>
86 96 <u-loadmore marginTop="50rpx" :status="status2" v-if="newList2.length > 0" />
... ... @@ -96,7 +106,7 @@
96 106 getOrganizelist,
97 107 getPoolResidentlist,
98 108 getPoolCommercelist,
99   - getPoolIndustrylist
  109 + getPoolCustomerRecoverylist
100 110 } from '@/api/organize.js'
101 111 export default {
102 112 components: {},
... ... @@ -138,10 +148,19 @@
138 148 tabList2: [{
139 149 name: '居民用户'
140 150 }, {
141   - name: '商业用户',
  151 + name: '商业用户',
142 152 }, {
143   - name: '工业用户'
  153 + name: '流失大客户'
144 154 }],
  155 + tagList: [{
  156 + tagV: '开发中小区',
  157 + checked: true
  158 + }, {
  159 + tagV: '未开发小区',
  160 + checked: false
  161 + }],
  162 + IFdevelop:"所有已开发,部分已开发",
  163 + searchTip:"搜索报告名称"
145 164 }
146 165 },
147 166 computed: {
... ... @@ -154,7 +173,6 @@
154 173 let allTotal = this.queryParameter.pageNum * this.queryParameter.pageSize
155 174 //待开发用户池
156 175 if (this.current) {
157   - console.log(222);
158 176 if (allTotal < this.total2) {
159 177 this.queryParameter.pageNum++;
160 178 this.status2 = 'loading';
... ... @@ -197,12 +215,6 @@
197 215 initData() {
198 216 this.updateList1();
199 217 },
200   - typeChange(i) {
201   - this.keyword = "";
202   - this.resetQuery();
203   - this.current = i;
204   - this.current ? this.updateList2() : this.updateList1();
205   - },
206 218 updateList1() {
207 219 let Params = {};
208 220 if (this.keyword) {
... ... @@ -236,9 +248,11 @@
236 248 updateList2() {
237 249 let Params = {};
238 250 if (this.current2 === 0) {
  251 + Params.statusName = this.IFdevelop;
239 252 if (this.keyword) {
240   - Params.householdName = this.keyword
  253 + Params.address = this.keyword
241 254 }
  255 + console.log("待开发用户池查询参数",Params);
242 256 getPoolResidentlist({
243 257 ...Params,
244 258 ...this.queryParameter
... ... @@ -255,7 +269,7 @@
255 269 })
256 270 } else if (this.current2 === 1) {
257 271 if (this.keyword) {
258   - Params.householdName = this.keyword
  272 + Params.clientAddress = this.keyword
259 273 }
260 274 getPoolCommercelist({
261 275 ...Params,
... ... @@ -273,9 +287,9 @@
273 287 })
274 288 } else if (this.current2 === 2) {
275 289 if (this.keyword) {
276   - Params.contactPerson = this.keyword
  290 + Params.custName = this.keyword
277 291 }
278   - getPoolIndustrylist({
  292 + getPoolCustomerRecoverylist({
279 293 ...Params,
280 294 ...this.queryParameter
281 295 }).then(res => {
... ... @@ -290,8 +304,8 @@
290 304 }
291 305 })
292 306 }
293   - this.checkTotal()
294 307 console.log("待开发", this.newList2);
  308 + this.checkTotal()
295 309 },
296 310 checkTotal() {
297 311 console.log("查询是否更多");
... ... @@ -313,6 +327,13 @@
313 327 this.keyword = ""
314 328 this.search()
315 329 },
  330 + typeChange(i) {
  331 + this.keyword = "";
  332 + this.resetQuery();
  333 + this.current = i;
  334 + this.searchTip = this.current ? '搜索市/区/县/乡/镇/街道':'搜索报告名称';
  335 + this.current ? this.updateList2() : this.updateList1();
  336 + },
316 337 tabChange1(e) {
317 338 console.log(e);
318 339 this.resetQuery()
... ... @@ -321,10 +342,29 @@
321 342 },
322 343 tabChange2(e) {
323 344 console.log(e);
324   - this.current2 = e.index
  345 + this.current2 = e.index;
  346 + this.keyword = "";
  347 + if(this.current2 === 0){
  348 + this.searchTip = "搜索市/区/县/乡/镇/街道"
  349 + }else if(this.current2 === 1){
  350 + this.searchTip = "搜索客户地址"
  351 + }else if(this.current2 === 2){
  352 + this.searchTip = "搜索客户名称"
  353 + }
325 354 this.resetQuery();
326 355 this.updateList2();
327 356 },
  357 + tagClick(name) {
  358 + this.tagList.map((item, index) => {
  359 + item.checked = index === name ? true : false
  360 + })
  361 + console.log(typeof name);
  362 + this.IFdevelop = name?'完全未开发':'所有已开发,部分已开发';
  363 + console.log(this.IFdevelop);
  364 + this.queryParameter.pageNum = 1;
  365 + this.newList2 = [];
  366 + this.updateList2();
  367 + },
328 368 openFiscalYearChoice() {
329 369 this.fiscalYearShow = true;
330 370 // this.fiscalYear = Number(new Date());
... ... @@ -433,6 +473,19 @@
433 473 background: #fff;
434 474 }
435 475  
  476 + .tagCss {
  477 + display: flex;
  478 + padding: 0rpx 0rpx 20rpx 34rpx;
  479 + }
  480 +
  481 + /deep/.leftBorderCss .u-tag {
  482 + border-radius: 0 30rpx 30rpx 0 !important;
  483 + }
  484 +
  485 + /deep/.rightBorderCss .u-tag {
  486 + border-radius: 30rpx 0 0 30rpx !important;
  487 + }
  488 +
436 489 /deep/.u-tabs__wrapper__nav__item {
437 490 padding: 0 5rpx;
438 491 }
... ...
pages/market/userDetails.vue
... ... @@ -11,33 +11,33 @@
11 11 <view class="" v-if="type == 0">
12 12 <view class="flexCss">
13 13 <view class="leftCss overflow-one-lines"> 区域 </view>
14   - <view class="rightCss overflow-one-lines"> {{allData.area || ""}} </view>
  14 + <view class="rightCss overflow-one-lines"> {{allData.areaName || ""}} </view>
15 15 </view>
16 16 <view class="flexCss">
17 17 <view class="leftCss overflow-one-lines"> 预算主体 </view>
18   - <view class="rightCss overflow-one-lines"> {{allData.budgetSubject || ""}} </view>
  18 + <view class="rightCss overflow-one-lines"> {{allData.entityName || ""}} </view>
19 19 </view>
20 20 <view class="flexCss">
21   - <view class="leftCss overflow-one-lines"> 身份证号 </view>
22   - <view class="rightCss overflow-one-lines"> {{allData.idNumber || ""}} </view>
  21 + <view class="leftCss overflow-one-lines"> 管理组织 </view>
  22 + <view class="rightCss overflow-one-lines"> {{allData.accountingName || ""}} </view>
23 23 </view>
24 24 <view class="flexCss">
25   - <view class="leftCss overflow-one-lines"> 房屋所在城市 </view>
26   - <view class="rightCss overflow-one-lines"> {{allData.city || ""}} </view>
  25 + <view class="leftCss overflow-one-lines"> 市/区/县/乡/镇/街道 </view>
  26 + <view class="rightCss overflow-one-lines"> {{allData.address || ""}} </view>
27 27 </view>
28 28 <view class="flexCss">
29   - <view class="leftCss overflow-one-lines"> 房屋所在街道 </view>
30   - <view class="rightCss overflow-one-lines"> {{allData.street || ""}} </view>
  29 + <view class="leftCss overflow-one-lines"> 行政村/社区 </view>
  30 + <view class="rightCss overflow-one-lines"> {{allData.administrativeVillage || ""}} </view>
31 31 </view>
32 32 <view class="flexCss">
33   - <view class="leftCss overflow-one-lines"> 房屋所在小区 </view>
34   - <view class="rightCss overflow-one-lines"> {{allData.communityName || ""}} </view>
  33 + <view class="leftCss overflow-one-lines"> 自然村/小区 </view>
  34 + <view class="rightCss overflow-one-lines"> {{allData.natureVillage || ""}} </view>
35 35 </view>
36 36 <view class="flexCss">
37   - <view class="leftCss overflow-one-lines"> 房屋所在楼层 </view>
38   - <view class="rightCss overflow-one-lines"> {{allData.floor || ""}} </view>
  37 + <view class="leftCss overflow-one-lines"> 状态 </view>
  38 + <view class="rightCss overflow-one-lines"> {{allData.statusName || ""}} </view>
39 39 </view>
40   - <view class="flexCss">
  40 + <!-- <view class="flexCss">
41 41 <view class="leftCss overflow-one-lines"> 房屋门牌号 </view>
42 42 <view class="rightCss overflow-one-lines"> {{allData.houseNumber || ""}} </view>
43 43 </view>
... ... @@ -52,19 +52,33 @@
52 52 <view class="flexCss">
53 53 <view class="leftCss overflow-one-lines"> 联系电话 </view>
54 54 <view class="rightCss overflow-one-lines"> {{allData.phoneNumber || ""}} </view>
55   - </view>
  55 + </view> -->
56 56 </view>
57 57 <!-- 商业基本信息 -->
58 58 <view class="" v-if="type == 1">
59 59 <view class="flexCss">
60 60 <view class="leftCss overflow-one-lines"> 区域 </view>
61   - <view class="rightCss overflow-one-lines"> {{allData.area || ""}} </view>
  61 + <view class="rightCss overflow-one-lines"> {{allData.areaName || ""}} </view>
62 62 </view>
63 63 <view class="flexCss">
64 64 <view class="leftCss overflow-one-lines"> 预算主体 </view>
65   - <view class="rightCss overflow-one-lines"> {{allData.budgetSubject || ""}} </view>
  65 + <view class="rightCss overflow-one-lines"> {{allData.entityName || ""}} </view>
  66 + </view>
  67 + <view class="flexCss">
  68 + <view class="leftCss overflow-one-lines"> 管理组织 </view>
  69 + <view class="rightCss overflow-one-lines"> {{allData.accountingName || ""}} </view>
  70 + </view>
  71 + <view class="flexCss">
  72 + <view class="leftCss overflow-one-lines"> 客户名称 </view>
  73 + <view class="rightCss overflow-one-lines"> {{allData.clientName || ""}} </view>
66 74 </view>
67 75 <view class="flexCss">
  76 + <view class="leftCss overflow-one-lines"> 状态 </view>
  77 + <view class="rightCss overflow-one-lines">
  78 + {{ getDictDataLabel(DICT_TYPE.SYS_POOL_INDUSTRY_AND_COMMERCE_STATUS, allData.status) || "" }}
  79 + </view>
  80 + </view>
  81 + <!-- <view class="flexCss">
68 82 <view class="leftCss overflow-one-lines"> 纳税人识别号 </view>
69 83 <view class="rightCss overflow-one-lines"> {{allData.taxpayerNumber || ""}} </view>
70 84 </view>
... ... @@ -91,157 +105,197 @@
91 105 <view class="flexCss">
92 106 <view class="leftCss overflow-one-lines"> 联系电话 </view>
93 107 <view class="rightCss overflow-one-lines"> {{allData.phoneNumber || ""}} </view>
94   - </view>
  108 + </view> -->
95 109 </view>
96 110 <!-- 工业基本信息 -->
97 111 <view class="" v-if="type == 2">
98 112 <view class="flexCss">
99 113 <view class="leftCss overflow-one-lines"> 区域 </view>
100   - <view class="rightCss overflow-one-lines"> {{allData.area || ""}} </view>
  114 + <view class="rightCss overflow-one-lines"> {{allData.areaName || ""}} </view>
101 115 </view>
102 116 <view class="flexCss">
103 117 <view class="leftCss overflow-one-lines"> 预算主体 </view>
104   - <view class="rightCss overflow-one-lines"> {{allData.budgetSubject || ""}} </view>
  118 + <view class="rightCss overflow-one-lines"> {{allData.entityName || ""}} </view>
105 119 </view>
106 120 <view class="flexCss">
107   - <view class="leftCss overflow-one-lines"> 统一社会信息代码 </view>
108   - <view class="rightCss overflow-one-lines"> {{allData.taxpayerNumber || ""}} </view>
  121 + <view class="leftCss overflow-one-lines"> 管理组织 </view>
  122 + <view class="rightCss overflow-one-lines"> {{allData.accountingName || ""}} </view>
109 123 </view>
110 124 <view class="flexCss">
111   - <view class="leftCss overflow-one-lines"> 地址 </view>
112   - <view class="rightCss overflow-one-lines"> {{allData.address || ""}} </view>
  125 + <view class="leftCss overflow-one-lines"> 客户编号(来源于CRM系统) </view>
  126 + <view class="rightCss overflow-one-lines"> {{allData.custNo || ""}} </view>
113 127 </view>
114 128 <view class="flexCss">
115   - <view class="leftCss overflow-one-lines"> 客户联系人 </view>
116   - <view class="rightCss overflow-one-lines"> {{allData.contactPerson || ""}} </view>
  129 + <view class="leftCss overflow-one-lines"> 客户名称 </view>
  130 + <view class="rightCss overflow-one-lines"> {{allData.custName || ""}} </view>
117 131 </view>
118 132 <view class="flexCss">
119   - <view class="leftCss overflow-one-lines"> 职务 </view>
120   - <view class="rightCss overflow-one-lines"> {{ getDictDataLabel(DICT_TYPE.SYS_INDUSTRY_DUTIES, allData.duties) || "" }} </view>
  133 + <view class="leftCss overflow-one-lines"> 行业分类 </view>
  134 + <view class="rightCss overflow-one-lines"> {{allData.industry || ""}} </view>
121 135 </view>
122 136 <view class="flexCss">
123   - <view class="leftCss overflow-one-lines"> 电话 </view>
124   - <view class="rightCss overflow-one-lines"> {{allData.phoneNumber || ""}} </view>
  137 + <view class="leftCss overflow-one-lines"> 用户状态 </view>
  138 + <view class="rightCss overflow-one-lines">
  139 + {{ getDictDataLabel(DICT_TYPE.SYS_CUSTOMER_RECOVERY_PROGRESS_STATUS, allData.status) || "" }}
  140 + </view>
125 141 </view>
126 142 </view>
127 143 </view>
128 144 <view class="housesCss">
129 145 <view class="titleCss" v-if="type == 0">
130   - 房屋信息
  146 + 居民信息
131 147 </view>
132 148 <view class="titleCss" v-else-if="type == 1">
133   - 场所信息
  149 + 工商业信息
134 150 </view>
135 151 <view class="titleCss" v-else-if="type == 2">
136   - 房屋信息
  152 + 大客户信息
137 153 </view>
138 154 <view class="" v-if="type == 0">
139 155 <view class="flexCss">
140   - <view class="leftCss overflow-one-lines"> 居住人口 </view>
141   - <view class="rightCss overflow-one-lines"> {{ getDictDataLabel(DICT_TYPE.SYS_LIVE_NO, allData.resideNumber) || "" }} </view>
  156 + <view class="leftCss overflow-one-lines"> 房屋产权类型 </view>
  157 + <view class="rightCss overflow-one-lines">
  158 + {{ getDictDataLabel(DICT_TYPE.SYS_HOUSE_TYPE, allData.houseType) || "" }}
  159 + </view>
142 160 </view>
143   - <view class="flexCss">
144   - <view class="leftCss overflow-one-lines"> 房屋户型 </view>
145   - <view class="rightCss overflow-one-lines"> {{allData.houseType || ""}} </view>
  161 + <view class="flexCss" v-if="allData.statusName !== '完全未开发'">
  162 + <view class="leftCss overflow-one-lines">市场类型 </view>
  163 + <view class="rightCss overflow-one-lines">
  164 + {{getDictDataLabel(DICT_TYPE.SYS_MARKET_TYPE, allData.marketType) || ""}}
  165 + </view>
146 166 </view>
147   - <view class="flexCss">
148   - <view class="leftCss overflow-one-lines"> 房屋面积 </view>
149   - <view class="rightCss overflow-one-lines"> {{allData.houseArea || ""}} </view>
  167 + <view class="flexCss" v-if="allData.statusName !== '完全未开发'">
  168 + <view class="leftCss overflow-one-lines"> 业务类型 </view>
  169 + <view class="rightCss overflow-one-lines">
  170 + {{getDictDataLabel(DICT_TYPE.SYS_BUSINESS_TYPE, allData.businessType) || ""}}
  171 + </view>
150 172 </view>
151   - <view class="flexCss">
152   - <view class="leftCss overflow-one-lines"> 房屋建设年限 </view>
153   - <view class="rightCss overflow-one-lines"> {{ getDictDataLabel(DICT_TYPE.SYS_BUILD_YEAR, allData.houseYear) || "" }} </view>
  173 + <view class="flexCss" v-if="allData.statusName !== '完全未开发'">
  174 + <view class="leftCss overflow-one-lines"> 签约方类型 </view>
  175 + <view class="rightCss overflow-one-lines">
  176 + {{ getDictDataLabel(DICT_TYPE.SYS_SIGN_TYPE, allData.signType) || "" }}
  177 + </view>
154 178 </view>
155   - <view class="flexCss">
156   - <view class="leftCss overflow-one-lines"> 房屋居住性质 </view>
157   - <view class="rightCss overflow-one-lines"> {{ getDictDataLabel(DICT_TYPE.SYS_HOUSE_NATURE, allData.houseNature) || "" }} </view>
  179 + <view class="flexCss" v-if="allData.statusName !== '完全未开发'">
  180 + <view class="leftCss overflow-one-lines"> 经营区域 </view>
  181 + <view class="rightCss overflow-one-lines">
  182 + {{ getDictDataLabel(DICT_TYPE.SYS_BUSINESS_AREA, allData.businessArea) || "" }}
  183 + </view>
158 184 </view>
159   - <view class="flexCss">
160   - <view class="leftCss overflow-one-lines"> 居住属性 </view>
161   - <view class="rightCss overflow-one-lines"> {{ getDictDataLabel(DICT_TYPE.SYS_LIVE_ATTRIBUTE, allData.resideAttribute) || "" }} </view>
  185 + <view class="flexCss" v-if="allData.statusName !== '完全未开发'">
  186 + <view class="leftCss overflow-one-lines"> 合同户数 </view>
  187 + <view class="rightCss overflow-one-lines"> {{ allData.signHousehold || 0 }} </view>
162 188 </view>
163   - <view class="flexCss">
164   - <view class="leftCss overflow-one-lines"> 房屋性质 </view>
165   - <view class="rightCss overflow-one-lines"> {{ getDictDataLabel(DICT_TYPE.SYS_HOUSE_ATTRIBUTE, allData.houseAttribute) || "" }} </view>
  189 + <view class="flexCss" v-if="allData.statusName !== '完全未开发'">
  190 + <view class="leftCss overflow-one-lines"> 财务确认户数 </view>
  191 + <view class="rightCss overflow-one-lines"> {{ allData.financeConfirm || 0 }} </view>
166 192 </view>
167   - <view class="flexCss">
168   - <view class="leftCss overflow-one-lines"> 房屋结构类型 </view>
169   - <view class="rightCss overflow-one-lines"> {{ getDictDataLabel(DICT_TYPE.SYS_HOUSE_STRUCTURE, allData.houseStructure) || "" }} </view>
  193 + <view class="flexCss" v-if="allData.statusName !== '完全未开发'">
  194 + <view class="leftCss overflow-one-lines"> 覆盖户数 </view>
  195 + <view class="rightCss overflow-one-lines"> {{ allData.coveredHousehold || 0}} </view>
170 196 </view>
171 197 <view class="flexCss">
172   - <view class="leftCss overflow-one-lines"> 所在房屋距离中压管道 </view>
173   - <view class="rightCss overflow-one-lines"> {{ getDictDataLabel(DICT_TYPE.SYS_DISTANCE, allData.distance) || "" }} </view>
  198 + <view class="leftCss overflow-one-lines"> 总户数 </view>
  199 + <view class="rightCss overflow-one-lines"> {{ allData.totalHousehold || 0 }} </view>
174 200 </view>
175   - <view class="flexCss">
176   - <view class="leftCss overflow-one-lines"> 所在房屋是否有物业 </view>
177   - <view class="rightCss overflow-one-lines"> {{allData.isExist?'是':'否'}} </view>
  201 + <view class="flexCss" v-if="allData.statusName !== '完全未开发'">
  202 + <view class="leftCss overflow-one-lines"> 回款状态/全款(户) </view>
  203 + <view class="rightCss overflow-one-lines"> {{allData.fullAmount || 0}} </view>
178 204 </view>
179   - <view class="flexCss">
180   - <view class="leftCss overflow-one-lines"> 房屋是否列入拆迁规划 </view>
181   - <view class="rightCss overflow-one-lines"> {{allData.isPlan?'是':'否'}} </view>
  205 + <view class="flexCss" v-if="allData.statusName !== '完全未开发'">
  206 + <view class="leftCss overflow-one-lines"> 回款状态/分期(户) </view>
  207 + <view class="rightCss overflow-one-lines"> {{allData.byStages || 0}} </view>
  208 + </view>
  209 + <view class="flexCss" v-if="allData.statusName !== '完全未开发'">
  210 + <view class="leftCss overflow-one-lines"> 回款状态/未回款(户) </view>
  211 + <view class="rightCss overflow-one-lines"> {{allData.unpaid || 0}} </view>
  212 + </view>
  213 + <view class="flexCss" v-if="allData.statusName !== '完全未开发'">
  214 + <view class="leftCss overflow-one-lines"> 实际进场(户) </view>
  215 + <view class="rightCss overflow-one-lines"> {{allData.actual || 0}} </view>
  216 + </view>
  217 + <view class="flexCss" v-if="allData.statusName !== '完全未开发'">
  218 + <view class="leftCss overflow-one-lines"> 不具备安装条件户数(户) </view>
  219 + <view class="rightCss overflow-one-lines"> {{allData.noInstallCondition || 0}} </view>
182 220 </view>
183 221 <view class="flexCss">
184   - <view class="leftCss overflow-one-lines"> 水/电表是否一户一表 </view>
185   - <view class="rightCss overflow-one-lines"> {{allData.isSingleMeter?'是':'否'}} </view>
  222 + <view class="leftCss overflow-one-lines"> 具备双覆盖安装条件(户) </view>
  223 + <view class="rightCss overflow-one-lines"> {{allData.installCondition || 0}} </view>
  224 + </view>
  225 + <view class="flexCss" v-if="allData.statusName !== '完全未开发'">
  226 + <view class="leftCss overflow-one-lines"> 通气到表前户数 </view>
  227 + <view class="rightCss overflow-one-lines"> {{allData.ventilation || 0}} </view>
  228 + </view>
  229 + <view class="flexCss" v-if="allData.statusName !== '完全未开发'">
  230 + <view class="leftCss overflow-one-lines"> 实际点火户数 </view>
  231 + <view class="rightCss overflow-one-lines"> {{allData.actualFire || 0}} </view>
186 232 </view>
187 233 <view class="flexCss">
188   - <view class="leftCss overflow-one-lines"> 是否独立厨房 </view>
189   - <view class="rightCss overflow-one-lines"> {{allData.isSingleKitchen?'是':'否'}} </view>
  234 + <view class="leftCss"> 已纳入老旧管网改造户数(户) </view>
  235 + <view class="rightCss"> {{allData.intoRemodel || 0}} </view>
190 236 </view>
191 237 <view class="flexCss">
192   - <view class="leftCss overflow-one-lines"> 是否集中供暖 </view>
193   - <view class="rightCss overflow-one-lines"> {{allData.isHeating?'是':'否'}} </view>
  238 + <view class="leftCss "> 距现有中压管网距离(公里) </view>
  239 + <view class="rightCss overflow-one-lines"> {{allData.distance || 0}} </view>
194 240 </view>
195 241 <view class="flexCss">
196   - <view class="leftCss overflow-one-lines"> 楼前立管是否安装 </view>
197   - <view class="rightCss overflow-one-lines"> {{allData.isInstall?'是':'否'}} </view>
  242 + <view class="leftCss overflow-one-lines"> {{$dayjs().format('YYYY') + '年财务确认安装户数'}} </view>
  243 + <view class="rightCss overflow-one-lines"> {{ allData.currentConfirm || 0}} </view>
198 244 </view>
199 245 <view class="flexCss">
200   - <view class="leftCss overflow-one-lines"> 现使用能源 </view>
201   - <view class="rightCss overflow-one-lines"> {{allData.currentEnergy?'是':'否'}} </view>
  246 + <view class="leftCss overflow-one-lines"> {{$dayjs().add(1, 'year').format('YYYY') + '年财务确认安装户数'}} </view>
  247 + <view class="rightCss overflow-one-lines"> {{ allData.afterConfirm || 0}} </view>
202 248 </view>
203 249 <view class="flexCss">
204   - <view class="leftCss overflow-one-lines"> 现使用能源价格(元) </view>
205   - <view class="rightCss overflow-one-lines"> {{allData.currentPrice || ""}} </view>
  250 + <view class="leftCss overflow-one-lines"> {{$dayjs().add(2, 'year').format('YYYY') + '年财务确认安装户数'}} </view>
  251 + <view class="rightCss overflow-one-lines"> {{ allData.lastConfirm || 0}} </view>
206 252 </view>
  253 + </view>
  254 + <view class="" v-if="type == 1">
207 255 <view class="flexCss">
208   - <view class="leftCss overflow-one-lines"> 用户报装意愿 </view>
209   - <view class="rightCss overflow-one-lines"> {{ getDictDataLabel(DICT_TYPE.SYS_INSTALL_INCLINATE, allData.inclinate) || "" }} </view>
  256 + <view class="leftCss overflow-one-lines"> 纳税人识别号 </view>
  257 + <view class="rightCss overflow-one-lines"> {{allData.taxpayerNumber || ""}} </view>
210 258 </view>
211 259 <view class="flexCss">
212   - <view class="leftCss overflow-one-lines"> 不报装原因 </view>
213   - <view class="rightCss overflow-one-lines"> {{allData.reason || ""}} </view>
  260 + <view class="leftCss overflow-one-lines"> 客户地址 </view>
  261 + <view class="rightCss overflow-one-lines"> {{allData.clientAddress || ""}} </view>
214 262 </view>
215 263 <view class="flexCss">
216   - <view class="leftCss overflow-one-lines"> 创建时间 </view>
217   - <!-- {{$u.timeFormat(timestamp, 'yyyy年mm月dd日')}} -->
218   - <view class="rightCss overflow-one-lines"> {{ $u.timeFormat(allData.sysCtime, 'yyyy年mm月dd日 hh:MM:ss') || ""}} </view>
  264 + <view class="leftCss overflow-one-lines"> 客户性质 </view>
  265 + <view class="rightCss overflow-one-lines">
  266 + {{ getDictDataLabel(DICT_TYPE.SYS_CLIENT_QUALITY, allData.clientQuality) || "" }}
  267 + </view>
219 268 </view>
220   - </view>
221   - <view class="" v-if="type == 1">
222 269 <view class="flexCss">
223   - <view class="leftCss overflow-one-lines"> 场所面积 </view>
224   - <view class="rightCss overflow-one-lines"> {{allData.houseArea || ""}} </view>
  270 + <view class="leftCss overflow-one-lines"> 所属行业 </view>
  271 + <view class="rightCss overflow-one-lines"> {{allData.industry || ""}} </view>
225 272 </view>
226 273 <view class="flexCss">
227   - <view class="leftCss overflow-one-lines"> 经营范围 </view>
228   - <view class="rightCss overflow-one-lines"> {{ getDictDataLabel(DICT_TYPE.SYS_BUSINESS_SCOPE, allData.businessScope) || "" }} </view>
  274 + <view class="leftCss overflow-one-lines"> 预测日用气量(方/日) </view>
  275 + <view class="rightCss overflow-one-lines"> {{allData.predictDay || ""}} </view>
229 276 </view>
230 277 <view class="flexCss">
231   - <view class="leftCss overflow-one-lines"> 所在场所房屋性质 </view>
232   - <view class="rightCss overflow-one-lines"> {{ getDictDataLabel(DICT_TYPE.SYS_HOUSE_NATURE, allData.houseNature) || "" }} </view>
  278 + <view class="leftCss overflow-one-lines"> 预测年用气量(方/年) </view>
  279 + <view class="rightCss overflow-one-lines"> {{allData.predictYear || ""}} </view>
233 280 </view>
234 281 <view class="flexCss">
  282 + <view class="leftCss overflow-one-lines"> 预计安装财年 </view>
  283 + <view class="rightCss overflow-one-lines"> {{allData.predictInstall || ""}} </view>
  284 + </view>
  285 + <!-- <view class="flexCss">
235 286 <view class="leftCss overflow-one-lines"> 所在场所房屋类型 </view>
236   - <view class="rightCss overflow-one-lines"> {{ getDictDataLabel(DICT_TYPE.SYS_COMMERCE_ATTRIBUTE, allData.houseAttribute) || "" }} </view>
  287 + <view class="rightCss overflow-one-lines">
  288 + {{ getDictDataLabel(DICT_TYPE.SYS_COMMERCE_ATTRIBUTE, allData.houseAttribute) || "" }} </view>
237 289 </view>
238 290 <view class="flexCss">
239 291 <view class="leftCss overflow-one-lines"> 所在场所房屋结构类型 </view>
240   - <view class="rightCss overflow-one-lines"> {{ getDictDataLabel(DICT_TYPE.SYS_HOUSE_STRUCTURE, allData.houseStructure) || "" }} </view>
  292 + <view class="rightCss overflow-one-lines">
  293 + {{ getDictDataLabel(DICT_TYPE.SYS_HOUSE_STRUCTURE, allData.houseStructure) || "" }} </view>
241 294 </view>
242 295 <view class="flexCss">
243 296 <view class="leftCss overflow-one-lines"> 所在场所房屋建设年限 </view>
244   - <view class="rightCss overflow-one-lines"> {{ getDictDataLabel(DICT_TYPE.SYS_BUILD_YEAR, allData.houseYear) || "" }} </view>
  297 + <view class="rightCss overflow-one-lines">
  298 + {{ getDictDataLabel(DICT_TYPE.SYS_BUILD_YEAR, allData.houseYear) || "" }} </view>
245 299 </view>
246 300 <view class="flexCss">
247 301 <view class="leftCss overflow-one-lines"> 所在房屋是否列入拆迁规划 </view>
... ... @@ -273,11 +327,13 @@
273 327 </view>
274 328 <view class="flexCss">
275 329 <view class="leftCss overflow-one-lines"> 预计签约日期 </view>
276   - <view class="rightCss overflow-one-lines"> {{$u.timeFormat(allData.predictSign, 'yyyy年mm月dd日 hh:MM:ss') || ""}} </view>
  330 + <view class="rightCss overflow-one-lines">
  331 + {{$u.timeFormat(allData.predictSign, 'yyyy年mm月dd日 hh:MM:ss') || ""}} </view>
277 332 </view>
278 333 <view class="flexCss">
279 334 <view class="leftCss overflow-one-lines"> 预计安装日期 </view>
280   - <view class="rightCss overflow-one-lines"> {{$u.timeFormat(allData.predictInstall, 'yyyy年mm月dd日 hh:MM:ss') || ""}} </view>
  335 + <view class="rightCss overflow-one-lines">
  336 + {{$u.timeFormat(allData.predictInstall, 'yyyy年mm月dd日 hh:MM:ss') || ""}} </view>
281 337 </view>
282 338 <view class="flexCss">
283 339 <view class="leftCss overflow-one-lines"> 预计日用气量 </view>
... ... @@ -285,64 +341,41 @@
285 341 </view>
286 342 <view class="flexCss">
287 343 <view class="leftCss overflow-one-lines"> 更新时间 </view>
288   - <view class="rightCss overflow-one-lines"> {{$u.timeFormat(allData.sysCtime, 'yyyy年mm月dd日 hh:MM:ss') || ""}} </view>
289   - </view>
  344 + <view class="rightCss overflow-one-lines"> {{$u.timeFormat(allData.sysCtime, 'yyyy年mm月dd日 hh:MM:ss') || ""}}
  345 + </view>
  346 + </view> -->
290 347 </view>
291 348 <view class="" v-if="type == 2">
292   - <view class="flexCss">
293   - <view class="leftCss overflow-one-lines"> 是否已供气 </view>
294   - <view class="rightCss overflow-one-lines"> {{allData.isProvide?'是':'否'}} </view>
295   - </view>
296   - <view class="flexCss">
297   - <view class="leftCss overflow-one-lines"> 商业状态 </view>
298   - <view class="rightCss overflow-one-lines"> {{ getDictDataLabel(DICT_TYPE.SYS_COMMERCIAL_STATUS, allData.commercialStatus) || "" }} </view>
299   - </view>
300   - <view class="flexCss">
301   - <view class="leftCss overflow-one-lines"> 项目类别 </view>
302   - <view class="rightCss overflow-one-lines"> {{ getDictDataLabel(DICT_TYPE.SYS_PROJECT_TYPE, allData.projectType) || "" }} </view>
303   - </view>
304   - <view class="flexCss">
305   - <view class="leftCss overflow-one-lines"> 行业分类 </view>
306   - <view class="rightCss overflow-one-lines"> {{allData.industryType || ""}} </view>
307   - </view>
308   - <view class="flexCss">
309   - <view class="leftCss overflow-one-lines"> 最近管道距离 </view>
310   - <view class="rightCss overflow-one-lines"> {{ getDictDataLabel(DICT_TYPE.SYS_DISTANCE, allData.distance) || "" }} </view>
311   - </view>
312   - <view class="flexCss">
313   - <view class="leftCss overflow-one-lines"> 预计最大开口气量 </view>
314   - <view class="rightCss overflow-one-lines"> {{allData.predictMax || ""}} </view>
315   - </view>
316   - <view class="flexCss">
317   - <view class="leftCss overflow-one-lines"> 预计签约日期 </view>
318   - <view class="rightCss overflow-one-lines"> {{$u.timeFormat(allData.predictSign, 'yyyy年mm月dd日 hh:MM:ss') || ""}} </view>
319   - </view>
320   - <view class="flexCss">
321   - <view class="leftCss overflow-one-lines"> 预计安装日期 </view>
322   - <view class="rightCss overflow-one-lines"> {{$u.timeFormat(allData.predictInstall, 'yyyy年mm月dd日 hh:MM:ss') || ""}} </view>
323   - </view>
324   - <view class="flexCss">
325   - <view class="leftCss overflow-one-lines"> 预计日用气量 </view>
326   - <view class="rightCss overflow-one-lines"> {{allData.predictUse || ""}} </view>
327   - </view>
328   - <view class="flexCss">
329   - <view class="leftCss overflow-one-lines"> 耗能设备名称 </view>
330   - <view class="rightCss overflow-one-lines"> {{ getDictDataLabel(DICT_TYPE.SYS_MACHINE_NAME, allData.machineName) || "" }} </view>
331   - </view>
332   - <view class="flexCss">
333   - <view class="leftCss overflow-one-lines"> 耗能设备型号 </view>
334   - <view class="rightCss overflow-one-lines"> {{allData.machineModel || ""}} </view>
335   - </view>
336   - <view class="flexCss">
337   - <view class="leftCss overflow-one-lines"> 用能类型 </view>
338   - <view class="rightCss overflow-one-lines"> {{ getDictDataLabel(DICT_TYPE.SYS_INDUSTRY_TYPE, allData.userType) || "" }} </view>
339   - </view>
340   - <view class="flexCss">
341   - <view class="leftCss overflow-one-lines"> 更新时间 </view>
342   - <view class="rightCss overflow-one-lines"> {{$u.timeFormat(allData.sysCtime, 'yyyy年mm月dd日 hh:MM:ss') || ""}} </view>
  349 + <view class="flexCss">
  350 + <view class="leftCss overflow-one-lines"> 年度用气量(万m³) </view>
  351 + <view class="rightCss overflow-one-lines"> {{allData.yearConsumption || ""}} </view>
  352 + </view>
  353 + <view class="flexCss">
  354 + <view class="leftCss overflow-one-lines"> 流失时间 </view>
  355 + <view class="rightCss overflow-one-lines"> {{$u.timeFormat(allData.lossTime, 'yyyy年mm月dd日') || ""}} </view>
  356 + </view>
  357 + <view class="flexCss">
  358 + <view class="leftCss overflow-one-lines"> 流失原因 </view>
  359 + <view class="rightCss overflow-one-lines"> {{allData.lossReason || ""}} </view>
  360 + </view>
  361 + <view class="flexCss">
  362 + <view class="leftCss overflow-one-lines"> 计划追回时间 </view>
  363 + <view class="rightCss overflow-one-lines"> {{$u.timeFormat(allData.recoverTime, 'yyyy年mm月dd日') || ""}}
343 364 </view>
  365 + </view>
  366 + <view class="flexCss">
  367 + <view class="leftCss overflow-one-lines"> 工作计划 </view>
  368 + <view class="rightCss overflow-one-lines"> {{allData.workPlan || ""}} </view>
  369 + </view>
  370 + <view class="flexCss">
  371 + <view class="leftCss overflow-one-lines"> 完成情况更新 </view>
  372 + <view class="rightCss overflow-one-lines"> {{allData.completion || ""}} </view>
  373 + </view>
  374 + <view class="flexCss">
  375 + <view class="leftCss overflow-one-lines"> 备注 </view>
  376 + <view class="rightCss overflow-one-lines"> {{allData.remark || ""}} </view>
  377 + </view>
344 378 </view>
345   -
346 379 </view>
347 380 </view>
348 381  
... ... @@ -354,7 +387,7 @@
354 387 import {
355 388 getPoolResidentDetail,
356 389 getPoolCommerceDetail,
357   - getPoolIndustryDetail,
  390 + getPoolCustomerRecovery,
358 391 } from '@/api/organize.js'
359 392 export default {
360 393 components: {},
... ... @@ -364,9 +397,9 @@
364 397 data() {
365 398 return {
366 399 type: null,
367   - allData:{},
  400 + allData: {},
368 401 title: "",
369   - id:"",
  402 + id: "",
370 403 }
371 404 },
372 405 computed: {
... ... @@ -378,22 +411,22 @@
378 411 this.id = data.id;
379 412 }
380 413 this.initData()
381   - console.log(this.type,this.id);
  414 + console.log(this.type, this.id);
382 415 },
383 416 methods: {
384 417 initData() {
385   - const titleArr = ['居民用户详情', '商业用户详情', '工业用户详情']
  418 + const titleArr = ['居民用户详情', '工商业用户详情', '流失大客户详情']
386 419 this.title = titleArr[this.type]
387   - if(this.type === '0'){
388   - getPoolResidentDetail(this.id).then((res) =>{
  420 + if (this.type === '0') {
  421 + getPoolResidentDetail(this.id).then((res) => {
389 422 this.allData = res.data;
390 423 })
391   - }else if(this.type === '1'){
392   - getPoolCommerceDetail(this.id).then((res) =>{
  424 + } else if (this.type === '1') {
  425 + getPoolCommerceDetail(this.id).then((res) => {
393 426 this.allData = res.data;
394 427 })
395   - }else if(this.type === '2'){
396   - getPoolIndustryDetail(this.id).then((res) =>{
  428 + } else if (this.type === '2') {
  429 + getPoolCustomerRecovery(this.id).then((res) => {
397 430 this.allData = res.data;
398 431 })
399 432 }
... ... @@ -433,7 +466,7 @@
433 466 }
434 467  
435 468 .leftCss {
436   - width: 50%;
  469 + width: 58%;
437 470 margin: 32rpx 0rpx;
438 471 background-color: rgba(255, 255, 255, 0);
439 472 box-sizing: border-box;
... ... @@ -447,7 +480,7 @@
447 480 .rightCss {
448 481 display: flex;
449 482 justify-content: flex-end;
450   - width: 50%;
  483 + width: 42%;
451 484 margin: 32rpx 0rpx;
452 485 background-color: rgba(255, 255, 255, 0);
453 486 box-sizing: border-box;
... ...
utils/dict.js
... ... @@ -29,6 +29,15 @@ export const DICT_TYPE = {
29 29 SYS_PROJECT_TYPE:'sys_project_type', //项目类别
30 30 SYS_KEYWORD:'sys_keyword', //市场咨询关键词
31 31 SYS_PUBLISH_STATUS:'sys_publish_status', //资讯状态
  32 + SYS_HOUSE_TYPE:'sys_house_type', // 房屋产权类型
  33 + SYS_MARKET_TYPE:'sys_market_type', // 市场类型
  34 + SYS_BUSINESS_TYPE:'sys_business_type', // 业务类型
  35 + SYS_SIGN_TYPE:'sys_sign_type', // 签约方类型
  36 + SYS_BUSINESS_AREA:'sys_business_area', // 经营区域
  37 + SYS_POOL_INDUSTRY_AND_COMMERCE_STATUS:'sys_pool_industry_and_commerce_status', // 状态
  38 + SYS_CLIENT_QUALITY:'sys_client_quality', // 客户性质
  39 + SYS_CUSTOMER_RECOVERY_PROGRESS_STATUS:'sys_customer_recovery_progress_status', // (大客户)用户状态
  40 +
32 41 }
33 42  
34 43 /**
... ...