@vipl520/dk-ui 1.0.10 → 1.0.11
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/index.css +1 -1
- package/dist/index.js +118 -93
- package/dist/index.min.js +5 -5
- package/dist/index.min.js.map +1 -1
- package/dist/index.min.mjs +6 -6
- package/dist/index.min.mjs.map +1 -1
- package/dist/index.mjs +118 -93
- package/dist/web-types.json +1 -1
- package/es/api/attachment.mjs +10 -6
- package/es/api/attachment.mjs.map +1 -1
- package/es/attachment/src/attachment.vue2.mjs +0 -1
- package/es/attachment/src/attachment.vue2.mjs.map +1 -1
- package/es/form/index.d.ts +0 -3
- package/es/form/src/form.vue.d.ts +0 -2
- package/es/form/src/form.vue2.mjs +28 -40
- package/es/form/src/form.vue2.mjs.map +1 -1
- package/es/form/src/props.d.ts +0 -1
- package/es/form/src/props.mjs +2 -3
- package/es/form/src/props.mjs.map +1 -1
- package/es/form/style/index.css +1 -1
- package/es/form/style/index.scss +1 -0
- package/es/select/src/select.vue2.mjs +3 -3
- package/es/select/src/select.vue2.mjs.map +1 -1
- package/es/table/src/components/ComSearch.vue2.mjs +3 -1
- package/es/table/src/components/ComSearch.vue2.mjs.map +1 -1
- package/es/table/src/components/header.vue2.mjs +0 -1
- package/es/table/src/components/header.vue2.mjs.map +1 -1
- package/es/table/src/table.vue2.mjs +0 -4
- package/es/table/src/table.vue2.mjs.map +1 -1
- package/es/table/style/index.css +1 -1
- package/es/table/style/index.scss +0 -5
- package/es/table/utils/dkTableApi.mjs +66 -32
- package/es/table/utils/dkTableApi.mjs.map +1 -1
- package/lib/api/attachment.js +10 -6
- package/lib/api/attachment.js.map +1 -1
- package/lib/attachment/src/attachment.vue2.js +0 -1
- package/lib/attachment/src/attachment.vue2.js.map +1 -1
- package/lib/form/index.d.ts +0 -3
- package/lib/form/src/form.vue.d.ts +0 -2
- package/lib/form/src/form.vue2.js +27 -39
- package/lib/form/src/form.vue2.js.map +1 -1
- package/lib/form/src/props.d.ts +0 -1
- package/lib/form/src/props.js +2 -3
- package/lib/form/src/props.js.map +1 -1
- package/lib/form/style/index.css +1 -1
- package/lib/form/style/index.scss +1 -0
- package/lib/select/src/select.vue2.js +3 -3
- package/lib/select/src/select.vue2.js.map +1 -1
- package/lib/table/src/components/ComSearch.vue2.js +3 -1
- package/lib/table/src/components/ComSearch.vue2.js.map +1 -1
- package/lib/table/src/components/header.vue2.js +0 -1
- package/lib/table/src/components/header.vue2.js.map +1 -1
- package/lib/table/src/table.vue2.js +0 -4
- package/lib/table/src/table.vue2.js.map +1 -1
- package/lib/table/style/index.css +1 -1
- package/lib/table/style/index.scss +0 -5
- package/lib/table/utils/dkTableApi.js +66 -32
- package/lib/table/utils/dkTableApi.js.map +1 -1
- package/package.json +2 -2
@@ -32,62 +32,92 @@ class dkTableApi {
|
|
32
32
|
* 获取表格配置
|
33
33
|
*/
|
34
34
|
table() {
|
35
|
-
return request(
|
36
|
-
|
37
|
-
|
38
|
-
|
35
|
+
return request(
|
36
|
+
{
|
37
|
+
url: this.actionUrl.get("table"),
|
38
|
+
method: "post"
|
39
|
+
},
|
40
|
+
{
|
41
|
+
code_error_show: true
|
42
|
+
}
|
43
|
+
);
|
39
44
|
}
|
40
45
|
/**
|
41
46
|
* 获取表格配置
|
42
47
|
*/
|
43
48
|
recycleTable() {
|
44
|
-
return request(
|
45
|
-
|
46
|
-
|
47
|
-
|
49
|
+
return request(
|
50
|
+
{
|
51
|
+
url: this.actionUrl.get("recycleTable"),
|
52
|
+
method: "post"
|
53
|
+
},
|
54
|
+
{
|
55
|
+
code_error_show: true
|
56
|
+
}
|
57
|
+
);
|
48
58
|
}
|
49
59
|
/**
|
50
60
|
* 获取表单
|
51
61
|
*/
|
52
62
|
form(id) {
|
53
|
-
return request(
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
63
|
+
return request(
|
64
|
+
{
|
65
|
+
url: this.actionUrl.get("form"),
|
66
|
+
method: "post",
|
67
|
+
data: { id }
|
68
|
+
},
|
69
|
+
{
|
70
|
+
code_error_show: true
|
71
|
+
}
|
72
|
+
);
|
58
73
|
}
|
59
74
|
/**
|
60
75
|
* 获取表格列表
|
61
76
|
* @param filter
|
62
77
|
*/
|
63
78
|
index(filter = {}) {
|
64
|
-
return request(
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
79
|
+
return request(
|
80
|
+
{
|
81
|
+
url: this.actionUrl.get("index"),
|
82
|
+
method: "get",
|
83
|
+
params: filter
|
84
|
+
},
|
85
|
+
{
|
86
|
+
code_error_show: true
|
87
|
+
}
|
88
|
+
);
|
69
89
|
}
|
70
90
|
/**
|
71
91
|
* 回收站列表
|
72
92
|
* @param filter
|
73
93
|
*/
|
74
94
|
recycle(filter = {}) {
|
75
|
-
return request(
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
95
|
+
return request(
|
96
|
+
{
|
97
|
+
url: this.actionUrl.get("recycle"),
|
98
|
+
method: "get",
|
99
|
+
params: filter
|
100
|
+
},
|
101
|
+
{
|
102
|
+
code_error_show: true
|
103
|
+
}
|
104
|
+
);
|
80
105
|
}
|
81
106
|
/**
|
82
107
|
* 编辑
|
83
108
|
* @param params
|
84
109
|
*/
|
85
110
|
edit(params) {
|
86
|
-
return request(
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
111
|
+
return request(
|
112
|
+
{
|
113
|
+
url: this.actionUrl.get("edit"),
|
114
|
+
method: "get",
|
115
|
+
params
|
116
|
+
},
|
117
|
+
{
|
118
|
+
code_error_show: true
|
119
|
+
}
|
120
|
+
);
|
91
121
|
}
|
92
122
|
/**
|
93
123
|
* 删除
|
@@ -103,7 +133,8 @@ class dkTableApi {
|
|
103
133
|
}
|
104
134
|
},
|
105
135
|
{
|
106
|
-
code_success_show: true
|
136
|
+
code_success_show: true,
|
137
|
+
code_error_show: true
|
107
138
|
}
|
108
139
|
);
|
109
140
|
}
|
@@ -121,7 +152,8 @@ class dkTableApi {
|
|
121
152
|
}
|
122
153
|
},
|
123
154
|
{
|
124
|
-
code_success_show: true
|
155
|
+
code_success_show: true,
|
156
|
+
code_error_show: true
|
125
157
|
}
|
126
158
|
);
|
127
159
|
}
|
@@ -139,7 +171,8 @@ class dkTableApi {
|
|
139
171
|
}
|
140
172
|
},
|
141
173
|
{
|
142
|
-
code_success_show: true
|
174
|
+
code_success_show: true,
|
175
|
+
code_error_show: true
|
143
176
|
}
|
144
177
|
);
|
145
178
|
}
|
@@ -156,7 +189,8 @@ class dkTableApi {
|
|
156
189
|
data
|
157
190
|
},
|
158
191
|
{
|
159
|
-
code_success_show: true
|
192
|
+
code_success_show: true,
|
193
|
+
code_error_show: true
|
160
194
|
}
|
161
195
|
);
|
162
196
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"dkTableApi.mjs","sources":["../../../src/table/utils/dkTableApi.ts"],"sourcesContent":["import { request } from '@vipl520/utils'\n\nexport class dkTableApi {\n private controllerUrl: string\n public actionUrl\n\n constructor(controllerUrl: string) {\n if (!controllerUrl.endsWith('/')) {\n controllerUrl += '/'\n }\n this.controllerUrl = controllerUrl\n this.actionUrl = new Map([\n ['index', controllerUrl + 'index'],\n ['add', controllerUrl + 'add'],\n ['edit', controllerUrl + 'edit'],\n ['del', controllerUrl + 'del'],\n ['sortable', controllerUrl + 'sortable'],\n ['table', controllerUrl + 'table'], // 获取表格数据\n ['form', controllerUrl + 'form'], // 获取表单\n ['recycle', controllerUrl + 'recycle'], // 回收站\n ['recycleTable', controllerUrl + 'recycleTable'], // 回收站表格\n ['destroy', controllerUrl + 'destroy'], // 回收站销毁\n ['restore', controllerUrl + 'restore'], // 回收站还原\n ])\n }\n\n /**\n * 获取表格配置\n */\n table() {\n return request({\n
|
1
|
+
{"version":3,"file":"dkTableApi.mjs","sources":["../../../src/table/utils/dkTableApi.ts"],"sourcesContent":["import { request } from '@vipl520/utils'\n\nexport class dkTableApi {\n private controllerUrl: string\n public actionUrl\n\n constructor(controllerUrl: string) {\n if (!controllerUrl.endsWith('/')) {\n controllerUrl += '/'\n }\n this.controllerUrl = controllerUrl\n this.actionUrl = new Map([\n ['index', controllerUrl + 'index'],\n ['add', controllerUrl + 'add'],\n ['edit', controllerUrl + 'edit'],\n ['del', controllerUrl + 'del'],\n ['sortable', controllerUrl + 'sortable'],\n ['table', controllerUrl + 'table'], // 获取表格数据\n ['form', controllerUrl + 'form'], // 获取表单\n ['recycle', controllerUrl + 'recycle'], // 回收站\n ['recycleTable', controllerUrl + 'recycleTable'], // 回收站表格\n ['destroy', controllerUrl + 'destroy'], // 回收站销毁\n ['restore', controllerUrl + 'restore'], // 回收站还原\n ])\n }\n\n /**\n * 获取表格配置\n */\n table() {\n return request(\n {\n url: this.actionUrl.get('table'),\n method: 'post',\n },\n {\n code_error_show: true,\n }\n )\n }\n\n /**\n * 获取表格配置\n */\n recycleTable() {\n return request(\n {\n url: this.actionUrl.get('recycleTable'),\n method: 'post',\n },\n {\n code_error_show: true,\n }\n )\n }\n\n /**\n * 获取表单\n */\n form(id?: number) {\n return request(\n {\n url: this.actionUrl.get('form'),\n method: 'post',\n data: { id },\n },\n {\n code_error_show: true,\n }\n )\n }\n\n /**\n * 获取表格列表\n * @param filter\n */\n index(filter: anyObj = {}) {\n return request(\n {\n url: this.actionUrl.get('index'),\n method: 'get',\n params: filter,\n },\n {\n code_error_show: true,\n }\n )\n }\n\n /**\n * 回收站列表\n * @param filter\n */\n recycle(filter: anyObj = {}) {\n return request(\n {\n url: this.actionUrl.get('recycle'),\n method: 'get',\n params: filter,\n },\n {\n code_error_show: true,\n }\n )\n }\n\n /**\n * 编辑\n * @param params\n */\n edit(params: anyObj) {\n return request(\n {\n url: this.actionUrl.get('edit'),\n method: 'get',\n params,\n },\n {\n code_error_show: true,\n }\n )\n }\n\n /**\n * 删除\n * @param ids\n */\n del(ids: number[]) {\n return request(\n {\n url: this.actionUrl.get('del'),\n method: 'DELETE',\n params: {\n ids,\n },\n },\n {\n code_success_show: true,\n code_error_show: true,\n }\n )\n }\n\n /**\n * 销毁\n * @param ids\n */\n destroy(ids: string[]) {\n return request(\n {\n url: this.actionUrl.get('destroy'),\n method: 'POST',\n data: {\n ids,\n },\n },\n {\n code_success_show: true,\n code_error_show: true,\n }\n )\n }\n\n /**\n * 还原\n * @param ids\n */\n restore(ids: string[]) {\n return request(\n {\n url: this.actionUrl.get('restore'),\n method: 'POST',\n data: {\n ids,\n },\n },\n {\n code_success_show: true,\n code_error_show: true,\n }\n )\n }\n\n /**\n * 自定义\n * @param action\n * @param data\n */\n postData(action: string, data: anyObj) {\n return request(\n {\n url: this.actionUrl.has(action) ? this.actionUrl.get(action) : this.controllerUrl + action,\n method: 'post',\n data,\n },\n {\n code_success_show: true,\n code_error_show: true,\n }\n )\n }\n\n /**\n * 排序\n * @param id\n * @param targetId\n */\n sortableApi(id: number, targetId: number) {\n return request(\n {\n url: this.actionUrl.get('sortable'),\n method: 'post',\n data: {\n id,\n targetId,\n },\n },\n {\n code_error_show: true,\n }\n )\n }\n}\n"],"names":[],"mappings":"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"}
|
package/lib/api/attachment.js
CHANGED
@@ -49,12 +49,16 @@ function moveAttachment(ids, groupId) {
|
|
49
49
|
});
|
50
50
|
}
|
51
51
|
function getAttachmentGroupList(type) {
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
52
|
+
return utils.request(
|
53
|
+
{
|
54
|
+
method: "get",
|
55
|
+
url: "/adminapi/attachment/group",
|
56
|
+
params: { type }
|
57
|
+
},
|
58
|
+
{
|
59
|
+
code_error_show: true
|
60
|
+
}
|
61
|
+
);
|
58
62
|
}
|
59
63
|
function getAttachmentGroupForm(id) {
|
60
64
|
if (id) {
|
@@ -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(
|
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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"}
|
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,MAA6B,cAAAA,mBAAyB,CAAA;AAAA,EACpD,IAAM,EAAA,cAAA;AACR,CAAC,CAAA,CAAA;;;;;;AA+JD,IAAM,MAAA,KAAA,GAAQC,aAAS,MAAM;AAC3B,MAAO,OAAAC,uBAAA,CAAkB,MAAM,IAAI,CAAA,CAAA;AAAA,KACpC,CAAA,CAAA;AAID,IAAM,MAAA,cAAA,GAAiBC,QAAI,EAAE,CAAA,CAAA;AAE7B,IAAM,MAAA,aAAA,GAAgBA,OAAc,CAAA,EAAE,CAAA,CAAA;AAEtC,IAAM,MAAA,cAAA,GAAiBA,OAAW,CAAA,EAAE,CAAA,CAAA;AAEpC,IAAM,MAAA,YAAA,GAAeA,OAAc,CAAA,EAAE,CAAA,CAAA;AACrC,IAAA,MAAM,eAAeC,qBAAgB,EAAA,CAAA;AAErC,IAAM,MAAA,SAAA,GAAYD,OAAI,CAAA,YAAA,CAAa,MAAM,CAAA,CAAA;AACzC,IAAA,MAAM,UAAUA,OAAI,CAAA;AAAA,MAClB,gBAAgB,YAAa,CAAA,WAAA;AAAA,KAC9B,CAAA,CAAA;AAED,IAAA,MAAM,SAASA,OAAI,EAAA,CAAA;AAEnB,IAAA,MAAM,OAAOE,YAAS,CAAA;AAAA,MACpB,MAAM,KAAM,CAAA,KAAA;AAAA,MACZ,IAAM,EAAA,MAAA;AAAA,MACN,QAAU,EAAA,CAAA;AAAA,KACX,CAAA,CAAA;AAID,IAAM,MAAA,oBAAA,GAAuB,CAACC,QAAoB,KAAA;AAChD,MAAAC,yBAAA,CAAe,aAAa,KAAOD,EAAAA,QAAO,CAAE,CAAA,IAAA,CAAK,CAAC,GAAQ,KAAA;AACxD,QAAUE,qBAAA,CAAA,OAAA,CAAQ,IAAI,GAAG,CAAA,CAAA;AACzB,QAAoB,mBAAA,EAAA,CAAA;AAAA,OACrB,CAAA,CAAA;AAAA,KACH,CAAA;AAEA,IAAM,MAAA,mBAAA,GAAsB,CAAC,GAAa,KAAA;AACxC,MAAI,IAAA,GAAA,CAAI,SAAS,CAAG,EAAA;AAClB,QAAUA,qBAAA,CAAA,OAAA,CAAQ,IAAI,GAAG,CAAA,CAAA;AAEzB,QAAoB,mBAAA,EAAA,CAAA;AAAA,OACf,MAAA;AACL,QAAUA,qBAAA,CAAA,KAAA,CAAM,IAAI,GAAG,CAAA,CAAA;AAAA,OACzB;AAAA,KACF,CAAA;AAEA,IAAM,MAAA,OAAA,GAAUP,aAAS,MAAM;AAC7B,MAAA,IAAIQ,QAAU,GAAA,EAAA,CAAA;AACd,MAAA,IAAI,MAAM,MAAQ,EAAA;AAChB,QAAA,OAAO,KAAM,CAAA,MAAA,CAAA;AAAA,OACR,MAAA;AACL,QAAA,QAAQ,MAAM,KAAO;AAAA,UACnB,KAAK,CAAA;AACH,YAAA,MAAA;AAAA,UACF,KAAK,CAAA;AACH,YAAAA,QAAU,GAAA,SAAA,CAAA;AACV,YAAA,MAAA;AAAA,UACF,KAAK,CAAA;AACH,YAAAA,QAAU,GAAA,SAAA,CAAA;AACV,YAAA,MAAA;AAAA,UACF,KAAK,CAAA;AACH,YAAAA,QAAU,GAAA,SAAA,CAAA;AACV,YAAA,MAAA;AAAA,SACJ;AACA,QAAOA,OAAAA,QAAAA,CAAAA;AAAA,OACT;AAAA,KACD,CAAA,CAAA;AAED,IAAA,MAAM,WAAW,MAAM;AAErB,MAAaC,wBAAA,CAAA,OAAA,CAAQ,2FAAqB,cAAM,EAAA;AAAA,QAC9C,iBAAmB,EAAA,cAAA;AAAA,QACnB,gBAAkB,EAAA,cAAA;AAAA,OACnB,CAAE,CAAA,IAAA,CAAK,MAAM;AACZ,QAAI,IAAA;AACF,UAAAC,2BAAA,CAAiB,YAAa,CAAA,KAAK,CAChC,CAAA,IAAA,CAAK,CAAC,GAAQ,KAAA;AACb,YAAA,OAAA,CAAQ,IAAI,GAAG,CAAA,CAAA;AACf,YAAoB,mBAAA,EAAA,CAAA;AAAA,WACrB,CAAA,CACA,KAAM,CAAA,CAAC,GAAQ,KAAA;AACd,YAAQ,OAAA,CAAA,GAAA,CAAI,0BAA0B,GAAG,CAAA,CAAA;AAAA,WAC1C,CAAA,CAAA;AAAA,iBACI,CAAG,EAAA;AACV,UAAA,OAAA,CAAQ,IAAI,CAAC,CAAA,CAAA;AAAA,SACf;AAAA,OACD,CAAA,CAAA;AAAA,KACH,CAAA;AAGA,IAAM,MAAA,SAAA,GAAYR,OAAS,CAAA,EAAE,CAAA,CAAA;AAI7B,IAAM,MAAA,YAAA,GAAeF,aAAS,MAAM;AAClC,MAAI,IAAA,OAAA,CAAQ,UAAU,CAAG,EAAA;AACvB,QAAO,OAAA;AAAA,UACL,GAAA,EAAK,aAAa,MAAS,GAAA,mCAAA;AAAA,UAC3B,MAAQ,EAAA,KAAA;AAAA,SACV,CAAA;AAAA,OACK,MAAA;AACL,QAAO,OAAA;AAAA,UACL,GAAK,EAAA,YAAA,CAAa,MAAS,GAAA,6BAAA,GAAgC,QAAQ,KAAQ,GAAA,OAAA;AAAA,UAC3E,MAAQ,EAAA,KAAA;AAAA,SACV,CAAA;AAAA,OACF;AAAA,KACD,CAAA,CAAA;AAED,IAAA,MAAM,YAAYE,OAAI,EAAA,CAAA;AAEtB,IAAA,MAAM,WAAW,MAAM;AAErB,MAAA,OAAA,CAAQ,KAAQ,GAAA,CAAA,CAAA;AAChB,MAAA,SAAA,CAAU,MAAM,IAAK,EAAA,CAAA;AAAA,KACvB,CAAA;AAEA,IAAM,MAAA,QAAA,GAAW,CAAC,EAAe,KAAA;AAE/B,MAAaO,wBAAA,CAAA,OAAA,CAAQ,iGAAsB,cAAM,EAAA;AAAA,QAC/C,iBAAmB,EAAA,cAAA;AAAA,QACnB,gBAAkB,EAAA,cAAA;AAAA,QAClB,IAAM,EAAA,SAAA;AAAA,OACP,CAAE,CAAA,IAAA,CAAK,MAAM;AACZ,QAAI,IAAA;AACF,UAAAE,6BAAA,CAAmB,EAAE,CAAA,CAClB,IAAK,CAAA,CAAC,GAAQ,KAAA;AACb,YAAUJ,qBAAA,CAAA,OAAA,CAAQ,IAAI,GAAG,CAAA,CAAA;AACzB,YAAS,QAAA,EAAA,CAAA;AAAA,WACV,CACA,CAAA,KAAA,CAAM,MAAM;AAAA,WAAE,CAAA,CAAA;AAAA,iBACV,CAAG,EAAA;AACV,UAAA,OAAA,CAAQ,IAAI,CAAC,CAAA,CAAA;AAAA,SACf;AAAA,OACD,CAAA,CAAA;AAAA,KACH,CAAA;AAEA,IAAA,MAAM,YAAY,MAAM;AACtB,MAAA,SAAA,CAAU,MAAM,IAAK,EAAA,CAAA;AAAA,KACvB,CAAA;AAEA,IAAA,MAAM,WAAW,MAAM;AACrB,MAAa,YAAA,EAAA,CAAA;AACb,MAAoB,mBAAA,EAAA,CAAA;AAAA,KACtB,CAAA;AAEA,IAAM,MAAA,WAAA,GAAc,CAAC,EAAe,KAAA;AAClC,MAAA,OAAA,CAAQ,KAAQ,GAAA,EAAA,CAAA;AAChB,MAAA,IAAA,CAAK,KAAQ,GAAA,CAAA,CAAA;AACb,MAAoB,mBAAA,EAAA,CAAA;AAAA,KACtB,CAAA;AAEA,IAAA,MAAM,eAAe,YAAY;AAC/B,MAAI,IAAA;AACF,QAAA,MAAM,GAAM,GAAA,MAAMK,iCAAuB,CAAA,KAAA,CAAM,KAAK,CAAA,CAAA;AACpD,QAAA,SAAA,CAAU,QAAQ,GAAI,CAAA,IAAA,CAAA;AAAA,eACf,CAAG,EAAA;AAAA,OAEZ;AAAA,KACF,CAAA;AAGA,IAAM,MAAA,OAAA,GAAUV,QAAI,IAAI,CAAA,CAAA;AACxB,IAAM,MAAA,IAAA,GAAOA,OAAS,CAAA,EAAE,CAAA,CAAA;AACxB,IAAM,MAAA,IAAA,GAAOA,QAAI,CAAC,CAAA,CAAA;AAClB,IAAM,MAAA,KAAA,GAAQA,QAAI,CAAC,CAAA,CAAA;AACnB,IAAM,MAAA,IAAA,GAAOA,QAAI,EAAE,CAAA,CAAA;AACnB,IAAM,MAAA,aAAA,GAAgBA,QAAI,CAAC,CAAA,CAAA;AAC3B,IAAM,MAAA,OAAA,GAAUA,QAAI,CAAC,CAAA,CAAA;AAQrB,IAAM,MAAA,gBAAA,GAAmB,CAAC,GAAgB,KAAA;AACxC,MAAA,IAAA,CAAK,KAAQ,GAAA,GAAA,CAAA;AACb,MAAoB,mBAAA,EAAA,CAAA;AAAA,KACtB,CAAA;AAGA,IAAM,MAAA,mBAAA,GAAsB,CAAC,GAAgB,KAAA;AAC3C,MAAA,IAAA,CAAK,KAAQ,GAAA,GAAA,CAAA;AACb,MAAoB,mBAAA,EAAA,CAAA;AAAA,KACtB,CAAA;AACA,IAAA,MAAM,mBAAsB,GAAA,OAAO,MAAS,GAAA,EAAO,KAAA;AACjD,MAAY,WAAA,EAAA,CAAA;AAGZ,MAAI,IAAA;AACF,QAAM,MAAA,GAAA,GAAM,MAAMW,4BAAA,CAAkB,IAAK,CAAA,KAAA,EAAO,IAAK,CAAA,KAAA,EAAO,KAAM,CAAA,KAAA,EAAO,OAAQ,CAAA,KAAA,EAAO,MAAM,CAAA,CAAA;AAC9F,QAAA,IAAA,CAAK,QAAQ,GAAI,CAAA,IAAA,CAAA;AACjB,QAAA,KAAA,CAAM,QAAQ,GAAI,CAAA,GAAA,CAAA;AAClB,QAAA,OAAA,CAAQ,KAAQ,GAAA,KAAA,CAAA;AAAA,eACT,CAAG,EAAA;AACV,QAAA,OAAA,CAAQ,IAAI,CAAC,CAAA,CAAA;AAAA,OACf;AAAA,KACF,CAAA;AAEA,IAAA,MAAM,cAAc,MAAM;AACxB,MAAA,aAAA,CAAc,QAAQ,EAAC,CAAA;AACvB,MAAA,YAAA,CAAa,QAAQ,EAAC,CAAA;AACtB,MAAA,cAAA,CAAe,QAAQ,EAAC,CAAA;AAAA,KAC1B,CAAA;AAEA,IAAM,MAAA,gBAAA,GAAmB,CAAC,IAAA,EAAW,GAAgB,KAAA;AACnD,MAAA,MAAM,KAAQ,GAAA,aAAA,CAAc,KAAM,CAAA,OAAA,CAAQ,GAAG,CAAA,CAAA;AAC7C,MAAA,IAAI,QAAQ,CAAI,CAAA,EAAA;AACd,QAAc,aAAA,CAAA,KAAA,CAAM,MAAO,CAAA,KAAA,EAAO,CAAC,CAAA,CAAA;AACnC,QAAa,YAAA,CAAA,KAAA,CAAM,MAAO,CAAA,KAAA,EAAO,CAAC,CAAA,CAAA;AAClC,QAAe,cAAA,CAAA,KAAA,CAAM,MAAO,CAAA,KAAA,EAAO,CAAC,CAAA,CAAA;AAAA,OAC/B,MAAA;AACL,QAAc,aAAA,CAAA,KAAA,CAAM,KAAK,GAAG,CAAA,CAAA;AAC5B,QAAa,YAAA,CAAA,KAAA,CAAM,IAAK,CAAA,IAAA,CAAK,EAAE,CAAA,CAAA;AAC/B,QAAe,cAAA,CAAA,KAAA,CAAM,KAAK,IAAI,CAAA,CAAA;AAAA,OAChC;AAAA,KACF,CAAA;AAEA,IAAAC,aAAA,CAAU,MAAM;AACd,MAAa,YAAA,EAAA,CAAA;AACb,MAAoB,mBAAA,EAAA,CAAA;AAAA,KACrB,CAAA,CAAA;AAED,IAAa,QAAA,CAAA;AAAA,MACX,YAAA;AAAA,MACA,aAAA;AAAA,MACA,cAAA;AAAA,MACA,WAAA;AAAA,KACD,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
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}\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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"}
|
package/lib/form/index.d.ts
CHANGED
@@ -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 (
|
59
|
-
defaultWidth =
|
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
|
-
|
78
|
-
|
65
|
+
let minWidth = 768;
|
66
|
+
if (!defaultWidth.endsWith("%")) {
|
67
|
+
minWidth = parseInt(defaultWidth);
|
79
68
|
}
|
80
|
-
return
|
69
|
+
return width.value < minWidth ? "100%" : defaultWidth;
|
81
70
|
});
|
82
|
-
const
|
83
|
-
|
84
|
-
|
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 (
|
88
|
-
|
75
|
+
if (props.dialog?.style) {
|
76
|
+
return props.dialog?.style;
|
89
77
|
}
|
90
|
-
return
|
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
|
-
|
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
|
-
},
|
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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"}
|