tangning 2 лет назад
Родитель
Сommit
0b12377724

+ 2 - 1
.vscode/settings.json

@@ -141,5 +141,6 @@
   ],
   "[dotenv]": {
     "editor.defaultFormatter": "foxundermoon.shell-format"
-  }
+  },
+  "vue-i18n.i18nPaths": "src\\locales,src\\locales\\lang,public\\resource\\tinymce\\langs,dist\\resource\\tinymce\\langs"
 }

+ 12 - 1
src/api/scene/list.ts

@@ -23,6 +23,7 @@ enum Api {
   checkDownload = '/service/manage_jp/user/scene/checkDownload',
   detele = '/service/manage_jp/user/scene/delete',
   upgradeToV4 = '/service/manage_jp/scene/upgradeToV4',
+  sceneCopy = 'service/manage_jp/scene/copyScene',
 }
 
 /**
@@ -49,7 +50,17 @@ export const DeleteApi = (params: string) =>
       ignoreCancelToken: true,
     },
   });
-
+export const sceneCopy = (params: string) =>
+  defHttp.post<Result>({
+    url: Api.sceneCopy,
+    params: {
+      num: params,
+    },
+    headers: {
+      // @ts-ignore
+      ignoreCancelToken: true,
+    },
+  });
 export const UpgradeToV4 = (params: string) =>
   defHttp.get<Result>({
     url: Api.upgradeToV4,

+ 5 - 0
src/locales/lang/ja/routes/scenes.ts

@@ -50,4 +50,9 @@ export default {
     title: 'バージョン4.0にアップグレードしてよろしいですか?',
     text: 'シーンがアップグレードされると、一部のデータは保持できなくなります。ホットスポット、自動ナビゲーション、戸型図、広告ビデオ。新しいバージョンはしばらく帯域ビューをサポートしていません。*シーンのアップグレードに成功すると旧版に戻すことができないので、確認してから操作してください。',
   },
+  copyInfi: {
+    title: 'シーンをコピー',
+    content: '元のカメラの下にあるシーンをコピーします。<br/>本当にシーンをコピーしますか?',
+    ok: 'コピー成功',
+  },
 };

+ 5 - 0
src/locales/lang/zh-CN/routes/scenes.ts

@@ -50,4 +50,9 @@ export default {
     title: '确定升级到 4.0 版本?',
     text: '场景升级后部分数据将无法保留:热点、自动导览、户型图、广告视频。新版本暂不支持带看。* 场景升级成功后无法恢复旧版,请确认后再操作。',
   },
+  copyInfi: {
+    title: '复制场景',
+    content: '复制场景,场景归属在原相机下。<br/>确定要复制场景吗?',
+    ok: '复制成功',
+  },
 };

+ 1 - 1
src/utils/http/axios/index.ts

@@ -240,7 +240,7 @@ function createAxios(opt?: Partial<CreateAxiosOptions>) {
         // authentication schemes,e.g: Bearer
         // authenticationScheme: 'Bearer',
         authenticationScheme: '',
-        timeout: 10 * 1000,
+        // timeout: 10 * 1000,
         // 基础接口地址
         // baseURL: globSetting.apiUrl,
 

+ 19 - 0
src/views/scenes/list.vue

@@ -55,6 +55,10 @@
                   confirm: handleDownloadScene.bind(null, record),
                 },
               },
+              {
+                label: '复制',
+                onClick: handleCopy.bind(null, record),
+              },
               //{
               //  label: t('routes.scenes.jointVisit'),
               //  ifShow: record.isUpgrade != 1,
@@ -113,6 +117,7 @@
     checkDownloadApi,
     DeleteApi,
     UpgradeToV4,
+    sceneCopy,
   } from '/@/api/scene/list';
   import { useI18n } from '/@/hooks/web/useI18n';
   import {
@@ -286,6 +291,18 @@
         url = url.replace(page, 'rtc-live');
         window.open(url.replace('http://', 'https://') + (isJA.value ? '&lang=ja' : ''), '_blank');
       }
+      function handleCopy(item) {
+        createConfirm({
+          iconType: 'warning',
+          title: () => h('span', t('routes.scenes.copyInfi.title')),
+          content: () => h('span', t('routes.scenes.copyInfi.content')),
+          onOk: async () => {
+            await sceneCopy(item.num);
+            createMessage.success(t('common.optSuccess'));
+            reload();
+          },
+        });
+      }
       function handleUpgrade(item) {
         createConfirm({
           iconType: 'warning',
@@ -322,6 +339,7 @@
         createMessage.success(t('common.optSuccess'));
         reload();
       }
+
       async function handleDownloadScene(record: Recordable) {
         let param = {
           num: record.num,
@@ -360,6 +378,7 @@
         handleUpgrade,
         registerDownloadModal,
         changeTable,
+        handleCopy,
         tableType,
         loading,
       };