Commit c9bfedd3 by zhangleyuan

解决合并代码后的冲突

parents 65784737 86a7531a
......@@ -2,12 +2,12 @@
* @Author: 吴文洁
* @Date: 2020-08-31 09:34:31
* @LastEditors: wufan
* @LastEditTime: 2020-12-04 15:07:46
* @LastEditTime: 2020-12-09 10:53:57
* @Description:
* @Copyright: 杭州杰竞科技有限公司 版权所有
*/
import qs from 'qs';
import axios, { AxiosInstance, AxiosRequestConfig, AxiosResponse, AxiosPromise } from 'axios';
import axios, { AxiosInstance, AxiosRequestConfig, AxiosResponse, AxiosPromise, AxiosError } from 'axios';
import { message } from 'antd';
import { BASIC_HOST, TIME_OUT, USER_TYPE, VERSION, PROJECT } from '@/domains/basic-domain/constants';
......@@ -78,6 +78,12 @@ class Axios {
message.error(ResMessage || resultMsg);
return Promise.reject(response.data);
}, (error): AxiosPromise => {
console.log("error222",error)
// 403退出登录
if(error.message.indexOf("403")){
window.RCHistory.replace('/login');
}
message.error(error.message)
return Promise.reject(error.message);
});
......
......@@ -2,7 +2,6 @@ import React, { useState, useEffect } from 'react';
import { Modal, Button, Input,Popover} from 'antd';
import _ from 'underscore';
import './ChangePhoneModal.less';
import Form from 'antd/lib/form/Form';
import BaseService from "@/domains/basic-domain/baseService";
import CheckBeforeSendCode from '@/components/CheckBeforeSendCode';
......@@ -29,13 +28,6 @@ function ChangePhoneModal(props: changePhoneModalProps) {
async function checkAccount(code:any, callback = () => { }) {
callback();
}
function checkPhoneVerify():any{
if(!phoneVerify){
setErrorMessageText('请输入验证码');
setPhoneVerifyError(true);
return;
}
}
function checkSendPhone(){
if(!newPhone){
setErrorMessageText('请输入手机号');
......@@ -68,7 +60,7 @@ function ChangePhoneModal(props: changePhoneModalProps) {
function timeSub(waitTime:number, unit:number):any{
clearTimeout(timer);
timer = setTimeout(function () {
if (waitTime == 0) {
if (waitTime === 0) {
setCodeText('发送验证码')
setWaitStatus(false)
clearTimeout(timer);
......@@ -165,10 +157,6 @@ function ChangePhoneModal(props: changePhoneModalProps) {
}}
style={{ width:200,height:32}}
/>
{/* <span className="send-code"
onClick={() => {
handleSendCode();
}}>{codeText}</span> */}
<Popover
visible={openCheck}
trigger="click"
......
import React, { useState, useEffect } from 'react';
import { Modal, Form, Button, Input, Radio, Row, Col ,InputNumber,Popover} from 'antd';
import { Modal, Button, Input,Popover} from 'antd';
import _ from 'underscore';
import './IdentificationModal.less';
import BaseService from "@/domains/basic-domain/baseService";
......@@ -63,7 +63,7 @@ function IdentificationModal(props: IdentificationModalProps) {
function timeSub(waitTime:number, unit:number):any{
clearTimeout(timer);
timer = setTimeout(function () {
if (waitTime == 0) {
if (waitTime === 0) {
setCodeText('发送验证码')
setWaitStatus(false)
clearTimeout(timer);
......@@ -115,13 +115,6 @@ function IdentificationModal(props: IdentificationModalProps) {
}}
style={{ width:200,height:32}}
/>
{/* <span
className="send-code"
onClick={() => {
handleSendCode();
}}>
{codeText}
</span> */}
<Popover
visible={openCheck}
trigger="click"
......
......@@ -2,7 +2,7 @@
* @Author: zhangleyuan
* @Date: 2020-11-27 15:06:31
* @LastEditors: zhangleyuan
* @LastEditTime: 2020-12-08 17:33:13
* @LastEditTime: 2020-12-09 11:23:52
* @Description: 描述一下
* @@Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
*/
......@@ -11,11 +11,8 @@
import React, { useEffect, useState,useContext } from "react";
import { withRouter } from "react-router-dom";
import {Form,Button,Input,message} from "antd";
import Breadcrumbs from "@/components/Breadcrumbs";
import UpLoad from "../common/UpLoad";
import _ from 'underscore';
import $ from 'jquery';
import baseImg from '@/common/images/xiaomai-IMG.png';
import {CropperModal} from '@/components/';
import IdentificationModal from './IdentificationModal';
import ChangePhoneModal from './ChangePhoneModal';
......@@ -24,8 +21,7 @@ import StoreService from "@/domains/store-domain/storeService";
import User from '@/common/js/user';
import './index.less';
import { XMContext } from '@/store/context';
import { setStoreGroupPermission, setStorePermission, setStoreGroupList, setStoreList } from '@/store/actions/index';
const FormItem = Form.Item;
import { setStoreList } from '@/store/actions/index';
function PersonalInfoPage() {
const [avatar,setAvatar] = useState('https://image.xiaomaiketang.com/xm/rJeQaZxtc7.png');
const [imgUrl, setImgUrl] = useState(avatar);
......@@ -38,7 +34,6 @@ function PersonalInfoPage() {
const storeUserId = User.getStoreUserId()
const ctx: any = useContext(XMContext);
const userId = User.getUserId();
const [checkObject1, setCheckObject1] = useState({});
window.ctx = ctx;
useEffect(() => {
storeUserId && getUserInfo();
......@@ -114,7 +109,6 @@ function PersonalInfoPage() {
<Form>
<div className="avatat-item">
<span className="label">头像:</span>
{/* <Button id="click_upload_btn" >点击上传</Button> */}
<input
type="file"
accept="image/*"
......
......@@ -2,7 +2,7 @@
* @Author: 吴文洁
* @Date: 2019-07-10 10:30:49
* @LastEditors: zhangleyuan
* @LastEditTime: 2020-12-08 20:09:55
* @LastEditTime: 2020-12-09 11:27:58
* @Description:
*/
import React, { useContext, useEffect, useState } from 'react';
......@@ -11,10 +11,8 @@ import {ConfigProvider } from 'antd';
import Header from './Header'
import Menu from './Menu'
import Main from './Main'
import { Route, Switch } from 'react-router-dom'
import zhCN from 'antd/es/locale/zh_CN'
import User from '@/common/js/user';
import axios from 'axios';
import BaseService from "@/domains/basic-domain/baseService";
import { XMContext } from '@/store/context';
import { setStoreGroupPermission, setStorePermission, setStoreGroupList, setStoreList } from '@/store/actions/index';
......@@ -23,7 +21,6 @@ declare var window: any;
const App: React.FC = (props: any) => {
const ctx: any = useContext(XMContext);
const userId = User.getUserId();
const [menuType,setMenuType] = useState(true)
window.ctx = ctx;
useEffect(() => {
......
......@@ -2,10 +2,10 @@
* @Author: 吴文洁
* @Date: 2019-09-10 18:26:03
* @LastEditors: zhangleyuan
* @LastEditTime: 2020-12-08 20:09:40
* @LastEditTime: 2020-12-09 11:13:05
* @Description:
*/
import React , { useContext, useEffect ,useState}from 'react';
import React , { useContext, useState}from 'react';
import './Header.less';
import {
Menu,
......@@ -15,7 +15,6 @@ import {
import { QuestionCircleOutlined } from "@ant-design/icons";
import { withRouter } from 'react-router-dom';
import Bus from '@/core/bus';
import User from '@/common/js/user';
import BaseService from "@/domains/basic-domain/baseService";
import { XMContext } from '@/store/context';
......@@ -68,7 +67,6 @@ function Header(){
content: "退出后,需重新登录",
icon: <QuestionCircleOutlined />,
okText: "退出登录",
// okType: """,
cancelText: "点错了",
onOk: () => {
handleLogout();
......
import React, { useEffect, useRef, useState} from 'react';
import React, { useEffect, useState} from 'react';
import {
withRouter
} from 'react-router-dom';
import './Login.less';
import {Input,Popover,message} from 'antd';
import CheckBeforeSendCode from '../../components/CheckBeforeSendCode';
import Service from "../../common/js/service"
import User from '@/common/js/user';
import axios from 'axios';
import _ from 'underscore';
......@@ -64,7 +63,7 @@ function Login(props) {
function timeSub(waitTime, unit) {
clearTimeout(timer);
timer = setTimeout(function () {
if (waitTime == 0) {
if (waitTime === 0) {
setCodeText('发送验证码')
setChecking1(false)
setWaitStatus(false)
......
import React , { useContext, useEffect ,useState}from 'react'
import './Main.less';
import Bus from "@/core/bus";
import { MainRoutes } from '@/routes';
function Main(){
// constructor(props) {
// super(props);
// this.state = {
// menuType: 1,
// }
// }
const [menuType,setMenuType] = useState(1);
return (
<div
className={menuType ? `right-container has-nav}` : `right-container has-nav right-container-vertical}`}
......@@ -20,5 +12,4 @@ function Main(){
</div>
)
}
export default Main;
......@@ -2,10 +2,9 @@ import React, { useContext, useEffect, useState } from 'react';
import {
withRouter,
} from 'react-router-dom';
import { Menu,Badge} from 'antd';
import { Menu} from 'antd';
import { menuList } from '../../routes//config/menuList'
import { XMContext } from '../../store/context';
import Bus from '@/core/bus'
import "./Menu.less";
const { SubMenu } = Menu;
......
......@@ -37,7 +37,6 @@ function CourseCatalogPage() {
const [secondCatalogModalType,setSecondCatalogModalType] = useState('');
const [parentCatalogId,setParentCatalogId] = useState('');
const [choosedItem, setChooseItem] = useState({});
const [expandedRowKeys,setexpandedRowKeys] =useState('');
useEffect(() => {
getCourseCatalogList();
}, [query]);
......
......@@ -2,7 +2,7 @@
* @Author: wufan
* @Date: 2020-11-27 16:21:49
* @LastEditors: wufan
* @LastEditTime: 2020-12-08 19:08:57
* @LastEditTime: 2020-12-09 10:56:50
* @Description: Description
* @@Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
*/
......@@ -80,14 +80,6 @@ function AddEmployeeModal(props: AddEmployeeModalProps) {
wrapperCol: { span: 12 },
};
const onFinish = (values: any) => {
console.log("Success:", values);
};
const onFinishFailed = (errorInfo: any) => {
console.log("Failed:", errorInfo);
};
function handleChangeRole(value: string) {
setRole(value);
}
......@@ -118,7 +110,6 @@ function AddEmployeeModal(props: AddEmployeeModalProps) {
function handleOk(): void {
const values = form.getFieldsValue();
console.log("values", values);
if (!values.nickName.trim()) {
setNameErrorMsg("请输入员工姓名");
setNameStatus("error");
......@@ -217,8 +208,6 @@ function AddEmployeeModal(props: AddEmployeeModalProps) {
form={form}
name="basic"
initialValues={{ nickName: nickName, phone: phone, role: role }}
onFinish={onFinish}
onFinishFailed={onFinishFailed}
>
<Form.Item
label="员工姓名"
......@@ -229,7 +218,6 @@ function AddEmployeeModal(props: AddEmployeeModalProps) {
>
<Input
style={{ width: 200 }}
// value={nickName}
placeholder="请输入员工名称"
maxLength={15}
onChange={(e) => handleChangeValues("nickName", e.target.value)}
......@@ -245,7 +233,6 @@ function AddEmployeeModal(props: AddEmployeeModalProps) {
>
<InputNumber
style={{ width: 200 }}
// value={phone}
placeholder="请输入手机号"
maxLength={11}
disabled={!!props.choosedItem.nickName}
......@@ -259,7 +246,6 @@ function AddEmployeeModal(props: AddEmployeeModalProps) {
rules={[{ required: false }]}
>
<RadioGroup
// value={role}
onChange={(e) => {
handleChangeValues("role", e.target.value);
}}
......
......@@ -9,16 +9,14 @@ import React, { useEffect, useState } from "react";
import { withRouter } from "react-router-dom";
import _ from "underscore";
import PageControl from "@/components/PageControl";
import { CheckBox, SearchBar } from "@/components";
import { Button, Table, Tooltip, Modal, message, Row, Col, Input } from "antd";
import { CheckBox } from "@/components";
import { Button, Table, Modal, message, Input } from "antd";
import { QuestionCircleOutlined } from "@ant-design/icons";
import { storeRoleEnum } from "@/domains/store-domain/constants";
import StoreService from "@/domains/store-domain/storeService";
import EmployeeAddOrEditModal from "./EmployeeAddOrEditModal";
import User from "@/common/js/user";
import "./EmployeesManagePage.less";
import { string } from "prop-types";
const { confirm } = Modal;
const { Search } = Input;
......@@ -116,14 +114,6 @@ function EmployeesManagePage() {
return _item.roleCode !== "StoreManager";
});
// _data = _.map(_data, (item: any) => {
// item.isChecked = true;
// _query.roleCodes.push(item.roleCode);
// return item;
// });
// setQuery(_query);
setRoleIds(_data);
});
}
......@@ -254,7 +244,6 @@ function EmployeesManagePage() {
function handleQuery(name: string, value: any) {
const _query = _.clone(query);
// _query[name] = value;
setQuery(_query);
}
......
......@@ -2,7 +2,7 @@
* @Author: wufan
* @Date: 2020-11-30 10:47:38
* @LastEditors: wufan
* @LastEditTime: 2020-12-08 13:42:55
* @LastEditTime: 2020-12-09 10:57:18
* @Description: 用户管理页面
* @@Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
*/
......@@ -78,11 +78,6 @@ function UserManagePage() {
];
}
function handleQuery(name: string, value: any) {
const _query = _.clone(query);
// _query[name] = value;
setQuery(_query);
}
return (
<div className=" page user-manage-page">
......
import React from "react";
import Breadcrumbs from "@/components/Breadcrumbs";
import PageControl from "@/components/PageControl";
class testPage extends React.Component {
constructor(props) {
super(props);
this.state = {};
}
render() {
return (
<div className="prepare-lesson-page page">
<div className="content-header">
{/* <Breadcrumbs
navList="选班调班"
goBack={() => {
RCHistory.goBack();
}}
/> */}
<div className="title">视频课</div>
</div>
<div className="box content-body">
<i className="iconfont icontanhao_caise"></i>
<div className="content" style={{height:"300px"}}></div>
<div className="box-footer">
<PageControl
size="small"
current={1}
pageSize={10}
total={50}
toPage={(page) => {
}} />
</div>
</div>
</div>
);
}
}
export default testPage;
import React from 'react';
import { Table } from 'antd';
import Service from '@/common/js/service';
import './index.less';
class VideoCourse extends React.Component {
constructor(props) {
super(props);
const { instId } = window.currentUserInstInfo;
this.state = {
query: {
instId,
size: 10,
current: 1,
},
dataSource: []
}
}
componentDidMount() {
this.handleFetchVideoCourseList();
}
parseColumns = () => {
const columns = [
{
title: '视频课',
key: 'scheduleName',
dataIndex: 'scheduleName',
width: '25%',
},
{
title: '学员人数',
key: "stuNum",
dataIndex: "stuNum",
},
{
title: '创建人',
key: 'teacherName',
dataIndex: 'teacherName'
},
{
title: '操作',
key: 'operate',
dataIndex: 'operate',
render: (val, record) => {
return (
<div className="operate">
<div className="operate__item">分享</div>
<span className="operate__item split"> | </span>
<div className="operate__item">编辑</div>
<span className="operate__item split"> | </span>
<div className="operate__item">删除</div>
</div>
)
}
}
];
return columns;
}
handleFetchVideoCourseList = () => {
Service.Apollo('public/apollo/lessonScheduleListPage', this.state.query)
.then((res) => {
const { result = {} } = res;
const { records = [] } = result;
this.setState({
dataSource: records
})
})
}
render() {
const { dataSource } = this.state;
return (
<div className="video-course">
<div className="page-header">视频课</div>
<div className="page-body">
<Table
rowKey={record => record.id}
dataSource={dataSource}
columns={this.parseColumns()}
/>
</div>
</div>
)
}
}
export default VideoCourse;
.video-course {
.operate {
display: flex;
&__item {
color: #FF7519;
cursor: pointer;
&.split {
margin: 0 8px;
}
}
}
}
\ No newline at end of file
......@@ -2,10 +2,9 @@
* @Author: 吴文洁
* @Date: 2020-04-29 10:26:32
* @LastEditors: zhangleyuan
* @LastEditTime: 2020-12-03 10:17:14
* @LastEditTime: 2020-12-09 11:25:42
* @Description: 内容线路由配置
*/
import TestPage from '@/modules/test';
import EmployeesManagePage from '@/modules/store-manege/EmployeesManagePage';
import personalInfoPage from '@/modules/personalInfo';
import UserManagePage from '@/modules/store-manege/UserManagePage';
......@@ -13,11 +12,6 @@ import StoreDecorationPage from '@/modules/store-manege/StoreDecorationPage';
import CourseCatalogPage from '@/modules/store-manege/CourseCatalogPage'
const mainRoutes = [
{
path: '/home',
component: TestPage,
name: '首页'
},
{
path: '/employees-manage',
component: EmployeesManagePage,
name: '员工管理'
......
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