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);