diff --git a/src/components/course-item/course-item.vue b/src/components/course-item/course-item.vue index 8a1afc60..b37f2105 100644 --- a/src/components/course-item/course-item.vue +++ b/src/components/course-item/course-item.vue @@ -8,7 +8,7 @@ {{itemInfo.crsName}} - {{item.tagName}} + {{item.tagName}} 发布:{{itemInfo.issuTm}} @@ -26,13 +26,17 @@ }, props:{ itemInfo:{ - type:Object, + type: Object, default:()=>({ - crsName: '银行核心业务全流程实践哒哒哒哒', - tagsList:[{tagName:'公斤业务'},{tagName:'初级'}], - publicTime:"2025-01-03", - learnedNum:'2222222' + crsName: '', + tagCataList:[], + publicTime:"", + learnedNum:'' }) + }, + activeTag:{ + default: '', + type: String } }, data() { @@ -40,6 +44,21 @@ }; }, + watch:{ + activeTag:{ + handler(){}, + deep: true, + immediate: true + } + }, + computed:{ + tagsShowList(){ + if(!this.activeTag) return this.itemInfo.tagCataList + let _arr = this.itemInfo.tagCataList.filter(t=> t.tagId === this.activeTag) + let _arr1 = this.itemInfo.tagCataList.filter(t=> t.tagId !== this.activeTag) + return _arr.concat(_arr1) + } + }, methods:{ clickItem(){ this.$emit('clickItem', this.itemInfo) diff --git a/src/pages/course/components/talkingItem.vue b/src/pages/course/components/talkingItem.vue index 3e0a8b89..56b63e2b 100644 --- a/src/pages/course/components/talkingItem.vue +++ b/src/pages/course/components/talkingItem.vue @@ -73,11 +73,12 @@ 重新答 - - + 重新学 + 继续 @@ -228,6 +229,7 @@ const audioCacheObj = computed(() => storageStore.audioObj) type: Object }, }) + const { type, dataInfo, activeVoiceId, isPlaying, isLast, lastQuestionInfo} = toRefs(props) const emit = defineEmits(['changePlay', 'nextQuestion', 'withdraw', 'finishQuestion']) // 声音播放初始化 @@ -547,6 +549,9 @@ const audioCacheObj = computed(() => storageStore.audioObj) margin-top: 16rpx; margin-right: 16rpx; position: relative; + &.replay-study-btn{ + float: right; + } &.restart{ background-color: #eaf2ff; color: #06f; @@ -581,18 +586,6 @@ const audioCacheObj = computed(() => storageStore.audioObj) margin-top: -12rpx; } } - .replay-study-btn{ - width: 162rpx; - height: 62rpx; - border-radius: 8rpx; - float: right; - margin-top: 16rpx; - .icon-iamge{ - width: 100%; - height: 100%; - margin:0; - } - } .next-btn{ float: right; padding: 0 60rpx 0 20rpx; diff --git a/src/pages/course/index.vue b/src/pages/course/index.vue index a8019f2c..6cc5f62b 100644 --- a/src/pages/course/index.vue +++ b/src/pages/course/index.vue @@ -48,7 +48,7 @@ :type="activeTag === ''?'primary':'info'" @click="chooseTag({value:''})" > - {{item.label}} - + {{itemT.label}} - + diff --git a/src/static/images/course/refresh-white.png b/src/static/images/course/refresh-white.png new file mode 100644 index 00000000..554a24c3 Binary files /dev/null and b/src/static/images/course/refresh-white.png differ diff --git a/src/store/socket.js b/src/store/socket.js index 1438823a..c0aeb905 100644 --- a/src/store/socket.js +++ b/src/store/socket.js @@ -14,7 +14,7 @@ export const useSocketStore = defineStore('socketStore',{ } }, actions:{ - creatSocket(){ + creatSocket(url = '/trastudy/trasoket/open?summary='){ if(this.SocketObj && this.SocketObj?.close && !this.SocketObj?.isClose) { return } @@ -22,7 +22,7 @@ export const useSocketStore = defineStore('socketStore',{ this.SocketObj.isClose = false } let _baseUrl = get_base_url().split('http').join('ws') - this.SocketObj = new SocketClass(_baseUrl + '/trastudy/trasoket/open?summary=' + getToken()); + this.SocketObj = new SocketClass(_baseUrl + url + getToken()); }, closeSocket() { if(!(this.SocketObj && this.SocketObj?.close)) return