Procházet zdrojové kódy

添加琴房课作业详情页面

Pq před 3 roky
rodič
revize
6ab9c04a27

binární
BaseLibrary/src/main/res/drawable-xhdpi/icon_arrow_right_grey.png


binární
BaseLibrary/src/main/res/drawable-xxhdpi/icon_arrow_right_grey.png


+ 14 - 4
teacher/src/main/java/com/cooleshow/teacher/adapter/PianoRoomCourseStudentListAdapter.java

@@ -1,27 +1,29 @@
 package com.cooleshow.teacher.adapter;
 
-import android.view.View;
+import android.text.TextUtils;
 import android.widget.ImageView;
+import android.widget.TextView;
 
 import com.chad.library.adapter.base.BaseQuickAdapter;
 import com.chad.library.adapter.base.viewholder.BaseViewHolder;
 import com.cooleshow.base.utils.GlideUtils;
 import com.cooleshow.teacher.R;
-import com.cooleshow.teacher.bean.PianoRoomCourseHomeworkBean;
+import com.cooleshow.teacher.bean.PianoRoomCourseInfoBean;
 
 import androidx.annotation.NonNull;
 
 /**
  * Author by pq, Date on 2022/6/24.
  */
-public class PianoRoomCourseStudentListAdapter extends BaseQuickAdapter<PianoRoomCourseHomeworkBean.StudentHomeworkListBean.RecordsBean, BaseViewHolder> {
+public class PianoRoomCourseStudentListAdapter extends BaseQuickAdapter<PianoRoomCourseInfoBean.StudentHomeworkListBean.RecordsBean, BaseViewHolder> {
+    public static final String HOMEWORK_STATUS_IS_OK = "YES";//已提交作业
 
     public PianoRoomCourseStudentListAdapter(int layoutResId) {
         super(layoutResId);
     }
 
     @Override
-    protected void convert(@NonNull BaseViewHolder holder, PianoRoomCourseHomeworkBean.StudentHomeworkListBean.RecordsBean data) {
+    protected void convert(@NonNull BaseViewHolder holder, PianoRoomCourseInfoBean.StudentHomeworkListBean.RecordsBean data) {
         //头像
         ImageView iv_avatar = holder.getView(R.id.iv_avatar);
         GlideUtils.INSTANCE.loadImage(getContext(), data.studentAvatar, iv_avatar, R.drawable.icon_teacher_default_head);
@@ -29,5 +31,13 @@ public class PianoRoomCourseStudentListAdapter extends BaseQuickAdapter<PianoRoo
         holder.setText(R.id.tv_name, data.studentName);
         //subjectName
         holder.setText(R.id.tv_course_name, data.subjectName);
+        TextView tv_submit_tip = holder.getView(R.id.tv_submit_tip);
+        if (TextUtils.equals(HOMEWORK_STATUS_IS_OK, data.homeworkStatus)) {
+            tv_submit_tip.setText("已提交");
+            tv_submit_tip.setTextColor(getContext().getResources().getColor(com.cooleshow.base.R.color.color_666666));
+        } else {
+            tv_submit_tip.setText("未提交");
+            tv_submit_tip.setTextColor(getContext().getResources().getColor(com.cooleshow.base.R.color.color_999999));
+        }
     }
 }

+ 2 - 4
teacher/src/main/java/com/cooleshow/teacher/api/APIService.java

@@ -19,7 +19,7 @@ import com.cooleshow.teacher.bean.MusicSheetListBean;
 import com.cooleshow.teacher.bean.MusicSheetShareBean;
 import com.cooleshow.teacher.bean.PayTestBean;
 import com.cooleshow.teacher.bean.PianoRoomCourseCommentBean;
-import com.cooleshow.teacher.bean.PianoRoomCourseHomeworkBean;
+import com.cooleshow.teacher.bean.PianoRoomCourseInfoBean;
 import com.cooleshow.teacher.bean.ReceivedCommentListBean;
 import com.cooleshow.teacher.bean.ResponseBankCardBean;
 import com.cooleshow.teacher.bean.ResponseBindCardBean;
@@ -40,7 +40,6 @@ import com.cooleshow.usercenter.bean.UserInfo;
 
 import java.util.List;
 import java.util.Map;
-import java.util.Objects;
 
 import io.reactivex.rxjava3.core.Observable;
 import okhttp3.RequestBody;
@@ -58,7 +57,6 @@ import retrofit2.http.Url;
 
 import static com.cooleshow.base.common.BaseConstant.AUTH_GROUP;
 import static com.cooleshow.base.common.BaseConstant.CMS_SERVER;
-import static com.cooleshow.base.common.BaseConstant.MALL_ADMIN_SERVER;
 import static com.cooleshow.base.common.BaseConstant.MALL_PORTAL_SERVER;
 import static com.cooleshow.base.common.BaseConstant.STUDENT_GROUP;
 import static com.cooleshow.base.common.BaseConstant.TEACHER_GROUP;
@@ -121,7 +119,7 @@ public interface APIService {
      * @return
      */
     @POST(TEACHER_GROUP + "homework/detail/list")
-    Observable<BaseResponse<PianoRoomCourseHomeworkBean>> getPianoRoomCourseHomework(@Body RequestBody body);
+    Observable<BaseResponse<PianoRoomCourseInfoBean>> getPianoRoomCourseHomework(@Body RequestBody body);
 
 
     /**

+ 1 - 1
teacher/src/main/java/com/cooleshow/teacher/bean/PianoRoomCourseHomeworkBean.java → teacher/src/main/java/com/cooleshow/teacher/bean/PianoRoomCourseInfoBean.java

@@ -5,7 +5,7 @@ import java.util.List;
 /**
  * Author by pq, Date on 2022/4/27.
  */
-public class PianoRoomCourseHomeworkBean {
+public class PianoRoomCourseInfoBean {
 
     /**
      * attachments :

+ 2 - 5
teacher/src/main/java/com/cooleshow/teacher/contract/PianoRoomCourseDetailContract.java

@@ -1,10 +1,7 @@
 package com.cooleshow.teacher.contract;
 
 import com.cooleshow.base.presenter.view.BaseView;
-import com.cooleshow.teacher.bean.PianoRoomCourseCommentBean;
-import com.cooleshow.teacher.bean.PianoRoomCourseHomeworkBean;
-import com.cooleshow.teacher.bean.SparringCourseCommentBean;
-import com.cooleshow.teacher.bean.SparringCourseHomeworkBean;
+import com.cooleshow.teacher.bean.PianoRoomCourseInfoBean;
 
 /**
  * Author by pq, Date on 2022/4/20.
@@ -12,7 +9,7 @@ import com.cooleshow.teacher.bean.SparringCourseHomeworkBean;
 public interface PianoRoomCourseDetailContract {
 
     interface PianoRoomCourseDetailView extends BaseView {
-        void getCourseInfoSuccess(PianoRoomCourseHomeworkBean bean);
+        void getCourseInfoSuccess(PianoRoomCourseInfoBean bean);
 
         void submitSparringCourseHomeworkSuccess();
     }

+ 21 - 0
teacher/src/main/java/com/cooleshow/teacher/contract/PianoRoomCourseHomeworkContract.java

@@ -0,0 +1,21 @@
+package com.cooleshow.teacher.contract;
+
+import com.cooleshow.base.presenter.view.BaseView;
+
+/**
+ * Author by pq, Date on 2022/4/20.
+ */
+public interface PianoRoomCourseHomeworkContract {
+
+    interface PianoRoomCourseDetailView extends BaseView {
+        void getCourseHomeworkInfoSuccess();
+
+        void submitSparringCourseHomeworkSuccess();
+    }
+
+    interface Presenter {
+        void getCourseHomeworkInfo(String courseId,String studentId);
+
+        void submitSparringCourseHomework(String commentContent, String courseScheduleId);
+    }
+}

+ 3 - 7
teacher/src/main/java/com/cooleshow/teacher/presenter/course/PianoRoomDetailPresenter.java

@@ -4,12 +4,8 @@ import com.cooleshow.base.presenter.BasePresenter;
 import com.cooleshow.base.rx.BaseObserver;
 import com.cooleshow.base.utils.RequestBodyUtil;
 import com.cooleshow.teacher.api.APIService;
-import com.cooleshow.teacher.bean.PianoRoomCourseCommentBean;
-import com.cooleshow.teacher.bean.PianoRoomCourseHomeworkBean;
-import com.cooleshow.teacher.bean.SparringCourseCommentBean;
-import com.cooleshow.teacher.bean.SparringCourseHomeworkBean;
+import com.cooleshow.teacher.bean.PianoRoomCourseInfoBean;
 import com.cooleshow.teacher.contract.PianoRoomCourseDetailContract;
-import com.cooleshow.teacher.contract.SparringCourseDetailContract;
 
 import org.json.JSONException;
 import org.json.JSONObject;
@@ -30,9 +26,9 @@ public class PianoRoomDetailPresenter extends BasePresenter<PianoRoomCourseDetai
         } catch (JSONException e) {
             e.printStackTrace();
         }
-        addSubscribe(create(APIService.class).getPianoRoomCourseHomework(RequestBodyUtil.convertToRequestBodyJson(jsonObject.toString())), new BaseObserver<PianoRoomCourseHomeworkBean>(getView()) {
+        addSubscribe(create(APIService.class).getPianoRoomCourseHomework(RequestBodyUtil.convertToRequestBodyJson(jsonObject.toString())), new BaseObserver<PianoRoomCourseInfoBean>(getView()) {
             @Override
-            protected void onSuccess(PianoRoomCourseHomeworkBean data) {
+            protected void onSuccess(PianoRoomCourseInfoBean data) {
                 if (getView() != null) {
                     getView().getCourseInfoSuccess(data);
                 }

+ 20 - 0
teacher/src/main/java/com/cooleshow/teacher/presenter/homework/PianoRoomCourseHomeWorkPresenter.java

@@ -0,0 +1,20 @@
+package com.cooleshow.teacher.presenter.homework;
+
+import com.cooleshow.base.presenter.BasePresenter;
+import com.cooleshow.teacher.contract.PianoRoomCourseHomeworkContract;
+
+/**
+ * Author by pq, Date on 2022/6/24.
+ */
+public class PianoRoomCourseHomeWorkPresenter extends BasePresenter<PianoRoomCourseHomeworkContract.PianoRoomCourseDetailView> implements PianoRoomCourseHomeworkContract.Presenter{
+
+    @Override
+    public void getCourseHomeworkInfo(String courseId,String studentId) {
+
+    }
+
+    @Override
+    public void submitSparringCourseHomework(String commentContent, String courseScheduleId) {
+
+    }
+}

+ 21 - 9
teacher/src/main/java/com/cooleshow/teacher/ui/course/PianoRoomCourseDetailActivity.java

@@ -6,25 +6,24 @@ import android.text.TextUtils;
 import android.view.View;
 
 import com.alibaba.android.arouter.facade.annotation.Route;
+import com.chad.library.adapter.base.BaseQuickAdapter;
+import com.chad.library.adapter.base.listener.OnItemClickListener;
 import com.cooleshow.base.router.RouterPath;
 import com.cooleshow.base.ui.activity.BaseMVPActivity;
-import com.cooleshow.base.utils.GlideUtils;
 import com.cooleshow.base.utils.helper.QMUIStatusBarHelper;
 import com.cooleshow.base.widgets.EmptyViewLayout;
 import com.cooleshow.teacher.R;
 import com.cooleshow.teacher.adapter.PianoRoomCourseStudentListAdapter;
-import com.cooleshow.teacher.bean.PianoRoomCourseCommentBean;
-import com.cooleshow.teacher.bean.PianoRoomCourseHomeworkBean;
-import com.cooleshow.teacher.bean.SparringCourseHomeworkBean;
+import com.cooleshow.teacher.bean.PianoRoomCourseInfoBean;
 import com.cooleshow.teacher.constants.CourseConstants;
 import com.cooleshow.teacher.contract.PianoRoomCourseDetailContract;
 import com.cooleshow.teacher.databinding.ActivityPianoRoomDetailLayoutBinding;
 import com.cooleshow.teacher.presenter.course.PianoRoomDetailPresenter;
 import com.cooleshow.teacher.widgets.CourseSetCommentDialog;
-import com.cooleshow.usercenter.helper.UserHelper;
 
 import java.util.List;
 
+import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 import androidx.recyclerview.widget.LinearLayoutManager;
 
@@ -69,6 +68,19 @@ public class PianoRoomCourseDetailActivity extends BaseMVPActivity<ActivityPiano
         LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
         viewBinding.recyclerView.setLayoutManager(linearLayoutManager);
         viewBinding.recyclerView.setAdapter(mAdapter);
+        initListener();
+    }
+
+    private void initListener() {
+        mAdapter.setOnItemClickListener(new OnItemClickListener() {
+            @Override
+            public void onItemClick(@NonNull BaseQuickAdapter<?, ?> adapter, @NonNull View view, int position) {
+                if (position < mAdapter.getData().size()) {
+                    PianoRoomCourseInfoBean.StudentHomeworkListBean.RecordsBean recordsBean = mAdapter.getData().get(position);
+
+                }
+            }
+        });
     }
 
     @Override
@@ -94,7 +106,7 @@ public class PianoRoomCourseDetailActivity extends BaseMVPActivity<ActivityPiano
     }
 
     @Override
-    public void getCourseInfoSuccess(PianoRoomCourseHomeworkBean infoBean) {
+    public void getCourseInfoSuccess(PianoRoomCourseInfoBean infoBean) {
         if (!checkActivityExist()) {
             return;
         }
@@ -147,9 +159,9 @@ public class PianoRoomCourseDetailActivity extends BaseMVPActivity<ActivityPiano
      *
      * @param infoBean
      */
-    private void handleStudentList(PianoRoomCourseHomeworkBean infoBean) {
+    private void handleStudentList(PianoRoomCourseInfoBean infoBean) {
         if (mAdapter != null && infoBean != null && infoBean.studentHomeworkList != null) {
-            List<PianoRoomCourseHomeworkBean.StudentHomeworkListBean.RecordsBean> records = infoBean.studentHomeworkList.records;
+            List<PianoRoomCourseInfoBean.StudentHomeworkListBean.RecordsBean> records = infoBean.studentHomeworkList.records;
             if (records != null && records.size() > 0) {
                 mAdapter.setNewInstance(records);
             } else {
@@ -162,7 +174,7 @@ public class PianoRoomCourseDetailActivity extends BaseMVPActivity<ActivityPiano
     /**
      * 课后作业
      */
-    private void handleHomeworkData(PianoRoomCourseHomeworkBean bean) {
+    private void handleHomeworkData(PianoRoomCourseInfoBean bean) {
         if (bean == null) {
             return;
         }

+ 111 - 0
teacher/src/main/java/com/cooleshow/teacher/ui/course/PianoRoomCourseHomeWorkActivity.java

@@ -0,0 +1,111 @@
+package com.cooleshow.teacher.ui.course;
+
+import android.graphics.Color;
+import android.os.Bundle;
+import android.text.TextUtils;
+import android.view.View;
+
+import com.alibaba.android.arouter.facade.annotation.Route;
+import com.cooleshow.base.router.RouterPath;
+import com.cooleshow.base.ui.activity.BaseMVPActivity;
+import com.cooleshow.base.utils.helper.QMUIStatusBarHelper;
+import com.cooleshow.teacher.R;
+import com.cooleshow.teacher.bean.PianoRoomCourseInfoBean;
+import com.cooleshow.teacher.contract.PianoRoomCourseDetailContract;
+import com.cooleshow.teacher.databinding.ActivityPianoCourseHomeworkLayoutBinding;
+import com.cooleshow.teacher.presenter.homework.PianoRoomCourseHomeWorkPresenter;
+
+import androidx.annotation.Nullable;
+import androidx.recyclerview.widget.LinearLayoutManager;
+
+/**
+ * Author by pq, Date on 2022/6/24.
+ * 琴房课作业详情页面
+ */
+@Route(path = RouterPath.CourseCenter.PIANO_ROOM_COURSE_DETAIL)
+public class PianoRoomCourseHomeWorkActivity extends BaseMVPActivity<ActivityPianoCourseHomeworkLayoutBinding, PianoRoomCourseHomeWorkPresenter> implements PianoRoomCourseDetailContract.PianoRoomCourseDetailView, View.OnClickListener {
+    public static final String COURSE_ID = "course_id";
+    public static final String STUDENT_ID = "studentId";
+
+    private String mCourseId;
+    private String studentId;
+
+    @Override
+    protected void onCreate(@Nullable Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        QMUIStatusBarHelper.setStatusBarLightMode(this);
+    }
+
+    @Override
+    protected void initView() {
+        mCourseId = getIntent().getStringExtra(COURSE_ID);
+        studentId = getIntent().getStringExtra(STUDENT_ID);
+        if (TextUtils.isEmpty(mCourseId) || TextUtils.isEmpty(studentId)) {
+            finish();
+            return;
+        }
+        viewBinding.tvSetHomework.setOnClickListener(this);
+        viewBinding.tvHomeworkSetComment.setOnClickListener(this);
+    }
+
+    @Override
+    public void initData() {
+        super.initData();
+        initMidTitleToolBar(viewBinding.toolbarInclude.toolbar, "课程详情");
+        viewBinding.toolbarInclude.toolbar.setBackgroundColor(Color.WHITE);
+        LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
+        initListener();
+    }
+
+    private void initListener() {
+    }
+
+    @Override
+    protected void onResume() {
+        super.onResume();
+        refresh();
+    }
+
+    private void refresh() {
+        if (presenter != null) {
+            presenter.getCourseHomeworkInfo(mCourseId, studentId);
+        }
+    }
+
+    @Override
+    protected ActivityPianoCourseHomeworkLayoutBinding getLayoutView() {
+        return ActivityPianoCourseHomeworkLayoutBinding.inflate(getLayoutInflater());
+    }
+
+    @Override
+    protected PianoRoomCourseHomeWorkPresenter createPresenter() {
+        return new PianoRoomCourseHomeWorkPresenter();
+    }
+
+    @Override
+    public void getCourseHomeworkInfoSuccess(PianoRoomCourseInfoBean bean) {
+
+    }
+
+    /**
+     * 提交布置作业成功
+     */
+    @Override
+    public void submitSparringCourseHomeworkSuccess() {
+        if (!checkActivityExist()) {
+            return;
+        }
+        refresh();
+    }
+
+
+    @Override
+    public void onClick(View v) {
+        int id = v.getId();
+        if (id == R.id.tv_set_homework) {
+            //布置作业
+//            showSetCommentDialog();
+            return;
+        }
+    }
+}

+ 318 - 0
teacher/src/main/res/layout/activity_piano_course_homework_layout.xml

@@ -0,0 +1,318 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+
+    <include
+        android:id="@+id/toolbar_include"
+        layout="@layout/common_toolbar_layout" />
+
+    <androidx.core.widget.NestedScrollView
+        android:layout_width="match_parent"
+        android:layout_height="0dp"
+        android:overScrollMode="never"
+        android:scrollbars="none"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintTop_toBottomOf="@+id/toolbar_include">
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:orientation="vertical"
+            android:paddingStart="14dp"
+            android:paddingTop="12dp"
+            android:paddingEnd="14dp"
+            android:paddingBottom="12dp">
+
+            <androidx.constraintlayout.widget.ConstraintLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:background="@drawable/bg_white_10dp"
+                android:paddingBottom="20dp">
+
+                <com.cooleshow.base.widgets.QMUIRadiusImageView
+                    android:id="@+id/iv_avatar"
+                    android:layout_width="47dp"
+                    android:layout_height="51dp"
+                    android:layout_marginStart="11dp"
+                    android:layout_marginTop="20dp"
+                    app:layout_constraintBottom_toBottomOf="parent"
+                    app:layout_constraintLeft_toLeftOf="parent"
+                    app:layout_constraintTop_toTopOf="parent"
+                    app:qmui_corner_radius="5dp" />
+
+                <TextView
+                    android:id="@+id/tv_title"
+                    android:layout_width="0dp"
+                    android:layout_height="wrap_content"
+                    android:layout_marginStart="10dp"
+                    android:layout_marginEnd="10dp"
+                    android:ellipsize="end"
+                    android:includeFontPadding="false"
+                    android:maxLines="2"
+                    android:textColor="@color/color_1a1a1a"
+                    android:textSize="@dimen/sp_16"
+                    android:textStyle="bold"
+                    app:layout_constraintBottom_toTopOf="@+id/tv_course_name"
+                    app:layout_constraintLeft_toRightOf="@+id/iv_avatar"
+                    app:layout_constraintRight_toRightOf="parent"
+                    app:layout_constraintTop_toTopOf="@+id/iv_avatar"
+                    app:layout_constraintVertical_chainStyle="packed"
+                    tools:text="张豆豆张豆豆张豆豆张豆" />
+
+                <TextView
+                    android:id="@+id/tv_course_name"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginTop="8dp"
+                    android:background="@drawable/shape_couse_type_text_bg"
+                    android:gravity="center"
+                    android:includeFontPadding="false"
+                    android:paddingStart="4dp"
+                    android:paddingTop="2dp"
+                    android:paddingEnd="4dp"
+                    android:paddingBottom="2dp"
+                    android:textColor="@color/color_ff8c00"
+                    android:textSize="@dimen/sp_11"
+                    app:layout_constraintBottom_toBottomOf="@+id/iv_avatar"
+                    app:layout_constraintLeft_toLeftOf="@+id/tv_title"
+                    app:layout_constraintTop_toBottomOf="@+id/tv_title"
+                    tools:text="单簧管" />
+
+            </androidx.constraintlayout.widget.ConstraintLayout>
+
+            <androidx.constraintlayout.widget.ConstraintLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="12dp"
+                android:background="@drawable/bg_white_10dp"
+                android:paddingBottom="10dp">
+
+                <View
+                    android:id="@+id/view_title_line_homework"
+                    android:layout_width="4dp"
+                    android:layout_height="14dp"
+                    android:layout_marginStart="12dp"
+                    android:layout_marginTop="13dp"
+                    android:background="@drawable/shape_course_title_tag_bg"
+                    app:layout_constraintLeft_toLeftOf="parent"
+                    app:layout_constraintTop_toTopOf="parent" />
+
+                <TextView
+                    android:id="@+id/tv_homework_title"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:includeFontPadding="false"
+                    android:paddingStart="5dp"
+                    android:text="课后作业"
+                    android:textColor="@color/color_1a1a1a"
+                    android:textSize="@dimen/sp_13"
+                    app:layout_constraintBottom_toBottomOf="@+id/view_title_line_homework"
+                    app:layout_constraintLeft_toRightOf="@+id/view_title_line_homework"
+                    app:layout_constraintTop_toTopOf="@+id/view_title_line_homework" />
+
+                <TextView
+                    android:id="@+id/tv_set_homework"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:drawableLeft="@drawable/icon_set_homework"
+                    android:drawablePadding="3dp"
+                    android:includeFontPadding="false"
+                    android:paddingEnd="11dp"
+                    android:text="@string/set_homework_str"
+                    android:textColor="@color/color_2dc7aa"
+                    android:textSize="@dimen/sp_14"
+                    android:visibility="invisible"
+                    app:layout_constraintBottom_toBottomOf="@+id/view_title_line_homework"
+                    app:layout_constraintRight_toRightOf="parent"
+                    app:layout_constraintTop_toTopOf="@+id/view_title_line_homework" />
+
+                <FrameLayout
+                    android:id="@+id/view_homework_content_bg"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginStart="11dp"
+                    android:layout_marginTop="11dp"
+                    android:layout_marginEnd="11dp"
+                    android:background="@drawable/shape_bg_f7f8f9_4dp"
+                    android:minHeight="88dp"
+                    android:padding="11dp"
+                    app:layout_constraintTop_toBottomOf="@+id/view_title_line_homework">
+
+                    <TextView
+                        android:id="@+id/tv_homework_empty_text"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_gravity="center"
+                        android:drawableLeft="@drawable/icon_homework_empty"
+                        android:drawablePadding="8dp"
+                        android:gravity="center_vertical"
+                        android:text="课程结束之后记得布置作业哦!"
+                        android:textColor="@color/color_999999"
+                        android:textSize="@dimen/sp_13" />
+
+                    <TextView
+                        android:id="@+id/tv_homework_content"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:includeFontPadding="false"
+                        android:textColor="@color/color_333333"
+                        android:textSize="@dimen/sp_13"
+                        android:visibility="gone"
+                        tools:text="每个音的指法比较熟练,但是遇到指法变换比较频繁的小节熟练度不足,建议平时可以选择指法变换较大的曲目多加练习!" />
+                </FrameLayout>
+            </androidx.constraintlayout.widget.ConstraintLayout>
+
+            <androidx.constraintlayout.widget.ConstraintLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="12dp"
+                android:background="@drawable/bg_white_10dp"
+                android:paddingBottom="10dp">
+
+                <View
+                    android:id="@+id/view_title_line_homework_video"
+                    android:layout_width="4dp"
+                    android:layout_height="14dp"
+                    android:layout_marginStart="12dp"
+                    android:layout_marginTop="13dp"
+                    android:background="@drawable/shape_course_title_tag_bg"
+                    app:layout_constraintLeft_toLeftOf="parent"
+                    app:layout_constraintTop_toTopOf="parent" />
+
+                <TextView
+                    android:id="@+id/tv_homework_video_title"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:includeFontPadding="false"
+                    android:paddingStart="5dp"
+                    android:text="作业视频"
+                    android:textColor="@color/color_1a1a1a"
+                    android:textSize="@dimen/sp_13"
+                    app:layout_constraintBottom_toBottomOf="@+id/view_title_line_homework_video"
+                    app:layout_constraintLeft_toRightOf="@+id/view_title_line_homework_video"
+                    app:layout_constraintTop_toTopOf="@+id/view_title_line_homework_video" />
+
+                <FrameLayout
+                    android:id="@+id/view_homework_video_content_bg"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginStart="11dp"
+                    android:layout_marginTop="11dp"
+                    android:layout_marginEnd="11dp"
+                    android:background="@drawable/shape_bg_f7f8f9_4dp"
+                    android:minHeight="88dp"
+                    android:padding="11dp"
+                    app:layout_constraintTop_toBottomOf="@+id/view_title_line_homework_video">
+
+                    <TextView
+                        android:id="@+id/tv_homework_video_empty_text"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_gravity="center"
+                        android:drawableLeft="@drawable/icon_homework_video_empty"
+                        android:drawablePadding="8dp"
+                        android:gravity="center_vertical"
+                        android:text="学员尚未上传作业视频"
+                        android:textColor="@color/color_999999"
+                        android:textSize="@dimen/sp_13" />
+
+                    <LinearLayout
+                        android:id="@+id/ll_homework_video_content"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_gravity="center_vertical"
+                        android:orientation="horizontal"
+                        android:weightSum="3"
+                        tools:text="每个音的指法比较熟练,但是遇到指法变换比较频繁的小节熟练度不足,建议平时可以选择指法变换较大的曲目多加练习!" />
+                </FrameLayout>
+            </androidx.constraintlayout.widget.ConstraintLayout>
+
+
+            <androidx.constraintlayout.widget.ConstraintLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="12dp"
+                android:background="@drawable/bg_white_10dp"
+                android:paddingBottom="10dp">
+
+                <View
+                    android:id="@+id/view_title_line_homework_comment"
+                    android:layout_width="4dp"
+                    android:layout_height="14dp"
+                    android:layout_marginStart="12dp"
+                    android:layout_marginTop="13dp"
+                    android:background="@drawable/shape_course_title_tag_bg"
+                    app:layout_constraintLeft_toLeftOf="parent"
+                    app:layout_constraintTop_toTopOf="parent" />
+
+                <TextView
+                    android:id="@+id/tv_homework_comment_title"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:includeFontPadding="false"
+                    android:paddingStart="5dp"
+                    android:text="作业点评"
+                    android:textColor="@color/color_1a1a1a"
+                    android:textSize="@dimen/sp_13"
+                    app:layout_constraintBottom_toBottomOf="@+id/view_title_line_homework_comment"
+                    app:layout_constraintLeft_toRightOf="@+id/view_title_line_homework_comment"
+                    app:layout_constraintTop_toTopOf="@+id/view_title_line_homework_comment" />
+
+                <TextView
+                    android:id="@+id/tv_homework_set_comment"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:drawableLeft="@drawable/icon_edit_appraisal"
+                    android:drawablePadding="3dp"
+                    android:includeFontPadding="false"
+                    android:paddingEnd="11dp"
+                    android:text="@string/comment_str"
+                    android:textColor="@color/color_2dc7aa"
+                    android:textSize="@dimen/sp_14"
+                    android:visibility="invisible"
+                    app:layout_constraintBottom_toBottomOf="@+id/view_title_line_homework_comment"
+                    app:layout_constraintRight_toRightOf="parent"
+                    app:layout_constraintTop_toTopOf="@+id/view_title_line_homework_comment" />
+
+                <FrameLayout
+                    android:id="@+id/view_homework_comment_content_bg"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginStart="11dp"
+                    android:layout_marginTop="11dp"
+                    android:layout_marginEnd="11dp"
+                    android:background="@drawable/shape_bg_f7f8f9_4dp"
+                    android:minHeight="88dp"
+                    android:padding="11dp"
+                    app:layout_constraintTop_toBottomOf="@+id/view_title_line_homework_comment">
+
+                    <TextView
+                        android:id="@+id/tv_homework_comment_empty_text"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_gravity="center"
+                        android:drawableLeft="@drawable/icon_homework_comment"
+                        android:drawablePadding="8dp"
+                        android:gravity="center_vertical"
+                        android:text="您尚未点评作业"
+                        android:textColor="@color/color_999999"
+                        android:textSize="@dimen/sp_13" />
+
+                    <TextView
+                        android:id="@+id/tv_homework_comment_content"
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:includeFontPadding="false"
+                        android:textColor="@color/color_333333"
+                        android:textSize="@dimen/sp_13"
+                        android:visibility="gone"
+                        tools:text="每个音的指法比较熟练,但是遇到指法变换比较频繁的小节熟练度不足,建议平时可以选择指法变换较大的曲目多加练习!" />
+                </FrameLayout>
+            </androidx.constraintlayout.widget.ConstraintLayout>
+        </LinearLayout>
+    </androidx.core.widget.NestedScrollView>
+
+</androidx.constraintlayout.widget.ConstraintLayout>

+ 12 - 4
teacher/src/main/res/layout/activity_piano_room_detail_layout.xml

@@ -12,7 +12,6 @@
     <androidx.core.widget.NestedScrollView
         android:layout_width="match_parent"
         android:layout_height="0dp"
-        android:layout_marginTop="12dp"
         android:overScrollMode="never"
         android:scrollbars="none"
         app:layout_constraintBottom_toBottomOf="parent"
@@ -93,7 +92,7 @@
 
                 <TextView
                     android:id="@+id/tv_title"
-                    android:layout_width="0dp"
+                    android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_marginStart="10dp"
                     android:layout_marginEnd="10dp"
@@ -105,11 +104,20 @@
                     android:textStyle="bold"
                     app:layout_constraintBottom_toTopOf="@+id/tv_course_name"
                     app:layout_constraintLeft_toRightOf="@+id/iv_avatar"
-                    app:layout_constraintRight_toRightOf="parent"
                     app:layout_constraintTop_toTopOf="@+id/iv_avatar"
                     app:layout_constraintVertical_chainStyle="packed"
                     tools:text="张豆豆张豆豆张豆豆张豆" />
 
+                <ImageView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_marginStart="8dp"
+                    android:src="@drawable/icon_chat_small"
+                    app:layout_constraintBottom_toBottomOf="@+id/tv_title"
+                    app:layout_constraintLeft_toRightOf="@+id/tv_title"
+                    app:layout_constraintTop_toTopOf="@+id/tv_title" />
+
+
                 <TextView
                     android:id="@+id/tv_course_name"
                     android:layout_width="wrap_content"
@@ -236,10 +244,10 @@
             </androidx.constraintlayout.widget.ConstraintLayout>
 
             <androidx.recyclerview.widget.RecyclerView
-                android:layout_marginTop="10dp"
                 android:id="@+id/recyclerView"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
+                android:layout_marginTop="10dp"
                 android:overScrollMode="never"
                 android:scrollbars="horizontal" />
         </LinearLayout>

+ 3 - 2
teacher/src/main/res/layout/activity_sparring_course_detail_layout.xml

@@ -92,7 +92,8 @@
                     android:layout_marginTop="17dp"
                     app:layout_constraintBottom_toBottomOf="parent"
                     app:layout_constraintLeft_toLeftOf="parent"
-                    app:layout_constraintTop_toBottomOf="@+id/view_line" />
+                    app:layout_constraintTop_toBottomOf="@+id/view_line"
+                    app:qmui_corner_radius="5dp" />
 
                 <TextView
                     android:id="@+id/tv_title"
@@ -248,7 +249,6 @@
                     app:layout_constraintTop_toTopOf="@+id/view_title_line_stu_comment" />
 
                 <RatingBar
-                    android:visibility="gone"
                     android:id="@+id/rating_bar_for_student"
                     style="@style/HomeRatingBar"
                     android:layout_width="wrap_content"
@@ -257,6 +257,7 @@
                     android:numStars="5"
                     android:rating="3"
                     android:stepSize="1"
+                    android:visibility="gone"
                     app:layout_constraintBottom_toBottomOf="@+id/tv_stu_comment_title"
                     app:layout_constraintLeft_toRightOf="@+id/tv_stu_comment_title"
                     app:layout_constraintTop_toTopOf="@+id/tv_stu_comment_title" />

+ 24 - 2
teacher/src/main/res/layout/item_piano_room_student_layout.xml

@@ -11,8 +11,8 @@
 
     <com.cooleshow.base.widgets.QMUIRadiusImageView
         android:id="@+id/iv_avatar"
-        android:layout_width="48dp"
-        android:layout_height="48dp"
+        android:layout_width="47dp"
+        android:layout_height="51dp"
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintLeft_toLeftOf="parent"
         app:layout_constraintTop_toTopOf="parent"
@@ -50,4 +50,26 @@
         app:layout_constraintTop_toBottomOf="@+id/tv_name"
         tools:text="单簧管" />
 
+    <TextView
+        android:id="@+id/tv_submit_tip"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:includeFontPadding="false"
+        android:paddingEnd="5dp"
+        android:textColor="@color/color_666666"
+        android:textSize="@dimen/sp_14"
+        app:layout_constraintBottom_toBottomOf="@+id/iv_arrow"
+        app:layout_constraintRight_toLeftOf="@+id/iv_arrow"
+        app:layout_constraintTop_toTopOf="@+id/iv_arrow"
+        tools:text="已提交" />
+
+    <ImageView
+        android:id="@+id/iv_arrow"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginEnd="18dp"
+        android:src="@drawable/icon_arrow_right_grey"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintRight_toRightOf="parent"
+        app:layout_constraintTop_toTopOf="parent" />
 </androidx.constraintlayout.widget.ConstraintLayout>