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