tangning 1 рік тому
батько
коміт
af32516149

+ 1 - 1
src/views/account/product/data.tsx

@@ -131,7 +131,7 @@ export const columns: BasicColumn[] = [
     ifShow: true,
     fixed: 'right',
     flag: 'ACTION',
-    width: 280,
+    width: 330,
   },
 ];
 

+ 264 - 86
src/views/account/product/index.vue

@@ -2,18 +2,18 @@
   <PageWrapper contentBackground>
     <template #footer>
       <a-tabs v-model:activeKey="tableType" @change="changeTable">
-        <a-tab-pane :key="0" tab="四维看看" :disabled="loading"/>
-        <a-tab-pane :key="1" tab="四维看见" :disabled="loading"/>
-        <a-tab-pane :key="2" tab="深时点云场景" :disabled="loading"/>
-        <a-tab-pane :key="5" tab="深时Mesh场景" :disabled="loading"/>
-        <a-tab-pane :key="6" tab="深光点云场景" :disabled="loading"/>
-        <a-tab-pane :key="7" tab="深光Mesh场景" :disabled="loading"/>
-        <a-tab-pane :key="3" tab="四维双目Lite" :disabled="loading"/> 
-        <a-tab-pane :key="4" tab="四维全景" :disabled="loading"/> 
-      </a-tabs
+        <a-tab-pane :key="0" tab="四维看看" :disabled="loading" />
+        <a-tab-pane :key="1" tab="四维看见" :disabled="loading" />
+        <a-tab-pane :key="2" tab="深时点云场景" :disabled="loading" />
+        <a-tab-pane :key="5" tab="深时Mesh场景" :disabled="loading" />
+        <a-tab-pane :key="6" tab="深光点云场景" :disabled="loading" />
+        <a-tab-pane :key="7" tab="深光Mesh场景" :disabled="loading" />
+        <a-tab-pane :key="3" tab="四维双目Lite" :disabled="loading" />
+        <a-tab-pane :key="4" tab="用户作品" :disabled="loading" />
+        <a-tab-pane :key="41" tab="看见全景VR" :disabled="loading" /> </a-tabs
     ></template>
     <div class="desc-wrap-BasicTable">
-      <BasicTable v-if="tableType == 4" @register="registerTableViewKankan">
+      <BasicTable v-show="tableType == 4" @register="registerTableViewKankan">
         <template #action="{ record }">
           <TableAction
             stopButtonPropagation
@@ -21,7 +21,7 @@
               {
                 label: '删除',
                 color: 'error',
-                ifShow:getTypeCheckPerm('account-productDelete'),
+                ifShow: getTypeCheckPerm('account-productDelete'),
                 popConfirm: {
                   title: '是否删除?',
                   confirm: handleQjDelete.bind(null, record),
@@ -31,19 +31,101 @@
             ]"
           />
         </template>
+        <template #href="{ record }">
+          <a v-if="record.name" target="_blank" :href="record.share">{{ record.name }}</a>
+          <span v-else>-</span>
+        </template>
       </BasicTable>
-      <BasicTable v-else @register="registerTable">
+      <BasicTable v-show="tableType == 41" @register="registerTableScene">
+        <template #toolbar>
+          <a-button type="primary" @click="handleMoveAll"> 批量迁移</a-button>
+        </template>
+        <template #href="{ record }">
+          <a v-if="record.name" target="_blank" :href="record.webSite || record.thumb">{{
+            record.name
+          }}</a>
+          <!-- <span v-else-if="record.name">{{ record.name }}</span> -->
+          <span v-else>-</span>
+        </template>
         <template #action="{ record }">
           <TableAction
             stopButtonPropagation
             :actions="[
               {
                 label: '迁移',
-                ifShow:getTypeCheckPerm('account-productTransfer'),
-                disabled:!(record.status == 1 || record.status == -2),
+                ifShow: getTypeCheckPerm('account-productTransfer'),
+                disabled: record.calcStatus != 1, //计算中计算失败不予迁移
                 onClick: handleMove.bind(null, record),
               },
               {
+                label: '优先级',
+                ifShow: getTypeCheckPerm('scenes-priority') && record.calcStatus == -4,
+                onClick: handlePriority.bind(null, record),
+              },
+              {
+                label: '解冻',
+                disabled: !record.isColdStorage || !record.calcStatus == 1,
+                ifShow: getTypeCheckPerm('scenes-thaw'),
+                onClick: handleColdStorage.bind(null, record),
+              },
+              {
+                label: '重算',
+                disabled: record.calcStatus == 0 || (record.status == 1 && record.payStatus != 1),
+                ifShow: getTypeCheckPerm('account-productRerun'),
+                popConfirm: {
+                  title: '是否重算?',
+                  confirm: handleReset.bind(null, record),
+                },
+              },
+              {
+                label: '删除',
+                color: 'error',
+                disabled: record.calcStatus == 0,
+                ifShow: getTypeCheckPerm('account-productDelete'),
+                popConfirm: {
+                  title: '是否删除?',
+                  confirm: handleDelete.bind(null, record),
+                  placement: 'topRight',
+                },
+              },
+            ]"
+          />
+        </template>
+      </BasicTable>
+      <BasicTable
+        v-show="tableType != 41 && tableType != 4"
+        :rowSelection="tableType == 3 ? false : rowSelection"
+        @register="registerTable"
+      >
+        <template #toolbar>
+          <a-button type="primary" @click="handleMoveAll"> 批量迁移</a-button>
+        </template>
+        <template #href="{ record }">
+          <a
+            v-if="record.sceneName && record.thumb"
+            target="_blank"
+            :href="record.webSite || record.thumb"
+            >{{ record.sceneName }}</a
+          >
+          <span v-else-if="record.sceneName">{{ record.sceneName }}</span>
+          <span v-else>-</span>
+        </template>
+        <template #action="{ record }">
+          <TableAction
+            stopButtonPropagation
+            :actions="[
+              {
+                label: '迁移',
+                ifShow: getTypeCheckPerm('account-productTransfer'),
+                disabled: !(record.status == 1 || record.status == -2),
+                onClick: handleMove.bind(null, record),
+              },
+              {
+                label: '优先级',
+                ifShow: getTypeCheckPerm('scenes-priority') && record.status == -4,
+                onClick: handlePriority.bind(null, record),
+              },
+              {
                 label: '解冻',
                 disabled: !record.isColdStorage || !(record.status == 1 || record.status == -2),
                 ifShow: getTypeCheckPerm('scenes-thaw'),
@@ -51,14 +133,14 @@
               },
               {
                 label: '下载',
-                disabled:!(record.status == 1 || (record.status == -2 && record.payStatus == 1)),
-                ifShow:getTypeCheckPerm('account-productDownload'),
+                disabled: !(record.status == 1 || (record.status == -2 && record.payStatus == 1)),
+                ifShow: getTypeCheckPerm('account-productDownload'),
                 onClick: handleDownload.bind(null, record),
               },
               {
                 label: '重算',
-                disabled: record.status == 0|| (record.status == -2 && record.payStatus != 1),
-                ifShow:getTypeCheckPerm('account-productRerun'),
+                disabled: record.status == 0 || (record.status == -2 && record.payStatus != 1),
+                ifShow: getTypeCheckPerm('account-productRerun'),
                 popConfirm: {
                   title: '是否重算?',
                   confirm: handleReset.bind(null, record),
@@ -66,15 +148,15 @@
               },
               {
                 label: '复制',
-                disabled:!(record.status == 1 || (record.status == -2 && record.payStatus == 1)),
-                ifShow:getTypeCheckPerm('account-productCopy'),
+                disabled: !(record.status == 1 || (record.status == -2 && record.payStatus == 1)),
+                ifShow: getTypeCheckPerm('account-productCopy'),
                 onClick: handleCopy.bind(null, record),
               },
               {
                 label: '删除',
                 color: 'error',
-                disabled:record.status == 0,
-                ifShow:getTypeCheckPerm('account-productDelete'),
+                disabled: record.status == 0,
+                ifShow: getTypeCheckPerm('account-productDelete'),
                 popConfirm: {
                   title: '是否删除?',
                   confirm: handleDelete.bind(null, record),
@@ -97,26 +179,35 @@
       :okButtonProps="{ disabled: canDownload }"
     />
     <MoveModal @register="registerMoveModal" />
+    <priorityMoadl
+      @clearSelected="clearSelectedRowKeys"
+      @update="reload"
+      @register="registerPriority"
+    />
   </PageWrapper>
 </template>
 <script lang="ts">
   import { defineComponent, ref, computed } from 'vue';
-  import {
-    BasicTable,
-    useTable,
-    TableAction,
-  } from '/@/components/Table';
+  import { BasicTable, useTable, TableAction } from '/@/components/Table';
   import { PageWrapper } from '/@/components/Page';
   import DownLoadModal from '/@/views/productOperation/modal/DownLoadModal.vue';
   import MoveModal from '/@/views/productOperation/modal/MoveModal.vue';
+  import priorityMoadl from '/@/views/productOperation/modal/priorityMoadl.vue';
   import { overallList, overallDelete } from '/@/api/operate';
-  import { Descriptions, Tabs, } from 'ant-design-vue';
+  import { Descriptions, Tabs } from 'ant-design-vue';
   import { useI18n } from '/@/hooks/web/useI18n';
   import { useMessage } from '/@/hooks/web/useMessage';
-  import { columns,searchForm,cameraScene,cameraSearchForm, quanjSearchForm } from './data'
+  import { searchForm, cameraScene, cameraSearchForm, quanjSearchForm } from './data';
   import { useModal } from '/@/components/Modal';
   import { usePermissionStore } from '/@/store/modules/permission';
-  import { otherInfoStore } from '/@/store/modules/other'
+  import { otherInfoStore } from '/@/store/modules/other';
+  import {
+    getquanjingSchemas,
+    getVrColumns,
+    getviewColumns,
+    getviewSchemas,
+    getColumns,
+  } from '/@/views/productOperation/data';
   import {
     operateSceneList,
     sceneMove,
@@ -129,6 +220,7 @@
     downloadProcess,
     sceneCopy,
     rebuildScene,
+    cameraSceneList,
   } from '/@/api/operate';
   import { message } from 'ant-design-vue';
   export default defineComponent({
@@ -140,7 +232,7 @@
       PageWrapper,
       [Descriptions.name]: Descriptions,
       [Descriptions.Item.name]: Descriptions.Item,
-
+      priorityMoadl,
       [Tabs.name]: Tabs,
       [Tabs.TabPane.name]: Tabs.TabPane,
     },
@@ -148,7 +240,7 @@
       const { t } = useI18n();
       const otherInfo = otherInfoStore();
       const OverviewInfo = computed(() => otherInfo.getOverviewInfo);
-      const { userName } = OverviewInfo.value
+      const { userName } = OverviewInfo.value;
       const { createMessage, createConfirm } = useMessage();
       const timer = ref<NodeJS.Timeout | number | undefined | null>(null);
       const tableType = ref<number>(0); //0看看 、1看见、2深时
@@ -156,27 +248,46 @@
       function cancelDownload() {
         downloadOption.value = {};
       }
+      const searchFormSs: Partial<FormProps> = {
+        labelWidth: 100,
+        autoSubmitOnEnter: true,
+        autoAdvancedLine: 1,
+        actionColOptions: {
+          span: 24,
+        },
+        schemas: getquanjingSchemas(),
+      };
+      const searchForm: Partial<FormProps> = {
+        labelWidth: 100,
+        autoSubmitOnEnter: true,
+        autoAdvancedLine: 1,
+        actionColOptions: {
+          span: 24,
+        },
+        schemas: getviewSchemas(),
+      };
       const permissionStore = usePermissionStore();
       const { getCheckPerm } = permissionStore;
+      const [registerPriority, { openModal: openPriorityModal }] = useModal();
       const [registerDownModal, { openModal: openDownModal }] = useModal();
       const [registerMoveModal, { openModal: openMoveModal }] = useModal();
-      const [registerTableViewKankan, { reload:ViewReload }] = useTable({
+      const [registerTableViewKankan, { reload: ViewReload }] = useTable({
         api: overallList,
         title: `作品列表`,
         // titleHelpMessage: ['已启用expandRowByClick', '已启用stopButtonPropagation'],
-        columns: cameraScene,
-        searchInfo: { type: tableType,userName },
+        columns: getviewColumns(),
+        searchInfo: { type: tableType, userName },
         useSearchForm: true,
-        formConfig: quanjSearchForm,
+        formConfig: searchForm,
         showTableSetting: true,
-        showIndexColumn:false,
+        showIndexColumn: false,
         rowKey: 'num',
-        beforeFetch:(T)=>{
-          loading.value = true
-          return T
+        beforeFetch: (T) => {
+          loading.value = true;
+          return T;
         },
         afterFetch: (T) => {
-          loading.value = false
+          loading.value = false;
           return T;
         },
         fetchSetting: {
@@ -187,22 +298,25 @@
         },
         canResize: false,
       });
-      const [registerTable, { reload }] = useTable({
+      const [
+        registerTable,
+        { reload: SceneReload, getSelectRowKeys, clearSelectedRowKeys: clearSelectedRowKeys1 },
+      ] = useTable({
         api: operateSceneList,
-        title: `场景列表`,
+        title: '场景列表',
         // titleHelpMessage: ['已启用expandRowByClick', '已启用stopButtonPropagation'],
-        columns: columns,
-        searchInfo: { type: tableType, userName},
+        columns: getColumns(),
+        searchInfo: { type: tableType, userName },
         useSearchForm: true,
         formConfig: searchForm,
         showTableSetting: true,
-        showIndexColumn:false,
-        beforeFetch:(T)=>{
-          loading.value = true
-          return T
+        showIndexColumn: false,
+        beforeFetch: (T) => {
+          loading.value = true;
+          return T;
         },
         afterFetch: (T) => {
-          loading.value = false
+          loading.value = false;
           return T;
         },
         rowKey: 'num',
@@ -214,42 +328,90 @@
         },
         canResize: false,
       });
+      const [
+        registerTableScene,
+        {
+          reload: reload1,
+          getSelectRowKeys: getSelectRowKeys2,
+          clearSelectedRowKeys: clearSelectedRowKeys2,
+        },
+      ] = useTable({
+        api: cameraSceneList,
+        title: `全景VR列表`,
+        columns: getVrColumns(),
+        rowSelection: { type: 'checkbox' },
+        searchInfo: { type: tableType },
+        showIndexColumn: false,
+        useSearchForm: true,
+        formConfig: searchFormSs,
+        showTableSetting: true,
+        beforeFetch: (T) => {
+          loading.value = true;
+          return T;
+        },
+        afterFetch: (T) => {
+          loading.value = false;
+          return T;
+        },
+        rowKey: 'num',
+        fetchSetting: {
+          pageField: 'pageNum',
+          sizeField: 'pageSize',
+          listField: 'list',
+          totalField: 'total',
+        },
+        canResize: true,
+      });
       function changeTable(val: string) {
         tableType.value = val;
+        clearSelectedRowKeys();
         reload();
       }
+      function clearSelectedRowKeys() {
+        clearSelectedRowKeys1();
+        clearSelectedRowKeys2();
+      }
       async function handleCopy(record: Recordable) {
         createConfirm({
           title: '复制场景',
           content: '复制场景,场景归属在原相机下。<br/>确定要复制场景吗?',
           onOk: async () => {
-            sceneCopy({ num: record.num })
-              .then(() => {
-                message.success({
-                  content: '复制成功',
-                });
-                reload();
-              })
+            sceneCopy({ num: record.num }).then(() => {
+              message.success({
+                content: '复制成功',
+              });
+              reload();
+            });
           },
         });
       }
       async function handleQjDelete(record: Recordable) {
-        qjsceneDelete({ id: record.id })
-          .then(() => {
-            message.success({
-              content: '删除成功',
-            });
-            ViewReload();
-          })
+        qjsceneDelete({ id: record.id }).then(() => {
+          message.success({
+            content: '删除成功',
+          });
+          ViewReload();
+        });
+      }
+      function handlePriority(record) {
+        openPriorityModal(true, record);
       }
       async function handleDelete(record: Recordable) {
-        sceneDelete({ num: record.num })
-          .then(() => {
-            message.success({
-              content: '删除成功',
-            });
-            reload();
-          })
+        sceneDelete({ num: record.num }).then(() => {
+          message.success({
+            content: '删除成功',
+          });
+          reload();
+        });
+      }
+      function reload() {
+        if (tableType.value == 4) {
+          ViewReload();
+        } else if (tableType.value == 41) {
+          reload1();
+        } else {
+          SceneReload();
+        }
       }
       async function handleColdStorage(record: Recordable) {
         createConfirm({
@@ -276,14 +438,14 @@
       const canDownload = ref<boolean>(true);
       function handleDownload(record: Recordable) {
         console.log('handleDownload', record);
-        let isObj = tableType.value == 4?1:0
-        let params = {num: record.num}
-        if(tableType.value == 4 || tableType.value == 2){
-          params.isObj = isObj
+        let isObj = tableType.value == 4 ? 1 : 0;
+        let params = { num: record.num };
+        if (tableType.value == 4 || tableType.value == 2) {
+          params.isObj = isObj;
         }
         checkDownLoad(params).then((res) => {
           console.log(res);
-          if (res.downloadStatus!= 3) {
+          if (res.downloadStatus != 3) {
             // 未下载过,需要打包
             sceneDownload(params).then((downres) => {
               console.log(downres);
@@ -315,20 +477,28 @@
         clearInterval(timer.value);
         timer.value = null;
       }
+      function handleMoveAll() {
+        let numList = tableType.value == 41 ? getSelectRowKeys2() : getSelectRowKeys() || [];
+        if (numList.length == 0) {
+          return createMessage.error('请选择批量迁移的场景');
+        }
+        openMoveModal(true, {
+          numList,
+        });
+      }
       function handleReset(record: Recordable) {
         console.log('handleReset', record);
-        rebuildScene({ num: record.num })
-          .then(() => {
-            message.success({
-              content: '操作成功',
-            });
-            reload();
-          })
+        rebuildScene({ num: record.num }).then(() => {
+          message.success({
+            content: '操作成功',
+          });
+          reload();
+        });
       }
 
-      function getTypeCheckPerm(val){
-        let myType = tableType.value
-        return getCheckPerm(val) || getCheckPerm(`${val}-${myType}`)
+      function getTypeCheckPerm(val) {
+        let myType = tableType.value;
+        return getCheckPerm(val) || getCheckPerm(`${val}-${myType}`);
       }
       return {
         registerTableViewKankan,
@@ -346,6 +516,7 @@
         t,
         openDownModal,
         registerDownModal,
+        registerPriority,
         registerMoveModal,
         afterClose,
         timer,
@@ -354,7 +525,14 @@
         handleColdStorage,
         cancelDownload,
         ViewReload,
+        handleMoveAll,
+        handlePriority,
+        clearSelectedRowKeys,
         getTypeCheckPerm,
+        getVrColumns,
+        operateSceneList,
+        registerTableScene,
+        rowSelection: { type: 'checkbox' },
       };
     },
   });

+ 47 - 109
src/views/customer/scene.vue

@@ -12,10 +12,22 @@
       </a-tabs>
     </template>
     <div class="desc-wrap-BasicTable">
-      <BasicTable @register="registerTable">
+      <BasicTable @register="registerTable" :rowSelection="tableType == 3 ? false : rowSelection">
         <template #toolbar>
+          <a-button type="primary" @click="handleMoveAll"> 批量迁移</a-button>
           <a-button type="primary" @click="back">返回</a-button>
         </template>
+        <template #href="{ record }">
+          <a
+            v-if="record.sceneName && record.thumb"
+            target="_blank"
+            :href="record.webSite || record.thumb"
+            :title="record.sceneName"
+            >{{ record.sceneName }}</a
+          >
+          <span v-else-if="record.sceneName">{{ record.sceneName }}</span>
+          <span v-else>-</span>
+        </template>
         <template #status="{ record }">
           <span v-if="record.status != '-1'">{{record.statusString}}</span>
           <Tooltip v-else placement="right">
@@ -42,6 +54,11 @@
                 onClick: handleMove.bind(null, record),
               },
               {
+                label: '优先级',
+                ifShow: getTypeCheckPerm('scenes-priority') && record.status == -4,
+                onClick: handlePriority.bind(null, record),
+              },
+              {
                 label: '解冻',
                 disabled: !record.isColdStorage || !(record.status == 1 || record.status == -2),
                 ifShow: getTypeCheckPerm('customer-scenes-thaw'),
@@ -99,6 +116,11 @@
       @cancelDownload="cancelDownload"
       :okButtonProps="{ disabled: canDownload }"
     />
+    <priorityMoadl
+      @clearSelected="clearSelectedRowKeys"
+      @update="reload"
+      @register="registerPriority"
+    />
     <MoveModal @update="reload" @register="registerMoveModal" />
   </PageWrapper>
 </template>
@@ -114,7 +136,8 @@
   } from '/@/components/Table';
   import { PageWrapper } from '/@/components/Page';
   import DownLoadModal from './modal/DownLoadModal.vue';
-  import MoveModal from './modal/MoveModal.vue';
+  import priorityMoadl from '/@/views/productOperation/modal/priorityMoadl.vue';
+  import MoveModal from '/@/views/productOperation/modal/MoveModal.vue';
   import { Time } from '/@/components/Time';
   import { Icon } from '/@/components/Icon';
   import { Descriptions, Tabs, Progress, Tooltip, message } from 'ant-design-vue';
@@ -135,11 +158,13 @@
     sceneCopy,
     rebuildScene,
   } from '/@/api/operate';
+  import { getColumns } from '/@/views/productOperation/data';
   import { func } from 'vue-types';
   export default defineComponent({
     components: {
       DownLoadModal,
       MoveModal,
+      priorityMoadl,
       BasicTable,
       TableAction,
       PageWrapper,
@@ -160,111 +185,6 @@
       const { createMessage, createConfirm } = useMessage();
       const tableType = ref<Recordable>(0); //0看看 、1看见、2深时
       const tabList = ref<Array>(['四维看看', '四维看见', '四维深时', '四维深光', '四维双目Lite']);
-      const columns: BasicColumn[] = [
-        {
-          title: '场景标题',
-          dataIndex: 'sceneName',
-          slots: { customRender: 'herf' },
-          width: 150,
-        },
-        {
-          title: '场景码',
-          dataIndex: 'num',
-          ellipsis: false,
-          width: 80,
-        },
-        {
-          title: '拍摄时间',
-          dataIndex: 'createTime',
-          width: 180,
-          customRender: ({ record }) => {
-            return (
-              record.createTime &&
-              h(Time, {
-                value: record.createTime,
-                mode: 'datetime',
-              })
-            );
-          },
-        },
-        {
-          title: '计算完成时间',
-          dataIndex: 'amount',
-          width: 180,
-          customRender: ({ record }) => {
-            return (
-              record.createTime &&
-              h(Time, {
-                value: record.createTime,
-                mode: 'datetime',
-              })||'-'
-            );
-          },
-        },
-        {
-          title: 'SN码',
-          dataIndex: 'snCode',
-          width: 180,
-        },
-        {
-          title: '场景大小',
-          dataIndex: 'sceneSize',
-          width: 80,
-          customRender: ({ record }) => {
-            return (record.sceneSize && record.sceneSize != 0)?h(
-              'span',
-              { class: 'sceneSize' },
-              Math.ceil(record.sceneSize / 1024 / 1024) + 'M',
-            ):'-';
-          },
-        },
-        {
-          title: '是否复制',
-          dataIndex: 'isCopy',
-          width: 80,
-          customRender: ({ record }) => {
-            return record.isCopy ? '是' : '否';
-          },
-        },
-        {
-          title: '复制时间',
-          dataIndex: 'copyTime',
-          width: 180,
-          customRender: ({ record }) => {
-            return record.copyTime
-              ? h(Time, {
-                  value: record.copyTime,
-                  mode: 'datetime',
-                })
-              : '-';
-          },
-        },
-        {
-          title: '绑定账号',
-          dataIndex: 'userName',
-          width: 100,
-        },
-        {
-          title: '浏览量',
-          dataIndex: 'viewCount',
-          width: 80,
-        },
-        {
-          title: '状态',
-          dataIndex: 'statusString',
-          width: 80,
-          slots: { customRender: 'status' },
-        },
-        {
-          title: '操作',
-          dataIndex: 'action',
-          slots: { customRender: 'action' },
-          ifShow: true,
-          fixed: 'right',
-          flag: 'ACTION',
-          width: 260,
-        },
-      ];
       const searchForm: Partial<FormProps> = {
         labelWidth: 100,
         schemas: [
@@ -309,13 +229,14 @@
       function cancelDownload() {
         downloadOption.value = {};
       }
+      const [registerPriority, { openModal: openPriorityModal }] = useModal();
       const [registerDownModal, { openModal: openDownModal }] = useModal();
       const [registerMoveModal, { openModal: openMoveModal }] = useModal();
-      const [registerTable, { reload }] = useTable({
+      const [registerTable, { reload, clearSelectedRowKeys, getSelectRowKeys }] = useTable({
         api: operateSceneList,
         // title: `场景列表`,
         // titleHelpMessage: ['已启用expandRowByClick', '已启用stopButtonPropagation'],
-        columns: columns,
+        columns: getColumns(),
         searchInfo: { companyId,type:tableType },
         useSearchForm: true,
         formConfig: searchForm,
@@ -461,6 +382,9 @@
             reload();
           })
       }
+      function handlePriority(record) {
+        openPriorityModal(true, record);
+      }
       function back() {
         router.push('/customer/index');
       }
@@ -468,7 +392,17 @@
         let myType = tableType.value
         return getCheckPerm(val) || getCheckPerm(`${val}-${myType}`)
       }
+      function handleMoveAll() {
+        let numList = getSelectRowKeys() || [];
+        if (numList.length == 0) {
+          return createMessage.error('请选择批量迁移的场景');
+        }
+        openMoveModal(true, {
+          numList,
+        });
+      }
       return {
+        handleMoveAll,
         getTypeCheckPerm,
         registerTable,
         handleDelete,
@@ -490,7 +424,11 @@
         downloadOption,
         cancelDownload,
         back,
+        registerPriority,
+        clearSelectedRowKeys,
         reload,
+        rowSelection: { type: 'checkbox' },
+        handlePriority,
       };
     },
   });

+ 1 - 1
src/views/product/rtk/list.vue

@@ -129,7 +129,7 @@
         {
           title: '创建时间',
           ellipsis: true,
-          dataIndex: 'updateTime',
+          dataIndex: 'createTime',
           width: 160,
         },
         {

+ 3 - 2
src/views/productOperation/data.ts

@@ -286,6 +286,7 @@ export const getColumns = (isobj) => {
   return [
     {
       title: '场景标题',
+      ellipsis: true,
       dataIndex: 'sceneName',
       slots: { customRender: 'href' },
       width: 150,
@@ -415,7 +416,7 @@ export const getColumns = (isobj) => {
       ifShow: true,
       fixed: 'right',
       flag: 'ACTION',
-      width: 280,
+      width: 340,
     },
   ];
 };
@@ -423,7 +424,7 @@ export const getVrColumns = () => {
   return [
     {
       title: '作品标题',
-      dataIndex: 'sceneName',
+      dataIndex: 'name',
       slots: { customRender: 'href' },
       width: 150,
     },

+ 1 - 1
src/views/productOperation/modal/MoveModal.vue

@@ -135,7 +135,7 @@
           closeModal();
           resetFields();
           createMessage.success(
-            modelRef.value.num ? '场景迁移成功。' : `已迁移${(res && res.successNum) || length}个场景`,
+            modelRef.value.num ? '场景迁移成功。' : `已迁移${res && res.successNum}个场景`,
           );
           emit('update');
         } catch (error) {