ProductOrientation.2e5b863d.js 16 KB

1
  1. import{u as Qe,r as E}from"./index.5ce19447.js";import{d as We,r as i,q as _e,al as Ye,Q as W,j as Ze,a9 as u,af as el,o as p,c as _,M as t,G as o,H as fe,a as s,F as Y,a0 as Z,K as d,L as m,J as w,u as k,E as ll,t as tl,aq as ol,ar as al}from"./vue.65d9dadc.js";import{E as ee}from"./elementPlus.ff7602ba.js";import{_ as sl}from"./_plugin-vue_export-helper.c27b6911.js";import"./echarts.72dc8373.js";const C=P=>(ol("data-v-7dc6869e"),P=P(),al(),P),nl={style:{width:"100%","margin-top":"20px"}},il=C(()=>s("span",{style:{"font-size":"18px","font-weight":"700"}},"商品定向",-1)),dl={style:{width:"100%",height:"600px",display:"flex",border:"1px solid #e5e7eb","border-radius":"6px"}},rl={style:{width:"50%","border-right":"1px solid #e5e7eb"}},ul={style:{display:"flex","align-items":"center"}},cl=C(()=>s("span",{style:{width:"40px"}},"竞价:",-1)),pl={class:"custom-tree-node"},_l={style:{width:"75%"}},fl={key:0,style:{color:"rgb(50, 108, 216)"}},gl=["onClick"],ml=["onClick"],vl={style:{display:"flex","justify-content":"space-between"}},hl=C(()=>s("span",null,"根据特定品牌、价格范围、星级和Prime配送资格,细化分类",-1)),yl=C(()=>s("span",{style:{"margin-right":"10px",color:"#616266","font-weight":"500"}},"品牌",-1)),bl=C(()=>s("span",{style:{"margin-right":"10px",color:"#616266","font-weight":"500"}},"价格范围",-1)),wl=C(()=>s("span",{style:{"margin-right":"15px",color:"#616266","font-weight":"500"}},"查看星级评定",-1)),xl=C(()=>s("span",{style:{"margin-right":"10px",color:"#616266","font-weight":"500"}},"配送",-1)),Vl={style:{display:"flex","justify-content":"space-between"}},Cl={key:0},kl={class:"dialog-footer"},Sl={style:{display:"flex","align-items":"center"}},Tl=C(()=>s("span",{style:{width:"40px"}},"竞价:",-1)),Il={style:{display:"flex","align-items":"center"}},Al=["src"],Dl={key:0},Bl={key:1},Ol={style:{width:"50%"}},El={class:"card-header"},Pl={style:{"font-weight":"550","font-size":"15px",color:"#1f2128"}},Gl={class:"card-body"},Rl={key:0},Ul={style:{color:"#000000"}},$l={key:1},Fl={key:2},Nl={style:{color:"#000000"}},jl={key:3},Ll={style:{color:"#000000"}},Ml={key:4},zl={style:{color:"#000000"}},ql={key:5},Hl={style:{color:"#000000"}},Kl={style:{display:"flex","justify-content":"space-around","margin-top":"-8px"}},Xl=We({__name:"ProductOrientation",setup(P){let G=i([]),ge=[];const le=i("first"),me=_e("respCampaignId"),te=_e("respAdGroupId"),ve=Qe(),{profile:A}=Ye(ve),oe=i("first"),R=i("customBid"),he=[{value:"defaultBid",label:"默认竞价"},{value:"customBid",label:"自定义竞价"}];i("0.75");const U=i("customBid"),ye=[{value:"defaultBid",label:"默认竞价"},{value:"customBid",label:"自定义竞价"}],D=i("0.75"),ae=i(!0),se=i(!1),ne=i([]),ie=i([]),x=i(!1),M=i(!1),be={children:"ch",label:"cna"},B=i(!1),O=i(!1);let z=i(""),$=i("");i(""),i([]);const n=W({prices:{lowest:void 0,highest:void 0},starRating:[0,5],dialogselectValue:[],delivery:"all",isCount:!1}),de=i(),we=W({prices:[{validator:Ve,trigger:"blur"}]}),xe=W({0:"0",1:"1",2:"2",3:"3",4:"4",5:"5"});let S=i([]),F=i(0),f=i([]);async function Ve(a,l){return l.highest!==""&&l.lowest!==""&&l.highest<=l.lowest?Promise.reject("最高价格必须大于最低价格"):Promise.resolve()}async function Ce(){x.value=!0;try{const a=await E({url:"/api/ad_manage/targetable/categories/",method:"GET",params:{profile_id:A.value.profile_id}});ie.value=a.data,x.value=!1}catch(a){console.error("请求失败:",a)}}async function ke(){try{const l=(await E({url:"/api/ad_manage/categories/brands/",method:"GET",params:{profile_id:A.value.profile_id,category_id:$.value}})).data;n.dialogOptions=l.brands.map(r=>({label:r.name,value:r.id})),M.value=!1}catch(a){console.error("请求失败:",a)}}async function Se(a){try{const l=await E({url:"/api/ad_manage/products/count/",method:"POST",data:{profile_id:A.value.profile_id,category_id:$.value}});a===F.value&&(S.value=l.data.AsinCounts)}catch(l){console.error("请求失败:",l)}finally{a===F.value&&(B.value=!1)}}function Te(){F.value++,Ie(),n.isCount=!1,S.value=[],B.value=!1}function Ie(){n.prices.lowest=void 0,n.prices.highest=void 0,n.starRating=[0,5],n.dialogselectValue=[],n.delivery="all",n.isCount=!1}function Ae(){if(n.isCount){const a=F.value;B.value=!0,Se(a)}else B.value=!1,S.value=[]}function De(a){f.value.splice(a,1)}function Be(){f.value=[]}function re(){(U.value==="defaultBid"||R.value==="defaultBid")&&(D.value="")}let N=i(""),ue=i([]);function Oe(a="",l=""){return E({url:"/api/sellers/listings/our/",method:"GET",params:{profile_id:A.value.profile_id,asin:a,sku:l}}).then(r=>{ue.value=r.data,x.value=!1}).catch(r=>{console.error("Error fetching data:",r),x.value=!1})}function Ee(){x.value=!0,Oe()}function Pe(a){console.log("🚀 ~ addSingleSearch ~ scope-->>",a);const l=[];ae.value&&l.push("ASIN_EXPANDED_FROM"),se.value&&l.push("ASIN_SAME_AS");const r={ASIN_EXPANDED_FROM:"扩展",ASIN_SAME_AS:"精确"};l.forEach(c=>{if(f.value.some(v=>v.sku===a.row.sku&&v.productType===c))console.log(`${c} item is already added.`);else{const v={type:"p",asin:a.row.asin,sku:a.row.sku,productType:c,productTypeText:r[c]};f.value.push(v)}})}let q=i([]);function Ge(a){console.log("🚀 ~ dialogSelectChange ~ event-->>",a),q.value=a.map(l=>{const r=n.dialogOptions.find(c=>c.value===l);return r?r.label:""}),console.log("🚀 ~ dialogSelectChange ~ selectedLabels-->>",q.value)}let Re=i([]);function Ue(a){console.log("🚀 ~ refine ~ data-->>",a),S.value=[],z.value=a.cna,$.value=a.cid,Re.value.push(a),O.value=!0,M.value=!0,ke()}function $e(){de.value.validate(a=>{if(a){console.log("表单提交"),O.value=!1;const l=z.value,r=n.prices.lowest,c=n.prices.highest,V=n.starRating,v=V[0],g=V[1],h=n.delivery;console.log("🚀 ~ dialogFormRef.value.validate ~ dialogDelivery-->>",h);const T={all:"所有",eligible:"具备Prime资格",diseligible:"不具备Prime资格"};q.value.forEach(b=>{const j=n.dialogOptions.find(I=>I.label===b),K=j?j.value:"",L={type:"c",classification:l,classificationId:$.value,brand:b,brandId:K,low_price:r,high_price:c,low_rating:v,high_rating:g,delivery:h,deliveryText:T[h]};console.log("🚀 ~ dialogFormRef.value.validate ~ refineObj-->>",L),f.value.push(L)})}else console.log("验证失败")})}function Fe(a,l){if(console.log("🚀 ~ orientate ~ data-->>",l),!f.value.some(c=>c.cid===l.cid)){const c={type:"c",classification:l.cna,classificationId:l.cid};f.value.push(c)}}let H=i([]);async function Ne(){if(console.log("tableData",f.value),f.value.some(l=>l.bid==null||l.bid==="")){console.log("存在空的 bid,不发送请求"),ee.error("存在空的 bid,无法创建商品!");return}f.value.forEach(l=>{H.value.push(l.bid)}),console.log("productTargetBidList",H.value),x.value=!0;try{const l={profile_id:A.value.profile_id,adGroupId:te.value,campaignId:me.value,expressionList:f.value,state:"PAUSED"},r=Object.fromEntries(Object.entries(l).filter(([V,v])=>v!=null)),c=await E({url:"/api/ad_manage/sptargets/manual/create/",method:"POST",data:r});console.log("🚀 ~ createTargetGroup ~ resp-->>",c),x.value=!1,te.value?ee({message:"商品创建成功",type:"success"}):ee.error("商品创建失败!")}catch(l){console.error("请求失败:",l)}f.value=[],H.value=[]}function je(){const a=ge.filter(l=>!G.value.some(r=>r.sku===l.sku));a.length>0&&G.value.push(...a)}function Le(a){G.value.some(r=>r.sku===a.row.sku)?console.log("Item is already added."):G.value.push(a.row)}const Me=a=>{if(a.rowIndex===0)return{backgroundColor:"rgba(245, 245, 245, 0.9)"}};function ze(a){if(a.rowIndex===0)return{color:"#505968",backgroundColor:"rgba(245, 245, 245, 0.9)"}}return Ze(()=>{Ce()}),(a,l)=>{const r=u("el-divider"),c=u("el-option"),V=u("el-select"),v=u("el-input"),g=u("el-table-column"),h=u("el-button"),T=u("el-table"),b=u("el-tab-pane"),j=u("el-tree"),K=u("el-scrollbar"),L=u("el-checkbox"),I=u("el-form-item"),X=u("el-input-number"),qe=u("el-slider"),J=u("el-radio"),He=u("el-radio-group"),Ke=u("el-form"),Xe=u("el-dialog"),Q=u("el-tabs"),Je=u("el-card"),ce=el("loading");return p(),_("div",nl,[t(r,{"content-position":"left"},{default:o(()=>[il]),_:1}),fe((p(),_("div",dl,[s("div",rl,[t(Q,{type:"border-card",stretch:"",class:"goods-orientation-tabs",style:{border:"0","border-right":"0","border-bottom-left-radius":"6px","border-top-left-radius":"5px",overflow:"hidden"}},{default:o(()=>[t(b,{label:"品类",style:{"border-top-left-radius":"6px"}},{default:o(()=>[s("div",ul,[cl,t(V,{modelValue:R.value,"onUpdate:modelValue":l[0]||(l[0]=e=>R.value=e),onChange:re,class:"m-2",placeholder:"Select"},{default:o(()=>[(p(),_(Y,null,Z(he,e=>t(c,{key:e.value,label:e.label,value:e.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"]),t(v,{modelValue:D.value,"onUpdate:modelValue":l[1]||(l[1]=e=>D.value=e),disabled:R.value==="defaultBid",style:{width:"200px"}},{prepend:o(()=>[d("$")]),_:1},8,["modelValue","disabled"])]),t(Q,{modelValue:oe.value,"onUpdate:modelValue":l[10]||(l[10]=e=>oe.value=e),class:"category-tabs"},{default:o(()=>[t(b,{label:"建议",name:"first"},{default:o(()=>[t(T,{data:ne.value,style:{width:"100%"},height:"422"},{default:o(()=>[t(g,{prop:"proposal",label:"建议",width:"520"},{header:o(()=>[d(" 0建议 ")]),_:1}),t(g,{prop:"address",label:"Address"},{header:o(()=>[t(h,{type:"primary",size:"normal",link:"",onClick:je},{default:o(()=>[d("全部添加")]),_:1})]),default:o(e=>[t(h,{type:"primary",size:"small",onClick:y=>Le(e),text:""},{default:o(()=>[d("添加")]),_:2},1032,["onClick"])]),_:1})]),_:1},8,["data"])]),_:1}),t(b,{label:"搜索",name:"second"},{default:o(()=>[t(v,{placeholder:"请输入关键词过滤"}),t(K,{height:"390px"},{default:o(()=>[t(j,{data:ie.value,props:be},{default:o(({node:e,data:y})=>[s("span",pl,[s("span",_l,m(e.label),1),y.ta==!0?(p(),_("span",fl,[s("a",{onClick:pe=>Ue(y)}," 细化 ",8,gl),s("a",{style:{"margin-left":"8px"},onClick:pe=>Fe(e,y)}," 定向 ",8,ml)])):w("",!0)])]),_:1},8,["data"])]),_:1}),t(Xe,{modelValue:O.value,"onUpdate:modelValue":l[9]||(l[9]=e=>O.value=e),title:`细化分类: ${k(z)}`,onClose:Te,"destroy-on-close":""},{footer:o(()=>{var e,y;return[s("div",Vl,[fe((p(),_("span",null,[d("定位到的商品数量: "),n.isCount==!0?(p(),_("span",Cl,m((e=k(S)[0])==null?void 0:e.min)+" - "+m((y=k(S)[0])==null?void 0:y.max),1)):w("",!0)])),[[ce,B.value]]),s("span",kl,[t(h,{onClick:l[8]||(l[8]=pe=>O.value=!1)},{default:o(()=>[d("取消")]),_:1}),t(h,{type:"primary",onClick:$e},{default:o(()=>[d("确定")]),_:1})])])]}),default:o(()=>[s("div",vl,[hl,s("span",null,[t(L,{modelValue:n.isCount,"onUpdate:modelValue":l[2]||(l[2]=e=>n.isCount=e),label:"显示商品数量",onChange:Ae},null,8,["modelValue"])])]),t(Ke,{model:n,rules:we,ref_key:"dialogFormRef",ref:de,style:{"margin-top":"20px"}},{default:o(()=>[t(I,{style:{"padding-left":"140px"}},{default:o(()=>[yl,t(V,{modelValue:n.dialogselectValue,"onUpdate:modelValue":l[3]||(l[3]=e=>n.dialogselectValue=e),onChange:Ge,multiple:"",placeholder:"请选择",loading:M.value},{default:o(()=>[(p(!0),_(Y,null,Z(n.dialogOptions,e=>(p(),ll(c,{key:e.value,label:e.label,value:e.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue","loading"])]),_:1}),t(I,{prop:"prices",style:{"padding-left":"112px","margin-top":"10px"}},{default:o(()=>[bl,t(X,{modelValue:n.prices.lowest,"onUpdate:modelValue":l[4]||(l[4]=e=>n.prices.lowest=e),min:1,controls:!1,placeholder:"无最低商品价格"},null,8,["modelValue"]),d(" -- "),t(X,{modelValue:n.prices.highest,"onUpdate:modelValue":l[5]||(l[5]=e=>n.prices.highest=e),min:1,controls:!1,placeholder:"无最高商品价格"},null,8,["modelValue"])]),_:1}),t(I,{prop:"starRating",style:{"padding-left":"85px","margin-top":"10px"}},{default:o(()=>[wl,t(qe,{modelValue:n.starRating,"onUpdate:modelValue":l[6]||(l[6]=e=>n.starRating=e),range:"","show-stops":"",max:5,marks:xe,style:{width:"70%"}},null,8,["modelValue","marks"])]),_:1}),t(I,{prop:"delivery",style:{"padding-left":"140px","margin-top":"30px"}},{default:o(()=>[xl,t(He,{modelValue:n.delivery,"onUpdate:modelValue":l[7]||(l[7]=e=>n.delivery=e)},{default:o(()=>[t(J,{label:"all",style:{"font-weight":"400"}},{default:o(()=>[d("所有")]),_:1}),t(J,{label:"eligible",style:{"font-weight":"400"}},{default:o(()=>[d("具备Prime资格")]),_:1}),t(J,{label:"diseligible",style:{"font-weight":"400"}},{default:o(()=>[d("不具备Prime资格")]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["modelValue","title"])]),_:1})]),_:1},8,["modelValue"])]),_:1}),t(b,{label:"单个商品"},{default:o(()=>[s("div",Sl,[Tl,t(V,{class:"m-2",modelValue:U.value,"onUpdate:modelValue":l[11]||(l[11]=e=>U.value=e),onChange:re},{default:o(()=>[(p(),_(Y,null,Z(ye,e=>t(c,{key:e.value,label:e.label,value:e.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"]),t(v,{modelValue:D.value,"onUpdate:modelValue":l[12]||(l[12]=e=>D.value=e),disabled:U.value=="defaultBid",style:{width:"200px"}},{prepend:o(()=>[d("$")]),_:1},8,["modelValue","disabled"])]),t(Q,{modelValue:le.value,"onUpdate:modelValue":l[14]||(l[14]=e=>le.value=e),class:"category-tabs"},{default:o(()=>[t(b,{label:"建议",name:"first"},{default:o(()=>[t(T,{data:ne.value,style:{width:"100%"},height:"342"},{default:o(()=>[t(g,{prop:"proposal",label:"商品",width:"520"}),t(g,{prop:"address",label:"类型"}),t(g,{prop:"operational",label:"操作"})]),_:1},8,["data"])]),_:1}),t(b,{label:"搜索",name:"second"},{default:o(()=>[t(v,{modelValue:k(N),"onUpdate:modelValue":l[13]||(l[13]=e=>tl(N)?N.value=e:N=e),onChange:Ee,placeholder:"按ASIN搜索"},null,8,["modelValue"]),t(T,{data:k(ue),style:{width:"100%"},height:"309"},{default:o(()=>[t(g,{prop:"asin",label:"商品",width:"520"},{default:o(({row:e})=>[s("div",Il,[s("img",{src:e.image_link,style:{width:"40px",height:"40px","margin-right":"10px"}},null,8,Al),s("span",null,m(e.title),1)])]),_:1}),t(g,{prop:"productTypes",label:"类型"},{default:o(e=>[ae.value?(p(),_("div",Dl,"扩展")):w("",!0),se.value?(p(),_("div",Bl,"精准")):w("",!0)]),_:1}),t(g,{prop:"operational",label:"操作"},{default:o(e=>[t(h,{class:"button",text:"",onClick:y=>Pe(e)},{default:o(()=>[d("添加")]),_:2},1032,["onClick"])]),_:1})]),_:1},8,["data"])]),_:1}),t(b,{label:"输入",name:"third"},{default:o(()=>[d("待完成")]),_:1})]),_:1},8,["modelValue"])]),_:1})]),_:1})]),s("div",Ol,[t(Je,{class:"box-card",shadow:"never",style:{border:"none"}},{header:o(()=>[s("div",El,[s("span",Pl,"已添加: "+m(k(f).length),1),t(h,{class:"button",type:"danger",text:"",bg:"",onClick:Be},{default:o(()=>[d("全部删除")]),_:1})])]),default:o(()=>[s("div",Gl,[t(T,{height:"460",data:k(f),style:{width:"100%"},"header-row-style":ze,"header-cell-style":Me},{default:o(()=>[t(g,{prop:"cna",label:"分类 & 商品",width:"300"},{default:o(e=>[e.row.cna||e.row.classification?(p(),_("div",Rl,[d(" 分类: "),s("span",Ul,m(e.row.cna?e.row.cna:e.row.classification),1)])):w("",!0),e.row.asin?(p(),_("div",$l,m(e.row.asin?e.row.asin:"--"),1)):w("",!0),e.row.brand?(p(),_("div",Fl,[d(" 品牌: "),s("span",Nl,m(e.row.brand),1)])):w("",!0),e.row.low_price||e.row.high_price?(p(),_("div",jl,[d(" 品牌价格: "),s("span",Ll,m(e.row.low_price?"$"+e.row.low_price:"--")+" - "+m(e.row.high_price?"$"+e.row.high_price:"--"),1)])):w("",!0),e.row.low_rating||e.row.high_rating?(p(),_("div",Ml,[d(" 评分: "),s("span",zl,m(e.row.low_rating)+" - "+m(e.row.high_rating),1)])):w("",!0),e.row.deliveryText?(p(),_("div",ql,[d(" 配送: "),s("span",Hl,m(e.row.deliveryText),1)])):w("",!0)]),_:1}),t(g,{prop:"type",label:"类型"},{default:o(e=>[d(m(e.row.productTypeText?e.row.productTypeText:"--"),1)]),_:1}),t(g,{prop:"bid",label:"竞价"},{default:o(e=>[t(X,{modelValue:e.row.bid,"onUpdate:modelValue":y=>e.row.bid=y,min:.02,max:1e6,controls:!1,size:"small"},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),t(g,{prop:"operate",label:"操作",width:"60",align:"right"},{default:o(e=>[t(h,{text:"",size:"small",onClick:y=>De(e.$index)},{default:o(()=>[d("删除")]),_:2},1032,["onClick"])]),_:1})]),_:1},8,["data"])])]),_:1}),s("div",Kl,[t(h,{type:"primary",plain:"",onClick:Ne},{default:o(()=>[d("保存")]),_:1})])])])),[[ce,x.value]])])}}});const et=sl(Xl,[["__scopeId","data-v-7dc6869e"]]);export{et as default};