Compare commits
134 Commits
feature/东风EV
...
develop
| Author | SHA1 | Date | |
|---|---|---|---|
| 70f2218f22 | |||
| 89dd5b800b | |||
| 9dd8f5e358 | |||
| e989f664a5 | |||
| 3c43344c7b | |||
| 9f23becd48 | |||
| 66ff4f7c73 | |||
| 42d23dbccd | |||
| a526a46a16 | |||
| abf0adfcf6 | |||
| 8fc072d52a | |||
| ce6ac9238c | |||
| 7d2d85ba97 | |||
| 419726a2e8 | |||
| ad6c7389c8 | |||
| 251e2eafdb | |||
| d51c29cb70 | |||
| bad5de9426 | |||
| 0d6b345477 | |||
| d822c959cb | |||
| 8fc6e4cec6 | |||
| d66d7a5bb8 | |||
| 65bd9e2b55 | |||
| 2a4596f249 | |||
| 5020402f10 | |||
| 0c259d0119 | |||
| ddc84a9551 | |||
| 4372744ca2 | |||
| cf8ea16dc2 | |||
| 838b468418 | |||
| 9a5a0d056f | |||
| 5b54793690 | |||
| 9a996d1fd2 | |||
| 6dcdcd9e05 | |||
| 4774dd42b4 | |||
| 59d4f0fd9f | |||
| 062235ba68 | |||
| aa23608aa5 | |||
| 89c27cb9e0 | |||
| 289a764026 | |||
| 4810f052cf | |||
| c94a19d968 | |||
| dce2233be8 | |||
| b260e7f18e | |||
| 85ed33ba8c | |||
| 43f60e87b6 | |||
| 0ed812ff7d | |||
| 8ec245f457 | |||
| db88dd4141 | |||
| 00f5190c5f | |||
| 0a638cd516 | |||
| 916700c3d7 | |||
| 5389cbe802 | |||
| 547a0d7a1d | |||
| 9b6fc9d972 | |||
| 5dfd7ffc30 | |||
| 509bd02299 | |||
| 71267c64e3 | |||
| bec388ab40 | |||
| 6c724ac21d | |||
| 7bf43deb33 | |||
| 6f80b130c8 | |||
| 63910b257b | |||
| 706c7f00fc | |||
| 6b7388719b | |||
| 4cca0525fc | |||
| 380dadbfa5 | |||
| 5c250d53de | |||
| 41dd758bff | |||
| b4c1100a13 | |||
| 10c680eff9 | |||
| 17876858d4 | |||
| a8e68bff32 | |||
| 5730cfea22 | |||
| e75cf13e85 | |||
| 4261b03e82 | |||
| ba06adb6a7 | |||
| e8e142d51a | |||
| bc0d42c08c | |||
| 63f479d72c | |||
| 406f0cf7e8 | |||
| 6765776ad9 | |||
| 2d0234e3aa | |||
| e3877ab86a | |||
| 8c7bd3985e | |||
| 3e40bd1d04 | |||
| bcdc92bd7d | |||
| 827048f2c4 | |||
| 178ab1ea72 | |||
| 706cf3a087 | |||
| b843c47ff7 | |||
| 93f0cf046a | |||
| 3147791b6b | |||
| 308b9008d1 | |||
| 321be4abac | |||
| 7e8892cfbf | |||
| ead124d8a4 | |||
| fdaa89d42a | |||
| f2d5e79464 | |||
| 6e412b88b7 | |||
| 67bf2bbbbe | |||
| b9cf0be6df | |||
| d5cc6898bd | |||
| 5ca9c9b9a7 | |||
| a43c6a6a4c | |||
| 6f713ffcf3 | |||
| 83023a5b50 | |||
| 6a20f801d5 | |||
| 5157016eac | |||
| 7a3673efd9 | |||
| dbf02638ed | |||
| 978d67eac1 | |||
| 3c62dab9d0 | |||
| d97c06a053 | |||
| e2fe0296ad | |||
| 890ab93010 | |||
| 7434edda76 | |||
| 8fb56e6aab | |||
| 5d9a46d12a | |||
| 22d52a2da7 | |||
| f45fc5893f | |||
| c843abb7bf | |||
| 0207310823 | |||
| a81e615f48 | |||
| c3a40e5bf5 | |||
| a6aa7063e8 | |||
| 533c448dcd | |||
| 4bd9d11c32 | |||
| 5dab9c70f4 | |||
| c04dda7a17 | |||
| d39b9213bb | |||
| 16bdc15eee | |||
| dc4596bdc7 | |||
| 95bfc1f075 |
@@ -47,7 +47,22 @@
|
||||
"pages/inventory/warning/index",
|
||||
"pages/order/editFinance/index",
|
||||
"pages/statement/registration/index",
|
||||
"pages/statement/privacy/index"
|
||||
"pages/statement/privacy/index",
|
||||
"pages/order/editCardid/index",
|
||||
"pages/order/editBusinessBicence/index",
|
||||
"pages/order/editLicenseImg/index",
|
||||
"pages/order/editInsImg/index",
|
||||
"pages/order/editOtherImg/index",
|
||||
"pages/storeData/index",
|
||||
"pages/storeData/customerData/index",
|
||||
"pages/storeData/wechatData/index",
|
||||
"pages/storeData/orderData/index",
|
||||
"pages/order/editDeliveryckimg/index",
|
||||
"pages/order/editQVImg/index",
|
||||
"pages/order/editVoucherImg/index",
|
||||
"pages/dataAnalysis/detail/index",
|
||||
"pages/order/editBuyer/index",
|
||||
"pages/storeData/subData/index"
|
||||
],
|
||||
"echarts": [
|
||||
{
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
.bg-1a{background-color: #1a1a1a;}
|
||||
.bg-36afa2{background-color:#36afa2;}
|
||||
.bg-f9394d{background-color:#f9394d;}
|
||||
.bg-3f4047{background-color:#3f4047;}
|
||||
|
||||
.bg-000-op30{background-color:rgba(0,0,0,.3);}
|
||||
.bg-000-op50{background-color:rgba(0,0,0,.5);}
|
||||
@@ -26,6 +27,8 @@
|
||||
|
||||
.bg-2f3346-1a1c26{background-image:linear-gradient(#2f3346,#1a1c26);}
|
||||
|
||||
.bg-f6-fff{background-image:linear-gradient(#f6f6f6,#fff);}
|
||||
|
||||
.bg-f3f6fc{background-color:#f3f6fc;}
|
||||
.bg-fffaeb{background-color:#fffaeb;}
|
||||
.bg-f1f9f8{background-color:#f1f9f8;}
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
.bbs-2-36afa2{border-bottom:#36afa2 2rpx solid;box-sizing:border-box;}
|
||||
.bds-2-f9394d{border:#f9394d 2rpx solid;box-sizing:border-box;}
|
||||
|
||||
.bts-1-474a65{border-top:#474a65 1rpx solid; box-sizing:border-box;}
|
||||
.bbs-1-474a65{border-bottom:#474a65 1rpx solid; box-sizing:border-box;}
|
||||
|
||||
.last-b-none:last-child{border-bottom:none;}
|
||||
|
||||
@@ -13,4 +13,5 @@
|
||||
.color-f9394d{color:#f9394d;}
|
||||
.color-fe4109{color:#fe4109;}
|
||||
.color-36afa2{color:#36afa2;}
|
||||
.color-00c800{color:#00c800;}
|
||||
.color-00c800{color:#00c800;}
|
||||
.color-575b6a{color:#575b6a;}
|
||||
@@ -26,4 +26,5 @@
|
||||
.font-75{font-size:75rpx;}
|
||||
.font-80{font-size:80rpx;}
|
||||
.font-90{font-size:90rpx;}
|
||||
.font-120{font-size:120rpx;}
|
||||
.font-120{font-size:120rpx;}
|
||||
.font-180{font-size:180rpx;}
|
||||
@@ -29,7 +29,6 @@
|
||||
|
||||
/*layout flex*/
|
||||
.fn-flex{display:flex;flex-flow:row;align-items:stretch;}
|
||||
.fn-flex-center{align-items:center;}
|
||||
.fn-flex-item{display:block;flex:1;}
|
||||
.fn-flex-item.flexsize2{flex:2;}
|
||||
.fn-flex-item.flexsize3{flex:3;}
|
||||
@@ -43,8 +42,9 @@
|
||||
.fn-flex-between{justify-content: space-between;}/*两端对齐*/
|
||||
.fn-flex-wrap{flex-wrap:wrap}/*多行*/
|
||||
.fn-flex-around{justify-content: space-around;}/*各项周围留有空白*/
|
||||
.fn-flex-middle{align-items:center;}/*交叉轴上上下居中对齐*/
|
||||
.fn-flex-center{justify-content: center;}/*居中对齐*/
|
||||
|
||||
.wp20{width:20%;box-sizing:border-box;}
|
||||
.wp25{width:25%;box-sizing:border-box;}
|
||||
.wp31{width:31%;box-sizing:border-box;}
|
||||
.wp33{width:33%;box-sizing:border-box;}
|
||||
@@ -130,4 +130,7 @@
|
||||
.tabmenu{line-height:80rpx;}
|
||||
.tabmenu.active::before{display:block;position:absolute;bottom:0;left:50%;width:30rpx;height:4rpx;margin-left:-15rpx;content:"";background-color:#36afa2;}
|
||||
|
||||
.safe-pb{padding-bottom:calc(constant(safe-area-inset-bottom) - 15px );padding-bottom:calc(env(safe-area-inset-bottom) - 15px);}
|
||||
.safe-pb{padding-bottom:calc(constant(safe-area-inset-bottom) - 15px );padding-bottom:calc(env(safe-area-inset-bottom) - 15px);}
|
||||
|
||||
.datecell{width:14.28%;padding:30rpx 0;text-align:center;box-sizing:border-box;}
|
||||
.datecell.active{background-color:#36afa2;color:#fff;}
|
||||
@@ -19,9 +19,11 @@
|
||||
.mt90{margin-top:90rpx;}
|
||||
.mt110{margin-top:110rpx;}
|
||||
.mt120{margin-top:120rpx;}
|
||||
.mt130{margin-top:130rpx;}
|
||||
.mt150{margin-top:150rpx;}
|
||||
.mt190{margin-top:190rpx;}
|
||||
.ml-1{margin-left:-1rpx;}
|
||||
.ml1{margin-left:1rpx;}
|
||||
.ml5{margin-left:5rpx;}
|
||||
.ml10{margin-left:10rpx;}
|
||||
.ml15{margin-left:15rpx;}
|
||||
@@ -44,6 +46,7 @@
|
||||
.ml200{margin-left:200rpx;}
|
||||
.mr-20{margin-right:-20rpx;}
|
||||
.mr-30{margin-right:-30rpx;}
|
||||
.mr1{margin-right:1rpx;}
|
||||
.mr5{margin-right:5rpx;}
|
||||
.mr10{margin-right:10rpx;}
|
||||
.mr11{margin-right:11rpx;}
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
.inner6{padding:6rpx;}
|
||||
.inner8{padding:8rpx;}
|
||||
.inner10{padding:10rpx;}
|
||||
.inner20{padding:20rpx;}
|
||||
|
||||
Vendored
+28
-5
File diff suppressed because one or more lines are too long
+35
-4
@@ -36,7 +36,7 @@ api = {
|
||||
appCustomerData: "app/customers/data", //获取客户详细信息
|
||||
appCusorder: "app/cusorder", //新建订单 /获取订单列表 /获取订单详情 /修改付款方式 /修改委托协议
|
||||
appCusorderTabs: "app/cusorder/tabs", //获取tab
|
||||
appEmployees: "app/employees", //获取客户详细信息 /获取店员列表 /更新店员信息 /删除店员
|
||||
appEmployees: "app/employees", //获取客户详细信息 /获取店员列表 /更新店员信息 /删除店员
|
||||
appIdcard: "app/idcard", //创建申请开票信息
|
||||
appUserCal: "app/user/cal", //获取用户统计
|
||||
appCusorderCkcar: "app/cusorder/ckcar", //确认交付
|
||||
@@ -65,6 +65,12 @@ api = {
|
||||
appStatisticsOcust: "app/statistics/ocust", //数据分析-订单数据
|
||||
appStatisticsHcust: "app/statistics/hcust", //首页-客户图标数据
|
||||
appStatisticsHorder: "app/statistics/horder", //首页-订单图表数据
|
||||
|
||||
appStatisticsStats: "app/statistics/stats", //获取渠道经理数据分析入口数据
|
||||
appStatisticsStats_days: "app/statistics/stats_days", //获取渠道经理数据分析数据
|
||||
appStatisticsStats_customer: "app/statistics/stats_customer", //获取渠道经理数据分析数据
|
||||
|
||||
|
||||
appUserResetbiz: "app/user/resetbiz", //更新用户店铺id
|
||||
appXzStat: "app/xz/stat", //获取电话统计数据
|
||||
appCity: "app/city", //获取系统配置城市
|
||||
@@ -83,7 +89,7 @@ api = {
|
||||
appCustomersDefeats: 'app/customers/defeats', //战败客户列表 /战败/再战申请
|
||||
|
||||
appServices:'app/services', //获取代办服务列表
|
||||
appFine:'app/fine', //获取精品赠送列表
|
||||
appFine:'app/fine', //获取精品赠送列表 /获取精品选装
|
||||
|
||||
materialHomeBiz:'material/home/biz', //店铺海报
|
||||
materialHomePosters:'material/home/posters', //保存店铺海报
|
||||
@@ -129,14 +135,39 @@ api = {
|
||||
appGoodsRemind:'app/goods/remind', //库存提醒/预警
|
||||
appGoodsLists:'app/goods/lists', //库存列表
|
||||
|
||||
appCustomersOffline_sources:'app/customers/offline_sources', //线索来源
|
||||
appCustomersOffline_sources:'app/customers/offline_sources', //客户来源
|
||||
appCustomersTag:'app/customers/tag', //客户标签
|
||||
|
||||
appCityOncard:'app/city/oncard', //获取上牌城市
|
||||
appFinanceNums:'app/finance/nums', //获取金融分期期数
|
||||
|
||||
appCusorderV2Customer:'app/cusorderV2/customer', //获取客户订单
|
||||
|
||||
|
||||
appCustomersVisit_tabs:'app/customers/visit_tabs', //回访待跟进tab
|
||||
|
||||
appIdcardInfo:'app/idcard/info', //识别身份证号码
|
||||
|
||||
appCustomersComments:'app/customers/comments', //用户评论
|
||||
|
||||
appCityArea:'app/city/area', //获取省/市/区/街道
|
||||
|
||||
appEmployeesLeave:'app/employees/leave', //获取离职 //提交离职
|
||||
|
||||
appCusorderV2Admins:'app/cusorderV2/admins', //分配订单
|
||||
|
||||
appCusorderdataInfo:'app/cusorderdata/info', //保单信息确认
|
||||
|
||||
appBizStats:'app/biz/stats', //数据看板首页
|
||||
appBizStats_customer:'app/biz/stats_customer', //客户数据
|
||||
appBizStats_wxqy:'app/biz/stats_wxqy', //企微数据
|
||||
appBizStats_order:'app/biz/stats_order', //订单数据
|
||||
appBizStats_days:'app/biz/stats_days', //客户/订单走势图
|
||||
appBizStats_customer_pid:'app/biz/stats_customer_pid', //客户数据二级
|
||||
appBizStats_order_series:'app/biz/stats_order_series', //品牌数据二级
|
||||
|
||||
appOptions:'app/options', //获取车辆选装包
|
||||
|
||||
appResetgroupid:'app/user/resetgroupid', //切换角色
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -202,7 +202,7 @@ apiQuery.postAppEmployees = function (params) {
|
||||
})
|
||||
}
|
||||
|
||||
//更新店员信息
|
||||
//更新店员信息 //提交离职
|
||||
apiQuery.putAppEmployees = function (params) {
|
||||
return new Promise(function (resolve, reject) {
|
||||
HttpRequest(true, Config.api.appEmployees, 2, params, "PUT", resolve, reject)
|
||||
@@ -233,7 +233,7 @@ apiQuery.putAppIdcard = function (params) {
|
||||
//获取用户统计
|
||||
apiQuery.getAppUserCal = function (params) {
|
||||
return new Promise(function (resolve, reject) {
|
||||
HttpRequest(false, Config.api.appUserCal, 2, params, "GET", resolve, reject)
|
||||
HttpRequest(true, Config.api.appUserCal, 2, params, "GET", resolve, reject)
|
||||
})
|
||||
}
|
||||
|
||||
@@ -797,7 +797,7 @@ apiQuery.getAppGoodsLists = function (params) {
|
||||
})
|
||||
}
|
||||
|
||||
//线索来源
|
||||
//客户来源
|
||||
apiQuery.getAppCustomersOffline_sources = function (params) {
|
||||
return new Promise(function (resolve, reject) {
|
||||
HttpRequest(false, Config.api.appCustomersOffline_sources, 2, params, "GET", resolve, reject)
|
||||
@@ -839,5 +839,145 @@ apiQuery.getAppCusorderV2Customer = function (params) {
|
||||
})
|
||||
}
|
||||
|
||||
//回访待跟进tab
|
||||
apiQuery.getAppCustomersVisit_tabs = function (params) {
|
||||
return new Promise(function (resolve, reject) {
|
||||
HttpRequest(false, Config.api.appCustomersVisit_tabs, 2, params, "GET", resolve, reject)
|
||||
})
|
||||
}
|
||||
|
||||
//识别身份证号码
|
||||
apiQuery.getAppIdcardInfo = function (params) {
|
||||
return new Promise(function (resolve, reject) {
|
||||
HttpRequest(false, Config.api.appIdcardInfo, 2, params, "GET", resolve, reject)
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
//用户评论
|
||||
apiQuery.postAppCustomersComments = function (params) {
|
||||
return new Promise(function (resolve, reject) {
|
||||
HttpRequest(true, Config.api.appCustomersComments, 2, params, "POST", resolve, reject)
|
||||
})
|
||||
}
|
||||
|
||||
//获取省/市/区/街道
|
||||
apiQuery.getAppCityArea = function (params) {
|
||||
return new Promise(function (resolve, reject) {
|
||||
HttpRequest(false, Config.api.appCityArea, 2, params, "GET", resolve, reject)
|
||||
})
|
||||
}
|
||||
|
||||
//获取离职
|
||||
apiQuery.getAppEmployeesLeave = function (params) {
|
||||
return new Promise(function (resolve, reject) {
|
||||
HttpRequest(false, Config.api.appEmployeesLeave, 2, params, "GET", resolve, reject)
|
||||
})
|
||||
}
|
||||
|
||||
//提交离职
|
||||
apiQuery.putAppEmployeesLeave = function (params) {
|
||||
return new Promise(function (resolve, reject) {
|
||||
HttpRequest(true, Config.api.appEmployeesLeave, 2, params, "PUT", resolve, reject)
|
||||
})
|
||||
}
|
||||
|
||||
//分配订单
|
||||
apiQuery.putAppCusorderV2Admins = function (params) {
|
||||
return new Promise(function (resolve, reject) {
|
||||
HttpRequest(true, Config.api.appCusorderV2Admins, 2, params, "PUT", resolve, reject)
|
||||
})
|
||||
}
|
||||
|
||||
//保单信息确认
|
||||
apiQuery.putAppCusorderdataInfo = function (params) {
|
||||
return new Promise(function (resolve, reject) {
|
||||
HttpRequest(true, Config.api.appCusorderdataInfo, 2, params, "PUT", resolve, reject)
|
||||
})
|
||||
}
|
||||
|
||||
//数据看板首页
|
||||
apiQuery.getAppBizStats = function (params) {
|
||||
return new Promise(function (resolve, reject) {
|
||||
HttpRequest(false, Config.api.appBizStats, 2, params, "GET", resolve, reject)
|
||||
})
|
||||
}
|
||||
|
||||
//客户数据
|
||||
apiQuery.getAppBizStats_customer = function (params) {
|
||||
return new Promise(function (resolve, reject) {
|
||||
HttpRequest(false, Config.api.appBizStats_customer, 2, params, "GET", resolve, reject)
|
||||
})
|
||||
}
|
||||
|
||||
//企微数据
|
||||
apiQuery.getAppBizStats_wxqy = function (params) {
|
||||
return new Promise(function (resolve, reject) {
|
||||
HttpRequest(false, Config.api.appBizStats_wxqy, 2, params, "GET", resolve, reject)
|
||||
})
|
||||
}
|
||||
|
||||
//订单数据
|
||||
apiQuery.getAppBizStats_order = function (params) {
|
||||
return new Promise(function (resolve, reject) {
|
||||
HttpRequest(false, Config.api.appBizStats_order, 2, params, "GET", resolve, reject)
|
||||
})
|
||||
}
|
||||
|
||||
//客户/订单走势图
|
||||
apiQuery.getAppBizStats_days = function (params) {
|
||||
return new Promise(function (resolve, reject) {
|
||||
HttpRequest(false, Config.api.appBizStats_days, 2, params, "GET", resolve, reject)
|
||||
})
|
||||
}
|
||||
|
||||
//客户数据二级
|
||||
apiQuery.getAppBizStats_customer_pid = function (params) {
|
||||
return new Promise(function (resolve, reject) {
|
||||
HttpRequest(false, Config.api.appBizStats_customer_pid, 2, params, "GET", resolve, reject)
|
||||
})
|
||||
}
|
||||
|
||||
//品牌数据二级
|
||||
apiQuery.getAppBizStats_order_series = function (params) {
|
||||
return new Promise(function (resolve, reject) {
|
||||
HttpRequest(false, Config.api.appBizStats_order_series, 2, params, "GET", resolve, reject)
|
||||
})
|
||||
}
|
||||
|
||||
//获取渠道经理数据分析入口数据
|
||||
apiQuery.getAppStatisticsStats = function (params) {
|
||||
return new Promise(function (resolve, reject) {
|
||||
HttpRequest(false, Config.api.appStatisticsStats, 2, params, "GET", resolve, reject)
|
||||
})
|
||||
}
|
||||
|
||||
//获取渠道经理数据分析数据
|
||||
apiQuery.getAppStatisticsStats_days = function (params) {
|
||||
return new Promise(function (resolve, reject) {
|
||||
HttpRequest(false, Config.api.appStatisticsStats_days, 2, params, "GET", resolve, reject)
|
||||
})
|
||||
}
|
||||
|
||||
//获取渠道经理数据分析数据
|
||||
apiQuery.getAppStatisticsStats_customer = function (params) {
|
||||
return new Promise(function (resolve, reject) {
|
||||
HttpRequest(false, Config.api.appStatisticsStats_customer, 2, params, "GET", resolve, reject)
|
||||
})
|
||||
}
|
||||
|
||||
//获取车辆选装包
|
||||
apiQuery.getAppOptions = function (params) {
|
||||
return new Promise(function (resolve, reject) {
|
||||
HttpRequest(false, Config.api.appOptions, 2, params, "GET", resolve, reject)
|
||||
})
|
||||
}
|
||||
|
||||
//切换角色
|
||||
apiQuery.putAppResetgroupid = function (params) {
|
||||
return new Promise(function (resolve, reject) {
|
||||
HttpRequest(true, Config.api.appResetgroupid, 2, params, "PUT", resolve, reject)
|
||||
})
|
||||
}
|
||||
|
||||
export default apiQuery;
|
||||
@@ -134,6 +134,7 @@ let combineUrl = (DATA) => {
|
||||
let toEncrypt = (DATA) => {
|
||||
// let secretKey = randomString()
|
||||
let data = combineUrl(DATA)
|
||||
//console.log(data)//加密原始数据
|
||||
return md5.hex_md5(data);
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,277 @@
|
||||
import _ from '../../commons/js/commons'
|
||||
import Canvas from '../../commons/js/utils/canvas'
|
||||
let isGetImgInfo = false
|
||||
const app = getApp()
|
||||
Component({
|
||||
//组件的属性列表
|
||||
properties: {
|
||||
source: {
|
||||
type: String,
|
||||
value: 'goods'
|
||||
},
|
||||
isShow: {
|
||||
type: Boolean,
|
||||
value: false
|
||||
},
|
||||
isCreateQrcode: {
|
||||
type: Boolean,
|
||||
value: false
|
||||
},
|
||||
qccodeid: {
|
||||
type: String,
|
||||
value: ''
|
||||
},
|
||||
customImg: {
|
||||
type: String,
|
||||
value: ''
|
||||
},
|
||||
slogan: {
|
||||
type: String,
|
||||
value: ''
|
||||
},
|
||||
moments: {
|
||||
type: String,
|
||||
value: ''
|
||||
},
|
||||
},
|
||||
|
||||
//组件的初始数据
|
||||
data: {
|
||||
//headImg:app.getStorageByKey("userInfo").headimg,
|
||||
defaultQrcode: _.config.imgUrl + 'common/qr.jpg',
|
||||
imgs: [],
|
||||
tempPosterPath: '',
|
||||
showOptBtn:false,//操作按钮显示
|
||||
},
|
||||
|
||||
attached: function () {
|
||||
isGetImgInfo = false
|
||||
},
|
||||
|
||||
//数据监听
|
||||
observers: {
|
||||
'isCreateQrcode': function (e) {
|
||||
if (e) {
|
||||
this.getMaterialHomeQrcode()
|
||||
}
|
||||
},
|
||||
'isShow': function (e) {
|
||||
if (e) {
|
||||
this.setData({
|
||||
showOptBtn:false,
|
||||
})
|
||||
this.createPoster()
|
||||
}
|
||||
},
|
||||
'customImg': function (e) {
|
||||
if (e) {
|
||||
// this.setData({
|
||||
// headImg:app.getStorageByKey("userInfo").headimg,
|
||||
// })
|
||||
//头像
|
||||
//this.getImageInfo(this.data.headImg, 4)
|
||||
this.getImageInfo(this.data.customImg, 3)
|
||||
}
|
||||
},
|
||||
},
|
||||
|
||||
//组件的方法列表
|
||||
methods: {
|
||||
|
||||
// 转化网络图片,获取路径
|
||||
getImageInfo(src, index) {
|
||||
let that = this
|
||||
isGetImgInfo = false
|
||||
setTimeout(function () {
|
||||
wx.getImageInfo({
|
||||
src: src,
|
||||
success: (res) => {
|
||||
let arr = that.data.imgs
|
||||
arr[index] = res
|
||||
that.setData({
|
||||
imgs: arr
|
||||
})
|
||||
isGetImgInfo = true
|
||||
},
|
||||
fail: (err) => {
|
||||
console.log('error img is: ' + src)
|
||||
}
|
||||
})
|
||||
}, 200)
|
||||
},
|
||||
|
||||
//获取二维码
|
||||
getMaterialHomeQrcode() {
|
||||
let params = {};
|
||||
params['page'] = 'pages/special2/index';
|
||||
params['scene'] = this.data.qccodeid+'_'+app.getStorageByKey("userInfo").biz_id;
|
||||
params['width'] = 1280;
|
||||
_.apiQuery.getMaterialHomeQrcode(params).then(res => {
|
||||
this.getImageInfo(res.data.url, 2)
|
||||
}).catch(res => {
|
||||
//this.getImageInfo(this.data.defaultQrcode, 2)
|
||||
})
|
||||
},
|
||||
|
||||
//自定义海报
|
||||
customizePoster(CTX){
|
||||
|
||||
if(this.data.customImg){
|
||||
let that = this
|
||||
this.setData({
|
||||
canvasInfo:{
|
||||
width: parseFloat(this.data.imgs[3].width)+'px',
|
||||
height: parseFloat(this.data.imgs[3].height)+'px'
|
||||
}
|
||||
})
|
||||
|
||||
console.log(this.data.imgs[3].width)
|
||||
console.log(this.data.imgs[3].height)
|
||||
|
||||
//背景
|
||||
if (that.data.imgs[3]) {
|
||||
CTX.drawImage(that.data.imgs[3].path, 0, 0, that.data.imgs[3].width, that.data.imgs[3].height, 0, 0, that.data.imgs[3].width, that.data.imgs[3].height)
|
||||
}
|
||||
|
||||
// //头像
|
||||
// if (that.data.imgs[4]) {
|
||||
// Canvas.circleImage(CTX,that.data.imgs[4].path,20, (that.data.imgs[3].height-170)/2,22/2)
|
||||
// }
|
||||
|
||||
// //昵称
|
||||
// Canvas.drawTextOverflow(CTX, app.getStorageByKey("userInfo").nickname, 150, 1, 14, '#fff', 20, 46, (that.data.imgs[3].height-132)/2)
|
||||
|
||||
// //标语
|
||||
// if (that.data.slogan) {
|
||||
// Canvas.drawTextOverflow(CTX, that.data.slogan, 200, 2, 11, '#fff', 17, 20, (that.data.imgs[3].height-85)/2)
|
||||
// }
|
||||
|
||||
// //标语
|
||||
// if (that.data.slogan) {
|
||||
// Canvas.drawTextOverflow(CTX, that.data.slogan, 180, 2, 11, '#666', 17, 20, (that.data.imgs[3].height-100)/2)
|
||||
// }
|
||||
|
||||
//二维码
|
||||
if (that.data.imgs[2]) {
|
||||
if(this.data.imgs[3].width>this.data.imgs[3].height){
|
||||
Canvas.circleImage(CTX,that.data.imgs[2].path,parseFloat(this.data.imgs[3].width)-parseFloat(this.data.imgs[3].height/5.5)-30, parseFloat(this.data.imgs[3].height)-parseFloat(this.data.imgs[3].height/5.5)-30,parseFloat(this.data.imgs[3].height/11))
|
||||
}else{
|
||||
Canvas.circleImage(CTX,that.data.imgs[2].path,parseFloat(this.data.imgs[3].width)-parseFloat(this.data.imgs[3].width/5.5)-30, parseFloat(this.data.imgs[3].height)-parseFloat(this.data.imgs[3].width/5.5)-30,parseFloat(this.data.imgs[3].width/11))
|
||||
}
|
||||
}
|
||||
|
||||
setTimeout(function(){
|
||||
CTX.save()
|
||||
CTX.draw(true, function () {
|
||||
wx.hideLoading()
|
||||
that.saveCanvas()
|
||||
})
|
||||
},200)
|
||||
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
//生成海报
|
||||
createPoster() {
|
||||
let that = this
|
||||
wx.showLoading({
|
||||
title: '正在生成',
|
||||
})
|
||||
|
||||
if(isGetImgInfo){
|
||||
this.setData({
|
||||
tempPosterPath: ''
|
||||
})
|
||||
let ctx = wx.createCanvasContext('postercanvas', that)
|
||||
that.customizePoster(ctx)
|
||||
}
|
||||
},
|
||||
|
||||
//临时存储canvas
|
||||
saveCanvas() {
|
||||
let that = this
|
||||
wx.canvasToTempFilePath({
|
||||
canvasId: 'postercanvas',
|
||||
quality: 1,
|
||||
success: (res) => {
|
||||
// this.tempFilePath = res.tempFilePath
|
||||
that.setData({
|
||||
'tempPosterPath': res.tempFilePath
|
||||
})
|
||||
|
||||
setTimeout(function () {
|
||||
that.setData({
|
||||
showOptBtn:true,
|
||||
})
|
||||
},200)
|
||||
|
||||
},
|
||||
fail: (res) => {
|
||||
app.printErrorClient('poseterfail',['错误信息:临时存储canvas失败',JSON.stringify(res)])
|
||||
}
|
||||
}, this)
|
||||
},
|
||||
|
||||
//保存到相册
|
||||
saveToAblum() {
|
||||
let that = this
|
||||
wx.saveImageToPhotosAlbum({
|
||||
filePath: this.data.tempPosterPath,
|
||||
success: (res) => {
|
||||
_.utils.$toast('保存成功')
|
||||
},
|
||||
fail: (err) => {
|
||||
app.printErrorClient('poseterfail',['错误信息:图片保存失败',JSON.stringify(err)])
|
||||
if (err.errMsg == 'saveImageToPhotosAlbum:fail cancel') {
|
||||
_.utils.$toast('您已取消保存')
|
||||
} else if (err.errMsg == 'saveImageToPhotosAlbum:fail auth deny') {
|
||||
_.utils.$modal('提示', '保存图片失败,您可以点击确定设置获取相册权限后再尝试保存!', '去授权').then(res => {
|
||||
if (res) {
|
||||
wx.openSetting({}) // 打开小程序设置页面,可以设置权限
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
//隐藏海报弹框
|
||||
hidePoster() {
|
||||
this.setData({
|
||||
isShow: false
|
||||
})
|
||||
wx.hideLoading()
|
||||
},
|
||||
|
||||
//预览图片
|
||||
preview() {
|
||||
wx.previewImage({
|
||||
current: this.data.tempPosterPath, // 当前显示图片的http链接
|
||||
urls: [this.data.tempPosterPath] // 需要预览的图片http链接列表
|
||||
})
|
||||
},
|
||||
|
||||
//推送链接
|
||||
pushLink(e) {
|
||||
if(e.currentTarget.dataset.url){
|
||||
_.$router.openUrlScheme(e.currentTarget.dataset.url)
|
||||
}
|
||||
},
|
||||
|
||||
//复制内容
|
||||
copyWord(e){
|
||||
if(e.currentTarget.dataset.tx){
|
||||
wx.setClipboardData({
|
||||
data: e.currentTarget.dataset.tx,
|
||||
success (res) {
|
||||
_.utils.$toast('复制成功')
|
||||
}
|
||||
})
|
||||
}else{
|
||||
_.utils.$toast('目前无文案')
|
||||
}
|
||||
},
|
||||
|
||||
}
|
||||
})
|
||||
@@ -24,6 +24,10 @@ Component({
|
||||
type: Boolean,
|
||||
value: false
|
||||
},
|
||||
isCustomTabBar: { //是否有底部自定义TabBar
|
||||
type: Boolean,
|
||||
value: false
|
||||
},
|
||||
iconType: { //图标
|
||||
type: String,
|
||||
value: ''
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
<view slot="opt">这里是插入到组件slot中的内容</view> -->
|
||||
<view class="lcb-msg" style="{{isShow?'display:block':'display:none'}}" catchmove="aaa">
|
||||
<view class="msgBg" style="background-color: rgba(0, 0, 0, .6);"></view>
|
||||
<view class="msgMain {{isShow?'active':''}}" style="{{isTransparent?'background-color: transparent;':''}}" catchmove="aaa">
|
||||
<view class="msgMain {{isShow?'active':''}}" style="{{isTransparent?'background-color: transparent;':''}}{{isCustomTabBar?'margin-top: -95rpx;':''}}" catchmove="aaa">
|
||||
<block wx:if="{{isHasClose !=''}}">
|
||||
<view wx:if="{{isHasClose=='up'}}" class="close up">
|
||||
<text class="iconfont icon-guanbi1 color-fff" bindtap="close"></text>
|
||||
|
||||
+35
-16
@@ -188,6 +188,26 @@ Page({
|
||||
urls:end_mileage,
|
||||
})
|
||||
}
|
||||
else if(e.currentTarget.dataset.type=='edit_transport'){
|
||||
let transportImg = []
|
||||
this.data.transport.forEach(item => {
|
||||
transportImg.push(item.src)
|
||||
})
|
||||
wx.previewImage({
|
||||
current:e.currentTarget.dataset.current,
|
||||
urls:transportImg,
|
||||
})
|
||||
}
|
||||
else if(e.currentTarget.dataset.type=='edit_photos'){
|
||||
let photos = []
|
||||
this.data.photos.forEach(item => {
|
||||
photos.push(item.src)
|
||||
})
|
||||
wx.previewImage({
|
||||
current:e.currentTarget.dataset.current,
|
||||
urls:photos,
|
||||
})
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
@@ -329,6 +349,7 @@ Page({
|
||||
title: '图片上传中',
|
||||
})
|
||||
let transport=that.data.transport
|
||||
let k = 0
|
||||
for (let i = 0; i < res1.tempFilePaths.length; i++) {
|
||||
//上传图片
|
||||
wx.uploadFile({
|
||||
@@ -339,6 +360,7 @@ Page({
|
||||
'app': 'liche'
|
||||
},
|
||||
success: (resp) => {
|
||||
k = k + 1
|
||||
resp.data = JSON.parse(resp.data);
|
||||
wx.hideLoading();
|
||||
if (resp.data.code == 200) {
|
||||
@@ -349,23 +371,20 @@ Page({
|
||||
src:imgdata.data.full_url,
|
||||
})
|
||||
transport=transport.concat(list)
|
||||
if(i+1==res1.tempFilePaths.length){
|
||||
setTimeout(function () {
|
||||
let params = {};
|
||||
params['id'] = that.data.info.id;
|
||||
params['type'] = 0;
|
||||
let imgs = []
|
||||
transport.forEach(item => {
|
||||
imgs.push(item.value)
|
||||
if(k == res1.tempFilePaths.length){
|
||||
let params = {};
|
||||
params['id'] = that.data.info.id;
|
||||
params['type'] = 0;
|
||||
let imgs = []
|
||||
transport.forEach(item => {
|
||||
imgs.push(item.value)
|
||||
})
|
||||
params['imgs'] = imgs;
|
||||
_.apiQuery.postAppTransferTransport(params).then(res => {
|
||||
that.setData({
|
||||
transport,
|
||||
})
|
||||
params['imgs'] = imgs;
|
||||
_.apiQuery.postAppTransferTransport(params).then(res => {
|
||||
that.setData({
|
||||
transport,
|
||||
})
|
||||
})
|
||||
}, 500);
|
||||
|
||||
})
|
||||
}
|
||||
}else{
|
||||
wx.showToast({
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
<block wx:for='{{transport}}' wx:for-item='transport' wx:for-index="index" wx:key='transport'>
|
||||
<view class="inline-block img-200x180 mr20 relative">
|
||||
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-guanbi1 inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-1" bindtap="delTransport" data-index="{{index}}" ></i>
|
||||
<image class='img-200x180 ulib-r10' src='{{transport.src}}' mode='aspectFill'></image>
|
||||
<image class='img-200x180 ulib-r10' src='{{transport.src}}' mode='aspectFill' bindtap="previewImage" data-type="edit_transport" data-current="{{transport.src}}"></image>
|
||||
</view>
|
||||
</block>
|
||||
<block wx:if="{{transport.length<10}}">
|
||||
@@ -119,7 +119,7 @@
|
||||
<block wx:for='{{photos}}' wx:for-item='photos' wx:for-index="index" wx:key='photo'>
|
||||
<view class="inline-block img-200x180 ml10 mr10 relative">
|
||||
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-guanbi1 inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-1" bindtap="delPic" data-index="{{index}}" ></i>
|
||||
<image class='img-200x180 ulib-r10' src='{{photos.src}}' mode='aspectFill'></image>
|
||||
<image class='img-200x180 ulib-r10' src='{{photos.src}}' mode='aspectFill' bindtap="previewImage" data-type="edit_photos" data-current="{{photos.src}}"></image>
|
||||
</view>
|
||||
</block>
|
||||
<block wx:if="{{photos.length==0}}">
|
||||
@@ -192,7 +192,7 @@
|
||||
<block wx:for='{{photos}}' wx:for-item='photos' wx:for-index="index" wx:key='photo'>
|
||||
<view class="inline-block img-200x180 ml10 mr10 relative">
|
||||
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-guanbi1 inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-1" bindtap="delPic" data-index="{{index}}" ></i>
|
||||
<image class='img-200x180 ulib-r10' src='{{photos.src}}' mode='aspectFill'></image>
|
||||
<image class='img-200x180 ulib-r10' src='{{photos.src}}' mode='aspectFill' bindtap="previewImage" data-type="edit_photos" data-current="{{photos.src}}"></image>
|
||||
</view>
|
||||
</block>
|
||||
<block wx:if="{{photos.length==0}}">
|
||||
|
||||
+215
-10
@@ -30,6 +30,16 @@ Page({
|
||||
of2_id:'',
|
||||
of1Index:-1,
|
||||
of2Index:-1,
|
||||
|
||||
cityIndex:-1,
|
||||
city_id:'',
|
||||
countyIndex:-1,
|
||||
county_id:'',
|
||||
|
||||
isShowExist:false, //客户是否已存在
|
||||
wxgr:0,//是否添加个微
|
||||
wxgrimg:'',//个微
|
||||
wxgrimg_url:'',//个微
|
||||
},
|
||||
//生命周期函数--监听页面加载
|
||||
onLoad: function (options) {
|
||||
@@ -42,10 +52,17 @@ Page({
|
||||
// this.getAppSeriesBrands()
|
||||
//获取列表筛选条件-时间
|
||||
this.getAppCustomersFilter()
|
||||
//线索来源
|
||||
//客户来源
|
||||
this.getAppCustomersOffline_sources()
|
||||
//客户标签
|
||||
this.getAppCustomersTag()
|
||||
|
||||
if(this.data.status == 1){
|
||||
this.setData({
|
||||
buy_time:3,
|
||||
})
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
//获取车型品牌
|
||||
@@ -156,6 +173,7 @@ Page({
|
||||
of2Index:-1,
|
||||
of2Arr:[],
|
||||
status:e.detail.value,
|
||||
buy_time:e.detail.value==1?'3':'',
|
||||
})
|
||||
this.getAppCustomersOffline_sources()
|
||||
}
|
||||
@@ -263,24 +281,42 @@ Page({
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
else if (that.data.of_id == '' ) {
|
||||
else if (that.data.sources.length>0&&that.data.of_id == '' ) {
|
||||
wx.showToast({
|
||||
title: '请选择线索来源',
|
||||
title: '请选择客户来源',
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
else if (that.data.sources[that.data.of1Index].list.length>0&&that.data.of2_id == '' ) {
|
||||
else if (that.data.sources.length>0&&that.data.sources[that.data.of1Index].list.length>0&&that.data.of2_id == '' ) {
|
||||
wx.showToast({
|
||||
title: '请选择'+that.data.sources[that.data.of1Index].name+'类型',
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
else if (that.data.city_id == '' ) {
|
||||
wx.showToast({
|
||||
title: '请选择所在城市',
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
else if (that.data.county_id == '' ) {
|
||||
wx.showToast({
|
||||
title: '请选择所在地区',
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
else if (that.data.buy_time == '' ) {
|
||||
wx.showToast({
|
||||
title: '请选择预计购车时间',
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
else if(this.data.wxgr==1&&this.data.wxgrimg==''){
|
||||
wx.showToast({
|
||||
title: '请上传个微截图',
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
// else if(that.data.car_id == '' ){
|
||||
// wx.showToast({
|
||||
// title: '请选择车系车型',
|
||||
@@ -312,10 +348,18 @@ Page({
|
||||
// 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.of_id != ''){
|
||||
params['of_id'] = this.data.of_id;
|
||||
}
|
||||
if(this.data.of2_id != ''){
|
||||
params['of2_id'] = this.data.of2_id;
|
||||
}
|
||||
params['wxgr'] = this.data.wxgr;
|
||||
if(this.data.wxgr==1){
|
||||
params['wxgrimg'] = this.data.wxgrimg;
|
||||
}
|
||||
params['city_id'] = this.data.city_id;
|
||||
params['county_id'] = this.data.county_id;
|
||||
params['buy_time'] = this.data.buy_time;
|
||||
_.apiQuery.postAppCustomers(params).then(res => {
|
||||
|
||||
@@ -377,27 +421,34 @@ Page({
|
||||
this.setData({
|
||||
submitFlag: false,
|
||||
})
|
||||
if(res.data.id){
|
||||
wx.hideToast();
|
||||
this.setData({
|
||||
isShowExist: true,
|
||||
exist: res,
|
||||
})
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
//线索来源
|
||||
//客户来源
|
||||
getAppCustomersOffline_sources(){
|
||||
let params = {};
|
||||
params['status'] = this.data.status;
|
||||
_.apiQuery.getAppCustomersOffline_sources(params).then(res => {
|
||||
let of1Arr = []
|
||||
res.data.forEach(item => {
|
||||
res.data.sources.forEach(item => {
|
||||
of1Arr.push(item.name)
|
||||
})
|
||||
this.setData({
|
||||
of1Arr,
|
||||
sources:res.data
|
||||
sources:res.data.sources
|
||||
})
|
||||
});
|
||||
},
|
||||
|
||||
//线索来源
|
||||
//客户来源
|
||||
changeOf1(e) {
|
||||
if(this.data.of1Index!=e.detail.value){
|
||||
let of2Arr = []
|
||||
@@ -426,8 +477,14 @@ Page({
|
||||
getAppCustomersTag(){
|
||||
_.apiQuery.getAppCustomersTag().then(res => {
|
||||
this.setData({
|
||||
taglList:res.data,
|
||||
city_id:res.data.city_id,
|
||||
county_id:res.data.county_id,
|
||||
taglList:res.data.tags&&res.data.tags.length>0?res.data.tags:[],
|
||||
})
|
||||
//获取城市
|
||||
this.getAppCityArea_city()
|
||||
//获取地区
|
||||
this.getAppCityArea_county()
|
||||
});
|
||||
},
|
||||
|
||||
@@ -450,4 +507,152 @@ Page({
|
||||
})
|
||||
},
|
||||
|
||||
|
||||
//获取城市
|
||||
getAppCityArea_city(){
|
||||
let params = {};
|
||||
params['type'] = 'city';
|
||||
_.apiQuery.getAppCityArea(params).then(res => {
|
||||
let cityArr = []
|
||||
let cityIndex = -1
|
||||
res.data.list.forEach((item,index) => {
|
||||
cityArr.push(item.name)
|
||||
if(this.data.city_id == item.id){
|
||||
cityIndex = index
|
||||
}
|
||||
})
|
||||
this.setData({
|
||||
cityIndex,
|
||||
cityArr,
|
||||
city:res.data.list
|
||||
})
|
||||
});
|
||||
},
|
||||
|
||||
//获取行政区
|
||||
getAppCityArea_county(){
|
||||
let params = {};
|
||||
params['pid'] = this.data.city_id;
|
||||
params['type'] = 'county';
|
||||
_.apiQuery.getAppCityArea(params).then(res => {
|
||||
let countyArr = []
|
||||
let countyIndex = -1
|
||||
res.data.list.forEach((item,index) => {
|
||||
countyArr.push(item.name)
|
||||
if(this.data.county_id == item.id){
|
||||
countyIndex = index
|
||||
}
|
||||
})
|
||||
this.setData({
|
||||
countyIndex,
|
||||
countyArr,
|
||||
county:res.data.list
|
||||
})
|
||||
});
|
||||
},
|
||||
|
||||
//选择城市
|
||||
changeCity(e) {
|
||||
if(this.data.cityIndex!=e.detail.value){
|
||||
this.setData({
|
||||
cityIndex:e.detail.value,
|
||||
city_id:this.data.city[e.detail.value].id,
|
||||
})
|
||||
this.getAppCityArea_county()
|
||||
}
|
||||
},
|
||||
|
||||
//选择地区
|
||||
changeCounty(e) {
|
||||
if(this.data.countyIndex!=e.detail.value){
|
||||
this.setData({
|
||||
countyIndex:e.detail.value,
|
||||
county_id:this.data.county[e.detail.value].id,
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
//查看存在客户信息
|
||||
viewDetails(e){
|
||||
wx.redirectTo({
|
||||
url: '/pages/customer/detail/index?id=' + this.data.exist.data.id
|
||||
})
|
||||
},
|
||||
|
||||
//关闭客户已存在提示
|
||||
colseExist(){
|
||||
this.setData({
|
||||
isShowExist: false,
|
||||
})
|
||||
},
|
||||
|
||||
//是否添加个微
|
||||
switchWxgr:function(e){
|
||||
this.setData({
|
||||
wxgr:e.detail.value ? 1 :0
|
||||
})
|
||||
},
|
||||
|
||||
//选择图片
|
||||
chooseImg(e) {
|
||||
let that = this
|
||||
|
||||
//上传个微截图
|
||||
if(e.currentTarget.dataset.type=='gw_img'){
|
||||
wx.chooseImage({
|
||||
count: 1, // 默认9
|
||||
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||||
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||||
success(res) {
|
||||
wx.showLoading({
|
||||
title: '上传中',
|
||||
})
|
||||
wx.uploadFile({
|
||||
url:_.config.api.upImg,
|
||||
filePath:res.tempFilePaths[0],
|
||||
name: 'img',
|
||||
formData: {
|
||||
'app': 'liche'
|
||||
},
|
||||
success: (resp) => {
|
||||
resp.data = JSON.parse(resp.data);
|
||||
if (resp.data.code == 200) {
|
||||
wx.hideLoading();
|
||||
that.setData({
|
||||
wxgrimg:resp.data.data.url,
|
||||
wxgrimg_url:resp.data.data.full_url,
|
||||
})
|
||||
}else{
|
||||
wx.hideLoading();
|
||||
wx.showToast({
|
||||
title: '上传失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
},
|
||||
})
|
||||
},
|
||||
fail: res => {
|
||||
wx.showToast({
|
||||
title: '文件选择失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
//查看图片
|
||||
previewImage(e){
|
||||
if(e.currentTarget.dataset.type=='gw_img'){
|
||||
wx.previewImage({
|
||||
current:this.data.wxgrimg_url,
|
||||
urls:[this.data.wxgrimg_url],
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
})
|
||||
@@ -72,27 +72,49 @@
|
||||
</picker>
|
||||
</view>
|
||||
</view> -->
|
||||
<block wx:if="{{sources.length>0}}">
|
||||
<view class="relative bbs-1-eb last-b-none pl140 font-28">
|
||||
<view class="absolute left-0 box-middle">客户来源</view>
|
||||
<view class="pt30 pb30 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 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>
|
||||
</block>
|
||||
<view class="relative bbs-1-eb last-b-none pl140 font-28">
|
||||
<view class="absolute left-0 box-middle">线索来源</view>
|
||||
<view class="absolute left-0 box-middle">所在城市</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666">
|
||||
<picker bindchange="changeOf1" value="{{of1Index}}" range="{{of1Arr}}">
|
||||
<text class="color-ccc" wx:if="{{of1Index == -1}}">请选择</text>
|
||||
<text wx:else>{{of1Arr[of1Index]}}</text>
|
||||
<picker bindchange="changeCity" value="{{cityIndex}}" range="{{cityArr}}">
|
||||
<text class="color-ccc" wx:if="{{cityIndex == -1}}">请选择</text>
|
||||
<text wx:else>{{cityArr[cityIndex]}}</text>
|
||||
<i class="iconfont ml5 icon-gengduo"></i>
|
||||
</picker>
|
||||
</view>
|
||||
</view>
|
||||
<view class="relative bbs-1-eb last-b-none pl140 font-28" wx:if="{{of2Arr.length>0}}">
|
||||
<view class="absolute left-0 box-middle">{{sources[of1Index].name}}</view>
|
||||
<view class="relative bbs-1-eb last-b-none pl140 font-28" wx:if="{{city_id}}">
|
||||
<view class="absolute left-0 box-middle">所在地区</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666">
|
||||
<picker bindchange="changeOf2" value="{{of2Index}}" range="{{of2Arr}}">
|
||||
<text class="color-ccc" wx:if="{{of2Index == -1}}">请选择</text>
|
||||
<text wx:else>{{of2Arr[of2Index]}}</text>
|
||||
<picker bindchange="changeCounty" value="{{countyIndex}}" range="{{countyArr}}">
|
||||
<text class="color-ccc" wx:if="{{countyIndex == -1}}">请选择</text>
|
||||
<text wx:else>{{countyArr[countyIndex]}}</text>
|
||||
<i class="iconfont ml5 icon-gengduo"></i>
|
||||
</picker>
|
||||
</view>
|
||||
</view>
|
||||
<view class="relative bbs-1-eb last-b-none pl190">
|
||||
<view class="relative bbs-1-eb last-b-none pl190" wx:if="{{status==0}}">
|
||||
<view class="absolute left-0 box-middle font-28 color-333">预计购车时间</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666">
|
||||
<picker bindchange="changeTime" value="{{timeIndex}}" range="{{timeArray}}">
|
||||
@@ -102,9 +124,34 @@
|
||||
</picker>
|
||||
</view>
|
||||
</view>
|
||||
<view class="relative bbs-1-eb last-b-none pl180 font-28">
|
||||
<view class="absolute left-0 box-middle">是否添加个微</view>
|
||||
<view class="relative pt30 pb30 text-right">
|
||||
<switch checked="{{wxgr==1}}" bindchange="switchWxgr" type="switch" color='#36afa2' style="zoom:0.8" />
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="mt30 text-center" wx:if="{{wxgr==1}}">
|
||||
<view class="inline-block img-250x150 relative ulib-r10 overflowhidden">
|
||||
<block wx:if="{{wxgrimg_url}}">
|
||||
<view class="inline-block bg-f8 img-250x150 relative ulib-r10 overflowhidden">
|
||||
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-shuaxin inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-1" bindtap="chooseImg" data-type="gw_img"></i>
|
||||
<image class='block wp100 img-250x150 ulib-r10' src='{{wxgrimg_url}}' mode='aspectFit' bindtap="previewImage" data-type="gw_img"></image>
|
||||
</view>
|
||||
</block>
|
||||
<block wx:else>
|
||||
<view class="inline-block bg-f8 img-250x150 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-type="gw_img">
|
||||
<view class="absolute left-0 right-0 box-middle color-ccc">
|
||||
<i class="iconfont icon-paizhao font-42"></i>
|
||||
<view class="mt10 font-22">上传个微截图</view>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<block wx:for='{{taglList}}' wx:for-item='list' wx:for-index='i' wx:key='i'>
|
||||
<view class="relative mt40">
|
||||
<view class="relative mt30">
|
||||
<view class="font-28">
|
||||
<text class="text-middle">{{list.name}}</text>
|
||||
<text class="text-middle font-24" wx:if="{{list.type=='radio'}}">(单选)</text>
|
||||
@@ -112,24 +159,43 @@
|
||||
</view>
|
||||
<view class="fn-clear" wx:if="{{list.type=='radio'}}">
|
||||
<block wx:for='{{list.list}}' wx:for-item='option' wx:for-index='j' wx:key='j'>
|
||||
<view class="inline-block space-nowrap mt20 mr20 pt15 pb15 pl30 pr30 font-22 ulib-r10 {{option.checked?'bg-36afa2 color-fff':'bg-f6 color-666'}}" bindtap="radioPicker" data-i="{{i}}" data-j="{{j}}">{{option.name}}</view>
|
||||
<view class="inline-block space-nowrap mt20 mr20 pt15 pb15 pl30 pr30 font-22 ulib-r10 {{option.checked?'bg-36afa2 color-fff':'bg-f6 color-666'}}" bindtap="radioPicker" data-i="{{i}}" data-j="{{j}}">
|
||||
{{option.name}}
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
<view class="fn-clear" wx:if="{{list.type=='checkbox'}}">
|
||||
<block wx:for='{{list.list}}' wx:for-item='option' wx:for-index='j' wx:key='j'>
|
||||
<view class="inline-block space-nowrap mt20 mr20 pt15 pb15 pl30 pr30 font-22 ulib-r10 {{option.checked?'bg-36afa2 color-fff':'bg-f6 color-666'}}" bindtap="checkPicker" data-i="{{i}}" data-j="{{j}}">{{option.name}}</view>
|
||||
<view class="inline-block space-nowrap mt20 mr20 pt15 pb15 pl30 pr30 font-22 ulib-r10 {{option.checked?'bg-36afa2 color-fff':'bg-f6 color-666'}}" bindtap="checkPicker" data-i="{{i}}" data-j="{{j}}">
|
||||
{{option.name}}
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
|
||||
</view>
|
||||
|
||||
<view class="mt60 pl60 pr60">
|
||||
<button class="wp100 btn-36afa2 pt10 pb10 text-center font-32 color-fff ulib-r750" hover-class="btn-36afa2-hover" disabled="{{submitFlag}}" bindtap="postAppCustomers">确认建卡</button>
|
||||
<button class="wp100 btn-36afa2 pt10 pb10 text-center font-32 color-fff ulib-r750" hover-class="btn-36afa2-hover" disabled="{{submitFlag}}" bindtap="postAppCustomers">
|
||||
确认建卡
|
||||
</button>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
<lcb-footer></lcb-footer>
|
||||
<lcb-backChannel></lcb-backChannel>
|
||||
<lcb-backChannel></lcb-backChannel>
|
||||
<!-- 客户已存在 -->
|
||||
<lcb-msg isShow="{{isShowExist}}" isHasClose="{{true}}">
|
||||
<view slot="content">
|
||||
<view class="pt60 pl60 pr60 pb50">
|
||||
<view class="font-36 text-center">{{exist.msg}}</view>
|
||||
</view>
|
||||
<view class="pl60 pr60 pb50 text-center font-32 color-666">
|
||||
<button bindtap="viewDetails" class="inline-block wp50 btn-36afa2 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover" wx:if="{{exist.data.owner==1}}">
|
||||
前往查看
|
||||
</button>
|
||||
<button bindtap="colseExist" class="inline-block wp50 btn-36afa2 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover" wx:else>
|
||||
知道了
|
||||
</button>
|
||||
</view>
|
||||
</view>
|
||||
</lcb-msg>
|
||||
@@ -14,6 +14,17 @@ Page({
|
||||
employeeArray:[],//店员选择列表
|
||||
employeeList:[],//店员信息列表
|
||||
employeeIndex:-1,//选择店员索引
|
||||
|
||||
isShowTimePicker:false,
|
||||
weekList:['日','一','二','三','四','五','六'],
|
||||
dateList:[],
|
||||
nextIndex:-1,//计划回访时间
|
||||
|
||||
distTabId:1,
|
||||
distBizIndex:-1,
|
||||
distBiz_id:'',
|
||||
bizArray: [],
|
||||
bizobj: [],
|
||||
},
|
||||
onLoad(options) {
|
||||
for (let key in options) {
|
||||
@@ -23,6 +34,8 @@ Page({
|
||||
}
|
||||
this.getAppCustomersList()
|
||||
this.getAppEmployees()
|
||||
|
||||
this.getTimePicker()
|
||||
},
|
||||
|
||||
onShow(){
|
||||
@@ -101,10 +114,17 @@ Page({
|
||||
res.data.list.forEach(item => {
|
||||
employeeArray.push(item.uname)
|
||||
})
|
||||
let bizArray = []
|
||||
res.data.bizs.forEach(item => {
|
||||
bizArray.push(item.name)
|
||||
})
|
||||
this.setData({
|
||||
employeeArray:employeeArray,
|
||||
employeeList:res.data.list,
|
||||
employeeIndex:-1,
|
||||
distributetabs:res.data.tabs,
|
||||
bizArray:bizArray,
|
||||
bizobj: res.data.bizs,
|
||||
})
|
||||
}
|
||||
wx.stopPullDownRefresh()
|
||||
@@ -127,6 +147,12 @@ Page({
|
||||
optEmployees(){
|
||||
this.setData({
|
||||
isShowEmployees:!this.data.isShowEmployees,
|
||||
employeeIndex:-1,
|
||||
employee_id:'',
|
||||
nextIndex:-1,
|
||||
distTabId:1,
|
||||
distBiz_id:'',
|
||||
distBizIndex:-1,
|
||||
})
|
||||
},
|
||||
|
||||
@@ -140,28 +166,48 @@ Page({
|
||||
//分配客户
|
||||
putAppCustomersAdmins(){
|
||||
let that = this
|
||||
if (that.data.employeeIndex == -1 ) {
|
||||
if (that.data.distTabId==1&&that.data.employeeIndex == -1 ) {
|
||||
wx.showToast({
|
||||
title: '请选择店员',
|
||||
icon: 'none'
|
||||
})
|
||||
}else{
|
||||
}
|
||||
else if (that.data.distTabId==1&&that.data.nextIndex == -1 ) {
|
||||
wx.showToast({
|
||||
title: '请选择计划回访时间',
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
else if (that.data.distTabId==2&&that.data.distBizIndex == -1 ) {
|
||||
wx.showToast({
|
||||
title: '请选择门店',
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
else{
|
||||
that.setData({
|
||||
submitFlag: true,
|
||||
})
|
||||
let params = {};
|
||||
params['ids'] = that.data.ids;
|
||||
params['admin_id'] = that.data.admin_id;
|
||||
if(that.data.distTabId==1){
|
||||
params['admin_id'] = that.data.admin_id;
|
||||
params['visit_time'] = that.data.dateList[that.data.nextIndex].year +'-'+ that.data.dateList[that.data.nextIndex].month +'-'+ that.data.dateList[that.data.nextIndex].day;
|
||||
}
|
||||
if(that.data.distTabId==2){
|
||||
params['biz_id'] = that.data.distBiz_id;
|
||||
}
|
||||
_.apiQuery.putAppCustomersAdmins(params).then(res => {
|
||||
|
||||
wx.showToast({
|
||||
title: '分配成功',
|
||||
icon: 'success',
|
||||
duration: 2000
|
||||
duration: 2000,
|
||||
})
|
||||
that.setData({
|
||||
isShowEmployees:false,
|
||||
submitFlag:false,
|
||||
nextIndex:-1,
|
||||
})
|
||||
that.onPullDownRefresh()
|
||||
|
||||
@@ -173,6 +219,149 @@ Page({
|
||||
}
|
||||
},
|
||||
|
||||
//候取当前月日历
|
||||
getTimePicker(){
|
||||
let date = new Date();
|
||||
let cYear = date.getFullYear(); //年份
|
||||
let cMonth = date.getMonth()+1; //当前月份
|
||||
let cDay = date.getDate();//当前日期
|
||||
let fweek = new Date(cYear,cMonth-1,1).getDay();//本月第一天星期几
|
||||
let days = new Date(cYear,cMonth,-1)
|
||||
let cn = days.getDate()+1 //当月天数
|
||||
let rn = ''//上个月天数
|
||||
if (cMonth === 1) {
|
||||
rn = 31
|
||||
} else {
|
||||
rn = new Date(cYear,cMonth-1,-1).getDate()+1
|
||||
}
|
||||
|
||||
let dateList = []
|
||||
for(let i=0;i<fweek;i++){
|
||||
dateList.push({
|
||||
isopt:false,
|
||||
checked:false,
|
||||
year:cMonth == 1?cYear-1:cYear,
|
||||
month:cMonth == 1?12:cMonth-1,
|
||||
day:rn-i,
|
||||
})
|
||||
}
|
||||
for(let i=1;i<=cn;i++){
|
||||
dateList.push({
|
||||
isopt:false,
|
||||
checked:false,
|
||||
year:cYear,
|
||||
month:cMonth,
|
||||
day:i
|
||||
})
|
||||
}
|
||||
|
||||
if((cn-cDay)>29){//相差15天以上不用特意补下个月
|
||||
let lweek = new Date(cYear,cMonth-1,cn).getDay();//本月最后天星期几
|
||||
let sbu = 6 - lweek //最后一周补齐
|
||||
for(let i=1;i<=sbu;i++){
|
||||
dateList.push({
|
||||
isopt:false,
|
||||
checked:false,
|
||||
year:cMonth == 12?cYear+1:cYear,
|
||||
month:cMonth == 12?1:cMonth+1,
|
||||
day:i
|
||||
})
|
||||
}
|
||||
}else{
|
||||
let zbu = 30 - (cn-cDay) //至少要补多少天
|
||||
let bweek = ''//至少要补的最后一天星期几
|
||||
if(cMonth==12){
|
||||
bweek = new Date(cYear+1,1,zbu).getDay()
|
||||
}else{
|
||||
bweek = new Date(cYear,cMonth,zbu).getDay()
|
||||
}
|
||||
let sbu = zbu + 6 - bweek //最后一周补齐
|
||||
for(let i=1;i<=sbu;i++){
|
||||
dateList.push({
|
||||
isopt:false,
|
||||
checked:false,
|
||||
year:cMonth == 12?cYear+1:cYear,
|
||||
month:cMonth == 12?1:cMonth+1,
|
||||
day:i
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
this.setData({
|
||||
cYear,
|
||||
cMonth,
|
||||
cDay,
|
||||
dateList,
|
||||
})
|
||||
|
||||
},
|
||||
|
||||
//显示隐藏时间选择器
|
||||
optShowTimePicker(){
|
||||
this.setData({
|
||||
isShowTimePicker:!this.data.isShowTimePicker,
|
||||
})
|
||||
|
||||
let kd = 15 //可操作天数
|
||||
// if(this.data.level[this.data.levelIndex]=='H'){
|
||||
// kd = 3
|
||||
// }else if(this.data.level[this.data.levelIndex]=='A'){
|
||||
// kd = 7
|
||||
// }else if(this.data.level[this.data.levelIndex]=='B'){
|
||||
// kd = 15
|
||||
// }
|
||||
let cindex = ''
|
||||
let dateList = this.data.dateList
|
||||
dateList.forEach((item,index) => {
|
||||
if(item.year == this.data.cYear&&item.month == this.data.cMonth&&item.day == this.data.cDay){
|
||||
cindex = index
|
||||
}
|
||||
})
|
||||
dateList.forEach((item,index) => {
|
||||
item.isopt = false
|
||||
if(cindex<=index&&index<cindex+kd+1){
|
||||
item.isopt = true
|
||||
}
|
||||
})
|
||||
this.setData({
|
||||
dateList,
|
||||
})
|
||||
|
||||
},
|
||||
|
||||
//选择计划回访时间
|
||||
optday(e){
|
||||
if(this.data.nextIndex != e.currentTarget.dataset.index){
|
||||
this.setData({
|
||||
nextIndex:e.currentTarget.dataset.index,
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
//切换分配本地,其他门店
|
||||
changeDistTab(e){
|
||||
this.setData({
|
||||
distTabId:e.currentTarget.dataset.id,
|
||||
employeeIndex:-1,
|
||||
employee_id:'',
|
||||
nextIndex:-1,
|
||||
distBiz_id:'',
|
||||
distBizIndex:-1,
|
||||
})
|
||||
},
|
||||
|
||||
//分配选择门店
|
||||
changeDistBiz(e) {
|
||||
let distBiz_id = ''
|
||||
if(e.detail.value >= 0){
|
||||
distBiz_id = this.data.bizobj[e.detail.value].id
|
||||
}
|
||||
this.setData({
|
||||
distBiz_id,
|
||||
distBizIndex:e.detail.value,
|
||||
})
|
||||
},
|
||||
|
||||
//页面相关事件处理函数--监听用户下拉动作
|
||||
onPullDownRefresh(){
|
||||
this.setData({
|
||||
|
||||
@@ -6,10 +6,21 @@
|
||||
<block wx:for='{{list}}' wx:key='index' wx:key="index">
|
||||
<label class="block inner40 relative ulib-r10 box-shadow-000-10-10 mb30 overflowhidden">
|
||||
<view class="relative pr180">
|
||||
<view class="font-32">{{item.name}}</view>
|
||||
<view class="mt10 font-22 color-666">{{item.mobile}}</view>
|
||||
<view class="font-32">
|
||||
<text class="text-middle text-bold">{{item.name}}</text>
|
||||
<text class="text-middle font-26 color-666">({{item.mobile}})</text>
|
||||
</view>
|
||||
<checkbox class="absolute right-0 box-middle font-30" value="{{item.id}}" checked="{{item.checked}}"/>
|
||||
</view>
|
||||
<checkbox class="absolute right-0 box-middle mr30 font-30" value="{{item.id}}" checked="{{item.checked}}"/>
|
||||
<view class="text-nowrap" wx:if="{{item.reassign}}">
|
||||
<text class="inline-block mr10 pl10 pr10 bg-666 font-18 color-fff ulib-r750">{{item.reassign}}</text>
|
||||
</view>
|
||||
<block wx:for="{{item.other_data}}" wx:for-index='key' wx:for-item='value' wx:key='i'>
|
||||
<view class="mt25 fn-clear font-28" wx:if="{{value}}">
|
||||
<view class="fn-fl color-333">{{key}}</view>
|
||||
<view class="fn-fr wp60 text-nowrap text-right color-666">{{value}}</view>
|
||||
</view>
|
||||
</block>
|
||||
</label>
|
||||
</block>
|
||||
</checkbox-group>
|
||||
@@ -30,16 +41,76 @@
|
||||
<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="{{employeeArray}}">
|
||||
<text class="color-ccc" wx:if="{{employeeIndex == -1}}">请选择</text>
|
||||
<text wx:else>{{employeeArray[employeeIndex]}}</text>
|
||||
<i class="absolute right-0 box-middle iconfont mr30 color-999 icon-xiala"></i>
|
||||
</picker>
|
||||
<view class="mt10 font-28 text-center fn-flex" wx:if="{{distributetabs.length > 0}}">
|
||||
<block wx:for="{{distributetabs}}" wx:key="index">
|
||||
<view class="fn-flex-item relative ml10 mr10 pt20 pb20 ulib-r10 {{distTabId == item.id?'bg-36afa2 color-fff':'bg-f6'}}" bindtap="changeDistTab" data-id="{{item.id}}">{{item.name}}</view>
|
||||
</block>
|
||||
</view>
|
||||
<block wx:if="{{distTabId == 1}}">
|
||||
<view class="mt20 bds-2-eb inner20 font-28 color-666 fn-clear ulib-r10">
|
||||
<view class="fn-fl">销售顾问</view>
|
||||
<picker class="fn-fr wp60 text-right" bindchange="changeEmployee" value="{{employeeIndex}}" range="{{employeeArray}}">
|
||||
<text class="color-ccc" wx:if="{{employeeIndex == -1}}">请选择</text>
|
||||
<text wx:else>{{employeeArray[employeeIndex]}}</text>
|
||||
<i class="iconfont ml5 icon-gengduo color-ccc"></i>
|
||||
</picker>
|
||||
</view>
|
||||
<view class="mt20 bds-2-eb inner20 font-28 color-666 fn-clear ulib-r10">
|
||||
<view class="fn-fl">计划回访时间</view>
|
||||
<view bindtap="optShowTimePicker" class="fn-fr wp60 text-right">
|
||||
<text class="color-ccc" wx:if="{{nextIndex == -1}}">请选择</text>
|
||||
<text wx:else>{{dateList[nextIndex].year}}-{{dateList[nextIndex].month}}-{{dateList[nextIndex].day}}</text>
|
||||
<i class="iconfont ml5 icon-gengduo color-ccc"></i>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
<view class="mt20 ml10 mr10 bds-2-eb inner20 font-28 color-666 fn-clear ulib-r10" wx:else>
|
||||
<view class="fn-fl">门店名称</view>
|
||||
<picker class="fn-fr wp70 text-right" bindchange="changeDistBiz" value="{{distBizIndex}}" range="{{bizArray}}">
|
||||
<view class="text-nowrap">
|
||||
<text class="color-ccc" wx:if="{{distBizIndex == -1}}">请选择</text>
|
||||
<text wx:else>{{bizArray[distBizIndex]}}</text>
|
||||
<i class="iconfont ml5 icon-gengduo color-ccc"></i>
|
||||
</view>
|
||||
</picker>
|
||||
</view>
|
||||
</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>
|
||||
</lcb-msg>
|
||||
|
||||
<page-container
|
||||
show="{{isShowTimePicker}}"
|
||||
round="{{true}}"
|
||||
overlay="true"
|
||||
duration="300"
|
||||
z-index="10000"
|
||||
position="bottom"
|
||||
close-on-slide-down="{{false}}"
|
||||
bindenter="onEnter"
|
||||
custom-style="false"
|
||||
overlay-style="false"
|
||||
>
|
||||
<view class="">
|
||||
<view class="relative pt30 pb30 text-center font-30">
|
||||
<view class="color-666">计划回访时间</view>
|
||||
<i bindtap="optShowTimePicker" class="absolute right-0 box-middle mr30 iconfont icon-guanbi1"></i>
|
||||
</view>
|
||||
<view class="fn-flex pt30 pb30 bbs-1-eb text-center font-24">
|
||||
<block wx:for="{{weekList}}" wx:key="index">
|
||||
<view class="fn-flex-item">{{item}}</view>
|
||||
</block>
|
||||
</view>
|
||||
<view class="pb40 relative">
|
||||
<view class="absolute top-0 box-center mt130 font-180 color-f8">{{cMonth}}</view>
|
||||
<view class="relative fn-flex fn-flex-wrap pt30 pb30 text-center font-24 z-index-2">
|
||||
<block wx:for="{{dateList}}" wx:key="index">
|
||||
<view bindtap="{{item.isopt?'optday':''}}" data-index="{{index}}" class="datecell ulib-r10 {{nextIndex == index?'active':''}} {{item.isopt?'color-1a':'color-ccc'}}">{{item.day}}</view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</page-container>
|
||||
+698
-51
@@ -37,7 +37,29 @@ Page({
|
||||
order:[],//客户订单
|
||||
|
||||
levelIndex:-1,
|
||||
level: ["H", "A", "B", "C", "D"]//等级
|
||||
level: [],//等级
|
||||
|
||||
followIndex:-1,
|
||||
follow: [],//跟进渠道
|
||||
isShowTimePicker:false,
|
||||
weekList:['日','一','二','三','四','五','六'],
|
||||
dateList:[],
|
||||
nextIndex:-1,//计划回访时间
|
||||
|
||||
comment:'',//评论内容
|
||||
isShowComment:false,//是否显示用户评论弹窗
|
||||
|
||||
wxgr:0,//是否添加个微
|
||||
defeatIndex:-1,
|
||||
defeatTag: [],
|
||||
|
||||
wxgrimg:'',//个微
|
||||
wxgrimg_url:'',//个微
|
||||
|
||||
isShowCall:false,//是否显示拨打电话确认弹框
|
||||
phoneNumber:'',//拨打的电话号码
|
||||
|
||||
userInfo:'',
|
||||
},
|
||||
onLoad(options) {
|
||||
for (let key in options) {
|
||||
@@ -50,11 +72,23 @@ Page({
|
||||
this.getAppCustomerData()
|
||||
this.getAppCustomerlogs()
|
||||
this.getAppCustomersTag()
|
||||
//战败标签数据
|
||||
this.getAppDefeatTag()
|
||||
//意向标签-到店
|
||||
this.getAppDaoDianTag()
|
||||
//意向标签-购买
|
||||
this.getAppGouMaiTag()
|
||||
|
||||
this.getAppCustomersFilter()
|
||||
|
||||
innerAudioContext.onEnded(() => {
|
||||
this.offaudio()
|
||||
})
|
||||
|
||||
this.getTimePicker()
|
||||
|
||||
this.getUserInfo()
|
||||
|
||||
},
|
||||
onshow() {
|
||||
|
||||
@@ -70,6 +104,92 @@ Page({
|
||||
this.offaudio()
|
||||
},
|
||||
|
||||
//获取用户信息
|
||||
getUserInfo(){
|
||||
_.apiQuery.getUserInfo().then(res => {
|
||||
this.setData({
|
||||
userInfo: res,
|
||||
})
|
||||
});
|
||||
},
|
||||
|
||||
//候取当前月日历
|
||||
getTimePicker(){
|
||||
let date = new Date();
|
||||
let cYear = date.getFullYear(); //年份
|
||||
let cMonth = date.getMonth()+1; //当前月份
|
||||
let cDay = date.getDate();//当前日期
|
||||
let fweek = new Date(cYear,cMonth-1,1).getDay();//本月第一天星期几
|
||||
let days = new Date(cYear,cMonth,-1)
|
||||
let cn = days.getDate()+1 //当月天数
|
||||
let rn = ''//上个月天数
|
||||
if (cMonth === 1) {
|
||||
rn = 31
|
||||
} else {
|
||||
rn = new Date(cYear,cMonth-1,-1).getDate()+1
|
||||
}
|
||||
|
||||
let dateList = []
|
||||
for(let i=0;i<fweek;i++){
|
||||
dateList.push({
|
||||
isopt:false,
|
||||
checked:false,
|
||||
year:cMonth == 1?cYear-1:cYear,
|
||||
month:cMonth == 1?12:cMonth-1,
|
||||
day:rn-i,
|
||||
})
|
||||
}
|
||||
for(let i=1;i<=cn;i++){
|
||||
dateList.push({
|
||||
isopt:false,
|
||||
checked:false,
|
||||
year:cYear,
|
||||
month:cMonth,
|
||||
day:i
|
||||
})
|
||||
}
|
||||
|
||||
if((cn-cDay)>29){//相差15天以上不用特意补下个月
|
||||
let lweek = new Date(cYear,cMonth-1,cn).getDay();//本月最后天星期几
|
||||
let sbu = 6 - lweek //最后一周补齐
|
||||
for(let i=1;i<=sbu;i++){
|
||||
dateList.push({
|
||||
isopt:false,
|
||||
checked:false,
|
||||
year:cMonth == 12?cYear+1:cYear,
|
||||
month:cMonth == 12?1:cMonth+1,
|
||||
day:i
|
||||
})
|
||||
}
|
||||
}else{
|
||||
let zbu = 30 - (cn-cDay) //至少要补多少天
|
||||
let bweek = ''//至少要补的最后一天星期几
|
||||
if(cMonth==12){
|
||||
bweek = new Date(cYear+1,1,zbu).getDay()
|
||||
}else{
|
||||
bweek = new Date(cYear,cMonth,zbu).getDay()
|
||||
}
|
||||
let sbu = zbu + 6 - bweek //最后一周补齐
|
||||
for(let i=1;i<=sbu;i++){
|
||||
dateList.push({
|
||||
isopt:false,
|
||||
checked:false,
|
||||
year:cMonth == 12?cYear+1:cYear,
|
||||
month:cMonth == 12?1:cMonth+1,
|
||||
day:i
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
this.setData({
|
||||
cYear,
|
||||
cMonth,
|
||||
cDay,
|
||||
dateList,
|
||||
})
|
||||
|
||||
},
|
||||
|
||||
//获取客户详情
|
||||
getAppCustomersDetails(){
|
||||
let params = {};
|
||||
@@ -77,23 +197,44 @@ Page({
|
||||
_.apiQuery.getAppCustomersDetails(params).then(res=>{
|
||||
this.setData({
|
||||
detailinfo:res.data,
|
||||
statuskey:res.data.status,
|
||||
statuskey:res.data.status!=3?res.data.status:-10,
|
||||
})
|
||||
|
||||
if(res.data.level){
|
||||
this.data.level.forEach((item,index) => {
|
||||
if(item == res.data.level){
|
||||
this.setData({
|
||||
levelIndex:index,
|
||||
})
|
||||
}
|
||||
})
|
||||
_.apiQuery.getAppCustomersFilter().then(res2 => {
|
||||
let level = res2.data.level
|
||||
this.setData({
|
||||
level:res2.data.level,
|
||||
})
|
||||
level.forEach((item,index) => {
|
||||
if(item == res.data.level){
|
||||
this.setData({
|
||||
levelIndex:index,
|
||||
})
|
||||
}
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
if(res.data.status==2){
|
||||
this.getAppCusorderV2Customer()
|
||||
|
||||
}
|
||||
|
||||
if(res.data.status==3&this.data.tab.length<3){
|
||||
let tab = this.data.tab
|
||||
tab.push({"id":3,"title":"战败分析"},)
|
||||
this.setData({
|
||||
tab,
|
||||
})
|
||||
}
|
||||
if(res.data.status!=3&this.data.tab.length==3){
|
||||
let tab = this.data.tab
|
||||
tab.splice(2, 1)
|
||||
this.setData({
|
||||
tab,
|
||||
})
|
||||
}
|
||||
wx.stopPullDownRefresh()
|
||||
|
||||
})
|
||||
@@ -106,13 +247,15 @@ Page({
|
||||
_.apiQuery.getAppCustomerData(params).then(res=>{
|
||||
this.setData({
|
||||
baseinfo:res.data.baseinfo,
|
||||
wxgr:res.data.baseinfo.wxgr,
|
||||
wxgrimg:res.data.baseinfo.wxgrimg,
|
||||
wxgrimg_url:res.data.baseinfo.wxgrimg_url,
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
//获取客户订单
|
||||
getAppCusorderV2Customer(){
|
||||
console.log('获取客户订单')
|
||||
let params = {};
|
||||
params['customer_id'] = this.data.id;
|
||||
_.apiQuery.getAppCusorderV2Customer(params).then(res=>{
|
||||
@@ -160,6 +303,41 @@ Page({
|
||||
});
|
||||
},
|
||||
|
||||
//更新获取日志
|
||||
getAppCustomerlogsRefresh(){
|
||||
this.setData({
|
||||
load: false,
|
||||
loading: true,
|
||||
})
|
||||
let params = {};
|
||||
params['page'] = 1;
|
||||
params['size'] = (this.data.pageNo-1)*10;
|
||||
params['id'] = this.data.id;
|
||||
_.apiQuery.getAppCustomerlogs(params).then(res => {
|
||||
|
||||
let list = res.data.list
|
||||
list.forEach(item => {
|
||||
if(item.record_url){
|
||||
item.alltime=this.format(item.second)
|
||||
}
|
||||
})
|
||||
this.setData({
|
||||
logslist:list,
|
||||
load: true,
|
||||
loading: false,
|
||||
})
|
||||
if (res.data.total == 0) {
|
||||
this.setData({
|
||||
noData: true
|
||||
})
|
||||
} else if (this.data.logslist.length == res.data.total) {
|
||||
this.setData({
|
||||
end: true
|
||||
})
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
//切换tab
|
||||
changeTab(e){
|
||||
this.setData({
|
||||
@@ -227,6 +405,8 @@ Page({
|
||||
if(e.currentTarget.dataset.key != this.data.statuskey){
|
||||
this.setData({
|
||||
statuskey:e.currentTarget.dataset.key,
|
||||
levelIndex:-1,
|
||||
followIndex:-1,
|
||||
})
|
||||
if(e.currentTarget.dataset.key == 0){
|
||||
this.setData({
|
||||
@@ -238,12 +418,22 @@ Page({
|
||||
this.setData({
|
||||
defeat_reason:'',//战败理由
|
||||
})
|
||||
if(this.data.detailinfo.status==0){
|
||||
this.data.level.forEach((item,index) => {
|
||||
if(item == 'H'){
|
||||
this.setData({
|
||||
levelIndex:index,
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
}else if(e.currentTarget.dataset.key == 3){
|
||||
this.setData({
|
||||
a_num:'',//到店次数
|
||||
t_num:'',//试驾次数
|
||||
note:'',//日志
|
||||
photos:[],
|
||||
nextIndex:-1,
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -261,6 +451,11 @@ Page({
|
||||
t_num:this.data.t_num == 1?'':1,
|
||||
})
|
||||
}
|
||||
if(e.currentTarget.dataset.pointer == 'gewei'){
|
||||
this.setData({
|
||||
wxgr:this.data.wxgr == 1?'0':1,
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
//取消变更状态
|
||||
@@ -272,22 +467,49 @@ Page({
|
||||
|
||||
//修改状态和到店次数、试驾次数
|
||||
putAppCustomers(e){
|
||||
if(this.data.statuskey == -10 && this.data.photos.length == 0 && this.data.note == ''&& this.data.levelIndex>-1&&this.data.level[this.data.levelIndex]==this.data.detailinfo.level){
|
||||
if(this.data.statuskey == -10){
|
||||
wx.showToast({
|
||||
title: '您还没进行任何操作',
|
||||
title: '请选择状态',
|
||||
icon: 'none'
|
||||
})
|
||||
}else if(this.data.photos.length>0&&this.data.note == ''){
|
||||
}
|
||||
else if((this.data.statuskey==0||this.data.statuskey==1)&&this.data.followIndex == -1){
|
||||
wx.showToast({
|
||||
title: '请选择跟进渠道',
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
else if((this.data.statuskey==0||this.data.statuskey==1)&&this.data.followIndex == -1){
|
||||
wx.showToast({
|
||||
title: '请选择客户等级',
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
else if((this.data.statuskey==0||this.data.statuskey==1)&&this.data.nextIndex == -1){
|
||||
wx.showToast({
|
||||
title: '请选择计划回访时间',
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
else if(this.data.statuskey != 3&&this.data.note == ''){
|
||||
wx.showToast({
|
||||
title: '请填写小记',
|
||||
icon: 'none'
|
||||
})
|
||||
}else if(this.data.statuskey == 3&&this.data.defeat_reason == ''){
|
||||
}
|
||||
else if(this.data.statuskey == 3&&this.data.defeat_reason == ''){
|
||||
wx.showToast({
|
||||
title: '请填写战败理由',
|
||||
icon: 'none'
|
||||
})
|
||||
}else{
|
||||
}
|
||||
else if((this.data.statuskey == 0||this.data.statuskey == 1)&&this.data.wxgr==1&&this.data.wxgrimg==''){
|
||||
wx.showToast({
|
||||
title: '请上传个微截图',
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
else{
|
||||
let credentials = []
|
||||
let photos = this.data.photos
|
||||
photos.forEach(item => {
|
||||
@@ -316,6 +538,27 @@ Page({
|
||||
if(this.data.levelIndex>-1){
|
||||
params['level'] = this.data.level[this.data.levelIndex];
|
||||
}
|
||||
if(this.data.followIndex>-1){
|
||||
params['follow_channel'] = this.data.follow[this.data.followIndex];
|
||||
}
|
||||
if(this.data.nextIndex>-1){
|
||||
params['visit_time'] = this.data.dateList[this.data.nextIndex].year +'-'+ this.data.dateList[this.data.nextIndex].month +'-'+ this.data.dateList[this.data.nextIndex].day;
|
||||
}
|
||||
if(this.data.statuskey == 0){
|
||||
params['daodian_tag'] = this.data.daoDianTag;
|
||||
}
|
||||
if(this.data.statuskey == 1){
|
||||
params['goumai_tag'] = this.data.gouMaiTag;
|
||||
}
|
||||
if(this.data.statuskey == 3){
|
||||
params['invalid_tag'] = this.data.defeatTag;
|
||||
}
|
||||
if((this.data.statuskey == 0||this.data.statuskey == 1)&&this.data.wxgr==1){
|
||||
params['wxgr'] = this.data.wxgr;
|
||||
params['wxgrimg'] = this.data.wxgrimg;
|
||||
}
|
||||
console.log(this.data.daodianTag)
|
||||
console.log(params)
|
||||
_.apiQuery.putAppCustomers(params).then(res=>{
|
||||
this.setData({
|
||||
isShowNote:false,//新增日志弹窗
|
||||
@@ -325,6 +568,7 @@ Page({
|
||||
photos:[],
|
||||
defeat_reason:'',//战败理由
|
||||
submitFlag:false,
|
||||
nextIndex:-1,
|
||||
})
|
||||
wx.showToast({
|
||||
title: res.msg,
|
||||
@@ -350,8 +594,9 @@ Page({
|
||||
params['id'] = e.currentTarget.dataset.id;
|
||||
params['type'] = 0;
|
||||
_.apiQuery.getAppXz(params).then(res=>{
|
||||
wx.makePhoneCall({
|
||||
phoneNumber: res.data.mobile,
|
||||
this.setData({
|
||||
isShowCall:true,
|
||||
phoneNumber:res.data.mobile,
|
||||
})
|
||||
})
|
||||
},
|
||||
@@ -460,27 +705,77 @@ Page({
|
||||
},
|
||||
|
||||
//选择图片
|
||||
chooseImg() {
|
||||
chooseImg(e) {
|
||||
let that = this
|
||||
wx.chooseImage({
|
||||
count: 2 - this.data.photos.length, // 默认6
|
||||
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||||
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||||
success(res1) {
|
||||
let currentLength = that.data.photos.length
|
||||
for (let i = 0; i < res1.tempFilePaths.length; i++) {
|
||||
//上传图片
|
||||
that.uploadImg(res1.tempFilePaths[i])
|
||||
//上传小记图片
|
||||
if(e.currentTarget.dataset.type=='note_img'){
|
||||
wx.chooseImage({
|
||||
count: 2 - this.data.photos.length, // 默认6
|
||||
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||||
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||||
success(res1) {
|
||||
let currentLength = that.data.photos.length
|
||||
for (let i = 0; i < res1.tempFilePaths.length; i++) {
|
||||
//上传图片
|
||||
that.uploadImg(res1.tempFilePaths[i])
|
||||
}
|
||||
},
|
||||
fail: res => {
|
||||
wx.showToast({
|
||||
title: '文件选择失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
},
|
||||
fail: res => {
|
||||
wx.showToast({
|
||||
title: '文件选择失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
//上传个微截图
|
||||
if(e.currentTarget.dataset.type=='gw_img'){
|
||||
wx.chooseImage({
|
||||
count: 1, // 默认9
|
||||
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||||
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||||
success(res) {
|
||||
wx.showLoading({
|
||||
title: '上传中',
|
||||
})
|
||||
wx.uploadFile({
|
||||
url:_.config.api.upImg,
|
||||
filePath:res.tempFilePaths[0],
|
||||
name: 'img',
|
||||
formData: {
|
||||
'app': 'liche'
|
||||
},
|
||||
success: (resp) => {
|
||||
resp.data = JSON.parse(resp.data);
|
||||
if (resp.data.code == 200) {
|
||||
wx.hideLoading();
|
||||
that.setData({
|
||||
wxgrimg:resp.data.data.url,
|
||||
wxgrimg_url:resp.data.data.full_url,
|
||||
})
|
||||
}else{
|
||||
wx.hideLoading();
|
||||
wx.showToast({
|
||||
title: '上传失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
},
|
||||
})
|
||||
},
|
||||
fail: res => {
|
||||
wx.showToast({
|
||||
title: '文件选择失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
//上传图片
|
||||
@@ -534,10 +829,18 @@ Page({
|
||||
|
||||
//查看图片
|
||||
previewImage(e){
|
||||
wx.previewImage({
|
||||
current:e.currentTarget.dataset.current,
|
||||
urls:this.data.logslist[e.currentTarget.dataset.index].imgs,
|
||||
})
|
||||
if(e.currentTarget.dataset.type=='logs'){
|
||||
wx.previewImage({
|
||||
current:e.currentTarget.dataset.current,
|
||||
urls:this.data.logslist[e.currentTarget.dataset.index].imgs,
|
||||
})
|
||||
}
|
||||
else if(e.currentTarget.dataset.type=='gw_img'){
|
||||
wx.previewImage({
|
||||
current:this.data.wxgrimg_url,
|
||||
urls:[this.data.wxgrimg_url],
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
//战败/再战申请
|
||||
@@ -568,18 +871,21 @@ Page({
|
||||
getAppCustomersTag(){
|
||||
let params = {};
|
||||
params['id'] = this.data.id;
|
||||
params['type'] = 'detail';
|
||||
_.apiQuery.getAppCustomersTag(params).then(res => {
|
||||
let taglList = res.data
|
||||
taglList.forEach(itemA => {
|
||||
itemA.list.forEach(itemB => {
|
||||
if(itemB.checked){
|
||||
itemA.have=true
|
||||
}
|
||||
if(res.data.tags&&res.data.tags.length>0){
|
||||
let taglList = res.data.tags
|
||||
taglList.forEach(itemA => {
|
||||
itemA.list.forEach(itemB => {
|
||||
if(itemB.checked){
|
||||
itemA.have=true
|
||||
}
|
||||
})
|
||||
})
|
||||
})
|
||||
this.setData({
|
||||
taglList,
|
||||
})
|
||||
this.setData({
|
||||
taglList,
|
||||
})
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
@@ -607,12 +913,347 @@ Page({
|
||||
//客户等级
|
||||
changeLevel(e) {
|
||||
if(this.data.levelIndex != e.detail.value && e.detail.value >= 0){
|
||||
if(this.data.detailinfo.level == 'H'&&e.detail.value==2){
|
||||
wx.showToast({
|
||||
title: 'H级客户不可直接降为B级',
|
||||
icon: 'none'
|
||||
})
|
||||
}else{
|
||||
this.setData({
|
||||
levelIndex:e.detail.value,
|
||||
})
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
//跟进渠道
|
||||
changeFollow(e) {
|
||||
if(this.data.followIndex != e.detail.value && e.detail.value >= 0){
|
||||
this.setData({
|
||||
levelIndex:e.detail.value,
|
||||
followIndex:e.detail.value,
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
//获取跟进渠道、客户等级
|
||||
getAppCustomersFilter(){
|
||||
_.apiQuery.getAppCustomersFilter().then(res => {
|
||||
this.setData({
|
||||
follow:res.data.follow_channel,
|
||||
level:res.data.level,
|
||||
})
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
//显示隐藏时间选择器
|
||||
optShowTimePicker(){
|
||||
this.setData({
|
||||
isShowTimePicker:!this.data.isShowTimePicker,
|
||||
})
|
||||
|
||||
let kd = '' //可操作天数
|
||||
if(this.data.level[this.data.levelIndex]=='H'){
|
||||
kd = 3
|
||||
}else if(this.data.level[this.data.levelIndex]=='A'){
|
||||
kd = 7
|
||||
}else if(this.data.level[this.data.levelIndex]=='B'){
|
||||
kd = 15
|
||||
}
|
||||
else if(this.data.level[this.data.levelIndex]=='C'){
|
||||
kd = 30
|
||||
}
|
||||
let cindex = ''
|
||||
let dateList = this.data.dateList
|
||||
dateList.forEach((item,index) => {
|
||||
if(item.year == this.data.cYear&&item.month == this.data.cMonth&&item.day == this.data.cDay){
|
||||
cindex = index
|
||||
}
|
||||
})
|
||||
dateList.forEach((item,index) => {
|
||||
item.isopt = false
|
||||
if(cindex<index&&index<cindex+kd+1){
|
||||
item.isopt = true
|
||||
}
|
||||
})
|
||||
this.setData({
|
||||
dateList,
|
||||
})
|
||||
|
||||
},
|
||||
|
||||
//选择计划回访时间
|
||||
optday(e){
|
||||
if(this.data.nextIndex != e.currentTarget.dataset.index){
|
||||
this.setData({
|
||||
nextIndex:e.currentTarget.dataset.index,
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
//显示隐藏用户评论
|
||||
optShowComment(e){
|
||||
this.setData({
|
||||
commentId:e.currentTarget.dataset.id?e.currentTarget.dataset.id:'',
|
||||
isShowComment:!this.data.isShowComment,
|
||||
comment:'',
|
||||
})
|
||||
},
|
||||
|
||||
//用户评论
|
||||
postAppCustomersComments(){
|
||||
if (this.data.submitFlag) return;
|
||||
if (this.data.comment == '') {
|
||||
wx.showToast({
|
||||
title: '请填写评论内容',
|
||||
icon: 'none'
|
||||
})
|
||||
} else {
|
||||
this.setData({
|
||||
submitFlag: true,
|
||||
})
|
||||
let params = {};
|
||||
params['id'] = this.data.commentId;
|
||||
params['content'] = this.data.comment;
|
||||
_.apiQuery.postAppCustomersComments(params).then(res=>{
|
||||
this.setData({
|
||||
submitFlag:false,
|
||||
isShowComment:false,
|
||||
comment:'',
|
||||
})
|
||||
wx.showToast({
|
||||
title: res.msg,
|
||||
icon: 'none'
|
||||
})
|
||||
|
||||
this.getAppCustomerlogsRefresh()()
|
||||
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
//战败理由标签
|
||||
getAppDefeatTag(){
|
||||
let params = {};
|
||||
params['id'] = this.data.id;
|
||||
params['tag_type'] = '1';
|
||||
_.apiQuery.getAppCustomersTag(params).then(res => {
|
||||
// this.setData({
|
||||
// defeatTag:res.data.tags&&res.data.tags.length>0?res.data.tags:[],
|
||||
// })
|
||||
let that = this
|
||||
if(res.data.tags&&res.data.tags.length>0){
|
||||
let defeatList = res.data.tags
|
||||
let defeatTitleList = []
|
||||
defeatList.forEach((itemA,index) => {
|
||||
// if(itemA.type=='radio'){
|
||||
// defeatTitleList.push(itemA.name+'单选')
|
||||
// }
|
||||
// if(itemA.type=='checkbox'){
|
||||
// defeatTitleList.push(itemA.name+'多选')
|
||||
// }
|
||||
defeatTitleList.push(itemA.name)
|
||||
itemA.list.forEach(itemB => {
|
||||
if(itemB.checked){
|
||||
itemA.have=true
|
||||
}
|
||||
})
|
||||
})
|
||||
that.setData({
|
||||
defeatList,
|
||||
defeatTitleList,
|
||||
})
|
||||
|
||||
let defeatTag = res.data.tags
|
||||
setTimeout(function () {
|
||||
if(res.data.tag_id == 0){
|
||||
defeatTag.forEach((itemA,index) => {
|
||||
itemA.list.forEach(itemB => {
|
||||
itemB.checked = false
|
||||
})
|
||||
})
|
||||
}
|
||||
else{
|
||||
defeatTag.forEach((itemA,index) => {
|
||||
itemA.list.forEach(itemB => {
|
||||
if(itemB.checked){
|
||||
that.setData({
|
||||
defeatIndex:index,
|
||||
})
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
that.setData({
|
||||
defeatTag,
|
||||
})
|
||||
}, 10)
|
||||
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
//战败理由单选
|
||||
defeatRadioPicker(e){
|
||||
let defeatTag = this.data.defeatTag
|
||||
defeatTag[e.currentTarget.dataset.i].list.forEach(item => {
|
||||
item.checked=false
|
||||
})
|
||||
defeatTag[e.currentTarget.dataset.i].list[e.currentTarget.dataset.j].checked=true
|
||||
this.setData({
|
||||
defeatTag,
|
||||
})
|
||||
},
|
||||
|
||||
//战败理由多选
|
||||
defeatCheckPicker(e){
|
||||
this.setData({
|
||||
['defeatTag['+e.currentTarget.dataset.i+'].list['+e.currentTarget.dataset.j+'].checked']:!this.data.defeatTag[e.currentTarget.dataset.i].list[e.currentTarget.dataset.j].checked,
|
||||
})
|
||||
},
|
||||
|
||||
//战败理由标签选择
|
||||
changeDefeat(e) {
|
||||
if(this.data.defeatIndex != e.detail.value && e.detail.value >= 0){
|
||||
this.setData({
|
||||
defeatIndex:e.detail.value,
|
||||
})
|
||||
|
||||
let defeatTag = this.data.defeatTag
|
||||
defeatTag.forEach(itemA => {
|
||||
itemA.list.forEach(itemB => {
|
||||
itemB.checked=false
|
||||
})
|
||||
})
|
||||
this.setData({
|
||||
defeatTag,
|
||||
})
|
||||
|
||||
}
|
||||
},
|
||||
|
||||
//意向标签-到店
|
||||
getAppDaoDianTag(){
|
||||
let params = {};
|
||||
params['id'] = this.data.id;
|
||||
params['tag_type'] = '2';
|
||||
params['tag_type2'] = '1';
|
||||
_.apiQuery.getAppCustomersTag(params).then(res => {
|
||||
this.setData({
|
||||
daoDianTag:res.data.tags&&res.data.tags.length>0?res.data.tags:[],
|
||||
})
|
||||
let that = this
|
||||
if(res.data.tags&&res.data.tags.length>0){
|
||||
let daoDianList = res.data.tags
|
||||
daoDianList.forEach((itemA,index) => {
|
||||
itemA.list.forEach(itemB => {
|
||||
if(itemB.checked){
|
||||
itemA.have=true
|
||||
}
|
||||
})
|
||||
})
|
||||
that.setData({
|
||||
daoDianList,
|
||||
})
|
||||
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
//意向标签-到店-单选
|
||||
daoDianRadioPicker(e){
|
||||
let daoDianTag = this.data.daoDianTag
|
||||
daoDianTag[e.currentTarget.dataset.i].list.forEach(item => {
|
||||
item.checked=false
|
||||
})
|
||||
daoDianTag[e.currentTarget.dataset.i].list[e.currentTarget.dataset.j].checked=true
|
||||
this.setData({
|
||||
daoDianTag,
|
||||
})
|
||||
},
|
||||
|
||||
//意向标签-到店-多选
|
||||
daoDianCheckPicker(e){
|
||||
this.setData({
|
||||
['daoDianTag['+e.currentTarget.dataset.i+'].list['+e.currentTarget.dataset.j+'].checked']:!this.data.daoDianTag[e.currentTarget.dataset.i].list[e.currentTarget.dataset.j].checked,
|
||||
})
|
||||
},
|
||||
|
||||
//意向标签-购买
|
||||
getAppGouMaiTag(){
|
||||
let params = {};
|
||||
params['id'] = this.data.id;
|
||||
params['tag_type'] = '2';
|
||||
params['tag_type2'] = '2';
|
||||
_.apiQuery.getAppCustomersTag(params).then(res => {
|
||||
this.setData({
|
||||
gouMaiTag:res.data.tags&&res.data.tags.length>0?res.data.tags:[],
|
||||
})
|
||||
let that = this
|
||||
if(res.data.tags&&res.data.tags.length>0){
|
||||
let gouMaiList = res.data.tags
|
||||
gouMaiList.forEach((itemA,index) => {
|
||||
itemA.list.forEach(itemB => {
|
||||
if(itemB.checked){
|
||||
itemA.have=true
|
||||
}
|
||||
})
|
||||
})
|
||||
that.setData({
|
||||
gouMaiList,
|
||||
})
|
||||
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
//意向标签-购买-单选
|
||||
gouMaiRadioPicker(e){
|
||||
let gouMaiTag = this.data.gouMaiTag
|
||||
gouMaiTag[e.currentTarget.dataset.i].list.forEach(item => {
|
||||
item.checked=false
|
||||
})
|
||||
gouMaiTag[e.currentTarget.dataset.i].list[e.currentTarget.dataset.j].checked=true
|
||||
this.setData({
|
||||
gouMaiTag,
|
||||
})
|
||||
},
|
||||
|
||||
//意向标签-购买-多选
|
||||
gouMaiCheckPicker(e){
|
||||
this.setData({
|
||||
['gouMaiTag['+e.currentTarget.dataset.i+'].list['+e.currentTarget.dataset.j+'].checked']:!this.data.gouMaiTag[e.currentTarget.dataset.i].list[e.currentTarget.dataset.j].checked,
|
||||
})
|
||||
},
|
||||
|
||||
//隐藏电话弹框
|
||||
hideCall(){
|
||||
this.setData({
|
||||
isShowCall:false,
|
||||
})
|
||||
},
|
||||
|
||||
//拨打电话
|
||||
makePhoneCall(){
|
||||
wx.makePhoneCall({
|
||||
phoneNumber: this.data.phoneNumber,
|
||||
})
|
||||
},
|
||||
|
||||
//复制
|
||||
copyWord(){
|
||||
if(this.data.detailinfo.mobile){
|
||||
wx.setClipboardData({
|
||||
data: this.data.detailinfo.mobile,
|
||||
success (res) {
|
||||
_.utils.$toast('复制成功')
|
||||
}
|
||||
})
|
||||
}else{
|
||||
_.utils.$toast('无手机号')
|
||||
}
|
||||
},
|
||||
|
||||
//页面相关事件处理函数--监听用户下拉动作
|
||||
onPullDownRefresh(){
|
||||
this.setData({
|
||||
@@ -627,6 +1268,12 @@ Page({
|
||||
this.getAppCustomerData()
|
||||
this.getAppCustomerlogs()
|
||||
this.getAppCustomersTag()
|
||||
//战败标签数据
|
||||
this.getAppDefeatTag()
|
||||
//意向标签-到店
|
||||
this.getAppDaoDianTag()
|
||||
//意向标签-购买
|
||||
this.getAppGouMaiTag()
|
||||
},
|
||||
|
||||
//页面上拉触底事件的处理函数
|
||||
|
||||
+391
-105
@@ -1,10 +1,14 @@
|
||||
<view class="container">
|
||||
<view class="inner40 pb0">
|
||||
<view class="inner40 relative ulib-r10 box-shadow-000-10-10 mb30 overflowhidden">
|
||||
<view class="absolute top-0 left-0 ml40 bg-36afa2 pl10 pr10 font-22 color-fff" wx:if="{{detailinfo.tip}}">{{detailinfo.tip}}</view>
|
||||
<view class="absolute top-0 left-0 ml40 bg-36afa2 pl10 pr10 font-22 color-fff" wx:if="{{detailinfo.tip}}">
|
||||
{{detailinfo.tip}}
|
||||
</view>
|
||||
<view class="relative pr180">
|
||||
<view class="font-28">
|
||||
<text>{{detailinfo.name}}<text class="ml10 font-22 color-666">编号 {{detailinfo.id}}</text></text>
|
||||
<text>
|
||||
{{detailinfo.name}}<text class="ml10 font-22 color-666">编号 {{detailinfo.id}}</text>
|
||||
</text>
|
||||
<text class="text-middle iconfont icon-weixin1 ml10 color-00c800" wx:if="{{detailinfo.is_weChat}}"></text>
|
||||
<text class="iconfont icon-xingxing ml10 {{detailinfo.is_top==1?'color-f9394d':'color-ccc'}}" catchtap="optTop" data-index="{{index}}"></text>
|
||||
</view>
|
||||
@@ -20,13 +24,16 @@
|
||||
...
|
||||
</block>
|
||||
</view> -->
|
||||
<view class="absolute right-0 box-middle text-center">
|
||||
<view class="inline-block relative img-55x55 bg-333 font-28 color-fff mr30 ulib-r750" catchtap="showMessage" data-id="{{detailinfo.id}}">
|
||||
<i class="absolute box-center-middle iconfont icon-duanxinguanli"></i>
|
||||
</view>
|
||||
<view class="inline-block relative img-55x55 bg-333 font-28 color-fff ulib-r750" catchtap="call" data-id="{{detailinfo.id}}">
|
||||
<i class="absolute box-center-middle iconfont icon-dianhua"></i>
|
||||
<view class="absolute right-0 box-middle text-right mt5">
|
||||
<view class="text-center">
|
||||
<view class="inline-block relative img-55x55 bg-333 font-28 color-fff mr30 ulib-r750" catchtap="showMessage" data-id="{{detailinfo.id}}">
|
||||
<i class="absolute box-center-middle iconfont icon-duanxinguanli"></i>
|
||||
</view>
|
||||
<view class="inline-block relative img-55x55 bg-333 font-28 color-fff ulib-r750" catchtap="call" data-id="{{detailinfo.id}}">
|
||||
<i class="absolute box-center-middle iconfont icon-dianhua"></i>
|
||||
</view>
|
||||
</view>
|
||||
<view class="inline-block mt5 pt5 pb5 pl20 pr20 btn-36afa2 font-26 color-fff ulib-r750" bindtap="copyWord">复制</view>
|
||||
</view>
|
||||
</view>
|
||||
<block wx:for="{{detailinfo.other_data}}" wx:for-index='key' wx:for-item='value' wx:key='i'>
|
||||
@@ -45,7 +52,6 @@
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
|
||||
<view class="mt30 pb150" wx:if="{{tabid == 1}}">
|
||||
<view class="fn-flex text-center">
|
||||
<block wx:for="{{statistics}}" wx:key='index'>
|
||||
@@ -65,32 +71,41 @@
|
||||
<block wx:for="{{logslist}}" wx:for-index="index" wx:key="index">
|
||||
<view class="orderDtail-log-item pl40 relative">
|
||||
<view class="orderDtail-log-content">
|
||||
<view class="font-22 color-999">{{item.c_time}}</view>
|
||||
<!-- 时间 -->
|
||||
<view class="font-22">
|
||||
<text class="color-999">{{item.c_time}}</text>
|
||||
<!-- <text class="color-999"> · </text>
|
||||
<text class="color-36afa2">试驾/下定</text> -->
|
||||
</view>
|
||||
<!-- 内容 -->
|
||||
<view class="font-28 text-break" style="min-height:50rpx;">{{item.content}}</view>
|
||||
<!-- 录音 -->
|
||||
<view class="relative mt10 wp80 pt5 pb5 pl180 bg-e3f5f3 color-36afa2 font-30 ulib-r10" wx:if="{{!!item.record_url}}">
|
||||
<i bindtap="audioPlay" data-index="{{index}}" class="absolute box-middle left-0 ml20 iconfont {{play?'icon-zanting1':'icon-bofang'}}" wx:if="{{currentIndex==index}}"></i>
|
||||
<i bindtap="audioPlay" data-index="{{index}}" class="absolute box-middle left-0 ml20 iconfont icon-bofang" wx:else></i>
|
||||
<text class="absolute box-middle left-0 ml65 font-20">{{currentIndex==index?currentx:'00:00'}} / {{item.alltime}}</text>
|
||||
<slider
|
||||
bindtouchstart="handle_slider_move_start"
|
||||
bindchanging="hanle_slider_changing"
|
||||
bindchange="hanle_slider_change"
|
||||
data-index="{{index}}"
|
||||
min="0"
|
||||
step="0.000001"
|
||||
block-size="12"
|
||||
max="{{item.second}}"
|
||||
block-color="#5ec6bb"
|
||||
activeColor="#36afa2"
|
||||
backgroundColor="#d1eeeb"
|
||||
value="{{currentIndex==index?currentime:0}}"
|
||||
/>
|
||||
<text class="absolute box-middle left-0 ml65 font-20">
|
||||
{{currentIndex==index?currentx:'00:00'}} / {{item.alltime}}
|
||||
</text>
|
||||
<slider bindtouchstart="handle_slider_move_start" bindchanging="hanle_slider_changing" bindchange="hanle_slider_change" data-index="{{index}}" min="0" step="0.000001" block-size="12" max="{{item.second}}" block-color="#5ec6bb" activeColor="#36afa2" backgroundColor="#d1eeeb" value="{{currentIndex==index?currentime:0}}" />
|
||||
</view>
|
||||
<!-- 图片 -->
|
||||
<view wx:if="{{item.imgs.length>0}}">
|
||||
<block wx:for="{{item.imgs}}" wx:for-item="img" wx:for-index="j" wx:key="j">
|
||||
<image bindtap="previewImage" data-current="{{img}}" data-index="{{index}}" class='img-125x75 mr10 bds-2-eb ulib-r5' src='{{img}}' mode='aspectFill'></image>
|
||||
<image bindtap="previewImage" data-type="logs" data-current="{{img}}" data-index="{{index}}" class='img-125x75 mr10 bds-2-eb ulib-r5' src='{{img}}' mode='aspectFill'></image>
|
||||
</block>
|
||||
</view>
|
||||
<!-- 评论 -->
|
||||
<view class="mt10 mb15 bg-f6 ulib-r20 ulib-rlt0 pt5 pb10 pl15 pr15 font-22" wx:if="{{item.comments.length>0}}">
|
||||
<view class="mt5 relative" wx:for="{{item.comments}}" wx:for-item="comment" wx:for-index="j" wx:key="j">
|
||||
<text class="iconfont icon-pinglun color-36afa2"></text>
|
||||
<text class="ml10 color-36afa2">{{comment.uname}}:</text>
|
||||
<text class="color-666">{{comment.content}}</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="ml15 font-22 color-36afa2 text-right" bindtap="optShowComment" data-id="{{item.id}}">
|
||||
<text class="iconfont icon-pinglun"></text>
|
||||
<text class="ml10">评论</text>
|
||||
</view>
|
||||
</view>
|
||||
<i class="absolute box-middle mt15 bg-fff line-height-11 font-22 color-999 iconfont icon-jiantou-up z-index-1" wx:if="{{index+1 != logslist.length}}"></i>
|
||||
<text class="absolute orderDtail-log-line2 z-index-0" wx:if="{{index != logslist.length-1}}"></text>
|
||||
@@ -108,14 +123,59 @@
|
||||
<view class="absolute left-0 box-middle font-28">{{list.name}}</view>
|
||||
<view class="pl150">
|
||||
<block wx:for='{{list.list}}' wx:for-item='option' wx:for-index='j' wx:key='j'>
|
||||
<view class="inline-block space-nowrap mt5 mb5 mr10 pt10 pb10 pl20 pr20 font-22 ulib-r10 bg-f3f6fc" wx:if="{{option.checked}}">{{option.name}}</view>
|
||||
<view class="inline-block space-nowrap mt5 mb5 mr10 pt10 pb10 pl20 pr20 font-22 ulib-r10 bg-f3f6fc" wx:if="{{option.checked}}">
|
||||
{{option.name}}
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
<block wx:for='{{daoDianList}}' wx:for-item='list' wx:for-index='i' wx:key='i'>
|
||||
<view class="relative mt20" wx:if="{{list.have}}">
|
||||
<view class="absolute left-0 box-middle font-28">{{list.name}}</view>
|
||||
<view class="pl150">
|
||||
<block wx:for='{{list.list}}' wx:for-item='option' wx:for-index='j' wx:key='j'>
|
||||
<view class="inline-block space-nowrap mt5 mb5 mr10 pt10 pb10 pl20 pr20 font-22 ulib-r10 bg-f3f6fc" wx:if="{{option.checked}}">
|
||||
{{option.name}}
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
<block wx:for='{{gouMaiList}}' wx:for-item='list' wx:for-index='i' wx:key='i'>
|
||||
<view class="relative mt20" wx:if="{{list.have}}">
|
||||
<view class="absolute left-0 box-middle font-28">{{list.name}}</view>
|
||||
<view class="pl150">
|
||||
<block wx:for='{{list.list}}' wx:for-item='option' wx:for-index='j' wx:key='j'>
|
||||
<view class="inline-block space-nowrap mt5 mb5 mr10 pt10 pb10 pl20 pr20 font-22 ulib-r10 bg-f3f6fc" wx:if="{{option.checked}}">
|
||||
{{option.name}}
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
<view class="mt30 pl50 pr30 pb200" wx:elif="{{tabid == 3}}">
|
||||
<view class="relative mt20" wx:if="{{detailinfo.defeat.reason}}">
|
||||
<view class="absolute left-0 box-middle font-28">战败理由</view>
|
||||
<view class="pl150 font-28 color-666">
|
||||
{{detailinfo.defeat.reason}}
|
||||
</view>
|
||||
</view>
|
||||
<!-- <block wx:for='{{defeatList}}' wx:for-item='list' wx:for-index='i' wx:key='i'>
|
||||
<view class="relative mt20" wx:if="{{list.have}}">
|
||||
<view class="absolute left-0 box-middle font-28">{{list.name}}</view>
|
||||
<view class="pl150">
|
||||
<block wx:for='{{list.list}}' wx:for-item='option' wx:for-index='j' wx:key='j'>
|
||||
<view class="inline-block space-nowrap mt5 mb5 mr10 pt10 pb10 pl20 pr20 font-22 ulib-r10 bg-f3f6fc" wx:if="{{option.checked}}">
|
||||
{{option.name}}
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
</block> -->
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="fixed left-0 bottom-0 right-0 bg-fff-op90 pl40 pr40 pt20 pb40 z-index-1">
|
||||
<!-- <view>
|
||||
<button bindtap="pushLink" data-url="/pages/customer/editCard/index?id={{id}}" class="inline-block btn-36afa2 font-22 color-fff ulib-r10" hover-class="btn-36afa2-hover"></button>
|
||||
@@ -126,115 +186,299 @@
|
||||
<view class="font-22">修改信息</view>
|
||||
</view>
|
||||
<block wx:if="{{optDefeat}}">
|
||||
<view class="fn-flex-item flexsize4 pt20 pb20 bds-2-36afa2 bg-fff font-32 color-36afa2 ulib-rl750" bindtap="putAppCustomersDefeats" data-type="0">战败</view>
|
||||
<view class="fn-flex-item flexsize4 pt20 pb20 btn-36afa2 font-32 color-fff ulib-rr750" bindtap="putAppCustomersDefeats" data-type="1">再战</view>
|
||||
<view class="fn-flex-item flexsize4 pt20 pb20 bds-2-36afa2 bg-fff font-32 color-36afa2 ulib-rl750" bindtap="putAppCustomersDefeats" data-type="0">
|
||||
战败
|
||||
</view>
|
||||
<view class="fn-flex-item flexsize4 pt20 pb20 btn-36afa2 font-32 color-fff ulib-rr750" bindtap="putAppCustomersDefeats" data-type="1">
|
||||
再战
|
||||
</view>
|
||||
</block>
|
||||
<block wx:elif="{{detailinfo.status==2}}">
|
||||
<view class="fn-flex-item flexsize4 pt20 pb20 bds-2-36afa2 bg-fff font-32 color-36afa2 ulib-rl750" bindtap="optShowNote">客户跟进</view>
|
||||
<view class="fn-flex-item flexsize4 pt20 pb20 btn-36afa2 font-32 color-fff ulib-rr750" bindtap="optShowOrder">查看订单</view>
|
||||
<view class="fn-flex-item flexsize4 pt20 pb20 bds-2-36afa2 bg-fff font-32 color-36afa2 ulib-rl750" bindtap="optShowNote">
|
||||
客户跟进
|
||||
</view>
|
||||
<view class="fn-flex-item flexsize4 pt20 pb20 btn-36afa2 font-32 color-fff ulib-rr750" bindtap="optShowOrder">
|
||||
订单(复购)
|
||||
</view>
|
||||
</block>
|
||||
<block wx:elif="{{detailinfo.status==3}}">
|
||||
<view class="fn-flex-item flexsize4 pt20 pb20 bds-2-36afa2 bg-fff font-32 color-36afa2 ulib-rl750" bindtap="optShowNote">客户跟进</view>
|
||||
<view class="fn-flex-item flexsize4 pt20 pb20 btn-36afa2 font-32 color-fff ulib-rr750" bindtap="optShowNote">再战</view>
|
||||
<view class="fn-flex-item flexsize4 pt20 pb20 bds-2-36afa2 bg-fff font-32 color-36afa2 ulib-rl750" bindtap="optShowNote">
|
||||
客户跟进
|
||||
</view>
|
||||
<view class="fn-flex-item flexsize4 pt20 pb20 btn-36afa2 font-32 color-fff ulib-rr750" bindtap="optShowNote">
|
||||
再战
|
||||
</view>
|
||||
</block>
|
||||
<block wx:else>
|
||||
<view class="fn-flex-item flexsize4 pt20 pb20 bts-2-36afa2 bls-2-36afa2 bbs-2-36afa2 bg-fff font-32 color-36afa2 ulib-rl750" bindtap="optShowNote">客户跟进</view>
|
||||
<view class="fn-flex-item flexsize4 pt20 pb20 btn-36afa2 font-32 color-fff ulib-rr750 {{detailinfo.generate_order?'':'opacity-50'}}" bindtap="{{detailinfo.generate_order?'pushLink':''}}" data-url="/pages/order/register/index?cus_id={{detailinfo.id}}&name={{detailinfo.name}}&mobile={{detailinfo.mobile}}">生成订单</view>
|
||||
<view class="fn-flex-item flexsize4 pt20 pb20 bts-2-36afa2 bls-2-36afa2 bbs-2-36afa2 bg-fff font-32 color-36afa2 ulib-rl750" bindtap="optShowNote">
|
||||
客户跟进
|
||||
</view>
|
||||
<view class="fn-flex-item flexsize4 pt20 pb20 btn-36afa2 font-32 color-fff ulib-rr750 {{detailinfo.generate_order||userInfo.group_id==2||userInfo.group_id==3||userInfo.group_id==4?'':'opacity-50'}}" bindtap="{{detailinfo.generate_order||userInfo.group_id==2||userInfo.group_id==3||userInfo.group_id==4?'pushLink':''}}" data-url="/pages/order/register/index?cus_id={{detailinfo.id}}&name={{detailinfo.name}}&mobile={{detailinfo.mobile}}&complete_mobile={{detailinfo.complete_mobile}}">
|
||||
生成订单
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
<lcb-backChannel></lcb-backChannel>
|
||||
|
||||
<page-container show="{{isShowTimePicker}}" round="{{true}}" overlay="true" duration="300" z-index="10000" position="bottom" close-on-slide-down="{{false}}" bindenter="onEnter" custom-style="false" overlay-style="false">
|
||||
<view class="">
|
||||
<view class="relative pt30 pb30 text-center font-30">
|
||||
<view class="color-666">计划回访时间</view>
|
||||
<i bindtap="optShowTimePicker" class="absolute right-0 box-middle mr30 iconfont icon-guanbi1"></i>
|
||||
</view>
|
||||
<view class="fn-flex pt30 pb30 bbs-1-eb text-center font-24">
|
||||
<block wx:for="{{weekList}}" wx:key="index">
|
||||
<view class="fn-flex-item">{{item}}</view>
|
||||
</block>
|
||||
</view>
|
||||
<view class="pb40 relative">
|
||||
<view class="absolute top-0 box-center mt130 font-180 color-f8">{{cMonth}}</view>
|
||||
<view class="relative fn-flex fn-flex-wrap pt30 pb30 text-center font-24 z-index-2">
|
||||
<block wx:for="{{dateList}}" wx:key="index">
|
||||
<view bindtap="{{item.isopt?'optday':''}}" data-index="{{index}}" class="datecell ulib-r10 {{nextIndex == index?'active':''}} {{item.isopt?'color-1a':'color-ccc'}}">
|
||||
{{item.day}}
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</page-container>
|
||||
<lcb-msg isShow="{{isShowMessage}}">
|
||||
<view slot="content">
|
||||
<view class="inner40">
|
||||
<view slot="content">
|
||||
<view class="inner40">
|
||||
<textarea class="wp100 inner20 bds-2-eb font-28 ulib-r10" placeholder-class="color-ccc" maxlength='100' placeholder="请输入短信内容" bindinput='inputTx' data-key="content" name='content' value='{{content}}' />
|
||||
</view>
|
||||
<view class="fn-flex pl60 pr60 pb50 text-center font-32 color-666">
|
||||
<button bindtap="hideMessage" class="fn-flex-item mr20 bds-2-36afa2 btn-no-bg wp100 font-28 color-36afa2 ulib-r750">取消</button>
|
||||
<button disabled="{{submitFlag}}" bindtap="postAppSmsCustomer" class="fn-flex-item ml20 btn-36afa2 wp100 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover">确定</button>
|
||||
<button bindtap="hideMessage" class="fn-flex-item mr20 bds-2-36afa2 btn-no-bg wp100 font-28 color-36afa2 ulib-r750">
|
||||
取消
|
||||
</button>
|
||||
<button disabled="{{submitFlag}}" bindtap="postAppSmsCustomer" class="fn-flex-item ml20 btn-36afa2 wp100 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover">
|
||||
确定
|
||||
</button>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</lcb-msg>
|
||||
|
||||
<lcb-msg isShow="{{isShowNote}}">
|
||||
<view slot="content" class="pt20" >
|
||||
<!-- <view class="pt40 pl40 pr40 font-36 text-center">客户跟进</view> -->
|
||||
<block wx:if="{{detailinfo.status ==3}}">
|
||||
<view class="mt30 pl30 pr30 font-28 text-center fn-flex">
|
||||
<view class="fn-flex-item relative ml10 mr10 pt20 pb20 ulib-r10 {{statuskey == 0?'bg-36afa2 color-fff':'bg-f6'}}" bindtap="radioPicker" data-key="0">未见客户</view>
|
||||
<view class="fn-flex-item relative ml10 mr10 pt20 pb20 ulib-r10 {{statuskey == 1?'bg-36afa2 color-fff':'bg-f6'}}" bindtap="radioPicker" data-key="1">到店客户</view>
|
||||
<view slot="content" class="pt20">
|
||||
<view class="mt30 pl30 pr30 font-28 text-center fn-flex" wx:if="{{detailinfo.status ==3}}">
|
||||
<view class="fn-flex-item relative ml10 mr10 pt20 pb20 ulib-r10 {{statuskey == 0?'bg-36afa2 color-fff':'bg-f6'}}" bindtap="radioPicker" data-key="0">
|
||||
未见客户
|
||||
</view>
|
||||
<view class="mt30 pl40 pr40">
|
||||
<textarea class="wp100 inner20 bds-2-eb font-28 ulib-r10" style="height:200rpx;" placeholder-class="color-ccc" placeholder="请输入小记内容" bname='note' model:value='{{note}}' />
|
||||
<view class="fn-flex-item relative ml10 mr10 pt20 pb20 ulib-r10 {{statuskey == 1?'bg-36afa2 color-fff':'bg-f6'}}" bindtap="radioPicker" data-key="1">
|
||||
到店客户
|
||||
</view>
|
||||
</block>
|
||||
<block wx:else>
|
||||
<view class="mt30 pl30 pr30 font-28 text-center fn-flex" wx:if="{{detailinfo.status!=2}}">
|
||||
<view class="fn-flex-item relative ml10 mr10 pt20 pb20 ulib-r10 {{statuskey == 0?'bg-36afa2 color-fff':'bg-f6'}}" bindtap="radioPicker" data-key="0">未见客户</view>
|
||||
<view class="fn-flex-item relative ml10 mr10 pt20 pb20 ulib-r10 {{statuskey == 1?'bg-36afa2 color-fff':'bg-f6'}}" bindtap="radioPicker" data-key="1">到店客户</view>
|
||||
<view class="fn-flex-item relative ml10 mr10 pt20 pb20 ulib-r10 {{statuskey == 3?'bg-36afa2 color-fff':'bg-f6'}}" bindtap="radioPicker" data-key="3">战败客户</view>
|
||||
</view>
|
||||
<view class="mt30 pl30 pr30 font-28 text-center fn-flex" wx:elif="{{detailinfo.status!=2}}">
|
||||
<view class="fn-flex-item relative ml10 mr10 pt20 pb20 ulib-r10 {{statuskey == 0?'bg-36afa2 color-fff':'bg-f6'}}" bindtap="radioPicker" data-key="0">
|
||||
未见客户
|
||||
</view>
|
||||
<view class="mt30 bds-2-eb ml40 mr40 inner20 font-28 color-666 fn-clear ulib-r10">
|
||||
<view class="fn-fl">客户等级</view>
|
||||
<picker class="fn-fr wp60 text-right" bindchange="changeLevel" value="{{levelIndex}}" range="{{level}}">
|
||||
<text class="color-ccc" wx:if="{{levelIndex == -1}}">请选择</text>
|
||||
<text wx:else>{{level[levelIndex]}}</text>
|
||||
<i class="iconfont ml5 icon-gengduo color-ccc"></i>
|
||||
</picker>
|
||||
<view class="fn-flex-item relative ml10 mr10 pt20 pb20 ulib-r10 {{statuskey == 1?'bg-36afa2 color-fff':'bg-f6'}}" bindtap="radioPicker" data-key="1">
|
||||
到店客户
|
||||
</view>
|
||||
<view class="mt30 pl40 pr40 font-28 text-center fn-flex" wx:if="{{statuskey==1}}">
|
||||
<view class="fn-flex-item relative mr10 pt20 pb20 ulib-r10 overflowhidden {{a_num == 1?'bg-36afa2 color-fff':'bg-f6'}}" style="height:78rpx;box-sizing:border-box;" bindtap="checkPicker" data-pointer="daodian">
|
||||
<view class="fn-flex-item relative ml10 mr10 pt20 pb20 ulib-r10 {{statuskey == 3?'bg-36afa2 color-fff':'bg-f6'}}" bindtap="radioPicker" data-key="3">
|
||||
战败客户
|
||||
</view>
|
||||
</view>
|
||||
<scroll-view scroll-y="true" style="max-height:1000rpx;">
|
||||
<block wx:if="{{statuskey==0||statuskey==1}}">
|
||||
<view class="mt20 bds-2-eb ml40 mr40 inner20 font-28 color-666 fn-clear ulib-r10">
|
||||
<view class="fn-fl">跟进渠道</view>
|
||||
<picker class="fn-fr wp60 text-right" bindchange="changeFollow" value="{{followIndex}}" range="{{follow}}">
|
||||
<text class="color-ccc" wx:if="{{followIndex == -1}}">请选择</text>
|
||||
<text wx:else>{{follow[followIndex]}}</text>
|
||||
<i class="iconfont ml5 icon-gengduo color-ccc"></i>
|
||||
</picker>
|
||||
</view>
|
||||
<view class="mt20 bds-2-eb ml40 mr40 inner20 font-28 color-666 fn-clear ulib-r10">
|
||||
<view class="fn-fl">客户等级</view>
|
||||
<view class="fn-fr wp60 text-right" wx:if="{{detailinfo.status==0&&statuskey==1}}">H</view>
|
||||
<picker class="fn-fr wp60 text-right" bindchange="changeLevel" value="{{levelIndex}}" range="{{level}}" wx:else>
|
||||
<text class="color-ccc" wx:if="{{levelIndex == -1}}">请选择</text>
|
||||
<text wx:else>{{level[levelIndex]}}</text>
|
||||
<i class="iconfont ml5 icon-gengduo color-ccc"></i>
|
||||
</picker>
|
||||
</view>
|
||||
<block wx:for='{{daoDianTag}}' wx:for-item='list' wx:for-index='i' wx:key='i' wx:if="{{statuskey==0}}">
|
||||
<view class="relative mt20 pl40 pr40">
|
||||
<view class="font-28">
|
||||
<text class="text-middle">{{list.name}}</text>
|
||||
</view>
|
||||
<view class="fn-clear" wx:if="{{list.type=='radio'}}">
|
||||
<block wx:for='{{list.list}}' wx:for-item='option' wx:for-index='j' wx:key='j'>
|
||||
<view class="inline-block space-nowrap mt20 mr20 pt15 pb15 pl30 pr30 font-22 ulib-r10 {{option.checked?'bg-36afa2 color-fff':'bg-f6 color-666'}}" bindtap="daoDianRadioPicker" data-i="{{i}}" data-j="{{j}}">
|
||||
{{option.name}}
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
<view class="fn-clear" wx:if="{{list.type=='checkbox'}}">
|
||||
<block wx:for='{{list.list}}' wx:for-item='option' wx:for-index='j' wx:key='j'>
|
||||
<view class="inline-block space-nowrap mt20 mr20 pt15 pb15 pl30 pr30 font-22 ulib-r10 {{option.checked?'bg-36afa2 color-fff':'bg-f6 color-666'}}" bindtap="daoDianCheckPicker" data-i="{{i}}" data-j="{{j}}">
|
||||
{{option.name}}
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
<block wx:for='{{gouMaiTag}}' wx:for-item='list' wx:for-index='i' wx:key='i' wx:if="{{statuskey==1}}">
|
||||
<view class="relative mt20 pl40 pr40">
|
||||
<view class="font-28">
|
||||
<text class="text-middle">{{list.name}}</text>
|
||||
</view>
|
||||
<view class="fn-clear" wx:if="{{list.type=='radio'}}">
|
||||
<block wx:for='{{list.list}}' wx:for-item='option' wx:for-index='j' wx:key='j'>
|
||||
<view class="inline-block space-nowrap mt20 mr20 pt15 pb15 pl30 pr30 font-22 ulib-r10 {{option.checked?'bg-36afa2 color-fff':'bg-f6 color-666'}}" bindtap="gouMaiRadioPicker" data-i="{{i}}" data-j="{{j}}">
|
||||
{{option.name}}
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
<view class="fn-clear" wx:if="{{list.type=='checkbox'}}">
|
||||
<block wx:for='{{list.list}}' wx:for-item='option' wx:for-index='j' wx:key='j'>
|
||||
<view class="inline-block space-nowrap mt20 mr20 pt15 pb15 pl30 pr30 font-22 ulib-r10 {{option.checked?'bg-36afa2 color-fff':'bg-f6 color-666'}}" bindtap="gouMaiCheckPicker" data-i="{{i}}" data-j="{{j}}">
|
||||
{{option.name}}
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
<view class="mt20 bds-2-eb ml40 mr40 inner20 font-28 {{levelIndex>-1?'color-666':'color-ccc'}} fn-clear ulib-r10">
|
||||
<view class="fn-fl">计划回访时间</view>
|
||||
<view bindtap="{{levelIndex>-1?'optShowTimePicker':''}}" class="fn-fr wp60 text-right">
|
||||
<text class="color-ccc" wx:if="{{nextIndex == -1}}">请选择</text>
|
||||
<text wx:else>{{dateList[nextIndex].year}}-{{dateList[nextIndex].month}}-{{dateList[nextIndex].day}}</text>
|
||||
<i class="iconfont ml5 icon-gengduo color-ccc"></i>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
<view class="mt20 ml40 mr40 font-28 text-center relative mr10 pt20 pb20 ulib-r10 overflowhidden {{baseinfo.wxgr==1?'opacity-80':''}} {{wxgr == 1?'bg-36afa2 color-fff':'bg-f6'}}" style="height:78rpx;box-sizing:border-box;" bindtap="{{baseinfo.wxgr==1?'':'checkPicker'}}" data-pointer="gewei" wx:if="{{statuskey==0}}">
|
||||
<i class="absolute right-0 bottom-0 iconfont font-32 icon-xuanzhongjiaobiao" style="color:#56ffed;" wx:if="{{wxgr == 1}}"></i>
|
||||
<text>已添加个微</text>
|
||||
</view>
|
||||
<view class="mt20 pl40 pr40 font-28 text-center fn-flex" wx:if="{{statuskey==1}}">
|
||||
<view class="fn-flex-item flexsize6 relative mr10 pt20 pb20 ulib-r10 overflowhidden {{baseinfo.wxgr==1?'opacity-80':''}} {{wxgr == 1?'bg-36afa2 color-fff':'bg-f6'}}" style="height:78rpx;box-sizing:border-box;" bindtap="{{baseinfo.wxgr==1?'':'checkPicker'}}" data-pointer="gewei">
|
||||
<i class="absolute right-0 bottom-0 iconfont font-32 icon-xuanzhongjiaobiao" style="color:#56ffed;" wx:if="{{wxgr == 1}}"></i>
|
||||
<text>已添加个微</text>
|
||||
</view>
|
||||
<view class="fn-flex-item flexsize5 relative ml10 mr10 pt20 pb20 ulib-r10 overflowhidden {{a_num == 1?'bg-36afa2 color-fff':'bg-f6'}}" style="height:78rpx;box-sizing:border-box;" bindtap="checkPicker" data-pointer="daodian">
|
||||
<i class="absolute right-0 bottom-0 iconfont font-32 icon-xuanzhongjiaobiao" style="color:#56ffed;" wx:if="{{a_num == 1}}"></i>
|
||||
<text>再次到店</text>
|
||||
</view>
|
||||
<view class="fn-flex-item relative ml10 pt20 pb20 ulib-r10 overflowhidden {{t_num == 1?'bg-36afa2 color-fff':'bg-f6'}}" style="height:78rpx;box-sizing:border-box;" bindtap="checkPicker" data-pointer="shijia">
|
||||
<view class="fn-flex-item flexsize5 relative ml10 pt20 pb20 ulib-r10 overflowhidden {{t_num == 1?'bg-36afa2 color-fff':'bg-f6'}}" style="height:78rpx;box-sizing:border-box;" bindtap="checkPicker" data-pointer="shijia">
|
||||
<i class="absolute right-0 bottom-0 iconfont font-32 icon-xuanzhongjiaobiao" style="color:#56ffed;" wx:if="{{t_num == 1}}"></i>
|
||||
<text>客户试驾</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="mt30 pl40 pr40" wx:if="{{statuskey==3}}">
|
||||
<textarea class="wp100 inner20 bds-2-eb font-28 ulib-r10" style="height:200rpx;" placeholder-class="color-ccc" maxlength='100' placeholder="请填写战败理由" name='defeat_reason' model:value='{{defeat_reason}}' />
|
||||
</view>
|
||||
<view class="mt30 pl40 pr40" wx:else>
|
||||
<textarea class="wp100 inner20 bds-2-eb font-28 ulib-r10" style="height:200rpx;" placeholder-class="color-ccc" placeholder="请输入小记内容" bname='note' model:value='{{note}}' />
|
||||
</view>
|
||||
<view class="mt30 pl25 pr25" wx:if="{{statuskey!=3}}">
|
||||
<view class="fn-flex">
|
||||
<block wx:for='{{photos}}' wx:for-item='photos' wx:for-index="index" wx:key='photo'>
|
||||
<view class="fn-flex-item ml15 mr15 relative">
|
||||
<i class="absolute top-0 right-0 bg-ccc iconfont icon-shanchu inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-1" bindtap="delPic" data-index="{{index}}" ></i>
|
||||
<image class='img-250x150 ulib-r10' src='{{photos.img_url}}' mode='aspectFill'></image>
|
||||
<view class="mt20 text-center" wx:if="{{(statuskey==0||statuskey==1)&&wxgr==1}}">
|
||||
<view class="inline-block img-250x150 relative ulib-r10 overflowhidden">
|
||||
<block wx:if="{{wxgrimg_url}}">
|
||||
<view class="inline-block bg-f8 img-250x150 relative ulib-r10 overflowhidden">
|
||||
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-shuaxin inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-1" bindtap="chooseImg" data-type="gw_img"></i>
|
||||
<image class='block wp100 img-250x150 ulib-r10' src='{{wxgrimg_url}}' mode='aspectFit' bindtap="previewImage" data-type="gw_img"></image>
|
||||
</view>
|
||||
</block>
|
||||
<block wx:if="{{photos.length==0}}">
|
||||
<view class="fn-flex-item ml15 mr15 relative" bindtap="chooseImg">
|
||||
<image class='img-250x150 ulib-r10' src='{{imgUrl}}common/add-pic.jpg' mode='aspectFill'></image>
|
||||
</view>
|
||||
<view class="fn-flex-item ml15 mr15 relative" bindtap="chooseImg">
|
||||
<image class='img-250x150 ulib-r10' src='{{imgUrl}}common/add-pic.jpg' mode='aspectFill'></image>
|
||||
</view>
|
||||
</block>
|
||||
<block wx:elif="{{photos.length==1}}">
|
||||
<view class="fn-flex-item ml15 mr15 relative" bindtap="chooseImg">
|
||||
<image class='img-250x150 ulib-r10' src='{{imgUrl}}common/add-pic.jpg' mode='aspectFill'></image>
|
||||
<block wx:else>
|
||||
<view class="inline-block bg-f8 img-250x150 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-type="gw_img">
|
||||
<view class="absolute left-0 right-0 box-middle color-ccc">
|
||||
<i class="iconfont icon-paizhao font-42"></i>
|
||||
<view class="mt10 font-22">上传个微截图</view>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
<view class="fn-flex mt30 pl60 pr60 pb50 text-center font-32 color-666">
|
||||
<button bindtap="optShowNote" class="fn-flex-item mr20 bds-2-36afa2 btn-no-bg wp100 font-28 color-36afa2 ulib-r750">取消</button>
|
||||
<button disabled="{{submitFlag}}" bindtap="putAppCustomers" class="fn-flex-item ml20 btn-36afa2 wp100 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover">确定</button>
|
||||
<block wx:if="{{statuskey!=3}}">
|
||||
<view class="mt15 pl40 pr40">
|
||||
<textarea class="wp100 inner20 bds-2-eb font-28 ulib-r10" style="height:200rpx;" placeholder-class="color-ccc" placeholder="请输入小记内容" bname='note' model:value='{{note}}' />
|
||||
</view>
|
||||
<view class="mt20 pl25 pr25">
|
||||
<view class="fn-flex">
|
||||
<block wx:for='{{photos}}' wx:for-item='photos' wx:for-index="index" wx:key='photo'>
|
||||
<view class="fn-flex-item ml15 mr15 relative">
|
||||
<i class="absolute top-0 right-0 bg-ccc iconfont icon-shanchu inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-1" bindtap="delPic" data-index="{{index}}"></i>
|
||||
<image class='img-250x150 ulib-r10' src='{{photos.img_url}}' mode='aspectFill'></image>
|
||||
</view>
|
||||
</block>
|
||||
<block wx:if="{{photos.length==0}}">
|
||||
<view class="fn-flex-item ml15 mr15 relative" bindtap="chooseImg" data-type="note_img">
|
||||
<image class='img-250x150 ulib-r10' src='{{imgUrl}}common/add-pic.jpg' mode='aspectFill'></image>
|
||||
</view>
|
||||
<view class="fn-flex-item ml15 mr15 relative" bindtap="chooseImg" data-type="note_img">
|
||||
<image class='img-250x150 ulib-r10' src='{{imgUrl}}common/add-pic.jpg' mode='aspectFill'></image>
|
||||
</view>
|
||||
</block>
|
||||
<block wx:elif="{{photos.length==1}}">
|
||||
<view class="fn-flex-item ml15 mr15 relative" bindtap="chooseImg" data-type="note_img">
|
||||
<image class='img-250x150 ulib-r10' src='{{imgUrl}}common/add-pic.jpg' mode='aspectFill'></image>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
<view class="pl40 pr40" wx:if="{{statuskey==3}}">
|
||||
<view class="mt20 bds-2-eb inner20 font-28 color-666 ulib-r10">
|
||||
<picker class="fn-clear" bindchange="changeDefeat" value="{{defeatIndex}}" range="{{defeatTitleList}}">
|
||||
<view class="wp90 fn-fl text-nowrap color-ccc" wx:if="{{defeatIndex == -1}}">请选择</view>
|
||||
<view class="wp90 fn-fl text-nowrap" wx:else>{{defeatTitleList[defeatIndex]}}</view>
|
||||
<i class="fn-fr iconfont mt5 ml5 icon-gengduo color-ccc"></i>
|
||||
</picker>
|
||||
</view>
|
||||
<block wx:if="{{defeatIndex > -1}}">
|
||||
<view class="fn-clear" wx:if="{{defeatTag[defeatIndex].type=='radio'}}">
|
||||
<block wx:for='{{defeatTag[defeatIndex].list}}' wx:for-item='option' wx:for-index='j' wx:key='j'>
|
||||
<view class="inline-block space-nowrap mt20 mr20 pt15 pb15 pl30 pr30 font-22 ulib-r10 {{option.checked?'bg-36afa2 color-fff':'bg-f6 color-666'}}" bindtap="defeatRadioPicker" data-i="{{defeatIndex}}" data-j="{{j}}">
|
||||
{{option.name}}
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
<view class="fn-clear" wx:if="{{defeatTag[defeatIndex].type=='checkbox'}}">
|
||||
<block wx:for='{{defeatTag[defeatIndex].list}}' wx:for-item='option' wx:for-index='j' wx:key='j'>
|
||||
<view class="inline-block space-nowrap mt20 mr20 pt15 pb15 pl30 pr30 font-22 ulib-r10 {{option.checked?'bg-36afa2 color-fff':'bg-f6 color-666'}}" bindtap="defeatCheckPicker" data-i="{{defeatIndex}}" data-j="{{j}}">
|
||||
{{option.name}}
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</block>
|
||||
<!-- <block wx:for='{{defeatTag}}' wx:for-item='list' wx:for-index='i' wx:key='i'>
|
||||
<view class="relative mt20">
|
||||
<view class="font-28">
|
||||
<text class="text-middle">{{list.name}}</text>
|
||||
<text class="text-middle font-24" wx:if="{{list.type=='radio'}}">(单选)</text>
|
||||
<text class="text-middle font-24" wx:if="{{list.type=='checkbox'}}">(多选)</text>
|
||||
</view>
|
||||
<view class="fn-clear" wx:if="{{list.type=='radio'}}">
|
||||
<block wx:for='{{list.list}}' wx:for-item='option' wx:for-index='j' wx:key='j'>
|
||||
<view class="inline-block space-nowrap mt20 mr20 pt15 pb15 pl30 pr30 font-22 ulib-r10 {{option.checked?'bg-36afa2 color-fff':'bg-f6 color-666'}}" bindtap="defeatRadioPicker" data-i="{{i}}" data-j="{{j}}">
|
||||
{{option.name}}
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
<view class="fn-clear" wx:if="{{list.type=='checkbox'}}">
|
||||
<block wx:for='{{list.list}}' wx:for-item='option' wx:for-index='j' wx:key='j'>
|
||||
<view class="inline-block space-nowrap mt20 mr20 pt15 pb15 pl30 pr30 font-22 ulib-r10 {{option.checked?'bg-36afa2 color-fff':'bg-f6 color-666'}}" bindtap="defeatCheckPicker" data-i="{{i}}" data-j="{{j}}">
|
||||
{{option.name}}
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
</block> -->
|
||||
<view class="mt20">
|
||||
<textarea class="wp100 inner20 bds-2-eb font-28 ulib-r10" style="height:200rpx;" placeholder-class="color-ccc" maxlength='100' placeholder="请填写战败理由" name='defeat_reason' model:value='{{defeat_reason}}' />
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
<view class="fn-flex mt20 pl60 pr60 pb50 text-center font-32 color-666">
|
||||
<button bindtap="optShowNote" class="fn-flex-item mr20 bds-2-36afa2 btn-no-bg wp100 font-28 color-36afa2 ulib-r750">
|
||||
取消
|
||||
</button>
|
||||
<button disabled="{{submitFlag}}" bindtap="putAppCustomers" class="fn-flex-item ml20 btn-36afa2 wp100 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover">
|
||||
确定
|
||||
</button>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</lcb-msg>
|
||||
|
||||
<lcb-msg isShow="{{isShowOrder}}">
|
||||
<view slot="content">
|
||||
<view class="mt50 font-36 text-center">查看订单</view>
|
||||
<view slot="content">
|
||||
<view class="mt50 font-36 text-center">查看订单</view>
|
||||
<scroll-view class="pb50" scroll-y="true" style="max-height:600rpx;width:620rpx">
|
||||
<view class="inner40">
|
||||
<block wx:for='{{order}}' wx:key='index'>
|
||||
@@ -247,12 +491,54 @@
|
||||
</block>
|
||||
</view>
|
||||
</scroll-view>
|
||||
<view class="fn-flex pl60 pr60 pb50 text-center font-32 color-666" wx:if="{{detailinfo.generate_order}}">
|
||||
<button bindtap="optShowOrder" class="fn-flex-item mr20 bds-2-36afa2 btn-no-bg wp100 font-28 color-36afa2 ulib-r750" hover-class="btn-36afa2-hover">返回</button>
|
||||
<button class="fn-flex-item ml20 btn-36afa2 wp100 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover" bindtap="pushLink" data-url="/pages/order/register/index?cus_id={{detailinfo.id}}&name={{detailinfo.name}}&mobile={{detailinfo.mobile}}">生成订单</button>
|
||||
<view class="fn-flex pl60 pr60 pb50 text-center font-32 color-666">
|
||||
<button bindtap="optShowOrder" class="fn-flex-item mr20 bds-2-36afa2 btn-no-bg wp100 font-28 color-36afa2 ulib-r750" hover-class="btn-36afa2-hover">
|
||||
返回
|
||||
</button>
|
||||
<button class="fn-flex-item ml20 btn-36afa2 wp100 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover" bindtap="pushLink" data-url="/pages/order/register/index?cus_id={{detailinfo.id}}&name={{detailinfo.name}}&mobile={{detailinfo.mobile}}&complete_mobile={{detailinfo.complete_mobile}}">
|
||||
生成订单
|
||||
</button>
|
||||
</view>
|
||||
<view class="pl60 pr60 pb50 text-center font-32 color-666" wx:else>
|
||||
<button bindtap="optShowOrder" class="bds-2-36afa2 btn-no-bg wp45 font-28 color-36afa2 ulib-r750" hover-class="btn-36afa2-hover">返回</button>
|
||||
<!-- <view class="pl60 pr60 pb50 text-center font-32 color-666" wx:else>
|
||||
<button bindtap="optShowOrder" class="bds-2-36afa2 btn-no-bg wp45 font-28 color-36afa2 ulib-r750" hover-class="btn-36afa2-hover">
|
||||
返回
|
||||
</button>
|
||||
</view> -->
|
||||
</view>
|
||||
</lcb-msg>
|
||||
<lcb-msg isShow="{{isShowComment}}">
|
||||
<view slot="content">
|
||||
<view class="inner40">
|
||||
<view class="font-36 text-center">小记评论</view>
|
||||
<view class="mt20">
|
||||
<textarea class="wp100 inner20 bds-2-eb font-28 ulib-r10" style="height:170rpx;" placeholder-class="color-ccc" maxlength='100' placeholder="请输入评论内容" model:value='{{comment}}' />
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="fn-flex pl60 pr60 pb50 text-center font-32 color-666">
|
||||
<button bindtap="optShowComment" class="fn-flex-item mr20 bds-2-36afa2 btn-no-bg wp100 font-28 color-36afa2 ulib-r750">
|
||||
取消
|
||||
</button>
|
||||
<button disabled="{{submitFlag}}" bindtap="postAppCustomersComments" class="fn-flex-item ml20 btn-36afa2 wp100 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover">
|
||||
确定
|
||||
</button>
|
||||
</view>
|
||||
</view>
|
||||
</lcb-msg>
|
||||
|
||||
<!-- 拨打电话 -->
|
||||
<lcb-msg isShow="{{isShowCall}}">
|
||||
<view slot="content">
|
||||
<view class="pt50 pb40">
|
||||
<view class="font-36 text-center">号码绑定成功</view>
|
||||
<view class="mt10 font-28 text-center color-666">现在呼叫 {{phoneNumber}} ?</view>
|
||||
</view>
|
||||
<view class="fn-flex pl60 pr60 pb50 text-center font-32 color-666">
|
||||
<button bindtap="hideCall" class="fn-flex-item mr20 bds-2-36afa2 btn-no-bg wp100 font-28 color-36afa2 ulib-r750">
|
||||
取消
|
||||
</button>
|
||||
<button bindtap="makePhoneCall" class="fn-flex-item ml20 btn-36afa2 wp100 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover">
|
||||
确定
|
||||
</button>
|
||||
</view>
|
||||
</view>
|
||||
</lcb-msg>
|
||||
@@ -20,6 +20,14 @@ Page({
|
||||
of2_id:'',
|
||||
of1Index:-1,
|
||||
of2Index:-1,
|
||||
|
||||
cityIndex:-1,
|
||||
city_id:'',
|
||||
countyIndex:-1,
|
||||
county_id:'',
|
||||
wxgr:0,//是否添加个微
|
||||
wxgrimg:'',//个微
|
||||
wxgrimg_url:'',//个微
|
||||
},
|
||||
//生命周期函数--监听页面加载
|
||||
onLoad: function (options) {
|
||||
@@ -43,6 +51,9 @@ Page({
|
||||
mobile:res.data.baseinfo.mobile.value?res.data.baseinfo.mobile.value:'',
|
||||
of_id:res.data.baseinfo.of_id.of_id?res.data.baseinfo.of_id.of_id:'',
|
||||
of2_id:res.data.baseinfo.of_id.of2_id?res.data.baseinfo.of_id.of2_id:'',
|
||||
wxgr:res.data.baseinfo.wxgr,
|
||||
wxgrimg:res.data.baseinfo.wxgrimg,
|
||||
wxgrimg_url:res.data.baseinfo.wxgrimg_url,
|
||||
})
|
||||
|
||||
//编辑基础信息使用
|
||||
@@ -332,24 +343,42 @@ Page({
|
||||
title: '请输入客户姓名',
|
||||
icon: 'none'
|
||||
})
|
||||
} else if (that.data.mobile == '' ){
|
||||
} else if (that.data.mobile != that.data.baseinfo.mobile.value&&!/^1[3456789]\d{9}$/.test(that.data.mobile)){
|
||||
wx.showToast({
|
||||
title: '请输入正确的手机号码',
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
else if (that.data.of_id == '' ) {
|
||||
else if (that.data.sources.length>0&&that.data.of_id == '' ) {
|
||||
wx.showToast({
|
||||
title: '请选择线索来源',
|
||||
title: '请选择客户来源',
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
else if (that.data.sources[that.data.of1Index].list.length>0&&that.data.of2_id == '' ) {
|
||||
else if (that.data.sources.length>0&&that.data.sources[that.data.of1Index].list.length>0&&that.data.of2_id == '' ) {
|
||||
wx.showToast({
|
||||
title: '请选择'+that.data.sources[that.data.of1Index].name+'类型',
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
else if (that.data.city_id == '' ) {
|
||||
wx.showToast({
|
||||
title: '请选择所在城市',
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
else if (that.data.county_id == '' ) {
|
||||
wx.showToast({
|
||||
title: '请选择所在地区',
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
else if(this.data.wxgr==1&&this.data.wxgrimg==''){
|
||||
wx.showToast({
|
||||
title: '请上传个微截图',
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
// else if(that.data.car_id == '' ){
|
||||
// wx.showToast({
|
||||
// title: '请选择车系车型',
|
||||
@@ -392,6 +421,8 @@ Page({
|
||||
if(that.data.of2_id != that.data.baseinfo.of_id.of2_id){
|
||||
params['of2_id'] = that.data.of2_id;
|
||||
}
|
||||
params['city_id'] = that.data.city_id;
|
||||
params['county_id'] = that.data.county_id;
|
||||
// if(that.data.car_id != that.data.baseinfo.car_id.value){
|
||||
// params['car_id'] = that.data.car_id;
|
||||
// }
|
||||
@@ -401,6 +432,10 @@ Page({
|
||||
// if(that.data.color_id != that.data.baseinfo.color_id.value){
|
||||
// params['color_id'] = that.data.color_id;
|
||||
// }
|
||||
params['wxgr'] = this.data.wxgr;
|
||||
if(this.data.wxgr==1){
|
||||
params['wxgrimg'] = this.data.wxgrimg;
|
||||
}
|
||||
_.apiQuery.putAppCustomerData(params).then(res => {
|
||||
|
||||
//刷新列表页
|
||||
@@ -450,19 +485,19 @@ Page({
|
||||
}
|
||||
},
|
||||
|
||||
//线索来源
|
||||
//客户来源
|
||||
getAppCustomersOffline_sources(){
|
||||
_.apiQuery.getAppCustomersOffline_sources().then(res => {
|
||||
let of1Arr = []
|
||||
res.data.forEach(item => {
|
||||
res.data.sources.forEach(item => {
|
||||
of1Arr.push(item.name)
|
||||
})
|
||||
this.setData({
|
||||
of1Arr,
|
||||
sources:res.data
|
||||
sources:res.data.sources
|
||||
})
|
||||
if(this.data.of_id != ''){
|
||||
res.data.forEach((item,index) => {
|
||||
res.data.sources.forEach((item,index) => {
|
||||
if(item.id == this.data.of_id){
|
||||
this.setData({
|
||||
of1Index:index,
|
||||
@@ -471,7 +506,7 @@ Page({
|
||||
})
|
||||
if(this.data.of2Index != ''){
|
||||
let of2Arr = []
|
||||
res.data[this.data.of1Index].list.forEach((item,index) => {
|
||||
res.data.sources[this.data.of1Index].list.forEach((item,index) => {
|
||||
of2Arr.push(item.name)
|
||||
if(item.id == this.data.of2_id){
|
||||
this.setData({
|
||||
@@ -487,7 +522,7 @@ Page({
|
||||
});
|
||||
},
|
||||
|
||||
//线索来源
|
||||
//客户来源
|
||||
changeOf1(e) {
|
||||
if(this.data.of1Index!=e.detail.value){
|
||||
let of2Arr = []
|
||||
@@ -518,8 +553,14 @@ Page({
|
||||
params['id'] = this.data.id;
|
||||
_.apiQuery.getAppCustomersTag(params).then(res => {
|
||||
this.setData({
|
||||
taglList:res.data,
|
||||
city_id:res.data.city_id,
|
||||
county_id:res.data.county_id,
|
||||
taglList:res.data.tags&&res.data.tags.length>0?res.data.tags:[],
|
||||
})
|
||||
//获取城市
|
||||
this.getAppCityArea_city()
|
||||
//获取地区
|
||||
this.getAppCityArea_county()
|
||||
});
|
||||
},
|
||||
|
||||
@@ -542,4 +583,137 @@ Page({
|
||||
})
|
||||
},
|
||||
|
||||
//获取城市
|
||||
getAppCityArea_city(){
|
||||
let params = {};
|
||||
params['type'] = 'city';
|
||||
_.apiQuery.getAppCityArea(params).then(res => {
|
||||
let cityArr = []
|
||||
let cityIndex = -1
|
||||
res.data.list.forEach((item,index) => {
|
||||
cityArr.push(item.name)
|
||||
if(this.data.city_id == item.id){
|
||||
cityIndex = index
|
||||
}
|
||||
})
|
||||
this.setData({
|
||||
cityIndex,
|
||||
cityArr,
|
||||
city:res.data.list
|
||||
})
|
||||
});
|
||||
},
|
||||
|
||||
//获取行政区
|
||||
getAppCityArea_county(){
|
||||
let params = {};
|
||||
params['pid'] = this.data.city_id;
|
||||
params['type'] = 'county';
|
||||
_.apiQuery.getAppCityArea(params).then(res => {
|
||||
let countyArr = []
|
||||
let countyIndex = -1
|
||||
res.data.list.forEach((item,index) => {
|
||||
countyArr.push(item.name)
|
||||
if(this.data.county_id == item.id){
|
||||
countyIndex = index
|
||||
}
|
||||
})
|
||||
this.setData({
|
||||
countyIndex,
|
||||
countyArr,
|
||||
county:res.data.list
|
||||
})
|
||||
});
|
||||
},
|
||||
|
||||
//选择城市
|
||||
changeCity(e) {
|
||||
if(this.data.cityIndex!=e.detail.value){
|
||||
this.setData({
|
||||
cityIndex:e.detail.value,
|
||||
city_id:this.data.city[e.detail.value].id,
|
||||
})
|
||||
this.getAppCityArea_county()
|
||||
}
|
||||
},
|
||||
|
||||
//选择地区
|
||||
changeCounty(e) {
|
||||
if(this.data.countyIndex!=e.detail.value){
|
||||
this.setData({
|
||||
countyIndex:e.detail.value,
|
||||
county_id:this.data.county[e.detail.value].id,
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
//是否添加个微
|
||||
switchWxgr:function(e){
|
||||
this.setData({
|
||||
wxgr:e.detail.value ? 1 :0
|
||||
})
|
||||
},
|
||||
|
||||
//选择图片
|
||||
chooseImg(e) {
|
||||
let that = this
|
||||
|
||||
//上传个微截图
|
||||
if(e.currentTarget.dataset.type=='gw_img'){
|
||||
wx.chooseImage({
|
||||
count: 1, // 默认9
|
||||
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||||
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||||
success(res) {
|
||||
wx.showLoading({
|
||||
title: '上传中',
|
||||
})
|
||||
wx.uploadFile({
|
||||
url:_.config.api.upImg,
|
||||
filePath:res.tempFilePaths[0],
|
||||
name: 'img',
|
||||
formData: {
|
||||
'app': 'liche'
|
||||
},
|
||||
success: (resp) => {
|
||||
resp.data = JSON.parse(resp.data);
|
||||
if (resp.data.code == 200) {
|
||||
wx.hideLoading();
|
||||
that.setData({
|
||||
wxgrimg:resp.data.data.url,
|
||||
wxgrimg_url:resp.data.data.full_url,
|
||||
})
|
||||
}else{
|
||||
wx.hideLoading();
|
||||
wx.showToast({
|
||||
title: '上传失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
},
|
||||
})
|
||||
},
|
||||
fail: res => {
|
||||
wx.showToast({
|
||||
title: '文件选择失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
//查看图片
|
||||
previewImage(e){
|
||||
if(e.currentTarget.dataset.type=='gw_img'){
|
||||
wx.previewImage({
|
||||
current:this.data.wxgrimg_url,
|
||||
urls:[this.data.wxgrimg_url],
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
})
|
||||
@@ -1,6 +1,6 @@
|
||||
<view class="container">
|
||||
<view class="inner30">
|
||||
<view class="pl40 pr40 pt10 pb50 relative ulib-r10 box-shadow-000-10-10 overflowhidden">
|
||||
<view class="pl40 pr40 pt10 pb10 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>
|
||||
@@ -53,29 +53,76 @@
|
||||
</picker>
|
||||
</view>
|
||||
</view> -->
|
||||
<block wx:if="{{sources.length>0}}">
|
||||
<view class="relative bbs-1-eb last-b-none pl140 font-28">
|
||||
<view class="absolute left-0 box-middle">客户来源</view>
|
||||
<view class="pt30 pb30 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 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>
|
||||
</block>
|
||||
<view class="relative bbs-1-eb last-b-none pl140 font-28">
|
||||
<view class="absolute left-0 box-middle">线索来源</view>
|
||||
<view class="absolute left-0 box-middle">所在城市</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666">
|
||||
<picker bindchange="changeOf1" value="{{of1Index}}" range="{{of1Arr}}">
|
||||
<text class="color-ccc" wx:if="{{of1Index == -1}}">请选择</text>
|
||||
<text wx:else>{{of1Arr[of1Index]}}</text>
|
||||
<picker bindchange="changeCity" value="{{cityIndex}}" range="{{cityArr}}">
|
||||
<text class="color-ccc" wx:if="{{cityIndex == -1}}">请选择</text>
|
||||
<text wx:else>{{cityArr[cityIndex]}}</text>
|
||||
<i class="iconfont ml5 icon-gengduo"></i>
|
||||
</picker>
|
||||
</view>
|
||||
</view>
|
||||
<view class="relative bbs-1-eb last-b-none pl140 font-28" wx:if="{{of2Arr.length>0}}">
|
||||
<view class="absolute left-0 box-middle">{{sources[of1Index].name}}</view>
|
||||
<view class="relative bbs-1-eb last-b-none pl140 font-28" wx:if="{{city_id}}">
|
||||
<view class="absolute left-0 box-middle">所在地区</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666">
|
||||
<picker bindchange="changeOf2" value="{{of2Index}}" range="{{of2Arr}}">
|
||||
<text class="color-ccc" wx:if="{{of2Index == -1}}">请选择</text>
|
||||
<text wx:else>{{of2Arr[of2Index]}}</text>
|
||||
<picker bindchange="changeCounty" value="{{countyIndex}}" range="{{countyArr}}">
|
||||
<text class="color-ccc" wx:if="{{countyIndex == -1}}">请选择</text>
|
||||
<text wx:else>{{countyArr[countyIndex]}}</text>
|
||||
<i class="iconfont ml5 icon-gengduo"></i>
|
||||
</picker>
|
||||
</view>
|
||||
</view>
|
||||
<view class="relative bbs-1-eb last-b-none pl180 font-28">
|
||||
<view class="absolute left-0 box-middle">是否添加个微</view>
|
||||
<view class="relative pt30 pb30 text-right">
|
||||
<switch class="{{baseinfo.wxgr==1?'opacity-50':''}}" checked="{{wxgr==1}}" bindchange="switchWxgr" type="switch" color='#36afa2' disabled='{{baseinfo.wxgr==1}}' style="zoom:0.8" />
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="mt30 text-center" wx:if="{{wxgr==1}}">
|
||||
<view class="inline-block img-250x150 relative ulib-r10 overflowhidden">
|
||||
<block wx:if="{{wxgrimg_url}}">
|
||||
<view class="inline-block bg-f8 img-250x150 relative ulib-r10 overflowhidden">
|
||||
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-shuaxin inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-1" bindtap="chooseImg" data-type="gw_img"></i>
|
||||
<image class='block wp100 img-250x150 ulib-r10' src='{{wxgrimg_url}}' mode='aspectFit' bindtap="previewImage" data-type="gw_img"></image>
|
||||
</view>
|
||||
</block>
|
||||
<block wx:else>
|
||||
<view class="inline-block bg-f8 img-250x150 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-type="gw_img">
|
||||
<view class="absolute left-0 right-0 box-middle color-ccc">
|
||||
<i class="iconfont icon-paizhao font-42"></i>
|
||||
<view class="mt10 font-22">上传个微截图</view>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<block wx:for='{{taglList}}' wx:for-item='list' wx:for-index='i' wx:key='i'>
|
||||
<view class="relative mt40">
|
||||
<view class="relative mt30">
|
||||
<view class="font-28">
|
||||
<text class="text-middle">{{list.name}}</text>
|
||||
<text class="text-middle font-24" wx:if="{{list.type=='radio'}}">(单选)</text>
|
||||
@@ -83,23 +130,26 @@
|
||||
</view>
|
||||
<view class="fn-clear" wx:if="{{list.type=='radio'}}">
|
||||
<block wx:for='{{list.list}}' wx:for-item='option' wx:for-index='j' wx:key='j'>
|
||||
<view class="inline-block space-nowrap mt20 mr20 pt15 pb15 pl30 pr30 font-22 ulib-r10 {{option.checked?'bg-36afa2 color-fff':'bg-f6 color-666'}}" bindtap="radioPicker" data-i="{{i}}" data-j="{{j}}">{{option.name}}</view>
|
||||
<view class="inline-block space-nowrap mt20 mr20 pt15 pb15 pl30 pr30 font-22 ulib-r10 {{option.checked?'bg-36afa2 color-fff':'bg-f6 color-666'}}" bindtap="radioPicker" data-i="{{i}}" data-j="{{j}}">
|
||||
{{option.name}}
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
<view class="fn-clear" wx:if="{{list.type=='checkbox'}}">
|
||||
<block wx:for='{{list.list}}' wx:for-item='option' wx:for-index='j' wx:key='j'>
|
||||
<view class="inline-block space-nowrap mt20 mr20 pt15 pb15 pl30 pr30 font-22 ulib-r10 {{option.checked?'bg-36afa2 color-fff':'bg-f6 color-666'}}" bindtap="checkPicker" data-i="{{i}}" data-j="{{j}}">{{option.name}}</view>
|
||||
<view class="inline-block space-nowrap mt20 mr20 pt15 pb15 pl30 pr30 font-22 ulib-r10 {{option.checked?'bg-36afa2 color-fff':'bg-f6 color-666'}}" bindtap="checkPicker" data-i="{{i}}" data-j="{{j}}">
|
||||
{{option.name}}
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
|
||||
</view>
|
||||
|
||||
<view class="mt60 pl60 pr60">
|
||||
<button class="wp100 btn-36afa2 pt10 pb10 text-center font-32 color-fff ulib-r750" hover-class="btn-36afa2-hover" disabled="{{submitFlag}}" bindtap="putAppCustomerData">确认</button>
|
||||
<button class="wp100 btn-36afa2 pt10 pb10 text-center font-32 color-fff ulib-r750" hover-class="btn-36afa2-hover" disabled="{{submitFlag}}" bindtap="putAppCustomerData">
|
||||
确认
|
||||
</button>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
<lcb-footer></lcb-footer>
|
||||
|
||||
@@ -23,6 +23,25 @@ Page({
|
||||
o_type:'',//排序类型
|
||||
visit:'',//只显示待回访客户(1是)
|
||||
a_id:'',//活动ID
|
||||
level:'',//客户级别
|
||||
status:'',//客户状态
|
||||
status_tp:'',
|
||||
tab:[],//回访待跟进tab
|
||||
visit_tab_id:'',//回访待跟进tabid
|
||||
|
||||
isShowTimePicker:false,
|
||||
weekList:['日','一','二','三','四','五','六'],
|
||||
dateList:[],
|
||||
nextIndex:-1,//计划回访时间
|
||||
|
||||
distTabId:1,
|
||||
distBizIndex:-1,
|
||||
distBiz_id:'',
|
||||
bizArray: [],
|
||||
bizobj: [],
|
||||
|
||||
isShowCall:false,//是否显示拨打电话确认弹框
|
||||
phoneNumber:'',//拨打的电话号码
|
||||
},
|
||||
onLoad(options) {
|
||||
for (let key in options) {
|
||||
@@ -30,7 +49,14 @@ Page({
|
||||
[key]: options[key]
|
||||
})
|
||||
}
|
||||
this.getAppCustomersList()
|
||||
|
||||
//顶部tab
|
||||
this.getAppCustomersVisit_tabs()
|
||||
|
||||
//销售顾问
|
||||
this.getAppUserAdmins()
|
||||
|
||||
this.getTimePicker()
|
||||
|
||||
wx.setNavigationBarTitle({
|
||||
title: this.data.title||'客户'
|
||||
@@ -41,6 +67,26 @@ Page({
|
||||
|
||||
},
|
||||
|
||||
//回访待跟进tab
|
||||
getAppCustomersVisit_tabs() {
|
||||
let params = {};
|
||||
if(this.data.status != ''){
|
||||
params['status'] = this.data.status;
|
||||
}
|
||||
_.apiQuery.getAppCustomersVisit_tabs(params).then(res => {
|
||||
if(res.data.list.length>0){
|
||||
this.setData({
|
||||
tab:res.data.list,
|
||||
visit_tab_id:res.data.list[0].id,
|
||||
})
|
||||
}
|
||||
|
||||
this.getAppCustomersList()
|
||||
|
||||
wx.stopPullDownRefresh()
|
||||
});
|
||||
},
|
||||
|
||||
//获取客户列表
|
||||
getAppCustomersList() {
|
||||
this.setData({
|
||||
@@ -89,6 +135,18 @@ Page({
|
||||
if(this.data.a_id != ''){
|
||||
params['a_id'] = this.data.a_id;
|
||||
}
|
||||
if(this.data.level != ''){
|
||||
params['level'] = this.data.level;
|
||||
}
|
||||
if(this.data.status != ''){
|
||||
params['status'] = this.data.status;
|
||||
}
|
||||
if(this.data.status_tp != ''){
|
||||
params['status_tp'] = this.data.status_tp;
|
||||
}
|
||||
if(this.data.visit_tab_id != ''){
|
||||
params['visit_tab_id'] = this.data.visit_tab_id;
|
||||
}
|
||||
_.apiQuery.getAppCustomersList(params).then(res => {
|
||||
this.setData({
|
||||
total: res.data.total,
|
||||
@@ -128,8 +186,9 @@ Page({
|
||||
params['id'] = e.currentTarget.dataset.id;
|
||||
params['type'] = 0;
|
||||
_.apiQuery.getAppXz(params).then(res=>{
|
||||
wx.makePhoneCall({
|
||||
phoneNumber: res.data.mobile,
|
||||
this.setData({
|
||||
isShowCall:true,
|
||||
phoneNumber:res.data.mobile,
|
||||
})
|
||||
})
|
||||
},
|
||||
@@ -194,6 +253,296 @@ Page({
|
||||
}
|
||||
},
|
||||
|
||||
//获取销售顾问
|
||||
getAppUserAdmins(){
|
||||
let params = {};
|
||||
params['page'] = 1;
|
||||
params['size'] = 1000;
|
||||
_.apiQuery.getAppUserAdmins(params).then(res => {
|
||||
let staffArray = []
|
||||
res.data.list.forEach(item => {
|
||||
staffArray.push(item.uname)
|
||||
})
|
||||
let bizArray = []
|
||||
res.data.bizs.forEach(item => {
|
||||
bizArray.push(item.name)
|
||||
})
|
||||
this.setData({
|
||||
staffArray:staffArray,
|
||||
staffobj: res.data.list,
|
||||
distributetabs:res.data.tabs,
|
||||
bizArray:bizArray,
|
||||
bizobj: res.data.bizs,
|
||||
})
|
||||
});
|
||||
},
|
||||
|
||||
//销售弹窗显示隐藏
|
||||
optEmployees(e){
|
||||
if(e.currentTarget.dataset.cid){
|
||||
this.setData({
|
||||
isShowEmployees:true,
|
||||
employeeIndex:-1,
|
||||
employee_id:'',
|
||||
cid:[e.currentTarget.dataset.cid],
|
||||
optLevel:e.currentTarget.dataset.level,
|
||||
})
|
||||
}else{
|
||||
this.setData({
|
||||
isShowEmployees:!this.data.isShowEmployees,
|
||||
employeeIndex:-1,
|
||||
employee_id:'',
|
||||
cid:[],
|
||||
optLevel:'',
|
||||
nextIndex:-1,
|
||||
distTabId:1,
|
||||
distBiz_id:'',
|
||||
distBizIndex:-1,
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
//选择店员
|
||||
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.distTabId==1&&that.data.employeeIndex == -1 ) {
|
||||
wx.showToast({
|
||||
title: '请选择店员',
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
else if (that.data.distTabId==1&&that.data.nextIndex == -1 ) {
|
||||
wx.showToast({
|
||||
title: '请选择计划回访时间',
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
else if (that.data.distTabId==2&&that.data.distBizIndex == -1 ) {
|
||||
wx.showToast({
|
||||
title: '请选择门店',
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
else{
|
||||
that.setData({
|
||||
submitFlag: true,
|
||||
})
|
||||
let params = {};
|
||||
params['ids'] = that.data.cid;
|
||||
if(that.data.distTabId==1){
|
||||
params['admin_id'] = that.data.employee_id;
|
||||
params['visit_time'] = that.data.dateList[that.data.nextIndex].year +'-'+ that.data.dateList[that.data.nextIndex].month +'-'+ that.data.dateList[that.data.nextIndex].day;
|
||||
}
|
||||
if(that.data.distTabId==2){
|
||||
params['biz_id'] = that.data.distBiz_id;
|
||||
}
|
||||
_.apiQuery.putAppCustomersAdmins(params).then(res => {
|
||||
|
||||
wx.showToast({
|
||||
title: '分配成功',
|
||||
icon: 'success',
|
||||
duration: 2000
|
||||
})
|
||||
that.setData({
|
||||
isShowEmployees:false,
|
||||
submitFlag:false,
|
||||
nextIndex:-1,
|
||||
})
|
||||
that.onPullDownRefresh()
|
||||
|
||||
}).catch(res=>{
|
||||
that.setData({
|
||||
submitFlag: false,
|
||||
})
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
//候取当前月日历
|
||||
getTimePicker(){
|
||||
let date = new Date();
|
||||
let cYear = date.getFullYear(); //年份
|
||||
let cMonth = date.getMonth()+1; //当前月份
|
||||
let cDay = date.getDate();//当前日期
|
||||
let fweek = new Date(cYear,cMonth-1,1).getDay();//本月第一天星期几
|
||||
let days = new Date(cYear,cMonth,-1)
|
||||
let cn = days.getDate()+1 //当月天数
|
||||
let rn = ''//上个月天数
|
||||
if (cMonth === 1) {
|
||||
rn = 31
|
||||
} else {
|
||||
rn = new Date(cYear,cMonth-1,-1).getDate()+1
|
||||
}
|
||||
|
||||
let dateList = []
|
||||
for(let i=0;i<fweek;i++){
|
||||
dateList.push({
|
||||
isopt:false,
|
||||
checked:false,
|
||||
year:cMonth == 1?cYear-1:cYear,
|
||||
month:cMonth == 1?12:cMonth-1,
|
||||
day:rn-i,
|
||||
})
|
||||
}
|
||||
for(let i=1;i<=cn;i++){
|
||||
dateList.push({
|
||||
isopt:false,
|
||||
checked:false,
|
||||
year:cYear,
|
||||
month:cMonth,
|
||||
day:i
|
||||
})
|
||||
}
|
||||
|
||||
if((cn-cDay)>29){//相差15天以上不用特意补下个月
|
||||
let lweek = new Date(cYear,cMonth-1,cn).getDay();//本月最后天星期几
|
||||
let sbu = 6 - lweek //最后一周补齐
|
||||
for(let i=1;i<=sbu;i++){
|
||||
dateList.push({
|
||||
isopt:false,
|
||||
checked:false,
|
||||
year:cMonth == 12?cYear+1:cYear,
|
||||
month:cMonth == 12?1:cMonth+1,
|
||||
day:i
|
||||
})
|
||||
}
|
||||
}else{
|
||||
let zbu = 30 - (cn-cDay) //至少要补多少天
|
||||
let bweek = ''//至少要补的最后一天星期几
|
||||
if(cMonth==12){
|
||||
bweek = new Date(cYear+1,1,zbu).getDay()
|
||||
}else{
|
||||
bweek = new Date(cYear,cMonth,zbu).getDay()
|
||||
}
|
||||
let sbu = zbu + 6 - bweek //最后一周补齐
|
||||
for(let i=1;i<=sbu;i++){
|
||||
dateList.push({
|
||||
isopt:false,
|
||||
checked:false,
|
||||
year:cMonth == 12?cYear+1:cYear,
|
||||
month:cMonth == 12?1:cMonth+1,
|
||||
day:i
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
this.setData({
|
||||
cYear,
|
||||
cMonth,
|
||||
cDay,
|
||||
dateList,
|
||||
})
|
||||
|
||||
},
|
||||
|
||||
//显示隐藏时间选择器
|
||||
optShowTimePicker(){
|
||||
this.setData({
|
||||
isShowTimePicker:!this.data.isShowTimePicker,
|
||||
})
|
||||
|
||||
let kd = 15 //可操作天数
|
||||
if(this.data.optLevel=='H'){
|
||||
kd = 3
|
||||
}else if(this.data.optLevel=='A'){
|
||||
kd = 7
|
||||
}else if(this.data.optLevel=='B'){
|
||||
kd = 15
|
||||
}else if(this.data.optLevel=='C'){
|
||||
kd = 30
|
||||
}
|
||||
let cindex = ''
|
||||
let dateList = this.data.dateList
|
||||
dateList.forEach((item,index) => {
|
||||
if(item.year == this.data.cYear&&item.month == this.data.cMonth&&item.day == this.data.cDay){
|
||||
cindex = index
|
||||
}
|
||||
})
|
||||
dateList.forEach((item,index) => {
|
||||
item.isopt = false
|
||||
if(cindex<=index&&index<cindex+kd+1){
|
||||
item.isopt = true
|
||||
}
|
||||
})
|
||||
this.setData({
|
||||
dateList,
|
||||
})
|
||||
|
||||
},
|
||||
|
||||
//选择计划回访时间
|
||||
optday(e){
|
||||
if(this.data.nextIndex != e.currentTarget.dataset.index){
|
||||
this.setData({
|
||||
nextIndex:e.currentTarget.dataset.index,
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
//切换tab
|
||||
changeTab(e){
|
||||
this.setData({
|
||||
list: [],
|
||||
pageNo: 1,
|
||||
noData: false,
|
||||
end: false,
|
||||
load: true,
|
||||
loading: false,
|
||||
visit_tab_id: e.currentTarget.dataset.id,
|
||||
})
|
||||
this.getAppCustomersList()
|
||||
},
|
||||
|
||||
//切换分配本地,其他门店
|
||||
changeDistTab(e){
|
||||
this.setData({
|
||||
distTabId:e.currentTarget.dataset.id,
|
||||
employeeIndex:-1,
|
||||
employee_id:'',
|
||||
nextIndex:-1,
|
||||
distBiz_id:'',
|
||||
distBizIndex:-1,
|
||||
})
|
||||
},
|
||||
|
||||
//分配选择门店
|
||||
changeDistBiz(e) {
|
||||
let distBiz_id = ''
|
||||
if(e.detail.value >= 0){
|
||||
distBiz_id = this.data.bizobj[e.detail.value].id
|
||||
}
|
||||
this.setData({
|
||||
distBiz_id,
|
||||
distBizIndex:e.detail.value,
|
||||
})
|
||||
},
|
||||
|
||||
//隐藏电话弹框
|
||||
hideCall(){
|
||||
this.setData({
|
||||
isShowCall:false,
|
||||
})
|
||||
},
|
||||
|
||||
//拨打电话
|
||||
makePhoneCall(){
|
||||
wx.makePhoneCall({
|
||||
phoneNumber: this.data.phoneNumber,
|
||||
})
|
||||
},
|
||||
|
||||
//页面相关事件处理函数--监听用户下拉动作
|
||||
onPullDownRefresh(){
|
||||
this.setData({
|
||||
|
||||
@@ -1,10 +1,34 @@
|
||||
<view class="container">
|
||||
|
||||
<view wx:if="{{tab.length>0}}">
|
||||
<view style="padding-top:110rpx"></view>
|
||||
<view class="fixed top-0 left-0 right-0 bg-fff pl30 pr30 z-index-1">
|
||||
<view class="fn-flex mt5 pl20 pr20 font-32 color-666 text-center" wx:if="{{tab.length<5}}">
|
||||
<block wx:for='{{tab}}' wx:key='list'>
|
||||
<view class="fn-flex-item pl20 pr20 tabmenu2 {{visit_tab_id == item.id?'active color-36afa2':''}}" data-id="{{item.id}}" bindtap="changeTab">
|
||||
<view class="relative">{{item.name}}</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
<scroll-view class="mt5 font-32 color-666 text-center space-nowrap" scroll-x="true" wx:else>
|
||||
<block wx:for='{{tab}}' wx:key='list'>
|
||||
<view class="pl20 pr20 tabmenu2 {{visit_tab_id == item.id?'active color-36afa2':''}}" data-id="{{item.id}}" bindtap="changeTab" >
|
||||
<view class="relative">{{item.name}}</view>
|
||||
</view>
|
||||
</block>
|
||||
</scroll-view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="mt10 pl30 pr30">
|
||||
|
||||
<block wx:for='{{list}}' wx:key='index'>
|
||||
<view class="inner40 relative ulib-r10 box-shadow-000-10-10 mb30 overflowhidden" bindtap="pushLink" data-url="/pages/customer/detail/index?id={{item.id}}">
|
||||
<view class="absolute top-0 left-0 ml40 bg-36afa2 pl10 pr10 font-22 color-fff" wx:if="{{item.defeat}}">{{item.defeat}}</view>
|
||||
<view wx:if="{{item.complete_mobile}}" class="inner40 relative ulib-r10 box-shadow-000-10-10 mb30 overflowhidden" bindtap="pushLink" data-url="/pages/customer/detail/index?id={{item.id}}">
|
||||
<view class="absolute top-0 left-0 ml40 bg-36afa2 font-22 color-fff">
|
||||
<text class="pl10 pr10" wx:if="{{item.tip}}">{{item.tip}}</text>
|
||||
<text class="pl10 pr10 {{item.defeat?'bls-1-eb':''}}" wx:if="{{item.defeat}}">{{item.defeat}}</text>
|
||||
<text class="pl10 pr10 {{item.orders_pay?'bls-1-eb':''}}" wx:if="{{item.orders_pay}}">{{item.orders_pay}}</text>
|
||||
</view>
|
||||
<view class="relative pr180">
|
||||
<view class="font-32">
|
||||
<text class="text-middle">{{item.name}}</text>
|
||||
@@ -34,10 +58,40 @@
|
||||
<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}}" data-level="{{item.level}}" wx:if="{{item.allot == 1}}">{{value?'重新分配':'分配'}}</text>
|
||||
</view>
|
||||
</block>
|
||||
<view wx:else class="fn-fr wp60 text-nowrap text-right color-666">{{value}}</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
<view wx:elif="{{item.nickname}}" class="inner40 relative ulib-r10 box-shadow-000-10-10 mb30 overflowhidden">
|
||||
<view class="absolute top-0 left-0 ml40 bg-36afa2 font-22 color-fff">
|
||||
<text class="pl10 pr10" wx:if="{{item.tip}}">{{item.tip}}</text>
|
||||
<text class="pl10 pr10 {{item.defeat?'bls-1-eb':''}}" wx:if="{{item.defeat}}">{{item.defeat}}</text>
|
||||
<text class="pl10 pr10 {{item.orders_pay?'bls-1-eb':''}}" wx:if="{{item.orders_pay}}">{{item.orders_pay}}</text>
|
||||
</view>
|
||||
<view class="text-nowrap">
|
||||
<image class='img-50x50 bds-1-eb ulib-r750 text-middle' lazy-load="{{true}}" mode="scaleToFill" src="{{item.avatar}}"></image>
|
||||
<text class="pl10 text-middle font-26">{{item.nickname}}</text>
|
||||
</view>
|
||||
<block wx:for="{{item.other_data}}" wx:for-index='key' wx:for-item='value' wx:key='i'>
|
||||
<view class="mt25 fn-clear font-28">
|
||||
<view class="fn-fl color-333">{{key}}</view>
|
||||
<block wx:if="{{key=='销售顾问'}}">
|
||||
<view class="fn-fr wp60 text-nowrap text-right">
|
||||
<text class="text-middle color-666" wx:if="{{value}}">{{value}}</text>
|
||||
<text class="text-middle color-f9394d" wx:else>待分配</text>
|
||||
<text class="inline-block ml10 bg-36afa2 pt5 pb5 pl15 pr15 text-middle font-22 color-fff ulib-r10" catchtap="optEmployees" data-cid="{{item.id}}" data-level="{{item.level}}" wx:if="{{item.allot == 1}}">{{value?'重新分配':'分配'}}</text>
|
||||
</view>
|
||||
</block>
|
||||
<view wx:else class="fn-fr wp60 text-nowrap text-right color-666">{{value}}</view>
|
||||
</view>
|
||||
</block>
|
||||
|
||||
</view>
|
||||
</block>
|
||||
<lcb-listmore isLoading='{{loading}}' isEnd='{{end}}' isNoData='{{noData}}'></lcb-listmore>
|
||||
@@ -57,4 +111,99 @@
|
||||
<button disabled="{{submitFlag}}" bindtap="postAppSmsCustomer" class="fn-flex-item ml20 btn-36afa2 wp100 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover">确定</button>
|
||||
</view>
|
||||
</view>
|
||||
</lcb-msg>
|
||||
|
||||
<lcb-msg isShow="{{isShowEmployees}}">
|
||||
<view slot="content">
|
||||
<view class="inner30">
|
||||
<view class="mt10 font-28 text-center fn-flex" wx:if="{{distributetabs.length > 0}}">
|
||||
<block wx:for="{{distributetabs}}" wx:key="index">
|
||||
<view class="fn-flex-item relative ml10 mr10 pt20 pb20 ulib-r10 {{distTabId == item.id?'bg-36afa2 color-fff':'bg-f6'}}" bindtap="changeDistTab" data-id="{{item.id}}">{{item.name}}</view>
|
||||
</block>
|
||||
</view>
|
||||
<block wx:if="{{distTabId == 1}}">
|
||||
<view class="mt20 ml10 mr10 bds-2-eb inner20 font-28 color-666 fn-clear ulib-r10">
|
||||
<view class="fn-fl">销售顾问</view>
|
||||
<picker class="fn-fr wp60 text-right" bindchange="changeEmployee" value="{{employeeIndex}}" range="{{staffArray}}">
|
||||
<text class="color-ccc" wx:if="{{employeeIndex == -1}}">请选择</text>
|
||||
<text wx:else>{{staffArray[employeeIndex]}}</text>
|
||||
<i class="iconfont ml5 icon-gengduo color-ccc"></i>
|
||||
</picker>
|
||||
</view>
|
||||
<view class="mt20 ml10 mr10 bds-2-eb inner20 font-28 color-666 fn-clear ulib-r10">
|
||||
<view class="fn-fl">计划回访时间</view>
|
||||
<view bindtap="optShowTimePicker" class="fn-fr wp60 text-right">
|
||||
<text class="color-ccc" wx:if="{{nextIndex == -1}}">请选择</text>
|
||||
<text wx:else>{{dateList[nextIndex].year}}-{{dateList[nextIndex].month}}-{{dateList[nextIndex].day}}</text>
|
||||
<i class="iconfont ml5 icon-gengduo color-ccc"></i>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
<view class="mt20 ml10 mr10 bds-2-eb inner20 font-28 color-666 fn-clear ulib-r10" wx:else>
|
||||
<view class="fn-fl">门店名称</view>
|
||||
<picker class="fn-fr wp70 text-right" bindchange="changeDistBiz" value="{{distBizIndex}}" range="{{bizArray}}">
|
||||
<view class="text-nowrap">
|
||||
<text class="color-ccc" wx:if="{{distBizIndex == -1}}">请选择</text>
|
||||
<text wx:else>{{bizArray[distBizIndex]}}</text>
|
||||
<i class="iconfont ml5 icon-gengduo color-ccc"></i>
|
||||
</view>
|
||||
</picker>
|
||||
</view>
|
||||
</view>
|
||||
<view class="fn-flex ml10 mr10 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>
|
||||
|
||||
<page-container
|
||||
show="{{isShowTimePicker}}"
|
||||
round="{{true}}"
|
||||
overlay="true"
|
||||
duration="300"
|
||||
z-index="10000"
|
||||
position="bottom"
|
||||
close-on-slide-down="{{false}}"
|
||||
bindenter="onEnter"
|
||||
custom-style="false"
|
||||
overlay-style="false"
|
||||
>
|
||||
<view class="">
|
||||
<view class="relative pt30 pb30 text-center font-30">
|
||||
<view class="color-666">计划回访时间</view>
|
||||
<i bindtap="optShowTimePicker" class="absolute right-0 box-middle mr30 iconfont icon-guanbi1"></i>
|
||||
</view>
|
||||
<view class="fn-flex pt30 pb30 bbs-1-eb text-center font-24">
|
||||
<block wx:for="{{weekList}}" wx:key="index">
|
||||
<view class="fn-flex-item">{{item}}</view>
|
||||
</block>
|
||||
</view>
|
||||
<view class="pb40 relative">
|
||||
<view class="absolute top-0 box-center mt130 font-180 color-f8">{{cMonth}}</view>
|
||||
<view class="relative fn-flex fn-flex-wrap pt30 pb30 text-center font-24 z-index-2">
|
||||
<block wx:for="{{dateList}}" wx:key="index">
|
||||
<view bindtap="{{item.isopt?'optday':''}}" data-index="{{index}}" class="datecell ulib-r10 {{nextIndex == index?'active':''}} {{item.isopt?'color-1a':'color-ccc'}}">{{item.day}}</view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</page-container>
|
||||
|
||||
<!-- 拨打电话 -->
|
||||
<lcb-msg isShow="{{isShowCall}}">
|
||||
<view slot="content">
|
||||
<view class="pt50 pb40">
|
||||
<view class="font-36 text-center">号码绑定成功</view>
|
||||
<view class="mt10 font-28 text-center color-666">现在呼叫 {{phoneNumber}} ?</view>
|
||||
</view>
|
||||
<view class="fn-flex pl60 pr60 pb50 text-center font-32 color-666">
|
||||
<button bindtap="hideCall" class="fn-flex-item mr20 bds-2-36afa2 btn-no-bg wp100 font-28 color-36afa2 ulib-r750">
|
||||
取消
|
||||
</button>
|
||||
<button bindtap="makePhoneCall" class="fn-flex-item ml20 btn-36afa2 wp100 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover">
|
||||
确定
|
||||
</button>
|
||||
</view>
|
||||
</view>
|
||||
</lcb-msg>
|
||||
+442
-63
@@ -25,18 +25,20 @@ Page({
|
||||
o_type:'',//排序类型
|
||||
isShowfilter:false,//是否显示筛查
|
||||
timeSlotIndex:-1,//常用时间索引
|
||||
s_visit_time:'',//跟进时间段开始
|
||||
e_visit_time:'',//跟进时间段结束
|
||||
timeSlot:[//常用时间数组
|
||||
{
|
||||
title:'今天',
|
||||
},
|
||||
{
|
||||
title:'昨天',
|
||||
title:'明天',
|
||||
},
|
||||
{
|
||||
title:'近七天',
|
||||
title:'未来三天',
|
||||
},
|
||||
{
|
||||
title:'近三十天',
|
||||
title:'未来七天',
|
||||
},
|
||||
],
|
||||
testDriveIndex:-1,//是否试驾索引
|
||||
@@ -64,7 +66,7 @@ Page({
|
||||
staffArray: [],
|
||||
staffobj: [],
|
||||
staffIndex:-1,
|
||||
userInfo:app.getStorageByKey("userInfo"),
|
||||
userInfo:'',
|
||||
|
||||
of_id:'',
|
||||
of2_id:'',
|
||||
@@ -74,6 +76,26 @@ Page({
|
||||
cid:[],//分配客户ID
|
||||
employee_id:'',//分配销售ID
|
||||
employeeIndex:-1,//分配销售索引
|
||||
|
||||
isShowTimePicker:false,
|
||||
weekList:['日','一','二','三','四','五','六'],
|
||||
dateList:[],
|
||||
nextIndex:-1,//计划回访时间
|
||||
|
||||
distTabId:1,
|
||||
distBizIndex:-1,
|
||||
distBiz_id:'',
|
||||
bizArray: [],
|
||||
bizobj: [],
|
||||
tag_ids:'',
|
||||
|
||||
cityIndex:-1,
|
||||
city_id:'',
|
||||
countyIndex:-1,
|
||||
county_id:'',
|
||||
|
||||
isShowCall:false,//是否显示拨打电话确认弹框
|
||||
phoneNumber:'',//拨打的电话号码
|
||||
},
|
||||
onLoad(options) {
|
||||
for (let key in options) {
|
||||
@@ -81,6 +103,11 @@ Page({
|
||||
[key]: options[key]
|
||||
})
|
||||
}
|
||||
|
||||
this.setData({
|
||||
userInfo:app.getStorageByKey("userInfo"),
|
||||
})
|
||||
|
||||
//客户-tab
|
||||
this.getAppCustomersTabs()
|
||||
//获取列表筛选条件
|
||||
@@ -89,8 +116,16 @@ Page({
|
||||
//this.getAppSeriesBrands()
|
||||
//销售顾问
|
||||
this.getAppUserAdmins()
|
||||
//线索来源
|
||||
//客户来源
|
||||
this.getAppCustomersOffline_sources()
|
||||
|
||||
this.getTimePicker()
|
||||
|
||||
this.getAppCustomersTag()
|
||||
|
||||
//获取城市列表
|
||||
this.getAppCityArea_city()
|
||||
|
||||
},
|
||||
|
||||
onShow(){
|
||||
@@ -122,9 +157,16 @@ Page({
|
||||
res.data.list.forEach(item => {
|
||||
staffArray.push(item.uname)
|
||||
})
|
||||
let bizArray = []
|
||||
res.data.bizs.forEach(item => {
|
||||
bizArray.push(item.name)
|
||||
})
|
||||
this.setData({
|
||||
staffArray:staffArray,
|
||||
staffobj: res.data.list,
|
||||
distributetabs:res.data.tabs,
|
||||
bizArray:bizArray,
|
||||
bizobj: res.data.bizs,
|
||||
})
|
||||
});
|
||||
},
|
||||
@@ -200,9 +242,21 @@ Page({
|
||||
load: false,
|
||||
loading: true,
|
||||
})
|
||||
|
||||
let admin_ids = ''
|
||||
this.data.staffobj.forEach(item => {
|
||||
if(item.checked){
|
||||
if(admin_ids==''){
|
||||
admin_ids=item.id
|
||||
}else{
|
||||
admin_ids=admin_ids+','+item.id
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
let params = {};
|
||||
params['page'] = this.data.pageNo;
|
||||
params['size'] = 10;
|
||||
params['size'] = 3;
|
||||
params['status'] = this.data.key;
|
||||
if(this.data.cus_id != ''){
|
||||
params['cus_id'] = this.data.cus_id;
|
||||
@@ -213,10 +267,8 @@ Page({
|
||||
if(this.data.mobile != ''){
|
||||
params['mobile'] = this.data.mobile;
|
||||
}
|
||||
if(this.data.s_time != ''){
|
||||
if(this.data.s_time != ''&&this.data.e_time != ''){
|
||||
params['s_time'] = this.data.s_time;
|
||||
}
|
||||
if(this.data.e_time != ''){
|
||||
params['e_time'] = this.data.e_time;
|
||||
}
|
||||
if(this.data.if_driver != ''){
|
||||
@@ -246,8 +298,24 @@ Page({
|
||||
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;
|
||||
if(admin_ids!=''){
|
||||
params['admin_ids'] = admin_ids;
|
||||
}
|
||||
if(this.data.tag_ids!=''){
|
||||
params['tag_ids'] = this.data.tag_ids;
|
||||
}
|
||||
// if(this.data.staffIndex>-1){
|
||||
// params['admin_id'] = this.data.staffobj[this.data.staffIndex].id;
|
||||
// }
|
||||
if(this.data.city_id!=''){
|
||||
params['city_id'] = this.data.city_id;
|
||||
}
|
||||
if(this.data.county_id!=''){
|
||||
params['county_id'] = this.data.county_id;
|
||||
}
|
||||
if(this.data.s_visit_time != ''&&this.data.e_visit_time != ''){
|
||||
params['s_visit_time'] = this.data.s_visit_time;
|
||||
params['e_visit_time'] = this.data.e_visit_time;
|
||||
}
|
||||
_.apiQuery.getAppCustomersList(params).then(res => {
|
||||
this.setData({
|
||||
@@ -294,21 +362,31 @@ Page({
|
||||
today:res,
|
||||
})
|
||||
})
|
||||
popularData.getDateLater(1,0).then(res => {
|
||||
popularData.getDateLater(-1,0).then(res => {
|
||||
this.setData({
|
||||
tomorrow:res,
|
||||
})
|
||||
})
|
||||
popularData.getDateLater(0,6).then(res => {
|
||||
popularData.getDateLater(-3,2).then(res => {
|
||||
this.setData({
|
||||
last7:res,
|
||||
next3:res,
|
||||
})
|
||||
})
|
||||
popularData.getDateLater(0,29).then(res => {
|
||||
popularData.getDateLater(-7,6).then(res => {
|
||||
this.setData({
|
||||
last30:res,
|
||||
next7:res,
|
||||
})
|
||||
})
|
||||
// popularData.getDateLater(0,6).then(res => {
|
||||
// this.setData({
|
||||
// last7:res,
|
||||
// })
|
||||
// })
|
||||
// popularData.getDateLater(0,29).then(res => {
|
||||
// this.setData({
|
||||
// last30:res,
|
||||
// })
|
||||
// })
|
||||
},
|
||||
|
||||
//拨打客户电话xz
|
||||
@@ -317,8 +395,9 @@ Page({
|
||||
params['id'] = e.currentTarget.dataset.id;
|
||||
params['type'] = 0;
|
||||
_.apiQuery.getAppXz(params).then(res=>{
|
||||
wx.makePhoneCall({
|
||||
phoneNumber: res.data.mobile,
|
||||
this.setData({
|
||||
isShowCall:true,
|
||||
phoneNumber:res.data.mobile,
|
||||
})
|
||||
})
|
||||
},
|
||||
@@ -359,7 +438,6 @@ Page({
|
||||
this.setData({
|
||||
s_time: e.detail.value,
|
||||
})
|
||||
this.matchDate()
|
||||
},
|
||||
|
||||
//建卡时间
|
||||
@@ -367,34 +445,6 @@ Page({
|
||||
this.setData({
|
||||
e_time: e.detail.value,
|
||||
})
|
||||
this.matchDate()
|
||||
},
|
||||
|
||||
//匹配选择时间是否等于常用时间
|
||||
matchDate(){
|
||||
this.setData({
|
||||
timeSlotIndex:-1,
|
||||
})
|
||||
if(this.data.s_time == this.data.today[0] && this.data.e_time == this.data.today[1] ){
|
||||
this.setData({
|
||||
timeSlotIndex:0,
|
||||
})
|
||||
}
|
||||
if(this.data.s_time == this.data.tomorrow[0] && this.data.e_time == this.data.tomorrow[1] ){
|
||||
this.setData({
|
||||
timeSlotIndex:1,
|
||||
})
|
||||
}
|
||||
if(this.data.s_time == this.data.last7[0] && this.data.e_time == this.data.last7[1] ){
|
||||
this.setData({
|
||||
timeSlotIndex:2,
|
||||
})
|
||||
}
|
||||
if(this.data.s_time == this.data.last30[0] && this.data.e_time == this.data.last30[1] ){
|
||||
this.setData({
|
||||
timeSlotIndex:3,
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
//单选
|
||||
@@ -406,26 +456,26 @@ Page({
|
||||
switch (e.currentTarget.dataset.index) {
|
||||
case 0:
|
||||
this.setData({
|
||||
s_time:this.data.today[0],
|
||||
e_time:this.data.today[1],
|
||||
s_visit_time:this.data.today[0],
|
||||
e_visit_time:this.data.today[1],
|
||||
})
|
||||
break;
|
||||
case 1:
|
||||
this.setData({
|
||||
s_time:this.data.tomorrow[0],
|
||||
e_time:this.data.tomorrow[1],
|
||||
s_visit_time:this.data.tomorrow[0],
|
||||
e_visit_time:this.data.tomorrow[1],
|
||||
})
|
||||
break;
|
||||
case 2:
|
||||
this.setData({
|
||||
s_time:this.data.last7[0],
|
||||
e_time:this.data.last7[1],
|
||||
s_visit_time:this.data.next3[0],
|
||||
e_visit_time:this.data.next3[1],
|
||||
})
|
||||
break;
|
||||
case 3:
|
||||
this.setData({
|
||||
s_time:this.data.last30[0],
|
||||
e_time:this.data.last30[1],
|
||||
s_visit_time:this.data.next7[0],
|
||||
e_visit_time:this.data.next7[1],
|
||||
})
|
||||
break;
|
||||
}
|
||||
@@ -494,7 +544,7 @@ Page({
|
||||
})
|
||||
},
|
||||
|
||||
//显示高级搜索
|
||||
//显示隐藏高级搜索
|
||||
optfilter(){
|
||||
this.setData({
|
||||
isShowfilter: !this.data.isShowfilter
|
||||
@@ -502,6 +552,13 @@ Page({
|
||||
this.resetFilter()
|
||||
},
|
||||
|
||||
//显示高级搜索
|
||||
showfilter(){
|
||||
this.setData({
|
||||
isShowfilter:true,
|
||||
})
|
||||
},
|
||||
|
||||
//确定高级搜索
|
||||
submitFilter() {
|
||||
this.setData({
|
||||
@@ -512,7 +569,13 @@ Page({
|
||||
|
||||
//重置高级搜索
|
||||
resetFilter() {
|
||||
let staffobj = this.data.staffobj
|
||||
staffobj.forEach(item => {
|
||||
item.checked = false
|
||||
})
|
||||
|
||||
this.setData({
|
||||
staffobj,
|
||||
cus_id:'',//编号
|
||||
name:'',//名字
|
||||
mobile:'',//手机号
|
||||
@@ -528,13 +591,21 @@ Page({
|
||||
of1Index:-1,
|
||||
of2Index:-1,
|
||||
timeSlotIndex:-1,
|
||||
s_visit_time:'',//跟进时间段开始
|
||||
e_visit_time:'',//跟进时间段结束
|
||||
testDriveIndex:-1,
|
||||
levelIndex:-1,
|
||||
brandIndex:-1,
|
||||
modelIndex:-1,
|
||||
cfromIndex:-1,
|
||||
staffIndex:-1,
|
||||
tag_ids:'',
|
||||
cityIndex:-1,
|
||||
city_id:'',
|
||||
countyIndex:-1,
|
||||
county_id:'',
|
||||
})
|
||||
this.getAppCustomersTag()
|
||||
},
|
||||
|
||||
//显示短信弹框
|
||||
@@ -597,21 +668,21 @@ Page({
|
||||
}
|
||||
},
|
||||
|
||||
//线索来源
|
||||
//客户来源
|
||||
getAppCustomersOffline_sources(){
|
||||
_.apiQuery.getAppCustomersOffline_sources().then(res => {
|
||||
let of1Arr = []
|
||||
res.data.forEach(item => {
|
||||
res.data.sources.forEach(item => {
|
||||
of1Arr.push(item.name)
|
||||
})
|
||||
this.setData({
|
||||
of1Arr,
|
||||
sources:res.data
|
||||
sources:res.data.sources
|
||||
})
|
||||
});
|
||||
},
|
||||
|
||||
//线索来源
|
||||
//客户来源
|
||||
changeOf1(e) {
|
||||
if(this.data.of1Index!=e.detail.value){
|
||||
let of2Arr = []
|
||||
@@ -644,6 +715,7 @@ Page({
|
||||
employeeIndex:-1,
|
||||
employee_id:'',
|
||||
cid:[e.currentTarget.dataset.cid],
|
||||
optLevel:e.currentTarget.dataset.level,
|
||||
})
|
||||
}else{
|
||||
this.setData({
|
||||
@@ -651,6 +723,11 @@ Page({
|
||||
employeeIndex:-1,
|
||||
employee_id:'',
|
||||
cid:[],
|
||||
optLevel:'',
|
||||
nextIndex:-1,
|
||||
distTabId:1,
|
||||
distBiz_id:'',
|
||||
distBizIndex:-1,
|
||||
})
|
||||
}
|
||||
},
|
||||
@@ -670,18 +747,37 @@ Page({
|
||||
//分配客户
|
||||
putAppCustomersAdmins(){
|
||||
let that = this
|
||||
if (that.data.employeeIndex == -1 ) {
|
||||
if (that.data.distTabId==1&&that.data.employeeIndex == -1 ) {
|
||||
wx.showToast({
|
||||
title: '请选择店员',
|
||||
icon: 'none'
|
||||
})
|
||||
}else{
|
||||
}
|
||||
else if (that.data.distTabId==1&&that.data.nextIndex == -1 ) {
|
||||
wx.showToast({
|
||||
title: '请选择计划回访时间',
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
else if (that.data.distTabId==2&&that.data.distBizIndex == -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;
|
||||
if(that.data.distTabId==1){
|
||||
params['admin_id'] = that.data.employee_id;
|
||||
params['visit_time'] = that.data.dateList[that.data.nextIndex].year +'-'+ that.data.dateList[that.data.nextIndex].month +'-'+ that.data.dateList[that.data.nextIndex].day;
|
||||
}
|
||||
if(that.data.distTabId==2){
|
||||
params['biz_id'] = that.data.distBiz_id;
|
||||
}
|
||||
_.apiQuery.putAppCustomersAdmins(params).then(res => {
|
||||
|
||||
wx.showToast({
|
||||
@@ -692,6 +788,7 @@ Page({
|
||||
that.setData({
|
||||
isShowEmployees:false,
|
||||
submitFlag:false,
|
||||
nextIndex:-1,
|
||||
})
|
||||
that.onPullDownRefresh()
|
||||
|
||||
@@ -703,6 +800,288 @@ Page({
|
||||
}
|
||||
},
|
||||
|
||||
//候取当前月日历
|
||||
getTimePicker(){
|
||||
let date = new Date();
|
||||
let cYear = date.getFullYear(); //年份
|
||||
let cMonth = date.getMonth()+1; //当前月份
|
||||
let cDay = date.getDate();//当前日期
|
||||
let fweek = new Date(cYear,cMonth-1,1).getDay();//本月第一天星期几
|
||||
let days = new Date(cYear,cMonth,-1)
|
||||
let cn = days.getDate()+1 //当月天数
|
||||
let rn = ''//上个月天数
|
||||
if (cMonth === 1) {
|
||||
rn = 31
|
||||
} else {
|
||||
rn = new Date(cYear,cMonth-1,-1).getDate()+1
|
||||
}
|
||||
|
||||
let dateList = []
|
||||
for(let i=0;i<fweek;i++){
|
||||
dateList.push({
|
||||
isopt:false,
|
||||
checked:false,
|
||||
year:cMonth == 1?cYear-1:cYear,
|
||||
month:cMonth == 1?12:cMonth-1,
|
||||
day:rn-i,
|
||||
})
|
||||
}
|
||||
for(let i=1;i<=cn;i++){
|
||||
dateList.push({
|
||||
isopt:false,
|
||||
checked:false,
|
||||
year:cYear,
|
||||
month:cMonth,
|
||||
day:i
|
||||
})
|
||||
}
|
||||
|
||||
if((cn-cDay)>29){//相差15天以上不用特意补下个月
|
||||
let lweek = new Date(cYear,cMonth-1,cn).getDay();//本月最后天星期几
|
||||
let sbu = 6 - lweek //最后一周补齐
|
||||
for(let i=1;i<=sbu;i++){
|
||||
dateList.push({
|
||||
isopt:false,
|
||||
checked:false,
|
||||
year:cMonth == 12?cYear+1:cYear,
|
||||
month:cMonth == 12?1:cMonth+1,
|
||||
day:i
|
||||
})
|
||||
}
|
||||
}else{
|
||||
let zbu = 30 - (cn-cDay) //至少要补多少天
|
||||
let bweek = ''//至少要补的最后一天星期几
|
||||
if(cMonth==12){
|
||||
bweek = new Date(cYear+1,1,zbu).getDay()
|
||||
}else{
|
||||
bweek = new Date(cYear,cMonth,zbu).getDay()
|
||||
}
|
||||
let sbu = zbu + 6 - bweek //最后一周补齐
|
||||
for(let i=1;i<=sbu;i++){
|
||||
dateList.push({
|
||||
isopt:false,
|
||||
checked:false,
|
||||
year:cMonth == 12?cYear+1:cYear,
|
||||
month:cMonth == 12?1:cMonth+1,
|
||||
day:i
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
this.setData({
|
||||
cYear,
|
||||
cMonth,
|
||||
cDay,
|
||||
dateList,
|
||||
})
|
||||
|
||||
},
|
||||
|
||||
//显示隐藏时间选择器
|
||||
optShowTimePicker(){
|
||||
this.setData({
|
||||
isShowTimePicker:!this.data.isShowTimePicker,
|
||||
})
|
||||
|
||||
let kd = 15 //可操作天数
|
||||
if(this.data.optLevel=='H'){
|
||||
kd = 3
|
||||
}else if(this.data.optLevel=='A'){
|
||||
kd = 7
|
||||
}else if(this.data.optLevel=='B'){
|
||||
kd = 15
|
||||
}else if(this.data.optLevel=='C'){
|
||||
kd = 30
|
||||
}
|
||||
let cindex = ''
|
||||
let dateList = this.data.dateList
|
||||
dateList.forEach((item,index) => {
|
||||
if(item.year == this.data.cYear&&item.month == this.data.cMonth&&item.day == this.data.cDay){
|
||||
cindex = index
|
||||
}
|
||||
})
|
||||
dateList.forEach((item,index) => {
|
||||
item.isopt = false
|
||||
if(cindex<=index&&index<cindex+kd+1){
|
||||
item.isopt = true
|
||||
}
|
||||
})
|
||||
this.setData({
|
||||
dateList,
|
||||
})
|
||||
|
||||
},
|
||||
|
||||
//选择计划回访时间
|
||||
optday(e){
|
||||
if(this.data.nextIndex != e.currentTarget.dataset.index){
|
||||
this.setData({
|
||||
nextIndex:e.currentTarget.dataset.index,
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
//切换分配本地,其他门店
|
||||
changeDistTab(e){
|
||||
this.setData({
|
||||
distTabId:e.currentTarget.dataset.id,
|
||||
employeeIndex:-1,
|
||||
employee_id:'',
|
||||
nextIndex:-1,
|
||||
distBiz_id:'',
|
||||
distBizIndex:-1,
|
||||
})
|
||||
},
|
||||
|
||||
//分配选择门店
|
||||
changeDistBiz(e) {
|
||||
let distBiz_id = ''
|
||||
if(e.detail.value >= 0){
|
||||
distBiz_id = this.data.bizobj[e.detail.value].id
|
||||
}
|
||||
this.setData({
|
||||
distBiz_id,
|
||||
distBizIndex:e.detail.value,
|
||||
})
|
||||
},
|
||||
|
||||
//多选
|
||||
checkPicker(e){
|
||||
this.setData({
|
||||
['staffobj['+e.currentTarget.dataset.index+'].checked']:!this.data.staffobj[e.currentTarget.dataset.index].checked,
|
||||
})
|
||||
},
|
||||
|
||||
//客户标签
|
||||
getAppCustomersTag(){
|
||||
_.apiQuery.getAppCustomersTag().then(res => {
|
||||
this.setData({
|
||||
taglList:res.data.tags&&res.data.tags.length>0?res.data.tags:[],
|
||||
})
|
||||
});
|
||||
},
|
||||
|
||||
//单选
|
||||
tagRadioPicker(e){
|
||||
let taglList = this.data.taglList
|
||||
taglList[e.currentTarget.dataset.i].list.forEach(item => {
|
||||
item.checked=false
|
||||
})
|
||||
taglList[e.currentTarget.dataset.i].list[e.currentTarget.dataset.j].checked=true
|
||||
this.setData({
|
||||
taglList,
|
||||
})
|
||||
this.tagforEach()
|
||||
},
|
||||
|
||||
//多选
|
||||
tagCheckPicker(e){
|
||||
this.setData({
|
||||
['taglList['+e.currentTarget.dataset.i+'].list['+e.currentTarget.dataset.j+'].checked']:!this.data.taglList[e.currentTarget.dataset.i].list[e.currentTarget.dataset.j].checked,
|
||||
})
|
||||
this.tagforEach()
|
||||
},
|
||||
|
||||
//tag遍历
|
||||
tagforEach(){
|
||||
let taglList = this.data.taglList
|
||||
let tag_ids = ''
|
||||
taglList.forEach(itemA => {
|
||||
itemA.list.forEach(itemB => {
|
||||
if(itemB.checked){
|
||||
itemA.have=true
|
||||
if(tag_ids==''){
|
||||
tag_ids=itemB.id
|
||||
}else{
|
||||
tag_ids=tag_ids+','+itemB.id
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
this.setData({
|
||||
tag_ids,
|
||||
taglList,
|
||||
})
|
||||
},
|
||||
|
||||
//获取城市
|
||||
getAppCityArea_city(){
|
||||
let params = {};
|
||||
params['type'] = 'city';
|
||||
_.apiQuery.getAppCityArea(params).then(res => {
|
||||
let cityArr = []
|
||||
let cityIndex = -1
|
||||
res.data.list.forEach((item,index) => {
|
||||
cityArr.push(item.name)
|
||||
// if(this.data.city_id == item.id){
|
||||
// cityIndex = index
|
||||
// }
|
||||
})
|
||||
this.setData({
|
||||
cityIndex,
|
||||
cityArr,
|
||||
city:res.data.list
|
||||
})
|
||||
});
|
||||
},
|
||||
|
||||
//获取行政区
|
||||
getAppCityArea_county(){
|
||||
let params = {};
|
||||
params['pid'] = this.data.city_id;
|
||||
params['type'] = 'county';
|
||||
_.apiQuery.getAppCityArea(params).then(res => {
|
||||
let countyArr = []
|
||||
let countyIndex = -1
|
||||
res.data.list.forEach((item,index) => {
|
||||
countyArr.push(item.name)
|
||||
if(this.data.county_id == item.id){
|
||||
countyIndex = index
|
||||
}
|
||||
})
|
||||
this.setData({
|
||||
countyIndex,
|
||||
countyArr,
|
||||
county:res.data.list
|
||||
})
|
||||
});
|
||||
},
|
||||
|
||||
//选择城市
|
||||
changeCity(e) {
|
||||
if(this.data.cityIndex!=e.detail.value){
|
||||
this.setData({
|
||||
cityIndex:e.detail.value,
|
||||
city_id:this.data.city[e.detail.value].id,
|
||||
})
|
||||
this.getAppCityArea_county()
|
||||
}
|
||||
},
|
||||
|
||||
//选择地区
|
||||
changeCounty(e) {
|
||||
if(this.data.countyIndex!=e.detail.value){
|
||||
this.setData({
|
||||
countyIndex:e.detail.value,
|
||||
county_id:this.data.county[e.detail.value].id,
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
//隐藏电话弹框
|
||||
hideCall(){
|
||||
this.setData({
|
||||
isShowCall:false,
|
||||
})
|
||||
},
|
||||
|
||||
//拨打电话
|
||||
makePhoneCall(){
|
||||
wx.makePhoneCall({
|
||||
phoneNumber: this.data.phoneNumber,
|
||||
})
|
||||
},
|
||||
|
||||
//页面相关事件处理函数--监听用户下拉动作
|
||||
onPullDownRefresh(){
|
||||
this.setData({
|
||||
|
||||
+195
-35
@@ -30,11 +30,40 @@
|
||||
</picker>
|
||||
</view>
|
||||
<view class="fn-fr {{key<2?'pr180':'pr40'}} relative">
|
||||
<text bindtap="optfilter" class="inner5 iconfont icon-gaojisousuo ml10"></text>
|
||||
<text bindtap="showfilter" class="inner5 iconfont icon-gaojisousuo ml10"></text>
|
||||
<view bindtap="pushLink" data-url="/pages/customer/addCard/index?status={{key}}" class="absolute right-0 box-middle pt10 pb10 pl10 pr30 space-nowrap bg-333 font-22 color-fff ulib-rl750" wx:if="{{key<2}}"><i class="iconfont mr5 icon-jia"></i>客户建卡</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="pl20 pr20 fn-flex fn-flex-wrap">
|
||||
<view class="inline-block text-middle bg-f6 color-666 mb15 ml5 mr5 pt5 pb5 pl20 pr20 ulib-r10 font-22" wx:if="{{cus_id}}">{{cus_id}}</view>
|
||||
<view class="inline-block text-middle bg-f6 color-666 mb15 ml5 mr5 pt5 pb5 pl20 pr20 ulib-r10 font-22" wx:if="{{name}}">{{name}}</view>
|
||||
<view class="inline-block text-middle bg-f6 color-666 mb15 ml5 mr5 pt5 pb5 pl20 pr20 ulib-r10 font-22" wx:if="{{mobile}}">{{mobile}}</view>
|
||||
<block wx:for="{{city}}" wx:key='index'>
|
||||
<view class="inline-block text-middle bg-f6 color-666 mb15 ml5 mr5 pt5 pb5 pl20 pr20 ulib-r10 font-22" wx:if="{{item.id==city_id}}">{{item.name}}</view>
|
||||
</block>
|
||||
<block wx:for="{{county}}" wx:key='index'>
|
||||
<view class="inline-block text-middle bg-f6 color-666 mb15 ml5 mr5 pt5 pb5 pl20 pr20 ulib-r10 font-22" wx:if="{{item.id==county_id}}">{{item.name}}</view>
|
||||
</block>
|
||||
<block wx:if="{{s_time&&e_time}}">
|
||||
<view class="inline-block text-middle bg-f6 color-666 mb15 ml5 mr5 pt5 pb5 pl20 pr20 ulib-r10 font-22">{{s_time}}</view>
|
||||
<view class="inline-block text-middle bg-f6 color-666 mb15 ml5 mr5 pt5 pb5 pl20 pr20 ulib-r10 font-22">{{e_time}}</view>
|
||||
</block>
|
||||
<view class="inline-block text-middle bg-f6 color-666 mb15 ml5 mr5 pt5 pb5 pl20 pr20 ulib-r10 font-22" wx:if="{{timeSlotIndex>-1}}">{{timeSlot[timeSlotIndex].title}}</view>
|
||||
<view class="inline-block text-middle bg-f6 color-666 mb15 ml5 mr5 pt5 pb5 pl20 pr20 ulib-r10 font-22" wx:if="{{levelIndex>-1}}">{{filter.level[levelIndex]}}</view>
|
||||
<view class="inline-block text-middle bg-f6 color-666 mb15 ml5 mr5 pt5 pb5 pl20 pr20 ulib-r10 font-22" wx:if="{{of1Index>-1}}">{{of1Arr[of1Index]}}</view>
|
||||
<view class="inline-block text-middle bg-f6 color-666 mb15 ml5 mr5 pt5 pb5 pl20 pr20 ulib-r10 font-22" wx:if="{{of2Index>-1}}">{{of2Arr[of2Index]}}</view>
|
||||
<view class="inline-block text-middle bg-f6 color-666 mb15 ml5 mr5 pt5 pb5 pl20 pr20 ulib-r10 font-22" wx:if="{{staffIndex>-1}}">{{staffArray[staffIndex]}}</view>
|
||||
<block wx:for="{{staffobj}}" wx:key='index'>
|
||||
<view class="inline-block text-middle bg-f6 color-666 mb15 ml5 mr5 pt5 pb5 pl20 pr20 ulib-r10 font-22" wx:if="{{item.checked}}">{{item.uname}}</view>
|
||||
</block>
|
||||
<block wx:for='{{taglList}}' wx:for-item='list' wx:for-index='i' wx:key='i'>
|
||||
<block wx:if="{{list.have}}" wx:for='{{list.list}}' wx:for-item='option' wx:for-index='j' wx:key='j'>
|
||||
<view class="inline-block text-middle bg-f6 color-666 mb15 ml5 mr5 pt5 pb5 pl20 pr20 ulib-r10 font-22" wx:if="{{option.checked}}">{{option.name}}</view>
|
||||
</block>
|
||||
</block>
|
||||
</view>
|
||||
|
||||
<view class="mt10 pl30 pr30">
|
||||
|
||||
<block wx:for='{{list}}' wx:key='index'>
|
||||
@@ -76,7 +105,7 @@
|
||||
<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>
|
||||
<text class="inline-block ml10 bg-36afa2 pt5 pb5 pl15 pr15 text-middle font-22 color-fff ulib-r10" catchtap="optEmployees" data-cid="{{item.id}}" data-level="{{item.level}}" wx:if="{{item.allot == 1}}">{{value?'重新分配':'分配'}}</text>
|
||||
</view>
|
||||
</block>
|
||||
<view wx:else class="fn-fr wp60 text-nowrap text-right color-666">{{value}}</view>
|
||||
@@ -126,6 +155,26 @@
|
||||
<input class="wp100 height-90 text-right font-28" placeholder-class="color-ccc" type="number" placeholder="请输入客户手机号" bindinput='inputTx' data-key="mobile" name='mobile' value='{{mobile}}' />
|
||||
</view>
|
||||
</view>
|
||||
<view class="relative bbs-1-eb last-b-none pl140 font-28">
|
||||
<view class="absolute left-0 box-middle">所在城市</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666">
|
||||
<picker bindchange="changeCity" value="{{cityIndex}}" range="{{cityArr}}">
|
||||
<text class="color-ccc" wx:if="{{cityIndex == -1}}">请选择</text>
|
||||
<text wx:else>{{cityArr[cityIndex]}}</text>
|
||||
<i class="iconfont ml5 icon-gengduo"></i>
|
||||
</picker>
|
||||
</view>
|
||||
</view>
|
||||
<view class="relative bbs-1-eb last-b-none pl140 font-28" wx:if="{{city_id}}">
|
||||
<view class="absolute left-0 box-middle">所在地区</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666">
|
||||
<picker bindchange="changeCounty" value="{{countyIndex}}" range="{{countyArr}}">
|
||||
<text class="color-ccc" wx:if="{{countyIndex == -1}}">请选择</text>
|
||||
<text wx:else>{{countyArr[countyIndex]}}</text>
|
||||
<i class="iconfont ml5 icon-gengduo"></i>
|
||||
</picker>
|
||||
</view>
|
||||
</view>
|
||||
<view class="relative bbs-1-eb pl190 last-b-none">
|
||||
<view class="absolute left-0 box-middle font-28 color-333">建卡开始时间</view>
|
||||
<view class="pt25 pb25 text-right font-28 color-666">
|
||||
@@ -146,16 +195,16 @@
|
||||
</picker>
|
||||
</view>
|
||||
</view>
|
||||
<!-- <view class="relative bbs-1-eb pt25 pb25 last-b-none">
|
||||
<view class="font-22">常用时间段</view>
|
||||
<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'>
|
||||
<view class="inline-block radio-btn mt20 mr20 pt15 pb15 pl25 pr25 ulib-r10 font-28 {{timeSlotIndex == index?'bg-333 color-fff':'bg-f8'}}" bindtap="radioPicker" data-type="timeSlot" data-index="{{index}}">
|
||||
<view class="inline-block space-nowrap mt20 mr20 pt15 pb15 pl30 pr30 font-22 ulib-r10 {{timeSlotIndex == index?'bg-333 color-fff':'bg-f8'}}" bindtap="radioPicker" data-type="timeSlot" data-index="{{index}}">
|
||||
{{item.title}}
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</view> -->
|
||||
</view>
|
||||
<!-- <view class="relative bbs-1-eb pt25 pb25 last-b-none">
|
||||
<view class="font-22">是否试驾</view>
|
||||
<view class="fn-clear">
|
||||
@@ -196,26 +245,28 @@
|
||||
</picker>
|
||||
</view>
|
||||
</view> -->
|
||||
<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>
|
||||
<block wx:if="{{sources.length>0}}">
|
||||
<view class="relative bbs-1-eb last-b-none pl140 font-28">
|
||||
<view class="absolute left-0 box-middle">客户来源</view>
|
||||
<view class="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 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>
|
||||
</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="pt25 pb25 text-right font-28 color-666">
|
||||
@@ -226,7 +277,7 @@
|
||||
</picker>
|
||||
</view>
|
||||
</view> -->
|
||||
<view class="relative bbs-1-eb last-b-none pl140 font-28" wx:if="{{staffArray.length>0&&userInfo.group_id>1}}">
|
||||
<!-- <view class="relative bbs-1-eb last-b-none pl140 font-28" wx:if="{{staffArray.length>0&&userInfo.group_id>1}}">
|
||||
<view class="absolute left-0 box-middle">销售顾问</view>
|
||||
<view class="pt25 pb25 text-right font-28 color-666">
|
||||
<picker bindchange="changeStaff" value="{{staffIndex}}" range="{{staffArray}}">
|
||||
@@ -235,11 +286,42 @@
|
||||
<i class="iconfont ml5 icon-gengduo"></i>
|
||||
</picker>
|
||||
</view>
|
||||
</view> -->
|
||||
<view class="relative bbs-1-eb pt25 pb25 last-b-none">
|
||||
<view class="font-22">销售顾问</view>
|
||||
<view class="fn-clear">
|
||||
<block wx:for="{{staffobj}}" wx:key='index'>
|
||||
<view class="inline-block space-nowrap mt20 mr20 pt15 pb15 pl30 pr30 font-22 ulib-r10 {{item.checked?'bg-333 color-fff':'bg-f8'}}" bindtap="checkPicker" data-index="{{index}}">
|
||||
{{item.uname}}
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<block wx:for='{{taglList}}' wx:for-item='list' wx:for-index='i' wx:key='i'>
|
||||
<view class="relative mt40">
|
||||
<view class="font-28">
|
||||
<text class="text-middle">{{list.name}}</text>
|
||||
<text class="text-middle font-24" wx:if="{{list.type=='radio'}}">(单选)</text>
|
||||
<text class="text-middle font-24" wx:if="{{list.type=='checkbox'}}">(多选)</text>
|
||||
</view>
|
||||
<view class="fn-clear" wx:if="{{list.type=='radio'}}">
|
||||
<block wx:for='{{list.list}}' wx:for-item='option' wx:for-index='j' wx:key='j'>
|
||||
<view class="inline-block space-nowrap mt20 mr20 pt15 pb15 pl30 pr30 font-22 ulib-r10 {{option.checked?'bg-333 color-fff':'bg-f8 color-666'}}" bindtap="tagRadioPicker" data-i="{{i}}" data-j="{{j}}">{{option.name}}</view>
|
||||
</block>
|
||||
</view>
|
||||
<view class="fn-clear" wx:if="{{list.type=='checkbox'}}">
|
||||
<block wx:for='{{list.list}}' wx:for-item='option' wx:for-index='j' wx:key='j'>
|
||||
<view class="inline-block space-nowrap mt20 mr20 pt15 pb15 pl30 pr30 font-22 ulib-r10 {{option.checked?'bg-333 color-fff':'bg-f8 color-666'}}" bindtap="tagCheckPicker" data-i="{{i}}" data-j="{{j}}">{{option.name}}</view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
|
||||
</view>
|
||||
<view class="pt50 pb100"></view>
|
||||
</scroll-view>
|
||||
<view class="absolute left-0 bottom-0 right-0 fn-flex mb180 pt20 pb20 pl60 pr60 bg-fff-op90 text-center">
|
||||
<view class="absolute left-0 bottom-0 right-0 fn-flex pt20 pb200 pl60 pr60 bg-fff-op90 text-center">
|
||||
<view class="fn-flex-item mr20 pt15 pb15 bds-2-36afa2 font-32 color-36afa2 ulib-r750" bindtap="resetFilter">重置</view>
|
||||
<view class="fn-flex-item ml20 pt15 pb15 bg-36afa2 font-32 color-fff ulib-r750" bindtap="submitFilter">确定</view>
|
||||
</view>
|
||||
@@ -257,19 +339,97 @@
|
||||
|
||||
<lcb-changeMobile isShow="{{isShowMobile}}"></lcb-changeMobile>
|
||||
|
||||
<lcb-msg isShow="{{isShowEmployees}}">
|
||||
<lcb-msg isShow="{{isShowEmployees}}" isCustomTabBar="{{true}}">
|
||||
<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 class="inner30">
|
||||
<view class="mt10 font-28 text-center fn-flex" wx:if="{{distributetabs.length > 0}}">
|
||||
<block wx:for="{{distributetabs}}" wx:key="index">
|
||||
<view class="fn-flex-item relative ml10 mr10 pt20 pb20 ulib-r10 {{distTabId == item.id?'bg-36afa2 color-fff':'bg-f6'}}" bindtap="changeDistTab" data-id="{{item.id}}">{{item.name}}</view>
|
||||
</block>
|
||||
</view>
|
||||
<block wx:if="{{distTabId == 1}}">
|
||||
<view class="mt20 ml10 mr10 bds-2-eb inner20 font-28 color-666 fn-clear ulib-r10">
|
||||
<view class="fn-fl">销售顾问</view>
|
||||
<picker class="fn-fr wp60 text-right" bindchange="changeEmployee" value="{{employeeIndex}}" range="{{staffArray}}">
|
||||
<text class="color-ccc" wx:if="{{employeeIndex == -1}}">请选择</text>
|
||||
<text wx:else>{{staffArray[employeeIndex]}}</text>
|
||||
<i class="iconfont ml5 icon-gengduo color-ccc"></i>
|
||||
</picker>
|
||||
</view>
|
||||
<view class="mt20 ml10 mr10 bds-2-eb inner20 font-28 color-666 fn-clear ulib-r10">
|
||||
<view class="fn-fl">计划回访时间</view>
|
||||
<view bindtap="optShowTimePicker" class="fn-fr wp60 text-right">
|
||||
<text class="color-ccc" wx:if="{{nextIndex == -1}}">请选择</text>
|
||||
<text wx:else>{{dateList[nextIndex].year}}-{{dateList[nextIndex].month}}-{{dateList[nextIndex].day}}</text>
|
||||
<i class="iconfont ml5 icon-gengduo color-ccc"></i>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
<view class="mt20 ml10 mr10 bds-2-eb inner20 font-28 color-666 fn-clear ulib-r10" wx:else>
|
||||
<view class="fn-fl">门店名称</view>
|
||||
<picker class="fn-fr wp70 text-right" bindchange="changeDistBiz" value="{{distBizIndex}}" range="{{bizArray}}">
|
||||
<view class="text-nowrap">
|
||||
<text class="color-ccc" wx:if="{{distBizIndex == -1}}">请选择</text>
|
||||
<text wx:else>{{bizArray[distBizIndex]}}</text>
|
||||
<i class="iconfont ml5 icon-gengduo color-ccc"></i>
|
||||
</view>
|
||||
</picker>
|
||||
</view>
|
||||
</view>
|
||||
<view class="fn-flex pl60 pr60 pb50 text-center font-32 color-666">
|
||||
<view class="fn-flex ml10 mr10 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>
|
||||
|
||||
<page-container
|
||||
show="{{isShowTimePicker}}"
|
||||
round="{{true}}"
|
||||
overlay="true"
|
||||
duration="300"
|
||||
z-index="10000"
|
||||
position="bottom"
|
||||
close-on-slide-down="{{false}}"
|
||||
bindenter="onEnter"
|
||||
custom-style="false"
|
||||
overlay-style="false"
|
||||
>
|
||||
<view class="">
|
||||
<view class="relative pt30 pb30 text-center font-30">
|
||||
<view class="color-666">计划回访时间</view>
|
||||
<i bindtap="optShowTimePicker" class="absolute right-0 box-middle mr30 iconfont icon-guanbi1"></i>
|
||||
</view>
|
||||
<view class="fn-flex pt30 pb30 bbs-1-eb text-center font-24">
|
||||
<block wx:for="{{weekList}}" wx:key="index">
|
||||
<view class="fn-flex-item">{{item}}</view>
|
||||
</block>
|
||||
</view>
|
||||
<view class="pb180 relative">
|
||||
<view class="absolute top-0 box-center mt130 font-180 color-f8">{{cMonth}}</view>
|
||||
<view class="relative fn-flex fn-flex-wrap pt30 pb30 text-center font-24 z-index-2">
|
||||
<block wx:for="{{dateList}}" wx:key="index">
|
||||
<view bindtap="{{item.isopt?'optday':''}}" data-index="{{index}}" class="datecell ulib-r10 {{nextIndex == index?'active':''}} {{item.isopt?'color-1a':'color-ccc'}}">{{item.day}}</view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</page-container>
|
||||
|
||||
<!-- 拨打电话 -->
|
||||
<lcb-msg isShow="{{isShowCall}}" isCustomTabBar="{{true}}">
|
||||
<view slot="content">
|
||||
<view class="pt50 pb40">
|
||||
<view class="font-36 text-center">号码绑定成功</view>
|
||||
<view class="mt10 font-28 text-center color-666">现在呼叫 {{phoneNumber}} ?</view>
|
||||
</view>
|
||||
<view class="fn-flex pl60 pr60 pb50 text-center font-32 color-666">
|
||||
<button bindtap="hideCall" class="fn-flex-item mr20 bds-2-36afa2 btn-no-bg wp100 font-28 color-36afa2 ulib-r750">
|
||||
取消
|
||||
</button>
|
||||
<button bindtap="makePhoneCall" class="fn-flex-item ml20 btn-36afa2 wp100 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover">
|
||||
确定
|
||||
</button>
|
||||
</view>
|
||||
</view>
|
||||
</lcb-msg>
|
||||
@@ -0,0 +1,754 @@
|
||||
import _ from '../../../commons/js/commons';
|
||||
import popularData from '../../../commons/js/lib/popularData';
|
||||
import * as echarts from '../../../ecCanvas/components/ec-canvas/echarts';
|
||||
const app = getApp()
|
||||
|
||||
let BarChartData;
|
||||
let Pie1ChartData;
|
||||
let Pie2ChartData;
|
||||
let Pie3ChartData;
|
||||
function BarChart(canvas, width, height, dpr) {
|
||||
const chart = echarts.init(canvas, null, {
|
||||
width: width,
|
||||
height: height,
|
||||
devicePixelRatio: dpr // new
|
||||
});
|
||||
canvas.setChart(chart);
|
||||
let option = BarChartData
|
||||
chart.setOption(option);
|
||||
chart.on('click',function(e){
|
||||
console.log(e)
|
||||
});
|
||||
return chart;
|
||||
}
|
||||
function Pie1Chart(canvas, width, height, dpr) {
|
||||
const chart = echarts.init(canvas, null, {
|
||||
width: width,
|
||||
height: height,
|
||||
devicePixelRatio: dpr // new
|
||||
});
|
||||
canvas.setChart(chart);
|
||||
let option = Pie1ChartData
|
||||
chart.setOption(option);
|
||||
chart.on('click',function(e){
|
||||
console.log(e)
|
||||
});
|
||||
return chart;
|
||||
}
|
||||
function Pie2Chart(canvas, width, height, dpr) {
|
||||
const chart = echarts.init(canvas, null, {
|
||||
width: width,
|
||||
height: height,
|
||||
devicePixelRatio: dpr // new
|
||||
});
|
||||
canvas.setChart(chart);
|
||||
let option = Pie2ChartData
|
||||
chart.setOption(option);
|
||||
chart.on('click',function(e){
|
||||
//_.eventBus.emit("pinpai",e.name)
|
||||
});
|
||||
return chart;
|
||||
}
|
||||
function Pie3Chart(canvas, width, height, dpr) {
|
||||
const chart = echarts.init(canvas, null, {
|
||||
width: width,
|
||||
height: height,
|
||||
devicePixelRatio: dpr // new
|
||||
});
|
||||
canvas.setChart(chart);
|
||||
let option = Pie3ChartData
|
||||
chart.setOption(option);
|
||||
chart.on('click',function(e){
|
||||
//_.eventBus.emit("pinpai",e.name)
|
||||
});
|
||||
return chart;
|
||||
}
|
||||
|
||||
Page({
|
||||
data: {
|
||||
imgUrl: _.config.imgUrl,//静态图片路径
|
||||
showPie1Chart:false,//是否显示Pie1图表
|
||||
ecPie1:{},
|
||||
showPie2Chart:false,//是否显示Pie2图表
|
||||
ecPie2:{},
|
||||
showPie3Chart:false,//是否显示Pie3图表
|
||||
ecPie3:{},
|
||||
showBarChart:false,//是否显示Bar图表
|
||||
ecBar:{},
|
||||
Pie1title:'',
|
||||
Pie2title:'',
|
||||
Pie3title:'',
|
||||
Bartitle:'',
|
||||
},
|
||||
|
||||
onLoad: function (options) {
|
||||
for (let key in options) {
|
||||
this.setData({
|
||||
[key]: options[key]
|
||||
})
|
||||
}
|
||||
|
||||
this.getAppCity()
|
||||
|
||||
},
|
||||
|
||||
//获取系统配置城市
|
||||
getAppCity(){
|
||||
_.apiQuery.getAppCity().then(res => {
|
||||
this.setData({
|
||||
city_id:this.data.city_id?this.data.city_id:res.data.default,
|
||||
})
|
||||
let cityArray = []
|
||||
res.data.list.forEach((item,index) => {
|
||||
cityArray.push(item.name)
|
||||
if(item.city_id==this.data.city_id){
|
||||
this.setData({
|
||||
cityIndex:index,
|
||||
})
|
||||
}
|
||||
})
|
||||
this.setData({
|
||||
cityArray:cityArray,
|
||||
cityList:res.data.list,
|
||||
})
|
||||
|
||||
this.getAppStatisticsStats_customer()
|
||||
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
//选择日期
|
||||
changeDate(e){
|
||||
if(e.currentTarget.dataset.type=="s_date"){
|
||||
let begin = new Date(e.detail.value).getTime();
|
||||
let end = new Date(this.data.e_date).getTime();
|
||||
let day = 0
|
||||
if(end>=begin){
|
||||
day = (end - begin)/(24*60*60*1000);
|
||||
this.setData({
|
||||
s_date: e.detail.value,
|
||||
})
|
||||
}
|
||||
else{
|
||||
day = (begin - end)/(24*60*60*1000);
|
||||
let s_date = this.data.e_date
|
||||
let e_date = e.detail.value
|
||||
this.setData({
|
||||
s_date,
|
||||
e_date,
|
||||
})
|
||||
}
|
||||
if (day > 365) {
|
||||
wx.showToast({
|
||||
title: '请选择一年时间内',
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
else{
|
||||
this.getAppStatisticsStats_customer()
|
||||
}
|
||||
}
|
||||
if(e.currentTarget.dataset.type=="e_date"){
|
||||
let begin = new Date(this.data.s_date).getTime();
|
||||
let end = new Date(e.detail.value).getTime();
|
||||
let day = 0
|
||||
if(end>=begin){
|
||||
day = (end - begin)/(24*60*60*1000);
|
||||
this.setData({
|
||||
e_date: e.detail.value,
|
||||
})
|
||||
}
|
||||
else{
|
||||
day = (begin - end)/(24*60*60*1000);
|
||||
let e_date = this.data.s_date
|
||||
let s_date = e.detail.value
|
||||
this.setData({
|
||||
s_date,
|
||||
e_date,
|
||||
})
|
||||
}
|
||||
if (day > 365) {
|
||||
wx.showToast({
|
||||
title: '请选择一年时间内',
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
else{
|
||||
this.getAppStatisticsStats_customer()
|
||||
}
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
//订单数据
|
||||
getAppStatisticsStats_customer(){
|
||||
this.setData({
|
||||
showPie1Chart:false,
|
||||
showPie2Chart:false,
|
||||
showPie3Chart:false,
|
||||
showBarChart:false,
|
||||
})
|
||||
|
||||
let params = {};
|
||||
params['type'] = this.data.type;
|
||||
params['city_id'] = this.data.city_id;
|
||||
params['s_time'] = this.data.s_date;
|
||||
params['e_time'] = this.data.e_date;
|
||||
_.apiQuery.getAppStatisticsStats_customer(params).then(res => {
|
||||
|
||||
wx.setNavigationBarTitle({
|
||||
title: res.data.title
|
||||
})
|
||||
|
||||
this.setData({
|
||||
Pie1title:res.data.pie1?res.data.pie1.title:'',
|
||||
Pie2title:res.data.pie2?res.data.pie2.title:'',
|
||||
Pie3title:res.data.pie3?res.data.pie3.title:'',
|
||||
Bartitle:res.data.bar?res.data.bar.title:'',
|
||||
})
|
||||
|
||||
//Pie1ChartData = getPie1Option()
|
||||
if(res.data.pie1){
|
||||
if(res.data.pie1.series_data_1.length==0){
|
||||
this.setData({
|
||||
pie1noData:true,
|
||||
})
|
||||
}else{
|
||||
Pie1ChartData = {
|
||||
tooltip: {
|
||||
trigger: 'item',
|
||||
formatter: '{b}: {c} ({d}%)'
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: 'Access From',
|
||||
type: 'pie',
|
||||
bottom:'12%',
|
||||
selectedMode: 'single',
|
||||
radius: [0, '30%'],
|
||||
label: {
|
||||
position: 'inner',
|
||||
fontSize: 10
|
||||
},
|
||||
labelBar: {
|
||||
show: false
|
||||
},
|
||||
data: []
|
||||
},
|
||||
{
|
||||
name: 'Access From',
|
||||
type: 'pie',
|
||||
bottom:'12%',
|
||||
radius: ['45%', '65%'],
|
||||
labelLine: {
|
||||
fontSize:5,
|
||||
length:10
|
||||
},
|
||||
label: {
|
||||
formatter: '{b| {b} }{abg|}\n{hr|}\n{c| {c}({d}%) }',
|
||||
backgroundColor: '#F6F8FC',
|
||||
borderColor: '#8C8D8E',
|
||||
borderWidth: 1,
|
||||
borderRadius: 4,
|
||||
rich: {
|
||||
hr: {
|
||||
borderColor: '#8C8D8E',
|
||||
width: '100%',
|
||||
borderWidth: 1,
|
||||
height: 0
|
||||
},
|
||||
b: {
|
||||
color: '#4C5058',
|
||||
fontSize:10,
|
||||
lineHeight:20,
|
||||
align: 'center',
|
||||
},
|
||||
c: {
|
||||
color: '#4C5058',
|
||||
fontSize:8,
|
||||
lineHeight:20,
|
||||
align: 'center',
|
||||
},
|
||||
}
|
||||
},
|
||||
data: []
|
||||
},
|
||||
]
|
||||
};
|
||||
|
||||
Pie1ChartData.series[0].data = res.data.pie1.series_data_1
|
||||
Pie1ChartData.series[1].data = res.data.pie1.series_data_2
|
||||
this.setData({
|
||||
pie1noData:false,
|
||||
showPie1Chart:true,
|
||||
['ecPie1.onInit']:Pie1Chart,
|
||||
pie1Bottom:res.data.pie1.bottom,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
//Pie2ChartData = getPie2Option()
|
||||
if(res.data.pie2){
|
||||
if(res.data.pie2.series_data_1.length==0){
|
||||
this.setData({
|
||||
pie2noData:true,
|
||||
})
|
||||
}else{
|
||||
Pie2ChartData = {
|
||||
tooltip: {
|
||||
trigger: 'item',
|
||||
formatter: '{b}: {c} ({d}%)'
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: 'Access From',
|
||||
type: 'pie',
|
||||
bottom:'12%',
|
||||
radius: '70%',
|
||||
// avoidLabelOverlap: false,
|
||||
// itemStyle: {
|
||||
// borderRadius: 10,
|
||||
// borderColor: '#fff',
|
||||
// borderWidth: 2
|
||||
// },
|
||||
label: {
|
||||
show: false,
|
||||
position: 'center'
|
||||
},
|
||||
labelLine: {
|
||||
fontSize:5,
|
||||
length:10
|
||||
},
|
||||
label: {
|
||||
formatter: '{b| {b} }{abg|}\n{hr|}\n{c| {c}({d}%) }',
|
||||
backgroundColor: '#F6F8FC',
|
||||
borderColor: '#8C8D8E',
|
||||
borderWidth: 1,
|
||||
borderRadius: 4,
|
||||
rich: {
|
||||
hr: {
|
||||
borderColor: '#8C8D8E',
|
||||
width: '100%',
|
||||
borderWidth: 1,
|
||||
height: 0
|
||||
},
|
||||
b: {
|
||||
color: '#4C5058',
|
||||
fontSize:10,
|
||||
lineHeight:20,
|
||||
align: 'center',
|
||||
},
|
||||
c: {
|
||||
color: '#4C5058',
|
||||
fontSize:8,
|
||||
lineHeight:20,
|
||||
align: 'center',
|
||||
},
|
||||
}
|
||||
},
|
||||
data: []
|
||||
}
|
||||
]
|
||||
};
|
||||
Pie2ChartData.series[0].data = res.data.pie2.series_data_1
|
||||
this.setData({
|
||||
pie2noData:false,
|
||||
showPie2Chart:true,
|
||||
['ecPie2.onInit']:Pie2Chart,
|
||||
pie2Bottom:res.data.pie2.bottom,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
//Pie3ChartData = getPie3Option()
|
||||
if(res.data.pie3){
|
||||
if(res.data.pie3.series_data_1.length==0){
|
||||
this.setData({
|
||||
pie3noData:true,
|
||||
})
|
||||
}else{
|
||||
Pie3ChartData = {
|
||||
tooltip: {
|
||||
trigger: 'item',
|
||||
formatter: '{b}: {c} ({d}%)'
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: 'Access From',
|
||||
type: 'pie',
|
||||
bottom:'12%',
|
||||
radius: '70%',
|
||||
// avoidLabelOverlap: false,
|
||||
// itemStyle: {
|
||||
// borderRadius: 10,
|
||||
// borderColor: '#fff',
|
||||
// borderWidth: 2
|
||||
// },
|
||||
label: {
|
||||
show: false,
|
||||
position: 'center'
|
||||
},
|
||||
labelLine: {
|
||||
fontSize:5,
|
||||
length:10
|
||||
},
|
||||
label: {
|
||||
formatter: '{b| {b} }{abg|}\n{hr|}\n{c| {c}({d}%) }',
|
||||
backgroundColor: '#F6F8FC',
|
||||
borderColor: '#8C8D8E',
|
||||
borderWidth: 1,
|
||||
borderRadius: 4,
|
||||
rich: {
|
||||
hr: {
|
||||
borderColor: '#8C8D8E',
|
||||
width: '100%',
|
||||
borderWidth: 1,
|
||||
height: 0
|
||||
},
|
||||
b: {
|
||||
color: '#4C5058',
|
||||
fontSize:10,
|
||||
lineHeight:20,
|
||||
align: 'center',
|
||||
},
|
||||
c: {
|
||||
color: '#4C5058',
|
||||
fontSize:8,
|
||||
lineHeight:20,
|
||||
align: 'center',
|
||||
},
|
||||
}
|
||||
},
|
||||
data: []
|
||||
}
|
||||
]
|
||||
};
|
||||
Pie3ChartData.series[0].data = res.data.pie3.series_data_1
|
||||
this.setData({
|
||||
pie3noData:false,
|
||||
showPie3Chart:true,
|
||||
['ecPie3.onInit']:Pie3Chart,
|
||||
pie3Bottom:res.data.pie3.bottom,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
//BarChartData = getBarOption()
|
||||
if(res.data.bar){
|
||||
BarChartData = {
|
||||
tooltip: {
|
||||
trigger: 'axis',
|
||||
axisPointer: {
|
||||
type: 'shadow'
|
||||
}
|
||||
},
|
||||
xAxis: {
|
||||
type: 'value',
|
||||
data: []
|
||||
},
|
||||
yAxis: {
|
||||
type: 'category',
|
||||
data: []
|
||||
},
|
||||
grid: {
|
||||
top: '1%',
|
||||
left: '5%',
|
||||
right: '5%',
|
||||
bottom: '35',
|
||||
containLabel: true
|
||||
},
|
||||
series: [
|
||||
{
|
||||
data: [],
|
||||
type: 'bar',
|
||||
top: 0,
|
||||
bottom:'0',
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
let xAxis_data = res.data.bar.xAxis_data
|
||||
let yAxis_data = []
|
||||
xAxis_data.forEach(item => {
|
||||
if(item.length > 6){
|
||||
yAxis_data.push(item.substring(0,6)+'...')
|
||||
}else{
|
||||
yAxis_data.push(item)
|
||||
}
|
||||
})
|
||||
|
||||
BarChartData.yAxis.data = yAxis_data
|
||||
BarChartData.series[0].data = res.data.bar.series_data
|
||||
this.setData({
|
||||
Barheight:100 + 60*(res.data.bar.xAxis_data.length),
|
||||
Bartitle:res.data.bar.title,
|
||||
showBarChart:true,
|
||||
['ecBar.onInit']:BarChart,
|
||||
barBottom:res.data.bar.bottom,
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
wx.stopPullDownRefresh()
|
||||
|
||||
});
|
||||
},
|
||||
|
||||
//推送链接
|
||||
pushLink(e) {
|
||||
if(e.currentTarget.dataset.url){
|
||||
_.$router.openUrlScheme(e.currentTarget.dataset.url)
|
||||
}
|
||||
},
|
||||
|
||||
//选择城市
|
||||
changeCity(e) {
|
||||
this.setData({
|
||||
city_id:this.data.cityList[e.detail.value].city_id,
|
||||
cityIndex: e.detail.value
|
||||
})
|
||||
this.getAppStatisticsStats_customer()
|
||||
},
|
||||
|
||||
//页面相关事件处理函数--监听用户下拉动作
|
||||
onPullDownRefresh: function () {
|
||||
this.getAppStatisticsStats_customer()
|
||||
},
|
||||
|
||||
})
|
||||
|
||||
function getPie1Option() {
|
||||
return {
|
||||
tooltip: {
|
||||
trigger: 'item',
|
||||
formatter: '{b}: {c} ({d}%)'
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: 'Access From',
|
||||
type: 'pie',
|
||||
selectedMode: 'single',
|
||||
radius: [0, '30%'],
|
||||
label: {
|
||||
position: 'inner',
|
||||
fontSize: 10
|
||||
},
|
||||
labelBar: {
|
||||
show: false
|
||||
},
|
||||
data: [
|
||||
{ value: 1548, name: 'H' },
|
||||
{ value: 775, name: 'A' },
|
||||
{ value: 679, name: 'B', }
|
||||
]
|
||||
},
|
||||
{
|
||||
name: 'Access From',
|
||||
type: 'pie',
|
||||
radius: ['45%', '65%'],
|
||||
labelLine: {
|
||||
fontSize:5,
|
||||
length:10
|
||||
},
|
||||
label: {
|
||||
formatter: '{b| {b} }{abg|}\n{hr|}\n{c| {c}({d}%) }',
|
||||
backgroundColor: '#F6F8FC',
|
||||
borderColor: '#8C8D8E',
|
||||
borderWidth: 1,
|
||||
borderRadius: 4,
|
||||
rich: {
|
||||
hr: {
|
||||
borderColor: '#8C8D8E',
|
||||
width: '100%',
|
||||
borderWidth: 1,
|
||||
height: 0
|
||||
},
|
||||
b: {
|
||||
color: '#4C5058',
|
||||
fontSize:10,
|
||||
lineHeight:20,
|
||||
align: 'center',
|
||||
},
|
||||
c: {
|
||||
color: '#4C5058',
|
||||
fontSize:8,
|
||||
lineHeight:20,
|
||||
align: 'center',
|
||||
},
|
||||
}
|
||||
},
|
||||
data: [
|
||||
{ value: 1048, name: '转介绍' },
|
||||
{ value: 335, name: '网络推广' },
|
||||
{ value: 310, name: '外展外拓' },
|
||||
{ value: 251, name: '自媒体' },
|
||||
]
|
||||
},
|
||||
]
|
||||
};
|
||||
}
|
||||
|
||||
function getPie2Option() {
|
||||
return {
|
||||
// tooltip: {
|
||||
// trigger: 'item',
|
||||
// formatter: '{b}: {c} ({d}%)'
|
||||
// },
|
||||
series: [
|
||||
{
|
||||
name: 'Access From',
|
||||
type: 'pie',
|
||||
bottom:'10%',
|
||||
radius: ['40%', '70%'],
|
||||
avoidLabelOverlap: false,
|
||||
itemStyle: {
|
||||
borderRadius: 10,
|
||||
borderColor: '#fff',
|
||||
borderWidth: 2
|
||||
},
|
||||
label: {
|
||||
show: false,
|
||||
position: 'center'
|
||||
},
|
||||
labelLine: {
|
||||
fontSize:5,
|
||||
length:10
|
||||
},
|
||||
label: {
|
||||
formatter: '{b| {b} }{abg|}\n{hr|}\n{c| {c}({d}%) }',
|
||||
backgroundColor: '#F6F8FC',
|
||||
borderColor: '#8C8D8E',
|
||||
borderWidth: 1,
|
||||
borderRadius: 4,
|
||||
rich: {
|
||||
hr: {
|
||||
borderColor: '#8C8D8E',
|
||||
width: '100%',
|
||||
borderWidth: 1,
|
||||
height: 0
|
||||
},
|
||||
b: {
|
||||
color: '#4C5058',
|
||||
fontSize:10,
|
||||
lineHeight:20,
|
||||
align: 'center',
|
||||
},
|
||||
c: {
|
||||
color: '#4C5058',
|
||||
fontSize:8,
|
||||
lineHeight:20,
|
||||
align: 'center',
|
||||
},
|
||||
}
|
||||
},
|
||||
data: [
|
||||
{ value: 48, name: '转介绍' },
|
||||
{ value: 35, name: '网络推广' },
|
||||
{ value: 30, name: '外展外拓' },
|
||||
{ value: 21, name: '自媒体' },
|
||||
]
|
||||
}
|
||||
]
|
||||
};
|
||||
}
|
||||
|
||||
function getPie3Option() {
|
||||
return {
|
||||
// tooltip: {
|
||||
// trigger: 'item',
|
||||
// formatter: '{b}: {c} ({d}%)'
|
||||
// },
|
||||
series: [
|
||||
{
|
||||
name: 'Access From',
|
||||
type: 'pie',
|
||||
bottom:'10%',
|
||||
radius: ['40%', '70%'],
|
||||
avoidLabelOverlap: false,
|
||||
itemStyle: {
|
||||
borderRadius: 10,
|
||||
borderColor: '#fff',
|
||||
borderWidth: 2
|
||||
},
|
||||
label: {
|
||||
show: false,
|
||||
position: 'center'
|
||||
},
|
||||
labelLine: {
|
||||
fontSize:5,
|
||||
length:10
|
||||
},
|
||||
label: {
|
||||
formatter: '{b| {b} }{abg|}\n{hr|}\n{c| {c}({d}%) }',
|
||||
backgroundColor: '#F6F8FC',
|
||||
borderColor: '#8C8D8E',
|
||||
borderWidth: 1,
|
||||
borderRadius: 4,
|
||||
rich: {
|
||||
hr: {
|
||||
borderColor: '#8C8D8E',
|
||||
width: '100%',
|
||||
borderWidth: 1,
|
||||
height: 0
|
||||
},
|
||||
b: {
|
||||
color: '#4C5058',
|
||||
fontSize:10,
|
||||
lineHeight:20,
|
||||
align: 'center',
|
||||
},
|
||||
c: {
|
||||
color: '#4C5058',
|
||||
fontSize:8,
|
||||
lineHeight:20,
|
||||
align: 'center',
|
||||
},
|
||||
}
|
||||
},
|
||||
data: [
|
||||
{ value: 48, name: '转介绍' },
|
||||
{ value: 35, name: '网络推广' },
|
||||
{ value: 30, name: '外展外拓' },
|
||||
{ value: 21, name: '自媒体' },
|
||||
]
|
||||
}
|
||||
]
|
||||
};
|
||||
}
|
||||
|
||||
function getBarOption() {
|
||||
|
||||
return{
|
||||
tooltip: {
|
||||
trigger: 'axis',
|
||||
axisPointer: {
|
||||
type: 'shadow'
|
||||
}
|
||||
},
|
||||
xAxis: {
|
||||
type: 'value',
|
||||
data: []
|
||||
},
|
||||
yAxis: {
|
||||
type: 'category',
|
||||
data: ['张三', '李四', '王五', '赵六', '孙七', '周八', '吴九','郑十']
|
||||
},
|
||||
grid: {
|
||||
top: '5%',
|
||||
left: '2%',
|
||||
right: '5%',
|
||||
bottom: '3%',
|
||||
containLabel: true
|
||||
},
|
||||
series: [
|
||||
|
||||
{
|
||||
data: [20, 20, 10, 20, 20, 20, 25, 2],
|
||||
type: 'bar',
|
||||
top: 0,
|
||||
bottom:'0',
|
||||
}
|
||||
]
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"navigationBarTitleText": "订单数据",
|
||||
"navigationBarTextStyle": "white",
|
||||
"navigationBarBackgroundColor": "#ff7052",
|
||||
"backgroundColor": "#ffffff",
|
||||
"backgroundColorTop": "#ff7052",
|
||||
"usingComponents": {
|
||||
"ec-canvas": "../../../ecCanvas/components/ec-canvas/ec-canvas"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,88 @@
|
||||
<view class="container img-top-cover" style="background-image:url({{imgUrl}}storedata/theme.png);">
|
||||
<view class="text-center pt20 pb40 pl30 pr30 fn-clear">
|
||||
<view class="fn-fl bg-fff-op20 pt5 pb5 pl20 pr20 font-22 color-fff ulib-r750">
|
||||
<picker bindchange="changeCity" value="{{cityIndex}}" range="{{cityArray}}">
|
||||
<view>
|
||||
<text>{{cityArray[cityIndex]}}</text>
|
||||
<i class="iconfont ml5 icon-xuanze"></i>
|
||||
</view>
|
||||
</picker>
|
||||
</view>
|
||||
<view class="fn-fr bg-fff-op20 pt5 pb5 pl20 pr20 font-22 color-fff ulib-r750">
|
||||
<picker class="inline-block" mode="date" value="{{s_date}}" end="{{current_date}}" bindchange="changeDate" data-type="s_date">
|
||||
<view>
|
||||
<text>{{s_date}}</text>
|
||||
<i class="iconfont ml5 icon-xuanze"></i>
|
||||
</view>
|
||||
</picker>
|
||||
<text class="pl10 pr10">至</text>
|
||||
<picker class="inline-block" mode="date" value="{{e_date}}" end="{{current_date}}" bindchange="changeDate" data-type="e_date">
|
||||
<view>
|
||||
<text>{{e_date}}</text>
|
||||
<i class="iconfont ml5 icon-xuanze"></i>
|
||||
</view>
|
||||
</picker>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="mb30 pl30 pr30" wx:if="{{Pie1title != ''}}">
|
||||
<view class="inner30 pt40 bg-fff box-shadow-000-10-10 ulib-r10">
|
||||
<view class="relative">
|
||||
<view class="font-36">{{Pie1title}}</view>
|
||||
</view>
|
||||
<lcb-listmore isNoData='{{pie1noData}}' noDataMsg='暂无数据'></lcb-listmore>
|
||||
<view class="mt50 mb20 relative height-600 z-index-0" wx:if="{{!pie1noData}}">
|
||||
<view class="absolute wp100 height-600" wx:if="{{showPie1Chart}}">
|
||||
<ec-canvas class="absolute top-0 bottom-0 left-0 right-0" ec="{{ ecPie1 }}"></ec-canvas>
|
||||
</view>
|
||||
<view class="absolute left-0 bottom-0 right-0 text-center font-22 color-888">{{pie1Bottom}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="mb30 pl30 pr30" wx:if="{{Pie2title != ''}}">
|
||||
<view class="inner30 pt40 bg-fff box-shadow-000-10-10 ulib-r10">
|
||||
<view class="relative">
|
||||
<view class="font-36">{{Pie2title}}</view>
|
||||
</view>
|
||||
<lcb-listmore isNoData='{{pie2noData}}' noDataMsg='暂无数据'></lcb-listmore>
|
||||
<view class="mt50 mb20 relative height-600 z-index-0" wx:if="{{!pie2noData}}">
|
||||
<view class="absolute wp100 height-600" wx:if="{{showPie2Chart}}">
|
||||
<ec-canvas class="absolute top-0 bottom-0 left-0 right-0" ec="{{ ecPie2 }}"></ec-canvas>
|
||||
</view>
|
||||
<view class="absolute left-0 bottom-0 right-0 text-center font-22 color-888" >{{pie2Bottom}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="mb30 pl30 pr30" wx:if="{{Pie3title != ''}}">
|
||||
<view class="inner30 pt40 bg-fff box-shadow-000-10-10 ulib-r10">
|
||||
<view class="relative">
|
||||
<view class="font-36">{{Pie3title}}</view>
|
||||
</view>
|
||||
<lcb-listmore isNoData='{{pie3noData}}' noDataMsg='暂无数据'></lcb-listmore>
|
||||
<view class="mt50 mb20 relative height-600 z-index-0" wx:if="{{!pie3noData}}">
|
||||
<view class="absolute wp100 height-600" wx:if="{{showPie3Chart}}">
|
||||
<ec-canvas class="absolute top-0 bottom-0 left-0 right-0" ec="{{ ecPie3 }}"></ec-canvas>
|
||||
</view>
|
||||
<view class="absolute left-0 bottom-0 right-0 text-center font-22 color-888" >{{pie3Bottom}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="mb30 pl30 pr30" wx:if="{{Bartitle != ''}}">
|
||||
<view class="inner30 pt40 bg-fff box-shadow-000-10-10 ulib-r10">
|
||||
<view class="relative">
|
||||
<view class="font-36">{{Bartitle}}</view>
|
||||
</view>
|
||||
<view class="mt50 mb20 relative z-index-0" style="height:{{Barheight}}rpx;">
|
||||
<view class="absolute wp100" style="height:{{Barheight}}rpx;" wx:if="{{showBarChart}}">
|
||||
<ec-canvas class="absolute top-0 bottom-0 left-0 right-0" ec="{{ ecBar }}"></ec-canvas>
|
||||
</view>
|
||||
<view class="absolute left-0 bottom-0 right-0 text-center font-22 color-888" >{{barBottom}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
<lcb-footer></lcb-footer>
|
||||
@@ -0,0 +1 @@
|
||||
/* pages/storeData/index.wxss */
|
||||
+312
-226
@@ -1,21 +1,10 @@
|
||||
import _ from '../../commons/js/commons'
|
||||
import _ from '../../commons/js/commons';
|
||||
import popularData from '../../commons/js/lib/popularData';
|
||||
import * as echarts from '../../ecCanvas/components/ec-canvas/echarts';
|
||||
const app = getApp()
|
||||
|
||||
let barChartData;
|
||||
let lineChartData;
|
||||
function barChart(canvas, width, height, dpr) {
|
||||
const chart = echarts.init(canvas, null, {
|
||||
width: width,
|
||||
height: height,
|
||||
devicePixelRatio: dpr // new
|
||||
});
|
||||
canvas.setChart(chart);
|
||||
let option = barChartData
|
||||
chart.setOption(option);
|
||||
return chart;
|
||||
}
|
||||
let FunnelChartData;
|
||||
function lineChart(canvas, width, height, dpr) {
|
||||
const chart = echarts.init(canvas, null, {
|
||||
width: width,
|
||||
@@ -27,52 +16,50 @@ function lineChart(canvas, width, height, dpr) {
|
||||
chart.setOption(option);
|
||||
return chart;
|
||||
}
|
||||
function FunnelChart(canvas, width, height, dpr) {
|
||||
const chart = echarts.init(canvas, null, {
|
||||
width: width,
|
||||
height: height,
|
||||
devicePixelRatio: dpr // new
|
||||
});
|
||||
canvas.setChart(chart);
|
||||
let option = FunnelChartData
|
||||
chart.setOption(option);
|
||||
return chart;
|
||||
}
|
||||
|
||||
Page({
|
||||
data: {
|
||||
imgUrl:_.config.imgUrl,
|
||||
showBarChart:false,//是否显示Bar图表
|
||||
ecBar:{},
|
||||
imgUrl: _.config.imgUrl,//静态图片路径
|
||||
showFunnelChart:false,//是否显示Funnel图表
|
||||
ecFunnel:{},
|
||||
showLineChart:false,//是否显示Line图表
|
||||
ecLine:{},
|
||||
storeArray: [],
|
||||
storeobj: [],
|
||||
storeIndex:0,
|
||||
staffArray: [],
|
||||
staffobj: [],
|
||||
staffIndex:-1,
|
||||
tabId:'1',
|
||||
tab:[
|
||||
{
|
||||
id: 1,
|
||||
title: '客户数据'
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
title: '订单数据'
|
||||
},
|
||||
],
|
||||
custom:[],//客户数据
|
||||
order:[],//订单数据
|
||||
daysIndex:0,
|
||||
daysArray:['近一周','近30日'],
|
||||
isShowTip:false,
|
||||
tipIndex:0,
|
||||
},
|
||||
|
||||
onLoad(options) {
|
||||
onLoad: function (options) {
|
||||
for (let key in options) {
|
||||
this.setData({
|
||||
[key]: options[key]
|
||||
})
|
||||
}
|
||||
|
||||
popularData.getDateLater(0,0).then(res => {
|
||||
let s_date = res[0]
|
||||
s_date= s_date.split('-')[0]+'-'+s_date.split('-')[1]+'-01'
|
||||
this.setData({
|
||||
dateTime:res[2],
|
||||
s_date,
|
||||
e_date:res[1],
|
||||
current_date:res[1],
|
||||
})
|
||||
|
||||
this.getAppCity()
|
||||
|
||||
})
|
||||
|
||||
this.getAppCity()
|
||||
|
||||
},
|
||||
|
||||
onShow: function () {
|
||||
|
||||
},
|
||||
|
||||
@@ -94,93 +81,150 @@ Page({
|
||||
cityList:res.data.list,
|
||||
})
|
||||
|
||||
this.getAppUserBizs()
|
||||
this.getAppStatisticsStats()
|
||||
this.getAppStatisticsStats_days()
|
||||
|
||||
});
|
||||
},
|
||||
|
||||
//获取管理门店
|
||||
getAppUserBizs(){
|
||||
//选择日期
|
||||
changeDate(e){
|
||||
if(e.currentTarget.dataset.type=="s_date"){
|
||||
let begin = new Date(e.detail.value).getTime();
|
||||
let end = new Date(this.data.e_date).getTime();
|
||||
let day = 0
|
||||
if(end>=begin){
|
||||
day = (end - begin)/(24*60*60*1000);
|
||||
this.setData({
|
||||
s_date: e.detail.value,
|
||||
})
|
||||
}
|
||||
else{
|
||||
day = (begin - end)/(24*60*60*1000);
|
||||
let s_date = this.data.e_date
|
||||
let e_date = e.detail.value
|
||||
this.setData({
|
||||
s_date,
|
||||
e_date,
|
||||
})
|
||||
}
|
||||
if (day > 365) {
|
||||
wx.showToast({
|
||||
title: '请选择一年时间内',
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
else{
|
||||
this.getAppStatisticsStats()
|
||||
}
|
||||
}
|
||||
if(e.currentTarget.dataset.type=="e_date"){
|
||||
let begin = new Date(this.data.s_date).getTime();
|
||||
let end = new Date(e.detail.value).getTime();
|
||||
let day = 0
|
||||
if(end>=begin){
|
||||
day = (end - begin)/(24*60*60*1000);
|
||||
this.setData({
|
||||
e_date: e.detail.value,
|
||||
})
|
||||
}
|
||||
else{
|
||||
day = (begin - end)/(24*60*60*1000);
|
||||
let e_date = this.data.s_date
|
||||
let s_date = e.detail.value
|
||||
this.setData({
|
||||
s_date,
|
||||
e_date,
|
||||
})
|
||||
}
|
||||
if (day > 365) {
|
||||
wx.showToast({
|
||||
title: '请选择一年时间内',
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
else{
|
||||
this.getAppStatisticsStats()
|
||||
}
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
//数据看板-漏斗
|
||||
getAppStatisticsStats(){
|
||||
this.setData({
|
||||
showFunnelChart:false,
|
||||
})
|
||||
|
||||
let params = {};
|
||||
params['city_id'] = this.data.city_id;
|
||||
_.apiQuery.getAppUserBizs(params).then(res => {
|
||||
if(res.data.list.length>0){
|
||||
let storeArray = []
|
||||
res.data.list.forEach(item => {
|
||||
storeArray.push(item.name)
|
||||
})
|
||||
this.setData({
|
||||
storeArray:storeArray,
|
||||
storeobj:res.data.list,
|
||||
storeIndex:0,
|
||||
staffIndex:-1,
|
||||
})
|
||||
params['s_time'] = this.data.s_date;
|
||||
params['e_time'] = this.data.e_date;
|
||||
_.apiQuery.getAppStatisticsStats(params).then(res => {
|
||||
|
||||
this.getAppUserAdmins()
|
||||
if(this.data.tabId==1){
|
||||
this.getAppXzStat()
|
||||
this.getAppStatisticsScust()
|
||||
}else if(this.data.tabId==2){
|
||||
this.getAppStatisticsOcust()
|
||||
}
|
||||
wx.setNavigationBarTitle({
|
||||
title: res.data.title
|
||||
})
|
||||
|
||||
this.setData({
|
||||
tabs:res.data.tabs,
|
||||
})
|
||||
|
||||
//FunnelChartData = getFunnelOption()
|
||||
FunnelChartData = {
|
||||
series: [
|
||||
{
|
||||
name: 'Expected',
|
||||
type: 'funnel',
|
||||
top: '1%',
|
||||
bottom:'5%',
|
||||
left: '2%',
|
||||
width: '72%',
|
||||
label: {
|
||||
position: 'right',
|
||||
formatter: '{b}'
|
||||
},
|
||||
labelLine: {
|
||||
show: false
|
||||
},
|
||||
itemStyle: {
|
||||
opacity: 0.7
|
||||
},
|
||||
data: []
|
||||
},
|
||||
{
|
||||
name: 'Actual',
|
||||
type: 'funnel',
|
||||
top:'1%',
|
||||
bottom:'5%',
|
||||
left: '7%',
|
||||
width: '62%',
|
||||
maxSize: '62%',
|
||||
label: {
|
||||
position: 'inside',
|
||||
formatter: '{c}',
|
||||
color: '#000'
|
||||
},
|
||||
itemStyle: {
|
||||
opacity: 0.4,
|
||||
borderColor: '#fff',
|
||||
borderWidth:1
|
||||
},
|
||||
data: [],
|
||||
z: 100
|
||||
}
|
||||
]
|
||||
};
|
||||
if(res.data.funnel.actual_data[0].value==0&&res.data.funnel.actual_data[1].value==0&&res.data.funnel.actual_data[2].value==0){
|
||||
FunnelChartData.series[1].itemStyle.opacity = 0
|
||||
}
|
||||
|
||||
});
|
||||
},
|
||||
|
||||
//获取管理门店
|
||||
getAppUserAdmins(){
|
||||
let params = {};
|
||||
params['biz_id'] = this.data.storeobj[this.data.storeIndex].id;
|
||||
params['page'] = 1;
|
||||
params['size'] = 1000;
|
||||
_.apiQuery.getAppUserAdmins(params).then(res => {
|
||||
let staffArray = []
|
||||
res.data.list.forEach(item => {
|
||||
staffArray.push(item.uname)
|
||||
})
|
||||
|
||||
FunnelChartData.series[0].data = res.data.funnel.expected_data
|
||||
FunnelChartData.series[1].data = res.data.funnel.actual_data
|
||||
this.setData({
|
||||
staffArray:staffArray,
|
||||
staffobj: res.data.list,
|
||||
})
|
||||
});
|
||||
},
|
||||
|
||||
//获取电话统计数据
|
||||
getAppXzStat(){
|
||||
let params = {};
|
||||
params['biz_id'] = this.data.storeobj[this.data.storeIndex].id;
|
||||
params['day'] = this.data.dateTime;
|
||||
if(this.data.staffIndex>-1){
|
||||
params['admin_id'] = this.data.staffobj[this.data.staffIndex].id;
|
||||
}
|
||||
_.apiQuery.getAppXzStat(params).then(res => {
|
||||
this.setData({
|
||||
xzstat:res.data,
|
||||
})
|
||||
});
|
||||
},
|
||||
|
||||
//数据分析-客户数据
|
||||
getAppStatisticsScust(){
|
||||
this.setData({
|
||||
ecBar:{},
|
||||
showBarChart:false,
|
||||
})
|
||||
let params = {};
|
||||
params['biz_id'] = this.data.storeobj[this.data.storeIndex].id;
|
||||
params['day'] = this.data.dateTime;
|
||||
if(this.data.staffIndex>-1){
|
||||
params['admin_id'] = this.data.staffobj[this.data.staffIndex].id;
|
||||
}
|
||||
_.apiQuery.getAppStatisticsScust(params).then(res => {
|
||||
|
||||
barChartData = res.data.stat_data
|
||||
//barChartData.tooltip.position=['10', '10']
|
||||
this.setData({
|
||||
custom:res.data.custom,
|
||||
showBarChart:true,
|
||||
['ecBar.onInit']:barChart,
|
||||
funneltitle:res.data.funnel.title,
|
||||
showFunnelChart:true,
|
||||
['ecFunnel.onInit']:FunnelChart,
|
||||
})
|
||||
|
||||
wx.stopPullDownRefresh()
|
||||
@@ -188,24 +232,49 @@ Page({
|
||||
});
|
||||
},
|
||||
|
||||
//数据分析-订单数据
|
||||
getAppStatisticsOcust(){
|
||||
//客户/订单走势图
|
||||
getAppStatisticsStats_days(){
|
||||
this.setData({
|
||||
ecLine:{},
|
||||
showLineChart:false,
|
||||
})
|
||||
let params = {};
|
||||
params['biz_id'] = this.data.storeobj[this.data.storeIndex].id;
|
||||
params['day'] = this.data.dateTime;
|
||||
if(this.data.staffIndex>-1){
|
||||
params['admin_id'] = this.data.staffobj[this.data.staffIndex].id;
|
||||
}
|
||||
_.apiQuery.getAppStatisticsOcust(params).then(res => {
|
||||
|
||||
lineChartData = res.data.stat_data
|
||||
//lineChartData.tooltip.position=['10', '10']
|
||||
let params = {};
|
||||
params['city_id'] = this.data.city_id;
|
||||
params['days'] = this.data.daysIndex == 0?'7':'30';
|
||||
_.apiQuery.getAppStatisticsStats_days(params).then(res => {
|
||||
|
||||
//lineChartData = getLineOption()
|
||||
lineChartData = {
|
||||
tooltip: {
|
||||
trigger: 'axis'
|
||||
},
|
||||
legend: {
|
||||
top: 'bottom',
|
||||
data: []
|
||||
},
|
||||
grid: {
|
||||
top: '3%',
|
||||
left: '2%',
|
||||
right: '5%',
|
||||
bottom: '20%',
|
||||
containLabel: true
|
||||
},
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
boundaryGap: false,
|
||||
data: []
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value'
|
||||
},
|
||||
series: []
|
||||
};
|
||||
|
||||
lineChartData.legend.data = res.data.legend_data
|
||||
lineChartData.xAxis.data = res.data.xAxis
|
||||
lineChartData.series = res.data.series
|
||||
this.setData({
|
||||
order:res.data.custom,
|
||||
linetitle:res.data.title,
|
||||
showLineChart:true,
|
||||
['ecLine.onInit']:lineChart,
|
||||
})
|
||||
@@ -213,64 +282,29 @@ Page({
|
||||
wx.stopPullDownRefresh()
|
||||
|
||||
});
|
||||
|
||||
},
|
||||
|
||||
//选择城市
|
||||
changeCity(e) {
|
||||
//选择天数
|
||||
changeDays(e) {
|
||||
this.setData({
|
||||
city_id:this.data.cityList[e.detail.value].city_id,
|
||||
cityIndex: e.detail.value
|
||||
daysIndex: e.detail.value
|
||||
})
|
||||
this.getAppUserBizs()
|
||||
this.getAppStatisticsStats_days()
|
||||
},
|
||||
|
||||
//选择门店
|
||||
changeStore(e) {
|
||||
//显示隐藏提示
|
||||
optShowTip(e) {
|
||||
this.setData({
|
||||
storeIndex: e.detail.value
|
||||
isShowTip:!this.data.isShowTip,
|
||||
})
|
||||
if(this.data.tabId==1){
|
||||
this.getAppStatisticsScust()
|
||||
}else if(this.data.tabId==2){
|
||||
this.getAppStatisticsOcust()
|
||||
if(e.currentTarget.dataset.index){
|
||||
this.setData({
|
||||
tipIndex:e.currentTarget.dataset.index
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
//日期选择
|
||||
changeDate(e){
|
||||
this.setData({
|
||||
dateTime: e.detail.value,
|
||||
})
|
||||
if(this.data.tabId==1){
|
||||
this.getAppStatisticsScust()
|
||||
}else if(this.data.tabId==2){
|
||||
this.getAppStatisticsOcust()
|
||||
}
|
||||
},
|
||||
|
||||
//选择人员
|
||||
changeStaff(e) {
|
||||
this.setData({
|
||||
staffIndex: e.detail.value
|
||||
})
|
||||
if(this.data.tabId==1){
|
||||
this.getAppStatisticsScust()
|
||||
}else if(this.data.tabId==2){
|
||||
this.getAppStatisticsOcust()
|
||||
}
|
||||
},
|
||||
|
||||
//切换tab
|
||||
changeTab(e){
|
||||
this.setData({
|
||||
tabId:e.currentTarget.dataset.id,
|
||||
})
|
||||
if(this.data.tabId==1){
|
||||
this.getAppStatisticsScust()
|
||||
}else if(this.data.tabId==2){
|
||||
this.getAppStatisticsOcust()
|
||||
}
|
||||
},
|
||||
|
||||
//推送链接
|
||||
pushLink(e) {
|
||||
@@ -279,52 +313,85 @@ Page({
|
||||
}
|
||||
},
|
||||
|
||||
//选择城市
|
||||
changeCity(e) {
|
||||
this.setData({
|
||||
city_id:this.data.cityList[e.detail.value].city_id,
|
||||
cityIndex: e.detail.value
|
||||
})
|
||||
this.getAppStatisticsStats()
|
||||
this.getAppStatisticsStats_days()
|
||||
},
|
||||
|
||||
//页面相关事件处理函数--监听用户下拉动作
|
||||
onPullDownRefresh: function () {
|
||||
this.getAppUserBizs()
|
||||
this.getAppStatisticsStats()
|
||||
this.getAppStatisticsStats_days()
|
||||
},
|
||||
|
||||
})
|
||||
|
||||
function getBarOption() {
|
||||
function getFunnelOption() {
|
||||
return {
|
||||
tooltip: {
|
||||
trigger: 'axis',
|
||||
axisPointer: {
|
||||
type: 'shadow'
|
||||
}
|
||||
},
|
||||
grid: {
|
||||
top: '10%',
|
||||
left: '2%',
|
||||
right: '5%',
|
||||
bottom: '5%',
|
||||
containLabel: true
|
||||
},
|
||||
xAxis: {
|
||||
type: 'value',
|
||||
boundaryGap: [0, 0.01]
|
||||
},
|
||||
yAxis: {
|
||||
type: 'category',
|
||||
data: ['1月', '2月', '3月',],
|
||||
},
|
||||
// legend: {
|
||||
// top: 'bottom',
|
||||
// data: ['客户量', '到店数', '成交数']
|
||||
// },
|
||||
series: [
|
||||
{
|
||||
type: 'bar',
|
||||
itemStyle: {
|
||||
color:'#2e3246',
|
||||
borderRadius: [0, 20, 20, 0],
|
||||
},
|
||||
barWidth:'15',
|
||||
data: [33, 23, 29,],
|
||||
name: 'Expected',
|
||||
type: 'funnel',
|
||||
top: '1%',
|
||||
bottom:'5%',
|
||||
left: '2%',
|
||||
width: '72%',
|
||||
label: {
|
||||
show: true,
|
||||
position: 'right',
|
||||
formatter: '{@[n]}',
|
||||
valueAnimation: true
|
||||
}
|
||||
position: 'right',
|
||||
formatter: '{b}'
|
||||
},
|
||||
labelLine: {
|
||||
show: false
|
||||
},
|
||||
itemStyle: {
|
||||
opacity: 0.7
|
||||
},
|
||||
data: [
|
||||
{ value: 33.3, name: '成交数(10%)' },
|
||||
{ value: 66.6, name: '到店数(25%)' },
|
||||
{ value: 100, name: '客户数(100%)' }
|
||||
]
|
||||
},
|
||||
{
|
||||
name: 'Actual',
|
||||
type: 'funnel',
|
||||
top:'1%',
|
||||
bottom:'5%',
|
||||
left: '7%',
|
||||
width: '62%',
|
||||
maxSize: '62%',
|
||||
label: {
|
||||
position: 'inside',
|
||||
formatter: '{c}',
|
||||
color: '#000'
|
||||
},
|
||||
itemStyle: {
|
||||
opacity: 0.4,
|
||||
borderColor: '#fff',
|
||||
borderWidth:1
|
||||
},
|
||||
// emphasis: {
|
||||
// label: {
|
||||
// position: 'inside',
|
||||
// formatter: '{b}: {c}'
|
||||
// }
|
||||
// },
|
||||
data: [
|
||||
{ value: 20, name: '成交数' },
|
||||
{ value: 50, name: '到店数' },
|
||||
{ value:200, name: '客户量' }
|
||||
],
|
||||
z: 100
|
||||
}
|
||||
]
|
||||
};
|
||||
}
|
||||
@@ -332,24 +399,43 @@ function getBarOption() {
|
||||
function getLineOption() {
|
||||
|
||||
return{
|
||||
tooltip: {
|
||||
trigger: 'axis'
|
||||
},
|
||||
legend: {
|
||||
top: 'bottom',
|
||||
data: ['客户数', '订单数',]
|
||||
},
|
||||
grid: {
|
||||
top: '15%',
|
||||
top: '3%',
|
||||
left: '2%',
|
||||
right: '5%',
|
||||
bottom: '5%',
|
||||
bottom: '20%',
|
||||
containLabel: true
|
||||
},
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
data: ['1月', '2月', '3月',]
|
||||
type: 'category',
|
||||
boundaryGap: false,
|
||||
data: ['1', '2', '3','4','5','6','7',]
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value'
|
||||
type: 'value'
|
||||
},
|
||||
series: [{
|
||||
data: [20, 932, 901,],
|
||||
type: 'line',
|
||||
smooth: true
|
||||
}]
|
||||
series: [
|
||||
{
|
||||
name: '客户数',
|
||||
type: 'line',
|
||||
//stack: '总量',//累加
|
||||
data: [20, 30, 50, 60, 66, 70, 73, ],
|
||||
smooth: true,
|
||||
},
|
||||
{
|
||||
name: '订单数',
|
||||
type: 'line',
|
||||
//stack: '总量',//累加
|
||||
data: [10, 10, 10,1, 1, 1, 1,],
|
||||
smooth: true,
|
||||
},
|
||||
]
|
||||
};
|
||||
}
|
||||
@@ -1,10 +1,8 @@
|
||||
{
|
||||
"navigationBarTitleText": "数据分析",
|
||||
"enablePullDownRefresh": true,
|
||||
"navigationBarTextStyle": "white",
|
||||
"navigationBarBackgroundColor": "#1a1c26",
|
||||
"navigationBarBackgroundColor": "#ff7052",
|
||||
"backgroundColor": "#ffffff",
|
||||
"backgroundColorTop": "#1a1c26",
|
||||
"backgroundColorTop": "#ff7052",
|
||||
"usingComponents": {
|
||||
"ec-canvas": "../../ecCanvas/components/ec-canvas/ec-canvas"
|
||||
}
|
||||
|
||||
+93
-124
@@ -1,132 +1,101 @@
|
||||
<view class="container">
|
||||
<view class="inner30 img-top-cover" style="background-image:url({{imgUrl}}channel/theme.jpg);">
|
||||
|
||||
<!-- 管辖门店 -->
|
||||
<view class="inner30 pt40 bg-fff box-shadow-000-10-10 ulib-r10">
|
||||
<view class="bg-f6 pt25 pb25 pl30 pr30 font-32 fn-clear ulib-r10">
|
||||
<view class="fn-fl">城市</view>
|
||||
<picker class="fn-fr" bindchange="changeCity" value="{{cityIndex}}" range="{{cityArray}}">
|
||||
<view class="color-666">
|
||||
<text>{{cityArray[cityIndex]}}</text>
|
||||
<i class="iconfont ml10 icon-gengduo font-26 color-999"></i>
|
||||
</view>
|
||||
</picker>
|
||||
</view>
|
||||
<view class="mt20 bg-f6 pt25 pb25 pl30 pr30 font-32 fn-clear ulib-r10">
|
||||
<view class="fn-fl">门店</view>
|
||||
<picker class="fn-fr" bindchange="changeStore" value="{{storeIndex}}" range="{{storeArray}}">
|
||||
<view class="color-666">
|
||||
<text>{{storeArray[storeIndex]}}</text>
|
||||
<i class="iconfont ml10 icon-gengduo font-26 color-999"></i>
|
||||
</view>
|
||||
</picker>
|
||||
</view>
|
||||
<view class="mt20 bg-f6 pt25 pb25 pl30 pr30 font-32 fn-clear ulib-r10">
|
||||
<view class="fn-fl">月份选择</view>
|
||||
<picker class="fn-fr" mode="date" fields="month" value="{{dateTime}}" bindchange="changeDate">
|
||||
<view class="color-666">
|
||||
<text>{{dateTime}}</text>
|
||||
<i class="iconfont ml10 icon-gengduo font-26 color-999"></i>
|
||||
</view>
|
||||
</picker>
|
||||
</view>
|
||||
<view class="mt20 bg-f6 pt25 pb25 pl30 pr30 font-32 fn-clear ulib-r10">
|
||||
<view class="fn-fl">人员选择</view>
|
||||
<picker class="fn-fr" bindchange="changeStaff" value="{{staffIndex}}" range="{{staffArray}}">
|
||||
<view class="color-666">
|
||||
<text wx:if="{{staffIndex == -1}}">全部</text>
|
||||
<text wx:else>{{staffArray[staffIndex]}}</text>
|
||||
<i class="iconfont ml10 icon-gengduo font-26 color-999"></i>
|
||||
</view>
|
||||
</picker>
|
||||
</view>
|
||||
<view class="container img-top-cover" style="background-image:url({{imgUrl}}storedata/theme.png);">
|
||||
<view class="text-center pt20 pb40 pl30 pr30 fn-clear">
|
||||
<view class="fn-fl bg-fff-op20 pt5 pb5 pl20 pr20 font-22 color-fff ulib-r750">
|
||||
<picker bindchange="changeCity" value="{{cityIndex}}" range="{{cityArray}}">
|
||||
<view>
|
||||
<text>{{cityArray[cityIndex]}}</text>
|
||||
<i class="iconfont ml5 icon-xuanze"></i>
|
||||
</view>
|
||||
</picker>
|
||||
</view>
|
||||
<!-- 客户数据 / 订单数据 -->
|
||||
<view class="mt40 bg-fff box-shadow-000-10-10 ulib-r10 overflowhidden">
|
||||
<!-- <view class="fn-flex font-36 text-center">
|
||||
<block wx:for='{{tab}}' wx:key='index'>
|
||||
<view class="fn-flex-item pt20 pb20 {{ tabId == item.id?'':'bg-ffedeb'}}" data-id="{{item.id}}" bindtap="changeTab">
|
||||
<view class="relative">{{item.title}}</view>
|
||||
</view>
|
||||
</block>
|
||||
</view> -->
|
||||
<view class="pl30 pb30" wx:if="{{tabId==1}}">
|
||||
<view class="fn-flex fn-flex-wrap text-left">
|
||||
<block wx:for='{{custom}}' wx:key='index'>
|
||||
<view class="wp33 mt30 pr25">
|
||||
<view class="relative pt15 pb15 pl75 bg-f6 ulib-r10 overflowhidden line-height-13">
|
||||
<view class="absolute top-0 left-0 bottom-0 pl60 bg-999">
|
||||
<i class="absolute box-center-middle iconfont font-30 color-fff {{item.icon}}"></i>
|
||||
</view>
|
||||
<view class="font-28 text-bold">{{item.value}}</view>
|
||||
<view class="font-22 color-666">{{item.title}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
<view class="fn-fr bg-fff-op20 pt5 pb5 pl20 pr20 font-22 color-fff ulib-r750">
|
||||
<picker class="inline-block" mode="date" value="{{s_date}}" end="{{current_date}}" bindchange="changeDate" data-type="s_date">
|
||||
<view>
|
||||
<text>{{s_date}}</text>
|
||||
<i class="iconfont ml5 icon-xuanze"></i>
|
||||
</view>
|
||||
<view class="mt30 mr30 inner30 bg-f6 ulib-r10">
|
||||
<view class="font-32 text-bold">通话数据</view>
|
||||
<view class="mt10 fn-flex text-center">
|
||||
<view class="fn-flex-item">
|
||||
<view class="font-22 color-666">通话总时长/min</view>
|
||||
<view class="text-bold font-28 color-f9394d">{{xzstat.call_time}}</view>
|
||||
</view>
|
||||
<view class="fn-flex-item">
|
||||
<view class="font-22 color-666">平均通话/min</view>
|
||||
<view class="text-bold font-28 color-f9394d">{{xzstat.avg_time}}</view>
|
||||
</view>
|
||||
<view class="fn-flex-item">
|
||||
<view class="font-22 color-666">未接通/次</view>
|
||||
<view class="text-bold font-28 color-999">{{xzstat.unget_num}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</picker>
|
||||
<text class="pl10 pr10">至</text>
|
||||
<picker class="inline-block" mode="date" value="{{e_date}}" end="{{current_date}}" bindchange="changeDate" data-type="e_date">
|
||||
<view>
|
||||
<text>{{e_date}}</text>
|
||||
<i class="iconfont ml5 icon-xuanze"></i>
|
||||
</view>
|
||||
</view>
|
||||
<view class="pl30 pb30" wx:if="{{tabId==2}}">
|
||||
<view class="fn-flex fn-flex-wrap text-left">
|
||||
<block wx:for='{{order}}' wx:key='index'>
|
||||
<view class="wp33 mt30 pr25">
|
||||
<view class="relative pt15 pb15 pl75 bg-f6 ulib-r10 overflowhidden line-height-13">
|
||||
<view class="absolute top-0 left-0 bottom-0 pl60 bg-999">
|
||||
<i class="absolute box-center-middle iconfont font-30 color-fff {{item.icon}}"></i>
|
||||
</view>
|
||||
<view class="font-28 text-bold">{{item.value}}</view>
|
||||
<view class="font-22 color-666">{{item.title}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
</picker>
|
||||
</view>
|
||||
<!-- 数据分析·客户 -->
|
||||
<view class="{{tabId==1?'':'height-0'}}">
|
||||
<view class="mt40 inner30 pt40 bg-fff box-shadow-000-10-10 ulib-r10" >
|
||||
<view class="relative">
|
||||
<view class="font-36">数据分析·客户</view>
|
||||
</view>
|
||||
<view class="relative height-400 z-index-0">
|
||||
<view class="absolute wp100 height-400" wx:if="{{showBarChart}}">
|
||||
<ec-canvas class="absolute top-0 bottom-0 left-0 right-0" ec="{{ ecBar }}"></ec-canvas>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 数据分析·订单 -->
|
||||
<view class="{{tabId==2?'':'height-0'}}">
|
||||
<view class="mt40 inner30 pt40 bg-fff box-shadow-000-10-10 ulib-r10">
|
||||
<view class="relative">
|
||||
<view class="font-36">数据分析·订单</view>
|
||||
</view>
|
||||
<view class="relative height-400 z-index-0">
|
||||
<view class="absolute wp100 height-400" wx:if="{{showLineChart}}">
|
||||
<ec-canvas class="absolute top-0 bottom-0 left-0 right-0" ec="{{ ecLine }}"></ec-canvas>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
|
||||
</view>
|
||||
<view class="mt10 mb40 pl30 pr30 fn-flex text-center color-fff">
|
||||
<block wx:for='{{tabs}}' wx:key='index'>
|
||||
<view class="fn-flex-item" bindtap="pushLink" data-url="{{item.url}}&city_id={{city_id}}&s_date={{s_date}}&e_date={{e_date}}¤t_date={{current_date}}">
|
||||
<view class="inline-block text-left">
|
||||
<view class="text-center">
|
||||
<text class="font-40">{{item.value_1}}</text>
|
||||
</view>
|
||||
<view class="pt10 font-22">
|
||||
<text>{{item.title}}</text>
|
||||
<i class="iconfont ml5 icon-gengduo"></i>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
|
||||
<view class="mb30 pl30 pr30">
|
||||
<view class="relative inner30 pb60 pt40 bg-fff box-shadow-000-10-10 ulib-r10">
|
||||
<view class="relative">
|
||||
<view class="font-36">{{funneltitle}}</view>
|
||||
<!-- <picker class="absolute right-0 box-middle" bindchange="changeCity" value="{{cityIndex}}" range="{{cityArray}}">
|
||||
<view class="pt10 pb10 pl20 pr20 bg-f6 ulib-r10 font-22">
|
||||
<text>厦门</text>
|
||||
<text>{{cityArray[cityIndex]}}</text>
|
||||
<i class="iconfont ml10 icon-xiala color-999"></i>
|
||||
</view>
|
||||
</picker> -->
|
||||
</view>
|
||||
<view class="mt50 mb20 relative height-400 z-index-0">
|
||||
<view class="absolute wp100 height-400" wx:if="{{showFunnelChart}}">
|
||||
<ec-canvas class="absolute top-0 bottom-0 left-0 right-0" ec="{{ ecFunnel }}"></ec-canvas>
|
||||
</view>
|
||||
</view>
|
||||
<view class="absolute left-0 bottom-0 mb40 wp100 text-center font-22 color-999">注:时间跨度越大越具参考性</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="mb30 pl30 pr30">
|
||||
<view class="inner30 pt40 bg-fff box-shadow-000-10-10 ulib-r10">
|
||||
<view class="relative">
|
||||
<view class="font-36">{{linetitle}}</view>
|
||||
<picker class="absolute right-0 box-middle" bindchange="changeDays" value="{{daysIndex}}" range="{{daysArray}}">
|
||||
<view class="pt10 pb10 pl20 pr20 bg-f6 ulib-r10 font-22">
|
||||
<text>{{daysArray[daysIndex]}}</text>
|
||||
<i class="iconfont ml10 icon-xiala color-999"></i>
|
||||
</view>
|
||||
</picker>
|
||||
</view>
|
||||
<view class="mt50 mb20 relative height-500 z-index-0">
|
||||
<view class="absolute wp100 height-500" wx:if="{{showLineChart}}">
|
||||
<ec-canvas class="absolute top-0 bottom-0 left-0 right-0" ec="{{ ecLine }}"></ec-canvas>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
<!-- <lcb-footer></lcb-footer> -->
|
||||
<lcb-channelTabBarNav currentIndex='1'></lcb-channelTabBarNav>
|
||||
|
||||
<lcb-msg isShow="{{isShowTip}}">
|
||||
<view slot="content">
|
||||
<view class="inner40 pt50 pb50 line-height-18 font-26 color-666" style="width:520rpx;">
|
||||
<view class="text-center">
|
||||
<text wx:if="{{tipIndex==0}}">发生在时间周期内的\n [客户建档] / [进店客户]</text>
|
||||
<text wx:elif="{{tipIndex==1}}">发生在时间周期内的\n [企微添加好友] / [企微好友完善手机号码]</text>
|
||||
<text wx:elif="{{tipIndex==2}}">发生在时间周期内的\n [下定订单] / [退款订单]</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="bts-1-eb text-center font-32 color-666">
|
||||
<view class="pt25 pb25 color-36afa2" bindtap="optShowTip">知道了</view>
|
||||
</view>
|
||||
</view>
|
||||
</lcb-msg>
|
||||
@@ -1,6 +1 @@
|
||||
.bg-ffedeb{background-color:#ffedeb;}
|
||||
.height-0{
|
||||
position:relative;
|
||||
height:0;
|
||||
overflow:hidden;
|
||||
}
|
||||
/* pages/storeData/index.wxss */
|
||||
@@ -44,8 +44,8 @@
|
||||
<view class="relative">
|
||||
<button class="btn-concat">去添加</button>
|
||||
<view class="absolute left-0 top-0 right-0 bottom-0 opacity-0 text-center overflowhidden">
|
||||
<QYWXcontact buttonText="{{4}}" class="pt40 pb40" bind:completemessage="completemessage" styleType='3' plugid='877ffe64ccc36a5f308252eadc3066df' />
|
||||
<QYWXcontact buttonText="{{4}}" class="pt40 pb40" bind:completemessage="completemessage" styleType='3' plugid='877ffe64ccc36a5f308252eadc3066df' />
|
||||
<QYWXcontact buttonText="{{4}}" class="pt40 pb40" bind:completemessage="completemessage" styleType='1' plugid='9280d952ecab1136d907a34b6799df97' />
|
||||
<QYWXcontact buttonText="{{4}}" class="pt40 pb40" bind:completemessage="completemessage" styleType='1' plugid='9280d952ecab1136d907a34b6799df97' />
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@@ -118,7 +118,9 @@ Page({
|
||||
})
|
||||
|
||||
//上传图片-保存店铺海报 - 作废
|
||||
// wx.showLoading();
|
||||
// wx.showLoading({
|
||||
// title: '上传中',
|
||||
// })
|
||||
// wx.uploadFile({
|
||||
// url:_.config.api.upImg,
|
||||
// filePath:res.tempFilePaths[0],
|
||||
|
||||
+50
-31
@@ -29,6 +29,7 @@ function pieChart(canvas, width, height, dpr) {
|
||||
|
||||
Page({
|
||||
data: {
|
||||
isShowMain:false,//显示页面内容
|
||||
imgUrl:_.config.imgUrl,
|
||||
userCal:'',
|
||||
deallist:'',
|
||||
@@ -47,27 +48,22 @@ Page({
|
||||
banneractive3: 0,
|
||||
remindTab:[],//调拨盘点入口
|
||||
remindMsg:[],//调拨盘点弹框
|
||||
levelStIndex:0,
|
||||
levelSt:[],//客户等级
|
||||
isResetbiz:false,//是否重置过BIZID
|
||||
isShowVersionInfo:false,//是否显示版本更新
|
||||
versionInfo:{
|
||||
number:'V3.0.20',
|
||||
number:'V3.0.51',
|
||||
list:[
|
||||
// '新增 库存盘点',
|
||||
// '优化 客户建卡',
|
||||
//'修复订单详情中销售顾问显示错误的问题',
|
||||
// '新增订单需在当天完成下定,隔天作废;',
|
||||
// '登记订单时,新增【上牌城市】选项;',
|
||||
// '按揭信息新增【分期期数】字段;',
|
||||
// '门店录入的线索手机号码开放展示;',
|
||||
// '调整了客户列表及客户详情的信息展示;',
|
||||
// '',
|
||||
// '',
|
||||
// '',
|
||||
// '',
|
||||
// '',
|
||||
// '调整【订单生成】流程:在客户详情页生成订单',
|
||||
// '调整【订单客户】状态逻辑,只有完成下定的客户才变为订单客户',
|
||||
// '优化【客户跟进】的操作界面',
|
||||
// '企微【客户画像】完善手机号码后,客户信息将自动同步至狸车宝',
|
||||
// '',
|
||||
|
||||
// '修改【订单详情】页面样式及交互;',
|
||||
// '修改【保单上传】的相应内容,上传后需补充相应保单信息。',
|
||||
],
|
||||
},
|
||||
},
|
||||
@@ -80,12 +76,17 @@ Page({
|
||||
}
|
||||
|
||||
if(this.data.biz_id){
|
||||
this.putAppUserResetbiz()
|
||||
let that = this
|
||||
setTimeout(function () {
|
||||
that.putAppUserResetbiz()
|
||||
}, 500)
|
||||
}else{
|
||||
this.setData({
|
||||
isResetbiz:true,
|
||||
});
|
||||
this.getUserInfo()
|
||||
}
|
||||
|
||||
this.getAppStatisticsHcust()
|
||||
|
||||
//this.getAppStatisticsHorder()
|
||||
|
||||
//消息通讯 是否显示授权用户信息按钮
|
||||
@@ -105,17 +106,23 @@ Page({
|
||||
},
|
||||
|
||||
onShow: function () {
|
||||
this.setData({
|
||||
remindTab:[],
|
||||
remindMsg:[],
|
||||
isShowReport:false,//是否显示调拨盘点弹框
|
||||
isShowGoods:false,
|
||||
});
|
||||
this.getAppUserCal()
|
||||
|
||||
this.getHoursTip()
|
||||
this.getAppTransferRemind()
|
||||
this.getAppInventoryRemind()
|
||||
this.getAppGoodsRemind()
|
||||
|
||||
//确保bizID重置完成再执行
|
||||
if(this.data.isResetbiz){
|
||||
this.setData({
|
||||
remindTab:[],
|
||||
remindMsg:[],
|
||||
isShowReport:false,//是否显示调拨盘点弹框
|
||||
isShowGoods:false,
|
||||
});
|
||||
this.getAppUserCal()
|
||||
this.getAppTransferRemind()
|
||||
this.getAppInventoryRemind()
|
||||
this.getAppGoodsRemind()
|
||||
this.getAppStatisticsHcust()
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
@@ -147,8 +154,15 @@ Page({
|
||||
let params = {};
|
||||
params['biz_id'] = this.data.biz_id;
|
||||
_.apiQuery.putAppUserResetbiz(params).then(res => {
|
||||
this.setData({
|
||||
isResetbiz:true,
|
||||
});
|
||||
this.getUserInfo()
|
||||
this.getAppUserCal()
|
||||
this.getAppTransferRemind()
|
||||
this.getAppInventoryRemind()
|
||||
this.getAppGoodsRemind()
|
||||
this.getAppStatisticsHcust()
|
||||
});
|
||||
},
|
||||
|
||||
@@ -317,16 +331,14 @@ Page({
|
||||
}
|
||||
_.apiQuery.getAppUserCal(params).then(res => {
|
||||
this.setData({
|
||||
isShowMain:true,
|
||||
userCal:res.data,
|
||||
levelSt:res.data.levelSt,
|
||||
})
|
||||
|
||||
if(res.data.deallist.length>0){
|
||||
let deallist = res.data.deallist
|
||||
if(res.data.deallist.length%3==1){
|
||||
deallist.push({})
|
||||
deallist.push({})
|
||||
}
|
||||
if(res.data.deallist.length%3==2){
|
||||
if(res.data.deallist.length%2==1){
|
||||
deallist.push({})
|
||||
}
|
||||
this.setData({
|
||||
@@ -500,6 +512,13 @@ Page({
|
||||
app.setStorage('appversion',this.data.versionInfo.number)
|
||||
},
|
||||
|
||||
//切换tab
|
||||
changeTab(e){
|
||||
this.setData({
|
||||
levelStIndex:e.currentTarget.dataset.index,
|
||||
})
|
||||
},
|
||||
|
||||
//页面相关事件处理函数--监听用户下拉动作
|
||||
onPullDownRefresh: function () {
|
||||
this.setData({
|
||||
|
||||
+94
-52
@@ -1,9 +1,9 @@
|
||||
<view class="container">
|
||||
<view class="container" wx:if="{{isShowMain}}">
|
||||
<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">
|
||||
<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">
|
||||
<view class="absolute top-0 bottom-0 left-0 right-0 opacity-0 mt20 mr150 z-index-4" wx:if="{{isResetbiz}}">
|
||||
<lcb-auth type="userinfo" isShowProfile="{{isShowProfile}}" bind:onSuccess="getUserInfo"></lcb-auth>
|
||||
</view>
|
||||
<view>
|
||||
@@ -15,25 +15,43 @@
|
||||
</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">
|
||||
<view class="relative fn-flex-item" bindtap="pushLink" data-url="/pages/inventory/list/index">
|
||||
<view class="absolute peg-tip box-center ml30 bg-f9394d bds-2-fff img-24x24 text-center font-18 color-fff ulib-r750 z-index-1" wx:if="{{pandianNum}}"><text class="absolute box-center-middle">{{pandianNum}}</text></view>
|
||||
<image class='img-60x60' mode="aspectFill" src='{{imgUrl}}index/icon2-tab-1.png' lazy-load="{{true}}"></image>
|
||||
<view>车辆盘点</view>
|
||||
</view>
|
||||
<view class="relative fn-flex-item" bindtap="pushLink" data-url="/pages/allot/list/index">
|
||||
<view class="absolute peg-tip box-center ml30 bg-f9394d bds-2-fff img-24x24 text-center font-18 color-fff ulib-r750 z-index-1" wx:if="{{diaoboNum}}"><text class="absolute box-center-middle">{{diaoboNum}}</text></view>
|
||||
<image class='img-60x60' mode="aspectFill" src='{{imgUrl}}index/icon2-tab-2.png' lazy-load="{{true}}"></image>
|
||||
<view>车辆调拨</view>
|
||||
</view>
|
||||
<view class="relative fn-flex-item" bindtap="pushLink" data-url="/pages/inventory/warning/index">
|
||||
<view class="absolute peg-tip box-center ml30 bg-f9394d bds-2-fff img-24x24 text-center font-18 color-fff ulib-r750 z-index-1" wx:if="{{inventory.value}}"><text class="absolute box-center-middle">{{inventory.value}}</text></view>
|
||||
<image class='img-60x60' mode="aspectFill" src='{{imgUrl}}index/icon2-tab-3.png' lazy-load="{{true}}"></image>
|
||||
<view style="color:{{inventory.color}};">{{inventory.title}}</view>
|
||||
<view class="mb30 pt40 pb40 bg-fff box-shadow-000-10-10 ulib-r10 text-center">
|
||||
<view class="pl20 pr20 fn-flex font-22 color-666">
|
||||
<view class="relative fn-flex-item" bindtap="pushLink" data-url="/pages/inventory/list/index">
|
||||
<view class="absolute peg-tip box-center ml30 bg-f9394d bds-2-fff img-24x24 text-center font-18 color-fff ulib-r750 z-index-1" wx:if="{{pandianNum}}"><text class="absolute box-center-middle">{{pandianNum}}</text></view>
|
||||
<image class='img-60x60' mode="aspectFill" src='{{imgUrl}}index/icon2-tab-1.png' lazy-load="{{true}}"></image>
|
||||
<view>车辆盘点</view>
|
||||
</view>
|
||||
<view class="relative fn-flex-item" bindtap="pushLink" data-url="/pages/storeData/index" wx:if="{{userInfo.group_id>1}}">
|
||||
<image class='img-60x60' mode="aspectFill" src='{{imgUrl}}index/icon-tab-2.png' lazy-load="{{true}}"></image>
|
||||
<view>数据分析</view>
|
||||
</view>
|
||||
<view class="relative fn-flex-item" bindtap="pushLink" data-url="/pages/allot/list/index">
|
||||
<view class="absolute peg-tip box-center ml30 bg-f9394d bds-2-fff img-24x24 text-center font-18 color-fff ulib-r750 z-index-1" wx:if="{{diaoboNum}}"><text class="absolute box-center-middle">{{diaoboNum}}</text></view>
|
||||
<image class='img-60x60' mode="aspectFill" src='{{imgUrl}}index/icon2-tab-2.png' lazy-load="{{true}}"></image>
|
||||
<view>车辆调拨</view>
|
||||
</view>
|
||||
<view class="relative fn-flex-item" bindtap="pushLink" data-url="/pages/inventory/warning/index">
|
||||
<view class="absolute peg-tip box-center ml30 bg-f9394d bds-2-fff img-24x24 text-center font-18 color-fff ulib-r750 z-index-1" wx:if="{{inventory.value}}"><text class="absolute box-center-middle">{{inventory.value}}</text></view>
|
||||
<image class='img-60x60' mode="aspectFill" src='{{imgUrl}}index/icon2-tab-3.png' lazy-load="{{true}}"></image>
|
||||
<view style="color:{{inventory.color}};">{{inventory.title}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!--客户代办事项 订单代办事项 -->
|
||||
<view class="bg-fff box-shadow-000-10-10 ulib-r10">
|
||||
<!-- 数据看板 -->
|
||||
<view class="bg-fff mb30 inner30 box-shadow-000-10-10 ulib-r10">
|
||||
<view class="font-36">数据看板</view>
|
||||
<view class="fn-flex fn-flex-wrap pt20 pb10 text-center">
|
||||
<block wx:for="{{userCal.statistics}}" wx:key='index'>
|
||||
<view class="wp33 relative pt20 pb20 {{index>2?'bts-1-eb':''}} {{index%3==2?'':'brs-1-eb'}}" bindtap="pushLink" data-url="{{item.today.url}}">
|
||||
<view class="text-bold"><text class="font-36">{{item.today.value}}</text><text class="font-28 color-666">/{{item.month.value}}</text></view>
|
||||
<view class="font-22"><text>{{item.today.title}}</text><text class="color-666">/{{item.month.title}}</text></view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
<!--客户代办事项-->
|
||||
<view class="bg-fff mb30 box-shadow-000-10-10 ulib-r10">
|
||||
<!-- <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">
|
||||
@@ -56,7 +74,7 @@
|
||||
</view>
|
||||
</view>
|
||||
</view> -->
|
||||
<view class="inner30 pt40">
|
||||
<view class="inner30">
|
||||
|
||||
<!-- <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>
|
||||
@@ -66,42 +84,66 @@
|
||||
</view>
|
||||
</view> -->
|
||||
|
||||
<view class="font-36">客户代办事项</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=未联系潜客" >
|
||||
<view class="fn-flex-item relative mr15 pt25 pb25 pl110 bg-1c89fd-8058fe ulib-r10" bindtap="pushLink" data-url="{{userCal.wl_count.url}}" >
|
||||
<i class="absolute left-0 box-middle ml35 iconfont icon-qianke font-60"></i>
|
||||
<view>
|
||||
<view class="font-40">{{userCal.wl_count}}</view>
|
||||
<view class="font-22">未联系潜客(人)</view>
|
||||
<view class="text-left">
|
||||
<view class="font-40">{{userCal.wl_count.num}}</view>
|
||||
<view class="font-22">{{userCal.wl_count.title}}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="fn-flex-item relative ml15 pt25 pb25 pl110 bg-fe606c-ff9026 ulib-r10" bindtap="pushLink" data-url="/pages/customer/filterList/index?istop=1&title=特别关注客户">
|
||||
<view class="fn-flex-item relative ml15 pt25 pb25 pl110 bg-fe606c-ff9026 ulib-r10" bindtap="pushLink" data-url="{{userCal.gz_count.url}}">
|
||||
<i class="absolute left-0 box-middle ml35 iconfont icon-guanzhu font-60"></i>
|
||||
<view>
|
||||
<view class="font-40">{{userCal.gz_count}}</view>
|
||||
<view class="font-22">特别关注客户(人)</view>
|
||||
<view class="text-left">
|
||||
<view class="font-40">{{userCal.gz_count.num}}</view>
|
||||
<view class="font-22">{{userCal.gz_count.title}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="relative mt10 mb40 bg-2f3346-1a1c26 color-fff ulib-r10" wx:if="{{userCal.customer_op_list.length>0}}" >
|
||||
<block wx:for="{{userCal.customer_op_list}}" wx:key='index'>
|
||||
<view class="relative pt20 pb30 pl30 pr30 bbs-1-474a65 last-b-none" bindtap="pushLink" data-url="{{item.page}}">
|
||||
<view>
|
||||
<i class="iconfont {{item.icon}} text-middle font-30"></i>
|
||||
<text class="ml10 font-22 text-middle">{{item.title}}</text>
|
||||
</view>
|
||||
<view class="absolute right-0 box-middle mr25 mb10 font-40">
|
||||
<text class="text-middle">{{item.total}}</text>
|
||||
<i class="iconfont icon-gengduo ml5 text-middle font-26"></i>
|
||||
</view>
|
||||
<view class="relative mt10 m140 bg-2f3346-1a1c26 ulib-r10">
|
||||
<view class="inner30" wx:if="{{levelSt.length>0}}">
|
||||
<view class="relative bg-999 inner6 ulib-r750 text-center font-28 color-575b6a fn-flex">
|
||||
<block wx:for="{{levelSt}}" wx:key='index'>
|
||||
<view class="relative fn-flex-item pt5 pb5 z-index-1 ulib-r750" bindtap="changeTab" data-index="{{index}}">{{item.title}}</view>
|
||||
</block>
|
||||
<view class="glider glider-{{levelStIndex}}"></view>
|
||||
</view>
|
||||
</block>
|
||||
<view class="fn-flex pt20 text-center color-fff">
|
||||
<block wx:for="{{levelSt[levelStIndex].list}}" wx:key='index'>
|
||||
<view class="fn-flex-item" bindtap="pushLink" data-url="{{item.url}}">
|
||||
<view class="font-32 text-bold">{{item.num}}</view>
|
||||
<view class="font-22">{{item.title}}</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
<view class="color-fff ulib-r10" wx:if="{{userCal.customer_op_list.length>0}}">
|
||||
<block wx:for="{{userCal.customer_op_list}}" wx:key='index'>
|
||||
<view class="relative pt20 pb30 pl30 pr30 bts-1-474a65" bindtap="pushLink" data-url="{{item.page}}">
|
||||
<view>
|
||||
<i class="iconfont {{item.icon}} text-middle font-30"></i>
|
||||
<text class="ml10 font-22 text-middle">{{item.title}}</text>
|
||||
</view>
|
||||
<view class="absolute right-0 box-middle mr25 mb10 font-40">
|
||||
<text class="text-middle">{{item.total}}</text>
|
||||
<i class="iconfont icon-gengduo ml5 text-middle font-26"></i>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
<view class="mt20 font-36">订单代办事项</view>
|
||||
<view class="fn-flex fn-flex-wrap pt30 pb10">
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!--订单跟进 -->
|
||||
<view class="bg-fff mb30 box-shadow-000-10-10 ulib-r10">
|
||||
<view class="inner30">
|
||||
<view class="font-36">订单跟进</view>
|
||||
<view class="fn-flex fn-flex-wrap pt20 pb10">
|
||||
<block wx:for="{{deallist}}" wx:key='index'>
|
||||
<view class="wp33 relative pl80 pt20 pb20 {{index>2?'bts-1-eb':''}} {{index%3==2?'':'brs-1-eb'}}" bindtap="pushLink" data-url="{{item.page}}">
|
||||
<i class="absolute left-0 box-middle ml20 iconfont font-50 {{item.icon}}"></i>
|
||||
<view class="wp50 relative pl120 pt20 pb20 {{index>1?'bts-1-eb':''}} {{index%2==1?'':'brs-1-eb'}}" bindtap="pushLink" data-url="{{item.page}}">
|
||||
<i class="absolute left-0 box-middle ml60 iconfont font-50 {{item.icon}}"></i>
|
||||
<view>
|
||||
<view class="font-40">{{item.total}}</view>
|
||||
<view class="font-22 color-666">{{item.title}}</view>
|
||||
@@ -113,7 +155,7 @@
|
||||
</view>
|
||||
|
||||
<!-- 客户数据 -->
|
||||
<view class="mt40 inner30 pt40 bg-fff box-shadow-000-10-10 ulib-r10">
|
||||
<!-- <view class="inner30 pt40 bg-fff box-shadow-000-10-10 ulib-r10">
|
||||
<view class="relative">
|
||||
<view class="font-36">客户数据</view>
|
||||
<view class="absolute right-0 box-middle pt10 pb10 pl20 pr20 bg-ffedeb color-ff4a3a ulib-r10 font-22">累计线索总量 {{cust_total}} 条</view>
|
||||
@@ -139,7 +181,7 @@
|
||||
<ec-canvas class="absolute top-0 bottom-0 left-0 right-0" ec="{{ ecPie }}"></ec-canvas>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view> -->
|
||||
<!-- 订单数据 -->
|
||||
<!-- <view class="mt40 inner30 pt40 bg-fff box-shadow-000-10-10 ulib-r10">
|
||||
<view class="relative">
|
||||
@@ -161,7 +203,7 @@
|
||||
<lcb-shopTabBarNav currentIndex='0'></lcb-shopTabBarNav>
|
||||
|
||||
<!-- 客服提示 -->
|
||||
<lcb-msg isShow="{{!isShowVersionInfo&&isShowNotice}}">
|
||||
<lcb-msg isShow="{{!isShowVersionInfo&&isShowNotice}}" isCustomTabBar="{{true}}">
|
||||
<view slot="content">
|
||||
<view class="mt40 text-center relative overflowhidden" style="height:100px;">
|
||||
<!-- <image class='img-w-280' show-menu-by-longpress='true' lazy-load="{{true}}" mode="widthFix" src="https://qs.haodian.cn/wechat_app/lichebao/index/jrKF-code2.jpg"></image> -->
|
||||
@@ -182,7 +224,7 @@
|
||||
</lcb-msg>
|
||||
|
||||
<!-- 调拨提醒 盘点提醒 -->
|
||||
<lcb-msg isShow="{{!isShowVersionInfo&&isShowReport}}">
|
||||
<lcb-msg isShow="{{!isShowVersionInfo&&isShowReport}}" isCustomTabBar="{{true}}">
|
||||
<view slot="content">
|
||||
<swiper class='wp100' style="height:550rpx;" autoplay circular bindchange="bannerChange">
|
||||
<swiper-item class="relative" wx:for="{{remindMsg}}" wx:key="index">
|
||||
@@ -208,7 +250,7 @@
|
||||
</lcb-msg>
|
||||
|
||||
<!-- 库存提醒 -->
|
||||
<lcb-msg isShow="{{!isShowVersionInfo&&!isShowReport&&isShowGoods}}">
|
||||
<lcb-msg isShow="{{!isShowVersionInfo&&!isShowReport&&isShowGoods}}" isCustomTabBar="{{true}}">
|
||||
<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>
|
||||
@@ -241,11 +283,11 @@
|
||||
</lcb-msg>
|
||||
|
||||
<!-- 更新新版本提醒 -->
|
||||
<lcb-msg isShow="{{isShowVersionInfo}}" isBottomOpt="{{true}}" closeWord="我知道了" bind:closeevent="closeVersionInfo">
|
||||
<lcb-msg isShow="{{isShowVersionInfo}}" isBottomOpt="{{true}}" closeWord="我知道了" bind:closeevent="closeVersionInfo" isCustomTabBar="{{true}}">
|
||||
<view slot="content" class="inner40 text-center" style="width:550rpx;">
|
||||
<view class="font-36">狸车宝 {{versionInfo.number}} 更新说明</view>
|
||||
<view class="inline-block mt10 font-28 color-666">
|
||||
<view class="mt15 text-left" wx:for-items="{{versionInfo.list}}" wx:key='index'>{{index+1}}、{{item}};</view>
|
||||
<view class="mt15 text-left" wx:for-items="{{versionInfo.list}}" wx:key='index'>{{index+1}}、{{item}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</lcb-msg>
|
||||
@@ -9,4 +9,10 @@
|
||||
.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;}
|
||||
.peg-tip{top:-7rpx;}
|
||||
|
||||
.glider{position:absolute;width:24.5%;height:46rpx;background:#fff;z-index:0;transition:0.25s ease-out;border-radius:750rpx;}
|
||||
.glider-0{transform:translatex(0%);}
|
||||
.glider-1{transform:translatex(99%);}
|
||||
.glider-2{transform:translatex(199%);}
|
||||
.glider-3{transform:translatex(300%);}
|
||||
|
||||
@@ -166,6 +166,21 @@ Page({
|
||||
}
|
||||
},
|
||||
|
||||
//查看图片
|
||||
previewImage: function (e) {
|
||||
if(e.currentTarget.dataset.type=='car_img'){
|
||||
let car_img = []
|
||||
this.data.car_img.forEach(item => {
|
||||
car_img.push(item.src)
|
||||
})
|
||||
wx.previewImage({
|
||||
current:e.currentTarget.dataset.current,
|
||||
urls:car_img,
|
||||
})
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
//页面相关事件处理函数--监听用户下拉动作
|
||||
onPullDownRefresh(){
|
||||
this.getAppInventory()
|
||||
|
||||
@@ -22,11 +22,11 @@
|
||||
<view class="pl40 pr40 font-32">盘点信息</view>
|
||||
<view class="mt20 pl30">
|
||||
<block wx:for="{{car_img}}" wx:key='index'>
|
||||
<view class="inline-block ml10 mr10 text-center ulib-r10 overflowhidden" bindtap="chooseImg" data-index="{{index}}" wx:if="{{item.value}}">
|
||||
<view class="inline-block ml10 mr10 text-center ulib-r10 overflowhidden" 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>
|
||||
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-shuaxin inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-1" bindtap="chooseImg" data-index="{{index}}"></i>
|
||||
<view class="absolute left-0 right-0 box-middle color-ccc">
|
||||
<image class='img-190x175 ulib-r10' src='{{item.src}}' mode='aspectFill'></image>
|
||||
<image class='img-190x175 ulib-r10' src='{{item.src}}' mode='aspectFill' bindtap="previewImage" data-type="car_img" data-current="{{item.src}}"></image>
|
||||
</view>
|
||||
</view>
|
||||
<view class="mt10 font-24 color-666">{{item.title}}</view>
|
||||
|
||||
@@ -31,8 +31,8 @@
|
||||
<view class="absolute wp100 login-light img-fill-cover" style="background-image:url({{imgUrl}}/login/login-light.png?v=1);"></view>
|
||||
<view class="absolute wp100 bottom-170 text-center font-28 color-999">
|
||||
<view class="absolute left-0 top-0 right-0 bottom-0 opacity-0 overflowhidden">
|
||||
<QYWXcontact buttonText="{{4}}" class="pt40 pb40" styleType='3' plugid='877ffe64ccc36a5f308252eadc3066df' />
|
||||
<QYWXcontact buttonText="{{4}}" class="pt40 pb40" styleType='3' plugid='877ffe64ccc36a5f308252eadc3066df' />
|
||||
<QYWXcontact buttonText="{{4}}" class="pt40 pb40" styleType='1' plugid='9280d952ecab1136d907a34b6799df97' />
|
||||
<QYWXcontact buttonText="{{4}}" class="pt40 pb40" styleType='1' plugid='9280d952ecab1136d907a34b6799df97' />
|
||||
</view>
|
||||
<i class="iconfont icon-kefu mr5"></i>联系小狸
|
||||
</view>
|
||||
|
||||
+47
-16
@@ -7,6 +7,7 @@ Page({
|
||||
name:'',
|
||||
mobile:'',
|
||||
isShowProfile:true,//是否显示授权用户信息按钮
|
||||
isShowSwitchingRoles:false,
|
||||
},
|
||||
onLoad: function (options) {
|
||||
|
||||
@@ -47,11 +48,11 @@ Page({
|
||||
title:'账户设置',
|
||||
url:'/pages/mine/install/index',
|
||||
},
|
||||
{
|
||||
icon:'https://qs.haodian.cn/wechat_app/lichebao/mine/icon-siyutong2.png',
|
||||
title:'私域通',
|
||||
url:'/pages/siyutong/index',
|
||||
},
|
||||
// {
|
||||
// icon:'https://qs.haodian.cn/wechat_app/lichebao/mine/icon-siyutong2.png',
|
||||
// title:'私域通',
|
||||
// url:'/pages/siyutong/index',
|
||||
// },
|
||||
]
|
||||
}
|
||||
|
||||
@@ -95,17 +96,17 @@ Page({
|
||||
this.setData({
|
||||
userInfo: res
|
||||
})
|
||||
if(res.group_id==2||res.group_id==3){
|
||||
let list = this.data.list
|
||||
list.push({
|
||||
icon:'https://qs.haodian.cn/wechat_app/lichebao/mine/icon-jieshao2.png',
|
||||
title:'转介绍',
|
||||
url:'/pages/recommend/index',
|
||||
})
|
||||
this.setData({
|
||||
list,
|
||||
})
|
||||
}
|
||||
// if(res.group_id==2||res.group_id==3){
|
||||
// let list = this.data.list
|
||||
// list.push({
|
||||
// icon:'https://qs.haodian.cn/wechat_app/lichebao/mine/icon-jieshao2.png',
|
||||
// title:'转介绍',
|
||||
// url:'/pages/recommend/index',
|
||||
// })
|
||||
// this.setData({
|
||||
// list,
|
||||
// })
|
||||
// }
|
||||
});
|
||||
},
|
||||
|
||||
@@ -136,4 +137,34 @@ Page({
|
||||
}
|
||||
},
|
||||
|
||||
//切换角色
|
||||
putAppResetgroupid(e){
|
||||
let params = {};
|
||||
params['group_id'] = e.currentTarget.dataset.key;
|
||||
_.apiQuery.putAppResetgroupid(params).then(res=>{
|
||||
_.apiQuery.getUserInfo().then(res => {
|
||||
if(res.biz_type==4){
|
||||
wx.reLaunch({
|
||||
url: '/pages/allot/index',
|
||||
})
|
||||
}else if(res.group_id==4){
|
||||
wx.reLaunch({
|
||||
url: '/pages/channel/index',
|
||||
})
|
||||
}else{
|
||||
wx.reLaunch({
|
||||
url: '/pages/index/index',
|
||||
})
|
||||
}
|
||||
});
|
||||
})
|
||||
},
|
||||
|
||||
//显示切换角色
|
||||
switchingRoles(){
|
||||
this.setData({
|
||||
isShowSwitchingRoles:!this.data.isShowSwitchingRoles,
|
||||
})
|
||||
},
|
||||
|
||||
})
|
||||
+26
-3
@@ -13,8 +13,14 @@
|
||||
</view>
|
||||
<view class="mt10 font-22 color-666">{{userInfo.biz_name}}</view>
|
||||
</view>
|
||||
<view class="absolute right-0 box-middle bg-f6 pt10 pb10 pl20 pr20 font-22 color-666 ulib-rl750" bindtap="logout">
|
||||
<i class="iconfont icon-tuichu mr10"></i>退出
|
||||
|
||||
<view class="absolute right-0 box-middle pb40" >
|
||||
<view class="bg-f6 mb25 pt10 pb10 pl20 pr15 font-22 color-666 ulib-rl750" bindtap="switchingRoles" wx:if="{{userInfo.group_name_arr.length>0}}">
|
||||
<i class="iconfont icon-cheliangfenpei mr10"></i>切换角色
|
||||
</view>
|
||||
<view class="bg-f6 pt10 pb10 pl20 pr20 font-22 color-666 ulib-rl750" bindtap="logout">
|
||||
<i class="iconfont icon-tuichu mr10"></i>退出
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -43,4 +49,21 @@
|
||||
<!-- <lcb-footer></lcb-footer> -->
|
||||
<lcb-backChannel isShow='{{source=="shop"?true:false}}'></lcb-backChannel>
|
||||
<lcb-channelTabBarNav currentIndex='2' wx:if="{{source=='channel'}}"></lcb-channelTabBarNav>
|
||||
<lcb-shopTabBarNav currentIndex='3' wx:if="{{source=='shop'}}"></lcb-shopTabBarNav>
|
||||
<lcb-shopTabBarNav currentIndex='3' wx:if="{{source=='shop'}}"></lcb-shopTabBarNav>
|
||||
|
||||
<lcb-msg isShow="{{isShowSwitchingRoles}}" isHasClose="{{true}}">
|
||||
<view slot="content">
|
||||
<view class="pt50 font-28 text-center">
|
||||
当前角色:
|
||||
<!-- <block wx:for='{{userInfo.group_name_arr}}' wx:key='index' wx:if="{{item.group_id == userInfo.group_id}}">
|
||||
{{item.geoup_name}}
|
||||
</block> -->
|
||||
{{userInfo.group_name}}
|
||||
</view>
|
||||
<view class="pb40 mt30 text-center font-32 color-666">
|
||||
<button bindtap="putAppResetgroupid" data-key="{{item.group_id}}" class="inline-block wp80 btn-36afa2 pt5 pb5 font-28 color-fff ulib-r750" wx:for='{{userInfo.group_name_arr}}' wx:key='index' wx:if="{{item.group_id != userInfo.group_id}}">
|
||||
{{item.geoup_name}}
|
||||
</button>
|
||||
</view>
|
||||
</view>
|
||||
</lcb-msg>
|
||||
@@ -196,6 +196,99 @@ Page({
|
||||
}
|
||||
},
|
||||
|
||||
//获取离职
|
||||
getAppEmployeesLeave(e){
|
||||
let params = {};
|
||||
params['id'] = e.currentTarget.dataset.id;
|
||||
_.apiQuery.getAppEmployeesLeave(params).then(res => {
|
||||
let adviserArray = []
|
||||
res.data.adviser.list.forEach(item => {
|
||||
adviserArray.push(item.name)
|
||||
})
|
||||
this.setData({
|
||||
out_id:e.currentTarget.dataset.id,
|
||||
transfer:res.data.transfer,
|
||||
adviser:res.data.adviser,
|
||||
adviserArray,
|
||||
isShowTransfer:true,
|
||||
adviserIndex:-1,
|
||||
})
|
||||
|
||||
});
|
||||
},
|
||||
|
||||
//显示隐藏移交
|
||||
optTransfer(){
|
||||
this.setData({
|
||||
isShowTransfer:!this.data.isShowTransfer,
|
||||
})
|
||||
},
|
||||
|
||||
//选择移交内容
|
||||
changeTransfer(e){
|
||||
let transfer = this.data.transfer
|
||||
transfer.list[e.currentTarget.dataset.index].checked = !transfer.list[e.currentTarget.dataset.index].checked
|
||||
this.setData({
|
||||
transfer,
|
||||
})
|
||||
},
|
||||
|
||||
//选择顾问
|
||||
changeAdviser(e) {
|
||||
this.setData({
|
||||
adviserIndex: e.detail.value,
|
||||
})
|
||||
},
|
||||
|
||||
//确定移交
|
||||
putAppEmployeesLeave(){
|
||||
let ischecked = false
|
||||
this.data.transfer.list.forEach(item => {
|
||||
if(item.checked){
|
||||
ischecked = true
|
||||
}
|
||||
})
|
||||
console.log(ischecked)
|
||||
if (ischecked == false ) {
|
||||
wx.showToast({
|
||||
title: '请选择移交内容',
|
||||
icon: 'none'
|
||||
})
|
||||
} else if(this.data.adviserIndex == -1){
|
||||
wx.showToast({
|
||||
title: '请选择销售顾问',
|
||||
icon: 'none'
|
||||
})
|
||||
}else{
|
||||
let that = this
|
||||
wx.showModal({
|
||||
title: '',
|
||||
content:'确定移交该店员工作吗?',
|
||||
confirmColor: '#36afa2',
|
||||
success (res) {
|
||||
if (res.confirm) {
|
||||
let params = {};
|
||||
params['out_id'] = that.data.out_id;
|
||||
params['in_id'] = that.data.adviser.list[that.data.adviserIndex].id;
|
||||
params['transfer'] = that.data.transfer;
|
||||
_.apiQuery.putAppEmployeesLeave(params).then(res => {
|
||||
that.setData({
|
||||
isShowTransfer:false,
|
||||
})
|
||||
wx.showToast({
|
||||
title: '移交成功',
|
||||
icon: 'success'
|
||||
})
|
||||
that.onPullDownRefresh()
|
||||
})
|
||||
} else if (res.cancel) {
|
||||
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
//页面相关事件处理函数--监听用户下拉动作
|
||||
onPullDownRefresh(){
|
||||
this.setData({
|
||||
|
||||
@@ -35,11 +35,12 @@
|
||||
<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?v=220223"></image>
|
||||
<text class="pl10 text-middle font-28">{{item.uname}}</text>
|
||||
<text class="pl10 text-middle font-28">{{item.mobile}}</text>
|
||||
<text class="pl10 text-middle font-26">{{item.uname}}</text>
|
||||
<text class="pl10 text-middle font-26">{{item.mobile}}</text>
|
||||
</view>
|
||||
<view class="absolute right-0 box-middle">
|
||||
<view class="inline-block bg-333 mr20 pt5 pb5 pl10 pr10 font-22 color-fff ulib-r750" bindtap="putAppEmployees" data-index="{{index}}"><i class="iconfont icon-zanting mr5"></i>{{item.status == 1?'暂停':'开启'}}</view>
|
||||
<view class="absolute right-0 box-middle font-26">
|
||||
<view class="inline-block bg-333 mr10 pt5 pb5 pl10 pr10 font-22 color-fff ulib-r750" bindtap="getAppEmployeesLeave" data-id="{{item.id}}"><i class="iconfont icon-yuangonglizhi mr5"></i>离职</view>
|
||||
<view class="inline-block bg-333 mr10 pt5 pb5 pl10 pr10 font-22 color-fff ulib-r750" bindtap="putAppEmployees" data-index="{{index}}"><i class="iconfont icon-zanting mr5"></i>{{item.status == 1?'暂停':'开启'}}</view>
|
||||
<view class="inline-block bg-333 pt5 pb5 pl10 pr10 font-22 color-fff ulib-r750" bindtap="deleteAppEmployees" data-index="{{index}}"><i class="iconfont icon-shanchu mr5"></i>删除</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -69,4 +70,31 @@
|
||||
<button disabled="{{submitFlag}}" bindtap="postAppEmployees" 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="inner30">
|
||||
<view class="mt10 font-28 text-center fn-flex" wx:if="{{transfer.list.length > 0}}">
|
||||
<block wx:for="{{transfer.list}}" wx:key="index">
|
||||
<view class="fn-flex-item relative ml10 mr10 pt20 pb20 ulib-r10 {{item.checked?'bg-36afa2 color-fff':'bg-f6'}}" bindtap="changeTransfer" data-index="{{index}}">{{item.name}}</view>
|
||||
</block>
|
||||
</view>
|
||||
<view class="mt20 ml10 mr10 bds-2-eb inner20 font-28 color-666 fn-clear ulib-r10">
|
||||
<view class="fn-fl">{{adviser.title}}</view>
|
||||
<picker class="fn-fr wp70 text-right" bindchange="changeAdviser" value="{{adviserIndex}}" range="{{adviserArray}}">
|
||||
<view class="text-nowrap">
|
||||
<text class="color-ccc" wx:if="{{adviserIndex == -1}}">请选择</text>
|
||||
<text wx:else>{{adviserArray[adviserIndex]}}</text>
|
||||
<i class="iconfont ml5 icon-gengduo color-ccc"></i>
|
||||
</view>
|
||||
</picker>
|
||||
</view>
|
||||
</view>
|
||||
<view class="fn-flex ml10 mr10 pl60 pr60 pb50 text-center font-32 color-666">
|
||||
<button bindtap="optTransfer" class="fn-flex-item mr20 bds-2-36afa2 btn-no-bg wp100 font-28 color-36afa2 ulib-r750">取消</button>
|
||||
<button disabled="{{submitFlag}}" bindtap="putAppEmployeesLeave" class="fn-flex-item ml20 btn-36afa2 wp100 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover">确定移交</button>
|
||||
</view>
|
||||
</view>
|
||||
</lcb-msg>
|
||||
+38
-18
@@ -50,6 +50,9 @@ Page({
|
||||
register_img:{},
|
||||
car_img:{},
|
||||
|
||||
isShowCall:false,//是否显示拨打电话确认弹框
|
||||
phoneNumber:'',//拨打的电话号码
|
||||
|
||||
},
|
||||
onLoad: function (options) {
|
||||
for (let key in options) {
|
||||
@@ -340,7 +343,9 @@ Page({
|
||||
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||||
success(res) {
|
||||
|
||||
wx.showLoading();
|
||||
wx.showLoading({
|
||||
title: '上传中',
|
||||
})
|
||||
wx.uploadFile({
|
||||
url:_.config.api.upImg,
|
||||
filePath:res.tempFilePaths[0],
|
||||
@@ -414,6 +419,7 @@ Page({
|
||||
title: '图片上传中',
|
||||
})
|
||||
let ins_img=that.data.ins_img
|
||||
let k = 0
|
||||
for (let i = 0; i < res1.tempFilePaths.length; i++) {
|
||||
//上传图片
|
||||
wx.uploadFile({
|
||||
@@ -424,6 +430,7 @@ Page({
|
||||
'app': 'liche'
|
||||
},
|
||||
success: (resp) => {
|
||||
k = k + 1
|
||||
resp.data = JSON.parse(resp.data);
|
||||
wx.hideLoading();
|
||||
if (resp.data.code == 200) {
|
||||
@@ -434,22 +441,20 @@ Page({
|
||||
src:imgdata.data.full_url,
|
||||
})
|
||||
ins_img=ins_img.concat(list)
|
||||
if(i+1==res1.tempFilePaths.length){
|
||||
setTimeout(function () {
|
||||
let params = {};
|
||||
params['id'] = that.data.id;
|
||||
params['type'] = 0;
|
||||
let img = []
|
||||
ins_img.forEach(item => {
|
||||
img.push(item.value)
|
||||
if(k == res1.tempFilePaths.length){
|
||||
let params = {};
|
||||
params['id'] = that.data.id;
|
||||
params['type'] = 0;
|
||||
let img = []
|
||||
ins_img.forEach(item => {
|
||||
img.push(item.value)
|
||||
})
|
||||
params['img'] = img;
|
||||
_.apiQuery.putAppCusorderCdata(params).then(res => {
|
||||
that.setData({
|
||||
ins_img,
|
||||
})
|
||||
params['img'] = img;
|
||||
_.apiQuery.putAppCusorderCdata(params).then(res => {
|
||||
that.setData({
|
||||
ins_img,
|
||||
})
|
||||
})
|
||||
}, 500);
|
||||
})
|
||||
}
|
||||
}else{
|
||||
wx.showToast({
|
||||
@@ -833,8 +838,9 @@ Page({
|
||||
params['id'] = e.currentTarget.dataset.id;
|
||||
params['type'] = 1;
|
||||
_.apiQuery.getAppXz(params).then(res=>{
|
||||
wx.makePhoneCall({
|
||||
phoneNumber: res.data.mobile,
|
||||
this.setData({
|
||||
isShowCall:true,
|
||||
phoneNumber:res.data.mobile,
|
||||
})
|
||||
})
|
||||
},
|
||||
@@ -873,6 +879,20 @@ Page({
|
||||
})
|
||||
},
|
||||
|
||||
//隐藏电话弹框
|
||||
hideCall(){
|
||||
this.setData({
|
||||
isShowCall:false,
|
||||
})
|
||||
},
|
||||
|
||||
//拨打电话
|
||||
makePhoneCall(){
|
||||
wx.makePhoneCall({
|
||||
phoneNumber: this.data.phoneNumber,
|
||||
})
|
||||
},
|
||||
|
||||
//随车工具
|
||||
changeTool(e) {
|
||||
let carToolList = this.data.carToolList
|
||||
|
||||
@@ -386,4 +386,22 @@
|
||||
<button disabled="{{submitFlag}}" bindtap="postAppSmsCusorder" class="fn-flex-item ml20 btn-36afa2 wp100 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover">确定</button>
|
||||
</view>
|
||||
</view>
|
||||
</lcb-msg>
|
||||
|
||||
<!-- 拨打电话 -->
|
||||
<lcb-msg isShow="{{isShowCall}}">
|
||||
<view slot="content">
|
||||
<view class="pt50 pb40">
|
||||
<view class="font-36 text-center">号码绑定成功</view>
|
||||
<view class="mt10 font-28 text-center color-666">现在呼叫 {{phoneNumber}} ?</view>
|
||||
</view>
|
||||
<view class="fn-flex pl60 pr60 pb50 text-center font-32 color-666">
|
||||
<button bindtap="hideCall" class="fn-flex-item mr20 bds-2-36afa2 btn-no-bg wp100 font-28 color-36afa2 ulib-r750">
|
||||
取消
|
||||
</button>
|
||||
<button bindtap="makePhoneCall" class="fn-flex-item ml20 btn-36afa2 wp100 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover">
|
||||
确定
|
||||
</button>
|
||||
</view>
|
||||
</view>
|
||||
</lcb-msg>
|
||||
+157
-60
@@ -16,8 +16,10 @@ Page({
|
||||
business_licence:{},//营业执照照片
|
||||
car_img:{},//行驶证照片
|
||||
register_img:{},//登记证照片
|
||||
ins_img:[],//保险照片
|
||||
//ins_img:[],//保险照片
|
||||
other_img:[],//交车合照
|
||||
isShowCK:false,
|
||||
isShowBill:false,
|
||||
},
|
||||
onLoad: function (options) {
|
||||
for (let key in options) {
|
||||
@@ -28,11 +30,11 @@ Page({
|
||||
|
||||
this.getAppCusorderV2()
|
||||
this.getUserInfo()
|
||||
this.getAppCusorderdata()
|
||||
|
||||
|
||||
},
|
||||
onShow: function () {
|
||||
|
||||
this.getAppCusorderdata()
|
||||
},
|
||||
|
||||
//获取用户信息
|
||||
@@ -97,9 +99,15 @@ Page({
|
||||
business_licence:res.data.imgs.business_licence.length==0?{}:res.data.imgs.business_licence,
|
||||
car_img:res.data.imgs.car_img.length==0?{}:res.data.imgs.car_img,
|
||||
register_img:res.data.imgs.register_img.length==0?{}:res.data.imgs.register_img,
|
||||
ins_img:res.data.imgs.ins_img.length==0?[]:res.data.imgs.ins_img,
|
||||
//ins_img:res.data.imgs.ins_img.length==0?[]:res.data.imgs.ins_img,
|
||||
other_img:res.data.imgs.other_img.length==0?[]:res.data.imgs.other_img,
|
||||
})
|
||||
|
||||
if('delivery_ck_img' in res.data.imgs){
|
||||
this.setData({
|
||||
delivery_ck_img:res.data.imgs.delivery_ck_img.length==0?{}:res.data.imgs.delivery_ck_img,
|
||||
})
|
||||
}
|
||||
}
|
||||
wx.stopPullDownRefresh()
|
||||
})
|
||||
@@ -214,7 +222,9 @@ Page({
|
||||
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||||
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||||
success(res) {
|
||||
wx.showLoading();
|
||||
wx.showLoading({
|
||||
title: '上传中',
|
||||
})
|
||||
wx.uploadFile({
|
||||
url:_.config.api.upImg,
|
||||
filePath:res.tempFilePaths[0],
|
||||
@@ -265,7 +275,9 @@ Page({
|
||||
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||||
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||||
success(res) {
|
||||
wx.showLoading();
|
||||
wx.showLoading({
|
||||
title: '上传中',
|
||||
})
|
||||
wx.uploadFile({
|
||||
url:_.config.api.upImg,
|
||||
filePath:res.tempFilePaths[0],
|
||||
@@ -316,7 +328,9 @@ Page({
|
||||
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||||
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||||
success(res) {
|
||||
wx.showLoading();
|
||||
wx.showLoading({
|
||||
title: '上传中',
|
||||
})
|
||||
wx.uploadFile({
|
||||
url:_.config.api.upImg,
|
||||
filePath:res.tempFilePaths[0],
|
||||
@@ -367,7 +381,9 @@ Page({
|
||||
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||||
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||||
success(res) {
|
||||
wx.showLoading();
|
||||
wx.showLoading({
|
||||
title: '上传中',
|
||||
})
|
||||
wx.uploadFile({
|
||||
url:_.config.api.upImg,
|
||||
filePath:res.tempFilePaths[0],
|
||||
@@ -409,7 +425,9 @@ Page({
|
||||
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||||
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||||
success(res) {
|
||||
wx.showLoading();
|
||||
wx.showLoading({
|
||||
title: '上传中',
|
||||
})
|
||||
wx.uploadFile({
|
||||
url:_.config.api.upImg,
|
||||
filePath:res.tempFilePaths[0],
|
||||
@@ -451,8 +469,11 @@ Page({
|
||||
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||||
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||||
success(res1) {
|
||||
wx.showLoading();
|
||||
wx.showLoading({
|
||||
title: '上传中',
|
||||
})
|
||||
let ins_img=that.data.ins_img
|
||||
let k = 0
|
||||
for (let i = 0; i < res1.tempFilePaths.length; i++) {
|
||||
//上传图片
|
||||
wx.uploadFile({
|
||||
@@ -463,6 +484,7 @@ Page({
|
||||
'app': 'liche'
|
||||
},
|
||||
success: (resp) => {
|
||||
k = k + 1
|
||||
resp.data = JSON.parse(resp.data);
|
||||
if (resp.data.code == 200) {
|
||||
let imgdata = resp.data
|
||||
@@ -472,22 +494,20 @@ Page({
|
||||
img:imgdata.data.full_url,
|
||||
})
|
||||
ins_img=ins_img.concat(list)
|
||||
if(i+1==res1.tempFilePaths.length){
|
||||
if(k == res1.tempFilePaths.length){
|
||||
wx.hideLoading();
|
||||
setTimeout(function () {
|
||||
let params = {};
|
||||
params['id'] = that.data.id;
|
||||
let img = []
|
||||
ins_img.forEach(item => {
|
||||
img.push(item.value)
|
||||
let params = {};
|
||||
params['id'] = that.data.id;
|
||||
let img = []
|
||||
ins_img.forEach(item => {
|
||||
img.push(item.value)
|
||||
})
|
||||
params['ins_imgs'] = img;
|
||||
_.apiQuery.putAppCusorderdata(params).then(res2 => {
|
||||
that.setData({
|
||||
ins_img,
|
||||
})
|
||||
params['ins_imgs'] = img;
|
||||
_.apiQuery.putAppCusorderdata(params).then(res2 => {
|
||||
that.setData({
|
||||
ins_img,
|
||||
})
|
||||
})
|
||||
}, 500);
|
||||
})
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -513,8 +533,11 @@ Page({
|
||||
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||||
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||||
success(res1) {
|
||||
wx.showLoading();
|
||||
wx.showLoading({
|
||||
title: '上传中',
|
||||
})
|
||||
let other_img=that.data.other_img
|
||||
let k = 0
|
||||
for (let i = 0; i < res1.tempFilePaths.length; i++) {
|
||||
//上传图片
|
||||
wx.uploadFile({
|
||||
@@ -525,6 +548,7 @@ Page({
|
||||
'app': 'liche'
|
||||
},
|
||||
success: (resp) => {
|
||||
k = k + 1
|
||||
resp.data = JSON.parse(resp.data);
|
||||
if (resp.data.code == 200) {
|
||||
let imgdata = resp.data
|
||||
@@ -534,22 +558,20 @@ Page({
|
||||
img:imgdata.data.full_url,
|
||||
})
|
||||
other_img=other_img.concat(list)
|
||||
if(i+1==res1.tempFilePaths.length){
|
||||
if(k == res1.tempFilePaths.length){
|
||||
wx.hideLoading();
|
||||
setTimeout(function () {
|
||||
let params = {};
|
||||
params['id'] = that.data.id;
|
||||
let img = []
|
||||
other_img.forEach(item => {
|
||||
img.push(item.value)
|
||||
let params = {};
|
||||
params['id'] = that.data.id;
|
||||
let img = []
|
||||
other_img.forEach(item => {
|
||||
img.push(item.value)
|
||||
})
|
||||
params['other_imgs'] = img;
|
||||
_.apiQuery.putAppCusorderdata(params).then(res2 => {
|
||||
that.setData({
|
||||
other_img,
|
||||
})
|
||||
params['other_imgs'] = img;
|
||||
_.apiQuery.putAppCusorderdata(params).then(res2 => {
|
||||
that.setData({
|
||||
other_img,
|
||||
})
|
||||
})
|
||||
}, 500);
|
||||
})
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -663,24 +685,20 @@ Page({
|
||||
})
|
||||
},
|
||||
|
||||
//拨打客户电话xz
|
||||
call(e) {
|
||||
let params = {};
|
||||
params['id'] = e.currentTarget.dataset.id;
|
||||
params['type'] = 1;
|
||||
_.apiQuery.getAppXz(params).then(res=>{
|
||||
wx.makePhoneCall({
|
||||
phoneNumber: res.data.mobile,
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
//查看图片
|
||||
previewImage: function (e) {
|
||||
if(e.currentTarget.dataset.type=='bill_img'){
|
||||
let urls = [this.data.info.bill_img]
|
||||
wx.previewImage({
|
||||
current:this.data.info.bill_img,
|
||||
urls:[this.data.info.bill_img],
|
||||
current:e.currentTarget.dataset.current,
|
||||
urls,
|
||||
})
|
||||
}
|
||||
else if(e.currentTarget.dataset.type=='bill_ck_img'){
|
||||
let urls = this.data.imgInfo.imgs.bill_ck_img
|
||||
wx.previewImage({
|
||||
current:e.currentTarget.dataset.current,
|
||||
urls,
|
||||
})
|
||||
}
|
||||
else if(e.currentTarget.dataset.type=='cardida'){
|
||||
@@ -713,16 +731,40 @@ Page({
|
||||
urls:[this.data.imgInfo.imgs.car_img.img],
|
||||
})
|
||||
}
|
||||
else if(e.currentTarget.dataset.type=='ins_img'){
|
||||
let img = []
|
||||
this.data.imgInfo.imgs.ins_img.forEach(item => {
|
||||
img.push(item.img)
|
||||
})
|
||||
else if(e.currentTarget.dataset.type=='insurance_img'){
|
||||
wx.previewImage({
|
||||
current:this.data.imgInfo.imgs.ins_img[0].img,
|
||||
urls:img,
|
||||
current:this.data.imgInfo.imgs.insurance_img.img,
|
||||
urls:[this.data.imgInfo.imgs.insurance_img.img],
|
||||
})
|
||||
}
|
||||
else if(e.currentTarget.dataset.type=='business_img'){
|
||||
wx.previewImage({
|
||||
current:this.data.imgInfo.imgs.business_img.img,
|
||||
urls:[this.data.imgInfo.imgs.business_img.img],
|
||||
})
|
||||
}
|
||||
else if(e.currentTarget.dataset.type=='accident_img'){
|
||||
wx.previewImage({
|
||||
current:this.data.imgInfo.imgs.accident_img.img,
|
||||
urls:[this.data.imgInfo.imgs.accident_img.img],
|
||||
})
|
||||
}
|
||||
// else if(e.currentTarget.dataset.type=='ins_img'){
|
||||
// let img = []
|
||||
// if(this.data.imgInfo.imgs.insurance_img.img){
|
||||
// img.push(this.data.imgInfo.imgs.insurance_img.img)
|
||||
// }
|
||||
// if(this.data.imgInfo.imgs.business_img.img){
|
||||
// img.push(this.data.imgInfo.imgs.business_img.img)
|
||||
// }
|
||||
// this.data.imgInfo.imgs.ins_img.forEach(item => {
|
||||
// img.push(item.img)
|
||||
// })
|
||||
// wx.previewImage({
|
||||
// current:this.data.imgInfo.imgs.insurance_img.img,
|
||||
// urls:img,
|
||||
// })
|
||||
// }
|
||||
else if(e.currentTarget.dataset.type=='other_img'){
|
||||
let img = []
|
||||
this.data.imgInfo.imgs.other_img.forEach(item => {
|
||||
@@ -733,6 +775,47 @@ Page({
|
||||
urls:img,
|
||||
})
|
||||
}
|
||||
else if(e.currentTarget.dataset.type=='delivery_ck_img'){
|
||||
wx.previewImage({
|
||||
current:this.data.imgInfo.imgs.delivery_ck_img.img,
|
||||
urls:[this.data.imgInfo.imgs.delivery_ck_img.img],
|
||||
})
|
||||
}
|
||||
else if(e.currentTarget.dataset.type=='wx_img'){
|
||||
wx.previewImage({
|
||||
current:this.data.imgInfo.imgs.wx_img.img,
|
||||
urls:[this.data.imgInfo.imgs.wx_img.img],
|
||||
})
|
||||
}
|
||||
else if(e.currentTarget.dataset.type=='mut_wx_img'){
|
||||
wx.previewImage({
|
||||
current:this.data.imgInfo.imgs.mut_wx_img.img,
|
||||
urls:[this.data.imgInfo.imgs.mut_wx_img.img],
|
||||
})
|
||||
}
|
||||
else if(e.currentTarget.dataset.type=='destory_img'){
|
||||
wx.previewImage({
|
||||
current:this.data.imgInfo.imgs.destory_img.img,
|
||||
urls:[this.data.imgInfo.imgs.destory_img.img],
|
||||
})
|
||||
}
|
||||
else if(e.currentTarget.dataset.type=='notify'){
|
||||
let img = []
|
||||
this.data.info.notify_file.forEach(item => {
|
||||
img.push(item.src)
|
||||
})
|
||||
wx.previewImage({
|
||||
current:e.currentTarget.dataset.current,
|
||||
urls:img,
|
||||
})
|
||||
}
|
||||
else if(e.currentTarget.dataset.type=='lend'){
|
||||
wx.previewImage({
|
||||
current:this.data.info.lend_file.src,
|
||||
urls:[this.data.info.lend_file.src],
|
||||
})
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
//推送链接
|
||||
@@ -780,6 +863,20 @@ Page({
|
||||
})
|
||||
},
|
||||
|
||||
//显示隐藏合格证
|
||||
optShowCK(){
|
||||
this.setData({
|
||||
isShowCK:!this.data.isShowCK,
|
||||
})
|
||||
},
|
||||
|
||||
//显示隐藏合格证
|
||||
optShowBill(){
|
||||
this.setData({
|
||||
isShowBill:!this.data.isShowBill,
|
||||
})
|
||||
},
|
||||
|
||||
//删除订单
|
||||
putAppCusorderV2Status(){
|
||||
let that = this
|
||||
|
||||
+175
-42
@@ -2,8 +2,13 @@
|
||||
<view>
|
||||
<view class="pl30 pr30">
|
||||
<view class="mt20 relative">
|
||||
<view class="font-32">购车人信息</view>
|
||||
<view class="absolute right-0 box-middle font-22 color-666">销售顾问:<text class="color-36afa2">{{info.admin_name}}</text></view>
|
||||
<view class="font-22 color-666">销售顾问:<text class="color-36afa2">{{info.admin_name}}</text></view>
|
||||
</view>
|
||||
<view class="mt20 fn-clear">
|
||||
<view class="fn-fl pt10 font-32">购车人信息</view>
|
||||
<view class="fn-fr" wx:if="{{info.edit_status==1&&!info.refund_status}}">
|
||||
<button bindtap="pushLink" data-url="/pages/order/editBuyer/index?id={{id}}" class="inline-block font-22 color-fff ulib-r10 btn-36afa2" hover-class="btn-36afa2-hover"><i class="iconfont icon-dengji mr10"></i>修改</button>
|
||||
</view>
|
||||
</view>
|
||||
<view class="relative bbs-1-eb pl140 font-28">
|
||||
<view class="absolute left-0 box-middle font-28 color-333">客户姓名</view>
|
||||
@@ -19,7 +24,7 @@
|
||||
</view>
|
||||
<view class="mt40 relative fn-clear">
|
||||
<view class="fn-fl pt10 font-32">{{info.main_type==0?'车主信息':'企业信息'}}</view>
|
||||
<view class="fn-fr" wx:if="{{info.edit_status==1}}">
|
||||
<view class="fn-fr" wx:if="{{info.edit_status==1&&!info.refund_status}}">
|
||||
<button bindtap="pushLink" data-url="/pages/order/editOwner/index?id={{id}}" class="inline-block font-22 color-fff ulib-r10 btn-36afa2" hover-class="btn-36afa2-hover"><i class="iconfont icon-dengji mr10"></i>修改</button>
|
||||
</view>
|
||||
</view>
|
||||
@@ -36,9 +41,9 @@
|
||||
<view class="absolute left-0 box-middle font-28 color-333">车主身份证</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx">{{info.owner_cardid}}</view>
|
||||
</view>
|
||||
<view class="relative bbs-1-eb pl140 font-28">
|
||||
<view class="relative bbs-1-eb pl140 font-28" wx:if="{{info.address}}">
|
||||
<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="{{info.pro}}" wx:key='index'>{{item}} </block>{{info.address}}</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx">{{info.address}}</view>
|
||||
</view>
|
||||
</block>
|
||||
<block wx:if="{{info.main_type==1}}">
|
||||
@@ -57,7 +62,7 @@
|
||||
</view>
|
||||
<view class="mt40 fn-clear">
|
||||
<view class="fn-fl pt10 font-32">订单信息</view>
|
||||
<view class="fn-fr" wx:if="{{info.edit_status==1}}">
|
||||
<view class="fn-fr" wx:if="{{info.edit_status==1&&!info.refund_status}}">
|
||||
<button bindtap="pushLink" data-url="/pages/order/edit/index2?id={{id}}" class="inline-block font-22 color-fff ulib-r10 btn-36afa2" hover-class="btn-36afa2-hover"><i class="iconfont icon-dengji mr10"></i>修改</button>
|
||||
</view>
|
||||
</view>
|
||||
@@ -69,32 +74,32 @@
|
||||
</view>
|
||||
<block wx:for="{{value.list}}" wx:for-index='key2' wx:for-item='value2' wx:key='j'>
|
||||
<block wx:if="{{!!value2.list}}">
|
||||
<view class="relative ml40 bbs-1-eb pl140 font-22 color-666">
|
||||
<view class="absolute left-0 box-middle"><i class="iconfont ml5 mr10 icon-gengduo"></i>{{key2}}</view>
|
||||
<view class="pt25 pb25 text-right" style="min-height:30rpx">{{value2.value}}</view>
|
||||
<view class="relative ml40 bbs-1-eb pl140 font-22 color-666" style="min-height:30rpx">
|
||||
<view class="pt25 pb25"><i class="iconfont ml5 mr5 icon-dian"></i>{{key2}}</view>
|
||||
<view class="absolute right-0 box-middle">{{value2.value}}</view>
|
||||
</view>
|
||||
<block wx:for="{{value2.list}}" wx:for-index='key3' wx:for-item='value3' wx:key='k'>
|
||||
<view class="relative ml80 bbs-1-eb pl140 font-22 color-666">
|
||||
<view class="absolute left-0 box-middle"><i class="iconfont ml5 mr10 icon-gengduo"></i>{{key3}}</view>
|
||||
<view class="pt25 pb25 text-right" style="min-height:30rpx">{{value3}}</view>
|
||||
<view class="relative ml80 bbs-1-eb pl140 font-22 color-666" style="min-height:30rpx">
|
||||
<view class="pt25 pb25"><i class="iconfont ml5 mr5 icon-dian"></i>{{key3}}</view>
|
||||
<view class="absolute right-0 box-middle">{{value3}}</view>
|
||||
</view>
|
||||
</block>
|
||||
</block>
|
||||
<block wx:else>
|
||||
<view class="relative ml40 bbs-1-eb pl140 font-22 color-666">
|
||||
<view class="absolute left-0 box-middle"><i class="iconfont ml5 mr10 icon-gengduo"></i>{{key2}}</view>
|
||||
<view class="pt25 pb25 text-right" style="min-height:30rpx">{{value2}}</view>
|
||||
<view class="relative ml40 bbs-1-eb pr150 font-22 color-666" style="min-height:30rpx">
|
||||
<view class="pt25 pb25"><i class="iconfont ml5 mr5 icon-dian"></i>{{key2}}</view>
|
||||
<view class="absolute right-0 box-middle">{{value2}}</view>
|
||||
</view>
|
||||
</block>
|
||||
</block>
|
||||
</block>
|
||||
<block wx:else>
|
||||
<block wx:if="{{key == '按揭信息'}}">
|
||||
<view class="relative bbs-1-eb pl140 font-28">
|
||||
<view class="relative bbs-1-eb pl140 font-28" bindtap="{{!info.refund_status?'pushLink':''}}" data-url="/pages/order/editFinance/index?id={{id}}">
|
||||
<view class="absolute left-0 box-middle font-28 color-333">{{key}}</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx">
|
||||
<text class="mr20 text-middle">{{value}}</text>
|
||||
<button bindtap="pushLink" data-url="/pages/order/editFinance/index?id={{id}}" class="inline-block text-middle font-22 color-fff ulib-r10 btn-36afa2" hover-class="btn-36afa2-hover" wx:if="{{info.loan_status}}"><i class="iconfont icon-dengji mr10"></i>更新</button>
|
||||
<text >{{value}}</text>
|
||||
<i wx:if="{{!info.refund_status}}" class="iconfont ml10 icon-gengduo font-26 color-999"></i>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
@@ -113,19 +118,47 @@
|
||||
<view class="relative bbs-1-eb pt30 pb30 text-right font-24 color-666" wx:if="{{info.inten_money}}">已付意向金<text class="pl5 pr5 color-f9394d">{{info.inten_money}}</text>元</view>
|
||||
</view>
|
||||
|
||||
<!--开票信息展示-->
|
||||
<view class="pl30 pr30" wx:if="{{info.bill_img}}">
|
||||
<view class="mt40 font-32">开票信息</view>
|
||||
<view class="mt20"><image bindtap="previewImage" data-type="bill_img" class='wp100' lazy-load="{{true}}" mode="widthFix" src="{{info.bill_img}}"></image></view>
|
||||
<!--合格证,发票展示-->
|
||||
<view class="pl30 pr30">
|
||||
<view class="bbs-1-eb" wx:if="{{imgInfo.imgs.bill_ck_img.length>0}}">
|
||||
<view class="relative pt30 pb30" bindtap="optShowCK">
|
||||
<text class="font-32">合格证</text>
|
||||
<view class="absolute right-0 box-middle red-tip mr30 ulib-r750" wx:if="{{!isShowCK}}"></view>
|
||||
<i class="absolute right-0 box-middle iconfont {{isShowCK?'icon-xuanze':'icon-gengduo'}} font-26 color-999"></i>
|
||||
</view>
|
||||
<view hidden="{{!isShowCK}}">
|
||||
<block wx:for='{{imgInfo.imgs.bill_ck_img}}' wx:key='index'>
|
||||
<view class="mt10 mb10 "><image bindtap="previewImage" data-type="bill_ck_img" data-current="{{item}}" class='wp100' lazy-load="{{true}}" mode="widthFix" src="{{item}}"></image></view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
<view class="bbs-1-eb" wx:if="{{info.bill_img}}">
|
||||
<view class="relative pt30 pb30" bindtap="optShowBill">
|
||||
<text class="font-32">发票</text>
|
||||
<view class="absolute right-0 box-middle red-tip mr30 ulib-r750" wx:if="{{!isShowBill}}"></view>
|
||||
<i class="absolute right-0 box-middle iconfont {{isShowBill?'icon-xuanze':'icon-gengduo'}} font-26 color-999"></i>
|
||||
</view>
|
||||
<view hidden="{{!isShowBill}}">
|
||||
<view class="mt10 mb10"><image bindtap="previewImage" data-type="bill_img" data-current="{{info.bill_img}}" class='wp100' lazy-load="{{true}}" mode="widthFix" src="{{info.bill_img}}"></image></view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
|
||||
<!--图片-->
|
||||
<view class="pl30 pr30">
|
||||
<!--图片修改-->
|
||||
<block wx:if="{{imgInfo.img_status==1}}">
|
||||
<!--上传身份证-->
|
||||
<block wx:if="{{info.main_type == 0}}">
|
||||
<view class="mt40 font-32">身份证</view>
|
||||
<view class="relative bbs-1-eb pl140 font-28" bindtap="{{!info.refund_status?'pushLink':''}}" data-url="/pages/order/editCardid/index?id={{id}}">
|
||||
<view class="absolute left-0 box-middle font-32 color-333">身份证</view>
|
||||
<view class="pt30 pb30 text-right font-26 color-999" style="min-height:38rpx">
|
||||
<view>{{cardida.value||cardidb.value?'更新':'上传'}}<i class="iconfont ml10 icon-gengduo"></i></view>
|
||||
<!-- <button bindtap="pushLink" data-url="/pages/order/editCardid/index?id={{id}}" class="inline-block text-middle font-22 color-fff ulib-r10 btn-36afa2" hover-class="btn-36afa2-hover"><i class="iconfont icon-dengji mr10"></i>{{cardida.value||cardidb.value?'更新':'上传'}}</button> -->
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- <view class="mt40 font-32">身份证</view>
|
||||
<view class="fn-flex mt30 text-center">
|
||||
<view class="fn-flex-item relative mr10" bindtap="chooseImg" data-type="cardida">
|
||||
<block wx:if="{{cardida.value}}">
|
||||
@@ -165,11 +198,19 @@
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
</view> -->
|
||||
</block>
|
||||
<!--上传营业执照-->
|
||||
<block wx:elif="{{info.main_type == 1}}">
|
||||
<view class="mt40 font-32">营业执照</view>
|
||||
<view class="relative bbs-1-eb pl140 font-28" bindtap="{{!info.refund_status?'pushLink':''}}" data-url="/pages/order/editBusinessBicence/index?id={{id}}">
|
||||
<view class="absolute left-0 box-middle font-32 color-333">营业执照</view>
|
||||
<view class="pt30 pb30 text-right font-26 color-999" style="min-height:38rpx">
|
||||
<view>{{business_licence.value?'更新':'上传'}}<i class="iconfont ml10 icon-gengduo"></i></view>
|
||||
<!-- <button bindtap="pushLink" data-url="/pages/order/editBusinessBicence/index?id={{id}}" class="inline-block text-middle font-22 color-fff ulib-r10 btn-36afa2" hover-class="btn-36afa2-hover"><i class="iconfont icon-dengji mr10"></i>{{business_licence.value?'更新':'上传'}}</button> -->
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- <view class="mt40 font-32">营业执照</view>
|
||||
<view class="mt30 text-center">
|
||||
<view class="inline-block img-300x200 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-type="business_licence">
|
||||
<block wx:if="{{business_licence.value}}">
|
||||
@@ -190,10 +231,18 @@
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
</view> -->
|
||||
</block>
|
||||
<!--上传上牌材料-->
|
||||
<view class="mt40 font-32">上牌材料</view>
|
||||
<!--上传车辆证件-->
|
||||
<view class="relative bbs-1-eb pl140 font-28" bindtap="{{!info.refund_status?'pushLink':''}}" data-url="/pages/order/editLicenseImg/index?id={{id}}">
|
||||
<view class="absolute left-0 box-middle font-32 color-333">车辆证件</view>
|
||||
<view class="pt30 pb30 text-right font-26 color-999" style="min-height:38rpx">
|
||||
<view>{{register_img.value||car_img.value?'更新':'上传'}}<i class="iconfont ml10 icon-gengduo"></i></view>
|
||||
<!-- <button bindtap="pushLink" data-url="/pages/order/editLicenseImg/index?id={{id}}" class="inline-block text-middle font-22 color-fff ulib-r10 btn-36afa2" hover-class="btn-36afa2-hover"><i class="iconfont icon-dengji mr10"></i>{{register_img.value||car_img.value?'更新':'上传'}}</button> -->
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- <view class="mt40 font-32">车辆证件</view>
|
||||
<view class="fn-flex mt30 text-center">
|
||||
<view class="fn-flex-item relative mr10" bindtap="chooseImg" data-type="register_img">
|
||||
<block wx:if="{{register_img.value}}">
|
||||
@@ -226,10 +275,17 @@
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</view>-->
|
||||
<!--上传保险单-->
|
||||
<view class="relative bbs-1-eb pl140 font-28" bindtap="{{!info.refund_status?'pushLink':''}}" data-url="/pages/order/editInsImg/index?id={{id}}">
|
||||
<view class="absolute left-0 box-middle font-32 color-333">保险单</view>
|
||||
<view class="pt30 pb30 text-right font-26 color-999" style="min-height:38rpx">
|
||||
<view>{{imgInfo.imgs.accident_img.value||imgInfo.imgs.insurance_img.value||imgInfo.imgs.business_img.value?'更新':'上传'}}<i class="iconfont ml10 icon-gengduo"></i></view>
|
||||
<!-- <button bindtap="pushLink" data-url="/pages/order/editInsImg/index?id={{id}}" class="inline-block text-middle font-22 color-fff ulib-r10 btn-36afa2" hover-class="btn-36afa2-hover"><i class="iconfont icon-dengji mr10"></i>{{ins_img.length>0?'更新':'上传'}}</button> -->
|
||||
</view>
|
||||
</view>
|
||||
<!--上传保单-->
|
||||
<view class="mt40 font-32">保单</view>
|
||||
<!-- <view class="mt40 font-32">保险单</view>
|
||||
<view class="mt30 pb20 text-center">
|
||||
<scroll-view class="space-nowrap" scroll-x="true">
|
||||
<block wx:for='{{ins_img}}' wx:for-item='ins_img' wx:key='index'>
|
||||
@@ -242,14 +298,21 @@
|
||||
<view class="inline-block bg-f8 img-300x200 ml15 mr15 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-type="ins_img">
|
||||
<view class="absolute left-0 right-0 box-middle color-ccc">
|
||||
<i class="iconfont icon-paizhao font-48"></i>
|
||||
<view class="mt10 font-22">上传保单</view>
|
||||
<view class="mt10 font-22">上传保险单</view>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
</scroll-view>
|
||||
</view>
|
||||
</view> -->
|
||||
<!--上传交车合照-->
|
||||
<view class="mt40 font-32">交车合照</view>
|
||||
<view class="relative bbs-1-eb pl140 font-28" bindtap="{{!info.refund_status?'pushLink':''}}" data-url="/pages/order/editOtherImg/index?id={{id}}">
|
||||
<view class="absolute left-0 box-middle font-32 color-333">交车合照</view>
|
||||
<view class="pt30 pb30 text-right font-26 color-999" style="min-height:38rpx">
|
||||
<view>{{other_img.length>0?'更新':'上传'}}<i class="iconfont ml10 icon-gengduo"></i></view>
|
||||
<!-- <button bindtap="pushLink" data-url="/pages/order/editOtherImg/index?id={{id}}" class="inline-block text-middle font-22 color-fff ulib-r10 btn-36afa2" hover-class="btn-36afa2-hover"><i class="iconfont icon-dengji mr10"></i>{{other_img.length>0?'更新':'上传'}}</button> -->
|
||||
</view>
|
||||
</view>
|
||||
<!-- <view class="mt40 font-32">交车合照</view>
|
||||
<view class="mt30 pb20 text-center">
|
||||
<scroll-view class="space-nowrap" scroll-x="true">
|
||||
<block wx:for='{{other_img}}' wx:for-item='other_img' wx:key='index'>
|
||||
@@ -267,6 +330,29 @@
|
||||
</view>
|
||||
</block>
|
||||
</scroll-view>
|
||||
</view> -->
|
||||
<!--上传交车合照-->
|
||||
<!--添加企微-->
|
||||
<view class="relative bbs-1-eb pl140 font-28" bindtap="{{!info.refund_status?'pushLink':''}}" data-url="/pages/order/editQVImg/index?id={{id}}">
|
||||
<view class="absolute left-0 box-middle font-32 color-333">企微信息</view>
|
||||
<view class="pt30 pb30 text-right font-26 color-999" style="min-height:38rpx">
|
||||
<view>{{imgInfo.imgs.wx_img.value||imgInfo.imgs.mut_wx_img.value?'更新':'上传'}}<i class="iconfont ml10 icon-gengduo"></i></view>
|
||||
</view>
|
||||
</view>
|
||||
<!--end添加企微-->
|
||||
<!--实名认证资料-->
|
||||
<view class="relative bbs-1-eb pl140 font-28" bindtap="{{!info.refund_status?'pushLink':''}}" data-url="/pages/order/editVoucherImg/index?id={{id}}">
|
||||
<view class="absolute left-0 box-middle font-32 color-333">实名认证资料</view>
|
||||
<view class="pt30 pb30 text-right font-26 color-999" style="min-height:38rpx">
|
||||
<view>{{imgInfo.imgs.destory_img.value?'更新':'上传'}}<i class="iconfont ml10 icon-gengduo"></i></view>
|
||||
</view>
|
||||
</view>
|
||||
<!--end实名认证资料-->
|
||||
<view class="relative bbs-1-eb pl140 font-28" bindtap="{{!info.refund_status?'pushLink':''}}" data-url="/pages/order/editDeliveryckimg/index?id={{id}}" wx:if="{{!!imgInfo.imgs.delivery_ck_img}}">
|
||||
<view class="absolute left-0 box-middle font-32 color-333">交付确认单</view>
|
||||
<view class="pt30 pb30 text-right font-26 color-999" style="min-height:38rpx">
|
||||
<view><i class="iconfont ml10 icon-gengduo"></i></view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</block>
|
||||
@@ -299,7 +385,7 @@
|
||||
</block>
|
||||
<!--国家补材料-->
|
||||
<block wx:if="{{imgInfo.imgs.register_img.img||imgInfo.imgs.car_img.img}}">
|
||||
<view class="mt40 font-32">上牌材料</view>
|
||||
<view class="mt40 font-32">车辆证件</view>
|
||||
<view class="fn-flex mt30 text-center">
|
||||
<view class="fn-flex-item relative mr10">
|
||||
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden" wx:if="{{imgInfo.imgs.register_img.img}}" bindtap="previewImage" data-type="register_img">
|
||||
@@ -313,15 +399,26 @@
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
<!--保单-->
|
||||
<!--保险单-->
|
||||
<block wx:if="{{imgInfo.imgs.ins_img.length>0}}">
|
||||
<view class="mt40 font-32">保单</view>
|
||||
<view class="mt30 pb20 text-center">
|
||||
<view class="inline-block bg-f8 img-300x200 ml15 mr15 relative ulib-r10 overflowhidden" bindtap="previewImage" data-type="ins_img">
|
||||
<view class="absolute box-center-middle font-28 color-fff z-index-1" wx:if="{{imgInfo.imgs.ins_img.length>1}}">{{imgInfo.imgs.ins_img.length}}张</view>
|
||||
<image class='block wp100 img-h-200 ulib-r10' src='{{imgInfo.imgs.ins_img[0].img}}' mode='aspectFit'></image>
|
||||
<view class="mt40 font-32">保险单</view>
|
||||
<view class="mt30 pb20 text-center box-x-scroll space-nowrap">
|
||||
<view class="inline-block bg-f8 img-300x200 ml15 mr15 relative ulib-r10 overflowhidden" bindtap="previewImage" data-type="insurance_img" wx:if="{{imgInfo.imgs.insurance_img.value}}">
|
||||
<image class='block wp100 img-h-200 ulib-r10' src='{{imgInfo.imgs.insurance_img.img}}' mode='aspectFit'></image>
|
||||
</view>
|
||||
<view class="inline-block bg-f8 img-300x200 ml15 mr15 relative ulib-r10 overflowhidden" bindtap="previewImage" data-type="business_img" wx:if="{{imgInfo.imgs.business_img.value}}">
|
||||
<image class='block wp100 img-h-200 ulib-r10' src='{{imgInfo.imgs.business_img.img}}' mode='aspectFit'></image>
|
||||
</view>
|
||||
<view class="inline-block bg-f8 img-300x200 ml15 mr15 relative ulib-r10 overflowhidden" bindtap="previewImage" data-type="accident_img" wx:if="{{imgInfo.imgs.accident_img.value}}">
|
||||
<image class='block wp100 img-h-200 ulib-r10' src='{{imgInfo.imgs.accident_img.img}}' mode='aspectFit'></image>
|
||||
</view>
|
||||
</view>
|
||||
<!-- <view class="mt30 pb20 text-center">
|
||||
<view class="inline-block bg-f8 img-300x200 ml15 mr15 relative ulib-r10 overflowhidden" bindtap="previewImage" data-type="ins_img">
|
||||
<view class="absolute box-center-middle font-28 color-fff z-index-1">{{imgInfo.imgs.ins_img.length+2}}张</view>
|
||||
<image class='block wp100 img-h-200 ulib-r10' src='{{imgInfo.imgs.insurance_img.img}}' mode='aspectFit'></image>
|
||||
</view>
|
||||
</view> -->
|
||||
</block>
|
||||
<!--交车合照-->
|
||||
<block wx:if="{{imgInfo.imgs.other_img.length>0}}">
|
||||
@@ -333,9 +430,45 @@
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
<!--添加企微-->
|
||||
<block wx:if="{{imgInfo.imgs.wx_img.img||imgInfo.imgs.mut_wx_img.img}}">
|
||||
<view class="mt40 font-32">添加企微</view>
|
||||
<view class="fn-flex mt30 text-center">
|
||||
<view class="fn-flex-item relative mr10">
|
||||
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden" wx:if="{{imgInfo.imgs.wx_img.img}}" bindtap="previewImage" data-type="wx_img">
|
||||
<image class='block wp100 img-h-200 ulib-r10' src='{{imgInfo.imgs.wx_img.img}}' lazy-load="{{true}}" mode="aspectFit"></image>
|
||||
</view>
|
||||
</view>
|
||||
<view class="fn-flex-item relative ml10">
|
||||
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden" wx:if="{{imgInfo.imgs.mut_wx_img.img}}" bindtap="previewImage" data-type="mut_wx_img">
|
||||
<image class='block wp100 img-h-200 ulib-r10' src='{{imgInfo.imgs.mut_wx_img.img}}' lazy-load="{{true}}" mode="aspectFit"></image>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
<!--实名认证资料-->
|
||||
<block wx:if="{{imgInfo.imgs.destory_img.img}}">
|
||||
<view class="mt40 font-32">实名认证资料</view>
|
||||
<view class="mt30 pb20 text-center">
|
||||
<view class="inline-block bg-f8 img-300x200 ml15 mr15 relative ulib-r10 overflowhidden" bindtap="previewImage" data-type="destory_img">
|
||||
<image class='block wp100 img-h-200 ulib-r10' src='{{imgInfo.imgs.destory_img.img}}' mode='aspectFit'></image>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
<!--交付确认单-->
|
||||
<block wx:if="{{imgInfo.imgs.delivery_ck_img.img}}">
|
||||
<view class="mt40 font-32">交付确认单</view>
|
||||
<view class="mt30 pb20 text-center">
|
||||
<view class="inline-block bg-f8 img-300x200 ml15 mr15 relative ulib-r10 overflowhidden" bindtap="previewImage" data-type="delivery_ck_img">
|
||||
<image class='block wp100 img-h-200 ulib-r10' src='{{imgInfo.imgs.delivery_ck_img.img}}' mode='aspectFit'></image>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
</block>
|
||||
|
||||
<!--end 图片预览-->
|
||||
</view>
|
||||
|
||||
</view>
|
||||
|
||||
<!--交付随车信息-->
|
||||
@@ -401,7 +534,7 @@
|
||||
<!--end交付随车信息-->
|
||||
|
||||
<!--订单作废 收取意向金 操作-->
|
||||
<view class="fixed left-0 right-0 bottom-0 pt20 pl30 pr30 pb40 bg-000-op80 fn-flex z-index-9999">
|
||||
<view class="fixed left-0 right-0 bottom-0 pt20 pl30 pr30 pb40 bg-000-op80 fn-flex z-index-9999" wx:if="{{!info.refund_status}}">
|
||||
<button bindtap="putAppCusorderV2Status" class="fn-flex-item ml20 mr20 btn-36afa2 wp100 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover" wx:if="{{!info.inten_money&&!info.price_book_status&&!info.price_last_status&&!price_srv_status}}"><i class="iconfont mr5 icon-zuofei"></i>订单作废</button>
|
||||
<button bindtap="optShowOrderCode" class="fn-flex-item ml20 mr20 btn-36afa2 wp100 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover"><i class="iconfont mr5 icon-zhifu"></i>邀请扫码</button>
|
||||
</view>
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
.red-tip{
|
||||
width:12rpx;
|
||||
height:12rpx;
|
||||
background-color:#f9394d;
|
||||
}
|
||||
|
||||
/*复选框外框样式*/
|
||||
checkbox .wx-checkbox-input {
|
||||
width:30rpx;
|
||||
|
||||
@@ -51,7 +51,7 @@ Page({
|
||||
submitFlag:false,
|
||||
|
||||
paymentIndex:-1,//付款方式
|
||||
payment:['全款', '分期',],
|
||||
payment:['全款', '按揭',],
|
||||
mainIndex:-1,//购车主体
|
||||
main:['个人', '公司',],
|
||||
|
||||
|
||||
+274
-22
@@ -48,7 +48,7 @@ Page({
|
||||
submitFlag:false,
|
||||
|
||||
paymentIndex:-1,//付款方式
|
||||
payment:['全款', '分期',],
|
||||
payment:['全款', '按揭',],
|
||||
mainIndex:-1,//购车主体
|
||||
main:['个人', '公司',],
|
||||
|
||||
@@ -63,12 +63,7 @@ Page({
|
||||
|
||||
//if_fine:false,//精品尊享包
|
||||
|
||||
fines:[
|
||||
{
|
||||
txt:'',
|
||||
price:'',
|
||||
},
|
||||
],//精品赠送
|
||||
fines:[],//精品赠送
|
||||
|
||||
business_type:0,//0未执行到商务政策 1商务政策执行中 2商务政策成功 3商务政策失败
|
||||
|
||||
@@ -76,6 +71,16 @@ Page({
|
||||
|
||||
if_local_bill:0,//本地开具发票
|
||||
|
||||
fineArr:[],//精品选装
|
||||
finedIndex:-1,//精品选装索引
|
||||
|
||||
packageList:[],//车辆选装包
|
||||
options_ids:[],//选装包id数组
|
||||
options_total:0,//选装包费用
|
||||
if_zero_firstpay:0,//是否零首付
|
||||
price_loan0:'',//首付按揭金额
|
||||
firstPayArr:['现金','0首付','按揭',],//首付类型
|
||||
firstPayIndex:0,//首付类型
|
||||
},
|
||||
//生命周期函数--监听页面加载
|
||||
onLoad: function (options) {
|
||||
@@ -88,6 +93,7 @@ Page({
|
||||
this.getAppCusorderV2()
|
||||
this.getAppSeriesBrands()
|
||||
this.getUserInfo()
|
||||
this.getAppFine()
|
||||
|
||||
},
|
||||
|
||||
@@ -103,6 +109,10 @@ Page({
|
||||
sa:res.data.sa?res.data.sa:'',
|
||||
//if_fine:res.data.if_fine==1?true:false,
|
||||
if_local_bill:res.data.if_local_bill==1?1:0,
|
||||
brand_id:res.data.brand_id,
|
||||
car_id:res.data.car_id,
|
||||
if_zero_firstpay:res.data.if_zero_firstpay,
|
||||
price_loan0:res.data.price_loan0,
|
||||
})
|
||||
|
||||
/*匹配车辆信息*/
|
||||
@@ -258,7 +268,7 @@ Page({
|
||||
|
||||
/*匹配其他信息*/
|
||||
//匹配付款方式
|
||||
if(!!res.data.payway){
|
||||
if(res.data.payway==0||res.data.payway==1){
|
||||
let paymentIndex = -1
|
||||
if(res.data.payway==0){
|
||||
paymentIndex = 1
|
||||
@@ -268,6 +278,25 @@ Page({
|
||||
this.setData({
|
||||
paymentIndex:paymentIndex,
|
||||
})
|
||||
|
||||
if(paymentIndex == 1){
|
||||
if(res.data.if_zero_firstpay==1){
|
||||
if(res.data.price_loan0>0){
|
||||
this.setData({
|
||||
firstPayIndex:2,
|
||||
})
|
||||
}else{
|
||||
this.setData({
|
||||
firstPayIndex:1,
|
||||
})
|
||||
}
|
||||
}else{
|
||||
this.setData({
|
||||
firstPayIndex:0,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//匹配代办
|
||||
@@ -338,9 +367,40 @@ Page({
|
||||
fines:res.data.fines,
|
||||
fine_total,
|
||||
})
|
||||
|
||||
}
|
||||
/*end匹配其他信息*/
|
||||
/*end匹配精品赠送*/
|
||||
|
||||
//匹配车辆选装包
|
||||
if(res.data.option_ids&&res.data.option_ids.length>0){
|
||||
let optionparams = {};
|
||||
optionparams['id'] = res.data.car_id;
|
||||
_.apiQuery.getAppOptions(optionparams).then(res11 => {
|
||||
if(res11.data.list.length>0){
|
||||
let packageList = res11.data.list
|
||||
let options_ids = res.data.option_ids
|
||||
let options_total = 0
|
||||
packageList.forEach(itemA => {
|
||||
itemA.checked = false
|
||||
options_ids.forEach(itemB => {
|
||||
if(itemA.id === itemB){
|
||||
itemA.checked = true
|
||||
if(parseFloat(itemA.price)>0){
|
||||
options_total = options_total + parseFloat(itemA.price)
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
this.setData({
|
||||
packageList,
|
||||
options_ids,
|
||||
options_total,
|
||||
})
|
||||
}
|
||||
});
|
||||
}else{
|
||||
//获取车辆选装包
|
||||
this.getAppOptions()
|
||||
}
|
||||
|
||||
})
|
||||
},
|
||||
@@ -356,6 +416,12 @@ Page({
|
||||
nextstep(){
|
||||
switch (this.data.step) {
|
||||
case 1:
|
||||
this.setData({
|
||||
mobile:this.trimAll(this.data.mobile),
|
||||
cardid:this.trimAll(this.data.cardid),
|
||||
owner_mobile:this.trimAll(this.data.owner_mobile),
|
||||
owner_cardid:this.trimAll(this.data.owner_cardid),
|
||||
})
|
||||
if (this.data.customerIndex == -1 ) {
|
||||
wx.showToast({
|
||||
title: '请选择客户',
|
||||
@@ -459,7 +525,8 @@ Page({
|
||||
title: '请输入期望交付时间',
|
||||
icon: 'none'
|
||||
})
|
||||
}else if(!this.data.priceinfo.sdeposit||this.data.priceinfo.sdeposit == '' ){
|
||||
}
|
||||
else if(this.data.if_zero_firstpay!=1&&(!this.data.priceinfo.sdeposit||this.data.priceinfo.sdeposit == '')){
|
||||
wx.showToast({
|
||||
title: '请选择定金',
|
||||
icon: 'none'
|
||||
@@ -624,6 +691,9 @@ Page({
|
||||
brand_id:this.data.brandList[e.detail.value].id,
|
||||
brandIndex:e.detail.value,
|
||||
car_id:'',//车系id
|
||||
packageList:[],//车辆选装包
|
||||
options_ids:[],//选装包id数组
|
||||
options_total:0,//选装包费用
|
||||
v_id:'',//车辆版本id
|
||||
color_id:'',//车身颜色id
|
||||
incolor_id:'',//内饰颜色id
|
||||
@@ -662,8 +732,12 @@ Page({
|
||||
interiorIndex:-1,//内饰颜色索引
|
||||
priceinfo:'',
|
||||
business_type:0,
|
||||
options_ids:[],//选装包id数组
|
||||
options_total:0,//选装包费用
|
||||
})
|
||||
this.getAppSeriesAttrslevel()
|
||||
//获取车辆选装包
|
||||
this.getAppOptions()
|
||||
}
|
||||
},
|
||||
|
||||
@@ -719,6 +793,9 @@ Page({
|
||||
if(this.data.paymentIndex != e.detail.value && e.detail.value >= 0){
|
||||
this.setData({
|
||||
paymentIndex:e.detail.value,
|
||||
price_loan0:'',
|
||||
if_zero_firstpay:0,
|
||||
firstPayIndex:0,
|
||||
})
|
||||
//代办列表
|
||||
this.getAppServices()
|
||||
@@ -825,18 +902,29 @@ Page({
|
||||
params['v_id'] = that.data.v_id;
|
||||
params['color_id'] = that.data.color_id;
|
||||
params['incolor_id'] = that.data.incolor_id;
|
||||
if(that.data.options_ids.length>0){
|
||||
params['options_ids'] = that.data.options_ids;
|
||||
}
|
||||
params['price'] = that.data.priceinfo.price;
|
||||
params['deposit'] = that.data.priceinfo.sdeposit;
|
||||
if(that.data.if_zero_firstpay!=1){
|
||||
params['deposit'] = that.data.priceinfo.sdeposit;
|
||||
}
|
||||
params['payway'] = that.data.paymentIndex==0?'1':'0';
|
||||
params['delry_time'] = that.data.delry_time;
|
||||
params['business_id'] = that.data.priceinfo.id;
|
||||
params['disc_money'] = that.data.priceinfo.sdisc_money?that.data.priceinfo.sdisc_money:0;
|
||||
if(that.data.sa != ''){
|
||||
params['sa'] = that.data.sa;
|
||||
}
|
||||
|
||||
params['sa'] = that.data.sa;
|
||||
|
||||
if(that.data.priceinfo.show_local_bill){
|
||||
params['if_local_bill'] = that.data.if_local_bill;
|
||||
}
|
||||
if(that.data.paymentIndex==1){
|
||||
params['if_zero_firstpay'] = that.data.if_zero_firstpay;
|
||||
}
|
||||
if(that.data.price_loan0 > 0){
|
||||
params['price_loan0'] = that.data.price_loan0;
|
||||
}
|
||||
let srv_arr = []
|
||||
that.data.agencyList.forEach(item => {
|
||||
if(item.checked){
|
||||
@@ -847,12 +935,9 @@ Page({
|
||||
})
|
||||
}
|
||||
})
|
||||
if(srv_arr.length>0){
|
||||
params['srv_arr'] = srv_arr;
|
||||
}
|
||||
if(fines.length>0){
|
||||
params['fines'] = fines;
|
||||
}
|
||||
params['srv_arr'] = srv_arr;
|
||||
|
||||
params['fines'] = fines;
|
||||
//精品优惠金额
|
||||
// if(that.data.priceinfo.fine_money){
|
||||
// params['if_fine'] = that.data.if_fine?'1':'0';
|
||||
@@ -999,7 +1084,7 @@ Page({
|
||||
}
|
||||
if(e.currentTarget.dataset.type=='price'){
|
||||
this.setData({
|
||||
['fines['+e.currentTarget.dataset.index+'].price']:e.detail.value,
|
||||
['fines['+e.currentTarget.dataset.index+'].price']:Number(e.detail.value),
|
||||
})
|
||||
let fine_total = 0
|
||||
this.data.fines.forEach(item => {
|
||||
@@ -1165,9 +1250,176 @@ Page({
|
||||
})
|
||||
},
|
||||
|
||||
//获取精品选装
|
||||
getAppFine(){
|
||||
let params = {};
|
||||
params['limbiz'] = 1;
|
||||
params['page'] = 1;
|
||||
params['size'] = 100;
|
||||
_.apiQuery.getAppFine(params).then(res => {
|
||||
let fineList = res.data.list
|
||||
let fineArr = []
|
||||
fineList.forEach(item => {
|
||||
fineArr.push(item.title)
|
||||
item.price=''
|
||||
})
|
||||
fineArr.push('其他')
|
||||
this.setData({
|
||||
fineArr,
|
||||
fineList,
|
||||
})
|
||||
});
|
||||
},
|
||||
|
||||
//添加精品选装
|
||||
changeFine(e) {
|
||||
if(this.data.fineArr[e.detail.value]=='其他'){
|
||||
this.data.fines.push({
|
||||
txt:'',
|
||||
price:'',
|
||||
})
|
||||
this.setData({
|
||||
finedIndex:-1,
|
||||
fines:this.data.fines,
|
||||
})
|
||||
}else{
|
||||
let fid = this.data.fineList[e.detail.value].id
|
||||
let isadd = false
|
||||
this.data.fines.forEach(item => {
|
||||
if(item.id == fid){
|
||||
isadd = true
|
||||
}
|
||||
})
|
||||
if(isadd){
|
||||
wx.showToast({
|
||||
title: '您已添加过了',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}else{
|
||||
this.data.fineList.forEach(item => {
|
||||
if(item.id == fid){
|
||||
this.data.fines.push({
|
||||
id:item.id,
|
||||
txt:item.title,
|
||||
price:'',
|
||||
})
|
||||
this.setData({
|
||||
finedIndex:-1,
|
||||
fines:this.data.fines,
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
//删除精品选装
|
||||
delFine(e){
|
||||
let that = this
|
||||
wx.showModal({
|
||||
title: '确定删除吗?',
|
||||
content: '',
|
||||
confirmText: "确定删除",
|
||||
confirmColor: "#36afa2",
|
||||
cancelText: "取消",
|
||||
cancelColor: "#666",
|
||||
success(res) {
|
||||
if (res.confirm) {
|
||||
let fines = that.data.fines
|
||||
fines.splice(e.currentTarget.dataset.index, 1)
|
||||
that.setData({
|
||||
fines,
|
||||
})
|
||||
let fine_total = 0
|
||||
that.data.fines.forEach(item => {
|
||||
if(parseFloat(item.price)>0){
|
||||
fine_total = fine_total + parseFloat(item.price)
|
||||
}
|
||||
})
|
||||
that.setData({
|
||||
fine_total,
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
//页面相关事件处理函数--监听用户下拉动作
|
||||
onPullDownRefresh(){
|
||||
this.getAppCusorderV2()
|
||||
},
|
||||
|
||||
//去除空格
|
||||
trimAll(ele){
|
||||
if(typeof ele === 'string'){
|
||||
return ele.split(' ').join('');
|
||||
}else{
|
||||
console.error(`${typeof ele} is not the expected type, but the string type is expected`)
|
||||
}
|
||||
},
|
||||
|
||||
//获取车辆选装包
|
||||
getAppOptions(){
|
||||
let params = {};
|
||||
params['id'] = this.data.car_id;
|
||||
_.apiQuery.getAppOptions(params).then(res => {
|
||||
if(res.data.list.length>0){
|
||||
let packageList = res.data.list
|
||||
packageList.forEach(item => {
|
||||
item.checked = false
|
||||
})
|
||||
this.setData({
|
||||
packageList,
|
||||
})
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
//选择车辆选装包
|
||||
choosePackage(e) {
|
||||
let packageList = this.data.packageList
|
||||
let options_ids = e.detail.value
|
||||
let options_total = 0
|
||||
packageList.forEach(itemA => {
|
||||
itemA.checked = false
|
||||
options_ids.forEach(itemB => {
|
||||
if(itemA.id === itemB){
|
||||
itemA.checked = true
|
||||
if(parseFloat(itemA.price)>0){
|
||||
options_total = options_total + parseFloat(itemA.price)
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
this.setData({
|
||||
packageList,
|
||||
options_ids,
|
||||
options_total,
|
||||
})
|
||||
},
|
||||
|
||||
//选择首付类型
|
||||
changeFirstPay(e) {
|
||||
if(this.data.firstPayIndex != e.detail.value && e.detail.value >= 0){
|
||||
this.setData({
|
||||
firstPayIndex:e.detail.value,
|
||||
price_loan0:'',
|
||||
'priceinfo.sdeposit':'',
|
||||
})
|
||||
if(this.data.firstPayArr[this.data.firstPayIndex]=='0首付'||this.data.firstPayArr[this.data.firstPayIndex]=='按揭'){
|
||||
this.setData({
|
||||
if_zero_firstpay:1,
|
||||
})
|
||||
}
|
||||
else{
|
||||
this.setData({
|
||||
if_zero_firstpay:0,
|
||||
})
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
})
|
||||
+114
-17
@@ -62,10 +62,30 @@
|
||||
</picker>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!--选装-->
|
||||
<block wx:if="{{packageList.length>0&&interiorIndex != -1}}">
|
||||
<view class="pt30 pb30 font-32">选装</view>
|
||||
<checkbox-group bindchange="choosePackage">
|
||||
<block wx:for='{{packageList}}' wx:key='index' wx:key="index">
|
||||
<label class="block inner40 pb5 relative ulib-r10 box-shadow-000-10-10 mb30 overflowhidden">
|
||||
<view class="relative pr100">
|
||||
<view class="font-30">{{item.title}}</view>
|
||||
<checkbox class="absolute top-0 right-0 font-30" value="{{item.id}}" checked="{{item.checked}}"/>
|
||||
</view>
|
||||
<view class="mt15 text-middle font-28 color-666">¥{{item.price}}</view>
|
||||
<view class="mt15 font-24 color-666 text-break line-height-18" >
|
||||
<rich-text nodes="{{item.descrip}}"></rich-text>
|
||||
</view>
|
||||
</label>
|
||||
</block>
|
||||
</checkbox-group>
|
||||
</block>
|
||||
|
||||
</view>
|
||||
|
||||
<view wx:if="{{step == 3}}">
|
||||
<view class="relative bbs-1-eb pl190 last-b-none">
|
||||
<view class="relative bbs-1-eb pl190 last-b-none" wx:if="{{!info.price_loan0_status&&!info.price_loan_status}}">
|
||||
<view class="absolute left-0 box-middle font-28 color-333">付款方式<text class="color-f9394d">*</text></view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666">
|
||||
<picker bindchange="changePayment" value="{{paymentIndex}}" range="{{payment}}">
|
||||
@@ -75,6 +95,10 @@
|
||||
</picker>
|
||||
</view>
|
||||
</view>
|
||||
<view class="relative bbs-1-eb pl190 last-b-none" wx:else>
|
||||
<view class="absolute left-0 box-middle font-28 color-333">付款方式</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666">{{payment[paymentIndex]}}</view>
|
||||
</view>
|
||||
<view class="relative bbs-1-eb last-b-none pl180 font-28">
|
||||
<view class="absolute left-0 box-middle">期望交付时间<text class="color-f9394d">*</text></view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666">
|
||||
@@ -97,18 +121,48 @@
|
||||
<view class="absolute left-0 box-middle color-333">公司加价</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx;"><text class="mr10 color-f9394d">{{priceinfo.price_coplus}}</text>元</view>
|
||||
</view>
|
||||
<block wx:if="{{paymentIndex == 1}}">
|
||||
<block wx:if="{{info.price_book_status||info.price_loan0_status}}">
|
||||
<view class="relative bbs-1-eb last-b-none pl180 font-28">
|
||||
<view class="absolute left-0 box-middle color-333">首付类型</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx;">{{firstPayArr[firstPayIndex]}}</view>
|
||||
</view>
|
||||
<view class="relative bbs-1-eb last-b-none pl180 font-28" wx:if="{{price_loan0>0}}">
|
||||
<view class="absolute left-0 box-middle color-333">首付按揭金额</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx;">{{price_loan0}}</view>
|
||||
</view>
|
||||
</block>
|
||||
<block wx:else>
|
||||
<view class="relative bbs-1-eb pl190 last-b-none">
|
||||
<view class="absolute left-0 box-middle font-28 color-333">首付类型</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666">
|
||||
<picker bindchange="changeFirstPay" value="{{firstPayIndex}}" range="{{firstPayArr}}">
|
||||
<text class="color-ccc" wx:if="{{firstPayIndex == -1}}">请选择</text>
|
||||
<text wx:else>{{firstPayArr[firstPayIndex]}}</text>
|
||||
<i class="iconfont ml5 icon-gengduo"></i>
|
||||
</picker>
|
||||
</view>
|
||||
</view>
|
||||
<view class="relative bbs-1-eb last-b-none pl180 font-28" wx:if="{{if_zero_firstpay==1&&firstPayArr[firstPayIndex]=='按揭'}}">
|
||||
<view class="absolute left-0 box-middle">首付按揭金额</view>
|
||||
<view>
|
||||
<input class="wp100 height-100 text-right font-28" placeholder-class="color-ccc" type="digit" placeholder="请输入首付按揭金额" model:value='{{price_loan0}}' always-embed='{{true}}' />
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
</block>
|
||||
<block wx:if="{{info.price_book_status}}">
|
||||
<view class="relative bbs-1-eb last-b-none pl180 font-28" wx:if="{{priceinfo.sdeposit}}">
|
||||
<view class="relative bbs-1-eb last-b-none pl180 font-28" wx:if="{{priceinfo.sdeposit&&if_zero_firstpay!=1}}">
|
||||
<view class="absolute left-0 box-middle color-333">定金</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx;"><text class="mr10 color-f9394d">{{priceinfo.sdeposit}}</text>元</view>
|
||||
</view>
|
||||
<view class="relative bbs-1-eb last-b-none pl180 font-28" wx:if="{{priceinfo.price}}">
|
||||
<view class="absolute left-0 box-middle color-333">最终售价</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx;"><text class="mr10 color-f9394d">{{priceinfo.price+priceinfo.price_color+priceinfo.price_coplus-(priceinfo.sdisc_money>0?priceinfo.sdisc_money:0)}}</text>元</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx;"><text class="mr10 color-f9394d">{{options_total+priceinfo.price+priceinfo.price_color+priceinfo.price_coplus-(priceinfo.sdisc_money>0?priceinfo.sdisc_money:0)}}</text>元</view>
|
||||
</view>
|
||||
</block>
|
||||
<block wx:else>
|
||||
<view class="relative bbs-1-eb pl190 last-b-none" wx:if="{{priceinfo.deposit_list}}">
|
||||
<view class="relative bbs-1-eb pl190 last-b-none" wx:if="{{priceinfo.deposit_list&&paymentIndex != -1&&if_zero_firstpay!=1}}">
|
||||
<view class="absolute left-0 box-middle font-28 color-333">定金<text class="color-f9394d">*</text></view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666">
|
||||
<view class="fn-clear">
|
||||
@@ -212,8 +266,8 @@
|
||||
<block wx:for="{{agencyList}}" wx:key='index'>
|
||||
<view class="mb20 block relative height-100 pl220 pr20 bg-f6 font-28 ulib-r10">
|
||||
<label class="absolute box-middle left-0 ml30">
|
||||
<checkbox class="text-middle mr5" value="{{item.id}}" checked="{{item.checked}}"/>
|
||||
<text class="text-middle">{{item.title}}</text>
|
||||
<checkbox class="text-middle ml15" value="{{item.id}}" checked="{{item.checked}}"/>
|
||||
</label>
|
||||
<view class="pt25 text-right" wx:if="{{item.checked&&item.price>0}}">
|
||||
<block wx:for="{{item.price_list}}" wx:for-item='price_list' wx:for-index='i' wx:key='i'>
|
||||
@@ -235,17 +289,30 @@
|
||||
</view>
|
||||
</view>
|
||||
<view class="pb10">
|
||||
<block wx:for="{{fines}}" wx:key='index'>
|
||||
<view class="fn-clear mb20 relative pl30 pr30 bg-f6 ulib-r10">
|
||||
<view class="fn-fl wp50">
|
||||
<input class="wp100 height-100 font-28" placeholder-class="color-ccc" type="text" placeholder="精品名称" bindinput='inputFines' data-index="{{index}}" data-type="txt" value="{{item.txt}}" always-embed='{{true}}' />
|
||||
</view>
|
||||
<view class="fn-fr wp25">
|
||||
<input class="wp100 height-100 text-right font-28" placeholder-class="color-ccc" type="digit" placeholder="精品价格" bindinput='inputFines' data-index="{{index}}" data-type="price" value="{{item.price}}" always-embed='{{true}}' />
|
||||
</view>
|
||||
<block wx:for="{{fines}}" wx:key='index'>
|
||||
<view class="fn-clear mb20 relative pl30 pr80 bg-f6 ulib-r10">
|
||||
<view class="fn-fl wp70">
|
||||
<input class="wp100 height-100 font-28" placeholder-class="color-ccc" type="text" placeholder="精品名称" bindinput='inputFines' data-index="{{index}}" data-type="txt" value="{{item.txt}}" always-embed='{{true}}' />
|
||||
</view>
|
||||
</block>
|
||||
<view class="mb20 inner20 bds-2-36afa2 text-center font-28 color-36afa2 ulib-r10" bindtap="addFine"><i class="iconfont mr10 font-24 icon-jia1"></i>添加</view>
|
||||
<view class="fn-fr wp25">
|
||||
<input class="wp100 height-100 text-right font-28" placeholder-class="color-ccc" type="digit" placeholder="精品价格" bindinput='inputFines' data-index="{{index}}" data-type="price" value="{{item.price}}" always-embed='{{true}}' />
|
||||
</view>
|
||||
<i class="absolute box-middle right-0 mr20 iconfont icon-guanbi1 font-30 color-666" bindtap="delFine" data-index="{{index}}"></i>
|
||||
</view>
|
||||
</block>
|
||||
<picker class="mb20 inner20 bds-2-36afa2 text-center font-28 color-36afa2 ulib-r10" bindchange="changeFine" value="{{finedIndex}}" range="{{fineArr}}">
|
||||
<i class="iconfont mr10 font-24 icon-jia1"></i>添加
|
||||
</picker>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
</block>
|
||||
<block wx:if="{{userInfo.biz_type != 1}}">
|
||||
<block wx:for="{{fines}}" wx:key='index'>
|
||||
<view class="relative bbs-1-eb last-b-none pl180 font-28">
|
||||
<view class="absolute left-0 box-middle">{{item.txt}}</view>
|
||||
<view>
|
||||
<input class="wp100 height-100 text-right font-28" placeholder-class="color-ccc" type="digit" placeholder="请输入服务费" bindinput='inputFines' data-index="{{index}}" data-type="price" value="{{item.price}}" always-embed='{{true}}' />
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
@@ -305,6 +372,20 @@
|
||||
<view class="absolute left-0 box-middle font-28 color-333">内饰颜色</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666">{{interiorArray[interiorIndex]}}</view>
|
||||
</view>
|
||||
<block wx:if="{{options_ids.length>0}}">
|
||||
<view class="relative bbs-1-eb last-b-none pl180 font-28">
|
||||
<view class="absolute left-0 box-middle color-333">选装</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666" style="height:38rpx;"><text class="mr10 color-f9394d">{{options_total}}</text>元</view>
|
||||
</view>
|
||||
<block wx:for="{{packageList}}" wx:key='index'>
|
||||
<view class="relative ml40 bbs-1-eb pl140 font-22 color-666" wx:if="{{item.checked}}">
|
||||
<view class="absolute left-0 box-middle"><i class="iconfont ml5 mr10 icon-gengduo"></i>{{item.title}}</view>
|
||||
<view class="pt25 pb25 text-right" style="min-height:30rpx">
|
||||
<block wx:if="{{item.price>0}}"><text class="mr10 color-f9394d">{{item.price}}</text>元</block>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
</block>
|
||||
<view class="mt40 font-32">其他信息</view>
|
||||
<view class="relative bbs-1-eb pl190 last-b-none">
|
||||
<view class="absolute left-0 box-middle font-28 color-333">付款方式</view>
|
||||
@@ -326,13 +407,21 @@
|
||||
<view class="absolute left-0 box-middle color-333">公司加价</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx;"><text class="mr10 color-f9394d">{{priceinfo.price_coplus}}</text>元</view>
|
||||
</view>
|
||||
<view class="relative bbs-1-eb last-b-none pl180 font-28" wx:if="{{priceinfo.sdeposit}}">
|
||||
<view class="relative bbs-1-eb last-b-none pl180 font-28" wx:if="{{paymentIndex == 1}}">
|
||||
<view class="absolute left-0 box-middle color-333">首付类型</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx;">{{firstPayArr[firstPayIndex]}}</view>
|
||||
</view>
|
||||
<view class="relative bbs-1-eb last-b-none pl180 font-28" wx:if="{{price_loan0>0}}">
|
||||
<view class="absolute left-0 box-middle color-333">首付按揭金额</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx;">{{price_loan0}}</view>
|
||||
</view>
|
||||
<view class="relative bbs-1-eb last-b-none pl180 font-28" wx:if="{{priceinfo.sdeposit&&if_zero_firstpay!=1}}">
|
||||
<view class="absolute left-0 box-middle color-333">定金</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx;"><text class="mr10 color-f9394d">{{priceinfo.sdeposit}}</text>元</view>
|
||||
</view>
|
||||
<view class="relative bbs-1-eb last-b-none pl180 font-28" wx:if="{{priceinfo.price}}">
|
||||
<view class="absolute left-0 box-middle color-333">最终售价</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx;"><text class="mr10 color-f9394d">{{priceinfo.price+priceinfo.price_color+priceinfo.price_coplus-(priceinfo.sdisc_money>0?priceinfo.sdisc_money:0)}}</text>元</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx;"><text class="mr10 color-f9394d">{{options_total+priceinfo.price+priceinfo.price_color+priceinfo.price_coplus-(priceinfo.sdisc_money>0?priceinfo.sdisc_money:0)}}</text>元</view>
|
||||
</view>
|
||||
<view class="relative ml40 bbs-1-eb pl140 font-22 color-666" wx:if="{{!!priceinfo.sdisc_money&&priceinfo.sdisc_money != ''}}">
|
||||
<view class="absolute left-0 box-middle"><i class="iconfont ml5 mr10 icon-gengduo"></i>优惠</view>
|
||||
@@ -373,6 +462,14 @@
|
||||
</view>
|
||||
</block>
|
||||
</block>
|
||||
<block wx:if="{{userInfo.biz_type != 1}}">
|
||||
<block wx:for="{{fines}}" wx:key='index'>
|
||||
<view class="relative bbs-1-eb last-b-none pl180 font-28">
|
||||
<view class="absolute left-0 box-middle color-333">{{item.txt}}</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx;"><text class="mr10 color-f9394d">{{item.price>0?item.price:0}}</text>元</view>
|
||||
</view>
|
||||
</block>
|
||||
</block>
|
||||
<view class="relative bbs-1-eb last-b-none pl180 font-28" wx:if="{{priceinfo.show_local_bill}}">
|
||||
<view class="absolute left-0 box-middle color-333">需开具本地发票</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666" style="height:38rpx;">{{if_local_bill?'需要':'不需要'}}</view>
|
||||
|
||||
@@ -0,0 +1,524 @@
|
||||
import _ from '../../../commons/js/commons'
|
||||
const app = getApp()
|
||||
Page({
|
||||
data: {
|
||||
cardida:{},//身份证正面照片
|
||||
cardidb:{},//身份证反面照片
|
||||
business_licence:{},//营业执照照片
|
||||
car_img:{},//行驶证照片
|
||||
register_img:{},//登记证照片
|
||||
ins_img:[],//保险照片
|
||||
other_img:[],//交车合照
|
||||
},
|
||||
onLoad: function (options) {
|
||||
for (let key in options) {
|
||||
this.setData({
|
||||
[key]: options[key]
|
||||
})
|
||||
}
|
||||
|
||||
this.getAppCusorderdata()
|
||||
|
||||
},
|
||||
onShow: function () {
|
||||
|
||||
},
|
||||
|
||||
//获取订单图片
|
||||
getAppCusorderdata(){
|
||||
let params = {};
|
||||
params['id'] = this.data.id;
|
||||
_.apiQuery.getAppCusorderdata(params).then(res=>{
|
||||
this.setData({
|
||||
imgInfo:res.data,
|
||||
})
|
||||
if(res.data.img_status == 1){
|
||||
this.setData({
|
||||
cardida:res.data.imgs.cardida.length==0?{}:res.data.imgs.cardida,
|
||||
cardidb:res.data.imgs.cardidb.length==0?{}:res.data.imgs.cardidb,
|
||||
business_licence:res.data.imgs.business_licence.length==0?{}:res.data.imgs.business_licence,
|
||||
car_img:res.data.imgs.car_img.length==0?{}:res.data.imgs.car_img,
|
||||
register_img:res.data.imgs.register_img.length==0?{}:res.data.imgs.register_img,
|
||||
ins_img:res.data.imgs.ins_img.length==0?[]:res.data.imgs.ins_img,
|
||||
other_img:res.data.imgs.other_img.length==0?[]:res.data.imgs.other_img,
|
||||
})
|
||||
}
|
||||
wx.stopPullDownRefresh()
|
||||
})
|
||||
},
|
||||
|
||||
//选择图片
|
||||
chooseImg(e) {
|
||||
let that = this
|
||||
//上传身份证正面
|
||||
if(e.currentTarget.dataset.type=='cardida'){
|
||||
wx.chooseImage({
|
||||
count: 1, // 默认9
|
||||
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||||
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||||
success(res) {
|
||||
wx.showLoading({
|
||||
title: '上传中',
|
||||
})
|
||||
wx.uploadFile({
|
||||
url:_.config.api.upImg,
|
||||
filePath:res.tempFilePaths[0],
|
||||
name: 'img',
|
||||
formData: {
|
||||
'app': 'liche'
|
||||
},
|
||||
success: (resp) => {
|
||||
resp.data = JSON.parse(resp.data);
|
||||
if (resp.data.code == 200) {
|
||||
let params = {};
|
||||
params['id'] = that.data.id;
|
||||
params['cardida'] = resp.data.data.url;
|
||||
_.apiQuery.putAppCusorderdata(params).then(res2 => {
|
||||
wx.hideLoading();
|
||||
that.setData({
|
||||
'cardida.value':resp.data.data.url,
|
||||
'cardida.img':resp.data.data.full_url,
|
||||
})
|
||||
}).catch(res2=>{
|
||||
wx.hideLoading();
|
||||
if(res2.code==418){
|
||||
that.setData({
|
||||
'cardida.value':resp.data.data.url,
|
||||
'cardida.img':resp.data.data.full_url,
|
||||
'cardida.err':!res2.data[0].caridA,
|
||||
'cardida.errmsg':res2.data[0].errmsg,
|
||||
})
|
||||
}
|
||||
});
|
||||
}else{
|
||||
wx.hideLoading();
|
||||
wx.showToast({
|
||||
title: '上传失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
},
|
||||
})
|
||||
},
|
||||
fail: res => {
|
||||
wx.showToast({
|
||||
title: '文件选择失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//上传身份证背面
|
||||
if(e.currentTarget.dataset.type=='cardidb'){
|
||||
wx.chooseImage({
|
||||
count: 1, // 默认9
|
||||
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||||
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||||
success(res) {
|
||||
wx.showLoading({
|
||||
title: '上传中',
|
||||
})
|
||||
wx.uploadFile({
|
||||
url:_.config.api.upImg,
|
||||
filePath:res.tempFilePaths[0],
|
||||
name: 'img',
|
||||
formData: {
|
||||
'app': 'liche'
|
||||
},
|
||||
success: (resp) => {
|
||||
resp.data = JSON.parse(resp.data);
|
||||
if (resp.data.code == 200) {
|
||||
let params = {};
|
||||
params['id'] = that.data.id;
|
||||
params['cardidb'] = resp.data.data.url;
|
||||
_.apiQuery.putAppCusorderdata(params).then(res2 => {
|
||||
wx.hideLoading();
|
||||
that.setData({
|
||||
'cardidb.value':resp.data.data.url,
|
||||
'cardidb.img':resp.data.data.full_url,
|
||||
})
|
||||
}).catch(res2=>{
|
||||
wx.hideLoading();
|
||||
if(res2.code==418){
|
||||
that.setData({
|
||||
'cardidb.value':resp.data.data.url,
|
||||
'cardidb.img':resp.data.data.full_url,
|
||||
'cardidb.err':!res2.data[1].caridB,
|
||||
'cardidb.errmsg':res2.data[1].errmsg,
|
||||
})
|
||||
}
|
||||
});
|
||||
}else{
|
||||
wx.hideLoading();
|
||||
wx.showToast({
|
||||
title: '上传失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
},
|
||||
})
|
||||
},
|
||||
fail: res => {
|
||||
wx.showToast({
|
||||
title: '文件选择失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//上传营业执照
|
||||
if(e.currentTarget.dataset.type=='business_licence'){
|
||||
wx.chooseImage({
|
||||
count: 1, // 默认9
|
||||
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||||
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||||
success(res) {
|
||||
wx.showLoading({
|
||||
title: '上传中',
|
||||
})
|
||||
wx.uploadFile({
|
||||
url:_.config.api.upImg,
|
||||
filePath:res.tempFilePaths[0],
|
||||
name: 'img',
|
||||
formData: {
|
||||
'app': 'liche'
|
||||
},
|
||||
success: (resp) => {
|
||||
resp.data = JSON.parse(resp.data);
|
||||
if (resp.data.code == 200) {
|
||||
let params = {};
|
||||
params['id'] = that.data.id;
|
||||
params['business_licence'] = resp.data.data.url;
|
||||
_.apiQuery.putAppCusorderdata(params).then(res2 => {
|
||||
wx.hideLoading();
|
||||
that.setData({
|
||||
'business_licence.value':resp.data.data.url,
|
||||
'business_licence.img':resp.data.data.full_url,
|
||||
})
|
||||
}).catch(res2=>{
|
||||
wx.hideLoading();
|
||||
if(res2.code==418){
|
||||
that.setData({
|
||||
'business_licence.value':resp.data.data.url,
|
||||
'business_licence.img':resp.data.data.full_url,
|
||||
'business_licence.err':!res2.data[0].business_licence,
|
||||
'business_licence.errmsg':res2.data[0].errmsg,
|
||||
})
|
||||
}
|
||||
});
|
||||
}else{
|
||||
wx.hideLoading();
|
||||
wx.showToast({
|
||||
title: '上传失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
},
|
||||
})
|
||||
},
|
||||
fail: res => {
|
||||
wx.showToast({
|
||||
title: '文件选择失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//上传登记证
|
||||
if(e.currentTarget.dataset.type=='register_img'){
|
||||
wx.chooseImage({
|
||||
count: 1, // 默认9
|
||||
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||||
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||||
success(res) {
|
||||
wx.showLoading({
|
||||
title: '上传中',
|
||||
})
|
||||
wx.uploadFile({
|
||||
url:_.config.api.upImg,
|
||||
filePath:res.tempFilePaths[0],
|
||||
name: 'img',
|
||||
formData: {
|
||||
'app': 'liche'
|
||||
},
|
||||
success: (resp) => {
|
||||
resp.data = JSON.parse(resp.data);
|
||||
if (resp.data.code == 200) {
|
||||
let params = {};
|
||||
params['id'] = that.data.id;
|
||||
params['register_img'] = resp.data.data.url;
|
||||
_.apiQuery.putAppCusorderdata(params).then(res2 => {
|
||||
wx.hideLoading();
|
||||
that.setData({
|
||||
'register_img.value':resp.data.data.url,
|
||||
'register_img.img':resp.data.data.full_url,
|
||||
})
|
||||
}).catch(res2=>{
|
||||
wx.hideLoading();
|
||||
});
|
||||
}else{
|
||||
wx.hideLoading();
|
||||
wx.showToast({
|
||||
title: '上传失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
},
|
||||
})
|
||||
},
|
||||
fail: res => {
|
||||
wx.showToast({
|
||||
title: '文件选择失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//上传行驶证
|
||||
if(e.currentTarget.dataset.type=='car_img'){
|
||||
wx.chooseImage({
|
||||
count: 1, // 默认9
|
||||
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||||
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||||
success(res) {
|
||||
wx.showLoading({
|
||||
title: '上传中',
|
||||
})
|
||||
wx.uploadFile({
|
||||
url:_.config.api.upImg,
|
||||
filePath:res.tempFilePaths[0],
|
||||
name: 'img',
|
||||
formData: {
|
||||
'app': 'liche'
|
||||
},
|
||||
success: (resp) => {
|
||||
resp.data = JSON.parse(resp.data);
|
||||
if (resp.data.code == 200) {
|
||||
let params = {};
|
||||
params['id'] = that.data.id;
|
||||
params['car_img'] = resp.data.data.url;
|
||||
_.apiQuery.putAppCusorderdata(params).then(res2 => {
|
||||
wx.hideLoading();
|
||||
that.setData({
|
||||
'car_img.value':resp.data.data.url,
|
||||
'car_img.img':resp.data.data.full_url,
|
||||
})
|
||||
}).catch(res2=>{
|
||||
wx.hideLoading();
|
||||
});
|
||||
}else{
|
||||
wx.hideLoading();
|
||||
wx.showToast({
|
||||
title: '上传失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
},
|
||||
})
|
||||
},
|
||||
fail: res => {
|
||||
wx.showToast({
|
||||
title: '文件选择失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//上传保单
|
||||
if(e.currentTarget.dataset.type=='ins_img'){
|
||||
wx.chooseImage({
|
||||
count: 10 - that.data.ins_img.length, //
|
||||
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||||
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||||
success(res1) {
|
||||
wx.showLoading({
|
||||
title: '上传中',
|
||||
})
|
||||
let ins_img=that.data.ins_img
|
||||
let k = 0
|
||||
for (let i = 0; i < res1.tempFilePaths.length; i++) {
|
||||
//上传图片
|
||||
wx.uploadFile({
|
||||
url:_.config.api.upImg,
|
||||
filePath:res1.tempFilePaths[i],
|
||||
name: 'img',
|
||||
formData: {
|
||||
'app': 'liche'
|
||||
},
|
||||
success: (resp) => {
|
||||
k = k + 1
|
||||
resp.data = JSON.parse(resp.data);
|
||||
if (resp.data.code == 200) {
|
||||
let imgdata = resp.data
|
||||
let list = []
|
||||
list.push({
|
||||
value:imgdata.data.url,
|
||||
img:imgdata.data.full_url,
|
||||
})
|
||||
ins_img=ins_img.concat(list)
|
||||
if(k == res1.tempFilePaths.length){
|
||||
let params = {};
|
||||
params['id'] = that.data.id;
|
||||
let img = []
|
||||
ins_img.forEach(item => {
|
||||
img.push(item.value)
|
||||
})
|
||||
params['ins_imgs'] = img;
|
||||
_.apiQuery.putAppCusorderdata(params).then(res2 => {
|
||||
wx.hideLoading();
|
||||
that.setData({
|
||||
ins_img,
|
||||
})
|
||||
}).catch(res2=>{
|
||||
wx.hideLoading();
|
||||
});
|
||||
}
|
||||
}else{
|
||||
wx.hideLoading();
|
||||
}
|
||||
},
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
},
|
||||
fail: res => {
|
||||
wx.showToast({
|
||||
title: '文件选择失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//上传交车合照
|
||||
if(e.currentTarget.dataset.type=='other_img'){
|
||||
wx.chooseImage({
|
||||
count: 1, //
|
||||
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||||
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||||
success(res1) {
|
||||
wx.showLoading({
|
||||
title: '上传中',
|
||||
})
|
||||
let other_img=that.data.other_img
|
||||
let k = 0
|
||||
for (let i = 0; i < res1.tempFilePaths.length; i++) {
|
||||
//上传图片
|
||||
wx.uploadFile({
|
||||
url:_.config.api.upImg,
|
||||
filePath:res1.tempFilePaths[i],
|
||||
name: 'img',
|
||||
formData: {
|
||||
'app': 'liche'
|
||||
},
|
||||
success: (resp) => {
|
||||
k = k + 1
|
||||
resp.data = JSON.parse(resp.data);
|
||||
if (resp.data.code == 200) {
|
||||
let imgdata = resp.data
|
||||
let list = []
|
||||
list.push({
|
||||
value:imgdata.data.url,
|
||||
img:imgdata.data.full_url,
|
||||
})
|
||||
other_img=other_img.concat(list)
|
||||
if(k == res1.tempFilePaths.length){
|
||||
let params = {};
|
||||
params['id'] = that.data.id;
|
||||
let img = []
|
||||
other_img.forEach(item => {
|
||||
img.push(item.value)
|
||||
})
|
||||
params['other_imgs'] = img;
|
||||
_.apiQuery.putAppCusorderdata(params).then(res2 => {
|
||||
wx.hideLoading();
|
||||
that.setData({
|
||||
other_img,
|
||||
})
|
||||
}).catch(res2=>{
|
||||
wx.hideLoading();
|
||||
});
|
||||
}
|
||||
}else{
|
||||
wx.hideLoading();
|
||||
}
|
||||
},
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
},
|
||||
fail: res => {
|
||||
wx.showToast({
|
||||
title: '文件选择失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
// 编辑页面删除图片
|
||||
delImg(e){
|
||||
if(e.currentTarget.dataset.type=='ins_img'){
|
||||
let ins_img = this.data.ins_img
|
||||
ins_img.splice(e.currentTarget.dataset.index, 1)
|
||||
let params = {};
|
||||
params['id'] = this.data.id;
|
||||
let img = []
|
||||
ins_img.forEach(item => {
|
||||
img.push(item.value)
|
||||
})
|
||||
params['ins_imgs'] = img;
|
||||
_.apiQuery.putAppCusorderdata(params).then(res => {
|
||||
this.setData({
|
||||
ins_img,
|
||||
})
|
||||
})
|
||||
}else if(e.currentTarget.dataset.type=='other_img'){
|
||||
let other_img = this.data.other_img
|
||||
other_img.splice(e.currentTarget.dataset.index, 1)
|
||||
let params = {};
|
||||
params['id'] = this.data.id;
|
||||
let img = []
|
||||
other_img.forEach(item => {
|
||||
img.push(item.value)
|
||||
})
|
||||
params['other_imgs'] = img;
|
||||
_.apiQuery.putAppCusorderdata(params).then(res => {
|
||||
this.setData({
|
||||
other_img,
|
||||
})
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
//查看图片
|
||||
previewImage: function (e) {
|
||||
if(e.currentTarget.dataset.type=='business_licence'){
|
||||
wx.previewImage({
|
||||
current:this.data.imgInfo.imgs.business_licence.img,
|
||||
urls:[this.data.imgInfo.imgs.business_licence.img],
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
})
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"navigationBarTitleText": "营业执照信息",
|
||||
"usingComponents": {}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
<view class="container">
|
||||
<view class="inner30">
|
||||
|
||||
<!-- <view class="mt40 font-32">营业执照</view> -->
|
||||
<view class="mt30 text-center">
|
||||
<view class="inline-block img-300x200 relative ulib-r10 overflowhidden">
|
||||
<block wx:if="{{business_licence.value}}">
|
||||
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden">
|
||||
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-shuaxin inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-4" bindtap="chooseImg" data-type="business_licence"></i>
|
||||
<view class="absolute top-0 left-0 bottom-0 right-0 bg-f00-op50 z-index-3" wx:if="{{business_licence.err}}">
|
||||
<view class="absolute left-0 right-0 box-middle pl20 pr20 text-break font-22 color-fff"><i class="iconfont icon-jinggao"></i>{{business_licence.errmsg}}</view>
|
||||
</view>
|
||||
<image class='block wp100 img-h-200 ulib-r10' src='{{business_licence.img}}' mode='aspectFit' bindtap="previewImage" data-type="business_licence"></image>
|
||||
</view>
|
||||
</block>
|
||||
<block wx:else>
|
||||
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-type="business_licence">
|
||||
<view class="absolute left-0 right-0 box-middle color-ccc">
|
||||
<i class="iconfont icon-fanmian font-60"></i>
|
||||
<view class="mt10 font-22">上传营业执照</view>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
@@ -0,0 +1 @@
|
||||
/* pages/order/editBusinessBicence/index.wxss */
|
||||
@@ -0,0 +1,169 @@
|
||||
import _ from '../../../commons/js/commons'
|
||||
const app = getApp()
|
||||
Page({
|
||||
data: {
|
||||
name:'',//姓名
|
||||
mobile:'',//手机号
|
||||
cardid:'',//身份证
|
||||
},
|
||||
onLoad: function (options) {
|
||||
for (let key in options) {
|
||||
this.setData({
|
||||
[key]: options[key]
|
||||
})
|
||||
}
|
||||
|
||||
this.getAppCusorderV2()
|
||||
|
||||
},
|
||||
onShow: function () {
|
||||
|
||||
},
|
||||
|
||||
//获取订单详情
|
||||
getAppCusorderV2(){
|
||||
let params = {};
|
||||
params['id'] = this.data.id;
|
||||
_.apiQuery.getAppCusorderV2(params).then(res=>{
|
||||
this.setData({
|
||||
name:res.data.name?res.data.name:'',
|
||||
mobile:res.data.mobile?res.data.mobile:'',
|
||||
cardid:res.data.cardid?res.data.cardid:'',
|
||||
})
|
||||
|
||||
wx.stopPullDownRefresh()
|
||||
|
||||
})
|
||||
},
|
||||
|
||||
//修改订单基本信息
|
||||
putAppCusorderV2Info() {
|
||||
this.setData({
|
||||
mobile:this.trimAll(this.data.mobile),
|
||||
cardid:this.trimAll(this.data.cardid),
|
||||
})
|
||||
if (this.data.name == '' ) {
|
||||
wx.showToast({
|
||||
title: '请输入客户姓名',
|
||||
icon: 'none'
|
||||
})
|
||||
}else if (this.data.mobile != this.data.org_mobile && !/^1[3456789]\d{9}$/.test(this.data.mobile)){
|
||||
wx.showToast({
|
||||
title: '请输入客户手机号',
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
else if(this.data.cardid == ''|| !/^\d{6}(18|19|20)?\d{2}(0[1-9]|1[012])(0[1-9]|[12]\d|3[01])\d{3}(\d|[xX])$/.test(this.data.cardid)){
|
||||
wx.showToast({
|
||||
title: '请填写正确客户身份证',
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
else{
|
||||
let that = this
|
||||
that.setData({
|
||||
submitFlag: true,
|
||||
})
|
||||
let params = {};
|
||||
params['id'] = that.data.id;
|
||||
params['name'] = that.data.name;
|
||||
params['mobile'] = that.data.mobile;
|
||||
params['cardid'] = that.data.cardid;
|
||||
_.apiQuery.putAppCusorderV2Info(params).then(res => {
|
||||
|
||||
//刷新详情页
|
||||
let pages = getCurrentPages();
|
||||
let prevPage = null; //上一个页面
|
||||
if (pages.length >= 2) {
|
||||
prevPage = pages[pages.length - 2]; //上一个页面
|
||||
if(prevPage.route == 'pages/order/detail/index2'){
|
||||
prevPage.onPullDownRefresh()
|
||||
}
|
||||
}
|
||||
wx.showToast({
|
||||
title: '编辑成功',
|
||||
icon: 'success',
|
||||
duration: 2000
|
||||
})
|
||||
setTimeout(function () {
|
||||
wx.navigateBack({
|
||||
delta: 1
|
||||
})
|
||||
}, 500)
|
||||
|
||||
}).catch(res=>{
|
||||
that.setData({
|
||||
submitFlag: false,
|
||||
})
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
//推送链接
|
||||
pushLink(e){
|
||||
if(e.currentTarget.dataset.url){
|
||||
_.$router.openUrlScheme(e.currentTarget.dataset.url)
|
||||
}
|
||||
},
|
||||
|
||||
//选择图片
|
||||
chooseImg(e) {
|
||||
let that = this
|
||||
//上传身份证正面-车主身份证
|
||||
//上传身份证正面-客户身份证
|
||||
if(e.currentTarget.dataset.type=='customer'){
|
||||
wx.chooseImage({
|
||||
count: 1, // 默认9
|
||||
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||||
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||||
success(res) {
|
||||
wx.showLoading({
|
||||
title: '识别中',
|
||||
})
|
||||
wx.uploadFile({
|
||||
url:_.config.api.upImg,
|
||||
filePath:res.tempFilePaths[0],
|
||||
name: 'img',
|
||||
formData: {
|
||||
'app': 'liche'
|
||||
},
|
||||
success: (resp) => {
|
||||
resp.data = JSON.parse(resp.data);
|
||||
if (resp.data.code == 200) {
|
||||
let params = {};
|
||||
params['img'] = resp.data.data.url;
|
||||
_.apiQuery.getAppIdcardInfo(params).then(res2 => {
|
||||
wx.hideLoading();
|
||||
that.setData({
|
||||
cardid:res2.data.IdNum,
|
||||
name:res2.data.Name,
|
||||
})
|
||||
})
|
||||
}
|
||||
},
|
||||
fail: res => {
|
||||
wx.hideLoading();
|
||||
}
|
||||
})
|
||||
},
|
||||
fail: res => {
|
||||
wx.showToast({
|
||||
title: '文件选择失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
//去除空格
|
||||
trimAll(ele){
|
||||
if(typeof ele === 'string'){
|
||||
return ele.split(' ').join('');
|
||||
}else{
|
||||
console.error(`${typeof ele} is not the expected type, but the string type is expected`)
|
||||
}
|
||||
},
|
||||
|
||||
})
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"usingComponents": {}
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
<view class="container">
|
||||
<view class="inner30">
|
||||
<view class="mt10 pt20 pb20 bg-e3f5f3 font-36 text-center ulib-r10">购车人信息</view>
|
||||
<block>
|
||||
<view class="relative bbs-1-eb last-b-none pl180 font-28">
|
||||
<view class="absolute left-0 box-middle">客户手机号码<text class="color-f9394d">*</text></view>
|
||||
<view>
|
||||
<input class="wp100 height-100 text-right font-28" placeholder-class="color-ccc" type="number" placeholder="请输入客户手机号码" model:value='{{mobile}}' disabled='{{isShowIntenMoney||isShowAddress?true:false}}' always-embed='{{true}}' />
|
||||
</view>
|
||||
</view>
|
||||
<view class="relative bbs-1-eb last-b-none pl180 pr60 font-28">
|
||||
<view class="absolute left-0 box-middle">客户身份证<text class="color-f9394d">*</text></view>
|
||||
<view>
|
||||
<input class="wp100 height-100 text-right font-28" placeholder-class="color-ccc" type="idcard" placeholder="请输入客户身份证" model:value='{{cardid}}' disabled='{{isShowIntenMoney||isShowAddress?true:false}}' always-embed='{{true}}' />
|
||||
</view>
|
||||
<view class="absolute right-0 box-middle font-50 iconfont icon-cardid color-666" bindtap="chooseImg" data-type="customer"></view>
|
||||
</view>
|
||||
<view class="relative bbs-1-eb last-b-none pl180 font-28">
|
||||
<view class="absolute left-0 box-middle">客户姓名<text class="color-f9394d">*</text></view>
|
||||
<view>
|
||||
<input class="wp100 height-100 text-right font-28" placeholder-class="color-ccc" type="text" placeholder="请输入客户姓名" model:value='{{name}}' disabled='{{isShowIntenMoney||isShowAddress?true:false}}' always-embed='{{true}}' />
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
<view class="mt40 font-22 color-666 text-center">
|
||||
<label class="inline-block text-middle statement fn-clear"><checkbox class="fn-fl" value="cb" /><text class="pt3 fn-fl">我已阅读并同意</text></label>
|
||||
<text class="text-middle color-36afa2" bindtap="pushLink" data-url="/pages/statement/registration/index">《狸车用户注册协议》</text>
|
||||
<text class="text-middle">和</text>
|
||||
<text class="text-middle color-36afa2" bindtap="pushLink" data-url="/pages/statement/privacy/index">《狸车用户隐私政策》</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="fixed left-0 right-0 bottom-0 bg-fff-op90 inner40 fn-flex safe-pb">
|
||||
<button class="wp100 btn-36afa2 pt10 pb10 text-center font-32 color-fff ulib-r750" hover-class="btn-36afa2-hover" disabled="{{submitFlag}}" bindtap="putAppCusorderV2Info">确认</button>
|
||||
</view>
|
||||
@@ -0,0 +1,19 @@
|
||||
/*复选框外框样式*/
|
||||
.statement checkbox .wx-checkbox-input {
|
||||
width:22rpx;
|
||||
height:22rpx;
|
||||
border-color: #999;
|
||||
background: #f9f9f9;
|
||||
}
|
||||
/* 选中后的 背景样式*/
|
||||
.statement checkbox .wx-checkbox-input.wx-checkbox-input-checked {
|
||||
border-color: #36afa2;
|
||||
background: #36afa2;
|
||||
}
|
||||
/*复选框选中后内部样式*/
|
||||
.statement checkbox .wx-checkbox-input.wx-checkbox-input-checked::before {
|
||||
font-size:18rpx;
|
||||
color:#fff;
|
||||
transform:translate(-50%, -50%) scale(1);
|
||||
-webkit-transform:translate(-50%, -50%) scale(1);
|
||||
}
|
||||
@@ -0,0 +1,524 @@
|
||||
import _ from '../../../commons/js/commons'
|
||||
const app = getApp()
|
||||
Page({
|
||||
data: {
|
||||
cardida:{},//身份证正面照片
|
||||
cardidb:{},//身份证反面照片
|
||||
business_licence:{},//营业执照照片
|
||||
car_img:{},//行驶证照片
|
||||
register_img:{},//登记证照片
|
||||
ins_img:[],//保险照片
|
||||
other_img:[],//交车合照
|
||||
},
|
||||
onLoad: function (options) {
|
||||
for (let key in options) {
|
||||
this.setData({
|
||||
[key]: options[key]
|
||||
})
|
||||
}
|
||||
|
||||
this.getAppCusorderdata()
|
||||
|
||||
},
|
||||
onShow: function () {
|
||||
|
||||
},
|
||||
|
||||
//获取订单图片
|
||||
getAppCusorderdata(){
|
||||
let params = {};
|
||||
params['id'] = this.data.id;
|
||||
_.apiQuery.getAppCusorderdata(params).then(res=>{
|
||||
this.setData({
|
||||
imgInfo:res.data,
|
||||
})
|
||||
if(res.data.img_status == 1){
|
||||
this.setData({
|
||||
cardida:res.data.imgs.cardida.length==0?{}:res.data.imgs.cardida,
|
||||
cardidb:res.data.imgs.cardidb.length==0?{}:res.data.imgs.cardidb,
|
||||
business_licence:res.data.imgs.business_licence.length==0?{}:res.data.imgs.business_licence,
|
||||
car_img:res.data.imgs.car_img.length==0?{}:res.data.imgs.car_img,
|
||||
register_img:res.data.imgs.register_img.length==0?{}:res.data.imgs.register_img,
|
||||
ins_img:res.data.imgs.ins_img.length==0?[]:res.data.imgs.ins_img,
|
||||
other_img:res.data.imgs.other_img.length==0?[]:res.data.imgs.other_img,
|
||||
})
|
||||
}
|
||||
wx.stopPullDownRefresh()
|
||||
})
|
||||
},
|
||||
|
||||
//选择图片
|
||||
chooseImg(e) {
|
||||
let that = this
|
||||
//上传身份证正面
|
||||
if(e.currentTarget.dataset.type=='cardida'){
|
||||
wx.chooseImage({
|
||||
count: 1, // 默认9
|
||||
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||||
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||||
success(res) {
|
||||
wx.showLoading({
|
||||
title: '上传中',
|
||||
})
|
||||
wx.uploadFile({
|
||||
url:_.config.api.upImg,
|
||||
filePath:res.tempFilePaths[0],
|
||||
name: 'img',
|
||||
formData: {
|
||||
'app': 'liche'
|
||||
},
|
||||
success: (resp) => {
|
||||
resp.data = JSON.parse(resp.data);
|
||||
if (resp.data.code == 200) {
|
||||
let params = {};
|
||||
params['id'] = that.data.id;
|
||||
params['cardida'] = resp.data.data.url;
|
||||
_.apiQuery.putAppCusorderdata(params).then(res2 => {
|
||||
wx.hideLoading();
|
||||
that.setData({
|
||||
'cardida.value':resp.data.data.url,
|
||||
'cardida.img':resp.data.data.full_url,
|
||||
})
|
||||
|
||||
}).catch(res2=>{
|
||||
wx.hideLoading();
|
||||
if(res2.code==418){
|
||||
that.setData({
|
||||
'cardida.value':resp.data.data.url,
|
||||
'cardida.img':resp.data.data.full_url,
|
||||
'cardida.err':!res2.data[0].caridA,
|
||||
'cardida.errmsg':res2.data[0].errmsg,
|
||||
})
|
||||
}
|
||||
});
|
||||
}else{
|
||||
wx.hideLoading();
|
||||
wx.showToast({
|
||||
title: '上传失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
},
|
||||
})
|
||||
},
|
||||
fail: res => {
|
||||
wx.showToast({
|
||||
title: '文件选择失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//上传身份证背面
|
||||
if(e.currentTarget.dataset.type=='cardidb'){
|
||||
wx.chooseImage({
|
||||
count: 1, // 默认9
|
||||
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||||
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||||
success(res) {
|
||||
wx.showLoading({
|
||||
title: '上传中',
|
||||
})
|
||||
wx.uploadFile({
|
||||
url:_.config.api.upImg,
|
||||
filePath:res.tempFilePaths[0],
|
||||
name: 'img',
|
||||
formData: {
|
||||
'app': 'liche'
|
||||
},
|
||||
success: (resp) => {
|
||||
resp.data = JSON.parse(resp.data);
|
||||
if (resp.data.code == 200) {
|
||||
let params = {};
|
||||
params['id'] = that.data.id;
|
||||
params['cardidb'] = resp.data.data.url;
|
||||
_.apiQuery.putAppCusorderdata(params).then(res2 => {
|
||||
wx.hideLoading();
|
||||
that.setData({
|
||||
'cardidb.value':resp.data.data.url,
|
||||
'cardidb.img':resp.data.data.full_url,
|
||||
})
|
||||
}).catch(res2=>{
|
||||
wx.hideLoading();
|
||||
if(res2.code==418){
|
||||
that.setData({
|
||||
'cardidb.value':resp.data.data.url,
|
||||
'cardidb.img':resp.data.data.full_url,
|
||||
'cardidb.err':!res2.data[1].caridB,
|
||||
'cardidb.errmsg':res2.data[1].errmsg,
|
||||
})
|
||||
}
|
||||
});
|
||||
}else{
|
||||
wx.hideLoading();
|
||||
wx.showToast({
|
||||
title: '上传失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
},
|
||||
})
|
||||
},
|
||||
fail: res => {
|
||||
wx.showToast({
|
||||
title: '文件选择失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//上传营业执照
|
||||
if(e.currentTarget.dataset.type=='business_licence'){
|
||||
wx.chooseImage({
|
||||
count: 1, // 默认9
|
||||
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||||
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||||
success(res) {
|
||||
wx.showLoading({
|
||||
title: '上传中',
|
||||
})
|
||||
wx.uploadFile({
|
||||
url:_.config.api.upImg,
|
||||
filePath:res.tempFilePaths[0],
|
||||
name: 'img',
|
||||
formData: {
|
||||
'app': 'liche'
|
||||
},
|
||||
success: (resp) => {
|
||||
resp.data = JSON.parse(resp.data);
|
||||
if (resp.data.code == 200) {
|
||||
let params = {};
|
||||
params['id'] = that.data.id;
|
||||
params['business_licence'] = resp.data.data.url;
|
||||
_.apiQuery.putAppCusorderdata(params).then(res2 => {
|
||||
wx.hideLoading();
|
||||
that.setData({
|
||||
'business_licence.value':resp.data.data.url,
|
||||
'business_licence.img':resp.data.data.full_url,
|
||||
})
|
||||
}).catch(res2=>{
|
||||
wx.hideLoading();
|
||||
if(res2.code==418){
|
||||
that.setData({
|
||||
'business_licence.value':resp.data.data.url,
|
||||
'business_licence.img':resp.data.data.full_url,
|
||||
'business_licence.err':!res2.data[0].business_licence,
|
||||
'business_licence.errmsg':res2.data[0].errmsg,
|
||||
})
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
})
|
||||
},
|
||||
fail: res => {
|
||||
wx.showToast({
|
||||
title: '文件选择失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//上传登记证
|
||||
if(e.currentTarget.dataset.type=='register_img'){
|
||||
wx.chooseImage({
|
||||
count: 1, // 默认9
|
||||
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||||
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||||
success(res) {
|
||||
wx.showLoading({
|
||||
title: '上传中',
|
||||
})
|
||||
wx.uploadFile({
|
||||
url:_.config.api.upImg,
|
||||
filePath:res.tempFilePaths[0],
|
||||
name: 'img',
|
||||
formData: {
|
||||
'app': 'liche'
|
||||
},
|
||||
success: (resp) => {
|
||||
resp.data = JSON.parse(resp.data);
|
||||
if (resp.data.code == 200) {
|
||||
let params = {};
|
||||
params['id'] = that.data.id;
|
||||
params['register_img'] = resp.data.data.url;
|
||||
_.apiQuery.putAppCusorderdata(params).then(res2 => {
|
||||
wx.hideLoading();
|
||||
that.setData({
|
||||
'register_img.value':resp.data.data.url,
|
||||
'register_img.img':resp.data.data.full_url,
|
||||
})
|
||||
}).catch(res2=>{
|
||||
wx.hideLoading();
|
||||
});
|
||||
}else{
|
||||
wx.hideLoading();
|
||||
wx.showToast({
|
||||
title: '上传失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
},
|
||||
})
|
||||
},
|
||||
fail: res => {
|
||||
wx.showToast({
|
||||
title: '文件选择失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//上传行驶证
|
||||
if(e.currentTarget.dataset.type=='car_img'){
|
||||
wx.chooseImage({
|
||||
count: 1, // 默认9
|
||||
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||||
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||||
success(res) {
|
||||
wx.showLoading({
|
||||
title: '上传中',
|
||||
})
|
||||
wx.uploadFile({
|
||||
url:_.config.api.upImg,
|
||||
filePath:res.tempFilePaths[0],
|
||||
name: 'img',
|
||||
formData: {
|
||||
'app': 'liche'
|
||||
},
|
||||
success: (resp) => {
|
||||
resp.data = JSON.parse(resp.data);
|
||||
if (resp.data.code == 200) {
|
||||
let params = {};
|
||||
params['id'] = that.data.id;
|
||||
params['car_img'] = resp.data.data.url;
|
||||
_.apiQuery.putAppCusorderdata(params).then(res2 => {
|
||||
wx.hideLoading();
|
||||
that.setData({
|
||||
'car_img.value':resp.data.data.url,
|
||||
'car_img.img':resp.data.data.full_url,
|
||||
})
|
||||
}).catch(res2=>{
|
||||
wx.hideLoading();
|
||||
});
|
||||
}else{
|
||||
wx.hideLoading();
|
||||
wx.showToast({
|
||||
title: '上传失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
},
|
||||
})
|
||||
},
|
||||
fail: res => {
|
||||
wx.showToast({
|
||||
title: '文件选择失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//上传保单
|
||||
if(e.currentTarget.dataset.type=='ins_img'){
|
||||
wx.chooseImage({
|
||||
count: 10 - that.data.ins_img.length, //
|
||||
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||||
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||||
success(res1) {
|
||||
wx.showLoading({
|
||||
title: '上传中',
|
||||
})
|
||||
let ins_img=that.data.ins_img
|
||||
let k = 0
|
||||
for (let i = 0; i < res1.tempFilePaths.length; i++) {
|
||||
//上传图片
|
||||
wx.uploadFile({
|
||||
url:_.config.api.upImg,
|
||||
filePath:res1.tempFilePaths[i],
|
||||
name: 'img',
|
||||
formData: {
|
||||
'app': 'liche'
|
||||
},
|
||||
success: (resp) => {
|
||||
k = k + 1
|
||||
resp.data = JSON.parse(resp.data);
|
||||
if (resp.data.code == 200) {
|
||||
let imgdata = resp.data
|
||||
let list = []
|
||||
list.push({
|
||||
value:imgdata.data.url,
|
||||
img:imgdata.data.full_url,
|
||||
})
|
||||
ins_img=ins_img.concat(list)
|
||||
if(k == res1.tempFilePaths.length){
|
||||
let params = {};
|
||||
params['id'] = that.data.id;
|
||||
let img = []
|
||||
ins_img.forEach(item => {
|
||||
img.push(item.value)
|
||||
})
|
||||
params['ins_imgs'] = img;
|
||||
_.apiQuery.putAppCusorderdata(params).then(res2 => {
|
||||
wx.hideLoading();
|
||||
that.setData({
|
||||
ins_img,
|
||||
})
|
||||
}).catch(res2=>{
|
||||
wx.hideLoading();
|
||||
});
|
||||
}
|
||||
}else{
|
||||
wx.hideLoading();
|
||||
}
|
||||
},
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
},
|
||||
fail: res => {
|
||||
wx.showToast({
|
||||
title: '文件选择失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//上传交车合照
|
||||
if(e.currentTarget.dataset.type=='other_img'){
|
||||
wx.chooseImage({
|
||||
count: 1, //
|
||||
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||||
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||||
success(res1) {
|
||||
wx.showLoading({
|
||||
title: '上传中',
|
||||
})
|
||||
let other_img=that.data.other_img
|
||||
let k = 0
|
||||
for (let i = 0; i < res1.tempFilePaths.length; i++) {
|
||||
//上传图片
|
||||
wx.uploadFile({
|
||||
url:_.config.api.upImg,
|
||||
filePath:res1.tempFilePaths[i],
|
||||
name: 'img',
|
||||
formData: {
|
||||
'app': 'liche'
|
||||
},
|
||||
success: (resp) => {
|
||||
k = k + 1
|
||||
resp.data = JSON.parse(resp.data);
|
||||
if (resp.data.code == 200) {
|
||||
let imgdata = resp.data
|
||||
let list = []
|
||||
list.push({
|
||||
value:imgdata.data.url,
|
||||
img:imgdata.data.full_url,
|
||||
})
|
||||
other_img=other_img.concat(list)
|
||||
if(k == res1.tempFilePaths.length){
|
||||
let params = {};
|
||||
params['id'] = that.data.id;
|
||||
let img = []
|
||||
other_img.forEach(item => {
|
||||
img.push(item.value)
|
||||
})
|
||||
params['other_imgs'] = img;
|
||||
_.apiQuery.putAppCusorderdata(params).then(res2 => {
|
||||
wx.hideLoading();
|
||||
that.setData({
|
||||
other_img,
|
||||
})
|
||||
}).catch(res2=>{
|
||||
wx.hideLoading();
|
||||
});
|
||||
}
|
||||
}else{
|
||||
wx.hideLoading();
|
||||
}
|
||||
},
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
},
|
||||
fail: res => {
|
||||
wx.showToast({
|
||||
title: '文件选择失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
// 编辑页面删除图片
|
||||
delImg(e){
|
||||
if(e.currentTarget.dataset.type=='ins_img'){
|
||||
let ins_img = this.data.ins_img
|
||||
ins_img.splice(e.currentTarget.dataset.index, 1)
|
||||
let params = {};
|
||||
params['id'] = this.data.id;
|
||||
let img = []
|
||||
ins_img.forEach(item => {
|
||||
img.push(item.value)
|
||||
})
|
||||
params['ins_imgs'] = img;
|
||||
_.apiQuery.putAppCusorderdata(params).then(res => {
|
||||
this.setData({
|
||||
ins_img,
|
||||
})
|
||||
})
|
||||
}else if(e.currentTarget.dataset.type=='other_img'){
|
||||
let other_img = this.data.other_img
|
||||
other_img.splice(e.currentTarget.dataset.index, 1)
|
||||
let params = {};
|
||||
params['id'] = this.data.id;
|
||||
let img = []
|
||||
other_img.forEach(item => {
|
||||
img.push(item.value)
|
||||
})
|
||||
params['other_imgs'] = img;
|
||||
_.apiQuery.putAppCusorderdata(params).then(res => {
|
||||
this.setData({
|
||||
other_img,
|
||||
})
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
//查看图片
|
||||
previewImage: function (e) {
|
||||
if(e.currentTarget.dataset.type=='cardida'){
|
||||
wx.previewImage({
|
||||
current:this.data.imgInfo.imgs.cardida.img,
|
||||
urls:[this.data.imgInfo.imgs.cardida.img],
|
||||
})
|
||||
}
|
||||
else if(e.currentTarget.dataset.type=='cardidb'){
|
||||
wx.previewImage({
|
||||
current:this.data.imgInfo.imgs.cardidb.img,
|
||||
urls:[this.data.imgInfo.imgs.cardidb.img],
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
})
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"navigationBarTitleText": "身份证信息",
|
||||
"usingComponents": {}
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
<view class="container">
|
||||
<view class="inner30">
|
||||
|
||||
<!-- <view class="mt40 font-32">身份证</view> -->
|
||||
<view class="fn-flex mt30 text-center">
|
||||
<view class="fn-flex-item relative mr10">
|
||||
<block wx:if="{{cardida.value}}">
|
||||
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden">
|
||||
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-shuaxin inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-4" bindtap="chooseImg" data-type="cardida"></i>
|
||||
<view class="absolute top-0 left-0 bottom-0 right-0 bg-f00-op50 z-index-3" wx:if="{{cardida.err}}">
|
||||
<view class="absolute left-0 right-0 box-middle pl20 pr20 text-break font-22 color-fff"><i class="iconfont icon-jinggao"></i>{{cardida.errmsg}}</view>
|
||||
</view>
|
||||
<image class='block wp100 img-h-200 ulib-r10' src='{{cardida.img}}' mode='aspectFit' bindtap="previewImage" data-type="cardida"></image>
|
||||
</view>
|
||||
</block>
|
||||
<block wx:else>
|
||||
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-type="cardida">
|
||||
<view class="absolute left-0 right-0 box-middle color-ccc">
|
||||
<i class="iconfont icon-zhengmian font-60"></i>
|
||||
<view class="mt10 font-22">上传身份证正面</view>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
<view class="fn-flex-item relative ml10">
|
||||
<block wx:if="{{cardidb.value}}">
|
||||
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden">
|
||||
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-shuaxin inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-4" bindtap="chooseImg" data-type="cardidb"></i>
|
||||
<view class="absolute top-0 left-0 bottom-0 right-0 bg-f00-op50 z-index-3" wx:if="{{cardidb.err}}">
|
||||
<view class="absolute left-0 right-0 box-middle pl20 pr20 text-break font-22 color-fff"><i class="iconfont icon-jinggao"></i>{{cardidb.errmsg}}</view>
|
||||
</view>
|
||||
<image class='block wp100 img-h-200 ulib-r10' src='{{cardidb.img}}' mode='aspectFit' bindtap="previewImage" data-type="cardidb"></image>
|
||||
</view>
|
||||
</block>
|
||||
<block wx:else>
|
||||
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-type="cardidb">
|
||||
<view class="absolute left-0 right-0 box-middle color-ccc">
|
||||
<i class="iconfont icon-fanmian font-60"></i>
|
||||
<view class="mt10 font-22">上传身份证背面</view>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -0,0 +1 @@
|
||||
/* pages/order/editCardid/index.wxss */
|
||||
@@ -0,0 +1,106 @@
|
||||
import _ from '../../../commons/js/commons'
|
||||
const app = getApp()
|
||||
Page({
|
||||
data: {
|
||||
delivery_ck_img:{},//交付确认单
|
||||
},
|
||||
onLoad: function (options) {
|
||||
for (let key in options) {
|
||||
this.setData({
|
||||
[key]: options[key]
|
||||
})
|
||||
}
|
||||
|
||||
this.getAppCusorderdata()
|
||||
|
||||
},
|
||||
onShow: function () {
|
||||
|
||||
},
|
||||
|
||||
//获取订单图片
|
||||
getAppCusorderdata(){
|
||||
let params = {};
|
||||
params['id'] = this.data.id;
|
||||
_.apiQuery.getAppCusorderdata(params).then(res=>{
|
||||
this.setData({
|
||||
imgInfo:res.data,
|
||||
})
|
||||
if(res.data.img_status == 1){
|
||||
this.setData({
|
||||
delivery_ck_img:res.data.imgs.delivery_ck_img.length==0?{}:res.data.imgs.delivery_ck_img,
|
||||
})
|
||||
}
|
||||
wx.stopPullDownRefresh()
|
||||
})
|
||||
},
|
||||
|
||||
//选择图片
|
||||
chooseImg(e) {
|
||||
let that = this
|
||||
|
||||
//上传登记证
|
||||
if(e.currentTarget.dataset.type=='delivery_ck_img'){
|
||||
wx.chooseImage({
|
||||
count: 1, // 默认9
|
||||
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||||
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||||
success(res) {
|
||||
wx.showLoading({
|
||||
title: '上传中',
|
||||
})
|
||||
wx.uploadFile({
|
||||
url:_.config.api.upImg,
|
||||
filePath:res.tempFilePaths[0],
|
||||
name: 'img',
|
||||
formData: {
|
||||
'app': 'liche'
|
||||
},
|
||||
success: (resp) => {
|
||||
resp.data = JSON.parse(resp.data);
|
||||
if (resp.data.code == 200) {
|
||||
let params = {};
|
||||
params['id'] = that.data.id;
|
||||
params['delivery_ck_img'] = resp.data.data.url;
|
||||
_.apiQuery.putAppCusorderdata(params).then(res2 => {
|
||||
wx.hideLoading();
|
||||
that.setData({
|
||||
'delivery_ck_img.value':resp.data.data.url,
|
||||
'delivery_ck_img.img':resp.data.data.full_url,
|
||||
})
|
||||
}).catch(res2=>{
|
||||
wx.hideLoading();
|
||||
});
|
||||
}else{
|
||||
wx.hideLoading();
|
||||
wx.showToast({
|
||||
title: '上传失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
},
|
||||
})
|
||||
},
|
||||
fail: res => {
|
||||
wx.showToast({
|
||||
title: '文件选择失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
//查看图片
|
||||
previewImage: function (e) {
|
||||
if(e.currentTarget.dataset.type=='delivery_ck_img'){
|
||||
wx.previewImage({
|
||||
current:this.data.imgInfo.imgs.delivery_ck_img.img,
|
||||
urls:[this.data.imgInfo.imgs.delivery_ck_img.img],
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
})
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"navigationBarTitleText": "交付确认单信息",
|
||||
"usingComponents": {}
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
<view class="container">
|
||||
<view class="inner30">
|
||||
<block wx:if="{{delivery_ck_img.img}}">
|
||||
<image class='block wp100' src='{{delivery_ck_img.img}}' mode='widthFix' bindtap="previewImage" data-type="delivery_ck_img"></image>
|
||||
</block>
|
||||
<block wx:else>
|
||||
<lcb-listmore isNoData='{{true}}'></lcb-listmore>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
@@ -0,0 +1 @@
|
||||
/* pages/order/editDeliveryckimg/index.wxss */
|
||||
@@ -14,7 +14,23 @@ Page({
|
||||
nums:[],//金融分期期数列表
|
||||
numIndex:-1,//分期期数索引
|
||||
num:'',//分期期数
|
||||
|
||||
|
||||
notify_file_obj:[],
|
||||
|
||||
is_tiexi:0,//是否贴息
|
||||
tab:[
|
||||
{
|
||||
title:'首付按揭',
|
||||
value:1,
|
||||
},
|
||||
{
|
||||
title:'车辆按揭',
|
||||
value:0,
|
||||
},
|
||||
],
|
||||
tabkey:1,
|
||||
loan_rebate:0,
|
||||
userInfo:'',
|
||||
},
|
||||
onLoad: function (options) {
|
||||
for (let key in options) {
|
||||
@@ -24,12 +40,22 @@ Page({
|
||||
}
|
||||
|
||||
this.getAppCusorderV2()
|
||||
this.getUserInfo()
|
||||
|
||||
},
|
||||
onShow: function () {
|
||||
|
||||
},
|
||||
|
||||
//获取用户信息
|
||||
getUserInfo(){
|
||||
_.apiQuery.getUserInfo().then(res => {
|
||||
this.setData({
|
||||
userInfo: res,
|
||||
})
|
||||
});
|
||||
},
|
||||
|
||||
//获取订单详情
|
||||
getAppCusorderV2(){
|
||||
let params = {};
|
||||
@@ -37,57 +63,118 @@ Page({
|
||||
_.apiQuery.getAppCusorderV2(params).then(res=>{
|
||||
this.setData({
|
||||
info:res.data,
|
||||
notify_file_obj:res.data.notify_file,
|
||||
lend_file_obj:res.data.lend_file,
|
||||
price_loan:res.data.price_loan?res.data.price_loan:'',
|
||||
})
|
||||
|
||||
//匹配融机构
|
||||
if(!!res.data.finance_id){
|
||||
let finanparams = {};
|
||||
finanparams['page'] = 1;
|
||||
finanparams['size'] = 100;
|
||||
_.apiQuery.getAppFinance(finanparams).then(res6 => {
|
||||
if(res6.data.list.length>0){
|
||||
let financeArray = []
|
||||
res6.data.list.forEach((item,index) => {
|
||||
if(item.id == res.data.finance_id){
|
||||
this.setData({
|
||||
financeIndex:index,
|
||||
})
|
||||
}
|
||||
financeArray.push(item.title)
|
||||
})
|
||||
this.setData({
|
||||
finance_id:res.data.finance_id,
|
||||
financeArray:financeArray,
|
||||
financeList:res6.data.list,
|
||||
})
|
||||
}
|
||||
});
|
||||
}else{
|
||||
this.getAppFinance()
|
||||
}
|
||||
|
||||
//匹配分期期数
|
||||
if(!!res.data.num){
|
||||
_.apiQuery.getAppFinanceNums().then(res1 => {
|
||||
if(res1.data.list.length>0){
|
||||
res1.data.list.forEach((item,index) => {
|
||||
if(item == res.data.num){
|
||||
this.setData({
|
||||
numIndex:index,
|
||||
})
|
||||
}
|
||||
})
|
||||
this.setData({
|
||||
num:res.data.num,
|
||||
nums:res1.data.list,
|
||||
})
|
||||
}
|
||||
if(this.data.tabkey==1&&res.data.price_loan0>0){
|
||||
this.setData({
|
||||
notify_file_obj:res.data.price_loan0_data.notify_file,
|
||||
lend_file_obj:res.data.price_loan0_data.lend_file,
|
||||
price_loan:res.data.price_loan0_data.price_loan?res.data.price_loan0_data.price_loan:'',
|
||||
is_tiexi:res.data.price_loan0_data.is_tiexi,
|
||||
loan_rebate:res.data.price_loan0_data.loan_rebate,
|
||||
})
|
||||
//匹配融机构
|
||||
if(res.data.price_loan0_data.finance_id>0){
|
||||
let finanparams = {};
|
||||
finanparams['page'] = 1;
|
||||
finanparams['size'] = 100;
|
||||
_.apiQuery.getAppFinance(finanparams).then(res6 => {
|
||||
if(res6.data.list.length>0){
|
||||
let financeArray = []
|
||||
res6.data.list.forEach((item,index) => {
|
||||
if(item.id == res.data.price_loan0_data.finance_id){
|
||||
this.setData({
|
||||
financeIndex:index,
|
||||
})
|
||||
}
|
||||
financeArray.push(item.title)
|
||||
})
|
||||
this.setData({
|
||||
finance_id:res.data.price_loan0_data.finance_id,
|
||||
financeArray:financeArray,
|
||||
financeList:res6.data.list,
|
||||
})
|
||||
}
|
||||
});
|
||||
}else{
|
||||
this.getAppFinance()
|
||||
}
|
||||
|
||||
//匹配分期期数
|
||||
if(res.data.price_loan0_data.num>0){
|
||||
_.apiQuery.getAppFinanceNums().then(res1 => {
|
||||
if(res1.data.list.length>0){
|
||||
res1.data.list.forEach((item,index) => {
|
||||
if(item == res.data.price_loan0_data.num){
|
||||
this.setData({
|
||||
numIndex:index,
|
||||
})
|
||||
}
|
||||
})
|
||||
this.setData({
|
||||
num:res.data.price_loan0_data.num,
|
||||
nums:res1.data.list,
|
||||
})
|
||||
}
|
||||
})
|
||||
}else{
|
||||
this.getAppFinanceNums()
|
||||
}
|
||||
}else{
|
||||
this.getAppFinanceNums()
|
||||
this.setData({
|
||||
notify_file_obj:res.data.notify_file,
|
||||
lend_file_obj:res.data.lend_file,
|
||||
price_loan:res.data.price_loan?res.data.price_loan:'',
|
||||
is_tiexi:res.data.is_tiexi,
|
||||
loan_rebate:res.data.loan_rebate,
|
||||
})
|
||||
//匹配融机构
|
||||
if(res.data.finance_id>0){
|
||||
let finanparams = {};
|
||||
finanparams['page'] = 1;
|
||||
finanparams['size'] = 100;
|
||||
_.apiQuery.getAppFinance(finanparams).then(res6 => {
|
||||
if(res6.data.list.length>0){
|
||||
let financeArray = []
|
||||
res6.data.list.forEach((item,index) => {
|
||||
if(item.id == res.data.finance_id){
|
||||
this.setData({
|
||||
financeIndex:index,
|
||||
})
|
||||
}
|
||||
financeArray.push(item.title)
|
||||
})
|
||||
this.setData({
|
||||
finance_id:res.data.finance_id,
|
||||
financeArray:financeArray,
|
||||
financeList:res6.data.list,
|
||||
})
|
||||
}
|
||||
});
|
||||
}else{
|
||||
this.getAppFinance()
|
||||
}
|
||||
|
||||
//匹配分期期数
|
||||
if(res.data.num>0){
|
||||
_.apiQuery.getAppFinanceNums().then(res1 => {
|
||||
if(res1.data.list.length>0){
|
||||
res1.data.list.forEach((item,index) => {
|
||||
if(item == res.data.num){
|
||||
this.setData({
|
||||
numIndex:index,
|
||||
})
|
||||
}
|
||||
})
|
||||
this.setData({
|
||||
num:res.data.num,
|
||||
nums:res1.data.list,
|
||||
})
|
||||
}
|
||||
})
|
||||
}else{
|
||||
this.getAppFinanceNums()
|
||||
}
|
||||
}
|
||||
|
||||
wx.stopPullDownRefresh()
|
||||
@@ -133,31 +220,53 @@ Page({
|
||||
//上传按揭通知函
|
||||
chooseImg(e) {
|
||||
let that = this
|
||||
|
||||
//上传保单
|
||||
if(e.currentTarget.dataset.type=='notify'){
|
||||
wx.chooseImage({
|
||||
count: 1, // 默认9
|
||||
count: 10 - that.data.notify_file_obj.length, //
|
||||
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||||
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||||
success(res) {
|
||||
wx.showLoading();
|
||||
wx.uploadFile({
|
||||
url:_.config.api.upImg,
|
||||
filePath:res.tempFilePaths[0],
|
||||
name: 'img',
|
||||
formData: {
|
||||
'app': 'liche'
|
||||
},
|
||||
success: (resp) => {
|
||||
resp.data = JSON.parse(resp.data);
|
||||
wx.hideLoading();
|
||||
if (resp.data.code == 200) {
|
||||
that.setData({
|
||||
'notify_file_obj.value':resp.data.data.url,
|
||||
'notify_file_obj.src':resp.data.data.full_url,
|
||||
})
|
||||
}
|
||||
},
|
||||
success(res1) {
|
||||
wx.showLoading({
|
||||
title: '上传中',
|
||||
})
|
||||
let notify_file_obj=that.data.notify_file_obj
|
||||
let k = 0
|
||||
for (let i = 0; i < res1.tempFilePaths.length; i++) {
|
||||
//上传图片
|
||||
wx.uploadFile({
|
||||
url:_.config.api.upImg,
|
||||
filePath:res1.tempFilePaths[i],
|
||||
name: 'img',
|
||||
formData: {
|
||||
'app': 'liche'
|
||||
},
|
||||
success: (resp) => {
|
||||
k = k + 1
|
||||
resp.data = JSON.parse(resp.data);
|
||||
if (resp.data.code == 200) {
|
||||
let imgdata = resp.data
|
||||
let list = []
|
||||
list.push({
|
||||
value:imgdata.data.url,
|
||||
src:imgdata.data.full_url,
|
||||
})
|
||||
notify_file_obj=notify_file_obj.concat(list)
|
||||
if(k == res1.tempFilePaths.length){
|
||||
wx.hideLoading();
|
||||
that.setData({
|
||||
notify_file_obj,
|
||||
})
|
||||
}
|
||||
}else{
|
||||
wx.hideLoading();
|
||||
}
|
||||
},
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
},
|
||||
fail: res => {
|
||||
wx.showToast({
|
||||
@@ -168,13 +277,54 @@ Page({
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// if(e.currentTarget.dataset.type=='notify'){
|
||||
// wx.chooseImage({
|
||||
// count: 1, // 默认9
|
||||
// sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||||
// sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||||
// success(res) {
|
||||
// wx.showLoading({
|
||||
// title: '上传中',
|
||||
// })
|
||||
// wx.uploadFile({
|
||||
// url:_.config.api.upImg,
|
||||
// filePath:res.tempFilePaths[0],
|
||||
// name: 'img',
|
||||
// formData: {
|
||||
// 'app': 'liche'
|
||||
// },
|
||||
// success: (resp) => {
|
||||
// resp.data = JSON.parse(resp.data);
|
||||
// wx.hideLoading();
|
||||
// if (resp.data.code == 200) {
|
||||
// that.setData({
|
||||
// 'notify_file_obj.value':resp.data.data.url,
|
||||
// 'notify_file_obj.src':resp.data.data.full_url,
|
||||
// })
|
||||
// }
|
||||
// },
|
||||
// })
|
||||
// },
|
||||
// fail: res => {
|
||||
// wx.showToast({
|
||||
// title: '文件选择失败',
|
||||
// icon: 'none',
|
||||
// duration: 2000
|
||||
// })
|
||||
// }
|
||||
// })
|
||||
// }
|
||||
|
||||
if(e.currentTarget.dataset.type=='lend'){
|
||||
wx.chooseImage({
|
||||
count: 1, // 默认9
|
||||
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||||
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||||
success(res) {
|
||||
wx.showLoading();
|
||||
wx.showLoading({
|
||||
title: '上传中',
|
||||
})
|
||||
wx.uploadFile({
|
||||
url:_.config.api.upImg,
|
||||
filePath:res.tempFilePaths[0],
|
||||
@@ -219,13 +369,7 @@ Page({
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
else if(!this.data.price_loan||this.data.num == ''){
|
||||
wx.showToast({
|
||||
title: '请选择分期期数',
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
else if(!this.data.notify_file_obj.src){
|
||||
else if(!this.data.notify_file_obj.length>0){
|
||||
wx.showToast({
|
||||
title: '请上传按揭通知函',
|
||||
icon: 'none'
|
||||
@@ -237,6 +381,11 @@ Page({
|
||||
isShowConfirm:true,
|
||||
})
|
||||
}else{
|
||||
let notify_file = []
|
||||
this.data.notify_file_obj.forEach(item => {
|
||||
notify_file.push(item.value)
|
||||
})
|
||||
|
||||
let that = this
|
||||
that.setData({
|
||||
submitFlag: true,
|
||||
@@ -244,11 +393,23 @@ Page({
|
||||
let params = {};
|
||||
params['o_id'] = that.data.id;
|
||||
params['finance_id'] = that.data.finance_id;
|
||||
params['notify_file'] = that.data.notify_file_obj.value;
|
||||
params['notify_file'] = notify_file;
|
||||
params['price_loan'] = that.data.price_loan;
|
||||
if(that.data.lend_file_obj.value){
|
||||
params['lend_file'] = that.data.lend_file_obj.value;
|
||||
}
|
||||
if(that.data.num){
|
||||
params['num'] = that.data.num;
|
||||
}
|
||||
if(!(that.data.tabkey==1&&that.data.info.price_loan0>0)){
|
||||
params['is_tiexi'] = that.data.is_tiexi;
|
||||
}
|
||||
if(that.data.tabkey==1&&that.data.info.price_loan0>0){
|
||||
params['if_loan0'] = 1;
|
||||
}
|
||||
if(that.data.userInfo.biz_type==1){
|
||||
params['loan_rebate'] = that.data.loan_rebate;
|
||||
}
|
||||
_.apiQuery.putAppLoan(params).then(res => {
|
||||
|
||||
that.setData({
|
||||
@@ -285,6 +446,10 @@ Page({
|
||||
|
||||
//修改贷款信息
|
||||
putAppLoan2() {
|
||||
let notify_file = []
|
||||
this.data.notify_file_obj.forEach(item => {
|
||||
notify_file.push(item.value)
|
||||
})
|
||||
let that = this
|
||||
that.setData({
|
||||
submitFlag: true,
|
||||
@@ -292,7 +457,7 @@ Page({
|
||||
let params = {};
|
||||
params['o_id'] = that.data.id;
|
||||
params['finance_id'] = that.data.finance_id;
|
||||
params['notify_file'] = that.data.notify_file_obj.value;
|
||||
params['notify_file'] = notify_file;
|
||||
params['price_loan'] = that.data.price_loan;
|
||||
if(that.data.lend_file_obj.value){
|
||||
params['lend_file'] = that.data.lend_file_obj.value;
|
||||
@@ -300,6 +465,15 @@ Page({
|
||||
if(that.data.num){
|
||||
params['num'] = that.data.num;
|
||||
}
|
||||
if(!(that.data.tabkey==1&&that.data.info.price_loan0>0)){
|
||||
params['is_tiexi'] = that.data.is_tiexi;
|
||||
}
|
||||
if(that.data.tabkey==1&&that.data.info.price_loan0>0){
|
||||
params['if_loan0'] = 1;
|
||||
}
|
||||
if(that.data.userInfo.biz_type==1){
|
||||
params['loan_rebate'] = that.data.loan_rebate;
|
||||
}
|
||||
_.apiQuery.putAppLoan(params).then(res => {
|
||||
|
||||
that.setData({
|
||||
@@ -334,14 +508,6 @@ Page({
|
||||
});
|
||||
},
|
||||
|
||||
//查看图片
|
||||
previewImage: function (e) {
|
||||
wx.previewImage({
|
||||
current:this.data.notify_file_obj.src,
|
||||
urls:[this.data.notify_file_obj.src],
|
||||
})
|
||||
},
|
||||
|
||||
//获取金融分期期数
|
||||
getAppFinanceNums(){
|
||||
_.apiQuery.getAppFinanceNums().then(res => {
|
||||
@@ -374,4 +540,140 @@ Page({
|
||||
})
|
||||
},
|
||||
|
||||
//查看图片
|
||||
previewImage: function (e) {
|
||||
if(e.currentTarget.dataset.type=='notify'){
|
||||
let img = []
|
||||
this.data.notify_file_obj.forEach(item => {
|
||||
img.push(item.src)
|
||||
})
|
||||
wx.previewImage({
|
||||
current:e.currentTarget.dataset.current,
|
||||
urls:img,
|
||||
})
|
||||
}
|
||||
else if(e.currentTarget.dataset.type=='lend'){
|
||||
wx.previewImage({
|
||||
current:this.data.lend_file_obj.src,
|
||||
urls:[this.data.lend_file_obj.src],
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
// 编辑页面删除图片
|
||||
delImg(e){
|
||||
if(e.currentTarget.dataset.type=='notify'){
|
||||
let notify_file_obj = this.data.notify_file_obj
|
||||
notify_file_obj.splice(e.currentTarget.dataset.index, 1)
|
||||
this.setData({
|
||||
notify_file_obj,
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
//是否贴息
|
||||
switchTiexi:function(e){
|
||||
this.setData({
|
||||
is_tiexi:e.detail.value ? 1 :0
|
||||
})
|
||||
},
|
||||
|
||||
//切换tab
|
||||
changeTab(e){
|
||||
this.setData({
|
||||
tabkey: e.currentTarget.dataset.value,
|
||||
})
|
||||
if(this.data.tabkey==1){
|
||||
this.setData({
|
||||
notify_file_obj:this.data.info.price_loan0_data.notify_file,
|
||||
lend_file_obj:this.data.info.price_loan0_data.lend_file,
|
||||
price_loan:this.data.info.price_loan0_data.price_loan?this.data.info.price_loan0_data.price_loan:'',
|
||||
is_tiexi:this.data.info.price_loan0_data.is_tiexi,
|
||||
loan_rebate:this.data.info.price_loan0_data.loan_rebate?this.data.info.price_loan0_data.loan_rebate:0,
|
||||
})
|
||||
//匹配融机构
|
||||
if(this.data.info.price_loan0_data.finance_id>0&&this.data.financeList.length>0){
|
||||
this.data.financeList.forEach((item,index) => {
|
||||
if(item.id == this.data.info.price_loan0_data.finance_id){
|
||||
this.setData({
|
||||
financeIndex:index,
|
||||
})
|
||||
}
|
||||
})
|
||||
this.setData({
|
||||
finance_id:this.data.info.price_loan0_data.finance_id,
|
||||
})
|
||||
}else{
|
||||
this.setData({
|
||||
financeIndex:-1,//金融机构索引
|
||||
finance_id:'',//金融机构id
|
||||
})
|
||||
}
|
||||
|
||||
//匹配分期期数
|
||||
if(this.data.info.price_loan0_data.num&&this.data.nums.length>0){
|
||||
this.data.nums.forEach((item,index) => {
|
||||
if(item == this.data.info.price_loan0_data.num){
|
||||
this.setData({
|
||||
numIndex:index,
|
||||
})
|
||||
}
|
||||
})
|
||||
this.setData({
|
||||
num:this.data.info.price_loan0_data.num,
|
||||
})
|
||||
}else{
|
||||
this.setData({
|
||||
numIndex:-1,//分期期数索引
|
||||
num:'',//分期期数
|
||||
})
|
||||
}
|
||||
}else{
|
||||
this.setData({
|
||||
notify_file_obj:this.data.info.notify_file,
|
||||
lend_file_obj:this.data.info.lend_file,
|
||||
price_loan:this.data.info.price_loan?this.data.info.price_loan:'',
|
||||
is_tiexi:this.data.info.is_tiexi,
|
||||
loan_rebate:this.data.info.loan_rebate?this.data.info.loan_rebate:0,
|
||||
})
|
||||
//匹配融机构
|
||||
if(this.data.info.finance_id>0&&this.data.financeList.length>0){
|
||||
this.data.financeList.forEach((item,index) => {
|
||||
if(item.id == this.data.info.finance_id){
|
||||
this.setData({
|
||||
financeIndex:index,
|
||||
})
|
||||
}
|
||||
})
|
||||
this.setData({
|
||||
finance_id:this.data.info.finance_id,
|
||||
})
|
||||
}else{
|
||||
this.setData({
|
||||
financeIndex:-1,//金融机构索引
|
||||
finance_id:'',//金融机构id
|
||||
})
|
||||
}
|
||||
|
||||
//匹配分期期数
|
||||
if(this.data.info.num>0&&this.data.nums.length>0){
|
||||
this.data.nums.forEach((item,index) => {
|
||||
if(item == this.data.info.num){
|
||||
this.setData({
|
||||
numIndex:index,
|
||||
})
|
||||
}
|
||||
})
|
||||
this.setData({
|
||||
num:this.data.info.num,
|
||||
})
|
||||
}else{
|
||||
this.setData({
|
||||
numIndex:-1,//分期期数索引
|
||||
num:'',//分期期数
|
||||
})
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
})
|
||||
@@ -1,6 +1,14 @@
|
||||
<view class="container">
|
||||
<view class="inner30">
|
||||
<block wx:if="{{info.edit_status==1}}">
|
||||
<view class="fn-flex mt5 pl100 pr100 font-32 color-666 text-center" wx:if="{{info.price_loan0>0}}">
|
||||
<block wx:for='{{tab}}' wx:key='list'>
|
||||
<view class="fn-flex-item pl20 pr20 tabmenu2 {{tabkey == item.value?'active color-36afa2':''}}" data-value="{{item.value}}" bindtap="changeTab">
|
||||
<view class="relative">{{item.title}}</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
|
||||
<block wx:if="{{(info.price_loan0>0&&tabkey==1&&!info.price_loan0_status)||(info.price_loan0>0&&tabkey==0&&!info.price_loan_status)||(!(info.price_loan0>0)&&!info.price_loan_status)}}">
|
||||
<view class="relative bbs-1-eb pl190 last-b-none" wx:if="{{financeArray.length>0}}">
|
||||
<view class="absolute left-0 box-middle font-28 color-333">金融机构<text class="color-f9394d">*</text></view>
|
||||
<view class="pt30 pb30 text-right font-28">
|
||||
@@ -27,25 +35,40 @@
|
||||
</picker>
|
||||
</view>
|
||||
</view>
|
||||
<view class="relative bbs-1-eb last-b-none pl180 font-28" wx:if="{{!(info.price_loan0>0&&tabkey==1)}}">
|
||||
<view class="absolute left-0 box-middle">是否贴息</view>
|
||||
<view class="relative pt30 pb30 text-right">
|
||||
<switch checked="{{is_tiexi==1}}" bindchange="switchTiexi" type="switch" color='#36afa2' style="zoom:0.8" />
|
||||
</view>
|
||||
</view>
|
||||
<block wx:if="{{userInfo.biz_type==1}}">
|
||||
<view class="relative bbs-1-eb last-b-none pl140 pr40 font-28">
|
||||
<view class="absolute left-0 box-middle">按揭返点</view>
|
||||
<view>
|
||||
<input class="wp100 height-100 text-right font-28" placeholder-class="color-ccc" type="digit" placeholder="请输入按揭返点" model:value='{{loan_rebate}}' />
|
||||
</view>
|
||||
<view class="absolute right-0 box-middle">%</view>
|
||||
</view>
|
||||
</block>
|
||||
<view class="relative">
|
||||
<view class="mt30 font-28">按揭通知函<text class="color-f9394d">*</text></view>
|
||||
<view class="mt30 text-center">
|
||||
<view class="inline-block img-300x200 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-type="notify" >
|
||||
<block wx:if="{{notify_file_obj.value}}">
|
||||
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden">
|
||||
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-shuaxin inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-4"></i>
|
||||
<image class='block wp100 img-h-200 ulib-r10' src='{{notify_file_obj.src}}' mode='aspectFit'></image>
|
||||
<view class="mt30 pb30 text-center">
|
||||
<scroll-view class="space-nowrap" scroll-x="true">
|
||||
<block wx:for='{{notify_file_obj}}' wx:for-item='notify' wx:key='index'>
|
||||
<view class="inline-block bg-f8 img-300x200 ml10 mr10 relative ulib-r10 overflowhidden">
|
||||
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-guanbi1 inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-1" bindtap="delImg" data-type="notify" data-index="{{index}}" ></i>
|
||||
<image class='block wp100 img-h-200 ulib-r10' src='{{notify.src}}' mode='aspectFit' bindtap="previewImage" data-type="notify" data-current="{{notify.src}}"></image>
|
||||
</view>
|
||||
</block>
|
||||
<block wx:else>
|
||||
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden">
|
||||
<block wx:if="{{notify_file_obj.length<10}}">
|
||||
<view class="inline-block bg-f8 img-300x200 ml10 mr10 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-type="notify">
|
||||
<view class="absolute left-0 right-0 box-middle color-ccc">
|
||||
<i class="iconfont icon-fanmian font-60"></i>
|
||||
<i class="iconfont icon-paizhao font-48"></i>
|
||||
<view class="mt10 font-22">上传按揭通知函</view>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</scroll-view>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
@@ -58,31 +81,53 @@
|
||||
<view class="absolute left-0 box-middle">贷款金额</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx;">{{price_loan}}</view>
|
||||
</view>
|
||||
<view class="relative bbs-1-eb last-b-none pl180 font-28">
|
||||
<view class="absolute left-0 box-middle">分期期数</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx;">{{nums[numIndex]}}</view>
|
||||
</view>
|
||||
<view class="relative bbs-1-eb last-b-none pl180 font-28" wx:if="{{!(info.price_loan0>0&&tabkey==1)}}">
|
||||
<view class="absolute left-0 box-middle">是否贴息</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx;">{{is_tiexi==1?'是':'否'}}</view>
|
||||
</view>
|
||||
<block wx:if="{{userInfo.biz_type==1}}">
|
||||
<view class="relative bbs-1-eb last-b-none pl140 pr40 font-28">
|
||||
<view class="absolute left-0 box-middle">按揭返点</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666" style="min-height:38rpx;">{{loan_rebate}}%</view>
|
||||
</view>
|
||||
</block>
|
||||
<view class="relative">
|
||||
<view class="mt30 font-28">按揭通知函</view>
|
||||
<view class="mt30 text-center">
|
||||
<view class="inline-block img-300x200 relative ulib-r10 overflowhidden" bindtap="previewImage">
|
||||
<block wx:if="{{notify_file_obj.value}}">
|
||||
<view class="inline-block img-300x200 relative ulib-r10 overflowhidden">
|
||||
<image class='block wp100 img-h-200 ulib-r10' src='{{notify_file_obj.src}}' mode='aspectFit'></image>
|
||||
<view class="mt30 pb30 text-center">
|
||||
<scroll-view class="space-nowrap" scroll-x="true">
|
||||
<block wx:for='{{notify_file_obj}}' wx:for-item='notify' wx:key='index'>
|
||||
<view class="inline-block bg-f8 img-300x200 ml10 mr10 relative ulib-r10 overflowhidden">
|
||||
<image class='block wp100 img-h-200 ulib-r10' src='{{notify.src}}' mode='aspectFit' bindtap="previewImage" data-type="notify" data-current="{{notify.src}}"></image>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
<block wx:if="{{notify_file_obj.length==0}}">
|
||||
<view class="inline-block bg-f8 img-300x200 ml10 mr10 relative ulib-r10 overflowhidden">
|
||||
<view class="absolute left-0 right-0 box-middle color-ccc">
|
||||
<i class="iconfont icon-paizhao font-48"></i>
|
||||
<view class="mt10 font-22">没有上传按揭通知函</view>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
</scroll-view>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
<view class="relative">
|
||||
<view class="mt30 font-28">放款通知函</view>
|
||||
<view class="mt30 text-center">
|
||||
<view class="inline-block img-300x200 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-type="lend">
|
||||
<view class="inline-block img-300x200 relative ulib-r10 overflowhidden">
|
||||
<block wx:if="{{lend_file_obj.value}}">
|
||||
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden">
|
||||
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-shuaxin inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-4"></i>
|
||||
<image class='block wp100 img-h-200 ulib-r10' src='{{lend_file_obj.src}}' mode='aspectFit'></image>
|
||||
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-shuaxin inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-4" bindtap="chooseImg" data-type="lend"></i>
|
||||
<image class='block wp100 img-h-200 ulib-r10' src='{{lend_file_obj.src}}' mode='aspectFit' bindtap="previewImage" data-type="lend"></image>
|
||||
</view>
|
||||
</block>
|
||||
<block wx:else>
|
||||
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden">
|
||||
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-type="lend">
|
||||
<view class="absolute left-0 right-0 box-middle color-ccc">
|
||||
<i class="iconfont icon-fanmian font-60"></i>
|
||||
<view class="mt10 font-22">上传放款通知函</view>
|
||||
@@ -95,7 +140,7 @@
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="fixed left-0 right-0 bottom-0 bg-fff-op90 inner40 fn-flex safe-pb">
|
||||
<view class="fixed left-0 right-0 bottom-0 bg-fff-op90 inner40 fn-flex safe-pb" wx:if="{{(info.price_loan0>0&&tabkey==1&&!info.price_loan0_status)||(info.price_loan0>0&&tabkey==0&&!info.price_loan_status)||(!(info.price_loan0>0)&&!info.price_loan_status)}}">
|
||||
<button class="wp100 btn-36afa2 pt10 pb10 text-center font-32 color-fff ulib-r750" hover-class="btn-36afa2-hover" disabled="{{submitFlag}}" bindtap="putAppLoan1">确认</button>
|
||||
</view>
|
||||
|
||||
@@ -108,6 +153,10 @@
|
||||
<view class="mt20 font-28 color-666">金融机构:{{financeArray[financeIndex]}}</view>
|
||||
<view class="mt20 font-28 color-666">贷款金额:{{price_loan}}</view>
|
||||
<view class="mt20 font-28 color-666">分期期数:{{num}}</view>
|
||||
<view class="mt20 font-28 color-666" wx:if="{{!(info.price_loan0>0&&tabkey==1)}}">是否贴息:{{is_tiexi==1?'是':'否'}}</view>
|
||||
<block wx:if="{{userInfo.biz_type==1}}">
|
||||
<view class="mt20 font-28 color-666">按揭返点:{{loan_rebate}}%</view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
<view class="pl60 pr60 pb50 text-center font-32 color-666 fn-flex">
|
||||
|
||||
@@ -1 +1,3 @@
|
||||
/* pages/order/editFinance/index.wxss */
|
||||
.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;}
|
||||
@@ -0,0 +1,525 @@
|
||||
import _ from '../../../commons/js/commons'
|
||||
const app = getApp()
|
||||
Page({
|
||||
data: {
|
||||
cardida:{},//身份证正面照片
|
||||
cardidb:{},//身份证反面照片
|
||||
business_licence:{},//营业执照照片
|
||||
car_img:{},//行驶证照片
|
||||
register_img:{},//登记证照片
|
||||
other_img:[],//交车合照
|
||||
|
||||
insurance_img:{},//交强险
|
||||
business_img:{},//商业险
|
||||
accident_img:{},//意外险
|
||||
ins_img:[],//其他保险照片
|
||||
|
||||
isEditInsurance:false,
|
||||
isEditBusiness:false,
|
||||
isEditAccident:false,
|
||||
insurance_product:'',
|
||||
insurance_date:'',
|
||||
insurance_price:'',
|
||||
insurance_rebate:0,
|
||||
insurance_rebate_am:0,
|
||||
business_product:'',
|
||||
business_date:'',
|
||||
business_price:'',
|
||||
business_rebate:0,
|
||||
business_rebate_am:0,
|
||||
accident_product:'',
|
||||
accident_date:'',
|
||||
accident_price:'',
|
||||
accident_rebate:0,
|
||||
accident_rebate_am:0,
|
||||
userInfo:'',
|
||||
},
|
||||
onLoad: function (options) {
|
||||
for (let key in options) {
|
||||
this.setData({
|
||||
[key]: options[key]
|
||||
})
|
||||
}
|
||||
|
||||
this.getAppCusorderdata()
|
||||
this.getUserInfo()
|
||||
|
||||
},
|
||||
onShow: function () {
|
||||
|
||||
},
|
||||
|
||||
//获取用户信息
|
||||
getUserInfo(){
|
||||
_.apiQuery.getUserInfo().then(res => {
|
||||
this.setData({
|
||||
userInfo: res,
|
||||
})
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
//获取订单图片
|
||||
getAppCusorderdata(){
|
||||
let params = {};
|
||||
params['id'] = this.data.id;
|
||||
_.apiQuery.getAppCusorderdata(params).then(res=>{
|
||||
this.setData({
|
||||
imgInfo:res.data,
|
||||
})
|
||||
if(res.data.img_status == 1){
|
||||
this.setData({
|
||||
ins_img:res.data.imgs.ins_img.length==0?[]:res.data.imgs.ins_img,
|
||||
insurance_img:res.data.imgs.insurance_img.length==0?{}:res.data.imgs.insurance_img,
|
||||
business_img:res.data.imgs.business_img.length==0?{}:res.data.imgs.business_img,
|
||||
accident_img:res.data.imgs.accident_img.length==0?{}:res.data.imgs.accident_img,
|
||||
})
|
||||
if(res.data.imgs.insurance_img.length!=0&&res.data.imgs.insurance_img.value){
|
||||
this.setData({
|
||||
insurance_product:res.data.imgs.insurance_img.product,
|
||||
insurance_date:res.data.imgs.insurance_img.date,
|
||||
insurance_price:res.data.imgs.insurance_img.price,
|
||||
insurance_rebate:res.data.imgs.insurance_img.rebate,
|
||||
insurance_rebate_am:res.data.imgs.insurance_img.rebate>0?Math.floor(res.data.imgs.insurance_img.price*res.data.imgs.insurance_img.rebate)/100:0,
|
||||
})
|
||||
}
|
||||
if(res.data.imgs.business_img.length!=0&&res.data.imgs.business_img.value){
|
||||
this.setData({
|
||||
business_product:res.data.imgs.business_img.product,
|
||||
business_date:res.data.imgs.business_img.date,
|
||||
business_price:res.data.imgs.business_img.price,
|
||||
business_rebate:res.data.imgs.business_img.rebate,
|
||||
business_rebate_am:res.data.imgs.business_img.rebate>0?Math.floor(res.data.imgs.business_img.price*res.data.imgs.business_img.rebate)/100:0,
|
||||
})
|
||||
}
|
||||
if(res.data.imgs.accident_img.length!=0&&res.data.imgs.accident_img.value){
|
||||
this.setData({
|
||||
accident_product:res.data.imgs.accident_img.product,
|
||||
accident_date:res.data.imgs.accident_img.date,
|
||||
accident_price:res.data.imgs.accident_img.price,
|
||||
accident_rebate:res.data.imgs.accident_img.rebate,
|
||||
accident_rebate_am:res.data.imgs.accident_img.rebate>0?Math.floor(res.data.imgs.accident_img.price*res.data.imgs.accident_img.rebate)/100:0,
|
||||
})
|
||||
}
|
||||
}
|
||||
wx.stopPullDownRefresh()
|
||||
})
|
||||
},
|
||||
|
||||
//选择图片
|
||||
chooseImg(e) {
|
||||
let that = this
|
||||
|
||||
//上传交强险
|
||||
if(e.currentTarget.dataset.type=='insurance_img'){
|
||||
wx.chooseImage({
|
||||
count: 1, // 默认9
|
||||
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||||
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||||
success(res) {
|
||||
wx.showLoading({
|
||||
title: '上传中',
|
||||
})
|
||||
wx.uploadFile({
|
||||
url:_.config.api.upImg,
|
||||
filePath:res.tempFilePaths[0],
|
||||
name: 'img',
|
||||
formData: {
|
||||
'app': 'liche'
|
||||
},
|
||||
success: (resp) => {
|
||||
resp.data = JSON.parse(resp.data);
|
||||
if (resp.data.code == 200) {
|
||||
let params = {};
|
||||
params['id'] = that.data.id;
|
||||
params['insurance_img'] = resp.data.data.url;
|
||||
_.apiQuery.putAppCusorderdata(params).then(res2 => {
|
||||
|
||||
wx.hideLoading();
|
||||
that.setData({
|
||||
isEditInsurance:false,
|
||||
})
|
||||
|
||||
that.getAppCusorderdata()
|
||||
|
||||
}).catch(res2=>{
|
||||
wx.hideLoading();
|
||||
});
|
||||
}else{
|
||||
wx.hideLoading();
|
||||
wx.showToast({
|
||||
title: '上传失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
},
|
||||
})
|
||||
},
|
||||
fail: res => {
|
||||
wx.showToast({
|
||||
title: '文件选择失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//上传商业险
|
||||
if(e.currentTarget.dataset.type=='business_img'){
|
||||
wx.chooseImage({
|
||||
count: 1, // 默认9
|
||||
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||||
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||||
success(res) {
|
||||
wx.showLoading({
|
||||
title: '上传中',
|
||||
})
|
||||
wx.uploadFile({
|
||||
url:_.config.api.upImg,
|
||||
filePath:res.tempFilePaths[0],
|
||||
name: 'img',
|
||||
formData: {
|
||||
'app': 'liche'
|
||||
},
|
||||
success: (resp) => {
|
||||
resp.data = JSON.parse(resp.data);
|
||||
if (resp.data.code == 200) {
|
||||
let params = {};
|
||||
params['id'] = that.data.id;
|
||||
params['business_img'] = resp.data.data.url;
|
||||
_.apiQuery.putAppCusorderdata(params).then(res2 => {
|
||||
|
||||
wx.hideLoading();
|
||||
that.setData({
|
||||
isEditBusiness:false,
|
||||
})
|
||||
|
||||
that.getAppCusorderdata()
|
||||
|
||||
}).catch(res2=>{
|
||||
wx.hideLoading();
|
||||
});
|
||||
}else{
|
||||
wx.hideLoading();
|
||||
wx.showToast({
|
||||
title: '上传失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
},
|
||||
})
|
||||
},
|
||||
fail: res => {
|
||||
wx.showToast({
|
||||
title: '文件选择失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//上传意外险
|
||||
if(e.currentTarget.dataset.type=='accident_img'){
|
||||
wx.chooseImage({
|
||||
count: 1, // 默认9
|
||||
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||||
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||||
success(res) {
|
||||
wx.showLoading({
|
||||
title: '上传中',
|
||||
})
|
||||
wx.uploadFile({
|
||||
url:_.config.api.upImg,
|
||||
filePath:res.tempFilePaths[0],
|
||||
name: 'img',
|
||||
formData: {
|
||||
'app': 'liche'
|
||||
},
|
||||
success: (resp) => {
|
||||
resp.data = JSON.parse(resp.data);
|
||||
if (resp.data.code == 200) {
|
||||
let params = {};
|
||||
params['id'] = that.data.id;
|
||||
params['accident_img'] = resp.data.data.url;
|
||||
_.apiQuery.putAppCusorderdata(params).then(res2 => {
|
||||
|
||||
wx.hideLoading();
|
||||
that.setData({
|
||||
isEditAccident:false,
|
||||
})
|
||||
|
||||
that.getAppCusorderdata()
|
||||
|
||||
}).catch(res2=>{
|
||||
wx.hideLoading();
|
||||
});
|
||||
}else{
|
||||
wx.hideLoading();
|
||||
wx.showToast({
|
||||
title: '上传失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
},
|
||||
})
|
||||
},
|
||||
fail: res => {
|
||||
wx.showToast({
|
||||
title: '文件选择失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//上传其他保险
|
||||
if(e.currentTarget.dataset.type=='ins_img'){
|
||||
wx.chooseImage({
|
||||
count: 10 - that.data.ins_img.length, //
|
||||
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||||
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||||
success(res1) {
|
||||
wx.showLoading({
|
||||
title: '上传中',
|
||||
})
|
||||
let ins_img=that.data.ins_img
|
||||
let k = 0
|
||||
for (let i = 0; i < res1.tempFilePaths.length; i++) {
|
||||
//上传图片
|
||||
wx.uploadFile({
|
||||
url:_.config.api.upImg,
|
||||
filePath:res1.tempFilePaths[i],
|
||||
name: 'img',
|
||||
formData: {
|
||||
'app': 'liche'
|
||||
},
|
||||
success: (resp) => {
|
||||
k = k + 1
|
||||
resp.data = JSON.parse(resp.data);
|
||||
if (resp.data.code == 200) {
|
||||
let imgdata = resp.data
|
||||
let list = []
|
||||
list.push({
|
||||
value:imgdata.data.url,
|
||||
img:imgdata.data.full_url,
|
||||
})
|
||||
ins_img=ins_img.concat(list)
|
||||
if(k == res1.tempFilePaths.length){
|
||||
let params = {};
|
||||
params['id'] = that.data.id;
|
||||
let img = []
|
||||
ins_img.forEach(item => {
|
||||
img.push(item.value)
|
||||
})
|
||||
params['ins_imgs'] = img;
|
||||
_.apiQuery.putAppCusorderdata(params).then(res2 => {
|
||||
|
||||
wx.hideLoading();
|
||||
that.getAppCusorderdata()
|
||||
|
||||
}).catch(res2=>{
|
||||
wx.hideLoading();
|
||||
});
|
||||
}
|
||||
}else{
|
||||
wx.hideLoading();
|
||||
}
|
||||
},
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
},
|
||||
fail: res => {
|
||||
wx.showToast({
|
||||
title: '文件选择失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
},
|
||||
|
||||
// 编辑页面删除图片
|
||||
delImg(e){
|
||||
if(e.currentTarget.dataset.type=='ins_img'){
|
||||
let ins_img = this.data.ins_img
|
||||
ins_img.splice(e.currentTarget.dataset.index, 1)
|
||||
let params = {};
|
||||
params['id'] = this.data.id;
|
||||
let img = []
|
||||
ins_img.forEach(item => {
|
||||
img.push(item.value)
|
||||
})
|
||||
params['ins_imgs'] = img;
|
||||
_.apiQuery.putAppCusorderdata(params).then(res => {
|
||||
this.setData({
|
||||
ins_img,
|
||||
})
|
||||
})
|
||||
}else if(e.currentTarget.dataset.type=='other_img'){
|
||||
let other_img = this.data.other_img
|
||||
other_img.splice(e.currentTarget.dataset.index, 1)
|
||||
let params = {};
|
||||
params['id'] = this.data.id;
|
||||
let img = []
|
||||
other_img.forEach(item => {
|
||||
img.push(item.value)
|
||||
})
|
||||
params['other_imgs'] = img;
|
||||
_.apiQuery.putAppCusorderdata(params).then(res => {
|
||||
this.setData({
|
||||
other_img,
|
||||
})
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
//显示隐藏交强险
|
||||
optEditInsurance(){
|
||||
this.setData({
|
||||
isEditInsurance:!this.data.isEditInsurance,
|
||||
})
|
||||
},
|
||||
|
||||
//显示隐藏商业险
|
||||
optEditBusiness(){
|
||||
this.setData({
|
||||
isEditBusiness:!this.data.isEditBusiness,
|
||||
})
|
||||
},
|
||||
|
||||
//显示隐藏意外险
|
||||
optEditAccident(){
|
||||
this.setData({
|
||||
isEditAccident:!this.data.isEditAccident,
|
||||
})
|
||||
},
|
||||
|
||||
//输入
|
||||
inputTx(e) {
|
||||
this.setData({
|
||||
[e.currentTarget.dataset.key]: e.detail.value
|
||||
})
|
||||
},
|
||||
|
||||
//购买时间
|
||||
selectDate(e){
|
||||
if(e.currentTarget.dataset.type=='insurance'){
|
||||
this.setData({
|
||||
insurance_date: e.detail.value,
|
||||
})
|
||||
}
|
||||
else if(e.currentTarget.dataset.type=='business'){
|
||||
this.setData({
|
||||
business_date: e.detail.value,
|
||||
})
|
||||
}
|
||||
else if(e.currentTarget.dataset.type=='accident'){
|
||||
this.setData({
|
||||
accident_date: e.detail.value,
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
//保单信息确认
|
||||
putAppCusorderdataInfo(e){
|
||||
let params = {};
|
||||
params['id'] = this.data.id;
|
||||
if(e.currentTarget.dataset.type=='insurance'){
|
||||
params['type'] = 1;
|
||||
params['product'] = this.data.insurance_product;
|
||||
params['price'] = this.data.insurance_price;
|
||||
params['date'] = this.data.insurance_date;
|
||||
if(this.data.userInfo.biz_type==1){
|
||||
params['rebate'] = this.data.insurance_rebate;
|
||||
}
|
||||
}
|
||||
else if(e.currentTarget.dataset.type=='business'){
|
||||
params['type'] = 0;
|
||||
params['product'] = this.data.business_product;
|
||||
params['price'] = this.data.business_price;
|
||||
params['date'] = this.data.business_date;
|
||||
if(this.data.userInfo.biz_type==1){
|
||||
params['rebate'] = this.data.business_rebate;
|
||||
}
|
||||
}
|
||||
else if(e.currentTarget.dataset.type=='accident'){
|
||||
params['type'] = 2;
|
||||
params['product'] = this.data.accident_product;
|
||||
params['price'] = this.data.accident_price;
|
||||
params['date'] = this.data.accident_date;
|
||||
if(this.data.userInfo.biz_type==1){
|
||||
params['rebate'] = this.data.accident_rebate;
|
||||
}
|
||||
}
|
||||
_.apiQuery.putAppCusorderdataInfo(params).then(res => {
|
||||
|
||||
wx.showToast({
|
||||
title: '编辑成功',
|
||||
icon: 'success'
|
||||
})
|
||||
|
||||
if(e.currentTarget.dataset.type=='insurance'){
|
||||
this.setData({
|
||||
isEditInsurance:false,
|
||||
})
|
||||
}
|
||||
else if(e.currentTarget.dataset.type=='business'){
|
||||
this.setData({
|
||||
isEditBusiness:false,
|
||||
})
|
||||
}
|
||||
else if(e.currentTarget.dataset.type=='accident'){
|
||||
this.setData({
|
||||
isEditAccident:false,
|
||||
})
|
||||
}
|
||||
|
||||
this.getAppCusorderdata()
|
||||
|
||||
});
|
||||
},
|
||||
|
||||
//查看图片
|
||||
previewImage: function (e) {
|
||||
if(e.currentTarget.dataset.type=='insurance_img'){
|
||||
wx.previewImage({
|
||||
current:this.data.imgInfo.imgs.insurance_img.img,
|
||||
urls:[this.data.imgInfo.imgs.insurance_img.img],
|
||||
})
|
||||
}
|
||||
else if(e.currentTarget.dataset.type=='business_img'){
|
||||
wx.previewImage({
|
||||
current:this.data.imgInfo.imgs.business_img.img,
|
||||
urls:[this.data.imgInfo.imgs.business_img.img],
|
||||
})
|
||||
}
|
||||
else if(e.currentTarget.dataset.type=='accident_img'){
|
||||
wx.previewImage({
|
||||
current:this.data.imgInfo.imgs.accident_img.img,
|
||||
urls:[this.data.imgInfo.imgs.accident_img.img],
|
||||
})
|
||||
}
|
||||
else if(e.currentTarget.dataset.type=='ins_img'){
|
||||
let img = []
|
||||
this.data.imgInfo.imgs.ins_img.forEach(item => {
|
||||
img.push(item.img)
|
||||
})
|
||||
wx.previewImage({
|
||||
current:e.currentTarget.dataset.current,
|
||||
urls:img,
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
})
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"navigationBarTitleText": "保险单信息",
|
||||
"usingComponents": {}
|
||||
}
|
||||
@@ -0,0 +1,268 @@
|
||||
<view class="container">
|
||||
<view class="inner30 pb100">
|
||||
|
||||
<view class="pl40 pr40 pt40 relative ulib-r10 box-shadow-000-10-10 overflowhidden">
|
||||
|
||||
<view class="font-28 text-center text-bold">交强险</view>
|
||||
<view class="mt30 pb30 text-center">
|
||||
<view class="inline-block img-300x200 relative ulib-r10 overflowhidden">
|
||||
<block wx:if="{{insurance_img.value}}">
|
||||
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden">
|
||||
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-shuaxin inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-1" bindtap="chooseImg" data-type="insurance_img"></i>
|
||||
<image class='block wp100 img-h-200 ulib-r10' src='{{insurance_img.img}}' mode='aspectFit' bindtap="previewImage" data-type="insurance_img"></image>
|
||||
</view>
|
||||
</block>
|
||||
<block wx:else>
|
||||
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-type="insurance_img">
|
||||
<view class="absolute left-0 right-0 box-middle color-ccc">
|
||||
<i class="iconfont icon-paizhao font-48"></i>
|
||||
<view class="mt10 font-22">上传交强险</view>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="relative bg-f8 mb40 inner40 ulib-r10 overflowhidden font-28" wx:if="{{insurance_img.value&&!isEditInsurance}}">
|
||||
<view class="sellout-tip font-24" bindtap="optEditInsurance">修改</view>
|
||||
<view class="relative font-28">
|
||||
保险公司:{{insurance_img.product}}
|
||||
</view>
|
||||
<view class="mt20 relative font-28">
|
||||
生效日期:{{insurance_img.date}}
|
||||
</view>
|
||||
<view class="mt20 relative font-28">
|
||||
保险金额:{{insurance_img.price}}元
|
||||
</view>
|
||||
<block wx:if="{{userInfo.biz_type==1}}">
|
||||
<view class="mt20 relative font-28">
|
||||
保险返点:{{insurance_rebate}}%
|
||||
</view>
|
||||
<view class="mt20 relative font-28">
|
||||
返点金额:{{insurance_rebate_am}}元
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
<view wx:elif="{{insurance_img.value}}">
|
||||
<view class="relative bbs-1-eb last-b-none pl140 font-28">
|
||||
<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="insurance_product" name='insurance_product' value='{{insurance_product}}' always-embed='{{true}}' />
|
||||
</view>
|
||||
</view>
|
||||
<view class="relative bbs-1-eb last-b-none pl180 font-28">
|
||||
<view class="absolute left-0 box-middle">生效日期</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666">
|
||||
<picker mode="date" value="{{insurance_date}}" bindchange="selectDate" data-type="insurance">
|
||||
<text class="color-ccc" wx:if="{{insurance_date == ''}}">请选择</text>
|
||||
<text wx:else>{{insurance_date}}</text>
|
||||
<i class="iconfont ml10 icon-gengduo"></i>
|
||||
</picker>
|
||||
</view>
|
||||
</view>
|
||||
<view class="relative bbs-1-eb last-b-none pl140 pr40 font-28">
|
||||
<view class="absolute left-0 box-middle">保险金额</view>
|
||||
<view>
|
||||
<input class="wp100 height-100 text-right font-28" placeholder-class="color-ccc" type="digit" placeholder="请输入保险金额" bindinput='inputTx' data-key="insurance_price" name='insurance_price' value='{{insurance_price}}' always-embed='{{true}}' />
|
||||
</view>
|
||||
<view class="absolute right-0 box-middle">元</view>
|
||||
</view>
|
||||
<block wx:if="{{userInfo.biz_type==1}}">
|
||||
<view class="relative bbs-1-eb last-b-none pl140 pr40 font-28">
|
||||
<view class="absolute left-0 box-middle">保险返点</view>
|
||||
<view>
|
||||
<input class="wp100 height-100 text-right font-28" placeholder-class="color-ccc" type="digit" placeholder="请输入保险返点" bindinput='inputTx' data-key="insurance_rebate" name='insurance_rebate' value='{{insurance_rebate}}' always-embed='{{true}}' />
|
||||
</view>
|
||||
<view class="absolute right-0 box-middle">%</view>
|
||||
</view>
|
||||
</block>
|
||||
<view class="relative bbs-1-eb last-b-none pt30 pb30 text-center font-28">
|
||||
<button class="inline-block text-middle font-22 color-fff ulib-r10 btn-36afa2" hover-class="btn-36afa2-hover" bindtap="putAppCusorderdataInfo" data-type="insurance">确定修改</button>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="mt50 pl40 pr40 pt40 relative ulib-r10 box-shadow-000-10-10 overflowhidden">
|
||||
<view class="font-28 text-center text-bold">商业险</view>
|
||||
<view class="mt30 pb30 text-center">
|
||||
<view class="inline-block img-300x200 relative ulib-r10 overflowhidden">
|
||||
<block wx:if="{{business_img.value}}">
|
||||
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden">
|
||||
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-shuaxin inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-1" bindtap="chooseImg" data-type="business_img"></i>
|
||||
<image class='block wp100 img-h-200 ulib-r10' src='{{business_img.img}}' mode='aspectFit' bindtap="previewImage" data-type="business_img"></image>
|
||||
</view>
|
||||
</block>
|
||||
<block wx:else>
|
||||
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-type="business_img">
|
||||
<view class="absolute left-0 right-0 box-middle color-ccc">
|
||||
<i class="iconfont icon-paizhao font-48"></i>
|
||||
<view class="mt10 font-22">上传商业险</view>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="relative bg-f8 mb40 inner40 ulib-r10 overflowhidden font-28" wx:if="{{business_img.value&&!isEditBusiness}}">
|
||||
<view class="sellout-tip font-24" bindtap="optEditBusiness">修改</view>
|
||||
<view class="relative font-28">
|
||||
保险公司:{{business_img.product}}
|
||||
</view>
|
||||
<view class="mt20 relative font-28">
|
||||
生效日期:{{business_img.date}}
|
||||
</view>
|
||||
<view class="mt20 relative font-28">
|
||||
保险金额:{{business_img.price}}元
|
||||
</view>
|
||||
<block wx:if="{{userInfo.biz_type==1}}">
|
||||
<view class="mt20 relative font-28">
|
||||
保险返点:{{business_rebate}}%
|
||||
</view>
|
||||
<view class="mt20 relative font-28">
|
||||
返点金额:{{business_rebate_am}}元
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
<view wx:elif="{{business_img.value}}">
|
||||
<view class="relative bbs-1-eb last-b-none pl140 font-28">
|
||||
<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="business_product" name='business_product' value='{{business_product}}' always-embed='{{true}}' />
|
||||
</view>
|
||||
</view>
|
||||
<view class="relative bbs-1-eb last-b-none pl180 font-28">
|
||||
<view class="absolute left-0 box-middle">生效日期</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666">
|
||||
<picker mode="date" value="{{business_date}}" bindchange="selectDate" data-type="business">
|
||||
<text class="color-ccc" wx:if="{{business_date == ''}}">请选择</text>
|
||||
<text wx:else>{{business_date}}</text>
|
||||
<i class="iconfont ml10 icon-gengduo"></i>
|
||||
</picker>
|
||||
</view>
|
||||
</view>
|
||||
<view class="relative bbs-1-eb last-b-none pl140 pr40 font-28">
|
||||
<view class="absolute left-0 box-middle">保险金额</view>
|
||||
<view>
|
||||
<input class="wp100 height-100 text-right font-28" placeholder-class="color-ccc" type="digit" placeholder="请输入保险金额" bindinput='inputTx' data-key="business_price" name='business_price' value='{{business_price}}' always-embed='{{true}}' />
|
||||
</view>
|
||||
<view class="absolute right-0 box-middle">元</view>
|
||||
</view>
|
||||
<block wx:if="{{userInfo.biz_type==1}}">
|
||||
<view class="relative bbs-1-eb last-b-none pl140 pr40 font-28">
|
||||
<view class="absolute left-0 box-middle">保险返点</view>
|
||||
<view>
|
||||
<input class="wp100 height-100 text-right font-28" placeholder-class="color-ccc" type="digit" placeholder="请输入保险返点" bindinput='inputTx' data-key="business_rebate" name='business_rebate' value='{{business_rebate}}' always-embed='{{true}}' />
|
||||
</view>
|
||||
<view class="absolute right-0 box-middle">%</view>
|
||||
</view>
|
||||
<view class="relative bbs-1-eb last-b-none pt30 pb30 text-center font-28">
|
||||
<button class="inline-block text-middle font-22 color-fff ulib-r10 btn-36afa2" hover-class="btn-36afa2-hover" bindtap="putAppCusorderdataInfo" data-type="business">确定修改</button>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="mt50 pl40 pr40 pt40 relative ulib-r10 box-shadow-000-10-10 overflowhidden">
|
||||
<view class="font-28 text-center text-bold">意外险</view>
|
||||
<view class="mt30 pb30 text-center">
|
||||
<view class="inline-block img-300x200 relative ulib-r10 overflowhidden">
|
||||
<block wx:if="{{accident_img.value}}">
|
||||
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden">
|
||||
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-shuaxin inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-1" bindtap="chooseImg" data-type="accident_img"></i>
|
||||
<image class='block wp100 img-h-200 ulib-r10' src='{{accident_img.img}}' mode='aspectFit' bindtap="previewImage" data-type="accident_img"></image>
|
||||
</view>
|
||||
</block>
|
||||
<block wx:else>
|
||||
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-type="accident_img">
|
||||
<view class="absolute left-0 right-0 box-middle color-ccc">
|
||||
<i class="iconfont icon-paizhao font-48"></i>
|
||||
<view class="mt10 font-22">上传意外险</view>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="relative bg-f8 mb40 inner40 ulib-r10 overflowhidden font-28" wx:if="{{accident_img.value&&!isEditAccident}}">
|
||||
<view class="sellout-tip font-24" bindtap="optEditAccident">修改</view>
|
||||
<view class="relative font-28">
|
||||
保险公司:{{accident_img.product}}
|
||||
</view>
|
||||
<view class="mt20 relative font-28">
|
||||
生效日期:{{accident_img.date}}
|
||||
</view>
|
||||
<view class="mt20 relative font-28">
|
||||
保险金额:{{accident_img.price}}元
|
||||
</view>
|
||||
<block wx:if="{{userInfo.biz_type==1}}">
|
||||
<view class="mt20 relative font-28">
|
||||
保险返点:{{accident_rebate}}%
|
||||
</view>
|
||||
<view class="mt20 relative font-28">
|
||||
返点金额:{{accident_rebate_am}}元
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
<view wx:elif="{{accident_img.value}}">
|
||||
<view class="relative bbs-1-eb last-b-none pl140 font-28">
|
||||
<view class="absolute left-0 box-middle">保险公司</view>
|
||||
<view>
|
||||
<input class="wp100 height-100 text-right font-28" placeholder-class="color-ccc" type="text" placeholder="请输入保险公司" bindinput='inputTx' data-key="accident_product" name='accident_product' value='{{accident_product}}' always-embed='{{true}}' />
|
||||
</view>
|
||||
</view>
|
||||
<view class="relative bbs-1-eb last-b-none pl180 font-28">
|
||||
<view class="absolute left-0 box-middle">生效日期</view>
|
||||
<view class="pt30 pb30 text-right font-28 color-666">
|
||||
<picker mode="date" value="{{accident_date}}" bindchange="selectDate" data-type="accident">
|
||||
<text class="color-ccc" wx:if="{{accident_date == ''}}">请选择</text>
|
||||
<text wx:else>{{accident_date}}</text>
|
||||
<i class="iconfont ml10 icon-gengduo"></i>
|
||||
</picker>
|
||||
</view>
|
||||
</view>
|
||||
<view class="relative bbs-1-eb last-b-none pl140 pr40 font-28">
|
||||
<view class="absolute left-0 box-middle">保险金额</view>
|
||||
<view>
|
||||
<input class="wp100 height-100 text-right font-28" placeholder-class="color-ccc" type="digit" placeholder="请输入保险金额" bindinput='inputTx' data-key="accident_price" name='accident_price' value='{{accident_price}}' always-embed='{{true}}' />
|
||||
</view>
|
||||
<view class="absolute right-0 box-middle">元</view>
|
||||
</view>
|
||||
<block wx:if="{{userInfo.biz_type==1}}">
|
||||
<view class="relative bbs-1-eb last-b-none pl140 pr40 font-28">
|
||||
<view class="absolute left-0 box-middle">保险返点</view>
|
||||
<view>
|
||||
<input class="wp100 height-100 text-right font-28" placeholder-class="color-ccc" type="digit" placeholder="请输入保险返点" bindinput='inputTx' data-key="accident_rebate" name='accident_rebate' value='{{accident_rebate}}' always-embed='{{true}}' />
|
||||
</view>
|
||||
<view class="absolute right-0 box-middle">%</view>
|
||||
</view>
|
||||
</block>
|
||||
<view class="relative bbs-1-eb last-b-none pt30 pb30 text-center font-28">
|
||||
<button class="inline-block text-middle font-22 color-fff ulib-r10 btn-36afa2" hover-class="btn-36afa2-hover" bindtap="putAppCusorderdataInfo" data-type="accident">确定修改</button>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- <view class="mt50 pt40 relative ulib-r10 box-shadow-000-10-10 overflowhidden">
|
||||
<view class="font-28 text-center text-bold">其他保险</view>
|
||||
<view class="mt30 pb30 text-center">
|
||||
<scroll-view class="space-nowrap" scroll-x="true">
|
||||
<block wx:for='{{ins_img}}' wx:for-item='ins_img' wx:key='index'>
|
||||
<view class="inline-block bg-f8 img-300x200 ml10 mr10 relative ulib-r10 overflowhidden">
|
||||
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-guanbi1 inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-1" bindtap="delImg" data-type="ins_img" data-index="{{index}}" ></i>
|
||||
<image class='block wp100 img-h-200 ulib-r10' src='{{ins_img.img}}' mode='aspectFit' bindtap="previewImage" data-type="ins_img" data-current="{{ins_img.img}}"></image>
|
||||
</view>
|
||||
</block>
|
||||
<block wx:if="{{ins_img.length<10}}">
|
||||
<view class="inline-block bg-f8 img-300x200 ml10 mr10 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-type="ins_img">
|
||||
<view class="absolute left-0 right-0 box-middle color-ccc">
|
||||
<i class="iconfont icon-paizhao font-48"></i>
|
||||
<view class="mt10 font-22">上传其他保险</view>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
</scroll-view>
|
||||
</view>
|
||||
</view> -->
|
||||
|
||||
</view>
|
||||
</view>
|
||||
@@ -0,0 +1,12 @@
|
||||
.sellout-tip{
|
||||
position:absolute;
|
||||
top:-28rpx;
|
||||
right:-78rpx;
|
||||
width:200rpx;
|
||||
height:50rpx;
|
||||
padding:50rpx 0 0 0;
|
||||
background-color:#36afa2;
|
||||
color:#fff;
|
||||
text-align: center;
|
||||
transform:rotate(45deg);
|
||||
}
|
||||
@@ -0,0 +1,530 @@
|
||||
import _ from '../../../commons/js/commons'
|
||||
const app = getApp()
|
||||
Page({
|
||||
data: {
|
||||
cardida:{},//身份证正面照片
|
||||
cardidb:{},//身份证反面照片
|
||||
business_licence:{},//营业执照照片
|
||||
car_img:{},//行驶证照片
|
||||
register_img:{},//登记证照片
|
||||
ins_img:[],//保险照片
|
||||
other_img:[],//交车合照
|
||||
},
|
||||
onLoad: function (options) {
|
||||
for (let key in options) {
|
||||
this.setData({
|
||||
[key]: options[key]
|
||||
})
|
||||
}
|
||||
|
||||
this.getAppCusorderdata()
|
||||
|
||||
},
|
||||
onShow: function () {
|
||||
|
||||
},
|
||||
|
||||
//获取订单图片
|
||||
getAppCusorderdata(){
|
||||
let params = {};
|
||||
params['id'] = this.data.id;
|
||||
_.apiQuery.getAppCusorderdata(params).then(res=>{
|
||||
this.setData({
|
||||
imgInfo:res.data,
|
||||
})
|
||||
if(res.data.img_status == 1){
|
||||
this.setData({
|
||||
cardida:res.data.imgs.cardida.length==0?{}:res.data.imgs.cardida,
|
||||
cardidb:res.data.imgs.cardidb.length==0?{}:res.data.imgs.cardidb,
|
||||
business_licence:res.data.imgs.business_licence.length==0?{}:res.data.imgs.business_licence,
|
||||
car_img:res.data.imgs.car_img.length==0?{}:res.data.imgs.car_img,
|
||||
register_img:res.data.imgs.register_img.length==0?{}:res.data.imgs.register_img,
|
||||
ins_img:res.data.imgs.ins_img.length==0?[]:res.data.imgs.ins_img,
|
||||
other_img:res.data.imgs.other_img.length==0?[]:res.data.imgs.other_img,
|
||||
})
|
||||
}
|
||||
wx.stopPullDownRefresh()
|
||||
})
|
||||
},
|
||||
|
||||
//选择图片
|
||||
chooseImg(e) {
|
||||
let that = this
|
||||
//上传身份证正面
|
||||
if(e.currentTarget.dataset.type=='cardida'){
|
||||
wx.chooseImage({
|
||||
count: 1, // 默认9
|
||||
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||||
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||||
success(res) {
|
||||
wx.showLoading({
|
||||
title: '上传中',
|
||||
})
|
||||
wx.uploadFile({
|
||||
url:_.config.api.upImg,
|
||||
filePath:res.tempFilePaths[0],
|
||||
name: 'img',
|
||||
formData: {
|
||||
'app': 'liche'
|
||||
},
|
||||
success: (resp) => {
|
||||
resp.data = JSON.parse(resp.data);
|
||||
if (resp.data.code == 200) {
|
||||
let params = {};
|
||||
params['id'] = that.data.id;
|
||||
params['cardida'] = resp.data.data.url;
|
||||
_.apiQuery.putAppCusorderdata(params).then(res2 => {
|
||||
wx.hideLoading();
|
||||
that.setData({
|
||||
'cardida.value':resp.data.data.url,
|
||||
'cardida.img':resp.data.data.full_url,
|
||||
})
|
||||
}).catch(res2=>{
|
||||
wx.hideLoading();
|
||||
if(res2.code==418){
|
||||
that.setData({
|
||||
'cardida.value':resp.data.data.url,
|
||||
'cardida.img':resp.data.data.full_url,
|
||||
'cardida.err':!res2.data[0].caridA,
|
||||
'cardida.errmsg':res2.data[0].errmsg,
|
||||
})
|
||||
}
|
||||
});
|
||||
}else{
|
||||
wx.hideLoading();
|
||||
wx.showToast({
|
||||
title: '上传失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
},
|
||||
})
|
||||
},
|
||||
fail: res => {
|
||||
wx.showToast({
|
||||
title: '文件选择失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//上传身份证背面
|
||||
if(e.currentTarget.dataset.type=='cardidb'){
|
||||
wx.chooseImage({
|
||||
count: 1, // 默认9
|
||||
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||||
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||||
success(res) {
|
||||
wx.showLoading({
|
||||
title: '上传中',
|
||||
})
|
||||
wx.uploadFile({
|
||||
url:_.config.api.upImg,
|
||||
filePath:res.tempFilePaths[0],
|
||||
name: 'img',
|
||||
formData: {
|
||||
'app': 'liche'
|
||||
},
|
||||
success: (resp) => {
|
||||
resp.data = JSON.parse(resp.data);
|
||||
if (resp.data.code == 200) {
|
||||
let params = {};
|
||||
params['id'] = that.data.id;
|
||||
params['cardidb'] = resp.data.data.url;
|
||||
_.apiQuery.putAppCusorderdata(params).then(res2 => {
|
||||
wx.hideLoading();
|
||||
that.setData({
|
||||
'cardidb.value':resp.data.data.url,
|
||||
'cardidb.img':resp.data.data.full_url,
|
||||
})
|
||||
}).catch(res2=>{
|
||||
wx.hideLoading();
|
||||
if(res2.code==418){
|
||||
that.setData({
|
||||
'cardidb.value':resp.data.data.url,
|
||||
'cardidb.img':resp.data.data.full_url,
|
||||
'cardidb.err':!res2.data[1].caridB,
|
||||
'cardidb.errmsg':res2.data[1].errmsg,
|
||||
})
|
||||
}
|
||||
});
|
||||
}else{
|
||||
wx.hideLoading();
|
||||
wx.showToast({
|
||||
title: '上传失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
},
|
||||
})
|
||||
},
|
||||
fail: res => {
|
||||
wx.showToast({
|
||||
title: '文件选择失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//上传营业执照
|
||||
if(e.currentTarget.dataset.type=='business_licence'){
|
||||
wx.chooseImage({
|
||||
count: 1, // 默认9
|
||||
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||||
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||||
success(res) {
|
||||
wx.showLoading({
|
||||
title: '上传中',
|
||||
})
|
||||
wx.uploadFile({
|
||||
url:_.config.api.upImg,
|
||||
filePath:res.tempFilePaths[0],
|
||||
name: 'img',
|
||||
formData: {
|
||||
'app': 'liche'
|
||||
},
|
||||
success: (resp) => {
|
||||
resp.data = JSON.parse(resp.data);
|
||||
if (resp.data.code == 200) {
|
||||
let params = {};
|
||||
params['id'] = that.data.id;
|
||||
params['business_licence'] = resp.data.data.url;
|
||||
_.apiQuery.putAppCusorderdata(params).then(res2 => {
|
||||
wx.hideLoading();
|
||||
that.setData({
|
||||
'business_licence.value':resp.data.data.url,
|
||||
'business_licence.img':resp.data.data.full_url,
|
||||
})
|
||||
}).catch(res2=>{
|
||||
wx.hideLoading();
|
||||
if(res2.code==418){
|
||||
that.setData({
|
||||
'business_licence.value':resp.data.data.url,
|
||||
'business_licence.img':resp.data.data.full_url,
|
||||
'business_licence.err':!res2.data[0].business_licence,
|
||||
'business_licence.errmsg':res2.data[0].errmsg,
|
||||
})
|
||||
}
|
||||
});
|
||||
}else{
|
||||
wx.hideLoading();
|
||||
wx.showToast({
|
||||
title: '上传失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
},
|
||||
})
|
||||
},
|
||||
fail: res => {
|
||||
wx.showToast({
|
||||
title: '文件选择失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//上传登记证
|
||||
if(e.currentTarget.dataset.type=='register_img'){
|
||||
wx.chooseImage({
|
||||
count: 1, // 默认9
|
||||
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||||
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||||
success(res) {
|
||||
wx.showLoading({
|
||||
title: '上传中',
|
||||
})
|
||||
wx.uploadFile({
|
||||
url:_.config.api.upImg,
|
||||
filePath:res.tempFilePaths[0],
|
||||
name: 'img',
|
||||
formData: {
|
||||
'app': 'liche'
|
||||
},
|
||||
success: (resp) => {
|
||||
resp.data = JSON.parse(resp.data);
|
||||
if (resp.data.code == 200) {
|
||||
let params = {};
|
||||
params['id'] = that.data.id;
|
||||
params['register_img'] = resp.data.data.url;
|
||||
_.apiQuery.putAppCusorderdata(params).then(res2 => {
|
||||
wx.hideLoading();
|
||||
that.setData({
|
||||
'register_img.value':resp.data.data.url,
|
||||
'register_img.img':resp.data.data.full_url,
|
||||
})
|
||||
}).catch(res2=>{
|
||||
wx.hideLoading();
|
||||
});
|
||||
}else{
|
||||
wx.hideLoading();
|
||||
wx.showToast({
|
||||
title: '上传失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
},
|
||||
})
|
||||
},
|
||||
fail: res => {
|
||||
wx.showToast({
|
||||
title: '文件选择失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//上传行驶证
|
||||
if(e.currentTarget.dataset.type=='car_img'){
|
||||
wx.chooseImage({
|
||||
count: 1, // 默认9
|
||||
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||||
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||||
success(res) {
|
||||
wx.showLoading({
|
||||
title: '上传中',
|
||||
})
|
||||
wx.uploadFile({
|
||||
url:_.config.api.upImg,
|
||||
filePath:res.tempFilePaths[0],
|
||||
name: 'img',
|
||||
formData: {
|
||||
'app': 'liche'
|
||||
},
|
||||
success: (resp) => {
|
||||
resp.data = JSON.parse(resp.data);
|
||||
if (resp.data.code == 200) {
|
||||
let params = {};
|
||||
params['id'] = that.data.id;
|
||||
params['car_img'] = resp.data.data.url;
|
||||
_.apiQuery.putAppCusorderdata(params).then(res2 => {
|
||||
wx.hideLoading();
|
||||
that.setData({
|
||||
'car_img.value':resp.data.data.url,
|
||||
'car_img.img':resp.data.data.full_url,
|
||||
})
|
||||
}).catch(res2=>{
|
||||
wx.hideLoading();
|
||||
});
|
||||
}else{
|
||||
wx.hideLoading();
|
||||
wx.showToast({
|
||||
title: '上传失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
},
|
||||
})
|
||||
},
|
||||
fail: res => {
|
||||
wx.showToast({
|
||||
title: '文件选择失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//上传保单
|
||||
if(e.currentTarget.dataset.type=='ins_img'){
|
||||
wx.chooseImage({
|
||||
count: 10 - that.data.ins_img.length, //
|
||||
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||||
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||||
success(res1) {
|
||||
wx.showLoading({
|
||||
title: '上传中',
|
||||
})
|
||||
let ins_img=that.data.ins_img
|
||||
let k = 0
|
||||
for (let i = 0; i < res1.tempFilePaths.length; i++) {
|
||||
//上传图片
|
||||
wx.uploadFile({
|
||||
url:_.config.api.upImg,
|
||||
filePath:res1.tempFilePaths[i],
|
||||
name: 'img',
|
||||
formData: {
|
||||
'app': 'liche'
|
||||
},
|
||||
success: (resp) => {
|
||||
k = k + 1
|
||||
resp.data = JSON.parse(resp.data);
|
||||
if (resp.data.code == 200) {
|
||||
let imgdata = resp.data
|
||||
let list = []
|
||||
list.push({
|
||||
value:imgdata.data.url,
|
||||
img:imgdata.data.full_url,
|
||||
})
|
||||
ins_img=ins_img.concat(list)
|
||||
if(k == res1.tempFilePaths.length){
|
||||
let params = {};
|
||||
params['id'] = that.data.id;
|
||||
let img = []
|
||||
ins_img.forEach(item => {
|
||||
img.push(item.value)
|
||||
})
|
||||
params['ins_imgs'] = img;
|
||||
_.apiQuery.putAppCusorderdata(params).then(res2 => {
|
||||
wx.hideLoading();
|
||||
that.setData({
|
||||
ins_img,
|
||||
})
|
||||
}).catch(res2=>{
|
||||
wx.hideLoading();
|
||||
});
|
||||
}
|
||||
}else{
|
||||
wx.hideLoading();
|
||||
}
|
||||
},
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
},
|
||||
fail: res => {
|
||||
wx.showToast({
|
||||
title: '文件选择失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//上传交车合照
|
||||
if(e.currentTarget.dataset.type=='other_img'){
|
||||
wx.chooseImage({
|
||||
count: 1, //
|
||||
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||||
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||||
success(res1) {
|
||||
wx.showLoading({
|
||||
title: '上传中',
|
||||
})
|
||||
let other_img=that.data.other_img
|
||||
let k = 0
|
||||
for (let i = 0; i < res1.tempFilePaths.length; i++) {
|
||||
//上传图片
|
||||
wx.uploadFile({
|
||||
url:_.config.api.upImg,
|
||||
filePath:res1.tempFilePaths[i],
|
||||
name: 'img',
|
||||
formData: {
|
||||
'app': 'liche'
|
||||
},
|
||||
success: (resp) => {
|
||||
k = k + 1
|
||||
resp.data = JSON.parse(resp.data);
|
||||
if (resp.data.code == 200) {
|
||||
let imgdata = resp.data
|
||||
let list = []
|
||||
list.push({
|
||||
value:imgdata.data.url,
|
||||
img:imgdata.data.full_url,
|
||||
})
|
||||
other_img=other_img.concat(list)
|
||||
if(k == res1.tempFilePaths.length){
|
||||
let params = {};
|
||||
params['id'] = that.data.id;
|
||||
let img = []
|
||||
other_img.forEach(item => {
|
||||
img.push(item.value)
|
||||
})
|
||||
params['other_imgs'] = img;
|
||||
_.apiQuery.putAppCusorderdata(params).then(res2 => {
|
||||
wx.hideLoading();
|
||||
that.setData({
|
||||
other_img,
|
||||
})
|
||||
}).catch(res2=>{
|
||||
wx.hideLoading();
|
||||
});
|
||||
}
|
||||
}else{
|
||||
wx.hideLoading();
|
||||
}
|
||||
},
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
},
|
||||
fail: res => {
|
||||
wx.showToast({
|
||||
title: '文件选择失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
// 编辑页面删除图片
|
||||
delImg(e){
|
||||
if(e.currentTarget.dataset.type=='ins_img'){
|
||||
let ins_img = this.data.ins_img
|
||||
ins_img.splice(e.currentTarget.dataset.index, 1)
|
||||
let params = {};
|
||||
params['id'] = this.data.id;
|
||||
let img = []
|
||||
ins_img.forEach(item => {
|
||||
img.push(item.value)
|
||||
})
|
||||
params['ins_imgs'] = img;
|
||||
_.apiQuery.putAppCusorderdata(params).then(res => {
|
||||
this.setData({
|
||||
ins_img,
|
||||
})
|
||||
})
|
||||
}else if(e.currentTarget.dataset.type=='other_img'){
|
||||
let other_img = this.data.other_img
|
||||
other_img.splice(e.currentTarget.dataset.index, 1)
|
||||
let params = {};
|
||||
params['id'] = this.data.id;
|
||||
let img = []
|
||||
other_img.forEach(item => {
|
||||
img.push(item.value)
|
||||
})
|
||||
params['other_imgs'] = img;
|
||||
_.apiQuery.putAppCusorderdata(params).then(res => {
|
||||
this.setData({
|
||||
other_img,
|
||||
})
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
//查看图片
|
||||
previewImage: function (e) {
|
||||
if(e.currentTarget.dataset.type=='register_img'){
|
||||
wx.previewImage({
|
||||
current:this.data.imgInfo.imgs.register_img.img,
|
||||
urls:[this.data.imgInfo.imgs.register_img.img],
|
||||
})
|
||||
}
|
||||
else if(e.currentTarget.dataset.type=='car_img'){
|
||||
wx.previewImage({
|
||||
current:this.data.imgInfo.imgs.car_img.img,
|
||||
urls:[this.data.imgInfo.imgs.car_img.img],
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
})
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"navigationBarTitleText": "车辆证件信息",
|
||||
"usingComponents": {}
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
<view class="container">
|
||||
<view class="inner30">
|
||||
|
||||
<!-- <view class="mt40 font-32">车辆证件</view> -->
|
||||
<view class="fn-flex mt30 text-center">
|
||||
<view class="fn-flex-item relative mr10">
|
||||
<block wx:if="{{register_img.value}}">
|
||||
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden">
|
||||
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-shuaxin inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-1" bindtap="chooseImg" data-type="register_img"></i>
|
||||
<image class='block wp100 img-h-200 ulib-r10' src='{{register_img.img}}' mode='aspectFit' bindtap="previewImage" data-type="register_img"></image>
|
||||
</view>
|
||||
</block>
|
||||
<block wx:else>
|
||||
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-type="register_img">
|
||||
<view class="absolute left-0 right-0 box-middle color-ccc">
|
||||
<i class="iconfont icon-paizhao font-48"></i>
|
||||
<view class="mt10 font-22">上传登记证</view>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
<view class="fn-flex-item relative ml10">
|
||||
<block wx:if="{{car_img.value}}">
|
||||
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden">
|
||||
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-shuaxin inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-1" bindtap="chooseImg" data-type="car_img"></i>
|
||||
<image class='block wp100 img-h-200 ulib-r10' src='{{car_img.img}}' mode='aspectFit' bindtap="previewImage" data-type="car_img"></image>
|
||||
</view>
|
||||
</block>
|
||||
<block wx:else>
|
||||
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-type="car_img">
|
||||
<view class="absolute left-0 right-0 box-middle color-ccc">
|
||||
<i class="iconfont icon-paizhao font-48"></i>
|
||||
<view class="mt10 font-22">上传行驶证</view>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
@@ -0,0 +1 @@
|
||||
/* pages/order/editLicenseImg/index.wxss */
|
||||
@@ -0,0 +1,528 @@
|
||||
import _ from '../../../commons/js/commons'
|
||||
const app = getApp()
|
||||
Page({
|
||||
data: {
|
||||
cardida:{},//身份证正面照片
|
||||
cardidb:{},//身份证反面照片
|
||||
business_licence:{},//营业执照照片
|
||||
car_img:{},//行驶证照片
|
||||
register_img:{},//登记证照片
|
||||
ins_img:[],//保险照片
|
||||
other_img:[],//交车合照
|
||||
},
|
||||
onLoad: function (options) {
|
||||
for (let key in options) {
|
||||
this.setData({
|
||||
[key]: options[key]
|
||||
})
|
||||
}
|
||||
|
||||
this.getAppCusorderdata()
|
||||
|
||||
},
|
||||
onShow: function () {
|
||||
|
||||
},
|
||||
|
||||
//获取订单图片
|
||||
getAppCusorderdata(){
|
||||
let params = {};
|
||||
params['id'] = this.data.id;
|
||||
_.apiQuery.getAppCusorderdata(params).then(res=>{
|
||||
this.setData({
|
||||
imgInfo:res.data,
|
||||
})
|
||||
if(res.data.img_status == 1){
|
||||
this.setData({
|
||||
cardida:res.data.imgs.cardida.length==0?{}:res.data.imgs.cardida,
|
||||
cardidb:res.data.imgs.cardidb.length==0?{}:res.data.imgs.cardidb,
|
||||
business_licence:res.data.imgs.business_licence.length==0?{}:res.data.imgs.business_licence,
|
||||
car_img:res.data.imgs.car_img.length==0?{}:res.data.imgs.car_img,
|
||||
register_img:res.data.imgs.register_img.length==0?{}:res.data.imgs.register_img,
|
||||
ins_img:res.data.imgs.ins_img.length==0?[]:res.data.imgs.ins_img,
|
||||
other_img:res.data.imgs.other_img.length==0?[]:res.data.imgs.other_img,
|
||||
})
|
||||
}
|
||||
wx.stopPullDownRefresh()
|
||||
})
|
||||
},
|
||||
|
||||
//选择图片
|
||||
chooseImg(e) {
|
||||
let that = this
|
||||
//上传身份证正面
|
||||
if(e.currentTarget.dataset.type=='cardida'){
|
||||
wx.chooseImage({
|
||||
count: 1, // 默认9
|
||||
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||||
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||||
success(res) {
|
||||
wx.showLoading({
|
||||
title: '上传中',
|
||||
})
|
||||
wx.uploadFile({
|
||||
url:_.config.api.upImg,
|
||||
filePath:res.tempFilePaths[0],
|
||||
name: 'img',
|
||||
formData: {
|
||||
'app': 'liche'
|
||||
},
|
||||
success: (resp) => {
|
||||
resp.data = JSON.parse(resp.data);
|
||||
if (resp.data.code == 200) {
|
||||
let params = {};
|
||||
params['id'] = that.data.id;
|
||||
params['cardida'] = resp.data.data.url;
|
||||
_.apiQuery.putAppCusorderdata(params).then(res2 => {
|
||||
wx.hideLoading();
|
||||
that.setData({
|
||||
'cardida.value':resp.data.data.url,
|
||||
'cardida.img':resp.data.data.full_url,
|
||||
})
|
||||
}).catch(res2=>{
|
||||
wx.hideLoading();
|
||||
if(res2.code==418){
|
||||
that.setData({
|
||||
'cardida.value':resp.data.data.url,
|
||||
'cardida.img':resp.data.data.full_url,
|
||||
'cardida.err':!res2.data[0].caridA,
|
||||
'cardida.errmsg':res2.data[0].errmsg,
|
||||
})
|
||||
}
|
||||
});
|
||||
}else{
|
||||
wx.hideLoading();
|
||||
wx.showToast({
|
||||
title: '上传失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
},
|
||||
})
|
||||
},
|
||||
fail: res => {
|
||||
wx.showToast({
|
||||
title: '文件选择失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//上传身份证背面
|
||||
if(e.currentTarget.dataset.type=='cardidb'){
|
||||
wx.chooseImage({
|
||||
count: 1, // 默认9
|
||||
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||||
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||||
success(res) {
|
||||
wx.showLoading({
|
||||
title: '上传中',
|
||||
})
|
||||
wx.uploadFile({
|
||||
url:_.config.api.upImg,
|
||||
filePath:res.tempFilePaths[0],
|
||||
name: 'img',
|
||||
formData: {
|
||||
'app': 'liche'
|
||||
},
|
||||
success: (resp) => {
|
||||
resp.data = JSON.parse(resp.data);
|
||||
if (resp.data.code == 200) {
|
||||
let params = {};
|
||||
params['id'] = that.data.id;
|
||||
params['cardidb'] = resp.data.data.url;
|
||||
_.apiQuery.putAppCusorderdata(params).then(res2 => {
|
||||
wx.hideLoading();
|
||||
that.setData({
|
||||
'cardidb.value':resp.data.data.url,
|
||||
'cardidb.img':resp.data.data.full_url,
|
||||
})
|
||||
}).catch(res2=>{
|
||||
wx.hideLoading();
|
||||
if(res2.code==418){
|
||||
that.setData({
|
||||
'cardidb.value':resp.data.data.url,
|
||||
'cardidb.img':resp.data.data.full_url,
|
||||
'cardidb.err':!res2.data[1].caridB,
|
||||
'cardidb.errmsg':res2.data[1].errmsg,
|
||||
})
|
||||
}
|
||||
});
|
||||
}else{
|
||||
wx.hideLoading();
|
||||
wx.showToast({
|
||||
title: '上传失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
},
|
||||
})
|
||||
},
|
||||
fail: res => {
|
||||
wx.showToast({
|
||||
title: '文件选择失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//上传营业执照
|
||||
if(e.currentTarget.dataset.type=='business_licence'){
|
||||
wx.chooseImage({
|
||||
count: 1, // 默认9
|
||||
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||||
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||||
success(res) {
|
||||
wx.showLoading({
|
||||
title: '上传中',
|
||||
})
|
||||
wx.uploadFile({
|
||||
url:_.config.api.upImg,
|
||||
filePath:res.tempFilePaths[0],
|
||||
name: 'img',
|
||||
formData: {
|
||||
'app': 'liche'
|
||||
},
|
||||
success: (resp) => {
|
||||
resp.data = JSON.parse(resp.data);
|
||||
if (resp.data.code == 200) {
|
||||
let params = {};
|
||||
params['id'] = that.data.id;
|
||||
params['business_licence'] = resp.data.data.url;
|
||||
_.apiQuery.putAppCusorderdata(params).then(res2 => {
|
||||
wx.hideLoading();
|
||||
that.setData({
|
||||
'business_licence.value':resp.data.data.url,
|
||||
'business_licence.img':resp.data.data.full_url,
|
||||
})
|
||||
}).catch(res2=>{
|
||||
wx.hideLoading();
|
||||
if(res2.code==418){
|
||||
that.setData({
|
||||
'business_licence.value':resp.data.data.url,
|
||||
'business_licence.img':resp.data.data.full_url,
|
||||
'business_licence.err':!res2.data[0].business_licence,
|
||||
'business_licence.errmsg':res2.data[0].errmsg,
|
||||
})
|
||||
}
|
||||
});
|
||||
}else{
|
||||
wx.hideLoading();
|
||||
wx.showToast({
|
||||
title: '上传失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
},
|
||||
})
|
||||
},
|
||||
fail: res => {
|
||||
wx.showToast({
|
||||
title: '文件选择失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//上传登记证
|
||||
if(e.currentTarget.dataset.type=='register_img'){
|
||||
wx.chooseImage({
|
||||
count: 1, // 默认9
|
||||
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||||
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||||
success(res) {
|
||||
wx.showLoading({
|
||||
title: '上传中',
|
||||
})
|
||||
wx.uploadFile({
|
||||
url:_.config.api.upImg,
|
||||
filePath:res.tempFilePaths[0],
|
||||
name: 'img',
|
||||
formData: {
|
||||
'app': 'liche'
|
||||
},
|
||||
success: (resp) => {
|
||||
resp.data = JSON.parse(resp.data);
|
||||
if (resp.data.code == 200) {
|
||||
let params = {};
|
||||
params['id'] = that.data.id;
|
||||
params['register_img'] = resp.data.data.url;
|
||||
_.apiQuery.putAppCusorderdata(params).then(res2 => {
|
||||
wx.hideLoading();
|
||||
that.setData({
|
||||
'register_img.value':resp.data.data.url,
|
||||
'register_img.img':resp.data.data.full_url,
|
||||
})
|
||||
}).catch(res2=>{
|
||||
wx.hideLoading();
|
||||
});
|
||||
}else{
|
||||
wx.hideLoading();
|
||||
wx.showToast({
|
||||
title: '上传失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
},
|
||||
})
|
||||
},
|
||||
fail: res => {
|
||||
wx.showToast({
|
||||
title: '文件选择失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//上传行驶证
|
||||
if(e.currentTarget.dataset.type=='car_img'){
|
||||
wx.chooseImage({
|
||||
count: 1, // 默认9
|
||||
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||||
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||||
success(res) {
|
||||
wx.showLoading({
|
||||
title: '上传中',
|
||||
})
|
||||
wx.uploadFile({
|
||||
url:_.config.api.upImg,
|
||||
filePath:res.tempFilePaths[0],
|
||||
name: 'img',
|
||||
formData: {
|
||||
'app': 'liche'
|
||||
},
|
||||
success: (resp) => {
|
||||
resp.data = JSON.parse(resp.data);
|
||||
if (resp.data.code == 200) {
|
||||
let params = {};
|
||||
params['id'] = that.data.id;
|
||||
params['car_img'] = resp.data.data.url;
|
||||
_.apiQuery.putAppCusorderdata(params).then(res2 => {
|
||||
wx.hideLoading();
|
||||
that.setData({
|
||||
'car_img.value':resp.data.data.url,
|
||||
'car_img.img':resp.data.data.full_url,
|
||||
})
|
||||
}).catch(res2=>{
|
||||
wx.hideLoading();
|
||||
});
|
||||
}else{
|
||||
wx.hideLoading();
|
||||
wx.showToast({
|
||||
title: '上传失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
},
|
||||
})
|
||||
},
|
||||
fail: res => {
|
||||
wx.showToast({
|
||||
title: '文件选择失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//上传保单
|
||||
if(e.currentTarget.dataset.type=='ins_img'){
|
||||
wx.chooseImage({
|
||||
count: 10 - that.data.ins_img.length, //
|
||||
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||||
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||||
success(res1) {
|
||||
wx.showLoading({
|
||||
title: '上传中',
|
||||
})
|
||||
let ins_img=that.data.ins_img
|
||||
let k = 0
|
||||
for (let i = 0; i < res1.tempFilePaths.length; i++) {
|
||||
//上传图片
|
||||
wx.uploadFile({
|
||||
url:_.config.api.upImg,
|
||||
filePath:res1.tempFilePaths[i],
|
||||
name: 'img',
|
||||
formData: {
|
||||
'app': 'liche'
|
||||
},
|
||||
success: (resp) => {
|
||||
k = k + 1
|
||||
resp.data = JSON.parse(resp.data);
|
||||
if (resp.data.code == 200) {
|
||||
let imgdata = resp.data
|
||||
let list = []
|
||||
list.push({
|
||||
value:imgdata.data.url,
|
||||
img:imgdata.data.full_url,
|
||||
})
|
||||
ins_img=ins_img.concat(list)
|
||||
if(k == res1.tempFilePaths.length){
|
||||
let params = {};
|
||||
params['id'] = that.data.id;
|
||||
let img = []
|
||||
ins_img.forEach(item => {
|
||||
img.push(item.value)
|
||||
})
|
||||
params['ins_imgs'] = img;
|
||||
_.apiQuery.putAppCusorderdata(params).then(res2 => {
|
||||
wx.hideLoading();
|
||||
that.setData({
|
||||
ins_img,
|
||||
})
|
||||
}).catch(res2=>{
|
||||
wx.hideLoading();
|
||||
});
|
||||
}
|
||||
}else{
|
||||
wx.hideLoading();
|
||||
}
|
||||
},
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
},
|
||||
fail: res => {
|
||||
wx.showToast({
|
||||
title: '文件选择失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//上传交车合照
|
||||
if(e.currentTarget.dataset.type=='other_img'){
|
||||
wx.chooseImage({
|
||||
count: 1, //
|
||||
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||||
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||||
success(res1) {
|
||||
wx.showLoading({
|
||||
title: '上传中',
|
||||
})
|
||||
let other_img=that.data.other_img
|
||||
let k = 0
|
||||
for (let i = 0; i < res1.tempFilePaths.length; i++) {
|
||||
//上传图片
|
||||
wx.uploadFile({
|
||||
url:_.config.api.upImg,
|
||||
filePath:res1.tempFilePaths[i],
|
||||
name: 'img',
|
||||
formData: {
|
||||
'app': 'liche'
|
||||
},
|
||||
success: (resp) => {
|
||||
k = k + 1
|
||||
resp.data = JSON.parse(resp.data);
|
||||
if (resp.data.code == 200) {
|
||||
let imgdata = resp.data
|
||||
let list = []
|
||||
list.push({
|
||||
value:imgdata.data.url,
|
||||
img:imgdata.data.full_url,
|
||||
})
|
||||
other_img=other_img.concat(list)
|
||||
if(k == res1.tempFilePaths.length){
|
||||
let params = {};
|
||||
params['id'] = that.data.id;
|
||||
let img = []
|
||||
other_img.forEach(item => {
|
||||
img.push(item.value)
|
||||
})
|
||||
params['other_imgs'] = img;
|
||||
_.apiQuery.putAppCusorderdata(params).then(res2 => {
|
||||
wx.hideLoading();
|
||||
that.setData({
|
||||
other_img,
|
||||
})
|
||||
}).catch(res2=>{
|
||||
wx.hideLoading();
|
||||
});
|
||||
}
|
||||
}else{
|
||||
wx.hideLoading();
|
||||
}
|
||||
},
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
},
|
||||
fail: res => {
|
||||
wx.showToast({
|
||||
title: '文件选择失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
// 编辑页面删除图片
|
||||
delImg(e){
|
||||
if(e.currentTarget.dataset.type=='ins_img'){
|
||||
let ins_img = this.data.ins_img
|
||||
ins_img.splice(e.currentTarget.dataset.index, 1)
|
||||
let params = {};
|
||||
params['id'] = this.data.id;
|
||||
let img = []
|
||||
ins_img.forEach(item => {
|
||||
img.push(item.value)
|
||||
})
|
||||
params['ins_imgs'] = img;
|
||||
_.apiQuery.putAppCusorderdata(params).then(res => {
|
||||
this.setData({
|
||||
ins_img,
|
||||
})
|
||||
})
|
||||
}else if(e.currentTarget.dataset.type=='other_img'){
|
||||
let other_img = this.data.other_img
|
||||
other_img.splice(e.currentTarget.dataset.index, 1)
|
||||
let params = {};
|
||||
params['id'] = this.data.id;
|
||||
let img = []
|
||||
other_img.forEach(item => {
|
||||
img.push(item.value)
|
||||
})
|
||||
params['other_imgs'] = img;
|
||||
_.apiQuery.putAppCusorderdata(params).then(res => {
|
||||
this.setData({
|
||||
other_img,
|
||||
})
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
//查看图片
|
||||
previewImage: function (e) {
|
||||
if(e.currentTarget.dataset.type=='other_img'){
|
||||
let img = []
|
||||
this.data.imgInfo.imgs.other_img.forEach(item => {
|
||||
img.push(item.img)
|
||||
})
|
||||
wx.previewImage({
|
||||
current:e.currentTarget.dataset.current,
|
||||
urls:img,
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
})
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"navigationBarTitleText": "交车合照信息",
|
||||
"usingComponents": {}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
<view class="container">
|
||||
<view class="inner30">
|
||||
|
||||
<!-- <view class="mt40 font-32">交车合照</view> -->
|
||||
<view class="mt30 pb20 text-center">
|
||||
<scroll-view class="space-nowrap" scroll-x="true">
|
||||
<block wx:for='{{other_img}}' wx:for-item='other_img' wx:key='index'>
|
||||
<view class="inline-block bg-f8 img-300x200 ml15 mr15 relative ulib-r10 overflowhidden">
|
||||
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-guanbi1 inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-1" bindtap="delImg" data-type="other_img" data-index="{{index}}" ></i>
|
||||
<image class='block wp100 img-h-200 ulib-r10' src='{{other_img.img}}' mode='aspectFit' bindtap="previewImage" data-type="other_img" data-current="{{other_img.img}}"></image>
|
||||
</view>
|
||||
</block>
|
||||
<block wx:if="{{other_img.length<1}}">
|
||||
<view class="inline-block bg-f8 img-300x200 ml15 mr15 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-type="other_img">
|
||||
<view class="absolute left-0 right-0 box-middle color-ccc">
|
||||
<i class="iconfont icon-paizhao font-48"></i>
|
||||
<view class="mt10 font-22">上传合照</view>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
</scroll-view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
@@ -0,0 +1 @@
|
||||
/* pages/order/editOtherImg/index.wxss */
|
||||
+111
-14
@@ -12,10 +12,13 @@ Page({
|
||||
submitFlag:false,
|
||||
|
||||
isShowAddress:false,//是否显示地址弹框
|
||||
region: ['', '', ''],
|
||||
//region: ['', '', ''],
|
||||
c_city_id:'',
|
||||
oncardArray:[],//上牌城市
|
||||
oncardIndex:-1,//上牌城市索引
|
||||
owner_cardidpic:'',//车主身份证正面照
|
||||
|
||||
addressFocus:false,
|
||||
},
|
||||
onLoad: function (options) {
|
||||
for (let key in options) {
|
||||
@@ -44,7 +47,7 @@ Page({
|
||||
address:res.data.address?res.data.address:'',
|
||||
company:res.data.company?res.data.company:'',
|
||||
credit:res.data.credit?res.data.credit:'',
|
||||
region:res.data.pro[2]?res.data.pro:['', '', ''],
|
||||
//region:res.data.pro[2]?res.data.pro:['', '', ''],
|
||||
})
|
||||
|
||||
//匹配上牌城市
|
||||
@@ -96,12 +99,12 @@ Page({
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
else if(this.data.main_type == 0&&(this.data.region[2]== ''||this.data.address == '')){
|
||||
wx.showToast({
|
||||
title: '请填写车主地址',
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
// else if(this.data.main_type == 0&&this.data.address == ''){
|
||||
// wx.showToast({
|
||||
// title: '请填写车主地址',
|
||||
// icon: 'none'
|
||||
// })
|
||||
// }
|
||||
else if(this.data.main_type == 1&&this.data.company == ''){
|
||||
wx.showToast({
|
||||
title: '请填写企业名称',
|
||||
@@ -129,7 +132,7 @@ Page({
|
||||
params['id'] = this.data.id;
|
||||
params['c_city_id'] = that.data.c_city_id;
|
||||
if(that.data.address != ''){
|
||||
params['pro'] = that.data.region;
|
||||
//params['pro'] = that.data.region;
|
||||
params['address'] = that.data.address;
|
||||
}
|
||||
if(that.data.owner_name != ''){
|
||||
@@ -150,6 +153,16 @@ Page({
|
||||
|
||||
_.apiQuery.putAppCusorderV2Info(params).then(res => {
|
||||
|
||||
//上传身份证
|
||||
if(that.data.owner_cardidpic != ''){
|
||||
let oparams = {};
|
||||
oparams['id'] = that.data.id;
|
||||
oparams['cardida'] = that.data.owner_cardidpic;
|
||||
_.apiQuery.putAppCusorderdata(oparams).then(res2 => {
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
//刷新详情页
|
||||
let pages = getCurrentPages();
|
||||
let prevPage = null; //上一个页面
|
||||
@@ -202,11 +215,11 @@ Page({
|
||||
},
|
||||
|
||||
//选择城市
|
||||
bindRegionChange(e) {
|
||||
this.setData({
|
||||
region: e.detail.value
|
||||
})
|
||||
},
|
||||
// bindRegionChange(e) {
|
||||
// this.setData({
|
||||
// region: e.detail.value
|
||||
// })
|
||||
// },
|
||||
|
||||
//显示隐藏修改地址
|
||||
optAddress(){
|
||||
@@ -225,4 +238,88 @@ Page({
|
||||
}
|
||||
},
|
||||
|
||||
//选择图片
|
||||
chooseImg(e) {
|
||||
let that = this
|
||||
//上传身份证正面-车主身份证
|
||||
if(e.currentTarget.dataset.type=='owner'){
|
||||
wx.chooseImage({
|
||||
count: 1, // 默认9
|
||||
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||||
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||||
success(res) {
|
||||
wx.showLoading({
|
||||
title: '识别中',
|
||||
})
|
||||
wx.uploadFile({
|
||||
url:_.config.api.upImg,
|
||||
filePath:res.tempFilePaths[0],
|
||||
name: 'img',
|
||||
formData: {
|
||||
'app': 'liche'
|
||||
},
|
||||
success: (resp) => {
|
||||
resp.data = JSON.parse(resp.data);
|
||||
if (resp.data.code == 200) {
|
||||
let params = {};
|
||||
params['img'] = resp.data.data.url;
|
||||
_.apiQuery.getAppIdcardInfo(params).then(res2 => {
|
||||
wx.hideLoading();
|
||||
that.setData({
|
||||
owner_cardid:res2.data.IdNum,
|
||||
owner_name:res2.data.Name,
|
||||
address:res2.data.Address,
|
||||
owner_cardidpic:resp.data.data.url,
|
||||
})
|
||||
})
|
||||
}else{
|
||||
wx.hideLoading();
|
||||
wx.showToast({
|
||||
title: '上传失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
},
|
||||
fail: res => {
|
||||
wx.hideLoading();
|
||||
wx.showToast({
|
||||
title: '上传失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
fail: res => {
|
||||
wx.showToast({
|
||||
title: '文件选择失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
//去除空格
|
||||
trimAll(ele){
|
||||
if(typeof ele === 'string'){
|
||||
return ele.split(' ').join('');
|
||||
}else{
|
||||
console.error(`${typeof ele} is not the expected type, but the string type is expected`)
|
||||
}
|
||||
},
|
||||
|
||||
focusAddress(){
|
||||
this.setData({
|
||||
addressFocus:true,
|
||||
})
|
||||
},
|
||||
blurAddress(){
|
||||
this.setData({
|
||||
addressFocus:false,
|
||||
})
|
||||
},
|
||||
|
||||
})
|
||||
@@ -2,31 +2,32 @@
|
||||
<view class="inner30">
|
||||
<block wx:if="{{main_type==0}}">
|
||||
<view class="mt10 pt20 pb20 bg-e3f5f3 font-36 text-center ulib-r10">车主信息</view>
|
||||
<view class="relative bbs-1-eb last-b-none pl180 font-28">
|
||||
<view class="absolute left-0 box-middle">车主姓名<text class="color-f9394d">*</text></view>
|
||||
<view>
|
||||
<input class="wp100 height-100 text-right font-28" placeholder-class="color-ccc" type="text" placeholder="请输入客户姓名" model:value='{{owner_name}}' disabled='{{isShowAddress?true:false}}' />
|
||||
</view>
|
||||
</view>
|
||||
<view class="relative bbs-1-eb last-b-none pl180 font-28">
|
||||
<view class="absolute left-0 box-middle">车主手机号码<text class="color-f9394d">*</text></view>
|
||||
<view>
|
||||
<input class="wp100 height-100 text-right font-28" placeholder-class="color-ccc" type="number" placeholder="请输入客户手机号码" model:value='{{owner_mobile}}' disabled='{{isShowAddress?true:false}}' />
|
||||
</view>
|
||||
</view>
|
||||
<view class="relative bbs-1-eb last-b-none pl180 font-28">
|
||||
<view class="relative bbs-1-eb last-b-none pl180 pr60 font-28">
|
||||
<view class="absolute left-0 box-middle">车主身份证<text class="color-f9394d">*</text></view>
|
||||
<view>
|
||||
<input class="wp100 height-100 text-right font-28" placeholder-class="color-ccc" type="idcard" placeholder="请输入客户身份证" model:value='{{owner_cardid}}' disabled='{{isShowAddress?true:false}}' />
|
||||
</view>
|
||||
<view class="absolute right-0 box-middle font-50 iconfont icon-cardid color-666" bindtap="chooseImg" data-type="owner"></view>
|
||||
</view>
|
||||
<view class="relative bbs-1-eb last-b-none pl180 font-28" bindtap="optAddress">
|
||||
<view class="absolute left-0 box-middle">车主地址<text class="color-f9394d">*</text></view>
|
||||
<view class="pt30 pb30 text-right font-28 text-break" wx:if="{{address}}"><block wx:for="{{region}}" wx:key='index'>{{item}} </block>{{address}}</view>
|
||||
<view wx:else class="pt30 pb30 text-right font-28 color-ccc">
|
||||
请编辑车主地址
|
||||
<view class="relative bbs-1-eb last-b-none pl180 font-28">
|
||||
<view class="absolute left-0 box-middle">车主姓名<text class="color-f9394d">*</text></view>
|
||||
<view>
|
||||
<input class="wp100 height-100 text-right font-28" placeholder-class="color-ccc" type="text" placeholder="请输入客户姓名" model:value='{{owner_name}}' disabled='{{isShowAddress?true:false}}' />
|
||||
</view>
|
||||
</view>
|
||||
<!-- <view class="relative bbs-1-eb last-b-none pl180 font-28" >
|
||||
<view class="absolute left-0 box-middle">车主地址<text class="color-f9394d">*</text></view>
|
||||
<view class="relative">
|
||||
<view class="absolute right-0 box-middle font-28 color-ccc" wx:if="{{!address&&!addressFocus}}">请输入详细地址</view>
|
||||
<textarea class="wp100 inner20 font-28 ulib-r10" style="height:105rpx;" bindfocus='focusAddress' bindblur='blurAddress' placeholder-class="color-ccc" type="text" placeholder="" model:value='{{address}}' />
|
||||
</view>
|
||||
</view> -->
|
||||
</block>
|
||||
<block wx:if="{{main_type==1}}">
|
||||
<view class="mt10 pt20 pb20 bg-e3f5f3 font-36 text-center ulib-r10">企业信息</view>
|
||||
|
||||
@@ -0,0 +1,172 @@
|
||||
import _ from '../../../commons/js/commons'
|
||||
const app = getApp()
|
||||
Page({
|
||||
data: {
|
||||
wx_img:{},
|
||||
mut_wx_img:{},
|
||||
},
|
||||
onLoad: function (options) {
|
||||
for (let key in options) {
|
||||
this.setData({
|
||||
[key]: options[key]
|
||||
})
|
||||
}
|
||||
|
||||
this.getAppCusorderdata()
|
||||
|
||||
},
|
||||
onShow: function () {
|
||||
|
||||
},
|
||||
|
||||
//获取订单图片
|
||||
getAppCusorderdata(){
|
||||
let params = {};
|
||||
params['id'] = this.data.id;
|
||||
_.apiQuery.getAppCusorderdata(params).then(res=>{
|
||||
this.setData({
|
||||
imgInfo:res.data,
|
||||
})
|
||||
if(res.data.img_status == 1){
|
||||
this.setData({
|
||||
wx_img:res.data.imgs.wx_img.length==0?{}:res.data.imgs.wx_img,
|
||||
mut_wx_img:res.data.imgs.mut_wx_img.length==0?{}:res.data.imgs.mut_wx_img,
|
||||
})
|
||||
}
|
||||
wx.stopPullDownRefresh()
|
||||
})
|
||||
},
|
||||
|
||||
//选择图片
|
||||
chooseImg(e) {
|
||||
let that = this
|
||||
|
||||
//上传交强险
|
||||
if(e.currentTarget.dataset.type=='wx_img'){
|
||||
wx.chooseImage({
|
||||
count: 1, // 默认9
|
||||
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||||
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||||
success(res) {
|
||||
wx.showLoading({
|
||||
title: '上传中',
|
||||
})
|
||||
wx.uploadFile({
|
||||
url:_.config.api.upImg,
|
||||
filePath:res.tempFilePaths[0],
|
||||
name: 'img',
|
||||
formData: {
|
||||
'app': 'liche'
|
||||
},
|
||||
success: (resp) => {
|
||||
resp.data = JSON.parse(resp.data);
|
||||
if (resp.data.code == 200) {
|
||||
let params = {};
|
||||
params['id'] = that.data.id;
|
||||
params['wx_img'] = resp.data.data.url;
|
||||
_.apiQuery.putAppCusorderdata(params).then(res2 => {
|
||||
wx.hideLoading();
|
||||
that.getAppCusorderdata()
|
||||
}).catch(res2=>{
|
||||
wx.hideLoading();
|
||||
wx.showToast({
|
||||
title: '提交失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
});
|
||||
}else{
|
||||
wx.hideLoading();
|
||||
wx.showToast({
|
||||
title: '上传失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
},
|
||||
})
|
||||
},
|
||||
fail: res => {
|
||||
wx.showToast({
|
||||
title: '文件选择失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
//上传商业险
|
||||
if(e.currentTarget.dataset.type=='mut_wx_img'){
|
||||
wx.chooseImage({
|
||||
count: 1, // 默认9
|
||||
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||||
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||||
success(res) {
|
||||
wx.showLoading({
|
||||
title: '上传中',
|
||||
})
|
||||
wx.uploadFile({
|
||||
url:_.config.api.upImg,
|
||||
filePath:res.tempFilePaths[0],
|
||||
name: 'img',
|
||||
formData: {
|
||||
'app': 'liche'
|
||||
},
|
||||
success: (resp) => {
|
||||
resp.data = JSON.parse(resp.data);
|
||||
if (resp.data.code == 200) {
|
||||
let params = {};
|
||||
params['id'] = that.data.id;
|
||||
params['mut_wx_img'] = resp.data.data.url;
|
||||
_.apiQuery.putAppCusorderdata(params).then(res2 => {
|
||||
wx.hideLoading();
|
||||
that.getAppCusorderdata()
|
||||
}).catch(res2=>{
|
||||
wx.hideLoading();
|
||||
wx.showToast({
|
||||
title: '提交失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
});
|
||||
}else{
|
||||
wx.hideLoading();
|
||||
wx.showToast({
|
||||
title: '上传失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
},
|
||||
})
|
||||
},
|
||||
fail: res => {
|
||||
wx.showToast({
|
||||
title: '文件选择失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
//查看图片
|
||||
previewImage: function (e) {
|
||||
if(e.currentTarget.dataset.type=='wx_img'){
|
||||
wx.previewImage({
|
||||
current:this.data.imgInfo.imgs.wx_img.img,
|
||||
urls:[this.data.imgInfo.imgs.wx_img.img],
|
||||
})
|
||||
}
|
||||
else if(e.currentTarget.dataset.type=='mut_wx_img'){
|
||||
wx.previewImage({
|
||||
current:this.data.imgInfo.imgs.mut_wx_img.img,
|
||||
urls:[this.data.imgInfo.imgs.mut_wx_img.img],
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
})
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"navigationBarTitleText": "企微信息",
|
||||
"usingComponents": {}
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
<view class="container">
|
||||
<view class="inner30">
|
||||
|
||||
<view class="pl40 pr40 pt40 relative ulib-r10 box-shadow-000-10-10 overflowhidden">
|
||||
|
||||
<view class="font-28 text-center text-bold">企业微信</view>
|
||||
<view class="mt30 pb30 text-center">
|
||||
<view class="inline-block img-300x200 relative ulib-r10 overflowhidden">
|
||||
<block wx:if="{{wx_img.value}}">
|
||||
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden">
|
||||
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-shuaxin inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-1" bindtap="chooseImg" data-type="wx_img"></i>
|
||||
<image class='block wp100 img-h-200 ulib-r10' src='{{wx_img.img}}' mode='aspectFit' bindtap="previewImage" data-type="wx_img"></image>
|
||||
</view>
|
||||
</block>
|
||||
<block wx:else>
|
||||
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-type="wx_img">
|
||||
<view class="absolute left-0 right-0 box-middle color-ccc">
|
||||
<i class="iconfont icon-paizhao font-48"></i>
|
||||
<view class="mt10 font-22">上传企业微信</view>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
|
||||
<view class="mt50 pl40 pr40 pt40 relative ulib-r10 box-shadow-000-10-10 overflowhidden">
|
||||
<view class="font-28 text-center text-bold">多对一群</view>
|
||||
<view class="mt30 pb30 text-center">
|
||||
<view class="inline-block img-300x200 relative ulib-r10 overflowhidden">
|
||||
<block wx:if="{{mut_wx_img.value}}">
|
||||
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden">
|
||||
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-shuaxin inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-1" bindtap="chooseImg" data-type="mut_wx_img"></i>
|
||||
<image class='block wp100 img-h-200 ulib-r10' src='{{mut_wx_img.img}}' mode='aspectFit' bindtap="previewImage" data-type="mut_wx_img"></image>
|
||||
</view>
|
||||
</block>
|
||||
<block wx:else>
|
||||
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-type="mut_wx_img">
|
||||
<view class="absolute left-0 right-0 box-middle color-ccc">
|
||||
<i class="iconfont icon-paizhao font-48"></i>
|
||||
<view class="mt10 font-22">上传多对一群</view>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
@@ -0,0 +1 @@
|
||||
/* pages/order/editQVImg/index.wxss */
|
||||
@@ -0,0 +1,103 @@
|
||||
import _ from '../../../commons/js/commons'
|
||||
const app = getApp()
|
||||
Page({
|
||||
data: {
|
||||
destory_img:{},
|
||||
},
|
||||
onLoad: function (options) {
|
||||
for (let key in options) {
|
||||
this.setData({
|
||||
[key]: options[key]
|
||||
})
|
||||
}
|
||||
|
||||
this.getAppCusorderdata()
|
||||
|
||||
},
|
||||
onShow: function () {
|
||||
|
||||
},
|
||||
|
||||
//获取订单图片
|
||||
getAppCusorderdata(){
|
||||
let params = {};
|
||||
params['id'] = this.data.id;
|
||||
_.apiQuery.getAppCusorderdata(params).then(res=>{
|
||||
this.setData({
|
||||
imgInfo:res.data,
|
||||
})
|
||||
if(res.data.img_status == 1){
|
||||
this.setData({
|
||||
destory_img:res.data.imgs.destory_img.length==0?{}:res.data.imgs.destory_img,
|
||||
})
|
||||
}
|
||||
wx.stopPullDownRefresh()
|
||||
})
|
||||
},
|
||||
|
||||
//选择图片
|
||||
chooseImg(e) {
|
||||
let that = this
|
||||
|
||||
//上传交强险
|
||||
if(e.currentTarget.dataset.type=='destory_img'){
|
||||
wx.chooseImage({
|
||||
count: 1, // 默认9
|
||||
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
|
||||
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
|
||||
success(res) {
|
||||
wx.showLoading({
|
||||
title: '上传中',
|
||||
})
|
||||
wx.uploadFile({
|
||||
url:_.config.api.upImg,
|
||||
filePath:res.tempFilePaths[0],
|
||||
name: 'img',
|
||||
formData: {
|
||||
'app': 'liche'
|
||||
},
|
||||
success: (resp) => {
|
||||
resp.data = JSON.parse(resp.data);
|
||||
if (resp.data.code == 200) {
|
||||
let params = {};
|
||||
params['id'] = that.data.id;
|
||||
params['destory_img'] = resp.data.data.url;
|
||||
_.apiQuery.putAppCusorderdata(params).then(res2 => {
|
||||
wx.hideLoading();
|
||||
that.getAppCusorderdata()
|
||||
}).catch(res2=>{
|
||||
wx.hideLoading();
|
||||
});
|
||||
}else{
|
||||
wx.hideLoading();
|
||||
wx.showToast({
|
||||
title: '上传失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
},
|
||||
})
|
||||
},
|
||||
fail: res => {
|
||||
wx.showToast({
|
||||
title: '文件选择失败',
|
||||
icon: 'none',
|
||||
duration: 2000
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
//查看图片
|
||||
previewImage: function (e) {
|
||||
if(e.currentTarget.dataset.type=='destory_img'){
|
||||
wx.previewImage({
|
||||
current:this.data.imgInfo.imgs.destory_img.img,
|
||||
urls:[this.data.imgInfo.imgs.destory_img.img],
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
})
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"navigationBarTitleText": "实名认证资料",
|
||||
"usingComponents": {}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
<view class="container">
|
||||
<view class="inner30">
|
||||
|
||||
<view class="mt30 pb20 text-center">
|
||||
<view class="inline-block img-300x200 relative ulib-r10 overflowhidden">
|
||||
<block wx:if="{{destory_img.value}}">
|
||||
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden">
|
||||
<i class="absolute top-0 right-0 bg-000-op50 iconfont icon-shuaxin inner10 font-26 color-fff ulib-rtr10 ulib-rbl10 z-index-1" bindtap="chooseImg" data-type="destory_img"></i>
|
||||
<image class='block wp100 img-h-200 ulib-r10' src='{{destory_img.img}}' mode='aspectFit' bindtap="previewImage" data-type="destory_img"></image>
|
||||
</view>
|
||||
</block>
|
||||
<block wx:else>
|
||||
<view class="inline-block bg-f8 img-300x200 relative ulib-r10 overflowhidden" bindtap="chooseImg" data-type="destory_img">
|
||||
<view class="absolute left-0 right-0 box-middle color-ccc">
|
||||
<i class="iconfont icon-paizhao font-48"></i>
|
||||
<view class="mt10 font-22">上传实名认证资料</view>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
@@ -0,0 +1 @@
|
||||
/* pages/order/editVoucherImg/index.wxss */
|
||||
@@ -2,7 +2,7 @@ import _ from '../../../commons/js/commons'
|
||||
const app = getApp()
|
||||
Page({
|
||||
data: {
|
||||
key:'',//tab状态值
|
||||
status:'',//tab状态值
|
||||
list: [],//客户列表
|
||||
pageNo: 1,
|
||||
noData: false,
|
||||
@@ -36,7 +36,9 @@ Page({
|
||||
let params = {};
|
||||
params['page'] = this.data.pageNo;
|
||||
params['size'] = 10;
|
||||
params['status'] = this.data.key;
|
||||
if(this.data.status != ''){
|
||||
params['status'] = this.data.status;
|
||||
}
|
||||
_.apiQuery.getAppCusorderList(params).then(res => {
|
||||
this.setData({
|
||||
pageNo: this.data.pageNo + 1,
|
||||
@@ -57,18 +59,6 @@ Page({
|
||||
});
|
||||
},
|
||||
|
||||
//拨打客户电话xz
|
||||
call(e) {
|
||||
let params = {};
|
||||
params['id'] = e.currentTarget.dataset.id;
|
||||
params['type'] = 1;
|
||||
_.apiQuery.getAppXz(params).then(res=>{
|
||||
wx.makePhoneCall({
|
||||
phoneNumber: res.data.mobile,
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
//显示短信弹框
|
||||
showMessage(e){
|
||||
this.setData({
|
||||
|
||||
@@ -2,7 +2,8 @@ import _ from '../../../commons/js/commons'
|
||||
const app = getApp()
|
||||
Page({
|
||||
data: {
|
||||
key:'',//tab状态值
|
||||
status:'',//tab状态值
|
||||
type:'',
|
||||
list: [],//客户列表
|
||||
pageNo: 1,
|
||||
noData: false,
|
||||
@@ -13,6 +14,14 @@ Page({
|
||||
content:'',//短信内容
|
||||
isRefresh:false,//判断返回是否需要刷新
|
||||
v2OrderId:_.config.v2OrderId,//订单id临界切换版本
|
||||
|
||||
staffArray: [],
|
||||
staffobj: [],
|
||||
employeeIndex:-1,//分配销售索引
|
||||
employee_id:'',//分配销售ID
|
||||
|
||||
tab:[],//回访待跟进tab
|
||||
visit_tab_id:'',//回访待跟进tabid
|
||||
},
|
||||
onLoad: function (options) {
|
||||
for (let key in options) {
|
||||
@@ -20,11 +29,38 @@ Page({
|
||||
[key]: options[key]
|
||||
})
|
||||
}
|
||||
this.getAppCusorderV2List()
|
||||
|
||||
//顶部tab
|
||||
this.getAppCustomersVisit_tabs()
|
||||
|
||||
//this.getAppCusorderV2List()
|
||||
|
||||
wx.setNavigationBarTitle({
|
||||
title: this.data.title||'订单'
|
||||
})
|
||||
|
||||
//销售顾问
|
||||
this.getAppUserAdmins()
|
||||
},
|
||||
|
||||
//回访待跟进tab
|
||||
getAppCustomersVisit_tabs() {
|
||||
let params = {};
|
||||
if(this.data.status != ''){
|
||||
params['status'] = this.data.status;
|
||||
}
|
||||
_.apiQuery.getAppCustomersVisit_tabs(params).then(res => {
|
||||
if(res.data.list.length>0){
|
||||
this.setData({
|
||||
tab:res.data.list,
|
||||
visit_tab_id:res.data.list[0].id,
|
||||
})
|
||||
}
|
||||
|
||||
this.getAppCusorderV2List()
|
||||
|
||||
wx.stopPullDownRefresh()
|
||||
});
|
||||
},
|
||||
|
||||
//获取订单列表
|
||||
@@ -36,7 +72,15 @@ Page({
|
||||
let params = {};
|
||||
params['page'] = this.data.pageNo;
|
||||
params['size'] = 10;
|
||||
params['status'] = this.data.key;
|
||||
if(this.data.status != ''){
|
||||
params['status'] = this.data.status;
|
||||
}
|
||||
if(this.data.type != ''){
|
||||
params['type'] = this.data.type;
|
||||
}
|
||||
if(this.data.visit_tab_id != ''){
|
||||
params['visit_tab_id'] = this.data.visit_tab_id;
|
||||
}
|
||||
_.apiQuery.getAppCusorderV2List(params).then(res => {
|
||||
this.setData({
|
||||
pageNo: this.data.pageNo + 1,
|
||||
@@ -57,18 +101,6 @@ Page({
|
||||
});
|
||||
},
|
||||
|
||||
//拨打客户电话xz
|
||||
call(e) {
|
||||
let params = {};
|
||||
params['id'] = e.currentTarget.dataset.id;
|
||||
params['type'] = 1;
|
||||
_.apiQuery.getAppXz(params).then(res=>{
|
||||
wx.makePhoneCall({
|
||||
phoneNumber: res.data.mobile,
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
//显示短信弹框
|
||||
showMessage(e){
|
||||
this.setData({
|
||||
@@ -129,6 +161,107 @@ Page({
|
||||
}
|
||||
},
|
||||
|
||||
//获取销售顾问
|
||||
getAppUserAdmins(){
|
||||
let params = {};
|
||||
params['page'] = 1;
|
||||
params['size'] = 1000;
|
||||
_.apiQuery.getAppUserAdmins(params).then(res => {
|
||||
let staffArray = []
|
||||
res.data.list.forEach(item => {
|
||||
staffArray.push(item.uname)
|
||||
})
|
||||
let bizArray = []
|
||||
res.data.bizs.forEach(item => {
|
||||
bizArray.push(item.name)
|
||||
})
|
||||
this.setData({
|
||||
staffArray:staffArray,
|
||||
staffobj: res.data.list,
|
||||
})
|
||||
});
|
||||
},
|
||||
|
||||
//显示分配订单
|
||||
showTransfer(e) {
|
||||
this.setData({
|
||||
ids:[e.currentTarget.dataset.id],
|
||||
isShowTransfer:true,
|
||||
})
|
||||
},
|
||||
|
||||
//显示隐藏分配订单
|
||||
optTransfer(e) {
|
||||
this.setData({
|
||||
employee_id:'',
|
||||
employeeIndex:-1,
|
||||
isShowTransfer:!this.data.isShowTransfer,
|
||||
})
|
||||
},
|
||||
|
||||
//选择店员
|
||||
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,
|
||||
})
|
||||
},
|
||||
|
||||
//分配订单
|
||||
putAppCusorderV2Admins(){
|
||||
let that = this
|
||||
if (that.data.employeeIndex == -1 ) {
|
||||
wx.showToast({
|
||||
title: '请选择销售顾问',
|
||||
icon: 'none'
|
||||
})
|
||||
}
|
||||
else{
|
||||
that.setData({
|
||||
submitFlag: true,
|
||||
})
|
||||
let params = {};
|
||||
params['ids'] = that.data.ids;
|
||||
params['admin_id'] = that.data.employee_id;
|
||||
_.apiQuery.putAppCusorderV2Admins(params).then(res => {
|
||||
|
||||
wx.showToast({
|
||||
title: '移交成功',
|
||||
icon: 'success',
|
||||
duration: 2000
|
||||
})
|
||||
that.setData({
|
||||
isShowTransfer:false,
|
||||
submitFlag:false,
|
||||
})
|
||||
that.onPullDownRefresh()
|
||||
|
||||
}).catch(res=>{
|
||||
that.setData({
|
||||
submitFlag: false,
|
||||
})
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
//切换tab
|
||||
changeTab(e){
|
||||
this.setData({
|
||||
list: [],
|
||||
pageNo: 1,
|
||||
noData: false,
|
||||
end: false,
|
||||
load: true,
|
||||
loading: false,
|
||||
visit_tab_id: e.currentTarget.dataset.id,
|
||||
})
|
||||
this.getAppCusorderV2List()
|
||||
},
|
||||
|
||||
//页面相关事件处理函数--监听用户下拉动作
|
||||
onPullDownRefresh(){
|
||||
this.setData({
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user