diff --git a/src/api/index1.js b/src/api/index1.js index ade98239..5b2c8cb1 100644 --- a/src/api/index1.js +++ b/src/api/index1.js @@ -131,6 +131,7 @@ export const addStudentCourse = (obj) => http.post("/admin/offcourse/addStudent" // 获取组织结构树 export const orgtree = () => http.get("/org/tree"); export const saveStu = obj => http.post("/admin/student/addStudent", obj); +export const validateName = obj => http.post("/admin/validate/validateName", obj); //获取积分列表 export const noticeList = (projectId) => diff --git a/src/components/project/NameInput.vue b/src/components/project/NameInput.vue new file mode 100644 index 00000000..2030bc20 --- /dev/null +++ b/src/components/project/NameInput.vue @@ -0,0 +1,58 @@ + + diff --git a/src/views/courselibrary/CoursewareManage.vue b/src/views/courselibrary/CoursewareManage.vue index 27f91dd7..84acd346 100644 --- a/src/views/courselibrary/CoursewareManage.vue +++ b/src/views/courselibrary/CoursewareManage.vue @@ -132,16 +132,17 @@ 课程名称: -
- -
- {{ xzinputV1.length }}/20 -
+
+ + + + + + + + + +
@@ -336,14 +337,15 @@ 课程名称
-
- +
+ + + + + + + +
{{ qdms_inputV1.length }}/90 @@ -2752,6 +2754,7 @@ import { useRouter, useRoute } from "vue-router"; import addOnlineCourse from "../../components/Modals/addOnlineCourse.vue"; import ProjOwnerShip from "../../components/drawers/ProjectOwn"; +import NameInput from "../../components/project/NameInput"; import ProjPowerList from "../../components/drawers/ProjPowerList"; import ProjCheckShip from "../../components/drawers/ProjCheckPower"; import AssessmentList from "../../components/drawers/AssessmentList.vue"; @@ -3305,6 +3308,7 @@ export default defineComponent({ ProjPowerList, ProjCheckShip, AssessmentList, + NameInput, // VNodes: (_, {attrs}) => { // return attrs.vnodes; // }, @@ -3535,6 +3539,7 @@ export default defineComponent({ imageUrl: "", imgList: [], + validate:true, pageSize2: 10, currentPage2: 0, @@ -4481,6 +4486,10 @@ export default defineComponent({ message.destroy(); return message.warning("请输入必填项"); } + if (!state.validate) { + message.destroy(); + return message.warning("路径图名称重复"); + } console.log( "state.bs_hs && state.valueE1 == 2", state.bs_hs, @@ -4594,7 +4603,10 @@ export default defineComponent({ } else { state.addLoading = true; } - + if (!state.validate) { + message.destroy(); + return message.warning("路径图名称重复"); + } edit(postData).then((res) => { if (res.data.code === 200) { getTableDate(); diff --git a/src/views/learningpath/LearningPath.vue b/src/views/learningpath/LearningPath.vue index f1b4b733..7183988a 100644 --- a/src/views/learningpath/LearningPath.vue +++ b/src/views/learningpath/LearningPath.vue @@ -6,21 +6,21 @@
@@ -32,10 +32,10 @@ /> -->
创建时间:
@@ -67,48 +67,48 @@
- +
- +
无数据
请添加路径
- +
@@ -117,20 +117,20 @@
- +
创建路径
@@ -138,33 +138,35 @@
路径图名称
- -
{{ pathName.length }}/20
+ + + + + + + +
归属组织
- 查看更多 + 查看更多
路径说明
- +
{{ pathIntro.length }}/150
@@ -225,10 +227,10 @@
- +
@@ -236,20 +238,20 @@
- +
编辑路径
@@ -257,33 +259,35 @@
路径图名称
- -
{{ pathName.length }}/20
+ + + + + + + +
归属组织
- 查看更多 + 查看更多
路径说明
- +
{{ pathIntro.length }}/150
@@ -349,17 +353,17 @@
路径发布路径发布
@@ -421,16 +425,16 @@
- +
@@ -456,11 +460,11 @@
@@ -490,11 +494,11 @@
@@ -520,11 +524,11 @@
@@ -550,11 +554,11 @@
@@ -590,23 +594,23 @@
路径图背景
{ - console.log("获取关卡、任务、学员统计数据", res.data); - if (res.status === 200) { - // state.routeStudentsNum = res.data.students; - state.routeChapters = res.data.data.chapters; - state.routeTasks = res.data.data.tasks; - } - }) - .catch((err) => { - console.log("err", err); - }); + .getLearnCount(router.id) + .then((res) => { + console.log("获取关卡、任务、学员统计数据", res.data); + if (res.status === 200) { + // state.routeStudentsNum = res.data.students; + state.routeChapters = res.data.data.chapters; + state.routeTasks = res.data.data.tasks; + } + }) + .catch((err) => { + console.log("err", err); + }); //获取学员列表 let stuobj = { pageNo: 1, @@ -882,17 +890,17 @@ export default { routerId: router.id, }; api - .getStudent(stuobj) - .then((res) => { - console.log("获取学员列表", res.data.data.total); - if (res.data.code === 200) { - state.routeStudentsNum = res.data.data.total; - state.pubLoading = false; - } - }) - .catch((err) => { - console.log("获取学员列表失败", err); - }); + .getStudent(stuobj) + .then((res) => { + console.log("获取学员列表", res.data.data.total); + if (res.data.code === 200) { + state.routeStudentsNum = res.data.data.total; + state.pubLoading = false; + } + }) + .catch((err) => { + console.log("获取学员列表失败", err); + }); }; //确定发布 const releaseLearnPath = () => { @@ -902,22 +910,22 @@ export default { type: 1, }; api - .handleLearnPath(obj) - .then((res) => { - console.log("发布", res); - if (res.data.code === 200) { - message.destroy(); - message.success("发布成功"); - state.pub = false; - getLearnPath(); - } - if (res.data.code === -1) { - message.warning(res.data.msg); - } - }) - .catch((err) => { - console.log("发布失败", err); - }); + .handleLearnPath(obj) + .then((res) => { + console.log("发布", res); + if (res.data.code === 200) { + message.destroy(); + message.success("发布成功"); + state.pub = false; + getLearnPath(); + } + if (res.data.code === -1) { + message.warning(res.data.msg); + } + }) + .catch((err) => { + console.log("发布失败", err); + }); }; const closePub = () => { @@ -943,22 +951,22 @@ export default { type: 2, }; api - .handleLearnPath(obj) - .then((res) => { - if (res.data.code === 200) { - console.log("复制成功", res); - message.destroy(); - message.success("复制成功"); - state.copyModal = false; - getLearnPath(); - } - if (res.data.code === -1) { - message.warning(res.data.msg); - } - }) - .catch((err) => { - console.log("复制失败", err); - }); + .handleLearnPath(obj) + .then((res) => { + if (res.data.code === 200) { + console.log("复制成功", res); + message.destroy(); + message.success("复制成功"); + state.copyModal = false; + getLearnPath(); + } + if (res.data.code === -1) { + message.warning(res.data.msg); + } + }) + .catch((err) => { + console.log("复制失败", err); + }); }; //显示结束窗口 @@ -976,22 +984,22 @@ export default { type: -1, }; api - .handleLearnPath(obj) - .then((res) => { - if (res.data.code === 200) { - console.log("停用成功", res); - message.destroy(); - message.success("停用成功"); - state.stopModal = false; - getLearnPath(); - } - if (res.data.code === -1) { - message.warning(res.data.msg); - } - }) - .catch((err) => { - console.log("停用失败", err); - }); + .handleLearnPath(obj) + .then((res) => { + if (res.data.code === 200) { + console.log("停用成功", res); + message.destroy(); + message.success("停用成功"); + state.stopModal = false; + getLearnPath(); + } + if (res.data.code === -1) { + message.warning(res.data.msg); + } + }) + .catch((err) => { + console.log("停用失败", err); + }); }; const showDeleteModal = () => { @@ -1023,22 +1031,22 @@ export default { type: 0, }; api - .handleLearnPath(obj) - .then((res) => { - if (res.data.code === 200) { - console.log("撤回成功", res); - message.destroy(); - message.success("撤回成功"); - state.backModal = false; - getLearnPath(); - } - if (res.data.code === -1) { - message.warning(res.data.msg); - } - }) - .catch((err) => { - console.log("撤回失败", err); - }); + .handleLearnPath(obj) + .then((res) => { + if (res.data.code === 200) { + console.log("撤回成功", res); + message.destroy(); + message.success("撤回成功"); + state.backModal = false; + getLearnPath(); + } + if (res.data.code === -1) { + message.warning(res.data.msg); + } + }) + .catch((err) => { + console.log("撤回失败", err); + }); }; const showOwner = (id) => { @@ -1068,13 +1076,13 @@ export default { number: (state.currentPage - 1) * state.pageSize + index + 1, manager: value.name ? value.name : "-", state: - value.status === 0 - ? "草稿" - : value.status === 1 - ? "已发布" - : value.status === -1 - ? "已结束" - : "-", + value.status === 0 + ? "草稿" + : value.status === 1 + ? "已发布" + : value.status === -1 + ? "已结束" + : "-", creater: value.createName ? value.createName : "-", pubtime: value.publishTime ? value.publishTime : "-", cretime: value.createTime ? value.createTime : "-", @@ -1147,282 +1155,282 @@ export default { width: 200, align: "center", fixed: "right", - scopedSlots: { customRender: "action" }, //引入的插槽 + scopedSlots: {customRender: "action"}, //引入的插槽 customRender: (text) => { // console.log(text); return ( -
-
- {text.record.state === "草稿" ? ( -
-
{ - // console.log("text.record.", text.record); - showPub(text.record); - }} - > - 发布 -
-
{ - // console.log("text.record", text.record); +
+
+ {text.record.state === "草稿" ? ( +
+
{ + // console.log("text.record.", text.record); + showPub(text.record); + }} + > + 发布 +
+
{ + // console.log("text.record", text.record); - getLearnPathInfo(text.record.id); - }} - > - 编辑 -
-
- ) : ( -
- )} - {text.record.state === "已发布" ? ( -
-
{ - // state.out1 = true; - // state.pathName = text.record.manager; - // // state.pathBg = ""; - // // state.organizationSelectName = null; - // // state.organizationSelectId = null; - // state.pathIntro = text.record.remark; - // state.editPathId = text.record.id; - }} - >
-
- ) : ( -
- )} - { - // text.record.state === "未发布" ? ( - //
- //
{ - // showCopyModal(); - // }} - // > - // 复制 - //
- //
- // ) : ( - //
- // ) - } -
-
-
{ - router.push({ - path: "/leveladd", - }); - storage.set("routerId", text.record.id); - }} - > - 管理 + getLearnPathInfo(text.record.id); + }} + > + 编辑 +
+
+ ) : ( +
+ )} + {text.record.state === "已发布" ? ( +
+
{ + // state.out1 = true; + // state.pathName = text.record.manager; + // // state.pathBg = ""; + // // state.organizationSelectName = null; + // // state.organizationSelectId = null; + // state.pathIntro = text.record.remark; + // state.editPathId = text.record.id; + }} + >
+
+ ) : ( +
+ )} + { + // text.record.state === "未发布" ? ( + //
+ //
{ + // showCopyModal(); + // }} + // > + // 复制 + //
+ //
+ // ) : ( + //
+ // ) + }
- - -
+
{ - showPower(text.record.id); + router.push({ + path: "/leveladd", + }); + storage.set("routerId", text.record.id); }} - > - 权限名单 -
- - -
{ - showOwner(text.record.id); - }} - > - 归属权 -
-
- -
{ - showQuery(text.record.id); - }} - > - 查看权 -
-
- -
{ - showManage(text.record.id); - }} - > - 管理权 -
-
- -
-
- {text.record.state === "草稿" ? ( - - + 管理 +
+ +
{ - state.copyPathId = text.record.id; - showCopyModal(); - }} + onClick={() => { + showPower(text.record.id); + }} > - 复制 + 权限名单
- - +
{ - state.deletePathId = text.record.id; - // console.log("text.record", text.record); - showDeleteModal(); - }} + onClick={() => { + showOwner(text.record.id); + }} > - 删除 + 归属权 +
+
+ +
{ + showQuery(text.record.id); + }} + > + 查看权 +
+
+ +
{ + showManage(text.record.id); + }} + > + 管理权
- ) : ( -
- )} - {text.record.state === "已发布" ? ( -
- - +
+ {text.record.state === "草稿" ? ( + -
{ - state.copyPathId = text.record.id; - showCopyModal(); - }} + - 复制 -
- +
{ + state.copyPathId = text.record.id; + showCopyModal(); + }} + > + 复制 +
+ - -
{ - showBackModal(text.record.id); - }} + - 撤回 -
-
- -
{ - state.stopPathId = text.record.id; - showStopModal(); - }} +
{ + state.deletePathId = text.record.id; + // console.log("text.record", text.record); + showDeleteModal(); + }} + > + 删除 +
+ + + ) : ( +
+ )} + {text.record.state === "已发布" ? ( +
+ - 结束 -
- - -
- ) : ( -
- )} - {text.record.state === "已结束" ? ( -
- - -
{ - state.copyPathId = text.record.id; - showCopyModal(); - }} + +
{ + state.copyPathId = text.record.id; + showCopyModal(); + }} + > + 复制 +
+
+ + +
{ + showBackModal(text.record.id); + }} + > + 撤回 +
+
+ +
{ + state.stopPathId = text.record.id; + showStopModal(); + }} + > + 结束 +
+
+ +
+ ) : ( +
+ )} + {text.record.state === "已结束" ? ( +
+ - 复制 -
-
- {/** - -
{ + +
{ + state.copyPathId = text.record.id; + showCopyModal(); + }} + > + 复制 +
+
+ {/** + +
{ showStartModal(); }} - > - 启用 -
-
- */} + > + 启用 +
+
+ */} - -
{ - state.deletePathId = text.record.id; - showDeleteModal(); - }} - > - 删除 -
-
-
-
- ) : ( -
- )} + +
{ + state.deletePathId = text.record.id; + showDeleteModal(); + }} + > + 删除 +
+
+
+
+ ) : ( +
+ )} +
-
); }, }, @@ -1448,6 +1456,11 @@ export default { message.destroy(); return message.warning("请选择背景图"); } + if (!state.validate) { + message.destroy(); + message.warning("路径图名称重复"); + return + } state.lpLoading = true; let obj = { name: state.pathName, @@ -1458,49 +1471,49 @@ export default { picUrl: state.pathBg, }; api - .createLearnPath(obj) - .then((res) => { - console.log("创建学习路径成功", res); - if (res.data.code === 200) { - let chapterObj = { - name: "关卡一", - remark: "", - routerId: res.data.data.routerId, - }; - //创建关卡 - api - .editChapter(chapterObj) - .then((chapterRes) => { - console.log("关卡创建成功", chapterRes); - setTimeout(() => { - console.log("创建成功", res); - message.destroy(); - message.success("创建成功"); - state.lpLoading = false; - state.currentPage = 1; - router.push("/leveladd"); - storage.set("routerId", res.data.data.routerId); - // getLearnPath(); - }, commonData.timeout); - }) - .catch((chapterErr) => { - console.log("关卡创建失败", chapterErr); - }); - //添加归属权 [id: '966735050643083264', name: '丁舟航'] - let selectPeopleArr = [ - { id: res.data.data.createId, name: res.data.data.createName }, - ]; - changeOwnership( - "learnPath", - res.data.data.routerId, - selectPeopleArr - ); - } - }) - .catch((err) => { - console.log("创建失败", err); - // state.createLoading = false; - }); + .createLearnPath(obj) + .then((res) => { + console.log("创建学习路径成功", res); + if (res.data.code === 200) { + let chapterObj = { + name: "关卡一", + remark: "", + routerId: res.data.data.routerId, + }; + //创建关卡 + api + .editChapter(chapterObj) + .then((chapterRes) => { + console.log("关卡创建成功", chapterRes); + setTimeout(() => { + console.log("创建成功", res); + message.destroy(); + message.success("创建成功"); + state.lpLoading = false; + state.currentPage = 1; + router.push("/leveladd"); + storage.set("routerId", res.data.data.routerId); + // getLearnPath(); + }, commonData.timeout); + }) + .catch((chapterErr) => { + console.log("关卡创建失败", chapterErr); + }); + //添加归属权 [id: '966735050643083264', name: '丁舟航'] + let selectPeopleArr = [ + {id: res.data.data.createId, name: res.data.data.createName}, + ]; + changeOwnership( + "learnPath", + res.data.data.routerId, + selectPeopleArr + ); + } + }) + .catch((err) => { + console.log("创建失败", err); + // state.createLoading = false; + }); }; //获取学习路径列表 @@ -1514,26 +1527,26 @@ export default { endTime: state.endTime, }; api - .getLearnPath(obj) - .then((res) => { - if (res.data.code === 200) { - console.log("获取路径列表数据", res.data); - let arr = res.data.data.rows; - if ( - arr.length === 0 && - res.data.data.total > 0 && - state.currentPage > 1 - ) { - state.currentPage = state.currentPage - 1; - getLearnPath(); + .getLearnPath(obj) + .then((res) => { + if (res.data.code === 200) { + console.log("获取路径列表数据", res.data); + let arr = res.data.data.rows; + if ( + arr.length === 0 && + res.data.data.total > 0 && + state.currentPage > 1 + ) { + state.currentPage = state.currentPage - 1; + getLearnPath(); + } + getTableDate(arr); + state.tableDataTotal = Number(res.data.data.total); } - getTableDate(arr); - state.tableDataTotal = Number(res.data.data.total); - } - }) - .catch((err) => { - console.log("获取学习路径失败", err); - }); + }) + .catch((err) => { + console.log("获取学习路径失败", err); + }); }; //翻页 const changePagination = (page) => { @@ -1548,22 +1561,22 @@ export default { type: -2, }; api - .handleLearnPath(obj) - .then((res) => { - if (res.data.code === 200) { - console.log("删除成功", res); - message.destroy(); - message.success("删除成功"); - state.deleteModal = false; - getLearnPath(); - } - if (res.data.code === -1) { - message.warning(res.data.msg); - } - }) - .catch((err) => { - console.log("删除失败", err); - }); + .handleLearnPath(obj) + .then((res) => { + if (res.data.code === 200) { + console.log("删除成功", res); + message.destroy(); + message.success("删除成功"); + state.deleteModal = false; + getLearnPath(); + } + if (res.data.code === -1) { + message.warning(res.data.msg); + } + }) + .catch((err) => { + console.log("删除失败", err); + }); }; //获取路径图详细信息 @@ -1571,31 +1584,31 @@ export default { // console.log("编辑学习路径图id", id); //获取学习路径详情 api - .getRouterDetail(id) - .then((res) => { - if (res.data.code === 200) { - console.log("获取学习路径详情成功", res.data.data); - let detail = res.data.data.routerInfo; - state.pathName = detail.name; - state.pathBg = detail.picUrl; - state.pathBgId = ""; - state.organizationSelectName = detail.organizationName; - state.organizationSelectId = detail.organizationId; - state.pathIntro = detail.remark; - state.editPathId = id; - // console.log("state.imgData", state.imgData); - let arr = state.imgData; - for (let i = 0; i < arr.length; i++) { - // console.log("arr[i].dictValue", arr[i].dictValue, state.pathBg); - if (arr[i].dictValue === state.pathBg) { - state.pathBgId = arr[i].dictCode; + .getRouterDetail(id) + .then((res) => { + if (res.data.code === 200) { + console.log("获取学习路径详情成功", res.data.data); + let detail = res.data.data.routerInfo; + state.pathName = detail.name; + state.pathBg = detail.picUrl; + state.pathBgId = ""; + state.organizationSelectName = detail.organizationName; + state.organizationSelectId = detail.organizationId; + state.pathIntro = detail.remark; + state.editPathId = id; + // console.log("state.imgData", state.imgData); + let arr = state.imgData; + for (let i = 0; i < arr.length; i++) { + // console.log("arr[i].dictValue", arr[i].dictValue, state.pathBg); + if (arr[i].dictValue === state.pathBg) { + state.pathBgId = arr[i].dictCode; + } } } - } - }) - .catch((err) => { - console.log("获取详情失败", err); - }); + }) + .catch((err) => { + console.log("获取详情失败", err); + }); state.out1 = true; }; //编辑学习路径图 @@ -1612,6 +1625,10 @@ export default { message.destroy(); return message.warning("请选择背景图"); } + if (!state.validate) { + message.destroy(); + return message.warning("路径图名称重复"); + } // state.pathName = detail.name; // state.pathBg = detail.picUrl; // state.pathBgId = ""; @@ -1630,35 +1647,35 @@ export default { status: 0, }; api - .createLearnPath(obj) - .then((res) => { - if (res.data.code === 200) { - console.log("修改成功", res); - message.destroy(); - message.success("修改成功"); + .createLearnPath(obj) + .then((res) => { + if (res.data.code === 200) { + console.log("修改成功", res); + message.destroy(); + message.success("修改成功"); + // state.createLoading = false; + // state.currentPage = 1; + state.out1 = false; + // router.push("/leveladd"); + getLearnPath(); + // setTimeout(() => { + // console.log("修改成功", res); + // message.success("修改成功"); + // // state.createLoading = false; + // // state.currentPage = 1; + // state.out1 = false; + // // router.push("/leveladd"); + // getLearnPath(); + // }, 1000); + } + if (res.data.code === -1) { + message.warning(res.data.msg); + } + }) + .catch((err) => { + console.log("修改失败", err); // state.createLoading = false; - // state.currentPage = 1; - state.out1 = false; - // router.push("/leveladd"); - getLearnPath(); - // setTimeout(() => { - // console.log("修改成功", res); - // message.success("修改成功"); - // // state.createLoading = false; - // // state.currentPage = 1; - // state.out1 = false; - // // router.push("/leveladd"); - // getLearnPath(); - // }, 1000); - } - if (res.data.code === -1) { - message.warning(res.data.msg); - } - }) - .catch((err) => { - console.log("修改失败", err); - // state.createLoading = false; - }); + }); }; //选择状态 const selectStatusClassify = (e, v) => { @@ -1678,11 +1695,11 @@ export default { const searchLearnPath = () => { state.currentPage = 1; console.log( - "pathnameSearch", - state.pathnameSearch, - state.statusClassify, - state.startTime, - state.endTime + "pathnameSearch", + state.pathnameSearch, + state.statusClassify, + state.startTime, + state.endTime ); getLearnPath(); }; @@ -1753,33 +1770,33 @@ export default { }); //添加权限 watch( - () => state.addAuthList, - (res) => { - console.log("res", res, state.addAuthList); - let obj = { - type: 1, - tag: - state.authClassify === 1 ? 3 : state.authClassify === 2 ? 4 : null, - opt: 3, - deptList: res[1], - groupList: res[2], - refId: state.selectPathId, - pageNo: 20, - pageSize: 1, - studentList: res[0], - keyWord: "", - }; - console.log("obj", obj); - api - .optionAuthPerm(obj) - .then((res) => { - console.log("添加授权成功", res); - message.success("添加授权成功"); - }) - .catch((err) => { - console.log("添加授权失败", err); - }); - } + () => state.addAuthList, + (res) => { + console.log("res", res, state.addAuthList); + let obj = { + type: 1, + tag: + state.authClassify === 1 ? 3 : state.authClassify === 2 ? 4 : null, + opt: 3, + deptList: res[1], + groupList: res[2], + refId: state.selectPathId, + pageNo: 20, + pageSize: 1, + studentList: res[0], + keyWord: "", + }; + console.log("obj", obj); + api + .optionAuthPerm(obj) + .then((res) => { + console.log("添加授权成功", res); + message.success("添加授权成功"); + }) + .catch((err) => { + console.log("添加授权失败", err); + }); + } ); return { @@ -1833,17 +1850,21 @@ export default { display: block; clear: both; } + .CreatePath { .ant-modal { width: 680px !important; height: 528px !important; + .ant-modal-content { width: 680px !important; height: 528px !important; + .ant-modal-body { width: 680px !important; height: 528px !important; padding: 0 !important; + .out { display: block; position: absolute; @@ -1856,28 +1877,32 @@ export default { left: 50%; top: 50%; transform: translate(-50%, -50%); + .top { width: 100%; height: 68px; background: linear-gradient( - rgba(78, 166, 255, 0.2) 0%, - rgba(78, 166, 255, 0) 100% + rgba(78, 166, 255, 0.2) 0%, + rgba(78, 166, 255, 0) 100% ); display: flex; align-items: center; + .topimg { width: 18px; height: 18px; margin-left: 27px; margin-top: -2px; } + .topc { color: #000000; font-size: 16px; margin-left: 8px; } } + .mid { width: 100%; height: 100%; @@ -1891,6 +1916,7 @@ export default { // color: #ff4e4e; margin-left: -5px; } + .name { width: 78%; // background-color: lightcoral; @@ -1905,16 +1931,19 @@ export default { font-size: 14px; margin-left: 7px; } + .in { margin-left: 14px; width: 81%; position: relative; + .ant-input { border-radius: 5px; // height: 120%; width: 100%; height: 40px; } + .showcount { position: absolute; right: 10px; @@ -1923,6 +1952,7 @@ export default { } } } + .bac { width: 78%; // background-color: lightcoral; @@ -1933,12 +1963,14 @@ export default { margin-top: 18px; color: #ff4e4e; } + .inname { color: #6f6f6f; font-size: 14px; margin-left: 7px; margin-top: 15px; } + .in { margin-left: 14px; width: 81%; @@ -1953,11 +1985,13 @@ export default { cursor: pointer; } } + .learnBg { display: flex; flex-wrap: wrap; min-height: 110px; max-height: 300px; + .learnBgItem { border-radius: 8px; width: 136px; @@ -1967,6 +2001,7 @@ export default { margin-bottom: 20px; margin-right: 6px; } + .learnBgMore { display: flex; align-items: center; @@ -1980,6 +2015,7 @@ export default { } } } + .info { width: 78%; // background-color: lightcoral; @@ -1995,10 +2031,12 @@ export default { margin-left: 26px; margin-top: 15px; } + .in { margin-left: 14px; width: 81%; position: relative; + .ant-input { border-radius: 5px; // height: 120%; @@ -2006,6 +2044,7 @@ export default { height: 130px; resize: none; } + .showcount { position: absolute; right: 10px; @@ -2014,12 +2053,14 @@ export default { } } } + .btn { width: 33%; margin-top: 30px; display: flex; justify-content: space-between; margin-bottom: 30px; + .samtn { width: 100px; height: 40px; @@ -2028,10 +2069,12 @@ export default { border-radius: 8px; cursor: pointer; } + .btn1 { background-color: #fff; color: #4ea6ff; } + .btn2 { background-color: #4ea6ff; color: #fff; @@ -2043,20 +2086,25 @@ export default { } } } + .learnBgMoreModal { .ant-modal { width: 680px !important; height: 528px !important; + .ant-modal-content { width: 680px !important; height: 528px !important; + .ant-modal-body { width: 680px !important; height: 528px !important; padding: 0 !important; + .main { display: flex; flex-direction: column; + .top { padding-left: 51px; padding-right: 51px; @@ -2065,6 +2113,7 @@ export default { align-items: center; justify-content: space-between; cursor: pointer; + .topc { font-size: 16px; font-weight: bold; @@ -2072,6 +2121,7 @@ export default { line-height: 36px; } } + .imagesBox { display: flex; // justify-content: space-between; @@ -2081,6 +2131,7 @@ export default { margin-top: 20px; height: 350px; overflow-y: auto; + .learnBgItem { border-radius: 8px; width: 136px; @@ -2091,6 +2142,7 @@ export default { margin-right: 10px; } } + .btn { width: 100%; position: absolute; @@ -2098,6 +2150,7 @@ export default { margin-top: 30px; display: flex; justify-content: center; + .samtn { width: 100px; height: 40px; @@ -2106,10 +2159,12 @@ export default { border-radius: 8px; cursor: pointer; } + .btn1 { background-color: #fff; color: #4ea6ff; } + .btn2 { background-color: #4ea6ff; color: #fff; @@ -2121,16 +2176,19 @@ export default { } } } + .pub { .ant-modal { .ant-modal-body { padding: 0; + .modalHeader { background: linear-gradient( - rgba(78, 166, 255, 0.2) 0%, - rgba(78, 166, 255, 0) 100% + rgba(78, 166, 255, 0.2) 0%, + rgba(78, 166, 255, 0) 100% ); } + .modalMain { .projectname { color: rgba(79, 81, 86, 1); @@ -2139,33 +2197,39 @@ export default { margin-left: 62px; font-weight: 500; } + .projecttime { margin-left: 221px; + .timeti { color: rgba(153, 155, 163, 1); font-size: 14px; line-height: 36px; } + .timeme { color: rgba(79, 81, 86, 1); font-size: 14px; line-height: 36px; } } + .projectbox { margin-top: 26px; display: flex; justify-content: center; + .promessage { width: 280px; height: 110px; background: linear-gradient( - 180deg, - rgba(254, 243, 221, 1), - rgba(255, 250, 240, 1) + 180deg, + rgba(254, 243, 221, 1), + rgba(255, 250, 240, 1) ); border-radius: 10px; margin-right: 7px; + .messageme { color: rgba(255, 182, 78, 1); font-size: 14px; @@ -2173,21 +2237,24 @@ export default { margin-top: 17px; margin-left: 30px; } + .messagege { color: rgba(153, 155, 163, 1); font-size: 14px; margin-left: 30px; } } + .stumessage { width: 280px; height: 110px; background: linear-gradient( - 180deg, - rgba(221, 234, 255, 1), - rgba(240, 248, 254, 1) + 180deg, + rgba(221, 234, 255, 1), + rgba(240, 248, 254, 1) ); border-radius: 10px; + .messageme1 { color: rgba(78, 166, 255, 1); font-size: 14px; @@ -2195,6 +2262,7 @@ export default { margin-top: 17px; margin-left: 30px; } + .messagege1 { color: rgba(153, 155, 163, 1); font-size: 14px; @@ -2202,26 +2270,32 @@ export default { } } } + .send { margin-top: 30px; margin-left: 61px; + .sendtext { margin-left: 11px; color: rgba(109, 117, 132, 1); font-size: 14px; } } + .ckb { margin-top: 20px; margin-left: 62px; + .sendpeo { color: rgba(109, 117, 132, 1); font-size: 14px; } + .ant-checkbox-inner { border-radius: 4px; } } + .pubtn { display: flex; justify-content: center; @@ -2240,6 +2314,7 @@ export default { align-items: center; background: rgba(255, 255, 255, 1); } + .pubtn2 { width: 100px; height: 40px; @@ -2257,17 +2332,21 @@ export default { } } } + .CopyModal { .ant-modal { width: 424px !important; height: 258px !important; + .ant-modal-content { width: 424px !important; height: 258px !important; + .ant-modal-body { width: 424px !important; height: 258px !important; padding: 0 !important; + .delete { z-index: 999; width: 424px; @@ -2284,19 +2363,22 @@ export default { width: calc(100%); height: 68px; background: linear-gradient( - rgba(78, 166, 255, 0.2) 0%, - rgba(78, 166, 255, 0) 100% + rgba(78, 166, 255, 0.2) 0%, + rgba(78, 166, 255, 0) 100% ); } + .del_main { width: 100%; position: relative; + .header { display: flex; align-items: center; padding-top: 20px; padding-left: 26px; font-size: 16px; + .icon { width: 16px; height: 16px; @@ -2304,6 +2386,7 @@ export default { background-image: url(@/assets/images/taskpage/gan.png); background-size: 100% 100%; } + .close_exit { position: absolute; right: 42px; @@ -2314,6 +2397,7 @@ export default { background-size: 100% 100%; } } + .body { width: 100%; margin: 34px auto 56px auto; @@ -2323,6 +2407,7 @@ export default { flex-direction: column; // background-color: red; position: relative; + .back { position: absolute; top: 30px; @@ -2331,10 +2416,12 @@ export default { color: #666666; } } + .del_btnbox { display: flex; margin: 30px auto; justify-content: center; + .del_btn { width: 100px; height: 40px; @@ -2346,17 +2433,20 @@ export default { flex-shrink: 0; cursor: pointer; + .btnText { font-size: 14px; font-weight: 400; line-height: 40px; } } + .btn1 { border: 1px solid rgba(64, 158, 255, 1); color: #4ea6ff; margin-right: 14px; } + .btn2 { background-color: #4ea6ff; color: #ffffff; @@ -2368,6 +2458,7 @@ export default { } } } + .learningPath { width: 100%; // height: 100%; @@ -2382,22 +2473,26 @@ export default { //background: red; justify-content: center; align-items: center; + .nodata_box { width: 412px; height: 212px; position: relative; background: linear-gradient(180deg, #fef3dd, #fffaf0); border-radius: 10px; + .left { position: absolute; top: 18px; left: 0; } + .center { position: absolute; top: 32px; left: 170px; } + .text1 { position: absolute; top: 128px; @@ -2406,6 +2501,7 @@ export default { color: #ffb64e; font-weight: 500; } + .text2 { position: absolute; bottom: 32px; @@ -2414,6 +2510,7 @@ export default { color: #878b92; font-weight: 500; } + .right { position: absolute; bottom: 18px; @@ -2421,6 +2518,7 @@ export default { } } } + .filter { margin-left: 35px; margin-right: 35px; @@ -2428,34 +2526,42 @@ export default { display: flex; justify-content: space-between; flex-wrap: wrap; + .filterItems { display: flex; flex-wrap: wrap; + .pathnameInp { margin-right: 20px; margin-bottom: 20px; } + .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; @@ -2468,9 +2574,11 @@ export default { margin-right: 14px; flex-shrink: 0; cursor: pointer; + .search { background-size: 100%; } + .btnText { font-size: 14px; font-weight: 400; @@ -2479,6 +2587,7 @@ export default { margin-left: 5px; } } + .btnn { padding: 0px 26px 0px 26px; height: 38px; @@ -2491,9 +2600,11 @@ export default { margin-right: 14px; flex-shrink: 0; cursor: pointer; + .search { background-size: 100%; } + .btnText { font-size: 14px; font-weight: 400; @@ -2502,6 +2613,7 @@ export default { margin-left: 5px; } } + .btn1 { .search { width: 15px; @@ -2509,6 +2621,7 @@ export default { background-image: url("../../assets/images/courseManage/search0.png"); } } + .btn2 { .search { width: 16px; @@ -2516,25 +2629,32 @@ export default { 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; @@ -2550,9 +2670,11 @@ export default { margin-right: 14px; flex-shrink: 0; cursor: pointer; + .search { background-size: 100%; } + .btnText { font-size: 14px; font-weight: 400; @@ -2561,28 +2683,35 @@ export default { 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; } } } + .tableBox { // margin: 20px 38px 30px; margin: 10px 35px 0px 35px; @@ -2592,13 +2721,15 @@ export default { } .ant-table-tbody - > tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected) - > td { + > tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected) + > td { background: #f6f9fd; } } + .tableBox { padding-bottom: 20px; + .pa { // position: absolute; // bottom: 20px; @@ -2613,13 +2744,16 @@ export default { // bottom: -40px; } } + .operation { display: flex; justify-content: right; + .nSelect { .fb { display: flex; white-space: nowrap; + .jc { color: #4ea6ff; font-size: 14px; @@ -2629,12 +2763,14 @@ export default { } } } + .tableSelect { // margin-right: 20px; display: flex; align-items: center; justify-content: right; white-space: nowrap; + .g1 { color: #4ea6ff; font-size: 14px; @@ -2650,6 +2786,7 @@ export default { .opa { display: flex; justify-content: right; + .opacation { font-size: 14px; font-weight: 400; @@ -2659,12 +2796,15 @@ export default { .activecls { display: inline-block; } + .errorCls { display: none; } + .more { position: relative; height: 100%; + .moreArrow { width: 13px; height: 7px; @@ -2674,6 +2814,7 @@ export default { margin: 2px; margin-left: 7px; } + .moreItems { width: 80px; height: 70px; @@ -2688,9 +2829,11 @@ export default { z-index: 999; } } + .more:hover .moreArrow { background-image: url("../../assets/images/navtop/up.png"); } + .more:hover .moreItems { display: block; } diff --git a/src/views/projectcenter/ProjectAdd.vue b/src/views/projectcenter/ProjectAdd.vue index aa2a0be6..d2f8455f 100644 --- a/src/views/projectcenter/ProjectAdd.vue +++ b/src/views/projectcenter/ProjectAdd.vue @@ -3,13 +3,13 @@
{{ projectInfo.parentId ? "编辑" : "创建" }}项目{{ projectInfo.parentId ? "编辑" : "创建" }}项目
返回
@@ -19,8 +19,8 @@
项目归属
@@ -33,33 +33,27 @@
项目名称
- +
封面图
avatar
@@ -87,63 +81,63 @@
项目时间
项目经理
资源归属
项目级别
@@ -154,8 +148,8 @@
培训分类
@@ -166,15 +160,15 @@
是否BOEU实施
@@ -187,16 +181,16 @@
同步课程学习记录(如学员在课程库中拥有课程的学习记录,自动免修该课程)同步课程学习记录(如学员在课程库中拥有课程的学习记录,自动免修该课程)
@@ -206,12 +200,12 @@
@@ -221,18 +215,18 @@
模版
{ return triggerNode.parentNode || document.body; } " - placeholder="请选择模版" - :size="size" - style="width: 100%" - :options="classifyList5" - @change="classificationChange5" - @popupScroll="templateScroll" - :fieldNames="{ + placeholder="请选择模版" + :size="size" + style="width: 100%" + :options="classifyList5" + @change="classificationChange5" + @popupScroll="templateScroll" + :fieldNames="{ label: 'name', value: 'projectTemplateId', }" @@ -246,29 +240,31 @@
取消 确定确定 +