mooho-base-admin-plus 0.4.56 → 0.4.57

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "mooho-base-admin-plus",
3
3
  "description": "MOOHO basic framework for admin by Vue3",
4
- "version": "0.4.56",
4
+ "version": "0.4.57",
5
5
  "author": "jinyifan <jinyifan@mooho.com.cn>",
6
6
  "dotnetVersion": "1.4.0",
7
7
  "license": "MIT",
@@ -21,21 +21,22 @@
21
21
  import dataViewApi from '../../api/dataView';
22
22
 
23
23
  // 转换为tree列表对象
24
- var convertList = nodes => {
24
+ var convertList = (nodes, source, target) => {
25
25
  if (!nodes) {
26
26
  return null;
27
27
  }
28
28
 
29
29
  return nodes.map(item => {
30
+ let code = !!(source || '').trim() ? item.code.replace(source, target) : item.code;
30
31
  return {
31
32
  column: {
32
- code: item.code,
33
+ code: code,
33
34
  name: item.name,
34
35
  dataType: item.dataType,
35
36
  columns: item.columns
36
37
  },
37
- title: item.name + ' (' + item.code + ')',
38
- children: convertList(item.columns)
38
+ title: item.name + ' (' + code + ')',
39
+ children: convertList(item.columns, source, target)
39
40
  };
40
41
  });
41
42
  };
@@ -62,6 +63,8 @@
62
63
  let objProperty = groupColumn.property.substr(0, groupColumn.property.length - 2);
63
64
  let node = findNode(nodes, objColumnExp);
64
65
 
66
+ console.log('xxx', objColumnExp, objProperty);
67
+
65
68
  if (node != null) {
66
69
  // 找到外键节点
67
70
  results.push({
@@ -72,7 +75,7 @@
72
75
  columns: node.columns
73
76
  },
74
77
  title: node.name + ' (' + objProperty + ')',
75
- children: convertList(node.columns)
78
+ children: convertList(node.columns, objColumnExp, objProperty)
76
79
  });
77
80
  }
78
81
  }
@@ -190,6 +193,8 @@
190
193
  title: groupMethod.aggregateType + (groupMethod.aggregateType == 'Count' ? '' : ' - ' + groupMethod.columnExp) + ' (' + groupMethod.property + ')'
191
194
  // children: convertList(item.columns, columns, isGroupBy, groupColumns)
192
195
  });
196
+
197
+ console.log('aaa', this.data);
193
198
  });
194
199
  } else {
195
200
  // 数据源
@@ -807,7 +807,7 @@
807
807
  },
808
808
  // 打开字段选择界面
809
809
  openSelect() {
810
- this.$refs.columnCheck.open(this.data.dataView.model, checked => {
810
+ this.$refs.columnCheck.openView(this.data.dataView, checked => {
811
811
  this.data.code = checked.code;
812
812
  this.data.name = checked.name;
813
813
  this.data.dataType = checked.dataType;
@@ -22,24 +22,25 @@
22
22
  import dataViewApi from '../../api/dataView';
23
23
 
24
24
  // 转换为tree列表对象
25
- var convertList = (nodes, columns) => {
25
+ var convertList = (nodes, columns, source, target) => {
26
26
  if (!nodes) {
27
27
  return null;
28
28
  }
29
29
 
30
30
  return nodes.map(item => {
31
+ let code = !!(source || '').trim() ? item.code.replace(source, target) : item.code;
31
32
  return {
32
33
  column: {
33
- code: item.code,
34
+ code: code,
34
35
  name: item.name,
35
36
  dataType: item.dataType,
36
37
  columns: item.columns
37
38
  },
38
- title: item.name + ' (' + item.code + ')',
39
+ title: item.name + ' (' + code + ')',
39
40
  checked: columns.some(column => {
40
41
  return column.code === item.code;
41
42
  }),
42
- children: convertList(item.columns, columns)
43
+ children: convertList(item.columns, columns, source, target)
43
44
  };
44
45
  });
45
46
  };
@@ -82,7 +83,7 @@
82
83
  checked: columns.some(column => {
83
84
  return column.code === objProperty;
84
85
  }),
85
- children: convertList(node.columns, columns)
86
+ children: convertList(node.columns, columns, objColumnExp, objProperty)
86
87
  });
87
88
  }
88
89
  }
@@ -167,8 +168,6 @@
167
168
  this.data = convertList(res, columns);
168
169
  }
169
170
 
170
- console.log('bbb');
171
-
172
171
  // 聚合函数生成的字段
173
172
  groupMethods.forEach(groupMethod => {
174
173
  this.data.push({
@@ -213,7 +213,7 @@
213
213
  },
214
214
  // 打开字段选择界面
215
215
  openSelect() {
216
- this.$refs.columnCheck.open(this.dataView.model, checked => {
216
+ this.$refs.columnCheck.openView(this.dataView, checked => {
217
217
  this.data.code = checked.code;
218
218
  this.data.name = checked.name;
219
219
  this.data.dataType = checked.dataType;
package/src/index.js CHANGED
@@ -167,6 +167,7 @@ let isFirstRouteChange = true;
167
167
  const created = async app => {
168
168
  // 加载多语言
169
169
  await store.dispatch('admin/i18n/load', app);
170
+
170
171
  // 初始化动态路由
171
172
  //let dynamicRoutes = await dynamicRouter.init(router, pages, layout);
172
173
  // 处理路由 得到每一级的路由设置
@@ -65,22 +65,6 @@
65
65
  password: this.password
66
66
  });
67
67
 
68
- // 初始化菜单和权限
69
- // let res = await permissionApi.query();
70
-
71
- // // 默认包含首页
72
- // res.menus.unshift({
73
- // name: '首页',
74
- // subName: 'Home',
75
- // parentID: null,
76
- // url: 'home',
77
- // templateUrl: '@/home',
78
- // icon: 'fa fa-home'
79
- // });
80
-
81
- // this.$store.dispatch('admin/menu/setSider', res.menus);
82
- // this.$store.dispatch('admin/permission/set', res.permissions);
83
-
84
68
  // 重定向对象不存在则返回顶层路径
85
69
  setTimeout(() => {
86
70
  this.router.replace(this.$route.query.redirect || '/home');
@@ -16,37 +16,24 @@ export default {
16
16
  * @param password {String} 密码
17
17
  * @param param route {Object} 登录成功后定向的路由对象 任何 vue-router 支持的格式
18
18
  */
19
- login({ dispatch }, { username = '', password = '' } = {}) {
20
- return new Promise((resolve, reject) => {
21
- userApi
22
- .login({
23
- account: username,
24
- password
25
- })
26
- .then(async res => {
27
- // 设置 cookie 一定要存 uuid token 两个 cookie
28
- // 整个系统依赖这两个数据进行校验和存储
29
- // uuid 是用户身份唯一标识 用户注册的时候确定 并且不可改变 不可重复
30
- // token 代表用户当前登录状态 建议在网络请求中携带 token
31
- // 如有必要 token 需要定时更新,默认保存一天,可在 setting.js 中修改
32
- // 如果你的 token 不是通过 cookie 携带,而是普通字段,也可视情况存储在 localStorage
33
- util.cookies.set('uuid', res.user.id);
34
- util.cookies.set('token', res.token);
35
- // 设置 vuex 用户信息
36
- await dispatch('admin/user/set', res.user, { root: true });
37
- await dispatch('admin/user/setData', res.data, { root: true });
38
- // 用户登录后从持久化数据加载一系列的设置
39
- await dispatch('load');
40
- // 获取动态菜单
41
- await dispatch('admin/menu/getMenuList', false, { root: true });
42
- // 结束
43
- resolve(res);
44
- })
45
- .catch(err => {
46
- // console.log('err: ', err);
47
- reject(err);
48
- });
49
- });
19
+ async login({ dispatch }, { username = '', password = '' } = {}) {
20
+ const res = await userApi.login({ account: username, password });
21
+
22
+ // 设置 cookie 一定要存 uuid 和 token 两个 cookie
23
+ // 整个系统依赖这两个数据进行校验和存储
24
+ // uuid 是用户身份唯一标识 用户注册的时候确定 并且不可改变 不可重复
25
+ // token 代表用户当前登录状态 建议在网络请求中携带 token
26
+ // 如有必要 token 需要定时更新,默认保存一天,可在 setting.js 中修改
27
+ // 如果你的 token 不是通过 cookie 携带,而是普通字段,也可视情况存储在 localStorage
28
+ util.cookies.set('uuid', res.user.id);
29
+ util.cookies.set('token', res.token);
30
+ // 设置 vuex 用户信息
31
+ await dispatch('admin/user/set', res.user, { root: true });
32
+ await dispatch('admin/user/setData', res.data, { root: true });
33
+ // 用户登录后从持久化数据加载一系列的设置
34
+ await dispatch('load');
35
+ // 获取动态菜单
36
+ await dispatch('admin/menu/getMenuList', false, { root: true });
50
37
  },
51
38
  /**
52
39
  * @description 退出登录
@@ -298,7 +298,7 @@ export default {
298
298
  * @param dispatch
299
299
  * @param loadMenu 是否加载菜单,需传 $route 信息
300
300
  * */
301
- getMenuList({ dispatch }, loadMenu) {
301
+ getMenuList({ state, dispatch }, loadMenu) {
302
302
  return new Promise((resolve, reject) => {
303
303
  permissionApi
304
304
  .query()
@@ -327,6 +327,8 @@ export default {
327
327
  permissions[key] = true;
328
328
  });
329
329
 
330
+ state.userPermissions = permissions;
331
+
330
332
  setNativePermission(permissions);
331
333
  resolve();
332
334
  })