Merge branches 'dev_aliyun' and 'new_shixuns_repository' of https://bdgit.educoder.net/Hjqreturn/educoder into new_shixuns_repository
commit
98b1053056
@ -1,6 +1,10 @@
|
|||||||
class MainController < ApplicationController
|
class MainController < ApplicationController
|
||||||
skip_before_action :check_sign
|
skip_before_action :check_sign
|
||||||
|
|
||||||
|
def first_stamp
|
||||||
|
render :json => { status: 0, message: Time.now.to_i }
|
||||||
|
end
|
||||||
|
|
||||||
def index
|
def index
|
||||||
render file: 'public/react/build/index.html', :layout => false
|
render file: 'public/react/build/index.html', :layout => false
|
||||||
end
|
end
|
||||||
|
@ -0,0 +1,9 @@
|
|||||||
|
class AddIsShixunMarkerForUsers < ActiveRecord::Migration[5.2]
|
||||||
|
def change
|
||||||
|
add_column :users, :is_shixun_marker, :boolean, :default => false
|
||||||
|
|
||||||
|
User.joins(:user_extension)
|
||||||
|
.where(users: {professional_certification: 1}, user_extensions: {identity: 0})
|
||||||
|
.update_all(is_shixun_marker: 1)
|
||||||
|
end
|
||||||
|
end
|
After Width: | Height: | Size: 135 KiB |
@ -0,0 +1,61 @@
|
|||||||
|
/* 中间居中 */
|
||||||
|
.intermediatecenter{
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
/* 简单居中 */
|
||||||
|
.intermediatecenterysls{
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
.spacearound{
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-around;
|
||||||
|
|
||||||
|
}
|
||||||
|
.spacebetween{
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
/* 头顶部居中 */
|
||||||
|
.topcenter{
|
||||||
|
display: -webkit-flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* x轴正方向排序 */
|
||||||
|
/* 一 二 三 四 五 六 七 八 */
|
||||||
|
.sortinxdirection{
|
||||||
|
display: flex;
|
||||||
|
flex-direction:row;
|
||||||
|
}
|
||||||
|
/* x轴反方向排序 */
|
||||||
|
/* 八 七 六 五 四 三 二 一 */
|
||||||
|
.xaxisreverseorder{
|
||||||
|
display: flex;
|
||||||
|
flex-direction:row-reverse;
|
||||||
|
}
|
||||||
|
/* 垂直布局 正方向*/
|
||||||
|
/* 一
|
||||||
|
二
|
||||||
|
三
|
||||||
|
四
|
||||||
|
五
|
||||||
|
六
|
||||||
|
七
|
||||||
|
八 */
|
||||||
|
.verticallayout{
|
||||||
|
display: flex;
|
||||||
|
flex-direction:column;
|
||||||
|
}
|
||||||
|
/* 垂直布局 反方向*/
|
||||||
|
.reversedirection{
|
||||||
|
display: flex;
|
||||||
|
flex-direction:column-reverse;
|
||||||
|
}
|
||||||
|
|
@ -1,118 +1,119 @@
|
|||||||
.basicForm {
|
.basicForm {
|
||||||
background: #fff;
|
background: #fff;
|
||||||
padding: 30px;
|
padding: 30px;
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
min-height: 390px;
|
min-height: 390px;
|
||||||
}
|
}
|
||||||
.basicForm .title {
|
.basicForm .title {
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
padding-left: 30px;
|
padding-left: 30px;
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
}
|
}
|
||||||
.flexTable {
|
.flexTable {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
}
|
}
|
||||||
.flexRow {
|
.flexRow {
|
||||||
display: flex;
|
display: flex;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mb15{margin-bottom: 15px!important;}
|
.mb15{margin-bottom: 15px!important;}
|
||||||
/* BUTTOn */
|
/* BUTTOn */
|
||||||
.ant-btn {
|
.ant-btn {
|
||||||
border-radius: 2px;
|
border-radius: 2px;
|
||||||
}
|
}
|
||||||
button.ant-btn.ant-btn-primary.grayBtn {
|
button.ant-btn.ant-btn-primary.grayBtn {
|
||||||
background: #CBCBCB;
|
background: #CBCBCB;
|
||||||
border-color: #CBCBCB;
|
border-color: #CBCBCB;
|
||||||
}
|
}
|
||||||
.borderBottom {
|
.borderBottom {
|
||||||
border-bottom: 1px solid #4CACFF;
|
border-bottom: 1px solid #4CACFF;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* form ---------------- START */
|
/* form ---------------- START */
|
||||||
.formItemInline {
|
.formItemInline {
|
||||||
display: flex;
|
display: flex;
|
||||||
}
|
}
|
||||||
.formItemInline .ant-form-item-control-wrapper {
|
.formItemInline .ant-form-item-control-wrapper {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
}
|
}
|
||||||
.hideRequireTag .ant-form-item-required:before{
|
.hideRequireTag .ant-form-item-required:before{
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* .basicForm .ant-form-item-label {
|
/* .basicForm .ant-form-item-label {
|
||||||
width: 100px;
|
width: 100px;
|
||||||
padding-right: 10px;
|
padding-right: 10px;
|
||||||
}
|
}
|
||||||
.basicForm .ant-form-item-label label {
|
.basicForm .ant-form-item-label label {
|
||||||
color: #979797
|
color: #979797
|
||||||
} */
|
} */
|
||||||
|
|
||||||
|
|
||||||
.courseNormalForm .ant-select-show-search {
|
.courseNormalForm .ant-select-show-search {
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.courseNormalForm .ant-select-auto-complete.ant-select .ant-input {
|
.courseNormalForm .ant-select-auto-complete.ant-select .ant-input {
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.courseNormalForm .ant-select-search__field__mirror {
|
.courseNormalForm .ant-select-search__field__mirror {
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.courseNormalForm .ant-input-lg {
|
.courseNormalForm .ant-input-lg {
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.courseNormalForm .ant-select-selection--single {
|
.courseNormalForm .ant-select-selection--single {
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.courseNormalForm .ant-select-auto-complete.ant-select .ant-select-selection--single {
|
.courseNormalForm .ant-select-auto-complete.ant-select .ant-select-selection--single {
|
||||||
height: 40px
|
height: 40px
|
||||||
}
|
}
|
||||||
.courseNormalForm .ant-input-affix-wrapper {
|
.courseNormalForm .ant-input-affix-wrapper {
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
/* 职业 */
|
/* 职业 */
|
||||||
.courseNormalForm .ant-select-selection-selected-value {
|
.courseNormalForm .ant-select-selection-selected-value {
|
||||||
line-height: 38px
|
line-height: 38px
|
||||||
}
|
}
|
||||||
.courseNormalForm input {
|
.courseNormalForm input {
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
.autoModal .ant-modal-body{
|
.autoModal .ant-modal-body{
|
||||||
height: auto;
|
height: auto;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (max-height: 765px) {
|
@media screen and (max-height: 765px) {
|
||||||
.autoModal .ant-modal-body {
|
.autoModal .ant-modal-body {
|
||||||
height: 670px;
|
height: 670px;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@media screen and (max-height: 735px) {
|
@media screen and (max-height: 735px) {
|
||||||
.autoModal .ant-modal-body {
|
.autoModal .ant-modal-body {
|
||||||
height: 600px;
|
height: 600px;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@media screen and (max-height: 635px) {
|
@media screen and (max-height: 635px) {
|
||||||
.autoModal .ant-modal-body {
|
.autoModal .ant-modal-body {
|
||||||
height: 500px;
|
height: 500px;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@media screen and (max-height: 566px) {
|
@media screen and (max-height: 566px) {
|
||||||
.autoModal .ant-modal-body {
|
.autoModal .ant-modal-body {
|
||||||
height: 465px;
|
height: 465px;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@media screen and (max-height: 472px) {
|
@media screen and (max-height: 472px) {
|
||||||
.autoModal .ant-modal-body {
|
.autoModal .ant-modal-body {
|
||||||
height: 360px;
|
height: 360px;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,58 +1,86 @@
|
|||||||
import React, { Component } from 'react';
|
import React, { Component } from 'react';
|
||||||
import { SnackbarHOC } from 'educoder';
|
import { SnackbarHOC } from 'educoder';
|
||||||
import {BrowserRouter as Router,Route,Switch} from 'react-router-dom';
|
import {BrowserRouter as Router,Route,Switch} from 'react-router-dom';
|
||||||
import {Tooltip,Menu,Pagination} from 'antd';
|
import {Tooltip,Menu,Pagination} from 'antd';
|
||||||
import Loadable from 'react-loadable';
|
import Loadable from 'react-loadable';
|
||||||
import Loading from '../../../Loading';
|
import Loading from '../../../Loading';
|
||||||
import axios from 'axios';
|
import axios from 'axios';
|
||||||
import {getImageUrl} from 'educoder';
|
import {getImageUrl} from 'educoder';
|
||||||
import { TPMIndexHOC } from '../../tpm/TPMIndexHOC';
|
import { TPMIndexHOC } from '../../tpm/TPMIndexHOC';
|
||||||
import { CNotificationHOC } from '../../courses/common/CNotificationHOC'
|
import { CNotificationHOC } from '../../courses/common/CNotificationHOC';
|
||||||
import "./usersInfo.css"
|
import GotoQQgroup from '../../../modal/GotoQQgroup';
|
||||||
|
|
||||||
class publicCreateNew extends Component{
|
import "./usersInfo.css"
|
||||||
constructor(props){
|
|
||||||
super(props);
|
class publicCreateNew extends Component{
|
||||||
}
|
constructor(props){
|
||||||
|
super(props);
|
||||||
//头部获取是否已经登录了
|
this.state={
|
||||||
getUser=(url)=> {
|
}
|
||||||
if (this.props.user&&this.props.user.email===undefined||this.props.user&&this.props.user.email===null||this.props.user&&this.props.user.email==="") {
|
}
|
||||||
this.props.showNotification("请先绑定邮箱,谢谢");
|
|
||||||
return
|
//头部获取是否已经登录了
|
||||||
}
|
getUser=(url,name)=> {
|
||||||
|
if (this.props.user&&this.props.user.email===undefined||this.props.user&&this.props.user.email===null||this.props.user&&this.props.user.email==="") {
|
||||||
|
this.props.showNotification("请先绑定邮箱,谢谢");
|
||||||
if(url !== undefined || url!==""){
|
return
|
||||||
window.location.href = url;
|
}
|
||||||
}
|
if(name==="新建实训"){
|
||||||
}
|
if(this.props&&this.props.current_user&&this.props.current_user.is_shixun_marker===false){
|
||||||
render() {
|
this.props.setgoshowqqgtounp(true);
|
||||||
let {href,name,index}=this.props;
|
return;
|
||||||
return (
|
}
|
||||||
<div className="square-Item" style={{"height":`${index=="1"?"289":index=="2"?"298":index=="3"?"295":"289"}px`}}>
|
}
|
||||||
<div className="substance substancepad">
|
|
||||||
{this.props.Createtype==="projects"?<a onClick={()=>this.getUser(href)}>
|
|
||||||
<div className="substancenenew">
|
if(url !== undefined || url!==""){
|
||||||
<div className="leftten"></div>
|
window.location.href = url;
|
||||||
<div className="topten"></div>
|
}
|
||||||
</div>
|
}
|
||||||
</a>: <a href={`${href}`}>
|
|
||||||
<div className="substancenenew">
|
getUsers=(url,name)=> {
|
||||||
<div className="leftten"></div>
|
|
||||||
<div className="topten"></div>
|
if(name==="新建实训"){
|
||||||
</div>
|
if(this.props&&this.props.current_user&&this.props.current_user.is_shixun_marker===false){
|
||||||
</a>}
|
this.props.setgoshowqqgtounp(true);
|
||||||
</div>
|
return;
|
||||||
<div className="edu-txt-center course-bottom">
|
}
|
||||||
<div className="inline color-grey-6">
|
}
|
||||||
<span className="fl ml10 mr10 squareIconSpan substancefont">
|
if(url !== undefined || url!==""){
|
||||||
{name}
|
window.location.href = url;
|
||||||
</span>
|
}
|
||||||
</div>
|
}
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
)
|
|
||||||
}
|
render() {
|
||||||
}
|
let {href,name,index}=this.props;
|
||||||
export default publicCreateNew;
|
|
||||||
|
return (
|
||||||
|
<div className="square-Item" style={{"height":`${index=="1"?"289":index=="2"?"298":index=="3"?"295":"289"}px`}}>
|
||||||
|
|
||||||
|
<div className="substance substancepad">
|
||||||
|
{this.props.Createtype==="projects"?<a onClick={()=>this.getUser(href,name)}>
|
||||||
|
<div className="substancenenew">
|
||||||
|
<div className="leftten"></div>
|
||||||
|
<div className="topten"></div>
|
||||||
|
</div>
|
||||||
|
</a>: <a onClick={()=>this.getUsers(href,name)}>
|
||||||
|
<div className="substancenenew">
|
||||||
|
<div className="leftten"></div>
|
||||||
|
<div className="topten"></div>
|
||||||
|
</div>
|
||||||
|
</a>}
|
||||||
|
</div>
|
||||||
|
<div className="edu-txt-center course-bottom">
|
||||||
|
<div className="inline color-grey-6">
|
||||||
|
<span className="fl ml10 mr10 squareIconSpan substancefont">
|
||||||
|
{name}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
export default publicCreateNew;
|
||||||
|
Loading…
Reference in new issue