Files
zyt/server/public/admin/assets/mubiao-dept-card-4mFxpjx5.js
T
2026-05-06 18:22:24 +08:00

2 lines
7.0 KiB
JavaScript

import{d as R,h as A,C as G,T as H}from"./element-plus-B7Dx6hR2.js";import{g as S,c as J}from"./@element-plus/icons-vue-C25ce6PD.js";import{f as O,ak as n,I as d,F as h,ap as E,J as t,G as F,aN as b,a as m,H as c,O as U,A as u}from"./@vue/runtime-core-tF_2qJHK.js";import{o as v,Q as s,p as Q}from"./@vue/shared-mAAVTE9n.js";import{y as w}from"./@vue/reactivity-BmZ-20sQ.js";import{_ as j}from"./index-CMjmnkXt.js";import"./@vue/runtime-dom-CEiKlVMn.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-BjeWxBI0.js";import"./pinia-CTWOnonq.js";import"./axios-C80V62Fs.js";import"./@vueuse/core-Da2f2eD_.js";import"./@vueuse/shared-Bl-RnC0s.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-yVHyDRAS.js";import"./tslib-BDyQ-Jie.js";import"./zrender-C0YiHEZX.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-Bm7NQW9r.js";const q={key:0,class:"dept-card__crumb"},K={class:"crumb-seg__text"},P={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"},oe={class:"dept-card__body"},le={class:"field-row"},ne={class:"field-block"},de={key:0,class:"field-block__hint"},re={class:"field-block field-block--remark"},se={class:"child-header"},ie={class:"child-header__count"},ce={class:"child-list"},me={class:"child-row__name-wrap"},ue={class:"child-row__name"},_e={class:"child-row__inputs"},pe=["title"],ge=["title","onClick"],fe={class:"dept-card__footer"},he=O({__name:"mubiao-dept-card",props:{node:{},isRoot:{type:Boolean},drilledId:{}},emits:["drill-in","close"],setup(l,{emit:D}){const i=l,C=D;function p(o){var r;let e=Number(o.target_amount??0);if((r=o.children)!=null&&r.length)for(const g of o.children)e+=p(g);return e}const k=u(()=>{var o;return(o=i.node.children)!=null&&o.length?i.node.children.reduce((e,r)=>e+p(r),0):0}),y=u(()=>Number(i.node.target_amount??0)+k.value),T=u(()=>y.value===0),$=u(()=>{var o;return i.node.target_id?(o=i.node.children)!=null&&o.length?i.node.children.every(e=>e.target_id>0):!0:!1}),V=u(()=>{if(!i.node.dept_path)return null;const o=i.node.dept_path.split(/\s*\/\s*/).filter(Boolean);return o.length>1?o:null}),L=u(()=>{const o=["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 r=0;r<i.node.dept_name.length;r++)e=e*31+i.node.dept_name.charCodeAt(r)&65535;return o[e%o.length]});function x(o){return Number(o||0).toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2})}function N(o){return o>=1e4?(o/1e4).toFixed(1)+"w":o.toLocaleString("zh-CN",{maximumFractionDigits:0})}return(o,e)=>{var z,B;const r=R,g=A,I=G,M=H;return n(),d("div",{class:v(["dept-card",{"dept-card--saved":$.value,"dept-card--empty":T.value}])},[!l.isRoot&&V.value?(n(),d("div",q,[(n(!0),d(h,null,E(V.value,(a,_)=>(n(),d("span",{key:_,class:"crumb-seg"},[t("span",K,s(a),1),_<V.value.length-1?(n(),F(r,{key:0,class:"crumb-sep"},{default:b(()=>[m(w(S))]),_:1})):c("",!0)]))),128))])):c("",!0),t("div",P,[t("div",{class:"dept-card__avatar",style:Q({background:L.value})},s(l.node.dept_name.slice(0,1)),5),t("div",W,[t("div",X,s(l.node.dept_name),1),(z=l.node.children)!=null&&z.length?(n(),d("div",Y,[U(s(l.node.children.length)+" 个子部门 ",1),k.value>0?(n(),d("span",Z,"· ¥"+s(N(k.value)),1)):c("",!0)])):c("",!0)]),t("div",ee,[l.node.target_id?(n(),d("span",te,"已保存")):(n(),d("span",ae,"未设置")),l.isRoot?c("",!0):(n(),d("button",{key:2,class:"close-btn",title:"关闭此卡片",onClick:e[0]||(e[0]=a=>C("close"))},[m(r,null,{default:b(()=>[m(w(J))]),_:1})]))])]),t("div",oe,[t("div",le,[t("div",ne,[e[3]||(e[3]=t("label",{class:"field-block__label"},"目标金额",-1)),m(g,{modelValue:l.node.target_amount,"onUpdate:modelValue":e[1]||(e[1]=a=>l.node.target_amount=a),min:0,precision:2,step:1e3,"controls-position":"right",placeholder:"0.00",class:"field-block__input"},null,8,["modelValue"]),l.node.target_amount>0?(n(),d("span",de," ¥ "+s(x(l.node.target_amount)),1)):c("",!0)]),t("div",re,[e[4]||(e[4]=t("label",{class:"field-block__label"},"备注",-1)),m(I,{modelValue:l.node.remark,"onUpdate:modelValue":e[2]||(e[2]=a=>l.node.remark=a),maxlength:"255",placeholder:"备注(选填)",clearable:""},null,8,["modelValue"])])])]),(B=l.node.children)!=null&&B.length?(n(),d(h,{key:1},[t("div",se,[e[5]||(e[5]=t("span",{class:"child-header__title"},"子部门",-1)),t("span",ie,s(l.node.children.length),1)]),t("div",ce,[(n(!0),d(h,null,E(l.node.children,a=>{var _;return n(),d("div",{key:a.dept_id,class:v(["child-row",{"child-row--active":l.drilledId===a.dept_id}])},[t("div",me,[e[7]||(e[7]=t("div",{class:"child-row__dot"},null,-1)),t("span",ue,s(a.dept_name),1),a.target_id?(n(),F(M,{key:0,size:"small",type:"success",effect:"plain",round:"",class:"child-row__tag"},{default:b(()=>[...e[6]||(e[6]=[U("已保存",-1)])]),_:1})):c("",!0)]),t("div",_e,[m(g,{modelValue:a.target_amount,"onUpdate:modelValue":f=>a.target_amount=f,min:0,precision:2,step:1e3,"controls-position":"right",placeholder:"0.00",class:"child-row__amount"},null,8,["modelValue","onUpdate:modelValue"]),m(I,{modelValue:a.remark,"onUpdate:modelValue":f=>a.remark=f,maxlength:"255",placeholder:"备注",clearable:"",size:"small",class:"child-row__remark"},null,8,["modelValue","onUpdate:modelValue"]),(_=a.children)!=null&&_.length?(n(),d(h,{key:0},[p(a)>0?(n(),d("span",{key:0,class:"child-subtree-total",title:`「${a.dept_name}」含下级合计`}," ="+s(N(p(a))),9,pe)):c("",!0),t("button",{class:v(["drill-btn",{"drill-btn--active":l.drilledId===a.dept_id}]),title:`展开「${a.dept_name}」的 ${a.children.length} 个子部门`,onClick:f=>C("drill-in",a)},[m(r,null,{default:b(()=>[m(w(S))]),_:1}),t("span",null,s(a.children.length),1)],10,ge)],64)):c("",!0)])],2)}),128))])],64)):c("",!0),t("div",fe,[e[8]||(e[8]=t("span",{class:"dept-card__footer-label"},"本卡合计",-1)),t("span",{class:v(["dept-card__footer-total",{"is-nonzero":y.value>0}])}," ¥ "+s(x(y.value)),3)])],2)}}}),tt=j(he,[["__scopeId","data-v-27adbc27"]]);export{tt as default};