1 Commits

Author SHA1 Message Date
lcc 4f6a356d8c 修改使用晓致虚拟号 2024-09-03 16:30:58 +08:00
133 changed files with 1081 additions and 6809 deletions
+8 -16
View File
@@ -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"
]
}
+1 -13
View File
@@ -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;}
-2
View File
@@ -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;}
+1 -2
View File
@@ -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;}
-4
View File
@@ -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;}
+1 -12
View File
@@ -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;}
-1
View File
@@ -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;}
+1 -2
View File
@@ -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;}
-1
View File
@@ -11,4 +11,3 @@
@import "base/padding.wxss";
@import "base/radius.wxss";
@import "base/animate.wxss";
@import "custom/customIcon.wxss";
+1 -1
View File
@@ -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;
}
-22
View File
@@ -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 -1
View File
@@ -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
View File
@@ -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,
}
}
-76
View File
@@ -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;
+23 -32
View File
@@ -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
})
})
}
})
}
}
})
+3 -3
View File
@@ -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 -1
View File
@@ -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;}
+1 -1
View File
@@ -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>
-->
+1 -1
View File
@@ -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;
}
-393
View File
@@ -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(/&amp;/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
}
})
-6
View File
@@ -1,6 +0,0 @@
{
"component": true,
"usingComponents": {
"node": "./node/node"
}
}
-7
View File
@@ -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>
-2
View File
@@ -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;}
-237
View File
@@ -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
})
}
}
}
})
-6
View File
@@ -1,6 +0,0 @@
{
"component": true,
"usingComponents": {
"node": "./node"
}
}
-112
View File
@@ -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 -->
-169
View File
@@ -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 -1
View File
@@ -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;}
+2 -2
View File
@@ -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 -1
View File
@@ -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>
+1 -1
View File
@@ -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');
}
+1 -1
View File
@@ -339,7 +339,7 @@ Page({
this.getAppUserBizs()
// this.getAppStatisticsCust()
// this.getAppStatisticsOrders()
//this.getAppTransferRemind()
this.getAppTransferRemind()
},
})
+1
View File
@@ -26,6 +26,7 @@ Page({
[key]: options[key]
})
}
this.getAppCluesDetails()
this.getAppCluesLogs()
innerAudioContext.onEnded(() => {
+2 -2
View File
@@ -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>
+13 -46
View File
@@ -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()
}
},
}
})
+2 -11
View File
@@ -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>
+5 -5
View File
@@ -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">
+9 -41
View File
@@ -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()
},
})
+7 -14
View File
@@ -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>
-66
View File
@@ -1,66 +0,0 @@
// pages/customer/exchange/index.js
Page({
/**
* 页面的初始数据
*/
data: {
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})
-3
View File
@@ -1,3 +0,0 @@
{
"usingComponents": {}
}
-2
View File
@@ -1,2 +0,0 @@
<!--pages/customer/exchange/index.wxml-->
<text>pages/customer/exchange/index.wxml</text>
-1
View File
@@ -1 +0,0 @@
/* pages/customer/exchange/index.wxss */
+346 -471
View File
File diff suppressed because it is too large Load Diff
+1 -2
View File
@@ -2,7 +2,6 @@
"navigationBarTitleText": "客户",
"enablePullDownRefresh": true,
"usingComponents": {
"lcb-changeMobile": "/components/changeMobile/index",
"brandSelect": "/components/brandSelect/index"
"lcb-changeMobile": "/components/changeMobile/index"
}
}
+52 -223
View File
@@ -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>
+1 -65
View File
@@ -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;}
-165
View File
@@ -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)
}
},
})
-8
View File
@@ -1,8 +0,0 @@
{
"navigationBarTitleText": "核销记录",
"navigationBarTextStyle": "white",
"navigationBarBackgroundColor": "#1a1c26",
"backgroundColor": "#ffffff",
"backgroundColorTop": "#1a1c26",
"usingComponents": {}
}
-80
View File
@@ -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>
-257
View File
@@ -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;
}
-173
View File
@@ -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()
});
}
})
-9
View File
@@ -1,9 +0,0 @@
{
"navigationBarTitleText": "积分明细",
"enablePullDownRefresh": true,
"navigationBarTextStyle": "white",
"navigationBarBackgroundColor": "#1a1c26",
"backgroundColor": "#ffffff",
"backgroundColorTop": "#1a1c26",
"usingComponents": {}
}
-53
View File
@@ -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>
-4
View File
@@ -1,4 +0,0 @@
/* pages/customer/score/index.wxss */
.bg-picker{
}
-77
View File
@@ -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
})
}
})
-3
View File
@@ -1,3 +0,0 @@
{
"usingComponents": {}
}
-40
View File
@@ -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
View File
@@ -1 +0,0 @@
/* pages/customer/score/recharge.wxss */
+11 -11
View File
@@ -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',
// },
+11 -11
View File
@@ -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
View File
@@ -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
}
}, ]
]
};
}
+1 -2
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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>
+2 -2
View File
@@ -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'>
-2
View File
@@ -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) {
+55 -62
View File
@@ -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>
+4 -24
View File
@@ -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,
+6 -23
View File
@@ -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
View File
@@ -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
})
}
});
}
}
});
},
})
+1 -2
View File
@@ -2,7 +2,6 @@
"navigationBarTitleText": "订单",
"enablePullDownRefresh": true,
"usingComponents": {
"lcb-changeMobile": "/components/changeMobile/index",
"brandSelect": "/components/brandSelect/index"
"lcb-changeMobile": "/components/changeMobile/index"
}
}
+2 -18
View File
@@ -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>
+35 -69
View File
@@ -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,
+40 -61
View File
@@ -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>
-98
View File
@@ -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
})
})
}
})
-3
View File
@@ -1,3 +0,0 @@
{
"usingComponents": {}
}
-43
View File
@@ -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
View File
@@ -1 +0,0 @@
/* pages/score/detail.wxss */
-292
View File
@@ -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()
});
},
})
-7
View File
@@ -1,7 +0,0 @@
{
"usingComponents": {
"van-circle": "/vant/circle/index",
"com-html": "/components/mp-html/index",
"ec-canvas": "/ecCanvas/components/ec-canvas/ec-canvas"
}
}
-86
View File
@@ -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>
-34
View File
@@ -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
View File
@@ -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
View File
@@ -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
}
}
-4
View File
@@ -1,4 +0,0 @@
/// <reference types="miniprogram-api-typings" />
type CanvasContext = WechatMiniprogram.CanvasContext;
export declare function adaptor(ctx: CanvasContext & Record<string, unknown>): CanvasContext;
export {};
-43
View File
@@ -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() { },
});
}
-1
View File
@@ -1 +0,0 @@
export {};
-197
View File
@@ -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();
},
});
-3
View File
@@ -1,3 +0,0 @@
{
"component": true
}
-9
View File
@@ -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
View File
@@ -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%}
-7
View File
@@ -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";
-7
View File
@@ -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';
-4
View File
@@ -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 };
-46
View File
@@ -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
View File
@@ -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}
-15
View File
@@ -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