lrf 8 months ago
parent
commit
c4f2220c53

+ 6 - 0
src/service/asyncExport.service.ts

@@ -239,6 +239,12 @@ export class AsyncExportService {
     } else return value;
   }
 
+  getModelName(name) {
+    const model = this[`_model_${upperFirst(name)}`];
+    if (!model) return;
+    return get(model,'metadata.comment')
+  }
+
   @Config('PathConfig.path')
   path;
 

+ 15 - 3
src/service/exportMission.service.ts

@@ -1,4 +1,4 @@
-import { Config, Provide } from '@midwayjs/core';
+import { Config, Inject, Provide } from '@midwayjs/core';
 import { InjectEntityModel } from '@midwayjs/typeorm';
 import { Repository } from 'typeorm';
 import { ExportMission } from '../entity/exportMission.entity';
@@ -7,6 +7,7 @@ import Axios from 'axios';
 import { cloneDeep, get, head, isArray } from 'lodash';
 import { User } from '../entity/system/user.entity';
 import { Admin } from '../entity/system/admin.entity';
+import { AsyncExportService } from './asyncExport.service';
 
 @Provide()
 export class ExportMissionService extends BaseServiceV2 {
@@ -18,6 +19,9 @@ export class ExportMissionService extends BaseServiceV2 {
   @InjectEntityModel(Admin)
   admin: Repository<Admin>;
 
+  @Inject()
+  aeService: AsyncExportService;
+
   @Config('modulesConfig.mq')
   mqServiceHttpPrefix: any;
 
@@ -28,7 +32,7 @@ export class ExportMissionService extends BaseServiceV2 {
     if (isArr) list = data;
     else list.push(data);
     for (const i of list) {
-      const obj = cloneDeep(i)
+      const obj = cloneDeep(i);
       const { user_type, user } = i;
       let model;
       if (user_type === 'ADMIN') {
@@ -42,7 +46,15 @@ export class ExportMissionService extends BaseServiceV2 {
       const userInfo = await model.createQueryBuilder().where(`"id" =:id`, { id: user }).getOne();
       if (!userInfo) continue;
       obj.user_name = get(userInfo, 'nick_name');
-      returnData.push(obj)
+      const config = get(i, 'config');
+      if (config) {
+        const table = get(config, 'table');
+        if (table) {
+          const table_name = this.aeService.getModelName(table);
+          obj.table_name = table_name;
+        }
+      }
+      returnData.push(obj);
     }
     if (isArr) return returnData;
     else return head(returnData);

+ 17 - 16
src/service/initData/initSystemData.service.ts

@@ -19,23 +19,11 @@ export class InitSystemDataService {
   /**初始化角色的菜单(不包含管理员) */
   async initRoleMenus() {
     const builder = this.Role.createQueryBuilder().update(Role);
-    /**共有: 基础信息,认证信息,行业动态 */
-    const common = ['center_basic', 'center_attestation', 'center_notice', 'center_collection', 'center_password', 'center_sign'];
-    // 只用通用菜单的角色
-    const justCommonRole = ['User', 'Association', 'Investment', 'State'];
+    /**共有: 基础信息,认证信息,通知管理,我的收藏,修改密码,导出管理,活动管理 */
+    const common = ['center_basic', 'center_attestation', 'center_notice', 'center_collection', 'center_password', 'center_sign', 'center_export'];
+    // 除管理员外,其他的角色都一样
+    const justCommonRole = ['User', 'Association', 'Investment', 'State', 'Expert', 'Unit', 'Incubator', 'Company', 'YX', 'Competition'];
     await builder.set({ menu: common }).where('code IN (:...value)', { value: justCommonRole }).execute();
-    // 第一类菜单
-    const menus1 = [...common, 'center_news2', 'center_demand', 'center_supply', 'center_achievement', 'center_project', 'center_footplate', 'center_service'];
-    // 第一类菜单用户: 用户,科研机构,孵化基地,企业,高校
-    const roleUseMenus1 = ['Expert', 'Unit', 'Incubator', 'Company', 'YX'];
-    await builder.set({ menu: menus1 }).where('code IN (:...value)', { value: roleUseMenus1 }).execute();
-    // 创业大赛用户: 需要去掉报名管理,加入赛事管理
-    const MatchRole = common.filter(f => f !== 'center_sign');
-    MatchRole.push('center_match');
-    await builder
-      .set({ menu: MatchRole })
-      .where('code IN (:...value)', { value: ['Competition'] })
-      .execute();
   }
 
   /**初始化角色数据 */
@@ -314,6 +302,19 @@ export class InitSystemDataService {
         is_use: '0',
         icon: 'SwitchFilled',
       },
+      {
+        order_num: 997,
+        name: '导出管理',
+        route_name: 'center_export',
+        i18n_code: 'menus.center_export',
+        path: '/center/export',
+        component: '/center/export',
+        type: '1',
+        config: [],
+        is_default: '0',
+        is_use: '0',
+        icon: 'Collection',
+      },
       {
         order_num: 998,
         name: '我的收藏',