6 Commits

Author SHA1 Message Date
lcc 85c8683fde 修改线索解锁流程 2025-10-30 10:19:44 +08:00
小鱼开发 d0ec4c6e4c s 2025-10-09 17:09:09 +08:00
lcc 72bbaf5690 修改订单列表和详情显示判断 2025-09-30 10:51:48 +08:00
lcc a46abdc5aa 修改确认订单判断 2025-09-07 16:07:51 +08:00
lcc 53a327fddf 客户池列表增加操作日志 2025-08-01 19:22:22 +08:00
lcc 2e60d14a81 隐藏二维码核销入口 2025-07-31 22:55:42 +08:00
12 changed files with 218 additions and 35 deletions
+1
View File
@@ -50,6 +50,7 @@ api = {
appYx: "app/yx", //获取云信虚拟电话
appCustomerlogs: "app/customerlogs", //新增日志
appCustomerData: "app/customers/data", //修改客户基本信息
appCustomerUnlockReason: "app/customers/lockReason", //获取不解锁原因
appServicesPackage: "app/services/package", //获取代办包
appSeriesInfo: "app/series/info", //获取车辆价格
appBusiness: "app/business", //获取商务政策
+5
View File
@@ -1130,4 +1130,9 @@ apiQuery.putAppCustomerLock = function (params) {
HttpRequest(true, Config.api.appCustomerLock, 2, params, "PUT", resolve, reject)
})
}
apiQuery.getAppCustomerUnlockReason = function (params) {
return new Promise(function (resolve, reject) {
HttpRequest(false, Config.api.appCustomerUnlockReason, 2, params, "GET", resolve, reject)
})
}
export default apiQuery;
+1 -1
View File
@@ -7,7 +7,7 @@
<lcb-auth type="userinfo" isShowProfile="{{isShowProfile}}" bind:onSuccess="getUserInfo"></lcb-auth>
</view>
<view>
<view class="font-22 color-fff">Hi~ {{hoursTip}}欢迎回到车卖场AHOH</view>
<view class="font-22 color-fff">Hi~ {{hoursTip}}欢迎回到理车宝</view>
<view>
<text class="text-middle text-bold font-48 color-fff">{{userInfo.uname}}</text>
</view>
+59 -9
View File
@@ -106,7 +106,10 @@ Page({
isShowLock: false,
cluesTabKey: 1000, //线索tabkey
cluesId: 0, //当前操作线索id
needShowUnlockConfig: true
needShowUnlockConfig: true,
isShowNotLock: false, //是否显示不解锁弹窗
reasonList: [], //不解锁理由
reasonIndex: -1
},
onLoad(options) {
for (let key in options) {
@@ -139,7 +142,8 @@ Page({
this.setData({
needShowUnlockConfig: app.getStorageByKey("needShowUnlockConfig") ? false : true,
})
console.log("是否显示解锁弹窗:",this.data.needShowUnlockConfig);
this.getReasonList()
// console.log("是否显示解锁弹窗:",this.data.needShowUnlockConfig);
},
onShow() {
@@ -1147,7 +1151,7 @@ Page({
this.setData({
cluesId: e.currentTarget.dataset.id
})
this.bindLock();
this.bindLock(e);
}
},
hideLock() {
@@ -1155,11 +1159,26 @@ Page({
isShowLock: false
})
},
//解
bindLock(){
let that = this;
//解
bindLock(e){
let that = this
let unlock = 0 //是否不解锁 0否1是
let reason = ""
if(e.currentTarget.dataset.unlock){
unlock = 1
if(this.data.reasonIndex==-1){
wx.showToast({
title: '请选择理由',
icon: 'none'
})
return false
}
reason = this.data.reasonList[this.data.reasonIndex]
}
let params = {
'id' : this.data.cluesId
'id' : this.data.cluesId,
'unlock': unlock,
'reason' : reason
};
_.apiQuery.putAppCustomerLock(params).then(res => {
wx.showToast({
@@ -1167,8 +1186,12 @@ Page({
icon: 'success',
duration: 2000
})
app.setStorage("needShowUnlockConfig", 1);
that.hideLock();
if(unlock){ //不解锁
that.hideNotlock()
}else{ //解锁
app.setStorage("needShowUnlockConfig", 1);
that.hideLock();
}
that.onPullDownRefresh();
})
},
@@ -1179,5 +1202,32 @@ Page({
if(row.un_lock){
_.$router.openUrlScheme(url);
}
},
//不解锁弹窗
showNotlock(e){
this.setData({
isShowNotLock: true,
cluesId: e.currentTarget.dataset.id
})
},
hideNotlock(){
this.setData({
isShowNotLock: false
})
},
//获取不解锁原因
getReasonList() {
_.apiQuery.getAppCustomerUnlockReason().then(res => {
this.setData({
reasonList: res.data
})
});
},
changeReason(e){
if(this.data.reasonIndex != e.detail.value && e.detail.value >= 0){
this.setData({
reasonIndex:e.detail.value
})
}
}
})
+55 -1
View File
@@ -92,9 +92,11 @@
<text class="text-middle">{{item.name}}</text>
<text class="text-middle font-26 color-666">({{item.mobile}})</text>
</view>
<!--
<view class="absolute right-0 top-0" wx:if="{{item.un_lock==0}}">
<view class="font-26 mt10" style="color:#f63c51">{{'距转派还剩'+item.left_time}}</view>
</view>
-->
</view>
<view class="relative">
<view class="mt25 fn-clear font-28 pr180">
@@ -105,10 +107,38 @@
<view class="fn-fl color-333 mr15">意向车型</view>
<view class="fn-fl color-666">{{item.other_data['关注车型']}}</view>
</view>
<!--
<view class="absolute right-0 box-middle" wx:if="{{!item.un_lock}}" bind:tap="showUnlock" data-id="{{item.id}}">
<!-- <view class="font-26 mt10" style="color:#f63c51">{{'距转派还剩4小时23分'}}</view> -->
<button class="btn color-fff font-26 ulib-r750" style="background-color:#f63c51"><text class="iconfont icon-xiaoji mr5"></text>解锁查看</button>
</view>
-->
<view class="mt25 fn-clear">
<view class="fn-fl wp50 pl25 pl25 pr25" wx:if="{{!item.un_lock}}" bind:tap="showNotlock" data-id="{{item.id}}">
<button class="btn color-fff font-26 ulib-r750 btn-36afa2"><text class="iconfont icon-xiaoji mr5"></text>不解锁</button>
</view>
<view class="fn-fl wp50 pl25 pr25" wx:if="{{!item.un_lock}}" bind:tap="showUnlock" data-id="{{item.id}}">
<button class="btn color-fff font-26 ulib-r750" style="background-color:#f63c51"><text class="iconfont icon-xiaoji mr5"></text>解锁查看</button>
</view>
</view>
</view>
<view class="relative mt20 overflowhidden">
<view class="orderDtail-log mt40 relative" wx:if="{{item.logList.length>0}}">
<block wx:for="{{item.logList}}" wx:for-item="log" wx:for-index="index" wx:key="index">
<view class="orderDtail-log-item pl40 relative">
<view class="orderDtail-log-content">
<!-- 时间 -->
<view class="font-22">
<text class="color-999">{{log.c_time}}</text>
</view>
<!-- 内容 -->
<view class="font-28 text-break" style="min-height:50rpx;">{{log.content}}</view>
</view>
<i class="absolute box-middle mt15 bg-fff line-height-11 font-22 color-999 iconfont icon-jiantou-up z-index-1" wx:if="{{index+1 != item.logList.length}}"></i>
<text class="absolute orderDtail-log-line2 z-index-0" wx:if="{{index != item.logList.length-1}}"></text>
<text class="absolute orderDtail-log-dot z-index-1"></text>
</view>
</block>
</view>
</view>
</view>
</block>
@@ -540,5 +570,29 @@
</view>
</view>
</lcb-msg>
<!-- 确认不解锁线索 -->
<lcb-msg isShow="{{isShowNotLock}}" isCustomTabBar="{{true}}">
<view slot="content">
<view class="pt50">
<view class="font-36 text-center">确认不解锁线索</view>
</view>
<view class="mt20 bds-2-eb ml40 mr40 inner20 font-28 color-666 fn-clear ulib-r10">
<view class="fn-fl">选择理由</view>
<picker class="fn-fr wp60 text-right" bindchange="changeReason" value="{{reasonIndex}}" range="{{reasonList}}">
<text class="color-ccc" wx:if="{{reasonIndex == -1}}">请选择</text>
<text wx:else>{{reasonList[reasonIndex]}}</text>
<i class="iconfont ml5 icon-gengduo color-ccc"></i>
</picker>
</view>
<view class="fn-flex mt20 pl60 pr60 pb50 text-center font-32 color-666">
<button bindtap="hideNotlock" class="fn-flex-item mr20 bds-2-36afa2 btn-no-bg wp100 font-28 color-36afa2 ulib-r750">
取消
</button>
<button bindtap="bindLock" data-unlock="true" class="fn-flex-item ml20 btn-36afa2 wp100 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover">
确定
</button>
</view>
</view>
</lcb-msg>
<brandSelect show="{{brand_page_show}}" bindleave="getBrandData"></brandSelect>
+65 -1
View File
@@ -25,4 +25,68 @@
to {right:-650rpx;}
}
.radio-btn{min-width:104rpx;box-sizing:border-box;text-align:center;}
.radio-btn{min-width:104rpx;box-sizing:border-box;text-align:center;}
.orderDtail-log-item{
padding-bottom: 40rpx;
line-height: 1.6;
}
.orderDtail-log-item:first-child{
margin-top: 0;
}
.orderDtail-log-line{
top: 8rpx;
left:16rpx;
width:2rpx;
height:2rpx;
}
.orderDtail-log-line::before{
content:'';
position:absolute;
left:0;
bottom:8rpx;
background-color: #1a1a1a;
width:2rpx;
height:1000rpx;
}
.orderDtail-log-line2{
top:8rpx;
bottom:-8rpx;
left:16rpx;
width:2rpx;
background-color: #1a1a1a;
}
.orderDtail-log-dot{
top: 8rpx;
left:6rpx;
width: 23rpx;
height: 23rpx;
border-radius: 100%;
background-color: #fff;
}
.orderDtail-log-dot::before{
width: 18rpx;
height: 18rpx;
background-color: #fff;
}
.orderDtail-log-dot::after{
width: 12rpx;
height: 12rpx;
background-color: #1a1a1a;
}
.orderDtail-log-dot::before,.orderDtail-log-dot::after{
content: '';
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%,-50%);
border-radius: 100%;
}
.orderDtail-log .orderDtail-log-content{
position:relative;
top:-20rpx;
}
.icon-jiantou-up{
left:6rpx;
}
+1 -1
View File
@@ -7,7 +7,7 @@
<lcb-auth type="userinfo" isShowProfile="{{isShowProfile}}" bind:onSuccess="getUserInfo"></lcb-auth>
</view>
<view>
<view class="font-22 color-fff">Hi~ {{hoursTip}}欢迎回到车卖场AHOH</view>
<view class="font-22 color-fff">Hi~ {{hoursTip}}欢迎回到理车宝</view>
<view>
<text class="text-middle text-bold font-48 color-fff">{{userInfo.uname}}</text>
<text class="inline-block ml10 pl10 pr10 bg-fff text-bottom font-20 ulib-r750">{{userInfo.biz_name}}</text>
+2
View File
@@ -16,9 +16,11 @@
<view class="absolute right-0 box-middle p240" >
<!-- 20250624 -->
<!-- 隐藏扫码入口
<view class="bg-f6 mb25 pt10 pb10 pl20 pr15 font-22 color-666 ulib-rl750 fn-flex fn-flex-middle" bindtap="bindScanCode" wx:if="{{userInfo.biz_type==biz_type_4s}}">
<i class="custom-icon custom-icon-scancode mr10"></i><text>扫码</text>
</view>
-->
<view class="bg-f6 mb25 pt10 pb10 pl20 pr15 font-22 color-666 ulib-rl750" bindtap="switchingRoles" wx:if="{{userInfo.group_name_arr.length>0}}">
<i class="iconfont icon-cheliangfenpei mr10"></i>切换角色
</view>
+2 -1
View File
@@ -29,7 +29,8 @@ Page({
confirm_count_down: 3,
wxTimerList: {},
wxTimer: null,
biz_type_4s: 5 //门店类型4s店
biz_type_4s: 5, //门店类型4s店
app_id_activity: 1
},
onLoad: function (options) {
for (let key in options) {
+15 -10
View File
@@ -98,7 +98,7 @@
</view>
</view>
</block>
<block wx:if="{{userInfo.biz_type!=biz_type_4s}}">
<block wx:if="{{info.app_id!=app_id_activity}}">
<!--订单合同-->
<view class="relative bbs-1-eb pl140 font-28" bindtap="pushLink" data-url="/pages/order/editImg/index?id={{id}}&type=contract_img&title=订单合同&multi=true&edit={{info.status>0?'0':'1'}}">
<view class="absolute left-0 box-middle font-32 color-333">订单合同</view>
@@ -273,15 +273,20 @@
</view>
</view>
<view class="fixed left-0 right-0 bottom-0 pt20 pl30 pr30 pb40 bg-000-op80 fn-flex" style="z-index:999" wx:if="{{userInfo.group_id==4 && info.status<3}}">
<button bindtap="postConfirmOrder" class="fn-flex-item ml20 mr20 btn-36afa2 wp100 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover">{{info.bt_cn}}</button>
</view>
<view class="fixed left-0 right-0 bottom-0 pt20 pl30 pr30 pb40 bg-000-op80 fn-flex z-index-9999" wx:if="{{userInfo.group_id < 4 && info.status==0}}">
<button bindtap="delAppCusorder" class="fn-flex-item ml20 mr20 btn-36afa2 wp100 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover"><i class="iconfont mr5 icon-zuofei"></i>订单作废</button>
</view>
<block wx:if="{{info.app_id==app_id_activity}}">
<!--4s店铺按钮显示-->
<view class="fixed left-0 right-0 bottom-0 pt20 pl30 pr30 pb40 bg-000-op80 fn-flex" style="z-index:999" wx:if="{{userInfo.group_id==2 && info.status<3}}">
<button bindtap="postConfirmOrder" class="fn-flex-item ml20 mr20 btn-36afa2 wp100 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover">{{info.bt_cn}}</button>
</view>
</block>
<block wx:else>
<view class="fixed left-0 right-0 bottom-0 pt20 pl30 pr30 pb40 bg-000-op80 fn-flex" style="z-index:999" wx:if="{{userInfo.group_id==4 && info.status<3}}">
<button bindtap="postConfirmOrder" class="fn-flex-item ml20 mr20 btn-36afa2 wp100 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover">{{info.bt_cn}}</button>
</view>
<view class="fixed left-0 right-0 bottom-0 pt20 pl30 pr30 pb40 bg-000-op80 fn-flex z-index-9999" wx:if="{{userInfo.group_id < 4 && info.status==0}}">
<button bindtap="delAppCusorder" class="fn-flex-item ml20 mr20 btn-36afa2 wp100 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover"><i class="iconfont mr5 icon-zuofei"></i>订单作废</button>
</view>
</block>
</view>
<lcb-backChannel></lcb-backChannel>
+11 -10
View File
@@ -62,7 +62,8 @@ Page({
discount_amount: '', //⻋身优惠
business_type: 0,
brand_page_show: false,
biz_type_4s: 5 //门店类型4s店
biz_type_4s: 5, //门店类型4s店
app_id_activity: 1
},
//生命周期函数--监听页面加载
onLoad: function (options) {
@@ -103,6 +104,15 @@ Page({
is_get_insure: parseInt(res.data.if_insure),
if_equity: parseInt(res.data.if_equity),
})
if (res.data.app_id == this.data.app_id_activity) { //活动线索
let tab = [{
title: '车辆信息',
step: 2,
}]
this.setData({
tab: tab
})
}
/*匹配车辆信息*/
//匹配品牌
if (!!res.data.brand_id) {
@@ -308,15 +318,6 @@ Page({
this.setData({
userInfo: res,
})
if (res.biz_type == this.data.biz_type_4s) { //4s店铺
let tab = [{
title: '车辆信息',
step: 2,
}]
this.setData({
tab: tab
})
}
});
},
+1 -1
View File
@@ -148,7 +148,7 @@
</view>
<view class="fixed left-0 right-0 bottom-0 bg-fff-op90 inner40 fn-flex safe-pb">
<block wx:if="{{step==2}}">
<block wx:if="{{userInfo.biz_type==biz_type_4s}}">
<block wx:if="{{info.app_id==app_id_activity}}">
<button class="wp100 btn-36afa2 ml20 pt10 pb10 text-center font-32 color-fff ulib-r750" hover-class="btn-36afa2-hover" disabled="{{submitFlag}}" bindtap="putAppCusorderV2">确认</button>
</block>
<block wx:else>