mainData.4dd548b2.js 5.6 KB

1
  1. import{e as X,g as Y,u as Z}from"./columns.8541a5bc.js";import{a as V}from"./elementPlus.be4dc479.js";import{f as ee,r as i,Q as te,w as v,d as ae,a7 as I,h as oe,E as ne,G as g,j as O,M as L,L as F,K as se,B as re,aa as le}from"./vue.9083513e.js";import{_ as de}from"./_plugin-vue_export-helper.c27b6911.js";import"./index.d6e1ac7f.js";import"./echarts.594b4072.js";const ie={class:"mx-3.5"},ce={class:"font-semibold"},ue={class:"font-semibold",style:{color:"#0097f8"}},fe=ee({__name:"mainData",props:{dayDate:Object,weekDate:Object,monthDate:Object,taskIds:Object},setup(R){const u=R,N=i([]),T=i([]),b=i(null),C=i(null),S=i(null),w=i(null),x=i(null),D=i(null),m=i(""),_=i(""),p=i(""),n=te({border:"inner",height:900,align:null,round:!0,loading:!1,columnConfig:{resizable:!0,isCurrent:!0},rowConfig:{isHover:!0},pagerConfig:{enabled:!0,total:20,currentPage:1,pageSize:20,pageSizes:[10,20,30]},sortConfig:{remote:!0},toolbarConfig:{custom:!0,zoom:{iconIn:"vxe-icon-fullscreen",iconOut:"vxe-icon-minimize"},slots:{tools:"toolbar_buttons"}},columns:N,data:T}),U=()=>{localStorage.setItem("sortField",m.value),localStorage.setItem("sortOrder",_.value)},$=()=>{m.value=localStorage.getItem("sortField")||"",_.value=localStorage.getItem("sortOrder")||""},K={pageChange({currentPage:t,pageSize:o}){n.pagerConfig&&(n.pagerConfig.currentPage=t,n.pagerConfig.pageSize=o,h(u.taskIds))}};async function h(t,o=!1){o&&(n.pagerConfig.currentPage=1);try{n.loading=!0;const a=await Y({page:n.pagerConfig.currentPage,limit:n.pagerConfig.pageSize,task_ids:t,day_start_date:b.value,day_end_date:C.value,week_start_date:S.value,week_end_date:w.value,month_start_date:x.value,month_end_date:D.value,sort:_.value,order_date:m.value,date_type:p.value});if(n.data=a.data,n.pagerConfig.total=a.total,a.data&&a.data.length>0){const s=[],c=/\d{2}-\d{2}/,d=/\d{4}-\d{2}-\d{2}/,y=/\d{4}-\d{2}/,B=/\d{4}-\d{2}-\d{2}~\d{4}-\d{2}-\d{2}/,j=["~","截止","近90天平台退货率","余额"],P=new Set;a.data.forEach(e=>{for(const r in e)(c.test(r)||j.some(l=>r.includes(l)))&&P.add(r)});const k=[],z=[],E=[];P.forEach(e=>{let r=!1;e.includes("的销售额")&&!e.includes("广告销售额")&&!e.includes("增长率")&&(r=!0);const l={field:e,title:e,minWidth:e.includes("~")||e.includes("截止")?90:d.test(e)?91:79,align:"center",formatter:J,sortable:r};j.some(f=>e.includes(f))?z.push(l):y.test(e)&&!d.test(e)?E.push(l):c.test(e)&&k.push(l)});const M=k.filter(e=>e.field.includes("的销售额"));M.sort((e,r)=>{const l=e.field.match(/\d{4}-\d{2}-\d{2}/),f=r.field.match(/\d{4}-\d{2}-\d{2}/);return l&&f?new Date(l[0])-new Date(f[0]):0});const A=z.filter(e=>e.field.includes("的销售额")&&!e.field.includes("增长率"));A.sort((e,r)=>{const l=e.field.match(B)[0].split("~")[0],f=r.field.match(B)[0].split("~")[0];return new Date(l)-new Date(f)});const H=E.filter(e=>e.field.includes("的销售额"));H.sort((e,r)=>{const l=`${e.field.match(y)[0]}-01`,f=`${r.field.match(y)[0]}-01`;return new Date(l)-new Date(f)}),s.push(...M,...k.filter(e=>!e.field.includes("的销售额")),...A,...z.filter(e=>!e.field.includes("的销售额")),...H,...E.filter(e=>!e.field.includes("的销售额"))),N.value=[...Z,...s]}U()}catch(a){console.error("Error fetching task data:",a)}finally{n.loading=!1}}function W({column:t,order:o}){_.value=o==="asc"?"smallfirst":"bigfirst";const a=t.field;if(a){const s=a.match(/(\d{4}-\d{2}-\d{2})的销售额/),c=a.match(/(\d{4}-\d{2}-\d{2})~(\d{4}-\d{2}-\d{2})的销售额/),d=a.match(/(\d{4}-\d{2})的销售额/);c?(m.value=c[1],p.value="week"):s?(m.value=s[1],p.value="day"):d&&(m.value=`${d[1]}-01`,p.value="month")}h(u.taskIds,!0)}v(()=>u.taskIds,t=>{h(t,!0)}),v(()=>u.dayDate,t=>{if(t){const{dailyStartDate:o,dailyTime:a}=t;b.value=o,C.value=a}}),v(()=>u.weekDate,t=>{if(t){const{weekStartDate:o,weekEndDate:a}=t;S.value=o,w.value=a,h(u.taskIds)}}),v(()=>u.monthDate,t=>{if(t){const{startDate:o,endDate:a}=t;x.value=o,D.value=a}});const G=({columnIndex:t})=>t<6?{fontSize:"12px",fontWeight:"500"}:{fontSize:"11px",fontWeight:"600"},Q=({column:t})=>{const o=t.field,a=/\d{2}-\d{2}/,s=/\d{4}-\d{2}-\d{2}/,c=/\d{4}-\d{2}/;return o.includes("~")||o.includes("截止")||o.includes("近90天平台退货率")||o.includes("余额")?{fontSize:"12px",backgroundColor:"#b3ced7"}:c.test(o)&&!s.test(o)?{fontSize:"12px",backgroundColor:"#8cbacc"}:a.test(o)?{fontSize:"12px",backgroundColor:"#d0dadf"}:{fontSize:"12px"}};async function q(){try{n.loading=!0;const t={page:n.pagerConfig.currentPage,limit:n.pagerConfig.pageSize,task_ids:u.taskIds,day_start_date:b.value,day_end_date:C.value,week_start_date:S.value,week_end_date:w.value,month_start_date:x.value,month_end_date:D.value},o=await X(t),a=window.URL.createObjectURL(new Blob([o.data])),s=document.createElement("a");s.href=a,s.setAttribute("download","合并数据展示.xlsx"),document.body.appendChild(s),s.click(),n.loading=!1,V.success("导出数据成功")}catch(t){console.error("导出数据失败:",t)}}function J({cellValue:t}){return t==null||t===""?"--":typeof t=="number"?new Intl.NumberFormat("en-US",{minimumFractionDigits:2,maximumFractionDigits:2}).format(t):t}return ae(()=>{$()}),(t,o)=>{const a=I("vxe-button"),s=I("el-tag"),c=I("vxe-grid");return oe(),ne(c,re({"cell-style":G,"header-cell-style":Q},n,le(K),{onSortChange:W}),{toolbar_buttons:g(()=>[O("div",ie,[L(a,{circle:"",icon:"vxe-icon-download",onClick:q})])]),platformNumber_default:g(({row:d})=>[O("div",ce,F(d.platformNumber),1)]),platformName_default:g(({row:d})=>[O("div",ue,F(d.platformName),1)]),currencyCode_default:g(({row:d})=>[L(s,{color:"#fef9c3",style:{color:"#f59e0b","border-color":"#fbbf24"}},{default:g(()=>[se(F(d.currencyCode),1)]),_:2},1024)]),_:1},16)}}});const be=de(fe,[["__scopeId","data-v-b5ed020c"]]);export{be as default};