2 lines
5.8 KiB
JavaScript
2 lines
5.8 KiB
JavaScript
import{o as R,q as d,r as s,ae as h,F as b,G as I,s as t,T as r,O as S,D as v,v as u,u as w,cD as E,w as q,P as c,t as A,L as F,av as G,J,b7 as O,br as P,p as _}from"./.pnpm-BGZW0UGg.js";import{_ as j}from"./index-CeIwrh_6.js";const H={key:0,class:"dept-card__crumb"},K={class:"crumb-seg__text"},Q={class:"dept-card__header"},W={class:"dept-card__meta"},X={class:"dept-card__name"},Y={key:0,class:"dept-card__sub-count"},Z={key:0,class:"dept-card__sub-total"},ee={class:"dept-card__actions"},te={key:0,class:"status-badge status-badge--saved"},ae={key:1,class:"status-badge status-badge--new"},le={class:"dept-card__body"},ne={class:"field-row"},de={class:"field-block"},se={key:0,class:"field-block__hint"},oe={class:"field-block field-block--remark"},re={class:"child-header"},ie={class:"child-header__count"},ce={class:"child-list"},ue={class:"child-row__name-wrap"},_e={class:"child-row__name"},me={class:"child-row__inputs"},ge=["title"],fe=["title","onClick"],pe={class:"dept-card__footer"},he=R({__name:"mubiao-dept-card",props:{node:{},isRoot:{type:Boolean},drilledId:{}},emits:["drill-in","close"],setup(n,{emit:U}){const i=n,x=U;function g(l){var o;let e=Number(l.target_amount??0);if((o=l.children)!=null&&o.length)for(const f of l.children)e+=g(f);return e}const k=_(()=>{var l;return(l=i.node.children)!=null&&l.length?i.node.children.reduce((e,o)=>e+g(o),0):0}),y=_(()=>Number(i.node.target_amount??0)+k.value),T=_(()=>y.value===0),$=_(()=>{var l;return i.node.target_id?(l=i.node.children)!=null&&l.length?i.node.children.every(e=>e.target_id>0):!0:!1}),V=_(()=>{if(!i.node.dept_path)return null;const l=i.node.dept_path.split(/\s*\/\s*/).filter(Boolean);return l.length>1?l:null}),L=_(()=>{const l=["linear-gradient(135deg,#667eea,#764ba2)","linear-gradient(135deg,#f093fb,#f5576c)","linear-gradient(135deg,#4facfe,#00f2fe)","linear-gradient(135deg,#43e97b,#38f9d7)","linear-gradient(135deg,#fa709a,#fee140)","linear-gradient(135deg,#30cfd0,#330867)","linear-gradient(135deg,#a18cd1,#fbc2eb)","linear-gradient(135deg,#fccb90,#d57eeb)","linear-gradient(135deg,#e0c3fc,#8ec5fc)","linear-gradient(135deg,#f6d365,#fda085)"];let e=0;for(let o=0;o<i.node.dept_name.length;o++)e=e*31+i.node.dept_name.charCodeAt(o)&65535;return l[e%l.length]});function C(l){return Number(l||0).toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2})}function N(l){return l>=1e4?(l/1e4).toFixed(1)+"w":l.toLocaleString("zh-CN",{maximumFractionDigits:0})}return(l,e)=>{var B,D;const o=q,f=J,z=O,M=P;return d(),s("div",{class:h(["dept-card",{"dept-card--saved":$.value,"dept-card--empty":T.value}])},[!n.isRoot&&V.value?(d(),s("div",H,[(d(!0),s(b,null,I(V.value,(a,m)=>(d(),s("span",{key:m,class:"crumb-seg"},[t("span",K,r(a),1),m<V.value.length-1?(d(),S(o,{key:0,class:"crumb-sep"},{default:v(()=>[u(w(E))]),_:1})):c("",!0)]))),128))])):c("",!0),t("div",Q,[t("div",{class:"dept-card__avatar",style:A({background:L.value})},r(n.node.dept_name.slice(0,1)),5),t("div",W,[t("div",X,r(n.node.dept_name),1),(B=n.node.children)!=null&&B.length?(d(),s("div",Y,[F(r(n.node.children.length)+" 个子部门 ",1),k.value>0?(d(),s("span",Z,"· ¥"+r(N(k.value)),1)):c("",!0)])):c("",!0)]),t("div",ee,[n.node.target_id?(d(),s("span",te,"已保存")):(d(),s("span",ae,"未设置")),n.isRoot?c("",!0):(d(),s("button",{key:2,class:"close-btn",title:"关闭此卡片",onClick:e[0]||(e[0]=a=>x("close"))},[u(o,null,{default:v(()=>[u(w(G))]),_:1})]))])]),t("div",le,[t("div",ne,[t("div",de,[e[3]||(e[3]=t("label",{class:"field-block__label"},"目标金额",-1)),u(f,{modelValue:n.node.target_amount,"onUpdate:modelValue":e[1]||(e[1]=a=>n.node.target_amount=a),min:0,precision:2,step:1e3,"controls-position":"right",placeholder:"0.00",class:"field-block__input"},null,8,["modelValue"]),n.node.target_amount>0?(d(),s("span",se," ¥ "+r(C(n.node.target_amount)),1)):c("",!0)]),t("div",oe,[e[4]||(e[4]=t("label",{class:"field-block__label"},"备注",-1)),u(z,{modelValue:n.node.remark,"onUpdate:modelValue":e[2]||(e[2]=a=>n.node.remark=a),maxlength:"255",placeholder:"备注(选填)",clearable:""},null,8,["modelValue"])])])]),(D=n.node.children)!=null&&D.length?(d(),s(b,{key:1},[t("div",re,[e[5]||(e[5]=t("span",{class:"child-header__title"},"子部门",-1)),t("span",ie,r(n.node.children.length),1)]),t("div",ce,[(d(!0),s(b,null,I(n.node.children,a=>{var m;return d(),s("div",{key:a.dept_id,class:h(["child-row",{"child-row--active":n.drilledId===a.dept_id}])},[t("div",ue,[e[7]||(e[7]=t("div",{class:"child-row__dot"},null,-1)),t("span",_e,r(a.dept_name),1),a.target_id?(d(),S(M,{key:0,size:"small",type:"success",effect:"plain",round:"",class:"child-row__tag"},{default:v(()=>[...e[6]||(e[6]=[F("已保存",-1)])]),_:1})):c("",!0)]),t("div",me,[u(f,{modelValue:a.target_amount,"onUpdate:modelValue":p=>a.target_amount=p,min:0,precision:2,step:1e3,"controls-position":"right",placeholder:"0.00",class:"child-row__amount"},null,8,["modelValue","onUpdate:modelValue"]),u(z,{modelValue:a.remark,"onUpdate:modelValue":p=>a.remark=p,maxlength:"255",placeholder:"备注",clearable:"",size:"small",class:"child-row__remark"},null,8,["modelValue","onUpdate:modelValue"]),(m=a.children)!=null&&m.length?(d(),s(b,{key:0},[g(a)>0?(d(),s("span",{key:0,class:"child-subtree-total",title:`「${a.dept_name}」含下级合计`}," ="+r(N(g(a))),9,ge)):c("",!0),t("button",{class:h(["drill-btn",{"drill-btn--active":n.drilledId===a.dept_id}]),title:`展开「${a.dept_name}」的 ${a.children.length} 个子部门`,onClick:p=>x("drill-in",a)},[u(o,null,{default:v(()=>[u(w(E))]),_:1}),t("span",null,r(a.children.length),1)],10,fe)],64)):c("",!0)])],2)}),128))])],64)):c("",!0),t("div",pe,[e[8]||(e[8]=t("span",{class:"dept-card__footer-label"},"本卡合计",-1)),t("span",{class:h(["dept-card__footer-total",{"is-nonzero":y.value>0}])}," ¥ "+r(C(y.value)),3)])],2)}}}),ke=j(he,[["__scopeId","data-v-27adbc27"]]);export{ke as default};
|