@vipl520/dk-ui 1.0.10 → 1.0.12

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 (85) hide show
  1. package/dist/index.css +1 -1
  2. package/dist/index.js +133 -104
  3. package/dist/index.min.js +6 -6
  4. package/dist/index.min.js.map +1 -1
  5. package/dist/index.min.mjs +6 -6
  6. package/dist/index.min.mjs.map +1 -1
  7. package/dist/index.mjs +133 -104
  8. package/dist/web-types.json +1 -1
  9. package/es/api/attachment.mjs +10 -6
  10. package/es/api/attachment.mjs.map +1 -1
  11. package/es/attachment/src/attachment.vue2.mjs +7 -7
  12. package/es/attachment/src/attachment.vue2.mjs.map +1 -1
  13. package/es/dialog/index.d.ts +15 -0
  14. package/es/dialog/src/dialog.vue.d.ts +9 -0
  15. package/es/dialog/src/dialog.vue2.mjs +3 -2
  16. package/es/dialog/src/dialog.vue2.mjs.map +1 -1
  17. package/es/dialog/src/props.d.ts +4 -0
  18. package/es/dialog/src/props.mjs +4 -0
  19. package/es/dialog/src/props.mjs.map +1 -1
  20. package/es/file-input/style/index.css +1 -1
  21. package/es/file-input/style/index.scss +2 -0
  22. package/es/file-list-input/style/index.css +1 -1
  23. package/es/file-list-input/style/index.scss +1 -0
  24. package/es/form/index.d.ts +0 -3
  25. package/es/form/src/form.vue.d.ts +0 -2
  26. package/es/form/src/form.vue2.mjs +28 -40
  27. package/es/form/src/form.vue2.mjs.map +1 -1
  28. package/es/form/src/props.d.ts +0 -1
  29. package/es/form/src/props.mjs +2 -3
  30. package/es/form/src/props.mjs.map +1 -1
  31. package/es/form/style/index.css +1 -1
  32. package/es/form/style/index.scss +5 -0
  33. package/es/select/src/select.vue2.mjs +3 -3
  34. package/es/select/src/select.vue2.mjs.map +1 -1
  35. package/es/table/src/components/ComSearch.vue2.mjs +3 -1
  36. package/es/table/src/components/ComSearch.vue2.mjs.map +1 -1
  37. package/es/table/src/components/RecycleDialog.vue2.mjs +1 -2
  38. package/es/table/src/components/RecycleDialog.vue2.mjs.map +1 -1
  39. package/es/table/src/components/header.vue2.mjs +0 -1
  40. package/es/table/src/components/header.vue2.mjs.map +1 -1
  41. package/es/table/src/table.vue2.mjs +0 -4
  42. package/es/table/src/table.vue2.mjs.map +1 -1
  43. package/es/table/style/index.css +1 -1
  44. package/es/table/style/index.scss +0 -5
  45. package/es/table/utils/dkTableApi.mjs +66 -32
  46. package/es/table/utils/dkTableApi.mjs.map +1 -1
  47. package/lib/api/attachment.js +10 -6
  48. package/lib/api/attachment.js.map +1 -1
  49. package/lib/attachment/src/attachment.vue2.js +7 -7
  50. package/lib/attachment/src/attachment.vue2.js.map +1 -1
  51. package/lib/dialog/index.d.ts +15 -0
  52. package/lib/dialog/src/dialog.vue.d.ts +9 -0
  53. package/lib/dialog/src/dialog.vue2.js +3 -2
  54. package/lib/dialog/src/dialog.vue2.js.map +1 -1
  55. package/lib/dialog/src/props.d.ts +4 -0
  56. package/lib/dialog/src/props.js +4 -0
  57. package/lib/dialog/src/props.js.map +1 -1
  58. package/lib/file-input/style/index.css +1 -1
  59. package/lib/file-input/style/index.scss +2 -0
  60. package/lib/file-list-input/style/index.css +1 -1
  61. package/lib/file-list-input/style/index.scss +1 -0
  62. package/lib/form/index.d.ts +0 -3
  63. package/lib/form/src/form.vue.d.ts +0 -2
  64. package/lib/form/src/form.vue2.js +27 -39
  65. package/lib/form/src/form.vue2.js.map +1 -1
  66. package/lib/form/src/props.d.ts +0 -1
  67. package/lib/form/src/props.js +2 -3
  68. package/lib/form/src/props.js.map +1 -1
  69. package/lib/form/style/index.css +1 -1
  70. package/lib/form/style/index.scss +5 -0
  71. package/lib/select/src/select.vue2.js +3 -3
  72. package/lib/select/src/select.vue2.js.map +1 -1
  73. package/lib/table/src/components/ComSearch.vue2.js +3 -1
  74. package/lib/table/src/components/ComSearch.vue2.js.map +1 -1
  75. package/lib/table/src/components/RecycleDialog.vue2.js +1 -2
  76. package/lib/table/src/components/RecycleDialog.vue2.js.map +1 -1
  77. package/lib/table/src/components/header.vue2.js +0 -1
  78. package/lib/table/src/components/header.vue2.js.map +1 -1
  79. package/lib/table/src/table.vue2.js +0 -4
  80. package/lib/table/src/table.vue2.js.map +1 -1
  81. package/lib/table/style/index.css +1 -1
  82. package/lib/table/style/index.scss +0 -5
  83. package/lib/table/utils/dkTableApi.js +66 -32
  84. package/lib/table/utils/dkTableApi.js.map +1 -1
  85. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"attachment.js","sources":["../../src/api/attachment.ts"],"sourcesContent":["import { request } from '@vipl520/utils'\n\n/** ************************************************************** 附件 ***************************************************************/\n\n// 获取附件列表\nexport function getAttachmentList(\n page: number,\n size: number,\n type: number = 1,\n groupId: number,\n search: any\n) {\n search.group_id = groupId\n search.type = type\n return request({\n method: 'post',\n url: '/adminapi/attachment/list',\n data: { page, size, search },\n })\n}\n\n// 上传附件\n// export function UploadAttachment(page, size, type = 1, groupId, search) {\n// return request({\n// method: 'post',\n// url: '/adminapi/attachment/upload',\n// data: { page, size, type, groupId, search }\n// })\n// }\n\n// 上传附件\nexport function UploadAttachment(file: any, type = 1, groupId = 0) {\n const formData = new FormData()\n formData.append('file', file)\n formData.append('type', type.toString())\n formData.append('file', 'file')\n formData.append('group_id', groupId.toString())\n return request({\n method: 'post',\n url: '/adminapi/attachment/upload',\n data: formData,\n })\n}\n\n// 获取编辑表单\nexport function getAttachmentEdit(id: number) {\n return request({\n method: 'get',\n url: '/adminapi/attachment/index/' + id + '/edit',\n })\n}\n\nexport function deleteAttachment(ids: number[]) {\n return request(\n {\n method: 'post',\n url: '/adminapi/attachment/delete',\n data: { ids },\n },\n {\n code_success_show: true,\n }\n )\n}\n\nexport function moveAttachment(ids: number[], groupId: number) {\n return request({\n method: 'post',\n url: '/adminapi/attachment/move',\n data: { ids, group_id: groupId },\n })\n}\n\n/** ************************************************************** 附件分组 ***************************************************************/\n\n// 获取附件分组\nexport function getAttachmentGroupList(type: number) {\n console.log('typetypetype', type)\n return request({\n method: 'get',\n url: '/adminapi/attachment/group',\n params: { type },\n })\n}\n\n// 获取表单\nexport function getAttachmentGroupForm(id: number) {\n if (id) {\n return request({\n method: 'get',\n url: '/adminapi/attachment/group/' + id + '/edit',\n })\n } else {\n return request({\n method: 'get',\n url: '/adminapi/attachment/group/create',\n })\n }\n}\n\n// 删除分组\nexport function delAttachmentGroup(id: number) {\n return request(\n {\n method: 'delete',\n url: '/adminapi/attachment/group/' + id,\n },\n {\n code_error_show: true,\n }\n )\n}\n"],"names":["request"],"mappings":"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"}
1
+ {"version":3,"file":"attachment.js","sources":["../../src/api/attachment.ts"],"sourcesContent":["import { request } from '@vipl520/utils'\n\n/** ************************************************************** 附件 ***************************************************************/\n\n// 获取附件列表\nexport function getAttachmentList(page: number, size: number, type: number = 1, groupId: number, search: any) {\n search.group_id = groupId\n search.type = type\n return request({\n method: 'post',\n url: '/adminapi/attachment/list',\n data: { page, size, search },\n })\n}\n\n// 上传附件\n// export function UploadAttachment(page, size, type = 1, groupId, search) {\n// return request({\n// method: 'post',\n// url: '/adminapi/attachment/upload',\n// data: { page, size, type, groupId, search }\n// })\n// }\n\n// 上传附件\nexport function UploadAttachment(file: any, type = 1, groupId = 0) {\n const formData = new FormData()\n formData.append('file', file)\n formData.append('type', type.toString())\n formData.append('file', 'file')\n formData.append('group_id', groupId.toString())\n return request({\n method: 'post',\n url: '/adminapi/attachment/upload',\n data: formData,\n })\n}\n\n// 获取编辑表单\nexport function getAttachmentEdit(id: number) {\n return request({\n method: 'get',\n url: '/adminapi/attachment/index/' + id + '/edit',\n })\n}\n\nexport function deleteAttachment(ids: number[]) {\n return request(\n {\n method: 'post',\n url: '/adminapi/attachment/delete',\n data: { ids },\n },\n {\n code_success_show: true,\n }\n )\n}\n\nexport function moveAttachment(ids: number[], groupId: number) {\n return request({\n method: 'post',\n url: '/adminapi/attachment/move',\n data: { ids, group_id: groupId },\n })\n}\n\n/** ************************************************************** 附件分组 ***************************************************************/\n\n// 获取附件分组\nexport function getAttachmentGroupList(type: number) {\n return request(\n {\n method: 'get',\n url: '/adminapi/attachment/group',\n params: { type },\n },\n {\n code_error_show: true,\n }\n )\n}\n\n// 获取表单\nexport function getAttachmentGroupForm(id: number) {\n if (id) {\n return request({\n method: 'get',\n url: '/adminapi/attachment/group/' + id + '/edit',\n })\n } else {\n return request({\n method: 'get',\n url: '/adminapi/attachment/group/create',\n })\n }\n}\n\n// 删除分组\nexport function delAttachmentGroup(id: number) {\n return request(\n {\n method: 'delete',\n url: '/adminapi/attachment/group/' + id,\n },\n {\n code_error_show: true,\n }\n )\n}\n"],"names":["request"],"mappings":"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"}
@@ -78,10 +78,10 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
78
78
  const chooseFileList = vue.ref([]);
79
79
  const chooseFileId = vue.ref([]);
80
80
  const globalConfig = utils.getGlobalConfig();
81
- const uploadUrl = vue.ref(globalConfig.ApiUrl);
82
- const headers = vue.ref({
81
+ const uploadUrl = globalConfig.ApiUrl + "/adminapi/attachment/upload";
82
+ const headers = {
83
83
  "Access-Token": globalConfig.AccessToken
84
- });
84
+ };
85
85
  const upload = vue.ref();
86
86
  const data = vue.reactive({
87
87
  type: _type.value,
@@ -95,6 +95,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
95
95
  });
96
96
  };
97
97
  const handleUploadSuccess = (res) => {
98
+ console.log("res", res);
98
99
  if (res.code === 0) {
99
100
  elementPlus.ElMessage.success(res.msg);
100
101
  onGetAttachmentList();
@@ -218,7 +219,6 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
218
219
  count.value = res.msg;
219
220
  loading.value = false;
220
221
  } catch (e) {
221
- console.log(e);
222
222
  }
223
223
  };
224
224
  const clearChoose = () => {
@@ -350,11 +350,11 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
350
350
  ref_key: "upload",
351
351
  ref: upload,
352
352
  class: "dk-upload-button",
353
- action: uploadUrl.value,
353
+ action: uploadUrl,
354
354
  multiple: "",
355
355
  data,
356
356
  "show-file-list": false,
357
- headers: headers.value,
357
+ headers,
358
358
  "on-success": handleUploadSuccess,
359
359
  accept: _accept.value,
360
360
  "list-type": "text"
@@ -371,7 +371,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
371
371
  ]),
372
372
  _: 1
373
373
  /* STABLE */
374
- }, 8, ["action", "data", "headers", "accept"])
374
+ }, 8, ["data", "accept"])
375
375
  ])
376
376
  ]),
377
377
  vue.createCommentVNode("\u5185\u90E8"),
@@ -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, 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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"}
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 = globalConfig.ApiUrl + '/adminapi/attachment/upload'\nconst headers = {\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 console.log('res', res)\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}\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 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}\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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"}
@@ -3,6 +3,7 @@ export declare const Dialog: import("@vipl520/utils").WithInstall<{
3
3
  $: import("vue").ComponentInternalInstance;
4
4
  $data: {};
5
5
  $props: {
6
+ zIndex?: number | undefined;
6
7
  fullscreen?: boolean | undefined;
7
8
  title?: string | undefined;
8
9
  draggable?: boolean | undefined;
@@ -92,7 +93,12 @@ export declare const Dialog: import("@vipl520/utils").WithInstall<{
92
93
  type: BooleanConstructor;
93
94
  default: boolean;
94
95
  };
96
+ zIndex: {
97
+ type: NumberConstructor;
98
+ default: number;
99
+ };
95
100
  }>>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
101
+ zIndex: number;
96
102
  fullscreen: boolean;
97
103
  title: string;
98
104
  draggable: boolean;
@@ -144,6 +150,10 @@ export declare const Dialog: import("@vipl520/utils").WithInstall<{
144
150
  type: BooleanConstructor;
145
151
  default: boolean;
146
152
  };
153
+ zIndex: {
154
+ type: NumberConstructor;
155
+ default: number;
156
+ };
147
157
  }>> & import("vue").ShallowUnwrapRef<{}> & {} & import("vue").ComponentCustomProperties & {};
148
158
  __isFragment?: undefined;
149
159
  __isTeleport?: undefined;
@@ -173,7 +183,12 @@ export declare const Dialog: import("@vipl520/utils").WithInstall<{
173
183
  type: BooleanConstructor;
174
184
  default: boolean;
175
185
  };
186
+ zIndex: {
187
+ type: NumberConstructor;
188
+ default: number;
189
+ };
176
190
  }>>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
191
+ zIndex: number;
177
192
  fullscreen: boolean;
178
193
  title: string;
179
194
  draggable: boolean;
@@ -23,6 +23,10 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
23
23
  type: BooleanConstructor;
24
24
  default: boolean;
25
25
  };
26
+ zIndex: {
27
+ type: NumberConstructor;
28
+ default: number;
29
+ };
26
30
  }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
27
31
  modelValue: {
28
32
  type: BooleanConstructor;
@@ -48,7 +52,12 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
48
52
  type: BooleanConstructor;
49
53
  default: boolean;
50
54
  };
55
+ zIndex: {
56
+ type: NumberConstructor;
57
+ default: number;
58
+ };
51
59
  }>>, {
60
+ zIndex: number;
52
61
  fullscreen: boolean;
53
62
  title: string;
54
63
  draggable: boolean;
@@ -72,7 +72,8 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
72
72
  draggable: _ctx.draggable,
73
73
  "close-on-click-modal": false,
74
74
  "show-close": false,
75
- class: "dk-dialog"
75
+ class: "dk-dialog",
76
+ "z-index": props.zIndex
76
77
  }), vue.createSlots({
77
78
  header: vue.withCtx(({ close }) => [
78
79
  vue.renderSlot(_ctx.$slots, "header", {}, () => [
@@ -125,7 +126,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
125
126
  ]),
126
127
  key: "0"
127
128
  } : void 0
128
- ]), 1040, ["fullscreen", "draggable"]);
129
+ ]), 1040, ["fullscreen", "draggable", "z-index"]);
129
130
  };
130
131
  }
131
132
  });
@@ -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=\"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
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 :z-index=\"props.zIndex\"\n >\n <template #header=\"{ close }\">\n <slot name=\"header\">\n <div class=\"flex justify-between items-center relative\">\n <span>{{ props.title }}</span>\n <div 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;;;;;;AAuDD,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -24,5 +24,9 @@ export declare const dialogProps: {
24
24
  type: BooleanConstructor;
25
25
  default: boolean;
26
26
  };
27
+ zIndex: {
28
+ type: NumberConstructor;
29
+ default: number;
30
+ };
27
31
  };
28
32
  export type DialogProps = ExtractPropTypes<typeof dialogProps>;
@@ -28,6 +28,10 @@ const dialogProps = {
28
28
  draggable: {
29
29
  type: Boolean,
30
30
  default: true
31
+ },
32
+ zIndex: {
33
+ type: Number,
34
+ default: 1299
31
35
  }
32
36
  };
33
37
 
@@ -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 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;;;;"}
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 zIndex: {\n type: Number,\n default: 1299,\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;AAAA,EACA,MAAQ,EAAA;AAAA,IACN,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AACF;;;;"}
@@ -1 +1 @@
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}
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;height:80px}.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}
@@ -19,6 +19,7 @@
19
19
 
20
20
  .show {
21
21
  position: relative;
22
+ height: 80px;
22
23
 
23
24
  .file {
24
25
  width: 80px;
@@ -99,4 +100,5 @@
99
100
  }
100
101
  }
101
102
  }
103
+
102
104
  /* stylelint-enable no-descending-specificity */
@@ -1 +1 @@
1
- .dk-file-list-input .button{text-align:center;border-top:1px solid #f5f5f5;padding-top:10px}.dk-file-list-input .dk-image-list ul:after{content:"";display:block;clear:both}.dk-file-list-input .dk-image-list ul li{float:left;margin-right:10px;margin-bottom:10px;border:1px solid var(--el-border-color);border-radius:4px}.dk-file-list-input .dk-image-list ul li .file{position:relative;width:100px;height:100px;text-align:center}.dk-file-list-input .dk-image-list ul li .file div{position:relative}.dk-file-list-input .dk-image-list ul li .file div .other-file{font-size:80px;color:#aaa;line-height:100px}.dk-file-list-input .dk-image-list ul li .file div .el-icon-video-play{display:none;position:absolute;bottom:2px;right:2px;font-size:20px;cursor:pointer}.dk-file-list-input .dk-image-list ul li .file div:hover .el-icon-video-play{color:#409eff;display:block}.dk-file-list-input .dk-image-list ul li .file .close{display:none;cursor:pointer;position:absolute;top:0;line-height:20px;right:0;width:20px;height:20px;text-align:center;background:rgba(0,0,0,.4);border-radius:100%;color:#fff;align-items:center;justify-content:center}.dk-file-list-input .dk-image-list ul li .file:hover .close{display:flex}.dk-file-list-input .dk-image-list ul li .chooseImage{width:100px;height:100px;line-height:100px;text-align:center;font-size:40px;color:#999;cursor:pointer}.dk-file-list-input .dk-image-list ul li .chooseImage:hover{color:#409eff}
1
+ .dk-file-list-input{width:100%}.dk-file-list-input .button{text-align:center;border-top:1px solid #f5f5f5;padding-top:10px}.dk-file-list-input .dk-image-list ul:after{content:"";display:block;clear:both}.dk-file-list-input .dk-image-list ul li{float:left;margin-right:10px;margin-bottom:10px;border:1px solid var(--el-border-color);border-radius:4px}.dk-file-list-input .dk-image-list ul li .file{position:relative;width:100px;height:100px;text-align:center}.dk-file-list-input .dk-image-list ul li .file div{position:relative}.dk-file-list-input .dk-image-list ul li .file div .other-file{font-size:80px;color:#aaa;line-height:100px}.dk-file-list-input .dk-image-list ul li .file div .el-icon-video-play{display:none;position:absolute;bottom:2px;right:2px;font-size:20px;cursor:pointer}.dk-file-list-input .dk-image-list ul li .file div:hover .el-icon-video-play{color:#409eff;display:block}.dk-file-list-input .dk-image-list ul li .file .close{display:none;cursor:pointer;position:absolute;top:0;line-height:20px;right:0;width:20px;height:20px;text-align:center;background:rgba(0,0,0,.4);border-radius:100%;color:#fff;align-items:center;justify-content:center}.dk-file-list-input .dk-image-list ul li .file:hover .close{display:flex}.dk-file-list-input .dk-image-list ul li .chooseImage{width:100px;height:100px;line-height:100px;text-align:center;font-size:40px;color:#999;cursor:pointer}.dk-file-list-input .dk-image-list ul li .chooseImage:hover{color:#409eff}
@@ -1,4 +1,5 @@
1
1
  .dk-file-list-input {
2
+ width:100%;
2
3
  .button {
3
4
  text-align: center;
4
5
  border-top: 1px solid #f5f5f5;
@@ -115,7 +115,6 @@ export declare const Form: import("@vipl520/utils").WithInstall<{
115
115
  default: () => {
116
116
  width: string;
117
117
  fullscreen: boolean;
118
- minHeight: string;
119
118
  draggable: boolean;
120
119
  };
121
120
  type: ObjectConstructor;
@@ -206,7 +205,6 @@ export declare const Form: import("@vipl520/utils").WithInstall<{
206
205
  default: () => {
207
206
  width: string;
208
207
  fullscreen: boolean;
209
- minHeight: string;
210
208
  draggable: boolean;
211
209
  };
212
210
  type: ObjectConstructor;
@@ -270,7 +268,6 @@ export declare const Form: import("@vipl520/utils").WithInstall<{
270
268
  default: () => {
271
269
  width: string;
272
270
  fullscreen: boolean;
273
- minHeight: string;
274
271
  draggable: boolean;
275
272
  };
276
273
  type: ObjectConstructor;
@@ -39,7 +39,6 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
39
39
  default: () => {
40
40
  width: string;
41
41
  fullscreen: boolean;
42
- minHeight: string;
43
42
  draggable: boolean;
44
43
  };
45
44
  type: ObjectConstructor;
@@ -95,7 +94,6 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
95
94
  default: () => {
96
95
  width: string;
97
96
  fullscreen: boolean;
98
- minHeight: string;
99
97
  draggable: boolean;
100
98
  };
101
99
  type: ObjectConstructor;
@@ -52,56 +52,48 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
52
52
  );
53
53
  const dialogWidth = vue.computed(() => {
54
54
  let defaultWidth = "800px";
55
+ const config2 = _formData.value?.config || {};
56
+ if (config2?.width) {
57
+ return config2?.width;
58
+ }
55
59
  if (props.dialog?.width) {
56
60
  defaultWidth = props.dialog?.width;
57
61
  }
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;
62
+ if (config2?.defaultWidth) {
63
+ defaultWidth = config2?.defaultWidth;
76
64
  }
77
- if (_formData.value?.config?.maxHeight) {
78
- style.maxHeight = _formData.value?.config?.maxHeight;
65
+ let minWidth = 768;
66
+ if (!defaultWidth.endsWith("%")) {
67
+ minWidth = parseInt(defaultWidth);
79
68
  }
80
- return style;
69
+ return width.value < minWidth ? "100%" : defaultWidth;
81
70
  });
82
- const draggable = vue.computed(() => {
83
- let draggable2 = true;
84
- if (props.dialog?.draggable) {
85
- draggable2 = props.dialog?.draggable;
71
+ const dialogStyle = vue.computed(() => {
72
+ if (_formData.value?.config?.style) {
73
+ return _formData.value?.config?.style;
86
74
  }
87
- if (_formData.value?.config?.draggable !== void 0) {
88
- draggable2 = _formData.value?.config?.draggable;
75
+ if (props.dialog?.style) {
76
+ return props.dialog?.style;
89
77
  }
90
- return draggable2;
78
+ return {};
91
79
  });
92
80
  const isFullscreen = vue.computed(() => {
93
81
  let defaultFullscreen = false;
82
+ const autoFullscreen = _formData.value?.config?.autoFullscreen !== false;
94
83
  if (props.dialog?.width) {
95
84
  defaultFullscreen = props.dialog?.fullscreen;
96
85
  }
97
86
  if (_formData.value?.config?.fullscreen) {
98
87
  defaultFullscreen = _formData.value?.config?.fullscreen;
99
88
  }
100
- if (width.value < 768) {
89
+ if (width.value < 768 && autoFullscreen) {
101
90
  defaultFullscreen = true;
102
91
  }
103
92
  return defaultFullscreen;
104
93
  });
94
+ const dialogProps = vue.computed(() => {
95
+ return Object.assign(props.dialog, _formData.value?.config?.dialog);
96
+ });
105
97
  const setFormData = (formData) => {
106
98
  value.value = null;
107
99
  _formData.value = formData;
@@ -127,7 +119,6 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
127
119
  loading.value = false;
128
120
  }).catch((res) => {
129
121
  loading.value = false;
130
- console.error(res);
131
122
  });
132
123
  }
133
124
  };
@@ -185,17 +176,15 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
185
176
  });
186
177
  return (_ctx, _cache) => {
187
178
  const _component_DkDialog = vue.resolveComponent("DkDialog");
188
- return props.isDialog ? (vue.openBlock(), vue.createBlock(_component_DkDialog, {
179
+ return props.isDialog ? (vue.openBlock(), vue.createBlock(_component_DkDialog, vue.mergeProps({
189
180
  key: 0,
190
181
  modelValue: showDialog.value,
191
182
  "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => showDialog.value = $event),
192
183
  title: _formData.value?.title ? _formData.value?.title : "\u8868\u5355",
193
184
  width: dialogWidth.value,
194
185
  "default-fullscreen": isFullscreen.value,
195
- "min-height": "200px",
196
- draggable: draggable.value,
197
- "append-to-body": ""
198
- }, {
186
+ "min-height": "200px"
187
+ }, dialogProps.value, { "append-to-body": "" }), {
199
188
  default: vue.withCtx(() => [
200
189
  vue.createElementVNode(
201
190
  "div",
@@ -211,7 +200,6 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
211
200
  rule: _formData.value.rules,
212
201
  "handle-icon": false,
213
202
  class: "formBox",
214
- style: { "padding": "10px" },
215
203
  "onUpdate:api": _cache[1] || (_cache[1] = ($event) => fApi.value = $event),
216
204
  "onUpdate:value": _cache[2] || (_cache[2] = ($event) => value.value = $event)
217
205
  }, null, 8, ["modelValue", "option", "rule"]),
@@ -229,7 +217,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
229
217
  onClick: checkForm
230
218
  }, {
231
219
  default: vue.withCtx(() => [
232
- vue.createTextVNode(" \u63D0\u4EA4 ")
220
+ vue.createTextVNode(" \u63D0\u4EA4")
233
221
  ]),
234
222
  _: 1
235
223
  /* STABLE */
@@ -246,7 +234,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
246
234
  ]),
247
235
  _: 3
248
236
  /* FORWARDED */
249
- }, 8, ["modelValue", "title", "width", "default-fullscreen", "draggable"])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
237
+ }, 16, ["modelValue", "title", "width", "default-fullscreen"])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
250
238
  vue.createElementVNode(
251
239
  "div",
252
240
  {
@@ -278,7 +266,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
278
266
  onClick: checkForm
279
267
  }, {
280
268
  default: vue.withCtx(() => [
281
- vue.createTextVNode(" \u63D0\u4EA4 ")
269
+ vue.createTextVNode(" \u63D0\u4EA4")
282
270
  ]),
283
271
  _: 1
284
272
  /* STABLE */
@@ -1 +1 @@
1
- {"version":3,"file":"form.vue2.js","sources":["../../../src/form/src/form.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as __MACROS_defineComponent } from \"vue\";\nexport default /*#__PURE__*/ __MACROS_defineComponent({\n name: 'DkForm',\n});\n</script>\n<template>\n <DkDialog\n v-if=\"props.isDialog\"\n v-model=\"showDialog\"\n :title=\"_formData?.title ? _formData?.title : '表单'\"\n :width=\"dialogWidth\"\n :default-fullscreen=\"isFullscreen\"\n min-height=\"200px\"\n :draggable=\"draggable\"\n append-to-body\n >\n <div :style=\"dialogStyle\" class=\"dk-form\">\n <FormCreate\n v-model=\"value\"\n :option=\"formConfig\"\n :rule=\"_formData.rules\"\n :handle-icon=\"false\"\n class=\"formBox\"\n style=\"padding: 10px\"\n @update:api=\"fApi = $event\"\n @update:value=\"value = $event\"\n />\n <div :style=\"{ marginLeft: config.form.labelWidth }\" class=\"m-t-10px\">\n <slot name=\"buttons\">\n <el-button type=\"primary\" :loading=\"buttonLoading\" @click=\"checkForm\"> 提交 </el-button>\n </slot>\n </div>\n </div>\n </DkDialog>\n <div v-else>\n <div :style=\"{ minHeight }\" class=\"dk-form\">\n <FormCreate\n v-model=\"value\"\n :option=\"formConfig\"\n :rule=\"_formData.rules\"\n :handle-icon=\"false\"\n class=\"formBox\"\n @update:api=\"fApi = $event\"\n @update:value=\"value = $event\"\n />\n <div :style=\"{ marginLeft: config.form.labelWidth }\" class=\"m-t-10px\">\n <slot name=\"buttons\">\n <el-button type=\"primary\" :loading=\"buttonLoading\" @click=\"checkForm\"> 提交 </el-button>\n </slot>\n </div>\n </div>\n <!-- <div v-else :style=\"{ minHeight }\"></div>-->\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { createNamespace, isArray, isNumber, isObject, request } from '@vipl520/utils'\nimport formCreate from '@form-create/element-ui'\nimport { formProps } from './props'\nimport { computed, onMounted, reactive, ref, watch } from 'vue'\nimport _config from './config'\nimport { ElButton, ElMessage } from 'element-plus'\nimport { useWindowSize } from '@vueuse/core'\n\nconst [_, bem] = createNamespace('form')\n\nformCreate.register({\n name: 'help',\n init({ value }, rule) {\n // 判断value是字符串还是数组,如果是字符串则转换为数组,如果是数组则不变\n if (!isArray(value)) {\n value = [value]\n }\n rule.suffix = {\n type: 'p',\n children: value,\n class: 'form-help',\n }\n },\n})\n\n\nconst FormCreate = formCreate.$form()\n\nconst props = defineProps(formProps)\n\nconst config = reactive(_config)\nconst fApi = ref()\nconst loading = ref(true)\nconst buttonLoading = ref(false)\n\nconst showDialog = ref(false)\nconst formConfig = computed(() => ({ ...config, ...props.extraConfig }))\nconst { width } = useWindowSize()\nconst value = ref(null)\nconst _formData = ref(props.formData || {})\nconst emit = defineEmits(['submit', 'fail', 'update:modelValue'])\nwatch(\n () => value.value,\n (val) => {\n emit('update:modelValue', val || {})\n }\n)\n// 弹窗宽度\nconst dialogWidth = computed(() => {\n let defaultWidth = '800px'\n if (props.dialog?.width) {\n defaultWidth = props.dialog?.width\n }\n if (_formData.value?.config?.width) {\n defaultWidth = _formData.value?.config?.width\n }\n return width.value < 768 ? '100%' : defaultWidth\n})\n// 弹窗内样式\nconst dialogStyle = computed(() => {\n const style = {\n minHeight: undefined,\n maxHeight: undefined,\n }\n if (props.dialog?.minHeight) {\n style.minHeight = props.dialog?.minHeight\n }\n if (props.dialog?.maxHeight) {\n style.maxHeight = props.dialog?.maxHeight\n }\n if (_formData.value?.config?.minHeight) {\n style.minHeight = _formData.value?.config?.minHeight\n }\n if (_formData.value?.config?.maxHeight) {\n style.maxHeight = _formData.value?.config?.maxHeight\n }\n return style\n})\nconst draggable = computed(() => {\n let draggable = true\n if (props.dialog?.draggable) {\n draggable = props.dialog?.draggable\n }\n if (_formData.value?.config?.draggable !== undefined) {\n draggable = _formData.value?.config?.draggable\n }\n return draggable\n})\n// 是否全屏\nconst isFullscreen = computed(() => {\n let defaultFullscreen = false\n if (props.dialog?.width) {\n defaultFullscreen = props.dialog?.fullscreen\n }\n if (_formData.value?.config?.fullscreen) {\n defaultFullscreen = _formData.value?.config?.fullscreen\n }\n if (width.value < 768) {\n defaultFullscreen = true\n }\n return defaultFullscreen\n})\n\nconst setFormData = (formData: any) => {\n value.value = null\n _formData.value = formData\n}\n\nconst initFormData = (formUrl?: string | object) => {\n if (!formUrl) {\n formUrl = props.formUrl\n }\n\n if (props.formData) {\n loading.value = false\n } else if (formUrl) {\n let data: {}\n if (isObject(formUrl)) {\n data = formUrl\n } else {\n data = {\n url: formUrl,\n method: 'post',\n }\n }\n request(data)\n .then((res) => {\n _formData.value = res.data\n loading.value = false\n })\n .catch((res) => {\n loading.value = false\n console.error(res)\n })\n }\n}\n\nconst checkForm = () => {\n fApi.value\n .validate()\n .then(() => {\n fApi.value\n .submit((data: any) => {\n onSubmit(data)\n })\n .catch((fail: object) => {\n ElMessage.warning(Object.values(fail)[0][0].message)\n })\n })\n .catch((fail: object) => {\n ElMessage.warning(Object.values(fail)[0][0].message)\n })\n}\n\nconst onSubmit = (data: any) => {\n if (props.isLoading) {\n buttonLoading.value = true\n }\n if (props.isSubmit) {\n request({\n url: props.path + _formData.value.action,\n method: _formData.value.method,\n data: { formData: data },\n })\n .then((res) => {\n ElMessage.success(res.msg)\n emit('submit', data, res)\n buttonLoading.value = false\n })\n .catch((res) => {\n ElMessage.error(res.msg)\n emit('fail', data, res)\n buttonLoading.value = false\n })\n } else {\n emit('submit', data)\n buttonLoading.value = false\n }\n showDialog.value = false\n}\n\nconst show = () => {\n showDialog.value = true\n}\nonMounted(() => {\n initFormData()\n})\n// 导出\ndefineExpose({\n showDialog,\n buttonLoading,\n fApi,\n value,\n show,\n checkForm,\n onSubmit,\n initFormData,\n setFormData,\n})\n</script>\n"],"names":["__MACROS_defineComponent","createNamespace","value","isArray","config","reactive","_config","ref","computed","useWindowSize","watch","draggable","isObject","request","ElMessage","onMounted"],"mappings":"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"}
1
+ {"version":3,"file":"form.vue2.js","sources":["../../../src/form/src/form.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as __MACROS_defineComponent } from \"vue\";\nexport default /*#__PURE__*/ __MACROS_defineComponent({\n name: 'DkForm',\n});\n</script>\n<template>\n <DkDialog\n v-if=\"props.isDialog\"\n v-model=\"showDialog\"\n :title=\"_formData?.title ? _formData?.title : '表单'\"\n :width=\"dialogWidth\"\n :default-fullscreen=\"isFullscreen\"\n min-height=\"200px\"\n v-bind=\"dialogProps\"\n append-to-body\n >\n <div :style=\"dialogStyle\" class=\"dk-form\">\n <FormCreate\n v-model=\"value\"\n :option=\"formConfig\"\n :rule=\"_formData.rules\"\n :handle-icon=\"false\"\n class=\"formBox\"\n @update:api=\"fApi = $event\"\n @update:value=\"value = $event\"\n />\n <div :style=\"{ marginLeft: config.form.labelWidth }\" class=\"m-t-10px\">\n <slot name=\"buttons\">\n <el-button type=\"primary\" :loading=\"buttonLoading\" @click=\"checkForm\"> 提交</el-button>\n </slot>\n </div>\n </div>\n </DkDialog>\n <div v-else>\n <div :style=\"{ minHeight }\" class=\"dk-form\">\n <FormCreate\n v-model=\"value\"\n :option=\"formConfig\"\n :rule=\"_formData.rules\"\n :handle-icon=\"false\"\n class=\"formBox\"\n @update:api=\"fApi = $event\"\n @update:value=\"value = $event\"\n />\n <div :style=\"{ marginLeft: config.form.labelWidth }\" class=\"m-t-10px\">\n <slot name=\"buttons\">\n <el-button type=\"primary\" :loading=\"buttonLoading\" @click=\"checkForm\"> 提交</el-button>\n </slot>\n </div>\n </div>\n <!-- <div v-else :style=\"{ minHeight }\"></div>-->\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { createNamespace, isArray, isObject, request } from '@vipl520/utils'\nimport formCreate from '@form-create/element-ui'\nimport { formProps } from './props'\nimport { computed, onMounted, reactive, ref, watch } from 'vue'\nimport _config from './config'\nimport { ElButton, ElMessage } from 'element-plus'\nimport { useWindowSize } from '@vueuse/core'\n\nconst [_, bem] = createNamespace('form')\n\nformCreate.register({\n name: 'help',\n init({ value }, rule) {\n // 判断value是字符串还是数组,如果是字符串则转换为数组,如果是数组则不变\n if (!isArray(value)) {\n value = [value]\n }\n rule.suffix = {\n type: 'p',\n children: value,\n class: 'form-help',\n }\n },\n})\n\n\nconst FormCreate = formCreate.$form()\n\nconst props = defineProps(formProps)\n\nconst config = reactive(_config)\nconst fApi = ref()\nconst loading = ref(true)\nconst buttonLoading = ref(false)\n\nconst showDialog = ref(false)\nconst formConfig = computed(() => ({ ...config, ...props.extraConfig }))\nconst { width } = useWindowSize()\nconst value = ref(null)\nconst _formData = ref(props.formData || {})\nconst emit = defineEmits(['submit', 'fail', 'update:modelValue'])\nwatch(\n () => value.value,\n (val) => {\n emit('update:modelValue', val || {})\n }\n)\n// 弹窗宽度\nconst dialogWidth = computed(() => {\n let defaultWidth = '800px'\n const config = _formData.value?.config || {}\n if (config?.width) {\n return config?.width\n }\n if (props.dialog?.width) {\n defaultWidth = props.dialog?.width\n }\n if (config?.defaultWidth) {\n defaultWidth = config?.defaultWidth\n }\n let minWidth = 768\n // 判断是否为百分比\n if (!defaultWidth.endsWith('%')) {\n minWidth = parseInt(defaultWidth)\n }\n return width.value < minWidth ? '100%' : defaultWidth\n})\n// 弹窗内样式\nconst dialogStyle = computed(() => {\n if (_formData.value?.config?.style) {\n return _formData.value?.config?.style\n }\n if (props.dialog?.style) {\n return props.dialog?.style\n }\n return {}\n})\n// const draggable = computed(() => {\n// let draggable = false\n// if (props.dialog?.draggable) {\n// draggable = props.dialog?.draggable\n// }\n// if (_formData.value?.config?.draggable !== undefined) {\n// draggable = _formData.value?.config?.draggable\n// }\n// return draggable\n// })\n// 是否全屏\nconst isFullscreen = computed(() => {\n let defaultFullscreen = false\n const autoFullscreen = _formData.value?.config?.autoFullscreen !== false\n if (props.dialog?.width) {\n defaultFullscreen = props.dialog?.fullscreen\n }\n if (_formData.value?.config?.fullscreen) {\n defaultFullscreen = _formData.value?.config?.fullscreen\n }\n\n if (width.value < 768 && autoFullscreen) {\n defaultFullscreen = true\n }\n\n return defaultFullscreen\n})\n\nconst dialogProps = computed(() => {\n return Object.assign(props.dialog, _formData.value?.config?.dialog)\n})\nconst setFormData = (formData: any) => {\n value.value = null\n _formData.value = formData\n}\n\nconst initFormData = (formUrl?: string | object) => {\n if (!formUrl) {\n formUrl = props.formUrl\n }\n\n if (props.formData) {\n loading.value = false\n } else if (formUrl) {\n let data: {}\n if (isObject(formUrl)) {\n data = formUrl\n } else {\n data = {\n url: formUrl,\n method: 'post',\n }\n }\n request(data)\n .then((res) => {\n _formData.value = res.data\n loading.value = false\n })\n .catch((res) => {\n loading.value = false\n })\n }\n}\n\nconst checkForm = () => {\n fApi.value\n .validate()\n .then(() => {\n fApi.value\n .submit((data: any) => {\n onSubmit(data)\n })\n .catch((fail: object) => {\n ElMessage.warning(Object.values(fail)[0][0].message)\n })\n })\n .catch((fail: object) => {\n ElMessage.warning(Object.values(fail)[0][0].message)\n })\n}\n\nconst onSubmit = (data: any) => {\n if (props.isLoading) {\n buttonLoading.value = true\n }\n if (props.isSubmit) {\n request({\n url: props.path + _formData.value.action,\n method: _formData.value.method,\n data: { formData: data },\n })\n .then((res) => {\n ElMessage.success(res.msg)\n emit('submit', data, res)\n buttonLoading.value = false\n })\n .catch((res) => {\n ElMessage.error(res.msg)\n emit('fail', data, res)\n buttonLoading.value = false\n })\n } else {\n emit('submit', data)\n buttonLoading.value = false\n }\n showDialog.value = false\n}\n\nconst show = () => {\n showDialog.value = true\n}\nonMounted(() => {\n initFormData()\n})\n// 导出\ndefineExpose({\n showDialog,\n buttonLoading,\n fApi,\n value,\n show,\n checkForm,\n onSubmit,\n initFormData,\n setFormData,\n})\n</script>\n"],"names":["__MACROS_defineComponent","createNamespace","value","isArray","config","reactive","_config","ref","computed","useWindowSize","watch","isObject","request","ElMessage","onMounted"],"mappings":"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"}