소스 검색

参与人与代理人同权限

xiaohaizhao 2 년 전
부모
커밋
a60a43c223

+ 17 - 22
packageA/activity/detail.js

@@ -130,29 +130,24 @@ Page({
             if (appAuth.isdatatag) this.getTags();
             if (appAuth.isdatateam) this.getGroup();
             this.partialRenewal(true);
-            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.editable == 1, res.data.status)
-                    this.setData({
-                        editdataleader: data.editdataleader == 1
-                    })
-                })
-
-            }
+            this.setTabbarList()
         })
     },
-    /**
-     * 设置tabbar选项
-     * @param {*} isLeader 是否为负责人或代理人
-     * @param {string} status 市场活动状态
-     */
-    setTabbarList(isLeader, status) {
-        let tabbarList = [];
+    async setTabbarList() {
+        let tabbarList = [],
+            isLeader = this.data.detail.leader[0].userid == wx.getStorageSync('userMsg').userid,
+            status = this.data.detail.status,
+            editdataleader = isLeader ? 1 : 0;
+        if (!isLeader) {
+            let res = await getApp().agentOrNot("sat_campaign", this.data.sat_campaignid),
+                data = res.msg == '成功' ? res.data : {
+                    editable: 0,
+                    editdataleader: 0
+                }
+            isLeader = data.editable == 1;
+            if (!isLeader && this.data.appAuth.isdatateam) isLeader = this.selectComponent("#Group").data.ismyteam == 1;
+            editdataleader = data.editdataleader;
+        }
         if (isLeader || this.data.isAdmin) {
             if (status == '新建') {
                 tabbarList = [{
@@ -208,7 +203,7 @@ Page({
     },
     //更新团队成员
     getGroup() {
-        this.selectComponent("#Group").getList();
+        this.selectComponent("#Group").getList().then(this.setTabbarList)
     },
     //局部数据更新 tabs
     partialRenewal(init = false) {

+ 21 - 9
packageA/contacts/detail.js

@@ -79,7 +79,7 @@ Page({
             if (this.data.auth.isdatatag) this.getTags()
             if (this.data.auth.isdatateam) this.getGroup()
             this.setPreview(res.data);
-            this.setTabbar(res.data.leaderid == wx.getStorageSync('userMsg').userid)
+            this.setTabbarList()
         })
     },
     //详情按钮回调
@@ -169,16 +169,29 @@ Page({
         })
     },
     /* 设置tabbar */
-    async setTabbar(isLeader) {
-        let tabbarList = [{
-            icon: "icon-guanlian-bodadianhua",
-            label: "呼叫"
-        }];
+    async setTabbarList() {
+        let detail = this.data.detail,
+            isLeader = detail.leaderid == wx.getStorageSync('userMsg').userid,
+            tabbarList = [{
+                icon: "icon-guanlian-bodadianhua",
+                label: "呼叫"
+            }],
+            editdataleader = isLeader;
+        if (!isLeader) {
+            let res = await getApp().agentOrNot(this.data.ownertable, this.data.ownerid),
+                data = res.msg == '成功' ? res.data : {
+                    editable: 0,
+                    editdataleader: 0
+                }
+            isLeader = data.editable == 1;
+            if (!isLeader && this.data.appAuth.isdatateam) isLeader = this.selectComponent("#Group").data.ismyteam == 1;
+            editdataleader = data.editdataleader;
+        }
         if (this.data.auth.isdatafollowup) tabbarList.unshift({
             icon: "icon-genjin",
             label: "跟进"
         })
-        if (isLeader) tabbarList.push({
+        if (editdataleader) tabbarList.push({
             icon: "icon-zhuanyi",
             label: "更换负责人"
         })
@@ -272,9 +285,8 @@ Page({
     getTags() {
         this.selectComponent("#Tags").getTags();
     },
-    //更新团队成员
     getGroup() {
-        this.selectComponent("#Group").getList();
+        this.selectComponent("#Group").getList().then(this.setTabbarList)
     },
     //tabs 切换
     tabsChange({

+ 15 - 11
packageA/contract/detail.js

@@ -48,7 +48,6 @@ Page({
                 tabsActive = 0;
             if (this.data.appAuth.isdatatag) this.getTags();
             if (this.data.appAuth.isdatateam) this.getGroup();
-            this.setTabbar(data.status, res.data.leader.some(some => some.userid == wx.getStorageSync('userMsg').userid));
             switch (data.type) {
                 case "框架":
                     data.type = '经销商合作协议'
@@ -119,13 +118,11 @@ Page({
                 icon: "icon-tabrenwu",
                 model: "#Work"
             })
-
             tabsList.push({
                 label: "操作记录",
                 icon: "icon-tabcaozuojilu1",
                 model: "#Record"
             })
-
             this.setData({
                 detail: data,
                 loading: false,
@@ -163,26 +160,33 @@ Page({
                 tabsList,
                 tabsActive,
             });
+            this.setTabbarList();
             this.setDetail(data);
             this.partialRenewal();
         })
     },
     /* 设置tabbar */
-    async setTabbar(status, Leader) {
-        let isLeader = Leader,
+    async setTabbarList() {
+        let detail = this.data.detail,
+            status = detail.status,
+            isLeader = detail.leader.some(some => some.userid == wx.getStorageSync('userMsg').userid),
             isAdmin = this.data.isAdmin,
-            editdataleader = true,
+            editdataleader = isLeader,
             tabbarList = [];
         if (this.data.appAuth.isdatafollowup) tabbarList.push({
             icon: "icon-genjin",
             label: "跟进"
         })
         if (!isLeader) {
-            let s = await getApp().agentOrNot("sa_contract", this.data.sa_contractid);
-            isLeader = s.data.editable == 1;
-            editdataleader = s.data.editdataleader == 1;
+            let res = await getApp().agentOrNot("sa_contract", this.data.sa_contractid),
+                data = res.msg == '成功' ? res.data : {
+                    editable: 0,
+                    editdataleader: 0
+                }
+            isLeader = data.editable == 1;
+            if (!isLeader && this.data.appAuth.isdatateam) isLeader = this.selectComponent("#Group").data.ismyteam == 1;
+            editdataleader = data.editdataleader;
         }
-
         if (isAdmin) {
             if (status == '已提交') tabbarList.unshift({
                 icon: "icon-genjin",
@@ -511,7 +515,7 @@ Page({
     },
     //更新团队成员
     getGroup() {
-        this.selectComponent("#Group").getList();
+        this.selectComponent("#Group").getList().then(this.setTabbarList)
     },
     //局部数据更新 tabs
     partialRenewal(init = false) {

+ 7 - 3
packageA/finishforecast/detail.js

@@ -38,7 +38,7 @@ Page({
             _Http.basic({
                 "id": 20230620102004,
                 "content": {
-                    unLeave:1
+                    unLeave: 1
                 }
             }).then(res => {
                 console.log("获取下级部门和下级人员", res)
@@ -209,7 +209,7 @@ Page({
             if (!this.data.isLeader) getApp().agentOrNot("sa_salesforecastbill", this.data.sa_salesforecastbillid).then(s => {
                 console.log("代理人数据", s)
                 this.setData({
-                    isLeader: s.data.editable == 1
+                    isLeader: s.data.editable == 1 || this.selectComponent("#Group").data.ismyteam == 1
                 })
             })
             if (this.data.admin) this.getRests();
@@ -374,7 +374,11 @@ Page({
     },
     //更新团队成员
     getGroup() {
-        this.selectComponent("#Group").getList();
+        this.selectComponent("#Group").getList().then(res => {
+            this.setData({
+                isLeader: this.selectComponent("#Group").data.ismyteam == 1
+            })
+        });
     },
     onUnload() {
         let page = getCurrentPages()[getCurrentPages().length - 2];

+ 1 - 1
packageA/finishforecast/detail.wxml

@@ -13,7 +13,7 @@
         <view class="row">部门:{{detail.depname||' --'}}</view>
         <view class="row">预测时间:{{detail.periodstart}} 至 {{detail.periodend}}</view>
         <view class="row">预测金额:<text style="color: #F60909;">{{detail.projectamount}}</text></view>
-        <view class="row">状态:<text style="color:{{backColor.getColor(detail.status)}};">{{detail.status}}</text></view>
+        <view class="row" style="margin-bottom: 8rpx;">状态:<text style="color:{{backColor.getColor(detail.status)}};">{{detail.status}}</text></view>
         <Yl-group wx:if="{{isdatateam}}" add id='Group' ownertable='sa_salesforecastbill' ownerid='{{sa_salesforecastbillid}}' />
     </view>
     <view style="height: 20rpx;" />

+ 6 - 2
packageA/invoiceforecast/detail.js

@@ -213,7 +213,7 @@ Page({
             if (!this.data.isLeader) getApp().agentOrNot("sa_salesforecastbill", this.data.sa_salesforecastbillid).then(s => {
                 console.log("代理人数据", s)
                 this.setData({
-                    isLeader: s.data.editable == 1
+                    isLeader: s.data.editable == 1 || this.selectComponent("#Group").data.ismyteam == 1
                 })
             })
             if (this.data.admin) this.getRests();
@@ -234,7 +234,11 @@ Page({
     },
     //更新团队成员
     getGroup() {
-        this.selectComponent("#Group").getList();
+        this.selectComponent("#Group").getList().then(res => {
+            this.setData({
+                isLeader: this.selectComponent("#Group").data.ismyteam == 1
+            })
+        });
     },
     //局部数据更新 tabs
     partialRenewal(init = false) {

+ 20 - 8
packageA/offers/detail.js

@@ -77,11 +77,11 @@ Page({
                 icon: "none"
             });
             this.setPreview(res);
-            this.setTabbar(res.data.status, res.data.leader.length ? res.data.leader[0].userid == wx.getStorageSync('userMsg').userid : false, res.data.specialoffer == 1);
             this.setData({
                 loading: false,
                 detail: res.data,
             })
+            this.setTabbarList();
             /* 更新列表数据 */
             let page = getCurrentPages().find(v => v.__route__ == 'packageA/offers/index');
             if (page) {
@@ -215,20 +215,32 @@ Page({
         })
     },
     /* 设置底部功能 */
-    async setTabbar(status, Leader, specialoffer) {
-        let isLeader = Leader,
+    async setTabbarList() {
+        let detail = this.data.detail,
+            status = detail.status,
+            isLeader = detail.leader[0].userid == wx.getStorageSync('userMsg').userid,
             isAdmin = this.data.isAdmin,
-            editdataleader = true,
+            specialoffer = detail.specialoffer == 1,
+            editdataleader = isLeader,
             tabbarList = [];
+
+
         if (this.data.appAuth.isdatafollowup) tabbarList.push({
             icon: "icon-genjin",
             label: "跟进"
         })
+
         if (!isLeader) {
-            let s = await getApp().agentOrNot("sa_quotedprice", this.data.sa_quotedpriceid);
-            isLeader = s.data.editable == 1;
-            editdataleader = s.data.editdataleader == 1;
+            let res = await getApp().agentOrNot("sa_quotedprice", this.data.sa_quotedpriceid),
+                data = res.msg == '成功' ? res.data : {
+                    editable: 0,
+                    editdataleader: 0
+                }
+            isLeader = data.editable == 1;
+            if (!isLeader && this.data.appAuth.isdatateam) isLeader = this.selectComponent("#Group").data.ismyteam == 1;
+            editdataleader = data.editdataleader;
         }
+
         if (isLeader || isAdmin) {
             //负责人/管理员默认权限功能
             tabbarList.push({
@@ -319,7 +331,7 @@ Page({
     },
     //更新团队成员
     getGroup() {
-        this.selectComponent("#Group").getList();
+        this.selectComponent("#Group").getList().then(this.setTabbarList)
     },
     //局部数据更新 tabs
     partialRenewal(init = false) {

+ 16 - 10
packageA/project/detail.js

@@ -102,7 +102,6 @@ Page({
                 icon: "none"
             });
             this.setPreview(res.data);
-            this.setTabbar(res.data.status, res.data.leader.some(some => some.userid == wx.getStorageSync('userMsg').userid));
             this.setData({
                 loading: false,
                 detail: res.data,
@@ -112,6 +111,7 @@ Page({
                 if (this.data.appAuth.isdatateam) this.getGroup();
                 this.selectComponent("#TaskTabs").getList();
             }
+            this.setTabbarList();
             this.partialRenewal(init);
         })
     },
@@ -249,12 +249,14 @@ Page({
         })
     },
     /* 设置tabbar */
-    async setTabbar(status, Leader) {
-        let isLeader = Leader,
+    async setTabbarList() {
+        let detail = this.data.detail,
+            status = detail.status,
+            isLeader = detail.leader.some(some => some.userid == wx.getStorageSync('userMsg').userid),
             isAdmin = this.data.isAdmin,
-            editdataleader = true,
+            editdataleader = isLeader,
             tabbarList = [];
-
+            
         if (this.data.appAuth.isdatafollowup) tabbarList.push({
             icon: "icon-genjin",
             label: "跟进"
@@ -264,9 +266,14 @@ Page({
             label: "审核授权"
         })
         if (!isLeader) {
-            let s = await getApp().agentOrNot("sa_project", this.data.sa_projectid);
-            isLeader = s.data.editable == 1;
-            editdataleader = s.data.editdataleader == 1;
+            let res = await getApp().agentOrNot("sa_project", this.data.sa_projectid),
+                data = res.msg == '成功' ? res.data : {
+                    editable: 0,
+                    editdataleader: 0
+                }
+            isLeader = data.editable == 1;
+            if (!isLeader && this.data.appAuth.isdatateam) isLeader = this.selectComponent("#Group").data.ismyteam == 1;
+            editdataleader = data.editdataleader;
         }
         if (isAdmin) tabbarList = [{
             icon: "icon-baobeishenhe",
@@ -323,7 +330,6 @@ Page({
         this.setData({
             isLeader,
             tabbarList,
-            editdataleader,
             disabled: status != '已失败' && status != '已结案'
         });
     },
@@ -703,7 +709,7 @@ Page({
     },
     //更新团队成员
     getGroup() {
-        this.selectComponent("#Group").getList();
+        this.selectComponent("#Group").getList().then(this.setTabbarList)
     },
     /* tag更新列表 */
     onGetList({

+ 24 - 27
packageA/saleClue/detail.js

@@ -221,35 +221,34 @@ Page({
             let page = getCurrentPages().find(v => v.__route__ == 'packageA/saleClue/index');
             if (page) {
                 let index = page.data.list.findIndex(v => v.sat_orderclueid == res.data.sat_orderclueid);
-                console.log("列表中位置", index)
                 if (index != -1) page.setData({
                     [`list[${index}].status`]: res.data.status
                 })
             }
             if (this.data.appAuth.isdatatag) this.getTags();
             if (this.data.appAuth.isdatateam) this.getGroup();
+            this.setTabbarList()
             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.editable == 1, res, data.editdataleader == 1))
-            }
         })
-
     },
-
-    /**
-     * 设置tabbar选项
-     * @param {*} isLeader 是否为负责人或代理人
-     * @param {object} res 
-     */
-    setTabbarList(isLeader, res, editdataleader = true) {
+    async setTabbarList() {
         let tabbarList = [{
-            icon: "icon-genjin",
-            label: "跟进"
-        }];
+                icon: "icon-genjin",
+                label: "跟进"
+            }],
+            detail = this.data.detail,
+            isLeader = detail.leader.some(v => v.userid == wx.getStorageSync('userMsg').userid),
+            editdataleader = isLeader ? 1 : 0;
+        if (!isLeader) {
+            let res = await getApp().agentOrNot("sat_orderclue", this.data.sat_orderclueid),
+                data = res.msg == '成功' ? res.data : {
+                    editable: 0,
+                    editdataleader: 0
+                }
+            isLeader = data.editable == 1;
+            if (!isLeader && this.data.appAuth.isdatateam) isLeader = this.selectComponent("#Group").data.ismyteam == 1;
+            editdataleader = data.editdataleader;
+        }
         if (wx.getStorageSync('auth').worderclue.options.some(v => v == "shiftSite")) {
             tabbarList.push({
                 icon: "icon-CRM",
@@ -278,17 +277,17 @@ Page({
                 icon: "icon-dibu-wuxiao",
                 label: "无效"
             })
-            if (res.data.isprivate == 0) tabbarList.push({
+            if (detail.isprivate == 0) tabbarList.push({
                 icon: "icon-dibu-tuihui",
                 label: "退回"
             })
         }
-        if (res.data.status == '已转化') tabbarList = tabbarList.filter(item => {
+        if (detail.status == '已转化') tabbarList = tabbarList.filter(item => {
             return item.label == '编辑' || item.label == '跟进' || item.label == '转化客户' || item.label == '转化项目'
         })
-        if (this.data.detail.isproject) tabbarList = tabbarList.filter(v => v.label != '转化项目')
-        if (this.data.detail.iscustomer) tabbarList = tabbarList.filter(v => v.label != '转化客户')
-        if (res.data.status != '待跟进' && res.data.status != '跟进中' && res.data.status != '已转化') tabbarList = [];
+        if (detail.isproject) tabbarList = tabbarList.filter(v => v.label != '转化项目')
+        if (detail.iscustomer) tabbarList = tabbarList.filter(v => v.label != '转化客户')
+        if (detail.status != '待跟进' && detail.status != '跟进中' && detail.status != '已转化') tabbarList = [];
         tabbarList.push({
             icon: "icon-dibu-jieshu",
             label: "作废"
@@ -296,7 +295,6 @@ Page({
         this.setData({
             tabbarList,
             isLeader,
-            editdataleader,
             isFollow: tabbarList.some(v => v.label == '跟进')
         })
     },
@@ -309,13 +307,12 @@ Page({
         });
         this.partialRenewal();
     },
-    //更新标签
     getTags() {
         this.selectComponent("#Tags").getTags();
     },
     //更新团队成员
     getGroup() {
-        this.selectComponent("#Group").getList();
+        this.selectComponent("#Group").getList().then(this.setTabbarList)
     },
     //局部数据更新 tabs
     partialRenewal(init = false) {

+ 20 - 12
packageA/setclient/detail.js

@@ -336,7 +336,6 @@ Page({
                 icon: "none"
             })
             this.setPreview(res);
-            this.setTabbar(res, res.data.leader.some(some => some.userid == wx.getStorageSync('userMsg').userid));
             this.setData({
                 loading: false,
                 detail: res.data,
@@ -344,24 +343,34 @@ Page({
             //获取标签
             if (this.data.appAuth.isdatatag) this.getTags();
             if (this.data.appAuth.isdatateam) this.getGroup()
+            this.setTabbar();
             this.partialRenewal();
         });
     },
-    async setTabbar(res, Leader) {
+    async setTabbar() {
         /* 底部功能 */
-        let isAdmin = this.data.isAdmin,
-            isLeader = Leader,
-            editdataleader = true,
+        let detail = this.data.detail,
+            isAdmin = this.data.isAdmin,
+            isLeader = detail.leader.some(some => some.userid == wx.getStorageSync('userMsg').userid),
+            editdataleader = isLeader ? 1 : 0,
             tabbarList = [];
+
         if (this.data.appAuth.isdatafollowup) tabbarList.push({
             icon: "icon-genjin",
             label: "跟进"
         });
+
         if (!isLeader) {
-            let s = await getApp().agentOrNot("sa_customers", this.data.sa_customersid);
-            isLeader = s.data.editable == 1;
-            editdataleader = s.data.editdataleader == 1;
+            let res = await getApp().agentOrNot("sa_customers", this.data.sa_customersid),
+                data = res.msg == '成功' ? res.data : {
+                    editable: 0,
+                    editdataleader: 0
+                }
+            isLeader = data.editable == 1;
+            if (!isLeader && this.data.appAuth.isdatateam) isLeader = this.selectComponent("#Group").data.ismyteam == 1;
+            editdataleader = data.editdataleader;
         }
+
         //负责人或管理员基础功能
         if (isLeader || isAdmin) {
             tabbarList.push({
@@ -382,7 +391,7 @@ Page({
             })
         }
         //来自公海
-        if (res.data.ispublic == 1) {
+        if (detail.ispublic == 1) {
             //查询到回收公海客户权限
             if (this.data.options.some(v => v == 'recycle')) tabbarList.push({
                 icon: "icon-dibu-chehui",
@@ -400,8 +409,7 @@ Page({
         });
         this.setData({
             tabbarList,
-            isLeader,
-            editdataleader
+            isLeader
         })
     },
     setPreview(res) {
@@ -549,7 +557,7 @@ Page({
     },
     //更新团队成员
     getGroup() {
-        this.selectComponent("#Group").getList();
+        this.selectComponent("#Group").getList().then(this.setTabbarList)
     },
     onReachBottom() {
         this.partialRenewal();

+ 3 - 0
pages/group/modules/Yl-group/index.js

@@ -13,6 +13,7 @@ Component({
     },
     data: {
         list: [],
+        ismyteam: 0,
     },
     options: {
         addGlobalClass: true
@@ -43,7 +44,9 @@ Component({
                     }
                     list = newArr(list).slice(0, 5);
                     resolve(list)
+                    console.log("是否在数据团队中", res.data[0].ismyteam == 1)
                     this.setData({
+                        ismyteam: res.data[0].ismyteam,
                         list
                     })
                 });