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

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

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