38 Commits

Author SHA1 Message Date
老叶 4259caeec7 线索来源 预计购车时间改为必填 2022-03-24 14:25:40 +08:00
老叶 f8e8dc372c 线索来源 预计购车时间改为必填 2022-03-24 14:13:08 +08:00
老叶 8c0619f32e 客户画像选择 2022-03-23 17:14:06 +08:00
老叶 5e0e704f9a 客户-重新分配 2022-03-17 14:27:28 +08:00
老叶 02e6cf645a 静态 2022-03-16 18:00:09 +08:00
yerz123 4b17dd4b77 待分配 2022-03-15 17:58:21 +08:00
yerz123 49027fed1b 随车物品确认 2022-03-15 17:37:03 +08:00
yerz123 70c5a537e3 销售顾问未分配标红 2022-03-15 16:54:12 +08:00
yerz123 96199d6440 客户标签添加单选模式 2022-03-15 15:36:12 +08:00
yerz123 fd043c17c0 客户标签改为非必填 2022-03-15 12:03:03 +08:00
yerz123 0884880ff3 订单登记成功-只弹支付 2022-03-15 11:10:54 +08:00
yerz123 3d14753fa4 客户信息去掉选车,客户标签必填 2022-03-15 11:03:10 +08:00
老叶 b6eb725d4a 客户标签样式修改 2022-03-15 09:16:14 +08:00
老叶 afd1cd369a 去掉贷款产品相关 2022-03-14 17:06:19 +08:00
老叶 4653a5874d 客户标签 2022-03-14 17:03:42 +08:00
老叶 13dc69c55b 客户标签 2022-03-14 16:14:10 +08:00
老叶 c8ab583072 购车时间 2022-03-10 15:14:43 +08:00
老叶 5161d48dd6 车型级别改车辆版本,车型车系改车系车型,车型颜色改车身颜色 2022-03-09 17:52:34 +08:00
老叶 de6a4bbbcf 客户线索,库存弹框一天3次 2022-03-09 17:21:34 +08:00
老叶 12c379aeca 客户 2022-03-09 09:45:54 +08:00
老叶 e0cc9ce352 调拨判断标记 2022-03-09 09:44:05 +08:00
老叶 ff282c9430 门店首页,调拨,盘点,库存入口 2022-03-08 16:30:49 +08:00
老叶 3921706925 调拨 2022-03-07 17:17:04 +08:00
老叶 99c96c34b6 盘点 库存功能 2022-03-07 14:03:40 +08:00
老叶 fb054fa2b6 盘点 2022-02-28 14:04:55 +08:00
老叶 9998650a63 店铺首页盘点入口静态 2022-02-25 09:47:13 +08:00
老叶 1c2aa7ba5c 订单登记,编辑水平业务,去掉公众号关注组件 2022-02-24 17:22:15 +08:00
老叶 e9e24b6e29 用户信息 2022-02-24 12:03:39 +08:00
老叶 ed797c263e 授权头像 2022-02-24 11:39:05 +08:00
老叶 ddcb148c3a 用户授权头像 2022-02-24 11:20:54 +08:00
老叶 e3182a26c8 新版logo添加版本号 2022-02-23 15:19:58 +08:00
yerz 5396e0f043 扫码签名 2022-02-12 11:42:17 +08:00
老叶 5b6d49c224 私域通 2022-02-10 17:03:31 +08:00
老叶 25155bc8f5 调拨 2022-02-10 10:48:20 +08:00
老叶 f6a5aae77e 私域通 2022-02-10 10:21:45 +08:00
老叶 7dc6064d32 调拨信息 2022-02-09 15:23:20 +08:00
老叶 516e8b2911 私域通入口 2022-02-08 10:51:17 +08:00
老叶 66f1e96e25 私域通 2022-02-08 10:31:20 +08:00
80 changed files with 3861 additions and 1034 deletions
+7 -1
View File
@@ -34,7 +34,13 @@
"pages/audioPlay/index",
"pages/recommend/index",
"pages/allot/index",
"pages/storeInfo/index"
"pages/storeInfo/index",
"pages/siyutong/index",
"pages/siyutong/activityDetail/index",
"pages/siyutong/activityRanking/index",
"pages/inventory/detail/index",
"pages/inventory/list/index",
"pages/inventory/warning/index"
],
"echarts": [
{
+4 -1
View File
@@ -33,4 +33,7 @@
.bg-e3f5f3{background-color:#e3f5f3;}
.bg-2e3246{background-color:#2e3246;}
.bg-ffedeb{background-color:#ffedeb;}
.bg-ffedeb{background-color:#ffedeb;}
.bg-f0f4ff{background-color:#f0f4ff;}
.bg-fffaf3{background-color:#fffaf3;}
+1
View File
@@ -11,5 +11,6 @@
.color-bbb{color:#bbb;}
.color-ccc{color:#ccc;}
.color-f9394d{color:#f9394d;}
.color-fe4109{color:#fe4109;}
.color-36afa2{color:#36afa2;}
.color-00c800{color:#00c800;}
+1
View File
@@ -16,6 +16,7 @@
.img-135x135{width:135rpx;height:135rpx;box-sizing:border-box;}
.img-140x140{width:140rpx;height:140rpx;box-sizing:border-box;}
.img-160x160{width:160rpx;height:160rpx;box-sizing:border-box;}
.img-190x175{width:190rpx;height:175rpx;box-sizing:border-box;}
.img-200x180{width:200rpx;height:180rpx;box-sizing:border-box;}
.img-208x170{width:208rpx;height:170rpx;box-sizing:border-box;}
.img-220x200{width:220rpx;height:200rpx;box-sizing:border-box;}
+1
View File
@@ -117,6 +117,7 @@
.line-height-20{line-height:2;}
.rich-text-img{display:bolck;max-width:100% !important;height:auto !important;margin:40rpx 0 20rpx 0 !important;}
.height-90{height:90rpx;box-sizing:border-box;}
.height-100{height:100rpx;box-sizing:border-box;}
.height-120{height:120rpx;box-sizing:border-box;}
.height-190{height:190rpx;box-sizing:border-box;}
+1
View File
@@ -63,6 +63,7 @@
.mr170{margin-right:170rpx;}
.mr180{margin-right:180rpx;}
.mr190{margin-right:190rpx;}
.mb5{margin-bottom:5rpx;}
.mb10{margin-bottom:10rpx;}
.mb15{margin-bottom:15rpx;}
.mb20{margin-bottom:20rpx;}
File diff suppressed because one or more lines are too long
+32 -3
View File
@@ -37,7 +37,6 @@ api = {
appCusorder: "app/cusorder", //新建订单 /获取订单列表 /获取订单详情 /修改付款方式 /修改委托协议
appCusorderTabs: "app/cusorder/tabs", //获取tab
appEmployees: "app/employees", //获取客户详细信息 /获取店员列表 /更新店员信息 /删除店员
appLoan: "app/loan", //获取贷款产品信息 /创建贷款信息 /修改贷款信息
appIdcard: "app/idcard", //创建申请开票信息
appUserCal: "app/user/cal", //获取用户统计
appCusorderCkcar: "app/cusorder/ckcar", //确认交付
@@ -49,7 +48,7 @@ api = {
appSeriesInfo: "app/series/info", //获取车辆价格
appSeriesBrands: "app/series/brands", //获取车型品牌
appSeries: "app/series", //获取车型车
appSeries: "app/series", //获取车系车型
appUserTel: "app/user/tel", //编辑拨打电话
@@ -106,6 +105,30 @@ api = {
appBizSituation_tabs:'app/biz/situation_tabs', //店铺概况_tab
appBizSituation:'app/biz/situation', //店铺概况 /店铺概况保存
appBizStreet:'app/biz/street', //获取乡镇
appCusorderV2Inten:'app/cusorderV2/inten', //新增意向金订单
appCusorderV2:'app/cusorderV2', //新建订单 /获取订单列表 /订单详情 /修改订单信息
appCusorderV2Tabs:'app/cusorderV2/tabs', //获取订单列表tab
appCusorderdata:'app/Cusorderdata', //获取订单图片 /上传编辑国补资料
appCusorderV2Info:'app/cusorderV2/info', //修改订单基本信息
appCusorderV2Status:'app/cusorderV2/status', //删除订单
appSytactivityTabs:'app/sytactivity/tabs', //私域通_tab
appSytactivityList:'app/sytactivity/list', //活动列表
appSytactivityDetail:'app/sytactivity/detail', //活动详情
appSytactivityLog:'app/sytactivity/log', //实时战报
appSytactivityRanking:'app/sytactivity/ranking', //活动排名
appInventoryTabs:'app/inventory/tabs', //盘点记录_tab
appInventoryLists:'app/inventory/lists', //盘点记录
appInventory:'app/inventory', //盘点详情 /盘点上传图片
appInventoryRemind:'app/inventory/remind', //盘点提醒
appGoodsRemind:'app/goods/remind', //库存提醒/预警
appGoodsLists:'app/goods/lists', //库存列表
appCustomersOffline_sources:'app/customers/offline_sources', //线索来源
appCustomersTag:'app/customers/tag', //客户标签
}
@@ -149,6 +172,11 @@ var white401UrlList = {
'app/home/qrcode':'app/home/qrcode'
}
/**
* 订单id临界切换版本
*/
var v2OrderId = 10000
export default {
env,
api,
@@ -161,5 +189,6 @@ export default {
bookTmpId,
getLotteryTmpId,
subscribeTmpId,
white401UrlList
white401UrlList,
v2OrderId,
}
+169 -50
View File
@@ -24,33 +24,6 @@ apiQuery.putUserInfo = function (params) {
})
}
//用户信息授权
apiQuery.authUserInfo = function (params) {
return new Promise(function (resolve, reject) {
wx.getSetting({
success(res) {
let userInfo = app.getStorageByKey("userInfo");
console.log(res.authSetting)
if (res.authSetting['scope.userInfo']) {
if (!userInfo.nickname || !userInfo.headimg || (userInfo.headimg != JSON.parse(params.detail.rawData).avatarUrl)) {
asyncLogin().then(res => {
apiQuery.putUserInfo({
encryptedData: params.detail.encryptedData,
iv: params.detail.iv
}).then(res => {
//设置本地存储
resolve(res)
})
})
} else {
resolve(userInfo)
}
}
}
})
})
}
//用户手机号码授权
apiQuery.authUserPhone = function (params) {
return new Promise(function (resolve, reject) {
@@ -243,27 +216,6 @@ apiQuery.deleteAppEmployees = function (params) {
})
}
//获取贷款产品信息
apiQuery.getAppLoan = function (params) {
return new Promise(function (resolve, reject) {
HttpRequest(false, Config.api.appLoan, 2, params, "GET", resolve, reject)
})
}
//创建贷款信息
apiQuery.postAppLoan = function (params) {
return new Promise(function (resolve, reject) {
HttpRequest(true, Config.api.appLoan, 2, params, "POST", resolve, reject)
})
}
//修改贷款信息
apiQuery.putAppLoan = function (params) {
return new Promise(function (resolve, reject) {
HttpRequest(true, Config.api.appLoan, 2, params, "PUT", resolve, reject)
})
}
//创建申请开票信息
apiQuery.postAppIdcard = function (params) {
return new Promise(function (resolve, reject) {
@@ -341,7 +293,7 @@ apiQuery.getAppSeriesBrands = function(params){
})
}
//获取车型车
//获取车系车型
apiQuery.getAppSeries = function(params){
return new Promise(function (resolve, reject) {
HttpRequest(false, Config.api.appSeries, 2, params, "GET", resolve, reject)
@@ -642,7 +594,6 @@ apiQuery.getAppBrokerageOrders = function (params) {
})
}
//调拨记录_tab
apiQuery.getAppTransferTabs = function (params) {
return new Promise(function (resolve, reject) {
@@ -685,4 +636,172 @@ apiQuery.getAppBizStreet = function (params) {
})
}
//新增意向金订单
apiQuery.postAppCusorderV2Inten = function (params) {
return new Promise(function (resolve, reject) {
HttpRequest(true, Config.api.appCusorderV2Inten, 2, params, "POST", resolve, reject)
})
}
//新建订单
apiQuery.postAppCusorderV2 = function (params) {
return new Promise(function (resolve, reject) {
HttpRequest(true, Config.api.appCusorderV2, 2, params, "POST", resolve, reject)
})
}
//获取订单列表tab
apiQuery.getAppCusorderV2Tabs = function (params) {
return new Promise(function (resolve, reject) {
HttpRequest(false, Config.api.appCusorderV2Tabs, 2, params, "GET", resolve, reject)
})
}
//获取订单列表
apiQuery.getAppCusorderV2List = function (params) {
return new Promise(function (resolve, reject) {
HttpRequest(false, Config.api.appCusorderV2, 2, params, "GET", resolve, reject)
})
}
//订单详情
apiQuery.getAppCusorderV2 = function (params) {
return new Promise(function (resolve, reject) {
HttpRequest(false, Config.api.appCusorderV2, 2, params, "GET", resolve, reject)
})
}
//获取订单图片
apiQuery.getAppCusorderdata = function (params) {
return new Promise(function (resolve, reject) {
HttpRequest(false, Config.api.appCusorderdata, 2, params, "GET", resolve, reject)
})
}
//上传编辑国补资料
apiQuery.putAppCusorderdata = function (params) {
return new Promise(function (resolve, reject) {
HttpRequest(false, Config.api.appCusorderdata, 2, params, "PUT", resolve, reject)
})
}
//修改订单信息
apiQuery.putAppCusorderV2 = function (params) {
return new Promise(function (resolve, reject) {
HttpRequest(true, Config.api.appCusorderV2, 2, params, "PUT", resolve, reject)
})
}
//修改订单基本信息
apiQuery.putAppCusorderV2Info = function (params) {
return new Promise(function (resolve, reject) {
HttpRequest(true, Config.api.appCusorderV2Info, 2, params, "PUT", resolve, reject)
})
}
//删除订单
apiQuery.putAppCusorderV2Status = function (params) {
return new Promise(function (resolve, reject) {
HttpRequest(true, Config.api.appCusorderV2Status, 2, params, "PUT", resolve, reject)
})
}
//私域通_tab
apiQuery.getAppSytactivityTabs = function (params) {
return new Promise(function (resolve, reject) {
HttpRequest(false, Config.api.appSytactivityTabs, 2, params, "GET", resolve, reject)
})
}
//活动列表
apiQuery.getAppSytactivityList = function (params) {
return new Promise(function (resolve, reject) {
HttpRequest(false, Config.api.appSytactivityList, 2, params, "GET", resolve, reject)
})
}
//活动详情
apiQuery.getAppSytactivityDetail = function (params) {
return new Promise(function (resolve, reject) {
HttpRequest(false, Config.api.appSytactivityDetail, 2, params, "GET", resolve, reject)
})
}
//实时战报
apiQuery.getAppSytactivityLog = function (params) {
return new Promise(function (resolve, reject) {
HttpRequest(false, Config.api.appSytactivityLog, 2, params, "GET", resolve, reject)
})
}
//活动排名
apiQuery.getAppSytactivityRanking = function (params) {
return new Promise(function (resolve, reject) {
HttpRequest(false, Config.api.appSytactivityRanking, 2, params, "GET", resolve, reject)
})
}
//盘点记录_tab
apiQuery.getAppInventoryTabs = function (params) {
return new Promise(function (resolve, reject) {
HttpRequest(false, Config.api.appInventoryTabs, 2, params, "GET", resolve, reject)
})
}
//盘点列表
apiQuery.getAppInventoryLists = function (params) {
return new Promise(function (resolve, reject) {
HttpRequest(false, Config.api.appInventoryLists, 2, params, "GET", resolve, reject)
})
}
//盘点详情
apiQuery.getAppInventory = function (params) {
return new Promise(function (resolve, reject) {
HttpRequest(false, Config.api.appInventory, 2, params, "GET", resolve, reject)
})
}
//确认盘点
apiQuery.postAppInventory = function (params) {
return new Promise(function (resolve, reject) {
HttpRequest(true, Config.api.appInventory, 2, params, "POST", resolve, reject)
})
}
//盘点提醒
apiQuery.getAppInventoryRemind = function (params) {
return new Promise(function (resolve, reject) {
HttpRequest(false, Config.api.appInventoryRemind, 2, params, "GET", resolve, reject)
})
}
//库存提醒/预警
apiQuery.getAppGoodsRemind = function (params) {
return new Promise(function (resolve, reject) {
HttpRequest(false, Config.api.appGoodsRemind, 2, params, "GET", resolve, reject)
})
}
//库存列表
apiQuery.getAppGoodsLists = function (params) {
return new Promise(function (resolve, reject) {
HttpRequest(false, Config.api.appGoodsLists, 2, params, "GET", resolve, reject)
})
}
//线索来源
apiQuery.getAppCustomersOffline_sources = function (params) {
return new Promise(function (resolve, reject) {
HttpRequest(false, Config.api.appCustomersOffline_sources, 2, params, "GET", resolve, reject)
})
}
//客户标签
apiQuery.getAppCustomersTag = function (params) {
return new Promise(function (resolve, reject) {
HttpRequest(false, Config.api.appCustomersTag, 2, params, "GET", resolve, reject)
})
}
export default apiQuery;
+2 -1
View File
@@ -50,7 +50,8 @@ function HttpNoUkeyRequest(loading, url, sessionChoose, params, method, callBack
}
wx.showToast({
title: res.data.msg,
icon: "none"
icon: "none",
duration: 2500
});
}
}
+1 -1
View File
@@ -19,7 +19,7 @@ function getAjaxUserInfo(){
function isAuthUserInfo() {
return new Promise(function (resolve, reject) {
api.getUserInfo().then(res=>{
resolve(Boolean(res && res.nickname && res.headimg))
resolve(Boolean(res && res.headimg))
})
})
}
+222
View File
@@ -0,0 +1,222 @@
import _ from '../../commons/js/commons'
import Canvas from '../../commons/js/utils/canvas'
let isGetImgInfo = false
const app = getApp()
Component({
//组件的属性列表
properties: {
isShow: {
type: Boolean,
value: false
},
customImg: {
type: String,
value: ''
},
codeImg: {
type: String,
value: ''
},
},
//组件的初始数据
data: {
imgs: [],
tempPosterPath: '',
showOptBtn:false,//操作按钮显示
},
attached: function () {
isGetImgInfo = false
},
//数据监听
observers: {
'isShow': function (e) {
if (e) {
this.setData({
showOptBtn:false,
})
this.createPoster()
}
},
'customImg': function (e) {
if (e) {
this.getImageInfo(this.data.customImg, 0)
}
},
'codeImg': function (e) {
if (e) {
this.getImageInfo(this.data.codeImg, 1)
}
},
},
//组件的方法列表
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)
},
//自定义海报
customizePoster(CTX){
if(this.data.customImg){
let that = this
let width = 600
let height = (parseFloat(this.data.imgs[0].height)/parseFloat(this.data.imgs[0].width))*600
this.setData({
canvasInfo:{
width: width+'px',
height: height+'px'
}
})
// CTX.setFillStyle('#ffffff')
// CTX.fillRect(0, 0,width+20, picheight+optheight+ftheight+20)
//底图
if (that.data.imgs[0]) {
CTX.drawImage(that.data.imgs[0].path, 0, 0, that.data.imgs[0].width, that.data.imgs[0].height, 0, 0, width, height)
}
//二维码
if (that.data.imgs[1]) {
CTX.drawImage(that.data.imgs[1].path,417, height-180,140,140)
}
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
@@ -0,0 +1,4 @@
{
"component": true,
"usingComponents": {}
}
+16
View File
@@ -0,0 +1,16 @@
<!-- components/poster/index.wxml -->
<view class="poster fixed {{isShow?'show':'hide'}}">
<view class="poster-bg absolute top-0 bottom-0 left-0 right-0" bindtap="hidePoster"></view>
<view class="poster-main bg-fff inner40 pt70 poster-main-img absolute box-center-middle ulib-r10">
<view class="absolute top-0 right-0 mt5 mr5 inner30 bg-fff img-50x50" bindtap="hidePoster"><text class="absolute box-center-middle iconfont icon-guanbi1 text-bold font-40 color-999"></text></view>
<canvas canvas-id='postercanvas' class='canvas absolute box-center-middle' style="width:{{canvasInfo.width}};height:{{canvasInfo.height}}"></canvas>
<view wx:if="{{showOptBtn}}" class="overflowhidden">
<scroll-view scroll-y="true" style="max-height:1000rpx;">
<image class="block wp100 ulib-r10" wx:if="{{tempPosterPath}}" src="{{tempPosterPath}}" mode="widthFix" catchtap="preview" />
</scroll-view>
</view>
<view class="mt40 fn-flex" wx:if="{{showOptBtn}}">
<button class="fn-flex-item btn-ffa73d-ff7a28 font-32 color-fff ulib-r750 text-center ml20 mr20" catchtap="saveToAblum">保存分享</button>
</view>
</view>
</view>
+26
View File
@@ -0,0 +1,26 @@
@import "../../commons/css/common.wxss";
.poster{
top: 0;
left: 100%;
width: 100%;
height: 100%;
z-index: 9999;
}
.show{
left: 0;
}
.poster-bg{
z-index: 9998;
background-color: rgba(0,0,0,.6);
}
.poster-main{
z-index: 9999;
}
.poster-main-img{
width:580rpx;
}
.poster-main-img canvas{
left: 1000%;
}
.btn-ffa73d-ff7a28{background-image:linear-gradient(#ffa73d,#ff7a28);border:none;}
.btn-ffa73d-ff7a28::after{border:none;}
+139 -23
View File
@@ -1,32 +1,105 @@
import _ from '../../commons/js/commons'
const app = getApp()
Component({
/**
* 组件的属性列表
*/
//组件的属性列表
properties: {
isShow: {
type: Boolean,
value: false
},
userInfo:{
type: Object,
value:""
},
//是否显示授权用户信息
isShowProfile: {
type: Boolean,
value: true
},
//是否强制显示授权用户信息
isForceProfile: {
type: Boolean,
value:false
},
title:{
type: String,
value: ''
},
cancelbtn:{
type: String,
value: ''
},
submitbtn:{
type: String,
value: ''
},
tip:{
type: String,
value: ''
},
type:{
type: String,
value: ''
},
zindex: {
type: Number,
value: 10
},
//专题模式登录样式
mode:{
type: String,
value: ''
},
modeDate:{
type: Object,
value:""
},
},
/**
* 组件的初始数据
*/
//组件的初始数据
data: {
code:'',
isRunning:false,
userCurrInfo:"",
isBindMobile:false
},
lifetimes: {
attached: function () {
wx.login({
success: res => {
// 在组件实例进入页面节点树时执行
if (this.data.type == "mobile") {
if (!this.data.userInfo){
_.apiQuery.getUserInfo("",false).then(res => {
this.setData({
userCurrInfo: res
})
})
}else{
this.setData({
code: res.code,
userCurrInfo: this.data.userInfo
})
}
}
if (this.data.type == "userinfo") {
_.userManager.isAuthUserInfo().then(re => {
if (re) {
this.setData({
isShowProfile:false
})
}else{
this.setData({
isShowProfile:true
})
}
})
}
},
detached: function () {
// 在组件实例被从页面节点树移除时执行
this.setData({
isBindMobile:false,
isShow:false
})
},
},
@@ -35,6 +108,8 @@ Component({
* 组件的方法列表
*/
methods: {
//catchtap
emptyfunc(){},
//授权用户信息
getUserProfile(){
let that = this
@@ -45,32 +120,73 @@ Component({
wx.getUserProfile({
desc:'获取你的昵称、头像、地区及性别',//不写不弹提示框
success:function(res){
let params = {};
params['code'] = that.data.code;
params['userInfo'] = res.userInfo;
that.setData({
isShow: false,
})
_.apiQuery.putAppUser(params).then(res => {
_.apiQuery.putUserInfo(params).then(res => {
that.setData({
isRunning:false
});
wx.showToast({
title: '授权成功',
icon: 'success',
duration: 2000
})
});
that.successEvent()
_.eventBus.emit("isShowProfile",false)
})
},
fail:function(err){
that.setData({
isRunning:false
});
console.log('拒绝授权')
wx.showToast({
title: '您拒绝授权,将无法进行更多操作!',
icon: 'none',
duration: 2000
});
}
})
},
//授权手机号码
getPhoneNumber(e) {
if (e.detail.errMsg && e.detail.errMsg.indexOf('ok') > -1){
let that = this;
_.apiQuery.authUserPhone(e).then(res=>{
_.apiQuery.getUserInfo()
this.setData({
isBindMobile: true
})
})
}else{
app.printErrorClient('failGetPhoneNumber',['用户拒绝授权手机号码:'+JSON.stringify(e)])
}
},
onShow:function () {
this.setData({
isShow: true
});
this.triggerEvent('onShow', {
type: this.data.type
});
},
onClose: function () {
this.setData({
isShow: false
});
this.triggerEvent('onClose', {
type: this.data.type
});
if(this.data.type=="mobile" && this.data.isBindMobile){
this.setData({
isBindMobile:false
})
this.successEvent()
}
},
//成功回调方法
successEvent(){
this.triggerEvent('onSuccess', {
type: this.data.type
});
},
}
})
+1 -4
View File
@@ -1,6 +1,3 @@
{
"component": true,
"usingComponents": {
"lcb-msg": "/components/msg/index"
}
"component": true
}
+56 -10
View File
@@ -1,16 +1,62 @@
<!--
用法
<lcb-auth isShow="true" bind:onSuccess="authEvent"></lcb-auth>
type="mobile"用法
<lcb-auth type="mobile" isShow="true" bind:onSuccess="authEvent" bind:onClose="authFailEvent"></lcb-auth>
type="userinfo"用法 isForceProfile需要强制更新用户信息的时候才添加
<lcb-auth type="userinfo" isForceProfile="true" isShowProfile="{{isShowProfile}}" bind:onSuccess="authEvent"></lcb-auth>
-->
<!-- <view catch:tap="emptyfunc" wx:if="{{type=='userinfo' || !type}}">
<button open-type="getUserInfo" class="auth-btngetUserInfo" bindgetuserinfo="getUserInfo">获取用户信息</button>
</view> -->
<lcb-msg isShow="{{isShow}}" isHasClose="{{true}}">
<view slot="content" class="inner40 text-center">
<view class='pt20 text-center'><i class="iconfont font-80 color-00c800 icon-weixin"></i></view>
<view class='pt20 pb30 text-center font-28 color-666'>
<view>授权您的公开信息(昵称和头像)</view>
<view>便于查看预定信息哦~</view>
<view catch:tap="emptyfunc" wx:if="{{type=='userinfo' || !type}}">
<block wx:if="{{isForceProfile || isShowProfile}}">
<button class="auth-btngetUserInfo" bindtap="getUserProfile">获取用户信息</button>
</block>
<block wx:else>
<button class="auth-btngetUserInfo" bindtap="successEvent">已获取用户信息</button>
</block>
</view>
<view class="auth-dialog-special inner40" style="z-index:{{zindex+1}};" catchtouchmove="true" wx:if="{{type=='mobile' && isShow && mode=='special'}}">
<view class="mt30 pt2" wx:if="{{!isBindMobile}}">
<image class='block auth-dialog-logo box-shadow-000-10-10 img-100x100 ulib-r750' src="{{modeDate.logo}}" lazy-load="{{true}}" mode="scaleToFill"></image>
<view class="mt5 text-center font-32 text-bold" wx:if="{{modeDate.title}}">{{modeDate.title}}</view>
<view class="relative special-intro bg-f5 mt30 inner30 line-height-16 font-28 color-333 ulib-r10">{{modeDate.content}}</view>
<view class="mt30">
<button class="btn-1a1a1a text-spacing-10 font-34 color-fff ulib-r10" open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">{{modeDate.btn}}</button>
</view>
<button class='mt20 btn-36afa2 text-center font-32 color-fff ulib-r10' hover-class="btn-36afa2-hover" bindtap="getUserProfile">授权登录</button>
<text class="special-close iconfont icon-guanbi font-60 color-fff" bindtap="onClose"></text>
</view>
</lcb-msg>
<view class="pt20 pb20" wx:else>
<view class="text-center font-32 text-bold">{{modeDate.success}}</view>
<view class="relative special-intro bg-f5 mt30 inner30 line-height-16 font-28 color-333 ulib-r10">{{modeDate.content}}</view>
<view class="mt30 pl70 pr70">
<button class="btn-border-1a1a1a font-32 color-1a ulib-r10" bindtap="onClose">知道了</button>
</view>
</view>
</view>
<view class="auth-dialog" style="z-index:{{zindex+1}};" catchtouchmove="true" wx:elif="{{type=='mobile' && isShow}}">
<view wx:if="{{!isBindMobile}}">
<view class="cap">{{title || '立即登录'}}</view>
<view class="intro">授权手机号即可登录狸车小程序,了解更多狸车资讯,一手活动特惠即刻拥有。</view>
<view class="btn-list">
<view class="item-cell">
<button class="btn-cancel" bindtap="onClose">{{cancelbtn || '取消'}}</button>
</view>
<view class="item-cell">
<button class="btn-confirm" open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">{{submitbtn || '授权手机号'}}</button>
</view>
</view>
</view>
<view wx:else>
<view class="cap">{{tip || '恭喜您,登录成功!'}}</view>
<view class="btn-list">
<view class="item-cell">
<button class="btn-cancel" bindtap="onClose">知道了</button>
</view>
</view>
</view>
</view>
<view class="auth-dialog-mask" style="z-index:{{zindex}};" catchtouchmove="true" wx:if="{{isShow && type=='mobile'}}"></view>
+116 -1
View File
@@ -1 +1,116 @@
@import "../../commons/css/common.wxss";
@import "../../commons/css/common.wxss";
.auth-dialog{
position: fixed;
left:50%;
top:50%;
transform: translate(-50%,-50%);
width:88%;
padding:70rpx 60rpx;
background-color:#fff;
box-sizing: border-box;
border-radius: 10rpx;
overflow: hidden;
z-index: 10;
}
.auth-dialog-special{
position: fixed;
left:50%;
top:50%;
transform: translate(-50%,-50%);
width:80%;
background-color:#fff;
box-sizing: border-box;
border-radius: 10rpx;
z-index: 10;
}
.auth-btngetUserInfo{
position: absolute;
left:0;
top:0;
right:0;
bottom:0;
opacity: 0;
}
.auth-dialog .cap{
color:#000;
font-size: 36rpx;
line-height: 36rpx;
text-align: center;
font-weight: bold;
}
.auth-dialog .intro{
margin-top:30rpx;
color:#666;
font-size: 28rpx;
line-height: 46rpx;
}
.auth-dialog .btn-list{
display: flex;
margin-top:40rpx;
}
.auth-dialog .btn-list .item-cell{
flex: 1;
padding:0 10rpx;
}
.auth-dialog .btn-list button{
width: 220rpx;
height: 72rpx;
line-height: 72rpx;
overflow: hidden;
border-radius: 50rpx;
font-size: 30rpx;
box-sizing: border-box;
}
.auth-dialog .btn-list button.btn-cancel{
background: #fff;
color: #1a1a1a;
line-height: 68rpx;
border:1rpx solid #1a1a1a;
}
.auth-dialog .btn-list button.btn-confirm{
background: #1a1a1a;
color: #fff;
}
.auth-dialog .btn-list button::after{
border:none;
}
.auth-dialog-mask{
position: fixed;
left:0;
right: 0;
top:0;
bottom:0;
background-color: rgba(0, 0, 0, 0.6);
}
.auth-dialog-logo{
position:absolute;
top:-50rpx;
left:50%;
transform:translate(-50%,0);
}
.special-intro::before{
display:block;
position:absolute;
top:-20rpx;
left:50%;
transform:translate(-50%,0);
width: 0;
height: 0;
border-color: transparent transparent #f5f5f5 transparent;
border-style: solid;
border-width: 0 20rpx 20rpx 20rpx;
content:"";
}
.special-close{
position:absolute;
bottom:-100rpx;
left:50%;
transform:translate(-50%,0);
}
+1 -1
View File
@@ -1,7 +1,7 @@
<view class="footer text-center">
<view>
<text class="support-tx">Powered by</text>
<image class='inline-block img-30x30' mode='aspectFit' src='https://qs.haodian.cn/wechat_app/common/lc-logo-gray.png?v=20210721'></image>
<image class='inline-block img-30x30' mode='aspectFit' src='https://qs.haodian.cn/wechat_app/common/lc-logo-gray.png?v=220223'></image>
<text class="support-tx">狸车</text>
</view>
</view>
+99 -40
View File
@@ -5,10 +5,12 @@ Page({
imgUrl:_.config.imgUrl,
photos:[],//异常报备
note:'',
isShowReport:false,
isShowReport:false,//是否显示报备异常弹窗
isShowTransfer:false,//是否显示确认弹窗
transport:[],//请上传运输单
id:'',
tran_id:'',
id:'',//查看id
tran_id:'',//操作ID
mileage:'',//里程数
},
onLoad: function (options) {
for (let key in options) {
@@ -21,7 +23,7 @@ Page({
},
onShow: function () {
},
//获取订单详情
@@ -45,10 +47,10 @@ Page({
},
//选择图片
chooseImg() {
chooseImg(e) {
let that = this
wx.chooseImage({
count: 10 - this.data.photos.length, // 默认10
count: e.currentTarget.dataset.amount - this.data.photos.length, // 默认10
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success(res1) {
@@ -89,8 +91,8 @@ Page({
let imgdata = JSON.parse(res.data)
let list = []
list.push({
img:imgdata.data.url,
img_url:imgdata.data.full_url,
value:imgdata.data.url,
src:imgdata.data.full_url,
})
that.setData({
photos: that.data.photos.concat(list),
@@ -116,7 +118,7 @@ Page({
})
},
//显示短信弹框
//显示报备异常弹框
optShowReport(e){
this.setData({
isShowReport:!this.data.isShowReport,
@@ -126,6 +128,17 @@ Page({
})
},
//显示确认弹框
optShowTransfer(e){
this.setData({
isShowTransfer:!this.data.isShowTransfer,
photos:[],
mileage:'',
optType:e.currentTarget.dataset.type?e.currentTarget.dataset.type:'',
optid:e.currentTarget.dataset.id?e.currentTarget.dataset.id:'',
})
},
//拨打电话
call(e) {
wx.makePhoneCall({
@@ -156,48 +169,94 @@ Page({
current:transportImg[0],
urls:transportImg,
})
}else if(e.currentTarget.dataset.type=='start_mileage'){
let start_mileage = []
this.data.info.transport.start_mileage.imgs.forEach(item => {
start_mileage.push(item.src)
})
wx.previewImage({
current:start_mileage[0],
urls:start_mileage,
})
}else if(e.currentTarget.dataset.type=='end_mileage'){
let end_mileage = []
this.data.info.transport.end_mileage.imgs.forEach(item => {
end_mileage.push(item.src)
})
wx.previewImage({
current:end_mileage[0],
urls:end_mileage,
})
}
},
//确认发车/接车
putAppTransfer(e) {
putAppTransfer() {
let that = this
let params = {};
params['id'] = e.currentTarget.dataset.id;
_.apiQuery.putAppTransfer(params).then(res => {
if (that.data.mileage == ''){
wx.showToast({
title: '请填定里程数',
icon: 'none'
})
}else if(that.data.photos.length==0){
wx.showToast({
title: '请拍照上传',
icon: 'none'
})
}else{
that.setData({
submitFlag: false,
submitFlag: true,
})
//刷新列表页
let pages = getCurrentPages();
let prevPage = null; //上一个页面
if (pages.length >= 2) {
prevPage = pages[pages.length - 2]; //上一个页面
if(prevPage.route == 'pages/allot/list/index'){
prevPage.onPullDownRefresh()
}
let params = {};
params['id'] = that.data.optid;
if(that.data.optType==2){
let start_mileage = that.data.info.transport.start_mileage?that.data.info.transport.start_mileage:{}
start_mileage.value = that.data.mileage
start_mileage.imgs = that.data.photos
params['start_mileage'] = start_mileage;
}else if(that.data.optType==3){
let end_mileage = that.data.info.transport.end_mileage?that.data.info.transport.end_mileage:{}
end_mileage.value = that.data.mileage
end_mileage.imgs = that.data.photos
params['end_mileage'] = end_mileage;
}
_.apiQuery.putAppTransfer(params).then(res => {
wx.showModal({
title: '操作成功',
content: '',
confirmText: "返回",
confirmColor: "#36afa2",
showCancel:false,
success(res) {
if (res.confirm) {
wx.navigateBack({
delta: 1
})
let pages = getCurrentPages();
let prevPage = null; //上一个页面
if (pages.length >= 2) {
prevPage = pages[pages.length - 2]; //上一个页面
if(prevPage.route == 'pages/allot/list/index'){
prevPage.onPullDownRefresh()
}
}
})
}).catch(res=>{
that.setData({
submitFlag: false,
})
});
that.setData({
submitFlag: false,
isShowTransfer: false,
})
wx.showModal({
title: '操作成功',
content: '',
confirmText: "返回",
confirmColor: "#36afa2",
showCancel:false,
success(res) {
if (res.confirm) {
wx.navigateBack({
delta: 1
})
}
}
})
}).catch(res=>{
that.setData({
submitFlag: false,
})
});
}
},
//报备异常
@@ -223,7 +282,7 @@ Page({
if(that.data.photos.length > 0){
let imgs = []
that.data.photos.forEach(item => {
imgs.push(item.img)
imgs.push(item.value)
})
params['imgs'] = imgs;
}
+75 -11
View File
@@ -38,8 +38,9 @@
</view>
</view>
</view>
<view class="pt0 inner40">
<view class="font-32">请上传运输单</view>
<view class="pl40 pr40 pb30">
<view class="font-32" wx:if="{{info.status==1}}">请上传运输单</view>
<view class="font-32" wx:elif="{{info.transport.imgs.length>0}}">请上传运输单</view>
<view class="mt20" wx:if="{{info.status==1}}">
<scroll-view class="space-nowrap" scroll-x="true">
<block wx:for='{{transport}}' wx:for-item='transport' wx:for-index="index" wx:key='transport'>
@@ -65,6 +66,33 @@
</view>
</view>
</view>
<view class="pl40 pr40 pb30" wx:if="{{info.transport.start_mileage.imgs.length>0}}">
<view class="font-32">发车信息</view>
<view class="mt20 font-28 color-666">
{{info.transport.start_mileage.title}}{{info.transport.start_mileage.value}}{{info.transport.start_mileage.tag}}
</view>
<view class="mt20">
<view class="img-200x180 relative" bindtap="previewImage" data-type="start_mileage">
<view class="absolute box-center-middle font-28 color-fff z-index-1" wx:if="{{info.transport.start_mileage.imgs.length>1}}">{{info.transport.start_mileage.imgs.length}}张</view>
<image class='img-200x180 ulib-r10' src='{{info.transport.start_mileage.imgs[0].src}}' mode='aspectFill'></image>
</view>
</view>
</view>
<view class="pl40 pr40 pb30" wx:if="{{info.transport.end_mileage.imgs.length>0}}">
<view class="font-32">接车信息</view>
<view class="mt20 fn-clear font-28 color-666">
{{info.transport.end_mileage.title}}{{info.transport.end_mileage.value}}{{info.transport.end_mileage.tag}}
</view>
<view class="mt20">
<view class="img-200x180 relative" bindtap="previewImage" data-type="end_mileage">
<view class="absolute box-center-middle font-28 color-fff z-index-1" wx:if="{{info.transport.end_mileage.imgs.length>1}}">{{info.transport.end_mileage.imgs.length}}张</view>
<image class='img-200x180 ulib-r10' src='{{info.transport.end_mileage.imgs[0].src}}' mode='aspectFill'></image>
</view>
</view>
</view>
</view>
<view class="mt30 font-24 color-999"><i class="mr5 iconfont icon-tishi"></i>请仔细检查车辆外观与随车物品是否正常,如有异常点击下方报备异常。</view>
</view>
@@ -75,8 +103,8 @@
<block wx:if="{{item.type==1}}">
<button class="wp100 bds-2-36afa2 bg-fff mr20 pt10 pb10 text-center font-32 color-36afa2 ulib-r750" hover-class="btn-36afa2-hover" bindtap="optShowReport" data-id="{{item.id}}">{{item.title}}</button>
</block>
<block wx:elif="{{item.type==2}}">
<button class="wp100 btn-36afa2 ml20 pt10 pb10 text-center font-32 color-fff ulib-r750" hover-class="btn-36afa2-hover" disabled="{{submitFlag}}" bindtap="putAppTransfer" data-id="{{item.id}}">{{item.title}}</button>
<block wx:elif="{{item.type==2||item.type==3}}">
<button class="wp100 btn-36afa2 ml20 pt10 pb10 text-center font-32 color-fff ulib-r750" hover-class="btn-36afa2-hover" bindtap="optShowTransfer" data-type="{{item.type}}" data-id="{{item.id}}">{{item.title}}</button>
</block>
</block>
</view>
@@ -91,23 +119,23 @@
<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.img_url}}' mode='aspectFill'></image>
<image class='img-200x180 ulib-r10' src='{{photos.src}}' mode='aspectFill'></image>
</view>
</block>
<block wx:if="{{photos.length==0}}">
<view class="inline-block bg-f8 img-200x180 ml10 mr10 relative ulib-r10 overflowhidden" bindtap="chooseImg">
<view class="inline-block bg-f8 img-200x180 ml10 mr10 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-amount="10">
<view class="absolute left-0 right-0 box-middle color-ccc">
<i class="iconfont icon-paizhao font-48"></i>
<view class="mt5 font-22">拍照上传</view>
</view>
</view>
<view class="inline-block bg-f8 img-200x180 ml10 mr10 relative ulib-r10 overflowhidden" bindtap="chooseImg">
<view class="inline-block bg-f8 img-200x180 ml10 mr10 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-amount="10">
<view class="absolute left-0 right-0 box-middle color-ccc">
<i class="iconfont icon-paizhao font-48"></i>
<view class="mt5 font-22">拍照上传</view>
</view>
</view>
<view class="inline-block bg-f8 img-200x180 ml10 mr10 relative ulib-r10 overflowhidden" bindtap="chooseImg">
<view class="inline-block bg-f8 img-200x180 ml10 mr10 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-amount="10">
<view class="absolute left-0 right-0 box-middle color-ccc">
<i class="iconfont icon-paizhao font-48"></i>
<view class="mt5 font-22">拍照上传</view>
@@ -115,13 +143,13 @@
</view>
</block>
<block wx:elif="{{photos.length==1}}">
<view class="inline-block bg-f8 img-200x180 ml10 mr10 relative ulib-r10 overflowhidden" bindtap="chooseImg">
<view class="inline-block bg-f8 img-200x180 ml10 mr10 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-amount="10">
<view class="absolute left-0 right-0 box-middle color-ccc">
<i class="iconfont icon-paizhao font-48"></i>
<view class="mt5 font-22">拍照上传</view>
</view>
</view>
<view class="inline-block bg-f8 img-200x180 ml10 mr10 relative ulib-r10 overflowhidden" bindtap="chooseImg">
<view class="inline-block bg-f8 img-200x180 ml10 mr10 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-amount="10">
<view class="absolute left-0 right-0 box-middle color-ccc">
<i class="iconfont icon-paizhao font-48"></i>
<view class="mt5 font-22">拍照上传</view>
@@ -129,7 +157,7 @@
</view>
</block>
<block wx:elif="{{photos.length<10}}">
<view class="inline-block bg-f8 img-200x180 ml10 mr10 relative ulib-r10 overflowhidden" bindtap="chooseImg">
<view class="inline-block bg-f8 img-200x180 ml10 mr10 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-amount="10">
<view class="absolute left-0 right-0 box-middle color-ccc">
<i class="iconfont icon-paizhao font-48"></i>
<view class="mt5 font-22">拍照上传</view>
@@ -147,4 +175,40 @@
<button disabled="{{submitFlag}}" bindtap="postAppTransfer" 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="{{isShowTransfer}}">
<view slot="content">
<view class="pt40 pl40 pr40">
<view class="font-36 text-center" wx:if="{{optType==2}}">发车信息</view>
<view class="font-36 text-center" wx:elif="{{optType==3}}">接车信息</view>
</view>
<view class="relative mt20 pl40 pr100">
<input class="mt15 wp100 pl20 pr20 bds-1-eb font-28 ulib-r10" placeholder-class="color-ccc" placeholder="请填写里程数" type="digit" style="height:70rpx;" model:value='{{mileage}}'/>
<view class="absolute box-middle right-0 pr40 font-32 color-666">km</view>
</view>
<view class="mt30 pb40 pl30 pr40">
<scroll-view class="space-nowrap text-center" style="width:540rpx;" scroll-x="true">
<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'></image>
</view>
</block>
<block wx:if="{{photos.length==0}}">
<view class="inline-block bg-f8 img-200x180 ml10 mr10 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-amount="1">
<view class="absolute left-0 right-0 box-middle color-ccc">
<i class="iconfont icon-paizhao font-48"></i>
<view class="mt5 font-22">拍照上传</view>
</view>
</view>
</block>
</scroll-view>
<view class="mt10 text-center font-26 color-999">仪表盘拍照上传</view>
</view>
<view class="fn-flex pl60 pr60 pb50 text-center font-32 color-666">
<button bindtap="optShowTransfer" class="fn-flex-item mr20 bds-2-36afa2 btn-no-bg wp100 font-28 color-36afa2 ulib-r750">取消</button>
<button disabled="{{submitFlag}}" bindtap="putAppTransfer" class="fn-flex-item ml20 btn-36afa2 wp100 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover">确定</button>
</view>
</view>
</lcb-msg>
+84
View File
@@ -3,11 +3,19 @@ const app = getApp()
Page({
data: {
imgUrl: _.config.imgUrl,
isShowReport:false,//是否显示调拨盘点弹框
},
onLoad: function (options) {
this.getUserInfo()
},
onShow: function () {
this.setData({
isShowReport:false,//是否显示调拨盘点弹框
remindMsg:[],
});
this.getAppTransferRemind()
this.getAppInventoryRemind()
this.getAppGoodsRemind()
},
//获取用户信息
getUserInfo(){
@@ -18,6 +26,62 @@ Page({
});
},
//调拨提醒
getAppTransferRemind(){
_.apiQuery.getAppTransferRemind().then(res => {
if(res.data.total>0){
let remindMsg = this.data.remindMsg
remindMsg.push({
title:'调拨提醒',
content:'您有新的车辆调拨,需要您进行确认操作。',
img:'https://qs.haodian.cn/wechat_app/lichebao/allot/car.gif?v=220224',
btn:{
title:'前往操作',
url:'/pages/allot/list/index',
},
})
this.setData({
remindMsg,
isShowReport:true,
})
}
});
},
//盘点提醒
getAppInventoryRemind(){
_.apiQuery.getAppInventoryRemind().then(res => {
if(res.data.total>0){
let remindMsg = this.data.remindMsg
remindMsg.push({
title:'盘点提醒',
content:'您有新的车辆盘点,需要您进行确认操作。',
img:'https://qs.haodian.cn/wechat_app/lichebao/inventory/animation.gif',
btn:{
title:'前往操作',
url:'/pages/inventory/list/index',
},
})
this.setData({
remindMsg,
isShowReport:true,
})
}
});
},
//库存提醒/预警
getAppGoodsRemind(){
let params = {};
params['type'] = 1;
_.apiQuery.getAppGoodsRemind(params).then(res => {
this.setData({
stock:res.data,
})
wx.stopPullDownRefresh()
});
},
//推送链接
pushLink(e) {
if(e.currentTarget.dataset.url){
@@ -25,4 +89,24 @@ Page({
}
},
//显示隐藏调拨盘点弹窗
optShowReport(e){
this.setData({
isShowReport:!this.data.isShowReport,
})
},
//退出登录
logout(){
wx.clearStorage()
wx.reLaunch({
url: '/pages/login/index'
})
},
//页面相关事件处理函数--监听用户下拉动作
onPullDownRefresh: function () {
this.getAppGoodsRemind()
},
})
+1 -1
View File
@@ -1,5 +1,5 @@
{
"navigationBarTitleText": "调拨",
"enablePullDownRefresh": true,
"navigationBarTextStyle": "white",
"navigationBarBackgroundColor": "#1a1c26",
"backgroundColor": "#ffffff",
+53 -8
View File
@@ -1,15 +1,60 @@
<view class="container">
<view class='pt160 text-center'>
<image class='img-130x130 ulib-r750' mode="aspectFill" src='{{imgUrl}}/login/logo.jpg'></image>
<view class='mt10 font-32 color-fff'>Hi~,欢迎回到狸车宝!</view>
<view class="mt10 font-64 color-fff">{{userInfo.uname}}</view>
<view class="inline-block bg-fff mt10 pl15 pr15 font-22 ulib-r750">{{userInfo.biz_name}}</view>
<image class='img-130x130 ulib-r750' mode="aspectFill" src='{{imgUrl}}/login/logo.jpg?v=220223'></image>
<view class='mt20 font-32 color-fff'>{{userInfo.uname}},欢迎回到狸车宝!</view>
<!-- <view class="mt10 font-64 color-fff">{{userInfo.uname}}</view> -->
<view class="mt20">
<view class="inline-block bg-fff mt10 pt10 pb10 pl30 pr30 font-32 ulib-r750">{{userInfo.biz_name}}</view>
</view>
<view class="mt20">
<view class="inline-block pt10 pb10 pl30 pr30 font-24 color-fff ulib-r750" bindtap="logout">
<i class="iconfont icon-tuichu mr10"></i>退出
</view>
</view>
</view>
<view class="fixed left-0 bottom-0 right-0 bg-fff pt200 pb20 pl100 pr100">
<view class="absolute left-0 right-0 ml30 mr30 pt30 pb30 pl15 pr15 bg-fff box-shadow-000-10-10 fn-flex ulib-r10" style="top:-150rpx;">
</view>
<view class="fixed left-0 bottom-0 right-0 bg-fff pt200 pb20 pl100 pr100">
<!-- <button class="wp100 btn-36afa2 pt10 pb10 text-center font-32 color-fff ulib-r750" hover-class="btn-36afa2-hover" bindtap="pushLink" data-url="/pages/allot/list/index"><text class="iconfont icon-zengjia mr10"></text>新增调拨</button> -->
</view>
<view class="fixed left-0 bottom-0 right-0 pl30 pr30 pb50">
<view class="relative ml15 mr15 mb30 pt20 pb20 pl30 pr200 ulib-r750 font-24 color-fff" style="background-image:linear-gradient(45deg, #30cfbd, #2cbf8b);" bindtap="pushLink" data-url="/pages/inventory/warning/index" wx:if="{{stock.show==1}}">
<view class="text-left">{{stock.inventory.title}}</view>
<view class="absolute right-0 box-middle mr25 mb10">
<text class="text-middle">{{stock.inventory.value}}</text>
<i class="iconfont icon-gengduo ml5 text-middle"></i>
</view>
</view>
<view class="pt30 pb30 pl15 pr15 bg-fff box-shadow-000-10-10 ulib-r10">
<view class="fn-flex">
<view class="fn-flex-item ml15 mr15" bindtap="pushLink" data-url="/pages/allot/list/index?tabs_id=1&type=1&title=调拨发车"><image class='img-300x230' mode="aspectFill" src='{{imgUrl}}/allot/tip-1.png'></image></view>
<view class="fn-flex-item ml15 mr15" bindtap="pushLink" data-url="/pages/allot/list/index?tabs_id=1&type=2&title=调拨收车"><image class='img-300x230' mode="aspectFill" src='{{imgUrl}}/allot/tip-2.png'></image></view>
</view>
<!-- <button class="wp100 btn-36afa2 pt10 pb10 text-center font-32 color-fff ulib-r750" hover-class="btn-36afa2-hover" bindtap="pushLink" data-url="/pages/allot/list/index"><text class="iconfont icon-zengjia mr10"></text>新增调拨</button> -->
</view>
</view>
</view>
<!-- 调拨提醒 盘点提醒 -->
<lcb-msg isShow="{{isShowReport}}">
<view slot="content">
<swiper class='wp100' style="height:550rpx;" autoplay circular bindchange="bannerChange">
<swiper-item class="relative" wx:for="{{remindMsg}}" wx:key="index">
<view class="pt40 pl40 pr40">
<view class="font-36 text-center">{{item.title}}</view>
<view class="mt10 font-22 text-center color-999">{{item.content}}</view>
</view>
<view class="mt20 pl40 pr40 pb40">
<image class='wp100 ulib-r10' src='{{item.img}}' mode='widthFix'></image>
</view>
<view class="fn-flex pl60 pr60 pb50 text-center font-32 color-666">
<button bindtap="optShowReport" class="fn-flex-item mr20 bds-2-36afa2 btn-no-bg wp100 font-28 color-36afa2 ulib-r750">取消</button>
<button bindtap="pushLink" data-url="{{item.btn.url}}" class="fn-flex-item ml20 btn-36afa2 wp100 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover">{{item.btn.title}}</button>
</view>
</swiper-item>
</swiper>
<view class="absolute left-0 right-0 bottom-0 pb20 text-center" style='height:30rpx' wx:if="{{remindMsg.length > 1}}">
<block wx:for-items="{{remindMsg}}" wx:for-index="j" wx:key='j'>
<view class="inline-block indicator-pin {{banneractive==j?'active':''}}"></view>
</block>
</view>
</view>
</lcb-msg>
+4
View File
@@ -16,6 +16,7 @@ Page({
tabs_id:'',//分类 1进行中2已完成
tab:[],
channel:'',//是否来自渠道
city_id:'',//城市ID
},
onLoad: function (options) {
for (let key in options) {
@@ -67,6 +68,9 @@ Page({
if(this.data.channel != ''){
params['channel'] = this.data.channel;
}
if(this.data.city_id != ''){
params['city_id'] = this.data.city_id;
}
if(this.data.type != ''){
params['type'] = this.data.type;
}
+5 -1
View File
@@ -43,7 +43,11 @@
<block wx:for='{{list}}' wx:key='index'>
<view class="inner40 relative ulib-r10 box-shadow-000-10-10 mb30 overflowhidden" bindtap="pushLink" data-url="{{item.url}}">
<view class="font-40" wx:if="{{item.biz_name}}">{{item.biz_name}}</view>
<view class="relative font-34 fn-clear">
<i class="absolute box-center-middle iconfont icon-arrow font-30 color-888"></i>
<view class="fn-fl wp45 text-nowrap" style="color:{{item.out_car.color}}">{{item.out_car.title}}</view>
<view class="fn-fr wp45 text-nowrap text-right" style="color:{{item.in_car.color}}">{{item.in_car.title}}</view>
</view>
<block wx:for="{{item.other_data}}" wx:for-index='key' wx:for-item='it' wx:key='i'>
<view class="mt25 fn-clear font-28">
<view class="fn-fl color-333">{{it.title}}</view>
+14
View File
@@ -37,6 +37,7 @@ Page({
ecLine:{},
deallist:'',
hoursTip:'',
isShowProfile:true,//是否显示授权用户信息按钮
},
onLoad(options) {
@@ -49,6 +50,13 @@ Page({
this.getUserInfo()
this.getAppCity()
//消息通讯 是否显示授权用户信息按钮
_.eventBus.on("isShowProfile", this, function(res){
this.setData({
isShowProfile:res,
})
})
},
onShow: function () {
@@ -56,6 +64,12 @@ Page({
this.getAppTransferRemind()
},
//生命周期函数--监听页面卸载
onUnload: function () {
//卸载消息通讯 是否显示授权用户信息
_.eventBus.remove('isShowProfile',this);
},
//候取时间
getHoursTip(){
let hoursTip = '';
+5 -4
View File
@@ -2,8 +2,9 @@
<view class="inner30 img-top-cover" style="background-image:url({{imgUrl}}channel/theme.jpg);">
<view class="relative" style="height:200rpx;">
<view class="relative pt30 pb30 pl110 pr10">
<view class="absolute left-0 box-middle mr10 img-90x90 ulib-r750 overflowhidden">
<open-data type="userAvatarUrl"></open-data>
<image class='absolute left-0 box-middle mr10 img-90x90 ulib-r750 overflowhidden' mode="aspectFill" src="{{userInfo.headimg||imgUrl+'common/default-head.jpg'}}" lazy-load="{{true}}"></image>
<view class="absolute top-0 bottom-0 left-0 right-0 opacity-0 mt20 mr150 z-index-4">
<lcb-auth type="userinfo" isShowProfile="{{isShowProfile}}" bind:onSuccess="getUserInfo"></lcb-auth>
</view>
<view>
<view class="font-22 color-fff">Hi~ {{hoursTip}}欢迎回到狸车宝!</view>
@@ -12,7 +13,7 @@
</view>
</view>
</view>
<view class="absolute allot-tip pt8 pb8 pl15 pr10 bg-f9394d font-22 color-fff ulib-rt10" bindtap="pushLink" data-url="/pages/allot/list/index">车辆调拨记录<i class="iconfont icon-gengduo"></i></view>
<view class="absolute allot-tip pt8 pb8 pl15 pr10 bg-f9394d font-22 color-fff ulib-rt10" bindtap="pushLink" data-url="/pages/allot/list/index?city_id={{city_id}}">车辆调拨记录<i class="iconfont icon-gengduo"></i></view>
</view>
<!-- 车辆调拨 -->
<view class="mb40 bg-ffedeb ulib-rt10" style="height:140rpx;" bindtap="pushLink" data-url="/pages/allot/list/index?channel=1" wx:if="{{allotNum>0}}">
@@ -108,7 +109,7 @@
</view>
<view class="fn-flex pl60 pr60 pb50 text-center font-32 color-666">
<button bindtap="optShowReport" class="fn-flex-item mr20 bds-2-36afa2 btn-no-bg wp100 font-28 color-36afa2 ulib-r750">取消</button>
<button bindtap="pushLink" data-url="/pages/allot/list/index?channel=1" class="fn-flex-item ml20 btn-36afa2 wp100 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover">前往操作</button>
<button bindtap="pushLink" data-url="/pages/allot/list/index" class="fn-flex-item ml20 btn-36afa2 wp100 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover">前往操作</button>
</view>
</view>
</lcb-msg>
+199 -84
View File
@@ -4,31 +4,32 @@ Page({
data: {
name:'',//名字
mobile:'',//手机号
brand_id:'',//品牌
car_id:'',//车系id
v_id:'',//车型级别id
color_id:'',//颜色id
b_s_id:'',//备选车型id
// brand_id:'',//品牌
// car_id:'',//车系id
// v_id:'',//车辆版本id
// color_id:'',//颜色id
// b_s_id:'',//备选车型id
buy_time:'',//预计购车时间
brandIndex:-1,//车辆品牌索引
modelIndex:-1,//车型车系索引
spareIndex:-1,//备选车型索引
colorArray:[],//车颜色列表
levelArray:[],//车型级别列表
colorIndex:-1,//车颜色索引
levelIndex:-1,//车型级别索引
// brandIndex:-1,//车辆品牌索引
// modelIndex:-1,//车系车型索引
// spareIndex:-1,//备选车型索引
// colorArray:[],//车颜色列表
// levelArray:[],//车辆版本列表
// colorIndex:-1,//车颜色索引
// levelIndex:-1,//车辆版本索引
timeArray:[],//预计购车时间列表
timeIndex:-1,//预计购车时间索引
cf_clues:'',//线索来源
cluesArray:[
'自然进店',
'外展外拓',
'转介绍',
'垂直媒体',
'自媒体',
],//线索来源
cluesIndex:-1,//索来源索引
submitFlag:false,
status:0,//状态
statuslist:[
'未见客户',
'到店客户',
],
of_id:'',
of2_id:'',
of1Index:-1,
of2Index:-1,
},
//生命周期函数--监听页面加载
onLoad: function (options) {
@@ -37,8 +38,14 @@ Page({
[key]: options[key]
})
}
this.getAppSeriesBrands()
//获取车型品牌
// this.getAppSeriesBrands()
//获取列表筛选条件-时间
this.getAppCustomersFilter()
//线索来源
this.getAppCustomersOffline_sources()
//客户标签
this.getAppCustomersTag()
},
//获取车型品牌
@@ -57,7 +64,7 @@ Page({
});
},
//获取车型车
//获取车系车型
getAppSeries(){
let params = {};
params['brand_id'] = this.data.brand_id;
@@ -75,7 +82,7 @@ Page({
});
},
//获取车型级别
//获取车辆版本
getAppSeriesAttrslevel(){
let params = {};
params['id'] = this.data.car_id;
@@ -95,7 +102,7 @@ Page({
});
},
//获取车颜色
//获取车颜色
getAppSeriesAttrscolor(){
let params = {};
params['id'] = this.data.car_id;
@@ -121,7 +128,7 @@ Page({
_.apiQuery.getAppCustomersFilter().then(res => {
let timeArray = []
res.data.buy_time.forEach(item => {
timeArray.push(item + '天')
timeArray.push(item.name)
})
this.setData({
timeArray:timeArray,
@@ -139,6 +146,21 @@ Page({
})
},
//选择状态
changeStatus(e) {
if(this.data.status != e.detail.value){
this.setData({
of_id:'',
of2_id:'',
of1Index:-1,
of2Index:-1,
of2Arr:[],
status:e.detail.value,
})
this.getAppCustomersOffline_sources()
}
},
//选择品牌
changeBrand(e) {
if(this.data.brandIndex != e.detail.value && e.detail.value >= 0){
@@ -146,17 +168,17 @@ Page({
brand_id:this.data.brandList[e.detail.value].id,
brandIndex:e.detail.value,
car_id:'',//车系id
v_id:'',//车型级别id
color_id:'',//车颜色id
v_id:'',//车辆版本id
color_id:'',//车颜色id
incolor_id:'',//内饰颜色id
b_s_id:'',//备选车型id
modelIndex:-1,//车型车系索引
modelIndex:-1,//车系车型索引
spareIndex:-1,//备选车型索引
colorArray:[],//车颜色列表
levelArray:[],//车型级别列表
colorArray:[],//车颜色列表
levelArray:[],//车辆版本列表
interiorArray:[],//内饰颜色
colorIndex:-1,//车颜色索引
levelIndex:-1,//车型级别索引
colorIndex:-1,//车颜色索引
levelIndex:-1,//车辆版本索引
interiorIndex:-1,//内饰颜色索引
})
this.getAppSeries()
@@ -169,37 +191,37 @@ Page({
this.setData({
car_id:this.data.modelList[e.detail.value].id,
modelIndex:e.detail.value,
v_id:'',//车型级别id
color_id:'',//车颜色id
v_id:'',//车辆版本id
color_id:'',//车颜色id
incolor_id:'',//内饰颜色id
b_s_id:'',//备选车型id
spareIndex:-1,//备选车型索引
colorArray:[],//车颜色列表
levelArray:[],//车型级别列表
colorArray:[],//车颜色列表
levelArray:[],//车辆版本列表
interiorArray:[],//内饰颜色
colorIndex:-1,//车颜色索引
levelIndex:-1,//车型级别索引
colorIndex:-1,//车颜色索引
levelIndex:-1,//车辆版本索引
interiorIndex:-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,
color_id:'',//车颜色id
colorArray:[],//车颜色列表
colorIndex:-1,//车颜色索引
color_id:'',//车颜色id
colorArray:[],//车颜色列表
colorIndex:-1,//车颜色索引
})
this.getAppSeriesAttrscolor()
}
},
//车颜色
//车颜色
changeColor(e) {
if(this.data.colorIndex != e.detail.value && e.detail.value >= 0){
this.setData({
@@ -219,18 +241,10 @@ Page({
}
},
//线索来源
changeClues(e) {
this.setData({
cf_clues:this.data.cluesArray[e.detail.value],
cluesIndex:e.detail.value,
})
},
//预计购车时间
changeTime(e) {
this.setData({
buy_time:this.data.timeList[e.detail.value],
buy_time:this.data.timeList[e.detail.value].id,
timeIndex:e.detail.value,
})
},
@@ -248,40 +262,61 @@ Page({
title: '请输入正确的手机号码',
icon: 'none'
})
}else if(that.data.car_id == '' ){
}
else if (that.data.of_id == '' ) {
wx.showToast({
title: '请选择车型车系',
title: '请选择线索来源',
icon: 'none'
})
}else if(that.data.v_id == '' ){
}
else if (that.data.sources[that.data.of1Index].list.length>0&&that.data.of2_id == '' ) {
wx.showToast({
title: '请选择车型级别',
title: '请选择'+that.data.sources[that.data.of1Index].name+'类型',
icon: 'none'
})
}else if(that.data.color_id == '' ){
}
else if (that.data.buy_time == '' ) {
wx.showToast({
title: '请选择车型颜色',
title: '请选择预计购车时间',
icon: 'none'
})
} else{
}
// else if(that.data.car_id == '' ){
// wx.showToast({
// title: '请选择车系车型',
// icon: 'none'
// })
// }else if(that.data.v_id == '' ){
// wx.showToast({
// title: '请选择车辆版本',
// icon: 'none'
// })
// }else if(that.data.color_id == '' ){
// wx.showToast({
// title: '请选择车身颜色',
// icon: 'none'
// })
// }
else{
that.setData({
submitFlag: true,
})
let params = {};
params['status'] = that.data.status;
params['name'] = that.data.name;
params['mobile'] = that.data.mobile;
params['car_id'] = that.data.car_id;
params['v_id'] = that.data.v_id;
params['color_id'] = that.data.color_id;
if(this.data.b_s_id != ''){
params['b_s_id'] = this.data.b_s_id;
}
if(this.data.cf_clues != ''){
params['cf_clues'] = this.data.cf_clues;
}
if(this.data.buy_time != ''){
params['buy_time'] = this.data.buy_time;
// params['car_id'] = that.data.car_id;
// params['v_id'] = that.data.v_id;
// params['color_id'] = that.data.color_id;
params['tag'] = that.data.taglList;
// if(this.data.b_s_id != ''){
// params['b_s_id'] = this.data.b_s_id;
// }
params['of_id'] = this.data.of_id;
if(this.data.of2_id != ''){
params['of2_id'] = this.data.of2_id;
}
params['buy_time'] = this.data.buy_time;
_.apiQuery.postAppCustomers(params).then(res => {
//刷新列表页
@@ -304,21 +339,32 @@ Page({
success(res) {
if (res.confirm) {
that.setData({
name:'',
mobile:'',
car_id:'',
v_id:'',
color_id:'',
b_s_id:'',
cf_clues:'',
buy_time:'',
modelIndex:-1,
spareIndex:-1,
colorIndex:-1,
levelIndex:-1,
timeIndex:-1,
name:'',//名字
mobile:'',//手机号
// brand_id:'',//品牌
// car_id:'',//车系id
// v_id:'',//车辆版本id
// color_id:'',//颜色id
// b_s_id:'',//备选车型id
buy_time:'',//预计购车时间
// brandIndex:-1,//车辆品牌索引
// modelIndex:-1,//车系车型索引
// spareIndex:-1,//备选车型索引
// colorArray:[],//车身颜色列表
// levelArray:[],//车辆版本列表
// colorIndex:-1,//车身颜色索引
// levelIndex:-1,//车辆版本索引
timeArray:[],//预计购车时间列表
timeIndex:-1,//预计购车时间索引
submitFlag:false,
of_id:'',
of2_id:'',
of1Index:-1,
of2Index:-1,
})
that.getAppCustomersTag()
} else if (res.cancel) {
wx.navigateBack({
delta: 1
@@ -335,4 +381,73 @@ Page({
}
},
//线索来源
getAppCustomersOffline_sources(){
let params = {};
params['status'] = this.data.status;
_.apiQuery.getAppCustomersOffline_sources(params).then(res => {
let of1Arr = []
res.data.forEach(item => {
of1Arr.push(item.name)
})
this.setData({
of1Arr,
sources:res.data
})
});
},
//线索来源
changeOf1(e) {
if(this.data.of1Index!=e.detail.value){
let of2Arr = []
this.data.sources[e.detail.value].list.forEach(item => {
of2Arr.push(item.name)
})
this.setData({
of2Arr,
of2Index:-1,
of_id:this.data.sources[e.detail.value].id,
of1Index:e.detail.value,
})
}
},
changeOf2(e) {
if(this.data.of2Index!=e.detail.value){
this.setData({
of2_id:this.data.sources[this.data.of1Index].list[e.detail.value].id,
of2Index:e.detail.value,
})
}
},
//客户标签
getAppCustomersTag(){
_.apiQuery.getAppCustomersTag().then(res => {
this.setData({
taglList:res.data,
})
});
},
//单选
radioPicker(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,
})
},
//多选
checkPicker(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,
})
},
})
+53 -16
View File
@@ -1,6 +1,15 @@
<view class="container">
<view class="inner30">
<view class="pl40 pr40 pt10 pb10 relative ulib-r10 box-shadow-000-10-10 overflowhidden">
<view class="pl40 pr40 pt10 pb50 relative ulib-r10 box-shadow-000-10-10 overflowhidden">
<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 text-nowrap">
<picker bindchange="changeStatus" value="{{status}}" range="{{statuslist}}">
<text>{{statuslist[status]}}</text>
<i class="iconfont ml5 icon-gengduo"></i>
</picker>
</view>
</view>
<view class="relative bbs-1-eb last-b-none pl140 font-28">
<view class="absolute left-0 box-middle">客户姓名</view>
<view>
@@ -13,7 +22,7 @@
<input class="wp100 height-100 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 pl190 last-b-none">
<!-- <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="changeBrand" value="{{brandIndex}}" range="{{brandArray}}">
@@ -24,8 +33,8 @@
</view>
</view>
<view class="relative bbs-1-eb pl190 last-b-none" 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">
<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="changeModel" value="{{modelIndex}}" range="{{modelArray}}">
<text class="color-ccc" wx:if="{{modelIndex == -1}}">请选择</text>
<text wx:else>{{modelArray[modelIndex]}}</text>
@@ -34,8 +43,8 @@
</view>
</view>
<view class="relative bbs-1-eb pl190 last-b-none" wx:if="{{modelIndex != -1}}">
<view class="absolute left-0 box-middle font-28 color-333">车型级别</view>
<view class="pt30 pb30 text-right font-28 color-666">
<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>
@@ -44,15 +53,15 @@
</view>
</view>
<view class="relative bbs-1-eb pl190 last-b-none" wx:if="{{levelIndex != -1}}">
<view class="absolute left-0 box-middle font-28 color-333">车颜色</view>
<view class="pt30 pb30 text-right font-28 color-666">
<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="changeColor" value="{{colorIndex}}" range="{{colorArray}}">
<text class="color-ccc" wx:if="{{colorIndex == -1}}">请选择</text>
<text wx:else>{{colorArray[colorIndex]}}</text>
<i class="iconfont ml5 icon-gengduo"></i>
</picker>
</view>
</view>
</view> -->
<!-- <view class="relative bbs-1-eb pl190 last-b-none" wx:if="{{modelIndex != -1}}">
<view class="absolute left-0 box-middle font-28 color-333">备选车型</view>
<view class="pt30 pb30 text-right font-28 color-666">
@@ -65,18 +74,25 @@
</view> -->
<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="cf_clues" name='cf_clues' value='{{cf_clues}}' />
</view> -->
<view class="pt30 pb30 text-right font-28 color-666">
<picker bindchange="changeClues" value="{{cluesIndex}}" range="{{cluesArray}}">
<text class="color-ccc" wx:if="{{cluesIndex == -1}}">请选择</text>
<text wx:else>{{cluesArray[cluesIndex]}}</text>
<picker bindchange="changeOf1" value="{{of1Index}}" range="{{of1Arr}}">
<text class="color-ccc" wx:if="{{of1Index == -1}}">请选择</text>
<text wx:else>{{of1Arr[of1Index]}}</text>
<i class="iconfont ml5 icon-gengduo"></i>
</picker>
</view>
</view>
<view class="relative bbs-1-eb pl190 last-b-none">
<view class="relative bbs-1-eb last-b-none pl140 font-28" wx:if="{{of2Arr.length>0}}">
<view class="absolute left-0 box-middle">{{sources[of1Index].name}}</view>
<view class="pt30 pb30 text-right font-28 color-666">
<picker bindchange="changeOf2" value="{{of2Index}}" range="{{of2Arr}}">
<text class="color-ccc" wx:if="{{of2Index == -1}}">请选择</text>
<text wx:else>{{of2Arr[of2Index]}}</text>
<i class="iconfont ml5 icon-gengduo"></i>
</picker>
</view>
</view>
<view class="relative bbs-1-eb last-b-none pl190">
<view class="absolute left-0 box-middle font-28 color-333">预计购车时间</view>
<view class="pt30 pb30 text-right font-28 color-666">
<picker bindchange="changeTime" value="{{timeIndex}}" range="{{timeArray}}">
@@ -86,6 +102,27 @@
</picker>
</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-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>
</block>
</view>
</view>
</block>
</view>
<view class="mt60 pl60 pr60">
+123 -112
View File
@@ -32,20 +32,19 @@ Page({
/* 编辑 */
name:'',//名字
mobile:'',//手机号
brand_id:'',//品牌
car_id:'',//车系id
v_id:'',//车型级别id
color_id:'',//颜色id
b_s_id:'',//备选车型id
// brand_id:'',//品牌
// car_id:'',//车系id
// v_id:'',//车辆版本id
// color_id:'',//颜色id
// b_s_id:'',//备选车型id
buy_time:'',//预计购车时间
brandIndex:-1,//车辆品牌索引
modelIndex:-1,//车型车系索引
spareIndex:-1,//备选车型索引
colorArray:[],//车颜色列表
levelArray:[],//车型级别列表
colorIndex:-1,//车颜色索引
levelIndex:-1,//车型级别索引
cf_clues:'',//线索来源
// brandIndex:-1,//车辆品牌索引
// modelIndex:-1,//车系车型索引
// spareIndex:-1,//备选车型索引
// colorArray:[],//车颜色列表
// levelArray:[],//车辆版本列表
// colorIndex:-1,//车颜色索引
// levelIndex:-1,//车辆版本索引
defeat_reason:'',//战败理由
submitFlag:false,
@@ -63,6 +62,7 @@ Page({
this.getAppCustomerData()
this.getAppCustomerlogs()
this.getAppCustomersTabs()
this.getAppCustomersTag()
innerAudioContext.onEnded(() => {
this.offaudio()
@@ -108,105 +108,104 @@ Page({
name:res.data.baseinfo.name.value?res.data.baseinfo.name.value:'',
mobile:res.data.baseinfo.mobile.value?res.data.baseinfo.mobile.value:'',
buy_time:res.data.baseinfo.buy_time.value?res.data.baseinfo.buy_time.value:'',
cf_clues:res.data.baseinfo.cf_clues.value?res.data.baseinfo.cf_clues.value:'',
})
/*匹配数据*/
/*匹配品牌*/
if(res.data.baseinfo.brand_id.value){
_.apiQuery.getAppSeriesBrands().then(res1 => {
if(res1.data.list.length>0){
let brandArray = []
res1.data.list.forEach((item,index) => {
if(item.id == res.data.baseinfo.brand_id.value){
this.setData({
brandIndex:index,
})
}
brandArray.push(item.name)
})
this.setData({
brandArray:brandArray,
brandList:res1.data.list,
})
// /*匹配数据*/
// /*匹配品牌*/
// if(res.data.baseinfo.brand_id.value){
// _.apiQuery.getAppSeriesBrands().then(res1 => {
// if(res1.data.list.length>0){
// let brandArray = []
// res1.data.list.forEach((item,index) => {
// if(item.id == res.data.baseinfo.brand_id.value){
// this.setData({
// brandIndex:index,
// })
// }
// brandArray.push(item.name)
// })
// this.setData({
// brandArray:brandArray,
// brandList:res1.data.list,
// })
/*匹配车型车系*/
if(res.data.baseinfo.car_id.value){
let modelparams = {};
modelparams['brand_id'] = res.data.baseinfo.brand_id.value;
_.apiQuery.getAppSeries(modelparams).then(res2 => {
if(res2.data.list.length>0){
let modelArray = []
res2.data.list.forEach((item,index) => {
if(item.id == res.data.baseinfo.car_id.value){
this.setData({
modelIndex:index,
})
}
modelArray.push(item.name)
})
this.setData({
modelArray:modelArray,
modelList:res2.data.list,
})
// /*匹配车系车型*/
// if(res.data.baseinfo.car_id.value){
// let modelparams = {};
// modelparams['brand_id'] = res.data.baseinfo.brand_id.value;
// _.apiQuery.getAppSeries(modelparams).then(res2 => {
// if(res2.data.list.length>0){
// let modelArray = []
// res2.data.list.forEach((item,index) => {
// if(item.id == res.data.baseinfo.car_id.value){
// this.setData({
// modelIndex:index,
// })
// }
// modelArray.push(item.name)
// })
// this.setData({
// modelArray:modelArray,
// modelList:res2.data.list,
// })
/*匹配车型级别*/
if(res.data.baseinfo.v_id.value){
let levelparams = {};
levelparams['id'] = res.data.baseinfo.car_id.value;
levelparams['type'] = 0;
_.apiQuery.getAppSeriesAttrs(levelparams).then(res3 => {
if(res3.data.total>0){
let levelArray = []
res3.data.list.forEach((item,index) => {
if(item.id == res.data.baseinfo.v_id.value){
this.setData({
levelIndex:index,
})
}
levelArray.push(item.title)
})
this.setData({
levelArray:levelArray,
levelList:res3.data.list,
})
// /*匹配车辆版本*/
// if(res.data.baseinfo.v_id.value){
// let levelparams = {};
// levelparams['id'] = res.data.baseinfo.car_id.value;
// levelparams['type'] = 0;
// _.apiQuery.getAppSeriesAttrs(levelparams).then(res3 => {
// if(res3.data.total>0){
// let levelArray = []
// res3.data.list.forEach((item,index) => {
// if(item.id == res.data.baseinfo.v_id.value){
// this.setData({
// levelIndex:index,
// })
// }
// levelArray.push(item.title)
// })
// this.setData({
// levelArray:levelArray,
// levelList:res3.data.list,
// })
//匹配车颜色
if(res.data.baseinfo.color_id.value){
let colorparams = {};
colorparams['id'] = res.data.baseinfo.car_id.value;
colorparams['v_id'] = res.data.baseinfo.v_id.value;
colorparams['type'] = 1;
_.apiQuery.getAppSeriesAttrs(colorparams).then(res4 => {
if(res4.data.total>0){
let colorArray = []
res4.data.list.forEach((item,index) => {
if(item.id == res.data.baseinfo.color_id.value){
this.setData({
colorIndex:index,
})
}
colorArray.push(item.title)
})
this.setData({
colorArray:colorArray,
colorList:res4.data.list,
})
}
});
}
}
});
}
// //匹配车颜色
// if(res.data.baseinfo.color_id.value){
// let colorparams = {};
// colorparams['id'] = res.data.baseinfo.car_id.value;
// colorparams['v_id'] = res.data.baseinfo.v_id.value;
// colorparams['type'] = 1;
// _.apiQuery.getAppSeriesAttrs(colorparams).then(res4 => {
// if(res4.data.total>0){
// let colorArray = []
// res4.data.list.forEach((item,index) => {
// if(item.id == res.data.baseinfo.color_id.value){
// this.setData({
// colorIndex:index,
// })
// }
// colorArray.push(item.title)
// })
// this.setData({
// colorArray:colorArray,
// colorList:res4.data.list,
// })
// }
// });
// }
// }
// });
// }
}
});
}
// }
// });
// }
}
});
}
/*end 匹配数据*/
// }
// });
// }
// /*end 匹配数据*/
})
},
@@ -684,13 +683,24 @@ Page({
},
/*************************** 编辑 **********************************/
/*************************** end 编辑 **********************************/
//客户标签
getAppCustomersTag(){
let params = {};
params['id'] = this.data.id;
_.apiQuery.getAppCustomersTag(params).then(res => {
let taglList = res.data
taglList.forEach(itemA => {
itemA.list.forEach(itemB => {
if(itemB.checked){
itemA.have=true
}
})
})
this.setData({
taglList,
})
});
},
//页面相关事件处理函数--监听用户下拉动作
onPullDownRefresh(){
@@ -705,6 +715,7 @@ Page({
this.getAppCustomersDetails()
this.getAppCustomerData()
this.getAppCustomerlogs()
this.getAppCustomersTag()
},
//页面上拉触底事件的处理函数
+31 -15
View File
@@ -48,7 +48,7 @@
<text>分期信息</text>
</view> -->
<view class="text-right">
<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"><i class="iconfont icon-dengji mr10"></i>编辑</button>
<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"><i class="iconfont icon-dengji mr10"></i>修改</button>
</view>
<view>
<view class="relative bbs-1-eb last-b-none pl140 font-28">
@@ -63,35 +63,33 @@
{{mobile}}
</view>
</view>
<view class="relative bbs-1-eb pl190 last-b-none">
<!-- <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" style="min-height:38rpx">
{{brandArray[brandIndex]}}
</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="absolute left-0 box-middle font-28 color-333">车系车型</view>
<view class="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx">
{{modelArray[modelIndex]}}
</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="absolute left-0 box-middle font-28 color-333">车辆版本</view>
<view class="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx">
{{levelArray[levelIndex]}}
</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="absolute left-0 box-middle font-28 color-333">车颜色</view>
<view class="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx">
{{colorArray[colorIndex]}}
</view>
</view>
<view class="relative bbs-1-eb last-b-none pl140 font-28">
</view> -->
<view class="relative bbs-1-eb last-b-none pl140 font-28" wx:if="{{baseinfo.of_id.value}}">
<view class="absolute left-0 box-middle">线索来源</view>
<view class="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx">
{{cf_clues}}
</view>
<view class="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx">{{baseinfo.of_id.value}}</view>
</view>
<view class="relative bbs-1-eb pl190 last-b-none">
<view class="absolute left-0 box-middle font-28 color-333">预计购车时间</view>
@@ -158,12 +156,30 @@
</view>
</view>
</view>
<view class="mt30 pl5 pr5 pb150" wx:elif="{{tabid == tab[2].id}}">
<view>
<block wx:for="{{detailinfo.tags}}" wx:for-index='i' wx:for-item='tag' wx:key='i'>
<text class="inline-block mr10 pt5 pb5 pl20 pr20 bg-f3f6fc font-22 ulib-r5">{{tag}}</text>
</block>
<view class="mt10 pl50 pr30 pb200" wx:elif="{{tabid == tab[2].id}}">
<view class="relative">
<view class="absolute left-0 box-middle font-28">客户级别</view>
<view class="pl150" wx:if="{{detailinfo.tags.length>0}}">
<block wx:for="{{detailinfo.tags}}" wx:for-index='i' wx:for-item='tag' wx:key='i'>
<text class="inline-block space-nowrap mt5 mb5 mr10 pt10 pb10 pl20 pr20 font-22 ulib-r10 bg-f3f6fc">{{tag}}</text>
</block>
</view>
<!-- <block wx:for='{{taglList}}' wx:for-item='list' wx:for-index='i' wx:key='i'>
<block wx:for='{{list.list}}' wx:for-item='option' wx:for-index='j' wx:key='j'>
<text class="inline-block space-nowrap mt20 mr20 pt15 pb15 pl30 pr30 font-22 ulib-r10 bg-f3f6fc" wx:if="{{option.checked}}">{{option.name}}</text>
</block>
</block> -->
</view>
<block wx:for='{{taglList}}' 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>
+192 -91
View File
@@ -4,29 +4,25 @@ Page({
data: {
name:'',//名字
mobile:'',//手机号
brand_id:'',//品牌
car_id:'',//车系id
v_id:'',//车型级别id
color_id:'',//颜色id
// brand_id:'',//品牌
// car_id:'',//车系id
// v_id:'',//车辆版本id
// color_id:'',//颜色id
buy_time:'',//预计购车时间
brandIndex:-1,//车辆品牌索引
modelIndex:-1,//车型车系索引
colorArray:[],//车颜色列表
levelArray:[],//车型级别列表
colorIndex:-1,//车颜色索引
levelIndex:-1,//车型级别索引
// brandIndex:-1,//车辆品牌索引
// modelIndex:-1,//车系车型索引
// colorArray:[],//车颜色列表
// levelArray:[],//车辆版本列表
// colorIndex:-1,//车颜色索引
// levelIndex:-1,//车辆版本索引
timeArray:[],//预计购车时间列表
timeIndex:-1,//预计购车时间索引
cf_clues:'',//线索来源
cluesArray:[
'自然进店',
'外展外拓',
'转介绍',
'垂直媒体',
'自媒体',
],//线索来源
cluesIndex:-1,//索来源索引
submitFlag:false,
of_id:'',
of2_id:'',
of1Index:-1,
of2Index:-1,
},
//生命周期函数--监听页面加载
onLoad: function (options) {
@@ -36,6 +32,7 @@ Page({
})
}
this.getAppCustomerData()
this.getAppCustomersTag()
},
//获取客户详细信息
@@ -47,23 +44,17 @@ Page({
baseinfo:res.data.baseinfo,
name:res.data.baseinfo.name.value?res.data.baseinfo.name.value:'',
mobile:res.data.baseinfo.mobile.value?res.data.baseinfo.mobile.value:'',
cf_clues:res.data.baseinfo.cf_clues.value?res.data.baseinfo.cf_clues.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:'',
})
if(res.data.baseinfo.cf_clues.value){
this.data.cluesArray.forEach((item,index) => {
if(item == res.data.baseinfo.cf_clues.value){
this.setData({
cluesIndex:index,
})
}
})
}
//编辑基础信息使用
this.getAppSeriesBrands()
this.getAppSeriesedit()
//获取车型品牌
//this.getAppSeriesBrands()
//匹配车系车型
//this.getAppSeriesedit()
this.getAppCustomersFilter()
this.getAppCustomersOffline_sources()
})
},
@@ -91,14 +82,13 @@ Page({
})
}
})
}
}
});
},
//匹配车型车
//匹配车系车型
getAppSeriesedit(){
let params = {};
params['brand_id'] = this.data.baseinfo.brand_id.value;
@@ -124,7 +114,7 @@ Page({
}
})
//匹配颜色 车型级别
//匹配颜色 车辆版本
this.getAppSeriesAttrsleveledit()
}
@@ -133,7 +123,7 @@ Page({
});
},
//编辑品牌时车型车
//编辑品牌时车系车型
getAppSeries(){
let params = {};
params['brand_id'] = this.data.brand_id;
@@ -151,7 +141,7 @@ Page({
});
},
//获取车型级别 ---编辑匹配信息
//获取车辆版本 ---编辑匹配信息
getAppSeriesAttrsleveledit(){
let params = {};
@@ -186,7 +176,7 @@ Page({
});
},
//获取车颜色 ---编辑匹配信息
//获取车颜色 ---编辑匹配信息
getAppSeriesAttrscoloredit(){
let params = {};
params['id'] = this.data.modelList[this.data.modelIndex].id;
@@ -220,7 +210,7 @@ Page({
},
//获取车型级别
//获取车辆版本
getAppSeriesAttrslevel(){
let params = {};
params['id'] = this.data.car_id;
@@ -240,7 +230,7 @@ Page({
});
},
//获取车颜色
//获取车颜色
getAppSeriesAttrscolor(){
let params = {};
params['id'] = this.data.car_id;
@@ -267,7 +257,7 @@ Page({
let timeArray = []
res.data.buy_time.forEach(item => {
timeArray.push(item + '天')
timeArray.push(item.name)
})
this.setData({
timeArray:timeArray,
@@ -276,7 +266,7 @@ Page({
if(this.data.baseinfo.buy_time.value != 0){
res.data.buy_time.forEach((item,index) => {
if(item == this.data.baseinfo.buy_time.value){
if(item.id == this.data.baseinfo.buy_time.value){
this.setData({
buy_time:this.data.baseinfo.buy_time.value,
timeIndex:index,
@@ -303,15 +293,15 @@ Page({
brand_id:this.data.brandList[e.detail.value].id,
brandIndex:e.detail.value,
car_id:'',//车系id
v_id:'',//车型级别id
color_id:'',//车颜色id
v_id:'',//车辆版本id
color_id:'',//车颜色id
incolor_id:'',//内饰颜色id
modelIndex:-1,//车型车系索引
colorArray:[],//车颜色列表
levelArray:[],//车型级别列表
modelIndex:-1,//车系车型索引
colorArray:[],//车颜色列表
levelArray:[],//车辆版本列表
interiorArray:[],//内饰颜色
colorIndex:-1,//车颜色索引
levelIndex:-1,//车型级别索引
colorIndex:-1,//车颜色索引
levelIndex:-1,//车辆版本索引
interiorIndex:-1,//内饰颜色索引
priceinfo:'',
})
@@ -325,14 +315,14 @@ Page({
this.setData({
car_id:this.data.modelList[e.detail.value].id,
modelIndex:e.detail.value,
v_id:'',//车型级别id
color_id:'',//车颜色id
v_id:'',//车辆版本id
color_id:'',//车颜色id
incolor_id:'',//内饰颜色id
colorArray:[],//车颜色列表
levelArray:[],//车型级别列表
colorArray:[],//车颜色列表
levelArray:[],//车辆版本列表
interiorArray:[],//内饰颜色
colorIndex:-1,//车颜色索引
levelIndex:-1,//车型级别索引
colorIndex:-1,//车颜色索引
levelIndex:-1,//车辆版本索引
interiorIndex:-1,//内饰颜色索引
priceinfo:'',
})
@@ -340,21 +330,21 @@ Page({
}
},
//车型级别
//车辆版本
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,
color_id:'',//车颜色id
colorArray:[],//车颜色列表
colorIndex:-1,//车颜色索引
color_id:'',//车颜色id
colorArray:[],//车颜色列表
colorIndex:-1,//车颜色索引
})
this.getAppSeriesAttrscolor()
}
},
//车颜色
//车颜色
changeColor(e) {
if(this.data.colorIndex != e.detail.value && e.detail.value >= 0){
this.setData({
@@ -364,18 +354,10 @@ Page({
}
},
//线索来源
changeClues(e) {
this.setData({
cf_clues:this.data.cluesArray[e.detail.value],
cluesIndex:e.detail.value,
})
},
//预计购车时间
changeTime(e) {
this.setData({
buy_time:this.data.timeList[e.detail.value],
buy_time:this.data.timeList[e.detail.value].id,
timeIndex:e.detail.value,
})
},
@@ -394,51 +376,77 @@ Page({
title: '请输入正确的手机号码',
icon: 'none'
})
}else if(that.data.car_id == '' ){
}
else if (that.data.of_id == '' ) {
wx.showToast({
title: '请选择车型车系',
title: '请选择线索来源',
icon: 'none'
})
}else if(that.data.v_id == '' ){
}
else if (that.data.sources[that.data.of1Index].list.length>0&&that.data.of2_id == '' ) {
wx.showToast({
title: '请选择车型级别',
title: '请选择'+that.data.sources[that.data.of1Index].name+'类型',
icon: 'none'
})
}else if(that.data.color_id == '' ){
}
else if (that.data.buy_time == '' ) {
wx.showToast({
title: '请选择车型颜色',
title: '请选择预计购车时间',
icon: 'none'
})
} else if(that.data.name==that.data.baseinfo.name.value&&that.data.mobile==that.data.baseinfo.mobile.value&&that.data.cf_clues==that.data.baseinfo.cf_clues.value&&that.data.car_id==that.data.baseinfo.car_id.value&&that.data.v_id==that.data.baseinfo.v_id.value&&that.data.color_id==that.data.baseinfo.color_id.value&&that.data.buy_time==that.data.baseinfo.buy_time.value){
wx.showToast({
title: '好像没改什么',
icon: 'none'
})
}else{
}
// else if(that.data.car_id == '' ){
// wx.showToast({
// title: '请选择车系车型',
// icon: 'none'
// })
// }else if(that.data.v_id == '' ){
// wx.showToast({
// title: '请选择车辆版本',
// icon: 'none'
// })
// }else if(that.data.color_id == '' ){
// wx.showToast({
// title: '请选择车身颜色',
// icon: 'none'
// })
// }
// else if(that.data.name==that.data.baseinfo.name.value&&that.data.mobile==that.data.baseinfo.mobile.value&&that.data.of_id==that.data.baseinfo.of_id.of_id&&that.data.of2_id==that.data.baseinfo.of_id.of2_id&&that.data.car_id==that.data.baseinfo.car_id.value&&that.data.v_id==that.data.baseinfo.v_id.value&&that.data.color_id==that.data.baseinfo.color_id.value&&that.data.buy_time==that.data.baseinfo.buy_time.value){
// wx.showToast({
// title: '好像没改什么',
// icon: 'none'
// })
// }
else{
that.setData({
submitFlag: true,
})
let params = {};
params['cus_id'] = that.data.id;
params['tag'] = that.data.taglList;
if(that.data.name != that.data.baseinfo.name.value){
params['name'] = that.data.name;
}
if(that.data.mobile != that.data.baseinfo.mobile.value){
params['mobile'] = that.data.mobile;
}
if(that.data.cf_clues != that.data.baseinfo.cf_clues.value){
params['cf_clues'] = that.data.cf_clues;
// if(that.data.car_id != that.data.baseinfo.car_id.value){
// params['car_id'] = that.data.car_id;
// }
// if(that.data.v_id != that.data.baseinfo.v_id.value){
// params['v_id'] = that.data.v_id;
// }
// if(that.data.color_id != that.data.baseinfo.color_id.value){
// params['color_id'] = that.data.color_id;
// }
if(that.data.of_id != that.data.baseinfo.of_id.of_id){
params['of_id'] = that.data.of_id;
}
if(that.data.car_id != that.data.baseinfo.car_id.value){
params['car_id'] = that.data.car_id;
}
if(that.data.v_id != that.data.baseinfo.v_id.value){
params['v_id'] = that.data.v_id;
}
if(that.data.color_id != that.data.baseinfo.color_id.value){
params['color_id'] = that.data.color_id;
if(that.data.of2_id != that.data.baseinfo.of_id.of2_id){
params['of2_id'] = that.data.of2_id;
}
if(that.data.buy_time != that.data.baseinfo.buy_time.value){
params['buy_time'] = that.data.buy_time;
}
@@ -473,6 +481,7 @@ Page({
success(res) {
if (res.confirm) {
that.getAppCustomerData()
that.getAppCustomersTag()
} else if (res.cancel) {
wx.navigateBack({
delta: 1
@@ -490,4 +499,96 @@ Page({
}
},
//线索来源
getAppCustomersOffline_sources(){
_.apiQuery.getAppCustomersOffline_sources().then(res => {
let of1Arr = []
res.data.forEach(item => {
of1Arr.push(item.name)
})
this.setData({
of1Arr,
sources:res.data
})
if(this.data.of_id != ''){
res.data.forEach((item,index) => {
if(item.id == this.data.of_id){
this.setData({
of1Index:index,
})
}
})
if(this.data.of2Index != ''){
let of2Arr = []
res.data[this.data.of1Index].list.forEach((item,index) => {
of2Arr.push(item.name)
if(item.id == this.data.of2_id){
this.setData({
of2Index:index,
})
}
})
this.setData({
of2Arr,
})
}
}
});
},
//线索来源
changeOf1(e) {
if(this.data.of1Index!=e.detail.value){
let of2Arr = []
this.data.sources[e.detail.value].list.forEach(item => {
of2Arr.push(item.name)
})
this.setData({
of2Arr,
of2Index:-1,
of_id:this.data.sources[e.detail.value].id,
of1Index:e.detail.value,
})
}
},
changeOf2(e) {
if(this.data.of2Index!=e.detail.value){
this.setData({
of2_id:this.data.sources[this.data.of1Index].list[e.detail.value].id,
of2Index:e.detail.value,
})
}
},
//客户标签
getAppCustomersTag(){
let params = {};
params['id'] = this.data.id;
_.apiQuery.getAppCustomersTag(params).then(res => {
this.setData({
taglList:res.data,
})
});
},
//单选
radioPicker(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,
})
},
//多选
checkPicker(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,
})
},
})
+45 -17
View File
@@ -1,6 +1,6 @@
<view class="container">
<view class="inner30">
<view class="pl40 pr40 pt10 pb10 relative ulib-r10 box-shadow-000-10-10 overflowhidden">
<view class="pl40 pr40 pt10 pb50 relative ulib-r10 box-shadow-000-10-10 overflowhidden">
<view class="relative bbs-1-eb last-b-none pl140 font-28">
<view class="absolute left-0 box-middle">客户姓名</view>
<view>
@@ -13,7 +13,7 @@
<input class="wp100 height-100 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 pl190 last-b-none">
<!-- <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="changeBrand" value="{{brandIndex}}" range="{{brandArray}}">
@@ -24,8 +24,8 @@
</view>
</view>
<view class="relative bbs-1-eb pl190 last-b-none" 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">
<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="changeModel" value="{{modelIndex}}" range="{{modelArray}}">
<text class="color-ccc" wx:if="{{modelIndex == -1}}">请选择</text>
<text wx:else>{{modelArray[modelIndex]}}</text>
@@ -34,8 +34,8 @@
</view>
</view>
<view class="relative bbs-1-eb pl190 last-b-none" wx:if="{{modelIndex != -1}}">
<view class="absolute left-0 box-middle font-28 color-333">车型级别</view>
<view class="pt30 pb30 text-right font-28 color-666">
<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>
@@ -44,29 +44,36 @@
</view>
</view>
<view class="relative bbs-1-eb pl190 last-b-none" wx:if="{{modelIndex != -1}}">
<view class="absolute left-0 box-middle font-28 color-333">车颜色</view>
<view class="pt30 pb30 text-right font-28 color-666">
<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="changeColor" value="{{colorIndex}}" range="{{colorArray}}">
<text class="color-ccc" wx:if="{{colorIndex == -1}}">请选择</text>
<text wx:else>{{colorArray[colorIndex]}}</text>
<i class="iconfont ml5 icon-gengduo"></i>
</picker>
</view>
</view>
</view> -->
<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="cf_clues" name='cf_clues' value='{{cf_clues}}' />
</view> -->
<view class="pt30 pb30 text-right font-28 color-666">
<picker bindchange="changeClues" value="{{cluesIndex}}" range="{{cluesArray}}">
<text class="color-ccc" wx:if="{{cluesIndex == -1}}">请选择</text>
<text wx:else>{{cluesArray[cluesIndex]}}</text>
<picker bindchange="changeOf1" value="{{of1Index}}" range="{{of1Arr}}">
<text class="color-ccc" wx:if="{{of1Index == -1}}">请选择</text>
<text wx:else>{{of1Arr[of1Index]}}</text>
<i class="iconfont ml5 icon-gengduo"></i>
</picker>
</view>
</view>
<view class="relative bbs-1-eb pl190 last-b-none">
<view class="relative bbs-1-eb last-b-none pl140 font-28" wx:if="{{of2Arr.length>0}}">
<view class="absolute left-0 box-middle">{{sources[of1Index].name}}</view>
<view class="pt30 pb30 text-right font-28 color-666">
<picker bindchange="changeOf2" value="{{of2Index}}" range="{{of2Arr}}">
<text class="color-ccc" wx:if="{{of2Index == -1}}">请选择</text>
<text wx:else>{{of2Arr[of2Index]}}</text>
<i class="iconfont ml5 icon-gengduo"></i>
</picker>
</view>
</view>
<view class="relative bbs-1-eb last-b-none pl190">
<view class="absolute left-0 box-middle font-28 color-333">预计购车时间</view>
<view class="pt30 pb30 text-right font-28 color-666">
<picker bindchange="changeTime" value="{{timeIndex}}" range="{{timeArray}}">
@@ -76,10 +83,31 @@
</picker>
</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-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>
</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>
+5 -1
View File
@@ -18,10 +18,11 @@ Page({
if_driver:'',//是否试驾
level:'',//客户顶级
s_id:'',//车型id
v_id:'',//车型级别id
v_id:'',//车辆版本id
cfrom:'',//客户来源
o_type:'',//排序类型
visit:'',//只显示待回访客户(1是)
a_id:'',//活动ID
},
onLoad(options) {
for (let key in options) {
@@ -85,6 +86,9 @@ Page({
if(this.data.o_type != ''){
params['o_type'] = this.data.o_type;
}
if(this.data.a_id != ''){
params['a_id'] = this.data.a_id;
}
_.apiQuery.getAppCustomersList(params).then(res => {
this.setData({
total: res.data.total,
+151 -41
View File
@@ -18,9 +18,9 @@ Page({
e_time:'',//结束时间
if_driver:'',//是否试驾
level:'',//客户顶级
brand_id:'',//品牌
s_id:'',//车型id
v_id:'',//车型级别id
// brand_id:'',//品牌
// s_id:'',//车型id
// v_id:'',//车辆版本id
cfrom:'',//客户来源
o_type:'',//排序类型
isShowfilter:false,//是否显示筛查
@@ -55,25 +55,25 @@ Page({
sortListIndex:0,//排序索引
levelIndex:-1,//意向等级索引
brandIndex:-1,//车辆品牌索引
modelIndex:-1,//车型车系索引
modelIndex:-1,//车系车型索引
cfromIndex:-1,//客户来源索引
isShowMessage:false,//是否显示短信弹窗
content:'',//短信内容
isRefresh:false,//判断返回是否需要刷新
isShowMobile: false,
cf_clues:'',//线索来源
cluesArray:[
'自然进店',
'外展外拓',
'转介绍',
'垂直媒体',
'自媒体',
],//线索来源
cluesIndex:-1,//索来源索引
staffArray: [],
staffobj: [],
staffIndex:-1,
userInfo:app.getStorageByKey("userInfo")
userInfo:app.getStorageByKey("userInfo"),
of_id:'',
of2_id:'',
of1Index:-1,
of2Index:-1,
cid:[],//分配客户ID
employee_id:'',//分配销售ID
employeeIndex:-1,//分配销售索引
},
onLoad(options) {
for (let key in options) {
@@ -81,13 +81,20 @@ Page({
[key]: options[key]
})
}
//客户-tab
this.getAppCustomersTabs()
//获取列表筛选条件
this.getAppCustomersFilter()
this.getAppSeriesBrands()
//获取车型品牌
//this.getAppSeriesBrands()
//销售顾问
this.getAppUserAdmins()
//线索来源
this.getAppCustomersOffline_sources()
},
onShow(){
//获取常用时间段
this.getDateLater()
},
@@ -162,7 +169,7 @@ Page({
});
},
//获取车型车
//获取车系车型
getAppSeries(){
let params = {};
params['brand_id'] = this.data.brand_id;
@@ -218,23 +225,26 @@ Page({
if(this.data.level != ''){
params['level'] = this.data.level;
}
if(this.data.brand_id != ''){
params['brand_id'] = this.data.brand_id;
}
if(this.data.s_id != ''){
params['s_id'] = this.data.s_id;
}
if(this.data.v_id != ''){
params['v_id'] = this.data.v_id;
}
// if(this.data.brand_id != ''){
// params['brand_id'] = this.data.brand_id;
// }
// if(this.data.s_id != ''){
// params['s_id'] = this.data.s_id;
// }
// if(this.data.v_id != ''){
// params['v_id'] = this.data.v_id;
// }
if(this.data.cfrom != ''){
params['cfrom'] = this.data.cfrom;
}
if(this.data.o_type != ''){
params['o_type'] = this.data.o_type;
}
if(this.data.cf_clues != ''){
params['cf_clues'] = this.data.cf_clues;
if(this.data.of_id != ''){
params['of_id'] = this.data.of_id;
}
if(this.data.of2_id != ''){
params['of2_id'] = this.data.of2_id;
}
if(this.data.staffIndex>-1){
params['admin_id'] = this.data.staffobj[this.data.staffIndex].id;
@@ -277,7 +287,7 @@ Page({
})
},
//取常用时间段
//取常用时间段
getDateLater(){
popularData.getDateLater(0,0).then(res => {
this.setData({
@@ -454,7 +464,7 @@ Page({
brand_id:this.data.brandList[e.detail.value].id,
brandIndex:e.detail.value,
s_id:'',//车系id
modelIndex:-1,//车型车系索引
modelIndex:-1,//车系车型索引
})
this.getAppSeries()
}
@@ -484,14 +494,6 @@ Page({
})
},
//线索来源
changeClues(e) {
this.setData({
cf_clues:this.data.cluesArray[e.detail.value],
cluesIndex:e.detail.value,
})
},
//显示高级搜索
optfilter(){
this.setData({
@@ -518,17 +520,19 @@ Page({
e_time:'',
if_driver:'',
level:'',
brand_id:'',
s_id:'',
// brand_id:'',
// s_id:'',
cfrom:'',
cf_clues:'',//线索来源
of_id:'',
of2_id:'',
of1Index:-1,
of2Index:-1,
timeSlotIndex:-1,
testDriveIndex:-1,
levelIndex:-1,
brandIndex:-1,
modelIndex:-1,
cfromIndex:-1,
cluesIndex:-1,//索来源索引
staffIndex:-1,
})
},
@@ -593,6 +597,112 @@ Page({
}
},
//线索来源
getAppCustomersOffline_sources(){
_.apiQuery.getAppCustomersOffline_sources().then(res => {
let of1Arr = []
res.data.forEach(item => {
of1Arr.push(item.name)
})
this.setData({
of1Arr,
sources:res.data
})
});
},
//线索来源
changeOf1(e) {
if(this.data.of1Index!=e.detail.value){
let of2Arr = []
this.data.sources[e.detail.value].list.forEach(item => {
of2Arr.push(item.name)
})
this.setData({
of2Arr,
of2Index:-1,
of_id:this.data.sources[e.detail.value].id,
of1Index:e.detail.value,
})
}
},
changeOf2(e) {
if(this.data.of2Index!=e.detail.value){
this.setData({
of2_id:this.data.sources[this.data.of1Index].list[e.detail.value].id,
of2Index:e.detail.value,
})
}
},
//销售弹窗显示隐藏
optEmployees(e){
if(e.currentTarget.dataset.cid){
this.setData({
isShowEmployees:true,
employeeIndex:-1,
employee_id:'',
cid:[e.currentTarget.dataset.cid],
})
}else{
this.setData({
isShowEmployees:!this.data.isShowEmployees,
employeeIndex:-1,
employee_id:'',
cid:[],
})
}
},
//选择店员
changeEmployee(e) {
let employee_id = ''
if(e.detail.value >= 0){
employee_id = this.data.staffobj[e.detail.value].id
}
this.setData({
employee_id,
employeeIndex:e.detail.value,
})
},
//分配客户
putAppCustomersAdmins(){
let that = this
if (that.data.employeeIndex == -1 ) {
wx.showToast({
title: '请选择店员',
icon: 'none'
})
}else{
that.setData({
submitFlag: true,
})
let params = {};
params['ids'] = that.data.cid;
params['admin_id'] = that.data.employee_id;
_.apiQuery.putAppCustomersAdmins(params).then(res => {
wx.showToast({
title: '分配成功',
icon: 'success',
duration: 2000
})
that.setData({
isShowEmployees:false,
submitFlag:false,
})
that.onPullDownRefresh()
}).catch(res=>{
that.setData({
submitFlag: false,
})
});
}
},
//页面相关事件处理函数--监听用户下拉动作
onPullDownRefresh(){
this.setData({
+67 -31
View File
@@ -29,9 +29,9 @@
<i class="iconfont ml5 icon-gengduo"></i>
</picker>
</view>
<view class="fn-fr pr180 relative">
<view class="fn-fr {{key<2?'pr180':'pr40'}} relative">
<text bindtap="optfilter" class="inner5 iconfont icon-gaojisousuo ml10"></text>
<view bindtap="pushLink" data-url="/pages/customer/addCard/index" class="absolute right-0 box-middle pt10 pb10 pl10 pr30 space-nowrap bg-333 font-22 color-fff ulib-rl750"><i class="iconfont mr5 icon-jia"></i>客户建卡</view>
<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>
@@ -68,7 +68,14 @@
<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>
<view class="fn-fr wp60 text-nowrap text-right color-666">{{value}}</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}}" 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>
@@ -95,29 +102,29 @@
</lcb-msg>
<view class="search-sort {{!isShowfilter?'fn-hide':''}} {{!isShowfilter?'sortout':'sortin'}} bg-fff fixed top-0 bottom-0 z-index-2 ulib-rl20 overflowhidden">
<scroll-view class="wp100" scroll-y="true" style="height:100%">
<view class="inner30">
<scroll-view class="wp100" scroll-y="true" style="height:90%">
<view class="pt10 pb10 pl30 pr30">
<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="number" placeholder="请输入客户编号" model:value="{{cus_id}}" />
<input class="wp100 height-90 text-right font-28" placeholder-class="color-ccc" type="number" placeholder="请输入客户编号" model:value="{{cus_id}}" />
</view>
</view>
<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="name" name='name' value='{{name}}' />
<input class="wp100 height-90 text-right font-28" placeholder-class="color-ccc" type="text" placeholder="请输入客户姓名" bindinput='inputTx' data-key="name" name='name' value='{{name}}' />
</view>
</view>
<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="number" placeholder="请输入客户手机号" bindinput='inputTx' data-key="mobile" name='mobile' value='{{mobile}}' />
<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 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">
<view class="pt25 pb25 text-right font-28 color-666">
<picker mode="date" value="{{s_time}}" bindchange="startDate">
<text class="color-ccc" wx:if="{{s_time == ''}}">请选择</text>
<text wx:else>{{s_time}}</text>
@@ -127,7 +134,7 @@
</view>
<view class="relative bbs-1-eb pl190 last-b-none">
<view class="absolute left-0 box-middle font-28 color-333">建卡结束时间</view>
<view class="pt30 pb30 text-right font-28 color-666">
<view class="pt25 pb25 text-right font-28 color-666">
<picker mode="date" value="{{e_time}}" bindchange="endDate">
<text class="color-ccc" wx:if="{{e_time == ''}}">请选择</text>
<text wx:else>{{e_time}}</text>
@@ -135,7 +142,7 @@
</picker>
</view>
</view>
<view class="relative bbs-1-eb pt30 pb30 last-b-none">
<view class="relative bbs-1-eb pt25 pb25 last-b-none">
<view class="font-22">常用时间段</view>
<view class="fn-clear">
<block wx:for="{{timeSlot}}" wx:key='index'>
@@ -145,7 +152,7 @@
</block>
</view>
</view>
<!-- <view class="relative bbs-1-eb pt30 pb30 last-b-none">
<!-- <view class="relative bbs-1-eb pt25 pb25 last-b-none">
<view class="font-22">是否试驾</view>
<view class="fn-clear">
<block wx:for="{{testDrive}}" wx:key='index'>
@@ -157,7 +164,7 @@
</view> -->
<view class="relative bbs-1-eb pl190 last-b-none">
<view class="absolute left-0 box-middle font-28 color-333">意向等级</view>
<view class="pt30 pb30 text-right font-28 color-666">
<view class="pt25 pb25 text-right font-28 color-666">
<picker bindchange="changeLevel" value="{{levelIndex}}" range="{{filter.level}}">
<text class="color-ccc" wx:if="{{levelIndex == -1}}">请选择</text>
<text wx:else>{{filter.level[levelIndex]}}</text>
@@ -165,9 +172,9 @@
</picker>
</view>
</view>
<view class="relative bbs-1-eb pl190 last-b-none">
<!-- <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">
<view class="pt25 pb25 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>
@@ -176,18 +183,18 @@
</view>
</view>
<view class="relative bbs-1-eb pl190 last-b-none" 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">
<view class="absolute left-0 box-middle font-28 color-333">车系车型</view>
<view class="pt25 pb25 text-right font-28 color-666">
<picker bindchange="changeModel" value="{{modelIndex}}" range="{{modelArray}}">
<text class="color-ccc" wx:if="{{modelIndex == -1}}">请选择</text>
<text wx:else> {{modelArray[modelIndex]}}</text>
<i class="iconfont ml5 icon-gengduo"></i>
</picker>
</view>
</view>
</view> -->
<view class="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">
<view class="pt25 pb25 text-right font-28 color-666">
<picker bindchange="changeCfrom" value="{{cfromIndex}}" range="{{filter.cfrom}}">
<text class="color-ccc" wx:if="{{cfromIndex == -1}}">请选择</text>
<text wx:else>{{filter.cfrom[cfromIndex]}}</text>
@@ -195,19 +202,31 @@
</picker>
</view>
</view>
<view class="relative bbs-1-eb last-b-none pl140 font-28" wx:if="{{cfrom=='自有资源'}}">
<view class="absolute left-0 box-middle">线索来源</view>
<view class="pt30 pb30 text-right font-28 color-666">
<picker bindchange="changeClues" value="{{cluesIndex}}" range="{{cluesArray}}">
<text class="color-ccc" wx:if="{{cluesIndex == -1}}">请选择</text>
<text wx:else>{{cluesArray[cluesIndex]}}</text>
<i class="iconfont ml5 icon-gengduo"></i>
</picker>
<block wx:if="{{cfrom=='自有资源'}}">
<view class="relative bbs-1-eb last-b-none pl140 font-28">
<view class="absolute left-0 box-middle">线索来源</view>
<view class="pt25 pb25 text-right font-28 color-666">
<picker bindchange="changeOf1" value="{{of1Index}}" range="{{of1Arr}}">
<text class="color-ccc" wx:if="{{of1Index == -1}}">请选择</text>
<text wx:else>{{of1Arr[of1Index]}}</text>
<i class="iconfont ml5 icon-gengduo"></i>
</picker>
</view>
</view>
</view>
<view class="relative bbs-1-eb last-b-none pl140 font-28" wx:if="{{of2Arr.length>0}}">
<view class="absolute left-0 box-middle">{{sources[of1Index].name}}</view>
<view class="pt25 pb25 text-right font-28 color-666">
<picker bindchange="changeOf2" value="{{of2Index}}" range="{{of2Arr}}">
<text class="color-ccc" wx:if="{{of2Index == -1}}">请选择</text>
<text wx:else>{{of2Arr[of2Index]}}</text>
<i class="iconfont ml5 icon-gengduo"></i>
</picker>
</view>
</view>
</block>
<!-- <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">
<view class="pt25 pb25 text-right font-28 color-666">
<picker mode="date" value="{{c_time}}" bindchange="bindStartDateChange">
<text class="color-ccc" wx:if="{{c_time == ''}}">请选择</text>
<text wx:else>{{c_time}}</text>
@@ -217,7 +236,7 @@
</view> -->
<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="pt30 pb30 text-right font-28 color-666">
<view class="pt25 pb25 text-right font-28 color-666">
<picker bindchange="changeStaff" value="{{staffIndex}}" range="{{staffArray}}">
<text class="color-ccc" wx:if="{{staffIndex == -1}}">请选择</text>
<text wx:else>{{staffArray[staffIndex]}}</text>
@@ -244,4 +263,21 @@
</view>
</view>
<lcb-changeMobile isShow="{{isShowMobile}}"></lcb-changeMobile>
<lcb-changeMobile isShow="{{isShowMobile}}"></lcb-changeMobile>
<lcb-msg isShow="{{isShowEmployees}}">
<view slot="content">
<view class="inner40">
<view class="pb30 text-center font-36">销售选择</view>
<picker class="relative bg-f6 pt20 pb20 pl30 pr30 font-32 ulib-r10" bindchange="changeEmployee" value="{{employeeIndex}}" range="{{staffArray}}">
<text class="color-ccc" wx:if="{{employeeIndex == -1}}">请选择</text>
<text wx:else>{{staffArray[employeeIndex]}}</text>
<i class="absolute right-0 box-middle iconfont mr30 color-999 icon-xiala"></i>
</picker>
</view>
<view class="fn-flex pl60 pr60 pb50 text-center font-32 color-666">
<button bindtap="optEmployees" class="fn-flex-item mr20 bds-2-36afa2 btn-no-bg wp100 font-28 color-36afa2 ulib-r750">取消</button>
<button disabled="{{submitFlag}}" bindtap="putAppCustomersAdmins" class="fn-flex-item ml20 btn-36afa2 wp100 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover">确定</button>
</view>
</view>
</lcb-msg>
+25
View File
@@ -4,6 +4,7 @@ Page({
info:'',
submitFlag:false,
isShowSuccess:false,
isShowProfile:true,//是否显示授权用户信息按钮
},
onLoad: function (options) {
@@ -15,6 +16,15 @@ Page({
//this.getDistributionCash()
this.getUserInfo()
//消息通讯 是否显示授权用户信息按钮
_.eventBus.on("isShowProfile", this, function(res){
this.setData({
isShowProfile:res,
})
})
},
//提现信息
@@ -72,6 +82,21 @@ Page({
})
},
//生命周期函数--监听页面卸载
onUnload: function () {
//卸载消息通讯 是否显示授权用户信息
_.eventBus.remove('isShowProfile',this);
},
//获取用户信息
getUserInfo(){
_.apiQuery.getUserInfo().then(res => {
this.setData({
userInfo: res
})
});
},
//推送链接
pushLink(e){
if(e.currentTarget.dataset.url){
+4 -3
View File
@@ -2,9 +2,10 @@
<view class="inner30">
<view class="font-22">提现到</view>
<view class="mt20 relative">
<view class="absolute left-0 img-70x70 ulib-r10 overflowhidden">
<open-data type="userAvatarUrl"></open-data>
</view>
<image class='absolute left-0 img-70x70 ulib-r10 overflowhidden' mode="aspectFill" src="{{userInfo.headimg||imgUrl+'common/default-head.jpg'}}" lazy-load="{{true}}"></image>
<view class="absolute top-0 bottom-0 left-0 right-0 opacity-0 mt20 mr150 z-index-4">
<lcb-auth type="userinfo" isShowProfile="{{isShowProfile}}" bind:onSuccess="getUserInfo"></lcb-auth>
</view>
<view class="pl90">
<view class="font-28">
<open-data type="userNickName"></open-data>的微信钱包(**** 769)
+200 -8
View File
@@ -39,7 +39,14 @@ Page({
ecPie:{},
isShowNotice:false,//是否显示通知
stopNotice:false,//是否不再显示通知
isShowReport:false,
isShowReport:false,//是否显示调拨盘点弹框
isShowProfile:true,//是否显示授权用户信息按钮
isShowGoods:false,//是否显示库存预警
banneractive: 0,
banneractive2: 0,
banneractive3: 0,
remindTab:[],//调拨盘点入口
remindMsg:[],//调拨盘点弹框
},
onLoad(options) {
@@ -58,14 +65,37 @@ Page({
this.getAppStatisticsHcust()
this.getAppStatisticsHorder()
//消息通讯 是否显示授权用户信息按钮
_.eventBus.on("isShowProfile", this, function(res){
this.setData({
isShowProfile:res,
})
})
},
onShow: function () {
this.setData({
remindTab:[],
remindMsg:[],
isShowReport:false,//是否显示调拨盘点弹框
isShowGoods:false,
});
this.getAppUserCal()
this.getHoursTip()
this.getAppTransferRemind()
this.getAppInventoryRemind()
this.getAppGoodsRemind()
},
//生命周期函数--监听页面卸载
onUnload: function () {
//卸载消息通讯 是否显示授权用户信息
_.eventBus.remove('isShowProfile',this);
},
//候取时间
getHoursTip(){
let hoursTip = '';
@@ -96,21 +126,150 @@ Page({
getAppTransferRemind(){
_.apiQuery.getAppTransferRemind().then(res => {
this.setData({
allotNum: res.data.total,
diaoboNum:res.data.total,
})
if(res.data.total>0){
let remindTab = this.data.remindTab
remindTab.push({
title:'车辆调拨',
content:'您有新的车辆调拨,需要您进行确认操作。',
img:'https://qs.haodian.cn/wechat_app/lichebao/allot/car.gif?v=220224',
url:'/pages/allot/list/index',
allotNum:res.data.total,
})
let remindMsg = this.data.remindMsg
remindMsg.push({
title:'调拨提醒',
content:'您有新的车辆调拨,需要您进行确认操作。',
img:'https://qs.haodian.cn/wechat_app/lichebao/allot/car.gif?v=220224',
btn:{
title:'前往操作',
url:'/pages/allot/list/index',
},
})
this.setData({
remindTab,
remindMsg,
isShowReport:true,
isShowNotice:false,
isShowGoods:false,
})
}
});
},
//盘点提醒
getAppInventoryRemind(){
_.apiQuery.getAppInventoryRemind().then(res => {
this.setData({
pandianNum:res.data.total,
})
if(res.data.total>0){
let remindTab = this.data.remindTab
remindTab.push({
title:'车辆盘点',
content:'您有新的车辆调拨,需要您进行确认操作。',
img:'https://qs.haodian.cn/wechat_app/lichebao/inventory/icon.png',
url:'/pages/inventory/list/index',
allotNum:res.data.total,
})
let remindMsg = this.data.remindMsg
remindMsg.push({
title:'盘点提醒',
content:'您有新的车辆盘点,需要您进行确认操作。',
img:'https://qs.haodian.cn/wechat_app/lichebao/inventory/animation.gif',
btn:{
title:'前往操作',
url:'/pages/inventory/list/index',
},
})
}else{
this.setData({
isShowReport:false,
remindTab,
remindMsg,
isShowReport:true,
isShowNotice:false,
isShowGoods:false,
})
}
});
},
//库存提醒/预警
getAppGoodsRemind(){
_.apiQuery.getAppGoodsRemind().then(res => {
this.setData({
inventory:res.data.inventory,
warning:res.data.warning,
})
if(res.data.warning.list&&res.data.warning.list.length>0){
if(!app.getStorageByKey("showGoods")||app.getStorageByKey("showGoods").data!=new Date().getDate()){
//清除
wx.removeStorageSync('showGoods')
this.setData({
isShowGoods:true,
})
let showGoods = {}
if(this.data.biz_id){
showGoods.data = new Date().getDate()
showGoods.list =[{
biz_id:this.data.biz_id,
num:1,
}]
}else{
showGoods.data = new Date().getDate()
showGoods.list =[{
biz_id:'b1',
num:1,
}]
}
app.setStorage('showGoods',showGoods)
}else{
let showGoods = app.getStorageByKey("showGoods")
let index = -1
if(this.data.biz_id){
showGoods.list.forEach((item,i) => {
if(item.biz_id == this.data.biz_id){
index = i
item.num = item.num + 1
}
})
}else{
showGoods.list.forEach((item,i) => {
if(item.biz_id == 'b1'){
index = i
item.num = item.num + 1
}
})
}
if(index > -1){
if(showGoods.list[index].num<4){
this.setData({
isShowGoods:true,
})
app.setStorage('showGoods',showGoods)
}
}else{
this.setData({
isShowGoods:true,
})
if(this.data.biz_id){
showGoods.list.push({
biz_id:this.data.biz_id,
num:1,
})
}else{
showGoods.list.push({
biz_id:'b1',
num:1,
})
}
app.setStorage('showGoods',showGoods)
}
}
}
});
},
//获取用户信息
getUserInfo(){
_.apiQuery.getUserInfo().then(res => {
@@ -256,18 +415,24 @@ Page({
//公众号关注组件
officialaccount(e){
if(e.detail.status == 0&&!app.getStorageByKey("stopNotice")&&!this.data.isShowReport){
this.setData({
isShowNotice:true,
})
// this.setData({
// isShowNotice:true,
// })
}
},
//显示短信弹框
//显示隐藏调拨盘点弹窗
optShowReport(e){
this.setData({
isShowReport:!this.data.isShowReport,
})
},
//显示隐藏库存预警弹窗
optShowGoods(e){
this.setData({
isShowGoods:!this.data.isShowGoods,
})
},
//开发中
development(){
@@ -278,12 +443,39 @@ Page({
})
},
//调拨盘点轮播点
bannerChange: function (e) {
this.setData({
banneractive:e.detail.current,
});
},
//banner轮播点
bannerChange2: function (e) {
this.setData({
banneractive2:e.detail.current,
});
},
//库存预警轮播点
bannerChange3: function (e) {
this.setData({
banneractive3:e.detail.current,
});
},
//页面相关事件处理函数--监听用户下拉动作
onPullDownRefresh: function () {
this.setData({
remindTab:[],
remindMsg:[],
isShowReport:false,//是否显示调拨盘点弹框
isShowGoods:false,
});
this.getAppUserCal()
this.getAppStatisticsHcust()
this.getAppStatisticsHorder()
this.getAppTransferRemind()
this.getAppInventoryRemind()
this.getAppGoodsRemind()
},
})
+96 -38
View File
@@ -2,8 +2,9 @@
<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">
<view class="absolute left-0 box-middle mr10 img-90x90 ulib-r750 overflowhidden">
<open-data type="userAvatarUrl"></open-data>
<image class='absolute left-0 box-middle mr10 img-90x90 ulib-r750 overflowhidden' mode="aspectFill" src="{{userInfo.headimg||imgUrl+'common/default-head.jpg'}}" lazy-load="{{true}}"></image>
<view class="absolute top-0 bottom-0 left-0 right-0 opacity-0 mt20 mr150 z-index-4">
<lcb-auth type="userinfo" isShowProfile="{{isShowProfile}}" bind:onSuccess="getUserInfo"></lcb-auth>
</view>
<view>
<view class="font-22 color-fff">Hi~ {{hoursTip}}欢迎回到狸车宝!</view>
@@ -14,42 +15,57 @@
</view>
</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" wx:if="{{userInfo.group_id == 4}}">
<view class="fn-flex-item" bindtap="pushLink" data-url="/pages/storeInfo/index">
<image class='img-50x50' mode="aspectFill" src='{{imgUrl}}index/icon-tab-1.png' lazy-load="{{true}}"></image>
<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 class="fn-flex-item" bindtap="development">
<image class='img-50x50' mode="aspectFill" src='{{imgUrl}}index/icon-tab-2.png' lazy-load="{{true}}"></image>
<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="fn-flex-item" bindtap="development">
<image class='img-50x50' mode="aspectFill" src='{{imgUrl}}index/icon-tab-3.png' lazy-load="{{true}}"></image>
<view>访店SOP</view>
</view>
<view class="fn-flex-item" bindtap="development">
<image class='img-50x50' mode="aspectFill" src='{{imgUrl}}index/icon-tab-4.png' lazy-load="{{true}}"></image>
<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>
<!--客户代办事项 订单代办事项 -->
<view class="bg-fff box-shadow-000-10-10 ulib-r10">
<view class="bg-ffedeb ulib-rt10" style="height:140rpx;" bindtap="pushLink" data-url="/pages/allot/list/index" wx:if="{{allotNum>0}}">
<view class="pt30 pl30 pr30">
<view class="relative pl110 pr110">
<image class='block absolute left-0 box-middle img-90x90 ulib-r750 z-index-1' mode="aspectFill" src='{{imgUrl}}index/diaobo-icon.png' lazy-load="{{true}}"></image>
<view class="color-f9394d">
<view class="font-32">车辆调拨</view>
<view class="mt10 font-20">您有新的车辆调拨,需要您进行确认操作</view>
</view>
<view class="absolute right-0 box-middle">
<text class="inline-block text-middle pt5 pb5 pl10 pr10 bg-f9394d font-22 color-fff ulib-r10">{{allotNum}}</text>
<text class="ml5 text-middle iconfont icon-gengduo font-32 color-f9394d"></text>
</view>
<!-- <view class="bg-ffedeb ulib-rt10" style="height:140rpx;" wx:if="{{remindTab.length > 0}}">
<view class="relative pt30 pl30 pr30">
<swiper class='wp100' style="height:90rpx;" autoplay circular bindchange="bannerChange2">
<swiper-item class="wp100 relative pl110 pr110" wx:for="{{remindTab}}" wx:key="index" bindtap="pushLink" data-url="{{item.url}}">
<image class='block absolute left-0 box-middle img-90x90 ulib-r750 z-index-1' mode="aspectFill" src='{{item.img}}' lazy-load="{{true}}"></image>
<view class="color-f9394d">
<view class="font-32">{{item.title}}</view>
<view class="mt10 font-20">{{item.content}}</view>
</view>
<view class="absolute right-0 box-middle">
<text class="inline-block text-middle pt5 pb5 pl10 pr10 bg-f9394d font-22 color-fff ulib-r10">{{item.allotNum}}</text>
<text class="ml5 text-middle iconfont icon-gengduo font-32 color-f9394d"></text>
</view>
</swiper-item>
</swiper>
<view class="absolute left-0 right-0 text-center" style='bottom:-20rpx;height:20rpx' wx:if="{{remindTab.length > 1}}">
<block wx:for-items="{{remindTab}}" wx:for-index="j" wx:key='j'>
<view class="inline-block indicator-pin2 {{banneractive2==j?'active':''}}"></view>
</block>
</view>
</view>
</view>
</view> -->
<view class="inner30 pt40">
<!-- <view class="relative pt20 pb20 pl30 pr200 ulib-r750 font-24 color-fff" style="background-image:linear-gradient(45deg, {{inventory.color1}}, {{inventory.color2}});" bindtap="pushLink" data-url="/pages/inventory/warning/index">
<view class="text-left">{{inventory.title}}</view>
<view class="absolute right-0 box-middle mr25 mb10">
<text class="text-middle">{{inventory.value}}</text>
<i class="iconfont icon-gengduo ml5 text-middle"></i>
</view>
</view> -->
<view class="font-36">客户代办事项</view>
<view class="fn-flex pt20 pb20 color-fff">
<view class="fn-flex-item relative mr15 pt25 pb25 pl110 bg-1c89fd-8058fe ulib-r10" bindtap="pushLink" data-url="/pages/customer/filterList/index?iscall=0&title=未联系潜客" >
@@ -165,19 +181,61 @@
</view>
</lcb-msg>
<!-- 调拨提醒 -->
<!-- 调拨提醒 盘点提醒 -->
<lcb-msg isShow="{{isShowReport}}">
<view slot="content">
<view class="pt40 pl40 pr40">
<view class="font-36 text-center">调拨提醒</view>
<view class="mt10 font-22 text-center color-999">您有新的车辆调拨,需要您进行确认操作。</view>
<swiper class='wp100' style="height:550rpx;" autoplay circular bindchange="bannerChange">
<swiper-item class="relative" wx:for="{{remindMsg}}" wx:key="index">
<view class="pt40 pl40 pr40">
<view class="font-36 text-center">{{item.title}}</view>
<view class="mt10 font-22 text-center color-999">{{item.content}}</view>
</view>
<view class="mt20 pl40 pr40 pb40">
<image class='wp100 ulib-r10' src='{{item.img}}' mode='widthFix'></image>
</view>
<view class="fn-flex pl60 pr60 pb50 text-center font-32 color-666">
<button bindtap="optShowReport" class="fn-flex-item mr20 bds-2-36afa2 btn-no-bg wp100 font-28 color-36afa2 ulib-r750">取消</button>
<button bindtap="pushLink" data-url="{{item.btn.url}}" class="fn-flex-item ml20 btn-36afa2 wp100 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover">{{item.btn.title}}</button>
</view>
</swiper-item>
</swiper>
<view class="absolute left-0 right-0 bottom-0 pb20 text-center" style='height:30rpx' wx:if="{{remindMsg.length > 1}}">
<block wx:for-items="{{remindMsg}}" wx:for-index="j" wx:key='j'>
<view class="inline-block indicator-pin {{banneractive==j?'active':''}}"></view>
</block>
</view>
<view class="mt20 pl40 pr40 pb40">
<image class='wp100 ulib-r10' src='{{imgUrl}}allot/car.gif' mode='widthFix'></image>
</view>
</lcb-msg>
<!-- 库存提醒 -->
<lcb-msg isShow="{{!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>
<view class="relative">
<swiper class='wp100' style="height:420rpx;" autoplay circular bindchange="bannerChange3">
<swiper-item class="relative" wx:for="{{warning.list}}" wx:key="index">
<view class="mt40 fn-clear">
<view class="fn-fl">
<view class="font-36">{{item.title}}</view>
<view class="mt10 font-22 color-666">{{item.vin}}</view>
</view>
<view class="fn-fr pt5 pb5 pl20 pr20 bg-f9394d font-22 color-fff ulib-r750">{{item.days}}</view>
</view>
<view class="mt10 pb10">
<image class='wp100' src='{{item.img}}' mode='widthFix'></image>
</view>
</swiper-item>
</swiper>
<view class="absolute left-0 right-0 bottom-0 pb20 text-center" style='height:30rpx' wx:if="{{warning.list.length > 1}}">
<block wx:for-items="{{warning.list}}" wx:for-index="j" wx:key='j'>
<view class="inline-block indicator-pin {{banneractive3==j?'active':''}}"></view>
</block>
</view>
</view>
<view class="fn-flex pl60 pr60 pb50 text-center font-32 color-666">
<button bindtap="optShowReport" class="fn-flex-item mr20 bds-2-36afa2 btn-no-bg wp100 font-28 color-36afa2 ulib-r750">取消</button>
<button bindtap="pushLink" data-url="/pages/allot/list/index" class="fn-flex-item ml20 btn-36afa2 wp100 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover">前往操作</button>
<view class="fn-flex pl60 pr60 pb20 text-center font-32 color-666">
<button bindtap="optShowGoods" class="fn-flex-item mr20 bds-2-36afa2 btn-no-bg wp100 font-28 color-36afa2 ulib-r750">取消</button>
<button bindtap="pushLink" data-url="/pages/inventory/warning/index" class="fn-flex-item ml20 btn-36afa2 wp100 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover">点击查看</button>
</view>
</view>
</lcb-msg>
+9 -1
View File
@@ -1,4 +1,12 @@
.bg-1c89fd-8058fe{background-image:linear-gradient(45deg, #1c89fd, #8058fe);}
.bg-fe606c-ff9026{background-image:linear-gradient(45deg, #fe606c, #ff9026); text-align: center;}
.bg-ffedeb{background-color:#ffedeb;}
.color-ff4a3a{color:#ff4a3a;}
.color-ff4a3a{color:#ff4a3a;}
.indicator-pin{width:20rpx;height:6rpx;display:inline-block;background-color:#ddd;cursor:pointer;transition:all .3s ease-in-out;-ms-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out;-webkit-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;margin:0 6rpx;vertical-align:top}
.indicator-pin.active{background-color:#36afa2;}
.indicator-pin2{width:20rpx;height:6rpx;display:inline-block;background-color:#fad6c9;cursor:pointer;transition:all .3s ease-in-out;-ms-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out;-webkit-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;margin:0 6rpx;vertical-align:top}
.indicator-pin2.active{background-color:#f9394d;}
.peg-tip{top:-7rpx;}
+174
View File
@@ -0,0 +1,174 @@
import _ from '../../../commons/js/commons'
const app = getApp()
Page({
data: {
imgUrl:_.config.imgUrl,
isShowTransfer:false,//是否显示确认弹窗
car_img:[],//请上传运输单
id:'',//查看id
mileage:'',//里程数
note:'',//备注
},
onLoad: function (options) {
for (let key in options) {
this.setData({
[key]: options[key]
})
}
this.getAppInventory()
},
onShow: function () {
},
//获取订单详情
getAppInventory(){
let params = {};
if(this.data.id != ''){
params['id'] = this.data.id;
}
_.apiQuery.getAppInventory(params).then(res=>{
this.setData({
info:res.data,
car_img:res.data.car_img,
mileage:res.data.mileage?res.data.mileage:'',
note:res.data.note?res.data.note:'',
})
wx.stopPullDownRefresh()
})
},
//选择图片
chooseImg(e) {
let that = this
wx.chooseImage({
count: 1,
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success(res1) {
wx.showLoading({
title: '图片上传中',
})
wx.uploadFile({
url: _.config.api.upImg,
filePath: res1.tempFilePaths[0],
name: 'img',
formData: {
'app': 'liche'
},
success(res) {
setTimeout(function () {
wx.hideLoading()
}, 500);
let imgdata = JSON.parse(res.data)
that.setData({
['car_img['+e.currentTarget.dataset.index+'].src']:imgdata.data.full_url,
['car_img['+e.currentTarget.dataset.index+'].value']:imgdata.data.url,
})
},
fail(res) {
wx.hideLoading()
wx.showToast({
title: res.data.msg,
icon: 'none',
duration: 2000
})
}
})
},
fail: res => {
wx.showToast({
title: '文件选择失败',
icon: 'none',
duration: 2000
})
}
})
},
//显示报备异常弹框
optShowReport(e){
this.setData({
isShowReport:!this.data.isShowReport,
photos:[],
note:'',
optid:e.currentTarget.dataset.id?e.currentTarget.dataset.id:'',
})
},
//推送链接
pushLink(e){
if(e.currentTarget.dataset.url){
_.$router.openUrlScheme(e.currentTarget.dataset.url)
}
},
//确认盘点信息
postAppInventory() {
let that = this
if (that.data.mileage == ''){
wx.showToast({
title: '请填定里程数',
icon: 'none'
})
}else{
that.setData({
submitFlag: true,
})
let params = {};
params['id'] = that.data.id;
params['car_img'] = that.data.car_img;
params['mileage'] = that.data.mileage;
if(that.data.note){
params['note'] = that.data.note;
}
_.apiQuery.postAppInventory(params).then(res => {
let pages = getCurrentPages();
let prevPage = null; //上一个页面
if (pages.length >= 2) {
prevPage = pages[pages.length - 2]; //上一个页面
if(prevPage.route == 'pages/inventory/list/index'){
prevPage.onPullDownRefresh()
}
}
that.onPullDownRefresh()
that.setData({
submitFlag: false,
})
wx.showModal({
title: '操作成功',
content: '',
confirmText: "返回",
confirmColor: "#36afa2",
showCancel:false,
success(res) {
if (res.confirm) {
wx.navigateBack({
delta: 1
})
}
}
})
}).catch(res=>{
that.setData({
submitFlag: false,
})
});
}
},
//页面相关事件处理函数--监听用户下拉动作
onPullDownRefresh(){
this.getAppInventory()
},
})
+6
View File
@@ -0,0 +1,6 @@
{
"navigationBarTitleText": "盘点详情",
"usingComponents": {
}
}
+60
View File
@@ -0,0 +1,60 @@
<view class="container">
<view class="inner30 {{info.status==1?'pb200':'pb100'}}">
<view class="relative bg-fff ulib-r10 box-shadow-000-10-10">
<view class="inner40">
<view class="font-40">{{info.biz_name}}</view>
<view class="mt10 pb10">
<image class='wp100' src='{{info.car_cor_img}}' mode='widthFix'></image>
</view>
<block wx:for="{{info.other_data}}" wx:key='i'>
<view class="mt25 fn-clear font-28 color-666">
<view class="fn-fl">{{item.title}}</view>
<view class="fn-fr wp60 text-right" wx:if="{{item.list}}">
<block wx:for="{{item.list}}" wx:for-item="it" wx:key='i'>
<text class="inline-block ml5 mr5 pl10 pr10 bg-999 font-22 color-fff ulib-r750">{{it}}</text>
</block>
</view>
<view class="fn-fr wp60 text-nowrap text-right" wx:elif="{{item.value}}">{{item.value}}</view>
</view>
</block>
</view>
<view class="pb40">
<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" 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"></i>
<view class="absolute left-0 right-0 box-middle color-ccc">
<image class='img-190x175 ulib-r10' src='{{item.src}}' mode='aspectFill'></image>
</view>
</view>
<view class="mt10 font-24 color-666">{{item.title}}</view>
</view>
<view class="inline-block ml10 mr10 text-center ulib-r10 overflowhidden" bindtap="chooseImg" data-index="{{index}}" wx:else>
<view class="bg-f8 img-190x175 relative ulib-r10">
<view class="absolute left-0 right-0 box-middle color-ccc">
<i class="iconfont icon-paizhao font-48"></i>
<view class="mt5 font-22">上传{{item.title}}</view>
</view>
</view>
<view class="mt10 font-24 color-666">{{item.title}}</view>
</view>
</block>
</view>
<view class="relative mt30 pl40 pr100">
<input class="wp100 pl20 pr20 bds-1-eb font-28 ulib-r10" placeholder-class="color-ccc" placeholder="请填写里程数" type="digit" style="height:70rpx;" model:value='{{mileage}}'/>
<view class="absolute box-middle right-0 pr40 font-26 color-666">km</view>
</view>
<view class="relative mt30 pl40 pr40">
<textarea class="wp100 inner20 bds-1-eb font-28 ulib-r10" placeholder-class="color-ccc" placeholder="请填写备注" type="text" style="height:120rpx;" model:value='{{note}}' />
</view>
<view class="mt40 pl40 pr40">
<button disabled="{{submitFlag}}" bindtap="postAppInventory" class="btn-36afa2 wp100 pt10 pb10 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover">确定</button>
</view>
</view>
</view>
<view class="mt30 font-24 color-999"><i class="mr5 iconfont icon-tishi"></i>请盘点以上对应信息。</view>
</view>
</view>
+1
View File
@@ -0,0 +1 @@
/* pages/allot/detail/index.wxss */
+161
View File
@@ -0,0 +1,161 @@
import _ from '../../../commons/js/commons'
const app = getApp()
Page({
data: {
list: [],//客户列表
pageNo: 1,
noData: false,
end: false,
load: true,
loading: false,
flag:1,
s_date:'',
e_date:'',
tabs_id:'',//分类 1进行中2已完成
tab:[],
channel:'',//是否来自渠道
},
onLoad: function (options) {
for (let key in options) {
this.setData({
[key]: options[key]
})
}
if(this.data.title){
wx.setNavigationBarTitle({
title:this.data.title,
})
}
this.getAppInventoryTabs()
},
//tab
getAppInventoryTabs() {
_.apiQuery.getAppInventoryTabs().then(res => {
this.setData({
tab:res.data,
tabs_id:this.data.tabs_id==''?res.data[0].id:this.data.tabs_id,
})
this.getAppInventoryLists()
wx.stopPullDownRefresh()
});
},
//切换tab
changeTab(e){
this.setData({
tabs_id: this.data.tab[e.currentTarget.dataset.index].id,
})
this.searchSubmit()
},
//获取客户列表
getAppInventoryLists() {
this.setData({
load: false,
loading: true,
})
let params = {};
params['page'] = this.data.pageNo;
params['size'] = 10;
if(this.data.channel != ''){
params['channel'] = this.data.channel;
}
if(this.data.tabs_id != ''){
params['tabs_id'] = this.data.tabs_id;
}
if(this.data.s_date != ''){
params['s_date'] = this.data.s_date;
}
if(this.data.e_date != ''){
params['e_date'] = this.data.e_date;
}
_.apiQuery.getAppInventoryLists(params).then(res => {
this.setData({
flag: this.data.flag - 1
})
if (!this.data.flag) {
this.setData({
pageNo: this.data.pageNo + 1,
list: this.data.list.concat(res.data.list),
load: true,
loading: false,
})
if (res.data.total == 0) {
this.setData({
noData: true
})
} else if (this.data.list.length == res.data.total) {
this.setData({
end: true
})
}
}
wx.stopPullDownRefresh()
});
},
//提交搜索
searchSubmit(){
this.setData({
list: [],
pageNo: 1,
noData: false,
end: false,
load: true,
loading: false,
flag: this.data.flag + 1
})
this.getAppInventoryLists()
},
//建卡时间
startDate(e){
this.setData({
s_date: e.detail.value,
})
},
//建卡时间
endDate(e){
this.setData({
e_date: e.detail.value,
})
},
//推送链接
pushLink(e){
if(e.currentTarget.dataset.url){
_.$router.openUrlScheme(e.currentTarget.dataset.url)
}
},
//页面相关事件处理函数--监听用户下拉动作
onPullDownRefresh(){
this.setData({
list: [],
pageNo: 1,
noData: false,
end: false,
load: true,
loading: false,
flag: this.data.flag + 1
})
this.getAppInventoryLists()
},
//页面上拉触底事件的处理函数
onReachBottom(){
if (this.data.noData || this.data.end||!this.data.load) return;
this.setData({
flag: this.data.flag + 1
})
this.getAppInventoryLists()
},
})
+6
View File
@@ -0,0 +1,6 @@
{
"navigationBarTitleText": "盘点列表",
"usingComponents": {
}
}
+65
View File
@@ -0,0 +1,65 @@
<view class="container">
<view>
<view style="padding-top:110rpx"></view>
<view class="fixed top-0 left-0 right-0 bg-fff z-index-1">
<view class="fn-flex mt5 pl100 pr100 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 {{tabs_id == item.id?'active color-36afa2':''}}" data-index="{{index}}" 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>
<view class="pl20 inline-block"></view>
<block wx:for='{{tab}}' wx:key='list'>
<view class="pl20 pr20 tabmenu2 {{tabs_id == item.id?'active color-36afa2':''}}" data-index="{{index}}" bindtap="changeTab" >
<view class="relative">{{item.name}}</view>
</view>
</block>
<view class="pl40 inline-block"></view>
</scroll-view>
</view>
</view>
<view class="pl30 relative text-center font-22">
<view class="inline-block text-middle pt10 pb10 bg-f6 ulib-r750" style="width:240rpx;">
<picker mode="date" value="{{s_date}}" bindchange="startDate">
<text class="color-ccc" wx:if="{{s_date == ''}}">请选择</text>
<text wx:else>{{s_date}}</text>
</picker>
</view>
<view class="inline-block text-middle pt10 pb10 pl10 pr10">-</view>
<view class="wp33 inline-block text-middle pt10 pb10 bg-f6 ulib-r750" style="width:240rpx;">
<picker mode="date" value="{{e_date}}" bindchange="endDate">
<text class="color-ccc" wx:if="{{e_date == ''}}">请选择</text>
<text wx:else>{{e_date}}</text>
</picker>
</view>
<view bindtap="searchSubmit" class="inline-block text-middle ml10 pt10 pb10 bg-333 color-fff ulib-r750" style="width:140rpx;">搜索</view>
</view>
<view class="mt30 pl30 pr30 pb50">
<block wx:for='{{list}}' wx:key='index'>
<view class="inner40 relative ulib-r10 box-shadow-000-10-10 mb30 overflowhidden" bindtap="pushLink" data-url="/pages/inventory/detail/index?id={{item.id}}">
<view class="relative {{tabs_id == 1?'pr150':''}}">
<view class="font-40" wx:if="{{item.biz_name}}">{{item.biz_name}}</view>
<view class="absolute box-middle right-0 pt5 pb5 pl15 pr15 bg-f9394d font-26 color-fff ulib-r10" wx:if="{{tabs_id == 1}}">立即盘点</view>
</view>
<view class="mt10 pb10">
<image class='wp100' src='{{item.car_cor_img}}' mode='widthFix'></image>
</view>
<block wx:for="{{item.other_data}}" wx:for-index='key' wx:for-item='it' wx:key='i'>
<view class="mt25 fn-clear font-28">
<view class="fn-fl color-333">{{it.title}}</view>
<view class="fn-fr wp60 text-nowrap text-right color-666">{{it.value}}</view>
</view>
</block>
<view class="mt20 pt5 pb5 pl20 pr20 bg-f6 font-22 color-666 ulib-rlb750 ulib-rr750" wx:if="{{item.c_time}}">{{item.c_time}}</view>
</view>
</block>
<lcb-listmore isLoading='{{loading}}' isEnd='{{end}}' isNoData='{{noData}}'></lcb-listmore>
</view>
</view>
+3
View File
@@ -0,0 +1,3 @@
.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;}
+86
View File
@@ -0,0 +1,86 @@
import _ from '../../../commons/js/commons'
const app = getApp()
Page({
data: {
list: [],//库存列表
pageNo: 1,
noData: false,
end: false,
load: true,
loading: false,
},
onLoad: function (options) {
for (let key in options) {
this.setData({
[key]: options[key]
})
}
if(this.data.title){
wx.setNavigationBarTitle({
title:this.data.title,
})
}
this.getAppGoodsLists()
},
//获取库存列表
getAppGoodsLists() {
this.setData({
load: false,
loading: true,
})
let params = {};
params['page'] = this.data.pageNo;
params['size'] = 10;
_.apiQuery.getAppGoodsLists(params).then(res => {
this.setData({
flag: this.data.flag - 1
})
this.setData({
pageNo: this.data.pageNo + 1,
list: this.data.list.concat(res.data.list),
load: true,
loading: false,
})
if (res.data.total == 0) {
this.setData({
noData: true
})
} else if (this.data.list.length == res.data.total) {
this.setData({
end: true
})
}
wx.stopPullDownRefresh()
});
},
//推送链接
pushLink(e){
if(e.currentTarget.dataset.url){
_.$router.openUrlScheme(e.currentTarget.dataset.url)
}
},
//页面相关事件处理函数--监听用户下拉动作
onPullDownRefresh(){
this.setData({
list: [],
pageNo: 1,
noData: false,
end: false,
load: true,
loading: false,
})
this.getAppGoodsLists()
},
//页面上拉触底事件的处理函数
onReachBottom(){
if (this.data.noData || this.data.end||!this.data.load) return;
this.getAppGoodsLists()
},
})
+6
View File
@@ -0,0 +1,6 @@
{
"navigationBarTitleText": "库存列表",
"usingComponents": {
}
}
+22
View File
@@ -0,0 +1,22 @@
<view class="container">
<view class="mt30 pl30 pr30 pb50">
<block wx:for='{{list}}' wx:key='index'>
<view class="inner40 relative ulib-r10 box-shadow-000-10-10 mb30 overflowhidden">
<view class="font-40" wx:if="{{item.title}}">{{item.title}}</view>
<view class="mt10 pb10">
<image class='wp100' src='{{item.car_cor_img}}' mode='widthFix'></image>
</view>
<block wx:for="{{item.other_data}}" wx:for-index='key' wx:for-item='it' wx:key='i'>
<view class="mt25 fn-clear font-28">
<view class="fn-fl color-333">{{it.title}}</view>
<view class="fn-fr wp60 text-nowrap text-right color-666" style="{{it.color?'color:'+it.color:''}}">{{it.value}}</view>
</view>
</block>
</view>
</block>
<lcb-listmore isLoading='{{loading}}' isEnd='{{list.length>5&&end}}' isNoData='{{noData}}'></lcb-listmore>
</view>
</view>
View File
+1 -1
View File
@@ -1,7 +1,7 @@
<view class="container">
<view hidden="{{!pageshow}}">
<view class='pt100 text-center'>
<image class='img-140x140 ulib-r750' mode="aspectFill" src='{{imgUrl}}/login/logo.jpg'></image>
<image class='img-140x140 ulib-r750' mode="aspectFill" src='{{imgUrl}}/login/logo.jpg?v=220223'></image>
<view class='mt10 font-32 color-fff'>狸车宝</view>
</view>
<view class='pt30 pb30 pl90 pr90 relative z-index-4'>
+20 -1
View File
@@ -6,6 +6,7 @@ Page({
isShowAddStaff:false,
name:'',
mobile:'',
isShowProfile:true,//是否显示授权用户信息按钮
},
onLoad: function (options) {
@@ -46,7 +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',
},
]
}
@@ -65,10 +70,24 @@ Page({
}
}
})
//消息通讯 是否显示授权用户信息按钮
_.eventBus.on("isShowProfile", this, function(res){
this.setData({
isShowProfile:res,
})
})
},
onShow: function () {
},
//生命周期函数--监听页面卸载
onUnload: function () {
//卸载消息通讯 是否显示授权用户信息
_.eventBus.remove('isShowProfile',this);
},
//获取用户信息
getUserInfo(){
+3 -3
View File
@@ -2,12 +2,12 @@
<view class="inner30 img-top-cover" style="background-image:url({{imgUrl}}mine/mine-bg2.png);">
<view class="wp100 pt5 pb5 bg-fff img-fill-cover box-shadow-000-10-10 ulib-r10" style="background-image:url({{imgUrl}}mine/theme.jpg);">
<view class="relative inner40">
<view class="img-135x135 bds-1-eb ulib-r750 overflowhidden">
<open-data type="userAvatarUrl"></open-data>
<image class='img-135x135 bds-1-eb ulib-r750 overflowhidden' mode="aspectFill" src="{{userInfo.headimg||imgUrl+'common/default-head.jpg'}}" lazy-load="{{true}}"></image>
<view class="absolute top-0 bottom-0 left-0 right-0 opacity-0 mt50 mr150 z-index-4">
<lcb-auth type="userinfo" isShowProfile="{{isShowProfile}}" bind:onSuccess="getUserInfo"></lcb-auth>
</view>
<view class="absolute left-0 right-0 box-middle pl200">
<view class="text-bold font-32">
<!-- <open-data type="userNickName"></open-data> -->
{{userInfo.uname}}
<text class="font-22 color-666" wx:if="{{userInfo.group_name}}">({{userInfo.group_name}})</text>
</view>
+14
View File
@@ -4,6 +4,7 @@ Page({
data: {
imgUrl:_.config.imgUrl,
list:[],
isShowProfile:true,//是否显示授权用户信息按钮
},
onLoad: function (options) {
@@ -14,11 +15,24 @@ Page({
}
this.getUserInfo()
//消息通讯 是否显示授权用户信息按钮
_.eventBus.on("isShowProfile", this, function(res){
this.setData({
isShowProfile:res,
})
})
},
onShow: function () {
},
//生命周期函数--监听页面卸载
onUnload: function () {
//卸载消息通讯 是否显示授权用户信息
_.eventBus.remove('isShowProfile',this);
},
//获取用户信息
getUserInfo(){
_.apiQuery.getUserInfo().then(res => {
+3 -3
View File
@@ -3,12 +3,12 @@
<view class="wp100 pt5 pb5 bg-fff img-fill-cover box-shadow-000-10-10 ulib-r10" style="background-image: url({{imgUrl}}mine/theme.jpg);">
<view class="relative inner40">
<view class="img-135x135 bds-1-eb ulib-r750 overflowhidden">
<open-data type="userAvatarUrl"></open-data>
<image class='img-135x135 bds-1-eb ulib-r750 overflowhidden' mode="aspectFill" src="{{userInfo.headimg||imgUrl+'common/default-head.jpg'}}" lazy-load="{{true}}"></image>
<view class="absolute top-0 bottom-0 left-0 right-0 opacity-0 mt50 mr150 z-index-4">
<lcb-auth type="userinfo" isShowProfile="{{isShowProfile}}" bind:onSuccess="getUserInfo"></lcb-auth>
</view>
<view class="absolute left-0 right-0 box-middle pl200">
<view class="text-bold font-32">
<!-- <open-data type="userNickName"></open-data> -->
{{userInfo.uname}}
<text class="font-22 color-666" wx:if="{{userInfo.group_name}}">({{userInfo.group_name}})</text>
</view>
+14
View File
@@ -12,6 +12,7 @@ Page({
end: false,
load: true,
loading: false,
isShowProfile:true,//是否显示授权用户信息按钮
},
onLoad: function (options) {
for (let key in options) {
@@ -21,11 +22,24 @@ Page({
}
this.getUserInfo()
//消息通讯 是否显示授权用户信息按钮
_.eventBus.on("isShowProfile", this, function(res){
this.setData({
isShowProfile:res,
})
})
},
onShow: function () {
this.getAppEmployees()
},
//生命周期函数--监听页面卸载
onUnload: function () {
//卸载消息通讯 是否显示授权用户信息
_.eventBus.remove('isShowProfile',this);
},
//获取用户信息
getUserInfo(){
_.apiQuery.getUserInfo().then(res => {
+4 -4
View File
@@ -3,12 +3,12 @@
<view class="wp100 pt5 pb5 bg-fff img-fill-cover box-shadow-000-10-10 ulib-r10" style="background-image: url({{imgUrl}}mine/theme.jpg);">
<view class="relative inner40">
<view class="img-135x135 bds-1-eb ulib-r750 overflowhidden">
<open-data type="userAvatarUrl"></open-data>
<image class='img-135x135 bds-1-eb ulib-r750 overflowhidden' mode="aspectFill" src="{{userInfo.headimg||imgUrl+'common/default-head.jpg'}}" lazy-load="{{true}}"></image>
<view class="absolute top-0 bottom-0 left-0 right-0 opacity-0 mt50 mr150 z-index-4">
<lcb-auth type="userinfo" isShowProfile="{{isShowProfile}}" bind:onSuccess="getUserInfo"></lcb-auth>
</view>
<view class="absolute left-0 right-0 box-middle pl200">
<view class="text-bold font-32">
<!-- <open-data type="userNickName"></open-data> -->
{{userInfo.uname}}
<text class="font-22 color-666" wx:if="{{userInfo.group_name}}">({{userInfo.group_name}})</text>
</view>
@@ -34,7 +34,7 @@
<block wx:for="{{list}}" wx:key='index'>
<view class="relative pt30 pb30 pr250 bbs-1-eb last-b-none {{item.status==1?'':'opacity-50'}}">
<view class="text-nowrap">
<image class='img-50x50 bds-1-eb ulib-r750 text-middle' lazy-load="{{true}}" mode="scaleToFill" src="{{imgUrl}}common/default-head.jpg"></image>
<image class='img-50x50 bds-1-eb ulib-r750 text-middle' lazy-load="{{true}}" mode="scaleToFill" src="{{imgUrl}}common/default-head.jpg?v=220223"></image>
<text class="pl10 text-middle font-28">{{item.uname}}</text>
<text class="pl10 text-middle font-28">{{item.mobile}}</text>
</view>
+1 -134
View File
@@ -98,7 +98,6 @@ Page({
})
}
this.getAppLoan()
if(!this.data.isChangePayway){
this.getAppServicesPackage()
}
@@ -159,43 +158,7 @@ Page({
})
},
//获取贷款产品信息
getAppLoan(){
let params = {};
params['id'] = this.data.id;
_.apiQuery.getAppLoan(params).then(res=>{
this.setData({
loanSource:res.data,
money:res.data.first_price,
})
if(this.data.info.loan_status == 1 && this.data.info.loan_data.id){
if(this.data.info.loan_data.bank != ''){
this.data.loanSource.banks.forEach((item,index) => {
if(item == this.data.info.loan_data.bank){
this.setData({
banksIndex:index,
})
}
})
}
if(this.data.info.loan_data.year != 0){
this.data.loanSource.years.forEach((item,index) => {
if(item == this.data.info.loan_data.year){
this.setData({
yearsIndex:index,
})
}
})
}
}
})
},
//获取代办包
getAppServicesPackage(){
@@ -368,102 +331,6 @@ Page({
}
},
//创建贷款信息
postAppLoan() {
let that = this
if (that.data.banksIndex == -1 ) {
wx.showToast({
title: '请选择分期产品',
icon: 'none'
})
}else if(that.data.yearsIndex == -1 ){
wx.showToast({
title: '请选择分期年限',
icon: 'none'
})
}
// else if(that.data.money == '' ){
// wx.showToast({
// title: '请填写贷款金额',
// icon: 'none'
// })
// }
else{
that.setData({
submitFlag: true,
})
let params = {};
params['oid'] = that.data.id;
params['bank'] = that.data.loanSource.banks[that.data.banksIndex];
params['year'] = that.data.loanSource.years[that.data.yearsIndex];
params['money'] = that.data.money;
_.apiQuery.postAppLoan(params).then(res => {
this.setData({
submitFlag: false,
})
this.getAppCusorderDetails()
wx.showToast({
title: '保存成功',
icon: 'success'
})
}).catch(res=>{
this.setData({
submitFlag: false,
})
});
}
},
//修改贷款信息
putAppLoan() {
let that = this
if (that.data.banksIndex == -1 ) {
wx.showToast({
title: '请选择分期产品',
icon: 'none'
})
}else if(that.data.yearsIndex == -1 ){
wx.showToast({
title: '请选择分期年限',
icon: 'none'
})
}
// else if(that.data.money == '' && that.data.info.loan_data.money == '0.00'){
// wx.showToast({
// title: '请填写贷款金额',
// icon: 'none'
// })
// }
else{
that.setData({
submitFlag: true,
})
let params = {};
params['id'] = that.data.info.loan_data.id;
params['bank'] = that.data.loanSource.banks[that.data.banksIndex];
params['year'] = that.data.loanSource.years[that.data.yearsIndex];
params['money'] = that.data.money || that.data.info.loan_data.money;
_.apiQuery.putAppLoan(params).then(res => {
this.setData({
submitFlag: false,
})
this.getAppCusorderDetails()
wx.showToast({
title: '修改成功',
icon: 'success'
})
}).catch(res=>{
this.setData({
submitFlag: false,
})
});
}
},
//选择图片
chooseImg(e) {
this.setData({
+42 -45
View File
@@ -22,7 +22,7 @@
<view class="mt40 fn-clear">
<view class="fn-fl pt10 font-32">车辆信息</view>
<view class="fn-fr">
<button bindtap="{{info.edit_status==1?'pushLink':''}}" data-url="/pages/order/edit/index?id={{id}}" class="inline-block font-22 color-fff ulib-r10 {{info.edit_status==1?'btn-36afa2':'bg-999'}}" hover-class="btn-36afa2-hover"><i class="iconfont icon-dengji mr10"></i>编辑</button>
<button bindtap="{{info.edit_status==1?'pushLink':''}}" data-url="/pages/order/edit/index?id={{id}}" class="inline-block font-22 color-fff ulib-r10 {{info.edit_status==1?'btn-36afa2':'bg-999'}}" hover-class="btn-36afa2-hover"><i class="iconfont icon-dengji mr10"></i>修改</button>
</view>
</view>
<block wx:for="{{info.car_data}}" wx:for-index='key' wx:for-item='value' wx:key='i'>
@@ -118,38 +118,43 @@
</view>
<!--交付随车信息-->
<view class="mt30 pl30" wx:if="{{info.ckcar_status == 1}}">
<view>
<view class="bts-1-eb mr30 pt30 pb20 font-28 color-333">随车资料</view>
<view class="pb10 fn-clear">
<checkbox-group bindchange="changeMaterial">
<block wx:for="{{carInfoList}}" wx:key='index'>
<label class="fn-fl block mb20 relative inner30 pr80 bg-f6 font-28 ulib-r10 mr20">
<text>{{item.title}}</text>
<checkbox class="absolute right-0 box-middle mr15" value="{{item.title}}" checked="{{item.checked}}"/>
</label>
</block>
</checkbox-group>
<block wx:if="{{info.ckcar_status == 1}}">
<view class="mt30 pl30">
<view>
<view class="bts-1-eb mr30 pt30 pb20 font-28 color-333">随车资料</view>
<view class="pb10 fn-clear">
<checkbox-group bindchange="changeMaterial">
<block wx:for="{{carInfoList}}" wx:key='index'>
<label class="fn-fl block mb20 relative inner30 pr80 bg-f6 font-28 ulib-r10 mr20">
<text>{{item.title}}</text>
<checkbox class="absolute right-0 box-middle mr15" value="{{item.title}}" checked="{{item.checked}}"/>
</label>
</block>
</checkbox-group>
</view>
</view>
<view>
<view class="bts-1-eb mr30 pt30 pb20 font-28 color-333">随车工具</view>
<view class="pb10 fn-clear">
<checkbox-group bindchange="changeTool">
<block wx:for="{{carToolList}}" wx:key='index'>
<label class="fn-fl block mb20 relative inner30 pr80 bg-f6 font-28 ulib-r10 mr20">
<text>{{item.title}}</text>
<checkbox class="absolute right-0 box-middle mr15" value="{{item.title}}" checked="{{item.checked}}"/>
</label>
</block>
</checkbox-group>
</view>
</view>
<view class="pr30">
<view class="bts-1-eb pt30 pb20 font-28 color-333">补充说明</view>
<textarea class="wp100 inner20 bds-1-eb font-28 ulib-r10" style="height:120rpx;" placeholder-class="color-ccc" maxlength='140' placeholder="请输入补充说明" model:value="{{remark}}" />
</view>
</view>
<view>
<view class="bts-1-eb mr30 pt30 pb20 font-28 color-333">随车工具</view>
<view class="pb10 fn-clear">
<checkbox-group bindchange="changeTool">
<block wx:for="{{carToolList}}" wx:key='index'>
<label class="fn-fl block mb20 relative inner30 pr80 bg-f6 font-28 ulib-r10 mr20">
<text>{{item.title}}</text>
<checkbox class="absolute right-0 box-middle mr15" value="{{item.title}}" checked="{{item.checked}}"/>
</label>
</block>
</checkbox-group>
</view>
<view class="mt50 pl60 pr60 pb20">
<button class="wp100 btn-36afa2 pt10 pb10 text-center font-32 color-fff ulib-r750" hover-class="btn-36afa2-hover" disabled="{{submitFlag}}" bindtap="putAppCusorderCkcar">确认随车物品</button>
</view>
<view class="pr30">
<view class="bts-1-eb pt30 pb20 font-28 color-333">补充说明</view>
<textarea class="wp100 inner20 bds-1-eb font-28 ulib-r10" style="height:120rpx;" placeholder-class="color-ccc" maxlength='140' placeholder="请输入补充说明" model:value="{{remark}}" />
</view>
</view>
</block>
<view class="pt30 pl30 pr30" wx:if="{{info.ckcar_status == 0&&info.ckcar_data.info.length>0}}">
<view class="relative bts-1-eb bbs-1-eb pl140 font-28">
<view class="absolute left-0 box-middle font-28 color-333">随车资料</view>
@@ -262,16 +267,7 @@
</view>
</block>
</view>
<view class="mt60 pl60 pr60" wx:if="{{info.loan_status == -10000}}"><!--210909不显示-->
<button class="wp100 btn-36afa2 pt10 pb10 text-center font-32 color-fff ulib-r750" hover-class="btn-36afa2-hover" disabled="{{submitFlag}}" bindtap="{{info.loan_data.id?'putAppLoan':'postAppLoan'}}">{{info.loan_data.id?'修改信息':'保存信息'}}</button>
</view>
<!-- <view class="mt60 pl60 pr60" wx:elif="{{info.bill_status == 1}}">
<button class="wp100 btn-36afa2 pt10 pb10 text-center font-32 color-fff ulib-r750" hover-class="btn-36afa2-hover" disabled="{{submitFlag}}" bindtap="{{info.bill_data.id?'putAppIdcard':'postAppIdcard'}}">更新信息</button>
</view> -->
<view class="mt60 pl60 pr60" wx:elif="{{info.ckcar_status == 1}}">
<button class="wp100 btn-36afa2 pt10 pb10 text-center font-32 color-fff ulib-r750" hover-class="btn-36afa2-hover" disabled="{{submitFlag}}" bindtap="putAppCusorderCkcar">确认随车物品</button>
</view>
</view>
<view class="mt40 pt20 pl30 pr30 pb40 bg-000-op80 fn-flex">
<button bindtap="optShowCode" 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-qianming"></i>邀请签名</button>
@@ -324,7 +320,7 @@
<lcb-msg isShow="{{isShowCode}}">
<view slot="content">
<block wx:if="{{nextCode}}">
<!-- <block wx:if="{{nextCode}}">
<view class="inner40">
<view class="font-36 text-center">扫码生成合同</view>
<view class="pt20 text-center">
@@ -335,8 +331,9 @@
<view class="pl60 pr60 pb50 text-center font-32 color-666">
<button bindtap="optShowCode" class="inline-block wp50 btn-36afa2 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover">我知道了</button>
</view>
</block>
<block wx:elif="{{info.status>0}}">
</block> -->
<!-- <block wx:elif="{{info.status>0}}"> -->
<block>
<view class="inner40">
<view class="font-36 text-center">邀请客户扫码签名</view>
<view class="pt20 text-center">
@@ -348,7 +345,7 @@
<button bindtap="optShowCode" class="inline-block wp50 btn-36afa2 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover">我知道了</button>
</view>
</block>
<block wx:else>
<!-- <block wx:else>
<view class="inner40">
<view class="font-36 text-center">邀请客户扫码签名</view>
<view class="pt20 text-center">
@@ -360,7 +357,7 @@
<view class="pl60 pr60 pb50 text-center font-32 color-666 fn-flex">
<view bindtap="optNextCode" class="fn-flex-item bg-36afa2 pt15 pb15 ml20 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover">生成合同</view>
</view>
</block>
</block> -->
</view>
</lcb-msg>
+36 -36
View File
@@ -29,20 +29,20 @@ Page({
brand_id:'',//品牌
brandIndex:-1,//车辆品牌索引
car_id:'',//车系id
modelIndex:-1,//车型车系索引
modelIndex:-1,//车系车型索引
v_id:'',//车型级别id
color_id:'',//车颜色id
v_id:'',//车辆版本id
color_id:'',//车颜色id
incolor_id:'',//内饰颜色id
b_s_id:'',//备选车型id
finance_id:'',//金融机构id
spareIndex:-1,//备选车型索引
colorArray:[],//车颜色列表
levelArray:[],//车型级别列表
colorArray:[],//车颜色列表
levelArray:[],//车辆版本列表
interiorArray:[],//内饰颜色
colorIndex:-1,//车颜色索引
levelIndex:-1,//车型级别索引
colorIndex:-1,//车颜色索引
levelIndex:-1,//车辆版本索引
interiorIndex:-1,//内饰颜色索引
financeArray:[],//金融机构
financeIndex:-1,//金融机构索引
@@ -142,7 +142,7 @@ Page({
modelList:res2.data.list,
})
//匹配车型级别
//匹配车辆版本
if(!!res.data.v_id){
let levelparams = {};
levelparams['id'] = res.data.car_id;
@@ -164,7 +164,7 @@ Page({
levelList:res3.data.list,
})
//匹配车颜色
//匹配车颜色
if(!!res.data.color_id){
let colorparams = {};
colorparams['id'] = res.data.car_id;
@@ -187,7 +187,7 @@ Page({
colorList:res4.data.list,
})
//匹配车颜色
//匹配车颜色
if(!!res.data.incolor_id){
let interiorparams = {};
interiorparams['id'] = res.data.car_id;
@@ -408,17 +408,17 @@ Page({
case 2:
if(this.data.car_id == '' ){
wx.showToast({
title: '请选择车型车系',
title: '请选择车系车型',
icon: 'none'
})
}else if(this.data.v_id == '' ){
wx.showToast({
title: '请选择车型级别',
title: '请选择车辆版本',
icon: 'none'
})
}else if(this.data.color_id == '' ){
wx.showToast({
title: '请选择车颜色',
title: '请选择车颜色',
icon: 'none'
})
}else if(this.data.incolor_id == '' ){
@@ -445,7 +445,7 @@ Page({
icon: 'none'
})
}
else if(this.data.srv_ids.length == 0 && this.data.userInfo.biz_type != 3){
else if(this.data.srv_ids.length == 0 && this.data.userInfo.biz_type == 1){
wx.showToast({
title: '请选择代办内容',
icon: 'none'
@@ -528,7 +528,7 @@ Page({
});
},
//获取车型车
//获取车系车型
getAppSeries(){
let params = {};
params['brand_id'] = this.data.brand_id;
@@ -546,7 +546,7 @@ Page({
});
},
//获取车型级别
//获取车辆版本
getAppSeriesAttrslevel(){
let params = {};
params['id'] = this.data.car_id;
@@ -566,7 +566,7 @@ Page({
});
},
//获取车颜色
//获取车颜色
getAppSeriesAttrscolor(){
let params = {};
params['id'] = this.data.car_id;
@@ -616,17 +616,17 @@ Page({
brand_id:this.data.brandList[e.detail.value].id,
brandIndex:e.detail.value,
car_id:'',//车系id
v_id:'',//车型级别id
color_id:'',//车颜色id
v_id:'',//车辆版本id
color_id:'',//车颜色id
incolor_id:'',//内饰颜色id
b_s_id:'',//备选车型id
modelIndex:-1,//车型车系索引
modelIndex:-1,//车系车型索引
spareIndex:-1,//备选车型索引
colorArray:[],//车颜色列表
levelArray:[],//车型级别列表
colorArray:[],//车颜色列表
levelArray:[],//车辆版本列表
interiorArray:[],//内饰颜色
colorIndex:-1,//车颜色索引
levelIndex:-1,//车型级别索引
colorIndex:-1,//车颜色索引
levelIndex:-1,//车辆版本索引
interiorIndex:-1,//内饰颜色索引
priceinfo:'',
})
@@ -640,16 +640,16 @@ Page({
this.setData({
car_id:this.data.modelList[e.detail.value].id,
modelIndex:e.detail.value,
v_id:'',//车型级别id
color_id:'',//车颜色id
v_id:'',//车辆版本id
color_id:'',//车颜色id
incolor_id:'',//内饰颜色id
b_s_id:'',//备选车型id
spareIndex:-1,//备选车型索引
colorArray:[],//车颜色列表
levelArray:[],//车型级别列表
colorArray:[],//车颜色列表
levelArray:[],//车辆版本列表
interiorArray:[],//内饰颜色
colorIndex:-1,//车颜色索引
levelIndex:-1,//车型级别索引
colorIndex:-1,//车颜色索引
levelIndex:-1,//车辆版本索引
interiorIndex:-1,//内饰颜色索引
priceinfo:'',
})
@@ -657,17 +657,17 @@ Page({
}
},
//车型级别
//车辆版本
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,
color_id:'',//车颜色id
color_id:'',//车颜色id
incolor_id:'',//内饰颜色id
colorArray:[],//车颜色列表
colorArray:[],//车颜色列表
interiorArray:[],//内饰颜色
colorIndex:-1,//车颜色索引
colorIndex:-1,//车颜色索引
interiorIndex:-1,//内饰颜色索引
priceinfo:'',
})
@@ -677,7 +677,7 @@ Page({
}
},
//车颜色
//车颜色
changeColor(e) {
if(this.data.colorIndex != e.detail.value && e.detail.value >= 0){
this.setData({
@@ -855,7 +855,7 @@ Page({
if(that.data.fine_ids.length>0){
params['fine_ids'] = that.data.fine_ids;
}
if(that.data.priceinfo.fine_money){
if(that.data.priceinfo.fine_money && that.data.userInfo.biz_type == 1){
params['if_fine'] = that.data.if_fine?'1':'0';
if(that.data.if_fine&&that.data.disc_fine_money!= ''){
params['disc_fine_money'] = that.data.disc_fine_money;
+76 -72
View File
@@ -23,7 +23,7 @@
</view>
</view>
<view class="relative bbs-1-eb pl190 last-b-none" wx:if="{{brandIndex != -1}}">
<view class="absolute left-0 box-middle font-28 color-333">车型车系<text class="color-f9394d">*</text></view>
<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="changeModel" value="{{modelIndex}}" range="{{modelArray}}">
<text class="color-ccc" wx:if="{{modelIndex == -1}}">请选择</text>
@@ -33,7 +33,7 @@
</view>
</view>
<view class="relative bbs-1-eb pl190 last-b-none" wx:if="{{modelIndex != -1}}">
<view class="absolute left-0 box-middle font-28 color-333">车型级别<text class="color-f9394d">*</text></view>
<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="changeLevel" value="{{levelIndex}}" range="{{levelArray}}">
<text class="color-ccc" wx:if="{{levelIndex == -1}}">请选择</text>
@@ -43,7 +43,7 @@
</view>
</view>
<view class="relative bbs-1-eb pl190 last-b-none" wx:if="{{levelIndex != -1}}">
<view class="absolute left-0 box-middle font-28 color-333">车颜色<text class="color-f9394d">*</text></view>
<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="changeColor" value="{{colorIndex}}" range="{{colorArray}}">
<text class="color-ccc" wx:if="{{colorIndex == -1}}">请选择</text>
@@ -114,53 +114,55 @@
<view class="absolute right-0 box-middle font-28 color-666">元</view>
</view>
</view>
<view class="relative bbs-1-eb last-b-none pl180 font-28" wx:if="{{priceinfo.fine_money}}">
<view class="absolute left-0 box-middle">精品尊享包<text class="ml10 font-24">{{priceinfo.fine_money}}元</text></view>
<view class="relative pt30 pb30 text-right" bindtap="changeFineBag">
<checkbox value="{{if_fine}}" checked="{{if_fine}}"/>
</view>
</view>
<view class="relative bbs-1-eb last-b-none pl180 font-28" wx:if="{{if_fine&&priceinfo.dis_fine_money}}">
<view class="absolute left-0 box-middle">精品优惠</view>
<view class="relative pr40">
<input class="wp100 height-100 text-right font-28" placeholder-class="color-ccc" type="text" placeholder="请输入精品优惠金额" bindinput='inputDiscFine' data-key="disc_fine_money" name='disc_fine_money' value="{{disc_fine_money}}" />
<view class="absolute right-0 box-middle font-28 color-666">元</view>
</view>
</view>
<view class="bbs-1-eb last-b-none">
<view class="relative pl190">
<view class="absolute left-0 box-middle font-28 color-333">代办相关<text class="color-f9394d" wx:if="{{userInfo.biz_type != 3}}">*</text></view>
<view class="pt30 pb30 text-right font-28 color-666">
当前代办费用:<text class="color-f9394d">{{srv_total}}</text>元
<block wx:if="{{userInfo.biz_type == 1}}">
<view class="relative bbs-1-eb last-b-none pl180 font-28" wx:if="{{priceinfo.fine_money}}">
<view class="absolute left-0 box-middle">精品尊享包<text class="ml10 font-24">{{priceinfo.fine_money}}元</text></view>
<view class="relative pt30 pb30 text-right" bindtap="changeFineBag">
<checkbox value="{{if_fine}}" checked="{{if_fine}}"/>
</view>
</view>
<view class="pb10 fn-clear">
<checkbox-group bindchange="changeAgency">
<block wx:for="{{agencyList}}" wx:key='index'>
<label class="fn-fl block mb20 wp31 relative inner30 bg-f6 font-28 ulib-r10 {{(index+1)%3==0?'':'mr20'}}">
<text>{{item.title}}</text>
<checkbox class="absolute right-0 box-middle mr15" value="{{item.id}}" checked="{{item.checked}}"/>
</label>
</block>
</checkbox-group>
</view>
</view>
<view class="bbs-1-eb last-b-none">
<view class="relative pl190">
<view class="absolute left-0 box-middle font-28 color-333">精品赠送</view>
<view class="pt30 pb30 text-right font-28 color-666">
精品价值:<text class="color-f9394d">{{fine_total}}</text>元
<view class="relative bbs-1-eb last-b-none pl180 font-28" wx:if="{{if_fine&&priceinfo.dis_fine_money}}">
<view class="absolute left-0 box-middle">精品优惠</view>
<view class="relative pr40">
<input class="wp100 height-100 text-right font-28" placeholder-class="color-ccc" type="text" placeholder="请输入精品优惠金额" bindinput='inputDiscFine' data-key="disc_fine_money" name='disc_fine_money' value="{{disc_fine_money}}" />
<view class="absolute right-0 box-middle font-28 color-666">元</view>
</view>
</view>
<view class="pb10">
<block wx:for="{{fineList}}" wx:key='index'>
<view class="block mb20 relative inner30 bg-f6 font-28 ulib-r10" bindtap="changeFine" data-index="{{index}}">
<text>{{item.title}}</text>
<checkbox class="absolute right-0 box-middle mr15" value="{{item.id}}" checked="{{item.checked}}"/>
</view>
</block>
<view class="bbs-1-eb last-b-none">
<view class="relative pl190">
<view class="absolute left-0 box-middle font-28 color-333">代办相关<text class="color-f9394d" wx:if="{{userInfo.biz_type != 3}}">*</text></view>
<view class="pt30 pb30 text-right font-28 color-666">
当前代办费用:<text class="color-f9394d">{{srv_total}}</text>元
</view>
</view>
<view class="pb10 fn-clear">
<checkbox-group bindchange="changeAgency">
<block wx:for="{{agencyList}}" wx:key='index'>
<label class="fn-fl block mb20 wp31 relative inner30 bg-f6 font-28 ulib-r10 {{(index+1)%3==0?'':'mr20'}}">
<text>{{item.title}}</text>
<checkbox class="absolute right-0 box-middle mr15" value="{{item.id}}" checked="{{item.checked}}"/>
</label>
</block>
</checkbox-group>
</view>
</view>
</view>
<view class="bbs-1-eb last-b-none">
<view class="relative pl190">
<view class="absolute left-0 box-middle font-28 color-333">精品赠送</view>
<view class="pt30 pb30 text-right font-28 color-666">
精品价值:<text class="color-f9394d">{{fine_total}}</text>元
</view>
</view>
<view class="pb10">
<block wx:for="{{fineList}}" wx:key='index'>
<view class="block mb20 relative inner30 bg-f6 font-28 ulib-r10" bindtap="changeFine" data-index="{{index}}">
<text>{{item.title}}</text>
<checkbox class="absolute right-0 box-middle mr15" value="{{item.id}}" checked="{{item.checked}}"/>
</view>
</block>
</view>
</view>
</block>
</view>
</view>
@@ -180,15 +182,15 @@
<view class="pt30 pb30 text-right font-28 color-666">{{brandArray[brandIndex]}}</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="absolute left-0 box-middle font-28 color-333">车系车型</view>
<view class="pt30 pb30 text-right font-28 color-666">{{modelArray[modelIndex]}}</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="absolute left-0 box-middle font-28 color-333">车辆版本</view>
<view class="pt30 pb30 text-right font-28 color-666">{{levelArray[levelIndex]}}</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="absolute left-0 box-middle font-28 color-333">车颜色</view>
<view class="pt30 pb30 text-right font-28 color-666">{{colorArray[colorIndex]}}</view>
</view>
<view class="relative bbs-1-eb pl190 last-b-none">
@@ -223,34 +225,36 @@
<view class="absolute left-0 box-middle font-28 color-333">车身优惠</view>
<view class="pt30 pb30 text-right font-28 color-f9394d" style="min-height:38rpx;">{{disc_money}}元</view>
</view>
<view class="mt40 font-32">其他信息</view>
<view class="relative bbs-1-eb pl190 last-b-none" wx:if="{{if_fine}}">
<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;">{{priceinfo.fine_money}}元</view>
</view>
<view class="relative bbs-1-eb pl190 last-b-none" wx:if="{{disc_fine_money != ''}}">
<view class="absolute left-0 box-middle font-28 color-333">精品优惠</view>
<view class="pt30 pb30 text-right font-28 color-f9394d" style="min-height:38rpx;">{{disc_fine_money}}元</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="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx;">
<block wx:for="{{agencyList}}" wx:key='index'>
<text class="pl10" wx:if="{{item.checked}}">{{item.title}}</text>
</block>
<block wx:if="{{userInfo.biz_type == 1}}">
<view class="mt40 font-32">其他信息</view>
<view class="relative bbs-1-eb pl190 last-b-none" wx:if="{{if_fine}}">
<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;">{{priceinfo.fine_money}}元</view>
</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="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx;">
<block wx:for="{{fineList}}" wx:key='index'>
<text class="pl10" wx:if="{{item.checked}}">{{item.title}}</text>
</block>
<view class="relative bbs-1-eb pl190 last-b-none" wx:if="{{disc_fine_money != ''}}">
<view class="absolute left-0 box-middle font-28 color-333">精品优惠</view>
<view class="pt30 pb30 text-right font-28 color-f9394d" style="min-height:38rpx;">{{disc_fine_money}}元</view>
</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="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx;">
<block wx:for="{{agencyList}}" wx:key='index'>
<text class="pl10" wx:if="{{item.checked}}">{{item.title}}</text>
</block>
</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="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx;">
<block wx:for="{{fineList}}" wx:key='index'>
<text class="pl10" wx:if="{{item.checked}}">{{item.title}}</text>
</block>
</view>
</view>
</block>
<view class="fixed left-0 right-0 bottom-0 bg-fff-op90 inner40 fn-flex safe-pb">
<button class="wp100 bds-2-36afa2 bg-fff mr20 pt10 pb10 text-center font-32 color-36afa2 ulib-r750" hover-class="btn-36afa2-hover" bindtap="optPreview">重新编辑</button>
<button class="wp100 btn-36afa2 ml20 pt10 pb10 text-center font-32 color-fff ulib-r750" hover-class="btn-36afa2-hover" disabled="{{submitFlag}}" bindtap="putAppCusorder2">确认编辑</button>
<button class="wp100 btn-36afa2 ml20 pt10 pb10 text-center font-32 color-fff ulib-r750" hover-class="btn-36afa2-hover" disabled="{{submitFlag}}" bindtap="putAppCusorder2">确认</button>
</view>
</view>
+33 -33
View File
@@ -25,20 +25,20 @@ Page({
brand_id:'',//品牌
car_id:'',//车系id
v_id:'',//车型级别id
color_id:'',//车颜色id
v_id:'',//车辆版本id
color_id:'',//车颜色id
incolor_id:'',//内饰颜色id
b_s_id:'',//备选车型id
finance_id:'',//金融机构id
buy_time:'',//预计购车时间
brandIndex:-1,//车辆品牌索引
modelIndex:-1,//车型车系索引
modelIndex:-1,//车系车型索引
spareIndex:-1,//备选车型索引
colorArray:[],//车颜色列表
levelArray:[],//车型级别列表
colorArray:[],//车颜色列表
levelArray:[],//车辆版本列表
interiorArray:[],//内饰颜色
colorIndex:-1,//车颜色索引
levelIndex:-1,//车型级别索引
colorIndex:-1,//车颜色索引
levelIndex:-1,//车辆版本索引
interiorIndex:-1,//内饰颜色索引
financeArray:[],//金融机构
financeIndex:-1,//金融机构索引
@@ -181,17 +181,17 @@ Page({
case 2:
if(this.data.car_id == '' ){
wx.showToast({
title: '请选择车型车系',
title: '请选择车系车型',
icon: 'none'
})
}else if(this.data.v_id == '' ){
wx.showToast({
title: '请选择车型级别',
title: '请选择车辆版本',
icon: 'none'
})
}else if(this.data.color_id == '' ){
wx.showToast({
title: '请选择车颜色',
title: '请选择车颜色',
icon: 'none'
})
}else if(this.data.incolor_id == '' ){
@@ -218,7 +218,7 @@ Page({
icon: 'none'
})
}
else if(this.data.srv_ids.length == 0 && this.data.userInfo.biz_type != 3){
else if(this.data.srv_ids.length == 0 && this.data.userInfo.biz_type == 1){
wx.showToast({
title: '请选择代办内容',
icon: 'none'
@@ -331,7 +331,7 @@ Page({
});
},
//获取车型车
//获取车系车型
getAppSeries(){
let params = {};
params['brand_id'] = this.data.brand_id;
@@ -349,7 +349,7 @@ Page({
});
},
//获取车型级别
//获取车辆版本
getAppSeriesAttrslevel(){
let params = {};
params['id'] = this.data.car_id;
@@ -369,7 +369,7 @@ Page({
});
},
//获取车颜色
//获取车颜色
getAppSeriesAttrscolor(){
let params = {};
params['id'] = this.data.car_id;
@@ -419,17 +419,17 @@ Page({
brand_id:this.data.brandList[e.detail.value].id,
brandIndex:e.detail.value,
car_id:'',//车系id
v_id:'',//车型级别id
color_id:'',//车颜色id
v_id:'',//车辆版本id
color_id:'',//车颜色id
incolor_id:'',//内饰颜色id
b_s_id:'',//备选车型id
modelIndex:-1,//车型车系索引
modelIndex:-1,//车系车型索引
spareIndex:-1,//备选车型索引
colorArray:[],//车颜色列表
levelArray:[],//车型级别列表
colorArray:[],//车颜色列表
levelArray:[],//车辆版本列表
interiorArray:[],//内饰颜色
colorIndex:-1,//车颜色索引
levelIndex:-1,//车型级别索引
colorIndex:-1,//车颜色索引
levelIndex:-1,//车辆版本索引
interiorIndex:-1,//内饰颜色索引
priceinfo:'',
})
@@ -443,16 +443,16 @@ Page({
this.setData({
car_id:this.data.modelList[e.detail.value].id,
modelIndex:e.detail.value,
v_id:'',//车型级别id
color_id:'',//车颜色id
v_id:'',//车辆版本id
color_id:'',//车颜色id
incolor_id:'',//内饰颜色id
b_s_id:'',//备选车型id
spareIndex:-1,//备选车型索引
colorArray:[],//车颜色列表
levelArray:[],//车型级别列表
colorArray:[],//车颜色列表
levelArray:[],//车辆版本列表
interiorArray:[],//内饰颜色
colorIndex:-1,//车颜色索引
levelIndex:-1,//车型级别索引
colorIndex:-1,//车颜色索引
levelIndex:-1,//车辆版本索引
interiorIndex:-1,//内饰颜色索引
priceinfo:'',
})
@@ -460,17 +460,17 @@ Page({
}
},
//车型级别
//车辆版本
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,
color_id:'',//车颜色id
color_id:'',//车颜色id
incolor_id:'',//内饰颜色id
colorArray:[],//车颜色列表
colorArray:[],//车颜色列表
interiorArray:[],//内饰颜色
colorIndex:-1,//车颜色索引
colorIndex:-1,//车颜色索引
interiorIndex:-1,//内饰颜色索引
priceinfo:'',
})
@@ -480,7 +480,7 @@ Page({
}
},
//车颜色
//车颜色
changeColor(e) {
if(this.data.colorIndex != e.detail.value && e.detail.value >= 0){
this.setData({
@@ -690,7 +690,7 @@ Page({
if(that.data.fine_ids.length>0){
params['fine_ids'] = that.data.fine_ids;
}
if(that.data.priceinfo.fine_money){
if(that.data.priceinfo.fine_money && that.data.userInfo.biz_type == 1){
params['if_fine'] = that.data.if_fine?'1':'0';
if(that.data.if_fine&&that.data.disc_fine_money!= ''){
params['disc_fine_money'] = that.data.disc_fine_money;
+81 -80
View File
@@ -112,7 +112,7 @@
</view>
</view>
<view class="relative bbs-1-eb pl190 last-b-none" wx:if="{{brandIndex != -1}}">
<view class="absolute left-0 box-middle font-28 color-333">车型车系<text class="color-f9394d">*</text></view>
<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="changeModel" value="{{modelIndex}}" range="{{modelArray}}">
<text class="color-ccc" wx:if="{{modelIndex == -1}}">请选择</text>
@@ -122,7 +122,7 @@
</view>
</view>
<view class="relative bbs-1-eb pl190 last-b-none" wx:if="{{modelIndex != -1}}">
<view class="absolute left-0 box-middle font-28 color-333">车型级别<text class="color-f9394d">*</text></view>
<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="changeLevel" value="{{levelIndex}}" range="{{levelArray}}">
<text class="color-ccc" wx:if="{{levelIndex == -1}}">请选择</text>
@@ -132,7 +132,7 @@
</view>
</view>
<view class="relative bbs-1-eb pl190 last-b-none" wx:if="{{levelIndex != -1}}">
<view class="absolute left-0 box-middle font-28 color-333">车颜色<text class="color-f9394d">*</text></view>
<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="changeColor" value="{{colorIndex}}" range="{{colorArray}}">
<text class="color-ccc" wx:if="{{colorIndex == -1}}">请选择</text>
@@ -203,53 +203,55 @@
<view class="absolute right-0 box-middle font-28 color-666">元</view>
</view>
</view>
<view class="relative bbs-1-eb last-b-none pl180 font-28" wx:if="{{priceinfo.fine_money}}">
<view class="absolute left-0 box-middle">精品尊享包<text class="ml10 font-24">{{priceinfo.fine_money}}元</text></view>
<view class="relative pt30 pb30 text-right" bindtap="changeFineBag">
<checkbox value="{{if_fine}}" checked="{{if_fine}}"/>
</view>
</view>
<view class="relative bbs-1-eb last-b-none pl180 font-28" wx:if="{{if_fine&&priceinfo.dis_fine_money}}">
<view class="absolute left-0 box-middle">精品优惠</view>
<view class="relative pr40">
<input class="wp100 height-100 text-right font-28" placeholder-class="color-ccc" type="text" placeholder="请输入精品优惠金额" bindinput='inputDiscFine' data-key="disc_fine_money" name='disc_fine_money' value="{{disc_fine_money}}" />
<view class="absolute right-0 box-middle font-28 color-666">元</view>
</view>
</view>
<view class="bbs-1-eb last-b-none">
<view class="relative pl190">
<view class="absolute left-0 box-middle font-28 color-333">代办相关<text class="color-f9394d" wx:if="{{userInfo.biz_type != 3}}">*</text></view>
<view class="pt30 pb30 text-right font-28 color-666">
当前代办费用:<text class="color-f9394d">{{srv_total}}</text>元
<block wx:if="{{userInfo.biz_type == 1}}">
<view class="relative bbs-1-eb last-b-none pl180 font-28" wx:if="{{priceinfo.fine_money}}">
<view class="absolute left-0 box-middle">精品尊享包<text class="ml10 font-24">{{priceinfo.fine_money}}元</text></view>
<view class="relative pt30 pb30 text-right" bindtap="changeFineBag">
<checkbox value="{{if_fine}}" checked="{{if_fine}}"/>
</view>
</view>
<view class="pb10 fn-clear">
<checkbox-group bindchange="changeAgency">
<block wx:for="{{agencyList}}" wx:key='index'>
<label class="fn-fl block mb20 wp31 relative inner30 bg-f6 font-28 ulib-r10 {{(index+1)%3==0?'':'mr20'}}">
<text>{{item.title}}</text>
<checkbox class="absolute right-0 box-middle mr15" value="{{item.id}}" checked="{{item.checked}}"/>
</label>
</block>
</checkbox-group>
</view>
</view>
<view class="bbs-1-eb last-b-none">
<view class="relative pl190">
<view class="absolute left-0 box-middle font-28 color-333">精品赠送</view>
<view class="pt30 pb30 text-right font-28 color-666">
精品价值:<text class="color-f9394d">{{fine_total}}</text>元
<view class="relative bbs-1-eb last-b-none pl180 font-28" wx:if="{{if_fine&&priceinfo.dis_fine_money}}">
<view class="absolute left-0 box-middle">精品优惠</view>
<view class="relative pr40">
<input class="wp100 height-100 text-right font-28" placeholder-class="color-ccc" type="text" placeholder="请输入精品优惠金额" bindinput='inputDiscFine' data-key="disc_fine_money" name='disc_fine_money' value="{{disc_fine_money}}" />
<view class="absolute right-0 box-middle font-28 color-666">元</view>
</view>
</view>
<view class="pb10">
<block wx:for="{{fineList}}" wx:key='index'>
<view class="block mb20 relative inner30 bg-f6 font-28 ulib-r10" bindtap="changeFine" data-index="{{index}}">
<text>{{item.title}}</text>
<checkbox class="absolute right-0 box-middle mr15" value="{{item.id}}" checked="{{item.checked}}"/>
</view>
</block>
<view class="bbs-1-eb last-b-none">
<view class="relative pl190">
<view class="absolute left-0 box-middle font-28 color-333">代办相关<text class="color-f9394d" wx:if="{{userInfo.biz_type != 3}}">*</text></view>
<view class="pt30 pb30 text-right font-28 color-666">
当前代办费用:<text class="color-f9394d">{{srv_total}}</text>元
</view>
</view>
<view class="pb10 fn-clear">
<checkbox-group bindchange="changeAgency">
<block wx:for="{{agencyList}}" wx:key='index'>
<label class="fn-fl block mb20 wp31 relative inner30 bg-f6 font-28 ulib-r10 {{(index+1)%3==0?'':'mr20'}}">
<text>{{item.title}}</text>
<checkbox class="absolute right-0 box-middle mr15" value="{{item.id}}" checked="{{item.checked}}"/>
</label>
</block>
</checkbox-group>
</view>
</view>
</view>
<view class="bbs-1-eb last-b-none">
<view class="relative pl190">
<view class="absolute left-0 box-middle font-28 color-333">精品赠送</view>
<view class="pt30 pb30 text-right font-28 color-666">
精品价值:<text class="color-f9394d">{{fine_total}}</text>元
</view>
</view>
<view class="pb10">
<block wx:for="{{fineList}}" wx:key='index'>
<view class="block mb20 relative inner30 bg-f6 font-28 ulib-r10" bindtap="changeFine" data-index="{{index}}">
<text>{{item.title}}</text>
<checkbox class="absolute right-0 box-middle mr15" value="{{item.id}}" checked="{{item.checked}}"/>
</view>
</block>
</view>
</view>
</block>
</view>
</view>
@@ -333,15 +335,15 @@
<view class="pt30 pb30 text-right font-28 color-666">{{brandArray[brandIndex]}}</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="absolute left-0 box-middle font-28 color-333">车系车型</view>
<view class="pt30 pb30 text-right font-28 color-666">{{modelArray[modelIndex]}}</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="absolute left-0 box-middle font-28 color-333">车辆版本</view>
<view class="pt30 pb30 text-right font-28 color-666">{{levelArray[levelIndex]}}</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="absolute left-0 box-middle font-28 color-333">车颜色</view>
<view class="pt30 pb30 text-right font-28 color-666">{{colorArray[colorIndex]}}</view>
</view>
<view class="relative bbs-1-eb pl190 last-b-none">
@@ -376,31 +378,33 @@
<view class="absolute left-0 box-middle font-28 color-333">车身优惠</view>
<view class="pt30 pb30 text-right font-28 color-f9394d" style="min-height:38rpx;">{{disc_money}}元</view>
</view>
<view class="mt40 font-32">其他信息</view>
<view class="relative bbs-1-eb pl190 last-b-none" wx:if="{{if_fine}}">
<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;">{{priceinfo.fine_money}}元</view>
</view>
<view class="relative bbs-1-eb pl190 last-b-none" wx:if="{{disc_fine_money != ''}}">
<view class="absolute left-0 box-middle font-28 color-333">精品优惠</view>
<view class="pt30 pb30 text-right font-28 color-f9394d" style="min-height:38rpx;">{{disc_fine_money}}元</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="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx;">
<block wx:for="{{agencyList}}" wx:key='index'>
<text class="pl10" wx:if="{{item.checked}}">{{item.title}}</text>
</block>
<block wx:if="{{userInfo.biz_type == 1}}">
<view class="mt40 font-32">其他信息</view>
<view class="relative bbs-1-eb pl190 last-b-none" wx:if="{{if_fine}}">
<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;">{{priceinfo.fine_money}}元</view>
</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="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx;">
<block wx:for="{{fineList}}" wx:key='index'>
<text class="pl10" wx:if="{{item.checked}}">{{item.title}}</text>
</block>
<view class="relative bbs-1-eb pl190 last-b-none" wx:if="{{disc_fine_money != ''}}">
<view class="absolute left-0 box-middle font-28 color-333">精品优惠</view>
<view class="pt30 pb30 text-right font-28 color-f9394d" style="min-height:38rpx;">{{disc_fine_money}}元</view>
</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="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx;">
<block wx:for="{{agencyList}}" wx:key='index'>
<text class="pl10" wx:if="{{item.checked}}">{{item.title}}</text>
</block>
</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="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx;">
<block wx:for="{{fineList}}" wx:key='index'>
<text class="pl10" wx:if="{{item.checked}}">{{item.title}}</text>
</block>
</view>
</view>
</block>
<view class="fixed left-0 right-0 bottom-0 bg-fff-op90 inner40 fn-flex safe-pb">
<button class="wp100 bds-2-36afa2 bg-fff mr20 pt10 pb10 text-center font-32 color-36afa2 ulib-r750" hover-class="btn-36afa2-hover" bindtap="optPreview">重新编辑</button>
<button class="wp100 btn-36afa2 ml20 pt10 pb10 text-center font-32 color-fff ulib-r750" hover-class="btn-36afa2-hover" disabled="{{submitFlag}}" bindtap="postAppCusorder">确认登记</button>
@@ -463,18 +467,15 @@
<!--订单登记成功-->
<lcb-msg isShow="{{isShowSuccess}}">
<view slot="content">
<view slot="content">
<view class="inner40">
<view class="font-36 text-center">订单登记成功</view>
<view class="pt20 text-center">
<image class='inline-block img-250x250' show-menu-by-longpress='true' lazy-load="{{true}}" mode="aspectFit" src="{{details.admin_img}}"></image>
<view class="font-36 text-center">邀请客户扫码支付</view>
<view class="pt40 text-center">
<image class='inline-block img-250x250' lazy-load="{{true}}" mode="aspectFit" src="{{details.pay_img}}"></image>
</view>
<view class="pt20 font-24 color-999 text-center">邀请客户扫码签订合同</view>
<view class="pt10 font-24 color-999 text-center">*客户合同未生成时“生成合同”)</view>
</view>
<view class="pl60 pr60 pb50 text-center font-32 color-666 fn-flex">
<view bindtap="viewDetails" class="fn-flex-item bds-2-36afa2 pt15 pb15 mr20 font-28 color-36afa2 ulib-r750">查看订单</view>
<view bindtap="optShowContract" class="fn-flex-item bg-36afa2 pt15 pb15 ml20 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover">生成合同</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">查看订单</button>
</view>
</view>
</lcb-msg>
+150
View File
@@ -0,0 +1,150 @@
import _ from '../../../commons/js/commons'
let flagForScroll = false
Page({
data: {
imgUrl:_.config.imgUrl,
navBar: {
title: '活动详情',
bgColor: '#fff',
isShowBg: false,
txtColor: '#fff'
},
list: [],
pageNo: 1,
noData: false,
end: false,
load: true,
loading: false,
},
onLoad: function (options) {
for (let key in options) {
this.setData({
[key]: options[key]
})
}
flagForScroll = false
this.getAppSytactivityDetail()
this.getAppSytactivityLog()
},
//活动详情
getAppSytactivityDetail(){
let params = {};
params['id'] = this.data.id;
_.apiQuery.getAppSytactivityDetail(params).then(res => {
this.setData({
info:res.data,
})
wx.stopPullDownRefresh()
});
},
//实时战报
getAppSytactivityLog() {
this.setData({
load: false,
loading: true,
})
let params = {};
params['page'] = this.data.pageNo;
params['size'] = 10;
params['id'] = this.data.id;
_.apiQuery.getAppSytactivityLog(params).then(res => {
this.setData({
pageNo: this.data.pageNo + 1,
list: this.data.list.concat(res.data.list),
load: true,
loading: false,
})
if (res.data.total == 0) {
this.setData({
noData: true
})
} else if (this.data.list.length == res.data.total) {
this.setData({
end: true
})
}
wx.stopPullDownRefresh()
});
},
//生成海报
showPoster(e){
let that = this
wx.showLoading({
title: '正在生成中...',
})
that.setData({
'poster.customPoster':that.data.info.poster,
'poster.codeImg':that.data.info.btn.share_url,
})
setTimeout(function(){
that.setData({
'poster.isShow': true
})
wx.hideLoading()
},3000)
},
onPageScroll(obj) {
if (obj.scrollTop > _.config.elementScrollTop && !flagForScroll) {
flagForScroll = true
this.setData({
'navBar.isShowBg': true,
'navBar.txtColor': '#333',
flagForBarColor: '000'
})
wx.setNavigationBarColor({
frontColor: '#000000',
backgroundColor: '#000000',
animation: {
duration: 400,
timingFunc: 'easeIn'
}
})
} else if (obj.scrollTop < _.config.elementScrollTop && flagForScroll) {
flagForScroll = false
this.setData({
'navBar.isShowBg': false,
'navBar.txtColor': '#fff',
flagForBarColor: 'fff'
})
wx.setNavigationBarColor({
frontColor: '#ffffff',
backgroundColor: '#ffffff',
animation: {
duration: 400,
timingFunc: 'easeIn'
}
})
}
},
//推送链接
pushLink(e) {
if(e.currentTarget.dataset.url){
_.$router.openUrlScheme(e.currentTarget.dataset.url)
}
},
//页面相关事件处理函数--监听用户下拉动作
onPullDownRefresh(){
this.setData({
list: [],
pageNo: 1,
noData: false,
end: false,
load: true,
loading: false,
})
this.getAppSytactivityDetail()
this.getAppSytactivityLog()
},
//页面上拉触底事件的处理函数
onReachBottom(){
if (this.data.noData || this.data.end||!this.data.load) return;
this.getAppSytactivityLog()
},
})
+11
View File
@@ -0,0 +1,11 @@
{
"enablePullDownRefresh": true,
"navigationStyle": "custom",
"navigationBarTextStyle": "white",
"navigationBarBackgroundColor": "#333",
"backgroundColor": "#333",
"backgroundColorTop": "#333",
"usingComponents": {
"activityPoster": "/components/activityPoster/index"
}
}
+48
View File
@@ -0,0 +1,48 @@
<lcb-navBar titleText="{{navBar.title}}" txtColor="{{navBar.txtColor}}" bgColor="{{navBar.bgColor}}" isShowBg="{{navBar.isShowBg}}"></lcb-navBar>
<view class='container' style="background-color:{{info.bg_color}};">
<view><image class="wp100" lazy-load="{{true}}" mode="widthFix" src="{{info.img}}"></image></view>
<view class="inner30 pt0" style="min-height:80vh;">
<view class="inner30 bg-fff box-shadow-000-10-10 ulib-r20">
<view class="text-center pt10 pb10 font-42 color-333">活动内容</view>
<view class="inner20 pt15 font-28 color-666 line-height-16">{{info.remark}}</view>
</view>
<!-- <view class="mt30 inner30 bg-fff box-shadow-000-10-10 ulib-r20">
<view class="relative pr150" bindtap="pushLink" data-url="{{info.ranking.url}}">
<view class="text-nowrap font-32 color-666">{{info.ranking.title}}</view>
<view class="absolute right-0 box-middle">
<text class="inline-block bg-ffa73d-ff7a28 pl10 pr10 text-middle font-20 color-fff ulib-r750">{{info.ranking.value}}</text>
<i class="iconfont icon-gengduo text-middle font-32 color-999"></i>
</view>
</view>
</view> -->
<view class="mt30 box-shadow-000-10-10 ulib-r20">
<view class="ulib-rt20 pt40 pb40 bg-fffaf3 text-center color-333 fn-flex">
<block wx:for='{{info.menus}}' wx:key='index'>
<view class="fn-flex-item" bindtap="pushLink" data-url="{{item.url}}">
<view class="font-40 text-bold color-fe4109">{{item.value}}</view>
<view class="font-28">{{item.title}}</view>
</view>
</block>
</view>
<view class="inner30 bg-fff ulib-rb20">
<view class="text-center pb10 font-42 color-333">实时数据</view>
<view>
<block wx:for='{{list}}' wx:key='index'>
<view class="mt20 inner30 relative bg-f0f4ff pr150 ulib-r10">
<view class="text-nowrap font-28 color-333">{{item.content}}</view>
<view class="absolute right-0 box-middle mr30 font-28 color-999">{{item.c_time}}</view>
</view>
</block>
<lcb-listmore isLoading='{{loading}}' isEnd='{{list.length>9&&end}}' isNoData='{{noData}}'></lcb-listmore>
</view>
</view>
</view>
<view class="pt40 pb40 pl100 pr100 text-center">
<view class="pt20 pb20 font-32 color-fff ulib-r750" style="background-color:{{info.btn.color}};" bindtap="{{info.btn.value==1?'showPoster':''}}">{{info.btn.title}}</view>
</view>
</view>
</view>
<activityPoster isShow="{{poster.isShow}}" customImg="{{poster.customPoster}}" codeImg="{{poster.codeImg}}"></activityPoster>
+37
View File
@@ -0,0 +1,37 @@
page{
background-color:#333;
}
.tt-ac{
background-color:#76a1e5;
box-shadow: 0 0 30rpx rgba(255,255,255,.5) inset;
}
.bds-5-679af5{
border:#679af5 5rpx solid;
}
.bg-1c349c{
background-color:#1c349c;
}
.bg-3349a6{
background-color:#3349a6;
}
.bg-ffa73d-ff7a28{
background-image:linear-gradient(#ffa73d,#ff7a28);
}
.bg-997871-ff7a28{
background-image:linear-gradient(#997871,#996267);
}
.box-shadow-000-50{
box-shadow: 0 0 30rpx rgba(0,0,0,.5) inset;
}
.color-adb3d6{
color:#adb3d6;
}
.ac-btn{
background-image:linear-gradient(#ffa73d,#ff7a28);
border-bottom:#db610d 6rpx solid;
}
.ac-btn-none{
background-image:linear-gradient(#bebebe,#aaa9a9);
border-bottom:#888 6rpx solid;
}
+48
View File
@@ -0,0 +1,48 @@
import _ from '../../../commons/js/commons'
Page({
data: {
isShowRule:false,
},
onLoad: function (options) {
for (let key in options) {
this.setData({
[key]: options[key]
})
}
this.getAppSytactivityRanking()
},
//活动排名
getAppSytactivityRanking(){
let params = {};
params['id'] = this.data.id;
_.apiQuery.getAppSytactivityRanking(params).then(res => {
this.setData({
info:res.data,
})
wx.setNavigationBarTitle({
title:res.data.title,
})
wx.stopPullDownRefresh()
});
},
//显示隐藏积分规则
optShowRule() {
this.setData({
isShowRule:!this.data.isShowRule,
})
},
//推送链接
pushLink(e) {
if(e.currentTarget.dataset.url){
_.$router.openUrlScheme(e.currentTarget.dataset.url)
}
},
//页面相关事件处理函数--监听用户下拉动作
onPullDownRefresh(){
this.getAppSytactivityRanking()
},
})
+11
View File
@@ -0,0 +1,11 @@
{
"navigationBarTitleText": "活动排名",
"enablePullDownRefresh": true,
"navigationBarTextStyle": "white",
"navigationBarBackgroundColor": "#fe722f",
"backgroundColor": "#ffffff",
"backgroundColorTop": "#fe722f",
"usingComponents": {
}
}
+37
View File
@@ -0,0 +1,37 @@
<view class="container inner30 img-top-cover">
<view class="box-shadow-000-10-10 ulib-r20">
<view class="ulib-rt20 inner30 pl50 pr50 bg-fffaf3 relative color-333">
<view class="text-nowrap font-36"><text class="iconfont icon-cup mr5"></text>{{info.biz.title}}</view>
<view class="absolute right-0 box-middle mr50 font-36">{{info.biz.value}}</view>
</view>
<view class="inner30 pt10 bg-fff ulib-rb20">
<view>
<block wx:for='{{info.ranking}}' wx:key='index'>
<view class="mt20 inner30 relative bg-f0f4ff pr150 ulib-r10">
<view class="text-nowrap font-28 color-333">
<text class="iconfont icon-cup mr10 " wx:if="{{item.num==1}}"></text>
<text class="pl10 mr10" wx:else>{{item.num}}</text>
<text>{{item.biz_name}}</text>
</view>
<view class="absolute right-0 box-middle mr30 font-28 color-666">{{item.score}}</view>
</view>
</block>
</view>
</view>
</view>
<view class="pt30 pb30 text-center font-28 color-fff" bindtap="optShowRule">积分规则></view>
</view>
<!--积分规则-->
<lcb-msg isShow="{{isShowRule}}">
<view slot="content">
<view class="pt50 text-center font-36">{{info.rule.title}}</view>
<view class="pt10 pl40 pr40 pb50 line-height-16 text-center font-28 color-666">
<text>{{info.rule.value}}</text>
</view>
<view class="bts-1-eb text-center font-32 color-666">
<view class="pt25 pb25 color-000e65" bindtap="optShowRule">知道了</view>
</view>
</view>
</lcb-msg>
+28
View File
@@ -0,0 +1,28 @@
page{
background-color:#fe722f;
}
.tt-ac{
background-color:#76a1e5;
box-shadow: 0 0 30rpx rgba(255,255,255,.5) inset;
}
.bds-5-679af5{
border:#679af5 5rpx solid;
}
.bg-1c349c{
background-color:#1c349c;
}
.bg-3349a6{
background-color:#3349a6;
}
.bg-ffa73d-ff7a28{
background-image:linear-gradient(#ffa73d,#ff7a28);
}
.bg-997871-ff7a28{
background-image:linear-gradient(#997871,#996267);
}
.box-shadow-000-50{
box-shadow: 0 0 30rpx rgba(0,0,0,.5) inset;
}
.color-000e65{
color:#000e65;
}
+131
View File
@@ -0,0 +1,131 @@
import _ from '../../commons/js/commons'
const app = getApp()
Page({
//页面的初始数据
data: {
imgUrl:_.config.imgUrl,
swiperOptions: {
indicatorDots: false,
vertical: false,
autoplay: false,
interval: 4000,
duration: 1000,
items: 1,
circular: false,
current: 0
},
swiperCurrent: 0,
list: [],
pageNo: 1,
noData: false,
end: false,
load: true,
loading: false,
},
//生命周期函数--监听页面加载
onLoad: function (options) {
for (let key in options) {
this.setData({
[key]: options[key]
})
}
this.getAppSytactivityTabs()
this.getAppSytactivityList()
},
//私域通_tab
getAppSytactivityTabs(){
_.apiQuery.getAppSytactivityTabs().then(res => {
this.setData({
bg_img:res.data.bg_img,
menus:res.data.menus,
})
wx.setNavigationBarTitle({
title:res.data.title,
})
wx.stopPullDownRefresh()
});
},
//活动列表
getAppSytactivityList(){
this.setData({
load: false,
loading: true,
})
let params = {};
params['page'] = this.data.pageNo;
params['size'] = 10;
_.apiQuery.getAppSytactivityList(params).then(res => {
this.setData({
pageNo: this.data.pageNo + 1,
list: this.data.list.concat(res.data.list),
load: true,
loading: false,
})
if (res.data.total == 0) {
this.setData({
noData: true
})
} else if (this.data.list.length == res.data.total) {
this.setData({
end: true
})
}
wx.stopPullDownRefresh()
});
},
//数据分组
getIconByGroup(list) {
let arr = []
if (list.length > 3) {
for (var i = 0; i < list.length; i += 3) {
arr.push(list.slice(i, i + 3));
}
} else {
arr.push(list)
}
return arr
},
//切换icon轮播
swiperChange: function (e) {
this.setData({
swiperCurrent: e.detail.current // current 改变时会触发 change 事件
})
},
//推送链接
pushLink(e) {
if(e.currentTarget.dataset.url){
_.$router.openUrlScheme(e.currentTarget.dataset.url)
}
},
//页面相关事件处理函数--监听用户下拉动作
onPullDownRefresh(){
this.setData({
list: [],
pageNo: 1,
noData: false,
end: false,
load: true,
loading: false,
})
this.getAppSytactivityTabs()
this.getAppSytactivityList()
},
//页面上拉触底事件的处理函数
onReachBottom(){
if (this.data.noData || this.data.end||!this.data.load) return;
this.getAppSytactivityList()
},
})
+11
View File
@@ -0,0 +1,11 @@
{
"navigationBarTitleText": "私域通",
"enablePullDownRefresh": true,
"navigationBarTextStyle": "white",
"navigationBarBackgroundColor": "#fe722f",
"backgroundColor": "#ffffff",
"backgroundColorTop": "#fe722f",
"usingComponents": {
}
}
+30
View File
@@ -0,0 +1,30 @@
<view class="container img-top-cover" style="background-image:url({{bg_img}});">
<view class="relative" style="height:630rpx;"></view>
<view class="pl30 pr30 pb30">
<view class="syt-panel box-shadow-000-10-10 ulib-r20">
<!-- <view class="ulib-rt10 pt40 pb40 bg-fffaf3 text-center fn-flex color-333">
<block wx:for='{{menus}}' wx:key='index'>
<view class="fn-flex-item">
<view class="font-40 text-bold color-fe4109">{{item.value}}</view>
<view class="font-28">{{item.title}}</view>
</view>
</block>
</view> -->
<view class="inner30 bg-fff ulib-r10" style="min-height:700rpx">
<view class="mt10 text-center"><image style="width:300rpx;height:40rpx;" lazy-load="{{true}}" mode="aspectFill" src="{{imgUrl}}siyutong/ac-tt-1.png?v=220207"></image></view>
<block wx:for="{{list}}" wx:key="index">
<view class="mt20 inner30 relative bg-f0f4ff pr150 ulib-r10 {{item.color!='#ff842d'?'opacity-50':''}}" bindtap="pushLink" data-url="/pages/siyutong/activityDetail/index?id={{item.id}}">
<view class="text-nowrap font-32 color-333">{{item.title}}</view>
<view class="absolute right-0 box-middle mr20">
<text class="inline-block pl10 pr10 text-middle font-20 color-fff ulib-r750" style="background-color:{{item.color}};" >{{item.type_name}}</text>
<i class="iconfont icon-gengduo text-middle font-32 color-666"></i>
</view>
</view>
</block>
<lcb-listmore isLoading='{{loading}}' isEnd='{{list.length>9&&end}}' isNoData='{{noData}}'></lcb-listmore>
</view>
</view>
</view>
</view>
+30
View File
@@ -0,0 +1,30 @@
page{
background-color:#f88f3f;
}
.syt-panel{
border:#ffa63d 10rpx solid;
}
.bg-ffa73d-ff7a28{
background-image:linear-gradient(#ffa73d,#ff7a28);
}
.bg-997871-ff7a28{
background-image:linear-gradient(#997871,#996267);
}
.box-shadow-000-50{
box-shadow: 0 0 30rpx rgba(0,0,0,.5) inset;
}
.dots {
display: flex;
justify-content: center;
}
.dots .dot {
margin: 0 4rpx;
width: 12rpx;
height: 12rpx;
background: #ccc;
border-radius: 100%;
transition: all .6s;
}
.dots .dot.active {
background: #f88f3f;
}