-
-
-
+
+
+
-
+
-
-
+
+
-
-
-
+
+
+
-
- diff --git a/package-lock.json b/package-lock.json
index f9476b22..379ccd42 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -14906,9 +14906,9 @@
}
},
"dayjs": {
- "version": "1.11.5",
- "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.5.tgz",
- "integrity": "sha512-CAdX5Q3YW3Gclyo5Vpqkgpj8fSdLQcRuzfX6mC6Phy0nfJ0eGYOeS7m4mt2plDWLAtA4TqTakvbboHvUxfe4iA=="
+ "version": "1.11.6",
+ "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.6.tgz",
+ "integrity": "sha512-zZbY5giJAinCG+7AGaw0wIhNZ6J8AhWuSXKvuc1KAyMiRsvGQWqh4L+MomvhdAYjN+lqvVCMq1I41e3YHvXkyQ=="
},
"debug": {
"version": "4.3.4",
@@ -19007,6 +19007,11 @@
"websocket-driver": "^0.7.4"
}
},
+ "sortablejs": {
+ "version": "1.15.0",
+ "resolved": "https://registry.npmmirror.com/sortablejs/-/sortablejs-1.15.0.tgz",
+ "integrity": "sha512-bv9qgVMjUMf89wAvM6AxVvS/4MX3sPeN0+agqShejLU5z5GX4C75ow1O2e5k4L6XItUyAK3gH6AxSbXrOM5e8w=="
+ },
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz",
@@ -19775,6 +19780,21 @@
}
}
},
+ "vuedraggable": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmmirror.com/vuedraggable/-/vuedraggable-4.1.0.tgz",
+ "integrity": "sha512-FU5HCWBmsf20GpP3eudURW3WdWTKIbEIQxh9/8GE806hydR9qZqRRxRE3RjqX7PkuLuMQG/A7n3cfj9rCEchww==",
+ "requires": {
+ "sortablejs": "1.14.0"
+ },
+ "dependencies": {
+ "sortablejs": {
+ "version": "1.14.0",
+ "resolved": "https://registry.npmmirror.com/sortablejs/-/sortablejs-1.14.0.tgz",
+ "integrity": "sha512-pBXvQCs5/33fdN1/39pPL0NZF20LeRbLQ5jtnheIPN9JQAaufGjKdWduZn4U7wCtVuzKhmRkI0DFYHYRbB2H1w=="
+ }
+ }
+ },
"vuex": {
"version": "4.0.2",
"resolved": "https://registry.npmmirror.com/vuex/-/vuex-4.0.2.tgz",
diff --git a/package.json b/package.json
index ec2d5ef6..7f47e397 100644
--- a/package.json
+++ b/package.json
@@ -15,8 +15,10 @@
"element-plus": "^2.2.17",
"jquery": "^3.6.1",
"qs": "^6.11.0",
+ "sortablejs": "^1.15.0",
"vue": "^3.2.13",
"vue-router": "^4.0.3",
+ "vuedraggable": "^4.1.0",
"vuex": "^4.0.0"
},
"devDependencies": {
diff --git a/src/App.vue b/src/App.vue
index b6b111f7..7ab55e6d 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -75,7 +75,7 @@ export default defineComponent({
flex: 1 1 auto;
// flex-shrink: 0;
display: flex;
- overflow-y: scroll;
+ overflow-y: auto;
// display: flex;
// flex: 1 1 auto;
width: calc(100% - 40px);
diff --git a/src/api/index.js b/src/api/index.js
index ca3a832a..b0db5ad7 100644
--- a/src/api/index.js
+++ b/src/api/index.js
@@ -1,3 +1,11 @@
+/*
+ * @Author: lixg lixg@dongwu-inc.com
+ * @Date: 2022-11-07 17:06:45
+ * @LastEditors: lixg lixg@dongwu-inc.com
+ * @LastEditTime: 2022-11-07 20:11:23
+ * @FilePath: /fe-manage/src/api/index.js
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
+ */
import http from "./config";
// import qs from 'qs';
@@ -37,35 +45,15 @@ import http from "./config";
// 接口-请求
-// 创建编辑单层项目
-export const createProject = (obj) => http.post('/admin/project/edit', {
- "attach": obj.attach,
- "beginTime": obj.beginTime,
- "boeFlag": obj.boeFlag,
- "category": obj.category,
- "courseSyncFlag": obj.courseSyncFlag,
- "endTime": obj.endTime,
- "level": obj.level,
- "manager": obj.manager,
- "managerId": obj.managerId,
- "name": obj.name,
- "notice": obj.notice,
- "noticeFlag": obj.noticeFlag,
- "picUrl": obj.picUrl,
- "remark": obj.remark,
- "sourceBelongId": obj.sourceBelongId,
- "status": obj.status,
- "systemId": obj.systemId,
- "templateId": obj.templateId,
- "type": obj.type
-})
-
-// 创建多层项目
-export const createStoreyProject = () => http.post('/admin/project/edit', {
-
-})
+// 创建编辑单层项目(type=3)/ 多层项目(type=1)/ 多层子项目(type=2)
+export const createProject = (obj) => http.post('/admin/project/edit', obj)
// 获取项目列表
-export const getProjectList = () => http.post('/admin/project/list', {
+export const getProjectList = (obj) => http.post('/admin/project/list', obj)
-})
\ No newline at end of file
+// 获取项目详情信息(包含阶段及任务列表)
+export const getProjectDetail = (obj) => http.get('/admin/project/detail', { params: obj })
+//发布项目
+export const releaseProject=(obj)=>http.post('/admin/project/publish',obj)
+//获取项目学员
+export const projectStudent=(obj)=>http.post('/admin/project/studentList',obj)
\ No newline at end of file
diff --git a/src/api/index1.js b/src/api/index1.js
index 6141767f..16e7ee9d 100644
--- a/src/api/index1.js
+++ b/src/api/index1.js
@@ -1,3 +1,11 @@
+/*
+ * @Author: lixg lixg@dongwu-inc.com
+ * @Date: 2022-11-04 22:45:31
+ * @LastEditors: lixg lixg@dongwu-inc.com
+ * @LastEditTime: 2022-11-06 16:48:50
+ * @FilePath: /fe-manage/src/api/index1.js
+ * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
+ */
import http from "./config";
import qs from 'qs';
@@ -40,25 +48,35 @@ export const uploadFile = (obj) => http.post('/test/testRequest', qs.stringify({
// 接口-请求
//创建学习路径
-export const createLearnPath = (obj) => http.post('/admin/router/edit', obj, {
- headers: {
- 'token': '123'
- }
-});
+export const createLearnPath = (obj) => http.post('/admin/router/edit', obj);
// 获取学习路径图列表
export const getLearnPath = (obj) => http.post('/admin/router/list', obj);
-//删除学习路径图
-export const deleteLearnPath = (obj) => http.post('/admin/router/handle', obj, {
- headers: {
- 'token': '123'
- }
-});
+//学习路径图的发布、停用、删除
+export const handleLearnPath = (obj) => http.post('/admin/router/handle', obj);
//获取关卡
export const getChapter = (obj) => http.post('/admin/router/detail', { params: obj });
//新建或编辑关卡
export const editChapter = (obj) => http.post('/admin/router/editChapter', obj);
+//获取学员列表
+export const getStudent = (obj) => http.post('/admin/router/studentList', obj);
+//获取路径图详情-包含关卡及任务列表
+export const getRouterDetail = (routerId) => http.get('/admin/router/detail', {
+ params: {
+ routerId: routerId,
+ }
+});
+//添加学员
+export const addStudent = (obj) => http.post('/admin/router/addStudent', obj);
+
+
+//项目基础信息-----------------------------------
+//项目积分榜单
+export const scoreRank = (obj) => http.post('/admin/project/scoreRank', obj);
+//排行榜
+export const billboard = (obj) => http.post('/admin/project/billboard', obj);
+//项目基础信息-----------------------------------
// 测试方法
// import * as api from '../../api/index'
diff --git a/src/api/indexEval.js b/src/api/indexEval.js
index 50e8a8e3..f76de0b9 100644
--- a/src/api/indexEval.js
+++ b/src/api/indexEval.js
@@ -1,5 +1,5 @@
import http from "./config";
-// import qs from 'qs';
+import qs from 'qs';
/**
* 接口传参数方式(get)
@@ -46,8 +46,12 @@ export const fileUp = (data) =>
});
//删除测评信息
-export const deleteEvaluationById = (obj) =>
- http.post("/evaluation/deleteEvaluationById", { params: obj });
+export const deleteEvaluationById = (obj) => http.post('/evaluation/deleteEvaluationById', { params: obj }, {
+ header: {
+ 'token': '123',
+ }
+})
+
//根据ID获取测评信息详情
export const queryEvaluationDetailById = (obj) =>
diff --git a/src/api/indexExam.js b/src/api/indexExam.js
index fc9a30af..727dd42c 100644
--- a/src/api/indexExam.js
+++ b/src/api/indexExam.js
@@ -8,7 +8,10 @@ export const createExamination = (obj) => http.post('/examination/createExaminat
// 根据Id删除考试信息
export const deleteExaminationById = (obj) => http.post('/examination/deleteExaminationById',obj);
// 根据ID获取考试信息详情
-export const queryExaminationDetailById = (obj) => http.post('/examination/queryExaminationDetailById',obj);
+export const queryExaminationDetailById = (obj) => http.post('/examination/queryExaminationDetailById',obj,{headers: {
+ 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'
+}
+});
// 创建考试信息接口
export const updateExamination = (obj) => http.post('/examination/updateExamination',obj);
diff --git a/src/api/indexExternalChain.js b/src/api/indexExternalChain.js
index 9de46f42..6bc219d3 100644
--- a/src/api/indexExternalChain.js
+++ b/src/api/indexExternalChain.js
@@ -1,19 +1,39 @@
import http from "./config";
//创建外链接口
-export const createExternalChain = (obj) => http.post('/link/createLinks', obj)
+export const createExternalChain = (obj) => http.post('/link/createLinks', obj, {
+ headers: {
+ 'token': '123'
+ }
+})
//外链信息删除接口
-export const deleteLink = (obj) => http.post('/link/deleteLink', { params: obj })
+export const deleteLink = (obj) => http.post('/link/deleteLink', { params: obj }, {
+ headers: {
+ 'token': '123'
+ }
+})
//获取外链详细信息接口
-export const getLink = (obj) => http.post('/link/getOne', { params: obj })
+export const getLink = (obj) => http.post('/link/getOne', obj)
// 更新外链数据
-export const updateLinks = (obj) => http.post('/link/updateLinks', obj)
+export const updateLinks = (obj) => http.post('/link/updateLinks', obj, {
+ headers: {
+ 'token': '123'
+ }
+})
//修改为必修的接口
-export const updateToCompulsory = (obj) => http.post('/link/updateToCompulsory', { params: obj })
+export const updateToCompulsory = (obj) => http.post('/link/updateToCompulsory', { params: obj }, {
+ headers: {
+ 'token': '123'
+ }
+})
//修改为选修的接口
-export const updateToElective = (obj) => http.post('/link/updateToElective', { params: obj })
\ No newline at end of file
+export const updateToElective = (obj) => http.post('/link/updateToElective', { params: obj }, {
+ headers: {
+ 'token': '123'
+ }
+})
\ No newline at end of file
diff --git a/src/api/indexInvist.js b/src/api/indexInvist.js
index 550a5803..31bb417f 100644
--- a/src/api/indexInvist.js
+++ b/src/api/indexInvist.js
@@ -43,13 +43,15 @@ export const createAppraiseMessage = (obj) => http.post('/survey/createAppraiseM
//删除评估信息
export const deleteAppraise = (obj) => http.post('/survey/deleteAppraise', { params: obj })
-
//根据ID获取评估信息详情
export const queryAppraiseDetailById = (obj) => http.post('/survey/queryAppraiseDetailById', { params: obj })
//修改评估信息
export const updateAppraiseMessage = (obj) => http.post('/survey/updateAppraiseMessage', obj)
+//获取全部评估信息接口
+export const queryAssessmentDetailList = (obj) => http.post('/assessment/queryAssessmentDetailList', obj)
+
// 测试方法
// import * as api from '../../api/index'
diff --git a/src/api/indexLevel.js b/src/api/indexLevel.js
index 39e22fcd..4cfe5d58 100644
--- a/src/api/indexLevel.js
+++ b/src/api/indexLevel.js
@@ -1,8 +1,12 @@
import http from "./config";
-//新建或编辑关卡
-export const editChapter = (obj) => http.post('/admin/router/editChapter', obj, {
- headers: {
- 'token': '123'
- }
-});
\ No newline at end of file
+//新建关卡
+export const editChapter = (obj) => http.post('/admin/router/editChapter', obj);
+//编辑关卡
+export const updateChapter = (obj) => http.post('/admin/router/editChapter', obj);
+
+//删除任务
+export const deleteTask = (obj) => http.delete('/admin/router/deleteTask',{params: obj});
+
+//移动任务到关卡
+export const moveTask = (obj) => http.post('/admin/router/moveTask',obj);
diff --git a/src/api/indexLiveBroadcast.js b/src/api/indexLiveBroadcast.js
index ef05e98e..1f5bb7a6 100644
--- a/src/api/indexLiveBroadcast.js
+++ b/src/api/indexLiveBroadcast.js
@@ -4,10 +4,22 @@ import http from "./config";
export const getLiveBroadcastInfor = (obj) => http.get('/liveBroadcast', { params: obj })
//创建直播接口
-export const createLiveBroadcast = (obj) => http.post('/liveBroadcast/createLiveBroadcast', obj)
+export const createLiveBroadcast = (obj) => http.post('/liveBroadcast/createLiveBroadcast', obj, {
+ headers: {
+ 'token': '123'
+ }
+})
//直播信息删除接口
-export const deleteLiveBroadcast = (obj) => http.post('/liveBroadcast/deleteLiveBroadcast', obj)
+export const deleteLiveBroadcast = (obj) => http.post('/liveBroadcast/deleteLiveBroadcast', obj, {
+ headers: {
+ 'token': '123'
+ }
+})
//直播信息修改接口
-export const updateLiveBroadcastMessage = (obj) => http.post('/liveBroadcast/updateLiveBroadcastMessage', obj)
\ No newline at end of file
+export const updateLiveBroadcastMessage = (obj) => http.post('/liveBroadcast/updateLiveBroadcastMessage', obj, {
+ headers: {
+ 'token': '123'
+ }
+})
\ No newline at end of file
diff --git a/src/api/indexMovetask.js b/src/api/indexMovetask.js
new file mode 100644
index 00000000..a0fee2ca
--- /dev/null
+++ b/src/api/indexMovetask.js
@@ -0,0 +1,4 @@
+import http from "./config";
+
+//移动任务到阶段
+export const moveTask = (obj) => http.post('/admin/project/moveTask',obj)
\ No newline at end of file
diff --git a/src/api/indexStage.js b/src/api/indexStage.js
new file mode 100644
index 00000000..1e6a2587
--- /dev/null
+++ b/src/api/indexStage.js
@@ -0,0 +1,4 @@
+import http from "./config";
+
+//添加阶段
+export const editStage = (obj) => http.post('/admin/project/editStage', obj);
\ No newline at end of file
diff --git a/src/api/indexStudy.js b/src/api/indexStudy.js
new file mode 100644
index 00000000..d948affb
--- /dev/null
+++ b/src/api/indexStudy.js
@@ -0,0 +1,3 @@
+import http from "./config";
+//路径图删除任务
+export const deleteStudyTask = (obj) => http.delete('/admin/router/deleteTask', { params: obj })
\ No newline at end of file
diff --git a/src/api/indexTask.js b/src/api/indexTask.js
new file mode 100644
index 00000000..534f95e7
--- /dev/null
+++ b/src/api/indexTask.js
@@ -0,0 +1,14 @@
+import http from "./config";
+
+
+// 获取路径图详情-包含关卡及任务列表
+export const GetRouterDetail = (routerId) => http.get(`/admin/router/detail?routerId=${routerId}`)
+
+// 新建或编辑阶段任务
+export const ProjectEditTask = (obj) => http.post('/admin/project/editTask',obj)
+// 新建或编辑关卡任务
+export const RouterEditTask = (obj) => http.post('/admin/router/editTask',obj)
+// 删除关卡任务
+export const RouterDeleteTask = (obj) => http.post('/admin/router/deleteTask',obj);
+// 删除项目任务
+export const ProjectDeleteTask = (obj) => http.delete('/admin/project/deleteTask',obj);
\ No newline at end of file
diff --git a/src/api/indexTaskadd.js b/src/api/indexTaskadd.js
index 07b87987..dd8001d2 100644
--- a/src/api/indexTaskadd.js
+++ b/src/api/indexTaskadd.js
@@ -1,13 +1,14 @@
import http from "./config";
-
//获取任务列表
-export const getTask = (obj) =>
- http.get(
- "/admin/project/detail",
- { params: obj },
- {
- headers: {
- token: "123",
- },
- }
- );
+export const getTask = (obj) => http.get('/admin/project/detail', { params: obj }, {
+ headers: {
+ 'token': '123'
+ }
+})
+
+//项目里的新建或编辑阶段任务
+export const addTask = (obj) => http.post('/admin/project/editTask', obj)
+
+
+//项目里的删除任务
+export const deleteTask = (obj) => http.delete('/admin/project/deleteTask', { params: obj })
diff --git a/src/api/indexVote.js b/src/api/indexVote.js
index e69de29b..fd1a7437 100644
--- a/src/api/indexVote.js
+++ b/src/api/indexVote.js
@@ -0,0 +1,81 @@
+import http from "./config";
+import qs from 'qs';
+
+
+/**
+ * 接口传参数方式(get)
+ * axios.get('/user', {
+ * params: {
+ * id: 12345,
+ * name: user
+ * }
+ * }).then(res => console.log(res))
+ *
+ * 接口传参三种方式(post/put/patch)
+ *
+ * 1.'Content-Type'= 'multipart/form-data',传参格式为 formData。
+ * (全局请求头:'Content-Type'= 'application/x-www-form-urlencoded')
+ * (request的Header:'Content-Type'= 'multipart/form-data')
+ * var formData=new FormData();
+ * formData.append('user',123456);formData.append('pass',12345678);
+ * axios.post("/notice",formData).then()
+ *
+ * 2.'Content-Type'= 'application/x-www-form-urlencoded',传参格式为 query 形式,使用$qs.stringify。
+ * (全局请求头:'Content-Type'= 'application/x-www-form-urlencoded')
+ * (request的Header:'Content-Type'= 'application/x-www-form-urlencoded')
+ * let data = {"code":"1234","name":"yyyy"};
+ * axios.post(`${this.$url}/test/testRequest`,qs.stringify({data})).then()
+ *
+ * 3.'Content-Type'= 'application/json,传参格式为 raw (JSON格式)。
+ * (全局请求头:'Content-Type'= 'application/x-www-form-urlencoded')
+ * (request的Header:'Content-Type'= 'application/json;charset=UTF-8')
+ * let data = {"code":"1234","name":"yyyy"}
+ * axios.post(`${this.$url}/test/testRequest`,data).then()
+ *
+ */
+// , {
+// header: {
+// 'token': '123',
+// }
+// }
+
+// 接口-请求
+
+//基础票数上传接口
+export const baseVoteupload = (obj) => http.post('/vote/baseVoteupload', obj)
+
+//创建题干信息接口
+export const createOptionMessage = (obj) => http.post('/vote/createOptionMessage', obj)
+
+//投票信息创建接口
+export const createVote = (obj) => http.post('/vote/createVote', obj)
+
+//删除投票信息
+export const deleteVoteMessage = (obj) => http.post('/vote/deleteVoteMessage', { params: obj })
+
+//删除题干信息接口
+export const deleteVoteStem = (obj) => http.post('/vote/deleteVoteStem', { params: obj })
+
+//删除题选项息接口
+export const deleteVoteStemOption = (obj) => http.post('/vote/deleteVoteStemOption', { params: obj })
+
+//修改投票信息接口
+export const editVote = (obj) => http.post('/vote/editVote', obj)
+
+//根据题干ID获取题干信息
+export const queryStemByStemId = (obj) => http.post('/vote/queryStemByStemId', { params: obj })
+
+//修改题干信息接口
+export const updateStemMessage = (obj) => http.post('/vote/updateStemMessage', obj);
+
+//上传组件
+export const fileUp = (obj) => http.post('/file/upload', obj, qs.stringify({ obj }));
+
+
+// 测试方法
+// import * as api from '../../api/index'
+// api.getLearnPath({}).then(res => {
+// console.log(res)
+// }).catch(err => {
+// console.log(err)
+// })
diff --git a/src/api/indexWork.js b/src/api/indexWork.js
index 2bff6660..af189946 100644
--- a/src/api/indexWork.js
+++ b/src/api/indexWork.js
@@ -9,8 +9,11 @@ export const createWorkTask = (obj) =>
// 删除作业信息接口
export const deleteWorkTask = (obj) => http.post("/work/deleteWorkTask", obj);
// 根据ID获取作业信息详情
-export const queryWorkDetailById = (obj) =>
- http.post("/work/queryWorkDetailById", obj);
+export const queryWorkDetailById = (obj) => http.post('/work/queryWorkDetailById',obj,{
+ headers: {
+ 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'
+ }
+});
// 修改作业信息接口
export const updateWorkTaskUsing = (obj) =>
http.post("/work/updateWorkTask", obj);
diff --git a/src/api/method.js b/src/api/method.js
index ca7d2367..21d43e0c 100644
--- a/src/api/method.js
+++ b/src/api/method.js
@@ -1,3 +1,4 @@
+
function formatNumber(n) {
n = n.toString();
return n[1] ? n : "0" + n;
@@ -161,8 +162,12 @@ function autoComma(number) {
return 0;
}
}
+const commonData={
+ timeout:50
+}
export {
toDate,
getWeek,
autoComma,
+ commonData,
}
\ No newline at end of file
diff --git a/src/api/storage.js b/src/api/storage.js
new file mode 100644
index 00000000..b274231f
--- /dev/null
+++ b/src/api/storage.js
@@ -0,0 +1,51 @@
+/**
+ * 封装操作localstorage本地存储的方法
+ */
+export const storage = {
+ //存储
+ set(key, value) {
+ localStorage.setItem(key, JSON.stringify(value))
+ },
+ //取出数据
+ get(key) {
+ const value = localStorage.getItem(key)
+ if (value && value != "undefined" && value != "null") {
+ return JSON.parse(value)
+ }
+ },
+ // 删除数据
+ remove(key) {
+ localStorage.removeItem(key)
+ },
+ // 获取所有数据
+ getAllStorage() {
+ return JSON.parse(window.localStorage.getItem() || "{}")
+ },
+ // 删除所有数据
+ removeAllLocalStorage() {
+ window.localStorage.clear()
+ return { message: "ok" }
+ }
+};
+
+/**
+ * 封装操作sessionStorage本地存储的方法
+ */
+export const sessionStorage = {
+ //存储
+ set(key, value) {
+ window.sessionStorage.setItem(key, JSON.stringify(value))
+ },
+ //取出数据
+ get(key) {
+ const value = window.sessionStorage.getItem(key)
+ if (value && value != "undefined" && value != "null") {
+ return JSON.parse(value)
+ }
+ return null
+ },
+ // 删除数据
+ remove(key) {
+ window.sessionStorage.removeItem(key)
+ }
+}
\ No newline at end of file
diff --git a/src/assets/images/notSelect.png b/src/assets/images/notSelect.png
new file mode 100644
index 00000000..33d633a6
Binary files /dev/null and b/src/assets/images/notSelect.png differ
diff --git a/src/assets/images/select.png b/src/assets/images/select.png
new file mode 100644
index 00000000..70d9089e
Binary files /dev/null and b/src/assets/images/select.png differ
diff --git a/src/assets/images/selectAll.png b/src/assets/images/selectAll.png
new file mode 100644
index 00000000..d796f599
Binary files /dev/null and b/src/assets/images/selectAll.png differ
diff --git a/src/assets/scss/common.scss b/src/assets/scss/common.scss
index bbe805e6..09f462c8 100644
--- a/src/assets/scss/common.scss
+++ b/src/assets/scss/common.scss
@@ -345,14 +345,14 @@ textarea {
.drawerMain {
min-width: 700px;
margin: 0px 32px 0px 32px;
- overflow-x: scroll;
+ overflow-x: auto;
display: flex;
flex-direction: column;
height: 100%;
.contentMain {
flex: 1;
- overflow-y: scroll;
+ overflow-y: auto;
}
}
@@ -376,7 +376,7 @@ textarea {
.drawerMain {
min-width: 700px;
margin: 0px 32px 0px 32px;
- overflow-x: scroll;
+ overflow-x: auto;
display: flex;
flex-direction: column;
}
@@ -392,7 +392,7 @@ textarea {
.ant-modal {
height: calc(100% - 200px);
background-color: rgba(255, 255, 255, 1);
- // overflow-y: scroll;
+ // overflow-y: auto;
min-width: 900px;
max-width: 1300px;
padding: 0;
@@ -428,7 +428,7 @@ textarea {
.modalMain {
height: 0px;
flex: 1 1 auto;
- overflow-y: scroll;
+ overflow-y: auto;
margin-top: 7px;
margin: 0px 52px;
@@ -437,4 +437,18 @@ textarea {
}
}
-//弹窗--------------------------------------------------------
\ No newline at end of file
+//弹窗--------------------------------------------------------
+
+//loading--------------------------------------------------------
+.aeLoading {
+ width: 100%;
+ height: 100%;
+background: rgba(0, 0, 0, 0.2);
+display: flex;
+align-items: center;
+justify-content: center;
+position: absolute;
+left: 0;
+top:0,
+}
+//loading--------------------------------------------------------
\ No newline at end of file
diff --git a/src/components/BreadCrumb.vue b/src/components/BreadCrumb.vue
index 2e84c237..2abfc972 100644
--- a/src/components/BreadCrumb.vue
+++ b/src/components/BreadCrumb.vue
@@ -33,7 +33,10 @@ export default {
// console.log("监听路由");
console.log("new:" + n + ",old:" + o);
- if (n === "/learningpath" || n === "/LearningPath") {
+ if (
+ n.indexOf("/learningpath") !== -1 ||
+ n.indexOf("/LearningPath") !== -1
+ ) {
state.list = [
{
name: "学习路径",
@@ -42,25 +45,28 @@ export default {
},
];
}
- if (n === "/leveladd" || n === "/LevelAdd") {
+ if (n.indexOf("/leveladd") !== -1 || n.indexOf("/LevelAdd") !== -1) {
state.list = [
{
name: "学习路径",
href: "/learningpath",
},
{
- name: "关卡",
+ name: "管理",
},
];
}
- if (n === "/leveladddetail" || n === "/LevelAddDetail") {
+ if (
+ n.indexOf("/leveladddetail") !== -1 ||
+ n.indexOf("/LevelAddDetail") !== -1
+ ) {
state.list = [
{
name: "学习路径",
href: "/learningpath",
},
{
- name: "关卡",
+ name: "管理",
href: "/leveladd",
},
{
@@ -68,14 +74,17 @@ export default {
},
];
}
- if (n === "/levelcheck" || n === "/LevelCheck") {
+ if (
+ n.indexOf("/levelcheck") !== -1 ||
+ n.indexOf("/LevelCheck") !== -1
+ ) {
state.list = [
{
name: "学习路径",
href: "/learningpath",
},
{
- name: "关卡",
+ name: "管理",
href: "/leveladd",
},
{
@@ -83,7 +92,10 @@ export default {
},
];
}
- if (n === "/projectmanage" || n === "/ProjectManage") {
+ if (
+ n.indexOf("/projectmanage") !== -1 ||
+ n.indexOf("/ProjectManage") !== -1
+ ) {
state.list = [
{
name: "项目中心",
@@ -96,7 +108,10 @@ export default {
},
];
}
- if (n === "/projectadd" || n === "/ProjectAdd") {
+ if (
+ n.indexOf("/projectadd") !== -1 ||
+ n.indexOf("/ProjectAdd") !== -1
+ ) {
state.list = [
{
name: "项目",
@@ -107,7 +122,7 @@ export default {
},
];
}
- if (n === "/taskpage" || n === "/TaskPage") {
+ if (n.indexOf("/taskpage") !== -1 || n.indexOf("/TaskPage") !== -1) {
state.list = [
{
name: "项目",
@@ -118,7 +133,7 @@ export default {
},
];
}
- if (n === "/taskadd" || n === "/TaskAdd") {
+ if (n.indexOf("/taskadd") !== -1 || n.indexOf("/TaskAdd") !== -1) {
state.list = [
{
name: "项目",
@@ -135,7 +150,10 @@ export default {
},
];
}
- if (n === "/templatelibrary" || n === "/TemplateLibrary") {
+ if (
+ n.indexOf("/templatelibrary") !== -1 ||
+ n.indexOf("/TemplateLibrary") !== -1
+ ) {
state.list = [
{
name: "项目中心",
@@ -145,7 +163,10 @@ export default {
},
];
}
- if (n === "/libraryadd" || n === "/LibraryAdd") {
+ if (
+ n.indexOf("/libraryadd") !== -1 ||
+ n.indexOf("/LibraryAdd") !== -1
+ ) {
state.list = [
{
name: "项目中心",
@@ -159,7 +180,10 @@ export default {
},
];
}
- if (n === "/coursemanage" || n === "/CourseManage") {
+ if (
+ n.indexOf("/coursemanage") !== -1 ||
+ n.indexOf("/CourseManage") !== -1
+ ) {
state.list = [
{
name: "课程库",
@@ -172,7 +196,10 @@ export default {
},
];
}
- if (n === "/coursewaremanage" || n === "/CoursewareManage") {
+ if (
+ n.indexOf("/coursewaremanage") !== -1 ||
+ n.indexOf("/CoursewareManage") !== -1
+ ) {
state.list = [
{
name: "课程库",
@@ -182,7 +209,10 @@ export default {
},
];
}
- if (n === "/researchmanage" || n === "/ResearchManage") {
+ if (
+ n.indexOf("/researchmanage") !== -1 ||
+ n.indexOf("/ResearchManage") !== -1
+ ) {
state.list = [
{
name: "评估管理",
@@ -191,7 +221,10 @@ export default {
},
];
}
- if (n === "/managepage" || n === "/ManagePage") {
+ if (
+ n.indexOf("/managepage") !== -1 ||
+ n.indexOf("/ManagePage") !== -1
+ ) {
state.list = [
{
name: "评估管理",
@@ -204,7 +237,10 @@ export default {
];
}
- if (n === "/researchadd" || n === "/ResearchAdd") {
+ if (
+ n.indexOf("/researchadd") !== -1 ||
+ n.indexOf("/ResearchAdd") !== -1
+ ) {
state.list = [
{
name: "评估管理",
@@ -217,14 +253,20 @@ export default {
];
}
- if (n === "/certificatecenter" || n === "/CertificateCenter") {
+ if (
+ n.indexOf("/certificatecenter") !== -1 ||
+ n.indexOf("/CertificateCenter") !== -1
+ ) {
state.list = [
{
name: "证书中心",
},
];
}
- if (n === "/systemmanage" || n === "/SystemManage") {
+ if (
+ n.indexOf("/systemmanage") !== -1 ||
+ n.indexOf("/SystemManage") !== -1
+ ) {
state.list = [
{
name: "系统管理",
diff --git a/src/components/OpenPages.vue b/src/components/OpenPages.vue
index 6b3f37dd..f8c24091 100644
--- a/src/components/OpenPages.vue
+++ b/src/components/OpenPages.vue
@@ -1,111 +1,122 @@
-
-
+
+
Upload
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
-
+
@@ -194,7 +259,7 @@
@@ -203,34 +268,63 @@
-
-
-
+
+
+
-
+
-
-
+
+
-
-
-
+
+
+
-
-
-
+
-
-
-
+
+
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 项目发布
+
+
-
-
-
-
+
+
+
+
-
+
-
-
+
+
-
-
-
+
+
+
-
- 上传附件
-
-
-
+
+
条