diff --git a/src/App.vue b/src/App.vue index f3620e3e..63fa31ce 100644 --- a/src/App.vue +++ b/src/App.vue @@ -42,18 +42,50 @@ export default defineComponent({ }); const currentRouteName = computed(() => route.name); + //获取组织树 const orgTree = () => { + let obj = { + id: 0, + keyWord: "", + pageNo: 0, + pageSize: 20, + }; api - .orgtree() + .getOrgInfo(obj) .then((res) => { - console.log("获取集团组织成功", res); if (res.status === 200) { - store.commit("getOrgtreeList", res.data.data); + // console.log("获取组织树成功", res.data.data); + // state.orgtreeList = res.data.data; + if (res.status === 200) { + let arr = res.data.data.rows; + for (let i = 0; i < arr.length; i++) { + let object = { + keyWord: "", + id: arr[i].id, + pageNo: 1, + pageSize: 20, + }; + api + .getOrgInfo(object) + .then((res) => { + // console.log("获取子元素", res); + if (res.status === 200) { + arr[i].treeChildList = res.data.data.rows; + if (i === arr.length - 1) { + store.commit("getOrgtreeList", arr); + } + } + }) + .catch((err) => { + console.log("获取子元素失败", err); + }); + } + } } }) .catch((err) => { - console.log("获取集团组织失败", err); + console.log("获取组织树失败", err); }); }; orgTree(); diff --git a/src/api/index1.js b/src/api/index1.js index 720203bd..be062ef2 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-22 18:04:47 + * @LastEditTime: 2022-11-24 15:11:25 * @FilePath: /fe-manage/src/api/index1.js * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE */ @@ -44,7 +44,7 @@ import qs from "qs"; //上传文件 export const uploadFile = (obj) => - http.post("/test/testRequest", qs.stringify({ obj })); + http.post("/test/testRequest", qs.stringify({ obj })); // 接口-请求 @@ -56,7 +56,7 @@ export const getLearnPath = (obj) => http.post("/admin/router/list", obj); export const handleLearnPath = (obj) => http.post("/admin/router/handle", obj); //获取路径图统计数据 export const getLearnCount = (routerId) => - http.get("/admin/router/getCount", { params: { routerId: routerId } }); + http.get("/admin/router/getCount", { params: { routerId: routerId } }); //新建或编辑关卡 export const editChapter = (obj) => http.post("/admin/router/editChapter", obj); @@ -66,19 +66,19 @@ export const setConfig = (obj) => http.post("/admin/router/setConfig", obj); export const getStudent = (obj) => http.post("/admin/router/studentList", obj); //获取路径图详情-包含关卡及任务列表 export const getRouterDetail = (routerId) => - http.get("/admin/router/detail", { - params: { - routerId: routerId, - }, - }); + http.get("/admin/router/detail", { + params: { + routerId: routerId, + }, + }); //添加学员 export const addStudent = (obj) => http.post("/admin/router/addStudent", obj); //删除学员 export const delStudent = (obj) => - http.post("/admin/router/deleteStudent", obj); + http.post("/admin/router/deleteStudent", obj); // 获取学员路径图进度明细 export const stuProgress = (obj) => - http.post("/admin/router/studentProcess", obj); + http.post("/admin/router/studentProcess", obj); //项目基础信息----------------------------------- //项目积分榜单 @@ -88,20 +88,35 @@ 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 getDict = (obj) => http.post('/dict/getList', obj) +//获取组织树一级列表 +export const getOrgTree = (obj) => http.post('/admin/router/orgList', obj) +//根据id获取组织树一级元素下所有子元素 +export const orgTreeList = (obj) => http.post('/admin/router/orgTreeList', obj) +//根据id获取部门下学员 +export const searchUsersByOrgId = (obj) => http.post('/admin/router/searchUsersByOrgId', obj) + +//获取组织信息(修改版) +export const getOrgInfo = (obj) => http.post('/admin/orgStruct/getOrgInfo', obj) +//获取员工(修改版) +export const getMemberInfo = (obj) => http.post('/admin/orgStruct/getMemberInfo', obj) +//获取受众(修改版) +export const getAudienceInfo = (obj) => http.post('/admin/orgStruct/getAudienceInfo', obj) +//获取授权(修改版) +export const optionAuthPerm = (obj) => http.post('/admin/AuthPerm/optionAuthPerm', obj) + + // 获取组织结构树 export const orgtree = () => http.get("/org/tree"); //获取积分列表 export const noticeList = (projectId) => - http.post( - `http://localhost:8080/api/admin/project/noticeList?projectId=` + - projectId + - `` - ); + http.post( + `http://localhost:8080/api/admin/project/noticeList?projectId=` + + projectId + + `` + ); // 测试方法 // import * as api from '../../api/index' diff --git a/src/api/indexAudit.js b/src/api/indexAudit.js index 4e03e356..fc1aa0a1 100644 --- a/src/api/indexAudit.js +++ b/src/api/indexAudit.js @@ -16,4 +16,7 @@ export const courseListView = (obj) => http.post('/admin/offcourse/listReview', export const auditList = (obj) => http.post('/admin/project/auditList', obj) //项目审核 -export const auditView = (obj) => http.post('/admin/project/auditView', obj) \ No newline at end of file +export const auditView = (obj) => http.post('/admin/project/auditView', obj) + +//面授课审核 +export const courseAuditView = (obj) => http.post('/admin/offcourse/auditView', obj) \ No newline at end of file diff --git a/src/api/indexInvist.js b/src/api/indexInvist.js index 31bb417f..77be057e 100644 --- a/src/api/indexInvist.js +++ b/src/api/indexInvist.js @@ -38,16 +38,15 @@ import http from "./config"; // 接口-请求 //创建评估 -export const createAppraiseMessage = (obj) => http.post('/survey/createAppraiseMessage', obj,); -//删除评估信息 -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 queryAppraiseDetailById = (obj) => http.post('/assessment/queryAssessmentDetailById', obj,{ + headers: { + 'token': '123', + 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8', + } + }) //获取全部评估信息接口 export const queryAssessmentDetailList = (obj) => http.post('/assessment/queryAssessmentDetailList', obj) diff --git a/src/api/indexTaskadd.js b/src/api/indexTaskadd.js index b88140e7..3a4567d3 100644 --- a/src/api/indexTaskadd.js +++ b/src/api/indexTaskadd.js @@ -25,4 +25,6 @@ export const setScoreRule = (obj) => http.post('/admin/project/setScoreRule', ob export const planList = (obj) => http.post('/admin/offcourse/planList', obj) //获取面授课列表 -export const list = (obj) => http.post('/admin/offcourse/list', obj) \ No newline at end of file +export const list = (obj) => http.post('/admin/offcourse/list', obj) + +export const addTempTask = (obj) => http.post('/admin/project//template/editTask', obj) \ No newline at end of file diff --git a/src/api/indexTemplate.js b/src/api/indexTemplate.js index be42523c..ef8b4745 100644 --- a/src/api/indexTemplate.js +++ b/src/api/indexTemplate.js @@ -19,3 +19,6 @@ export const editTask = (obj) => http.post('/admin/project/template/editTask',ob export const handleTemplates = (obj) => http.post('/admin/project/template/handle',obj); // 模板库列表 export const templateList = (obj) => http.post(`/admin/project/template/list`,obj); +// 发布项目公告 +export const publishNotice = (obj) => http.post(`/admin/project/template/publishNotice`,obj); + diff --git a/src/api/method.js b/src/api/method.js index 07bba27f..ef5ccc81 100644 --- a/src/api/method.js +++ b/src/api/method.js @@ -162,6 +162,7 @@ function autoComma(number) { return 0; } } +//新建延迟 const commonData = { timeout: 50 } @@ -368,6 +369,8 @@ const commonData = { //组织树 const organizationalTree = [] + +const iframeUrl = "https://u-pre.boe.com/pc/iframe" export { toDate, getWeek, @@ -375,4 +378,5 @@ export { formatNumber, commonData, organizationalTree, + iframeUrl, } \ No newline at end of file diff --git a/src/components/Modals/addOnlineCourse.vue b/src/components/Modals/addOnlineCourse.vue new file mode 100644 index 00000000..69d053fa --- /dev/null +++ b/src/components/Modals/addOnlineCourse.vue @@ -0,0 +1,68 @@ + + + + + + \ No newline at end of file diff --git a/src/components/drawers/ AssessmentList.vue b/src/components/drawers/ AssessmentList.vue index 234da65a..bb3b9803 100644 --- a/src/components/drawers/ AssessmentList.vue +++ b/src/components/drawers/ AssessmentList.vue @@ -86,6 +86,10 @@ export default { type: Number, default: null, }, + titleTag: { + type: Boolean, + default: false, + } }, setup(props, ctx) { const state = reactive({ @@ -100,9 +104,10 @@ export default { }); const closeDrawer = () => { ctx.emit("update:assessmentVisible", false); + ctx.emit("update:titleTag", true); }; const afterVisibleChange = (bool) => { - console.log("state getAllInvistText", bool); + console.log("state getAllInvistText", bool,"======",props.titleTag); if (props.assessmentVisible) { getAllInvistText(); } diff --git a/src/components/drawers/AddActive.vue b/src/components/drawers/AddActive.vue index 3951753b..16281b21 100644 --- a/src/components/drawers/AddActive.vue +++ b/src/components/drawers/AddActive.vue @@ -380,6 +380,23 @@ export default { message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`); }); } else if (props.isLevel == 3) { + apiTask + .addTempTask({ + courseId: res.data.data.activityId, + duration: res.data.data.activityDuration, + name: res.data.data.activityName, + projectTemplateId: props.projectTemplateId, + projectTaskId: props.projectTaskId || 0, + stageId: props.chooseStageId, + type: 9, + }) + .then(() => { + message.success(`${props.edit ? "编辑" : "新增"}阶段任务成功`); + }) + .catch(() => { + message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`); + }); + console.log(""); } }; diff --git a/src/components/drawers/AddDiscuss.vue b/src/components/drawers/AddDiscuss.vue index ca05cb6c..f2440d46 100644 --- a/src/components/drawers/AddDiscuss.vue +++ b/src/components/drawers/AddDiscuss.vue @@ -192,10 +192,12 @@ export default { }); } else if (props.isLevel == 2) { apiTask.addTask({ - courseId: res.data.data.discussId, - name: res.data.data.discussName, - routerId: props.routerId, - routerTaskId: props.routerTaskId || 0, + courseId: res.data.data.discussId, + duration: res.data.data.discussExplain, + name: res.data.data.discussName, + projectId: props.projectId, + projectTaskId: props.projectTaskId || 0, + stageId: props.chooseStageId, type: 8, }); } else if (props.isLevel == 3) { diff --git a/src/components/drawers/AddFaceteach.vue b/src/components/drawers/AddFaceteach.vue index 6acf985d..5bca4104 100644 --- a/src/components/drawers/AddFaceteach.vue +++ b/src/components/drawers/AddFaceteach.vue @@ -385,6 +385,7 @@ import { queryFaceDetailById, editPlan } from "../../api/indexFace"; import dayjs from "dayjs"; import AssessmentList from "../drawers/ AssessmentList.vue"; // import { toDate } from "../../api/method"; +import { queryWorkDetailById } from "../../api/indexWork"; export default { name: "AddFaceteach", components: { @@ -465,6 +466,7 @@ export default { face: true, //面授传给配置作业的标识 chooseWork: null, //配置的work chooseWorkName: null, //配置的work名字 + chooseWorkId: null, //配置的work ID chooseMent: null, chooseMentName: null, assessmentVisible: false, @@ -486,7 +488,10 @@ export default { state.checkedAssessment = false; state.chooseMent = null; state.chooseWork = null; + state.chooseWorkId = null; + state.chooseWorkName = null; state.chooseCourse = null; + state.chooseCourseName = null; }; const closeDrawer = () => { ctx.emit("update:addfaceteachVisible", false); @@ -501,7 +506,6 @@ export default { // 该页面显示同时 edit为true 时,发送查询请求, queryFaceTeach(); } - // queryFaceTeach(); }; const showDrawerSelFacet = () => { state.selfacetvisible = true; @@ -546,6 +550,7 @@ export default { state.inputV6 = result.afterStart; state.inputV7 = result.beforeEnd; state.fileList = JSON.parse(result.attach); + state.chooseWorkId = result.homeWorkId; // state.radioV1 = result. state.checkedHolidy = result.completeType == 1 @@ -568,6 +573,12 @@ export default { state.radioV1 = "2"; } state.checkedAssessment = result.evalFlag == 1 ? true : false; + if (state.chooseWorkId) { + queryWorkDetailById({ workId: state.chooseWorkId }).then((res) => { + state.chooseWork = res.data.data; + state.chooseWorkName = res.data.data.workName; + }); + } }); }; @@ -603,7 +614,7 @@ export default { evalFlag: state.checkedAssessment == true ? 1 : 0, evaluateId: state.chooseMent == null ? 0 : state.chooseMent.assessmentId, - homeWorkId: 0, + homeWorkId: state.chooseWorkId || 0, name: state.inputV1, noProjectMember: state.radioV2 == "1" ? 0 : 1, offcourseId: 0, @@ -613,6 +624,7 @@ export default { signWordFlag: 0, teacherId: 0, testId: 0, + teacher: state.inputV2, }; if (props.edit) { @@ -697,12 +709,15 @@ export default { const closeTagWork = () => { state.chooseWork = null; state.chooseWorkName = null; + state.chooseWorkId = null; }; const getWork = (value) => { console.log("getWork", value); state.chooseWork = value; state.chooseWorkName = value.workName; - console.log("getWorkName", value.workName); + state.chooseWorkId = value.workId; + + // console.log("getWorkName", value.workName); }; const handleChange = ({ file, fileList }) => { if (file.status !== "uploading") { diff --git a/src/components/drawers/AddHomework.vue b/src/components/drawers/AddHomework.vue index 0f2a48df..7a8fa48c 100644 --- a/src/components/drawers/AddHomework.vue +++ b/src/components/drawers/AddHomework.vue @@ -368,8 +368,18 @@ export default { const cle = () => { console.log("xx", formState); + let obj = { + submitEndTime: dayjs(formState.choosedTime[1]).format("YYYY-MM-DD"), + submitStartTime: dayjs(formState.choosedTime[0]).format("YYYY-MM-DD"), + workEnclosureAddress: "", + workId: props.edit ? props.EditWorkId : 0, + workName: formState.workName, + workRequirement: formState.workRequirement, + }; if (props.face) { - ctx.emit("getWork", formState); + createWorkTask(obj).then((res) => { + ctx.emit("getWork", res.data.data); + }); } }; diff --git a/src/components/drawers/AddInvist.vue b/src/components/drawers/AddInvist.vue index 2ba29abd..4c02bc58 100644 --- a/src/components/drawers/AddInvist.vue +++ b/src/components/drawers/AddInvist.vue @@ -23,27 +23,54 @@
-
+
已选择 0
- 已选择 1 条; - 名称: {{ assessment.name }} - - 题数: {{ assessment.num }} - - 创建人: {{ assessment.creator }} - - 创建时间: {{ assessment.time }} - +
+ 已选择 1 条; + 名称: {{ assessment.name }} + + 题数: {{ assessment.num }} + + 创建人: + {{ assessment.creator }} + + 创建时间: + {{ assessment.time }} + +
+
+ 已选择 1 条; + 名称: + {{ assessment1.createName }} + + 题数: + {{ + assessment1.essayQuestionVoList.length + }} + + 创建人: + {{ assessment1.createUser }} + + 创建时间: + {{ assessment1.createTime }} + +
@@ -55,6 +82,7 @@
@@ -77,6 +105,7 @@ import * as apiTask from "../../api/indexTaskadd"; import { message } from "ant-design-vue"; import AssessmentList from "./ AssessmentList.vue"; import { RouterEditTask } from "@/api/indexTask"; +import * as api from "../../api/indexInvist"; export default { name: "AddInvist", components: { @@ -139,10 +168,13 @@ export default { assessmentId: null, assessmentName: "", assessment: null, + assessment1: null, assessmentVisible: false, + titleTag: false, }); const getCheckedAss = (ass) => { state.assessment = ass; + state.assessment1 = null; }; const closeDrawer = () => { ctx.emit("update:addinvistVisible", false); @@ -159,8 +191,21 @@ export default { state.assessmentId = null; state.assessmentName = ""; state.assessment = null; + queryInfo(); + }; + const queryInfo = () => { + if (props.edit) { + state.titleTg = false; + //编辑讨 + api + .queryAppraiseDetailById({ assessmentId: props.EditInvistId }) + .then((res) => { + //更新讨论信息 + state.assessment1 = res.data.data; + }) + .catch(() => {}); + } }; - const updateTask = () => { if (state.assessment == null) { return message.warning("请选择评估"); diff --git a/src/components/drawers/AddProject.vue b/src/components/drawers/AddProject.vue new file mode 100644 index 00000000..4622d2c4 --- /dev/null +++ b/src/components/drawers/AddProject.vue @@ -0,0 +1,890 @@ + + + diff --git a/src/components/drawers/NoticeHis.vue b/src/components/drawers/NoticeHis.vue index 023a452c..f7b4334f 100644 --- a/src/components/drawers/NoticeHis.vue +++ b/src/components/drawers/NoticeHis.vue @@ -69,7 +69,7 @@ export default { }; noticeList(obj) .then((res) => { - console.log("获取公告列表成功"); + console.log("获取公告列表成功", res.data.data); let result = res.data.data; if (result.total > 0) { setNoticeData(result.rows); diff --git a/src/components/drawers/ProjCheckPower.vue b/src/components/drawers/ProjCheckPower.vue index 40c3f78d..db4e9b53 100644 --- a/src/components/drawers/ProjCheckPower.vue +++ b/src/components/drawers/ProjCheckPower.vue @@ -493,7 +493,7 @@
- + + if (state.name !== "" || state.projectName !== "") { + api + .taskStudentList(objser) + .then((res) => { + state.pageNo = res.data.data.pageNo; + state.pageSize = res.data.data.pageSize; + state.pageSize = res.data.data.pageSize; + let newArr = []; + for (let i = 0; i < res.data.data.rows.length; i++) { + if (res.data.data.rows[i].userInfoBo.userName == state.name) + newArr.push(res.data.data.rows[i].userInfoBo); + } + state.tabledata = newArr; + }) + .catch(() => {}); + } + }; + + //重置任务列表 + const resetTaskList = () => { + state.inputPname = ""; + state.inputCname = ""; + state.tableData = []; + state.selectedRowKeys = []; + state.SelectTestData = []; + state.currentPage = 1; + getManageList(); + }; + return { + ...toRefs(state), + closeDrawer, + afterVisibleChange, + getTableDate, + onSelectChange, + CreatSTText, + newTest, + tableDataFunc, + onChange, + getManageList, + searchTaskList, + resetTaskList, + }; + }, +}; + +} + +.addExamModal { + .ant-modal { + width: 80% !important; + } +} + \ No newline at end of file diff --git a/src/store/index.js b/src/store/index.js index 9b93baab..038e0ec4 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -2,12 +2,12 @@ * @Author: lixg lixg@dongwu-inc.com * @Date: 2022-11-09 09:26:26 * @LastEditors: lixg lixg@dongwu-inc.com - * @LastEditTime: 2022-11-21 17:43:07 + * @LastEditTime: 2022-11-23 17:25:31 * @FilePath: /fe-manage/src/store/index.js * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE */ import { createStore } from "vuex"; - +// import * as api from '../api/index1' export default createStore({ state: { openpages: localStorage.getItem("openpages") @@ -22,7 +22,7 @@ export default createStore({ assessmentName: "", routerId: null, - projectTemplateId:null, + projectTemplateId: null, orgtreeList: [], }, getters: {}, @@ -41,12 +41,15 @@ export default createStore({ console.log("state.assessmentName"); console.log(state.assessmentName); }, - getOrgtreeList(state, orgtreeList) { - state.orgtreeList = orgtreeList; + //获取组织树 + getOrgtreeList(state, data) { + state.orgtreeList = data }, - SET_projectTemplateId (state,projectTemplateId) { + SET_projectTemplateId(state, projectTemplateId) { state.projectTemplateId = projectTemplateId; } + + }, actions: {}, modules: {}, diff --git a/src/views/courselibrary/CourseManage.vue b/src/views/courselibrary/CourseManage.vue index c128f5d5..b0db9bb5 100644 --- a/src/views/courselibrary/CourseManage.vue +++ b/src/views/courselibrary/CourseManage.vue @@ -2,7 +2,7 @@ * @Author: lixg lixg@dongwu-inc.com * @Date: 2022-11-09 09:26:26 * @LastEditors: lixg lixg@dongwu-inc.com - * @LastEditTime: 2022-11-22 20:13:01 + * @LastEditTime: 2022-11-24 16:16:10 * @FilePath: /fe-manage/src/views/courselibrary/CourseManage.vue * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE --> @@ -11,8 +11,8 @@
@@ -20,12 +20,14 @@