style:样式
This commit is contained in:
parent
fbf783582d
commit
713b81c4e1
Binary file not shown.
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 14 KiB |
Binary file not shown.
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 58 KiB |
@ -79,9 +79,7 @@ body {
|
||||
/* 响应式容器 */
|
||||
.container {
|
||||
width: 100%;
|
||||
width: 1420px;
|
||||
margin: 0 auto;
|
||||
/* padding: 0 20px; */
|
||||
}
|
||||
|
||||
|
||||
|
@ -29,7 +29,7 @@
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref, onMounted, onUnmounted, watch, nextTick } from 'vue'
|
||||
import { ref, onMounted, watch, nextTick } from 'vue'
|
||||
import Quill from 'quill'
|
||||
import 'quill/dist/quill.snow.css'
|
||||
|
||||
@ -52,7 +52,7 @@ const emit = defineEmits<{
|
||||
|
||||
const editorContainer = ref<HTMLElement>()
|
||||
const quill = ref<Quill>()
|
||||
const fontSize = ref(14)
|
||||
// const fontSize = ref(14)
|
||||
const isBold = ref(false)
|
||||
const isList = ref(false)
|
||||
const showColorPicker = ref(false)
|
||||
@ -111,27 +111,27 @@ const initQuill = () => {
|
||||
})
|
||||
}
|
||||
|
||||
const changeFontSize = () => {
|
||||
if (quill.value) {
|
||||
quill.value.format('size', fontSize.value)
|
||||
}
|
||||
}
|
||||
// const changeFontSize = () => {
|
||||
// if (quill.value) {
|
||||
// quill.value.format('size', fontSize.value)
|
||||
// }
|
||||
// }
|
||||
|
||||
const toggleBold = () => {
|
||||
if (quill.value) {
|
||||
quill.value.format('bold', !isBold.value)
|
||||
}
|
||||
}
|
||||
// const toggleBold = () => {
|
||||
// if (quill.value) {
|
||||
// quill.value.format('bold', !isBold.value)
|
||||
// }
|
||||
// }
|
||||
|
||||
const toggleFontStyle = () => {
|
||||
if (quill.value) {
|
||||
quill.value.format('italic', !quill.value.getFormat().italic)
|
||||
}
|
||||
}
|
||||
// const toggleFontStyle = () => {
|
||||
// if (quill.value) {
|
||||
// quill.value.format('italic', !quill.value.getFormat().italic)
|
||||
// }
|
||||
// }
|
||||
|
||||
const toggleColorPicker = () => {
|
||||
showColorPicker.value = !showColorPicker.value
|
||||
}
|
||||
// const toggleColorPicker = () => {
|
||||
// showColorPicker.value = !showColorPicker.value
|
||||
// }
|
||||
|
||||
const selectColor = (color: string) => {
|
||||
if (quill.value) {
|
||||
@ -140,16 +140,16 @@ const selectColor = (color: string) => {
|
||||
showColorPicker.value = false
|
||||
}
|
||||
|
||||
const toggleList = () => {
|
||||
if (quill.value) {
|
||||
const format = quill.value.getFormat()
|
||||
if (format.list) {
|
||||
quill.value.format('list', false)
|
||||
} else {
|
||||
quill.value.format('list', 'bullet')
|
||||
}
|
||||
}
|
||||
}
|
||||
// const toggleList = () => {
|
||||
// if (quill.value) {
|
||||
// const format = quill.value.getFormat()
|
||||
// if (format.list) {
|
||||
// quill.value.format('list', false)
|
||||
// } else {
|
||||
// quill.value.format('list', 'bullet')
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
const insertImage = () => {
|
||||
const input = document.createElement('input')
|
||||
@ -198,7 +198,7 @@ const addCustomFileButton = () => {
|
||||
if (!quill.value) return
|
||||
|
||||
// 获取工具栏
|
||||
const toolbar = quill.value.getModule('toolbar')
|
||||
const toolbar = quill.value.getModule('toolbar') as any
|
||||
const toolbarElement = toolbar.container
|
||||
|
||||
// 查找最后一个格式组
|
||||
@ -229,7 +229,7 @@ const addCustomFileButton = () => {
|
||||
}
|
||||
}
|
||||
|
||||
watch(() => props.modelValue, (newValue) => {
|
||||
watch(() => props.modelValue, (newValue: string) => {
|
||||
if (quill.value && newValue !== quill.value.root.innerHTML) {
|
||||
quill.value.root.innerHTML = newValue
|
||||
}
|
||||
|
@ -4346,8 +4346,7 @@ onActivated(() => {
|
||||
background: #fff;
|
||||
margin: 0 16px 16px 16px;
|
||||
height: 96px;
|
||||
border-radius: 2px;
|
||||
/* border: 1px solid #979797; */
|
||||
border: 1.5px solid #D5D5D5;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
@ -4380,6 +4379,7 @@ onActivated(() => {
|
||||
background: white;
|
||||
resize: none;
|
||||
position: relative;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.send-button {
|
||||
|
@ -1657,6 +1657,10 @@ onMounted(() => {
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.progress-text span {
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.progress-text .progress-current {
|
||||
color: #000;
|
||||
}
|
||||
|
@ -314,6 +314,99 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="reviews-grid">
|
||||
<div class="content-comments" style="--t:50s">
|
||||
<div>
|
||||
<span>
|
||||
<img src="/images/activity/6.png" alt="" class="avatar-img">
|
||||
<span>通过机器学习、人工神经网络</span>
|
||||
</span>
|
||||
<span>
|
||||
<img src="/images/activity/7.png" alt="" class="avatar-img">
|
||||
<span>通过机器学习、人工神经网络的结构化学</span>
|
||||
</span>
|
||||
<span>
|
||||
<img src="/images/activity/8.png" alt="" class="avatar-img">
|
||||
<span>通过机器学习、人工神经网络的结构化学习,调整语言模</span>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<span>
|
||||
<img src="/images/activity/6.png" alt="" class="avatar-img">
|
||||
<span>通过机器学习、人工神经网络</span>
|
||||
</span>
|
||||
<span>
|
||||
<img src="/images/activity/7.png" alt="" class="avatar-img">
|
||||
<span>通过机器学习、人工神经网络的结构化学</span>
|
||||
</span>
|
||||
<span>
|
||||
<img src="/images/activity/8.png" alt="" class="avatar-img">
|
||||
<span>通过机器学习、人工神经网络的结构化学习,调整语言模</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="content-comments" style="--t:25s">
|
||||
<div>
|
||||
<span>
|
||||
<img src="/images/activity/9.png" alt="" class="avatar-img">
|
||||
<span>通过机器学习、人工神经网络的结构化学</span>
|
||||
</span>
|
||||
<span>
|
||||
<img src="/images/activity/10.png" alt="" class="avatar-img">
|
||||
<span>通过机器学习</span>
|
||||
</span>
|
||||
<span>
|
||||
<img src="/images/activity/11.png" alt="" class="avatar-img">
|
||||
<span>通过机器学习、人工神经网络的结构化学习,调整语言模型和任务格式实</span>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<span>
|
||||
<img src="/images/activity/9.png" alt="" class="avatar-img">
|
||||
<span>通过机器学习、人工神经网络的结构化学</span>
|
||||
</span>
|
||||
<span>
|
||||
<img src="/images/activity/10.png" alt="" class="avatar-img">
|
||||
<span>通过机器学习</span>
|
||||
</span>
|
||||
<span>
|
||||
<img src="/images/activity/11.png" alt="" class="avatar-img">
|
||||
<span>通过机器学习、人工神经网络的结构化学习,调整语言模型和任务格式实</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="content-comments" style="--t:35s">
|
||||
<div>
|
||||
<span>
|
||||
<img src="/images/activity/12.png" alt="" class="avatar-img">
|
||||
<span>通过机器学习、人工神经网络</span>
|
||||
</span>
|
||||
<span>
|
||||
<img src="/images/activity/7.png" alt="" class="avatar-img">
|
||||
<span>通过机器学习、人工神经网络的结构化学</span>
|
||||
</span>
|
||||
<span>
|
||||
<img src="/images/activity/8.png" alt="" class="avatar-img">
|
||||
<span>通过机器学习、人工神经网络的结构化学习,调整语言模</span>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<span>
|
||||
<img src="/images/activity/12.png" alt="" class="avatar-img">
|
||||
<span>通过机器学习、人工神经网络</span>
|
||||
</span>
|
||||
<span>
|
||||
<img src="/images/activity/7.png" alt="" class="avatar-img">
|
||||
<span>通过机器学习、人工神经网络的结构化学</span>
|
||||
</span>
|
||||
<span>
|
||||
<img src="/images/activity/8.png" alt="" class="avatar-img">
|
||||
<span>通过机器学习、人工神经网络的结构化学习,调整语言模</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="content-comments" style="--t:20s">
|
||||
<div>
|
||||
<span>
|
||||
@ -345,100 +438,7 @@
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="content-comments" style="--t:40s">
|
||||
<div>
|
||||
<span>
|
||||
<img src="/images/activity/9.png" alt="" class="avatar-img">
|
||||
<span>通过机器学习、人工神经网络的结构化学</span>
|
||||
</span>
|
||||
<span>
|
||||
<img src="/images/activity/10.png" alt="" class="avatar-img">
|
||||
<span>通过机器学习</span>
|
||||
</span>
|
||||
<span>
|
||||
<img src="/images/activity/11.png" alt="" class="avatar-img">
|
||||
<span>通过机器学习、人工神经网络的结构化学习,调整语言模型和任务格式实</span>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<span>
|
||||
<img src="/images/activity/9.png" alt="" class="avatar-img">
|
||||
<span>通过机器学习、人工神经网络的结构化学</span>
|
||||
</span>
|
||||
<span>
|
||||
<img src="/images/activity/10.png" alt="" class="avatar-img">
|
||||
<span>通过机器学习</span>
|
||||
</span>
|
||||
<span>
|
||||
<img src="/images/activity/11.png" alt="" class="avatar-img">
|
||||
<span>通过机器学习、人工神经网络的结构化学习,调整语言模型和任务格式实</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="content-comments" style="--t:30s">
|
||||
<div>
|
||||
<span>
|
||||
<img src="/images/activity/12.png" alt="" class="avatar-img">
|
||||
<span>通过机器学习、人工神经网络</span>
|
||||
</span>
|
||||
<span>
|
||||
<img src="/images/activity/7.png" alt="" class="avatar-img">
|
||||
<span>通过机器学习、人工神经网络的结构化学</span>
|
||||
</span>
|
||||
<span>
|
||||
<img src="/images/activity/8.png" alt="" class="avatar-img">
|
||||
<span>通过机器学习、人工神经网络的结构化学习,调整语言模</span>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<span>
|
||||
<img src="/images/activity/12.png" alt="" class="avatar-img">
|
||||
<span>通过机器学习、人工神经网络</span>
|
||||
</span>
|
||||
<span>
|
||||
<img src="/images/activity/7.png" alt="" class="avatar-img">
|
||||
<span>通过机器学习、人工神经网络的结构化学</span>
|
||||
</span>
|
||||
<span>
|
||||
<img src="/images/activity/8.png" alt="" class="avatar-img">
|
||||
<span>通过机器学习、人工神经网络的结构化学习,调整语言模</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="content-comments" style="--t:10s">
|
||||
<div>
|
||||
<span>
|
||||
<img src="/images/activity/6.png" alt="" class="avatar-img">
|
||||
<span>通过机器学习、人工神经网络</span>
|
||||
</span>
|
||||
<span>
|
||||
<img src="/images/activity/7.png" alt="" class="avatar-img">
|
||||
<span>通过机器学习、人工神经网络的结构化学</span>
|
||||
</span>
|
||||
<span>
|
||||
<img src="/images/activity/8.png" alt="" class="avatar-img">
|
||||
<span>通过机器学习、人工神经网络的结构化学习,调整语言模</span>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<span>
|
||||
<img src="/images/activity/6.png" alt="" class="avatar-img">
|
||||
<span>通过机器学习、人工神经网络</span>
|
||||
</span>
|
||||
<span>
|
||||
<img src="/images/activity/7.png" alt="" class="avatar-img">
|
||||
<span>通过机器学习、人工神经网络的结构化学</span>
|
||||
</span>
|
||||
<span>
|
||||
<img src="/images/activity/8.png" alt="" class="avatar-img">
|
||||
<span>通过机器学习、人工神经网络的结构化学习,调整语言模</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="content-comments" style="--t:20s">
|
||||
<div class="content-comments" style="--t:42s">
|
||||
<div>
|
||||
<span>
|
||||
<img src="/images/activity/6.png" alt="" class="avatar-img">
|
||||
|
@ -2279,7 +2279,7 @@ button:active {
|
||||
.details-container {
|
||||
width: 1420px;
|
||||
margin: 30px auto;
|
||||
background: rgba(246, 246, 246, 0.3);
|
||||
background: #F9F9F9;
|
||||
border: 1.5px solid #fff;
|
||||
padding: 30px 20px;
|
||||
}
|
||||
|
@ -1491,9 +1491,9 @@ const executeSubmit = () => {
|
||||
// }
|
||||
|
||||
// 返回课程
|
||||
const goBack = () => {
|
||||
router.push(`/course/${courseId.value}`)
|
||||
}
|
||||
// const goBack = () => {
|
||||
// router.push(`/course/${courseId.value}`)
|
||||
// }
|
||||
|
||||
// 返回课程列表
|
||||
const goHome = () => {
|
||||
@ -1549,10 +1549,10 @@ const closePracticeResult = () => {
|
||||
}
|
||||
|
||||
// 查看练习详情
|
||||
const reviewPractice = () => {
|
||||
// 这里可以实现查看练习详情的功能
|
||||
console.log('查看练习详情')
|
||||
}
|
||||
// const reviewPractice = () => {
|
||||
// // 这里可以实现查看练习详情的功能
|
||||
// console.log('查看练习详情')
|
||||
// }
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
@ -1077,7 +1077,7 @@
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref, computed, onMounted, onActivated, reactive } from 'vue'
|
||||
import { useMessage, NUpload, NInput, NForm, NFormItem, NButton } from 'naive-ui'
|
||||
import { useMessage, NInput, NForm, NFormItem } from 'naive-ui'
|
||||
import { useI18n } from 'vue-i18n'
|
||||
import { useUserStore } from '@/stores/user'
|
||||
import SafeAvatar from '@/components/common/SafeAvatar.vue'
|
||||
@ -2768,20 +2768,6 @@ const submitAssignment = () => {
|
||||
closeUploadModal()
|
||||
}
|
||||
|
||||
// 自定义上传处理
|
||||
const customRequest = ({ file, onFinish }: any) => {
|
||||
// 模拟上传
|
||||
setTimeout(() => {
|
||||
uploadForm.files.push(file)
|
||||
onFinish()
|
||||
}, 1000)
|
||||
}
|
||||
|
||||
// 删除文件
|
||||
const removeFile = (index: number) => {
|
||||
uploadForm.files.splice(index, 1)
|
||||
}
|
||||
|
||||
onMounted(() => {
|
||||
// 初始化
|
||||
// 检查是否需要刷新
|
||||
|
@ -466,7 +466,6 @@ const allImages = ref([
|
||||
|
||||
/* 全部视频区域 */
|
||||
.all-videos {
|
||||
margin-left: -130px;
|
||||
width: 100vw;
|
||||
padding: 40px 0;
|
||||
background-color: #fff;
|
||||
|
@ -221,7 +221,7 @@ onMounted(() => {
|
||||
/* 基础样式 */
|
||||
.special-training-page {
|
||||
min-height: 100vh;
|
||||
background: #f5f5f5;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.container {
|
||||
@ -254,6 +254,8 @@ onMounted(() => {
|
||||
|
||||
/* 筛选标签 */
|
||||
.filter-section {
|
||||
width: 1420px;
|
||||
margin: 0 auto;
|
||||
background: white;
|
||||
padding: 0;
|
||||
}
|
||||
@ -291,6 +293,8 @@ onMounted(() => {
|
||||
|
||||
/* 训练内容区域 */
|
||||
.training-content {
|
||||
width: 1420px;
|
||||
margin: 0 auto;
|
||||
padding: 40px 0;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user