diff --git a/pages/news3/components/category.vue b/pages/news3/components/category.vue index 89e0f43..492e421 100644 --- a/pages/news3/components/category.vue +++ b/pages/news3/components/category.vue @@ -28,9 +28,9 @@ - + 确定 @@ -56,12 +56,9 @@ }, methods: { reset() { - this.activeIndex = [] + this.activeIndex.splice(0) }, getShop(item, category_id) { - if (uni.getStorageSync('beyondList').indexOf(category_id) > -1) { - return this.$toast('此分类已被其他分类模板设置规则') - } let arrIndex = this.activeIndex.indexOf(category_id) if (arrIndex > -1) { this.activeIndex.splice(arrIndex, 1) @@ -69,39 +66,11 @@ this.activeIndex.push(category_id) } }, - findElementsById(arr, ids) { - let result = [] - arr.forEach(item => { - if (ids.indexOf(item.category_id) > -1) { - result.push(item.category_id); - item.children.forEach(item1 => { - if (ids.indexOf(item1.category_id) > -1) { - result.push(item1.category_id); - } - }); - } - }); - return result; - }, submit() { - let idList = [] - idList = this.findElementsById(this.tabList, this.activeIndex); - let storage = uni.getStorageSync('beyondList') || [] - console.log(idList, storage) - if (storage.length > 0 && idList.length > 0) { - idList = this.getArrDifference(idList, storage) - } - console.log(idList) this.$emit('getChoseCategory', { - category_id: idList || [], + category_id: this.activeIndex || [], }) }, - getArrDifference(arr1, arr2) { - return arr1.concat(arr2).filter(function(v, i, arr) { - return arr.indexOf(v) === arr.lastIndexOf(v); - }); - - } } } @@ -132,7 +101,7 @@ } .submit { - width: 416upx; + width: 216upx; height: 70upx; background: linear-gradient(180deg, #FD5D06 0%, #F3211A 100%); border-radius: 50px 50px 50px 50px; diff --git a/pages/news3/vipPrice.vue b/pages/news3/vipPrice.vue index 6819793..9e26c1c 100644 --- a/pages/news3/vipPrice.vue +++ b/pages/news3/vipPrice.vue @@ -109,11 +109,16 @@ if (status == 200) { if (data.list.length > 0) { data.list.forEach((item_1, index_1) => { - if(typeof item_1.category == 'number'){ - item_1.category=item_1.category.toString() + if (typeof item_1.category == 'string') { + item_1.category = item_1.category.split(",").map(item => Number(item)) + item_1.category_name = this.findElementsById(this.categoryList, item_1 + .category).join(','); + } + if (typeof item_1.category == 'number') { + item_1.category = [item_1.category] + item_1.category_name = this.findElementsById(this.categoryList, item_1 + .category).join(','); } - let name = this.findElementsById(this.categoryList,item_1.category.split(",").map(item => Number(item))) - item_1.category_name = name.join(',') + (name.length > 0 ? '等' : ''); item_1.price_list.forEach((item_2, index_2) => { item_2.startProfit = Number((Number(item_2.min) * (Number(item_2 .add_price_rate) / 100)).toFixed(2)); @@ -132,7 +137,9 @@ let that = this let step = 0; let list = this.list + let ids = [] list.forEach((item, index) => { + ids = ids.concat(item.category) if (!item.category_name) { step++ let name = "请选择第" + (index + 1) + '行分类' @@ -190,7 +197,14 @@ }); return } + if (Array.isArray(item.category)) { + item.category = item.category.join(',') + } }); + if (this.hasDuplicate(ids)) { + this.$toast('分类模板有重复设置的分类') + return + } if (step == 0) { list.forEach((item, index) => { delete item.category_name @@ -215,6 +229,9 @@ } } }, + hasDuplicate(arr) { + return new Set(arr).size !== arr.length; + }, // 獲取分类 async getCategory() { let { @@ -310,25 +327,12 @@ }, // 选择分类 onCategory(categoryId, index) { - let newId = [] - this.categoryIndex = index; - this.activeIndex = []; - this.list.forEach((item, index) => { - if (item.category) { - newId = newId.concat(item.category.split(",").map(item => Number(item))) - } - }) - let list = Array.from(new Set(newId)); //所有以选中的 - // 找到除了当前分类的id集合 - let currentList = []; - if (this.list[index].category) { - currentList = this.list[index].category.split(",").map(item => Number(item)) + if (typeof categoryId == 'string') { + categoryId = categoryId.split(",").map(item => Number(item)) } - if (list.length > 0) { - uni.removeStorageSync('beyondList'); - uni.setStorageSync('beyondList', this.mergeArrays(list, currentList)) - } - this.activeIndex = list + console.log(categoryId) + this.categoryIndex = index; + this.activeIndex = categoryId this.$refs.category.afterSale = true; }, findElementsById(arr, ids) { @@ -350,7 +354,7 @@ let nameList = []; nameList = this.findElementsById(this.categoryList, res.category_id); this.list[this.categoryIndex].category_name = nameList.join(',') + (nameList.length > 0 ? '等' : ''); - this.list[this.categoryIndex].category = res.category_id.join(',') + this.list[this.categoryIndex].category = res.category_id; this.$refs.category.afterSale = false; }, // 新增分类