提交 3c7c1184 authored 作者: 王鹏飞's avatar 王鹏飞

chore: update

上级 f90a57b3
......@@ -107,7 +107,12 @@ function handleUpdate(params: BookCreateItem) {
<el-dialog :title="title" :close-on-click-modal="false" width="600px" @update:modelValue="$emit('update:modelValue')">
<el-form ref="formRef" :model="form" :rules="rules" label-width="124px">
<el-form-item label="实验指导书文件" prop="files">
<AppUpload v-model="form.files" :limit="1" @success="handleUploadSuccess">
<AppUpload
v-model="form.files"
:limit="1"
accept=".doc,.docx,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,.pdf,application/pdf,.ppt,.pptx,application/vnd.ms-powerpoint,.csv,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel"
@success="handleUploadSuccess"
>
<template #tip>实验指导书文件支持格式包含:doc docx xls xlsx pdf ppt pptx,大小不超过50M</template>
</AppUpload>
</el-form-item>
......
......@@ -10,10 +10,10 @@ defineProps<Props>()
<div class="list-item-hd">
<div class="icon-file"></div>
<div class="button-group">
<div class="button icon-view">
<div class="button icon-view" v-permission="'v1-teacher-book-view'">
<router-link :to="`/admin/lab/book/${data.id}`" target="_blank"></router-link>
</div>
<div class="button icon-edit" @click="$emit('clickEdit', data)"></div>
<div class="button icon-edit" @click="$emit('clickEdit', data)" v-permission="'v1-teacher-book-update'"></div>
</div>
</div>
<div class="list-item-title">
......
......@@ -59,7 +59,9 @@ function onUpdateSuccess() {
<AppCard title="实验指导书管理">
<AppList v-bind="listOptions" ref="appList">
<template #header-buttons>
<el-button type="primary" :icon="CirclePlus" @click="handleAdd">新增实验指导书</el-button>
<el-button type="primary" :icon="CirclePlus" @click="handleAdd" v-permission="'v1-teacher-book-create'"
>新增实验指导书</el-button
>
</template>
<template #body="{ data }">
<div class="list-card" v-if="data.length">
......
......@@ -90,7 +90,13 @@ function handleSubmit() {
<div class="tips" v-if="!hasMore">没有更多了</div>
</div>
<el-form ref="formRef" :rules="rules" :model="form" style="margin-top: 40px">
<el-form
ref="formRef"
:rules="rules"
:model="form"
style="margin-top: 40px"
v-permission="'v1-teacher-discussion-comment'"
>
<el-form-item prop="content">
<el-input type="textarea" v-model="form.content" :autosize="{ minRows: 4, maxRows: 6 }" />
</el-form-item>
......
......@@ -94,7 +94,9 @@ function onUpdateSuccess() {
<span :class="{ 'is-success': row.is_reply === '1' }">{{ row.is_reply_name }}</span>
</template>
<template #table-x="{ row }">
<el-button text type="primary" @click="handleComment(row)">评论</el-button>
<el-button text type="primary" @click="handleComment(row)" v-permission="'v1-teacher-discussion-view'"
>评论</el-button
>
</template>
</AppList>
</AppCard>
......
......@@ -79,7 +79,7 @@ const listOptions = $computed(() => {
const { files, open } = useFileDialog()
function handleImport() {
open({
accept: '.csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel',
accept: '.csv,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel',
multiple: false
})
}
......@@ -108,7 +108,9 @@ function onUpdateSuccess() {
<AppList v-bind="listOptions" ref="appList">
<template #header-buttons>
<el-row justify="space-between">
<el-button type="primary" round :icon="Upload" @click="handleImport">批量导入</el-button>
<el-button type="primary" round :icon="Upload" @click="handleImport" v-permission="'v1-teacher-record-upload'"
>批量导入</el-button
>
<a :href="LAB_URL" target="_blank">
<el-button type="primary" round :icon="Promotion">进入实验室</el-button>
</a>
......@@ -121,7 +123,14 @@ function onUpdateSuccess() {
<span :class="{ 'is-info': row.score !== '--' }">{{ row.score }}</span>
</template>
<template #table-x="{ row }">
<el-button text type="primary" v-if="row.status === 1" @click="handleScore(row)">打分</el-button>
<el-button
text
type="primary"
v-if="row.status === 1"
@click="handleScore(row)"
v-permission="'v1-teacher-record-check'"
>打分</el-button
>
</template>
</AppList>
</AppCard>
......
......@@ -17,10 +17,17 @@ defineProps<Props>()
<div class="list-item-main">
<p>{{ data.name }}</p>
<div class="buttons">
<router-link :to="`/admin/lab/video/${data.id}`" target="_blank">
<router-link :to="`/admin/lab/video/${data.id}`" target="_blank" v-permission="'v1-teacher-video-view'">
<el-button type="primary" auto-insert-space>查看</el-button>
</router-link>
<el-button plain auto-insert-space @click="$emit('clickEdit', data)" style="margin-left: 10px">编辑</el-button>
<el-button
plain
auto-insert-space
@click="$emit('clickEdit', data)"
style="margin-left: 10px"
v-permission="'v1-teacher-video-update'"
>编辑</el-button
>
</div>
</div>
</div>
......@@ -35,7 +42,7 @@ defineProps<Props>()
overflow: hidden;
&:hover {
overflow: unset;
transform: scale(1.2);
transform: scale(1.1);
z-index: 1;
.el-icon {
display: block;
......
......@@ -59,7 +59,9 @@ function onUpdateSuccess() {
<AppCard title="实验操作视频管理">
<AppList v-bind="listOptions" ref="appList">
<template #header-buttons>
<el-button type="primary" :icon="CirclePlus" @click="handleAdd">新增操作视频</el-button>
<el-button type="primary" :icon="CirclePlus" @click="handleAdd" v-permission="'v1-teacher-video-create'"
>新增操作视频</el-button
>
</template>
<template #body="{ data }">
<div class="list-card" v-if="data.length">
......
......@@ -33,7 +33,7 @@ const listOptions = {
{ label: '实验总成绩', prop: 'score' },
{ label: '更新人', prop: 'updated_operator_name' },
{ label: '更新时间', prop: 'updated_time' },
{ label: '操作', slots: 'table-x', width: 300 }
{ label: '操作', slots: 'table-x', width: 200 }
]
}
......@@ -69,9 +69,9 @@ function onUpdateSuccess() {
<el-button type="primary" round v-permission="'v1-backend-experiment-view'">
<router-link :to="`/admin/system/experiment/${row.id}`" target="_blank">查看</router-link>
</el-button>
<el-button type="primary" round v-permission="'v1-backend-experiment-view'">
<!-- <el-button type="primary" round v-permission="'v1-backend-experiment-view'">
<router-link :to="`/admin/system/experiment/${row.id}`" target="_blank">关联班级与分组</router-link>
</el-button>
</el-button> -->
<el-button type="primary" round @click="handleUpdate(row)" v-permission="'v1-backend-experiment-update'"
>编辑</el-button
>
......
......@@ -22,7 +22,12 @@ function handleChange(id: string, type: number) {
</script>
<template>
<div class="bg"></div>
<div class="bg">
<router-link to="/admin/lab/book" class="link1"></router-link>
<router-link to="/admin/lab/record" class="link2"></router-link>
<router-link to="/admin/lab/video" class="link3"></router-link>
<router-link to="/" class="link4"></router-link>
</div>
<div class="select-group">
<el-select size="large" placeholder="实验指导书" @change="handleChange($event, 1)">
<el-option v-for="item in list" :key="item.id" :label="item.name" :value="item.id"></el-option>
......@@ -44,10 +49,39 @@ function handleChange(id: string, type: number) {
<style lang="scss" scoped>
.bg {
margin: 20px 0;
background: url(@/assets/images/home_bg.png) no-repeat center center;
position: relative;
margin: 20px auto;
background: url(@/assets/images/home_teacher_bg.png) no-repeat center center;
background-size: contain;
height: 636px;
width: 1308px;
height: 642px;
.link1 {
position: absolute;
bottom: 100px;
width: 400px;
height: 300px;
}
.link2 {
position: absolute;
left: 450px;
bottom: 50px;
width: 310px;
height: 250px;
}
.link3 {
position: absolute;
top: 0;
right: 80px;
width: 400px;
height: 300px;
}
.link4 {
position: absolute;
bottom: 0;
right: 0;
width: 400px;
height: 340px;
}
}
.select-group {
position: fixed;
......
......@@ -20,7 +20,11 @@ function handleChange(id: string, type: number) {
</script>
<template>
<div class="bg"></div>
<div class="bg">
<router-link to="/student/lab" class="link1"></router-link>
<router-link to="/student/lab" class="link2"></router-link>
<router-link to="/student/lab" class="link3"></router-link>
</div>
<div class="select-group">
<el-select size="large" placeholder="我的实验课程" @change="handleChange($event, 1)">
<el-option v-for="item in list" :key="item.id" :label="item.name" :value="item.id"></el-option>
......@@ -39,10 +43,32 @@ function handleChange(id: string, type: number) {
<style lang="scss" scoped>
.bg {
margin: 20px 0;
background: url(@/assets/images/home_bg.png) no-repeat center center;
position: relative;
margin: 20px auto;
background: url(@/assets/images/home_student_bg.png) no-repeat center center;
background-size: contain;
height: 636px;
width: 1215px;
height: 577px;
.link1 {
position: absolute;
top: 160px;
width: 250px;
height: 250px;
}
.link2 {
position: absolute;
left: 400px;
bottom: 0;
width: 300px;
height: 250px;
}
.link3 {
position: absolute;
top: 200px;
right: 0;
width: 300px;
height: 300px;
}
}
.select-group {
position: fixed;
......
......@@ -58,7 +58,7 @@ useInfiniteScroll(
<template>
<div class="discuss">
<el-radio-group v-model="params.tag" @change="fetchInfo(true)">
<el-radio-group size="small" v-model="params.tag" @change="fetchInfo(true)">
<el-radio :label="1">我发起的</el-radio>
<el-radio :label="2">我回复的</el-radio>
<el-radio :label="3">我的小组</el-radio>
......
......@@ -53,7 +53,11 @@ const update = () => {
>
<el-form ref="formRef" :model="form" :rules="rules">
<el-form-item label="实验报告文件" prop="files">
<AppUpload v-model="form.files" :limit="1">
<AppUpload
v-model="form.files"
:limit="1"
accept=".doc,.docx,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document,.pdf,application/pdf,.ppt,.pptx,application/vnd.ms-powerpoint"
>
<template #tip>实验报告文件只能上传一个,支持格式包含:doc docx pdf ppt pptx,大小不超过50M</template>
</AppUpload>
</el-form-item>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论