精品选装&用户画像

This commit is contained in:
老叶
2022-06-27 10:10:13 +08:00
parent 890ab93010
commit e2fe0296ad
9 changed files with 225 additions and 73 deletions
+2 -2
View File
@@ -1,4 +1,4 @@
const env = "p";
const env = "d";
const version = 1,
@@ -83,7 +83,7 @@ api = {
appCustomersDefeats: 'app/customers/defeats', //战败客户列表 /战败/再战申请
appServices:'app/services', //获取代办服务列表
appFine:'app/fine', //获取精品赠送列表
appFine:'app/fine', //获取精品赠送列表 /获取精品选装
materialHomeBiz:'material/home/biz', //店铺海报
materialHomePosters:'material/home/posters', //保存店铺海报
+1 -1
View File
@@ -434,7 +434,7 @@ Page({
getAppCustomersTag(){
_.apiQuery.getAppCustomersTag().then(res => {
this.setData({
taglList:res.data,
taglList:res.data.tags&&res.data.tags.length>0?res.data.tags:[],
})
});
},
+17 -11
View File
@@ -8,7 +8,7 @@ Page({
tabid:1,
tab:[
{"id":1,"title":"跟进记录"},
{"id":2,"title":"客户画像"},
//{"id":2,"title":"客户画像"},
],
logslist: [],//日志列表
pageNo: 1,
@@ -738,17 +738,23 @@ Page({
let params = {};
params['id'] = this.data.id;
_.apiQuery.getAppCustomersTag(params).then(res => {
let taglList = res.data
taglList.forEach(itemA => {
itemA.list.forEach(itemB => {
if(itemB.checked){
itemA.have=true
}
if(res.data.tags&&res.data.tags.length>0){
let taglList = res.data.tags
taglList.forEach(itemA => {
itemA.list.forEach(itemB => {
if(itemB.checked){
itemA.have=true
}
})
})
})
this.setData({
taglList,
})
this.setData({
taglList,
tab:[
{"id":1,"title":"跟进记录"},
{"id":2,"title":"客户画像"},
],
})
}
});
},
+1 -1
View File
@@ -518,7 +518,7 @@ Page({
params['id'] = this.data.id;
_.apiQuery.getAppCustomersTag(params).then(res => {
this.setData({
taglList:res.data,
taglList:res.data.tags&&res.data.tags.length>0?res.data.tags:[],
})
});
},
+1 -1
View File
@@ -61,7 +61,7 @@ Page({
// '',
// '',
'新增了小记评论功能;',
// '新增了小记评论功能;',
],
},
},
+78 -24
View File
@@ -59,16 +59,12 @@ Page({
isShowRemarks:false,//意向金备注
srv_total:0,//代办费用
agencyList:[],//代办数组
fine_total:0,//精品费用
fine_total_1:0,//精品费用-添加
fine_total_2:0,//精品费用-选择
//if_fine:false,//精品尊享包
fines:[
{
txt:'',
price:'',
},
],//精品赠送
fines:[],//精品赠送
business_type:0,//0未执行到商务政策 1商务政策执行中 2商务政策成功 3商务政策失败
@@ -327,20 +323,46 @@ Page({
}
//匹配精品赠送
if(res.data.fines&&res.data.fines.length>0){
let fine_total = 0
res.data.fines.forEach(item => {
if(parseFloat(item.price)>0){
fine_total = fine_total + parseFloat(item.price)
}
})
this.setData({
fines:res.data.fines,
fine_total,
})
}
/*end匹配其他信息*/
let fineparams = {};
fineparams['limbiz'] = 1;
fineparams['page'] = 1;
fineparams['size'] = 100;
_.apiQuery.getAppFine(fineparams).then(res11 => {
if(res.data.fines&&res.data.fines.length>0){
let fine_total_1 = 0
let fine_total_2 = 0
let fines = []
let fineList = res11.data.list
res.data.fines.forEach(item1 => {
if(item1.id){
fineList.forEach(item2 => {
if(item1.id == item2.id){
item2.checked = true
fine_total_2 = fine_total_2 + parseFloat(item2.price)
}
})
}else{
fines.push(item1)
if(parseFloat(item1.price)>0){
fine_total_1 = fine_total_1 + parseFloat(item1.price)
}
}
})
this.setData({
fine_total_1,
fine_total_2,
fines,
fineList,
})
}else{
this.setData({
fine_total_1:0,
fine_total_2:0,
fineList:res11.data.list,
})
}
});
/*end匹配精品赠送*/
})
},
@@ -818,6 +840,15 @@ Page({
fines.push(item)
}
});
that.data.fineList.forEach(item => {
if(item.checked){
fines.push({
id:item.id,
txt:item.title,
price:item.price,
})
}
})
let params = {};
params['id'] = that.data.id;
@@ -1001,14 +1032,14 @@ Page({
this.setData({
['fines['+e.currentTarget.dataset.index+'].price']:e.detail.value,
})
let fine_total = 0
let fine_total_1 = 0
this.data.fines.forEach(item => {
if(parseFloat(item.price)>0){
fine_total = fine_total + parseFloat(item.price)
fine_total_1 = fine_total_1 + parseFloat(item.price)
}
})
this.setData({
fine_total,
fine_total_1,
})
}
},
@@ -1165,6 +1196,29 @@ Page({
})
},
//精品选装
changeFines(e) {
let fineList = this.data.fineList
let values = e.detail.value
let fine_total_2 = 0
fineList.forEach(item1 => {
item1.checked = false
values.forEach(item2 => {
if(item1.id == item2){
item1.checked = true
if(parseFloat(item1.price)>0){
fine_total_2 = fine_total_2 + parseFloat(item1.price)
}
}
})
})
this.setData({
fineList,
fine_total_2,
})
},
//页面相关事件处理函数--监听用户下拉动作
onPullDownRefresh(){
this.getAppCusorderV2()
+41 -12
View File
@@ -169,8 +169,16 @@
</block>
<view class="relative bbs-1-eb last-b-none pl180 font-28">
<view class="absolute left-0 box-middle color-333">精品选装</view>
<view class="pt30 pb30 text-right font-28 color-666" style="height:38rpx;"><text class="mr10 color-f9394d">{{fine_total}}</text>元</view>
<view class="pt30 pb30 text-right font-28 color-666" style="height:38rpx;"><text class="mr10 color-f9394d">{{fine_total_1+fine_total_2}}</text>元</view>
</view>
<block wx:for="{{fineList}}" wx:key='index'>
<view class="relative ml40 bbs-1-eb pl140 font-22 color-666" wx:if="{{item.checked}}">
<view class="absolute left-0 box-middle"><i class="iconfont ml5 mr10 icon-gengduo"></i>{{item.title}}</view>
<view class="pt25 pb25 text-right" style="min-height:30rpx">
<blcok wx:if="{{item.price}}"><text class="mr10 color-f9394d">{{item.price}}</text>元</blcok>
</view>
</view>
</block>
<block wx:for="{{fines}}" wx:key='index'>
<view class="relative ml40 bbs-1-eb pl140 font-22 color-666" wx:if="{{item.txt}}">
<view class="absolute left-0 box-middle"><i class="iconfont ml5 mr10 icon-gengduo"></i>{{item.txt}}</view>
@@ -212,8 +220,8 @@
<block wx:for="{{agencyList}}" wx:key='index'>
<view class="mb20 block relative height-100 pl220 pr20 bg-f6 font-28 ulib-r10">
<label class="absolute box-middle left-0 ml30">
<checkbox class="text-middle mr5" value="{{item.id}}" checked="{{item.checked}}"/>
<text class="text-middle">{{item.title}}</text>
<checkbox class="text-middle ml15" value="{{item.id}}" checked="{{item.checked}}"/>
</label>
<view class="pt25 text-right" wx:if="{{item.checked&&item.price>0}}">
<block wx:for="{{item.price_list}}" wx:for-item='price_list' wx:for-index='i' wx:key='i'>
@@ -231,21 +239,34 @@
<view class="relative pl190">
<view class="absolute left-0 box-middle font-28 color-333">精品选装</view>
<view class="pt30 pb30 text-right font-28 color-666">
总计:<text class="mr10 color-f9394d">{{fine_total}}</text>元
总计:<text class="mr10 color-f9394d">{{fine_total_1+fine_total_2}}</text>元
</view>
</view>
<view class="pb10">
<block wx:for="{{fines}}" wx:key='index'>
<view class="fn-clear mb20 relative pl30 pr30 bg-f6 ulib-r10">
<view class="fn-fl wp50">
<input class="wp100 height-100 font-28" placeholder-class="color-ccc" type="text" placeholder="精品名称" bindinput='inputFines' data-index="{{index}}" data-type="txt" value="{{item.txt}}" always-embed='{{true}}' />
</view>
<view class="fn-fr wp25">
<input class="wp100 height-100 text-right font-28" placeholder-class="color-ccc" type="digit" placeholder="精品价格" bindinput='inputFines' data-index="{{index}}" data-type="price" value="{{item.price}}" always-embed='{{true}}' />
<checkbox-group bindchange="changeFines">
<block wx:for="{{fineList}}" wx:key='index'>
<view class="mb20 block relative height-100 pl220 pr20 bg-f6 font-28 ulib-r10">
<label class="absolute box-middle left-0 ml30">
<checkbox class="text-middle mr5" value="{{item.id}}" checked="{{item.checked}}" />
<text class="text-middle">{{item.title}}</text>
</label>
<view class="pt25 text-right" wx:if="{{item.price>0}}">
<text class="mr10 color-f9394d">{{item.price}}</text>元
</view>
</view>
</block>
<view class="mb20 inner20 bds-2-36afa2 text-center font-28 color-36afa2 ulib-r10" bindtap="addFine"><i class="iconfont mr10 font-24 icon-jia1"></i>添加</view>
</checkbox-group>
<block wx:for="{{fines}}" wx:key='index'>
<view class="fn-clear mb20 relative pl30 pr30 bg-f6 ulib-r10">
<view class="fn-fl wp50">
<input class="wp100 height-100 font-28" placeholder-class="color-ccc" type="text" placeholder="精品名称" bindinput='inputFines' data-index="{{index}}" data-type="txt" value="{{item.txt}}" always-embed='{{true}}' />
</view>
<view class="fn-fr wp25">
<input class="wp100 height-100 text-right font-28" placeholder-class="color-ccc" type="digit" placeholder="精品价格" bindinput='inputFines' data-index="{{index}}" data-type="price" value="{{item.price}}" always-embed='{{true}}' />
</view>
</view>
</block>
<view class="mb20 inner20 bds-2-36afa2 text-center font-28 color-36afa2 ulib-r10" bindtap="addFine"><i class="iconfont mr10 font-24 icon-jia1"></i>添加</view>
</view>
</view>
</block>
@@ -362,8 +383,16 @@
</block>
<view class="relative bbs-1-eb last-b-none pl180 font-28">
<view class="absolute left-0 box-middle color-333">精品选装</view>
<view class="pt30 pb30 text-right font-28 color-666" style="height:38rpx;"><text class="mr10 color-f9394d">{{fine_total}}</text>元</view>
<view class="pt30 pb30 text-right font-28 color-666" style="height:38rpx;"><text class="mr10 color-f9394d">{{fine_total_1+fine_total_2}}</text>元</view>
</view>
<block wx:for="{{fineList}}" wx:key='index'>
<view class="relative ml40 bbs-1-eb pl140 font-22 color-666" wx:if="{{item.checked}}">
<view class="absolute left-0 box-middle"><i class="iconfont ml5 mr10 icon-gengduo"></i>{{item.title}}</view>
<view class="pt25 pb25 text-right" style="min-height:30rpx">
<blcok wx:if="{{item.price}}"><text class="mr10 color-f9394d">{{item.price}}</text>元</blcok>
</view>
</view>
</block>
<block wx:for="{{fines}}" wx:key='index'>
<view class="relative ml40 bbs-1-eb pl140 font-22 color-666" wx:if="{{item.txt}}">
<view class="absolute left-0 box-middle"><i class="iconfont ml5 mr10 icon-gengduo"></i>{{item.txt}}</view>
+52 -10
View File
@@ -68,19 +68,15 @@ Page({
checktext: '3s',
srv_total:0,//代办费用
agencyList:[],//代办数组
fine_total:0,//精品费用
fine_total_1:0,//精品费用-添加
fine_total_2:0,//精品费用-选择
isShowSuccess:false,//是否显示成功提示
isShowContract:false,//是否显示生成合同
//if_fine:false,//精品尊享包
fines:[
{
txt:'',
price:'',
},
],//精品赠送
fines:[],//精品赠送
business_type:0,//0未执行到商务政策 1商务政策执行中 2商务政策成功 3商务政策失败
@@ -110,6 +106,7 @@ Page({
this.getAppSeriesBrands()
this.getUserInfo()
this.getAppCityOncard()
this.getAppFine()
},
@@ -611,6 +608,15 @@ Page({
fines.push(item)
}
});
that.data.fineList.forEach(item => {
if(item.checked){
fines.push({
id:item.id,
txt:item.title,
price:item.price,
})
}
})
let params = {};
params['main_type'] = that.data.main_type;
@@ -975,14 +981,14 @@ Page({
this.setData({
['fines['+e.currentTarget.dataset.index+'].price']:e.detail.value,
})
let fine_total = 0
let fine_total_1 = 0
this.data.fines.forEach(item => {
if(parseFloat(item.price)>0){
fine_total = fine_total + parseFloat(item.price)
fine_total_1 = fine_total_1 + parseFloat(item.price)
}
})
this.setData({
fine_total,
fine_total_1,
})
}
},
@@ -1268,4 +1274,40 @@ Page({
}
},
//获取精品选装
getAppFine(){
let params = {};
params['limbiz'] = 1;
params['page'] = 1;
params['size'] = 100;
_.apiQuery.getAppFine(params).then(res => {
this.setData({
fineList:res.data.list,
})
});
},
//精品选装
changeFines(e) {
let fineList = this.data.fineList
let values = e.detail.value
let fine_total_2 = 0
fineList.forEach(item1 => {
item1.checked = false
values.forEach(item2 => {
if(item1.id == item2){
item1.checked = true
if(parseFloat(item1.price)>0){
fine_total_2 = fine_total_2 + parseFloat(item1.price)
}
}
})
})
this.setData({
fineList,
fine_total_2,
})
},
})
+32 -11
View File
@@ -273,8 +273,8 @@
<block wx:for="{{agencyList}}" wx:key='index'>
<view class="mb20 block relative height-100 pl220 pr20 bg-f6 font-28 ulib-r10">
<label class="absolute box-middle left-0 ml30">
<checkbox class="text-middle mr5" value="{{item.id}}" checked="{{item.checked}}" disabled="{{item.id == 1||item.id == 2}}" />
<text class="text-middle">{{item.title}}</text>
<checkbox class="text-middle ml15" value="{{item.id}}" checked="{{item.checked}}" disabled="{{item.id == 1||item.id == 2}}" />
</label>
<view class="pt25 text-right" wx:if="{{item.checked&&item.price>0}}">
<block wx:for="{{item.price_list}}" wx:for-item='price_list' wx:for-index='i' wx:key='i'>
@@ -292,21 +292,34 @@
<view class="relative pl190">
<view class="absolute left-0 box-middle font-28 color-333">精品选装</view>
<view class="pt30 pb30 text-right font-28 color-666">
总计:<text class="mr10 color-f9394d">{{fine_total}}</text>元
总计:<text class="mr10 color-f9394d">{{fine_total_1+fine_total_2}}</text>元
</view>
</view>
<view class="pb10">
<block wx:for="{{fines}}" wx:key='index'>
<view class="fn-clear mb20 relative pl30 pr30 bg-f6 ulib-r10">
<view class="fn-fl wp50">
<input class="wp100 height-100 font-28" placeholder-class="color-ccc" type="text" placeholder="精品名称" bindinput='inputFines' data-index="{{index}}" data-type="txt" value="{{item.txt}}" always-embed='{{true}}' />
</view>
<view class="fn-fr wp25">
<input class="wp100 height-100 text-right font-28" placeholder-class="color-ccc" type="digit" placeholder="精品价格" bindinput='inputFines' data-index="{{index}}" data-type="price" value="{{item.price}}" always-embed='{{true}}' />
<checkbox-group bindchange="changeFines">
<block wx:for="{{fineList}}" wx:key='index'>
<view class="mb20 block relative height-100 pl220 pr20 bg-f6 font-28 ulib-r10">
<label class="absolute box-middle left-0 ml30">
<checkbox class="text-middle mr5" value="{{item.id}}" checked="{{item.checked}}" />
<text class="text-middle">{{item.title}}</text>
</label>
<view class="pt25 text-right" wx:if="{{item.price>0}}">
<text class="mr10 color-f9394d">{{item.price}}</text>元
</view>
</view>
</block>
<view class="mb20 inner20 bds-2-36afa2 text-center font-28 color-36afa2 ulib-r10" bindtap="addFine"><i class="iconfont mr10 font-24 icon-jia1"></i>添加</view>
</checkbox-group>
<block wx:for="{{fines}}" wx:key='index'>
<view class="fn-clear mb20 relative pl30 pr30 bg-f6 ulib-r10">
<view class="fn-fl wp50">
<input class="wp100 height-100 font-28" placeholder-class="color-ccc" type="text" placeholder="精品名称" bindinput='inputFines' data-index="{{index}}" data-type="txt" value="{{item.txt}}" always-embed='{{true}}' />
</view>
<view class="fn-fr wp25">
<input class="wp100 height-100 text-right font-28" placeholder-class="color-ccc" type="digit" placeholder="精品价格" bindinput='inputFines' data-index="{{index}}" data-type="price" value="{{item.price}}" always-embed='{{true}}' />
</view>
</view>
</block>
<view class="mb20 inner20 bds-2-36afa2 text-center font-28 color-36afa2 ulib-r10" bindtap="addFine"><i class="iconfont mr10 font-24 icon-jia1"></i>添加</view>
</view>
</view>
</block>
@@ -496,8 +509,16 @@
</block>
<view class="relative bbs-1-eb last-b-none pl180 font-28">
<view class="absolute left-0 box-middle color-333">精品选装</view>
<view class="pt30 pb30 text-right font-28 color-666" style="height:38rpx;"><text class="mr10 color-f9394d">{{fine_total}}</text>元</view>
<view class="pt30 pb30 text-right font-28 color-666" style="height:38rpx;"><text class="mr10 color-f9394d">{{fine_total_1+fine_total_2}}</text>元</view>
</view>
<block wx:for="{{fineList}}" wx:key='index'>
<view class="relative ml40 bbs-1-eb pl140 font-22 color-666" wx:if="{{item.checked}}">
<view class="absolute left-0 box-middle"><i class="iconfont ml5 mr10 icon-gengduo"></i>{{item.title}}</view>
<view class="pt25 pb25 text-right" style="min-height:30rpx">
<blcok wx:if="{{item.price}}"><text class="mr10 color-f9394d">{{item.price}}</text>元</blcok>
</view>
</view>
</block>
<block wx:for="{{fines}}" wx:key='index'>
<view class="relative ml40 bbs-1-eb pl140 font-22 color-666" wx:if="{{item.txt}}">
<view class="absolute left-0 box-middle"><i class="iconfont ml5 mr10 icon-gengduo"></i>{{item.txt}}</view>