Compare commits

...

6 Commits

Author SHA1 Message Date
朱浩 5cc93bb093 Merge pull request 'zhuhao_dev' (#404) from zhuhao_dev into main
Reviewed-on: #404
2024-11-12 15:53:26 +08:00
朱浩 eefa9aff63 三方资源加入备课 2024-11-12 15:50:38 +08:00
朱浩 3ef73885e1 三方资源加入备课 2024-11-12 15:47:24 +08:00
朱浩 d50327bc17 去除测试 2024-11-12 15:34:14 +08:00
朱浩 77921f7e61 Merge branch 'main' into zhuhao_dev 2024-11-12 14:49:26 +08:00
朱浩 ac1cad8fd0 添加回调 2024-11-12 14:49:16 +08:00
4 changed files with 50 additions and 16 deletions

View File

@ -53,3 +53,14 @@ export const moveSmarttalk = (params) => {
params params
}) })
} }
export const addFileToPrepareThird = (data) => {
return request({
url: '/smarttalk/file/addFileToPrepareThird',
method: 'post',
headers: {
'Content-Type': 'multipart/form-data'
},
data
})
}

View File

@ -22,7 +22,7 @@
import { ref, defineExpose,defineEmits } from 'vue' import { ref, defineExpose,defineEmits } from 'vue'
import ChooseTextbook from './chooseTextbook.vue' import ChooseTextbook from './chooseTextbook.vue'
const emit = defineEmits(['onsuccess']) const emit = defineEmits(['onsuccess'])
const dialogVisible = ref(false) const dialogVisible = ref(false)
const getNodeInfo = ref({}) const getNodeInfo = ref({})
@ -48,7 +48,7 @@
const nodeClick = (data) => { const nodeClick = (data) => {
getNodeInfo.value = { getNodeInfo.value = {
textbookId:data.node.rootid, textbookId:data.node.rootid,
bookList:getFullObj(data.node) cataList:getFullObj(data.node)
} }
console.log(getNodeInfo.value,'log') console.log(getNodeInfo.value,'log')
} }

View File

@ -2,7 +2,6 @@
<div v-loading="isLoading" class="page-resource flex"> <div v-loading="isLoading" class="page-resource flex">
<ChooseTextbook @node-click="nodeClick" /> <ChooseTextbook @node-click="nodeClick" />
<div class="page-center-wrap"> <div class="page-center-wrap">
<el-button @click="openChapter" type="primary">打开章节</el-button>
<el-tabs v-model="activeAptTab" style="height: 100%;"> <el-tabs v-model="activeAptTab" style="height: 100%;">
<el-tab-pane label="教学课件" name="教学课件" class="prepare-center-jxkj"> <el-tab-pane label="教学课件" name="教学课件" class="prepare-center-jxkj">
<div class="prepare-center-header"> <div class="prepare-center-header">
@ -141,8 +140,6 @@
<!-- 上课配置 --> <!-- 上课配置 -->
<class-start ref="calssRef" @close="closeChange"/> <class-start ref="calssRef" @close="closeChange"/>
<PptDialog @add-success="addAiPPT" :currentNode="currentNode" :uploadData="uploadData" v-model="pptDialog"/> <PptDialog @add-success="addAiPPT" :currentNode="currentNode" :uploadData="uploadData" v-model="pptDialog"/>
<!-- 章节弹窗 -->
<TreeLog ref="treelogRef"/>
<!-- <button @click="test">test</button> --> <!-- <button @click="test">test</button> -->
</template> </template>
<script setup> <script setup>
@ -637,7 +634,7 @@ export default {
}, },
async nodeClick(data) { async nodeClick(data) {
console.log(data,'data'); console.log(data,'data');
if (this.currentNode.id === data.node.id) return if (this.currentNode.id === data.node.id) return
this.curBookImg = data.textBook.curBookImg this.curBookImg = data.textBook.curBookImg
this.curBookPath = data.textBook.curBookPath this.curBookPath = data.textBook.curBookPath
@ -796,11 +793,6 @@ export default {
'&reservId=' + '&reservId=' +
id id
}) })
},
//
openChapter(){
//
this.$refs.treelogRef.openDialog()
} }
} }
} }

View File

@ -50,6 +50,10 @@
</div> </div>
</div> </div>
</div> </div>
<el-button v-loading="item.loading" size="small" plain round type="primary" @click.stop="openChapter(item)">
<i class="iconfont icon-jiahao"></i>
备课</el-button
>
</li> </li>
</ul> </ul>
</el-scrollbar> </el-scrollbar>
@ -66,25 +70,27 @@
/> />
</div> </div>
<FilePreview ref="thirdPreview" v-model="isViewImg"></FilePreview> <FilePreview ref="thirdPreview" v-model="isViewImg"></FilePreview>
<TreeLog ref="treelogRef" @onsuccess="addToPrepare"/>
</div> </div>
</template> </template>
<script setup> <script setup>
import { ref } from 'vue' import { ref } from 'vue'
// import { ElMessage, ElMessageBox } from 'element-plus' import { ElMessage } from 'element-plus'
import { Clock,View,Folder,Search } from '@element-plus/icons-vue' import { Clock,View,Folder } from '@element-plus/icons-vue'
import FileImage from '@/components/file-image/index.vue' import FileImage from '@/components/file-image/index.vue'
import FilePreview from '@/components/thirdFile-preview/index.vue' import FilePreview from '@/components/thirdFile-preview/index.vue'
import useUserStore from '@/store/modules/user'
import useResoureStore from '../store' import useResoureStore from '../store'
import { addFileToPrepareThird } from '@/api/file'
import TreeLog from '@/views/prepare/components/treeLog.vue'
const userstore = useUserStore()
const sourceStore = useResoureStore() const sourceStore = useResoureStore()
// const userInfo = userstore.user
// //
const isViewImg = ref(false) const isViewImg = ref(false)
const thirdPreview = ref() const thirdPreview = ref()
const treelogRef = ref()
const currentItem = ref()
// change // change
const handleSizeChange = (limit) => { const handleSizeChange = (limit) => {
@ -114,6 +120,31 @@ const handleRow = (item) => {
isViewImg.value = true isViewImg.value = true
thirdPreview.value.init(item.itemId) thirdPreview.value.init(item.itemId)
} }
const openChapter = (item)=>{
currentItem.value = item
//
treelogRef.value.openDialog()
}
const addToPrepare = (data) => {
console.log(data)
let chapterArr = []
for (let i = 0; i < data.cataList.length; i++) {
chapterArr.push({id: data.cataList[i].id,name: data.cataList[i].title})
}
let postData = {
itemId: currentItem.value.itemId,
textBookId: data.textbookId,
chapter: JSON.stringify(chapterArr)
}
currentItem.value.loading = true
addFileToPrepareThird(postData).then((res) => {
currentItem.value.loading = false
console.log(res)
if (res.code === 200) {
ElMessage.success("加入备课成功")
}
})
}
</script> </script>
<style lang="scss"> <style lang="scss">