Przeglądaj źródła

添加销售线索跟进模式

xiaohaizhao 2 lat temu
rodzic
commit
552fcf7334

+ 166 - 9
pages/tabbar/mine/index.js

@@ -1,25 +1,23 @@
 const _Http = getApp().globalData.http;
 let downCount = null;
 Page({
-
-    /**
-     * 页面的初始数据
-     */
     data: {
+        selectShow: false,
         userMsg: {},
         pathList: [], //功能权限
+        showPicker: false
     },
     onLoad(options) {
         this.queryUserMsg();
         //美大关闭团队管理
-        let authlist = getApp().globalData.queryPer.query(wx.getStorageSync('userauth'), ['通用'], ['个人中心']);
+        // let authlist = getApp().globalData.queryPer.query(wx.getStorageSync('userauth'), ['通用'], ['个人中心']);
         /* let pathList = [{
             name: "修改登录密码",
             icon: "icon-a-wodeguanyuyingyong",
             color: "var(--warning)",
             path: `/pages/tabbar/mine/changePassword/index`
         }] */
-        if (authlist[0].apps.some(v => v.name == "teamManagement")) {
+        /* if (authlist[0].apps.some(v => v.name == "teamManagement")) {
             this.data.pathList.unshift({
                 name: "团队管理",
                 icon: "icon-a-wodetuanduiguanli",
@@ -29,8 +27,111 @@ Page({
             this.setData({
                 pathList: this.data.pathList
             })
+        } */
+    },
+    /* 选择代理人 */
+    onSelectUset({
+        detail
+    }) {
+        console.log(detail)
+        let that = this;
+        wx.showModal({
+            title: '提示',
+            content: `是否确定任命“${detail.value.name}”为代理人`,
+            complete: ({
+                confirm
+            }) => {
+                if (confirm) _Http.basic({
+                    "classname": "webmanage.sale.agents.agents",
+                    "method": "changeAgentModel",
+                    "content": {
+                        "sa_agent_hrid": detail.value.sa_agent_hrid,
+                        "authmodel": 3
+                    }
+                }).then(res => {
+                    console.log("修改跟进模式", res)
+                    wx.showToast({
+                        title: res.msg == '成功' ? '修改成功' : res.msg,
+                        icon: "none"
+                    });
+                    if (res.msg == '成功') that.setData({
+                        "userMsg.agenthr.authmodel": 3,
+                        modelList: that.data.modelList.map(v => {
+                            v.disabled = detail.value != 3
+                            return v
+                        }),
+                        showPicker: false,
+                        sa_agent_hrid: detail.value.sa_agent_hrid
+                    })
+                })
+            }
+        })
+    },
+    closePicker() {
+        this.setData({
+            showPicker: false
+        })
+    },
+    openPicker() {
+        this.setData({
+            showPicker: true
+        })
+    },
+    /* 选择模式 */
+    onSelect({
+        detail
+    }) {
+        this.onCancel();
+        let that = this;
+        if (detail.value == 3) {
+            this.setData({
+                showPicker: true,
+                selectShow: false
+            })
+        } else {
+            wx.showModal({
+                title: '提示',
+                content: `将模式改为“${detail.name}”后${detail.subname}`,
+                complete: ({
+                    confirm
+                }) => {
+                    if (confirm) _Http.basic({
+                        "classname": "webmanage.sale.agents.agents",
+                        "method": "changeAgentModel",
+                        "content": {
+                            "sa_agent_hrid": 0,
+                            "authmodel": detail.value
+                        }
+                    }).then(res => {
+                        console.log("修改跟进模式", res)
+                        wx.showToast({
+                            title: res.msg == '成功' ? '修改成功' : res.msg,
+                            icon: "none"
+                        });
+                        if (res.msg == '成功') that.setData({
+                            "userMsg.agenthr.authmodel": detail.value,
+                            modelList: that.data.modelList.map(v => {
+                                v.disabled = detail.value == v.value
+                                return v
+                            })
+                        })
+                    })
+                }
+            })
         }
     },
+    /* 开始选择模式 */
+    startSelect() {
+        this.setData({
+            selectShow: true
+        })
+    },
+    /* 取消选择模式 */
+    onCancel() {
+        this.setData({
+            selectShow: false
+        })
+    },
     /* 查询用户信息 */
     queryUserMsg() {
         _Http.basic({
@@ -40,6 +141,7 @@ Page({
                 "nochace": true
             }
         }).then(res => {
+            console.log("用户信息", res)
             if (res.msg != '成功') return wx.showToast({
                 title: res.msg,
                 icon: "none"
@@ -58,13 +160,69 @@ Page({
                     res.data.usertype = ''
                     break;
             }
+            let modelList = [{
+                    name: '抢单模式',
+                    subname: '待跟进线索所有人可见',
+                    value: 1
+                }, {
+                    name: '分配模式',
+                    subname: '由负责人将销售线索转移给其他成员',
+                    value: 2
+                },
+                {
+                    name: '代理模式',
+                    subname: '指定一位成员代理销售线索管理',
+                    value: 3
+                }
+            ];
+            if (res.data.agenthr.authmodel != 0) modelList[res.data.agenthr.authmodel - 1].disabled = true;
+            if (res.data.agenthr.authmodel == 3) _Http.basic({
+                "classname": "webmanage.sale.agents.agents",
+                "method": "getAgentModel",
+                "content": {
+                    "sa_agentsid": res.data.agent.sa_agentsid
+                }
+            }, false).then(res => {
+                console.log("获取经销商信息", res)
+                this.setData({
+                    sa_agent_hrid: res.data.sa_agent_hrid.sa_agent_hrid
+                })
+            })
             this.setData({
-                userMsg: res.data
+                userMsg: res.data,
+                modelList
             })
         })
     },
     onShow() {
         this.getTabBar().init();
+        this.getUser();
+    },
+    /* 获取users */
+    getUser() {
+        _Http.basic({
+            "classname": "sale.team.team",
+            "method": "query_teamList",
+            "content": {
+                "pageNumber": 1,
+                "pageSize": 999999,
+                "where": {
+                    "condition": ""
+                }
+            }
+        }).then(res => {
+            console.log("用户列表", res)
+            if (res.msg == '成功') {
+                let columnsObj = {};
+                res.data.forEach(v => {
+                    columnsObj[v.sa_agent_hrid] = v.name
+                })
+                this.setData({
+                    columns: res.data,
+                    columnsObj
+                })
+            }
+        })
     },
     /* 退出登录 */
     outLogin() {
@@ -155,6 +313,5 @@ Page({
                 })
             }
         })
-    },
-    onShareAppMessage() {}
+    }
 })

+ 2 - 1
pages/tabbar/mine/index.json

@@ -1,6 +1,7 @@
 {
     "navigationBarTitleText": "我的",
     "usingComponents": {
-        "My_form":"/components/My_form/index"
+        "My_form": "/components/My_form/index",
+        "van-picker": "@vant/weapp/picker/index"
     }
 }

+ 7 - 0
pages/tabbar/mine/index.scss

@@ -175,4 +175,11 @@
     font-size: 28rpx;
     font-family: PingFang SC-Regular, PingFang SC;
     color: #333333 !important;
+}
+
+.van-picker{
+    width: 100vw;
+    position: absolute !important;
+    bottom: 0;
+    z-index: 999999999999;
 }

+ 34 - 3
pages/tabbar/mine/index.wxml

@@ -24,8 +24,6 @@
             </view>
         </view>
     </navigator>
-
-
     <navigator class="item" url="#" bindtap="bindingWechat">
         <view class="con">
             <view class="label">
@@ -42,8 +40,41 @@
             </view>
         </view>
     </navigator>
+    <block wx:if="{{userMsg.agenthr.isleader}}">
+        <navigator class="item" url="#" bindtap="startSelect">
+            <view class="con">
+                <view class="label">
+                    <text class="iconfont icon-xiaoshouxiansuogenjinmoshi" style="color:#F78D15;" />
+                    销售线索跟进模式
+                </view>
+                <view class="item-right">
+                    <view class="tips right-false" style="color: #6090F8;">
+                        {{userMsg.agenthr.authmodel==1?'抢单模式':userMsg.agenthr.authmodel==2?'分配模式':userMsg.agenthr.authmodel==3?'代理模式':"未设置"}}
+                    </view>
+                    <van-icon size='30rpx' name="arrow" />
+                </view>
+            </view>
+        </navigator>
+        <navigator class="item" url="#" wx:if="{{userMsg.agenthr.authmodel==3}}" bindtap="openPicker">
+            <view class="con">
+                <view class="label">
+                    <text class="iconfont icon-dibu-genghuanjingxiaoshang" style="color:#F78D15; font-size: 34rpx;margin-left: 10rpx;margin-right: 16rpx;" />
+                    更换代理人
+                </view>
+                <view class="item-right">
+                    <view class="tips right-false" style="color: #6090F8;">
+                        {{columnsObj[sa_agent_hrid]}}
+                    </view>
+                    <van-icon size='30rpx' name="arrow" />
+                </view>
+            </view>
+        </navigator>
+    </block>
+
 </My_card>
 <view style="width: 100vw;text-align: center;margin-top: 200rpx;">
     <van-button custom-class='out-login' color="#CCC" bindtap="outLogin" plain>退出登录</van-button>
 </view>
-<view style="height: 140rpx;" />
+<view style="height: 140rpx;" />
+<van-action-sheet show="{{ selectShow }}" actions="{{ modelList }}" z-index='999999999' cancel-text="取消" bind:select='onSelect' bind:click-overlay='onCancel' bind:cancel='onCancel' />
+<van-picker wx:if="{{showPicker}}" custom-class='van-picker' show-toolbar title="选择代理人" columns="{{ columns }}" value-key='name' bind:confirm='onSelectUset' bind:cancel='closePicker' />