From 69b3b282b6398b22d65601a4d9dc94bdde557f31 Mon Sep 17 00:00:00 2001
From: QYF-GitLab1 <1940665526@qq.com>
Date: 星期五, 20 十二月 2024 11:10:40 +0800
Subject: [PATCH] ····

---
 packageCourse/pages/teachClass/index.wxml         |    4 +-
 packageCourse/pages/course/index.js               |   13 ++++++
 packageCourse/pages/course/index.json             |    3 +
 packageCourse/components/teaching/index.js        |   43 +++++++++++++++------
 packageCourse/pages/course/index.wxss             |   17 +++++++-
 packageCourse/pages/course/index.wxml             |   13 ++++++
 packageCourse/pages/teachClass/detail/index.js    |    2 
 packageCourse/components/studentManage/index.wxss |   10 ++++-
 8 files changed, 82 insertions(+), 23 deletions(-)

diff --git a/packageCourse/components/studentManage/index.wxss b/packageCourse/components/studentManage/index.wxss
index 33a1628..4d35761 100644
--- a/packageCourse/components/studentManage/index.wxss
+++ b/packageCourse/components/studentManage/index.wxss
@@ -86,6 +86,7 @@
   width: 85vw;
   height: 180px;
   border-radius: 10rpx;
+  position: relative;
 }
 
 .block-select-title {
@@ -99,7 +100,7 @@
   display: flex;
   justify-content: flex-start;
   align-items: center;
-  padding: 70rpx 20rpx;
+  padding: 50rpx 20rpx;
   box-sizing: border-box;
 }
 
@@ -111,7 +112,12 @@
   display: flex;
   justify-content: flex-end;
   align-items: center;
-  padding: 0 20rpx;
+  min-height: 120rpx;
+  padding: 0rpx 20rpx;
+  box-sizing: border-box;
+  position: absolute;
+  bottom: 0;
+  right: 0;
 }
 
 
diff --git a/packageCourse/components/teaching/index.js b/packageCourse/components/teaching/index.js
index 876032f..af77c75 100644
--- a/packageCourse/components/teaching/index.js
+++ b/packageCourse/components/teaching/index.js
@@ -214,7 +214,6 @@
     },
     // 澶勭悊鏁版嵁缁撴瀯
     chageData(arr, zrr) {
-      let newData = []
       // 棰樺簱棰樼洰绫诲瀷
       const questionTypeList = [{
           name: '鍗曢�夐',
@@ -259,22 +258,30 @@
       ]
       for (let i = 0; i < arr.length; i++) {
         const item = arr[i]
-        item.questionTypeList = questionTypeList
-        for (let j = 0; j < zrr.length; j++) {
-          const ele = zrr[j]
-          const qusObj = item.question.find((citem) => citem.cmsItemId == ele.id)
-          if (qusObj?.cmsItemId) {
-            ele.userAnswer = qusObj.answer
-            const index = findIndexByValue(questionTypeList, ele.questionType)
-            if (index > -1) {
-              item.questionTypeList[index].data.push(ele)
+        item.questionTypeList = JSON.parse(JSON.stringify(questionTypeList));
+        item.other = []
+        for (let j = 0; j < item.question.length; j++) {
+          const ele = item.question[j]
+          const data = zrr.find((sitem) => sitem.id == ele.cmsItemId)
+          const index = findIndexById(zrr, ele.cmsItemId)
+          if (index > -1) {
+            item.other[index] = {
+              ...data,
+              userAnswer: ele.answer
             }
           }
         }
-        item.questionTypeList = item.questionTypeList.filter((item) => item.data.length > 0)
-        newData.push(item)
+        if (item.other.length > 0) {
+          item.other.forEach((aitem) => {
+            const index = findIndexByValue(item.questionTypeList, aitem.questionType)
+            if (index > -1) {
+              item.questionTypeList[index].data.push(aitem)
+            }
+          })
+        }
+        item.questionTypeList = item.questionTypeList.filter((xitem) => xitem.data.length > 0)
       }
-      return newData.filter((item) => item.questionTypeList.length > 0)
+      return arr
     },
     findIndexByValue(res, type) {
       for (let i = 0; i < res.length; i++) {
@@ -284,6 +291,16 @@
       }
       return -1 // 濡傛灉鏈壘鍒帮紝鍒欒繑鍥� -1
     },
+
+    findIndexById(res, id) {
+      for (let i = 0; i < res.length; i++) {
+        if (res[i].id == id) {
+          return i
+        }
+      }
+      return -1 // 濡傛灉鏈壘鍒帮紝鍒欒繑鍥� -1
+    },
+
     toDetail(e) {
       const {
         item
diff --git a/packageCourse/pages/course/index.js b/packageCourse/pages/course/index.js
index 5179ae4..2579567 100644
--- a/packageCourse/pages/course/index.js
+++ b/packageCourse/pages/course/index.js
@@ -34,6 +34,7 @@
     updateCourse: false,
     currentCourse: null,
     submitLoading: false,
+    showContentOnly: false,
     // 鍔犺浇鍙傛暟
     bottomLoading: false,
     isMoreData: false,
@@ -50,6 +51,18 @@
     this.getData()
   },
 
+  showDialog() {
+    this.setData({
+      showContentOnly: true,
+    });
+  },
+
+  closeDialog() {
+    this.setData({
+      showContentOnly: false
+    });
+  },
+
   // 璇剧▼璇︽儏
   todetail(e) {
     const {
diff --git a/packageCourse/pages/course/index.json b/packageCourse/pages/course/index.json
index 0065610..9806567 100644
--- a/packageCourse/pages/course/index.json
+++ b/packageCourse/pages/course/index.json
@@ -13,6 +13,7 @@
     "t-icon": "tdesign-miniprogram/icon/icon",
     "t-back-top": "tdesign-miniprogram/back-top/back-top",
     "t-tag": "tdesign-miniprogram/tag/tag",
-    "t-loading": "tdesign-miniprogram/loading/loading"
+    "t-loading": "tdesign-miniprogram/loading/loading",
+    "t-dialog": "tdesign-miniprogram/dialog/dialog"
   }
 }
\ No newline at end of file
diff --git a/packageCourse/pages/course/index.wxml b/packageCourse/pages/course/index.wxml
index 9bf6c59..264a0ef 100644
--- a/packageCourse/pages/course/index.wxml
+++ b/packageCourse/pages/course/index.wxml
@@ -28,7 +28,18 @@
             </view>
             <t-tag class="margin-16" wx:if="{{item.applyState == 'Normal'}}" variant="light" theme="success">浣跨敤涓�</t-tag>
           </view>
-          <view wx:if="{{item.applyState == 'Reject'}}" class="reason">鎷掔粷鍘熷洜: {{item.reason}}</view>
+          <view wx:if="{{item.applyState == 'Reject'}}" class="reason">
+            <text> 鎷掔粷鍘熷洜锛�</text>
+            <t-tag style="margin-left: 0;" bind:tap="showDialog" class="margin-16 replay" theme="danger">鐐瑰嚮鏌ョ湅</t-tag>
+            <t-dialog visible="{{showContentOnly}}" bind:confirm="closeDialog" close-on-overlay-click>
+              <view slot="content" class="reasonContent">
+                {{item.reason}}
+              </view>
+              <view slot="confirm-btn" style="width: 100%;">
+                <t-button theme="primary" variant="text" bindtap="closeDialog" size="large" block t-class="external-class">鐭ラ亾浜�</t-button>
+              </view>
+            </t-dialog>
+          </view>
           <view class="desc">鎻忚堪锛歿{item.description}}</view>
         </view>
       </view>
diff --git a/packageCourse/pages/course/index.wxss b/packageCourse/pages/course/index.wxss
index b4c7659..dc113a7 100644
--- a/packageCourse/pages/course/index.wxss
+++ b/packageCourse/pages/course/index.wxss
@@ -71,7 +71,7 @@
   justify-content: space-between;
   align-items: center;
   box-sizing: border-box;
-  height: 300rpx;
+  min-height: 300rpx;
   border-bottom: 1rpx solid #eee;
 }
 
@@ -79,8 +79,16 @@
   margin-left: 20rpx;
   background-color: red !important;
   border: 0 !important;
-  position: relative;
-  z-index: 999999;
+}
+
+.reasonContent {
+  color: #666;
+  font-size: 26rpx;
+  line-height: 44rpx;
+}
+
+.external-class {
+  border-radius: 0 !important;
 }
 
 .courseIcon {
@@ -116,6 +124,9 @@
 .courseInfo .reason {
   font-size: 24rpx;
   color: red;
+  display: flex;
+  justify-content: flex-start;
+  align-items: center;
 }
 
 .courseInfo .desc {
diff --git a/packageCourse/pages/teachClass/detail/index.js b/packageCourse/pages/teachClass/detail/index.js
index 00cea8e..e142417 100644
--- a/packageCourse/pages/teachClass/detail/index.js
+++ b/packageCourse/pages/teachClass/detail/index.js
@@ -231,7 +231,7 @@
     ]
     for (let i = 0; i < arr.length; i++) {
       const item = arr[i]
-      item.questionTypeList = questionTypeList
+      item.questionTypeList = JSON.parse(JSON.stringify(questionTypeList))
       for (let j = 0; j < zrr.length; j++) {
         const ele = zrr[j]
         const qusObj = item.question.find((citem) => citem.cmsItemId == ele.id)
diff --git a/packageCourse/pages/teachClass/index.wxml b/packageCourse/pages/teachClass/index.wxml
index 689dbb9..0ff42df 100644
--- a/packageCourse/pages/teachClass/index.wxml
+++ b/packageCourse/pages/teachClass/index.wxml
@@ -10,7 +10,7 @@
       <studentManage classId="{{classId}}" bookRefCode="{{defaultCmsPath}}" />
     </view>
     <!-- 鏁欏浜掑姩 -->
-    <view class="teachBox" wx:if="{{tabVal == 'teach'}}">
+    <view class="teachBox" wx:if="{{tabVal == 'teach'&& userData.role == 'Teacher'}}">
       <Teach classId="{{classId}}" bookId="{{bookId}}" rootCmsItemId="{{rootCmsItemId}}" />
     </view>
   </view>
@@ -23,7 +23,7 @@
       <t-icon class="tabIcon" name="file-setting" size="24px" />
       <text class="text">瀛︾敓绠$悊</text>
     </view>
-    <view class="{{tabVal == 'teach'?'tab-pubItem activeTab':'tab-pubItem'}}" data-str="teach" bindtap="tabActive">
+    <view wx:if="{{ userData.role == 'Teacher'}}" class="{{tabVal == 'teach'?'tab-pubItem activeTab':'tab-pubItem'}}" data-str="teach" bindtap="tabActive">
       <t-icon class="tabIcon" name="system-setting" size="24px" />
       <text class="text">鏁欏浜掑姩</text>
     </view>

--
Gitblit v1.9.1