From b6e34e48b20c02446c1ada2b2617b800f529898a Mon Sep 17 00:00:00 2001 From: cloudroam <cloudroam> Date: 星期五, 23 五月 2025 17:12:05 +0800 Subject: [PATCH] 111 --- pages/content/filmset.vue | 225 ++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 195 insertions(+), 30 deletions(-) diff --git a/pages/content/filmset.vue b/pages/content/filmset.vue index 54edd61..35ff877 100644 --- a/pages/content/filmset.vue +++ b/pages/content/filmset.vue @@ -7,21 +7,42 @@ data() { return { tableConfig: { - url: 'flower/api/filmset/page', + url: 'flower/api/filmWorks/list', + newUrl: 'flower/api/filmWorks/new', + editUrl: 'flower/api/filmWorks/edit', + deleteUrl: 'flower/api/filmWorks/delete', dialogNeedRequest: true, persistSelection: true, columns: [ { type: 'selection' }, - { label: '标题', prop: 'title' }, - { label: '发布日期', prop: 'publishDate' }, - { label: '编辑日期', prop: 'updateTime' }, - { label: '状态', prop: 'statusStr' }, + { label: '中文名称', prop: 'nameCn', minWidth: 120 }, + { label: '英文名称', prop: 'nameEn', minWidth: 120 }, + { label: '作品类型', prop: 'typeStr' , minWidth: 150 }, + { label: '上映年份', prop: 'releaseYear' }, + { label: '导演', prop: 'director', minWidth: 150 }, + { label: '制片方', prop: 'producer', minWidth: 150 }, + { label: '主要演员', prop: 'actors', minWidth: 300 }, + { label: '剧情关键词', prop: 'keywords' }, + { label: '剧情简介', prop: 'synopsis' , minWidth: 400 }, + { label: '封面图片' ,formatter: this.formatterImage, minWidth: 200 }, + { label: '封面图片描述', prop: 'coverAlt', minWidth: 120 }, + { label: '用户类型', prop: 'userTypeStr' }, + { label: '置顶权重', prop: 'stickyWeight' , minWidth: 80 }, + { label: '状态', prop: 'statusStr' , minWidth: 80 }, + { label: '收藏量', prop: 'collectCount' , minWidth: 80 }, + { label: '点赞量', prop: 'likeCount', minWidth: 80 }, + { label: '评论量', prop: 'commentCount', minWidth: 80 }, + { label: '分享量', prop: 'shareCount', minWidth: 80 }, + { label: '创建日期', prop: 'createDate', minWidth: 80 }, ], searchForm: [ { type: 'row', items: [ - { label: '标题', id: 'title', type: 'input' }, + { label: '中文名称', id: 'nameCn', type: 'input' }, + { label: '英文名称', id: 'nameEn', type: 'input' }, + { label: '作品类型', id: 'type', type: 'input' }, + { label: '上映年份', id: 'releaseYear', type: 'input' }, { label: '创建日期', id: 'createDateBeginStr', @@ -35,8 +56,8 @@ ], form: [ { - label: '标题:', - id: 'title', + label: '中文名称:', + id: 'nameCn', type: 'input', rules: { required: true, @@ -45,7 +66,17 @@ }, }, { - label: '片场内容类型:', + label: '英文名称:', + id: 'nameEn', + type: 'input', + rules: { + required: true, + message: '请输入标题', + trigger: 'blur', + }, + }, + { + label: '作品类型:', id: 'type', type: 'bus-select-dict', el: { @@ -55,29 +86,153 @@ }, rules: { required: true, - message: '请选择片场内容类型', + message: '请选择影视作品类型', }, }, { - label: '内容:', - id: 'content', + label: '上映年份:', + id: 'releaseYear', + type: 'input', + rules: { + required: true, + message: '请输入上映年份', + trigger: 'blur', + }, + }, + { + label: '导演:', + id: 'director', + type: 'input', + rules: { + required: true, + message: '请输入导演,多个导演,分割', + trigger: 'blur', + }, + }, + { + label: '制片方:', + id: 'producer', + type: 'input', + rules: { + required: true, + message: '请输入制片方,多个制片方,分割', + trigger: 'blur', + }, + }, + { + label: '主要演员:', + id: 'actors', + type: 'input', + rules: { + required: true, + message: '请输入主要演员,多个主要演员,分割', + trigger: 'blur', + }, + }, + { + label: '剧情关键词:', + id: 'keywords', + type: 'input', + rules: { + required: true, + message: '请输入剧情关键词', + trigger: 'blur', + }, + }, + { + label: '剧情简介:', + id: 'synopsis', component: 'base-editor', richText: true, - rules: { required: true, message: '请输入内容', trigger: 'blur' }, + rules: { required: true, message: '请输入剧情简介', trigger: 'blur' }, }, - // { - // label: '封面:', - // id: 'cover', - // type: 'bus-upload', - // el: { - // listType: 'picture-card', - // limitSize: 2, - // limit: 1, - // tipText: '大小不超过2M', - // valueType: 'string', - // }, - // forceDisabled: true, - // }, + { + label: '封面图片:', + id: 'coverUrl', + type: 'bus-upload', + el: { + listType: 'picture-card', + limitSize: 2, + limit: 1, + tipText: '大小不超过2M', + valueType: 'string', + }, + forceDisabled: true, + }, + { + label: '封面图片描述:', + id: 'coverAlt', + type: 'input', + rules: { + required: true, + message: '请输入封面图片描述', + trigger: 'blur', + }, + }, + { + label: '用户类型:', + id: 'userType', + type: 'bus-select-dict', + el: { + code: 'FILMSET_CREATE_TYPE', + style: 'width:100%', + clearable: true, + }, + rules: { + required: true, + message: '请选择用户类型', + }, + }, + { + label: '置顶权重:', + id: 'stickyWeight', + type: 'input', + rules: { + required: true, + message: '请输入置顶权重描述', + trigger: 'blur', + }, + }, + { + label: '收藏量:', + id: 'collectCount', + type: 'input', + rules: { + required: true, + message: '请输入收藏量', + trigger: 'blur', + }, + }, + { + label: '点赞量:', + id: 'likeCount', + type: 'input', + rules: { + required: true, + message: '请输入点赞量', + trigger: 'blur', + }, + }, + { + label: '评论量:', + id: 'commentCount', + type: 'input', + rules: { + required: true, + message: '请输入评论量', + trigger: 'blur', + }, + }, + { + label: '分享量:', + id: 'shareCount', + type: 'input', + rules: { + required: true, + message: '请输入分享量', + trigger: 'blur', + }, + }, ], extraButtons: [ { @@ -87,7 +242,7 @@ try { await this.$elBusUtil.confirm(`确定要${action}吗?`) const { code } = await this.$elBusHttp.request( - 'flower/api/filmset/page/changeStatus', + 'flower/api/filmWorks/changeStatus', { params: { id: row.id } } ) if (code === 0) { @@ -115,7 +270,7 @@ `确定要批量发布这${selectedNotice.length}个片场内容吗?` ) const { code } = await this.$elBusHttp.request( - 'flower/api/filmset/page/publish/batch', + 'flower/api/filmWorks/publish/batch', { method: 'post', data: { @@ -142,7 +297,7 @@ `确定要批量删除这${selected.length}个片场内容吗?` ) const { code } = await this.$elBusHttp.request( - 'flower/api/filmset/page/delete/batch', + 'flower/api/filmWorks/delete/batch', { method: 'post', data: { @@ -165,7 +320,17 @@ }, head() { return { - title: '片场内容管理', + title: '影视作品内容管理', + } + }, + methods: { + formatterImage(row) { + if (row.coverUrl) { + // 使用第三方镜像服务(示例) + const proxyUrl = `https://images.weserv.nl/?url=${encodeURIComponent(row.coverUrl)}`; + return <el-bus-image src={proxyUrl} preview-src-list={[proxyUrl]} style="width:150px" /> + } + return '无封面'; } }, } -- Gitblit v1.9.3