From 20b057066120a96abef632ec0847e46de65b5bff Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=8E=8B=E7=86=99=E4=B8=9C?= <2195178163@qq.com>
Date: Wed, 9 Nov 2022 16:07:52 +0800
Subject: [PATCH 01/10] =?UTF-8?q?feat:=20=E5=85=B3=E5=8D=A1=E6=A6=82?=
=?UTF-8?q?=E8=A7=88=E9=A1=B5=E9=9D=A2=E4=BF=AE=E6=94=B9=E5=92=8C=E6=95=B0?=
=?UTF-8?q?=E6=8D=AE=E6=8E=A5=E5=85=A5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/indexLearningPath.js | 4 +
src/views/learningpath/LevelAdd.vue | 122 ++++++++++++++++++++++------
2 files changed, 101 insertions(+), 25 deletions(-)
create mode 100644 src/api/indexLearningPath.js
diff --git a/src/api/indexLearningPath.js b/src/api/indexLearningPath.js
new file mode 100644
index 00000000..f32f7d01
--- /dev/null
+++ b/src/api/indexLearningPath.js
@@ -0,0 +1,4 @@
+import http from "./config";
+
+// 获取路径图概览
+export const getRouterOverview = (routerId) => http.get(`/admin/router/overview?routerId=${routerId}`)
\ No newline at end of file
diff --git a/src/views/learningpath/LevelAdd.vue b/src/views/learningpath/LevelAdd.vue
index f5708800..1f6af2ad 100644
--- a/src/views/learningpath/LevelAdd.vue
+++ b/src/views/learningpath/LevelAdd.vue
@@ -116,43 +116,48 @@
-
200
+
{{routerInfoOverview.totalStudentCnt}}
总人数
-
15
-
必修课
+
{{routerInfoOverview.studyStudentCnt}}
+
学习人数
-
15
-
选修课
+
{{routerInfoOverview.completeStudentCnt}}
+
完成人数
- 50{{routerInfoOverview.onlineCourseCnt}}%
-
完成率
+
在线课程数
- 30{{routerInfoOverview.offLineCourseCnt}}%
-
必修完成率
+
面授课程数
- 30{{routerInfoOverview.completeRatio}}%
-
选修完成率
+
总完成率
-
阶段1
-
阶段2
+
+ {{item.stage}}
+
+
阶段名称:
@@ -163,7 +168,7 @@
课程完成率
@@ -172,7 +177,7 @@
考试通过率
@@ -181,26 +186,26 @@
-
作业合格率
+
作业完成率
-
10
+
{{chapterOverviewList.totalTaskCnt}}
-
5
+
{{chapterOverviewList.totalReqCnt}}
-
1
+
{{chapterOverviewList.totalOptCnt}}
@@ -883,10 +888,15 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/components/drawers/StuAdd.vue b/src/components/drawers/StuAdd.vue
index cdb761cf..735d851f 100644
--- a/src/components/drawers/StuAdd.vue
+++ b/src/components/drawers/StuAdd.vue
@@ -65,32 +65,50 @@
清空
-->
-
@@ -101,36 +119,14 @@
style="overflow-y: auto"
>
-
-
-
-
@@ -284,204 +308,19 @@
全部清除
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 李二明
+
+
快速选人
+
+
+
添加组织
+
+
受众关联
@@ -521,9 +360,12 @@ export default {
value: [], //级联选择框
choosevalue: null, //受众选择
valueSelect: null, //树形选择
+ valueSelectboe: null, //boe树形选择
+ valueSelectboe2: null, //boe树形选择
name: "",
nameadd: "",
nameaddd: "",
+ com: "",
treeData: [
{
title: "京东方",
@@ -691,69 +533,236 @@ export default {
],
},
],
+ treeData2: [
+ {
+ title: "京东方",
+ value: "京东方",
+ children: [
+ {
+ title: "产研部",
+ value: "产研部",
+ children: [
+ {
+ title: "产品部",
+ value: "产品部",
+ },
+ {
+ title: "研究部",
+ value: "研究部",
+ },
+ ],
+ },
+ {
+ title: "二级标题",
+ value: "二级标题",
+ children: [
+ {
+ title: "三级标题",
+ value: "三级标题",
+ children: [
+ {
+ title: "四级标题",
+ value: "四级标题",
+ children: [
+ {
+ title: "五级标题",
+ value: "五级标题",
+ children: [
+ {
+ title: "六级标题",
+ value: "六级标题",
+ children: [
+ {
+ title: "七级标题",
+ value: "七级标题",
+ children: [
+ {
+ title: "八级标题",
+ value: "八级标题",
+ children: [
+ {
+ title: "九级标题",
+ value: "九级标题",
+ children: [
+ {
+ title: "十级标题",
+ value: "十级标题",
+ children: [
+ {
+ title: "十一级标题",
+ value: "十一级标题",
+ children: [
+ {
+ title: "十二级标题",
+ value: "十二级标题",
+ children: [
+ {
+ title:
+ "十三级标题十三级标题十三级标题十三级标题",
+ value: "十三级标题",
+ children: [
+ {
+ title:
+ "十四级标题",
+ value:
+ "十四级标题",
+ children: [
+ {
+ title:
+ "十五级标题",
+ value:
+ "十五级标题",
+ children: [
+ {
+ title:
+ "十六级标题",
+ value:
+ "十六级标题",
+ children:
+ [
+ {
+ title:
+ "十七级标题",
+ value:
+ "十七级标题",
+ children:
+ [
+ {
+ title:
+ "十八级标题",
+ value:
+ "十八级标题",
+ children:
+ [
+ {
+ title:
+ "十九级标题",
+ value:
+ "十九级标题",
+ children:
+ [
+ {
+ title:
+ "二十级标题二十级标题",
+ value:
+ "二十级标题二十级标题",
+ },
+ ],
+ },
+ ],
+ },
+ ],
+ },
+ ],
+ },
+ ],
+ },
+ ],
+ },
+ ],
+ },
+ ],
+ },
+ ],
+ },
+ ],
+ },
+ ],
+ },
+ ],
+ },
+ ],
+ },
+ ],
+ },
+ ],
+ },
+ ],
+ },
+ ],
+ },
+ ],
+ },
+ {
+ title: "人力资源部",
+ value: "人力资源部",
+ children: [
+ {
+ title: "人事部",
+ value: "人事部",
+ },
+ {
+ title: "行政部",
+ value: "行政部",
+ },
+ ],
+ },
+ ],
+ },
+ ],
tabledata: [
{
key: 1,
name: "小李",
bum: "产研部",
numb: "000000",
- guishu: "",
+ guishu: "产品部",
},
{
key: 2,
name: "小刘",
bum: "产研部",
numb: "000000",
- guishu: "",
+ guishu: "产品部",
},
{
key: 3,
name: "小李",
bum: "产研部",
numb: "000000",
- guishu: "",
+ guishu: "产品部",
},
{
key: 4,
name: "小李",
bum: "产研部",
numb: "000000",
- guishu: "",
+ guishu: "产品部",
},
{
key: 5,
name: "小李",
bum: "产研部",
numb: "000000",
- guishu: "",
+ guishu: "产品部",
},
{
key: 6,
name: "小李",
bum: "产研部",
numb: "000000",
- guishu: "",
+ guishu: "产品部",
},
{
key: 7,
name: "小李",
bum: "产研部",
numb: "000000",
- guishu: "",
+ guishu: "产品部",
},
{
key: 8,
name: "小李",
bum: "产研部",
numb: "000000",
- guishu: "",
+ guishu: "产品部",
},
{
key: 9,
name: "小李",
bum: "产研部",
numb: "000000",
- guishu: "",
+ guishu: "产品部",
},
],
tablecolumns: [
@@ -761,7 +770,7 @@ export default {
title: "姓名",
dataIndex: "name",
key: "name",
- width: 30,
+ // width: 30,
align: "left",
className: "h",
},
@@ -769,7 +778,7 @@ export default {
title: "工号",
dataIndex: "numb",
key: "numb",
- width: 35,
+ // width: 30,
align: "center",
className: "h",
},
@@ -777,7 +786,7 @@ export default {
title: "归属组织",
dataIndex: "guishu",
key: "guishu",
- width: 30,
+ // width: 30,
align: "center",
className: "h",
},
@@ -785,7 +794,7 @@ export default {
title: "部门",
dataIndex: "bum",
key: "bum",
- width: 40,
+ // width: 30,
align: "center",
className: "h",
},
@@ -998,6 +1007,52 @@ export default {
label: "人力资源hrbp",
},
],
+ choosepeople: [
+ {
+ id: 1,
+ name: "李明",
+ },
+ {
+ id: 1,
+ name: "李明",
+ },
+ {
+ id: 1,
+ name: "李明",
+ },
+ {
+ id: 1,
+ name: "李明",
+ },
+ {
+ id: 1,
+ name: "李明",
+ },
+ {
+ id: 1,
+ name: "李明",
+ },
+ {
+ id: 1,
+ name: "李明",
+ },
+ {
+ id: 1,
+ name: "李明",
+ },
+ {
+ id: 1,
+ name: "李明",
+ },
+ {
+ id: 1,
+ name: "李明",
+ },
+ {
+ id: 1,
+ name: "李明",
+ },
+ ],
});
const closeDrawer = () => {
state.activeKey = "1";
@@ -1234,49 +1289,70 @@ export default {
}
}
}
- .tabb {
- .ant-table-thead > tr > th {
- background-color: rgba(240, 246, 252, 1);
- color: rgba(0, 0, 0, 0.85);
- }
- .ant-table-tbody > tr > td {
- border-bottom: 1px solid #f0f6fc;
- color: rgba(0, 0, 0, 0.65);
- }
- th.h {
- background-color: #eff4fc !important;
+ .chooseLeft {
+ display: flex;
+ justify-content: space-between;
+ .boeTree {
+ margin-top: 20px;
+ width: 300px;
+ height: 40px;
+ margin-right: 10px;
+ .ant-select {
+ .ant-select-selector {
+ border-radius: 8px;
+ height: 40px;
+ .ant-select-selection-placeholder {
+ color: #409eff;
+ margin-left: 72px !important;
+ margin-top: 4px !important;
+ }
+ }
+ }
}
+ .tabb {
+ .ant-table-thead > tr > th {
+ background-color: rgba(240, 246, 252, 1);
+ color: rgba(0, 0, 0, 0.85);
+ }
+ .ant-table-tbody > tr > td {
+ border-bottom: 1px solid #f0f6fc;
+ color: rgba(0, 0, 0, 0.65);
+ }
+ th.h {
+ background-color: #eff4fc !important;
+ }
- .ant-table-tbody
- > tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected)
- > td {
- background: rgba(250, 250, 250, 1);
- }
- .ant-table-selection-column {
- padding: 0 !important;
- }
- // table tr td.ant-table-selection-column {
- // text-align: right;
- // }
- // .ant-checkbox-wrapper {
- // align-items: center;
- // margin-top: -2px;
- // }
- .pa {
- // left: 0;
- margin-top: 15px;
- width: 100%;
- // height: 20px;
- // background-color: red;
- display: flex;
- justify-content: center;
- // position: absolute;
- // bottom: 20px;
- .ant-pagination-item,
- .ant-pagination-prev,
- .ant-pagination-next,
- .ant-pagination-options {
- margin-bottom: 10px;
+ .ant-table-tbody
+ > tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected)
+ > td {
+ background: rgba(250, 250, 250, 1);
+ }
+ .ant-table-selection-column {
+ padding: 0 !important;
+ }
+ // table tr td.ant-table-selection-column {
+ // text-align: right;
+ // }
+ // .ant-checkbox-wrapper {
+ // align-items: center;
+ // margin-top: -2px;
+ // }
+ .pa {
+ // left: 0;
+ margin-top: 15px;
+ width: 100%;
+ // height: 20px;
+ // background-color: red;
+ display: flex;
+ justify-content: center;
+ // position: absolute;
+ // bottom: 20px;
+ .ant-pagination-item,
+ .ant-pagination-prev,
+ .ant-pagination-next,
+ .ant-pagination-options {
+ margin-bottom: 10px;
+ }
}
}
}
@@ -1284,45 +1360,27 @@ export default {
.tab2 {
display: flex;
align-items: center;
- margin-top: 10px;
+ // margin-top: 10px;
flex-wrap: wrap;
justify-content: space-between;
+ .nameinp {
+ display: flex;
+ align-items: center;
+ margin-top: 10px;
+ .namee {
+ color: rgba(0, 0, 0, 0.85);
+ font-size: 14px;
+ }
+ }
.t1 {
display: flex;
align-items: center;
margin-bottom: 5px;
}
- .organize {
- color: rgba(0, 0, 0, 0.85);
- font-size: 14px;
- white-space: nowrap;
- }
-
- .ant-select-dropdown {
- min-width: 800px !important;
- }
- .ant-select {
- border-radius: 8px !important;
- // background-color: red;
- }
- .ant-cascader {
- width: 264px;
- height: 40px;
- border-radius: 8px !important;
- .ant-select-selector {
- height: 100%;
- }
- .ant-select-selection-search-input {
- height: 40px;
- }
- }
- }
-
- .searchdown {
.btns {
display: flex;
- margin-top: 10px;
+ // margin-top: -10px;
.btn1 {
width: 100px;
height: 40px;
@@ -1357,6 +1415,47 @@ export default {
}
}
}
+ .organize {
+ color: rgba(0, 0, 0, 0.85);
+ font-size: 14px;
+ white-space: nowrap;
+ }
+
+ .ant-select-dropdown {
+ min-width: 800px !important;
+ }
+ .ant-select {
+ border-radius: 8px !important;
+ // background-color: red;
+ }
+ .ant-cascader {
+ width: 264px;
+ height: 40px;
+ border-radius: 8px !important;
+ .ant-select-selector {
+ height: 100%;
+ }
+ .ant-select-selection-search-input {
+ height: 40px;
+ }
+ }
+ }
+ .boeTree {
+ margin-top: 20px;
+ width: 300px;
+ height: 40px;
+ margin-right: 10px;
+ .ant-select {
+ .ant-select-selector {
+ border-radius: 8px;
+ height: 40px;
+ .ant-select-selection-placeholder {
+ color: #409eff;
+ margin-left: 72px !important;
+ margin-top: 4px !important;
+ }
+ }
+ }
}
}
}
@@ -1416,10 +1515,25 @@ export default {
}
}
}
+ .line {
+ width: 90%;
+ height: 1px;
+ background-color: #e8e8e8;
+ margin-left: 12px;
+ margin-top: 20px;
+ }
+ .tit {
+ font-size: 14px;
+ font-weight: 500;
+ margin-top: 12px;
+ margin-left: 32px;
+ }
.selecteds {
display: flex;
flex-wrap: wrap;
margin-left: 32px;
+ height: 200px;
+ overflow-y: hidden;
.chose {
width: 64px;
height: 24px;
@@ -1490,4 +1604,18 @@ export default {
width: 7px !important;
}
}
+.changetreedropdownboe {
+ width: 240px !important;
+ border-radius: 5px;
+ min-height: 600px !important;
+ .ant-select-tree-list-scrollbar {
+ width: 5px !important;
+ .ant-select-tree-list-scrollbar-thumb {
+ background-color: #4ea6ff !important;
+ }
+ }
+ .ant-select-tree-indent-unit {
+ width: 7px !important;
+ }
+}
diff --git a/src/views/projectcenter/TaskAdd.vue b/src/views/projectcenter/TaskAdd.vue
index eeb9619d..c9510c07 100644
--- a/src/views/projectcenter/TaskAdd.vue
+++ b/src/views/projectcenter/TaskAdd.vue
@@ -1326,7 +1326,16 @@ export default {
// console.log("22222", res.data.data.stageList);
let leng = res.data.data.stageList.length;
if (leng > 0) {
- //获取任务列表
+ //后加选择了阶段id
+ // if(state.chooseStageId!==null){
+ // let final = res.data.data.stageList.find((item)=>item.id==state.chooseStageId)
+ // getTableData(final)
+ // }else{
+ // //获取任务列表
+ // let arr = res.data.data.stageList[0].taskList;
+ // console.log("任务列表", arr);
+ // getTableData(arr);
+ // }
let arr = res.data.data.stageList[0].taskList;
console.log("任务列表", arr);
getTableData(arr);
diff --git a/src/views/projectcenter/TaskPage.vue b/src/views/projectcenter/TaskPage.vue
index ebaf0cb1..f83efd1b 100644
--- a/src/views/projectcenter/TaskPage.vue
+++ b/src/views/projectcenter/TaskPage.vue
@@ -597,11 +597,11 @@
/>
-
+
搜索
-
+
重置
@@ -617,11 +617,16 @@
随机分组
+
-
+
-
好好学习小组
+
{{ item.groupName }}
-
组长:小李
+
组长:{{ item.leaderName }}
-
-
-
-
-
-