1 |
- import{H as ce,I as pe,l as me,J as fe}from"./api.22744ce0.js";import{p as F}from"./columns.4c39c878.js";import{d as $,E as y}from"./elementPlus.4833989a.js";import{S as ge}from"./index.69fb01e4.js";import{d as _e,r as d,Z as w,w as be,j as ve,ai as u,o as h,c as R,U as r,O as o,a as i,K as ye,am as he,aa as ke,a8 as U,u as Ce,F as D,S as m,M as N,R as Se,T as I,aF as xe,aG as Ve}from"./vue.adf17aba.js";import{_ as je}from"./_plugin-vue_export-helper.c27b6911.js";import"./index.b098562c.js";import"./echarts.72dc8373.js";const O=k=>(xe("data-v-3cfeba5e"),k=k(),Ve(),k),we={class:"flex gap-1.5 justify-between mx-2 items-center"},Re={class:"demo-date-picker"},De={class:"block"},Pe=O(()=>i("span",{class:"demonstration"},"年份:",-1)),Ye={class:"pr-2.5"},ze=O(()=>i("span",{class:"text-xl"},"创建计划销售额",-1)),Ee={class:"mt-2",style:{display:"flex","align-items":"center",color:"darkgray"}},qe={style:{"margin-right":"8px"}},Fe={class:"italic pl-1 pr-2"},$e={class:"italic pl-1"},Ue={style:{display:"grid","grid-template-columns":"repeat(2, 1fr)",gap:"5px"}},Ne={class:"dialog-footer"},Ie=_e({__name:"PlanningSales",setup(k){const c=d(""),P=d(null),V=d({}),C=d(!1),j=d(),g=w({january:null,february:null,march:null,april:null,may:null,june:null,july:null,august:null,september:null,october:null,november:null,december:null}),B=w({january:[{required:!0,message:"请输入1月的计划销售额",trigger:"blur"}],february:[{required:!0,message:"请输入2月的计划销售额",trigger:"blur"}],march:[{required:!0,message:"请输入3月的计划销售额",trigger:"blur"}],april:[{required:!0,message:"请输入4月的计划销售额",trigger:"blur"}],may:[{required:!0,message:"请输入5月的计划销售额",trigger:"blur"}],june:[{required:!0,message:"请输入6月的计划销售额",trigger:"blur"}],july:[{required:!0,message:"请输入7月的计划销售额",trigger:"blur"}],august:[{required:!0,message:"请输入8月的计划销售额",trigger:"blur"}],september:[{required:!0,message:"请输入9月的计划销售额",trigger:"blur"}],october:[{required:!0,message:"请输入10月的计划销售额",trigger:"blur"}],november:[{required:!0,message:"请输入11月的计划销售额",trigger:"blur"}],december:[{required:!0,message:"请输入12月的计划销售额",trigger:"blur"}]}),M=[{field:"january",label:"1月"},{field:"february",label:"2月"},{field:"march",label:"3月"},{field:"april",label:"4月"},{field:"may",label:"5月"},{field:"june",label:"6月"},{field:"july",label:"7月"},{field:"august",label:"8月"},{field:"september",label:"9月"},{field:"october",label:"10月"},{field:"november",label:"11月"},{field:"december",label:"12月"}],S=d(""),L=["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],G=d([]),_=d(),b=d(null),s=w({border:"inner",height:750,loading:!1,round:!0,editConfig:{trigger:"manual",mode:"row",showStatus:!0,autoClear:!1},columnConfig:{resizable:!0},toolbarConfig:{custom:!0,zoom:{iconIn:"vxe-icon-fullscreen",iconOut:"vxe-icon-minimize"},slots:{tools:"toolbar_tools"}},pagerConfig:{enabled:!0,total:20,currentPage:1,pageSize:20,pageSizes:[10,20,30]},columns:F,data:[]});function J(){c.value=$().format("YYYY")}const A=e=>{const a=new Date().getFullYear();return e.getFullYear()>a+1};async function H(e){S.value=e,C.value=!0}const T=e=>{e&&e.resetFields()};async function K(){const e={january:1,february:2,march:3,april:4,may:5,june:6,july:7,august:8,september:9,october:10,november:11,december:12},a=Object.keys(g).map(n=>({month:e[n],planSales:parseFloat(g[n])||0})),l={year_date:c.value,task:S.value.task||0,month_plan_sales:a};try{await fe(l),C.value=!1,await v()}catch(n){console.error("提交数据时出错:",n)}}const W=async e=>{e&&await e.validate((a,l)=>{a?(K(),e.resetFields(),y.success("创建成功")):y.error("添加失败,请检查填写数据")})},Z={pageChange({currentPage:e,pageSize:a}){s.pagerConfig&&(s.pagerConfig.currentPage=e,s.pagerConfig.pageSize=a),v()}},Y=e=>L.some(a=>e[a]&&e[a].id),z=e=>{const a=_.value;return a?a.isEditByRow(e):!1},Q=e=>{b.value=!1;const a=_.value;a&&a.clearEdit()},X=e=>{b.value=!0;const a=_.value;if(a){for(const l in e)e[l]&&e[l].id&&(G.value=JSON.parse(JSON.stringify(e[l])));a.setEditRow(e)}};async function ee(e){const a=_.value;if(a){const l=[];for(const n in e)if(e[n]&&e[n].id){const x=parseFloat(e[n].planSales);isNaN(x)||l.push({id:e[n].id,planSales:x})}try{await ce(l),b.value=!1,await a.clearEdit(),await v(),y.success("更新成功")}catch{y.error("更新失败,请检查填写数据")}}}async function v(){try{s.loading=!0;const e=await pe({page:s.pagerConfig.currentPage,limit:s.pagerConfig.pageSize,year_date:c.value,task_ids:V.value});s.data=e.data,s.pagerConfig.total=e.total}catch(e){console.error("Error fetching task data:",e)}finally{s.loading=!1}}function ae(e){P.value&&(s.pagerConfig&&(s.pagerConfig.currentPage=1),V.value=e.value,v())}async function te(){try{s.loading=!0;const e=await me({year_date:c.value,task_ids:V.value}),a=window.URL.createObjectURL(new Blob([e.data])),l=document.createElement("a");l.href=a,l.setAttribute("download","计划销售额数据.xlsx"),document.body.appendChild(l),l.click(),s.loading=!1,y.success("导出数据成功")}catch(e){console.error("导出数据失败:",e)}}be(c,(e,a)=>{e!==a&&(c.value=$(e).format("YYYY"))});const le=()=>({fontSize:"13px",fontWeight:"500"}),oe=()=>({fontSize:"13px"});return ve(()=>{J()}),(e,a)=>{const l=u("el-date-picker"),n=u("el-card"),x=u("vxe-button"),re=u("el-tooltip"),f=u("el-button"),E=u("el-input"),se=u("vxe-grid"),ne=u("el-form-item"),ie=u("el-form"),ue=u("el-dialog");return h(),R(D,null,[r(n,{class:"my-3 mx-8 p-0"},{default:o(()=>[i("div",we,[r(ge,{ref_key:"selectorRef",ref:P,"onUpdate:updateData":ae},null,512),i("div",Re,[i("div",De,[Pe,r(l,{modelValue:c.value,"onUpdate:modelValue":a[0]||(a[0]=t=>c.value=t),"disabled-date":A,placeholder:"Pick a year",style:{width:"150px"},type:"year",onChange:v},null,8,["modelValue"])])])])]),_:1}),r(n,{class:"mx-8"},{default:o(()=>[r(se,ye({ref_key:"xGrid",ref:_,"cell-style":le,"header-cell-style":oe},s,he(Z)),ke({toolbar_tools:o(()=>[i("div",Ye,[r(re,{content:"下载表格",placement:"top"},{default:o(()=>[r(x,{circle:"",icon:"vxe-icon-download",onClick:te})]),_:1})])]),operate:o(({row:t})=>[z(t)?(h(),R(D,{key:0},[r(f,{link:"",size:"small",onClick:p=>Q(t)},{default:o(()=>[m("取消")]),_:2},1032,["onClick"]),r(f,{link:"",size:"small",type:"warning",onClick:p=>ee(t)},{default:o(()=>[m("保存")]),_:2},1032,["onClick"])],64)):(h(),N(f,{key:1,disabled:!Y(t)||b.value,link:"",size:"small",type:"success",onClick:p=>X(t)},{default:o(()=>[m(" 修改 ")]),_:2},1032,["disabled","onClick"])),z(t)?Se("",!0):(h(),N(f,{key:2,disabled:Y(t)||b.value,link:"",size:"small",type:"primary",onClick:p=>H(t)},{default:o(()=>[m("创建 ")]),_:2},1032,["disabled","onClick"]))]),_:2},[U(Ce(F),t=>{var p;return{name:`${(p=t.slots)==null?void 0:p.edit}`,fn:o(({row:q})=>[r(E,{modelValue:q[t.field].planSales,"onUpdate:modelValue":de=>q[t.field].planSales=de},null,8,["modelValue","onUpdate:modelValue"])])}})]),1040)]),_:1}),r(ue,{modelValue:C.value,"onUpdate:modelValue":a[3]||(a[3]=t=>C.value=t),"before-close":e.handleClose,style:{"border-radius":"10px"},title:"创建计划销售额",width:"600"},{title:o(()=>[ze,i("div",Ee,[i("div",qe,[m(" 平台编号: "),i("span",Fe,I(S.value.platformNumber),1)]),i("div",null,[m(" 平台名称: "),i("span",$e,I(S.value.platformName),1)])])]),footer:o(()=>[i("div",Ne,[r(f,{onClick:a[1]||(a[1]=t=>{e.dayFormVisible=!1,T(j.value)})},{default:o(()=>[m("取消")]),_:1}),r(f,{type:"primary",onClick:a[2]||(a[2]=t=>W(j.value))},{default:o(()=>[m("确定")]),_:1})])]),default:o(()=>[r(ie,{ref_key:"formRef",ref:j,model:g,rules:B,"label-position":"top","label-width":"auto","status-icon":""},{default:o(()=>[i("div",Ue,[(h(),R(D,null,U(M,t=>r(ne,{label:`${t.label}计划销售额`,prop:t.field},{default:o(()=>[r(E,{modelValue:g[t.field],"onUpdate:modelValue":p=>g[t.field]=p},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1032,["label","prop"])),64))])]),_:1},8,["model","rules"])]),_:1},8,["modelValue","before-close"])],64)}}});const Te=je(Ie,[["__scopeId","data-v-3cfeba5e"]]);export{Te as default};
|