diff --git a/api/organize.js b/api/organize.js
index ef57168..746341b 100644
--- a/api/organize.js
+++ b/api/organize.js
@@ -2,7 +2,8 @@ const { http } = uni.$u
// 列表和条件筛选
export const getOrganizelist = params => http.get('/insight/organize/list', { params })
-//居民用户
+// 待开发用户池接口修改
+/* //居民用户
export const getPoolResidentlist = params => http.get('/insight/poolResident/list', { params })
//商业用户
@@ -19,6 +20,25 @@ export const getPoolCommerceDetail = id => http.get('/insight/poolCommerce/'+id
//工业用户详情
export const getPoolIndustryDetail = id => http.get('/insight/poolIndustry/'+id )
+ */
+
+//居民用户
+export const getPoolResidentlist = params => http.get('/insight/poolResidentLedger/list', { params })
+
+//商业用户
+export const getPoolCommercelist = params => http.get('/insight/poolIndustryAndCommerce/list', { params })
+
+//工业用户
+export const getPoolCustomerRecoverylist = params => http.get('/insight/customerRecoveryProgress/list', { params })
+
+//居民用户详情
+export const getPoolResidentDetail = id => http.get('/insight/poolResidentLedger/detail/'+id )
+
+//商业用户详情
+export const getPoolCommerceDetail = id => http.get('/insight/poolIndustryAndCommerce/detail/'+id )
+
+//工业用户详情
+export const getPoolCustomerRecovery = id => http.get('/insight/customerRecoveryProgress/detail/'+id )
/*报告详情*/
diff --git a/main.js b/main.js
index c4bbc5d..6886c00 100644
--- a/main.js
+++ b/main.js
@@ -10,9 +10,18 @@ import store from './store'
import * as dd from 'dingtalk-jsapi'
-import { dDingJudgeEnvPlatform } from 'utils/isDing.js'
+import {
+ dDingJudgeEnvPlatform
+} from 'utils/isDing.js'
-import {DICT_TYPE, getDictDataLabel, getDictDatas, getDictDatas2} from "./utils/dict";
+import dayjs from '@/uni_modules/uview-ui/libs/util/dayjs.js';
+
+import {
+ DICT_TYPE,
+ getDictDataLabel,
+ getDictDatas,
+ getDictDatas2
+} from "./utils/dict";
window.wx = {}
@@ -24,18 +33,19 @@ Vue.prototype.$store = store
Vue.prototype.getDictDatas = getDictDatas
Vue.prototype.getDictDatas2 = getDictDatas2
Vue.prototype.getDictDataLabel = getDictDataLabel
+Vue.prototype.$dayjs = dayjs
Vue.prototype.DICT_TYPE = DICT_TYPE
Vue.prototype.$isDing = dDingJudgeEnvPlatform()
-Vue.component('echarts',echarts)
+Vue.component('echarts', echarts)
App.mpType = 'app'
Vue.use(uView)
const app = new Vue({
- store,
- ...App
+ store,
+ ...App
})
// 引入请求封装
diff --git a/pages/market/insight.vue b/pages/market/insight.vue
index a68b7a9..90ff8cd 100644
--- a/pages/market/insight.vue
+++ b/pages/market/insight.vue
@@ -38,8 +38,16 @@
-->
-
+
+
+
+
+
+
+
@@ -72,15 +80,17 @@
{{item.householdName || ""}}
{{item.householdName || ""}}
{{item.contactPerson || ""}}
- 预算主体: {{item.budgetSubject || ""}}
- 联系方式: {{item.phoneNumber || ""}}
+ 区域: {{item.areaName || ""}}
+ 预算主体: {{item.entityName || ""}}
- 详情地址:{{ item.city + item.street + item.communityName + item.floor+ '楼' + item.houseNumber + '号'}}
+ 详情地址:{{ item.address}}
- 详情地址: {{ item.city + item.street + item.houseNumber + '号'}}
+ 客户地址: {{ item.clientAddress}}
+
+ 流失时间:
+ {{$u.timeFormat(item.lossTime, 'yyyy年mm月dd日') || "" }}
- 详情地址: {{item.address}}
@@ -96,7 +106,7 @@
getOrganizelist,
getPoolResidentlist,
getPoolCommercelist,
- getPoolIndustrylist
+ getPoolCustomerRecoverylist
} from '@/api/organize.js'
export default {
components: {},
@@ -138,10 +148,19 @@
tabList2: [{
name: '居民用户'
}, {
- name: '商业用户',
+ name: '工商业用户',
}, {
- name: '工业用户'
+ name: '流失大客户'
}],
+ tagList: [{
+ tagV: '开发中小区',
+ checked: true
+ }, {
+ tagV: '未开发小区',
+ checked: false
+ }],
+ IFdevelop:"所有已开发,部分已开发",
+ searchTip:"搜索报告名称"
}
},
computed: {
@@ -154,7 +173,6 @@
let allTotal = this.queryParameter.pageNum * this.queryParameter.pageSize
//待开发用户池
if (this.current) {
- console.log(222);
if (allTotal < this.total2) {
this.queryParameter.pageNum++;
this.status2 = 'loading';
@@ -197,12 +215,6 @@
initData() {
this.updateList1();
},
- typeChange(i) {
- this.keyword = "";
- this.resetQuery();
- this.current = i;
- this.current ? this.updateList2() : this.updateList1();
- },
updateList1() {
let Params = {};
if (this.keyword) {
@@ -236,9 +248,11 @@
updateList2() {
let Params = {};
if (this.current2 === 0) {
+ Params.statusName = this.IFdevelop;
if (this.keyword) {
- Params.householdName = this.keyword
+ Params.address = this.keyword
}
+ console.log("待开发用户池查询参数",Params);
getPoolResidentlist({
...Params,
...this.queryParameter
@@ -255,7 +269,7 @@
})
} else if (this.current2 === 1) {
if (this.keyword) {
- Params.householdName = this.keyword
+ Params.clientAddress = this.keyword
}
getPoolCommercelist({
...Params,
@@ -273,9 +287,9 @@
})
} else if (this.current2 === 2) {
if (this.keyword) {
- Params.contactPerson = this.keyword
+ Params.custName = this.keyword
}
- getPoolIndustrylist({
+ getPoolCustomerRecoverylist({
...Params,
...this.queryParameter
}).then(res => {
@@ -290,8 +304,8 @@
}
})
}
- this.checkTotal()
console.log("待开发", this.newList2);
+ this.checkTotal()
},
checkTotal() {
console.log("查询是否更多");
@@ -313,6 +327,13 @@
this.keyword = ""
this.search()
},
+ typeChange(i) {
+ this.keyword = "";
+ this.resetQuery();
+ this.current = i;
+ this.searchTip = this.current ? '搜索市/区/县/乡/镇/街道':'搜索报告名称';
+ this.current ? this.updateList2() : this.updateList1();
+ },
tabChange1(e) {
console.log(e);
this.resetQuery()
@@ -321,10 +342,29 @@
},
tabChange2(e) {
console.log(e);
- this.current2 = e.index
+ this.current2 = e.index;
+ this.keyword = "";
+ if(this.current2 === 0){
+ this.searchTip = "搜索市/区/县/乡/镇/街道"
+ }else if(this.current2 === 1){
+ this.searchTip = "搜索客户地址"
+ }else if(this.current2 === 2){
+ this.searchTip = "搜索客户名称"
+ }
this.resetQuery();
this.updateList2();
},
+ tagClick(name) {
+ this.tagList.map((item, index) => {
+ item.checked = index === name ? true : false
+ })
+ console.log(typeof name);
+ this.IFdevelop = name?'完全未开发':'所有已开发,部分已开发';
+ console.log(this.IFdevelop);
+ this.queryParameter.pageNum = 1;
+ this.newList2 = [];
+ this.updateList2();
+ },
openFiscalYearChoice() {
this.fiscalYearShow = true;
// this.fiscalYear = Number(new Date());
@@ -433,6 +473,19 @@
background: #fff;
}
+ .tagCss {
+ display: flex;
+ padding: 0rpx 0rpx 20rpx 34rpx;
+ }
+
+ /deep/.leftBorderCss .u-tag {
+ border-radius: 0 30rpx 30rpx 0 !important;
+ }
+
+ /deep/.rightBorderCss .u-tag {
+ border-radius: 30rpx 0 0 30rpx !important;
+ }
+
/deep/.u-tabs__wrapper__nav__item {
padding: 0 5rpx;
}
diff --git a/pages/market/userDetails.vue b/pages/market/userDetails.vue
index 409340c..b62aa13 100644
--- a/pages/market/userDetails.vue
+++ b/pages/market/userDetails.vue
@@ -11,33 +11,33 @@
区域
- {{allData.area || ""}}
+ {{allData.areaName || ""}}
预算主体
- {{allData.budgetSubject || ""}}
+ {{allData.entityName || ""}}
- 身份证号
- {{allData.idNumber || ""}}
+ 管理组织
+ {{allData.accountingName || ""}}
- 房屋所在城市
- {{allData.city || ""}}
+ 市/区/县/乡/镇/街道
+ {{allData.address || ""}}
- 房屋所在街道
- {{allData.street || ""}}
+ 行政村/社区
+ {{allData.administrativeVillage || ""}}
- 房屋所在小区
- {{allData.communityName || ""}}
+ 自然村/小区
+ {{allData.natureVillage || ""}}
- 房屋所在楼层
- {{allData.floor || ""}}
+ 状态
+ {{allData.statusName || ""}}
-
+
区域
- {{allData.area || ""}}
+ {{allData.areaName || ""}}
预算主体
- {{allData.budgetSubject || ""}}
+ {{allData.entityName || ""}}
+
+
+ 管理组织
+ {{allData.accountingName || ""}}
+
+
+ 客户名称
+ {{allData.clientName || ""}}
+ 状态
+
+ {{ getDictDataLabel(DICT_TYPE.SYS_POOL_INDUSTRY_AND_COMMERCE_STATUS, allData.status) || "" }}
+
+
+
区域
- {{allData.area || ""}}
+ {{allData.areaName || ""}}
预算主体
- {{allData.budgetSubject || ""}}
+ {{allData.entityName || ""}}
- 统一社会信息代码
- {{allData.taxpayerNumber || ""}}
+ 管理组织
+ {{allData.accountingName || ""}}
- 地址
- {{allData.address || ""}}
+ 客户编号(来源于CRM系统)
+ {{allData.custNo || ""}}
- 客户联系人
- {{allData.contactPerson || ""}}
+ 客户名称
+ {{allData.custName || ""}}
- 职务
- {{ getDictDataLabel(DICT_TYPE.SYS_INDUSTRY_DUTIES, allData.duties) || "" }}
+ 行业分类
+ {{allData.industry || ""}}
- 电话
- {{allData.phoneNumber || ""}}
+ 用户状态
+
+ {{ getDictDataLabel(DICT_TYPE.SYS_CUSTOMER_RECOVERY_PROGRESS_STATUS, allData.status) || "" }}
+
- 房屋信息
+ 居民信息
- 场所信息
+ 工商业信息
- 房屋信息
+ 大客户信息
- 居住人口
- {{ getDictDataLabel(DICT_TYPE.SYS_LIVE_NO, allData.resideNumber) || "" }}
+ 房屋产权类型
+
+ {{ getDictDataLabel(DICT_TYPE.SYS_HOUSE_TYPE, allData.houseType) || "" }}
+
-
- 房屋户型
- {{allData.houseType || ""}}
+
+ 市场类型
+
+ {{getDictDataLabel(DICT_TYPE.SYS_MARKET_TYPE, allData.marketType) || ""}}
+
-
- 房屋面积
- {{allData.houseArea || ""}}
+
+ 业务类型
+
+ {{getDictDataLabel(DICT_TYPE.SYS_BUSINESS_TYPE, allData.businessType) || ""}}
+
-
- 房屋建设年限
- {{ getDictDataLabel(DICT_TYPE.SYS_BUILD_YEAR, allData.houseYear) || "" }}
+
+ 签约方类型
+
+ {{ getDictDataLabel(DICT_TYPE.SYS_SIGN_TYPE, allData.signType) || "" }}
+
-
- 房屋居住性质
- {{ getDictDataLabel(DICT_TYPE.SYS_HOUSE_NATURE, allData.houseNature) || "" }}
+
+ 经营区域
+
+ {{ getDictDataLabel(DICT_TYPE.SYS_BUSINESS_AREA, allData.businessArea) || "" }}
+
-
- 居住属性
- {{ getDictDataLabel(DICT_TYPE.SYS_LIVE_ATTRIBUTE, allData.resideAttribute) || "" }}
+
+ 合同户数
+ {{ allData.signHousehold || 0 }}
-
- 房屋性质
- {{ getDictDataLabel(DICT_TYPE.SYS_HOUSE_ATTRIBUTE, allData.houseAttribute) || "" }}
+
+ 财务确认户数
+ {{ allData.financeConfirm || 0 }}
-
- 房屋结构类型
- {{ getDictDataLabel(DICT_TYPE.SYS_HOUSE_STRUCTURE, allData.houseStructure) || "" }}
+
+ 覆盖户数
+ {{ allData.coveredHousehold || 0}}
- 所在房屋距离中压管道
- {{ getDictDataLabel(DICT_TYPE.SYS_DISTANCE, allData.distance) || "" }}
+ 总户数
+ {{ allData.totalHousehold || 0 }}
-
- 所在房屋是否有物业
- {{allData.isExist?'是':'否'}}
+
+ 回款状态/全款(户)
+ {{allData.fullAmount || 0}}
-
- 房屋是否列入拆迁规划
- {{allData.isPlan?'是':'否'}}
+
+ 回款状态/分期(户)
+ {{allData.byStages || 0}}
+
+
+ 回款状态/未回款(户)
+ {{allData.unpaid || 0}}
+
+
+ 实际进场(户)
+ {{allData.actual || 0}}
+
+
+ 不具备安装条件户数(户)
+ {{allData.noInstallCondition || 0}}
- 水/电表是否一户一表
- {{allData.isSingleMeter?'是':'否'}}
+ 具备双覆盖安装条件(户)
+ {{allData.installCondition || 0}}
+
+
+ 通气到表前户数
+ {{allData.ventilation || 0}}
+
+
+ 实际点火户数
+ {{allData.actualFire || 0}}
- 是否独立厨房
- {{allData.isSingleKitchen?'是':'否'}}
+ 已纳入老旧管网改造户数(户)
+ {{allData.intoRemodel || 0}}
- 是否集中供暖
- {{allData.isHeating?'是':'否'}}
+ 距现有中压管网距离(公里)
+ {{allData.distance || 0}}
- 楼前立管是否安装
- {{allData.isInstall?'是':'否'}}
+ {{$dayjs().format('YYYY') + '年财务确认安装户数'}}
+ {{ allData.currentConfirm || 0}}
- 现使用能源
- {{allData.currentEnergy?'是':'否'}}
+ {{$dayjs().add(1, 'year').format('YYYY') + '年财务确认安装户数'}}
+ {{ allData.afterConfirm || 0}}
- 现使用能源价格(元)
- {{allData.currentPrice || ""}}
+ {{$dayjs().add(2, 'year').format('YYYY') + '年财务确认安装户数'}}
+ {{ allData.lastConfirm || 0}}
+
+
- 用户报装意愿
- {{ getDictDataLabel(DICT_TYPE.SYS_INSTALL_INCLINATE, allData.inclinate) || "" }}
+ 纳税人识别号
+ {{allData.taxpayerNumber || ""}}
- 不报装原因
- {{allData.reason || ""}}
+ 客户地址
+ {{allData.clientAddress || ""}}
- 创建时间
-
- {{ $u.timeFormat(allData.sysCtime, 'yyyy年mm月dd日 hh:MM:ss') || ""}}
+ 客户性质
+
+ {{ getDictDataLabel(DICT_TYPE.SYS_CLIENT_QUALITY, allData.clientQuality) || "" }}
+
-
-
- 场所面积
- {{allData.houseArea || ""}}
+ 所属行业
+ {{allData.industry || ""}}
- 经营范围
- {{ getDictDataLabel(DICT_TYPE.SYS_BUSINESS_SCOPE, allData.businessScope) || "" }}
+ 预测日用气量(方/日)
+ {{allData.predictDay || ""}}
- 所在场所房屋性质
- {{ getDictDataLabel(DICT_TYPE.SYS_HOUSE_NATURE, allData.houseNature) || "" }}
+ 预测年用气量(方/年)
+ {{allData.predictYear || ""}}
+ 预计安装财年
+ {{allData.predictInstall || ""}}
+
+
-
- 是否已供气
- {{allData.isProvide?'是':'否'}}
-
-
- 商业状态
- {{ getDictDataLabel(DICT_TYPE.SYS_COMMERCIAL_STATUS, allData.commercialStatus) || "" }}
-
-
- 项目类别
- {{ getDictDataLabel(DICT_TYPE.SYS_PROJECT_TYPE, allData.projectType) || "" }}
-
-
- 行业分类
- {{allData.industryType || ""}}
-
-
- 最近管道距离
- {{ getDictDataLabel(DICT_TYPE.SYS_DISTANCE, allData.distance) || "" }}
-
-
- 预计最大开口气量
- {{allData.predictMax || ""}}
-
-
- 预计签约日期
- {{$u.timeFormat(allData.predictSign, 'yyyy年mm月dd日 hh:MM:ss') || ""}}
-
-
- 预计安装日期
- {{$u.timeFormat(allData.predictInstall, 'yyyy年mm月dd日 hh:MM:ss') || ""}}
-
-
- 预计日用气量
- {{allData.predictUse || ""}}
-
-
- 耗能设备名称
- {{ getDictDataLabel(DICT_TYPE.SYS_MACHINE_NAME, allData.machineName) || "" }}
-
-
- 耗能设备型号
- {{allData.machineModel || ""}}
-
-
- 用能类型
- {{ getDictDataLabel(DICT_TYPE.SYS_INDUSTRY_TYPE, allData.userType) || "" }}
-
-
- 更新时间
- {{$u.timeFormat(allData.sysCtime, 'yyyy年mm月dd日 hh:MM:ss') || ""}}
+
+ 年度用气量(万m³)
+ {{allData.yearConsumption || ""}}
+
+
+ 流失时间
+ {{$u.timeFormat(allData.lossTime, 'yyyy年mm月dd日') || ""}}
+
+
+ 流失原因
+ {{allData.lossReason || ""}}
+
+
+ 计划追回时间
+ {{$u.timeFormat(allData.recoverTime, 'yyyy年mm月dd日') || ""}}
+
+
+ 工作计划
+ {{allData.workPlan || ""}}
+
+
+ 完成情况更新
+ {{allData.completion || ""}}
+
+
+ 备注
+ {{allData.remark || ""}}
+
-
@@ -354,7 +387,7 @@
import {
getPoolResidentDetail,
getPoolCommerceDetail,
- getPoolIndustryDetail,
+ getPoolCustomerRecovery,
} from '@/api/organize.js'
export default {
components: {},
@@ -364,9 +397,9 @@
data() {
return {
type: null,
- allData:{},
+ allData: {},
title: "",
- id:"",
+ id: "",
}
},
computed: {
@@ -378,22 +411,22 @@
this.id = data.id;
}
this.initData()
- console.log(this.type,this.id);
+ console.log(this.type, this.id);
},
methods: {
initData() {
- const titleArr = ['居民用户详情', '商业用户详情', '工业用户详情']
+ const titleArr = ['居民用户详情', '工商业用户详情', '流失大客户详情']
this.title = titleArr[this.type]
- if(this.type === '0'){
- getPoolResidentDetail(this.id).then((res) =>{
+ if (this.type === '0') {
+ getPoolResidentDetail(this.id).then((res) => {
this.allData = res.data;
})
- }else if(this.type === '1'){
- getPoolCommerceDetail(this.id).then((res) =>{
+ } else if (this.type === '1') {
+ getPoolCommerceDetail(this.id).then((res) => {
this.allData = res.data;
})
- }else if(this.type === '2'){
- getPoolIndustryDetail(this.id).then((res) =>{
+ } else if (this.type === '2') {
+ getPoolCustomerRecovery(this.id).then((res) => {
this.allData = res.data;
})
}
@@ -433,7 +466,7 @@
}
.leftCss {
- width: 50%;
+ width: 58%;
margin: 32rpx 0rpx;
background-color: rgba(255, 255, 255, 0);
box-sizing: border-box;
@@ -447,7 +480,7 @@
.rightCss {
display: flex;
justify-content: flex-end;
- width: 50%;
+ width: 42%;
margin: 32rpx 0rpx;
background-color: rgba(255, 255, 255, 0);
box-sizing: border-box;
diff --git a/utils/dict.js b/utils/dict.js
index a255764..cfa4c44 100644
--- a/utils/dict.js
+++ b/utils/dict.js
@@ -29,6 +29,15 @@ export const DICT_TYPE = {
SYS_PROJECT_TYPE:'sys_project_type', //项目类别
SYS_KEYWORD:'sys_keyword', //市场咨询关键词
SYS_PUBLISH_STATUS:'sys_publish_status', //资讯状态
+ SYS_HOUSE_TYPE:'sys_house_type', // 房屋产权类型
+ SYS_MARKET_TYPE:'sys_market_type', // 市场类型
+ SYS_BUSINESS_TYPE:'sys_business_type', // 业务类型
+ SYS_SIGN_TYPE:'sys_sign_type', // 签约方类型
+ SYS_BUSINESS_AREA:'sys_business_area', // 经营区域
+ SYS_POOL_INDUSTRY_AND_COMMERCE_STATUS:'sys_pool_industry_and_commerce_status', // 状态
+ SYS_CLIENT_QUALITY:'sys_client_quality', // 客户性质
+ SYS_CUSTOMER_RECOVERY_PROGRESS_STATUS:'sys_customer_recovery_progress_status', // (大客户)用户状态
+
}
/**
--
libgit2 0.21.2