巴林闲侠
2 years ago
47 changed files with 1062 additions and 74 deletions
@ -1,6 +1,6 @@ |
|||
'use strict'; |
|||
|
|||
import SetControl from './setControl'; |
|||
import Server from './server'; |
|||
import Rest from './rest'; |
|||
export { SetControl,Server,Rest}; |
|||
import Other from './other'; |
|||
import Monitor from './monitor'; |
|||
import MaintenanceRecords from './maintenanceRecords'; |
|||
export { MaintenanceRecords,Monitor,Other}; |
@ -1,41 +1,46 @@ |
|||
import { DataQuery, DataComparison, DataAssociation,Notebook } from './containers'; |
|||
import { MaintenanceRecords, Monitor, Other } from './containers'; |
|||
|
|||
export default [{ |
|||
type: 'inner', |
|||
route: { |
|||
path: '/data', |
|||
key: 'data', |
|||
breadcrumb: '数据', |
|||
path: '/facility', |
|||
key: 'facility', |
|||
breadcrumb: '设备', |
|||
// 不设置 component 则面包屑禁止跳转
|
|||
childRoutes: [{ |
|||
path: '/dataMonitoring', |
|||
key: 'dataMonitoring', |
|||
breadcrumb: '数据监控', |
|||
path: '/deviceQuery', |
|||
key: 'deviceQuery', |
|||
breadcrumb: '设备查询', |
|||
childRoutes: [{ |
|||
path: '/dataQuery', |
|||
key: 'dataQuery', |
|||
component: DataQuery, |
|||
breadcrumb: '数据查询', |
|||
path: '/maintenanceRecords1', |
|||
key: 'maintenanceRecords1', |
|||
component: MaintenanceRecords, |
|||
breadcrumb: '维护记录', |
|||
}] |
|||
}, { |
|||
path: '/dataAnalysis', |
|||
key: 'dataAnalysis', |
|||
breadcrumb: '数据分析', |
|||
path: '/serverInformation', |
|||
key: 'serverInformation', |
|||
breadcrumb: '服务器信息', |
|||
childRoutes: [{ |
|||
path: '/dataComparison', |
|||
key: 'dataComparison', |
|||
component: DataComparison, |
|||
breadcrumb: '数据对比', |
|||
},{ |
|||
path: '/dataAssociation', |
|||
key: 'dataAssociation', |
|||
component: DataAssociation, |
|||
breadcrumb: '数据关联', |
|||
},{ |
|||
path: '/notebook', |
|||
key: 'notebook', |
|||
component: Notebook, |
|||
breadcrumb: 'notebook', |
|||
path: '/monitor', |
|||
key: 'monitor', |
|||
component: Monitor, |
|||
breadcrumb: '运维监控', |
|||
}, { |
|||
path: '/maintenanceRecords', |
|||
key: 'maintenanceRecords', |
|||
component: MaintenanceRecords, |
|||
breadcrumb: '维护记录', |
|||
},] |
|||
}, { |
|||
path: '/other', |
|||
key: 'other', |
|||
breadcrumb: '其他', |
|||
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