deartibers
2 years ago
47 changed files with 1062 additions and 74 deletions
@ -1,6 +1,6 @@ |
|||||
'use strict'; |
'use strict'; |
||||
|
|
||||
import SetControl from './setControl'; |
import Other from './other'; |
||||
import Server from './server'; |
import Monitor from './monitor'; |
||||
import Rest from './rest'; |
import MaintenanceRecords from './maintenanceRecords'; |
||||
export { SetControl,Server,Rest}; |
export { MaintenanceRecords,Monitor,Other}; |
@ -1,41 +1,46 @@ |
|||||
import { DataQuery, DataComparison, DataAssociation,Notebook } from './containers'; |
import { MaintenanceRecords, Monitor, Other } from './containers'; |
||||
|
|
||||
export default [{ |
export default [{ |
||||
type: 'inner', |
type: 'inner', |
||||
route: { |
route: { |
||||
path: '/data', |
path: '/facility', |
||||
key: 'data', |
key: 'facility', |
||||
breadcrumb: '数据', |
breadcrumb: '设备', |
||||
// 不设置 component 则面包屑禁止跳转
|
// 不设置 component 则面包屑禁止跳转
|
||||
childRoutes: [{ |
childRoutes: [{ |
||||
path: '/dataMonitoring', |
path: '/deviceQuery', |
||||
key: 'dataMonitoring', |
key: 'deviceQuery', |
||||
breadcrumb: '数据监控', |
breadcrumb: '设备查询', |
||||
childRoutes: [{ |
childRoutes: [{ |
||||
path: '/dataQuery', |
path: '/maintenanceRecords1', |
||||
key: 'dataQuery', |
key: 'maintenanceRecords1', |
||||
component: DataQuery, |
component: MaintenanceRecords, |
||||
breadcrumb: '数据查询', |
breadcrumb: '维护记录', |
||||
}] |
}] |
||||
}, { |
}, { |
||||
path: '/dataAnalysis', |
path: '/serverInformation', |
||||
key: 'dataAnalysis', |
key: 'serverInformation', |
||||
breadcrumb: '数据分析', |
breadcrumb: '服务器信息', |
||||
childRoutes: [{ |
childRoutes: [{ |
||||
path: '/dataComparison', |
path: '/monitor', |
||||
key: 'dataComparison', |
key: 'monitor', |
||||
component: DataComparison, |
component: Monitor, |
||||
breadcrumb: '数据对比', |
breadcrumb: '运维监控', |
||||
}, { |
}, { |
||||
path: '/dataAssociation', |
path: '/maintenanceRecords', |
||||
key: 'dataAssociation', |
key: 'maintenanceRecords', |
||||
component: DataAssociation, |
component: MaintenanceRecords, |
||||
breadcrumb: '数据关联', |
breadcrumb: '维护记录', |
||||
|
},] |
||||
}, { |
}, { |
||||
path: '/notebook', |
path: '/other', |
||||
key: 'notebook', |
key: 'other', |
||||
component: Notebook, |
breadcrumb: '其他', |
||||
breadcrumb: 'notebook', |
childRoutes: [{ |
||||
|
path: '/other1', |
||||
|
key: 'other1', |
||||
|
component: Other, |
||||
|
breadcrumb: '其他', |
||||
}] |
}] |
||||
}] |
}] |
||||
} |
} |
||||
|
@ -0,0 +1,2 @@ |
|||||
|
'use strict'; |
||||
|
|
@ -0,0 +1,34 @@ |
|||||
|
import React, { useEffect } from 'react'; |
||||
|
import { connect } from 'react-redux'; |
||||
|
|
||||
|
|
||||
|
|
||||
|
const Server = (props) => { |
||||
|
const { dispatch, actions, user, loading, socket } = props |
||||
|
|
||||
|
useEffect(() => { |
||||
|
|
||||
|
}, []) |
||||
|
|
||||
|
|
||||
|
return ( |
||||
|
<> |
||||
|
<div> |
||||
|
<img src="/assets/images/install/watting.png" alt="" style={{ width: 'calc(100% + 16px)', position: "relative", top: -12, left: -8, }} /> |
||||
|
</div> |
||||
|
</> |
||||
|
) |
||||
|
} |
||||
|
|
||||
|
function mapStateToProps (state) { |
||||
|
const { auth, global, members, webSocket } = state; |
||||
|
return { |
||||
|
// loading: members.isRequesting, |
||||
|
// user: auth.user, |
||||
|
// actions: global.actions, |
||||
|
// members: members.data, |
||||
|
// socket: webSocket.socket |
||||
|
}; |
||||
|
} |
||||
|
|
||||
|
export default connect(mapStateToProps)(Server); |
@ -0,0 +1,34 @@ |
|||||
|
import React, { useEffect } from 'react'; |
||||
|
import { connect } from 'react-redux'; |
||||
|
|
||||
|
|
||||
|
|
||||
|
const SetControl = (props) => { |
||||
|
const { dispatch, actions, user, loading, socket } = props |
||||
|
|
||||
|
useEffect(() => { |
||||
|
|
||||
|
}, []) |
||||
|
|
||||
|
|
||||
|
return ( |
||||
|
<> |
||||
|
<div> |
||||
|
<img src="/assets/images/install/watting.png" alt="" style={{ width: 'calc(100% + 16px)', position: "relative", top: -12, left: -8, }} /> |
||||
|
</div> |
||||
|
</> |
||||
|
) |
||||
|
} |
||||
|
|
||||
|
function mapStateToProps (state) { |
||||
|
const { auth, global, members, webSocket } = state; |
||||
|
return { |
||||
|
// loading: members.isRequesting, |
||||
|
// user: auth.user, |
||||
|
// actions: global.actions, |
||||
|
// members: members.data, |
||||
|
// socket: webSocket.socket |
||||
|
}; |
||||
|
} |
||||
|
|
||||
|
export default connect(mapStateToProps)(SetControl); |
@ -0,0 +1,7 @@ |
|||||
|
'use strict'; |
||||
|
|
||||
|
import ProjectMeans from './projectMeans'; |
||||
|
import RepairFQA from './repairFQA'; |
||||
|
import FaultInformation from './faultInformation'; |
||||
|
import DevOpsStandard from './devOpsStandard'; |
||||
|
export { ProjectMeans, RepairFQA, FaultInformation, DevOpsStandard}; |
@ -0,0 +1,34 @@ |
|||||
|
import React, { useEffect } from 'react'; |
||||
|
import { connect } from 'react-redux'; |
||||
|
|
||||
|
|
||||
|
|
||||
|
const Rest = (props) => { |
||||
|
const { dispatch, actions, user, loading, socket } = props |
||||
|
|
||||
|
useEffect(() => { |
||||
|
|
||||
|
}, []) |
||||
|
|
||||
|
|
||||
|
return ( |
||||
|
<> |
||||
|
<div> |
||||
|
<img src="/assets/images/install/watting.png" alt="" style={{ width: 'calc(100% + 16px)', position: "relative", top: -12, left: -8, }} /> |
||||
|
</div> |
||||
|
</> |
||||
|
) |
||||
|
} |
||||
|
|
||||
|
function mapStateToProps (state) { |
||||
|
const { auth, global, members, webSocket } = state; |
||||
|
return { |
||||
|
// loading: members.isRequesting, |
||||
|
// user: auth.user, |
||||
|
// actions: global.actions, |
||||
|
// members: members.data, |
||||
|
// socket: webSocket.socket |
||||
|
}; |
||||
|
} |
||||
|
|
||||
|
export default connect(mapStateToProps)(Rest); |
@ -0,0 +1,34 @@ |
|||||
|
import React, { useEffect } from 'react'; |
||||
|
import { connect } from 'react-redux'; |
||||
|
|
||||
|
|
||||
|
|
||||
|
const Rest = (props) => { |
||||
|
const { dispatch, actions, user, loading, socket } = props |
||||
|
|
||||
|
useEffect(() => { |
||||
|
|
||||
|
}, []) |
||||
|
|
||||
|
|
||||
|
return ( |
||||
|
<> |
||||
|
<div> |
||||
|
<img src="/assets/images/install/watting.png" alt="" style={{ width: 'calc(100% + 16px)', position: "relative", top: -12, left: -8, }} /> |
||||
|
</div> |
||||
|
</> |
||||
|
) |
||||
|
} |
||||
|
|
||||
|
function mapStateToProps (state) { |
||||
|
const { auth, global, members, webSocket } = state; |
||||
|
return { |
||||
|
// loading: members.isRequesting, |
||||
|
// user: auth.user, |
||||
|
// actions: global.actions, |
||||
|
// members: members.data, |
||||
|
// socket: webSocket.socket |
||||
|
}; |
||||
|
} |
||||
|
|
||||
|
export default connect(mapStateToProps)(Rest); |
@ -0,0 +1,15 @@ |
|||||
|
'use strict'; |
||||
|
|
||||
|
import reducers from './reducers'; |
||||
|
import routes from './routes'; |
||||
|
import actions from './actions'; |
||||
|
import { getNavItem } from './nav-item'; |
||||
|
|
||||
|
export default { |
||||
|
key: 'facility', |
||||
|
name: '设备', |
||||
|
reducers: reducers, |
||||
|
routes: routes, |
||||
|
actions: actions, |
||||
|
getNavItem: getNavItem |
||||
|
}; |
@ -0,0 +1,49 @@ |
|||||
|
import React from 'react'; |
||||
|
import { IconCode } from '@douyinfe/semi-icons'; |
||||
|
|
||||
|
export function getNavItem (user, dispatch) { |
||||
|
return ( |
||||
|
[ |
||||
|
{ |
||||
|
itemKey: 'means', |
||||
|
text: '资料', |
||||
|
icon: <IconCode />, |
||||
|
items: [ |
||||
|
{ |
||||
|
itemKey: 'projectMeans', |
||||
|
text: '项目资料', |
||||
|
icon: <iconpark-icon style={{ width: 20, height: 20 }} name="iconjianshezhong"></iconpark-icon>, |
||||
|
to: '/means/projectMeans/projectMeans1', |
||||
|
items: [{ |
||||
|
itemKey: 'projectMeans1', to: '/means/projectMeans/projectMeans1', text: '项目资料' |
||||
|
}] |
||||
|
}, { |
||||
|
itemKey: 'repairFQA', |
||||
|
text: '维修FQA', |
||||
|
icon: <iconpark-icon style={{ width: 20, height: 20 }} name="iconjianshezhong"></iconpark-icon>, |
||||
|
to: '/means/repairFQA/repairFQA1', |
||||
|
items: [{ |
||||
|
itemKey: 'repairFQA1', to: '/means/repairFQA/repairFQA1', text: '维修FQA' |
||||
|
}] |
||||
|
}, { |
||||
|
itemKey: 'faultInformation', |
||||
|
text: '故障资料', |
||||
|
icon: <iconpark-icon style={{ width: 20, height: 20 }} name="iconjianshezhong"></iconpark-icon>, |
||||
|
to: '/means/faultInformation/faultInformation1', |
||||
|
items: [{ |
||||
|
itemKey: 'faultInformation1', to: '/means/faultInformation/faultInformation1', text: '故障资料' |
||||
|
}] |
||||
|
}, { |
||||
|
itemKey: 'devOpsStandard', |
||||
|
text: '运维规范', |
||||
|
icon: <iconpark-icon style={{ width: 20, height: 20 }} name="iconjianshezhong"></iconpark-icon>, |
||||
|
to: '/means/devOpsStandard/devOpsStandard1', |
||||
|
items: [{ |
||||
|
itemKey: 'devOpsStandard1', to: '/means/devOpsStandard/devOpsStandard1', text: '运维规范' |
||||
|
}] |
||||
|
} |
||||
|
] |
||||
|
}, |
||||
|
] |
||||
|
); |
||||
|
} |
@ -0,0 +1,5 @@ |
|||||
|
'use strict'; |
||||
|
|
||||
|
export default { |
||||
|
|
||||
|
} |
@ -0,0 +1,52 @@ |
|||||
|
import { ProjectMeans, RepairFQA, FaultInformation, DevOpsStandard } from './containers'; |
||||
|
|
||||
|
export default [{ |
||||
|
type: 'inner', |
||||
|
route: { |
||||
|
path: '/means', |
||||
|
key: 'means', |
||||
|
breadcrumb: '资料', |
||||
|
// 不设置 component 则面包屑禁止跳转
|
||||
|
childRoutes: [{ |
||||
|
path: '/projectMeans', |
||||
|
key: 'projectMeans', |
||||
|
breadcrumb: '项目资料', |
||||
|
childRoutes: [{ |
||||
|
path: '/projectMeans1', |
||||
|
key: 'projectMeans1', |
||||
|
component: ProjectMeans, |
||||
|
breadcrumb: '项目资料', |
||||
|
}] |
||||
|
}, { |
||||
|
path: '/repairFQA', |
||||
|
key: 'repairFQA', |
||||
|
breadcrumb: '维修FQA', |
||||
|
childRoutes: [{ |
||||
|
path: '/repairFQA1', |
||||
|
key: 'repairFQA1', |
||||
|
component: RepairFQA, |
||||
|
breadcrumb: '维修FQA', |
||||
|
}] |
||||
|
}, { |
||||
|
path: '/faultInformation', |
||||
|
key: 'faultInformation', |
||||
|
breadcrumb: '故障资料', |
||||
|
childRoutes: [{ |
||||
|
path: '/faultInformation1', |
||||
|
key: 'faultInformation1', |
||||
|
component: FaultInformation, |
||||
|
breadcrumb: '故障资料', |
||||
|
}] |
||||
|
}, { |
||||
|
path: '/devOpsStandard', |
||||
|
key: 'devOpsStandard', |
||||
|
breadcrumb: '运维规范', |
||||
|
childRoutes: [{ |
||||
|
path: '/devOpsStandard1', |
||||
|
key: 'devOpsStandard1', |
||||
|
component: DevOpsStandard, |
||||
|
breadcrumb: '运维规范', |
||||
|
}] |
||||
|
}] |
||||
|
} |
||||
|
}]; |
@ -0,0 +1,7 @@ |
|||||
|
#example { |
||||
|
box-shadow: 3px 3px 2px black; |
||||
|
} |
||||
|
|
||||
|
#example:hover { |
||||
|
color: yellowgreen; |
||||
|
} |
@ -0,0 +1,2 @@ |
|||||
|
'use strict'; |
||||
|
|
@ -0,0 +1,34 @@ |
|||||
|
import React, { useEffect } from 'react'; |
||||
|
import { connect } from 'react-redux'; |
||||
|
|
||||
|
|
||||
|
|
||||
|
const Server = (props) => { |
||||
|
const { dispatch, actions, user, loading, socket } = props |
||||
|
|
||||
|
useEffect(() => { |
||||
|
|
||||
|
}, []) |
||||
|
|
||||
|
|
||||
|
return ( |
||||
|
<> |
||||
|
<div> |
||||
|
<img src="/assets/images/install/watting.png" alt="" style={{ width: 'calc(100% + 16px)', position: "relative", top: -12, left: -8, }} /> |
||||
|
</div> |
||||
|
</> |
||||
|
) |
||||
|
} |
||||
|
|
||||
|
function mapStateToProps (state) { |
||||
|
const { auth, global, members, webSocket } = state; |
||||
|
return { |
||||
|
// loading: members.isRequesting, |
||||
|
// user: auth.user, |
||||
|
// actions: global.actions, |
||||
|
// members: members.data, |
||||
|
// socket: webSocket.socket |
||||
|
}; |
||||
|
} |
||||
|
|
||||
|
export default connect(mapStateToProps)(Server); |
@ -0,0 +1,34 @@ |
|||||
|
import React, { useEffect } from 'react'; |
||||
|
import { connect } from 'react-redux'; |
||||
|
|
||||
|
|
||||
|
|
||||
|
const Server = (props) => { |
||||
|
const { dispatch, actions, user, loading, socket } = props |
||||
|
|
||||
|
useEffect(() => { |
||||
|
|
||||
|
}, []) |
||||
|
|
||||
|
|
||||
|
return ( |
||||
|
<> |
||||
|
<div> |
||||
|
<img src="/assets/images/install/watting.png" alt="" style={{ width: 'calc(100% + 16px)', position: "relative", top: -12, left: -8, }} /> |
||||
|
</div> |
||||
|
</> |
||||
|
) |
||||
|
} |
||||
|
|
||||
|
function mapStateToProps (state) { |
||||
|
const { auth, global, members, webSocket } = state; |
||||
|
return { |
||||
|
// loading: members.isRequesting, |
||||
|
// user: auth.user, |
||||
|
// actions: global.actions, |
||||
|
// members: members.data, |
||||
|
// socket: webSocket.socket |
||||
|
}; |
||||
|
} |
||||
|
|
||||
|
export default connect(mapStateToProps)(Server); |
@ -0,0 +1,34 @@ |
|||||
|
import React, { useEffect } from 'react'; |
||||
|
import { connect } from 'react-redux'; |
||||
|
|
||||
|
|
||||
|
|
||||
|
const Server = (props) => { |
||||
|
const { dispatch, actions, user, loading, socket } = props |
||||
|
|
||||
|
useEffect(() => { |
||||
|
|
||||
|
}, []) |
||||
|
|
||||
|
|
||||
|
return ( |
||||
|
<> |
||||
|
<div> |
||||
|
<img src="/assets/images/install/watting.png" alt="" style={{ width: 'calc(100% + 16px)', position: "relative", top: -12, left: -8, }} /> |
||||
|
</div> |
||||
|
</> |
||||
|
) |
||||
|
} |
||||
|
|
||||
|
function mapStateToProps (state) { |
||||
|
const { auth, global, members, webSocket } = state; |
||||
|
return { |
||||
|
// loading: members.isRequesting, |
||||
|
// user: auth.user, |
||||
|
// actions: global.actions, |
||||
|
// members: members.data, |
||||
|
// socket: webSocket.socket |
||||
|
}; |
||||
|
} |
||||
|
|
||||
|
export default connect(mapStateToProps)(Server); |
@ -0,0 +1,11 @@ |
|||||
|
'use strict'; |
||||
|
|
||||
|
import ReportManagement from './reportManagement'; |
||||
|
import CyclePlan from './cyclePlan'; |
||||
|
import TemporaryResponse from './temporaryResponse'; |
||||
|
import EmPush from './emPush'; |
||||
|
import AppPush from './appPush'; |
||||
|
import MaintenanceModel from './maintenanceModel'; |
||||
|
import ServiceRecord from './serviceRecord'; |
||||
|
|
||||
|
export { ReportManagement, CyclePlan, TemporaryResponse, EmPush, AppPush, MaintenanceModel, ServiceRecord }; |
@ -0,0 +1,34 @@ |
|||||
|
import React, { useEffect } from 'react'; |
||||
|
import { connect } from 'react-redux'; |
||||
|
|
||||
|
|
||||
|
|
||||
|
const Server = (props) => { |
||||
|
const { dispatch, actions, user, loading, socket } = props |
||||
|
|
||||
|
useEffect(() => { |
||||
|
|
||||
|
}, []) |
||||
|
|
||||
|
|
||||
|
return ( |
||||
|
<> |
||||
|
<div> |
||||
|
<img src="/assets/images/install/watting.png" alt="" style={{ width: 'calc(100% + 16px)', position: "relative", top: -12, left: -8, }} /> |
||||
|
</div> |
||||
|
</> |
||||
|
) |
||||
|
} |
||||
|
|
||||
|
function mapStateToProps (state) { |
||||
|
const { auth, global, members, webSocket } = state; |
||||
|
return { |
||||
|
// loading: members.isRequesting, |
||||
|
// user: auth.user, |
||||
|
// actions: global.actions, |
||||
|
// members: members.data, |
||||
|
// socket: webSocket.socket |
||||
|
}; |
||||
|
} |
||||
|
|
||||
|
export default connect(mapStateToProps)(Server); |
@ -0,0 +1,34 @@ |
|||||
|
import React, { useEffect } from 'react'; |
||||
|
import { connect } from 'react-redux'; |
||||
|
|
||||
|
|
||||
|
|
||||
|
const Rest = (props) => { |
||||
|
const { dispatch, actions, user, loading, socket } = props |
||||
|
|
||||
|
useEffect(() => { |
||||
|
|
||||
|
}, []) |
||||
|
|
||||
|
|
||||
|
return ( |
||||
|
<> |
||||
|
<div> |
||||
|
<img src="/assets/images/install/watting.png" alt="" style={{ width: 'calc(100% + 16px)', position: "relative", top: -12, left: -8, }} /> |
||||
|
</div> |
||||
|
</> |
||||
|
) |
||||
|
} |
||||
|
|
||||
|
function mapStateToProps (state) { |
||||
|
const { auth, global, members, webSocket } = state; |
||||
|
return { |
||||
|
// loading: members.isRequesting, |
||||
|
// user: auth.user, |
||||
|
// actions: global.actions, |
||||
|
// members: members.data, |
||||
|
// socket: webSocket.socket |
||||
|
}; |
||||
|
} |
||||
|
|
||||
|
export default connect(mapStateToProps)(Rest); |
@ -0,0 +1,34 @@ |
|||||
|
import React, { useEffect } from 'react'; |
||||
|
import { connect } from 'react-redux'; |
||||
|
|
||||
|
|
||||
|
|
||||
|
const Server = (props) => { |
||||
|
const { dispatch, actions, user, loading, socket } = props |
||||
|
|
||||
|
useEffect(() => { |
||||
|
|
||||
|
}, []) |
||||
|
|
||||
|
|
||||
|
return ( |
||||
|
<> |
||||
|
<div> |
||||
|
<img src="/assets/images/install/watting.png" alt="" style={{ width: 'calc(100% + 16px)', position: "relative", top: -12, left: -8, }} /> |
||||
|
</div> |
||||
|
</> |
||||
|
) |
||||
|
} |
||||
|
|
||||
|
function mapStateToProps (state) { |
||||
|
const { auth, global, members, webSocket } = state; |
||||
|
return { |
||||
|
// loading: members.isRequesting, |
||||
|
// user: auth.user, |
||||
|
// actions: global.actions, |
||||
|
// members: members.data, |
||||
|
// socket: webSocket.socket |
||||
|
}; |
||||
|
} |
||||
|
|
||||
|
export default connect(mapStateToProps)(Server); |
@ -0,0 +1,34 @@ |
|||||
|
import React, { useEffect } from 'react'; |
||||
|
import { connect } from 'react-redux'; |
||||
|
|
||||
|
|
||||
|
|
||||
|
const SetControl = (props) => { |
||||
|
const { dispatch, actions, user, loading, socket } = props |
||||
|
|
||||
|
useEffect(() => { |
||||
|
|
||||
|
}, []) |
||||
|
|
||||
|
|
||||
|
return ( |
||||
|
<> |
||||
|
<div> |
||||
|
<img src="/assets/images/install/watting.png" alt="" style={{ width: 'calc(100% + 16px)', position: "relative", top: -12, left: -8, }} /> |
||||
|
</div> |
||||
|
</> |
||||
|
) |
||||
|
} |
||||
|
|
||||
|
function mapStateToProps (state) { |
||||
|
const { auth, global, members, webSocket } = state; |
||||
|
return { |
||||
|
// loading: members.isRequesting, |
||||
|
// user: auth.user, |
||||
|
// actions: global.actions, |
||||
|
// members: members.data, |
||||
|
// socket: webSocket.socket |
||||
|
}; |
||||
|
} |
||||
|
|
||||
|
export default connect(mapStateToProps)(SetControl); |
@ -0,0 +1,15 @@ |
|||||
|
'use strict'; |
||||
|
|
||||
|
import reducers from './reducers'; |
||||
|
import routes from './routes'; |
||||
|
import actions from './actions'; |
||||
|
import { getNavItem } from './nav-item'; |
||||
|
|
||||
|
export default { |
||||
|
key: 'service', |
||||
|
name: '服务', |
||||
|
reducers: reducers, |
||||
|
routes: routes, |
||||
|
actions: actions, |
||||
|
getNavItem: getNavItem |
||||
|
}; |
@ -0,0 +1,61 @@ |
|||||
|
import React from 'react'; |
||||
|
import { IconCode } from '@douyinfe/semi-icons'; |
||||
|
|
||||
|
export function getNavItem (user, dispatch) { |
||||
|
return ( |
||||
|
[ |
||||
|
{ |
||||
|
itemKey: 'service', |
||||
|
text: '服务', |
||||
|
icon: <IconCode />, |
||||
|
items: [ |
||||
|
{ |
||||
|
itemKey: 'reportingServices', |
||||
|
text: '报表服务', |
||||
|
icon: <iconpark-icon style={{ width: 20, height: 20 }} name="iconjianshezhong"></iconpark-icon>, |
||||
|
to: '/service/reportingServices/reportManagement', |
||||
|
items: [{ |
||||
|
itemKey: 'reportManagement', to: '/service/reportingServices/reportManagement', text: '报表管理' |
||||
|
}] |
||||
|
}, { |
||||
|
itemKey: 'maintenancePlan', |
||||
|
text: '维护计划', |
||||
|
icon: <iconpark-icon style={{ width: 20, height: 20 }} name="iconjianshezhong"></iconpark-icon>, |
||||
|
to: '/service/maintenancePlan/cyclePlan', |
||||
|
items: [{ |
||||
|
itemKey: 'cyclePlan', to: '/service/maintenancePlan/cyclePlan', text: '周期计划' |
||||
|
}, { |
||||
|
itemKey: 'temporaryResponse', to: '/service/maintenancePlan/temporaryResponse', text: '临时响应' |
||||
|
}] |
||||
|
}, { |
||||
|
itemKey: 'carrierPigeon', |
||||
|
text: '信鸽服务', |
||||
|
icon: <iconpark-icon style={{ width: 20, height: 20 }} name="iconjianshezhong"></iconpark-icon>, |
||||
|
to: '/service/carrierPigeon/emPush', |
||||
|
items: [{ |
||||
|
itemKey: 'emPush', to: '/service/carrierPigeon/emPush', text: 'EM推送' |
||||
|
},{ |
||||
|
itemKey: 'appPush', to: '/service/carrierPigeon/appPush', text: '应用推送' |
||||
|
}] |
||||
|
},{ |
||||
|
itemKey: 'preventiveMaintenance', |
||||
|
text: '预防性维保', |
||||
|
icon: <iconpark-icon style={{ width: 20, height: 20 }} name="iconjianshezhong"></iconpark-icon>, |
||||
|
to: '/service/preventiveMaintenance/maintenanceModel', |
||||
|
items: [{ |
||||
|
itemKey: 'maintenanceModel', to: '/service/preventiveMaintenance/maintenanceModel', text: '维保模型' |
||||
|
}] |
||||
|
},{ |
||||
|
itemKey: 'serviceRecord', |
||||
|
text: '服务记录', |
||||
|
icon: <iconpark-icon style={{ width: 20, height: 20 }} name="iconjianshezhong"></iconpark-icon>, |
||||
|
to: '/service/serviceRecord/serviceRecord1', |
||||
|
items: [{ |
||||
|
itemKey: 'serviceRecord1', to: '/service/serviceRecord/serviceRecord1', text: '服务记录' |
||||
|
}] |
||||
|
} |
||||
|
] |
||||
|
}, |
||||
|
] |
||||
|
); |
||||
|
} |
@ -0,0 +1,5 @@ |
|||||
|
'use strict'; |
||||
|
|
||||
|
export default { |
||||
|
|
||||
|
} |
@ -0,0 +1,72 @@ |
|||||
|
import { ReportManagement, CyclePlan, TemporaryResponse, EmPush, AppPush, MaintenanceModel, ServiceRecord } from './containers'; |
||||
|
|
||||
|
export default [{ |
||||
|
type: 'inner', |
||||
|
route: { |
||||
|
path: '/service', |
||||
|
key: 'service', |
||||
|
breadcrumb: '服务', |
||||
|
// 不设置 component 则面包屑禁止跳转
|
||||
|
childRoutes: [{ |
||||
|
path: '/reportingServices', |
||||
|
key: 'reportingServices', |
||||
|
breadcrumb: '报表服务', |
||||
|
childRoutes: [{ |
||||
|
path: '/reportManagement', |
||||
|
key: 'reportManagement', |
||||
|
component: ReportManagement, |
||||
|
breadcrumb: '报表管理', |
||||
|
}] |
||||
|
}, { |
||||
|
path: '/maintenancePlan', |
||||
|
key: 'maintenancePlan', |
||||
|
breadcrumb: '维护计划', |
||||
|
childRoutes: [{ |
||||
|
path: '/cyclePlan', |
||||
|
key: 'cyclePlan', |
||||
|
component: CyclePlan, |
||||
|
breadcrumb: '周期计划', |
||||
|
}, { |
||||
|
path: '/temporaryResponse', |
||||
|
key: 'temporaryResponse', |
||||
|
component: TemporaryResponse, |
||||
|
breadcrumb: '临时响应', |
||||
|
},] |
||||
|
}, { |
||||
|
path: '/carrierPigeon', |
||||
|
key: 'carrierPigeon', |
||||
|
breadcrumb: '信鸽服务', |
||||
|
childRoutes: [{ |
||||
|
path: '/emPush', |
||||
|
key: 'emPush', |
||||
|
component: EmPush, |
||||
|
breadcrumb: 'EM推送', |
||||
|
}, { |
||||
|
path: '/appPush', |
||||
|
key: 'appPush', |
||||
|
component: AppPush, |
||||
|
breadcrumb: '应用推送', |
||||
|
},] |
||||
|
}, { |
||||
|
path: '/preventiveMaintenance', |
||||
|
key: 'preventiveMaintenance', |
||||
|
breadcrumb: '预防性维保', |
||||
|
childRoutes: [{ |
||||
|
path: '/maintenanceModel', |
||||
|
key: 'maintenanceModel', |
||||
|
component: MaintenanceModel, |
||||
|
breadcrumb: '维保模型', |
||||
|
}] |
||||
|
}, { |
||||
|
path: '/serviceRecord', |
||||
|
key: 'serviceRecord', |
||||
|
breadcrumb: '服务记录', |
||||
|
childRoutes: [{ |
||||
|
path: '/serviceRecord1', |
||||
|
key: 'serviceRecord1', |
||||
|
component: ServiceRecord, |
||||
|
breadcrumb: '服务记录', |
||||
|
}] |
||||
|
}] |
||||
|
} |
||||
|
}]; |
@ -0,0 +1,7 @@ |
|||||
|
#example { |
||||
|
box-shadow: 3px 3px 2px black; |
||||
|
} |
||||
|
|
||||
|
#example:hover { |
||||
|
color: yellowgreen; |
||||
|
} |
@ -0,0 +1,2 @@ |
|||||
|
'use strict'; |
||||
|
|
@ -0,0 +1,34 @@ |
|||||
|
import React, { useEffect } from 'react'; |
||||
|
import { connect } from 'react-redux'; |
||||
|
|
||||
|
|
||||
|
|
||||
|
const Server = (props) => { |
||||
|
const { dispatch, actions, user, loading, socket } = props |
||||
|
|
||||
|
useEffect(() => { |
||||
|
|
||||
|
}, []) |
||||
|
|
||||
|
|
||||
|
return ( |
||||
|
<> |
||||
|
<div> |
||||
|
<img src="/assets/images/install/watting.png" alt="" style={{ width: 'calc(100% + 16px)', position: "relative", top: -12, left: -8, }} /> |
||||
|
</div> |
||||
|
</> |
||||
|
) |
||||
|
} |
||||
|
|
||||
|
function mapStateToProps (state) { |
||||
|
const { auth, global, members, webSocket } = state; |
||||
|
return { |
||||
|
// loading: members.isRequesting, |
||||
|
// user: auth.user, |
||||
|
// actions: global.actions, |
||||
|
// members: members.data, |
||||
|
// socket: webSocket.socket |
||||
|
}; |
||||
|
} |
||||
|
|
||||
|
export default connect(mapStateToProps)(Server); |
@ -0,0 +1,8 @@ |
|||||
|
'use strict'; |
||||
|
|
||||
|
import JobOrder from './jobOrder'; |
||||
|
import StayDoWorkOrder from './stayDoWorkOrder'; |
||||
|
import Initiated from './initiated'; |
||||
|
import Receipt from './receipt'; |
||||
|
import AboutMe from './aboutMe'; |
||||
|
export { JobOrder, StayDoWorkOrder, Initiated, Receipt, AboutMe}; |
@ -0,0 +1,34 @@ |
|||||
|
import React, { useEffect } from 'react'; |
||||
|
import { connect } from 'react-redux'; |
||||
|
|
||||
|
|
||||
|
|
||||
|
const Rest = (props) => { |
||||
|
const { dispatch, actions, user, loading, socket } = props |
||||
|
|
||||
|
useEffect(() => { |
||||
|
|
||||
|
}, []) |
||||
|
|
||||
|
|
||||
|
return ( |
||||
|
<> |
||||
|
<div> |
||||
|
<img src="/assets/images/install/watting.png" alt="" style={{ width: 'calc(100% + 16px)', position: "relative", top: -12, left: -8, }} /> |
||||
|
</div> |
||||
|
</> |
||||
|
) |
||||
|
} |
||||
|
|
||||
|
function mapStateToProps (state) { |
||||
|
const { auth, global, members, webSocket } = state; |
||||
|
return { |
||||
|
// loading: members.isRequesting, |
||||
|
// user: auth.user, |
||||
|
// actions: global.actions, |
||||
|
// members: members.data, |
||||
|
// socket: webSocket.socket |
||||
|
}; |
||||
|
} |
||||
|
|
||||
|
export default connect(mapStateToProps)(Rest); |
@ -0,0 +1,34 @@ |
|||||
|
import React, { useEffect } from 'react'; |
||||
|
import { connect } from 'react-redux'; |
||||
|
|
||||
|
|
||||
|
|
||||
|
const Rest = (props) => { |
||||
|
const { dispatch, actions, user, loading, socket } = props |
||||
|
|
||||
|
useEffect(() => { |
||||
|
|
||||
|
}, []) |
||||
|
|
||||
|
|
||||
|
return ( |
||||
|
<> |
||||
|
<div> |
||||
|
<img src="/assets/images/install/watting.png" alt="" style={{ width: 'calc(100% + 16px)', position: "relative", top: -12, left: -8, }} /> |
||||
|
</div> |
||||
|
</> |
||||
|
) |
||||
|
} |
||||
|
|
||||
|
function mapStateToProps (state) { |
||||
|
const { auth, global, members, webSocket } = state; |
||||
|
return { |
||||
|
// loading: members.isRequesting, |
||||
|
// user: auth.user, |
||||
|
// actions: global.actions, |
||||
|
// members: members.data, |
||||
|
// socket: webSocket.socket |
||||
|
}; |
||||
|
} |
||||
|
|
||||
|
export default connect(mapStateToProps)(Rest); |
@ -0,0 +1,34 @@ |
|||||
|
import React, { useEffect } from 'react'; |
||||
|
import { connect } from 'react-redux'; |
||||
|
|
||||
|
|
||||
|
|
||||
|
const SetControl = (props) => { |
||||
|
const { dispatch, actions, user, loading, socket } = props |
||||
|
|
||||
|
useEffect(() => { |
||||
|
|
||||
|
}, []) |
||||
|
|
||||
|
|
||||
|
return ( |
||||
|
<> |
||||
|
<div> |
||||
|
<img src="/assets/images/install/watting.png" alt="" style={{ width: 'calc(100% + 16px)', position: "relative", top: -12, left: -8, }} /> |
||||
|
</div> |
||||
|
</> |
||||
|
) |
||||
|
} |
||||
|
|
||||
|
function mapStateToProps (state) { |
||||
|
const { auth, global, members, webSocket } = state; |
||||
|
return { |
||||
|
// loading: members.isRequesting, |
||||
|
// user: auth.user, |
||||
|
// actions: global.actions, |
||||
|
// members: members.data, |
||||
|
// socket: webSocket.socket |
||||
|
}; |
||||
|
} |
||||
|
|
||||
|
export default connect(mapStateToProps)(SetControl); |
@ -0,0 +1,34 @@ |
|||||
|
import React, { useEffect } from 'react'; |
||||
|
import { connect } from 'react-redux'; |
||||
|
|
||||
|
|
||||
|
|
||||
|
const Rest = (props) => { |
||||
|
const { dispatch, actions, user, loading, socket } = props |
||||
|
|
||||
|
useEffect(() => { |
||||
|
|
||||
|
}, []) |
||||
|
|
||||
|
|
||||
|
return ( |
||||
|
<> |
||||
|
<div> |
||||
|
<img src="/assets/images/install/watting.png" alt="" style={{ width: 'calc(100% + 16px)', position: "relative", top: -12, left: -8, }} /> |
||||
|
</div> |
||||
|
</> |
||||
|
) |
||||
|
} |
||||
|
|
||||
|
function mapStateToProps (state) { |
||||
|
const { auth, global, members, webSocket } = state; |
||||
|
return { |
||||
|
// loading: members.isRequesting, |
||||
|
// user: auth.user, |
||||
|
// actions: global.actions, |
||||
|
// members: members.data, |
||||
|
// socket: webSocket.socket |
||||
|
}; |
||||
|
} |
||||
|
|
||||
|
export default connect(mapStateToProps)(Rest); |
@ -0,0 +1,15 @@ |
|||||
|
'use strict'; |
||||
|
|
||||
|
import reducers from './reducers'; |
||||
|
import routes from './routes'; |
||||
|
import actions from './actions'; |
||||
|
import { getNavItem } from './nav-item'; |
||||
|
|
||||
|
export default { |
||||
|
key: 'workOrder', |
||||
|
name: '工单', |
||||
|
reducers: reducers, |
||||
|
routes: routes, |
||||
|
actions: actions, |
||||
|
getNavItem: getNavItem |
||||
|
}; |
@ -0,0 +1,36 @@ |
|||||
|
import React from 'react'; |
||||
|
import { IconCode } from '@douyinfe/semi-icons'; |
||||
|
|
||||
|
export function getNavItem (user, dispatch) { |
||||
|
return ( |
||||
|
[ |
||||
|
{ |
||||
|
itemKey: 'workOrder', |
||||
|
text: '工单', |
||||
|
icon: <IconCode />, |
||||
|
items: [ |
||||
|
{ |
||||
|
itemKey: 'jobOrder', |
||||
|
text: '创建工单', |
||||
|
icon: <iconpark-icon style={{ width: 20, height: 20 }} name="iconjianshezhong"></iconpark-icon>, |
||||
|
to: '/workOrder/jobOrder', |
||||
|
}, { |
||||
|
itemKey: 'workOrderList', |
||||
|
text: '工单列表', |
||||
|
icon: <iconpark-icon style={{ width: 20, height: 20 }} name="iconjianshezhong"></iconpark-icon>, |
||||
|
to: '/workOrder/workOrderList/stayDoWorkOrder', |
||||
|
items: [{ |
||||
|
itemKey: 'stayDoWorkOrder', to: '/workOrder/workOrderList/stayDoWorkOrder', text: '代办工单' |
||||
|
},{ |
||||
|
itemKey: 'initiated', to: '/workOrder/workOrderList/initiated', text: '我发起的' |
||||
|
},{ |
||||
|
itemKey: 'receipt', to: '/workOrder/workOrderList/receipt', text: '工单回执' |
||||
|
},{ |
||||
|
itemKey: 'aboutMe', to: '/workOrder/workOrderList/aboutMe', text: '与我有关的' |
||||
|
}] |
||||
|
} |
||||
|
] |
||||
|
}, |
||||
|
] |
||||
|
); |
||||
|
} |
@ -0,0 +1,5 @@ |
|||||
|
'use strict'; |
||||
|
|
||||
|
export default { |
||||
|
|
||||
|
} |
@ -0,0 +1,42 @@ |
|||||
|
import { JobOrder, StayDoWorkOrder, Initiated, Receipt, AboutMe } from './containers'; |
||||
|
|
||||
|
export default [{ |
||||
|
type: 'inner', |
||||
|
route: { |
||||
|
path: '/workOrder', |
||||
|
key: 'workOrder', |
||||
|
breadcrumb: '工单', |
||||
|
// 不设置 component 则面包屑禁止跳转
|
||||
|
childRoutes: [{ |
||||
|
path: '/jobOrder', |
||||
|
key: 'jobOrder', |
||||
|
breadcrumb: '创建工单', |
||||
|
component: JobOrder, |
||||
|
}, { |
||||
|
path: '/workOrderList', |
||||
|
key: 'workOrderList', |
||||
|
breadcrumb: '工单列表', |
||||
|
childRoutes: [{ |
||||
|
path: '/stayDoWorkOrder', |
||||
|
key: 'stayDoWorkOrder', |
||||
|
component: StayDoWorkOrder, |
||||
|
breadcrumb: '代办工单', |
||||
|
}, { |
||||
|
path: '/initiated', |
||||
|
key: 'initiated', |
||||
|
component: Initiated, |
||||
|
breadcrumb: '我发起的', |
||||
|
}, { |
||||
|
path: '/receipt', |
||||
|
key: 'receipt', |
||||
|
component: Receipt, |
||||
|
breadcrumb: '工单回执', |
||||
|
}, { |
||||
|
path: '/aboutMe', |
||||
|
key: 'aboutMe', |
||||
|
component: AboutMe, |
||||
|
breadcrumb: '与我有关的', |
||||
|
},] |
||||
|
}] |
||||
|
} |
||||
|
}]; |
@ -0,0 +1,7 @@ |
|||||
|
#example { |
||||
|
box-shadow: 3px 3px 2px black; |
||||
|
} |
||||
|
|
||||
|
#example:hover { |
||||
|
color: yellowgreen; |
||||
|
} |
Loading…
Reference in new issue