diff --git a/src/App.vue b/src/App.vue index f70b4865..b419c233 100644 --- a/src/App.vue +++ b/src/App.vue @@ -19,7 +19,7 @@ diff --git a/src/components/drawers/AddOnline.vue b/src/components/drawers/AddOnline.vue index f22ce374..10771461 100644 --- a/src/components/drawers/AddOnline.vue +++ b/src/components/drawers/AddOnline.vue @@ -1,34 +1,46 @@ \ No newline at end of file diff --git a/src/components/drawers/AddProject.vue b/src/components/drawers/AddProject.vue index 98d6dbe1..7c2f3944 100644 --- a/src/components/drawers/AddProject.vue +++ b/src/components/drawers/AddProject.vue @@ -374,9 +374,11 @@ export default { // this.selectedRows = selectedRows; // }; const searchProjectList = () => { + state.selectedRowKeys = []; getAllProjText(); }; const resetProjectList = () => { + state.selectedRowKeys = []; state.inputV1 = ""; state.inputV2 = ""; state.inputV3 = ""; diff --git a/src/components/drawers/AddTest.vue b/src/components/drawers/AddTest.vue index 62af9c4d..3bcce3ed 100644 --- a/src/components/drawers/AddTest.vue +++ b/src/components/drawers/AddTest.vue @@ -1,15 +1,23 @@ \ No newline at end of file diff --git a/src/components/drawers/AssessmentAll.vue b/src/components/drawers/AssessmentAll.vue index 74fab40c..84755032 100644 --- a/src/components/drawers/AssessmentAll.vue +++ b/src/components/drawers/AssessmentAll.vue @@ -9,7 +9,7 @@ maxlength="20" /> -
+
搜索
@@ -43,10 +43,11 @@ >创建人: {{ assessment.creator }} +
-
+
- + 搜索 - 重置 + 重置
-
+
已选
-
-
快速选人
-
-
+
+
{{ item.realName }}
@@ -173,17 +199,20 @@
-
-
-
-
查看更多>
+
+
查看更多>
-
-
收起<
+
+
收起<
- @@ -206,36 +235,33 @@ - -
受众关联
-
-
+
+
-
{{ item.audienceName }}
+
{{ item.audienceName }}
-
{{ item.audienceName }}
+
{{ item.audienceName }}
-
-
-
-
查看更多>
+
+
查看更多>
-
-
收起<
+
+
收起<
- -
+
-
- -
+ @@ -2278,7 +2275,11 @@ {{ currentPlanItem.teacher }}
- + @@ -3412,21 +3413,21 @@ export default defineComponent({ } }, }, - { - title: "加入方式", - width: "10%", - dataIndex: "join", - key: "6", - align: "center", - customRender: ({ record }) => { - switch (String(record.source)) { - case "1": - return "手动加入"; - case "2": - return "报名加入"; - } - }, - }, + // { + // title: "加入方式", + // width: "10%", + // dataIndex: "join", + // key: "6", + // align: "center", + // customRender: ({ record }) => { + // switch (String(record.source)) { + // case "1": + // return "手动加入"; + // case "2": + // // return "报名加入"; + // } + // }, + // }, // { // title: "签到状态", // width: '10%', @@ -3732,7 +3733,7 @@ export default defineComponent({ codevisible: false, //二维码弹窗 codeInfo: null, //二维码内容 codeUrl: codeUrl, - + // 课程三级分类 options2222: [ { @@ -4658,7 +4659,6 @@ export default defineComponent({ } console.log("state.validate", state.validate); - if (!state.validate) { message.destroy(); @@ -4842,7 +4842,7 @@ export default defineComponent({ }; //保存开课 const handleSureStu = () => { - state.addLoading = true; + let startTime, endTime = 0; if (state.xjkkinputV3) { @@ -4884,17 +4884,19 @@ export default defineComponent({ message.destroy(); return message.error("请输入必填项"); } else { - state.addLoading = true; + console.log("state.addLoading ", state.addLoading); } + state.addLoading = true; editPlan(postData).then((res) => { if (res.data.code === 200) { getTableDate3(); handleCancelStu(); rest(); } + state.addLoading = false; }); - state.addLoading = false; + }; //编辑开课 const handelEditStu = async (itm) => { @@ -8125,183 +8127,9 @@ export default defineComponent({ display: flex; justify-content: space-between; - .i5_left { - display: flex; + - .select { - margin-right: 20px; - margin-bottom: 20px; - } - - .addTimeBox { - position: relative; - display: flex; - align-items: center; - - .addTime { - position: absolute; - z-index: 10; - margin-left: 10px; - color: rgba(0, 0, 0, 0.4); - } - - .ant-picker { - padding-left: 85px; - } - - .ant-picker-range .ant-picker-active-bar { - margin-left: 85px; - } - } - - .btn { - padding: 0px 26px 0px 26px; - height: 38px; - background: #4ea6ff; - border-radius: 8px; - //border: 1px solid rgba(64, 158, 255, 1); - display: flex; - align-items: center; - justify-content: center; - margin-right: 14px; - flex-shrink: 0; - cursor: pointer; - - .search { - background-size: 100%; - } - - .btnText { - font-size: 14px; - font-weight: 400; - color: #ffffff; - line-height: 36px; - margin-left: 5px; - } - } - - .btnn { - padding: 0px 26px 0px 26px; - height: 38px; - background: #ffffff; - border-radius: 8px; - border: 1px solid rgba(64, 158, 255, 1); - display: flex; - align-items: center; - justify-content: center; - margin-right: 14px; - flex-shrink: 0; - cursor: pointer; - - .search { - background-size: 100%; - } - - .btnText { - font-size: 14px; - font-weight: 400; - color: #4ea6ff; - line-height: 36px; - margin-left: 5px; - } - } - - .btn1 { - .search { - width: 15px; - height: 17px; - background-image: url("../../assets/images/courseManage/search0.png"); - } - } - - .btn2 { - .search { - width: 16px; - height: 18px; - background-image: url("../../assets/images/courseManage/reset1.png"); - } - } - - .btn1:hover { - background: rgba(64, 158, 255, 0.76); - - .search { - background-image: url("../../assets/images/courseManage/search0.png"); - } - - .btnText { - color: #ffffff; - } - } - - .btn1:active { - background: #0982ff; - } - - .btn2:hover { - background: rgba(64, 158, 255, 0.1); - } - - .btn2:active { - background: rgba(64, 158, 255, 0.2); - } - } - - .btns { - display: flex; - // flex-wrap: wrap; - .btn { - padding: 0px 26px 0px 26px; - height: 38px; - background: #4ea6ff; - border-radius: 8px; - //border: 1px solid rgba(64, 158, 255, 1); - display: flex; - align-items: center; - justify-content: center; - margin-right: 14px; - flex-shrink: 0; - cursor: pointer; - - .search { - background-size: 100%; - } - - .btnText { - font-size: 14px; - font-weight: 400; - color: #ffffff; - line-height: 36px; - margin-left: 5px; - } - } - - .btn3 { - margin-right: 0px; - - .search { - width: 17px; - height: 18px; - background-image: url("../../assets/images/courseManage/add0.png"); - } - } - - .btn3:hover { - background: rgba(64, 158, 255, 0.76); - - .search { - background-image: url("../../assets/images/courseManage/add0.png"); - } - - .btnText { - color: #ffffff; - } - } - - .btn3:active { - background: #0982ff; - } - } + } .stmm_i6 { @@ -8641,29 +8469,7 @@ export default defineComponent({ margin-bottom: 20px; } -.cus-btn { - width: 100%; - height: 40px; - display: flex; - align-items: center; - justify-content: center; - margin-right: 16px; - border: 1px solid #4ea6ff; - border-radius: 8px; - background: #4ea6ff; - cursor: pointer; - color: #fff; -} -.white { - background: #fff; - color: #4ea6ff; -} - -.cus-input { - height: 40px; - border-radius: 8px; -} // .tableSelect { // position: relative; diff --git a/src/views/examine/ProjectReviewed.vue b/src/views/examine/ProjectReviewed.vue index 245addaa..2af90052 100644 --- a/src/views/examine/ProjectReviewed.vue +++ b/src/views/examine/ProjectReviewed.vue @@ -49,16 +49,21 @@ placeholder="请输入创建人" />
+ +
+
+
审核时间:
+
@@ -144,6 +149,7 @@ import { onMounted, reactive, toRefs } from "vue"; import { auditedlist } from "../../api/indexAudit"; import * as moment from "moment"; +import dayjs from "dayjs"; export default { name: "ProjectViewed", @@ -324,8 +330,8 @@ export default { const getProjList = () => { state.loading=true let objn = { - beginTime: state.valueDate ? state.valueDate[0] : "", - endTime: state.valueDate ? state.valueDate[1] : "", + beginTime: state.valueDate ? dayjs(state.valueDate[0]).format("YYYY-MM-DD") : "", + endTime: state.valueDate ? dayjs(state.valueDate[1]).format("YYYY-MM-DD") : "", createName: state.valuecreater, manager: state.valuename, name: state.valueproj, @@ -408,6 +414,7 @@ export default { diff --git a/src/views/projectcenter/TaskPage.vue b/src/views/projectcenter/TaskPage.vue index 632693a9..f6279f78 100644 --- a/src/views/projectcenter/TaskPage.vue +++ b/src/views/projectcenter/TaskPage.vue @@ -851,7 +851,7 @@
编辑
--> -
+
编辑
@@ -1442,14 +1442,7 @@ >
+ style="width: 100%;height: 68px;display: flex;align-items: center; justify-content: space-between; ">
- -
@@ -649,7 +648,7 @@
- {{ element.cretime }}分钟 + {{ element.cretime ? element.cretime + "分钟" : "-" }}
-
取消
+
取消
-
确定
+
确定
@@ -1389,7 +1388,7 @@ export default { ? "投票" : "-", creater: value.name, - cretime: Number(value.duration) > 0 ? value.duration : "-", + cretime: value.duration || value.duration == 0 ? value.duration : "-", checked1: value.flag ? true : false, checked: false, //是否选中类型 courseId: value.courseId, @@ -1402,12 +1401,16 @@ export default { state.tableData = array; console.log("state.tableData", state.tableData); }; - //把阶段放到level里 - const getStageData = (tableData) => { + //把阶段放到level里 + const getStageData = (tableData) => { let data = tableData; let array = []; data.map((value) => { - console.log("dd",Number(value.templateStageId) ,Number(value.templateStageId) > 0); + console.log( + "dd", + Number(value.templateStageId), + Number(value.templateStageId) > 0 + ); if (Number(value.templateStageId) > 0) { let obj = { id: value.templateStageId, @@ -1623,20 +1626,48 @@ export default { console.log("获取任务列表失败", err); }); };*/ - - //获取任务列表 - const getTask = async () => { - - await api - .templateDetail(localStorage.getItem("projectTemplateId")).then((res) => { - console.log("22222", res.data.data.stageList); - state.projectTitle = res.data.data.projectTemplateInfo.name; - state.picUrl = res.data.data.projectTemplateInfo.picUrl; - state.stageList = res.data.data.stageList; - getStageData(res.data.data.stageList); - updateStageChoosd(); - - }); + // 删除所有阶段 + const removeAllLevel = () => { + // state.cancelModal = false; + console.log(state.level); + let removeArr = state.level; + for (let i = 0; i < removeArr.length; i++) { + + api + .deleteStage(removeArr[i].id) + .then((res) => { + console.log("删除阶段成功", res); + if (removeArr.length - 1 == i) { + message.destroy(); + message.success("删除全部阶段成功"); + closeDeleteStage(); + localStorage.setItem("stageId", ""); + getTask(); + state.cancelModal = false; + } + }) + .catch((err) => { + if (removeArr.length - 1 == i) { + console.log("删除阶段失败", err); + message.destroy(); + message.success("删除全部阶段失败"); + state.cancelModal = false; + } + }); + } + }; + //获取任务列表 + const getTask = async () => { + await api + .templateDetail(localStorage.getItem("projectTemplateId")) + .then((res) => { + console.log("22222", res.data.data.stageList); + state.projectTitle = res.data.data.projectTemplateInfo.name; + state.picUrl = res.data.data.projectTemplateInfo.picUrl; + state.stageList = res.data.data.stageList; + getStageData(res.data.data.stageList); + updateStageChoosd(); + }); }; function updateStageChoosd() { @@ -1659,9 +1690,15 @@ export default { getTableData(state.stageList[0].taskList); return; } - console.log(state.chooseStageId,state.stageList.find((e) => e.templateStageId == state.chooseStageId)?.taskList,state.stageList); + console.log( + state.chooseStageId, + state.stageList.find((e) => e.templateStageId == state.chooseStageId) + ?.taskList, + state.stageList + ); getTableData( - state.stageList.find((e) => e.templateStageId == state.chooseStageId)?.taskList + state.stageList.find((e) => e.templateStageId == state.chooseStageId) + ?.taskList ); } @@ -1956,10 +1993,9 @@ export default { console.log("state.level", id, state.level); state.chooseStageId = id; let final = state.level.find((item) => item.id === id); - if(final !=null){ + if (final != null) { getTableData(final.taskList); } - }; //选择单个任务 @@ -2154,6 +2190,7 @@ export default { getTableData, deleteTask, editStage, + removeAllLevel, updateTableData, changeVData, changeRow, diff --git a/src/views/projectcenter/templateAdd.vue b/src/views/projectcenter/templateAdd.vue index b4186361..11556ece 100644 --- a/src/views/projectcenter/templateAdd.vue +++ b/src/views/projectcenter/templateAdd.vue @@ -78,6 +78,7 @@
route.query.projectTemplateId && api.templateDetail(route.query.projectTemplateId).then((res) => { projectInfo.value = res.data.data.projectTemplateInfo; - projectInfo.value.rangeTime = [ - projectInfo.value.beginTime, - projectInfo.value.endTime, + projectInfo.value.rangeTime = [dayjs(projectInfo.value.beginTime).format("YYYY-MM-DD HH:mm"), + dayjs(projectInfo.value.endTime).format("YYYY-MM-DD HH:mm"), ]; projectInfo.value.courseSyncFlag = !!projectInfo.value.courseSyncFlag }); @@ -253,8 +253,8 @@ const backPage = () => { function timeChange(e) { if (e && e.length === 2) { - projectInfo.value.beginTime = e[0]; - projectInfo.value.endTime = e[1]; + projectInfo.value.beginTime = dayjs(e[0]).format("YYYY-MM-DD HH:mm"), + projectInfo.value.endTime =dayjs(e[1]).format("YYYY-MM-DD HH:mm") } } @@ -281,6 +281,8 @@ const createProject = () => { } } projectInfo.value.courseSyncFlag = courseSyncFlag.value ? 1 : 0; + projectInfo.value.beginTime = dayjs(projectInfo.value.beginTime).format("YYYY-MM-DD HH:mm"), + projectInfo.value.endTime =dayjs(projectInfo.value.endTime).format("YYYY-MM-DD HH:mm") api .templateEdit({ ...projectInfo.value, diff --git a/src/views/research/ResearchManage.vue b/src/views/research/ResearchManage.vue index 00cbb91d..97688ba0 100644 --- a/src/views/research/ResearchManage.vue +++ b/src/views/research/ResearchManage.vue @@ -24,12 +24,17 @@ >
- -
+
+
创建时间:
+ +
+
@@ -166,7 +171,8 @@
取消
-
确定
+
确定
+
确定
@@ -414,7 +420,7 @@ export default { if (state.projectTime) { startTime = toDate( new Date(state.projectTime[0].$d).getTime() / 1000, - "Y-M-D" + "Y-M-D hh:mm" ); endTime = toDate( new Date(state.projectTime[1].$d).getTime() / 1000, @@ -665,6 +671,7 @@ export default { state.copy_hs = true; }; const handleSure = () => { + // 发布 if (state.pub_hs) { editReleaseStatus({ @@ -710,11 +717,13 @@ export default { } // 复制 if (state.copy_hs) { + state.addLoading = true; let resultPost = restData(state.copyItem); resultPost.assessmentName = resultPost.assessmentName + "(1)"; console.log("resultPost"); console.log(resultPost); createResearch(resultPost).then((res) => { + state.addLoading =false; console.log(res); handleCancelModal(); getTableDate(); @@ -865,6 +874,26 @@ export default { display: block; clear: both; } +.addTimeBox { + position: relative; + display: flex; + align-items: center; + + .addTime { + position: absolute; + z-index: 10; + margin-left: 10px; + color: rgba(0, 0, 0, 0.4); + } + + .ant-picker { + padding-left: 85px; + } + + .ant-picker-range .ant-picker-active-bar { + margin-left: 85px; + } +} .out { //display: flex; display: block;