ProductProfit-5908eda1.js
8.03 KB
var D=(h,j,v)=>new Promise((g,n)=>{var k=i=>{try{c(v.next(i))}catch(u){n(u)}},f=i=>{try{c(v.throw(i))}catch(u){n(u)}},c=i=>i.done?g(i.value):Promise.resolve(i.value).then(k,f);c((v=v.apply(h,j)).next())});import{d as W,k as l,a8 as V,_ as X,a9 as Z,aa as A,f as R,E as tt,a0 as t,a1 as a,v as E,ar as M,ad as et,u as B,a3 as ot,a4 as lt,ac as dt}from"./vue-5a35c3f5.js";import{b as st,B as rt}from"./index-c1c2669a.js";import{i as at}from"./order-eff5d778.js";import{al as it,_ as nt}from"./index.js";import"./antd-6b087f69.js";import"./useWindowSizeFn-cc2fb57c.js";import"./message-c4c6f446.js";const e=h=>(ot("data-v-80e4b8e1"),h=h(),lt(),h),ct={style:{width:"100%","border-collapse":"collapse","text-align":"center",border:"1px solid black","font-size":"16px"}},ut=e(()=>t("thead",null,[dt(` <tr>\r
<th colspan="4" style="border: 1px solid black">净利润分析表</th>\r
</tr> `)],-1)),pt=e(()=>t("td",{style:{border:"1px solid black",width:"20%"}},"项目号",-1)),_t={style:{border:"1px solid black",width:"20%"}},bt=e(()=>t("td",{style:{border:"1px solid black",width:"20%"}},"开始时间",-1)),ht=e(()=>t("td",{style:{border:"1px solid black",width:"20%"}},"结束时间",-1)),vt=e(()=>t("td",{style:{border:"1px solid black",width:"20%"}},"生产持续时间",-1)),yt=e(()=>t("td",{style:{border:"1px solid black",width:"20%"}},null,-1)),xt=e(()=>t("td",{style:{border:"1px solid black",width:"20%"}},"项目开发时间",-1)),wt={style:{border:"1px solid black",width:"20%"}},kt={style:{border:"1px solid black",width:"20%"}},ft={style:{border:"1px solid black",width:"20%"}},mt=e(()=>t("td",{style:{border:"1px solid black",width:"20%"}},"客户编码",-1)),Pt={style:{border:"1px solid black",width:"20%"}},gt=e(()=>t("td",{style:{border:"1px solid black",width:"20%"}},"明细",-1)),St=e(()=>t("td",{style:{border:"1px solid black",width:"20%"}},"金额",-1)),Tt=e(()=>t("td",{style:{border:"1px solid black",width:"20%"}},"订单数量",-1)),Dt=e(()=>t("td",{style:{border:"1px solid black",width:"40%"},colspan:"2"},"生产科总价合计",-1)),jt={style:{border:"1px solid black",width:"20%"}},Ct={style:{border:"1px solid black",width:"20%"}},Ft={style:{border:"1px solid black",width:"20%"}},It=e(()=>t("td",{style:{border:"1px solid black",width:"40%"},colspan:"2"},"生产科预算金额",-1)),$t={style:{border:"1px solid black",width:"20%"}},At=e(()=>t("td",{style:{border:"1px solid black",width:"20%"}},"预算占比",-1)),Rt=e(()=>t("td",{style:{border:"1px solid black",width:"20%"}},"预算占比与实际占比差",-1)),Nt=e(()=>t("td",{style:{border:"1px solid black",width:"40%"},colspan:"2"},"实际发生费用",-1)),Vt={style:{border:"1px solid black",width:"20%"}},Et={style:{border:"1px solid black",width:"20%"}},Mt={style:{border:"1px solid black",width:"20%"}},Bt=e(()=>t("td",{style:{border:"1px solid black",width:"40%"},colspan:"2"},"内部生产毛利润",-1)),Ut={style:{border:"1px solid black",width:"20%"}},Ot=e(()=>t("td",{style:{border:"1px solid black",width:"20%"}},null,-1)),Lt=e(()=>t("td",{style:{border:"1px solid black",width:"20%"}},null,-1)),zt=e(()=>t("td",{style:{border:"1px solid black",width:"40%"},colspan:"2"},"内部生产固定成本",-1)),Ht={style:{border:"1px solid black",width:"20%"}},Yt=e(()=>t("td",{style:{border:"1px solid black",width:"20%"}},null,-1)),qt=e(()=>t("td",{style:{border:"1px solid black",width:"20%"}},null,-1)),Gt=e(()=>t("td",{style:{border:"1px solid black",width:"40%"},colspan:"2"},"内部生产提成",-1)),Jt={style:{border:"1px solid black",width:"20%"}},Kt=e(()=>t("td",{style:{border:"1px solid black",width:"20%"}},null,-1)),Qt=e(()=>t("td",{style:{border:"1px solid black",width:"20%"}},null,-1)),Wt=e(()=>t("td",{style:{border:"1px solid black",width:"40%"},colspan:"2"},"内部生产净利润",-1)),Xt={style:{border:"1px solid black",width:"20%"}},Zt=e(()=>t("td",{style:{border:"1px solid black",width:"20%"}},null,-1)),te=e(()=>t("td",{style:{border:"1px solid black",width:"20%"}},null,-1)),ee=W({__name:"ProductProfit",setup(h){const j=l(""),v=l(),g=l(),n=l(),k=l(),f=l(),c=l(),i=l(),u=l(),C=l(""),y=l(""),x=l(),F=l(0),I=l(),$=l(0),m=l(0),p=l(),P=l(),_=l(),S=l(),T=l(),[U,{closeModal:O}]=st(o=>D(this,null,function*(){g.value=o.data,S.value=o.filteredItems,S.value.forEach(d=>{var b;console.log(d),(d==null?void 0:d.profitAnalysisInfo)==null&&(d.profitAnalysisInfo={productionDepartmentTotalPrice:0}),m.value+=(b=d==null?void 0:d.profitAnalysisInfo)==null?void 0:b.productionDepartmentTotalPrice,$.value+=d.orderCount}),m.value=m.value.toFixed(2),n.value=o.customerCode[0][0];const r=l(o.projectNo.map(d=>d[0]));P.value=r.value.join(","),T.value=o.data,S.value=o.filteredItems}));function L(){return D(this,null,function*(){it.post("/basic-api/order/erp/calculate_profit/inner_profit_ratio_export",{customerCode:n.value,projectNo:P.value,ids:T.value,projectStartTime:_.value,projectEndTime:p.value,productionDepartmentPredictPrice:x.value,productionActualPrice:y.value},{responseType:"blob"}).then(o=>{const r=new Blob([o.data],{type:"application/octet-stream"}),b=(()=>{const w=new Date,Y=w.getFullYear(),q=String(w.getMonth()+1).padStart(2,"0"),G=String(w.getDate()).padStart(2,"0"),J=String(w.getHours()).padStart(2,"0"),K=String(w.getMinutes()).padStart(2,"0"),Q=String(w.getSeconds()).padStart(2,"0");return`${Y}-${q}-${G} ${J}:${K}:${Q}`})(),s=document.createElement("a");s.href=window.URL.createObjectURL(r),s.download=`内部生产净利润分析${b}.xlsx`,document.body.appendChild(s),s.click(),document.body.removeChild(s)}).catch(o=>{console.error(o)}),O()})}function z(o){o&&(_.value=null,p.value=null,x.value=null,y.value=null,P.value=null,T.value=null,j.value="",v.value=null,g.value=null,n.value=null,k.value=0,f.value=0,c.value=0,i.value=0,u.value="",C.value="",F.value=0,I.value=null,$.value=0,m.value=0,S.value=null)}function N(o){return o.split("T")[0]}function H(){return D(this,null,function*(){_.value=N(_.value),p.value=N(p.value);const o=yield at({customerCode:n.value,projectNo:P.value,ids:T.value,projectStartTime:_.value,projectEndTime:p.value,productionDepartmentPredictPrice:x.value,productionActualPrice:y.value});k.value=o.grossProfit.toFixed(2),f.value=o.innerProduceFixProfit.toFixed(2),c.value=o.innerProduceTotalPrice.toFixed(2),i.value=o.innerProduceTotalProfit.toFixed(2),u.value=`${o.predictRatio}%`,y.value=o.productionActualPrice.toFixed(2),x.value=o.productionDepartmentPredictPrice.toFixed(2),F.value=o.productionDepartmentTotalPrice.toFixed(2),I.value=o.projectDays,C.value=`${o.predictAndActualRatio}%`})}return(o,r)=>{const d=V("a-button"),b=V("a-input");return X(),Z(B(rt),et(o.$attrs,{onRegister:B(U),title:"内部生产净利润分析表",width:"60%",bodyStyle:{height:"360px"},onVisibleChange:z,onOk:L,okText:"导出"}),{appendFooter:A(()=>[R(d,{style:{"background-color":"#1890ff",color:"white"},onClick:H},{default:A(()=>[tt("计算")]),_:1})]),default:A(()=>[t("table",ct,[ut,t("tbody",null,[t("tr",null,[pt,t("td",_t,a(P.value),1),bt,ht,vt]),t("tr",null,[yt,xt,t("td",wt,[E(t("input",{type:"date","onUpdate:modelValue":r[0]||(r[0]=s=>_.value=s),style:{width:"100%"}},null,512),[[M,_.value]])]),t("td",kt,[E(t("input",{type:"date","onUpdate:modelValue":r[1]||(r[1]=s=>p.value=s),style:{width:"100%"}},null,512),[[M,p.value]])]),t("td",ft,a(I.value),1)]),t("tr",null,[mt,t("td",Pt,a(n.value),1),gt,St,Tt]),t("tr",null,[Dt,t("td",jt,"¥"+a(F.value),1),t("td",Ct,"¥"+a(m.value),1),t("td",Ft,a($.value),1)]),t("tr",null,[It,t("td",$t,[R(b,{value:x.value,"onUpdate:value":r[2]||(r[2]=s=>x.value=s),placeholder:"请输入"},null,8,["value"])]),At,Rt]),t("tr",null,[Nt,t("td",Vt,[R(b,{value:y.value,"onUpdate:value":r[3]||(r[3]=s=>y.value=s),placeholder:"请输入"},null,8,["value"])]),t("td",Et,a(u.value),1),t("td",Mt,a(C.value),1)]),t("tr",null,[Bt,t("td",Ut,"¥"+a(k.value),1),Ot,Lt]),t("tr",null,[zt,t("td",Ht,"¥"+a(f.value),1),Yt,qt]),t("tr",null,[Gt,t("td",Jt,"¥"+a(c.value),1),Kt,Qt]),t("tr",null,[Wt,t("td",Xt,"¥"+a(i.value),1),Zt,te])])])]),_:1},16,["onRegister"])}}});const ce=nt(ee,[["__scopeId","data-v-80e4b8e1"],["__file","E:/allcode/erp/test7901/order-erp-front/src/views/project/order/ProductProfit.vue"]]);export{ce as default};