TableDataDisplay.1019e4a5.js 5.3 KB

1
  1. import{f as ie,al as de,p as P,r,Q as ce,e as ue,w as fe,d as me,a7 as j,h as ge,i as ve,M as A,G as h,K as T,j as W,L as w,B as pe,aa as he}from"./vue.9083513e.js";import{k as G,w as $,m as H,l as De,n as _e,o as Se}from"./columns.185e998c.js";import{d as g}from"./elementPlus.97569cdd.js";import{_ as be}from"./_plugin-vue_export-helper.c27b6911.js";import"./index.136f97e1.js";import"./echarts.594b4072.js";const ye={class:"font-semibold"},Ce={class:"font-semibold",style:{color:"#164285"}},Ye=ie({__name:"TableDataDisplay",props:{taskIds:Object},setup(R){const q=de(),l=P("dateDimension"),L=P("currentDate"),D=r(!1),_=R,M=r(null),k=r(null),I=r(null),x=r(null),E=r(null),O=r(null),Q=[],U=[],J=[],d=r(""),v=r(""),S=r(null),b=r(null),N=r(!0),o=ce({border:"inner",height:900,align:null,round:!0,loading:!1,id:"normalCustomStorage",customConfig:{storage:{visible:!0}},columnConfig:{resizable:!0},rowConfig:{isHover:!0},pagerConfig:{enabled:!0,total:20,currentPage:1,pageSize:20,pageSizes:[10,20,30]},sortConfig:{remote:!0,defaultSort:{field:b,order:S}},toolbarConfig:{custom:!0,zoom:{iconIn:"vxe-icon-fullscreen",iconOut:"vxe-icon-minimize"},slots:{buttons:"toolbar_buttons"}},day:{columns:G,data:Q},week:{columns:$,data:U},month:{columns:H,data:J}}),X=ue(()=>{const e=o[l.value];return{...o,...e}}),Z={pageChange({currentPage:e,pageSize:a}){o.pagerConfig&&(o.pagerConfig.currentPage=e,o.pagerConfig.pageSize=a,C(_.taskIds))}},z=()=>{localStorage.setItem("sortField",d.value),localStorage.setItem("sortOrder",v.value),localStorage.setItem("salesOrder",S.value),localStorage.setItem("salesField",b.value)},K=()=>{d.value=localStorage.getItem("sortField")||"",v.value=localStorage.getItem("sortOrder")||"",o.sortConfig.defaultSort.order=localStorage.getItem("salesOrder")||"",o.sortConfig.defaultSort.field=localStorage.getItem("salesField")||""};async function y(e,a,c,u,n,Y){try{o.loading=!0,K();const f=await a({page:o.pagerConfig.currentPage,limit:o.pagerConfig.pageSize,[`${Y}_start_date`]:c.value,[`${Y}_end_date`]:u.value,task_ids:e,sort:v.value,order_date:d.value});if(o[l.value].data=f.data,o.pagerConfig.total=f.total,N.value&&f.data.length>0){const B=new Set,p=[],F=[];n.value=n.value.filter(t=>!/\d{2}-\d{2}/.test(t.field)&&!t.field.includes("余额币种")&&!t.field.includes("退货率")),f.data.forEach(t=>{for(const s in t)(/\d{2}-\d{2}/.test(s)||s.includes("余额币种")||s.includes("退货率"))&&B.add(s)}),B.forEach(t=>{let s=!1;t.includes("的销售额")&&!t.includes("增长率")&&(s=!0);const i={field:t,title:t,minWidth:t.includes("~")?95:/\d{4}-\d{2}-\d{2}的/.test(t)?93:t.includes("截止")?90:79,align:"center",formatter:ne,sortable:s};t.includes("的销售额")&&!t.includes("增长率")?p.push(i):F.push(i)}),l.value=="day"?p.sort((t,s)=>{const i=t.field.match(/\d{4}-\d{2}-\d{2}/)[0],m=s.field.match(/\d{4}-\d{2}-\d{2}/)[0];return new Date(i)-new Date(m)}):l.value=="week"?p.sort((t,s)=>{const i=t.field.match(/\d{4}-\d{2}-\d{2}~\d{4}-\d{2}-\d{2}/)[0].split("~")[0],m=s.field.match(/\d{4}-\d{2}-\d{2}~\d{4}-\d{2}-\d{2}/)[0].split("~")[0];return console.log(i,m),new Date(i)-new Date(m)}):l.value=="month"&&p.sort((t,s)=>{const i=t.field.match(/\d{4}-\d{2}/)[0],m=s.field.match(/\d{4}-\d{2}/)[0];return new Date(i)-new Date(m)});const re=[...p,...F];l.value===Y?n.value=[...n.value,...re]:(n.value=[],o.pagerConfig.total=0)}z()}catch(f){console.error("Error fetching task data:",f)}finally{o.loading=!1}}async function V(e){await y(e,De,M,k,G,"day")}async function ee(e){await y(e,_e,I,x,$,"week")}async function te(e){await y(e,Se,E,O,H,"month")}function C(e,a=!1){a&&(o.pagerConfig.currentPage=1),l.value==="day"?V(e):l.value==="week"?ee(e):l.value==="month"&&te(e)}function ae({field:e,order:a}){if(S.value=a,b.value=e,v.value=a==="asc"?"smallfirst":"bigfirst",e){const c=e.match(/(\d{4}-\d{2}-\d{2})的销售额/),u=e.match(/(\d{4}-\d{2}-\d{2})~(\d{4}-\d{2}-\d{2})的销售额/),n=e.match(/(\d{4}-\d{2})的销售额/);u?d.value=u[1]:c?d.value=c[1]:n&&(d.value=`${n[1]}-01`)}z(),o.sortConfig.defaultSort.order=a,o.sortConfig.defaultSort.field=e,N.value=!1,C(_.taskIds,!0)}const oe=()=>{const e=q.resolve({name:"TableDataEntry",query:{dateType:l.value}}).href;window.open(e,"_blank")};function ne({cellValue:e}){return e==null||e===""?"--":typeof e=="number"?new Intl.NumberFormat("en-US",{minimumFractionDigits:0}).format(e):e}const le=()=>({fontSize:"12px",fontWeight:"600"}),se=()=>({fontSize:"12px"});return fe([()=>_.taskIds,L],([e,a])=>{l.value==="day"?(M.value=g(a.dailyStartDate).format("YYYY-MM-DD"),k.value=g(a.dailyTime).format("YYYY-MM-DD")):l.value==="week"?(I.value=g(a.weekStartDate).format("YYYY-MM-DD"),x.value=g(a.weekEndDate).format("YYYY-MM-DD")):l.value==="month"&&(E.value=g(a.startDate).format("YYYY-MM-DD"),O.value=g(a.endDate).format("YYYY-MM-DD")),v.value="",d.value="",e&&(D.value=!0),D.value&&e&&(C(e,!0),D.value=!1)}),me(()=>{}),(e,a)=>{const c=j("el-button"),u=j("vxe-grid");return ge(),ve("div",null,[A(u,pe({"cell-style":le,"header-cell-style":se,stripe:""},X.value,he(Z),{onSortChange:ae}),{toolbar_buttons:h(()=>[A(c,{icon:"plus",target:"_blank",type:"primary",onClick:oe},{default:h(()=>[T("数据录入")]),_:1})]),platformNumber_default:h(({row:n})=>[W("div",ye,w(n.platformNumber),1)]),platformName_default:h(({row:n})=>[W("div",Ce,w(n.platformName),1)]),brandName_default:h(({row:n})=>[T(w(n.brandName),1)]),_:1},16)])}}});const Oe=be(Ye,[["__scopeId","data-v-cecfd579"]]);export{Oe as default};