|
@@ -11,7 +11,7 @@
|
11
|
11
|
预览区
|
12
|
12
|
<div class="lMarauto flex f14" style="font-weight: initial">
|
13
|
13
|
<!-- <span>推广计划总数 : {{ pageInfo.num_total?.planNum }}</span> -->
|
14
|
|
- <span class="lMar8">广告总数 : {{ pageInfo.num_total?.adNum }}</span>
|
|
14
|
+ <!-- <span class="lMar8">广告总数 : {{ pageInfo.num_total?.adNum }}</span> -->
|
15
|
15
|
<el-button type="primary" class="lMar20" @click="auditSubmitBtn"
|
16
|
16
|
v-loading.fullscreen.lock="submitLoading">全部提交审核</el-button>
|
17
|
17
|
</div>
|
|
@@ -621,7 +621,6 @@ const auditSubmitEvent = (dialogInfo) => {
|
621
|
621
|
// console.log('ad_common => ', JSON.parse(JSON.stringify(ad_common)))
|
622
|
622
|
// console.log('ad_outer => ', JSON.parse(JSON.stringify(ad_outer)))
|
623
|
623
|
console.log('params => ', JSON.parse(JSON.stringify(params)))
|
624
|
|
-
|
625
|
624
|
submitLoading.value = true
|
626
|
625
|
adsCreate(params).then((res: any) => {
|
627
|
626
|
submitLoading.value = false
|
|
@@ -788,19 +787,19 @@ const objectSpanMethod = ({
|
788
|
787
|
rowIndex,
|
789
|
788
|
columnIndex,
|
790
|
789
|
}) => {
|
791
|
|
- // if (columnIndex === 0) {
|
792
|
|
- // if (row.main_info?.ad_list && row.main_info?.ad_list.length > 0) {
|
793
|
|
- // return {
|
794
|
|
- // rowspan: row.main_info.ad_list.length,
|
795
|
|
- // colspan: 1,
|
796
|
|
- // }
|
797
|
|
- // } else {
|
798
|
|
- // return {
|
799
|
|
- // rowspan: 0,
|
800
|
|
- // colspan: 0,
|
801
|
|
- // }
|
802
|
|
- // }
|
803
|
|
- // }
|
|
790
|
+ if (columnIndex === 0 || columnIndex === 1 || columnIndex === 2 || columnIndex === 3) {
|
|
791
|
+ if (row.main_info?.ad_list && row.main_info?.ad_list.length > 0) {
|
|
792
|
+ return {
|
|
793
|
+ rowspan: row.main_info.ad_list.length,
|
|
794
|
+ colspan: 1,
|
|
795
|
+ }
|
|
796
|
+ } else {
|
|
797
|
+ return {
|
|
798
|
+ rowspan: 0,
|
|
799
|
+ colspan: 0,
|
|
800
|
+ }
|
|
801
|
+ }
|
|
802
|
+ }
|
804
|
803
|
}
|
805
|
804
|
const selectionChangeEvent = (val: any) => {
|
806
|
805
|
pageInfo.chooseList = val
|
|
@@ -819,6 +818,9 @@ const tableHeaderStyle = ({ row, column, rowIndex, columnIndex }: never) => {
|
819
|
818
|
/**点击预览广告 初始化 */
|
820
|
819
|
const initEvent = (infoObj_c) => {
|
821
|
820
|
let infoObj = _.cloneDeep(infoObj_c)
|
|
821
|
+
|
|
822
|
+ console.log('<批量预览广告> initEvent() infoObj => ', JSON.parse(JSON.stringify(infoObj)))
|
|
823
|
+
|
822
|
824
|
nextTick(async () => {
|
823
|
825
|
//复制要用的数据
|
824
|
826
|
pageInfo.copyInfo = _.cloneDeep(infoObj.copyInfo)
|
|
@@ -835,6 +837,14 @@ const initEvent = (infoObj_c) => {
|
835
|
837
|
pageInfo.basicInfoData = _.cloneDeep(infoObj.basicInfoData)
|
836
|
838
|
//规则配置
|
837
|
839
|
pageInfo.RuleConfigObj = _.cloneDeep(infoObj.RuleConfigObj)
|
|
840
|
+
|
|
841
|
+ //创意素材 多账号分配规则 & 创意组分配规则
|
|
842
|
+ handleSetMaterialRule({
|
|
843
|
+ accountShareRule: infoObj.copyInfo.cMaterial.accountShareRule || '1',
|
|
844
|
+ creativeRule: infoObj.copyInfo.cMaterial.creativeRule || '1',
|
|
845
|
+ materialItemIds: infoObj.copyInfo.cMaterial.list.map((l) => l.list[0].itemId),
|
|
846
|
+ })
|
|
847
|
+
|
838
|
848
|
accItemEvent(pageInfo.accList[0].id)
|
839
|
849
|
})
|
840
|
850
|
}
|
|
@@ -852,6 +862,67 @@ defineExpose({
|
852
|
862
|
resetEvent,
|
853
|
863
|
initEvent
|
854
|
864
|
});
|
|
865
|
+
|
|
866
|
+
|
|
867
|
+const handleSetMaterialRule = ({accountShareRule, creativeRule, materialItemIds = []}) => {
|
|
868
|
+ let _materialItemIds = []
|
|
869
|
+ for (let i = 0; i < 99; i++) {
|
|
870
|
+ _materialItemIds = [..._materialItemIds, ...materialItemIds]
|
|
871
|
+ }
|
|
872
|
+ // console.log('handleSetMaterialRule => accountShareRule ', accountShareRule)
|
|
873
|
+ console.log('handleSetMaterialRule => creativeRule ', creativeRule)
|
|
874
|
+ // console.log('handleSetMaterialRule => materialItemIds ', materialItemIds)
|
|
875
|
+ // console.log('handleSetMaterialRule => _materialItemIds ', _materialItemIds)
|
|
876
|
+ // console.log('handleSetMaterialRule => campaign_list ', JSON.parse(JSON.stringify(pageInfo.campaign_list)))
|
|
877
|
+
|
|
878
|
+ if (accountShareRule == 2) { // 所选素材按账号平均分配 删除重复素材
|
|
879
|
+ const _campaign_list = _.cloneDeep(pageInfo.campaign_list)
|
|
880
|
+ let total:any = materialItemIds.length
|
|
881
|
+ let count:any = _campaign_list.length;
|
|
882
|
+ let base:any = Math.floor(total / count);
|
|
883
|
+ let rest:any = total % count;
|
|
884
|
+ let arr:any = []; // 记录每个账号分多少个素材
|
|
885
|
+ for(let i=0; i<count; i++) {
|
|
886
|
+ let idx = base + (i<rest?1:0)
|
|
887
|
+ arr.push(idx)
|
|
888
|
+ }
|
|
889
|
+ console.log('arr => ', arr)
|
|
890
|
+
|
|
891
|
+ _campaign_list.forEach((account) => {
|
|
892
|
+ account.materialItemIds = []
|
|
893
|
+ })
|
|
894
|
+
|
|
895
|
+ let startIdx = 0
|
|
896
|
+ arr.forEach((length, idx) => {
|
|
897
|
+ let _length = length || 1
|
|
898
|
+ _campaign_list[idx].materialItemIds = _materialItemIds.slice(startIdx, startIdx+_length)
|
|
899
|
+ startIdx = startIdx + _length
|
|
900
|
+ })
|
|
901
|
+
|
|
902
|
+ _campaign_list.forEach((campaign) => {
|
|
903
|
+ campaign.chooseList.forEach((campaignItem) => {
|
|
904
|
+ campaignItem.ad_list.forEach((ad) => {
|
|
905
|
+ const itemId = ad.adcreatives_info.adcreative_elements.self_info[0].itemId
|
|
906
|
+ if (!campaign.materialItemIds.includes(itemId)) {
|
|
907
|
+ ad.delFlag = true
|
|
908
|
+ }
|
|
909
|
+ })
|
|
910
|
+ campaignItem.ad_list = campaignItem.ad_list.filter(ad => !ad.delFlag)
|
|
911
|
+ })
|
|
912
|
+ })
|
|
913
|
+
|
|
914
|
+ pageInfo.campaign_list = _.cloneDeep(_campaign_list)
|
|
915
|
+ }
|
|
916
|
+
|
|
917
|
+ // if (creativeRule == 2) { // 所选素材按广告(定向包)平均分配 删除重复素材
|
|
918
|
+ // console.log('pageInfo.campaign_list => ', JSON.parse(JSON.stringify(pageInfo.campaign_list)))
|
|
919
|
+ // }
|
|
920
|
+}
|
|
921
|
+
|
|
922
|
+
|
|
923
|
+
|
|
924
|
+
|
|
925
|
+
|
855
|
926
|
</script>
|
856
|
927
|
<style lang="scss" scoped>
|
857
|
928
|
@import "src/assets/style/batchGdt.scss";
|