提交 da6b7cfb 编写于 作者: guangjun.yang's avatar guangjun.yang

自定义项目--选择课程个数限制(-1表示不限制)

上级 af80fcec
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<ul class="course-header"> <ul class="course-header">
<li class="title"> <li class="title">
<span class="main">全部课程</span> <span class="main">全部课程</span>
<span class="sub">单个项目最多只能选择30个课程</span> <span v-show="courseLimitCount != -1" class="sub">单个项目最多只能选择{{courseLimitCount}}个课程</span>
</li> </li>
<li class="order"> <li class="order">
<div class="num" @click="toggleOrder"> <div class="num" @click="toggleOrder">
...@@ -86,14 +86,14 @@ export default { ...@@ -86,14 +86,14 @@ export default {
dialogObj: { dialogObj: {
title: "课程数量已达上限", title: "课程数量已达上限",
visible: false, visible: false,
message: "单个项目最多只能选择30个课程", message: '单个项目最多只能选择3个课程',
tip: "", tip: "",
hideMsg: "我知道了" hideMsg: "我知道了"
} }
}; };
}, },
computed: { computed: {
...mapGetters(["cartList", "courseList", "searchParam"]) ...mapGetters(["cartList", "courseList", "searchParam", "courseLimitCount"])
}, },
components: { components: {
ShoppingCart, ShoppingCart,
...@@ -127,8 +127,9 @@ export default { ...@@ -127,8 +127,9 @@ export default {
toggleChecked(item) { toggleChecked(item) {
item.checked = !item.checked; item.checked = !item.checked;
if (item.checked) { if (item.checked) {
if (this.cartList.length >= 30) { if (this.courseLimitCount != -1 && this.cartList.length >= this.courseLimitCount) {
item.checked = !item.checked; item.checked = !item.checked;
this.dialogObj.message = '单个项目最多只能选择' + this.courseLimitCount + '个课程';
this.dialogObj.visible = true; this.dialogObj.visible = true;
return; return;
} }
......
...@@ -51,7 +51,7 @@ export default { ...@@ -51,7 +51,7 @@ export default {
return {}; return {};
}, },
props: { props: {
isPreview: String isPreview: String | Number
}, },
computed: { computed: {
cartList: { cartList: {
......
...@@ -13,6 +13,7 @@ const customStore = { ...@@ -13,6 +13,7 @@ const customStore = {
courseList: [], courseList: [],
allLabelList: [], allLabelList: [],
subLabelList: [], subLabelList: [],
courseLimitCount: -1 // -1: 不限制; 其它值: 限制的个数
}, },
mutations: { mutations: {
SET_SEARCH_PARAM: (state, searchParam) => { SET_SEARCH_PARAM: (state, searchParam) => {
...@@ -30,6 +31,9 @@ const customStore = { ...@@ -30,6 +31,9 @@ const customStore = {
SET_SUB_LABEL_LIST: (state, subLabelList) => { SET_SUB_LABEL_LIST: (state, subLabelList) => {
state.subLabelList = subLabelList; state.subLabelList = subLabelList;
}, },
SET_COURSE_LIMIT_COUNT: (state, courseLimitCount) => {
state.courseLimitCount = courseLimitCount;
},
}, },
actions: { actions: {
setSearchParam({ commit }, searchParam) { setSearchParam({ commit }, searchParam) {
...@@ -47,6 +51,9 @@ const customStore = { ...@@ -47,6 +51,9 @@ const customStore = {
setSubLabelList({ commit }, subLabelList) { setSubLabelList({ commit }, subLabelList) {
commit('SET_SUB_LABEL_LIST', subLabelList); commit('SET_SUB_LABEL_LIST', subLabelList);
}, },
setCourseLimitCount({ commit }, courseLimitCount) {
commit('SET_COURSE_LIMIT_COUNT', courseLimitCount);
},
} }
} }
......
...@@ -5,6 +5,7 @@ const getters = { ...@@ -5,6 +5,7 @@ const getters = {
courseList: state => state.customStore.courseList, courseList: state => state.customStore.courseList,
allLabelList: state => state.customStore.allLabelList, allLabelList: state => state.customStore.allLabelList,
subLabelList: state => state.customStore.subLabelList, subLabelList: state => state.customStore.subLabelList,
courseLimitCount: state => state.customStore.courseLimitCount,
} }
export default getters export default getters
...@@ -199,7 +199,8 @@ export default { ...@@ -199,7 +199,8 @@ export default {
"setCartList", "setCartList",
"setCourseList", "setCourseList",
"setAllLabelList", "setAllLabelList",
"setSubLabelList" "setSubLabelList",
"setCourseLimitCount",
]), ]),
initPageParams() { initPageParams() {
...@@ -217,10 +218,20 @@ export default { ...@@ -217,10 +218,20 @@ export default {
this.setAllLabelList([]); this.setAllLabelList([]);
this.setSubLabelList([]); this.setSubLabelList([]);
this.courseLimitCount();
this.getLabelList(); this.getLabelList();
this.getCourseList(searchParam); this.getCourseList(searchParam);
}, },
// 自定义项目--选择课程个数限制(-1表示不限制)
courseLimitCount() {
vm.GET("portal/portalCustom/courseLimitCount", {}).then(res => {
if (res.code == "000000") {
this.setCourseLimitCount(res.data);
}
});
},
getLabelList() { getLabelList() {
vm.GET("contents/diseases/labelList", {}).then(res => { vm.GET("contents/diseases/labelList", {}).then(res => {
if (res.code == "000000") { if (res.code == "000000") {
...@@ -260,9 +271,16 @@ export default { ...@@ -260,9 +271,16 @@ export default {
getCourseList(searchParam) { getCourseList(searchParam) {
vm.GET("contents/diseases/courseListForPortal", searchParam).then(res => { vm.GET("contents/diseases/courseListForPortal", searchParam).then(res => {
if (res.code == "000000") { if (res.code == "000000") {
let courseList = res.data; let courseList = res.data, cartIndex = -1;
courseList.list.forEach(item => { courseList.list.forEach(item => {
cartIndex = vm.cartList.findIndex( current => {
return current.courseId == item.courseId;
})
if(cartIndex >= 0) {
item.checked = true;
} else {
item.checked = false; item.checked = false;
}
}); });
this.setCourseList(courseList); this.setCourseList(courseList);
} }
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册