QYF-GitLab1
9 小时以前 b8415493ac9316136fce011be47b3ca4b1447064
课程系列调整
12个文件已修改
256 ■■■■■ 已修改文件
src/assets/base.css 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/classManage/classHome.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/classManage/components/questionDom.vue 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/classManage/config.ts 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/classManage/index.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/classManage/infoList.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/classManage/interactionDetail.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/classManage/jobDetail.vue 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/classManage/jobManage.vue 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/classManage/studentJob.vue 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/classManage/talkDetail.vue 41 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/personalCenter/index.vue 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/base.css
@@ -91,6 +91,7 @@
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  white-space: normal;
}
/* HTML5 display-role reset for older browsers */
article,
src/views/classManage/classHome.vue
@@ -769,6 +769,7 @@
    width: 100%;
    height: calc(100% - 63px);
    padding: 5px 25px;
    box-sizing: border-box;
    overflow: auto;
    .noticeItem {
      display: flex;
src/views/classManage/components/questionDom.vue
@@ -62,6 +62,20 @@
              <div v-html="item.userAnswer"></div>
            </div>
          </div>
          <!-- <div class="shortAnswer" v-if="item.questionType == 'shortAnswer' && !isJudge">
            <div class="anSwer" v-if="!isPreview">
              <div class="anSwerText" v-if="item.questionAnswer" style="margin: 15px 0">
                <span style="min-width: 40px">答案:</span
                ><span v-html="item.questionAnswer"></span>
              </div>
              <div :class="isPreview ? 'questionAnalysisCon' : ''" v-if="item.questionAnalysisCon">
                分析:<span v-html="item.questionAnalysisCon"></span>
              </div>
            </div>
            <div v-else>
              <div v-html="item.userAnswer"></div>
            </div>
          </div> -->
          <div v-if="isJudge">
            <div class="shortAnswer anSwerText" v-if="item.answer" style="margin: 15px 0">
              <span v-html="item.answer"></span>
@@ -237,7 +251,9 @@
const emit = defineEmits(['selectQuestion', 'deleteItem', 'judgeUpdate'])
onMounted(() => {})
// onMounted(() => {
//   console.log(props.questionList)
// })
const checkItems = (e: Event, item: any) => {
  emit('selectQuestion', item)
@@ -264,6 +280,9 @@
  padding: 10px;
  box-sizing: border-box;
  font-family: PingFang SC;
  span {
    white-space: pre-wrap !important;
  }
  .questionT {
    // display: flex;
    flex-wrap: wrap;
src/views/classManage/config.ts
@@ -76,15 +76,15 @@
      transform="translate(-63.9 -63.9)" />
  </svg>`
  },
  {
    label: '教学互动',
    key: '9',
    path: 'teachInteraction',
    icon: `<svg xmlns="http://www.w3.org/2000/svg" width="16.2" height="16.2" viewBox="0 0 1024 1024">
  <path
    d="M447.766594 480.256747H252.078775C126.599562 480.256747 24.274252 377.931437 24.274252 252.452225S125.852662 24.647702 252.078775 24.647702 479.883297 126.973012 479.883297 252.452225V448.140044c0 17.925602-14.191101 32.116703-32.116703 32.116703zM252.078775 88.134209c-90.374909 0-164.318016 73.943107-164.318016 164.318016s73.943107 164.318016 164.318016 164.318016h164.318016v-164.318016c0-90.374909-73.943107-164.318016-164.318016-164.318016zM251.331875 999.352298C125.852662 999.352298 23.527352 897.026988 23.527352 771.547775s102.32531-227.804522 227.804523-227.804522H447.766594c17.178702 0 32.116703 14.191101 32.116703 32.116703v196.434719c-0.7469 124.732312-103.07221 227.057622-228.551422 227.057623z m0-392.122539c-90.374909 0-164.318016 73.943107-164.318017 164.318016s73.943107 164.318016 164.318017 164.318016 164.318016-73.943107 164.318016-164.318016v-164.318016h-164.318016zM773.415026 999.352298c-125.479212 0-227.804522-102.32531-227.804523-227.804523V575.113056c0-17.178702 14.191101-32.116703 32.116703-32.116703h196.43472c125.479212 0 227.804522 102.32531 227.804522 227.804522 0 36.598104-8.962801 72.449307-25.394603 104.56601-8.215901 15.684902-26.888403 21.660102-42.573304 13.444202-15.684902-8.215901-21.660102-26.888403-13.444201-42.573304 11.950401-23.153902 18.672502-49.295405 18.672502-75.436908 0-90.374909-73.943107-164.318016-164.318016-164.318016h-164.318016v164.318016c0 90.374909 73.943107 164.318016 164.318016 164.318016 17.178702 0 34.357403-2.9876 50.042305-8.2159 16.431802-5.228301 34.357403 3.7345 39.585703 20.166301 5.228301 16.431802-3.7345 34.357403-20.166302 39.585704-23.900802 8.962801-47.054705 12.697301-70.955506 12.697302zM773.415026 480.256747H577.727206c-17.178702 0-32.116703-14.191101-32.116703-32.116703V252.452225c0-125.479212 102.32531-227.804522 227.804523-227.804523s227.804522 102.32531 227.804522 227.804523-102.32531 227.804522-227.804522 227.804522z m-164.318017-63.486506h164.318017c90.374909 0 164.318016-73.943107 164.318016-164.318016s-73.943107-164.318016-164.318016-164.318016-164.318016 73.943107-164.318017 164.318016v164.318016z" />
</svg>`
  },
  //   {
  //     label: '教学互动',
  //     key: '9',
  //     path: 'teachInteraction',
  //     icon: `<svg xmlns="http://www.w3.org/2000/svg" width="16.2" height="16.2" viewBox="0 0 1024 1024">
  //   <path
  //     d="M447.766594 480.256747H252.078775C126.599562 480.256747 24.274252 377.931437 24.274252 252.452225S125.852662 24.647702 252.078775 24.647702 479.883297 126.973012 479.883297 252.452225V448.140044c0 17.925602-14.191101 32.116703-32.116703 32.116703zM252.078775 88.134209c-90.374909 0-164.318016 73.943107-164.318016 164.318016s73.943107 164.318016 164.318016 164.318016h164.318016v-164.318016c0-90.374909-73.943107-164.318016-164.318016-164.318016zM251.331875 999.352298C125.852662 999.352298 23.527352 897.026988 23.527352 771.547775s102.32531-227.804522 227.804523-227.804522H447.766594c17.178702 0 32.116703 14.191101 32.116703 32.116703v196.434719c-0.7469 124.732312-103.07221 227.057622-228.551422 227.057623z m0-392.122539c-90.374909 0-164.318016 73.943107-164.318017 164.318016s73.943107 164.318016 164.318017 164.318016 164.318016-73.943107 164.318016-164.318016v-164.318016h-164.318016zM773.415026 999.352298c-125.479212 0-227.804522-102.32531-227.804523-227.804523V575.113056c0-17.178702 14.191101-32.116703 32.116703-32.116703h196.43472c125.479212 0 227.804522 102.32531 227.804522 227.804522 0 36.598104-8.962801 72.449307-25.394603 104.56601-8.215901 15.684902-26.888403 21.660102-42.573304 13.444202-15.684902-8.215901-21.660102-26.888403-13.444201-42.573304 11.950401-23.153902 18.672502-49.295405 18.672502-75.436908 0-90.374909-73.943107-164.318016-164.318016-164.318016h-164.318016v164.318016c0 90.374909 73.943107 164.318016 164.318016 164.318016 17.178702 0 34.357403-2.9876 50.042305-8.2159 16.431802-5.228301 34.357403 3.7345 39.585703 20.166301 5.228301 16.431802-3.7345 34.357403-20.166302 39.585704-23.900802 8.962801-47.054705 12.697301-70.955506 12.697302zM773.415026 480.256747H577.727206c-17.178702 0-32.116703-14.191101-32.116703-32.116703V252.452225c0-125.479212 102.32531-227.804522 227.804523-227.804523s227.804522 102.32531 227.804522 227.804523-102.32531 227.804522-227.804522 227.804522z m-164.318017-63.486506h164.318017c90.374909 0 164.318016-73.943107 164.318016-164.318016s-73.943107-164.318016-164.318016-164.318016-164.318016 73.943107-164.318017 164.318016v164.318016z" />
  // </svg>`
  //   },
  {
    label: '话题',
    key: '8',
src/views/classManage/index.vue
@@ -52,7 +52,6 @@
import { ref, watch, provide, onMounted, inject } from 'vue'
import { useRoute, useRouter, onBeforeRouteUpdate } from 'vue-router'
import { menu } from './config'
import { getPublicImage } from '@/assets/js/middleGround/tool'
import defaultImg from '@/assets/images/default-book-img.png'
const router: any = useRouter()
src/views/classManage/infoList.vue
@@ -225,6 +225,7 @@
      z-index: 99;
      background: #fff;
      box-shadow: 0px 0px 20px 1px #eeeeee83;
      box-sizing: border-box;
    }
    .contentBox {
      width: 100%;
src/views/classManage/interactionDetail.vue
@@ -335,6 +335,7 @@
      z-index: 99;
      background: #fff;
      box-shadow: 0px 0px 20px 1px #eeeeee83;
      box-sizing: border-box;
    }
    .contentBox {
      width: 100%;
src/views/classManage/jobDetail.vue
@@ -253,20 +253,20 @@
const options = ref([
  {
    label: '全部',
    value: 'all'
    value: 'all',
  },
  {
    label: '未批改',
    value: 'WaitCheck'
    value: 'WaitCheck',
  },
  {
    label: '已批改',
    value: 'Normal'
    value: 'Normal',
  },
  {
    label: '未提交',
    value: 'WaitSubmit'
  }
    value: 'WaitSubmit',
  },
])
let pages = reactive({
@@ -274,7 +274,7 @@
  page: 1,
  pageSize: 15,
  count: 0,
  loading: true
  loading: true,
})
const questionKey = [
@@ -288,7 +288,7 @@
  'Embedded_QuestionBank_QuestionType',
  'Embedded_QuestionBank_Score',
  'Embedded_QuestionBank_Stem',
  'Embedded_QuestionBank_StemStyle'
  'Embedded_QuestionBank_StemStyle',
]
//  分页
@@ -343,7 +343,7 @@
    taskId: classInfo?.taskWorkId,
    classId: classInfo?.id,
    filterList,
    searchList
    searchList,
  }
  MG.edu
    .getTaskSubmitList(data)
@@ -356,7 +356,7 @@
        { name: '简答题', totalScore: 0, value: 'shortAnswer', data: [] },
        { name: '论述题', totalScore: 0, value: 'discuss', data: [] },
        { name: '连线题', totalScore: 0, value: 'matching', data: [] },
        { name: '分类题', totalScore: 0, value: 'classification', data: [] }
        { name: '分类题', totalScore: 0, value: 'classification', data: [] },
      ]
      try {
        let list: any = []
@@ -368,7 +368,7 @@
            type: item.type,
            state: item.state,
            submit: item.submit,
            updateTaskSubmitCmsItemRequests: []
            updateTaskSubmitCmsItemRequests: [],
          }
          item.singleChoiceName = '单选题'
          item.singleChoiceArr = []
@@ -423,23 +423,23 @@
        const lenghtArr = [...res.datas]
        singleChoiceLength.value = lenghtArr.reduce(
          (max: any, obj: any) => Math.max(max, obj.singleChoiceArr.length),
          0
          0,
        )
        multipleChoiceLength.value = lenghtArr.reduce(
          (max: any, obj: any) => Math.max(max, obj.multipleChoiceArr.length),
          0
          0,
        )
        judgeLength.value = lenghtArr.reduce(
          (max: any, obj: any) => Math.max(max, obj.judgeArr.length),
          0
          0,
        )
        completionLength.value = lenghtArr.reduce(
          (max: any, obj: any) => Math.max(max, obj.completionArr.length),
          0
          0,
        )
        otherLength.value = lenghtArr.reduce(
          (max: any, obj: any) => Math.max(max, obj.otherArr.length),
          0
          0,
        )
        tableLoading.value = false
        tableData.value = res.datas
@@ -463,7 +463,7 @@
    taskId: classInfo?.taskWorkId, // taskData?.id
    path: String(classInfo?.taskCmsId), //taskData?.rootCmsItemId
    type: '*',
    keys: questionKey
    keys: questionKey,
  }
  MG.edu
    .getTaskCmsItem(data)
@@ -498,7 +498,7 @@
    .catch((e: any) => {
      ElMessage({
        message: '列表获取失败',
        type: 'error'
        type: 'error',
      })
      tableLoading.value = false
      console.log(e)
@@ -531,7 +531,7 @@
          questionType: item.Embedded_QuestionBank_QuestionType,
          questionAnalysisCon: item.Embedded_QuestionBank_AnalysisCon,
          questionAnswer: item.Embedded_QuestionBank_Answer,
          customAnswer: null
          customAnswer: null,
        }
      } catch (error) {
        console.log(item)
@@ -564,7 +564,7 @@
    taskId: classInfo?.taskWorkId,
    classId: classInfo?.id,
    filterList,
    searchList
    searchList,
  }
  MG.edu
    .getUnSubmitList(data)
@@ -581,7 +581,7 @@
            ...item,
            index: index + 1,
            createDate: moment(item.createDate).format('YYYY-MM-DD'),
            appUserId: item.appUser.id
            appUserId: item.appUser.id,
          }
        })
        pages.count = totalSize
@@ -604,7 +604,7 @@
  if (item) {
    const requestData = {
      classId: classInfo?.id,
      requests: []
      requests: [],
    }
    const data = JSON.parse(item)
    listData.forEach((citem: any) => {
@@ -617,7 +617,7 @@
            score: uitem.score,
            answer: uitem.answer,
            state: 'Normal',
            comments: 'judge'
            comments: 'judge',
          }
        })
      }
@@ -668,7 +668,7 @@
    content,
    type: 'Normal',
    cmsTypeRefCode: '',
    newDataListRequest: []
    newDataListRequest: [],
  }
  MG.ugc
    .newTopicMessage(data)
@@ -676,7 +676,7 @@
      if (res) {
        ElMessage({
          type: 'success',
          message: '已催交'
          message: '已催交',
        })
      }
    })
@@ -691,8 +691,8 @@
    {
      compareType: 'Contains',
      keywords: searchKey.value,
      field: 'Name'
    }
      field: 'Name',
    },
  ]
  pages.page = 1
  if (workState.value != 'WaitSubmit') {
@@ -712,6 +712,7 @@
  .classManagePage-nav {
    width: 100%;
    box-sizing: border-box;
    padding: 0 20px;
    height: 40px;
    border-bottom: 1px solid #e6e8ed;
@@ -737,6 +738,7 @@
      z-index: 99;
      background: #fff;
      box-shadow: 0px 0px 20px 1px #eeeeee83;
      box-sizing: border-box;
    }
    .contentBox {
      width: 100%;
@@ -799,6 +801,14 @@
          align-items: center;
          justify-content: space-between;
          padding: 10px 0;
          .selectState {
            display: flex;
            align-items: center;
            width: 200px;
            span {
              min-width: 50px;
            }
          }
          .searchBox {
            width: 300px;
            float: left;
@@ -826,6 +836,7 @@
    border-radius: 5px;
    margin: 10px auto;
    padding-bottom: 20px;
    box-sizing: border-box;
    .pubContent {
      position: relative;
      height: 80vh;
src/views/classManage/jobManage.vue
@@ -389,7 +389,7 @@
        align-center
        v-model="visibleView"
        destroy-on-close
        width="900"
        width="1200"
      >
        <template #header>
          <div class="viewTitle">已选题目</div>
@@ -445,7 +445,7 @@
        align-center
        v-model="visibleLook"
        destroy-on-close
        width="900"
        width="1200"
      >
        <template #header>
          <div class="viewTitle">预览作业</div>
@@ -914,18 +914,22 @@
        if (questionKey != null) {
          for (let fieldKey of questionKey) {
            if (item.datas[fieldKey]) {
              const values = JSON.parse(item.datas[fieldKey])
              if (values.length > 0) {
                // 用字段名处理返回的字段值
                if (values[0].Value) {
                  item[fieldKey] = values[0].Value
                } else if (values[0].Data) {
                  item[fieldKey] = values[0].Data.Value
                } else if (!values[0].Value && values[0].FileList?.length > 0) {
                  item[fieldKey] = values[0].FileList
                } else {
                  item[fieldKey] = '-'
              try {
                const values = JSON.parse(item.datas[fieldKey])
                if (values.length > 0) {
                  // 用字段名处理返回的字段值
                  if (values[0].Value) {
                    item[fieldKey] = values[0].Value
                  } else if (values[0].Data) {
                    item[fieldKey] = values[0].Data.Value
                  } else if (!values[0].Value && values[0].FileList?.length > 0) {
                    item[fieldKey] = values[0].FileList
                  } else {
                    item[fieldKey] = '-'
                  }
                }
              } catch (error) {
                console.log(error, item.datas[fieldKey],item)
              }
            }
          }
src/views/classManage/studentJob.vue
@@ -105,8 +105,8 @@
  {
    value: config.taskType.homeWork,
    field: 'Type',
    subFilters: []
  }
    subFilters: [],
  },
])
// task
const taskData = reactive({
@@ -118,7 +118,7 @@
  state: '',
  groupId: '',
  beginDate: '',
  endDate: ''
  endDate: '',
})
const visiblePub = ref(false)
@@ -137,7 +137,7 @@
  'Embedded_QuestionBank_QuestionType',
  'Embedded_QuestionBank_Score',
  'Embedded_QuestionBank_Stem',
  'Embedded_QuestionBank_StemStyle'
  'Embedded_QuestionBank_StemStyle',
]
let pages = reactive({
@@ -145,7 +145,7 @@
  page: 1,
  pageSize: 15,
  count: 0,
  loading: false
  loading: false,
})
// 作业列表
const tableData: any = ref([])
@@ -180,11 +180,11 @@
    size: pages.pageSize,
    sort: {
      type: 'Desc',
      field: 'CreateDate'
      field: 'CreateDate',
    },
    filterList,
    searchList,
    groupId: classInfo?.id
    groupId: classInfo?.id,
  }
  MG.edu
    .getTaskList(data)
@@ -208,7 +208,7 @@
            ...item,
            totalScore: item.judgeScore + item.otherScore,
            beginDate: moment(item.beginDate).format('YYYY-MM-DD'),
            endDate: moment(item.endDate).format('YYYY-MM-DD')
            endDate: moment(item.endDate).format('YYYY-MM-DD'),
          }
        })
      } else {
@@ -228,8 +228,8 @@
    {
      compareType: 'Contains',
      keywords: searchKey.value,
      field: 'Name'
    }
      field: 'Name',
    },
  ]
  pages.page = 1
  pages.currentPage = 1
@@ -256,29 +256,37 @@
// 答题
const answer = (item: any) => {
  router.push({
    path: '/bookService/details/answer',
    query: {
      answerTitle: item.name,
      taskId: item.id,
      groupId: classInfo?.id,
      answerType: 'task'
    }
  ElMessage({
    type: 'warning',
    message: '正在建设中...',
  })
  // router.push({
  //   path: '/bookService/details/answer',
  //   query: {
  //     answerTitle: item.name,
  //     taskId: item.id,
  //     groupId: classInfo?.id,
  //     answerType: 'task',
  //   },
  // })
}
// 预览
const preview = (item: any) => {
  router.push({
    path: '/bookService/details/answer',
    query: {
      answerTitle: item.name,
      taskId: item.id,
      groupId: classInfo?.id,
      answerType: 'task',
      isPreview: 'true'
    }
   ElMessage({
    type: 'warning',
    message: '正在建设中...',
  })
  // router.push({
  //   path: '/bookService/details/answer',
  //   query: {
  //     answerTitle: item.name,
  //     taskId: item.id,
  //     groupId: classInfo?.id,
  //     answerType: 'task',
  //     isPreview: 'true',
  //   },
  // })
}
</script>
@@ -343,6 +351,7 @@
      border-radius: 5px;
      margin: 10px auto;
      padding-bottom: 20px;
      box-sizing: border-box;
      .pubContent {
        height: 800px;
      }
src/views/classManage/talkDetail.vue
@@ -159,7 +159,7 @@
    publisher: userInfo?.name ?? '',
    publishRole: userInfo?.role ?? '',
    icon: userInfo.icon ?? '',
    type: userInfo.type ?? ''
    type: userInfo.type ?? '',
  }
  const data = {
    description: '',
@@ -171,13 +171,13 @@
    content: JSON.stringify(textObj),
    type: 'Normal',
    cmsTypeRefCode: '',
    newDataListRequest: []
    newDataListRequest: [],
  }
  MG.ugc.newTopicMessage(data).then((res: any) => {
    if (res) {
      ElMessage({
        message: '已回复',
        type: 'success'
        type: 'success',
      })
      dialogVisible.value = false
      textarea.value = ''
@@ -190,7 +190,7 @@
const getTopicInfo = () => {
  const pramas = {
    classId: classInfo.id,
    refCodes: [config.refCode.talk]
    refCodes: [config.refCode.talk],
  }
  MG.edu.getClassTopic(pramas).then((res: any) => {
    const list = res
@@ -211,11 +211,11 @@
      {
        keywords: classInfo.MessageName,
        field: 'Name',
        compareType: 'Contains'
      }
        compareType: 'Contains',
      },
    ],
    appRefCode: config.appRefCode,
    topicIdOrRefCode: String(talkTopicInfo.value.id)
    topicIdOrRefCode: String(talkTopicInfo.value.id),
  }
  MG.ugc.getTopicMessageList(data).then((res: any) => {
    const list = res.datas
@@ -231,7 +231,7 @@
      item.createDate = moment(item.createDate).format('YYYY-MM-DD HH:mm:ss')
      item.updateDate = moment(item.updateDate).format('YYYY-MM-DD HH:mm:ss')
      return {
        ...item
        ...item,
      }
    })
    ownData.value = list[0]
@@ -246,7 +246,7 @@
    start: 0,
    size: 999,
    parentId: ownData?.value.id,
    topicIdOrRefCode: String(talkTopicInfo.value.id)
    topicIdOrRefCode: String(talkTopicInfo.value.id),
  }
  MG.ugc.getTopicMessageSubList(data).then((res: any) => {
    const list = res.datas
@@ -265,7 +265,7 @@
      item.createDate = moment(item.createDate).format('YYYY-MM-DD HH:mm:ss')
      item.updateDate = moment(item.updateDate).format('YYYY-MM-DD HH:mm:ss')
      return {
        ...item
        ...item,
      }
    })
  })
@@ -274,13 +274,13 @@
// 删除回复话题
const removeMessageItem = (item: any) => {
  const data = {
    messageIds: [item.id]
    messageIds: [item.id],
  }
  MG.ugc.delTopicMessage(data).then((res: any) => {
    if (res) {
      ElMessage({
        message: '已删除',
        type: 'success'
        type: 'success',
      })
    }
    getMessage()
@@ -298,7 +298,7 @@
    state: 'Normal',
    content: JSON.stringify(item.publicText),
    newDataRequests: [],
    updateDataRequests: []
    updateDataRequests: [],
  }
  MG.ugc
    .updateTopicMessage(data)
@@ -306,7 +306,7 @@
      if (res) {
        ElMessage({
          type: 'success',
          message: '已发布'
          message: '已发布',
        })
        getMessage()
      }
@@ -327,7 +327,6 @@
  background: #fff;
  .classManagePage-nav {
    width: 100%;
    padding: 0 20px;
    height: 40px;
    border-bottom: 1px solid #e6e8ed;
@@ -339,7 +338,6 @@
    background: #fff;
  }
  .classManagePage-content {
    width: 100%;
    position: relative;
    .backBtn {
      width: 100%;
@@ -353,13 +351,14 @@
      z-index: 99;
      background: #fff;
      box-shadow: 0px 0px 20px 1px #eee;
      box-sizing: border-box;
    }
    .talkBox {
      width: 100%;
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      padding: 0 20px;
      padding: 20px;
      box-sizing: border-box;
      .leftBox {
        flex: 1;
        min-width: 500px;
@@ -375,9 +374,11 @@
          height: 60px;
          border-bottom: 1px solid #e7eaec;
          line-height: 60px;
          box-sizing: border-box;
        }
        :deep(.inputBox) {
          padding: 20px 30px;
          box-sizing: border-box;
          position: relative;
          .el-textarea__inner {
@@ -397,7 +398,6 @@
          padding: 0 30px;
          box-sizing: border-box;
          .MessageHeader {
            width: 100%;
            display: flex;
            justify-content: space-between;
            align-items: center;
@@ -411,6 +411,7 @@
          }
          .MessageContent {
            padding: 0 60px;
            box-sizing: border-box;
            padding-bottom: 20px;
            margin-bottom: 10px;
            font-family: PingFang SC;
@@ -442,6 +443,7 @@
          justify-content: space-between;
          align-items: center;
          border-bottom: 1px solid #e7eaec;
          box-sizing: border-box;
          .talkUser {
            display: flex;
@@ -457,6 +459,7 @@
          overflow: auto;
          padding: 20px 30px;
          box-sizing: border-box;
          .contentTilte {
            font-family: PingFang SC;
            font-weight: bold;
src/views/personalCenter/index.vue
@@ -67,13 +67,14 @@
    })
    return false
  }
  if (userInfo.role == 'Teacher') {
    const data: any = menu.filter((item) => item.path != 'myClass')
    listMenu.value = data
  } else {
    const data: any = menu.filter((item) => item.path != 'myCourse')
    listMenu.value = data
  }
  // if (userInfo.role == 'Teacher') {
  //   const data: any = menu.filter((item) => item.path != 'myClass')
  //   listMenu.value = data
  // } else {
  //   const data: any = menu.filter((item) => item.path != 'myCourse')
  //   listMenu.value = data
  // }
  listMenu.value = menu
})
const goRouter = (item: any) => {
  if (!localStorage.getItem(config.tokenKey) || localStorage.getItem(config.tokenKey) == null) {