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