tangning 11 bulan lalu
induk
melakukan
3620056ee9

+ 3 - 0
src/components/Table/src/BasicTable.vue

@@ -301,6 +301,9 @@
         setCacheColumnsByField,
         expandAll,
         collapseAll,
+        clearFormFun: () => {
+          return formActions.resetFields();
+        },
         getSize: () => {
           return unref(getBindValues).size as SizeType;
         },

+ 1 - 0
src/components/Table/src/types/table.ts

@@ -90,6 +90,7 @@ export interface TableActionType {
   clearSelectedRowKeys: () => void;
   expandAll: () => void;
   collapseAll: () => void;
+  clearFormFun: () => void;
   getSelectRowKeys: () => string[];
   deleteSelectRowByKey: (key: string) => void;
   setPagination: (info: Partial<PaginationProps>) => void;

+ 2 - 0
src/locales/lang/json/en.json

@@ -480,6 +480,8 @@
             "copyTipsText": "Copy the scene, the scene belongs to the original camera. <br/>Are you sure you want to copy the scene?",
             "downErr": "Download failed",
             "transferTitle": "Transfer Scene",
+            "transferTips": "Please select the Transfer Scene!",
+            "transferSccuse": "Transfer Scene successful",
             "toSnCode": "Migrate to",
             "resetTips": "Is it recalculated?",
             "rules": {

+ 3 - 1
src/locales/lang/json/ja.json

@@ -557,7 +557,9 @@
             },
             "sceneAsync": "シンクロ",
             "timeList": "認証時間",
-            "transferTitle": "移行"
+            "transferTitle": "移行",
+            "transferTips": "移行シーンをチェックしてください!",
+            "transferSccuse": "移行成功"
         },
         "system": {
             "roleBut": "権限",

+ 4 - 2
src/locales/lang/json/zh.json

@@ -433,12 +433,14 @@
                 "0": "同步中",
                 "1": "同步成功",
                 "-2": "计算成功",
-                "-1": "失败",
+                "-1": "同步失败",
                 "-3": "封存"
             },
             "sceneAsync": "同步场景",
             "timeList": "授权时间",
-            "transferTitle": "迁移场景"
+            "transferTitle": "迁移场景",
+            "transferTips": "请勾选同步场景!",
+            "transferSccuse": "迁移成功"
         },
         "system": {
             "roleBut": "权限",

+ 3 - 1
src/router/routes/modules/config.ts

@@ -5,9 +5,9 @@ import { LAYOUT } from '/@/router/constant';
 
 export const config: AppRouteRecordRaw = {
   path: '/configList',
+  redirect: '/configlist/index',
   name: 'configlist',
   component: LAYOUT,
-  redirect: '/configList/index',
   meta: {
     title: t('routes.system.config'),
     icon: 'ph:user-list-duotone',
@@ -22,6 +22,8 @@ export const config: AppRouteRecordRaw = {
       component: () => import('/@/views/config/index.vue'),
       meta: {
         title: t('routes.system.config'),
+        hideMenu: true,
+        hideBreadcrumb: true,
       },
     },
   ],

+ 3 - 1
src/router/routes/modules/scene.ts

@@ -16,10 +16,12 @@ export const SceneRoute: AppRouteRecordRaw = {
   children: [
     {
       path: 'list',
-      name: 'List',
+      name: 'SceneList',
       component: () => import('/@/views/scene/list.vue'),
       meta: {
         title: t('routes.dashboard.cameraScene'),
+        hideMenu: true,
+        hideBreadcrumb: true,
       },
     },
   ],

+ 4 - 2
src/router/routes/modules/user.ts

@@ -5,9 +5,9 @@ import { LAYOUT } from '/@/router/constant';
 
 export const Retailer: AppRouteRecordRaw = {
   path: '/userList',
+  redirect: '/userList/index',
   name: 'userList',
   component: LAYOUT,
-  redirect: '/userList/index',
   meta: {
     title: t('routes.system.accountList'),
     icon: 'ph:user-list-duotone',
@@ -18,10 +18,12 @@ export const Retailer: AppRouteRecordRaw = {
   children: [
     {
       path: 'index',
-      name: 'index',
+      name: 'userIndex',
       component: () => import('/@/views/system/user/index.vue'),
       meta: {
+        hideMenu: true,
         title: t('routes.system.accountList'),
+        hideBreadcrumb: true,
       },
     },
   ],

+ 5 - 4
src/views/scene/list.vue

@@ -17,7 +17,7 @@
         </template>
 
         <template #href="{ record }">
-          <a v-if="record.title && record.webSite" target="_blank" :href="record.webSite">{{
+          <a v-if="record.title && record.webSite && record.status == 0" target="_blank" :href="record.webSite">{{
             record.title
           }}</a>
           <span v-else-if="record.title">{{ record.title }}</span>
@@ -237,7 +237,7 @@
         labelWidth: 80,
         schemas: [
           {
-            field: 'sceneName',
+            field: 'title',
             label: t('routes.scene.sceneName'),
             component: 'Input',
             componentProps: {
@@ -335,11 +335,12 @@
         console.log('handleDelete', record);
         createConfirm({
           iconType: 'warning',
-          title: '警告',
-          content: `此操作将对${record.title}进行删除, 是否继续?`,
+          title: t('common.tips'),
+          content: t('common.delConfirm'),
           onOk: async () => {
             await caseDelApi([record.id]);
             reload();
+            message.success({content: t('common.optSuccess')});
           },
         });
       }

+ 18 - 4
src/views/scene/modal/SyncModal.vue

@@ -1,8 +1,9 @@
 <template>
   <BasicModal
+    :confirmLoading="loading"
     v-bind="$attrs"
     @register="register"
-    :title="t('routes.scene.transferTitle')"
+    :title="t('routes.scene.sceneAsync')"
     @visible-change="handleVisibleChange"
     @ok="handleSubmit"
     width="1200px"
@@ -47,6 +48,7 @@
     },
     emits: ['update', 'register'],
     setup(props, { emit }) {
+      const loading = ref(false);
       const modelRef = ref({});
       console.log('locale', locale);
       const tableType = ref<Number>(7); //0看看 、1看见、2深时
@@ -168,7 +170,7 @@
         ],
       };
       const { createMessage } = useMessage();
-      const [registerTable, { reload, getSelectRowKeys }] = useTable({
+      const [registerTable, { reload, getSelectRowKeys, getForm, clearSelectedRowKeys }] = useTable({
         api: xspaceSceneList,
         actionColumn: false,
         // title: `场景列表`,
@@ -211,21 +213,32 @@
         modelRef.value = data;
       }
       const handleSubmit = async () => {
-        try {
+          loading.value = true;
+          try {
           const params = getSelectRowKeys();
           console.log('res', params);
+          if(params && params.length == 0){
+            loading.value = false;
+            return createMessage.error(t('routes.scene.transferTips'))
+          }
           const res = await sceneMove(params);
+          clearSelectedRowKeys();
+          reload();
           closeModal();
           createMessage.success(t('routes.scene.transferSccuse'));
           emit('update');
+          loading.value = false;
         } catch (error) {
           console.log('not passing', error);
+          loading.value = false;
         }
       };
       function handleVisibleChange(v) {
-        // console.log(v);
+        let formActions = getForm();
+        !v && formActions.resetFields();
         // v && props.userData && nextTick(() => onDataReceive(props.userData));
       }
+
       return {
         register,
         registerTable,
@@ -235,6 +248,7 @@
         handleSubmit,
         addListFunc,
         changeTable,
+        loading,
         t,
       };
     },