@vipl520/dk-ui 1.0.7 → 1.0.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (115) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/index.js +286 -119
  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 -116
  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.d.ts +0 -1
  37. package/es/index.mjs +0 -1
  38. package/es/index.mjs.map +1 -1
  39. package/es/index.scss +5 -0
  40. package/es/table/index.d.ts +15 -0
  41. package/es/table/src/components/ComSearch.vue2.mjs +79 -19
  42. package/es/table/src/components/ComSearch.vue2.mjs.map +1 -1
  43. package/es/table/src/components/FieldRender.vue2.mjs +37 -15
  44. package/es/table/src/components/FieldRender.vue2.mjs.map +1 -1
  45. package/es/table/src/components/header.vue2.mjs +9 -1
  46. package/es/table/src/components/header.vue2.mjs.map +1 -1
  47. package/es/table/src/props.d.ts +4 -0
  48. package/es/table/src/props.mjs +4 -0
  49. package/es/table/src/props.mjs.map +1 -1
  50. package/es/table/src/table.vue.d.ts +9 -0
  51. package/es/table/src/table.vue2.mjs +7 -6
  52. package/es/table/src/table.vue2.mjs.map +1 -1
  53. package/es/table/style/index.css +1 -1
  54. package/es/table/style/index.scss +1 -1
  55. package/es/table/utils/dkTable.d.ts +2 -0
  56. package/es/table/utils/dkTable.mjs +19 -1
  57. package/es/table/utils/dkTable.mjs.map +1 -1
  58. package/es/table/utils/dkTableApi.mjs +15 -7
  59. package/es/table/utils/dkTableApi.mjs.map +1 -1
  60. package/es/tiny-editor/src/tiny-editor.vue2.mjs +5 -2
  61. package/es/tiny-editor/src/tiny-editor.vue2.mjs.map +1 -1
  62. package/lib/attachment/src/attachment.vue2.js +5 -4
  63. package/lib/attachment/src/attachment.vue2.js.map +1 -1
  64. package/lib/dialog/index.d.ts +15 -0
  65. package/lib/dialog/src/dialog.vue.d.ts +9 -0
  66. package/lib/dialog/src/dialog.vue2.js +3 -5
  67. package/lib/dialog/src/dialog.vue2.js.map +1 -1
  68. package/lib/dialog/src/props.d.ts +4 -0
  69. package/lib/dialog/src/props.js +4 -0
  70. package/lib/dialog/src/props.js.map +1 -1
  71. package/lib/file-input/src/file-input.vue2.js +4 -15
  72. package/lib/file-input/src/file-input.vue2.js.map +1 -1
  73. package/lib/file-input/style/index.css +1 -1
  74. package/lib/file-input/style/index.scss +3 -3
  75. package/lib/form/index.d.ts +24 -9
  76. package/lib/form/src/form.vue.d.ts +15 -5
  77. package/lib/form/src/form.vue2.js +60 -8
  78. package/lib/form/src/form.vue2.js.map +1 -1
  79. package/lib/form/src/props.d.ts +7 -2
  80. package/lib/form/src/props.js +7 -2
  81. package/lib/form/src/props.js.map +1 -1
  82. package/lib/icon/index.d.ts +12 -45
  83. package/lib/icon/src/icon.vue.d.ts +6 -27
  84. package/lib/icon/src/icon.vue2.js +9 -6
  85. package/lib/icon/src/icon.vue2.js.map +1 -1
  86. package/lib/icon/src/props.d.ts +3 -12
  87. package/lib/icon/src/props.js +3 -12
  88. package/lib/icon/src/props.js.map +1 -1
  89. package/lib/index.d.ts +0 -1
  90. package/lib/index.js +0 -1
  91. package/lib/index.js.map +1 -1
  92. package/lib/index.scss +5 -0
  93. package/lib/table/index.d.ts +15 -0
  94. package/lib/table/src/components/ComSearch.vue2.js +79 -19
  95. package/lib/table/src/components/ComSearch.vue2.js.map +1 -1
  96. package/lib/table/src/components/FieldRender.vue2.js +37 -15
  97. package/lib/table/src/components/FieldRender.vue2.js.map +1 -1
  98. package/lib/table/src/components/header.vue2.js +8 -0
  99. package/lib/table/src/components/header.vue2.js.map +1 -1
  100. package/lib/table/src/props.d.ts +4 -0
  101. package/lib/table/src/props.js +4 -0
  102. package/lib/table/src/props.js.map +1 -1
  103. package/lib/table/src/table.vue.d.ts +9 -0
  104. package/lib/table/src/table.vue2.js +7 -6
  105. package/lib/table/src/table.vue2.js.map +1 -1
  106. package/lib/table/style/index.css +1 -1
  107. package/lib/table/style/index.scss +1 -1
  108. package/lib/table/utils/dkTable.d.ts +2 -0
  109. package/lib/table/utils/dkTable.js +19 -1
  110. package/lib/table/utils/dkTable.js.map +1 -1
  111. package/lib/table/utils/dkTableApi.js +15 -7
  112. package/lib/table/utils/dkTableApi.js.map +1 -1
  113. package/lib/tiny-editor/src/tiny-editor.vue2.js +4 -1
  114. package/lib/tiny-editor/src/tiny-editor.vue2.js.map +1 -1
  115. 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
  [