Merge branch 'master' of ssh://gitlab.dongwu-inc.com:10022/BOE/fe-manage

This commit is contained in:
dongwug
2022-10-22 09:17:36 +08:00
7 changed files with 20599 additions and 20366 deletions

40168
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,52 +1,57 @@
{ {
"name": "fe_manage", "name": "fe_manage",
"version": "0.1.0", "version": "0.1.0",
"private": true, "private": true,
"scripts": { "scripts": {
"serve": "vue-cli-service serve", "serve": "vue-cli-service serve",
"build": "vue-cli-service build", "build": "vue-cli-service build",
"lint": "vue-cli-service lint" "lint": "vue-cli-service lint"
}, },
"dependencies": { "dependencies": {
"ant-design-vue": "^3.2.12", "ant-design-vue": "^3.2.12",
"core-js": "^3.8.3", "axios": "^1.1.3",
"element-plus": "^2.2.17", "core-js": "^3.8.3",
"jquery": "^3.6.1", "element-plus": "^2.2.17",
"vue": "^3.2.13", "jquery": "^3.6.1",
"vue-router": "^4.0.3", "vue": "^3.2.13",
"vuex": "^4.0.0" "vue-router": "^4.0.3",
}, "vuex": "^4.0.0"
"devDependencies": { },
"@babel/core": "^7.12.16", "devDependencies": {
"@babel/eslint-parser": "^7.12.16", "@babel/core": "^7.12.16",
"@vue/cli-plugin-babel": "~5.0.0", "@babel/eslint-parser": "^7.12.16",
"@vue/cli-plugin-eslint": "~5.0.0", "@vue/cli-plugin-babel": "~5.0.0",
"@vue/cli-plugin-router": "~5.0.0", "@vue/cli-plugin-eslint": "~5.0.0",
"@vue/cli-plugin-vuex": "~5.0.0", "@vue/cli-plugin-router": "~5.0.0",
"@vue/cli-service": "~5.0.0", "@vue/cli-plugin-vuex": "~5.0.0",
"eslint": "^7.32.0", "@vue/cli-service": "~5.0.0",
"eslint-plugin-vue": "^8.0.3", "eslint": "^7.32.0",
"sass": "^1.32.7", "eslint-plugin-vue": "^8.0.3",
"sass-loader": "^12.0.0" "sass": "^1.32.7",
}, "sass-loader": "^12.0.0"
"eslintConfig": { },
"root": true, "eslintConfig": {
"env": { "root": true,
"node": true "env": {
}, "node": true
"extends": [ },
"plugin:vue/vue3-essential", "extends": [
"eslint:recommended" "plugin:vue/vue3-essential",
], "eslint:recommended"
"parserOptions": { ],
"parser": "@babel/eslint-parser" "parserOptions": {
}, "parser": "@babel/eslint-parser"
"rules": {} },
}, "rules": {
"browserslist": [ "no-console": "off",
"> 1%", "no-debugger": "off",
"last 2 versions", "no-mixed-spaces-and-tabs": "off"
"not dead", }
"not ie 11" },
] "browserslist": [
} "> 1%",
"last 2 versions",
"not dead",
"not ie 11"
]
}

8
src/api/config.js Normal file
View File

@@ -0,0 +1,8 @@
import axios from "axios";
const http = axios.create({
baseURL: 'http://localhost:8082/api',
timeout: 1000 * 100
});
export default http;

20
src/api/index.js Normal file
View File

@@ -0,0 +1,20 @@
import http from "./config";
// 接口
export const getUserInfo = () => http.get('/');
export const getUserById = (x, y, z) => http.post('/getuserbyid', { x, y, z });
// 使用方法
// import * as api from '../../api/index'
// api.getUserById(6, 7, 8).then(res => {
// console.log(res)
// }).catch(err => {
// console.log(err)
// })
// api.getUserInfo().then(res => {
// console.log(res)
// }).catch(err => {
// console.log(err)
// })

View File

@@ -8,7 +8,7 @@
> >
<div class="drawerMain"> <div class="drawerMain">
<div class="header"> <div class="header">
<div class="headerTitle">考试管理</div> <div class="headerTitle">{{ title }}</div>
<img <img
style="width: 29px; height: 29px; cursor: pointer" style="width: 29px; height: 29px; cursor: pointer"
src="../../assets/images/basicinfo/close.png" src="../../assets/images/basicinfo/close.png"
@@ -93,6 +93,10 @@ export default {
type: Boolean, type: Boolean,
default: false, default: false,
}, },
title: {
type: String,
default: "",
},
}, },
setup(props, ctx) { setup(props, ctx) {
@@ -297,7 +301,7 @@ export default {
}; };
</script> </script>
<style lang="scss" > <style lang="scss">
// .drawerStyle { // .drawerStyle {
// .ant-drawer-content-wrapper { // .ant-drawer-content-wrapper {
// // max-width: 1000px; // // max-width: 1000px;
@@ -490,4 +494,4 @@ export default {
} }
} }
} }
</style> </style>

View File

@@ -8,7 +8,7 @@
> >
<div class="drawerMain"> <div class="drawerMain">
<div class="header"> <div class="header">
<div class="headerTitle">在线时间管理</div> <div class="headerTitle">{{ title }}</div>
<img <img
style="width: 29px; height: 29px; cursor: pointer" style="width: 29px; height: 29px; cursor: pointer"
src="../../assets/images/basicinfo/close.png" src="../../assets/images/basicinfo/close.png"
@@ -104,6 +104,10 @@ export default {
type: Boolean, type: Boolean,
default: false, default: false,
}, },
title: {
type: String,
default: "",
},
}, },
setup(props, ctx) { setup(props, ctx) {
@@ -274,7 +278,7 @@ export default {
}; };
</script> </script>
<style lang="scss" > <style lang="scss">
// .drawerStyle { // .drawerStyle {
// .ant-drawer-content-wrapper { // .ant-drawer-content-wrapper {
// // max-width: 1000px; // // max-width: 1000px;
@@ -474,4 +478,4 @@ export default {
} }
} }
} }
</style> </style>

View File

@@ -221,234 +221,139 @@
<span class="editext">编辑</span> <span class="editext">编辑</span>
</router-link> </router-link>
</div> </div>
<div class="stage"> <div class="taskSyllabus">
<span class="stageimg" <a-collapse v-model:activeKey="taskSyllabusActive" accordion>
><img src="../../assets/images/projectadd/open.png" <template #expandIcon="{ isActive }">
/></span> <img
<span class="stagename">阶段1腾飞班阶级1</span> :style="{
</div> width: isActive ? 9.1 : 8.1,
<div class="course"> height: isActive ? 8.1 : 9.1,
<div class="first"> 'margin-right': isActive ? '12px' : '13px',
<div class="icon"> }"
<img src="../../assets/images/leveladd/zai.png" /> :src="
</div> isActive
<div> ? require('../../assets/images/projectadd/open.png')
<div class="iconame">在线</div> : require('../../assets/images/projectadd/close.png')
<div class="icontext">时间管理</div> "
</div>
</div>
<div class="type">
<div class="typename">选修</div>
</div>
<div class="time">
<div class="timetext">开始时间</div>
<div class="timetext">2022-09-16 14:03</div>
</div>
<div class="progress">
<div class="progresstext">25/50</div>
<div style="display: flex">
<a-progress
:showInfo="false"
:percent="50"
strokeColor="#FFC067"
trailColor="rgba(253, 209, 98, 0.2)"
/> />
<span class="progresstext" style="margin-left: 10px">50%</span> <div></div>
</div> </template>
</div> <a-collapse-panel
<div class="operations"> v-for="(value, index) in taskSyllabus"
<div class="operation" style="cursor: pointer" @click="showTime"> :key="index"
管理 :header="value.text"
</div> >
</div> <div
</div> class="course"
<div class="course"> v-for="(item, key) in value.children"
<div class="first"> :key="key"
<div class="icon"> >
<img src="../../assets/images/leveladd/zhi.png" /> <div class="first">
</div> <div class="icon">
<div> <img src="../../assets/images/leveladd/zai.png" />
<div class="iconame">直播</div> </div>
<div class="icontext">管理直播间</div> <div>
</div> <div class="iconame">{{ item.course }}</div>
</div> <div class="icontext">{{ item.name }}</div>
<div class="type"> </div>
<div class="typename1">必修</div> </div>
</div> <div class="type">
<div class="time"> <div
<div class="timetext">开始时间</div> :class="
<div class="timetext">2022-09-16 14:03</div> item.classify == '必修' ? 'typename1' : 'typename'
</div> "
<div class="progress"> >
<div class="progresstext">0/50</div> {{ item.classify }}
<div style="display: flex"> </div>
<a-progress </div>
:showInfo="false" <div class="time">
:percent="0" <div class="timetext">开始时间</div>
strokeColor="#FFC067" <div class="timetext">{{ item.beginTime }}</div>
trailColor="rgba(253, 209, 98, 0.2)" </div>
/> <div class="progress">
<span class="progresstext" style="margin-left: 10px">0%</span> <div class="progresstext">
</div> {{ item.complete }}/{{ item.total }}
</div> </div>
<div class="operations"> <div style="display: flex">
<div class="operation" style="cursor: pointer">考勤</div> <a-progress
<div class="operation" style="cursor: pointer">管理</div> :showInfo="false"
<div class="operation" style="cursor:pointer">二维码</div> :percent="item.percent"
</div> strokeColor="#FFC067"
</div> trailColor="rgba(253, 209, 98, 0.2)"
<div class="course"> />
<div class="first"> <span class="progresstext" style="margin-left: 10px"
<div class="icon"> >{{ item.percent }}%</span
<img src="../../assets/images/leveladd/mian.png" /> >
</div> </div>
<div> </div>
<div class="iconame">面授</div> <div class="operations">
<div class="icontext">管理面授课</div> <div
</div> class="operation"
</div> style="cursor: pointer"
<div class="type"> :style="{
<div class="typename">选修</div> display: item.course === '面授' ? 'flex' : 'none',
</div> }"
<div class="time"> @click="showFS"
<div class="timetext">开始时间</div> >
<div class="timetext">2022-09-16 14:03</div> 学员
</div> </div>
<div class="progress"> <div
<div class="progresstext">0/50</div> class="operation"
<div style="display: flex"> style="cursor: pointer"
<a-progress @click="showAA"
:showInfo="false" :style="{
:percent="0" display:
strokeColor="#FFC067" item.course === '直播' || item.course === '活动'
trailColor="rgba(253, 209, 98, 0.2)" ? 'flex'
/> : 'none',
<span class="progresstext" style="margin-left: 10px">0%</span> }"
</div> >
</div> 考勤
<div class="operations"> </div>
<div class="operation" style="cursor: pointer" @click="showFS"> <div
学员 class="operation"
</div> style="cursor: pointer"
<div class="operation" style="cursor: pointer" @click="showFace"> :style="{
管理 display:
</div> item.course === '直播' ||
<div class="operation" style="cursor:pointer">二维码</div> item.course === '活动' ||
</div> item.course === '面授'
</div> ? 'flex'
<div class="course"> : 'none',
<div class="first"> }"
<div class="icon"> >
<img src="../../assets/images/leveladd/huo.png" /> 二维码
</div> </div>
<div> <div
<div class="iconame">活动</div> class="operation"
<div class="icontext">管理活动</div> style="cursor: pointer; margin-right: 35px"
</div> @click="
</div> item.course === '在线' ||
<div class="type"> item.course === '案例' ||
<div class="typename1">必修</div> item.course === '外链' ||
</div> item.course === '讨论' ||
<div class="time"> item.course === '直播' ||
<div class="timetext">开始时间</div> item.course === '调研' ||
<div class="timetext">2022-09-16 14:03</div> item.course === '投票' ||
</div> item.course === '活动'
<div class="progress"> ? showTime(item.course, item.name)
<div class="progresstext">0/50</div> : item.course === '考试' || item.course === '测评'
<div style="display: flex"> ? showTest(item.course, item.name)
<a-progress : item.course === '面授'
:showInfo="false" ? showFace(item.course)
:percent="0" : item.course === '作业'
strokeColor="#FFC067" ? showWork(item.course)
trailColor="rgba(253, 209, 98, 0.2)" : null
/> "
<span class="progresstext" style="margin-left: 10px">0%</span> >
</div> 管理
</div> </div>
<div class="operations"> </div>
<div class="operation" style="cursor: pointer" @click="showAA"> </div>
考勤 </a-collapse-panel>
</div> </a-collapse>
<div class="operation" style="cursor: pointer">管理</div>
<div class="operation" style="cursor:pointer">二维码</div>
</div>
</div>
<div class="course">
<div class="first">
<div class="icon">
<img src="../../assets/images/leveladd/zuo.png" />
</div>
<div>
<div class="iconame">作业</div>
<div class="icontext">管理者作业</div>
</div>
</div>
<div class="type">
<div class="typename">选修</div>
</div>
<div class="time">
<div class="timetext">开始时间</div>
<div class="timetext">2022-09-16 14:03</div>
</div>
<div class="progress">
<div class="progresstext">0/50</div>
<div style="display: flex">
<a-progress
:showInfo="false"
:percent="0"
strokeColor="#FFC067"
trailColor="rgba(253, 209, 98, 0.2)"
/>
<span class="progresstext" style="margin-left: 10px">0%</span>
</div>
</div>
<div class="operations">
<div class="operation" style="cursor: pointer" @click="showWork">
管理
</div>
</div>
</div>
<div class="course">
<div class="first">
<div class="icon">
<img src="../../assets/images/leveladd/kao.png" />
</div>
<div>
<div class="iconame">考试</div>
<div class="icontext">管理者考试</div>
</div>
</div>
<div class="type">
<div class="typename">选修</div>
</div>
<div class="time">
<div class="timetext">开始时间</div>
<div class="timetext">2022-09-16 14:03</div>
</div>
<div class="progress">
<div class="progresstext">0/50</div>
<div style="display: flex">
<a-progress
:showInfo="false"
:percent="0"
strokeColor="#FFC067"
trailColor="rgba(253, 209, 98, 0.2)"
/>
<span class="progresstext" style="margin-left: 10px">0%</span>
</div>
</div>
<div class="operations">
<div class="operation" style="cursor: pointer" @click="showTest">
管理
</div>
</div>
</div>
<div class="stage" style="margin-top: 0">
<span class="stageimg"
><img src="../../assets/images/projectadd/close.png"
/></span>
<span class="stagename">阶段2 腾飞班阶级2</span>
</div> </div>
<div style="display: flex; height: 20px"></div> <div style="display: flex; height: 20px"></div>
</a-tab-pane> </a-tab-pane>
<a-tab-pane key="3" tab="学员"> <a-tab-pane key="3" tab="学员">
@@ -532,7 +437,7 @@
<img src="../../assets/images/courseManage/reset2.png" /> <img src="../../assets/images/courseManage/reset2.png" />
<span class="btn2text">导入学员</span> <span class="btn2text">导入学员</span>
</div> </div>
<div class="btn2" > <div class="btn2">
<img src="../../assets/images/projectadd/delete.png" /> <img src="../../assets/images/projectadd/delete.png" />
<span class="btn2text">批量删除</span> <span class="btn2text">批量删除</span>
</div> </div>
@@ -875,7 +780,8 @@
v-model:value="valuestu1" v-model:value="valuestu1"
style="width: 80px; margin-right: 16px" style="width: 80px; margin-right: 16px"
:options="rankjindu" :options="rankjindu"
></a-select> >
</a-select>
<a-select <a-select
v-model:value="valuestu2" v-model:value="valuestu2"
style="width: 112px" style="width: 112px"
@@ -1036,7 +942,7 @@
</a-tabs> </a-tabs>
</div> </div>
<!-- 时间管理抽屉 --> <!-- 时间管理抽屉 -->
<time-manage v-model:Tvisible="visible" /> <time-manage v-model:Tvisible="visible" :title="showTimeText" />
<!-- 面授管理抽屉 --> <!-- 面授管理抽屉 -->
<face-manage v-model:Fvisible="FaceVisivle" /> <face-manage v-model:Fvisible="FaceVisivle" />
<!-- 学员小组管理创建小组抽屉 --> <!-- 学员小组管理创建小组抽屉 -->
@@ -1047,7 +953,7 @@
<import-stu v-model:Importvisible="Importvisible" /> <import-stu v-model:Importvisible="Importvisible" />
<!-- 查看学员 --> <!-- 查看学员 -->
<see-stu v-model:Seevisible="Seevisible" /> <see-stu v-model:Seevisible="Seevisible" />
<!-- 学员换组 --> <!-- 学员换组 -->
<change-group v-model:Changevisible="Changevisible" /> <change-group v-model:Changevisible="Changevisible" />
<!-- 组员名单抽屉 --> <!-- 组员名单抽屉 -->
<member-list v-model:Lvisible="Lvisible" /> <member-list v-model:Lvisible="Lvisible" />
@@ -1058,7 +964,7 @@
<!-- 作业管理抽屉 --> <!-- 作业管理抽屉 -->
<work-manage v-model:Wvisible="Wvisible" /> <work-manage v-model:Wvisible="Wvisible" />
<!-- 考试管理抽屉 --> <!-- 考试管理抽屉 -->
<test-manage v-model:TMvisible="TMvisible" /> <test-manage v-model:TMvisible="TMvisible" :title="showTestText" />
<!-- 概览无数据-项目发布弹窗 --> <!-- 概览无数据-项目发布弹窗 -->
<div> <div>
@@ -1155,7 +1061,6 @@
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
" "
> >
<div class="headerLeft" style="margin-left: 32px"> <div class="headerLeft" style="margin-left: 32px">
@@ -1212,39 +1117,40 @@
<!-- 取消学员弹窗 --> <!-- 取消学员弹窗 -->
<div> <div>
<a-modal <a-modal
v-model:visible="canclestu" v-model:visible="canclestu"
:footer="null" :footer="null"
:closable="close" :closable="close"
wrapClassName="canclestu" wrapClassName="canclestu"
centered="true" centered="true"
> >
<div class="delete"> <div class="delete">
<div class="del_header"></div> <div class="del_header"></div>
<div class="del_main"> <div class="del_main">
<div class="header"> <div class="header">
<div class="icon"></div> <div class="icon"></div>
<span>提示</span> <span>提示</span>
</div>
<div class="body">
<span>您是否授予此学员优秀学员称号</span>
</div>
<div class="del_btnbox">
<div class="del_btn btn1">
<div class="btnText" @click="closeModal1">取消</div>
</div> </div>
<div class="del_btn btn2"> <div class="body">
<div class="btnText" @click="closeModal1">确定</div> <span>您是否授予此学员优秀学员称号</span>
</div>
<div class="del_btnbox">
<div class="del_btn btn1">
<div class="btnText" @click="closeModal1">取消</div>
</div>
<div class="del_btn btn2">
<div class="btnText" @click="closeModal1">确定</div>
</div>
</div> </div>
</div> </div>
</div> </div>
</div> </a-modal>
</a-modal>
</div> </div>
<!-- 取消学员弹窗 --> <!-- 取消学员弹窗 -->
</div> </div>
</template> </template>
<script> <script>
import { reactive, toRefs } from "vue"; import { reactive, toRefs } from "vue";
// import { CaretRightOutlined } from "@ant-design/icons-vue";
import TimeManage from "../../components/drawers/TimeManage"; import TimeManage from "../../components/drawers/TimeManage";
import FaceManage from "../../components/drawers/FaceManage"; import FaceManage from "../../components/drawers/FaceManage";
import SubsetManage from "../../components/drawers/SubsetManage"; import SubsetManage from "../../components/drawers/SubsetManage";
@@ -1260,6 +1166,7 @@ import ChangeGroup from "../../components/drawers/ChangeGroup";
export default { export default {
name: "taskPage", name: "taskPage",
components: { components: {
// CaretRightOutlined,
TimeManage, TimeManage,
FaceManage, FaceManage,
SubsetManage, SubsetManage,
@@ -1448,7 +1355,7 @@ export default {
checked2: false, checked2: false,
checkedd: false, //设置按钮1 checkedd: false, //设置按钮1
checkedd2: false, //设置按钮2 checkedd2: false, //设置按钮2
activeKey: "1", activeKey: "2",
activeKey1: "8", activeKey1: "8",
valueName: "", //排行榜输入姓名 valueName: "", //排行榜输入姓名
valueDate: "", //排行榜输入日期 valueDate: "", //排行榜输入日期
@@ -1776,6 +1683,133 @@ export default {
className: "h", className: "h",
}, },
], ],
//任务大纲列表
taskSyllabus: [
{
text: "阶段1腾飞班阶段1",
children: [
{
course: "在线",
name: "时间管理",
classify: "选修",
beginTime: "2022-09-10 14:03",
total: 50, //总人数
complete: 20, //完成人数
percent: 40,
},
{
course: "直播",
name: "管理直播间",
classify: "必修",
beginTime: "2022-09-12 14:03",
total: 50, //总人数
complete: 10, //完成人数
percent: 20,
},
{
course: "面授",
name: "管理面授课",
classify: "必修",
beginTime: "2022-09-16 14:03",
total: 80, //总人数
complete: 0, //完成人数
percent: 0,
},
{
course: "活动",
name: "管理活动",
classify: "必修",
beginTime: "2022-09-16 14:03",
total: 50, //总人数
complete: 40, //完成人数
percent: 80,
},
{
course: "作业",
name: "管理者作业",
classify: "选修",
beginTime: "2022-09-16 14:03",
total: 50, //总人数
complete: 30, //完成人数
percent: 60,
},
{
course: "考试",
name: "管理者考试",
classify: "必修",
beginTime: "2022-09-16 14:03",
total: 50, //总人数
complete: 50, //完成人数
percent: 100,
},
{
course: "案例",
name: "管理直播间",
classify: "必修",
beginTime: "2022-09-16 14:03",
total: 50, //总人数
complete: 10, //完成人数
percent: 20,
},
{
course: "外链",
name: "管理直播间",
classify: "必修",
beginTime: "2022-09-16 14:03",
total: 50, //总人数
complete: 10, //完成人数
percent: 20,
},
],
},
{
text: "阶段2腾飞班阶段2",
children: [
{
course: "讨论",
name: "时间管理",
classify: "选修",
beginTime: "2022-09-16 14:03",
total: 50, //总人数
complete: 20, //完成人数
percent: 40,
},
{
course: "测评",
name: "管理直播间",
classify: "必修",
beginTime: "2022-09-16 14:03",
total: 50, //总人数
complete: 10, //完成人数
percent: 20,
},
{
course: "调研",
name: "管理直播间",
classify: "必修",
beginTime: "2022-09-16 14:03",
total: 50, //总人数
complete: 10, //完成人数
percent: 20,
},
{
course: "投票",
name: "管理直播间",
classify: "必修",
beginTime: "2022-09-16 14:03",
total: 50, //总人数
complete: 10, //完成人数
percent: 20,
},
],
},
],
taskSyllabusActive: 0,
//在线管理等页面传递参数
showTimeText: "",
//考试、测评页面传递参数
showTestText: "",
}); });
const showModal = () => { const showModal = () => {
state.pubproject = true; state.pubproject = true;
@@ -1796,9 +1830,11 @@ export default {
state.stugroup = false; state.stugroup = false;
}; };
//新增 //新增
const showTime = () => { const showTime = (course, name) => {
console.log("点击管理"); console.log("点击管理");
state.visible = true; state.visible = true;
state.showTimeText = "【" + course + "】" + name;
// console.log("state.showTimeText", state.showTimeText);
}; };
//新增 //新增
const showFace = () => { const showFace = () => {
@@ -1828,8 +1864,9 @@ export default {
state.Wvisible = true; state.Wvisible = true;
}; };
//考试管理的抽屉 //考试管理的抽屉
const showTest = () => { const showTest = (course, name) => {
state.TMvisible = true; state.TMvisible = true;
state.showTestText = "【" + course + "】" + name;
}; };
const showStuAdd = () => { const showStuAdd = () => {
state.Stuvisible = true; state.Stuvisible = true;
@@ -1882,6 +1919,7 @@ export default {
display: table; display: table;
clear: both; clear: both;
} }
.pubproject { .pubproject {
.ant-modal { .ant-modal {
.ant-modal-body { .ant-modal-body {
@@ -1891,7 +1929,9 @@ export default {
rgba(78, 166, 255, 0) 100% rgba(78, 166, 255, 0) 100%
); );
} }
padding: 0; padding: 0;
.modalHeader { .modalHeader {
background: linear-gradient( background: linear-gradient(
0deg, 0deg,
@@ -1899,6 +1939,7 @@ export default {
rgba(78, 166, 255, 0.2) 100% rgba(78, 166, 255, 0.2) 100%
); );
} }
.modalMain { .modalMain {
.projectname { .projectname {
color: rgba(79, 81, 86, 1); color: rgba(79, 81, 86, 1);
@@ -1907,23 +1948,28 @@ export default {
margin-left: 62px; margin-left: 62px;
font-weight: 500; font-weight: 500;
} }
.projecttime { .projecttime {
margin-left: 221px; margin-left: 221px;
.timeti { .timeti {
color: rgba(153, 155, 163, 1); color: rgba(153, 155, 163, 1);
font-size: 14px; font-size: 14px;
line-height: 36px; line-height: 36px;
} }
.timeme { .timeme {
color: rgba(79, 81, 86, 1); color: rgba(79, 81, 86, 1);
font-size: 14px; font-size: 14px;
line-height: 36px; line-height: 36px;
} }
} }
.projectbox { .projectbox {
margin-top: 26px; margin-top: 26px;
display: flex; display: flex;
justify-content: center; justify-content: center;
.promessage { .promessage {
width: 280px; width: 280px;
height: 110px; height: 110px;
@@ -1934,6 +1980,7 @@ export default {
); );
border-radius: 10px; border-radius: 10px;
margin-right: 7px; margin-right: 7px;
.messageme { .messageme {
color: rgba(255, 182, 78, 1); color: rgba(255, 182, 78, 1);
font-size: 14px; font-size: 14px;
@@ -1941,12 +1988,14 @@ export default {
margin-top: 17px; margin-top: 17px;
margin-left: 30px; margin-left: 30px;
} }
.messagege { .messagege {
color: rgba(153, 155, 163, 1); color: rgba(153, 155, 163, 1);
font-size: 14px; font-size: 14px;
margin-left: 30px; margin-left: 30px;
} }
} }
.stumessage { .stumessage {
width: 280px; width: 280px;
height: 110px; height: 110px;
@@ -1956,6 +2005,7 @@ export default {
rgba(240, 248, 254, 1) rgba(240, 248, 254, 1)
); );
border-radius: 10px; border-radius: 10px;
.messageme1 { .messageme1 {
color: rgba(78, 166, 255, 1); color: rgba(78, 166, 255, 1);
font-size: 14px; font-size: 14px;
@@ -1963,6 +2013,7 @@ export default {
margin-top: 17px; margin-top: 17px;
margin-left: 30px; margin-left: 30px;
} }
.messagege1 { .messagege1 {
color: rgba(153, 155, 163, 1); color: rgba(153, 155, 163, 1);
font-size: 14px; font-size: 14px;
@@ -1970,30 +2021,37 @@ export default {
} }
} }
} }
.send { .send {
margin-top: 30px; margin-top: 30px;
margin-left: 61px; margin-left: 61px;
.sendtext { .sendtext {
margin-left: 11px; margin-left: 11px;
color: rgba(109, 117, 132, 1); color: rgba(109, 117, 132, 1);
font-size: 14px; font-size: 14px;
} }
} }
.ckb { .ckb {
margin-top: 20px; margin-top: 20px;
margin-left: 62px; margin-left: 62px;
.sendpeo { .sendpeo {
color: rgba(109, 117, 132, 1); color: rgba(109, 117, 132, 1);
font-size: 14px; font-size: 14px;
} }
.ant-checkbox-inner { .ant-checkbox-inner {
border-radius: 4px; border-radius: 4px;
} }
} }
.pubtn { .pubtn {
display: flex; display: flex;
justify-content: center; justify-content: center;
margin-top: 25px; margin-top: 25px;
//margin-bottom: 29px; //margin-bottom: 29px;
.pubtn1 { .pubtn1 {
width: 100px; width: 100px;
@@ -2008,6 +2066,7 @@ export default {
align-items: center; align-items: center;
background: rgba(255, 255, 255, 1); background: rgba(255, 255, 255, 1);
} }
.pubtn2 { .pubtn2 {
width: 100px; width: 100px;
height: 40px; height: 40px;
@@ -2025,6 +2084,7 @@ export default {
} }
} }
} }
.canclestu { .canclestu {
.ant-modal { .ant-modal {
width: 424px !important; width: 424px !important;
@@ -2033,14 +2093,14 @@ export default {
width: 424px !important; width: 424px !important;
height: 258px !important; height: 258px !important;
.ant-modal-close { .ant-modal-close {
margin-right: 18px; margin-right: 18px;
margin-top: 5px; margin-top: 5px;
} }
.ant-modal-body { .ant-modal-body {
width: 424px !important; width: 424px !important;
height: 258px !important; height: 258px !important;
padding: 0 !important; padding: 0 !important;
.delete { .delete {
z-index: 999; z-index: 999;
width: 424px; width: 424px;
@@ -2141,15 +2201,16 @@ export default {
} }
} }
} }
.doublepro { .doublepro {
.ant-modal { .ant-modal {
.ant-modal-body { .ant-modal-body {
.modalHeader { .modalHeader {
background: linear-gradient( background: linear-gradient(
0deg, 0deg,
rgba(78, 166, 255, 0) 0%, rgba(78, 166, 255, 0) 0%,
rgba(78, 166, 255, 0.2) 100% rgba(78, 166, 255, 0.2) 100%
); );
} }
padding: 0; padding: 0;
.modalMain { .modalMain {
@@ -2229,6 +2290,7 @@ export default {
} }
} }
} }
.taskpage { .taskpage {
width: 100%; width: 100%;
display: flex; display: flex;
@@ -2401,8 +2463,15 @@ export default {
.content { .content {
//display: flex; //display: flex;
//margin: 0 37px; //margin: 0 37px;
.ant-tabs-top > .ant-tabs-nav::before,
.ant-tabs-bottom > .ant-tabs-nav::before,
.ant-tabs-top > div > .ant-tabs-nav::before,
.ant-tabs-bottom > div > .ant-tabs-nav::before {
border-bottom: 0px;
}
.ant-tabs-nav-wrap { .ant-tabs-nav-wrap {
margin-left: 30px; margin-left: 30px;
margin-top: 10px;
} }
.onerow { .onerow {
//width: 100%; //width: 100%;
@@ -2431,7 +2500,7 @@ export default {
} }
.edit { .edit {
position: absolute; position: absolute;
right: 48px; right: 38px;
top: 0; top: 0;
color: #409eff; color: #409eff;
width: 100px; width: 100px;
@@ -2625,6 +2694,38 @@ export default {
} }
} }
} }
.taskSyllabus {
.ant-collapse {
border: 0px;
background-color: rgba(255, 255, 255, 0);
}
.ant-collapse-content > .ant-collapse-content-box {
padding-top: 0px;
padding-bottom: 0px;
}
.ant-collapse > .ant-collapse-item {
border: 0px;
}
.ant-collapse-header {
display: flex;
height: 49px;
background-color: #eff4fc;
align-items: center;
margin-top: 20px;
margin-left: 38px;
margin-right: 40px;
font-size: 16px;
font-weight: 400;
color: #409eff;
line-height: 36px;
.ant-collapse-arrow {
margin-left: 15px !important;
}
}
.ant-collapse-content {
border-top: 0px;
}
}
.stage { .stage {
display: flex; display: flex;
height: 49px; height: 49px;
@@ -2648,11 +2749,12 @@ export default {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
align-items: center; align-items: center;
padding: 10px; padding: 25px 0px;
margin-left: 38px; margin-left: 22px;
margin-right: 38px; margin-right: 24px;
//margin: 0 12px; //margin: 0 12px;
border: 1px solid #f2f6fc; border: 1px solid #f2f6fc;
border-top: 0px;
.first { .first {
//position: relative; //position: relative;
display: flex; display: flex;