@vipl520/dk-ui 1.0.10 → 1.0.12

Sign up to get free protection for your applications and to get access to all the features.
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":";;;;AAKO,SAAS,kBACd,IACA,EAAA,IAAA,EACA,IAAe,GAAA,CAAA,EACf,SACA,MACA,EAAA;AACA,EAAA,MAAA,CAAO,QAAW,GAAA,OAAA,CAAA;AAClB,EAAA,MAAA,CAAO,IAAO,GAAA,IAAA,CAAA;AACd,EAAA,OAAOA,aAAQ,CAAA;AAAA,IACb,MAAQ,EAAA,MAAA;AAAA,IACR,GAAK,EAAA,2BAAA;AAAA,IACL,IAAM,EAAA,EAAE,IAAM,EAAA,IAAA,EAAM,MAAO,EAAA;AAAA,GAC5B,CAAA,CAAA;AACH,CAAA;AAYO,SAAS,gBAAiB,CAAA,IAAA,EAAW,IAAO,GAAA,CAAA,EAAG,UAAU,CAAG,EAAA;AACjE,EAAM,MAAA,QAAA,GAAW,IAAI,QAAS,EAAA,CAAA;AAC9B,EAAS,QAAA,CAAA,MAAA,CAAO,QAAQ,IAAI,CAAA,CAAA;AAC5B,EAAA,QAAA,CAAS,MAAO,CAAA,MAAA,EAAQ,IAAK,CAAA,QAAA,EAAU,CAAA,CAAA;AACvC,EAAS,QAAA,CAAA,MAAA,CAAO,QAAQ,MAAM,CAAA,CAAA;AAC9B,EAAA,QAAA,CAAS,MAAO,CAAA,UAAA,EAAY,OAAQ,CAAA,QAAA,EAAU,CAAA,CAAA;AAC9C,EAAA,OAAOA,aAAQ,CAAA;AAAA,IACb,MAAQ,EAAA,MAAA;AAAA,IACR,GAAK,EAAA,6BAAA;AAAA,IACL,IAAM,EAAA,QAAA;AAAA,GACP,CAAA,CAAA;AACH,CAAA;AAGO,SAAS,kBAAkB,EAAY,EAAA;AAC5C,EAAA,OAAOA,aAAQ,CAAA;AAAA,IACb,MAAQ,EAAA,KAAA;AAAA,IACR,GAAA,EAAK,gCAAgC,EAAK,GAAA,OAAA;AAAA,GAC3C,CAAA,CAAA;AACH,CAAA;AAEO,SAAS,iBAAiB,GAAe,EAAA;AAC9C,EAAO,OAAAA,aAAA;AAAA,IACL;AAAA,MACE,MAAQ,EAAA,MAAA;AAAA,MACR,GAAK,EAAA,6BAAA;AAAA,MACL,IAAA,EAAM,EAAE,GAAI,EAAA;AAAA,KACd;AAAA,IACA;AAAA,MACE,iBAAmB,EAAA,IAAA;AAAA,KACrB;AAAA,GACF,CAAA;AACF,CAAA;AAEgB,SAAA,cAAA,CAAe,KAAe,OAAiB,EAAA;AAC7D,EAAA,OAAOA,aAAQ,CAAA;AAAA,IACb,MAAQ,EAAA,MAAA;AAAA,IACR,GAAK,EAAA,2BAAA;AAAA,IACL,IAAM,EAAA,EAAE,GAAK,EAAA,QAAA,EAAU,OAAQ,EAAA;AAAA,GAChC,CAAA,CAAA;AACH,CAAA;AAKO,SAAS,uBAAuB,IAAc,EAAA;AACnD,EAAQ,OAAA,CAAA,GAAA,CAAI,gBAAgB,IAAI,CAAA,CAAA;AAChC,EAAA,OAAOA,aAAQ,CAAA;AAAA,IACb,MAAQ,EAAA,KAAA;AAAA,IACR,GAAK,EAAA,4BAAA;AAAA,IACL,MAAA,EAAQ,EAAE,IAAK,EAAA;AAAA,GAChB,CAAA,CAAA;AACH,CAAA;AAGO,SAAS,uBAAuB,EAAY,EAAA;AACjD,EAAA,IAAI,EAAI,EAAA;AACN,IAAA,OAAOA,aAAQ,CAAA;AAAA,MACb,MAAQ,EAAA,KAAA;AAAA,MACR,GAAA,EAAK,gCAAgC,EAAK,GAAA,OAAA;AAAA,KAC3C,CAAA,CAAA;AAAA,GACI,MAAA;AACL,IAAA,OAAOA,aAAQ,CAAA;AAAA,MACb,MAAQ,EAAA,KAAA;AAAA,MACR,GAAK,EAAA,mCAAA;AAAA,KACN,CAAA,CAAA;AAAA,GACH;AACF,CAAA;AAGO,SAAS,mBAAmB,EAAY,EAAA;AAC7C,EAAO,OAAAA,aAAA;AAAA,IACL;AAAA,MACE,MAAQ,EAAA,QAAA;AAAA,MACR,KAAK,6BAAgC,GAAA,EAAA;AAAA,KACvC;AAAA,IACA;AAAA,MACE,eAAiB,EAAA,IAAA;AAAA,KACnB;AAAA,GACF,CAAA;AACF;;;;;;;;;;;"}
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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"}