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 414e5c3b..c045783a 100644 --- a/src/api/config.js +++ b/src/api/config.js @@ -32,7 +32,7 @@ http.interceptors.request.use( // 此处测试默认配置token config.headers.token = "123456"; - // config.headers.token = "eyJ0eXBlIjoidG9rZW4iLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC91LmJvZS5jb20iLCJpYXQiOjE2Njg4NjI2MTAsImV4cCI6MTY2ODg2OTgxMCwiR2l2ZW5OYW1lIjoiYm9ldSIsInVzZXJJZCI6IjZCMDQ5RkFGLUMzMTQtN0NDRi0wRDI4LTBEMjNGNEM0MjUzMSIsInVJZCI6Ijk2NTM0MjAyNzQ5NzYwNzE2OCIsInBlcm1pc3Npb24iOiIifQ==.defa91ecb2b61d9b20d858db0c2c8d7d80dea4613cb2559a22569b7df36b3f6b"; + // config.headers.token = "eyJ0eXBlIjoidG9rZW4iLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC91LmJvZS5jb20iLCJpYXQiOjE2NjkyMTE4MzMsImV4cCI6MTY2OTIxOTAzMywiR2l2ZW5OYW1lIjoiYm9ldSIsInVzZXJJZCI6IjZCMDQ5RkFGLUMzMTQtN0NDRi0wRDI4LTBEMjNGNEM0MjUzMSIsInVJZCI6Ijk2NTM0MjAyNzQ5NzYwNzE2OCIsInBlcm1pc3Npb24iOiIifQ==.40067eca3be5d50857448005a673cbe1a48f560ff8e9c7aea4e7ff12f59c7962"; } return config; }, diff --git a/src/api/index1.js b/src/api/index1.js index ee7bd0df..be062ef2 100644 --- a/src/api/index1.js +++ b/src/api/index1.js @@ -2,13 +2,12 @@ * @Author: lixg lixg@dongwu-inc.com * @Date: 2022-11-04 22:45:31 * @LastEditors: lixg lixg@dongwu-inc.com - * @LastEditTime: 2022-11-24 10:59:33 + * @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 */ import http from "./config"; -import qs from 'qs'; - +import qs from "qs"; /** * 接口传参数方式(get) @@ -33,7 +32,7 @@ import qs from 'qs'; * (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') @@ -44,45 +43,48 @@ import qs from 'qs'; */ //上传文件 -export const uploadFile = (obj) => http.post('/test/testRequest', qs.stringify({ obj })); +export const uploadFile = (obj) => + http.post("/test/testRequest", qs.stringify({ obj })); // 接口-请求 //创建学习路径 -export const createLearnPath = (obj) => http.post('/admin/router/edit', obj); +export const createLearnPath = (obj) => http.post("/admin/router/edit", obj); // 获取学习路径图列表 -export const getLearnPath = (obj) => http.post('/admin/router/list', obj); +export const getLearnPath = (obj) => http.post("/admin/router/list", obj); //学习路径图的发布、停用、删除 -export const handleLearnPath = (obj) => http.post('/admin/router/handle', obj); +export const handleLearnPath = (obj) => http.post("/admin/router/handle", obj); //获取路径图统计数据 -export const getLearnCount = (routerId) => http.get('/admin/router/getCount', { params: { routerId: routerId } }) - +export const getLearnCount = (routerId) => + http.get("/admin/router/getCount", { params: { routerId: routerId } }); //新建或编辑关卡 -export const editChapter = (obj) => http.post('/admin/router/editChapter', obj); +export const editChapter = (obj) => http.post("/admin/router/editChapter", obj); // 编辑路径图设置 -export const setConfig = (obj) => http.post('/admin/router/setConfig', obj); +export const setConfig = (obj) => http.post("/admin/router/setConfig", obj); //获取学员列表 -export const getStudent = (obj) => http.post('/admin/router/studentList', 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 getRouterDetail = (routerId) => + http.get("/admin/router/detail", { + params: { + routerId: routerId, + }, + }); //添加学员 -export const addStudent = (obj) => http.post('/admin/router/addStudent', obj); +export const addStudent = (obj) => http.post("/admin/router/addStudent", obj); //删除学员 -export const delStudent = (obj) => http.post('/admin/router/deleteStudent', obj); +export const delStudent = (obj) => + http.post("/admin/router/deleteStudent", obj); // 获取学员路径图进度明细 -export const stuProgress = (obj) => http.post('/admin/router/studentProcess', obj); - +export const stuProgress = (obj) => + http.post("/admin/router/studentProcess", obj); //项目基础信息----------------------------------- //项目积分榜单 -export const scoreRank = (obj) => http.post('/admin/project/scoreRank', obj); +export const scoreRank = (obj) => http.post("/admin/project/scoreRank", obj); //排行榜 -export const billboard = (obj) => http.post('/admin/project/billboard', obj); +export const billboard = (obj) => http.post("/admin/project/billboard", obj); //项目基础信息----------------------------------- //获取字典信息 @@ -103,12 +105,18 @@ export const getAudienceInfo = (obj) => http.post('/admin/orgStruct/getAudienceI //获取授权(修改版) export const optionAuthPerm = (obj) => http.post('/admin/AuthPerm/optionAuthPerm', obj) -// 获取组织结构树 -export const orgtree = () => http.get('/org/tree'); +// 获取组织结构树 +export const orgtree = () => http.get("/org/tree"); + //获取积分列表 -export const noticeList = (projectId) => http.post(`http://localhost:8080/api/admin/project/noticeList?projectId=` + projectId + ``) +export const noticeList = (projectId) => + http.post( + `http://localhost:8080/api/admin/project/noticeList?projectId=` + + projectId + + `` + ); // 测试方法 // import * as api from '../../api/index' @@ -118,5 +126,4 @@ export const noticeList = (projectId) => http.post(`http://localhost:8080/api/ad // console.log(err) // }) - -// export const choiceEvaluation = (obj) => http.post('/evaluation/choiceEvaluation', obj); \ No newline at end of file +// export const choiceEvaluation = (obj) => http.post('/evaluation/choiceEvaluation', obj); diff --git a/src/api/indexAudit.js b/src/api/indexAudit.js index c1b3b4db..fc1aa0a1 100644 --- a/src/api/indexAudit.js +++ b/src/api/indexAudit.js @@ -10,4 +10,13 @@ export const projlist = (obj) => http.post('/admin/project/list', obj) export const listView = (obj) => http.post('/admin/project/listView', obj) //获取面授课已审核列表 -export const courseListView = (obj) => http.post('/admin/offcourse/listReview', obj) \ No newline at end of file +export const courseListView = (obj) => http.post('/admin/offcourse/listReview', obj) + +//项目审核日志 +export const auditList = (obj) => http.post('/admin/project/auditList', obj) + +//项目审核 +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/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/api/indexFace.js b/src/api/indexFace.js index 731e8fc1..51ff5214 100644 --- a/src/api/indexFace.js +++ b/src/api/indexFace.js @@ -1,4 +1,7 @@ import http from "./config"; //获取面授课开课详情 -export const queryFaceDetailById = (offcoursePlanId) => http.post(`http://localhost:8080/api/admin/offcourse/detailPlan?offcoursePlanId=` + offcoursePlanId + ``) \ No newline at end of file +export const queryFaceDetailById = (offcoursePlanId) => http.post(`http://localhost:8080/manageApi/admin/offcourse/detailPlan?offcoursePlanId=` + offcoursePlanId + ``) + +//新建或编辑面授课开课 +export const editPlan = (obj) => http.post('/admin/offcourse/editPlan', 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/indexLearningPath.js b/src/api/indexLearningPath.js index f32f7d01..8de427ef 100644 --- a/src/api/indexLearningPath.js +++ b/src/api/indexLearningPath.js @@ -1,4 +1,7 @@ import http from "./config"; // 获取路径图概览 -export const getRouterOverview = (routerId) => http.get(`/admin/router/overview?routerId=${routerId}`) \ No newline at end of file +export const getRouterOverview = (routerId) => http.get(`/admin/router/overview?routerId=${routerId}`) + +//新建或编辑路径图 +export const editRoutered = (obj) => http.post('/admin/router/edit', obj) \ No newline at end of file diff --git a/src/api/indexNotice.js b/src/api/indexNotice.js index 19a34f98..cda183fa 100644 --- a/src/api/indexNotice.js +++ b/src/api/indexNotice.js @@ -6,7 +6,7 @@ import http from "./config"; // projectId: projectId, // } // }); -export const noticeList = (projectId) => http.post(`http://localhost:8080/manageApi/admin/project/noticeList?projectId=` + projectId + ``) +export const noticeList = (obj) => http.post('/admin/project/noticeList', obj) //发布项目公告 export const publishNotice = (obj) => http.post('/admin/project/publishNotice', 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/components/drawers/ AssessmentList.vue b/src/components/drawers/ AssessmentList.vue index 1b7d4992..bb3b9803 100644 --- a/src/components/drawers/ AssessmentList.vue +++ b/src/components/drawers/ AssessmentList.vue @@ -1,3 +1,4 @@ + @@ -78,32 +78,39 @@ export default { // components: { // }, props: { - assessmentVisible: { + assessmentVisible: { type: Boolean, default: false, - }, - + }, + isface: { + type: Number, + default: null, + }, + titleTag: { + type: Boolean, + default: false, + } }, setup(props, ctx) { const state = reactive({ - assessmentVisible:false, - assessment:null, - inputV1:"", + assessmentVisible: false, + assessment: null, + inputV1: "", currentPage: 1, pageSize: 10, tableDataTotal: 0, tableData: [], - selectedRowKeys:[], + selectedRowKeys: [], }); const closeDrawer = () => { ctx.emit("update:assessmentVisible", false); + ctx.emit("update:titleTag", true); }; const afterVisibleChange = (bool) => { - console.log("state getAllInvistText", bool); - if(props.assessmentVisible){ + console.log("state getAllInvistText", bool,"======",props.titleTag); + if (props.assessmentVisible) { getAllInvistText(); } - }; const tableDataFunc = () => { const columns = [ @@ -142,11 +149,16 @@ export default { }; const rowSelection = { type: "radio", - onSelect:(selectedRows)=>{ + onSelect: (selectedRows) => { state.assessment = selectedRows; - console.log("selectedRows=======",state.assessment); - ctx.emit("checkedAss", state.assessment); - state.selectedRowKeys = [] + console.log("selectedRows=======", state.assessment); + if (props.isface == 1) { + ctx.emit("faceAssess", state.assessment); + } else { + ctx.emit("checkedAss", state.assessment); + } + + state.selectedRowKeys = []; closeDrawer(); }, }; @@ -166,7 +178,7 @@ export default { data.map((value, index) => { let obj = { key: index, - assessmentId:value.assessmentId, + assessmentId: value.assessmentId, num: value.essayQuestionVoList.length, name: value.assessmentName ? value.assessmentName : "-", creator: value.createUser ? value.createUser : "-", @@ -174,17 +186,16 @@ export default { }; array.push(obj); }); - state.selectedRowKeys = [], - state.tableData = array; + (state.selectedRowKeys = []), (state.tableData = array); }; //获取全部评估信息接口 const getAllInvistText = () => { api .queryAssessmentDetailList({ - assessmentName:state.inputV1, - pageNo: state.currentPage, - pageSize: state.pageSize, - }) + assessmentName: state.inputV1, + pageNo: state.currentPage, + pageSize: state.pageSize, + }) .then((res) => { let arr = res.data.data.rows; if (res.status === 200) { @@ -199,7 +210,6 @@ export default { }); }; - //重置评估信息 const resetInvist = () => { state.inputV1 = ""; @@ -243,7 +253,7 @@ export default { justify-content: space-between; .main_left { padding-right: 30px; - margin-top:32px; + margin-top: 32px; .main_item { display: flex; align-items: center; 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/AddCase.vue b/src/components/drawers/AddCase.vue index 22c806dc..a61dff5b 100644 --- a/src/components/drawers/AddCase.vue +++ b/src/components/drawers/AddCase.vue @@ -49,7 +49,7 @@ :row-class-name=" (_record, index) => (index % 2 === 1 ? 'table-striped' : null) " - :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange,onSelect:onSelect }" + :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" :columns="tableDataFunc()" :data-source="tableData" :loading="tableDataTotal === -1 ? true : false" @@ -189,11 +189,8 @@ export default { } state.selectedRowKeys = selectedRowKeys; state.apiTaskList = selectedRows; + console.log('-------------%o-%o',state.apiTaskList, state.apiTaskList.length); }; - const onSelect = ( record ) => { - state.caseId = record.caseid; - state.caseName = record.title; - } const handelChangePage = (page, pageSize) => { state.currentPage = page; state.pageSize = pageSize; @@ -215,6 +212,7 @@ export default { array.push(obj); }); state.tableData = array; + console.log('get下来的数据',state.tableData); }; //获取全部案例信息接口 const getAllCaseText = () => { @@ -237,29 +235,32 @@ export default { }; const updateTask = () => { if (props.isLevel == 1) { - RouterEditTask({ - chapterId: props.isactive, - courseId: state.caseId, - name: state.caseName, - routerId: props.routerId, - routerTaskId: props.routerTaskId || 0, - type: 3, - }) - .then(() => { - message.success(`${props.edit ? "编辑" : "新增"}关卡任务成功`); - ctx.emit("changeData", false); - closeDrawer(); - state.addLoading = false; + for(let i = 0;i < state.apiTaskList.length;i++){ + RouterEditTask({ + chapterId: props.isactive, + courseId: state.apiTaskList[i].caseid, + name: state.apiTaskList[i].caseName, + routerId: props.routerId, + routerTaskId: props.routerTaskId || 0, + type: 3, }) - .catch(() => { - message.error(`${props.edit ? "编辑" : "新增"}关卡任务失败`); - }); + .then(() => { + message.success(`${props.edit ? "编辑" : "新增"}关卡任务成功`); + ctx.emit("changeData", false); + closeDrawer(); + state.addLoading = false; + }) + .catch(() => { + message.error(`${props.edit ? "编辑" : "新增"}关卡任务失败`); + }); + } } else if (props.isLevel == 2) { - if(state.apiTaskList.length > 1){ - for(let i = 0;i <= state.apiTaskList.length;i++){ + console.log("state api task list: %o-length: %o", state.apiTaskList, state.apiTaskList.length ) + for(let i = 0;i < state.apiTaskList.length;i++){ + console.log(state.apiTaskList[i],'state.apiTaskList[i].caseIdstate.apiTaskList[i].caseId'); apiTask .addTask({ - "courseId": state.apiTaskList[i].caseId, + "courseId": state.apiTaskList[i].caseid, "duration": 0, "flag": true, "name": state.apiTaskList[i].caseName, @@ -279,27 +280,6 @@ export default { message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`); }); } - } else { - apiTask - .addTask({ - "courseId": state.caseId, - "duration": 0, - "flag": true, - "name": state.caseName, - "projectId": props.projectId, - "projectTaskId": props.projectTaskId, - "stageId": props.chooseStageId, - "type": 3, - }) - .then(() => { - message.success(`${props.edit ? "编辑" : "新增"}阶段任务成功`); - ctx.emit("changeData", false); - closeDrawer(); - }) - .catch(() => { - message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`); - }); - } } else if (props.isLevel == 3) { console.log(""); } @@ -315,7 +295,6 @@ export default { closeDrawer, tableDataFunc, onSelectChange, - onSelect, handelChangePage, getTableDate, updateTask, 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/AddEval.vue b/src/components/drawers/AddEval.vue index 2f3ece39..128063da 100644 --- a/src/components/drawers/AddEval.vue +++ b/src/components/drawers/AddEval.vue @@ -51,6 +51,14 @@ + + {{ evaluationTypeName }} +
@@ -88,11 +96,8 @@
- - @@ -161,106 +166,105 @@ export default { setup(props, ctx) { const state = reactive({ inputV1: "", - inputV2: "", time: undefined, EvalId: null, //子传回来的参数 - evaluationTypeId: null, + evaluationTypeId: 0, evaluationTypeName: "", description: "", EvalListVisible: false, // addLoading:false, }); - const checkFinish = (EvListDate)=> { - state.evaluationTypeId = EvListDate.Id - state.evaluationTypeName = EvListDate.Name + const checkFinish = (value)=> { + state.evaluationTypeId = value.quiz_kid + state.evaluationTypeName = value.title } const closeDrawer = () => { ctx.emit("update:addevalVisible", false); ctx.emit("update:edit", false); state.inputV1 = ""; - state.inputV2 = ""; localStorage.setItem("stageId", props.chooseStageId); localStorage.setItem("chapterId", props.isactive); }; const afterVisibleChange = (bool) => { if (props.edit && bool) { - queryEval(); + queryInvistById() } }; const showEvalDrawer = () => { state.EvalListVisible = true; }; - const queryEval = () => { - api - .queryEvaluationDetailById({ evaluationId: props.evaluationId }) - .then((res) => { - state.inputV1 = res.data.data.evaluationName; - state.time = [ - dayjs(res.data.data.evaluationStartTime, "YYYY-MM-DD"), - dayjs(res.data.data.evaluationEndTime, "YYYY-MM-DD"), - ]; - state.evaluationTypeId = res.data.data.evaluationTypeId; - state.evaluationTypeName = res.data.data.evaluationTypeName; - }) - .catch(() => { - }); - }; - const updateTask = (res) => { + const updateTask = (value) => { if (props.isLevel == 1) { - apitaskadd - .addTask({ - courseId: res.data.data.evaluationId, - name: res.data.data.evaluationName, - projectId: props.projectId, - projectTaskId: props.projectTaskId || 0, - stageId: props.chooseStageId, - evaluationTypeId: state.evaluationTypeId, - evaluationTypeName: state.evaluationTypeName, - type: 10, - }) - .then(( ) => { - message.success(`${props.edit ? "编辑" : "新增"}关卡任务成功`); - }) - .catch(( ) => { - message.error(`${props.edit ? "编辑" : "新增"}关卡任务失败`); - }); - } else if (props.isLevel == 2) { RouterEditTask({ chapterId: props.isactive, - courseId: res.data.data.evaluationId, - name: res.data.data.evaluationName, + courseId: Number(value.evaluationId), + name: value.evaluationName, routerId: props.routerId, - routerTaskId: props.routerTaskId || 0, - evaluationTypeId: state.evaluationTypeId, - evaluationTypeName: state.evaluationTypeName, + routerTaskId: props.routerTaskId || 0, type: 10, }) .then(( ) => { - message.success(`${props.EditTestId ? "编辑" : "新增"}阶段任务成功`); + message.success(`${props.EditTestId ? "编辑" : "新增"}关卡任务成功`); }) .catch(( ) => { - message.error(`${props.EditTestId ? "编辑" : "新增"}阶段任务失败`); + message.error(`${props.EditTestId ? "编辑" : "新增"}关卡任务失败`); + }); + } else if (props.isLevel == 2) { + apitaskadd + .addTask({ + duration: 0, + flag: true, + courseId: Number(value.evaluationId), + name: value.evaluationName, + projectId: props.projectId, + projectTaskId: props.projectTaskId || 0, + stageId: props.chooseStageId, + type: 10, + }) + .then(( ) => { + message.success(`${props.edit ? "编辑" : "新增"}阶段任务成功`); + }) + .catch(( ) => { + message.error(`${props.edit ? "编辑" : "新增"}阶段任务失败`); }); } else if (props.isLevel == 3) { console.log(""); } }; - //创建或编辑测评信息 + //根据id获取测评信息 + const queryInvistById = ()=> { + let objqi = { + evaluationId : props.EditEvalId + } + api + .queryEvaluationDetailById(objqi) + .then((res) => { + message.destroy() + message.success("获取测评信息成功"); + state.inputV1 = res.data.data.evaluationName + state.evaluationTypeName = res.data.data.evaluationTypeName + state.evaluationTypeId = res.data.data.evaluationTypeId; + state.time = [ + dayjs(res.data.data.evaluationStartTime, "YYYY-MM-DD"), + dayjs(res.data.data.evaluationEndTime, "YYYY-MM-DD"), + ]; + }) + .catch(() => { + message.destroy() + message.error("获取测量平信息失败"); + }); + } + //创建测评信息 const createEvalText = () => { if (!state.inputV1) { message.destroy(); return message.info("请输入测评名称"); } - if (!state.inputV2) { + if (!state.evaluationTypeId) { message.destroy(); return message.info("请选择测评"); } - if (!state.time) { - message.destroy(); - return message.warning("请输入直播时间"); - } - let obj = { evaluationName: state.inputV1, evaluationEndTime: dayjs(state.time[1]).format("YYYY-MM-DD"), @@ -268,12 +272,15 @@ export default { evaluationStartTime: dayjs(state.time[0]).format("YYYY-MM-DD"), evaluationTypeId: state.evaluationTypeId, evaluationTypeName: state.evaluationTypeName, + evaluationFlag: "", + evaluationPictureAddress: "", + evaluationTag: "", + updateTime: "", }; - if (props.edit !== true) { api .createEvaluation(obj) .then((res) => { - updateTask(res); + updateTask(res.data.data); message.success("创建成功"); closeDrawer(); ctx.emit("changeData", false); @@ -281,19 +288,6 @@ export default { .catch(() => { message.error("创建失败"); }); - } else { - api - .updateEvaluation(obj) - .then((res) => { - updateTask(res); - message.success("编辑成功"); - closeDrawer(); - ctx.emit("changeData", false); - }) - .catch(( ) => { - message.error("编辑失败"); - }); - } }; return { @@ -303,6 +297,7 @@ export default { closeDrawer, //增改 createEvalText, + queryInvistById, showEvalDrawer, updateTask, }; @@ -366,6 +361,10 @@ export default { margin-left: 15px; color: #fff; } + .tag-style { + color: rgb(113, 113, 237); + background-color: #d7d1f7; + } } } .main_item2 { diff --git a/src/components/drawers/AddFaceteach.vue b/src/components/drawers/AddFaceteach.vue index c366534a..5bca4104 100644 --- a/src/components/drawers/AddFaceteach.vue +++ b/src/components/drawers/AddFaceteach.vue @@ -48,7 +48,24 @@ 选择课程:
- + + {{ chooseCourseName }}
@@ -259,7 +276,22 @@ 需要评估 - + + {{ chooseMentName }}
@@ -271,12 +303,35 @@
+
- +
+
+ {{ chooseWorkName }} +
配置考试: @@ -295,7 +350,13 @@ 附件:
- + +
@@ -304,6 +365,11 @@ + @@ -315,21 +381,25 @@ import AddTest from "../../components/drawers/AddTest.vue"; import { ProjectEditTask, RouterEditTask } from "@/api/indexTask"; // import * as method from "../../api/method" import { message } from "ant-design-vue"; -import { queryFaceDetailById } from "../../api/indexFace"; +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: { SelFacet, AddHomework, AddTest, + AssessmentList, }, props: { addfaceteachVisible: { type: Boolean, default: false, }, - EditEvalId: { + EditFaceId: { // 要编辑的workId type: Number, default: null, @@ -390,20 +460,52 @@ export default { checkedHolidy: false, checkedAssessment: false, chooseTime: [], + fileList: [], + chooseCourse: null, //选择的在线课程 + chooseCourseName: null, //选择的课程的名字 + face: true, //面授传给配置作业的标识 + chooseWork: null, //配置的work + chooseWorkName: null, //配置的work名字 + chooseWorkId: null, //配置的work ID + chooseMent: null, + chooseMentName: null, + assessmentVisible: false, + isface: 1, }); + const clear = () => { + state.inputV1 = null; + state.inputV2 = null; + state.inputV3 = null; + state.inputV4 = null; + state.inputV5 = null; + state.inputV6 = null; + state.inputV7 = null; + state.chooseTime = []; + state.textV1 = null; + state.radioV1 = ""; + state.radioV2 = ""; + state.checkedHolidy = false; + 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); state.radioV1 = ""; state.radioV2 = ""; localStorage.setItem("stageId", props.chooseStageId); localStorage.setItem("chapterId", props.isactive); + clear(); }; const afterVisibleChange = (bool) => { if (bool && props.edit) { // 该页面显示同时 edit为true 时,发送查询请求, queryFaceTeach(); } - // queryFaceTeach(); }; const showDrawerSelFacet = () => { state.selfacetvisible = true; @@ -427,7 +529,7 @@ export default { //查询面授 const queryFaceTeach = () => { //暂时写一个假的offcoursePlanId - queryFaceDetailById(2).then((res) => { + queryFaceDetailById(props.EditFaceId).then((res) => { // state.inputV1 = res.data.data.name; // state.inputV2 = res.data.data.teacherId; console.log("获取到了面授课开课详情", res.data.data); @@ -447,6 +549,8 @@ export default { state.inputV5 = result.beforeStart; 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 @@ -469,14 +573,90 @@ 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; + }); + } }); }; //新建或编辑面授 - const updateFaceTeach = () => {}; - const upDateTable = () => {}; + // 新增任务 + const updateFaceTeach = () => { + if ( + state.inputV1 == "" || + state.chooseCourse == null || + state.inputV2 == "" || + state.chooseTime == [] || + state.inputV3 == "" || + state.inputV4 == "" + ) { + message.destroy(); + return message.warning("请输入必填字段"); + } else { + let obj = { + address: state.inputV4, + afterStart: state.inputV6, + applyFlag: 1, + attach: JSON.stringify(state.fileList), + beforeEnd: state.inputV7, + beforeStart: state.inputV5, + // beginTime: dayjs(state.chooseTime[0]).format("YYYY-MM-DD"), + beginTime: parseInt( + new Date(state.chooseTime[0].$d).getTime() / 1000 + ), + completeType: state.radioV1 == "1" ? 2 : 1, + description: state.textV1, + // endTime: dayjs(state.chooseTime[1]).format("YYYY-MM-DD"), + endTime: parseInt(new Date(state.chooseTime[0].$d).getTime() / 1000), + evalFlag: state.checkedAssessment == true ? 1 : 0, + evaluateId: + state.chooseMent == null ? 0 : state.chooseMent.assessmentId, + homeWorkId: state.chooseWorkId || 0, + name: state.inputV1, + noProjectMember: state.radioV2 == "1" ? 0 : 1, + offcourseId: 0, + offcoursePlanId: props.edit ? props.EditFaceId : 0, + projectMember: state.radioV2 == "1" ? 1 : 0, + signFlag: 0, + signWordFlag: 0, + teacherId: 0, + testId: 0, + teacher: state.inputV2, + }; + + if (props.edit) { + editPlan(obj) + .then((res) => { + updateTask(res); + closeDrawer(); + }) + .catch((err) => { + message.error(`添加失败${err}`); + }); + } else { + editPlan(obj) + .then((res) => { + updateTask(res); + closeDrawer(); + }) + .catch((err) => { + message.error(`添加失败${err}`); + }); + } + } + }; + const upDateTable = (value) => { + console.log("gg", value); + console.log("gg", value[0].name); + state.chooseCourse = value[0]; + state.chooseCourseName = value[0].name; + }; //更新任务列表 + // 新增编辑或新增项目任务 const updateTask = (res) => { if (props.isLevel == 1) { let editObj1 = { @@ -511,17 +691,47 @@ export default { ProjectEditTask(editObj) .then(() => { message.success( - `${props.EditTestId ? "编辑" : "新增"}阶段任务成功` + `${props.EditFaceId ? "编辑" : "新增"}阶段任务成功` ); ctx.emit("changeData", false); }) .catch(() => { - message.error(`${props.EditTestId ? "编辑" : "新增"}阶段任务失败`); + message.error(`${props.EditFaceId ? "编辑" : "新增"}阶段任务失败`); }); } else if (props.isLevel == 3) { console.log(""); } }; + const closeTag = () => { + state.chooseCourse = null; + state.chooseCourseName = null; + }; + 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; + state.chooseWorkId = value.workId; + + // console.log("getWorkName", value.workName); + }; + const handleChange = ({ file, fileList }) => { + if (file.status !== "uploading") { + console.log(file, fileList); + } + }; + const showAssessment = () => { + state.assessmentVisible = true; + }; + const faceAssess = (value) => { + console.log(value); + state.chooseMent = value; + state.chooseMentName = value.name; + }; return { ...toRefs(state), showDrawerSelFacet, @@ -534,6 +744,13 @@ export default { updateFaceTeach, updateTask, upDateTable, + closeTag, + getWork, + closeTagWork, + clear, + handleChange, + showAssessment, + faceAssess, // change, }; }, diff --git a/src/components/drawers/AddHomework.vue b/src/components/drawers/AddHomework.vue index 1f5f6d76..7a8fa48c 100644 --- a/src/components/drawers/AddHomework.vue +++ b/src/components/drawers/AddHomework.vue @@ -77,7 +77,7 @@ @@ -96,7 +96,7 @@
取消 - 确定 + 确定
@@ -164,6 +164,10 @@ export default { type: Number, default: null, }, + face: { + type: Boolean, + default: false, + }, }, setup(props, ctx) { const formState = reactive({ @@ -362,6 +366,23 @@ 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) { + createWorkTask(obj).then((res) => { + ctx.emit("getWork", res.data.data); + }); + } + }; + return { afterVisibleChange, closeDrawer, @@ -375,6 +396,7 @@ export default { formRef, // layout, rules, + cle, ...toRefs(state), }; }, diff --git a/src/components/drawers/AddInvist.vue b/src/components/drawers/AddInvist.vue index 2ba29abd..30e1d95b 100644 --- a/src/components/drawers/AddInvist.vue +++ b/src/components/drawers/AddInvist.vue @@ -23,12 +23,15 @@
-
+
已选择 0
+ + +
已选择 1 条; @@ -45,6 +48,28 @@ >创建时间: {{ assessment.time }}
+
+ 已选择 1 条; + 名称: {{ assessment1.createName }} + + 题数: {{ assessment1.essayQuestionVoList.length }} + + 创建人: {{ assessment1.createUser }} + + 创建时间: {{ assessment1.createTime }} + +
+ +
+ + +
@@ -55,6 +80,7 @@
@@ -77,6 +103,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 +166,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 +189,24 @@ 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..09741fb7 --- /dev/null +++ b/src/components/drawers/AddProject.vue @@ -0,0 +1,574 @@ + + + diff --git a/src/components/drawers/AddTest.vue b/src/components/drawers/AddTest.vue index e16ef4d4..f3787e95 100644 --- a/src/components/drawers/AddTest.vue +++ b/src/components/drawers/AddTest.vue @@ -759,7 +759,7 @@ export default { }; const getData = (value)=> { state.paperId = value.paperId; - state.paperName = value.paperName; + state.paperName = value.testName; } return { formState, diff --git a/src/components/drawers/EvList.vue b/src/components/drawers/EvList.vue index 257dbd95..929bfa48 100644 --- a/src/components/drawers/EvList.vue +++ b/src/components/drawers/EvList.vue @@ -77,7 +77,7 @@ diff --git a/vue.config.js b/vue.config.js index b7ca1def..c3557757 100644 --- a/vue.config.js +++ b/vue.config.js @@ -14,6 +14,7 @@ module.exports = defineConfig({ port: 8080, proxy: { "/manageApi": { + // target:"http://192.168.19.246:30001", // target:"http://192.168.100.208:30001", target: "http://111.231.196.214:30001/", //这里后台的地址模拟的;应该填写你们真实的后台接口 changeOrigin: true, //表示是否改变原域名