4 Commits

Author SHA1 Message Date
老叶 1b686ee78d 门店数据 2022-08-12 17:19:40 +08:00
老叶 57452b7536 门店数据 2022-08-12 14:04:22 +08:00
老叶 5a2437f6ca 统计表消息通讯 2022-08-11 16:49:33 +08:00
老叶 10b9a0bf16 数据统计-静态 2022-08-11 16:49:32 +08:00
97 changed files with 1744 additions and 7225 deletions
+1 -7
View File
@@ -56,13 +56,7 @@
"pages/storeData/index",
"pages/storeData/customerData/index",
"pages/storeData/wechatData/index",
"pages/storeData/orderData/index",
"pages/order/editDeliveryckimg/index",
"pages/order/editQVImg/index",
"pages/order/editVoucherImg/index",
"pages/dataAnalysis/detail/index",
"pages/order/editBuyer/index",
"pages/storeData/subData/index"
"pages/storeData/orderData/index"
],
"echarts": [
{
-2
View File
@@ -27,8 +27,6 @@
.bg-2f3346-1a1c26{background-image:linear-gradient(#2f3346,#1a1c26);}
.bg-f6-fff{background-image:linear-gradient(#f6f6f6,#fff);}
.bg-f3f6fc{background-color:#f3f6fc;}
.bg-fffaeb{background-color:#fffaeb;}
.bg-f1f9f8{background-color:#f1f9f8;}
+1 -2
View File
@@ -29,6 +29,7 @@
/*layout flex*/
.fn-flex{display:flex;flex-flow:row;align-items:stretch;}
.fn-flex-center{align-items:center;}
.fn-flex-item{display:block;flex:1;}
.fn-flex-item.flexsize2{flex:2;}
.fn-flex-item.flexsize3{flex:3;}
@@ -42,8 +43,6 @@
.fn-flex-between{justify-content: space-between;}/*两端对齐*/
.fn-flex-wrap{flex-wrap:wrap}/*多行*/
.fn-flex-around{justify-content: space-around;}/*各项周围留有空白*/
.fn-flex-middle{align-items:center;}/*交叉轴上上下居中对齐*/
.fn-flex-center{justify-content: center;}/*居中对齐*/
.wp25{width:25%;box-sizing:border-box;}
.wp31{width:31%;box-sizing:border-box;}
-2
View File
@@ -23,7 +23,6 @@
.mt150{margin-top:150rpx;}
.mt190{margin-top:190rpx;}
.ml-1{margin-left:-1rpx;}
.ml1{margin-left:1rpx;}
.ml5{margin-left:5rpx;}
.ml10{margin-left:10rpx;}
.ml15{margin-left:15rpx;}
@@ -46,7 +45,6 @@
.ml200{margin-left:200rpx;}
.mr-20{margin-right:-20rpx;}
.mr-30{margin-right:-30rpx;}
.mr1{margin-right:1rpx;}
.mr5{margin-right:5rpx;}
.mr10{margin-right:10rpx;}
.mr11{margin-right:11rpx;}
File diff suppressed because one or more lines are too long
+4 -14
View File
@@ -1,4 +1,4 @@
const env = "p";
const env = "d";
const version = 1,
@@ -65,12 +65,6 @@ api = {
appStatisticsOcust: "app/statistics/ocust", //数据分析-订单数据
appStatisticsHcust: "app/statistics/hcust", //首页-客户图标数据
appStatisticsHorder: "app/statistics/horder", //首页-订单图表数据
appStatisticsStats: "app/statistics/stats", //获取渠道经理数据分析入口数据
appStatisticsStats_days: "app/statistics/stats_days", //获取渠道经理数据分析数据
appStatisticsStats_customer: "app/statistics/stats_customer", //获取渠道经理数据分析数据
appUserResetbiz: "app/user/resetbiz", //更新用户店铺id
appXzStat: "app/xz/stat", //获取电话统计数据
appCity: "app/city", //获取系统配置城市
@@ -135,7 +129,7 @@ api = {
appGoodsRemind:'app/goods/remind', //库存提醒/预警
appGoodsLists:'app/goods/lists', //库存列表
appCustomersOffline_sources:'app/customers/offline_sources', //客户来源
appCustomersOffline_sources:'app/customers/offline_sources', //线索来源
appCustomersTag:'app/customers/tag', //客户标签
appCityOncard:'app/city/oncard', //获取上牌城市
@@ -157,17 +151,13 @@ api = {
appCusorderdataInfo:'app/cusorderdata/info', //保单信息确认
appBizStats:'app/biz/stats', //数据看板首页
appBizStats:'app/biz/stats', //门店数据首页
appBizStats_customer:'app/biz/stats_customer', //客户数据
appBizStats_wxqy:'app/biz/stats_wxqy', //企微数据
appBizStats_order:'app/biz/stats_order', //订单数据
appBizStats_days:'app/biz/stats_days', //客户/订单走势图
appBizStats_customer_pid:'app/biz/stats_customer_pid', //客户数据二级
appBizStats_order_series:'app/biz/stats_order_series', //品牌数据二级
appOptions:'app/options', //获取车辆选装包
appResetgroupid:'app/user/resetgroupid', //切换角色
}
+3 -52
View File
@@ -233,7 +233,7 @@ apiQuery.putAppIdcard = function (params) {
//获取用户统计
apiQuery.getAppUserCal = function (params) {
return new Promise(function (resolve, reject) {
HttpRequest(true, Config.api.appUserCal, 2, params, "GET", resolve, reject)
HttpRequest(false, Config.api.appUserCal, 2, params, "GET", resolve, reject)
})
}
@@ -797,7 +797,7 @@ apiQuery.getAppGoodsLists = function (params) {
})
}
//客户来源
//线索来源
apiQuery.getAppCustomersOffline_sources = function (params) {
return new Promise(function (resolve, reject) {
HttpRequest(false, Config.api.appCustomersOffline_sources, 2, params, "GET", resolve, reject)
@@ -896,7 +896,7 @@ apiQuery.putAppCusorderdataInfo = function (params) {
})
}
//数据看板首页
//门店数据首页
apiQuery.getAppBizStats = function (params) {
return new Promise(function (resolve, reject) {
HttpRequest(false, Config.api.appBizStats, 2, params, "GET", resolve, reject)
@@ -931,53 +931,4 @@ apiQuery.getAppBizStats_days = function (params) {
})
}
//客户数据二级
apiQuery.getAppBizStats_customer_pid = function (params) {
return new Promise(function (resolve, reject) {
HttpRequest(false, Config.api.appBizStats_customer_pid, 2, params, "GET", resolve, reject)
})
}
//品牌数据二级
apiQuery.getAppBizStats_order_series = function (params) {
return new Promise(function (resolve, reject) {
HttpRequest(false, Config.api.appBizStats_order_series, 2, params, "GET", resolve, reject)
})
}
//获取渠道经理数据分析入口数据
apiQuery.getAppStatisticsStats = function (params) {
return new Promise(function (resolve, reject) {
HttpRequest(false, Config.api.appStatisticsStats, 2, params, "GET", resolve, reject)
})
}
//获取渠道经理数据分析数据
apiQuery.getAppStatisticsStats_days = function (params) {
return new Promise(function (resolve, reject) {
HttpRequest(false, Config.api.appStatisticsStats_days, 2, params, "GET", resolve, reject)
})
}
//获取渠道经理数据分析数据
apiQuery.getAppStatisticsStats_customer = function (params) {
return new Promise(function (resolve, reject) {
HttpRequest(false, Config.api.appStatisticsStats_customer, 2, params, "GET", resolve, reject)
})
}
//获取车辆选装包
apiQuery.getAppOptions = function (params) {
return new Promise(function (resolve, reject) {
HttpRequest(false, Config.api.appOptions, 2, params, "GET", resolve, reject)
})
}
//切换角色
apiQuery.putAppResetgroupid = function (params) {
return new Promise(function (resolve, reject) {
HttpRequest(true, Config.api.appResetgroupid, 2, params, "PUT", resolve, reject)
})
}
export default apiQuery;
-1
View File
@@ -134,7 +134,6 @@ let combineUrl = (DATA) => {
let toEncrypt = (DATA) => {
// let secretKey = randomString()
let data = combineUrl(DATA)
//console.log(data)//加密原始数据
return md5.hex_md5(data);
}
@@ -1,277 +0,0 @@
import _ from '../../commons/js/commons'
import Canvas from '../../commons/js/utils/canvas'
let isGetImgInfo = false
const app = getApp()
Component({
//组件的属性列表
properties: {
source: {
type: String,
value: 'goods'
},
isShow: {
type: Boolean,
value: false
},
isCreateQrcode: {
type: Boolean,
value: false
},
qccodeid: {
type: String,
value: ''
},
customImg: {
type: String,
value: ''
},
slogan: {
type: String,
value: ''
},
moments: {
type: String,
value: ''
},
},
//组件的初始数据
data: {
//headImg:app.getStorageByKey("userInfo").headimg,
defaultQrcode: _.config.imgUrl + 'common/qr.jpg',
imgs: [],
tempPosterPath: '',
showOptBtn:false,//操作按钮显示
},
attached: function () {
isGetImgInfo = false
},
//数据监听
observers: {
'isCreateQrcode': function (e) {
if (e) {
this.getMaterialHomeQrcode()
}
},
'isShow': function (e) {
if (e) {
this.setData({
showOptBtn:false,
})
this.createPoster()
}
},
'customImg': function (e) {
if (e) {
// this.setData({
// headImg:app.getStorageByKey("userInfo").headimg,
// })
//头像
//this.getImageInfo(this.data.headImg, 4)
this.getImageInfo(this.data.customImg, 3)
}
},
},
//组件的方法列表
methods: {
// 转化网络图片,获取路径
getImageInfo(src, index) {
let that = this
isGetImgInfo = false
setTimeout(function () {
wx.getImageInfo({
src: src,
success: (res) => {
let arr = that.data.imgs
arr[index] = res
that.setData({
imgs: arr
})
isGetImgInfo = true
},
fail: (err) => {
console.log('error img is: ' + src)
}
})
}, 200)
},
//获取二维码
getMaterialHomeQrcode() {
let params = {};
params['page'] = 'pages/special2/index';
params['scene'] = this.data.qccodeid+'_'+app.getStorageByKey("userInfo").biz_id;
params['width'] = 1280;
_.apiQuery.getMaterialHomeQrcode(params).then(res => {
this.getImageInfo(res.data.url, 2)
}).catch(res => {
//this.getImageInfo(this.data.defaultQrcode, 2)
})
},
//自定义海报
customizePoster(CTX){
if(this.data.customImg){
let that = this
this.setData({
canvasInfo:{
width: parseFloat(this.data.imgs[3].width)+'px',
height: parseFloat(this.data.imgs[3].height)+'px'
}
})
console.log(this.data.imgs[3].width)
console.log(this.data.imgs[3].height)
//背景
if (that.data.imgs[3]) {
CTX.drawImage(that.data.imgs[3].path, 0, 0, that.data.imgs[3].width, that.data.imgs[3].height, 0, 0, that.data.imgs[3].width, that.data.imgs[3].height)
}
// //头像
// if (that.data.imgs[4]) {
// Canvas.circleImage(CTX,that.data.imgs[4].path,20, (that.data.imgs[3].height-170)/2,22/2)
// }
// //昵称
// Canvas.drawTextOverflow(CTX, app.getStorageByKey("userInfo").nickname, 150, 1, 14, '#fff', 20, 46, (that.data.imgs[3].height-132)/2)
// //标语
// if (that.data.slogan) {
// Canvas.drawTextOverflow(CTX, that.data.slogan, 200, 2, 11, '#fff', 17, 20, (that.data.imgs[3].height-85)/2)
// }
// //标语
// if (that.data.slogan) {
// Canvas.drawTextOverflow(CTX, that.data.slogan, 180, 2, 11, '#666', 17, 20, (that.data.imgs[3].height-100)/2)
// }
//二维码
if (that.data.imgs[2]) {
if(this.data.imgs[3].width>this.data.imgs[3].height){
Canvas.circleImage(CTX,that.data.imgs[2].path,parseFloat(this.data.imgs[3].width)-parseFloat(this.data.imgs[3].height/5.5)-30, parseFloat(this.data.imgs[3].height)-parseFloat(this.data.imgs[3].height/5.5)-30,parseFloat(this.data.imgs[3].height/11))
}else{
Canvas.circleImage(CTX,that.data.imgs[2].path,parseFloat(this.data.imgs[3].width)-parseFloat(this.data.imgs[3].width/5.5)-30, parseFloat(this.data.imgs[3].height)-parseFloat(this.data.imgs[3].width/5.5)-30,parseFloat(this.data.imgs[3].width/11))
}
}
setTimeout(function(){
CTX.save()
CTX.draw(true, function () {
wx.hideLoading()
that.saveCanvas()
})
},200)
}
},
//生成海报
createPoster() {
let that = this
wx.showLoading({
title: '正在生成',
})
if(isGetImgInfo){
this.setData({
tempPosterPath: ''
})
let ctx = wx.createCanvasContext('postercanvas', that)
that.customizePoster(ctx)
}
},
//临时存储canvas
saveCanvas() {
let that = this
wx.canvasToTempFilePath({
canvasId: 'postercanvas',
quality: 1,
success: (res) => {
// this.tempFilePath = res.tempFilePath
that.setData({
'tempPosterPath': res.tempFilePath
})
setTimeout(function () {
that.setData({
showOptBtn:true,
})
},200)
},
fail: (res) => {
app.printErrorClient('poseterfail',['错误信息:临时存储canvas失败',JSON.stringify(res)])
}
}, this)
},
//保存到相册
saveToAblum() {
let that = this
wx.saveImageToPhotosAlbum({
filePath: this.data.tempPosterPath,
success: (res) => {
_.utils.$toast('保存成功')
},
fail: (err) => {
app.printErrorClient('poseterfail',['错误信息:图片保存失败',JSON.stringify(err)])
if (err.errMsg == 'saveImageToPhotosAlbum:fail cancel') {
_.utils.$toast('您已取消保存')
} else if (err.errMsg == 'saveImageToPhotosAlbum:fail auth deny') {
_.utils.$modal('提示', '保存图片失败,您可以点击确定设置获取相册权限后再尝试保存!', '去授权').then(res => {
if (res) {
wx.openSetting({}) // 打开小程序设置页面,可以设置权限
}
})
}
}
})
},
//隐藏海报弹框
hidePoster() {
this.setData({
isShow: false
})
wx.hideLoading()
},
//预览图片
preview() {
wx.previewImage({
current: this.data.tempPosterPath, // 当前显示图片的http链接
urls: [this.data.tempPosterPath] // 需要预览的图片http链接列表
})
},
//推送链接
pushLink(e) {
if(e.currentTarget.dataset.url){
_.$router.openUrlScheme(e.currentTarget.dataset.url)
}
},
//复制内容
copyWord(e){
if(e.currentTarget.dataset.tx){
wx.setClipboardData({
data: e.currentTarget.dataset.tx,
success (res) {
_.utils.$toast('复制成功')
}
})
}else{
_.utils.$toast('目前无文案')
}
},
}
})
-4
View File
@@ -24,10 +24,6 @@ Component({
type: Boolean,
value: false
},
isCustomTabBar: { //是否有底部自定义TabBar
type: Boolean,
value: false
},
iconType: { //图标
type: String,
value: ''
+1 -1
View File
@@ -10,7 +10,7 @@
<view slot="opt">这里是插入到组件slot中的内容</view> -->
<view class="lcb-msg" style="{{isShow?'display:block':'display:none'}}" catchmove="aaa">
<view class="msgBg" style="background-color: rgba(0, 0, 0, .6);"></view>
<view class="msgMain {{isShow?'active':''}}" style="{{isTransparent?'background-color: transparent;':''}}{{isCustomTabBar?'margin-top: -95rpx;':''}}" catchmove="aaa">
<view class="msgMain {{isShow?'active':''}}" style="{{isTransparent?'background-color: transparent;':''}}" catchmove="aaa">
<block wx:if="{{isHasClose !=''}}">
<view wx:if="{{isHasClose=='up'}}" class="close up">
<text class="iconfont icon-guanbi1 color-fff" bindtap="close"></text>
+16 -35
View File
@@ -188,26 +188,6 @@ Page({
urls:end_mileage,
})
}
else if(e.currentTarget.dataset.type=='edit_transport'){
let transportImg = []
this.data.transport.forEach(item => {
transportImg.push(item.src)
})
wx.previewImage({
current:e.currentTarget.dataset.current,
urls:transportImg,
})
}
else if(e.currentTarget.dataset.type=='edit_photos'){
let photos = []
this.data.photos.forEach(item => {
photos.push(item.src)
})
wx.previewImage({
current:e.currentTarget.dataset.current,
urls:photos,
})
}
},
@@ -349,7 +329,6 @@ Page({
title: '图片上传中',
})
let transport=that.data.transport
let k = 0
for (let i = 0; i < res1.tempFilePaths.length; i++) {
//上传图片
wx.uploadFile({
@@ -360,7 +339,6 @@ Page({
'app': 'liche'
},
success: (resp) => {
k = k + 1
resp.data = JSON.parse(resp.data);
wx.hideLoading();
if (resp.data.code == 200) {
@@ -371,20 +349,23 @@ Page({
src:imgdata.data.full_url,
})
transport=transport.concat(list)
if(k == res1.tempFilePaths.length){
let params = {};
params['id'] = that.data.info.id;
params['type'] = 0;
let imgs = []
transport.forEach(item => {
imgs.push(item.value)
})
params['imgs'] = imgs;
_.apiQuery.postAppTransferTransport(params).then(res => {
that.setData({
transport,
if(i+1==res1.tempFilePaths.length){
setTimeout(function () {
let params = {};
params['id'] = that.data.info.id;
params['type'] = 0;
let imgs = []
transport.forEach(item => {
imgs.push(item.value)
})
})
params['imgs'] = imgs;
_.apiQuery.postAppTransferTransport(params).then(res => {
that.setData({
transport,
})
})
}, 500);
}
}else{
wx.showToast({
+3 -3
View File
@@ -46,7 +46,7 @@
<block wx:for='{{transport}}' wx:for-item='transport' wx:for-index="index" wx:key='transport'>
<view class="inline-block img-200x180 mr20 relative">
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-guanbi1 inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-1" bindtap="delTransport" data-index="{{index}}" ></i>
<image class='img-200x180 ulib-r10' src='{{transport.src}}' mode='aspectFill' bindtap="previewImage" data-type="edit_transport" data-current="{{transport.src}}"></image>
<image class='img-200x180 ulib-r10' src='{{transport.src}}' mode='aspectFill'></image>
</view>
</block>
<block wx:if="{{transport.length<10}}">
@@ -119,7 +119,7 @@
<block wx:for='{{photos}}' wx:for-item='photos' wx:for-index="index" wx:key='photo'>
<view class="inline-block img-200x180 ml10 mr10 relative">
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-guanbi1 inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-1" bindtap="delPic" data-index="{{index}}" ></i>
<image class='img-200x180 ulib-r10' src='{{photos.src}}' mode='aspectFill' bindtap="previewImage" data-type="edit_photos" data-current="{{photos.src}}"></image>
<image class='img-200x180 ulib-r10' src='{{photos.src}}' mode='aspectFill'></image>
</view>
</block>
<block wx:if="{{photos.length==0}}">
@@ -192,7 +192,7 @@
<block wx:for='{{photos}}' wx:for-item='photos' wx:for-index="index" wx:key='photo'>
<view class="inline-block img-200x180 ml10 mr10 relative">
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-guanbi1 inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-1" bindtap="delPic" data-index="{{index}}" ></i>
<image class='img-200x180 ulib-r10' src='{{photos.src}}' mode='aspectFill' bindtap="previewImage" data-type="edit_photos" data-current="{{photos.src}}"></image>
<image class='img-200x180 ulib-r10' src='{{photos.src}}' mode='aspectFill'></image>
</view>
</block>
<block wx:if="{{photos.length==0}}">
+4 -109
View File
@@ -35,11 +35,6 @@ Page({
city_id:'',
countyIndex:-1,
county_id:'',
isShowExist:false, //客户是否已存在
wxgr:0,//是否添加个微
wxgrimg:'',//个微
wxgrimg_url:'',//个微
},
//生命周期函数--监听页面加载
onLoad: function (options) {
@@ -52,7 +47,7 @@ Page({
// this.getAppSeriesBrands()
//获取列表筛选条件-时间
this.getAppCustomersFilter()
//客户来源
//线索来源
this.getAppCustomersOffline_sources()
//客户标签
this.getAppCustomersTag()
@@ -283,7 +278,7 @@ Page({
}
else if (that.data.sources.length>0&&that.data.of_id == '' ) {
wx.showToast({
title: '请选择客户来源',
title: '请选择线索来源',
icon: 'none'
})
}
@@ -311,12 +306,6 @@ Page({
icon: 'none'
})
}
else if(this.data.wxgr==1&&this.data.wxgrimg==''){
wx.showToast({
title: '请上传个微截图',
icon: 'none'
})
}
// else if(that.data.car_id == '' ){
// wx.showToast({
// title: '请选择车系车型',
@@ -354,10 +343,6 @@ Page({
if(this.data.of2_id != ''){
params['of2_id'] = this.data.of2_id;
}
params['wxgr'] = this.data.wxgr;
if(this.data.wxgr==1){
params['wxgrimg'] = this.data.wxgrimg;
}
params['city_id'] = this.data.city_id;
params['county_id'] = this.data.county_id;
params['buy_time'] = this.data.buy_time;
@@ -421,18 +406,11 @@ Page({
this.setData({
submitFlag: false,
})
if(res.data.id){
wx.hideToast();
this.setData({
isShowExist: true,
exist: res,
})
}
});
}
},
//客户来源
//线索来源
getAppCustomersOffline_sources(){
let params = {};
params['status'] = this.data.status;
@@ -448,7 +426,7 @@ Page({
});
},
//客户来源
//线索来源
changeOf1(e) {
if(this.data.of1Index!=e.detail.value){
let of2Arr = []
@@ -572,87 +550,4 @@ Page({
}
},
//查看存在客户信息
viewDetails(e){
wx.redirectTo({
url: '/pages/customer/detail/index?id=' + this.data.exist.data.id
})
},
//关闭客户已存在提示
colseExist(){
this.setData({
isShowExist: false,
})
},
//是否添加个微
switchWxgr:function(e){
this.setData({
wxgr:e.detail.value ? 1 :0
})
},
//选择图片
chooseImg(e) {
let that = this
//上传个微截图
if(e.currentTarget.dataset.type=='gw_img'){
wx.chooseImage({
count: 1, // 默认9
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success(res) {
wx.showLoading({
title: '上传中',
})
wx.uploadFile({
url:_.config.api.upImg,
filePath:res.tempFilePaths[0],
name: 'img',
formData: {
'app': 'liche'
},
success: (resp) => {
resp.data = JSON.parse(resp.data);
if (resp.data.code == 200) {
wx.hideLoading();
that.setData({
wxgrimg:resp.data.data.url,
wxgrimg_url:resp.data.data.full_url,
})
}else{
wx.hideLoading();
wx.showToast({
title: '上传失败',
icon: 'none',
duration: 2000
})
}
},
})
},
fail: res => {
wx.showToast({
title: '文件选择失败',
icon: 'none',
duration: 2000
})
}
})
}
},
//查看图片
previewImage(e){
if(e.currentTarget.dataset.type=='gw_img'){
wx.previewImage({
current:this.data.wxgrimg_url,
urls:[this.data.wxgrimg_url],
})
}
},
})
+10 -54
View File
@@ -74,7 +74,7 @@
</view> -->
<block wx:if="{{sources.length>0}}">
<view class="relative bbs-1-eb last-b-none pl140 font-28">
<view class="absolute left-0 box-middle">客户来源</view>
<view class="absolute left-0 box-middle">线索来源</view>
<view class="pt30 pb30 text-right font-28 color-666">
<picker bindchange="changeOf1" value="{{of1Index}}" range="{{of1Arr}}">
<text class="color-ccc" wx:if="{{of1Index == -1}}">请选择</text>
@@ -104,7 +104,7 @@
</picker>
</view>
</view>
<view class="relative bbs-1-eb last-b-none pl140 font-28" wx:if="{{city_id}}">
<view class="relative bbs-1-eb last-b-none pl140 font-28">
<view class="absolute left-0 box-middle">所在地区</view>
<view class="pt30 pb30 text-right font-28 color-666">
<picker bindchange="changeCounty" value="{{countyIndex}}" range="{{countyArr}}">
@@ -124,34 +124,9 @@
</picker>
</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="{{wxgr==1}}" bindchange="switchWxgr" type="switch" color='#36afa2' style="zoom:0.8" />
</view>
</view>
<view class="mt30 text-center" wx:if="{{wxgr==1}}">
<view class="inline-block img-250x150 relative ulib-r10 overflowhidden">
<block wx:if="{{wxgrimg_url}}">
<view class="inline-block bg-f8 img-250x150 relative ulib-r10 overflowhidden">
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-shuaxin inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-1" bindtap="chooseImg" data-type="gw_img"></i>
<image class='block wp100 img-250x150 ulib-r10' src='{{wxgrimg_url}}' mode='aspectFit' bindtap="previewImage" data-type="gw_img"></image>
</view>
</block>
<block wx:else>
<view class="inline-block bg-f8 img-250x150 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-type="gw_img">
<view class="absolute left-0 right-0 box-middle color-ccc">
<i class="iconfont icon-paizhao font-42"></i>
<view class="mt10 font-22">上传个微截图</view>
</view>
</view>
</block>
</view>
</view>
<block wx:for='{{taglList}}' wx:for-item='list' wx:for-index='i' wx:key='i'>
<view class="relative mt30">
<view class="relative mt40">
<view class="font-28">
<text class="text-middle">{{list.name}}</text>
<text class="text-middle font-24" wx:if="{{list.type=='radio'}}">(单选)</text>
@@ -159,43 +134,24 @@
</view>
<view class="fn-clear" wx:if="{{list.type=='radio'}}">
<block wx:for='{{list.list}}' wx:for-item='option' wx:for-index='j' wx:key='j'>
<view class="inline-block space-nowrap mt20 mr20 pt15 pb15 pl30 pr30 font-22 ulib-r10 {{option.checked?'bg-36afa2 color-fff':'bg-f6 color-666'}}" bindtap="radioPicker" data-i="{{i}}" data-j="{{j}}">
{{option.name}}
</view>
<view class="inline-block space-nowrap mt20 mr20 pt15 pb15 pl30 pr30 font-22 ulib-r10 {{option.checked?'bg-36afa2 color-fff':'bg-f6 color-666'}}" bindtap="radioPicker" data-i="{{i}}" data-j="{{j}}">{{option.name}}</view>
</block>
</view>
<view class="fn-clear" wx:if="{{list.type=='checkbox'}}">
<block wx:for='{{list.list}}' wx:for-item='option' wx:for-index='j' wx:key='j'>
<view class="inline-block space-nowrap mt20 mr20 pt15 pb15 pl30 pr30 font-22 ulib-r10 {{option.checked?'bg-36afa2 color-fff':'bg-f6 color-666'}}" bindtap="checkPicker" data-i="{{i}}" data-j="{{j}}">
{{option.name}}
</view>
<view class="inline-block space-nowrap mt20 mr20 pt15 pb15 pl30 pr30 font-22 ulib-r10 {{option.checked?'bg-36afa2 color-fff':'bg-f6 color-666'}}" bindtap="checkPicker" data-i="{{i}}" data-j="{{j}}">{{option.name}}</view>
</block>
</view>
</view>
</block>
</view>
<view class="mt60 pl60 pr60">
<button class="wp100 btn-36afa2 pt10 pb10 text-center font-32 color-fff ulib-r750" hover-class="btn-36afa2-hover" disabled="{{submitFlag}}" bindtap="postAppCustomers">
确认建卡
</button>
<button class="wp100 btn-36afa2 pt10 pb10 text-center font-32 color-fff ulib-r750" hover-class="btn-36afa2-hover" disabled="{{submitFlag}}" bindtap="postAppCustomers">确认建卡</button>
</view>
</view>
</view>
<lcb-footer></lcb-footer>
<lcb-backChannel></lcb-backChannel>
<!-- 客户已存在 -->
<lcb-msg isShow="{{isShowExist}}" isHasClose="{{true}}">
<view slot="content">
<view class="pt60 pl60 pr60 pb50">
<view class="font-36 text-center">{{exist.msg}}</view>
</view>
<view class="pl60 pr60 pb50 text-center font-32 color-666">
<button bindtap="viewDetails" class="inline-block wp50 btn-36afa2 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover" wx:if="{{exist.data.owner==1}}">
前往查看
</button>
<button bindtap="colseExist" class="inline-block wp50 btn-36afa2 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover" wx:else>
知道了
</button>
</view>
</view>
</lcb-msg>
<lcb-backChannel></lcb-backChannel>
+2 -2
View File
@@ -255,7 +255,7 @@ Page({
})
}
if((cn-cDay)>29){//相差15天以上不用特意补下个月
if((cn-cDay)>14){//相差15天以上不用特意补下个月
let lweek = new Date(cYear,cMonth-1,cn).getDay();//本月最后天星期几
let sbu = 6 - lweek //最后一周补齐
for(let i=1;i<=sbu;i++){
@@ -268,7 +268,7 @@ Page({
})
}
}else{
let zbu = 30 - (cn-cDay) //至少要补多少天
let zbu = 15 - (cn-cDay) //至少要补多少天
let bweek = ''//至少要补的最后一天星期几
if(cMonth==12){
bweek = new Date(cYear+1,1,zbu).getDay()
+28 -392
View File
@@ -48,18 +48,6 @@ Page({
comment:'',//评论内容
isShowComment:false,//是否显示用户评论弹窗
wxgr:0,//是否添加个微
defeatIndex:-1,
defeatTag: [],
wxgrimg:'',//个微
wxgrimg_url:'',//个微
isShowCall:false,//是否显示拨打电话确认弹框
phoneNumber:'',//拨打的电话号码
userInfo:'',
},
onLoad(options) {
for (let key in options) {
@@ -72,13 +60,6 @@ Page({
this.getAppCustomerData()
this.getAppCustomerlogs()
this.getAppCustomersTag()
//战败标签数据
this.getAppDefeatTag()
//意向标签-到店
this.getAppDaoDianTag()
//意向标签-购买
this.getAppGouMaiTag()
this.getAppCustomersFilter()
innerAudioContext.onEnded(() => {
@@ -87,8 +68,6 @@ Page({
this.getTimePicker()
this.getUserInfo()
},
onshow() {
@@ -104,15 +83,6 @@ Page({
this.offaudio()
},
//获取用户信息
getUserInfo(){
_.apiQuery.getUserInfo().then(res => {
this.setData({
userInfo: res,
})
});
},
//候取当前月日历
getTimePicker(){
let date = new Date();
@@ -149,7 +119,7 @@ Page({
})
}
if((cn-cDay)>29){//相差15天以上不用特意补下个月
if((cn-cDay)>14){//相差15天以上不用特意补下个月
let lweek = new Date(cYear,cMonth-1,cn).getDay();//本月最后天星期几
let sbu = 6 - lweek //最后一周补齐
for(let i=1;i<=sbu;i++){
@@ -162,7 +132,7 @@ Page({
})
}
}else{
let zbu = 30 - (cn-cDay) //至少要补多少天
let zbu = 15 - (cn-cDay) //至少要补多少天
let bweek = ''//至少要补的最后一天星期几
if(cMonth==12){
bweek = new Date(cYear+1,1,zbu).getDay()
@@ -218,23 +188,8 @@ Page({
if(res.data.status==2){
this.getAppCusorderV2Customer()
}
if(res.data.status==3&this.data.tab.length<3){
let tab = this.data.tab
tab.push({"id":3,"title":"战败分析"},)
this.setData({
tab,
})
}
if(res.data.status!=3&this.data.tab.length==3){
let tab = this.data.tab
tab.splice(2, 1)
this.setData({
tab,
})
}
wx.stopPullDownRefresh()
})
@@ -247,9 +202,6 @@ Page({
_.apiQuery.getAppCustomerData(params).then(res=>{
this.setData({
baseinfo:res.data.baseinfo,
wxgr:res.data.baseinfo.wxgr,
wxgrimg:res.data.baseinfo.wxgrimg,
wxgrimg_url:res.data.baseinfo.wxgrimg_url,
})
})
},
@@ -451,11 +403,6 @@ Page({
t_num:this.data.t_num == 1?'':1,
})
}
if(e.currentTarget.dataset.pointer == 'gewei'){
this.setData({
wxgr:this.data.wxgr == 1?'0':1,
})
}
},
//取消变更状态
@@ -502,14 +449,7 @@ Page({
title: '请填写战败理由',
icon: 'none'
})
}
else if((this.data.statuskey == 0||this.data.statuskey == 1)&&this.data.wxgr==1&&this.data.wxgrimg==''){
wx.showToast({
title: '请上传个微截图',
icon: 'none'
})
}
else{
}else{
let credentials = []
let photos = this.data.photos
photos.forEach(item => {
@@ -544,21 +484,6 @@ Page({
if(this.data.nextIndex>-1){
params['visit_time'] = this.data.dateList[this.data.nextIndex].year +'-'+ this.data.dateList[this.data.nextIndex].month +'-'+ this.data.dateList[this.data.nextIndex].day;
}
if(this.data.statuskey == 0){
params['daodian_tag'] = this.data.daoDianTag;
}
if(this.data.statuskey == 1){
params['goumai_tag'] = this.data.gouMaiTag;
}
if(this.data.statuskey == 3){
params['invalid_tag'] = this.data.defeatTag;
}
if((this.data.statuskey == 0||this.data.statuskey == 1)&&this.data.wxgr==1){
params['wxgr'] = this.data.wxgr;
params['wxgrimg'] = this.data.wxgrimg;
}
console.log(this.data.daodianTag)
console.log(params)
_.apiQuery.putAppCustomers(params).then(res=>{
this.setData({
isShowNote:false,//新增日志弹窗
@@ -594,9 +519,8 @@ Page({
params['id'] = e.currentTarget.dataset.id;
params['type'] = 0;
_.apiQuery.getAppXz(params).then(res=>{
this.setData({
isShowCall:true,
phoneNumber:res.data.mobile,
wx.makePhoneCall({
phoneNumber: res.data.mobile,
})
})
},
@@ -705,77 +629,27 @@ Page({
},
//选择图片
chooseImg(e) {
chooseImg() {
let that = this
//上传小记图片
if(e.currentTarget.dataset.type=='note_img'){
wx.chooseImage({
count: 2 - this.data.photos.length, // 默认6
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success(res1) {
let currentLength = that.data.photos.length
for (let i = 0; i < res1.tempFilePaths.length; i++) {
//上传图片
that.uploadImg(res1.tempFilePaths[i])
}
},
fail: res => {
wx.showToast({
title: '文件选择失败',
icon: 'none',
duration: 2000
})
wx.chooseImage({
count: 2 - this.data.photos.length, // 默认6
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success(res1) {
let currentLength = that.data.photos.length
for (let i = 0; i < res1.tempFilePaths.length; i++) {
//上传图片
that.uploadImg(res1.tempFilePaths[i])
}
})
}
//上传个微截图
if(e.currentTarget.dataset.type=='gw_img'){
wx.chooseImage({
count: 1, // 默认9
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success(res) {
wx.showLoading({
title: '上传中',
})
wx.uploadFile({
url:_.config.api.upImg,
filePath:res.tempFilePaths[0],
name: 'img',
formData: {
'app': 'liche'
},
success: (resp) => {
resp.data = JSON.parse(resp.data);
if (resp.data.code == 200) {
wx.hideLoading();
that.setData({
wxgrimg:resp.data.data.url,
wxgrimg_url:resp.data.data.full_url,
})
}else{
wx.hideLoading();
wx.showToast({
title: '上传失败',
icon: 'none',
duration: 2000
})
}
},
})
},
fail: res => {
wx.showToast({
title: '文件选择失败',
icon: 'none',
duration: 2000
})
}
})
}
},
fail: res => {
wx.showToast({
title: '文件选择失败',
icon: 'none',
duration: 2000
})
}
})
},
//上传图片
@@ -829,18 +703,10 @@ Page({
//查看图片
previewImage(e){
if(e.currentTarget.dataset.type=='logs'){
wx.previewImage({
current:e.currentTarget.dataset.current,
urls:this.data.logslist[e.currentTarget.dataset.index].imgs,
})
}
else if(e.currentTarget.dataset.type=='gw_img'){
wx.previewImage({
current:this.data.wxgrimg_url,
urls:[this.data.wxgrimg_url],
})
}
wx.previewImage({
current:e.currentTarget.dataset.current,
urls:this.data.logslist[e.currentTarget.dataset.index].imgs,
})
},
//战败/再战申请
@@ -960,9 +826,6 @@ Page({
}else if(this.data.level[this.data.levelIndex]=='B'){
kd = 15
}
else if(this.data.level[this.data.levelIndex]=='C'){
kd = 30
}
let cindex = ''
let dateList = this.data.dateList
dateList.forEach((item,index) => {
@@ -1032,227 +895,6 @@ Page({
}
},
//战败理由标签
getAppDefeatTag(){
let params = {};
params['id'] = this.data.id;
params['tag_type'] = '1';
_.apiQuery.getAppCustomersTag(params).then(res => {
// this.setData({
// defeatTag:res.data.tags&&res.data.tags.length>0?res.data.tags:[],
// })
let that = this
if(res.data.tags&&res.data.tags.length>0){
let defeatList = res.data.tags
let defeatTitleList = []
defeatList.forEach((itemA,index) => {
// if(itemA.type=='radio'){
// defeatTitleList.push(itemA.name+'单选')
// }
// if(itemA.type=='checkbox'){
// defeatTitleList.push(itemA.name+'多选')
// }
defeatTitleList.push(itemA.name)
itemA.list.forEach(itemB => {
if(itemB.checked){
itemA.have=true
}
})
})
that.setData({
defeatList,
defeatTitleList,
})
let defeatTag = res.data.tags
setTimeout(function () {
if(res.data.tag_id == 0){
defeatTag.forEach((itemA,index) => {
itemA.list.forEach(itemB => {
itemB.checked = false
})
})
}
else{
defeatTag.forEach((itemA,index) => {
itemA.list.forEach(itemB => {
if(itemB.checked){
that.setData({
defeatIndex:index,
})
}
})
})
}
that.setData({
defeatTag,
})
}, 10)
}
});
},
//战败理由单选
defeatRadioPicker(e){
let defeatTag = this.data.defeatTag
defeatTag[e.currentTarget.dataset.i].list.forEach(item => {
item.checked=false
})
defeatTag[e.currentTarget.dataset.i].list[e.currentTarget.dataset.j].checked=true
this.setData({
defeatTag,
})
},
//战败理由多选
defeatCheckPicker(e){
this.setData({
['defeatTag['+e.currentTarget.dataset.i+'].list['+e.currentTarget.dataset.j+'].checked']:!this.data.defeatTag[e.currentTarget.dataset.i].list[e.currentTarget.dataset.j].checked,
})
},
//战败理由标签选择
changeDefeat(e) {
if(this.data.defeatIndex != e.detail.value && e.detail.value >= 0){
this.setData({
defeatIndex:e.detail.value,
})
let defeatTag = this.data.defeatTag
defeatTag.forEach(itemA => {
itemA.list.forEach(itemB => {
itemB.checked=false
})
})
this.setData({
defeatTag,
})
}
},
//意向标签-到店
getAppDaoDianTag(){
let params = {};
params['id'] = this.data.id;
params['tag_type'] = '2';
params['tag_type2'] = '1';
_.apiQuery.getAppCustomersTag(params).then(res => {
this.setData({
daoDianTag:res.data.tags&&res.data.tags.length>0?res.data.tags:[],
})
let that = this
if(res.data.tags&&res.data.tags.length>0){
let daoDianList = res.data.tags
daoDianList.forEach((itemA,index) => {
itemA.list.forEach(itemB => {
if(itemB.checked){
itemA.have=true
}
})
})
that.setData({
daoDianList,
})
}
});
},
//意向标签-到店-单选
daoDianRadioPicker(e){
let daoDianTag = this.data.daoDianTag
daoDianTag[e.currentTarget.dataset.i].list.forEach(item => {
item.checked=false
})
daoDianTag[e.currentTarget.dataset.i].list[e.currentTarget.dataset.j].checked=true
this.setData({
daoDianTag,
})
},
//意向标签-到店-多选
daoDianCheckPicker(e){
this.setData({
['daoDianTag['+e.currentTarget.dataset.i+'].list['+e.currentTarget.dataset.j+'].checked']:!this.data.daoDianTag[e.currentTarget.dataset.i].list[e.currentTarget.dataset.j].checked,
})
},
//意向标签-购买
getAppGouMaiTag(){
let params = {};
params['id'] = this.data.id;
params['tag_type'] = '2';
params['tag_type2'] = '2';
_.apiQuery.getAppCustomersTag(params).then(res => {
this.setData({
gouMaiTag:res.data.tags&&res.data.tags.length>0?res.data.tags:[],
})
let that = this
if(res.data.tags&&res.data.tags.length>0){
let gouMaiList = res.data.tags
gouMaiList.forEach((itemA,index) => {
itemA.list.forEach(itemB => {
if(itemB.checked){
itemA.have=true
}
})
})
that.setData({
gouMaiList,
})
}
});
},
//意向标签-购买-单选
gouMaiRadioPicker(e){
let gouMaiTag = this.data.gouMaiTag
gouMaiTag[e.currentTarget.dataset.i].list.forEach(item => {
item.checked=false
})
gouMaiTag[e.currentTarget.dataset.i].list[e.currentTarget.dataset.j].checked=true
this.setData({
gouMaiTag,
})
},
//意向标签-购买-多选
gouMaiCheckPicker(e){
this.setData({
['gouMaiTag['+e.currentTarget.dataset.i+'].list['+e.currentTarget.dataset.j+'].checked']:!this.data.gouMaiTag[e.currentTarget.dataset.i].list[e.currentTarget.dataset.j].checked,
})
},
//隐藏电话弹框
hideCall(){
this.setData({
isShowCall:false,
})
},
//拨打电话
makePhoneCall(){
wx.makePhoneCall({
phoneNumber: this.data.phoneNumber,
})
},
//复制
copyWord(){
if(this.data.detailinfo.mobile){
wx.setClipboardData({
data: this.data.detailinfo.mobile,
success (res) {
_.utils.$toast('复制成功')
}
})
}else{
_.utils.$toast('无手机号')
}
},
//页面相关事件处理函数--监听用户下拉动作
onPullDownRefresh(){
@@ -1268,12 +910,6 @@ Page({
this.getAppCustomerData()
this.getAppCustomerlogs()
this.getAppCustomersTag()
//战败标签数据
this.getAppDefeatTag()
//意向标签-到店
this.getAppDaoDianTag()
//意向标签-购买
this.getAppGouMaiTag()
},
//页面上拉触底事件的处理函数
+145 -350
View File
@@ -1,14 +1,10 @@
<view class="container">
<view class="inner40 pb0">
<view class="inner40 relative ulib-r10 box-shadow-000-10-10 mb30 overflowhidden">
<view class="absolute top-0 left-0 ml40 bg-36afa2 pl10 pr10 font-22 color-fff" wx:if="{{detailinfo.tip}}">
{{detailinfo.tip}}
</view>
<view class="absolute top-0 left-0 ml40 bg-36afa2 pl10 pr10 font-22 color-fff" wx:if="{{detailinfo.tip}}">{{detailinfo.tip}}</view>
<view class="relative pr180">
<view class="font-28">
<text>
{{detailinfo.name}}<text class="ml10 font-22 color-666">编号 {{detailinfo.id}}</text>
</text>
<text>{{detailinfo.name}}<text class="ml10 font-22 color-666">编号 {{detailinfo.id}}</text></text>
<text class="text-middle iconfont icon-weixin1 ml10 color-00c800" wx:if="{{detailinfo.is_weChat}}"></text>
<text class="iconfont icon-xingxing ml10 {{detailinfo.is_top==1?'color-f9394d':'color-ccc'}}" catchtap="optTop" data-index="{{index}}"></text>
</view>
@@ -24,16 +20,13 @@
...
</block>
</view> -->
<view class="absolute right-0 box-middle text-right mt5">
<view class="text-center">
<view class="inline-block relative img-55x55 bg-333 font-28 color-fff mr30 ulib-r750" catchtap="showMessage" data-id="{{detailinfo.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="{{detailinfo.id}}">
<i class="absolute box-center-middle iconfont icon-dianhua"></i>
</view>
<view class="absolute right-0 box-middle text-center">
<view class="inline-block relative img-55x55 bg-333 font-28 color-fff mr30 ulib-r750" catchtap="showMessage" data-id="{{detailinfo.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="{{detailinfo.id}}">
<i class="absolute box-center-middle iconfont icon-dianhua"></i>
</view>
<view class="inline-block mt5 pt5 pb5 pl20 pr20 btn-36afa2 font-26 color-fff ulib-r750" bindtap="copyWord">复制</view>
</view>
</view>
<block wx:for="{{detailinfo.other_data}}" wx:for-index='key' wx:for-item='value' wx:key='i'>
@@ -52,6 +45,7 @@
</view>
</block>
</view>
<view class="mt30 pb150" wx:if="{{tabid == 1}}">
<view class="fn-flex text-center">
<block wx:for="{{statistics}}" wx:key='index'>
@@ -71,30 +65,41 @@
<block wx:for="{{logslist}}" 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">{{item.c_time}}</text>
<!-- <text class="color-999"> · </text>
<text class="color-36afa2">试驾/下定</text> -->
</view>
<!-- 内容 -->
<!--内容-->
<view class="font-28 text-break" style="min-height:50rpx;">{{item.content}}</view>
<!-- 录音 -->
<!--录音-->
<view class="relative mt10 wp80 pt5 pb5 pl180 bg-e3f5f3 color-36afa2 font-30 ulib-r10" wx:if="{{!!item.record_url}}">
<i bindtap="audioPlay" data-index="{{index}}" class="absolute box-middle left-0 ml20 iconfont {{play?'icon-zanting1':'icon-bofang'}}" wx:if="{{currentIndex==index}}"></i>
<i bindtap="audioPlay" data-index="{{index}}" class="absolute box-middle left-0 ml20 iconfont icon-bofang" wx:else></i>
<text class="absolute box-middle left-0 ml65 font-20">
{{currentIndex==index?currentx:'00:00'}} / {{item.alltime}}
</text>
<slider bindtouchstart="handle_slider_move_start" bindchanging="hanle_slider_changing" bindchange="hanle_slider_change" data-index="{{index}}" min="0" step="0.000001" block-size="12" max="{{item.second}}" block-color="#5ec6bb" activeColor="#36afa2" backgroundColor="#d1eeeb" value="{{currentIndex==index?currentime:0}}" />
<text class="absolute box-middle left-0 ml65 font-20">{{currentIndex==index?currentx:'00:00'}} / {{item.alltime}}</text>
<slider
bindtouchstart="handle_slider_move_start"
bindchanging="hanle_slider_changing"
bindchange="hanle_slider_change"
data-index="{{index}}"
min="0"
step="0.000001"
block-size="12"
max="{{item.second}}"
block-color="#5ec6bb"
activeColor="#36afa2"
backgroundColor="#d1eeeb"
value="{{currentIndex==index?currentime:0}}"
/>
</view>
<!-- 图片 -->
<!--图片-->
<view wx:if="{{item.imgs.length>0}}">
<block wx:for="{{item.imgs}}" wx:for-item="img" wx:for-index="j" wx:key="j">
<image bindtap="previewImage" data-type="logs" data-current="{{img}}" data-index="{{index}}" class='img-125x75 mr10 bds-2-eb ulib-r5' src='{{img}}' mode='aspectFill'></image>
<image bindtap="previewImage" data-current="{{img}}" data-index="{{index}}" class='img-125x75 mr10 bds-2-eb ulib-r5' src='{{img}}' mode='aspectFill'></image>
</block>
</view>
<!-- 评论 -->
<!--评论-->
<view class="mt10 mb15 bg-f6 ulib-r20 ulib-rlt0 pt5 pb10 pl15 pr15 font-22" wx:if="{{item.comments.length>0}}">
<view class="mt5 relative" wx:for="{{item.comments}}" wx:for-item="comment" wx:for-index="j" wx:key="j">
<text class="iconfont icon-pinglun color-36afa2"></text>
@@ -123,59 +128,14 @@
<view class="absolute left-0 box-middle font-28">{{list.name}}</view>
<view class="pl150">
<block wx:for='{{list.list}}' wx:for-item='option' wx:for-index='j' wx:key='j'>
<view class="inline-block space-nowrap mt5 mb5 mr10 pt10 pb10 pl20 pr20 font-22 ulib-r10 bg-f3f6fc" wx:if="{{option.checked}}">
{{option.name}}
</view>
<view class="inline-block space-nowrap mt5 mb5 mr10 pt10 pb10 pl20 pr20 font-22 ulib-r10 bg-f3f6fc" wx:if="{{option.checked}}">{{option.name}}</view>
</block>
</view>
</view>
</block>
<block wx:for='{{daoDianList}}' wx:for-item='list' wx:for-index='i' wx:key='i'>
<view class="relative mt20" wx:if="{{list.have}}">
<view class="absolute left-0 box-middle font-28">{{list.name}}</view>
<view class="pl150">
<block wx:for='{{list.list}}' wx:for-item='option' wx:for-index='j' wx:key='j'>
<view class="inline-block space-nowrap mt5 mb5 mr10 pt10 pb10 pl20 pr20 font-22 ulib-r10 bg-f3f6fc" wx:if="{{option.checked}}">
{{option.name}}
</view>
</block>
</view>
</view>
</block>
<block wx:for='{{gouMaiList}}' wx:for-item='list' wx:for-index='i' wx:key='i'>
<view class="relative mt20" wx:if="{{list.have}}">
<view class="absolute left-0 box-middle font-28">{{list.name}}</view>
<view class="pl150">
<block wx:for='{{list.list}}' wx:for-item='option' wx:for-index='j' wx:key='j'>
<view class="inline-block space-nowrap mt5 mb5 mr10 pt10 pb10 pl20 pr20 font-22 ulib-r10 bg-f3f6fc" wx:if="{{option.checked}}">
{{option.name}}
</view>
</block>
</view>
</view>
</block>
</view>
<view class="mt30 pl50 pr30 pb200" wx:elif="{{tabid == 3}}">
<view class="relative mt20" wx:if="{{detailinfo.defeat.reason}}">
<view class="absolute left-0 box-middle font-28">战败理由</view>
<view class="pl150 font-28 color-666">
{{detailinfo.defeat.reason}}
</view>
</view>
<!-- <block wx:for='{{defeatList}}' wx:for-item='list' wx:for-index='i' wx:key='i'>
<view class="relative mt20" wx:if="{{list.have}}">
<view class="absolute left-0 box-middle font-28">{{list.name}}</view>
<view class="pl150">
<block wx:for='{{list.list}}' wx:for-item='option' wx:for-index='j' wx:key='j'>
<view class="inline-block space-nowrap mt5 mb5 mr10 pt10 pb10 pl20 pr20 font-22 ulib-r10 bg-f3f6fc" wx:if="{{option.checked}}">
{{option.name}}
</view>
</block>
</view>
</view>
</block> -->
</view>
</view>
<view class="fixed left-0 bottom-0 right-0 bg-fff-op90 pl40 pr40 pt20 pb40 z-index-1">
<!-- <view>
<button bindtap="pushLink" data-url="/pages/customer/editCard/index?id={{id}}" class="inline-block btn-36afa2 font-22 color-fff ulib-r10" hover-class="btn-36afa2-hover"></button>
@@ -186,42 +146,39 @@
<view class="font-22">修改信息</view>
</view>
<block wx:if="{{optDefeat}}">
<view class="fn-flex-item flexsize4 pt20 pb20 bds-2-36afa2 bg-fff font-32 color-36afa2 ulib-rl750" bindtap="putAppCustomersDefeats" data-type="0">
战败
</view>
<view class="fn-flex-item flexsize4 pt20 pb20 btn-36afa2 font-32 color-fff ulib-rr750" bindtap="putAppCustomersDefeats" data-type="1">
再战
</view>
<view class="fn-flex-item flexsize4 pt20 pb20 bds-2-36afa2 bg-fff font-32 color-36afa2 ulib-rl750" bindtap="putAppCustomersDefeats" data-type="0">战败</view>
<view class="fn-flex-item flexsize4 pt20 pb20 btn-36afa2 font-32 color-fff ulib-rr750" bindtap="putAppCustomersDefeats" data-type="1">再战</view>
</block>
<block wx:elif="{{detailinfo.status==2}}">
<view class="fn-flex-item flexsize4 pt20 pb20 bds-2-36afa2 bg-fff font-32 color-36afa2 ulib-rl750" bindtap="optShowNote">
客户跟进
</view>
<view class="fn-flex-item flexsize4 pt20 pb20 btn-36afa2 font-32 color-fff ulib-rr750" bindtap="optShowOrder">
订单(复购)
</view>
<view class="fn-flex-item flexsize4 pt20 pb20 bds-2-36afa2 bg-fff font-32 color-36afa2 ulib-rl750" bindtap="optShowNote">客户跟进</view>
<view class="fn-flex-item flexsize4 pt20 pb20 btn-36afa2 font-32 color-fff ulib-rr750" bindtap="optShowOrder">查看订单</view>
</block>
<block wx:elif="{{detailinfo.status==3}}">
<view class="fn-flex-item flexsize4 pt20 pb20 bds-2-36afa2 bg-fff font-32 color-36afa2 ulib-rl750" bindtap="optShowNote">
客户跟进
</view>
<view class="fn-flex-item flexsize4 pt20 pb20 btn-36afa2 font-32 color-fff ulib-rr750" bindtap="optShowNote">
再战
</view>
<view class="fn-flex-item flexsize4 pt20 pb20 bds-2-36afa2 bg-fff font-32 color-36afa2 ulib-rl750" bindtap="optShowNote">客户跟进</view>
<view class="fn-flex-item flexsize4 pt20 pb20 btn-36afa2 font-32 color-fff ulib-rr750" bindtap="optShowNote">再战</view>
</block>
<block wx:else>
<view class="fn-flex-item flexsize4 pt20 pb20 bts-2-36afa2 bls-2-36afa2 bbs-2-36afa2 bg-fff font-32 color-36afa2 ulib-rl750" bindtap="optShowNote">
客户跟进
</view>
<view class="fn-flex-item flexsize4 pt20 pb20 btn-36afa2 font-32 color-fff ulib-rr750 {{detailinfo.generate_order||userInfo.group_id==2||userInfo.group_id==3||userInfo.group_id==4?'':'opacity-50'}}" bindtap="{{detailinfo.generate_order||userInfo.group_id==2||userInfo.group_id==3||userInfo.group_id==4?'pushLink':''}}" data-url="/pages/order/register/index?cus_id={{detailinfo.id}}&name={{detailinfo.name}}&mobile={{detailinfo.mobile}}&complete_mobile={{detailinfo.complete_mobile}}">
生成订单
</view>
<view class="fn-flex-item flexsize4 pt20 pb20 bts-2-36afa2 bls-2-36afa2 bbs-2-36afa2 bg-fff font-32 color-36afa2 ulib-rl750" bindtap="optShowNote">客户跟进</view>
<view class="fn-flex-item flexsize4 pt20 pb20 btn-36afa2 font-32 color-fff ulib-rr750 {{detailinfo.generate_order?'':'opacity-50'}}" bindtap="{{detailinfo.generate_order?'pushLink':''}}" data-url="/pages/order/register/index?cus_id={{detailinfo.id}}&name={{detailinfo.name}}&mobile={{detailinfo.mobile}}">生成订单</view>
</block>
</view>
</view>
</view>
<lcb-backChannel></lcb-backChannel>
<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">
<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">
<view class="color-666">计划回访时间</view>
@@ -236,249 +193,114 @@
<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>
<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>
</page-container>
<lcb-msg isShow="{{isShowMessage}}">
<view slot="content">
<view class="inner40">
<view slot="content">
<view class="inner40">
<textarea class="wp100 inner20 bds-2-eb font-28 ulib-r10" placeholder-class="color-ccc" maxlength='100' placeholder="请输入短信内容" bindinput='inputTx' data-key="content" name='content' value='{{content}}' />
</view>
<view class="fn-flex pl60 pr60 pb50 text-center font-32 color-666">
<button bindtap="hideMessage" class="fn-flex-item mr20 bds-2-36afa2 btn-no-bg wp100 font-28 color-36afa2 ulib-r750">
取消
</button>
<button disabled="{{submitFlag}}" bindtap="postAppSmsCustomer" class="fn-flex-item ml20 btn-36afa2 wp100 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover">
确定
</button>
<button bindtap="hideMessage" class="fn-flex-item mr20 bds-2-36afa2 btn-no-bg wp100 font-28 color-36afa2 ulib-r750">取消</button>
<button disabled="{{submitFlag}}" bindtap="postAppSmsCustomer" class="fn-flex-item ml20 btn-36afa2 wp100 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover">确定</button>
</view>
</view>
</view>
</lcb-msg>
<lcb-msg isShow="{{isShowNote}}">
<view slot="content" class="pt20">
<view slot="content" class="pt20" >
<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 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" 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">
未见客户
<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 class="fn-flex-item relative ml10 mr10 pt20 pb20 ulib-r10 {{statuskey == 3?'bg-36afa2 color-fff':'bg-f6'}}" bindtap="radioPicker" data-key="3">战败客户</view>
</view>
<block wx:if="{{statuskey==0||statuskey==1}}">
<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="changeFollow" value="{{followIndex}}" range="{{follow}}">
<text class="color-ccc" wx:if="{{followIndex == -1}}">请选择</text>
<text wx:else>{{follow[followIndex]}}</text>
<i class="iconfont ml5 icon-gengduo color-ccc"></i>
</picker>
</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="mt20 bds-2-eb ml40 mr40 inner20 font-28 color-666 fn-clear ulib-r10">
<view class="fn-fl">客户等级</view>
<view class="fn-fr wp60 text-right" wx:if="{{detailinfo.status==0&&statuskey==1}}">H</view>
<picker class="fn-fr wp60 text-right" bindchange="changeLevel" value="{{levelIndex}}" range="{{level}}" wx:else>
<text class="color-ccc" wx:if="{{levelIndex == -1}}">请选择</text>
<text wx:else>{{level[levelIndex]}}</text>
<i class="iconfont ml5 icon-gengduo color-ccc"></i>
</picker>
</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">
战败客户
<view class="mt20 bds-2-eb ml40 mr40 inner20 font-28 {{levelIndex>-1?'color-666':'color-ccc'}} fn-clear ulib-r10">
<view class="fn-fl">计划回访时间</view>
<view bindtap="{{levelIndex>-1?'optShowTimePicker':''}}" class="fn-fr wp60 text-right">
<text class="color-ccc" wx:if="{{nextIndex == -1}}">请选择</text>
<text wx:else>{{dateList[nextIndex].year}}-{{dateList[nextIndex].month}}-{{dateList[nextIndex].day}}</text>
<i class="iconfont ml5 icon-gengduo color-ccc"></i>
</view>
</view>
</block>
<view class="mt20 pl40 pr40 font-28 text-center fn-flex" wx:if="{{statuskey==1}}">
<view class="fn-flex-item relative mr10 pt20 pb20 ulib-r10 overflowhidden {{a_num == 1?'bg-36afa2 color-fff':'bg-f6'}}" style="height:78rpx;box-sizing:border-box;" bindtap="checkPicker" data-pointer="daodian">
<i class="absolute right-0 bottom-0 iconfont font-32 icon-xuanzhongjiaobiao" style="color:#56ffed;" wx:if="{{a_num == 1}}"></i>
<text>再次到店</text>
</view>
<view class="fn-flex-item relative ml10 pt20 pb20 ulib-r10 overflowhidden {{t_num == 1?'bg-36afa2 color-fff':'bg-f6'}}" style="height:78rpx;box-sizing:border-box;" bindtap="checkPicker" data-pointer="shijia">
<i class="absolute right-0 bottom-0 iconfont font-32 icon-xuanzhongjiaobiao" style="color:#56ffed;" wx:if="{{t_num == 1}}"></i>
<text>客户试驾</text>
</view>
</view>
<scroll-view scroll-y="true" style="max-height:1000rpx;">
<block wx:if="{{statuskey==0||statuskey==1}}">
<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="changeFollow" value="{{followIndex}}" range="{{follow}}">
<text class="color-ccc" wx:if="{{followIndex == -1}}">请选择</text>
<text wx:else>{{follow[followIndex]}}</text>
<i class="iconfont ml5 icon-gengduo color-ccc"></i>
</picker>
</view>
<view class="mt20 bds-2-eb ml40 mr40 inner20 font-28 color-666 fn-clear ulib-r10">
<view class="fn-fl">客户等级</view>
<view class="fn-fr wp60 text-right" wx:if="{{detailinfo.status==0&&statuskey==1}}">H</view>
<picker class="fn-fr wp60 text-right" bindchange="changeLevel" value="{{levelIndex}}" range="{{level}}" wx:else>
<text class="color-ccc" wx:if="{{levelIndex == -1}}">请选择</text>
<text wx:else>{{level[levelIndex]}}</text>
<i class="iconfont ml5 icon-gengduo color-ccc"></i>
</picker>
</view>
<block wx:for='{{daoDianTag}}' wx:for-item='list' wx:for-index='i' wx:key='i' wx:if="{{statuskey==0}}">
<view class="relative mt20 pl40 pr40">
<view class="font-28">
<text class="text-middle">{{list.name}}</text>
</view>
<view class="fn-clear" wx:if="{{list.type=='radio'}}">
<block wx:for='{{list.list}}' wx:for-item='option' wx:for-index='j' wx:key='j'>
<view class="inline-block space-nowrap mt20 mr20 pt15 pb15 pl30 pr30 font-22 ulib-r10 {{option.checked?'bg-36afa2 color-fff':'bg-f6 color-666'}}" bindtap="daoDianRadioPicker" data-i="{{i}}" data-j="{{j}}">
{{option.name}}
</view>
</block>
</view>
<view class="fn-clear" wx:if="{{list.type=='checkbox'}}">
<block wx:for='{{list.list}}' wx:for-item='option' wx:for-index='j' wx:key='j'>
<view class="inline-block space-nowrap mt20 mr20 pt15 pb15 pl30 pr30 font-22 ulib-r10 {{option.checked?'bg-36afa2 color-fff':'bg-f6 color-666'}}" bindtap="daoDianCheckPicker" data-i="{{i}}" data-j="{{j}}">
{{option.name}}
</view>
</block>
</view>
</view>
</block>
<block wx:for='{{gouMaiTag}}' wx:for-item='list' wx:for-index='i' wx:key='i' wx:if="{{statuskey==1}}">
<view class="relative mt20 pl40 pr40">
<view class="font-28">
<text class="text-middle">{{list.name}}</text>
</view>
<view class="fn-clear" wx:if="{{list.type=='radio'}}">
<block wx:for='{{list.list}}' wx:for-item='option' wx:for-index='j' wx:key='j'>
<view class="inline-block space-nowrap mt20 mr20 pt15 pb15 pl30 pr30 font-22 ulib-r10 {{option.checked?'bg-36afa2 color-fff':'bg-f6 color-666'}}" bindtap="gouMaiRadioPicker" data-i="{{i}}" data-j="{{j}}">
{{option.name}}
</view>
</block>
</view>
<view class="fn-clear" wx:if="{{list.type=='checkbox'}}">
<block wx:for='{{list.list}}' wx:for-item='option' wx:for-index='j' wx:key='j'>
<view class="inline-block space-nowrap mt20 mr20 pt15 pb15 pl30 pr30 font-22 ulib-r10 {{option.checked?'bg-36afa2 color-fff':'bg-f6 color-666'}}" bindtap="gouMaiCheckPicker" data-i="{{i}}" data-j="{{j}}">
{{option.name}}
</view>
</block>
</view>
</view>
</block>
<view class="mt20 bds-2-eb ml40 mr40 inner20 font-28 {{levelIndex>-1?'color-666':'color-ccc'}} fn-clear ulib-r10">
<view class="fn-fl">计划回访时间</view>
<view bindtap="{{levelIndex>-1?'optShowTimePicker':''}}" class="fn-fr wp60 text-right">
<text class="color-ccc" wx:if="{{nextIndex == -1}}">请选择</text>
<text wx:else>{{dateList[nextIndex].year}}-{{dateList[nextIndex].month}}-{{dateList[nextIndex].day}}</text>
<i class="iconfont ml5 icon-gengduo color-ccc"></i>
</view>
</view>
</block>
<view class="mt20 ml40 mr40 font-28 text-center relative mr10 pt20 pb20 ulib-r10 overflowhidden {{baseinfo.wxgr==1?'opacity-80':''}} {{wxgr == 1?'bg-36afa2 color-fff':'bg-f6'}}" style="height:78rpx;box-sizing:border-box;" bindtap="{{baseinfo.wxgr==1?'':'checkPicker'}}" data-pointer="gewei" wx:if="{{statuskey==0}}">
<i class="absolute right-0 bottom-0 iconfont font-32 icon-xuanzhongjiaobiao" style="color:#56ffed;" wx:if="{{wxgr == 1}}"></i>
<text>已添加个微</text>
<block wx:if="{{statuskey!=3}}">
<view class="mt20 pl40 pr40">
<textarea class="wp100 inner20 bds-2-eb font-28 ulib-r10" style="height:200rpx;" placeholder-class="color-ccc" placeholder="请输入小记内容" bname='note' model:value='{{note}}' />
</view>
<view class="mt20 pl40 pr40 font-28 text-center fn-flex" wx:if="{{statuskey==1}}">
<view class="fn-flex-item flexsize6 relative mr10 pt20 pb20 ulib-r10 overflowhidden {{baseinfo.wxgr==1?'opacity-80':''}} {{wxgr == 1?'bg-36afa2 color-fff':'bg-f6'}}" style="height:78rpx;box-sizing:border-box;" bindtap="{{baseinfo.wxgr==1?'':'checkPicker'}}" data-pointer="gewei">
<i class="absolute right-0 bottom-0 iconfont font-32 icon-xuanzhongjiaobiao" style="color:#56ffed;" wx:if="{{wxgr == 1}}"></i>
<text>已添加个微</text>
</view>
<view class="fn-flex-item flexsize5 relative ml10 mr10 pt20 pb20 ulib-r10 overflowhidden {{a_num == 1?'bg-36afa2 color-fff':'bg-f6'}}" style="height:78rpx;box-sizing:border-box;" bindtap="checkPicker" data-pointer="daodian">
<i class="absolute right-0 bottom-0 iconfont font-32 icon-xuanzhongjiaobiao" style="color:#56ffed;" wx:if="{{a_num == 1}}"></i>
<text>再次到店</text>
</view>
<view class="fn-flex-item flexsize5 relative ml10 pt20 pb20 ulib-r10 overflowhidden {{t_num == 1?'bg-36afa2 color-fff':'bg-f6'}}" style="height:78rpx;box-sizing:border-box;" bindtap="checkPicker" data-pointer="shijia">
<i class="absolute right-0 bottom-0 iconfont font-32 icon-xuanzhongjiaobiao" style="color:#56ffed;" wx:if="{{t_num == 1}}"></i>
<text>客户试驾</text>
</view>
</view>
<view class="mt20 text-center" wx:if="{{(statuskey==0||statuskey==1)&&wxgr==1}}">
<view class="inline-block img-250x150 relative ulib-r10 overflowhidden">
<block wx:if="{{wxgrimg_url}}">
<view class="inline-block bg-f8 img-250x150 relative ulib-r10 overflowhidden">
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-shuaxin inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-1" bindtap="chooseImg" data-type="gw_img"></i>
<image class='block wp100 img-250x150 ulib-r10' src='{{wxgrimg_url}}' mode='aspectFit' bindtap="previewImage" data-type="gw_img"></image>
<view class="mt20 pl25 pr25">
<view class="fn-flex">
<block wx:for='{{photos}}' wx:for-item='photos' wx:for-index="index" wx:key='photo'>
<view class="fn-flex-item ml15 mr15 relative">
<i class="absolute top-0 right-0 bg-ccc iconfont icon-shanchu inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-1" bindtap="delPic" data-index="{{index}}" ></i>
<image class='img-250x150 ulib-r10' src='{{photos.img_url}}' mode='aspectFill'></image>
</view>
</block>
<block wx:else>
<view class="inline-block bg-f8 img-250x150 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-type="gw_img">
<view class="absolute left-0 right-0 box-middle color-ccc">
<i class="iconfont icon-paizhao font-42"></i>
<view class="mt10 font-22">上传个微截图</view>
</view>
<block wx:if="{{photos.length==0}}">
<view class="fn-flex-item ml15 mr15 relative" bindtap="chooseImg">
<image class='img-250x150 ulib-r10' src='{{imgUrl}}common/add-pic.jpg' mode='aspectFill'></image>
</view>
<view class="fn-flex-item ml15 mr15 relative" bindtap="chooseImg">
<image class='img-250x150 ulib-r10' src='{{imgUrl}}common/add-pic.jpg' mode='aspectFill'></image>
</view>
</block>
<block wx:elif="{{photos.length==1}}">
<view class="fn-flex-item ml15 mr15 relative" bindtap="chooseImg">
<image class='img-250x150 ulib-r10' src='{{imgUrl}}common/add-pic.jpg' mode='aspectFill'></image>
</view>
</block>
</view>
</view>
<block wx:if="{{statuskey!=3}}">
<view class="mt15 pl40 pr40">
<textarea class="wp100 inner20 bds-2-eb font-28 ulib-r10" style="height:200rpx;" placeholder-class="color-ccc" placeholder="请输入小记内容" bname='note' model:value='{{note}}' />
</view>
<view class="mt20 pl25 pr25">
<view class="fn-flex">
<block wx:for='{{photos}}' wx:for-item='photos' wx:for-index="index" wx:key='photo'>
<view class="fn-flex-item ml15 mr15 relative">
<i class="absolute top-0 right-0 bg-ccc iconfont icon-shanchu inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-1" bindtap="delPic" data-index="{{index}}"></i>
<image class='img-250x150 ulib-r10' src='{{photos.img_url}}' mode='aspectFill'></image>
</view>
</block>
<block wx:if="{{photos.length==0}}">
<view class="fn-flex-item ml15 mr15 relative" bindtap="chooseImg" data-type="note_img">
<image class='img-250x150 ulib-r10' src='{{imgUrl}}common/add-pic.jpg' mode='aspectFill'></image>
</view>
<view class="fn-flex-item ml15 mr15 relative" bindtap="chooseImg" data-type="note_img">
<image class='img-250x150 ulib-r10' src='{{imgUrl}}common/add-pic.jpg' mode='aspectFill'></image>
</view>
</block>
<block wx:elif="{{photos.length==1}}">
<view class="fn-flex-item ml15 mr15 relative" bindtap="chooseImg" data-type="note_img">
<image class='img-250x150 ulib-r10' src='{{imgUrl}}common/add-pic.jpg' mode='aspectFill'></image>
</view>
</block>
</view>
</view>
</block>
<view class="pl40 pr40" wx:if="{{statuskey==3}}">
<view class="mt20 bds-2-eb inner20 font-28 color-666 ulib-r10">
<picker class="fn-clear" bindchange="changeDefeat" value="{{defeatIndex}}" range="{{defeatTitleList}}">
<view class="wp90 fn-fl text-nowrap color-ccc" wx:if="{{defeatIndex == -1}}">请选择</view>
<view class="wp90 fn-fl text-nowrap" wx:else>{{defeatTitleList[defeatIndex]}}</view>
<i class="fn-fr iconfont mt5 ml5 icon-gengduo color-ccc"></i>
</picker>
</view>
<block wx:if="{{defeatIndex > -1}}">
<view class="fn-clear" wx:if="{{defeatTag[defeatIndex].type=='radio'}}">
<block wx:for='{{defeatTag[defeatIndex].list}}' wx:for-item='option' wx:for-index='j' wx:key='j'>
<view class="inline-block space-nowrap mt20 mr20 pt15 pb15 pl30 pr30 font-22 ulib-r10 {{option.checked?'bg-36afa2 color-fff':'bg-f6 color-666'}}" bindtap="defeatRadioPicker" data-i="{{defeatIndex}}" data-j="{{j}}">
{{option.name}}
</view>
</block>
</view>
<view class="fn-clear" wx:if="{{defeatTag[defeatIndex].type=='checkbox'}}">
<block wx:for='{{defeatTag[defeatIndex].list}}' wx:for-item='option' wx:for-index='j' wx:key='j'>
<view class="inline-block space-nowrap mt20 mr20 pt15 pb15 pl30 pr30 font-22 ulib-r10 {{option.checked?'bg-36afa2 color-fff':'bg-f6 color-666'}}" bindtap="defeatCheckPicker" data-i="{{defeatIndex}}" data-j="{{j}}">
{{option.name}}
</view>
</block>
</view>
</block>
<!-- <block wx:for='{{defeatTag}}' wx:for-item='list' wx:for-index='i' wx:key='i'>
<view class="relative mt20">
<view class="font-28">
<text class="text-middle">{{list.name}}</text>
<text class="text-middle font-24" wx:if="{{list.type=='radio'}}">(单选)</text>
<text class="text-middle font-24" wx:if="{{list.type=='checkbox'}}">(多选)</text>
</view>
<view class="fn-clear" wx:if="{{list.type=='radio'}}">
<block wx:for='{{list.list}}' wx:for-item='option' wx:for-index='j' wx:key='j'>
<view class="inline-block space-nowrap mt20 mr20 pt15 pb15 pl30 pr30 font-22 ulib-r10 {{option.checked?'bg-36afa2 color-fff':'bg-f6 color-666'}}" bindtap="defeatRadioPicker" data-i="{{i}}" data-j="{{j}}">
{{option.name}}
</view>
</block>
</view>
<view class="fn-clear" wx:if="{{list.type=='checkbox'}}">
<block wx:for='{{list.list}}' wx:for-item='option' wx:for-index='j' wx:key='j'>
<view class="inline-block space-nowrap mt20 mr20 pt15 pb15 pl30 pr30 font-22 ulib-r10 {{option.checked?'bg-36afa2 color-fff':'bg-f6 color-666'}}" bindtap="defeatCheckPicker" data-i="{{i}}" data-j="{{j}}">
{{option.name}}
</view>
</block>
</view>
</view>
</block> -->
<view class="mt20">
<textarea class="wp100 inner20 bds-2-eb font-28 ulib-r10" style="height:200rpx;" placeholder-class="color-ccc" maxlength='100' placeholder="请填写战败理由" name='defeat_reason' model:value='{{defeat_reason}}' />
</view>
</view>
</scroll-view>
</block>
<view class="mt20 pl40 pr40" wx:if="{{statuskey==3}}">
<textarea class="wp100 inner20 bds-2-eb font-28 ulib-r10" style="height:200rpx;" placeholder-class="color-ccc" maxlength='100' placeholder="请填写战败理由" name='defeat_reason' model:value='{{defeat_reason}}' />
</view>
<view class="fn-flex mt20 pl60 pr60 pb50 text-center font-32 color-666">
<button bindtap="optShowNote" class="fn-flex-item mr20 bds-2-36afa2 btn-no-bg wp100 font-28 color-36afa2 ulib-r750">
取消
</button>
<button disabled="{{submitFlag}}" bindtap="putAppCustomers" class="fn-flex-item ml20 btn-36afa2 wp100 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover">
确定
</button>
<button bindtap="optShowNote" class="fn-flex-item mr20 bds-2-36afa2 btn-no-bg wp100 font-28 color-36afa2 ulib-r750">取消</button>
<button disabled="{{submitFlag}}" bindtap="putAppCustomers" class="fn-flex-item ml20 btn-36afa2 wp100 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover">确定</button>
</view>
</view>
</view>
</lcb-msg>
<lcb-msg isShow="{{isShowOrder}}">
<view slot="content">
<view class="mt50 font-36 text-center">查看订单</view>
<view slot="content">
<view class="mt50 font-36 text-center">查看订单</view>
<scroll-view class="pb50" scroll-y="true" style="max-height:600rpx;width:620rpx">
<view class="inner40">
<block wx:for='{{order}}' wx:key='index'>
@@ -491,54 +313,27 @@
</block>
</view>
</scroll-view>
<view class="fn-flex pl60 pr60 pb50 text-center font-32 color-666">
<button bindtap="optShowOrder" class="fn-flex-item mr20 bds-2-36afa2 btn-no-bg wp100 font-28 color-36afa2 ulib-r750" hover-class="btn-36afa2-hover">
返回
</button>
<button class="fn-flex-item ml20 btn-36afa2 wp100 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover" bindtap="pushLink" data-url="/pages/order/register/index?cus_id={{detailinfo.id}}&name={{detailinfo.name}}&mobile={{detailinfo.mobile}}&complete_mobile={{detailinfo.complete_mobile}}">
生成订单
</button>
<view class="fn-flex pl60 pr60 pb50 text-center font-32 color-666" wx:if="{{detailinfo.generate_order}}">
<button bindtap="optShowOrder" class="fn-flex-item mr20 bds-2-36afa2 btn-no-bg wp100 font-28 color-36afa2 ulib-r750" hover-class="btn-36afa2-hover">返回</button>
<button class="fn-flex-item ml20 btn-36afa2 wp100 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover" bindtap="pushLink" data-url="/pages/order/register/index?cus_id={{detailinfo.id}}&name={{detailinfo.name}}&mobile={{detailinfo.mobile}}">生成订单</button>
</view>
<!-- <view class="pl60 pr60 pb50 text-center font-32 color-666" wx:else>
<button bindtap="optShowOrder" class="bds-2-36afa2 btn-no-bg wp45 font-28 color-36afa2 ulib-r750" hover-class="btn-36afa2-hover">
返回
</button>
</view> -->
</view>
<view class="pl60 pr60 pb50 text-center font-32 color-666" wx:else>
<button bindtap="optShowOrder" class="bds-2-36afa2 btn-no-bg wp45 font-28 color-36afa2 ulib-r750" hover-class="btn-36afa2-hover">返回</button>
</view>
</view>
</lcb-msg>
<lcb-msg isShow="{{isShowComment}}">
<view slot="content">
<view class="inner40">
<view slot="content">
<view class="inner40">
<view class="font-36 text-center">小记评论</view>
<view class="mt20">
<textarea class="wp100 inner20 bds-2-eb font-28 ulib-r10" style="height:170rpx;" placeholder-class="color-ccc" maxlength='100' placeholder="请输入评论内容" model:value='{{comment}}' />
</view>
</view>
<view class="fn-flex pl60 pr60 pb50 text-center font-32 color-666">
<button bindtap="optShowComment" class="fn-flex-item mr20 bds-2-36afa2 btn-no-bg wp100 font-28 color-36afa2 ulib-r750">
取消
</button>
<button disabled="{{submitFlag}}" bindtap="postAppCustomersComments" class="fn-flex-item ml20 btn-36afa2 wp100 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover">
确定
</button>
<button bindtap="optShowComment" class="fn-flex-item mr20 bds-2-36afa2 btn-no-bg wp100 font-28 color-36afa2 ulib-r750">取消</button>
<button disabled="{{submitFlag}}" bindtap="postAppCustomersComments" 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="{{isShowCall}}">
<view slot="content">
<view class="pt50 pb40">
<view class="font-36 text-center">号码绑定成功</view>
<view class="mt10 font-28 text-center color-666">现在呼叫 {{phoneNumber}} </view>
</view>
<view class="fn-flex pl60 pr60 pb50 text-center font-32 color-666">
<button bindtap="hideCall" class="fn-flex-item mr20 bds-2-36afa2 btn-no-bg wp100 font-28 color-36afa2 ulib-r750">
取消
</button>
<button bindtap="makePhoneCall" class="fn-flex-item ml20 btn-36afa2 wp100 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover">
确定
</button>
</view>
</view>
</view>
</lcb-msg>
+4 -89
View File
@@ -25,9 +25,6 @@ Page({
city_id:'',
countyIndex:-1,
county_id:'',
wxgr:0,//是否添加个微
wxgrimg:'',//个微
wxgrimg_url:'',//个微
},
//生命周期函数--监听页面加载
onLoad: function (options) {
@@ -51,9 +48,6 @@ Page({
mobile:res.data.baseinfo.mobile.value?res.data.baseinfo.mobile.value:'',
of_id:res.data.baseinfo.of_id.of_id?res.data.baseinfo.of_id.of_id:'',
of2_id:res.data.baseinfo.of_id.of2_id?res.data.baseinfo.of_id.of2_id:'',
wxgr:res.data.baseinfo.wxgr,
wxgrimg:res.data.baseinfo.wxgrimg,
wxgrimg_url:res.data.baseinfo.wxgrimg_url,
})
//编辑基础信息使用
@@ -343,7 +337,7 @@ Page({
title: '请输入客户姓名',
icon: 'none'
})
} else if (that.data.mobile != that.data.baseinfo.mobile.value&&!/^1[3456789]\d{9}$/.test(that.data.mobile)){
} else if (that.data.mobile == '' ){
wx.showToast({
title: '请输入正确的手机号码',
icon: 'none'
@@ -351,7 +345,7 @@ Page({
}
else if (that.data.sources.length>0&&that.data.of_id == '' ) {
wx.showToast({
title: '请选择客户来源',
title: '请选择线索来源',
icon: 'none'
})
}
@@ -373,12 +367,6 @@ Page({
icon: 'none'
})
}
else if(this.data.wxgr==1&&this.data.wxgrimg==''){
wx.showToast({
title: '请上传个微截图',
icon: 'none'
})
}
// else if(that.data.car_id == '' ){
// wx.showToast({
// title: '请选择车系车型',
@@ -432,10 +420,6 @@ Page({
// if(that.data.color_id != that.data.baseinfo.color_id.value){
// params['color_id'] = that.data.color_id;
// }
params['wxgr'] = this.data.wxgr;
if(this.data.wxgr==1){
params['wxgrimg'] = this.data.wxgrimg;
}
_.apiQuery.putAppCustomerData(params).then(res => {
//刷新列表页
@@ -485,7 +469,7 @@ Page({
}
},
//客户来源
//线索来源
getAppCustomersOffline_sources(){
_.apiQuery.getAppCustomersOffline_sources().then(res => {
let of1Arr = []
@@ -522,7 +506,7 @@ Page({
});
},
//客户来源
//线索来源
changeOf1(e) {
if(this.data.of1Index!=e.detail.value){
let of2Arr = []
@@ -647,73 +631,4 @@ Page({
}
},
//是否添加个微
switchWxgr:function(e){
this.setData({
wxgr:e.detail.value ? 1 :0
})
},
//选择图片
chooseImg(e) {
let that = this
//上传个微截图
if(e.currentTarget.dataset.type=='gw_img'){
wx.chooseImage({
count: 1, // 默认9
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success(res) {
wx.showLoading({
title: '上传中',
})
wx.uploadFile({
url:_.config.api.upImg,
filePath:res.tempFilePaths[0],
name: 'img',
formData: {
'app': 'liche'
},
success: (resp) => {
resp.data = JSON.parse(resp.data);
if (resp.data.code == 200) {
wx.hideLoading();
that.setData({
wxgrimg:resp.data.data.url,
wxgrimg_url:resp.data.data.full_url,
})
}else{
wx.hideLoading();
wx.showToast({
title: '上传失败',
icon: 'none',
duration: 2000
})
}
},
})
},
fail: res => {
wx.showToast({
title: '文件选择失败',
icon: 'none',
duration: 2000
})
}
})
}
},
//查看图片
previewImage(e){
if(e.currentTarget.dataset.type=='gw_img'){
wx.previewImage({
current:this.data.wxgrimg_url,
urls:[this.data.wxgrimg_url],
})
}
},
})
+9 -37
View File
@@ -55,7 +55,7 @@
</view> -->
<block wx:if="{{sources.length>0}}">
<view class="relative bbs-1-eb last-b-none pl140 font-28">
<view class="absolute left-0 box-middle">客户来源</view>
<view class="absolute left-0 box-middle">线索来源</view>
<view class="pt30 pb30 text-right font-28 color-666">
<picker bindchange="changeOf1" value="{{of1Index}}" range="{{of1Arr}}">
<text class="color-ccc" wx:if="{{of1Index == -1}}">请选择</text>
@@ -85,7 +85,7 @@
</picker>
</view>
</view>
<view class="relative bbs-1-eb last-b-none pl140 font-28" wx:if="{{city_id}}">
<view class="relative bbs-1-eb last-b-none pl140 font-28">
<view class="absolute left-0 box-middle">所在地区</view>
<view class="pt30 pb30 text-right font-28 color-666">
<picker bindchange="changeCounty" value="{{countyIndex}}" range="{{countyArr}}">
@@ -95,34 +95,9 @@
</picker>
</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 class="{{baseinfo.wxgr==1?'opacity-50':''}}" checked="{{wxgr==1}}" bindchange="switchWxgr" type="switch" color='#36afa2' disabled='{{baseinfo.wxgr==1}}' style="zoom:0.8" />
</view>
</view>
<view class="mt30 text-center" wx:if="{{wxgr==1}}">
<view class="inline-block img-250x150 relative ulib-r10 overflowhidden">
<block wx:if="{{wxgrimg_url}}">
<view class="inline-block bg-f8 img-250x150 relative ulib-r10 overflowhidden">
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-shuaxin inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-1" bindtap="chooseImg" data-type="gw_img"></i>
<image class='block wp100 img-250x150 ulib-r10' src='{{wxgrimg_url}}' mode='aspectFit' bindtap="previewImage" data-type="gw_img"></image>
</view>
</block>
<block wx:else>
<view class="inline-block bg-f8 img-250x150 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-type="gw_img">
<view class="absolute left-0 right-0 box-middle color-ccc">
<i class="iconfont icon-paizhao font-42"></i>
<view class="mt10 font-22">上传个微截图</view>
</view>
</view>
</block>
</view>
</view>
<block wx:for='{{taglList}}' wx:for-item='list' wx:for-index='i' wx:key='i'>
<view class="relative mt30">
<view class="relative mt40">
<view class="font-28">
<text class="text-middle">{{list.name}}</text>
<text class="text-middle font-24" wx:if="{{list.type=='radio'}}">(单选)</text>
@@ -130,26 +105,23 @@
</view>
<view class="fn-clear" wx:if="{{list.type=='radio'}}">
<block wx:for='{{list.list}}' wx:for-item='option' wx:for-index='j' wx:key='j'>
<view class="inline-block space-nowrap mt20 mr20 pt15 pb15 pl30 pr30 font-22 ulib-r10 {{option.checked?'bg-36afa2 color-fff':'bg-f6 color-666'}}" bindtap="radioPicker" data-i="{{i}}" data-j="{{j}}">
{{option.name}}
</view>
<view class="inline-block space-nowrap mt20 mr20 pt15 pb15 pl30 pr30 font-22 ulib-r10 {{option.checked?'bg-36afa2 color-fff':'bg-f6 color-666'}}" bindtap="radioPicker" data-i="{{i}}" data-j="{{j}}">{{option.name}}</view>
</block>
</view>
<view class="fn-clear" wx:if="{{list.type=='checkbox'}}">
<block wx:for='{{list.list}}' wx:for-item='option' wx:for-index='j' wx:key='j'>
<view class="inline-block space-nowrap mt20 mr20 pt15 pb15 pl30 pr30 font-22 ulib-r10 {{option.checked?'bg-36afa2 color-fff':'bg-f6 color-666'}}" bindtap="checkPicker" data-i="{{i}}" data-j="{{j}}">
{{option.name}}
</view>
<view class="inline-block space-nowrap mt20 mr20 pt15 pb15 pl30 pr30 font-22 ulib-r10 {{option.checked?'bg-36afa2 color-fff':'bg-f6 color-666'}}" bindtap="checkPicker" data-i="{{i}}" data-j="{{j}}">{{option.name}}</view>
</block>
</view>
</view>
</block>
</view>
<view class="mt60 pl60 pr60">
<button class="wp100 btn-36afa2 pt10 pb10 text-center font-32 color-fff ulib-r750" hover-class="btn-36afa2-hover" disabled="{{submitFlag}}" bindtap="putAppCustomerData">
确认
</button>
<button class="wp100 btn-36afa2 pt10 pb10 text-center font-32 color-fff ulib-r750" hover-class="btn-36afa2-hover" disabled="{{submitFlag}}" bindtap="putAppCustomerData">确认</button>
</view>
</view>
</view>
<lcb-footer></lcb-footer>
+5 -24
View File
@@ -39,9 +39,6 @@ Page({
distBiz_id:'',
bizArray: [],
bizobj: [],
isShowCall:false,//是否显示拨打电话确认弹框
phoneNumber:'',//拨打的电话号码
},
onLoad(options) {
for (let key in options) {
@@ -50,7 +47,7 @@ Page({
})
}
//顶部tab
//回访待跟进tab
this.getAppCustomersVisit_tabs()
//销售顾问
@@ -186,9 +183,8 @@ Page({
params['id'] = e.currentTarget.dataset.id;
params['type'] = 0;
_.apiQuery.getAppXz(params).then(res=>{
this.setData({
isShowCall:true,
phoneNumber:res.data.mobile,
wx.makePhoneCall({
phoneNumber: res.data.mobile,
})
})
},
@@ -406,7 +402,7 @@ Page({
})
}
if((cn-cDay)>29){//相差15天以上不用特意补下个月
if((cn-cDay)>14){//相差15天以上不用特意补下个月
let lweek = new Date(cYear,cMonth-1,cn).getDay();//本月最后天星期几
let sbu = 6 - lweek //最后一周补齐
for(let i=1;i<=sbu;i++){
@@ -419,7 +415,7 @@ Page({
})
}
}else{
let zbu = 30 - (cn-cDay) //至少要补多少天
let zbu = 15 - (cn-cDay) //至少要补多少天
let bweek = ''//至少要补的最后一天星期几
if(cMonth==12){
bweek = new Date(cYear+1,1,zbu).getDay()
@@ -460,8 +456,6 @@ Page({
kd = 7
}else if(this.data.optLevel=='B'){
kd = 15
}else if(this.data.optLevel=='C'){
kd = 30
}
let cindex = ''
let dateList = this.data.dateList
@@ -529,19 +523,6 @@ Page({
})
},
//隐藏电话弹框
hideCall(){
this.setData({
isShowCall:false,
})
},
//拨打电话
makePhoneCall(){
wx.makePhoneCall({
phoneNumber: this.data.phoneNumber,
})
},
//页面相关事件处理函数--监听用户下拉动作
onPullDownRefresh(){
+3 -44
View File
@@ -23,7 +23,7 @@
<view class="mt10 pl30 pr30">
<block wx:for='{{list}}' wx:key='index'>
<view wx:if="{{item.complete_mobile}}" 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="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">
<text class="pl10 pr10" wx:if="{{item.tip}}">{{item.tip}}</text>
<text class="pl10 pr10 {{item.defeat?'bls-1-eb':''}}" wx:if="{{item.defeat}}">{{item.defeat}}</text>
@@ -68,30 +68,7 @@
<view wx:else class="fn-fr wp60 text-nowrap text-right color-666">{{value}}</view>
</view>
</block>
</view>
<view wx:elif="{{item.nickname}}" class="inner40 relative ulib-r10 box-shadow-000-10-10 mb30 overflowhidden">
<view class="absolute top-0 left-0 ml40 bg-36afa2 font-22 color-fff">
<text class="pl10 pr10" wx:if="{{item.tip}}">{{item.tip}}</text>
<text class="pl10 pr10 {{item.defeat?'bls-1-eb':''}}" wx:if="{{item.defeat}}">{{item.defeat}}</text>
<text class="pl10 pr10 {{item.orders_pay?'bls-1-eb':''}}" wx:if="{{item.orders_pay}}">{{item.orders_pay}}</text>
</view>
<view class="text-nowrap">
<image class='img-50x50 bds-1-eb ulib-r750 text-middle' lazy-load="{{true}}" mode="scaleToFill" src="{{item.avatar}}"></image>
<text class="pl10 text-middle font-26">{{item.nickname}}</text>
</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>
<lcb-listmore isLoading='{{loading}}' isEnd='{{end}}' isNoData='{{noData}}'></lcb-listmore>
@@ -188,22 +165,4 @@
</view>
</view>
</view>
</page-container>
<!-- 拨打电话 -->
<lcb-msg isShow="{{isShowCall}}">
<view slot="content">
<view class="pt50 pb40">
<view class="font-36 text-center">号码绑定成功</view>
<view class="mt10 font-28 text-center color-666">现在呼叫 {{phoneNumber}} </view>
</view>
<view class="fn-flex pl60 pr60 pb50 text-center font-32 color-666">
<button bindtap="hideCall" class="fn-flex-item mr20 bds-2-36afa2 btn-no-bg wp100 font-28 color-36afa2 ulib-r750">
取消
</button>
<button bindtap="makePhoneCall" class="fn-flex-item ml20 btn-36afa2 wp100 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover">
确定
</button>
</view>
</view>
</lcb-msg>
</page-container>
+11 -208
View File
@@ -87,15 +87,6 @@ Page({
distBiz_id:'',
bizArray: [],
bizobj: [],
tag_ids:'',
cityIndex:-1,
city_id:'',
countyIndex:-1,
county_id:'',
isShowCall:false,//是否显示拨打电话确认弹框
phoneNumber:'',//拨打的电话号码
},
onLoad(options) {
for (let key in options) {
@@ -116,16 +107,11 @@ Page({
//this.getAppSeriesBrands()
//销售顾问
this.getAppUserAdmins()
//客户来源
//线索来源
this.getAppCustomersOffline_sources()
this.getTimePicker()
this.getAppCustomersTag()
//获取城市列表
this.getAppCityArea_city()
},
onShow(){
@@ -242,21 +228,9 @@ Page({
load: false,
loading: true,
})
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
}
}
})
let params = {};
params['page'] = this.data.pageNo;
params['size'] = 3;
params['size'] = 10;
params['status'] = this.data.key;
if(this.data.cus_id != ''){
params['cus_id'] = this.data.cus_id;
@@ -298,20 +272,8 @@ Page({
if(this.data.of2_id != ''){
params['of2_id'] = this.data.of2_id;
}
if(admin_ids!=''){
params['admin_ids'] = admin_ids;
}
if(this.data.tag_ids!=''){
params['tag_ids'] = this.data.tag_ids;
}
// if(this.data.staffIndex>-1){
// params['admin_id'] = this.data.staffobj[this.data.staffIndex].id;
// }
if(this.data.city_id!=''){
params['city_id'] = this.data.city_id;
}
if(this.data.county_id!=''){
params['county_id'] = this.data.county_id;
if(this.data.staffIndex>-1){
params['admin_id'] = this.data.staffobj[this.data.staffIndex].id;
}
if(this.data.s_visit_time != ''&&this.data.e_visit_time != ''){
params['s_visit_time'] = this.data.s_visit_time;
@@ -395,9 +357,8 @@ Page({
params['id'] = e.currentTarget.dataset.id;
params['type'] = 0;
_.apiQuery.getAppXz(params).then(res=>{
this.setData({
isShowCall:true,
phoneNumber:res.data.mobile,
wx.makePhoneCall({
phoneNumber: res.data.mobile,
})
})
},
@@ -544,7 +505,7 @@ Page({
})
},
//显示隐藏高级搜索
//显示高级搜索
optfilter(){
this.setData({
isShowfilter: !this.data.isShowfilter
@@ -552,13 +513,6 @@ Page({
this.resetFilter()
},
//显示高级搜索
showfilter(){
this.setData({
isShowfilter:true,
})
},
//确定高级搜索
submitFilter() {
this.setData({
@@ -569,13 +523,7 @@ Page({
//重置高级搜索
resetFilter() {
let staffobj = this.data.staffobj
staffobj.forEach(item => {
item.checked = false
})
this.setData({
staffobj,
cus_id:'',//编号
name:'',//名字
mobile:'',//手机号
@@ -599,13 +547,7 @@ Page({
modelIndex:-1,
cfromIndex:-1,
staffIndex:-1,
tag_ids:'',
cityIndex:-1,
city_id:'',
countyIndex:-1,
county_id:'',
})
this.getAppCustomersTag()
},
//显示短信弹框
@@ -668,7 +610,7 @@ Page({
}
},
//客户来源
//线索来源
getAppCustomersOffline_sources(){
_.apiQuery.getAppCustomersOffline_sources().then(res => {
let of1Arr = []
@@ -682,7 +624,7 @@ Page({
});
},
//客户来源
//线索来源
changeOf1(e) {
if(this.data.of1Index!=e.detail.value){
let of2Arr = []
@@ -836,7 +778,7 @@ Page({
})
}
if((cn-cDay)>29){//相差15天以上不用特意补下个月
if((cn-cDay)>14){//相差15天以上不用特意补下个月
let lweek = new Date(cYear,cMonth-1,cn).getDay();//本月最后天星期几
let sbu = 6 - lweek //最后一周补齐
for(let i=1;i<=sbu;i++){
@@ -849,7 +791,7 @@ Page({
})
}
}else{
let zbu = 30 - (cn-cDay) //至少要补多少天
let zbu = 15 - (cn-cDay) //至少要补多少天
let bweek = ''//至少要补的最后一天星期几
if(cMonth==12){
bweek = new Date(cYear+1,1,zbu).getDay()
@@ -890,8 +832,6 @@ Page({
kd = 7
}else if(this.data.optLevel=='B'){
kd = 15
}else if(this.data.optLevel=='C'){
kd = 30
}
let cindex = ''
let dateList = this.data.dateList
@@ -945,143 +885,6 @@ Page({
})
},
//多选
checkPicker(e){
this.setData({
['staffobj['+e.currentTarget.dataset.index+'].checked']:!this.data.staffobj[e.currentTarget.dataset.index].checked,
})
},
//客户标签
getAppCustomersTag(){
_.apiQuery.getAppCustomersTag().then(res => {
this.setData({
taglList:res.data.tags&&res.data.tags.length>0?res.data.tags:[],
})
});
},
//单选
tagRadioPicker(e){
let taglList = this.data.taglList
taglList[e.currentTarget.dataset.i].list.forEach(item => {
item.checked=false
})
taglList[e.currentTarget.dataset.i].list[e.currentTarget.dataset.j].checked=true
this.setData({
taglList,
})
this.tagforEach()
},
//多选
tagCheckPicker(e){
this.setData({
['taglList['+e.currentTarget.dataset.i+'].list['+e.currentTarget.dataset.j+'].checked']:!this.data.taglList[e.currentTarget.dataset.i].list[e.currentTarget.dataset.j].checked,
})
this.tagforEach()
},
//tag遍历
tagforEach(){
let taglList = this.data.taglList
let tag_ids = ''
taglList.forEach(itemA => {
itemA.list.forEach(itemB => {
if(itemB.checked){
itemA.have=true
if(tag_ids==''){
tag_ids=itemB.id
}else{
tag_ids=tag_ids+','+itemB.id
}
}
})
})
this.setData({
tag_ids,
taglList,
})
},
//获取城市
getAppCityArea_city(){
let params = {};
params['type'] = 'city';
_.apiQuery.getAppCityArea(params).then(res => {
let cityArr = []
let cityIndex = -1
res.data.list.forEach((item,index) => {
cityArr.push(item.name)
// if(this.data.city_id == item.id){
// cityIndex = index
// }
})
this.setData({
cityIndex,
cityArr,
city:res.data.list
})
});
},
//获取行政区
getAppCityArea_county(){
let params = {};
params['pid'] = this.data.city_id;
params['type'] = 'county';
_.apiQuery.getAppCityArea(params).then(res => {
let countyArr = []
let countyIndex = -1
res.data.list.forEach((item,index) => {
countyArr.push(item.name)
if(this.data.county_id == item.id){
countyIndex = index
}
})
this.setData({
countyIndex,
countyArr,
county:res.data.list
})
});
},
//选择城市
changeCity(e) {
if(this.data.cityIndex!=e.detail.value){
this.setData({
cityIndex:e.detail.value,
city_id:this.data.city[e.detail.value].id,
})
this.getAppCityArea_county()
}
},
//选择地区
changeCounty(e) {
if(this.data.countyIndex!=e.detail.value){
this.setData({
countyIndex:e.detail.value,
county_id:this.data.county[e.detail.value].id,
})
}
},
//隐藏电话弹框
hideCall(){
this.setData({
isShowCall:false,
})
},
//拨打电话
makePhoneCall(){
wx.makePhoneCall({
phoneNumber: this.data.phoneNumber,
})
},
//页面相关事件处理函数--监听用户下拉动作
onPullDownRefresh(){
this.setData({
+6 -89
View File
@@ -30,7 +30,7 @@
</picker>
</view>
<view class="fn-fr {{key<2?'pr180':'pr40'}} relative">
<text bindtap="showfilter" class="inner5 iconfont icon-gaojisousuo ml10"></text>
<text bindtap="optfilter" 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>
@@ -39,12 +39,6 @@
<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>
<view class="inline-block text-middle bg-f6 color-666 mb15 ml5 mr5 pt5 pb5 pl20 pr20 ulib-r10 font-22" wx:if="{{mobile}}">{{mobile}}</view>
<block wx:for="{{city}}" wx:key='index'>
<view class="inline-block text-middle bg-f6 color-666 mb15 ml5 mr5 pt5 pb5 pl20 pr20 ulib-r10 font-22" wx:if="{{item.id==city_id}}">{{item.name}}</view>
</block>
<block wx:for="{{county}}" wx:key='index'>
<view class="inline-block text-middle bg-f6 color-666 mb15 ml5 mr5 pt5 pb5 pl20 pr20 ulib-r10 font-22" wx:if="{{item.id==county_id}}">{{item.name}}</view>
</block>
<block wx:if="{{s_time&&e_time}}">
<view class="inline-block text-middle bg-f6 color-666 mb15 ml5 mr5 pt5 pb5 pl20 pr20 ulib-r10 font-22">{{s_time}}</view>
<view class="inline-block text-middle bg-f6 color-666 mb15 ml5 mr5 pt5 pb5 pl20 pr20 ulib-r10 font-22">{{e_time}}</view>
@@ -54,14 +48,6 @@
<view class="inline-block text-middle bg-f6 color-666 mb15 ml5 mr5 pt5 pb5 pl20 pr20 ulib-r10 font-22" wx:if="{{of1Index>-1}}">{{of1Arr[of1Index]}}</view>
<view class="inline-block text-middle bg-f6 color-666 mb15 ml5 mr5 pt5 pb5 pl20 pr20 ulib-r10 font-22" wx:if="{{of2Index>-1}}">{{of2Arr[of2Index]}}</view>
<view class="inline-block text-middle bg-f6 color-666 mb15 ml5 mr5 pt5 pb5 pl20 pr20 ulib-r10 font-22" wx:if="{{staffIndex>-1}}">{{staffArray[staffIndex]}}</view>
<block wx:for="{{staffobj}}" wx:key='index'>
<view class="inline-block text-middle bg-f6 color-666 mb15 ml5 mr5 pt5 pb5 pl20 pr20 ulib-r10 font-22" wx:if="{{item.checked}}">{{item.uname}}</view>
</block>
<block wx:for='{{taglList}}' wx:for-item='list' wx:for-index='i' wx:key='i'>
<block wx:if="{{list.have}}" wx:for='{{list.list}}' wx:for-item='option' wx:for-index='j' wx:key='j'>
<view class="inline-block text-middle bg-f6 color-666 mb15 ml5 mr5 pt5 pb5 pl20 pr20 ulib-r10 font-22" wx:if="{{option.checked}}">{{option.name}}</view>
</block>
</block>
</view>
<view class="mt10 pl30 pr30">
@@ -155,26 +141,6 @@
<input class="wp100 height-90 text-right font-28" placeholder-class="color-ccc" type="number" placeholder="请输入客户手机号" bindinput='inputTx' data-key="mobile" name='mobile' value='{{mobile}}' />
</view>
</view>
<view class="relative bbs-1-eb last-b-none pl140 font-28">
<view class="absolute left-0 box-middle">所在城市</view>
<view class="pt30 pb30 text-right font-28 color-666">
<picker bindchange="changeCity" value="{{cityIndex}}" range="{{cityArr}}">
<text class="color-ccc" wx:if="{{cityIndex == -1}}">请选择</text>
<text wx:else>{{cityArr[cityIndex]}}</text>
<i class="iconfont ml5 icon-gengduo"></i>
</picker>
</view>
</view>
<view class="relative bbs-1-eb last-b-none pl140 font-28" wx:if="{{city_id}}">
<view class="absolute left-0 box-middle">所在地区</view>
<view class="pt30 pb30 text-right font-28 color-666">
<picker bindchange="changeCounty" value="{{countyIndex}}" range="{{countyArr}}">
<text class="color-ccc" wx:if="{{countyIndex == -1}}">请选择</text>
<text wx:else>{{countyArr[countyIndex]}}</text>
<i class="iconfont ml5 icon-gengduo"></i>
</picker>
</view>
</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="pt25 pb25 text-right font-28 color-666">
@@ -199,7 +165,7 @@
<view class="font-22">跟进时间</view>
<view class="fn-clear">
<block wx:for="{{timeSlot}}" wx:key='index'>
<view class="inline-block space-nowrap mt20 mr20 pt15 pb15 pl30 pr30 font-22 ulib-r10 {{timeSlotIndex == index?'bg-333 color-fff':'bg-f8'}}" bindtap="radioPicker" data-type="timeSlot" data-index="{{index}}">
<view class="inline-block radio-btn mt20 mr15 pt15 pb15 pl20 pr20 ulib-r10 font-28 {{timeSlotIndex == index?'bg-333 color-fff':'bg-f8'}}" bindtap="radioPicker" data-type="timeSlot" data-index="{{index}}">
{{item.title}}
</view>
</block>
@@ -277,7 +243,7 @@
</picker>
</view>
</view> -->
<!-- <view class="relative bbs-1-eb last-b-none pl140 font-28" wx:if="{{staffArray.length>0&&userInfo.group_id>1}}">
<view class="relative bbs-1-eb last-b-none pl140 font-28" wx:if="{{staffArray.length>0&&userInfo.group_id>1}}">
<view class="absolute left-0 box-middle">销售顾问</view>
<view class="pt25 pb25 text-right font-28 color-666">
<picker bindchange="changeStaff" value="{{staffIndex}}" range="{{staffArray}}">
@@ -286,42 +252,11 @@
<i class="iconfont ml5 icon-gengduo"></i>
</picker>
</view>
</view> -->
<view class="relative bbs-1-eb pt25 pb25 last-b-none">
<view class="font-22">销售顾问</view>
<view class="fn-clear">
<block wx:for="{{staffobj}}" wx:key='index'>
<view class="inline-block space-nowrap mt20 mr20 pt15 pb15 pl30 pr30 font-22 ulib-r10 {{item.checked?'bg-333 color-fff':'bg-f8'}}" bindtap="checkPicker" data-index="{{index}}">
{{item.uname}}
</view>
</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">
<text class="text-middle">{{list.name}}</text>
<text class="text-middle font-24" wx:if="{{list.type=='radio'}}">(单选)</text>
<text class="text-middle font-24" wx:if="{{list.type=='checkbox'}}">(多选)</text>
</view>
<view class="fn-clear" wx:if="{{list.type=='radio'}}">
<block wx:for='{{list.list}}' wx:for-item='option' wx:for-index='j' wx:key='j'>
<view class="inline-block space-nowrap mt20 mr20 pt15 pb15 pl30 pr30 font-22 ulib-r10 {{option.checked?'bg-333 color-fff':'bg-f8 color-666'}}" bindtap="tagRadioPicker" data-i="{{i}}" data-j="{{j}}">{{option.name}}</view>
</block>
</view>
<view class="fn-clear" wx:if="{{list.type=='checkbox'}}">
<block wx:for='{{list.list}}' wx:for-item='option' wx:for-index='j' wx:key='j'>
<view class="inline-block space-nowrap mt20 mr20 pt15 pb15 pl30 pr30 font-22 ulib-r10 {{option.checked?'bg-333 color-fff':'bg-f8 color-666'}}" bindtap="tagCheckPicker" data-i="{{i}}" data-j="{{j}}">{{option.name}}</view>
</block>
</view>
</view>
</block>
</view>
<view class="pt50 pb100"></view>
</scroll-view>
<view class="absolute left-0 bottom-0 right-0 fn-flex pt20 pb200 pl60 pr60 bg-fff-op90 text-center">
<view class="absolute left-0 bottom-0 right-0 fn-flex mb180 pt20 pb20 pl60 pr60 bg-fff-op90 text-center">
<view class="fn-flex-item mr20 pt15 pb15 bds-2-36afa2 font-32 color-36afa2 ulib-r750" bindtap="resetFilter">重置</view>
<view class="fn-flex-item ml20 pt15 pb15 bg-36afa2 font-32 color-fff ulib-r750" bindtap="submitFilter">确定</view>
</view>
@@ -339,7 +274,7 @@
<lcb-changeMobile isShow="{{isShowMobile}}"></lcb-changeMobile>
<lcb-msg isShow="{{isShowEmployees}}" isCustomTabBar="{{true}}">
<lcb-msg isShow="{{isShowEmployees}}">
<view slot="content">
<view class="inner30">
<view class="mt10 font-28 text-center fn-flex" wx:if="{{distributetabs.length > 0}}">
@@ -414,22 +349,4 @@
</view>
</view>
</view>
</page-container>
<!-- 拨打电话 -->
<lcb-msg isShow="{{isShowCall}}" 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">现在呼叫 {{phoneNumber}} </view>
</view>
<view class="fn-flex pl60 pr60 pb50 text-center font-32 color-666">
<button bindtap="hideCall" class="fn-flex-item mr20 bds-2-36afa2 btn-no-bg wp100 font-28 color-36afa2 ulib-r750">
取消
</button>
<button bindtap="makePhoneCall" class="fn-flex-item ml20 btn-36afa2 wp100 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover">
确定
</button>
</view>
</view>
</lcb-msg>
</page-container>
-754
View File
@@ -1,754 +0,0 @@
import _ from '../../../commons/js/commons';
import popularData from '../../../commons/js/lib/popularData';
import * as echarts from '../../../ecCanvas/components/ec-canvas/echarts';
const app = getApp()
let BarChartData;
let Pie1ChartData;
let Pie2ChartData;
let Pie3ChartData;
function BarChart(canvas, width, height, dpr) {
const chart = echarts.init(canvas, null, {
width: width,
height: height,
devicePixelRatio: dpr // new
});
canvas.setChart(chart);
let option = BarChartData
chart.setOption(option);
chart.on('click',function(e){
console.log(e)
});
return chart;
}
function Pie1Chart(canvas, width, height, dpr) {
const chart = echarts.init(canvas, null, {
width: width,
height: height,
devicePixelRatio: dpr // new
});
canvas.setChart(chart);
let option = Pie1ChartData
chart.setOption(option);
chart.on('click',function(e){
console.log(e)
});
return chart;
}
function Pie2Chart(canvas, width, height, dpr) {
const chart = echarts.init(canvas, null, {
width: width,
height: height,
devicePixelRatio: dpr // new
});
canvas.setChart(chart);
let option = Pie2ChartData
chart.setOption(option);
chart.on('click',function(e){
//_.eventBus.emit("pinpai",e.name)
});
return chart;
}
function Pie3Chart(canvas, width, height, dpr) {
const chart = echarts.init(canvas, null, {
width: width,
height: height,
devicePixelRatio: dpr // new
});
canvas.setChart(chart);
let option = Pie3ChartData
chart.setOption(option);
chart.on('click',function(e){
//_.eventBus.emit("pinpai",e.name)
});
return chart;
}
Page({
data: {
imgUrl: _.config.imgUrl,//静态图片路径
showPie1Chart:false,//是否显示Pie1图表
ecPie1:{},
showPie2Chart:false,//是否显示Pie2图表
ecPie2:{},
showPie3Chart:false,//是否显示Pie3图表
ecPie3:{},
showBarChart:false,//是否显示Bar图表
ecBar:{},
Pie1title:'',
Pie2title:'',
Pie3title:'',
Bartitle:'',
},
onLoad: function (options) {
for (let key in options) {
this.setData({
[key]: options[key]
})
}
this.getAppCity()
},
//获取系统配置城市
getAppCity(){
_.apiQuery.getAppCity().then(res => {
this.setData({
city_id:this.data.city_id?this.data.city_id:res.data.default,
})
let cityArray = []
res.data.list.forEach((item,index) => {
cityArray.push(item.name)
if(item.city_id==this.data.city_id){
this.setData({
cityIndex:index,
})
}
})
this.setData({
cityArray:cityArray,
cityList:res.data.list,
})
this.getAppStatisticsStats_customer()
});
},
//选择日期
changeDate(e){
if(e.currentTarget.dataset.type=="s_date"){
let begin = new Date(e.detail.value).getTime();
let end = new Date(this.data.e_date).getTime();
let day = 0
if(end>=begin){
day = (end - begin)/(24*60*60*1000);
this.setData({
s_date: e.detail.value,
})
}
else{
day = (begin - end)/(24*60*60*1000);
let s_date = this.data.e_date
let e_date = e.detail.value
this.setData({
s_date,
e_date,
})
}
if (day > 365) {
wx.showToast({
title: '请选择一年时间内',
icon: 'none'
})
}
else{
this.getAppStatisticsStats_customer()
}
}
if(e.currentTarget.dataset.type=="e_date"){
let begin = new Date(this.data.s_date).getTime();
let end = new Date(e.detail.value).getTime();
let day = 0
if(end>=begin){
day = (end - begin)/(24*60*60*1000);
this.setData({
e_date: e.detail.value,
})
}
else{
day = (begin - end)/(24*60*60*1000);
let e_date = this.data.s_date
let s_date = e.detail.value
this.setData({
s_date,
e_date,
})
}
if (day > 365) {
wx.showToast({
title: '请选择一年时间内',
icon: 'none'
})
}
else{
this.getAppStatisticsStats_customer()
}
}
},
//订单数据
getAppStatisticsStats_customer(){
this.setData({
showPie1Chart:false,
showPie2Chart:false,
showPie3Chart:false,
showBarChart:false,
})
let params = {};
params['type'] = this.data.type;
params['city_id'] = this.data.city_id;
params['s_time'] = this.data.s_date;
params['e_time'] = this.data.e_date;
_.apiQuery.getAppStatisticsStats_customer(params).then(res => {
wx.setNavigationBarTitle({
title: res.data.title
})
this.setData({
Pie1title:res.data.pie1?res.data.pie1.title:'',
Pie2title:res.data.pie2?res.data.pie2.title:'',
Pie3title:res.data.pie3?res.data.pie3.title:'',
Bartitle:res.data.bar?res.data.bar.title:'',
})
//Pie1ChartData = getPie1Option()
if(res.data.pie1){
if(res.data.pie1.series_data_1.length==0){
this.setData({
pie1noData:true,
})
}else{
Pie1ChartData = {
tooltip: {
trigger: 'item',
formatter: '{b}: {c} ({d}%)'
},
series: [
{
name: 'Access From',
type: 'pie',
bottom:'12%',
selectedMode: 'single',
radius: [0, '30%'],
label: {
position: 'inner',
fontSize: 10
},
labelBar: {
show: false
},
data: []
},
{
name: 'Access From',
type: 'pie',
bottom:'12%',
radius: ['45%', '65%'],
labelLine: {
fontSize:5,
length:10
},
label: {
formatter: '{b| {b} }{abg|}\n{hr|}\n{c| {c}({d}%) }',
backgroundColor: '#F6F8FC',
borderColor: '#8C8D8E',
borderWidth: 1,
borderRadius: 4,
rich: {
hr: {
borderColor: '#8C8D8E',
width: '100%',
borderWidth: 1,
height: 0
},
b: {
color: '#4C5058',
fontSize:10,
lineHeight:20,
align: 'center',
},
c: {
color: '#4C5058',
fontSize:8,
lineHeight:20,
align: 'center',
},
}
},
data: []
},
]
};
Pie1ChartData.series[0].data = res.data.pie1.series_data_1
Pie1ChartData.series[1].data = res.data.pie1.series_data_2
this.setData({
pie1noData:false,
showPie1Chart:true,
['ecPie1.onInit']:Pie1Chart,
pie1Bottom:res.data.pie1.bottom,
})
}
}
//Pie2ChartData = getPie2Option()
if(res.data.pie2){
if(res.data.pie2.series_data_1.length==0){
this.setData({
pie2noData:true,
})
}else{
Pie2ChartData = {
tooltip: {
trigger: 'item',
formatter: '{b}: {c} ({d}%)'
},
series: [
{
name: 'Access From',
type: 'pie',
bottom:'12%',
radius: '70%',
// avoidLabelOverlap: false,
// itemStyle: {
// borderRadius: 10,
// borderColor: '#fff',
// borderWidth: 2
// },
label: {
show: false,
position: 'center'
},
labelLine: {
fontSize:5,
length:10
},
label: {
formatter: '{b| {b} }{abg|}\n{hr|}\n{c| {c}({d}%) }',
backgroundColor: '#F6F8FC',
borderColor: '#8C8D8E',
borderWidth: 1,
borderRadius: 4,
rich: {
hr: {
borderColor: '#8C8D8E',
width: '100%',
borderWidth: 1,
height: 0
},
b: {
color: '#4C5058',
fontSize:10,
lineHeight:20,
align: 'center',
},
c: {
color: '#4C5058',
fontSize:8,
lineHeight:20,
align: 'center',
},
}
},
data: []
}
]
};
Pie2ChartData.series[0].data = res.data.pie2.series_data_1
this.setData({
pie2noData:false,
showPie2Chart:true,
['ecPie2.onInit']:Pie2Chart,
pie2Bottom:res.data.pie2.bottom,
})
}
}
//Pie3ChartData = getPie3Option()
if(res.data.pie3){
if(res.data.pie3.series_data_1.length==0){
this.setData({
pie3noData:true,
})
}else{
Pie3ChartData = {
tooltip: {
trigger: 'item',
formatter: '{b}: {c} ({d}%)'
},
series: [
{
name: 'Access From',
type: 'pie',
bottom:'12%',
radius: '70%',
// avoidLabelOverlap: false,
// itemStyle: {
// borderRadius: 10,
// borderColor: '#fff',
// borderWidth: 2
// },
label: {
show: false,
position: 'center'
},
labelLine: {
fontSize:5,
length:10
},
label: {
formatter: '{b| {b} }{abg|}\n{hr|}\n{c| {c}({d}%) }',
backgroundColor: '#F6F8FC',
borderColor: '#8C8D8E',
borderWidth: 1,
borderRadius: 4,
rich: {
hr: {
borderColor: '#8C8D8E',
width: '100%',
borderWidth: 1,
height: 0
},
b: {
color: '#4C5058',
fontSize:10,
lineHeight:20,
align: 'center',
},
c: {
color: '#4C5058',
fontSize:8,
lineHeight:20,
align: 'center',
},
}
},
data: []
}
]
};
Pie3ChartData.series[0].data = res.data.pie3.series_data_1
this.setData({
pie3noData:false,
showPie3Chart:true,
['ecPie3.onInit']:Pie3Chart,
pie3Bottom:res.data.pie3.bottom,
})
}
}
//BarChartData = getBarOption()
if(res.data.bar){
BarChartData = {
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'shadow'
}
},
xAxis: {
type: 'value',
data: []
},
yAxis: {
type: 'category',
data: []
},
grid: {
top: '1%',
left: '5%',
right: '5%',
bottom: '35',
containLabel: true
},
series: [
{
data: [],
type: 'bar',
top: 0,
bottom:'0',
}
]
};
let xAxis_data = res.data.bar.xAxis_data
let yAxis_data = []
xAxis_data.forEach(item => {
if(item.length > 6){
yAxis_data.push(item.substring(0,6)+'...')
}else{
yAxis_data.push(item)
}
})
BarChartData.yAxis.data = yAxis_data
BarChartData.series[0].data = res.data.bar.series_data
this.setData({
Barheight:100 + 60*(res.data.bar.xAxis_data.length),
Bartitle:res.data.bar.title,
showBarChart:true,
['ecBar.onInit']:BarChart,
barBottom:res.data.bar.bottom,
})
}
wx.stopPullDownRefresh()
});
},
//推送链接
pushLink(e) {
if(e.currentTarget.dataset.url){
_.$router.openUrlScheme(e.currentTarget.dataset.url)
}
},
//选择城市
changeCity(e) {
this.setData({
city_id:this.data.cityList[e.detail.value].city_id,
cityIndex: e.detail.value
})
this.getAppStatisticsStats_customer()
},
//页面相关事件处理函数--监听用户下拉动作
onPullDownRefresh: function () {
this.getAppStatisticsStats_customer()
},
})
function getPie1Option() {
return {
tooltip: {
trigger: 'item',
formatter: '{b}: {c} ({d}%)'
},
series: [
{
name: 'Access From',
type: 'pie',
selectedMode: 'single',
radius: [0, '30%'],
label: {
position: 'inner',
fontSize: 10
},
labelBar: {
show: false
},
data: [
{ value: 1548, name: 'H' },
{ value: 775, name: 'A' },
{ value: 679, name: 'B', }
]
},
{
name: 'Access From',
type: 'pie',
radius: ['45%', '65%'],
labelLine: {
fontSize:5,
length:10
},
label: {
formatter: '{b| {b} }{abg|}\n{hr|}\n{c| {c}({d}%) }',
backgroundColor: '#F6F8FC',
borderColor: '#8C8D8E',
borderWidth: 1,
borderRadius: 4,
rich: {
hr: {
borderColor: '#8C8D8E',
width: '100%',
borderWidth: 1,
height: 0
},
b: {
color: '#4C5058',
fontSize:10,
lineHeight:20,
align: 'center',
},
c: {
color: '#4C5058',
fontSize:8,
lineHeight:20,
align: 'center',
},
}
},
data: [
{ value: 1048, name: '转介绍' },
{ value: 335, name: '网络推广' },
{ value: 310, name: '外展外拓' },
{ value: 251, name: '自媒体' },
]
},
]
};
}
function getPie2Option() {
return {
// tooltip: {
// trigger: 'item',
// formatter: '{b}: {c} ({d}%)'
// },
series: [
{
name: 'Access From',
type: 'pie',
bottom:'10%',
radius: ['40%', '70%'],
avoidLabelOverlap: false,
itemStyle: {
borderRadius: 10,
borderColor: '#fff',
borderWidth: 2
},
label: {
show: false,
position: 'center'
},
labelLine: {
fontSize:5,
length:10
},
label: {
formatter: '{b| {b} }{abg|}\n{hr|}\n{c| {c}({d}%) }',
backgroundColor: '#F6F8FC',
borderColor: '#8C8D8E',
borderWidth: 1,
borderRadius: 4,
rich: {
hr: {
borderColor: '#8C8D8E',
width: '100%',
borderWidth: 1,
height: 0
},
b: {
color: '#4C5058',
fontSize:10,
lineHeight:20,
align: 'center',
},
c: {
color: '#4C5058',
fontSize:8,
lineHeight:20,
align: 'center',
},
}
},
data: [
{ value: 48, name: '转介绍' },
{ value: 35, name: '网络推广' },
{ value: 30, name: '外展外拓' },
{ value: 21, name: '自媒体' },
]
}
]
};
}
function getPie3Option() {
return {
// tooltip: {
// trigger: 'item',
// formatter: '{b}: {c} ({d}%)'
// },
series: [
{
name: 'Access From',
type: 'pie',
bottom:'10%',
radius: ['40%', '70%'],
avoidLabelOverlap: false,
itemStyle: {
borderRadius: 10,
borderColor: '#fff',
borderWidth: 2
},
label: {
show: false,
position: 'center'
},
labelLine: {
fontSize:5,
length:10
},
label: {
formatter: '{b| {b} }{abg|}\n{hr|}\n{c| {c}({d}%) }',
backgroundColor: '#F6F8FC',
borderColor: '#8C8D8E',
borderWidth: 1,
borderRadius: 4,
rich: {
hr: {
borderColor: '#8C8D8E',
width: '100%',
borderWidth: 1,
height: 0
},
b: {
color: '#4C5058',
fontSize:10,
lineHeight:20,
align: 'center',
},
c: {
color: '#4C5058',
fontSize:8,
lineHeight:20,
align: 'center',
},
}
},
data: [
{ value: 48, name: '转介绍' },
{ value: 35, name: '网络推广' },
{ value: 30, name: '外展外拓' },
{ value: 21, name: '自媒体' },
]
}
]
};
}
function getBarOption() {
return{
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'shadow'
}
},
xAxis: {
type: 'value',
data: []
},
yAxis: {
type: 'category',
data: ['张三', '李四', '王五', '赵六', '孙七', '周八', '吴九','郑十']
},
grid: {
top: '5%',
left: '2%',
right: '5%',
bottom: '3%',
containLabel: true
},
series: [
{
data: [20, 20, 10, 20, 20, 20, 25, 2],
type: 'bar',
top: 0,
bottom:'0',
}
]
};
}
-10
View File
@@ -1,10 +0,0 @@
{
"navigationBarTitleText": "订单数据",
"navigationBarTextStyle": "white",
"navigationBarBackgroundColor": "#ff7052",
"backgroundColor": "#ffffff",
"backgroundColorTop": "#ff7052",
"usingComponents": {
"ec-canvas": "../../../ecCanvas/components/ec-canvas/ec-canvas"
}
}
-88
View File
@@ -1,88 +0,0 @@
<view class="container img-top-cover" style="background-image:url({{imgUrl}}storedata/theme.png);">
<view class="text-center pt20 pb40 pl30 pr30 fn-clear">
<view class="fn-fl bg-fff-op20 pt5 pb5 pl20 pr20 font-22 color-fff ulib-r750">
<picker bindchange="changeCity" value="{{cityIndex}}" range="{{cityArray}}">
<view>
<text>{{cityArray[cityIndex]}}</text>
<i class="iconfont ml5 icon-xuanze"></i>
</view>
</picker>
</view>
<view class="fn-fr bg-fff-op20 pt5 pb5 pl20 pr20 font-22 color-fff ulib-r750">
<picker class="inline-block" mode="date" value="{{s_date}}" end="{{current_date}}" bindchange="changeDate" data-type="s_date">
<view>
<text>{{s_date}}</text>
<i class="iconfont ml5 icon-xuanze"></i>
</view>
</picker>
<text class="pl10 pr10">至</text>
<picker class="inline-block" mode="date" value="{{e_date}}" end="{{current_date}}" bindchange="changeDate" data-type="e_date">
<view>
<text>{{e_date}}</text>
<i class="iconfont ml5 icon-xuanze"></i>
</view>
</picker>
</view>
</view>
<view class="mb30 pl30 pr30" wx:if="{{Pie1title != ''}}">
<view class="inner30 pt40 bg-fff box-shadow-000-10-10 ulib-r10">
<view class="relative">
<view class="font-36">{{Pie1title}}</view>
</view>
<lcb-listmore isNoData='{{pie1noData}}' noDataMsg='暂无数据'></lcb-listmore>
<view class="mt50 mb20 relative height-600 z-index-0" wx:if="{{!pie1noData}}">
<view class="absolute wp100 height-600" wx:if="{{showPie1Chart}}">
<ec-canvas class="absolute top-0 bottom-0 left-0 right-0" ec="{{ ecPie1 }}"></ec-canvas>
</view>
<view class="absolute left-0 bottom-0 right-0 text-center font-22 color-888">{{pie1Bottom}}</view>
</view>
</view>
</view>
<view class="mb30 pl30 pr30" wx:if="{{Pie2title != ''}}">
<view class="inner30 pt40 bg-fff box-shadow-000-10-10 ulib-r10">
<view class="relative">
<view class="font-36">{{Pie2title}}</view>
</view>
<lcb-listmore isNoData='{{pie2noData}}' noDataMsg='暂无数据'></lcb-listmore>
<view class="mt50 mb20 relative height-600 z-index-0" wx:if="{{!pie2noData}}">
<view class="absolute wp100 height-600" wx:if="{{showPie2Chart}}">
<ec-canvas class="absolute top-0 bottom-0 left-0 right-0" ec="{{ ecPie2 }}"></ec-canvas>
</view>
<view class="absolute left-0 bottom-0 right-0 text-center font-22 color-888" >{{pie2Bottom}}</view>
</view>
</view>
</view>
<view class="mb30 pl30 pr30" wx:if="{{Pie3title != ''}}">
<view class="inner30 pt40 bg-fff box-shadow-000-10-10 ulib-r10">
<view class="relative">
<view class="font-36">{{Pie3title}}</view>
</view>
<lcb-listmore isNoData='{{pie3noData}}' noDataMsg='暂无数据'></lcb-listmore>
<view class="mt50 mb20 relative height-600 z-index-0" wx:if="{{!pie3noData}}">
<view class="absolute wp100 height-600" wx:if="{{showPie3Chart}}">
<ec-canvas class="absolute top-0 bottom-0 left-0 right-0" ec="{{ ecPie3 }}"></ec-canvas>
</view>
<view class="absolute left-0 bottom-0 right-0 text-center font-22 color-888" >{{pie3Bottom}}</view>
</view>
</view>
</view>
<view class="mb30 pl30 pr30" wx:if="{{Bartitle != ''}}">
<view class="inner30 pt40 bg-fff box-shadow-000-10-10 ulib-r10">
<view class="relative">
<view class="font-36">{{Bartitle}}</view>
</view>
<view class="mt50 mb20 relative z-index-0" style="height:{{Barheight}}rpx;">
<view class="absolute wp100" style="height:{{Barheight}}rpx;" wx:if="{{showBarChart}}">
<ec-canvas class="absolute top-0 bottom-0 left-0 right-0" ec="{{ ecBar }}"></ec-canvas>
</view>
<view class="absolute left-0 bottom-0 right-0 text-center font-22 color-888" >{{barBottom}}</view>
</view>
</view>
</view>
</view>
<lcb-footer></lcb-footer>
-1
View File
@@ -1 +0,0 @@
/* pages/storeData/index.wxss */
+233 -319
View File
@@ -1,10 +1,21 @@
import _ from '../../commons/js/commons';
import _ from '../../commons/js/commons'
import popularData from '../../commons/js/lib/popularData';
import * as echarts from '../../ecCanvas/components/ec-canvas/echarts';
const app = getApp()
let barChartData;
let lineChartData;
let FunnelChartData;
function barChart(canvas, width, height, dpr) {
const chart = echarts.init(canvas, null, {
width: width,
height: height,
devicePixelRatio: dpr // new
});
canvas.setChart(chart);
let option = barChartData
chart.setOption(option);
return chart;
}
function lineChart(canvas, width, height, dpr) {
const chart = echarts.init(canvas, null, {
width: width,
@@ -16,50 +27,52 @@ function lineChart(canvas, width, height, dpr) {
chart.setOption(option);
return chart;
}
function FunnelChart(canvas, width, height, dpr) {
const chart = echarts.init(canvas, null, {
width: width,
height: height,
devicePixelRatio: dpr // new
});
canvas.setChart(chart);
let option = FunnelChartData
chart.setOption(option);
return chart;
}
Page({
data: {
imgUrl: _.config.imgUrl,//静态图片路径
showFunnelChart:false,//是否显示Funnel图表
ecFunnel:{},
imgUrl:_.config.imgUrl,
showBarChart:false,//是否显示Bar图表
ecBar:{},
showLineChart:false,//是否显示Line图表
ecLine:{},
daysIndex:0,
daysArray:['近一周','近30日'],
isShowTip:false,
tipIndex:0,
storeArray: [],
storeobj: [],
storeIndex:0,
staffArray: [],
staffobj: [],
staffIndex:-1,
tabId:'1',
tab:[
{
id: 1,
title: '客户数据'
},
{
id: 2,
title: '订单数据'
},
],
custom:[],//客户数据
order:[],//订单数据
},
onLoad: function (options) {
onLoad(options) {
for (let key in options) {
this.setData({
[key]: options[key]
})
}
popularData.getDateLater(0,0).then(res => {
let s_date = res[0]
s_date= s_date.split('-')[0]+'-'+s_date.split('-')[1]+'-01'
this.setData({
s_date,
e_date:res[1],
current_date:res[1],
dateTime:res[2],
})
this.getAppCity()
})
this.getAppCity()
},
onShow: function () {
},
@@ -81,150 +94,93 @@ Page({
cityList:res.data.list,
})
this.getAppStatisticsStats()
this.getAppStatisticsStats_days()
this.getAppUserBizs()
});
},
//选择日期
changeDate(e){
if(e.currentTarget.dataset.type=="s_date"){
let begin = new Date(e.detail.value).getTime();
let end = new Date(this.data.e_date).getTime();
let day = 0
if(end>=begin){
day = (end - begin)/(24*60*60*1000);
this.setData({
s_date: e.detail.value,
})
}
else{
day = (begin - end)/(24*60*60*1000);
let s_date = this.data.e_date
let e_date = e.detail.value
this.setData({
s_date,
e_date,
})
}
if (day > 365) {
wx.showToast({
title: '请选择一年时间内',
icon: 'none'
})
}
else{
this.getAppStatisticsStats()
}
}
if(e.currentTarget.dataset.type=="e_date"){
let begin = new Date(this.data.s_date).getTime();
let end = new Date(e.detail.value).getTime();
let day = 0
if(end>=begin){
day = (end - begin)/(24*60*60*1000);
this.setData({
e_date: e.detail.value,
})
}
else{
day = (begin - end)/(24*60*60*1000);
let e_date = this.data.s_date
let s_date = e.detail.value
this.setData({
s_date,
e_date,
})
}
if (day > 365) {
wx.showToast({
title: '请选择一年时间内',
icon: 'none'
})
}
else{
this.getAppStatisticsStats()
}
}
},
//数据看板-漏斗
getAppStatisticsStats(){
this.setData({
showFunnelChart:false,
})
//获取管理门店
getAppUserBizs(){
let params = {};
params['city_id'] = this.data.city_id;
params['s_time'] = this.data.s_date;
params['e_time'] = this.data.e_date;
_.apiQuery.getAppStatisticsStats(params).then(res => {
_.apiQuery.getAppUserBizs(params).then(res => {
if(res.data.list.length>0){
let storeArray = []
res.data.list.forEach(item => {
storeArray.push(item.name)
})
this.setData({
storeArray:storeArray,
storeobj:res.data.list,
storeIndex:0,
staffIndex:-1,
})
wx.setNavigationBarTitle({
title: res.data.title
})
this.setData({
tabs:res.data.tabs,
})
//FunnelChartData = getFunnelOption()
FunnelChartData = {
series: [
{
name: 'Expected',
type: 'funnel',
top: '1%',
bottom:'5%',
left: '2%',
width: '72%',
label: {
position: 'right',
formatter: '{b}'
},
labelLine: {
show: false
},
itemStyle: {
opacity: 0.7
},
data: []
},
{
name: 'Actual',
type: 'funnel',
top:'1%',
bottom:'5%',
left: '7%',
width: '62%',
maxSize: '62%',
label: {
position: 'inside',
formatter: '{c}',
color: '#000'
},
itemStyle: {
opacity: 0.4,
borderColor: '#fff',
borderWidth:1
},
data: [],
z: 100
}
]
};
if(res.data.funnel.actual_data[0].value==0&&res.data.funnel.actual_data[1].value==0&&res.data.funnel.actual_data[2].value==0){
FunnelChartData.series[1].itemStyle.opacity = 0
this.getAppUserAdmins()
if(this.data.tabId==1){
this.getAppXzStat()
this.getAppStatisticsScust()
}else if(this.data.tabId==2){
this.getAppStatisticsOcust()
}
}
FunnelChartData.series[0].data = res.data.funnel.expected_data
FunnelChartData.series[1].data = res.data.funnel.actual_data
});
},
//获取管理门店
getAppUserAdmins(){
let params = {};
params['biz_id'] = this.data.storeobj[this.data.storeIndex].id;
params['page'] = 1;
params['size'] = 1000;
_.apiQuery.getAppUserAdmins(params).then(res => {
let staffArray = []
res.data.list.forEach(item => {
staffArray.push(item.uname)
})
this.setData({
funneltitle:res.data.funnel.title,
showFunnelChart:true,
['ecFunnel.onInit']:FunnelChart,
staffArray:staffArray,
staffobj: res.data.list,
})
});
},
//获取电话统计数据
getAppXzStat(){
let params = {};
params['biz_id'] = this.data.storeobj[this.data.storeIndex].id;
params['day'] = this.data.dateTime;
if(this.data.staffIndex>-1){
params['admin_id'] = this.data.staffobj[this.data.staffIndex].id;
}
_.apiQuery.getAppXzStat(params).then(res => {
this.setData({
xzstat:res.data,
})
});
},
//数据分析-客户数据
getAppStatisticsScust(){
this.setData({
ecBar:{},
showBarChart:false,
})
let params = {};
params['biz_id'] = this.data.storeobj[this.data.storeIndex].id;
params['day'] = this.data.dateTime;
if(this.data.staffIndex>-1){
params['admin_id'] = this.data.staffobj[this.data.staffIndex].id;
}
_.apiQuery.getAppStatisticsScust(params).then(res => {
barChartData = res.data.stat_data
//barChartData.tooltip.position=['10', '10']
this.setData({
custom:res.data.custom,
showBarChart:true,
['ecBar.onInit']:barChart,
})
wx.stopPullDownRefresh()
@@ -232,49 +188,24 @@ Page({
});
},
//客户/订单走势图
getAppStatisticsStats_days(){
//数据分析-订单数据
getAppStatisticsOcust(){
this.setData({
ecLine:{},
showLineChart:false,
})
let params = {};
params['city_id'] = this.data.city_id;
params['days'] = this.data.daysIndex == 0?'7':'30';
_.apiQuery.getAppStatisticsStats_days(params).then(res => {
params['biz_id'] = this.data.storeobj[this.data.storeIndex].id;
params['day'] = this.data.dateTime;
if(this.data.staffIndex>-1){
params['admin_id'] = this.data.staffobj[this.data.staffIndex].id;
}
_.apiQuery.getAppStatisticsOcust(params).then(res => {
//lineChartData = getLineOption()
lineChartData = {
tooltip: {
trigger: 'axis'
},
legend: {
top: 'bottom',
data: []
},
grid: {
top: '3%',
left: '2%',
right: '5%',
bottom: '20%',
containLabel: true
},
xAxis: {
type: 'category',
boundaryGap: false,
data: []
},
yAxis: {
type: 'value'
},
series: []
};
lineChartData.legend.data = res.data.legend_data
lineChartData.xAxis.data = res.data.xAxis
lineChartData.series = res.data.series
lineChartData = res.data.stat_data
//lineChartData.tooltip.position=['10', '10']
this.setData({
linetitle:res.data.title,
order:res.data.custom,
showLineChart:true,
['ecLine.onInit']:lineChart,
})
@@ -282,35 +213,6 @@ Page({
wx.stopPullDownRefresh()
});
},
//选择天数
changeDays(e) {
this.setData({
daysIndex: e.detail.value
})
this.getAppStatisticsStats_days()
},
//显示隐藏提示
optShowTip(e) {
this.setData({
isShowTip:!this.data.isShowTip,
})
if(e.currentTarget.dataset.index){
this.setData({
tipIndex:e.currentTarget.dataset.index
})
}
},
//推送链接
pushLink(e) {
if(e.currentTarget.dataset.url){
_.$router.openUrlScheme(e.currentTarget.dataset.url)
}
},
//选择城市
@@ -319,79 +221,110 @@ Page({
city_id:this.data.cityList[e.detail.value].city_id,
cityIndex: e.detail.value
})
this.getAppStatisticsStats()
this.getAppStatisticsStats_days()
this.getAppUserBizs()
},
//选择门店
changeStore(e) {
this.setData({
storeIndex: e.detail.value
})
if(this.data.tabId==1){
this.getAppStatisticsScust()
}else if(this.data.tabId==2){
this.getAppStatisticsOcust()
}
},
//日期选择
changeDate(e){
this.setData({
dateTime: e.detail.value,
})
if(this.data.tabId==1){
this.getAppStatisticsScust()
}else if(this.data.tabId==2){
this.getAppStatisticsOcust()
}
},
//选择人员
changeStaff(e) {
this.setData({
staffIndex: e.detail.value
})
if(this.data.tabId==1){
this.getAppStatisticsScust()
}else if(this.data.tabId==2){
this.getAppStatisticsOcust()
}
},
//切换tab
changeTab(e){
this.setData({
tabId:e.currentTarget.dataset.id,
})
if(this.data.tabId==1){
this.getAppStatisticsScust()
}else if(this.data.tabId==2){
this.getAppStatisticsOcust()
}
},
//推送链接
pushLink(e) {
if(e.currentTarget.dataset.url){
_.$router.openUrlScheme(e.currentTarget.dataset.url)
}
},
//页面相关事件处理函数--监听用户下拉动作
onPullDownRefresh: function () {
this.getAppStatisticsStats()
this.getAppStatisticsStats_days()
this.getAppUserBizs()
},
})
function getFunnelOption() {
function getBarOption() {
return {
// legend: {
// top: 'bottom',
// data: ['客户量', '到店数', '成交数']
// },
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'shadow'
}
},
grid: {
top: '10%',
left: '2%',
right: '5%',
bottom: '5%',
containLabel: true
},
xAxis: {
type: 'value',
boundaryGap: [0, 0.01]
},
yAxis: {
type: 'category',
data: ['1月', '2月', '3月',],
},
series: [
{
name: 'Expected',
type: 'funnel',
top: '1%',
bottom:'5%',
left: '2%',
width: '72%',
label: {
position: 'right',
formatter: '{b}'
},
labelLine: {
show: false
},
type: 'bar',
itemStyle: {
opacity: 0.7
color:'#2e3246',
borderRadius: [0, 20, 20, 0],
},
data: [
{ value: 33.3, name: '成交数(10%)' },
{ value: 66.6, name: '到店数(25%)' },
{ value: 100, name: '客户数(100%)' }
]
barWidth:'15',
data: [33, 23, 29,],
label: {
show: true,
position: 'right',
formatter: '{@[n]}',
valueAnimation: true
}
},
{
name: 'Actual',
type: 'funnel',
top:'1%',
bottom:'5%',
left: '7%',
width: '62%',
maxSize: '62%',
label: {
position: 'inside',
formatter: '{c}',
color: '#000'
},
itemStyle: {
opacity: 0.4,
borderColor: '#fff',
borderWidth:1
},
// emphasis: {
// label: {
// position: 'inside',
// formatter: '{b}: {c}'
// }
// },
data: [
{ value: 20, name: '成交数' },
{ value: 50, name: '到店数' },
{ value:200, name: '客户量' }
],
z: 100
}
]
};
}
@@ -399,43 +332,24 @@ function getFunnelOption() {
function getLineOption() {
return{
tooltip: {
trigger: 'axis'
},
legend: {
top: 'bottom',
data: ['客户数', '订单数',]
},
grid: {
top: '3%',
top: '15%',
left: '2%',
right: '5%',
bottom: '20%',
bottom: '5%',
containLabel: true
},
xAxis: {
type: 'category',
boundaryGap: false,
data: ['1', '2', '3','4','5','6','7',]
type: 'category',
data: ['1月', '2月', '3月',]
},
yAxis: {
type: 'value'
type: 'value'
},
series: [
{
name: '客户数',
type: 'line',
//stack: '总量',//累加
data: [20, 30, 50, 60, 66, 70, 73, ],
smooth: true,
},
{
name: '订单数',
type: 'line',
//stack: '总量',//累加
data: [10, 10, 10,1, 1, 1, 1,],
smooth: true,
},
]
series: [{
data: [20, 932, 901,],
type: 'line',
smooth: true
}]
};
}
+4 -2
View File
@@ -1,8 +1,10 @@
{
"navigationBarTitleText": "数据分析",
"enablePullDownRefresh": true,
"navigationBarTextStyle": "white",
"navigationBarBackgroundColor": "#ff7052",
"navigationBarBackgroundColor": "#1a1c26",
"backgroundColor": "#ffffff",
"backgroundColorTop": "#ff7052",
"backgroundColorTop": "#1a1c26",
"usingComponents": {
"ec-canvas": "../../ecCanvas/components/ec-canvas/ec-canvas"
}
+124 -93
View File
@@ -1,101 +1,132 @@
<view class="container img-top-cover" style="background-image:url({{imgUrl}}storedata/theme.png);">
<view class="text-center pt20 pb40 pl30 pr30 fn-clear">
<view class="fn-fl bg-fff-op20 pt5 pb5 pl20 pr20 font-22 color-fff ulib-r750">
<picker bindchange="changeCity" value="{{cityIndex}}" range="{{cityArray}}">
<view>
<text>{{cityArray[cityIndex]}}</text>
<i class="iconfont ml5 icon-xuanze"></i>
</view>
</picker>
</view>
<view class="fn-fr bg-fff-op20 pt5 pb5 pl20 pr20 font-22 color-fff ulib-r750">
<picker class="inline-block" mode="date" value="{{s_date}}" end="{{current_date}}" bindchange="changeDate" data-type="s_date">
<view>
<text>{{s_date}}</text>
<i class="iconfont ml5 icon-xuanze"></i>
</view>
</picker>
<text class="pl10 pr10">至</text>
<picker class="inline-block" mode="date" value="{{e_date}}" end="{{current_date}}" bindchange="changeDate" data-type="e_date">
<view>
<text>{{e_date}}</text>
<i class="iconfont ml5 icon-xuanze"></i>
</view>
</picker>
</view>
</view>
<view class="mt10 mb40 pl30 pr30 fn-flex text-center color-fff">
<block wx:for='{{tabs}}' wx:key='index'>
<view class="fn-flex-item" bindtap="pushLink" data-url="{{item.url}}&city_id={{city_id}}&s_date={{s_date}}&e_date={{e_date}}&current_date={{current_date}}">
<view class="inline-block text-left">
<view class="text-center">
<text class="font-40">{{item.value_1}}</text>
</view>
<view class="pt10 font-22">
<text>{{item.title}}</text>
<i class="iconfont ml5 icon-gengduo"></i>
</view>
</view>
</view>
</block>
</view>
<view class="mb30 pl30 pr30">
<view class="relative inner30 pb60 pt40 bg-fff box-shadow-000-10-10 ulib-r10">
<view class="relative">
<view class="font-36">{{funneltitle}}</view>
<!-- <picker class="absolute right-0 box-middle" bindchange="changeCity" value="{{cityIndex}}" range="{{cityArray}}">
<view class="pt10 pb10 pl20 pr20 bg-f6 ulib-r10 font-22">
<text>厦门</text>
<text>{{cityArray[cityIndex]}}</text>
<i class="iconfont ml10 icon-xiala color-999"></i>
</view>
</picker> -->
</view>
<view class="mt50 mb20 relative height-400 z-index-0">
<view class="absolute wp100 height-400" wx:if="{{showFunnelChart}}">
<ec-canvas class="absolute top-0 bottom-0 left-0 right-0" ec="{{ ecFunnel }}"></ec-canvas>
</view>
</view>
<view class="absolute left-0 bottom-0 mb40 wp100 text-center font-22 color-999">注:时间跨度越大越具参考性</view>
</view>
</view>
<view class="mb30 pl30 pr30">
<view class="container">
<view class="inner30 img-top-cover" style="background-image:url({{imgUrl}}channel/theme.jpg);">
<!-- 管辖门店 -->
<view class="inner30 pt40 bg-fff box-shadow-000-10-10 ulib-r10">
<view class="relative">
<view class="font-36">{{linetitle}}</view>
<picker class="absolute right-0 box-middle" bindchange="changeDays" value="{{daysIndex}}" range="{{daysArray}}">
<view class="pt10 pb10 pl20 pr20 bg-f6 ulib-r10 font-22">
<text>{{daysArray[daysIndex]}}</text>
<i class="iconfont ml10 icon-xiala color-999"></i>
<view class="bg-f6 pt25 pb25 pl30 pr30 font-32 fn-clear ulib-r10">
<view class="fn-fl">城市</view>
<picker class="fn-fr" bindchange="changeCity" value="{{cityIndex}}" range="{{cityArray}}">
<view class="color-666">
<text>{{cityArray[cityIndex]}}</text>
<i class="iconfont ml10 icon-gengduo font-26 color-999"></i>
</view>
</picker>
</view>
<view class="mt50 mb20 relative height-500 z-index-0">
<view class="absolute wp100 height-500" wx:if="{{showLineChart}}">
<ec-canvas class="absolute top-0 bottom-0 left-0 right-0" ec="{{ ecLine }}"></ec-canvas>
<view class="mt20 bg-f6 pt25 pb25 pl30 pr30 font-32 fn-clear ulib-r10">
<view class="fn-fl">门店</view>
<picker class="fn-fr" bindchange="changeStore" value="{{storeIndex}}" range="{{storeArray}}">
<view class="color-666">
<text>{{storeArray[storeIndex]}}</text>
<i class="iconfont ml10 icon-gengduo font-26 color-999"></i>
</view>
</picker>
</view>
<view class="mt20 bg-f6 pt25 pb25 pl30 pr30 font-32 fn-clear ulib-r10">
<view class="fn-fl">月份选择</view>
<picker class="fn-fr" mode="date" fields="month" value="{{dateTime}}" bindchange="changeDate">
<view class="color-666">
<text>{{dateTime}}</text>
<i class="iconfont ml10 icon-gengduo font-26 color-999"></i>
</view>
</picker>
</view>
<view class="mt20 bg-f6 pt25 pb25 pl30 pr30 font-32 fn-clear ulib-r10">
<view class="fn-fl">人员选择</view>
<picker class="fn-fr" bindchange="changeStaff" value="{{staffIndex}}" range="{{staffArray}}">
<view class="color-666">
<text wx:if="{{staffIndex == -1}}">全部</text>
<text wx:else>{{staffArray[staffIndex]}}</text>
<i class="iconfont ml10 icon-gengduo font-26 color-999"></i>
</view>
</picker>
</view>
</view>
<!-- 客户数据 / 订单数据 -->
<view class="mt40 bg-fff box-shadow-000-10-10 ulib-r10 overflowhidden">
<!-- <view class="fn-flex font-36 text-center">
<block wx:for='{{tab}}' wx:key='index'>
<view class="fn-flex-item pt20 pb20 {{ tabId == item.id?'':'bg-ffedeb'}}" data-id="{{item.id}}" bindtap="changeTab">
<view class="relative">{{item.title}}</view>
</view>
</block>
</view> -->
<view class="pl30 pb30" wx:if="{{tabId==1}}">
<view class="fn-flex fn-flex-wrap text-left">
<block wx:for='{{custom}}' wx:key='index'>
<view class="wp33 mt30 pr25">
<view class="relative pt15 pb15 pl75 bg-f6 ulib-r10 overflowhidden line-height-13">
<view class="absolute top-0 left-0 bottom-0 pl60 bg-999">
<i class="absolute box-center-middle iconfont font-30 color-fff {{item.icon}}"></i>
</view>
<view class="font-28 text-bold">{{item.value}}</view>
<view class="font-22 color-666">{{item.title}}</view>
</view>
</view>
</block>
</view>
<view class="mt30 mr30 inner30 bg-f6 ulib-r10">
<view class="font-32 text-bold">通话数据</view>
<view class="mt10 fn-flex text-center">
<view class="fn-flex-item">
<view class="font-22 color-666">通话总时长/min</view>
<view class="text-bold font-28 color-f9394d">{{xzstat.call_time}}</view>
</view>
<view class="fn-flex-item">
<view class="font-22 color-666">平均通话/min</view>
<view class="text-bold font-28 color-f9394d">{{xzstat.avg_time}}</view>
</view>
<view class="fn-flex-item">
<view class="font-22 color-666">未接通/次</view>
<view class="text-bold font-28 color-999">{{xzstat.unget_num}}</view>
</view>
</view>
</view>
</view>
<view class="pl30 pb30" wx:if="{{tabId==2}}">
<view class="fn-flex fn-flex-wrap text-left">
<block wx:for='{{order}}' wx:key='index'>
<view class="wp33 mt30 pr25">
<view class="relative pt15 pb15 pl75 bg-f6 ulib-r10 overflowhidden line-height-13">
<view class="absolute top-0 left-0 bottom-0 pl60 bg-999">
<i class="absolute box-center-middle iconfont font-30 color-fff {{item.icon}}"></i>
</view>
<view class="font-28 text-bold">{{item.value}}</view>
<view class="font-22 color-666">{{item.title}}</view>
</view>
</view>
</block>
</view>
</view>
</view>
<!-- 数据分析·客户 -->
<view class="{{tabId==1?'':'height-0'}}">
<view class="mt40 inner30 pt40 bg-fff box-shadow-000-10-10 ulib-r10" >
<view class="relative">
<view class="font-36">数据分析·客户</view>
</view>
<view class="relative height-400 z-index-0">
<view class="absolute wp100 height-400" wx:if="{{showBarChart}}">
<ec-canvas class="absolute top-0 bottom-0 left-0 right-0" ec="{{ ecBar }}"></ec-canvas>
</view>
</view>
</view>
</view>
<!-- 数据分析·订单 -->
<view class="{{tabId==2?'':'height-0'}}">
<view class="mt40 inner30 pt40 bg-fff box-shadow-000-10-10 ulib-r10">
<view class="relative">
<view class="font-36">数据分析·订单</view>
</view>
<view class="relative height-400 z-index-0">
<view class="absolute wp100 height-400" wx:if="{{showLineChart}}">
<ec-canvas class="absolute top-0 bottom-0 left-0 right-0" ec="{{ ecLine }}"></ec-canvas>
</view>
</view>
</view>
</view>
</view>
</view>
<!-- <lcb-footer></lcb-footer> -->
<lcb-channelTabBarNav currentIndex='1'></lcb-channelTabBarNav>
<lcb-msg isShow="{{isShowTip}}">
<view slot="content">
<view class="inner40 pt50 pb50 line-height-18 font-26 color-666" style="width:520rpx;">
<view class="text-center">
<text wx:if="{{tipIndex==0}}">发生在时间周期内的\n [客户建档] / [进店客户]</text>
<text wx:elif="{{tipIndex==1}}">发生在时间周期内的\n [企微添加好友] / [企微好友完善手机号码]</text>
<text wx:elif="{{tipIndex==2}}">发生在时间周期内的\n [下定订单] / [退款订单]</text>
</view>
</view>
<view class="bts-1-eb text-center font-32 color-666">
<view class="pt25 pb25 color-36afa2" bindtap="optShowTip">知道了</view>
</view>
</view>
</lcb-msg>
</view>
</view>
<lcb-channelTabBarNav currentIndex='1'></lcb-channelTabBarNav>
+6 -1
View File
@@ -1 +1,6 @@
/* pages/storeData/index.wxss */
.bg-ffedeb{background-color:#ffedeb;}
.height-0{
position:relative;
height:0;
overflow:hidden;
}
-2
View File
@@ -29,7 +29,6 @@ function pieChart(canvas, width, height, dpr) {
Page({
data: {
isShowMain:false,//显示页面内容
imgUrl:_.config.imgUrl,
userCal:'',
deallist:'',
@@ -331,7 +330,6 @@ Page({
}
_.apiQuery.getAppUserCal(params).then(res => {
this.setData({
isShowMain:true,
userCal:res.data,
levelSt:res.data.levelSt,
})
+23 -37
View File
@@ -1,4 +1,4 @@
<view class="container" wx:if="{{isShowMain}}">
<view class="container">
<view class="inner30 img-top-cover" style="background-image:url({{imgUrl}}index/theme.png);">
<view style="height:200rpx;">
<view class="relative pt30 pb30 pl110 pr10">
@@ -15,39 +15,25 @@
</view>
</view>
</view>
<view class="mb30 pt40 pb40 bg-fff box-shadow-000-10-10 ulib-r10 text-center">
<view class="pl20 pr20 fn-flex font-22 color-666">
<view class="relative fn-flex-item" bindtap="pushLink" data-url="/pages/inventory/list/index">
<view class="absolute peg-tip box-center ml30 bg-f9394d bds-2-fff img-24x24 text-center font-18 color-fff ulib-r750 z-index-1" wx:if="{{pandianNum}}"><text class="absolute box-center-middle">{{pandianNum}}</text></view>
<image class='img-60x60' mode="aspectFill" src='{{imgUrl}}index/icon2-tab-1.png' lazy-load="{{true}}"></image>
<view>车辆盘点</view>
</view>
<view class="relative fn-flex-item" bindtap="pushLink" data-url="/pages/storeData/index" wx:if="{{userInfo.group_id>1}}">
<image class='img-60x60' mode="aspectFill" src='{{imgUrl}}index/icon-tab-2.png' lazy-load="{{true}}"></image>
<view>数据分析</view>
</view>
<view class="relative fn-flex-item" bindtap="pushLink" data-url="/pages/allot/list/index">
<view class="absolute peg-tip box-center ml30 bg-f9394d bds-2-fff img-24x24 text-center font-18 color-fff ulib-r750 z-index-1" wx:if="{{diaoboNum}}"><text class="absolute box-center-middle">{{diaoboNum}}</text></view>
<image class='img-60x60' mode="aspectFill" src='{{imgUrl}}index/icon2-tab-2.png' lazy-load="{{true}}"></image>
<view>车辆调拨</view>
</view>
<view class="relative fn-flex-item" bindtap="pushLink" data-url="/pages/inventory/warning/index">
<view class="absolute peg-tip box-center ml30 bg-f9394d bds-2-fff img-24x24 text-center font-18 color-fff ulib-r750 z-index-1" wx:if="{{inventory.value}}"><text class="absolute box-center-middle">{{inventory.value}}</text></view>
<image class='img-60x60' mode="aspectFill" src='{{imgUrl}}index/icon2-tab-3.png' lazy-load="{{true}}"></image>
<view style="color:{{inventory.color}};">{{inventory.title}}</view>
</view>
<view class="mb30 pt40 pb40 pl20 pr20 bg-fff box-shadow-000-10-10 ulib-r10 fn-flex text-center font-22 color-666">
<view class="relative fn-flex-item" bindtap="pushLink" data-url="/pages/inventory/list/index">
<view class="absolute peg-tip box-center ml30 bg-f9394d bds-2-fff img-24x24 text-center font-18 color-fff ulib-r750 z-index-1" wx:if="{{pandianNum}}"><text class="absolute box-center-middle">{{pandianNum}}</text></view>
<image class='img-60x60' mode="aspectFill" src='{{imgUrl}}index/icon2-tab-1.png' lazy-load="{{true}}"></image>
<view>车辆盘点</view>
</view>
</view>
<!-- 数据看板 -->
<view class="bg-fff mb30 inner30 box-shadow-000-10-10 ulib-r10">
<view class="font-36">数据看板</view>
<view class="fn-flex fn-flex-wrap pt20 pb10 text-center">
<block wx:for="{{userCal.statistics}}" wx:key='index'>
<view class="wp33 relative pt20 pb20 {{index>2?'bts-1-eb':''}} {{index%3==2?'':'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 class="relative fn-flex-item" bindtap="pushLink" data-url="/pages/storeData/index" wx:if="{{userInfo.group_id>1}}">
<image class='img-60x60' mode="aspectFill" src='{{imgUrl}}index/icon-tab-2.png' lazy-load="{{true}}"></image>
<view>门店数据</view>
</view>
<view class="relative fn-flex-item" bindtap="pushLink" data-url="/pages/allot/list/index">
<view class="absolute peg-tip box-center ml30 bg-f9394d bds-2-fff img-24x24 text-center font-18 color-fff ulib-r750 z-index-1" wx:if="{{diaoboNum}}"><text class="absolute box-center-middle">{{diaoboNum}}</text></view>
<image class='img-60x60' mode="aspectFill" src='{{imgUrl}}index/icon2-tab-2.png' lazy-load="{{true}}"></image>
<view>车辆调拨</view>
</view>
<view class="relative fn-flex-item" bindtap="pushLink" data-url="/pages/inventory/warning/index">
<view class="absolute peg-tip box-center ml30 bg-f9394d bds-2-fff img-24x24 text-center font-18 color-fff ulib-r750 z-index-1" wx:if="{{inventory.value}}"><text class="absolute box-center-middle">{{inventory.value}}</text></view>
<image class='img-60x60' mode="aspectFill" src='{{imgUrl}}index/icon2-tab-3.png' lazy-load="{{true}}"></image>
<view style="color:{{inventory.color}};">{{inventory.title}}</view>
</view>
</view>
<!--客户代办事项-->
@@ -203,7 +189,7 @@
<lcb-shopTabBarNav currentIndex='0'></lcb-shopTabBarNav>
<!-- 客服提示 -->
<lcb-msg isShow="{{!isShowVersionInfo&&isShowNotice}}" isCustomTabBar="{{true}}">
<lcb-msg isShow="{{!isShowVersionInfo&&isShowNotice}}">
<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.haodian.cn/wechat_app/lichebao/index/jrKF-code2.jpg"></image> -->
@@ -224,7 +210,7 @@
</lcb-msg>
<!-- 调拨提醒 盘点提醒 -->
<lcb-msg isShow="{{!isShowVersionInfo&&isShowReport}}" isCustomTabBar="{{true}}">
<lcb-msg isShow="{{!isShowVersionInfo&&isShowReport}}">
<view slot="content">
<swiper class='wp100' style="height:550rpx;" autoplay circular bindchange="bannerChange">
<swiper-item class="relative" wx:for="{{remindMsg}}" wx:key="index">
@@ -250,7 +236,7 @@
</lcb-msg>
<!-- 库存提醒 -->
<lcb-msg isShow="{{!isShowVersionInfo&&!isShowReport&&isShowGoods}}" isCustomTabBar="{{true}}">
<lcb-msg isShow="{{!isShowVersionInfo&&!isShowReport&&isShowGoods}}">
<view slot="content" class="inner40" style="width:550rpx;">
<view class="text-center font-36">{{warning.title}}</view>
<view class="mt10 text-center font-22 color-f9394d">{{warning.note}}</view>
@@ -283,7 +269,7 @@
</lcb-msg>
<!-- 更新新版本提醒 -->
<lcb-msg isShow="{{isShowVersionInfo}}" isBottomOpt="{{true}}" closeWord="我知道了" bind:closeevent="closeVersionInfo" isCustomTabBar="{{true}}">
<lcb-msg isShow="{{isShowVersionInfo}}" isBottomOpt="{{true}}" closeWord="我知道了" bind:closeevent="closeVersionInfo">
<view slot="content" class="inner40 text-center" style="width:550rpx;">
<view class="font-36">狸车宝 {{versionInfo.number}} 更新说明</view>
<view class="inline-block mt10 font-28 color-666">
+3 -4
View File
@@ -11,8 +11,7 @@
.peg-tip{top:-7rpx;}
.glider{position:absolute;width:24.5%;height:46rpx;background:#fff;z-index:0;transition:0.25s ease-out;border-radius:750rpx;}
.glider{position:absolute;width:32.5%;height:46rpx;background:#fff;z-index:0;transition:0.25s ease-out;border-radius:750rpx;}
.glider-0{transform:translatex(0%);}
.glider-1{transform:translatex(99%);}
.glider-2{transform:translatex(199%);}
.glider-3{transform:translatex(300%);}
.glider-1{transform:translatex(100%);}
.glider-2{transform:translatex(200%);}
-15
View File
@@ -166,21 +166,6 @@ Page({
}
},
//查看图片
previewImage: function (e) {
if(e.currentTarget.dataset.type=='car_img'){
let car_img = []
this.data.car_img.forEach(item => {
car_img.push(item.src)
})
wx.previewImage({
current:e.currentTarget.dataset.current,
urls:car_img,
})
}
},
//页面相关事件处理函数--监听用户下拉动作
onPullDownRefresh(){
this.getAppInventory()
+3 -3
View File
@@ -22,11 +22,11 @@
<view class="pl40 pr40 font-32">盘点信息</view>
<view class="mt20 pl30">
<block wx:for="{{car_img}}" wx:key='index'>
<view class="inline-block ml10 mr10 text-center ulib-r10 overflowhidden" wx:if="{{item.value}}">
<view class="inline-block ml10 mr10 text-center ulib-r10 overflowhidden" bindtap="chooseImg" data-index="{{index}}" wx:if="{{item.value}}">
<view class="bg-f8 img-190x175 relative ulib-r10">
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-shuaxin inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-1" bindtap="chooseImg" data-index="{{index}}"></i>
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-shuaxin inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-1"></i>
<view class="absolute left-0 right-0 box-middle color-ccc">
<image class='img-190x175 ulib-r10' src='{{item.src}}' mode='aspectFill' bindtap="previewImage" data-type="car_img" data-current="{{item.src}}"></image>
<image class='img-190x175 ulib-r10' src='{{item.src}}' mode='aspectFill'></image>
</view>
</view>
<view class="mt10 font-24 color-666">{{item.title}}</view>
+5 -36
View File
@@ -7,7 +7,6 @@ Page({
name:'',
mobile:'',
isShowProfile:true,//是否显示授权用户信息按钮
isShowSwitchingRoles:false,
},
onLoad: function (options) {
@@ -48,11 +47,11 @@ Page({
title:'账户设置',
url:'/pages/mine/install/index',
},
// {
// icon:'https://qs.haodian.cn/wechat_app/lichebao/mine/icon-siyutong2.png',
// title:'私域通',
// url:'/pages/siyutong/index',
// },
{
icon:'https://qs.haodian.cn/wechat_app/lichebao/mine/icon-siyutong2.png',
title:'私域通',
url:'/pages/siyutong/index',
},
]
}
@@ -137,34 +136,4 @@ Page({
}
},
//切换角色
putAppResetgroupid(e){
let params = {};
params['group_id'] = e.currentTarget.dataset.key;
_.apiQuery.putAppResetgroupid(params).then(res=>{
_.apiQuery.getUserInfo().then(res => {
if(res.biz_type==4){
wx.reLaunch({
url: '/pages/allot/index',
})
}else if(res.group_id==4){
wx.reLaunch({
url: '/pages/channel/index',
})
}else{
wx.reLaunch({
url: '/pages/index/index',
})
}
});
})
},
//显示切换角色
switchingRoles(){
this.setData({
isShowSwitchingRoles:!this.data.isShowSwitchingRoles,
})
},
})
+3 -26
View File
@@ -13,14 +13,8 @@
</view>
<view class="mt10 font-22 color-666">{{userInfo.biz_name}}</view>
</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>
<view class="bg-f6 pt10 pb10 pl20 pr20 font-22 color-666 ulib-rl750" bindtap="logout">
<i class="iconfont icon-tuichu mr10"></i>退出
</view>
<view class="absolute right-0 box-middle bg-f6 pt10 pb10 pl20 pr20 font-22 color-666 ulib-rl750" bindtap="logout">
<i class="iconfont icon-tuichu mr10"></i>退出
</view>
</view>
</view>
@@ -49,21 +43,4 @@
<!-- <lcb-footer></lcb-footer> -->
<lcb-backChannel isShow='{{source=="shop"?true:false}}'></lcb-backChannel>
<lcb-channelTabBarNav currentIndex='2' wx:if="{{source=='channel'}}"></lcb-channelTabBarNav>
<lcb-shopTabBarNav currentIndex='3' wx:if="{{source=='shop'}}"></lcb-shopTabBarNav>
<lcb-msg isShow="{{isShowSwitchingRoles}}" isHasClose="{{true}}">
<view slot="content">
<view class="pt50 font-28 text-center">
当前角色:
<!-- <block wx:for='{{userInfo.group_name_arr}}' wx:key='index' wx:if="{{item.group_id == userInfo.group_id}}">
{{item.geoup_name}}
</block> -->
{{userInfo.group_name}}
</view>
<view class="pb40 mt30 text-center font-32 color-666">
<button bindtap="putAppResetgroupid" data-key="{{item.group_id}}" class="inline-block wp80 btn-36afa2 pt5 pb5 font-28 color-fff ulib-r750" wx:for='{{userInfo.group_name_arr}}' wx:key='index' wx:if="{{item.group_id != userInfo.group_id}}">
{{item.geoup_name}}
</button>
</view>
</view>
</lcb-msg>
<lcb-shopTabBarNav currentIndex='3' wx:if="{{source=='shop'}}"></lcb-shopTabBarNav>
+17 -35
View File
@@ -50,9 +50,6 @@ Page({
register_img:{},
car_img:{},
isShowCall:false,//是否显示拨打电话确认弹框
phoneNumber:'',//拨打的电话号码
},
onLoad: function (options) {
for (let key in options) {
@@ -419,7 +416,6 @@ Page({
title: '图片上传中',
})
let ins_img=that.data.ins_img
let k = 0
for (let i = 0; i < res1.tempFilePaths.length; i++) {
//上传图片
wx.uploadFile({
@@ -430,7 +426,6 @@ Page({
'app': 'liche'
},
success: (resp) => {
k = k + 1
resp.data = JSON.parse(resp.data);
wx.hideLoading();
if (resp.data.code == 200) {
@@ -441,20 +436,22 @@ Page({
src:imgdata.data.full_url,
})
ins_img=ins_img.concat(list)
if(k == res1.tempFilePaths.length){
let params = {};
params['id'] = that.data.id;
params['type'] = 0;
let img = []
ins_img.forEach(item => {
img.push(item.value)
})
params['img'] = img;
_.apiQuery.putAppCusorderCdata(params).then(res => {
that.setData({
ins_img,
if(i+1==res1.tempFilePaths.length){
setTimeout(function () {
let params = {};
params['id'] = that.data.id;
params['type'] = 0;
let img = []
ins_img.forEach(item => {
img.push(item.value)
})
})
params['img'] = img;
_.apiQuery.putAppCusorderCdata(params).then(res => {
that.setData({
ins_img,
})
})
}, 500);
}
}else{
wx.showToast({
@@ -838,9 +835,8 @@ Page({
params['id'] = e.currentTarget.dataset.id;
params['type'] = 1;
_.apiQuery.getAppXz(params).then(res=>{
this.setData({
isShowCall:true,
phoneNumber:res.data.mobile,
wx.makePhoneCall({
phoneNumber: res.data.mobile,
})
})
},
@@ -879,20 +875,6 @@ Page({
})
},
//隐藏电话弹框
hideCall(){
this.setData({
isShowCall:false,
})
},
//拨打电话
makePhoneCall(){
wx.makePhoneCall({
phoneNumber: this.data.phoneNumber,
})
},
//随车工具
changeTool(e) {
let carToolList = this.data.carToolList
-18
View File
@@ -386,22 +386,4 @@
<button disabled="{{submitFlag}}" bindtap="postAppSmsCusorder" 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="{{isShowCall}}">
<view slot="content">
<view class="pt50 pb40">
<view class="font-36 text-center">号码绑定成功</view>
<view class="mt10 font-28 text-center color-666">现在呼叫 {{phoneNumber}} </view>
</view>
<view class="fn-flex pl60 pr60 pb50 text-center font-32 color-666">
<button bindtap="hideCall" class="fn-flex-item mr20 bds-2-36afa2 btn-no-bg wp100 font-28 color-36afa2 ulib-r750">
取消
</button>
<button bindtap="makePhoneCall" class="fn-flex-item ml20 btn-36afa2 wp100 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover">
确定
</button>
</view>
</view>
</lcb-msg>
+58 -133
View File
@@ -16,10 +16,8 @@ Page({
business_licence:{},//营业执照照片
car_img:{},//行驶证照片
register_img:{},//登记证照片
//ins_img:[],//保险照片
ins_img:[],//保险照片
other_img:[],//交车合照
isShowCK:false,
isShowBill:false,
},
onLoad: function (options) {
for (let key in options) {
@@ -30,11 +28,11 @@ Page({
this.getAppCusorderV2()
this.getUserInfo()
this.getAppCusorderdata()
},
onShow: function () {
this.getAppCusorderdata()
},
//获取用户信息
@@ -99,15 +97,9 @@ Page({
business_licence:res.data.imgs.business_licence.length==0?{}:res.data.imgs.business_licence,
car_img:res.data.imgs.car_img.length==0?{}:res.data.imgs.car_img,
register_img:res.data.imgs.register_img.length==0?{}:res.data.imgs.register_img,
//ins_img:res.data.imgs.ins_img.length==0?[]:res.data.imgs.ins_img,
ins_img:res.data.imgs.ins_img.length==0?[]:res.data.imgs.ins_img,
other_img:res.data.imgs.other_img.length==0?[]:res.data.imgs.other_img,
})
if('delivery_ck_img' in res.data.imgs){
this.setData({
delivery_ck_img:res.data.imgs.delivery_ck_img.length==0?{}:res.data.imgs.delivery_ck_img,
})
}
}
wx.stopPullDownRefresh()
})
@@ -473,7 +465,6 @@ Page({
title: '上传中',
})
let ins_img=that.data.ins_img
let k = 0
for (let i = 0; i < res1.tempFilePaths.length; i++) {
//上传图片
wx.uploadFile({
@@ -484,7 +475,6 @@ Page({
'app': 'liche'
},
success: (resp) => {
k = k + 1
resp.data = JSON.parse(resp.data);
if (resp.data.code == 200) {
let imgdata = resp.data
@@ -494,20 +484,22 @@ Page({
img:imgdata.data.full_url,
})
ins_img=ins_img.concat(list)
if(k == res1.tempFilePaths.length){
if(i+1==res1.tempFilePaths.length){
wx.hideLoading();
let params = {};
params['id'] = that.data.id;
let img = []
ins_img.forEach(item => {
img.push(item.value)
})
params['ins_imgs'] = img;
_.apiQuery.putAppCusorderdata(params).then(res2 => {
that.setData({
ins_img,
setTimeout(function () {
let params = {};
params['id'] = that.data.id;
let img = []
ins_img.forEach(item => {
img.push(item.value)
})
})
params['ins_imgs'] = img;
_.apiQuery.putAppCusorderdata(params).then(res2 => {
that.setData({
ins_img,
})
})
}, 500);
}
}
},
@@ -537,7 +529,6 @@ Page({
title: '上传中',
})
let other_img=that.data.other_img
let k = 0
for (let i = 0; i < res1.tempFilePaths.length; i++) {
//上传图片
wx.uploadFile({
@@ -548,7 +539,6 @@ Page({
'app': 'liche'
},
success: (resp) => {
k = k + 1
resp.data = JSON.parse(resp.data);
if (resp.data.code == 200) {
let imgdata = resp.data
@@ -558,20 +548,22 @@ Page({
img:imgdata.data.full_url,
})
other_img=other_img.concat(list)
if(k == res1.tempFilePaths.length){
if(i+1==res1.tempFilePaths.length){
wx.hideLoading();
let params = {};
params['id'] = that.data.id;
let img = []
other_img.forEach(item => {
img.push(item.value)
})
params['other_imgs'] = img;
_.apiQuery.putAppCusorderdata(params).then(res2 => {
that.setData({
other_img,
setTimeout(function () {
let params = {};
params['id'] = that.data.id;
let img = []
other_img.forEach(item => {
img.push(item.value)
})
})
params['other_imgs'] = img;
_.apiQuery.putAppCusorderdata(params).then(res2 => {
that.setData({
other_img,
})
})
}, 500);
}
}
},
@@ -685,19 +677,25 @@ Page({
})
},
//拨打客户电话xz
call(e) {
let params = {};
params['id'] = e.currentTarget.dataset.id;
params['type'] = 1;
_.apiQuery.getAppXz(params).then(res=>{
wx.makePhoneCall({
phoneNumber: res.data.mobile,
})
})
},
//查看图片
previewImage: function (e) {
if(e.currentTarget.dataset.type=='bill_img'){
let urls = [this.data.info.bill_img]
urls = urls.concat(this.data.imgInfo.imgs.bill_ck_img),
wx.previewImage({
current:e.currentTarget.dataset.current,
urls,
})
}
else if(e.currentTarget.dataset.type=='bill_ck_img'){
let urls = this.data.imgInfo.imgs.bill_ck_img
wx.previewImage({
current:e.currentTarget.dataset.current,
current:e.currentTarget.dataset.img,
urls,
})
}
@@ -731,40 +729,22 @@ Page({
urls:[this.data.imgInfo.imgs.car_img.img],
})
}
else if(e.currentTarget.dataset.type=='insurance_img'){
else if(e.currentTarget.dataset.type=='ins_img'){
let img = []
if(this.data.imgInfo.imgs.insurance_img.img){
img.push(this.data.imgInfo.imgs.insurance_img.img)
}
if(this.data.imgInfo.imgs.business_img.img){
img.push(this.data.imgInfo.imgs.business_img.img)
}
this.data.imgInfo.imgs.ins_img.forEach(item => {
img.push(item.img)
})
wx.previewImage({
current:this.data.imgInfo.imgs.insurance_img.img,
urls:[this.data.imgInfo.imgs.insurance_img.img],
urls:img,
})
}
else if(e.currentTarget.dataset.type=='business_img'){
wx.previewImage({
current:this.data.imgInfo.imgs.business_img.img,
urls:[this.data.imgInfo.imgs.business_img.img],
})
}
else if(e.currentTarget.dataset.type=='accident_img'){
wx.previewImage({
current:this.data.imgInfo.imgs.accident_img.img,
urls:[this.data.imgInfo.imgs.accident_img.img],
})
}
// else if(e.currentTarget.dataset.type=='ins_img'){
// let img = []
// if(this.data.imgInfo.imgs.insurance_img.img){
// img.push(this.data.imgInfo.imgs.insurance_img.img)
// }
// if(this.data.imgInfo.imgs.business_img.img){
// img.push(this.data.imgInfo.imgs.business_img.img)
// }
// this.data.imgInfo.imgs.ins_img.forEach(item => {
// img.push(item.img)
// })
// wx.previewImage({
// current:this.data.imgInfo.imgs.insurance_img.img,
// urls:img,
// })
// }
else if(e.currentTarget.dataset.type=='other_img'){
let img = []
this.data.imgInfo.imgs.other_img.forEach(item => {
@@ -775,47 +755,6 @@ Page({
urls:img,
})
}
else if(e.currentTarget.dataset.type=='delivery_ck_img'){
wx.previewImage({
current:this.data.imgInfo.imgs.delivery_ck_img.img,
urls:[this.data.imgInfo.imgs.delivery_ck_img.img],
})
}
else if(e.currentTarget.dataset.type=='wx_img'){
wx.previewImage({
current:this.data.imgInfo.imgs.wx_img.img,
urls:[this.data.imgInfo.imgs.wx_img.img],
})
}
else if(e.currentTarget.dataset.type=='mut_wx_img'){
wx.previewImage({
current:this.data.imgInfo.imgs.mut_wx_img.img,
urls:[this.data.imgInfo.imgs.mut_wx_img.img],
})
}
else if(e.currentTarget.dataset.type=='destory_img'){
wx.previewImage({
current:this.data.imgInfo.imgs.destory_img.img,
urls:[this.data.imgInfo.imgs.destory_img.img],
})
}
else if(e.currentTarget.dataset.type=='notify'){
let img = []
this.data.info.notify_file.forEach(item => {
img.push(item.src)
})
wx.previewImage({
current:e.currentTarget.dataset.current,
urls:img,
})
}
else if(e.currentTarget.dataset.type=='lend'){
wx.previewImage({
current:this.data.info.lend_file.src,
urls:[this.data.info.lend_file.src],
})
}
},
//推送链接
@@ -863,20 +802,6 @@ Page({
})
},
//显示隐藏合格证
optShowCK(){
this.setData({
isShowCK:!this.data.isShowCK,
})
},
//显示隐藏合格证
optShowBill(){
this.setData({
isShowBill:!this.data.isShowBill,
})
},
//删除订单
putAppCusorderV2Status(){
let that = this
+25 -115
View File
@@ -2,13 +2,8 @@
<view>
<view class="pl30 pr30">
<view class="mt20 relative">
<view class="font-22 color-666">销售顾问:<text class="color-36afa2">{{info.admin_name}}</text></view>
</view>
<view class="mt20 fn-clear">
<view class="fn-fl pt10 font-32">购车人信息</view>
<view class="fn-fr" wx:if="{{info.edit_status==1&&!info.refund_status}}">
<button bindtap="pushLink" data-url="/pages/order/editBuyer/index?id={{id}}" class="inline-block font-22 color-fff ulib-r10 btn-36afa2" hover-class="btn-36afa2-hover"><i class="iconfont icon-dengji mr10"></i>修改</button>
</view>
<view class="font-32">购车人信息</view>
<view class="absolute right-0 box-middle font-22 color-666">销售顾问:<text class="color-36afa2">{{info.admin_name}}</text></view>
</view>
<view class="relative bbs-1-eb pl140 font-28">
<view class="absolute left-0 box-middle font-28 color-333">客户姓名</view>
@@ -24,7 +19,7 @@
</view>
<view class="mt40 relative fn-clear">
<view class="fn-fl pt10 font-32">{{info.main_type==0?'车主信息':'企业信息'}}</view>
<view class="fn-fr" wx:if="{{info.edit_status==1&&!info.refund_status}}">
<view class="fn-fr" wx:if="{{userInfo.uid==1&&info.edit_status==1}}">
<button bindtap="pushLink" data-url="/pages/order/editOwner/index?id={{id}}" class="inline-block font-22 color-fff ulib-r10 btn-36afa2" hover-class="btn-36afa2-hover"><i class="iconfont icon-dengji mr10"></i>修改</button>
</view>
</view>
@@ -41,9 +36,9 @@
<view class="absolute left-0 box-middle font-28 color-333">车主身份证</view>
<view class="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx">{{info.owner_cardid}}</view>
</view>
<view class="relative bbs-1-eb pl140 font-28" wx:if="{{info.address}}">
<view class="relative bbs-1-eb pl140 font-28">
<view class="absolute left-0 box-middle font-28 color-333">车主地址</view>
<view class="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx">{{info.address}}</view>
<view class="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx"><block wx:for="{{info.pro}}" wx:key='index'>{{item}} </block>{{info.address}}</view>
</view>
</block>
<block wx:if="{{info.main_type==1}}">
@@ -62,7 +57,7 @@
</view>
<view class="mt40 fn-clear">
<view class="fn-fl pt10 font-32">订单信息</view>
<view class="fn-fr" wx:if="{{info.edit_status==1&&!info.refund_status}}">
<view class="fn-fr" wx:if="{{info.edit_status==1}}">
<button bindtap="pushLink" data-url="/pages/order/edit/index2?id={{id}}" class="inline-block font-22 color-fff ulib-r10 btn-36afa2" hover-class="btn-36afa2-hover"><i class="iconfont icon-dengji mr10"></i>修改</button>
</view>
</view>
@@ -95,11 +90,12 @@
</block>
<block wx:else>
<block wx:if="{{key == '按揭信息'}}">
<view class="relative bbs-1-eb pl140 font-28" bindtap="{{!info.refund_status?'pushLink':''}}" data-url="/pages/order/editFinance/index?id={{id}}">
<view class="relative bbs-1-eb pl140 font-28" bindtap="{{info.loan_status?'pushLink':''}}" data-url="/pages/order/editFinance/index?id={{id}}">
<view class="absolute left-0 box-middle font-28 color-333">{{key}}</view>
<view class="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx">
<text >{{value}}</text>
<i wx:if="{{!info.refund_status}}" class="iconfont ml10 icon-gengduo font-26 color-999"></i>
<i wx:if="{{info.loan_status}}" class="iconfont ml10 icon-gengduo font-26 color-999"></i>
<!-- <button bindtap="pushLink" data-url="/pages/order/editFinance/index?id={{id}}" class="inline-block text-middle font-22 color-fff ulib-r10 btn-36afa2" hover-class="btn-36afa2-hover" wx:if="{{info.loan_status}}"><i class="iconfont icon-dengji mr10"></i>更新</button> -->
</view>
</view>
</block>
@@ -118,30 +114,13 @@
<view class="relative bbs-1-eb pt30 pb30 text-right font-24 color-666" wx:if="{{info.inten_money}}">已付意向金<text class="pl5 pr5 color-f9394d">{{info.inten_money}}</text>元</view>
</view>
<!--合格证,发票展示-->
<view class="pl30 pr30">
<view class="bbs-1-eb" wx:if="{{imgInfo.imgs.bill_ck_img.length>0}}">
<view class="relative pt30 pb30" bindtap="optShowCK">
<text class="font-32">合格证</text>
<view class="absolute right-0 box-middle red-tip mr30 ulib-r750" wx:if="{{!isShowCK}}"></view>
<i class="absolute right-0 box-middle iconfont {{isShowCK?'icon-xuanze':'icon-gengduo'}} font-26 color-999"></i>
</view>
<view hidden="{{!isShowCK}}">
<block wx:for='{{imgInfo.imgs.bill_ck_img}}' wx:key='index'>
<view class="mt10 mb10 "><image bindtap="previewImage" data-type="bill_ck_img" data-current="{{item}}" class='wp100' lazy-load="{{true}}" mode="widthFix" src="{{item}}"></image></view>
</block>
</view>
</view>
<view class="bbs-1-eb" wx:if="{{info.bill_img}}">
<view class="relative pt30 pb30" bindtap="optShowBill">
<text class="font-32">发票</text>
<view class="absolute right-0 box-middle red-tip mr30 ulib-r750" wx:if="{{!isShowBill}}"></view>
<i class="absolute right-0 box-middle iconfont {{isShowBill?'icon-xuanze':'icon-gengduo'}} font-26 color-999"></i>
</view>
<view hidden="{{!isShowBill}}">
<view class="mt10 mb10"><image bindtap="previewImage" data-type="bill_img" data-current="{{info.bill_img}}" class='wp100' lazy-load="{{true}}" mode="widthFix" src="{{info.bill_img}}"></image></view>
</view>
</view>
<!--开票信息展示-->
<view class="pl30 pr30" wx:if="{{info.bill_img}}">
<view class="mt40 font-32">开票信息</view>
<view class="mt20"><image bindtap="previewImage" data-type="bill_img" data-img="{{info.bill_img}}" class='wp100' lazy-load="{{true}}" mode="widthFix" src="{{info.bill_img}}"></image></view>
<block wx:for='{{imgInfo.imgs.bill_ck_img}}' wx:key='index'>
<view class="mt20"><image bindtap="previewImage" data-type="bill_img" data-img="{{item}}" class='wp100' lazy-load="{{true}}" mode="widthFix" src="{{item}}"></image></view>
</block>
</view>
<!--图片-->
@@ -150,7 +129,7 @@
<block wx:if="{{imgInfo.img_status==1}}">
<!--上传身份证-->
<block wx:if="{{info.main_type == 0}}">
<view class="relative bbs-1-eb pl140 font-28" bindtap="{{!info.refund_status?'pushLink':''}}" data-url="/pages/order/editCardid/index?id={{id}}">
<view class="relative bbs-1-eb pl140 font-28" bindtap="pushLink" data-url="/pages/order/editCardid/index?id={{id}}">
<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>{{cardida.value||cardidb.value?'更新':'上传'}}<i class="iconfont ml10 icon-gengduo"></i></view>
@@ -202,7 +181,7 @@
</block>
<!--上传营业执照-->
<block wx:elif="{{info.main_type == 1}}">
<view class="relative bbs-1-eb pl140 font-28" bindtap="{{!info.refund_status?'pushLink':''}}" data-url="/pages/order/editBusinessBicence/index?id={{id}}">
<view class="relative bbs-1-eb pl140 font-28" bindtap="pushLink" data-url="/pages/order/editBusinessBicence/index?id={{id}}">
<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>{{business_licence.value?'更新':'上传'}}<i class="iconfont ml10 icon-gengduo"></i></view>
@@ -234,7 +213,7 @@
</view> -->
</block>
<!--上传车辆证件-->
<view class="relative bbs-1-eb pl140 font-28" bindtap="{{!info.refund_status?'pushLink':''}}" data-url="/pages/order/editLicenseImg/index?id={{id}}">
<view class="relative bbs-1-eb pl140 font-28" bindtap="pushLink" data-url="/pages/order/editLicenseImg/index?id={{id}}">
<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>{{register_img.value||car_img.value?'更新':'上传'}}<i class="iconfont ml10 icon-gengduo"></i></view>
@@ -278,10 +257,10 @@
</view>
</view>-->
<!--上传保险单-->
<view class="relative bbs-1-eb pl140 font-28" bindtap="{{!info.refund_status?'pushLink':''}}" data-url="/pages/order/editInsImg/index?id={{id}}">
<view class="relative bbs-1-eb pl140 font-28" bindtap="pushLink" data-url="/pages/order/editInsImg/index?id={{id}}">
<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>{{imgInfo.imgs.accident_img.value||imgInfo.imgs.insurance_img.value||imgInfo.imgs.business_img.value?'更新':'上传'}}<i class="iconfont ml10 icon-gengduo"></i></view>
<view>{{ins_img.length>0||imgInfo.imgs.insurance_img.value||imgInfo.imgs.business_img.value?'更新':'上传'}}<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>
@@ -305,7 +284,7 @@
</scroll-view>
</view> -->
<!--上传交车合照-->
<view class="relative bbs-1-eb pl140 font-28" bindtap="{{!info.refund_status?'pushLink':''}}" data-url="/pages/order/editOtherImg/index?id={{id}}">
<view class="relative bbs-1-eb pl140 font-28" bindtap="pushLink" data-url="/pages/order/editOtherImg/index?id={{id}}">
<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>{{other_img.length>0?'更新':'上传'}}<i class="iconfont ml10 icon-gengduo"></i></view>
@@ -331,29 +310,6 @@
</block>
</scroll-view>
</view> -->
<!--上传交车合照-->
<!--添加企微-->
<view class="relative bbs-1-eb pl140 font-28" bindtap="{{!info.refund_status?'pushLink':''}}" data-url="/pages/order/editQVImg/index?id={{id}}">
<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>{{imgInfo.imgs.wx_img.value||imgInfo.imgs.mut_wx_img.value?'更新':'上传'}}<i class="iconfont ml10 icon-gengduo"></i></view>
</view>
</view>
<!--end添加企微-->
<!--实名认证资料-->
<view class="relative bbs-1-eb pl140 font-28" bindtap="{{!info.refund_status?'pushLink':''}}" data-url="/pages/order/editVoucherImg/index?id={{id}}">
<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>{{imgInfo.imgs.destory_img.value?'更新':'上传'}}<i class="iconfont ml10 icon-gengduo"></i></view>
</view>
</view>
<!--end实名认证资料-->
<view class="relative bbs-1-eb pl140 font-28" bindtap="{{!info.refund_status?'pushLink':''}}" data-url="/pages/order/editDeliveryckimg/index?id={{id}}" wx:if="{{!!imgInfo.imgs.delivery_ck_img}}">
<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><i class="iconfont ml10 icon-gengduo"></i></view>
</view>
</view>
</block>
<!--图片展示-->
@@ -402,23 +358,12 @@
<!--保险单-->
<block wx:if="{{imgInfo.imgs.ins_img.length>0}}">
<view class="mt40 font-32">保险单</view>
<view class="mt30 pb20 text-center box-x-scroll space-nowrap">
<view class="inline-block bg-f8 img-300x200 ml15 mr15 relative ulib-r10 overflowhidden" bindtap="previewImage" data-type="insurance_img" wx:if="{{imgInfo.imgs.insurance_img.value}}">
<image class='block wp100 img-h-200 ulib-r10' src='{{imgInfo.imgs.insurance_img.img}}' mode='aspectFit'></image>
</view>
<view class="inline-block bg-f8 img-300x200 ml15 mr15 relative ulib-r10 overflowhidden" bindtap="previewImage" data-type="business_img" wx:if="{{imgInfo.imgs.business_img.value}}">
<image class='block wp100 img-h-200 ulib-r10' src='{{imgInfo.imgs.business_img.img}}' mode='aspectFit'></image>
</view>
<view class="inline-block bg-f8 img-300x200 ml15 mr15 relative ulib-r10 overflowhidden" bindtap="previewImage" data-type="accident_img" wx:if="{{imgInfo.imgs.accident_img.value}}">
<image class='block wp100 img-h-200 ulib-r10' src='{{imgInfo.imgs.accident_img.img}}' mode='aspectFit'></image>
</view>
</view>
<!-- <view class="mt30 pb20 text-center">
<view class="mt30 pb20 text-center">
<view class="inline-block bg-f8 img-300x200 ml15 mr15 relative ulib-r10 overflowhidden" bindtap="previewImage" data-type="ins_img">
<view class="absolute box-center-middle font-28 color-fff z-index-1">{{imgInfo.imgs.ins_img.length+2}}张</view>
<image class='block wp100 img-h-200 ulib-r10' src='{{imgInfo.imgs.insurance_img.img}}' mode='aspectFit'></image>
</view>
</view> -->
</view>
</block>
<!--交车合照-->
<block wx:if="{{imgInfo.imgs.other_img.length>0}}">
@@ -430,42 +375,7 @@
</view>
</view>
</block>
<!--添加企微-->
<block wx:if="{{imgInfo.imgs.wx_img.img||imgInfo.imgs.mut_wx_img.img}}">
<view class="mt40 font-32">添加企微</view>
<view class="fn-flex mt30 text-center">
<view class="fn-flex-item relative mr10">
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden" wx:if="{{imgInfo.imgs.wx_img.img}}" bindtap="previewImage" data-type="wx_img">
<image class='block wp100 img-h-200 ulib-r10' src='{{imgInfo.imgs.wx_img.img}}' lazy-load="{{true}}" mode="aspectFit"></image>
</view>
</view>
<view class="fn-flex-item relative ml10">
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden" wx:if="{{imgInfo.imgs.mut_wx_img.img}}" bindtap="previewImage" data-type="mut_wx_img">
<image class='block wp100 img-h-200 ulib-r10' src='{{imgInfo.imgs.mut_wx_img.img}}' lazy-load="{{true}}" mode="aspectFit"></image>
</view>
</view>
</view>
</block>
<!--实名认证资料-->
<block wx:if="{{imgInfo.imgs.destory_img.img}}">
<view class="mt40 font-32">实名认证资料</view>
<view class="mt30 pb20 text-center">
<view class="inline-block bg-f8 img-300x200 ml15 mr15 relative ulib-r10 overflowhidden" bindtap="previewImage" data-type="destory_img">
<image class='block wp100 img-h-200 ulib-r10' src='{{imgInfo.imgs.destory_img.img}}' mode='aspectFit'></image>
</view>
</view>
</block>
<!--交付确认单-->
<block wx:if="{{imgInfo.imgs.delivery_ck_img.img}}">
<view class="mt40 font-32">交付确认单</view>
<view class="mt30 pb20 text-center">
<view class="inline-block bg-f8 img-300x200 ml15 mr15 relative ulib-r10 overflowhidden" bindtap="previewImage" data-type="delivery_ck_img">
<image class='block wp100 img-h-200 ulib-r10' src='{{imgInfo.imgs.delivery_ck_img.img}}' mode='aspectFit'></image>
</view>
</view>
</block>
</block>
<!--end 图片预览-->
</view>
@@ -534,7 +444,7 @@
<!--end交付随车信息-->
<!--订单作废 收取意向金 操作-->
<view class="fixed left-0 right-0 bottom-0 pt20 pl30 pr30 pb40 bg-000-op80 fn-flex z-index-9999" wx:if="{{!info.refund_status}}">
<view class="fixed left-0 right-0 bottom-0 pt20 pl30 pr30 pb40 bg-000-op80 fn-flex z-index-9999">
<button bindtap="putAppCusorderV2Status" class="fn-flex-item ml20 mr20 btn-36afa2 wp100 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover" wx:if="{{!info.inten_money&&!info.price_book_status&&!info.price_last_status&&!price_srv_status}}"><i class="iconfont mr5 icon-zuofei"></i>订单作废</button>
<button bindtap="optShowOrderCode" 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-zhifu"></i>邀请扫码</button>
</view>
-6
View File
@@ -1,9 +1,3 @@
.red-tip{
width:12rpx;
height:12rpx;
background-color:#f9394d;
}
/*复选框外框样式*/
checkbox .wx-checkbox-input {
width:30rpx;
+1 -1
View File
@@ -51,7 +51,7 @@ Page({
submitFlag:false,
paymentIndex:-1,//付款方式
payment:['全款', '按揭',],
payment:['全款', '分期',],
mainIndex:-1,//购车主体
main:['个人', '公司',],
+6 -151
View File
@@ -48,7 +48,7 @@ Page({
submitFlag:false,
paymentIndex:-1,//付款方式
payment:['全款', '按揭',],
payment:['全款', '分期',],
mainIndex:-1,//购车主体
main:['个人', '公司',],
@@ -74,13 +74,6 @@ Page({
fineArr:[],//精品选装
finedIndex:-1,//精品选装索引
packageList:[],//车辆选装包
options_ids:[],//选装包id数组
options_total:0,//选装包费用
if_zero_firstpay:0,//是否零首付
price_loan0:'',//首付按揭金额
firstPayArr:['现金','0首付','按揭',],//首付类型
firstPayIndex:0,//首付类型
},
//生命周期函数--监听页面加载
onLoad: function (options) {
@@ -109,10 +102,6 @@ Page({
sa:res.data.sa?res.data.sa:'',
//if_fine:res.data.if_fine==1?true:false,
if_local_bill:res.data.if_local_bill==1?1:0,
brand_id:res.data.brand_id,
car_id:res.data.car_id,
if_zero_firstpay:res.data.if_zero_firstpay,
price_loan0:res.data.price_loan0,
})
/*匹配车辆信息*/
@@ -268,7 +257,7 @@ Page({
/*匹配其他信息*/
//匹配付款方式
if(res.data.payway==0||res.data.payway==1){
if(!!res.data.payway){
let paymentIndex = -1
if(res.data.payway==0){
paymentIndex = 1
@@ -278,25 +267,6 @@ Page({
this.setData({
paymentIndex:paymentIndex,
})
if(paymentIndex == 1){
if(res.data.if_zero_firstpay==1){
if(res.data.price_loan0>0){
this.setData({
firstPayIndex:2,
})
}else{
this.setData({
firstPayIndex:1,
})
}
}else{
this.setData({
firstPayIndex:0,
})
}
}
}
//匹配代办
@@ -370,38 +340,6 @@ Page({
}
/*end匹配精品赠送*/
//匹配车辆选装包
if(res.data.option_ids&&res.data.option_ids.length>0){
let optionparams = {};
optionparams['id'] = res.data.car_id;
_.apiQuery.getAppOptions(optionparams).then(res11 => {
if(res11.data.list.length>0){
let packageList = res11.data.list
let options_ids = res.data.option_ids
let options_total = 0
packageList.forEach(itemA => {
itemA.checked = false
options_ids.forEach(itemB => {
if(itemA.id === itemB){
itemA.checked = true
if(parseFloat(itemA.price)>0){
options_total = options_total + parseFloat(itemA.price)
}
}
})
})
this.setData({
packageList,
options_ids,
options_total,
})
}
});
}else{
//获取车辆选装包
this.getAppOptions()
}
})
},
@@ -525,8 +463,7 @@ Page({
title: '请输入期望交付时间',
icon: 'none'
})
}
else if(this.data.if_zero_firstpay!=1&&(!this.data.priceinfo.sdeposit||this.data.priceinfo.sdeposit == '')){
}else if(!this.data.priceinfo.sdeposit||this.data.priceinfo.sdeposit == '' ){
wx.showToast({
title: '请选择定金',
icon: 'none'
@@ -691,9 +628,6 @@ Page({
brand_id:this.data.brandList[e.detail.value].id,
brandIndex:e.detail.value,
car_id:'',//车系id
packageList:[],//车辆选装包
options_ids:[],//选装包id数组
options_total:0,//选装包费用
v_id:'',//车辆版本id
color_id:'',//车身颜色id
incolor_id:'',//内饰颜色id
@@ -732,12 +666,8 @@ Page({
interiorIndex:-1,//内饰颜色索引
priceinfo:'',
business_type:0,
options_ids:[],//选装包id数组
options_total:0,//选装包费用
})
this.getAppSeriesAttrslevel()
//获取车辆选装包
this.getAppOptions()
}
},
@@ -793,9 +723,6 @@ Page({
if(this.data.paymentIndex != e.detail.value && e.detail.value >= 0){
this.setData({
paymentIndex:e.detail.value,
price_loan0:'',
if_zero_firstpay:0,
firstPayIndex:0,
})
//代办列表
this.getAppServices()
@@ -902,13 +829,8 @@ Page({
params['v_id'] = that.data.v_id;
params['color_id'] = that.data.color_id;
params['incolor_id'] = that.data.incolor_id;
if(that.data.options_ids.length>0){
params['options_ids'] = that.data.options_ids;
}
params['price'] = that.data.priceinfo.price;
if(that.data.if_zero_firstpay!=1){
params['deposit'] = that.data.priceinfo.sdeposit;
}
params['deposit'] = that.data.priceinfo.sdeposit;
params['payway'] = that.data.paymentIndex==0?'1':'0';
params['delry_time'] = that.data.delry_time;
params['business_id'] = that.data.priceinfo.id;
@@ -919,12 +841,7 @@ Page({
if(that.data.priceinfo.show_local_bill){
params['if_local_bill'] = that.data.if_local_bill;
}
if(that.data.paymentIndex==1){
params['if_zero_firstpay'] = that.data.if_zero_firstpay;
}
if(that.data.price_loan0 > 0){
params['price_loan0'] = that.data.price_loan0;
}
let srv_arr = []
that.data.agencyList.forEach(item => {
if(item.checked){
@@ -1084,7 +1001,7 @@ Page({
}
if(e.currentTarget.dataset.type=='price'){
this.setData({
['fines['+e.currentTarget.dataset.index+'].price']:Number(e.detail.value),
['fines['+e.currentTarget.dataset.index+'].price']:e.detail.value,
})
let fine_total = 0
this.data.fines.forEach(item => {
@@ -1360,66 +1277,4 @@ Page({
}
},
//获取车辆选装包
getAppOptions(){
let params = {};
params['id'] = this.data.car_id;
_.apiQuery.getAppOptions(params).then(res => {
if(res.data.list.length>0){
let packageList = res.data.list
packageList.forEach(item => {
item.checked = false
})
this.setData({
packageList,
})
}
});
},
//选择车辆选装包
choosePackage(e) {
let packageList = this.data.packageList
let options_ids = e.detail.value
let options_total = 0
packageList.forEach(itemA => {
itemA.checked = false
options_ids.forEach(itemB => {
if(itemA.id === itemB){
itemA.checked = true
if(parseFloat(itemA.price)>0){
options_total = options_total + parseFloat(itemA.price)
}
}
})
})
this.setData({
packageList,
options_ids,
options_total,
})
},
//选择首付类型
changeFirstPay(e) {
if(this.data.firstPayIndex != e.detail.value && e.detail.value >= 0){
this.setData({
firstPayIndex:e.detail.value,
price_loan0:'',
'priceinfo.sdeposit':'',
})
if(this.data.firstPayArr[this.data.firstPayIndex]=='0首付'||this.data.firstPayArr[this.data.firstPayIndex]=='按揭'){
this.setData({
if_zero_firstpay:1,
})
}
else{
this.setData({
if_zero_firstpay:0,
})
}
}
},
})
+6 -100
View File
@@ -62,30 +62,10 @@
</picker>
</view>
</view>
<!--选装-->
<block wx:if="{{packageList.length>0&&interiorIndex != -1}}">
<view class="pt30 pb30 font-32">选装</view>
<checkbox-group bindchange="choosePackage">
<block wx:for='{{packageList}}' wx:key='index' wx:key="index">
<label class="block inner40 pb5 relative ulib-r10 box-shadow-000-10-10 mb30 overflowhidden">
<view class="relative pr100">
<view class="font-30">{{item.title}}</view>
<checkbox class="absolute top-0 right-0 font-30" value="{{item.id}}" checked="{{item.checked}}"/>
</view>
<view class="mt15 text-middle font-28 color-666">¥{{item.price}}</view>
<view class="mt15 font-24 color-666 text-break line-height-18" >
<rich-text nodes="{{item.descrip}}"></rich-text>
</view>
</label>
</block>
</checkbox-group>
</block>
</view>
<view wx:if="{{step == 3}}">
<view class="relative bbs-1-eb pl190 last-b-none" wx:if="{{!info.price_loan0_status&&!info.price_loan_status}}">
<view class="relative bbs-1-eb pl190 last-b-none">
<view class="absolute left-0 box-middle font-28 color-333">付款方式<text class="color-f9394d">*</text></view>
<view class="pt30 pb30 text-right font-28 color-666">
<picker bindchange="changePayment" value="{{paymentIndex}}" range="{{payment}}">
@@ -95,10 +75,6 @@
</picker>
</view>
</view>
<view class="relative bbs-1-eb pl190 last-b-none" wx:else>
<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 last-b-none pl180 font-28">
<view class="absolute left-0 box-middle">期望交付时间<text class="color-f9394d">*</text></view>
<view class="pt30 pb30 text-right font-28 color-666">
@@ -121,48 +97,18 @@
<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">{{priceinfo.price_coplus}}</text>元</view>
</view>
<block wx:if="{{paymentIndex == 1}}">
<block wx:if="{{info.price_book_status||info.price_loan0_status}}">
<view class="relative bbs-1-eb last-b-none pl180 font-28">
<view class="absolute left-0 box-middle color-333">首付类型</view>
<view class="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx;">{{firstPayArr[firstPayIndex]}}</view>
</view>
<view class="relative bbs-1-eb last-b-none pl180 font-28" wx:if="{{price_loan0>0}}">
<view class="absolute left-0 box-middle color-333">首付按揭金额</view>
<view class="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx;">{{price_loan0}}</view>
</view>
</block>
<block wx:else>
<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">
<picker bindchange="changeFirstPay" value="{{firstPayIndex}}" range="{{firstPayArr}}">
<text class="color-ccc" wx:if="{{firstPayIndex == -1}}">请选择</text>
<text wx:else>{{firstPayArr[firstPayIndex]}}</text>
<i class="iconfont ml5 icon-gengduo"></i>
</picker>
</view>
</view>
<view class="relative bbs-1-eb last-b-none pl180 font-28" wx:if="{{if_zero_firstpay==1&&firstPayArr[firstPayIndex]=='按揭'}}">
<view class="absolute left-0 box-middle">首付按揭金额</view>
<view>
<input class="wp100 height-100 text-right font-28" placeholder-class="color-ccc" type="digit" placeholder="请输入首付按揭金额" model:value='{{price_loan0}}' always-embed='{{true}}' />
</view>
</view>
</block>
</block>
<block wx:if="{{info.price_book_status}}">
<view class="relative bbs-1-eb last-b-none pl180 font-28" wx:if="{{priceinfo.sdeposit&&if_zero_firstpay!=1}}">
<view class="relative bbs-1-eb last-b-none pl180 font-28" wx:if="{{priceinfo.sdeposit}}">
<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">{{priceinfo.sdeposit}}</text>元</view>
</view>
<view class="relative bbs-1-eb last-b-none pl180 font-28" wx:if="{{priceinfo.price}}">
<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">{{options_total+priceinfo.price+priceinfo.price_color+priceinfo.price_coplus-(priceinfo.sdisc_money>0?priceinfo.sdisc_money:0)}}</text>元</view>
<view class="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx;"><text class="mr10 color-f9394d">{{priceinfo.price+priceinfo.price_color+priceinfo.price_coplus-(priceinfo.sdisc_money>0?priceinfo.sdisc_money:0)}}</text>元</view>
</view>
</block>
<block wx:else>
<view class="relative bbs-1-eb pl190 last-b-none" wx:if="{{priceinfo.deposit_list&&paymentIndex != -1&&if_zero_firstpay!=1}}">
<view class="relative bbs-1-eb pl190 last-b-none" wx:if="{{priceinfo.deposit_list}}">
<view class="absolute left-0 box-middle font-28 color-333">定金<text class="color-f9394d">*</text></view>
<view class="pt30 pb30 text-right font-28 color-666">
<view class="fn-clear">
@@ -307,16 +253,6 @@
</view>
</block>
</block>
<block wx:if="{{userInfo.biz_type != 1}}">
<block wx:for="{{fines}}" wx:key='index'>
<view class="relative bbs-1-eb last-b-none pl180 font-28">
<view class="absolute left-0 box-middle">{{item.txt}}</view>
<view>
<input class="wp100 height-100 text-right font-28" placeholder-class="color-ccc" type="digit" placeholder="请输入服务费" bindinput='inputFines' data-index="{{index}}" data-type="price" value="{{item.price}}" always-embed='{{true}}' />
</view>
</view>
</block>
</block>
<!--特别约定编辑-->
<block wx:if="{{userInfo.show_sa}}">
<block wx:if="{{info.price_srv_status}}">
@@ -372,20 +308,6 @@
<view class="absolute left-0 box-middle font-28 color-333">内饰颜色</view>
<view class="pt30 pb30 text-right font-28 color-666">{{interiorArray[interiorIndex]}}</view>
</view>
<block wx:if="{{options_ids.length>0}}">
<view class="relative bbs-1-eb last-b-none pl180 font-28">
<view class="absolute left-0 box-middle color-333">选装</view>
<view class="pt30 pb30 text-right font-28 color-666" style="height:38rpx;"><text class="mr10 color-f9394d">{{options_total}}</text>元</view>
</view>
<block wx:for="{{packageList}}" wx:key='index'>
<view class="relative ml40 bbs-1-eb pl140 font-22 color-666" wx:if="{{item.checked}}">
<view class="absolute left-0 box-middle"><i class="iconfont ml5 mr10 icon-gengduo"></i>{{item.title}}</view>
<view class="pt25 pb25 text-right" style="min-height:30rpx">
<block wx:if="{{item.price>0}}"><text class="mr10 color-f9394d">{{item.price}}</text>元</block>
</view>
</view>
</block>
</block>
<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>
@@ -407,21 +329,13 @@
<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">{{priceinfo.price_coplus}}</text>元</view>
</view>
<view class="relative bbs-1-eb last-b-none pl180 font-28" wx:if="{{paymentIndex == 1}}">
<view class="absolute left-0 box-middle color-333">首付类型</view>
<view class="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx;">{{firstPayArr[firstPayIndex]}}</view>
</view>
<view class="relative bbs-1-eb last-b-none pl180 font-28" wx:if="{{price_loan0>0}}">
<view class="absolute left-0 box-middle color-333">首付按揭金额</view>
<view class="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx;">{{price_loan0}}</view>
</view>
<view class="relative bbs-1-eb last-b-none pl180 font-28" wx:if="{{priceinfo.sdeposit&&if_zero_firstpay!=1}}">
<view class="relative bbs-1-eb last-b-none pl180 font-28" wx:if="{{priceinfo.sdeposit}}">
<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">{{priceinfo.sdeposit}}</text>元</view>
</view>
<view class="relative bbs-1-eb last-b-none pl180 font-28" wx:if="{{priceinfo.price}}">
<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">{{options_total+priceinfo.price+priceinfo.price_color+priceinfo.price_coplus-(priceinfo.sdisc_money>0?priceinfo.sdisc_money:0)}}</text>元</view>
<view class="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx;"><text class="mr10 color-f9394d">{{priceinfo.price+priceinfo.price_color+priceinfo.price_coplus-(priceinfo.sdisc_money>0?priceinfo.sdisc_money:0)}}</text>元</view>
</view>
<view class="relative ml40 bbs-1-eb pl140 font-22 color-666" wx:if="{{!!priceinfo.sdisc_money&&priceinfo.sdisc_money != ''}}">
<view class="absolute left-0 box-middle"><i class="iconfont ml5 mr10 icon-gengduo"></i>优惠</view>
@@ -462,14 +376,6 @@
</view>
</block>
</block>
<block wx:if="{{userInfo.biz_type != 1}}">
<block wx:for="{{fines}}" wx:key='index'>
<view class="relative bbs-1-eb last-b-none pl180 font-28">
<view class="absolute left-0 box-middle color-333">{{item.txt}}</view>
<view class="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx;"><text class="mr10 color-f9394d">{{item.price>0?item.price:0}}</text>元</view>
</view>
</block>
</block>
<view class="relative bbs-1-eb last-b-none pl180 font-28" wx:if="{{priceinfo.show_local_bill}}">
<view class="absolute left-0 box-middle color-333">需开具本地发票</view>
<view class="pt30 pb30 text-right font-28 color-666" style="height:38rpx;">{{if_local_bill?'需要':'不需要'}}</view>
+53 -113
View File
@@ -69,34 +69,26 @@ Page({
},
success: (resp) => {
resp.data = JSON.parse(resp.data);
wx.hideLoading();
if (resp.data.code == 200) {
that.setData({
'cardida.value':resp.data.data.url,
'cardida.img':resp.data.data.full_url,
})
let params = {};
params['id'] = that.data.id;
params['cardida'] = resp.data.data.url;
_.apiQuery.putAppCusorderdata(params).then(res2 => {
wx.hideLoading();
that.setData({
'cardida.value':resp.data.data.url,
'cardida.img':resp.data.data.full_url,
})
}).catch(res2=>{
wx.hideLoading();
if(res2.code==418){
that.setData({
'cardida.value':resp.data.data.url,
'cardida.img':resp.data.data.full_url,
'cardida.err':!res2.data[0].caridA,
'cardida.errmsg':res2.data[0].errmsg,
})
}
});
}else{
wx.hideLoading();
wx.showToast({
title: '上传失败',
icon: 'none',
duration: 2000
})
}
},
})
@@ -130,34 +122,26 @@ Page({
},
success: (resp) => {
resp.data = JSON.parse(resp.data);
wx.hideLoading();
if (resp.data.code == 200) {
that.setData({
'cardidb.value':resp.data.data.url,
'cardidb.img':resp.data.data.full_url,
})
let params = {};
params['id'] = that.data.id;
params['cardidb'] = resp.data.data.url;
_.apiQuery.putAppCusorderdata(params).then(res2 => {
wx.hideLoading();
that.setData({
'cardidb.value':resp.data.data.url,
'cardidb.img':resp.data.data.full_url,
})
}).catch(res2=>{
wx.hideLoading();
if(res2.code==418){
that.setData({
'cardidb.value':resp.data.data.url,
'cardidb.img':resp.data.data.full_url,
'cardidb.err':!res2.data[1].caridB,
'cardidb.errmsg':res2.data[1].errmsg,
})
}
});
}else{
wx.hideLoading();
wx.showToast({
title: '上传失败',
icon: 'none',
duration: 2000
})
}
},
})
@@ -191,34 +175,26 @@ Page({
},
success: (resp) => {
resp.data = JSON.parse(resp.data);
wx.hideLoading();
if (resp.data.code == 200) {
that.setData({
'business_licence.value':resp.data.data.url,
'business_licence.img':resp.data.data.full_url,
})
let params = {};
params['id'] = that.data.id;
params['business_licence'] = resp.data.data.url;
_.apiQuery.putAppCusorderdata(params).then(res2 => {
wx.hideLoading();
that.setData({
'business_licence.value':resp.data.data.url,
'business_licence.img':resp.data.data.full_url,
})
}).catch(res2=>{
wx.hideLoading();
if(res2.code==418){
that.setData({
'business_licence.value':resp.data.data.url,
'business_licence.img':resp.data.data.full_url,
'business_licence.err':!res2.data[0].business_licence,
'business_licence.errmsg':res2.data[0].errmsg,
})
}
});
}else{
wx.hideLoading();
wx.showToast({
title: '上传失败',
icon: 'none',
duration: 2000
})
}
},
})
@@ -252,25 +228,16 @@ Page({
},
success: (resp) => {
resp.data = JSON.parse(resp.data);
wx.hideLoading();
if (resp.data.code == 200) {
let params = {};
params['id'] = that.data.id;
params['register_img'] = resp.data.data.url;
_.apiQuery.putAppCusorderdata(params).then(res2 => {
wx.hideLoading();
that.setData({
'register_img.value':resp.data.data.url,
'register_img.img':resp.data.data.full_url,
})
}).catch(res2=>{
wx.hideLoading();
});
}else{
wx.hideLoading();
wx.showToast({
title: '上传失败',
icon: 'none',
duration: 2000
})
}
},
@@ -305,25 +272,16 @@ Page({
},
success: (resp) => {
resp.data = JSON.parse(resp.data);
wx.hideLoading();
if (resp.data.code == 200) {
let params = {};
params['id'] = that.data.id;
params['car_img'] = resp.data.data.url;
_.apiQuery.putAppCusorderdata(params).then(res2 => {
wx.hideLoading();
that.setData({
'car_img.value':resp.data.data.url,
'car_img.img':resp.data.data.full_url,
})
}).catch(res2=>{
wx.hideLoading();
});
}else{
wx.hideLoading();
wx.showToast({
title: '上传失败',
icon: 'none',
duration: 2000
})
}
},
@@ -350,7 +308,6 @@ Page({
title: '上传中',
})
let ins_img=that.data.ins_img
let k = 0
for (let i = 0; i < res1.tempFilePaths.length; i++) {
//上传图片
wx.uploadFile({
@@ -361,7 +318,6 @@ Page({
'app': 'liche'
},
success: (resp) => {
k = k + 1
resp.data = JSON.parse(resp.data);
if (resp.data.code == 200) {
let imgdata = resp.data
@@ -371,25 +327,23 @@ Page({
img:imgdata.data.full_url,
})
ins_img=ins_img.concat(list)
if(k == res1.tempFilePaths.length){
let params = {};
params['id'] = that.data.id;
let img = []
ins_img.forEach(item => {
img.push(item.value)
})
params['ins_imgs'] = img;
_.apiQuery.putAppCusorderdata(params).then(res2 => {
wx.hideLoading();
that.setData({
ins_img,
if(i+1==res1.tempFilePaths.length){
wx.hideLoading();
setTimeout(function () {
let params = {};
params['id'] = that.data.id;
let img = []
ins_img.forEach(item => {
img.push(item.value)
})
}).catch(res2=>{
wx.hideLoading();
});
params['ins_imgs'] = img;
_.apiQuery.putAppCusorderdata(params).then(res2 => {
that.setData({
ins_img,
})
})
}, 500);
}
}else{
wx.hideLoading();
}
},
@@ -418,7 +372,6 @@ Page({
title: '上传中',
})
let other_img=that.data.other_img
let k = 0
for (let i = 0; i < res1.tempFilePaths.length; i++) {
//上传图片
wx.uploadFile({
@@ -429,7 +382,6 @@ Page({
'app': 'liche'
},
success: (resp) => {
k = k + 1
resp.data = JSON.parse(resp.data);
if (resp.data.code == 200) {
let imgdata = resp.data
@@ -439,25 +391,23 @@ Page({
img:imgdata.data.full_url,
})
other_img=other_img.concat(list)
if(k == res1.tempFilePaths.length){
let params = {};
params['id'] = that.data.id;
let img = []
other_img.forEach(item => {
img.push(item.value)
})
params['other_imgs'] = img;
_.apiQuery.putAppCusorderdata(params).then(res2 => {
wx.hideLoading();
that.setData({
other_img,
if(i+1==res1.tempFilePaths.length){
wx.hideLoading();
setTimeout(function () {
let params = {};
params['id'] = that.data.id;
let img = []
other_img.forEach(item => {
img.push(item.value)
})
}).catch(res2=>{
wx.hideLoading();
});
params['other_imgs'] = img;
_.apiQuery.putAppCusorderdata(params).then(res2 => {
that.setData({
other_img,
})
})
}, 500);
}
}else{
wx.hideLoading();
}
},
@@ -511,14 +461,4 @@ Page({
}
},
//查看图片
previewImage: function (e) {
if(e.currentTarget.dataset.type=='business_licence'){
wx.previewImage({
current:this.data.imgInfo.imgs.business_licence.img,
urls:[this.data.imgInfo.imgs.business_licence.img],
})
}
},
})
+4 -4
View File
@@ -3,18 +3,18 @@
<!-- <view class="mt40 font-32">营业执照</view> -->
<view class="mt30 text-center">
<view class="inline-block img-300x200 relative ulib-r10 overflowhidden">
<view class="inline-block img-300x200 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-type="business_licence">
<block wx:if="{{business_licence.value}}">
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden">
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-shuaxin inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-4" bindtap="chooseImg" data-type="business_licence"></i>
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-shuaxin inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-4"></i>
<view class="absolute top-0 left-0 bottom-0 right-0 bg-f00-op50 z-index-3" wx:if="{{business_licence.err}}">
<view class="absolute left-0 right-0 box-middle pl20 pr20 text-break font-22 color-fff"><i class="iconfont icon-jinggao"></i>{{business_licence.errmsg}}</view>
</view>
<image class='block wp100 img-h-200 ulib-r10' src='{{business_licence.img}}' mode='aspectFit' bindtap="previewImage" data-type="business_licence"></image>
<image class='block wp100 img-h-200 ulib-r10' src='{{business_licence.img}}' mode='aspectFit'></image>
</view>
</block>
<block wx:else>
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-type="business_licence">
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden">
<view class="absolute left-0 right-0 box-middle color-ccc">
<i class="iconfont icon-fanmian font-60"></i>
<view class="mt10 font-22">上传营业执照</view>
-169
View File
@@ -1,169 +0,0 @@
import _ from '../../../commons/js/commons'
const app = getApp()
Page({
data: {
name:'',//姓名
mobile:'',//手机号
cardid:'',//身份证
},
onLoad: function (options) {
for (let key in options) {
this.setData({
[key]: options[key]
})
}
this.getAppCusorderV2()
},
onShow: function () {
},
//获取订单详情
getAppCusorderV2(){
let params = {};
params['id'] = this.data.id;
_.apiQuery.getAppCusorderV2(params).then(res=>{
this.setData({
name:res.data.name?res.data.name:'',
mobile:res.data.mobile?res.data.mobile:'',
cardid:res.data.cardid?res.data.cardid:'',
})
wx.stopPullDownRefresh()
})
},
//修改订单基本信息
putAppCusorderV2Info() {
this.setData({
mobile:this.trimAll(this.data.mobile),
cardid:this.trimAll(this.data.cardid),
})
if (this.data.name == '' ) {
wx.showToast({
title: '请输入客户姓名',
icon: 'none'
})
}else if (this.data.mobile != this.data.org_mobile && !/^1[3456789]\d{9}$/.test(this.data.mobile)){
wx.showToast({
title: '请输入客户手机号',
icon: 'none'
})
}
else if(this.data.cardid == ''|| !/^\d{6}(18|19|20)?\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}(\d|[xX])$/.test(this.data.cardid)){
wx.showToast({
title: '请填写正确客户身份证',
icon: 'none'
})
}
else{
let that = this
that.setData({
submitFlag: true,
})
let params = {};
params['id'] = that.data.id;
params['name'] = that.data.name;
params['mobile'] = that.data.mobile;
params['cardid'] = that.data.cardid;
_.apiQuery.putAppCusorderV2Info(params).then(res => {
//刷新详情页
let pages = getCurrentPages();
let prevPage = null; //上一个页面
if (pages.length >= 2) {
prevPage = pages[pages.length - 2]; //上一个页面
if(prevPage.route == 'pages/order/detail/index2'){
prevPage.onPullDownRefresh()
}
}
wx.showToast({
title: '编辑成功',
icon: 'success',
duration: 2000
})
setTimeout(function () {
wx.navigateBack({
delta: 1
})
}, 500)
}).catch(res=>{
that.setData({
submitFlag: false,
})
});
}
},
//推送链接
pushLink(e){
if(e.currentTarget.dataset.url){
_.$router.openUrlScheme(e.currentTarget.dataset.url)
}
},
//选择图片
chooseImg(e) {
let that = this
//上传身份证正面-车主身份证
//上传身份证正面-客户身份证
if(e.currentTarget.dataset.type=='customer'){
wx.chooseImage({
count: 1, // 默认9
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success(res) {
wx.showLoading({
title: '识别中',
})
wx.uploadFile({
url:_.config.api.upImg,
filePath:res.tempFilePaths[0],
name: 'img',
formData: {
'app': 'liche'
},
success: (resp) => {
resp.data = JSON.parse(resp.data);
if (resp.data.code == 200) {
let params = {};
params['img'] = resp.data.data.url;
_.apiQuery.getAppIdcardInfo(params).then(res2 => {
wx.hideLoading();
that.setData({
cardid:res2.data.IdNum,
name:res2.data.Name,
})
})
}
},
fail: res => {
wx.hideLoading();
}
})
},
fail: res => {
wx.showToast({
title: '文件选择失败',
icon: 'none',
duration: 2000
})
}
})
}
},
//去除空格
trimAll(ele){
if(typeof ele === 'string'){
return ele.split(' ').join('');
}else{
console.error(`${typeof ele} is not the expected type, but the string type is expected`)
}
},
})
-3
View File
@@ -1,3 +0,0 @@
{
"usingComponents": {}
}
-36
View File
@@ -1,36 +0,0 @@
<view class="container">
<view class="inner30">
<view class="mt10 pt20 pb20 bg-e3f5f3 font-36 text-center ulib-r10">购车人信息</view>
<block>
<view class="relative bbs-1-eb last-b-none pl180 font-28">
<view class="absolute left-0 box-middle">客户手机号码<text class="color-f9394d">*</text></view>
<view>
<input class="wp100 height-100 text-right font-28" placeholder-class="color-ccc" type="number" placeholder="请输入客户手机号码" model:value='{{mobile}}' disabled='{{isShowIntenMoney||isShowAddress?true:false}}' always-embed='{{true}}' />
</view>
</view>
<view class="relative bbs-1-eb last-b-none pl180 pr60 font-28">
<view class="absolute left-0 box-middle">客户身份证<text class="color-f9394d">*</text></view>
<view>
<input class="wp100 height-100 text-right font-28" placeholder-class="color-ccc" type="idcard" placeholder="请输入客户身份证" model:value='{{cardid}}' disabled='{{isShowIntenMoney||isShowAddress?true:false}}' always-embed='{{true}}' />
</view>
<view class="absolute right-0 box-middle font-50 iconfont icon-cardid color-666" bindtap="chooseImg" data-type="customer"></view>
</view>
<view class="relative bbs-1-eb last-b-none pl180 font-28">
<view class="absolute left-0 box-middle">客户姓名<text class="color-f9394d">*</text></view>
<view>
<input class="wp100 height-100 text-right font-28" placeholder-class="color-ccc" type="text" placeholder="请输入客户姓名" model:value='{{name}}' disabled='{{isShowIntenMoney||isShowAddress?true:false}}' always-embed='{{true}}' />
</view>
</view>
</block>
</view>
<view class="mt40 font-22 color-666 text-center">
<label class="inline-block text-middle statement fn-clear"><checkbox class="fn-fl" value="cb" /><text class="pt3 fn-fl">我已阅读并同意</text></label>
<text class="text-middle color-36afa2" bindtap="pushLink" data-url="/pages/statement/registration/index">《狸车用户注册协议》</text>
<text class="text-middle">和</text>
<text class="text-middle color-36afa2" bindtap="pushLink" data-url="/pages/statement/privacy/index">《狸车用户隐私政策》</text>
</view>
</view>
<view class="fixed left-0 right-0 bottom-0 bg-fff-op90 inner40 fn-flex safe-pb">
<button class="wp100 btn-36afa2 pt10 pb10 text-center font-32 color-fff ulib-r750" hover-class="btn-36afa2-hover" disabled="{{submitFlag}}" bindtap="putAppCusorderV2Info">确认</button>
</view>
-19
View File
@@ -1,19 +0,0 @@
/*复选框外框样式*/
.statement checkbox .wx-checkbox-input {
width:22rpx;
height:22rpx;
border-color: #999;
background: #f9f9f9;
}
/* 选中后的 背景样式*/
.statement checkbox .wx-checkbox-input.wx-checkbox-input-checked {
border-color: #36afa2;
background: #36afa2;
}
/*复选框选中后内部样式*/
.statement checkbox .wx-checkbox-input.wx-checkbox-input-checked::before {
font-size:18rpx;
color:#fff;
transform:translate(-50%, -50%) scale(1);
-webkit-transform:translate(-50%, -50%) scale(1);
}
+52 -112
View File
@@ -69,35 +69,26 @@ Page({
},
success: (resp) => {
resp.data = JSON.parse(resp.data);
wx.hideLoading();
if (resp.data.code == 200) {
that.setData({
'cardida.value':resp.data.data.url,
'cardida.img':resp.data.data.full_url,
})
let params = {};
params['id'] = that.data.id;
params['cardida'] = resp.data.data.url;
_.apiQuery.putAppCusorderdata(params).then(res2 => {
wx.hideLoading();
that.setData({
'cardida.value':resp.data.data.url,
'cardida.img':resp.data.data.full_url,
})
}).catch(res2=>{
wx.hideLoading();
if(res2.code==418){
that.setData({
'cardida.value':resp.data.data.url,
'cardida.img':resp.data.data.full_url,
'cardida.err':!res2.data[0].caridA,
'cardida.errmsg':res2.data[0].errmsg,
})
}
});
}else{
wx.hideLoading();
wx.showToast({
title: '上传失败',
icon: 'none',
duration: 2000
})
}
},
})
@@ -131,34 +122,26 @@ Page({
},
success: (resp) => {
resp.data = JSON.parse(resp.data);
wx.hideLoading();
if (resp.data.code == 200) {
that.setData({
'cardidb.value':resp.data.data.url,
'cardidb.img':resp.data.data.full_url,
})
let params = {};
params['id'] = that.data.id;
params['cardidb'] = resp.data.data.url;
_.apiQuery.putAppCusorderdata(params).then(res2 => {
wx.hideLoading();
that.setData({
'cardidb.value':resp.data.data.url,
'cardidb.img':resp.data.data.full_url,
})
}).catch(res2=>{
wx.hideLoading();
if(res2.code==418){
that.setData({
'cardidb.value':resp.data.data.url,
'cardidb.img':resp.data.data.full_url,
'cardidb.err':!res2.data[1].caridB,
'cardidb.errmsg':res2.data[1].errmsg,
})
}
});
}else{
wx.hideLoading();
wx.showToast({
title: '上传失败',
icon: 'none',
duration: 2000
})
}
},
})
@@ -192,22 +175,21 @@ Page({
},
success: (resp) => {
resp.data = JSON.parse(resp.data);
wx.hideLoading();
if (resp.data.code == 200) {
that.setData({
'business_licence.value':resp.data.data.url,
'business_licence.img':resp.data.data.full_url,
})
let params = {};
params['id'] = that.data.id;
params['business_licence'] = resp.data.data.url;
_.apiQuery.putAppCusorderdata(params).then(res2 => {
wx.hideLoading();
that.setData({
'business_licence.value':resp.data.data.url,
'business_licence.img':resp.data.data.full_url,
})
}).catch(res2=>{
wx.hideLoading();
if(res2.code==418){
that.setData({
'business_licence.value':resp.data.data.url,
'business_licence.img':resp.data.data.full_url,
'business_licence.err':!res2.data[0].business_licence,
'business_licence.errmsg':res2.data[0].errmsg,
})
@@ -246,25 +228,16 @@ Page({
},
success: (resp) => {
resp.data = JSON.parse(resp.data);
wx.hideLoading();
if (resp.data.code == 200) {
let params = {};
params['id'] = that.data.id;
params['register_img'] = resp.data.data.url;
_.apiQuery.putAppCusorderdata(params).then(res2 => {
wx.hideLoading();
that.setData({
'register_img.value':resp.data.data.url,
'register_img.img':resp.data.data.full_url,
})
}).catch(res2=>{
wx.hideLoading();
});
}else{
wx.hideLoading();
wx.showToast({
title: '上传失败',
icon: 'none',
duration: 2000
})
}
},
@@ -299,25 +272,16 @@ Page({
},
success: (resp) => {
resp.data = JSON.parse(resp.data);
wx.hideLoading();
if (resp.data.code == 200) {
let params = {};
params['id'] = that.data.id;
params['car_img'] = resp.data.data.url;
_.apiQuery.putAppCusorderdata(params).then(res2 => {
wx.hideLoading();
that.setData({
'car_img.value':resp.data.data.url,
'car_img.img':resp.data.data.full_url,
})
}).catch(res2=>{
wx.hideLoading();
});
}else{
wx.hideLoading();
wx.showToast({
title: '上传失败',
icon: 'none',
duration: 2000
})
}
},
@@ -344,7 +308,6 @@ Page({
title: '上传中',
})
let ins_img=that.data.ins_img
let k = 0
for (let i = 0; i < res1.tempFilePaths.length; i++) {
//上传图片
wx.uploadFile({
@@ -355,7 +318,6 @@ Page({
'app': 'liche'
},
success: (resp) => {
k = k + 1
resp.data = JSON.parse(resp.data);
if (resp.data.code == 200) {
let imgdata = resp.data
@@ -365,25 +327,23 @@ Page({
img:imgdata.data.full_url,
})
ins_img=ins_img.concat(list)
if(k == res1.tempFilePaths.length){
let params = {};
params['id'] = that.data.id;
let img = []
ins_img.forEach(item => {
img.push(item.value)
})
params['ins_imgs'] = img;
_.apiQuery.putAppCusorderdata(params).then(res2 => {
wx.hideLoading();
that.setData({
ins_img,
if(i+1==res1.tempFilePaths.length){
wx.hideLoading();
setTimeout(function () {
let params = {};
params['id'] = that.data.id;
let img = []
ins_img.forEach(item => {
img.push(item.value)
})
}).catch(res2=>{
wx.hideLoading();
});
params['ins_imgs'] = img;
_.apiQuery.putAppCusorderdata(params).then(res2 => {
that.setData({
ins_img,
})
})
}, 500);
}
}else{
wx.hideLoading();
}
},
@@ -412,7 +372,6 @@ Page({
title: '上传中',
})
let other_img=that.data.other_img
let k = 0
for (let i = 0; i < res1.tempFilePaths.length; i++) {
//上传图片
wx.uploadFile({
@@ -423,7 +382,6 @@ Page({
'app': 'liche'
},
success: (resp) => {
k = k + 1
resp.data = JSON.parse(resp.data);
if (resp.data.code == 200) {
let imgdata = resp.data
@@ -433,25 +391,23 @@ Page({
img:imgdata.data.full_url,
})
other_img=other_img.concat(list)
if(k == res1.tempFilePaths.length){
let params = {};
params['id'] = that.data.id;
let img = []
other_img.forEach(item => {
img.push(item.value)
})
params['other_imgs'] = img;
_.apiQuery.putAppCusorderdata(params).then(res2 => {
wx.hideLoading();
that.setData({
other_img,
if(i+1==res1.tempFilePaths.length){
wx.hideLoading();
setTimeout(function () {
let params = {};
params['id'] = that.data.id;
let img = []
other_img.forEach(item => {
img.push(item.value)
})
}).catch(res2=>{
wx.hideLoading();
});
params['other_imgs'] = img;
_.apiQuery.putAppCusorderdata(params).then(res2 => {
that.setData({
other_img,
})
})
}, 500);
}
}else{
wx.hideLoading();
}
},
@@ -505,20 +461,4 @@ Page({
}
},
//查看图片
previewImage: function (e) {
if(e.currentTarget.dataset.type=='cardida'){
wx.previewImage({
current:this.data.imgInfo.imgs.cardida.img,
urls:[this.data.imgInfo.imgs.cardida.img],
})
}
else if(e.currentTarget.dataset.type=='cardidb'){
wx.previewImage({
current:this.data.imgInfo.imgs.cardidb.img,
urls:[this.data.imgInfo.imgs.cardidb.img],
})
}
},
})
+8 -8
View File
@@ -3,18 +3,18 @@
<!-- <view class="mt40 font-32">身份证</view> -->
<view class="fn-flex mt30 text-center">
<view class="fn-flex-item relative mr10">
<view class="fn-flex-item relative mr10" bindtap="chooseImg" data-type="cardida">
<block wx:if="{{cardida.value}}">
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden">
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-shuaxin inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-4" bindtap="chooseImg" data-type="cardida"></i>
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-shuaxin inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-4"></i>
<view class="absolute top-0 left-0 bottom-0 right-0 bg-f00-op50 z-index-3" wx:if="{{cardida.err}}">
<view class="absolute left-0 right-0 box-middle pl20 pr20 text-break font-22 color-fff"><i class="iconfont icon-jinggao"></i>{{cardida.errmsg}}</view>
</view>
<image class='block wp100 img-h-200 ulib-r10' src='{{cardida.img}}' mode='aspectFit' bindtap="previewImage" data-type="cardida"></image>
<image class='block wp100 img-h-200 ulib-r10' src='{{cardida.img}}' mode='aspectFit'></image>
</view>
</block>
<block wx:else>
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-type="cardida">
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden">
<view class="absolute left-0 right-0 box-middle color-ccc">
<i class="iconfont icon-zhengmian font-60"></i>
<view class="mt10 font-22">上传身份证正面</view>
@@ -22,18 +22,18 @@
</view>
</block>
</view>
<view class="fn-flex-item relative ml10">
<view class="fn-flex-item relative ml10" bindtap="chooseImg" data-type="cardidb">
<block wx:if="{{cardidb.value}}">
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden">
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-shuaxin inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-4" bindtap="chooseImg" data-type="cardidb"></i>
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-shuaxin inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-4"></i>
<view class="absolute top-0 left-0 bottom-0 right-0 bg-f00-op50 z-index-3" wx:if="{{cardidb.err}}">
<view class="absolute left-0 right-0 box-middle pl20 pr20 text-break font-22 color-fff"><i class="iconfont icon-jinggao"></i>{{cardidb.errmsg}}</view>
</view>
<image class='block wp100 img-h-200 ulib-r10' src='{{cardidb.img}}' mode='aspectFit' bindtap="previewImage" data-type="cardidb"></image>
<image class='block wp100 img-h-200 ulib-r10' src='{{cardidb.img}}' mode='aspectFit'></image>
</view>
</block>
<block wx:else>
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-type="cardidb">
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden">
<view class="absolute left-0 right-0 box-middle color-ccc">
<i class="iconfont icon-fanmian font-60"></i>
<view class="mt10 font-22">上传身份证背面</view>
-106
View File
@@ -1,106 +0,0 @@
import _ from '../../../commons/js/commons'
const app = getApp()
Page({
data: {
delivery_ck_img:{},//交付确认单
},
onLoad: function (options) {
for (let key in options) {
this.setData({
[key]: options[key]
})
}
this.getAppCusorderdata()
},
onShow: function () {
},
//获取订单图片
getAppCusorderdata(){
let params = {};
params['id'] = this.data.id;
_.apiQuery.getAppCusorderdata(params).then(res=>{
this.setData({
imgInfo:res.data,
})
if(res.data.img_status == 1){
this.setData({
delivery_ck_img:res.data.imgs.delivery_ck_img.length==0?{}:res.data.imgs.delivery_ck_img,
})
}
wx.stopPullDownRefresh()
})
},
//选择图片
chooseImg(e) {
let that = this
//上传登记证
if(e.currentTarget.dataset.type=='delivery_ck_img'){
wx.chooseImage({
count: 1, // 默认9
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success(res) {
wx.showLoading({
title: '上传中',
})
wx.uploadFile({
url:_.config.api.upImg,
filePath:res.tempFilePaths[0],
name: 'img',
formData: {
'app': 'liche'
},
success: (resp) => {
resp.data = JSON.parse(resp.data);
if (resp.data.code == 200) {
let params = {};
params['id'] = that.data.id;
params['delivery_ck_img'] = resp.data.data.url;
_.apiQuery.putAppCusorderdata(params).then(res2 => {
wx.hideLoading();
that.setData({
'delivery_ck_img.value':resp.data.data.url,
'delivery_ck_img.img':resp.data.data.full_url,
})
}).catch(res2=>{
wx.hideLoading();
});
}else{
wx.hideLoading();
wx.showToast({
title: '上传失败',
icon: 'none',
duration: 2000
})
}
},
})
},
fail: res => {
wx.showToast({
title: '文件选择失败',
icon: 'none',
duration: 2000
})
}
})
}
},
//查看图片
previewImage: function (e) {
if(e.currentTarget.dataset.type=='delivery_ck_img'){
wx.previewImage({
current:this.data.imgInfo.imgs.delivery_ck_img.img,
urls:[this.data.imgInfo.imgs.delivery_ck_img.img],
})
}
},
})
-4
View File
@@ -1,4 +0,0 @@
{
"navigationBarTitleText": "交付确认单信息",
"usingComponents": {}
}
-10
View File
@@ -1,10 +0,0 @@
<view class="container">
<view class="inner30">
<block wx:if="{{delivery_ck_img.img}}">
<image class='block wp100' src='{{delivery_ck_img.img}}' mode='widthFix' bindtap="previewImage" data-type="delivery_ck_img"></image>
</block>
<block wx:else>
<lcb-listmore isNoData='{{true}}'></lcb-listmore>
</block>
</view>
</view>
-1
View File
@@ -1 +0,0 @@
/* pages/order/editDeliveryckimg/index.wxss */
+79 -380
View File
@@ -14,23 +14,7 @@ Page({
nums:[],//金融分期期数列表
numIndex:-1,//分期期数索引
num:'',//分期期数
notify_file_obj:[],
is_tiexi:0,//是否贴息
tab:[
{
title:'首付按揭',
value:1,
},
{
title:'车辆按揭',
value:0,
},
],
tabkey:1,
loan_rebate:0,
userInfo:'',
},
onLoad: function (options) {
for (let key in options) {
@@ -40,22 +24,12 @@ Page({
}
this.getAppCusorderV2()
this.getUserInfo()
},
onShow: function () {
},
//获取用户信息
getUserInfo(){
_.apiQuery.getUserInfo().then(res => {
this.setData({
userInfo: res,
})
});
},
//获取订单详情
getAppCusorderV2(){
let params = {};
@@ -63,118 +37,57 @@ Page({
_.apiQuery.getAppCusorderV2(params).then(res=>{
this.setData({
info:res.data,
notify_file_obj:res.data.notify_file,
lend_file_obj:res.data.lend_file,
price_loan:res.data.price_loan?res.data.price_loan:'',
})
if(this.data.tabkey==1&&res.data.price_loan0>0){
this.setData({
notify_file_obj:res.data.price_loan0_data.notify_file,
lend_file_obj:res.data.price_loan0_data.lend_file,
price_loan:res.data.price_loan0_data.price_loan?res.data.price_loan0_data.price_loan:'',
is_tiexi:res.data.price_loan0_data.is_tiexi,
loan_rebate:res.data.price_loan0_data.loan_rebate,
})
//匹配融机构
if(res.data.price_loan0_data.finance_id>0){
let finanparams = {};
finanparams['page'] = 1;
finanparams['size'] = 100;
_.apiQuery.getAppFinance(finanparams).then(res6 => {
if(res6.data.list.length>0){
let financeArray = []
res6.data.list.forEach((item,index) => {
if(item.id == res.data.price_loan0_data.finance_id){
this.setData({
financeIndex:index,
})
}
financeArray.push(item.title)
})
this.setData({
finance_id:res.data.price_loan0_data.finance_id,
financeArray:financeArray,
financeList:res6.data.list,
})
}
});
}else{
this.getAppFinance()
}
//匹配分期期数
if(res.data.price_loan0_data.num>0){
_.apiQuery.getAppFinanceNums().then(res1 => {
if(res1.data.list.length>0){
res1.data.list.forEach((item,index) => {
if(item == res.data.price_loan0_data.num){
this.setData({
numIndex:index,
})
}
})
this.setData({
num:res.data.price_loan0_data.num,
nums:res1.data.list,
})
}
})
}else{
this.getAppFinanceNums()
}
//匹配融机构
if(!!res.data.finance_id){
let finanparams = {};
finanparams['page'] = 1;
finanparams['size'] = 100;
_.apiQuery.getAppFinance(finanparams).then(res6 => {
if(res6.data.list.length>0){
let financeArray = []
res6.data.list.forEach((item,index) => {
if(item.id == res.data.finance_id){
this.setData({
financeIndex:index,
})
}
financeArray.push(item.title)
})
this.setData({
finance_id:res.data.finance_id,
financeArray:financeArray,
financeList:res6.data.list,
})
}
});
}else{
this.setData({
notify_file_obj:res.data.notify_file,
lend_file_obj:res.data.lend_file,
price_loan:res.data.price_loan?res.data.price_loan:'',
is_tiexi:res.data.is_tiexi,
loan_rebate:res.data.loan_rebate,
})
//匹配融机构
if(res.data.finance_id>0){
let finanparams = {};
finanparams['page'] = 1;
finanparams['size'] = 100;
_.apiQuery.getAppFinance(finanparams).then(res6 => {
if(res6.data.list.length>0){
let financeArray = []
res6.data.list.forEach((item,index) => {
if(item.id == res.data.finance_id){
this.setData({
financeIndex:index,
})
}
financeArray.push(item.title)
})
this.setData({
finance_id:res.data.finance_id,
financeArray:financeArray,
financeList:res6.data.list,
})
}
});
}else{
this.getAppFinance()
}
this.getAppFinance()
}
//匹配分期期数
if(res.data.num>0){
_.apiQuery.getAppFinanceNums().then(res1 => {
if(res1.data.list.length>0){
res1.data.list.forEach((item,index) => {
if(item == res.data.num){
this.setData({
numIndex:index,
})
}
})
this.setData({
num:res.data.num,
nums:res1.data.list,
})
}
})
}else{
this.getAppFinanceNums()
}
//匹配分期期数
if(!!res.data.num){
_.apiQuery.getAppFinanceNums().then(res1 => {
if(res1.data.list.length>0){
res1.data.list.forEach((item,index) => {
if(item == res.data.num){
this.setData({
numIndex:index,
})
}
})
this.setData({
num:res.data.num,
nums:res1.data.list,
})
}
})
}else{
this.getAppFinanceNums()
}
wx.stopPullDownRefresh()
@@ -220,53 +133,33 @@ Page({
//上传按揭通知函
chooseImg(e) {
let that = this
//上传保单
if(e.currentTarget.dataset.type=='notify'){
wx.chooseImage({
count: 10 - that.data.notify_file_obj.length, //
count: 1, // 默认9
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success(res1) {
success(res) {
wx.showLoading({
title: '上传中',
})
let notify_file_obj=that.data.notify_file_obj
let k = 0
for (let i = 0; i < res1.tempFilePaths.length; i++) {
//上传图片
wx.uploadFile({
url:_.config.api.upImg,
filePath:res1.tempFilePaths[i],
name: 'img',
formData: {
'app': 'liche'
},
success: (resp) => {
k = k + 1
resp.data = JSON.parse(resp.data);
if (resp.data.code == 200) {
let imgdata = resp.data
let list = []
list.push({
value:imgdata.data.url,
src:imgdata.data.full_url,
})
notify_file_obj=notify_file_obj.concat(list)
if(k == res1.tempFilePaths.length){
wx.hideLoading();
that.setData({
notify_file_obj,
})
}
}else{
wx.hideLoading();
}
},
})
}
wx.uploadFile({
url:_.config.api.upImg,
filePath:res.tempFilePaths[0],
name: 'img',
formData: {
'app': 'liche'
},
success: (resp) => {
resp.data = JSON.parse(resp.data);
wx.hideLoading();
if (resp.data.code == 200) {
that.setData({
'notify_file_obj.value':resp.data.data.url,
'notify_file_obj.src':resp.data.data.full_url,
})
}
},
})
},
fail: res => {
wx.showToast({
@@ -277,45 +170,6 @@ Page({
}
})
}
// if(e.currentTarget.dataset.type=='notify'){
// wx.chooseImage({
// count: 1, // 默认9
// sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
// sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
// success(res) {
// wx.showLoading({
// title: '上传中',
// })
// wx.uploadFile({
// url:_.config.api.upImg,
// filePath:res.tempFilePaths[0],
// name: 'img',
// formData: {
// 'app': 'liche'
// },
// success: (resp) => {
// resp.data = JSON.parse(resp.data);
// wx.hideLoading();
// if (resp.data.code == 200) {
// that.setData({
// 'notify_file_obj.value':resp.data.data.url,
// 'notify_file_obj.src':resp.data.data.full_url,
// })
// }
// },
// })
// },
// fail: res => {
// wx.showToast({
// title: '文件选择失败',
// icon: 'none',
// duration: 2000
// })
// }
// })
// }
if(e.currentTarget.dataset.type=='lend'){
wx.chooseImage({
count: 1, // 默认9
@@ -369,7 +223,7 @@ Page({
icon: 'none'
})
}
else if(!this.data.notify_file_obj.length>0){
else if(!this.data.notify_file_obj.src){
wx.showToast({
title: '请上传按揭通知函',
icon: 'none'
@@ -381,11 +235,6 @@ Page({
isShowConfirm:true,
})
}else{
let notify_file = []
this.data.notify_file_obj.forEach(item => {
notify_file.push(item.value)
})
let that = this
that.setData({
submitFlag: true,
@@ -393,7 +242,7 @@ Page({
let params = {};
params['o_id'] = that.data.id;
params['finance_id'] = that.data.finance_id;
params['notify_file'] = notify_file;
params['notify_file'] = that.data.notify_file_obj.value;
params['price_loan'] = that.data.price_loan;
if(that.data.lend_file_obj.value){
params['lend_file'] = that.data.lend_file_obj.value;
@@ -401,15 +250,6 @@ Page({
if(that.data.num){
params['num'] = that.data.num;
}
if(!(that.data.tabkey==1&&that.data.info.price_loan0>0)){
params['is_tiexi'] = that.data.is_tiexi;
}
if(that.data.tabkey==1&&that.data.info.price_loan0>0){
params['if_loan0'] = 1;
}
if(that.data.userInfo.biz_type==1){
params['loan_rebate'] = that.data.loan_rebate;
}
_.apiQuery.putAppLoan(params).then(res => {
that.setData({
@@ -446,10 +286,6 @@ Page({
//修改贷款信息
putAppLoan2() {
let notify_file = []
this.data.notify_file_obj.forEach(item => {
notify_file.push(item.value)
})
let that = this
that.setData({
submitFlag: true,
@@ -457,7 +293,7 @@ Page({
let params = {};
params['o_id'] = that.data.id;
params['finance_id'] = that.data.finance_id;
params['notify_file'] = notify_file;
params['notify_file'] = that.data.notify_file_obj.value;
params['price_loan'] = that.data.price_loan;
if(that.data.lend_file_obj.value){
params['lend_file'] = that.data.lend_file_obj.value;
@@ -465,15 +301,6 @@ Page({
if(that.data.num){
params['num'] = that.data.num;
}
if(!(that.data.tabkey==1&&that.data.info.price_loan0>0)){
params['is_tiexi'] = that.data.is_tiexi;
}
if(that.data.tabkey==1&&that.data.info.price_loan0>0){
params['if_loan0'] = 1;
}
if(that.data.userInfo.biz_type==1){
params['loan_rebate'] = that.data.loan_rebate;
}
_.apiQuery.putAppLoan(params).then(res => {
that.setData({
@@ -508,6 +335,14 @@ Page({
});
},
//查看图片
previewImage: function (e) {
wx.previewImage({
current:this.data.notify_file_obj.src,
urls:[this.data.notify_file_obj.src],
})
},
//获取金融分期期数
getAppFinanceNums(){
_.apiQuery.getAppFinanceNums().then(res => {
@@ -540,140 +375,4 @@ Page({
})
},
//查看图片
previewImage: function (e) {
if(e.currentTarget.dataset.type=='notify'){
let img = []
this.data.notify_file_obj.forEach(item => {
img.push(item.src)
})
wx.previewImage({
current:e.currentTarget.dataset.current,
urls:img,
})
}
else if(e.currentTarget.dataset.type=='lend'){
wx.previewImage({
current:this.data.lend_file_obj.src,
urls:[this.data.lend_file_obj.src],
})
}
},
// 编辑页面删除图片
delImg(e){
if(e.currentTarget.dataset.type=='notify'){
let notify_file_obj = this.data.notify_file_obj
notify_file_obj.splice(e.currentTarget.dataset.index, 1)
this.setData({
notify_file_obj,
})
}
},
//是否贴息
switchTiexi:function(e){
this.setData({
is_tiexi:e.detail.value ? 1 :0
})
},
//切换tab
changeTab(e){
this.setData({
tabkey: e.currentTarget.dataset.value,
})
if(this.data.tabkey==1){
this.setData({
notify_file_obj:this.data.info.price_loan0_data.notify_file,
lend_file_obj:this.data.info.price_loan0_data.lend_file,
price_loan:this.data.info.price_loan0_data.price_loan?this.data.info.price_loan0_data.price_loan:'',
is_tiexi:this.data.info.price_loan0_data.is_tiexi,
loan_rebate:this.data.info.price_loan0_data.loan_rebate?this.data.info.price_loan0_data.loan_rebate:0,
})
//匹配融机构
if(this.data.info.price_loan0_data.finance_id>0&&this.data.financeList.length>0){
this.data.financeList.forEach((item,index) => {
if(item.id == this.data.info.price_loan0_data.finance_id){
this.setData({
financeIndex:index,
})
}
})
this.setData({
finance_id:this.data.info.price_loan0_data.finance_id,
})
}else{
this.setData({
financeIndex:-1,//金融机构索引
finance_id:'',//金融机构id
})
}
//匹配分期期数
if(this.data.info.price_loan0_data.num&&this.data.nums.length>0){
this.data.nums.forEach((item,index) => {
if(item == this.data.info.price_loan0_data.num){
this.setData({
numIndex:index,
})
}
})
this.setData({
num:this.data.info.price_loan0_data.num,
})
}else{
this.setData({
numIndex:-1,//分期期数索引
num:'',//分期期数
})
}
}else{
this.setData({
notify_file_obj:this.data.info.notify_file,
lend_file_obj:this.data.info.lend_file,
price_loan:this.data.info.price_loan?this.data.info.price_loan:'',
is_tiexi:this.data.info.is_tiexi,
loan_rebate:this.data.info.loan_rebate?this.data.info.loan_rebate:0,
})
//匹配融机构
if(this.data.info.finance_id>0&&this.data.financeList.length>0){
this.data.financeList.forEach((item,index) => {
if(item.id == this.data.info.finance_id){
this.setData({
financeIndex:index,
})
}
})
this.setData({
finance_id:this.data.info.finance_id,
})
}else{
this.setData({
financeIndex:-1,//金融机构索引
finance_id:'',//金融机构id
})
}
//匹配分期期数
if(this.data.info.num>0&&this.data.nums.length>0){
this.data.nums.forEach((item,index) => {
if(item == this.data.info.num){
this.setData({
numIndex:index,
})
}
})
this.setData({
num:this.data.info.num,
})
}else{
this.setData({
numIndex:-1,//分期期数索引
num:'',//分期期数
})
}
}
},
})
+22 -71
View File
@@ -1,14 +1,6 @@
<view class="container">
<view class="inner30">
<view class="fn-flex mt5 pl100 pr100 font-32 color-666 text-center" wx:if="{{info.price_loan0>0}}">
<block wx:for='{{tab}}' wx:key='list'>
<view class="fn-flex-item pl20 pr20 tabmenu2 {{tabkey == item.value?'active color-36afa2':''}}" data-value="{{item.value}}" bindtap="changeTab">
<view class="relative">{{item.title}}</view>
</view>
</block>
</view>
<block wx:if="{{(info.price_loan0>0&&tabkey==1&&!info.price_loan0_status)||(info.price_loan0>0&&tabkey==0&&!info.price_loan_status)||(!(info.price_loan0>0)&&!info.price_loan_status)}}">
<block wx:if="{{info.edit_status==1}}">
<view class="relative bbs-1-eb pl190 last-b-none" wx:if="{{financeArray.length>0}}">
<view class="absolute left-0 box-middle font-28 color-333">金融机构<text class="color-f9394d">*</text></view>
<view class="pt30 pb30 text-right font-28">
@@ -35,40 +27,25 @@
</picker>
</view>
</view>
<view class="relative bbs-1-eb last-b-none pl180 font-28" wx:if="{{!(info.price_loan0>0&&tabkey==1)}}">
<view class="absolute left-0 box-middle">是否贴息</view>
<view class="relative pt30 pb30 text-right">
<switch checked="{{is_tiexi==1}}" bindchange="switchTiexi" type="switch" color='#36afa2' style="zoom:0.8" />
</view>
</view>
<block wx:if="{{userInfo.biz_type==1}}">
<view class="relative bbs-1-eb last-b-none pl140 pr40 font-28">
<view class="absolute left-0 box-middle">按揭返点</view>
<view>
<input class="wp100 height-100 text-right font-28" placeholder-class="color-ccc" type="digit" placeholder="请输入按揭返点" model:value='{{loan_rebate}}' />
</view>
<view class="absolute right-0 box-middle">%</view>
</view>
</block>
<view class="relative">
<view class="mt30 font-28">按揭通知函<text class="color-f9394d">*</text></view>
<view class="mt30 pb30 text-center">
<scroll-view class="space-nowrap" scroll-x="true">
<block wx:for='{{notify_file_obj}}' wx:for-item='notify' wx:key='index'>
<view class="inline-block bg-f8 img-300x200 ml10 mr10 relative ulib-r10 overflowhidden">
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-guanbi1 inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-1" bindtap="delImg" data-type="notify" data-index="{{index}}" ></i>
<image class='block wp100 img-h-200 ulib-r10' src='{{notify.src}}' mode='aspectFit' bindtap="previewImage" data-type="notify" data-current="{{notify.src}}"></image>
<view class="mt30 text-center">
<view class="inline-block img-300x200 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-type="notify" >
<block wx:if="{{notify_file_obj.value}}">
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden">
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-shuaxin inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-4"></i>
<image class='block wp100 img-h-200 ulib-r10' src='{{notify_file_obj.src}}' mode='aspectFit'></image>
</view>
</block>
<block wx:if="{{notify_file_obj.length<10}}">
<view class="inline-block bg-f8 img-300x200 ml10 mr10 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-type="notify">
<block wx:else>
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden">
<view class="absolute left-0 right-0 box-middle color-ccc">
<i class="iconfont icon-paizhao font-48"></i>
<i class="iconfont icon-fanmian font-60"></i>
<view class="mt10 font-22">上传按揭通知函</view>
</view>
</view>
</block>
</scroll-view>
</view>
</view>
</view>
</block>
@@ -81,53 +58,31 @@
<view class="absolute left-0 box-middle">贷款金额</view>
<view class="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx;">{{price_loan}}</view>
</view>
<view class="relative bbs-1-eb last-b-none pl180 font-28">
<view class="absolute left-0 box-middle">分期期数</view>
<view class="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx;">{{nums[numIndex]}}</view>
</view>
<view class="relative bbs-1-eb last-b-none pl180 font-28" wx:if="{{!(info.price_loan0>0&&tabkey==1)}}">
<view class="absolute left-0 box-middle">是否贴息</view>
<view class="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx;">{{is_tiexi==1?'是':'否'}}</view>
</view>
<block wx:if="{{userInfo.biz_type==1}}">
<view class="relative bbs-1-eb last-b-none pl140 pr40 font-28">
<view class="absolute left-0 box-middle">按揭返点</view>
<view class="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx;">{{loan_rebate}}%</view>
</view>
</block>
<view class="relative">
<view class="mt30 font-28">按揭通知函</view>
<view class="mt30 pb30 text-center">
<scroll-view class="space-nowrap" scroll-x="true">
<block wx:for='{{notify_file_obj}}' wx:for-item='notify' wx:key='index'>
<view class="inline-block bg-f8 img-300x200 ml10 mr10 relative ulib-r10 overflowhidden">
<image class='block wp100 img-h-200 ulib-r10' src='{{notify.src}}' mode='aspectFit' bindtap="previewImage" data-type="notify" data-current="{{notify.src}}"></image>
<view class="mt30 text-center">
<view class="inline-block img-300x200 relative ulib-r10 overflowhidden" bindtap="previewImage">
<block wx:if="{{notify_file_obj.value}}">
<view class="inline-block img-300x200 relative ulib-r10 overflowhidden">
<image class='block wp100 img-h-200 ulib-r10' src='{{notify_file_obj.src}}' mode='aspectFit'></image>
</view>
</block>
<block wx:if="{{notify_file_obj.length==0}}">
<view class="inline-block bg-f8 img-300x200 ml10 mr10 relative ulib-r10 overflowhidden">
<view class="absolute left-0 right-0 box-middle color-ccc">
<i class="iconfont icon-paizhao font-48"></i>
<view class="mt10 font-22">没有上传按揭通知函</view>
</view>
</view>
</block>
</scroll-view>
</view>
</view>
</view>
</block>
<view class="relative">
<view class="mt30 font-28">放款通知函</view>
<view class="mt30 text-center">
<view class="inline-block img-300x200 relative ulib-r10 overflowhidden">
<view class="inline-block img-300x200 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-type="lend">
<block wx:if="{{lend_file_obj.value}}">
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden">
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-shuaxin inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-4" bindtap="chooseImg" data-type="lend"></i>
<image class='block wp100 img-h-200 ulib-r10' src='{{lend_file_obj.src}}' mode='aspectFit' bindtap="previewImage" data-type="lend"></image>
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-shuaxin inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-4"></i>
<image class='block wp100 img-h-200 ulib-r10' src='{{lend_file_obj.src}}' mode='aspectFit'></image>
</view>
</block>
<block wx:else>
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-type="lend">
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden">
<view class="absolute left-0 right-0 box-middle color-ccc">
<i class="iconfont icon-fanmian font-60"></i>
<view class="mt10 font-22">上传放款通知函</view>
@@ -140,7 +95,7 @@
</view>
</view>
<view class="fixed left-0 right-0 bottom-0 bg-fff-op90 inner40 fn-flex safe-pb" wx:if="{{(info.price_loan0>0&&tabkey==1&&!info.price_loan0_status)||(info.price_loan0>0&&tabkey==0&&!info.price_loan_status)||(!(info.price_loan0>0)&&!info.price_loan_status)}}">
<view class="fixed left-0 right-0 bottom-0 bg-fff-op90 inner40 fn-flex safe-pb">
<button class="wp100 btn-36afa2 pt10 pb10 text-center font-32 color-fff ulib-r750" hover-class="btn-36afa2-hover" disabled="{{submitFlag}}" bindtap="putAppLoan1">确认</button>
</view>
@@ -153,10 +108,6 @@
<view class="mt20 font-28 color-666">金融机构:{{financeArray[financeIndex]}}</view>
<view class="mt20 font-28 color-666">贷款金额:{{price_loan}}</view>
<view class="mt20 font-28 color-666">分期期数:{{num}}</view>
<view class="mt20 font-28 color-666" wx:if="{{!(info.price_loan0>0&&tabkey==1)}}">是否贴息:{{is_tiexi==1?'是':'否'}}</view>
<block wx:if="{{userInfo.biz_type==1}}">
<view class="mt20 font-28 color-666">按揭返点:{{loan_rebate}}%</view>
</block>
</view>
</view>
<view class="pl60 pr60 pb50 text-center font-32 color-666 fn-flex">
+1 -3
View File
@@ -1,3 +1 @@
.tabmenu2{display:inline-block;line-height:72rpx;}
.tabmenu2.active view.relative{display:inline-block;}
.tabmenu2.active view.relative::before{display:inline-block;position:absolute;bottom:0;left:50%;transform:translate(-50%,0);width:64rpx;height:6rpx;content:"";background-color:#36afa2;}
/* pages/order/editFinance/index.wxss */
+19 -195
View File
@@ -11,28 +11,16 @@ Page({
insurance_img:{},//交强险
business_img:{},//商业险
accident_img:{},//意外险
ins_img:[],//其他保险照片
isEditInsurance:false,
isEditBusiness:false,
isEditAccident:false,
insurance_product:'',
insurance_date:'',
insurance_price:'',
insurance_rebate:0,
insurance_rebate_am:0,
business_product:'',
business_date:'',
business_price:'',
business_rebate:0,
business_rebate_am:0,
accident_product:'',
accident_date:'',
accident_price:'',
accident_rebate:0,
accident_rebate_am:0,
userInfo:'',
},
onLoad: function (options) {
for (let key in options) {
@@ -42,23 +30,12 @@ Page({
}
this.getAppCusorderdata()
this.getUserInfo()
},
onShow: function () {
},
//获取用户信息
getUserInfo(){
_.apiQuery.getUserInfo().then(res => {
this.setData({
userInfo: res,
})
});
},
//获取订单图片
getAppCusorderdata(){
let params = {};
@@ -72,15 +49,12 @@ Page({
ins_img:res.data.imgs.ins_img.length==0?[]:res.data.imgs.ins_img,
insurance_img:res.data.imgs.insurance_img.length==0?{}:res.data.imgs.insurance_img,
business_img:res.data.imgs.business_img.length==0?{}:res.data.imgs.business_img,
accident_img:res.data.imgs.accident_img.length==0?{}:res.data.imgs.accident_img,
})
if(res.data.imgs.insurance_img.length!=0&&res.data.imgs.insurance_img.value){
this.setData({
insurance_product:res.data.imgs.insurance_img.product,
insurance_date:res.data.imgs.insurance_img.date,
insurance_price:res.data.imgs.insurance_img.price,
insurance_rebate:res.data.imgs.insurance_img.rebate,
insurance_rebate_am:res.data.imgs.insurance_img.rebate>0?Math.floor(res.data.imgs.insurance_img.price*res.data.imgs.insurance_img.rebate)/100:0,
})
}
if(res.data.imgs.business_img.length!=0&&res.data.imgs.business_img.value){
@@ -88,17 +62,6 @@ Page({
business_product:res.data.imgs.business_img.product,
business_date:res.data.imgs.business_img.date,
business_price:res.data.imgs.business_img.price,
business_rebate:res.data.imgs.business_img.rebate,
business_rebate_am:res.data.imgs.business_img.rebate>0?Math.floor(res.data.imgs.business_img.price*res.data.imgs.business_img.rebate)/100:0,
})
}
if(res.data.imgs.accident_img.length!=0&&res.data.imgs.accident_img.value){
this.setData({
accident_product:res.data.imgs.accident_img.product,
accident_date:res.data.imgs.accident_img.date,
accident_price:res.data.imgs.accident_img.price,
accident_rebate:res.data.imgs.accident_img.rebate,
accident_rebate_am:res.data.imgs.accident_img.rebate>0?Math.floor(res.data.imgs.accident_img.price*res.data.imgs.accident_img.rebate)/100:0,
})
}
}
@@ -129,6 +92,7 @@ Page({
},
success: (resp) => {
resp.data = JSON.parse(resp.data);
if (resp.data.code == 200) {
let params = {};
params['id'] = that.data.id;
@@ -142,15 +106,6 @@ Page({
that.getAppCusorderdata()
}).catch(res2=>{
wx.hideLoading();
});
}else{
wx.hideLoading();
wx.showToast({
title: '上传失败',
icon: 'none',
duration: 2000
})
}
},
@@ -185,6 +140,7 @@ Page({
},
success: (resp) => {
resp.data = JSON.parse(resp.data);
if (resp.data.code == 200) {
let params = {};
params['id'] = that.data.id;
@@ -198,15 +154,6 @@ Page({
that.getAppCusorderdata()
}).catch(res2=>{
wx.hideLoading();
});
}else{
wx.hideLoading();
wx.showToast({
title: '上传失败',
icon: 'none',
duration: 2000
})
}
},
@@ -222,63 +169,7 @@ Page({
})
}
//上传意外
if(e.currentTarget.dataset.type=='accident_img'){
wx.chooseImage({
count: 1, // 默认9
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success(res) {
wx.showLoading({
title: '上传中',
})
wx.uploadFile({
url:_.config.api.upImg,
filePath:res.tempFilePaths[0],
name: 'img',
formData: {
'app': 'liche'
},
success: (resp) => {
resp.data = JSON.parse(resp.data);
if (resp.data.code == 200) {
let params = {};
params['id'] = that.data.id;
params['accident_img'] = resp.data.data.url;
_.apiQuery.putAppCusorderdata(params).then(res2 => {
wx.hideLoading();
that.setData({
isEditAccident:false,
})
that.getAppCusorderdata()
}).catch(res2=>{
wx.hideLoading();
});
}else{
wx.hideLoading();
wx.showToast({
title: '上传失败',
icon: 'none',
duration: 2000
})
}
},
})
},
fail: res => {
wx.showToast({
title: '文件选择失败',
icon: 'none',
duration: 2000
})
}
})
}
//上传其他保险
//上传其它保
if(e.currentTarget.dataset.type=='ins_img'){
wx.chooseImage({
count: 10 - that.data.ins_img.length, //
@@ -289,7 +180,6 @@ Page({
title: '上传中',
})
let ins_img=that.data.ins_img
let k = 0
for (let i = 0; i < res1.tempFilePaths.length; i++) {
//上传图片
wx.uploadFile({
@@ -300,7 +190,6 @@ Page({
'app': 'liche'
},
success: (resp) => {
k = k + 1
resp.data = JSON.parse(resp.data);
if (resp.data.code == 200) {
let imgdata = resp.data
@@ -310,25 +199,24 @@ Page({
img:imgdata.data.full_url,
})
ins_img=ins_img.concat(list)
if(k == res1.tempFilePaths.length){
let params = {};
params['id'] = that.data.id;
let img = []
ins_img.forEach(item => {
img.push(item.value)
})
params['ins_imgs'] = img;
_.apiQuery.putAppCusorderdata(params).then(res2 => {
if(i+1==res1.tempFilePaths.length){
setTimeout(function () {
let params = {};
params['id'] = that.data.id;
let img = []
ins_img.forEach(item => {
img.push(item.value)
})
params['ins_imgs'] = img;
_.apiQuery.putAppCusorderdata(params).then(res2 => {
wx.hideLoading();
that.getAppCusorderdata()
wx.hideLoading();
that.getAppCusorderdata()
}).catch(res2=>{
wx.hideLoading();
});
})
}, 500);
}
}else{
wx.hideLoading();
}
},
@@ -398,13 +286,6 @@ Page({
})
},
//显示隐藏意外险
optEditAccident(){
this.setData({
isEditAccident:!this.data.isEditAccident,
})
},
//输入
inputTx(e) {
this.setData({
@@ -424,11 +305,6 @@ Page({
business_date: e.detail.value,
})
}
else if(e.currentTarget.dataset.type=='accident'){
this.setData({
accident_date: e.detail.value,
})
}
},
//保单信息确认
@@ -440,27 +316,12 @@ Page({
params['product'] = this.data.insurance_product;
params['price'] = this.data.insurance_price;
params['date'] = this.data.insurance_date;
if(this.data.userInfo.biz_type==1){
params['rebate'] = this.data.insurance_rebate;
}
}
else if(e.currentTarget.dataset.type=='business'){
params['type'] = 0;
params['product'] = this.data.business_product;
params['price'] = this.data.business_price;
params['date'] = this.data.business_date;
if(this.data.userInfo.biz_type==1){
params['rebate'] = this.data.business_rebate;
}
}
else if(e.currentTarget.dataset.type=='accident'){
params['type'] = 2;
params['product'] = this.data.accident_product;
params['price'] = this.data.accident_price;
params['date'] = this.data.accident_date;
if(this.data.userInfo.biz_type==1){
params['rebate'] = this.data.accident_rebate;
}
}
_.apiQuery.putAppCusorderdataInfo(params).then(res => {
@@ -478,48 +339,11 @@ Page({
this.setData({
isEditBusiness:false,
})
}
else if(e.currentTarget.dataset.type=='accident'){
this.setData({
isEditAccident:false,
})
}
}
this.getAppCusorderdata()
});
},
//查看图片
previewImage: function (e) {
if(e.currentTarget.dataset.type=='insurance_img'){
wx.previewImage({
current:this.data.imgInfo.imgs.insurance_img.img,
urls:[this.data.imgInfo.imgs.insurance_img.img],
})
}
else if(e.currentTarget.dataset.type=='business_img'){
wx.previewImage({
current:this.data.imgInfo.imgs.business_img.img,
urls:[this.data.imgInfo.imgs.business_img.img],
})
}
else if(e.currentTarget.dataset.type=='accident_img'){
wx.previewImage({
current:this.data.imgInfo.imgs.accident_img.img,
urls:[this.data.imgInfo.imgs.accident_img.img],
})
}
else if(e.currentTarget.dataset.type=='ins_img'){
let img = []
this.data.imgInfo.imgs.ins_img.forEach(item => {
img.push(item.img)
})
wx.previewImage({
current:e.currentTarget.dataset.current,
urls:img,
})
}
},
})
+15 -128
View File
@@ -1,19 +1,19 @@
<view class="container">
<view class="inner30 pb100">
<view class="inner30">
<view class="pl40 pr40 pt40 relative ulib-r10 box-shadow-000-10-10 overflowhidden">
<view class="font-28 text-center text-bold">交强险</view>
<view class="mt30 pb30 text-center">
<view class="inline-block img-300x200 relative ulib-r10 overflowhidden">
<view class="inline-block img-300x200 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-type="insurance_img">
<block wx:if="{{insurance_img.value}}">
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden">
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-shuaxin inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-1" bindtap="chooseImg" data-type="insurance_img"></i>
<image class='block wp100 img-h-200 ulib-r10' src='{{insurance_img.img}}' mode='aspectFit' bindtap="previewImage" data-type="insurance_img"></image>
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-shuaxin inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-1"></i>
<image class='block wp100 img-h-200 ulib-r10' src='{{insurance_img.img}}' mode='aspectFit'></image>
</view>
</block>
<block wx:else>
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-type="insurance_img">
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden">
<view class="absolute left-0 right-0 box-middle color-ccc">
<i class="iconfont icon-paizhao font-48"></i>
<view class="mt10 font-22">上传交强险</view>
@@ -34,14 +34,6 @@
<view class="mt20 relative font-28">
保险金额:{{insurance_img.price}}元
</view>
<block wx:if="{{userInfo.biz_type==1}}">
<view class="mt20 relative font-28">
保险返点:{{insurance_rebate}}%
</view>
<view class="mt20 relative font-28">
返点金额:{{insurance_rebate_am}}元
</view>
</block>
</view>
<view wx:elif="{{insurance_img.value}}">
<view class="relative bbs-1-eb last-b-none pl140 font-28">
@@ -67,15 +59,6 @@
</view>
<view class="absolute right-0 box-middle">元</view>
</view>
<block wx:if="{{userInfo.biz_type==1}}">
<view class="relative bbs-1-eb last-b-none pl140 pr40 font-28">
<view class="absolute left-0 box-middle">保险返点</view>
<view>
<input class="wp100 height-100 text-right font-28" placeholder-class="color-ccc" type="digit" placeholder="请输入保险返点" bindinput='inputTx' data-key="insurance_rebate" name='insurance_rebate' value='{{insurance_rebate}}' always-embed='{{true}}' />
</view>
<view class="absolute right-0 box-middle">%</view>
</view>
</block>
<view class="relative bbs-1-eb last-b-none pt30 pb30 text-center font-28">
<button class="inline-block text-middle font-22 color-fff ulib-r10 btn-36afa2" hover-class="btn-36afa2-hover" bindtap="putAppCusorderdataInfo" data-type="insurance">确定修改</button>
</view>
@@ -85,15 +68,15 @@
<view class="mt50 pl40 pr40 pt40 relative ulib-r10 box-shadow-000-10-10 overflowhidden">
<view class="font-28 text-center text-bold">商业险</view>
<view class="mt30 pb30 text-center">
<view class="inline-block img-300x200 relative ulib-r10 overflowhidden">
<view class="inline-block img-300x200 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-type="business_img">
<block wx:if="{{business_img.value}}">
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden">
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-shuaxin inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-1" bindtap="chooseImg" data-type="business_img"></i>
<image class='block wp100 img-h-200 ulib-r10' src='{{business_img.img}}' mode='aspectFit' bindtap="previewImage" data-type="business_img"></image>
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-shuaxin inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-1"></i>
<image class='block wp100 img-h-200 ulib-r10' src='{{business_img.img}}' mode='aspectFit'></image>
</view>
</block>
<block wx:else>
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-type="business_img">
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden">
<view class="absolute left-0 right-0 box-middle color-ccc">
<i class="iconfont icon-paizhao font-48"></i>
<view class="mt10 font-22">上传商业险</view>
@@ -114,14 +97,6 @@
<view class="mt20 relative font-28">
保险金额:{{business_img.price}}元
</view>
<block wx:if="{{userInfo.biz_type==1}}">
<view class="mt20 relative font-28">
保险返点:{{business_rebate}}%
</view>
<view class="mt20 relative font-28">
返点金额:{{business_rebate_am}}元
</view>
</block>
</view>
<view wx:elif="{{business_img.value}}">
<view class="relative bbs-1-eb last-b-none pl140 font-28">
@@ -147,122 +122,34 @@
</view>
<view class="absolute right-0 box-middle">元</view>
</view>
<block wx:if="{{userInfo.biz_type==1}}">
<view class="relative bbs-1-eb last-b-none pl140 pr40 font-28">
<view class="absolute left-0 box-middle">保险返点</view>
<view>
<input class="wp100 height-100 text-right font-28" placeholder-class="color-ccc" type="digit" placeholder="请输入保险返点" bindinput='inputTx' data-key="business_rebate" name='business_rebate' value='{{business_rebate}}' always-embed='{{true}}' />
</view>
<view class="absolute right-0 box-middle">%</view>
</view>
<view class="relative bbs-1-eb last-b-none pt30 pb30 text-center font-28">
<button class="inline-block text-middle font-22 color-fff ulib-r10 btn-36afa2" hover-class="btn-36afa2-hover" bindtap="putAppCusorderdataInfo" data-type="business">确定修改</button>
</view>
</block>
</view>
</view>
<view class="mt50 pl40 pr40 pt40 relative ulib-r10 box-shadow-000-10-10 overflowhidden">
<view class="font-28 text-center text-bold">意外险</view>
<view class="mt30 pb30 text-center">
<view class="inline-block img-300x200 relative ulib-r10 overflowhidden">
<block wx:if="{{accident_img.value}}">
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden">
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-shuaxin inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-1" bindtap="chooseImg" data-type="accident_img"></i>
<image class='block wp100 img-h-200 ulib-r10' src='{{accident_img.img}}' mode='aspectFit' bindtap="previewImage" data-type="accident_img"></image>
</view>
</block>
<block wx:else>
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-type="accident_img">
<view class="absolute left-0 right-0 box-middle color-ccc">
<i class="iconfont icon-paizhao font-48"></i>
<view class="mt10 font-22">上传意外险</view>
</view>
</view>
</block>
</view>
</view>
<view class="relative bg-f8 mb40 inner40 ulib-r10 overflowhidden font-28" wx:if="{{accident_img.value&&!isEditAccident}}">
<view class="sellout-tip font-24" bindtap="optEditAccident">修改</view>
<view class="relative font-28">
保险公司:{{accident_img.product}}
</view>
<view class="mt20 relative font-28">
生效日期:{{accident_img.date}}
</view>
<view class="mt20 relative font-28">
保险金额:{{accident_img.price}}元
</view>
<block wx:if="{{userInfo.biz_type==1}}">
<view class="mt20 relative font-28">
保险返点:{{accident_rebate}}%
</view>
<view class="mt20 relative font-28">
返点金额:{{accident_rebate_am}}元
</view>
</block>
</view>
<view wx:elif="{{accident_img.value}}">
<view class="relative bbs-1-eb last-b-none pl140 font-28">
<view class="absolute left-0 box-middle">保险公司</view>
<view>
<input class="wp100 height-100 text-right font-28" placeholder-class="color-ccc" type="text" placeholder="请输入保险公司" bindinput='inputTx' data-key="accident_product" name='accident_product' value='{{accident_product}}' 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="pt30 pb30 text-right font-28 color-666">
<picker mode="date" value="{{accident_date}}" bindchange="selectDate" data-type="accident">
<text class="color-ccc" wx:if="{{accident_date == ''}}">请选择</text>
<text wx:else>{{accident_date}}</text>
<i class="iconfont ml10 icon-gengduo"></i>
</picker>
</view>
</view>
<view class="relative bbs-1-eb last-b-none pl140 pr40 font-28">
<view class="absolute left-0 box-middle">保险金额</view>
<view>
<input class="wp100 height-100 text-right font-28" placeholder-class="color-ccc" type="digit" placeholder="请输入保险金额" bindinput='inputTx' data-key="accident_price" name='accident_price' value='{{accident_price}}' always-embed='{{true}}' />
</view>
<view class="absolute right-0 box-middle">元</view>
</view>
<block wx:if="{{userInfo.biz_type==1}}">
<view class="relative bbs-1-eb last-b-none pl140 pr40 font-28">
<view class="absolute left-0 box-middle">保险返点</view>
<view>
<input class="wp100 height-100 text-right font-28" placeholder-class="color-ccc" type="digit" placeholder="请输入保险返点" bindinput='inputTx' data-key="accident_rebate" name='accident_rebate' value='{{accident_rebate}}' always-embed='{{true}}' />
</view>
<view class="absolute right-0 box-middle">%</view>
</view>
</block>
<view class="relative bbs-1-eb last-b-none pt30 pb30 text-center font-28">
<button class="inline-block text-middle font-22 color-fff ulib-r10 btn-36afa2" hover-class="btn-36afa2-hover" bindtap="putAppCusorderdataInfo" data-type="accident">确定修改</button>
<button class="inline-block text-middle font-22 color-fff ulib-r10 btn-36afa2" hover-class="btn-36afa2-hover" bindtap="putAppCusorderdataInfo" data-type="business">确定修改</button>
</view>
</view>
</view>
<!-- <view class="mt50 pt40 relative ulib-r10 box-shadow-000-10-10 overflowhidden">
<view class="mt50 pt40 relative ulib-r10 box-shadow-000-10-10 overflowhidden">
<view class="font-28 text-center text-bold">其他保险</view>
<view class="mt30 pb30 text-center">
<scroll-view class="space-nowrap" scroll-x="true">
<block wx:for='{{ins_img}}' wx:for-item='ins_img' wx:key='index'>
<view class="inline-block bg-f8 img-300x200 ml10 mr10 relative ulib-r10 overflowhidden">
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-guanbi1 inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-1" bindtap="delImg" data-type="ins_img" data-index="{{index}}" ></i>
<image class='block wp100 img-h-200 ulib-r10' src='{{ins_img.img}}' mode='aspectFit' bindtap="previewImage" data-type="ins_img" data-current="{{ins_img.img}}"></image>
<image class='block wp100 img-h-200 ulib-r10' src='{{ins_img.img}}' mode='aspectFit'></image>
</view>
</block>
<block wx:if="{{ins_img.length<10}}">
<view class="inline-block bg-f8 img-300x200 ml10 mr10 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-type="ins_img">
<view class="absolute left-0 right-0 box-middle color-ccc">
<i class="iconfont icon-paizhao font-48"></i>
<view class="mt10 font-22">上传其保险</view>
<view class="mt10 font-22">上传其保险</view>
</view>
</view>
</block>
</scroll-view>
</view>
</view> -->
</view>
</view>
</view>
+53 -119
View File
@@ -69,34 +69,26 @@ Page({
},
success: (resp) => {
resp.data = JSON.parse(resp.data);
wx.hideLoading();
if (resp.data.code == 200) {
that.setData({
'cardida.value':resp.data.data.url,
'cardida.img':resp.data.data.full_url,
})
let params = {};
params['id'] = that.data.id;
params['cardida'] = resp.data.data.url;
_.apiQuery.putAppCusorderdata(params).then(res2 => {
wx.hideLoading();
that.setData({
'cardida.value':resp.data.data.url,
'cardida.img':resp.data.data.full_url,
})
}).catch(res2=>{
wx.hideLoading();
if(res2.code==418){
that.setData({
'cardida.value':resp.data.data.url,
'cardida.img':resp.data.data.full_url,
'cardida.err':!res2.data[0].caridA,
'cardida.errmsg':res2.data[0].errmsg,
})
}
});
}else{
wx.hideLoading();
wx.showToast({
title: '上传失败',
icon: 'none',
duration: 2000
})
}
},
})
@@ -130,34 +122,26 @@ Page({
},
success: (resp) => {
resp.data = JSON.parse(resp.data);
wx.hideLoading();
if (resp.data.code == 200) {
that.setData({
'cardidb.value':resp.data.data.url,
'cardidb.img':resp.data.data.full_url,
})
let params = {};
params['id'] = that.data.id;
params['cardidb'] = resp.data.data.url;
_.apiQuery.putAppCusorderdata(params).then(res2 => {
wx.hideLoading();
that.setData({
'cardidb.value':resp.data.data.url,
'cardidb.img':resp.data.data.full_url,
})
}).catch(res2=>{
wx.hideLoading();
if(res2.code==418){
that.setData({
'cardidb.value':resp.data.data.url,
'cardidb.img':resp.data.data.full_url,
'cardidb.err':!res2.data[1].caridB,
'cardidb.errmsg':res2.data[1].errmsg,
})
}
});
}else{
wx.hideLoading();
wx.showToast({
title: '上传失败',
icon: 'none',
duration: 2000
})
}
},
})
@@ -191,34 +175,26 @@ Page({
},
success: (resp) => {
resp.data = JSON.parse(resp.data);
wx.hideLoading();
if (resp.data.code == 200) {
that.setData({
'business_licence.value':resp.data.data.url,
'business_licence.img':resp.data.data.full_url,
})
let params = {};
params['id'] = that.data.id;
params['business_licence'] = resp.data.data.url;
_.apiQuery.putAppCusorderdata(params).then(res2 => {
wx.hideLoading();
that.setData({
'business_licence.value':resp.data.data.url,
'business_licence.img':resp.data.data.full_url,
})
}).catch(res2=>{
wx.hideLoading();
if(res2.code==418){
that.setData({
'business_licence.value':resp.data.data.url,
'business_licence.img':resp.data.data.full_url,
'business_licence.err':!res2.data[0].business_licence,
'business_licence.errmsg':res2.data[0].errmsg,
})
}
});
}else{
wx.hideLoading();
wx.showToast({
title: '上传失败',
icon: 'none',
duration: 2000
})
}
},
})
@@ -252,25 +228,16 @@ Page({
},
success: (resp) => {
resp.data = JSON.parse(resp.data);
wx.hideLoading();
if (resp.data.code == 200) {
let params = {};
params['id'] = that.data.id;
params['register_img'] = resp.data.data.url;
_.apiQuery.putAppCusorderdata(params).then(res2 => {
wx.hideLoading();
that.setData({
'register_img.value':resp.data.data.url,
'register_img.img':resp.data.data.full_url,
})
}).catch(res2=>{
wx.hideLoading();
});
}else{
wx.hideLoading();
wx.showToast({
title: '上传失败',
icon: 'none',
duration: 2000
})
}
},
@@ -305,25 +272,16 @@ Page({
},
success: (resp) => {
resp.data = JSON.parse(resp.data);
wx.hideLoading();
if (resp.data.code == 200) {
let params = {};
params['id'] = that.data.id;
params['car_img'] = resp.data.data.url;
_.apiQuery.putAppCusorderdata(params).then(res2 => {
wx.hideLoading();
that.setData({
'car_img.value':resp.data.data.url,
'car_img.img':resp.data.data.full_url,
})
}).catch(res2=>{
wx.hideLoading();
});
}else{
wx.hideLoading();
wx.showToast({
title: '上传失败',
icon: 'none',
duration: 2000
})
}
},
@@ -350,7 +308,6 @@ Page({
title: '上传中',
})
let ins_img=that.data.ins_img
let k = 0
for (let i = 0; i < res1.tempFilePaths.length; i++) {
//上传图片
wx.uploadFile({
@@ -361,7 +318,6 @@ Page({
'app': 'liche'
},
success: (resp) => {
k = k + 1
resp.data = JSON.parse(resp.data);
if (resp.data.code == 200) {
let imgdata = resp.data
@@ -371,25 +327,23 @@ Page({
img:imgdata.data.full_url,
})
ins_img=ins_img.concat(list)
if(k == res1.tempFilePaths.length){
let params = {};
params['id'] = that.data.id;
let img = []
ins_img.forEach(item => {
img.push(item.value)
})
params['ins_imgs'] = img;
_.apiQuery.putAppCusorderdata(params).then(res2 => {
wx.hideLoading();
that.setData({
ins_img,
if(i+1==res1.tempFilePaths.length){
wx.hideLoading();
setTimeout(function () {
let params = {};
params['id'] = that.data.id;
let img = []
ins_img.forEach(item => {
img.push(item.value)
})
}).catch(res2=>{
wx.hideLoading();
});
params['ins_imgs'] = img;
_.apiQuery.putAppCusorderdata(params).then(res2 => {
that.setData({
ins_img,
})
})
}, 500);
}
}else{
wx.hideLoading();
}
},
@@ -418,7 +372,6 @@ Page({
title: '上传中',
})
let other_img=that.data.other_img
let k = 0
for (let i = 0; i < res1.tempFilePaths.length; i++) {
//上传图片
wx.uploadFile({
@@ -429,7 +382,6 @@ Page({
'app': 'liche'
},
success: (resp) => {
k = k + 1
resp.data = JSON.parse(resp.data);
if (resp.data.code == 200) {
let imgdata = resp.data
@@ -439,25 +391,23 @@ Page({
img:imgdata.data.full_url,
})
other_img=other_img.concat(list)
if(k == res1.tempFilePaths.length){
let params = {};
params['id'] = that.data.id;
let img = []
other_img.forEach(item => {
img.push(item.value)
})
params['other_imgs'] = img;
_.apiQuery.putAppCusorderdata(params).then(res2 => {
wx.hideLoading();
that.setData({
other_img,
if(i+1==res1.tempFilePaths.length){
wx.hideLoading();
setTimeout(function () {
let params = {};
params['id'] = that.data.id;
let img = []
other_img.forEach(item => {
img.push(item.value)
})
}).catch(res2=>{
wx.hideLoading();
});
params['other_imgs'] = img;
_.apiQuery.putAppCusorderdata(params).then(res2 => {
that.setData({
other_img,
})
})
}, 500);
}
}else{
wx.hideLoading();
}
},
@@ -511,20 +461,4 @@ Page({
}
},
//查看图片
previewImage: function (e) {
if(e.currentTarget.dataset.type=='register_img'){
wx.previewImage({
current:this.data.imgInfo.imgs.register_img.img,
urls:[this.data.imgInfo.imgs.register_img.img],
})
}
else if(e.currentTarget.dataset.type=='car_img'){
wx.previewImage({
current:this.data.imgInfo.imgs.car_img.img,
urls:[this.data.imgInfo.imgs.car_img.img],
})
}
},
})
+8 -8
View File
@@ -3,15 +3,15 @@
<!-- <view class="mt40 font-32">车辆证件</view> -->
<view class="fn-flex mt30 text-center">
<view class="fn-flex-item relative mr10">
<view class="fn-flex-item relative mr10" bindtap="chooseImg" data-type="register_img">
<block wx:if="{{register_img.value}}">
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden">
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-shuaxin inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-1" bindtap="chooseImg" data-type="register_img"></i>
<image class='block wp100 img-h-200 ulib-r10' src='{{register_img.img}}' mode='aspectFit' bindtap="previewImage" data-type="register_img"></image>
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-shuaxin inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-1"></i>
<image class='block wp100 img-h-200 ulib-r10' src='{{register_img.img}}' mode='aspectFit'></image>
</view>
</block>
<block wx:else>
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-type="register_img">
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden">
<view class="absolute left-0 right-0 box-middle color-ccc">
<i class="iconfont icon-paizhao font-48"></i>
<view class="mt10 font-22">上传登记证</view>
@@ -19,15 +19,15 @@
</view>
</block>
</view>
<view class="fn-flex-item relative ml10">
<view class="fn-flex-item relative ml10" bindtap="chooseImg" data-type="car_img">
<block wx:if="{{car_img.value}}">
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden">
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-shuaxin inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-1" bindtap="chooseImg" data-type="car_img"></i>
<image class='block wp100 img-h-200 ulib-r10' src='{{car_img.img}}' mode='aspectFit' bindtap="previewImage" data-type="car_img"></image>
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-shuaxin inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-1"></i>
<image class='block wp100 img-h-200 ulib-r10' src='{{car_img.img}}' mode='aspectFit'></image>
</view>
</block>
<block wx:else>
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-type="car_img">
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden">
<view class="absolute left-0 right-0 box-middle color-ccc">
<i class="iconfont icon-paizhao font-48"></i>
<view class="mt10 font-22">上传行驶证</view>
+53 -117
View File
@@ -69,34 +69,26 @@ Page({
},
success: (resp) => {
resp.data = JSON.parse(resp.data);
wx.hideLoading();
if (resp.data.code == 200) {
that.setData({
'cardida.value':resp.data.data.url,
'cardida.img':resp.data.data.full_url,
})
let params = {};
params['id'] = that.data.id;
params['cardida'] = resp.data.data.url;
_.apiQuery.putAppCusorderdata(params).then(res2 => {
wx.hideLoading();
that.setData({
'cardida.value':resp.data.data.url,
'cardida.img':resp.data.data.full_url,
})
}).catch(res2=>{
wx.hideLoading();
if(res2.code==418){
that.setData({
'cardida.value':resp.data.data.url,
'cardida.img':resp.data.data.full_url,
'cardida.err':!res2.data[0].caridA,
'cardida.errmsg':res2.data[0].errmsg,
})
}
});
}else{
wx.hideLoading();
wx.showToast({
title: '上传失败',
icon: 'none',
duration: 2000
})
}
},
})
@@ -130,34 +122,26 @@ Page({
},
success: (resp) => {
resp.data = JSON.parse(resp.data);
wx.hideLoading();
if (resp.data.code == 200) {
that.setData({
'cardidb.value':resp.data.data.url,
'cardidb.img':resp.data.data.full_url,
})
let params = {};
params['id'] = that.data.id;
params['cardidb'] = resp.data.data.url;
_.apiQuery.putAppCusorderdata(params).then(res2 => {
wx.hideLoading();
that.setData({
'cardidb.value':resp.data.data.url,
'cardidb.img':resp.data.data.full_url,
})
}).catch(res2=>{
wx.hideLoading();
if(res2.code==418){
that.setData({
'cardidb.value':resp.data.data.url,
'cardidb.img':resp.data.data.full_url,
'cardidb.err':!res2.data[1].caridB,
'cardidb.errmsg':res2.data[1].errmsg,
})
}
});
}else{
wx.hideLoading();
wx.showToast({
title: '上传失败',
icon: 'none',
duration: 2000
})
}
},
})
@@ -191,34 +175,26 @@ Page({
},
success: (resp) => {
resp.data = JSON.parse(resp.data);
wx.hideLoading();
if (resp.data.code == 200) {
that.setData({
'business_licence.value':resp.data.data.url,
'business_licence.img':resp.data.data.full_url,
})
let params = {};
params['id'] = that.data.id;
params['business_licence'] = resp.data.data.url;
_.apiQuery.putAppCusorderdata(params).then(res2 => {
wx.hideLoading();
that.setData({
'business_licence.value':resp.data.data.url,
'business_licence.img':resp.data.data.full_url,
})
}).catch(res2=>{
wx.hideLoading();
if(res2.code==418){
that.setData({
'business_licence.value':resp.data.data.url,
'business_licence.img':resp.data.data.full_url,
'business_licence.err':!res2.data[0].business_licence,
'business_licence.errmsg':res2.data[0].errmsg,
})
}
});
}else{
wx.hideLoading();
wx.showToast({
title: '上传失败',
icon: 'none',
duration: 2000
})
}
},
})
@@ -252,25 +228,16 @@ Page({
},
success: (resp) => {
resp.data = JSON.parse(resp.data);
wx.hideLoading();
if (resp.data.code == 200) {
let params = {};
params['id'] = that.data.id;
params['register_img'] = resp.data.data.url;
_.apiQuery.putAppCusorderdata(params).then(res2 => {
wx.hideLoading();
that.setData({
'register_img.value':resp.data.data.url,
'register_img.img':resp.data.data.full_url,
})
}).catch(res2=>{
wx.hideLoading();
});
}else{
wx.hideLoading();
wx.showToast({
title: '上传失败',
icon: 'none',
duration: 2000
})
}
},
@@ -305,25 +272,16 @@ Page({
},
success: (resp) => {
resp.data = JSON.parse(resp.data);
wx.hideLoading();
if (resp.data.code == 200) {
let params = {};
params['id'] = that.data.id;
params['car_img'] = resp.data.data.url;
_.apiQuery.putAppCusorderdata(params).then(res2 => {
wx.hideLoading();
that.setData({
'car_img.value':resp.data.data.url,
'car_img.img':resp.data.data.full_url,
})
}).catch(res2=>{
wx.hideLoading();
});
}else{
wx.hideLoading();
wx.showToast({
title: '上传失败',
icon: 'none',
duration: 2000
})
}
},
@@ -350,7 +308,6 @@ Page({
title: '上传中',
})
let ins_img=that.data.ins_img
let k = 0
for (let i = 0; i < res1.tempFilePaths.length; i++) {
//上传图片
wx.uploadFile({
@@ -361,7 +318,6 @@ Page({
'app': 'liche'
},
success: (resp) => {
k = k + 1
resp.data = JSON.parse(resp.data);
if (resp.data.code == 200) {
let imgdata = resp.data
@@ -371,25 +327,23 @@ Page({
img:imgdata.data.full_url,
})
ins_img=ins_img.concat(list)
if(k == res1.tempFilePaths.length){
let params = {};
params['id'] = that.data.id;
let img = []
ins_img.forEach(item => {
img.push(item.value)
})
params['ins_imgs'] = img;
_.apiQuery.putAppCusorderdata(params).then(res2 => {
wx.hideLoading();
that.setData({
ins_img,
if(i+1==res1.tempFilePaths.length){
wx.hideLoading();
setTimeout(function () {
let params = {};
params['id'] = that.data.id;
let img = []
ins_img.forEach(item => {
img.push(item.value)
})
}).catch(res2=>{
wx.hideLoading();
});
params['ins_imgs'] = img;
_.apiQuery.putAppCusorderdata(params).then(res2 => {
that.setData({
ins_img,
})
})
}, 500);
}
}else{
wx.hideLoading();
}
},
@@ -418,7 +372,6 @@ Page({
title: '上传中',
})
let other_img=that.data.other_img
let k = 0
for (let i = 0; i < res1.tempFilePaths.length; i++) {
//上传图片
wx.uploadFile({
@@ -429,7 +382,6 @@ Page({
'app': 'liche'
},
success: (resp) => {
k = k + 1
resp.data = JSON.parse(resp.data);
if (resp.data.code == 200) {
let imgdata = resp.data
@@ -439,25 +391,23 @@ Page({
img:imgdata.data.full_url,
})
other_img=other_img.concat(list)
if(k == res1.tempFilePaths.length){
let params = {};
params['id'] = that.data.id;
let img = []
other_img.forEach(item => {
img.push(item.value)
})
params['other_imgs'] = img;
_.apiQuery.putAppCusorderdata(params).then(res2 => {
wx.hideLoading();
that.setData({
other_img,
if(i+1==res1.tempFilePaths.length){
wx.hideLoading();
setTimeout(function () {
let params = {};
params['id'] = that.data.id;
let img = []
other_img.forEach(item => {
img.push(item.value)
})
}).catch(res2=>{
wx.hideLoading();
});
params['other_imgs'] = img;
_.apiQuery.putAppCusorderdata(params).then(res2 => {
that.setData({
other_img,
})
})
}, 500);
}
}else{
wx.hideLoading();
}
},
@@ -511,18 +461,4 @@ Page({
}
},
//查看图片
previewImage: function (e) {
if(e.currentTarget.dataset.type=='other_img'){
let img = []
this.data.imgInfo.imgs.other_img.forEach(item => {
img.push(item.img)
})
wx.previewImage({
current:e.currentTarget.dataset.current,
urls:img,
})
}
},
})
+1 -1
View File
@@ -7,7 +7,7 @@
<block wx:for='{{other_img}}' wx:for-item='other_img' wx:key='index'>
<view class="inline-block bg-f8 img-300x200 ml15 mr15 relative ulib-r10 overflowhidden">
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-guanbi1 inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-1" bindtap="delImg" data-type="other_img" data-index="{{index}}" ></i>
<image class='block wp100 img-h-200 ulib-r10' src='{{other_img.img}}' mode='aspectFit' bindtap="previewImage" data-type="other_img" data-current="{{other_img.img}}"></image>
<image class='block wp100 img-h-200 ulib-r10' src='{{other_img.img}}' mode='aspectFit'></image>
</view>
</block>
<block wx:if="{{other_img.length<1}}">
+14 -40
View File
@@ -12,13 +12,11 @@ Page({
submitFlag:false,
isShowAddress:false,//是否显示地址弹框
//region: ['', '', ''],
region: ['', '', ''],
c_city_id:'',
oncardArray:[],//上牌城市
oncardIndex:-1,//上牌城市索引
owner_cardidpic:'',//车主身份证正面照
addressFocus:false,
},
onLoad: function (options) {
for (let key in options) {
@@ -47,7 +45,7 @@ Page({
address:res.data.address?res.data.address:'',
company:res.data.company?res.data.company:'',
credit:res.data.credit?res.data.credit:'',
//region:res.data.pro[2]?res.data.pro:['', '', ''],
region:res.data.pro[2]?res.data.pro:['', '', ''],
})
//匹配上牌城市
@@ -99,12 +97,12 @@ Page({
icon: 'none'
})
}
// else if(this.data.main_type == 0&&this.data.address == ''){
// wx.showToast({
// title: '请填写车主地址',
// icon: 'none'
// })
// }
else if(this.data.main_type == 0&&(this.data.region[2]== ''||this.data.address == '')){
wx.showToast({
title: '请填写车主地址',
icon: 'none'
})
}
else if(this.data.main_type == 1&&this.data.company == ''){
wx.showToast({
title: '请填写企业名称',
@@ -132,7 +130,7 @@ Page({
params['id'] = this.data.id;
params['c_city_id'] = that.data.c_city_id;
if(that.data.address != ''){
//params['pro'] = that.data.region;
params['pro'] = that.data.region;
params['address'] = that.data.address;
}
if(that.data.owner_name != ''){
@@ -215,11 +213,11 @@ Page({
},
//选择城市
// bindRegionChange(e) {
// this.setData({
// region: e.detail.value
// })
// },
bindRegionChange(e) {
this.setData({
region: e.detail.value
})
},
//显示隐藏修改地址
optAddress(){
@@ -268,26 +266,13 @@ Page({
that.setData({
owner_cardid:res2.data.IdNum,
owner_name:res2.data.Name,
address:res2.data.Address,
owner_cardidpic:resp.data.data.url,
})
})
}else{
wx.hideLoading();
wx.showToast({
title: '上传失败',
icon: 'none',
duration: 2000
})
}
},
fail: res => {
wx.hideLoading();
wx.showToast({
title: '上传失败',
icon: 'none',
duration: 2000
})
}
})
},
@@ -311,15 +296,4 @@ Page({
}
},
focusAddress(){
this.setData({
addressFocus:true,
})
},
blurAddress(){
this.setData({
addressFocus:false,
})
},
})
+5 -5
View File
@@ -21,13 +21,13 @@
<input class="wp100 height-100 text-right font-28" placeholder-class="color-ccc" type="text" placeholder="请输入客户姓名" model:value='{{owner_name}}' disabled='{{isShowAddress?true:false}}' />
</view>
</view>
<!-- <view class="relative bbs-1-eb last-b-none pl180 font-28" >
<view class="relative bbs-1-eb last-b-none pl180 font-28" bindtap="optAddress">
<view class="absolute left-0 box-middle">车主地址<text class="color-f9394d">*</text></view>
<view class="relative">
<view class="absolute right-0 box-middle font-28 color-ccc" wx:if="{{!address&&!addressFocus}}">请输入详细地址</view>
<textarea class="wp100 inner20 font-28 ulib-r10" style="height:105rpx;" bindfocus='focusAddress' bindblur='blurAddress' placeholder-class="color-ccc" type="text" placeholder="" model:value='{{address}}' />
<view class="pt30 pb30 text-right font-28 text-break" wx:if="{{address}}"><block wx:for="{{region}}" wx:key='index'>{{item}} </block>{{address}}</view>
<view wx:else class="pt30 pb30 text-right font-28 color-ccc">
请编辑车主地址
</view>
</view> -->
</view>
</block>
<block wx:if="{{main_type==1}}">
<view class="mt10 pt20 pb20 bg-e3f5f3 font-36 text-center ulib-r10">企业信息</view>
-172
View File
@@ -1,172 +0,0 @@
import _ from '../../../commons/js/commons'
const app = getApp()
Page({
data: {
wx_img:{},
mut_wx_img:{},
},
onLoad: function (options) {
for (let key in options) {
this.setData({
[key]: options[key]
})
}
this.getAppCusorderdata()
},
onShow: function () {
},
//获取订单图片
getAppCusorderdata(){
let params = {};
params['id'] = this.data.id;
_.apiQuery.getAppCusorderdata(params).then(res=>{
this.setData({
imgInfo:res.data,
})
if(res.data.img_status == 1){
this.setData({
wx_img:res.data.imgs.wx_img.length==0?{}:res.data.imgs.wx_img,
mut_wx_img:res.data.imgs.mut_wx_img.length==0?{}:res.data.imgs.mut_wx_img,
})
}
wx.stopPullDownRefresh()
})
},
//选择图片
chooseImg(e) {
let that = this
//上传交强险
if(e.currentTarget.dataset.type=='wx_img'){
wx.chooseImage({
count: 1, // 默认9
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success(res) {
wx.showLoading({
title: '上传中',
})
wx.uploadFile({
url:_.config.api.upImg,
filePath:res.tempFilePaths[0],
name: 'img',
formData: {
'app': 'liche'
},
success: (resp) => {
resp.data = JSON.parse(resp.data);
if (resp.data.code == 200) {
let params = {};
params['id'] = that.data.id;
params['wx_img'] = resp.data.data.url;
_.apiQuery.putAppCusorderdata(params).then(res2 => {
wx.hideLoading();
that.getAppCusorderdata()
}).catch(res2=>{
wx.hideLoading();
wx.showToast({
title: '提交失败',
icon: 'none',
duration: 2000
})
});
}else{
wx.hideLoading();
wx.showToast({
title: '上传失败',
icon: 'none',
duration: 2000
})
}
},
})
},
fail: res => {
wx.showToast({
title: '文件选择失败',
icon: 'none',
duration: 2000
})
}
})
}
//上传商业险
if(e.currentTarget.dataset.type=='mut_wx_img'){
wx.chooseImage({
count: 1, // 默认9
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success(res) {
wx.showLoading({
title: '上传中',
})
wx.uploadFile({
url:_.config.api.upImg,
filePath:res.tempFilePaths[0],
name: 'img',
formData: {
'app': 'liche'
},
success: (resp) => {
resp.data = JSON.parse(resp.data);
if (resp.data.code == 200) {
let params = {};
params['id'] = that.data.id;
params['mut_wx_img'] = resp.data.data.url;
_.apiQuery.putAppCusorderdata(params).then(res2 => {
wx.hideLoading();
that.getAppCusorderdata()
}).catch(res2=>{
wx.hideLoading();
wx.showToast({
title: '提交失败',
icon: 'none',
duration: 2000
})
});
}else{
wx.hideLoading();
wx.showToast({
title: '上传失败',
icon: 'none',
duration: 2000
})
}
},
})
},
fail: res => {
wx.showToast({
title: '文件选择失败',
icon: 'none',
duration: 2000
})
}
})
}
},
//查看图片
previewImage: function (e) {
if(e.currentTarget.dataset.type=='wx_img'){
wx.previewImage({
current:this.data.imgInfo.imgs.wx_img.img,
urls:[this.data.imgInfo.imgs.wx_img.img],
})
}
else if(e.currentTarget.dataset.type=='mut_wx_img'){
wx.previewImage({
current:this.data.imgInfo.imgs.mut_wx_img.img,
urls:[this.data.imgInfo.imgs.mut_wx_img.img],
})
}
},
})
-4
View File
@@ -1,4 +0,0 @@
{
"navigationBarTitleText": "企微信息",
"usingComponents": {}
}
-51
View File
@@ -1,51 +0,0 @@
<view class="container">
<view class="inner30">
<view class="pl40 pr40 pt40 relative ulib-r10 box-shadow-000-10-10 overflowhidden">
<view class="font-28 text-center text-bold">企业微信</view>
<view class="mt30 pb30 text-center">
<view class="inline-block img-300x200 relative ulib-r10 overflowhidden">
<block wx:if="{{wx_img.value}}">
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden">
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-shuaxin inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-1" bindtap="chooseImg" data-type="wx_img"></i>
<image class='block wp100 img-h-200 ulib-r10' src='{{wx_img.img}}' mode='aspectFit' bindtap="previewImage" data-type="wx_img"></image>
</view>
</block>
<block wx:else>
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-type="wx_img">
<view class="absolute left-0 right-0 box-middle color-ccc">
<i class="iconfont icon-paizhao font-48"></i>
<view class="mt10 font-22">上传企业微信</view>
</view>
</view>
</block>
</view>
</view>
</view>
<view class="mt50 pl40 pr40 pt40 relative ulib-r10 box-shadow-000-10-10 overflowhidden">
<view class="font-28 text-center text-bold">多对一群</view>
<view class="mt30 pb30 text-center">
<view class="inline-block img-300x200 relative ulib-r10 overflowhidden">
<block wx:if="{{mut_wx_img.value}}">
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden">
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-shuaxin inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-1" bindtap="chooseImg" data-type="mut_wx_img"></i>
<image class='block wp100 img-h-200 ulib-r10' src='{{mut_wx_img.img}}' mode='aspectFit' bindtap="previewImage" data-type="mut_wx_img"></image>
</view>
</block>
<block wx:else>
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-type="mut_wx_img">
<view class="absolute left-0 right-0 box-middle color-ccc">
<i class="iconfont icon-paizhao font-48"></i>
<view class="mt10 font-22">上传多对一群</view>
</view>
</view>
</block>
</view>
</view>
</view>
</view>
</view>
-1
View File
@@ -1 +0,0 @@
/* pages/order/editQVImg/index.wxss */
-103
View File
@@ -1,103 +0,0 @@
import _ from '../../../commons/js/commons'
const app = getApp()
Page({
data: {
destory_img:{},
},
onLoad: function (options) {
for (let key in options) {
this.setData({
[key]: options[key]
})
}
this.getAppCusorderdata()
},
onShow: function () {
},
//获取订单图片
getAppCusorderdata(){
let params = {};
params['id'] = this.data.id;
_.apiQuery.getAppCusorderdata(params).then(res=>{
this.setData({
imgInfo:res.data,
})
if(res.data.img_status == 1){
this.setData({
destory_img:res.data.imgs.destory_img.length==0?{}:res.data.imgs.destory_img,
})
}
wx.stopPullDownRefresh()
})
},
//选择图片
chooseImg(e) {
let that = this
//上传交强险
if(e.currentTarget.dataset.type=='destory_img'){
wx.chooseImage({
count: 1, // 默认9
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success(res) {
wx.showLoading({
title: '上传中',
})
wx.uploadFile({
url:_.config.api.upImg,
filePath:res.tempFilePaths[0],
name: 'img',
formData: {
'app': 'liche'
},
success: (resp) => {
resp.data = JSON.parse(resp.data);
if (resp.data.code == 200) {
let params = {};
params['id'] = that.data.id;
params['destory_img'] = resp.data.data.url;
_.apiQuery.putAppCusorderdata(params).then(res2 => {
wx.hideLoading();
that.getAppCusorderdata()
}).catch(res2=>{
wx.hideLoading();
});
}else{
wx.hideLoading();
wx.showToast({
title: '上传失败',
icon: 'none',
duration: 2000
})
}
},
})
},
fail: res => {
wx.showToast({
title: '文件选择失败',
icon: 'none',
duration: 2000
})
}
})
}
},
//查看图片
previewImage: function (e) {
if(e.currentTarget.dataset.type=='destory_img'){
wx.previewImage({
current:this.data.imgInfo.imgs.destory_img.img,
urls:[this.data.imgInfo.imgs.destory_img.img],
})
}
},
})
-4
View File
@@ -1,4 +0,0 @@
{
"navigationBarTitleText": "实名认证资料",
"usingComponents": {}
}
-24
View File
@@ -1,24 +0,0 @@
<view class="container">
<view class="inner30">
<view class="mt30 pb20 text-center">
<view class="inline-block img-300x200 relative ulib-r10 overflowhidden">
<block wx:if="{{destory_img.value}}">
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden">
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-shuaxin inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-1" bindtap="chooseImg" data-type="destory_img"></i>
<image class='block wp100 img-h-200 ulib-r10' src='{{destory_img.img}}' mode='aspectFit' bindtap="previewImage" data-type="destory_img"></image>
</view>
</block>
<block wx:else>
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-type="destory_img">
<view class="absolute left-0 right-0 box-middle color-ccc">
<i class="iconfont icon-paizhao font-48"></i>
<view class="mt10 font-22">上传实名认证资料</view>
</view>
</view>
</block>
</view>
</view>
</view>
</view>
-1
View File
@@ -1 +0,0 @@
/* pages/order/editVoucherImg/index.wxss */
+12
View File
@@ -59,6 +59,18 @@ Page({
});
},
//拨打客户电话xz
call(e) {
let params = {};
params['id'] = e.currentTarget.dataset.id;
params['type'] = 1;
_.apiQuery.getAppXz(params).then(res=>{
wx.makePhoneCall({
phoneNumber: res.data.mobile,
})
})
},
//显示短信弹框
showMessage(e){
this.setData({
+13 -45
View File
@@ -19,9 +19,6 @@ Page({
staffobj: [],
employeeIndex:-1,//分配销售索引
employee_id:'',//分配销售ID
tab:[],//回访待跟进tab
visit_tab_id:'',//回访待跟进tabid
},
onLoad: function (options) {
for (let key in options) {
@@ -29,11 +26,7 @@ Page({
[key]: options[key]
})
}
//顶部tab
this.getAppCustomersVisit_tabs()
//this.getAppCusorderV2List()
this.getAppCusorderV2List()
wx.setNavigationBarTitle({
title: this.data.title||'订单'
@@ -43,26 +36,6 @@ Page({
this.getAppUserAdmins()
},
//回访待跟进tab
getAppCustomersVisit_tabs() {
let params = {};
if(this.data.status != ''){
params['status'] = this.data.status;
}
_.apiQuery.getAppCustomersVisit_tabs(params).then(res => {
if(res.data.list.length>0){
this.setData({
tab:res.data.list,
visit_tab_id:res.data.list[0].id,
})
}
this.getAppCusorderV2List()
wx.stopPullDownRefresh()
});
},
//获取订单列表
getAppCusorderV2List() {
this.setData({
@@ -78,9 +51,6 @@ Page({
if(this.data.type != ''){
params['type'] = this.data.type;
}
if(this.data.visit_tab_id != ''){
params['visit_tab_id'] = this.data.visit_tab_id;
}
_.apiQuery.getAppCusorderV2List(params).then(res => {
this.setData({
pageNo: this.data.pageNo + 1,
@@ -101,6 +71,18 @@ Page({
});
},
//拨打客户电话xz
call(e) {
let params = {};
params['id'] = e.currentTarget.dataset.id;
params['type'] = 1;
_.apiQuery.getAppXz(params).then(res=>{
wx.makePhoneCall({
phoneNumber: res.data.mobile,
})
})
},
//显示短信弹框
showMessage(e){
this.setData({
@@ -248,20 +230,6 @@ Page({
}
},
//切换tab
changeTab(e){
this.setData({
list: [],
pageNo: 1,
noData: false,
end: false,
load: true,
loading: false,
visit_tab_id: e.currentTarget.dataset.id,
})
this.getAppCusorderV2List()
},
//页面相关事件处理函数--监听用户下拉动作
onPullDownRefresh(){
this.setData({
+1 -21
View File
@@ -1,26 +1,6 @@
<view class="container">
<view wx:if="{{tab.length>0}}">
<view style="padding-top:110rpx"></view>
<view class="fixed top-0 left-0 right-0 bg-fff pl30 pr30 z-index-1">
<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 {{visit_tab_id == item.id?'active color-36afa2':''}}" data-id="{{item.id}}" bindtap="changeTab">
<view class="relative">{{item.name}}</view>
</view>
</block>
</view>
<scroll-view class="mt5 font-32 color-666 text-center space-nowrap" scroll-x="true" wx:else>
<block wx:for='{{tab}}' wx:key='list'>
<view class="pl20 pr20 tabmenu2 {{visit_tab_id == item.id?'active color-36afa2':''}}" data-id="{{item.id}}" bindtap="changeTab" >
<view class="relative">{{item.name}}</view>
</view>
</block>
</scroll-view>
</view>
</view>
<view class="mt10 pl30 pr30">
<view class="mt30 pl30 pr30">
<block wx:for='{{list}}' wx:key='index'>
<block wx:if="{{item.id>=v2OrderId}}">
+13 -152
View File
@@ -28,13 +28,6 @@ Page({
staffobj: [],
employeeIndex:-1,//分配销售索引
employee_id:'',//分配销售ID
brand_id:'',//品牌id
car_id:'',//车系id
v_id:'',//车辆版本id
brandIndex:-1,//车辆品牌索引
modelIndex:-1,//车系车型索引
levelIndex:-1,//车辆版本索引
},
onLoad: function (options) {
for (let key in options) {
@@ -47,9 +40,6 @@ Page({
//销售顾问
this.getAppUserAdmins()
//品牌列表
this.getAppSeriesBrands()
},
//订单-tab
@@ -91,18 +81,6 @@ Page({
load: false,
loading: true,
})
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
}
}
})
let params = {};
params['page'] = this.data.pageNo;
params['size'] = 10;
@@ -117,18 +95,6 @@ Page({
params['order_s_time'] = this.data.order_s_time;
params['order_e_time'] = this.data.order_e_time;
}
if(admin_ids!=''){
params['admin_ids'] = admin_ids;
}
if(this.data.brand_id!=''){
params['brand_id'] = this.data.brand_id;
}
if(this.data.car_id!=''){
params['car_id'] = this.data.car_id;
}
if(this.data.v_id!=''){
params['v_id'] = this.data.v_id;
}
_.apiQuery.getAppCusorderV2List(params).then(res => {
this.setData({
flag: this.data.flag - 1
@@ -154,6 +120,18 @@ Page({
});
},
//拨打客户电话xz
call(e) {
let params = {};
params['id'] = e.currentTarget.dataset.id;
params['type'] = 1;
_.apiQuery.getAppXz(params).then(res=>{
wx.makePhoneCall({
phoneNumber: res.data.mobile,
})
})
},
// 输入
searchInput(e){
this.setData({
@@ -201,7 +179,7 @@ Page({
}
},
//显示隐藏高级搜索
//显示高级搜索
optfilter(){
this.setData({
isShowfilter: !this.data.isShowfilter
@@ -209,13 +187,6 @@ Page({
this.resetFilter()
},
//显示高级搜索
showfilter(){
this.setData({
isShowfilter:true,
})
},
//确定高级搜索
submitFilter() {
this.setData({
@@ -226,19 +197,7 @@ Page({
//重置高级搜索
resetFilter() {
let staffobj = this.data.staffobj
staffobj.forEach(item => {
item.checked = false
})
this.setData({
brand_id:'',
car_id:'',
v_id:'',
brandIndex:-1,
modelIndex:-1,
levelIndex:-1,
staffobj,
type:'',
order_s_time:'',
order_e_time:'',
@@ -355,104 +314,6 @@ Page({
}
},
//多选
checkPicker(e){
this.setData({
['staffobj['+e.currentTarget.dataset.index+'].checked']:!this.data.staffobj[e.currentTarget.dataset.index].checked,
})
},
//获取车型品牌
getAppSeriesBrands(){
_.apiQuery.getAppSeriesBrands().then(res => {
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,
})
}
});
},
//获取车系车型
getAppSeries(){
let params = {};
params['brand_id'] = this.data.brand_id;
_.apiQuery.getAppSeries(params).then(res => {
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,
})
}
});
},
//获取车辆版本
getAppSeriesAttrslevel(){
let params = {};
params['id'] = this.data.car_id;
params['type'] = 0;
_.apiQuery.getAppSeriesAttrs(params).then(res => {
if(res.data.total>0){
let levelArray = []
res.data.list.forEach(item => {
levelArray.push(item.title)
})
this.setData({
levelArray:levelArray,
levelList:res.data.list,
})
}
});
},
//选择品牌
changeBrand(e) {
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,
})
this.getAppSeries()
}
},
//选择车系
changeModel(e) {
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,
})
this.getAppSeriesAttrslevel()
}
},
//车辆版本
changeLevel(e) {
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,
})
}
},
//页面相关事件处理函数--监听用户下拉动作
onPullDownRefresh(){
this.setData({
+3 -49
View File
@@ -25,7 +25,7 @@
<input class="wp100 bg-f6 pl20 pr20 font-22 ulib-r750 text-center" bindinput="searchInput" bindfocus="searchFocus" bindblur="searchBlur" bindconfirm="searchSubmit" style="height:56rpx" type="text" />
</view>
<view class="absolute right-0 box-middle">
<text bindtap="showfilter" class="inner5 iconfont icon-gaojisousuo mr40"></text>
<text bindtap="optfilter" class="inner5 iconfont icon-gaojisousuo mr40"></text>
</view>
</view>
</view>
@@ -38,12 +38,6 @@
<view class="inline-block text-middle bg-f6 color-666 mt15 ml5 mr5 pt5 pb5 pl20 pr20 ulib-r10 font-22" wx:if="{{type}}">
<block wx:for="{{filters.type}}" wx:key='index' wx:if="{{type == item.key}}">{{item.name}}</block>
</view>
<block wx:for="{{staffobj}}" wx:key='index'>
<view class="inline-block text-middle bg-f6 color-666 mt15 ml5 mr5 pt5 pb5 pl20 pr20 ulib-r10 font-22" wx:if="{{item.checked}}">{{item.uname}}</view>
</block>
<view class="inline-block text-middle bg-f6 color-666 mt15 ml5 mr5 pt5 pb5 pl20 pr20 ulib-r10 font-22" wx:if="{{brandIndex != -1}}">{{brandArray[brandIndex]}}</view>
<view class="inline-block text-middle bg-f6 color-666 mt15 ml5 mr5 pt5 pb5 pl20 pr20 ulib-r10 font-22" wx:if="{{modelIndex != -1}}">{{modelArray[modelIndex]}}</view>
<view class="inline-block text-middle bg-f6 color-666 mt15 ml5 mr5 pt5 pb5 pl20 pr20 ulib-r10 font-22" wx:if="{{levelIndex != -1}}">{{levelArray[levelIndex]}}</view>
</view>
</view>
@@ -177,50 +171,10 @@
</block>
</view>
</view>
<view class="relative bbs-1-eb pt25 pb25 last-b-none">
<view class="font-22">销售顾问</view>
<view class="fn-clear">
<block wx:for="{{staffobj}}" wx:key='index'>
<view class="inline-block radio-btn mt20 mr15 pt15 pb15 pl20 pr20 ulib-r10 font-28 {{item.checked?'bg-333 color-fff':'bg-f8'}}" bindtap="checkPicker" data-index="{{index}}">
{{item.uname}}
</view>
</block>
</view>
</view>
<view class="relative bbs-1-eb pl190">
<view class="absolute left-0 box-middle font-28 color-333">车辆品牌</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}}">
<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 class="relative bbs-1-eb pl190" wx:if="{{modelIndex != -1}}">
<view class="absolute left-0 box-middle font-28 color-333">车辆版本</view>
<view class="pt30 pb30 text-right font-28 color-666 text-nowrap">
<picker bindchange="changeLevel" value="{{levelIndex}}" range="{{levelArray}}">
<text class="color-ccc" wx:if="{{levelIndex == -1}}">请选择</text>
<text wx:else>{{levelArray[levelIndex]}}</text>
<i class="iconfont ml5 icon-gengduo"></i>
</picker>
</view>
</view>
</view>
<view class="pt50 pb100"></view>
</scroll-view>
<view class="absolute left-0 bottom-0 right-0 fn-flex pb200 pt20 pb20 pl60 pr60 bg-fff-op90 text-center">
<view class="absolute left-0 bottom-0 right-0 fn-flex mb180 pt20 pb20 pl60 pr60 bg-fff-op90 text-center">
<view class="fn-flex-item mr20 pt15 pb15 bds-2-36afa2 font-32 color-36afa2 ulib-r750" bindtap="resetFilter">重置</view>
<view class="fn-flex-item ml20 pt15 pb15 bg-36afa2 font-32 color-fff ulib-r750" bindtap="submitFilter">确定</view>
</view>
@@ -228,7 +182,7 @@
<view class="search-bg fixed left-0 right-0 top-0 bottom-0" bindtap="optfilter" hidden="{{!isShowfilter}}" style="background-color:rgba(0,0,0,.5);"></view>
<lcb-msg isShow="{{isShowTransfer}}" isCustomTabBar="{{true}}">
<lcb-msg isShow="{{isShowTransfer}}">
<view slot="content">
<view class="inner30">
<view class="mt20 ml10 mr10 bds-2-eb inner20 font-28 color-666 fn-clear ulib-r10">
+33 -166
View File
@@ -48,7 +48,7 @@ Page({
submitFlag:false,
paymentIndex:-1,//付款方式
payment:['全款', '按揭',],
payment:['全款', '分期',],
main_type:0,//购车主体
main:[
{
@@ -81,7 +81,7 @@ Page({
isShowIntenMoney:false,//是否显示意向金弹框
isShowAddress:false,//是否显示地址弹框
//region: ['福建省', '', ''],
region: ['福建省', '', ''],
c_city_id:'',
oncardArray:[],//上牌城市
oncardIndex:-1,//上牌城市索引
@@ -96,15 +96,6 @@ Page({
fineArr:[],//精品选装
finedIndex:-1,//精品选装索引
addressFocus:false,
customer_address:'',
packageList:[],//车辆选装包
options_ids:[],//选装包id数组
options_total:0,//选装包费用
if_zero_firstpay:0,//是否零首付
price_loan0:'',//首付按揭金额
firstPayArr:['现金','0首付','按揭',],//首付类型
firstPayIndex:0,//首付类型
},
//生命周期函数--监听页面加载
onLoad: function (options) {
@@ -114,11 +105,6 @@ Page({
})
}
this.setData({
org_mobile:this.data.mobile,
})
this.getAppSeriesBrands()
this.getUserInfo()
this.getAppCityOncard()
@@ -148,7 +134,7 @@ Page({
title: '请输入客户姓名',
icon: 'none'
})
}else if (this.data.mobile != this.data.org_mobile && !/^1[3456789]\d{9}$/.test(this.data.mobile)){
}else if (!/^1[3456789]\d{9}$/.test(this.data.mobile)){
wx.showToast({
title: '请输入客户手机号',
icon: 'none'
@@ -166,7 +152,7 @@ Page({
icon: 'none'
})
}
else if(this.data.main_type == 0&&this.data.owner_mobile != this.data.org_mobile && !/^1[3456789]\d{9}$/.test(this.data.owner_mobile)){
else if(this.data.main_type == 0&&!/^1[3456789]\d{9}$/.test(this.data.owner_mobile)){
wx.showToast({
title: '请填写车主手机号',
icon: 'none'
@@ -178,12 +164,12 @@ Page({
icon: 'none'
})
}
// else if(this.data.main_type == 0&&(this.data.address == '')){
// wx.showToast({
// title: '请填写车主地址',
// icon: 'none'
// })
// }
else if(this.data.main_type == 0&&(this.data.region[2]== ''||this.data.address == '')){
wx.showToast({
title: '请填写车主地址',
icon: 'none'
})
}
else if(this.data.main_type == 1&&this.data.company == ''){
wx.showToast({
title: '请填写企业名称',
@@ -248,7 +234,7 @@ Page({
icon: 'none'
})
}
else if(this.data.if_zero_firstpay!=1&&(!this.data.priceinfo.sdeposit||this.data.priceinfo.sdeposit == '')){
else if(!this.data.priceinfo.sdeposit||this.data.priceinfo.sdeposit == '' ){
wx.showToast({
title: '请设置定金',
icon: 'none'
@@ -298,12 +284,6 @@ Page({
userInfo: res,
})
if(res.biz_type != 1){
this.setData({
fines:[{"id":"-1","txt":"服务费","price":""}],//身份证
})
}
if(res.biz_name == '测试门店'){
this.setData({
cardid:'350000202101010000',//身份证
@@ -433,9 +413,6 @@ Page({
brand_id:this.data.brandList[e.detail.value].id,
brandIndex:e.detail.value,
car_id:'',//车系id
packageList:[],//车辆选装包
options_ids:[],//选装包id数组
options_total:0,//选装包费用
v_id:'',//车辆版本id
color_id:'',//车身颜色id
incolor_id:'',//内饰颜色id
@@ -474,12 +451,8 @@ Page({
interiorIndex:-1,//内饰颜色索引
priceinfo:'',
business_type:0,
options_ids:[],//选装包id数组
options_total:0,//选装包费用
})
this.getAppSeriesAttrslevel()
//获取车辆选装包
this.getAppOptions()
}
},
@@ -535,9 +508,6 @@ Page({
if(this.data.paymentIndex != e.detail.value && e.detail.value >= 0){
this.setData({
paymentIndex:e.detail.value,
price_loan0:'',
if_zero_firstpay:0,
firstPayIndex:0,
})
//代办列表
this.getAppServices()
@@ -553,7 +523,6 @@ Page({
owner_cardid:'',
company:'',
credit:'',
address:'',
})
},
@@ -630,7 +599,6 @@ Page({
owner_mobile:this.data.mobile,
owner_cardid:this.data.cardid,
owner_cardidpic:this.data.customer_cardidpic,
address:this.data.customer_address?this.data.customer_address:this.data.address,
})
},
@@ -652,14 +620,10 @@ Page({
params['main_type'] = that.data.main_type;
params['cus_id'] = that.data.cus_id;
params['name'] = that.data.name;
if(that.data.mobile == that.data.org_mobile){
params['mobile'] = that.data.complete_mobile;
}else{
params['mobile'] = that.data.mobile;
}
params['mobile'] = that.data.mobile;
params['c_city_id'] = that.data.c_city_id;
if(that.data.address != ''){
//params['pro'] = that.data.region;
params['pro'] = that.data.region;
params['address'] = that.data.address;
}
params['cardid'] = that.data.cardid;
@@ -667,13 +631,8 @@ Page({
params['v_id'] = that.data.v_id;
params['color_id'] = that.data.color_id;
params['incolor_id'] = that.data.incolor_id;
if(that.data.options_ids.length>0){
params['options_ids'] = that.data.options_ids;
}
params['price'] = that.data.priceinfo.price;
if(that.data.if_zero_firstpay!=1){
params['deposit'] = that.data.priceinfo.sdeposit;
}
params['deposit'] = that.data.priceinfo.sdeposit;
params['payway'] = that.data.paymentIndex==0?'1':'0';
params['delry_time'] = that.data.delry_time;
params['business_id'] = that.data.priceinfo.id;
@@ -681,11 +640,7 @@ Page({
params['owner_name'] = that.data.owner_name;
}
if(that.data.owner_mobile != ''){
if(that.data.owner_mobile == that.data.org_mobile){
params['owner_mobile'] = that.data.complete_mobile;
}else{
params['owner_mobile'] = that.data.owner_mobile;
}
params['owner_mobile'] = that.data.owner_mobile;
}
if(that.data.owner_cardid != ''){
params['owner_cardid'] = that.data.owner_cardid;
@@ -727,12 +682,6 @@ Page({
// params['disc_fine_money'] = that.data.priceinfo.sdisc_fine_money;
// }
// }
if(that.data.paymentIndex==1){
params['if_zero_firstpay'] = that.data.if_zero_firstpay;
}
if(that.data.price_loan0 > 0){
params['price_loan0'] = that.data.price_loan0;
}
_.apiQuery.postAppCusorderV2(params).then(res => {
//刷新列表页
@@ -808,7 +757,7 @@ Page({
title: '请输入客户姓名',
icon: 'none'
})
}else if (this.data.mobile != this.data.org_mobile && !/^1[3456789]\d{9}$/.test(this.data.mobile)){
}else if (!/^1[3456789]\d{9}$/.test(this.data.mobile)){
wx.showToast({
title: '请输入客户手机号',
icon: 'none'
@@ -826,7 +775,7 @@ Page({
icon: 'none'
})
}
else if(this.data.main_type == 0&&this.data.owner_mobile != this.data.org_mobile && !/^1[3456789]\d{9}$/.test(this.data.owner_mobile)){
else if(this.data.main_type == 0&&!/^1[3456789]\d{9}$/.test(this.data.owner_mobile)){
wx.showToast({
title: '请填写车主手机号',
icon: 'none'
@@ -838,12 +787,12 @@ Page({
icon: 'none'
})
}
// else if(this.data.main_type == 0&&this.data.address == ''){
// wx.showToast({
// title: '请填写车主地址',
// icon: 'none'
// })
// }
else if(this.data.main_type == 0&&(this.data.region[2]== ''||this.data.address == '')){
wx.showToast({
title: '请填写车主地址',
icon: 'none'
})
}
else if(this.data.main_type == 1&&this.data.company == ''){
wx.showToast({
title: '请填写企业名称',
@@ -896,15 +845,11 @@ Page({
params['main_type'] = that.data.main_type;
params['cus_id'] = that.data.cus_id;
params['name'] = that.data.name;
if(that.data.mobile == that.data.org_mobile){
params['mobile'] = that.data.complete_mobile;
}else{
params['mobile'] = that.data.mobile;
}
params['mobile'] = that.data.mobile;
params['inten_money'] = that.data.inten_money;
params['c_city_id'] = that.data.c_city_id;
if(that.data.address != ''){
//params['pro'] = that.data.region;
params['pro'] = that.data.region;
params['address'] = that.data.address;
}
params['cardid'] = that.data.cardid;
@@ -912,11 +857,7 @@ Page({
params['owner_name'] = that.data.owner_name;
}
if(that.data.owner_mobile != ''){
if(that.data.owner_mobile == that.data.org_mobile){
params['owner_mobile'] = that.data.complete_mobile;
}else{
params['owner_mobile'] = that.data.owner_mobile;
}
params['owner_mobile'] = that.data.owner_mobile;
}
if(that.data.owner_cardid != ''){
params['owner_cardid'] = that.data.owner_cardid;
@@ -1038,7 +979,7 @@ Page({
}
if(e.currentTarget.dataset.type=='price'){
this.setData({
['fines['+e.currentTarget.dataset.index+'].price']:Number(e.detail.value),
['fines['+e.currentTarget.dataset.index+'].price']:e.detail.value,
})
let fine_total = 0
this.data.fines.forEach(item => {
@@ -1205,11 +1146,11 @@ Page({
},
//选择城市
// bindRegionChange(e) {
// this.setData({
// region: e.detail.value
// })
// },
bindRegionChange(e) {
this.setData({
region: e.detail.value
})
},
//显示隐藏修改地址
optAddress(){
@@ -1265,7 +1206,6 @@ Page({
that.setData({
cardid:res2.data.IdNum,
name:res2.data.Name,
customer_address:res2.data.Address,
customer_cardidpic:resp.data.data.url,
})
})
@@ -1313,7 +1253,6 @@ Page({
that.setData({
owner_cardid:res2.data.IdNum,
owner_name:res2.data.Name,
address:res2.data.Address,
owner_cardidpic:resp.data.data.url,
})
})
@@ -1356,6 +1295,7 @@ Page({
});
},
//添加精品选装
changeFine(e) {
if(this.data.fineArr[e.detail.value]=='其他'){
@@ -1440,77 +1380,4 @@ Page({
}
},
focusAddress(){
this.setData({
addressFocus:true,
})
},
blurAddress(){
this.setData({
addressFocus:false,
})
},
//获取车辆选装包
getAppOptions(){
let params = {};
params['id'] = this.data.car_id;
_.apiQuery.getAppOptions(params).then(res => {
if(res.data.list.length>0){
let packageList = res.data.list
packageList.forEach(item => {
item.checked = false
})
this.setData({
packageList,
})
}
});
},
//选择车辆选装包
choosePackage(e) {
let packageList = this.data.packageList
let options_ids = e.detail.value
let options_total = 0
packageList.forEach(itemA => {
itemA.checked = false
options_ids.forEach(itemB => {
if(itemA.id === itemB){
itemA.checked = true
if(parseFloat(itemA.price)>0){
options_total = options_total + parseFloat(itemA.price)
}
}
})
})
this.setData({
packageList,
options_ids,
options_total,
})
},
//选择首付类型
changeFirstPay(e) {
if(this.data.firstPayIndex != e.detail.value && e.detail.value >= 0){
this.setData({
firstPayIndex:e.detail.value,
price_loan0:'',
'priceinfo.sdeposit':'',
})
if(this.data.firstPayArr[this.data.firstPayIndex]=='0首付'||this.data.firstPayArr[this.data.firstPayIndex]=='按揭'){
this.setData({
if_zero_firstpay:1,
})
}
else{
this.setData({
if_zero_firstpay:0,
})
}
}
},
})
+12 -88
View File
@@ -76,13 +76,13 @@
<input class="wp100 height-100 text-right font-28" placeholder-class="color-ccc" type="text" placeholder="请输入车主姓名" model:value='{{owner_name}}' disabled='{{isShowIntenMoney||isShowAddress?true:false}}' always-embed='{{true}}' />
</view>
</view>
<!-- <view class="relative bbs-1-eb last-b-none pl180 font-28" >
<view class="relative bbs-1-eb last-b-none pl180 font-28" bindtap="optAddress">
<view class="absolute left-0 box-middle">车主地址<text class="color-f9394d">*</text></view>
<view class="relative">
<view class="absolute right-0 box-middle font-28 color-ccc" wx:if="{{!address&&!addressFocus}}">请输入详细地址</view>
<textarea class="wp100 inner20 font-28 ulib-r10" style="height:105rpx;" bindfocus='focusAddress' bindblur='blurAddress' placeholder-class="color-ccc" type="text" placeholder="" model:value='{{address}}' />
<view class="pt30 pb30 text-right font-28 text-break" wx:if="{{address}}"><block wx:for="{{region}}" wx:key='index'>{{item}} </block>{{address}}</view>
<view wx:else class="pt30 pb30 text-right font-28 color-ccc">
请编辑车主地址
</view>
</view> -->
</view>
<view class="relative bbs-1-eb pl190 last-b-none">
<view class="absolute left-0 box-middle font-28 color-333">上牌城市<text class="color-f9394d">*</text></view>
<view class="pt30 pb30 text-right font-28 color-666">
@@ -180,26 +180,6 @@
</picker>
</view>
</view>
<!--选装-->
<block wx:if="{{packageList.length>0&&interiorIndex != -1}}">
<view class="pt30 pb30 font-32">选装</view>
<checkbox-group bindchange="choosePackage">
<block wx:for='{{packageList}}' wx:key='index' wx:key="index">
<label class="block inner40 pb5 relative ulib-r10 box-shadow-000-10-10 mb30 overflowhidden">
<view class="relative pr100">
<view class="font-30">{{item.title}}</view>
<checkbox class="absolute top-0 right-0 font-30" value="{{item.id}}" checked="{{item.checked}}"/>
</view>
<view class="mt15 text-middle font-28 color-666">¥{{item.price}}</view>
<view class="mt15 font-24 color-666 text-break line-height-18" >
<rich-text nodes="{{item.descrip}}"></rich-text>
</view>
</label>
</block>
</checkbox-group>
</block>
</view>
<view wx:if="{{step == 3}}">
@@ -235,23 +215,7 @@
<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">{{priceinfo.price_coplus}}</text>元</view>
</view>
<view class="relative bbs-1-eb pl190 last-b-none" wx:if="{{paymentIndex == 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="changeFirstPay" value="{{firstPayIndex}}" range="{{firstPayArr}}">
<text class="color-ccc" wx:if="{{firstPayIndex == -1}}">请选择</text>
<text wx:else>{{firstPayArr[firstPayIndex]}}</text>
<i class="iconfont ml5 icon-gengduo"></i>
</picker>
</view>
</view>
<view class="relative bbs-1-eb last-b-none pl180 font-28" wx:if="{{if_zero_firstpay==1&&firstPayArr[firstPayIndex]=='按揭'}}">
<view class="absolute left-0 box-middle">首付按揭金额</view>
<view>
<input class="wp100 height-100 text-right font-28" placeholder-class="color-ccc" type="digit" placeholder="请输入首付按揭金额" model:value='{{price_loan0}}' always-embed='{{true}}' />
</view>
</view>
<view class="relative bbs-1-eb pl190 last-b-none" wx:if="{{priceinfo.deposit_list&&paymentIndex != -1&&if_zero_firstpay!=1}}">
<view class="relative bbs-1-eb pl190 last-b-none" wx:if="{{priceinfo.deposit_list}}">
<view class="absolute left-0 box-middle font-28 color-333">定金<text class="color-f9394d">*</text></view>
<view class="pt30 pb30 text-right font-28 color-666">
<view class="fn-clear">
@@ -309,7 +273,7 @@
<block wx:for="{{agencyList}}" wx:key='index'>
<view class="mb20 block relative height-100 pl220 pr20 bg-f6 font-28 ulib-r10">
<label class="absolute box-middle left-0 ml30">
<checkbox class="text-middle mr5" value="{{item.id}}" checked="{{item.checked}}" />
<checkbox class="text-middle mr5" value="{{item.id}}" checked="{{item.checked}}" disabled="{{item.id == 1||item.id == 2}}" />
<text class="text-middle">{{item.title}}</text>
</label>
<view class="pt25 text-right" wx:if="{{item.checked&&item.price>0}}">
@@ -349,16 +313,6 @@
</view>
</view>
</block>
<block wx:if="{{userInfo.biz_type != 1}}">
<block wx:for="{{fines}}" wx:key='index'>
<view class="relative bbs-1-eb last-b-none pl180 font-28">
<view class="absolute left-0 box-middle">{{item.txt}}</view>
<view>
<input class="wp100 height-100 text-right font-28" placeholder-class="color-ccc" type="digit" placeholder="请输入服务费" bindinput='inputFines' data-index="{{index}}" data-type="price" value="{{item.price}}" always-embed='{{true}}' />
</view>
</view>
</block>
</block>
<block wx:if="{{userInfo.show_sa}}">
<view class="relative pt30 font-28 color-333">特别约定</view>
<textarea class="wp100 mt20 inner20 line-height-16 bg-f6 font-28 ulib-r10" style="height:180rpx;" placeholder-class="color-ccc" placeholder="请填写特别约定" model:value='{{sa}}' always-embed='{{true}}' />
@@ -447,10 +401,10 @@
<text>{{owner_cardid}}</text>
</view>
</view>
<!-- <view class="relative bbs-1-eb last-b-none pl180 font-28" wx:if="{{address}}">
<view class="relative bbs-1-eb last-b-none pl180 font-28" wx:if="{{address}}">
<view class="absolute left-0 box-middle">车主地址</view>
<view class="pt30 pb30 text-right font-28 color-666">{{address}}</view>
</view> -->
<view class="pt30 pb30 text-right font-28 color-666"><block wx:for="{{region}}" wx:key='index'>{{item}} </block>{{address}}</view>
</view>
<view class="relative bbs-1-eb last-b-none pl180 font-28" wx:if="{{company}}">
<view class="absolute left-0 box-middle color-333">企业名称</view>
<view class="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx;">
@@ -488,20 +442,6 @@
<view class="absolute left-0 box-middle font-28 color-333">内饰颜色</view>
<view class="pt30 pb30 text-right font-28 color-666">{{interiorArray[interiorIndex]}}</view>
</view>
<block wx:if="{{options_ids.length>0}}">
<view class="relative bbs-1-eb last-b-none pl180 font-28">
<view class="absolute left-0 box-middle color-333">选装</view>
<view class="pt30 pb30 text-right font-28 color-666" style="height:38rpx;"><text class="mr10 color-f9394d">{{options_total}}</text>元</view>
</view>
<block wx:for="{{packageList}}" wx:key='index'>
<view class="relative ml40 bbs-1-eb pl140 font-22 color-666" wx:if="{{item.checked}}">
<view class="absolute left-0 box-middle"><i class="iconfont ml5 mr10 icon-gengduo"></i>{{item.title}}</view>
<view class="pt25 pb25 text-right" style="min-height:30rpx">
<block wx:if="{{item.price>0}}"><text class="mr10 color-f9394d">{{item.price}}</text>元</block>
</view>
</view>
</block>
</block>
<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>
@@ -523,21 +463,13 @@
<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">{{priceinfo.price_coplus}}</text>元</view>
</view>
<view class="relative bbs-1-eb last-b-none pl180 font-28" wx:if="{{paymentIndex == 1}}">
<view class="absolute left-0 box-middle color-333">首付类型</view>
<view class="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx;">{{firstPayArr[firstPayIndex]}}</view>
</view>
<view class="relative bbs-1-eb last-b-none pl180 font-28" wx:if="{{price_loan0>0}}">
<view class="absolute left-0 box-middle color-333">首付按揭金额</view>
<view class="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx;">{{price_loan0}}</view>
</view>
<view class="relative bbs-1-eb last-b-none pl180 font-28" wx:if="{{priceinfo.sdeposit&&if_zero_firstpay!=1}}">
<view class="relative bbs-1-eb last-b-none pl180 font-28" wx:if="{{priceinfo.sdeposit}}">
<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">{{priceinfo.sdeposit}}</text>元</view>
</view>
<view class="relative bbs-1-eb last-b-none pl180 font-28" wx:if="{{priceinfo.price}}">
<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">{{options_total+priceinfo.price+priceinfo.price_color+priceinfo.price_coplus-(priceinfo.sdisc_money>0?priceinfo.sdisc_money:0)}}</text>元</view>
<view class="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx;"><text class="mr10 color-f9394d">{{priceinfo.price+priceinfo.price_color+priceinfo.price_coplus-(priceinfo.sdisc_money>0?priceinfo.sdisc_money:0)}}</text>元</view>
</view>
<view class="relative ml40 bbs-1-eb pl140 font-22 color-666" wx:if="{{!!priceinfo.sdisc_money&&priceinfo.sdisc_money != ''}}">
<view class="absolute left-0 box-middle"><i class="iconfont ml5 mr10 icon-gengduo"></i>优惠</view>
@@ -578,14 +510,6 @@
</view>
</block>
</block>
<block wx:if="{{userInfo.biz_type != 1}}">
<block wx:for="{{fines}}" wx:key='index'>
<view class="relative bbs-1-eb last-b-none pl180 font-28">
<view class="absolute left-0 box-middle color-333">{{item.txt}}</view>
<view class="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx;"><text class="mr10 color-f9394d">{{item.price>0?item.price:0}}</text>元</view>
</view>
</block>
</block>
<view class="relative bbs-1-eb last-b-none pl180 font-28" wx:if="{{priceinfo.show_local_bill}}">
<view class="absolute left-0 box-middle color-333">需开具本地发票</view>
<view class="pt30 pb30 text-right font-28 color-666" style="height:38rpx;">{{if_local_bill?'需要':'不需要'}}</view>
+148 -191
View File
@@ -30,12 +30,7 @@ function Pie1Chart(canvas, width, height, dpr) {
let option = Pie1ChartData
chart.setOption(option);
chart.on('click',function(e){
if(e.data.id>0){
let obj = {}
obj.type = 1
obj.id = e.data.id
_.eventBus.emit("customerstats",obj)
}
console.log(e)
});
return chart;
}
@@ -49,12 +44,7 @@ function Pie2Chart(canvas, width, height, dpr) {
let option = Pie2ChartData
chart.setOption(option);
chart.on('click',function(e){
if(e.data.id>0){
let obj = {}
obj.type = 0
obj.id = e.data.id
_.eventBus.emit("customerstats",obj)
}
console.log(e)
});
return chart;
}
@@ -77,31 +67,18 @@ Page({
})
}
// popularData.getDateLater(0,0).then(res => {
// this.setData({
// s_date:res[0],
// e_date:res[1],
// current_date:res[1],
// })
// })
popularData.getDateLater(0,0).then(res => {
this.setData({
s_date:res[0],
e_date:res[1],
current_date:res[1],
})
})
this.getAppBizStats_customer()
let that = this
//消息通讯 是否显示授权用户信息按钮
_.eventBus.on("customerstats", this, function(res){
let url = '/pages/storeData/subData/index?from=customer&type=' + res.type + '&id=' + res.id + '&s_date=' + that.data.s_date + '&e_date=' + that.data.e_date + '&current_date=' + that.data.current_date
_.$router.openUrlScheme(url)
})
},
//生命周期函数--监听页面卸载
onUnload: function () {
//卸载消息通讯 是否显示授权用户信息
_.eventBus.remove("customerstats",this);
},
//选择日期
changeDate(e){
if(e.currentTarget.dataset.type=="s_date"){
@@ -182,161 +159,143 @@ Page({
title: res.data.title
})
// Pie1ChartData = getPie1Option()
Pie1ChartData = {
tooltip: {
trigger: 'item',
formatter: '{b}: {c} ({d}%)'
},
series: [
{
name: 'Access From',
type: 'pie',
selectedMode: 'single',
radius: [0, '30%'],
label: {
position: 'inner',
fontSize: 10
},
labelBar: {
show: false
},
data: []
},
{
name: 'Access From',
type: 'pie',
radius: ['45%', '65%'],
labelLine: {
fontSize:5,
length:10
},
label: {
formatter: '{b| {b} }{abg|}\n{hr|}\n{c| {c}({d}%) }',
backgroundColor: '#F6F8FC',
borderColor: '#8C8D8E',
borderWidth: 1,
borderRadius: 4,
rich: {
hr: {
borderColor: '#8C8D8E',
width: '100%',
borderWidth: 1,
height: 0
},
b: {
color: '#4C5058',
fontSize:10,
lineHeight:20,
align: 'center',
},
c: {
color: '#4C5058',
fontSize:8,
lineHeight:20,
align: 'center',
},
}
},
data: []
},
]
};
Pie1ChartData.series[0].data = res.data.pie1.series_data_1
Pie1ChartData.series[1].data = res.data.pie1.series_data_2
this.setData({
Pie1title:res.data.pie1.title,
Pie2title:res.data.pie2.title,
Bartitle:res.data.bar.title,
showPie1Chart:true,
['ecPie1.onInit']:Pie1Chart,
})
// Pie1ChartData = getPie1Option()
if(res.data.pie1.series_data_1.length==0){
this.setData({
pie1noData:true,
})
}else{
Pie1ChartData = {
tooltip: {
trigger: 'item',
formatter: '{b}: {c} ({d}%)'
},
series: [
{
name: 'Access From',
type: 'pie',
selectedMode: 'single',
radius: [0, '30%'],
label: {
position: 'inner',
fontSize: 10
},
labelBar: {
show: false
},
data: []
},
{
name: 'Access From',
type: 'pie',
radius: ['45%', '65%'],
labelLine: {
fontSize:5,
length:10
},
label: {
formatter: '{b| {b} }{abg|}\n{hr|}\n{c| {c}({d}%) }',
backgroundColor: '#F6F8FC',
borderColor: '#8C8D8E',
borderWidth: 1,
borderRadius: 4,
rich: {
hr: {
borderColor: '#8C8D8E',
width: '100%',
borderWidth: 1,
height: 0
},
b: {
color: '#4C5058',
fontSize:10,
lineHeight:20,
align: 'center',
},
c: {
color: '#4C5058',
fontSize:8,
lineHeight:20,
align: 'center',
},
}
},
data: []
},
]
};
Pie1ChartData.series[0].data = res.data.pie1.series_data_1
Pie1ChartData.series[1].data = res.data.pie1.series_data_2
this.setData({
pie1noData:false,
showPie1Chart:true,
['ecPie1.onInit']:Pie1Chart,
})
}
// Pie2ChartData = getPie2Option()
if(res.data.pie2.series_data_1.length==0){
this.setData({
pie2noData:true,
})
}else{
Pie2ChartData = {
tooltip: {
trigger: 'item',
formatter: '{b}: {c} ({d}%)'
Pie2ChartData = {
tooltip: {
trigger: 'item',
formatter: '{b}: {c} ({d}%)'
},
series: [
{
name: 'Access From',
type: 'pie',
selectedMode: 'single',
radius: [0, '30%'],
label: {
position: 'inner',
fontSize: 10
},
labelBar: {
show: false
},
data: []
},
series: [
{
name: 'Access From',
type: 'pie',
selectedMode: 'single',
radius: [0, '30%'],
label: {
position: 'inner',
fontSize: 10
},
labelBar: {
show: false
},
data: []
{
name: 'Access From',
type: 'pie',
radius: ['45%', '65%'],
labelLine: {
fontSize:5,
length:10
},
{
name: 'Access From',
type: 'pie',
radius: ['45%', '65%'],
labelLine: {
fontSize:5,
length:10
},
label: {
formatter: '{b| {b} }{abg|}\n{hr|}\n{c| {c}({d}%) }',
backgroundColor: '#F6F8FC',
borderColor: '#8C8D8E',
borderWidth: 1,
borderRadius: 4,
rich: {
hr: {
borderColor: '#8C8D8E',
width: '100%',
borderWidth: 1,
height: 0
},
b: {
color: '#4C5058',
fontSize:10,
lineHeight:20,
align: 'center',
},
c: {
color: '#4C5058',
fontSize:8,
lineHeight:20,
align: 'center',
},
}
},
data: []
label: {
formatter: '{b| {b} }{abg|}\n{hr|}\n{c| {c}({d}%) }',
backgroundColor: '#F6F8FC',
borderColor: '#8C8D8E',
borderWidth: 1,
borderRadius: 4,
rich: {
hr: {
borderColor: '#8C8D8E',
width: '100%',
borderWidth: 1,
height: 0
},
b: {
color: '#4C5058',
fontSize:10,
lineHeight:20,
align: 'center',
},
c: {
color: '#4C5058',
fontSize:8,
lineHeight:20,
align: 'center',
},
}
},
]
};
Pie2ChartData.series[0].data = res.data.pie2.series_data_1
Pie2ChartData.series[1].data = res.data.pie2.series_data_2
this.setData({
pie2noData:false,
showPie2Chart:true,
['ecPie2.onInit']:Pie2Chart,
})
}
data: []
},
]
};
Pie2ChartData.series[0].data = res.data.pie2.series_data_1
Pie2ChartData.series[1].data = res.data.pie2.series_data_2
this.setData({
Pie2title:res.data.pie2.title,
showPie2Chart:true,
['ecPie2.onInit']:Pie2Chart,
})
//BarChartData = getBarOption()
BarChartData = {
@@ -347,18 +306,17 @@ Page({
}
},
xAxis: {
type: 'value',
data: []
},
yAxis: {
type: 'category',
data: []
},
yAxis: {
type: 'value'
},
grid: {
top: '1%',
top: '5%',
left: '2%',
right: '5%',
bottom: '1%',
bottom: '3%',
containLabel: true
},
series: [
@@ -371,10 +329,10 @@ Page({
]
};
BarChartData.yAxis.data = res.data.bar.xAxis_data
BarChartData.xAxis.data = res.data.bar.xAxis_data
BarChartData.series[0].data = res.data.bar.series_data
this.setData({
Barheight:100 + 50*(res.data.bar.xAxis_data.length),
Bartitle:res.data.bar.title,
showBarChart:true,
['ecBar.onInit']:BarChart,
})
@@ -551,13 +509,12 @@ function getBarOption() {
}
},
xAxis: {
type: 'value',
data: []
},
yAxis: {
type: 'category',
data: ['张三', '李四', '王五', '赵六', '孙七', '周八', '吴九','郑十']
},
yAxis: {
type: 'value'
},
grid: {
top: '5%',
left: '2%',
+4 -8
View File
@@ -22,13 +22,11 @@
<view class="relative">
<view class="font-36">{{Pie1title}}</view>
</view>
<lcb-listmore isNoData='{{pie1noData}}' noDataMsg='暂无数据'></lcb-listmore>
<view class="mt50 mb20 relative height-400 z-index-0" wx:if="{{!pie1noData}}">
<view class="mt50 mb20 relative height-400 z-index-0">
<view class="absolute wp100 height-400" wx:if="{{showPie1Chart}}">
<ec-canvas class="absolute top-0 bottom-0 left-0 right-0" ec="{{ ecPie1 }}"></ec-canvas>
</view>
</view>
<view class="text-center font-22 color-f9394d" wx:if='{{!pie1noData}}'>点击分类卡片查看具体数据</view>
</view>
</view>
@@ -37,13 +35,11 @@
<view class="relative">
<view class="font-36">{{Pie2title}}</view>
</view>
<lcb-listmore isNoData='{{pie2noData}}' noDataMsg='暂无数据'></lcb-listmore>
<view class="mt50 mb20 relative height-400 z-index-0" wx:if="{{!pie2noData}}">
<view class="mt50 mb20 relative height-400 z-index-0">
<view class="absolute wp100 height-400" wx:if="{{showPie2Chart}}">
<ec-canvas class="absolute top-0 bottom-0 left-0 right-0" ec="{{ ecPie2 }}"></ec-canvas>
</view>
</view>
<view class="text-center font-22 color-f9394d" wx:if='{{!pie2noData}}'>点击分类卡片查看具体数据</view>
</view>
</view>
@@ -52,8 +48,8 @@
<view class="relative">
<view class="font-36">{{Bartitle}}</view>
</view>
<view class="mt50 mb20 relative z-index-0" style="height:{{Barheight}}rpx;">
<view class="absolute wp100" style="height:{{Barheight}}rpx;" wx:if="{{showBarChart}}">
<view class="mt50 mb20 relative height-500 z-index-0">
<view class="absolute wp100 height-500" wx:if="{{showBarChart}}">
<ec-canvas class="absolute top-0 bottom-0 left-0 right-0" ec="{{ ecBar }}"></ec-canvas>
</view>
</view>
+23 -40
View File
@@ -36,9 +36,7 @@ Page({
showLineChart:false,//是否显示Line图表
ecLine:{},
daysIndex:0,
daysArray:['近一周','近30日'],
isShowTip:false,
tipIndex:0,
daysArray:['近7日','近30日'],
},
onLoad: function (options) {
@@ -49,17 +47,15 @@ Page({
}
popularData.getDateLater(0,0).then(res => {
let s_date = res[0]
s_date= s_date.split('-')[0]+'-'+s_date.split('-')[1]+'-01'
this.setData({
s_date,
s_date:res[0],
e_date:res[1],
current_date:res[1],
})
this.getAppBizStats()
this.getAppBizStats_days()
})
this.getAppBizStats()
this.getAppBizStats_days()
},
@@ -126,7 +122,7 @@ Page({
},
//数据看板-漏斗
//门店数据-漏斗
getAppBizStats(){
this.setData({
showFunnelChart:false,
@@ -145,7 +141,7 @@ Page({
tabs:res.data.tabs,
})
//FunnelChartData = getFunnelOption()
// FunnelChartData = getFunnelOption()
FunnelChartData = {
series: [
{
@@ -154,7 +150,7 @@ Page({
top: '1%',
bottom:'5%',
left: '2%',
width: '72%',
width: '80%',
label: {
position: 'right',
formatter: '{b}'
@@ -172,9 +168,9 @@ Page({
type: 'funnel',
top:'1%',
bottom:'5%',
left: '7%',
width: '62%',
maxSize: '62%',
left: '2%',
width: '80%',
maxSize: '80%',
label: {
position: 'inside',
formatter: '{c}',
@@ -217,7 +213,7 @@ Page({
params['days'] = this.data.daysIndex == 0?'7':'30';
_.apiQuery.getAppBizStats_days(params).then(res => {
//lineChartData = getLineOption()
// lineChartData = getLineOption()
lineChartData = {
tooltip: {
trigger: 'axis'
@@ -267,19 +263,6 @@ Page({
this.getAppBizStats_days()
},
//显示隐藏提示
optShowTip(e) {
this.setData({
isShowTip:!this.data.isShowTip,
})
if(e.currentTarget.dataset.index){
this.setData({
tipIndex:e.currentTarget.dataset.index
})
}
},
//推送链接
pushLink(e) {
if(e.currentTarget.dataset.url){
@@ -308,7 +291,7 @@ function getFunnelOption() {
top: '1%',
bottom:'5%',
left: '2%',
width: '72%',
width: '80%',
label: {
position: 'right',
formatter: '{b}'
@@ -322,7 +305,7 @@ function getFunnelOption() {
data: [
{ value: 33.3, name: '成交数(10%)' },
{ value: 66.6, name: '到店数(25%)' },
{ value: 100, name: '客户数(100%)' }
{ value: 100, name: '客户' }
]
},
{
@@ -330,9 +313,9 @@ function getFunnelOption() {
type: 'funnel',
top:'1%',
bottom:'5%',
left: '7%',
width: '62%',
maxSize: '62%',
left: '2%',
width: '80%',
maxSize: '80%',
label: {
position: 'inside',
formatter: '{c}',
@@ -368,7 +351,7 @@ function getLineOption() {
},
legend: {
top: 'bottom',
data: ['客户数', '订单数',]
data: ['近七日客户数', '近七日订单数',]
},
grid: {
top: '3%',
@@ -387,17 +370,17 @@ function getLineOption() {
},
series: [
{
name: '客户数',
name: '近七日客户数',
type: 'line',
//stack: '总量',//累加
stack: '总量',
data: [20, 30, 50, 60, 66, 70, 73, ],
smooth: true,
},
{
name: '订单数',
name: '近七日订单数',
type: 'line',
//stack: '总量',//累加
data: [10, 10, 10,1, 1, 1, 1,],
stack: '总量',
data: [10, 15, 22,25, 26, 30, 35,],
smooth: true,
},
]
+8 -25
View File
@@ -17,18 +17,15 @@
</view>
</view>
<view class="mt10 mb40 pl30 pr30 fn-flex text-center color-fff">
<view class="mb40 pl30 pr30 fn-flex text-center color-fff">
<block wx:for='{{tabs}}' wx:key='index'>
<view class="fn-flex-item">
<view class="fn-flex-item" bindtap="pushLink" data-url="{{item.url}}">
<view class="inline-block text-left">
<view bindtap="optShowTip" data-index="{{index}}">
<view class="inline-block relative">
<text class="font-40">{{item.value_1}}</text>
<text class="font-28">{{item.value_2}}</text>
<i class="absolute font-24 iconfont icon-ziyuan" style="top:-10rpx;right:-20rpx;"></i>
</view>
<view>
<text class="font-40">{{item.value_1}}</text>
<text class="font-28">{{item.value_2}}</text>
</view>
<view class="pt10 font-22" bindtap="pushLink" data-url="{{item.url}}?s_date={{s_date}}&e_date={{e_date}}&current_date={{current_date}}">
<view class="font-22">
<text>{{item.title}}</text>
<i class="iconfont ml5 icon-gengduo"></i>
</view>
@@ -64,6 +61,7 @@
<view class="font-36">{{linetitle}}</view>
<picker class="absolute right-0 box-middle" bindchange="changeDays" value="{{daysIndex}}" range="{{daysArray}}">
<view class="pt10 pb10 pl20 pr20 bg-f6 ulib-r10 font-22">
<text>厦门</text>
<text>{{daysArray[daysIndex]}}</text>
<i class="iconfont ml10 icon-xiala color-999"></i>
</view>
@@ -78,19 +76,4 @@
</view>
</view>
<lcb-footer></lcb-footer>
<lcb-msg isShow="{{isShowTip}}">
<view slot="content">
<view class="inner40 pt50 pb50 line-height-18 font-26 color-666" style="width:520rpx;">
<view class="text-center">
<text wx:if="{{tipIndex==0}}">发生在时间周期内的\n [客户建档] / [进店客户]</text>
<text wx:elif="{{tipIndex==1}}">发生在时间周期内的\n [企微添加好友] / [企微好友完善手机号码]</text>
<text wx:elif="{{tipIndex==2}}">发生在时间周期内的\n [下定订单] / [退款订单]</text>
</view>
</view>
<view class="bts-1-eb text-center font-32 color-666">
<view class="pt25 pb25 color-36afa2" bindtap="optShowTip">知道了</view>
</view>
</view>
</lcb-msg>
<lcb-footer></lcb-footer>
+238 -191
View File
@@ -30,12 +30,7 @@ function Pie1Chart(canvas, width, height, dpr) {
let option = Pie1ChartData
chart.setOption(option);
chart.on('click',function(e){
if(e.data.id>0){
let obj = {}
obj.type = 2
obj.id = e.data.id
_.eventBus.emit("orderstats",obj)
}
console.log(e)
});
return chart;
}
@@ -49,11 +44,7 @@ function Pie2Chart(canvas, width, height, dpr) {
let option = Pie2ChartData
chart.setOption(option);
chart.on('click',function(e){
if(e.data.id>0){
let obj = {}
obj.id = e.data.id
_.eventBus.emit("orderstats",obj)
}
_.eventBus.emit("pinpai",e.name)
});
return chart;
}
@@ -76,28 +67,95 @@ Page({
})
}
// popularData.getDateLater(0,0).then(res => {
// this.setData({
// s_date:res[0],
// e_date:res[1],
// current_date:res[1],
// })
// })
popularData.getDateLater(0,0).then(res => {
this.setData({
s_date:res[0],
e_date:res[1],
current_date:res[1],
})
})
this.getAppBizStats_order()
let that = this
//消息通讯 是否显示授权用户信息按钮
_.eventBus.on("orderstats", this, function(res){
_.eventBus.on("pinpai", this, function(res){
this.setData({
showPie2Chart:false,
})
let url = '/pages/storeData/subData/index'
if(res.type == 2){
url = url+'?from=customer&type=' + res.type + '&id=' + res.id + '&s_date=' + that.data.s_date + '&e_date=' + that.data.e_date + '&current_date=' + that.data.current_date
}else{
url = url+'?from=order&id=' + res.id + '&s_date=' + that.data.s_date + '&e_date=' + that.data.e_date + '&current_date=' + that.data.current_date
Pie2ChartData = {
tooltip: {
fontSize:10,
trigger: 'item',
formatter: '{b}: {c} ({d}%)'
},
series: [
{
name: 'Access From',
type: 'pie',
selectedMode: 'single',
radius: [0, '30%'],
label: {
position: 'inner',
fontSize: 10
},
labelLine: {
show: false
},
data: []
},
{
name: 'Access From',
type: 'pie',
radius: ['45%', '65%'],
labelLine: {
fontSize:5,
length:10
},
label: {
formatter: '{b| {b} }{abg|}\n{hr|}\n{c| {c}({d}%) }',
backgroundColor: '#F6F8FC',
borderColor: '#8C8D8E',
borderWidth: 1,
borderRadius: 4,
rich: {
hr: {
borderColor: '#8C8D8E',
width: '100%',
borderWidth: 1,
height: 0
},
b: {
color: '#4C5058',
fontSize:10,
lineHeight:20,
align: 'center',
},
c: {
color: '#4C5058',
fontSize:8,
lineHeight:20,
align: 'center',
},
}
},
data: []
},
]
};
Pie2ChartData.series[0].data = this.data.pie2.series_data
if(res == '成交数'){
Pie2ChartData.series[1].data = this.data.pie2.series_data_1
}
else if(res == '退定数'){
Pie2ChartData.series[1].data = this.data.pie2.series_data_2
}
_.$router.openUrlScheme(url)
this.setData({
showPie2Chart:true,
['ecPie2.onInit']:Pie2Chart,
})
})
},
@@ -105,7 +163,7 @@ Page({
//生命周期函数--监听页面卸载
onUnload: function () {
//卸载消息通讯 是否显示授权用户信息
_.eventBus.remove("orderstats",this);
_.eventBus.remove('pinpai',this);
},
@@ -189,154 +247,137 @@ Page({
title: res.data.title
})
// Pie1ChartData = getPie1Option()
Pie1ChartData = {
series: [
{
name: 'Access From',
type: 'pie',
bottom:'10%',
radius: ['40%', '70%'],
avoidLabelOverlap: false,
itemStyle: {
borderRadius: 10,
borderColor: '#fff',
borderWidth: 2
},
label: {
show: false,
position: 'center'
},
labelLine: {
fontSize:5,
length:10
},
label: {
formatter: '{b| {b} }{abg|}\n{hr|}\n{c| {c}({d}%) }',
backgroundColor: '#F6F8FC',
borderColor: '#8C8D8E',
borderWidth: 1,
borderRadius: 4,
rich: {
hr: {
borderColor: '#8C8D8E',
width: '100%',
borderWidth: 1,
height: 0
},
b: {
color: '#4C5058',
fontSize:10,
lineHeight:20,
align: 'center',
},
c: {
color: '#4C5058',
fontSize:8,
lineHeight:20,
align: 'center',
},
}
},
data: []
}
]
};
Pie1ChartData.series[0].data = res.data.pie1.series_data
this.setData({
Pie1title:res.data.pie1.title,
Pie2title:res.data.pie2.title,
Bartitle:res.data.bar.title,
showPie1Chart:true,
['ecPie1.onInit']:Pie1Chart,
})
// Pie1ChartData = getPie1Option()
if(res.data.pie1.series_data.length==0){
this.setData({
pie1noData:true,
})
}else{
Pie1ChartData = {
tooltip: {
trigger: 'item',
formatter: '{b}: {c} ({d}%)'
},
series: [
{
name: 'Access From',
type: 'pie',
bottom:'15%',
radius: ['40%', '70%'],
avoidLabelOverlap: false,
itemStyle: {
borderRadius: 10,
borderColor: '#fff',
borderWidth: 2
},
label: {
show: false,
position: 'center'
},
labelLine: {
fontSize:5,
length:10
},
label: {
formatter: '{b| {b} }{abg|}\n{hr|}\n{c| {c}({d}%) }',
backgroundColor: '#F6F8FC',
borderColor: '#8C8D8E',
borderWidth: 1,
borderRadius: 4,
rich: {
hr: {
borderColor: '#8C8D8E',
width: '100%',
borderWidth: 1,
height: 0
},
b: {
color: '#4C5058',
fontSize:10,
lineHeight:20,
align: 'center',
},
c: {
color: '#4C5058',
fontSize:8,
lineHeight:20,
align: 'center',
},
}
},
data: []
}
]
};
Pie1ChartData.series[0].data = res.data.pie1.series_data
this.setData({
pie1noData:false,
showPie1Chart:true,
['ecPie1.onInit']:Pie1Chart,
pie1Bottom:res.data.pie1.bottom,
})
}
// Pie2ChartData = getPie2Option()
if(res.data.pie2.series_data.length==0){
this.setData({
pie2noData:true,
})
}else{
Pie2ChartData = {
tooltip: {
trigger: 'item',
formatter: '{b}: {c} ({d}%)'
Pie2ChartData = {
tooltip: {
fontSize:10,
trigger: 'item',
formatter: '{b}: {c} ({d}%)'
},
series: [
{
name: 'Access From',
type: 'pie',
selectedMode: 'single',
radius: [0, '30%'],
label: {
position: 'inner',
fontSize: 10
},
labelLine: {
show: false
},
data: []
},
series: [
{
name: 'Access From',
type: 'pie',
bottom:'15%',
radius: ['40%', '70%'],
avoidLabelOverlap: false,
itemStyle: {
borderRadius: 10,
borderColor: '#fff',
borderWidth: 2
},
label: {
show: false,
position: 'center'
},
labelLine: {
fontSize:5,
length:10
},
label: {
formatter: '{b| {b} }{abg|}\n{hr|}\n{c| {c}({d}%) }',
backgroundColor: '#F6F8FC',
borderColor: '#8C8D8E',
borderWidth: 1,
borderRadius: 4,
rich: {
hr: {
borderColor: '#8C8D8E',
width: '100%',
borderWidth: 1,
height: 0
},
b: {
color: '#4C5058',
fontSize:10,
lineHeight:20,
align: 'center',
},
c: {
color: '#4C5058',
fontSize:8,
lineHeight:20,
align: 'center',
},
}
},
data: []
}
]
};
Pie2ChartData.series[0].data = res.data.pie2.series_data_1
this.setData({
pie2noData:false,
showPie2Chart:true,
['ecPie2.onInit']:Pie2Chart,
pie2Bottom:res.data.pie2.bottom,
//pie2:res.data.pie2,
})
}
{
name: 'Access From',
type: 'pie',
radius: ['45%', '65%'],
labelLine: {
fontSize:5,
length:10
},
label: {
formatter: '{b| {b} }{abg|}\n{hr|}\n{c| {c}({d}%) }',
backgroundColor: '#F6F8FC',
borderColor: '#8C8D8E',
borderWidth: 1,
borderRadius: 4,
rich: {
hr: {
borderColor: '#8C8D8E',
width: '100%',
borderWidth: 1,
height: 0
},
b: {
color: '#4C5058',
fontSize:10,
lineHeight:20,
align: 'center',
},
c: {
color: '#4C5058',
fontSize:8,
lineHeight:20,
align: 'center',
},
}
},
data: []
},
]
};
Pie2ChartData.series[0].data = res.data.pie2.series_data
Pie2ChartData.series[1].data = res.data.pie2.series_data_1
this.setData({
Pie2title:res.data.pie2.title,
showPie2Chart:true,
['ecPie2.onInit']:Pie2Chart,
pie2:res.data.pie2,
})
//BarChartData = getBarOption()
BarChartData = {
@@ -344,28 +385,31 @@ Page({
trigger: 'axis'
},
grid: {
top: '1%',
top: '8%',
left: '5%',
right: '5%',
bottom: '1%',
bottom: '5%',
containLabel: true
},
calculable: true,
xAxis: {
type: 'value',
data: []
},
yAxis: {
type: 'category',
data: []
},
xAxis: [
{
type: 'category',
data: []
}
],
yAxis: [
{
type: 'value'
}
],
series: []
};
BarChartData.yAxis.data = res.data.bar.xAxis_data
BarChartData.xAxis.data = res.data.bar.xAxis_data
BarChartData.series = res.data.bar.series
this.setData({
Barheight:100 + 100*(res.data.bar.xAxis_data.length),
Bartitle:res.data.bar.title,
showBarChart:true,
['ecBar.onInit']:BarChart,
})
@@ -474,8 +518,8 @@ function getPie2Option() {
show: false
},
data: [
{ value: 258, name:'成交',selected:true},
{ value: 77, name: '退定' },
{ value: 258, name:'成交',selected:true},
{ value: 77, name: '退定' },
]
},
{
@@ -538,14 +582,17 @@ function getBarOption() {
containLabel: true
},
calculable: true,
xAxis: {
type: 'value',
data: []
},
yAxis: {
type: 'category',
data: ['张三', '李四', '王五', '赵六', '孙七', '周八', '吴九','郑十']
},
xAxis: [
{
type: 'category',
data: ['张三', '李四', '王五', '赵六', '孙七', '周八', '吴九','郑十']
}
],
yAxis: [
{
type: 'value'
}
],
series: [
{
name: '客户数',
+10 -16
View File
@@ -22,14 +22,11 @@
<view class="relative">
<view class="font-36">{{Pie1title}}</view>
</view>
<lcb-listmore isNoData='{{pie1noData}}' noDataMsg='暂无数据'></lcb-listmore>
<view class="mt50 mb20 relative height-400 z-index-0" wx:if="{{!pie1noData}}">
<view class="absolute wp100 height-400" wx:if="{{showPie1Chart}}">
<ec-canvas class="absolute top-0 bottom-0 left-0 right-0" ec="{{ ecPie1 }}"></ec-canvas>
</view>
<view class="absolute left-0 bottom-0 right-0 text-center font-22 color-888">{{pie1Bottom}}</view>
<view class="mt50 mb20 relative height-400 z-index-0">
<view class="absolute wp100 height-400" wx:if="{{showPie1Chart}}">
<ec-canvas class="absolute top-0 bottom-0 left-0 right-0" ec="{{ ecPie1 }}"></ec-canvas>
</view>
</view>
<view class="text-center font-22 color-f9394d" wx:if='{{!pie1noData}}'>点击分类卡片查看具体数据</view>
</view>
</view>
@@ -38,14 +35,11 @@
<view class="relative">
<view class="font-36">{{Pie2title}}</view>
</view>
<lcb-listmore isNoData='{{pie2noData}}' noDataMsg='暂无数据'></lcb-listmore>
<view class="mt50 mb20 relative height-400 z-index-0" wx:if="{{!pie2noData}}">
<view class="absolute wp100 height-400" wx:if="{{showPie2Chart}}">
<ec-canvas class="absolute top-0 bottom-0 left-0 right-0" ec="{{ ecPie2 }}"></ec-canvas>
</view>
<view class="absolute left-0 bottom-0 right-0 text-center font-22 color-888">{{pie2Bottom}}</view>
<view class="mt50 mb20 relative height-400 z-index-0">
<view class="absolute wp100 height-400" wx:if="{{showPie2Chart}}">
<ec-canvas class="absolute top-0 bottom-0 left-0 right-0" ec="{{ ecPie2 }}"></ec-canvas>
</view>
</view>
<view class="text-center font-22 color-f9394d" wx:if='{{!pie2noData}}'>点击分类卡片查看具体数据</view>
</view>
</view>
@@ -54,8 +48,8 @@
<view class="relative">
<view class="font-36">{{Bartitle}}</view>
</view>
<view class="mt50 mb20 relative z-index-0" style="height:{{Barheight}}rpx;">
<view class="absolute wp100" style="height:{{Barheight}}rpx;" wx:if="{{showBarChart}}">
<view class="mt50 mb20 relative height-500 z-index-0">
<view class="absolute wp100 height-500" wx:if="{{showBarChart}}">
<ec-canvas class="absolute top-0 bottom-0 left-0 right-0" ec="{{ ecBar }}"></ec-canvas>
</view>
</view>
-354
View File
@@ -1,354 +0,0 @@
import _ from '../../../commons/js/commons';
import popularData from '../../../commons/js/lib/popularData';
import * as echarts from '../../../ecCanvas/components/ec-canvas/echarts';
const app = getApp()
let Pie1ChartData;
function Pie1Chart(canvas, width, height, dpr) {
const chart = echarts.init(canvas, null, {
width: width,
height: height,
devicePixelRatio: dpr // new
});
canvas.setChart(chart);
let option = Pie1ChartData
chart.setOption(option);
chart.on('click',function(e){
console.log(e)
});
return chart;
}
Page({
data: {
imgUrl: _.config.imgUrl,//静态图片路径
showPie1Chart:false,//是否显示Pie1图表
ecPie1:{},
},
onLoad: function (options) {
for (let key in options) {
this.setData({
[key]: options[key]
})
}
this.getAppBizStats()
},
//选择日期
changeDate(e){
if(e.currentTarget.dataset.type=="s_date"){
let begin = new Date(e.detail.value).getTime();
let end = new Date(this.data.e_date).getTime();
let day = 0
if(end>=begin){
day = (end - begin)/(24*60*60*1000);
this.setData({
s_date: e.detail.value,
})
}
else{
day = (begin - end)/(24*60*60*1000);
let s_date = this.data.e_date
let e_date = e.detail.value
this.setData({
s_date,
e_date,
})
}
if (day > 365) {
wx.showToast({
title: '请选择一年时间内',
icon: 'none'
})
}
else{
this.getAppBizStats()
}
}
if(e.currentTarget.dataset.type=="e_date"){
let begin = new Date(this.data.s_date).getTime();
let end = new Date(e.detail.value).getTime();
let day = 0
if(end>=begin){
day = (end - begin)/(24*60*60*1000);
this.setData({
e_date: e.detail.value,
})
}
else{
day = (begin - end)/(24*60*60*1000);
let e_date = this.data.s_date
let s_date = e.detail.value
this.setData({
s_date,
e_date,
})
}
if (day > 365) {
wx.showToast({
title: '请选择一年时间内',
icon: 'none'
})
}
else{
this.getAppBizStats()
}
}
},
//订单数据
getAppBizStats(){
this.setData({
showPie1Chart:false,
})
let params = {};
if(this.data.type){
params['type'] = this.data.type;
}
params['id'] = this.data.id;
params['s_time'] = this.data.s_date;
params['e_time'] = this.data.e_date;
if(this.data.from=='customer'){
_.apiQuery.getAppBizStats_customer_pid(params).then(res => {
wx.setNavigationBarTitle({
title: res.data.title
})
// this.setData({
// Pie1title:res.data.title,
// })
if(res.data.series_data.length==0){
this.setData({
pie1noData:true,
})
}else{
Pie1ChartData = {
tooltip: {
trigger: 'item',
formatter: '{b}: {c} ({d}%)'
},
series: [
{
name: 'Access From',
type: 'pie',
bottom:'15%',
radius: ['40%', '70%'],
avoidLabelOverlap: false,
itemStyle: {
borderRadius: 10,
borderColor: '#fff',
borderWidth: 2
},
label: {
show: false,
position: 'center'
},
labelLine: {
fontSize:5,
length:10
},
label: {
formatter: '{b| {b} }{abg|}\n{hr|}\n{c| {c}({d}%) }',
backgroundColor: '#F6F8FC',
borderColor: '#8C8D8E',
borderWidth: 1,
borderRadius: 4,
rich: {
hr: {
borderColor: '#8C8D8E',
width: '100%',
borderWidth: 1,
height: 0
},
b: {
color: '#4C5058',
fontSize:10,
lineHeight:20,
align: 'center',
},
c: {
color: '#4C5058',
fontSize:8,
lineHeight:20,
align: 'center',
},
}
},
data: []
}
]
};
Pie1ChartData.series[0].data = res.data.series_data
this.setData({
pie1noData:false,
showPie1Chart:true,
['ecPie1.onInit']:Pie1Chart,
})
}
wx.stopPullDownRefresh()
});
}else if(this.data.from=='order'){
_.apiQuery.getAppBizStats_order_series(params).then(res => {
wx.setNavigationBarTitle({
title: res.data.title
})
// this.setData({
// Pie1title:res.data.title,
// })
if(res.data.series_data.length==0){
this.setData({
pie1noData:true,
})
}else{
Pie1ChartData = {
tooltip: {
trigger: 'item',
formatter: '{b}: {c} ({d}%)'
},
series: [
{
name: 'Access From',
type: 'pie',
bottom:'15%',
radius: ['40%', '70%'],
avoidLabelOverlap: false,
itemStyle: {
borderRadius: 10,
borderColor: '#fff',
borderWidth: 2
},
label: {
show: false,
position: 'center'
},
labelLine: {
fontSize:5,
length:10
},
label: {
formatter: '{b| {b} }{abg|}\n{hr|}\n{c| {c}({d}%) }',
backgroundColor: '#F6F8FC',
borderColor: '#8C8D8E',
borderWidth: 1,
borderRadius: 4,
rich: {
hr: {
borderColor: '#8C8D8E',
width: '100%',
borderWidth: 1,
height: 0
},
b: {
color: '#4C5058',
fontSize:10,
lineHeight:20,
align: 'center',
},
c: {
color: '#4C5058',
fontSize:8,
lineHeight:20,
align: 'center',
},
}
},
data: []
}
]
};
Pie1ChartData.series[0].data = res.data.series_data
this.setData({
pie1noData:false,
showPie1Chart:true,
['ecPie1.onInit']:Pie1Chart,
})
}
wx.stopPullDownRefresh()
});
}
},
//页面相关事件处理函数--监听用户下拉动作
onPullDownRefresh: function () {
this.getAppBizStats()
},
})
function getPie1Option() {
return {
// tooltip: {
// trigger: 'item',
// formatter: '{b}: {c} ({d}%)'
// },
series: [
{
name: 'Access From',
type: 'pie',
bottom:'10%',
radius: ['40%', '70%'],
avoidLabelOverlap: false,
itemStyle: {
borderRadius: 10,
borderColor: '#fff',
borderWidth: 2
},
label: {
show: false,
position: 'center'
},
labelLine: {
fontSize:5,
length:10
},
label: {
formatter: '{b| {b} }{abg|}\n{hr|}\n{c| {c}({d}%) }',
backgroundColor: '#F6F8FC',
borderColor: '#8C8D8E',
borderWidth: 1,
borderRadius: 4,
rich: {
hr: {
borderColor: '#8C8D8E',
width: '100%',
borderWidth: 1,
height: 0
},
b: {
color: '#4C5058',
fontSize:10,
lineHeight:20,
align: 'center',
},
c: {
color: '#4C5058',
fontSize:8,
lineHeight:20,
align: 'center',
},
}
},
data: [
{ value: 48, name: '转介绍' },
{ value: 35, name: '网络推广' },
{ value: 30, name: '外展外拓' },
{ value: 21, name: '自媒体' },
]
}
]
};
}
-10
View File
@@ -1,10 +0,0 @@
{
"navigationBarTitleText": "数据看板",
"navigationBarTextStyle": "white",
"navigationBarBackgroundColor": "#ff7052",
"backgroundColor": "#ffffff",
"backgroundColorTop": "#ff7052",
"usingComponents": {
"ec-canvas": "../../../ecCanvas/components/ec-canvas/ec-canvas"
}
}
-36
View File
@@ -1,36 +0,0 @@
<view class="container img-top-cover" style="background-image:url({{imgUrl}}storedata/theme.png);">
<view class="text-center pt30 pb30">
<view class="inline-block bg-fff-op20 pt5 pb5 pl20 pr20 font-22 color-fff ulib-r750">
<picker class="inline-block" mode="date" value="{{s_date}}" end="{{current_date}}" bindchange="changeDate" data-type="s_date">
<view>
<text>{{s_date}}</text>
<i class="iconfont ml5 icon-xuanze"></i>
</view>
</picker>
<text class="pl10 pr10">至</text>
<picker class="inline-block" mode="date" value="{{e_date}}" end="{{current_date}}" bindchange="changeDate" data-type="e_date">
<view>
<text>{{e_date}}</text>
<i class="iconfont ml5 icon-xuanze"></i>
</view>
</picker>
</view>
</view>
<view class="mb30 pl30 pr30">
<view class="inner30 pt40 bg-fff box-shadow-000-10-10 ulib-r10">
<view class="relative">
<view class="font-36">{{Pie1title}}</view>
</view>
<lcb-listmore isNoData='{{pie1noData}}' noDataMsg='暂无数据'></lcb-listmore>
<view class="mt50 mb20 relative height-400 z-index-0" wx:if="{{!pie1noData}}">
<view class="absolute wp100 height-400" wx:if="{{showPie1Chart}}">
<ec-canvas class="absolute top-0 bottom-0 left-0 right-0" ec="{{ ecPie1 }}"></ec-canvas>
</view>
<view class="absolute left-0 bottom-0 right-0 text-center font-22 color-888">{{pie1Bottom}}</view>
</view>
</view>
</view>
</view>
<lcb-footer></lcb-footer>
-1
View File
@@ -1 +0,0 @@
/* pages/storeData/index.wxss */
+59 -65
View File
@@ -50,13 +50,13 @@ Page({
})
}
// popularData.getDateLater(0,0).then(res => {
// this.setData({
// s_date:res[0],
// e_date:res[1],
// current_date:res[1],
// })
// })
popularData.getDateLater(0,0).then(res => {
this.setData({
s_date:res[0],
e_date:res[1],
current_date:res[1],
})
})
this.getAppBizStats_wxqy()
@@ -149,60 +149,16 @@ Page({
}
},
xAxis: {
type: 'value',
data: []
},
yAxis: {
type: 'category',
data: []
},
yAxis: {
type: 'value'
},
grid: {
top: '1%',
top: '5%',
left: '2%',
right: '5%',
bottom: '1%',
containLabel: true
},
series: [
{
data: [],
type: 'bar',
top: 0,
bottom:'0',
}
]
};
Bar1ChartData.yAxis.data = res.data.bar1.xAxis_data
Bar1ChartData.series[0].data = res.data.bar1.series_data
this.setData({
Bar1height:100 + 50*(res.data.bar1.xAxis_data.length),
Bar1title:res.data.bar1.title,
showBar1Chart:true,
['ecBar1.onInit']:Bar1Chart,
})
//Bar2ChartData = getBar2Option()
Bar2ChartData = {
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'shadow'
}
},
xAxis: {
type: 'value',
data: []
},
yAxis: {
type: 'category',
data: []
},
grid: {
top: '1%',
left: '2%',
right: '1%',
bottom: '3%',
containLabel: true
},
@@ -217,10 +173,50 @@ Page({
]
};
Bar2ChartData.yAxis.data = res.data.bar2.xAxis_data
Bar1ChartData.xAxis.data = res.data.bar1.xAxis_data
Bar1ChartData.series[0].data = res.data.bar1.series_data
this.setData({
Bar1title:res.data.bar1.title,
showBar1Chart:true,
['ecBar1.onInit']:Bar1Chart,
})
//Bar2ChartData = getBar2Option()
Bar2ChartData = {
tooltip: {
trigger: 'axis',
axisPointer: {
type: 'shadow'
}
},
xAxis: {
type: 'category',
data: []
},
yAxis: {
type: 'value'
},
grid: {
top: '5%',
left: '2%',
right: '5%',
bottom: '3%',
containLabel: true
},
series: [
{
data: [],
type: 'bar',
top: 0,
bottom:'0',
}
]
};
Bar2ChartData.xAxis.data = res.data.bar2.xAxis_data
Bar2ChartData.series[0].data = res.data.bar2.series_data
this.setData({
Bar2height:100 + 50*(res.data.bar2.xAxis_data.length),
Bar2title:res.data.bar2.title,
showBar2Chart:true,
['ecBar2.onInit']:Bar2Chart,
@@ -256,13 +252,12 @@ function getBar1Option() {
}
},
xAxis: {
type: 'value',
data: []
},
yAxis: {
type: 'category',
data: ['张三', '李四', '王五', '赵六', '孙七', '周八', '吴九','郑十']
},
yAxis: {
type: 'value'
},
grid: {
top: '5%',
left: '2%',
@@ -292,13 +287,12 @@ function getBar2Option() {
}
},
xAxis: {
type: 'value',
data: []
},
yAxis: {
type: 'category',
data: ['张三', '李四', '王五', '赵六', '孙七', '周八', '吴九','郑十']
},
yAxis: {
type: 'value'
},
grid: {
top: '5%',
left: '2%',
+4 -4
View File
@@ -22,8 +22,8 @@
<view class="relative">
<view class="font-36">{{Bar1title}}</view>
</view>
<view class="mt50 mb20 relative z-index-0" style="height:{{Bar1height}}rpx;">
<view class="absolute wp100" style="height:{{Bar1height}}rpx;" wx:if="{{showBar1Chart}}">
<view class="mt50 mb20 relative height-500 z-index-0">
<view class="absolute wp100 height-500" wx:if="{{showBar1Chart}}">
<ec-canvas class="absolute top-0 bottom-0 left-0 right-0" ec="{{ ecBar1 }}"></ec-canvas>
</view>
</view>
@@ -35,8 +35,8 @@
<view class="relative">
<view class="font-36">{{Bar2title}}</view>
</view>
<view class="mt50 mb20 relative z-index-0" style="height:{{Bar2height}}rpx;">
<view class="absolute wp100" style="height:{{Bar2height}}rpx;" wx:if="{{showBar2Chart}}">
<view class="mt50 mb20 relative height-500 z-index-0">
<view class="absolute wp100 height-500" wx:if="{{showBar2Chart}}">
<ec-canvas class="absolute top-0 bottom-0 left-0 right-0" ec="{{ ecBar2 }}"></ec-canvas>
</view>
</view>