TableDataDisplay.739fb8e3.js 4.6 KB

1
  1. import{f as rt,al as st,p as F,r as c,Q as lt,e as it,w as T,d as ct,a7 as y,h as dt,i as ut,M as C,G as m,K as B,j as P,L as S,B as ft,aa as mt}from"./vue.9083513e.js";import{k as j,w as W,m as G,l as gt,n as pt,o as vt}from"./columns.8541a5bc.js";import{d as g}from"./elementPlus.be4dc479.js";import{_ as Dt}from"./_plugin-vue_export-helper.c27b6911.js";import"./index.d6e1ac7f.js";import"./echarts.594b4072.js";const ht={class:"font-semibold"},_t={class:"font-semibold",style:{color:"#0097f8"}},bt=rt({__name:"TableDataDisplay",props:{taskIds:Object},setup($){const H=st(),n=F("dateDimension"),R=F("currentDate"),v=$,Y=c(null),w=c(null),k=c(null),M=c(null),x=c(null),E=c(null),q=[],A=[],L=[],d=c(""),p=c(""),I=()=>{localStorage.setItem("sortField",d.value),localStorage.setItem("sortOrder",p.value)},z=()=>{d.value=localStorage.getItem("sortField")||"",p.value=localStorage.getItem("sortOrder")||""},a=lt({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]},sortConfig:{remote:!0},toolbarConfig:{custom:!0,zoom:{iconIn:"vxe-icon-fullscreen",iconOut:"vxe-icon-minimize"},slots:{buttons:"toolbar_buttons"}},day:{columns:j,data:q},week:{columns:W,data:A},month:{columns:G,data:L}}),Q=it(()=>{const t=a[n.value];return{...a,...t}}),U={pageChange({currentPage:t,pageSize:s}){a.pagerConfig&&(a.pagerConfig.currentPage=t,a.pagerConfig.pageSize=s,D(v.taskIds))}};T(R,t=>{n.value==="day"?(Y.value=g(t.dailyStartDate).format("YYYY-MM-DD"),w.value=g(t.dailyTime).format("YYYY-MM-DD")):n.value==="week"?(k.value=g(t.weekStartDate).format("YYYY-MM-DD"),M.value=g(t.weekEndDate).format("YYYY-MM-DD")):n.value==="month"&&(x.value=g(t.startDate).format("YYYY-MM-DD"),E.value=g(t.endDate).format("YYYY-MM-DD")),p.value="",d.value="",D(v.taskIds)});async function _(t,s,i,u,r,o){try{a.loading=!0,z();const f=await s({page:a.pagerConfig.currentPage,limit:a.pagerConfig.pageSize,[`${o}_start_date`]:i.value,[`${o}_end_date`]:u.value,task_ids:t,sort:p.value,order_date:d.value});if(a[n.value].data=f.data,a.pagerConfig.total=f.total,f.data.length>0){const N=new Set,b=[],O=[];r.value=r.value.filter(e=>!/\d{2}-\d{2}的/.test(e.field)&&!e.field.includes("余额币种")&&!e.field.includes("退货率")),f.data.forEach(e=>{for(const l in e)(/\d{2}-\d{2}的/.test(l)||l.includes("余额币种")||l.includes("退货率"))&&N.add(l)}),N.forEach(e=>{let l=!1;e.includes("的销售额")&&(l=!0);const h={field:e,title:e,minWidth:e.includes("~")?95:/\d{4}-\d{2}-\d{2}的/.test(e)?88:82,align:"center",formatter:tt,sortable:l};e.includes("的销售额")?b.push(h):O.push(h)}),n.value=="day"&&b.sort((e,l)=>{const h=e.field.match(/\d{4}-\d{2}-\d{2}/)[0],nt=l.field.match(/\d{4}-\d{2}-\d{2}/)[0];return new Date(h)-new Date(nt)});const ot=[...b,...O];n.value===o?r.value=[...r.value,...ot]:(r.value=[],a.pagerConfig.total=0)}I()}catch(f){console.error("Error fetching task data:",f)}finally{a.loading=!1}}async function J(t){await _(t,gt,Y,w,j,"day")}async function X(t){await _(t,pt,k,M,W,"week")}async function Z(t){await _(t,vt,x,E,G,"month")}function D(t,s=!1){s&&(a.pagerConfig.currentPage=1),n.value==="day"?J(t):n.value==="week"?X(t):n.value==="month"&&Z(t)}function K({column:t,order:s}){p.value=s==="asc"?"smallfirst":"bigfirst";const i=t.field;if(i){const u=i.match(/(\d{4}-\d{2}-\d{2})的销售额/),r=i.match(/(\d{4}-\d{2}-\d{2})~(\d{4}-\d{2}-\d{2})的销售额/),o=i.match(/(\d{4}-\d{2})的销售额/);r?d.value=r[1]:u?d.value=u[1]:o&&(d.value=`${o[1]}-01`)}I(),D(v.taskIds,!0)}T(()=>v.taskIds,t=>{D(t,!0)}),ct(()=>{z()});const V=()=>{const t=H.resolve({name:"TableDataEntry",query:{dateType:n.value}}).href;window.open(t,"_blank")};function tt({cellValue:t}){return t==null||t===""?"--":typeof t=="number"?new Intl.NumberFormat("en-US",{minimumFractionDigits:2,maximumFractionDigits:2}).format(t):t}const et=()=>({fontSize:"12px",fontWeight:"600"}),at=()=>({fontSize:"12px"});return(t,s)=>{const i=y("el-button"),u=y("el-tag"),r=y("vxe-grid");return dt(),ut("div",null,[C(r,ft({"cell-style":et,"header-cell-style":at,stripe:""},Q.value,mt(U),{onSortChange:K}),{toolbar_buttons:m(()=>[C(i,{icon:"plus",target:"_blank",type:"primary",onClick:V},{default:m(()=>[B("数据录入")]),_:1})]),platformNumber_default:m(({row:o})=>[P("div",ht,S(o.platformNumber),1)]),platformName_default:m(({row:o})=>[P("div",_t,S(o.platformName),1)]),currencyCode_default:m(({row:o})=>[C(u,{color:"#fef9c3",style:{color:"#f59e0b","border-color":"#fbbf24"}},{default:m(()=>[B(S(o.currencyCode),1)]),_:2},1024)]),_:1},16)])}}});const Mt=Dt(bt,[["__scopeId","data-v-04d86beb"]]);export{Mt as default};