1 |
- import{d as Q,r as _,k as X,Z as Y,w,j as ee,ai as y,o as i,c as u,U as p,O as n,a as s,S as f,K as ae,M as G,T as m,R as S,a2 as M,u as F,F as z,aF as te,aG as oe,n as le}from"./vue.adf17aba.js";import{x as ne}from"./elementPlus.4833989a.js";import{b as ce}from"./api.cf875df0.js";import{_ as ie}from"./select-target.vue_vue_type_script_setup_true_lang.9bddbef8.js";import{_ as se}from"./_plugin-vue_export-helper.c27b6911.js";import"./index.b098562c.js";import"./echarts.72dc8373.js";import"./api.5c4f5300.js";import"./enum.111a4a5d.js";const de=I=>(te("data-v-39a6fc9e"),I=I(),oe(),I),re={class:"container"},ue={class:"container-left"},pe={class:"flex-container"},fe={key:1},ge={key:0,class:"vxe-icon-square-minus-fill",style:{color:"#0d84ff"}},me={key:1,class:"vxe-icon-square-checked-fill",style:{color:"#0d84ff"}},he={key:2,class:"vxe-icon-checkbox-unchecked",style:{color:"#0d84ff"}},_e=["onClick"],ke={key:0,class:"vxe-icon-square-minus-fill",style:{color:"#0d84ff"}},ve={key:1,class:"vxe-icon-square-checked-fill",style:{color:"#0d84ff"}},ye=de(()=>s("i",{class:"vxe-icon-checkbox-unchecked",style:{color:"#0d84ff"}},null,-1)),Ie={class:"container-right"},xe={key:1,class:"flex-container"},Ce={class:"dialog-footer"},be=Q({__name:"view-target-rules",props:{modelValue:{type:Boolean,required:!0},checkTarget:{type:Object,required:!0}},emits:["update:modelValue"],setup(I,{emit:U}){const T=I,j=U;_(!1);const d=_(null),$=_(null);let r=_([]);const k=_(!1),N=_(!1),x=_(),P=[{field:"campaignName",title:"广告活动",slots:{default:"campaignName_default"},treeNode:!0},{title:"操作",width:65,align:"center",slots:{header:"header_operation",default:"default_operation"}}],q=X(()=>({rowField:"campaignId",childrenField:"adGroupInfo",expandAll:!0})),C=Y({border:"inner",height:500,loading:!1,rowConfig:{isHover:!0,keyField:"campaignId"},treeConfig:q,checkboxConfig:{labelField:"name",reserve:!0,checkStrictly:!1,checkMethod:({row:e})=>e.isSelected},columns:[{field:"campaignName",title:"广告活动",slots:{default:"campaignName_default"},treeNode:!0},{type:"checkbox",width:55,fixed:"right",slots:{header:"checkbox_header",checkbox:"checkbox_cell"}}],data:[]});function V({records:e,row:o,checked:a}){console.log("=>(view-target-rules.vue:92) checked",a),o?a||(o.isSelected=!1,console.log("=>(view-target-rules.vue:96) row.isSelected",o.isSelected),R()):(e.forEach(l=>{l.isSelected&&(l.isSelected=a)}),R())}function D(e){e.isSelected&&(d.value.setCheckboxRow(e,!1),V({records:[e],row:e,checked:!1}))}async function E(){try{const e=await ce({profileId:T.checkTarget.profileId,campaignId:T.checkTarget.campaignId});if(e.code===2e3&&e.data.length>0){e.data.adGroupInfo=e.data.adGroupInfo.map(a=>{var l,h,g;return{...a,targetLength:(((l=a.selectTargetId)==null?void 0:l.length)||0)+(((h=a.keywordInfo)==null?void 0:h.length)||0)+(((g=a.campaignTargetInfo)==null?void 0:g.length)||0)}}),C.data=e.data;const o=e.data.adGroupInfo.filter(a=>a.selectTargetId&&a.selectTargetId.length>0);r.value=[{campaignId:e.data.campaignId,campaignType:e.data.campaignType,campaignName:e.data.campaignName,adGroupInfo:o}],le(()=>{d.value&&o.forEach(a=>{a.isSelected=!0,d.value.setCheckboxRow(a,!0)})})}}catch(e){console.log("=>(view-target-rules.vue:158) error",e)}finally{}}function B(e){const o=C.data.find(a=>a.adGroupInfo.some(l=>l.adGroupId===e.adGroupId));x.value={campaignType:o.campaignType,campaignId:o.campaignId,adGroupId:e.adGroupId,isSelected:e.isSelected||!1,keywordInfo:e.keywordInfo||[],campaignTargetInfo:e.campaignTargetInfo||[]},N.value=!0}function R(){r.value=C.data.filter(e=>e.adGroupInfo&&e.adGroupInfo.some(o=>o.isSelected)).map(e=>({...e,adGroupInfo:e.adGroupInfo.filter(o=>o.isSelected)}))}function H({campaignInfo:e,targetType:o}){var l,h,g;if(!x.value)return;const a=C.data.find(c=>c.adGroupInfo.some(b=>b.adGroupId===x.value.adGroupId));if(a){const c=a.adGroupInfo.find(b=>b.adGroupId===x.value.adGroupId);c&&(o==="keyword"?c.keywordInfo=e:o==="target"&&(c.campaignTargetInfo=e),c.isSelected=!0,c.targetLength=(((l=c.keywordInfo)==null?void 0:l.length)||0)+(((h=c.campaignTargetInfo)==null?void 0:h.length)||0)+(((g=c.selectTargetId)==null?void 0:g.length)||0)),c&&c.targetLength>0&&d.value&&d.value.setCheckboxRow(c,!0)}R()}const K=async e=>{const o=$.value;o&&(e.adGroupId?r.value=r.value.map(a=>a.adGroupInfo?{...a,adGroupInfo:a.adGroupInfo.filter(l=>l.adGroupId!==e.adGroupId)}:a).filter(a=>a.adGroupInfo&&a.adGroupInfo.length>0):r.value=r.value.filter(a=>a.campaignId!==e.campaignId),await o.remove(e)),d.value&&await d.value.toggleCheckboxRow(e)};function W(){r.value=[];const e=d.value;e&&e.clearCheckboxRow()}function Z(){k.value=!1}function J(){k.value=!1}const L=e=>{if(e.rowIndex===0)return{backgroundColor:"rgba(245, 245, 245, 0.9)",fontWeight:"500"}},O=()=>({fontSize:"13px"});return w(()=>T.modelValue,e=>{k.value=e}),w(k,e=>{j("update:modelValue",e),E()}),w(T.checkTarget,()=>{E()}),ee(()=>{}),(e,o)=>{const a=y("el-tag"),l=y("el-button"),h=y("el-tooltip"),g=y("vxe-grid"),c=y("CircleClose"),b=y("el-dialog");return i(),u(z,null,[p(b,{modelValue:k.value,"onUpdate:modelValue":o[1]||(o[1]=t=>k.value=t),style:{"border-radius":"10px"},title:"关联广告活动",width:"1158px"},{footer:n(()=>[s("div",Ce,[p(l,{onClick:J},{default:n(()=>[f("取消")]),_:1}),p(l,{type:"primary",onClick:Z},{default:n(()=>[f("确定")]),_:1})])]),default:n(()=>[s("div",re,[s("div",ue,[p(g,ae({ref_key:"xGridOne",ref:d,"cell-style":O,"header-cell-style":L},C,{onCheckboxChange:V,onCheckboxAll:V}),{campaignName_default:n(({row:t})=>[t.campaignType?(i(),G(a,{key:0,color:t.campaignType==="sb"?"#0163d2":t.campaignType==="sp"?"#ff7424":"#365672",class:"campaign-type","disable-transitions":"",round:""},{default:n(()=>[f(m(t.campaignType),1)]),_:2},1032,["color"])):S("",!0),s("span",null,m(t.campaignName),1),s("span",pe,[f(m(t.adGroupName)+" ",1),t.adGroupName&&!t.isSelected?(i(),G(l,{key:0,class:"btn-link",link:"",onClick:v=>B(t)},{default:n(()=>[f(" 选择定向 ")]),_:2},1032,["onClick"])):t.adGroupName?(i(),u("span",fe,"已选择定向")):S("",!0)])]),checkbox_header:n(({checked:t,indeterminate:v})=>[s("span",{class:"custom-checkbox",onClick:o[0]||(o[0]=M((...A)=>e.toggleAllCheckboxEvent&&e.toggleAllCheckboxEvent(...A),["stop"]))},[v?(i(),u("i",ge)):t?(i(),u("i",me)):(i(),u("i",he))])]),checkbox_cell:n(({row:t,checked:v,indeterminate:A})=>[s("span",{class:"custom-checkbox",onClick:M(Ge=>D(t),["stop"])},[A?(i(),u("i",ke)):v?(i(),u("i",ve)):(i(),G(h,{key:2,class:"box-item",content:"请选择定向",effect:"dark",placement:"top"},{default:n(()=>[ye]),_:1}))],8,_e)]),_:1},16)]),s("div",Ie,[s("h3",null,"已选择("+m(F(r).length)+")",1),p(g,{ref_key:"xGridTwo",ref:$,"cell-style":O,columns:P,data:F(r),"header-cell-style":L,"tree-config":q.value,border:"inner",height:"484"},{campaignName_default:n(({row:t})=>[t.adGroupId?(i(),u("span",xe,[f(m(t.adGroupName)+" ",1),t.isSelected?(i(),G(l,{key:0,icon:F(ne),class:"btn-link",link:"",onClick:v=>B(t)},{default:n(()=>[f(" 共"+m(t.targetLength)+"个定向规则 ",1)]),_:2},1032,["icon","onClick"])):S("",!0)])):(i(),u(z,{key:0},[t.campaignType?(i(),G(a,{key:0,color:t.campaignType==="sb"?"#0163d2":t.campaignType==="sp"?"#ff7424":"#365672",class:"campaign-type","disable-transitions":"",round:""},{default:n(()=>[f(m(t.campaignType),1)]),_:2},1032,["color"])):S("",!0),s("span",null,m(t.campaignName),1)],64))]),header_operation:n(()=>[p(l,{link:"",size:"default",style:{color:"#2077d7","font-size":"13px"},onClick:W},{default:n(()=>[f(" 删除全部 ")]),_:1})]),default_operation:n(({row:t})=>[p(l,{type:"text",onClick:v=>K(t)},{default:n(()=>[p(c,{style:{width:"16px",color:"#4b5765"}})]),_:2},1032,["onClick"])]),_:1},8,["data","tree-config"])])])]),_:1},8,["modelValue"]),p(ie,{modelValue:N.value,"onUpdate:modelValue":o[2]||(o[2]=t=>N.value=t),selectedTargetedRow:x.value,"onConfirm:selectTarget":H},null,8,["modelValue","selectedTargetedRow"])],64)}}});const qe=se(be,[["__scopeId","data-v-39a6fc9e"]]);export{qe as default};
|