Commit eafaa5e1 by wufan

Merge branch 'master' into feature/wufan/20210722/refactor-weekly

parents 9c14e4d3 1b15c34b
import React, { ReactElement } from "react"; import React, { ReactElement } from "react";
import { Popover } from "antd"; import { Popover } from "antd";
import { TooltipPlacement } from "antd/lib/tooltip"; import { TooltipPlacement } from "antd/lib/tooltip";
import { ActionType } from "rc-trigger/lib/interface";
import "./ContactWidget.less" import "./ContactWidget.less"
interface ContactWidgetProps { interface ContactWidgetProps {
placement: TooltipPlacement placement: TooltipPlacement
children: React.ReactElement children: React.ReactElement
visible?: boolean visible?: boolean
trigger: ActionType | ActionType[] trigger: string | string[]
} }
function Content() { function Content() {
...@@ -27,7 +26,7 @@ function Content() { ...@@ -27,7 +26,7 @@ function Content() {
export default function ContactWidget(props:ContactWidgetProps) { export default function ContactWidget(props:ContactWidgetProps) {
return <Popover return <Popover
className="contact-widget-popover" overlayClassName="contact-widget-popover"
placement={props.placement} placement={props.placement}
arrowPointAtCenter arrowPointAtCenter
content={Content} content={Content}
......
...@@ -166,7 +166,7 @@ function EmployeeManage() { ...@@ -166,7 +166,7 @@ function EmployeeManage() {
}, },
}, },
{ {
title: "身份", title: "角色",
dataIndex: "role", dataIndex: "role",
key: "role", key: "role",
render: (val: string) => { render: (val: string) => {
...@@ -276,7 +276,7 @@ function EmployeeManage() { ...@@ -276,7 +276,7 @@ function EmployeeManage() {
return ( return (
<div className="page employee-manage-page"> <div className="page employee-manage-page">
<div className="content-header">员工管理</div> <div className="content-header">角色管理</div>
<div className="box"> <div className="box">
<div className="box-header"> <div className="box-header">
<div <div
...@@ -326,7 +326,7 @@ function EmployeeManage() { ...@@ -326,7 +326,7 @@ function EmployeeManage() {
</div> </div>
<div> <div>
身份 角色
{_.map(roleIds, (item: any) => { {_.map(roleIds, (item: any) => {
return ( return (
<CheckBox <CheckBox
......
...@@ -77,7 +77,7 @@ export default class SetEmployeeModal extends React.Component { ...@@ -77,7 +77,7 @@ export default class SetEmployeeModal extends React.Component {
))} ))}
</div> </div>
<div className="detail-box"> <div className="detail-box">
<div className="title">员工身份</div> <div className="title">员工角色</div>
<RadioGroup <RadioGroup
value={roleCode} value={roleCode}
onChange={(e) => { onChange={(e) => {
......
/* /*
* @Author: 吴文洁 * @Author: 吴文洁
* @Date: 2020-08-05 10:07:47 * @Date: 2020-08-05 10:07:47
* @LastEditors: Please set LastEditors * @LastEditors: yuananting
* @LastEditTime: 2021-07-18 10:13:42 * @LastEditTime: 2021-07-22 18:29:55
* @Description: 线下课新增/编辑页 * @Description: 线下课新增/编辑页
* @Copyright: 杭州杰竞科技有限公司 版权所有 * @Copyright: 杭州杰竞科技有限公司 版权所有
*/ */
...@@ -952,7 +952,7 @@ class AddOfflineCourse extends React.Component { ...@@ -952,7 +952,7 @@ class AddOfflineCourse extends React.Component {
startTimeApply: undefined, startTimeApply: undefined,
endTimeApply: undefined, endTimeApply: undefined,
quota: null, quota: null,
whetherVisitorsJoin: whetherSetApply !== 'YES' ? whetherVisitorsJoin : false whetherVisitorsJoin: value ? whetherVisitorsJoin : 'YES'
}); });
}} }}
/> />
......
...@@ -154,7 +154,7 @@ function Header(props) { ...@@ -154,7 +154,7 @@ function Header(props) {
}); });
}}> }}>
<span className='menu-before iconfont icon'>&#xe84e;</span> <span className='menu-before iconfont icon'>&#xe84e;</span>
<span>进入管理后台</span> <span>多学院管理面板</span>
<span className='menu-after iconfont icon'>&#xe79b;</span> <span className='menu-after iconfont icon'>&#xe79b;</span>
</div> </div>
)} )}
......
...@@ -273,7 +273,7 @@ function AddEmployeeModal(props: AddEmployeeModalProps) { ...@@ -273,7 +273,7 @@ function AddEmployeeModal(props: AddEmployeeModalProps) {
</Form.Item> </Form.Item>
)} )}
<Form.Item <Form.Item
label="员工身份" label="员工角色"
name="role" name="role"
rules={[{ required: false }]} rules={[{ required: false }]}
style={{marginBottom:'-2px !important'}} style={{marginBottom:'-2px !important'}}
......
...@@ -300,7 +300,7 @@ function EmployeesManagePage() { ...@@ -300,7 +300,7 @@ function EmployeesManagePage() {
return ( return (
<div className=" page employee-manage-page"> <div className=" page employee-manage-page">
<div className="content-header">员工管理</div> <div className="content-header">角色管理</div>
<div className="box"> <div className="box">
<div className="box-header"> <div className="box-header">
<div <div
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* @Author: yuananting * @Author: yuananting
* @Date: 2021-02-22 10:59:43 * @Date: 2021-02-22 10:59:43
* @LastEditors: yuananting * @LastEditors: yuananting
* @LastEditTime: 2021-07-13 11:54:21 * @LastEditTime: 2021-07-27 13:37:07
* @Description: 助学工具-侧边课程分类树 * @Description: 助学工具-侧边课程分类树
* @Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有 * @Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
*/ */
...@@ -184,7 +184,7 @@ class CourseCategorySiderTree extends Component { ...@@ -184,7 +184,7 @@ class CourseCategorySiderTree extends Component {
return ( return (
<div className='category-tree-sider'> <div className='category-tree-sider'>
{['QUESTION_INDEX', 'PAPER_INDEX'].includes(this.props.fromModule) && ( {this.props.type !== 'modal-select' && (
<div className='sider-title'>{this.props.fromModule === 'QUESTION_INDEX' ? '题目分类' : '试卷分类'}</div> <div className='sider-title'>{this.props.fromModule === 'QUESTION_INDEX' ? '题目分类' : '试卷分类'}</div>
)} )}
<Search <Search
...@@ -195,7 +195,7 @@ class CourseCategorySiderTree extends Component { ...@@ -195,7 +195,7 @@ class CourseCategorySiderTree extends Component {
}} }}
enterButton={<span className='icon iconfont'>&#xe832;</span>} enterButton={<span className='icon iconfont'>&#xe832;</span>}
/> />
{['QUESTION_INDEX', 'PAPER_INDEX'].includes(this.props.fromModule) && User.getUserRole() !== 'CloudLecturer' && this.props.type !== 'modal-select' && ( {['QUESTION_INDEX', 'PAPER'].includes(this.props.fromModule) && User.getUserRole() !== 'CloudLecturer' && this.props.type !== 'modal-select' && (
<div className='sider-btn'> <div className='sider-btn'>
<Button <Button
onClick={() => { onClick={() => {
...@@ -207,7 +207,7 @@ class CourseCategorySiderTree extends Component { ...@@ -207,7 +207,7 @@ class CourseCategorySiderTree extends Component {
</Button> </Button>
</div> </div>
)} )}
<div className='sider-tree'> <div className={`sider-tree ${this.props.type === 'modal-select' ? 'modal-sider-tree' : 'page-sider-tree'}`}>
<DirectoryTree <DirectoryTree
expandedKeys={expandedKeys} expandedKeys={expandedKeys}
autoExpandParent={autoExpandParent} autoExpandParent={autoExpandParent}
......
...@@ -16,15 +16,21 @@ ...@@ -16,15 +16,21 @@
margin-bottom: 16px; margin-bottom: 16px;
} }
.modal-sider-tree {
height: calc(60vh - 61px);
}
.page-sider-tree {
height: calc(100vh - 300px);
}
.sider-tree { .sider-tree {
width: 244px; width: 244px;
overflow: scroll; overflow: scroll;
height: calc(100vh - 300px);
.empty-tree-tip { .empty-tree-tip {
text-align: center; text-align: center;
margin-top: 100%; margin-top: 100%;
.empty-tree-btn { .empty-tree-btn {
color: #2966FF; color: #2966ff;
cursor: pointer; cursor: pointer;
} }
} }
...@@ -44,7 +50,7 @@ ...@@ -44,7 +50,7 @@
white-space: nowrap; white-space: nowrap;
} }
.ant-tree-node-content-wrapper.ant-tree-node-selected { .ant-tree-node-content-wrapper.ant-tree-node-selected {
color: #2966FF; color: #2966ff;
} }
} }
.ant-tree-treenode-selected:hover::before, .ant-tree-treenode-selected:hover::before,
......
/*
* @Author: yuananting
* @Date: 2021-06-16 10:14:37
* @LastEditors: yuananting
* @LastEditTime: 2021-07-27 14:04:03
* @Description: 描述一下咯
* @Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
*/
import React, { useState, useRef, useEffect, useContext } from 'react' import React, { useState, useRef, useEffect, useContext } from 'react'
import { message, Modal } from 'antd'; import { message, Modal } from 'antd';
import { withRouter } from 'react-router-dom'; import { withRouter } from 'react-router-dom';
...@@ -12,14 +20,14 @@ function SelectPaperModal(props: any) { ...@@ -12,14 +20,14 @@ function SelectPaperModal(props: any) {
useEffect(() => { useEffect(() => {
itemRef.current = item itemRef.current = item
console.log(item, 'khjkhjkhjk')
}, [item]) }, [item])
return <Modal return <Modal
maskClosable={false} maskClosable={false}
width={900} width={1080}
title="选择试卷" title="选择试卷"
visible={true} visible={true}
centered={true}
onOk={() => { onOk={() => {
props.onSelect(itemRef.current); props.onSelect(itemRef.current);
props.close(); props.close();
...@@ -27,9 +35,7 @@ function SelectPaperModal(props: any) { ...@@ -27,9 +35,7 @@ function SelectPaperModal(props: any) {
} }
onCancel={() => { props.close() }} onCancel={() => { props.close() }}
> >
<div style={{ maxHeight: 500 }}>
<PaperContent paperId={item.paperId} onSelect={(item: any) => { setItem(item) }} type='modal-select'></PaperContent> <PaperContent paperId={item.paperId} onSelect={(item: any) => { setItem(item) }} type='modal-select'></PaperContent>
</div>
</Modal > </Modal >
} }
......
...@@ -18,4 +18,8 @@ ...@@ -18,4 +18,8 @@
background: #fafafa; background: #fafafa;
} }
} }
.ant-table-wrapper {
max-height: calc(100vh - 280px);
overflow: scroll;
}
} }
...@@ -7,7 +7,8 @@ ...@@ -7,7 +7,8 @@
.table-style { .table-style {
border: 1px solid #f0f0f0 !important; border: 1px solid #f0f0f0 !important;
margin-bottom: 70px; margin-bottom: 70px;
max-height: calc(~'100vh - 465px'); max-height: calc(~'100vh - 437px');
min-height: 323px;
overflow: scroll; overflow: scroll;
} }
.ant-tabs { .ant-tabs {
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* @Author: yuananting * @Author: yuananting
* @Date: 2021-03-27 14:55:14 * @Date: 2021-03-27 14:55:14
* @LastEditors: yuananting * @LastEditors: yuananting
* @LastEditTime: 2021-04-07 10:25:44 * @LastEditTime: 2021-07-27 13:33:51
* @Description: 助学工具-试卷主页面 * @Description: 助学工具-试卷主页面
* @Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有 * @Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
*/ */
...@@ -19,14 +19,14 @@ class PaperContent extends Component { ...@@ -19,14 +19,14 @@ class PaperContent extends Component {
render() { render() {
return ( return (
<div className={this.props.type == "modal-select"? "paper-content-page paper-content-modal":"paper-content-page"} > <div className="paper-content-page" >
<div <div
style={{ borderRight: "0.5px solid #EEEEEE", paddingRight: "4px" }} style={{ borderRight: "0.5px solid #EEEEEE", paddingRight: "4px" }}
> >
<div className="sider" > <div className="sider" >
<CourseCategorySiderTree <CourseCategorySiderTree
type={this.props.type} type={this.props.type}
fromModule="PAPER_INDEX" fromModule="PAPER"
/> />
</div> </div>
</div> </div>
......
.paper-content-page { .paper-content-page {
display: flex; display: flex;
&.paper-content-modal{
max-height: 500px;
.sider,.content{
max-height: 100%;
overflow: auto;
}
.content{
height: auto;
overflow: auto;
}
}
.sider { .sider {
min-width: 244px; min-width: 244px;
} }
.content { .content {
width: 100%; width: 100%;
margin-left: 24px; margin-left: 24px;
height: calc(100vh - 160px); .modal-paper-list {
.ant-table-wrapper {
overflow: scroll;
height: calc(60vh - 109px);
border: 1px solid #e8e8e8;
}
}
.page-paper-list {
height: calc(100vh - 260px);
overflow: scroll;
}
.ant-table-column-sorters {
padding: 0;
}
.ant-table-tbody > tr > td {
border: none;
}
} }
} }
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* @Author: yuananting * @Author: yuananting
* @Date: 2021-02-25 11:23:47 * @Date: 2021-02-25 11:23:47
* @LastEditors: yuananting * @LastEditors: yuananting
* @LastEditTime: 2021-07-13 15:16:52 * @LastEditTime: 2021-07-27 13:59:01
* @Description: 助学工具-题库-试卷列表数据 * @Description: 助学工具-题库-试卷列表数据
* @Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有 * @Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
*/ */
...@@ -616,7 +616,7 @@ class PaperList extends Component { ...@@ -616,7 +616,7 @@ class PaperList extends Component {
</div> </div>
)} )}
<div className="paper-list-content"> <div className={`paper-list-content ${this.props.type == "modal-select" ? "modal-paper-list" : "page-paper-list"}`}>
{this.props.type !== "modal-select" ? ( {this.props.type !== "modal-select" ? (
<XMTable <XMTable
rowKey={(record) => record.paperId} rowKey={(record) => record.paperId}
...@@ -642,7 +642,6 @@ class PaperList extends Component { ...@@ -642,7 +642,6 @@ class PaperList extends Component {
rowSelection={rowSelection} rowSelection={rowSelection}
columns={this.parseColumns()} columns={this.parseColumns()}
pagination={false} pagination={false}
bordered
renderEmpty={{ renderEmpty={{
image: college, image: college,
description: <span style={{ display: 'block', paddingBottom: 24 }}>还没有试卷</span> description: <span style={{ display: 'block', paddingBottom: 24 }}>还没有试卷</span>
...@@ -656,7 +655,6 @@ class PaperList extends Component { ...@@ -656,7 +655,6 @@ class PaperList extends Component {
current={current - 1} current={current - 1}
pageSize={size} pageSize={size}
total={total} total={total}
size={this.props.type == "modal-select" ? "small" : "middle"}
toPage={(page) => { toPage={(page) => {
const _query = { ...query, current: page + 1 }; const _query = { ...query, current: page + 1 };
this.setState({ query: _query }, () => this.setState({ query: _query }, () =>
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
.select-box { .select-box {
display: flex; display: flex;
align-items: center; align-items: center;
margin-bottom: 12px;
.select-container { .select-container {
margin-right: 24px; margin-right: 24px;
.con { .con {
...@@ -74,9 +75,6 @@ ...@@ -74,9 +75,6 @@
} }
.paper-list-content { .paper-list-content {
position: relative; position: relative;
margin-top: 12px;
height: calc(100vh - 260px);
overflow: scroll;
.empty-list-tip { .empty-list-tip {
color: #2966ff; color: #2966ff;
cursor: pointer; cursor: pointer;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* @Author: yuananting * @Author: yuananting
* @Date: 2021-02-25 11:23:47 * @Date: 2021-02-25 11:23:47
* @LastEditors: yuananting * @LastEditors: yuananting
* @LastEditTime: 2021-05-30 18:17:05 * @LastEditTime: 2021-07-27 14:00:12
* @Description: 助学工具-新建试卷-选择题目列表 * @Description: 助学工具-新建试卷-选择题目列表
* @Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有 * @Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
*/ */
...@@ -431,7 +431,6 @@ class SelectQuestionList extends Component { ...@@ -431,7 +431,6 @@ class SelectQuestionList extends Component {
columns={this.parseColumns()} columns={this.parseColumns()}
pagination={false} pagination={false}
onChange={this.handleChangeTable} onChange={this.handleChangeTable}
bordered
/> />
<div className="box-footer"> <div className="box-footer">
<PageControl <PageControl
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* @Author: yuananting * @Author: yuananting
* @Date: 2021-03-29 10:52:26 * @Date: 2021-03-29 10:52:26
* @LastEditors: yuananting * @LastEditors: yuananting
* @LastEditTime: 2021-06-07 14:45:02 * @LastEditTime: 2021-07-27 13:53:14
* @Description: 助学工具-试卷-新建选择题目弹窗 * @Description: 助学工具-试卷-新建选择题目弹窗
* @Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有 * @Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
*/ */
...@@ -40,6 +40,7 @@ class SelectQuestionModal extends Component { ...@@ -40,6 +40,7 @@ class SelectQuestionModal extends Component {
title="选择题目" title="选择题目"
visible={true} visible={true}
width={1080} width={1080}
centered={true}
onOk={() => { onOk={() => {
this.props.setSelectedQuestion( this.props.setSelectedQuestion(
this.listRef.current.state.selectQuestionKeys.map((item, index) => { this.listRef.current.state.selectQuestionKeys.map((item, index) => {
...@@ -60,15 +61,15 @@ class SelectQuestionModal extends Component { ...@@ -60,15 +61,15 @@ class SelectQuestionModal extends Component {
}} }}
onCancel={this.props.close} onCancel={this.props.close}
> >
<div className="box content-body" style={{maxHeight:500}}> <div className="box content-body">
<div <div
style={{ borderRight: "0.5px solid #EEEEEE", paddingRight: "4px",overflowY:'auto',overflowX:'hidden'}} style={{ borderRight: "0.5px solid #EEEEEE", paddingRight: "4px" }}
> >
<div className="sider"> <div className="sider">
<CourseCategorySiderTree fromModule="QUESTION_MODAL" /> <CourseCategorySiderTree fromModule="QUESTION_MODAL" type="modal-select" />
</div> </div>
</div> </div>
<div className="content" style={{height:'auto',overflowY:'auto'}}> <div className="content">
<SelectQuestionList ref={this.listRef} /> <SelectQuestionList ref={this.listRef} />
</div> </div>
</div> </div>
......
.select-question-modal { .select-question-modal {
.content-body { .content-body {
display: flex; display: flex;
height: calc(~'100% - 48px');
.sider { .sider {
min-width: 244px; min-width: 244px;
} }
.content { .content {
width: 100%; width: 100%;
margin-left: 24px; margin-left: 24px;
height: calc(100vh - 160px); .select-question-list {
.select-question-content {
.ant-table-wrapper {
overflow: scroll;
height: calc(60vh - 159px);
border: 1px solid #E8E8E8;
}
}
}
} }
} }
.ant-table-column-sorters { .ant-table-column-sorters {
padding: 0; padding: 0;
} }
} .ant-table-tbody > tr > td {
.select-question-modal.ant-modal { border: none;
max-height: 70% !important; }
} }
\ No newline at end of file
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* @Author: yuananting * @Author: yuananting
* @Date: 2021-02-21 17:51:01 * @Date: 2021-02-21 17:51:01
* @LastEditors: yuananting * @LastEditors: yuananting
* @LastEditTime: 2021-04-07 10:45:07 * @LastEditTime: 2021-07-27 13:11:51
* @Description: 助学工具-题库 * @Description: 助学工具-题库
* @Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有 * @Copyrigh: © 2020 杭州杰竞科技有限公司 版权所有
*/ */
...@@ -26,7 +26,7 @@ class QuestionIndex extends Component { ...@@ -26,7 +26,7 @@ class QuestionIndex extends Component {
style={{ borderRight: "0.5px solid #EEEEEE", paddingRight: "4px" }} style={{ borderRight: "0.5px solid #EEEEEE", paddingRight: "4px" }}
> >
<div className="sider"> <div className="sider">
<CourseCategorySiderTree fromModule="QUESTION_INDEX" /> <CourseCategorySiderTree fromModule="QUESTION_INDEX" type="" />
</div> </div>
</div> </div>
<div className="content"> <div className="content">
......
...@@ -46,12 +46,12 @@ const mainRoutes = [ ...@@ -46,12 +46,12 @@ const mainRoutes = [
{ {
path: '/employees-manage', path: '/employees-manage',
component: EmployeesManagePage, component: EmployeesManagePage,
name: '员工管理', name: '角色管理',
}, },
{ {
path: '/college-employee', path: '/college-employee',
component: EmployeeManage, component: EmployeeManage,
name: '员工管理', name: '角色管理',
}, },
{ {
path: '/personal-info', path: '/personal-info',
......
...@@ -99,14 +99,14 @@ export const menuList: any = [ ...@@ -99,14 +99,14 @@ export const menuList: any = [
selectImg: 'https://image.xiaomaiketang.com/xm/5sN4MzjxYc.png', selectImg: 'https://image.xiaomaiketang.com/xm/5sN4MzjxYc.png',
}, },
{ {
groupName: '人员管理', groupName: '权限管理',
groupCode: 'PersonManage', groupCode: 'PersonManage',
icon: '&#xe8a4;', icon: '&#xe8a4;',
img: 'https://image.xiaomaiketang.com/xm/PRCnrt35y8.png', img: 'https://image.xiaomaiketang.com/xm/PRCnrt35y8.png',
selectImg: 'https://image.xiaomaiketang.com/xm/GhkwbdpwfK.png', selectImg: 'https://image.xiaomaiketang.com/xm/GhkwbdpwfK.png',
children: [ children: [
{ {
groupName: '员工管理', groupName: '角色管理',
groupCode: 'ShopStaff', groupCode: 'ShopStaff',
link: '/college-employee', link: '/college-employee',
}, },
......
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