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