|
|
@@ -15,6 +15,12 @@ export default {
|
|
|
defaultSelectedGroups: [],
|
|
|
defaultSelectedUsers: []
|
|
|
},
|
|
|
+ menuList: [],
|
|
|
+ menuTree: [],
|
|
|
+ menuExpandedKeys: ['-1'],
|
|
|
+ menuSelectedKeys: [],
|
|
|
+ menuFilterLabel: '',
|
|
|
+ menuAutoExpandParent: true,
|
|
|
filterLabel: '',
|
|
|
filterItems: [ // 可选过滤字段
|
|
|
{ name: 'name', label: '报表名称', type: 'string' },
|
|
|
@@ -38,6 +44,18 @@ export default {
|
|
|
let { label } = action;
|
|
|
return Object.assign({}, state, {filterLabel: label});
|
|
|
},
|
|
|
+ setField(state, action) {
|
|
|
+ const { name, value } = action;
|
|
|
+ let obj = {};
|
|
|
+ obj[name] = value;
|
|
|
+ return Object.assign({}, state, obj);
|
|
|
+ },
|
|
|
+ setFields(state, action) {
|
|
|
+ const { fields } = action;
|
|
|
+ let obj = {};
|
|
|
+ fields.map(f => (obj[f.name] = f.value));
|
|
|
+ return Object.assign({}, state, obj);
|
|
|
+ },
|
|
|
reset(state, action) {
|
|
|
let newState = Object.assign({}, state, state.originData);
|
|
|
return Object.assign({}, newState);
|
|
|
@@ -102,11 +120,11 @@ export default {
|
|
|
})
|
|
|
yield put({ type: 'list', list: list });
|
|
|
}else {
|
|
|
- message.error('请求看板列表失败: ' + (res.err || res.data.msg));
|
|
|
+ message.error('请求报表列表失败: ' + (res.err || res.data.msg));
|
|
|
}
|
|
|
}catch(e) {
|
|
|
console.log(body, e);
|
|
|
- message.error('请求看板列表失败: ' + e)
|
|
|
+ message.error('请求报表列表失败: ' + e)
|
|
|
}
|
|
|
},
|
|
|
*remoteDetail(action, { select, call, put }) {
|
|
|
@@ -175,10 +193,10 @@ export default {
|
|
|
}
|
|
|
yield put({ type: 'dashboardDesigner/silentSetFields', fields: fields });
|
|
|
}else {
|
|
|
- message.error('解析看板错误: ' + (res.err || res.data.msg));
|
|
|
+ message.error('解析报表错误: ' + (res.err || res.data.msg));
|
|
|
}
|
|
|
}catch(e) {
|
|
|
- message.error('解析看板错误: ' + e);
|
|
|
+ message.error('解析报表错误: ' + e);
|
|
|
}finally {
|
|
|
yield put({ type: 'dashboardDesigner/silentSetField', name: 'loading', value: false });
|
|
|
}
|
|
|
@@ -293,6 +311,104 @@ export default {
|
|
|
message.error('删除失败: ' + e);
|
|
|
}
|
|
|
},
|
|
|
+ *remoteMenuTree(action, { put, call, select }) {
|
|
|
+ const dashboard = yield select(state => state.present.dashboard);
|
|
|
+ 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;
|
|
|
+ }
|
|
|
+ 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));
|
|
|
+ }
|
|
|
+ },
|
|
|
+ *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
|
|
|
+ }
|
|
|
+ })
|
|
|
+
|
|
|
+ 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;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ *remoteModifyMenu(action, { put, call, select }) {
|
|
|
+ const { menu } = action;
|
|
|
+ const res = yield call(service.fetch, {
|
|
|
+ url: URLS.DASHBOARD_MENU_UPDATE,
|
|
|
+ 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 });
|
|
|
+ return true;
|
|
|
+ }else {
|
|
|
+ message.error('修改报表目录失败: ' + (res.err || res.data.msg));
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ *remoteDeleteMenu(action, { put, call, select }) {
|
|
|
+ const { menu } = action;
|
|
|
+ const res = yield call(service.fetch, {
|
|
|
+ url: URLS.DASHBOARD_MENU_DELETE + '/' + menu.code,
|
|
|
+ });
|
|
|
+ if(!res.err && res.data.code > 0) {
|
|
|
+ yield put({ type: 'remoteMenuTree', mandatory: true });
|
|
|
+ return true;
|
|
|
+ }else {
|
|
|
+ message.error('添加报表目录失败: ' + (res.err || res.data.msg));
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ },
|
|
|
*share(action, { put, call, select }) {
|
|
|
const { code, targets } = action;
|
|
|
const body = {
|
|
|
@@ -308,14 +424,12 @@ export default {
|
|
|
url: URLS.DASHBOARD_SHARE,
|
|
|
body
|
|
|
});
|
|
|
- console.log('看板分发', body, res);
|
|
|
if(!res.err && res.data.code > 0) {
|
|
|
message.success('设置分发对象成功');
|
|
|
}else {
|
|
|
message.error('设置分发对象失败: ' + (res.err || res.data.msg));
|
|
|
}
|
|
|
}catch(e) {
|
|
|
- console.log(body, e);
|
|
|
message.error('分发失败: ' + e);
|
|
|
}
|
|
|
},
|
|
|
@@ -326,7 +440,6 @@ export default {
|
|
|
url: URLS.DASHBOARD_SHARE_LIST,
|
|
|
body
|
|
|
});
|
|
|
- console.log('请求看板分发列表', body, res);
|
|
|
return res;
|
|
|
},
|
|
|
*transfer(action, { put, call, select }) {
|
|
|
@@ -340,7 +453,6 @@ export default {
|
|
|
url: URLS.DASHBOARD_TRANSFER,
|
|
|
body
|
|
|
});
|
|
|
- console.log('看板移交', body, res);
|
|
|
if(!res.err && res.data.code > 0) {
|
|
|
const dashboard = yield select(state => state.present.dashboard);
|
|
|
const list = dashboard.list;
|
|
|
@@ -353,11 +465,9 @@ export default {
|
|
|
yield put({ type: 'list', list });
|
|
|
message.success('移交成功');
|
|
|
}else {
|
|
|
- console.log(body, (res.err || res.data.msg));
|
|
|
message.error('移交失败: ' + (res.err || res.data.msg));
|
|
|
}
|
|
|
}catch(e) {
|
|
|
- console.log(body, e);
|
|
|
message.error('移交失败: ' + e);
|
|
|
}
|
|
|
},
|
|
|
@@ -428,10 +538,10 @@ export default {
|
|
|
}
|
|
|
yield put({ type: 'dashboardDesigner/silentSetFields', fields: fields });
|
|
|
}else {
|
|
|
- message.error('解析看板错误: ' + (res.err || res.data.msg));
|
|
|
+ message.error('解析报表错误: ' + (res.err || res.data.msg));
|
|
|
}
|
|
|
}catch(e) {
|
|
|
- message.error('解析看板错误: ' + e);
|
|
|
+ message.error('解析报表错误: ' + e);
|
|
|
}finally {
|
|
|
yield put({ type: 'dashboardDesigner/silentSetField', name: 'loading', value: false });
|
|
|
}
|
|
|
@@ -528,10 +638,10 @@ export default {
|
|
|
}
|
|
|
yield put({ type: 'dashboardDesigner/silentSetFields', fields: fields });
|
|
|
}else {
|
|
|
- message.error('解析看板错误: ' + (res.err || res.data.msg));
|
|
|
+ message.error('解析报表错误: ' + (res.err || res.data.msg));
|
|
|
}
|
|
|
}catch(e) {
|
|
|
- message.error('解析看板错误: ' + e);
|
|
|
+ message.error('解析报表错误: ' + e);
|
|
|
}finally {
|
|
|
yield put({ type: 'dashboardDesigner/silentSetField', name: 'loading', value: false });
|
|
|
}
|