mainData.6ecffde9.js 3.8 KB

1
  1. import{e as j,g as P,u as B}from"./columns.2d432cfb.js";import{h as F}from"./elementPlus.12aff58e.js";import{d as H,r,Q as L,w as i,a8 as h,o as M,E as T,G as d,a as C,M as w,L as y,K as R,B as U,ab as A}from"./vue.95e072e2.js";import{_ as G}from"./_plugin-vue_export-helper.c27b6911.js";import"./index.44889c0b.js";import"./echarts.2703a7ac.js";const K={class:"mx-3.5"},Q={class:"font-semibold"},W={class:"font-semibold",style:{color:"#0097f8"}},q=H({__name:"mainData",props:{dayDate:Object,weekDate:Object,monthDate:Object,taskIds:Object},setup(D){const l=D,u=r([]),f=r([]),m=r(null),_=r(null),g=r(null),p=r(null),v=r(null),b=r(null),o=L({border:"inner",height:900,align:null,round:!0,loading:!1,columnConfig:{resizable:!0},rowConfig:{isHover:!0},pagerConfig:{enabled:!0,total:20,currentPage:1,pageSize:20,pageSizes:[10,20,30]},toolbarConfig:{custom:!0,zoom:{iconIn:"vxe-icon-fullscreen",iconOut:"vxe-icon-minimize"},slots:{tools:"toolbar_buttons"}},columns:u.value,data:[]}),S={pageChange({currentPage:e,pageSize:t}){o.pagerConfig&&(o.pagerConfig.currentPage=e,o.pagerConfig.pageSize=t,x(l.taskIds))}};async function x(e,t=!1){t&&(o.pagerConfig.currentPage=1);try{o.loading=!0;const a=await P({page:o.pagerConfig.currentPage,limit:o.pagerConfig.pageSize,task_ids:e,day_start_date:m.value,day_end_date:_.value,week_start_date:g.value,week_end_date:p.value,month_start_date:v.value,month_end_date:b.value});return o.data=a.data,o.pagerConfig.total=a.total,a.data}catch(a){console.error("Error fetching task data:",a)}finally{o.loading=!1}}i(()=>l.taskIds,e=>{k()}),i(()=>l.dayDate,e=>{if(e){const{dailyStartDate:t,dailyTime:a}=e;m.value=t,_.value=a}}),i(()=>l.weekDate,e=>{if(e){const{weekStartDate:t,weekEndDate:a}=e;g.value=t,p.value=a,k()}}),i(()=>l.monthDate,e=>{if(e){const{startDate:t,endDate:a}=e;v.value=t,b.value=a}});const E=e=>{if(e&&e.length>0){const t=[],a=new Set;e.forEach(n=>{Object.keys(n).forEach(s=>{(/\d{2}-\d{2}的/.test(s)||s.includes("余额币种")||s.includes("退货率"))&&a.add(s)})}),a.forEach(n=>{t.push({field:n,title:n,minWidth:n.includes("~")?90:/\d{4}-\d{2}-\d{2}/.test(n)?81:70,align:"center",formatter:O})}),u.value=[...B,...t]}else f.value=[],o.pagerConfig.total=0},z=()=>({fontSize:"12px",fontWeight:"500"}),N=({column:e})=>{const t=e.field,a=/\d{2}-\d{2}/,n=/\d{4}-\d{2}-\d{2}/,s=/\d{4}-\d{2}/;return t.includes("~")||t.includes("截止")||t.includes("近90天平台退货率")||t.includes("余额")?{fontSize:"12px",backgroundColor:"#b3ced7"}:s.test(t)&&!n.test(t)?{fontSize:"12px",backgroundColor:"#8cbacc"}:a.test(t)?{fontSize:"12px",backgroundColor:"#d0dadf"}:{fontSize:"12px"}};async function k(){const e=await x(l.taskIds,!0);E(e),f.value=e,o.columns=u.value,o.data=f.value}async function I(){try{o.loading=!0;const e={page:o.pagerConfig.currentPage,limit:o.pagerConfig.pageSize,task_ids:l.taskIds,day_start_date:m.value,day_end_date:_.value,week_start_date:g.value,week_end_date:p.value,month_start_date:v.value,month_end_date:b.value},t=await j(e),a=window.URL.createObjectURL(new Blob([t.data])),n=document.createElement("a");n.href=a,n.setAttribute("download","合并数据展示.xlsx"),document.body.appendChild(n),n.click(),o.loading=!1,F.success("导出数据成功")}catch(e){console.error("导出数据失败:",e)}}function O({cellValue:e}){return e==null||e===""?"--":e}return(e,t)=>{const a=h("vxe-button"),n=h("el-tag"),s=h("vxe-grid");return M(),T(s,U({"cell-style":z,"header-cell-style":N},o,A(S)),{toolbar_buttons:d(()=>[C("div",K,[w(a,{circle:"",icon:"vxe-icon-download",onClick:I})])]),platformNumber_default:d(({row:c})=>[C("div",Q,y(c.platformNumber),1)]),platformName_default:d(({row:c})=>[C("div",W,y(c.platformName),1)]),currencyCode_default:d(({row:c})=>[w(n,{color:"#fef9c3",style:{color:"#f59e0b","border-color":"#fbbf24"}},{default:d(()=>[R(y(c.currencyCode),1)]),_:2},1024)]),_:1},16)}}});const ee=G(q,[["__scopeId","data-v-456f5b63"]]);export{ee as default};