vueTeacher.js 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. const requestFunc = async(url, method = "GET", data = null, token = null) => {
  2. apihost = 'http://schedule.tomtit.tomsk.ru/api'
  3. method = method.toLocaleUpperCase()
  4. let fullurl = `${apihost}${url}`;
  5. let options = {
  6. method: method,
  7. headers: {
  8. "Content-Type": "application/json",
  9. "Authorization": `Bearer ${token}`,
  10. },
  11. };
  12. switch(method) {
  13. case "PUT":
  14. delete options.headers["Content-Type"];
  15. options.body = data;
  16. break;
  17. case "POST": case "PATCH": case "DELETE":
  18. options.body = JSON.stringify(data);
  19. break;
  20. }
  21. const res = await fetch(fullurl, options);
  22. return await res.json();
  23. };
  24. // addTeacher() =>{
  25. // let surname = document.querySelector('.surname').value
  26. // let name = document.querySelector('.name').value
  27. // let patronymic = document.querySelector('.patronymic').value
  28. // }
  29. var vueApp = new Vue({
  30. el: '#app',
  31. delimiters: ['${', '}'],
  32. data: {
  33. selected:null,
  34. teachers:[],
  35. classrooms:[]
  36. },
  37. methods: {
  38. showTeachers() {
  39. console.log(this.teachers)
  40. },
  41. async getTeachers(){
  42. this.teachers = await requestFunc("/teacher", "GET")
  43. },
  44. async getClassrooms(){
  45. classrooms = await requestFunc("/classroom", "GET")
  46. for(let i =0; i < classrooms.length; i++) {
  47. //this.classrooms.push(classrooms[i])
  48. //this.classrooms.$set(i,classrooms[i]);
  49. Vue.set(this.classrooms, i, classrooms[i]);
  50. }
  51. },
  52. async mountFunc(){
  53. await this.getTeachers()
  54. await this.getClassrooms()
  55. },
  56. },
  57. async mounted() {
  58. await this.mountFunc()
  59. console.log(this.classrooms)
  60. }
  61. });
  62. addTeacher = () =>{
  63. let surname = document.querySelector('.surname').value
  64. let name = document.querySelector('.name').value
  65. let patronymic = document.querySelector('.patronymic').value
  66. var select = document.getElementById("selectClassroom");
  67. var value = select.value;
  68. var myHeaders = new Headers();
  69. myHeaders.append("Content-Type", "application/json");
  70. var raw = {"Surname":surname,"Name":name,"IDCLassroom":Number(value),"Patronymic": patronymic};
  71. requestFunc(url="/teacher/", method="POST", data=raw)
  72. alert("Добавлено")
  73. }