Browse Source

add 增加 同步租户字典功能

疯狂的狮子Li 9 months ago
parent
commit
34b929d352
2 changed files with 21 additions and 0 deletions
  1. 8 0
      src/api/system/tenant/index.ts
  2. 13 0
      src/views/system/dict/index.vue

+ 8 - 0
src/api/system/tenant/index.ts

@@ -91,3 +91,11 @@ export function syncTenantPackage(tenantId: string | number, packageId: string |
     params: data
   });
 }
+
+// 同步租户字典
+export function syncTenantDict() {
+  return request({
+    url: '/system/tenant/syncTenantDict',
+    method: 'get',
+  });
+}

+ 13 - 0
src/views/system/dict/index.vue

@@ -49,6 +49,9 @@
           <el-col :span="1.5">
             <el-button v-hasPermi="['system:dict:remove']" type="danger" plain icon="Refresh" @click="handleRefreshCache">刷新缓存</el-button>
           </el-col>
+          <el-col :span="1.5">
+            <el-button v-if="userId === 1" type="success" plain icon="Refresh" @click="handleSyncTenantDict">同步租户字典</el-button>
+          </el-col>
           <right-toolbar v-model:showSearch="showSearch" @query-table="getList"></right-toolbar>
         </el-row>
       </template>
@@ -109,11 +112,15 @@
 
 <script setup name="Dict" lang="ts">
 import useDictStore from '@/store/modules/dict';
+import useUserStore from "@/store/modules/user";
 import { listType, getType, delType, addType, updateType, refreshCache } from '@/api/system/dict/type';
 import { DictTypeForm, DictTypeQuery, DictTypeVO } from '@/api/system/dict/type/types';
+import { syncTenantDict } from "@/api/system/tenant";
 
 const { proxy } = getCurrentInstance() as ComponentInternalInstance;
 
+const userStore = useUserStore();
+const userId = ref(userStore.userId);
 const typeList = ref<DictTypeVO[]>([]);
 const loading = ref(true);
 const showSearch = ref(true);
@@ -239,6 +246,12 @@ const handleRefreshCache = async () => {
   proxy?.$modal.msgSuccess('刷新成功');
   useDictStore().cleanDict();
 };
+/**同步租户字典*/
+const handleSyncTenantDict = async () => {
+  await proxy?.$modal.confirm('确认要同步所有租户字典吗?');
+  let res = await syncTenantDict();
+  proxy?.$modal.msgSuccess(res.msg);
+};
 
 onMounted(() => {
   getList();