mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-student.git
synced 2025-12-09 02:46:48 +08:00
Merge branch 'develop' of ssh://gitlab.dongwu-inc.com:10022/BOE/fe-stu into develop
This commit is contained in:
@@ -5,11 +5,12 @@
|
||||
<div>课程列表</div>
|
||||
<div style="margin-left: 6px; margin-right: 6px">/</div>
|
||||
<div style="font-weight: 700">课程详情</div>
|
||||
|
||||
|
||||
|
||||
<div v-if="pName != ''" class="return">
|
||||
<div style="display: flex" @click="returnclick">
|
||||
<el-button style="color:#0073FB"> <img class="img2" style="margin-right:11px;cursor: pointer;" src="../../assets/image/return.png" />返回</el-button>
|
||||
<el-button style="color:#0073FB"> <img class="img2" style="margin-right:11px;cursor: pointer;"
|
||||
src="../../assets/image/return.png" />返回</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -50,94 +51,62 @@
|
||||
</div>
|
||||
<!-- 基本信息 -->
|
||||
|
||||
<!-- 详细信息 -->
|
||||
<div class="detailinfo">
|
||||
<div class="detail">
|
||||
<div class="detailT">
|
||||
<div class="" style="margin-left: 48px; margin-right: 48px">
|
||||
<div class="title">
|
||||
<img
|
||||
style="width: 20px; height: 20px"
|
||||
src="../../assets/image/course.png"
|
||||
/>
|
||||
<div class="text">课程详情</div>
|
||||
<div class="box"></div>
|
||||
</div>
|
||||
<div style="display: flex; align-items: center">
|
||||
<div class="content" v-html="data.offcourseDto?.intro"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="detailB">
|
||||
<el-tabs v-model="activeName" @tab-click="handleClick">
|
||||
<el-tab-pane label="课程附件" name="first">
|
||||
<div
|
||||
v-if="data.planDto?.attach === '[]'"
|
||||
style="
|
||||
<!-- 详细信息 -->
|
||||
<div class="detailinfo">
|
||||
<div class="detail">
|
||||
<div class="detailT">
|
||||
<div class="" style="margin-left: 48px; margin-right: 48px">
|
||||
<div class="title">
|
||||
<img style="width: 20px; height: 20px" src="../../assets/image/course.png" />
|
||||
<div class="text">课程详情</div>
|
||||
<div class="box"></div>
|
||||
</div>
|
||||
<div style="display: flex; align-items: center">
|
||||
<div class="content" v-html="data.offcourseDto?.intro"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="detailB">
|
||||
<el-tabs v-model="activeName" @tab-click="handleClick">
|
||||
<el-tab-pane label="课程附件" name="first">
|
||||
<div v-if="data.planDto?.attach === '[]'" style="
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
line-height: 24px;
|
||||
cursor: pointer;
|
||||
margin-left: 40px;
|
||||
margin-top: 20px;
|
||||
"
|
||||
>
|
||||
此课程无附件
|
||||
</div>
|
||||
<div v-else>
|
||||
<div
|
||||
v-for="(el, index) in JSON.parse(data.planDto?.attach)"
|
||||
:key="index"
|
||||
|
||||
class="enclosure"
|
||||
:style="{ borderBottom: '1px solid rgba(56, 125, 247, 0.2)' }"
|
||||
>
|
||||
<div class="enclosureL">
|
||||
<FileTypeImg
|
||||
v-model="el.name"
|
||||
:style="{
|
||||
width: '22px',
|
||||
height: '26px',
|
||||
marginLeft: '10px',
|
||||
}"
|
||||
></FileTypeImg>
|
||||
<div style="margin-left: 20px">{{ el.name }}</div>
|
||||
</div>
|
||||
<div
|
||||
v-if="new Date(data.planDto.beginTime).getTime() > new Date().getTime()"
|
||||
class="download">
|
||||
<img
|
||||
style="width: 16px; height: 15px"
|
||||
src="../../assets/image/download.png"
|
||||
/>
|
||||
<div
|
||||
style="margin-left: 5px;color:#999;"
|
||||
@click="downloads(el.response.data)"
|
||||
>
|
||||
下载
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
v-else
|
||||
class="download">
|
||||
<img
|
||||
style="width: 16px; height: 15px"
|
||||
src="../../assets/image/download.png"
|
||||
/>
|
||||
<div
|
||||
style="margin-left: 5px"
|
||||
@click="download(el.response.data)"
|
||||
>
|
||||
下载
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="课程作业" name="second">
|
||||
<div
|
||||
v-if="data.planDto?.attach === '[]'"
|
||||
style="
|
||||
">
|
||||
此课程无附件
|
||||
</div>
|
||||
<div v-else>
|
||||
<div v-for="(el, index) in JSON.parse(data.planDto?.attach)" :key="index" class="enclosure"
|
||||
:style="{ borderBottom: '1px solid rgba(56, 125, 247, 0.2)' }">
|
||||
<div class="enclosureL">
|
||||
<FileTypeImg v-model="el.name" :style="{
|
||||
width: '22px',
|
||||
height: '26px',
|
||||
marginLeft: '10px',
|
||||
}"></FileTypeImg>
|
||||
<div style="margin-left: 20px">{{ el.name }}</div>
|
||||
</div>
|
||||
<div v-if="new Date(data.planDto.beginTime).getTime() > new Date().getTime()" class="download">
|
||||
<img style="width: 16px; height: 15px" src="../../assets/image/download.png" />
|
||||
<div style="margin-left: 5px;color:#999;" @click="downloads(el.response.data)">
|
||||
下载
|
||||
</div>
|
||||
</div>
|
||||
<div v-else class="download">
|
||||
<img style="width: 16px; height: 15px" src="../../assets/image/download.png" />
|
||||
<div style="margin-left: 5px" @click="download(el.response.data)">
|
||||
下载
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="课程作业" name="second">
|
||||
<div v-if="data.planDto?.attach === '[]'" style="
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
line-height: 24px;
|
||||
@@ -367,6 +336,9 @@ function toSurvery() {
|
||||
query: {
|
||||
courseId: data.value.planDto.evaluateId,
|
||||
pName: "面授课",
|
||||
taskId: taskId,
|
||||
taskIds: taskId,
|
||||
chapterOrStageId: 0,
|
||||
sName: data.value.planDto.name,
|
||||
type: 3
|
||||
},
|
||||
@@ -400,6 +372,9 @@ function toWork() {
|
||||
query: {
|
||||
courseId: data.value.workDto.workId,
|
||||
id: taskId,
|
||||
taskId: taskId,
|
||||
taskIds: taskId,
|
||||
chapterOrStageId: 0,
|
||||
type,
|
||||
pName: "面授课",
|
||||
sName: data.value.planDto.name,
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<div>{{ pName }}</div>
|
||||
<div style="margin-left: 6px; margin-right: 6px">/</div>
|
||||
<div>{{ sName }}</div>
|
||||
<div style="margin-left: 6px; margin-right: 6px">/</div>
|
||||
<div v-if="sName" style="margin-left: 6px; margin-right: 6px">/</div>
|
||||
<div style="font-weight: 700; font-size: 16px">直播详情</div>
|
||||
<!--
|
||||
<div class="preNext">
|
||||
@@ -15,13 +15,14 @@
|
||||
<span class="content" style="margin-left: 31px">下一个</span>
|
||||
<button class="btn btn02" style="margin-left: 6px"></button>
|
||||
</div>-->
|
||||
<div class="return">
|
||||
<div class="return">
|
||||
<div style="display: flex" @click="returnclick">
|
||||
<el-button style="color:#0073FB"> <img class="img2" style="margin-right:11px;cursor: pointer;" src="../../assets/image/return.png" />返回</el-button>
|
||||
<el-button style="color:#0073FB"> <img class="img2" style="margin-right:11px;cursor: pointer;"
|
||||
src="../../assets/image/return.png" />返回</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 面包屑导航 -->
|
||||
</div>
|
||||
<!-- 面包屑导航 -->
|
||||
|
||||
<!-- 基本信息 -->
|
||||
<div class="bascinfo">
|
||||
@@ -206,10 +207,22 @@ const commitClick = () => {
|
||||
return;
|
||||
}
|
||||
|
||||
console.log({
|
||||
courseId: data.value.assessmentId,
|
||||
taskIds: taskId,
|
||||
chapterOrStageId: 0,
|
||||
pName: "直播",
|
||||
sName: data.value.liveName,
|
||||
type: 4
|
||||
})
|
||||
|
||||
router.push({
|
||||
path: "/surveydetail",
|
||||
query: {
|
||||
courseId: data.value.assessmentId,
|
||||
taskId: taskId,
|
||||
taskIds: taskId,
|
||||
chapterOrStageId: 0,
|
||||
pName: "直播",
|
||||
sName: data.value.liveName,
|
||||
type: 4
|
||||
|
||||
@@ -8,7 +8,8 @@
|
||||
|
||||
<div class="return">
|
||||
<div style="display: flex" @click="returnclick">
|
||||
<el-button style="color:#0073FB"> <img class="img2" style="margin-right:11px;cursor: pointer;" src="../../assets/image/return.png" />返回</el-button>
|
||||
<el-button style="color:#0073FB"> <img class="img2" style="margin-right:11px;cursor: pointer;"
|
||||
src="../../assets/image/return.png" />返回</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -466,6 +467,8 @@ function toFinish(d, sName, chapterOrStageId) {
|
||||
query: {
|
||||
id: d.projectTaskId,
|
||||
type: 2,
|
||||
taskId: data.value.projectId,
|
||||
taskIds: data.value.projectId,
|
||||
courseId: d.courseId,
|
||||
pName: data.value.name,
|
||||
sName,
|
||||
|
||||
@@ -8,13 +8,14 @@
|
||||
|
||||
<div class="return">
|
||||
<div style="display: flex" @click="returnclick">
|
||||
<el-button style="color:#0073FB"> <img class="img2" style="margin-right:11px;cursor: pointer;" src="../../assets/image/return.png" />返回</el-button>
|
||||
<el-button style="color:#0073FB"> <img class="img2" style="margin-right:11px;cursor: pointer;"
|
||||
src="../../assets/image/return.png" />返回</el-button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<!-- 面包屑导航 -->
|
||||
|
||||
</div>
|
||||
<!-- 面包屑导航 -->
|
||||
|
||||
<div class="pdname">
|
||||
{{ userInfo.bandDesc }}
|
||||
@@ -406,6 +407,8 @@ function toFinish(d) {
|
||||
// id: d.routerTaskId,
|
||||
id: routerId,
|
||||
type: 1,
|
||||
taskId: routerId,
|
||||
taskIds: routerId,
|
||||
courseId: d.courseId,
|
||||
pName: data.value.name,
|
||||
sName: data.value.currentStageName,
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<div>{{ pName }}</div>
|
||||
<div style="margin-left: 6px; margin-right: 6px">/</div>
|
||||
<div>{{ sName }}</div>
|
||||
<div style="margin-left: 6px; margin-right: 6px">/</div>
|
||||
<div v-if="sName" style="margin-left: 6px; margin-right: 6px">/</div>
|
||||
<div style="font-weight: 700; font-size: 16px">评估详情</div>
|
||||
</div>
|
||||
<!--
|
||||
@@ -25,20 +25,21 @@
|
||||
src="../../assets/image/next.png"
|
||||
/>
|
||||
</div>-->
|
||||
<div class="return">
|
||||
<div class="return">
|
||||
<div style="display: flex" @click="returnclick">
|
||||
<el-button style="color:#0073FB"> <img class="img2" style="margin-right:11px;cursor: pointer;" src="../../assets/image/return.png" />返回</el-button>
|
||||
<el-button style="color:#0073FB"> <img class="img2" style="margin-right:11px;cursor: pointer;"
|
||||
src="../../assets/image/return.png" />返回</el-button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 面包屑导航 -->
|
||||
<!-- 标题 -->
|
||||
<div class="title">【评估】{{data.assessmentName}}</div>
|
||||
<!-- 标题 -->
|
||||
<!-- 基本信息 -->
|
||||
<div class="bascinfo">
|
||||
<div>
|
||||
<!-- {{ [data.assessmentEssayQuestionDtoList,data.assessmentMultipleChoiceDtoList,data.assessmentScoringQuestionDtoList,data.assessmentSingleChoiceDtoList].sort((a,b)=>{
|
||||
</div>
|
||||
<!-- 面包屑导航 -->
|
||||
<!-- 标题 -->
|
||||
<div class="title">【评估】{{ data.assessmentName }}</div>
|
||||
<!-- 标题 -->
|
||||
<!-- 基本信息 -->
|
||||
<div class="bascinfo">
|
||||
<div>
|
||||
<!-- {{ [data.assessmentEssayQuestionDtoList,data.assessmentMultipleChoiceDtoList,data.assessmentScoringQuestionDtoList,data.assessmentSingleChoiceDtoList].sort((a,b)=>{
|
||||
return a[0].orderNumber - b[0].orderNumber
|
||||
}) }} -->
|
||||
|
||||
@@ -332,7 +333,7 @@ import { ElMessage } from "element-plus";
|
||||
import { ref } from "vue";
|
||||
|
||||
const {
|
||||
query: { courseId, id: taskId, type, pName, sName, chapterOrStageId },
|
||||
query: { courseId, id: taskId, taskIds, type, pName, sName, chapterOrStageId },
|
||||
} = useRoute();
|
||||
const router = useRouter();
|
||||
const returnclick = () => {
|
||||
@@ -351,7 +352,8 @@ function formateArr(arr1) {
|
||||
return newarr
|
||||
}
|
||||
|
||||
const { data } = useRequest(ASSESSMENT_QUERY(courseId), { id: courseId, type, chapterOrStageId, targetId: taskId });
|
||||
const { data } = useRequest(ASSESSMENT_QUERY(courseId), { id: courseId, type, chapterOrStageId, targetId: taskIds ? taskIds : 0 });
|
||||
console.log('我是查询评估的参数', { id: courseId, type, chapterOrStageId, targetId: taskIds ? taskIds : 0 })
|
||||
console.log('我是需要排序得题目', data)
|
||||
|
||||
function goHome() {
|
||||
@@ -366,10 +368,10 @@ function submit() {
|
||||
if (1 > 0) {
|
||||
console.log(data)
|
||||
console.log('我是提交的数据', {
|
||||
targetId: taskId, // 项目、路径图或开课的Id
|
||||
chapterOrStageId: chapterOrStageId, // 关卡或者阶段Id 关卡Id不允许为空
|
||||
targetId: taskId ? taskId : taskIds ? taskIds : 0, // 项目、路径图或开课的Id
|
||||
chapterOrStageId: chapterOrStageId ? chapterOrStageId : 0, // 关卡或者阶段Id 关卡Id不允许为空
|
||||
assessmentId: courseId,
|
||||
taskId,
|
||||
taskId: taskId ? taskId : taskIds ? taskIds : 0,
|
||||
type,
|
||||
result: JSON.stringify(data.value),
|
||||
})
|
||||
@@ -418,12 +420,13 @@ function submit() {
|
||||
return ElMessage.warning("您有未填写的评估题干");
|
||||
}
|
||||
}
|
||||
|
||||
data.value.isSubmit = !data.value.isSubmit;
|
||||
request(ASSESSMENT_SUBMIT, {
|
||||
targetId: taskId, // 项目、路径图或开课的Id
|
||||
chapterOrStageId: chapterOrStageId, // 关卡或者阶段Id 关卡Id不允许为空
|
||||
targetId: taskIds ? taskIds : 0, // 项目、路径图或开课的Id
|
||||
chapterOrStageId: chapterOrStageId ? chapterOrStageId : 0, // 关卡或者阶段Id 关卡Id不允许为空
|
||||
assessmentId: courseId,
|
||||
taskId,
|
||||
taskId: taskIds ? taskIds : 0,
|
||||
type,
|
||||
result: JSON.stringify(data.value),
|
||||
}).then(() => {
|
||||
|
||||
163
vite.config.js
163
vite.config.js
@@ -13,85 +13,88 @@ const path = require('path')
|
||||
|
||||
export default defineConfig(({ command, mode }) =>
|
||||
({
|
||||
base: loadEnv(mode, process.cwd()).VITE_BASE,
|
||||
plugins: [
|
||||
vue(),
|
||||
// legacy({
|
||||
// targets: ['chrome 64', 'defaults', 'not IE 11']
|
||||
// }),
|
||||
topLevelAwait({
|
||||
promiseExportName: '__tla',
|
||||
promiseImportName: i => `__tla_${i}`
|
||||
}),
|
||||
// viteMockServe({
|
||||
// mockPath: './src/mock/mocks',
|
||||
// })
|
||||
],
|
||||
resolve: {
|
||||
alias: [
|
||||
{ find: '@', replacement: path.resolve(__dirname, 'src') }
|
||||
]
|
||||
},
|
||||
server: {
|
||||
proxy: {
|
||||
'/file/upload': {
|
||||
target: loadEnv(mode, process.cwd()).VITE_PROXY_URL,
|
||||
changeOrigin: true,
|
||||
},
|
||||
'/stu': {
|
||||
target: loadEnv(mode, process.cwd()).VITE_PROXY_URL,
|
||||
changeOrigin: true,
|
||||
},
|
||||
'/queryVoteSubmitDetailById': {
|
||||
target: loadEnv(mode, process.cwd()).VITE_PROXY_URL,
|
||||
changeOrigin: true,
|
||||
},
|
||||
'/work': {
|
||||
target: loadEnv(mode, process.cwd()).VITE_PROXY_URL,
|
||||
changeOrigin: true,
|
||||
},
|
||||
'/discuss': {
|
||||
target: loadEnv(mode, process.cwd()).VITE_PROXY_URL,
|
||||
changeOrigin: true,
|
||||
},
|
||||
'/discussSubmit': {
|
||||
target: loadEnv(mode, process.cwd()).VITE_PROXY_URL,
|
||||
changeOrigin: true,
|
||||
},
|
||||
'/comment': {
|
||||
target: loadEnv(mode, process.cwd()).VITE_PROXY_URL,
|
||||
changeOrigin: true,
|
||||
},
|
||||
'/vote': {
|
||||
target: loadEnv(mode, process.cwd()).VITE_PROXY_URL,
|
||||
changeOrigin: true,
|
||||
},
|
||||
'/admin': {
|
||||
target: loadEnv(mode, process.cwd()).VITE_PROXY_URL,
|
||||
changeOrigin: true,
|
||||
}, '/activity': {
|
||||
target: loadEnv(mode, process.cwd()).VITE_PROXY_URL,
|
||||
changeOrigin: true,
|
||||
}, '/liveBroadcast': {
|
||||
target: loadEnv(mode, process.cwd()).VITE_PROXY_URL,
|
||||
changeOrigin: true,
|
||||
}, '/examination': {
|
||||
target: loadEnv(mode, process.cwd()).VITE_PROXY_URL,
|
||||
changeOrigin: true,
|
||||
}, '/assessment': {
|
||||
target: loadEnv(mode, process.cwd()).VITE_PROXY_URL,
|
||||
changeOrigin: true,
|
||||
}, '/workSubmit': {
|
||||
target: loadEnv(mode, process.cwd()).VITE_PROXY_URL,
|
||||
changeOrigin: true,
|
||||
}, '/userbasic': {
|
||||
target: 'https://u-pre.boe.com',
|
||||
changeOrigin: true,
|
||||
}, '/link': {
|
||||
target: loadEnv(mode, process.cwd()).VITE_PROXY_URL,
|
||||
changeOrigin: true,
|
||||
},
|
||||
}
|
||||
}
|
||||
base: loadEnv(mode, process.cwd()).VITE_BASE,
|
||||
plugins: [
|
||||
vue(),
|
||||
// legacy({
|
||||
// targets: ['chrome 64', 'defaults', 'not IE 11']
|
||||
// }),
|
||||
topLevelAwait({
|
||||
promiseExportName: '__tla',
|
||||
promiseImportName: i => `__tla_${i}`
|
||||
}),
|
||||
// viteMockServe({
|
||||
// mockPath: './src/mock/mocks',
|
||||
// })
|
||||
],
|
||||
resolve: {
|
||||
alias: [
|
||||
{ find: '@', replacement: path.resolve(__dirname, 'src') }
|
||||
]
|
||||
},
|
||||
server: {
|
||||
proxy: {
|
||||
'/file/upload': {
|
||||
target: loadEnv(mode, process.cwd()).VITE_PROXY_URL,
|
||||
changeOrigin: true,
|
||||
},
|
||||
'/stu': {
|
||||
target: loadEnv(mode, process.cwd()).VITE_PROXY_URL,
|
||||
changeOrigin: true,
|
||||
},
|
||||
'/queryVoteSubmitDetailById': {
|
||||
target: loadEnv(mode, process.cwd()).VITE_PROXY_URL,
|
||||
changeOrigin: true,
|
||||
},
|
||||
'/work': {
|
||||
target: loadEnv(mode, process.cwd()).VITE_PROXY_URL,
|
||||
changeOrigin: true,
|
||||
},
|
||||
'/discuss': {
|
||||
target: loadEnv(mode, process.cwd()).VITE_PROXY_URL,
|
||||
changeOrigin: true,
|
||||
},
|
||||
'/discussSubmit': {
|
||||
target: loadEnv(mode, process.cwd()).VITE_PROXY_URL,
|
||||
changeOrigin: true,
|
||||
},
|
||||
'/comment': {
|
||||
target: loadEnv(mode, process.cwd()).VITE_PROXY_URL,
|
||||
changeOrigin: true,
|
||||
},
|
||||
'/vote': {
|
||||
target: loadEnv(mode, process.cwd()).VITE_PROXY_URL,
|
||||
changeOrigin: true,
|
||||
},
|
||||
'/admin': {
|
||||
target: loadEnv(mode, process.cwd()).VITE_PROXY_URL,
|
||||
changeOrigin: true,
|
||||
}, '/activity': {
|
||||
target: loadEnv(mode, process.cwd()).VITE_PROXY_URL,
|
||||
changeOrigin: true,
|
||||
}, '/liveBroadcast': {
|
||||
target: loadEnv(mode, process.cwd()).VITE_PROXY_URL,
|
||||
changeOrigin: true,
|
||||
}, '/examination': {
|
||||
target: loadEnv(mode, process.cwd()).VITE_PROXY_URL,
|
||||
changeOrigin: true,
|
||||
}, '/assessment': {
|
||||
target: loadEnv(mode, process.cwd()).VITE_PROXY_URL,
|
||||
changeOrigin: true,
|
||||
}, '/workSubmit': {
|
||||
target: loadEnv(mode, process.cwd()).VITE_PROXY_URL,
|
||||
changeOrigin: true,
|
||||
}, '/userbasic': {
|
||||
target: 'https://u-pre.boe.com',
|
||||
changeOrigin: true,
|
||||
}, '/link': {
|
||||
target: loadEnv(mode, process.cwd()).VITE_PROXY_URL,
|
||||
changeOrigin: true,
|
||||
}, '/onlineClasses/queryOnlineClassesStudyDetail': {
|
||||
target: loadEnv(mode, process.cwd()).VITE_PROXY_URL,
|
||||
changeOrigin: true,
|
||||
},
|
||||
}
|
||||
}
|
||||
})
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user