|
|
|
@ -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 KÝ 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"> |
|
|
|
|