From afdda50cc54231b4fa788041adadb49cc239da23 Mon Sep 17 00:00:00 2001
From: 闫增涛 <1829501689@qq.com>
Date: 星期二, 31 十二月 2024 16:11:41 +0800
Subject: [PATCH] Merge refs/remotes/origin/master into refs/heads/master

---
 packageCourse/components/studentManage/index.js |  107 +++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 99 insertions(+), 8 deletions(-)

diff --git a/packageCourse/components/studentManage/index.js b/packageCourse/components/studentManage/index.js
index 519a3c3..51fc396 100644
--- a/packageCourse/components/studentManage/index.js
+++ b/packageCourse/components/studentManage/index.js
@@ -34,6 +34,8 @@
       name: '鍔╂暀',
       value: 'Teacher'
     }],
+    isAll: false,
+    isEnbled: false,
     // 鍔犺浇鍙傛暟
     bottomLoading: false,
     isMoreData: false,
@@ -50,6 +52,88 @@
    * 缁勪欢鐨勬柟娉曞垪琛�
    */
   methods: {
+    // 閫夋嫨瀛︾敓
+    selectUser(e) {
+      const {
+        index
+      } = e.currentTarget.dataset
+      let bool = false;
+      let allBool = false;
+      const data = this.data.userList;
+      data[index].isCheck = !data[index].isCheck;
+      const list = data.filter(item => item.isCheck);
+      if (list.length === this.data.userList.length - 1) {
+        allBool = true
+      }
+      if (list.length > 1) {
+        bool = true
+      }
+      this.setData({
+        userList: data,
+        isEnbled: bool,
+        isAll: allBool
+      })
+    },
+
+    // 鍏ㄩ��
+    selectAll(e) {
+      const data = this.data.userList;
+      data.forEach(item => {
+        item.isCheck = e.detail.checked
+      })
+      this.setData({
+        userList: data,
+        isAll: e.detail.checked,
+        isEnbled: e.detail.checked,
+      })
+    },
+
+    // 鎵归噺閫氳繃
+    updateStateNormalDatas() {
+      const dataUser = this.data.userList.filter((item) => item.isCheck = true)
+      const data = {
+        groupId: this.properties.classId,
+        requests: dataUser.map((item) => {
+          return {
+            linkId: item.linkId,
+            linkType: item.linkType,
+            state: 'Normal',
+            groupState: 'Normal'
+          }
+        })
+      }
+      app.MG.identity.updateAppUserGroupLink(data).then((res) => {
+        if (res) {
+          getStudentList()
+        }
+      })
+    },
+
+    // 鎵归噺绉婚櫎瀛︾敓
+    removeStudentDatas() {
+      wx.showModal({
+        title: '鎻愮ず',
+        content: '鏄惁鎵归噺绉婚櫎閫変腑鎴愬憳?',
+        complete: (res) => {
+          if (res.cancel) {
+            return
+          }
+          if (res.confirm) {
+            const dataUser = this.data.userList.filter((item) => item.isCheck = true)
+            const data = {
+              groupId: this.properties.classId,
+              appUserIds: dataUser.map((item) => item.appUser.id)
+            }
+            app.MG.identity.removeAppUserFromGroup(data).then((res) => {
+              if (res) {
+                this.getStudentList()
+              }
+            })
+          }
+        }
+      })
+    },
+
     // 鑾峰彇瀛︾敓鍒楄〃
     getStudentList(isReachBottom) {
       const data = {
@@ -70,12 +154,18 @@
         if (datas.length > 0) {
           let list = datas.map((item, index) => {
             if (item.linkType == 'Creator') {
-              const userInfo = item.appUser?.infoList?.find((citem) => citem.type == 'teacherInfo')
-              item.appUser.name = userInfo.name
-              item.appUser.icon = userInfo.icon
-              if (userInfo?.data) {
-                const iconData = JSON.parse(userInfo.data)
-                item.appUser.icon = getPublicImage(iconData?.relevantCertificates[0]?.md5, 100) ?? ''
+              const wechatData = item.appUser?.infoList?.find((citem) => citem.type == 'WeChat')
+              const defaultData = item.appUser?.infoList?.find((citem) => citem.type == 'teacherInfo')
+              let userInfo = defaultData;
+              if (wechatData?.name) {
+                userInfo = wechatData;
+                item.appUser.name = userInfo.name
+                item.appUser.icon = userInfo.icon
+              } else {
+                if (userInfo?.data) {
+                  const iconData = JSON.parse(userInfo.data)
+                  item.appUser.icon = getPublicImage(iconData?.relevantCertificates[0]?.md5, 100) ?? ''
+                }
               }
             }
             if (item.linkType == 'RefCode' || item.linkType == 'Teacher') {
@@ -92,7 +182,8 @@
             return {
               ...item,
               index: index + 1,
-              createDate: moment(item.createDate).format('YYYY-MM-DD')
+              createDate: moment(item.createDate).format('YYYY-MM-DD'),
+              isCheck: false
             }
           })
           //瑙﹀簳鍔犺浇鏂版暟鎹苟淇濈暀鑰佹暟鎹�
@@ -101,7 +192,7 @@
           }
           this.setData({
             userList: list,
-            total: res.totalSize,
+            total: totalSize,
             skeletonLoding: false,
             bottomLoading: false
           })

--
Gitblit v1.9.1