|
@@ -15,15 +15,13 @@ import {
|
|
|
|
|
|
|
|
export default {
|
|
export default {
|
|
|
props: {
|
|
props: {
|
|
|
- status: {
|
|
|
|
|
|
|
+ type: {
|
|
|
type: Number,
|
|
type: Number,
|
|
|
- default: State.AVAILABLE_ASSET
|
|
|
|
|
|
|
+ default: AssetType.IMAGE
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
data () {
|
|
data () {
|
|
|
return {
|
|
return {
|
|
|
- type: AssetType.IMAGE,
|
|
|
|
|
- active: `${this.status}`,
|
|
|
|
|
[AssetType.IMAGE]: {
|
|
[AssetType.IMAGE]: {
|
|
|
[State.AVAILABLE_ASSET]: createListOptions({ type: AssetType.IMAGE, status: State.AVAILABLE_ASSET }),
|
|
[State.AVAILABLE_ASSET]: createListOptions({ type: AssetType.IMAGE, status: State.AVAILABLE_ASSET }),
|
|
|
[State.RESOLVED]: createListOptions({ type: AssetType.IMAGE, status: State.RESOLVED, originalName: '' }),
|
|
[State.RESOLVED]: createListOptions({ type: AssetType.IMAGE, status: State.RESOLVED, originalName: '' }),
|
|
@@ -38,6 +36,16 @@ export default {
|
|
|
[State.AVAILABLE_ASSET]: createListOptions({ type: AssetType.AUDIO, status: State.AVAILABLE_ASSET }),
|
|
[State.AVAILABLE_ASSET]: createListOptions({ type: AssetType.AUDIO, status: State.AVAILABLE_ASSET }),
|
|
|
[State.RESOLVED]: createListOptions({ type: AssetType.AUDIO, status: State.RESOLVED, originalName: '' }),
|
|
[State.RESOLVED]: createListOptions({ type: AssetType.AUDIO, status: State.RESOLVED, originalName: '' }),
|
|
|
[State.REJECTED]: createListOptions({ type: AssetType.AUDIO, status: State.REJECTED })
|
|
[State.REJECTED]: createListOptions({ type: AssetType.AUDIO, status: State.REJECTED })
|
|
|
|
|
+ },
|
|
|
|
|
+ [AssetType.PPT]: {
|
|
|
|
|
+ [State.AVAILABLE_ASSET]: createListOptions({ type: AssetType.PPT, status: State.AVAILABLE_ASSET }),
|
|
|
|
|
+ [State.RESOLVED]: createListOptions({ type: AssetType.AUDIO, status: State.RESOLVED, originalName: '' }),
|
|
|
|
|
+ [State.REJECTED]: createListOptions({ type: AssetType.AUDIO, status: State.REJECTED })
|
|
|
|
|
+ },
|
|
|
|
|
+ [AssetType.PDF]: {
|
|
|
|
|
+ [State.AVAILABLE_ASSET]: createListOptions({ type: AssetType.PDF, status: State.AVAILABLE_ASSET }),
|
|
|
|
|
+ [State.RESOLVED]: createListOptions({ type: AssetType.AUDIO, status: State.RESOLVED, originalName: '' }),
|
|
|
|
|
+ [State.REJECTED]: createListOptions({ type: AssetType.AUDIO, status: State.REJECTED })
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
@@ -69,7 +77,7 @@ export default {
|
|
|
: data.name
|
|
: data.name
|
|
|
: null },
|
|
: null },
|
|
|
this.active === `${State.REJECTED}` ? { prop: 'remark', label: '驳回原因' } : null,
|
|
this.active === `${State.REJECTED}` ? { prop: 'remark', label: '驳回原因' } : null,
|
|
|
- this.isImage ? null : { prop: 'duration', label: '时长' },
|
|
|
|
|
|
|
+ this.isVideo || this.isAudio ? { prop: 'duration', label: '时长' } : null,
|
|
|
{ prop: 'size', label: '文件大小' },
|
|
{ prop: 'size', label: '文件大小' },
|
|
|
{ prop: 'createTime', label: '上传时间' },
|
|
{ prop: 'createTime', label: '上传时间' },
|
|
|
{ prop: 'ai', label: 'AI审核', type: 'tag', width: 100 },
|
|
{ prop: 'ai', label: 'AI审核', type: 'tag', width: 100 },
|
|
@@ -96,6 +104,12 @@ export default {
|
|
|
},
|
|
},
|
|
|
isAudio () {
|
|
isAudio () {
|
|
|
return this.type === AssetType.AUDIO
|
|
return this.type === AssetType.AUDIO
|
|
|
|
|
+ },
|
|
|
|
|
+ isPPT () {
|
|
|
|
|
+ return this.type === AssetType.PPT
|
|
|
|
|
+ },
|
|
|
|
|
+ isPDF () {
|
|
|
|
|
+ return this.type === AssetType.PDF
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
methods: {
|
|
methods: {
|
|
@@ -107,7 +121,8 @@ export default {
|
|
|
asset.file = {
|
|
asset.file = {
|
|
|
type: asset.type,
|
|
type: asset.type,
|
|
|
url: asset.keyName,
|
|
url: asset.keyName,
|
|
|
- thumbnail: asset.thumbnail
|
|
|
|
|
|
|
+ thumbnail: asset.thumbnail,
|
|
|
|
|
+ status: asset.status
|
|
|
}
|
|
}
|
|
|
asset.duration = parseDuration(asset.duration)
|
|
asset.duration = parseDuration(asset.duration)
|
|
|
asset.size = parseByte(asset.size)
|
|
asset.size = parseByte(asset.size)
|
|
@@ -160,19 +175,18 @@ export default {
|
|
|
return null
|
|
return null
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
- to (type) {
|
|
|
|
|
- if (this.type !== AssetType[type]) {
|
|
|
|
|
- this.type = null
|
|
|
|
|
- this.$nextTick(() => {
|
|
|
|
|
- this.type = AssetType[type]
|
|
|
|
|
- })
|
|
|
|
|
- }
|
|
|
|
|
- },
|
|
|
|
|
onView ({ file }) {
|
|
onView ({ file }) {
|
|
|
this.onViewAsset(file)
|
|
this.onViewAsset(file)
|
|
|
},
|
|
},
|
|
|
onViewAsset (asset) {
|
|
onViewAsset (asset) {
|
|
|
- this.$refs.previewDialog.show(asset)
|
|
|
|
|
|
|
+ if (asset.status === State.DRAFT) {
|
|
|
|
|
+ this.$message({
|
|
|
|
|
+ type: 'warning',
|
|
|
|
|
+ message: '文件正在解析中,请稍后再试'
|
|
|
|
|
+ })
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+ this.$emit('view', asset)
|
|
|
},
|
|
},
|
|
|
onEdit (asset) {
|
|
onEdit (asset) {
|
|
|
if (!asset.name) {
|
|
if (!asset.name) {
|