Compare commits
merge into: donghanyang:admin_zwk
donghanyang:admin_zwk
donghanyang:dev
donghanyang:ql_yjt
donghanyang:qt_lh
donghanyang:test
pull from: donghanyang:dev
donghanyang:admin_zwk
donghanyang:dev
donghanyang:ql_yjt
donghanyang:qt_lh
donghanyang:test
6 Commits
Author | SHA1 | Message | Date |
---|---|---|---|
|
5bf5a76272 |
bug修改
|
5 months ago |
|
536506069e |
bug修改
|
5 months ago |
|
9de048d82e |
bug修改
|
5 months ago |
|
9e6782bf14 |
导出数据匹配修改
|
5 months ago |
|
6d9bf01ffb |
局域网内访问
|
5 months ago |
|
4ac5d919ed |
修改俱乐部的绑定
|
5 months ago |
12 changed files with 416 additions and 1164 deletions
-
2work/package.json
-
4work/src/api/LoginApi.js
-
19work/src/api/index.js
-
26work/src/router/index.js
-
89work/src/views/AddWork.vue
-
366work/src/views/DoHomeworkView.vue
-
35work/src/views/HomeWork.vue
-
16work/src/views/Login.vue
-
403work/src/views/UpdateWork.vue
-
17work/src/views/WorkDetail.vue
-
563work/src/views/WorksShowView.vue
-
2work/vite.config.js
@ -1,366 +0,0 @@ |
|||
<template> |
|||
<div class="container"> |
|||
<div class="main"> |
|||
<div class="content"> |
|||
<div class="title"> |
|||
{{ questionList[0].name }} |
|||
</div> |
|||
<template v-for="(question, questionIndex) in questionList" :key="questionIndex"> |
|||
<!-- 单选 --> |
|||
<template v-if="question.type == 1"> |
|||
<div class="question"> |
|||
{{ questionIndex + 1 }}. {{ question.description }}(单选) |
|||
</div> |
|||
<div v-for="(answer, index) in question.content" :key="index" class="answer"> |
|||
<div class="selected"> |
|||
<input :id="`select-${questionIndex}-${index}`" :name="`radio-group-${questionIndex}`" type="radio" |
|||
v-model="selectedAnswers[questionIndex]" |
|||
:value="answer.text" |
|||
> |
|||
<label :for="`select-${questionIndex}-${index}`">{{ answer.text }}</label> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
|
|||
<!-- 多选 --> |
|||
<template v-if="question.type == 2"> |
|||
<div class="question"> |
|||
{{ questionIndex + 1 }}. {{ question.description }}(多选) |
|||
</div> |
|||
<div v-for="(answer, index) in question.content" :key="index" class="answer"> |
|||
<div class="selected"> |
|||
<input :id="`checkbox-${questionIndex}-${index}`" name="checkbox" type="checkbox" |
|||
v-model="selectedAnswers[questionIndex]" |
|||
:value="answer.text" |
|||
> |
|||
<label :for="`checkbox-${questionIndex}-${index}`">{{ answer.text }}</label> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
|
|||
<!-- 简答题 --> |
|||
<template v-if="question.type == 3"> |
|||
<div class="Short-answers"> |
|||
<div class="question"> |
|||
{{ questionIndex + 1 }}. {{ question.description }} |
|||
</div> |
|||
<el-input |
|||
v-model="editorTitles[questionIndex]" |
|||
style="width: 100%; padding: 3.5%" |
|||
size="large" |
|||
placeholder="请输入标题(5-100字符)" |
|||
maxlength="100" |
|||
minlength="5" |
|||
show-word-limit |
|||
/> |
|||
<div class="editor"> |
|||
<div style="border: 1px solid #ccc"> |
|||
<Toolbar |
|||
style="border-bottom: 1px solid #ccc" |
|||
:editor="editorRefs[questionIndex]" |
|||
:defaultConfig="toolbarConfig" |
|||
:mode="mode" |
|||
/> |
|||
<Editor |
|||
style="height: 500px; overflow-y: hidden;" |
|||
v-model="editorContents[questionIndex]" |
|||
:defaultConfig="editorConfig" |
|||
:mode="mode" |
|||
@onCreated="editor => handleCreated(editor, questionIndex)" |
|||
|
|||
/> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
</template> |
|||
|
|||
<!-- 提交按钮 --> |
|||
<div class="submit"> |
|||
<img src="https://d31zlh4on95l9h.cloudfront.net/images/5iujb101000d2foxm6thylaa50qz6lgl.png" @click="submit"> |
|||
</div> |
|||
<!-- 提交次数 --> |
|||
<div class="submit-times"> |
|||
<span>您已提交{{sub}}次,每个作业可以提交3次</span> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
|
|||
|
|||
</template> |
|||
|
|||
<script setup> |
|||
import { onMounted, ref, shallowRef } from 'vue'; |
|||
import homeworkApi from "@/api/HomeworkApi.js"; |
|||
import { ElMessage } from "element-plus"; |
|||
import '@wangeditor/editor/dist/css/style.css' // 引入 css |
|||
import { onBeforeUnmount } from 'vue' |
|||
import { Editor, Toolbar } from '@wangeditor/editor-for-vue' |
|||
import {useRoute, useRouter} from "vue-router"; |
|||
|
|||
const router = useRouter(); |
|||
const route = useRoute(); |
|||
let groupId = route.params.id; |
|||
let sub = route.params.sub; |
|||
// 编辑器实例,必须用 shallowRef |
|||
const editorRefs = ref([]); |
|||
|
|||
// 内容 HTML |
|||
const editorContents = ref([]); |
|||
const editorTitles = ref([]); |
|||
|
|||
// 模拟 ajax 异步获取内容 |
|||
onMounted(() => { |
|||
setTimeout(() => { |
|||
editorContents.value = editorContents.value.map(() => ''); |
|||
}, 1500) |
|||
}) |
|||
|
|||
const toolbarConfig = { |
|||
excludeKeys: [ |
|||
'justify', |
|||
'table', |
|||
'codeBlock', |
|||
'divider', |
|||
'undo', |
|||
'redo', |
|||
'insertImage', // 去掉插入图片 |
|||
'insertLink', // 去掉插入链接 |
|||
'insertTable', // 去掉插入表格 |
|||
'video', |
|||
'group-more-style', |
|||
'group-image', |
|||
'group-video', |
|||
'fullScreen', |
|||
'todo' |
|||
], |
|||
insertKeys: { |
|||
index: 0, |
|||
keys: ['bold', 'italic'] |
|||
} |
|||
} |
|||
|
|||
|
|||
const editorConfig = { |
|||
placeholder: '请输入内容...', |
|||
toolbarKeys: toolbarConfig.toolbarKeys |
|||
} |
|||
|
|||
// 组件销毁时,也及时销毁编辑器 |
|||
onBeforeUnmount(() => { |
|||
editorRefs.value.forEach(editor => { |
|||
if (editor == null) return; |
|||
editor.destroy(); |
|||
}); |
|||
}) |
|||
|
|||
const handleCreated = (editor, questionIndex) => { |
|||
editorRefs.value[questionIndex] = editor; // 记录 editor 实例 |
|||
editor.config.toolbarConfig = toolbarConfig; // 确保配置正确应用 |
|||
} |
|||
|
|||
const questionList = ref([]); |
|||
|
|||
function getQuestionList() { |
|||
console.log("ljghasjkhdjksahjkhsajkhjkasd",groupId); |
|||
homeworkApi.getHomeworkQuestion(groupId).then(resp => { |
|||
if (resp.code == 200) { |
|||
questionList.value = resp.data; |
|||
for (let i = 0; i < questionList.value.length; i++) { |
|||
questionList.value[i].content = JSON.parse(questionList.value[i].content); |
|||
// 初始化 editorTitles 和 editorContents |
|||
editorTitles.value.push(''); |
|||
editorContents.value.push(''); |
|||
// 初始化 selectedAnswers 为数组 |
|||
selectedAnswers.value.push([]); |
|||
} |
|||
} else { |
|||
ElMessage.error("未知错误,请联系管理员"); |
|||
} |
|||
}); |
|||
} |
|||
getQuestionList(); |
|||
|
|||
// 提交作业 |
|||
const homework = ref([]); |
|||
|
|||
const selectedAnswers = ref([]); |
|||
questionList.value.forEach(() => { |
|||
selectedAnswers.value.push([]); |
|||
}); |
|||
|
|||
// 上一个页面传递的参数 groupId |
|||
function submit() { |
|||
homework.value = []; |
|||
for (let i = 0; i < questionList.value.length; i++) { |
|||
if (questionList.value[i].type == 1 || questionList.value[i].type == 2) { |
|||
homework.value.push({ |
|||
"id": questionList.value[i].id, |
|||
"answer": selectedAnswers.value[i], |
|||
"type": questionList.value[i].type |
|||
}); |
|||
} else if (questionList.value[i].type == 3) { |
|||
const editor = editorRefs.value[i]; |
|||
const plainText = editor ? editor.getText() : ''; |
|||
homework.value.push({ |
|||
"id": questionList.value[i].id, |
|||
"answer": [editorTitles.value[i], plainText], |
|||
"type": questionList.value[i].type |
|||
}); |
|||
} |
|||
} |
|||
let groupId = route.params.id; |
|||
let sub = route.params.sub; |
|||
if (sub <=2){ |
|||
homeworkApi.submitHomework(homework.value, groupId).then(resp => { |
|||
if (resp.code == 200) { |
|||
ElMessage.success("提交成功"); |
|||
homework.value = []; |
|||
router.push("/show"); |
|||
} else { |
|||
ElMessage.error("未知错误,请联系管理员"); |
|||
} |
|||
}); |
|||
}else { |
|||
ElMessage.error("提交失败您,已提交3次,每个作业可以提交3次"); |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style scoped> |
|||
.container { |
|||
text-align: center; |
|||
margin-left: auto; |
|||
margin-right: auto; |
|||
width: 34.375rem; |
|||
height: 114.399375rem; |
|||
} |
|||
|
|||
.main { |
|||
background-image: url("https://lfjf.rzfwq.com/jtzy/Product/pcjingwang/images/20230823/qiangdianbanHomeWorkBg.png"); |
|||
background-size: contain; |
|||
background-position: center 0; |
|||
background-repeat: no-repeat; |
|||
margin: 0; |
|||
width: 100%; |
|||
height: 1830px; |
|||
text-align: center; |
|||
position: relative; |
|||
} |
|||
|
|||
.content { |
|||
position: absolute; |
|||
width: 93%; |
|||
height: 80%; |
|||
overflow-y: scroll; |
|||
/* 居中显示 */ |
|||
left: 50%; |
|||
transform: translate(-50%, 0); |
|||
top: 12.5%; |
|||
text-align: left; |
|||
} |
|||
|
|||
/* 滚动条样式 */ |
|||
.content::-webkit-scrollbar { |
|||
width: 3px; |
|||
} |
|||
|
|||
.content::-webkit-scrollbar-track { |
|||
background: #f1f1f1; /* 滚动条轨道的背景色 */ |
|||
} |
|||
|
|||
.content::-webkit-scrollbar-thumb { |
|||
background: #d9d9d9; /* 滚动条滑块的颜色 */ |
|||
border-radius: 6px; /* 滑块的圆角 */ |
|||
} |
|||
|
|||
.title { |
|||
font-size: 1.65rem; |
|||
font-weight: 600; |
|||
/* 居中显示 */ |
|||
text-align: center; |
|||
/*字体颜色*/ |
|||
color: #3f27b1; |
|||
} |
|||
|
|||
.question { |
|||
padding-top: 10%; |
|||
padding-left: 4%; |
|||
font-size: 1.35rem; |
|||
font-weight: 500; |
|||
} |
|||
|
|||
.answer { |
|||
padding-top: 2.5%; |
|||
padding-left: 7%; |
|||
font-size: 1.35rem; |
|||
} |
|||
|
|||
.selected { |
|||
display: block; |
|||
padding: 1% 0 1.2% 0; |
|||
} |
|||
|
|||
|
|||
.selected input[name="checkbox"] { |
|||
margin-right: 1%; |
|||
width: 1.2rem; |
|||
height: 1rem; |
|||
/* 透明度 */ |
|||
opacity: 0.8; |
|||
cursor: pointer; /* 鼠标悬停时变成手的形状 */ |
|||
} |
|||
.selected input[type="radio"]{ |
|||
margin-right: 1%; |
|||
width: 1.2rem; |
|||
height: 1rem; |
|||
/* 透明度 */ |
|||
opacity: 0.8; |
|||
cursor: pointer; /* 鼠标悬停时变成手的形状 */ |
|||
} |
|||
|
|||
/* 单选按钮选中时的样式 */ |
|||
.selected input[type="radio"]:checked { |
|||
accent-color: blue; /* 设置选中时的颜色为蓝色 */ |
|||
} |
|||
|
|||
/* 多选按钮选中时的样式 */ |
|||
.selected input[type="checkbox"]:checked { |
|||
accent-color: blue; /* 设置选中时的颜色为蓝色 */ |
|||
} |
|||
|
|||
.selected label { |
|||
cursor: pointer; |
|||
} |
|||
|
|||
.editor { |
|||
padding-top: 2.5%; |
|||
padding-left: 3.5%; |
|||
padding-right: 3.5%; |
|||
height: 30rem; |
|||
} |
|||
|
|||
.Short-answers { |
|||
height: 48rem; |
|||
} |
|||
|
|||
.submit { |
|||
display: block; |
|||
text-align: center; |
|||
} |
|||
|
|||
.submit img { |
|||
padding-top: 2.5%; |
|||
padding-left: 3.5%; |
|||
padding-right: 3.5%; |
|||
cursor: pointer; |
|||
width: 67%; |
|||
} |
|||
|
|||
.submit-times { |
|||
font-size: 0.8rem; |
|||
color: #858585; |
|||
text-align: center; |
|||
} |
|||
</style> |
@ -1,563 +0,0 @@ |
|||
<script setup> |
|||
import { ref } from 'vue'; |
|||
import ShowApi from '../api/ShowApi'; |
|||
import { format } from 'date-fns'; |
|||
import {useRouter} from "vue-router"; |
|||
import {ElMessage} from "element-plus"; |
|||
|
|||
const router = useRouter() |
|||
|
|||
//作业展示列表 |
|||
const works = ref([]); |
|||
function loadWorks() { |
|||
ShowApi.getWorks().then(result => { |
|||
works.value = result.data; |
|||
console.log(works.value); |
|||
console.log(result.data) |
|||
works.value.forEach(work => { |
|||
let date = work.endData; |
|||
work.endData = format(new Date(date), 'yyyy-MM-dd'); |
|||
}); |
|||
}) |
|||
} |
|||
loadWorks(); |
|||
//跳转写作业页面 |
|||
function writeWorks(id,sub){ |
|||
if(sub >= 3){ |
|||
ElMessage.error('每个作业可提交3次,您已提交3次。') |
|||
}else{ |
|||
router.push({ |
|||
path:`/doWork/${id}/${sub}` |
|||
}) |
|||
} |
|||
|
|||
} |
|||
</script> |
|||
|
|||
<template> |
|||
<div class="container"> |
|||
<div class="works"> |
|||
<div class="work-header"> |
|||
<img class="ketangzuoye" src="http://39.101.133.168:8857/LiveActivity/img/ketangzuoye.cc888815.png"> |
|||
<img class="book" |
|||
src="https://img.js.design/assets/img/65f9235904fb00a3ea731672.png#dcda48ae8da37daeccd6583d45c7790b"> |
|||
</div> |
|||
<div class="work-list"> |
|||
<div class="list" v-for="work in works"> |
|||
<div class="work-item"> |
|||
<div class="work-name"> |
|||
{{ work.name }} |
|||
</div> |
|||
<div class="work-content"> |
|||
<div class="work-time"> |
|||
<span class="deadline">截止时间:{{ work.endData }}</span> |
|||
<!-- 作业提价状态 --> |
|||
<div v-if="work.submit == 0" class="work-status">未提交</div> |
|||
<div v-else class="work-status2">已提交</div> |
|||
</div> |
|||
<div class="work-bottem"> |
|||
<span class="write" @click="writeWorks(work.groupId,work.submit)">写作业</span> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
|
|||
<style scoped> |
|||
.container { |
|||
width: 27%; /* 假设桌面布局的容器宽度为 80% */ |
|||
margin: 0 auto; /* 居中对齐 */ |
|||
} |
|||
body{ |
|||
margin: 0; |
|||
} |
|||
.work-name { |
|||
opacity: 1; |
|||
/** 文本1 */ |
|||
font-size: 1.5vw; |
|||
font-weight: 700; |
|||
letter-spacing: 0px; |
|||
color: rgba(53, 56, 112, 1); |
|||
text-align: left; |
|||
/*左对齐*/ |
|||
vertical-align: top; |
|||
/* 这个属性在 Flex 容器中不起作用,将被移除 */ |
|||
display: flex; |
|||
/* 启用 Flexbox 布局 */ |
|||
align-items: center; |
|||
/* 垂直居中 */ |
|||
height: 30%; |
|||
/* 设置高度,根据需要调整 */ |
|||
width: 50%; |
|||
/* 如果需要,也可以设置宽度 */ |
|||
} |
|||
|
|||
|
|||
.ketangzuoye { |
|||
margin-top: 2vh; |
|||
margin-left: 2vw; |
|||
width: 43%; |
|||
} |
|||
|
|||
.book { |
|||
float: right; |
|||
margin-right: 1vw; |
|||
width: 30%; |
|||
} |
|||
|
|||
|
|||
/* 手机 */ |
|||
@media (max-width: 768px) { |
|||
.container { |
|||
width: 100%; |
|||
margin: auto; |
|||
} |
|||
.works { |
|||
/* ../api/ShowApi |
|||
work\src\assets\bg@3x.png */ |
|||
background-image: url('../assets/bg.png'); |
|||
background-size: 100% 100%; |
|||
background-color: #8f98f6; |
|||
width: 100%; |
|||
min-height: 100vh; |
|||
position: relative; |
|||
margin: auto; |
|||
} |
|||
|
|||
.work-list { |
|||
width: 95%; |
|||
display: flex; |
|||
justify-content: center; |
|||
align-items: center; |
|||
flex-direction: column; |
|||
margin: auto; |
|||
} |
|||
|
|||
.list { |
|||
display: flex; |
|||
justify-content: center; |
|||
align-items: center; |
|||
width: 97%; |
|||
height: 16vh; |
|||
opacity: 1; |
|||
border-radius: 10px; |
|||
background-color: rgba(255, 225, 174, 1); |
|||
margin-bottom: 3%; |
|||
} |
|||
|
|||
.work-item { |
|||
|
|||
width: 87%; |
|||
height: 63%; |
|||
padding: 10px; |
|||
position: relative; |
|||
background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(250, 245, 235, 1) 100%); |
|||
border-radius: 10px; |
|||
border-radius: 10px; |
|||
} |
|||
.work-name { |
|||
opacity: 1; |
|||
/** 文本1 */ |
|||
font-size: 4vw; |
|||
font-weight: 700; |
|||
letter-spacing: 0px; |
|||
color: rgba(53, 56, 112, 1); |
|||
text-align: left; |
|||
/*左对齐*/ |
|||
vertical-align: top; |
|||
/* 这个属性在 Flex 容器中不起作用,将被移除 */ |
|||
display: flex; |
|||
/* 启用 Flexbox 布局 */ |
|||
align-items: center; |
|||
/* 垂直居中 */ |
|||
height: 30%; |
|||
/* 设置高度,根据需要调整 */ |
|||
width: 50%; |
|||
/* 如果需要,也可以设置宽度 */ |
|||
} |
|||
|
|||
.work-content { |
|||
width: 95%; |
|||
height: 35%; |
|||
position: absolute; |
|||
bottom: 10%; |
|||
display: flex; |
|||
} |
|||
|
|||
.work-time { |
|||
position: absolute; |
|||
display: flex; |
|||
width: 70%; |
|||
bottom: 12%; |
|||
} |
|||
|
|||
.deadline { |
|||
color: rgba(142, 142, 142, 1); |
|||
font-size: 3.6vw; |
|||
opacity: 1; |
|||
align-items: center; |
|||
padding-top: 0.5vw; |
|||
/* 水平居中 */ |
|||
/* justify-content: center; */ |
|||
} |
|||
|
|||
.work-status { |
|||
font-size: 3.8vw; |
|||
display: inline-block; |
|||
background: rgba(53, 56, 112, 0.1); |
|||
padding: 1% 3.5%; |
|||
text-align: center; |
|||
color: #353870; |
|||
border-radius: 5px; |
|||
opacity: 2; |
|||
margin-left: 5px; |
|||
} |
|||
.work-status2 { |
|||
font-size: 3.8vw; |
|||
display: inline-block; |
|||
background: #ffe1ae; |
|||
padding: 1% 3.5%; |
|||
text-align: center; |
|||
color: #353870; |
|||
border-radius: 5px; |
|||
opacity: 2; |
|||
margin-left: 5px; |
|||
} |
|||
|
|||
.work-bottem { |
|||
cursor: pointer; |
|||
display: flex; |
|||
position: absolute; |
|||
width: 28%; |
|||
height: 70%; |
|||
right: 0; |
|||
bottom: 2%; |
|||
opacity: 1; |
|||
border-radius: 50px; |
|||
background: linear-gradient(270deg, rgba(4, 15, 179, 1) 0%, rgba(120, 89, 255, 1) 100%); |
|||
border: 1px solid #a5e0f3; |
|||
justify-content: center; |
|||
/* 水平居中 */ |
|||
align-items: center; |
|||
/* 垂直居中 */ |
|||
text-align: center; |
|||
/* 确保文本在其容器内居中 */ |
|||
} |
|||
|
|||
.write { |
|||
opacity: 1; |
|||
/** 文本1 */ |
|||
padding: auto; |
|||
font-size: 18px; |
|||
font-weight: 700; |
|||
letter-spacing: 0px; |
|||
line-height: 26.06px; |
|||
color: rgba(255, 255, 255, 1); |
|||
|
|||
} |
|||
} |
|||
|
|||
/* 平板 */ |
|||
@media (min-width: 768px) and (max-width:1280px) { |
|||
.container { |
|||
width: 100%; |
|||
margin: auto; |
|||
} |
|||
.works { |
|||
/* ../api/ShowApi |
|||
work\src\assets\bg@3x.png */ |
|||
background-image: url('../assets/bg@2x.png'); |
|||
background-color: #8f98f6; |
|||
width: 100%; |
|||
min-height: 100vh; |
|||
position: relative; |
|||
margin: auto; |
|||
background-size: 100% 100%; |
|||
} |
|||
|
|||
.work-list { |
|||
width: 95%; |
|||
display: flex; |
|||
justify-content: center; |
|||
align-items: center; |
|||
flex-direction: column; |
|||
margin: auto; |
|||
} |
|||
|
|||
.list { |
|||
display: flex; |
|||
justify-content: center; |
|||
align-items: center; |
|||
width: 97%; |
|||
height: 17vh; |
|||
opacity: 1; |
|||
border-radius: 10px; |
|||
background-color: rgba(255, 225, 174, 1); |
|||
margin-bottom: 3%; |
|||
} |
|||
|
|||
.work-item { |
|||
|
|||
width: 90%; |
|||
height: 70%; |
|||
padding: 10px; |
|||
position: relative; |
|||
background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(250, 245, 235, 1) 100%); |
|||
border-radius: 10px; |
|||
border-radius: 10px; |
|||
} |
|||
.work-name { |
|||
opacity: 1; |
|||
/** 文本1 */ |
|||
font-size: 1.6rem; |
|||
font-weight: 700; |
|||
letter-spacing: 0px; |
|||
color: rgba(53, 56, 112, 1); |
|||
text-align: left; |
|||
/*左对齐*/ |
|||
vertical-align: top; |
|||
/* 这个属性在 Flex 容器中不起作用,将被移除 */ |
|||
display: flex; |
|||
/* 启用 Flexbox 布局 */ |
|||
align-items: center; |
|||
/* 垂直居中 */ |
|||
height: 30%; |
|||
/* 设置高度,根据需要调整 */ |
|||
width: 50%; |
|||
/* 如果需要,也可以设置宽度 */ |
|||
} |
|||
.work-content { |
|||
width: 90%; |
|||
height: 35%; |
|||
position: absolute; |
|||
bottom: 10%; |
|||
display: flex; |
|||
} |
|||
|
|||
.work-time { |
|||
position: absolute; |
|||
display: flex; |
|||
width: 70%; |
|||
bottom: 20%; |
|||
} |
|||
|
|||
.deadline { |
|||
color: rgba(142, 142, 142, 1); |
|||
font-size: 14px; |
|||
opacity: 1; |
|||
} |
|||
|
|||
.work-status { |
|||
display: inline-block; |
|||
background: rgba(53, 56, 112, 0.1); |
|||
padding: 0.5% 2%; |
|||
text-align: center; |
|||
color: #353870; |
|||
font-size: 1rem; |
|||
border-radius: 5px; |
|||
opacity: 2; |
|||
margin-left: 5px; |
|||
} |
|||
.work-status2 { |
|||
display: inline-block; |
|||
background: #ffe1ae; |
|||
padding: 0.5% 2%; |
|||
text-align: center; |
|||
color: #353870; |
|||
font-size: 1rem; |
|||
border-radius: 5px; |
|||
opacity: 2; |
|||
margin-left: 5px; |
|||
} |
|||
|
|||
.work-bottem { |
|||
cursor: pointer; |
|||
display: flex; |
|||
position: absolute; |
|||
width: 25%; |
|||
height: 70%; |
|||
right: 0%; |
|||
bottom: 2%; |
|||
opacity: 1; |
|||
border-radius: 50px; |
|||
background: linear-gradient(270deg, rgba(4, 15, 179, 1) 0%, rgba(120, 89, 255, 1) 100%); |
|||
border: 1px solid #a5e0f3; |
|||
justify-content: center; |
|||
/* 水平居中 */ |
|||
align-items: center; |
|||
/* 垂直居中 */ |
|||
text-align: center; |
|||
/* 确保文本在其容器内居中 */ |
|||
} |
|||
|
|||
.write { |
|||
opacity: 1; |
|||
/** 文本1 */ |
|||
padding: auto; |
|||
font-size: 1.125rem; |
|||
font-weight: 700; |
|||
letter-spacing: 0px; |
|||
line-height: 26.06px; |
|||
color: rgba(255, 255, 255, 1); |
|||
} |
|||
} |
|||
/* 电脑 */ |
|||
@media (min-width: 1280px) { |
|||
.container { |
|||
width: 27%; |
|||
margin: auto; |
|||
} |
|||
.works { |
|||
/* ../api/ShowApi |
|||
work\src\assets\bg@3x.png */ |
|||
background-image: url('../assets/bg@3x.png'); |
|||
background-color: #8f98f6; |
|||
width: 100%; |
|||
min-height: 100vh; |
|||
position: relative; |
|||
margin: auto; |
|||
background-size: 100% 100%; |
|||
} |
|||
.work-name { |
|||
opacity: 1; |
|||
/** 文本1 */ |
|||
font-size: 1.4vw; |
|||
font-weight: 700; |
|||
letter-spacing: 0px; |
|||
color: rgba(53, 56, 112, 1); |
|||
text-align: left; |
|||
/*左对齐*/ |
|||
vertical-align: top; |
|||
/* 这个属性在 Flex 容器中不起作用,将被移除 */ |
|||
display: flex; |
|||
/* 启用 Flexbox 布局 */ |
|||
align-items: center; |
|||
/* 垂直居中 */ |
|||
height: 30%; |
|||
/* 设置高度,根据需要调整 */ |
|||
width: 70%; |
|||
} |
|||
|
|||
.work-list { |
|||
width: 95%; |
|||
display: flex; |
|||
justify-content: center; |
|||
align-items: center; |
|||
flex-direction: column; |
|||
margin: auto; |
|||
} |
|||
|
|||
.list { |
|||
display: flex; |
|||
justify-content: center; |
|||
align-items: center; |
|||
width: 97%; |
|||
height: 17vh; |
|||
opacity: 1; |
|||
border-radius: 10px; |
|||
background-color: rgba(255, 225, 174, 1); |
|||
margin-bottom: 3%; |
|||
} |
|||
|
|||
.work-item { |
|||
|
|||
width: 90%; |
|||
height: 70%; |
|||
padding: 10px; |
|||
position: relative; |
|||
background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(250, 245, 235, 1) 100%); |
|||
border-radius: 10px; |
|||
border-radius: 10px; |
|||
} |
|||
.work-content { |
|||
width: 90%; |
|||
height: 35%; |
|||
position: absolute; |
|||
bottom: 10%; |
|||
display: flex; |
|||
} |
|||
|
|||
.work-time { |
|||
position: absolute; |
|||
display: flex; |
|||
width: 70%; |
|||
bottom: 15%; |
|||
} |
|||
|
|||
.deadline { |
|||
color: rgba(142, 142, 142, 1); |
|||
font-size: 14px; |
|||
opacity: 1; |
|||
align-items: center; |
|||
padding-top: 0.2vw; |
|||
} |
|||
|
|||
.work-status { |
|||
display: inline-block; |
|||
background: rgba(53, 56, 112, 0.1); |
|||
padding: 0.5% 2%; |
|||
text-align: center; |
|||
color: #353870; |
|||
font-size: 1rem; |
|||
border-radius: 5px; |
|||
opacity: 2; |
|||
margin-left: 5px; |
|||
} |
|||
.work-status2 { |
|||
display: inline-block; |
|||
background: #ffe1ae; |
|||
padding: 0.5% 2%; |
|||
text-align: center; |
|||
color: #353870; |
|||
font-size: 1rem; |
|||
border-radius: 5px; |
|||
opacity: 2; |
|||
margin-left: 5px; |
|||
} |
|||
.work-bottem { |
|||
cursor: pointer; |
|||
display: flex; |
|||
position: absolute; |
|||
width: 25%; |
|||
height: 70%; |
|||
right: 0%; |
|||
bottom: 2%; |
|||
opacity: 1; |
|||
border-radius: 50px; |
|||
background: linear-gradient(270deg, rgba(4, 15, 179, 1) 0%, rgba(120, 89, 255, 1) 100%); |
|||
border: 1px solid #a5e0f3; |
|||
justify-content: center; |
|||
/* 水平居中 */ |
|||
align-items: center; |
|||
/* 垂直居中 */ |
|||
text-align: center; |
|||
/* 确保文本在其容器内居中 */ |
|||
} |
|||
|
|||
.write { |
|||
opacity: 1; |
|||
/** 文本1 */ |
|||
padding: auto; |
|||
font-size: 1.125rem; |
|||
font-weight: 700; |
|||
letter-spacing: 0px; |
|||
line-height: 26.06px; |
|||
color: rgba(255, 255, 255, 1); |
|||
} |
|||
|
|||
} |
|||
|
|||
.work-list{ |
|||
margin-top: 12%; |
|||
} |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
</style> |
Write
Preview
Loading…
Cancel
Save
Reference in new issue