diff --git a/.gitignore b/.gitignore index 884ffb96..a9cb426f 100644 --- a/.gitignore +++ b/.gitignore @@ -23,3 +23,4 @@ pnpm-debug.log* *.sw? fe-manage.iml package-lock.json +src/api/config.js diff --git a/src/api/config.js b/src/api/config.js index f766c84b..9adcede1 100644 --- a/src/api/config.js +++ b/src/api/config.js @@ -56,7 +56,7 @@ http.interceptors.response.use( return response; } else { if (code === 1000) { - window.open("https://u-pre.boe.com/web/", '_self'); + // window.open("https://u-pre.boe.com/web/", '_self'); // window.open("http://111.231.196.214:12013/manage/login", '_self'); } console.log("api %o", msg); diff --git a/src/components/Modals/projSet.vue b/src/components/Modals/projSet.vue index 92306df8..9958c6ff 100644 --- a/src/components/Modals/projSet.vue +++ b/src/components/Modals/projSet.vue @@ -317,7 +317,7 @@ export default { cursor: pointer; width: 130px; height: 40px; - background: #388be1; + background: #4ea6ff; border-radius: 8px; border: 0; margin-right: 8px; @@ -405,7 +405,7 @@ export default { cursor: pointer; width: 130px; height: 40px; - background: #388be1; + background: #4ea6ff; border-radius: 8px; border: 0; margin-right: 16px 8px 32px 0; diff --git a/src/components/OpenPages.vue b/src/components/OpenPages.vue index 721b819b..e1a2f9f1 100644 --- a/src/components/OpenPages.vue +++ b/src/components/OpenPages.vue @@ -41,6 +41,7 @@ import { reactive, toRefs } from "vue"; import { useStore } from "vuex"; import { useRouter } from "vue-router"; import draggable from "vuedraggable"; +import { message } from "ant-design-vue"; export default { name: "OpenPages", components: { @@ -55,13 +56,18 @@ export default { const closePage = (value) => { console.log("点击关闭页面", value, state.openList); + state.openList.map((item, key) => { if (item.href === value.href) { if (state.openList.length === 1) { if (state.openList[0].href !== "/learningpath") { state.openList.splice(key, 1); + $router.push({ path: "/learningpath" }); + }else{ + message.destroy(); + return message.warning("至少保留一个页面"); } - $router.push({ path: "/learningpath" }); + } else { if (value.active) { if (key === state.openList.length - 1) { diff --git a/src/components/TwoDimensionalCode.vue b/src/components/TwoDimensionalCode.vue index 78ecfaed..85681b8e 100644 --- a/src/components/TwoDimensionalCode.vue +++ b/src/components/TwoDimensionalCode.vue @@ -278,7 +278,7 @@ export default { .codeUrlCopy { width: 96px; height: 40px; - background-color: #388be1; + background-color: #4ea6ff; border-radius: 8px; display: flex; align-items: center; diff --git a/src/components/common/FJUpload.vue b/src/components/common/FJUpload.vue index 574747db..2d42bace 100644 --- a/src/components/common/FJUpload.vue +++ b/src/components/common/FJUpload.vue @@ -164,7 +164,7 @@ function del(i) { left: 0; width: 60%; height: 5px; - background-color: #388be1; + background-color: #4ea6ff; border-radius: 3px; } @@ -179,7 +179,7 @@ function del(i) { position: absolute; right: -62px; top: -30px; - color: #388be1; + color: #4ea6ff; } .updataxq2 { diff --git a/src/components/drawers/ AssessmentList.vue b/src/components/drawers/ AssessmentList.vue deleted file mode 100644 index d202834c..00000000 --- a/src/components/drawers/ AssessmentList.vue +++ /dev/null @@ -1,397 +0,0 @@ - - - - diff --git a/src/components/drawers/ActiveAttendance.vue b/src/components/drawers/ActiveAttendance.vue index 75a1a3b0..4344c22a 100644 --- a/src/components/drawers/ActiveAttendance.vue +++ b/src/components/drawers/ActiveAttendance.vue @@ -724,8 +724,8 @@ export default { .btn2 { background: #ffffff; - color: #388be1; - border: 1px solid #388be1; + color: #4ea6ff; + border: 1px solid #4ea6ff; } } } @@ -765,8 +765,8 @@ export default { .btn2 { background: #ffffff; margin-right: 20px; - color: #388be1; - border: 1px solid #388be1; + color: #4ea6ff; + border: 1px solid #4ea6ff; } } .line { diff --git a/src/components/drawers/AddActive.vue b/src/components/drawers/AddActive.vue index aca5b52d..f23cd6a5 100644 --- a/src/components/drawers/AddActive.vue +++ b/src/components/drawers/AddActive.vue @@ -31,12 +31,73 @@
+ + +
+
+
+ +
+ 活动时间: +
+
+ +
+
+
+
+
+ +
+ 活动时长: +
+
+ + 分钟 +
+
+
+
+
+ +
+ 活动地点: +
+
+ +
+
@@ -47,7 +108,7 @@
活动公告:
-
+
-
-
-
- -
- 活动时间: -
-
- -
-
-
-
-
- -
- 活动时长: -
-
- - 分钟 -
-
-
-
-
- -
- 活动地址: -
-
- -
-
考勤设置: @@ -147,7 +144,7 @@
- 开始前: + 活动开始前: - 分钟 + 分钟允许签到
- 开始后: + 活动开始后: - 分钟 + 分钟允许签到
+
-
+
@@ -189,7 +192,7 @@ export default { dataIndex: "title", key: "title", width: "400px", - align: "center", + ellipsis: true, }, { title: "作者名称", @@ -198,13 +201,13 @@ export default { width: "200px", align: "center", }, - { - title: "导入时间", - dataIndex: "time", - key: "time", - width: "400px", - align: "center", - }, + // { + // title: "导入时间", + // dataIndex: "time", + // key: "time", + // width: "400px", + // align: "center", + // }, ]; return columns; }; @@ -253,6 +256,7 @@ export default { .then((res) => { console.log("案例列表", res); if (res.data.code === 200) { + state.tableDataTotal = res.data.data.count; // state.selectedRowKeys = [0]; for (let i = 0; i < res.data.data.list.length; i++) { console.log( @@ -399,7 +403,7 @@ export default { .main_items { margin-top: 32px; display: flex; - justify-content: space-between; + margin-bottom: 12px; flex-wrap: wrap; .mi_ipts { @@ -467,7 +471,7 @@ export default { background-image: url("@/assets/images/courseManage/search1.png"); } .btnText { - color: #388be1; + color: #4ea6ff; } } .btn2:hover { diff --git a/src/components/drawers/AddDiscuss.vue b/src/components/drawers/AddDiscuss.vue index c69aede3..2c5bb0fd 100644 --- a/src/components/drawers/AddDiscuss.vue +++ b/src/components/drawers/AddDiscuss.vue @@ -357,7 +357,7 @@ export default { cursor: pointer; width: 130px; height: 40px; - background: #388be1; + background: #4ea6ff; border-radius: 8px; border: 0; margin-right: 8px; diff --git a/src/components/drawers/AddEval.vue b/src/components/drawers/AddEval.vue index fe39d694..be1abeb4 100644 --- a/src/components/drawers/AddEval.vue +++ b/src/components/drawers/AddEval.vue @@ -17,7 +17,7 @@ 测评名称:
-
@@ -51,7 +51,7 @@
@@ -61,7 +61,7 @@
+ style="width:400px;" allowClear :rows="6"/>
@@ -548,6 +548,37 @@ export default { color: #fff; } } + .main_table { + position: relative; + padding-bottom: 80px; + .ant-checkbox-wrapper { + align-items: center; + margin-top: -2px; + } + .ant-table-selection-column { + padding: 0px !important; + padding-left: 5px !important; + } + .ant-table-thead > tr > th { + background-color: rgba(239, 244, 252, 1); + } + th.h { + background-color: #eff4fc !important; + } + .ant-table-tbody + > tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected) + > td { + background: #f6f9fd; + } + .pa { + left: 0; + width: 100%; + display: flex; + justify-content: center; + position: absolute; + bottom: 20px; + } + } } } diff --git a/src/components/drawers/AddFaceteach.vue b/src/components/drawers/AddFaceteach.vue index ef068b98..1786e2e7 100644 --- a/src/components/drawers/AddFaceteach.vue +++ b/src/components/drawers/AddFaceteach.vue @@ -27,13 +27,13 @@ alt="" /> - 课程名称: + 课程任务名称:
@@ -50,7 +50,7 @@
@@ -70,21 +70,7 @@
-
-
- 面授说明: -
-
- -
-
+
@@ -95,7 +81,7 @@
授课教师:
-
+
面授时间:
-
+
@@ -132,17 +119,12 @@
面授时长:
-
+
分钟 @@ -151,22 +133,34 @@
- +
- 上课地址: + 上课地点:
-
+
+
+
+ 面授说明: +
+
+ +
+
考勤设置: @@ -282,7 +276,6 @@
@@ -336,7 +329,7 @@
- 配置考试: + 配置考试:
@@ -354,7 +347,7 @@
- 已选考试: + 已选考试:
@@ -498,7 +491,7 @@ export default { fileList: [], chooseCourse: null, //选择的在线课程 chooseCourseName: null, //选择的在线课程 - assessmentId: null, + assessmetId: null, EditTestId: null, EditWorkId: null, workName: null, @@ -609,19 +602,30 @@ export default { state.EditWorkId = result.homeWorkId; state.assessmentId = result.evaluateId; state.needEval = result.evaluateId; - detail({offcourseId:result.offcourseId}).then((res)=>{ + console.log("====",!result.offcourseId,!result.homeWorkId,!result.testId); + if(result.offcourseId){ + detail({offcourseId:result.offcourseId}).then((res)=>{ state.chooseCourseName =res.data.data.name; + console.log(" state.chooseCourseName", state.chooseCourseName); }); - queryAppraiseDetailById({assessmentId:result.evaluateId}).then((res)=>{ + } + if(result.evaluateId){ + queryAppraiseDetailById({assessmentId:!result.offcourseId}).then((res)=>{ state.assessmentName =res.data.data.assessmentName; }); - queryWorkDetailById({workId:result.homeWorkId}).then((res)=>{ + } + if(result.homeWorkId){ + queryWorkDetailById({workId:result.homeWorkId}).then((res)=>{ state.workName = res.data.data.workName; }); - queryExaminationDetailById({ examinationId: result.testId }).then((res)=>{ + } + if(result.testId){ + queryExaminationDetailById({ examinationId: result.testId }).then((res)=>{ state.testName = res.data.data.examinationName; }); + } + console.log("state=======", state); }); }; @@ -639,8 +643,8 @@ export default { state.chooseCourse == null || state.memberValue == {} || state.chooseTime == [] || - state.duration == "" || - state.address == "" + state.duration == "" + ) { message.destroy(); return message.warning("请输入必填字段"); @@ -763,11 +767,7 @@ export default { const showAssessment = () => { state.assessmentVisible = true; }; - const faceAssess = (value) => { - console.log(value); - state.chooseMent = value; - state.chooseMentName = value.name; - }; + // 员工滚动 const templateScroll = (e) => { console.log("滚动", e); @@ -843,7 +843,7 @@ export default { clear, handleChange, showAssessment, - faceAssess, + // change, options, handleFocus, @@ -918,7 +918,7 @@ export default { cursor: pointer; width: 130px; height: 40px; - background: #388be1; + background: #4ea6ff; border-radius: 8px; border: 0; margin-right: 8px; @@ -933,7 +933,7 @@ export default { margin-bottom: 32px; .textarea { - width: 423px; + width: 400px; .ant-input { width: 100%; @@ -1008,7 +1008,7 @@ export default { cursor: pointer; width: 130px; height: 40px; - background: #388be1; + background: #4ea6ff; border-radius: 8px; border: 0; margin-right: 16px 8px 32px 0; @@ -1043,7 +1043,7 @@ export default { cursor: pointer; width: 130px; height: 40px; - background: #388be1; + background: #4ea6ff; border-radius: 8px; border: 0; margin-right: 8px; diff --git a/src/components/drawers/AddGroupMembers.vue b/src/components/drawers/AddGroupMembers.vue index 01065e2d..898b3fa8 100644 --- a/src/components/drawers/AddGroupMembers.vue +++ b/src/components/drawers/AddGroupMembers.vue @@ -70,7 +70,7 @@
+ +
+
+ + + +
+
@@ -50,27 +64,12 @@ placeholder="请输入作业要求" autocomplete="off" allow-clear - :rows="6" - style="margin-left: 35px" show-count :maxlength="200" />
-
-
- - - -
-
@@ -558,7 +557,7 @@ export default { cursor: pointer; width: 130px; height: 40px; - background: #388be1; + background: #4ea6ff; border-radius: 8px; border: 0; margin-right: 8px; @@ -572,7 +571,7 @@ export default { align-items: flex-start; margin-bottom: 32px; .textarea { - width: 423px; + width: 400px; .ant-input { width: 100%; @@ -633,7 +632,7 @@ export default { cursor: pointer; width: 130px; height: 40px; - background: #388be1; + background: #4ea6ff; border-radius: 8px; border: 0; margin-right: 16px 8px 32px 0; diff --git a/src/components/drawers/AddInvist.vue b/src/components/drawers/AddInvist.vue index a650c0a4..27bf14e2 100644 --- a/src/components/drawers/AddInvist.vue +++ b/src/components/drawers/AddInvist.vue @@ -10,7 +10,7 @@
编辑评估
-
添加评估
+
添加评估{{assessmentName}}{{assessmentId}}
-
-
-
-
- 已选择 0 -
-
-
- 已选择 1 条; - 名称: {{ assessment.name }} - - 题数: {{ assessment.num }} - - 创建人: - {{ assessment.creator }} - - 创建时间: - {{ assessment.time }} - -
-
- 已选择 1 条; - 名称: - {{ assessment1.assessmentName }} - - 题数: - {{ - assessment1.essayQuestionVoList.length - }} - - 创建人: - {{ assessment1.createUser }} - - 创建时间: - {{ assessment1.createTime }} - -
-
-
-
-
-
-
- -
选择评估
-
- -
-
-
-
+
-
+ +
+ +
+
-
-
@@ -104,14 +43,19 @@ import { reactive, toRefs } from "vue"; import * as apiTask from "../../api/indexTaskadd"; import { message } from "ant-design-vue"; -import { RouterEditTask, IsExistence, IsExistenceProject} from "@/api/indexTask"; -import * as api from "../../api/indexInvist"; +import { + RouterEditTask, + IsExistence, + IsExistenceProject, + IsExistenceProjectTemplate, +} from "@/api/indexTask"; + import { addTempTask } from "../../api/indexTaskadd"; -import AssessmentList from "@/components/drawers/AssessmentList.vue"; +import AssessmentAll from "@/components/drawers/AssessmentAll.vue"; export default { name: "AddInvist", components: { - AssessmentList, + AssessmentAll, }, props: { addinvistVisible: { @@ -175,56 +119,53 @@ export default { assessmentName: "", assessment: null, assessment1: null, - assessmentVisible: false, + assessmentVisible:false, titleTag: false, }); - const getCheckedAss = (ass) => { - state.assessmentId = ass.assessmentId; - state.assessment = ass; - state.assessment1 = null; - }; + // const getCheckedAss = (ass) => { + // state.assessmentId = ass.assessmentId; + // state.assessment = ass; + // console.log("state.assessment1",state.assessment); + // + // }; + const closeDrawer = () => { ctx.emit("update:addinvistVisible", false); ctx.emit("update:edit", false); - state.assessment = null; - state.assessment1 = null; + state.assessmentId = null; + state.assessmentName = null; state.inputV1 = ""; // ctx.emit("changeData", false); localStorage.setItem("stageId", props.chooseStageId); localStorage.setItem("chapterId", props.isactive); + }; const checkAssDrawer = () => { state.assessmentVisible = true; }; - const afterVisibleChange = () => { - state.assessmentId = null; - state.assessmentName = ""; - state.assessment = null; - queryInfo(); - }; - const queryInfo = () => { - if (props.edit) { - state.titleTg = false; - //编辑讨 - api - .queryAppraiseDetailById({ assessmentId: props.EditInvistId }) - .then((res) => { - console.log(res); - //更新讨论信息 - state.assessment1 = res.data.data; - state.assessmentId = res.data.data.assessmentId; - }) - .catch(() => {}); + const afterVisibleChange = (bool) => { + if(bool && props.EditInvistId >0){ + state.assessmentVisible = true; + state.assessmentId = props.EditInvistId; + }else{ + state.assessmentId =null; + state.assessmentName =null; } + }; + const updateTask = () => { - if (state.assessment == null) { + console.log("state.assessmentId ",state.assessmentId ,state.assessmentName ); + if (!state.assessmentId) { return message.warning("请选择评估"); } + let l_data_id = []; + l_data_id.push(Number(state.assessmentId)) + console.log("state.assessment",state.assessment,state.assessmentId); if (props.isLevel == 1) { IsExistence({ chapterId: Number(props.isactive), - courseId: state.assessment.assessmentId, + courseTaskId:l_data_id, routerId: props.routerId, type: 11, }) @@ -247,8 +188,8 @@ export default { } else { RouterEditTask({ chapterId: props.isactive, - courseId: state.assessment.assessmentId, - name: state.assessment.name, + courseTaskId: state.assessmentId, + name: state.assessmentName, routerId: props.routerId, routerTaskId: props.routerTaskId || 0, type: 11, @@ -272,7 +213,7 @@ export default { } else if (props.isLevel == 2) { IsExistenceProject({ - courseId: state.assessment.assessmentId, + courseTaskId: l_data_id, projectId: props.projectId, stageId: props.chooseStageId || 0, type: 11, @@ -295,8 +236,8 @@ export default { } else { apiTask .addTask({ - courseId: state.assessment.assessmentId, - name: state.assessment.name, + courseId: state.assessmentId, + name: state.assessmentName, projectId: props.projectId, projectTaskId: props.projectTaskId || 0, stageId: props.chooseStageId || 0, @@ -316,9 +257,31 @@ export default { }) } else if (props.isLevel == 3) { - addTempTask({ - courseId: state.assessment.assessmentId, - name: state.assessment.name, + IsExistenceProjectTemplate({ + courseTaskId: l_data_id, + projectTemplateId: props.projectTemplateId, + stageId: props.chooseStageId || 0, + type: 11, + }).then((res)=>{ + console.log(res) + console.log("项目中是否包含此评估了", res); + if (res.data.data.length) { + let strdata = res.data.data; + let tipStr = ""; + for (let i = 0; i < strdata.length; i++) { + if (i == strdata.length - 1) { + tipStr += strdata[i].courseName; + } else { + tipStr += strdata[i].courseName + "/"; + } + } + message.destroy(); + message.warning("评估(" + tipStr + ")重复添加"); + return; + }else{ + addTempTask({ + courseId: state.assessmentId, + name: state.assessmentName, projectTemplateId: props.projectTemplateId, projectTaskId: props.projectTaskId || 0, stageId: props.chooseStageId || 0, @@ -334,6 +297,9 @@ export default { message.destroy(); message.error(`${props.edit ? "编辑" : "新增"}任务失败`); }); + } + }); + } }; @@ -343,7 +309,7 @@ export default { closeDrawer, updateTask, checkAssDrawer, - getCheckedAss, + }; }, }; @@ -369,8 +335,7 @@ export default { } } .contentMain { - display: flex; - justify-content: space-between; + .main { width: 100%; .main_left { @@ -379,7 +344,7 @@ export default { .main_item { display: flex; align-items: center; - margin-bottom: 64px; + .fi_input { margin-right: 20px; } @@ -441,7 +406,7 @@ export default { display: flex; justify-content: space-between; align-items: center; - margin-bottom: 32px; + margin-bottom:3px; height: 40px; background-color: #e9f6fe; .mntc_left { @@ -452,7 +417,7 @@ export default { margin-right: 17px; } .data { - color: #388be1; + color: #4ea6ff; } .notice_icon { width: 14px; @@ -470,10 +435,11 @@ export default { } } } + .main_btns { height: 72px; width: 100%; - margin-top: 180px; + bottom: 0; left: 0; display: flex; diff --git a/src/components/drawers/AddLevelAddStu.vue b/src/components/drawers/AddLevelAddStu.vue index 4de33e02..af0205b6 100644 --- a/src/components/drawers/AddLevelAddStu.vue +++ b/src/components/drawers/AddLevelAddStu.vue @@ -84,7 +84,7 @@ />
@@ -45,7 +45,7 @@
- 分钟 + 分钟
@@ -109,7 +104,7 @@
授课老师:
-
+
- 直播封面 + 直播封面:
-
支持图片格式为jpg/jpeg/png 图片最大为2MB
+ +
支持图片格式为jpg/jpeg/png 图片最大为2MB
@@ -159,7 +155,7 @@
@@ -181,7 +177,7 @@
@@ -190,35 +186,21 @@
- 评估: + 直播说明:
-
- 需要评估 - -
-
-
-
-
- -
- - {{ - assessmentName - }} - -
- +
+ +
考勤设置: @@ -231,7 +213,7 @@
- 开始前: + 直播开始前: - 分钟 + 分钟允许签到
- 开始后: + 直播开始后: - 分钟 + 分钟允许签到
-
+
+
-
-
+
+
@@ -159,6 +167,7 @@ import { RouterEditTask, IsExistence, IsExistenceProject, + IsExistenceProjectTemplate, } from "@/api/indexTask"; import { addTempTask } from "../../api/indexTaskadd"; export default { @@ -251,51 +260,62 @@ export default { const afterVisibleChange = (bol) => { if (bol == true) { getAllOnlineText(); + getOnlineById(); } }; + //TODO 根据id 获取在线课信息 + const getOnlineById=()=>{ + + } const tableDataFunc = () => { const columns = [ - { - title: "课程编号", - dataIndex: "num", - key: "num", - width: "80px", - align: "center", - }, + // { + // title: "课程编号", + // dataIndex: "num", + // key: "num", + // width: "80px", + // align: "center", + // }, { title: "名称", dataIndex: "name", key: "name", - width: "100px", - align: "center", + width: "40%", ellipsis: true, }, { title: "课程分类", dataIndex: "contenttype", key: "contenttype", - width: "80px", + width: "15%", align: "center", }, { title: "授课教师", dataIndex: "teacher", key: "teacher", - width: "100px", + width: "15%", align: "center", }, { title: "创建人", dataIndex: "sysCreateBy", key: "sysCreateBy", - width: "80px", + width: "15%x", align: "center", }, + // { + // title: "创建时间", + // dataIndex: "createTime", + // key: "createTime", + // width: "15%", + // align: "center", + // }, { - title: "完成时间", - dataIndex: "overtime", - key: "time", - width: "150px", + title: "发布时间", + dataIndex: "publishTime", + key: "publishTime", + width: "15%", align: "center", }, ]; @@ -339,7 +359,8 @@ export default { contenttype: value.contentType == 10 ? "微课" : "录播课", teacher: value.teacher, sysCreateBy: value.sysCreateBy, - overtime: "", + createTime: value.sysCreateTime, + publishTime: value.publishTime, courseId: Number(value.onlineClassesId), }; array.push(obj); @@ -426,19 +447,7 @@ export default { }); }; const updateTask = () => { - if (props.isLevel == 1) { - // isExistence(23) - // return - // let routerarr = [] - // console.log('我是要便利的数据1', state.addOnlineList) - // state.addOnlineList.map((value) => { - // routerarr.push(isExistence(value.courseId)) - // }) - // console.log('当前是否已经添加了',routerarr) - } - if (props.isLevel == 3) { - console.log("我是要便利的数据3", state.addOnlineList); - } + if (props.isLevel == 1) { console.log("我是要便利的数据2", state.addOnlineList); let l_data = state.addOnlineList; @@ -557,28 +566,60 @@ export default { console.log(err); }); } else if (props.isLevel == 3) { - state.addOnlineList.map((value) => { - console.log( props, props.projectTemplateId,props.projectTaskId) - addTempTask({ - courseId: value.num, - name: value.name, - projectTemplateId: localStorage.getItem("projectTemplateId"), - projectTaskId: props.projectTaskId || 0, - stageId: props.chooseStageId || 0, - type: 1, - }) - .then((res) => { - console.log('新增或者编辑在线课',res) + + let p_data = state.addOnlineList; + let p_data_id = []; + p_data.map((item) => { + p_data_id.push(item["courseId"]); + }); + console.log("需要查询的在线课ID", p_data_id); + IsExistenceProjectTemplate({ + courseTaskId: p_data_id, + projectTemplateId:props.projectTemplateId, + stageId: props.chooseStageId || 0, + type: 1, + }).then((res)=>{ + console.log("项目中是否包含此在线课了", res); + if (res.data.data.length) { + let strdata = res.data.data; + let tipStr = ""; + for (let i = 0; i < strdata.length; i++) { + if (i == strdata.length - 1) { + tipStr += strdata[i].courseName; + } else { + tipStr += strdata[i].courseName + "/"; + } + } message.destroy(); - message.success(`${props.edit ? "编辑" : "新增"}模板库任务成功`); - ctx.emit("changeData", false); - closeDrawer(); + message.warning("在线课(" + tipStr + ")重复添加"); + return; + }else{ + state.addOnlineList.map((value) => { + + console.log( props, props.projectTemplateId,props.projectTaskId) + addTempTask({ + courseId: value.num, + name: value.name, + projectTemplateId: localStorage.getItem("projectTemplateId"), + projectTaskId: props.projectTaskId || 0, + stageId: props.chooseStageId || 0, + type: 1, + }) + .then((res) => { + console.log('新增或者编辑在线课',res) + message.destroy(); + message.success(`${props.edit ? "编辑" : "新增"}模板库任务成功`); + ctx.emit("changeData", false); + closeDrawer(); + }) + .catch(() => { + message.destroy(); + message.error(`${props.edit ? "编辑" : "新增"}模板库任务失败`); + }); }) - .catch(() => { - message.destroy(); - message.error(`${props.edit ? "编辑" : "新增"}模板库任务失败`); + } }); - }) + } //if(state.addOnlineList.Target==undefined){ // closeDrawer(); @@ -602,9 +643,7 @@ export default { getAllOnlineText(); }; onMounted(() => { - // let cookie = - // "eyJ0eXBlIjoidG9rZW4iLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC91LmJvZS5jb20iLCJpYXQiOjE2Njk0MjgwNTAsImV4cCI6MTY2OTQzNTI1MCwiR2l2ZW5OYW1lIjoiYm9ldSIsInVzZXJJZCI6IjZCMDQ5RkFGLUMzMTQtN0NDRi0wRDI4LTBEMjNGNEM0MjUzMSIsInVJZCI6Ijk2NTM0MjAyNzQ5NzYwNzE2OCIsInBlcm1pc3Npb24iOiIifQ==.9ea5ce6d4cd43c2c17f21a293e4dc0d362c2a404b9d50fae5c49fed5a238fb1a"; - // setCookie("token", cookie, 10); + }); return { ...toRefs(state), @@ -651,7 +690,7 @@ export default { padding-right: 12px; .main_items { display: flex; - justify-content: space-between; + margin-top: 32px; margin-bottom: 12px; flex-wrap: wrap; @@ -720,7 +759,7 @@ export default { background-image: url("@/assets/images/courseManage/search1.png"); } .btnText { - color: #388be1; + color: #4ea6ff; } } .btn2:hover { @@ -738,7 +777,7 @@ export default { display: flex; justify-content: space-between; align-items: center; - margin-bottom: 32px; + margin-bottom: 3px; height: 40px; background-color: #e9f6fe; .mntc_left { diff --git a/src/components/drawers/AddProject.vue b/src/components/drawers/AddProject.vue index afd212bb..002efd2a 100644 --- a/src/components/drawers/AddProject.vue +++ b/src/components/drawers/AddProject.vue @@ -21,40 +21,40 @@
-
项目名称:
+
-
项目经理:
+
-
创建人:
+
-
+
搜索
@@ -141,26 +141,13 @@
-
+ +
- - + @@ -180,7 +166,7 @@
tr > th { + background-color: rgba(239, 244, 252, 1); + } + th.h { + background-color: #eff4fc !important; + } + .ant-table-tbody + > tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected) + > td { + background: #f6f9fd; + } + .pa { + left: 0; + width: 100%; + display: flex; + justify-content: center; + position: absolute; + bottom: 20px; + } + } .main_btns { height: 72px; width: 100%; @@ -971,6 +987,7 @@ export default { color: #fff; } } + } } diff --git a/src/components/drawers/AddRef.vue b/src/components/drawers/AddRef.vue index ac7e780c..d3869f60 100644 --- a/src/components/drawers/AddRef.vue +++ b/src/components/drawers/AddRef.vue @@ -40,7 +40,7 @@
@@ -59,7 +59,7 @@
外链说明:
-
+
-->
- +
-
-
- -
- - - - +
+
+
+ 考试名称:
-
- -
- -
-
+
+
-
-
-
- -
- - - 选择试卷 - - - + +
+
+
+ +
+ 选择试卷: +
+
+ +
+ - +
- -
-
-
- -
- - - -
+ +
+
-
-
-
- -
- - - - 分钟 + +
+ +
+
+
+
+ 考试时间:
-
-
- 考试限制 - +
+ +
+
+
+
+
+ +
+ 考试时长: +
+
+ + 分钟 +
+
+
+
+ 考试说明: +
+
+ +
+
+
+
+ 考试限制: +
+
+
+
+ 允许重复考试: - - -1表示无限制 - + v-model:value="test.examinationLimit" + > + 次,-1表示无限制 +
+
+ +
+
+ 显示答案: +
- + 不允许查看 - +
+
+ 显示解析: +
- + 不允许查看 - +
+
+ 评分模式: +
- + 最后一次 - +
+
+ 及格线: +
- + - - + +
+
+
+ 作业要求: +
- + 不乱序 - +
-
- 取消 - 确定 -
- - -
-
-
-
- - - -
-
-
-
- - - -
-
+ -
- -
- -
-
-
-
-
-
- 取消 - 确定 -
-
+
+ 取消 + 确定 +
+ +
+ diff --git a/src/components/drawers/AssessmentList.vue b/src/components/drawers/AssessmentList.vue index 308606fd..ddcfb3b7 100644 --- a/src/components/drawers/AssessmentList.vue +++ b/src/components/drawers/AssessmentList.vue @@ -24,7 +24,7 @@
@@ -38,7 +38,8 @@
重置
-
+ +
- +
-
+
+
+ + +
+
@@ -82,10 +88,14 @@ export default { type: Boolean, default: false, }, - isface: { + assessmentId: { type: Number, default: null, }, + assessmentName: { + type: String, + default: null, + }, }, setup(props, ctx) { const state = reactive({ @@ -97,6 +107,8 @@ export default { tableDataTotal: 0, tableData: [], selectedRowKeys: [], + assessmentName:null, + assessmentId:null, }); const closeDrawer = () => { ctx.emit("update:assessmentVisible", false); @@ -114,9 +126,9 @@ export default { dataIndex: "name", // width: "30%", key: "name", - width: "20%", - align: "left", + width: "40%", className: "classify", + ellipsis: true, }, { title: "题数", @@ -147,21 +159,17 @@ export default { onSelect: (selectedRows) => { state.assessment = selectedRows; console.log("selectedRows=======", state.assessment); - if (props.isface == 1) { - ctx.emit("faceAssess", state.assessment); - } else { ctx.emit("checkedAss", state.assessment); - } - - state.selectedRowKeys = []; - closeDrawer(); + state.selectedRowKeys = []; + }, }; - // const onSelectChange = (selectedRowKeys) => { - // if(selectedRowKeys.length>2){return} - // state.selectedRowKeys = selectedRowKeys; - // }; - + const submitCheck=()=>{ + ctx.emit("update:assessmentId", state.assessment.assessmentId); + ctx.emit("update:assessmentName", state.assessment.name); + closeDrawer(); + } + const handelChangePage = (page, pageSize) => { state.currentPage = page; state.pageSize = pageSize; @@ -174,7 +182,8 @@ export default { let obj = { key: index, assessmentId: value.assessmentId, - num: value.essayQuestionVoList.length, + num: Number(value.essayQuestionVoList.length)+Number(value.multipleStemVoList.length)+Number(value.scoringQuestionVoList +.length)+Number(value.singleStemVoList.length), name: value.assessmentName ? value.assessmentName : "-", creator: value.createUser ? value.createUser : "-", time: dayjs(value.createTime).format("YYYY-MM-DD"), @@ -219,6 +228,7 @@ export default { getAllInvistText, resetInvist, handelChangePage, + submitCheck, }; }, }; @@ -319,6 +329,37 @@ export default { } } } + .main_table { + position: relative; + padding-bottom: 80px; + .ant-checkbox-wrapper { + align-items: center; + margin-top: -2px; + } + .ant-table-selection-column { + padding: 0px !important; + padding-left: 5px !important; + } + .ant-table-thead > tr > th { + background-color: rgba(239, 244, 252, 1); + } + th.h { + background-color: #eff4fc !important; + } + .ant-table-tbody + > tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected) + > td { + background: #f6f9fd; + } + .pa { + left: 0; + width: 100%; + display: flex; + justify-content: center; + position: absolute; + bottom: 20px; + } + } .main_btns { height: 72px; width: 100%; diff --git a/src/components/drawers/AssessmentList_bak.vue b/src/components/drawers/AssessmentList_bak.vue deleted file mode 100644 index fd790e38..00000000 --- a/src/components/drawers/AssessmentList_bak.vue +++ /dev/null @@ -1,396 +0,0 @@ - - - - diff --git a/src/components/drawers/CheckWork.vue b/src/components/drawers/CheckWork.vue index 1dcf08c7..bb36912b 100644 --- a/src/components/drawers/CheckWork.vue +++ b/src/components/drawers/CheckWork.vue @@ -111,7 +111,7 @@ export default { margin:auto 10px; } .op{ - color:#388be1; + color:#4ea6ff; margin: auto 20px; cursor: pointer; } diff --git a/src/components/drawers/CorPowerlist.vue b/src/components/drawers/CorPowerlist.vue index 5f442929..2c9d8502 100644 --- a/src/components/drawers/CorPowerlist.vue +++ b/src/components/drawers/CorPowerlist.vue @@ -58,7 +58,7 @@
+
@@ -213,10 +214,7 @@ export default { } //创建题干接口 const createQueTit = () => { - if (!state.inputV1) { - message.destroy(); - return message.warning("请输入投票名称"); - } + for (let i = 0; i < state.questions.length; i++) { if (!state.questions[i].inputV) { message.destroy(); @@ -298,7 +296,7 @@ export default { message.success("删除成功"); }) .catch(() => { - message.error("创建失败"); + message.error("创建失败")s; }); } //根据id获取题干信息 @@ -402,7 +400,7 @@ export default { cursor: pointer; width: 130px; height: 40px; - background: #388be1; + background: #4ea6ff; border-radius: 8px; border: 0; margin-right: 8px; @@ -505,7 +503,7 @@ export default { cursor: pointer; width: 130px; height: 40px; - background: #388be1; + background: #4ea6ff; border-radius: 8px; border: 0; margin-right: 8px; @@ -554,7 +552,7 @@ export default { cursor: pointer; width: 130px; height: 40px; - background: #388be1; + background: #4ea6ff; border-radius: 8px; border: 0; margin-right: 16px 8px 32px 0; diff --git a/src/components/drawers/EditOnline.vue b/src/components/drawers/EditOnline.vue index 38e68e6c..ea3093f2 100644 --- a/src/components/drawers/EditOnline.vue +++ b/src/components/drawers/EditOnline.vue @@ -45,7 +45,7 @@ closable @close="log" color="#F0FFFF" - style="background-color: #388be1" + style="background-color: #4ea6ff" >时间管理
@@ -330,7 +330,7 @@ export default { cursor: pointer; width: 130px; height: 40px; - background: #388be1; + background: #4ea6ff; border-radius: 8px; border: 0; margin-right: 8px; @@ -410,7 +410,7 @@ export default { background-image: url("@/assets/images/courseManage/search1.png"); } .btnText { - color: #388be1; + color: #4ea6ff; } } .btn2:hover { diff --git a/src/components/drawers/EvList.vue b/src/components/drawers/EvList.vue index 14e6bd4b..963286da 100644 --- a/src/components/drawers/EvList.vue +++ b/src/components/drawers/EvList.vue @@ -20,11 +20,11 @@
-
测评信息:
+
@@ -49,14 +49,16 @@ :loading="tableDataTotal === -1 ? true : false" :pagination="false" :row-selection="{ + type: 'radio', selectedRowKeys: selectedRowKeys, onChange: onSelectChange, }" /> +
-
+
@@ -107,14 +109,13 @@ export default { evListData: {}, columns: [ { - title: "课程编号", + title: "测评编号", width: "20%", dataIndex: "quiz_code", key: "code", - align: "center", }, { - title: "课程名称", + title: "测评名称", width: "20%", dataIndex: "title", key: "title", @@ -122,29 +123,26 @@ export default { }, { title: "备注", - width: "13%", + width: "40%", dataIndex: "theme_desc", key: "content", align: "center", - maxWidth: "13%", - overflow: "hidden", - whiteSpace: "nowrap", - textOverflow: "ellipsis", - }, - { - title: "状态", - width: "13%", - dataIndex: "status", - key: "status", - align: "center", - }, - { - title: "价格", - width: "13%", - dataIndex: "quiz_price", - key: "price", - align: "center", + ellipsis: true, }, + // { + // title: "状态", + // width: "13%", + // dataIndex: "status", + // key: "status", + // align: "center", + // }, + // { + // title: "价格", + // width: "13%", + // dataIndex: "quiz_price", + // key: "price", + // align: "center", + // }, { title: "可答题人数", width: "20%", @@ -225,12 +223,13 @@ export default { //获取测评列表 const getAllEvalText = () => { let objael = { - keyword: state.inputV1, - user_id: "965341999643234304", + keyword:state.inputV1, + user_id:"965341999643234304", }; api .choiceEvaluation(objael) .then((res) => { + state.tableDataTotal=9; getTableDataList(res.data.data); }) .catch(() => {}); @@ -306,8 +305,7 @@ export default { } .mi_btns { display: flex; - margin-left: 38px; - margin-bottom: 20px; + cursor: pointer; .btn { padding: 0px 26px 0px 26px; @@ -357,7 +355,7 @@ export default { background-image: url("@/assets/images/courseManage/search1.png"); } .btnText { - color: #388be1; + color: #4ea6ff; } } .btn2:hover { diff --git a/src/components/drawers/ExportHWork.vue b/src/components/drawers/ExportHWork.vue index f3ca86f8..0ded0d37 100644 --- a/src/components/drawers/ExportHWork.vue +++ b/src/components/drawers/ExportHWork.vue @@ -139,8 +139,8 @@ export default { .btn2 { background: #ffffff; - color: #388be1; - border: 1px solid #388be1; + color: #4ea6ff; + border: 1px solid #4ea6ff; } } } @@ -171,8 +171,8 @@ export default { } .btn2 { background: #ffffff; - color: #388be1; - border: 1px solid #388be1; + color: #4ea6ff; + border: 1px solid #4ea6ff; } } .tab { diff --git a/src/components/drawers/ExportScore.vue b/src/components/drawers/ExportScore.vue index b1c4f91e..2bd90d43 100644 --- a/src/components/drawers/ExportScore.vue +++ b/src/components/drawers/ExportScore.vue @@ -165,7 +165,7 @@ .up2 { font-size: 16px; font-weight: 400; - color: #388be1; + color: #4ea6ff; margin-left: 4px; } } @@ -199,7 +199,7 @@ .tip { font-size: 14px; font-weight: 400; - color: #388be1; + color: #4ea6ff; margin-top: 15px; cursor: pointer; } @@ -255,7 +255,7 @@ .stateloading { font-size: 14px; font-weight: 400; - color: #388be1; + color: #4ea6ff; } .statedefeat { font-size: 14px; @@ -278,7 +278,7 @@ height: 5px; border-radius: 4px; - background: #388be1; + background: #4ea6ff; } //下载失败条 .inprogdefeat { diff --git a/src/components/drawers/FaceManage.vue b/src/components/drawers/FaceManage.vue index 68188f73..e0941478 100644 --- a/src/components/drawers/FaceManage.vue +++ b/src/components/drawers/FaceManage.vue @@ -102,7 +102,7 @@ />
{ // margin-bottom: 20px; } .count { - color: #388be1; + color: #4ea6ff; font-size: 16px; margin: 0 6px; } diff --git a/src/components/drawers/ProjPowerList.vue b/src/components/drawers/ProjPowerList.vue index 0730c4da..dd4d65f6 100644 --- a/src/components/drawers/ProjPowerList.vue +++ b/src/components/drawers/ProjPowerList.vue @@ -60,7 +60,7 @@
@@ -115,10 +115,11 @@ :loading="tableDataTotal === -1 ? true : false" :pagination="false" /> +
-
+
- +
+ + +
@@ -140,47 +144,48 @@ import {reactive, toRefs, computed} from "vue"; // import { planList } from "../../api/indexTaskadd"; //import {detail} from "../../api/indexCourse"; import {list} from "../../api/indexTaskadd"; -import {toDate} from "../../api/method"; + const columns1 = [ - { - title: "课程编号", - width: "20%", - dataIndex: "num", - key: "num", - align: "center", - }, + // { +// title: "课程编号", + // title: "课程编号", + // width: "20%", + // dataIndex: "num", + // key: "num", + //// align: "center", +// }, { title: "名称", - width: "20%", + width: "30%", dataIndex: "name", key: "name", - align: "center", + }, { title: "内容分类", - width: "13%", + width: "15%", dataIndex: "content", key: "content", align: "center", }, { title: "授课教师", - width: "13%", + width: "15%", dataIndex: "teacher", key: "teacher", align: "center", }, { title: "创建人", - width: "13%", + width: "15%", dataIndex: "creator", key: "creator", align: "center", }, { - title: "完成时间", - width: "20%", + title: "发布时间", + width: "25%", dataIndex: "time", key: "time", align: "center", @@ -246,7 +251,6 @@ export default { state.chooseCourse = selectedRows.num; state.chooseCourseName = selectedRows.name; console.log(selectedRows, "==========", state.chooseCourse); - closeDrawer(); }, onChange: (selectedRows) => { console.log('onChange') @@ -254,11 +258,14 @@ export default { }, } }) - - const closeDrawer = () => { - ctx.emit("update:selfacetVisible", false); + const submitCourse=()=>{ state.chooseCourse && ctx.emit("update:chooseCourse", state.chooseCourse); state.chooseCourseName && ctx.emit("update:chooseCourseName", state.chooseCourseName); + closeDrawer(); + } + const closeDrawer = () => { + ctx.emit("update:selfacetVisible", false); + }; const afterVisibleChange = (bool) => { if (bool) { @@ -309,7 +316,7 @@ export default { name: value.name || "-", teacher: value.teacher || "-", creator: value.createName || "-", - time: toDate(value.publishTime / 1000, "Y-M-D h:m"), + time: value.publishTime, categoryId: value.categoryId, //需要判断content }; @@ -368,6 +375,7 @@ export default { changePaginationStu, rowSelection, search, + submitCourse, // change, }; }, @@ -399,7 +407,7 @@ export default { .contentMain { .main_items { display: flex; - justify-content: space-between; + margin-bottom: 12px; margin-top: 32px; flex-wrap: wrap; @@ -484,7 +492,7 @@ export default { } .btnText { - color: #388be1; + color: #4ea6ff; } } @@ -520,7 +528,7 @@ export default { } .data { - color: #388be1; + color: #4ea6ff; } .notice_icon { @@ -538,7 +546,37 @@ export default { } } } - + .main_table { + position: relative; + padding-bottom: 80px; + .ant-checkbox-wrapper { + align-items: center; + margin-top: -2px; + } + .ant-table-selection-column { + padding: 0px !important; + padding-left: 5px !important; + } + .ant-table-thead > tr > th { + background-color: rgba(239, 244, 252, 1); + } + th.h { + background-color: #eff4fc !important; + } + .ant-table-tbody + > tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected) + > td { + background: #f6f9fd; + } + .pa { + left: 0; + width: 100%; + display: flex; + justify-content: center; + position: absolute; + bottom: 20px; + } + } .main_btns { height: 72px; width: 100%; diff --git a/src/components/drawers/SelectTest.vue b/src/components/drawers/SelectTest.vue index 0d66c3cf..47239a14 100644 --- a/src/components/drawers/SelectTest.vue +++ b/src/components/drawers/SelectTest.vue @@ -74,7 +74,7 @@
@@ -46,16 +46,16 @@ alt="" />
- 创建投票: + 创建投票题干:
- {{ ballot_name }} + 删除投票题干
@@ -76,7 +76,7 @@
- {{ ballot_name }} + {{ ballot_name }}
@@ -112,114 +112,7 @@ />
-
-
-
- -
- 基础投票数设置 -
- - -
-
-
参与数:
-
- -
-
-
-
总票数:
-
- -
-
-
-
浏览数:
-
- -
-
- - +
投票说明: @@ -477,7 +370,7 @@ export default { if (!state.time) { message.destroy(); - return message.warning("请输入直播时间"); + return message.warning("请输入起止时间"); } // if (!state.basevote) { // return message.warning("请上传投票基数"); @@ -495,9 +388,9 @@ export default { ballotId: state.ballotId, baseVote: state.basevote, voteExplain: state.textV1, - votesTotal: state.totalVoteNum, //总票数 - numberOfInvolved: state.partakeNum, //参与数 - numberOfBrowse: state.browseNum, //浏览数 + //votesTotal: state.totalVoteNum, //总票数 + //numberOfInvolved: state.partakeNum, //参与数 + //numberOfBrowse: state.browseNum, //浏览数 }; if (props.edit) { api @@ -740,7 +633,7 @@ export default { cursor: pointer; width: 130px; height: 40px; - background: #388be1; + background: #4ea6ff; border-radius: 8px; border: 0; margin-right: 8px; @@ -836,7 +729,7 @@ export default { cursor: pointer; width: 130px; height: 40px; - background: #388be1; + background: #4ea6ff; border-radius: 8px; border: 0; margin-right: 16px 8px 32px 0; diff --git a/src/components/vote/CreateVote copy.vue b/src/components/vote/CreateVote copy.vue deleted file mode 100644 index 74f9ae1e..00000000 --- a/src/components/vote/CreateVote copy.vue +++ /dev/null @@ -1,626 +0,0 @@ - - - - diff --git a/src/components/vote/CreateVote.vue b/src/components/vote/CreateVote.vue index 41e86aaa..b55f2fbc 100644 --- a/src/components/vote/CreateVote.vue +++ b/src/components/vote/CreateVote.vue @@ -9,7 +9,7 @@ >
-
{{ ballotId ? "编辑投票" : "创建投票" }}
+
{{ ballotId ? "编辑投票题干" : "创建投票题干" }}
-
+
@@ -296,10 +297,7 @@ export default { console.log("555555555555555555", filterData); // 校验 - if (!state.ballotName) { - message.warning("请输入投票名称"); - return false; - } + if (!checkVal(filterData)) { return false; } @@ -417,7 +415,7 @@ export default { cursor: pointer; width: 130px; height: 40px; - background: #388be1; + background: #4ea6ff; border-radius: 8px; border: 0; margin-right: 8px; @@ -492,7 +490,7 @@ export default { cursor: pointer; width: 130px; height: 40px; - background: #388be1; + background: #4ea6ff; border-radius: 8px; border: 0; margin-right: 16px 8px 32px 0; diff --git a/src/views/certificate/CertificateCenter.vue b/src/views/certificate/CertificateCenter.vue index 4ea4ed49..30ad21e7 100644 --- a/src/views/certificate/CertificateCenter.vue +++ b/src/views/certificate/CertificateCenter.vue @@ -4,7 +4,7 @@ style=" width: 130px; height: 40px; - background: #388be1; + background: #4ea6ff; border-radius: 8px; font-size: 14px; font-family: PingFangSC-Regular, PingFang SC; diff --git a/src/views/courselibrary/CoursewareManage.vue b/src/views/courselibrary/CoursewareManage.vue index a708bb63..4e540c84 100644 --- a/src/views/courselibrary/CoursewareManage.vue +++ b/src/views/courselibrary/CoursewareManage.vue @@ -1280,7 +1280,7 @@
考勤 -
--> +
二维码 -
+
-->