Commit 82157be3 authored by wangxuelai's avatar wangxuelai

''

parent 1f13bb04
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>轻校</title>
<link rel="shortcut icon" href="https://cdn.img.shangjiadao.cn/qingxiao/biz/image/qxlogo4.png">
<meta content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=0;" name="viewport">
<meta http-equiv="X-UA-Compatible" content="IE=edge"><!-- Polyfills -->
<link rel="shortcut icon" href="https://cdn.img.shangjiadao.cn/qingxiao/biz/image/qxlogo4.png" >
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0;" name="viewport" />
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!-- Polyfills -->
<!--[if lt IE 10]>
<script src="js/console-polyfill.js"></script>
<![endif]-->
<script charset="utf-8" src="https://map.qq.com/api/js?v=2.exp&key=XSZBZ-5LHCV-5I2P7-UQHPW-6456F-JBB3B"></script>
<link href="/dist/index.css?1567756008842" rel="stylesheet">
<script src="/lib/vendor.dll.js?3" charset="utf-8"></script>
<script src="https://cdn.img.shangjiadao.cn/qingxiao/biz/js/console-polyfill.js?3" charset="utf-8"></script>
<script src="https://cdn.img.shangjiadao.cn/qingxiao/biz/js/es6-shim.min.js?3" charset="utf-8"></script>
<script src="https://cdn.img.shangjiadao.cn/qingxiao/biz/js/es5-shim.js?3" charset="utf-8"></script>
<script src="https://cdn.img.shangjiadao.cn/qingxiao/biz/js/es5-sham.min.js?3" charset="utf-8"></script>
<script src="https://cdn.img.shangjiadao.cn/qingxiao/biz/js/json3.min.js?3" charset="utf-8"></script>
<script src="https://cdn.img.shangjiadao.cn/qingxiao/biz/js/html5shiv.min.js?3" charset="utf-8"></script>
<script src="https://cdn.img.shangjiadao.cn/qingxiao/biz/js/polyfill.js?3" charset="utf-8"></script>
<link href="dist/index.css?1567838609609" rel="stylesheet">
<script src="lib/vendor.dll.js?3" charset="utf-8"></script>
</head>
</head>
<body>
<div id="root"></div>
<script src="/dist/index.js?1567756008842" charset="utf-8"></script>
<script src="dist/index.js?1567838609609" charset="utf-8"></script>
</body>
</html>
\ No newline at end of file
......@@ -540,7 +540,7 @@ export default {
});
}
if (data.code == 200) {
message.success('保存成功', 1);
message.success(`${values.switch == 1 ? '开启' : '关闭'}成功`, 1);
course.id = data.data.id;
newpageInfo.forEach((ele) => {
const element = ele;
......
......@@ -58,6 +58,13 @@ export default {
businessIsBind: businessInfoData.data.consumer_id != 0,
},
});
} else {
yield put({
type: 'webapp/errorrequestresolve',
payload: {
data: businessInfoData,
},
});
}
},
* getverifycode({ payload }, { call, put, select }) {
......
......@@ -103,20 +103,6 @@ class SjdIndex extends React.Component {
</Content>
</Layout>
</Layout>
<Modal
title="温馨提示"
style={{ top: 20 }}
visible={globalErrorType == 2}
maskStyle={{ zIndex: 1003 }}
zIndex={1004}
closable={false}
footer={<div><Button onClick={this.goSchoollist}>确定</Button></div>}
>
<div style={{ display: 'flex', alignItems: 'center' }}>
<Icon type="info-circle" style={{ color: '#faad14', fontSize: '30px', marginRight: '10px' }} />
<span>暂无权限</span>
</div>
</Modal>
<Modal
title="温馨提示"
style={{ top: 20 }}
......
......@@ -523,11 +523,11 @@ class StaticCenter extends React.Component {
<span>待办事项</span>
</div>
<div className={pageStyle.items}>
{renew.total > -1 && <div className={pageStyle.renew} onClick={this.goDeadlineStudent}><span>续费</span>有{renew.total || 0}名学员的课时即将到期</div>}
{birthday.total > -1 && <div className={pageStyle.birthday} onClick={this.goBirthStudent}><span>生日</span>本日有{birthday.total || 0}名学员生日待祝福</div>}
{callData.total > -1 && <div className={pageStyle.birthday} onClick={this.goCallStudent}><span>点名</span>本周有{callData.total || 0}个课时尚未点名</div>}
{assign.total > -1 && <div className={pageStyle.birthday} onClick={this.goPlanStudent}><span>分配</span>有{assign.total || 0}名学员未安排班级</div>}
{scheduleCount > -1 && <div className={pageStyle.birthday} onClick={this.goPlanClass}><span>排课</span>有{scheduleCount}个班级课表即将结束</div>}
{renew.total > 0 && <div className={pageStyle.renew} onClick={this.goDeadlineStudent}><span>续费</span>有{renew.total || 0}名学员的课时即将到期</div>}
{birthday.total > 0 && <div className={pageStyle.birthday} onClick={this.goBirthStudent}><span>生日</span>本日有{birthday.total || 0}名学员生日待祝福</div>}
{callData.total > 0 && <div className={pageStyle.birthday} onClick={this.goCallStudent}><span>点名</span>本周有{callData.total || 0}个课时尚未点名</div>}
{assign.total > 0 && <div className={pageStyle.birthday} onClick={this.goPlanStudent}><span>分配</span>有{assign.total || 0}名学员未安排班级</div>}
{scheduleCount > 0 && <div className={pageStyle.birthday} onClick={this.goPlanClass}><span>排课</span>有{scheduleCount}个班级课表即将结束</div>}
</div>
</div>
</div>
......
import React from 'react';
import { connect } from 'dva';
import { Row, Col, Form, Input, Button } from 'antd';
import { Row, Col, Form, Input, Button, Modal, Icon } from 'antd';
import pageStyles from './index.less';
import { pageIn } from '../../utils/index';
const { Search } = Input;
......@@ -74,7 +74,9 @@ class JoinSchoolAddForm extends React.Component {
}
render() {
const { getFieldDecorator, getFieldValue } = this.props.form;
const { codeArr, title, schoolSubmiting } = this.props;
const {
codeArr, title, schoolSubmiting, globalErrorType,
} = this.props;
const { pwdvisible, thistitle } = this.state;
const formItemLayout = {
labelCol: {
......@@ -178,6 +180,34 @@ class JoinSchoolAddForm extends React.Component {
</Row>
</Form>
</div>
<Modal
title="温馨提示"
style={{ top: 20 }}
visible={globalErrorType == 1}
maskStyle={{ zIndex: 1003 }}
zIndex={1004}
closable={false}
footer={<div><Button onClick={this.signout}>重新登录</Button></div>}
>
<div style={{ display: 'flex', alignItems: 'center' }}>
<Icon type="info-circle" style={{ color: '#faad14', fontSize: '30px', marginRight: '10px' }} />
<span>登录信息过期,请重新登录</span>
</div>
</Modal>
<Modal
title="温馨提示"
style={{ top: 20 }}
visible={globalErrorType == 3}
maskStyle={{ zIndex: 1003 }}
zIndex={1004}
closable={false}
footer={<div><Button onClick={this.signout}>退出</Button></div>}
>
<div style={{ display: 'flex', alignItems: 'center' }}>
<Icon type="info-circle" style={{ color: '#faad14', fontSize: '30px', marginRight: '10px' }} />
<span>账号已关闭</span>
</div>
</Modal>
</div>
);
}
......@@ -193,10 +223,12 @@ function mapStateToProps(state) {
title,
schoolSubmiting,
} = state.joinschooladd;
const { globalErrorType } = state.webapp;
return {
codeArr,
title,
schoolSubmiting,
globalErrorType,
};
}
export default connect(mapStateToProps)(JoinSchoolAdd);
......@@ -84,6 +84,17 @@ class Officialweb extends React.Component {
type: 'officialweb/previewofficialweb',
});
}
courseSwitch = (e) => {
const { dispatch } = this.props;
dispatch({
type: 'officialweb/courseinfopost',
payload: {
values: {
switch: e ? 1 : 2,
},
},
});
}
render() {
const {
pageInfo,
......@@ -94,6 +105,7 @@ class Officialweb extends React.Component {
previewQrcodeShow,
previewQrcode,
course,
coursePostStatus,
} = this.props;
let renderDom;
const newPageInfo = pageInfo;
......@@ -105,11 +117,13 @@ class Officialweb extends React.Component {
return (
<div className={pageStyle.container}>
<div className={pageStyle.mobilecontainer}>
<div className={pageStyle.floatcoursebox}>
{/*
<div className={pageStyle.floatcoursebox}>
<Course
course={course}
/>
</div>
*/}
{
newPageInfo.map((ele, index) => {
switch (ele.type) {
......@@ -182,6 +196,8 @@ class Officialweb extends React.Component {
<Course
course={ele.data}
showStatus
courseSwitch={this.courseSwitch}
coursePostStatus={coursePostStatus}
/>
{dragoverindex == index && <div className={pageStyle.dropendbox}>松开鼠标,模块会放在这里</div>}
</div>
......@@ -193,11 +209,11 @@ class Officialweb extends React.Component {
{index == (newPageInfo.length - 1) && <div className={`${pageStyle.blockOperateItem} ${pageStyle.blockOperateItemGrey}`}><Icon className={pageStyle.blockOperateItemIcon} type="arrow-down" /></div>}
</div>
*/}
{moduleSelect == index &&
{/* moduleSelect == index &&
<div className={pageStyle.editbox}>
<CourseEditor />
</div>
}
*/}
</div>
);
break;
......@@ -216,8 +232,8 @@ class Officialweb extends React.Component {
</div>
{moduleSelect == index &&
<div className={pageStyle.blockOperateBox}>
{index == 2 && <div className={`${pageStyle.blockOperateItem} ${pageStyle.blockOperateItemGrey}`}><Icon className={pageStyle.blockOperateItemIcon} type="arrow-up" /></div>}
{index > 2 && <div className={pageStyle.blockOperateItem} onClick={() => this.pageBlockMove(index, 'up')}><Icon className={pageStyle.blockOperateItemIcon} type="arrow-up" /></div>}
{index == 3 && <div className={`${pageStyle.blockOperateItem} ${pageStyle.blockOperateItemGrey}`}><Icon className={pageStyle.blockOperateItemIcon} type="arrow-up" /></div>}
{index > 3 && <div className={pageStyle.blockOperateItem} onClick={() => this.pageBlockMove(index, 'up')}><Icon className={pageStyle.blockOperateItemIcon} type="arrow-up" /></div>}
{index < (newPageInfo.length - 1) && <div className={pageStyle.blockOperateItem} onClick={() => this.pageBlockMove(index, 'down')}><Icon className={pageStyle.blockOperateItemIcon} type="arrow-down" /></div>}
{index == (newPageInfo.length - 1) && <div className={`${pageStyle.blockOperateItem} ${pageStyle.blockOperateItemGrey}`}><Icon className={pageStyle.blockOperateItemIcon} type="arrow-down" /></div>}
</div>
......@@ -240,8 +256,8 @@ class Officialweb extends React.Component {
</div>
{moduleSelect == index &&
<div className={pageStyle.blockOperateBox}>
{index == 2 && <div className={`${pageStyle.blockOperateItem} ${pageStyle.blockOperateItemGrey}`}><Icon className={pageStyle.blockOperateItemIcon} type="arrow-up" /></div>}
{index > 2 && <div className={pageStyle.blockOperateItem} onClick={() => this.pageBlockMove(index, 'up')}><Icon className={pageStyle.blockOperateItemIcon} type="arrow-up" /></div>}
{index == 3 && <div className={`${pageStyle.blockOperateItem} ${pageStyle.blockOperateItemGrey}`}><Icon className={pageStyle.blockOperateItemIcon} type="arrow-up" /></div>}
{index > 3 && <div className={pageStyle.blockOperateItem} onClick={() => this.pageBlockMove(index, 'up')}><Icon className={pageStyle.blockOperateItemIcon} type="arrow-up" /></div>}
{index < (newPageInfo.length - 1) && <div className={pageStyle.blockOperateItem} onClick={() => this.pageBlockMove(index, 'down')}><Icon className={pageStyle.blockOperateItemIcon} type="arrow-down" /></div>}
{index == (newPageInfo.length - 1) && <div className={`${pageStyle.blockOperateItem} ${pageStyle.blockOperateItemGrey}`}><Icon className={pageStyle.blockOperateItemIcon} type="arrow-down" /></div>}
</div>
......@@ -289,6 +305,7 @@ function mapStateToProps(state) {
previewQrcodeShow,
previewQrcode,
course,
coursePostStatus,
} = state.officialweb;
const {
cropperboxShow,
......@@ -305,6 +322,7 @@ function mapStateToProps(state) {
previewQrcodeShow,
previewQrcode,
course,
coursePostStatus,
};
}
export default connect(mapStateToProps)(Officialweb);
......
import React from 'react';
import { connect } from 'dva';
import { Carousel } from 'antd';
import { Carousel, Switch } from 'antd';
import PageStyle from './Course.less';
import { imagify } from '../../../utils';
function Course(props) {
const { course, showStatus } = props;
const {
course, showStatus, courseSwitch, coursePostStatus,
} = props;
// {showStatus && <div className={`${PageStyle.courseStatue} ${course.switch == 1 ? PageStyle.courseopen : PageStyle.courseclose}`}>{course.switch == 1 && '开启'}{course.switch == 2 && '关闭'}</div>}
return (
<div className={PageStyle.Coursecontainer}>
{showStatus && <div className={`${PageStyle.courseStatue} ${course.switch == 1 ? PageStyle.courseopen : PageStyle.courseclose}`}>{course.switch == 1 && '开启'}{course.switch == 2 && '关闭'}</div>}
{showStatus &&
<div className={PageStyle.courseStatue}>
<Switch
onChange={courseSwitch}
checked={course.switch == 1}
checkedChildren="开"
unCheckedChildren="关"
loading={coursePostStatus}
/>
</div>
}
<div className={PageStyle.Coursebox}>
<img className={PageStyle.clockicon} src={`${__IMGCDN__}floatclockicon.png`} alt="" />
<span>立即预约,免费领取试听课</span>
......
......@@ -42,9 +42,9 @@
}
.courseStatue {
position: absolute;
top: 50%;
transform: translateY(-50%);
right: 4px;
top: 4px;
// transform: translateY(-50%);
left: 4px;
width: 40px;
height: 24px;
font-size: 12px;
......
import fetchJsonp from 'fetch-jsonp';
import React from 'react';
import { connect } from 'dva';
import { Row, Col, Form, Input, Button, Checkbox, message, Modal, Cascader } from 'antd';
import { Row, Col, Form, Input, Button, Checkbox, message, Modal, Cascader, Icon } from 'antd';
import pageStyles from './index.less';
import { LocalStorage, SessionStorage, pageIn, getRandomString } from '../../utils/index';
import disData from '../../common/dis.data';
......@@ -380,6 +380,7 @@ class SchoolAddForm extends React.Component {
locationAddress,
mobile,
form,
globalErrorType,
} = this.props;
const {
location,
......@@ -584,6 +585,34 @@ class SchoolAddForm extends React.Component {
</div>
</Form>
</Modal>
<Modal
title="温馨提示"
style={{ top: 20 }}
visible={globalErrorType == 1}
maskStyle={{ zIndex: 1003 }}
zIndex={1004}
closable={false}
footer={<div><Button onClick={this.signout}>重新登录</Button></div>}
>
<div style={{ display: 'flex', alignItems: 'center' }}>
<Icon type="info-circle" style={{ color: '#faad14', fontSize: '30px', marginRight: '10px' }} />
<span>登录信息过期,请重新登录</span>
</div>
</Modal>
<Modal
title="温馨提示"
style={{ top: 20 }}
visible={globalErrorType == 3}
maskStyle={{ zIndex: 1003 }}
zIndex={1004}
closable={false}
footer={<div><Button onClick={this.signout}>退出</Button></div>}
>
<div style={{ display: 'flex', alignItems: 'center' }}>
<Icon type="info-circle" style={{ color: '#faad14', fontSize: '30px', marginRight: '10px' }} />
<span>账号已关闭</span>
</div>
</Modal>
</div>
);
}
......@@ -602,6 +631,7 @@ function mapStateToProps(state) {
latitude,
mobile,
} = state.schooladd;
const { globalErrorType } = state.webapp;
return {
categorys,
selectcategorys,
......@@ -609,6 +639,7 @@ function mapStateToProps(state) {
longitude,
latitude,
mobile,
globalErrorType,
};
}
export default connect(mapStateToProps)(SchoolAdd);
import React from 'react';
import { connect } from 'dva';
import { Row, Col, Form, Input, Button, Modal } from 'antd';
import { Row, Col, Form, Input, Button, Modal, Icon } from 'antd';
import pageStyles from './index.less';
import { pageIn, imagify } from '../../utils/index';
const { Search } = Input;
......@@ -101,6 +101,15 @@ class JoinSchoolAddForm extends React.Component {
},
});
}
signout = () => {
const { dispatch } = this.props;
dispatch({
type: 'webapp/signout',
payload: {
dispatch,
},
});
}
render() {
const {
schoolList,
......@@ -108,6 +117,7 @@ class JoinSchoolAddForm extends React.Component {
inviateTeacherList,
userInfo,
stronghold,
globalErrorType,
} = this.props;
return (
<Row className={`${pageStyles.container} schoollistcontainer`}>
......@@ -211,6 +221,34 @@ class JoinSchoolAddForm extends React.Component {
</Row>
</Row>
</Row>
<Modal
title="温馨提示"
style={{ top: 20 }}
visible={globalErrorType == 1}
maskStyle={{ zIndex: 1003 }}
zIndex={1004}
closable={false}
footer={<div><Button onClick={this.signout}>重新登录</Button></div>}
>
<div style={{ display: 'flex', alignItems: 'center' }}>
<Icon type="info-circle" style={{ color: '#faad14', fontSize: '30px', marginRight: '10px' }} />
<span>登录信息过期,请重新登录</span>
</div>
</Modal>
<Modal
title="温馨提示"
style={{ top: 20 }}
visible={globalErrorType == 3}
maskStyle={{ zIndex: 1003 }}
zIndex={1004}
closable={false}
footer={<div><Button onClick={this.signout}>退出</Button></div>}
>
<div style={{ display: 'flex', alignItems: 'center' }}>
<Icon type="info-circle" style={{ color: '#faad14', fontSize: '30px', marginRight: '10px' }} />
<span>账号已关闭</span>
</div>
</Modal>
</Row>
);
}
......@@ -229,6 +267,7 @@ function mapStateToProps(state) {
} = state.schoollist;
const {
userInfo,
globalErrorType,
} = state.webapp;
return {
schoolList,
......@@ -236,6 +275,7 @@ function mapStateToProps(state) {
inviateTeacherList,
userInfo,
stronghold,
globalErrorType,
};
}
export default connect(mapStateToProps)(JoinSchoolAdd);
import React from 'react';
import { connect } from 'dva';
import { Row, Col, Modal, Form, Input, Button, message } from 'antd';
import { Row, Col, Modal, Form, Input, Button, message, Icon } from 'antd';
import pageStyles from './index.less';
import BindWx from './BindWx';
import UpdateNickname from './UpdateNickname';
......@@ -240,6 +240,7 @@ class UserSettingForm extends React.Component {
checkoutVerifyCode,
nicknameChangeShow,
nicknameSubmitting,
globalErrorType,
} = this.props;
const { getFieldDecorator } = this.props.form;
return (
......@@ -411,6 +412,34 @@ class UserSettingForm extends React.Component {
onCancel={() => this.toupdateNickanem(false)}
nicknameSubmitting={nicknameSubmitting}
/>
<Modal
title="温馨提示"
style={{ top: 20 }}
visible={globalErrorType == 1}
maskStyle={{ zIndex: 1003 }}
zIndex={1004}
closable={false}
footer={<div><Button onClick={this.signout}>重新登录</Button></div>}
>
<div style={{ display: 'flex', alignItems: 'center' }}>
<Icon type="info-circle" style={{ color: '#faad14', fontSize: '30px', marginRight: '10px' }} />
<span>登录信息过期,请重新登录</span>
</div>
</Modal>
<Modal
title="温馨提示"
style={{ top: 20 }}
visible={globalErrorType == 3}
maskStyle={{ zIndex: 1003 }}
zIndex={1004}
closable={false}
footer={<div><Button onClick={this.signout}>退出</Button></div>}
>
<div style={{ display: 'flex', alignItems: 'center' }}>
<Icon type="info-circle" style={{ color: '#faad14', fontSize: '30px', marginRight: '10px' }} />
<span>账号已关闭</span>
</div>
</Modal>
</Row>
);
}
......@@ -429,6 +458,7 @@ function mapStateToProps(state) {
} = state.uploader;
const {
userInfo,
globalErrorType,
} = state.webapp;
const {
counting,
......@@ -467,6 +497,7 @@ function mapStateToProps(state) {
checkoutVerifyCode,
nicknameChangeShow,
nicknameSubmitting,
globalErrorType,
};
}
export default connect(mapStateToProps)(UserSetting);
......@@ -25,9 +25,10 @@ export function birthday({ schoolId }) {
method: 'GET',
});
}
export function todoSchedule({ school_id }) {
export function todoSchedule(params) {
const data = qs.stringify(params);
return request({
url: `${api.todo.todoSchedule}?school_id=${school_id}`,
url: `${api.todo.todoSchedule}?${data}`,
method: 'GET',
});
}
......
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