mainData.e0f940d5.js 3.3 KB

1
  1. import{e as z,g as E}from"./api.3736ee48.js";import{h as I}from"./elementPlus.59866ea5.js";import{d as O,r as s,Q as j,w as d,a8 as h,o as B,E as P,G as N,a as F,M as H,B as M,ab as R}from"./vue.95e072e2.js";import{_ as L}from"./_plugin-vue_export-helper.c27b6911.js";import"./index.ad090ffd.js";import"./echarts.2703a7ac.js";const T={class:"mx-3.5"},U=O({__name:"mainData",props:{dayDate:Object,weekDate:Object,monthDate:Object,taskIds:Object},setup(C){const r=C,c=s([]),p=s([]),i=s(null),u=s(null),_=s(null),m=s(null),f=s(null),g=s(null),a=j({border:"inner",height:850,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]},toolbarConfig:{custom:!0,zoom:{iconIn:"vxe-icon-fullscreen",iconOut:"vxe-icon-minimize"},slots:{tools:"toolbar_buttons"}},columns:c.value,data:[]}),k={pageChange({currentPage:t,pageSize:e}){a.pagerConfig&&(a.pagerConfig.currentPage=t,a.pagerConfig.pageSize=e,v(r.taskIds))}};async function v(t){try{a.loading=!0;const e=await E({page:a.pagerConfig.currentPage,limit:a.pagerConfig.pageSize,task_ids:t,day_start_date:i.value,day_end_date:u.value,week_start_date:_.value,week_end_date:m.value,month_start_date:f.value,month_end_date:g.value});return a.data=e.data,a.pagerConfig.total=e.total,e.data}catch(e){console.error("Error fetching task data:",e)}finally{a.loading=!1}}d(()=>r.taskIds,t=>{b()}),d(()=>r.dayDate,t=>{if(t){const{dailyStartDate:e,dailyTime:o}=t;i.value=e,u.value=o}}),d(()=>r.weekDate,t=>{if(t){const{weekStartDate:e,weekEndDate:o}=t;_.value=e,m.value=o,b()}}),d(()=>r.monthDate,t=>{if(t){const{startDate:e,endDate:o}=t;f.value=e,g.value=o}});const x=t=>{const e=t[0];if(e){const o=["任务ID","可录人数","_X_ROW_KEY"];c.value=Object.keys(e).filter(n=>!o.includes(n)).map((n,l)=>({field:n,title:n,minWidth:n.includes("~")?105:l<5?90:/\d{4}-\d{2}-\d{2}/.test(n)?94:80,fixed:l<6?"left":void 0,align:"center",formatter:S}))}},y=()=>({fontSize:"13px"}),D=({column:t})=>{const e=t.field,o=/\d{2}-\d{2}/,n=/\d{4}-\d{2}-\d{2}/,l=/\d{4}-\d{2}/;return e.includes("~")||e.includes("截止")||e.includes("近90天平台退货率")||e.includes("余额")?{fontSize:"13px",backgroundColor:"#b3ced7"}:l.test(e)&&!n.test(e)?{fontSize:"13px",backgroundColor:"#8cbacc"}:o.test(e)?{fontSize:"13px",backgroundColor:"#d0dadf"}:{fontSize:"13px"}};async function b(){const t=await v(r.taskIds);x(t),p.value=t,a.columns=c.value,a.data=p.value}async function w(){try{a.loading=!0;const t={page:a.pagerConfig.currentPage,limit:a.pagerConfig.pageSize,task_ids:r.taskIds,day_start_date:i.value,day_end_date:u.value,week_start_date:_.value,week_end_date:m.value,month_start_date:f.value,month_end_date:g.value},e=await z(t),o=window.URL.createObjectURL(new Blob([e.data])),n=document.createElement("a");n.href=o,n.setAttribute("download","data_export.xlsx"),document.body.appendChild(n),n.click(),a.loading=!1,I.success("导出数据成功")}catch(t){console.error("导出数据失败:",t)}}function S({cellValue:t}){return t==null||t===""?"--":t}return(t,e)=>{const o=h("vxe-button"),n=h("vxe-grid");return B(),P(n,M({"cell-style":y,"header-cell-style":D},a,R(k)),{toolbar_buttons:N(()=>[F("div",T,[H(o,{circle:"",icon:"vxe-icon-download",onClick:w})])]),_:1},16)}}});const Y=L(U,[["__scopeId","data-v-a563a461"]]);export{Y as default};