diff --git a/app/services/create_bind_user_service.rb b/app/services/create_bind_user_service.rb index f7fc5b6f6..86ac6c93b 100644 --- a/app/services/create_bind_user_service.rb +++ b/app/services/create_bind_user_service.rb @@ -17,7 +17,7 @@ class CreateBindUserService < ApplicationService bind_user = User.try_to_login(params[:username], params[:password]) raise Error, '用户名或者密码错误' if bind_user.blank? - raise Error, '该账号已被其他微信号绑定,请更换其他账号进行绑定' if bind_user.bind_open_user?(params[:type].to_s) + raise Error, '该账号已被绑定,请更换其他账号进行绑定' if bind_user.bind_open_user?(params[:type].to_s) ActiveRecord::Base.transaction do open_user.user_id = bind_user.id diff --git a/public/react/src/modules/comment/Comments.js b/public/react/src/modules/comment/Comments.js index 9ef91ef46..5ff5fa8ab 100644 --- a/public/react/src/modules/comment/Comments.js +++ b/public/react/src/modules/comment/Comments.js @@ -51,6 +51,11 @@ const _origin = window.location.origin; /* + tpi讨论、交流问答帖子详情讨论、课堂讨论的公用模块: + https://www.educoder.net/tasks/n2ejvaowk6l9 + https://www.educoder.net/forums/2629 + 注意不同模块使用时的参数的不同 usingAntdModal onlySuperAdminCouldHide isChildCommentPagination等等 + 用到的props: user user_url image_url @@ -67,6 +72,8 @@ const _origin = window.location.origin; onlySuperAdminCouldHide 只有超级管理员才显示隐藏、取消隐藏 isChildCommentPagination 是否子回复分页 loadMoreChildComments function 加载所有子回复 + + usingAntdModal 是否使用antd的弹框 接口 deleteComment 删除 diff --git a/public/react/src/modules/courses/exercise/new/SingleEditor.js b/public/react/src/modules/courses/exercise/new/SingleEditor.js index 69f63821e..08ab4fd90 100644 --- a/public/react/src/modules/courses/exercise/new/SingleEditor.js +++ b/public/react/src/modules/courses/exercise/new/SingleEditor.js @@ -297,7 +297,7 @@ class SingleEditor extends Component{
{!exerciseIsPublish ? '温馨提示:点击选项输入框可设置答案;选中的选项即为正确答案,选择多个答案即为多选题' : ' '} + style={{color: '#FF6800'}}>{'温馨提示:点击选项输入框可设置答案;选中的选项即为正确答案,选择多个答案即为多选题'} { answerTagArray && !!answerTagArray.length ? {answerTagArray.join(' ')} diff --git a/public/react/src/modules/user/account/AccountCertification.js b/public/react/src/modules/user/account/AccountCertification.js index e1bdc1372..00f8f3230 100644 --- a/public/react/src/modules/user/account/AccountCertification.js +++ b/public/react/src/modules/user/account/AccountCertification.js @@ -4,6 +4,7 @@ import { WordsBtn, getImageUrl } from 'educoder'; import RealNameCertificationModal from '../modal/RealNameCertificationModal' import '../../courses/css/Courses.css' import {CNotificationHOC} from '../../courses/common/CNotificationHOC' +import axios from 'axios'; class AccountCertification extends Component { @@ -29,6 +30,40 @@ class AccountCertification extends Component { } + + + // 撤销认证 + cancelCertification=(type)=>{ + this.props.confirm({ + okText: '确认', + content: '是否确认撤销认证?', + onOk: () => { + this.cancelCertificationAction(type); + } + }) + } + + cancelCertificationAction=(type)=>{ + let login =this.props.current_user.login; + var url = `/users/accounts/${login}/${ type == 1 ? 'authentication_apply.json':'professional_auth_apply.json'}`; + axios.delete(url).then((result)=>{ + if(result){ + this.props.showNotification("撤销成功!"); + try { + this.props.getBasicInfo(); + } catch (e) { + } + try { + this.props.Getdata(); + } catch (e) { + + } + } + }).catch((error)=>{ + console.log(error); + }) + } + showRealNameCertificationModal = (index) => { this.setState({ certification:index, @@ -75,7 +110,6 @@ class AccountCertification extends Component { color: #CDCDCD; } .flexRow .status { - width: 100px; color: #28AC7F; } `} @@ -87,9 +121,17 @@ class AccountCertification extends Component {
{ basicInfo && basicInfo.authentication =="uncertified" ? - this.checkBasicInfo(1)} >立即认证: - basicInfo && basicInfo.authentication =="applying" ? 待审核: - 已认证 + this.checkBasicInfo(1)} >立即认证: + basicInfo && basicInfo.authentication =="applying" ? + + this.cancelCertification(1)}>撤销认证 + 待审核 + + : + + this.checkBasicInfo(1)}>重新认证 + 已认证 + }
@@ -103,9 +145,18 @@ class AccountCertification extends Component {
{ basicInfo && basicInfo.professional_certification =="uncertified" ? - this.checkBasicInfo(2)} >立即认证: - basicInfo && basicInfo.professional_certification =="applying" ? 待审核: - 已认证 + this.checkBasicInfo(2)} >立即认证 + : + basicInfo && basicInfo.professional_certification =="applying" ? + + this.cancelCertification(2)}>撤销认证 + 待审核 + + : + + this.checkBasicInfo(2)} >重新认证 + 已认证 + }
diff --git a/public/react/src/modules/user/modal/RealNameCertificationModal.js b/public/react/src/modules/user/modal/RealNameCertificationModal.js index 53b32f679..4ac7f3c82 100644 --- a/public/react/src/modules/user/modal/RealNameCertificationModal.js +++ b/public/react/src/modules/user/modal/RealNameCertificationModal.js @@ -55,47 +55,45 @@ class RealNameCertificationModal extends Component{ } } - componentDidMount() { - console.log("RealNameCertificationModal"); - console.log(this.props.basicInfo); - if(this.props.basicInfo){ +// 弹框出现(visible==true)时给formitem赋值 + setVisible = (visible) => { + this.refs.modalWrapper.setVisible(visible); + if(visible && this.props.basicInfo){ this.setValue(this.props.basicInfo); this.getSchoolList(this.props.basicInfo); } } + setValue=(basicInfo)=>{ + // debugger; if(basicInfo){ this.props.form.setFieldsValue({ nickname:basicInfo.nickname, name:!basicInfo.show_realname ? this.hideRealName(basicInfo.name) : basicInfo.name, - sex:String(basicInfo.gender), job:basicInfo.identity, - org:basicInfo.school_name, - - // city:[basicInfo.location,basicInfo.location_city] + org:basicInfo.school_name }) setTimeout(() => { // 等显示后再set this.props.form.setFieldsValue({ job:basicInfo.identity, + sex:String(basicInfo.gender), student_No:basicInfo.student_id, org2:basicInfo.department_name, job1:basicInfo && basicInfo.identity=="teacher" ? basicInfo.technical_title:"教授", job2:basicInfo && basicInfo.identity=="professional" ? basicInfo.technical_title:"企业管理者", }) }, 100) - //if(basicInfo.nickname){ - this.setState({ - forDisable: true, - nameLength:basicInfo.nickname?basicInfo.nickname.length:0, - showRealName:basicInfo.show_realname, - realName: basicInfo.name, - identity:basicInfo.identity, - school_id:basicInfo.school_id, - department_id:basicInfo.department_id - }) - //} + this.setState({ + forDisable: true, + nameLength:basicInfo.nickname?basicInfo.nickname.length:0, + showRealName:basicInfo.show_realname, + realName: basicInfo.name, + identity:basicInfo.identity, + school_id:basicInfo.school_id, + department_id:basicInfo.department_id + }) } } @@ -256,10 +254,6 @@ class RealNameCertificationModal extends Component{ // } } - setVisible = (visible) => { - this.refs.modalWrapper.setVisible(visible) - } - onSendOk = () => { this.props.form.validateFieldsAndScroll((err, values) => { console.log(values); @@ -273,7 +267,7 @@ class RealNameCertificationModal extends Component{ // 实名认证 let url = `/users/accounts/${current_user && current_user.login}/authentication_apply.json` axios.post((url),{ - name:values.name, + name:values.name || basicInfo.name, gender:parseInt(values.sex), id_number:values.credentials }).then((result)=>{ @@ -289,8 +283,6 @@ class RealNameCertificationModal extends Component{ } this.setVisible(false); - - } }).catch((error)=>{ console.log(error);