zhaoxiaohai 2 gadi atpakaļ
vecāks
revīzija
71fad14139

+ 45 - 25
packageA/group/index.js

@@ -6,7 +6,51 @@ Page({
         copyTeams: [], //用来本地搜索
         keyword: "", //搜索关键字
         activeNames: ["1"],
+        userid: wx.getStorageSync('userMsg').userid
     },
+    onLoad(options) {
+        if (options.item) {
+            this.setData({
+                ...JSON.parse(options.item)
+            });
+            this.getList()
+        };
+    },
+    onInput(e) {
+        let {
+            value
+        } = e.detail;
+        let index = this.data.teams.findIndex(v => v.ismyteam == 1);
+        let copyTeams = JSON.parse(JSON.stringify(this.data.copyTeams[0]));
+        this.setData({
+            keyword: value,
+            [`teams[${index}].team`]: value ? copyTeams.filter(v => v.name.includes(value) || v.position.includes(value)) : copyTeams
+        });
+    },
+    cancelTheSearch() {
+        let index = this.data.teams.findIndex(v => v.ismyteam == 1);
+        let copyTeams = JSON.parse(JSON.stringify(this.data.copyTeams[0]));
+        this.setData({
+            keyword: "",
+            [`teams[${index}].team`]: copyTeams
+        });
+    },
+    onChange(event) {
+        this.setData({
+            activeNames: event.detail,
+        });
+    },
+    toAdd() {
+        wx.navigateTo({
+            url: `/packageA/group/select?data=${
+              JSON.stringify({
+                ownertable:this.data.ownertable,
+                ownerid:this.data.ownerid
+              })
+          }`,
+        })
+    },
+    /* 处理添加 */
     handelSubmit(userids) {
         const that = this;
         wx.showModal({
@@ -45,36 +89,12 @@ Page({
             }
         })
     },
-    onLoad(options) {
-        if (options.item) {
-            this.setData({
-                ...JSON.parse(options.item)
-            });
-            this.getList()
-        }
-    },
-    onChange(event) {
-        this.setData({
-            activeNames: event.detail,
-        });
-    },
-
-    toAdd() {
-        wx.navigateTo({
-            url: `/packageA/group/select?data=${
-              JSON.stringify({
-                ownertable:this.data.ownertable,
-                ownerid:this.data.ownerid
-              })
-          }`,
-        })
-    },
-
     //获取列表
     getList() {
         _Http.basic({
             "id": 20220930103501,
             "content": {
+                nocache: true,
                 "ownertable": this.data.ownertable,
                 "ownerid": this.data.ownerid
             }

+ 1 - 1
packageA/group/index.scss

@@ -7,9 +7,9 @@
     box-sizing: border-box;
 
     .search {
+        flex: 1;
         display: flex;
         align-items: center;
-        width: 600rpx;
         height: 58rpx;
         background: #FFFFFF;
         border-radius: 29rpx;

+ 8 - 4
packageA/group/index.wxml

@@ -1,15 +1,19 @@
 <van-collapse value="{{ activeNames }}" bind:change="onChange">
     <van-collapse-item content-class='content-class' title="{{item.teamleader[0].name+'的团队 ('+item.team.length+')'}}" name="1" wx:for="{{teams}}" wx:key="index">
-        <view class="head">
+        <view class="head" wx:if="{{item.ismyteam==1}}">
             <view class="search">
                 <van-icon name="search" />
                 <input type="text" placeholder="搜索关键字" bindinput='onInput' value="{{keyword}}" />
-                <van-icon name="close" bindtap="cancelTheSearch" />
+                <van-icon wx:if="{{keyword}}" name="close" bindtap="cancelTheSearch" />
             </view>
-            <navigator url="#" class="add" bindtap="toAdd">
+            <navigator url="#" class="add" bindtap="toAdd" wx:if="{{userid == item.teamleader[0].userid}}">
                 <van-icon name="plus" />
             </navigator>
         </view>
-        <List list='{{item.team}}' />
+        <List id='List' list='{{item.team}}' ownertable='{{ownertable}}' ownerid='{{ownerid}}' teamleaderId='{{item.teamleader[0].userid}}' />
+        <block wx:if="{{item.team.length==0}}">
+            <My_empty />
+            <view style="height: 30rpx;" />
+        </block>
     </van-collapse-item>
 </van-collapse>

+ 63 - 4
packageA/group/modules/list/index.js

@@ -1,13 +1,16 @@
 const _Http = getApp().globalData.http;
 Component({
     properties: {
-        list: Array
+        list: Array,
+        ownertable: String,
+        ownerid: Number,
+        teamleaderId: String
     },
     options: {
         addGlobalClass: true
     },
     data: {
-
+        userid: wx.getStorageSync('userMsg').userid
     },
     methods: {
         /* 处理删除 */
@@ -15,7 +18,6 @@ Component({
             const {
                 item
             } = e.currentTarget.dataset;
-            console.log(item)
             wx.showModal({
                 title: '提示',
                 content: `是否确认移除${item.name}?`,
@@ -24,11 +26,68 @@ Component({
                 }) => {
                     if (confirm) {
                         wx.showToast({
-                          title: '移除成功!',
+                            title: '移除成功!',
                         })
                     }
                 }
             })
         },
+        /* 更换负责人 */
+        changeUser() {
+            wx.navigateTo({
+                url: `/packageA/group/select?data=${JSON.stringify({
+                     ownertable:this.data.ownertable,
+                     ownerid:this.data.ownerid,
+                })}&radio=true&model=List&principal=true`,
+            })
+        },
+        /* 更换负责人 */
+        handelSubmit(arr) {
+            const that = this;
+            wx.showModal({
+                title: '提示',
+                content: '是否确认更换负责人',
+                complete: ({
+                    confirm
+                }) => {
+                    if (confirm) _Http.basic({
+                        "id": 20220930103701,
+                        "content": {
+                            ownertable: that.data.ownertable,
+                            ownerid: that.data.ownerid,
+                            userid: arr[0]
+                        }
+                    }).then(res => {
+                        console.log("更换负责人", res)
+                        if (res.msg != '成功') return wx.showToast({
+                            title: res.data,
+                            icon: "none"
+                        });
+                        wx.showToast({
+                            title: '更换成功!',
+                            icon: "none"
+                        });
+                        setTimeout(() => {
+                            getCurrentPages().forEach(v => {
+                                switch (v.__route__) {
+                                    case 'packageA/setclient/index':
+                                        v.getList(true)
+                                        break;
+                                    case 'packageA/setclient/detail':
+                                        v.getDetail()
+                                        break;
+                                    case 'packageA/group/index':
+                                        v.getList(true)
+                                        break;
+                                    default:
+                                        break;
+                                }
+                            })
+                            wx.navigateBack();
+                        }, 300)
+                    })
+                }
+            })
+        },
     }
 })

+ 4 - 5
packageA/group/modules/list/index.wxml

@@ -14,9 +14,8 @@
                 职位:{{item.position}}
             </view>
         </view>
-        <view class="delete-box" bindtap="handleDelete" data-item="{{item}}">
-            <text class="iconfont icon-shanchu" />
-        </view>
+        <navigator wx:if="{{teamleaderId == userid}}" url='#' class="delete-box" data-item="{{item}}" bindtap="{{item.userid!=teamleaderId?'handleDelete':'changeUser'}}">
+            <text class="iconfont {{item.userid!=teamleaderId?'icon-shanchu':'icon-bianji1'}}" />
+        </navigator>
     </view>
-</navigator>
-<My_empty wx:if="{{list.length==0}}" />
+</navigator>

+ 50 - 12
packageA/group/select.js

@@ -4,7 +4,10 @@ Page({
     data: {
         radio: false, //是否为单选
         obj: false, //是否返回数组对象
+        model: "", //提交上一级组件中的事件
+        principal: false, //是否为更换负责人
         content: {
+            nocache: true,
             ownertable: null,
             ownerid: null,
             pageSize: 20,
@@ -26,6 +29,19 @@ Page({
         if (options.obj) this.setData({
             obj: true
         });
+        //调用上一级组件中的提交事件
+        if (options.model) this.setData({
+            model: options.model
+        });
+        //是否为更换负责人
+        if (options.principal) {
+            this.setData({
+                principal: true
+            })
+            wx.setNavigationBarTitle({
+                title: '更换负责人'
+            })
+        }
         if (options.data) {
             let {
                 ownertable,
@@ -48,8 +64,12 @@ Page({
         let result = this.data.result;
         if (result.length == 0) return;
         let pages = getCurrentPages();
-        let list = this.data.obj ? result.map(id => this.data.list.find(v => v.userid == id)) : result
-        pages[pages.length - 2].handelSubmit(list);
+        let list = this.data.obj ? result.map(id => this.data.list.find(v => v.userid == id)) : result;
+        if (this.data.model) {
+            pages[pages.length - 2].selectComponent("#" + this.data.model).handelSubmit(list);
+        } else {
+            pages[pages.length - 2].handelSubmit(list);
+        }
     },
     /* 选中 */
     onChange(e) {
@@ -79,17 +99,35 @@ Page({
             content.pageNumber = 1
         }
         if (content.pageNumber > content.pageTotal) return;
-        _Http.basic({
-            "id": 20221018122201,
-            content
-        }).then(res => {
-            console.log("数据团队列表", res)
-            this.setData({
-                list: res.pageNumber == 1 ? res.data : this.data.list.concat(res.data),
-                "content.pageTotal": res.pageTotal,
-                "content.pageNumber": res.pageNumber + 1,
+        if (this.data.principal) {
+
+            _Http.basic({
+                "id": 20220930103501,
+                content
+            }).then(res => {
+                console.log("团队成员列表", res)
+                if (res.msg != '成功') return wx.showToast({
+                    title: res.data,
+                    icon: "none"
+                })
+                let data = res.data.find(v => v.ismyteam == 1);
+                this.setData({
+                    list: data.team.filter(v => v.userid != data.teamleader[0].userid)
+                })
             })
-        })
+        } else {
+            _Http.basic({
+                "id": 20221018122201,
+                content
+            }).then(res => {
+                console.log("数据团队列表", res)
+                this.setData({
+                    list: res.pageNumber == 1 ? res.data : this.data.list.concat(res.data),
+                    "content.pageTotal": res.pageTotal,
+                    "content.pageNumber": res.pageNumber + 1,
+                })
+            })
+        }
     },
     onReachBottom() {
         this.getList();

+ 6 - 2
packageA/group/select.wxml

@@ -1,5 +1,8 @@
-<van-search value="{{ value }}" shape="round" background="#fff" placeholder="搜索姓名、手机号" bind:change='onInput' />
-<view style="height: 20rpx;" />
+<block wx:if="{{!principal}}">
+    <van-search value="{{ value }}" shape="round" background="#fff" placeholder="搜索姓名、手机号" bind:change='onInput' />
+    <view style="height: 20rpx;" />
+</block>
+
 <van-checkbox-group value="{{ result }}">
     <view class="box">
         <navigator url="#" class="item" wx:for="{{list}}" wx:key="item.userid" data-item="{{item}}" bindtap="onChange">
@@ -22,6 +25,7 @@
         </navigator>
     </view>
 </van-checkbox-group>
+<My_empty wx:if="{{list.length==0}}" />
 <view style="height: 130rpx;" />
 <view class="footer">
     <view class="count">