Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 4f6a356d8c |
@@ -69,27 +69,19 @@
|
||||
"pages/signup/index",
|
||||
"pages/signup/status",
|
||||
"pages/clues/index",
|
||||
"pages/clues/detail/index",
|
||||
"pages/score/index",
|
||||
"pages/score/detail",
|
||||
"pages/customer/score/index",
|
||||
"pages/customer/exchange/index",
|
||||
"pages/customer/score/recharge",
|
||||
"pages/customer/score/exchange"
|
||||
"pages/clues/detail/index"
|
||||
],
|
||||
"permission": {
|
||||
"scope.userLocation": {
|
||||
"desc": "你的位置信息将用于线下车卖场到访签到"
|
||||
}
|
||||
},
|
||||
"echarts": [
|
||||
{
|
||||
"root": "ecCanvas",
|
||||
"pages": [
|
||||
"pages/index/index"
|
||||
]
|
||||
}
|
||||
],
|
||||
"echarts": [{
|
||||
"root": "ecCanvas",
|
||||
"pages": [
|
||||
"pages/index/index"
|
||||
]
|
||||
}],
|
||||
"window": {
|
||||
"backgroundTextStyle": "light",
|
||||
"navigationBarBackgroundColor": "#fff",
|
||||
@@ -112,7 +104,7 @@
|
||||
"navigateToMiniProgramAppIdList": [
|
||||
"wx98e64c11aac45966"
|
||||
],
|
||||
"requiredPrivateInfos": [
|
||||
"requiredPrivateInfos":[
|
||||
"getLocation"
|
||||
]
|
||||
}
|
||||
@@ -39,16 +39,4 @@
|
||||
.bg-ffedeb{background-color:#ffedeb;}
|
||||
|
||||
.bg-f0f4ff{background-color:#f0f4ff;}
|
||||
.bg-fffaf3{background-color:#fffaf3;}
|
||||
|
||||
.bg-size-cover{background-size: cover;}
|
||||
.bg-size-fullwidth{background-size: 100% auto;}
|
||||
.bg-size-fullheight{background-size: auto 100%;}
|
||||
.bg-no-repeat{background-repeat: no-repeat;}
|
||||
.bg-repeat-x{background-repeat:repeat-x;}
|
||||
.bg-repeat-y{background-repeat: repeat-y;}
|
||||
.bg-pos-top{background-position: top center;}
|
||||
.bg-pos-bottom{background-position: bottom center;}
|
||||
.bg-pos-center{background-position: center;}
|
||||
|
||||
.bg-custom-linear-bottom{background-image: linear-gradient(to bottom, var(--linearcolor), transparent);}
|
||||
.bg-fffaf3{background-color:#fffaf3;}
|
||||
@@ -25,5 +25,3 @@
|
||||
.bbs-1-474a65{border-bottom:#474a65 1rpx solid; box-sizing:border-box;}
|
||||
|
||||
.last-b-none:last-child{border-bottom:none;}
|
||||
|
||||
.bbs-1-f6{border-bottom:#f6f6f6 1rpx solid;box-sizing:border-box;}
|
||||
|
||||
@@ -14,5 +14,4 @@
|
||||
.color-fe4109{color:#fe4109;}
|
||||
.color-36afa2{color:#36afa2;}
|
||||
.color-00c800{color:#00c800;}
|
||||
.color-575b6a{color:#575b6a;}
|
||||
.color-ff0000{color:#ff0000;}
|
||||
.color-575b6a{color:#575b6a;}
|
||||
@@ -1,7 +1,4 @@
|
||||
.img-24x24{width:24rpx;height:24rpx;box-sizing:border-box;}
|
||||
.img-28x28{width:28rpx;height:28rpx;box-sizing:border-box;}
|
||||
.img-32x32{width:32rpx;height:32rpx;box-sizing:border-box;}
|
||||
.img-38x38{width:38rpx;height:38rpx;box-sizing:border-box;}
|
||||
.img-45x45{width:45rpx;height:45rpx;box-sizing:border-box;}
|
||||
.img-50x50{width:50rpx;height:50rpx;box-sizing:border-box;}
|
||||
.img-55x55{width:55rpx;height:55rpx;box-sizing:border-box;}
|
||||
@@ -18,7 +15,6 @@
|
||||
.img-130x130{width:130rpx;height:130rpx;box-sizing:border-box;}
|
||||
.img-135x135{width:135rpx;height:135rpx;box-sizing:border-box;}
|
||||
.img-140x140{width:140rpx;height:140rpx;box-sizing:border-box;}
|
||||
.img-154x154{width:154rpx;height:154rpx;box-sizing:border-box;}
|
||||
.img-160x160{width:160rpx;height:160rpx;box-sizing:border-box;}
|
||||
.img-190x175{width:190rpx;height:175rpx;box-sizing:border-box;}
|
||||
.img-200x180{width:200rpx;height:180rpx;box-sizing:border-box;}
|
||||
|
||||
@@ -20,16 +20,8 @@
|
||||
.overflowXhidden{overflow-x:hidden;}
|
||||
.overflow-initial{overflow:initial;}
|
||||
.opacity-0{opacity:0;}
|
||||
.opacity-5{opacity:.05;}
|
||||
.opacity-10{opacity:.1;}
|
||||
.opacity-20{opacity:.2;}
|
||||
.opacity-30{opacity:.3;}
|
||||
.opacity-40{opacity:.4;}
|
||||
.opacity-50{opacity:.5;}
|
||||
.opacity-60{opacity:.6;}
|
||||
.opacity-70{opacity:.7;}
|
||||
.opacity-80{opacity:.8;}
|
||||
.opacity-90{opacity:.9;}
|
||||
|
||||
/*line-clamp*/
|
||||
.line-clamp-2{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;}
|
||||
@@ -52,7 +44,6 @@
|
||||
.fn-flex-around{justify-content: space-around;}/*各项周围留有空白*/
|
||||
.fn-flex-middle{align-items:center;}/*交叉轴上上下居中对齐*/
|
||||
.fn-flex-center{justify-content: center;}/*居中对齐*/
|
||||
.fn-flex-column{flex-direction:column;}
|
||||
|
||||
.wp25{width:25%;box-sizing:border-box;}
|
||||
.wp31{width:31%;box-sizing:border-box;}
|
||||
@@ -144,6 +135,4 @@
|
||||
.safe-pb{padding-bottom:calc(constant(safe-area-inset-bottom) - 15px );padding-bottom:calc(env(safe-area-inset-bottom) - 15px);}
|
||||
|
||||
.datecell{width:14.28%;padding:30rpx 0;text-align:center;box-sizing:border-box;}
|
||||
.datecell.active{background-color:#36afa2;color:#fff;}
|
||||
|
||||
.transition-all{transition: all .2s ease;}
|
||||
.datecell.active{background-color:#36afa2;color:#fff;}
|
||||
@@ -61,7 +61,6 @@
|
||||
.mr50{margin-right:50rpx;}
|
||||
.mr60{margin-right:60rpx;}
|
||||
.mr70{margin-right:70rpx;}
|
||||
.mr100{margin-right:100rpx;}
|
||||
.mr150{margin-right:150rpx;}
|
||||
.mr160{margin-right:160rpx;}
|
||||
.mr170{margin-right:170rpx;}
|
||||
|
||||
@@ -11,5 +11,4 @@
|
||||
.text-shadow{text-shadow:1rpx 3rpx 3rpx rgba(0,0,0,.8);}
|
||||
.text-spacing-10{letter-spacing:10rpx}
|
||||
.space-nowrap{white-space:nowrap;}
|
||||
.space-normal{white-space:normal;}
|
||||
.text-italic{font-style: italic;}
|
||||
.space-normal{white-space:normal;}
|
||||
@@ -11,4 +11,3 @@
|
||||
@import "base/padding.wxss";
|
||||
@import "base/radius.wxss";
|
||||
@import "base/animate.wxss";
|
||||
@import "custom/customIcon.wxss";
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
|
||||
.lcb-coupon{
|
||||
overflow: hidden;
|
||||
background-image: url('https://qs.liche.cn/xiaohongbangV2/coupon/coupon-bg.png');
|
||||
background-image: url('https://qs.haodian.cn/wechat_app/xiaohongbangV2/coupon/coupon-bg.png');
|
||||
background-size: 100% auto;
|
||||
background-repeat: repeat-y;
|
||||
}
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
|
||||
.custom-icon{
|
||||
background-size: 100% 100%;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center;
|
||||
display: inline-block;
|
||||
}
|
||||
.custom-icon-filtersearch{
|
||||
width: 32rpx;
|
||||
height: 32rpx;
|
||||
background-image: url('https://img.liche.cn/lichebao/icon-filtersearch.png');
|
||||
}
|
||||
.custom-icon-logout{
|
||||
width: 32rpx;
|
||||
height: 32rpx;
|
||||
background-image: url('https://img.liche.cn/lichebao/icon-logout.png');
|
||||
}
|
||||
.custom-icon-scancode{
|
||||
width: 24rpx;
|
||||
height: 24rpx;
|
||||
background-image: url('https://img.liche.cn/lichebao/icon-scancode.png');
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
.coms-dialog-kf .pic-top{
|
||||
height: 172rpx;
|
||||
|
||||
background: url("http://qs.haodian.cn/xiaohongbangV2/kf_dialog_bg_2.png") no-repeat top center;
|
||||
background: url("http://qs.haodian.cn/wechat_app/xiaohongbangV2/kf_dialog_bg_2.png") no-repeat top center;
|
||||
background-size: 100% 100%;
|
||||
|
||||
}
|
||||
|
||||
+4
-21
@@ -1,5 +1,4 @@
|
||||
const envVersion = wx.getAccountInfoSync().miniProgram.envVersion;
|
||||
const env = envVersion === "release" || envVersion === "trial" ? "p" : "d";
|
||||
const env = "p";
|
||||
|
||||
const version = 1,
|
||||
|
||||
@@ -26,7 +25,6 @@ api = {
|
||||
upImg: baseUrl + "upimg", //上传图片
|
||||
appUserUkey: "app/user/ukey", //登录/退出登录
|
||||
appUser: "app/user", //用户信息
|
||||
appUserMenu: "app/user/menu", //用户菜单
|
||||
appSms: "app/sms", //获取验证码
|
||||
appUserTel: "app/user/tel", //获取用户手机号
|
||||
appSeriesAttrs: "app/series/attrs", //获取车型属性
|
||||
@@ -37,7 +35,6 @@ api = {
|
||||
appSmsCusorder: "app/sms/cusorder", //订单发短信
|
||||
appCustomerlogs: "app/customerlogs", //获取日志
|
||||
appCustomerData: "app/customers/data", //获取客户详细信息
|
||||
appCustomerLock: "app/customers/unlock", //解锁线索
|
||||
appCusorder: "app/cusorder", //新建订单 /获取订单列表 /获取订单详情 /修改付款方式 /修改委托协议
|
||||
appCusorderTabs: "app/cusorder/tabs", //获取tab
|
||||
appEmployees: "app/employees", //获取客户详细信息 /获取店员列表 /更新店员信息 /删除店员
|
||||
@@ -50,7 +47,6 @@ 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", //获取商务政策
|
||||
@@ -73,7 +69,6 @@ api = {
|
||||
appStatisticsOcust: "app/statistics/ocust", //数据分析-订单数据
|
||||
appStatisticsHcust: "app/statistics/hcust", //首页-客户图标数据
|
||||
appStatisticsHorder: "app/statistics/horder", //首页-订单图表数据
|
||||
appScore: "app/score", //首页-最新运营分
|
||||
|
||||
appStatisticsStats: "app/statistics/stats", //获取渠道经理数据分析入口数据
|
||||
appStatisticsStats_days: "app/statistics/stats_days", //获取渠道经理数据分析数据
|
||||
@@ -124,7 +119,6 @@ api = {
|
||||
appBizSituation_tabs: 'app/biz/situation_tabs', //店铺概况_tab
|
||||
appBizSituation: 'app/biz/situation', //店铺概况 /店铺概况保存
|
||||
appBizStreet: 'app/biz/street', //获取乡镇
|
||||
appBizAccountLogs: 'app/bizAccountLog/lists', //获取店铺充值日志
|
||||
|
||||
appCusorderV2Inten: 'app/cusorderV2/inten', //新增意向金订单
|
||||
appCusorderV2: 'app/cusorderV2', //新建订单 /获取订单列表 /订单详情 /修改订单信息
|
||||
@@ -183,27 +177,17 @@ api = {
|
||||
|
||||
appClues: "app/clues", //获取线索列表 获取线索详情
|
||||
appCluesLogs: "app/clueslogs", //线索日志
|
||||
appCluesLock: "app/clues/unlock", //解锁线索
|
||||
|
||||
appSignConf: "app/sign/conf", //签到配置信息
|
||||
appUserConf: "app/sign/userConf", //用户签到配置信息
|
||||
appSign: "app/sign", //用户签到
|
||||
|
||||
|
||||
appSeriesMbrand: "app/series/mbrand", //获取车系品牌
|
||||
|
||||
appScoreLists: "app/score/lists", //运营分排行
|
||||
appScoreDetail: "app/score/detail", //运营分详情
|
||||
appRadar: "app/score/radar", //雷达图数据
|
||||
|
||||
appPaic: "app/paic", //平安用户
|
||||
appCusorderDestroy: 'app/cusorderDestroy', //核销优惠券
|
||||
appSeriesMbrand: "app/series/mbrand" //获取车系品牌
|
||||
}
|
||||
|
||||
//远程图片存储地址
|
||||
var imgUrl = 'https://qs.liche.cn/lichebao/'
|
||||
|
||||
var licheImgUrl = 'https://img.liche.cn/lichebao/'
|
||||
var imgUrl = 'https://qs.haodian.cn/wechat_app/lichebao/'
|
||||
|
||||
|
||||
/**
|
||||
@@ -254,7 +238,6 @@ export default {
|
||||
version,
|
||||
app_id,
|
||||
imgUrl,
|
||||
licheImgUrl,
|
||||
defaultAvartar,
|
||||
elementScrollTop,
|
||||
bookTmpId,
|
||||
@@ -262,4 +245,4 @@ export default {
|
||||
subscribeTmpId,
|
||||
white401UrlList,
|
||||
v2OrderId,
|
||||
}
|
||||
}
|
||||
@@ -397,13 +397,6 @@ apiQuery.getAppStatisticsHorder = function(params){
|
||||
})
|
||||
}
|
||||
|
||||
//首页-最新运营分
|
||||
apiQuery.getAppScore = function(params){
|
||||
return new Promise(function (resolve, reject) {
|
||||
HttpRequest(false, Config.api.appScore, 2, params, "GET", resolve, reject)
|
||||
})
|
||||
}
|
||||
|
||||
//更新用户店铺id
|
||||
apiQuery.putAppUserResetbiz = function (params) {
|
||||
return new Promise(function (resolve, reject) {
|
||||
@@ -1066,73 +1059,4 @@ apiQuery.getMbrand = function (params) {
|
||||
HttpRequest(false, Config.api.appSeriesMbrand, 2, params, "GET", resolve, reject)
|
||||
})
|
||||
}
|
||||
|
||||
//运营分排行列表
|
||||
apiQuery.appScoreLists = function(params){
|
||||
return new Promise(function (resolve, reject) {
|
||||
HttpRequest(false, Config.api.appScoreLists, 2, params, "GET", resolve, reject)
|
||||
})
|
||||
}
|
||||
|
||||
//运营分详情
|
||||
apiQuery.appScoreDetail = function(params){
|
||||
return new Promise(function (resolve, reject) {
|
||||
HttpRequest(false, Config.api.appScoreDetail, 2, params, "GET", resolve, reject)
|
||||
})
|
||||
}
|
||||
//雷达图
|
||||
apiQuery.appRadar = function(params){
|
||||
return new Promise(function (resolve, reject) {
|
||||
HttpRequest(false, Config.api.appRadar, 2, params, "GET", resolve, reject)
|
||||
})
|
||||
}
|
||||
|
||||
//雷达图
|
||||
apiQuery.appPaic = function(params){
|
||||
return new Promise(function (resolve, reject) {
|
||||
HttpRequest(false, Config.api.appPaic, 2, params, "GET", resolve, reject)
|
||||
})
|
||||
}
|
||||
|
||||
//获取用户中心菜单
|
||||
apiQuery.getUserMenu = function(params){
|
||||
return new Promise(function (resolve, reject) {
|
||||
HttpRequest(false, Config.api.appUserMenu, 2, params, "GET", resolve, reject)
|
||||
})
|
||||
}
|
||||
//解锁线索
|
||||
apiQuery.putAppCluesLock = function (params) {
|
||||
return new Promise(function (resolve, reject) {
|
||||
HttpRequest(true, Config.api.appCluesLock, 2, params, "PUT", resolve, reject)
|
||||
})
|
||||
}
|
||||
//店铺充值记录
|
||||
apiQuery.getBizAccountLogs = function (params) {
|
||||
return new Promise(function (resolve, reject) {
|
||||
HttpRequest(false, Config.api.appBizAccountLogs, 2, params, "GET", resolve, reject)
|
||||
})
|
||||
}
|
||||
//核销优惠券
|
||||
apiQuery.postAppCusorderDestroy = function (params) {
|
||||
return new Promise(function (resolve, reject) {
|
||||
HttpRequest(false, Config.api.appCusorderDestroy, 2, params, "POST", resolve, reject)
|
||||
})
|
||||
}
|
||||
//优惠券记录
|
||||
apiQuery.getAppCusorderDestroy = function (params) {
|
||||
return new Promise(function (resolve, reject) {
|
||||
HttpRequest(false, Config.api.appCusorderDestroy, 2, params, "GET", resolve, reject)
|
||||
})
|
||||
}
|
||||
//解锁客户
|
||||
apiQuery.putAppCustomerLock = function (params) {
|
||||
return new Promise(function (resolve, reject) {
|
||||
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;
|
||||
@@ -35,19 +35,7 @@ Component({
|
||||
overlayStyle: {
|
||||
type: String,
|
||||
value: 'background-color: rgba(0, 0, 0, 0.7)'
|
||||
},
|
||||
title: {
|
||||
type: String,
|
||||
value: '品牌名'
|
||||
},
|
||||
loadAll: {
|
||||
type: Boolean,
|
||||
value: false
|
||||
},
|
||||
apiType: {
|
||||
type: String,
|
||||
value: ''
|
||||
}
|
||||
},
|
||||
attached(){
|
||||
debouncetimer = null
|
||||
@@ -69,6 +57,25 @@ Component({
|
||||
data: {
|
||||
show_page: false,
|
||||
list: [],
|
||||
// list: [{
|
||||
// id: 1,
|
||||
// name: '宝马'
|
||||
// },{
|
||||
// id: 1,
|
||||
// name: '宝马'
|
||||
// },{
|
||||
// id: 1,
|
||||
// name: '宝马'
|
||||
// },{
|
||||
// id: 1,
|
||||
// name: '宝马'
|
||||
// },{
|
||||
// id: 1,
|
||||
// name: '宝马'
|
||||
// },{
|
||||
// id: 1,
|
||||
// name: '宝马'
|
||||
// }],
|
||||
cur: -1,
|
||||
keyword: '',
|
||||
item: {}
|
||||
@@ -82,14 +89,7 @@ Component({
|
||||
// console.log(res)
|
||||
},
|
||||
onEnter(res) {
|
||||
this.setData({
|
||||
keyword:'',
|
||||
list:[]
|
||||
})
|
||||
// console.log(res)
|
||||
if(this.data.loadAll){
|
||||
this.apiGetMbrand('')
|
||||
}
|
||||
this.triggerEvent('enter')
|
||||
},
|
||||
onAfterEnter(res) {
|
||||
@@ -158,20 +158,11 @@ Component({
|
||||
|
||||
//app/series/mbrand
|
||||
apiGetMbrand(keyword){
|
||||
if(this.data.apiType=='appPaic'){
|
||||
_.apiQuery.appPaic({keyword}).then(res => {
|
||||
this.setData({
|
||||
list: res.data.list
|
||||
})
|
||||
_.apiQuery.getMbrand({keyword}).then(res => {
|
||||
this.setData({
|
||||
list: res.data.list
|
||||
})
|
||||
}else{
|
||||
_.apiQuery.getMbrand({keyword}).then(res => {
|
||||
this.setData({
|
||||
list: res.data.list
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
@@ -4,7 +4,7 @@
|
||||
<view class="detail-page fn-flex" style="flex-direction:column;">
|
||||
<view class="inner30">
|
||||
<view class="ulib-r20 bds-2-eb text-center pt15 pb15">
|
||||
<input placeholder="请输入{{title}}" value="{{keyword}}" bindinput="bindInputKeyword"/>
|
||||
<input placeholder="请输入品牌名" value="{{keyword}}" bindinput="bindInputKeyword"/>
|
||||
</view>
|
||||
</view>
|
||||
<view class="list fn-flex-item relative">
|
||||
@@ -21,9 +21,9 @@
|
||||
</scroll-view>
|
||||
</view>
|
||||
<!-- <view class="color-fff">请输入品牌名</view> -->
|
||||
<listmore wx:else isMiddle="{{true}}" noDataMsg="请输入{{title}}" isNoData="{{true}}"></listmore>
|
||||
<listmore wx:else isMiddle="{{true}}" noDataMsg="请输入品牌名" isNoData="{{true}}"></listmore>
|
||||
</view>
|
||||
<view class="pb150 pl80 pr80 fn-flex">
|
||||
<view class="pb40 pl80 pr80 fn-flex">
|
||||
<button class="btn btn-36afa2 color-fff fn-flex-item" style="transition: .2s all ease;" hover-class="btn-36afa2-hover" bindtap="exit" disabled="{{!(cur>-1)}}">我选好了</button>
|
||||
<button class="btn btn-f0 color-ccc ml30" style="transition: .2s all ease;" hover-class="btn-f0-hover" bindtap="cancel">取消</button>
|
||||
</view>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
@import "../../commons/css/common.wxss";
|
||||
.z-index-4{z-index:9999999999;}
|
||||
.icon-menu{background:url("https://qs.liche.cn/lichebao/common/icon-menu.png") no-repeat;background-size:750rpx auto;}
|
||||
.icon-menu{background:url("https://qs.haodian.cn/wechat_app/lichebao/common/icon-menu.png") no-repeat;background-size:750rpx auto;}
|
||||
.tab-home{background-position:0 5rpx;}
|
||||
.tab-home-ac{background-position:0 -55rpx;}
|
||||
.tab-dataAnalysis{background-position:-60rpx 5rpx;}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<!--
|
||||
<view>
|
||||
<text class="support-tx">Powered by</text>
|
||||
<image class='inline-block img-30x30' mode='aspectFit' src='https://qs.liche.cn/common/lc-logo-gray.png?v=220223'></image>
|
||||
<image class='inline-block img-30x30' mode='aspectFit' src='https://qs.haodian.cn/wechat_app/common/lc-logo-gray.png?v=220223'></image>
|
||||
<text class="support-tx">狸车</text>
|
||||
</view>
|
||||
-->
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
.noData {
|
||||
width:264rpx;
|
||||
height:165rpx;
|
||||
background: url(https://qs.liche.cn/liche/common/none.png?v=191231) no-repeat;
|
||||
background: url(https://qs.haodian.cn/wechat_app/liche/common/none.png?v=191231) no-repeat;
|
||||
background-size:100% auto;
|
||||
background-position: top center;
|
||||
}
|
||||
@@ -1,393 +0,0 @@
|
||||
/*!
|
||||
* mp-html v2.4.0
|
||||
* https://github.com/jin-yufeng/mp-html
|
||||
*
|
||||
* Released under the MIT license
|
||||
* Author: Jin Yufeng
|
||||
*/
|
||||
const Parser = require('./parser')
|
||||
const plugins = []
|
||||
|
||||
Component({
|
||||
data: {
|
||||
nodes: []
|
||||
},
|
||||
properties: {
|
||||
/**
|
||||
* @description 容器的样式
|
||||
* @type {String}
|
||||
*/
|
||||
containerStyle: String,
|
||||
|
||||
/**
|
||||
* @description 用于渲染的 html 字符串
|
||||
* @type {String}
|
||||
*/
|
||||
content: {
|
||||
type: String,
|
||||
value: '',
|
||||
observer (content) {
|
||||
this.setContent(content)
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* @description 是否允许外部链接被点击时自动复制
|
||||
* @type {Boolean}
|
||||
* @default true
|
||||
*/
|
||||
copyLink: {
|
||||
type: Boolean,
|
||||
value: true
|
||||
},
|
||||
|
||||
/**
|
||||
* @description 主域名,用于拼接链接
|
||||
* @type {String}
|
||||
*/
|
||||
domain: String,
|
||||
|
||||
/**
|
||||
* @description 图片出错时的占位图链接
|
||||
* @type {String}
|
||||
*/
|
||||
errorImg: String,
|
||||
|
||||
/**
|
||||
* @description 是否开启图片懒加载
|
||||
* @type {Boolean}
|
||||
* @default false
|
||||
*/
|
||||
lazyLoad: Boolean,
|
||||
|
||||
/**
|
||||
* @description 图片加载过程中的占位图链接
|
||||
* @type {String}
|
||||
*/
|
||||
loadingImg: String,
|
||||
|
||||
/**
|
||||
* @description 是否在播放一个视频时自动暂停其他视频
|
||||
* @type {Boolean}
|
||||
* @default true
|
||||
*/
|
||||
pauseVideo: {
|
||||
type: Boolean,
|
||||
value: true
|
||||
},
|
||||
|
||||
/**
|
||||
* @description 是否允许图片被点击时自动预览
|
||||
* @type {Boolean}
|
||||
* @default true
|
||||
*/
|
||||
previewImg: {
|
||||
type: Boolean,
|
||||
value: true
|
||||
},
|
||||
|
||||
/**
|
||||
* @description 是否给每个表格添加一个滚动层使其能单独横向滚动
|
||||
* @type {Boolean}
|
||||
* @default false
|
||||
*/
|
||||
scrollTable: Boolean,
|
||||
|
||||
/**
|
||||
* @description 是否开启长按复制
|
||||
* @type {Boolean | String}
|
||||
* @default false
|
||||
*/
|
||||
selectable: null,
|
||||
|
||||
/**
|
||||
* @description 是否将 title 标签的内容设置到页面标题
|
||||
* @type {Boolean}
|
||||
* @default true
|
||||
*/
|
||||
setTitle: {
|
||||
type: Boolean,
|
||||
value: true
|
||||
},
|
||||
|
||||
/**
|
||||
* @description 是否允许图片被长按时显示菜单
|
||||
* @type {Boolean}
|
||||
* @default true
|
||||
*/
|
||||
showImgMenu: {
|
||||
type: Boolean,
|
||||
value: true
|
||||
},
|
||||
|
||||
/**
|
||||
* @description 标签的默认样式
|
||||
* @type {Object}
|
||||
*/
|
||||
tagStyle: Object,
|
||||
|
||||
/**
|
||||
* @description 是否使用锚点链接
|
||||
* @type {Boolean | Number}
|
||||
* @default false
|
||||
*/
|
||||
useAnchor: null
|
||||
},
|
||||
|
||||
created () {
|
||||
this.plugins = []
|
||||
for (let i = plugins.length; i--;) {
|
||||
this.plugins.push(new plugins[i](this))
|
||||
}
|
||||
|
||||
// #ifdef MP-ALIPAY
|
||||
if (this.properties.content) {
|
||||
this.setContent(this.properties.content)
|
||||
}
|
||||
// #endif
|
||||
},
|
||||
|
||||
// #ifdef MP-ALIPAY
|
||||
didUpdate (e) {
|
||||
if (e.content !== this.properties.content) {
|
||||
this.setContent(this.properties.content)
|
||||
}
|
||||
},
|
||||
// #endif
|
||||
|
||||
detached () {
|
||||
// 注销插件
|
||||
this._hook('onDetached')
|
||||
},
|
||||
|
||||
methods: {
|
||||
/**
|
||||
* @description 将锚点跳转的范围限定在一个 scroll-view 内
|
||||
* @param {Object} page scroll-view 所在页面的示例
|
||||
* @param {String} selector scroll-view 的选择器
|
||||
* @param {String} scrollTop scroll-view scroll-top 属性绑定的变量名
|
||||
*/
|
||||
in (page, selector, scrollTop) {
|
||||
if (page && selector && scrollTop) {
|
||||
this._in = {
|
||||
page,
|
||||
selector,
|
||||
scrollTop
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* @description 锚点跳转
|
||||
* @param {String} id 要跳转的锚点 id
|
||||
* @param {Number} offset 跳转位置的偏移量
|
||||
* @returns {Promise}
|
||||
*/
|
||||
navigateTo (id, offset) {
|
||||
return new Promise((resolve, reject) => {
|
||||
if (!this.properties.useAnchor) {
|
||||
reject(Error('Anchor is disabled'))
|
||||
return
|
||||
}
|
||||
// 跨组件选择器
|
||||
const deep =
|
||||
// #ifdef MP-WEIXIN || MP-QQ || MP-TOUTIAO
|
||||
'>>>'
|
||||
// #endif
|
||||
// #ifdef MP-BAIDU || MP-ALIPAY
|
||||
' ' // eslint-disable-line
|
||||
// #endif
|
||||
const selector = wx.createSelectorQuery()
|
||||
// #ifndef MP-ALIPAY
|
||||
.in(this._in ? this._in.page : this)
|
||||
// #endif
|
||||
.select((this._in ? this._in.selector : '._root') + (id ? `${deep}#${id}` : '')).boundingClientRect()
|
||||
if (this._in) {
|
||||
selector.select(this._in.selector).scrollOffset()
|
||||
.select(this._in.selector).boundingClientRect()
|
||||
} else {
|
||||
// 获取 scroll-view 的位置和滚动距离
|
||||
selector.selectViewport().scrollOffset() // 获取窗口的滚动距离
|
||||
}
|
||||
selector.exec(res => {
|
||||
if (!res[0]) {
|
||||
reject(Error('Label not found'))
|
||||
return
|
||||
}
|
||||
const scrollTop = res[1].scrollTop + res[0].top - (res[2] ? res[2].top : 0) + (offset || parseInt(this.properties.useAnchor) || 0)
|
||||
if (this._in) {
|
||||
// scroll-view 跳转
|
||||
this._in.page.setData({
|
||||
[this._in.scrollTop]: scrollTop
|
||||
})
|
||||
} else {
|
||||
// 页面跳转
|
||||
wx.pageScrollTo({
|
||||
scrollTop,
|
||||
duration: 300
|
||||
})
|
||||
}
|
||||
resolve()
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* @description 获取文本内容
|
||||
* @returns {String}
|
||||
*/
|
||||
getText (nodes) {
|
||||
let text = '';
|
||||
(function traversal (nodes) {
|
||||
for (let i = 0; i < nodes.length; i++) {
|
||||
const node = nodes[i]
|
||||
if (node.type === 'text') {
|
||||
text += node.text.replace(/&/g, '&')
|
||||
} else if (node.name === 'br') {
|
||||
text += '\n'
|
||||
} else {
|
||||
// 块级标签前后加换行
|
||||
const isBlock = node.name === 'p' || node.name === 'div' || node.name === 'tr' || node.name === 'li' || (node.name[0] === 'h' && node.name[1] > '0' && node.name[1] < '7')
|
||||
if (isBlock && text && text[text.length - 1] !== '\n') {
|
||||
text += '\n'
|
||||
}
|
||||
// 递归获取子节点的文本
|
||||
if (node.children) {
|
||||
traversal(node.children)
|
||||
}
|
||||
if (isBlock && text[text.length - 1] !== '\n') {
|
||||
text += '\n'
|
||||
} else if (node.name === 'td' || node.name === 'th') {
|
||||
text += '\t'
|
||||
}
|
||||
}
|
||||
}
|
||||
})(nodes || this.data.nodes)
|
||||
return text
|
||||
},
|
||||
|
||||
/**
|
||||
* @description 获取内容大小
|
||||
* @returns {Promise}
|
||||
*/
|
||||
getRect () {
|
||||
return new Promise((resolve, reject) => {
|
||||
wx.createSelectorQuery()
|
||||
// #ifndef MP-ALIPAY
|
||||
.in(this)
|
||||
// #endif
|
||||
.select('._root').boundingClientRect().exec(res => res[0] ? resolve(res[0]) : reject(Error('Root label not found')))
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* @description 暂停播放媒体
|
||||
*/
|
||||
pauseMedia () {
|
||||
for (let i = (this._videos || []).length; i--;) {
|
||||
this._videos[i].pause()
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* @description 设置媒体播放速率
|
||||
* @param {Number} rate 播放速率
|
||||
*/
|
||||
setPlaybackRate (rate) {
|
||||
this.playbackRate = rate
|
||||
for (let i = (this._videos || []).length; i--;) {
|
||||
this._videos[i].playbackRate(rate)
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* @description 设置富文本内容
|
||||
* @param {string} content 要渲染的 html 字符串
|
||||
* @param {boolean} append 是否在尾部追加
|
||||
*/
|
||||
setContent (content, append) {
|
||||
if (!this.imgList || !append) {
|
||||
this.imgList = []
|
||||
}
|
||||
this._videos = []
|
||||
|
||||
const data = {}
|
||||
const nodes = new Parser(this).parse(content)
|
||||
// 尾部追加内容
|
||||
if (append) {
|
||||
for (let i = this.data.nodes.length, j = nodes.length; j--;) {
|
||||
data[`nodes[${i + j}]`] = nodes[j]
|
||||
}
|
||||
} else {
|
||||
data.nodes = nodes
|
||||
}
|
||||
|
||||
this.setData(data,
|
||||
// #ifndef MP-TOUTIAO
|
||||
() => {
|
||||
this._hook('onLoad')
|
||||
this.triggerEvent('load')
|
||||
}
|
||||
// #endif
|
||||
)
|
||||
|
||||
// #ifdef MP-TOUTIAO
|
||||
this.selectComponent('#_root', child => {
|
||||
child.root = this
|
||||
this._hook('onLoad')
|
||||
this.triggerEvent('load')
|
||||
})
|
||||
// #endif
|
||||
|
||||
if (this.properties.lazyLoad || this.imgList._unloadimgs < this.imgList.length / 2) {
|
||||
// 设置懒加载,每 350ms 获取高度,不变则认为加载完毕
|
||||
let height
|
||||
const callback = rect => {
|
||||
// 350ms 总高度无变化就触发 ready 事件
|
||||
if (rect.height === height) {
|
||||
this.triggerEvent('ready', rect)
|
||||
} else {
|
||||
height = rect.height
|
||||
setTimeout(() => {
|
||||
this.getRect().then(callback)
|
||||
}, 350)
|
||||
}
|
||||
}
|
||||
this.getRect().then(callback)
|
||||
} else {
|
||||
// 未设置懒加载,等待所有图片加载完毕
|
||||
if (!this.imgList._unloadimgs) {
|
||||
this.getRect(rect => {
|
||||
this.triggerEvent('ready', rect)
|
||||
})
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* @description 调用插件的钩子函数
|
||||
* @private
|
||||
*/
|
||||
_hook (name) {
|
||||
for (let i = plugins.length; i--;) {
|
||||
if (this.plugins[i][name]) {
|
||||
this.plugins[i][name]()
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
// #ifndef MP-TOUTIAO
|
||||
/**
|
||||
* @description 添加子组件
|
||||
* @private
|
||||
*/
|
||||
_add (e) {
|
||||
e
|
||||
// #ifndef MP-ALIPAY
|
||||
.detail
|
||||
// #endif
|
||||
.root = this
|
||||
}
|
||||
// #endif
|
||||
}
|
||||
})
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"component": true,
|
||||
"usingComponents": {
|
||||
"node": "./node/node"
|
||||
}
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
<!-- 主组件 -->
|
||||
<view class="_root {{selectable?'_select':''}}" style="{{containerStyle}}">
|
||||
<!-- 加载完成前显示自定义 loading -->
|
||||
<slot wx:if="{{!nodes[0]}}" />
|
||||
<!-- 节点树 -->
|
||||
<node id="_root" childs="{{nodes}}" opts="{{[lazyLoad,loadingImg,errorImg,showImgMenu,selectable]}}" catchadd="_add" />
|
||||
</view>
|
||||
@@ -1,2 +0,0 @@
|
||||
._root{padding:0;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;}
|
||||
._select{-webkit-user-select:text;user-select:text;}
|
||||
@@ -1,237 +0,0 @@
|
||||
/**
|
||||
* @fileoverview 递归子组件,用于显示节点树
|
||||
*/
|
||||
Component({
|
||||
data: {
|
||||
ctrl: {}, // 控制信号
|
||||
// #ifdef MP-WEIXIN
|
||||
isiOS: wx.getSystemInfoSync().system.includes('iOS')
|
||||
// #endif
|
||||
},
|
||||
properties: {
|
||||
childs: Array, // 子节点列表
|
||||
opts: Array // 设置 [是否开启懒加载, 加载中占位图, 错误占位图, 是否使用长按菜单]
|
||||
},
|
||||
options: {
|
||||
addGlobalClass: true
|
||||
},
|
||||
// #ifndef MP-TOUTIAO
|
||||
attached () {
|
||||
// #ifndef MP-ALIPAY
|
||||
this.triggerEvent('add', this, {
|
||||
bubbles: true,
|
||||
composed: true
|
||||
})
|
||||
// #endif
|
||||
// #ifdef MP-ALIPAY
|
||||
// this.props.onAdd(this)
|
||||
// #endif
|
||||
},
|
||||
// #endif
|
||||
methods: {
|
||||
noop () { },
|
||||
/**
|
||||
* @description 获取标签
|
||||
* @param {String} path 路径
|
||||
*/
|
||||
getNode (path) {
|
||||
try {
|
||||
const nums = path.split('_')
|
||||
let node = this.properties.childs[nums[0]]
|
||||
for (let i = 1; i < nums.length; i++) {
|
||||
node = node.children[nums[i]]
|
||||
}
|
||||
return node
|
||||
} catch {
|
||||
return {
|
||||
text: '',
|
||||
attrs: {},
|
||||
children: []
|
||||
}
|
||||
}
|
||||
},
|
||||
/**
|
||||
* @description 播放视频事件
|
||||
* @param {Event} e
|
||||
*/
|
||||
play (e) {
|
||||
this.root.triggerEvent('play')
|
||||
if (this.root.properties.pauseVideo) {
|
||||
let flag = false
|
||||
const id = e.target.id
|
||||
for (let i = this.root._videos.length; i--;) {
|
||||
if (this.root._videos[i].id === id) {
|
||||
flag = true
|
||||
} else {
|
||||
this.root._videos[i].pause() // 自动暂停其他视频
|
||||
}
|
||||
}
|
||||
// 将自己加入列表
|
||||
if (!flag) {
|
||||
const ctx = wx.createVideoContext(id
|
||||
// #ifndef MP-BAIDU
|
||||
, this
|
||||
// #endif
|
||||
)
|
||||
ctx.id = id
|
||||
if (this.root.playbackRate) {
|
||||
ctx.playbackRate(this.root.playbackRate)
|
||||
}
|
||||
this.root._videos.push(ctx)
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* @description 图片点击事件
|
||||
* @param {Event} e
|
||||
*/
|
||||
imgTap (e) {
|
||||
const node = this.getNode(e.target.dataset.i)
|
||||
// 父级中有链接
|
||||
if (node.a) return this.linkTap(node.a)
|
||||
if (node.attrs.ignore) return
|
||||
this.root.triggerEvent('imgtap', node.attrs)
|
||||
if (this.root.properties.previewImg) {
|
||||
const current =
|
||||
// #ifndef MP-ALIPAY
|
||||
this.root.imgList[node.i]
|
||||
// #endif
|
||||
// #ifdef MP-ALIPAY
|
||||
node.i // eslint-disable-line
|
||||
// #endif
|
||||
// 自动预览图片
|
||||
wx.previewImage({
|
||||
// #ifdef MP-WEIXIN
|
||||
showmenu: this.root.properties.showImgMenu,
|
||||
// #endif
|
||||
// #ifdef MP-ALIPAY
|
||||
enablesavephoto: this.root.properties.showImgMenu,
|
||||
enableShowPhotoDownload: this.root.properties.showImgMenu,
|
||||
// #endif
|
||||
current,
|
||||
urls: this.root.imgList
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* @description 图片加载完成事件
|
||||
* @param {Event} e
|
||||
*/
|
||||
imgLoad (e) {
|
||||
const i = e.target.dataset.i
|
||||
const node = this.getNode(i)
|
||||
let val
|
||||
if (!node.w) {
|
||||
val = e.detail.width
|
||||
} else if ((this.properties.opts[1] && !this.data.ctrl[i]) || this.data.ctrl[i] === -1) {
|
||||
// 加载完毕,取消加载中占位图
|
||||
val = 1
|
||||
}
|
||||
if (val
|
||||
// #ifdef MP-TOUTIAO
|
||||
&& val !== this.data.ctrl[i] // eslint-disable-line
|
||||
// #endif
|
||||
) {
|
||||
this.setData({
|
||||
['ctrl.' + i]: val
|
||||
})
|
||||
}
|
||||
this.checkReady()
|
||||
},
|
||||
|
||||
/**
|
||||
* @description 检查是否所有图片加载完毕
|
||||
*/
|
||||
checkReady () {
|
||||
if (!this.root.properties.lazyLoad) {
|
||||
this.root.imgList._unloadimgs -= 1
|
||||
if (!this.root.imgList._unloadimgs) {
|
||||
setTimeout(() => {
|
||||
this.root.getRect().then(rect => {
|
||||
this.root.triggerEvent('ready', rect)
|
||||
})
|
||||
}, 350)
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* @description 链接点击事件
|
||||
* @param {Event} e
|
||||
*/
|
||||
linkTap (e) {
|
||||
const node = e.currentTarget ? this.getNode(e.currentTarget.dataset.i) : {}
|
||||
const attrs = node.attrs || e
|
||||
const href = attrs.href
|
||||
this.root.triggerEvent('linktap', Object.assign({
|
||||
innerText: this.root.getText(node.children || []) // 链接内的文本内容
|
||||
}, attrs))
|
||||
if (href) {
|
||||
if (href[0] === '#') {
|
||||
// 跳转锚点
|
||||
this.root.navigateTo(href.substring(1)).catch(() => { })
|
||||
} else if (href.split('?')[0].includes('://')) {
|
||||
// 复制外部链接
|
||||
if (this.root.properties.copyLink) {
|
||||
wx.setClipboardData({
|
||||
data: href,
|
||||
success: () =>
|
||||
wx.showToast({
|
||||
title: '链接已复制'
|
||||
})
|
||||
})
|
||||
}
|
||||
} else {
|
||||
// 跳转页面
|
||||
wx.navigateTo({
|
||||
url: href,
|
||||
fail () {
|
||||
wx.switchTab({
|
||||
url: href,
|
||||
fail () { }
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* @description 错误事件
|
||||
* @param {Event} e
|
||||
*/
|
||||
mediaError (e) {
|
||||
const i = e.target.dataset.i
|
||||
const node = this.getNode(i)
|
||||
if (node.name === 'video' || node.name === 'audio') {
|
||||
// 加载其他源
|
||||
let index = (this.data.ctrl[i] || 0) + 1
|
||||
if (index > node.src.length) {
|
||||
index = 0
|
||||
}
|
||||
if (index < node.src.length) {
|
||||
return this.setData({
|
||||
['ctrl.' + i]: index
|
||||
})
|
||||
}
|
||||
} else if (node.name === 'img') {
|
||||
// 显示错误占位图
|
||||
if (this.properties.opts[2]) {
|
||||
this.setData({
|
||||
['ctrl.' + i]: -1
|
||||
})
|
||||
}
|
||||
this.checkReady()
|
||||
}
|
||||
if (this.root) {
|
||||
this.root.triggerEvent('error', {
|
||||
source: node.name,
|
||||
attrs: node.attrs,
|
||||
errMsg: e.detail.errMsg
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
@@ -1,6 +0,0 @@
|
||||
{
|
||||
"component": true,
|
||||
"usingComponents": {
|
||||
"node": "./node"
|
||||
}
|
||||
}
|
||||
@@ -1,112 +0,0 @@
|
||||
<!-- node 递归子组件 -->
|
||||
<!-- #ifdef MP-WEIXIN || MP-QQ -->
|
||||
<wxs module="isInline">
|
||||
// 行内标签列表
|
||||
var inlineTags = {
|
||||
abbr: true,
|
||||
b: true,
|
||||
big: true,
|
||||
code: true,
|
||||
del: true,
|
||||
em: true,
|
||||
i: true,
|
||||
ins: true,
|
||||
label: true,
|
||||
q: true,
|
||||
small: true,
|
||||
span: true,
|
||||
strong: true,
|
||||
sub: true,
|
||||
sup: true
|
||||
}
|
||||
/**
|
||||
* @description 判断是否为行内标签
|
||||
*/
|
||||
module.exports = function (tagName, style) {
|
||||
return inlineTags[tagName] || (style || '').indexOf('inline') !== -1
|
||||
}
|
||||
</wxs>
|
||||
<!-- #endif -->
|
||||
<template name="el">
|
||||
<!-- 图片 -->
|
||||
<block wx:if="{{n.name==='img'}}">
|
||||
<!-- 表格中的图片,使用 rich-text 防止大小不正确 -->
|
||||
<rich-text wx:if="{{n.t}}" style="display:{{n.t}}" nodes="<img class='_img' style='{{n.attrs.style}}' src='{{n.attrs.src}}'>" data-i="{{i}}" catchtap="imgTap" />
|
||||
<block wx:else>
|
||||
<!-- 占位图 -->
|
||||
<image wx:if="{{(opts[1]&&!ctrl[i])||ctrl[i]<0}}" class="_img _img_block" style="{{n.attrs.style}};" src="{{ctrl[i]<0?opts[2]:opts[1]}}" mode="widthFix" />
|
||||
<!-- 显示图片 -->
|
||||
<image id="{{n.attrs.id}}" class="_img _img_block {{n.attrs.class}}" style="{{ctrl[i]===-1?'display:none;':''}}width:{{ctrl[i]||1}}px;height:1px;{{n.attrs.style}}" src="{{n.attrs.src}}" mode="{{!n.h?'widthFix':(!n.w?'heightFix':'')}}" lazy-load="{{opts[0]}}" webp="{{n.webp}}" show-menu-by-longpress="{{opts[3]&&!n.attrs.ignore}}" mp-baidu:image-menu-prevent="{{!opts[3]||n.attrs.ignore}}" data-i="{{i}}" bindload="imgLoad" binderror="mediaError" catchtap="imgTap" bindlongpress="noop" />
|
||||
</block>
|
||||
</block>
|
||||
<!-- 文本 -->
|
||||
<!-- #ifdef MP-WEIXIN || MP-QQ -->
|
||||
<text wx:elif="{{n.text}}" user-select="{{opts[4]=='force'&&isiOS}}" decode>{{n.text}}</text>
|
||||
<!-- #endif -->
|
||||
<text wx:elif="{{n.name==='br'}}">\n</text>
|
||||
<!-- 链接 -->
|
||||
<view wx:elif="{{n.name==='a'}}" id="{{n.attrs.id}}" class="{{n.attrs.href?'_a ':''}}{{n.attrs.class}}" hover-class="_hover" style="display:inline;{{n.attrs.style}}" data-i="{{i}}" catchtap="linkTap">
|
||||
<!-- #ifdef MP-WEIXIN || MP-QQ -->
|
||||
<node childs="{{n.children}}" opts="{{opts}}" style="display:inherit" />
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef MP-BAIDU -->
|
||||
<block wx:for="{{n.children}}" wx:key="index">
|
||||
<template is="el" data="{{n:item,i:i+'_'+index,opts:opts,ctrl:ctrl}}"></template>
|
||||
</block>
|
||||
<!-- #endif -->
|
||||
<!-- #ifdef MP-ALIPAY || MP-TOUTIAO -->
|
||||
<template is="node" data="{{childs:n.children,path:i+'_',opts:opts,ctrl:ctrl}}"></template>
|
||||
<!-- #endif -->
|
||||
</view>
|
||||
<!-- 视频 -->
|
||||
<video wx:elif="{{n.name==='video'}}" id="{{n.attrs.id}}" class="{{n.attrs.class}}" style="{{n.attrs.style}}" autoplay="{{n.attrs.autoplay}}" controls="{{n.attrs.controls}}" loop="{{n.attrs.loop}}" muted="{{n.attrs.muted}}" object-fit="{{n.attrs['object-fit']}}" poster="{{n.attrs.poster}}" src="{{n.src[ctrl[i]||0]}}" data-i="{{i}}" bindplay="play" binderror="mediaError" />
|
||||
<!-- #ifndef MP-TOUTIAO -->
|
||||
<!-- 音频 -->
|
||||
<audio wx:elif="{{n.name==='audio'}}" id="{{n.attrs.id}}" class="{{n.attrs.class}}" style="{{n.attrs.style}}" author="{{n.attrs.author}}" controls="{{n.attrs.controls}}" loop="{{n.attrs.loop}}" name="{{n.attrs.name}}" poster="{{n.attrs.poster}}" src="{{n.src[ctrl[i]||0]}}" data-i="{{i}}" bindplay="play" binderror="mediaError" />
|
||||
<!-- #endif -->
|
||||
<!-- insert -->
|
||||
<!-- 富文本 -->
|
||||
<rich-text wx:else id="{{n.attrs.id}}" mp-baidu:mp-toutiao:style="{{n.f}}" mp-alipay:style="{{n.f}};display:inline" mp-baidu:selectable="{{opts[4]}}" user-select="{{opts[4]}}" nodes="{{[n]}}" />
|
||||
</template>
|
||||
<!-- #ifdef MP-ALIPAY || MP-TOUTIAO -->
|
||||
<!-- <template name="node">
|
||||
<block wx:for="{{childs}}" wx:for-item="n" wx:for-index="i" wx:key="i">
|
||||
<template wx:if="{{!n.c}}" is="el" data="{{n:n,i:path+i,opts:opts,ctrl:ctrl}}" />
|
||||
<view wx:else id="{{n.attrs.id}}" class="_{{n.name}} {{n.attrs.class}}" style="{{n.attrs.style}}">
|
||||
<template is="node" data="{{childs:n.children,path:path+i+'_',opts:opts,ctrl:ctrl}}"></template>
|
||||
</view>
|
||||
</block>
|
||||
</template>
|
||||
<template is="node" data="{{childs:childs,path:'',opts:opts,ctrl:ctrl}}"></template> -->
|
||||
<!-- #endif -->
|
||||
<!-- #ifndef MP-ALIPAY || MP-TOUTIAO -->
|
||||
<!-- 第 1 层 -->
|
||||
<block wx:for="{{childs}}" wx:for-item="n1" wx:for-index="i1" wx:key="i1">
|
||||
<template wx:if="{{!n1.c&&(!n1.children||n1.name==='a'||!isInline(n1.name,n1.attrs.style))}}" mp-baidu:wx:if="{{!n1.c}}" is="el" data="{{n:n1,i:''+i1,opts:opts,ctrl:ctrl}}" />
|
||||
<view wx:else id="{{n1.attrs.id}}" class="_{{n1.name}} {{n1.attrs.class}}" style="{{n1.attrs.style}}">
|
||||
<!-- 第 2 层 -->
|
||||
<block wx:for="{{n1.children}}" wx:for-item="n2" wx:for-index="i2" wx:key="i2">
|
||||
<template wx:if="{{!n2.c&&(!n2.children||n2.name==='a'||!isInline(n2.name,n2.attrs.style))}}" mp-baidu:wx:if="{{!n2.c}}" is="el" data="{{n:n2,i:i1+'_'+i2,opts:opts,ctrl:ctrl}}" />
|
||||
<view wx:else id="{{n2.attrs.id}}" class="_{{n2.name}} {{n2.attrs.class}}" style="{{n2.attrs.style}}">
|
||||
<!-- 第 3 层 -->
|
||||
<block wx:for="{{n2.children}}" wx:for-item="n3" wx:for-index="i3" wx:key="i3">
|
||||
<template wx:if="{{!n3.c&&(!n3.children||n3.name==='a'||!isInline(n3.name,n3.attrs.style))}}" mp-baidu:wx:if="{{!n3.c}}" is="el" data="{{n:n3,i:i1+'_'+i2+'_'+i3,opts:opts,ctrl:ctrl}}" />
|
||||
<view wx:else id="{{n3.attrs.id}}" class="_{{n3.name}} {{n3.attrs.class}}" style="{{n3.attrs.style}}">
|
||||
<!-- 第 4 层 -->
|
||||
<block wx:for="{{n3.children}}" wx:for-item="n4" wx:for-index="i4" wx:key="i4">
|
||||
<template wx:if="{{!n4.c&&(!n4.children||n4.name==='a'||!isInline(n4.name,n4.attrs.style))}}" mp-baidu:wx:if="{{!n4.c}}" is="el" data="{{n:n4,i:i1+'_'+i2+'_'+i3+'_'+i4,opts:opts,ctrl:ctrl}}" />
|
||||
<view wx:else id="{{n4.attrs.id}}" class="_{{n4.name}} {{n4.attrs.class}}" style="{{n4.attrs.style}}">
|
||||
<!-- 第 5 层 -->
|
||||
<block wx:for="{{n4.children}}" wx:for-item="n5" wx:for-index="i5" wx:key="i5">
|
||||
<template wx:if="{{!n5.c&&(!n5.children||n5.name==='a'||!isInline(n5.name,n5.attrs.style))}}" mp-baidu:wx:if="{{!n5.c}}" is="el" data="{{n:n5,i:i1+'_'+i2+'_'+i3+'_'+i4+'_'+i5,opts:opts,ctrl:ctrl}}" />
|
||||
<node wx:else id="{{n5.attrs.id}}" class="_{{n5.name}} {{n5.attrs.class}}" style="{{n5.attrs.style}}" childs="{{n5.children}}" opts="{{opts}}" />
|
||||
</block>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</block>
|
||||
<!-- #endif -->
|
||||
@@ -1,169 +0,0 @@
|
||||
/* a 标签默认效果 */
|
||||
._a {
|
||||
padding: 1.5px 0 1.5px 0;
|
||||
color: #366092;
|
||||
word-break: break-all;
|
||||
}
|
||||
|
||||
/* a 标签点击态效果 */
|
||||
._hover {
|
||||
text-decoration: underline;
|
||||
opacity: 0.7;
|
||||
}
|
||||
|
||||
/* 图片默认效果 */
|
||||
._img {
|
||||
max-width: 100%;
|
||||
-webkit-touch-callout: none;
|
||||
vertical-align:top;
|
||||
margin-bottom: -2rpx;
|
||||
}
|
||||
._img_block{
|
||||
/* display: block!important; */
|
||||
}
|
||||
|
||||
/* 内部样式 */
|
||||
|
||||
._b,
|
||||
._strong {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
._code {
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
._del {
|
||||
text-decoration: line-through;
|
||||
}
|
||||
|
||||
._em,
|
||||
._i {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
._h1 {
|
||||
font-size: 2em;
|
||||
}
|
||||
|
||||
._h2 {
|
||||
font-size: 1.5em;
|
||||
}
|
||||
|
||||
._h3 {
|
||||
font-size: 1.17em;
|
||||
}
|
||||
|
||||
._h5 {
|
||||
font-size: 0.83em;
|
||||
}
|
||||
|
||||
._h6 {
|
||||
font-size: 0.67em;
|
||||
}
|
||||
|
||||
._h1,
|
||||
._h2,
|
||||
._h3,
|
||||
._h4,
|
||||
._h5,
|
||||
._h6 {
|
||||
display: block;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
._ins {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
._li {
|
||||
display: list-item;
|
||||
}
|
||||
|
||||
._ol {
|
||||
list-style-type: decimal;
|
||||
}
|
||||
|
||||
._ol,
|
||||
._ul {
|
||||
display: block;
|
||||
padding-left: 40px;
|
||||
margin: 1em 0;
|
||||
}
|
||||
|
||||
._q::before {
|
||||
content: '"';
|
||||
}
|
||||
|
||||
._q::after {
|
||||
content: '"';
|
||||
}
|
||||
|
||||
._sub {
|
||||
font-size: smaller;
|
||||
vertical-align: sub;
|
||||
}
|
||||
|
||||
._sup {
|
||||
font-size: smaller;
|
||||
vertical-align: super;
|
||||
}
|
||||
|
||||
._thead,
|
||||
._tbody,
|
||||
._tfoot {
|
||||
display: table-row-group;
|
||||
}
|
||||
|
||||
._tr {
|
||||
display: table-row;
|
||||
}
|
||||
|
||||
._td,
|
||||
._th {
|
||||
display: table-cell;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
._th {
|
||||
font-weight: bold;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
._ul {
|
||||
list-style-type: disc;
|
||||
}
|
||||
|
||||
._ul ._ul {
|
||||
margin: 0;
|
||||
list-style-type: circle;
|
||||
}
|
||||
|
||||
._ul ._ul ._ul {
|
||||
list-style-type: square;
|
||||
}
|
||||
|
||||
._abbr,
|
||||
._b,
|
||||
._code,
|
||||
._del,
|
||||
._em,
|
||||
._i,
|
||||
._ins,
|
||||
._label,
|
||||
._q,
|
||||
._span,
|
||||
._strong,
|
||||
._sub,
|
||||
._sup {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
/* #ifndef MP-ALIPAY || MP-TOUTIAO */
|
||||
._blockquote,
|
||||
._div,
|
||||
._p {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/* #endif */
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,6 @@
|
||||
@import "../../commons/css/common.wxss";
|
||||
.z-index-4{z-index:9999999999;}
|
||||
.icon-menu{background:url("https://qs.liche.cn/lichebao/common/icon-menu.png") no-repeat;background-size:750rpx auto;}
|
||||
.icon-menu{background:url("https://qs.haodian.cn/wechat_app/lichebao/common/icon-menu.png") no-repeat;background-size:750rpx auto;}
|
||||
.tab-home{background-position:0 5rpx;}
|
||||
.tab-home-ac{background-position:0 -55rpx;}
|
||||
.tab-mine{background-position:-120rpx 5rpx;}
|
||||
|
||||
@@ -34,7 +34,7 @@ Page({
|
||||
remindMsg.push({
|
||||
title:'调拨提醒',
|
||||
content:'您有新的车辆调拨,需要您进行确认操作。',
|
||||
img:'https://qs.liche.cn/lichebao/allot/car.gif?v=220224',
|
||||
img:'https://qs.haodian.cn/wechat_app/lichebao/allot/car.gif?v=220224',
|
||||
btn:{
|
||||
title:'前往操作',
|
||||
url:'/pages/allot/list/index',
|
||||
@@ -56,7 +56,7 @@ Page({
|
||||
remindMsg.push({
|
||||
title:'盘点提醒',
|
||||
content:'您有新的车辆盘点,需要您进行确认操作。',
|
||||
img:'https://qs.liche.cn/lichebao/inventory/animation.gif',
|
||||
img:'https://qs.haodian.cn/wechat_app/lichebao/inventory/animation.gif',
|
||||
btn:{
|
||||
title:'前往操作',
|
||||
url:'/pages/inventory/list/index',
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<view class="container">
|
||||
<view class='pt160 text-center'>
|
||||
<image class='img-130x130 ulib-r750' mode="aspectFill" src='{{imgUrl}}/login/logo.jpg?v=220223'></image>
|
||||
<view class='mt20 font-32 color-fff'>{{userInfo.uname}},欢迎回到车卖场AHOH!</view>
|
||||
<view class='mt20 font-32 color-fff'>{{userInfo.uname}},欢迎回到理车宝!</view>
|
||||
<!-- <view class="mt10 font-64 color-fff">{{userInfo.uname}}</view> -->
|
||||
<view class="mt20">
|
||||
<view class="inline-block bg-fff mt10 pt10 pb10 pl30 pr30 font-32 ulib-r750">{{userInfo.biz_name}}</view>
|
||||
|
||||
@@ -3,5 +3,5 @@ page{
|
||||
background-position:center top;
|
||||
background-size:100% auto;
|
||||
background-color:#1a1c26;
|
||||
background-image:url('http://qs.haodian.cn/lichebao/allot/theme.jpg');
|
||||
background-image:url('http://qs.haodian.cn/wechat_app/lichebao/allot/theme.jpg');
|
||||
}
|
||||
@@ -339,7 +339,7 @@ Page({
|
||||
this.getAppUserBizs()
|
||||
// this.getAppStatisticsCust()
|
||||
// this.getAppStatisticsOrders()
|
||||
//this.getAppTransferRemind()
|
||||
this.getAppTransferRemind()
|
||||
},
|
||||
|
||||
})
|
||||
|
||||
@@ -26,6 +26,7 @@ Page({
|
||||
[key]: options[key]
|
||||
})
|
||||
}
|
||||
|
||||
this.getAppCluesDetails()
|
||||
this.getAppCluesLogs()
|
||||
innerAudioContext.onEnded(() => {
|
||||
|
||||
@@ -81,8 +81,8 @@
|
||||
</view>
|
||||
<view class="fixed left-0 bottom-0 right-0 bg-fff-op90 pl40 pr40 pt20 pb40 z-index-1">
|
||||
<view class="fn-flex text-center fn-flex-between">
|
||||
<view class="fn-flex-item flexsize4 pt20 pb20 btn-36afa2 font-32 color-fff ulib-r750" bindtap="pushLink" data-url="{{ from=='customer' ? '/pages/customer/index':'/pages/clues/index'}}">返回列表</view>
|
||||
<view class="fn-flex-item flexsize4 pt20 pb20 btn-36afa2 font-32 color-fff ulib-r750" bindtap="pushLink" data-url="/pages/clues/index">返回列表</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<lcb-backChannel></lcb-backChannel>
|
||||
<lcb-backChannel></lcb-backChannel>
|
||||
|
||||
@@ -61,12 +61,6 @@ Page({
|
||||
car_id: '', //车型id
|
||||
carIndex: -1, //车型索引
|
||||
carArray: [],
|
||||
cf_pid: '', //平安用户id
|
||||
cf_name: '', //平安用户名
|
||||
cf_pid_page_show: false,
|
||||
searchTitle: '品牌名',
|
||||
loadAll: false,
|
||||
apiType: 'brand',
|
||||
},
|
||||
//生命周期函数--监听页面加载
|
||||
onLoad: function (options) {
|
||||
@@ -379,7 +373,6 @@ Page({
|
||||
params['brand_id'] = this.data.brand_id;
|
||||
params['series_id'] = this.data.series_id;
|
||||
params['car_id'] = this.data.car_id;
|
||||
params['cf_pid'] = this.data.cf_pid;
|
||||
_.apiQuery.postAppCustomers(params).then(res => {
|
||||
|
||||
//刷新列表页
|
||||
@@ -710,18 +703,6 @@ Page({
|
||||
//显示选择品牌
|
||||
bindShowBrand() {
|
||||
this.setData({
|
||||
searchTitle: '品牌名',
|
||||
loadAll: false,
|
||||
apiType: '',
|
||||
brand_page_show: true
|
||||
})
|
||||
},
|
||||
//显示选择平安用户
|
||||
bindShowCfPid() {
|
||||
this.setData({
|
||||
searchTitle: '用户名',
|
||||
loadAll: false,
|
||||
apiType: 'appPaic',
|
||||
brand_page_show: true
|
||||
})
|
||||
},
|
||||
@@ -729,32 +710,18 @@ Page({
|
||||
getBrandData(e) {
|
||||
console.log(e.detail)
|
||||
if (e.detail.index > -1 && e.detail.item) {
|
||||
if (this.data.apiType == 'appPaic') {
|
||||
this.setData({
|
||||
cf_pid: e.detail.item.id,
|
||||
cf_name: e.detail.item.name
|
||||
})
|
||||
} else {
|
||||
this.setData({
|
||||
brand_id: e.detail.item.id,
|
||||
brand_name: e.detail.item.name,
|
||||
brandIndex: e.detail.index,
|
||||
series_id: '', //车系id
|
||||
modelArray: [],
|
||||
modelIndex: -1, //车系车型索引
|
||||
car_id: '', //车系id
|
||||
carArray: [], //车辆版本列表
|
||||
carIndex: -1, //车辆版本索引
|
||||
})
|
||||
this.getAppSeries()
|
||||
}
|
||||
} else {
|
||||
if (this.data.apiType == 'appPaic') {
|
||||
this.setData({
|
||||
cf_pid: '',
|
||||
cf_name: ''
|
||||
})
|
||||
}
|
||||
this.setData({
|
||||
brand_id: e.detail.item.id,
|
||||
brand_name: e.detail.item.name,
|
||||
brandIndex: e.detail.index,
|
||||
series_id: '', //车系id
|
||||
modelArray: [],
|
||||
modelIndex: -1, //车系车型索引
|
||||
car_id: '', //车系id
|
||||
carArray: [], //车辆版本列表
|
||||
carIndex: -1, //车辆版本索引
|
||||
})
|
||||
this.getAppSeries()
|
||||
}
|
||||
},
|
||||
}
|
||||
})
|
||||
@@ -154,7 +154,7 @@
|
||||
<view class="relative bbs-1-eb last-b-none pl190" wx:if="{{status==0}}">
|
||||
<view class="absolute left-0 box-middle font-28 color-333">重点关注车型</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666">
|
||||
<view bindtap="bindShowBrand">
|
||||
<view class="pt30 pb30 text-right font-28 color-666" bindtap="bindShowBrand">
|
||||
<text wx:if="{{brand_name}}}">{{brand_name||'请选择'}}</text>
|
||||
<text class="color-ccc" wx:else>请选择</text>
|
||||
<i class="iconfont ml5 icon-gengduo"></i>
|
||||
@@ -171,15 +171,6 @@
|
||||
</picker>
|
||||
</view>
|
||||
</view>
|
||||
<!--平安推荐-->
|
||||
<view class="relative bbs-1-eb last-b-none pl190">
|
||||
<view class="absolute left-0 box-middle font-28 color-333">平安推荐</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666" bindtap="bindShowCfPid">
|
||||
<text wx:if="{{cf_name}}}">{{cf_name||'请选择'}}</text>
|
||||
<text class="color-ccc" wx:else>请选择</text>
|
||||
<i class="iconfont ml5 icon-gengduo"></i>
|
||||
</view>
|
||||
</view>
|
||||
<!--
|
||||
<view class="relative bbs-1-eb pl190 last-b-none" wx:if="{{modelIndex != -1}}">
|
||||
<view class="absolute left-0 box-middle font-28 color-333">车辆版本</view>
|
||||
@@ -242,4 +233,4 @@
|
||||
</view>
|
||||
</lcb-msg>
|
||||
|
||||
<brandSelect show="{{brand_page_show}}" title="{{searchTitle}}" loadAll="{{loadAll}}" apiType="{{apiType}}" bindleave="getBrandData"></brandSelect>
|
||||
<brandSelect show="{{brand_page_show}}" bindleave="getBrandData"></brandSelect>
|
||||
@@ -260,19 +260,19 @@
|
||||
|
||||
<lcb-msg isShow="{{isShowNote}}">
|
||||
<view slot="content" class="pt20">
|
||||
<!-- view class="mt30 pl30 pr30 font-28 text-center fn-flex">
|
||||
<view class="mt30 pl30 pr30 font-28 text-center fn-flex" wx:if="{{detailinfo.status ==3}}">
|
||||
<view class="fn-flex-item relative ml10 mr10 pt20 pb20 ulib-r10 {{statuskey == 0?'bg-36afa2 color-fff':'bg-f6'}}" bindtap="radioPicker" data-key="0">
|
||||
未见客户
|
||||
</view>
|
||||
<view class="fn-flex-item relative ml10 mr10 pt20 pb20 ulib-r10 {{statuskey == 1?'bg-36afa2 color-fff':'bg-f6'}}" bindtap="radioPicker" data-key="1">
|
||||
到店客户
|
||||
</view>
|
||||
</view -->
|
||||
<view class="mt30 pl30 pr30 font-28 text-center fn-flex">
|
||||
<view class="fn-flex-item relative ml10 mr10 pt20 pb20 ulib-r10 {{statuskey == 0?'bg-36afa2 color-fff':'bg-f6'}}" bindtap="radioPicker" data-key="0">
|
||||
</view>
|
||||
<view class="mt30 pl30 pr30 font-28 text-center fn-flex" wx:elif="{{detailinfo.status!=2}}">
|
||||
<view class="fn-flex-item relative ml10 mr10 pt20 pb20 ulib-r10 {{statuskey == 0?'bg-36afa2 color-fff':'bg-f6'}}" bindtap="radioPicker" data-key="0" wx:if="{{detailinfo.status==0}}">
|
||||
未见客户
|
||||
</view>
|
||||
<view class="fn-flex-item relative ml10 mr10 pt20 pb20 ulib-r10 {{statuskey == 1?'bg-36afa2 color-fff':'bg-f6'}}" bindtap="radioPicker" data-key="1">
|
||||
<view class="fn-flex-item relative ml10 mr10 pt20 pb20 ulib-r10 {{statuskey == 1?'bg-36afa2 color-fff':'bg-f6'}}" bindtap="radioPicker" data-key="1" wx:if="{{detailinfo.status==1}}">
|
||||
到店客户
|
||||
</view>
|
||||
<view class="fn-flex-item relative ml10 mr10 pt20 pb20 ulib-r10 {{statuskey == 3?'bg-36afa2 color-fff':'bg-f6'}}" bindtap="radioPicker" data-key="3">
|
||||
|
||||
@@ -52,12 +52,6 @@ Page({
|
||||
series_id: '', //车系id
|
||||
modelArray: [],
|
||||
modelIndex: -1, //车系车型索引
|
||||
cf_pid: '', //平安用户id
|
||||
cf_name: '', //平安用户名
|
||||
cf_pid_page_show: false,
|
||||
searchTitle: '品牌名',
|
||||
loadAll: false,
|
||||
apiType: 'brand',
|
||||
},
|
||||
//生命周期函数--监听页面加载
|
||||
onLoad: function (options) {
|
||||
@@ -89,8 +83,6 @@ Page({
|
||||
brand_id: res.data.baseinfo.brand.id ? res.data.baseinfo.brand.id : 0,
|
||||
brand_name: res.data.baseinfo.brand.name ? res.data.baseinfo.brand.name : '',
|
||||
series_id: res.data.baseinfo.series_id ? res.data.baseinfo.series_id : '',
|
||||
cf_pid: res.data.baseinfo.cf_pid ? res.data.baseinfo.cf_pid : '',
|
||||
cf_name: res.data.baseinfo.cf_name ? res.data.baseinfo.cf_name : '',
|
||||
})
|
||||
|
||||
// this.data.c_brandArray.forEach((item,index) => {
|
||||
@@ -473,7 +465,6 @@ Page({
|
||||
}
|
||||
params['brand_id'] = that.data.brand_id;
|
||||
params['series_id'] = that.data.series_id;
|
||||
params['cf_pid'] = that.data.cf_pid;
|
||||
_.apiQuery.putAppCustomerData(params).then(res => {
|
||||
|
||||
//刷新列表页
|
||||
@@ -768,42 +759,19 @@ Page({
|
||||
brand_page_show: true
|
||||
})
|
||||
},
|
||||
//显示选择平安用户
|
||||
bindShowCfPid() {
|
||||
this.setData({
|
||||
searchTitle: '用户名',
|
||||
loadAll: false,
|
||||
apiType: 'appPaic',
|
||||
brand_page_show: true
|
||||
})
|
||||
},
|
||||
//获取品牌信息
|
||||
getBrandData(e) {
|
||||
// console.log(e.detail)
|
||||
if (e.detail.index > -1 && e.detail.item) {
|
||||
if (this.data.apiType == 'appPaic') {
|
||||
this.setData({
|
||||
cf_pid: e.detail.item.id,
|
||||
cf_name: e.detail.item.name
|
||||
})
|
||||
} else {
|
||||
this.setData({
|
||||
brand_id: e.detail.item.id,
|
||||
brand_name: e.detail.item.name,
|
||||
brandIndex: e.detail.index,
|
||||
series_id: '', //车系id
|
||||
modelArray: [],
|
||||
modelIndex: -1, //车系车型索引
|
||||
})
|
||||
}
|
||||
this.getAppSeries()
|
||||
} else {
|
||||
if (this.data.apiType == 'appPaic') {
|
||||
this.setData({
|
||||
cf_pid: '',
|
||||
cf_name: ''
|
||||
})
|
||||
}
|
||||
this.setData({
|
||||
brand_id: e.detail.item.id,
|
||||
brand_name: e.detail.item.name,
|
||||
brandIndex: e.detail.index,
|
||||
series_id: '', //车系id
|
||||
modelArray: [],
|
||||
modelIndex: -1, //车系车型索引
|
||||
})
|
||||
}
|
||||
this.getAppSeries()
|
||||
},
|
||||
})
|
||||
@@ -142,10 +142,12 @@
|
||||
<!--车型库品牌-->
|
||||
<view class="relative bbs-1-eb last-b-none pl190">
|
||||
<view class="absolute left-0 box-middle font-28 color-333">重点关注车型</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666" bindtap="bindShowBrand">
|
||||
<text wx:if="{{brand_name}}}">{{brand_name||'请选择'}}</text>
|
||||
<text class="color-ccc" wx:else>请选择</text>
|
||||
<i class="iconfont ml5 icon-gengduo"></i>
|
||||
<view class="pt30 pb30 text-right font-28 color-666">
|
||||
<view class="pt30 pb30 text-right font-28 color-666" bindtap="bindShowBrand">
|
||||
<text wx:if="{{brand_name}}}">{{brand_name||'请选择'}}</text>
|
||||
<text class="color-ccc" wx:else>请选择</text>
|
||||
<i class="iconfont ml5 icon-gengduo"></i>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="relative bbs-1-eb pl190 last-b-none" wx:if="{{brand_id}}">
|
||||
@@ -158,15 +160,6 @@
|
||||
</picker>
|
||||
</view>
|
||||
</view>
|
||||
<!--平安推荐-->
|
||||
<view class="relative bbs-1-eb last-b-none pl190">
|
||||
<view class="absolute left-0 box-middle font-28 color-333">平安推荐</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666" bindtap="bindShowCfPid">
|
||||
<text wx:if="{{cf_name}}}">{{cf_name||'请选择'}}</text>
|
||||
<text class="color-ccc" wx:else>请选择</text>
|
||||
<i class="iconfont ml5 icon-gengduo"></i>
|
||||
</view>
|
||||
</view>
|
||||
<block wx:for='{{taglList}}' wx:for-item='list' wx:for-index='i' wx:key='i'>
|
||||
<view class="relative mt30">
|
||||
<view class="font-28">
|
||||
@@ -200,4 +193,4 @@
|
||||
</view>
|
||||
<lcb-footer></lcb-footer>
|
||||
<lcb-backChannel></lcb-backChannel>
|
||||
<brandSelect show="{{brand_page_show}}" title="{{searchTitle}}" loadAll="{{loadAll}}" apiType="{{apiType}}" bindleave="getBrandData"></brandSelect>
|
||||
<brandSelect show="{{brand_page_show}}" bindleave="getBrandData"></brandSelect>
|
||||
@@ -1,66 +0,0 @@
|
||||
// pages/customer/exchange/index.js
|
||||
Page({
|
||||
|
||||
/**
|
||||
* 页面的初始数据
|
||||
*/
|
||||
data: {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面加载
|
||||
*/
|
||||
onLoad(options) {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面初次渲染完成
|
||||
*/
|
||||
onReady() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面显示
|
||||
*/
|
||||
onShow() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面隐藏
|
||||
*/
|
||||
onHide() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面卸载
|
||||
*/
|
||||
onUnload() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面相关事件处理函数--监听用户下拉动作
|
||||
*/
|
||||
onPullDownRefresh() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面上拉触底事件的处理函数
|
||||
*/
|
||||
onReachBottom() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 用户点击右上角分享
|
||||
*/
|
||||
onShareAppMessage() {
|
||||
|
||||
}
|
||||
})
|
||||
@@ -1,3 +0,0 @@
|
||||
{
|
||||
"usingComponents": {}
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
<!--pages/customer/exchange/index.wxml-->
|
||||
<text>pages/customer/exchange/index.wxml</text>
|
||||
@@ -1 +0,0 @@
|
||||
/* pages/customer/exchange/index.wxss */
|
||||
+346
-471
File diff suppressed because it is too large
Load Diff
@@ -2,7 +2,6 @@
|
||||
"navigationBarTitleText": "客户",
|
||||
"enablePullDownRefresh": true,
|
||||
"usingComponents": {
|
||||
"lcb-changeMobile": "/components/changeMobile/index",
|
||||
"brandSelect": "/components/brandSelect/index"
|
||||
"lcb-changeMobile": "/components/changeMobile/index"
|
||||
}
|
||||
}
|
||||
+52
-223
@@ -1,27 +1,9 @@
|
||||
<!--
|
||||
<wxs module="tool">
|
||||
var formatTime = function(time) {
|
||||
// 总秒数
|
||||
var totalSecond = Math.floor(time);
|
||||
//天
|
||||
var day = Math.floor(totalSecond / 3600 / 24);
|
||||
// 小时
|
||||
var hour = Math.floor(totalSecond / 3600);
|
||||
// 分钟
|
||||
var minute = Math.floor(totalSecond / 60) % 60;
|
||||
// 秒
|
||||
var second = totalSecond % 60;
|
||||
return day + '天' + hour + '小时' + minute + '分' + second + '秒';
|
||||
}
|
||||
exports.formatTime = formatTime;
|
||||
</wxs>
|
||||
-->
|
||||
<view class="container">
|
||||
|
||||
<view>
|
||||
<view style="padding-top:110rpx"></view>
|
||||
<view class="fixed top-0 left-0 right-0 bg-fff z-index-1">
|
||||
<view class="fn-flex mt5 pl20 pr20 font-32 color-666 text-center" wx:if="{{0&&tab.length<5}}">
|
||||
<view class="fn-flex mt5 pl20 pr20 font-32 color-666 text-center" wx:if="{{tab.length<5}}">
|
||||
<block wx:for='{{tab}}' wx:key='list'>
|
||||
<view class="fn-flex-item pl20 pr20 tabmenu2 {{key == item.key?'active color-36afa2':''}}" data-index="{{index}}" bindtap="changeTab">
|
||||
<view class="relative">{{item.name}}</view>
|
||||
@@ -41,19 +23,18 @@
|
||||
<view class="pl40 pb15 fn-clear">
|
||||
<view class="fn-fl">
|
||||
<text class="text-middle">共<text class="color-f9394d">{{total}}</text>条</text>
|
||||
<block wx:if="{{ key!= cluesTabKey}}">
|
||||
<text class="ml20 text-middle font-22"> 排序:</text>
|
||||
<picker class="inline-block text-middle bg-f6 color-666 pt5 pb5 pl15 pr10 ulib-r750 font-22" bindchange="changeSortList" value="{{sortListIndex}}" range="{{sortList}}">
|
||||
<text>{{sortList[sortListIndex]}}</text>
|
||||
<i class="iconfont ml5 icon-gengduo"></i>
|
||||
</picker>
|
||||
</block>
|
||||
<text class="ml20 text-middle font-22"> 排序:</text>
|
||||
<picker class="inline-block text-middle bg-f6 color-666 pt5 pb5 pl15 pr10 ulib-r750 font-22" bindchange="changeSortList" value="{{sortListIndex}}" range="{{sortList}}">
|
||||
<text>{{sortList[sortListIndex]}}</text>
|
||||
<i class="iconfont ml5 icon-gengduo"></i>
|
||||
</picker>
|
||||
</view>
|
||||
<view class="fn-fr {{key<2?'pr180':'pr40'}} relative" wx:if="{{ key!= cluesTabKey}}">
|
||||
<view class="fn-fr {{key<2?'pr180':'pr40'}} relative">
|
||||
<text bindtap="showfilter" class="inner5 iconfont icon-gaojisousuo ml10"></text>
|
||||
<view bindtap="pushLink" data-url="/pages/customer/addCard/index?status={{key}}" class="absolute right-0 box-middle pt10 pb10 pl10 pr30 space-nowrap bg-333 font-22 color-fff ulib-rl750" wx:if="{{key<2}}"><i class="iconfont mr5 icon-jia"></i>客户建卡</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="pl20 pr20 fn-flex fn-flex-wrap">
|
||||
<view class="inline-block text-middle bg-f6 color-666 mb15 ml5 mr5 pt5 pb5 pl20 pr20 ulib-r10 font-22" wx:if="{{cus_id}}">{{cus_id}}</view>
|
||||
<view class="inline-block text-middle bg-f6 color-666 mb15 ml5 mr5 pt5 pb5 pl20 pr20 ulib-r10 font-22" wx:if="{{name}}">{{name}}</view>
|
||||
@@ -84,115 +65,54 @@
|
||||
</view>
|
||||
|
||||
<view class="mt10 pl30 pr30">
|
||||
<block wx:if="{{key===cluesTabKey}}">
|
||||
<block wx:for='{{list}}' wx:key='index'>
|
||||
<view class="inner40 relative ulib-r10 box-shadow-000-10-10 mb30 overflowhidden" bind:tap="goClues" data-row="{{ item }}">
|
||||
<view class="relative pr180">
|
||||
<view class="font-32">
|
||||
<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">
|
||||
<view class="fn-fl color-333 mr15">入池时间</view>
|
||||
<view class="fn-fl color-666">{{ item.other_data['建档时间'] }}</view>
|
||||
</view>
|
||||
<view class="mt25 fn-clear font-28 pr180">
|
||||
<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}}">
|
||||
<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>
|
||||
<block wx:for='{{list}}' wx:key='index'>
|
||||
<view class="inner40 relative ulib-r10 box-shadow-000-10-10 mb30 overflowhidden" bindtap="pushLink" data-url="/pages/customer/detail/index?id={{item.id}}">
|
||||
<view class="absolute top-0 left-0 ml40 bg-36afa2 font-22 color-fff" wx:if="{{item.defeat||item.orders_pay}}">
|
||||
<text class="pl10 pr10" wx:if="{{item.defeat}}">{{item.defeat}}</text>
|
||||
<text class="pl10 pr10 {{item.defeat&&item.orders_pay?'bls-1-eb':''}}" wx:if="{{item.orders_pay}}">{{item.orders_pay}}</text>
|
||||
</view>
|
||||
</block>
|
||||
</block>
|
||||
<block wx:else>
|
||||
<block wx:for='{{list}}' wx:key='index'>
|
||||
<view class="inner40 relative ulib-r10 box-shadow-000-10-10 mb30 overflowhidden" bindtap="pushLink" data-url="/pages/customer/detail/index?id={{item.id}}">
|
||||
<view class="absolute top-0 left-0 ml40 bg-36afa2 font-22 color-fff" wx:if="{{item.defeat||item.orders_pay}}">
|
||||
<text class="pl10 pr10" wx:if="{{item.defeat}}">{{item.defeat}}</text>
|
||||
<text class="pl10 pr10 {{item.defeat&&item.orders_pay?'bls-1-eb':''}}" wx:if="{{item.orders_pay}}">{{item.orders_pay}}</text>
|
||||
<view class="relative pr180">
|
||||
<view class="font-32">
|
||||
<text class="text-middle">{{item.name}}</text>
|
||||
<text class="text-middle font-26 color-666">({{item.mobile}})</text>
|
||||
<text class="text-middle iconfont icon-weixin1 ml10 color-00c800" wx:if="{{item.is_weChat}}"></text>
|
||||
<text class="text-middle iconfont icon-xingxing ml10 {{item.is_top==1?'color-f9394d':'color-ccc'}}" catchtap="optTop" data-index="{{index}}"></text>
|
||||
</view>
|
||||
<view class="relative pr180">
|
||||
<view class="font-32">
|
||||
<text class="text-middle">{{item.name}}</text>
|
||||
<text class="text-middle font-26 color-666">({{item.mobile}})</text>
|
||||
<text class="text-middle iconfont icon-weixin1 ml10 color-00c800" wx:if="{{item.is_weChat}}"></text>
|
||||
<text class="text-middle iconfont icon-xingxing ml10 {{item.is_top==1?'color-f9394d':'color-ccc'}}" catchtap="optTop" data-index="{{index}}"></text>
|
||||
</view>
|
||||
<view class="text-nowrap">
|
||||
<text class="mr15 font-22 color-666">编号 {{item.cid}}</text>
|
||||
<block wx:for="{{item.tags}}" wx:for-index='i' wx:for-item='tag' wx:key='i'>
|
||||
<text class="inline-block mr10 pl10 pr10 bg-666 font-18 color-fff ulib-r750" wx:if="{{i<4}}">{{tag}}</text>
|
||||
</block>
|
||||
<block wx:if="{{item.tags.length>4}}">
|
||||
...
|
||||
</block>
|
||||
</view>
|
||||
<view class="absolute right-0 box-middle">
|
||||
<!--view class="inline-block relative img-55x55 bg-333 font-28 color-fff mr30 ulib-r750" catchtap="showMessage" data-id="{{item.id}}">
|
||||
<view class="text-nowrap">
|
||||
<text class="mr15 font-22 color-666">编号 {{item.cid}}</text>
|
||||
<block wx:for="{{item.tags}}" wx:for-index='i' wx:for-item='tag' wx:key='i'>
|
||||
<text class="inline-block mr10 pl10 pr10 bg-666 font-18 color-fff ulib-r750" wx:if="{{i<4}}">{{tag}}</text>
|
||||
</block>
|
||||
<block wx:if="{{item.tags.length>4}}">
|
||||
...
|
||||
</block>
|
||||
</view>
|
||||
<view class="absolute right-0 box-middle">
|
||||
<!--view class="inline-block relative img-55x55 bg-333 font-28 color-fff mr30 ulib-r750" catchtap="showMessage" data-id="{{item.id}}">
|
||||
<i class="absolute box-center-middle iconfont icon-duanxinguanli"></i>
|
||||
</view-->
|
||||
<view class="inline-block relative img-55x55 bg-333 font-28 color-fff ulib-r750" catchtap="call" data-id="{{item.id}}">
|
||||
<i class="absolute box-center-middle iconfont icon-dianhua"></i>
|
||||
</view>
|
||||
<view class="inline-block relative img-55x55 bg-333 font-28 color-fff ulib-r750" catchtap="call" data-id="{{item.id}}">
|
||||
<i class="absolute box-center-middle iconfont icon-dianhua"></i>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<block wx:for="{{item.other_data}}" wx:for-index='key' wx:for-item='value' wx:key='i'>
|
||||
<view class="mt25 fn-clear font-28">
|
||||
<view class="fn-fl color-333">{{key}}</view>
|
||||
<block wx:if="{{key=='车管家'}}">
|
||||
<view class="fn-fr wp60 text-nowrap text-right">
|
||||
<text class="text-middle color-666" wx:if="{{value}}">{{value}}</text>
|
||||
<text class="text-middle color-f9394d" wx:else>待分配</text>
|
||||
<text class="inline-block ml10 bg-36afa2 pt5 pb5 pl15 pr15 text-middle font-22 color-fff ulib-r10" catchtap="optEmployees" data-cid="{{item.id}}" data-level="{{item.level}}" wx:if="{{item.allot == 1}}">{{value?'重新分配':'分配'}}</text>
|
||||
</view>
|
||||
</block>
|
||||
<view wx:else class="fn-fr wp60 text-nowrap text-right color-666">{{value}}</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</block>
|
||||
</block>
|
||||
|
||||
<block wx:for="{{item.other_data}}" wx:for-index='key' wx:for-item='value' wx:key='i'>
|
||||
<view class="mt25 fn-clear font-28">
|
||||
<view class="fn-fl color-333">{{key}}</view>
|
||||
<block wx:if="{{key=='车管家'}}">
|
||||
<view class="fn-fr wp60 text-nowrap text-right">
|
||||
<text class="text-middle color-666" wx:if="{{value}}">{{value}}</text>
|
||||
<text class="text-middle color-f9394d" wx:else>待分配</text>
|
||||
<text class="inline-block ml10 bg-36afa2 pt5 pb5 pl15 pr15 text-middle font-22 color-fff ulib-r10" catchtap="optEmployees" data-cid="{{item.id}}" data-level="{{item.level}}" wx:if="{{item.allot == 1}}">{{value?'重新分配':'分配'}}</text>
|
||||
</view>
|
||||
</block>
|
||||
<view wx:else class="fn-fr wp60 text-nowrap text-right color-666">{{value}}</view>
|
||||
</view>
|
||||
</block>
|
||||
|
||||
</view>
|
||||
</block>
|
||||
<lcb-listmore isLoading='{{loading}}' isEnd='{{end}}' isNoData='{{noData}}'></lcb-listmore>
|
||||
</view>
|
||||
|
||||
@@ -378,7 +298,7 @@
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 隐藏客户画像搜索
|
||||
|
||||
<block wx:for='{{taglList}}' wx:for-item='list' wx:for-index='i' wx:key='i'>
|
||||
<view class="relative mt40">
|
||||
<view class="font-28">
|
||||
@@ -398,27 +318,7 @@
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
-->
|
||||
<view class="relative bbs-1-eb pl190">
|
||||
<view class="absolute left-0 box-middle font-28 color-333">车辆品牌</view>
|
||||
<view class="pt15 pb15 text-right font-28 color-666">
|
||||
<view class="pt15 pb15 text-right font-28 color-666" bindtap="bindShowBrand">
|
||||
<text wx:if="{{brand_name}}}">{{brand_name||'请选择'}}</text>
|
||||
<text class="color-ccc" wx:else>请选择</text>
|
||||
<i class="iconfont ml5 icon-gengduo"></i>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="relative bbs-1-eb pl190" wx:if="{{brandIndex != -1}}">
|
||||
<view class="absolute left-0 box-middle font-28 color-333">车系车型</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666">
|
||||
<picker bindchange="changeModel" value="{{modelIndex}}" range="{{modelArray}}">
|
||||
<text class="color-ccc" wx:if="{{modelIndex == -1}}">请选择</text>
|
||||
<text wx:else>{{modelArray[modelIndex]}}</text>
|
||||
<i class="iconfont ml5 icon-gengduo"></i>
|
||||
</picker>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
<view class="pt50 pb100"></view>
|
||||
</scroll-view>
|
||||
@@ -486,30 +386,6 @@
|
||||
</view>
|
||||
</lcb-msg>
|
||||
|
||||
<lcb-msg isShow="{{isShowTimePicker}}" isCustomTabBar="{{true}}">
|
||||
<view slot="content">
|
||||
<view class="">
|
||||
<view class="relative pt30 pb30 text-center font-30">
|
||||
<view class="color-666">计划回访时间</view>
|
||||
<i bindtap="optShowTimePicker" class="absolute right-0 box-middle mr30 iconfont icon-guanbi1"></i>
|
||||
</view>
|
||||
<view class="fn-flex pt30 pb30 bbs-1-eb text-center font-24">
|
||||
<block wx:for="{{weekList}}" wx:key="index">
|
||||
<view class="fn-flex-item">{{item}}</view>
|
||||
</block>
|
||||
</view>
|
||||
<view class="pb180 relative">
|
||||
<view class="absolute top-0 box-center mt130 font-180 color-f8">{{cMonth}}</view>
|
||||
<view class="relative fn-flex fn-flex-wrap pt30 pb30 text-center font-24 z-index-2">
|
||||
<block wx:for="{{dateList}}" wx:key="index">
|
||||
<view bindtap="{{item.isopt?'optday':''}}" data-index="{{index}}" class="datecell ulib-r10 {{nextIndex == index?'active':''}} {{item.isopt?'color-1a':'color-ccc'}}">{{item.day}}</view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</lcb-msg>
|
||||
<!--
|
||||
<page-container show="{{isShowTimePicker}}" round="{{true}}" overlay="true" duration="300" z-index="10000" position="bottom" close-on-slide-down="{{false}}" bindenter="onEnter" custom-style="false" overlay-style="false">
|
||||
<view class="">
|
||||
<view class="relative pt30 pb30 text-center font-30">
|
||||
@@ -531,7 +407,7 @@
|
||||
</view>
|
||||
</view>
|
||||
</page-container>
|
||||
-->
|
||||
|
||||
<!-- 拨打电话 -->
|
||||
<lcb-msg isShow="{{isShowCall}}" isCustomTabBar="{{true}}">
|
||||
<view slot="content">
|
||||
@@ -548,51 +424,4 @@
|
||||
</button>
|
||||
</view>
|
||||
</view>
|
||||
</lcb-msg>
|
||||
|
||||
<!-- 确认解锁线索 -->
|
||||
<lcb-msg isShow="{{isShowLock}}" isCustomTabBar="{{true}}">
|
||||
<view slot="content">
|
||||
<view class="pt50 pb40">
|
||||
<view class="font-36 text-center">确认解锁线索</view>
|
||||
<view class="mt10 font-28 text-center color-666">解锁后,视为接受<text style="color:#184ebb;">《合作条款》</text></view>
|
||||
</view>
|
||||
<view class="text-center font-24 color-aaa pb30">
|
||||
<text class="iconfont icon-checkbox-selected-fill"></text><text>不再提醒</text>
|
||||
</view>
|
||||
<view class="fn-flex pl60 pr60 pb50 text-center font-32 color-666">
|
||||
<button bindtap="hideLock" class="fn-flex-item mr20 bds-2-36afa2 btn-no-bg wp100 font-28 color-36afa2 ulib-r750">
|
||||
取消
|
||||
</button>
|
||||
<button bindtap="bindLock" class="fn-flex-item ml20 btn-36afa2 wp100 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover">
|
||||
确定
|
||||
</button>
|
||||
</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>
|
||||
</lcb-msg>
|
||||
@@ -25,68 +25,4 @@
|
||||
to {right:-650rpx;}
|
||||
}
|
||||
|
||||
.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;
|
||||
}
|
||||
.radio-btn{min-width:104rpx;box-sizing:border-box;text-align:center;}
|
||||
@@ -1,165 +0,0 @@
|
||||
// pages/customer/score/exchange.js 20250624
|
||||
import _ from '../../../commons/js/commons'
|
||||
Page({
|
||||
|
||||
/**
|
||||
* 页面的初始数据
|
||||
*/
|
||||
data: {
|
||||
startDate: '',
|
||||
endDate: '',
|
||||
list: [],
|
||||
loading: true,
|
||||
end: false,
|
||||
noData: false,
|
||||
pageNo: 1,
|
||||
size: 20
|
||||
},
|
||||
|
||||
/**
|
||||
* 开始日期选择
|
||||
*/
|
||||
onStartDateChange(e) {
|
||||
this.setData({
|
||||
startDate: e.detail.value
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* 结束日期选择
|
||||
*/
|
||||
onEndDateChange(e) {
|
||||
this.setData({
|
||||
endDate: e.detail.value
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* 搜索按钮点击
|
||||
*/
|
||||
onSearch() {
|
||||
console.log('搜索', this.data.startDate, this.data.endDate);
|
||||
// 这里可以添加搜索逻辑
|
||||
this.setData({
|
||||
pageNo: 1,
|
||||
list: [],
|
||||
noData: false,
|
||||
end: false,
|
||||
load: true,
|
||||
loading: false
|
||||
})
|
||||
this.getAppCusorderDestroy();
|
||||
},
|
||||
|
||||
/**
|
||||
* 查看订单详情
|
||||
*/
|
||||
viewOrderDetail(e) {
|
||||
const orderId = e.currentTarget.dataset.id;
|
||||
console.log('查看订单详情', orderId);
|
||||
// 这里可以跳转到订单详情页面
|
||||
},
|
||||
|
||||
/**
|
||||
* 查看优惠券使用规则
|
||||
*/
|
||||
viewCouponRules() {
|
||||
console.log('查看优惠券使用规则');
|
||||
// 这里可以显示优惠券使用规则弹窗
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面加载
|
||||
*/
|
||||
onLoad(options) {
|
||||
this.getAppCusorderDestroy();
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面初次渲染完成
|
||||
*/
|
||||
onReady() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面显示
|
||||
*/
|
||||
onShow() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面隐藏
|
||||
*/
|
||||
onHide() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面卸载
|
||||
*/
|
||||
onUnload() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面相关事件处理函数--监听用户下拉动作
|
||||
*/
|
||||
onPullDownRefresh() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面上拉触底事件的处理函数
|
||||
*/
|
||||
onReachBottom() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 用户点击右上角分享
|
||||
*/
|
||||
onShareAppMessage() {},
|
||||
getAppCusorderDestroy() {
|
||||
this.setData({
|
||||
load: false,
|
||||
loading: true,
|
||||
})
|
||||
|
||||
let params = {};
|
||||
params['page'] = this.data.pageNo;
|
||||
params['size'] = this.data.size;
|
||||
if (this.data.startDate) {
|
||||
params['startDate'] = this.data.startDate;
|
||||
}
|
||||
if (this.data.endDate) {
|
||||
params['endDate'] = this.data.endDate;
|
||||
}
|
||||
_.apiQuery.getAppCusorderDestroy(params).then(res => {
|
||||
this.setData({
|
||||
total: res.data.total,
|
||||
pageNo: this.data.pageNo + 1,
|
||||
list: this.data.list.concat(res.data.list),
|
||||
load: true,
|
||||
loading: false,
|
||||
})
|
||||
if (res.data.total == 0) {
|
||||
this.setData({
|
||||
noData: true
|
||||
})
|
||||
} else if (this.data.list.length == res.data.total) {
|
||||
this.setData({
|
||||
end: true
|
||||
})
|
||||
}
|
||||
wx.stopPullDownRefresh()
|
||||
});
|
||||
},
|
||||
//推送链接
|
||||
pushLink(e) {
|
||||
if (e.currentTarget.dataset.url) {
|
||||
_.$router.openUrlScheme(e.currentTarget.dataset.url)
|
||||
}
|
||||
},
|
||||
})
|
||||
@@ -1,8 +0,0 @@
|
||||
{
|
||||
"navigationBarTitleText": "核销记录",
|
||||
"navigationBarTextStyle": "white",
|
||||
"navigationBarBackgroundColor": "#1a1c26",
|
||||
"backgroundColor": "#ffffff",
|
||||
"backgroundColorTop": "#1a1c26",
|
||||
"usingComponents": {}
|
||||
}
|
||||
@@ -1,80 +0,0 @@
|
||||
<!--pages/customer/score/exchange.wxml 20250624 -->
|
||||
<view class="container">
|
||||
|
||||
<!-- 日期选择区域 -->
|
||||
<view class="date-section">
|
||||
<view class="date-picker">
|
||||
<picker mode="date" value="{{startDate}}" bindchange="onStartDateChange">
|
||||
<view class="date-input bg-f8 ulib-r750 font-24">
|
||||
<text class="date-icon font-20 mr5" style="filter: grayscale(100%);">📅</text>
|
||||
<text class="date-text">{{startDate || '请选择开始时间'}}</text>
|
||||
</view>
|
||||
</picker>
|
||||
<text class="date-separator">-</text>
|
||||
<picker mode="date" value="{{endDate}}" bindchange="onEndDateChange">
|
||||
<view class="date-input bg-f8 ulib-r750 font-24">
|
||||
<text class="date-icon font-20 mr5" style="filter: grayscale(100%);">📅</text>
|
||||
<text class="date-text">{{endDate || '请选择结束时间'}}</text>
|
||||
</view>
|
||||
</picker>
|
||||
</view>
|
||||
<view class="btn bg-36afa2 color-fff font-26 ulib-r750 pl40 pr40 pt10 pb10" bindtap="onSearch">
|
||||
<text>搜索</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 订单列表 -->
|
||||
<view class="order-list">
|
||||
<view class="order-item" wx:for="{{list}}" wx:key="id">
|
||||
<!-- 订单编号和详情按钮 -->
|
||||
<view class="order-header font-26 color-36afa2 pt20 pb20 pl30 pr30" bindtap="pushLink" data-url="/pages/order/detail/index2?id={{item.order_id}}">
|
||||
<text class="order-number">订单编号 {{item.order_sid}}</text>
|
||||
<view class="order-detail-btn" bindtap="viewOrderDetail" data-id="{{item.order_id}}">
|
||||
<text>订单详情 ></text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="inner30">
|
||||
<!-- 客户信息 -->
|
||||
<view class="customer-info">
|
||||
<text class="customer-name">{{item.name}}</text>
|
||||
<text class="customer-phone">({{item.mobile}})</text>
|
||||
<view class="points-info" wx:if="{{item.points}}">
|
||||
<text class="points-label">消耗积分:</text>
|
||||
<text class="points-value">{{item.points}}</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 优惠券信息 -->
|
||||
<view class="coupon-card">
|
||||
<view class="coupon-left text-center">
|
||||
<view >
|
||||
<text class="coupon-amount">{{item.price}}</text>
|
||||
<text class="coupon-unit">元</text>
|
||||
</view>
|
||||
<view class="coupon-rules mt10 font-22" bindtap="viewCouponRules">
|
||||
<text>使用规则 ></text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="coupon-divider"></view>
|
||||
<view class="coupon-right">
|
||||
<text class="coupon-title text-italic text-bold">
|
||||
<text>{{item.type_cn}}</text><text style="color:#f84803;">{{item.red_type_cn}}</text></text>
|
||||
<text class="coupon-validity font-22">时限 {{item.timeStart}}-{{item.timeEnd}}</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 下单时间 -->
|
||||
<view class="order-time font-24 color-666">
|
||||
<text>核销时间: {{item.use_time}}</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
<lcb-listmore isLoading='{{loading}}' isEnd='{{end}}' isNoData='{{noData}}'></lcb-listmore>
|
||||
</view>
|
||||
|
||||
<!-- 空状态 -->
|
||||
<view class="empty-state" wx:if="{{orderList.length === 0}}">
|
||||
<text>暂无核销记录</text>
|
||||
</view>
|
||||
</view>
|
||||
@@ -1,257 +0,0 @@
|
||||
/* pages/customer/score/exchange.wxss */
|
||||
|
||||
.container {
|
||||
min-height: 100vh;
|
||||
background-color: #f5f5f5;
|
||||
}
|
||||
|
||||
/* 顶部导航栏 */
|
||||
.header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
padding: 10px 15px;
|
||||
background-color: #fff;
|
||||
border-bottom: 1px solid #eee;
|
||||
}
|
||||
|
||||
.back-btn {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.back-btn .icon-back {
|
||||
font-size: 24px;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-size: 18px;
|
||||
font-weight: 500;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.menu-btn {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.dots {
|
||||
font-size: 20px;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
.record-btn {
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
background-color: #666;
|
||||
border-radius: 50%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
/* 日期选择区域 */
|
||||
.date-section {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 15px;
|
||||
background-color: #fff;
|
||||
margin-bottom: 10px;
|
||||
gap: 15px;
|
||||
}
|
||||
|
||||
.date-picker {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 5px;
|
||||
}
|
||||
|
||||
.date-input {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
/* gap: 5px; */
|
||||
padding: 10rpx 15rpx;
|
||||
/* border: 1px solid #ddd; */
|
||||
/* border-radius: 4px; */
|
||||
/* background-color: #fff; */
|
||||
width: 210rpx;
|
||||
}
|
||||
|
||||
.date-icon {
|
||||
/* font-size: 16px; */
|
||||
}
|
||||
|
||||
.date-text {
|
||||
/* font-size: 14px; */
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.date-separator {
|
||||
font-size: 16px;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
.search-btn {
|
||||
padding: 8px 20px;
|
||||
background-color: #4CAF50;
|
||||
color: white;
|
||||
border-radius: 20px;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
/* 订单列表 */
|
||||
.order-list {
|
||||
padding: 0 15px;
|
||||
}
|
||||
|
||||
.order-item {
|
||||
background-color: #fff;
|
||||
border-radius: 16rpx;
|
||||
margin-bottom: 30rpx;
|
||||
/* padding: 15px; */
|
||||
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
|
||||
}
|
||||
|
||||
/* 订单头部 */
|
||||
.order-header {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
background-color: #ebf7f5;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.order-number {
|
||||
/* font-size: 28rpx; */
|
||||
}
|
||||
|
||||
.order-detail-btn {
|
||||
/* color: #4CAF50;
|
||||
font-size: 14px; */
|
||||
}
|
||||
|
||||
/* 客户信息 */
|
||||
.customer-info {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 15px;
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.customer-name {
|
||||
font-size: 16px;
|
||||
font-weight: 500;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.customer-phone {
|
||||
font-size: 14px;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
.points-info {
|
||||
margin-left: auto;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 5px;
|
||||
}
|
||||
|
||||
.points-label {
|
||||
font-size: 14px;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
.points-value {
|
||||
font-size: 14px;
|
||||
color: #ff4444;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
/* 优惠券卡片 */
|
||||
.coupon-card {
|
||||
display: flex;
|
||||
background-image: url('https://img.liche.cn/lichebao/coupon-red.png');
|
||||
width: 650rpx;
|
||||
height: 174rpx;
|
||||
background-size: 100% 100%;
|
||||
background-repeat: no-repeat;
|
||||
/* background: linear-gradient(135deg, #ffebee 0%, #fff 100%); */
|
||||
/* border-radius: 8px;
|
||||
overflow: hidden; */
|
||||
margin-bottom: 15px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.coupon-left {
|
||||
/* padding: 20px; */
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
min-width: 120px;
|
||||
/* background-color: #ffebee; */
|
||||
}
|
||||
|
||||
.coupon-amount {
|
||||
font-size: 50rpx;
|
||||
font-weight: bold;
|
||||
color: #ff4444;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
.coupon-unit {
|
||||
font-size: 16px;
|
||||
color: #ff4444;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.coupon-rules {
|
||||
color: #ae5151;
|
||||
}
|
||||
|
||||
.coupon-divider {
|
||||
width: 2px;
|
||||
/* background: repeating-linear-gradient(
|
||||
to bottom,
|
||||
transparent 0px,
|
||||
transparent 5px,
|
||||
#ddd 5px,
|
||||
#ddd 10px
|
||||
); */
|
||||
position: relative;
|
||||
}
|
||||
|
||||
|
||||
.coupon-right {
|
||||
flex: 1;
|
||||
padding: 20px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.coupon-title {
|
||||
font-size: 18px;
|
||||
color: #333;
|
||||
margin-bottom: 15rpx;
|
||||
}
|
||||
|
||||
.coupon-validity {
|
||||
color: #ae5151;
|
||||
}
|
||||
|
||||
|
||||
/* 空状态 */
|
||||
.empty-state {
|
||||
text-align: center;
|
||||
padding: 50px 20px;
|
||||
color: #999;
|
||||
font-size: 14px;
|
||||
}
|
||||
@@ -1,173 +0,0 @@
|
||||
// pages/customer/score/index.js 20250624
|
||||
import _ from '../../../commons/js/commons'
|
||||
const app = getApp()
|
||||
Page({
|
||||
|
||||
/**
|
||||
* 页面的初始数据
|
||||
*/
|
||||
data: {
|
||||
imgUrl: _.config.imgUrl,
|
||||
cur_month: '',
|
||||
cur_tab_index: 0,
|
||||
tab_list: [{
|
||||
name: '全部',
|
||||
id: 0
|
||||
},
|
||||
{
|
||||
name: '充值',
|
||||
id: 1
|
||||
},
|
||||
{
|
||||
name: '消耗',
|
||||
id: 2
|
||||
}
|
||||
],
|
||||
pageNo: 1,
|
||||
list: [],
|
||||
loading: true,
|
||||
end: false,
|
||||
noData: false,
|
||||
sumRechangeMoney: 0,
|
||||
sumUseMoney: 0,
|
||||
leftMoney: 0,
|
||||
size: 20
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面加载
|
||||
*/
|
||||
onLoad(options) {
|
||||
this.getBizAccountLog();
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面初次渲染完成
|
||||
*/
|
||||
onReady() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面显示
|
||||
*/
|
||||
onShow() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面隐藏
|
||||
*/
|
||||
onHide() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面卸载
|
||||
*/
|
||||
onUnload() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面相关事件处理函数--监听用户下拉动作
|
||||
*/
|
||||
onPullDownRefresh() {
|
||||
this.setData({
|
||||
pageNo: 1,
|
||||
list: [],
|
||||
noData: false,
|
||||
end: false,
|
||||
load: true,
|
||||
loading: false
|
||||
})
|
||||
this.getBizAccountLog();
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面上拉触底事件的处理函数
|
||||
*/
|
||||
onReachBottom() {
|
||||
if (this.data.noData || this.data.end || !this.data.load) return;
|
||||
this.getBizAccountLog()
|
||||
},
|
||||
|
||||
/**
|
||||
* 用户点击右上角分享
|
||||
*/
|
||||
onShareAppMessage() {
|
||||
|
||||
},
|
||||
|
||||
bindDateChange(e) {
|
||||
this.setData({
|
||||
cur_month: e.detail.value,
|
||||
pageNo: 1,
|
||||
list: [],
|
||||
noData: false,
|
||||
end: false,
|
||||
load: true,
|
||||
loading: false
|
||||
})
|
||||
this.getBizAccountLog();
|
||||
},
|
||||
//切换tab
|
||||
changeTab(e) {
|
||||
this.setData({
|
||||
cur_tab_index: e.currentTarget.dataset.index,
|
||||
pageNo: 1,
|
||||
list: [],
|
||||
noData: false,
|
||||
end: false,
|
||||
load: true,
|
||||
loading: false
|
||||
})
|
||||
this.getBizAccountLog();
|
||||
},
|
||||
//推送链接
|
||||
pushLink(e) {
|
||||
if (e.currentTarget.dataset.url) {
|
||||
_.$router.openUrlScheme(e.currentTarget.dataset.url)
|
||||
}
|
||||
},
|
||||
getBizAccountLog() {
|
||||
this.setData({
|
||||
load: false,
|
||||
loading: true,
|
||||
})
|
||||
|
||||
let params = {};
|
||||
params['page'] = this.data.pageNo;
|
||||
params['size'] = this.data.size;
|
||||
params['type'] = this.data.tab_list[this.data.cur_tab_index]['id']
|
||||
if (this.data.cur_month) {
|
||||
params['month'] = this.data.cur_month
|
||||
}
|
||||
_.apiQuery.getBizAccountLogs(params).then(res => {
|
||||
if (this.data.pageNo == 1) {
|
||||
this.setData({
|
||||
sumRechangeMoney: res.data.sumRecharge,
|
||||
sumUseMoney: res.data.sumUseMoney,
|
||||
leftMoney:res.data.leftMoney
|
||||
})
|
||||
}
|
||||
this.setData({
|
||||
total: res.data.total,
|
||||
pageNo: this.data.pageNo + 1,
|
||||
list: this.data.list.concat(res.data.list),
|
||||
load: true,
|
||||
loading: false,
|
||||
})
|
||||
if (res.data.total == 0) {
|
||||
this.setData({
|
||||
noData: true
|
||||
})
|
||||
} else if (this.data.list.length == res.data.total) {
|
||||
this.setData({
|
||||
end: true
|
||||
})
|
||||
}
|
||||
wx.stopPullDownRefresh()
|
||||
});
|
||||
}
|
||||
})
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"navigationBarTitleText": "积分明细",
|
||||
"enablePullDownRefresh": true,
|
||||
"navigationBarTextStyle": "white",
|
||||
"navigationBarBackgroundColor": "#1a1c26",
|
||||
"backgroundColor": "#ffffff",
|
||||
"backgroundColorTop": "#1a1c26",
|
||||
"usingComponents": {}
|
||||
}
|
||||
@@ -1,53 +0,0 @@
|
||||
<!--pages/customer/score/index.wxml 20250624-->
|
||||
<view class="container" style="min-height:100vh; overflow:hidden;">
|
||||
<view class="text-center pt50 pb50">
|
||||
<view class="font-60 text-bold text-italic color-ff0000">{{leftMoney}}</view>
|
||||
<view class="color-444 font-28 mt-20">余额</view>
|
||||
</view>
|
||||
<view class="ml30 mr30 pb40">
|
||||
<view class="bg-fff ulib-r10 box-shadow-000-10-10 pb30">
|
||||
<view class="relative fn-flex text-center">
|
||||
<view class="fn-flex-item pt30 pb30">
|
||||
<view class="font-40">{{sumRechangeMoney}}</view>
|
||||
<view class="font-26 color-666 mt5">充值</view>
|
||||
</view>
|
||||
<view class="fn-flex-item pt30 pb30">
|
||||
<view class="font-40">{{sumUseMoney}}</view>
|
||||
<view class="font-26 color-666 mt5">消耗</view>
|
||||
</view>
|
||||
<view class="bg-picker absolute top-0 box-center bg-no-repeat bg-size-cover bg-pos-cente font-26" style="width:230rpx;height:50rpx;line-height:50rpx;">
|
||||
<picker mode="date" fields="month" value="{{cur_month}}" start="2015-09" end="2026-09" bindchange="bindDateChange">
|
||||
<view class="color-666"><text class="iconfont icon-qianhetong"></text><text class="ml10">{{cur_month||'请选择月份'}}</text></view>
|
||||
</picker>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="pl30 pr30 pt30 pb60">
|
||||
<view class="fn-flex font-28">
|
||||
<block wx:for="{{tab_list}}" wx:key="index">
|
||||
<view bind:tap="changeTab" data-index="{{index}}" class="pl10 pr10 pt5 pb5 ulib-r10 mr25 transition-all {{index==cur_tab_index?'bg-333 color-fff':'bg-f8 color-333'}}">{{item.name}}</view>
|
||||
</block>
|
||||
</view>
|
||||
<view class="mt20">
|
||||
<block wx:for="{{list}}" wx:for-item="item" wx:key="index">
|
||||
<view class="bbs-1-eb pt20 pb20 fn-flex font-26">
|
||||
<view class="wp25 color-ff0000 color-36afa2">{{item.money}}</view>
|
||||
<view class="fn-flex-item text-center">{{item.content}}</view>
|
||||
<view class="wp40 text-right">{{item.time}}</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
<lcb-listmore isLoading='{{loading}}' isEnd='{{end}}' isNoData='{{noData}}'></lcb-listmore>
|
||||
</view>
|
||||
<view class="fixed left-0 bottom-0 right-0 bg-fff-op90 pl40 pr40 pt20 pb40 z-index-1">
|
||||
<view class="fn-flex text-center fn-flex-between">
|
||||
<view class="fn-flex-item flexsize4 pt20 pb20 btn-36afa2 font-32 color-fff ulib-r750" bindtap="pushLink" data-url="/pages/customer/score/recharge">立即充值</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
|
||||
|
||||
|
||||
</view>
|
||||
@@ -1,4 +0,0 @@
|
||||
/* pages/customer/score/index.wxss */
|
||||
.bg-picker{
|
||||
|
||||
}
|
||||
@@ -1,77 +0,0 @@
|
||||
// pages/customer/score/recharge.js 20250624
|
||||
Page({
|
||||
|
||||
/**
|
||||
* 页面的初始数据
|
||||
*/
|
||||
data: {
|
||||
text: `爱能之家(厦门)新能源有限公司
|
||||
账号:129260100100576097
|
||||
开户行:兴业银行厦门自贸试验区象屿支行
|
||||
备注:公司名称
|
||||
`
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面加载
|
||||
*/
|
||||
onLoad(options) {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面初次渲染完成
|
||||
*/
|
||||
onReady() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面显示
|
||||
*/
|
||||
onShow() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面隐藏
|
||||
*/
|
||||
onHide() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面卸载
|
||||
*/
|
||||
onUnload() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面相关事件处理函数--监听用户下拉动作
|
||||
*/
|
||||
onPullDownRefresh() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面上拉触底事件的处理函数
|
||||
*/
|
||||
onReachBottom() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 用户点击右上角分享
|
||||
*/
|
||||
onShareAppMessage() {
|
||||
},
|
||||
//充值
|
||||
rechange(){
|
||||
wx.showToast({
|
||||
title: '系统维护中',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
})
|
||||
@@ -1,3 +0,0 @@
|
||||
{
|
||||
"usingComponents": {}
|
||||
}
|
||||
@@ -1,40 +0,0 @@
|
||||
<!-- pages/customer/score/recharge.wxml 20250624-->
|
||||
<view class="container" style="min-height:100vh; overflow:hidden;">
|
||||
<view class="inner30">
|
||||
<view class="box-shadow-000-10-10 ulib-r20 inner30">
|
||||
<view class="section">
|
||||
<view class="fn-flex">
|
||||
<view class="font-22 color-666">方式一 · 在线充值</view>
|
||||
</view>
|
||||
<view class="pl50 pr50 mt30">
|
||||
<view class="font-30">
|
||||
<text>充值金额</text><text class="font-40 pl20" style="color:#f00">¥20000</text>
|
||||
</view>
|
||||
<view class="mt30">
|
||||
<button bind:tap="rechange" class="btn bg-36afa2 color-fff font-30 ulib-r750">立即充值</button>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="section bts-1-eb pt40 mt40">
|
||||
<view class="fn-flex fn-flex-center">
|
||||
<view class="font-22 color-666 fn-flex-item">方式二 · 线下转账</view>
|
||||
<view class="btn bds-1-eb font-20 ulib-r750 pl10 pr10 pt5 pb5"><text>复制信息</text></view>
|
||||
</view>
|
||||
<view class="pl50 pr50 mt30">
|
||||
<view class="font-26 line-height-15">
|
||||
<text>{{text}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="mt50 pl30 pr30 color-888 font-24">
|
||||
<text>充值说明:</text>
|
||||
<view class="mt10 line-height-15">
|
||||
<view>1. 充值金额为<text class="color-ff0000">固定为20000元。</text></view>
|
||||
<view>2. 微信充值后,积分实时到账(推荐)。</view>
|
||||
<view >3. 线下转账方式需备注清楚公司名称,财务收到打款后会在1日内完成积分充值操作。</view>
|
||||
<view >需开具充值发票请<text style="color:#527acc;">联系客服</text>。</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -1 +0,0 @@
|
||||
/* pages/customer/score/recharge.wxss */
|
||||
@@ -8,49 +8,49 @@ Page({
|
||||
list:[
|
||||
// {
|
||||
// title:'店铺常规模板',
|
||||
// cover:'https://qs.liche.cn/lichebao/distribute/md-0.jpg',
|
||||
// cover:'https://qs.haodian.cn/wechat_app/lichebao/distribute/md-0.jpg',
|
||||
// type:0,//0默认无头部 1有头部
|
||||
// tpHeight:10,//上传图距离顶部高度
|
||||
// ftHeight:350,//底部图高度
|
||||
// marginLR:10,//上传图距离左右位置
|
||||
// posterBg:'',//头部背景图
|
||||
// posterFt:'https://qs.liche.cn/lichebao/distribute/posterFt-0.jpg',//底部背景图
|
||||
// posterFt:'https://qs.haodian.cn/wechat_app/lichebao/distribute/posterFt-0.jpg',//底部背景图
|
||||
// bgColor:'#fff',//背景色
|
||||
// color:'#fff',//字体颜色
|
||||
// },
|
||||
// {
|
||||
// title:'恭喜提车模板',
|
||||
// cover:'https://qs.liche.cn/lichebao/distribute/md-1.jpg',
|
||||
// cover:'https://qs.haodian.cn/wechat_app/lichebao/distribute/md-1.jpg',
|
||||
// type:1,
|
||||
// tpHeight:215,
|
||||
// ftHeight:350,
|
||||
// marginLR:20,
|
||||
// posterBg:'https://qs.liche.cn/lichebao/distribute/posterBg-1.jpg',
|
||||
// posterFt:'https://qs.liche.cn/lichebao/distribute/posterFt-1.jpg',
|
||||
// posterBg:'https://qs.haodian.cn/wechat_app/lichebao/distribute/posterBg-1.jpg',
|
||||
// posterFt:'https://qs.haodian.cn/wechat_app/lichebao/distribute/posterFt-1.jpg',
|
||||
// bgColor:'#dd3535',
|
||||
// color:'#dd3535',
|
||||
// },
|
||||
// {
|
||||
// title:'新车到店模板',
|
||||
// cover:'https://qs.liche.cn/lichebao/distribute/md-2.jpg',
|
||||
// cover:'https://qs.haodian.cn/wechat_app/lichebao/distribute/md-2.jpg',
|
||||
// type:1,
|
||||
// tpHeight:175,
|
||||
// ftHeight:350,
|
||||
// marginLR:30,
|
||||
// posterBg:'https://qs.liche.cn/lichebao/distribute/posterBg-2.jpg',
|
||||
// posterFt:'https://qs.liche.cn/lichebao/distribute/posterFt-2.jpg',
|
||||
// posterBg:'https://qs.haodian.cn/wechat_app/lichebao/distribute/posterBg-2.jpg',
|
||||
// posterFt:'https://qs.haodian.cn/wechat_app/lichebao/distribute/posterFt-2.jpg',
|
||||
// bgColor:'#2a9267',
|
||||
// color:'#3f392d',
|
||||
// },
|
||||
// {
|
||||
// title:'恭喜成单啦',
|
||||
// cover:'https://qs.liche.cn/lichebao/distribute/md-3.jpg',
|
||||
// cover:'https://qs.haodian.cn/wechat_app/lichebao/distribute/md-3.jpg',
|
||||
// type:1,
|
||||
// tpHeight:215,
|
||||
// ftHeight:350,
|
||||
// marginLR:20,
|
||||
// posterBg:'https://qs.liche.cn/lichebao/distribute/posterBg-3.jpg',
|
||||
// posterFt:'https://qs.liche.cn/lichebao/distribute/posterFt-3.jpg',
|
||||
// posterBg:'https://qs.haodian.cn/wechat_app/lichebao/distribute/posterBg-3.jpg',
|
||||
// posterFt:'https://qs.haodian.cn/wechat_app/lichebao/distribute/posterFt-3.jpg',
|
||||
// bgColor:'#db3333',
|
||||
// color:'#fff',
|
||||
// },
|
||||
|
||||
@@ -4,49 +4,49 @@ Page({
|
||||
list:[
|
||||
// {
|
||||
// title:'店铺常规模板',
|
||||
// cover:'https://qs.liche.cn/lichebao/distribute/md-0.jpg',
|
||||
// cover:'https://qs.haodian.cn/wechat_app/lichebao/distribute/md-0.jpg',
|
||||
// type:0,//0默认无头部 1有头部
|
||||
// tpHeight:10,//上传图距离顶部高度
|
||||
// ftHeight:350,//底部图高度
|
||||
// marginLR:10,//上传图距离左右位置
|
||||
// posterBg:'',//头部背景图
|
||||
// posterFt:'https://qs.liche.cn/lichebao/distribute/posterFt-0.jpg',//底部背景图
|
||||
// posterFt:'https://qs.haodian.cn/wechat_app/lichebao/distribute/posterFt-0.jpg',//底部背景图
|
||||
// bgColor:'#fff',//背景色
|
||||
// color:'#fff',//字体颜色
|
||||
// },
|
||||
// {
|
||||
// title:'恭喜提车模板',
|
||||
// cover:'https://qs.liche.cn/lichebao/distribute/md-1.jpg',
|
||||
// cover:'https://qs.haodian.cn/wechat_app/lichebao/distribute/md-1.jpg',
|
||||
// type:1,
|
||||
// tpHeight:215,
|
||||
// ftHeight:350,
|
||||
// marginLR:20,
|
||||
// posterBg:'https://qs.liche.cn/lichebao/distribute/posterBg-1.jpg',
|
||||
// posterFt:'https://qs.liche.cn/lichebao/distribute/posterFt-1.jpg',
|
||||
// posterBg:'https://qs.haodian.cn/wechat_app/lichebao/distribute/posterBg-1.jpg',
|
||||
// posterFt:'https://qs.haodian.cn/wechat_app/lichebao/distribute/posterFt-1.jpg',
|
||||
// bgColor:'#dd3535',
|
||||
// color:'#dd3535',
|
||||
// },
|
||||
// {
|
||||
// title:'新车到店模板',
|
||||
// cover:'https://qs.liche.cn/lichebao/distribute/md-2.jpg',
|
||||
// cover:'https://qs.haodian.cn/wechat_app/lichebao/distribute/md-2.jpg',
|
||||
// type:1,
|
||||
// tpHeight:175,
|
||||
// ftHeight:350,
|
||||
// marginLR:30,
|
||||
// posterBg:'https://qs.liche.cn/lichebao/distribute/posterBg-2.jpg',
|
||||
// posterFt:'https://qs.liche.cn/lichebao/distribute/posterFt-2.jpg',
|
||||
// posterBg:'https://qs.haodian.cn/wechat_app/lichebao/distribute/posterBg-2.jpg',
|
||||
// posterFt:'https://qs.haodian.cn/wechat_app/lichebao/distribute/posterFt-2.jpg',
|
||||
// bgColor:'#2a9267',
|
||||
// color:'#3f392d',
|
||||
// },
|
||||
// {
|
||||
// title:'恭喜成单啦',
|
||||
// cover:'https://qs.liche.cn/lichebao/distribute/md-3.jpg',
|
||||
// cover:'https://qs.haodian.cn/wechat_app/lichebao/distribute/md-3.jpg',
|
||||
// type:1,
|
||||
// tpHeight:215,
|
||||
// ftHeight:350,
|
||||
// marginLR:20,
|
||||
// posterBg:'https://qs.liche.cn/lichebao/distribute/posterBg-3.jpg',
|
||||
// posterFt:'https://qs.liche.cn/lichebao/distribute/posterFt-3.jpg',
|
||||
// posterBg:'https://qs.haodian.cn/wechat_app/lichebao/distribute/posterBg-3.jpg',
|
||||
// posterFt:'https://qs.haodian.cn/wechat_app/lichebao/distribute/posterFt-3.jpg',
|
||||
// bgColor:'#db3333',
|
||||
// color:'#fff',
|
||||
// },
|
||||
|
||||
+231
-295
@@ -4,7 +4,6 @@ const app = getApp()
|
||||
|
||||
let barChartData;
|
||||
let pieChartData;
|
||||
|
||||
function barChart(canvas, width, height, dpr) {
|
||||
const chart = echarts.init(canvas, null, {
|
||||
width: width,
|
||||
@@ -16,7 +15,6 @@ function barChart(canvas, width, height, dpr) {
|
||||
chart.setOption(option);
|
||||
return chart;
|
||||
}
|
||||
|
||||
function pieChart(canvas, width, height, dpr) {
|
||||
const chart = echarts.init(canvas, null, {
|
||||
width: width,
|
||||
@@ -31,32 +29,32 @@ function pieChart(canvas, width, height, dpr) {
|
||||
|
||||
Page({
|
||||
data: {
|
||||
isShowMain: false, //显示页面内容
|
||||
imgUrl: _.config.imgUrl,
|
||||
userCal: '',
|
||||
deallist: '',
|
||||
hoursTip: '',
|
||||
showBarChart: false, //是否显示Bar图表
|
||||
ecBar: {},
|
||||
showPieChart: false, //是否显示Pie图表
|
||||
ecPie: {},
|
||||
isShowNotice: false, //是否显示通知
|
||||
stopNotice: false, //是否不再显示通知
|
||||
isShowReport: false, //是否显示调拨盘点弹框
|
||||
isShowProfile: true, //是否显示授权用户信息按钮
|
||||
isShowGoods: false, //是否显示库存预警
|
||||
isShowMain:false,//显示页面内容
|
||||
imgUrl:_.config.imgUrl,
|
||||
userCal:'',
|
||||
deallist:'',
|
||||
hoursTip:'',
|
||||
showBarChart:false,//是否显示Bar图表
|
||||
ecBar:{},
|
||||
showPieChart:false,//是否显示Pie图表
|
||||
ecPie:{},
|
||||
isShowNotice:false,//是否显示通知
|
||||
stopNotice:false,//是否不再显示通知
|
||||
isShowReport:false,//是否显示调拨盘点弹框
|
||||
isShowProfile:true,//是否显示授权用户信息按钮
|
||||
isShowGoods:false,//是否显示库存预警
|
||||
banneractive: 0,
|
||||
banneractive2: 0,
|
||||
banneractive3: 0,
|
||||
remindTab: [], //调拨盘点入口
|
||||
remindMsg: [], //调拨盘点弹框
|
||||
levelStIndex: 0,
|
||||
levelSt: [], //客户等级
|
||||
isResetbiz: false, //是否重置过BIZID
|
||||
isShowVersionInfo: false, //是否显示版本更新
|
||||
versionInfo: {
|
||||
number: 'V3.0.51',
|
||||
list: [
|
||||
remindTab:[],//调拨盘点入口
|
||||
remindMsg:[],//调拨盘点弹框
|
||||
levelStIndex:0,
|
||||
levelSt:[],//客户等级
|
||||
isResetbiz:false,//是否重置过BIZID
|
||||
isShowVersionInfo:false,//是否显示版本更新
|
||||
versionInfo:{
|
||||
number:'V3.0.51',
|
||||
list:[
|
||||
// '',
|
||||
// '',
|
||||
// '',
|
||||
@@ -68,30 +66,6 @@ Page({
|
||||
// '修改【保单上传】的相应内容,上传后需补充相应保单信息。',
|
||||
],
|
||||
},
|
||||
//0924 新增参数
|
||||
data_bg_img: _.config.licheImgUrl + 'score/index-panel-bg.png',
|
||||
icon_trend_up: _.config.licheImgUrl + 'score/score-trend-up.png',
|
||||
icon_trend_down: _.config.licheImgUrl + 'score/score-trend-down.png',
|
||||
icon_score_top_1: _.config.licheImgUrl + 'score/score-top-1.png',
|
||||
icon_score_top_2: _.config.licheImgUrl + 'score/score-top-2.png',
|
||||
icon_score_top_3: _.config.licheImgUrl + 'score/score-top-3.png',
|
||||
score_index_bg_up: _.config.licheImgUrl + 'score/score-bg-up.jpg',
|
||||
score_index_bg_down: _.config.licheImgUrl + 'score/score-bg-down.jpg',
|
||||
score_detail_bg_up: _.config.licheImgUrl + 'score/score-detail-up.png',
|
||||
score_detail_bg_down: _.config.licheImgUrl + 'score/score-detail-up.jpg',
|
||||
score_up_color: '#31cbad',
|
||||
score_down_color: '#ff895b',
|
||||
score_trend: 1, //用这个参数控制样式:1 上升 、2 下降
|
||||
score_role_tab: [{
|
||||
id: 1,
|
||||
name: '个人'
|
||||
}, {
|
||||
id: 2,
|
||||
name: '门店'
|
||||
}],
|
||||
score_role_cur: 0,
|
||||
//0924 end
|
||||
biz_type_4s: 5 //门店类型4s店
|
||||
},
|
||||
|
||||
onLoad(options) {
|
||||
@@ -101,14 +75,14 @@ Page({
|
||||
})
|
||||
}
|
||||
|
||||
if (this.data.biz_id) {
|
||||
if(this.data.biz_id){
|
||||
let that = this
|
||||
setTimeout(function () {
|
||||
that.putAppUserResetbiz()
|
||||
}, 500)
|
||||
} else {
|
||||
}else{
|
||||
this.setData({
|
||||
isResetbiz: true,
|
||||
isResetbiz:true,
|
||||
});
|
||||
this.getUserInfo()
|
||||
}
|
||||
@@ -116,16 +90,16 @@ Page({
|
||||
//this.getAppStatisticsHorder()
|
||||
|
||||
//消息通讯 是否显示授权用户信息按钮
|
||||
_.eventBus.on("isShowProfile", this, function (res) {
|
||||
_.eventBus.on("isShowProfile", this, function(res){
|
||||
this.setData({
|
||||
isShowProfile: res,
|
||||
isShowProfile:res,
|
||||
})
|
||||
})
|
||||
|
||||
//判断是否显示版本更新内容
|
||||
if (this.data.versionInfo.list.length > 0 && app.getStorageByKey("appversion") != this.data.versionInfo.number) {
|
||||
if(this.data.versionInfo.list.length>0&&app.getStorageByKey("appversion")!=this.data.versionInfo.number){
|
||||
this.setData({
|
||||
isShowVersionInfo: true,
|
||||
isShowVersionInfo:true,
|
||||
})
|
||||
}
|
||||
|
||||
@@ -135,15 +109,14 @@ Page({
|
||||
|
||||
this.getHoursTip()
|
||||
//确保bizID重置完成再执行
|
||||
if (this.data.isResetbiz) {
|
||||
if(this.data.isResetbiz){
|
||||
this.setData({
|
||||
remindTab: [],
|
||||
remindMsg: [],
|
||||
isShowReport: false, //是否显示调拨盘点弹框
|
||||
isShowGoods: false,
|
||||
remindTab:[],
|
||||
remindMsg:[],
|
||||
isShowReport:false,//是否显示调拨盘点弹框
|
||||
isShowGoods:false,
|
||||
});
|
||||
this.getAppUserCal()
|
||||
this.getScore()
|
||||
// this.getAppTransferRemind()
|
||||
// this.getAppInventoryRemind()
|
||||
// this.getAppGoodsRemind()
|
||||
@@ -155,40 +128,36 @@ Page({
|
||||
//生命周期函数--监听页面卸载
|
||||
onUnload: function () {
|
||||
//卸载消息通讯 是否显示授权用户信息
|
||||
_.eventBus.remove('isShowProfile', this);
|
||||
_.eventBus.remove('isShowProfile',this);
|
||||
},
|
||||
|
||||
|
||||
|
||||
//候取时间
|
||||
getHoursTip() {
|
||||
getHoursTip(){
|
||||
let hoursTip = '';
|
||||
let date = new Date();
|
||||
if (date.getHours() >= 0 && date.getHours() < 12) {
|
||||
hoursTip = "上午好!"
|
||||
} else if (date.getHours() >= 12 && date.getHours() < 18) {
|
||||
hoursTip = "下午好!"
|
||||
} else {
|
||||
hoursTip = "!"
|
||||
}
|
||||
let date=new Date();
|
||||
if(date.getHours()>=0&&date.getHours()<12){
|
||||
hoursTip="上午好!"
|
||||
}else if(date.getHours()>=12&&date.getHours()<18){
|
||||
hoursTip="下午好!"
|
||||
}else{
|
||||
hoursTip="!"
|
||||
}
|
||||
this.setData({
|
||||
hoursTip: hoursTip
|
||||
hoursTip:hoursTip
|
||||
})
|
||||
},
|
||||
|
||||
//更新用户店铺id
|
||||
putAppUserResetbiz() {
|
||||
putAppUserResetbiz(){
|
||||
let params = {};
|
||||
let that = this;
|
||||
params['biz_id'] = this.data.biz_id;
|
||||
_.apiQuery.putAppUserResetbiz(params).then(res => {
|
||||
this.setData({
|
||||
isResetbiz: true,
|
||||
isResetbiz:true,
|
||||
});
|
||||
this.getUserInfo()
|
||||
this.getAppUserCal()
|
||||
setTimeout(function () {
|
||||
that.getScore()
|
||||
}, 500)
|
||||
// this.getAppTransferRemind()
|
||||
// this.getAppInventoryRemind()
|
||||
// this.getAppGoodsRemind()
|
||||
@@ -197,147 +166,147 @@ Page({
|
||||
},
|
||||
|
||||
//调拨提醒
|
||||
getAppTransferRemind() {
|
||||
getAppTransferRemind(){
|
||||
_.apiQuery.getAppTransferRemind().then(res => {
|
||||
this.setData({
|
||||
diaoboNum: res.data.total,
|
||||
diaoboNum:res.data.total,
|
||||
})
|
||||
if (res.data.total > 0) {
|
||||
if(res.data.total>0){
|
||||
let remindTab = this.data.remindTab
|
||||
remindTab.push({
|
||||
title: '车辆调拨',
|
||||
content: '您有新的车辆调拨,需要您进行确认操作。',
|
||||
img: 'https://qs.liche.cn/lichebao/allot/car.gif?v=220224',
|
||||
url: '/pages/allot/list/index',
|
||||
allotNum: res.data.total,
|
||||
title:'车辆调拨',
|
||||
content:'您有新的车辆调拨,需要您进行确认操作。',
|
||||
img:'https://qs.haodian.cn/wechat_app/lichebao/allot/car.gif?v=220224',
|
||||
url:'/pages/allot/list/index',
|
||||
allotNum:res.data.total,
|
||||
})
|
||||
let remindMsg = this.data.remindMsg
|
||||
remindMsg.push({
|
||||
title: '调拨提醒',
|
||||
content: '您有新的车辆调拨,需要您进行确认操作。',
|
||||
img: 'https://qs.liche.cn/lichebao/allot/car.gif?v=220224',
|
||||
btn: {
|
||||
title: '前往操作',
|
||||
url: '/pages/allot/list/index',
|
||||
title:'调拨提醒',
|
||||
content:'您有新的车辆调拨,需要您进行确认操作。',
|
||||
img:'https://qs.haodian.cn/wechat_app/lichebao/allot/car.gif?v=220224',
|
||||
btn:{
|
||||
title:'前往操作',
|
||||
url:'/pages/allot/list/index',
|
||||
},
|
||||
})
|
||||
this.setData({
|
||||
remindTab,
|
||||
remindMsg,
|
||||
isShowReport: true,
|
||||
isShowNotice: false,
|
||||
isShowGoods: false,
|
||||
isShowReport:true,
|
||||
isShowNotice:false,
|
||||
isShowGoods:false,
|
||||
})
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
//盘点提醒
|
||||
getAppInventoryRemind() {
|
||||
getAppInventoryRemind(){
|
||||
_.apiQuery.getAppInventoryRemind().then(res => {
|
||||
this.setData({
|
||||
pandianNum: res.data.total,
|
||||
pandianNum:res.data.total,
|
||||
})
|
||||
if (res.data.total > 0) {
|
||||
if(res.data.total>0){
|
||||
let remindTab = this.data.remindTab
|
||||
remindTab.push({
|
||||
title: '车辆盘点',
|
||||
content: '您有新的车辆调拨,需要您进行确认操作。',
|
||||
img: 'https://qs.liche.cn/lichebao/inventory/icon.png',
|
||||
url: '/pages/inventory/list/index',
|
||||
allotNum: res.data.total,
|
||||
title:'车辆盘点',
|
||||
content:'您有新的车辆调拨,需要您进行确认操作。',
|
||||
img:'https://qs.haodian.cn/wechat_app/lichebao/inventory/icon.png',
|
||||
url:'/pages/inventory/list/index',
|
||||
allotNum:res.data.total,
|
||||
})
|
||||
let remindMsg = this.data.remindMsg
|
||||
remindMsg.push({
|
||||
title: '盘点提醒',
|
||||
content: '您有新的车辆盘点,需要您进行确认操作。',
|
||||
img: 'https://qs.liche.cn/lichebao/inventory/animation.gif',
|
||||
btn: {
|
||||
title: '前往操作',
|
||||
url: '/pages/inventory/list/index',
|
||||
title:'盘点提醒',
|
||||
content:'您有新的车辆盘点,需要您进行确认操作。',
|
||||
img:'https://qs.haodian.cn/wechat_app/lichebao/inventory/animation.gif',
|
||||
btn:{
|
||||
title:'前往操作',
|
||||
url:'/pages/inventory/list/index',
|
||||
},
|
||||
})
|
||||
this.setData({
|
||||
remindTab,
|
||||
remindMsg,
|
||||
isShowReport: true,
|
||||
isShowNotice: false,
|
||||
isShowGoods: false,
|
||||
isShowReport:true,
|
||||
isShowNotice:false,
|
||||
isShowGoods:false,
|
||||
})
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
//库存提醒/预警
|
||||
getAppGoodsRemind() {
|
||||
getAppGoodsRemind(){
|
||||
_.apiQuery.getAppGoodsRemind().then(res => {
|
||||
this.setData({
|
||||
inventory: res.data.inventory,
|
||||
warning: res.data.warning,
|
||||
inventory:res.data.inventory,
|
||||
warning:res.data.warning,
|
||||
})
|
||||
if (res.data.warning.list && res.data.warning.list.length > 0) {
|
||||
if (!app.getStorageByKey("showGoods") || app.getStorageByKey("showGoods").data != new Date().getDate()) {
|
||||
if(res.data.warning.list&&res.data.warning.list.length>0){
|
||||
if(!app.getStorageByKey("showGoods")||app.getStorageByKey("showGoods").data!=new Date().getDate()){
|
||||
//清除
|
||||
wx.removeStorageSync('showGoods')
|
||||
this.setData({
|
||||
isShowGoods: true,
|
||||
isShowGoods:true,
|
||||
})
|
||||
let showGoods = {}
|
||||
if (this.data.biz_id) {
|
||||
if(this.data.biz_id){
|
||||
showGoods.data = new Date().getDate()
|
||||
showGoods.list = [{
|
||||
biz_id: this.data.biz_id,
|
||||
num: 1,
|
||||
showGoods.list =[{
|
||||
biz_id:this.data.biz_id,
|
||||
num:1,
|
||||
}]
|
||||
} else {
|
||||
}else{
|
||||
showGoods.data = new Date().getDate()
|
||||
showGoods.list = [{
|
||||
biz_id: 'b1',
|
||||
num: 1,
|
||||
showGoods.list =[{
|
||||
biz_id:'b1',
|
||||
num:1,
|
||||
}]
|
||||
}
|
||||
app.setStorage('showGoods', showGoods)
|
||||
} else {
|
||||
app.setStorage('showGoods',showGoods)
|
||||
}else{
|
||||
let showGoods = app.getStorageByKey("showGoods")
|
||||
let index = -1
|
||||
if (this.data.biz_id) {
|
||||
showGoods.list.forEach((item, i) => {
|
||||
if (item.biz_id == this.data.biz_id) {
|
||||
if(this.data.biz_id){
|
||||
showGoods.list.forEach((item,i) => {
|
||||
if(item.biz_id == this.data.biz_id){
|
||||
index = i
|
||||
item.num = item.num + 1
|
||||
}
|
||||
})
|
||||
} else {
|
||||
showGoods.list.forEach((item, i) => {
|
||||
if (item.biz_id == 'b1') {
|
||||
}else{
|
||||
showGoods.list.forEach((item,i) => {
|
||||
if(item.biz_id == 'b1'){
|
||||
index = i
|
||||
item.num = item.num + 1
|
||||
}
|
||||
})
|
||||
}
|
||||
if (index > -1) {
|
||||
if (showGoods.list[index].num < 4) {
|
||||
if(index > -1){
|
||||
if(showGoods.list[index].num<4){
|
||||
this.setData({
|
||||
isShowGoods: true,
|
||||
isShowGoods:true,
|
||||
})
|
||||
app.setStorage('showGoods', showGoods)
|
||||
app.setStorage('showGoods',showGoods)
|
||||
}
|
||||
} else {
|
||||
}else{
|
||||
this.setData({
|
||||
isShowGoods: true,
|
||||
isShowGoods:true,
|
||||
})
|
||||
if (this.data.biz_id) {
|
||||
if(this.data.biz_id){
|
||||
showGoods.list.push({
|
||||
biz_id: this.data.biz_id,
|
||||
num: 1,
|
||||
biz_id:this.data.biz_id,
|
||||
num:1,
|
||||
})
|
||||
} else {
|
||||
}else{
|
||||
showGoods.list.push({
|
||||
biz_id: 'b1',
|
||||
num: 1,
|
||||
biz_id:'b1',
|
||||
num:1,
|
||||
})
|
||||
}
|
||||
app.setStorage('showGoods', showGoods)
|
||||
app.setStorage('showGoods',showGoods)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -345,39 +314,34 @@ Page({
|
||||
},
|
||||
|
||||
//获取用户信息
|
||||
getUserInfo() {
|
||||
getUserInfo(){
|
||||
_.apiQuery.getUserInfo().then(res => {
|
||||
this.setData({
|
||||
userInfo: res
|
||||
})
|
||||
if (res.group_id > 2) {
|
||||
this.setData({
|
||||
score_role_cur: 1
|
||||
})
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
//获取用户统计
|
||||
getAppUserCal() {
|
||||
getAppUserCal(){
|
||||
let params = {};
|
||||
if (this.data.biz_id) {
|
||||
if(this.data.biz_id){
|
||||
params['biz_id'] = this.data.biz_id;
|
||||
}
|
||||
_.apiQuery.getAppUserCal(params).then(res => {
|
||||
this.setData({
|
||||
isShowMain: true,
|
||||
userCal: res.data,
|
||||
levelSt: res.data.levelSt,
|
||||
isShowMain:true,
|
||||
userCal:res.data,
|
||||
levelSt:res.data.levelSt,
|
||||
})
|
||||
|
||||
if (res.data.deallist.length > 0) {
|
||||
if(res.data.deallist.length>0){
|
||||
let deallist = res.data.deallist
|
||||
if (res.data.deallist.length % 2 == 1) {
|
||||
if(res.data.deallist.length%2==1){
|
||||
deallist.push({})
|
||||
}
|
||||
this.setData({
|
||||
deallist: deallist,
|
||||
deallist:deallist,
|
||||
})
|
||||
}
|
||||
|
||||
@@ -387,12 +351,12 @@ Page({
|
||||
},
|
||||
|
||||
//数据分析-客户数据
|
||||
getAppStatisticsHcust() {
|
||||
getAppStatisticsHcust(){
|
||||
this.setData({
|
||||
showPieChart: false,
|
||||
showPieChart:false,
|
||||
})
|
||||
let params = {};
|
||||
if (this.data.biz_id) {
|
||||
if(this.data.biz_id){
|
||||
params['biz_id'] = this.data.biz_id;
|
||||
}
|
||||
_.apiQuery.getAppStatisticsHcust(params).then(res => {
|
||||
@@ -402,32 +366,32 @@ Page({
|
||||
formatter: '\n{b|{b}}\n{c|{c}}\n{per|{d}%} ',
|
||||
rich: {
|
||||
b: {
|
||||
color: '#4C5058',
|
||||
fontSize: 10,
|
||||
lineHeight: 15,
|
||||
align: 'left',
|
||||
color: '#4C5058',
|
||||
fontSize: 10,
|
||||
lineHeight:15,
|
||||
align:'left',
|
||||
},
|
||||
c: {
|
||||
color: '#4C5058',
|
||||
fontSize: 10,
|
||||
lineHeight: 15,
|
||||
align: 'left',
|
||||
lineHeight:15,
|
||||
align:'left',
|
||||
},
|
||||
per: {
|
||||
color: '#4C5058',
|
||||
fontSize: 10,
|
||||
lineHeight: 15,
|
||||
align: 'left',
|
||||
lineHeight:15,
|
||||
align:'left',
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
this.setData({
|
||||
cust_total: res.data.total,
|
||||
cust_cont_total: res.data.cont_total,
|
||||
cust_top_total: res.data.top_total,
|
||||
showPieChart: true,
|
||||
['ecPie.onInit']: pieChart,
|
||||
cust_total:res.data.total,
|
||||
cust_cont_total:res.data.cont_total,
|
||||
cust_top_total:res.data.top_total,
|
||||
showPieChart:true,
|
||||
['ecPie.onInit']:pieChart,
|
||||
})
|
||||
|
||||
wx.stopPullDownRefresh()
|
||||
@@ -436,21 +400,21 @@ Page({
|
||||
},
|
||||
|
||||
//数据分析-订单数据
|
||||
getAppStatisticsHorder() {
|
||||
getAppStatisticsHorder(){
|
||||
this.setData({
|
||||
showBarChart: false,
|
||||
showBarChart:false,
|
||||
})
|
||||
let params = {};
|
||||
if (this.data.biz_id) {
|
||||
if(this.data.biz_id){
|
||||
params['biz_id'] = this.data.biz_id;
|
||||
}
|
||||
_.apiQuery.getAppStatisticsHorder(params).then(res => {
|
||||
|
||||
barChartData = res.data.stat_data
|
||||
this.setData({
|
||||
order_total: res.data.total,
|
||||
showBarChart: true,
|
||||
['ecBar.onInit']: barChart,
|
||||
order_total:res.data.total,
|
||||
showBarChart:true,
|
||||
['ecBar.onInit']:barChart,
|
||||
})
|
||||
|
||||
wx.stopPullDownRefresh()
|
||||
@@ -460,7 +424,7 @@ Page({
|
||||
|
||||
//推送链接
|
||||
pushLink(e) {
|
||||
if (e.currentTarget.dataset.url) {
|
||||
if(e.currentTarget.dataset.url){
|
||||
_.$router.openUrlScheme(e.currentTarget.dataset.url)
|
||||
}
|
||||
},
|
||||
@@ -473,25 +437,25 @@ Page({
|
||||
},
|
||||
|
||||
//不再提示
|
||||
checkNotice(e) {
|
||||
checkNotice(e){
|
||||
this.setData({
|
||||
stopNotice: !this.data.stopNotice,
|
||||
stopNotice:!this.data.stopNotice,
|
||||
})
|
||||
},
|
||||
|
||||
//关闭通知
|
||||
closeNotice() {
|
||||
if (this.data.stopNotice) {
|
||||
closeNotice(){
|
||||
if(this.data.stopNotice){
|
||||
app.setStorage('stopNotice', 'true')
|
||||
}
|
||||
this.setData({
|
||||
isShowNotice: false,
|
||||
isShowNotice:false,
|
||||
})
|
||||
},
|
||||
|
||||
//公众号关注组件
|
||||
officialaccount(e) {
|
||||
if (e.detail.status == 0 && !app.getStorageByKey("stopNotice") && !this.data.isShowReport) {
|
||||
officialaccount(e){
|
||||
if(e.detail.status == 0&&!app.getStorageByKey("stopNotice")&&!this.data.isShowReport){
|
||||
// this.setData({
|
||||
// isShowNotice:true,
|
||||
// })
|
||||
@@ -499,20 +463,20 @@ Page({
|
||||
},
|
||||
|
||||
//显示隐藏调拨盘点弹窗
|
||||
optShowReport(e) {
|
||||
optShowReport(e){
|
||||
this.setData({
|
||||
isShowReport: !this.data.isShowReport,
|
||||
isShowReport:!this.data.isShowReport,
|
||||
})
|
||||
},
|
||||
//显示隐藏库存预警弹窗
|
||||
optShowGoods(e) {
|
||||
optShowGoods(e){
|
||||
this.setData({
|
||||
isShowGoods: !this.data.isShowGoods,
|
||||
isShowGoods:!this.data.isShowGoods,
|
||||
})
|
||||
},
|
||||
|
||||
//开发中
|
||||
development() {
|
||||
development(){
|
||||
wx.showToast({
|
||||
title: '暂无数据',
|
||||
icon: 'none',
|
||||
@@ -523,68 +487,47 @@ Page({
|
||||
//调拨盘点轮播点
|
||||
bannerChange: function (e) {
|
||||
this.setData({
|
||||
banneractive: e.detail.current,
|
||||
banneractive:e.detail.current,
|
||||
});
|
||||
},
|
||||
//banner轮播点
|
||||
bannerChange2: function (e) {
|
||||
this.setData({
|
||||
banneractive2: e.detail.current,
|
||||
banneractive2:e.detail.current,
|
||||
});
|
||||
},
|
||||
//库存预警轮播点
|
||||
bannerChange3: function (e) {
|
||||
this.setData({
|
||||
banneractive3: e.detail.current,
|
||||
banneractive3:e.detail.current,
|
||||
});
|
||||
},
|
||||
|
||||
//关闭版本提示
|
||||
closeVersionInfo() {
|
||||
closeVersionInfo(){
|
||||
this.setData({
|
||||
isShowVersionInfo: false,
|
||||
isShowVersionInfo:false,
|
||||
})
|
||||
app.setStorage('appversion', this.data.versionInfo.number)
|
||||
app.setStorage('appversion',this.data.versionInfo.number)
|
||||
},
|
||||
|
||||
//切换tab
|
||||
changeTab(e) {
|
||||
changeTab(e){
|
||||
this.setData({
|
||||
levelStIndex: e.currentTarget.dataset.index,
|
||||
levelStIndex:e.currentTarget.dataset.index,
|
||||
})
|
||||
},
|
||||
|
||||
//0924
|
||||
changeScoreRoleTab(e) {
|
||||
this.setData({
|
||||
score_role_cur: parseInt(e.currentTarget.dataset.index)
|
||||
})
|
||||
this.getScore()
|
||||
},
|
||||
//加载最新运营分
|
||||
getScore() {
|
||||
let params = {};
|
||||
if (this.data.score_role_cur) {
|
||||
params['type'] = 1;
|
||||
}
|
||||
_.apiQuery.getAppScore(params).then(res => {
|
||||
this.setData({
|
||||
scoreData: res.data,
|
||||
score_trend: res.data.score_trend,
|
||||
})
|
||||
})
|
||||
},
|
||||
//页面相关事件处理函数--监听用户下拉动作
|
||||
onPullDownRefresh: function () {
|
||||
this.setData({
|
||||
remindTab: [],
|
||||
remindMsg: [],
|
||||
isShowReport: false, //是否显示调拨盘点弹框
|
||||
isShowGoods: false,
|
||||
remindTab:[],
|
||||
remindMsg:[],
|
||||
isShowReport:false,//是否显示调拨盘点弹框
|
||||
isShowGoods:false,
|
||||
});
|
||||
this.getAppUserCal()
|
||||
this.getAppStatisticsHcust()
|
||||
this.getScore()
|
||||
//this.getAppStatisticsHorder()
|
||||
// this.getAppTransferRemind()
|
||||
// this.getAppInventoryRemind()
|
||||
@@ -599,58 +542,49 @@ function getPieOption() {
|
||||
trigger: 'axis',
|
||||
},
|
||||
legend: {
|
||||
top: 'bottom',
|
||||
orient: 'horizontal',
|
||||
textStyle: {
|
||||
fontSize: 9,
|
||||
top: 'bottom',
|
||||
orient: 'horizontal',
|
||||
textStyle:{
|
||||
fontSize:9,
|
||||
}
|
||||
},
|
||||
|
||||
series: [{
|
||||
type: 'pie',
|
||||
top: '0',
|
||||
radius: ['30%', '48%'],
|
||||
data: [{
|
||||
value: 1048,
|
||||
name: '未见潜客'
|
||||
|
||||
series: [
|
||||
{
|
||||
type: 'pie',
|
||||
top: '0',
|
||||
radius: ['30%', '48%'],
|
||||
data: [
|
||||
{value: 1048, name: '未见潜客'},
|
||||
{value: 735, name: '到店潜客'},
|
||||
{value: 580, name: '订单客户'},
|
||||
{value: 484, name: '战败客户'},
|
||||
],
|
||||
label: {
|
||||
formatter: '\n{b|{b}}\n{c|{c}}\n{per|{d}%} ',
|
||||
rich: {
|
||||
b: {
|
||||
color: '#4C5058',
|
||||
fontSize: 10,
|
||||
lineHeight:15,
|
||||
align:'left',
|
||||
},
|
||||
c: {
|
||||
color: '#4C5058',
|
||||
fontSize: 10,
|
||||
lineHeight:15,
|
||||
align:'left',
|
||||
},
|
||||
per: {
|
||||
color: '#4C5058',
|
||||
fontSize: 10,
|
||||
lineHeight:15,
|
||||
align:'left',
|
||||
},
|
||||
}
|
||||
},
|
||||
{
|
||||
value: 735,
|
||||
name: '到店潜客'
|
||||
},
|
||||
{
|
||||
value: 580,
|
||||
name: '订单客户'
|
||||
},
|
||||
{
|
||||
value: 484,
|
||||
name: '战败客户'
|
||||
},
|
||||
],
|
||||
label: {
|
||||
formatter: '\n{b|{b}}\n{c|{c}}\n{per|{d}%} ',
|
||||
rich: {
|
||||
b: {
|
||||
color: '#4C5058',
|
||||
fontSize: 10,
|
||||
lineHeight: 15,
|
||||
align: 'left',
|
||||
},
|
||||
c: {
|
||||
color: '#4C5058',
|
||||
fontSize: 10,
|
||||
lineHeight: 15,
|
||||
align: 'left',
|
||||
},
|
||||
per: {
|
||||
color: '#4C5058',
|
||||
fontSize: 10,
|
||||
lineHeight: 15,
|
||||
align: 'left',
|
||||
},
|
||||
}
|
||||
},
|
||||
}]
|
||||
}
|
||||
]
|
||||
};
|
||||
}
|
||||
|
||||
@@ -675,22 +609,24 @@ function getBarOption() {
|
||||
},
|
||||
yAxis: {
|
||||
type: 'category',
|
||||
data: ['恭喜提车', '保险上牌', '已开发票', '车辆确认', '配车准备', '申请退款', '办理按揭', '已交定金', '已签合同', ],
|
||||
data: ['恭喜提车', '保险上牌', '已开发票','车辆确认','配车准备','申请退款','办理按揭','已交定金','已签合同',],
|
||||
},
|
||||
series: [{
|
||||
type: 'bar',
|
||||
itemStyle: {
|
||||
color: '#2e3246',
|
||||
borderRadius: [0, 20, 20, 0],
|
||||
series: [
|
||||
{
|
||||
type: 'bar',
|
||||
itemStyle: {
|
||||
color:'#2e3246',
|
||||
borderRadius: [0, 20, 20, 0],
|
||||
},
|
||||
barWidth:'15',
|
||||
data: [33, 23, 29,18, 23, 29,18, 23, 29,],
|
||||
label: {
|
||||
show: true,
|
||||
position: 'right',
|
||||
formatter: '{@[n]}',
|
||||
valueAnimation: true
|
||||
}
|
||||
},
|
||||
barWidth: '15',
|
||||
data: [33, 23, 29, 18, 23, 29, 18, 23, 29, ],
|
||||
label: {
|
||||
show: true,
|
||||
position: 'right',
|
||||
formatter: '{@[n]}',
|
||||
valueAnimation: true
|
||||
}
|
||||
}, ]
|
||||
]
|
||||
};
|
||||
}
|
||||
@@ -5,7 +5,6 @@
|
||||
"backgroundColor": "#ffffff",
|
||||
"backgroundColorTop": "#1a1c26",
|
||||
"usingComponents": {
|
||||
"ec-canvas": "../../ecCanvas/components/ec-canvas/ec-canvas",
|
||||
"van-circle": "/vant/circle/index"
|
||||
"ec-canvas": "../../ecCanvas/components/ec-canvas/ec-canvas"
|
||||
}
|
||||
}
|
||||
+15
-50
@@ -39,60 +39,25 @@
|
||||
</view>
|
||||
</view>
|
||||
<!-- 数据看板 -->
|
||||
<view class="bg-fff mb30 box-shadow-000-10-10 ulib-r10 bg-size-fullwidth bg-no-repeat bg-pos-top" style="background-image:url({{data_bg_img}});">
|
||||
<view class="inner30">
|
||||
<view bindtap="pushLink" data-url="/pages/storeData/index" wx:if="{{userInfo.group_id>1}}">
|
||||
<view class="fn-flex fn-flex-middle">
|
||||
<text class="font-36">今日看榜</text>
|
||||
<view class="fn-flex-item text-right pt10">
|
||||
<view class="font-22 color-999">详情<i class="iconfont icon-gengduo ml5 text-middle font-26"></i></view>
|
||||
<view class="bg-fff mb30 inner30 box-shadow-000-10-10 ulib-r10">
|
||||
<view bindtap="pushLink" data-url="/pages/storeData/index" wx:if="{{userInfo.group_id>1}}">
|
||||
<view class="fn-flex fn-flex-middle">
|
||||
<text class="font-36">数据看板</text>
|
||||
<view class="fn-flex-item text-right pt10">
|
||||
<view class="font-22 color-999">详细
|
||||
<i class="iconfont icon-gengduo ml5 text-middle font-26"></i>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="fn-flex fn-flex-wrap pt20 pb10 text-center">
|
||||
<block wx:for="{{userCal.statistics}}" wx:key='index'>
|
||||
<view class="wp25 relative pt20 pb20 {{index>3?'bts-1-eb':''}} {{index%4<3?'brs-1-eb':''}}" bindtap="pushLink" data-url="{{item.today.url}}">
|
||||
<view class="text-bold"><text class="font-36">{{item.today.value}}</text><text class="font-28 color-666">/{{item.month.value}}</text></view>
|
||||
<view class="font-22"><text>{{item.today.title}}</text><text class="color-666">/{{item.month.title}}</text></view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 0924 新增运营分 up:#31cbad, down:#ff895b-->
|
||||
<view class="relative inner30" style="--circle-text-color:{{score_trend>1?score_down_color:score_up_color}};--linearcolor:{{score_trend>1?score_down_color:score_up_color}};">
|
||||
<view class="absolute left-0 top-0 right-0 bottom-0 bg-custom-linear-bottom opacity-10"></view>
|
||||
<view class="fn-flex fn-flex-middle fn-flex-between relative">
|
||||
<text class="font-36">最新运营分</text>
|
||||
<view class="text-right pt10">
|
||||
<view class="ulib-r10 fn-flex overflowhidden font-24">
|
||||
<view data-index="0" bindtap="changeScoreRoleTab" class="{{score_role_cur===0?'bg-ccc':'bg-fff'}} transition-all pl15 pr15 pt5 pb5">个人</view>
|
||||
<view data-index="1" bindtap="changeScoreRoleTab" class="{{score_role_cur===1?'bg-ccc':'bg-fff'}} transition-all pl15 pr15 pt5 pb5" wx:if="{{userInfo.group_id>1}}">门店</view>
|
||||
<!--
|
||||
<block wx:for="{{score_role_tab}}" wx:key="index">
|
||||
<view data-index="{{index}}" bindtap="changeScoreRoleTab" class="{{score_role_cur===index?'bg-ccc':'bg-fff'}} transition-all pl15 pr15 pt5 pb5">{{item.name}}</view>
|
||||
</block>
|
||||
-->
|
||||
</view>
|
||||
<view class="fn-flex fn-flex-wrap pt20 pb10 text-center">
|
||||
<block wx:for="{{userCal.statistics}}" wx:key='index'>
|
||||
<view class="wp25 relative pt20 pb20 {{index>3?'bts-1-eb':''}} {{index%4<3?'brs-1-eb':''}}" bindtap="pushLink" data-url="{{item.today.url}}">
|
||||
<view class="text-bold"><text class="font-36">{{item.today.value}}</text><text class="font-28 color-666">/{{item.month.value}}</text></view>
|
||||
<view class="font-22"><text>{{item.today.title}}</text><text class="color-666">/{{item.month.title}}</text></view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="fn-flex fn-flex-middle pt20 pb20 relative">
|
||||
<view class="mr20 pt20">
|
||||
<van-circle value="{{ scoreData.percentage }}" stroke-width="10" text="{{scoreData.score}}" layer-color="#ebebeb" size="60" color="{{score_trend>1?score_down_color:score_up_color}}"></van-circle>
|
||||
</view>
|
||||
<view class="fn-flex-item line-height-16">
|
||||
<view class="fn-flex fn-flex-middle font-30">
|
||||
<image src="{{score_trend>1?icon_trend_down:icon_trend_up}}" class="img-28x28 block mr10" />
|
||||
<text>{{scoreData.title}}</text>
|
||||
</view>
|
||||
<view class="font-24 color-999">
|
||||
<view>{{scoreData.u_time_text}}</view>
|
||||
<view>{{scoreData.sub_title}}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view data-url="/pages/score/index?is_biz={{score_role_cur}}" bindtap="pushLink" class="font-30 color-999 text-middle"><text>详情</text><i class="iconfont icon-gengduo ml5 font-30"></i></view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
<!-- 0924 end -->
|
||||
</view>
|
||||
<!--客户代办事项-->
|
||||
<view class="bg-fff mb30 box-shadow-000-10-10 ulib-r10">
|
||||
@@ -181,7 +146,7 @@
|
||||
</view>
|
||||
|
||||
<!--订单跟进 -->
|
||||
<view class="bg-fff mb30 box-shadow-000-10-10 ulib-r10" wx:if="{{userInfo.biz_type!=biz_type_4s}}">
|
||||
<view class="bg-fff mb30 box-shadow-000-10-10 ulib-r10">
|
||||
<view class="inner30 pb20">
|
||||
<view class="font-36">订单跟进</view>
|
||||
<view class="fn-flex fn-flex-wrap pt20">
|
||||
@@ -264,7 +229,7 @@
|
||||
<lcb-msg isShow="{{!isShowVersionInfo&&isShowNotice}}" isCustomTabBar="{{true}}">
|
||||
<view slot="content">
|
||||
<view class="mt40 text-center relative overflowhidden" style="height:100px;">
|
||||
<!-- <image class='img-w-280' show-menu-by-longpress='true' lazy-load="{{true}}" mode="widthFix" src="https://qs.liche.cn/lichebao/index/jrKF-code2.jpg"></image> -->
|
||||
<!-- <image class='img-w-280' show-menu-by-longpress='true' lazy-load="{{true}}" mode="widthFix" src="https://qs.haodian.cn/wechat_app/lichebao/index/jrKF-code2.jpg"></image> -->
|
||||
<view style="margin-top:-22px;">
|
||||
<official-account bindload='officialaccount' style="margin:0;padding:0;border:1rpx solid #fff;"></official-account>
|
||||
</view>
|
||||
|
||||
+21
-90
@@ -8,7 +8,6 @@ Page({
|
||||
mobile: '',
|
||||
isShowProfile: true, //是否显示授权用户信息按钮
|
||||
isShowSwitchingRoles: false,
|
||||
biz_type_4s: 5 //门店类型4s店
|
||||
},
|
||||
onLoad: function (options) {
|
||||
for (let key in options) {
|
||||
@@ -21,12 +20,12 @@ Page({
|
||||
if (this.data.source == 'channel') {
|
||||
list = [
|
||||
// {
|
||||
// icon:'https://qs.liche.cn/lichebao/mine/icon-zichan2.png',
|
||||
// icon:'https://qs.haodian.cn/wechat_app/lichebao/mine/icon-zichan2.png',
|
||||
// title:'我的资产',
|
||||
// url:'',
|
||||
// },
|
||||
{
|
||||
icon: 'https://qs.liche.cn/lichebao/mine/icon-sezhi2.png',
|
||||
icon: 'https://qs.haodian.cn/wechat_app/lichebao/mine/icon-sezhi2.png',
|
||||
title: '账户设置',
|
||||
url: '/pages/mine/install/index',
|
||||
},
|
||||
@@ -34,22 +33,22 @@ Page({
|
||||
} else if (this.data.source == 'shop') {
|
||||
list = [
|
||||
// {
|
||||
// icon:'https://qs.liche.cn/lichebao/mine/icon-zichan2.png',
|
||||
// icon:'https://qs.haodian.cn/wechat_app/lichebao/mine/icon-zichan2.png',
|
||||
// title:'我的资产',
|
||||
// url:'',
|
||||
// },
|
||||
// {
|
||||
// icon:'https://qs.liche.cn/lichebao/mine/icon-sucai2.png',
|
||||
// icon:'https://qs.haodian.cn/wechat_app/lichebao/mine/icon-sucai2.png',
|
||||
// title:'签到码',
|
||||
// url:'/pages/signup/code',
|
||||
// },
|
||||
{
|
||||
icon: 'https://qs.liche.cn/lichebao/mine/icon-sezhi2.png',
|
||||
icon: 'https://qs.haodian.cn/wechat_app/lichebao/mine/icon-sezhi2.png',
|
||||
title: '账户设置',
|
||||
url: '/pages/mine/install/index',
|
||||
},
|
||||
// {
|
||||
// icon:'https://qs.liche.cn/lichebao/mine/icon-siyutong2.png',
|
||||
// icon:'https://qs.haodian.cn/wechat_app/lichebao/mine/icon-siyutong2.png',
|
||||
// title:'私域通',
|
||||
// url:'/pages/siyutong/index',
|
||||
// },
|
||||
@@ -57,36 +56,17 @@ Page({
|
||||
} else {
|
||||
list = [
|
||||
// {
|
||||
// icon:'https://qs.liche.cn/lichebao/mine/icon-sucai2.png',
|
||||
// icon:'https://qs.haodian.cn/wechat_app/lichebao/mine/icon-sucai2.png',
|
||||
// title:'签到码',
|
||||
// url:'/pages/signup/code',
|
||||
// }
|
||||
]
|
||||
}
|
||||
// 20250624
|
||||
// let mock_data = [{
|
||||
// icon:'https://img.liche.cn/lichebao/menu-1.png',
|
||||
// title:'积分余额',
|
||||
// tip:'7999',
|
||||
// url:'/pages/customer/score/index'
|
||||
// },{
|
||||
// icon:'https://img.liche.cn/lichebao/menu-2.png',
|
||||
// title:'核销记录',
|
||||
// url:'/pages/customer/score/exchange'
|
||||
// },{
|
||||
// icon:'https://img.liche.cn/lichebao/menu-3.png',
|
||||
// title:'联系客服',
|
||||
// type:1,
|
||||
// url:'13455556666'
|
||||
// }]
|
||||
// let menu_list = mock_data.concat(list)
|
||||
// this.setData({
|
||||
// list: menu_list,
|
||||
// })
|
||||
|
||||
this.setData({
|
||||
list: list,
|
||||
})
|
||||
this.otherMenu()
|
||||
|
||||
this.getUserInfo()
|
||||
console.log(this.data)
|
||||
wx.getSystemInfo({
|
||||
@@ -123,17 +103,17 @@ Page({
|
||||
this.setData({
|
||||
userInfo: res
|
||||
})
|
||||
// let list = this.data.list
|
||||
// if (res.group_id != 4) {
|
||||
// list.push({
|
||||
// icon: 'https://qs.liche.cn/lichebao/mine/icon-sucai2.png',
|
||||
// title: '签到码',
|
||||
// url: '/pages/signup/code',
|
||||
// })
|
||||
// this.setData({
|
||||
// list,
|
||||
// })
|
||||
// }
|
||||
if (res.group_id != 4) {
|
||||
let list = this.data.list
|
||||
list.push({
|
||||
icon: 'https://qs.haodian.cn/wechat_app/lichebao/mine/icon-sucai2.png',
|
||||
title: '签到码',
|
||||
url: '/pages/signup/code',
|
||||
})
|
||||
this.setData({
|
||||
list,
|
||||
})
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
@@ -154,12 +134,7 @@ Page({
|
||||
|
||||
//推送链接-敬请期待
|
||||
pushLinkMsg(e) {
|
||||
// 20250624
|
||||
if(e.currentTarget.dataset.type == 1){
|
||||
wx.makePhoneCall({
|
||||
phoneNumber: e.currentTarget.dataset.url,
|
||||
})
|
||||
}else if (e.currentTarget.dataset.url) {
|
||||
if (e.currentTarget.dataset.url) {
|
||||
_.$router.openUrlScheme(e.currentTarget.dataset.url)
|
||||
} else {
|
||||
wx.showToast({
|
||||
@@ -200,48 +175,4 @@ Page({
|
||||
})
|
||||
},
|
||||
|
||||
//20250624 扫码
|
||||
bindScanCode(){
|
||||
wx.scanCode({
|
||||
success(res) {
|
||||
let params = {
|
||||
'sid':res.result
|
||||
}
|
||||
_.apiQuery.postAppCusorderDestroy(params).then(res => {
|
||||
if (res.code == 200) {
|
||||
wx.showToast({
|
||||
title: res.msg,
|
||||
icon: 'success',
|
||||
duration: 2000
|
||||
})
|
||||
}else{
|
||||
wx.showToast({
|
||||
title: res.msg,
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
});
|
||||
},
|
||||
fail(err) {
|
||||
wx.showToast({
|
||||
title: '扫描失败,请重试',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
});
|
||||
},
|
||||
|
||||
})
|
||||
},
|
||||
//其他菜单
|
||||
otherMenu(){
|
||||
_.apiQuery.getUserMenu().then(res => {
|
||||
let list = res.data
|
||||
if(list){
|
||||
let menu_list = this.data.list.concat(list)
|
||||
this.setData({
|
||||
list: menu_list
|
||||
})
|
||||
}
|
||||
});
|
||||
}
|
||||
})
|
||||
+3
-11
@@ -14,13 +14,7 @@
|
||||
<view class="mt10 font-22 color-666">{{userInfo.biz_name}}</view>
|
||||
</view>
|
||||
|
||||
<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="absolute right-0 box-middle pb40" >
|
||||
<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>
|
||||
@@ -35,18 +29,16 @@
|
||||
<view class="pl40 pr40">
|
||||
<block wx:for="{{list}}" wx:key="index">
|
||||
<block wx:if="{{item.title == '账户设置'}}">
|
||||
<view class="relative pt30 pb30 pl60 font-32" bindtap="pushLinkMsg" data-type="{{item.type}}" data-url="{{item.url}}?source={{source}}">
|
||||
<view class="relative pt30 pb30 pl60 font-32" bindtap="pushLinkMsg" data-url="{{item.url}}?source={{source}}">
|
||||
<image class='absolute left-0 box-middle img-50x50' mode="aspectFill" src='{{item.icon}}' lazy-load="{{true}}"></image>
|
||||
<text>{{item.title}}</text>
|
||||
<text wx:if="{{item.tip}}" class="absolute right-0 mr40 box-middle color-ff0000">{{item.tip}}</text>
|
||||
<i class="absolute right-0 box-middle iconfont icon-gengduo"></i>
|
||||
</view>
|
||||
</block>
|
||||
<block wx:else>
|
||||
<view class="relative pt30 pb30 pl60 font-32" bindtap="pushLinkMsg" data-type="{{item.type}}" data-url="{{item.url}}">
|
||||
<view class="relative pt30 pb30 pl60 font-32" bindtap="pushLinkMsg" data-url="{{item.url}}">
|
||||
<image class='absolute left-0 box-middle img-50x50' mode="aspectFill" src='{{item.icon}}' lazy-load="{{true}}"></image>
|
||||
<text>{{item.title}}</text>
|
||||
<text wx:if="{{item.tip}}" class="absolute right-0 mr40 box-middle color-ff0000">{{item.tip}}</text>
|
||||
<i class="absolute right-0 box-middle iconfont icon-gengduo"></i>
|
||||
</view>
|
||||
</block>
|
||||
|
||||
@@ -26,9 +26,9 @@
|
||||
</view>
|
||||
</view>
|
||||
<view class="mt10 inner30">
|
||||
<view class="pl5 pr40 pt30 pb30 bg-fff box-shadow-000-10-10 ulib-r10" wx:if="{{!noData}}">
|
||||
<view class="pl40 pr40 pt30 pb30 bg-fff box-shadow-000-10-10 ulib-r10" wx:if="{{!noData}}">
|
||||
<view class="fn-flex font-22 text-center color-666">
|
||||
<view class="fn-flex-item">人员</view>
|
||||
<view class="fn-flex-item">店员</view>
|
||||
<view class="fn-flex-item">操作</view>
|
||||
</view>
|
||||
<block wx:for="{{list}}" wx:key='index'>
|
||||
|
||||
@@ -29,8 +29,6 @@ Page({
|
||||
confirm_count_down: 3,
|
||||
wxTimerList: {},
|
||||
wxTimer: null,
|
||||
biz_type_4s: 5, //门店类型4s店
|
||||
app_id_activity: 1
|
||||
},
|
||||
onLoad: function (options) {
|
||||
for (let key in options) {
|
||||
|
||||
@@ -98,64 +98,63 @@
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
<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>
|
||||
<view class="pt30 pb30 text-right font-26 color-999" style="min-height:38rpx">
|
||||
<view>{{info.status>0?'已审核':contract_img.length>0?'更新':'上传'}}<i class="iconfont ml10 icon-gengduo"></i></view>
|
||||
</view>
|
||||
<!--订单合同-->
|
||||
<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>
|
||||
<view class="pt30 pb30 text-right font-26 color-999" style="min-height:38rpx">
|
||||
<view>{{info.status>0?'已审核':contract_img.length>0?'更新':'上传'}}<i class="iconfont ml10 icon-gengduo"></i></view>
|
||||
</view>
|
||||
<!--付款凭证-->
|
||||
<view class="relative bbs-1-eb pl140 font-28" bindtap="pushLink" data-url="/pages/order/editImg/index?id={{id}}&type=pay_img&title=付款凭证&edit={{info.status>0?'0':'1'}}">
|
||||
<view class="absolute left-0 box-middle font-32 color-333">付款凭证</view>
|
||||
<view class="pt30 pb30 text-right font-26 color-999" style="min-height:38rpx">
|
||||
<view>{{info.status>0?'已审核':pay_img.value?'更新':'上传'}}<i class="iconfont ml10 icon-gengduo"></i></view>
|
||||
</view>
|
||||
</view>
|
||||
<!--付款凭证-->
|
||||
<view class="relative bbs-1-eb pl140 font-28" bindtap="pushLink" data-url="/pages/order/editImg/index?id={{id}}&type=pay_img&title=付款凭证&edit={{info.status>0?'0':'1'}}">
|
||||
<view class="absolute left-0 box-middle font-32 color-333">付款凭证</view>
|
||||
<view class="pt30 pb30 text-right font-26 color-999" style="min-height:38rpx">
|
||||
<view>{{info.status>0?'已审核':pay_img.value?'更新':'上传'}}<i class="iconfont ml10 icon-gengduo"></i></view>
|
||||
</view>
|
||||
<!--权益确认书-->
|
||||
<view class="relative bbs-1-eb pl140 font-28" bindtap="pushLink" data-url="/pages/order/editImg/index?id={{id}}&type=equity_ck_img&title=权益确认书&multi=true&edit={{info.status>0?'0':'1'}}" wx:if="{{info.if_equity == 1}}">
|
||||
<view class="absolute left-0 box-middle font-32 color-333">权益确认书</view>
|
||||
<view class="pt30 pb30 text-right font-26 color-999" style="min-height:38rpx">
|
||||
<view>{{info.status>0?'已审核':equity_ck_img.length>0?'更新':'上传'}}<i class="iconfont ml10 icon-gengduo"></i></view>
|
||||
</view>
|
||||
</view>
|
||||
<!--权益确认书-->
|
||||
<!--view class="relative bbs-1-eb pl140 font-28" bindtap="pushLink" data-url="/pages/order/editImg/index?id={{id}}&type=equity_ck_img&title=权益确认书&multi=true&edit={{info.status>0?'0':'1'}}">
|
||||
<view class="absolute left-0 box-middle font-32 color-333">权益确认书</view>
|
||||
<view class="pt30 pb30 text-right font-26 color-999" style="min-height:38rpx">
|
||||
<view>{{info.status>0?'已审核':equity_ck_img.length>0?'更新':'上传'}}<i class="iconfont ml10 icon-gengduo"></i></view>
|
||||
</view>
|
||||
<!--上传发票-->
|
||||
<view class="relative bbs-1-eb pl140 font-28" bindtap="pushLink" data-url="/pages/order/editBillImg/index?id={{id}}&edit={{info.status>1?'0':'1'}}">
|
||||
<view class="absolute left-0 box-middle font-32 color-333">发票</view>
|
||||
<view class="pt30 pb30 text-right font-26 color-999" style="min-height:38rpx">
|
||||
<view>{{info.status>1?'已审核':bill_img.value?'更新':'上传'}}<i class="iconfont ml10 icon-gengduo"></i></view>
|
||||
</view>
|
||||
</view-->
|
||||
<!--上传发票-->
|
||||
<view class="relative bbs-1-eb pl140 font-28" bindtap="pushLink" data-url="/pages/order/editBillImg/index?id={{id}}&edit={{info.status>1?'0':'1'}}">
|
||||
<view class="absolute left-0 box-middle font-32 color-333">发票</view>
|
||||
<view class="pt30 pb30 text-right font-26 color-999" style="min-height:38rpx">
|
||||
<view>{{info.status>1?'已审核':bill_img.value?'更新':'上传'}}<i class="iconfont ml10 icon-gengduo"></i></view>
|
||||
</view>
|
||||
<!--上传行驶证-->
|
||||
<view class="relative bbs-1-eb pl140 font-28" bindtap="pushLink" data-url="/pages/order/editLicenseImg/index?id={{id}}&edit={{info.status>2?'0':'1'}}">
|
||||
<view class="absolute left-0 box-middle font-32 color-333">行驶证</view>
|
||||
<view class="pt30 pb30 text-right font-26 color-999" style="min-height:38rpx">
|
||||
<view>{{info.status>2?'已审核':car_img.value?'更新':'上传'}}<i class="iconfont ml10 icon-gengduo"></i></view>
|
||||
<!-- <button bindtap="pushLink" data-url="/pages/order/editLicenseImg/index?id={{id}}" class="inline-block text-middle font-22 color-fff ulib-r10 btn-36afa2" hover-class="btn-36afa2-hover"><i class="iconfont icon-dengji mr10"></i>{{register_img.value||car_img.value?'更新':'上传'}}</button> -->
|
||||
</view>
|
||||
</view>
|
||||
<!--上传行驶证-->
|
||||
<view class="relative bbs-1-eb pl140 font-28" bindtap="pushLink" data-url="/pages/order/editLicenseImg/index?id={{id}}&edit={{info.status>2?'0':'1'}}">
|
||||
<view class="absolute left-0 box-middle font-32 color-333">行驶证</view>
|
||||
<view class="pt30 pb30 text-right font-26 color-999" style="min-height:38rpx">
|
||||
<view>{{info.status>2?'已审核':car_img.value?'更新':'上传'}}<i class="iconfont ml10 icon-gengduo"></i></view>
|
||||
<!-- <button bindtap="pushLink" data-url="/pages/order/editLicenseImg/index?id={{id}}" class="inline-block text-middle font-22 color-fff ulib-r10 btn-36afa2" hover-class="btn-36afa2-hover"><i class="iconfont icon-dengji mr10"></i>{{register_img.value||car_img.value?'更新':'上传'}}</button> -->
|
||||
</view>
|
||||
<!--上传保险单-->
|
||||
<view class="relative bbs-1-eb pl140 font-28" bindtap="pushLink" data-url="/pages/order/editInsImg/index?id={{id}}&edit={{info.status>2?'0':'1'}}">
|
||||
<view class="absolute left-0 box-middle font-32 color-333">保险单</view>
|
||||
<view class="pt30 pb30 text-right font-26 color-999" style="min-height:38rpx">
|
||||
<view>
|
||||
<block wx:if="{{info.status>2}}">已审核</block>
|
||||
<block wx:else>{{imgInfo.imgs.accident_img.value||imgInfo.imgs.insurance_img.value||imgInfo.imgs.business_img.value?'更新':'上传'}}</block>
|
||||
<i class="iconfont ml10 icon-gengduo"></i>
|
||||
</view>
|
||||
<!-- <button bindtap="pushLink" data-url="/pages/order/editInsImg/index?id={{id}}" class="inline-block text-middle font-22 color-fff ulib-r10 btn-36afa2" hover-class="btn-36afa2-hover"><i class="iconfont icon-dengji mr10"></i>{{ins_img.length>0?'更新':'上传'}}</button> -->
|
||||
</view>
|
||||
<!--上传保险单-->
|
||||
<view class="relative bbs-1-eb pl140 font-28" bindtap="pushLink" data-url="/pages/order/editInsImg/index?id={{id}}&edit={{info.status>2?'0':'1'}}">
|
||||
<view class="absolute left-0 box-middle font-32 color-333">保险单</view>
|
||||
<view class="pt30 pb30 text-right font-26 color-999" style="min-height:38rpx">
|
||||
<view>
|
||||
<block wx:if="{{info.status>2}}">已审核</block>
|
||||
<block wx:else>{{imgInfo.imgs.accident_img.value||imgInfo.imgs.insurance_img.value||imgInfo.imgs.business_img.value?'更新':'上传'}}</block>
|
||||
<i class="iconfont ml10 icon-gengduo"></i>
|
||||
</view>
|
||||
<!-- <button bindtap="pushLink" data-url="/pages/order/editInsImg/index?id={{id}}" class="inline-block text-middle font-22 color-fff ulib-r10 btn-36afa2" hover-class="btn-36afa2-hover"><i class="iconfont icon-dengji mr10"></i>{{ins_img.length>0?'更新':'上传'}}</button> -->
|
||||
</view>
|
||||
<!--车机实名认证-->
|
||||
<!--view class="relative bbs-1-eb pl140 font-28" bindtap="pushLink" data-url="/pages/order/editImg/index?id={{id}}&type=car_auth_img&title=车机实名认证&edit={{info.status>2?'0':'1'}}">
|
||||
</view>
|
||||
<!--车机实名认证-->
|
||||
<view class="relative bbs-1-eb pl140 font-28" bindtap="pushLink" data-url="/pages/order/editImg/index?id={{id}}&type=car_auth_img&title=车机实名认证&edit={{info.status>2?'0':'1'}}">
|
||||
<view class="absolute left-0 box-middle font-32 color-333">实名认证</view>
|
||||
<view class="pt30 pb30 text-right font-26 color-999" style="min-height:38rpx">
|
||||
<view>{{info.status>2?'已审核':car_auth_img.value?'更新':'上传'}}<i class="iconfont ml10 icon-gengduo"></i></view>
|
||||
</view>
|
||||
</view-->
|
||||
<!--上传交车合照-->
|
||||
<!--
|
||||
</view>
|
||||
<!--上传交车合照-->
|
||||
<!--
|
||||
<view class="relative bbs-1-eb pl140 font-28" bindtap="pushLink" data-url="/pages/order/editImg/index?id={{id}}&type=delivery_ck_img&title=交车合照">
|
||||
<view class="absolute left-0 box-middle font-32 color-333">交车合照</view>
|
||||
<view class="pt30 pb30 text-right font-26 color-999" style="min-height:38rpx">
|
||||
@@ -163,7 +162,6 @@
|
||||
</view>
|
||||
</view>
|
||||
-->
|
||||
</block>
|
||||
<!--图片展示-->
|
||||
<block wx:if="{{imgInfo.img_status==2}}">
|
||||
<!--身份证-->
|
||||
@@ -273,20 +271,15 @@
|
||||
</view>
|
||||
|
||||
</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 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="bindShowConfirm" 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>
|
||||
|
||||
</view>
|
||||
<lcb-backChannel></lcb-backChannel>
|
||||
|
||||
|
||||
@@ -51,7 +51,6 @@ Page({
|
||||
firstPayIndex: 0, //首付类型
|
||||
is_get_brand: 0, //是否店内上牌
|
||||
is_get_insure: 0, //是否店内投保
|
||||
if_equity: 0, //是否投保买贵必赔
|
||||
color: '', //车身体颜色
|
||||
in_color: '', //内饰颜色
|
||||
loan_amount: '', //贷款额度
|
||||
@@ -61,9 +60,7 @@ Page({
|
||||
confirm_amount: '', //定⾦
|
||||
discount_amount: '', //⻋身优惠
|
||||
business_type: 0,
|
||||
brand_page_show: false,
|
||||
biz_type_4s: 5, //门店类型4s店
|
||||
app_id_activity: 1
|
||||
brand_page_show: false
|
||||
},
|
||||
//生命周期函数--监听页面加载
|
||||
onLoad: function (options) {
|
||||
@@ -102,17 +99,7 @@ Page({
|
||||
discount_amount: res.data.money_json.discount_amount ?? '', //⻋身优惠
|
||||
is_get_brand: parseInt(res.data.if_num),
|
||||
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) {
|
||||
@@ -472,7 +459,6 @@ Page({
|
||||
params['monthly_payment'] = that.data.monthly_payment;
|
||||
params['if_num'] = that.data.is_get_brand;
|
||||
params['if_insure'] = that.data.is_get_insure;
|
||||
params['if_equity'] = that.data.if_equity;
|
||||
if (that.data.is_get_brand) {
|
||||
params['register_amount'] = that.data.register_amount;
|
||||
}
|
||||
@@ -572,12 +558,6 @@ Page({
|
||||
})
|
||||
},
|
||||
|
||||
changeIfEquity(e) {
|
||||
this.setData({
|
||||
if_equity: e.detail.value ? 1 : 0
|
||||
})
|
||||
},
|
||||
|
||||
//页面相关事件处理函数--监听用户下拉动作
|
||||
onPullDownRefresh() {
|
||||
this.getAppCusorderV2()
|
||||
@@ -603,16 +583,16 @@ Page({
|
||||
},
|
||||
|
||||
//显示选择品牌
|
||||
bindShowBrand() {
|
||||
bindShowBrand(){
|
||||
this.setData({
|
||||
brand_page_show: true
|
||||
})
|
||||
},
|
||||
|
||||
//获取品牌信息
|
||||
getBrandData(e) {
|
||||
getBrandData(e){
|
||||
// console.log(e.detail)
|
||||
if (e.detail.index > -1 && e.detail.item) {
|
||||
if(e.detail.index>-1&&e.detail.item){
|
||||
this.setData({
|
||||
brand_id: e.detail.item.id,
|
||||
brand_name: e.detail.item.name,
|
||||
|
||||
@@ -20,9 +20,9 @@
|
||||
<text wx:else>{{brandArray[brandIndex]}}</text>
|
||||
<i class="iconfont ml5 icon-gengduo"></i>
|
||||
</picker> -->
|
||||
<text wx:if="{{brand_name}}">{{brand_name}}</text>
|
||||
<text class="color-ccc" wx:else>请选择</text>
|
||||
<i class="iconfont ml5 icon-gengduo"></i>
|
||||
<text wx:if="{{brand_name}}">{{brand_name}}</text>
|
||||
<text class="color-ccc" wx:else>请选择</text>
|
||||
<i class="iconfont ml5 icon-gengduo"></i>
|
||||
</view>
|
||||
</view>
|
||||
<view class="relative bbs-1-eb pl190 last-b-none" wx:if="{{brandIndex != -1}}">
|
||||
@@ -120,12 +120,6 @@
|
||||
</view>
|
||||
</block>
|
||||
-->
|
||||
<view class="relative bbs-1-eb last-b-none pl180 font-28">
|
||||
<view class="absolute left-0 box-middle">投保买贵必赔</view>
|
||||
<view class="relative pt30 pb30 text-right">
|
||||
<switch checked="{{if_equity}}" bindchange="changeIfEquity" type="switch" color='#36afa2' style="zoom:0.7" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="relative bbs-1-eb last-b-none pl180 font-28">
|
||||
<view class="absolute left-0 box-middle">是否店内投保</view>
|
||||
<view class="relative pt30 pb30 text-right">
|
||||
@@ -148,14 +142,9 @@
|
||||
</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="{{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>
|
||||
<button class="wp100 btn-36afa2 pt10 pb10 text-center font-32 color-fff ulib-r750" hover-class="btn-36afa2-hover" bindtap="nextstep" wx:if="{{business_type==0||business_type==2}}">下一步</button>
|
||||
<button class="wp100 btn-36afa2 pt10 pb10 text-center font-32 color-fff ulib-r750" hover-class="btn-36afa2-hover" wx:elif="{{business_type==1}}">下一步</button>
|
||||
<button class="wp100 btn-36afa2 pt10 pb10 text-center font-32 color-fff ulib-r750" hover-class="btn-36afa2-hover" bindtap="getAppBusiness" wx:elif="{{business_type==3}}">下一步</button>
|
||||
</block>
|
||||
<button class="wp100 btn-36afa2 pt10 pb10 text-center font-32 color-fff ulib-r750" hover-class="btn-36afa2-hover" bindtap="nextstep" wx:if="{{business_type==0||business_type==2}}">下一步</button>
|
||||
<button class="wp100 btn-36afa2 pt10 pb10 text-center font-32 color-fff ulib-r750" hover-class="btn-36afa2-hover" wx:elif="{{business_type==1}}">下一步</button>
|
||||
<button class="wp100 btn-36afa2 pt10 pb10 text-center font-32 color-fff ulib-r750" hover-class="btn-36afa2-hover" bindtap="getAppBusiness" wx:elif="{{business_type==3}}">下一步</button>
|
||||
</block>
|
||||
<block wx:elif="{{step==3}}">
|
||||
<button class="wp100 bds-2-36afa2 bg-fff mr20 pt10 pb10 text-center font-32 color-36afa2 ulib-r750" hover-class="btn-36afa2-hover" bindtap="optstep" data-step="{{step-1}}">上一步</button>
|
||||
@@ -223,12 +212,6 @@
|
||||
<view class="absolute left-0 box-middle color-333">车身优惠</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx;"><text class="mr10 color-f9394d">{{discount_amount}}</text>元</view>
|
||||
</view>
|
||||
<view class="bbs-1-eb last-b-none">
|
||||
<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"> {{if_equity?'是':'否'}} </view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="bbs-1-eb last-b-none">
|
||||
<view class="relative pl190">
|
||||
<view class="absolute left-0 box-middle font-28 color-333">是否店内投保</view>
|
||||
|
||||
+112
-167
@@ -2,41 +2,39 @@ import _ from '../../commons/js/commons'
|
||||
const app = getApp()
|
||||
Page({
|
||||
data: {
|
||||
searchInp: {
|
||||
searchInp:{
|
||||
value: '',
|
||||
focus: false,
|
||||
},
|
||||
key: '', //tab状态值
|
||||
list: [], //客户列表
|
||||
key:'',//tab状态值
|
||||
list: [],//客户列表
|
||||
pageNo: 1,
|
||||
noData: false,
|
||||
end: false,
|
||||
load: true,
|
||||
loading: false,
|
||||
flag: 1,
|
||||
content: '', //短信内容
|
||||
isRefresh: false, //判断返回是否需要刷新
|
||||
flag:1,
|
||||
content:'',//短信内容
|
||||
isRefresh:false,//判断返回是否需要刷新
|
||||
isShowMobile: false,
|
||||
v2OrderId: _.config.v2OrderId, //订单id临界切换版本
|
||||
v2OrderId:_.config.v2OrderId,//订单id临界切换版本
|
||||
|
||||
isShowfilter: false, //是否显示筛查
|
||||
type: '',
|
||||
order_s_time: '', //开始时间
|
||||
order_e_time: '', //结束时间
|
||||
isShowfilter:false,//是否显示筛查
|
||||
type:'',
|
||||
order_s_time:'',//开始时间
|
||||
order_e_time:'',//结束时间
|
||||
|
||||
staffArray: [],
|
||||
staffobj: [],
|
||||
employeeIndex: -1, //分配销售索引
|
||||
employee_id: '', //分配销售ID
|
||||
employeeIndex:-1,//分配销售索引
|
||||
employee_id:'',//分配销售ID
|
||||
|
||||
brand_id: '', //品牌id
|
||||
car_id: '', //车系id
|
||||
v_id: '', //车辆版本id
|
||||
brandIndex: -1, //车辆品牌索引
|
||||
modelIndex: -1, //车系车型索引
|
||||
levelIndex: -1, //车辆版本索引
|
||||
brand_page_show: false,
|
||||
brand_name: ''
|
||||
brand_id:'',//品牌id
|
||||
car_id:'',//车系id
|
||||
v_id:'',//车辆版本id
|
||||
brandIndex:-1,//车辆品牌索引
|
||||
modelIndex:-1,//车系车型索引
|
||||
levelIndex:-1,//车辆版本索引
|
||||
},
|
||||
onLoad: function (options) {
|
||||
for (let key in options) {
|
||||
@@ -58,9 +56,9 @@ Page({
|
||||
getAppCusorderTabs() {
|
||||
_.apiQuery.getAppCusorderTabs().then(res => {
|
||||
this.setData({
|
||||
filters: res.data.filters,
|
||||
tab: res.data.tabs,
|
||||
key: this.data.key == '' ? res.data.tabs[0].key : this.data.key,
|
||||
filters:res.data.filters,
|
||||
tab:res.data.tabs,
|
||||
key:this.data.key==''?res.data.tabs[0].key:this.data.key,
|
||||
})
|
||||
|
||||
this.getAppCusorderList()
|
||||
@@ -70,18 +68,18 @@ Page({
|
||||
},
|
||||
|
||||
//切换tab
|
||||
changeTab(e) {
|
||||
changeTab(e){
|
||||
this.setData({
|
||||
key: this.data.tab[e.currentTarget.dataset.index].key,
|
||||
type: '',
|
||||
order_s_time: '',
|
||||
order_e_time: '',
|
||||
type:'',
|
||||
order_s_time:'',
|
||||
order_e_time:'',
|
||||
})
|
||||
this.searchSubmit()
|
||||
},
|
||||
|
||||
// 显示弹框
|
||||
showMobileMsg() {
|
||||
showMobileMsg(){
|
||||
this.setData({
|
||||
isShowMobile: true
|
||||
})
|
||||
@@ -96,11 +94,11 @@ Page({
|
||||
|
||||
let admin_ids = ''
|
||||
this.data.staffobj.forEach(item => {
|
||||
if (item.checked) {
|
||||
if (admin_ids == '') {
|
||||
admin_ids = item.id
|
||||
} else {
|
||||
admin_ids = admin_ids + ',' + item.id
|
||||
if(item.checked){
|
||||
if(admin_ids==''){
|
||||
admin_ids=item.id
|
||||
}else{
|
||||
admin_ids=admin_ids+','+item.id
|
||||
}
|
||||
}
|
||||
})
|
||||
@@ -109,26 +107,26 @@ Page({
|
||||
params['page'] = this.data.pageNo;
|
||||
params['size'] = 10;
|
||||
params['status'] = this.data.key;
|
||||
if (this.data.searchInp.value != '') {
|
||||
if(this.data.searchInp.value != ''){
|
||||
params['keyword'] = this.data.searchInp.value;
|
||||
}
|
||||
if (this.data.type != '') {
|
||||
if(this.data.type != ''){
|
||||
params['type'] = this.data.type;
|
||||
}
|
||||
if (this.data.order_s_time != '' && this.data.order_e_time != '') {
|
||||
if(this.data.order_s_time != ''&&this.data.order_e_time != ''){
|
||||
params['order_s_time'] = this.data.order_s_time;
|
||||
params['order_e_time'] = this.data.order_e_time;
|
||||
}
|
||||
if (admin_ids != '') {
|
||||
if(admin_ids!=''){
|
||||
params['admin_ids'] = admin_ids;
|
||||
}
|
||||
if (this.data.brand_id != '') {
|
||||
if(this.data.brand_id!=''){
|
||||
params['brand_id'] = this.data.brand_id;
|
||||
}
|
||||
if (this.data.car_id != '') {
|
||||
if(this.data.car_id!=''){
|
||||
params['car_id'] = this.data.car_id;
|
||||
}
|
||||
if (this.data.v_id != '') {
|
||||
if(this.data.v_id!=''){
|
||||
params['v_id'] = this.data.v_id;
|
||||
}
|
||||
_.apiQuery.getAppCusorderList(params).then(res => {
|
||||
@@ -157,12 +155,12 @@ Page({
|
||||
},
|
||||
|
||||
// 输入
|
||||
searchInput(e) {
|
||||
searchInput(e){
|
||||
this.setData({
|
||||
'searchInp.value': e.detail.value
|
||||
})
|
||||
},
|
||||
searchFocus() {
|
||||
searchFocus(){
|
||||
this.setData({
|
||||
'searchInp.focus': true,
|
||||
})
|
||||
@@ -175,7 +173,7 @@ Page({
|
||||
},
|
||||
|
||||
//提交搜索
|
||||
searchSubmit() {
|
||||
searchSubmit(){
|
||||
this.setData({
|
||||
list: [],
|
||||
pageNo: 1,
|
||||
@@ -197,14 +195,14 @@ Page({
|
||||
},
|
||||
|
||||
//推送链接
|
||||
pushLink(e) {
|
||||
if (e.currentTarget.dataset.url) {
|
||||
pushLink(e){
|
||||
if(e.currentTarget.dataset.url){
|
||||
_.$router.openUrlScheme(e.currentTarget.dataset.url)
|
||||
}
|
||||
},
|
||||
|
||||
//显示隐藏高级搜索
|
||||
optfilter() {
|
||||
optfilter(){
|
||||
this.setData({
|
||||
isShowfilter: !this.data.isShowfilter
|
||||
})
|
||||
@@ -212,16 +210,16 @@ Page({
|
||||
},
|
||||
|
||||
//显示高级搜索
|
||||
showfilter() {
|
||||
showfilter(){
|
||||
this.setData({
|
||||
isShowfilter: true,
|
||||
isShowfilter:true,
|
||||
})
|
||||
},
|
||||
|
||||
//确定高级搜索
|
||||
submitFilter() {
|
||||
this.setData({
|
||||
isShowfilter: false,
|
||||
isShowfilter:false,
|
||||
})
|
||||
this.searchSubmit()
|
||||
},
|
||||
@@ -234,45 +232,44 @@ Page({
|
||||
})
|
||||
|
||||
this.setData({
|
||||
brand_name: '',
|
||||
brand_id: '',
|
||||
car_id: '',
|
||||
v_id: '',
|
||||
brandIndex: -1,
|
||||
modelIndex: -1,
|
||||
levelIndex: -1,
|
||||
brand_id:'',
|
||||
car_id:'',
|
||||
v_id:'',
|
||||
brandIndex:-1,
|
||||
modelIndex:-1,
|
||||
levelIndex:-1,
|
||||
staffobj,
|
||||
type: '',
|
||||
order_s_time: '',
|
||||
order_e_time: '',
|
||||
type:'',
|
||||
order_s_time:'',
|
||||
order_e_time:'',
|
||||
})
|
||||
},
|
||||
|
||||
//单选
|
||||
radioPicker(e) {
|
||||
if (e.currentTarget.dataset.type == 'type') {
|
||||
radioPicker(e){
|
||||
if(e.currentTarget.dataset.type == 'type'){
|
||||
this.setData({
|
||||
type: e.currentTarget.dataset.key,
|
||||
type:e.currentTarget.dataset.key,
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
//开始时间
|
||||
startDate(e) {
|
||||
startDate(e){
|
||||
this.setData({
|
||||
order_s_time: e.detail.value,
|
||||
})
|
||||
},
|
||||
|
||||
//结束时间
|
||||
endDate(e) {
|
||||
endDate(e){
|
||||
this.setData({
|
||||
order_e_time: e.detail.value,
|
||||
})
|
||||
},
|
||||
|
||||
//获取销售顾问
|
||||
getAppUserAdmins() {
|
||||
getAppUserAdmins(){
|
||||
let params = {};
|
||||
params['page'] = 1;
|
||||
params['size'] = 1000;
|
||||
@@ -286,7 +283,7 @@ Page({
|
||||
bizArray.push(item.name)
|
||||
})
|
||||
this.setData({
|
||||
staffArray: staffArray,
|
||||
staffArray:staffArray,
|
||||
staffobj: res.data.list,
|
||||
})
|
||||
});
|
||||
@@ -295,41 +292,42 @@ Page({
|
||||
//显示分配订单
|
||||
showTransfer(e) {
|
||||
this.setData({
|
||||
ids: [e.currentTarget.dataset.id],
|
||||
isShowTransfer: true,
|
||||
ids:[e.currentTarget.dataset.id],
|
||||
isShowTransfer:true,
|
||||
})
|
||||
},
|
||||
|
||||
//显示隐藏分配订单
|
||||
optTransfer(e) {
|
||||
this.setData({
|
||||
employee_id: '',
|
||||
employeeIndex: -1,
|
||||
isShowTransfer: !this.data.isShowTransfer,
|
||||
employee_id:'',
|
||||
employeeIndex:-1,
|
||||
isShowTransfer:!this.data.isShowTransfer,
|
||||
})
|
||||
},
|
||||
|
||||
//选择店员
|
||||
changeEmployee(e) {
|
||||
let employee_id = ''
|
||||
if (e.detail.value >= 0) {
|
||||
if(e.detail.value >= 0){
|
||||
employee_id = this.data.staffobj[e.detail.value].id
|
||||
}
|
||||
this.setData({
|
||||
employee_id,
|
||||
employeeIndex: e.detail.value,
|
||||
employeeIndex:e.detail.value,
|
||||
})
|
||||
},
|
||||
|
||||
//分配订单
|
||||
putAppCusorderV2Admins() {
|
||||
putAppCusorderV2Admins(){
|
||||
let that = this
|
||||
if (that.data.employeeIndex == -1) {
|
||||
if (that.data.employeeIndex == -1 ) {
|
||||
wx.showToast({
|
||||
title: '请选择车管家',
|
||||
icon: 'none'
|
||||
})
|
||||
} else {
|
||||
}
|
||||
else{
|
||||
that.setData({
|
||||
submitFlag: true,
|
||||
})
|
||||
@@ -344,12 +342,12 @@ Page({
|
||||
duration: 2000
|
||||
})
|
||||
that.setData({
|
||||
isShowTransfer: false,
|
||||
submitFlag: false,
|
||||
isShowTransfer:false,
|
||||
submitFlag:false,
|
||||
})
|
||||
that.onPullDownRefresh()
|
||||
|
||||
}).catch(res => {
|
||||
}).catch(res=>{
|
||||
that.setData({
|
||||
submitFlag: false,
|
||||
})
|
||||
@@ -358,60 +356,60 @@ Page({
|
||||
},
|
||||
|
||||
//多选
|
||||
checkPicker(e) {
|
||||
checkPicker(e){
|
||||
this.setData({
|
||||
['staffobj[' + e.currentTarget.dataset.index + '].checked']: !this.data.staffobj[e.currentTarget.dataset.index].checked,
|
||||
['staffobj['+e.currentTarget.dataset.index+'].checked']:!this.data.staffobj[e.currentTarget.dataset.index].checked,
|
||||
})
|
||||
},
|
||||
|
||||
//获取车型品牌
|
||||
getAppSeriesBrands() {
|
||||
getAppSeriesBrands(){
|
||||
_.apiQuery.getAppSeriesBrands().then(res => {
|
||||
if (res.data.list.length > 0) {
|
||||
if(res.data.list.length>0){
|
||||
let brandArray = []
|
||||
res.data.list.forEach(item => {
|
||||
brandArray.push(item.name)
|
||||
})
|
||||
this.setData({
|
||||
brandArray: brandArray,
|
||||
brandList: res.data.list,
|
||||
brandArray:brandArray,
|
||||
brandList:res.data.list,
|
||||
})
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
//获取车系车型
|
||||
getAppSeries() {
|
||||
getAppSeries(){
|
||||
let params = {};
|
||||
params['brand_id'] = this.data.brand_id;
|
||||
_.apiQuery.getAppSeries(params).then(res => {
|
||||
if (res.data.list.length > 0) {
|
||||
if(res.data.list.length>0){
|
||||
let modelArray = []
|
||||
res.data.list.forEach(item => {
|
||||
modelArray.push(item.name)
|
||||
})
|
||||
this.setData({
|
||||
modelArray: modelArray,
|
||||
modelList: res.data.list,
|
||||
modelArray:modelArray,
|
||||
modelList:res.data.list,
|
||||
})
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
//获取车辆版本
|
||||
getAppSeriesAttrslevel() {
|
||||
getAppSeriesAttrslevel(){
|
||||
let params = {};
|
||||
params['id'] = this.data.car_id;
|
||||
params['type'] = 0;
|
||||
_.apiQuery.getAppSeriesAttrs(params).then(res => {
|
||||
if (res.data.total > 0) {
|
||||
if(res.data.total>0){
|
||||
let levelArray = []
|
||||
res.data.list.forEach(item => {
|
||||
levelArray.push(item.title)
|
||||
})
|
||||
this.setData({
|
||||
levelArray: levelArray,
|
||||
levelList: res.data.list,
|
||||
levelArray:levelArray,
|
||||
levelList:res.data.list,
|
||||
})
|
||||
}
|
||||
});
|
||||
@@ -419,14 +417,14 @@ Page({
|
||||
|
||||
//选择品牌
|
||||
changeBrand(e) {
|
||||
if (this.data.brandIndex != e.detail.value && e.detail.value >= 0) {
|
||||
if(this.data.brandIndex != e.detail.value && e.detail.value >= 0){
|
||||
this.setData({
|
||||
brand_id: this.data.brandList[e.detail.value].id,
|
||||
brandIndex: e.detail.value,
|
||||
car_id: '', //车系id
|
||||
v_id: '', //车辆版本id
|
||||
modelIndex: -1,
|
||||
levelIndex: -1,
|
||||
brand_id:this.data.brandList[e.detail.value].id,
|
||||
brandIndex:e.detail.value,
|
||||
car_id:'',//车系id
|
||||
v_id:'',//车辆版本id
|
||||
modelIndex:-1,
|
||||
levelIndex:-1,
|
||||
})
|
||||
this.getAppSeries()
|
||||
}
|
||||
@@ -434,12 +432,12 @@ Page({
|
||||
|
||||
//选择车系
|
||||
changeModel(e) {
|
||||
if (this.data.modelIndex != e.detail.value && e.detail.value >= 0) {
|
||||
if(this.data.modelIndex != e.detail.value && e.detail.value >= 0){
|
||||
this.setData({
|
||||
car_id: this.data.modelList[e.detail.value].id,
|
||||
modelIndex: e.detail.value,
|
||||
v_id: '', //车辆版本id
|
||||
levelIndex: -1,
|
||||
car_id:this.data.modelList[e.detail.value].id,
|
||||
modelIndex:e.detail.value,
|
||||
v_id:'',//车辆版本id
|
||||
levelIndex:-1,
|
||||
})
|
||||
this.getAppSeriesAttrslevel()
|
||||
}
|
||||
@@ -447,16 +445,16 @@ Page({
|
||||
|
||||
//车辆版本
|
||||
changeLevel(e) {
|
||||
if (this.data.levelIndex != e.detail.value && e.detail.value >= 0) {
|
||||
if(this.data.levelIndex != e.detail.value && e.detail.value >= 0){
|
||||
this.setData({
|
||||
v_id: this.data.levelList[e.detail.value].id,
|
||||
levelIndex: e.detail.value,
|
||||
v_id:this.data.levelList[e.detail.value].id,
|
||||
levelIndex:e.detail.value,
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
//页面相关事件处理函数--监听用户下拉动作
|
||||
onPullDownRefresh() {
|
||||
onPullDownRefresh(){
|
||||
this.setData({
|
||||
list: [],
|
||||
pageNo: 1,
|
||||
@@ -468,69 +466,16 @@ Page({
|
||||
})
|
||||
|
||||
this.getAppCusorderTabs()
|
||||
// this.getAppCusorderList()
|
||||
this.getAppCusorderList()
|
||||
},
|
||||
|
||||
//页面上拉触底事件的处理函数
|
||||
onReachBottom() {
|
||||
if (this.data.noData || this.data.end || !this.data.load) return;
|
||||
onReachBottom(){
|
||||
if (this.data.noData || this.data.end||!this.data.load) return;
|
||||
this.setData({
|
||||
flag: this.data.flag + 1
|
||||
})
|
||||
this.getAppCusorderList()
|
||||
},
|
||||
bindShowBrand() {
|
||||
this.setData({
|
||||
brand_page_show: true
|
||||
})
|
||||
},
|
||||
//获取品牌信息
|
||||
getBrandData(e) {
|
||||
console.log(e.detail)
|
||||
if (e.detail.index > -1 && e.detail.item) {
|
||||
this.setData({
|
||||
brand_id: e.detail.item.id,
|
||||
brand_name: e.detail.item.name,
|
||||
brandIndex: e.detail.index,
|
||||
series_id: '', //车系id
|
||||
modelArray: [],
|
||||
modelIndex: -1, //车系车型索引
|
||||
car_id: '', //车系id
|
||||
carArray: [], //车辆版本列表
|
||||
carIndex: -1, //车辆版本索引
|
||||
})
|
||||
this.getAppSeries()
|
||||
}
|
||||
},
|
||||
// 同意核销
|
||||
bindAgreeCheckCode(e) {
|
||||
let that = this
|
||||
let index = e.currentTarget.dataset.index
|
||||
let item = that.data.list[index]
|
||||
let params = {
|
||||
'id': item.id
|
||||
}
|
||||
wx.showModal({
|
||||
content: '确定核销该订单',
|
||||
success: function (res) {
|
||||
if (res.confirm) {
|
||||
_.apiQuery.postAppCusorderDestroy(params).then(res => {
|
||||
if (res.code == 200) {
|
||||
wx.showToast({
|
||||
title: res.msg,
|
||||
icon: 'success',
|
||||
duration: 2000
|
||||
})
|
||||
that.onPullDownRefresh()
|
||||
}else{
|
||||
wx.showToast({
|
||||
title: res.msg,
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
})
|
||||
@@ -2,7 +2,6 @@
|
||||
"navigationBarTitleText": "订单",
|
||||
"enablePullDownRefresh": true,
|
||||
"usingComponents": {
|
||||
"lcb-changeMobile": "/components/changeMobile/index",
|
||||
"brandSelect": "/components/brandSelect/index"
|
||||
"lcb-changeMobile": "/components/changeMobile/index"
|
||||
}
|
||||
}
|
||||
+2
-18
@@ -139,13 +139,6 @@
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
<view class="pt20 fn-clear font-28" wx:if="{{item.destroy.is_show}}">
|
||||
<view class="fn-fl color-333">{{'购车券'}}</view>
|
||||
<view class="fn-fr wp60 text-nowrap fn-flex">
|
||||
<view class="fn-flex-item"></view>
|
||||
<button class="btn bg-36afa2 font-22 color-fff ulib-r750" catch:tap="{{item.destroy.status==0?'bindAgreeCheckCode':''}}" data-index="{{index}}">{{item.destroy.text}}</button>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
<view class="mt20 pt5 pb5 pl20 pr20 bg-f6 font-22 color-666 ulib-rlb750 ulib-rr750" wx:if="{{item.remark}}">注:{{item.remark}}</view>
|
||||
@@ -215,19 +208,12 @@
|
||||
</view>
|
||||
<view class="relative bbs-1-eb pl190">
|
||||
<view class="absolute left-0 box-middle font-28 color-333">车辆品牌</view>
|
||||
<view class="pt15 pb15 text-right font-28 color-666">
|
||||
<view class="pt15 pb15 text-right font-28 color-666" bindtap="bindShowBrand">
|
||||
<text wx:if="{{brand_name}}}">{{brand_name||'请选择'}}</text>
|
||||
<text class="color-ccc" wx:else>请选择</text>
|
||||
<i class="iconfont ml5 icon-gengduo"></i>
|
||||
</view>
|
||||
<!--
|
||||
<view class="pt30 pb30 text-right font-28 color-666">
|
||||
<picker bindchange="changeBrand" value="{{brandIndex}}" range="{{brandArray}}">
|
||||
<text class="color-ccc" wx:if="{{brandIndex == -1}}">请选择</text>
|
||||
<text wx:else>{{brandArray[brandIndex]}}</text>
|
||||
<i class="iconfont ml5 icon-gengduo"></i>
|
||||
</picker>
|
||||
-->
|
||||
</view>
|
||||
</view>
|
||||
<view class="relative bbs-1-eb pl190" wx:if="{{brandIndex != -1}}">
|
||||
@@ -278,6 +264,4 @@
|
||||
<button disabled="{{submitFlag}}" bindtap="putAppCusorderV2Admins" 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>
|
||||
</lcb-msg>
|
||||
@@ -58,7 +58,6 @@ Page({
|
||||
firstPayIndex: 0, //首付类型
|
||||
is_get_brand: 0, //20240526是否店内上牌
|
||||
is_get_insure: 0, //20240526是否店内投保
|
||||
if_equity: 0, //是否投保买贵必赔
|
||||
color: '', //车身体颜色
|
||||
in_color: '', //内饰颜色
|
||||
loan_amount: '', //贷款额度
|
||||
@@ -67,8 +66,7 @@ Page({
|
||||
register_amount: '', //上牌费
|
||||
confirm_amount: '', //定⾦
|
||||
discount_amount: '', //⻋身优惠
|
||||
brand_page_show: false,
|
||||
biz_type_4s: 5 //门店类型4s店
|
||||
brand_page_show: false
|
||||
},
|
||||
//生命周期函数--监听页面加载
|
||||
onLoad: function (options) {
|
||||
@@ -145,13 +143,9 @@ Page({
|
||||
icon: 'none'
|
||||
})
|
||||
} else {
|
||||
if (this.data.userInfo.biz_type == this.data.biz_type_4s) {
|
||||
this.showPreview();
|
||||
} else {
|
||||
this.setData({
|
||||
step: 3,
|
||||
})
|
||||
}
|
||||
this.setData({
|
||||
step: 3,
|
||||
})
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
@@ -161,67 +155,46 @@ Page({
|
||||
icon: 'none'
|
||||
})
|
||||
} else {
|
||||
this.showPreview();
|
||||
let that = this
|
||||
that.setData({
|
||||
isPreview: true,
|
||||
isFill: true,
|
||||
})
|
||||
wx.pageScrollTo({
|
||||
scrollTop: 0
|
||||
})
|
||||
|
||||
that.setData({
|
||||
isShowcheck: true,
|
||||
checkCount: 2,
|
||||
checktext: 3 + 's'
|
||||
})
|
||||
let interval = setInterval(res => {
|
||||
if (that.data.checkCount > 0) {
|
||||
that.setData({
|
||||
checkCount: that.data.checkCount - 1,
|
||||
checktext: that.data.checkCount + 's'
|
||||
})
|
||||
} else {
|
||||
clearInterval(interval)
|
||||
that.setData({
|
||||
checkCount: 5,
|
||||
checktext: '我知道了'
|
||||
})
|
||||
}
|
||||
}, 1000)
|
||||
}
|
||||
break;
|
||||
|
||||
}
|
||||
},
|
||||
showPreview() {
|
||||
let that = this
|
||||
that.setData({
|
||||
isPreview: true,
|
||||
isFill: true,
|
||||
})
|
||||
wx.pageScrollTo({
|
||||
scrollTop: 0
|
||||
})
|
||||
|
||||
that.setData({
|
||||
isShowcheck: true,
|
||||
checkCount: 2,
|
||||
checktext: 3 + 's'
|
||||
})
|
||||
let interval = setInterval(res => {
|
||||
if (that.data.checkCount > 0) {
|
||||
that.setData({
|
||||
checkCount: that.data.checkCount - 1,
|
||||
checktext: that.data.checkCount + 's'
|
||||
})
|
||||
} else {
|
||||
clearInterval(interval)
|
||||
that.setData({
|
||||
checkCount: 5,
|
||||
checktext: '我知道了'
|
||||
})
|
||||
}
|
||||
}, 1000)
|
||||
},
|
||||
//获取用户信息
|
||||
getUserInfo() {
|
||||
_.apiQuery.getUserInfo().then(res => {
|
||||
this.setData({
|
||||
userInfo: res,
|
||||
})
|
||||
if (res.biz_type == this.data.biz_type_4s) { //4s店铺
|
||||
let main = [{
|
||||
title: '个人',
|
||||
value: 0
|
||||
}]
|
||||
let tab = [{
|
||||
title: '客户信息',
|
||||
step: 1,
|
||||
},
|
||||
{
|
||||
title: '车辆信息',
|
||||
step: 2,
|
||||
}
|
||||
]
|
||||
this.setData({
|
||||
main: main,
|
||||
tab: tab
|
||||
})
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
@@ -375,7 +348,6 @@ Page({
|
||||
params['monthly_payment'] = that.data.monthly_payment;
|
||||
params['if_num'] = that.data.is_get_brand;
|
||||
params['if_insure'] = that.data.is_get_insure;
|
||||
params['if_equity'] = that.data.if_equity;
|
||||
if (that.data.is_get_brand) {
|
||||
params['register_amount'] = that.data.register_amount;
|
||||
}
|
||||
@@ -543,24 +515,18 @@ Page({
|
||||
is_get_insure: e.detail.value ? 1 : 0
|
||||
})
|
||||
},
|
||||
//20240926是否投保买贵必赔
|
||||
changeIfEquity(e) {
|
||||
this.setData({
|
||||
if_equity: e.detail.value ? 1 : 0
|
||||
})
|
||||
},
|
||||
|
||||
//显示选择品牌
|
||||
bindShowBrand() {
|
||||
bindShowBrand(){
|
||||
this.setData({
|
||||
brand_page_show: true
|
||||
})
|
||||
},
|
||||
|
||||
//获取品牌信息
|
||||
getBrandData(e) {
|
||||
getBrandData(e){
|
||||
// console.log(e.detail)
|
||||
if (e.detail.index > -1 && e.detail.item) {
|
||||
if(e.detail.index>-1&&e.detail.item){
|
||||
this.setData({
|
||||
brand_id: e.detail.item.id,
|
||||
brand_name: e.detail.item.name,
|
||||
|
||||
@@ -182,12 +182,6 @@
|
||||
<input class="wp100 height-100 text-right font-28" placeholder-class="color-ccc" type="digit" placeholder="请输入⻋身优惠" model:value='{{discount_amount}}' always-embed='{{true}}' />
|
||||
</view>
|
||||
</view>
|
||||
<view class="relative bbs-1-eb last-b-none pl180 font-28">
|
||||
<view class="absolute left-0 box-middle">投保买贵必赔</view>
|
||||
<view class="relative pt30 pb30 text-right">
|
||||
<switch checked="{{if_equity}}" bindchange="changeIfEquity" type="switch" color='#36afa2' style="zoom:0.7" />
|
||||
</view>
|
||||
</view>
|
||||
<view class="relative bbs-1-eb last-b-none pl180 font-28">
|
||||
<view class="absolute left-0 box-middle">是否店内投保</view>
|
||||
<view class="relative pt30 pb30 text-right">
|
||||
@@ -206,7 +200,7 @@
|
||||
<input class="wp100 height-100 text-right font-28" placeholder-class="color-ccc" type="digit" placeholder="请输入上牌费" model:value='{{register_amount}}' always-embed='{{true}}' />
|
||||
</view>
|
||||
</view>
|
||||
|
||||
|
||||
</view>
|
||||
</view>
|
||||
<view class="fixed left-0 right-0 bottom-0 bg-fff-op90 inner40 fn-flex safe-pb">
|
||||
@@ -215,14 +209,9 @@
|
||||
</block>
|
||||
<block wx:if="{{step==2}}">
|
||||
<button class="wp100 bds-2-36afa2 bg-fff mr20 pt10 pb10 text-center font-32 color-36afa2 ulib-r750" hover-class="btn-36afa2-hover" bindtap="optstep" data-step="{{step-1}}">上一步</button>
|
||||
<block wx:if="{{userInfo.biz_type==biz_type_4s}}">
|
||||
<button class="wp100 btn-36afa2 pt10 pb10 text-center font-32 color-fff ulib-r750" hover-class="btn-36afa2-hover" bindtap="nextstep">登记预览</button>
|
||||
</block>
|
||||
<block wx:else>
|
||||
<button class="wp100 btn-36afa2 pt10 pb10 text-center font-32 color-fff ulib-r750" hover-class="btn-36afa2-hover" bindtap="nextstep" wx:if="{{business_type==0||business_type==2}}">下一步</button>
|
||||
<button class="wp100 btn-36afa2 pt10 pb10 text-center font-32 color-fff ulib-r750" hover-class="btn-36afa2-hover" wx:elif="{{business_type==1}}">下一步</button>
|
||||
<button class="wp100 btn-36afa2 pt10 pb10 text-center font-32 color-fff ulib-r750" hover-class="btn-36afa2-hover" bindtap="getAppBusiness" wx:elif="{{business_type==3}}">下一步</button>
|
||||
</block>
|
||||
<button class="wp100 btn-36afa2 pt10 pb10 text-center font-32 color-fff ulib-r750" hover-class="btn-36afa2-hover" bindtap="nextstep" wx:if="{{business_type==0||business_type==2}}">下一步</button>
|
||||
<button class="wp100 btn-36afa2 pt10 pb10 text-center font-32 color-fff ulib-r750" hover-class="btn-36afa2-hover" wx:elif="{{business_type==1}}">下一步</button>
|
||||
<button class="wp100 btn-36afa2 pt10 pb10 text-center font-32 color-fff ulib-r750" hover-class="btn-36afa2-hover" bindtap="getAppBusiness" wx:elif="{{business_type==3}}">下一步</button>
|
||||
</block>
|
||||
<block wx:if="{{step==3}}">
|
||||
<button class="wp100 bds-2-36afa2 bg-fff mr20 pt10 pb10 text-center font-32 color-36afa2 ulib-r750" hover-class="btn-36afa2-hover" bindtap="optstep" data-step="{{step-1}}">上一步</button>
|
||||
@@ -271,17 +260,16 @@
|
||||
<view class="absolute left-0 box-middle font-28 color-333">内饰颜色</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666">{{in_color}}</view>
|
||||
</view>
|
||||
<block wx:if="{{userInfo.biz_type!=biz_type_4s}}">
|
||||
<view class="mt40 font-32">其他信息</view>
|
||||
<view class="relative bbs-1-eb pl190 last-b-none">
|
||||
<view class="absolute left-0 box-middle font-28 color-333">付款方式</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666">{{payment[paymentIndex]}}</view>
|
||||
</view>
|
||||
<view class="relative bbs-1-eb pl190 last-b-none" wx:if="{{delry_time}}">
|
||||
<view class="absolute left-0 box-middle font-28 color-333">期望交付时间</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666">{{delry_time}}</view>
|
||||
</view>
|
||||
<!--
|
||||
<view class="mt40 font-32">其他信息</view>
|
||||
<view class="relative bbs-1-eb pl190 last-b-none">
|
||||
<view class="absolute left-0 box-middle font-28 color-333">付款方式</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666">{{payment[paymentIndex]}}</view>
|
||||
</view>
|
||||
<view class="relative bbs-1-eb pl190 last-b-none" wx:if="{{delry_time}}">
|
||||
<view class="absolute left-0 box-middle font-28 color-333">期望交付时间</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666">{{delry_time}}</view>
|
||||
</view>
|
||||
<!--
|
||||
<block wx:if="{{paymentIndex == 1}}">
|
||||
<view class="relative bbs-1-eb last-b-none pl180 font-28">
|
||||
<view class="absolute left-0 box-middle color-333">首付类型</view>
|
||||
@@ -301,44 +289,37 @@
|
||||
</view>
|
||||
</block>
|
||||
-->
|
||||
<view class="relative bbs-1-eb last-b-none pl180 font-28" wx:if="{{confirm_amount}}">
|
||||
<view class="absolute left-0 box-middle color-333">定金</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx;"><text class="mr10 color-f9394d">{{confirm_amount}}</text>元</view>
|
||||
<view class="relative bbs-1-eb last-b-none pl180 font-28" wx:if="{{confirm_amount}}">
|
||||
<view class="absolute left-0 box-middle color-333">定金</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx;"><text class="mr10 color-f9394d">{{confirm_amount}}</text>元</view>
|
||||
</view>
|
||||
<view class="relative bbs-1-eb last-b-none pl180 font-28" wx:if="{{discount_amount}}">
|
||||
<view class="absolute left-0 box-middle color-333">车身优惠</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx;"><text class="mr10 color-f9394d">{{discount_amount}}</text>元</view>
|
||||
</view>
|
||||
<view class="bbs-1-eb last-b-none">
|
||||
<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"> {{is_get_insure?'是':'否'}} </view>
|
||||
</view>
|
||||
<view class="relative bbs-1-eb last-b-none pl180 font-28" wx:if="{{discount_amount}}">
|
||||
<view class="absolute left-0 box-middle color-333">车身优惠</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx;"><text class="mr10 color-f9394d">{{discount_amount}}</text>元</view>
|
||||
</view>
|
||||
<view class="bbs-1-eb last-b-none">
|
||||
<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"> {{is_get_brand?'是':'否'}} </view>
|
||||
</view>
|
||||
<view class="bbs-1-eb last-b-none">
|
||||
<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"> {{if_equity?'是':'否'}} </view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="bbs-1-eb last-b-none">
|
||||
<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"> {{is_get_insure?'是':'否'}} </view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="bbs-1-eb last-b-none">
|
||||
<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"> {{is_get_brand?'是':'否'}} </view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="relative bbs-1-eb last-b-none pl180 font-28" wx:if="{{register_amount && is_get_brand}}">
|
||||
<view class="absolute left-0 box-middle color-333">上牌费</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx;"><text class="mr10 color-f9394d">{{register_amount}}</text>元</view>
|
||||
</view>
|
||||
|
||||
<!--
|
||||
</view>
|
||||
<view class="relative bbs-1-eb last-b-none pl180 font-28" wx:if="{{register_amount && is_get_brand}}">
|
||||
<view class="absolute left-0 box-middle color-333">上牌费</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx;"><text class="mr10 color-f9394d">{{register_amount}}</text>元</view>
|
||||
</view>
|
||||
|
||||
<!--
|
||||
<view class="relative ml40 bbs-1-eb pl140 font-22 color-666">
|
||||
<view class="absolute left-0 box-middle"><i class="iconfont ml5 mr10 icon-gengduo"></i>优惠</view>
|
||||
<view class="pt25 pb25 text-right" style="min-height:30rpx"><text class="mr10 color-f9394d">1515</text>元</view>
|
||||
</view>
|
||||
-->
|
||||
</block>
|
||||
|
||||
<view class="fixed left-0 right-0 bottom-0 bg-fff-op90 inner40 fn-flex safe-pb">
|
||||
<button class="wp100 bds-2-36afa2 bg-fff mr20 pt10 pb10 text-center font-32 color-36afa2 ulib-r750" hover-class="btn-36afa2-hover" bindtap="optPreview">重新编辑</button>
|
||||
@@ -369,10 +350,8 @@
|
||||
<view class="font-36 text-center">订单登记成功</view>
|
||||
<view class="font-30 pt10 text-left">
|
||||
<view class="pt10 text-center">--- 请及时上传 ---</view>
|
||||
<block wx:if="{{userInfo.biz_type!=biz_type_4s}}">
|
||||
<view class="text-center">订单合同</view>
|
||||
<view class="text-center">付款凭证</view>
|
||||
</block>
|
||||
<view class="text-center">订单合同</view>
|
||||
<view class="text-center">付款凭证</view>
|
||||
<view class="text-center">客户身份证</view>
|
||||
<!--view class="text-center">《买贵必赔权益确认书》</view-->
|
||||
</view>
|
||||
|
||||
@@ -1,98 +0,0 @@
|
||||
// pages/score/detail.js
|
||||
import _ from '../../commons/js/commons'
|
||||
const app = getApp()
|
||||
Page({
|
||||
|
||||
/**
|
||||
* 页面的初始数据
|
||||
*/
|
||||
data: {
|
||||
data_bg_img: _.config.licheImgUrl + 'score/index-panel-bg.png',
|
||||
icon_trend_up: _.config.licheImgUrl + 'score/score-trend-up.png',
|
||||
icon_trend_down: _.config.licheImgUrl + 'score/score-trend-down.png',
|
||||
icon_score_top_1: _.config.licheImgUrl + 'score/score-top-1.png',
|
||||
icon_score_top_2: _.config.licheImgUrl + 'score/score-top-2.png',
|
||||
icon_score_top_3: _.config.licheImgUrl + 'score/score-top-3.png',
|
||||
score_index_bg_up: _.config.licheImgUrl + 'score/score-bg-up.jpg',
|
||||
score_index_bg_down: _.config.licheImgUrl + 'score/score-bg-down.jpg',
|
||||
score_detail_bg_up: _.config.licheImgUrl + 'score/score-detail-up.png',
|
||||
score_detail_bg_down: _.config.licheImgUrl + 'score/score-detail-down.png',
|
||||
score_up_color: '#31cbad',
|
||||
score_down_color: '#ff895b',
|
||||
score_trend: 1, //用这个参数控制样式:1 上升 、2 下降
|
||||
list: [],
|
||||
res_data: [],
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面加载
|
||||
*/
|
||||
onLoad(options) {
|
||||
wx.setNavigationBarTitle({
|
||||
'title': '运营分明细'
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面初次渲染完成
|
||||
*/
|
||||
onReady() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面显示
|
||||
*/
|
||||
onShow() {
|
||||
this.getScoreDetail()
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面隐藏
|
||||
*/
|
||||
onHide() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面卸载
|
||||
*/
|
||||
onUnload() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面相关事件处理函数--监听用户下拉动作
|
||||
*/
|
||||
onPullDownRefresh() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面上拉触底事件的处理函数
|
||||
*/
|
||||
onReachBottom() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 用户点击右上角分享
|
||||
*/
|
||||
onShareAppMessage() {
|
||||
|
||||
},
|
||||
//获取排行列表
|
||||
getScoreDetail() {
|
||||
let params = {};
|
||||
params['day_type'] = 0
|
||||
params['type'] = 0
|
||||
_.apiQuery.appScoreDetail(params).then(res => {
|
||||
this.setData({
|
||||
list: res.data.data,
|
||||
score_trend: res.data.score_trend,
|
||||
res_data: res.data
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
})
|
||||
@@ -1,3 +0,0 @@
|
||||
{
|
||||
"usingComponents": {}
|
||||
}
|
||||
@@ -1,43 +0,0 @@
|
||||
<!-- pages/score/detail.wxml -->
|
||||
<view class="container relative" style="min-height:100vh;--circle-text-color:{{score_trend>1?score_down_color:score_up_color}};--linearcolor:{{score_trend>1?score_down_color:score_up_color}};">
|
||||
<view class="absolute left-0 top-0 right-0 bg-custom-linear-bottom opacity-60" style="height:10vh;"></view>
|
||||
<view class="relative">
|
||||
<view class="inner40 relative fn-flex fn-flex-middle fn-flex-between">
|
||||
<view class="text-left">
|
||||
<view class="font-28 color-666">昨日运营分</view>
|
||||
<view class="font-72" style="color:{{score_trend>1?score_down_color:score_up_color}}">{{res_data.score}}</view>
|
||||
</view>
|
||||
<view class="text-right">
|
||||
<view class="font-28 color-666">上一日运营分</view>
|
||||
<view class="font-72" style="color:{{score_trend>1?score_down_color:score_up_color}}">{{res_data.up_data_score}}</view>
|
||||
</view>
|
||||
<view class="ulib-r750 fn-flex fn-flex-middle absolute box-center-middle font-28 pl20 pr20 pt10 pb10 overflowhidden" style="border:2rpx solid {{score_trend>1?score_down_color:score_up_color}};">
|
||||
<view class="absolute left-0 top-0 right-0 bottom-0 opacity-10" style="background-color:var(--circle-text-color);"></view>
|
||||
<image src="{{score_trend>1?icon_trend_down:icon_trend_up}}" class="relative img-28x28 block mr10" />
|
||||
<text class="color-666 relative">{{res_data.change_text}}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="ml30 mr30 pb30">
|
||||
<view class="font-40 text-center color-333 mb30">本期分数组成</view>
|
||||
<view class="bg-fff box-shadow-000-10-10 ulib-r10">
|
||||
<block wx:for="{{list}}" wx:key="index">
|
||||
<view class="inner40 bbs-1-f6 fn-flex fn-flex-middle">
|
||||
<view class="mr100 relative" style="width:154rpx;height:120rpx;">
|
||||
<image class="img-154x154 block" src="{{item.trend>1?score_detail_bg_down:score_detail_bg_up}}" />
|
||||
<text class="absolute wp100 box-center-middle text-center font-52" style="color:{{item.trend>1?score_down_color:score_up_color}}">{{item.score}}</text>
|
||||
<text class="absolute wp100 left-0 text-center bottom-0 font-24 color-888">{{item.name}}</text>
|
||||
</view>
|
||||
<view class="fn-flex-item">
|
||||
<block wx:for="{{item.data}}" wx:for-item="it" wx:for-index="idx" wx:key="idx">
|
||||
<view class="fn-flex fn-flex-middle fn-flex-between pt10 pb10 font-26 color-666">
|
||||
<view>{{it.name}}</view>
|
||||
<view>{{it.score}}</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -1 +0,0 @@
|
||||
/* pages/score/detail.wxss */
|
||||
@@ -1,292 +0,0 @@
|
||||
// pages/score/index.js
|
||||
import _ from '../../commons/js/commons'
|
||||
import * as echarts from '../../ecCanvas/components/ec-canvas/echarts';
|
||||
const app = getApp()
|
||||
let lineChartData = {};
|
||||
|
||||
function lineChart(canvas, width, height, dpr) {
|
||||
const chart = echarts.init(canvas, null, {
|
||||
width: width,
|
||||
height: height,
|
||||
devicePixelRatio: dpr // new
|
||||
});
|
||||
console.log('chart,', chart)
|
||||
canvas.setChart(chart);
|
||||
let option = lineChartData
|
||||
chart.setOption(option);
|
||||
return chart;
|
||||
}
|
||||
Page({
|
||||
|
||||
/**
|
||||
* 页面的初始数据
|
||||
*/
|
||||
data: {
|
||||
data_bg_img: _.config.licheImgUrl + 'score/index-panel-bg.png',
|
||||
icon_trend_up: _.config.licheImgUrl + 'score/score-trend-up.png',
|
||||
icon_trend_down: _.config.licheImgUrl + 'score/score-trend-down.png',
|
||||
icon_score_top_1: _.config.licheImgUrl + 'score/score-top-1.png',
|
||||
icon_score_top_2: _.config.licheImgUrl + 'score/score-top-2.png',
|
||||
icon_score_top_3: _.config.licheImgUrl + 'score/score-top-3.png',
|
||||
score_index_bg_up: _.config.licheImgUrl + 'score/score-bg-up.jpg',
|
||||
score_index_bg_down: _.config.licheImgUrl + 'score/score-bg-down.jpg',
|
||||
score_detail_bg_up: _.config.licheImgUrl + 'score/score-detail-up.png',
|
||||
score_detail_bg_down: _.config.licheImgUrl + 'score/score-detail-up.jpg',
|
||||
score_up_color: '#31cbad',
|
||||
score_down_color: '#ff895b',
|
||||
score_trend: 1, //用这个参数控制样式:1 上升 、2 下降
|
||||
tab_date: [{
|
||||
id: 1,
|
||||
name: '昨日'
|
||||
}, {
|
||||
id: 3,
|
||||
name: '本月'
|
||||
}, {
|
||||
id: 2,
|
||||
name: '上月'
|
||||
}],
|
||||
tab_date_cur: 0,
|
||||
|
||||
score_detail_data: [{
|
||||
name: '98',
|
||||
tip: '运营分'
|
||||
}],
|
||||
|
||||
tab_rank: [{
|
||||
id: 1,
|
||||
name: '店内排名'
|
||||
}, {
|
||||
id: 2,
|
||||
name: '门店排名'
|
||||
}],
|
||||
tab_rank_cur: 0,
|
||||
rank_data: [],
|
||||
content: '',
|
||||
setid: '',
|
||||
is_biz: 0, //是否选择门店跳转过来
|
||||
scoreData: [],
|
||||
showLineChart: false, //是否显示Line图表
|
||||
unloadingLineChart: false,// 是否加载图标
|
||||
ecLine: {
|
||||
onInit: lineChart
|
||||
},
|
||||
chartOrangeStyle: {
|
||||
// 255 137 91
|
||||
areaStyle: {
|
||||
normal: {
|
||||
color: 'rgba(255,137,91,0.2)' // 半透明蓝色
|
||||
}
|
||||
},
|
||||
lineStyle: {
|
||||
color: 'rgba(255,137,91,0.8)', // 这里设置线的颜色为红色
|
||||
width: 2 // 线的宽度
|
||||
},
|
||||
itemStyle: {
|
||||
color: 'rgba(255,137,91,1)'
|
||||
}
|
||||
},
|
||||
chartGreenStyle: {
|
||||
// 255 137 91
|
||||
areaStyle: {
|
||||
normal: {
|
||||
color: 'rgba(49,203,173,0.2)' // 半透明蓝色
|
||||
}
|
||||
},
|
||||
lineStyle: {
|
||||
color: 'rgba(49,203,173,0.8)', // 这里设置线的颜色为红色
|
||||
width: 2 // 线的宽度
|
||||
},
|
||||
itemStyle: {
|
||||
color: 'rgba(49,203,173,1)'
|
||||
},
|
||||
score_role_cur: 0
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面加载
|
||||
*/
|
||||
onLoad(options) {
|
||||
for (let key in options) {
|
||||
this.setData({
|
||||
[key]: options[key]
|
||||
})
|
||||
}
|
||||
let _title = '个人运营分'
|
||||
if (options['is_biz'] === '1') {
|
||||
_title = '门店运营分'
|
||||
}
|
||||
wx.setNavigationBarTitle({
|
||||
'title': _title
|
||||
})
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面初次渲染完成
|
||||
*/
|
||||
onReady() {},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面显示
|
||||
*/
|
||||
onShow() {
|
||||
this.getUserInfo()
|
||||
this.getScore()
|
||||
if (this.data.is_biz === '1') {
|
||||
this.getChartsData()
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面隐藏
|
||||
*/
|
||||
onHide() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面卸载
|
||||
*/
|
||||
onUnload() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面相关事件处理函数--监听用户下拉动作
|
||||
*/
|
||||
onPullDownRefresh() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面上拉触底事件的处理函数
|
||||
*/
|
||||
onReachBottom() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 用户点击右上角分享
|
||||
*/
|
||||
onShareAppMessage() {
|
||||
|
||||
},
|
||||
|
||||
getChartsData() {
|
||||
|
||||
let params = {}
|
||||
params['day_type'] = this.data.tab_date_cur
|
||||
this.setData({
|
||||
unloadingLineChart: false
|
||||
})
|
||||
_.apiQuery.appRadar(params).then(res => {
|
||||
lineChartData = {
|
||||
backgroundColor: "#ffffff",
|
||||
xAxis: {
|
||||
show: false
|
||||
},
|
||||
yAxis: {
|
||||
show: false
|
||||
},
|
||||
radar: {
|
||||
// shape: 'circle',
|
||||
splitArea: {
|
||||
areaStyle: {
|
||||
color: ['#f6f6f6', '#ffffff']
|
||||
}
|
||||
},
|
||||
indicator: res.data.indicator
|
||||
},
|
||||
series: [{
|
||||
name: '标题',
|
||||
type: 'radar',
|
||||
data: [{
|
||||
value: res.data.series_value,
|
||||
name: '预算',
|
||||
...this.data.chartOrangeStyle //...this.data.chartGreenStyle
|
||||
}]
|
||||
}]
|
||||
};
|
||||
// lineChartData.radar.indicator = res.data.indicator
|
||||
// lineChartData.series[0].data[0].value = res.data.series_value
|
||||
this.setData({
|
||||
showLineChart: true,
|
||||
unloadingLineChart: true,
|
||||
['ecLine.onInit']: lineChart,
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
scrollToRule() {
|
||||
this.setData({
|
||||
setid: 'richhtml'
|
||||
})
|
||||
},
|
||||
//推送链接
|
||||
pushLink(e) {
|
||||
if (e.currentTarget.dataset.url) {
|
||||
_.$router.openUrlScheme(e.currentTarget.dataset.url)
|
||||
}
|
||||
},
|
||||
//时间切换
|
||||
changeDateTab(e) {
|
||||
this.setData({
|
||||
tab_date_cur: parseInt(e.currentTarget.dataset.index)
|
||||
})
|
||||
if (this.data.userInfo.group_id === 1 || this.data.userInfo.group_id === 2) {
|
||||
this.setData({
|
||||
tab_rank_cur: 1
|
||||
})
|
||||
}
|
||||
this.getScore()
|
||||
this.getScoreLists()
|
||||
this.getChartsData()
|
||||
},
|
||||
//切换排行类型
|
||||
changeRankTab(e) {
|
||||
this.setData({
|
||||
tab_rank_cur: parseInt(e.currentTarget.dataset.index)
|
||||
})
|
||||
this.getScoreLists()
|
||||
},
|
||||
//首页积分信息
|
||||
getScore() {
|
||||
let params = {};
|
||||
params['day_type'] = this.data.tab_date_cur
|
||||
if (this.data.is_biz == 1) {
|
||||
params['type'] = 1
|
||||
}
|
||||
_.apiQuery.getAppScore(params).then(res => {
|
||||
this.setData({
|
||||
scoreData: res.data,
|
||||
score_trend: res.data.score_trend,
|
||||
})
|
||||
})
|
||||
},
|
||||
//获取排行列表
|
||||
getScoreLists() {
|
||||
let params = {};
|
||||
params['day_type'] = this.data.tab_date_cur
|
||||
params['type'] = this.data.tab_rank_cur
|
||||
_.apiQuery.appScoreLists(params).then(res => {
|
||||
this.setData({
|
||||
rank_data: res.data.lists,
|
||||
})
|
||||
})
|
||||
},
|
||||
//获取用户信息
|
||||
getUserInfo() {
|
||||
_.apiQuery.getUserInfo().then(res => {
|
||||
this.setData({
|
||||
userInfo: res
|
||||
})
|
||||
if (res.group_id > 2 || this.data.is_biz === '1') {
|
||||
this.setData({
|
||||
score_role_cur: 1,
|
||||
tab_rank_cur: 1
|
||||
})
|
||||
}
|
||||
this.getScoreLists()
|
||||
});
|
||||
},
|
||||
})
|
||||
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"usingComponents": {
|
||||
"van-circle": "/vant/circle/index",
|
||||
"com-html": "/components/mp-html/index",
|
||||
"ec-canvas": "/ecCanvas/components/ec-canvas/ec-canvas"
|
||||
}
|
||||
}
|
||||
@@ -1,86 +0,0 @@
|
||||
<!-- pages/score/index.wxml -->
|
||||
<view class="container relative" style="min-height:100vh;--circle-text-color:{{score_trend>1?score_down_color:score_up_color}};">
|
||||
<view class="relative" scroll-y="{{true}}" scroll-into-view="{{setid}}" scroll-with-animation="{{true}}">
|
||||
<view class="absolute left-0 top-0 bottom-0 right-0 bg-size-fullwidth bg-no-repeat bg-pos-top" style="background-image:url({{score_trend>1?score_index_bg_down:score_index_bg_up}});"></view>
|
||||
<view class="relative inner30">
|
||||
<view class="fn-flex fn-flex-middle fn-flex-between inner20">
|
||||
<view class="fn-flex">
|
||||
<block wx:for="{{tab_date}}" wx:key="index">
|
||||
<view bindtap="changeDateTab" data-index="{{index}}" class="font-34 relative {{(tab_date.length-1)==index?'':'mr70'}} tab-item transition-all {{tab_date_cur==index?'tab-item-cur':'color-999'}}">{{item.name}}</view>
|
||||
</block>
|
||||
</view>
|
||||
<view wx:if="{{is_biz==='0'}}" bindtap="scrollToRule" class="font-20 ulib-r750 bg-f6 color-999 pt5 pb5 pl10 pr10">
|
||||
<text class="iconfont icon-tishi mr5"></text><text>规则说明</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="fn-flex fn-flex-column fn-flex-middle mb40">
|
||||
<view class="font-66 text-bold pt30">
|
||||
<van-circle value="{{ scoreData.percentage }}" stroke-width="15" text="{{scoreData.score}}" layer-color="#ebebeb" size="120" color="{{score_trend>1?score_down_color:score_up_color}}"></van-circle>
|
||||
</view>
|
||||
<view class="fn-flex fn-flex-middle fn-flex-center pt30 color-666 font-32">
|
||||
<image src="{{score_trend>1?icon_trend_down:icon_trend_up}}" class="img-32x32 block mr10" />
|
||||
<text>{{scoreData.title}}</text>
|
||||
</view>
|
||||
<view class="fn-flex fn-flex-middle fn-flex-center pt15 font-26 color-999">
|
||||
<view>{{scoreData.u_time_text}}</view>
|
||||
<view>{{scoreData.sub_title}}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="bg-fff mb30 box-shadow-000-10-10 ulib-r10 pt40 pb40">
|
||||
<block wx:if="{{scoreData.score_list && scoreData.score_list.length>0}}">
|
||||
<view class="fn-flex fn-flex-middle fn-flex-center text-center">
|
||||
<view class="pr15 pl15">
|
||||
<view class="font-34">{{scoreData.score}}</view>
|
||||
<view class="mt5 color-666 font-22">运营分</view>
|
||||
</view>
|
||||
<view>=</view>
|
||||
<block wx:for="{{scoreData.score_list}}" wx:key="index">
|
||||
<view>{{item.operator}}</view>
|
||||
<view class="pr15 pl15">
|
||||
<view class="font-34">{{item.value}}</view>
|
||||
<view class="mt5 color-666 font-22">{{item.name}}</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
<view class="text-center pt20">
|
||||
<view data-url="/pages/score/detail" bindtap="pushLink" class="ulib-r10 font-24 link-detail relative link-detail inline-block pt10 pb10 pl20 pr20 overflowhidden"><text>查看明细</text><text class="iconfont icon-gengduo ml5"></text></view>
|
||||
</view>
|
||||
</block>
|
||||
|
||||
<view class="echarts-con" style="width:100%;height:500rpx;" wx:if="{{showLineChart}}">
|
||||
<ec-canvas wx:if="{{unloadingLineChart}}" id="mychart-dom-line" ec="{{ ecLine }}"></ec-canvas>
|
||||
</view>
|
||||
|
||||
<view class="text-center pt40">
|
||||
<view class="ulib-r10 overflowhidden font-24 inline-block">
|
||||
<!--block wx:for="{{tab_rank}}" wx:key="index">
|
||||
<view data-index="{{index}}" bindtap="changeRankTab" class="{{tab_rank_cur===index?'bg-ccc color-666':'bg-f6 color-999'}} transition-all pl20 pr20 pt10 pb10 inline-block">{{item.name}}</view>
|
||||
</block-->
|
||||
<view wx:if="{{is_biz==='0'}}" data-index="0" bindtap="changeRankTab" class="{{tab_rank_cur===0?'bg-ccc color-666':'bg-f6 color-999'}} transition-all pl20 pr20 pt10 pb10 inline-block">店内排名</view>
|
||||
<view data-index="1" bindtap="changeRankTab" class="{{tab_rank_cur===1?'bg-ccc color-666':'bg-f6 color-999'}} transition-all pl20 pr20 pt10 pb10 inline-block">门店排名</view>
|
||||
</view>
|
||||
<view class="">
|
||||
<block wx:for="{{rank_data}}" wx:key="index">
|
||||
<view class="fn-flex fn-flex-middle fn-flex-between pt25 pb25 pl60 pr60">
|
||||
<view class="fn-flex fn-flex-middle font-28 color-444">
|
||||
<text class="text-center mr20" style="width:38rpx;" wx:if="{{index>2}}">{{index+1}}</text>
|
||||
<image wx:else class="img-38x38 mr20" src="{{index==0?icon_score_top_1:index==1?icon_score_top_2:icon_score_top_3}}" />
|
||||
<text>{{item.name}}</text>
|
||||
<view class="ulib-r750 color-fff font-20 pl15 pr15 pb5 ml15" style="background-color:{{score_up_color}};" wx:if="{{item.tip}}">{{item.tip}}</view>
|
||||
</view>
|
||||
<view class="fn-flex fn-flex-middle font-28 color-666" style="width:130rpx;">
|
||||
<image src="{{item.trend>1?icon_trend_down:icon_trend_up}}" class="img-32x32 block mr10" />
|
||||
<text>{{item.score}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
<view wx:if="{{scoreData.desc}}" id="richhtml" style="line-height:2;font-size:30rpx;" class="bg-fff mb30 box-shadow-000-10-10 ulib-r10 inner40">
|
||||
<com-html content="{{scoreData.desc}}" lazy-load="{{true}}"></com-html>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -1,34 +0,0 @@
|
||||
/* pages/score/index.wxss */
|
||||
.tab-item::before{
|
||||
content: '';
|
||||
position: absolute;
|
||||
bottom: -12rpx;
|
||||
left:50%;
|
||||
transform: translateX(-50%);
|
||||
width: 0;
|
||||
height: 6rpx;
|
||||
border-radius: 100rpx;
|
||||
background-color: var(--circle-text-color);
|
||||
}
|
||||
.tab-item-cur{
|
||||
color: var(--circle-text-color);
|
||||
}
|
||||
.tab-item-cur::before{
|
||||
width: 50rpx;
|
||||
}
|
||||
|
||||
.link-detail{
|
||||
color: var(--circle-text-color);
|
||||
/* background-color: ; */
|
||||
}
|
||||
|
||||
.link-detail::after{
|
||||
content: '';
|
||||
position: absolute;
|
||||
left: 0;
|
||||
right: 0;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
background-color: var(--circle-text-color);
|
||||
opacity: 0.1;
|
||||
}
|
||||
+3
-16
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"appid": "wx4733380c110313ec",
|
||||
"compileType": "miniprogram",
|
||||
"libVersion": "3.8.9",
|
||||
"libVersion": "3.5.0",
|
||||
"packOptions": {
|
||||
"ignore": [],
|
||||
"include": []
|
||||
@@ -19,24 +19,11 @@
|
||||
"disablePlugins": [],
|
||||
"outputPath": ""
|
||||
},
|
||||
"condition": false,
|
||||
"compileWorklet": false,
|
||||
"uglifyFileName": false,
|
||||
"uploadWithSourceMap": true,
|
||||
"packNpmManually": false,
|
||||
"minifyWXSS": true,
|
||||
"minifyWXML": true,
|
||||
"localPlugins": false,
|
||||
"disableUseStrict": false,
|
||||
"useCompilerPlugins": false,
|
||||
"swc": false,
|
||||
"disableSWC": true
|
||||
"condition": false
|
||||
},
|
||||
"condition": {},
|
||||
"editorSetting": {
|
||||
"tabIndent": "insertSpaces",
|
||||
"tabSize": 2
|
||||
},
|
||||
"projectname": "lcb",
|
||||
"simulatorPluginLibVersion": {}
|
||||
}
|
||||
}
|
||||
+36
-30
@@ -1,50 +1,56 @@
|
||||
{
|
||||
"description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html",
|
||||
"projectname": "lcb",
|
||||
"setting": {
|
||||
"compileHotReLoad": true,
|
||||
"urlCheck": true
|
||||
},
|
||||
"condition": {
|
||||
"miniprogram": {
|
||||
"list": [
|
||||
{
|
||||
"name": "pages/customer/index",
|
||||
"pathName": "pages/customer/score/exchange",
|
||||
"query": "source=shop",
|
||||
"scene": null,
|
||||
"launchMode": "default"
|
||||
"name": "pages/signup/index",
|
||||
"pathName": "pages/signup/index",
|
||||
"query": "scene=25lzwSFJ3QcXvMLR6WIE2",
|
||||
"launchMode": "default",
|
||||
"scene": 1047
|
||||
},
|
||||
{
|
||||
"name": "pages/mine/index",
|
||||
"pathName": "pages/mine/index",
|
||||
"query": "source=shop",
|
||||
"name": "待跟进客户",
|
||||
"pathName": "pages/customer/filterList/index",
|
||||
"query": "status=1&visit=1&title=待跟进客户",
|
||||
"launchMode": "default",
|
||||
"scene": null
|
||||
},
|
||||
{
|
||||
"name": "pages/mine/index",
|
||||
"pathName": "pages/mine/index",
|
||||
"name": "建卡",
|
||||
"pathName": "pages/customer/addCard/index",
|
||||
"query": "status=0",
|
||||
"launchMode": "default",
|
||||
"scene": null
|
||||
},
|
||||
{
|
||||
"name": "门店",
|
||||
"pathName": "pages/index/index",
|
||||
"query": "biz_id=1",
|
||||
"launchMode": "default",
|
||||
"scene": null
|
||||
},
|
||||
{
|
||||
"name": "签到",
|
||||
"pathName": "pages/signup/index",
|
||||
"query": "key=9hPReOz0vYQ2qFHG4Nipj",
|
||||
"launchMode": "default",
|
||||
"scene": null
|
||||
},
|
||||
{
|
||||
"name": "",
|
||||
"pathName": "pages/login/index",
|
||||
"query": "",
|
||||
"launchMode": "default",
|
||||
"scene": null
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"libVersion": "3.8.9",
|
||||
"projectname": "lcb",
|
||||
"setting": {
|
||||
"urlCheck": true,
|
||||
"coverView": true,
|
||||
"lazyloadPlaceholderEnable": false,
|
||||
"skylineRenderEnable": false,
|
||||
"preloadBackgroundData": false,
|
||||
"autoAudits": false,
|
||||
"useApiHook": true,
|
||||
"useApiHostProcess": true,
|
||||
"showShadowRootInWxmlPanel": true,
|
||||
"useStaticServer": false,
|
||||
"useLanDebug": false,
|
||||
"showES6CompileOption": false,
|
||||
"compileHotReLoad": true,
|
||||
"checkInvalidKey": true,
|
||||
"ignoreDevUnusedFiles": true,
|
||||
"bigPackageSizeSupport": false
|
||||
}
|
||||
}
|
||||
Vendored
-4
@@ -1,4 +0,0 @@
|
||||
/// <reference types="miniprogram-api-typings" />
|
||||
type CanvasContext = WechatMiniprogram.CanvasContext;
|
||||
export declare function adaptor(ctx: CanvasContext & Record<string, unknown>): CanvasContext;
|
||||
export {};
|
||||
@@ -1,43 +0,0 @@
|
||||
export function adaptor(ctx) {
|
||||
// @ts-ignore
|
||||
return Object.assign(ctx, {
|
||||
setStrokeStyle(val) {
|
||||
ctx.strokeStyle = val;
|
||||
},
|
||||
setLineWidth(val) {
|
||||
ctx.lineWidth = val;
|
||||
},
|
||||
setLineCap(val) {
|
||||
ctx.lineCap = val;
|
||||
},
|
||||
setFillStyle(val) {
|
||||
ctx.fillStyle = val;
|
||||
},
|
||||
setFontSize(val) {
|
||||
ctx.font = String(val);
|
||||
},
|
||||
setGlobalAlpha(val) {
|
||||
ctx.globalAlpha = val;
|
||||
},
|
||||
setLineJoin(val) {
|
||||
ctx.lineJoin = val;
|
||||
},
|
||||
setTextAlign(val) {
|
||||
ctx.textAlign = val;
|
||||
},
|
||||
setMiterLimit(val) {
|
||||
ctx.miterLimit = val;
|
||||
},
|
||||
setShadow(offsetX, offsetY, blur, color) {
|
||||
ctx.shadowOffsetX = offsetX;
|
||||
ctx.shadowOffsetY = offsetY;
|
||||
ctx.shadowBlur = blur;
|
||||
ctx.shadowColor = color;
|
||||
},
|
||||
setTextBaseline(val) {
|
||||
ctx.textBaseline = val;
|
||||
},
|
||||
createCircularGradient() { },
|
||||
draw() { },
|
||||
});
|
||||
}
|
||||
Vendored
-1
@@ -1 +0,0 @@
|
||||
export {};
|
||||
@@ -1,197 +0,0 @@
|
||||
import { BLUE, WHITE } from '../common/color';
|
||||
import { VantComponent } from '../common/component';
|
||||
import { getSystemInfoSync } from '../common/utils';
|
||||
import { isObj } from '../common/validator';
|
||||
import { canIUseCanvas2d } from '../common/version';
|
||||
import { adaptor } from './canvas';
|
||||
function format(rate) {
|
||||
return Math.min(Math.max(rate, 0), 100);
|
||||
}
|
||||
const PERIMETER = 2 * Math.PI;
|
||||
const BEGIN_ANGLE = -Math.PI / 2;
|
||||
const STEP = 1;
|
||||
VantComponent({
|
||||
props: {
|
||||
text: String,
|
||||
lineCap: {
|
||||
type: String,
|
||||
value: 'round',
|
||||
},
|
||||
value: {
|
||||
type: Number,
|
||||
value: 0,
|
||||
observer: 'reRender',
|
||||
},
|
||||
speed: {
|
||||
type: Number,
|
||||
value: 50,
|
||||
},
|
||||
size: {
|
||||
type: Number,
|
||||
value: 100,
|
||||
observer() {
|
||||
this.drawCircle(this.currentValue);
|
||||
},
|
||||
},
|
||||
fill: String,
|
||||
layerColor: {
|
||||
type: String,
|
||||
value: WHITE,
|
||||
},
|
||||
color: {
|
||||
type: null,
|
||||
value: BLUE,
|
||||
observer() {
|
||||
this.setHoverColor().then(() => {
|
||||
this.drawCircle(this.currentValue);
|
||||
});
|
||||
},
|
||||
},
|
||||
type: {
|
||||
type: String,
|
||||
value: '',
|
||||
},
|
||||
strokeWidth: {
|
||||
type: Number,
|
||||
value: 4,
|
||||
},
|
||||
clockwise: {
|
||||
type: Boolean,
|
||||
value: true,
|
||||
},
|
||||
},
|
||||
data: {
|
||||
hoverColor: BLUE,
|
||||
},
|
||||
methods: {
|
||||
getContext() {
|
||||
const { type, size } = this.data;
|
||||
if (type === '' || !canIUseCanvas2d()) {
|
||||
const ctx = wx.createCanvasContext('van-circle', this);
|
||||
return Promise.resolve(ctx);
|
||||
}
|
||||
const dpr = getSystemInfoSync().pixelRatio;
|
||||
return new Promise((resolve) => {
|
||||
wx.createSelectorQuery()
|
||||
.in(this)
|
||||
.select('#van-circle')
|
||||
.node()
|
||||
.exec((res) => {
|
||||
const canvas = res[0].node;
|
||||
const ctx = canvas.getContext(type);
|
||||
if (!this.inited) {
|
||||
this.inited = true;
|
||||
canvas.width = size * dpr;
|
||||
canvas.height = size * dpr;
|
||||
ctx.scale(dpr, dpr);
|
||||
}
|
||||
resolve(adaptor(ctx));
|
||||
});
|
||||
});
|
||||
},
|
||||
setHoverColor() {
|
||||
const { color, size } = this.data;
|
||||
if (isObj(color)) {
|
||||
return this.getContext().then((context) => {
|
||||
if (!context)
|
||||
return;
|
||||
const LinearColor = context.createLinearGradient(size, 0, 0, 0);
|
||||
Object.keys(color)
|
||||
.sort((a, b) => parseFloat(a) - parseFloat(b))
|
||||
.map((key) => LinearColor.addColorStop(parseFloat(key) / 100, color[key]));
|
||||
this.hoverColor = LinearColor;
|
||||
});
|
||||
}
|
||||
this.hoverColor = color;
|
||||
return Promise.resolve();
|
||||
},
|
||||
presetCanvas(context, strokeStyle, beginAngle, endAngle, fill) {
|
||||
const { strokeWidth, lineCap, clockwise, size } = this.data;
|
||||
const position = size / 2;
|
||||
const radius = position - strokeWidth / 2;
|
||||
context.setStrokeStyle(strokeStyle);
|
||||
context.setLineWidth(strokeWidth);
|
||||
context.setLineCap(lineCap);
|
||||
context.beginPath();
|
||||
context.arc(position, position, radius, beginAngle, endAngle, !clockwise);
|
||||
context.stroke();
|
||||
if (fill) {
|
||||
context.setFillStyle(fill);
|
||||
context.fill();
|
||||
}
|
||||
},
|
||||
renderLayerCircle(context) {
|
||||
const { layerColor, fill } = this.data;
|
||||
this.presetCanvas(context, layerColor, 0, PERIMETER, fill);
|
||||
},
|
||||
renderHoverCircle(context, formatValue) {
|
||||
const { clockwise } = this.data;
|
||||
// 结束角度
|
||||
const progress = PERIMETER * (formatValue / 100);
|
||||
const endAngle = clockwise
|
||||
? BEGIN_ANGLE + progress
|
||||
: 3 * Math.PI - (BEGIN_ANGLE + progress);
|
||||
this.presetCanvas(context, this.hoverColor, BEGIN_ANGLE, endAngle);
|
||||
},
|
||||
drawCircle(currentValue) {
|
||||
const { size } = this.data;
|
||||
this.getContext().then((context) => {
|
||||
if (!context)
|
||||
return;
|
||||
context.clearRect(0, 0, size, size);
|
||||
this.renderLayerCircle(context);
|
||||
const formatValue = format(currentValue);
|
||||
if (formatValue !== 0) {
|
||||
this.renderHoverCircle(context, formatValue);
|
||||
}
|
||||
context.draw();
|
||||
});
|
||||
},
|
||||
reRender() {
|
||||
// tofector 动画暂时没有想到好的解决方案
|
||||
const { value, speed } = this.data;
|
||||
if (speed <= 0 || speed > 1000) {
|
||||
this.drawCircle(value);
|
||||
return;
|
||||
}
|
||||
this.clearMockInterval();
|
||||
this.currentValue = this.currentValue || 0;
|
||||
const run = () => {
|
||||
this.interval = setTimeout(() => {
|
||||
if (this.currentValue !== value) {
|
||||
if (Math.abs(this.currentValue - value) < STEP) {
|
||||
this.currentValue = value;
|
||||
}
|
||||
else if (this.currentValue < value) {
|
||||
this.currentValue += STEP;
|
||||
}
|
||||
else {
|
||||
this.currentValue -= STEP;
|
||||
}
|
||||
this.drawCircle(this.currentValue);
|
||||
run();
|
||||
}
|
||||
else {
|
||||
this.clearMockInterval();
|
||||
}
|
||||
}, 1000 / speed);
|
||||
};
|
||||
run();
|
||||
},
|
||||
clearMockInterval() {
|
||||
if (this.interval) {
|
||||
clearTimeout(this.interval);
|
||||
this.interval = null;
|
||||
}
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
this.currentValue = this.data.value;
|
||||
this.setHoverColor().then(() => {
|
||||
this.drawCircle(this.currentValue);
|
||||
});
|
||||
},
|
||||
destroyed() {
|
||||
this.clearMockInterval();
|
||||
},
|
||||
});
|
||||
@@ -1,3 +0,0 @@
|
||||
{
|
||||
"component": true
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
<wxs src="../wxs/utils.wxs" module="utils" />
|
||||
|
||||
<view class="van-circle">
|
||||
<canvas class="van-circle__canvas" type="{{ type }}" style="width: {{ utils.addUnit(size) }};height:{{ utils.addUnit(size) }}" id="van-circle" canvas-id="van-circle"></canvas>
|
||||
<view wx:if="{{ !text }}" class="van-circle__text">
|
||||
<slot></slot>
|
||||
</view>
|
||||
<cover-view wx:else class="van-circle__text">{{ text }}</cover-view>
|
||||
</view>
|
||||
@@ -1 +0,0 @@
|
||||
@import '../common/index.wxss';.van-circle{display:inline-block;position:relative;text-align:center}.van-circle__text{color:var(--circle-text-color,#323233);left:0;position:absolute;top:50%;transform:translateY(-50%);width:100%}
|
||||
Vendored
-7
@@ -1,7 +0,0 @@
|
||||
export declare const RED = "#ee0a24";
|
||||
export declare const BLUE = "#1989fa";
|
||||
export declare const WHITE = "#fff";
|
||||
export declare const GREEN = "#07c160";
|
||||
export declare const ORANGE = "#ff976a";
|
||||
export declare const GRAY = "#323233";
|
||||
export declare const GRAY_DARK = "#969799";
|
||||
@@ -1,7 +0,0 @@
|
||||
export const RED = '#ee0a24';
|
||||
export const BLUE = '#1989fa';
|
||||
export const WHITE = '#fff';
|
||||
export const GREEN = '#07c160';
|
||||
export const ORANGE = '#ff976a';
|
||||
export const GRAY = '#323233';
|
||||
export const GRAY_DARK = '#969799';
|
||||
Vendored
-4
@@ -1,4 +0,0 @@
|
||||
/// <reference types="miniprogram-api-typings" />
|
||||
import { VantComponentOptions } from 'definitions/index';
|
||||
declare function VantComponent<Data extends WechatMiniprogram.Component.DataOption, Props extends WechatMiniprogram.Component.PropertyOption, Methods extends WechatMiniprogram.Component.MethodOption>(vantOptions: VantComponentOptions<Data, Props, Methods>): void;
|
||||
export { VantComponent };
|
||||
@@ -1,46 +0,0 @@
|
||||
import { basic } from '../mixins/basic';
|
||||
function mapKeys(source, target, map) {
|
||||
Object.keys(map).forEach((key) => {
|
||||
if (source[key]) {
|
||||
target[map[key]] = source[key];
|
||||
}
|
||||
});
|
||||
}
|
||||
function VantComponent(vantOptions) {
|
||||
const options = {};
|
||||
mapKeys(vantOptions, options, {
|
||||
data: 'data',
|
||||
props: 'properties',
|
||||
watch: 'observers',
|
||||
mixins: 'behaviors',
|
||||
methods: 'methods',
|
||||
beforeCreate: 'created',
|
||||
created: 'attached',
|
||||
mounted: 'ready',
|
||||
destroyed: 'detached',
|
||||
classes: 'externalClasses',
|
||||
});
|
||||
// add default externalClasses
|
||||
options.externalClasses = options.externalClasses || [];
|
||||
options.externalClasses.push('custom-class');
|
||||
// add default behaviors
|
||||
options.behaviors = options.behaviors || [];
|
||||
options.behaviors.push(basic);
|
||||
// add relations
|
||||
const { relation } = vantOptions;
|
||||
if (relation) {
|
||||
options.relations = relation.relations;
|
||||
options.behaviors.push(relation.mixin);
|
||||
}
|
||||
// map field to form-field behavior
|
||||
if (vantOptions.field) {
|
||||
options.behaviors.push('wx://form-field');
|
||||
}
|
||||
// add default options
|
||||
options.options = {
|
||||
multipleSlots: true,
|
||||
addGlobalClass: true,
|
||||
};
|
||||
Component(options);
|
||||
}
|
||||
export { VantComponent };
|
||||
@@ -1 +0,0 @@
|
||||
.van-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.van-multi-ellipsis--l2{-webkit-line-clamp:2}.van-multi-ellipsis--l2,.van-multi-ellipsis--l3{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.van-multi-ellipsis--l3{-webkit-line-clamp:3}.van-clearfix:after{clear:both;content:"";display:table}.van-hairline,.van-hairline--bottom,.van-hairline--left,.van-hairline--right,.van-hairline--surround,.van-hairline--top,.van-hairline--top-bottom{position:relative}.van-hairline--bottom:after,.van-hairline--left:after,.van-hairline--right:after,.van-hairline--surround:after,.van-hairline--top-bottom:after,.van-hairline--top:after,.van-hairline:after{border:0 solid #ebedf0;bottom:-50%;box-sizing:border-box;content:" ";left:-50%;pointer-events:none;position:absolute;right:-50%;top:-50%;transform:scale(.5);transform-origin:center}.van-hairline--top:after{border-top-width:1px}.van-hairline--left:after{border-left-width:1px}.van-hairline--right:after{border-right-width:1px}.van-hairline--bottom:after{border-bottom-width:1px}.van-hairline--top-bottom:after{border-width:1px 0}.van-hairline--surround:after{border-width:1px}
|
||||
Vendored
-15
@@ -1,15 +0,0 @@
|
||||
/// <reference types="miniprogram-api-typings" />
|
||||
type TrivialInstance = WechatMiniprogram.Component.TrivialInstance;
|
||||
export declare function useParent(name: string, onEffect?: (this: TrivialInstance) => void): {
|
||||
relations: {
|
||||
[x: string]: WechatMiniprogram.Component.RelationOption;
|
||||
};
|
||||
mixin: string;
|
||||
};
|
||||
export declare function useChildren(name: string, onEffect?: (this: TrivialInstance, target: TrivialInstance) => void): {
|
||||
relations: {
|
||||
[x: string]: WechatMiniprogram.Component.RelationOption;
|
||||
};
|
||||
mixin: string;
|
||||
};
|
||||
export {};
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user