fix bug 2606

liuvanquyet
HOANGLAOTA 1 year ago
parent dfa86403d6
commit d0f81c0b94
  1. 4
      src/_components/Modal/ModalConfirmOTP/ModalConfirmOTP.jsx
  2. 3
      src/_containers/RegisterPage/RegisterPage.js
  3. 45
      src/_containers/RegisterPage/components/AddClassName/index.js
  4. 15
      src/_containers/RegisterPage/components/AddClassName/index.scss
  5. 4
      src/_containers/RegisterPage/components/UpdateInformation/index.scss
  6. 9
      src/_containers/RegisterPage/register.scss

@ -120,7 +120,7 @@ const ModalConfirmOTP = (props) => {
XÁC NHẬN XÁC NHẬN
</div> </div>
</ButtonNews> </ButtonNews>
<ButtonNews {/* <ButtonNews
className={'otp-btn-responsive'} className={'otp-btn-responsive'}
width="15rem" width="15rem"
height="3.5rem" height="3.5rem"
@ -133,7 +133,7 @@ const ModalConfirmOTP = (props) => {
<div className="fz-12 fz-09-mobile color-primary-green font_news_bold"> <div className="fz-12 fz-09-mobile color-primary-green font_news_bold">
ĐĂNG NHẬP ĐĂNG NHẬP
</div> </div>
</ButtonNews> </ButtonNews> */}
</div> </div>
</div> </div>
</div> </div>

@ -88,6 +88,7 @@ function RegisterPage() {
year_of_birth: dataUpdateInfo.birthday?.getFullYear(), year_of_birth: dataUpdateInfo.birthday?.getFullYear(),
school_id: dataAddressStudying?.school_id, school_id: dataAddressStudying?.school_id,
organization_code: dataAddressStudying?.organization, organization_code: dataAddressStudying?.organization,
list_class: dataClassName?.list_class || []
}; };
data.birthday = moment(dataUpdateInfo.birthday).format("YYYY-MM-DD"); data.birthday = moment(dataUpdateInfo.birthday).format("YYYY-MM-DD");
setPopupMessageRegisterTeacher(false); setPopupMessageRegisterTeacher(false);
@ -113,6 +114,7 @@ function RegisterPage() {
year_of_birth: dataUpdateInfo.birthday?.getFullYear(), year_of_birth: dataUpdateInfo.birthday?.getFullYear(),
school_id: dataAddressStudying?.school_id, school_id: dataAddressStudying?.school_id,
organization_code: dataAddressStudying?.organization, organization_code: dataAddressStudying?.organization,
list_class: dataClassName?.list_class || []
}; };
if (userConstants.ROLE_TEACHER == dataStepRole.role) { if (userConstants.ROLE_TEACHER == dataStepRole.role) {
data.birthday = moment(dataUpdateInfo.birthday).format("YYYY-MM-DD"); data.birthday = moment(dataUpdateInfo.birthday).format("YYYY-MM-DD");
@ -255,6 +257,7 @@ function RegisterPage() {
setData={setDataClassName} setData={setDataClassName}
step={step} step={step}
role={dataStepRole.role} role={dataStepRole.role}
org={dataAddressStudying.organization}
/> />
</div> </div>
<div <div

@ -3,12 +3,7 @@ import InputText from "../../../../_components/Auth/InputText";
import "./index.scss"; import "./index.scss";
import { stepAuthConstants } from "../../../../_constants/auth"; import { stepAuthConstants } from "../../../../_constants/auth";
import $ from "jquery"; import $ from "jquery";
import { apiCaller } from "../../../../_helpers";
const fakeListClass = [
{class_nickname : "a", is_assign : true},
{class_nickname : "b", is_assign : false},
{class_nickname : "c", is_assign : false}
]
export default function AddClassName(props) { export default function AddClassName(props) {
@ -27,11 +22,8 @@ export default function AddClassName(props) {
} }
const nextStep = () => { const nextStep = () => {
const data = {} const data = {
if(role === 'student') { list_class: listClass.map(item => item.name)
data.class_nickname = className
} else {
data.list_class = listClass.map(item => item.name)
} }
props.setData(data); props.setData(data);
props.setStep(stepAuthConstants.STEP_UPDATE_ACCOUNT); props.setStep(stepAuthConstants.STEP_UPDATE_ACCOUNT);
@ -70,11 +62,18 @@ export default function AddClassName(props) {
setIsChecked(false) setIsChecked(false)
} }
const handleCheckClass = () => { const handleCheckClass = async () => {
setIsLoading(true) setIsLoading(true)
setTimeout(() => { try {
const url = '/api_register/check_teacher_class'
const data = {
organization_code: props?.org,
class_nickname: listClass.map(item => item.name).toString()
}
const res = await apiCaller(url,'POST', data, null, true)
if(res?.status) {
let newList = listClass.map(className => { let newList = listClass.map(className => {
const sameClass = fakeListClass.find(item => item.class_nickname === className.name) const sameClass = res?.data?.find(item => item.class_nickname === className.name)
if(sameClass) { if(sameClass) {
return { return {
...className, ...className,
@ -90,11 +89,13 @@ export default function AddClassName(props) {
} }
} }
} }
setListClass(newList) setListClass(newList)
setIsLoading(false) setIsLoading(false)
setIsChecked(true) setIsChecked(true)
}, 1000) }
} catch (e) {
setIsLoading(false)
}
} }
const renderClassIcon = () => { const renderClassIcon = () => {
@ -133,7 +134,7 @@ export default function AddClassName(props) {
<div className="sunE-custom-form login-form-container_content responsive_small_screen_margin_login"> <div className="sunE-custom-form login-form-container_content responsive_small_screen_margin_login">
<h2 className="title_register title text-center">ĐĂNG TÀI KHOẢN</h2> <h2 className="title_register title text-center">ĐĂNG TÀI KHOẢN</h2>
<h3 className="step_register_name text-center"> <h3 className="step_register_name text-center">
{`3. ${role === 'student' ? "Chọn lớp" : "Tạo lớp"}`} {`4. Tạo lớp`}
</h3> </h3>
<div className="add-class-content"> <div className="add-class-content">
<form <form
@ -153,8 +154,8 @@ export default function AddClassName(props) {
autoFocus = {true} autoFocus = {true}
/> : ( /> : (
<div> <div>
<p className="add-class-content-label-list">Dạy các lớp:</p> {/* <p className="add-class-content-label-list">Dạy các lớp:</p> */}
<div className="add-class-content-list"> <div className="add-class-content-list scrollbar-custom">
{listClass?.map((item, index) => ( {listClass?.map((item, index) => (
<div key={index} className="add-class-content-item"> <div key={index} className="add-class-content-item">
<InputText <InputText
@ -177,15 +178,17 @@ export default function AddClassName(props) {
</div>} </div>}
</div> </div>
))} ))}
{!!listClass[listClass.length - 1]?.name && </div>
<div className="sub-action-container"> <div className="sub-action-container">
{!!listClass[listClass.length - 1]?.name &&
<>
<button className={"btn-line-blue btn-add-more"} onClick={handleAddMoreClass}> <button className={"btn-line-blue btn-add-more"} onClick={handleAddMoreClass}>
<span>Thêm lớp</span> <span>Thêm lớp</span>
</button> </button>
{!isChecked && <button className={"btn-line-blue btn-check"} onClick={handleCheckClass}> {!isChecked && <button className={"btn-line-blue btn-check"} onClick={handleCheckClass}>
<span>Kiểm tra</span> <span>Kiểm tra</span>
</button>} </button>}
</div> </>
} }
</div> </div>
</div> </div>

@ -32,8 +32,8 @@ $normal-class: #979797;
} }
.add-class-content { .add-class-content {
margin-bottom: 24px; // margin-bottom: 24px;
padding-top: 24px; padding-bottom: 24px;
&_list { &_list {
display: flex; display: flex;
@ -69,6 +69,15 @@ $normal-class: #979797;
.add-class-content-list { .add-class-content-list {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
max-height: 42vh;
padding: 16px 32px 0;
overflow-y: auto;
@media screen and (max-width: 768px) {
overflow-y: unset;
padding: 0;
max-height: unset;
}
} }
.add-class-content-item { .add-class-content-item {
@ -112,6 +121,8 @@ $normal-class: #979797;
.sub-action-container { .sub-action-container {
display: flex; display: flex;
margin-top: 16px; margin-top: 16px;
padding: 0 32px;
height: 40px;
span { span {
font-size: medium; font-size: medium;

@ -35,7 +35,7 @@
&_content { &_content {
margin: 0 auto; margin: 0 auto;
margin-top: 88px; // margin-top: 88px;
@media screen and (max-height: 800px) { @media screen and (max-height: 800px) {
margin-top: -130px; margin-top: -130px;
@ -197,6 +197,8 @@
.login_text { .login_text {
width: fit-content; width: fit-content;
cursor: pointer; cursor: pointer;
padding: 0 8px;
margin-bottom: 32px;
&:hover { &:hover {

@ -36,13 +36,18 @@ $loading-color: #f8f8f8;
&_content { &_content {
margin: 0 auto; margin: 0 auto;
margin-top: 50px; // margin-top: 50px;
max-width: 450px; max-width: 500px;
@media screen and (max-height: 800px) { @media screen and (max-height: 800px) {
margin-top: -145px; margin-top: -145px;
} }
@media screen and (max-width: 768px) {
margin-top: 10px !important;
}
.title { .title {
font-size: 32px; font-size: 32px;
text-transform: uppercase; text-transform: uppercase;

Loading…
Cancel
Save