@lambo-design/upload-file 1.0.0-beta.21 → 1.0.0-beta.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +3 -3
- package/src/index.vue +16 -13
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lambo-design/upload-file",
|
|
3
|
-
"version": "1.0.0-beta.
|
|
3
|
+
"version": "1.0.0-beta.23",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"author": "lambo",
|
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
"devDependencies": {
|
|
13
13
|
"axios": "^0.24.0",
|
|
14
14
|
"axios-cache-plugin": "^0.1.0",
|
|
15
|
-
"@lambo-design/
|
|
16
|
-
"@lambo-design/
|
|
15
|
+
"@lambo-design/core": "^4.7.1-beta.144",
|
|
16
|
+
"@lambo-design/shared": "^1.0.0-beta.214"
|
|
17
17
|
},
|
|
18
18
|
"scripts": {
|
|
19
19
|
"release-upload-file": "pnpm release-beta && git push --follow-tags && pnpm re-publish",
|
package/src/index.vue
CHANGED
|
@@ -19,16 +19,16 @@
|
|
|
19
19
|
@change="readFile($event, 1)"/>
|
|
20
20
|
<div class="upload-file-list" v-if="showFileList && resultList.length > 0">
|
|
21
21
|
<List border size="small">
|
|
22
|
-
<ListItem v-for="item in resultList" :key="item.fileCode">
|
|
22
|
+
<ListItem v-for="item in resultList" :key="item.fileId ? item.fileId : item.fileCode">
|
|
23
23
|
<div span="21">
|
|
24
|
-
<a :href="item.fileUrl ? item.fileUrl : downloadUrl + item.fileCode">
|
|
24
|
+
<a :href="item.fileUrl ? item.fileUrl : downloadUrl + item.fileId ? item.fileId : item.fileCode">
|
|
25
25
|
{{ item.fileName }}
|
|
26
26
|
<span class="size" style="margin-left: 5px" v-if="item.showSize">({{ item.showSize }})</span>
|
|
27
27
|
</a>
|
|
28
28
|
</div>
|
|
29
29
|
<div span="3" style="text-align: right">
|
|
30
30
|
<Button v-if="showPreview" @click="previewFile(item)" type="text">预览</Button>
|
|
31
|
-
<Button @click="deleteFile(item.fileCode)" type="text">删除</Button>
|
|
31
|
+
<Button @click="deleteFile(item.fileId ? item.fileId : item.fileCode)" type="text">删除</Button>
|
|
32
32
|
</div>
|
|
33
33
|
</ListItem>
|
|
34
34
|
</List>
|
|
@@ -48,7 +48,7 @@ export default {
|
|
|
48
48
|
accept: {//txt,word,excel
|
|
49
49
|
type: String,
|
|
50
50
|
required: false,
|
|
51
|
-
default: "text/plain,application/msword,application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.wordprocessingml.document,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
|
|
51
|
+
default: ".pdf,text/plain,application/msword,application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.wordprocessingml.document,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
|
|
52
52
|
},
|
|
53
53
|
fileSuffix: {
|
|
54
54
|
type: String,
|
|
@@ -146,7 +146,7 @@ export default {
|
|
|
146
146
|
loading: false,
|
|
147
147
|
attachmentFile: {
|
|
148
148
|
// fileUrl:"",
|
|
149
|
-
|
|
149
|
+
fileId: "",
|
|
150
150
|
fileType: "",
|
|
151
151
|
fileName: "",
|
|
152
152
|
size: ""
|
|
@@ -174,7 +174,7 @@ export default {
|
|
|
174
174
|
for (let file of e.target.files) {
|
|
175
175
|
const reg = new RegExp("\.(" + this.fileSuffix + ")$", "i");
|
|
176
176
|
if (!reg.test(file.name)) {
|
|
177
|
-
alert('文件类型必须是doc,docx,txt,xls,xlsx,jpg,jpeg,png中的一种');
|
|
177
|
+
alert('文件类型必须是doc,docx,txt,pdf,xls,xlsx,jpg,jpeg,png中的一种');
|
|
178
178
|
self.loading = false;
|
|
179
179
|
return false;
|
|
180
180
|
} else {
|
|
@@ -213,7 +213,7 @@ export default {
|
|
|
213
213
|
result.forEach(item => {
|
|
214
214
|
const tmp = {
|
|
215
215
|
fileUrl: downloadUrl + item.fileId,
|
|
216
|
-
|
|
216
|
+
fileId: item.fileId,
|
|
217
217
|
fileName: item.fileName,
|
|
218
218
|
fileType: item.fileName.substring(item.fileName.lastIndexOf(".") + 1),
|
|
219
219
|
size: item.length,
|
|
@@ -254,17 +254,20 @@ export default {
|
|
|
254
254
|
}
|
|
255
255
|
},
|
|
256
256
|
previewFile: function (item) {
|
|
257
|
-
if (item.fileCode) {
|
|
258
|
-
const url = this.fileOnlinePreviewHost + this.ossServerContext + this.ossFilePreviewUrl + item.fileCode + "?fullfilename=" + item.fileName + "." + item.fileType;
|
|
257
|
+
if (item.fileId || item.fileCode) {
|
|
258
|
+
const url = this.fileOnlinePreviewHost + this.ossServerContext + this.ossFilePreviewUrl + item.fileId ? item.fileId : item.fileCode + "?fullfilename=" + item.fileName + "." + item.fileType;
|
|
259
259
|
window.open(config.fileOnlinePreviewContext + '/onlinePreview?url=' + encodeURIComponent(this.encode64(url)));
|
|
260
260
|
}
|
|
261
261
|
},
|
|
262
|
-
deleteFile: function (
|
|
263
|
-
if (
|
|
262
|
+
deleteFile: function (fileId) {
|
|
263
|
+
if (fileId) {
|
|
264
264
|
let result = [];
|
|
265
265
|
let deletes = []
|
|
266
266
|
this.resultList.forEach(item => {
|
|
267
|
-
if (item.
|
|
267
|
+
if (!item.fileId) {
|
|
268
|
+
item.fileId = item.fileCode;
|
|
269
|
+
}
|
|
270
|
+
if (item.fileId !== fileId) {
|
|
268
271
|
result.push(item);
|
|
269
272
|
} else {
|
|
270
273
|
deletes.push(item)
|
|
@@ -287,7 +290,7 @@ export default {
|
|
|
287
290
|
Promise.all(requests).then((response) => {
|
|
288
291
|
response.forEach(item => {
|
|
289
292
|
this.resultList.push({
|
|
290
|
-
|
|
293
|
+
fileId: item.data.data.fileId,
|
|
291
294
|
fileUrl: this.ossServerContext + this.ossFileGetUrl + item.data.data.fileId,
|
|
292
295
|
fileName: item.data.data.fileName,
|
|
293
296
|
fileType: item.data.data.fileName.substring(item.data.data.fileName.lastIndexOf(".") + 1),
|