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