m-eleplus-crud 0.0.5 → 0.0.6
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.
- package/README.md +31 -31
- package/dist/index.full.js +5 -5
- package/dist/index.full.min.js +3 -3
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +3 -3
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +5 -5
- package/dist/locale/en.js +1 -1
- package/dist/locale/en.min.js +1 -1
- package/dist/locale/en.min.mjs +1 -1
- package/dist/locale/en.mjs +1 -1
- package/dist/locale/zh-cn.js +1 -1
- package/dist/locale/zh-cn.min.js +1 -1
- package/dist/locale/zh-cn.min.mjs +1 -1
- package/dist/locale/zh-cn.mjs +1 -1
- package/es/component.mjs.map +1 -1
- package/es/index.mjs +1 -1
- package/es/make-installer.mjs.map +1 -1
- package/es/packages/components/barcode/index.mjs.map +1 -1
- package/es/packages/components/barcode/src/barcode.mjs.map +1 -1
- package/es/packages/components/barcode/src/barcode2.mjs.map +1 -1
- package/es/packages/components/config-provider/src/config-provider-props.mjs.map +1 -1
- package/es/packages/components/config-provider/src/hooks/use-global-config.mjs.map +1 -1
- package/es/packages/components/crud/index.mjs.map +1 -1
- package/es/packages/components/crud/src/crud2.mjs +2 -2
- package/es/packages/components/crud/src/crud2.mjs.map +1 -1
- package/es/packages/components/dialog/index.mjs.map +1 -1
- package/es/packages/components/form/src/form.mjs.map +1 -1
- package/es/packages/components/form/src/form2.mjs.map +1 -1
- package/es/packages/components/index.mjs +1 -1
- package/es/packages/components/pagination/index.mjs.map +1 -1
- package/es/packages/components/pagination/src/pagination.mjs.map +1 -1
- package/es/packages/components/pagination/src/pagination2.mjs.map +1 -1
- package/es/packages/components/picture/index.mjs +2 -2
- package/es/packages/components/picture/index.mjs.map +1 -1
- package/es/packages/components/picture/src/picture.mjs +26 -19
- package/es/packages/components/picture/src/picture.mjs.map +1 -1
- package/es/packages/components/picture/src/picture2.mjs +19 -26
- package/es/packages/components/picture/src/picture2.mjs.map +1 -1
- package/es/packages/components/qrcode/index.mjs.map +1 -1
- package/es/packages/components/qrcode/src/qrcode.mjs.map +1 -1
- package/es/packages/components/qrcode/src/qrcode2.mjs.map +1 -1
- package/es/packages/components/search/src/search.mjs.map +1 -1
- package/es/packages/components/search/src/search2.mjs +1 -1
- package/es/packages/components/search/src/search2.mjs.map +1 -1
- package/es/packages/components/table/index.mjs.map +1 -1
- package/es/packages/components/table/src/table.mjs.map +1 -1
- package/es/packages/components/table/src/table2.mjs.map +1 -1
- package/es/packages/hooks/use-size/index.mjs.map +1 -1
- package/es/packages/utils/browser.mjs.map +1 -1
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/global.d.ts +17 -17
- package/lib/component.js.map +1 -1
- package/lib/index.js +1 -1
- package/lib/make-installer.js.map +1 -1
- package/lib/packages/components/barcode/index.js.map +1 -1
- package/lib/packages/components/barcode/src/barcode.js.map +1 -1
- package/lib/packages/components/barcode/src/barcode2.js.map +1 -1
- package/lib/packages/components/config-provider/src/config-provider-props.js.map +1 -1
- package/lib/packages/components/config-provider/src/hooks/use-global-config.js.map +1 -1
- package/lib/packages/components/crud/index.js.map +1 -1
- package/lib/packages/components/crud/src/crud2.js +2 -2
- package/lib/packages/components/crud/src/crud2.js.map +1 -1
- package/lib/packages/components/dialog/index.js.map +1 -1
- package/lib/packages/components/form/src/form.js.map +1 -1
- package/lib/packages/components/form/src/form2.js.map +1 -1
- package/lib/packages/components/index.js +1 -1
- package/lib/packages/components/pagination/index.js.map +1 -1
- package/lib/packages/components/pagination/src/pagination.js.map +1 -1
- package/lib/packages/components/pagination/src/pagination2.js.map +1 -1
- package/lib/packages/components/picture/index.js +2 -2
- package/lib/packages/components/picture/index.js.map +1 -1
- package/lib/packages/components/picture/src/picture.js +26 -20
- package/lib/packages/components/picture/src/picture.js.map +1 -1
- package/lib/packages/components/picture/src/picture2.js +20 -26
- package/lib/packages/components/picture/src/picture2.js.map +1 -1
- package/lib/packages/components/qrcode/index.js.map +1 -1
- package/lib/packages/components/qrcode/src/qrcode.js.map +1 -1
- package/lib/packages/components/qrcode/src/qrcode2.js.map +1 -1
- package/lib/packages/components/search/src/search.js.map +1 -1
- package/lib/packages/components/search/src/search2.js +1 -1
- package/lib/packages/components/search/src/search2.js.map +1 -1
- package/lib/packages/components/table/index.js.map +1 -1
- package/lib/packages/components/table/src/table.js.map +1 -1
- package/lib/packages/components/table/src/table2.js.map +1 -1
- package/lib/packages/hooks/use-size/index.js.map +1 -1
- package/lib/packages/utils/browser.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +103 -103
- package/theme-chalk/src/index.scss +8 -8
- package/theme-chalk/src/qrcode.scss +8 -8
- package/web-types.json +1 -1
package/dist/index.full.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! M ElePlus Crud v0.0.
|
|
1
|
+
/*! M ElePlus Crud v0.0.5 */
|
|
2
2
|
|
|
3
3
|
import { shallowRef, watchEffect, readonly, getCurrentScope, onScopeDispose, unref, getCurrentInstance, onMounted, nextTick, watch, ref, defineComponent, openBlock, createElementBlock, createElementVNode, warn, inject, computed, isRef, provide, renderSlot, useSlots, resolveComponent, createVNode, withModifiers, withCtx, Fragment, renderList, createBlock, createCommentVNode, mergeProps, withKeys, createTextVNode, toDisplayString, normalizeStyle, toHandlers, toRef, onUnmounted, useAttrs as useAttrs$1, normalizeClass, resolveDynamicComponent, onBeforeUnmount, Text, reactive, h, markRaw, toRefs, Transition, withDirectives, vShow, isVNode, render as render$1, createSlots, normalizeProps, guardReactiveProps, resolveDirective } from 'vue';
|
|
4
4
|
|
|
@@ -7501,7 +7501,7 @@ var ConfigProvider$1 = ConfigProvider;
|
|
|
7501
7501
|
|
|
7502
7502
|
const MConfigProvider = withInstall$1(ConfigProvider$1);
|
|
7503
7503
|
|
|
7504
|
-
const version$1 = "0.0.
|
|
7504
|
+
const version$1 = "0.0.5";
|
|
7505
7505
|
|
|
7506
7506
|
const makeInstaller = (components = []) => {
|
|
7507
7507
|
const install = (app, options) => {
|
|
@@ -12190,7 +12190,7 @@ const _sfc_main$e = defineComponent({
|
|
|
12190
12190
|
searchOption.value.col ? (openBlock(), createBlock(_component_el_link, {
|
|
12191
12191
|
key: 0,
|
|
12192
12192
|
style: { "width": "54px", "margin-left": "12px" },
|
|
12193
|
-
underline:
|
|
12193
|
+
underline: "never",
|
|
12194
12194
|
disabled: _ctx.loading,
|
|
12195
12195
|
type: "default",
|
|
12196
12196
|
onClick: toggleCol
|
|
@@ -17779,7 +17779,7 @@ const _sfc_main$2 = defineComponent({
|
|
|
17779
17779
|
class: "m-control-btns",
|
|
17780
17780
|
type: "primary",
|
|
17781
17781
|
size: _ctx.size || unref(globalConfig).size,
|
|
17782
|
-
underline:
|
|
17782
|
+
underline: "never",
|
|
17783
17783
|
icon: "Edit",
|
|
17784
17784
|
onClick: ($event) => rowEdit(scope.row, scope.$index)
|
|
17785
17785
|
}, {
|
|
@@ -17796,7 +17796,7 @@ const _sfc_main$2 = defineComponent({
|
|
|
17796
17796
|
key: 2,
|
|
17797
17797
|
class: "m-control-btns",
|
|
17798
17798
|
type: "primary",
|
|
17799
|
-
underline:
|
|
17799
|
+
underline: "never",
|
|
17800
17800
|
size: _ctx.size || unref(globalConfig).size,
|
|
17801
17801
|
icon: "Delete",
|
|
17802
17802
|
onClick: ($event) => rowDel(scope.row, scope.$index)
|
package/dist/locale/en.js
CHANGED
package/dist/locale/en.min.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! M ElePlus Crud v0.0.
|
|
1
|
+
/*! M ElePlus Crud v0.0.5 */(function(e,t){typeof exports=="object"&&typeof module!="undefined"?module.exports=t():typeof define=="function"&&define.amd?define(t):(e=typeof globalThis!="undefined"?globalThis:e||self,e.MElePlusCrudLocaleEn=t())})(this,function(){"use strict";var e={name:"en",m:{table:{menuTitle:"Action",preview:"Preview"},dialog:{cancelText:"Cancel",confirmText:"Confirm"},search:{searchBtnText:"Search",resetBtnText:"Reset",expandBtn:"Expand",colBtn:"Collapse"},crud:{addBtnText:"Add",editBtnText:"Edit",delBtnText:"Delete",addDialogTitle:"Add",editDialogTitle:"Edit",viewDialogTitle:"View",dialogSaveBtnText:"Save",dialogCancelBtnText:"Cancel"}}};return e});
|
|
2
2
|
//# sourceMappingURL=en.min.js.map
|
package/dist/locale/en.min.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! M ElePlus Crud v0.0.
|
|
1
|
+
/*! M ElePlus Crud v0.0.5 */var e={name:"en",m:{table:{menuTitle:"Action",preview:"Preview"},dialog:{cancelText:"Cancel",confirmText:"Confirm"},search:{searchBtnText:"Search",resetBtnText:"Reset",expandBtn:"Expand",colBtn:"Collapse"},crud:{addBtnText:"Add",editBtnText:"Edit",delBtnText:"Delete",addDialogTitle:"Add",editDialogTitle:"Edit",viewDialogTitle:"View",dialogSaveBtnText:"Save",dialogCancelBtnText:"Cancel"}}};export{e as default};
|
|
2
2
|
//# sourceMappingURL=en.min.mjs.map
|
package/dist/locale/en.mjs
CHANGED
package/dist/locale/zh-cn.js
CHANGED
package/dist/locale/zh-cn.min.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! M ElePlus Crud v0.0.
|
|
1
|
+
/*! M ElePlus Crud v0.0.5 */(function(e,u){typeof exports=="object"&&typeof module!="undefined"?module.exports=u():typeof define=="function"&&define.amd?define(u):(e=typeof globalThis!="undefined"?globalThis:e||self,e.MElePlusCrudLocaleZhCn=u())})(this,function(){"use strict";var e={name:"zh-cn",m:{table:{menuTitle:"\u64CD\u4F5C",preview:"\u9884\u89C8"},dialog:{cancelText:"\u53D6 \u6D88",confirmText:"\u786E \u8BA4"},search:{searchBtnText:"\u641C \u7D22",resetBtnText:"\u6E05 \u7A7A",expandBtn:"\u5C55 \u5F00",colBtn:"\u6536 \u7F29"},crud:{addBtnText:"\u65B0 \u589E",editBtnText:"\u7F16\u8F91",delBtnText:"\u5220\u9664",addDialogTitle:"\u65B0\u589E",editDialogTitle:"\u7F16\u8F91",viewDialogTitle:"\u67E5\u770B",dialogSaveBtnText:"\u4FDD \u5B58",dialogCancelBtnText:"\u53D6 \u6D88"}}};return e});
|
|
2
2
|
//# sourceMappingURL=zh-cn.min.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/*! M ElePlus Crud v0.0.
|
|
1
|
+
/*! M ElePlus Crud v0.0.5 */var u={name:"zh-cn",m:{table:{menuTitle:"\u64CD\u4F5C",preview:"\u9884\u89C8"},dialog:{cancelText:"\u53D6 \u6D88",confirmText:"\u786E \u8BA4"},search:{searchBtnText:"\u641C \u7D22",resetBtnText:"\u6E05 \u7A7A",expandBtn:"\u5C55 \u5F00",colBtn:"\u6536 \u7F29"},crud:{addBtnText:"\u65B0 \u589E",editBtnText:"\u7F16\u8F91",delBtnText:"\u5220\u9664",addDialogTitle:"\u65B0\u589E",editDialogTitle:"\u7F16\u8F91",viewDialogTitle:"\u67E5\u770B",dialogSaveBtnText:"\u4FDD \u5B58",dialogCancelBtnText:"\u53D6 \u6D88"}}};export{u as default};
|
|
2
2
|
//# sourceMappingURL=zh-cn.min.mjs.map
|
package/dist/locale/zh-cn.mjs
CHANGED
package/es/component.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.mjs","sources":["../../../packages/m-eleplus-crud/component.ts"],"sourcesContent":["import { MTable } from '@m-eleplus-crud/components/table'\nimport { MConfigProvider } from '@m-eleplus-crud/components/config-provider'\nimport { MSearch } from '@m-eleplus-crud/components/search'\nimport { MPicture } from '@m-eleplus-crud/components/picture'\nimport { MDialog } from '@m-eleplus-crud/components/dialog'\nimport { MQrcode } from '@m-eleplus-crud/components/qrcode'\nimport { MBarcode } from '@m-eleplus-crud/components/barcode'\nimport { MForm } from '@m-eleplus-crud/components/form'\nimport { MCrud } from '@m-eleplus-crud/components/crud'\nimport { MPagination } from '@m-eleplus-crud/components/pagination'\n\nimport type { Plugin } from 'vue'\n\nexport default [\n MTable,\n MConfigProvider,\n MSearch,\n MPicture,\n MDialog,\n MQrcode,\n MBarcode,\n MForm,\n MCrud,\n MPagination,\n] as Plugin[]\n"],"names":[],"mappings":";;;;;;;;;;;AAaA,iBAAe;AAAA,EACb,MAAA;AAAA,EACA,eAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA;AAAA,EACA,KAAA;AAAA,EACA,KAAA;AAAA,EACA,WAAA;AACF,CAAA;;;;"}
|
|
1
|
+
{"version":3,"file":"component.mjs","sources":["../../../packages/m-eleplus-crud/component.ts"],"sourcesContent":["import { MTable } from '@m-eleplus-crud/components/table'\r\nimport { MConfigProvider } from '@m-eleplus-crud/components/config-provider'\r\nimport { MSearch } from '@m-eleplus-crud/components/search'\r\nimport { MPicture } from '@m-eleplus-crud/components/picture'\r\nimport { MDialog } from '@m-eleplus-crud/components/dialog'\r\nimport { MQrcode } from '@m-eleplus-crud/components/qrcode'\r\nimport { MBarcode } from '@m-eleplus-crud/components/barcode'\r\nimport { MForm } from '@m-eleplus-crud/components/form'\r\nimport { MCrud } from '@m-eleplus-crud/components/crud'\r\nimport { MPagination } from '@m-eleplus-crud/components/pagination'\r\n\r\nimport type { Plugin } from 'vue'\r\n\r\nexport default [\r\n MTable,\r\n MConfigProvider,\r\n MSearch,\r\n MPicture,\r\n MDialog,\r\n MQrcode,\r\n MBarcode,\r\n MForm,\r\n MCrud,\r\n MPagination,\r\n] as Plugin[]\r\n"],"names":[],"mappings":";;;;;;;;;;;AAaA,iBAAe;AAAA,EACb,MAAA;AAAA,EACA,eAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA;AAAA,EACA,KAAA;AAAA,EACA,KAAA;AAAA,EACA,WAAA;AACF,CAAA;;;;"}
|
package/es/index.mjs
CHANGED
|
@@ -9,7 +9,7 @@ export { tableEmits, tableProps } from './packages/components/table/src/table.mj
|
|
|
9
9
|
export { MTable } from './packages/components/table/index.mjs';
|
|
10
10
|
export { searchEmits, searchProps } from './packages/components/search/src/search.mjs';
|
|
11
11
|
export { MSearch } from './packages/components/search/index.mjs';
|
|
12
|
-
export { pictureEmits, pictureProps } from './packages/components/picture/src/
|
|
12
|
+
export { pictureEmits, pictureProps } from './packages/components/picture/src/picture2.mjs';
|
|
13
13
|
export { MPicture } from './packages/components/picture/index.mjs';
|
|
14
14
|
export { dialogEmits, dialogProps } from './packages/components/dialog/src/dialog.mjs';
|
|
15
15
|
export { MDialog } from './packages/components/dialog/index.mjs';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"make-installer.mjs","sources":["../../../packages/m-eleplus-crud/make-installer.ts"],"sourcesContent":["import { INSTALLED_KEY } from '@m-eleplus-crud/constants'\nimport { provideGlobalConfig } from '@m-eleplus-crud/components/config-provider'\nimport { version } from './version'\n\nimport type { App, Plugin } from '@vue/runtime-core'\nimport type { ConfigProviderContext } from '@m-eleplus-crud/components/config-provider'\n\nexport const makeInstaller = (components: Plugin[] = []) => {\n const install = (app: App, options?: ConfigProviderContext) => {\n if (app[INSTALLED_KEY]) return\n\n app[INSTALLED_KEY] = true\n components.forEach((c) => app.use(c))\n\n if (options) provideGlobalConfig(options, app, true)\n }\n\n return {\n version,\n install,\n }\n}\n"],"names":[],"mappings":";;;;AAOO,MAAM,aAAgB,GAAA,CAAC,UAAuB,GAAA,EAAO,KAAA;AAC1D,EAAM,MAAA,OAAA,GAAU,CAAC,GAAA,EAAU,OAAoC,KAAA;AAC7D,IAAA,IAAI,GAAI,CAAA,aAAA,CAAA;AAAgB,MAAA,OAAA;AAExB,IAAA,GAAA,CAAI,aAAiB,CAAA,GAAA,IAAA,CAAA;AACrB,IAAA,UAAA,CAAW,QAAQ,CAAC,CAAA,KAAM,GAAI,CAAA,GAAA,CAAI,CAAC,CAAC,CAAA,CAAA;AAEpC,IAAI,IAAA,OAAA;AAAS,MAAoB,mBAAA,CAAA,OAAA,EAAS,KAAK,IAAI,CAAA,CAAA;AAAA,GACrD,CAAA;AAEA,EAAO,OAAA;AAAA,IACL,OAAA;AAAA,IACA,OAAA;AAAA,GACF,CAAA;AACF;;;;"}
|
|
1
|
+
{"version":3,"file":"make-installer.mjs","sources":["../../../packages/m-eleplus-crud/make-installer.ts"],"sourcesContent":["import { INSTALLED_KEY } from '@m-eleplus-crud/constants'\r\nimport { provideGlobalConfig } from '@m-eleplus-crud/components/config-provider'\r\nimport { version } from './version'\r\n\r\nimport type { App, Plugin } from '@vue/runtime-core'\r\nimport type { ConfigProviderContext } from '@m-eleplus-crud/components/config-provider'\r\n\r\nexport const makeInstaller = (components: Plugin[] = []) => {\r\n const install = (app: App, options?: ConfigProviderContext) => {\r\n if (app[INSTALLED_KEY]) return\r\n\r\n app[INSTALLED_KEY] = true\r\n components.forEach((c) => app.use(c))\r\n\r\n if (options) provideGlobalConfig(options, app, true)\r\n }\r\n\r\n return {\r\n version,\r\n install,\r\n }\r\n}\r\n"],"names":[],"mappings":";;;;AAOO,MAAM,aAAgB,GAAA,CAAC,UAAuB,GAAA,EAAO,KAAA;AAC1D,EAAM,MAAA,OAAA,GAAU,CAAC,GAAA,EAAU,OAAoC,KAAA;AAC7D,IAAA,IAAI,GAAI,CAAA,aAAA,CAAA;AAAgB,MAAA,OAAA;AAExB,IAAA,GAAA,CAAI,aAAiB,CAAA,GAAA,IAAA,CAAA;AACrB,IAAA,UAAA,CAAW,QAAQ,CAAC,CAAA,KAAM,GAAI,CAAA,GAAA,CAAI,CAAC,CAAC,CAAA,CAAA;AAEpC,IAAI,IAAA,OAAA;AAAS,MAAoB,mBAAA,CAAA,OAAA,EAAS,KAAK,IAAI,CAAA,CAAA;AAAA,GACrD,CAAA;AAEA,EAAO,OAAA;AAAA,IACL,OAAA;AAAA,IACA,OAAA;AAAA,GACF,CAAA;AACF;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/barcode/index.ts"],"sourcesContent":["import { withInstall } from '@m-eleplus-crud/utils'\nimport Barcode from './src/barcode.vue'\nimport type { SFCWithInstall } from '@m-eleplus-crud/utils'\n\nexport const MBarcode: SFCWithInstall<typeof Barcode> = withInstall(Barcode)\nexport default MBarcode\n\nexport * from './src/barcode'\nexport type { BarcodeInstance } from './src/instance'\n"],"names":[],"mappings":";;;;AAIa,MAAA,QAAA,GAA2C,YAAY,OAAO;;;;"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/barcode/index.ts"],"sourcesContent":["import { withInstall } from '@m-eleplus-crud/utils'\r\nimport Barcode from './src/barcode.vue'\r\nimport type { SFCWithInstall } from '@m-eleplus-crud/utils'\r\n\r\nexport const MBarcode: SFCWithInstall<typeof Barcode> = withInstall(Barcode)\r\nexport default MBarcode\r\n\r\nexport * from './src/barcode'\r\nexport type { BarcodeInstance } from './src/instance'\r\n"],"names":[],"mappings":";;;;AAIa,MAAA,QAAA,GAA2C,YAAY,OAAO;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"barcode.mjs","sources":["../../../../../../../packages/components/barcode/src/barcode.ts"],"sourcesContent":["import { buildProps, isString } from '@m-eleplus-crud/utils'\n\nimport type { ExtractPropTypes } from 'vue'\n\nexport const barcodeProps = buildProps({\n /**\n * @description 一维码内容\n */\n text: {\n type: String,\n required: true,\n },\n /**\n * @description 宽度\n */\n barcodeWidth: {\n type: Number,\n default: 2,\n },\n /**\n * @description 高度\n */\n barcodeHeight: {\n type: Number,\n default: 50,\n },\n} as const)\nexport type BarcodeProps = ExtractPropTypes<typeof barcodeProps>\n\nexport const barcodeEmits = {\n click: (val: string) => isString(val),\n}\nexport type BarcodeEmits = typeof barcodeEmits\n"],"names":[],"mappings":";;;AAIO,MAAM,eAAe,UAAW,CAAA;AAAA,EAIrC,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,MAAA;AAAA,IACN,QAAU,EAAA,IAAA;AAAA,GACZ;AAAA,EAIA,YAAc,EAAA;AAAA,IACZ,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,CAAA;AAAA,GACX;AAAA,EAIA,aAAe,EAAA;AAAA,IACb,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AACF,CAAU,EAAA;AAGH,MAAM,YAAe,GAAA;AAAA,EAC1B,KAAO,EAAA,CAAC,GAAgB,KAAA,QAAA,CAAS,GAAG,CAAA;AACtC;;;;"}
|
|
1
|
+
{"version":3,"file":"barcode.mjs","sources":["../../../../../../../packages/components/barcode/src/barcode.ts"],"sourcesContent":["import { buildProps, isString } from '@m-eleplus-crud/utils'\r\n\r\nimport type { ExtractPropTypes } from 'vue'\r\n\r\nexport const barcodeProps = buildProps({\r\n /**\r\n * @description 一维码内容\r\n */\r\n text: {\r\n type: String,\r\n required: true,\r\n },\r\n /**\r\n * @description 宽度\r\n */\r\n barcodeWidth: {\r\n type: Number,\r\n default: 2,\r\n },\r\n /**\r\n * @description 高度\r\n */\r\n barcodeHeight: {\r\n type: Number,\r\n default: 50,\r\n },\r\n} as const)\r\nexport type BarcodeProps = ExtractPropTypes<typeof barcodeProps>\r\n\r\nexport const barcodeEmits = {\r\n click: (val: string) => isString(val),\r\n}\r\nexport type BarcodeEmits = typeof barcodeEmits\r\n"],"names":[],"mappings":";;;AAIO,MAAM,eAAe,UAAW,CAAA;AAAA,EAIrC,IAAM,EAAA;AAAA,IACJ,IAAM,EAAA,MAAA;AAAA,IACN,QAAU,EAAA,IAAA;AAAA,GACZ;AAAA,EAIA,YAAc,EAAA;AAAA,IACZ,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,CAAA;AAAA,GACX;AAAA,EAIA,aAAe,EAAA;AAAA,IACb,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AACF,CAAU,EAAA;AAGH,MAAM,YAAe,GAAA;AAAA,EAC1B,KAAO,EAAA,CAAC,GAAgB,KAAA,QAAA,CAAS,GAAG,CAAA;AACtC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"barcode2.mjs","sources":["../../../../../../../packages/components/barcode/src/barcode.vue"],"sourcesContent":["<template>\n <img ref=\"barcodeRef\" class=\"m-barcode-box\" />\n</template>\n\n<script lang=\"ts\" setup>\nimport { ref, watch } from 'vue'\nimport JsBarcode from 'jsbarcode'\nimport { barcodeEmits, barcodeProps } from './barcode'\n\nconst COMPONENT_NAME = 'MBarcode'\ndefineOptions({\n name: COMPONENT_NAME,\n})\n\nconst props = defineProps(barcodeProps)\nconst emit = defineEmits(barcodeEmits)\n\nconst barcodeRef = ref<any>()\n\nwatch(\n () => props.text as string,\n (newVal: string) => {\n if (!newVal) return\n setTimeout(() => {\n barcodeRef.value.innerHTML = ''\n JsBarcode(barcodeRef.value, newVal, {\n format: 'CODE128',\n lineColor: '#000',\n width: props.barcodeWidth,\n height: props.barcodeHeight,\n displayValue: false,\n })\n barcodeRef.value.onclick = () => {\n emit('click', newVal)\n }\n }, 0)\n },\n {\n immediate: true,\n }\n)\n</script>\n"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"barcode2.mjs","sources":["../../../../../../../packages/components/barcode/src/barcode.vue"],"sourcesContent":["<template>\r\n <img ref=\"barcodeRef\" class=\"m-barcode-box\" />\r\n</template>\r\n\r\n<script lang=\"ts\" setup>\r\nimport { ref, watch } from 'vue'\r\nimport JsBarcode from 'jsbarcode'\r\nimport { barcodeEmits, barcodeProps } from './barcode'\r\n\r\nconst COMPONENT_NAME = 'MBarcode'\r\ndefineOptions({\r\n name: COMPONENT_NAME,\r\n})\r\n\r\nconst props = defineProps(barcodeProps)\r\nconst emit = defineEmits(barcodeEmits)\r\n\r\nconst barcodeRef = ref<any>()\r\n\r\nwatch(\r\n () => props.text as string,\r\n (newVal: string) => {\r\n if (!newVal) return\r\n setTimeout(() => {\r\n barcodeRef.value.innerHTML = ''\r\n JsBarcode(barcodeRef.value, newVal, {\r\n format: 'CODE128',\r\n lineColor: '#000',\r\n width: props.barcodeWidth,\r\n height: props.barcodeHeight,\r\n displayValue: false,\r\n })\r\n barcodeRef.value.onclick = () => {\r\n emit('click', newVal)\r\n }\r\n }, 0)\r\n },\r\n {\r\n immediate: true,\r\n }\r\n)\r\n</script>\r\n"],"names":["DO_defineComponent"],"mappings":";;;;;;AAUc,MAAA,cAAAA,eAAA,CAAA;AAAA,EACZ,IAAM,EAAA,cAAA;AACR;;;;;;AAEA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AAEb,IAAA,MAAM,aAAa,GAAS,EAAA,CAAA;AAE5B,IAAA,KAAA;AAAA,MACE,MAAM,KAAM,CAAA,IAAA;AAAA,MACZ,CAAC,MAAmB,KAAA;AAClB,QAAA,IAAI,CAAC,MAAA;AAAQ,UAAA,OAAA;AACb,QAAA,UAAA,CAAW,MAAM;AACf,UAAA,UAAA,CAAW,MAAM,SAAY,GAAA,EAAA,CAAA;AACnB,UAAA,SAAA,CAAA,UAAA,CAAW,OAAO,MAAQ,EAAA;AAAA,YAClC,MAAQ,EAAA,SAAA;AAAA,YACR,SAAW,EAAA,MAAA;AAAA,YACX,OAAO,KAAM,CAAA,YAAA;AAAA,YACb,QAAQ,KAAM,CAAA,aAAA;AAAA,YACd,YAAc,EAAA,KAAA;AAAA,WACf,CAAA,CAAA;AACU,UAAA,UAAA,CAAA,KAAA,CAAM,UAAU,MAAM;AAC/B,YAAA,IAAA,CAAK,SAAS,MAAM,CAAA,CAAA;AAAA,WACtB,CAAA;AAAA,WACC,CAAC,CAAA,CAAA;AAAA,OACN;AAAA,MACA;AAAA,QACE,SAAW,EAAA,IAAA;AAAA,OACb;AAAA,KACF,CAAA;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-provider-props.mjs","sources":["../../../../../../../packages/components/config-provider/src/config-provider-props.ts"],"sourcesContent":["import { buildProps, definePropType } from '@m-eleplus-crud/utils'\nimport { useSizeProp } from '@m-eleplus-crud/hooks'\nimport type { ExtractPropTypes } from 'vue'\nimport type { Language } from '@m-eleplus-crud/locale'\n\n/**\n * @description 全局配置属性\n */\nexport const configProviderProps = buildProps({\n /**\n * @description 国际化配置\n */\n locale: {\n type: definePropType<Language>(Object),\n },\n /**\n * @description 组件尺寸\n */\n size: useSizeProp,\n /**\n * @description 表格高度调节(px)\n */\n calcHeight: {\n type: Number,\n required: false,\n },\n /**\n * @description 外部传递的http get请求函数\n */\n httpGet: {\n type: Function,\n required: false,\n },\n} as const)\n\nexport type ConfigProviderProps = ExtractPropTypes<typeof configProviderProps>\n"],"names":[],"mappings":";;;AAQO,MAAM,sBAAsB,UAAW,CAAA;AAAA,EAI5C,MAAQ,EAAA;AAAA,IACN,IAAA,EAAM,eAAyB,MAAM,CAAA;AAAA,GACvC;AAAA,EAIA,IAAM,EAAA,WAAA;AAAA,EAIN,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,MAAA;AAAA,IACN,QAAU,EAAA,KAAA;AAAA,GACZ;AAAA,EAIA,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,QAAA;AAAA,IACN,QAAU,EAAA,KAAA;AAAA,GACZ;AACF,CAAU;;;;"}
|
|
1
|
+
{"version":3,"file":"config-provider-props.mjs","sources":["../../../../../../../packages/components/config-provider/src/config-provider-props.ts"],"sourcesContent":["import { buildProps, definePropType } from '@m-eleplus-crud/utils'\r\nimport { useSizeProp } from '@m-eleplus-crud/hooks'\r\nimport type { ExtractPropTypes } from 'vue'\r\nimport type { Language } from '@m-eleplus-crud/locale'\r\n\r\n/**\r\n * @description 全局配置属性\r\n */\r\nexport const configProviderProps = buildProps({\r\n /**\r\n * @description 国际化配置\r\n */\r\n locale: {\r\n type: definePropType<Language>(Object),\r\n },\r\n /**\r\n * @description 组件尺寸\r\n */\r\n size: useSizeProp,\r\n /**\r\n * @description 表格高度调节(px)\r\n */\r\n calcHeight: {\r\n type: Number,\r\n required: false,\r\n },\r\n /**\r\n * @description 外部传递的http get请求函数\r\n */\r\n httpGet: {\r\n type: Function,\r\n required: false,\r\n },\r\n} as const)\r\n\r\nexport type ConfigProviderProps = ExtractPropTypes<typeof configProviderProps>\r\n"],"names":[],"mappings":";;;AAQO,MAAM,sBAAsB,UAAW,CAAA;AAAA,EAI5C,MAAQ,EAAA;AAAA,IACN,IAAA,EAAM,eAAyB,MAAM,CAAA;AAAA,GACvC;AAAA,EAIA,IAAM,EAAA,WAAA;AAAA,EAIN,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,MAAA;AAAA,IACN,QAAU,EAAA,KAAA;AAAA,GACZ;AAAA,EAIA,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,QAAA;AAAA,IACN,QAAU,EAAA,KAAA;AAAA,GACZ;AACF,CAAU;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-global-config.mjs","sources":["../../../../../../../../packages/components/config-provider/src/hooks/use-global-config.ts"],"sourcesContent":["import { computed, getCurrentInstance, inject, provide, ref, unref } from 'vue'\nimport {\n SIZE_INJECTION_KEY,\n localeContextKey,\n useLocale,\n} from '@m-eleplus-crud/hooks'\nimport { debugWarn, keysOf } from '@m-eleplus-crud/utils'\nimport { configProviderContextKey } from '../constants'\n\nimport type { MaybeRef } from '@vueuse/core'\nimport type { App, Ref } from 'vue'\nimport type { ConfigProviderContext } from '../constants'\n\nconst globalConfig = ref<ConfigProviderContext>()\n\nexport function useGlobalConfig<\n K extends keyof ConfigProviderContext,\n D extends ConfigProviderContext[K]\n>(\n key: K,\n defaultValue?: D\n): Ref<Exclude<ConfigProviderContext[K], undefined> | D>\nexport function useGlobalConfig(): Ref<ConfigProviderContext>\nexport function useGlobalConfig(\n key?: keyof ConfigProviderContext,\n defaultValue = undefined\n) {\n const config = getCurrentInstance()\n ? inject(configProviderContextKey, globalConfig)\n : globalConfig\n if (key) {\n return computed(() => config.value?.[key] ?? defaultValue)\n } else {\n return config\n }\n}\n\nexport function useGlobalComponentSettings(\n block: string,\n sizeFallback?: MaybeRef<ConfigProviderContext['size']>\n) {\n const config = useGlobalConfig()\n\n const locale = useLocale(computed(() => config.value?.locale))\n\n const size = computed(() => unref(sizeFallback) || config.value?.size || '')\n provideGlobalConfig(computed(() => unref(config) || {}))\n\n return {\n locale,\n size,\n }\n}\n\nexport const provideGlobalConfig = (\n config: MaybeRef<ConfigProviderContext>,\n app?: App,\n global = false\n) => {\n const inSetup = !!getCurrentInstance()\n const oldConfig = inSetup ? useGlobalConfig() : undefined\n\n const provideFn = app?.provide ?? (inSetup ? provide : undefined)\n if (!provideFn) {\n debugWarn(\n 'provideGlobalConfig',\n 'provideGlobalConfig() can only be used inside setup().'\n )\n return\n }\n\n const context = computed(() => {\n const cfg = unref(config)\n if (!oldConfig?.value) return cfg\n return mergeConfig(oldConfig.value, cfg)\n })\n provideFn(configProviderContextKey, context)\n provideFn(\n localeContextKey,\n computed(() => context.value.locale)\n )\n provideFn(SIZE_INJECTION_KEY, {\n size: computed(() => context.value.size || ''),\n })\n\n if (global || !globalConfig.value) {\n globalConfig.value = context.value\n }\n return context\n}\n\nconst mergeConfig = (\n a: ConfigProviderContext,\n b: ConfigProviderContext\n): ConfigProviderContext => {\n const keys = [...new Set([...keysOf(a), ...keysOf(b)])]\n const obj: Record<string, any> = {}\n for (const key of keys) {\n obj[key] = b[key] !== undefined ? b[key] : a[key]\n }\n return obj\n}\n"],"names":[],"mappings":";;;;;;;AAaA,MAAM,eAAe,GAA2B,EAAA,CAAA;AAUhC,SAAA,eAAA,CACd,GACA,EAAA,YAAA,GAAe,KACf,CAAA,EAAA;AACA,EAAA,MAAM,SAAS,kBAAmB,EAAA,GAC9B,MAAO,CAAA,wBAAA,EAA0B,YAAY,CAC7C,GAAA,YAAA,CAAA;AACJ,EAAA,IAAI,GAAK,EAAA;AACP,IAAA,OAAO,SAAS,MAAG;AA/BvB,MAAA,IAAA,EAAA,EAAA,EAAA,CAAA;AA+B0B,MAAO,OAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,MAAA,CAAA,KAAA,KAAP,IAAe,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAA,CAAA,KAAf,IAAuB,GAAA,EAAA,GAAA,YAAA,CAAA;AAAA,KAAY,CAAA,CAAA;AAAA,GACpD,MAAA;AACL,IAAO,OAAA,MAAA,CAAA;AAAA,GACT;AACF,CAAA;AAEgB,SAAA,0BAAA,CACd,OACA,YACA,EAAA;AACA,EAAA,MAAM,SAAS,eAAgB,EAAA,CAAA;AAE/B,EAAM,MAAA,MAAA,GAAS,SAAU,CAAA,QAAA,CAAS,MAAG;AA3CvC,IAAA,IAAA,EAAA,CAAA;AA2C0C,IAAA,OAAA,CAAA,EAAA,GAAA,MAAA,CAAO,UAAP,IAAc,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA,CAAA;AAAA,GAAM,CAAC,CAAA,CAAA;AAE7D,EAAM,MAAA,IAAA,GAAO,SAAS,MAAG;AA7C3B,IAAA,IAAA,EAAA,CAAA;AA6C8B,IAAA,OAAA,KAAA,CAAM,YAAY,CAAA,KAAA,CAAK,EAAO,GAAA,MAAA,CAAA,KAAA,KAAP,mBAAc,IAAQ,CAAA,IAAA,EAAA,CAAA;AAAA,GAAE,CAAA,CAAA;AAC3E,EAAA,mBAAA,CAAoB,SAAS,MAAM,KAAA,CAAM,MAAM,CAAK,IAAA,EAAE,CAAC,CAAA,CAAA;AAEvD,EAAO,OAAA;AAAA,IACL,MAAA;AAAA,IACA,IAAA;AAAA,GACF,CAAA;AACF,CAAA;AAEO,MAAM,mBAAsB,GAAA,CACjC,MACA,EAAA,GAAA,EACA,SAAS,KACN,KAAA;AA1DL,EAAA,IAAA,EAAA,CAAA;AA2DE,EAAM,MAAA,OAAA,GAAU,CAAC,CAAC,kBAAmB,EAAA,CAAA;AACrC,EAAM,MAAA,SAAA,GAAY,OAAU,GAAA,eAAA,EAAoB,GAAA,KAAA,CAAA,CAAA;AAEhD,EAAA,MAAM,SAAY,GAAA,CAAA,EAAA,GAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAK,OAAL,KAAA,IAAA,GAAA,EAAA,GAAiB,UAAU,OAAU,GAAA,KAAA,CAAA,CAAA;AACvD,EAAA,IAAI,CAAC,SAAW,EAAA;AACd,IAAA,SAAA;AAAA,MACE,qBAAA;AAAA,MACA,wDAAA;AAAA,KACF,CAAA;AACA,IAAA,OAAA;AAAA,GACF;AAEA,EAAM,MAAA,OAAA,GAAU,SAAS,MAAM;AAC7B,IAAM,MAAA,GAAA,GAAM,MAAM,MAAM,CAAA,CAAA;AACxB,IAAA,IAAI,EAAC,SAAW,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,SAAA,CAAA,KAAA,CAAA;AAAO,MAAO,OAAA,GAAA,CAAA;AAC9B,IAAO,OAAA,WAAA,CAAY,SAAU,CAAA,KAAA,EAAO,GAAG,CAAA,CAAA;AAAA,GACxC,CAAA,CAAA;AACD,EAAA,SAAA,CAAU,0BAA0B,OAAO,CAAA,CAAA;AAC3C,EAAA,SAAA;AAAA,IACE,gBAAA;AAAA,IACA,QAAS,CAAA,MAAM,OAAQ,CAAA,KAAA,CAAM,MAAM,CAAA;AAAA,GACrC,CAAA;AACA,EAAA,SAAA,CAAU,kBAAoB,EAAA;AAAA,IAC5B,MAAM,QAAS,CAAA,MAAM,OAAQ,CAAA,KAAA,CAAM,QAAQ,EAAE,CAAA;AAAA,GAC9C,CAAA,CAAA;AAED,EAAI,IAAA,MAAA,IAAU,CAAC,YAAA,CAAa,KAAO,EAAA;AACjC,IAAA,YAAA,CAAa,QAAQ,OAAQ,CAAA,KAAA,CAAA;AAAA,GAC/B;AACA,EAAO,OAAA,OAAA,CAAA;AACT,EAAA;AAEA,MAAM,WAAA,GAAc,CAClB,CAAA,EACA,CAC0B,KAAA;AAC1B,EAAA,MAAM,IAAO,GAAA,CAAC,mBAAG,IAAI,IAAI,CAAC,GAAG,MAAO,CAAA,CAAC,GAAG,GAAG,MAAA,CAAO,CAAC,CAAC,CAAC,CAAC,CAAA,CAAA;AACtD,EAAA,MAAM,MAA2B,EAAC,CAAA;AAClC,EAAA,KAAA,MAAW,OAAO,IAAM,EAAA;AACtB,IAAA,GAAA,CAAI,OAAO,CAAE,CAAA,GAAA,CAAA,KAAS,KAAY,CAAA,GAAA,CAAA,CAAE,OAAO,CAAE,CAAA,GAAA,CAAA,CAAA;AAAA,GAC/C;AACA,EAAO,OAAA,GAAA,CAAA;AACT,CAAA;;;;"}
|
|
1
|
+
{"version":3,"file":"use-global-config.mjs","sources":["../../../../../../../../packages/components/config-provider/src/hooks/use-global-config.ts"],"sourcesContent":["import { computed, getCurrentInstance, inject, provide, ref, unref } from 'vue'\r\nimport {\r\n SIZE_INJECTION_KEY,\r\n localeContextKey,\r\n useLocale,\r\n} from '@m-eleplus-crud/hooks'\r\nimport { debugWarn, keysOf } from '@m-eleplus-crud/utils'\r\nimport { configProviderContextKey } from '../constants'\r\n\r\nimport type { MaybeRef } from '@vueuse/core'\r\nimport type { App, Ref } from 'vue'\r\nimport type { ConfigProviderContext } from '../constants'\r\n\r\nconst globalConfig = ref<ConfigProviderContext>()\r\n\r\nexport function useGlobalConfig<\r\n K extends keyof ConfigProviderContext,\r\n D extends ConfigProviderContext[K]\r\n>(\r\n key: K,\r\n defaultValue?: D\r\n): Ref<Exclude<ConfigProviderContext[K], undefined> | D>\r\nexport function useGlobalConfig(): Ref<ConfigProviderContext>\r\nexport function useGlobalConfig(\r\n key?: keyof ConfigProviderContext,\r\n defaultValue = undefined\r\n) {\r\n const config = getCurrentInstance()\r\n ? inject(configProviderContextKey, globalConfig)\r\n : globalConfig\r\n if (key) {\r\n return computed(() => config.value?.[key] ?? defaultValue)\r\n } else {\r\n return config\r\n }\r\n}\r\n\r\nexport function useGlobalComponentSettings(\r\n block: string,\r\n sizeFallback?: MaybeRef<ConfigProviderContext['size']>\r\n) {\r\n const config = useGlobalConfig()\r\n\r\n const locale = useLocale(computed(() => config.value?.locale))\r\n\r\n const size = computed(() => unref(sizeFallback) || config.value?.size || '')\r\n provideGlobalConfig(computed(() => unref(config) || {}))\r\n\r\n return {\r\n locale,\r\n size,\r\n }\r\n}\r\n\r\nexport const provideGlobalConfig = (\r\n config: MaybeRef<ConfigProviderContext>,\r\n app?: App,\r\n global = false\r\n) => {\r\n const inSetup = !!getCurrentInstance()\r\n const oldConfig = inSetup ? useGlobalConfig() : undefined\r\n\r\n const provideFn = app?.provide ?? (inSetup ? provide : undefined)\r\n if (!provideFn) {\r\n debugWarn(\r\n 'provideGlobalConfig',\r\n 'provideGlobalConfig() can only be used inside setup().'\r\n )\r\n return\r\n }\r\n\r\n const context = computed(() => {\r\n const cfg = unref(config)\r\n if (!oldConfig?.value) return cfg\r\n return mergeConfig(oldConfig.value, cfg)\r\n })\r\n provideFn(configProviderContextKey, context)\r\n provideFn(\r\n localeContextKey,\r\n computed(() => context.value.locale)\r\n )\r\n provideFn(SIZE_INJECTION_KEY, {\r\n size: computed(() => context.value.size || ''),\r\n })\r\n\r\n if (global || !globalConfig.value) {\r\n globalConfig.value = context.value\r\n }\r\n return context\r\n}\r\n\r\nconst mergeConfig = (\r\n a: ConfigProviderContext,\r\n b: ConfigProviderContext\r\n): ConfigProviderContext => {\r\n const keys = [...new Set([...keysOf(a), ...keysOf(b)])]\r\n const obj: Record<string, any> = {}\r\n for (const key of keys) {\r\n obj[key] = b[key] !== undefined ? b[key] : a[key]\r\n }\r\n return obj\r\n}\r\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/crud/index.ts"],"sourcesContent":["import { withInstall } from '@m-eleplus-crud/utils'\nimport Crud from './src/crud.vue'\nimport type { SFCWithInstall } from '@m-eleplus-crud/utils'\n\nexport const MCrud: SFCWithInstall<typeof Crud> = withInstall(Crud)\nexport default MCrud\n\nexport * from './src/crud'\nexport type { CrudInstance } from './src/instance'\n"],"names":[],"mappings":";;;;AAIa,MAAA,KAAA,GAAqC,YAAY,IAAI;;;;"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/crud/index.ts"],"sourcesContent":["import { withInstall } from '@m-eleplus-crud/utils'\r\nimport Crud from './src/crud.vue'\r\nimport type { SFCWithInstall } from '@m-eleplus-crud/utils'\r\n\r\nexport const MCrud: SFCWithInstall<typeof Crud> = withInstall(Crud)\r\nexport default MCrud\r\n\r\nexport * from './src/crud'\r\nexport type { CrudInstance } from './src/instance'\r\n"],"names":[],"mappings":";;;;AAIa,MAAA,KAAA,GAAqC,YAAY,IAAI;;;;"}
|
|
@@ -464,7 +464,7 @@ const _sfc_main = defineComponent({
|
|
|
464
464
|
class: "m-control-btns",
|
|
465
465
|
type: "primary",
|
|
466
466
|
size: _ctx.size || unref(globalConfig).size,
|
|
467
|
-
underline:
|
|
467
|
+
underline: "never",
|
|
468
468
|
icon: "Edit",
|
|
469
469
|
onClick: ($event) => rowEdit(scope.row, scope.$index)
|
|
470
470
|
}, {
|
|
@@ -481,7 +481,7 @@ const _sfc_main = defineComponent({
|
|
|
481
481
|
key: 2,
|
|
482
482
|
class: "m-control-btns",
|
|
483
483
|
type: "primary",
|
|
484
|
-
underline:
|
|
484
|
+
underline: "never",
|
|
485
485
|
size: _ctx.size || unref(globalConfig).size,
|
|
486
486
|
icon: "Delete",
|
|
487
487
|
onClick: ($event) => rowDel(scope.row, scope.$index)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crud2.mjs","sources":["../../../../../../../packages/components/crud/src/crud.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { computed, nextTick, onMounted, ref, useSlots, watch } from 'vue'\nimport { ElMessageBox } from 'element-plus'\nimport { cloneDeep, get, set } from 'lodash-unified'\nimport { useGlobalConfig } from '@m-eleplus-crud/components'\nimport { useLocale } from '@m-eleplus-crud/hooks'\nimport { crudEmits, crudProps } from './crud'\nimport type { ISearchColumn, ISearchOption, SearchInstance } from '../../search'\nimport type { ITableColumn, ITableOption, TableInstance } from '../../table'\nimport type { ICrudColumn, ICrudOption } from './crud'\nimport type { FormInstance, IFormColumn, IFormOption } from '../../form'\n\nconst COMPONENT_NAME = 'MCrud'\ndefineOptions({\n name: COMPONENT_NAME,\n})\n\nconst props = defineProps(crudProps)\nconst emit = defineEmits(crudEmits)\n\n// 插槽信息\nconst slots = useSlots() as any\n\n// 全局配置\nconst globalConfig = useGlobalConfig()\n\n// 国际化配置\nconst { t } = useLocale()\n\n// 搜索插槽\nconst searchSlots = computed(() => {\n const keys = Object.keys(slots)\n const result: any = {}\n for (const key of keys) {\n if (key.endsWith('Search')) {\n result[key.replace('Search', '')] = slots[key]\n }\n }\n return result\n})\n\n// 表单插槽\nconst formSlots = computed(() => {\n const keys = Object.keys(slots)\n const result: any = {}\n for (const key of keys) {\n if (key.endsWith('Form')) {\n result[key.replace('Form', '')] = slots[key]\n }\n }\n return result\n})\n\n// 列表插槽\nconst tableSlots = computed(() => {\n const whites = ['topLeft', 'topRight', 'addBtn']\n const keys = Object.keys(slots)\n const result: any = {}\n for (const key of keys) {\n if (\n !whites.includes(key) &&\n !key.endsWith('Search') &&\n !key.endsWith('Form')\n ) {\n result[key] = slots[key]\n }\n }\n return result\n})\n\n/**\n * @description crud配置项\n */\nconst crudOption = ref<ICrudOption>({\n // 默认显示添加按钮\n addBtn: true,\n // 默认显示编辑按钮\n editBtn: true,\n // 默认显示删除按钮\n delBtn: true,\n // 添加按钮文字\n addBtnText: t('m.crud.addBtnText'),\n // 添加按钮图标\n addBtnIcon: 'Plus',\n // 添加对话框标题\n addDialogTitle: t('m.crud.addDialogTitle'),\n // 编辑对话框标题\n editDialogTitle: t('m.crud.editDialogTitle'),\n // 查看对话框标题\n viewDialogTitle: t('m.crud.viewDialogTitle'),\n // 对话框宽度\n dialogWidth: '800px',\n\n column: [],\n})\n\n/**\n * @description 对话框类型\n */\nconst dialogType = ref<'add' | 'edit' | 'view'>('add')\n\n/**\n * @description 搜索ref\n */\nconst searchRef = ref<SearchInstance>()\n\n/**\n * @description 表单ref\n */\nconst formRef = ref<FormInstance>()\n\n/**\n * @description 表格ref\n */\nconst tableRef = ref<TableInstance>()\n\n/**\n * @description 对话框显示状态\n */\nconst dialogVisible = ref(false)\n\n/**\n * @description 表格高度\n */\nconst tableHeight = ref<any>(undefined)\n\n// 备份modelForm\nconst _modelForm = ref<any>()\n\n// 备份列表index\nconst _rowIndex = ref(-1)\n\n/**\n * @description 对话框标题\n */\nconst dialogTitle = computed(() => {\n if (dialogType.value === 'add') {\n return crudOption.value.addDialogTitle\n }\n if (dialogType.value === 'edit') {\n return crudOption.value.editDialogTitle\n }\n return crudOption.value.viewDialogTitle\n})\n\n/**\n * @description 表单数据\n */\nconst modelForm = computed({\n get() {\n return props.modelValue\n },\n set(value: any) {\n emit('update:modelValue', value)\n },\n})\n\n// 备份第一次的modelForm\nconst __firstModelForm = ref<any>({})\n__firstModelForm.value = props.modelValue\n\n/**\n * @description table配置项\n */\nconst tableOption = ref<ITableOption>({\n // 默认显示操作栏\n menu: true,\n\n column: [],\n})\n\n/**\n * @description search配置项\n */\nconst searchOption = ref<ISearchOption>({\n column: [],\n})\n\n/**\n * @description form配置项\n */\nconst formOption = computed<IFormOption>(() => {\n let option: IFormOption = {\n column: [],\n }\n option = transFormOption(\n Object.assign({}, option, copyObjectExcept(crudOption.value, ['column']))\n )\n for (let i = 0; i < crudOption.value.column.length; i++) {\n const item = cloneDeep(crudOption.value.column[i])\n const formColumn: IFormColumn = transFormColumn(item)\n\n if (['index', 'single', 'selection'].includes(item.type || '')) {\n continue\n }\n\n if (dialogType.value === 'add') {\n // 新增模式\n if (!item.addHide) {\n option.column.push(formColumn)\n }\n } else if (dialogType.value === 'edit') {\n // 编辑模式\n if (!item.editHide) {\n option.column.push(formColumn)\n }\n } else {\n // 查看模式\n if (!item.viewHide) {\n option.column.push(formColumn)\n }\n }\n }\n\n return option\n})\n\n/**\n * @description 搜索代理\n */\nconst searchProxys = new Proxy(props.search, {\n get(target, key) {\n return get(target, key)\n },\n set(target, key, value) {\n set(target, key, value)\n return true\n },\n})\n\n/**\n * @description 选择的数据\n */\nconst selectData = computed({\n get() {\n return props.select\n },\n set(value: any) {\n emit('update:select', value)\n },\n})\n\n/**\n * 转换search列\n * @param option 列配置\n */\nconst transSearchColumn = (column: ICrudColumn): ISearchColumn => {\n const result: ISearchColumn = cloneDeep(column) as ISearchColumn\n // 转换排序\n if (column.searchOrder) {\n result.order = column.searchOrder\n } else {\n delete result.order\n }\n // 转换默认值\n if (column.searchValue) {\n result.value = column.searchValue\n } else {\n delete result.value\n }\n // 转换占位符\n if (column.searchPlaceholder) {\n result.placeholder = column.searchPlaceholder\n } else {\n delete result.placeholder\n }\n // 转换表单校验规则\n if (column.searchRules) {\n result.rules = column.searchRules\n } else {\n delete result.rules\n }\n // 转换栅格\n if (column.searchSpan) {\n result.span = column.searchSpan\n } else {\n delete result.span\n }\n // 转换labelWidth\n if (column.searchLabelWidth) {\n result.labelWidth = column.searchLabelWidth\n } else {\n delete result.labelWidth\n }\n\n return result\n}\n\n/**\n * 转换form列\n * @param column 列配置\n * @param type 类型\n */\nconst transFormColumn = (column: ICrudColumn): IFormColumn => {\n const result: IFormColumn = cloneDeep(column) as IFormColumn\n // 转换排序\n if (column.formOrder) {\n result.order = column.formOrder\n } else {\n delete result.order\n }\n // 转换默认值\n if (column.formValue) {\n result.value = column.formValue\n } else {\n delete result.value\n }\n // 转换占位符\n if (column.formPlaceholder) {\n result.placeholder = column.formPlaceholder\n } else {\n delete result.placeholder\n }\n // 转换表单校验规则\n if (column.formRules) {\n result.rules = column.formRules\n } else {\n delete result.rules\n }\n // 转换labelWidth\n if (column.formLabelWidth) {\n result.labelWidth = column.formLabelWidth\n } else {\n delete result.labelWidth\n }\n // 转换栅格\n if (column.formSpan || column.addSpan || column.editSpan || column.viewSpan) {\n if (column.formSpan) {\n result.span = column.formSpan\n }\n if (dialogType.value === 'add' && column.addSpan) {\n result.span = column.addSpan\n } else if (dialogType.value === 'edit' && column.editSpan) {\n result.span = column.editSpan\n } else if (dialogType.value === 'view' && column.viewSpan) {\n result.span = column.viewSpan\n }\n } else {\n delete result.span\n }\n\n return result\n}\n\n/**\n * 转换search option\n * @param option crud option\n */\nconst transSearchOption = (option: ICrudOption): ISearchOption => {\n const result: ISearchOption = cloneDeep(option) as ISearchOption\n // 转换labelWidth\n if (option.searchLabelWidth) {\n result.labelWidth = option.searchLabelWidth\n } else {\n delete result.labelWidth\n }\n\n return result\n}\n\n/**\n * 转换form option\n * @param option crud option\n */\nconst transFormOption = (option: ICrudOption): IFormOption => {\n const result: IFormOption = cloneDeep(option) as IFormOption\n // 转换labelWidth\n if (option.formLabelWidth) {\n result.labelWidth = option.formLabelWidth\n } else {\n delete result.labelWidth\n }\n\n return result\n}\n\n/**\n * @description 当前页发生改变\n */\nconst currentPageChange = (page: number) => {\n searchRef.value?.search(page)\n}\n\n/**\n * @description 页大小发生变化\n */\nconst pageSizeChange = (pageSize: number) => {\n searchProxys.limit = pageSize\n searchRef.value?.search()\n}\n\n/**\n * @description 搜索事件\n * @param form 搜索表单值\n * @param done 完成回调\n */\nconst handleSearch = (form: any) => {\n tableRef.value?.clearSelection()\n emit('search', form)\n}\n\n/**\n * @description 重置搜索\n */\nconst handleReset = () => {\n tableRef.value?.clearSelection()\n emit('reset')\n}\n\n/**\n * @description 获取表格高度\n */\nconst setTableHeight = () => {\n nextTick(() => {\n // 自动高度\n if (crudOption.value.height === 'auto') {\n // 表格style对象\n const tableStyle = tableRef.value?.$el\n // 分页对象\n // const pageStyle: any = document.querySelector('.m-pagination-box')\n // 额外可控制高度参数\n const calcHeight: number =\n crudOption.value.calcHeight || globalConfig.value?.calcHeight || 0\n tableHeight.value =\n document.documentElement.clientHeight -\n (tableStyle?.offsetTop || 0) -\n 72 -\n calcHeight\n } else {\n tableHeight.value = crudOption.value.height\n }\n })\n}\n\n/**\n * 打开新增对话框\n */\nconst rowAdd = () => {\n dialogType.value = 'add'\n dialogVisible.value = true\n}\n\n/**\n * @description 打开编辑修改\n */\nconst rowEdit = (row: any, index: number) => {\n // 备份数据\n _modelForm.value = cloneDeep(row)\n _rowIndex.value = index\n\n // 弹窗类型\n dialogType.value = 'edit'\n modelForm.value = cloneDeep(row)\n // 弹窗状态\n dialogVisible.value = true\n}\n\n/**\n * @description 打开详情\n */\nconst rowView = (row: any, index: number) => {\n // 备份数据\n _modelForm.value = cloneDeep(row)\n _rowIndex.value = index\n\n // 弹窗类型\n dialogType.value = 'view'\n modelForm.value = cloneDeep(row)\n // 弹窗状态\n dialogVisible.value = true\n}\n\n/**\n * @description 打开删除\n */\nconst rowDel = (row: any, index: number) => {\n ElMessageBox.confirm('此操作将删除该数据, 是否继续?', '提示', {\n confirmButtonText: '确定',\n cancelButtonText: '取消',\n type: 'warning',\n })\n .then(() => {\n emit('rowDel', row, index)\n })\n .catch(() => {})\n}\n\n/**\n * 对话框确认事件\n * @param done 完成\n * @param loading 结束加载\n */\nconst dialogEnter = async (done: () => void, loading: () => void) => {\n const valid = await formRef.value!.validForm()\n // 校验不通过\n if (!valid) {\n loading()\n return\n }\n\n // 表单前校验\n if (props.beforeEnter && !(await props.beforeEnter())) {\n loading()\n return\n }\n\n if (dialogType.value === 'add') {\n // 新增\n emit('rowSave', modelForm.value, done, loading)\n } else if (dialogType.value === 'edit') {\n // 修改\n emit('rowEdit', modelForm.value, done, loading)\n }\n}\n\nconst dialogCancel = () => {\n emit('rowCancel', _modelForm.value || {}, _rowIndex.value, dialogType.value)\n}\n\n/**\n * @description 弹窗关闭\n */\nconst dialogClose = () => {\n // 清空备份\n _modelForm.value = null\n _rowIndex.value = -1\n\n if (formRef.value) {\n formRef.value.clear()\n modelForm.value = cloneDeep(__firstModelForm.value)\n } else {\n emit('update:modelValue', cloneDeep(__firstModelForm.value))\n }\n}\n\n/**\n * 复制对象到新对象,排除指定key\n * @param sourceObj 源对象\n * @param excludeKeys 排除的key\n */\nconst copyObjectExcept = (sourceObj: any, excludeKeys: string[] = []) => {\n const result: any = {}\n Object.keys(sourceObj).forEach((key) => {\n if (!excludeKeys.includes(key)) {\n result[key] = sourceObj[key]\n }\n })\n return result\n}\n\nwatch(\n () => props.option as ICrudOption,\n (newVal: ICrudOption) => {\n if (newVal) {\n // crud配置项\n crudOption.value = Object.assign({}, crudOption.value, newVal)\n // table配置项\n tableOption.value = Object.assign(\n {},\n tableOption.value,\n copyObjectExcept(crudOption.value, ['column'])\n )\n // search配置项\n searchOption.value = transSearchOption(\n Object.assign(\n {},\n searchOption.value,\n copyObjectExcept(crudOption.value, ['column'])\n )\n )\n\n const searchColumns: ISearchColumn[] = []\n const tableColumns: ITableColumn[] = []\n if (newVal.column && newVal.column.length) {\n for (let i = 0; i < newVal.column.length; i++) {\n const item = newVal.column[i]\n // 处理搜索列\n if (\n item.search &&\n !['index', 'single', 'selection'].includes(item.type || '')\n ) {\n searchColumns.push(transSearchColumn(item))\n }\n // 列表\n if (!item.hide) {\n tableColumns.push(item)\n }\n }\n searchOption.value.column = searchColumns\n tableOption.value.column = tableColumns\n }\n }\n },\n {\n immediate: true,\n deep: true,\n }\n)\n\nonMounted(() => {\n // 设置表格高度\n if (crudOption.value.height) {\n setTableHeight()\n }\n})\n\ndefineExpose({\n /**\n * @description 新增\n */\n rowAdd,\n /**\n * @description 编辑\n */\n rowEdit,\n /**\n * @description 查看\n */\n rowView,\n /**\n * @description 删除\n */\n rowDel,\n})\n</script>\n\n<template>\n <div class=\"m-crud\">\n <MSearch\n ref=\"searchRef\"\n :model=\"searchProxys\"\n :option=\"searchOption\"\n :size=\"size || globalConfig.size\"\n :permission=\"permission\"\n @search=\"handleSearch\"\n @reset=\"handleReset\"\n >\n <!-- 搜索插槽 -->\n <template\n v-for=\"(slotKey, index) in Object.keys(searchSlots)\"\n :key=\"index\"\n #[slotKey]=\"scope\"\n >\n <slot :name=\"slotKey + 'Search'\" v-bind=\"scope\" />\n </template>\n <!---->\n </MSearch>\n <!--顶部操作区域-->\n <div v-if=\"crudOption.addBtn || slots.topLeft\" class=\"m-search-top\">\n <div class=\"m-search-left\">\n <el-button\n v-if=\"crudOption.addBtn && !slots.addBtn\"\n :size=\"size || globalConfig.size\"\n type=\"primary\"\n :icon=\"crudOption.addBtnIcon\"\n @click=\"rowAdd()\"\n >\n {{ crudOption.addBtnText }}\n </el-button>\n <slot name=\"addBtn\" v-bind=\"{ size: size || globalConfig.size }\" />\n <slot name=\"topLeft\" v-bind=\"{ size: size || globalConfig.size }\" />\n </div>\n <div class=\"m-search-right\">\n <slot name=\"topRight\" v-bind=\"{ size: size || globalConfig.size }\" />\n </div>\n </div>\n <!---->\n <!--表格-->\n <MTable\n ref=\"tableRef\"\n v-model:select=\"selectData\"\n :data=\"data\"\n :size=\"size || globalConfig.size\"\n :loading=\"loading\"\n :permission=\"permission\"\n :option=\"tableOption\"\n :height=\"tableHeight\"\n :max-height=\"tableHeight\"\n >\n <!-- 列表插槽 -->\n <template\n v-for=\"(slotKey, index) in Object.keys(tableSlots)\"\n :key=\"index\"\n #[slotKey]=\"scope\"\n >\n <slot :name=\"slotKey\" v-bind=\"scope\" />\n </template>\n <!---->\n <!--操作栏-->\n <template #menu=\"scope\">\n <el-link\n v-if=\"crudOption.editBtn && !slots.editBtn\"\n class=\"m-control-btns\"\n type=\"primary\"\n :size=\"size || globalConfig.size\"\n :underline=\"false\"\n icon=\"Edit\"\n @click=\"rowEdit(scope.row, scope.$index)\"\n >\n {{ t('m.crud.editBtnText') }}\n </el-link>\n <slot\n v-if=\"crudOption.editBtn && slots.editBtn\"\n name=\"editBtn\"\n v-bind=\"scope\"\n />\n <el-link\n v-if=\"crudOption.delBtn && !slots.delBtn\"\n class=\"m-control-btns\"\n type=\"primary\"\n :underline=\"false\"\n :size=\"size || globalConfig.size\"\n icon=\"Delete\"\n @click=\"rowDel(scope.row, scope.$index)\"\n >\n {{ t('m.crud.delBtnText') }}\n </el-link>\n <slot\n v-if=\"crudOption.delBtn && slots.delBtn\"\n name=\"delBtn\"\n v-bind=\"scope\"\n />\n <slot\n v-if=\"\n crudOption.menu && slots.menu && !(slots.editBtn || slots.delBtn)\n \"\n name=\"menu\"\n v-bind=\"scope\"\n />\n </template>\n <!---->\n </MTable>\n <!---->\n <!--分页区域-->\n <div v-if=\"searchProxys.page && total\" class=\"m-pagination-box\">\n <m-pagination\n :small=\"(size || globalConfig.size) === 'small'\"\n :total=\"total\"\n :current-page=\"searchProxys.page\"\n :page-size=\"searchProxys.limit\"\n :disabled=\"loading\"\n @current-page=\"currentPageChange\"\n @page-size=\"pageSizeChange\"\n />\n </div>\n <!--新增/编辑/查看对话框-->\n <MDialog\n v-model=\"dialogVisible\"\n :size=\"size || globalConfig.size\"\n :title=\"dialogTitle\"\n :width=\"crudOption.dialogWidth\"\n :save-btn=\"dialogType !== 'view'\"\n :cancel-btn=\"dialogType !== 'view'\"\n :save-btn-text=\"t('m.crud.dialogSaveBtnText')\"\n :cancel-btn-text=\"t('m.crud.dialogCancelBtnText')\"\n :save-btn-icon=\"dialogType === 'add' ? 'CirclePlus' : 'CircleCheck'\"\n @enter=\"dialogEnter\"\n @cancel=\"dialogCancel\"\n @close=\"dialogClose\"\n >\n <template #default=\"{ loading }\">\n <!--所有类型顶部-->\n <slot\n name=\"allTop\"\n v-bind=\"{ size: size || globalConfig.size, loading: loading }\"\n />\n <!---->\n <!--新增/编辑类型顶部-->\n <slot\n v-if=\"dialogType !== 'view'\"\n name=\"formTop\"\n v-bind=\"{ size: size || globalConfig.size, loading: loading }\"\n />\n <!---->\n <!--新增类型顶部-->\n <slot\n v-if=\"dialogType === 'add'\"\n name=\"addTop\"\n v-bind=\"{ size: size || globalConfig.size, loading: loading }\"\n />\n <!---->\n <!--编辑类型顶部-->\n <slot\n v-if=\"dialogType === 'edit'\"\n name=\"editTop\"\n v-bind=\"{ size: size || globalConfig.size, loading: loading }\"\n />\n <!---->\n <!--查看类型顶部-->\n <slot\n v-if=\"dialogType === 'view'\"\n name=\"viewTop\"\n v-bind=\"{ size: size || globalConfig.size, loading: loading }\"\n />\n <!---->\n <MForm\n ref=\"formRef\"\n :loading=\"loading\"\n :size=\"size || globalConfig.size\"\n :option=\"formOption\"\n :model=\"modelForm\"\n :readonly=\"dialogType === 'view'\"\n >\n <!-- 表单插槽 -->\n <template\n v-for=\"(slotKey, index) in Object.keys(formSlots)\"\n :key=\"index\"\n #[slotKey]=\"scope\"\n >\n <slot :name=\"slotKey + 'Form'\" v-bind=\"scope\" />\n </template>\n <!---->\n </MForm>\n <!--所有类型底部-->\n <slot\n name=\"allBottom\"\n v-bind=\"{ size: size || globalConfig.size, loading: loading }\"\n />\n <!---->\n <!--新增/编辑类型底部-->\n <slot\n v-if=\"dialogType !== 'view'\"\n name=\"formBottom\"\n v-bind=\"{ size: size || globalConfig.size, loading: loading }\"\n />\n <!---->\n <!--新增类型底部-->\n <slot\n v-if=\"dialogType === 'add'\"\n name=\"addBottom\"\n v-bind=\"{ size: size || globalConfig.size, loading: loading }\"\n />\n <!---->\n <!--编辑类型底部-->\n <slot\n v-if=\"dialogType === 'edit'\"\n name=\"editBottom\"\n v-bind=\"{ size: size || globalConfig.size, loading: loading }\"\n />\n <!---->\n <!--查看类型底部-->\n <slot\n v-if=\"dialogType === 'view'\"\n name=\"viewBottom\"\n v-bind=\"{ size: size || globalConfig.size, loading: loading }\"\n />\n <!---->\n </template>\n </MDialog>\n <!---->\n </div>\n</template>\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"crud2.mjs","sources":["../../../../../../../packages/components/crud/src/crud.vue"],"sourcesContent":["<script lang=\"ts\" setup>\r\nimport { computed, nextTick, onMounted, ref, useSlots, watch } from 'vue'\r\nimport { ElMessageBox } from 'element-plus'\r\nimport { cloneDeep, get, set } from 'lodash-unified'\r\nimport { useGlobalConfig } from '@m-eleplus-crud/components'\r\nimport { useLocale } from '@m-eleplus-crud/hooks'\r\nimport { crudEmits, crudProps } from './crud'\r\nimport type { ISearchColumn, ISearchOption, SearchInstance } from '../../search'\r\nimport type { ITableColumn, ITableOption, TableInstance } from '../../table'\r\nimport type { ICrudColumn, ICrudOption } from './crud'\r\nimport type { FormInstance, IFormColumn, IFormOption } from '../../form'\r\n\r\nconst COMPONENT_NAME = 'MCrud'\r\ndefineOptions({\r\n name: COMPONENT_NAME,\r\n})\r\n\r\nconst props = defineProps(crudProps)\r\nconst emit = defineEmits(crudEmits)\r\n\r\n// 插槽信息\r\nconst slots = useSlots() as any\r\n\r\n// 全局配置\r\nconst globalConfig = useGlobalConfig()\r\n\r\n// 国际化配置\r\nconst { t } = useLocale()\r\n\r\n// 搜索插槽\r\nconst searchSlots = computed(() => {\r\n const keys = Object.keys(slots)\r\n const result: any = {}\r\n for (const key of keys) {\r\n if (key.endsWith('Search')) {\r\n result[key.replace('Search', '')] = slots[key]\r\n }\r\n }\r\n return result\r\n})\r\n\r\n// 表单插槽\r\nconst formSlots = computed(() => {\r\n const keys = Object.keys(slots)\r\n const result: any = {}\r\n for (const key of keys) {\r\n if (key.endsWith('Form')) {\r\n result[key.replace('Form', '')] = slots[key]\r\n }\r\n }\r\n return result\r\n})\r\n\r\n// 列表插槽\r\nconst tableSlots = computed(() => {\r\n const whites = ['topLeft', 'topRight', 'addBtn']\r\n const keys = Object.keys(slots)\r\n const result: any = {}\r\n for (const key of keys) {\r\n if (\r\n !whites.includes(key) &&\r\n !key.endsWith('Search') &&\r\n !key.endsWith('Form')\r\n ) {\r\n result[key] = slots[key]\r\n }\r\n }\r\n return result\r\n})\r\n\r\n/**\r\n * @description crud配置项\r\n */\r\nconst crudOption = ref<ICrudOption>({\r\n // 默认显示添加按钮\r\n addBtn: true,\r\n // 默认显示编辑按钮\r\n editBtn: true,\r\n // 默认显示删除按钮\r\n delBtn: true,\r\n // 添加按钮文字\r\n addBtnText: t('m.crud.addBtnText'),\r\n // 添加按钮图标\r\n addBtnIcon: 'Plus',\r\n // 添加对话框标题\r\n addDialogTitle: t('m.crud.addDialogTitle'),\r\n // 编辑对话框标题\r\n editDialogTitle: t('m.crud.editDialogTitle'),\r\n // 查看对话框标题\r\n viewDialogTitle: t('m.crud.viewDialogTitle'),\r\n // 对话框宽度\r\n dialogWidth: '800px',\r\n\r\n column: [],\r\n})\r\n\r\n/**\r\n * @description 对话框类型\r\n */\r\nconst dialogType = ref<'add' | 'edit' | 'view'>('add')\r\n\r\n/**\r\n * @description 搜索ref\r\n */\r\nconst searchRef = ref<SearchInstance>()\r\n\r\n/**\r\n * @description 表单ref\r\n */\r\nconst formRef = ref<FormInstance>()\r\n\r\n/**\r\n * @description 表格ref\r\n */\r\nconst tableRef = ref<TableInstance>()\r\n\r\n/**\r\n * @description 对话框显示状态\r\n */\r\nconst dialogVisible = ref(false)\r\n\r\n/**\r\n * @description 表格高度\r\n */\r\nconst tableHeight = ref<any>(undefined)\r\n\r\n// 备份modelForm\r\nconst _modelForm = ref<any>()\r\n\r\n// 备份列表index\r\nconst _rowIndex = ref(-1)\r\n\r\n/**\r\n * @description 对话框标题\r\n */\r\nconst dialogTitle = computed(() => {\r\n if (dialogType.value === 'add') {\r\n return crudOption.value.addDialogTitle\r\n }\r\n if (dialogType.value === 'edit') {\r\n return crudOption.value.editDialogTitle\r\n }\r\n return crudOption.value.viewDialogTitle\r\n})\r\n\r\n/**\r\n * @description 表单数据\r\n */\r\nconst modelForm = computed({\r\n get() {\r\n return props.modelValue\r\n },\r\n set(value: any) {\r\n emit('update:modelValue', value)\r\n },\r\n})\r\n\r\n// 备份第一次的modelForm\r\nconst __firstModelForm = ref<any>({})\r\n__firstModelForm.value = props.modelValue\r\n\r\n/**\r\n * @description table配置项\r\n */\r\nconst tableOption = ref<ITableOption>({\r\n // 默认显示操作栏\r\n menu: true,\r\n\r\n column: [],\r\n})\r\n\r\n/**\r\n * @description search配置项\r\n */\r\nconst searchOption = ref<ISearchOption>({\r\n column: [],\r\n})\r\n\r\n/**\r\n * @description form配置项\r\n */\r\nconst formOption = computed<IFormOption>(() => {\r\n let option: IFormOption = {\r\n column: [],\r\n }\r\n option = transFormOption(\r\n Object.assign({}, option, copyObjectExcept(crudOption.value, ['column']))\r\n )\r\n for (let i = 0; i < crudOption.value.column.length; i++) {\r\n const item = cloneDeep(crudOption.value.column[i])\r\n const formColumn: IFormColumn = transFormColumn(item)\r\n\r\n if (['index', 'single', 'selection'].includes(item.type || '')) {\r\n continue\r\n }\r\n\r\n if (dialogType.value === 'add') {\r\n // 新增模式\r\n if (!item.addHide) {\r\n option.column.push(formColumn)\r\n }\r\n } else if (dialogType.value === 'edit') {\r\n // 编辑模式\r\n if (!item.editHide) {\r\n option.column.push(formColumn)\r\n }\r\n } else {\r\n // 查看模式\r\n if (!item.viewHide) {\r\n option.column.push(formColumn)\r\n }\r\n }\r\n }\r\n\r\n return option\r\n})\r\n\r\n/**\r\n * @description 搜索代理\r\n */\r\nconst searchProxys = new Proxy(props.search, {\r\n get(target, key) {\r\n return get(target, key)\r\n },\r\n set(target, key, value) {\r\n set(target, key, value)\r\n return true\r\n },\r\n})\r\n\r\n/**\r\n * @description 选择的数据\r\n */\r\nconst selectData = computed({\r\n get() {\r\n return props.select\r\n },\r\n set(value: any) {\r\n emit('update:select', value)\r\n },\r\n})\r\n\r\n/**\r\n * 转换search列\r\n * @param option 列配置\r\n */\r\nconst transSearchColumn = (column: ICrudColumn): ISearchColumn => {\r\n const result: ISearchColumn = cloneDeep(column) as ISearchColumn\r\n // 转换排序\r\n if (column.searchOrder) {\r\n result.order = column.searchOrder\r\n } else {\r\n delete result.order\r\n }\r\n // 转换默认值\r\n if (column.searchValue) {\r\n result.value = column.searchValue\r\n } else {\r\n delete result.value\r\n }\r\n // 转换占位符\r\n if (column.searchPlaceholder) {\r\n result.placeholder = column.searchPlaceholder\r\n } else {\r\n delete result.placeholder\r\n }\r\n // 转换表单校验规则\r\n if (column.searchRules) {\r\n result.rules = column.searchRules\r\n } else {\r\n delete result.rules\r\n }\r\n // 转换栅格\r\n if (column.searchSpan) {\r\n result.span = column.searchSpan\r\n } else {\r\n delete result.span\r\n }\r\n // 转换labelWidth\r\n if (column.searchLabelWidth) {\r\n result.labelWidth = column.searchLabelWidth\r\n } else {\r\n delete result.labelWidth\r\n }\r\n\r\n return result\r\n}\r\n\r\n/**\r\n * 转换form列\r\n * @param column 列配置\r\n * @param type 类型\r\n */\r\nconst transFormColumn = (column: ICrudColumn): IFormColumn => {\r\n const result: IFormColumn = cloneDeep(column) as IFormColumn\r\n // 转换排序\r\n if (column.formOrder) {\r\n result.order = column.formOrder\r\n } else {\r\n delete result.order\r\n }\r\n // 转换默认值\r\n if (column.formValue) {\r\n result.value = column.formValue\r\n } else {\r\n delete result.value\r\n }\r\n // 转换占位符\r\n if (column.formPlaceholder) {\r\n result.placeholder = column.formPlaceholder\r\n } else {\r\n delete result.placeholder\r\n }\r\n // 转换表单校验规则\r\n if (column.formRules) {\r\n result.rules = column.formRules\r\n } else {\r\n delete result.rules\r\n }\r\n // 转换labelWidth\r\n if (column.formLabelWidth) {\r\n result.labelWidth = column.formLabelWidth\r\n } else {\r\n delete result.labelWidth\r\n }\r\n // 转换栅格\r\n if (column.formSpan || column.addSpan || column.editSpan || column.viewSpan) {\r\n if (column.formSpan) {\r\n result.span = column.formSpan\r\n }\r\n if (dialogType.value === 'add' && column.addSpan) {\r\n result.span = column.addSpan\r\n } else if (dialogType.value === 'edit' && column.editSpan) {\r\n result.span = column.editSpan\r\n } else if (dialogType.value === 'view' && column.viewSpan) {\r\n result.span = column.viewSpan\r\n }\r\n } else {\r\n delete result.span\r\n }\r\n\r\n return result\r\n}\r\n\r\n/**\r\n * 转换search option\r\n * @param option crud option\r\n */\r\nconst transSearchOption = (option: ICrudOption): ISearchOption => {\r\n const result: ISearchOption = cloneDeep(option) as ISearchOption\r\n // 转换labelWidth\r\n if (option.searchLabelWidth) {\r\n result.labelWidth = option.searchLabelWidth\r\n } else {\r\n delete result.labelWidth\r\n }\r\n\r\n return result\r\n}\r\n\r\n/**\r\n * 转换form option\r\n * @param option crud option\r\n */\r\nconst transFormOption = (option: ICrudOption): IFormOption => {\r\n const result: IFormOption = cloneDeep(option) as IFormOption\r\n // 转换labelWidth\r\n if (option.formLabelWidth) {\r\n result.labelWidth = option.formLabelWidth\r\n } else {\r\n delete result.labelWidth\r\n }\r\n\r\n return result\r\n}\r\n\r\n/**\r\n * @description 当前页发生改变\r\n */\r\nconst currentPageChange = (page: number) => {\r\n searchRef.value?.search(page)\r\n}\r\n\r\n/**\r\n * @description 页大小发生变化\r\n */\r\nconst pageSizeChange = (pageSize: number) => {\r\n searchProxys.limit = pageSize\r\n searchRef.value?.search()\r\n}\r\n\r\n/**\r\n * @description 搜索事件\r\n * @param form 搜索表单值\r\n * @param done 完成回调\r\n */\r\nconst handleSearch = (form: any) => {\r\n tableRef.value?.clearSelection()\r\n emit('search', form)\r\n}\r\n\r\n/**\r\n * @description 重置搜索\r\n */\r\nconst handleReset = () => {\r\n tableRef.value?.clearSelection()\r\n emit('reset')\r\n}\r\n\r\n/**\r\n * @description 获取表格高度\r\n */\r\nconst setTableHeight = () => {\r\n nextTick(() => {\r\n // 自动高度\r\n if (crudOption.value.height === 'auto') {\r\n // 表格style对象\r\n const tableStyle = tableRef.value?.$el\r\n // 分页对象\r\n // const pageStyle: any = document.querySelector('.m-pagination-box')\r\n // 额外可控制高度参数\r\n const calcHeight: number =\r\n crudOption.value.calcHeight || globalConfig.value?.calcHeight || 0\r\n tableHeight.value =\r\n document.documentElement.clientHeight -\r\n (tableStyle?.offsetTop || 0) -\r\n 72 -\r\n calcHeight\r\n } else {\r\n tableHeight.value = crudOption.value.height\r\n }\r\n })\r\n}\r\n\r\n/**\r\n * 打开新增对话框\r\n */\r\nconst rowAdd = () => {\r\n dialogType.value = 'add'\r\n dialogVisible.value = true\r\n}\r\n\r\n/**\r\n * @description 打开编辑修改\r\n */\r\nconst rowEdit = (row: any, index: number) => {\r\n // 备份数据\r\n _modelForm.value = cloneDeep(row)\r\n _rowIndex.value = index\r\n\r\n // 弹窗类型\r\n dialogType.value = 'edit'\r\n modelForm.value = cloneDeep(row)\r\n // 弹窗状态\r\n dialogVisible.value = true\r\n}\r\n\r\n/**\r\n * @description 打开详情\r\n */\r\nconst rowView = (row: any, index: number) => {\r\n // 备份数据\r\n _modelForm.value = cloneDeep(row)\r\n _rowIndex.value = index\r\n\r\n // 弹窗类型\r\n dialogType.value = 'view'\r\n modelForm.value = cloneDeep(row)\r\n // 弹窗状态\r\n dialogVisible.value = true\r\n}\r\n\r\n/**\r\n * @description 打开删除\r\n */\r\nconst rowDel = (row: any, index: number) => {\r\n ElMessageBox.confirm('此操作将删除该数据, 是否继续?', '提示', {\r\n confirmButtonText: '确定',\r\n cancelButtonText: '取消',\r\n type: 'warning',\r\n })\r\n .then(() => {\r\n emit('rowDel', row, index)\r\n })\r\n .catch(() => {})\r\n}\r\n\r\n/**\r\n * 对话框确认事件\r\n * @param done 完成\r\n * @param loading 结束加载\r\n */\r\nconst dialogEnter = async (done: () => void, loading: () => void) => {\r\n const valid = await formRef.value!.validForm()\r\n // 校验不通过\r\n if (!valid) {\r\n loading()\r\n return\r\n }\r\n\r\n // 表单前校验\r\n if (props.beforeEnter && !(await props.beforeEnter())) {\r\n loading()\r\n return\r\n }\r\n\r\n if (dialogType.value === 'add') {\r\n // 新增\r\n emit('rowSave', modelForm.value, done, loading)\r\n } else if (dialogType.value === 'edit') {\r\n // 修改\r\n emit('rowEdit', modelForm.value, done, loading)\r\n }\r\n}\r\n\r\nconst dialogCancel = () => {\r\n emit('rowCancel', _modelForm.value || {}, _rowIndex.value, dialogType.value)\r\n}\r\n\r\n/**\r\n * @description 弹窗关闭\r\n */\r\nconst dialogClose = () => {\r\n // 清空备份\r\n _modelForm.value = null\r\n _rowIndex.value = -1\r\n\r\n if (formRef.value) {\r\n formRef.value.clear()\r\n modelForm.value = cloneDeep(__firstModelForm.value)\r\n } else {\r\n emit('update:modelValue', cloneDeep(__firstModelForm.value))\r\n }\r\n}\r\n\r\n/**\r\n * 复制对象到新对象,排除指定key\r\n * @param sourceObj 源对象\r\n * @param excludeKeys 排除的key\r\n */\r\nconst copyObjectExcept = (sourceObj: any, excludeKeys: string[] = []) => {\r\n const result: any = {}\r\n Object.keys(sourceObj).forEach((key) => {\r\n if (!excludeKeys.includes(key)) {\r\n result[key] = sourceObj[key]\r\n }\r\n })\r\n return result\r\n}\r\n\r\nwatch(\r\n () => props.option as ICrudOption,\r\n (newVal: ICrudOption) => {\r\n if (newVal) {\r\n // crud配置项\r\n crudOption.value = Object.assign({}, crudOption.value, newVal)\r\n // table配置项\r\n tableOption.value = Object.assign(\r\n {},\r\n tableOption.value,\r\n copyObjectExcept(crudOption.value, ['column'])\r\n )\r\n // search配置项\r\n searchOption.value = transSearchOption(\r\n Object.assign(\r\n {},\r\n searchOption.value,\r\n copyObjectExcept(crudOption.value, ['column'])\r\n )\r\n )\r\n\r\n const searchColumns: ISearchColumn[] = []\r\n const tableColumns: ITableColumn[] = []\r\n if (newVal.column && newVal.column.length) {\r\n for (let i = 0; i < newVal.column.length; i++) {\r\n const item = newVal.column[i]\r\n // 处理搜索列\r\n if (\r\n item.search &&\r\n !['index', 'single', 'selection'].includes(item.type || '')\r\n ) {\r\n searchColumns.push(transSearchColumn(item))\r\n }\r\n // 列表\r\n if (!item.hide) {\r\n tableColumns.push(item)\r\n }\r\n }\r\n searchOption.value.column = searchColumns\r\n tableOption.value.column = tableColumns\r\n }\r\n }\r\n },\r\n {\r\n immediate: true,\r\n deep: true,\r\n }\r\n)\r\n\r\nonMounted(() => {\r\n // 设置表格高度\r\n if (crudOption.value.height) {\r\n setTableHeight()\r\n }\r\n})\r\n\r\ndefineExpose({\r\n /**\r\n * @description 新增\r\n */\r\n rowAdd,\r\n /**\r\n * @description 编辑\r\n */\r\n rowEdit,\r\n /**\r\n * @description 查看\r\n */\r\n rowView,\r\n /**\r\n * @description 删除\r\n */\r\n rowDel,\r\n})\r\n</script>\r\n\r\n<template>\r\n <div class=\"m-crud\">\r\n <MSearch\r\n ref=\"searchRef\"\r\n :model=\"searchProxys\"\r\n :option=\"searchOption\"\r\n :size=\"size || globalConfig.size\"\r\n :permission=\"permission\"\r\n @search=\"handleSearch\"\r\n @reset=\"handleReset\"\r\n >\r\n <!-- 搜索插槽 -->\r\n <template\r\n v-for=\"(slotKey, index) in Object.keys(searchSlots)\"\r\n :key=\"index\"\r\n #[slotKey]=\"scope\"\r\n >\r\n <slot :name=\"slotKey + 'Search'\" v-bind=\"scope\" />\r\n </template>\r\n <!---->\r\n </MSearch>\r\n <!--顶部操作区域-->\r\n <div v-if=\"crudOption.addBtn || slots.topLeft\" class=\"m-search-top\">\r\n <div class=\"m-search-left\">\r\n <el-button\r\n v-if=\"crudOption.addBtn && !slots.addBtn\"\r\n :size=\"size || globalConfig.size\"\r\n type=\"primary\"\r\n :icon=\"crudOption.addBtnIcon\"\r\n @click=\"rowAdd()\"\r\n >\r\n {{ crudOption.addBtnText }}\r\n </el-button>\r\n <slot name=\"addBtn\" v-bind=\"{ size: size || globalConfig.size }\" />\r\n <slot name=\"topLeft\" v-bind=\"{ size: size || globalConfig.size }\" />\r\n </div>\r\n <div class=\"m-search-right\">\r\n <slot name=\"topRight\" v-bind=\"{ size: size || globalConfig.size }\" />\r\n </div>\r\n </div>\r\n <!---->\r\n <!--表格-->\r\n <MTable\r\n ref=\"tableRef\"\r\n v-model:select=\"selectData\"\r\n :data=\"data\"\r\n :size=\"size || globalConfig.size\"\r\n :loading=\"loading\"\r\n :permission=\"permission\"\r\n :option=\"tableOption\"\r\n :height=\"tableHeight\"\r\n :max-height=\"tableHeight\"\r\n >\r\n <!-- 列表插槽 -->\r\n <template\r\n v-for=\"(slotKey, index) in Object.keys(tableSlots)\"\r\n :key=\"index\"\r\n #[slotKey]=\"scope\"\r\n >\r\n <slot :name=\"slotKey\" v-bind=\"scope\" />\r\n </template>\r\n <!---->\r\n <!--操作栏-->\r\n <template #menu=\"scope\">\r\n <el-link\r\n v-if=\"crudOption.editBtn && !slots.editBtn\"\r\n class=\"m-control-btns\"\r\n type=\"primary\"\r\n :size=\"size || globalConfig.size\"\r\n underline=\"never\"\r\n icon=\"Edit\"\r\n @click=\"rowEdit(scope.row, scope.$index)\"\r\n >\r\n {{ t('m.crud.editBtnText') }}\r\n </el-link>\r\n <slot\r\n v-if=\"crudOption.editBtn && slots.editBtn\"\r\n name=\"editBtn\"\r\n v-bind=\"scope\"\r\n />\r\n <el-link\r\n v-if=\"crudOption.delBtn && !slots.delBtn\"\r\n class=\"m-control-btns\"\r\n type=\"primary\"\r\n underline=\"never\"\r\n :size=\"size || globalConfig.size\"\r\n icon=\"Delete\"\r\n @click=\"rowDel(scope.row, scope.$index)\"\r\n >\r\n {{ t('m.crud.delBtnText') }}\r\n </el-link>\r\n <slot\r\n v-if=\"crudOption.delBtn && slots.delBtn\"\r\n name=\"delBtn\"\r\n v-bind=\"scope\"\r\n />\r\n <slot\r\n v-if=\"\r\n crudOption.menu && slots.menu && !(slots.editBtn || slots.delBtn)\r\n \"\r\n name=\"menu\"\r\n v-bind=\"scope\"\r\n />\r\n </template>\r\n <!---->\r\n </MTable>\r\n <!---->\r\n <!--分页区域-->\r\n <div v-if=\"searchProxys.page && total\" class=\"m-pagination-box\">\r\n <m-pagination\r\n :small=\"(size || globalConfig.size) === 'small'\"\r\n :total=\"total\"\r\n :current-page=\"searchProxys.page\"\r\n :page-size=\"searchProxys.limit\"\r\n :disabled=\"loading\"\r\n @current-page=\"currentPageChange\"\r\n @page-size=\"pageSizeChange\"\r\n />\r\n </div>\r\n <!--新增/编辑/查看对话框-->\r\n <MDialog\r\n v-model=\"dialogVisible\"\r\n :size=\"size || globalConfig.size\"\r\n :title=\"dialogTitle\"\r\n :width=\"crudOption.dialogWidth\"\r\n :save-btn=\"dialogType !== 'view'\"\r\n :cancel-btn=\"dialogType !== 'view'\"\r\n :save-btn-text=\"t('m.crud.dialogSaveBtnText')\"\r\n :cancel-btn-text=\"t('m.crud.dialogCancelBtnText')\"\r\n :save-btn-icon=\"dialogType === 'add' ? 'CirclePlus' : 'CircleCheck'\"\r\n @enter=\"dialogEnter\"\r\n @cancel=\"dialogCancel\"\r\n @close=\"dialogClose\"\r\n >\r\n <template #default=\"{ loading }\">\r\n <!--所有类型顶部-->\r\n <slot\r\n name=\"allTop\"\r\n v-bind=\"{ size: size || globalConfig.size, loading: loading }\"\r\n />\r\n <!---->\r\n <!--新增/编辑类型顶部-->\r\n <slot\r\n v-if=\"dialogType !== 'view'\"\r\n name=\"formTop\"\r\n v-bind=\"{ size: size || globalConfig.size, loading: loading }\"\r\n />\r\n <!---->\r\n <!--新增类型顶部-->\r\n <slot\r\n v-if=\"dialogType === 'add'\"\r\n name=\"addTop\"\r\n v-bind=\"{ size: size || globalConfig.size, loading: loading }\"\r\n />\r\n <!---->\r\n <!--编辑类型顶部-->\r\n <slot\r\n v-if=\"dialogType === 'edit'\"\r\n name=\"editTop\"\r\n v-bind=\"{ size: size || globalConfig.size, loading: loading }\"\r\n />\r\n <!---->\r\n <!--查看类型顶部-->\r\n <slot\r\n v-if=\"dialogType === 'view'\"\r\n name=\"viewTop\"\r\n v-bind=\"{ size: size || globalConfig.size, loading: loading }\"\r\n />\r\n <!---->\r\n <MForm\r\n ref=\"formRef\"\r\n :loading=\"loading\"\r\n :size=\"size || globalConfig.size\"\r\n :option=\"formOption\"\r\n :model=\"modelForm\"\r\n :readonly=\"dialogType === 'view'\"\r\n >\r\n <!-- 表单插槽 -->\r\n <template\r\n v-for=\"(slotKey, index) in Object.keys(formSlots)\"\r\n :key=\"index\"\r\n #[slotKey]=\"scope\"\r\n >\r\n <slot :name=\"slotKey + 'Form'\" v-bind=\"scope\" />\r\n </template>\r\n <!---->\r\n </MForm>\r\n <!--所有类型底部-->\r\n <slot\r\n name=\"allBottom\"\r\n v-bind=\"{ size: size || globalConfig.size, loading: loading }\"\r\n />\r\n <!---->\r\n <!--新增/编辑类型底部-->\r\n <slot\r\n v-if=\"dialogType !== 'view'\"\r\n name=\"formBottom\"\r\n v-bind=\"{ size: size || globalConfig.size, loading: loading }\"\r\n />\r\n <!---->\r\n <!--新增类型底部-->\r\n <slot\r\n v-if=\"dialogType === 'add'\"\r\n name=\"addBottom\"\r\n v-bind=\"{ size: size || globalConfig.size, loading: loading }\"\r\n />\r\n <!---->\r\n <!--编辑类型底部-->\r\n <slot\r\n v-if=\"dialogType === 'edit'\"\r\n name=\"editBottom\"\r\n v-bind=\"{ size: size || globalConfig.size, loading: loading }\"\r\n />\r\n <!---->\r\n <!--查看类型底部-->\r\n <slot\r\n v-if=\"dialogType === 'view'\"\r\n name=\"viewBottom\"\r\n v-bind=\"{ size: size || globalConfig.size, loading: loading }\"\r\n />\r\n <!---->\r\n </template>\r\n </MDialog>\r\n <!---->\r\n </div>\r\n</template>\r\n"],"names":["DO_defineComponent"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/dialog/index.ts"],"sourcesContent":["import { withInstall } from '@m-eleplus-crud/utils'\nimport Dialog from './src/dialog.vue'\nimport type { SFCWithInstall } from '@m-eleplus-crud/utils'\n\nexport const MDialog: SFCWithInstall<typeof Dialog> = withInstall(Dialog)\nexport default MDialog\n\nexport * from './src/dialog'\nexport type { DialogInstance } from './src/instance'\n"],"names":[],"mappings":";;;;AAIa,MAAA,OAAA,GAAyC,YAAY,MAAM;;;;"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/dialog/index.ts"],"sourcesContent":["import { withInstall } from '@m-eleplus-crud/utils'\r\nimport Dialog from './src/dialog.vue'\r\nimport type { SFCWithInstall } from '@m-eleplus-crud/utils'\r\n\r\nexport const MDialog: SFCWithInstall<typeof Dialog> = withInstall(Dialog)\r\nexport default MDialog\r\n\r\nexport * from './src/dialog'\r\nexport type { DialogInstance } from './src/instance'\r\n"],"names":[],"mappings":";;;;AAIa,MAAA,OAAA,GAAyC,YAAY,MAAM;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form.mjs","sources":["../../../../../../../packages/components/form/src/form.ts"],"sourcesContent":["import { useSizeProp } from '@m-eleplus-crud/hooks'\nimport { buildProps, definePropType } from '@m-eleplus-crud/utils'\n\nimport type { ColumnType, ICommonColumn } from '../../common'\nimport type { FormItemRule } from 'element-plus'\n\nimport type { ExtractPropTypes } from 'vue'\n\n// 事件处理\ntype EventHandlers = {\n [K in `event${string}`]?: (...args: any[]) => any\n}\n\n/**\n * @description 公开的form column配置\n */\nexport interface IFormCommonColumn extends EventHandlers {\n /**\n * 表单校验规则\n */\n rules?: FormItemRule[]\n /**\n * @description 单个标签宽度\n */\n labelWidth?: string\n /**\n * @description 表单排序\n */\n order?: number\n /**\n * @description 栅栏宽度\n */\n span?: number\n /**\n * @description 最大长度\n */\n maxlength?: number\n /**\n * @description 是否显示字数统计,仅对type为textarea有效\n */\n showWordLimit?: boolean\n /**\n * @description 是否显示密码切换按钮,仅对type为password有效\n */\n showPassword?: boolean\n /**\n * @description 默认值\n */\n value?: any\n /**\n * @description 占位文本\n */\n placeholder?: string\n}\n\nexport interface IFormColumn extends ICommonColumn, IFormCommonColumn {\n /**\n * @description 组件类型\n */\n type?: ColumnType\n}\n\n/**\n * @description 公开的form配置\n */\nexport interface IFormCommonOption {\n /**\n * @description 标签宽度\n */\n labelWidth?: string\n}\n\nexport interface IFormOption extends IFormCommonOption {\n /**\n * @description 表单列\n */\n column: IFormColumn[]\n}\n\nexport const formProps = buildProps({\n /**\n * @description 组件大小\n */\n size: useSizeProp,\n /**\n * @description 表单绑定的数据\n */\n model: {\n type: Object,\n required: true,\n },\n /**\n * @description 表单加载状态\n */\n loading: {\n type: Boolean,\n default: false,\n },\n /**\n * @description 表单权限配置\n */\n permission: {\n type: Object,\n default: {},\n },\n /**\n * @description 是否只读\n */\n readonly: {\n type: Boolean,\n default: false,\n },\n /**\n * @description 表单配置\n */\n option: {\n type: definePropType<IFormOption>(Object),\n required: false,\n },\n} as const)\nexport type FormProps = ExtractPropTypes<typeof formProps>\n\nexport const formEmits = {}\nexport type FormEmits = typeof formEmits\n"],"names":[],"mappings":";;;AA+EO,MAAM,YAAY,UAAW,CAAA;AAAA,EAIlC,IAAM,EAAA,WAAA;AAAA,EAIN,KAAO,EAAA;AAAA,IACL,IAAM,EAAA,MAAA;AAAA,IACN,QAAU,EAAA,IAAA;AAAA,GACZ;AAAA,EAIA,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EAIA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,MAAA;AAAA,IACN,SAAS,EAAC;AAAA,GACZ;AAAA,EAIA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EAIA,MAAQ,EAAA;AAAA,IACN,IAAA,EAAM,eAA4B,MAAM,CAAA;AAAA,IACxC,QAAU,EAAA,KAAA;AAAA,GACZ;AACF,CAAU,EAAA;AAGH,MAAM,YAAY;;;;"}
|
|
1
|
+
{"version":3,"file":"form.mjs","sources":["../../../../../../../packages/components/form/src/form.ts"],"sourcesContent":["import { useSizeProp } from '@m-eleplus-crud/hooks'\r\nimport { buildProps, definePropType } from '@m-eleplus-crud/utils'\r\n\r\nimport type { ColumnType, ICommonColumn } from '../../common'\r\nimport type { FormItemRule } from 'element-plus'\r\n\r\nimport type { ExtractPropTypes } from 'vue'\r\n\r\n// 事件处理\r\ntype EventHandlers = {\r\n [K in `event${string}`]?: (...args: any[]) => any\r\n}\r\n\r\n/**\r\n * @description 公开的form column配置\r\n */\r\nexport interface IFormCommonColumn extends EventHandlers {\r\n /**\r\n * 表单校验规则\r\n */\r\n rules?: FormItemRule[]\r\n /**\r\n * @description 单个标签宽度\r\n */\r\n labelWidth?: string\r\n /**\r\n * @description 表单排序\r\n */\r\n order?: number\r\n /**\r\n * @description 栅栏宽度\r\n */\r\n span?: number\r\n /**\r\n * @description 最大长度\r\n */\r\n maxlength?: number\r\n /**\r\n * @description 是否显示字数统计,仅对type为textarea有效\r\n */\r\n showWordLimit?: boolean\r\n /**\r\n * @description 是否显示密码切换按钮,仅对type为password有效\r\n */\r\n showPassword?: boolean\r\n /**\r\n * @description 默认值\r\n */\r\n value?: any\r\n /**\r\n * @description 占位文本\r\n */\r\n placeholder?: string\r\n}\r\n\r\nexport interface IFormColumn extends ICommonColumn, IFormCommonColumn {\r\n /**\r\n * @description 组件类型\r\n */\r\n type?: ColumnType\r\n}\r\n\r\n/**\r\n * @description 公开的form配置\r\n */\r\nexport interface IFormCommonOption {\r\n /**\r\n * @description 标签宽度\r\n */\r\n labelWidth?: string\r\n}\r\n\r\nexport interface IFormOption extends IFormCommonOption {\r\n /**\r\n * @description 表单列\r\n */\r\n column: IFormColumn[]\r\n}\r\n\r\nexport const formProps = buildProps({\r\n /**\r\n * @description 组件大小\r\n */\r\n size: useSizeProp,\r\n /**\r\n * @description 表单绑定的数据\r\n */\r\n model: {\r\n type: Object,\r\n required: true,\r\n },\r\n /**\r\n * @description 表单加载状态\r\n */\r\n loading: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n /**\r\n * @description 表单权限配置\r\n */\r\n permission: {\r\n type: Object,\r\n default: {},\r\n },\r\n /**\r\n * @description 是否只读\r\n */\r\n readonly: {\r\n type: Boolean,\r\n default: false,\r\n },\r\n /**\r\n * @description 表单配置\r\n */\r\n option: {\r\n type: definePropType<IFormOption>(Object),\r\n required: false,\r\n },\r\n} as const)\r\nexport type FormProps = ExtractPropTypes<typeof formProps>\r\n\r\nexport const formEmits = {}\r\nexport type FormEmits = typeof formEmits\r\n"],"names":[],"mappings":";;;AA+EO,MAAM,YAAY,UAAW,CAAA;AAAA,EAIlC,IAAM,EAAA,WAAA;AAAA,EAIN,KAAO,EAAA;AAAA,IACL,IAAM,EAAA,MAAA;AAAA,IACN,QAAU,EAAA,IAAA;AAAA,GACZ;AAAA,EAIA,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EAIA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,MAAA;AAAA,IACN,SAAS,EAAC;AAAA,GACZ;AAAA,EAIA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EAIA,MAAQ,EAAA;AAAA,IACN,IAAA,EAAM,eAA4B,MAAM,CAAA;AAAA,IACxC,QAAU,EAAA,KAAA;AAAA,GACZ;AACF,CAAU,EAAA;AAGH,MAAM,YAAY;;;;"}
|