feat:修改基础信息-任务大纲列表点击管理传参

This commit is contained in:
李晓鸽
2022-10-21 17:43:42 +08:00
7 changed files with 20270 additions and 20333 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

@@ -336,13 +336,13 @@
item.course === '调研' || item.course === '调研' ||
item.course === '投票' || item.course === '投票' ||
item.course === '活动' item.course === '活动'
? showTime ? showTime(item.course, item.name)
: item.course === '考试' || item.course === '测评' : item.course === '考试' || item.course === '测评'
? showTesk ? showTest(item.course, item.name)
: item.course === '面授' : item.course === '面授'
? showFace ? showFace(item.course)
: item.course === '作业' : item.course === '作业'
? showWork ? showWork(item.course)
: null : null
" "
> >
@@ -353,234 +353,7 @@
</a-collapse-panel> </a-collapse-panel>
</a-collapse> </a-collapse>
</div> </div>
<!-- <div class="stage">
<span class="stageimg"
><img src="../../assets/images/projectadd/open.png"
/></span>
<span class="stagename">阶段1腾飞班阶级1</span>
</div> -->
<!-- <div class="course">
<div class="first">
<div class="icon">
<img src="../../assets/images/leveladd/zai.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">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 class="operations">
<div class="operation" style="cursor: pointer" @click="showTime">
管理
</div>
</div>
</div>
<div class="course">
<div class="first">
<div class="icon">
<img src="../../assets/images/leveladd/zhi.png" />
</div>
<div>
<div class="iconame">直播</div>
<div class="icontext">管理直播间</div>
</div>
</div>
<div class="type">
<div class="typename1">必修</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">考勤</div>
<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/mian.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="showFS">
学员
</div>
<div class="operation" style="cursor: pointer" @click="showFace">
管理
</div>
<div class="operation" style="cursor:pointer">二维码</div>
</div>
</div>
<div class="course">
<div class="first">
<div class="icon">
<img src="../../assets/images/leveladd/huo.png" />
</div>
<div>
<div class="iconame">活动</div>
<div class="icontext">管理活动</div>
</div>
</div>
<div class="type">
<div class="typename1">必修</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="showAA">
考勤
</div>
<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 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="学员">
@@ -1007,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"
@@ -1168,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" />
<!-- 学员小组管理创建小组抽屉 --> <!-- 学员小组管理创建小组抽屉 -->
@@ -1190,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>
@@ -2032,6 +1806,10 @@ export default {
}, },
], ],
taskSyllabusActive: 0, taskSyllabusActive: 0,
//在线管理等页面传递参数
showTimeText: "",
//考试、测评页面传递参数
showTestText: "",
}); });
const showModal = () => { const showModal = () => {
state.pubproject = true; state.pubproject = true;
@@ -2052,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 = () => {
@@ -2084,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;
@@ -2138,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 {
@@ -2147,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,
@@ -2155,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);
@@ -2163,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;
@@ -2190,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;
@@ -2197,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;
@@ -2212,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;
@@ -2219,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;
@@ -2226,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;
@@ -2264,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;
@@ -2281,6 +2084,7 @@ export default {
} }
} }
} }
.canclestu { .canclestu {
.ant-modal { .ant-modal {
width: 424px !important; width: 424px !important;
@@ -2397,6 +2201,7 @@ export default {
} }
} }
} }
.doublepro { .doublepro {
.ant-modal { .ant-modal {
.ant-modal-body { .ant-modal-body {
@@ -2485,6 +2290,7 @@ export default {
} }
} }
} }
.taskpage { .taskpage {
width: 100%; width: 100%;
display: flex; display: flex;