Explorar o código

🐛 feat<自动化规则>:问题修复

xinyan hai 6 meses
pai
achega
c9d32962ea

+ 1 - 1
src/views/components/auto/auto-templates/timer-bid.vue

@@ -76,7 +76,7 @@ if (props.mode === 'add') {
   for (let i = 0; i < 7; i++) {
     const tmp = [];
     for (let j = 0; j < 24; j++) {
-      tmp.push(0);
+      tmp.push(1);
     }
     formData.value.rule.conditions.push(tmp);
   }

+ 37 - 2
src/views/efTools/automation/components/adActivityDialog.vue

@@ -44,12 +44,10 @@ const selected = ref([]); //存储后端中已存在的广告组
 
 const targetRuleDialogVisible = ref(false);
 const selectedTargetedRow = ref(null);
-const targetLength = ref(0);
 let selectedGroups = [];
 
 // 筛选条件
 const searchAdCampaign = ref('');
-// const selectedCampaignType = ref('');
 const selectedCampaignType = ref(campaignType.value || ''); // 默认选中当前的 campaignType
 const selectedAdGroup = ref('');
 const selectedStatus = ref('');
@@ -363,6 +361,14 @@ function handleConfirm({ campaignInfo, targetType }) {
 
 // 删除选中的广告
 const removeSelectedAd = async (row) => {
+  if (activeModel.value === 'specified'){
+    removeSpecificAd(row)
+  }else {
+    await removedAd(row)
+  }
+};
+
+async function removeSpecificAd(row) {
   const $grid = xGridTwo.value;
   if ($grid) {
     if (row.adGroupId) {
@@ -393,6 +399,7 @@ const removeSelectedAd = async (row) => {
     } else {
       // 删除父节点(广告活动)
       selectedAds.value = selectedAds.value.filter(ad => ad.campaignId !== row.campaignId);
+      console.log("=>(adActivityDialog.vue:394) selectedAds.value", selectedAds.value);
       // 更新 selected.value
       selected.value = selected.value.filter(ad => ad.campaignId !== row.campaignId);
     }
@@ -416,6 +423,34 @@ const removeSelectedAd = async (row) => {
       }
     }
   }
+}
+
+const removedAd = async (row) => {
+  const $grid = xGridTwo.value;
+  if ($grid) {
+    if (row.adGroupId) {
+      // 删除子节点(广告组)
+      selectedAds.value = selectedAds.value.map(ad => {
+        if (ad.campaignGroupInfo) {
+          return {
+            ...ad,
+            campaignGroupInfo: ad.campaignGroupInfo.filter(group => group.adGroupId !== row.adGroupId)
+          };
+        }
+        return ad;
+      }).filter(ad => ad.campaignGroupInfo && ad.campaignGroupInfo.length > 0);
+    } else {
+      // 删除父节点(广告活动)
+      selectedAds.value = selectedAds.value.filter(ad => ad.campaignId !== row.campaignId);
+    }
+
+    await $grid.remove(row);
+  }
+
+  if (xGridOne.value) {
+    await xGridOne.value.toggleCheckboxRow(row);
+    row.isSelected = false;
+  }
 };
 
 function removeAllSelectedAds() {