狸车
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"pages": [
|
||||
"pages/login/index",
|
||||
"pages/index/index",
|
||||
"pages/customer/index",
|
||||
"pages/login/index",
|
||||
"pages/order/index",
|
||||
"pages/web-view/index",
|
||||
"pages/mine/index",
|
||||
@@ -11,7 +11,9 @@
|
||||
"pages/order/register/index",
|
||||
"pages/order/detail/index",
|
||||
"pages/mine/install/index",
|
||||
"pages/mine/install/staff/index"
|
||||
"pages/mine/install/staff/index",
|
||||
"pages/customer/filterList/index",
|
||||
"pages/order/filterList/index"
|
||||
],
|
||||
"echarts": [
|
||||
{
|
||||
|
||||
@@ -35,13 +35,13 @@
|
||||
border:#e6e6e6 2rpx solid;
|
||||
}
|
||||
|
||||
.xhb-coupon{
|
||||
.lcb-coupon{
|
||||
overflow: hidden;
|
||||
background-image: url('https://qs.haodian.cn/wechat_app/xiaohongbangV2/coupon/coupon-bg.png');
|
||||
background-size: 100% auto;
|
||||
background-repeat: repeat-y;
|
||||
}
|
||||
.xhb-coupon::before,.xhb-coupon::after{
|
||||
.lcb-coupon::before,.lcb-coupon::after{
|
||||
content: '';
|
||||
position: absolute;
|
||||
z-index: 1;
|
||||
@@ -53,26 +53,26 @@
|
||||
background-color: #fff;
|
||||
border-radius: 100%;
|
||||
}
|
||||
.xhb-coupon::before{
|
||||
.lcb-coupon::before{
|
||||
top: -9rpx;
|
||||
}
|
||||
.xhb-coupon::after{
|
||||
.lcb-coupon::after{
|
||||
bottom: -9rpx;
|
||||
}
|
||||
.xhb-coupon-info{
|
||||
.lcb-coupon-info{
|
||||
width: 467rpx;
|
||||
height: 168rpx;
|
||||
border-top: 1px solid #e8e8e8;
|
||||
border-bottom: 1px solid #e8e8e8;
|
||||
border-right: 1px dashed #e8e8e8;
|
||||
}
|
||||
.xhb-coupon-opt{
|
||||
.lcb-coupon-opt{
|
||||
width: 223rpx;
|
||||
height: 168rpx;
|
||||
border-top: 1px solid #e8e8e8;
|
||||
border-bottom: 1px solid #e8e8e8;
|
||||
}
|
||||
.xhb-coupon-opt .btn{
|
||||
.lcb-coupon-opt .btn{
|
||||
width: 162rpx;
|
||||
height: 60rpx;
|
||||
line-height: 60rpx;
|
||||
|
||||
@@ -44,7 +44,7 @@ api = {
|
||||
|
||||
appIdcard: "app/idcard", //创建申请开票信息
|
||||
|
||||
|
||||
appUserCal: "app/user/cal", //获取用户统计
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -278,4 +278,11 @@ apiQuery.putAppIdcard = function (params) {
|
||||
})
|
||||
}
|
||||
|
||||
//获取用户统计
|
||||
apiQuery.getAppUserCal = function (params) {
|
||||
return new Promise(function (resolve, reject) {
|
||||
HttpRequest(true, Config.api.appUserCal, 2, params, "GET", resolve, reject)
|
||||
})
|
||||
}
|
||||
|
||||
export default apiQuery;
|
||||
@@ -238,9 +238,9 @@ export default class Router {
|
||||
openUrlScheme(url = null, title = '', openMode = 'navigateTo') {
|
||||
if (url.indexOf('http') > -1) {
|
||||
this.webviewRedirect(url, title, openMode)
|
||||
}else if(url.indexOf('xhb://navigateToMiniProgram')>-1){
|
||||
}else if(url.indexOf('lcb://navigateToMiniProgram')>-1){
|
||||
this.navigateToMiniProgramRedirect(url)
|
||||
} else if (url.indexOf('xhb://switchTab')>-1) {
|
||||
} else if (url.indexOf('lcb://switchTab')>-1) {
|
||||
this.switchTab(url.split('switchTab')[1])
|
||||
// } else if(url.indexOf('ixm://reLaunch')>-1) {
|
||||
// this.reLaunch(url.split('reLaunch')[1])
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<view class="footer text-center">
|
||||
<view>
|
||||
<text class="support-tx">Powered by</text>
|
||||
<image class='inline-block img-30-21' mode='aspectFit' src='https://qs.haodian.cn/wechat_app/common/hdy-logo-gray.png'></image>
|
||||
<text class="support-tx">好店云</text>
|
||||
<image class='inline-block img-30x30' mode='aspectFit' src='https://qs.haodian.cn/wechat_app/common/lc-logo-gray.png'></image>
|
||||
<text class="support-tx">狸车</text>
|
||||
</view>
|
||||
<!-- <view class="foot-del">189 6512 2277</view> -->
|
||||
</view>
|
||||
@@ -1,5 +1,5 @@
|
||||
.footer {padding:30rpx 0;text-align:center; grid-row-start:2;grid-row-end:3;}
|
||||
.img-30-21{width:30rpx;height:21rpx;vertical-align:middle}
|
||||
.img-30x30{width:30rpx;height:30rpx;vertical-align:middle}
|
||||
.support-tx{margin:0 8rpx;font-size:20rpx;color:#bbb;vertical-align:middle}
|
||||
.inline-block{display:inline-block}
|
||||
.foot-del{font-size:18rpx;color:#bbb;}
|
||||
@@ -3,7 +3,7 @@
|
||||
.noData {
|
||||
width: 220rpx;
|
||||
height: 142rpx;
|
||||
background: url(https://qs.haodian.cn/wechat_app/haodianyun/none.png?v=200413) no-repeat;
|
||||
background: url(https://qs.haodian.cn/wechat_app/liche/common/none.png?v=191231) no-repeat;
|
||||
background-size:100% auto;
|
||||
background-position: top center;
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"component": true,
|
||||
"usingComponents": {
|
||||
"xhb-searchBar": "/components/searchBar/index"
|
||||
"lcb-searchBar": "/components/searchBar/index"
|
||||
}
|
||||
}
|
||||
@@ -5,23 +5,23 @@
|
||||
<view class="relative" style='height:{{navHeight}}px;line-height:{{navHeight}}px;' wx:if="{{type=='home'}}">
|
||||
<view class="citySelect font-28 color-fff ml30" wx:if="{{city}}">{{city}}</view>
|
||||
<view class="searchBar absolute box-middle" wx:if="{{homeShowBar}}">
|
||||
<xhb-searchBar searchType="home" placeholder="{{homeInfo.placeholder}}" url="{{homeInfo.url}}"></xhb-searchBar>
|
||||
<lcb-searchBar searchType="home" placeholder="{{homeInfo.placeholder}}" url="{{homeInfo.url}}"></lcb-searchBar>
|
||||
</view>
|
||||
<view class='navbarTitle absolute box-center-middle wp40 text-center text-nowrap text-bold' style="color:{{txtColor}};" wx:if="{{!homeShowBar}}">{{titleText}}</view>
|
||||
</view>
|
||||
<view class='relative' style='height:{{navHeight}}px;' wx:else>
|
||||
<view class="absolute left-0 box-middle" style="width:80px;height:32px;margin-left:7px;box-sizing:border-box;" wx:if="{{!isShowRetBtn}}">
|
||||
<view class="absolute left-0 box-middle pl15 pr15" bindtap='back'>
|
||||
<i class="xhb-icon mr10 icon-fanhui" style="font-size:22px;color:{{txtColor}};"></i>
|
||||
<i class="lcb-icon mr10 icon-fanhui" style="font-size:22px;color:{{txtColor}};"></i>
|
||||
</view>
|
||||
<!-- <view class="absolute top-0 bottom-0 mt15 mb15 box-center bls-ddd" style="width:10rpx;"></view> -->
|
||||
<!-- <view class="absolute right-0 box-middle pl20 pr20" bindtap='home' wx:if="{{!isShowHomeBtn}}">
|
||||
<i class="xhb-icon icon-shouye1" style="font-size:22px;color:{{txtColor}}"></i>
|
||||
<i class="lcb-icon icon-shouye1" style="font-size:22px;color:{{txtColor}}"></i>
|
||||
</view> -->
|
||||
</view>
|
||||
<view class="absolute left-0 box-middle" style="width:40px;height:32px;margin-left:7px;box-sizing:border-box;" wx:else>
|
||||
<view class="absolute box-center-middle" bindtap='home' wx:if="{{!isShowHomeBtn}}">
|
||||
<i class="xhb-icon icon-shouye1" style="font-size:22px;color:{{txtColor}}"></i>
|
||||
<i class="lcb-icon icon-shouye1" style="font-size:22px;color:{{txtColor}}"></i>
|
||||
</view>
|
||||
</view>
|
||||
<view class='navbarTitle absolute box-center-middle wp40 text-center text-nowrap text-bold' style="color:{{txtColor}};">{{titleText}}</view>
|
||||
|
||||
@@ -191,6 +191,17 @@ Page({
|
||||
params['buy_time'] = this.data.buy_time;
|
||||
}
|
||||
_.apiQuery.postAppCustomers(params).then(res => {
|
||||
|
||||
//刷新列表页
|
||||
let pages = getCurrentPages();
|
||||
let prevPage = null; //上一个页面
|
||||
if (pages.length >= 2) {
|
||||
prevPage = pages[pages.length - 2]; //上一个页面
|
||||
if(prevPage.route == 'pages/customer/index'){
|
||||
prevPage.onPullDownRefresh()
|
||||
}
|
||||
}
|
||||
|
||||
wx.showModal({
|
||||
title: '创建成功',
|
||||
content: '',
|
||||
@@ -220,13 +231,6 @@ Page({
|
||||
})
|
||||
}
|
||||
|
||||
let pages = getCurrentPages();
|
||||
let prevPage = null; //上一个页面
|
||||
if (pages.length >= 2) {
|
||||
prevPage = pages[pages.length - 2]; //上一个页面
|
||||
prevPage.onPullDownRefresh()
|
||||
}
|
||||
|
||||
}
|
||||
})
|
||||
}).catch(res=>{
|
||||
|
||||
@@ -0,0 +1,214 @@
|
||||
import _ from '../../../commons/js/commons'
|
||||
import popularData from '../../../commons/js/lib/popularData';
|
||||
const app = getApp()
|
||||
Page({
|
||||
data: {
|
||||
key:'',//tab状态值
|
||||
list: [],//客户列表
|
||||
pageNo: 1,
|
||||
noData: false,
|
||||
end: false,
|
||||
load: true,
|
||||
loading: false,
|
||||
content:'',//短信内容
|
||||
istop:'',//置顶
|
||||
iscall:'',//联系
|
||||
s_time:'',//开始时间
|
||||
e_time:'',//结束时间
|
||||
if_driver:'',//是否试驾
|
||||
level:'',//客户顶级
|
||||
s_id:'',//车型id
|
||||
v_id:'',//车型级别id
|
||||
cfrom:'',//客户来源
|
||||
o_type:'',//排序类型
|
||||
},
|
||||
onLoad(options) {
|
||||
for (let key in options) {
|
||||
this.setData({
|
||||
[key]: options[key]
|
||||
})
|
||||
}
|
||||
this.getAppCustomersList()
|
||||
|
||||
wx.setNavigationBarTitle({
|
||||
title: this.data.title||'客户'
|
||||
})
|
||||
},
|
||||
|
||||
onShow(){
|
||||
|
||||
},
|
||||
|
||||
//获取客户列表
|
||||
getAppCustomersList() {
|
||||
this.setData({
|
||||
load: false,
|
||||
loading: true,
|
||||
})
|
||||
let params = {};
|
||||
params['page'] = this.data.pageNo;
|
||||
params['size'] = 10;
|
||||
if(this.data.istop != ''){
|
||||
params['istop'] = this.data.istop;
|
||||
}
|
||||
if(this.data.iscall != ''){
|
||||
params['iscall'] = this.data.iscall;
|
||||
}
|
||||
if(this.data.key != ''){
|
||||
params['status'] = this.data.key;
|
||||
}
|
||||
if(this.data.s_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 != ''){
|
||||
params['if_driver'] = this.data.if_driver;
|
||||
}
|
||||
if(this.data.level != ''){
|
||||
params['level'] = this.data.level;
|
||||
}
|
||||
if(this.data.s_id != ''){
|
||||
params['s_id'] = this.data.s_id;
|
||||
}
|
||||
if(this.data.v_id != ''){
|
||||
params['v_id'] = this.data.v_id;
|
||||
}
|
||||
if(this.data.cfrom != ''){
|
||||
params['cfrom'] = this.data.cfrom;
|
||||
}
|
||||
if(this.data.o_type != ''){
|
||||
params['o_type'] = this.data.o_type;
|
||||
}
|
||||
_.apiQuery.getAppCustomersList(params).then(res => {
|
||||
this.setData({
|
||||
total: res.data.total,
|
||||
pageNo: this.data.pageNo + 1,
|
||||
list: this.data.list.concat(res.data.list),
|
||||
load: true,
|
||||
loading: false,
|
||||
})
|
||||
if (res.data.total == 0) {
|
||||
this.setData({
|
||||
noData: true
|
||||
})
|
||||
} else if (this.data.list.length == res.data.total) {
|
||||
this.setData({
|
||||
end: true
|
||||
})
|
||||
}
|
||||
wx.stopPullDownRefresh()
|
||||
});
|
||||
},
|
||||
|
||||
//置顶操作
|
||||
optTop(e){
|
||||
let params = {};
|
||||
params['id'] = this.data.list[e.currentTarget.dataset.index].id;
|
||||
params['is_top'] = this.data.list[e.currentTarget.dataset.index].is_top==1?0:1;
|
||||
_.apiQuery.putAppCustomers(params).then(res=>{
|
||||
this.setData({
|
||||
['list['+e.currentTarget.dataset.index+'].is_top']:this.data.list[e.currentTarget.dataset.index].is_top==1?0:1,
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
//拨打客户电话Yx
|
||||
call(e) {
|
||||
let params = {};
|
||||
params['id'] = e.currentTarget.dataset.id;
|
||||
_.apiQuery.getAppYx(params).then(res=>{
|
||||
if(!!res.data.service_msg){
|
||||
this.setData({
|
||||
isShowNote:true,
|
||||
notemsg:res.data.service_msg,
|
||||
})
|
||||
}else{
|
||||
wx.makePhoneCall({
|
||||
phoneNumber: res.data.mobile,
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
//显示短信弹框
|
||||
showMessage(e){
|
||||
this.setData({
|
||||
messageId:e.currentTarget.dataset.id,
|
||||
isShowMessage:true,
|
||||
content:'',
|
||||
})
|
||||
},
|
||||
|
||||
//关闭短信弹框
|
||||
hideMessage(e){
|
||||
this.setData({
|
||||
isShowMessage:false,
|
||||
})
|
||||
},
|
||||
|
||||
//输入
|
||||
inputTx(e) {
|
||||
this.setData({
|
||||
submitFlag: false,
|
||||
[e.currentTarget.dataset.key]: e.detail.value
|
||||
})
|
||||
},
|
||||
|
||||
//发短信
|
||||
postAppSmsCustomer(){
|
||||
if (this.data.submitFlag) return;
|
||||
if (this.data.content == '') {
|
||||
wx.showToast({
|
||||
title: '请填写短信内容',
|
||||
icon: 'none'
|
||||
})
|
||||
} else {
|
||||
this.setData({
|
||||
submitFlag: true,
|
||||
})
|
||||
let params = {};
|
||||
params['id'] = this.data.messageId;
|
||||
params['content'] = this.data.content;
|
||||
_.apiQuery.postAppSmsCustomer(params).then(res=>{
|
||||
this.setData({
|
||||
isShowMessage:false,
|
||||
submitFlag:false,
|
||||
content:'',
|
||||
})
|
||||
wx.showToast({
|
||||
title: res.msg,
|
||||
icon: 'none'
|
||||
})
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
//推送链接
|
||||
pushLink(e){
|
||||
if(e.currentTarget.dataset.url){
|
||||
_.$router.openUrlScheme(e.currentTarget.dataset.url)
|
||||
}
|
||||
},
|
||||
|
||||
//页面相关事件处理函数--监听用户下拉动作
|
||||
onPullDownRefresh(){
|
||||
this.setData({
|
||||
list: [],
|
||||
pageNo: 1,
|
||||
noData: false,
|
||||
end: false,
|
||||
load: true,
|
||||
loading: false,
|
||||
})
|
||||
this.getAppCustomersList()
|
||||
},
|
||||
|
||||
//页面上拉触底事件的处理函数
|
||||
onReachBottom(){
|
||||
if (this.data.noData || this.data.end||!this.data.load) return;
|
||||
this.getAppCustomersList()
|
||||
},
|
||||
|
||||
})
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"navigationBarTitleText": "客户",
|
||||
"enablePullDownRefresh": true,
|
||||
"usingComponents": {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
<view class="container">
|
||||
|
||||
<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="relative pr180">
|
||||
<view class="font-32">
|
||||
<text>{{item.name}}</text>
|
||||
<text>({{item.mobile}})</text>
|
||||
<text class="iconfont icon-xingxing ml10 {{item.is_top==1?'color-f9394d':'color-ccc'}}" catchtap="optTop" data-index="{{index}}"></text>
|
||||
</view>
|
||||
<view class="text-nowrap">
|
||||
<block wx:for="{{item.tags}}" wx:for-index='i' wx:for-item='tag' wx:key='i'>
|
||||
<text class="inline-block mr10 pl10 pr10 bg-666 font-18 color-fff ulib-r750" wx:if="{{i<4}}">{{tag}}</text>
|
||||
</block>
|
||||
<block wx:if="{{item.tags.length>4}}">
|
||||
...
|
||||
</block>
|
||||
</view>
|
||||
<view class="absolute right-0 box-middle">
|
||||
<view class="inline-block relative img-55x55 bg-333 font-28 color-fff mr30 ulib-r750" catchtap="showMessage" data-id="{{item.id}}">
|
||||
<i class="absolute box-center-middle iconfont icon-liuyan"></i>
|
||||
</view>
|
||||
<view class="inline-block relative img-55x55 bg-333 font-28 color-fff ulib-r750" catchtap="call" data-id="{{item.id}}">
|
||||
<i class="absolute box-center-middle iconfont icon-dianhua"></i>
|
||||
</view>
|
||||
</view>
|
||||
</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">{{key}}</view>
|
||||
<view class="fn-fr wp60 text-nowrap text-right color-666">{{value}}</view>
|
||||
</view>
|
||||
</block>
|
||||
|
||||
</view>
|
||||
</block>
|
||||
<lcb-listmore isLoading='{{loading}}' isEnd='{{end}}' isNoData='{{noData}}'></lcb-listmore>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
<lcb-footer></lcb-footer>
|
||||
|
||||
<lcb-msg isShow="{{isShowMessage}}">
|
||||
<view slot="content">
|
||||
<view class="inner40">
|
||||
<textarea class="wp100 inner20 bds-1-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 bts-1-eb text-center font-32 color-666">
|
||||
<view class="fn-flex-item pt25 pb25" bindtap="hideMessage">取消</view>
|
||||
<view class="fn-flex-item bls-1-eb pt25 pb25 color-36afa2" disabled="{{!submitFlag}}" bindtap="postAppSmsCustomer">确定</view>
|
||||
</view>
|
||||
</view>
|
||||
</lcb-msg>
|
||||
@@ -0,0 +1,28 @@
|
||||
.mobiletip{position:fixed;bottom:120rpx;right:40rpx;width:100rpx;height:100rpx;}
|
||||
|
||||
.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:4rpx;content:"";background-color:#36afa2;}
|
||||
|
||||
.subtab{height:100rpx;}
|
||||
.opt-item{border:#ebebeb 1rpx solid;line-height:40rpx;}
|
||||
.opt-item.active{background-color:#36afa2;border:#36afa2 1rpx solid;}
|
||||
|
||||
.fixedopt{position:fixed;bottom:120rpx;right:40rpx;}
|
||||
.optpin{width:100rpx;height:100rpx;}
|
||||
|
||||
.search-sort{right:-650rpx;width:650rpx;}
|
||||
.search-sort.sortin{animation:sortin.5s;animation-fill-mode:forwards;}
|
||||
.search-sort.sortout{animation:sortout.5s;animation-fill-mode:forwards;}
|
||||
@keyframes sortin
|
||||
{
|
||||
from {right:-650rpx;}
|
||||
to {right:0;}
|
||||
}
|
||||
@keyframes sortout
|
||||
{
|
||||
from {right:0;}
|
||||
to {right:-650rpx;}
|
||||
}
|
||||
|
||||
.radio-btn{min-width:104rpx;box-sizing:border-box;text-align:center;}
|
||||
+26
-3
@@ -5,14 +5,37 @@ Page({
|
||||
imgUrl:_.config.imgUrl,
|
||||
},
|
||||
|
||||
//生命周期函数--监听页面加载
|
||||
onLoad(options) {
|
||||
for (let key in options) {
|
||||
this.setData({
|
||||
[key]: options[key]
|
||||
})
|
||||
}
|
||||
|
||||
this.getUserInfo()
|
||||
this.getAppUserCal()
|
||||
},
|
||||
|
||||
onShow: function () {
|
||||
|
||||
},
|
||||
|
||||
//生命周期函数--监听页面显示
|
||||
onShow: function () {
|
||||
//获取用户信息
|
||||
getUserInfo(){
|
||||
_.apiQuery.getUserInfo().then(res => {
|
||||
this.setData({
|
||||
userInfo: res
|
||||
})
|
||||
});
|
||||
},
|
||||
|
||||
//获取用户统计
|
||||
getAppUserCal(){
|
||||
_.apiQuery.getAppUserCal().then(res => {
|
||||
this.setData({
|
||||
userCal:res.data
|
||||
})
|
||||
});
|
||||
},
|
||||
|
||||
//退出登录
|
||||
|
||||
+10
-9
@@ -8,7 +8,8 @@
|
||||
</view>
|
||||
</view>
|
||||
<view class="text-bold font-60 color-fff">
|
||||
<open-data type="userNickName"></open-data>
|
||||
<!-- <open-data type="userNickName"></open-data> -->
|
||||
{{userInfo.uname}}
|
||||
</view>
|
||||
<view class="absolute right-0 box-middle mr10 img-90x90 ulib-r750 overflowhidden">
|
||||
<open-data type="userAvatarUrl"></open-data>
|
||||
@@ -17,34 +18,34 @@
|
||||
<view class="mt40 inner30 pt40 bg-fff box-shadow-000-10-10 ulib-r10">
|
||||
<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="" >
|
||||
<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=未联系潜客" >
|
||||
<i class="absolute left-0 box-middle ml35 iconfont icon-qianke font-60"></i>
|
||||
<view>
|
||||
<view class="font-40">234</view>
|
||||
<view class="font-40">{{userCal.wl_count}}</view>
|
||||
<view class="font-22">未联系潜客(人)</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="fn-flex-item relative ml15 pt25 pb25 pl110 bg-fe606c-ff9026 ulib-r10" bindtap="pushLink" data-url="">
|
||||
<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=特别关注客户">
|
||||
<i class="absolute left-0 box-middle ml35 iconfont icon-guanzhu font-60"></i>
|
||||
<view>
|
||||
<view class="font-40">234</view>
|
||||
<view class="font-40">{{userCal.gz_count}}</view>
|
||||
<view class="font-22">特别关注客户(人)</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="mt20 font-36">订单代办事项</view>
|
||||
<view class="fn-flex pt20 pb20">
|
||||
<view class="fn-flex-item relative pl120" bindtap="pushLink" data-url="">
|
||||
<view class="fn-flex-item relative pl120" bindtap="pushLink" data-url="/pages/order/filterList/index?key=0&title=需签订合同">
|
||||
<i class="absolute left-0 box-middle ml50 iconfont icon-qianhetong font-50"></i>
|
||||
<view>
|
||||
<view class="font-40">17</view>
|
||||
<view class="font-40">{{userCal.sign_count}}</view>
|
||||
<view class="font-22 color-666">需签订合同</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="fn-flex-item relative pl120" bindtap="pushLink" data-url="">
|
||||
<view class="fn-flex-item relative pl120" bindtap="pushLink" data-url="/pages/order/filterList/index?key=1&title=需办理分期">
|
||||
<i class="absolute left-0 box-middle ml50 iconfont icon-banfenqi font-50"></i>
|
||||
<view>
|
||||
<view class="font-40">12</view>
|
||||
<view class="font-40">{{userCal.loan_count}}</view>
|
||||
<view class="font-22 color-666">需办理分期</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@@ -33,6 +33,8 @@ Page({
|
||||
})
|
||||
}
|
||||
|
||||
this.getUserInfo()
|
||||
|
||||
wx.getSystemInfo({
|
||||
success (res) {
|
||||
if(res.system.indexOf('Android')>-1){
|
||||
@@ -47,6 +49,15 @@ Page({
|
||||
|
||||
},
|
||||
|
||||
//获取用户信息
|
||||
getUserInfo(){
|
||||
_.apiQuery.getUserInfo().then(res => {
|
||||
this.setData({
|
||||
userInfo: res
|
||||
})
|
||||
});
|
||||
},
|
||||
|
||||
//退出登录
|
||||
logout(){
|
||||
wx.clearStorage()
|
||||
@@ -62,4 +73,16 @@ Page({
|
||||
}
|
||||
},
|
||||
|
||||
//推送链接-敬请期待
|
||||
pushLinkMsg(e) {
|
||||
if (e.currentTarget.dataset.url) {
|
||||
_.$router.openUrlScheme(e.currentTarget.dataset.url)
|
||||
}else{
|
||||
wx.showToast({
|
||||
title:'开发中,敬请期待!',
|
||||
icon: "none"
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
})
|
||||
@@ -7,7 +7,8 @@
|
||||
</view>
|
||||
<view class="absolute left-0 right-0 box-middle pl200">
|
||||
<view class="text-bold font-32">
|
||||
<open-data type="userNickName"></open-data>
|
||||
<!-- <open-data type="userNickName"></open-data> -->
|
||||
{{userInfo.uname}}
|
||||
</view>
|
||||
<view class="mt10 font-22 color-666">积分:0</view>
|
||||
</view>
|
||||
@@ -20,7 +21,7 @@
|
||||
|
||||
<view class="pl40 pr40">
|
||||
<block wx:for="{{list}}" wx:key="index">
|
||||
<view class="relative pt30 pb30 pl60 font-32" bindtap="pushLink" data-url="{{item.url}}">
|
||||
<view class="relative pt30 pb30 pl60 font-32" bindtap="pushLinkMsg" data-url="{{item.url}}">
|
||||
<image class='absolute left-0 box-middle img-50x50' mode="aspectFill" src='{{item.icon}}' lazy-load="{{true}}"></image>
|
||||
<text>{{item.title}}</text>
|
||||
<i class="absolute right-0 box-middle iconfont icon-gengduo"></i>
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
</view>
|
||||
<lcb-footer></lcb-footer>
|
||||
|
||||
<lcb-msg isShow="{{isShowAddStaff}}">
|
||||
<lcb-msg isShow="{{isShowAddStaff}}" isHasClose="{{true}}">
|
||||
<view slot="content" class="inner40 text-center">
|
||||
<view class="pt10 pb10 font-36">新增员工</view>
|
||||
<view class="pt20 pb10">
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
{
|
||||
"navigationBarTitleText": "订单详情",
|
||||
"usingComponents": {}
|
||||
}
|
||||
@@ -147,7 +147,7 @@
|
||||
</view>
|
||||
<lcb-footer></lcb-footer>
|
||||
|
||||
<lcb-msg isShow="{{isShowSelectContract}}">
|
||||
<lcb-msg isShow="{{isShowSelectContract}}" isHasClose="{{true}}">
|
||||
<view slot="content">
|
||||
<view class="mt50 font-36 text-center">修订合同</view>
|
||||
<scroll-view class="pb50" scroll-y="true" style="max-height:600rpx;">
|
||||
|
||||
@@ -0,0 +1,156 @@
|
||||
import _ from '../../../commons/js/commons'
|
||||
const app = getApp()
|
||||
Page({
|
||||
data: {
|
||||
key:'',//tab状态值
|
||||
list: [],//客户列表
|
||||
pageNo: 1,
|
||||
noData: false,
|
||||
end: false,
|
||||
load: true,
|
||||
loading: false,
|
||||
isShowMessage:false,//是否显示短信弹窗
|
||||
content:'',//短信内容
|
||||
isRefresh:false,//判断返回是否需要刷新
|
||||
},
|
||||
onLoad: function (options) {
|
||||
for (let key in options) {
|
||||
this.setData({
|
||||
[key]: options[key]
|
||||
})
|
||||
}
|
||||
this.getAppCusorderList()
|
||||
|
||||
wx.setNavigationBarTitle({
|
||||
title: this.data.title||'客户'
|
||||
})
|
||||
},
|
||||
|
||||
//获取客户列表
|
||||
getAppCusorderList() {
|
||||
this.setData({
|
||||
load: false,
|
||||
loading: true,
|
||||
})
|
||||
let params = {};
|
||||
params['page'] = this.data.pageNo;
|
||||
params['size'] = 10;
|
||||
params['status'] = this.data.key;
|
||||
_.apiQuery.getAppCusorderList(params).then(res => {
|
||||
this.setData({
|
||||
pageNo: this.data.pageNo + 1,
|
||||
list: this.data.list.concat(res.data.list),
|
||||
load: true,
|
||||
loading: false,
|
||||
})
|
||||
if (res.data.total == 0) {
|
||||
this.setData({
|
||||
noData: true
|
||||
})
|
||||
} else if (this.data.list.length == res.data.total) {
|
||||
this.setData({
|
||||
end: true
|
||||
})
|
||||
}
|
||||
wx.stopPullDownRefresh()
|
||||
});
|
||||
},
|
||||
|
||||
//拨打客户电话Yx
|
||||
call(e) {
|
||||
let params = {};
|
||||
params['id'] = e.currentTarget.dataset.id;
|
||||
_.apiQuery.getAppYx(params).then(res=>{
|
||||
if(!!res.data.service_msg){
|
||||
this.setData({
|
||||
isShowNote:true,
|
||||
notemsg:res.data.service_msg,
|
||||
})
|
||||
}else{
|
||||
wx.makePhoneCall({
|
||||
phoneNumber: res.data.mobile,
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
//显示短信弹框
|
||||
showMessage(e){
|
||||
this.setData({
|
||||
messageId:e.currentTarget.dataset.id,
|
||||
isShowMessage:true,
|
||||
content:'',
|
||||
})
|
||||
},
|
||||
|
||||
//关闭短信弹框
|
||||
hideMessage(e){
|
||||
this.setData({
|
||||
isShowMessage:false,
|
||||
})
|
||||
},
|
||||
|
||||
//输入
|
||||
inputTx(e) {
|
||||
this.setData({
|
||||
submitFlag: false,
|
||||
[e.currentTarget.dataset.key]: e.detail.value
|
||||
})
|
||||
},
|
||||
|
||||
//发短信
|
||||
postAppSmsCusorder(){
|
||||
if (this.data.submitFlag) return;
|
||||
if (this.data.content == '') {
|
||||
wx.showToast({
|
||||
title: '请填写短信内容',
|
||||
icon: 'none'
|
||||
})
|
||||
} else {
|
||||
this.setData({
|
||||
submitFlag: true,
|
||||
})
|
||||
let params = {};
|
||||
params['id'] = this.data.messageId;
|
||||
params['content'] = this.data.content;
|
||||
_.apiQuery.postAppSmsCusorder(params).then(res=>{
|
||||
this.setData({
|
||||
isShowMessage:false,
|
||||
submitFlag:false,
|
||||
content:'',
|
||||
})
|
||||
wx.showToast({
|
||||
title: res.msg,
|
||||
icon: 'none'
|
||||
})
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
//推送链接
|
||||
pushLink(e){
|
||||
if(e.currentTarget.dataset.url){
|
||||
_.$router.openUrlScheme(e.currentTarget.dataset.url)
|
||||
}
|
||||
},
|
||||
|
||||
//页面相关事件处理函数--监听用户下拉动作
|
||||
onPullDownRefresh(){
|
||||
this.setData({
|
||||
list: [],
|
||||
pageNo: 1,
|
||||
noData: false,
|
||||
end: false,
|
||||
load: true,
|
||||
loading: false,
|
||||
})
|
||||
this.getAppCusorderList()
|
||||
},
|
||||
|
||||
//页面上拉触底事件的处理函数
|
||||
onReachBottom(){
|
||||
if (this.data.noData || this.data.end||!this.data.load) return;
|
||||
this.getAppCusorderList()
|
||||
},
|
||||
|
||||
})
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"navigationBarTitleText": "订单",
|
||||
"enablePullDownRefresh": true,
|
||||
"usingComponents": {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
<view class="container">
|
||||
|
||||
<view class="mt30 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/order/detail/index?id={{item.id}}">
|
||||
<view class="relative pr180">
|
||||
<view class="font-32">
|
||||
<text>{{item.name}}</text>
|
||||
<text>({{item.mobile}})</text>
|
||||
</view>
|
||||
<view class="text-nowrap">
|
||||
<text class="inline-block mr10 pl10 pr10 bg-666 font-18 color-fff ulib-r750">{{item.status_name}}</text>
|
||||
</view>
|
||||
<view class="absolute right-0 box-middle">
|
||||
<view class="inline-block relative img-55x55 bg-333 font-28 color-fff mr30 ulib-r750" catchtap="showMessage" data-id="{{item.id}}">
|
||||
<i class="absolute box-center-middle iconfont icon-liuyan"></i>
|
||||
</view>
|
||||
<view class="inline-block relative img-55x55 bg-333 font-28 color-fff ulib-r750" catchtap="call" data-id="{{item.id}}">
|
||||
<i class="absolute box-center-middle iconfont icon-dianhua"></i>
|
||||
</view>
|
||||
</view>
|
||||
</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">{{key}}</view>
|
||||
<view class="fn-fr wp60 text-nowrap text-right color-666">{{value}}</view>
|
||||
</view>
|
||||
</block>
|
||||
|
||||
</view>
|
||||
</block>
|
||||
<lcb-listmore isLoading='{{loading}}' isEnd='{{end}}' isNoData='{{noData}}'></lcb-listmore>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
<lcb-footer></lcb-footer>
|
||||
|
||||
<lcb-msg isShow="{{isShowMessage}}">
|
||||
<view slot="content">
|
||||
<view class="inner40">
|
||||
<textarea class="wp100 inner20 bds-1-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 bts-1-eb text-center font-32 color-666">
|
||||
<view class="fn-flex-item pt25 pb25" bindtap="hideMessage">取消</view>
|
||||
<view class="fn-flex-item bls-1-eb pt25 pb25 color-36afa2" disabled="{{!submitFlag}}" bindtap="postAppSmsCusorder">确定</view>
|
||||
</view>
|
||||
</view>
|
||||
</lcb-msg>
|
||||
@@ -0,0 +1,28 @@
|
||||
.mobiletip{position:fixed;bottom:120rpx;right:40rpx;width:100rpx;height:100rpx;}
|
||||
|
||||
.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:4rpx;content:"";background-color:#36afa2;}
|
||||
|
||||
.subtab{height:100rpx;}
|
||||
.opt-item{border:#ebebeb 1rpx solid;line-height:40rpx;}
|
||||
.opt-item.active{background-color:#36afa2;border:#36afa2 1rpx solid;}
|
||||
|
||||
.fixedopt{position:fixed;bottom:120rpx;right:40rpx;}
|
||||
.optpin{width:100rpx;height:100rpx;}
|
||||
|
||||
.search-sort{right:-650rpx;width:650rpx;}
|
||||
.search-sort.sortin{animation:sortin.5s;animation-fill-mode:forwards;}
|
||||
.search-sort.sortout{animation:sortout.5s;animation-fill-mode:forwards;}
|
||||
@keyframes sortin
|
||||
{
|
||||
from {right:-650rpx;}
|
||||
to {right:0;}
|
||||
}
|
||||
@keyframes sortout
|
||||
{
|
||||
from {right:0;}
|
||||
to {right:-650rpx;}
|
||||
}
|
||||
|
||||
.radio-btn{min-width:104rpx;box-sizing:border-box;text-align:center;}
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"navigationBarTitleText": "客户",
|
||||
"navigationBarTitleText": "订单",
|
||||
"enablePullDownRefresh": true,
|
||||
"usingComponents": {
|
||||
|
||||
|
||||
@@ -266,6 +266,17 @@ Page({
|
||||
params['payway'] = that.data.paymentIndex==0?'1':'0';
|
||||
// params['if_cnum'] = that.data.agencyIndex==0?'1':'0';
|
||||
_.apiQuery.postAppCusorder(params).then(res => {
|
||||
|
||||
//刷新列表页
|
||||
let pages = getCurrentPages();
|
||||
let prevPage = null; //上一个页面
|
||||
if (pages.length >= 2) {
|
||||
prevPage = pages[pages.length - 2]; //上一个页面
|
||||
if(prevPage.route == 'pages/order/index'){
|
||||
prevPage.onPullDownRefresh()
|
||||
}
|
||||
}
|
||||
|
||||
wx.showModal({
|
||||
title: '登记成功',
|
||||
content: '',
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
{
|
||||
"navigationBarTitleText": "订单登记",
|
||||
"usingComponents": {}
|
||||
}
|
||||
@@ -96,7 +96,7 @@
|
||||
</view>
|
||||
<lcb-footer></lcb-footer>
|
||||
|
||||
<lcb-msg isShow="{{isShowSelectCustomer}}">
|
||||
<lcb-msg isShow="{{isShowSelectCustomer}}" isHasClose="{{true}}">
|
||||
<view slot="content">
|
||||
<view class="mt50 font-36 text-center">选择客户</view>
|
||||
<scroll-view class="pb50" scroll-y="true" bindscrolltolower="scrolltolower" style="max-height:600rpx;">
|
||||
|
||||
Reference in New Issue
Block a user