Commit b8d40a4e authored by xinglei's avatar xinglei

更改首页值班

parent a55ed23b
......@@ -146,8 +146,8 @@ export const FscSerUrl = {
bottomTableDataUrl: completePrefix(baseURI, 'bank/inspection/bottomTable'),
//值班信息模块
middleHeaderDataUrl: completePrefix(baseURI, 'duty/middleHeader'),
middleTableListUrl: completePrefix(baseURI, 'duty/middleTableList?pageNumber={page}&pageSize={size}'),
middleHeaderDataUrl: completePrefix(baseURI, 'duty/middleHeader?orgCode={orgCode}'),
middleTableListUrl: completePrefix(baseURI, 'duty/middleTableList?orgCode={orgCode}'),
middleHeaderAction1:completePrefix(baseURI, 'bank/inspection/patrolPlanList?start={start}&end={end}&deptId={depId}&deptName={deptName}'),
getporintAction:completePrefix(baseURI, 'bank/inspection/getporint?pointid={pointid}'),
......
......@@ -2,7 +2,7 @@ import formatUrl from 'amos-processor/lib/utils/urlFormat';
import * as helper from 'base-r3d/lib/utils/helper';
// import { helper } from 'amos-3d/lib/threeTools';
import { FscSerUrl, FasSerUrl } from './../consts/urlConsts';
import { commonGet, commonPost, singleFetch } from './../utils/request';
import { commonGet, commonPost, singleFetch, getOrgCode} from './../utils/request';
import { baseURI } from 'amos-processor/lib/config/endconf';
//---------------- 加载模型、解析模型json -----------
......@@ -273,15 +273,17 @@ export const rightTopChartAction = (companyId) => {
* 查询主页一级值班信息
* @param {*} id
*/
export const middleTabletAction = ( page, size ) => {
return commonGet(formatUrl(FscSerUrl.middleTableListUrl,{ page, size }));
export const middleTabletAction = () => {
let orgCode = getOrgCode();
return commonGet(formatUrl(FscSerUrl.middleTableListUrl, { orgCode }));
};
/**
* 查询主页二级值班信息
* @param {*} id
*/
export const middleHeaderAction = ( page, size ) => {
return commonGet(formatUrl(FscSerUrl.middleHeaderDataUrl));
export const middleHeaderAction = () => {
let orgCode = getOrgCode();
return commonGet(formatUrl(FscSerUrl.middleHeaderDataUrl, { orgCode }));
};
/**
* 查询主页支付累计数据
......
......@@ -7,6 +7,7 @@ import sysConsts from 'amos-processor/lib/config';
import payload from './payload';
const lsTool = Store.lsTool;
const orgCode = 'orgCode';
const defaultPageable = {
page: 0,
......@@ -20,8 +21,8 @@ const defaultHeaders = {
/**
* 删除全局变量requests中的地址
* @param {*} url
* @param {*} method
* @param {*} url
* @param {*} method
*/
const delRequest = (url, method) => {
if (window.requests && window.requests.length > 0) {
......@@ -60,7 +61,7 @@ const getWithCookie = (url) => {
const commonGet = (url) => {
window.setLoading && window.setLoading(true);
return amosRequest(url, {
return amosRequest(url, {
timeout: 10000000 , method: 'GET',
headers: compleHeaders(),
reject(error){
......@@ -140,4 +141,12 @@ export function setUserId(userId){
return lsTool.write(sysConsts.userId, userId);
}
export function setOrgCode(orgCode){
return lsTool.write(orgCode, orgCode);
}
export function getOrgCode(){
return lsTool.read(orgCode);
}
export { amosRequest, commonGet, getWithCookie, singleFetch, commonPost, commonPut, commonDelete, convertDatalist, buildPageable, formatUrl };
......@@ -11,6 +11,9 @@ const AmosConfig = endConf.AmosConfig;
const imgs = {"二线技术":"/src/assets/indexChart/work.png",
"二线业务":"/src/assets/indexChart/service.png"}
const time = {'早班': '08:30-20:30',
'晚班': '20:30-次日08:30'}
@eventConnect
class MiddleTable extends Component {
constructor(props) {
......@@ -22,9 +25,7 @@ class MiddleTable extends Component {
this.state = {
headerData: {},
dataList: [],
total: 0,//总页数
time: ['08:30-20:30','20:30-次日08:30'],
selectTime: '08:30-20:30',
arrangeName: null
};
}
......@@ -41,40 +42,13 @@ class MiddleTable extends Component {
}
refreshDataList = () => {
middleTabletAction(this.pageConfig.current,this.pageConfig.pageSize).then(data => {
this.setState({ dataList: data.content, total:data.total })
middleTabletAction().then(data => {
this.setState({ dataList: data.content, arrangeName:data.arrangeName });
});
}
leftClick = () => {
if( this.pageConfig.current != 1 ){
this.pageConfig.current = this.pageConfig.current == 1 ? 1 : this.pageConfig.current - 1;
this.refreshDataList();
this.changeTime();
}
}
rightClick = () => {
const { total } = this.state;
let maxNum = Math.ceil( total/this.pageConfig.pageSize );
if( this.pageConfig.current < maxNum){
this.pageConfig.current = this.pageConfig.current + 1;
this.refreshDataList();
this.changeTime();
}
}
changeTime = () => {
const { selectTime, time } = this.state;
let newTime = time.filter( e => {
return e!=selectTime
})
this.setState({ selectTime:newTime[0] })
}
render() {
const { headerData, dataList, time, selectTime } = this.state;
const { headerData, dataList, arrangeName, selectTime } = this.state;
let leader = (headerData.leader && headerData.leader[0]) || {};
let secondTier = headerData.secondTier || [];
return (
......@@ -117,11 +91,11 @@ class MiddleTable extends Component {
<Row className='table-body-cotent firstPeople'>
<Col className=''>
<Row className='table-header-row title'>
<Col className='leftBtn' span={1}><img className='table-page-img' src="/src/assets/3dview/left.png" onClick={ () => this.leftClick() }/></Col>
{/* <Col className='leftBtn' span={1}><img className='table-page-img' src="/src/assets/3dview/left.png" onClick={ () => this.leftClick() }/></Col> */}
<Col span={7}>岗位</Col>
<Col span={8}>{ selectTime }</Col>
<Col span={8}>{time[arrangeName]}</Col>
<Col span={7}>电话</Col>
<Col className='rightBtn' span={1}><img className='table-page-img' src="/src/assets/3dview/right.png" onClick={ () => this.rightClick() }/></Col>
{/* <Col className='rightBtn' span={1}><img className='table-page-img' src="/src/assets/3dview/right.png" onClick={ () => this.rightClick() }/></Col> */}
</Row>
{ dataList && dataList.map((d,index) => {
return (
......
......@@ -7,7 +7,7 @@ import PilotController from 'amos-viz/lib/board/PilotController';
import SysWsURL, { completeToken } from 'CONSTS/wsUrlConsts';
// import AmosGridTable from './../../../bizview/common/tableComponent/table/AmosGridTable';
import { Table } from 'amos-antd';
import { BarCharts,LineCharts } from 'amos-core';
import { BarCharts, LineCharts } from 'amos-core';
// import { setPieOption,setLineOption } from './chartData';
import ReactEcharts from 'amos-viz/lib/echarts';
import moment from 'moment';
......@@ -15,7 +15,8 @@ import { List } from 'amos-framework';
// import Three3dView from './View3D';
// import { eventTopics } from './consts';
// import IndexChart from './indexChart';
import { middleHeaderAction1 ,getporintAction} from '../../../../../services/3dService';
import { middleHeaderAction1, getporintAction } from '../../../../../services/3dService';
import { OverFlowText, Tooltip, Pagination } from 'amos-framework';
const chartStyle = {
width: '100%', height: '100%'
};
......@@ -25,28 +26,23 @@ const AmosConfig = endConf.AmosConfig;
const enableScreenSaver = AmosConfig.screenSaverConf.enable;
const delayTime = AmosConfig.screenSaverConf.delayTime;
//const totalDatas = [1,2,3,4,5,6];
import { OverFlowText,Tooltip,Pagination } from 'amos-framework';
@eventConnect
class PatrolDetail extends Component {
constructor(props) {
debugger
super(props);
this.state = {
pageData: [],
total: 0,//总页数
currentPage:1,
dataList1:[],
currentPage: 1,
dataList1: [],
};
}
calcPageData = (page,dataList) => {
debugger
if(dataList){
calcPageData = (page, dataList) => {
if (dataList) {
const [currentPage, pageSize] = page.split('&'); // 当前页、每页大小
const cp = currentPage.split('=')[1];
const size = pageSize.split('=')[1];
......@@ -54,13 +50,13 @@ class PatrolDetail extends Component {
// const {dataList1} = this.state;
const start = (parseInt(cp) - 1) * parseInt(size);
const end = start + parseInt(size);
this.setState({ currentPage: cp});
this.setState({ currentPage: cp });
// const { dataList } = this.props;
// this.setState({ dataList1:dataList});
middleHeaderAction1(start,size,dataList[1],dataList[0]).then(data => {
if(data!=null){
this.setState({ pageData: data.date, total: data.num})
middleHeaderAction1(start, size, dataList[1], dataList[0]).then(data => {
if (data != null) {
this.setState({ pageData: data.date, total: data.num })
}
});
}
......@@ -68,24 +64,24 @@ class PatrolDetail extends Component {
handlePageChange = (page) => {
const { dataList } = this.props;
this.calcPageData(page,dataList);
this.calcPageData(page, dataList);
}
componentDidMount() {
const { dataList } = this.props;
this.calcPageData('currentPage=1&pageSize=5',dataList);
this.calcPageData('currentPage=1&pageSize=5', dataList);
}
componentWillReceiveProps(nextProps){
componentWillReceiveProps(nextProps) {
const { dataList } = nextProps;
this.calcPageData('currentPage=1&pageSize=5',dataList);
this.calcPageData('currentPage=1&pageSize=5', dataList);
}
getOptions = (data) => {
let seriesData = [
{ value: data.passNum || 0, name:'正常' },
{ value: data.nopassNum || 0, name:'异常' },
{ value: data.overTime || 0, name:'漏检'}
{ value: data.passNum || 0, name: '正常' },
{ value: data.nopassNum || 0, name: '异常' },
{ value: data.overTime || 0, name: '漏检' }
];
return {
// title : {
......@@ -97,31 +93,31 @@ class PatrolDetail extends Component {
// }
// },
tooltip: {
trigger: 'item',
formatter: "{b}: {c} ({d}%)"
trigger: 'item',
formatter: "{b}: {c} ({d}%)"
},
color:['#58f2f4','#ff8000','#ff0000'],
color: ['#58f2f4', '#ff8000', '#ff0000'],
series: [
{
name:'检查点',
type:'pie',
center:['50%','50%'],//饼图位置
name: '检查点',
type: 'pie',
center: ['50%', '50%'],//饼图位置
radius: ['50%', '70%'],//外半径,内半径
avoidLabelOverlap: false,
label: {
normal: {
show: true,
position: 'center',
formatter: function(param) {
formatter: function (param) {
let total = 0;
seriesData.forEach(e => {
total += e.value;
})
var view = total + '\r\n总数';
var view = total + '\r\n总数';
return view;
},
textStyle: {
textStyle: {
fontSize: 14,
color: '#FFF'
},
......@@ -132,30 +128,21 @@ class PatrolDetail extends Component {
show: false
}
},
data:seriesData
data: seriesData
}
]
};
}
go3xq = (id,name,coordinates,floor) => {
debugger
getporintAction(id).then(data => {
if(data!=null){
this.props.markerOnClick1(data.cstype,1,id,name,coordinates,floor,data.pointtype);
}
});
}
go3xq = (id, name, coordinates, floor) => {
getporintAction(id).then(data => {
if (data != null) {
this.props.markerOnClick1(data.cstype, 1, id, name, coordinates, floor, data.pointtype);
}
});
}
getDate = () => {
let currentDate = new Date();
......@@ -166,9 +153,7 @@ go3xq = (id,name,coordinates,floor) => {
}
render() {
const { total ,pageData,currentPage} = this.state;
const { total, pageData, currentPage } = this.state;
return (
<div className="patrolDetailContent chart-content">
<div className='tieleBox'>
......@@ -179,57 +164,57 @@ go3xq = (id,name,coordinates,floor) => {
<span className='titleRight' onClick={this.props.closePatrol}>X</span>
</div>
</div>
<div className='contentBox'>
<div className='contentBox'>
<div className='business patrolItem'>
<div className='list09'>
{ pageData.map(item => {
return (
<div className="list1">
<div className="list2">
<div className="list3">
<OverFlowText><p style={{ width: '90%' }}> {item.userId}</p></OverFlowText>
{pageData.map(item => {
return (
<div className="list1">
<div className="list2">
<div className="list3">
<OverFlowText><p style={{ width: '90%' }}> {item.userId}</p></OverFlowText>
</div>
<div className="list5">
<OverFlowText><p style={{ width: '90%' }}>{item.planName}</p></OverFlowText>
</div>
<div className="list3">{item.deptName}</div>
</div>
<div className="list4"> 未开始:{item.noStartNum}&#12288; 异常:{item.noPassNum} &#12288;正常:{item.passNum} &#12288;漏点:{item.overTimeNum}</div>
<div className='clearfloat' >
{item.pointReturn.map(f => {
if (f.isFinish === '0') {
return (
<Tooltip className="item" title={f.name} direction="up" align="middle">
<div onClick={() => { this.go3xq(f.id, f.name, f.coordinates, f.floor) }} style={{ width: '17px', height: '17px', border: '1px solid #fff', margin: '3px', float: 'left', background: '#CCCCCC' }} ></div>
</Tooltip>
);
} else if (f.isFinish === '1') {
return (
<Tooltip className="item" title={f.name} direction="up" align="middle">
<div onClick={() => { this.go3xq(f.id, f.name, f.coordinates, f.floor) }} style={{ width: '17px', height: '17px', border: '1px solid #fff', margin: '3px', float: 'left', background: '#00FF00' }} ></div>
</Tooltip>
);
} else if (f.isFinish === '2') {
return (
<Tooltip className="item" title={f.name} direction="up" align="middle">
<div onClick={() => { this.go3xq(f.id, f.name, f.coordinates, f.floor) }} style={{ width: '17px', height: '17px', border: '1px solid #fff', margin: '3px', float: 'left', background: '#FFFF33' }} ></div>
</Tooltip>
);
} else {
return <Tooltip className="item" title={f.name} direction="up" align="middle">
<div onClick={() => { this.go3xq(f.id, f.name, f.coordinates, f.floor) }} style={{ width: '17px', height: '17px', border: '1px solid #fff', margin: '3px', float: 'left', background: '#FF0000' }} ></div>
</Tooltip>
}
})
}
</div>
</div>
<div className="list5">
<OverFlowText><p style={{ width: '90%' }}>{item.planName}</p></OverFlowText>
</div>
<div className="list3">{item.deptName}</div>
</div>
<div className="list4"> 未开始:{item.noStartNum}&#12288; 异常:{item.noPassNum} &#12288;正常:{item.passNum} &#12288;漏点:{item.overTimeNum}</div>
<div className='clearfloat' >
{item.pointReturn.map(f => {
if (f.isFinish==='0'){
return (
<Tooltip className="item" title={ f.name } direction="up" align="middle">
<div onClick={ () => {this.go3xq(f.id,f.name,f.coordinates,f.floor)} } style={{ width: '17px' ,height: '17px' ,border: '1px solid #fff',margin:'3px' ,float:'left',background:'#CCCCCC' }} ></div>
</Tooltip>
);
} else if(f.isFinish==='1'){
return (
<Tooltip className="item" title={ f.name } direction="up" align="middle">
<div onClick={ () => {this.go3xq(f.id,f.name,f.coordinates,f.floor)} } style={{ width: '17px' ,height: '17px' ,border: '1px solid #fff',margin:'3px' ,float:'left',background:'#00FF00' }} ></div>
</Tooltip>
);
} else if(f.isFinish==='2'){
return (
<Tooltip className="item" title={ f.name } direction="up" align="middle">
<div onClick={ () => {this.go3xq(f.id,f.name,f.coordinates,f.floor)} } style={{ width: '17px' ,height: '17px' ,border: '1px solid #fff',margin:'3px' ,float:'left',background:'#FFFF33' }} ></div>
</Tooltip>
);
} else{
return <Tooltip className="item" title={ f.name } direction="up" align="middle">
<div onClick={ () => {this.go3xq(f.id,f.name,f.coordinates,f.floor)} } style={{ width: '17px' ,height: '17px' ,border: '1px solid #fff',margin:'3px' ,float:'left',background:'#FF0000' }} ></div>
</Tooltip>
}
})
}
</div>
</div>
);
})
}
}
</div>
<div className='pagination' style={{marginTop:'15px',marginLeft:'20px'}} >
<Pagination
<div className='pagination' style={{ marginTop: '15px', marginLeft: '20px' }} >
<Pagination
currentPage={1}
totalPageNum={total}
pageSize={5}
......@@ -238,10 +223,10 @@ go3xq = (id,name,coordinates,floor) => {
hideSizeChanger={true}
hideAssistant={true}
onChange={this.handlePageChange}
/>
</div>
/>
</div>
</div>
</div>
</div>
</div>
);
}
......
......@@ -29,6 +29,7 @@ import { calcCoorArrUtil } from 'UTILS/CalcCoorArrUtil';
import { insertDistrict } from './common/mapUtils';
import { getDictionaryList } from './../../../services/securityService';
import { fetchJsonAction } from './../../../services/3dService';
import { setOrgCode } from './../../../utils/request';
import TwinkleDiv from './map/TwinkleDiv';
import mqtt from 'mqtt';
const AmosConfig = endConf.AmosConfig;
......@@ -205,7 +206,7 @@ class IndexMap extends Component {
currentCard: 1
});
lsTool.write('orgCode', orgCode);
setOrgCode(orgCode);
};
/**
......
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