vueClassrooms.js 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  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. var app = new Vue({
  25. el: '#app',
  26. delimiters: ['${', '}'],
  27. data: {
  28. classrooms:[],
  29. <<<<<<< HEAD
  30. <<<<<<< HEAD
  31. buildings: []
  32. =======
  33. buildings: [],
  34. selectedRow: {
  35. "Code": "",
  36. "Name": "",
  37. "IDDuration": 0,
  38. "ID": ""
  39. },
  40. >>>>>>> master
  41. =======
  42. buildings: []
  43. >>>>>>> b5fe990a18b258e28401117b0be0a70e1a10db12
  44. },
  45. methods: {
  46. showClassrooms() {
  47. console.log(this.classrooms)
  48. },
  49. <<<<<<< HEAD
  50. <<<<<<< HEAD
  51. =======
  52. selectRow(row, index){
  53. let rows = document.querySelectorAll('.clickHover')
  54. console.log(index)
  55. this.selectedRow = row;
  56. // for(let i = 0; i < row.length; i++) {
  57. // rows[i].style.backgroundColor = 'red'
  58. // }
  59. console.log(rows)
  60. console.log(rows[index].style.backgroundColor)
  61. // empty string
  62. if(rows[index].style.backgroundColor != 'red'){
  63. rows[index].style.backgroundColor = 'red'
  64. }
  65. else{
  66. rows[index].style.backgroundColor = 'white'
  67. this.clearSelectedRow()
  68. }
  69. console.log(row)
  70. },
  71. clearSelectedRow(){
  72. this.selectedRow = {
  73. "Code": "",
  74. "Name": "",
  75. "IDDuration": 0
  76. }
  77. },
  78. >>>>>>> master
  79. =======
  80. >>>>>>> b5fe990a18b258e28401117b0be0a70e1a10db12
  81. async getClassrooms(){
  82. this.classrooms = await requestFunc("/classroom", "GET")
  83. },
  84. async getBuildings() {
  85. const buildings = await requestFunc("/building/", "GET")
  86. .then(response => {
  87. console.log(response)
  88. this.buildings = response
  89. })
  90. },
  91. },
  92. mounted() {
  93. this.getClassrooms()
  94. this.getBuildings()
  95. }
  96. });
  97. <<<<<<< HEAD
  98. <<<<<<< HEAD
  99. =======
  100. addClassroom = () =>{
  101. let number = document.querySelector('.numberCab').value
  102. let placeQuantity = document.querySelector('.placeQuantity').value
  103. let building = document.querySelectorAll('.building-radio');
  104. let radioValue
  105. for(let i=0; i<building.length; i++ ){
  106. if (building[i].checked) {
  107. radioValue = building[i].value
  108. }
  109. }
  110. let isComputer = document.querySelector('.computerclass').checked
  111. var myHeaders = new Headers();
  112. myHeaders.append("Content-Type", "application/json");
  113. var raw = {"PlaceQuantity":Number(placeQuantity),"IsComputer":isComputer,"IDBuilding":Number(radioValue),"Name": number};
  114. requestFunc(url="/classroom/", method="POST", data=raw)
  115. alert("Добавлено")
  116. }
  117. >>>>>>> master
  118. =======
  119. >>>>>>> b5fe990a18b258e28401117b0be0a70e1a10db12