TableDataDisplay.143ad0ec.js 5.2 KB

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