@vipl520/dk-ui 1.0.8 → 1.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/index.js +282 -115
  3. package/dist/index.min.js +7 -7
  4. package/dist/index.min.js.map +1 -1
  5. package/dist/index.min.mjs +7 -7
  6. package/dist/index.min.mjs.map +1 -1
  7. package/dist/index.mjs +282 -115
  8. package/dist/web-types.json +1 -1
  9. package/es/attachment/src/attachment.vue2.mjs +2 -1
  10. package/es/attachment/src/attachment.vue2.mjs.map +1 -1
  11. package/es/dialog/index.d.ts +15 -0
  12. package/es/dialog/src/dialog.vue.d.ts +9 -0
  13. package/es/dialog/src/dialog.vue2.mjs +3 -5
  14. package/es/dialog/src/dialog.vue2.mjs.map +1 -1
  15. package/es/dialog/src/props.d.ts +4 -0
  16. package/es/dialog/src/props.mjs +4 -0
  17. package/es/dialog/src/props.mjs.map +1 -1
  18. package/es/file-input/src/file-input.vue2.mjs +4 -15
  19. package/es/file-input/src/file-input.vue2.mjs.map +1 -1
  20. package/es/file-input/style/index.css +1 -1
  21. package/es/file-input/style/index.scss +3 -3
  22. package/es/form/index.d.ts +24 -9
  23. package/es/form/src/form.vue.d.ts +15 -5
  24. package/es/form/src/form.vue2.mjs +62 -10
  25. package/es/form/src/form.vue2.mjs.map +1 -1
  26. package/es/form/src/props.d.ts +7 -2
  27. package/es/form/src/props.mjs +7 -2
  28. package/es/form/src/props.mjs.map +1 -1
  29. package/es/icon/index.d.ts +12 -45
  30. package/es/icon/src/icon.vue.d.ts +6 -27
  31. package/es/icon/src/icon.vue2.mjs +9 -6
  32. package/es/icon/src/icon.vue2.mjs.map +1 -1
  33. package/es/icon/src/props.d.ts +3 -12
  34. package/es/icon/src/props.mjs +3 -12
  35. package/es/icon/src/props.mjs.map +1 -1
  36. package/es/index.scss +5 -0
  37. package/es/table/index.d.ts +15 -0
  38. package/es/table/src/components/ComSearch.vue2.mjs +79 -19
  39. package/es/table/src/components/ComSearch.vue2.mjs.map +1 -1
  40. package/es/table/src/components/FieldRender.vue2.mjs +37 -15
  41. package/es/table/src/components/FieldRender.vue2.mjs.map +1 -1
  42. package/es/table/src/components/header.vue2.mjs +9 -1
  43. package/es/table/src/components/header.vue2.mjs.map +1 -1
  44. package/es/table/src/props.d.ts +4 -0
  45. package/es/table/src/props.mjs +4 -0
  46. package/es/table/src/props.mjs.map +1 -1
  47. package/es/table/src/table.vue.d.ts +9 -0
  48. package/es/table/src/table.vue2.mjs +7 -6
  49. package/es/table/src/table.vue2.mjs.map +1 -1
  50. package/es/table/style/index.css +1 -1
  51. package/es/table/style/index.scss +1 -1
  52. package/es/table/utils/dkTable.d.ts +2 -0
  53. package/es/table/utils/dkTable.mjs +19 -1
  54. package/es/table/utils/dkTable.mjs.map +1 -1
  55. package/es/table/utils/dkTableApi.mjs +15 -7
  56. package/es/table/utils/dkTableApi.mjs.map +1 -1
  57. package/es/tiny-editor/src/tiny-editor.vue2.mjs +5 -2
  58. package/es/tiny-editor/src/tiny-editor.vue2.mjs.map +1 -1
  59. package/lib/attachment/src/attachment.vue2.js +5 -4
  60. package/lib/attachment/src/attachment.vue2.js.map +1 -1
  61. package/lib/dialog/index.d.ts +15 -0
  62. package/lib/dialog/src/dialog.vue.d.ts +9 -0
  63. package/lib/dialog/src/dialog.vue2.js +3 -5
  64. package/lib/dialog/src/dialog.vue2.js.map +1 -1
  65. package/lib/dialog/src/props.d.ts +4 -0
  66. package/lib/dialog/src/props.js +4 -0
  67. package/lib/dialog/src/props.js.map +1 -1
  68. package/lib/file-input/src/file-input.vue2.js +4 -15
  69. package/lib/file-input/src/file-input.vue2.js.map +1 -1
  70. package/lib/file-input/style/index.css +1 -1
  71. package/lib/file-input/style/index.scss +3 -3
  72. package/lib/form/index.d.ts +24 -9
  73. package/lib/form/src/form.vue.d.ts +15 -5
  74. package/lib/form/src/form.vue2.js +60 -8
  75. package/lib/form/src/form.vue2.js.map +1 -1
  76. package/lib/form/src/props.d.ts +7 -2
  77. package/lib/form/src/props.js +7 -2
  78. package/lib/form/src/props.js.map +1 -1
  79. package/lib/icon/index.d.ts +12 -45
  80. package/lib/icon/src/icon.vue.d.ts +6 -27
  81. package/lib/icon/src/icon.vue2.js +9 -6
  82. package/lib/icon/src/icon.vue2.js.map +1 -1
  83. package/lib/icon/src/props.d.ts +3 -12
  84. package/lib/icon/src/props.js +3 -12
  85. package/lib/icon/src/props.js.map +1 -1
  86. package/lib/index.scss +5 -0
  87. package/lib/table/index.d.ts +15 -0
  88. package/lib/table/src/components/ComSearch.vue2.js +79 -19
  89. package/lib/table/src/components/ComSearch.vue2.js.map +1 -1
  90. package/lib/table/src/components/FieldRender.vue2.js +37 -15
  91. package/lib/table/src/components/FieldRender.vue2.js.map +1 -1
  92. package/lib/table/src/components/header.vue2.js +8 -0
  93. package/lib/table/src/components/header.vue2.js.map +1 -1
  94. package/lib/table/src/props.d.ts +4 -0
  95. package/lib/table/src/props.js +4 -0
  96. package/lib/table/src/props.js.map +1 -1
  97. package/lib/table/src/table.vue.d.ts +9 -0
  98. package/lib/table/src/table.vue2.js +7 -6
  99. package/lib/table/src/table.vue2.js.map +1 -1
  100. package/lib/table/style/index.css +1 -1
  101. package/lib/table/style/index.scss +1 -1
  102. package/lib/table/utils/dkTable.d.ts +2 -0
  103. package/lib/table/utils/dkTable.js +19 -1
  104. package/lib/table/utils/dkTable.js.map +1 -1
  105. package/lib/table/utils/dkTableApi.js +15 -7
  106. package/lib/table/utils/dkTableApi.js.map +1 -1
  107. package/lib/tiny-editor/src/tiny-editor.vue2.js +4 -1
  108. package/lib/tiny-editor/src/tiny-editor.vue2.js.map +1 -1
  109. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"attachment.vue2.js","sources":["../../../src/attachment/src/attachment.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as __MACROS_defineComponent } from \"vue\";\nexport default /*#__PURE__*/ __MACROS_defineComponent({\n name: 'DkAttachment',\n});\n</script>\n<template>\n <div class=\"dk-attachment attachment\">\n <!-- 顶部-->\n <div class=\"attachment-header flex justify-between pt-5px pb-5px\">\n <div class=\"header-form z\">\n <el-input v-model=\"searchFileName\" placeholder=\"请输入附件名称\" class=\"input-with-select\">\n <template #append>\n <el-button :icon=\"Search\" />\n </template>\n </el-input>\n </div>\n <div class=\"header-button y\">\n <el-dropdown class=\"mr\" trigger=\"click\" @command=\"handleMoveAttachment\">\n <el-button type=\"info\" :disabled=\"chooseFileKey.length <= 0\"> 移动 </el-button>\n <template #dropdown>\n <el-dropdown-menu>\n <el-dropdown-item v-for=\"(item, key) in groupList\" :key=\"key\" :command=\"item.id\">\n {{ item.name }}\n </el-dropdown-item>\n </el-dropdown-menu>\n </template>\n </el-dropdown>\n <el-button type=\"danger\" :disabled=\"chooseFileKey.length <= 0\" @click=\"onDelete\"\n >删除<i class=\"el-icon-delete el-icon--right\"></i\n ></el-button>\n <el-upload\n ref=\"upload\"\n class=\"dk-upload-button\"\n :action=\"uploadUrl\"\n multiple\n :data=\"data\"\n :show-file-list=\"false\"\n :headers=\"headers\"\n :on-success=\"handleUploadSuccess\"\n :accept=\"_accept\"\n list-type=\"text\"\n >\n <el-button type=\"primary\">上传<i class=\"el-icon-upload el-icon--right\"></i></el-button>\n </el-upload>\n </div>\n </div>\n <!--内部-->\n <div class=\"attachment-content flex\">\n <!-- 分组-->\n <div class=\"attachment-group\">\n <h5 class=\"cursor-pointer flex items-center content-center\" @click=\"addGroup()\">\n 附件分组\n <el-icon class=\"m-l-5px\"><CirclePlusFilled /></el-icon>\n </h5>\n <ul class=\"group_list\">\n <li\n v-for=\"(item, key) in groupList\"\n :key=\"key\"\n :class=\"{ active: groupId === item.id }\"\n @click=\"selectGroup(item.id)\"\n >\n <dk-icon v-if=\"item.id === groupId\" icon=\"flat-color-icons:opened-folder\" />\n <dk-icon v-else icon=\"flat-color-icons:folder\" />\n\n <span class=\"ml-10px\">{{ item.name }}</span>\n\n <el-popover placement=\"right\" trigger=\"click\">\n <template #reference>\n <div class=\"op\">\n <el-icon v-if=\"item.id > 0\">\n <Tools />\n </el-icon>\n </div>\n </template>\n <template #default>\n <el-button size=\"small\" type=\"primary\" @click.stop=\"editGroup()\">编辑 </el-button>\n <el-button size=\"small\" type=\"danger\" @click=\"delGroup(item.id)\">删除</el-button>\n </template>\n </el-popover>\n </li>\n </ul>\n </div>\n <!-- 列表-->\n <div class=\"attachment-container\">\n <div v-if=\"loading || list.length > 0\" v-loading=\"loading\" class=\"p2\">\n <ul class=\"attachment-list cl\" :style=\"{ overflow: list.length > 10 ? 'auto' : '' }\">\n <li\n v-for=\"(item, key) in list\"\n :key=\"key\"\n :class=\"{ choose: chooseFileKey.indexOf(key) > -1 }\"\n @click=\"chooseAttachment(item, key)\"\n @contextmenu.prevent=\"contextMenuId = item.id\"\n >\n <div class=\"file\">\n <el-image v-if=\"item.type === 1\" class=\"file\" :src=\"item.url\" fit=\"contain\">\n <template #placeholder>\n <div class=\"u-m-t-30\">\n <i class=\"el-icon-loading\"></i>\n <span>加载中</span>\n </div>\n </template>\n </el-image>\n <div v-if=\"item.type === 2\">\n <dk-file-icon :file-name=\"item.filename\" :type=\"item.type\" />\n </div>\n <div v-if=\"item.type === 3\">\n <dk-file-icon :file-name=\"item.filename\" :type=\"item.type\" />\n </div>\n <div v-if=\"item.type === 0\">\n <dk-file-icon :file-name=\"item.filename\" />\n </div>\n </div>\n <div class=\"file-name over\">{{ item.name }}</div>\n <div class=\"right\">\n <el-icon>\n <Check />\n </el-icon>\n </div>\n </li>\n </ul>\n <div class=\"block p-10px\">\n <el-pagination\n :current-page=\"page\"\n layout=\"total, prev, pager, next, jumper,sizes\"\n :total=\"count\"\n :page-size=\"size\"\n @size-change=\"handleSizeChange\"\n @current-change=\"handleCurrentChange\"\n />\n </div>\n </div>\n <div v-else style=\"display: flex; align-items: center; justify-content: center; height: 340px\">\n <el-empty description=\"暂无数据\" />\n </div>\n <dk-form ref=\"groupForm\" :key=\"groupId\" :form-url=\"groupFormUrl\" :is-dialog=\"true\" @submit=\"onsubmit()\" />\n </div>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ref, reactive, onMounted, computed } from 'vue'\nimport {\n deleteAttachment,\n getAttachmentGroupList,\n getAttachmentList,\n moveAttachment,\n delAttachmentGroup,\n} from '../../api'\n\nimport { ElMessage, ElMessageBox } from 'element-plus'\nimport DkFileIcon from './file-icon.vue'\n\nimport { Search } from '@element-plus/icons-vue'\n\nimport { getAttachmentType, globalConfig } from '@vipl520/utils'\nimport { attachmentProps } from './props'\n\n\n\nconst props = defineProps(attachmentProps)\n\nconst _type = computed(() => {\n return getAttachmentType(props.type)\n})\n\n/** ****************顶部data****************/\n// 搜索的文件名\nconst searchFileName = ref('')\n// 选择文件Key\nconst chooseFileKey = ref<number[]>([])\n// 选中文件列表\nconst chooseFileList = ref<any[]>([])\n// 选中文件ID\nconst chooseFileId = ref<number[]>([])\n// 上传的地址\nconst uploadUrl = ref(globalConfig.ApiUrl)\nconst headers = ref({\n 'Access-Token': globalConfig.AccessToken,\n})\n// 上传的ref\nconst upload = ref()\n// 上传的数据\nconst data = reactive({\n type: _type.value,\n file: 'file',\n group_id: 0,\n})\n\n/** *****顶部的函数****************/\n\nconst handleMoveAttachment = (groupId: number) => {\n moveAttachment(chooseFileId.value, groupId).then((res) => {\n ElMessage.success(res.msg)\n onGetAttachmentList()\n })\n}\n\nconst handleUploadSuccess = (res: any) => {\n if (res.code === 0) {\n ElMessage.success(res.msg)\n // upload.value.clearFiles()\n onGetAttachmentList()\n } else {\n ElMessage.error(res.msg)\n }\n}\n\nconst _accept = computed(() => {\n let _accept = ''\n if (props.accept) {\n return props.accept\n } else {\n switch (_type.value) {\n case 0:\n break\n case 1:\n _accept = 'image/*'\n break\n case 2:\n _accept = 'audio/*'\n break\n case 3:\n _accept = 'video/*'\n break\n }\n return _accept\n }\n})\n\nconst onDelete = () => {\n // 改成element-plus\n ElMessageBox.confirm('此操作将永久删除文件, 是否继续?', '提示', {\n confirmButtonText: '确定',\n cancelButtonText: '取消',\n }).then(() => {\n try {\n deleteAttachment(chooseFileId.value)\n .then((res) => {\n console.log(res)\n onGetAttachmentList()\n })\n .catch((res) => {\n console.log('deleteAttachment error', res)\n })\n } catch (e) {\n console.log(e)\n }\n })\n}\n/** ****************分组data****************/\n// 分组列表\nconst groupList = ref<any>([])\n// 选中分组\n/** **********分组的函数****************/\n\nconst groupFormUrl = computed(() => {\n if (groupId.value === 0) {\n return {\n url: globalConfig.ApiUrl + '/adminapi/attachment/group/create',\n method: 'get',\n }\n } else {\n return {\n url: globalConfig.ApiUrl + '/adminapi/attachment/group/' + groupId.value + '/edit',\n method: 'get',\n }\n }\n})\n\nconst groupForm = ref()\n\nconst addGroup = () => {\n // TODO 添加文件分组\n groupId.value = 0\n groupForm.value.show()\n}\n\nconst delGroup = (id: number) => {\n // 改为Vue3\n ElMessageBox.confirm('此操作将永久删除该分组, 是否继续?', '提示', {\n confirmButtonText: '确定',\n cancelButtonText: '取消',\n type: 'warning',\n }).then(() => {\n try {\n delAttachmentGroup(id)\n .then((res) => {\n ElMessage.success(res.msg)\n onsubmit()\n })\n .catch(() => {})\n } catch (e) {\n console.log(e)\n }\n })\n}\n\nconst editGroup = () => {\n groupForm.value.show()\n}\n\nconst onsubmit = () => {\n getGroupList()\n onGetAttachmentList()\n}\n\nconst selectGroup = (id: number) => {\n groupId.value = id\n page.value = 1\n onGetAttachmentList()\n}\n\nconst getGroupList = async () => {\n try {\n const res = await getAttachmentGroupList(_type.value)\n groupList.value = res.data\n } catch (e) {\n // console.log(e)\n }\n}\n\n/** ****************附件列表*********************/\nconst loading = ref(true)\nconst list = ref<any>([])\nconst page = ref(1)\nconst count = ref(0)\nconst size = ref(10)\nconst contextMenuId = ref(0)\nconst groupId = ref(0)\n\n/** ***************列表函数*******************/\n\n// const editAttachment = () => {\n// // TODO 编辑附件\n// }\n\nconst handleSizeChange = (val: number) => {\n size.value = val\n onGetAttachmentList()\n}\n\n// 改变页码\nconst handleCurrentChange = (val: number) => {\n page.value = val\n onGetAttachmentList()\n}\nconst onGetAttachmentList = async (search = {}) => {\n clearChoose()\n // groupId.value = group_id\n // loading.value = true\n try {\n const res = await getAttachmentList(page.value, size.value, _type.value, groupId.value, search)\n list.value = res.data\n count.value = res.msg\n loading.value = false\n } catch (e) {\n console.log(e)\n }\n}\n\nconst clearChoose = () => {\n chooseFileKey.value = []\n chooseFileId.value = []\n chooseFileList.value = []\n}\n\nconst chooseAttachment = (item: any, key: number) => {\n const index = chooseFileKey.value.indexOf(key)\n if (index > -1) {\n chooseFileKey.value.splice(index, 1)\n chooseFileId.value.splice(index, 1)\n chooseFileList.value.splice(index, 1)\n } else {\n chooseFileKey.value.push(key)\n chooseFileId.value.push(item.id)\n chooseFileList.value.push(item)\n }\n}\n\nonMounted(() => {\n getGroupList()\n onGetAttachmentList()\n})\n\ndefineExpose({\n chooseFileId,\n chooseFileKey,\n chooseFileList,\n clearChoose,\n})\n</script>\n"],"names":["__MACROS_defineComponent","computed","getAttachmentType","ref","globalConfig","reactive","groupId","moveAttachment","ElMessage","_accept","ElMessageBox","deleteAttachment","delAttachmentGroup","getAttachmentGroupList","getAttachmentList","onMounted"],"mappings":"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"}
1
+ {"version":3,"file":"attachment.vue2.js","sources":["../../../src/attachment/src/attachment.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as __MACROS_defineComponent } from \"vue\";\nexport default /*#__PURE__*/ __MACROS_defineComponent({\n name: 'DkAttachment',\n});\n</script>\n<template>\n <div class=\"dk-attachment attachment\">\n <!-- 顶部-->\n <div class=\"attachment-header flex justify-between pt-5px pb-5px\">\n <div class=\"header-form z\">\n <el-input v-model=\"searchFileName\" placeholder=\"请输入附件名称\" class=\"input-with-select\">\n <template #append>\n <el-button :icon=\"Search\" />\n </template>\n </el-input>\n </div>\n <div class=\"header-button y\">\n <el-dropdown class=\"mr\" trigger=\"click\" @command=\"handleMoveAttachment\">\n <el-button type=\"info\" :disabled=\"chooseFileKey.length <= 0\"> 移动 </el-button>\n <template #dropdown>\n <el-dropdown-menu>\n <el-dropdown-item v-for=\"(item, key) in groupList\" :key=\"key\" :command=\"item.id\">\n {{ item.name }}\n </el-dropdown-item>\n </el-dropdown-menu>\n </template>\n </el-dropdown>\n <el-button type=\"danger\" :disabled=\"chooseFileKey.length <= 0\" @click=\"onDelete\"\n >删除<i class=\"el-icon-delete el-icon--right\"></i\n ></el-button>\n <el-upload\n ref=\"upload\"\n class=\"dk-upload-button\"\n :action=\"uploadUrl\"\n multiple\n :data=\"data\"\n :show-file-list=\"false\"\n :headers=\"headers\"\n :on-success=\"handleUploadSuccess\"\n :accept=\"_accept\"\n list-type=\"text\"\n >\n <el-button type=\"primary\">上传<i class=\"el-icon-upload el-icon--right\"></i></el-button>\n </el-upload>\n </div>\n </div>\n <!--内部-->\n <div class=\"attachment-content flex\">\n <!-- 分组-->\n <div class=\"attachment-group\">\n <h5 class=\"cursor-pointer flex items-center content-center\" @click=\"addGroup()\">\n 附件分组\n <el-icon class=\"m-l-5px\"><CirclePlusFilled /></el-icon>\n </h5>\n <ul class=\"group_list\">\n <li\n v-for=\"(item, key) in groupList\"\n :key=\"key\"\n :class=\"{ active: groupId === item.id }\"\n @click=\"selectGroup(item.id)\"\n >\n <dk-icon v-if=\"item.id === groupId\" icon=\"flat-color-icons:opened-folder\" />\n <dk-icon v-else icon=\"flat-color-icons:folder\" />\n\n <span class=\"ml-10px\">{{ item.name }}</span>\n\n <el-popover placement=\"right\" trigger=\"click\">\n <template #reference>\n <div class=\"op\">\n <el-icon v-if=\"item.id > 0\">\n <Tools />\n </el-icon>\n </div>\n </template>\n <template #default>\n <el-button size=\"small\" type=\"primary\" @click.stop=\"editGroup()\">编辑 </el-button>\n <el-button size=\"small\" type=\"danger\" @click=\"delGroup(item.id)\">删除</el-button>\n </template>\n </el-popover>\n </li>\n </ul>\n </div>\n <!-- 列表-->\n <div class=\"attachment-container\">\n <div v-if=\"loading || list.length > 0\" v-loading=\"loading\" class=\"p2\">\n <ul class=\"attachment-list cl\" :style=\"{ overflow: list.length > 10 ? 'auto' : '' }\">\n <li\n v-for=\"(item, key) in list\"\n :key=\"key\"\n :class=\"{ choose: chooseFileKey.indexOf(key) > -1 }\"\n @click=\"chooseAttachment(item, key)\"\n @contextmenu.prevent=\"contextMenuId = item.id\"\n >\n <div class=\"file\">\n <el-image v-if=\"item.type === 1\" class=\"file\" :src=\"item.url\" fit=\"contain\">\n <template #placeholder>\n <div class=\"u-m-t-30\">\n <i class=\"el-icon-loading\"></i>\n <span>加载中</span>\n </div>\n </template>\n </el-image>\n <div v-if=\"item.type === 2\">\n <dk-file-icon :file-name=\"item.filename\" :type=\"item.type\" />\n </div>\n <div v-if=\"item.type === 3\">\n <dk-file-icon :file-name=\"item.filename\" :type=\"item.type\" />\n </div>\n <div v-if=\"item.type === 0\">\n <dk-file-icon :file-name=\"item.filename\" />\n </div>\n </div>\n <div class=\"file-name over\">{{ item.name }}</div>\n <div class=\"right\">\n <el-icon>\n <Check />\n </el-icon>\n </div>\n </li>\n </ul>\n <div class=\"block p-10px\">\n <el-pagination\n :current-page=\"page\"\n layout=\"total, prev, pager, next, jumper,sizes\"\n :total=\"count\"\n :page-size=\"size\"\n @size-change=\"handleSizeChange\"\n @current-change=\"handleCurrentChange\"\n />\n </div>\n </div>\n <div v-else style=\"display: flex; align-items: center; justify-content: center; height: 340px\">\n <el-empty description=\"暂无数据\" />\n </div>\n <dk-form ref=\"groupForm\" :key=\"groupId\" :form-url=\"groupFormUrl\" :is-dialog=\"true\" @submit=\"onsubmit()\" />\n </div>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ref, reactive, onMounted, computed } from 'vue'\nimport {\n deleteAttachment,\n getAttachmentGroupList,\n getAttachmentList,\n moveAttachment,\n delAttachmentGroup,\n} from '../../api'\n\nimport { ElMessage, ElMessageBox } from 'element-plus'\nimport DkFileIcon from './file-icon.vue'\n\nimport { Search } from '@element-plus/icons-vue'\n\nimport { getAttachmentType, getGlobalConfig } from '@vipl520/utils'\nimport { attachmentProps } from './props'\n\n\n\nconst props = defineProps(attachmentProps)\n\nconst _type = computed(() => {\n return getAttachmentType(props.type)\n})\n\n/** ****************顶部data****************/\n// 搜索的文件名\nconst searchFileName = ref('')\n// 选择文件Key\nconst chooseFileKey = ref<number[]>([])\n// 选中文件列表\nconst chooseFileList = ref<any[]>([])\n// 选中文件ID\nconst chooseFileId = ref<number[]>([])\nconst globalConfig = getGlobalConfig()\n// 上传的地址\nconst uploadUrl = ref(globalConfig.ApiUrl)\nconst headers = ref({\n 'Access-Token': globalConfig.AccessToken,\n})\n// 上传的ref\nconst upload = ref()\n// 上传的数据\nconst data = reactive({\n type: _type.value,\n file: 'file',\n group_id: 0,\n})\n\n/** *****顶部的函数****************/\n\nconst handleMoveAttachment = (groupId: number) => {\n moveAttachment(chooseFileId.value, groupId).then((res) => {\n ElMessage.success(res.msg)\n onGetAttachmentList()\n })\n}\n\nconst handleUploadSuccess = (res: any) => {\n if (res.code === 0) {\n ElMessage.success(res.msg)\n // upload.value.clearFiles()\n onGetAttachmentList()\n } else {\n ElMessage.error(res.msg)\n }\n}\n\nconst _accept = computed(() => {\n let _accept = ''\n if (props.accept) {\n return props.accept\n } else {\n switch (_type.value) {\n case 0:\n break\n case 1:\n _accept = 'image/*'\n break\n case 2:\n _accept = 'audio/*'\n break\n case 3:\n _accept = 'video/*'\n break\n }\n return _accept\n }\n})\n\nconst onDelete = () => {\n // 改成element-plus\n ElMessageBox.confirm('此操作将永久删除文件, 是否继续?', '提示', {\n confirmButtonText: '确定',\n cancelButtonText: '取消',\n }).then(() => {\n try {\n deleteAttachment(chooseFileId.value)\n .then((res) => {\n console.log(res)\n onGetAttachmentList()\n })\n .catch((res) => {\n console.log('deleteAttachment error', res)\n })\n } catch (e) {\n console.log(e)\n }\n })\n}\n/** ****************分组data****************/\n// 分组列表\nconst groupList = ref<any>([])\n// 选中分组\n/** **********分组的函数****************/\n\nconst groupFormUrl = computed(() => {\n if (groupId.value === 0) {\n return {\n url: globalConfig.ApiUrl + '/adminapi/attachment/group/create',\n method: 'get',\n }\n } else {\n return {\n url: globalConfig.ApiUrl + '/adminapi/attachment/group/' + groupId.value + '/edit',\n method: 'get',\n }\n }\n})\n\nconst groupForm = ref()\n\nconst addGroup = () => {\n // TODO 添加文件分组\n groupId.value = 0\n groupForm.value.show()\n}\n\nconst delGroup = (id: number) => {\n // 改为Vue3\n ElMessageBox.confirm('此操作将永久删除该分组, 是否继续?', '提示', {\n confirmButtonText: '确定',\n cancelButtonText: '取消',\n type: 'warning',\n }).then(() => {\n try {\n delAttachmentGroup(id)\n .then((res) => {\n ElMessage.success(res.msg)\n onsubmit()\n })\n .catch(() => {})\n } catch (e) {\n console.log(e)\n }\n })\n}\n\nconst editGroup = () => {\n groupForm.value.show()\n}\n\nconst onsubmit = () => {\n getGroupList()\n onGetAttachmentList()\n}\n\nconst selectGroup = (id: number) => {\n groupId.value = id\n page.value = 1\n onGetAttachmentList()\n}\n\nconst getGroupList = async () => {\n try {\n const res = await getAttachmentGroupList(_type.value)\n groupList.value = res.data\n } catch (e) {\n // console.log(e)\n }\n}\n\n/** ****************附件列表*********************/\nconst loading = ref(true)\nconst list = ref<any>([])\nconst page = ref(1)\nconst count = ref(0)\nconst size = ref(10)\nconst contextMenuId = ref(0)\nconst groupId = ref(0)\n\n/** ***************列表函数*******************/\n\n// const editAttachment = () => {\n// // TODO 编辑附件\n// }\n\nconst handleSizeChange = (val: number) => {\n size.value = val\n onGetAttachmentList()\n}\n\n// 改变页码\nconst handleCurrentChange = (val: number) => {\n page.value = val\n onGetAttachmentList()\n}\nconst onGetAttachmentList = async (search = {}) => {\n clearChoose()\n // groupId.value = group_id\n // loading.value = true\n try {\n const res = await getAttachmentList(page.value, size.value, _type.value, groupId.value, search)\n list.value = res.data\n count.value = res.msg\n loading.value = false\n } catch (e) {\n console.log(e)\n }\n}\n\nconst clearChoose = () => {\n chooseFileKey.value = []\n chooseFileId.value = []\n chooseFileList.value = []\n}\n\nconst chooseAttachment = (item: any, key: number) => {\n const index = chooseFileKey.value.indexOf(key)\n if (index > -1) {\n chooseFileKey.value.splice(index, 1)\n chooseFileId.value.splice(index, 1)\n chooseFileList.value.splice(index, 1)\n } else {\n chooseFileKey.value.push(key)\n chooseFileId.value.push(item.id)\n chooseFileList.value.push(item)\n }\n}\n\nonMounted(() => {\n getGroupList()\n onGetAttachmentList()\n})\n\ndefineExpose({\n chooseFileId,\n chooseFileKey,\n chooseFileList,\n clearChoose,\n})\n</script>\n"],"names":["__MACROS_defineComponent","computed","getAttachmentType","ref","getGlobalConfig","reactive","groupId","moveAttachment","ElMessage","_accept","ElMessageBox","deleteAttachment","delAttachmentGroup","getAttachmentGroupList","getAttachmentList","onMounted"],"mappings":"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"}
@@ -5,6 +5,7 @@ export declare const Dialog: import("@vipl520/utils").WithInstall<{
5
5
  $props: {
6
6
  fullscreen?: boolean | undefined;
7
7
  title?: string | undefined;
8
+ draggable?: boolean | undefined;
8
9
  modelValue?: boolean | undefined;
9
10
  defaultFullscreen?: boolean | undefined;
10
11
  maxHeight?: string | undefined;
@@ -87,9 +88,14 @@ export declare const Dialog: import("@vipl520/utils").WithInstall<{
87
88
  type: StringConstructor;
88
89
  default: string;
89
90
  };
91
+ draggable: {
92
+ type: BooleanConstructor;
93
+ default: boolean;
94
+ };
90
95
  }>>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
91
96
  fullscreen: boolean;
92
97
  title: string;
98
+ draggable: boolean;
93
99
  modelValue: boolean;
94
100
  defaultFullscreen: boolean;
95
101
  maxHeight: string;
@@ -134,6 +140,10 @@ export declare const Dialog: import("@vipl520/utils").WithInstall<{
134
140
  type: StringConstructor;
135
141
  default: string;
136
142
  };
143
+ draggable: {
144
+ type: BooleanConstructor;
145
+ default: boolean;
146
+ };
137
147
  }>> & import("vue").ShallowUnwrapRef<{}> & {} & import("vue").ComponentCustomProperties & {};
138
148
  __isFragment?: undefined;
139
149
  __isTeleport?: undefined;
@@ -159,9 +169,14 @@ export declare const Dialog: import("@vipl520/utils").WithInstall<{
159
169
  type: StringConstructor;
160
170
  default: string;
161
171
  };
172
+ draggable: {
173
+ type: BooleanConstructor;
174
+ default: boolean;
175
+ };
162
176
  }>>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
163
177
  fullscreen: boolean;
164
178
  title: string;
179
+ draggable: boolean;
165
180
  modelValue: boolean;
166
181
  defaultFullscreen: boolean;
167
182
  maxHeight: string;
@@ -19,6 +19,10 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
19
19
  type: StringConstructor;
20
20
  default: string;
21
21
  };
22
+ draggable: {
23
+ type: BooleanConstructor;
24
+ default: boolean;
25
+ };
22
26
  }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
23
27
  modelValue: {
24
28
  type: BooleanConstructor;
@@ -40,9 +44,14 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
40
44
  type: StringConstructor;
41
45
  default: string;
42
46
  };
47
+ draggable: {
48
+ type: BooleanConstructor;
49
+ default: boolean;
50
+ };
43
51
  }>>, {
44
52
  fullscreen: boolean;
45
53
  title: string;
54
+ draggable: boolean;
46
55
  modelValue: boolean;
47
56
  defaultFullscreen: boolean;
48
57
  maxHeight: string;
@@ -39,9 +39,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
39
39
  const toggleFull = () => {
40
40
  isFullscreen.value = !vue.unref(isFullscreen);
41
41
  };
42
- const dialogHeight = vue.ref(
43
- utils.isNumber(props.maxHeight) ? `${props.maxHeight}px` : props.maxHeight
44
- );
42
+ const dialogHeight = vue.ref(utils.isNumber(props.maxHeight) ? `${props.maxHeight}px` : props.maxHeight);
45
43
  vue.watch(
46
44
  () => isFullscreen.value,
47
45
  async (val) => {
@@ -71,7 +69,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
71
69
  "destroy-on-close": "",
72
70
  "append-to-body": "",
73
71
  "lock-scroll": "",
74
- draggable: "",
72
+ draggable: _ctx.draggable,
75
73
  "close-on-click-modal": false,
76
74
  "show-close": false,
77
75
  class: "dk-dialog"
@@ -127,7 +125,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
127
125
  ]),
128
126
  key: "0"
129
127
  } : void 0
130
- ]), 1040, ["fullscreen"]);
128
+ ]), 1040, ["fullscreen", "draggable"]);
131
129
  };
132
130
  }
133
131
  });
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.vue2.js","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\n :close-on-click-modal=\"false\"\n :show-close=\"false\"\n class=\"dk-dialog\"\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","createNamespace","useSlots","computed","useAttrs","ref","watch","unref","isNumber","nextTick"],"mappings":";;;;;;;;;;AAEA,MAA6B,cAAAA,mBAAyB,CAAA;AAAA,EACpD,IAAM,EAAA,UAAA;AACR,CAAC,CAAA,CAAA;;;;;;AA4DD,IAAA,MAAM,CAAC,CAAA,EAAG,GAAG,CAAA,GAAIC,sBAAgB,QAAQ,CAAA,CAAA;AAGzC,IAAA,MAAM,QAAQC,YAAS,EAAA,CAAA;AAIvB,IAAM,MAAA,YAAA,GAAeC,aAAS,MAAM;AAClC,MAAA,MAAM,MAAmB,GAAA,CAAC,YAAc,EAAA,OAAA,EAAS,WAAW,CAAA,CAAA;AAC5D,MAAA,MAAM,QAAQC,YAAS,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,GAAeC,OAAI,CAAA,KAAA,CAAM,iBAAiB,CAAA,CAAA;AAEhD,IAAAC,SAAA;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,CAACC,SAAA,CAAM,YAAY,CAAA,CAAA;AAAA,KAC1C,CAAA;AAEA,IAAA,MAAM,YAAe,GAAAF,OAAA;AAAA,MACnBG,cAAA,CAAS,MAAM,SAAS,CAAA,GAAI,GAAG,KAAM,CAAA,SAAS,OAAO,KAAM,CAAA,SAAA;AAAA,KAC7D,CAAA;AAEA,IAAAF,SAAA;AAAA,MACE,MAAM,YAAa,CAAA,KAAA;AAAA,MACnB,OAAO,GAAiB,KAAA;AACtB,QAAA,MAAMG,YAAS,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,GAAQD,eAAS,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,GAAcL,aAAS,MAAM;AACjC,MAAO,OAAA;AAAA,QACL,SAAA,EAAWI,UAAM,YAAY,CAAA;AAAA,OAC/B,CAAA;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"dialog.vue2.js","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 >\n <template #header=\"{ close }\">\n <slot name=\"header\">\n <div class=\"flex justify-between items-center relative\">\n <span>{{ props.title }}</span>\n <div class=\"flex justify-between items-center absolute top-[50%] right-0 translate-y-[-50%]\">\n <dk-icon\n v-if=\"fullscreen\"\n class=\"cursor-pointer is-hover mr-10px\"\n :icon=\"isFullscreen ? 'radix-icons:exit-full-screen' : 'radix-icons:enter-full-screen'\"\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(isNumber(props.maxHeight) ? `${props.maxHeight}px` : props.maxHeight)\n\nwatch(\n () => isFullscreen.value,\n async (val: boolean) => {\n await nextTick()\n if (val) {\n const windowHeight = document.documentElement.offsetHeight\n dialogHeight.value = `${windowHeight - 55 - 60 - (slots.footer ? 63 : 0)}px`\n } else {\n dialogHeight.value = isNumber(props.maxHeight) ? `${props.maxHeight}px` : 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","createNamespace","useSlots","computed","useAttrs","ref","watch","unref","isNumber","nextTick"],"mappings":";;;;;;;;;;AAEA,MAA6B,cAAAA,mBAAyB,CAAA;AAAA,EACpD,IAAM,EAAA,UAAA;AACR,CAAC,CAAA,CAAA;;;;;;AAsDD,IAAA,MAAM,CAAC,CAAA,EAAG,GAAG,CAAA,GAAIC,sBAAgB,QAAQ,CAAA,CAAA;AAGzC,IAAA,MAAM,QAAQC,YAAS,EAAA,CAAA;AAIvB,IAAM,MAAA,YAAA,GAAeC,aAAS,MAAM;AAClC,MAAA,MAAM,MAAmB,GAAA,CAAC,YAAc,EAAA,OAAA,EAAS,WAAW,CAAA,CAAA;AAC5D,MAAA,MAAM,QAAQC,YAAS,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,GAAeC,OAAI,CAAA,KAAA,CAAM,iBAAiB,CAAA,CAAA;AAEhD,IAAAC,SAAA;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,CAACC,SAAA,CAAM,YAAY,CAAA,CAAA;AAAA,KAC1C,CAAA;AAEA,IAAM,MAAA,YAAA,GAAeF,OAAI,CAAAG,cAAA,CAAS,KAAM,CAAA,SAAS,CAAI,GAAA,CAAA,EAAG,KAAM,CAAA,SAAS,CAAO,EAAA,CAAA,GAAA,KAAA,CAAM,SAAS,CAAA,CAAA;AAE7F,IAAAF,SAAA;AAAA,MACE,MAAM,YAAa,CAAA,KAAA;AAAA,MACnB,OAAO,GAAiB,KAAA;AACtB,QAAA,MAAMG,YAAS,EAAA,CAAA;AACf,QAAA,IAAI,GAAK,EAAA;AACP,UAAM,MAAA,YAAA,GAAe,SAAS,eAAgB,CAAA,YAAA,CAAA;AAC9C,UAAa,YAAA,CAAA,KAAA,GAAQ,GAAG,YAAe,GAAA,EAAA,GAAK,MAAM,KAAM,CAAA,MAAA,GAAS,KAAK,CAAE,CAAA,CAAA,EAAA,CAAA,CAAA;AAAA,SACnE,MAAA;AACL,UAAa,YAAA,CAAA,KAAA,GAAQD,eAAS,KAAM,CAAA,SAAS,IAAI,CAAG,EAAA,KAAA,CAAM,SAAS,CAAA,EAAA,CAAA,GAAO,KAAM,CAAA,SAAA,CAAA;AAAA,SAClF;AAAA,OACF;AAAA,MACA;AAAA,QACE,SAAW,EAAA,IAAA;AAAA,OACb;AAAA,KACF,CAAA;AAEA,IAAM,MAAA,WAAA,GAAcL,aAAS,MAAM;AACjC,MAAO,OAAA;AAAA,QACL,SAAA,EAAWI,UAAM,YAAY,CAAA;AAAA,OAC/B,CAAA;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -20,5 +20,9 @@ export declare const dialogProps: {
20
20
  type: StringConstructor;
21
21
  default: string;
22
22
  };
23
+ draggable: {
24
+ type: BooleanConstructor;
25
+ default: boolean;
26
+ };
23
27
  };
24
28
  export type DialogProps = ExtractPropTypes<typeof dialogProps>;
@@ -24,6 +24,10 @@ const dialogProps = {
24
24
  maxHeight: {
25
25
  type: String,
26
26
  default: ""
27
+ },
28
+ draggable: {
29
+ type: Boolean,
30
+ default: true
27
31
  }
28
32
  };
29
33
 
@@ -1 +1 @@
1
- {"version":3,"file":"props.js","sources":["../../../src/dialog/src/props.ts"],"sourcesContent":["import { makeStringProp } from 'vant/es/utils'\nimport type { ExtractPropTypes } from 'vue'\n\nexport const dialogProps = {\n // v-model\n modelValue: {\n type: Boolean,\n default: false,\n },\n // 标题\n title: makeStringProp(''),\n // 是否开启全屏按钮\n fullscreen: {\n type: Boolean,\n default: false,\n },\n // 是否默认全屏\n defaultFullscreen: {\n type: Boolean,\n default: false,\n },\n // 最大高度\n maxHeight: {\n type: String,\n default: '',\n },\n}\n\nexport type DialogProps = ExtractPropTypes<typeof dialogProps>\n"],"names":["makeStringProp"],"mappings":";;;;AAGO,MAAM,WAAc,GAAA;AAAA;AAAA,EAEzB,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA;AAAA,EAEA,KAAA,EAAOA,qBAAe,EAAE,CAAA;AAAA;AAAA,EAExB,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA;AAAA,EAEA,iBAAmB,EAAA;AAAA,IACjB,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA;AAAA,EAEA,SAAW,EAAA;AAAA,IACT,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AACF;;;;"}
1
+ {"version":3,"file":"props.js","sources":["../../../src/dialog/src/props.ts"],"sourcesContent":["import { makeStringProp } from 'vant/es/utils'\nimport type { ExtractPropTypes } from 'vue'\n\nexport const dialogProps = {\n // v-model\n modelValue: {\n type: Boolean,\n default: false,\n },\n // 标题\n title: makeStringProp(''),\n // 是否开启全屏按钮\n fullscreen: {\n type: Boolean,\n default: false,\n },\n // 是否默认全屏\n defaultFullscreen: {\n type: Boolean,\n default: false,\n },\n // 最大高度\n maxHeight: {\n type: String,\n default: '',\n },\n draggable: {\n type: Boolean,\n default: true,\n },\n}\n\nexport type DialogProps = ExtractPropTypes<typeof dialogProps>\n"],"names":["makeStringProp"],"mappings":";;;;AAGO,MAAM,WAAc,GAAA;AAAA;AAAA,EAEzB,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA;AAAA,EAEA,KAAA,EAAOA,qBAAe,EAAE,CAAA;AAAA;AAAA,EAExB,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA;AAAA,EAEA,iBAAmB,EAAA;AAAA,IACjB,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA;AAAA,EAEA,SAAW,EAAA;AAAA,IACT,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA,EACA,SAAW,EAAA;AAAA,IACT,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AACF;;;;"}
@@ -52,9 +52,10 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
52
52
  return (_ctx, _cache) => {
53
53
  const _component_el_button = vue.resolveComponent("el-button");
54
54
  const _component_el_input = vue.resolveComponent("el-input");
55
+ const _component_dk_icon = vue.resolveComponent("dk-icon");
56
+ const _component_el_image = vue.resolveComponent("el-image");
55
57
  const _component_Picture = vue.resolveComponent("Picture");
56
58
  const _component_el_icon = vue.resolveComponent("el-icon");
57
- const _component_el_image = vue.resolveComponent("el-image");
58
59
  const _component_Close = vue.resolveComponent("Close");
59
60
  const _component_Plus = vue.resolveComponent("Plus");
60
61
  const _component_dk_attachment_dialog = vue.resolveComponent("dk-attachment-dialog");
@@ -99,13 +100,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
99
100
  }, {
100
101
  error: vue.withCtx(() => [
101
102
  vue.createElementVNode("div", _hoisted_2, [
102
- vue.createVNode(_component_el_icon, null, {
103
- default: vue.withCtx(() => [
104
- vue.createVNode(_component_Picture)
105
- ]),
106
- _: 1
107
- /* STABLE */
108
- })
103
+ vue.createVNode(_component_dk_icon, { icon: "Picture" })
109
104
  ])
110
105
  ]),
111
106
  _: 1
@@ -119,13 +114,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
119
114
  vue.createElementVNode("em", {
120
115
  onClick: _cache[1] || (_cache[1] = ($event) => input.value = "")
121
116
  }, [
122
- vue.createVNode(_component_el_icon, null, {
123
- default: vue.withCtx(() => [
124
- vue.createVNode(_component_Close)
125
- ]),
126
- _: 1
127
- /* STABLE */
128
- })
117
+ vue.createVNode(_component_dk_icon, { icon: "Close" })
129
118
  ])
130
119
  ])
131
120
  ],
@@ -1 +1 @@
1
- {"version":3,"file":"file-input.vue2.js","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 <el-icon><Picture /></el-icon>\n </div>\n </template>\n </el-image>\n\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 <el-icon><Close /></el-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","createNamespace","ref","watch"],"mappings":";;;;;;;;;;;;;AAEA,MAA6B,cAAAA,mBAAyB,CAAA;AAAA,EACpD,IAAM,EAAA,aAAA;AACR,CAAC,CAAA,CAAA;;;;;;;AAoGD,IAAA,MAAM,CAAC,CAAA,EAAG,GAAG,CAAA,GAAIC,sBAAgB,YAAY,CAAA,CAAA;AAK7C,IAAM,MAAA,KAAA,GAAQC,OAAI,CAAA,KAAA,CAAM,UAAU,CAAA,CAAA;AAClC,IAAA,MAAM,mBAAmBA,OAAI,EAAA,CAAA;AAG7B,IAAAC,SAAA;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,IAAAA,SAAA;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
+ {"version":3,"file":"file-input.vue2.js","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 v-if=\"type === 1\" :src=\"input\" alt=\"\" fit=\"contain\" class=\"file rd-4px\" :preview-src-list=\"[input]\">\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 v-else :file-url=\"input\" class=\"file rd-4px\" :type=\"type\" />\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 v-if=\"type === 1\" :src=\"input\" alt=\"\" fit=\"contain\" style=\"width: 100%; height: 100%\">\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 ref=\"attachmentDialog\" :type=\"type\" @confirm=\"onConfirm\" />\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","createNamespace","ref","watch"],"mappings":";;;;;;;;;;;;;AAEA,MAA6B,cAAAA,mBAAyB,CAAA;AAAA,EACpD,IAAM,EAAA,aAAA;AACR,CAAC,CAAA,CAAA;;;;;;;AA6ED,IAAA,MAAM,CAAC,CAAA,EAAG,GAAG,CAAA,GAAIC,sBAAgB,YAAY,CAAA,CAAA;AAK7C,IAAM,MAAA,KAAA,GAAQC,OAAI,CAAA,KAAA,CAAM,UAAU,CAAA,CAAA;AAClC,IAAA,MAAM,mBAAmBA,OAAI,EAAA,CAAA;AAG7B,IAAAC,SAAA;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,IAAAA,SAAA;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
- .dk-file-input{width:100%}.dk-file-input .image-error{font-size:40px;line-height:80px;color:#999;text-align:center;background:var(--el-bg-color-page)}.dk-file-input .button{padding-top:10px;text-align:center;border-top:1px solid var(--el-bg-color-page)}.dk-file-input .show{position:relative}.dk-file-input .show .file{width:80px;height:auto;min-height:80px;padding:5px;border:1px solid var(--el-border-color)}.dk-file-input .show em{position:absolute;top:0;font-size:15px;font-weight:600;line-height:20px;color:var(--el-border-color);cursor:pointer}.dk-file-input .only-img{position:relative;width:100px;height:100px;padding:5px;margin-right:10px;margin-bottom:10px;border:1px solid var(--el-border-color);border-radius:4px}.dk-file-input .only-img:hover .close{display:flex}.dk-file-input .only-img .close{position:absolute;top:0;right:0;display:none;align-items:center;justify-content:center;width:20px;height:20px;font-size:12px;color:#fff;cursor:pointer;background:rgba(0,0,0,.7019607843);border-radius:100px}.dk-file-input .only-img .no-image{width:100%;color:#999;text-align:center;cursor:pointer;background:var(--el-bg-color-page)}.dk-file-input .only-img .media{width:100%;color:#999;text-align:center;cursor:pointer;background:var(--el-bg-color-page)}.dk-file-input .only-img .play_btn{position:absolute;right:0;bottom:0;width:20px;height:20px;font-size:18px;line-height:20px;color:#fff;text-align:center;cursor:pointer;background:#409eff}
1
+ .dk-file-input{width:100%}.dk-file-input .image-error{height:70px;font-size:40px;line-height:70px;color:#999;text-align:center;background:var(--el-bg-color-page)}.dk-file-input .button{padding-top:10px;text-align:center;border-top:1px solid var(--el-bg-color-page)}.dk-file-input .show{position:relative}.dk-file-input .show .file{width:80px;height:80px;padding:5px;border:1px solid var(--el-border-color)}.dk-file-input .show em{position:absolute;top:0;font-size:15px;font-weight:600;line-height:20px;color:var(--el-border-color);cursor:pointer}.dk-file-input .only-img{position:relative;width:100px;height:100px;padding:5px;margin-right:10px;margin-bottom:10px;border:1px solid var(--el-border-color);border-radius:4px}.dk-file-input .only-img:hover .close{display:flex}.dk-file-input .only-img .close{position:absolute;top:0;right:0;display:none;align-items:center;justify-content:center;width:20px;height:20px;font-size:12px;color:#fff;cursor:pointer;background:rgba(0,0,0,.7019607843);border-radius:100px}.dk-file-input .only-img .no-image{width:100%;color:#999;text-align:center;cursor:pointer;background:var(--el-bg-color-page)}.dk-file-input .only-img .media{width:100%;color:#999;text-align:center;cursor:pointer;background:var(--el-bg-color-page)}.dk-file-input .only-img .play_btn{position:absolute;right:0;bottom:0;width:20px;height:20px;font-size:18px;line-height:20px;color:#fff;text-align:center;cursor:pointer;background:#409eff}
@@ -3,8 +3,9 @@
3
3
  width: 100%;
4
4
 
5
5
  .image-error {
6
+ height: 70px;
6
7
  font-size: 40px;
7
- line-height: 80px;
8
+ line-height: 70px;
8
9
  color: #999;
9
10
  text-align: center;
10
11
  background: var(--el-bg-color-page);
@@ -21,8 +22,7 @@
21
22
 
22
23
  .file {
23
24
  width: 80px;
24
- height: auto;
25
- min-height: 80px;
25
+ height: 80px;
26
26
  padding: 5px;
27
27
  border: 1px solid var(--el-border-color);
28
28
  }
@@ -11,7 +11,7 @@ export declare const Form: import("@vipl520/utils").WithInstall<{
11
11
  isSubmit?: boolean | undefined;
12
12
  extraConfig?: Record<string, any> | undefined;
13
13
  isLoading?: boolean | undefined;
14
- minHeight?: string | number | undefined;
14
+ minHeight?: string | undefined;
15
15
  dialogWait?: boolean | undefined;
16
16
  key?: string | number | symbol | undefined;
17
17
  style?: unknown;
@@ -101,7 +101,7 @@ export declare const Form: import("@vipl520/utils").WithInstall<{
101
101
  };
102
102
  minHeight: {
103
103
  default: string;
104
- type: (StringConstructor | NumberConstructor)[];
104
+ type: StringConstructor;
105
105
  };
106
106
  isDialog: {
107
107
  default: boolean;
@@ -112,7 +112,12 @@ export declare const Form: import("@vipl520/utils").WithInstall<{
112
112
  type: BooleanConstructor;
113
113
  };
114
114
  dialog: {
115
- default: () => {};
115
+ default: () => {
116
+ width: string;
117
+ fullscreen: boolean;
118
+ minHeight: string;
119
+ draggable: boolean;
120
+ };
116
121
  type: ObjectConstructor;
117
122
  };
118
123
  }>> & {
@@ -138,7 +143,7 @@ export declare const Form: import("@vipl520/utils").WithInstall<{
138
143
  isSubmit: boolean;
139
144
  extraConfig: Record<string, any>;
140
145
  isLoading: boolean;
141
- minHeight: string | number;
146
+ minHeight: string;
142
147
  dialogWait: boolean;
143
148
  }, {}, string, {}> & {
144
149
  beforeCreate?: ((() => void) | (() => void)[]) | undefined;
@@ -187,7 +192,7 @@ export declare const Form: import("@vipl520/utils").WithInstall<{
187
192
  };
188
193
  minHeight: {
189
194
  default: string;
190
- type: (StringConstructor | NumberConstructor)[];
195
+ type: StringConstructor;
191
196
  };
192
197
  isDialog: {
193
198
  default: boolean;
@@ -198,7 +203,12 @@ export declare const Form: import("@vipl520/utils").WithInstall<{
198
203
  type: BooleanConstructor;
199
204
  };
200
205
  dialog: {
201
- default: () => {};
206
+ default: () => {
207
+ width: string;
208
+ fullscreen: boolean;
209
+ minHeight: string;
210
+ draggable: boolean;
211
+ };
202
212
  type: ObjectConstructor;
203
213
  };
204
214
  }>> & {
@@ -246,7 +256,7 @@ export declare const Form: import("@vipl520/utils").WithInstall<{
246
256
  };
247
257
  minHeight: {
248
258
  default: string;
249
- type: (StringConstructor | NumberConstructor)[];
259
+ type: StringConstructor;
250
260
  };
251
261
  isDialog: {
252
262
  default: boolean;
@@ -257,7 +267,12 @@ export declare const Form: import("@vipl520/utils").WithInstall<{
257
267
  type: BooleanConstructor;
258
268
  };
259
269
  dialog: {
260
- default: () => {};
270
+ default: () => {
271
+ width: string;
272
+ fullscreen: boolean;
273
+ minHeight: string;
274
+ draggable: boolean;
275
+ };
261
276
  type: ObjectConstructor;
262
277
  };
263
278
  }>> & {
@@ -283,7 +298,7 @@ export declare const Form: import("@vipl520/utils").WithInstall<{
283
298
  isSubmit: boolean;
284
299
  extraConfig: Record<string, any>;
285
300
  isLoading: boolean;
286
- minHeight: string | number;
301
+ minHeight: string;
287
302
  dialogWait: boolean;
288
303
  }, {}, string, {}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
289
304
  $slots: {
@@ -25,7 +25,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
25
25
  };
26
26
  minHeight: {
27
27
  default: string;
28
- type: (StringConstructor | NumberConstructor)[];
28
+ type: StringConstructor;
29
29
  };
30
30
  isDialog: {
31
31
  default: boolean;
@@ -36,7 +36,12 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
36
36
  type: BooleanConstructor;
37
37
  };
38
38
  dialog: {
39
- default: () => {};
39
+ default: () => {
40
+ width: string;
41
+ fullscreen: boolean;
42
+ minHeight: string;
43
+ draggable: boolean;
44
+ };
40
45
  type: ObjectConstructor;
41
46
  };
42
47
  }, {
@@ -76,7 +81,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
76
81
  };
77
82
  minHeight: {
78
83
  default: string;
79
- type: (StringConstructor | NumberConstructor)[];
84
+ type: StringConstructor;
80
85
  };
81
86
  isDialog: {
82
87
  default: boolean;
@@ -87,7 +92,12 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
87
92
  type: BooleanConstructor;
88
93
  };
89
94
  dialog: {
90
- default: () => {};
95
+ default: () => {
96
+ width: string;
97
+ fullscreen: boolean;
98
+ minHeight: string;
99
+ draggable: boolean;
100
+ };
91
101
  type: ObjectConstructor;
92
102
  };
93
103
  }>> & {
@@ -103,7 +113,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
103
113
  isSubmit: boolean;
104
114
  extraConfig: Record<string, any>;
105
115
  isLoading: boolean;
106
- minHeight: string | number;
116
+ minHeight: string;
107
117
  dialogWait: boolean;
108
118
  }, {}>, {
109
119
  buttons?(_: {}): any;
@@ -39,7 +39,6 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
39
39
  const fApi = vue.ref();
40
40
  const loading = vue.ref(true);
41
41
  const buttonLoading = vue.ref(false);
42
- const minHeight = vue.computed(() => utils.isNumber(props.minHeight) ? `${props.minHeight}px` : props.minHeight);
43
42
  const showDialog = vue.ref(false);
44
43
  const formConfig = vue.computed(() => ({ ...config$1, ...props.extraConfig }));
45
44
  const { width } = core.useWindowSize();
@@ -51,6 +50,58 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
51
50
  emit("update:modelValue", val || {});
52
51
  }
53
52
  );
53
+ const dialogWidth = vue.computed(() => {
54
+ let defaultWidth = "800px";
55
+ if (props.dialog?.width) {
56
+ defaultWidth = props.dialog?.width;
57
+ }
58
+ if (_formData.value?.config?.width) {
59
+ defaultWidth = _formData.value?.config?.width;
60
+ }
61
+ return width.value < 768 ? "100%" : defaultWidth;
62
+ });
63
+ const dialogStyle = vue.computed(() => {
64
+ const style = {
65
+ minHeight: void 0,
66
+ maxHeight: void 0
67
+ };
68
+ if (props.dialog?.minHeight) {
69
+ style.minHeight = props.dialog?.minHeight;
70
+ }
71
+ if (props.dialog?.maxHeight) {
72
+ style.maxHeight = props.dialog?.maxHeight;
73
+ }
74
+ if (_formData.value?.config?.minHeight) {
75
+ style.minHeight = _formData.value?.config?.minHeight;
76
+ }
77
+ if (_formData.value?.config?.maxHeight) {
78
+ style.maxHeight = _formData.value?.config?.maxHeight;
79
+ }
80
+ return style;
81
+ });
82
+ const draggable = vue.computed(() => {
83
+ let draggable2 = true;
84
+ if (props.dialog?.draggable) {
85
+ draggable2 = props.dialog?.draggable;
86
+ }
87
+ if (_formData.value?.config?.draggable !== void 0) {
88
+ draggable2 = _formData.value?.config?.draggable;
89
+ }
90
+ return draggable2;
91
+ });
92
+ const isFullscreen = vue.computed(() => {
93
+ let defaultFullscreen = false;
94
+ if (props.dialog?.width) {
95
+ defaultFullscreen = props.dialog?.fullscreen;
96
+ }
97
+ if (_formData.value?.config?.fullscreen) {
98
+ defaultFullscreen = _formData.value?.config?.fullscreen;
99
+ }
100
+ if (width.value < 768) {
101
+ defaultFullscreen = true;
102
+ }
103
+ return defaultFullscreen;
104
+ });
54
105
  const setFormData = (formData) => {
55
106
  value.value = null;
56
107
  _formData.value = formData;
@@ -139,16 +190,17 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
139
190
  modelValue: showDialog.value,
140
191
  "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => showDialog.value = $event),
141
192
  title: _formData.value?.title ? _formData.value?.title : "\u8868\u5355",
142
- width: vue.unref(width).value < 768 ? "100%" : "800px",
143
- "default-fullscreen": vue.unref(width).value < 768,
193
+ width: dialogWidth.value,
194
+ "default-fullscreen": isFullscreen.value,
144
195
  "min-height": "200px",
196
+ draggable: draggable.value,
145
197
  "append-to-body": ""
146
198
  }, {
147
199
  default: vue.withCtx(() => [
148
200
  vue.createElementVNode(
149
201
  "div",
150
202
  {
151
- style: vue.normalizeStyle({ minHeight: minHeight.value }),
203
+ style: vue.normalizeStyle(dialogStyle.value),
152
204
  class: "dk-form"
153
205
  },
154
206
  [
@@ -159,6 +211,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
159
211
  rule: _formData.value.rules,
160
212
  "handle-icon": false,
161
213
  class: "formBox",
214
+ style: { "padding": "10px" },
162
215
  "onUpdate:api": _cache[1] || (_cache[1] = ($event) => fApi.value = $event),
163
216
  "onUpdate:value": _cache[2] || (_cache[2] = ($event) => value.value = $event)
164
217
  }, null, 8, ["modelValue", "option", "rule"]),
@@ -189,16 +242,15 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
189
242
  ],
190
243
  4
191
244
  /* STYLE */
192
- ),
193
- vue.createCommentVNode(' <div v-else :style="{ minHeight }"></div>')
245
+ )
194
246
  ]),
195
247
  _: 3
196
248
  /* FORWARDED */
197
- }, 8, ["modelValue", "title", "width", "default-fullscreen"])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
249
+ }, 8, ["modelValue", "title", "width", "default-fullscreen", "draggable"])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
198
250
  vue.createElementVNode(
199
251
  "div",
200
252
  {
201
- style: vue.normalizeStyle({ minHeight: minHeight.value }),
253
+ style: vue.normalizeStyle({ minHeight: _ctx.minHeight }),
202
254
  class: "dk-form"
203
255
  },
204
256
  [