vueTeacher.js 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  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. <<<<<<< HEAD
  25. <<<<<<< HEAD
  26. =======
  27. >>>>>>> b5fe990a18b258e28401117b0be0a70e1a10db12
  28. // addTeacher() =>{
  29. // let surname = document.querySelector('.surname').value
  30. // let name = document.querySelector('.name').value
  31. // let patronymic = document.querySelector('.patronymic').value
  32. // }
  33. <<<<<<< HEAD
  34. =======
  35. >>>>>>> master
  36. =======
  37. >>>>>>> b5fe990a18b258e28401117b0be0a70e1a10db12
  38. var vueApp = new Vue({
  39. el: '#app',
  40. delimiters: ['${', '}'],
  41. data: {
  42. selected:null,
  43. teachers:[],
  44. classrooms:[]
  45. },
  46. methods: {
  47. showTeachers() {
  48. console.log(this.teachers)
  49. },
  50. async getTeachers(){
  51. this.teachers = await requestFunc("/teacher", "GET")
  52. },
  53. async getClassrooms(){
  54. classrooms = await requestFunc("/classroom", "GET")
  55. for(let i =0; i < classrooms.length; i++) {
  56. <<<<<<< HEAD
  57. <<<<<<< HEAD
  58. //this.classrooms.push(classrooms[i])
  59. //this.classrooms.$set(i,classrooms[i]);
  60. =======
  61. >>>>>>> master
  62. =======
  63. //this.classrooms.push(classrooms[i])
  64. //this.classrooms.$set(i,classrooms[i]);
  65. >>>>>>> b5fe990a18b258e28401117b0be0a70e1a10db12
  66. Vue.set(this.classrooms, i, classrooms[i]);
  67. }
  68. },
  69. async mountFunc(){
  70. await this.getTeachers()
  71. await this.getClassrooms()
  72. },
  73. },
  74. async mounted() {
  75. await this.mountFunc()
  76. console.log(this.classrooms)
  77. }
  78. });
  79. addTeacher = () =>{
  80. let surname = document.querySelector('.surname').value
  81. let name = document.querySelector('.name').value
  82. let patronymic = document.querySelector('.patronymic').value
  83. var select = document.getElementById("selectClassroom");
  84. var value = select.value;
  85. var myHeaders = new Headers();
  86. myHeaders.append("Content-Type", "application/json");
  87. var raw = {"Surname":surname,"Name":name,"IDCLassroom":Number(value),"Patronymic": patronymic};
  88. requestFunc(url="/teacher/", method="POST", data=raw)
  89. alert("Добавлено")
  90. }