Commit 38698795 authored by 高东东's avatar 高东东

Merge branch 'gaodongdong'

parents ea9578bf ce6c3731
*.iml
node_modules
...@@ -8,21 +8,21 @@ ...@@ -8,21 +8,21 @@
// 普通http // 普通http
httpURI: { httpURI: {
// 根url // 根url
baseURI: 'http://172.16.10.98:9008/', baseURI: '/baseURI/',
// test // test
prifix: '', prifix: '',
// plugin uri 前缀 // plugin uri 前缀
pluginURI: 'http://172.16.11.30:8201/', // pluginURI: 'http://172.16.11.30:8201/',
// 安全模块api地址 // 安全模块api地址
securityBaseURI: 'http://172.16.10.98:8800/' securityBaseURI: '/baseURI/',
}, },
// websocket 地址 // websocket 地址
wsURI: { wsURI: {
baseURI: 'ws://172.16.10.99:10600/', baseURI: 'ws:/172.16.11.20:10600/',
pluginURI: 'ws://172.16.10.99:10600/', pluginURI: 'ws://172.16.11.20:10600/',
securityBaseURI: 'ws://172.16.10.99:10600/', securityBaseURI: 'ws://172.16.11.20:10600/',
realTimeMetricDataURL: 'ws://172.16.10.99:10600/', realTimeMetricDataURL: 'ws://172.16.11.20:10600/',
onlineTestWsURL: 'ws://172.16.10.99s:10600/' onlineTestWsURL: 'ws://172.16.11.20:10600/'
}, },
// 外部链接地址 // 外部链接地址
outterURI: { outterURI: {
......
...@@ -2,7 +2,7 @@ import * as endConf from 'amos-processor/lib/config/endconf'; ...@@ -2,7 +2,7 @@ import * as endConf from 'amos-processor/lib/config/endconf';
// import completeSecurityUrl, { completeSecurityWsUrl } from 'amos-security/lib/consts/securityUrl'; // import completeSecurityUrl, { completeSecurityWsUrl } from 'amos-security/lib/consts/securityUrl';
const completePrefix = endConf.completePrefix; const completePrefix = endConf.completePrefix;
const baseURI = endConf.baseURI; let baseURI = endConf.baseURI;
const securityBaseURI = endConf.securityBaseURI; const securityBaseURI = endConf.securityBaseURI;
const mockURI = 'http://172.16.10.161:8087/'; const mockURI = 'http://172.16.10.161:8087/';
...@@ -37,16 +37,38 @@ export const secExtUrl = { ...@@ -37,16 +37,38 @@ export const secExtUrl = {
// 新权限接口 // 新权限接口
currentUserUrl: completePrefix(securityBaseURI, `${secExVerson}/user/me`), // 获取当前登陆用户信息 // currentUserUrl: completePrefix(securityBaseURI, `${secExVerson}/user/me`), // 获取当前登陆用户信息
systemMenusUrl: completePrefix(securityBaseURI, `${secExVerson}/permission/tree/menu?code={code}&userId={userId}`), // 获取当前系统所有菜单 currentUserUrl: completePrefix(securityBaseURI, `privilege/${secExVerson}/agencyuser/me`), // 获取当前登陆用户信息
// systemMenusUrl: completePrefix(securityBaseURI, `${secExVerson}/permission/tree/menu?code={code}&userId={userId}`), // 获取当前系统所有菜单
systemMenusUrl: completePrefix(securityBaseURI, `privilege/${secExVerson}/permission/tree/me`), // 获取当前系统所有菜单
// permissionsCompanyUrl: completePrefix(securityBaseURI, `${secExVerson}/user/me`), // 登陆用户权限所有公司
permissionsCompanyUrl: completePrefix(securityBaseURI, `privilege/${secExVerson}/agencyuser/me`), // 登陆用户权限所有公司
// permissionsMenusUrl: completePrefix(securityUrlWithVersion, '/permission/tree/{roleSeq}'), // 登陆用户系统权限菜单---TODO新版待修改
permissionsMenusUrl: completePrefix(securityBaseURI, `privilege/${secExVerson}/permission/tree/role?roleSeq={roleSeq}`), // 登陆用户系统权限菜单
loginUrl: completePrefix(securityBaseURI, `${secExVerson}/system/login`), // 登陆获取accessToken loginUrl: completePrefix(securityBaseURI, `${secExVerson}/system/login`), // 登陆获取accessToken
permissionsCompanyUrl: completePrefix(securityBaseURI, `${secExVerson}/user/me`), // 登陆用户权限所有公司
permissionsMenusUrl: completePrefix(securityUrlWithVersion, '/permission/tree/{roleSeq}'), // 登陆用户系统权限菜单---TODO新版待修改
loginOutUrl: completePrefix(securityBaseURI, `${secExVerson}/system/loginOutr`), // 登陆用户系统权限菜单 loginOutUrl: completePrefix(securityBaseURI, `${secExVerson}/system/loginOutr`), // 登陆用户系统权限菜单
regionSelectUrl: completePrefix(baseURI, 'safe/save/curCompany') // 登陆用户系统权限菜单 regionSelectUrl: completePrefix(baseURI, 'iot/iot/safe/save/curCompany') // 登陆用户系统权限菜单
}; };
const iecBaseURI = completePrefix(baseURI, 'iec/');
export const IecUrl = {
channelUrl: completePrefix(iecBaseURI, 'channel'),
deleteChannelUrl: completePrefix(iecBaseURI, 'channel/serviceId/{id}'),
channelListUrl: completePrefix(iecBaseURI, 'channel/{type}'),
channelPointUrl: completePrefix(iecBaseURI, 'point/{channel}'),
iecChannelPointUrl: completePrefix(iecBaseURI, 'point/iec?channelNo={channelNo}&pointType={pointType}'),
pointUrl: completePrefix(iecBaseURI, 'point'),
deletePointUrl: completePrefix(iecBaseURI, 'point?ids={ids}'),
iecDownloadIecTmplUrl: completePrefix(iecBaseURI, 'point/export/model'),
iecImportUrl: completePrefix(iecBaseURI, 'point/import?serviceId={serviceId}&pointType={pointType}'),
}
baseURI = baseURI + 'iot/';
export const OltSerUrl = { export const OltSerUrl = {
//脚本语言类型 //脚本语言类型
scriptLangType: completePrefix(baseURI, 'dic/script-type'), scriptLangType: completePrefix(baseURI, 'dic/script-type'),
...@@ -72,6 +94,7 @@ export const OltSerUrl = { ...@@ -72,6 +94,7 @@ export const OltSerUrl = {
capacityIntfUpdate: completePrefix(baseURI, 'device/capacity-intf-update'),//新增/编辑能力接口 capacityIntfUpdate: completePrefix(baseURI, 'device/capacity-intf-update'),//新增/编辑能力接口
deleteCapacityInterface: completePrefix(baseURI, 'device/capacity-interface-eliminate'),//删除能力接口 deleteCapacityInterface: completePrefix(baseURI, 'device/capacity-interface-eliminate'),//删除能力接口
capacityPropertyUpdate: completePrefix(baseURI, 'device/capacity-property-update'),//新增/编辑能力属性 capacityPropertyUpdate: completePrefix(baseURI, 'device/capacity-property-update'),//新增/编辑能力属性
capacityPropertyUrl: completePrefix(baseURI, 'device/capacity-property'),//能力属性
deleteCapacityProperty: completePrefix(baseURI, 'device/capacity-property-eliminate'),//删除能力属性 deleteCapacityProperty: completePrefix(baseURI, 'device/capacity-property-eliminate'),//删除能力属性
deviceBasicInfoUpdate: completePrefix(baseURI, 'device/device-basic-info-update'),//设备基本信息编辑 deviceBasicInfoUpdate: completePrefix(baseURI, 'device/device-basic-info-update'),//设备基本信息编辑
deleteDeviceById: completePrefix(baseURI, 'device/device-eliminate'),//删除设备信息 deleteDeviceById: completePrefix(baseURI, 'device/device-eliminate'),//删除设备信息
...@@ -140,7 +163,7 @@ export const OltSerUrl = { ...@@ -140,7 +163,7 @@ export const OltSerUrl = {
editSubviewImg: completePrefix(baseURI, 'topo/subgraph-img'),//编辑子图背景图片 editSubviewImg: completePrefix(baseURI, 'topo/subgraph-img'),//编辑子图背景图片
// fetchCompanyById: completePrefix(securityBaseURI, 'company/unique-company'),//获取公司信息 // fetchCompanyById: completePrefix(securityBaseURI, 'company/unique-company'),//获取公司信息
fetchCompanyById: completePrefix(securityBaseURI, '/v1/company'),//获取公司信息 fetchCompanyById: completePrefix(securityBaseURI, `privilege/${secExVerson}/company`),//获取公司信息
fetchTopoDevice: completePrefix(baseURI, 'device/topo-device'),//查询拓扑中设备所有配置信息 fetchTopoDevice: completePrefix(baseURI, 'device/topo-device'),//查询拓扑中设备所有配置信息
addeEditEqpImg: completePrefix(baseURI, 'device/eqipment-img'),//新增编辑设备图片 addeEditEqpImg: completePrefix(baseURI, 'device/eqipment-img'),//新增编辑设备图片
//************************************* //*************************************
......
...@@ -18,6 +18,8 @@ import * as endConf from 'amos-processor/lib/config/endconf'; ...@@ -18,6 +18,8 @@ import * as endConf from 'amos-processor/lib/config/endconf';
import rootRoutes from './../routes'; import rootRoutes from './../routes';
import configureStore from './../store'; import configureStore from './../store';
import { getSystemAllMenu } from '../services/securityService'; import { getSystemAllMenu } from '../services/securityService';
import SysConsts from 'amos-processor/lib/config/consts';
// import { loginAuth } from 'amos-security/lib/model/auth'; // import { loginAuth } from 'amos-security/lib/model/auth';
...@@ -48,9 +50,8 @@ class App extends Component { ...@@ -48,9 +50,8 @@ class App extends Component {
componentWillMount() { componentWillMount() {
let code = LocationParam.getLocationParamByName('code'); let token = LocationParam.getLocationParamByName('token');
let userId = LocationParam.getLocationParamByName('userId'); if (!token) {
if (!(code || userId)) {
let systemMenu = JSON.parse(lsTool.read('systemMenu')); let systemMenu = JSON.parse(lsTool.read('systemMenu'));
if (!systemMenu) { if (!systemMenu) {
window.location.href = loginURI; window.location.href = loginURI;
...@@ -58,10 +59,10 @@ class App extends Component { ...@@ -58,10 +59,10 @@ class App extends Component {
} }
this.setState({ rootRoutes: rootRoutes(systemMenu), visible: true }); this.setState({ rootRoutes: rootRoutes(systemMenu), visible: true });
return; return;
}else{
lsTool.write(SysConsts.token, token);
} }
getSystemAllMenu(token).then(
getSystemAllMenu(code, userId).then(
menus => { menus => {
let systemMuens = this.filterSystemMenus(menus); let systemMuens = this.filterSystemMenus(menus);
let routeMenus = []; let routeMenus = [];
...@@ -70,6 +71,7 @@ class App extends Component { ...@@ -70,6 +71,7 @@ class App extends Component {
routeMenus = [...routeMenus, ...item.children]; routeMenus = [...routeMenus, ...item.children];
} }
}); });
let a = rootRoutes(routeMenus);
this.setState({ rootRoutes: rootRoutes(routeMenus), visible: true }); this.setState({ rootRoutes: rootRoutes(routeMenus), visible: true });
lsTool.write('systemMenu', JSON.stringify(routeMenus)); lsTool.write('systemMenu', JSON.stringify(routeMenus));
}, },
......
...@@ -18,6 +18,7 @@ import * as endConf from 'amos-processor/lib/config/endconf'; ...@@ -18,6 +18,7 @@ import * as endConf from 'amos-processor/lib/config/endconf';
import rootRoutes from './../routes/asyncRoutes'; import rootRoutes from './../routes/asyncRoutes';
import configureStore from './../store'; import configureStore from './../store';
import { getSystemAllMenu } from '../services/securityService'; import { getSystemAllMenu } from '../services/securityService';
import SysConsts from 'amos-processor/lib/config/consts';
// import { loginAuth } from 'amos-security/lib/model/auth'; // import { loginAuth } from 'amos-security/lib/model/auth';
...@@ -48,9 +49,8 @@ class App extends Component { ...@@ -48,9 +49,8 @@ class App extends Component {
componentWillMount() { componentWillMount() {
let code = LocationParam.getLocationParamByName('code'); let token = LocationParam.getLocationParamByName('token');
let userId = LocationParam.getLocationParamByName('userId'); if (!token) {
if (!(code || userId)) {
let systemMenu = JSON.parse(lsTool.read('systemMenu')); let systemMenu = JSON.parse(lsTool.read('systemMenu'));
if (!systemMenu) { if (!systemMenu) {
window.location.href = loginURI; window.location.href = loginURI;
...@@ -58,9 +58,11 @@ class App extends Component { ...@@ -58,9 +58,11 @@ class App extends Component {
} }
this.setState({ rootRoutes: rootRoutes(systemMenu), visible: true }); this.setState({ rootRoutes: rootRoutes(systemMenu), visible: true });
return; return;
}else{
lsTool.write(SysConsts.token, token);
} }
getSystemAllMenu(code, userId).then( getSystemAllMenu(token).then(
menus => { menus => {
let systemMuens = this.filterSystemMenus(menus); let systemMuens = this.filterSystemMenus(menus);
let routeMenus = []; let routeMenus = [];
...@@ -69,6 +71,7 @@ class App extends Component { ...@@ -69,6 +71,7 @@ class App extends Component {
routeMenus = [...routeMenus, ...item.children]; routeMenus = [...routeMenus, ...item.children];
} }
}); });
let a = rootRoutes(routeMenus);
this.setState({ rootRoutes: rootRoutes(routeMenus), visible: true }); this.setState({ rootRoutes: rootRoutes(routeMenus), visible: true });
lsTool.write('systemMenu', JSON.stringify(routeMenus)); lsTool.write('systemMenu', JSON.stringify(routeMenus));
}, },
......
...@@ -33,6 +33,7 @@ const AsyncKunShan = (props) => <AsyncLoader load={import('./../view/topoManage/ ...@@ -33,6 +33,7 @@ const AsyncKunShan = (props) => <AsyncLoader load={import('./../view/topoManage/
const AsyncHistoricalData = (props) => <AsyncLoader load={import('./../view/historicalData')} componentProps={props} />; const AsyncHistoricalData = (props) => <AsyncLoader load={import('./../view/historicalData')} componentProps={props} />;
const AsyncCreateEquipment = (props) => <AsyncLoader load={import('./../view/createEquipment')} componentProps={props} />; const AsyncCreateEquipment = (props) => <AsyncLoader load={import('./../view/createEquipment')} componentProps={props} />;
const AsyncSectionStoreRoom = (props) => <AsyncLoader load={import('./../view/sectionStoreRoom')} componentProps={props} />; const AsyncSectionStoreRoom = (props) => <AsyncLoader load={import('./../view/sectionStoreRoom')} componentProps={props} />;
const AsyncPLCManager = (props) => <AsyncLoader load={import('../view/plcManager')} componentProps={props} />;
const Routes = { const Routes = {
// ...parsePlugin(), // ...parsePlugin(),
...@@ -60,7 +61,8 @@ const Routes = { ...@@ -60,7 +61,8 @@ const Routes = {
ruledesign: AsyncRuleDesign, ruledesign: AsyncRuleDesign,
overview: AsyncOverview, overview: AsyncOverview,
createEquipment: AsyncCreateEquipment, createEquipment: AsyncCreateEquipment,
sectionStoreRoom: AsyncSectionStoreRoom sectionStoreRoom: AsyncSectionStoreRoom,
plcManager: AsyncPLCManager
}; };
const pageCompontent = (key) => { const pageCompontent = (key) => {
......
...@@ -33,6 +33,9 @@ import Overview from './../view/zonglan/home'; ...@@ -33,6 +33,9 @@ import Overview from './../view/zonglan/home';
import EmptyPage from './../view/common/page/EmptyPage'; import EmptyPage from './../view/common/page/EmptyPage';
import CreateEquipment from './../view/createEquipment'; import CreateEquipment from './../view/createEquipment';
import SectionStoreRoom from './../view/sectionStoreRoom'; import SectionStoreRoom from './../view/sectionStoreRoom';
import PLCManager from './../view/plcManager';
import IECClient from './../view/iec/client';
import IECServer from './../view/iec/server';
const Routes = { const Routes = {
// ...parsePlugin(), // ...parsePlugin(),
...@@ -61,7 +64,10 @@ const Routes = { ...@@ -61,7 +64,10 @@ const Routes = {
ruledesign: RuleDesign, ruledesign: RuleDesign,
overview: Overview, overview: Overview,
createEquipment: CreateEquipment, createEquipment: CreateEquipment,
sectionStoreRoom: SectionStoreRoom sectionStoreRoom: SectionStoreRoom,
plcManager: PLCManager,
iec104client: IECClient,
iec104server: IECServer
}; };
const pageCompontent = (key) => { const pageCompontent = (key) => {
......
import formatUrl from 'amos-processor/lib/utils/urlFormat'; import formatUrl from 'amos-processor/lib/utils/urlFormat';
import Url from 'CONSTS/urlConsts'; import Url from 'CONSTS/urlConsts';
import { IecUrl } from 'CONSTS/urlConsts';
import { commonGet, commonPost, commonDelete, commonPut } from 'UTILS/request'; import { commonGet, commonPost, commonDelete, commonPut } from 'UTILS/request';
/** /**
...@@ -115,3 +116,54 @@ export const fetchTopoDeviceAction = (id) => { ...@@ -115,3 +116,54 @@ export const fetchTopoDeviceAction = (id) => {
const url = `${Url.fetchTopoDevice}/${id}`; const url = `${Url.fetchTopoDevice}/${id}`;
return commonGet(url); return commonGet(url);
}; };
export const getChannelByType = (type) => {
const url = formatUrl(IecUrl.channelListUrl, { type } );
return commonGet(url);
};
export const createChannel = (param) => {
return commonPost(IecUrl.channelUrl, param);
};
export const deleteChannel = (id) => {
const url = formatUrl(IecUrl.deleteChannelUrl, { id } );
return commonDelete(url);
};
export const getChannelPoint = (channel) => {
const url = formatUrl(IecUrl.channelPointUrl, { channel } );
return commonGet(url);
};
export const deleteChannelPoint = (channel) => {
const url = formatUrl(IecUrl.channelPointUrl, { channel } );
return commonDelete(url);
};
export const addPoint = (param) => {
return commonPost(IecUrl.pointUrl, param);
};
export const deletePoint = (ids) => {
const url = formatUrl(IecUrl.deletePointUrl, { ids } );
return commonDelete(url);
};
export const getIecChannelPoint = (channelNo, pointType) => {
const url = formatUrl(IecUrl.iecChannelPointUrl, { channelNo , pointType} );
return commonGet(url);
};
export const deleteIecChannelPoint = (channelNo, pointType) => {
const url = formatUrl(IecUrl.iecChannelPointUrl, { channelNo, pointType } );
return commonDelete(url);
};
export const downloadIecTmpl = () => {
let a = document.createElement('a')
a.href = IecUrl.iecDownloadIecTmplUrl;
a.click();
};
\ No newline at end of file
...@@ -48,3 +48,34 @@ ...@@ -48,3 +48,34 @@
} }
} }
} }
.device-data-items {
.plc-title {
height: 40px;
}
.plc-divider {
margin: 1px 0 !important;
}
.ant-tabs-nav {
margin-left: 0px;
}
.con-eva-key {
float: left;
height: 36px;
padding: 10.5px 0;
font-size: 15px;
margin-left: 20px;
}
.con-eva-value {
height: 36px;
padding: 11.5px 0;
font-size: 13px;
padding-left: 7px;
}
}
.risk-model-button {
display: block;
margin-left: 0 !important;
}
\ No newline at end of file
export default function(data){ export default function(data){
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
if (data && data.result === 'SUCCESS') { if (data) {
if (data.dataList || data.dataList === null){ if (data.dataList || data.dataList === null){
resolve(data.dataList); resolve(data.dataList);
} else { } else if (data.result || data.result === null){
if(data.content){
resolve(data);
}else{
resolve(data.result);
}
}else if (data == 'TypeError: Failed to fetch'){
reject(data);
}else{
resolve(data); resolve(data);
} }
} else { } else {
if (data) {
reject(data.message);
} else {
reject(data); reject(data);
}
} }
}); });
} }
import * as _fetch from 'amos-processor/lib/fetch'; // import * as _fetch from 'amos-processor/lib/fetch';
import { AmosFetch as oaf, XssAmosFetch as oxaf } from 'amos-processor';
import * as utils from 'amos-processor/lib/utils'; import * as utils from 'amos-processor/lib/utils';
import AmosEnum from 'amos-processor/lib/enum/AmosEnum'; import AmosEnum from 'amos-processor/lib/enum/AmosEnum';
import * as permission from 'amos-processor/lib/config/permission'; import * as permission from 'amos-processor/lib/config/permission';
import { utils as toolUtils, Store } from 'amos-tool';
import sysConsts from 'amos-processor/lib/config';
const lsTool = Store.lsTool;
const defaultHeaders = {
appKey: 'AMOS_IOT',
product: 'AMOS_IOT_WEB'
};
export default{ export default{
..._fetch, // ..._fetch,
...utils, ...utils,
AmosEnum, AmosEnum,
...permission ...permission
}; };
export function getToken(){
return lsTool.read(sysConsts.token);
}
export const AmosFetch = {
_fetch(type) {
return (url, params, data) => {
if (!oaf[type]) {
throw new Error(`AmosFetch: ´íÎóµÄÇëÇó[${type}]`);
}
const newParams = toolUtils.merge(
{
headers: {
...defaultHeaders,
token: getToken()
},
// ÆôÓà cookie£¬ `include, same-origin, *omit`
// credentials: 'include'
},
params
);
return oaf[type](url, { params: newParams, data });
};
},
get(url, { params, data } = {}) {
return AmosFetch._fetch('get')(url, params, data);
},
put(url, { params, data } = {}) {
return AmosFetch._fetch('put')(url, params, data);
},
post(url, { params, data } = {}) {
return AmosFetch._fetch('post')(url, params, data);
},
del(url, { params, data } = {}) {
return AmosFetch._fetch('del')(url, params, data);
}
};
...@@ -6,13 +6,33 @@ import payload from './payload'; ...@@ -6,13 +6,33 @@ import payload from './payload';
const lsTool = Store.lsTool; const lsTool = Store.lsTool;
const defaultHeaders = {
appKey: 'AMOS_IOT',
product: 'AMOS_IOT_WEB'
};
export const compleHeaders = () => {
return {
...defaultHeaders,
token: getToken()
};
};
export function commonGet(url) { export function commonGet(url) {
return amosRequest(url, { method: 'GET' }).then(data => payload(data)); return amosRequest(url, {
method: 'GET',
headers: compleHeaders(),
reject(error){
console.log('请求失败,服务器错误!');
message.danger(error.message || '请求失败,服务器错误!');
}
}).then(data => payload(data));
} }
export function commonPost(url, data, params) { export function commonPost(url, data, params) {
return amosRequest(url, { return amosRequest(url, {
headers: compleHeaders(),
method: 'POST', method: 'POST',
body: data, body: data,
reject(error){ reject(error){
...@@ -24,6 +44,7 @@ export function commonPost(url, data, params) { ...@@ -24,6 +44,7 @@ export function commonPost(url, data, params) {
export function commonPut(url, data, params) { export function commonPut(url, data, params) {
return amosRequest(url, { return amosRequest(url, {
headers: compleHeaders(),
method: 'PUT', method: 'PUT',
body: data, body: data,
reject(error){ reject(error){
...@@ -35,6 +56,7 @@ export function commonPut(url, data, params) { ...@@ -35,6 +56,7 @@ export function commonPut(url, data, params) {
export function commonDelete(url, data, params) { export function commonDelete(url, data, params) {
return amosRequest(url, { return amosRequest(url, {
headers: compleHeaders(),
method: 'DELETE', method: 'DELETE',
body: data, body: data,
reject(error){ reject(error){
......
import React, { Component } from 'react'; import React, { Component } from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import { Form,Input,Button,Radio,Modal } from 'amos-antd'; import { Form,Input,Button,Radio,Modal } from 'amos-antd';
import { AmosFetch,formatUrl } from 'UTILS/processor'; import { AmosFetch } from 'UTILS/processor';
import formatUrl from 'amos-processor/lib/utils/urlFormat';
import { dateToStr } from 'UTILS/DateUtil'; import { dateToStr } from 'UTILS/DateUtil';
import OltSerUrl from 'CONSTS/urlConsts'; import OltSerUrl from 'CONSTS/urlConsts';
import { message } from 'amos-framework'; import { message } from 'amos-framework';
......
...@@ -159,7 +159,7 @@ class QueryPanel extends Component { ...@@ -159,7 +159,7 @@ class QueryPanel extends Component {
renderTreeNodes = (data) => { renderTreeNodes = (data) => {
return data.map((item) => { return data && data.map((item) => {
if (item.children) { if (item.children) {
return ( return (
<TreeNode title={item.companyName} key={item.orgCode} value={item.sequenceNbr} dataRef={item}> <TreeNode title={item.companyName} key={item.orgCode} value={item.sequenceNbr} dataRef={item}>
......
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import { Button, Upload, message, Icon } from 'amos-framework';
import { IecUrl } from 'CONSTS/urlConsts';
import { compleHeaders } from 'UTILS/request';
import formatUrl from 'amos-processor/lib/utils/urlFormat';
/**
* 工具栏
*
* @class ToolBar
* @extends {Component}
*/
class ToolBar extends Component {
constructor(props){
super(props);
this.state = {};
}
componentWillMount(){
}
onClick =(e,value)=>{
let { onButtonClick } = this.props;
onButtonClick(value);
}
render() {
const props = {
name: 'file',
action: formatUrl(IecUrl.iecImportUrl, { serviceId: this.props.serviceId, pointType: this.props.pointType }),
showUploadList: false,
headers: compleHeaders(),
onChange(info) {
if (info.file.status !== 'uploading') {
console.log(info.file, info.fileList);
}
if (info.file.status === 'done') {
message.success(`${info.file.name} 上传成功`);
this.props.reload();
} else if (info.file.status === 'error') {
message.danger(`${info.file.name} 上传失败`);
}
}
}
return (
<div className='risk-lever-toolbar'>
<div className='risk-lever-button' >
<Button title='添加' icon={<Icon icon="add-noborder" />} transparent onClick={e => this.onClick(e,'point-1')} />
<Button title='删除' icon={<Icon icon="delete" />} transparent onClick={e => this.onClick(e, 'point-2')} />
<Button title='编辑' icon={<Icon icon="edit" />} transparent onClick={e => this.onClick(e,'point-3')} />
<Upload {...props}><Button title='导入' icon={<Icon icon="upload" />} transparent /></Upload>
<Button title='清空' icon={<Icon icon="hdd" />} transparent onClick={e => this.onClick(e,'point-5')} />
<Button title='下载模板' icon={<Icon icon="download" />} transparent onClick={e => this.onClick(e,'point-6')} />
</div>
</div>
);
}
}
ToolBar.propTypes = {
onButtonClick: PropTypes.func,
pointType: PropTypes.string,
serviceId: PropTypes.string,
reload: PropTypes.func
};
export default ToolBar;
\ No newline at end of file
This diff is collapsed.
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import { Button, Upload, message, Icon } from 'amos-framework';
import { IecUrl } from 'CONSTS/urlConsts';
import { compleHeaders } from 'UTILS/request';
import formatUrl from 'amos-processor/lib/utils/urlFormat';
/**
* 工具栏
*
* @class ToolBar
* @extends {Component}
*/
class ToolBar extends Component {
constructor(props){
super(props);
this.state = {};
}
componentWillMount(){
}
onClick =(e,value)=>{
let { onButtonClick } = this.props;
onButtonClick(value);
}
render() {
const props = {
name: 'file',
action: formatUrl(IecUrl.iecImportUrl, { serviceId: this.props.serviceId, pointType: this.props.pointType }),
showUploadList: false,
headers: compleHeaders(),
onChange(info) {
if (info.file.status !== 'uploading') {
console.log(info.file, info.fileList);
}
if (info.file.status === 'done') {
message.success(`${info.file.name} 上传成功`);
this.props.reload();
} else if (info.file.status === 'error') {
message.danger(`${info.file.name} 上传失败`);
}
}
}
return (
<div className='risk-lever-toolbar'>
<div className='risk-lever-button' >
<Button title='添加' icon={<Icon icon="add-noborder" />} transparent onClick={e => this.onClick(e,'point-1')} />
<Button title='删除' icon={<Icon icon="delete" />} transparent onClick={e => this.onClick(e, 'point-2')} />
<Button title='编辑' icon={<Icon icon="edit" />} transparent onClick={e => this.onClick(e,'point-3')} />
<Upload {...props}><Button title='导入' icon={<Icon icon="upload" />} transparent /></Upload>
<Button title='清空' icon={<Icon icon="hdd" />} transparent onClick={e => this.onClick(e,'point-5')} />
<Button title='下载模板' icon={<Icon icon="download" />} transparent onClick={e => this.onClick(e,'point-6')} />
</div>
</div>
);
}
}
ToolBar.propTypes = {
onButtonClick: PropTypes.func,
pointType: PropTypes.string,
serviceId: PropTypes.string,
reload: PropTypes.func
};
export default ToolBar;
\ No newline at end of file
This diff is collapsed.
...@@ -17,27 +17,9 @@ const lsTool = Store.lsTool; ...@@ -17,27 +17,9 @@ const lsTool = Store.lsTool;
class AutoLogin extends Component { class AutoLogin extends Component {
componentWillMount() { componentWillMount() {
let code = LocationParam.getLocationParamByName('code'); let token = LocationParam.getLocationParamByName('token');
let userId = LocationParam.getLocationParamByName('userId'); if (token) {
if (code && userId) { browserHistory.push('/region');
login(code, userId).then(
data => {
const { companys = [], companyDepartments = {}, orgRoles = {} } = data.user;
lsTool.write(SysConsts.token, data.accessToken);
lsTool.write(SysConsts.userId, data.userId);
lsTool.write(SysConsts.company, JSON.stringify(data.user.companys));
lsTool.write(SysConsts.userName, data.user.userName);
lsTool.write(SysConsts.nickName, data.user.realName);
if (companys.length > 0) {
browserHistory.push('/region');
return;
}
},
err => {
AmosAlert.error('警告', err || '系统初始化失败,请重新尝试!');
}
);
} else { } else {
AmosAlert.error('警告', '无法打开该系统,请重新尝试!'); AmosAlert.error('警告', '无法打开该系统,请重新尝试!');
} }
......
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import { Button, Icon} from 'amos-framework';
/**
* 工具栏
*
* @class ToolBar
* @extends {Component}
*/
class ToolBar extends Component {
constructor(props){
super(props);
this.state = {};
}
componentWillMount(){
}
onClick =(e,value)=>{
let { onButtonClick } = this.props;
onButtonClick(value);
}
render() {
return (
<div className='risk-lever-toolbar'>
<div className='risk-lever-button' >
<Button title='添加' icon={<Icon icon="add" />} transparent onClick={e => this.onClick(e,'point-1')} />
<Button title='删除' icon={<Icon icon="delete" />} transparent onClick={e => this.onClick(e, 'point-2')} />
<Button title='编辑' icon={<Icon icon="edit" />} transparent onClick={e => this.onClick(e,'point-3')} />
</div>
</div>
);
}
}
ToolBar.propTypes = {
onButtonClick: PropTypes.func,
parent: PropTypes.any
};
export default ToolBar;
\ No newline at end of file
This diff is collapsed.
...@@ -8,6 +8,7 @@ import { regionSelectAction } from './../../services/navApi'; ...@@ -8,6 +8,7 @@ import { regionSelectAction } from './../../services/navApi';
import { getCurrentUser } from './../../services/securityService'; import { getCurrentUser } from './../../services/securityService';
import { CONSTS } from '../../consts/storageConsts'; import { CONSTS } from '../../consts/storageConsts';
import { Store, utils } from 'amos-tool'; import { Store, utils } from 'amos-tool';
import SysConsts from 'amos-processor/lib/config/consts';
const lsTool = Store.lsTool; const lsTool = Store.lsTool;
const AmosConfig = endConf.AmosConfig; const AmosConfig = endConf.AmosConfig;
...@@ -78,6 +79,12 @@ class RegionSelect extends Component { ...@@ -78,6 +79,12 @@ class RegionSelect extends Component {
getCurrentUser().then(data => { getCurrentUser().then(data => {
const { reginParams } = this.state; const { reginParams } = this.state;
const { companys = [], companyDepartments = {}, orgRoles = {} } = data; const { companys = [], companyDepartments = {}, orgRoles = {} } = data;
lsTool.write(SysConsts.userId, data.userId);
lsTool.write(SysConsts.company, JSON.stringify(companys));
lsTool.write(SysConsts.userName, data.userName);
lsTool.write(SysConsts.nickName, data.realName);
if (companys.length === 1) { if (companys.length === 1) {
let company = companys[0]; let company = companys[0];
let departments = companyDepartments[company.sequenceNbr] || []; let departments = companyDepartments[company.sequenceNbr] || [];
......
...@@ -55,4 +55,17 @@ const defaultConfig = simpleConfig(config); ...@@ -55,4 +55,17 @@ const defaultConfig = simpleConfig(config);
defaultConfig.name = 'amos-tpl'; defaultConfig.name = 'amos-tpl';
if (__ENV__ === 'development'){
// 开发模式下,配置 proxy,跳过跨域问题
defaultConfig.devServer.proxy = {
'/baseURI': {
// target: 'http://172.16.10.70:10005/',
target: 'http://172.16.3.3:10005/',
pathRewrite: { '^/baseURI': '' }
}
};
}
module.exports = defaultConfig; module.exports = defaultConfig;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment