修复商品管理页累加问题和修复批量管理手风琴无法收缩问题

This commit is contained in:
qijq 2025-07-16 00:46:10 +08:00
parent 3e41a5450f
commit 2609b97724
2 changed files with 35 additions and 33 deletions

View File

@ -87,7 +87,7 @@
commodityList.length > 0 &&
!loadingCommodityData &&
tabbar.length > 0 &&
tabbar[current].children.length > 0
tabbar[collApseIndex].children.length > 0
"
class="checkbox-all"
@click="handleSelectAll(null, true)"
@ -95,7 +95,8 @@
<u-checkbox-group
class="commodity-list"
v-model="
tabbar[current].children[currTabChildrenIndex].checkboxAllList
tabbar[collApseIndex].children[currTabChildrenIndex]
.checkboxAllList
"
placement="column"
@change="handleSelectAll($event, true)"
@ -107,7 +108,7 @@
</u-checkbox-group>
<view class="checkbox-all-name">
已勾选{{
tabbar[current].children[currTabChildrenIndex].checkboxList
tabbar[collApseIndex].children[currTabChildrenIndex].checkboxList
.length
}}
</view>
@ -118,14 +119,14 @@
commodityList.length > 0 &&
!loadingCommodityData &&
tabbar.length > 0 &&
tabbar[current].children.length <= 0
tabbar[collApseIndex].children.length <= 0
"
class="checkbox-all"
@click="handleSelectAll(null, false)"
>
<u-checkbox-group
class="commodity-list"
v-model="tabbar[current].checkboxAllList"
v-model="tabbar[collApseIndex].checkboxAllList"
placement="column"
@change="handleSelectAll($event, false)"
>
@ -135,7 +136,7 @@
></u-checkbox>
</u-checkbox-group>
<view class="checkbox-all-name">
已勾选{{ tabbar[current].checkboxList.length }}
已勾选{{ tabbar[collApseIndex].checkboxList.length }}
</view>
</view>
<favorite-loading
@ -164,10 +165,10 @@
>
<!-- 有子集 - 单个选择 -->
<u-checkbox-group
v-if="tabbar[current].children.length > 0"
v-if="tabbar[collApseIndex].children.length > 0"
class="commodity-list"
v-model="
tabbar[current].children[currTabChildrenIndex].checkboxList
tabbar[collApseIndex].children[currTabChildrenIndex].checkboxList
"
placement="column"
@change="handleSingleCheckboxChange($event, true)"
@ -214,9 +215,12 @@
</u-checkbox-group>
<!-- 无子集 - 单个选择 -->
<u-checkbox-group
v-if="tabbar[current].children.length <= 0"
v-if="
tabbar[collApseIndex] &&
tabbar[collApseIndex].children.length <= 0
"
class="commodity-list"
v-model="tabbar[current].checkboxList"
v-model="tabbar[collApseIndex].checkboxList"
placement="column"
@change="handleSingleCheckboxChange($event, false)"
>
@ -812,10 +816,10 @@ export default {
if (!selectedIdsInCurrentPage.length) return;
//
const hasChildren = this.tabbar[this.current]?.children?.length > 0;
const hasChildren = this.tabbar[this.collApseIndex]?.children?.length > 0;
const targetData = hasChildren
? this.tabbar[this.current].children[this.currTabChildrenIndex]
: this.tabbar[this.current];
? this.tabbar[this.collApseIndex].children[this.currTabChildrenIndex]
: this.tabbar[this.collApseIndex];
if (!targetData) return;
@ -918,12 +922,12 @@ export default {
}
},
handerScrolltolower() {
if (this.tabbar[this.current].children.length > 0) {
this.tabbar[this.current].children[
if (this.tabbar[this.collApseIndex].children.length > 0) {
this.tabbar[this.collApseIndex].children[
this.currTabChildrenIndex
].checkboxAllList = [];
} else {
this.tabbar[this.current].checkboxAllList = [];
this.tabbar[this.collApseIndex].checkboxAllList = [];
}
if (this.isNoDownCommodityData) return;
@ -978,6 +982,7 @@ export default {
this.tabbar[index].children[this.currTabChildrenIndex].id;
} else {
this.currentTab = index;
this.currCategoryId = this.tabbar[index].id;
if (this.current != -1) {
@ -991,6 +996,7 @@ export default {
if (this.collApseIndex == index) {
return;
}
if (this.currCategoryId != oldCategoryId && this.current != -1) {
this.getProductList();
this.collApseIndex = index;
@ -1013,8 +1019,8 @@ export default {
handleSelectAll(e, isHaveChildren) {
const MAX_LIMIT = 100;
const currentTabData = isHaveChildren
? this.tabbar[this.current].children[this.currTabChildrenIndex]
: this.tabbar[this.current];
? this.tabbar[this.collApseIndex].children[this.currTabChildrenIndex]
: this.tabbar[this.collApseIndex];
// ID
const allProductIds = this.commodityList
@ -1078,8 +1084,8 @@ export default {
handleSingleCheckboxChange(list, isHaveChildren) {
const MAX_LIMIT = 100;
const currentTabData = isHaveChildren
? this.tabbar[this.current].children[this.currTabChildrenIndex]
: this.tabbar[this.current];
? this.tabbar[this.collApseIndex].children[this.currTabChildrenIndex]
: this.tabbar[this.collApseIndex];
// ID
let newIdList = list

View File

@ -305,13 +305,7 @@ export default {
},
data() {
return {
tabbar: [
{
id: null,
label: "全部",
children: [],
},
],
tabbar: [],
height: 0, //scroll-view
top: 0,
currentTab: 0, //
@ -436,11 +430,14 @@ export default {
async getProductCategoryTree() {
let res = await GetProductCategoryTree();
if (res && res.status == 200) {
// var list = res.data.map((item) => ({
// ...item,
// current: -1,
// }));
this.tabbar = [...this.tabbar, ...res.data];
this.tabbar = [
{
id: null,
label: "全部",
children: [],
},
...res.data,
];
}
},
async getProductList() {
@ -576,7 +573,6 @@ export default {
let index = e.index;
// -1 ==
const oldCategoryId = this.currCategoryId;
this.current = this.current == index ? -1 : e.index;
// current