@xmszm/core 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/README.md +10 -1
  2. package/dist/index.cjs +2 -2
  3. package/dist/index.mjs +1296 -1285
  4. package/dist/plugin/vite/initRouteMeta.cjs +1 -0
  5. package/dist/plugin/vite/initRouteMeta.mjs +13 -0
  6. package/dist/style.css +1 -1
  7. package/docs/.vitepress/config.mjs +10 -1
  8. package/docs/components/config-options.md +125 -0
  9. package/docs/components/dataform.md +175 -22
  10. package/docs/components/datatable.md +21 -39
  11. package/docs/components/dialog.md +155 -16
  12. package/docs/components/options.md +43 -14
  13. package/docs/components/query.md +20 -12
  14. package/docs/components/utils.md +118 -10
  15. package/docs/guide/changelog.md +81 -0
  16. package/docs/guide/config.md +241 -4
  17. package/docs/guide/quickstart.md +27 -2
  18. package/docs/index.md +1 -1
  19. package/docs/usage.md +16 -3
  20. package/examples/README.md +46 -0
  21. package/examples/index.html +14 -0
  22. package/examples/package.json +25 -0
  23. package/examples/pnpm-lock.yaml +1569 -0
  24. package/examples/pnpm-workspace.yaml +3 -0
  25. package/examples/src/AdminSystem.vue +870 -0
  26. package/examples/src/App.vue +330 -0
  27. package/examples/src/Introduction.vue +307 -0
  28. package/examples/src/main.js +22 -0
  29. package/examples/src/utils/permission.js +16 -0
  30. package/examples/src/utils/request.js +10 -0
  31. package/examples/vite.config.js +41 -0
  32. package/package.json +10 -4
  33. package/src/dialog/commonDialog.tsx +285 -0
  34. package/src/dialog/utils/{dialog.js → dialog.ts} +2 -0
  35. package/src/enum/sort.tsx +45 -0
  36. package/src/form/DataForm.vue +26 -52
  37. package/src/{index.js → index.ts} +7 -6
  38. package/src/list/{useList.jsx → useList.tsx} +49 -14
  39. package/src/options/{Options.jsx → Options.tsx} +37 -36
  40. package/src/options/defaultOptions.tsx +656 -0
  41. package/src/query/CommonQuery.vue +57 -89
  42. package/src/table/DataTable.vue +60 -94
  43. package/src/table/opr/{DataColumnCollet.jsx → DataColumnCollet.tsx} +18 -8
  44. package/src/table/opr/{useDataColumn.jsx → useDataColumn.tsx} +43 -48
  45. package/src/table/opr/{useDataColumnButton.jsx → useDataColumnButton.tsx} +13 -6
  46. package/src/table/opr/{useDataColumnPop.jsx → useDataColumnPop.tsx} +13 -5
  47. package/src/utils/{array.js → array.ts} +4 -6
  48. package/src/utils/{config.js → config.ts} +16 -2
  49. package/src/utils/{dialog.js → dialog.ts} +2 -2
  50. package/src/utils/{object.js → object.ts} +1 -0
  51. package/src/utils/{upload.js → upload.ts} +3 -3
  52. package/types/components.d.ts +402 -0
  53. package/types/index.d.ts +145 -7
  54. package/types/plugin/vite/initRouteMeta.d.ts +23 -0
  55. package/types/src.d.ts +55 -0
  56. package/types/vue-shim.d.ts +9 -0
  57. package/examples/demo.vue +0 -224
  58. package/src/dialog/commonDialog.jsx +0 -262
  59. package/src/enum/sort.jsx +0 -31
  60. package/src/options/defaultOptions.jsx +0 -580
  61. /package/src/dialog/{useCommonDialog.js → useCommonDialog.ts} +0 -0
  62. /package/src/directives/{auto-register.js → auto-register.ts} +0 -0
  63. /package/src/directives/{permission.js → permission.ts} +0 -0
  64. /package/src/enum/{options.js → options.ts} +0 -0
  65. /package/src/plugin/{index.js → index.ts} +0 -0
  66. /package/src/plugin/vite/{initRouteMeta.js → initRouteMeta.ts} +0 -0
  67. /package/src/store/utils/{index.js → index.ts} +0 -0
  68. /package/src/table/opr/{useQRCode.js → useQRCode.ts} +0 -0
  69. /package/src/table/utils/{ellipsis.js → ellipsis.ts} +0 -0
  70. /package/src/utils/{auth.js → auth.ts} +0 -0
  71. /package/src/utils/{time.js → time.ts} +0 -0
package/README.md CHANGED
@@ -34,9 +34,18 @@ yarn add @xmszm/core
34
34
 
35
35
  ### 引入组件和样式
36
36
 
37
+ **推荐在全局入口文件中引入样式:**
38
+
39
+ ```javascript
40
+ // main.js 或 main.ts
41
+ import '@xmszm/core/dist/style.css' // 全局引入样式
42
+ ```
43
+
44
+ **然后在组件中使用:**
45
+
37
46
  ```javascript
38
47
  import { DataForm, DataTable, CommonQuery, commonDialogMethod } from '@xmszm/core'
39
- import '@xmszm/core/dist/style.css'
48
+ // 如果已在全局引入样式,这里无需重复引入
40
49
  ```
41
50
 
42
51
  ### 基础示例
package/dist/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var qe=Object.defineProperty;var $e=(t,n,e)=>n in t?qe(t,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):t[n]=e;var v=(t,n,e)=>$e(t,typeof n!="symbol"?n+"":n,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("vue"),C=require("naive-ui"),z=require("@vicons/ionicons5"),te=require("vue-router"),q=require("dayjs"),ye=require("lodash-es"),E="name",k="id";function re(t,{labelField:n=E,valueField:e=k}={}){return Object.keys(t).reduce((o,a)=>{const i=Te(t[a],a),r={...i};return r[n]=i==null?void 0:i[n],r[e]=i==null?void 0:i[e],o.concat(r)},[])}function Te(t,n){const e={[E]:l.unref(t),[k]:Number.isNaN(Number(n))?n:Number(n)};return typeof l.unref(t)=="object"?{...l.unref(t),[k]:Number.isNaN(Number(n))?n:Number(n)}:e}const le={style:{cursor:"pointer"},tooltip:{flip:!0,arrowPointToCenter:!0,contentStyle:{minWidth:"100px",maxWidth:"300px",maxHeight:"300px",overflowY:"auto",whiteSpace:"pre-line",boxSizing:"border-box",margin:"0 -14px",padding:"0 14px"},arrowStyle:{backgroundColor:"--n-color"}}},W=(t,n)=>{const e=t.__vccOpts||t;for(const[o,a]of n)e[o]=a;return e},Re={class:"filter-box"},Ye={class:"filter-footer"},_e={__name:"FilterDialog",props:{type:{type:String,default:()=>"primary"},filterItem:{type:Array,default:()=>[]},selectItem:{type:Array,default:()=>[]},defaultItem:{type:Array,default:()=>[]},filterButtonKey:{type:Array,default:()=>["all","selectDefault"]}},emits:["submit"],setup(t,{emit:n}){var g,p;l.useCssVars(D=>({e0ecc754:l.unref(a).infoColor}));const e=t,o=n,a=C.useThemeVars(),i=l.ref([]);l.watchEffect(()=>{i.value=e.selectItem});const r=l.ref([]),c=[{key:"all",label:"全选",onCheck:()=>{var D;return i.value=(D=e.filterItem)==null?void 0:D.map(O=>O.key)},unCheck:()=>i.value=[]},{key:"selectDefault",label:"选中默认",onCheck:()=>i.value=e.defaultItem,unCheck:()=>i.value=e.selectItem},{key:"currentSelect",label:"选中当前列表",onCheck:()=>i.value=e.selectItem,unCheck:()=>i.value=e.selectItem}];l.watchEffect(()=>{r.value=c.filter(D=>e.filterButtonKey.includes(D.key)),console.log(e.filterButtonKey)});function s(){o("submit",i.value)}const d=l.ref(((g=e.filterItem)==null?void 0:g.length)===((p=e.selectItem)==null?void 0:p.length)?["all"]:[]);function y(D,O){var A,P,u,N;console.log(D),console.log(O),O.actionType==="uncheck"?((P=(A=r.value)==null?void 0:A.find(f=>(f==null?void 0:f.key)===O.value))==null||P.unCheck(),d.value=[]):((N=(u=r.value)==null?void 0:u.find(f=>(f==null?void 0:f.key)===O.value))==null||N.onCheck(),d.value=[O.value])}return(D,O)=>{const A=l.resolveComponent("n-ellipsis"),P=l.resolveComponent("n-checkbox"),u=l.resolveComponent("n-checkbox-group"),N=l.resolveComponent("n-button");return l.openBlock(),l.createElementBlock("div",Re,[l.createVNode(u,{value:i.value,"onUpdate:value":O[0]||(O[0]=f=>i.value=f),class:"filter-main"},{default:l.withCtx(()=>[(l.openBlock(!0),l.createElementBlock(l.Fragment,null,l.renderList(t.filterItem,f=>(l.openBlock(),l.createBlock(P,{key:f.key,value:f.key,class:"filter-item"},{default:l.withCtx(()=>[l.createVNode(A,{style:{"max-width":"100px"}},{default:l.withCtx(()=>[l.createTextVNode(l.toDisplayString(f.title),1)]),_:2},1024)]),_:2},1032,["value"]))),128))]),_:1},8,["value"]),l.createElementVNode("div",Ye,[l.createVNode(u,{type:e.type,value:d.value,"onUpdate:value":y},{default:l.withCtx(()=>[(l.openBlock(!0),l.createElementBlock(l.Fragment,null,l.renderList(r.value,f=>(l.openBlock(),l.createBlock(P,{key:f.key,value:f.key},{default:l.withCtx(()=>[l.createTextVNode(l.toDisplayString(f.label),1)]),_:2},1032,["value"]))),128))]),_:1},8,["type","value"]),l.createVNode(N,{class:"submit-btn",type:e.type,onClick:s},{default:l.withCtx(()=>[...O[1]||(O[1]=[l.createTextVNode(" 保存 ",-1)])]),_:1},8,["type"])])])}}},Le=W(_e,[["__scopeId","data-v-2aba8b9e"]]),F={baseURL:"",hasPermission:null,uploadMethod:null,dialog:{instance:null,inheritTheme:!0,themeOverrides:null}};function be(t={}){if(t.baseURL!==void 0&&(F.baseURL=t.baseURL),t.hasPermission!==void 0){if(typeof t.hasPermission!="function")throw new TypeError("hasPermission 必须是一个函数");F.hasPermission=t.hasPermission}if(t.uploadMethod!==void 0){if(typeof t.uploadMethod!="function")throw new TypeError("uploadMethod 必须是一个函数");F.uploadMethod=t.uploadMethod}if(t.dialog!==void 0){if(typeof t.dialog!="object")throw new TypeError("dialog 必须是一个对象");t.dialog.instance!==void 0&&(F.dialog.instance=t.dialog.instance),t.dialog.inheritTheme!==void 0&&(F.dialog.inheritTheme=t.dialog.inheritTheme),t.dialog.themeOverrides!==void 0&&(F.dialog.themeOverrides=t.dialog.themeOverrides)}return F}function je(){return{...F}}function we(){return F.baseURL}function ze(){return F.hasPermission}function xe(){return F.uploadMethod}function Ce(){return{...F.dialog}}function ae(t){F.dialog.instance=t}function Ke(){return F.dialog.instance}function G(t){return F.hasPermission?F.hasPermission(t):(console.warn("hasPermission 未配置,默认返回 true。请使用 setupConfig 配置权限检查函数。"),!0)}const Ve={mounted(t,n){const e=n.value;if(!e)return;(Array.isArray(e)?e:[e]).some(i=>G(i))||(t.style.display="none",t._originalDisplay=t.style.display||"")},updated(t,n){const e=n.value;if(!e){t._originalDisplay!==void 0?t.style.display=t._originalDisplay||"":t.style.display="";return}(Array.isArray(e)?e:[e]).some(i=>G(i))?t._originalDisplay!==void 0?t.style.display=t._originalDisplay||"":t.style.display="":t.style.display="none"},unmounted(t){delete t._originalDisplay}};let Oe=null;function _(t){var n;t&&(Oe=t,(n=t._context.directives)!=null&&n.corePermission||t.directive("corePermission",Ve))}function We(){var t;try{const n=typeof require<"u"?require("vue"):null;if(!n)return!1;const{getCurrentInstance:e}=n,o=e==null?void 0:e();if((t=o==null?void 0:o.appContext)!=null&&t.app)return _(o.appContext.app),!0}catch{}return!1}function De(){return Oe}const ge="filter_key",He={__name:"DataTable",props:{data:{type:Array,default:()=>[]},pagination:{type:[Object,null],default:()=>{}},columns:{type:Array,default:()=>[{title:"测试案例"}]},oprColumns:{type:[Object,null],default:()=>null},selectColumns:{type:[Object,null],default:()=>null},defaultColumns:{type:Array,default:()=>[]},summaryColumns:{type:null,default:()=>null},emptyText:{type:String,default:()=>"没有数据"},emptyIcon:{type:String,default:()=>""},isFilter:{type:Boolean,default:()=>!1},isEllipsis:{type:Boolean,default:()=>!0},virtual:{type:null,default:()=>{}},singleColumn:{type:Boolean,default:()=>!1}},emits:["sorted"],setup(t,{expose:n,emit:e}){var b;const o=l.getCurrentInstance();(b=o==null?void 0:o.appContext)!=null&&b.app&&_(o.appContext.app);const a=t,i=te.useRoute(),r=e,c=()=>{try{return(i==null?void 0:i.fullPath)||(i==null?void 0:i.path)||""}catch{return""}},s=l.computed(()=>(console.log("table -data",a.data),a.data));function d(m){window.localStorage.setItem(ge,JSON.stringify(m))}function y(){return JSON.parse(window.localStorage.getItem(ge))||{}}const g=l.ref(y()),p=l.ref([]),D=l.ref(0);function O(m){if(a.summaryColumns)return[a.selectColumns,...l.unref(a.columns),a.oprColumns].reduce((h,x)=>{var B,U;return x!=null&&x.key?h[x.key]=((U=(B=a.summaryColumns)==null?void 0:B.call(a,m))==null?void 0:U[x.key])||{value:null}:h[ye.uniqueId("table")]={value:null},h},{})}const A=l.ref([]);l.watch(()=>l.unref(a.columns),()=>{P()},{immediate:!0}),l.watch(()=>a.oprColumns,m=>{console.log("oprColumns",m)});function P(){var U;const m=l.unref(a.columns),h=c();p.value=h&&((U=g.value)==null?void 0:U[h])||(m==null?void 0:m.map((M,V)=>(M==null?void 0:M.key)||q().valueOf()+V));const x=a.isFilter?m.filter(M=>{var V;return(V=p.value)==null?void 0:V.includes(M.key)}):[...m];a.selectColumns&&x.unshift({key:"selectKey",...a.selectColumns}),a.oprColumns&&x.push(a.oprColumns);let B=0;A.value=x.reduce((M,V)=>{var R;if(V!=null&&V.display&&console.log("display",V==null?void 0:V.display),!((V==null?void 0:V.display)??!0))return M;const I={align:"center",width:120,...V,key:(V==null?void 0:V.key)||ye.uniqueId("table"),ellipsis:V!=null&&V.ellipsis||a.isEllipsis?V!=null&&V.ellipsisProp?V==null?void 0:V.ellipsisProp(le):le:!1,"ellipsis-component":"ellipsis",title:()=>{const $=(V==null?void 0:V.label)||(V==null?void 0:V.title)||"";return l.createVNode("div",{style:{width:"100%",whiteSpace:"pre-wrap"}},[typeof $=="string"?$:$==null?void 0:$()])}};return V!=null&&V.sorter&&(I.renderSorterIcon=({order:$})=>{const{Icon:H,title:S}=Q[$];return l.createVNode(C.NTooltip,null,{trigger:()=>H,default:()=>S})},I.sorter={multiple:1,fn:V.sorter}),B+=I!=null&&I.width?Number.parseInt(I==null?void 0:I.width):((R=I==null?void 0:I.title)==null?void 0:R.length)*I.length+30||0,M.push(I),M},[]),D.value=B,console.log("计算")}function u(){return l.createVNode(C.NButton,{type:"info",onClick:()=>N()},{default:()=>"筛选字段",icon:()=>l.createVNode(z.Funnel,null,null)})}function N(){const{cancel:m}=se({title:"筛选字段",read:!0,options:[{render:()=>l.createVNode(Le,{style:{width:"100%",margin:"0",padding:0},filterItem:l.unref(a.columns),selectItem:p.value,defaultItem:a.defaultColumns,onSubmit:h=>{const x=c();x&&(g.value[x]=h,d(g.value)),P(),m()}},null)}]},{closable:!1,style:{width:"500px"}})}function f(m){if(console.log("onSorter",m),!m)return;J(m).forEach(x=>{var B,U;console.log("v",x),x!=null&&x.sorter&&((U=x==null?void 0:x.sorter)==null||U.fn((M,V,I)=>{var R;(R=Q[x.order])==null||R.fn(M,I),V.fetchData()},{field:x==null?void 0:x.columnKey,value:(B=Q[x==null?void 0:x.order])==null?void 0:B.value,isClick:!l.isProxy(x)}))}),r("sorted")}return n({filterHandle:N,filterButton:u,initColumns:P}),l.onMounted(()=>{}),(m,h)=>{const x=l.resolveComponent("n-empty"),B=l.resolveComponent("n-data-table");return l.openBlock(),l.createBlock(B,{data:s.value,columns:A.value,"scroll-x":D.value,"single-column":a.singleColumn,summary:a.summaryColumns?O:void 0,"summary-placement":"bottom",pagination:a.pagination,"row-props":()=>({style:{height:"60px"}}),"flex-height":"",remote:"","virtual-scroll":a.virtual??a.data.length>1e3,style:{flex:"1"},"onUpdate:sorter":f},{empty:l.withCtx(()=>[l.renderSlot(m.$slots,"empty",{},()=>[l.createVNode(x,null,{default:l.withCtx(()=>[l.createTextVNode(l.toDisplayString(t.emptyText),1)]),_:1})],!0)]),_:3},8,["data","columns","scroll-x","single-column","summary","pagination","virtual-scroll"])}}},Pe=W(He,[["__scopeId","data-v-d6710561"]]);function Qe(t){be({uploadMethod:t})}function Se(...t){const n=xe();if(typeof n!="function")throw new TypeError("请先通过 setupConfig({ uploadMethod: fn }) 或 registryUpload(fn) 注册上传实现");return n(...t)}function T(t,n=null){if(t&&!(t!=null&&t.startsWith("http"))){const e=we();return e?n?`${e}${t}?x-oss-process=style/w${n}`:`${e}${t}`:(console.warn('BASE_URL 未配置,返回原始 URL。请使用 setupConfig({ baseURL: "..." }) 配置。'),t)}return t}const Ge="/admin/file",Je={__name:"ImagesUpload",props:{value:{type:[Array,String],default:()=>[]},max:{type:Number,default:()=>5},lib:{type:Boolean,default:()=>!0},clip:{type:Boolean,default:()=>!1},read:{type:Boolean,default:()=>!1},size:{type:Number,default:()=>100},width:{type:Number,default:()=>100},height:{type:Number,default:()=>100},mode:{type:String,default:()=>"fill"},formData:{type:Object,default:()=>{}}},emits:["update:value","complete"],setup(t,{emit:n}){const e=t,o=n,a=l.ref([]);l.watch(()=>e.value,s=>{console.log("props.value",s),a.value=e.max===1?s?typeof s!="string"?s!=null&&s.length?[{id:q().valueOf(),name:`img${q().valueOf()}`,url:T(s[0]),thumbnailUrl:T(s[0]),fullPath:s[0],status:"finished"}]:[]:[{id:q().valueOf(),name:`img${q().valueOf()}`,url:T(s),fullPath:s,thumbnailUrl:T(s),status:"finished"}]:[]:(s==null?void 0:s.map((d,y)=>({id:q().valueOf()+y,name:`img${q().valueOf()}`,url:T(d),fullPath:d,thumbnailUrl:T(d),status:"finished"})))||[],console.log("1",a.value)},{immediate:!0});function i(...s){r(s[0])}async function r({file:s,onFinish:d,onError:y,onProgress:g},p){const D=new FormData;s.status==="pending"&&(D.append("file",s.file),e.formData&&Object.keys(e.formData).length&&Object.keys(e.formData).forEach(O=>{D.append(O,e.formData[O])}),Se({url:Ge,data:D,method:"post",onUploadProgress:({percent:O})=>g({percent:O})}).then(O=>{const{url:A}=O.data;s.url=T(A),s.fullPath=A,s.thumbnailUrl=T(A),d(),c()}).catch(()=>{s=null,y()}).finally(()=>{}))}function c(){console.log("onSubmit",a.value);const s=a.value.reduce((d,y)=>(y.status==="finished"&&(y!=null&&y.fullPath)&&d.push(y.fullPath),d),[]);e.max===1&&s.length===1?o("update:value",s[0]):s.length?o("update:value",s):o("update:value",e.max===1?null:[])}return(s,d)=>{const y=l.resolveComponent("n-upload"),g=l.resolveComponent("n-space");return l.openBlock(),l.createBlock(g,{align:"end","wrap-item":!1},{default:l.withCtx(()=>[l.createVNode(y,{"file-list":a.value,"onUpdate:fileList":d[0]||(d[0]=p=>a.value=p),accept:".jpeg,.jpg,.png","list-type":"image-card","custom-request":i,max:e.read?Array.isArray(e.value)?e.value.length:1:e.max,"show-retry-button":!1,"show-remove-button":!e.read,class:"upload-box",style:l.normalizeStyle({...e.size?{"--image-w":`${e.size}px`,"--image-h":`${e.size}px`}:{"--image-w":`${e.width}px`,"--image-h":`${e.height}px`},"--image-mode":e.mode}),onFinish:d[1]||(d[1]=()=>{c(),o("complete")}),onRemove:d[2]||(d[2]=(p,D)=>(a.value.splice(D,1),c(),!1))},null,8,["file-list","max","show-remove-button","style"])]),_:1})}}},Xe=W(Je,[["__scopeId","data-v-54e2cc87"]]);function ne(t=[],{labelField:n=E,valueField:e=k}={labelField:E,valueField:k}){return l.unref(t).reduce((o,a)=>(o[a[e]]={...a,[n]:a[n],[e]:a[e]},o),{})}function J(t){return Array.isArray(t)?t:[t]}function pe(t,n="YYYY-MM-DD",e={emptyText:""}){return t?q(Number.isNaN(Number(t))?t:Number(t)).format(n):(e==null?void 0:e.emptyText)||""}function Ze(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!l.isVNode(t)}const ve={input:({label:t,key:n,props:e,readProps:o,format:a=null,read:i},{_value:r,_isRead:c})=>i??c?l.createVNode(C.NEllipsis,o,{default:()=>[a?a==null?void 0:a(l.unref(r)[n],l.unref(r)):l.unref(r)[n]]}):l.createVNode(C.NInput,l.mergeProps({value:r[n],"onUpdate:value":s=>r[n]=s,clearable:!0,placeholder:`请输入${l.unref(t)}`},e),{...(e==null?void 0:e.slots)||{}}),select:({label:t,key:n,props:e,options:o=[],loading:a=!1,format:i=null,read:r},{_value:c,_isRead:s})=>{var y,g;const d=(Array.isArray(l.unref(o))?l.unref(o):o==null?void 0:o(c[n]))||[];return r??s?l.createVNode("div",null,[i?i==null?void 0:i(c[n],d):(g=(y=ne(d,(e==null?void 0:e.labelField)||E,(e==null?void 0:e.valueField)||k))==null?void 0:y[c[n]])==null?void 0:g[(e==null?void 0:e.labelField)||E]]):l.createVNode(C.NSelect,l.mergeProps({value:c[n],"onUpdate:value":p=>c[n]=p,options:d,loading:l.unref(a),clearable:!0,filterable:!0,"fallback-option":()=>(e!=null&&e.asyncFallback||(c[n]=null),!1),labelField:(e==null?void 0:e.labelField)||E,valueField:(e==null?void 0:e.valueField)||k,placeholder:`请选择${l.unref(t)}`,style:"width:100%","max-tag-count":"responsive"},e),{...(e==null?void 0:e.slots)||{}})},date:({label:t,key:n,props:e,formatTime:o="YYYY-MM-DD",type:a="date",format:i,read:r},{_value:c,_isRead:s})=>r??s?l.createVNode("div",null,[i?i==null?void 0:i(c[n]):pe(c[n],o)]):l.createVNode(C.NDatePicker,l.mergeProps({"formatted-value":c[n],"onUpdate:formatted-value":d=>{c[n]=d},type:a,clearable:!0,placeholder:`请选择${l.unref(t)}`,"update-value-on-close":!["year"].includes(e==null?void 0:e.type),style:"width:100%"},e),{...(e==null?void 0:e.slots)||{}}),time:({label:t,key:n,props:e,format:o,formatTime:a="YYYY-MM-DD",read:i},{_value:r,_isRead:c})=>i??c?l.createVNode("div",null,[o?o==null?void 0:o(r[n]):pe(r[n],a)]):l.createVNode(C.NTimePicker,l.mergeProps({"formatted-value":r[n],"onUpdate:value":(s,d)=>{console.log("v",d),r[n]=d},clearable:!0,format:"HH:mm:ss",style:"width:100%",placeholder:`请选择${l.unref(t)}`},e),{...(e==null?void 0:e.slots)||{}}),dateRange:({key:t,props:n,type:e="datetimerange",read:o},{_value:a,_isRead:i})=>{var s,d;const r={date:"YYYY-MM-DD",datetime:"YYYY-MM-DD HH:mm:ss",time:"HH:mm:ss",datetimerange:"YYYY-MM-DD HH:mm:ss",daterange:"YYYY-MM-DD"},c=n!=null&&n.format?(d=(s=n==null?void 0:n.format)==null?void 0:s.replace("yyyy","YYYY"))==null?void 0:d.replace("dd","DD"):r[(n==null?void 0:n.type)||e];return console.log("formatStr type",e),console.log("formatStr",c),o??i?l.createVNode("div",null,[Array.isArray(t)?`${a==null?void 0:a[t==null?void 0:t[0]]} - ${a==null?void 0:a[t==null?void 0:t[1]]}`:a==null?void 0:a[t]]):l.createVNode(C.NDatePicker,l.mergeProps({"formatted-value":Array.isArray(t)?a!=null&&a[t==null?void 0:t[0]]&&(a!=null&&a[t==null?void 0:t[1]])?[q(a==null?void 0:a[t==null?void 0:t[0]]).format(c),q(a==null?void 0:a[t==null?void 0:t[1]]).format(c)]:null:(a==null?void 0:a[t])||null,"onUpdate:formatted-value":y=>{console.log(y),y&&![r.datetime,r.datetimerange].includes(c)&&(y=y.map((g,p)=>q(g,c)[p?"endOf":"startOf"]("day").format(c))),Array.isArray(t)?(a[t==null?void 0:t[0]]=y==null?void 0:y[0],a[t==null?void 0:t[1]]=y==null?void 0:y[1]):a[t]=y},"update-value-on-close":!["year","month"].includes(n==null?void 0:n.type),type:e,clearable:!0,style:"width:100%"},n),{...(n==null?void 0:n.slots)||{}})},radio:({key:t,options:n=[],props:e,radioLabelProps:o,read:a},{_value:i,_isRead:r,labelField:c,valueField:s})=>{var d,y;return a??r?l.createVNode("div",null,[(y=(d=ne(n,(e==null?void 0:e.labelField)||c,(e==null?void 0:e.valueField)||s))==null?void 0:d[i[t]])==null?void 0:y[(e==null?void 0:e.labelField)||c]]):l.createVNode(C.NRadioGroup,l.mergeProps({style:{width:"100%"},value:i[t],"onUpdate:value":g=>i[t]=g},e),{...(e==null?void 0:e.slots)||{},default:()=>l.createVNode(C.NSpace,l.mergeProps({"item-wrap":!1},(e==null?void 0:e.radioProps)||{}),{default:()=>[n==null?void 0:n.map(g=>l.createVNode(C.NRadio,{key:g.value,value:g==null?void 0:g[(e==null?void 0:e.valueField)||s],class:"items-center"},{default:()=>[l.createVNode("div",(o==null?void 0:o(g))||{},[g==null?void 0:g[(e==null?void 0:e.labelField)||c]])]}))]})})},inputPhone:({label:t,key:n,props:e,read:o},{_value:a,_isRead:i})=>o??i?l.createVNode("div",null,[a[n]]):l.createVNode(C.NInput,l.mergeProps({value:a[n],"onUpdate:value":r=>a[n]=r,clearable:!0,style:"width:100%","allow-input":r=>!r||/^\d$/.test(r)||r.length<=11,placeholder:`请输入${l.unref(t)}`},e),{...e==null?void 0:e.slots}),inputNumber:({label:t,key:n,props:e,read:o},{_value:a,_isRead:i})=>o??i?l.createVNode("div",null,[a[n]]):l.createVNode(C.NInputNumber,l.mergeProps({value:typeof a[n]=="string"&&a[n]?Number(a[n]):a[n],"onUpdate:value":r=>{a[n]=r},showButton:!1,clearable:!0,style:"width:100%",placeholder:`请输入${l.unref(t)}`,min:0},e),{...(e==null?void 0:e.slots)||{}}),uploadFile:({key:t,props:n},{_value:e})=>l.createVNode(C.NUpload,l.mergeProps({multiple:!0,max:1,accept:".xls,.xlsx","file-list":e[t],"onUpdate:file-list":o=>e[t]=o},n),{default:()=>[l.createVNode(C.NUploadDragger,null,{default:()=>[l.createVNode("div",{style:"margin-bottom: 12px"},[l.createVNode(C.NIcon,{size:"48",depth:3},{default:()=>[l.createVNode(l.resolveComponent("ArchiveOutline"),null,null)]})]),l.createVNode(C.NText,{style:"font-size: 16px"},{default:()=>[l.createTextVNode("点击或者拖动文件到该区域来上传")]})]})]}),dataTable:({key:t,loading:n=!1,props:e,options:o,opr:a,pageState:i},{_value:r,_isRead:c})=>{var s;return console.log(n),console.log(i),l.createVNode(Pe,l.mergeProps({data:(s=i==null?void 0:i.data)!=null&&s.length?i.data:r[t],columns:l.unref(o),maxHeight:200,minHeight:200,"is-ellipsis":!1,"opr-columns":a,loading:i==null?void 0:i.loading},e),null)},progress:({key:t,props:n},{_value:e})=>l.createVNode(C.NProgress,l.mergeProps({percentage:e[t]},n),null),line:()=>l.createVNode(C.NDivider,null,null),image:({key:t,props:n,read:e},{_isRead:o,_value:a})=>l.createVNode(Xe,l.mergeProps({value:a[t],"onUpdate:value":i=>a[t]=i,max:1},n,{read:e??o}),null),button:({onClick:t,props:n,text:e},{_value:o})=>l.createVNode(C.NButton,l.mergeProps({type:"info"},n,{onClick:()=>n!=null&&n.onClick?n==null?void 0:n.onClick(l.unref(o)):t(l.unref(o))}),Ze(e)?e:{default:()=>[e]}),switch:({key:t,props:n,read:e},{_isRead:o,_value:a})=>e??o?l.createVNode("div",null,[a[t]?"是":"否"]):l.createVNode(C.NSwitch,l.mergeProps({value:a[t],"onUpdate:value":i=>a[t]=i},n),{...(n==null?void 0:n.slots)||{}}),checkbox:({key:t,options:n=[],props:e,read:o},{_value:a,_isRead:i,labelField:r,valueField:c})=>{var s,d,y;return o??i?l.createVNode("div",null,[(y=(d=(s=l.unref(n))==null?void 0:s.filter(g=>{var p;return(p=l.unref(a)[t])==null?void 0:p.includes(g[(e==null?void 0:e.valueField)||c||k])}))==null?void 0:d.map(g=>g[[(e==null?void 0:e.labelField)||r||E]]))==null?void 0:y.join("、")]):l.createVNode(C.NCheckboxGroup,l.mergeProps({value:a[t],"onUpdate:value":g=>a[t]=g,style:{width:"100%"}},e),{...(e==null?void 0:e.slots)||{},default:()=>l.createVNode(C.NSpace,(e==null?void 0:e.checkBoxProps)||{},{default:()=>{var g;return[(g=l.unref(n))==null?void 0:g.map(p=>l.createVNode(C.NCheckbox,{key:p==null?void 0:p[(e==null?void 0:e.valueField)||c||k],value:p==null?void 0:p[(e==null?void 0:e.valueField)||c||k]},{default:()=>[p==null?void 0:p[(e==null?void 0:e.labelField)||r||E]]}))]}})})},filterList:({key:t,props:n,options:e},{_value:o})=>l.createVNode(l.resolveComponent("FilterSelect"),l.mergeProps({value:o[t],"onUpdate:value":a=>o[t]=a,option:e,clearable:!0,filterButtonKey:["all","selectDefault"]},n),null)};let L={};class et{constructor(){v(this,"defaultMap",null);v(this,"extendOptions",null);console.log("DefaultOptions init"),this.defaultMap=null,this.init()}set(n,e){this.options.set(n,e)}get(n){return this.options.get(n)}clear(){this.defaultMap.clear()}setupOptions(n,e){const o=this.defaultMap.size>0?[...this.defaultMap.keys()]:[];if(this.defaultMap.has(n))return console.error(`${n} 已存在,不能使用${o==null?void 0:o.join("、")}`);this.defaultMap.set(n,e)}setupExtendOptions(n,e){L||(L={}),L!=null&&L[n]||(L[n]=e)}getAllOptions(){const n={};return this.defaultMap.forEach((e,o)=>{n[o]=e}),n}getOptions(n=[]){return console.log("getOptions",this.defaultMap),n.reduce((o,a)=>(this.defaultMap.has(a)&&(o[a]=this.defaultMap.get(a)),o),{})}initOptions(n=[]){Object.keys(n).forEach(e=>{this.setupOptions(e,n[e])})}initSetup(n){this.defaultMap&&this.clear(),this.defaultMap=new Map,this.initOptions(ve),n&&n(),this.initOptions(L)}init(n){this.initSetup(n)}}const oe=new et,ue=(...t)=>oe.getOptions(...t);function tt(...t){return oe.getAllOptions(...t)}function lt(...t){return oe.setupExtendOptions(...t)}const nt=["xlink:href","fill"],rt=l.defineComponent({__name:"SvgIcon",props:{name:{type:String,required:!0},color:{type:String,default:""}},setup(t){const n=t,e=l.computed(()=>`#svg-${n.name}`);return(o,a)=>(l.openBlock(),l.createElementBlock("svg",l.mergeProps({class:"svg-icon"},o.$attrs,{style:{color:t.color},"aria-hidden":""}),[l.createElementVNode("use",{"xlink:href":e.value,fill:t.color},null,8,nt)],16))}}),at=W(rt,[["__scopeId","data-v-9dbe5f10"]]);function ot(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!l.isVNode(t)}const Ae=l.defineComponent((t,{emit:n})=>{var P;const e=l.getCurrentInstance();if((P=e==null?void 0:e.appContext)!=null&&P.app)_(e.appContext.app);else{const u=De();u&&_(u)}const o=l.ref(t.value),a=l.computed(()=>t.read||!1);let i=t.formRef;l.watch(()=>t.formRef,u=>i=u);const r=l.computed(()=>t.option);function c(u){return u.reduce((N,f)=>{N.push((f==null?void 0:f.way)??"input");const b=[f==null?void 0:f.default,f==null?void 0:f.suffix,f==null?void 0:f.prefix].reduce((m,h)=>{var x;return Array.isArray(h)?m=m.concat(h):h&&((x=Object.keys(h))!=null&&x.length)&&m.push(h),m},[]);return console.log(b),b.length&&b.forEach(m=>N.push((m==null?void 0:m.way)??"input")),N},[])}const s=l.computed(()=>[...new Set(c(t.option))]),d=ue(s.value);console.log(t.option),console.log("defaultOption",d,s.value),l.watch(()=>o.value,u=>{n("update:value",u)},{immediate:!0});function y(u){let N={};const f=typeof u;let b=null;try{return u?f==="string"||f==="object"?b=u:f==="function"&&(b=u(l.unref(o),{formRef:i,resetForm:()=>{var m;return(m=i==null?void 0:i.value)==null?void 0:m.restoreValidation()},close:()=>t.cancel(),setValue:g})):b=u,typeof b=="object"&&!Array.isArray(b)?Object.keys(b).forEach(m=>{const h=b[m];l.isRef(h)?N[m]=l.unref(h):N[m]=h}):N=b,N}catch{return{}}}l.watch(()=>t.value,u=>{console.log(u),o.value=u},{immediate:!0});function g(u){o.value=u}function p(u){return l.createVNode(C.NSpace,l.mergeProps({"wrap-item":!1,wrap:!!(u!=null&&u.isWrap),align:"center",style:{width:"100%"}},(u==null?void 0:u.contentProps)||{}),{default:()=>[D(u==null?void 0:u.prefix),D((u==null?void 0:u.default)||u),D(u==null?void 0:u.suffix)]})}function D(u){if(!u)return;let N=u;if(typeof u=="function"&&(N=y(u)),N=y(N),l.isVNode(N))return console.log("??? isVNode"),N;if(typeof N=="string")return console.log("??? string"),N;if(Array.isArray(N))return console.log("???"),l.createVNode(l.Fragment,null,[N.map((f,b)=>l.createVNode(A,{item:f,index:b},null))]);if(typeof N=="object")return console.log("??? object"),N.props=y((N==null?void 0:N.props)??{}),l.unref(l.computed(()=>{var f;return(f=d==null?void 0:d[(N==null?void 0:N.way)||"input"])==null?void 0:f.call(d,O(N),{_value:N!=null&&N.queryType?l.unref(o)[N==null?void 0:N.queryType]:l.unref(o),_formRef:l.unref(i),_isRead:l.unref(a),labelField:E,valueField:k})}))}function O(u){return l.unref(u.enum)&&(u.options=re(l.unref(u.enum))),u}function A({item:u,index:N}){var f,b,m,h,x,B;return u.formItemProps=y(u==null?void 0:u.formItemProps),u.formItemProps||(u.formItemProps={}),!((f=u==null?void 0:u.formItemProps)!=null&&f.labelWidth)&&((b=t.formProps)!=null&&b.labelWidth)&&(u.formItemProps.labelWidth=(m=t.formProps)==null?void 0:m.labelWidth),l.withDirectives(l.createVNode(C.NFormItem,l.mergeProps({key:N,showLabel:!(u!=null&&u.noLabel)},u==null?void 0:u.formItemProps,{labelWidth:((h=u==null?void 0:u.formItemProps)==null?void 0:h.labelWidth)||"auto",feedback:y((x=u==null?void 0:u.formItemProps)==null?void 0:x.feedback),style:{padding:"0 15px",boxSizing:"border-box",width:"100%",...((B=u==null?void 0:u.formItemProps)==null?void 0:B.style)||{}},path:String(u.key)}),{default:()=>p(u),label:()=>{var U,M;return l.createVNode("div",{class:u!=null&&u.labelClass||u!=null&&u.labelSuffix?` ${u==null?void 0:u.labelClass} flex items-center gap-col-9px`:""},[u!=null&&u.labelSuffix?typeof(u==null?void 0:u.labelSuffix)=="string"?l.createVNode(C.NIcon,{class:"wh-20px c-inherit",...u==null?void 0:u.labelSuffixProps},{default:()=>[l.createVNode(at,{name:u==null?void 0:u.labelSuffix},null)]}):(U=u==null?void 0:u.labelSuffix)==null?void 0:U.call(u):l.createVNode(l.Fragment,null,null),`${l.unref(typeof(u==null?void 0:u[t.labelField])=="function"?(M=u==null?void 0:u[t.labelField])==null?void 0:M.call(u):u==null?void 0:u[t.labelField])||""} ${a.value||u.read," "}
2
- `])}}),[[l.resolveDirective("corePermission"),u==null?void 0:u.permission]])}return()=>{let u;return l.createVNode(C.NSpace,{"wrap-item":!1,size:[0,8],style:{width:"100%",minHeight:"100%",alignContent:"baseline",...t.style}},ot(u=r.value.map(({isRender:N=!0,...f},b)=>(typeof l.unref(N)!="boolean"?N!=null&&N(l.unref(o)):l.unref(N))?f!=null&&f.render?f==null?void 0:f.render(l.unref(o),b,{setValue:g,value:l.unref(o)}):l.createVNode(A,{item:f,index:b},null):null))?u:{default:()=>[u]})}},{props:{option:{type:Array,default:()=>[]},value:{type:Object,default:()=>({})},read:{type:Boolean,default:()=>!1},labelField:{type:String,default:()=>E},valueField:{type:String,default:()=>k},style:{type:Object,default:()=>({})},formRef:{type:Object,default:()=>({})},formProps:{type:Object,default:()=>({})}},emits:["update:value"]}),ut={showIcon:!1,autoFocus:!1};function Ie({options:t=[],model:n,labelField:e="label",formOpr:o={}}){return l.computed(()=>(t==null?void 0:t.reduce((a,{fields:i,...r})=>{var s,d;Array.isArray(r==null?void 0:r.key)&&r.key.forEach(y=>{r!=null&&r.required&&(a[String(y)]={key:y,type:"any",required:r!=null&&r.required?typeof(r==null?void 0:r.required)=="function"?r==null?void 0:r.required(l.unref(n),{...o}):r==null?void 0:r.required:!1,message:(r==null?void 0:r.message)||`请选择${r==null?void 0:r[e]}`,fields:i})});const c=r!=null&&r.rule?typeof(r==null?void 0:r.rule)!="function"?r==null?void 0:r.rule:r==null?void 0:r.rule(l.unref(n),{...o}):i?{key:r==null?void 0:r.key,type:"any",required:r!=null&&r.required?typeof(r==null?void 0:r.required)=="function"?r==null?void 0:r.required(l.unref(n),{...o}):r==null?void 0:r.required:!1,message:(r==null?void 0:r.message)||`请${(s=r==null?void 0:r.options)!=null&&s.length?"选择":"输入"}${r==null?void 0:r[e]}`,fields:i}:{key:r==null?void 0:r.key,type:"any",required:r!=null&&r.required?typeof(r==null?void 0:r.required)=="function"?r==null?void 0:r.required(l.unref(n),{...o}):r==null?void 0:r.required:!1,message:(r==null?void 0:r.message)||`请${(d=r==null?void 0:r.options)!=null&&d.length?"选择":"输入"}${r==null?void 0:r[e]}`,...Array.isArray(r==null?void 0:r.key)?{validator:y=>(console.log(y),!(r==null?void 0:r.key.every(p=>l.unref(n)[p]))&&(r!=null&&r.required)?new Error(y==null?void 0:y.message):!0)}:{}};return c!=null&&c.required&&(a[String(r==null?void 0:r.key)]=c),a},{}))||{})}const ie={__name:"DataForm",props:l.mergeModels({isNo:{type:Boolean,default:()=>!0},read:{type:Boolean,default:()=>!1},labelField:{type:String,default:()=>"label"},contentStyle:{type:Object,default:()=>({})},options:{type:Array,default:()=>[]},rules:{type:Object,default:()=>({})},formProps:{type:Object,default:()=>({})},formItemProps:{type:Object,default:()=>({})},dialog:{type:Boolean,default:()=>!1}},{value:{type:Object,default:()=>({})},valueModifiers:{}}),emits:["update:value"],setup(t,{expose:n}){var s;const e=l.getCurrentInstance();(s=e==null?void 0:e.appContext)!=null&&s.app&&_(e.appContext.app);const o=t,a=l.computed(()=>o.options),i=l.ref(),r=l.useModel(t,"value"),c=l.computed(()=>l.unref(a.value?Ie({options:a.value,model:r,labelField:o.labelField,formOpr:{formRef:i}}):{}));return console.log(c.value),n({formRef:i,getRule:()=>c.value,valid:(d=[])=>(console.log("?? valid",d),new Promise((y,g)=>{var D;const p=J(d);(D=i.value)==null||D.validate(O=>{if(O)return g(O);y()},O=>p.length?p.includes(O==null?void 0:O.key):!0)})),confirm:d=>new Promise((y,g)=>{var p;(p=i.value)==null||p.validate(D=>{if(D)return g(D);d&&d(l.unref(r)),y(l.unref(r))})})}),(d,y)=>(l.openBlock(),l.createBlock(l.unref(C.NForm),l.mergeProps({ref_key:"formRef",ref:i,model:r.value,rules:o.read?{}:l.unref(c),"label-placement":"left","label-width":"100px","require-mark-placement":"right-hanging",class:o.dialog?o.read?"core-dialog-content":"core-dialog-main":"",style:{minHeight:o.isNo?"unset":null}},o.formProps),{default:l.withCtx(()=>[l.createVNode(l.unref(Ae),{value:r.value,"onUpdate:value":y[0]||(y[0]=g=>r.value=g),"form-ref":i.value,option:o.options,"label-field":o.labelField,read:o.read,style:l.normalizeStyle(o.contentStyle),"form-props":o.formProps},null,8,["value","form-ref","option","label-field","read","style","form-props"])]),_:1},16,["model","rules","class","style"]))}};function it(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!l.isVNode(t)}let j=typeof $dialog<"u"?$dialog:null,ee=null;function st(){if(j)return j;try{const t=C.useDialog();if(t)return j=t,j}catch{}if(!ee){const{dialog:t}=C.createDiscreteApi(["dialog"]);ee={dialog:t}}return j=ee.dialog,j}function se({title:t="",noTitle:n=!1,titleFull:e=null,options:o=[],mode:a="add",modeEnum:i={},labelField:r="label",isNo:c=!0,formProps:s={},interfaceFn:d=null,interfaceFnCancel:y=null,valueData:g,read:p,isRead:D,action:O=null,contentStyle:A={},actionProps:P={}}={title:"自定义弹窗",noTitle:!1,action:[],options:[],read:!1,isRead:!1,valueData:{}},u=null){var H;const N=st(),f={none:{sub:"",read:!1},create:{sub:"创建",read:!1},add:{sub:"添加",read:!1},edit:{sub:"编辑",read:!1},view:{sub:"查看",read:!0},export:{sub:"导出",read:!1},import:{sub:"导入",read:!1},delete:{sub:"删除",read:!1},copy:{sub:"复制",read:!1},...i},b=l.ref(),m=l.reactive([]),h=l.ref({...g}),x={justify:"end",wrapItem:!1,style:{width:"100%"}},B={width:"120px"},U=[{label:"取消",props:{type:"primary",ghost:!0},onClick:({cancel:S})=>{y?y(l.unref(h),{close:S}):S()}},{label:"确定",valid:!0,onClick:async({cancel:S,hideLoading:w})=>d?await d(l.unref(h),{close:S,hideLoading:w}):S()}];O||U.forEach((S,w)=>{m[w]=!1});const M=typeof e=="function"?()=>{var S;return e((S=f[a])==null?void 0:S.sub)}:e,V=N.create({type:"info",...ut,...n?{}:{title:M||(((H=f[a])==null?void 0:H.sub)??"")+t},style:{width:"500px"},content:()=>l.createVNode(ie,{ref:S=>{b.value=S},options:o,value:h.value,"onUpdate:value":S=>h.value=S,isNo:c,read:p??D,labelField:r,formProps:s,contentStyle:A,dialog:!0},null),action:p??D?null:typeof O=="function"?()=>O({formRef:b,data:l.unref(h),d:V,close:I}):()=>{let S;return l.createVNode(C.NSpace,l.mergeProps(x,P,{style:{...x==null?void 0:x.style,...(P==null?void 0:P.style)||{}}}),it(S=(O||U).map((w,X)=>{var de;return w!=null&&w.render?(de=w==null?void 0:w.render)==null?void 0:de.call(w):l.createVNode(C.NButton,l.mergeProps({type:"primary",ghost:w.mode==="cancel"},{...w==null?void 0:w.props,...P==null?void 0:P.buttonProps},{style:{...B,...(w==null?void 0:w.style)||{}},loading:m[X],onClick:async()=>{if(w.mode==="cancel")V.destroy();else{const Z=()=>m[X]=!0,me=()=>m[X]=!1;w!=null&&w.loading&&Z();try{console.log("model",l.unref(h)),w!=null&&w.valid&&await R(),console.log(w==null?void 0:w.valid),(w!=null&&w.valid||w!=null&&w.loading)&&Z(),await(w==null?void 0:w.onClick({model:l.unref(h),comfirm:$,cancel:I,validate:R,showLoading:Z,hideLoading:me}))}catch(Ee){console.log(Ee)}finally{(w!=null&&w.valid||w!=null&&w.loading)&&me()}}}}),{default:()=>[w.label||""]})}))?S:{default:()=>[S]})},...u,class:`core-dialog ${l.unref(p)?"core-dialog-read":""} ${(u==null?void 0:u.class)||""}`});function I(){console.log("取消",h.value),V==null||V.destroy()}async function R(S=[]){var w;console.log("开启验证"),await((w=b.value)==null?void 0:w.valid())}async function $(S){return S&&S()}return{cancel:I,setValue:(S,w)=>w?h.value[w]=S:h.value={...h.value,...S},model:l.unref(h),modeEnum:f}}function ct(){const t=C.useDialog();return ae(t),(n,e)=>se(n,e)}const ft={class:"flex-1"},dt={__name:"CommonQuery",props:l.mergeModels({inlineText:{type:Boolean,default:()=>!0},options:{type:Array,default:()=>[]},query:{type:Object,default:()=>({})},selectCount:{type:Number,default:()=>1},type:{type:String,default:()=>"primary"},noButton:{type:Boolean,default:()=>!1},isRead:{type:Boolean,default:()=>!1},btn:{type:Array,default:()=>["reset","search"]},size:{type:String,default:()=>"medium"}},{query:{type:Object,default:()=>({})},queryModifiers:{}}),emits:l.mergeModels(["update:query","submit","reset"],["update:query"]),setup(t,{emit:n}){var N;const e=l.getCurrentInstance();(N=e==null?void 0:e.appContext)!=null&&N.app&&_(e.appContext.app);function o(f,b){let m;return function(...h){clearTimeout(m),m=setTimeout(()=>{f.apply(this,h)},b)}}const a=n,i=t;function r(f){return f.map(b=>({...b,props:{...b.props,...!b.way||b.way==="input"?{onUpdateValue:(...m)=>{var h,x;(x=(h=m.props)==null?void 0:h.onUpdateValue)==null||x.call(h,...m),c()}}:{},...(b==null?void 0:b.way)==="select"?{onUpdateValue:(...m)=>{var h,x;(x=(h=m.props)==null?void 0:h.onUpdateValue)==null||x.call(h,...m),c()}}:{}}}))}const c=o(()=>{a("submit")},500);function s(){c()}const d=l.ref(!1),y=l.useModel(t,"query"),g={style:{width:"33%"}},p=l.computed(()=>{var f;return(f=i.options)==null?void 0:f.map(b=>(b==null?void 0:b.way)||"input")});ue(p.value);const D=l.computed(()=>{try{const f=[];for(let b=0;b<i.options.length;b++){const m=i.options[b];m!=null&&m.enum&&!(m!=null&&m.options)&&(m.options=re(m.enum)),m!=null&&m.props||(m.props={size:i.size}),m!=null&&m.formItemProps?m.formItemProps={...g,...m.formItemProps,style:{...g.style,...m.formItemProps.style}}:m.formItemProps={...g};const h=(m==null?void 0:m.key)||(m==null?void 0:m.value);if(!h)throw new Error("key no set");f.push({...m,key:h})}return r(f)}catch(f){return console.warn("error",f),[]}}),O={style:{borderRadius:"3px"}},A={search:()=>l.createVNode(l.resolveComponent("NButton"),l.mergeProps({type:i.type,loading:d.value,"default-props":{attrType:"submit"},onClick:()=>s()},O),{default:()=>"搜索",icon:()=>l.createVNode(z.SearchOutline,null,null)}),reset:()=>l.createVNode(l.resolveComponent("NButton"),l.mergeProps({type:"default",onClick:()=>{P()}},O),{default:()=>"重置",icon:()=>l.createVNode(z.RefreshOutline,null,null)})};function P(){i.options.forEach(f=>{const b=(f==null?void 0:f.key)||(f==null?void 0:f.value);b&&(f!=null&&f.queryType?y.value[f.queryType][b]=null:y.value[b]=null)}),a("reset")}function u(f){f.key==="Enter"&&s()}return l.onMounted(()=>{document.addEventListener("keydown",u)}),l.onUnmounted(()=>{document.removeEventListener("keydown",u)}),(f,b)=>{const m=l.resolveComponent("n-space");return l.openBlock(),l.createBlock(m,{"wrap-item":!1,justify:"space-between",align:"center",wrap:!1},{default:l.withCtx(()=>[l.createElementVNode("div",ft,[l.createVNode(l.unref(ie),{value:y.value,"onUpdate:value":b[0]||(b[0]=h=>y.value=h),options:D.value,"form-props":{showFeedback:!1}},null,8,["value","options"])]),i.noButton?l.createCommentVNode("",!0):(l.openBlock(),l.createBlock(m,{key:0,align:"center",wrap:!1},{default:l.withCtx(()=>[l.renderSlot(f.$slots,"left-btn",{},void 0,!0),(l.openBlock(!0),l.createElementBlock(l.Fragment,null,l.renderList(i.btn,(h,x)=>{var B;return l.openBlock(),l.createBlock(l.resolveDynamicComponent((B=A==null?void 0:A[h])==null?void 0:B.call(A)),{key:x})}),128)),l.renderSlot(f.$slots,"right-btn",{},void 0,!0)]),_:3}))]),_:3})}}},mt=W(dt,[["__scopeId","data-v-6ef17b7a"]]),ce=l.defineComponent(({action:t,row:n,index:e})=>{const{onClick:o,disabled:a,type:i="primary",loading:r=!1,label:c=null,...s}=t,d=l.ref(!1);return()=>l.createVNode(C.NButton,l.mergeProps({text:!0,onClick:async()=>{if(o)try{r&&(d.value=!0),await o(n,e)}finally{setTimeout(()=>d.value=!1,500)}},disabled:a&&a(n),loading:d.value,type:a&&a(n)?"default":i},s),{default:()=>[typeof c=="function"?c==null?void 0:c(n):c]})},{props:{action:{type:[Object,null],default:null},row:{type:[Object,null],default:null},index:{type:Number,default:0}}}),fe=l.defineComponent(({onClick:t,row:n,index:e,action:o},{slots:a})=>{const i=l.ref(!1);return()=>l.createVNode(C.NPopconfirm,{"positive-button-props":{type:"warning",loading:i.value},onPositiveClick:async()=>{try{if(t)return i.value=!0,await t(n,e),i.value=!1,!0}catch{return i.value=!1,!1}return!1}},{trigger:a.default,default:()=>{var r;return((r=o==null?void 0:o.popProps)==null?void 0:r.content)||(o==null?void 0:o.content)||"确定删除该记录?"}})},{props:{onClick:{type:[Function,null],default:null},row:{type:[Object,null],default:null},action:{type:[Object,null],default:null},index:{type:Number,default:0}}});function he(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!l.isVNode(t)}const yt=l.defineComponent(t=>{const n=t.options.length,e=l.ref(!1),o=l.computed(()=>t.options.slice(0,e.value?n:t.max)),a=l.computed(()=>t.options.slice(t.max));function i(r){return r==null?void 0:r.map(({isRender:c=()=>!0,onClick:s=null,mode:d=null,disabled:y=!1,type:g="primary",...p},D)=>c!=null&&c(t.data)?d==="pop"?l.createVNode(fe,{onClick:s,row:t.data,action:p,key:K(t.data,t.index)+D},{default:()=>[l.createVNode(C.NButton,l.mergeProps({text:!0,disabled:y&&y(t.data),type:y&&y(t.data)?"default":g},p),{default:()=>[typeof(p==null?void 0:p.label)=="function"?p==null?void 0:p.label(t.data):p==null?void 0:p.label]})]}):l.createVNode(ce,{row:t.data,action:{...p,disabled:y,onClick:s,type:g},key:K(t.data,t.index)+D},null):void 0).filter(c=>c)}return()=>{let r;return l.createVNode(C.NSpace,{style:{width:"100%"},"wrap-item":!1,justify:"center",align:"center"},{default:()=>[l.createVNode(C.NSpace,{"wrap-item":!1,align:"center"},he(r=i(o.value))?r:{default:()=>[r]}),l.createVNode(C.NPopover,{trigger:"click"},{trigger:()=>l.createVNode(C.NButton,{text:!0,type:"info"},{default:()=>[l.createTextVNode("更多")]}),default:()=>{let c;return l.createVNode(C.NSpace,{"wrap-item":!1,align:"center",style:{width:"250px",padding:"5px"}},he(c=i(a.value))?c:{default:()=>[c]})}})]})}},{name:"DataColumnCollet",props:{options:{type:Array,default:()=>[]},max:{type:Number,default:3},data:{type:Object,default:()=>{}},index:{type:Number,default:0}}});function Y(t={},n=null){const e=Ce();return!e.inheritTheme&&e.themeOverrides?{...t,themeOverrides:{...e.themeOverrides,...t.themeOverrides||{}}}:t}function gt(t,n={}){if(!t)throw new Error("dialogInstance 是必需的。请在组件中使用 useDialog() 获取实例,然后传递给此函数。");const e=Y(n,t);return t.create(e)}function pt(t){if(!t)throw new Error("dialogInstance 是必需的。请在组件中使用 useDialog() 获取实例。");return{info:n=>{const e=Y({type:"info",...n},t);return t.info(e)},success:n=>{const e=Y({type:"success",...n},t);return t.success(e)},warning:n=>{const e=Y({type:"warning",...n},t);return t.warning(e)},error:n=>{const e=Y({type:"error",...n},t);return t.error(e)},create:n=>{const e=Y(n,t);return t.create(e)}}}function ht(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!l.isVNode(t)}const K=(t,n)=>t?JSON.stringify(t):n;function Nt(t,n=null,e){const o={max:4,width:80};let a=!1;if(typeof e=="boolean"?a=o:typeof e=="object"&&(a={...o,...e}),console.log("collect",a),console.log(Array.isArray(t)),!Array.isArray(t))throw new TypeError("需要配置数组");console.log("ddd");let i=[],r=0;const c=[];return Array.isArray(t)&&(i=t,i.forEach((s,d)=>{var y,g;s.permission?G(s.permission)&&((!e||d<a.max)&&(r+=((y=s==null?void 0:s.label)==null?void 0:y.length)*12+36),c.push(s)):((!e||d<a.max)&&(r+=((g=s==null?void 0:s.label)==null?void 0:g.length)*12+36),c.push(s))})),r=Math.max(80,r),r+=0,a&&(r+=2),c.length?{title:"操作",key:"opr",fixed:"right",align:"left",width:r,...n,render(s,d){const y=a?l.createVNode(yt,{data:s,index:d,max:a.max,options:c},null):c.map(({isRender:g=()=>!0,onClick:p=null,mode:D=null,disabled:O=!1,type:A="primary",...P},u)=>g!=null&&g(s)?D==="pop"?l.createVNode(fe,{onClick:p,row:s,index:d,action:P,key:K(s,d)+u},{default:()=>[l.createVNode(C.NButton,l.mergeProps({text:!0,disabled:O&&O(s),type:O&&O(s)?"default":A},P),{default:()=>[typeof(P==null?void 0:P.label)=="function"?P==null?void 0:P.label(s):P==null?void 0:P.label]})]}):l.createVNode(ce,{row:s,action:{...P,disabled:O,onClick:p,type:A},index:d,key:K(s,d)+u},null):void 0).filter(g=>g);return n!=null&&n.isRender?n==null?void 0:n.render(s):l.createVNode(C.NSpace,{align:"center","wrap-item":!1,size:18,key:K(s,d)},ht(y)?y:{default:()=>[y]})}}:void 0}async function Be(t,n=null){const e=getDialogInstance();if(!e)throw new Error("无法获取 dialog 实例。请使用 useQRCode hook 或在组件中通过 setupConfig 注册 dialog 实例。");const o=l.ref(null),a=l.ref(!1),i=Y({type:"info",showIcon:!1,style:{width:"350px",height:"350px"},content:()=>l.createVNode("div",{className:"qr-box"},[a.value?l.createVNode(C.NSpin,{class:"qr-spin",show:!0},null):"",l.createVNode("div",{className:"qr-img"},[l.createVNode(C.NImage,{src:o.value,style:{width:"100%"}},null)]),l.createVNode("div",{className:"qr-title"},[a.value?"":t.name])])},e);return e.info(i),n&&(a.value=!0,o.value=await n(),a.value=!1),!0}function bt(){const t=C.useDialog();return ae(t),(n,e)=>Be(n,e)}function Me(t){var n,e;if((n=t==null?void 0:t.children)!=null&&n.length){const o=[];t.children.forEach(a=>{var r,c,s,d;Me(a);let i=[];typeof((r=a==null?void 0:a.meta)==null?void 0:r.permission)=="string"?i=[a.meta.permission]:Array.isArray((c=a.meta)==null?void 0:c.permission)?i.push(...a.meta.permission):typeof((s=a.meta)==null?void 0:s.permission)=="object"?i.push(...wt(Fe(a.meta.permission))):(d=a==null?void 0:a.meta)!=null&&d.permission||(i=null),a.meta.permission=i,o.push(...new Set(i))}),(e=t==null?void 0:t.meta)!=null&&e.permission?t.meta.permission=[...new Set(t.meta.permission.concat(o))]:t.meta.permission=o}return t}function wt(...t){const n=t==null?void 0:t.map(e=>Array.isArray(e)?e:e==null?void 0:e.ALL);return[].concat(...n)}function Fe(t){return t?Object.keys(t).reduce((n,e)=>(typeof t[e]!="string"?n.concat(Fe(t[e])):n.push(t[e]),n),[]):[]}function xt(...t){return{...Vt("api",t)}}function Ct(t,n={}){const e=Object.keys(n);return e.length&&e.forEach(o=>{const a=new RegExp(`${o}`,"g");t=t==null?void 0:t.replace(a,n[o])}),t}function Vt(t,n){var r;const e=te.useRoute(),o=te.useRouter(),a=Ne(((r=e==null?void 0:e.meta)==null?void 0:r[t])??{}),i=J(n[0]);return i!=null&&i.length&&o.getRoutes().filter(s=>i.includes(s.name)).forEach(s=>{var d;(d=s.meta)!=null&&d[t]&&(a[s.name]=Ne(s.meta[t]))}),{...a}}function Ne(t={}){return Object.keys(t).reduce((n,e)=>{const o=t[e];return typeof o=="object"?n[e]=o==null?void 0:o.key:typeof o=="string"&&(n[e]=String(o)),n},{})}function Ue(t,n=""){return t.length?(t.forEach(e=>{var i;e.children&&Ue(e.children,e==null?void 0:e.path),e.path&&(e.sourceFullPath=`${n?`${n}/`.replace(/^\/\//,"/"):""}${e.path}`),e.meta||(e.meta={});const o=(e==null?void 0:e.title)??((i=e==null?void 0:e.meta)==null?void 0:i.title)??"未命名页面";e!=null&&e.api&&(e.meta.api=e.api),o&&(e.meta.title=o,e.title=o),e!=null&&e.hidden&&(e.meta.hidden=e.hidden);let a=[];e!=null&&e.auth&&(e.meta.auth=e.auth,a=Object.keys(e.auth).reduce((r,c)=>(typeof e.auth[c]=="string"?r.push(e.auth[c]):typeof e.auth[c]=="boolean"&&r.push(c),r),[])),e!=null&&e.permission&&(e.meta.permission=e.permission),e.meta.permission&&Array.isArray(e.meta.permission)?e.meta.permission=e.meta.permission.concat(a):a.length&&(e.meta.permission=a)}),t):[]}const Q={ascend:{title:"升序",value:!0,Icon:l.createVNode(z.ChevronUp,null,null),fn:(t,n)=>{t.desc=!0,t.sortFieldName=n}},descend:{title:"降序",value:!1,Icon:l.createVNode(z.ChevronDown,null,null),fn:t=>{t.sortFieldName="",t.desc=!0}},false:{title:"默认",value:null,Icon:l.createVNode(z.Code,{style:"transform:rotateZ(90deg)"},null),fn:t=>{t.desc=!1,t.sortFieldName=""}}};function ke(t,n={}){_(t)}const Ot={install:ke};exports.ArrayToObject=ne;exports.CommonQuery=mt;exports.CorePlugin=Ot;exports.DataForm=ie;exports.DataTable=Pe;exports.ObjectToArray=re;exports.OprButton=ce;exports.Options=Ae;exports.Pop=fe;exports.autoRegisterDirectives=We;exports.cellectChildenPermission=Me;exports.checkPermission=G;exports.commonDialogMethod=se;exports.createActionColumnJsx=Nt;exports.createDialog=gt;exports.createDialogMethods=pt;exports.createDialogOptions=Y;exports.createQRCode=Be;exports.customUpload=Se;exports.ellipsis=le;exports.getAllOptions=tt;exports.getBaseURL=we;exports.getConfig=je;exports.getDialogConfig=Ce;exports.getDialogInstance=Ke;exports.getFileUrl=T;exports.getGlobalApp=De;exports.getHasPermission=ze;exports.getOptions=ue;exports.getUploadMethod=xe;exports.globalLabelField=E;exports.globalValueField=k;exports.handleParams=Ct;exports.initRouteMeta=Ue;exports.initRules=Ie;exports.install=ke;exports.orderEnum=Q;exports.permissionDirective=Ve;exports.registerDialogInstance=ae;exports.registerDirectives=_;exports.registryUpload=Qe;exports.setupConfig=be;exports.setupOptions=lt;exports.toArray=J;exports.useApiConfig=xt;exports.useCommonDialog=ct;exports.useQRCode=bt;
1
+ "use strict";var ve=Object.defineProperty;var Ye=(t,n,l)=>n in t?ve(t,n,{enumerable:!0,configurable:!0,writable:!0,value:l}):t[n]=l;var ee=(t,n,l)=>Ye(t,typeof n!="symbol"?n+"":n,l);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),V=require("naive-ui"),z=require("@vicons/ionicons5"),le=require("vue-router"),E=require("dayjs"),Ne=require("lodash-es"),Le=require("./plugin/vite/initRouteMeta.cjs"),R="name",U="id";function re(t,{labelField:n=R,valueField:l=U}={}){return Object.keys(t).reduce((r,o)=>{const s=ze(t[o],o),a={...s};return a[n]=s==null?void 0:s[n],a[l]=s==null?void 0:s[l],r.concat(a)},[])}function ze(t,n){const l={[R]:e.unref(t),[U]:Number.isNaN(Number(n))?n:Number(n)};return typeof e.unref(t)=="object"?{...e.unref(t),[U]:Number.isNaN(Number(n))?n:Number(n)}:l}const ne={style:{cursor:"pointer"},tooltip:{flip:!0,arrowPointToCenter:!0,contentStyle:{minWidth:"100px",maxWidth:"300px",maxHeight:"300px",overflowY:"auto",whiteSpace:"pre-line",boxSizing:"border-box",margin:"0 -14px",padding:"0 14px"},arrowStyle:{backgroundColor:"--n-color"}}},H=(t,n)=>{const l=t.__vccOpts||t;for(const[r,o]of n)l[r]=o;return l},je={class:"filter-box"},He={class:"filter-footer"},We={__name:"FilterDialog",props:{type:{type:String,default:()=>"primary"},filterItem:{type:Array,default:()=>[]},selectItem:{type:Array,default:()=>[]},defaultItem:{type:Array,default:()=>[]},filterButtonKey:{type:Array,default:()=>["all","selectDefault"]}},emits:["submit"],setup(t,{emit:n}){var b,h;e.useCssVars(x=>({e0ecc754:e.unref(o).infoColor}));const l=t,r=n,o=V.useThemeVars(),s=e.ref([]);e.watchEffect(()=>{s.value=l.selectItem});const a=e.ref([]),d=[{key:"all",label:"全选",onCheck:()=>{var x;return s.value=(x=l.filterItem)==null?void 0:x.map(m=>m.key)},unCheck:()=>s.value=[]},{key:"selectDefault",label:"选中默认",onCheck:()=>s.value=l.defaultItem,unCheck:()=>s.value=l.selectItem},{key:"currentSelect",label:"选中当前列表",onCheck:()=>s.value=l.selectItem,unCheck:()=>s.value=l.selectItem}];e.watchEffect(()=>{a.value=d.filter(x=>l.filterButtonKey.includes(x.key)),console.log(l.filterButtonKey)});function i(){r("submit",s.value)}const c=e.ref(((b=l.filterItem)==null?void 0:b.length)===((h=l.selectItem)==null?void 0:h.length)?["all"]:[]);function y(x,m){var S,D,u,_;console.log(x),console.log(m),m.actionType==="uncheck"?((D=(S=a.value)==null?void 0:S.find(g=>(g==null?void 0:g.key)===m.value))==null||D.unCheck(),c.value=[]):((_=(u=a.value)==null?void 0:u.find(g=>(g==null?void 0:g.key)===m.value))==null||_.onCheck(),c.value=[m.value])}return(x,m)=>{const S=e.resolveComponent("n-ellipsis"),D=e.resolveComponent("n-checkbox"),u=e.resolveComponent("n-checkbox-group"),_=e.resolveComponent("n-button");return e.openBlock(),e.createElementBlock("div",je,[e.createVNode(u,{value:s.value,"onUpdate:value":m[0]||(m[0]=g=>s.value=g),class:"filter-main"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.filterItem,g=>(e.openBlock(),e.createBlock(D,{key:g.key,value:g.key,class:"filter-item"},{default:e.withCtx(()=>[e.createVNode(S,{style:{"max-width":"100px"}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(g.title),1)]),_:2},1024)]),_:2},1032,["value"]))),128))]),_:1},8,["value"]),e.createElementVNode("div",He,[e.createVNode(u,{type:l.type,value:c.value,"onUpdate:value":y},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,g=>(e.openBlock(),e.createBlock(D,{key:g.key,value:g.key},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(g.label),1)]),_:2},1032,["value"]))),128))]),_:1},8,["type","value"]),e.createVNode(_,{class:"submit-btn",type:l.type,onClick:i},{default:e.withCtx(()=>[...m[1]||(m[1]=[e.createTextVNode(" 保存 ",-1)])]),_:1},8,["type"])])])}}},Ke=H(We,[["__scopeId","data-v-2aba8b9e"]]),B={baseURL:"",hasPermission:null,uploadMethod:null,dialog:{instance:null,inheritTheme:!0,themeOverrides:null}};function Ve(t={}){if(t.baseURL!==void 0&&(B.baseURL=t.baseURL),t.hasPermission!==void 0){if(typeof t.hasPermission!="function")throw new TypeError("hasPermission 必须是一个函数");B.hasPermission=t.hasPermission}if(t.uploadMethod!==void 0){if(typeof t.uploadMethod!="function")throw new TypeError("uploadMethod 必须是一个函数");B.uploadMethod=t.uploadMethod}if(t.dialog!==void 0){if(typeof t.dialog!="object")throw new TypeError("dialog 必须是一个对象");t.dialog.instance!==void 0&&(B.dialog.instance=t.dialog.instance),t.dialog.inheritTheme!==void 0&&(B.dialog.inheritTheme=t.dialog.inheritTheme),t.dialog.themeOverrides!==void 0&&(B.dialog.themeOverrides=t.dialog.themeOverrides)}return B}function Qe(){return{...B}}function _e(){return B.baseURL}function Ge(){return B.hasPermission}function Oe(){return B.uploadMethod}function De(){return{...B.dialog}}function oe(t){B.dialog.instance=t}function Ae(){return B.dialog.instance}function K(t){return B.hasPermission?B.hasPermission(t):(console.warn("hasPermission 未配置,默认返回 true。请使用 setupConfig 配置权限检查函数。"),!0)}const Se={mounted(t,n){const l=n.value;if(!l)return;(Array.isArray(l)?l:[l]).some(s=>K(s))||(t.style.display="none",t._originalDisplay=t.style.display||"")},updated(t,n){const l=n.value;if(!l){t._originalDisplay!==void 0?t.style.display=t._originalDisplay||"":t.style.display="";return}(Array.isArray(l)?l:[l]).some(s=>K(s))?t._originalDisplay!==void 0?t.style.display=t._originalDisplay||"":t.style.display="":t.style.display="none"},unmounted(t){delete t._originalDisplay}};let Pe=null;function v(t){var n;t&&(Pe=t,(n=t._context.directives)!=null&&n.corePermission||t.directive("corePermission",Se))}function Je(){var t;try{const n=typeof require<"u"?require("vue"):null;if(!n)return!1;const{getCurrentInstance:l}=n,r=l==null?void 0:l();if((t=r==null?void 0:r.appContext)!=null&&t.app)return v(r.appContext.app),!0}catch{}return!1}function Me(){return Pe}const be="filter_key",Xe=e.defineComponent({__name:"DataTable",props:{data:{default:()=>[]},pagination:{default:void 0},columns:{default:()=>[{title:"测试案例"}]},oprColumns:{default:null},selectColumns:{default:null},defaultColumns:{default:()=>[]},summaryColumns:{type:Function,default:null},emptyText:{default:"没有数据"},emptyIcon:{default:""},isFilter:{type:Boolean,default:!1},isEllipsis:{type:Boolean,default:!0},virtual:{type:[Object,Boolean],default:()=>({})},singleColumn:{type:Boolean,default:!1}},emits:["sorted"],setup(t,{expose:n,emit:l}){var N;const r=e.getCurrentInstance();(N=r==null?void 0:r.appContext)!=null&&N.app&&v(r.appContext.app);const o=t,s=le.useRoute(),a=l,d=()=>{try{return(s==null?void 0:s.fullPath)||(s==null?void 0:s.path)||""}catch{return""}},i=e.computed(()=>(console.log("table -data",o.data),o.data));function c(p){window.localStorage.setItem(be,JSON.stringify(p))}function y(){return JSON.parse(window.localStorage.getItem(be)||"{}")||{}}const b=e.ref(y()),h=e.ref([]),x=e.ref(0);function m(p){if(o.summaryColumns)return[o.selectColumns,...e.unref(o.columns||[]),o.oprColumns].reduce((f,w)=>{var M,F;return w!=null&&w.key?f[w.key]=((F=(M=o.summaryColumns)==null?void 0:M.call(o,p))==null?void 0:F[w.key])||{value:null}:f[Ne.uniqueId("table")]={value:null},f},{})}const S=e.ref([]);e.watch(()=>e.unref(o.columns),()=>{D()},{immediate:!0}),e.watch(()=>o.oprColumns,p=>{console.log("oprColumns",p)});function D(){var F;const p=e.unref(o.columns||[]),f=d();h.value=f&&((F=b.value)==null?void 0:F[f])||(p==null?void 0:p.map((I,O)=>(I==null?void 0:I.key)||String(E().valueOf()+O)));const w=o.isFilter?p.filter(I=>{var O;return(O=h.value)==null?void 0:O.includes(I.key)}):[...p];o.selectColumns&&w.unshift({key:"selectKey",...o.selectColumns}),o.oprColumns&&w.push(o.oprColumns);let M=0;S.value=w.reduce((I,O)=>{var Y;if(O!=null&&O.display&&console.log("display",O==null?void 0:O.display),!((O==null?void 0:O.display)??!0))return I;const P={align:"center",width:120,...O,key:(O==null?void 0:O.key)||Ne.uniqueId("table"),ellipsis:O!=null&&O.ellipsis||o.isEllipsis?O!=null&&O.ellipsisProp?O==null?void 0:O.ellipsisProp(ne):ne:!1,"ellipsis-component":"ellipsis",title:()=>{const q=(O==null?void 0:O.label)||(O==null?void 0:O.title)||"";return e.createVNode("div",{style:{width:"100%",whiteSpace:"pre-wrap"}},[typeof q=="string"?q:q==null?void 0:q()])}};return O!=null&&O.sorter&&(P.renderSorterIcon=({order:q})=>{const{Icon:G,title:J}=W[q];return e.createVNode(V.NTooltip,null,{trigger:()=>G,default:()=>J})},P.sorter={multiple:1,fn:O.sorter}),M+=P!=null&&P.width?Number.parseInt(String(P==null?void 0:P.width)):(typeof(P==null?void 0:P.title)=="string"?((Y=P==null?void 0:P.title)==null?void 0:Y.length)*30:0)||0,I.push(P),I},[]),x.value=M,console.log("计算")}function u(){return e.createVNode(V.NButton,{type:"info",onClick:()=>_()},{default:()=>"筛选字段",icon:()=>e.createVNode(z.Funnel,null,null)})}function _(){const{cancel:p}=ce({title:"筛选字段",read:!0,options:[{key:"filter-dialog",render:()=>e.createVNode(Ke,{style:{width:"100%",margin:"0",padding:0},filterItem:e.unref(o.columns||[]),selectItem:h.value,defaultItem:o.defaultColumns,onSubmit:f=>{const w=d();w&&(b.value[w]=f,c(b.value)),D(),p()}},null)}]},{closable:!1,style:{width:"500px"}})}function g(p){if(console.log("onSorter",p),!p)return;Q(p).forEach(w=>{var M,F,I;console.log("v",w),w!=null&&w.sorter&&((I=(M=w==null?void 0:w.sorter)==null?void 0:M.fn)==null||I.call(M,(O,P,Y)=>{var q;(q=W[w.order])==null||q.fn(O,Y),P.fetchData()},{field:w==null?void 0:w.columnKey,value:(F=W[w==null?void 0:w.order])==null?void 0:F.value,isClick:!e.isProxy(w)}))}),a("sorted")}return n({filterHandle:_,filterButton:u,initColumns:D}),e.onMounted(()=>{}),(p,f)=>{const w=e.resolveComponent("n-empty");return e.openBlock(),e.createBlock(e.unref(V.NDataTable),{data:i.value,columns:S.value,"scroll-x":x.value,"single-column":o.singleColumn,summary:o.summaryColumns?m:void 0,"summary-placement":"bottom",pagination:o.pagination,"row-props":()=>({style:{height:"60px"}}),"flex-height":"",remote:"","virtual-scroll":!!(o.virtual??o.data.length>1e3),style:{flex:"1"},"onUpdate:sorter":g},{empty:e.withCtx(()=>[e.renderSlot(p.$slots,"empty",{},()=>[e.createVNode(w,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.emptyText),1)]),_:1})],!0)]),_:3},8,["data","columns","scroll-x","single-column","summary","pagination","virtual-scroll"])}}}),Ie=H(Xe,[["__scopeId","data-v-9de17e68"]]);function Ze(t){Ve({uploadMethod:t})}function Be(...t){const n=Oe();if(typeof n!="function")throw new TypeError("请先通过 setupConfig({ uploadMethod: fn }) 或 registryUpload(fn) 注册上传实现");return n(...t)}function T(t,n=null){if(t&&!(t!=null&&t.startsWith("http"))){const l=_e();return l?n?`${l}${t}?x-oss-process=style/w${n}`:`${l}${t}`:(console.warn('BASE_URL 未配置,返回原始 URL。请使用 setupConfig({ baseURL: "..." }) 配置。'),t)}return t}const et="/admin/file",tt={__name:"ImagesUpload",props:{value:{type:[Array,String],default:()=>[]},max:{type:Number,default:()=>5},lib:{type:Boolean,default:()=>!0},clip:{type:Boolean,default:()=>!1},read:{type:Boolean,default:()=>!1},size:{type:Number,default:()=>100},width:{type:Number,default:()=>100},height:{type:Number,default:()=>100},mode:{type:String,default:()=>"fill"},formData:{type:Object,default:()=>{}}},emits:["update:value","complete"],setup(t,{emit:n}){const l=t,r=n,o=e.ref([]);e.watch(()=>l.value,i=>{console.log("props.value",i),o.value=l.max===1?i?typeof i!="string"?i!=null&&i.length?[{id:E().valueOf(),name:`img${E().valueOf()}`,url:T(i[0]),thumbnailUrl:T(i[0]),fullPath:i[0],status:"finished"}]:[]:[{id:E().valueOf(),name:`img${E().valueOf()}`,url:T(i),fullPath:i,thumbnailUrl:T(i),status:"finished"}]:[]:(i==null?void 0:i.map((c,y)=>({id:E().valueOf()+y,name:`img${E().valueOf()}`,url:T(c),fullPath:c,thumbnailUrl:T(c),status:"finished"})))||[],console.log("1",o.value)},{immediate:!0});function s(...i){a(i[0])}async function a({file:i,onFinish:c,onError:y,onProgress:b},h){const x=new FormData;i.status==="pending"&&(x.append("file",i.file),l.formData&&Object.keys(l.formData).length&&Object.keys(l.formData).forEach(m=>{x.append(m,l.formData[m])}),Be({url:et,data:x,method:"post",onUploadProgress:({percent:m})=>b({percent:m})}).then(m=>{const{url:S}=m.data;i.url=T(S),i.fullPath=S,i.thumbnailUrl=T(S),c(),d()}).catch(()=>{i=null,y()}).finally(()=>{}))}function d(){console.log("onSubmit",o.value);const i=o.value.reduce((c,y)=>(y.status==="finished"&&(y!=null&&y.fullPath)&&c.push(y.fullPath),c),[]);l.max===1&&i.length===1?r("update:value",i[0]):i.length?r("update:value",i):r("update:value",l.max===1?null:[])}return(i,c)=>{const y=e.resolveComponent("n-upload"),b=e.resolveComponent("n-space");return e.openBlock(),e.createBlock(b,{align:"end","wrap-item":!1},{default:e.withCtx(()=>[e.createVNode(y,{"file-list":o.value,"onUpdate:fileList":c[0]||(c[0]=h=>o.value=h),accept:".jpeg,.jpg,.png","list-type":"image-card","custom-request":s,max:l.read?Array.isArray(l.value)?l.value.length:1:l.max,"show-retry-button":!1,"show-remove-button":!l.read,class:"upload-box",style:e.normalizeStyle({...l.size?{"--image-w":`${l.size}px`,"--image-h":`${l.size}px`}:{"--image-w":`${l.width}px`,"--image-h":`${l.height}px`},"--image-mode":l.mode}),onFinish:c[1]||(c[1]=()=>{d(),r("complete")}),onRemove:c[2]||(c[2]=(h,x)=>(o.value.splice(x,1),d(),!1))},null,8,["file-list","max","show-remove-button","style"])]),_:1})}}},lt=H(tt,[["__scopeId","data-v-54e2cc87"]]);function ae(t=[],n=R,l=U){return e.unref(t).reduce((r,o)=>(r[o[l]]={...o,[n]:o[n],[l]:o[l]},r),{})}function Q(t){return Array.isArray(t)?t:[t]}function xe(t,n="YYYY-MM-DD",l={emptyText:""}){return t?E(Number.isNaN(Number(t))?t:Number(t)).format(n):(l==null?void 0:l.emptyText)||""}function nt(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!e.isVNode(t)}const at={input:({label:t,key:n,props:l,readProps:r,format:o=null,read:s},{_value:a,_isRead:d})=>{const i=e.unref(a),c=e.unref(d);return s??c?e.createVNode(V.NEllipsis,r,{default:()=>[o?o==null?void 0:o(i[n],i):i[n]]}):e.createVNode(V.NInput,e.mergeProps({value:i[n],"onUpdate:value":y=>i[n]=y,clearable:!0,placeholder:`请输入${e.unref(t)}`},l),{...(l==null?void 0:l.slots)||{}})},select:({label:t,key:n,props:l,options:r=[],loading:o=!1,format:s=null,read:a},{_value:d,_isRead:i})=>{var h,x;const c=e.unref(d),y=e.unref(i),b=Array.isArray(r)?r:typeof r=="function"?r(c[n]):[];return a??y?e.createVNode("div",null,[s?s==null?void 0:s(c[n],b):((x=(h=ae(b,(l==null?void 0:l.labelField)||R,(l==null?void 0:l.valueField)||U))==null?void 0:h[c[n]])==null?void 0:x[(l==null?void 0:l.labelField)||R])||c[n]]):e.createVNode(V.NSelect,e.mergeProps({value:c[n],"onUpdate:value":m=>c[n]=m,options:b,loading:e.unref(o),clearable:!0,filterable:!0,"fallback-option":()=>(l!=null&&l.asyncFallback||(c[n]=null),!1),labelField:(l==null?void 0:l.labelField)||R,valueField:(l==null?void 0:l.valueField)||U,placeholder:`请选择${e.unref(t)}`,style:"width:100%","max-tag-count":"responsive"},l),{...(l==null?void 0:l.slots)||{}})},date:({label:t,key:n,props:l,formatTime:r="YYYY-MM-DD",type:o="date",format:s,read:a},{_value:d,_isRead:i})=>{const c=e.unref(d),y=e.unref(i);return a??y?e.createVNode("div",null,[s?s==null?void 0:s(c[n]):xe(c[n],r)]):e.createVNode(V.NDatePicker,e.mergeProps({"formatted-value":c[n],"onUpdate:formatted-value":b=>{c[n]=b},type:o,clearable:!0,placeholder:`请选择${e.unref(t)}`,"update-value-on-close":!["year"].includes(l==null?void 0:l.type),style:"width:100%"},l),{...(l==null?void 0:l.slots)||{}})},time:({label:t,key:n,props:l,format:r,formatTime:o="YYYY-MM-DD",read:s},{_value:a,_isRead:d})=>{const i=e.unref(a),c=e.unref(d);return s??c?e.createVNode("div",null,[r?r==null?void 0:r(i[n]):xe(i[n],o)]):e.createVNode(V.NTimePicker,e.mergeProps({"formatted-value":i[n],"onUpdate:value":(y,b)=>{console.log("v",b),i[n]=b},clearable:!0,format:"HH:mm:ss",style:"width:100%",placeholder:`请选择${e.unref(t)}`},l),{...(l==null?void 0:l.slots)||{}})},dateRange:({key:t,props:n,type:l="datetimerange",read:r},{_value:o,_isRead:s})=>{var y,b;const a=e.unref(o),d=e.unref(s),i={date:"YYYY-MM-DD",datetime:"YYYY-MM-DD HH:mm:ss",time:"HH:mm:ss",datetimerange:"YYYY-MM-DD HH:mm:ss",daterange:"YYYY-MM-DD"},c=n!=null&&n.format?(b=(y=n==null?void 0:n.format)==null?void 0:y.replace("yyyy","YYYY"))==null?void 0:b.replace("dd","DD"):i[(n==null?void 0:n.type)||l];return console.log("formatStr type",l),console.log("formatStr",c),r??d?e.createVNode("div",null,[Array.isArray(t)?`${a==null?void 0:a[t==null?void 0:t[0]]} - ${a==null?void 0:a[t==null?void 0:t[1]]}`:a==null?void 0:a[t]]):e.createVNode(V.NDatePicker,e.mergeProps({"formatted-value":Array.isArray(t)?a!=null&&a[t==null?void 0:t[0]]&&(a!=null&&a[t==null?void 0:t[1]])?[E(a==null?void 0:a[t==null?void 0:t[0]]).format(c),E(a==null?void 0:a[t==null?void 0:t[1]]).format(c)]:null:(a==null?void 0:a[t])||null,"onUpdate:formatted-value":h=>{console.log(h),h&&![i.datetime,i.datetimerange].includes(c)&&(h=h.map((x,m)=>E(x,c)[m?"endOf":"startOf"]("day").format(c))),Array.isArray(t)?(a[t==null?void 0:t[0]]=h==null?void 0:h[0],a[t==null?void 0:t[1]]=h==null?void 0:h[1]):a[t]=h},"update-value-on-close":!["year","month"].includes(n==null?void 0:n.type),type:l,clearable:!0,style:"width:100%"},n),{...(n==null?void 0:n.slots)||{}})},radio:({key:t,options:n=[],props:l,radioLabelProps:r,read:o},{_value:s,_isRead:a,labelField:d,valueField:i})=>{var b,h;const c=e.unref(s),y=e.unref(a);return o??y?e.createVNode("div",null,[(h=(b=ae(Array.isArray(n)?n:[],(l==null?void 0:l.labelField)||d||R,(l==null?void 0:l.valueField)||i||U))==null?void 0:b[c[t]])==null?void 0:h[(l==null?void 0:l.labelField)||d||R]]):e.createVNode(V.NRadioGroup,e.mergeProps({style:{width:"100%"},value:c[t],"onUpdate:value":x=>c[t]=x},l),{...(l==null?void 0:l.slots)||{},default:()=>e.createVNode(V.NSpace,e.mergeProps({"item-wrap":!1},(l==null?void 0:l.radioProps)||{}),{default:()=>{var x;return[(x=Array.isArray(n)?n:[])==null?void 0:x.map(m=>e.createVNode(V.NRadio,{key:m.value,value:m==null?void 0:m[(l==null?void 0:l.valueField)||i||U],class:"items-center"},{default:()=>[e.createVNode("div",(r==null?void 0:r(m))||{},[m==null?void 0:m[(l==null?void 0:l.labelField)||d||R]])]}))]}})})},inputPhone:({label:t,key:n,props:l,read:r},{_value:o,_isRead:s})=>{const a=e.unref(o),d=e.unref(s);return r??d?e.createVNode("div",null,[a[n]]):e.createVNode(V.NInput,e.mergeProps({value:a[n],"onUpdate:value":i=>a[n]=i,clearable:!0,style:"width:100%","allow-input":i=>!i||/^\d$/.test(i)||i.length<=11,placeholder:`请输入${e.unref(t)}`},l),{...l==null?void 0:l.slots})},inputNumber:({label:t,key:n,props:l,read:r},{_value:o,_isRead:s})=>{const a=e.unref(o),d=e.unref(s);return r??d?e.createVNode("div",null,[a[n]]):e.createVNode(V.NInputNumber,e.mergeProps({value:typeof a[n]=="string"&&a[n]?Number(a[n]):a[n],"onUpdate:value":i=>{a[n]=i},showButton:!1,clearable:!0,style:"width:100%",placeholder:`请输入${e.unref(t)}`,min:0},l),{...(l==null?void 0:l.slots)||{}})},uploadFile:({key:t,props:n},{_value:l})=>{const r=e.unref(l);return e.createVNode(V.NUpload,e.mergeProps({multiple:!0,max:1,accept:".xls,.xlsx","file-list":r[t],"onUpdate:file-list":o=>r[t]=o},n),{default:()=>[e.createVNode(V.NUploadDragger,null,{default:()=>[e.createVNode("div",{style:"margin-bottom: 12px"},[e.createVNode(V.NIcon,{size:"48",depth:3},{default:()=>[e.createVNode(z.ArchiveOutline,null,null)]})]),e.createVNode(V.NText,{style:"font-size: 16px"},{default:()=>[e.createTextVNode("点击或者拖动文件到该区域来上传")]})]})]})},dataTable:({key:t,loading:n=!1,props:l,options:r,opr:o,pageState:s},{_value:a,_isRead:d})=>{var h;const i=e.unref(a);console.log(n),console.log(s);const c=(h=s==null?void 0:s.data)!=null&&h.length?s.data:i[t],y=Array.isArray(r)?r:typeof r=="function"?r(i[t]):[],b={data:c,columns:y,maxHeight:200,minHeight:200,isEllipsis:!1,oprColumns:o,loading:s==null?void 0:s.loading,...l};return e.createVNode(Ie,b,null)},progress:({key:t,props:n},{_value:l})=>{const r=e.unref(l);return e.createVNode(V.NProgress,e.mergeProps({percentage:r[t]},n),null)},line:()=>e.createVNode(V.NDivider,null,null),image:({key:t,props:n,read:l},{_isRead:r,_value:o})=>{const s=e.unref(o),a=e.unref(r);return e.createVNode(lt,e.mergeProps({value:s[t],"onUpdate:value":d=>s[t]=d,max:1},n,{read:l??a}),null)},button:({onClick:t,props:n,text:l},{_value:r})=>{const o=e.unref(r);return e.createVNode(V.NButton,e.mergeProps({type:"info"},n,{onClick:()=>n!=null&&n.onClick?n==null?void 0:n.onClick(o):t==null?void 0:t(o)}),nt(l)?l:{default:()=>[l]})},switch:({key:t,props:n,read:l},{_isRead:r,_value:o})=>{const s=e.unref(o),a=e.unref(r);return l??a?e.createVNode("div",null,[s[t]?"是":"否"]):e.createVNode(V.NSwitch,e.mergeProps({value:s[t],"onUpdate:value":d=>s[t]=d},n),{...(n==null?void 0:n.slots)||{}})},checkbox:({key:t,options:n=[],props:l,read:r},{_value:o,_isRead:s,labelField:a,valueField:d})=>{var y,b,h;const i=e.unref(o),c=e.unref(s);return r??c?e.createVNode("div",null,[(h=(b=(y=Array.isArray(n)?n:[])==null?void 0:y.filter(x=>{var m;return(m=i[t])==null?void 0:m.includes(x[(l==null?void 0:l.valueField)||d||U])}))==null?void 0:b.map(x=>x[(l==null?void 0:l.labelField)||a||R]))==null?void 0:h.join("、")]):e.createVNode(V.NCheckboxGroup,e.mergeProps({value:i[t],"onUpdate:value":x=>i[t]=x,style:{width:"100%"}},l),{...(l==null?void 0:l.slots)||{},default:()=>e.createVNode(V.NSpace,(l==null?void 0:l.checkBoxProps)||{},{default:()=>{var x;return[(x=Array.isArray(n)?n:[])==null?void 0:x.map(m=>e.createVNode(V.NCheckbox,{key:m==null?void 0:m[(l==null?void 0:l.valueField)||d||U],value:m==null?void 0:m[(l==null?void 0:l.valueField)||d||U]},{default:()=>[m==null?void 0:m[(l==null?void 0:l.labelField)||a||R]]}))]}})})},filterList:({key:t,props:n,options:l},{_value:r})=>(e.unref(r),e.createVNode("div",null,[e.createTextVNode("FilterSelect 组件需要外部提供")]))};let L={};class rt{constructor(){ee(this,"defaultMap",null);ee(this,"extendOptions",null);console.log("DefaultOptions init"),this.defaultMap=null,this.init()}set(n,l){this.defaultMap&&this.defaultMap.set(n,l)}get(n){if(this.defaultMap)return this.defaultMap.get(n)}clear(){var n;(n=this.defaultMap)==null||n.clear()}setupOptions(n,l){if(!this.defaultMap)return;const r=this.defaultMap.size>0?[...this.defaultMap.keys()]:[];if(this.defaultMap.has(n))return console.error(`${n} 已存在,不能使用${r==null?void 0:r.join("、")}`);this.defaultMap.set(n,l)}setupExtendOptions(n,l){L||(L={}),L!=null&&L[n]||(L[n]=l)}getAllOptions(){var l;const n={};return(l=this.defaultMap)==null||l.forEach((r,o)=>{n[o]=r}),n}getOptions(n=[]){console.log("getOptions",this.defaultMap);const l={};return n.forEach(r=>{var o;(o=this.defaultMap)!=null&&o.has(r)&&(l[r]=this.defaultMap.get(r))}),l}initOptions(n={}){Object.keys(n).forEach(l=>{this.setupOptions(l,n[l])})}initSetup(n){this.defaultMap&&this.clear(),this.defaultMap=new Map,this.initOptions(at),n&&n(),this.initOptions(L)}init(n){this.initSetup(n)}}const ue=new rt,ie=(t=[])=>ue.getOptions(t);function ot(){return ue.getAllOptions()}function ut(t,n){return ue.setupExtendOptions(t,n)}const it=["xlink:href","fill"],st=e.defineComponent({__name:"SvgIcon",props:{name:{type:String,required:!0},color:{type:String,default:""}},setup(t){const n=t,l=e.computed(()=>`#svg-${n.name}`);return(r,o)=>(e.openBlock(),e.createElementBlock("svg",e.mergeProps({class:"svg-icon"},r.$attrs,{style:{color:t.color},"aria-hidden":""}),[e.createElementVNode("use",{"xlink:href":l.value,fill:t.color},null,8,it)],16))}}),ct=H(st,[["__scopeId","data-v-9dbe5f10"]]);function ft(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!e.isVNode(t)}const Fe=e.defineComponent((t,{emit:n})=>{var D;const l=e.getCurrentInstance();if((D=l==null?void 0:l.appContext)!=null&&D.app)v(l.appContext.app);else{const u=Me();u&&v(u)}const r=e.ref(t.value||{}),o=e.computed(()=>t.read||!1);let s=t.formRef;e.watch(()=>t.formRef,u=>s=u);const a=e.computed(()=>t.option||[]);function d(u){return u.reduce((_,g)=>{_.push((g==null?void 0:g.way)??"input");const N=[g==null?void 0:g.default,g==null?void 0:g.suffix,g==null?void 0:g.prefix].reduce((p,f)=>{var w;return Array.isArray(f)?p=p.concat(f):f&&((w=Object.keys(f))!=null&&w.length)&&p.push(f),p},[]);return console.log(N),N.length&&N.forEach(p=>_.push((p==null?void 0:p.way)??"input")),_},[])}const i=e.computed(()=>[...new Set(d(t.option||[]))]),c=ie(i.value);console.log(t.option),console.log("defaultOption",c,i.value),e.watch(()=>r.value,u=>{n("update:value",u)},{immediate:!0});function y(u,_){let g={};const N=typeof u;let p=null;try{return u?N==="string"||N==="object"?p=u:N==="function"&&(p=u(e.unref(r),{formRef:s,resetForm:()=>{var f;return(f=s==null?void 0:s.value)==null?void 0:f.restoreValidation()},close:()=>{var f;return(f=t.cancel)==null?void 0:f.call(t)},setValue:b})):p=u,typeof p=="object"&&!Array.isArray(p)?Object.keys(p).forEach(f=>{const w=p[f];e.isRef(w)?g[f]=e.unref(w):g[f]=w}):g=p,g}catch{return{}}}e.watch(()=>t.value,u=>{console.log(u),r.value=u||{}},{immediate:!0});function b(u){r.value=u}function h(u){return e.createVNode(V.NSpace,e.mergeProps({"wrap-item":!1,wrap:!!(u!=null&&u.isWrap),align:"center",style:{width:"100%"}},(u==null?void 0:u.contentProps)||{}),{default:()=>[x(u==null?void 0:u.prefix),x((u==null?void 0:u.default)||u),x(u==null?void 0:u.suffix)]})}function x(u){if(!u)return;let _=u;return typeof u=="function"&&(_=y(u)),_=y(_),e.isVNode(_)?(console.log("??? isVNode"),_):typeof _=="string"?(console.log("??? string"),_):Array.isArray(_)?(console.log("???"),e.createVNode(e.Fragment,null,[_.map((g,N)=>e.createVNode(S,{item:g,index:N},null))])):typeof _=="object"?(console.log("??? object"),_.props=y((_==null?void 0:_.props)??{}),e.unref(e.computed(()=>{var g;return(g=c==null?void 0:c[(_==null?void 0:_.way)||"input"])==null?void 0:g.call(c,m(_),{_value:_!=null&&_.queryType?e.unref(r)[_==null?void 0:_.queryType]:e.unref(r),_formRef:e.unref(s),_isRead:e.unref(o),labelField:R,valueField:U})}))):null}function m(u){return e.unref(u.enum)&&(u.options=re(e.unref(u.enum))),u}function S({item:u,index:_}){var g,N,p,f,w,M;return u.formItemProps=y(u==null?void 0:u.formItemProps),u.formItemProps||(u.formItemProps={}),!((g=u.formItemProps)!=null&&g.labelWidth)&&((N=t.formProps)!=null&&N.labelWidth)&&(u.formItemProps.labelWidth=(p=t.formProps)==null?void 0:p.labelWidth),e.withDirectives(e.createVNode(V.NFormItem,e.mergeProps({key:_,showLabel:!(u!=null&&u.noLabel)},u==null?void 0:u.formItemProps,{labelWidth:((f=u==null?void 0:u.formItemProps)==null?void 0:f.labelWidth)||"auto",feedback:y((w=u==null?void 0:u.formItemProps)==null?void 0:w.feedback),style:{padding:"0 15px",boxSizing:"border-box",width:"100%",...((M=u==null?void 0:u.formItemProps)==null?void 0:M.style)||{}},path:String(u.key)}),{default:()=>h(u),label:()=>{var F,I;return e.createVNode("div",{class:u!=null&&u.labelClass||u!=null&&u.labelSuffix?` ${u==null?void 0:u.labelClass} flex items-center gap-col-9px`:""},[u!=null&&u.labelSuffix?typeof(u==null?void 0:u.labelSuffix)=="string"?e.createVNode(V.NIcon,{class:"wh-20px c-inherit",...u==null?void 0:u.labelSuffixProps},{default:()=>[e.createVNode(ct,{name:u==null?void 0:u.labelSuffix},null)]}):(F=u==null?void 0:u.labelSuffix)==null?void 0:F.call(u):e.createVNode(e.Fragment,null,null),`${e.unref(typeof(u==null?void 0:u[t.labelField||"label"])=="function"?(I=u==null?void 0:u[t.labelField||"label"])==null?void 0:I.call(u):u==null?void 0:u[t.labelField||"label"])||""} ${o.value||u.read," "}
2
+ `])}}),[[e.resolveDirective("corePermission"),u==null?void 0:u.permission]])}return()=>{let u;return e.createVNode(V.NSpace,{"wrap-item":!1,size:[0,8],style:{width:"100%",minHeight:"100%",alignContent:"baseline",...t.style}},ft(u=a.value.map(({isRender:_=!0,...g},N)=>(typeof e.unref(_)!="boolean"?_!=null&&_(e.unref(r)):e.unref(_))?g!=null&&g.render?g==null?void 0:g.render(e.unref(r),N,{setValue:b,value:e.unref(r)}):e.createVNode(S,{item:g,index:N},null):null))?u:{default:()=>[u]})}},{props:{option:{type:Array,default:()=>[]},value:{type:Object,default:()=>({})},read:{type:Boolean,default:()=>!1},labelField:{type:String,default:()=>R},valueField:{type:String,default:()=>U},style:{type:Object,default:()=>({})},formRef:{type:Object,default:()=>({})},formProps:{type:Object,default:()=>({})}},emits:["update:value"]}),dt={showIcon:!1,autoFocus:!1};function Re({options:t=[],model:n,labelField:l="label",formOpr:r={}}){return e.computed(()=>(t==null?void 0:t.reduce((o,{fields:s,...a})=>{var i,c;Array.isArray(a==null?void 0:a.key)&&a.key.forEach(y=>{a!=null&&a.required&&(o[String(y)]={key:y,type:"any",required:a!=null&&a.required?typeof(a==null?void 0:a.required)=="function"?a==null?void 0:a.required(e.unref(n),{...r}):a==null?void 0:a.required:!1,message:(a==null?void 0:a.message)||`请选择${a==null?void 0:a[l]}`,fields:s})});const d=a!=null&&a.rule?typeof(a==null?void 0:a.rule)!="function"?a==null?void 0:a.rule:a==null?void 0:a.rule(e.unref(n),{...r}):s?{key:a==null?void 0:a.key,type:"any",required:a!=null&&a.required?typeof(a==null?void 0:a.required)=="function"?a==null?void 0:a.required(e.unref(n),{...r}):a==null?void 0:a.required:!1,message:(a==null?void 0:a.message)||`请${(i=a==null?void 0:a.options)!=null&&i.length?"选择":"输入"}${a==null?void 0:a[l]}`,fields:s}:{key:a==null?void 0:a.key,type:"any",required:a!=null&&a.required?typeof(a==null?void 0:a.required)=="function"?a==null?void 0:a.required(e.unref(n),{...r}):a==null?void 0:a.required:!1,message:(a==null?void 0:a.message)||`请${(c=a==null?void 0:a.options)!=null&&c.length?"选择":"输入"}${a==null?void 0:a[l]}`,...Array.isArray(a==null?void 0:a.key)?{validator:y=>(console.log(y),!(a==null?void 0:a.key.every(h=>e.unref(n)[h]))&&(a!=null&&a.required)?new Error(y==null?void 0:y.message):!0)}:{}};return d!=null&&d.required&&(o[String(a==null?void 0:a.key)]=d),o},{}))||{})}const se=e.defineComponent({__name:"DataForm",props:e.mergeModels({value:{},options:{default:()=>[]},isNo:{type:Boolean,default:!0},read:{type:Boolean,default:!1},labelField:{default:"label"},contentStyle:{default:()=>({})},rules:{default:()=>({})},formProps:{default:()=>({})},formItemProps:{default:()=>({})},dialog:{type:Boolean,default:!1}},{value:{type:Object,default:()=>({})},valueModifiers:{}}),emits:["update:value"],setup(t,{expose:n}){var i;const l=e.getCurrentInstance();(i=l==null?void 0:l.appContext)!=null&&i.app&&v(l.appContext.app);const r=t,o=e.computed(()=>r.options),s=e.ref(),a=e.useModel(t,"value"),d=e.computed(()=>e.unref(o.value?Re({options:o.value,model:a,labelField:r.labelField,formOpr:{formRef:s}}):{}));return console.log(d.value),n({formRef:s,getRule:()=>d.value,valid:(c=[])=>(console.log("?? valid",c),new Promise((y,b)=>{var x;const h=Q(c);(x=s.value)==null||x.validate(m=>{if(m)return b(m);y()},m=>h.length?h.includes(m==null?void 0:m.key):!0)})),confirm:c=>new Promise((y,b)=>{var h;(h=s.value)==null||h.validate(x=>{if(x)return b(x);c&&c(e.unref(a)),y(e.unref(a))})})}),(c,y)=>(e.openBlock(),e.createBlock(e.unref(V.NForm),e.mergeProps({ref_key:"formRef",ref:s,model:a.value,rules:r.read?{}:d.value,"label-placement":"left","label-width":"100px","require-mark-placement":"right-hanging",class:r.dialog?r.read?"core-dialog-content":"core-dialog-main":"",style:{minHeight:r.isNo?"unset":null}},r.formProps),{default:e.withCtx(()=>[e.createVNode(e.unref(Fe),{value:a.value,"onUpdate:value":y[0]||(y[0]=b=>a.value=b),"form-ref":s.value,option:r.options,"label-field":r.labelField,read:r.read,style:e.normalizeStyle(r.contentStyle),"form-props":r.formProps},null,8,["value","form-ref","option","label-field","read","style","form-props"])]),_:1},16,["model","rules","class","style"]))}});function yt(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!e.isVNode(t)}let k=null,te=null;function gt(){if(k)return k;if(typeof $dialog<"u"&&$dialog)return k=$dialog,k;try{const t=V.useDialog();if(t)return k=t,k}catch{}if(!te){const{dialog:t}=V.createDiscreteApi(["dialog"]);te={dialog:t}}return k=te.dialog,k}function ce({title:t="",noTitle:n=!1,titleFull:l=null,options:r=[],mode:o="add",modeEnum:s={},labelField:a="label",isNo:d=!0,formProps:i={},interfaceFn:c=null,interfaceFnCancel:y=null,valueData:b,read:h,isRead:x,action:m=null,contentStyle:S={},actionProps:D={}}={title:"自定义弹窗",noTitle:!1,action:[],options:[],read:!1,isRead:!1,valueData:{}},u=null){var ye;const _=gt(),g={none:{sub:"",read:!1},create:{sub:"创建",read:!1},add:{sub:"添加",read:!1},edit:{sub:"编辑",read:!1},view:{sub:"查看",read:!0},export:{sub:"导出",read:!1},import:{sub:"导入",read:!1},delete:{sub:"删除",read:!1},copy:{sub:"复制",read:!1},...s},N=e.ref(),p=e.reactive([]),f=e.ref({...b}),w={justify:"end",wrapItem:!1,style:{width:"100%"}},M={width:"120px"},F=[{label:"取消",props:{type:"primary",ghost:!0},onClick:({cancel:A})=>{y?y(e.unref(f),{close:A}):A()}},{label:"确定",valid:!0,onClick:async({cancel:A,hideLoading:C})=>c?await c(e.unref(f),{close:A,hideLoading:C}):A()}];(Array.isArray(m)?m:F).forEach((A,C)=>{p[C]=!1});const I=typeof l=="function"?()=>{var A;return l(((A=g[o])==null?void 0:A.sub)||"")}:l,O=e.ref();function P(){var A;console.log("取消",f.value),(A=O.value)==null||A.destroy()}async function Y(A=[]){var C;console.log("开启验证"),await((C=N.value)==null?void 0:C.valid())}async function q(A){return A&&A()}const G=h??x?null:typeof m=="function"?()=>m({formRef:N,data:e.unref(f),d:O.value,close:P}):()=>{let A;return e.createVNode(V.NSpace,e.mergeProps(w,D,{style:{...w==null?void 0:w.style,...(D==null?void 0:D.style)||{}}}),yt(A=(Array.isArray(m)?m:F).map((C,X)=>{var ge;return C!=null&&C.render?(ge=C==null?void 0:C.render)==null?void 0:ge.call(C):e.createVNode(V.NButton,e.mergeProps({type:"primary",ghost:C.mode==="cancel"},(C==null?void 0:C.props)||{},(D==null?void 0:D.buttonProps)||{},{style:{...M,...(C==null?void 0:C.style)||{}},loading:p[X],onClick:async()=>{var me,he;if(C.mode==="cancel")(me=O.value)==null||me.destroy();else{const Z=()=>p[X]=!0,pe=()=>p[X]=!1;C!=null&&C.loading&&Z();try{console.log("model",e.unref(f)),C!=null&&C.valid&&await Y(),console.log(C==null?void 0:C.valid),(C!=null&&C.valid||C!=null&&C.loading)&&Z(),await((he=C==null?void 0:C.onClick)==null?void 0:he.call(C,{model:e.unref(f),comfirm:q,cancel:P,validate:Y,showLoading:Z,hideLoading:pe}))}catch($e){console.log($e)}finally{(C!=null&&C.valid||C!=null&&C.loading)&&pe()}}}}),{default:()=>[C.label||""]})}))?A:{default:()=>[A]})},J=_.create({type:"info",...dt,...n?{}:{title:I||(((ye=g[o])==null?void 0:ye.sub)??"")+t},style:{width:"500px"},content:()=>e.createVNode(se,{ref:A=>{N.value=A},options:r,value:f,"onUpdate:value":A=>f=A,isNo:d,read:h??x,labelField:a,formProps:i,contentStyle:S,dialog:!0},null),action:G,...u,class:`core-dialog ${h??x?"core-dialog-read":""} ${(u==null?void 0:u.class)||""}`});return O.value=J,{cancel:P,setValue:(A,C)=>C?f.value[C]=A:f.value={...f.value,...A},model:e.unref(f),modeEnum:g}}function mt(){const t=V.useDialog();return oe(t),(n,l)=>ce(n,l)}const ht={class:"flex-1"},pt=e.defineComponent({__name:"CommonQuery",props:e.mergeModels({query:{default:()=>({})},options:{default:()=>[]},inlineText:{type:Boolean,default:!0},selectCount:{default:1},type:{default:"primary"},noButton:{type:Boolean,default:!1},isRead:{type:Boolean,default:!1},btn:{default:()=>["reset","search"]},size:{default:"medium"}},{query:{type:Object,default:()=>({})},queryModifiers:{}}),emits:e.mergeModels(["update:query","submit","reset"],["update:query"]),setup(t,{emit:n}){var _;const l=e.getCurrentInstance();(_=l==null?void 0:l.appContext)!=null&&_.app&&v(l.appContext.app);function r(g,N){let p;return function(...f){clearTimeout(p),p=setTimeout(()=>{g.apply(this,f)},N)}}const o=n,s=t;function a(g){return g.map(N=>({...N,props:{...N.props,...!N.way||N.way==="input"?{onUpdateValue:(...p)=>{var f,w;(w=(f=N.props)==null?void 0:f.onUpdateValue)==null||w.call(f,...p),d()}}:{},...(N==null?void 0:N.way)==="select"?{onUpdateValue:(...p)=>{var f,w;(w=(f=N.props)==null?void 0:f.onUpdateValue)==null||w.call(f,...p),d()}}:{}}}))}const d=r(()=>{o("submit")},500);function i(){d()}const c=e.ref(!1),y=e.useModel(t,"query"),b={style:{width:"33%"}},h=e.computed(()=>{var g;return(g=s.options)==null?void 0:g.map(N=>(N==null?void 0:N.way)||"input")});ie(h.value);const x=e.computed(()=>{var g;try{const N=[];for(let p=0;p<(((g=s.options)==null?void 0:g.length)||0);p++){const f=s.options[p];if(f!=null&&f.enum&&!(f!=null&&f.options)&&(f.options=re(f.enum)),f!=null&&f.props||(f.props={size:s.size}),!(f!=null&&f.formItemProps))f.formItemProps={...b};else{const M=typeof f.formItemProps=="function"?f.formItemProps({},{}):f.formItemProps;f.formItemProps={...b,...M,style:{...b.style,...M==null?void 0:M.style}}}const w=(f==null?void 0:f.key)||(f==null?void 0:f.value);if(!w)throw new Error("key no set");N.push({...f,key:w})}return a(N)}catch(N){return console.warn("error",N),[]}}),m={style:{borderRadius:"3px"}},S={search:()=>e.createVNode(V.NButton,e.mergeProps({type:s.type,loading:c.value,"default-props":{attrType:"submit"},onClick:()=>i()},m),{default:()=>"搜索",icon:()=>e.createVNode(z.SearchOutline,null,null)}),reset:()=>e.createVNode(V.NButton,e.mergeProps({type:"default",onClick:()=>{D()}},m),{default:()=>"重置",icon:()=>e.createVNode(z.RefreshOutline,null,null)})};function D(){var g;(g=s.options)==null||g.forEach(N=>{const p=(N==null?void 0:N.key)||(N==null?void 0:N.value);p&&(N!=null&&N.queryType?(y.value[N.queryType]||(y.value[N.queryType]={}),y.value[N.queryType][p]=null):y.value[p]=null)}),o("reset")}function u(g){g.key==="Enter"&&i()}return e.onMounted(()=>{document.addEventListener("keydown",u)}),e.onUnmounted(()=>{document.removeEventListener("keydown",u)}),(g,N)=>(e.openBlock(),e.createBlock(e.unref(V.NSpace),{"wrap-item":!1,justify:"space-between",align:"center",wrap:!1},{default:e.withCtx(()=>[e.createElementVNode("div",ht,[e.createVNode(se,{value:y.value,"onUpdate:value":N[0]||(N[0]=p=>y.value=p),options:x.value,"form-props":{showFeedback:!1}},null,8,["value","options"])]),s.noButton?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(V.NSpace),{key:0,align:"center",wrap:!1},{default:e.withCtx(()=>[e.renderSlot(g.$slots,"left-btn",{},void 0,!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.btn,(p,f)=>{var w;return e.openBlock(),e.createBlock(e.resolveDynamicComponent((w=S==null?void 0:S[p])==null?void 0:w.call(S)),{key:f})}),128)),e.renderSlot(g.$slots,"right-btn",{},void 0,!0)]),_:3}))]),_:3}))}}),Nt=H(pt,[["__scopeId","data-v-643f6214"]]),fe=e.defineComponent(({action:t,row:n,index:l})=>{const{onClick:r,disabled:o,type:s="primary",loading:a=!1,label:d=null,...i}=t||{},c=e.ref(!1);return()=>e.createVNode(V.NButton,e.mergeProps({text:!0,onClick:async()=>{if(r)try{a&&(c.value=!0),await r(n)}finally{setTimeout(()=>c.value=!1,500)}},disabled:typeof o=="function"?o(n):o,loading:c.value,type:typeof o=="function"&&o(n)?"default":s},i),{default:()=>[typeof d=="function"?d==null?void 0:d(n):d]})},{props:{action:{type:[Object,null],default:null},row:{type:[Object,null],default:null},index:{type:Number,default:0}}}),de=e.defineComponent(({onClick:t,row:n,index:l,action:r},{slots:o})=>{const s=e.ref(!1);return()=>e.createVNode(V.NPopconfirm,{"positive-button-props":{type:"warning",loading:s.value},onPositiveClick:async()=>{try{if(t)return s.value=!0,await t(n,l),s.value=!1,!0}catch{return s.value=!1,!1}return!1}},{trigger:o.default,default:()=>{var a;return((a=r==null?void 0:r.popProps)==null?void 0:a.content)||(r==null?void 0:r.content)||"确定删除该记录?"}})},{props:{onClick:{type:Function,default:null},row:{type:[Object,null],default:null},action:{type:[Object,null],default:null},index:{type:Number,default:0}}});function we(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!e.isVNode(t)}const bt=e.defineComponent(t=>{const n=t.options.length,l=e.ref(!1),r=e.computed(()=>t.options.slice(0,l.value?n:t.max)),o=e.computed(()=>t.options.slice(t.max));function s(a){return a==null?void 0:a.map(({isRender:d=()=>!0,onClick:i=null,mode:c=null,disabled:y=!1,type:b="primary",...h},x)=>(typeof d=="function"?d(t.data):d)?c==="pop"?e.createVNode(de,{onClick:i,row:t.data,index:t.index,action:h,key:j(t.data,t.index)+x},{default:()=>[e.createVNode(V.NButton,e.mergeProps({text:!0,disabled:typeof y=="function"?y(t.data):y,type:typeof y=="function"&&y(t.data)?"default":b},h),{default:()=>[typeof(h==null?void 0:h.label)=="function"?h==null?void 0:h.label(t.data):h==null?void 0:h.label]})]}):e.createVNode(fe,{row:t.data,action:{...h,disabled:y,onClick:i,type:b},index:t.index,key:j(t.data,t.index)+x},null):void 0).filter(d=>d!==void 0)}return()=>{let a;return e.createVNode(V.NSpace,{style:{width:"100%"},"wrap-item":!1,justify:"center",align:"center"},{default:()=>[e.createVNode(V.NSpace,{"wrap-item":!1,align:"center"},we(a=s(r.value))?a:{default:()=>[a]}),e.createVNode(V.NPopover,{trigger:"click"},{trigger:()=>e.createVNode(V.NButton,{text:!0,type:"info"},{default:()=>[e.createTextVNode("更多")]}),default:()=>{let d;return e.createVNode(V.NSpace,{"wrap-item":!1,align:"center",style:{width:"250px",padding:"5px"}},we(d=s(o.value))?d:{default:()=>[d]})}})]})}},{name:"DataColumnCollet",props:{options:{type:Array,default:()=>[]},max:{type:Number,default:3},data:{type:Object,default:()=>({})},index:{type:Number,default:0}}});function xt(){var n;const t=Ae();if(t)return t;try{const l=e.getCurrentInstance();if((n=l==null?void 0:l.appContext)!=null&&n.app)return null}catch{}return null}function $(t={},n=null){const l=De();return!l.inheritTheme&&l.themeOverrides?{...t,themeOverrides:{...l.themeOverrides,...t.themeOverrides||{}}}:t}function wt(t,n={}){if(!t)throw new Error("dialogInstance 是必需的。请在组件中使用 useDialog() 获取实例,然后传递给此函数。");const l=$(n,t);return t.create(l)}function Ct(t){if(!t)throw new Error("dialogInstance 是必需的。请在组件中使用 useDialog() 获取实例。");return{info:n=>{const l=$({type:"info",...n},t);return t.info(l)},success:n=>{const l=$({type:"success",...n},t);return t.success(l)},warning:n=>{const l=$({type:"warning",...n},t);return t.warning(l)},error:n=>{const l=$({type:"error",...n},t);return t.error(l)},create:n=>{const l=$(n,t);return t.create(l)}}}function Vt(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!e.isVNode(t)}const j=(t,n)=>t?JSON.stringify(t):String(n);function _t(t,n=null,l){const r={max:4,width:80};let o=!1;if(typeof l=="boolean"?o=r:typeof l=="object"&&(o={...r,...l}),console.log("collect",o),console.log(Array.isArray(t)),!Array.isArray(t))throw new TypeError("需要配置数组");console.log("ddd");let s=[],a=0;const d=[];return Array.isArray(t)&&(s=t,s.forEach((i,c)=>{var y,b;i.permission?K(i.permission)&&((!l||typeof o=="object"&&c<o.max)&&(a+=(typeof(i==null?void 0:i.label)=="string"?(y=i==null?void 0:i.label)==null?void 0:y.length:10)*12+36),d.push(i)):((!l||typeof o=="object"&&c<o.max)&&(a+=(typeof(i==null?void 0:i.label)=="string"?(b=i==null?void 0:i.label)==null?void 0:b.length:10)*12+36),d.push(i))})),a=Math.max(80,a),a+=0,o&&(a+=2),d.length?{title:"操作",key:"opr",fixed:"right",align:"left",width:a,...n,render(i,c){const y=o?e.createVNode(bt,{data:i,index:c,max:o.max,options:d},null):d.map(({isRender:b=()=>!0,onClick:h=null,mode:x=null,disabled:m=!1,type:S="primary",...D},u)=>(typeof b=="function"?b(i):b)?x==="pop"?e.createVNode(de,{onClick:h,row:i,index:c,action:D,key:j(i,c)+u},{default:()=>[e.createVNode(V.NButton,e.mergeProps({text:!0,disabled:typeof m=="function"?m(i):m,type:typeof m=="function"&&m(i)?"default":S},D),{default:()=>[typeof(D==null?void 0:D.label)=="function"?D==null?void 0:D.label(i):D==null?void 0:D.label]})]}):e.createVNode(fe,{row:i,action:{...D,disabled:m,onClick:h,type:S},index:c,key:j(i,c)+u},null):void 0).filter(b=>b!==void 0);return n!=null&&n.isRender?n==null?void 0:n.render(i):e.createVNode(V.NSpace,{align:"center","wrap-item":!1,size:18,key:j(i,c)},Vt(y)?y:{default:()=>[y]})}}:void 0}async function Ue(t,n=null){const l=xt();if(!l)throw new Error("无法获取 dialog 实例。请使用 useQRCode hook 或在组件中通过 setupConfig 注册 dialog 实例。");const r=e.ref(null),o=e.ref(!1),s=$({type:"info",showIcon:!1,style:{width:"350px",height:"350px"},content:()=>e.createVNode("div",{class:"qr-box"},[o.value?e.createVNode(V.NSpin,{class:"qr-spin",show:!0},null):"",e.createVNode("div",{class:"qr-img"},[e.createVNode(V.NImage,{src:r.value,style:{width:"100%"}},null)]),e.createVNode("div",{class:"qr-title"},[o.value?"":t.name])])},l);return l.info(s),n&&(o.value=!0,r.value=await n(),o.value=!1),!0}function Ot(){const t=V.useDialog();return oe(t),(n,l)=>Ue(n,l)}function qe(t){var n,l;if((n=t==null?void 0:t.children)!=null&&n.length){const r=[];t.children.forEach(o=>{var a,d,i,c;qe(o);let s=[];typeof((a=o==null?void 0:o.meta)==null?void 0:a.permission)=="string"?s=[o.meta.permission]:Array.isArray((d=o.meta)==null?void 0:d.permission)?s.push(...o.meta.permission):typeof((i=o.meta)==null?void 0:i.permission)=="object"?s.push(...Dt(Ee(o.meta.permission))):(c=o==null?void 0:o.meta)!=null&&c.permission||(s=null),o.meta.permission=s,r.push(...new Set(s))}),(l=t==null?void 0:t.meta)!=null&&l.permission?t.meta.permission=[...new Set(t.meta.permission.concat(r))]:t.meta.permission=r}return t}function Dt(...t){const n=t==null?void 0:t.map(l=>Array.isArray(l)?l:l==null?void 0:l.ALL);return[].concat(...n)}function Ee(t){return t?Object.keys(t).reduce((n,l)=>(typeof t[l]!="string"?n.concat(Ee(t[l])):n.push(t[l]),n),[]):[]}function At(...t){return{...Te("auth",t)}}function St(...t){return{...Te("api",t)}}function Pt(t,n={}){const l=Object.keys(n);return l.length&&l.forEach(r=>{const o=new RegExp(`${r}`,"g");t=t==null?void 0:t.replace(o,n[r])}),t}function Te(t,n){var a;const l=le.useRoute(),r=le.useRouter(),o=Ce(((a=l==null?void 0:l.meta)==null?void 0:a[t])??{}),s=Q(n[0]);return s!=null&&s.length&&r.getRoutes().filter(i=>s.includes(i.name)).forEach(i=>{var c;(c=i.meta)!=null&&c[t]&&(o[i.name]=Ce(i.meta[t]))}),{...o}}function Ce(t={}){return Object.keys(t).reduce((n,l)=>{const r=t[l];return typeof r=="object"?n[l]=r==null?void 0:r.key:typeof r=="string"&&(n[l]=String(r)),n},{})}const W={ascend:{title:"升序",value:!0,Icon:e.h(z.ChevronUp),fn:(t,n)=>{t.desc=!0,t.sortFieldName=n}},descend:{title:"降序",value:!1,Icon:e.h(z.ChevronDown),fn:t=>{t.sortFieldName="",t.desc=!0}},false:{title:"默认",value:null,Icon:e.h(z.Code,{style:"transform:rotateZ(90deg)"}),fn:t=>{t.desc=!1,t.sortFieldName=""}}};function ke(t,n={}){v(t)}const Mt={install:ke};exports.initRouteMeta=Le.initRouteMeta;exports.ArrayToObject=ae;exports.CommonQuery=Nt;exports.CorePlugin=Mt;exports.DataForm=se;exports.DataTable=Ie;exports.ObjectToArray=re;exports.OprButton=fe;exports.Options=Fe;exports.Pop=de;exports.autoRegisterDirectives=Je;exports.cellectChildenPermission=qe;exports.checkPermission=K;exports.commonDialogMethod=ce;exports.createActionColumnJsx=_t;exports.createDialog=wt;exports.createDialogMethods=Ct;exports.createDialogOptions=$;exports.createQRCode=Ue;exports.customUpload=Be;exports.ellipsis=ne;exports.getAllOptions=ot;exports.getBaseURL=_e;exports.getConfig=Qe;exports.getDialogConfig=De;exports.getDialogInstance=Ae;exports.getFileUrl=T;exports.getGlobalApp=Me;exports.getHasPermission=Ge;exports.getOptions=ie;exports.getUploadMethod=Oe;exports.globalLabelField=R;exports.globalValueField=U;exports.handleParams=Pt;exports.initRules=Re;exports.install=ke;exports.orderEnum=W;exports.permissionDirective=Se;exports.registerDialogInstance=oe;exports.registerDirectives=v;exports.registryUpload=Ze;exports.setupConfig=Ve;exports.setupOptions=ut;exports.toArray=Q;exports.useApiConfig=St;exports.useAuthPermission=At;exports.useCommonDialog=mt;exports.useQRCode=Ot;