Commit e8c3d503 authored by baixian's avatar baixian

地图选点以及排课

parents 4feeb229 406e9de2
......@@ -35,11 +35,11 @@
"lodash": "^4.17.5",
"mockjs": "^1.0.1-beta3",
"path-to-regexp": "^2.1.0",
"qqmap": "^1.0.1",
"qrcode.react": "^0.8.0",
"qs": "^6.5.1",
"react": "^16.2.0",
"react-dom": "^16.2.0",
"react-slick": "^0.25.2",
"video-react": "^0.14.1",
"xlsx": "^0.15.0"
},
......
......@@ -78,19 +78,6 @@ export default {
path: '/sjd/institutions',
relativePath: ['/sjd/institutions', '/sjd/schooledit'],
},
{
id: '10',
name: '地图',
isFather: false,
style: {
width: '20px',
height: '20px',
},
activeurl: `${__IMGCDN__}menu/orgmgtactive.png`,
notactiveurl: `${__IMGCDN__}menu/orgmgt.png`,
path: '/sjd/newmap/index',
relativePath: ['/sjd/newmap/index'],
},
{
id: '2',
name: '小程序管理',
......
......@@ -635,7 +635,7 @@ class CallStudentsForm extends React.Component {
</Col>
</Row>
<Row gutter={16} className={pageStyle.detailrow} type="flex" align="middle" style={{ marginBottom: '12px' }}>
<Col xs={{ span: 24 }} sm={{ span: 12 }} md={{ span: 12 }} lg={{ span: 6 }} style={{ marginBottom: '20px' }}>
<Col xs={{ span: 24 }} sm={{ span: 12 }} md={{ span: 12 }} lg={{ span: 6 }}>
<span className={pageStyle.detailtitle}>上课时间:</span>
<span className={pageStyle.detaildesc}>{callStudentSchedule.start_date_format}-{callStudentSchedule.end_date_format}</span>
</Col>
......
......@@ -29,12 +29,13 @@ class ImagePreview extends React.Component {
render() {
const { currentIndex, urls } = this.props;
return (
<div className={componentStyle.ImagePreviewBox}>
<div className={`${componentStyle.ImagePreviewBox} ImagePreviewBox`}>
<div className={componentStyle.mask} />
<Icon type="close-circle" className={componentStyle.closeIcon} onClick={this.closeImgPreview} />
<Carousel
className={componentStyle.Carousel}
ref={this.ref}
draggable
>
{urls.map((ele) => {
return (
......
......@@ -49,4 +49,14 @@
font-size: 30px;
cursor: pointer;
}
}
:global {
.ImagePreviewBox {
.slick-next:before, .slick-prev:before {
font-size: 34px;
line-height: 1;
opacity: .75;
color: #fff;
}
}
}
\ No newline at end of file
......@@ -1333,19 +1333,21 @@ export default {
},
});
tempScoreArr.forEach((ele) => {
totalScore += Number(ele.score);
});
const averageScore = totalScore / 4;
const leftScore = averageScore % 1;
let myScore = 0;
if (leftScore <= 0.5 && leftScore > 0) {
myScore = Math.floor(averageScore) + 0.5;
} else if (leftScore > 0.5) {
myScore = Math.ceil(averageScore);
} else {
myScore = averageScore;
}
singleCommentParams.common.score = myScore;
totalScore += Number(ele.score) * 10;
});
const averageScore = totalScore / 2 / 10;
// const leftScore = averageScore % 1;
// let myScore = 0;
// if (leftScore <= 0.5 && leftScore > 0) {
// myScore = Math.floor(averageScore) + 0.5;
// } else if (leftScore > 0.5) {
// myScore = Math.ceil(averageScore);
// } else {
// myScore = averageScore;
// }
const match = /^(\d+(\.\d)?)(\d*)$/;
const a = match.test(averageScore);
singleCommentParams.common.score = RegExp.$1 / 2;
yield put({
type: 'updateState',
payload: {
......@@ -1365,19 +1367,13 @@ export default {
},
});
quicktempScoreArr.forEach((ele) => {
totalScore += Number(ele.score);
});
const averageScore = totalScore / 4;
const leftScore = averageScore % 1;
let myScore = 0;
if (leftScore <= 0.5 && leftScore > 0) {
myScore = Math.floor(averageScore) + 0.5;
} else if (leftScore > 0.5) {
myScore = Math.ceil(averageScore);
} else {
myScore = averageScore;
}
quickCommentParams.common.score = myScore;
totalScore += Number(ele.score) * 10;
});
const averageScore = totalScore / 2 / 10;
const match = /^(\d+(\.\d)?)(\d*)$/;
const a = match.test(averageScore);
quickCommentParams.common.score = RegExp.$1 / 2;
// quickCommentParams.common.score = myScore;
yield put({
type: 'updateState',
payload: {
......@@ -1397,19 +1393,12 @@ export default {
},
});
tempScoreArr.forEach((ele) => {
totalScore += Number(ele.score);
});
const averageScore = totalScore / 4;
const leftScore = averageScore % 1;
let myScore = 0;
if (leftScore <= 0.5 && leftScore > 0) {
myScore = Math.floor(averageScore) + 0.5;
} else if (leftScore > 0.5) {
myScore = Math.ceil(averageScore);
} else {
myScore = averageScore;
}
batchCommentParams.common.score = myScore;
totalScore += Number(ele.score) * 10;
});
const averageScore = totalScore / 2 / 10;
const match = /^(\d+(\.\d)?)(\d*)$/;
const a = match.test(averageScore);
batchCommentParams.common.score = RegExp.$1 / 2;
yield put({
type: 'updateState',
payload: {
......
import { routerRedux } from 'dva/router';
import { message } from 'antd';
import { delay } from 'redux-saga';
import {
LocalStorage,
SessionStorage,
......@@ -163,28 +164,6 @@ export default {
},
});
},
* updateAddress({ payload }, { call, put, select }) {
const {
latitude,
longitude,
locationAddress,
province,
city,
district,
} = payload;
console.log(payload, 'payload');
yield put({
type: 'updateState',
payload: {
latitude,
longitude,
locationAddress,
province,
city,
district,
},
});
},
* setschoollocation({ payload }, { call, put, select }) {
const {
longitude, latitude, locationAddress, province, city, district,
......@@ -229,6 +208,8 @@ export default {
tel_phone: JSON.stringify(newmobile),
});
if (schooladd.code == 200) {
message.success('校区信息保存成功', 1);
yield delay(600);
yield put(routerRedux.push({
pathname: '/erp/schoollist',
}));
......@@ -261,6 +242,8 @@ export default {
tel_phone: JSON.stringify(mobile),
});
if (schooladd.code == 200) {
message.success('校区信息更新成功', 1);
yield delay(600);
yield put(routerRedux.goBack());
} else {
yield put({
......@@ -278,13 +261,15 @@ export default {
pathname: '/erp/joinschooladd',
}));
},
* goBackInfo({ payload }, { call, put, select }) {
yield put(routerRedux.goBack());
},
* goSchoolEdit({ payload }, { call, put, select }) {
yield put(routerRedux.push({
pathname: '/sjd/schooledit',
}));
},
},
reducers: {
save(state, action) {
return { ...state, ...action.payload };
......
......@@ -195,6 +195,9 @@ export default {
});
}
if (pathname === '/erp/schooladd') {
dispatch({
type: 'schooladd/pageInit',
});
dispatch({
type: 'schooladd/getcategorys',
});
......
......@@ -17,6 +17,19 @@ class ClockItem extends React.Component {
}
componentWillUnmount() { // 卸载
}
satrRender = (score) => {
const myScore = score;
const a = Math.floor(myScore / 1);
const b = myScore % 1;
let c = 0;
if (b >= 0 && b <= 0.5) {
c = a;
}
if (b >= 0.5 && b < 1) {
c = a + 0.5;
}
return c;
}
render() {
const {
clock,
......@@ -115,7 +128,8 @@ class ClockItem extends React.Component {
<div className={pageStyle.teachercommonassesmentbox}>
<div className={pageStyle.newScoreBox}>
<span className={pageStyle.bigscoretitle}>综合评分</span>
<Rate className={pageStyle.bigscore} allowHalf value={clock.review[1].score / 10} disabled />
{/* <Rate className={pageStyle.bigscore} allowHalf value={clock.review[1].score / 10} disabled /> */}
<Rate className={pageStyle.bigscore} allowHalf value={this.satrRender(clock.review[1].score / 10)} disabled />
<span className={pageStyle.bigscoretitle}>{clock.review[1].score / 5}</span>
</div>
{clock.review[1].method == 1 &&
......
......@@ -26,6 +26,19 @@ class CommentEditorBox extends React.Component {
imageError = (e) => {
e.target.src = 'https://cdn.img.shangjiadao.cn/qingxiao/daka/images/2c/common/videodefault.png';
}
satrRender = (score) => {
const myScore = score;
const a = Math.floor(myScore / 1);
const b = myScore % 1;
let c = 0;
if (b >= 0 && b <= 0.5) {
c = a;
}
if (b >= 0.5 && b < 1) {
c = a + 0.5;
}
return c;
}
render() {
const {
commentParams,
......@@ -89,7 +102,7 @@ class CommentEditorBox extends React.Component {
))}
<div className={pageStyle.newstaritem}>
<div className={pageStyle.newstartitle}>综合评分</div>
<Rate allowClear={false} className={pageStyle.newstarrate} allowHalf onChange={scoreChange} value={commentParams.common.score} /><span style={{ paddingLeft: '10px' }}>{commentParams.common.score * 2}</span>
<Rate allowClear={false} className={pageStyle.newstarrate} allowHalf onChange={scoreChange} value={this.satrRender(commentParams.common.score)} /><span style={{ paddingLeft: '10px' }}>{commentParams.common.score * 2}</span>
</div>
</div>
<div className={pageStyle.textareabox}>
......
......@@ -156,6 +156,7 @@ class DrawImg extends React.Component {
}
doaction = (action) => {
let lastDrawStartIndex = 0;
let currentSelectImgObj = null;
if (action == this.state.action) {
this.setState({
action: 0,
......@@ -205,6 +206,23 @@ class DrawImg extends React.Component {
// lastDrawStartIndex = this.drawTrail.findLastIndex(ele => ele.isStart == true);
break;
case 7:
// this.setState({
// action,
// });
this.drawTrail = [];
this.drawcontext.clearRect(0, 0, this.state.canvasSizeObj.width, this.state.canvasSizeObj.height);
this.drawrectcontext.clearRect(0, 0, this.state.canvasSizeObj.width, this.state.canvasSizeObj.height);
this.drawcirclecontext.clearRect(0, 0, this.state.canvasSizeObj.width, this.state.canvasSizeObj.height);
this.drawarrowcontext.clearRect(0, 0, this.state.canvasSizeObj.width, this.state.canvasSizeObj.height);
currentSelectImgObj = this.state.batchCommentImgObj.find(ele => ele.copysrc == this.state.currentDrawImage);
if (currentSelectImgObj.copysrc != currentSelectImgObj.src) {
this.state.batchCommentImgObj.find(ele => ele.copysrc == this.state.currentDrawImage).copysrc = currentSelectImgObj.src;
this.setState({
batchCommentImgObj: this.state.batchCommentImgObj,
currentDrawImage: currentSelectImgObj.src,
});
}
break;
case 8:
default:
break;
......@@ -1322,19 +1340,25 @@ class DrawImg extends React.Component {
</div>
<div className={pageStyle.drawactionname}>撤销</div>
</div>
{/*
<div className={`${pageStyle.drawoperateitem} ${pageStyle.hoverdrawoperateitem}`} onClick={() => this.doaction(7)}>
<div className={`${pageStyle.iconbox} ${action == 7 ? pageStyle.iconboxselected : ''}`}>
<div className={pageStyle.tobig} />
<div className={pageStyle.redo} />
</div>
<div className={pageStyle.drawactionname}>放大</div>
<div className={pageStyle.drawactionname}>重置</div>
</div>
<div className={`${pageStyle.drawoperateitem} ${pageStyle.hoverdrawoperateitem}`} onClick={() => this.doaction(8)}>
<div className={`${pageStyle.iconbox} ${action == 8 ? pageStyle.iconboxselected : ''}`}>
<div className={pageStyle.tosmall} />
{/*
<div className={`${pageStyle.drawoperateitem} ${pageStyle.hoverdrawoperateitem}`} onClick={() => this.doaction(8)}>
<div className={`${pageStyle.iconbox} ${action == 8 ? pageStyle.iconboxselected : ''}`}>
<div className={pageStyle.tobig} />
</div>
<div className={pageStyle.drawactionname}>放大</div>
</div>
<div className={`${pageStyle.drawoperateitem} ${pageStyle.hoverdrawoperateitem}`} onClick={() => this.doaction(9)}>
<div className={`${pageStyle.iconbox} ${action == 9 ? pageStyle.iconboxselected : ''}`}>
<div className={pageStyle.tosmall} />
</div>
<div className={pageStyle.drawactionname}>缩小</div>
</div>
<div className={pageStyle.drawactionname}>缩小</div>
</div>
*/}
<div className={pageStyle.commonbtnbox}>
<div className={pageStyle.skipdrawbtn} onClick={this.skipDraw}>跳过标记<br />直接批量打分</div>
......
......@@ -160,6 +160,60 @@
left: 50%;
margin-left: -8px;
}
.rect {
width: 24px;
height: 24px;
background-image: url('@{imagesroot}drawimage/rectselect.png');
background-size: 100% 100%;
}
.circle {
width: 24px;
height: 24px;
background-image: url('@{imagesroot}drawimage/circleselect.png');
background-size: 100% 100%;
}
.arrow {
width: 20px;
height: 20px;
background-image: url('@{imagesroot}drawimage/arrowselect.png');
background-size: 100% 100%;
}
.draw {
width: 20px;
height: 20px;
background-image: url('@{imagesroot}drawimage/drawselect.png');
background-size: 100% 100%;
}
.text {
width: 20px;
height: 20px;
background-image: url('@{imagesroot}drawimage/textselect.png');
background-size: 100% 100%;
}
.reback {
width: 20px;
height: 20px;
background-image: url('@{imagesroot}drawimage/rebackselect.png');
background-size: 100% 100%;
}
.redo {
width: 22px;
height: 22px;
background-image: url('@{imagesroot}drawimage/redoselect.png?1');
background-size: 100% 100%;
}
.tobig {
width: 20px;
height: 20px;
background-image: url('@{imagesroot}drawimage/tobigselect.png');
background-size: 100% 100%;
}
.tosmall {
width: 20px;
height: 20px;
background-image: url('@{imagesroot}drawimage/tosmallselect.png');
background-size: 100% 100%;
}
}
}
cursor: pointer;
......@@ -190,6 +244,36 @@
left: 50%;
margin-left: -8px;
}
.rect {
width: 24px;
height: 24px;
background-image: url('@{imagesroot}drawimage/rectselect.png');
background-size: 100% 100%;
}
.circle {
width: 24px;
height: 24px;
background-image: url('@{imagesroot}drawimage/circleselect.png');
background-size: 100% 100%;
}
.arrow {
width: 20px;
height: 20px;
background-image: url('@{imagesroot}drawimage/arrowselect.png');
background-size: 100% 100%;
}
.draw {
width: 20px;
height: 20px;
background-image: url('@{imagesroot}drawimage/drawselect.png');
background-size: 100% 100%;
}
.text {
width: 20px;
height: 20px;
background-image: url('@{imagesroot}drawimage/textselect.png');
background-size: 100% 100%;
}
}
.rect {
width: 24px;
......@@ -227,6 +311,12 @@
background-image: url('@{imagesroot}drawimage/rebackunselect.png');
background-size: 100% 100%;
}
.redo {
width: 22px;
height: 22px;
background-image: url('@{imagesroot}drawimage/redounselect.png?1');
background-size: 100% 100%;
}
.tobig {
width: 20px;
height: 20px;
......
import { connect } from 'dva';
import React from 'react';
import { Icon, Button, Tabs, Select, Form, InputNumber, Row, Col, Input, Radio, Modal, message } from 'antd';
import $ from 'jquery';
import moment from 'moment';
import QQMap from 'qqmap';
import { pageIn, hasBtnPower } from '../../utils/index';
import pageStyle from './index.less';
const { TabPane } = Tabs;
class NewThemeForm extends React.Component {
constructor(props) {
super(props);
this.state = {
latitude: 39.90736606309809,
longitude: 116.39774322509766,
resultInfo: '',
};
}
componentDidMount() { // 挂载
pageIn('轻校-地图');
this.initQQMap();
// this.bindEvent();
}
componentDidUpdate() {
}
componentWillUnmount() { // 卸载
}
tabChange=(key) => {
const { dispatch, tabIndex } = this.props;
if (Number(key) === 3) {
message.warning('功能即将开放,敬请期待', 1);
return;
}
dispatch({
type: 'createtheme/tabChange',
payload: {
tabIndex: key,
},
});
}
initQQMap = () => {
const { latitude, longitude, resultInfo } = this.state;
const me = this;
this.map = new qq.maps.Map(document.getElementById('container'), {
center: new qq.maps.LatLng(latitude || 39.916527, longitude || 116.397128),
zoom: 16,
mapTypeId: qq.maps.MapTypeId.ROADMAP,
disableDefaultUI: true,
scaleControl: true,
});
const markersArray = [];
const infoArray = [];
// 点击事件
qq.maps.event.addListener(this.map, 'click', (event) => {
const showLatlng = new qq.maps.LatLng(event.latLng.getLat(), event.latLng.getLng());
let info;
let marker;
$.ajax({
url: `https://apis.map.qq.com/ws/geocoder/v1/?key=XSZBZ-5LHCV-5I2P7-UQHPW-6456F-JBB3B&output=jsonp&location=${event.latLng.getLat()},${event.latLng.getLng()}`,
data: null,
type: 'get',
dataType: 'jsonp',
success: (result) => {
// eslint-disable-next-line no-use-before-define
deleteOverlays(markersArray);
// eslint-disable-next-line no-use-before-define
deleteOverlays(infoArray);
console.log(result, 'result');
info = new qq.maps.InfoWindow({
map: this.map,
content: result.result.formatted_addresses.rough,
position: showLatlng,
zIndex: 99,
visible: true,
});
marker = new qq.maps.Marker({
position: showLatlng,
map: this.map,
animation: qq.maps.MarkerAnimation.DROP,
});
markersArray.push(marker);
infoArray.push(info);
console.log(markersArray, 'markersArray222222222');
},
});
});
function deleteOverlays(array) {
if (array) {
let k;
// eslint-disable-next-line no-undef
for (k in array) {
// eslint-disable-next-line no-undef
if (k > 0) {
// eslint-disable-next-line no-undef
array[k].setMap(null);
}
}
// eslint-disable-next-line no-param-reassign
array.length = 1;
}
}
// qq.maps.event.addListener(marker, 'click', () => {
// info.open();
// info.setContent('<div style="text-align:center;white-space:nowrap;' +
// 'margin:10px;">单击标记</div>');
// info.setPosition(showLatlng);
// });
// });
// });
}
// 删除覆盖物
// 地图选点 根据经纬度地址逆解析
parsingAddress = () => {
}
searchService = (keyword) => {
const me = this;
let searchService;
// eslint-disable-next-line prefer-const
searchService = new qq.maps.SearchService({
complete(results) {
if (results.type === 'CITY_LIST') {
searchService.setLocation(results.detail.cities[0].cityName);
searchService.search(keyword);
return;
}
// eslint-disable-next-line prefer-destructuring
const pois = results.detail.pois;
const latlngBounds = new qq.maps.LatLngBounds();
for (let i = 0, l = pois.length; i < l; i++) {
const poi = pois[i];
latlngBounds.extend(poi.latLng);
const marker = new qq.maps.Marker({
map: me.map,
position: poi.latLng,
});
marker.setTitle(poi.name);
}
me.map.fitBounds(latlngBounds);
},
});
}
bindEvent = () => {
console.log(this.map, '11111');
this.autocomplete();
}
searchAddress = (e) => {
console.log(e);
}
autocomplete = () => {
const { latitude, longitude, resultInfo } = this.state;
// eslint-disable-next-line prefer-const
let ap = new qq.maps.place.Autocomplete(document.getElementById('place'), {
offset: new qq.maps.Size(0, 5),
location: '北京市',
});
let keyword = '';
qq.maps.event.addListener(ap, 'confirm', (res) => {
keyword = res.value;
this.searchService.search(keyword);
});
}
render() {
const {
tabIndex,
} = this.props;
const { tarLat, tarLng, resultInfo } = this.state;
return (
<div className={pageStyle.container}>
<div className={pageStyle.mapwrap}>
<div id="container" style={{ height: 320, width: 600 }}></div>
<div className={pageStyle.mapsearch}>
{/* <Input */}
{/* id="searchAddress" */}
{/* prefix={<Icon type="search" />} */}
{/* placeholder="搜索地址" */}
{/* style={{ width: 200 }} */}
{/* // onChange={e => this.searchAddress(e)} */}
{/* /> */}
{/* eslint-disable-next-line react/style-prop-object */}
<input type="text" id="place" />
</div>
</div>
</div>
);
}
}
NewThemeForm.propTypes = {
};
const NewTheme = Form.create()(NewThemeForm);
function mapStateToProps(state) {
const {
tabIndex,
} = state.createtheme;
return {
tabIndex,
};
}
export default connect(mapStateToProps)(NewTheme);
.mapwrap {
width: 600px;
height: 320px;
position: relative;
border-radius: 4px;
.mapsearch {
position: absolute;
top: 15px;
left: 15px;
}
}
This diff is collapsed.
This diff is collapsed.
@import '../../less/variables.less';
@images: '@{imagesroot}/login/';
.loginbg{
min-width: 600px;
height: ~"calc(100vh - 64px)";
display: flex;
align-items: center;
justify-content: center;
}
.container {
min-height: 100vh;
background-color: #fff;
padding-left: 24px;
padding-left: 40px;
margin-bottom: 30px;
}
.content {
padding: 23px 25px 27px;
......@@ -58,7 +51,7 @@
.addmobile {
line-height: 30px;
position: absolute;
right: -15%;
right: -20%;
text-align: right;
top: -5px;
}
......@@ -93,11 +86,6 @@
}
}
}
.boxtitle {
text-align: center;
color: #19B5FE;
......
This diff is collapsed.
......@@ -292,7 +292,13 @@
}
}
}
.schoolrow {
:global {
.ant-row{
margin-left: 15px;
}
}
}
@media (max-width: @screen-small-min){
.loginformcontent{
box-shadow: none;
......@@ -400,7 +406,7 @@
}
.locationlistbox {
width: 253px;
overflow-y: scroll;
overflow-y: scroll;
border: 1px solid rgba(0,0,0,0.1);
height: 400px;
}
......@@ -467,4 +473,4 @@
.locationinfo {
color: #646363;
font-size: 13px;
}
\ No newline at end of file
}
......@@ -548,7 +548,7 @@ class StudentMgt extends React.Component {
render: (text, record, index) => {
return (
<div>
{(record.student_course_log && record.student_course_log.surplus) || 0}
{(record.student_course && record.student_course.surplus) || 0}
</div>
);
},
......@@ -868,6 +868,8 @@ class StudentMgt extends React.Component {
return <div className={pageStyle.logitem}> {item.created_at} 老师:<span className={pageStyle.logTeacherName}>{item.data.teacher_name || '-'}</span> 将学员 <span className={pageStyle.logTeacherName}>{item.data.student_name || '-'}</span> 的课程 <span className={pageStyle.logTeacherName}>{item.data.from_course_title || '-'}</span> <span className={pageStyle.logAction}>转到</span>课程 <span className={pageStyle.logTeacherName}>{item.data.to_course_title || '-'}</span></div>;
case 9:
return <div className={pageStyle.logitem}>{item.created_at} 老师:<span className={pageStyle.logTeacherName}>{item.data.teacher_name || '-'}</span> 为学员:<span className={pageStyle.logTeacherName}>{item.data.student_name || '-'}</span> <span className={pageStyle.logAction}>消除课时</span>:{item.data.expend || '-'}{item.data.mode_type == 2 && '天'} (<span className={pageStyle.logTeacherName}>{item.data.course_title || '-'}</span> )</div>;
case 10:
return <div className={pageStyle.logitem}>{item.created_at} 老师:<span className={pageStyle.logTeacherName}>{item.data.teacher_name || '-'}</span> <span className={pageStyle.logAction}>点名学员</span><span className={pageStyle.logTeacherName}>{item.data.student_name || '-'}</span> 状态: <span className={pageStyle.logAction}>{item.data.type == 1 && '到课'}{item.data.type == 3 && '请假'}{item.data.type == 2 && '迟到'}{item.data.type == 4 && '未到'}</span> {item.data.course_mode == 1 && `扣除课时${item.data.expend}课时`}</div>;
default: return null;
}
})()}
......
......@@ -185,11 +185,6 @@ const CalendarClock = props => (
{ CalendarClock => (<CalendarClock {...props} />) }
</Bundle>
);
const NewMap = props => (
<Bundle load={() => import(/* webpackChunkName:"JobClock" */'./pages/newmap/index')}>
{ NewMap => (<NewMap {...props} />) }
</Bundle>
);
function RouterConfig({ history }) {
return (
<LocaleProvider locale={zhCN}>
......@@ -224,7 +219,6 @@ function RouterConfig({ history }) {
<Route path="/sjd/newtheme/jobclock/:id/:isCopy" exact component={JobClock} />
<Route path="/sjd/newtheme/calendarclock/:id" exact component={CalendarClock} />
<Route path="/sjd/newtheme/calendarclock/:id/:isCopy" exact component={CalendarClock} />
<Route path="/sjd/newmap/index" exact component={NewMap} />
</SjdIndex>
)}
/>
......
......@@ -8659,7 +8659,7 @@ react-router@^4.2.0, react-router@^4.3.1:
prop-types "^15.6.1"
warning "^4.0.1"
react-slick@~0.25.2:
react-slick@^0.25.2, react-slick@~0.25.2:
version "0.25.2"
resolved "https://registry.yarnpkg.com/react-slick/-/react-slick-0.25.2.tgz#56331b67d47d8bcfe2dceb6acab1c8fd5bd1f6bc"
dependencies:
......
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