@xmszm/core 0.0.1 → 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 (77) hide show
  1. package/README.md +187 -0
  2. package/dist/index.cjs +2 -2
  3. package/dist/index.mjs +1431 -1170
  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 +91 -0
  8. package/docs/components/config-options.md +125 -0
  9. package/docs/components/dataform.md +176 -23
  10. package/docs/components/datatable.md +58 -39
  11. package/docs/components/dialog.md +158 -19
  12. package/docs/components/options.md +44 -15
  13. package/docs/components/query.md +68 -14
  14. package/docs/components/utils.md +124 -16
  15. package/docs/guide/changelog.md +81 -0
  16. package/docs/guide/config.md +415 -0
  17. package/docs/guide/demo.md +2 -2
  18. package/docs/guide/local-development.md +109 -0
  19. package/docs/guide/quickstart.md +40 -11
  20. package/docs/index.md +3 -3
  21. package/docs/usage.md +30 -6
  22. package/examples/README.md +46 -0
  23. package/examples/index.html +14 -0
  24. package/examples/package.json +25 -0
  25. package/examples/pnpm-lock.yaml +1569 -0
  26. package/examples/pnpm-workspace.yaml +3 -0
  27. package/examples/src/AdminSystem.vue +870 -0
  28. package/examples/src/App.vue +330 -0
  29. package/examples/src/Introduction.vue +307 -0
  30. package/examples/src/main.js +22 -0
  31. package/examples/src/utils/permission.js +16 -0
  32. package/examples/src/utils/request.js +10 -0
  33. package/examples/vite.config.js +41 -0
  34. package/package.json +13 -4
  35. package/src/dialog/commonDialog.tsx +285 -0
  36. package/src/dialog/useCommonDialog.ts +41 -0
  37. package/src/dialog/utils/{dialog.js → dialog.ts} +2 -0
  38. package/src/directives/auto-register.ts +57 -0
  39. package/src/directives/permission.ts +67 -0
  40. package/src/enum/sort.tsx +45 -0
  41. package/src/form/DataForm.vue +34 -52
  42. package/src/index.ts +58 -0
  43. package/src/list/{useList.jsx → useList.tsx} +49 -14
  44. package/src/options/{Options.jsx → Options.tsx} +86 -72
  45. package/src/options/defaultOptions.tsx +656 -0
  46. package/src/plugin/index.ts +20 -0
  47. package/src/query/CommonQuery.vue +65 -90
  48. package/src/table/DataTable.vue +82 -95
  49. package/src/table/opr/{DataColumnCollet.jsx → DataColumnCollet.tsx} +18 -8
  50. package/src/table/opr/useDataColumn.tsx +226 -0
  51. package/src/table/opr/{useDataColumnButton.jsx → useDataColumnButton.tsx} +13 -6
  52. package/src/table/opr/{useDataColumnPop.jsx → useDataColumnPop.tsx} +13 -5
  53. package/src/table/opr/useQRCode.ts +40 -0
  54. package/src/utils/{array.js → array.ts} +4 -6
  55. package/src/utils/config.ts +192 -0
  56. package/src/utils/dialog.ts +110 -0
  57. package/src/utils/{object.js → object.ts} +1 -0
  58. package/src/utils/upload.ts +53 -0
  59. package/types/auto-imports.d.ts +78 -0
  60. package/types/components.d.ts +402 -0
  61. package/types/index.d.ts +145 -7
  62. package/types/plugin/vite/initRouteMeta.d.ts +23 -0
  63. package/types/src.d.ts +55 -0
  64. package/types/vue-shim.d.ts +9 -0
  65. package/examples/demo.vue +0 -224
  66. package/src/dialog/commonDialog.jsx +0 -230
  67. package/src/enum/sort.jsx +0 -31
  68. package/src/index.js +0 -46
  69. package/src/options/defaultOptions.jsx +0 -580
  70. package/src/table/opr/useDataColumn.jsx +0 -196
  71. package/src/utils/upload.js +0 -46
  72. /package/src/enum/{options.js → options.ts} +0 -0
  73. /package/src/plugin/vite/{initRouteMeta.js → initRouteMeta.ts} +0 -0
  74. /package/src/store/utils/{index.js → index.ts} +0 -0
  75. /package/src/table/utils/{ellipsis.js → ellipsis.ts} +0 -0
  76. /package/src/utils/{auth.js → auth.ts} +0 -0
  77. /package/src/utils/{time.js → time.ts} +0 -0
package/README.md ADDED
@@ -0,0 +1,187 @@
1
+ # @xmszm/core
2
+
3
+ 基于 Vue 3 + Naive UI 的组件与工具库,提供开箱即用的配置式表单、表格、弹窗等常用组件,以及丰富的工具函数集合。
4
+
5
+ ## ✨ 特性
6
+
7
+ - 🎨 **配置化表单** - 通过 Options 定义字段,自动生成 rules,轻松构建复杂表单
8
+ - 📊 **表格增强** - 内置操作列创建器、排序、筛选、虚拟滚动与省略 tooltip
9
+ - 🪟 **弹窗集成** - `commonDialogMethod` 将表单与弹窗能力合并,减少样板代码
10
+ - 🛠️ **实用工具** - 上传、权限、路由 meta 初始化、数组对象转换等常用方法
11
+
12
+ ## 📦 安装
13
+
14
+ ```bash
15
+ npm install @xmszm/core
16
+ # 或
17
+ pnpm add @xmszm/core
18
+ # 或
19
+ yarn add @xmszm/core
20
+ ```
21
+
22
+ ### peer 依赖
23
+
24
+ 请确保项目中已安装以下依赖:
25
+
26
+ - `vue` >= 3.3.0
27
+ - `naive-ui` >= 2.38.0
28
+ - `vue-router` >= 4.2.0
29
+ - `dayjs` >= 1.11.0
30
+ - `lodash-es` >= 4.17.21
31
+ - `@vicons/ionicons5` >= 0.13.0
32
+
33
+ ## 🚀 快速开始
34
+
35
+ ### 引入组件和样式
36
+
37
+ **推荐在全局入口文件中引入样式:**
38
+
39
+ ```javascript
40
+ // main.js 或 main.ts
41
+ import '@xmszm/core/dist/style.css' // 全局引入样式
42
+ ```
43
+
44
+ **然后在组件中使用:**
45
+
46
+ ```javascript
47
+ import { DataForm, DataTable, CommonQuery, commonDialogMethod } from '@xmszm/core'
48
+ // 如果已在全局引入样式,这里无需重复引入
49
+ ```
50
+
51
+ ### 基础示例
52
+
53
+ ```vue
54
+ <template>
55
+ <div>
56
+ <!-- 表单 -->
57
+ <DataForm v-model:value="formValue" :options="formOptions" />
58
+
59
+ <!-- 表格 -->
60
+ <DataTable :data="tableData" :columns="columns" />
61
+
62
+ <!-- 查询 -->
63
+ <CommonQuery :query="query" :options="queryOptions" @submit="handleSearch" />
64
+ </div>
65
+ </template>
66
+
67
+ <script setup>
68
+ import { ref } from 'vue'
69
+ import { DataForm, DataTable, CommonQuery, commonDialogMethod } from '@xmszm/core'
70
+ import '@xmszm/core/dist/style.css'
71
+
72
+ const formValue = ref({})
73
+ const formOptions = [
74
+ { key: 'name', label: '名称', way: 'input', required: true },
75
+ { key: 'type', label: '类型', way: 'select', options: [
76
+ { label: '类型A', value: 'A' },
77
+ { label: '类型B', value: 'B' }
78
+ ]}
79
+ ]
80
+
81
+ const columns = [
82
+ { title: '名称', key: 'name', width: 160 },
83
+ { title: '类型', key: 'type', width: 120 }
84
+ ]
85
+ const tableData = ref([
86
+ { id: 1, name: '示例1', type: 'A' },
87
+ { id: 2, name: '示例2', type: 'B' }
88
+ ])
89
+
90
+ // 弹窗示例
91
+ function openDialog() {
92
+ commonDialogMethod({
93
+ title: '示例弹窗',
94
+ options: formOptions,
95
+ valueData: { name: '张三' },
96
+ interfaceFn: async (data, { close }) => {
97
+ console.log('提交数据', data)
98
+ close()
99
+ }
100
+ })
101
+ }
102
+ </script>
103
+ ```
104
+
105
+ ## 📚 主要组件
106
+
107
+ ### DataForm
108
+ 配置式表单组件,支持多种输入方式(input、select、date-picker 等)
109
+
110
+ ### DataTable
111
+ 增强型表格组件,支持排序、筛选、操作列、虚拟滚动等功能
112
+
113
+ ### CommonQuery
114
+ 通用查询组件,快速构建查询表单
115
+
116
+ ### Options
117
+ 选项配置组件,统一管理表单字段配置
118
+
119
+ ## 🛠️ 工具函数
120
+
121
+ - **上传工具** - `customUpload`, `registryUpload`, `getFileUrl`
122
+ - **权限工具** - `checkPermission`, `getHasPermission`, `useApiConfig`
123
+ - **配置工具** - `setupConfig`, `getConfig`, `getBaseURL`
124
+ - **数组工具** - `toArray`, `ArrayToObject`
125
+ - **对象工具** - `ObjectToArray`
126
+ - **表格工具** - `ellipsis`, `createActionColumnJsx`
127
+ - **路由工具** - `initRouteMeta`
128
+ - **弹窗工具** - `commonDialogMethod`, `initRules`
129
+
130
+ ## 📖 文档
131
+
132
+ 详细的组件文档和使用指南请查看:
133
+
134
+ - [快速开始](./docs/guide/quickstart.md)
135
+ - [组件文档](./docs/components/)
136
+ - [配置指南](./docs/guide/config.md)
137
+
138
+ 或访问在线文档(如果已部署)。
139
+
140
+ ## 🏗️ 开发
141
+
142
+ ### 构建
143
+
144
+ ```bash
145
+ npm run build
146
+ ```
147
+
148
+ ### 本地开发
149
+
150
+ ```bash
151
+ # 启动文档开发服务器
152
+ npm run docs:dev
153
+
154
+ # 或使用 test-app 进行本地测试
155
+ cd test-app
156
+ npm install
157
+ npm run dev
158
+ ```
159
+
160
+ ### 项目结构
161
+
162
+ ```
163
+ core/
164
+ ├── src/ # 组件与工具源码
165
+ │ ├── form/ # 表单组件
166
+ │ ├── table/ # 表格组件
167
+ │ ├── dialog/ # 弹窗组件
168
+ │ ├── query/ # 查询组件
169
+ │ ├── options/ # 选项配置
170
+ │ └── utils/ # 工具函数
171
+ ├── docs/ # VitePress 文档
172
+ ├── examples/ # 示例代码
173
+ ├── test-app/ # 测试应用
174
+ ├── types/ # TypeScript 类型定义
175
+ └── dist/ # 构建输出
176
+ ```
177
+
178
+ ## 📝 License
179
+
180
+ UNLICENSED
181
+
182
+ ## 🔗 相关链接
183
+
184
+ - [GitHub Repository](https://github.com/xmszm/core)
185
+ - [Naive UI](https://www.naiveui.com/)
186
+ - [Vue 3](https://vuejs.org/)
187
+
package/dist/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var we=Object.defineProperty;var Ve=(l,n,e)=>n in l?we(l,n,{enumerable:!0,configurable:!0,writable:!0,value:e}):l[n]=e;var K=(l,n,e)=>Ve(l,typeof n!="symbol"?n+"":n,e);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("vue"),C=require("naive-ui"),$=require("@vicons/ionicons5"),Ce=require("@/utils/permission"),W=require("vue-router"),re=require("@/utils/request"),M=require("dayjs"),oe=require("lodash-es"),D="name",P="id";function Q(l,{labelField:n=D,valueField:e=P}={}){return Object.keys(l).reduce((o,r)=>{const s=Oe(l[r],r),a={...s};return a[n]=s==null?void 0:s[n],a[e]=s==null?void 0:s[e],o.concat(a)},[])}function Oe(l,n){const e={[D]:unref(l),[P]:Number.isNaN(Number(n))?n:Number(n)};return typeof unref(l)=="object"?{...unref(l),[P]:Number.isNaN(Number(n))?n:Number(n)}:e}const H={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"}}},Y=(l,n)=>{const e=l.__vccOpts||l;for(const[o,r]of n)e[o]=r;return e},Se={class:"filter-box"},Ae={class:"filter-footer"},Be={__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(l,{emit:n}){var b,N;t.useCssVars(S=>({e0ecc754:t.unref(r).infoColor}));const e=l,o=n,r=C.useThemeVars(),s=t.ref([]);t.watchEffect(()=>{s.value=e.selectItem});const a=t.ref([]),f=[{key:"all",label:"全选",onCheck:()=>{var S;return s.value=(S=e.filterItem)==null?void 0:S.map(V=>V.key)},unCheck:()=>s.value=[]},{key:"selectDefault",label:"选中默认",onCheck:()=>s.value=e.defaultItem,unCheck:()=>s.value=e.selectItem},{key:"currentSelect",label:"选中当前列表",onCheck:()=>s.value=e.selectItem,unCheck:()=>s.value=e.selectItem}];t.watchEffect(()=>{a.value=f.filter(S=>e.filterButtonKey.includes(S.key)),console.log(e.filterButtonKey)});function i(){o("submit",s.value)}const d=t.ref(((b=e.filterItem)==null?void 0:b.length)===((N=e.selectItem)==null?void 0:N.length)?["all"]:[]);function y(S,V){var u,g,m,h;console.log(S),console.log(V),V.actionType==="uncheck"?((g=(u=a.value)==null?void 0:u.find(c=>(c==null?void 0:c.key)===V.value))==null||g.unCheck(),d.value=[]):((h=(m=a.value)==null?void 0:m.find(c=>(c==null?void 0:c.key)===V.value))==null||h.onCheck(),d.value=[V.value])}return(S,V)=>{const u=t.resolveComponent("n-ellipsis"),g=t.resolveComponent("n-checkbox"),m=t.resolveComponent("n-checkbox-group"),h=t.resolveComponent("n-button");return t.openBlock(),t.createElementBlock("div",Se,[t.createVNode(m,{value:s.value,"onUpdate:value":V[0]||(V[0]=c=>s.value=c),class:"filter-main"},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(l.filterItem,c=>(t.openBlock(),t.createBlock(g,{key:c.key,value:c.key,class:"filter-item"},{default:t.withCtx(()=>[t.createVNode(u,{style:{"max-width":"100px"}},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(c.title),1)]),_:2},1024)]),_:2},1032,["value"]))),128))]),_:1},8,["value"]),t.createElementVNode("div",Ae,[t.createVNode(m,{type:e.type,value:d.value,"onUpdate:value":y},{default:t.withCtx(()=>[(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(a.value,c=>(t.openBlock(),t.createBlock(g,{key:c.key,value:c.key},{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(c.label),1)]),_:2},1032,["value"]))),128))]),_:1},8,["type","value"]),t.createVNode(h,{class:"submit-btn",type:e.type,onClick:i},{default:t.withCtx(()=>[...V[1]||(V[1]=[t.createTextVNode(" 保存 ",-1)])]),_:1},8,["type"])])])}}},Ie=Y(Be,[["__scopeId","data-v-2aba8b9e"]]),ue="filter_key",Fe={__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(l,{expose:n,emit:e}){const o=l,r=W.useRoute(),s=e,a=t.computed(()=>(console.log("table -data",o.data),o.data));function f(h){window.localStorage.setItem(ue,JSON.stringify(h))}function i(){return JSON.parse(window.localStorage.getItem(ue))||{}}const d=t.ref(i()),y=t.ref([]),b=t.ref(0);function N(h){if(o.summaryColumns)return[o.selectColumns,...t.unref(o.columns),o.oprColumns].reduce((c,p)=>{var O,A;return p!=null&&p.key?c[p.key]=((A=(O=o.summaryColumns)==null?void 0:O.call(o,h))==null?void 0:A[p.key])||{value:null}:c[oe.uniqueId("table")]={value:null},c},{})}const S=t.ref([]);t.watch(()=>t.unref(o.columns),()=>{V()},{immediate:!0}),t.watch(()=>o.oprColumns,h=>{console.log("oprColumns",h)});function V(){var O;const h=t.unref(o.columns);y.value=((O=d.value)==null?void 0:O[r.fullPath])||(h==null?void 0:h.map((A,w)=>(A==null?void 0:A.key)||M().valueOf()+w));const c=o.isFilter?h.filter(A=>{var w;return(w=y.value)==null?void 0:w.includes(A.key)}):[...h];o.selectColumns&&c.unshift({key:"selectKey",...o.selectColumns}),o.oprColumns&&c.push(o.oprColumns);let p=0;S.value=c.reduce((A,w)=>{var E;if(w!=null&&w.display&&console.log("display",w==null?void 0:w.display),!((w==null?void 0:w.display)??!0))return A;const I={align:"center",width:120,...w,key:(w==null?void 0:w.key)||oe.uniqueId("table"),ellipsis:w!=null&&w.ellipsis||o.isEllipsis?w!=null&&w.ellipsisProp?w==null?void 0:w.ellipsisProp(H):H:!1,"ellipsis-component":"ellipsis",title:()=>{const F=(w==null?void 0:w.label)||(w==null?void 0:w.title)||"";return t.createVNode("div",{style:{width:"100%",whiteSpace:"pre-wrap"}},[typeof F=="string"?F:F==null?void 0:F()])}};return w!=null&&w.sorter&&(I.renderSorterIcon=({order:F})=>{const{Icon:U,title:_}=R[F];return t.createVNode(C.NTooltip,null,{trigger:()=>U,default:()=>_})},I.sorter={multiple:1,fn:w.sorter}),p+=I!=null&&I.width?Number.parseInt(I==null?void 0:I.width):((E=I==null?void 0:I.title)==null?void 0:E.length)*I.length+30||0,A.push(I),A},[]),b.value=p,console.log("计算")}function u(){return t.createVNode(C.NButton,{type:"info",onClick:()=>g()},{default:()=>"筛选字段",icon:()=>t.createVNode($.Funnel,null,null)})}function g(){const{cancel:h}=ge({title:"筛选字段",read:!0,options:[{render:()=>t.createVNode(Ie,{style:{width:"100%",margin:"0",padding:0},filterItem:t.unref(o.columns),selectItem:y.value,defaultItem:o.defaultColumns,onSubmit:c=>{d.value[r.fullPath]=c,f(d.value),V(),h()}},null)}]},{closable:!1,style:{width:"500px"}})}function m(h){if(console.log("onSorter",h),!h)return;j(h).forEach(p=>{var O,A;console.log("v",p),p!=null&&p.sorter&&((A=p==null?void 0:p.sorter)==null||A.fn((w,I,E)=>{var F;(F=R[p.order])==null||F.fn(w,E),I.fetchData()},{field:p==null?void 0:p.columnKey,value:(O=R[p==null?void 0:p.order])==null?void 0:O.value,isClick:!t.isProxy(p)}))}),s("sorted")}return n({filterHandle:g,filterButton:u,initColumns:V}),t.onMounted(()=>{}),(h,c)=>{const p=t.resolveComponent("n-empty"),O=t.resolveComponent("n-data-table");return t.openBlock(),t.createBlock(O,{data:a.value,columns:S.value,"scroll-x":b.value,"single-column":o.singleColumn,summary:o.summaryColumns?N: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":m},{empty:t.withCtx(()=>[t.renderSlot(h.$slots,"empty",{},()=>[t.createVNode(p,null,{default:t.withCtx(()=>[t.createTextVNode(t.toDisplayString(l.emptyText),1)]),_:1})],!0)]),_:3},8,["data","columns","scroll-x","single-column","summary","pagination","virtual-scroll"])}}},fe=Y(Fe,[["__scopeId","data-v-8fbdfcbb"]]);let J=null;function Pe(l){J=l}function de(...l){if(typeof J!="function")throw new TypeError("请先通过 registryUpload(fn) 注册上传实现");return J(...l)}function k(l,n=null){return l&&!(l!=null&&l.startsWith("http"))?n?`${re.BASE_URL}${l}?x-oss-process=style/w${n}`:`${re.BASE_URL}${l}`:l}const De="/admin/file",Me={__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(l,{emit:n}){const e=l,o=n,r=t.ref([]);t.watch(()=>e.value,i=>{console.log("props.value",i),r.value=e.max===1?i?typeof i!="string"?i!=null&&i.length?[{id:M().valueOf(),name:`img${M().valueOf()}`,url:k(i[0]),thumbnailUrl:k(i[0]),fullPath:i[0],status:"finished"}]:[]:[{id:M().valueOf(),name:`img${M().valueOf()}`,url:k(i),fullPath:i,thumbnailUrl:k(i),status:"finished"}]:[]:(i==null?void 0:i.map((d,y)=>({id:M().valueOf()+y,name:`img${M().valueOf()}`,url:k(d),fullPath:d,thumbnailUrl:k(d),status:"finished"})))||[],console.log("1",r.value)},{immediate:!0});function s(...i){a(i[0])}async function a({file:i,onFinish:d,onError:y,onProgress:b},N){const S=new FormData;i.status==="pending"&&(S.append("file",i.file),e.formData&&Object.keys(e.formData).length&&Object.keys(e.formData).forEach(V=>{S.append(V,e.formData[V])}),de({url:De,data:S,method:"post",onUploadProgress:({percent:V})=>b({percent:V})}).then(V=>{const{url:u}=V.data;i.url=k(u),i.fullPath=u,i.thumbnailUrl=k(u),d(),f()}).catch(()=>{i=null,y()}).finally(()=>{}))}function f(){console.log("onSubmit",r.value);const i=r.value.reduce((d,y)=>(y.status==="finished"&&(y!=null&&y.fullPath)&&d.push(y.fullPath),d),[]);e.max===1&&i.length===1?o("update:value",i[0]):i.length?o("update:value",i):o("update:value",e.max===1?null:[])}return(i,d)=>{const y=t.resolveComponent("n-upload"),b=t.resolveComponent("n-space");return t.openBlock(),t.createBlock(b,{align:"end","wrap-item":!1},{default:t.withCtx(()=>[t.createVNode(y,{"file-list":r.value,"onUpdate:fileList":d[0]||(d[0]=N=>r.value=N),accept:".jpeg,.jpg,.png","list-type":"image-card","custom-request":s,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:t.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]=()=>{f(),o("complete")}),onRemove:d[2]||(d[2]=(N,S)=>(r.value.splice(S,1),f(),!1))},null,8,["file-list","max","show-remove-button","style"])]),_:1})}}},ke=Y(Me,[["__scopeId","data-v-54e2cc87"]]);function G(l=[],{labelField:n=D,valueField:e=P}={labelField:D,valueField:P}){return t.unref(l).reduce((o,r)=>(o[r[e]]={...r,[n]:r[n],[e]:r[e]},o),{})}function j(l){return Array.isArray(l)?l:[l]}function ie(l,n="YYYY-MM-DD",e={emptyText:""}){return l?M(Number.isNaN(Number(l))?l:Number(l)).format(n):(e==null?void 0:e.emptyText)||""}function qe(l){return typeof l=="function"||Object.prototype.toString.call(l)==="[object Object]"&&!t.isVNode(l)}const Ee={input:({label:l,key:n,props:e,readProps:o,format:r=null,read:s},{_value:a,_isRead:f})=>s??f?t.createVNode(C.NEllipsis,o,{default:()=>[r?r==null?void 0:r(t.unref(a)[n],t.unref(a)):t.unref(a)[n]]}):t.createVNode(C.NInput,t.mergeProps({value:a[n],"onUpdate:value":i=>a[n]=i,clearable:!0,placeholder:`请输入${t.unref(l)}`},e),{...(e==null?void 0:e.slots)||{}}),select:({label:l,key:n,props:e,options:o=[],loading:r=!1,format:s=null,read:a},{_value:f,_isRead:i})=>{var y,b;const d=(Array.isArray(t.unref(o))?t.unref(o):o==null?void 0:o(f[n]))||[];return a??i?t.createVNode("div",null,[s?s==null?void 0:s(f[n],d):(b=(y=G(d,(e==null?void 0:e.labelField)||D,(e==null?void 0:e.valueField)||P))==null?void 0:y[f[n]])==null?void 0:b[(e==null?void 0:e.labelField)||D]]):t.createVNode(C.NSelect,t.mergeProps({value:f[n],"onUpdate:value":N=>f[n]=N,options:d,loading:t.unref(r),clearable:!0,filterable:!0,"fallback-option":()=>(e!=null&&e.asyncFallback||(f[n]=null),!1),labelField:(e==null?void 0:e.labelField)||D,valueField:(e==null?void 0:e.valueField)||P,placeholder:`请选择${t.unref(l)}`,style:"width:100%","max-tag-count":"responsive"},e),{...(e==null?void 0:e.slots)||{}})},date:({label:l,key:n,props:e,formatTime:o="YYYY-MM-DD",type:r="date",format:s,read:a},{_value:f,_isRead:i})=>a??i?t.createVNode("div",null,[s?s==null?void 0:s(f[n]):ie(f[n],o)]):t.createVNode(C.NDatePicker,t.mergeProps({"formatted-value":f[n],"onUpdate:formatted-value":d=>{f[n]=d},type:r,clearable:!0,placeholder:`请选择${t.unref(l)}`,"update-value-on-close":!["year"].includes(e==null?void 0:e.type),style:"width:100%"},e),{...(e==null?void 0:e.slots)||{}}),time:({label:l,key:n,props:e,format:o,formatTime:r="YYYY-MM-DD",read:s},{_value:a,_isRead:f})=>s??f?t.createVNode("div",null,[o?o==null?void 0:o(a[n]):ie(a[n],r)]):t.createVNode(C.NTimePicker,t.mergeProps({"formatted-value":a[n],"onUpdate:value":(i,d)=>{console.log("v",d),a[n]=d},clearable:!0,format:"HH:mm:ss",style:"width:100%",placeholder:`请选择${t.unref(l)}`},e),{...(e==null?void 0:e.slots)||{}}),dateRange:({key:l,props:n,type:e="datetimerange",read:o},{_value:r,_isRead:s})=>{var i,d;const a={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"},f=n!=null&&n.format?(d=(i=n==null?void 0:n.format)==null?void 0:i.replace("yyyy","YYYY"))==null?void 0:d.replace("dd","DD"):a[(n==null?void 0:n.type)||e];return console.log("formatStr type",e),console.log("formatStr",f),o??s?t.createVNode("div",null,[Array.isArray(l)?`${r==null?void 0:r[l==null?void 0:l[0]]} - ${r==null?void 0:r[l==null?void 0:l[1]]}`:r==null?void 0:r[l]]):t.createVNode(C.NDatePicker,t.mergeProps({"formatted-value":Array.isArray(l)?r!=null&&r[l==null?void 0:l[0]]&&(r!=null&&r[l==null?void 0:l[1]])?[M(r==null?void 0:r[l==null?void 0:l[0]]).format(f),M(r==null?void 0:r[l==null?void 0:l[1]]).format(f)]:null:(r==null?void 0:r[l])||null,"onUpdate:formatted-value":y=>{console.log(y),y&&![a.datetime,a.datetimerange].includes(f)&&(y=y.map((b,N)=>M(b,f)[N?"endOf":"startOf"]("day").format(f))),Array.isArray(l)?(r[l==null?void 0:l[0]]=y==null?void 0:y[0],r[l==null?void 0:l[1]]=y==null?void 0:y[1]):r[l]=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:l,options:n=[],props:e,radioLabelProps:o,read:r},{_value:s,_isRead:a,labelField:f,valueField:i})=>{var d,y;return r??a?t.createVNode("div",null,[(y=(d=G(n,(e==null?void 0:e.labelField)||f,(e==null?void 0:e.valueField)||i))==null?void 0:d[s[l]])==null?void 0:y[(e==null?void 0:e.labelField)||f]]):t.createVNode(C.NRadioGroup,t.mergeProps({style:{width:"100%"},value:s[l],"onUpdate:value":b=>s[l]=b},e),{...(e==null?void 0:e.slots)||{},default:()=>t.createVNode(C.NSpace,t.mergeProps({"item-wrap":!1},(e==null?void 0:e.radioProps)||{}),{default:()=>[n==null?void 0:n.map(b=>t.createVNode(C.NRadio,{key:b.value,value:b==null?void 0:b[(e==null?void 0:e.valueField)||i],class:"items-center"},{default:()=>[t.createVNode("div",(o==null?void 0:o(b))||{},[b==null?void 0:b[(e==null?void 0:e.labelField)||f]])]}))]})})},inputPhone:({label:l,key:n,props:e,read:o},{_value:r,_isRead:s})=>o??s?t.createVNode("div",null,[r[n]]):t.createVNode(C.NInput,t.mergeProps({value:r[n],"onUpdate:value":a=>r[n]=a,clearable:!0,style:"width:100%","allow-input":a=>!a||/^\d$/.test(a)||a.length<=11,placeholder:`请输入${t.unref(l)}`},e),{...e==null?void 0:e.slots}),inputNumber:({label:l,key:n,props:e,read:o},{_value:r,_isRead:s})=>o??s?t.createVNode("div",null,[r[n]]):t.createVNode(C.NInputNumber,t.mergeProps({value:typeof r[n]=="string"&&r[n]?Number(r[n]):r[n],"onUpdate:value":a=>{r[n]=a},showButton:!1,clearable:!0,style:"width:100%",placeholder:`请输入${t.unref(l)}`,min:0},e),{...(e==null?void 0:e.slots)||{}}),uploadFile:({key:l,props:n},{_value:e})=>t.createVNode(C.NUpload,t.mergeProps({multiple:!0,max:1,accept:".xls,.xlsx","file-list":e[l],"onUpdate:file-list":o=>e[l]=o},n),{default:()=>[t.createVNode(C.NUploadDragger,null,{default:()=>[t.createVNode("div",{style:"margin-bottom: 12px"},[t.createVNode(C.NIcon,{size:"48",depth:3},{default:()=>[t.createVNode(t.resolveComponent("ArchiveOutline"),null,null)]})]),t.createVNode(C.NText,{style:"font-size: 16px"},{default:()=>[t.createTextVNode("点击或者拖动文件到该区域来上传")]})]})]}),dataTable:({key:l,loading:n=!1,props:e,options:o,opr:r,pageState:s},{_value:a,_isRead:f})=>{var i;return console.log(n),console.log(s),t.createVNode(fe,t.mergeProps({data:(i=s==null?void 0:s.data)!=null&&i.length?s.data:a[l],columns:t.unref(o),maxHeight:200,minHeight:200,"is-ellipsis":!1,"opr-columns":r,loading:s==null?void 0:s.loading},e),null)},progress:({key:l,props:n},{_value:e})=>t.createVNode(C.NProgress,t.mergeProps({percentage:e[l]},n),null),line:()=>t.createVNode(C.NDivider,null,null),image:({key:l,props:n,read:e},{_isRead:o,_value:r})=>t.createVNode(ke,t.mergeProps({value:r[l],"onUpdate:value":s=>r[l]=s,max:1},n,{read:e??o}),null),button:({onClick:l,props:n,text:e},{_value:o})=>t.createVNode(C.NButton,t.mergeProps({type:"info"},n,{onClick:()=>n!=null&&n.onClick?n==null?void 0:n.onClick(t.unref(o)):l(t.unref(o))}),qe(e)?e:{default:()=>[e]}),switch:({key:l,props:n,read:e},{_isRead:o,_value:r})=>e??o?t.createVNode("div",null,[r[l]?"是":"否"]):t.createVNode(C.NSwitch,t.mergeProps({value:r[l],"onUpdate:value":s=>r[l]=s},n),{...(n==null?void 0:n.slots)||{}}),checkbox:({key:l,options:n=[],props:e,read:o},{_value:r,_isRead:s,labelField:a,valueField:f})=>{var i,d,y;return o??s?t.createVNode("div",null,[(y=(d=(i=t.unref(n))==null?void 0:i.filter(b=>{var N;return(N=t.unref(r)[l])==null?void 0:N.includes(b[(e==null?void 0:e.valueField)||f||P])}))==null?void 0:d.map(b=>b[[(e==null?void 0:e.labelField)||a||D]]))==null?void 0:y.join("、")]):t.createVNode(C.NCheckboxGroup,t.mergeProps({value:r[l],"onUpdate:value":b=>r[l]=b,style:{width:"100%"}},e),{...(e==null?void 0:e.slots)||{},default:()=>t.createVNode(C.NSpace,(e==null?void 0:e.checkBoxProps)||{},{default:()=>{var b;return[(b=t.unref(n))==null?void 0:b.map(N=>t.createVNode(C.NCheckbox,{key:N==null?void 0:N[(e==null?void 0:e.valueField)||f||P],value:N==null?void 0:N[(e==null?void 0:e.valueField)||f||P]},{default:()=>[N==null?void 0:N[(e==null?void 0:e.labelField)||a||D]]}))]}})})},filterList:({key:l,props:n,options:e},{_value:o})=>t.createVNode(t.resolveComponent("FilterSelect"),t.mergeProps({value:o[l],"onUpdate:value":r=>o[l]=r,option:e,clearable:!0,filterButtonKey:["all","selectDefault"]},n),null)};let q={};class $e{constructor(){K(this,"defaultMap",null);K(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){q||(q={}),q!=null&&q[n]||(q[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,r)=>(this.defaultMap.has(r)&&(o[r]=this.defaultMap.get(r)),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(Ee),n&&n(),this.initOptions(q)}init(n){this.initSetup(n)}}const X=new $e,Z=(...l)=>X.getOptions(...l);function Ue(...l){return X.getAllOptions(...l)}function Te(...l){return X.setupExtendOptions(...l)}const Ye=["xlink:href","fill"],_e=t.defineComponent({__name:"SvgIcon",props:{name:{type:String,required:!0},color:{type:String,default:""}},setup(l){const n=l,e=t.computed(()=>`#svg-${n.name}`);return(o,r)=>(t.openBlock(),t.createElementBlock("svg",t.mergeProps({class:"svg-icon"},o.$attrs,{style:{color:l.color},"aria-hidden":""}),[t.createElementVNode("use",{"xlink:href":e.value,fill:l.color},null,8,Ye)],16))}}),Re=Y(_e,[["__scopeId","data-v-9dbe5f10"]]);function je(l){return typeof l=="function"||Object.prototype.toString.call(l)==="[object Object]"&&!t.isVNode(l)}const me=t.defineComponent((l,{emit:n})=>{const e=t.ref(l.value),o=t.computed(()=>l.read||!1);let r=l.formRef;t.watch(()=>l.formRef,u=>r=u);const s=t.computed(()=>l.option);function a(u){return u.reduce((g,m)=>{g.push((m==null?void 0:m.way)??"input");const h=[m==null?void 0:m.default,m==null?void 0:m.suffix,m==null?void 0:m.prefix].reduce((c,p)=>{var O;return Array.isArray(p)?c=c.concat(p):p&&((O=Object.keys(p))!=null&&O.length)&&c.push(p),c},[]);return console.log(h),h.length&&h.forEach(c=>g.push((c==null?void 0:c.way)??"input")),g},[])}const f=t.computed(()=>[...new Set(a(l.option))]),i=Z(f.value);console.log(l.option),console.log("defaultOption",i,f.value),t.watch(()=>e.value,u=>{n("update:value",u)},{immediate:!0});function d(u){let g={};const m=typeof u;let h=null;try{return u?m==="string"||m==="object"?h=u:m==="function"&&(h=u(t.unref(e),{formRef:r,resetForm:()=>{var c;return(c=r==null?void 0:r.value)==null?void 0:c.restoreValidation()},close:()=>l.cancel(),setValue:y})):h=u,typeof h=="object"&&!Array.isArray(h)?Object.keys(h).forEach(c=>{const p=h[c];t.isRef(p)?g[c]=t.unref(p):g[c]=p}):g=h,g}catch{return{}}}t.watch(()=>l.value,u=>{console.log(u),e.value=u},{immediate:!0});function y(u){e.value=u}function b(u){return t.createVNode(C.NSpace,t.mergeProps({"wrap-item":!1,wrap:!!(u!=null&&u.isWrap),align:"center",style:{width:"100%"}},(u==null?void 0:u.contentProps)||{}),{default:()=>[N(u==null?void 0:u.prefix),N((u==null?void 0:u.default)||u),N(u==null?void 0:u.suffix)]})}function N(u){if(!u)return;let g=u;if(typeof u=="function"&&(g=d(u)),g=d(g),t.isVNode(g))return console.log("??? isVNode"),g;if(typeof g=="string")return console.log("??? string"),g;if(Array.isArray(g))return console.log("???"),t.createVNode(t.Fragment,null,[g.map((m,h)=>t.createVNode(V,{item:m,index:h},null))]);if(typeof g=="object")return console.log("??? object"),g.props=d((g==null?void 0:g.props)??{}),t.unref(t.computed(()=>{var m;return(m=i==null?void 0:i[(g==null?void 0:g.way)||"input"])==null?void 0:m.call(i,S(g),{_value:g!=null&&g.queryType?t.unref(e)[g==null?void 0:g.queryType]:t.unref(e),_formRef:t.unref(r),_isRead:t.unref(o),labelField:D,valueField:P})}))}function S(u){return t.unref(u.enum)&&(u.options=Q(t.unref(u.enum))),u}function V({item:u,index:g}){var m,h,c,p,O,A;return u.formItemProps=d(u==null?void 0:u.formItemProps),u.formItemProps||(u.formItemProps={}),!((m=u==null?void 0:u.formItemProps)!=null&&m.labelWidth)&&((h=l.formProps)!=null&&h.labelWidth)&&(u.formItemProps.labelWidth=(c=l.formProps)==null?void 0:c.labelWidth),t.withDirectives(t.createVNode(C.NFormItem,t.mergeProps({key:g,showLabel:!(u!=null&&u.noLabel)},u==null?void 0:u.formItemProps,{labelWidth:((p=u==null?void 0:u.formItemProps)==null?void 0:p.labelWidth)||"auto",feedback:d((O=u==null?void 0:u.formItemProps)==null?void 0:O.feedback),style:{padding:"0 15px",boxSizing:"border-box",width:"100%",...((A=u==null?void 0:u.formItemProps)==null?void 0:A.style)||{}},path:String(u.key)}),{default:()=>b(u),label:()=>{var w,I;return t.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"?t.createVNode(C.NIcon,{class:"wh-20px c-inherit",...u==null?void 0:u.labelSuffixProps},{default:()=>[t.createVNode(Re,{name:u==null?void 0:u.labelSuffix},null)]}):(w=u==null?void 0:u.labelSuffix)==null?void 0:w.call(u):t.createVNode(t.Fragment,null,null),`${t.unref(typeof(u==null?void 0:u[l.labelField])=="function"?(I=u==null?void 0:u[l.labelField])==null?void 0:I.call(u):u==null?void 0:u[l.labelField])||""} ${o.value||u.read," "}
2
- `])}}),[[t.resolveDirective("permission"),u==null?void 0:u.permission]])}return()=>{let u;return t.createVNode(C.NSpace,{"wrap-item":!1,size:[0,8],style:{width:"100%",minHeight:"100%",alignContent:"baseline",...l.style}},je(u=s.value.map(({isRender:g=!0,...m},h)=>(typeof t.unref(g)!="boolean"?g!=null&&g(t.unref(e)):t.unref(g))?m!=null&&m.render?m==null?void 0:m.render(t.unref(e),h,{setValue:y,value:t.unref(e)}):t.createVNode(V,{item:m,index:h},null):null))?u:{default:()=>[u]})}},{props:{option:{type:Array,default:()=>[]},value:{type:Object,default:()=>({})},read:{type:Boolean,default:()=>!1},labelField:{type:String,default:()=>D},valueField:{type:String,default:()=>P},style:{type:Object,default:()=>({})},formRef:{type:Object,default:()=>({})},formProps:{type:Object,default:()=>({})}},emits:["update:value"]}),ze={showIcon:!1,autoFocus:!1};function ye({options:l=[],model:n,labelField:e="label",formOpr:o={}}){return computed(()=>(l==null?void 0:l.reduce((r,{fields:s,...a})=>{var i,d;Array.isArray(a==null?void 0:a.key)&&a.key.forEach(y=>{a!=null&&a.required&&(r[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(unref(n),{...o}):a==null?void 0:a.required:!1,message:(a==null?void 0:a.message)||`请选择${a==null?void 0:a[e]}`,fields:s})});const f=a!=null&&a.rule?typeof(a==null?void 0:a.rule)!="function"?a==null?void 0:a.rule:a==null?void 0:a.rule(unref(n),{...o}):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(unref(n),{...o}):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[e]}`,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(unref(n),{...o}):a==null?void 0:a.required:!1,message:(a==null?void 0:a.message)||`请${(d=a==null?void 0:a.options)!=null&&d.length?"选择":"输入"}${a==null?void 0:a[e]}`,...Array.isArray(a==null?void 0:a.key)?{validator:y=>(console.log(y),!(a==null?void 0:a.key.every(N=>unref(n)[N]))&&(a!=null&&a.required)?new Error(y==null?void 0:y.message):!0)}:{}};return f!=null&&f.required&&(r[String(a==null?void 0:a.key)]=f),r},{}))||{})}const v={__name:"DataForm",props:t.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(l,{expose:n}){const e=l,o=computed(()=>e.options),r=t.ref(),s=t.useModel(l,"value"),a=computed(()=>t.unref(o.value?ye({options:o.value,model:s,labelField:e.labelField,formOpr:{formRef:r}}):{}));return console.log(a.value),n({formRef:r,getRule:()=>a.value,valid:(f=[])=>(console.log("?? valid",f),new Promise((i,d)=>{var b;const y=j(f);(b=r.value)==null||b.validate(N=>{if(N)return d(N);i()},N=>y.length?y.includes(N==null?void 0:N.key):!0)})),confirm:f=>new Promise((i,d)=>{var y;(y=r.value)==null||y.validate(b=>{if(b)return d(b);f&&f(t.unref(s)),i(t.unref(s))})})}),(f,i)=>(t.openBlock(),t.createBlock(t.unref(C.NForm),t.mergeProps({ref_key:"formRef",ref:r,model:s.value,rules:e.read?{}:t.unref(a),"label-placement":"left","label-width":"100px","require-mark-placement":"right-hanging",class:e.dialog?e.read?"core-dialog-content":"core-dialog-main":"",style:{minHeight:e.isNo?"unset":null}},e.formProps),{default:t.withCtx(()=>[t.createVNode(t.unref(me),{value:s.value,"onUpdate:value":i[0]||(i[0]=d=>s.value=d),"form-ref":r.value,option:e.options,"label-field":e.labelField,read:e.read,style:t.normalizeStyle(e.contentStyle),"form-props":e.formProps},null,8,["value","form-ref","option","label-field","read","style","form-props"])]),_:1},16,["model","rules","class","style"]))}};function Le(l){return typeof l=="function"||Object.prototype.toString.call(l)==="[object Object]"&&!t.isVNode(l)}function ge({title:l="",noTitle:n=!1,titleFull:e=null,options:o=[],mode:r="add",modeEnum:s={},labelField:a="label",isNo:f=!0,formProps:i={},interfaceFn:d=null,interfaceFnCancel:y=null,valueData:b,read:N,isRead:S,action:V=null,contentStyle:u={},actionProps:g={}}={title:"自定义弹窗",noTitle:!1,action:[],options:[],read:!1,isRead:!1,valueData:{}},m=null){var le;const h={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},c=t.ref(),p=t.reactive([]),O=t.ref({...b}),A={justify:"end",wrapItem:!1,style:{width:"100%"}},w={width:"120px"},I=[{label:"取消",props:{type:"primary",ghost:!0},onClick:({cancel:B})=>{y?y(t.unref(O),{close:B}):B()}},{label:"确定",valid:!0,onClick:async({cancel:B,hideLoading:x})=>d?await d(t.unref(O),{close:B,hideLoading:x}):B()}];V||I.forEach((B,x)=>{p[x]=!1});const E=typeof e=="function"?()=>{var B;return e((B=h[r])==null?void 0:B.sub)}:e,F=$dialog.create({type:"info",...ze,...n?{}:{title:E||(((le=h[r])==null?void 0:le.sub)??"")+l},style:{width:"500px"},content:()=>t.createVNode(v,{ref:B=>{c.value=B},options:o,value:O.value,"onUpdate:value":B=>O.value=B,isNo:f,read:N??S,labelField:a,formProps:i,contentStyle:u,dialog:!0},null),action:N??S?null:typeof V=="function"?()=>V({formRef:c,data:t.unref(O),d:F,close:U}):()=>{let B;return t.createVNode(C.NSpace,t.mergeProps(A,g,{style:{...A==null?void 0:A.style,...(g==null?void 0:g.style)||{}}}),Le(B=(V||I).map((x,z)=>{var ne;return x!=null&&x.render?(ne=x==null?void 0:x.render)==null?void 0:ne.call(x):t.createVNode(C.NButton,t.mergeProps({type:"primary",ghost:x.mode==="cancel"},{...x==null?void 0:x.props,...g==null?void 0:g.buttonProps},{style:{...w,...(x==null?void 0:x.style)||{}},loading:p[z],onClick:async()=>{if(x.mode==="cancel")F.destroy();else{const L=()=>p[z]=!0,ae=()=>p[z]=!1;x!=null&&x.loading&&L();try{console.log("model",t.unref(O)),x!=null&&x.valid&&await _(),console.log(x==null?void 0:x.valid),(x!=null&&x.valid||x!=null&&x.loading)&&L(),await(x==null?void 0:x.onClick({model:t.unref(O),comfirm:be,cancel:U,validate:_,showLoading:L,hideLoading:ae}))}catch(xe){console.log(xe)}finally{(x!=null&&x.valid||x!=null&&x.loading)&&ae()}}}}),{default:()=>[x.label||""]})}))?B:{default:()=>[B]})},...m,class:`core-dialog ${t.unref(N)?"core-dialog-read":""} ${(m==null?void 0:m.class)||""}`});function U(){console.log("取消",O.value),F==null||F.destroy()}async function _(B=[]){var x;console.log("开启验证"),await((x=c.value)==null?void 0:x.valid())}async function be(B){return B&&B()}return{cancel:U,setValue:(B,x)=>x?O.value[x]=B:O.value={...O.value,...B},model:t.unref(O),modeEnum:h}}const Ke={class:"flex-1"},We={__name:"CommonQuery",props:t.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:t.mergeModels(["update:query","submit","reset"],["update:query"]),setup(l,{emit:n}){function e(m,h){let c;return function(...p){clearTimeout(c),c=setTimeout(()=>{m.apply(this,p)},h)}}const o=n,r=l;function s(m){return m.map(h=>({...h,props:{...h.props,...!h.way||h.way==="input"?{onUpdateValue:(...c)=>{var p,O;(O=(p=c.props)==null?void 0:p.onUpdateValue)==null||O.call(p,...c),a()}}:{},...(h==null?void 0:h.way)==="select"?{onUpdateValue:(...c)=>{var p,O;(O=(p=c.props)==null?void 0:p.onUpdateValue)==null||O.call(p,...c),a()}}:{}}}))}const a=e(()=>{o("submit")},500);function f(){a()}const i=t.ref(!1),d=t.useModel(l,"query"),y={style:{width:"33%"}},b=t.computed(()=>{var m;return(m=r.options)==null?void 0:m.map(h=>(h==null?void 0:h.way)||"input")});Z(b.value);const N=t.computed(()=>{try{const m=[];for(let h=0;h<r.options.length;h++){const c=r.options[h];c!=null&&c.enum&&!(c!=null&&c.options)&&(c.options=Q(c.enum)),c!=null&&c.props||(c.props={size:r.size}),c!=null&&c.formItemProps?c.formItemProps={...y,...c.formItemProps,style:{...y.style,...c.formItemProps.style}}:c.formItemProps={...y};const p=(c==null?void 0:c.key)||(c==null?void 0:c.value);if(!p)throw new Error("key no set");m.push({...c,key:p})}return s(m)}catch(m){return console.warn("error",m),[]}}),S={style:{borderRadius:"3px"}},V={search:()=>t.createVNode(t.resolveComponent("NButton"),t.mergeProps({type:r.type,loading:i.value,"default-props":{attrType:"submit"},onClick:()=>f()},S),{default:()=>"搜索",icon:()=>t.createVNode($.SearchOutline,null,null)}),reset:()=>t.createVNode(t.resolveComponent("NButton"),t.mergeProps({type:"default",onClick:()=>{u()}},S),{default:()=>"重置",icon:()=>t.createVNode($.RefreshOutline,null,null)})};function u(){r.options.forEach(m=>{const h=(m==null?void 0:m.key)||(m==null?void 0:m.value);h&&(m!=null&&m.queryType?d.value[m.queryType][h]=null:d.value[h]=null)}),o("reset")}function g(m){m.key==="Enter"&&f()}return t.onMounted(()=>{document.addEventListener("keydown",g)}),t.onUnmounted(()=>{document.removeEventListener("keydown",g)}),(m,h)=>{const c=t.resolveComponent("n-space");return t.openBlock(),t.createBlock(c,{"wrap-item":!1,justify:"space-between",align:"center",wrap:!1},{default:t.withCtx(()=>[t.createElementVNode("div",Ke,[t.createVNode(t.unref(v),{value:d.value,"onUpdate:value":h[0]||(h[0]=p=>d.value=p),options:N.value,"form-props":{showFeedback:!1}},null,8,["value","options"])]),r.noButton?t.createCommentVNode("",!0):(t.openBlock(),t.createBlock(c,{key:0,align:"center",wrap:!1},{default:t.withCtx(()=>[t.renderSlot(m.$slots,"left-btn",{},void 0,!0),(t.openBlock(!0),t.createElementBlock(t.Fragment,null,t.renderList(r.btn,(p,O)=>{var A;return t.openBlock(),t.createBlock(t.resolveDynamicComponent((A=V==null?void 0:V[p])==null?void 0:A.call(V)),{key:O})}),128)),t.renderSlot(m.$slots,"right-btn",{},void 0,!0)]),_:3}))]),_:3})}}},He=Y(We,[["__scopeId","data-v-a0acb8e2"]]),ee=t.defineComponent(({action:l,row:n,index:e})=>{const{onClick:o,disabled:r,type:s="primary",loading:a=!1,label:f=null,...i}=l,d=t.ref(!1);return()=>t.createVNode(C.NButton,t.mergeProps({text:!0,onClick:async()=>{if(o)try{a&&(d.value=!0),await o(n,e)}finally{setTimeout(()=>d.value=!1,500)}},disabled:r&&r(n),loading:d.value,type:r&&r(n)?"default":s},i),{default:()=>[typeof f=="function"?f==null?void 0:f(n):f]})},{props:{action:{type:[Object,null],default:null},row:{type:[Object,null],default:null},index:{type:Number,default:0}}}),te=t.defineComponent(({onClick:l,row:n,index:e,action:o},{slots:r})=>{const s=t.ref(!1);return()=>t.createVNode(C.NPopconfirm,{"positive-button-props":{type:"warning",loading:s.value},onPositiveClick:async()=>{try{if(l)return s.value=!0,await l(n,e),s.value=!1,!0}catch{return s.value=!1,!1}return!1}},{trigger:r.default,default:()=>{var a;return((a=o==null?void 0:o.popProps)==null?void 0:a.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 se(l){return typeof l=="function"||Object.prototype.toString.call(l)==="[object Object]"&&!t.isVNode(l)}const Je=t.defineComponent(l=>{const n=l.options.length,e=t.ref(!1),o=t.computed(()=>l.options.slice(0,e.value?n:l.max)),r=t.computed(()=>l.options.slice(l.max));function s(a){return a==null?void 0:a.map(({isRender:f=()=>!0,onClick:i=null,mode:d=null,disabled:y=!1,type:b="primary",...N},S)=>f!=null&&f(l.data)?d==="pop"?t.createVNode(te,{onClick:i,row:l.data,action:N,key:T(l.data,l.index)+S},{default:()=>[t.createVNode(C.NButton,t.mergeProps({text:!0,disabled:y&&y(l.data),type:y&&y(l.data)?"default":b},N),{default:()=>[typeof(N==null?void 0:N.label)=="function"?N==null?void 0:N.label(l.data):N==null?void 0:N.label]})]}):t.createVNode(ee,{row:l.data,action:{...N,disabled:y,onClick:i,type:b},key:T(l.data,l.index)+S},null):void 0).filter(f=>f)}return()=>{let a;return t.createVNode(C.NSpace,{style:{width:"100%"},"wrap-item":!1,justify:"center",align:"center"},{default:()=>[t.createVNode(C.NSpace,{"wrap-item":!1,align:"center"},se(a=s(o.value))?a:{default:()=>[a]}),t.createVNode(C.NPopover,{trigger:"click"},{trigger:()=>t.createVNode(C.NButton,{text:!0,type:"info"},{default:()=>[t.createTextVNode("更多")]}),default:()=>{let f;return t.createVNode(C.NSpace,{"wrap-item":!1,align:"center",style:{width:"250px",padding:"5px"}},se(f=s(r.value))?f:{default:()=>[f]})}})]})}},{name:"DataColumnCollet",props:{options:{type:Array,default:()=>[]},max:{type:Number,default:3},data:{type:Object,default:()=>{}},index:{type:Number,default:0}}});function Ge(l){return typeof l=="function"||Object.prototype.toString.call(l)==="[object Object]"&&!t.isVNode(l)}const T=(l,n)=>l?JSON.stringify(l):n;function Qe(l,n=null,e){const o={max:4,width:80};let r=!1;if(typeof e=="boolean"?r=o:typeof e=="object"&&(r={...o,...e}),console.log("collect",r),console.log(Array.isArray(l)),!Array.isArray(l))throw new TypeError("需要配置数组");console.log("ddd");let s=[],a=0;const f=[];return Array.isArray(l)&&(s=l,s.forEach((i,d)=>{var y,b;i.permission?Ce.hasPermission(i.permission)&&((!e||d<r.max)&&(a+=((y=i==null?void 0:i.label)==null?void 0:y.length)*12+36),f.push(i)):((!e||d<r.max)&&(a+=((b=i==null?void 0:i.label)==null?void 0:b.length)*12+36),f.push(i))})),a=Math.max(80,a),a+=0,r&&(a+=2),f.length?{title:"操作",key:"opr",fixed:"right",align:"left",width:a,...n,render(i,d){const y=r?t.createVNode(Je,{data:i,index:d,max:r.max,options:f},null):f.map(({isRender:b=()=>!0,onClick:N=null,mode:S=null,disabled:V=!1,type:u="primary",...g},m)=>b!=null&&b(i)?S==="pop"?t.createVNode(te,{onClick:N,row:i,index:d,action:g,key:T(i,d)+m},{default:()=>[t.createVNode(C.NButton,t.mergeProps({text:!0,disabled:V&&V(i),type:V&&V(i)?"default":u},g),{default:()=>[typeof(g==null?void 0:g.label)=="function"?g==null?void 0:g.label(i):g==null?void 0:g.label]})]}):t.createVNode(ee,{row:i,action:{...g,disabled:V,onClick:N,type:u},index:d,key:T(i,d)+m},null):void 0).filter(b=>b);return n!=null&&n.isRender?n==null?void 0:n.render(i):t.createVNode(C.NSpace,{align:"center","wrap-item":!1,size:18,key:T(i,d)},Ge(y)?y:{default:()=>[y]})}}:void 0}function he(l){var n,e;if((n=l==null?void 0:l.children)!=null&&n.length){const o=[];l.children.forEach(r=>{var a,f,i,d;he(r);let s=[];typeof((a=r==null?void 0:r.meta)==null?void 0:a.permission)=="string"?s=[r.meta.permission]:Array.isArray((f=r.meta)==null?void 0:f.permission)?s.push(...r.meta.permission):typeof((i=r.meta)==null?void 0:i.permission)=="object"?s.push(...Xe(pe(r.meta.permission))):(d=r==null?void 0:r.meta)!=null&&d.permission||(s=null),r.meta.permission=s,o.push(...new Set(s))}),(e=l==null?void 0:l.meta)!=null&&e.permission?l.meta.permission=[...new Set(l.meta.permission.concat(o))]:l.meta.permission=o}return l}function Xe(...l){const n=l==null?void 0:l.map(e=>Array.isArray(e)?e:e==null?void 0:e.ALL);return[].concat(...n)}function pe(l){return l?Object.keys(l).reduce((n,e)=>(typeof l[e]!="string"?n.concat(pe(l[e])):n.push(l[e]),n),[]):[]}function Ze(...l){return{...et("api",l)}}function ve(l,n={}){const e=Object.keys(n);return e.length&&e.forEach(o=>{const r=new RegExp(`${o}`,"g");l=l==null?void 0:l.replace(r,n[o])}),l}function et(l,n){var a;const e=W.useRoute(),o=W.useRouter(),r=ce(((a=e==null?void 0:e.meta)==null?void 0:a[l])??{}),s=j(n[0]);return s!=null&&s.length&&o.getRoutes().filter(i=>s.includes(i.name)).forEach(i=>{var d;(d=i.meta)!=null&&d[l]&&(r[i.name]=ce(i.meta[l]))}),{...r}}function ce(l={}){return Object.keys(l).reduce((n,e)=>{const o=l[e];return typeof o=="object"?n[e]=o==null?void 0:o.key:typeof o=="string"&&(n[e]=String(o)),n},{})}function Ne(l,n=""){return l.length?(l.forEach(e=>{var s;e.children&&Ne(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)??((s=e==null?void 0:e.meta)==null?void 0:s.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 r=[];e!=null&&e.auth&&(e.meta.auth=e.auth,r=Object.keys(e.auth).reduce((a,f)=>(typeof e.auth[f]=="string"?a.push(e.auth[f]):typeof e.auth[f]=="boolean"&&a.push(f),a),[])),e!=null&&e.permission&&(e.meta.permission=e.permission),e.meta.permission&&Array.isArray(e.meta.permission)?e.meta.permission=e.meta.permission.concat(r):r.length&&(e.meta.permission=r)}),l):[]}const R={ascend:{title:"升序",value:!0,Icon:t.createVNode($.ChevronUp,null,null),fn:(l,n)=>{l.desc=!0,l.sortFieldName=n}},descend:{title:"降序",value:!1,Icon:t.createVNode($.ChevronDown,null,null),fn:l=>{l.sortFieldName="",l.desc=!0}},false:{title:"默认",value:null,Icon:t.createVNode($.Code,{style:"transform:rotateZ(90deg)"},null),fn:l=>{l.desc=!1,l.sortFieldName=""}}};exports.ArrayToObject=G;exports.CommonQuery=He;exports.DataForm=v;exports.DataTable=fe;exports.ObjectToArray=Q;exports.OprButton=ee;exports.Options=me;exports.Pop=te;exports.cellectChildenPermission=he;exports.commonDialogMethod=ge;exports.createActionColumnJsx=Qe;exports.customUpload=de;exports.ellipsis=H;exports.getAllOptions=Ue;exports.getOptions=Z;exports.globalLabelField=D;exports.globalValueField=P;exports.handleParams=ve;exports.initRouteMeta=Ne;exports.initRules=ye;exports.orderEnum=R;exports.registryUpload=Pe;exports.setupOptions=Te;exports.toArray=j;exports.useApiConfig=Ze;
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;