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

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

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

@ -32,8 +32,8 @@ $normal-class: #979797;
}
.add-class-content {
margin-bottom: 24px;
padding-top: 24px;
// margin-bottom: 24px;
padding-bottom: 24px;
&_list {
display: flex;
@ -69,6 +69,15 @@ $normal-class: #979797;
.add-class-content-list {
display: flex;
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 {
@ -112,6 +121,8 @@ $normal-class: #979797;
.sub-action-container {
display: flex;
margin-top: 16px;
padding: 0 32px;
height: 40px;
span {
font-size: medium;

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

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

Loading…
Cancel
Save