瀏覽代碼

🐞 fix: 添加总个数和有多少子Asin显示错误

WanGxC 1 年之前
父節點
當前提交
bb98c8ab85

+ 1 - 0
src/views/productCenter/productList/components/ProductLineDialog.vue

@@ -101,6 +101,7 @@ async function updateProductLine() {
 
 function closeDialog() {
   isUpdate.value = false
+  ruleForm.productLineName = ''
   emitter.emit('ProductLineDialog-closeDialog', { clear: true })
 }
 

+ 18 - 4
src/views/productCenter/productList/components/ProductList.vue

@@ -25,7 +25,10 @@
                     <el-checkbox v-model="item.checked" @click.stop="" @change="checkAll(item, item.checked)">
                       {{ item.parentAsin }}
                     </el-checkbox>
-                    <el-tag style="margin-left: 8px" effect="plain" size="small" round>{{ item.num }}ASIN</el-tag>
+                    <el-tag style="margin-left: 8px" effect="plain" size="small" round>{{ item.num }}
+                      <span v-if="item.num == '1'">ASIN</span>
+                      <span v-else>ASINs</span>
+                    </el-tag>
                   </template>
                   <ul class="list-container">
                     <li v-for="child in item.childAsin" :key="child.asin">
@@ -69,7 +72,7 @@
     <div class="right-part">
       <div>
         <div class="right-top-part">
-          <span>已添加: {{ selectedData.length }}</span>
+          <span>已添加: {{ addedItem }}</span>
           <span>
             <vxe-button
               v-if="hasSelectedItems"
@@ -86,7 +89,7 @@
             <el-collapse-item v-for="(item, index) in selectedData" :key="item.parentAsin" :name="String(index)">
               <template #title>
                 <el-checkbox v-model="item.checked" @click.stop="" @change="checkAll(item, item.checked)">{{ item.parentAsin }}</el-checkbox>
-                <el-tag style="margin-left: 8px" effect="plain" size="small" round>{{ item.num }}ASIN</el-tag>
+                <el-tag style="margin-left: 8px" effect="plain" size="small" round>{{ item.childAsin.length }}ASIN</el-tag>
               </template>
               <ul class="list-container">
                 <li v-for="child in item.childAsin" :key="child.asin">
@@ -298,6 +301,17 @@ const hasSelectedItems = computed(() => {
   })
 })
 
+// 计算有多少已添加的项
+const addedItem = computed(() => {
+  let totalChildItems = 0
+
+  // 遍历每个父项的childAsin数组,并累加长度
+  selectedData.value.forEach((parentItem) => {
+    totalChildItems += parentItem.childAsin.length
+  })
+  return totalChildItems
+})
+
 emitter.on('ProductLineDialog-sendDetailData', (value: any) => {
   selectedData.value = value.data
 })
@@ -305,7 +319,7 @@ emitter.on('ProductLineDialog-sendDetailData', (value: any) => {
 onMounted(() => {
   fetchAllProduct()
   emitter.on('ProductLineDialog-closeDialog', (value: any) => {
-    if(value.clear === true) {
+    if (value.clear === true) {
       removeAllItems()
     }
   })