Explorar el Código

添加代理人权限

xiaohaizhao hace 3 años
padre
commit
805af475b9

+ 12 - 0
app.js

@@ -50,6 +50,18 @@ App({
             that.globalData.socketEstablish = false;
         })
     },
+    /**
+     * 查询是否为数据代理人
+     * @param {string} ownertable 数据表名
+     * @param {number} ownerid 数据id
+     */
+    agentOrNot: (ownertable, ownerid) => getApp().globalData.http.basic({
+        "id": 20230329122604,
+        "content": {
+            ownertable,
+            ownerid
+        }
+    }),
     globalData: {
         http: new ApiModel(), //接口文件
         queryPer: require("./utils/queryPermissions"), //权限查询

+ 48 - 30
packageA/activity/detail.js

@@ -120,44 +120,62 @@ Page({
                 }],
                 tabsList: this.data.tabsList
             });
-            let tabbarList = [],
-                isLeader = res.data.leader[0].userid == wx.getStorageSync('userMsg').userid;
-            if (isLeader) {
-                if (res.data.status == '新建') {
-                    tabbarList = [{
-                        icon: "icon-bianji",
-                        label: "编辑"
-                    }, {
-                        icon: "icon-dibu-chengjiao",
-                        label: "发布"
-                    }, {
-                        icon: "icon-dibu-jieshu",
-                        label: "结束"
-                    }]
-                } else if (res.data.status == '发布') {
-                    tabbarList = [{
-                        icon: "icon-dibu-chengjiao",
-                        label: "取消发布"
-                    }, {
-                        icon: "icon-dibu-jieshu",
-                        label: "结束"
-                    }]
-                };
-                if (res.data.status == '新建' || res.data.status == '结束') getApp().globalData.handleClue = this.isDelete.bind(this);
-            }
-            this.setData({
-                tabbarList,
-                isLeader
-            })
             this.getTags();
             this.getGroup();
             this.partialRenewal();
+
+            let isLeader = res.data.leader[0].userid == wx.getStorageSync('userMsg').userid;
+            if (isLeader) {
+                this.setTabbarList(isLeader, res.data.status)
+            } else {
+                getApp().agentOrNot("sat_campaign", this.data.sat_campaignid).then(({
+                    data
+                }) => this.setTabbarList(data == 1, res.data.status))
+            }
+        })
+    },
+    /**
+     * 设置tabbar选项
+     * @param {*} isLeader 是否为负责人或代理人
+     * @param {string} status 市场活动状态
+     */
+    setTabbarList(isLeader, status) {
+        let tabbarList = [];
+        if (isLeader) {
+            if (status == '新建') {
+                tabbarList = [{
+                    icon: "icon-bianji",
+                    label: "编辑"
+                }, {
+                    icon: "icon-dibu-chengjiao",
+                    label: "发布"
+                }, {
+                    icon: "icon-dibu-jieshu",
+                    label: "结束"
+                }]
+            } else if (status == '发布') {
+                tabbarList = [{
+                    icon: "icon-dibu-chengjiao",
+                    label: "取消发布"
+                }, {
+                    icon: "icon-dibu-jieshu",
+                    label: "结束"
+                }]
+            };
+            if (status == '新建' || status == '结束') getApp().globalData.handleClue = this.isDelete.bind(this);
+        }
+        this.setData({
+            tabbarList,
+            isLeader
         })
     },
+    /**
+     * 是否可以删除活动
+     * @param {number} total 数据数量
+     */
     isDelete(total) {
         if (total == 0) this.setData({
             tabbarList: this.data.tabbarList.concat([{
-                /*  */
                 icon: "icon-guanlian-shanchu",
                 label: "删除"
             }])

+ 11 - 9
packageA/contract/detail.js

@@ -30,18 +30,27 @@ Page({
                 nocache: true,
                 "sa_contractid": this.data.sa_contractid
             },
-        }).then(res => {
+        }).then(async res => {
             console.log("合同详情", res)
             if (res.msg != '成功') return wx.showToast({
                 title: res.msg,
                 icon: "none"
             });
+            let data = res.data,
+                tabsList = this.data.tabsList,
+                tabsActive = 0;
+            this.getTags();
+            this.getGroup();
 
             let isLeader = res.data.leader.some(some => some.userid == wx.getStorageSync('userMsg').userid),
                 tabbarList = [{
                     icon: "icon-genjin",
                     label: "跟进"
                 }];
+            if (!isLeader) {
+                let s = await getApp().agentOrNot("sa_contract", this.data.sa_contractid);
+                isLeader = s.data == 1;
+            }
             if (this.data.isAdmin) tabbarList = [{
                 icon: "icon-genjin",
                 label: "审核"
@@ -76,9 +85,6 @@ Page({
                     })
                 }
             };
-            let data = res.data,
-                tabsList = this.data.tabsList,
-                tabsActive = 0;
             switch (data.type) {
                 case "框架":
                     data.type = '经销商合作协议'
@@ -143,7 +149,6 @@ Page({
                 icon: "icon-tabrenwu",
                 model: "#Work"
             })
-            this.setDetail(data);
             this.setData({
                 isLeader,
                 tabbarList,
@@ -182,7 +187,6 @@ Page({
                 tabsList,
                 tabsActive
             });
-
             /* 更新列表数据 */
             let page = getCurrentPages().find(v => v.__route__ == 'packageA/contract/index');
             if (page) {
@@ -191,10 +195,8 @@ Page({
                     [`list[${i}].status`]: res.data.status
                 })
             }
-
-            this.getTags();
-            this.getGroup();
             this.partialRenewal();
+            this.setDetail(data);
         })
     },
     /* 设置详情信息 */

+ 5 - 1
packageA/offers/detail.js

@@ -84,13 +84,17 @@ Page({
         })
     },
     /* 设置显示字段 */
-    setPreview(res) {
+    async setPreview(res) {
         //底部操作
         let tabbarList = [{
                 icon: "icon-genjin",
                 label: "跟进"
             }],
             isLeader = res.data.leader[0].userid == wx.getStorageSync('userMsg').userid;
+        if (!isLeader) {
+            let s = await getApp().agentOrNot("sa_project", this.data.sa_projectid);
+            isLeader = s.data == 1;
+        }
         if (isLeader || this.data.isAdmin) {
             //负责人/管理员默认权限功能
             /* {

+ 5 - 2
packageA/project/detail.js

@@ -94,13 +94,16 @@ Page({
         })
     },
     /* 设置显示信息 */
-    setPreview(data) {
+    async setPreview(data) {
         let isLeader = data.leader.some(some => some.userid == wx.getStorageSync('userMsg').userid),
             tabbarList = [{
                 icon: "icon-genjin",
                 label: "跟进"
             }];
-
+        if (!isLeader) {
+            let s = await getApp().agentOrNot("sa_project", this.data.sa_projectid);
+            isLeader = s.data == 1;
+        }
         if (this.data.isAdmin) tabbarList = [{
             icon: "icon-genjin",
             label: "报备审核"

+ 69 - 62
packageA/saleClue/detail.js

@@ -55,45 +55,10 @@ Page({
         }).then(res => {
             console.log("线索详情", res)
             if (res.msg != '成功') return wx.showToast({
-                title: res.msg,
+                title: res.data,
                 icon: "none"
             });
-
-            let isLeader = res.data.leader.some(some => some.userid == wx.getStorageSync('userMsg').userid),
-                tabbarList = [{
-                    icon: "icon-genjin",
-                    label: "跟进"
-                }];
-            if (this.data.isAdmin || isLeader) tabbarList = tabbarList.concat([{
-                icon: "icon-bianji",
-                label: "编辑"
-            }, {
-                icon: "icon-dibu-zhuanhuan",
-                label: "转化项目"
-            }, {
-                icon: "icon-dibu-zhuanhuan",
-                label: "转化客户"
-            }, {
-                icon: "icon-zhuanyi",
-                label: "更换负责人"
-            }, {
-                icon: "icon-dibu-jieshu",
-                label: "作废"
-            }]);
-            if (isLeader) {
-                let arr5 = [{
-                    icon: "icon-dibu-wuxiao",
-                    label: "无效"
-                }];
-                if (res.data.isprivate == 0) arr5.push({
-                    icon: "icon-dibu-tuihui",
-                    label: "退回"
-                });
-                tabbarList = tabbarList.concat(arr5)
-            }
             this.setData({
-                isLeader,
-                tabbarList,
                 detail: res.data,
                 briefs: [{
                         label: "联系人",
@@ -215,8 +180,7 @@ Page({
                 }, {
                     label: "转手次数",
                     value: res.data.leader[0].leadernum
-                }],
-                tabsList: this.data.tabsList,
+                }]
             });
             /* 更新列表中状态 */
             let page = getCurrentPages().find(v => v.__route__ == 'packageA/saleClue/index');
@@ -227,33 +191,76 @@ Page({
                     [`list[${index}].status`]: res.data.status
                 })
             }
-
-            if (res.data.status == '已转化') {
-                tabbarList = tabbarList.filter(item => {
-                    return item.label == '编辑' || item.label == '跟进' || item.label == '转化客户' || item.label == '转化项目'
-                })
-                if (res.data.isproject == 1) {
-                    let i = tabbarList.findIndex(item => item.label == '转化项目')
-                    tabbarList.splice(i, 1)
-                    console.log('触发项目');
-                }
-                if (res.data.iscustomer == 1) {
-                    let i = tabbarList.findIndex(item => item.label == '转化客户')
-                    tabbarList.splice(i, 1)
-                    console.log('触发客户');
-                }
-                console.log(tabbarList);
-                this.setData({
-                    tabbarList
-                })
-            }
-
-            if (res.data.status != '待跟进' && res.data.status != '跟进中' && res.data.status != '已转化') this.setData({
-                tabbarList: []
-            })
             this.getTags();
             this.getGroup();
             this.partialRenewal();
+            if (res.data.leader.some(some => some.userid == wx.getStorageSync('userMsg').userid)) {
+                this.setTabbarList(true, res)
+            } else {
+                getApp().agentOrNot("sat_orderclue", this.data.sat_orderclueid).then(({
+                    data
+                }) => this.setTabbarList(data == 1, res))
+            }
+        })
+
+    },
+
+    /**
+     * 设置tabbar选项
+     * @param {*} isLeader 是否为负责人或代理人
+     * @param {object} res 
+     */
+    setTabbarList(isLeader, res) {
+        let tabbarList = [{
+            icon: "icon-genjin",
+            label: "跟进"
+        }];
+        if (this.data.isAdmin || isLeader) tabbarList = tabbarList.concat([{
+            icon: "icon-bianji",
+            label: "编辑"
+        }, {
+            icon: "icon-dibu-zhuanhuan",
+            label: "转化项目"
+        }, {
+            icon: "icon-dibu-zhuanhuan",
+            label: "转化客户"
+        }, {
+            icon: "icon-zhuanyi",
+            label: "更换负责人"
+        }, {
+            icon: "icon-dibu-jieshu",
+            label: "作废"
+        }]);
+
+        if (isLeader) {
+            tabbarList.push({
+                icon: "icon-dibu-wuxiao",
+                label: "无效"
+            })
+            if (res.data.isprivate == 0) tabbarList.push({
+                icon: "icon-dibu-tuihui",
+                label: "退回"
+            })
+        }
+        if (res.data.status == '已转化') {
+            tabbarList = tabbarList.filter(item => {
+                return item.label == '编辑' || item.label == '跟进' || item.label == '转化客户' || item.label == '转化项目'
+            })
+            if (res.data.isproject == 1) {
+                let i = tabbarList.findIndex(item => item.label == '转化项目')
+                tabbarList.splice(i, 1)
+                console.log('触发项目');
+            }
+            if (res.data.iscustomer == 1) {
+                let i = tabbarList.findIndex(item => item.label == '转化客户')
+                tabbarList.splice(i, 1)
+                console.log('触发客户');
+            }
+        }
+        if (res.data.status != '待跟进' && res.data.status != '跟进中' && res.data.status != '已转化') tabbarList = [];
+        this.setData({
+            tabbarList,
+            isLeader
         })
     },
     //tabs 切换

+ 14 - 7
packageA/setclient/detail.js

@@ -68,7 +68,6 @@ Page({
             options: wx.getStorageSync('auth').wCustomer.options, //权限列表
         })
         this.getDetail();
-
     },
     //详情按钮回调
     tabbarOnClick({
@@ -286,7 +285,8 @@ Page({
             this.partialRenewal();
         });
     },
-    setPreview(res) {
+
+    async setPreview(res) {
         /* 摘要信息 */
         let briefs = [{
             label: "客户类型",
@@ -389,10 +389,20 @@ Page({
             label: "转手次数",
             value: res.data.leader[0] ? res.data.leader[0].leadernum : 0
         }];
+        this.setData({
+            detail: res.data,
+            briefs,
+            list1,
+            list2
+        });
         /* 底部功能 */
         let isAdmin = this.data.isAdmin,
             isLeader = res.data.leader.some(some => some.userid == wx.getStorageSync('userMsg').userid),
             tabbarList = [];
+        if (!isLeader) {
+            let s = await getApp().agentOrNot("sa_customers", this.data.sa_customersid);
+            isLeader = s.data == 1;
+        }
         //负责人或管理员基础功能
         if (isLeader || isAdmin) tabbarList = [{
             icon: "icon-bianji",
@@ -418,13 +428,10 @@ Page({
             })
         }
         this.setData({
-            detail: res.data,
-            briefs,
-            list1,
-            list2,
             tabbarList,
             isLeader
-        });
+        })
+
     },
     //tabs 切换
     tabsChange({

+ 1 - 1
packageA/setclient/detail.wxml

@@ -38,7 +38,7 @@
     <view style="height: 140rpx;" />
 </Yl_FunTabs>
 <!-- 底部 -->
-<Yl_Tabbar list='{{tabbarList}}' bind:callback="tabbarOnClick" />
+<Yl_Tabbar wx:if="{{tabbarList.length}}" list='{{tabbarList}}' bind:callback="tabbarOnClick" />
 <!-- 处理四字 -->
 <wxs module="handle">
     module.exports.getName = function (name) {

+ 1 - 2
packageA/work/detail.js

@@ -70,8 +70,7 @@ Page({
                 icon: "none"
             });
 
-            let isLeader = res.data.leader.some(v => v.userid == wx.getStorageSync('userMsg').userid),
-                isCreateby = res.data.createuserid == wx.getStorageSync('userMsg').userid,
+            let isCreateby = res.data.createuserid == wx.getStorageSync('userMsg').userid,
                 tabbarList = [{
                     icon: "icon-genjin",
                     label: "跟进"