|
|
@@ -105,6 +105,7 @@ export default {
|
|
|
return {
|
|
|
key: d.id + '',
|
|
|
code: d.id+'',
|
|
|
+ menuCode: d.menuId + '',
|
|
|
name: d.bdName,
|
|
|
items: items,
|
|
|
description: d.bdNote || '',
|
|
|
@@ -123,8 +124,7 @@ export default {
|
|
|
message.error('请求报表列表失败: ' + (res.err || res.data.msg));
|
|
|
}
|
|
|
}catch(e) {
|
|
|
- console.log(body, e);
|
|
|
- message.error('请求报表列表失败: ' + e)
|
|
|
+ message.error('请求报表列表失败: ' + e.message)
|
|
|
}
|
|
|
},
|
|
|
*remoteDetail(action, { select, call, put }) {
|
|
|
@@ -170,6 +170,7 @@ export default {
|
|
|
let data = {
|
|
|
code: resData.id+'',
|
|
|
name: resData.bdName,
|
|
|
+ menuCode: resData.menuId + '',
|
|
|
items: items,
|
|
|
description: resData.bdNote || '',
|
|
|
creatorCode: resData.createId + '',
|
|
|
@@ -196,7 +197,7 @@ export default {
|
|
|
message.error('解析报表错误: ' + (res.err || res.data.msg));
|
|
|
}
|
|
|
}catch(e) {
|
|
|
- message.error('解析报表错误: ' + e);
|
|
|
+ message.error('解析报表错误: ' + e.message);
|
|
|
}finally {
|
|
|
yield put({ type: 'dashboardDesigner/silentSetField', name: 'loading', value: false });
|
|
|
}
|
|
|
@@ -226,10 +227,11 @@ export default {
|
|
|
message.error('保存失败: ' + (res.err || res.data.msg));
|
|
|
}
|
|
|
}catch(e) {
|
|
|
- message.error('保存失败: ' + e);
|
|
|
+ message.error('保存失败: ' + e.message);
|
|
|
}
|
|
|
},
|
|
|
*remoteQucikAdd(action, { select, call, put }) {
|
|
|
+ const { menuCode } = action;
|
|
|
try {
|
|
|
const dashboardDesigner = yield select(state => state.present.dashboardDesigner);
|
|
|
const { name, items, description, relationColumns, filters } = dashboardDesigner;
|
|
|
@@ -241,7 +243,8 @@ export default {
|
|
|
filters: JSON.stringify(filters) || "",
|
|
|
bdCode: generateShareCode(),
|
|
|
thumbnail: '',
|
|
|
- chartIds: ''
|
|
|
+ chartIds: '',
|
|
|
+ menuId: menuCode,
|
|
|
}
|
|
|
const res = yield call(service.fetch, {
|
|
|
url: URLS.DASHBOARD_ADD,
|
|
|
@@ -254,7 +257,7 @@ export default {
|
|
|
message.error('保存失败: ' + (res.err || res.data.msg));
|
|
|
}
|
|
|
}catch(e) {
|
|
|
- message.error('保存失败: ' + e);
|
|
|
+ message.error('保存失败: ' + e.message);
|
|
|
}
|
|
|
},
|
|
|
*remoteModify(action, { select, call, put }) {
|
|
|
@@ -283,7 +286,7 @@ export default {
|
|
|
message.error('保存失败: ' + (res.err || res.data.msg));
|
|
|
}
|
|
|
}catch(e) {
|
|
|
- message.error('保存失败: ' + e);
|
|
|
+ message.error('保存失败: ' + e.message);
|
|
|
}
|
|
|
},
|
|
|
*remoteDelete(action, { select, call, put }) {
|
|
|
@@ -308,7 +311,7 @@ export default {
|
|
|
message.error('删除失败: ' + (res.err || res.data.msg));
|
|
|
}
|
|
|
}catch(e) {
|
|
|
- message.error('删除失败: ' + e);
|
|
|
+ message.error('删除失败: ' + e.message);
|
|
|
}
|
|
|
},
|
|
|
*remoteMenuTree(action, { put, call, select }) {
|
|
|
@@ -316,65 +319,72 @@ export default {
|
|
|
if(!action.mandatory && dashboard.menuTree.length > 0) {
|
|
|
return;
|
|
|
}
|
|
|
- const res = yield call(service.fetch, {
|
|
|
- url: URLS.DASHBOARD_MENU_TREE,
|
|
|
- method: 'GET'
|
|
|
- })
|
|
|
- if(!res.err && res.data.code > 0) {
|
|
|
- const resTree = res.data.data;
|
|
|
- const list = [];
|
|
|
- let fun = (tree, pcode) => {
|
|
|
- let newTree = tree.map((t, i) => {
|
|
|
- let ch = [];
|
|
|
- if(t.children && t.children.length > 0) {
|
|
|
- ch = fun(t.children, t.id);
|
|
|
- }
|
|
|
- let obj = {
|
|
|
- code: t.id + '',
|
|
|
- pcode: pcode + '',
|
|
|
- name: t.name,
|
|
|
- type: t.type,
|
|
|
- index: i,
|
|
|
- children: ch,
|
|
|
- childrenCount: ch.length
|
|
|
- }
|
|
|
- list.push(obj);
|
|
|
- return obj
|
|
|
- });
|
|
|
- return newTree;
|
|
|
+ try{
|
|
|
+ const res = yield call(service.fetch, {
|
|
|
+ url: URLS.DASHBOARD_MENU_TREE,
|
|
|
+ method: 'GET'
|
|
|
+ })
|
|
|
+ if(!res.err && res.data.code > 0) {
|
|
|
+ const resTree = res.data.data;
|
|
|
+ const list = [];
|
|
|
+ let fun = (tree, pcode) => {
|
|
|
+ let newTree = tree.map((t, i) => {
|
|
|
+ let ch = [];
|
|
|
+ if(t.children && t.children.length > 0) {
|
|
|
+ ch = fun(t.children, t.id);
|
|
|
+ }
|
|
|
+ let obj = {
|
|
|
+ code: t.id + '',
|
|
|
+ pcode: pcode + '',
|
|
|
+ name: t.name,
|
|
|
+ type: t.type,
|
|
|
+ index: i,
|
|
|
+ children: ch,
|
|
|
+ childrenCount: ch.length
|
|
|
+ }
|
|
|
+ list.push(obj);
|
|
|
+ return obj
|
|
|
+ });
|
|
|
+ return newTree;
|
|
|
+ }
|
|
|
+ let menuList = list;
|
|
|
+ let menuTree = fun(resTree, '-1');
|
|
|
+ yield put({ type: 'setFields', fields: [
|
|
|
+ { name: 'menuList', value: menuList },
|
|
|
+ { name: 'menuTree', value: menuTree },
|
|
|
+ ] });
|
|
|
+ }else {
|
|
|
+ message.error('获取报表目录失败: ' + (res.err || res.data.msg));
|
|
|
}
|
|
|
- let menuList = list;
|
|
|
- let menuTree = fun(resTree, '-1');
|
|
|
- yield put({ type: 'setFields', fields: [
|
|
|
- { name: 'menuList', value: menuList },
|
|
|
- { name: 'menuTree', value: menuTree },
|
|
|
- ] });
|
|
|
- }else {
|
|
|
- message.error('获取报表目录失败: ' + (res.err || res.data.msg));
|
|
|
+ }catch(e) {
|
|
|
+ message.error('获取报表目录失败: ' + e.message);
|
|
|
}
|
|
|
},
|
|
|
*remoteAddMenu(action, { put, call, select }) {
|
|
|
const { menu } = action;
|
|
|
- const res = yield call(service.fetch, {
|
|
|
- url: URLS.DASHBOARD_MENU_ADD,
|
|
|
- method: 'POST',
|
|
|
- body: {
|
|
|
- id: menu.code,
|
|
|
- index: menu.index,
|
|
|
- name: menu.name,
|
|
|
- parentId: menu.pcode
|
|
|
+ try {
|
|
|
+ const res = yield call(service.fetch, {
|
|
|
+ url: URLS.DASHBOARD_MENU_ADD,
|
|
|
+ method: 'POST',
|
|
|
+ body: {
|
|
|
+ id: menu.code,
|
|
|
+ index: menu.index,
|
|
|
+ name: menu.name,
|
|
|
+ parentId: menu.pcode
|
|
|
+ }
|
|
|
+ })
|
|
|
+ if(!res.err && res.data.code > 0) {
|
|
|
+ yield put({ type: 'remoteMenuTree', mandatory: true });
|
|
|
+ yield put({ type: 'setFields', fields: [
|
|
|
+ { name: 'menuSelectedKeys', value: [] },
|
|
|
+ ] });
|
|
|
+ return true;
|
|
|
+ }else {
|
|
|
+ message.error('添加报表目录失败: ' + (res.err || res.data.msg));
|
|
|
+ return false;
|
|
|
}
|
|
|
- })
|
|
|
-
|
|
|
- if(!res.err && res.data.code > 0) {
|
|
|
- yield put({ type: 'remoteMenuTree', mandatory: true });
|
|
|
- yield put({ type: 'setFields', fields: [
|
|
|
- { name: 'menuSelectedKeys', value: [] },
|
|
|
- ] });
|
|
|
- return true;
|
|
|
- }else {
|
|
|
- message.error('添加报表目录失败: ' + (res.err || res.data.msg));
|
|
|
- return false;
|
|
|
+ }catch(e) {
|
|
|
+ message.error('添加报表目录失败: ' + e.message);
|
|
|
}
|
|
|
},
|
|
|
*remoteModifyMenu(action, { put, call, select }) {
|
|
|
@@ -409,6 +419,85 @@ export default {
|
|
|
return false;
|
|
|
}
|
|
|
},
|
|
|
+ *remoteSetMenu(action, { put, call, select }) {
|
|
|
+ const { dashboard, menu } = action;
|
|
|
+ try {
|
|
|
+ const res = yield call(service.fetch, {
|
|
|
+ url: URLS.DASHBOARD_SET_MENU,
|
|
|
+ body: {
|
|
|
+ dashBoardId: dashboard.code,
|
|
|
+ menuId: menu.code
|
|
|
+ },
|
|
|
+ })
|
|
|
+ if(!res.err && res.data.code > 0) {
|
|
|
+ yield put({ type: 'remoteMenuDashboardList', menuCode: menu.code });
|
|
|
+ yield put({ type: 'setFields', fields: [
|
|
|
+ { name: 'menuSelectedKeys', value: [menu.code] },
|
|
|
+ { name: 'menuExpandedKeys', value: [menu.code] },
|
|
|
+ ] })
|
|
|
+ }else {
|
|
|
+ message.error('移动到目录失败: ' + (res.err || res.data.msg));
|
|
|
+ }
|
|
|
+ }catch(e) {
|
|
|
+ message.error('移动到目录失败: ' + e.message);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ *remoteMenuDashboardList(action, { put, call, select }) {
|
|
|
+ const { menuCode } = action;
|
|
|
+ try {
|
|
|
+ const res = yield call(service.fetch, {
|
|
|
+ url: URLS.DASHBOARD_MENU_DASHBOARD_LIST + '/' + menuCode,
|
|
|
+ method: 'GET',
|
|
|
+ })
|
|
|
+ if(!res.err && res.data.code > 0) {
|
|
|
+ const resData = res.data.data;
|
|
|
+ let list = resData.map(d => {
|
|
|
+ let items = d.bdConfiguration ? JSON.parse(d.bdConfiguration) : [];
|
|
|
+
|
|
|
+ const dataSources = [];
|
|
|
+ const dataConnects = [];
|
|
|
+ items.forEach(item => {
|
|
|
+ if(item.viewType === 'chart') {
|
|
|
+ if(!dataSources.find(ad => ad.code === item.dataSourceCode)) {
|
|
|
+ dataSources.push({
|
|
|
+ code: item.dataSourceCode,
|
|
|
+ name: item.dataSourceName
|
|
|
+ })
|
|
|
+ }
|
|
|
+ if(!dataConnects.find(ad => ad.code === item.dataSourceCode)) {
|
|
|
+ dataConnects.push({
|
|
|
+ code: item.dataConnectCode,
|
|
|
+ name: item.dataConnectName
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+
|
|
|
+ return {
|
|
|
+ key: d.id + '',
|
|
|
+ code: d.id+'',
|
|
|
+ name: d.bdName,
|
|
|
+ menuCode: d.menuId + '',
|
|
|
+ items: items,
|
|
|
+ description: d.bdNote || '',
|
|
|
+ creatorCode: d.createId + '',
|
|
|
+ creatorName: d.createBy,
|
|
|
+ createTime: d.createDate,
|
|
|
+ shareCode: d.bdCode,
|
|
|
+ dataSources: dataSources,
|
|
|
+ dataConnects: dataConnects,
|
|
|
+ chartCodes: d.chartIds ? d.chartIds.split(',') : [],
|
|
|
+ demo: d.demo
|
|
|
+ }
|
|
|
+ })
|
|
|
+ yield put({ type: 'list', list: list });
|
|
|
+ }else {
|
|
|
+ message.error('获取看板列表失败: ' + (res.err || res.data.msg));
|
|
|
+ }
|
|
|
+ }catch(e) {
|
|
|
+ message.error('获取看板列表失败: ' + e.message);
|
|
|
+ }
|
|
|
+ },
|
|
|
*share(action, { put, call, select }) {
|
|
|
const { code, targets } = action;
|
|
|
const body = {
|
|
|
@@ -430,7 +519,7 @@ export default {
|
|
|
message.error('设置分发对象失败: ' + (res.err || res.data.msg));
|
|
|
}
|
|
|
}catch(e) {
|
|
|
- message.error('分发失败: ' + e);
|
|
|
+ message.error('分发失败: ' + e.message);
|
|
|
}
|
|
|
},
|
|
|
*shareList(action, { put, call, select }) {
|
|
|
@@ -468,7 +557,7 @@ export default {
|
|
|
message.error('移交失败: ' + (res.err || res.data.msg));
|
|
|
}
|
|
|
}catch(e) {
|
|
|
- message.error('移交失败: ' + e);
|
|
|
+ message.error('移交失败: ' + e.message);
|
|
|
}
|
|
|
},
|
|
|
*remoteShareDetail(action, { select, call, put }) {
|
|
|
@@ -541,7 +630,7 @@ export default {
|
|
|
message.error('解析报表错误: ' + (res.err || res.data.msg));
|
|
|
}
|
|
|
}catch(e) {
|
|
|
- message.error('解析报表错误: ' + e);
|
|
|
+ message.error('解析报表错误: ' + e.message);
|
|
|
}finally {
|
|
|
yield put({ type: 'dashboardDesigner/silentSetField', name: 'loading', value: false });
|
|
|
}
|
|
|
@@ -568,7 +657,7 @@ export default {
|
|
|
message.error('生成分享链接失败: ' + (res.err || res.data.msg));
|
|
|
}
|
|
|
}catch(e) {
|
|
|
- message.error('生成分享链接失败: ' + e);
|
|
|
+ message.error('生成分享链接失败: ' + e.message);
|
|
|
}
|
|
|
},
|
|
|
*remoteShareKeyDetail(action, { select, call, put }) {
|
|
|
@@ -641,7 +730,7 @@ export default {
|
|
|
message.error('解析报表错误: ' + (res.err || res.data.msg));
|
|
|
}
|
|
|
}catch(e) {
|
|
|
- message.error('解析报表错误: ' + e);
|
|
|
+ message.error('解析报表错误: ' + e.message);
|
|
|
}finally {
|
|
|
yield put({ type: 'dashboardDesigner/silentSetField', name: 'loading', value: false });
|
|
|
}
|