物管理前端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

120 lines
35 KiB

  1. import{_ as Rt}from"./RelatedComps.vue_vue_type_script_setup_true_lang-DyVZQ5A1.js";import{c as xt,i as St,o as Ct,b as _t,d as Mt}from"./helpers-CjmtV6uB.js";import{d as le,O as $,s as M,S as Nt,G as c,T as Oe,i as Fe,c as b,y as Qe,ax as Tt,t as Pe,Q as Pt,P as Ot,o as Ft,b as Kt,q as I,w as q,J as _e,u as j,F as Lt}from"./index-bVOhw2NF.js";import{V as Bt,F as It}from"./FocusDetector-DcygY9Tk.js";import{c as zt}from"./context-KbjOeZY_.js";import{u as he}from"./use-memo-BgHp9YyU.js";import{_ as Xe}from"./Checkbox-DAl6jmZx.js";import{N as At}from"./Loading-CByrJVhO.js";import{N as He}from"./Icon-Ck7Ij_E6.js";import{C as Vt}from"./ChevronRight-DjG_plXV.js";import{F as $t,u as jt,d as Ut,c as Ye,a as Dt,N as Et,e as Ht,S as qt,_ as Wt}from"./Select-BpXzRZdb.js";import{h as ze}from"./happens-in-CM8LO42l.js";import{d as pe}from"./index-C-nsH7mf.js";import{S as Gt}from"./Scrollbar-DVK2lT9w.js";import{c as Ze}from"./clickoutside-CCtiUDaG.js";import{c as V,b as ve,a as Me,d as Q,u as Jt,f as et,z as Qt,h as Xt}from"./light-Cua7cqmF.js";import{f as Yt}from"./fade-in.cssr-CltBGdAW.js";import{u as Zt}from"./use-style-qLHIyj3D.js";import{a as tt,r as eo}from"./resolve-slot-Dzko3qih.js";import{f as qe}from"./fade-in-scale-up.cssr-CTZmXn_X.js";import{n as to}from"./dark-C1gkUD1h.js";import{u as oo}from"./use-locale-CFjRjALw.js";import{u as We}from"./use-merged-state-CzrzZJbg.js";import{u as no}from"./use-form-item-CNgNT5jP.js";import{i as lo}from"./use-is-mounted-wlrzLfZo.js";import{u as Te,B as ao,V as io,a as Ge}from"./Follower-DJGS5Fnl.js";import{g as ro}from"./get-precise-event-target-DhO46Lpt.js";import{m as so}from"./index-DsSU6HIH.js";import{c as ne}from"./call-f2ri57Kd.js";import{_ as uo}from"./text-ClDrYWYc.js";import{_ as co}from"./FormItem-Cp_SJVoE.js";import{_ as mo}from"./InputNumber-BUVD-lKD.js";import{_ as fo}from"./Form-BZRGTIxb.js";import"./index-DPltKIjj.js";import"./index-xXhpGjLP.js";import"./vue-repl-jaFwbjhK.js";import"./codemirror-editor-CFwWTn8s.js";import"./common-CalHcBJp.js";import"./index-C8mAaM2V.js";import"./editor-ouq_SSv2.js";import"./cloneDeep-C6NKQlMO.js";import"./_initCloneObject-K-Y0ueWp.js";import"./_getTag-BJ2nhJXz.js";import"./http-D9Asdp-z.js";import"./light-BKuBIbLH.js";import"./use-compitable-DMmt6sIs.js";import"./dayjs.min-tKPc2Ebd.js";import"./toggleHighContrast-BiNrcRtm.js";import"./editorWorker-UB-8rWUJ.js";import"./GridRect-B5GXph4N.js";import"./style-D4sssT3k.js";import"./upload-DeP_4dQB.js";import"./Scrollbar-Db3aKfvv.js";import"./use-rtl-CRyak7TN.js";import"./light-uWHRDFKR.js";import"./light-CE5Kvs_2.js";import"./light-B00G814I.js";import"./light-MOj96jwO.js";import"./Input-CFQSA5NN.js";import"./browser-DLIXj5nt.js";import"./is-browser-DqcmxZSF.js";import"./Suffix-BqBRFVnL.js";import"./icon-switch.cssr-BCTOxvoq.js";import"./VResizeObserver-Tzd5ds8d.js";import"./delegate-CI_DDEu_.js";import"./Forward-B4Y9XmRi.js";import"./Popover-DLIip8wF.js";import"./toString-eibgRg41.js";import"./_baseEach-BwxcRWC6.js";import"./get-BuNGRF3A.js";import"./_baseFor-mOzdmxoL.js";import"./format-length-B-p6aW7q.js";import"./index-C9vhMoZJ.js";import"./flatten-7z_8MaI9.js";import"./index-L98eAIry.js";import"./keep-B1eBS8j0.js";import"./keysOf-HiGXOwLp.js";import"./omit-DbnPTcif.js";import"./context-CNWzaUOd.js";import"./Button-B7xQqa1N.js";import"./color-to-class-B0iQgAn2.js";import"./Tree-CzaEbcLe.js";import"./render-BxFg9-7m.js";import"./fade-in-height-expand.cssr-Bx380MfO.js";import"./light-D6zEcTvP.js";import"./light-DU0-KyAX.js";import"./Modal-BHLPhdX-.js";import"./context-ELq7iLHP.js";import"./Card-BhgyLFi8.js";import"./light-BqIgj82_.js";import"./Close-D6FODkWY.js";import"./light-rvBL92Ju.js";import"./Warning-WCOp46KX.js";import"./utils-BKyMmInE.js";import"./Image-CAe7wDsQ.js";import"./light-jvBBpnb8.js";import"./light-C52Zdmem.js";import"./_createCompounder-D746aL6M.js";import"./Tooltip-C_3SXSAr.js";import"./download-C2161hUv.js";import"./noImage-CAsvTj-5.js";import"./light-Blmb_y9V.js";import"./Add-CgLKrdZy.js";import"./Progress-BpvQ1C2a.js";import"./light-DH15IGTV.js";import"./light-DWk6YUKo.j
  2. position: absolute;
  3. left: 0;
  4. right: 0;
  5. top: 0;
  6. bottom: 0;
  7. display: flex;
  8. align-items: center;
  9. justify-content: center;
  10. text-align: center;
  11. padding: 14px;
  12. overflow: hidden;
  13. `,[Yt()]),vo=le({name:"BaseMenuMask",props:{clsPrefix:{type:String,required:!0}},setup(t){Zt("-base-menu-mask",ho,$(t,"clsPrefix"));const i=M(null);let n=null;const l=M(!1);return Nt(()=>{n!==null&&window.clearTimeout(n)}),Object.assign({message:i,show:l},{showOnce(g,k=1500){n&&window.clearTimeout(n),l.value=!0,i.value=g,n=window.setTimeout(()=>{l.value=!1,i.value=null},k)}})},render(){return c(Oe,{name:"fade-in-transition"},{default:()=>this.show?c("div",{class:`${this.clsPrefix}-base-menu-mask`},this.message):null})}});function Ne(t){return t?t.map(i=>i.rawNode):null}function po(t,i,n,l){const a=[],g=[];function k(p){for(const w of p){if(w.disabled)continue;const{rawNode:C}=w;g.push(C),(w.isLeaf||!i)&&a.push({label:Ae(w,l,n),value:w.key,rawNode:w.rawNode,path:Array.from(g)}),!w.isLeaf&&w.children&&k(w.children),g.pop()}}return k(t),a}function Ae(t,i,n){const l=[];for(;t;)l.push(t.rawNode[n]),t=t.parent;return l.reverse().join(i)}const ge=zt("n-cascader"),Je=le({name:"NCascaderOption",props:{tmNode:{type:Object,required:!0}},setup(t){const{expandTriggerRef:i,remoteRef:n,multipleRef:l,mergedValueRef:a,checkedKeysRef:g,indeterminateKeysRef:k,hoverKeyPathRef:p,keyboardKeyRef:w,loadingKeySetRef:C,cascadeRef:u,mergedCheckStrategyRef:O,onLoadRef:z,mergedClsPrefixRef:_,mergedThemeRef:D,labelFieldRef:U,showCheckboxRef:W,renderPrefixRef:y,renderSuffixRef:v,updateHoverKey:T,updateKeyboardKey:N,addLoadingKey:A,deleteLoadingKey:E,closeMenu:ae,doCheck:ee,doUncheck:be,renderLabelRef:m}=Fe(ge),R=b(()=>t.tmNode.key),F=b(()=>{const{value:P}=i,{value:J}=n;return!J&&P==="hover"}),L=b(()=>{if(F.value)return ue}),X=b(()=>{if(F.value)return ye}),H=he(()=>{const{value:P}=l;return P?g.value.includes(R.value):a.value===R.value}),ie=he(()=>l.value?k.value.includes(R.value):!1),Ke=he(()=>p.value.includes(R.value)),Le=he(()=>{const{value:P}=w;return P===null?!1:P===R.value}),Y=he(()=>n.value?C.value.has(R.value):!1),re=b(()=>t.tmNode.isLeaf),se=b(()=>t.tmNode.disabled),G=b(()=>t.tmNode.rawNode[U.value]),Z=b(()=>t.tmNode.shallowLoaded);function te(P){if(se.value)return;const{value:J}=n,{value:B}=C,{value:ke}=z,{value:K}=R,{value:Re}=re,{value:xe}=Z;ze(P,"checkbox")||(J&&!xe&&!B.has(K)&&ke&&(A(K),ke(t.tmNode.rawNode).then(()=>{E(K)}).catch(()=>{E(K)})),T(K),N(K)),Re&&we()}function ue(){if(!F.value||se.value)return;const{value:P}=R;T(P),N(P)}function ye(){F.value&&ue()}function me(){const{value:P}=re;P||we()}function we(){const{value:P}=l,{value:J}=R;P?ie.value||H.value?be(J):ee(J):(ee(J),ae(!0))}return{checkStrategy:O,multiple:l,cascade:u,checked:H,indeterminate:ie,hoverPending:Ke,keyboardPending:Le,isLoading:Y,showCheckbox:W,isLeaf:re,disabled:se,label:G,mergedClsPrefix:_,mergedTheme:D,handleClick:te,handleCheckboxUpdateValue:me,mergedHandleMouseEnter:L,mergedHandleMouseMove:X,renderLabel:m,renderPrefix:y,renderSuffix:v}},render(){const{mergedClsPrefix:t,showCheckbox:i,renderLabel:n,renderPrefix:l,renderSuffix:a}=this;let g=null;if(i||l){const w=this.showCheckbox?c(Xe,{focusable:!1,"data-checkbox":!0,disabled:this.disabled,checked:this.checked,indeterminate:this.indeterminate,theme:this.mergedTheme.peers.Checkbox,themeOverrides:this.mergedTheme.peerOverrides.Checkbox,onUpdateChecked:this.handleCheckboxUpdateValue}):null;g=c("div",{class:`${t}-cascader-option__prefix`},l?l({option:this.tmNode.rawNode,checked:this.checked,node:w}):w)}let k=null;const p=c("div",{class:`${t}-cascader-option-icon-placeholder`},this.isLeaf?this.checkStrategy==="child"&&!(this.multiple&&this.cascade)?c(Oe,{name:"fade-in-scale-up-transition"},{default:()=>this.checked?c(He,{clsPrefix:t,class:`${t}-cascader-option-icon ${t}-cascader-option-icon--checkmark`},{default:()=>c($t,null)}):null}):null:c(At,{clsPrefix:t,scale:.85,strokeWidth:24,show:this.isLoading,class:`${t}-cascader-option-icon`},{default:()=>c(He,{clsPrefix:t,key:"arrow",class:`${t}-cascader-option-icon ${t}-cascader-option-icon--arrow`},{default:()=>c(Vt,null)})}));return k=c("div",{class:`${t}-cascader-option__suffix`},a?a({option:this.tmNode.rawNode,checked:this.checked,node:p}):p),c("div",{class:[`${t}-casc
  14. outline: none;
  15. position: relative;
  16. margin: 4px 0;
  17. display: flex;
  18. flex-flow: column nowrap;
  19. border-radius: var(--n-menu-border-radius);
  20. overflow: hidden;
  21. box-shadow: var(--n-menu-box-shadow);
  22. color: var(--n-option-text-color);
  23. background-color: var(--n-menu-color);
  24. `,[qe({transformOrigin:"inherit",duration:"0.2s"}),Me("empty",`
  25. display: flex;
  26. padding: 12px 32px;
  27. flex: 1;
  28. justify-content: center;
  29. `),V("scrollbar",`
  30. width: 100%;
  31. `),V("base-menu-mask",`
  32. background-color: var(--n-menu-mask-color);
  33. `),V("base-loading",`
  34. color: var(--n-loading-color);
  35. `),V("cascader-submenu-wrapper",`
  36. position: relative;
  37. display: flex;
  38. flex-wrap: nowrap;
  39. `),V("cascader-submenu",`
  40. height: var(--n-menu-height);
  41. min-width: var(--n-column-width);
  42. position: relative;
  43. `,[Q("virtual",`
  44. width: var(--n-column-width);
  45. `),V("scrollbar-content",`
  46. position: relative;
  47. `),ve("&:first-child",`
  48. border-top-left-radius: var(--n-menu-border-radius);
  49. border-bottom-left-radius: var(--n-menu-border-radius);
  50. `),ve("&:last-child",`
  51. border-top-right-radius: var(--n-menu-border-radius);
  52. border-bottom-right-radius: var(--n-menu-border-radius);
  53. `),ve("&:not(:first-child)",`
  54. border-left: 1px solid var(--n-menu-divider-color);
  55. `)]),V("cascader-menu-action",`
  56. box-sizing: border-box;
  57. padding: 8px;
  58. border-top: 1px solid var(--n-menu-divider-color);
  59. `),V("cascader-option",`
  60. height: var(--n-option-height);
  61. line-height: var(--n-option-height);
  62. font-size: var(--n-option-font-size);
  63. padding: 0 0 0 18px;
  64. box-sizing: border-box;
  65. min-width: 182px;
  66. background-color: #0000;
  67. display: flex;
  68. align-items: center;
  69. white-space: nowrap;
  70. position: relative;
  71. cursor: pointer;
  72. transition:
  73. background-color .2s var(--n-bezier),
  74. color 0.2s var(--n-bezier);
  75. `,[Q("show-prefix",`
  76. padding-left: 0;
  77. `),Me("label",`
  78. flex: 1 0 0;
  79. overflow: hidden;
  80. text-overflow: ellipsis;
  81. `),Me("prefix",`
  82. min-width: 32px;
  83. display: flex;
  84. align-items: center;
  85. justify-content: center;
  86. `),Me("suffix",`
  87. min-width: 32px;
  88. display: flex;
  89. align-items: center;
  90. justify-content: center;
  91. `),V("cascader-option-icon-placeholder",`
  92. line-height: 0;
  93. position: relative;
  94. width: 16px;
  95. height: 16px;
  96. font-size: 16px;
  97. `,[V("cascader-option-icon",[Q("checkmark",`
  98. color: var(--n-option-check-mark-color);
  99. `,[qe({originalTransition:"background-color .3s var(--n-bezier), box-shadow .3s var(--n-bezier)"})]),Q("arrow",`
  100. color: var(--n-option-arrow-color);
  101. `)])]),Q("selected",`
  102. color: var(--n-option-text-color-active);
  103. `),Q("active",`
  104. color: var(--n-option-text-color-active);
  105. background-color: var(--n-option-color-hover);
  106. `),Q("pending",`
  107. background-color: var(--n-option-color-hover);
  108. `),ve("&:hover",`
  109. background-color: var(--n-option-color-hover);
  110. `),Q("disabled",`
  111. color: var(--n-option-text-color-disabled);
  112. background-color: #0000;
  113. cursor: not-allowed;
  114. `,[V("cascader-option-icon",[Q("arrow",`
  115. color: var(--n-option-text-color-disabled);
  116. `)])])])]),V("cascader",`
  117. z-index: auto;
  118. position: relative;
  119. width: 100%;
  120. `)]),ko=Object.assign(Object.assign({},et.props),{allowCheckingNotLoaded:Boolean,to:Te.propTo,bordered:{type:Boolean,default:void 0},options:{type:Array,default:()=>[]},value:[String,Number,Array],defaultValue:{type:[String,Number,Array],default:null},placeholder:String,multiple:Boolean,size:String,filterable:Boolean,disabled:{type:Boolean,default:void 0},disabledField:{type:String,default:"disabled"},expandTrigger:{type:String,default:"click"},clearable:Boolean,clearFilterAfterSelect:{type:Boolean,default:!0},remote:Boolean,onLoad:Function,separator:{type:String,default:" / "},filter:Function,placement:{type:String,default:"bottom-start"},cascade:{type:Boolean,default:!0},leafOnly:Boolean,showPath:{type:Boolean,default:!0},show:{type:Boolean,default:void 0},maxTagCount:[String,Number],ellipsisTagPopoverProps:Object,menuProps:Object,filterMenuProps:Object,virtualScroll:{type:Boolean,default:!0},checkStrategy:{type:String,default:"all"},valueField:{type:String,default:"value"},labelField:{type:String,default:"label"},childrenField:{type:String,default:"children"},renderLabel:Function,status:String,"onUpdate:value":[Function,Array],onUpdateValue:[Function,Array],"onUpdate:show":[Function,Array],onUpdateShow:[Function,Array],onBlur:Function,onFocus:Function,getColumnStyle:Function,renderPrefix:Function,renderSuffix:Function,onChange:[Function,Array]}),Ro=le({name:"Cascader",props:ko,setup(t,{slots:i}){const{mergedBorderedRef:n,mergedClsPrefixRef:l,namespaceRef:a,inlineThemeDisabled:g}=Jt(t),k=et("Cascader","-cascader",wo,to,t,l),{localeRef:p}=oo("Cascader"),w=M(t.defaultValue),C=b(()=>t.value),u=We(C,w),O=b(()=>t.leafOnly?"child":t.checkStrategy),z=M(""),_=no(t),{mergedSizeRef:D,mergedDisabledRef:U,mergedStatusRef:W}=_,y=M(null),v=M(null),T=M(null),N=M(null),A=M(null),E=M(new Set),ae=M(null),ee=M(null),be=Te(t),m=M(!1),R=e=>{E.value.add(e)},F=e=>{E.value.delete(e)},L=b(()=>{const{valueField:e,childrenField:o,disabledField:r}=t;return Ye(t.options,{getDisabled(f){return f[r]},getKey(f){return f[e]},getChildren(f){return f[o]}})}),X=b(()=>{const{cascade:e,multiple:o}=t;return o&&Array.isArray(u.value)?L.value.getCheckedKeys(u.value,{cascade:e,allowNotLoaded:t.allowCheckingNotLoaded}):{checkedKeys:[],indeterminateKeys:[]}}),H=b(()=>X.value.checkedKeys),ie=b(()=>X.value.indeterminateKeys),Ke=b(()=>{const{treeNodePath:e,treeNode:o}=L.value.getPath(A.value);let r;return o===null?r=[L.value.treeNodes]:(r=e.map(f=>f.siblings),!o.isLeaf&&!E.value.has(o.key)&&o.children&&r.push(o.children)),r}),Le=b(()=>{const{keyPath:e}=L.value.getPath(A.value);return e}),Y=b(()=>k.value.self.optionHeight);Tt(t.options)&&Pe(t.options,(e,o)=>{e!==o&&(A.value=null,N.value=null)});const re=M(!1);function se(e){const{onUpdateShow:o,"onUpdate:show":r}=t;o&&ne(o,e),r&&ne(r,e),re.value=e}function G(e,o,r){const{onUpdateValue:f,"onUpdate:value":s,onChange:x}=t,{nTriggerFormInput:d,nTriggerFormChange:S}=_;f&&ne(f,e,o,r),s&&ne(s,e,o,r),x&&ne(x,e,o,r),w.value=e,d(),S()}function Z(e){N.value=e}function te(e){A.value=e}function ue(e){const{value:{getNode:o}}=L;return e.map(r=>{var f;return((f=o(r))===null||f===void 0?void 0:f.rawNode)||null})}function ye(e){var o;const{cascade:r,multiple:f,filterable:s}=t,{value:{check:x,getNode:d,getPath:S}}=L;if(f)try{const{checkedKeys:h}=x(e,X.value.checkedKeys,{cascade:r,checkStrategy:O.value,allowNotLoaded:t.allowCheckingNotLoaded});G(h,ue(h),h.map(ce=>{var fe;return Ne((fe=S(ce))===null||fe===void 0?void 0:fe.treeNodePath)})),s&&Be(),N.value=e,A.value=e}catch(h){if(h instanceof qt){if(y.value){const ce=d(e);ce!==null&&y.value.showErrorMessage(ce.rawNode[t.labelField])}}else throw h}else if(O.value==="child"){const h=d(e);if(h!=null&&h.isLeaf)G(e,h.rawNode,Ne(S(e).treeNodePath));else return!1}else{const h=d(e);G(e,(h==null?void 0:h.rawNode)||null,Ne((o=S(e))===null||o===void 0?void 0:o.treeNodePath))}return!0}function me(e){const{cascade:o,multiple:r}=t;if(r){const{value:{uncheck:f,getNode:s,getPath:x}}=L,{checkedKeys:d}=f(e,X.value.checkedKeys,{cascade:o,checkStrategy:O.value,allowNotLoaded:t.allowCheckingNotLoaded});G(d