diff --git a/package-lock.json b/package-lock.json
index aeae90d7..265adf67 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -9578,7 +9578,7 @@
},
"node_modules/sortablejs": {
"version": "1.15.0",
- "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.15.0.tgz",
+ "resolved": "https://registry.npmmirror.com/sortablejs/-/sortablejs-1.15.0.tgz",
"integrity": "sha512-bv9qgVMjUMf89wAvM6AxVvS/4MX3sPeN0+agqShejLU5z5GX4C75ow1O2e5k4L6XItUyAK3gH6AxSbXrOM5e8w=="
},
"node_modules/source-map": {
@@ -10524,7 +10524,7 @@
},
"node_modules/vuedraggable": {
"version": "4.1.0",
- "resolved": "https://registry.npmjs.org/vuedraggable/-/vuedraggable-4.1.0.tgz",
+ "resolved": "https://registry.npmmirror.com/vuedraggable/-/vuedraggable-4.1.0.tgz",
"integrity": "sha512-FU5HCWBmsf20GpP3eudURW3WdWTKIbEIQxh9/8GE806hydR9qZqRRxRE3RjqX7PkuLuMQG/A7n3cfj9rCEchww==",
"dependencies": {
"sortablejs": "1.14.0"
@@ -10535,7 +10535,7 @@
},
"node_modules/vuedraggable/node_modules/sortablejs": {
"version": "1.14.0",
- "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.14.0.tgz",
+ "resolved": "https://registry.npmmirror.com/sortablejs/-/sortablejs-1.14.0.tgz",
"integrity": "sha512-pBXvQCs5/33fdN1/39pPL0NZF20LeRbLQ5jtnheIPN9JQAaufGjKdWduZn4U7wCtVuzKhmRkI0DFYHYRbB2H1w=="
},
"node_modules/vuex": {
diff --git a/src/api/config.js b/src/api/config.js
index f545226a..414e5c3b 100644
--- a/src/api/config.js
+++ b/src/api/config.js
@@ -2,7 +2,7 @@
* @Author: lixg lixg@dongwu-inc.com
* @Date: 2022-11-21 14:32:52
* @LastEditors: lixg lixg@dongwu-inc.com
- * @LastEditTime: 2022-11-21 15:13:50
+ * @LastEditTime: 2022-11-23 09:59:26
* @FilePath: /fe-manage/src/api/config.js
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
@@ -26,9 +26,10 @@ http.interceptors.request.use(
const token = localStorage.getItem("token");
if (token) {
// config.headers.token = token;
- config.headers.token = 123456; //测试1111
+ config.headers.token = token; //测试1111
} else {
console.log("当前请求页面无token,请执行操作!!!");
+
// 此处测试默认配置token
config.headers.token = "123456";
// config.headers.token = "eyJ0eXBlIjoidG9rZW4iLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC91LmJvZS5jb20iLCJpYXQiOjE2Njg4NjI2MTAsImV4cCI6MTY2ODg2OTgxMCwiR2l2ZW5OYW1lIjoiYm9ldSIsInVzZXJJZCI6IjZCMDQ5RkFGLUMzMTQtN0NDRi0wRDI4LTBEMjNGNEM0MjUzMSIsInVJZCI6Ijk2NTM0MjAyNzQ5NzYwNzE2OCIsInBlcm1pc3Npb24iOiIifQ==.defa91ecb2b61d9b20d858db0c2c8d7d80dea4613cb2559a22569b7df36b3f6b";
diff --git a/src/api/index1.js b/src/api/index1.js
index 6e5402e5..bc2d71bd 100644
--- a/src/api/index1.js
+++ b/src/api/index1.js
@@ -2,7 +2,7 @@
* @Author: lixg lixg@dongwu-inc.com
* @Date: 2022-11-04 22:45:31
* @LastEditors: lixg lixg@dongwu-inc.com
- * @LastEditTime: 2022-11-21 16:39:08
+ * @LastEditTime: 2022-11-22 18:04:47
* @FilePath: /fe-manage/src/api/index1.js
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
@@ -87,6 +87,10 @@ export const billboard = (obj) => http.post('/admin/project/billboard', obj);
//获取字典信息
export const getDict = (obj) => http.post('/dict/getList', obj)
+//获取组织树
+export const getOrgTree = (obj) => http.post('/admin/router/orgList', obj)
+
+
// 获取组织结构树
export const orgtree = () => http.get('/org/tree');
diff --git a/src/api/indexCourse.js b/src/api/indexCourse.js
index 3cf89f13..e393ab50 100644
--- a/src/api/indexCourse.js
+++ b/src/api/indexCourse.js
@@ -3,19 +3,52 @@ import http from "./config";
/**
* 1
*/
+//添加课程学员
+export const addStudent = (obj) =>
+ http.post("/admin/offcourse/addStudent", obj);
//删除开课
export const deletePlan = (obj) =>
- http.delete("/admin/offcourse/deletePlan", obj);
+ http.delete(
+ "/admin/offcourse/deletePlan",
+ { params: obj },
+ {
+ headers: { "Content-Type": "application/x-www-form-urlencoded" },
+ }
+ );
+//获取面授课详情
+export const detail = (obj) =>
+ http.post("/admin/offcourse/detail", obj, {
+ headers: { "Content-Type": "application/x-www-form-urlencoded" },
+ });
+//获取面授课开课详情
+export const detailPlan = (obj) =>
+ http.post("/admin/offcourse/detailPlan", obj, {
+ headers: { "Content-Type": "application/x-www-form-urlencoded" },
+ });
//新建或编辑面授课
export const edit = (obj) => http.post("/admin/offcourse/edit", obj);
//新建或编辑面授课开课
export const editPlan = (obj) => http.post("/admin/offcourse/editPlan", obj);
-//操作面授课(发布,撤回,删除)
+//课程导出
+export const exportP = (obj) => http.post("/admin/offcourse/export", obj);
+//操作面授课(发布,撤回,删除,审核,停用)
export const handle = (obj) => http.post("/admin/offcourse/handle", obj);
+//学员操作-支持批量
+export const handleStudent = (obj) =>
+ http.post("/admin/offcourse/handleStudent", obj);
//获取面授课列表
export const list = (obj) => http.post("/admin/offcourse/list", obj);
+//获取面授课已审核列表
+export const listReview = (obj) =>
+ http.post("/admin/offcourse/listReview", obj);
//面授课开课列表
export const planList = (obj) => http.post("/admin/offcourse/planList", obj);
+//学员导出
+export const studentExport = (obj) =>
+ http.post("/admin/offcourse/studentExport", obj);
//获取学员列表
export const studentList = (obj) =>
http.post("/admin/offcourse/studentList", obj);
+//学习记录列表
+export const studyRecordList = (obj) =>
+ http.post("/admin/offcourse/studyRecordList", obj);
diff --git a/src/components/NavLeft.vue b/src/components/NavLeft.vue
index ce679c18..41e7257d 100644
--- a/src/components/NavLeft.vue
+++ b/src/components/NavLeft.vue
@@ -192,8 +192,8 @@
src="../assets/images/navleft/certificate.png"
/>
-
- 证书中心
+ 证书中心
+
@@ -202,7 +202,8 @@
src="../assets/images/navleft/system.png"
/>
- 系统管理
+ 系统管理
+
@@ -219,6 +220,9 @@
mode="inline"
@click="handleClick"
>
+
+ 审核
+
学习
diff --git a/src/components/drawers/AddCase.vue b/src/components/drawers/AddCase.vue
index 293ac1e7..22c806dc 100644
--- a/src/components/drawers/AddCase.vue
+++ b/src/components/drawers/AddCase.vue
@@ -150,8 +150,10 @@ export default {
localStorage.setItem("stageId", props.chooseStageId);
localStorage.setItem("chapterId", props.isactive);
};
- const afterVisibleChange = () => {
- getAllCaseText()
+ const afterVisibleChange = (bol) => {
+ if ( bol == true ) {
+ getAllCaseText()
+ }
};
const tableDataFunc = () => {
const columns = [
@@ -182,6 +184,9 @@ export default {
return columns;
};
const onSelectChange = (selectedRowKeys,selectedRows)=> {
+ if(selectedRowKeys.length>2){
+ return
+ }
state.selectedRowKeys = selectedRowKeys;
state.apiTaskList = selectedRows;
};
@@ -251,18 +256,6 @@ export default {
});
} else if (props.isLevel == 2) {
if(state.apiTaskList.length > 1){
- // for((item,index) in state.apiTaskList){
- // apiTask
- // .addTask({
- // "courseId": item.caseId,
- // "duration": 0,
- // "flag": true,
- // "name": item.caseName,
- // "projectId": props.projectId,
- // "projectTaskId": props.projectTaskId,
- // "stageId": props.chooseStageId,
- // "type": 3,
- // })
for(let i = 0;i <= state.apiTaskList.length;i++){
apiTask
.addTask({
@@ -455,6 +448,9 @@ export default {
.ant-table-selection-column {
padding: 0px !important;
padding-left: 15px !important;
+ .ant-table-selection{
+ display: none;
+ }
}
.ant-table-thead > tr > th {
background-color: rgba(239, 244, 252, 1);
diff --git a/src/components/drawers/AddEval.vue b/src/components/drawers/AddEval.vue
index 0a58aef2..2f3ece39 100644
--- a/src/components/drawers/AddEval.vue
+++ b/src/components/drawers/AddEval.vue
@@ -215,6 +215,8 @@ export default {
projectId: props.projectId,
projectTaskId: props.projectTaskId || 0,
stageId: props.chooseStageId,
+ evaluationTypeId: state.evaluationTypeId,
+ evaluationTypeName: state.evaluationTypeName,
type: 10,
})
.then(( ) => {
@@ -230,6 +232,8 @@ export default {
name: res.data.data.evaluationName,
routerId: props.routerId,
routerTaskId: props.routerTaskId || 0,
+ evaluationTypeId: state.evaluationTypeId,
+ evaluationTypeName: state.evaluationTypeName,
type: 10,
})
.then(( ) => {
diff --git a/src/components/drawers/AddTest.vue b/src/components/drawers/AddTest.vue
index 82c24cf7..e16ef4d4 100644
--- a/src/components/drawers/AddTest.vue
+++ b/src/components/drawers/AddTest.vue
@@ -78,15 +78,16 @@
-
-
+
+ 选择试卷
+
+
{{ paperName }}
+
@@ -709,8 +716,8 @@ export default {
.catch(() => {
message.error(`${props.EditTestId ? "编辑" : "新增"}阶段任务失败`);
});
- } else if (props.isLevel == 3) {
- console.log("");
+ } else if (props.isLevel == 3) {
+ console.log("");
}
};
diff --git a/src/components/drawers/EvList.vue b/src/components/drawers/EvList.vue
index 5bb04782..257dbd95 100644
--- a/src/components/drawers/EvList.vue
+++ b/src/components/drawers/EvList.vue
@@ -36,7 +36,7 @@
搜索
-
+
@@ -50,7 +50,7 @@
:data-source="tableData"
:loading="tableDataTotal === -1 ? true : false"
:pagination="false"
- :row-selection="{ selectedRowKeys:selectedRowKeys,onSelect:onSelect,onChange:onSelectChange}"
+ :row-selection="{ selectedRowKeys:selectedRowKeys,onChange:onSelectChange}"
/>
{
- state.evaluationTypeName = record.title
- state.evaluationTypeId = record.quiz_code
- };
- const onSelectChange = (selectedRowKeys)=> {
+ // const onSelect = (record)=> {
+ // state.evaluationTypeName = record.title
+ // state.evaluationTypeId = record.quiz_code
+ // };
+ const onSelectChange = (selectedRowKeys,selectedRows)=> {
+ if(state.selectedRowKeys.length>1){
+ return
+ }
state.selectedRowKeys = selectedRowKeys
+ state.evaluationTypeName = selectedRows[0].record.title
+ state.evaluationTypeId = selectedRows[0].quiz_code
}
const closeDrawer = () => {
ctx.emit("update:EvalListVisible", false);
};
- const afterVisibleChange = () => {
- getAllEvalText();
+ const afterVisibleChange = (bol) => {
+ if ( bol == true ) {
+ getAllEvalText();
+ }
};
const checkFinish =() =>{
let EvListDate = {
@@ -204,15 +211,24 @@
.catch(()=>{
})
}
+ //重置测评列表
+ const resetData = ()=> {
+ state.currentPage = 1;
+ state.tableData = [];
+ state.selectedRowKeys = [];
+ state.evaluationTypeId = null;
+ state.evaluationTypeName = "";
+ getAllEvalText();
+ }
return {
...toRefs(state),
afterVisibleChange,
closeDrawer,
onSelectChange,
- onSelect,
getTableDataList,
checkFinish,
changePagination,
+ resetData,
};
},
};
diff --git a/src/components/drawers/FaceManage.vue b/src/components/drawers/FaceManage.vue
index c87e5671..c9040848 100644
--- a/src/components/drawers/FaceManage.vue
+++ b/src/components/drawers/FaceManage.vue
@@ -98,7 +98,6 @@
:row-selection="{
selectedRowKeys: selectedRowKeys,
onChange: onSelectChange,
- onSelect: onSelect,
}"
/>
@@ -194,12 +193,20 @@ export default {
selectedRowKeys: [],
tabledata: [
{
+ key:1,
workNum:1,
status:"已完成",
operation:"",
},
{
- workNum:1,
+ key:2,
+ workNum:2,
+ status:"未完成",
+ operation:"",
+ },
+ {
+ key:3,
+ workNum:2,
status:"未完成",
operation:"",
}
@@ -341,18 +348,21 @@ export default {
const closeDrawer = () => {
ctx.emit("update:Fvisible", false);
};
- const afterVisibleChange = () => {
- getManageList()
+ const afterVisibleChange = (bol) => {
+ if ( bol == true ) {
+ getManageList()
+ }
+
};
const selectProjectName = (value) => {
state.projectName = value;
};
const onSelectChange = (selectedRowKeys) => {
- state.selectedRowKeys = selectedRowKeys;
+ if(selectedRowKeys.length > 2){
+ return
+ }
+ state.selectedRowKeys = selectedRowKeys;
};
- const onSelect = (record) => {
- console.log(record);
- }
const allStuOver = ()=> {
state.ASOvervisible = true
@@ -457,7 +467,6 @@ export default {
closeDrawer,
afterVisibleChange,
onSelectChange,
- onSelect,
allStuOver,
showEntryScore,
godie,
@@ -672,7 +681,6 @@ export default {
.tableBox {
.ant-table-selection-column {
padding: 0px !important;
- // padding-left: 45px !important;
}
.ant-pagination-item,
.ant-pagination-prev,
diff --git a/src/components/drawers/OwnPower.vue b/src/components/drawers/OwnPower.vue
index 5ca07e8a..a91eace8 100644
--- a/src/components/drawers/OwnPower.vue
+++ b/src/components/drawers/OwnPower.vue
@@ -6,7 +6,7 @@
width="85%"
@after-visible-change="afterVisibleChange"
>
-
-
-
快速选人
-
-
-
-
-
- 查看更多
-

-
-
-
-
- 收起
-

-
+
+ 转移归属权
-
@@ -202,8 +153,6 @@
-
-
@@ -567,7 +516,6 @@ export default {
},
],
-
//快速选人-------------------------------------
valueSelectboe: null, //快速选人的选择组织
choosepeople: [], //总的数组
@@ -576,14 +524,12 @@ export default {
showHidden: false, //是否显示收回
selectedRowKeys: [], //表格选中的key
//快速选人-------------------------------------
-
});
const closeDrawer = () => {
state.activeKey = "1";
ctx.emit("update:ownpowervisible", false);
};
-
const afterVisibleChange = (bool) => {
console.log("state", bool);
};
@@ -690,8 +636,6 @@ export default {
// 结束 快速选人------------------------------------------------------------------
-
-
//全部清除
const deleteAll = () => {
//快速选人-------------------------------------
@@ -701,10 +645,9 @@ export default {
state.showHidden = false; //是否显示收回
state.selectedRowKeys = []; //表格选中的key
//快速选人-------------------------------------
-
};
return {
- ...toRefs(state),
+ ...toRefs(state),
afterVisibleChange,
closeDrawer,
onSelectChange,
@@ -715,10 +658,7 @@ export default {
morePeopleShow,
morePeopleHidden,
-
-
deleteAll,
-
};
},
};
@@ -726,7 +666,7 @@ export default {
diff --git a/src/views/courselibrary/CoursewareManage.vue b/src/views/courselibrary/CoursewareManage.vue
index 3a75c185..07a6b09d 100644
--- a/src/views/courselibrary/CoursewareManage.vue
+++ b/src/views/courselibrary/CoursewareManage.vue
@@ -7,9 +7,9 @@
@@ -21,7 +21,7 @@
-
课程分类
+
内容分类
+
+ 支持.pdf,.ppt,.pptx,.doc,.docx,.xls,.xlsx,.jpg,.jpeg,.png,.gif,.zip
+
@@ -690,7 +688,387 @@
expandRowByClick="true"
@expand="expandTable"
:pagination="false"
- />
+ >
+
+
+
+ {
+ handleStart(record, String(record.courseform));
+ }
+ "
+ >
+ 开课
+
+ {
+ if (String(record.courseform) === '1') {
+ return;
+ }
+ if (String(record.courseform) === ('1' || '线上')) {
+ om_1 = true;
+ ft_1 = false;
+ } else if (String(record.courseform) === ('2' || '面授')) {
+ om_1 = true;
+ ft_1 = true;
+ }
+ }
+ "
+ >
+ 管理
+
+ {
+ handleCopy(record, String(record.courseform));
+ }
+ "
+ >
+ 复制
+
+
+
+
+ {
+ if (String(record.courseform) === '1') {
+ return;
+ }
+ corpowerlistvisible = true;
+ }
+ "
+ >
+ 权限名单
+
+ {
+ if (String(record.courseform) === '1') {
+ return;
+ }
+ ownpowervisible = true;
+ }
+ "
+ >
+ 归属权
+
+ 查看权
+ 管理权
+
+
+
+ 授权
+
+
+
+
+ {
+ handleStop(record, String(record.courseform));
+ }
+ "
+ >
+ 停用
+
+ {
+ handleOpen(record, String(record.courseform));
+ }
+ "
+ >
+ 启用
+
+
+
+
+
+
+
+ {
+ handleRejectExit(record, String(record.courseform));
+ }
+ "
+ >
+ 撤回
+
+ {
+ handleCopy(record, String(record.courseform));
+ }
+ "
+ >
+ 复制
+
+
+
+
+ {
+ if (String(record.courseform) === '1') {
+ return;
+ }
+ corpowerlistvisible = true;
+ }
+ "
+ >
+ 权限名单
+
+ {
+ if (String(record.courseform) === '1') {
+ return;
+ }
+ ownpowervisible = true;
+ }
+ "
+ >
+ 归属权
+
+ 查看权
+ 管理权
+
+
+
+ 授权
+
+
+
+
+
+
+
+ {
+ handleEdit(record, String(record.courseform));
+ }
+ "
+ >
+ 编辑
+
+ {
+ handleCopy(record, String(record.courseform));
+ }
+ "
+ >
+ 复制
+
+
+
+
+ {
+ if (String(record.courseform) === '1') {
+ return;
+ }
+ corpowerlistvisible = true;
+ }
+ "
+ >
+ 权限名单
+
+ {
+ if (String(record.courseform) === '1') {
+ return;
+ }
+ ownpowervisible = true;
+ }
+ "
+ >
+ 归属权
+
+ 查看权
+ 管理权
+
+
+
+ 授权
+
+
+
+ {
+ handleDelete(record, String(record.courseform));
+ }
+ "
+ >
+ 删除
+
+
+
+
+
+ {
+ handleEdit(record, String(record.courseform));
+ }
+ "
+ >
+ 编辑
+
+ {
+ handleCopy(record, String(record.courseform));
+ }
+ "
+ >
+ 复制
+
+
+
+
+ {
+ if (String(record.courseform) === '1') {
+ return;
+ }
+ corpowerlistvisible = true;
+ }
+ "
+ >
+ 权限名单
+
+ {
+ if (String(record.courseform) === '1') {
+ return;
+ }
+ ownpowervisible = true;
+ }
+ "
+ >
+ 归属权
+
+ 查看权
+ 管理权
+
+
+
+ 授权
+
+
+
+ {
+ handleDelete(record, String(record.courseform));
+ }
+ "
+ >
+ 删除
+
+
+
+
+
状态
已通过
- 未审核
- 管理员拒绝
+
+ 未审核
+
+
+ 管理员拒绝
+
@@ -985,10 +1363,7 @@
-