@vipl520/dk-ui 1.0.41 → 1.0.44
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/attributes.json +23 -3
- package/dist/index.css +1 -1
- package/dist/index.js +3634 -12985
- package/dist/index.min.js +4 -13
- package/dist/index.min.js.map +1 -1
- package/dist/index.min.mjs +4 -13
- package/dist/index.min.mjs.map +1 -1
- package/dist/index.mjs +785 -10135
- package/dist/tags.json +7 -2
- package/dist/web-types.json +71 -12
- package/es/animate-select/src/animate-select.vue2.mjs +5 -1
- package/es/animate-select/src/animate-select.vue2.mjs.map +1 -1
- package/es/api/attachment.mjs.map +1 -1
- package/es/attachment/src/attachment.vue2.mjs +7 -1
- package/es/attachment/src/attachment.vue2.mjs.map +1 -1
- package/es/attachment-dialog/index.d.ts +9 -0
- package/es/attachment-dialog/src/attachment-dialog.vue.d.ts +9 -0
- package/es/attachment-dialog/src/attachment-dialog.vue2.mjs +3 -2
- package/es/attachment-dialog/src/attachment-dialog.vue2.mjs.map +1 -1
- package/es/attachment-dialog/src/props.d.ts +4 -0
- package/es/attachment-dialog/src/props.mjs +4 -0
- package/es/attachment-dialog/src/props.mjs.map +1 -1
- package/es/audio-list-input/src/audio-list-input.vue2.mjs.map +1 -1
- package/es/box-size-input/src/box-size-input.vue2.mjs +60 -59
- package/es/box-size-input/src/box-size-input.vue2.mjs.map +1 -1
- package/es/box-size-input/style/index.css +1 -1
- package/es/box-size-input/style/index.scss +11 -4
- package/es/dialog/src/dialog.vue2.mjs +3 -1
- package/es/dialog/src/dialog.vue2.mjs.map +1 -1
- package/es/dialog/style/index.scss +1 -0
- package/es/file-input/src/file-input.vue2.mjs.map +1 -1
- package/es/file-list-input/src/file-list-input.vue2.mjs.map +1 -1
- package/es/file-list-input/style/index.css +1 -1
- package/es/file-list-input/style/index.scss +20 -16
- package/es/form/src/form.vue2.mjs.map +1 -1
- package/es/group/src/group.vue2.mjs +5 -13
- package/es/group/src/group.vue2.mjs.map +1 -1
- package/es/hot-area-input/src/component/hot-area-content.vue2.mjs.map +1 -1
- package/es/hot-area-input/src/hot-area-input.vue2.mjs.map +1 -1
- package/es/icon/src/icon.vue2.mjs.map +1 -1
- package/es/icon-input/src/icon-content.vue2.mjs +1 -1
- package/es/icon-input/src/icon-content.vue2.mjs.map +1 -1
- package/es/icon-input/src/icon-input.vue2.mjs.map +1 -1
- package/es/image-list-input/src/image-list-input.vue2.mjs.map +1 -1
- package/es/index.mjs +4 -9
- package/es/index.mjs.map +1 -1
- package/es/page-diy/index.mjs +0 -2
- package/es/page-diy/index.mjs.map +1 -1
- package/es/page-diy/src/components/DiyCloud.vue.mjs.map +1 -1
- package/es/page-diy/src/components/DragBox.vue.mjs +1 -1
- package/es/page-diy/src/components/DragBox.vue.mjs.map +1 -1
- package/es/page-diy/src/components/DragTool.vue.mjs +5 -1
- package/es/page-diy/src/components/DragTool.vue.mjs.map +1 -1
- package/es/page-diy/src/components/PreviewPhone.vue2.mjs.map +1 -1
- package/es/page-diy/src/components/forms/DkEventSelectInput.vue.mjs +11 -9
- package/es/page-diy/src/components/forms/DkEventSelectInput.vue.mjs.map +1 -1
- package/es/page-diy/src/config/base/dkSetting.mjs.map +1 -1
- package/es/page-diy/src/config/rule/min/common/DkMinBlank.mjs +9 -1
- package/es/page-diy/src/config/rule/min/common/DkMinBlank.mjs.map +1 -1
- package/es/page-diy/src/config/rule/min/common/DkMinHotArea.mjs +3 -1
- package/es/page-diy/src/config/rule/min/common/DkMinHotArea.mjs.map +1 -1
- package/es/page-diy/src/config/rule/min/common/DkMinTitle.mjs +36 -6
- package/es/page-diy/src/config/rule/min/common/DkMinTitle.mjs.map +1 -1
- package/es/page-diy/src/config/rule/min/common/DkMinVideo.mjs +6 -2
- package/es/page-diy/src/config/rule/min/common/DkMinVideo.mjs.map +1 -1
- package/es/page-diy/src/config/rule/min/common/index.mjs +8 -1
- package/es/page-diy/src/config/rule/min/common/index.mjs.map +1 -1
- package/es/page-diy/src/config/rule/web/common/DkPosterBtn.mjs +3 -1
- package/es/page-diy/src/config/rule/web/common/DkPosterBtn.mjs.map +1 -1
- package/es/page-diy/src/config/rule/web/common/DkViewBulletChat.mjs.map +1 -1
- package/es/page-diy/src/config/rule/web/common/DkViewDialog.mjs +7 -1
- package/es/page-diy/src/config/rule/web/common/DkViewDialog.mjs.map +1 -1
- package/es/page-diy/src/config/rule/web/common/DkViewVideo.mjs +9 -3
- package/es/page-diy/src/config/rule/web/common/DkViewVideo.mjs.map +1 -1
- package/es/page-diy/src/page-diy.vue.mjs +1 -2
- package/es/page-diy/src/page-diy.vue.mjs.map +1 -1
- package/es/page-diy/src/utils/eventData.mjs.map +1 -1
- package/es/page-diy/src/views/min/DkMinHotArea.vue.mjs +23 -6
- package/es/page-diy/src/views/min/DkMinHotArea.vue.mjs.map +1 -1
- package/es/page-diy/src/views/min/DkMinSwiperImage.vue.mjs.map +1 -1
- package/es/page-diy/src/views/min/DkMinTitle.vue.mjs.map +1 -1
- package/es/page-diy/src/views/web/DkViewBulletChat.vue.mjs.map +1 -1
- package/es/page-diy/src/views/web/DkViewCell.vue.mjs.map +1 -1
- package/es/page-diy/src/views/web/DkViewCommonBtn.vue.mjs +3 -1
- package/es/page-diy/src/views/web/DkViewCommonBtn.vue.mjs.map +1 -1
- package/es/page-diy/src/views/web/DkViewGridCellList.vue.mjs.map +1 -1
- package/es/page-diy/src/views/web/DkViewImage.vue.mjs.map +1 -1
- package/es/page-diy/src/views/web/DkViewMusic.vue.mjs.map +1 -1
- package/es/page-diy/src/views/web/DkViewNoticeBar.vue.mjs.map +1 -1
- package/es/page-diy/src/views/web/DkViewSwipe.vue.mjs.map +1 -1
- package/es/page-diy/src/views/web/DkViewTitle.vue.mjs.map +1 -1
- package/es/page-diy/style/dk-page-diy.css +1 -1
- package/es/page-diy/style/dk-page-diy.scss +1 -1
- package/es/page-diy/style/index.css +1 -1
- package/es/poster-input/src/component/poster.vue2.mjs.map +1 -1
- package/es/poster-input/src/component/views/DkPosterViewAvatar.vue2.mjs.map +1 -1
- package/es/poster-input/src/component/views/DkPosterViewImage.vue2.mjs +5 -2
- package/es/poster-input/src/component/views/DkPosterViewImage.vue2.mjs.map +1 -1
- package/es/poster-input/src/component/views/DkPosterViewName.vue2.mjs.map +1 -1
- package/es/poster-input/src/component/views/DkPosterViewQrcode.vue2.mjs.map +1 -1
- package/es/poster-input/src/component/views/DkPosterViewText.vue2.mjs.map +1 -1
- package/es/poster-input/src/component/views/quick-action.vue2.mjs.map +1 -1
- package/es/poster-input/src/poster-input.vue2.mjs.map +1 -1
- package/es/poster-input/style/index.scss +4 -2
- package/es/select/src/select.vue2.mjs +9 -1
- package/es/select/src/select.vue2.mjs.map +1 -1
- package/es/style-animation-input/src/props.mjs.map +1 -1
- package/es/style-animation-input/src/style-animation-input.vue2.mjs +1 -1
- package/es/style-animation-input/src/style-animation-input.vue2.mjs.map +1 -1
- package/es/style-background-input/index.d.ts +2 -1
- package/es/style-background-input/src/style-background-input.vue.d.ts +2 -1
- package/es/style-background-input/src/style-background-input.vue2.mjs +2 -1
- package/es/style-background-input/src/style-background-input.vue2.mjs.map +1 -1
- package/es/style-border-input/index.d.ts +2 -1
- package/es/style-border-input/src/style-border-input.vue.d.ts +2 -1
- package/es/style-border-input/src/style-border-input.vue2.mjs +56 -39
- package/es/style-border-input/src/style-border-input.vue2.mjs.map +1 -1
- package/es/style-border-input/style/index.css +1 -1
- package/es/style-box-input/index.d.ts +2 -1
- package/es/style-box-input/src/style-box-input.vue.d.ts +2 -1
- package/es/style-box-input/src/style-box-input.vue2.mjs +4 -7
- package/es/style-box-input/src/style-box-input.vue2.mjs.map +1 -1
- package/es/style-font-input/index.d.ts +2 -1
- package/es/style-font-input/src/style-font-input.vue.d.ts +2 -1
- package/es/style-font-input/src/style-font-input.vue2.mjs +10 -27
- package/es/style-font-input/src/style-font-input.vue2.mjs.map +1 -1
- package/es/style-input/src/style-input.vue2.mjs +10 -22
- package/es/style-input/src/style-input.vue2.mjs.map +1 -1
- package/es/style-number-input/src/style-number-input.vue2.mjs.map +1 -1
- package/es/style-position-input/src/style-position-input.vue2.mjs +4 -1
- package/es/style-position-input/src/style-position-input.vue2.mjs.map +1 -1
- package/es/style-shadow-input/index.d.ts +2 -1
- package/es/style-shadow-input/src/style-shadow-content.vue2.mjs +138 -153
- package/es/style-shadow-input/src/style-shadow-content.vue2.mjs.map +1 -1
- package/es/style-shadow-input/src/style-shadow-input.vue.d.ts +2 -1
- package/es/style-shadow-input/src/style-shadow-input.vue2.mjs +2 -1
- package/es/style-shadow-input/src/style-shadow-input.vue2.mjs.map +1 -1
- package/es/table/src/components/ComSearch.vue2.mjs.map +1 -1
- package/es/table/src/components/FieldRender.vue2.mjs.map +1 -1
- package/es/table/src/components/RecycleDialog.vue2.mjs +3 -1
- package/es/table/src/components/RecycleDialog.vue2.mjs.map +1 -1
- package/es/table/src/components/header.vue2.mjs +17 -3
- package/es/table/src/components/header.vue2.mjs.map +1 -1
- package/es/table/src/props.mjs +11 -1
- package/es/table/src/props.mjs.map +1 -1
- package/es/table/src/table.vue2.mjs +13 -3
- package/es/table/src/table.vue2.mjs.map +1 -1
- package/es/table/utils/dkTable.mjs +32 -11
- package/es/table/utils/dkTable.mjs.map +1 -1
- package/es/table/utils/dkTableApi.mjs.map +1 -1
- package/es/tiny-editor/src/tiny-editor.vue2.mjs +4 -2
- package/es/tiny-editor/src/tiny-editor.vue2.mjs.map +1 -1
- package/es/tiny-editor/style/index.css +1 -1
- package/es/tiny-editor/style/index.scss +6 -0
- package/es/video-list-input/src/video-list-input.vue2.mjs.map +1 -1
- package/lib/animate-select/src/animate-select.vue2.js +5 -1
- package/lib/animate-select/src/animate-select.vue2.js.map +1 -1
- package/lib/api/attachment.js.map +1 -1
- package/lib/attachment/src/attachment.vue2.js +7 -1
- package/lib/attachment/src/attachment.vue2.js.map +1 -1
- package/lib/attachment-dialog/index.d.ts +9 -0
- package/lib/attachment-dialog/src/attachment-dialog.vue.d.ts +9 -0
- package/lib/attachment-dialog/src/attachment-dialog.vue2.js +3 -2
- package/lib/attachment-dialog/src/attachment-dialog.vue2.js.map +1 -1
- package/lib/attachment-dialog/src/props.d.ts +4 -0
- package/lib/attachment-dialog/src/props.js +4 -0
- package/lib/attachment-dialog/src/props.js.map +1 -1
- package/lib/audio-list-input/src/audio-list-input.vue2.js.map +1 -1
- package/lib/box-size-input/src/box-size-input.vue2.js +59 -58
- package/lib/box-size-input/src/box-size-input.vue2.js.map +1 -1
- package/lib/box-size-input/style/index.css +1 -1
- package/lib/box-size-input/style/index.scss +11 -4
- package/lib/dialog/src/dialog.vue2.js +3 -1
- package/lib/dialog/src/dialog.vue2.js.map +1 -1
- package/lib/dialog/style/index.scss +1 -0
- package/lib/file-input/src/file-input.vue2.js.map +1 -1
- package/lib/file-list-input/src/file-list-input.vue2.js.map +1 -1
- package/lib/file-list-input/style/index.css +1 -1
- package/lib/file-list-input/style/index.scss +20 -16
- package/lib/form/src/form.vue2.js.map +1 -1
- package/lib/group/src/group.vue2.js +4 -12
- package/lib/group/src/group.vue2.js.map +1 -1
- package/lib/hot-area-input/src/component/hot-area-content.vue2.js.map +1 -1
- package/lib/hot-area-input/src/hot-area-input.vue2.js.map +1 -1
- package/lib/icon/src/icon.vue2.js.map +1 -1
- package/lib/icon-input/src/icon-content.vue2.js +1 -1
- package/lib/icon-input/src/icon-content.vue2.js.map +1 -1
- package/lib/icon-input/src/icon-input.vue2.js.map +1 -1
- package/lib/image-list-input/src/image-list-input.vue2.js.map +1 -1
- package/lib/index.js +4 -9
- package/lib/index.js.map +1 -1
- package/lib/page-diy/index.js +0 -2
- package/lib/page-diy/index.js.map +1 -1
- package/lib/page-diy/src/components/DiyCloud.vue.js.map +1 -1
- package/lib/page-diy/src/components/DragBox.vue.js +1 -1
- package/lib/page-diy/src/components/DragBox.vue.js.map +1 -1
- package/lib/page-diy/src/components/DragTool.vue.js +5 -1
- package/lib/page-diy/src/components/DragTool.vue.js.map +1 -1
- package/lib/page-diy/src/components/PreviewPhone.vue2.js.map +1 -1
- package/lib/page-diy/src/components/forms/DkEventSelectInput.vue.js +11 -9
- package/lib/page-diy/src/components/forms/DkEventSelectInput.vue.js.map +1 -1
- package/lib/page-diy/src/config/base/dkSetting.js.map +1 -1
- package/lib/page-diy/src/config/rule/min/common/DkMinBlank.js +9 -1
- package/lib/page-diy/src/config/rule/min/common/DkMinBlank.js.map +1 -1
- package/lib/page-diy/src/config/rule/min/common/DkMinHotArea.js +3 -1
- package/lib/page-diy/src/config/rule/min/common/DkMinHotArea.js.map +1 -1
- package/lib/page-diy/src/config/rule/min/common/DkMinTitle.js +36 -6
- package/lib/page-diy/src/config/rule/min/common/DkMinTitle.js.map +1 -1
- package/lib/page-diy/src/config/rule/min/common/DkMinVideo.js +6 -2
- package/lib/page-diy/src/config/rule/min/common/DkMinVideo.js.map +1 -1
- package/lib/page-diy/src/config/rule/min/common/index.js +8 -1
- package/lib/page-diy/src/config/rule/min/common/index.js.map +1 -1
- package/lib/page-diy/src/config/rule/web/common/DkPosterBtn.js +3 -1
- package/lib/page-diy/src/config/rule/web/common/DkPosterBtn.js.map +1 -1
- package/lib/page-diy/src/config/rule/web/common/DkViewBulletChat.js.map +1 -1
- package/lib/page-diy/src/config/rule/web/common/DkViewDialog.js +7 -1
- package/lib/page-diy/src/config/rule/web/common/DkViewDialog.js.map +1 -1
- package/lib/page-diy/src/config/rule/web/common/DkViewVideo.js +9 -3
- package/lib/page-diy/src/config/rule/web/common/DkViewVideo.js.map +1 -1
- package/lib/page-diy/src/page-diy.vue.js +1 -2
- package/lib/page-diy/src/page-diy.vue.js.map +1 -1
- package/lib/page-diy/src/utils/eventData.js.map +1 -1
- package/lib/page-diy/src/views/min/DkMinHotArea.vue.js +23 -6
- package/lib/page-diy/src/views/min/DkMinHotArea.vue.js.map +1 -1
- package/lib/page-diy/src/views/min/DkMinSwiperImage.vue.js.map +1 -1
- package/lib/page-diy/src/views/min/DkMinTitle.vue.js.map +1 -1
- package/lib/page-diy/src/views/web/DkViewBulletChat.vue.js.map +1 -1
- package/lib/page-diy/src/views/web/DkViewCell.vue.js.map +1 -1
- package/lib/page-diy/src/views/web/DkViewCommonBtn.vue.js +3 -1
- package/lib/page-diy/src/views/web/DkViewCommonBtn.vue.js.map +1 -1
- package/lib/page-diy/src/views/web/DkViewGridCellList.vue.js.map +1 -1
- package/lib/page-diy/src/views/web/DkViewImage.vue.js.map +1 -1
- package/lib/page-diy/src/views/web/DkViewMusic.vue.js.map +1 -1
- package/lib/page-diy/src/views/web/DkViewNoticeBar.vue.js.map +1 -1
- package/lib/page-diy/src/views/web/DkViewSwipe.vue.js.map +1 -1
- package/lib/page-diy/src/views/web/DkViewTitle.vue.js.map +1 -1
- package/lib/page-diy/style/dk-page-diy.css +1 -1
- package/lib/page-diy/style/dk-page-diy.scss +1 -1
- package/lib/page-diy/style/index.css +1 -1
- package/lib/poster-input/src/component/poster.vue2.js.map +1 -1
- package/lib/poster-input/src/component/views/DkPosterViewAvatar.vue2.js.map +1 -1
- package/lib/poster-input/src/component/views/DkPosterViewImage.vue2.js +5 -2
- package/lib/poster-input/src/component/views/DkPosterViewImage.vue2.js.map +1 -1
- package/lib/poster-input/src/component/views/DkPosterViewName.vue2.js.map +1 -1
- package/lib/poster-input/src/component/views/DkPosterViewQrcode.vue2.js.map +1 -1
- package/lib/poster-input/src/component/views/DkPosterViewText.vue2.js.map +1 -1
- package/lib/poster-input/src/component/views/quick-action.vue2.js.map +1 -1
- package/lib/poster-input/src/poster-input.vue2.js.map +1 -1
- package/lib/poster-input/style/index.scss +4 -2
- package/lib/select/src/select.vue2.js +9 -1
- package/lib/select/src/select.vue2.js.map +1 -1
- package/lib/style-animation-input/src/props.js.map +1 -1
- package/lib/style-animation-input/src/style-animation-input.vue2.js +1 -1
- package/lib/style-animation-input/src/style-animation-input.vue2.js.map +1 -1
- package/lib/style-background-input/index.d.ts +2 -1
- package/lib/style-background-input/src/style-background-input.vue.d.ts +2 -1
- package/lib/style-background-input/src/style-background-input.vue2.js +2 -1
- package/lib/style-background-input/src/style-background-input.vue2.js.map +1 -1
- package/lib/style-border-input/index.d.ts +2 -1
- package/lib/style-border-input/src/style-border-input.vue.d.ts +2 -1
- package/lib/style-border-input/src/style-border-input.vue2.js +56 -39
- package/lib/style-border-input/src/style-border-input.vue2.js.map +1 -1
- package/lib/style-border-input/style/index.css +1 -1
- package/lib/style-box-input/index.d.ts +2 -1
- package/lib/style-box-input/src/style-box-input.vue.d.ts +2 -1
- package/lib/style-box-input/src/style-box-input.vue2.js +4 -7
- package/lib/style-box-input/src/style-box-input.vue2.js.map +1 -1
- package/lib/style-font-input/index.d.ts +2 -1
- package/lib/style-font-input/src/style-font-input.vue.d.ts +2 -1
- package/lib/style-font-input/src/style-font-input.vue2.js +10 -27
- package/lib/style-font-input/src/style-font-input.vue2.js.map +1 -1
- package/lib/style-input/src/style-input.vue2.js +9 -21
- package/lib/style-input/src/style-input.vue2.js.map +1 -1
- package/lib/style-number-input/src/style-number-input.vue2.js.map +1 -1
- package/lib/style-position-input/src/style-position-input.vue2.js +4 -1
- package/lib/style-position-input/src/style-position-input.vue2.js.map +1 -1
- package/lib/style-shadow-input/index.d.ts +2 -1
- package/lib/style-shadow-input/src/style-shadow-content.vue2.js +138 -153
- package/lib/style-shadow-input/src/style-shadow-content.vue2.js.map +1 -1
- package/lib/style-shadow-input/src/style-shadow-input.vue.d.ts +2 -1
- package/lib/style-shadow-input/src/style-shadow-input.vue2.js +2 -1
- package/lib/style-shadow-input/src/style-shadow-input.vue2.js.map +1 -1
- package/lib/table/src/components/ComSearch.vue2.js.map +1 -1
- package/lib/table/src/components/FieldRender.vue2.js.map +1 -1
- package/lib/table/src/components/RecycleDialog.vue2.js +3 -1
- package/lib/table/src/components/RecycleDialog.vue2.js.map +1 -1
- package/lib/table/src/components/header.vue2.js +17 -3
- package/lib/table/src/components/header.vue2.js.map +1 -1
- package/lib/table/src/props.js +11 -1
- package/lib/table/src/props.js.map +1 -1
- package/lib/table/src/table.vue2.js +13 -3
- package/lib/table/src/table.vue2.js.map +1 -1
- package/lib/table/utils/dkTable.js +32 -11
- package/lib/table/utils/dkTable.js.map +1 -1
- package/lib/table/utils/dkTableApi.js.map +1 -1
- package/lib/tiny-editor/src/tiny-editor.vue2.js +4 -2
- package/lib/tiny-editor/src/tiny-editor.vue2.js.map +1 -1
- package/lib/tiny-editor/style/index.css +1 -1
- package/lib/tiny-editor/style/index.scss +6 -0
- package/lib/video-list-input/src/video-list-input.vue2.js.map +1 -1
- package/package.json +3 -2
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"box-size-input.vue2.mjs","sources":["../../../src/box-size-input/src/box-size-input.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as __MACROS_defineComponent } from \"vue\";\nexport default /*#__PURE__*/ __MACROS_defineComponent({\n name: 'DkBoxSizeInput',\n});\n</script>\n<template>\n <div ref=\"el\" class=\"dk-box-size-input\">\n <div v-show=\"!isMerge\" :class=\"width.value < 500 ? '' : 'flex'\">\n <el-input\n v-for=\"(item, key) in inputList\"\n :key=\"key\"\n v-model=\"positions[item.position]\"\n type=\"number\"\n :controls=\"false\"\n :disabled=\"unit[item.position] == 'auto'\"\n >\n <template v-if=\"width.value > 600 || width.value < 500\" #prefix>\n <span\n class=\"w-resize\"\n @mousemove=\"handleMouseMove\"\n @mousedown=\"handleMouseDown(item.position, $event)\"\n @mouseup=\"handleMouseUp\"\n >\n <el-tooltip\n :hide-after=\"0\"\n class=\"item\"\n effect=\"dark\"\n :content=\"item.name\"\n placement=\"top-start\"\n :disabled=\"disabledTooltip\"\n >\n <dk-icon :icon=\"item.icon\" />\n </el-tooltip>\n </span>\n </template>\n <template #append>\n <el-select-v2 v-model=\"unit[item.position]\" :options=\"options\"> </el-select-v2>\n </template>\n </el-input>\n </div>\n <div v-show=\"isMerge\">\n <el-input\n v-model=\"positions.all\"\n type=\"number\"\n :controls=\"false\"\n :disabled=\"unit.all === 'auto'\"\n :clearable=\"props.clearable\"\n >\n <template #prefix>\n <span\n class=\"w-resize\"\n @mousemove=\"handleMouseMove\"\n @mousedown=\"handleMouseDown('all', $event)\"\n @mouseup=\"handleMouseUp\"\n >\n <dk-icon icon=\"Rank\"></dk-icon>\n </span>\n </template>\n <template #append>\n <el-select-v2 v-model=\"unit.all\" :options=\"options\"> </el-select-v2>\n </template>\n </el-input>\n </div>\n <div v-if=\"props.showMerge\" class=\"dk-full\" @click=\"isMerge = !isMerge\">\n <el-tooltip\n class=\"item\"\n effect=\"dark\"\n :content=\"isMerge ? '独立配置' : '批量配置'\"\n placement=\"top\"\n :hide-after=\"0\"\n >\n <el-button v-if=\"isMerge\">\n <dk-icon icon=\"streamline:interface-layout-border-horizontal-border-cell-center-format-formatting\"></dk-icon>\n </el-button>\n <el-button v-else>\n <dk-icon icon=\"streamline:interface-layout-border-full-grid-layout-layouts-module\"></dk-icon>\n </el-button>\n </el-tooltip>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { boxSizeInputProps } from './props'\nimport { computed, onMounted, reactive, ref, watch } from 'vue'\nimport { useElementSize } from '@vueuse/core'\n\n\nconst props = defineProps(boxSizeInputProps)\nconst el: any = ref()\nconst { width } = useElementSize(el) // 当前组件宽度\n// First, second, third, fourth\nconst positions: any = reactive({\n all: '',\n // 一般用于padding、margin、border\n first: '',\n second: '',\n third: '',\n fourth: '',\n // 一般用于radius\n})\n\nconst unit: any = reactive({\n all: 'px',\n first: 'rem',\n second: 'px',\n third: 'px',\n fourth: 'px',\n})\n\nconst units = ['px', '%', 'rem', 'rm', 'vh', 'auto']\nconst position = ref('')\nconst isMerge = ref(props.defaultIsMerge)\nconst isDragging = ref(false)\nconst startX = ref(0)\nconst disabledTooltip = ref(false)\nconst trackMouseBound: any = ref(null)\nconst stopChangeBound: any = ref(null)\n\nconst options = computed(() => {\n return units.map((item) => {\n return {\n label: item,\n value: item,\n }\n })\n})\n\nconst inputList = computed(() => {\n let list: any[]\n if (props.type === 'radius') {\n list = [\n {\n position: 'first',\n name: '左上',\n icon: 'ant-design:radius-upleft-outlined',\n },\n {\n position: 'second',\n name: '右上',\n icon: 'ant-design:radius-upright-outlined',\n },\n {\n position: 'fourth',\n name: '左下',\n icon: 'ant-design:radius-bottomleft-outlined',\n },\n {\n position: 'third',\n name: '左下',\n icon: 'ant-design:radius-bottomright-outlined',\n },\n ]\n } else {\n list = [\n { position: 'first', name: '上', icon: 'ArrowUp' },\n { position: 'second', name: '右', icon: 'ArrowRight' },\n { position: 'third', name: '下', icon: 'ArrowDown' },\n { position: 'fourth', name: '左', icon: 'ArrowLeft' },\n ]\n }\n return list\n})\nconst emit = defineEmits(['update:modelValue'])\n\nconst handleMouseDown = (_position: any, event: any) => {\n isDragging.value = true\n startX.value = event.clientX\n position.value = _position\n trackMouseBound.value = handleMouseMove.bind(event)\n stopChangeBound.value = handleMouseUp.bind(event)\n document.addEventListener('mousemove', trackMouseBound.value)\n document.addEventListener('mouseup', stopChangeBound.value)\n document.body.style.cursor = 'ew-resize'\n}\n\nconst handleMouseMove = (event: any) => {\n if (isDragging.value) {\n positions[position.value] = event.clientX - startX.value\n }\n}\n\nconst handleMouseUp = () => {\n document.removeEventListener('mousemove', trackMouseBound.value)\n document.removeEventListener('mouseup', stopChangeBound.value)\n document.body.style.cursor = 'default'\n isDragging.value = false\n position.value = ''\n}\n\nconst initValue = () => {\n const getUnit = (value: string) => {\n let unit = 'px'\n units.forEach((item) => {\n if (value.includes(item)) {\n unit = item\n }\n })\n return unit\n }\n\n const arr = props.modelValue.split(' ') || ['0px']\n let [first, second = first, third = first, fourth = second] = arr\n\n if (arr.length === 4) {\n isMerge.value = false\n } else if (arr.length === 3) {\n isMerge.value = false\n fourth = ''\n } else if (arr.length === 2) {\n isMerge.value = false\n third = first\n fourth = second\n } else {\n isMerge.value = true\n second = third = fourth = first\n }\n\n const positionValues: any = { first, second, third, fourth }\n for (const pos in positionValues) {\n positions[pos] = parseInt(positionValues[pos]) || 0\n unit[pos] = getUnit(positionValues[pos])\n }\n\n if (isMerge.value) {\n positions.all = positions.first\n unit.all = unit.first\n }\n}\n\n// 值的初始化\nwatch(\n () => props.modelValue,\n () => {\n initValue()\n }\n)\n\n// const sizeValue = computed(() => {\n// if (isMerge.value) {\n// if (unit.all === 'auto') {\n// return 'auto'\n// // emit('update:modelValue', 'auto')\n// } else {\n// // emit('update:modelValue', `${positions.all}${unit.all}`)\n// return `${positions.all}${unit.all}`\n// }\n// } else {\n// // 如果有一个值为auto,则为auto\n// let value = ''\n// for (const pos in unit) {\n// if (pos === 'all') continue\n// if (unit[pos] === 'auto') {\n// value += 'auto '\n// } else {\n// value += `${positions[pos]}${unit[pos]} `\n// }\n// }\n// // emit('update:modelValue', value.trim())\n// return value.trim()\n// }\n// })\n\nconst emitValue = () => {\n if (isMerge.value) {\n if (unit.all === 'auto') {\n emit('update:modelValue', 'auto')\n } else {\n emit('update:modelValue', `${positions.all}${unit.all}`)\n }\n } else {\n // 如果有一个值为auto,则为auto\n let value = ''\n for (const pos in unit) {\n if (pos === 'all') continue\n if (unit[pos] === 'auto') {\n value += 'auto '\n } else {\n value += `${positions[pos]}${unit[pos]} `\n }\n }\n emit('update:modelValue', value.trim())\n }\n}\n\nwatch(positions, () => {\n emitValue()\n})\nwatch(isMerge, () => {\n emitValue()\n})\nwatch(unit, () => {\n emitValue()\n})\n\n// watch(sizeValue, () => {\n// console.log('sizeValue', sizeValue)\n// emit('update:modelValue', sizeValue)\n// })\n\nonMounted(() => {\n initValue()\n})\n</script>\n"],"names":["__MACROS_defineComponent","unit"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"box-size-input.vue2.mjs","sources":["../../../src/box-size-input/src/box-size-input.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as __MACROS_defineComponent } from \"vue\";\nexport default /*#__PURE__*/ __MACROS_defineComponent({\n name: 'DkBoxSizeInput',\n});\n</script>\n<template>\n <div ref=\"el\" class=\"dk-box-size-input\">\n <div v-show=\"!isMerge\" :class=\"width > 500 ? '' : ''\">\n <div v-for=\"(item, key) in inputList\" :key=\"key\" style=\"display: flex\">\n <el-input\n v-model=\"positions[item.position]\"\n type=\"number\"\n :controls=\"false\"\n :disabled=\"unit[item.position] == 'auto'\"\n >\n <template v-if=\"width > 600 || width < 500\" #prefix>\n <span\n class=\"w-resize\"\n @mousemove=\"handleMouseMove\"\n @mousedown=\"handleMouseDown(item.position, $event)\"\n @mouseup=\"handleMouseUp\"\n >\n <el-tooltip\n :hide-after=\"0\"\n class=\"item\"\n effect=\"dark\"\n :content=\"item.name\"\n placement=\"top-start\"\n :disabled=\"disabledTooltip\"\n >\n <dk-icon :icon=\"item.icon\" />\n </el-tooltip>\n </span>\n </template>\n <!-- <template #append>-->\n <!-- <el-select-v2 v-model=\"unit[item.position]\" :options=\"options\">-->\n <!-- </el-select-v2>-->\n <!-- </template>-->\n </el-input>\n <el-select-v2 v-model=\"unit[item.position]\" :options=\"options\"> </el-select-v2>\n </div>\n </div>\n <div v-show=\"isMerge\" style=\"display: flex\">\n <el-input\n v-model=\"positions.all\"\n type=\"number\"\n :controls=\"false\"\n :disabled=\"unit.all === 'auto'\"\n :clearable=\"props.clearable\"\n >\n <template #prefix>\n <span\n class=\"w-resize\"\n @mousemove=\"handleMouseMove\"\n @mousedown=\"handleMouseDown('all', $event)\"\n @mouseup=\"handleMouseUp\"\n >\n <dk-icon icon=\"Rank\"></dk-icon>\n </span>\n </template>\n </el-input>\n <el-select-v2 v-model=\"unit.all\" :options=\"options\"> </el-select-v2>\n </div>\n <div v-if=\"props.showMerge\" class=\"dk-full\" @click=\"isMerge = !isMerge\">\n <el-tooltip\n class=\"item\"\n effect=\"dark\"\n :content=\"isMerge ? '独立配置' : '批量配置'\"\n placement=\"top\"\n :hide-after=\"0\"\n >\n <el-button v-if=\"isMerge\">\n <dk-icon icon=\"streamline:interface-layout-border-horizontal-border-cell-center-format-formatting\"></dk-icon>\n </el-button>\n <el-button v-else>\n <dk-icon icon=\"streamline:interface-layout-border-full-grid-layout-layouts-module\"></dk-icon>\n </el-button>\n </el-tooltip>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { boxSizeInputProps } from './props'\nimport { computed, onMounted, reactive, ref, watch } from 'vue'\nimport { useElementSize } from '@vueuse/core'\n\n\nconst props = defineProps(boxSizeInputProps)\nconst el: any = ref()\nconst { width } = useElementSize(el) // 当前组件宽度\n// First, second, third, fourth\nconst positions: any = reactive({\n all: '',\n // 一般用于padding、margin、border\n first: '',\n second: '',\n third: '',\n fourth: '',\n // 一般用于radius\n})\n\nconst unit: any = reactive({\n all: 'px',\n first: 'rem',\n second: 'px',\n third: 'px',\n fourth: 'px',\n})\n\nconst units = ['px', '%', 'rem', 'rm', 'vh', 'auto']\nconst position = ref('')\nconst isMerge = ref(props.defaultIsMerge)\nconst isDragging = ref(false)\nconst startX = ref(0)\nconst disabledTooltip = ref(false)\nconst trackMouseBound: any = ref(null)\nconst stopChangeBound: any = ref(null)\n\nconst options = computed(() => {\n return units.map((item) => {\n return {\n label: item,\n value: item,\n }\n })\n})\n\nconst inputList = computed(() => {\n let list: any[]\n if (props.type === 'radius') {\n list = [\n {\n position: 'first',\n name: '左上',\n icon: 'ant-design:radius-upleft-outlined',\n },\n {\n position: 'second',\n name: '右上',\n icon: 'ant-design:radius-upright-outlined',\n },\n {\n position: 'fourth',\n name: '左下',\n icon: 'ant-design:radius-bottomleft-outlined',\n },\n {\n position: 'third',\n name: '左下',\n icon: 'ant-design:radius-bottomright-outlined',\n },\n ]\n } else {\n list = [\n { position: 'first', name: '上', icon: 'ArrowUp' },\n { position: 'second', name: '右', icon: 'ArrowRight' },\n { position: 'third', name: '下', icon: 'ArrowDown' },\n { position: 'fourth', name: '左', icon: 'ArrowLeft' },\n ]\n }\n return list\n})\nconst emit = defineEmits(['update:modelValue'])\n\nconst handleMouseDown = (_position: any, event: any) => {\n isDragging.value = true\n startX.value = event.clientX\n position.value = _position\n trackMouseBound.value = handleMouseMove.bind(event)\n stopChangeBound.value = handleMouseUp.bind(event)\n document.addEventListener('mousemove', trackMouseBound.value)\n document.addEventListener('mouseup', stopChangeBound.value)\n document.body.style.cursor = 'ew-resize'\n}\n\nconst handleMouseMove = (event: any) => {\n if (isDragging.value) {\n positions[position.value] = event.clientX - startX.value\n }\n}\n\nconst handleMouseUp = () => {\n document.removeEventListener('mousemove', trackMouseBound.value)\n document.removeEventListener('mouseup', stopChangeBound.value)\n document.body.style.cursor = 'default'\n isDragging.value = false\n position.value = ''\n}\n\nconst initValue = () => {\n const getUnit = (value: string) => {\n let unit = 'px'\n units.forEach((item) => {\n if (value.includes(item)) {\n unit = item\n }\n })\n return unit\n }\n\n const arr = props.modelValue.split(' ') || ['0px']\n let [first, second = first, third = first, fourth = second] = arr\n\n if (arr.length === 4) {\n isMerge.value = false\n } else if (arr.length === 3) {\n isMerge.value = false\n fourth = ''\n } else if (arr.length === 2) {\n isMerge.value = false\n third = first\n fourth = second\n } else {\n isMerge.value = true\n second = third = fourth = first\n }\n\n const positionValues: any = { first, second, third, fourth }\n for (const pos in positionValues) {\n positions[pos] = parseInt(positionValues[pos]) || 0\n unit[pos] = getUnit(positionValues[pos])\n }\n\n if (isMerge.value) {\n positions.all = positions.first\n unit.all = unit.first\n }\n}\n\n// 值的初始化\nwatch(\n () => props.modelValue,\n () => {\n initValue()\n }\n)\n\n// const sizeValue = computed(() => {\n// if (isMerge.value) {\n// if (unit.all === 'auto') {\n// return 'auto'\n// // emit('update:modelValue', 'auto')\n// } else {\n// // emit('update:modelValue', `${positions.all}${unit.all}`)\n// return `${positions.all}${unit.all}`\n// }\n// } else {\n// // 如果有一个值为auto,则为auto\n// let value = ''\n// for (const pos in unit) {\n// if (pos === 'all') continue\n// if (unit[pos] === 'auto') {\n// value += 'auto '\n// } else {\n// value += `${positions[pos]}${unit[pos]} `\n// }\n// }\n// // emit('update:modelValue', value.trim())\n// return value.trim()\n// }\n// })\n\nconst emitValue = () => {\n if (isMerge.value) {\n if (unit.all === 'auto') {\n emit('update:modelValue', 'auto')\n } else {\n emit('update:modelValue', `${positions.all}${unit.all}`)\n }\n } else {\n // 如果有一个值为auto,则为auto\n let value = ''\n for (const pos in unit) {\n if (pos === 'all') continue\n if (unit[pos] === 'auto') {\n value += 'auto '\n } else {\n value += `${positions[pos]}${unit[pos]} `\n }\n }\n emit('update:modelValue', value.trim())\n }\n}\n\nwatch(positions, () => {\n emitValue()\n})\nwatch(isMerge, () => {\n emitValue()\n})\nwatch(unit, () => {\n emitValue()\n})\n\n// watch(sizeValue, () => {\n// console.log('sizeValue', sizeValue)\n// emit('update:modelValue', sizeValue)\n// })\n\nonMounted(() => {\n initValue()\n})\n</script>\n"],"names":["__MACROS_defineComponent","unit"],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
.dk-box-size-input{display:flex;
|
1
|
+
.dk-box-size-input{display:flex;align-items:flex-start;justify-content:space-between;width:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none}.dk-box-size-input .alone{display:flex}.dk-box-size-input .w-resize{display:flex;align-items:center;cursor:w-resize}.dk-box-size-input .el-input-group__append{padding:0}.dk-box-size-input .el-select-v2__suffix{display:none}.dk-box-size-input .el-select-v2__placeholder{width:100%}.dk-box-size-input .el-virtual-scrollbar{right:0!important;width:2px!important}
|
@@ -1,27 +1,34 @@
|
|
1
1
|
.dk-box-size-input {
|
2
2
|
display: flex;
|
3
|
-
|
4
|
-
|
3
|
+
align-items: flex-start;
|
4
|
+
justify-content: space-between;
|
5
|
+
width: 100%;
|
5
6
|
user-select: none;
|
7
|
+
|
6
8
|
.alone {
|
7
9
|
display: flex;
|
8
10
|
}
|
11
|
+
|
9
12
|
.w-resize {
|
10
|
-
cursor: w-resize;
|
11
13
|
display: flex;
|
12
14
|
align-items: center;
|
15
|
+
cursor: w-resize;
|
13
16
|
}
|
17
|
+
|
14
18
|
.el-input-group__append {
|
15
19
|
padding: 0;
|
16
20
|
}
|
21
|
+
|
17
22
|
.el-select-v2__suffix {
|
18
23
|
display: none;
|
19
24
|
}
|
25
|
+
|
20
26
|
.el-select-v2__placeholder {
|
21
27
|
width: 100%;
|
22
28
|
}
|
29
|
+
|
23
30
|
.el-virtual-scrollbar {
|
24
|
-
width: 2px !important;
|
25
31
|
right: 0 !important;
|
32
|
+
width: 2px !important;
|
26
33
|
}
|
27
34
|
}
|
@@ -35,7 +35,9 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
35
35
|
const toggleFull = () => {
|
36
36
|
isFullscreen.value = !unref(isFullscreen);
|
37
37
|
};
|
38
|
-
const dialogHeight = ref(
|
38
|
+
const dialogHeight = ref(
|
39
|
+
isNumber(props.maxHeight) ? `${props.maxHeight}px` : props.maxHeight
|
40
|
+
);
|
39
41
|
watch(
|
40
42
|
() => isFullscreen.value,
|
41
43
|
async (val) => {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"dialog.vue2.mjs","sources":["../../../src/dialog/src/dialog.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as __MACROS_defineComponent } from \"vue\";\nexport default /*#__PURE__*/ __MACROS_defineComponent({\n name: 'DkDialog',\n});\n</script>\n<template>\n <ElDialog\n v-bind=\"getBindValue\"\n :fullscreen=\"isFullscreen\"\n destroy-on-close\n append-to-body\n lock-scroll\n :draggable=\"draggable\"\n :close-on-click-modal=\"false\"\n :show-close=\"false\"\n class=\"dk-dialog\"\n :z-index=\"props.zIndex\"\n >\n <template #header=\"{ close }\">\n <slot name=\"header\">\n <div class=\"flex justify-between items-center relative\">\n <span>{{ props.title }}</span>\n <div
|
1
|
+
{"version":3,"file":"dialog.vue2.mjs","sources":["../../../src/dialog/src/dialog.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as __MACROS_defineComponent } from \"vue\";\nexport default /*#__PURE__*/ __MACROS_defineComponent({\n name: 'DkDialog',\n});\n</script>\n<template>\n <ElDialog\n v-bind=\"getBindValue\"\n :fullscreen=\"isFullscreen\"\n destroy-on-close\n append-to-body\n lock-scroll\n :draggable=\"draggable\"\n :close-on-click-modal=\"false\"\n :show-close=\"false\"\n class=\"dk-dialog\"\n :z-index=\"props.zIndex\"\n >\n <template #header=\"{ close }\">\n <slot name=\"header\">\n <div class=\"flex justify-between items-center relative\">\n <span>{{ props.title }}</span>\n <div\n class=\"flex justify-between items-center absolute top-[50%] right-0 translate-y-[-50%]\"\n >\n <dk-icon\n v-if=\"fullscreen\"\n class=\"cursor-pointer is-hover mr-10px\"\n :icon=\"\n isFullscreen\n ? 'radix-icons:exit-full-screen'\n : 'radix-icons:enter-full-screen'\n \"\n color=\"var(--el-color-info)\"\n hover-color=\"var(--el-color-primary)\"\n @click=\"toggleFull\"\n />\n <dk-icon\n class=\"cursor-pointer is-hover\"\n icon=\"ep:close\"\n hover-color=\"var(--el-color-primary)\"\n color=\"var(--el-color-info)\"\n @click=\"close\"\n />\n </div>\n </div>\n </slot>\n </template>\n\n <ElScrollbar :style=\"dialogStyle\">\n <slot></slot>\n </ElScrollbar>\n\n <template v-if=\"slots.footer\" #footer>\n <slot name=\"footer\"></slot>\n </template>\n </ElDialog>\n</template>\n\n<script lang=\"ts\" setup>\nimport { createNamespace, isNumber } from '@vipl520/utils'\nimport { dialogProps } from './props'\nimport { computed, useAttrs, ref, unref, useSlots, watch, nextTick } from 'vue'\n\nconst [_, bem] = createNamespace('dialog')\n\n\nconst slots = useSlots()\n\nconst props = defineProps(dialogProps)\n\nconst getBindValue = computed(() => {\n const delArr: string[] = ['fullscreen', 'title', 'maxHeight']\n const attrs = useAttrs()\n const obj: { [key: string]: any } = { ...attrs, ...props }\n for (const key in obj) {\n if (delArr.indexOf(key) !== -1) {\n delete obj[key] as any\n }\n }\n return obj\n})\nconst isFullscreen = ref(props.defaultFullscreen)\n\nwatch(\n () => props.defaultFullscreen,\n () => {\n isFullscreen.value = props.defaultFullscreen\n }\n)\n\nconst toggleFull = () => {\n isFullscreen.value = !unref(isFullscreen)\n}\n\nconst dialogHeight = ref(\n isNumber(props.maxHeight) ? `${props.maxHeight}px` : props.maxHeight\n)\n\nwatch(\n () => isFullscreen.value,\n async (val: boolean) => {\n await nextTick()\n if (val) {\n const windowHeight = document.documentElement.offsetHeight\n dialogHeight.value = `${\n windowHeight - 55 - 60 - (slots.footer ? 63 : 0)\n }px`\n } else {\n dialogHeight.value = isNumber(props.maxHeight)\n ? `${props.maxHeight}px`\n : props.maxHeight\n }\n },\n {\n immediate: true,\n }\n)\n\nconst dialogStyle = computed(() => {\n return {\n maxHeight: unref(dialogHeight),\n }\n})\n</script>\n"],"names":["__MACROS_defineComponent"],"mappings":";;;;;;AAEA,MAA6B,cAAAA,eAAyB,CAAA;AAAA,EACpD,IAAM,EAAA,UAAA;AACR,CAAC,CAAA,CAAA;;;;;;AA6DD,IAAA,MAAM,CAAC,CAAA,EAAG,GAAG,CAAA,GAAI,gBAAgB,QAAQ,CAAA,CAAA;AAGzC,IAAA,MAAM,QAAQ,QAAS,EAAA,CAAA;AAIvB,IAAM,MAAA,YAAA,GAAe,SAAS,MAAM;AAClC,MAAA,MAAM,MAAmB,GAAA,CAAC,YAAc,EAAA,OAAA,EAAS,WAAW,CAAA,CAAA;AAC5D,MAAA,MAAM,QAAQ,QAAS,EAAA,CAAA;AACvB,MAAA,MAAM,GAA8B,GAAA,EAAE,GAAG,KAAA,EAAO,GAAG,KAAM,EAAA,CAAA;AACzD,MAAA,KAAA,MAAW,OAAO,GAAK,EAAA;AACrB,QAAA,IAAI,MAAO,CAAA,OAAA,CAAQ,GAAG,CAAA,KAAM,CAAI,CAAA,EAAA;AAC9B,UAAA,OAAO,IAAI,GAAG,CAAA,CAAA;AAAA,SAChB;AAAA,OACF;AACA,MAAO,OAAA,GAAA,CAAA;AAAA,KACR,CAAA,CAAA;AACD,IAAM,MAAA,YAAA,GAAe,GAAI,CAAA,KAAA,CAAM,iBAAiB,CAAA,CAAA;AAEhD,IAAA,KAAA;AAAA,MACE,MAAM,KAAM,CAAA,iBAAA;AAAA,MACZ,MAAM;AACJ,QAAA,YAAA,CAAa,QAAQ,KAAM,CAAA,iBAAA,CAAA;AAAA,OAC7B;AAAA,KACF,CAAA;AAEA,IAAA,MAAM,aAAa,MAAM;AACvB,MAAa,YAAA,CAAA,KAAA,GAAQ,CAAC,KAAA,CAAM,YAAY,CAAA,CAAA;AAAA,KAC1C,CAAA;AAEA,IAAA,MAAM,YAAe,GAAA,GAAA;AAAA,MACnB,QAAA,CAAS,MAAM,SAAS,CAAA,GAAI,GAAG,KAAM,CAAA,SAAS,OAAO,KAAM,CAAA,SAAA;AAAA,KAC7D,CAAA;AAEA,IAAA,KAAA;AAAA,MACE,MAAM,YAAa,CAAA,KAAA;AAAA,MACnB,OAAO,GAAiB,KAAA;AACtB,QAAA,MAAM,QAAS,EAAA,CAAA;AACf,QAAA,IAAI,GAAK,EAAA;AACP,UAAM,MAAA,YAAA,GAAe,SAAS,eAAgB,CAAA,YAAA,CAAA;AAC9C,UAAa,YAAA,CAAA,KAAA,GAAQ,GACnB,YAAe,GAAA,EAAA,GAAK,MAAM,KAAM,CAAA,MAAA,GAAS,KAAK,CAChD,CAAA,CAAA,EAAA,CAAA,CAAA;AAAA,SACK,MAAA;AACL,UAAa,YAAA,CAAA,KAAA,GAAQ,SAAS,KAAM,CAAA,SAAS,IACzC,CAAG,EAAA,KAAA,CAAM,SAAS,CAAA,EAAA,CAAA,GAClB,KAAM,CAAA,SAAA,CAAA;AAAA,SACZ;AAAA,OACF;AAAA,MACA;AAAA,QACE,SAAW,EAAA,IAAA;AAAA,OACb;AAAA,KACF,CAAA;AAEA,IAAM,MAAA,WAAA,GAAc,SAAS,MAAM;AACjC,MAAO,OAAA;AAAA,QACL,SAAA,EAAW,MAAM,YAAY,CAAA;AAAA,OAC/B,CAAA;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"file-input.vue2.mjs","sources":["../../../src/file-input/src/file-input.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as __MACROS_defineComponent } from \"vue\";\nexport default /*#__PURE__*/ __MACROS_defineComponent({\n name: 'DkFileInput',\n});\n</script>\n<template>\n <div :class=\"bem()\">\n <!--↓↓↓↓显示input框↓↓↓↓-->\n <template v-if=\"showInput\">\n <el-input v-model=\"input\" :placeholder=\"placeholder\" clearable>\n <template #append>\n <el-button @click=\"onClick\">选择</el-button>\n </template>\n </el-input>\n <!--选择的是图片-->\n <div class=\"show m-t-5px\">\n <el-image
|
1
|
+
{"version":3,"file":"file-input.vue2.mjs","sources":["../../../src/file-input/src/file-input.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as __MACROS_defineComponent } from \"vue\";\nexport default /*#__PURE__*/ __MACROS_defineComponent({\n name: 'DkFileInput',\n});\n</script>\n<template>\n <div :class=\"bem()\">\n <!--↓↓↓↓显示input框↓↓↓↓-->\n <template v-if=\"showInput\">\n <el-input v-model=\"input\" :placeholder=\"placeholder\" clearable>\n <template #append>\n <el-button @click=\"onClick\">选择</el-button>\n </template>\n </el-input>\n <!--选择的是图片-->\n <div class=\"show m-t-5px\">\n <el-image\n v-if=\"type === 1\"\n :src=\"input\"\n alt=\"\"\n fit=\"contain\"\n class=\"file rd-4px\"\n :preview-src-list=\"[input]\"\n >\n <template #error>\n <div class=\"image-error\">\n <dk-icon icon=\"Picture\"></dk-icon>\n </div>\n </template>\n </el-image>\n <dk-file-icon\n v-else\n :file-url=\"input\"\n class=\"file rd-4px\"\n :type=\"type\"\n />\n <em @click=\"input = ''\">\n <dk-icon icon=\"Close\"></dk-icon>\n </em>\n </div>\n </template>\n <!--↓↓↓↓不显示input框↓↓↓↓-->\n <template v-else>\n <div\n class=\"only-img flex justify-center items-center\"\n style=\"position: relative\"\n :style=\"{ width: imgSize + 'px', height: imgSize + 'px' }\"\n @click=\"onClick\"\n >\n <template v-if=\"input\">\n <!--图片附件-->\n <el-image\n v-if=\"type === 1\"\n :src=\"input\"\n alt=\"\"\n fit=\"contain\"\n style=\"width: 100%; height: 100%\"\n >\n <template #error>\n <div class=\"image-slot\">\n <div class=\"no-image\">\n <el-icon><Picture /></el-icon>\n </div>\n </div>\n </template>\n </el-image>\n <!--其他附件-->\n <template v-if=\"type !== 1 && input\">\n <dk-file-icon :file-url=\"input\" class=\"file rd-4px\" :type=\"type\" />\n </template>\n <div class=\"close\" @click.stop=\"onClear()\">\n <el-icon><Close /></el-icon>\n </div>\n </template>\n <!--没有上传的时候-->\n <template v-else>\n <div\n class=\"media\"\n :style=\"{\n lineHeight: imgSize + 'px',\n fontSize: imgSize / 2 + 'px',\n }\"\n >\n <el-icon><Plus /></el-icon>\n </div>\n </template>\n </div>\n </template>\n <dk-attachment-dialog\n ref=\"attachmentDialog\"\n :type=\"type\"\n @confirm=\"onConfirm\"\n />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { createNamespace } from '@vipl520/utils'\nimport { fileInputProps } from './props'\nimport { ref, watch } from 'vue'\nimport DkFileIcon from '../../attachment/src/file-icon.vue'\n\nconst [_, bem] = createNamespace('file-input')\n\n\n\nconst props = defineProps(fileInputProps)\nconst input = ref(props.modelValue)\nconst attachmentDialog = ref()\n\nconst emit = defineEmits(['input', 'update:modelValue', 'change'])\nwatch(\n () => props.modelValue,\n (val) => {\n input.value = val\n }\n)\n\nwatch(\n () => input.value,\n (val) => {\n handleInput(val)\n }\n)\n\nconst handleInput = (val: any) => {\n emit('update:modelValue', val)\n emit('input', val)\n emit('change', val)\n}\n\nconst onClear = () => {\n input.value = ''\n}\n\nconst onClick = () => {\n attachmentDialog.value.open()\n}\n// 确认选中附件\nconst onConfirm = (chooseFileList: any) => {\n input.value = chooseFileList[0].url\n}\n</script>\n"],"names":["__MACROS_defineComponent"],"mappings":";;;;;;;;;AAEA,MAA6B,cAAAA,eAAyB,CAAA;AAAA,EACpD,IAAM,EAAA,aAAA;AACR,CAAC,CAAA,CAAA;;;;;;;AAmGD,IAAA,MAAM,CAAC,CAAA,EAAG,GAAG,CAAA,GAAI,gBAAgB,YAAY,CAAA,CAAA;AAK7C,IAAM,MAAA,KAAA,GAAQ,GAAI,CAAA,KAAA,CAAM,UAAU,CAAA,CAAA;AAClC,IAAA,MAAM,mBAAmB,GAAI,EAAA,CAAA;AAG7B,IAAA,KAAA;AAAA,MACE,MAAM,KAAM,CAAA,UAAA;AAAA,MACZ,CAAC,GAAQ,KAAA;AACP,QAAA,KAAA,CAAM,KAAQ,GAAA,GAAA,CAAA;AAAA,OAChB;AAAA,KACF,CAAA;AAEA,IAAA,KAAA;AAAA,MACE,MAAM,KAAM,CAAA,KAAA;AAAA,MACZ,CAAC,GAAQ,KAAA;AACP,QAAA,WAAA,CAAY,GAAG,CAAA,CAAA;AAAA,OACjB;AAAA,KACF,CAAA;AAEA,IAAM,MAAA,WAAA,GAAc,CAAC,GAAa,KAAA;AAChC,MAAA,IAAA,CAAK,qBAAqB,GAAG,CAAA,CAAA;AAC7B,MAAA,IAAA,CAAK,SAAS,GAAG,CAAA,CAAA;AACjB,MAAA,IAAA,CAAK,UAAU,GAAG,CAAA,CAAA;AAAA,KACpB,CAAA;AAEA,IAAA,MAAM,UAAU,MAAM;AACpB,MAAA,KAAA,CAAM,KAAQ,GAAA,EAAA,CAAA;AAAA,KAChB,CAAA;AAEA,IAAA,MAAM,UAAU,MAAM;AACpB,MAAA,gBAAA,CAAiB,MAAM,IAAK,EAAA,CAAA;AAAA,KAC9B,CAAA;AAEA,IAAM,MAAA,SAAA,GAAY,CAAC,cAAwB,KAAA;AACzC,MAAM,KAAA,CAAA,KAAA,GAAQ,cAAe,CAAA,CAAC,CAAE,CAAA,GAAA,CAAA;AAAA,KAClC,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"file-list-input.vue2.mjs","sources":["../../../src/file-list-input/src/file-list-input.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as __MACROS_defineComponent } from \"vue\";\nexport default /*#__PURE__*/ __MACROS_defineComponent({\n name: 'DkFileListInput',\n});\n</script>\n<template>\n <div :class=\"bem()\">\n <div class=\"dk-image-list\">\n <ul>\n <li v-for=\"(item, key) in input\" :key=\"key\">\n <div class=\"file\" :style=\"_style\">\n <el-image
|
1
|
+
{"version":3,"file":"file-list-input.vue2.mjs","sources":["../../../src/file-list-input/src/file-list-input.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as __MACROS_defineComponent } from \"vue\";\nexport default /*#__PURE__*/ __MACROS_defineComponent({\n name: 'DkFileListInput',\n});\n</script>\n<template>\n <div :class=\"bem()\">\n <div class=\"dk-image-list\">\n <ul>\n <li v-for=\"(item, key) in input\" :key=\"key\">\n <div class=\"file\" :style=\"_style\">\n <el-image\n v-if=\"type === 1\"\n :src=\"item\"\n fit=\"contain\"\n :style=\"_style\"\n />\n <dk-file-icon\n v-else\n :file-url=\"item\"\n class=\"file rd-4px\"\n :type=\"type\"\n />\n <div v-if=\"!disabled\" class=\"close\" @click=\"deleteFile(key)\">\n <el-icon><Close /></el-icon>\n </div>\n </div>\n </li>\n <li v-if=\"limit > input.length && !disabled\">\n <div class=\"chooseImage\" :style=\"_style\" @click=\"onClick()\">\n <el-icon><Plus /></el-icon>\n </div>\n </li>\n </ul>\n </div>\n <dk-attachment-dialog ref=\"attachment\" :type=\"type\" @confirm=\"onConfirm\" />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { createNamespace } from '@vipl520/utils'\nimport { fileListInputProps } from './props'\nimport { computed, ref, watch } from 'vue'\nimport DkFileIcon from '../../attachment/src/file-icon.vue'\n\nconst [_, bem] = createNamespace('file-list-input')\n\n\n\nconst props = defineProps(fileListInputProps)\nconst emit = defineEmits(['input', 'update:modelValue', 'change'])\nconst input: any = ref(props.modelValue)\nconst _style = computed(() => {\n return {\n width: props.imgSize + 'px',\n height: props.imgSize + 'px',\n lineHeight: props.imgSize + 'px',\n }\n})\n\nconst attachment = ref()\n\nconst onClick = () => {\n attachment.value.open()\n}\nconst onConfirm = (chooseFileList: any) => {\n chooseFileList.forEach((item: any) => {\n if (input.value.length < props.limit) {\n input.value.push(item.url)\n handleInput(input.value)\n }\n })\n}\nconst deleteFile = (index: number) => {\n input.value.splice(index, 1)\n}\n\nwatch(\n () => props.modelValue,\n (val) => {\n input.value = val\n }\n)\n\nwatch(\n () => input.value,\n (val) => {\n handleInput(val)\n }\n)\n\nconst handleInput = (val: any) => {\n emit('update:modelValue', val)\n emit('input', val)\n emit('change', val)\n}\n</script>\n"],"names":["__MACROS_defineComponent"],"mappings":";;;;;;;;AAEA,MAA6B,cAAAA,eAAyB,CAAA;AAAA,EACpD,IAAM,EAAA,iBAAA;AACR,CAAC,CAAA,CAAA;;;;;;;AA0CD,IAAA,MAAM,CAAC,CAAA,EAAG,GAAG,CAAA,GAAI,gBAAgB,iBAAiB,CAAA,CAAA;AAMlD,IAAM,MAAA,KAAA,GAAa,GAAI,CAAA,KAAA,CAAM,UAAU,CAAA,CAAA;AACvC,IAAM,MAAA,MAAA,GAAS,SAAS,MAAM;AAC5B,MAAO,OAAA;AAAA,QACL,KAAA,EAAO,MAAM,OAAU,GAAA,IAAA;AAAA,QACvB,MAAA,EAAQ,MAAM,OAAU,GAAA,IAAA;AAAA,QACxB,UAAA,EAAY,MAAM,OAAU,GAAA,IAAA;AAAA,OAC9B,CAAA;AAAA,KACD,CAAA,CAAA;AAED,IAAA,MAAM,aAAa,GAAI,EAAA,CAAA;AAEvB,IAAA,MAAM,UAAU,MAAM;AACpB,MAAA,UAAA,CAAW,MAAM,IAAK,EAAA,CAAA;AAAA,KACxB,CAAA;AACA,IAAM,MAAA,SAAA,GAAY,CAAC,cAAwB,KAAA;AACzC,MAAe,cAAA,CAAA,OAAA,CAAQ,CAAC,IAAc,KAAA;AACpC,QAAA,IAAI,KAAM,CAAA,KAAA,CAAM,MAAS,GAAA,KAAA,CAAM,KAAO,EAAA;AACpC,UAAM,KAAA,CAAA,KAAA,CAAM,IAAK,CAAA,IAAA,CAAK,GAAG,CAAA,CAAA;AACzB,UAAA,WAAA,CAAY,MAAM,KAAK,CAAA,CAAA;AAAA,SACzB;AAAA,OACD,CAAA,CAAA;AAAA,KACH,CAAA;AACA,IAAM,MAAA,UAAA,GAAa,CAAC,KAAkB,KAAA;AACpC,MAAM,KAAA,CAAA,KAAA,CAAM,MAAO,CAAA,KAAA,EAAO,CAAC,CAAA,CAAA;AAAA,KAC7B,CAAA;AAEA,IAAA,KAAA;AAAA,MACE,MAAM,KAAM,CAAA,UAAA;AAAA,MACZ,CAAC,GAAQ,KAAA;AACP,QAAA,KAAA,CAAM,KAAQ,GAAA,GAAA,CAAA;AAAA,OAChB;AAAA,KACF,CAAA;AAEA,IAAA,KAAA;AAAA,MACE,MAAM,KAAM,CAAA,KAAA;AAAA,MACZ,CAAC,GAAQ,KAAA;AACP,QAAA,WAAA,CAAY,GAAG,CAAA,CAAA;AAAA,OACjB;AAAA,KACF,CAAA;AAEA,IAAM,MAAA,WAAA,GAAc,CAAC,GAAa,KAAA;AAChC,MAAA,IAAA,CAAK,qBAAqB,GAAG,CAAA,CAAA;AAC7B,MAAA,IAAA,CAAK,SAAS,GAAG,CAAA,CAAA;AACjB,MAAA,IAAA,CAAK,UAAU,GAAG,CAAA,CAAA;AAAA,KACpB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
@@ -1 +1 @@
|
|
1
|
-
.dk-file-list-input{width:100%}.dk-file-list-input .button{text-align:center;border-top:1px solid #f5f5f5
|
1
|
+
.dk-file-list-input{width:100%}.dk-file-list-input .button{padding-top:10px;text-align:center;border-top:1px solid #f5f5f5}.dk-file-list-input .dk-image-list ul::after{display:block;clear:both;content:""}.dk-file-list-input .dk-image-list ul li{float:left;margin-right:10px;margin-bottom:10px;border:1px solid var(--el-border-color);border-radius:4px}.dk-file-list-input .dk-image-list ul li .file{position:relative;width:100px;height:100px;text-align:center}.dk-file-list-input .dk-image-list ul li .file div{position:relative}.dk-file-list-input .dk-image-list ul li .file div .other-file{font-size:80px;line-height:100px;color:#aaa}.dk-file-list-input .dk-image-list ul li .file div .el-icon-video-play{position:absolute;right:2px;bottom:2px;display:none;font-size:20px;cursor:pointer}.dk-file-list-input .dk-image-list ul li .file div:hover .el-icon-video-play{display:block;color:#409eff}.dk-file-list-input .dk-image-list ul li .file .close{position:absolute;top:0;right:0;display:none;align-items:center;justify-content:center;width:20px;height:20px;line-height:20px;color:#fff;text-align:center;cursor:pointer;background:rgba(0,0,0,.4);border-radius:100%}.dk-file-list-input .dk-image-list ul li .file:hover .close{display:flex}.dk-file-list-input .dk-image-list ul li .chooseImage{width:100px;height:100px;font-size:40px;line-height:100px;color:#999;text-align:center;cursor:pointer}.dk-file-list-input .dk-image-list ul li .chooseImage:hover{color:#409eff}
|
@@ -1,19 +1,21 @@
|
|
1
1
|
.dk-file-list-input {
|
2
2
|
width: 100%;
|
3
|
+
|
3
4
|
.button {
|
5
|
+
padding-top: 10px;
|
4
6
|
text-align: center;
|
5
7
|
border-top: 1px solid #f5f5f5;
|
6
|
-
padding-top: 10px;
|
7
8
|
}
|
8
9
|
|
9
10
|
.dk-image-list {
|
10
11
|
ul {
|
11
12
|
// 清除浮动
|
12
|
-
|
13
|
-
content: '';
|
13
|
+
&::after {
|
14
14
|
display: block;
|
15
15
|
clear: both;
|
16
|
+
content: '';
|
16
17
|
}
|
18
|
+
|
17
19
|
li {
|
18
20
|
float: left;
|
19
21
|
margin-right: 10px;
|
@@ -32,38 +34,40 @@
|
|
32
34
|
|
33
35
|
.other-file {
|
34
36
|
font-size: 80px;
|
35
|
-
color: #aaa;
|
36
37
|
line-height: 100px;
|
38
|
+
color: #aaa;
|
37
39
|
}
|
40
|
+
|
38
41
|
.el-icon-video-play {
|
39
|
-
display: none;
|
40
42
|
position: absolute;
|
41
|
-
bottom: 2px;
|
42
43
|
right: 2px;
|
44
|
+
bottom: 2px;
|
45
|
+
display: none;
|
43
46
|
font-size: 20px;
|
44
47
|
cursor: pointer;
|
45
48
|
}
|
49
|
+
|
46
50
|
&:hover .el-icon-video-play {
|
47
|
-
color: #409eff;
|
48
51
|
display: block;
|
52
|
+
color: #409eff;
|
49
53
|
}
|
50
54
|
}
|
51
55
|
|
52
56
|
.close {
|
53
|
-
display: none;
|
54
|
-
cursor: pointer;
|
55
57
|
position: absolute;
|
56
58
|
top: 0;
|
57
|
-
line-height: 20px;
|
58
59
|
right: 0;
|
60
|
+
display: none;
|
61
|
+
align-items: center;
|
62
|
+
justify-content: center;
|
59
63
|
width: 20px;
|
60
64
|
height: 20px;
|
65
|
+
line-height: 20px;
|
66
|
+
color: #fff;
|
61
67
|
text-align: center;
|
62
|
-
|
68
|
+
cursor: pointer;
|
69
|
+
background: rgb(0 0 0 / 40%);
|
63
70
|
border-radius: 100%;
|
64
|
-
color: #fff;
|
65
|
-
align-items: center;
|
66
|
-
justify-content: center;
|
67
71
|
}
|
68
72
|
|
69
73
|
&:hover .close {
|
@@ -74,10 +78,10 @@
|
|
74
78
|
.chooseImage {
|
75
79
|
width: 100px;
|
76
80
|
height: 100px;
|
77
|
-
line-height: 100px;
|
78
|
-
text-align: center;
|
79
81
|
font-size: 40px;
|
82
|
+
line-height: 100px;
|
80
83
|
color: #999;
|
84
|
+
text-align: center;
|
81
85
|
cursor: pointer;
|
82
86
|
|
83
87
|
&:hover {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"form.vue2.mjs","sources":["../../../src/form/src/form.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as __MACROS_defineComponent } from \"vue\";\nexport default /*#__PURE__*/ __MACROS_defineComponent({\n name: 'DkForm',\n});\n</script>\n<template>\n <DkDialog\n v-if=\"props.isDialog\"\n v-model=\"showDialog\"\n :title=\"_formData?.title ? _formData?.title : '表单'\"\n :width=\"dialogWidth\"\n :default-fullscreen=\"isFullscreen\"\n min-height=\"200px\"\n v-bind=\"dialogProps\"\n append-to-body\n >\n <div :style=\"dialogStyle\" class=\"dk-form\">\n <FormCreate\n v-model=\"value\"\n :option=\"formConfig\"\n :rule=\"_formData.rules\"\n :handle-icon=\"false\"\n class=\"formBox\"\n @update:api=\"fApi = $event\"\n @update:value=\"value = $event\"\n />\n <div :style=\"{ marginLeft: config.form.labelWidth }\" class=\"m-t-10px\">\n <slot name=\"buttons\">\n <el-button type=\"primary\" :loading=\"buttonLoading\" @click=\"checkForm\"> 提交</el-button>\n </slot>\n </div>\n </div>\n </DkDialog>\n <div v-else>\n <div :style=\"{ minHeight }\" class=\"dk-form\">\n <FormCreate\n v-model=\"value\"\n :option=\"formConfig\"\n :rule=\"_formData.rules\"\n :handle-icon=\"false\"\n class=\"formBox\"\n @update:api=\"fApi = $event\"\n @update:value=\"value = $event\"\n />\n <div :style=\"{ marginLeft: config.form.labelWidth }\" class=\"m-t-10px\">\n <slot name=\"buttons\">\n <el-button type=\"primary\" :loading=\"buttonLoading\" @click=\"checkForm\"> 提交</el-button>\n </slot>\n </div>\n </div>\n <!-- <div v-else :style=\"{ minHeight }\"></div>-->\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { createNamespace, isArray, isObject, request } from '@vipl520/utils'\nimport formCreate from '@form-create/element-ui'\nimport { formProps } from './props'\nimport { computed, onMounted, reactive, ref, watch } from 'vue'\nimport _config from './config'\nimport { ElButton, ElMessage } from 'element-plus'\nimport { useWindowSize } from '@vueuse/core'\n\nconst [_, bem] = createNamespace('form')\n\nformCreate.register({\n name: 'help',\n init({ value }, rule) {\n // 判断value是字符串还是数组,如果是字符串则转换为数组,如果是数组则不变\n if (!isArray(value)) {\n value = [value]\n }\n rule.suffix = {\n type: 'p',\n children: value,\n class: 'form-help',\n }\n },\n})\n\n\nconst FormCreate = formCreate.$form()\n\nconst props = defineProps(formProps)\n\nconst config = reactive(_config)\nconst fApi = ref()\nconst loading = ref(true)\nconst buttonLoading = ref(false)\n\nconst showDialog = ref(false)\nconst formConfig = computed(() => ({ ...config, ...props.extraConfig }))\nconst { width } = useWindowSize()\nconst value = ref(null)\nconst _formData = ref(props.formData || {})\n\nconst emit = defineEmits(['submit', 'fail', 'update:modelValue'])\nwatch(\n () => props.formData,\n () => {\n _formData.value = props.formData\n },\n {\n deep: true,\n }\n)\nwatch(\n () => value.value,\n (val) => {\n emit('update:modelValue', val || {})\n }\n)\n// 弹窗宽度\nconst dialogWidth = computed(() => {\n let defaultWidth = '800px'\n const config = _formData.value?.config || {}\n if (config?.width) {\n return config?.width\n }\n if (props.dialog?.width) {\n defaultWidth = props.dialog?.width\n }\n if (config?.defaultWidth) {\n defaultWidth = config?.defaultWidth\n }\n let minWidth = 768\n // 判断是否为百分比\n if (!defaultWidth.endsWith('%')) {\n minWidth = parseInt(defaultWidth)\n }\n return width.value < minWidth ? '100%' : defaultWidth\n})\n// 弹窗内样式\nconst dialogStyle = computed(() => {\n if (_formData.value?.config?.style) {\n return _formData.value?.config?.style\n }\n if (props.dialog?.style) {\n return props.dialog?.style\n }\n return {}\n})\n// const draggable = computed(() => {\n// let draggable = false\n// if (props.dialog?.draggable) {\n// draggable = props.dialog?.draggable\n// }\n// if (_formData.value?.config?.draggable !== undefined) {\n// draggable = _formData.value?.config?.draggable\n// }\n// return draggable\n// })\n// 是否全屏\nconst isFullscreen = computed(() => {\n let defaultFullscreen = false\n const autoFullscreen = _formData.value?.config?.autoFullscreen !== false\n if (props.dialog?.width) {\n defaultFullscreen = props.dialog?.fullscreen\n }\n if (_formData.value?.config?.fullscreen) {\n defaultFullscreen = _formData.value?.config?.fullscreen\n }\n\n if (width.value < 768 && autoFullscreen) {\n defaultFullscreen = true\n }\n\n return defaultFullscreen\n})\n\nconst dialogProps = computed(() => {\n return Object.assign(props.dialog, _formData.value?.config?.dialog)\n})\nconst setFormData = (formData: any) => {\n value.value = null\n _formData.value = formData\n}\n\nconst initFormData = (formUrl?: string | object) => {\n if (!formUrl) {\n formUrl = props.formUrl\n }\n\n if (props.formData) {\n loading.value = false\n } else if (formUrl) {\n let data: {}\n if (isObject(formUrl)) {\n data = formUrl\n } else {\n data = {\n url: formUrl,\n method: 'post',\n }\n }\n request(data)\n .then((res) => {\n _formData.value = res.data\n loading.value = false\n })\n .catch((res) => {\n loading.value = false\n })\n }\n}\n\nconst checkForm = () => {\n fApi.value\n .validate()\n .then(() => {\n fApi.value\n .submit((data: any) => {\n onSubmit(data)\n })\n .catch((fail: object) => {\n ElMessage.warning(Object.values(fail)[0][0].message)\n })\n })\n .catch((fail: object) => {\n ElMessage.warning(Object.values(fail)[0][0].message)\n })\n}\n\nconst onSubmit = (data: any) => {\n if (props.isLoading) {\n buttonLoading.value = true\n }\n if (props.isSubmit) {\n request({\n url: props.path + _formData.value.action,\n method: _formData.value.method,\n data: { formData: data },\n })\n .then((res) => {\n ElMessage.success(res.msg)\n emit('submit', data, res)\n buttonLoading.value = false\n })\n .catch((res) => {\n ElMessage.error(res.msg)\n emit('fail', data, res)\n buttonLoading.value = false\n })\n } else {\n emit('submit', data)\n buttonLoading.value = false\n }\n showDialog.value = false\n}\n\nconst show = () => {\n showDialog.value = true\n}\nonMounted(() => {\n initFormData()\n})\n// 导出\ndefineExpose({\n showDialog,\n buttonLoading,\n fApi,\n value,\n show,\n checkForm,\n onSubmit,\n initFormData,\n setFormData,\n})\n</script>\n"],"names":["__MACROS_defineComponent","value","config","_config"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"form.vue2.mjs","sources":["../../../src/form/src/form.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as __MACROS_defineComponent } from \"vue\";\nexport default /*#__PURE__*/ __MACROS_defineComponent({\n name: 'DkForm',\n});\n</script>\n<template>\n <DkDialog\n v-if=\"props.isDialog\"\n v-model=\"showDialog\"\n :title=\"_formData?.title ? _formData?.title : '表单'\"\n :width=\"dialogWidth\"\n :default-fullscreen=\"isFullscreen\"\n min-height=\"200px\"\n v-bind=\"dialogProps\"\n append-to-body\n >\n <div :style=\"dialogStyle\" class=\"dk-form\">\n <FormCreate\n v-model=\"value\"\n :option=\"formConfig\"\n :rule=\"_formData.rules\"\n :handle-icon=\"false\"\n class=\"formBox\"\n @update:api=\"fApi = $event\"\n @update:value=\"value = $event\"\n />\n <div :style=\"{ marginLeft: config.form.labelWidth }\" class=\"m-t-10px\">\n <slot name=\"buttons\">\n <el-button type=\"primary\" :loading=\"buttonLoading\" @click=\"checkForm\">\n 提交</el-button\n >\n </slot>\n </div>\n </div>\n </DkDialog>\n <div v-else>\n <div :style=\"{ minHeight }\" class=\"dk-form\">\n <FormCreate\n v-model=\"value\"\n :option=\"formConfig\"\n :rule=\"_formData.rules\"\n :handle-icon=\"false\"\n class=\"formBox\"\n @update:api=\"fApi = $event\"\n @update:value=\"value = $event\"\n />\n <div :style=\"{ marginLeft: config.form.labelWidth }\" class=\"m-t-10px\">\n <slot name=\"buttons\">\n <el-button type=\"primary\" :loading=\"buttonLoading\" @click=\"checkForm\">\n 提交</el-button\n >\n </slot>\n </div>\n </div>\n <!-- <div v-else :style=\"{ minHeight }\"></div>-->\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { createNamespace, isArray, isObject, request } from '@vipl520/utils'\nimport formCreate from '@form-create/element-ui'\nimport { formProps } from './props'\nimport { computed, onMounted, reactive, ref, watch } from 'vue'\nimport _config from './config'\nimport { ElButton, ElMessage } from 'element-plus'\nimport { useWindowSize } from '@vueuse/core'\n\nconst [_, bem] = createNamespace('form')\n\nformCreate.register({\n name: 'help',\n init({ value }, rule) {\n // 判断value是字符串还是数组,如果是字符串则转换为数组,如果是数组则不变\n if (!isArray(value)) {\n value = [value]\n }\n rule.suffix = {\n type: 'p',\n children: value,\n class: 'form-help',\n }\n },\n})\n\n\nconst FormCreate = formCreate.$form()\n\nconst props = defineProps(formProps)\n\nconst config = reactive(_config)\nconst fApi = ref()\nconst loading = ref(true)\nconst buttonLoading = ref(false)\n\nconst showDialog = ref(false)\nconst formConfig = computed(() => ({ ...config, ...props.extraConfig }))\nconst { width } = useWindowSize()\nconst value = ref(null)\nconst _formData = ref(props.formData || {})\n\nconst emit = defineEmits(['submit', 'fail', 'update:modelValue'])\nwatch(\n () => props.formData,\n () => {\n _formData.value = props.formData\n },\n {\n deep: true,\n }\n)\nwatch(\n () => value.value,\n (val) => {\n emit('update:modelValue', val || {})\n }\n)\n// 弹窗宽度\nconst dialogWidth = computed(() => {\n let defaultWidth = '800px'\n const config = _formData.value?.config || {}\n if (config?.width) {\n return config?.width\n }\n if (props.dialog?.width) {\n defaultWidth = props.dialog?.width\n }\n if (config?.defaultWidth) {\n defaultWidth = config?.defaultWidth\n }\n let minWidth = 768\n // 判断是否为百分比\n if (!defaultWidth.endsWith('%')) {\n minWidth = parseInt(defaultWidth)\n }\n return width.value < minWidth ? '100%' : defaultWidth\n})\n// 弹窗内样式\nconst dialogStyle = computed(() => {\n if (_formData.value?.config?.style) {\n return _formData.value?.config?.style\n }\n if (props.dialog?.style) {\n return props.dialog?.style\n }\n return {}\n})\n// const draggable = computed(() => {\n// let draggable = false\n// if (props.dialog?.draggable) {\n// draggable = props.dialog?.draggable\n// }\n// if (_formData.value?.config?.draggable !== undefined) {\n// draggable = _formData.value?.config?.draggable\n// }\n// return draggable\n// })\n// 是否全屏\nconst isFullscreen = computed(() => {\n let defaultFullscreen = false\n const autoFullscreen = _formData.value?.config?.autoFullscreen !== false\n if (props.dialog?.width) {\n defaultFullscreen = props.dialog?.fullscreen\n }\n if (_formData.value?.config?.fullscreen) {\n defaultFullscreen = _formData.value?.config?.fullscreen\n }\n\n if (width.value < 768 && autoFullscreen) {\n defaultFullscreen = true\n }\n\n return defaultFullscreen\n})\n\nconst dialogProps = computed(() => {\n return Object.assign(props.dialog, _formData.value?.config?.dialog)\n})\nconst setFormData = (formData: any) => {\n value.value = null\n _formData.value = formData\n}\n\nconst initFormData = (formUrl?: string | object) => {\n if (!formUrl) {\n formUrl = props.formUrl\n }\n\n if (props.formData) {\n loading.value = false\n } else if (formUrl) {\n let data: {}\n if (isObject(formUrl)) {\n data = formUrl\n } else {\n data = {\n url: formUrl,\n method: 'post',\n }\n }\n request(data)\n .then((res) => {\n _formData.value = res.data\n loading.value = false\n })\n .catch((res) => {\n loading.value = false\n })\n }\n}\n\nconst checkForm = () => {\n fApi.value\n .validate()\n .then(() => {\n fApi.value\n .submit((data: any) => {\n onSubmit(data)\n })\n .catch((fail: object) => {\n ElMessage.warning(Object.values(fail)[0][0].message)\n })\n })\n .catch((fail: object) => {\n ElMessage.warning(Object.values(fail)[0][0].message)\n })\n}\n\nconst onSubmit = (data: any) => {\n if (props.isLoading) {\n buttonLoading.value = true\n }\n if (props.isSubmit) {\n request({\n url: props.path + _formData.value.action,\n method: _formData.value.method,\n data: { formData: data },\n })\n .then((res) => {\n ElMessage.success(res.msg)\n emit('submit', data, res)\n buttonLoading.value = false\n })\n .catch((res) => {\n ElMessage.error(res.msg)\n emit('fail', data, res)\n buttonLoading.value = false\n })\n } else {\n emit('submit', data)\n buttonLoading.value = false\n }\n showDialog.value = false\n}\n\nconst show = () => {\n showDialog.value = true\n}\nonMounted(() => {\n initFormData()\n})\n// 导出\ndefineExpose({\n showDialog,\n buttonLoading,\n fApi,\n value,\n show,\n checkForm,\n onSubmit,\n initFormData,\n setFormData,\n})\n</script>\n"],"names":["__MACROS_defineComponent","value","config","_config"],"mappings":"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"}
|
@@ -1,7 +1,6 @@
|
|
1
|
-
import { defineComponent, reactive, markRaw, watch, nextTick, onMounted, resolveComponent, openBlock, createElementBlock, normalizeClass, createBlock, withCtx, createTextVNode, toDisplayString, createCommentVNode, createVNode,
|
1
|
+
import { defineComponent, reactive, markRaw, watch, nextTick, onMounted, resolveComponent, openBlock, createElementBlock, normalizeClass, createBlock, withCtx, createTextVNode, toDisplayString, createCommentVNode, createVNode, createElementVNode, unref } from 'vue';
|
2
2
|
import { deepExtend, deepCopy, hasProperty } from '../utils/utils.mjs';
|
3
3
|
import extend from '../utils/extend.mjs';
|
4
|
-
import draggable from 'vuedraggable';
|
5
4
|
import { groupProps } from './props.mjs';
|
6
5
|
|
7
6
|
const _hoisted_1 = { key: 1 };
|
@@ -13,13 +12,7 @@ const __default__ = defineComponent({
|
|
13
12
|
var _sfc_main = /* @__PURE__ */ defineComponent({
|
14
13
|
...__default__,
|
15
14
|
props: groupProps,
|
16
|
-
emits: [
|
17
|
-
"update:modelValue",
|
18
|
-
"change",
|
19
|
-
"itemMounted",
|
20
|
-
"remove",
|
21
|
-
"add"
|
22
|
-
],
|
15
|
+
emits: ["update:modelValue", "change", "itemMounted", "remove", "add"],
|
23
16
|
setup(__props, { emit }) {
|
24
17
|
const props = __props;
|
25
18
|
const data = reactive({
|
@@ -209,9 +202,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
209
202
|
return;
|
210
203
|
}
|
211
204
|
const value = [...props.modelValue];
|
212
|
-
value.push(
|
213
|
-
props.defaultValue ? deepCopy(props.defaultValue) : props.field ? null : {}
|
214
|
-
);
|
205
|
+
value.push(props.defaultValue ? deepCopy(props.defaultValue) : props.field ? null : {});
|
215
206
|
input(value);
|
216
207
|
collapseComponentData.modelValue = [value.length - 1];
|
217
208
|
};
|
@@ -244,6 +235,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
244
235
|
const _component_dk_icon = resolveComponent("dk-icon");
|
245
236
|
const _component_el_button_group = resolveComponent("el-button-group");
|
246
237
|
const _component_el_collapse_item = resolveComponent("el-collapse-item");
|
238
|
+
const _component_draggable = resolveComponent("draggable");
|
247
239
|
return openBlock(), createElementBlock(
|
248
240
|
"div",
|
249
241
|
{
|
@@ -274,7 +266,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
274
266
|
/* STABLE */
|
275
267
|
}))
|
276
268
|
])) : createCommentVNode("v-if", true),
|
277
|
-
createVNode(
|
269
|
+
createVNode(_component_draggable, {
|
278
270
|
tag: "el-collapse",
|
279
271
|
list: props.modelValue,
|
280
272
|
"component-data": collapseComponentData,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"group.vue2.mjs","sources":["../../../src/group/src/group.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as __MACROS_defineComponent } from \"vue\";\nexport default /*#__PURE__*/ __MACROS_defineComponent({\n name: 'DkGroup',\n});\n</script>\n<template>\n <div :class=\"'dk-group _fc-group ' + (disabled ? '_fc-group-disabled' : '')\">\n <el-divider v-if=\"props.title\">{{ props.title }}</el-divider>\n <div v-if=\"data.sort.length === 0\">\n <el-button :key=\"'a_def'\" style=\"width: 100%\" @click=\"add\">\n 添加数据\n </el-button>\n </div>\n <draggable\n tag=\"el-collapse\"\n :list=\"props.modelValue\"\n :component-data=\"collapseComponentData\"\n item-key=\"id\"\n handle=\".collapse-title-rank\"\n >\n <template #item=\"{ element, index }\">\n <el-collapse-item :title=\"element.title\" :name=\"index\">\n <template #title>\n <div class=\"collapse-title\">\n <dk-icon icon=\"Rank\" class=\"collapse-title-rank\"></dk-icon>\n <span>{{ getTitle(index) }}</span>\n </div>\n </template>\n <template #default>\n <div :key=\"index\" class=\"_dk-group-container\">\n <Type\n :key=\"index\"\n :in-for=\"true\"\n :model-value=\"getFieldValue(index)\"\n :rule=\"data.cacheRule[index].rule\"\n :option=\"data.cacheRule[index].options\"\n :extend-option=\"true\"\n @update:modelValue=\"formData(index, $event)\"\n @emit-event=\"\n (name: any, ...args: any) => emitEvent(name, args, index)\n \"\n @update:api=\"($f: any) => add$f(index, $f)\"\n />\n <div class=\"_dk-group-handle\">\n <el-button-group>\n <el-button icon=\"Plus\" plain @click=\"add\" />\n <el-button\n icon=\"Delete\"\n plain\n @click=\"del(index, index + 1)\"\n />\n </el-button-group>\n </div>\n </div>\n </template>\n </el-collapse-item>\n </template>\n </draggable>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { markRaw, nextTick, reactive, watch, onMounted, ref } from 'vue'\nimport { deepCopy, deepExtend, hasProperty } from '../utils/utils'\nimport extend from '../utils/extend'\nimport draggable from 'vuedraggable'\nimport { groupProps } from './props'\n\n\n\nconst props = defineProps(groupProps)\nconst emit = defineEmits([\n 'update:modelValue',\n 'change',\n 'itemMounted',\n 'remove',\n 'add',\n])\nconst data: any = reactive({\n len: 0,\n cacheRule: {},\n cacheValue: {},\n sort: [],\n form: markRaw(props.formCreateInject.form.$form()),\n loading: true,\n})\n\nconst collapseComponentData = reactive({\n modelValue: [0],\n})\n\nconst Type = data.form\n\nwatch(\n () => props.rule, // 侦听 rule 属性\n (n, o) => {\n // 您原来的 handler 逻辑\n Object.keys(data.cacheRule).forEach((v) => {\n const item = data.cacheRule[v]\n if (item.$f) {\n const val = item.$f.formData()\n if (n === o) {\n item.$f.deferSyncValue(() => {\n deepExtend(item.rule, n, false)\n item.$f.setValue(val)\n }, true)\n } else {\n const val = item.$f.formData()\n item.$f.once('reloading', () => {\n item.$f.setValue(val)\n })\n item.rule = deepCopy(n)\n }\n }\n })\n },\n { deep: true } // 深度侦听\n)\n\nwatch(\n () => props.disabled, // 侦听 disabled 属性\n (n) => {\n // 您原来的 disabled 逻辑\n if (props.syncDisabled) {\n const lst = data.cacheRule\n Object.keys(lst).forEach((k) => {\n lst[k].$f.disabled(n)\n })\n }\n }\n)\n\nwatch(\n () => props.expand, // 侦听 expand 属性\n (n) => {\n // 您原来的 expand 逻辑\n const d = n - props.modelValue.length\n if (d > 0) {\n expandRule(d)\n }\n }\n)\n\nwatch(\n () => props.modelValue, // 侦听 modelValue 属性\n (n) => {\n // 您原来的 modelValue 逻辑\n n = n || []\n const keys = Object.keys(data.cacheRule)\n const total = keys.length // 缓存数\n const len = total - n.length // 缓存数-value数\n if (len < 0) {\n for (let i = len; i < 0; i++) {\n addRule(n.length - 1, true)\n }\n for (let i = 0; i < total; i++) {\n setValue(keys[i], n[i])\n }\n } else {\n if (len > 0) {\n for (let i = 0; i < len; i++) {\n console.log('keys[total - i - 1]', keys[total - i - 1])\n removeRule(keys[total - i - 1])\n }\n }\n n.forEach((val, i) => {\n setValue(keys[i], n[i])\n })\n }\n },\n { deep: true } // 深度侦听\n)\n\nwatch(\n () => ({ ...data.cacheRule }),\n (n) => {\n data.sort = Object.keys(n)\n },\n { immediate: true }\n)\n\nconst getFieldValue = (index: number) => {\n if (props.field) {\n return { [props.field]: _value(props.modelValue[index]) }\n } else {\n return props.modelValue[index]\n }\n}\n\nconst getTitle = (index: number) => {\n if (data.cacheRule[index]) {\n const { rule } = data.cacheRule[index]\n const defaultField = props.titleField ? props.titleField : rule[0]?.field\n return data.cacheRule[index].$f?.getValue(defaultField) || '点击展开'\n } else {\n return '点击展开'\n }\n}\nconst _value = (v: any) => {\n return v && hasProperty(v, props.field) ? v[props.field] : v\n}\nconst cache = (k: any, val: any) => {\n data.cacheValue[k] = JSON.stringify(val)\n}\nconst input = (value: any) => {\n emit('update:modelValue', value)\n emit('change', value)\n}\nconst formData = (index: any, formData: any) => {\n nextTick(() => {\n const keys = Object.keys(data.cacheRule)\n const value = keys.map((k: any) => {\n const _data = index === k ? formData : { ...data.cacheRule[k].$f.form }\n const value = props.field ? _data[props.field] || null : _data\n cache(k, value)\n return value\n })\n input(value)\n })\n}\n\nconst add$f = (index: any, $f: any) => {\n data.cacheRule[index].$f = $f\n nextTick(() => {\n if (props.syncDisabled) {\n $f.disabled(props.disabled)\n }\n emit('itemMounted', $f, Object.keys(data.cacheRule).indexOf(index))\n })\n}\n\nonMounted(() => {\n data.loading = false\n})\n\nconst setValue = (key: any, value: any) => {\n const field = props.field\n if (field) {\n value = { [field]: _value(value) }\n }\n if (data.cacheValue[key] === JSON.stringify(field ? value[field] : value)) {\n return\n }\n cache(key, value)\n}\nconst addRule = (index: any, isEmit = false) => {\n const rule = props.formCreateInject.form.copyRules(props.rule || [])\n const options: any = props.options\n ? { ...props.options }\n : {\n submitBtn: false,\n resetBtn: false,\n }\n if (props.defaultValue) {\n if (!options.formData) options.formData = {}\n const defVal = deepCopy(props.defaultValue)\n extend(options.formData, props.field ? { [props.field]: defVal } : defVal)\n }\n props.parse && props.parse({ rule, options, index: data.sort.length })\n data.cacheRule[index] = { rule, options }\n if (isEmit) {\n nextTick(() => emit('add', rule, Object.keys(data.cacheRule).length - 1))\n }\n}\n\nconst removeRule = (index: any, isEmit = false) => {\n delete data.cacheRule[index]\n delete data.cacheValue[index]\n if (isEmit) {\n nextTick(() => emit('remove', index))\n }\n}\nconst add = () => {\n if (props.disabled || props.onBeforeAdd(props.modelValue) === false) {\n return\n }\n const value = [...props.modelValue]\n value.push(\n props.defaultValue ? deepCopy(props.defaultValue) : props.field ? null : {}\n )\n input(value)\n collapseComponentData.modelValue = [value.length - 1]\n}\nconst del = (index: number, key: number) => {\n if (\n props.disabled ||\n props.onBeforeRemove(props.modelValue, index) === false\n ) {\n return\n }\n const value = [...props.modelValue]\n value.splice(index, 1)\n input(value)\n}\n\nconst emitEvent = (name: any, args: any, index: any) => {\n emit(name, ...args, data.cacheRule[index].$f, index)\n}\n\nconst expandRule = (n: any) => {\n for (let i = 0; i < n; i++) {\n // eslint-disable-next-line vue/no-mutating-props\n props.modelValue.push(props.field ? null : {})\n }\n}\n\nconst d = (props.expand || 0) - props.modelValue.length\nfor (let i = 0; i < props.modelValue.length; i++) {\n addRule(i)\n}\nif (d > 0) {\n expandRule(d)\n}\n</script>\n"],"names":["__MACROS_defineComponent","val","d","formData","value"],"mappings":";;;;;;;;;AAEA,MAA6B,cAAAA,eAAyB,CAAA;AAAA,EACpD,IAAM,EAAA,SAAA;AACR,CAAC,CAAA,CAAA;;;;;;;;;;;;;AA2ED,IAAA,MAAM,OAAY,QAAS,CAAA;AAAA,MACzB,GAAK,EAAA,CAAA;AAAA,MACL,WAAW,EAAC;AAAA,MACZ,YAAY,EAAC;AAAA,MACb,MAAM,EAAC;AAAA,MACP,MAAM,OAAQ,CAAA,KAAA,CAAM,gBAAiB,CAAA,IAAA,CAAK,OAAO,CAAA;AAAA,MACjD,OAAS,EAAA,IAAA;AAAA,KACV,CAAA,CAAA;AAED,IAAA,MAAM,wBAAwB,QAAS,CAAA;AAAA,MACrC,UAAA,EAAY,CAAC,CAAC,CAAA;AAAA,KACf,CAAA,CAAA;AAED,IAAA,MAAM,OAAO,IAAK,CAAA,IAAA,CAAA;AAElB,IAAA,KAAA;AAAA,MACE,MAAM,KAAM,CAAA,IAAA;AAAA;AAAA,MACZ,CAAC,GAAG,CAAM,KAAA;AAER,QAAA,MAAA,CAAO,KAAK,IAAK,CAAA,SAAS,CAAE,CAAA,OAAA,CAAQ,CAAC,CAAM,KAAA;AACzC,UAAM,MAAA,IAAA,GAAO,IAAK,CAAA,SAAA,CAAU,CAAC,CAAA,CAAA;AAC7B,UAAA,IAAI,KAAK,EAAI,EAAA;AACX,YAAM,MAAA,GAAA,GAAM,IAAK,CAAA,EAAA,CAAG,QAAS,EAAA,CAAA;AAC7B,YAAA,IAAI,MAAM,CAAG,EAAA;AACX,cAAK,IAAA,CAAA,EAAA,CAAG,eAAe,MAAM;AAC3B,gBAAW,UAAA,CAAA,IAAA,CAAK,IAAM,EAAA,CAAA,EAAG,KAAK,CAAA,CAAA;AAC9B,gBAAK,IAAA,CAAA,EAAA,CAAG,SAAS,GAAG,CAAA,CAAA;AAAA,iBACnB,IAAI,CAAA,CAAA;AAAA,aACF,MAAA;AACL,cAAMC,MAAAA,IAAAA,GAAM,IAAK,CAAA,EAAA,CAAG,QAAS,EAAA,CAAA;AAC7B,cAAK,IAAA,CAAA,EAAA,CAAG,IAAK,CAAA,WAAA,EAAa,MAAM;AAC9B,gBAAK,IAAA,CAAA,EAAA,CAAG,SAASA,IAAG,CAAA,CAAA;AAAA,eACrB,CAAA,CAAA;AACD,cAAK,IAAA,CAAA,IAAA,GAAO,SAAS,CAAC,CAAA,CAAA;AAAA,aACxB;AAAA,WACF;AAAA,SACD,CAAA,CAAA;AAAA,OACH;AAAA,MACA,EAAE,MAAM,IAAK,EAAA;AAAA;AAAA,KACf,CAAA;AAEA,IAAA,KAAA;AAAA,MACE,MAAM,KAAM,CAAA,QAAA;AAAA;AAAA,MACZ,CAAC,CAAM,KAAA;AAEL,QAAA,IAAI,MAAM,YAAc,EAAA;AACtB,UAAA,MAAM,MAAM,IAAK,CAAA,SAAA,CAAA;AACjB,UAAA,MAAA,CAAO,IAAK,CAAA,GAAG,CAAE,CAAA,OAAA,CAAQ,CAAC,CAAM,KAAA;AAC9B,YAAA,GAAA,CAAI,CAAC,CAAA,CAAE,EAAG,CAAA,QAAA,CAAS,CAAC,CAAA,CAAA;AAAA,WACrB,CAAA,CAAA;AAAA,SACH;AAAA,OACF;AAAA,KACF,CAAA;AAEA,IAAA,KAAA;AAAA,MACE,MAAM,KAAM,CAAA,MAAA;AAAA;AAAA,MACZ,CAAC,CAAM,KAAA;AAEL,QAAMC,MAAAA,EAAAA,GAAI,CAAI,GAAA,KAAA,CAAM,UAAW,CAAA,MAAA,CAAA;AAC/B,QAAA,IAAIA,KAAI,CAAG,EAAA;AACT,UAAA,UAAA,CAAWA,EAAC,CAAA,CAAA;AAAA,SACd;AAAA,OACF;AAAA,KACF,CAAA;AAEA,IAAA,KAAA;AAAA,MACE,MAAM,KAAM,CAAA,UAAA;AAAA;AAAA,MACZ,CAAC,CAAM,KAAA;AAEL,QAAA,CAAA,GAAI,KAAK,EAAC,CAAA;AACV,QAAA,MAAM,IAAO,GAAA,MAAA,CAAO,IAAK,CAAA,IAAA,CAAK,SAAS,CAAA,CAAA;AACvC,QAAA,MAAM,QAAQ,IAAK,CAAA,MAAA,CAAA;AACnB,QAAM,MAAA,GAAA,GAAM,QAAQ,CAAE,CAAA,MAAA,CAAA;AACtB,QAAA,IAAI,MAAM,CAAG,EAAA;AACX,UAAA,KAAA,IAAS,CAAI,GAAA,GAAA,EAAK,CAAI,GAAA,CAAA,EAAG,CAAK,EAAA,EAAA;AAC5B,YAAQ,OAAA,CAAA,CAAA,CAAE,MAAS,GAAA,CAAA,EAAG,IAAI,CAAA,CAAA;AAAA,WAC5B;AACA,UAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,KAAA,EAAO,CAAK,EAAA,EAAA;AAC9B,YAAA,QAAA,CAAS,IAAK,CAAA,CAAC,CAAG,EAAA,CAAA,CAAE,CAAC,CAAC,CAAA,CAAA;AAAA,WACxB;AAAA,SACK,MAAA;AACL,UAAA,IAAI,MAAM,CAAG,EAAA;AACX,YAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,GAAA,EAAK,CAAK,EAAA,EAAA;AAC5B,cAAA,OAAA,CAAQ,IAAI,qBAAuB,EAAA,IAAA,CAAK,KAAQ,GAAA,CAAA,GAAI,CAAC,CAAC,CAAA,CAAA;AACtD,cAAA,UAAA,CAAW,IAAK,CAAA,KAAA,GAAQ,CAAI,GAAA,CAAC,CAAC,CAAA,CAAA;AAAA,aAChC;AAAA,WACF;AACA,UAAE,CAAA,CAAA,OAAA,CAAQ,CAAC,GAAA,EAAK,CAAM,KAAA;AACpB,YAAA,QAAA,CAAS,IAAK,CAAA,CAAC,CAAG,EAAA,CAAA,CAAE,CAAC,CAAC,CAAA,CAAA;AAAA,WACvB,CAAA,CAAA;AAAA,SACH;AAAA,OACF;AAAA,MACA,EAAE,MAAM,IAAK,EAAA;AAAA;AAAA,KACf,CAAA;AAEA,IAAA,KAAA;AAAA,MACE,OAAO,EAAE,GAAG,IAAA,CAAK,SAAU,EAAA,CAAA;AAAA,MAC3B,CAAC,CAAM,KAAA;AACL,QAAK,IAAA,CAAA,IAAA,GAAO,MAAO,CAAA,IAAA,CAAK,CAAC,CAAA,CAAA;AAAA,OAC3B;AAAA,MACA,EAAE,WAAW,IAAK,EAAA;AAAA,KACpB,CAAA;AAEA,IAAM,MAAA,aAAA,GAAgB,CAAC,KAAkB,KAAA;AACvC,MAAA,IAAI,MAAM,KAAO,EAAA;AACf,QAAO,OAAA,EAAE,CAAC,KAAA,CAAM,KAAK,GAAG,OAAO,KAAM,CAAA,UAAA,CAAW,KAAK,CAAC,CAAE,EAAA,CAAA;AAAA,OACnD,MAAA;AACL,QAAO,OAAA,KAAA,CAAM,WAAW,KAAK,CAAA,CAAA;AAAA,OAC/B;AAAA,KACF,CAAA;AAEA,IAAM,MAAA,QAAA,GAAW,CAAC,KAAkB,KAAA;AAClC,MAAI,IAAA,IAAA,CAAK,SAAU,CAAA,KAAK,CAAG,EAAA;AACzB,QAAA,MAAM,EAAE,IAAA,EAAS,GAAA,IAAA,CAAK,UAAU,KAAK,CAAA,CAAA;AACrC,QAAA,MAAM,eAAe,KAAM,CAAA,UAAA,GAAa,MAAM,UAAa,GAAA,IAAA,CAAK,CAAC,CAAG,EAAA,KAAA,CAAA;AACpE,QAAA,OAAO,KAAK,SAAU,CAAA,KAAK,EAAE,EAAI,EAAA,QAAA,CAAS,YAAY,CAAK,IAAA,0BAAA,CAAA;AAAA,OACtD,MAAA;AACL,QAAO,OAAA,0BAAA,CAAA;AAAA,OACT;AAAA,KACF,CAAA;AACA,IAAM,MAAA,MAAA,GAAS,CAAC,CAAW,KAAA;AACzB,MAAO,OAAA,CAAA,IAAK,YAAY,CAAG,EAAA,KAAA,CAAM,KAAK,CAAI,GAAA,CAAA,CAAE,KAAM,CAAA,KAAK,CAAI,GAAA,CAAA,CAAA;AAAA,KAC7D,CAAA;AACA,IAAM,MAAA,KAAA,GAAQ,CAAC,CAAA,EAAQ,GAAa,KAAA;AAClC,MAAA,IAAA,CAAK,UAAW,CAAA,CAAC,CAAI,GAAA,IAAA,CAAK,UAAU,GAAG,CAAA,CAAA;AAAA,KACzC,CAAA;AACA,IAAM,MAAA,KAAA,GAAQ,CAAC,KAAe,KAAA;AAC5B,MAAA,IAAA,CAAK,qBAAqB,KAAK,CAAA,CAAA;AAC/B,MAAA,IAAA,CAAK,UAAU,KAAK,CAAA,CAAA;AAAA,KACtB,CAAA;AACA,IAAM,MAAA,QAAA,GAAW,CAAC,KAAA,EAAYC,SAAkB,KAAA;AAC9C,MAAA,QAAA,CAAS,MAAM;AACb,QAAA,MAAM,IAAO,GAAA,MAAA,CAAO,IAAK,CAAA,IAAA,CAAK,SAAS,CAAA,CAAA;AACvC,QAAA,MAAM,KAAQ,GAAA,IAAA,CAAK,GAAI,CAAA,CAAC,CAAW,KAAA;AACjC,UAAM,MAAA,KAAA,GAAQ,KAAU,KAAA,CAAA,GAAIA,SAAW,GAAA,EAAE,GAAG,IAAA,CAAK,SAAU,CAAA,CAAC,CAAE,CAAA,EAAA,CAAG,IAAK,EAAA,CAAA;AACtE,UAAA,MAAMC,SAAQ,KAAM,CAAA,KAAA,GAAQ,MAAM,KAAM,CAAA,KAAK,KAAK,IAAO,GAAA,KAAA,CAAA;AACzD,UAAA,KAAA,CAAM,GAAGA,MAAK,CAAA,CAAA;AACd,UAAOA,OAAAA,MAAAA,CAAAA;AAAA,SACR,CAAA,CAAA;AACD,QAAA,KAAA,CAAM,KAAK,CAAA,CAAA;AAAA,OACZ,CAAA,CAAA;AAAA,KACH,CAAA;AAEA,IAAM,MAAA,KAAA,GAAQ,CAAC,KAAA,EAAY,EAAY,KAAA;AACrC,MAAK,IAAA,CAAA,SAAA,CAAU,KAAK,CAAA,CAAE,EAAK,GAAA,EAAA,CAAA;AAC3B,MAAA,QAAA,CAAS,MAAM;AACb,QAAA,IAAI,MAAM,YAAc,EAAA;AACtB,UAAG,EAAA,CAAA,QAAA,CAAS,MAAM,QAAQ,CAAA,CAAA;AAAA,SAC5B;AACA,QAAK,IAAA,CAAA,aAAA,EAAe,IAAI,MAAO,CAAA,IAAA,CAAK,KAAK,SAAS,CAAA,CAAE,OAAQ,CAAA,KAAK,CAAC,CAAA,CAAA;AAAA,OACnE,CAAA,CAAA;AAAA,KACH,CAAA;AAEA,IAAA,SAAA,CAAU,MAAM;AACd,MAAA,IAAA,CAAK,OAAU,GAAA,KAAA,CAAA;AAAA,KAChB,CAAA,CAAA;AAED,IAAM,MAAA,QAAA,GAAW,CAAC,GAAA,EAAU,KAAe,KAAA;AACzC,MAAA,MAAM,QAAQ,KAAM,CAAA,KAAA,CAAA;AACpB,MAAA,IAAI,KAAO,EAAA;AACT,QAAA,KAAA,GAAQ,EAAE,CAAC,KAAK,GAAG,MAAA,CAAO,KAAK,CAAE,EAAA,CAAA;AAAA,OACnC;AACA,MAAI,IAAA,IAAA,CAAK,UAAW,CAAA,GAAG,CAAM,KAAA,IAAA,CAAK,SAAU,CAAA,KAAA,GAAQ,KAAM,CAAA,KAAK,CAAI,GAAA,KAAK,CAAG,EAAA;AACzE,QAAA,OAAA;AAAA,OACF;AACA,MAAA,KAAA,CAAM,KAAK,KAAK,CAAA,CAAA;AAAA,KAClB,CAAA;AACA,IAAA,MAAM,OAAU,GAAA,CAAC,KAAY,EAAA,MAAA,GAAS,KAAU,KAAA;AAC9C,MAAM,MAAA,IAAA,GAAO,MAAM,gBAAiB,CAAA,IAAA,CAAK,UAAU,KAAM,CAAA,IAAA,IAAQ,EAAE,CAAA,CAAA;AACnE,MAAA,MAAM,UAAe,KAAM,CAAA,OAAA,GACvB,EAAE,GAAG,KAAA,CAAM,SACX,GAAA;AAAA,QACE,SAAW,EAAA,KAAA;AAAA,QACX,QAAU,EAAA,KAAA;AAAA,OACZ,CAAA;AACJ,MAAA,IAAI,MAAM,YAAc,EAAA;AACtB,QAAA,IAAI,CAAC,OAAQ,CAAA,QAAA;AAAU,UAAA,OAAA,CAAQ,WAAW,EAAC,CAAA;AAC3C,QAAM,MAAA,MAAA,GAAS,QAAS,CAAA,KAAA,CAAM,YAAY,CAAA,CAAA;AAC1C,QAAO,MAAA,CAAA,OAAA,CAAQ,QAAU,EAAA,KAAA,CAAM,KAAQ,GAAA,EAAE,CAAC,KAAA,CAAM,KAAK,GAAG,MAAO,EAAA,GAAI,MAAM,CAAA,CAAA;AAAA,OAC3E;AACA,MAAM,KAAA,CAAA,KAAA,IAAS,KAAM,CAAA,KAAA,CAAM,EAAE,IAAA,EAAM,SAAS,KAAO,EAAA,IAAA,CAAK,IAAK,CAAA,MAAA,EAAQ,CAAA,CAAA;AACrE,MAAA,IAAA,CAAK,SAAU,CAAA,KAAK,CAAI,GAAA,EAAE,MAAM,OAAQ,EAAA,CAAA;AACxC,MAAA,IAAI,MAAQ,EAAA;AACV,QAAS,QAAA,CAAA,MAAM,IAAK,CAAA,KAAA,EAAO,IAAM,EAAA,MAAA,CAAO,IAAK,CAAA,IAAA,CAAK,SAAS,CAAA,CAAE,MAAS,GAAA,CAAC,CAAC,CAAA,CAAA;AAAA,OAC1E;AAAA,KACF,CAAA;AAEA,IAAA,MAAM,UAAa,GAAA,CAAC,KAAY,EAAA,MAAA,GAAS,KAAU,KAAA;AACjD,MAAO,OAAA,IAAA,CAAK,UAAU,KAAK,CAAA,CAAA;AAC3B,MAAO,OAAA,IAAA,CAAK,WAAW,KAAK,CAAA,CAAA;AAC5B,MAAA,IAAI,MAAQ,EAAA;AACV,QAAA,QAAA,CAAS,MAAM,IAAA,CAAK,QAAU,EAAA,KAAK,CAAC,CAAA,CAAA;AAAA,OACtC;AAAA,KACF,CAAA;AACA,IAAA,MAAM,MAAM,MAAM;AAChB,MAAA,IAAI,MAAM,QAAY,IAAA,KAAA,CAAM,YAAY,KAAM,CAAA,UAAU,MAAM,KAAO,EAAA;AACnE,QAAA,OAAA;AAAA,OACF;AACA,MAAA,MAAM,KAAQ,GAAA,CAAC,GAAG,KAAA,CAAM,UAAU,CAAA,CAAA;AAClC,MAAM,KAAA,CAAA,IAAA;AAAA,QACJ,KAAA,CAAM,eAAe,QAAS,CAAA,KAAA,CAAM,YAAY,CAAI,GAAA,KAAA,CAAM,KAAQ,GAAA,IAAA,GAAO,EAAC;AAAA,OAC5E,CAAA;AACA,MAAA,KAAA,CAAM,KAAK,CAAA,CAAA;AACX,MAAA,qBAAA,CAAsB,UAAa,GAAA,CAAC,KAAM,CAAA,MAAA,GAAS,CAAC,CAAA,CAAA;AAAA,KACtD,CAAA;AACA,IAAM,MAAA,GAAA,GAAM,CAAC,KAAA,EAAe,GAAgB,KAAA;AAC1C,MACE,IAAA,KAAA,CAAM,YACN,KAAM,CAAA,cAAA,CAAe,MAAM,UAAY,EAAA,KAAK,MAAM,KAClD,EAAA;AACA,QAAA,OAAA;AAAA,OACF;AACA,MAAA,MAAM,KAAQ,GAAA,CAAC,GAAG,KAAA,CAAM,UAAU,CAAA,CAAA;AAClC,MAAM,KAAA,CAAA,MAAA,CAAO,OAAO,CAAC,CAAA,CAAA;AACrB,MAAA,KAAA,CAAM,KAAK,CAAA,CAAA;AAAA,KACb,CAAA;AAEA,IAAA,MAAM,SAAY,GAAA,CAAC,IAAW,EAAA,IAAA,EAAW,KAAe,KAAA;AACtD,MAAK,IAAA,CAAA,IAAA,EAAM,GAAG,IAAM,EAAA,IAAA,CAAK,UAAU,KAAK,CAAA,CAAE,IAAI,KAAK,CAAA,CAAA;AAAA,KACrD,CAAA;AAEA,IAAM,MAAA,UAAA,GAAa,CAAC,CAAW,KAAA;AAC7B,MAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,CAAA,EAAG,CAAK,EAAA,EAAA;AAE1B,QAAA,KAAA,CAAM,WAAW,IAAK,CAAA,KAAA,CAAM,KAAQ,GAAA,IAAA,GAAO,EAAE,CAAA,CAAA;AAAA,OAC/C;AAAA,KACF,CAAA;AAEA,IAAA,MAAM,CAAK,GAAA,CAAA,KAAA,CAAM,MAAU,IAAA,CAAA,IAAK,MAAM,UAAW,CAAA,MAAA,CAAA;AACjD,IAAA,KAAA,IAAS,IAAI,CAAG,EAAA,CAAA,GAAI,KAAM,CAAA,UAAA,CAAW,QAAQ,CAAK,EAAA,EAAA;AAChD,MAAA,OAAA,CAAQ,CAAC,CAAA,CAAA;AAAA,KACX;AACA,IAAA,IAAI,IAAI,CAAG,EAAA;AACT,MAAA,UAAA,CAAW,CAAC,CAAA,CAAA;AAAA,KACd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
1
|
+
{"version":3,"file":"group.vue2.mjs","sources":["../../../src/group/src/group.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as __MACROS_defineComponent } from \"vue\";\nexport default /*#__PURE__*/ __MACROS_defineComponent({\n name: 'DkGroup',\n});\n</script>\n<template>\n <div :class=\"'dk-group _fc-group ' + (disabled ? '_fc-group-disabled' : '')\">\n <el-divider v-if=\"props.title\">{{ props.title }}</el-divider>\n <div v-if=\"data.sort.length === 0\">\n <el-button :key=\"'a_def'\" style=\"width: 100%\" @click=\"add\"> 添加数据 </el-button>\n </div>\n <draggable\n tag=\"el-collapse\"\n :list=\"props.modelValue\"\n :component-data=\"collapseComponentData\"\n item-key=\"id\"\n handle=\".collapse-title-rank\"\n >\n <template #item=\"{ element, index }\">\n <el-collapse-item :title=\"element.title\" :name=\"index\">\n <template #title>\n <div class=\"collapse-title\">\n <dk-icon icon=\"Rank\" class=\"collapse-title-rank\"></dk-icon>\n <span>{{ getTitle(index) }}</span>\n </div>\n </template>\n <template #default>\n <div :key=\"index\" class=\"_dk-group-container\">\n <Type\n :key=\"index\"\n :in-for=\"true\"\n :model-value=\"getFieldValue(index)\"\n :rule=\"data.cacheRule[index].rule\"\n :option=\"data.cacheRule[index].options\"\n :extend-option=\"true\"\n @update:modelValue=\"formData(index, $event)\"\n @emit-event=\"(name: any, ...args: any) => emitEvent(name, args, index)\"\n @update:api=\"($f: any) => add$f(index, $f)\"\n />\n <div class=\"_dk-group-handle\">\n <el-button-group>\n <el-button icon=\"Plus\" plain @click=\"add\" />\n <el-button icon=\"Delete\" plain @click=\"del(index, index + 1)\" />\n </el-button-group>\n </div>\n </div>\n </template>\n </el-collapse-item>\n </template>\n </draggable>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { markRaw, nextTick, reactive, watch, onMounted } from 'vue'\nimport { deepCopy, deepExtend, hasProperty } from '../utils/utils'\nimport extend from '../utils/extend'\n// import draggable from 'vuedraggable'\nimport { groupProps } from './props'\n\n\n\nconst props = defineProps(groupProps)\nconst emit = defineEmits(['update:modelValue', 'change', 'itemMounted', 'remove', 'add'])\nconst data: any = reactive({\n len: 0,\n cacheRule: {},\n cacheValue: {},\n sort: [],\n form: markRaw(props.formCreateInject.form.$form()),\n loading: true,\n})\n\nconst collapseComponentData = reactive({\n modelValue: [0],\n})\n\nconst Type = data.form\n\nwatch(\n () => props.rule, // 侦听 rule 属性\n (n, o) => {\n // 您原来的 handler 逻辑\n Object.keys(data.cacheRule).forEach((v) => {\n const item = data.cacheRule[v]\n if (item.$f) {\n const val = item.$f.formData()\n if (n === o) {\n item.$f.deferSyncValue(() => {\n deepExtend(item.rule, n, false)\n item.$f.setValue(val)\n }, true)\n } else {\n const val = item.$f.formData()\n item.$f.once('reloading', () => {\n item.$f.setValue(val)\n })\n item.rule = deepCopy(n)\n }\n }\n })\n },\n { deep: true } // 深度侦听\n)\n\nwatch(\n () => props.disabled, // 侦听 disabled 属性\n (n) => {\n // 您原来的 disabled 逻辑\n if (props.syncDisabled) {\n const lst = data.cacheRule\n Object.keys(lst).forEach((k) => {\n lst[k].$f.disabled(n)\n })\n }\n }\n)\n\nwatch(\n () => props.expand, // 侦听 expand 属性\n (n) => {\n // 您原来的 expand 逻辑\n const d = n - props.modelValue.length\n if (d > 0) {\n expandRule(d)\n }\n }\n)\n\nwatch(\n () => props.modelValue, // 侦听 modelValue 属性\n (n) => {\n // 您原来的 modelValue 逻辑\n n = n || []\n const keys = Object.keys(data.cacheRule)\n const total = keys.length // 缓存数\n const len = total - n.length // 缓存数-value数\n if (len < 0) {\n for (let i = len; i < 0; i++) {\n addRule(n.length - 1, true)\n }\n for (let i = 0; i < total; i++) {\n setValue(keys[i], n[i])\n }\n } else {\n if (len > 0) {\n for (let i = 0; i < len; i++) {\n console.log('keys[total - i - 1]', keys[total - i - 1])\n removeRule(keys[total - i - 1])\n }\n }\n n.forEach((val, i) => {\n setValue(keys[i], n[i])\n })\n }\n },\n { deep: true } // 深度侦听\n)\n\nwatch(\n () => ({ ...data.cacheRule }),\n (n) => {\n data.sort = Object.keys(n)\n },\n { immediate: true }\n)\n\nconst getFieldValue = (index: number) => {\n if (props.field) {\n return { [props.field]: _value(props.modelValue[index]) }\n } else {\n return props.modelValue[index]\n }\n}\n\nconst getTitle = (index: number) => {\n if (data.cacheRule[index]) {\n const { rule } = data.cacheRule[index]\n const defaultField = props.titleField ? props.titleField : rule[0]?.field\n return data.cacheRule[index].$f?.getValue(defaultField) || '点击展开'\n } else {\n return '点击展开'\n }\n}\nconst _value = (v: any) => {\n return v && hasProperty(v, props.field) ? v[props.field] : v\n}\nconst cache = (k: any, val: any) => {\n data.cacheValue[k] = JSON.stringify(val)\n}\nconst input = (value: any) => {\n emit('update:modelValue', value)\n emit('change', value)\n}\nconst formData = (index: any, formData: any) => {\n nextTick(() => {\n const keys = Object.keys(data.cacheRule)\n const value = keys.map((k: any) => {\n const _data = index === k ? formData : { ...data.cacheRule[k].$f.form }\n const value = props.field ? _data[props.field] || null : _data\n cache(k, value)\n return value\n })\n input(value)\n })\n}\n\nconst add$f = (index: any, $f: any) => {\n data.cacheRule[index].$f = $f\n nextTick(() => {\n if (props.syncDisabled) {\n $f.disabled(props.disabled)\n }\n emit('itemMounted', $f, Object.keys(data.cacheRule).indexOf(index))\n })\n}\n\nonMounted(() => {\n data.loading = false\n})\n\nconst setValue = (key: any, value: any) => {\n const field = props.field\n if (field) {\n value = { [field]: _value(value) }\n }\n if (data.cacheValue[key] === JSON.stringify(field ? value[field] : value)) {\n return\n }\n cache(key, value)\n}\nconst addRule = (index: any, isEmit = false) => {\n const rule = props.formCreateInject.form.copyRules(props.rule || [])\n const options: any = props.options\n ? { ...props.options }\n : {\n submitBtn: false,\n resetBtn: false,\n }\n if (props.defaultValue) {\n if (!options.formData) options.formData = {}\n const defVal = deepCopy(props.defaultValue)\n extend(options.formData, props.field ? { [props.field]: defVal } : defVal)\n }\n props.parse && props.parse({ rule, options, index: data.sort.length })\n data.cacheRule[index] = { rule, options }\n if (isEmit) {\n nextTick(() => emit('add', rule, Object.keys(data.cacheRule).length - 1))\n }\n}\n\nconst removeRule = (index: any, isEmit = false) => {\n delete data.cacheRule[index]\n delete data.cacheValue[index]\n if (isEmit) {\n nextTick(() => emit('remove', index))\n }\n}\nconst add = () => {\n if (props.disabled || props.onBeforeAdd(props.modelValue) === false) {\n return\n }\n const value = [...props.modelValue]\n value.push(props.defaultValue ? deepCopy(props.defaultValue) : props.field ? null : {})\n input(value)\n collapseComponentData.modelValue = [value.length - 1]\n}\nconst del = (index: number, key: number) => {\n if (props.disabled || props.onBeforeRemove(props.modelValue, index) === false) {\n return\n }\n const value = [...props.modelValue]\n value.splice(index, 1)\n input(value)\n}\n\nconst emitEvent = (name: any, args: any, index: any) => {\n emit(name, ...args, data.cacheRule[index].$f, index)\n}\n\nconst expandRule = (n: any) => {\n for (let i = 0; i < n; i++) {\n // eslint-disable-next-line vue/no-mutating-props\n props.modelValue.push(props.field ? null : {})\n }\n}\n\nconst d = (props.expand || 0) - props.modelValue.length\nfor (let i = 0; i < props.modelValue.length; i++) {\n addRule(i)\n}\nif (d > 0) {\n expandRule(d)\n}\n</script>\n"],"names":["__MACROS_defineComponent","val","d","formData","value"],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"hot-area-content.vue2.mjs","sources":["../../../../src/hot-area-input/src/component/hot-area-content.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as __MACROS_defineComponent } from \"vue\";\nexport default /*#__PURE__*/ __MACROS_defineComponent({\n name: 'HotAreaContent',\n});\n</script>\n<template>\n <div class=\"hot-area-content\">\n <div class=\"hot-area-draggable\">\n <div\n v-if=\"hotData.background\"\n :style=\"{\n width: hotData.width + 'px',\n height: hotData.height + 'px',\n backgroundImage: 'url(' + hotData.background + ')',\n }\"\n style=\"background-size: 100% 100%\"\n @contextmenu.prevent\n >\n <vue3-draggable-resizable\n v-for=\"(item, key) in hotData.views\"\n :key=\"key\"\n ref=\"draggables\"\n v-model:h=\"item.css.height\"\n v-model:x=\"item.css.left\"\n v-model:y=\"item.css.top\"\n v-model:w=\"item.css.width\"\n :init-w=\"item.css.width\"\n :init-h=\"item.css.height\"\n :parent=\"true\"\n style=\"cursor: move\"\n :min-width=\"20\"\n :min-height=\"20\"\n @resizing=\"onResize\"\n @dragging=\"onDrag\"\n @mousedown=\"index = key\"\n >\n <div
|
1
|
+
{"version":3,"file":"hot-area-content.vue2.mjs","sources":["../../../../src/hot-area-input/src/component/hot-area-content.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as __MACROS_defineComponent } from \"vue\";\nexport default /*#__PURE__*/ __MACROS_defineComponent({\n name: 'HotAreaContent',\n});\n</script>\n<template>\n <div class=\"hot-area-content\">\n <div class=\"hot-area-draggable\">\n <div\n v-if=\"hotData.background\"\n :style=\"{\n width: hotData.width + 'px',\n height: hotData.height + 'px',\n backgroundImage: 'url(' + hotData.background + ')',\n }\"\n style=\"background-size: 100% 100%\"\n @contextmenu.prevent\n >\n <vue3-draggable-resizable\n v-for=\"(item, key) in hotData.views\"\n :key=\"key\"\n ref=\"draggables\"\n v-model:h=\"item.css.height\"\n v-model:x=\"item.css.left\"\n v-model:y=\"item.css.top\"\n v-model:w=\"item.css.width\"\n :init-w=\"item.css.width\"\n :init-h=\"item.css.height\"\n :parent=\"true\"\n style=\"cursor: move\"\n :min-width=\"20\"\n :min-height=\"20\"\n @resizing=\"onResize\"\n @dragging=\"onDrag\"\n @mousedown=\"index = key\"\n >\n <div\n class=\"hot-item-content\"\n style=\"\n position: relative;\n width: 100%;\n height: 100%;\n background: #0003;\n \"\n >\n {{ key + 1 }}\n </div>\n </vue3-draggable-resizable>\n </div>\n <div v-else style=\"width: 500px; height: 500px\">\n <el-empty description=\"请上传图片\"></el-empty>\n </div>\n </div>\n <div class=\"hot-area-form\">\n <h3 style=\"margin-top: 0; font-size: 16px; font-weight: 500\">热区管理</h3>\n <el-form label-width=\"80px\" label-position=\"left\">\n <el-form-item label=\"背景图 \">\n <dk-image-input v-model=\"hotData.background\" />\n </el-form-item>\n <el-form-item\n v-for=\"(item, key) in hotData.views\"\n :key=\"key\"\n :label=\"'热区' + (key + 1)\"\n >\n <el-input v-model=\"hotData.views[key].url\" placeholder=\"填写跳转地址\">\n <template #append>\n <el-button @click=\"delView(key)\">删除</el-button>\n </template>\n </el-input>\n </el-form-item>\n </el-form>\n <el-button\n :disabled=\"!hotData.background\"\n type=\"primary\"\n @click=\"addView()\"\n >{{ hotData.background ? '添加热区' : '请先上传图片' }}</el-button\n >\n </div>\n </div>\n</template>\n<script setup lang=\"ts\">\n// import Vue3DraggableResizable, { DraggableContainer } from 'vue3-draggable-resizable'\nimport { reactive, ref, watch, onMounted } from 'vue'\n\n\nconst props = defineProps({\n hotDataValue: {\n default: () => {\n return {\n views: [],\n width: 400,\n height: 400,\n background: null,\n }\n },\n type: Object,\n },\n})\nconst index = ref(0)\nconst hotData = reactive(props.hotDataValue)\nconst addView = () => {\n // 这里hotData可以能没有views,如果没有就添加上views\n if (!Array.isArray(hotData.views)) {\n hotData.views = []\n }\n hotData.views.push({\n css: {\n left: 0,\n top: 0,\n width: 80,\n height: 80,\n borderRadius: 0,\n borderColor: '#fff',\n },\n url: '',\n })\n}\n\nconst delView = (indexToDelete: any) => {\n if (indexToDelete >= 0 && indexToDelete < hotData.views.length) {\n hotData.views.splice(indexToDelete, 1)\n }\n}\n\nconst onDrag = (p: any) => {\n const css = hotData.views[index.value].css\n css.left = p.x\n css.top = p.y\n}\nconst onResize = (p: any) => {\n const css = hotData.views[index.value].css\n css.left = p.x\n css.top = p.y\n css.width = p.w\n css.height = p.h\n}\n\nonMounted(() => {\n resetSize()\n})\n\nwatch(\n () => hotData?.background,\n () => {\n resetSize()\n }\n)\n\nconst resetSize = () => {\n if (hotData.background) {\n getImageSize(hotData.background)\n .then((image: any) => {\n hotData.width = 500\n hotData.height = (image.height * 500) / image.width\n setTimeout(() => {\n // checkParentSize()\n }, 200)\n })\n .catch(() => {})\n }\n}\n\nconst getImageSize = (url: any) => {\n return new Promise(function (resolve, reject) {\n const image = new Image()\n image.onload = function () {\n resolve({\n width: image.width,\n height: image.height,\n })\n }\n image.onerror = function () {\n reject(new Error('error'))\n }\n image.src = url\n })\n}\n</script>\n"],"names":["__MACROS_defineComponent"],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"hot-area-input.vue2.mjs","sources":["../../../src/hot-area-input/src/hot-area-input.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as __MACROS_defineComponent } from \"vue\";\nexport default /*#__PURE__*/ __MACROS_defineComponent({\n name: 'DkHotAreaInput',\n});\n</script>\n<template>\n <div class=\"dk-hot-area-input\">\n <el-button type=\"primary\" @click=\"dialog = true\">设置热区</el-button>\n <dk-dialog v-model=\"dialog\" width=\"1000px\" title=\"设置热区\">\n <hot-area-content :hot-data-value=\"input\"></hot-area-content>\n <template #footer>\n <div class=\"text-center\">\n <el-button
|
1
|
+
{"version":3,"file":"hot-area-input.vue2.mjs","sources":["../../../src/hot-area-input/src/hot-area-input.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as __MACROS_defineComponent } from \"vue\";\nexport default /*#__PURE__*/ __MACROS_defineComponent({\n name: 'DkHotAreaInput',\n});\n</script>\n<template>\n <div class=\"dk-hot-area-input\">\n <el-button type=\"primary\" @click=\"dialog = true\">设置热区</el-button>\n <dk-dialog v-model=\"dialog\" width=\"1000px\" title=\"设置热区\">\n <hot-area-content :hot-data-value=\"input\"></hot-area-content>\n <template #footer>\n <div class=\"text-center\">\n <el-button\n size=\"default\"\n style=\"width: 200px\"\n type=\"primary\"\n @click=\"dialog = false\"\n >确定</el-button\n >\n </div>\n </template>\n </dk-dialog>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { hotAreaInputProps } from './props'\nimport { ref, reactive } from 'vue'\nimport HotAreaContent from './component/hot-area-content.vue'\n\n\nconst props = defineProps(hotAreaInputProps)\nconst input = reactive(props.modelValue)\nconst dialog = ref(false)\n</script>\n"],"names":["__MACROS_defineComponent"],"mappings":";;;;;;AAEA,MAA6B,cAAAA,eAAyB,CAAA;AAAA,EACpD,IAAM,EAAA,gBAAA;AACR,CAAC,CAAA,CAAA;;;;;;AA6BD,IAAM,MAAA,KAAA,GAAQ,QAAS,CAAA,KAAA,CAAM,UAAU,CAAA,CAAA;AACvC,IAAM,MAAA,MAAA,GAAS,IAAI,KAAK,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|