Browse Source

frontend update

unknown 5 years ago
parent
commit
01b0a3f7c1

+ 33 - 25
html/group.html

@@ -66,7 +66,7 @@
                                         <th>Группа</th>
                                         <th>Специальность</th>
                                         <th>Куратор</th>
-                                        <th>Курс</th>
+                                        <th>Год приёма</th>
                                     </tr>
                                 </thead>
                                 <tbody>
@@ -95,29 +95,31 @@
                                 <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true" class="icon-cross"></span></button>
                                 <div class="modal-content">
                                     <div class="block">
-                                        <div class="row">
+                                        <H1>Предметы</H1>
+                                            <div v-if="requestType === 'PATCH'" class="col-md-12">
+                                            <label>Id</label>
+                                            <div class="input-group">
+                                                <input type="text" class="form-control ID" placeholder="1" :value="selectedRow.ID" disabled="">
+                                            </div>
+                                        </div>
                                     <div class="form-group">
                                         <label class="col-md-3 control-label">Номер группы</label>
                                         <div class="col-md-9">
-                                            <input type="text" class="form-control" placeholder="362">
+                                            <input type="text" class="form-control" data-validation="Number"  data-validation-allowing="range[100;1000]" placeholder="362" :value="selectedRow.Number">
                                         </div>
                                     </div>
                                     <div class="form-group">
                                         <label class="col-md-3 control-label">Специальность</label>
                                         <div class="col-md-9">
-	                                        <select class="">
-	                                            <option>00.00.00 Программирование</option>
-	                                            <option>11.11.11 Администрирование</option>
-	                                            <option>22.22.22 Монтажники</option>
-	                                            <option>33.33.33 Пример</option>
-	                                            <option>44.44.44 Пример</option>
+	                                        <select :selected="selectedRow.IDSpecialty">
+	                                            <option v-for="s in specilties">${s.Code + " " + s.Name}</option>
 	                                        </select>
 	                                    </div>
                                     </div>
                                     <div class="form-group">
                                         <label class="col-md-3 control-label">Куратор</label>
                                         <div class="col-md-9">
-                                        	<select>
+                                        	<select :selected="selectedRow.IDTeacher">
                                             	<option v-for="t in teachers" v-bind:value="t.Surname">${t.Surname}</option>
                                         	</select>
                                         </div>
@@ -125,28 +127,19 @@
                                     <div class="form-group">
                                     	<label class="col-md-3 control-label">Форма обучения</label>
 	                                    <div class="app-radio inline"> 
-	                                     	<label><input type="radio" name="app-radio-2" value="1" checked> Бюджет</label>
-	                                    </div>
-	                                    <div class="app-radio inline"> 
-	                                        <label><input type="radio" name="app-radio-2" value="0"> Внебюджет</label> 
+	                                     	<label><input type="radio" name="app-radio-2" value="1" checked :checked="selectedRow.IsBudget==0"> Бюджет</label> 
+	                                        <label><input type="radio" name="app-radio-2" value="0" :checked="selectedRow.IsBudget==1"> Внебюджет</label> 
 	                                    </div>
                                     </div>
                                     <div class="form-group">
                                         <label class="col-md-3 control-label">Год приема</label>
                                         <div class="col-md-9">
-                                            <input type="text" class="form-control" placeholder="2020">
+                                            <input type="text" class="form-control"  placeholder="2020" data-validation="Number" data-validation-allowing="range[1900;2100]">
                                         </div>
                                     </div>
-                                    <div class="form-group">
-                                        <label class="col-md-3 control-label">Год выпуска</label>
-                                        <div class="col-md-9">
-											<input type="text" class="form-control" placeholder="2024">
-	                                    </div>
-                                    </div>
-                                        <div class="col-md-12">
-                                            <br>
-                                            <button type="button" class="btn btn-default" onclick="addSubject()">Добавить модуль</button>
-                                        </div>
+                                    <div class="modal-footer">
+                                        <button type="button" class="btn btn-link" data-dismiss="modal">Закрыть</button>
+                                        <button type="submit" class="btn btn-default" onclick="addSubject()">Добавить</button>
                                     </div>
                                 </div>
                             </div>
@@ -168,6 +161,21 @@
                 <script type="text/javascript" src="../static/js/app.js"></script>
                 <script type="text/javascript" src="../static/js/app_plugins.js"></script>
                 <script type="text/javascript" src="../static/js/app_demo.js"></script>
+                <script type="text/javascript" src="../static/js/vendor/form-validator/jquery.form-validator.min.js"></script>
+
+
                 <!-- END APP SCRIPTS -->
+                 <script type="text/javascript">
+                    $.validate({
+                        modules : 'date,file,location',
+                        onValidate: function(){
+                            
+                            delayBeforeFire(function(){                                                
+                                app.spy();
+                            },100);
+                                                
+                        }
+                    });
+                </script>
             </body>
         </html>

+ 17 - 2
html/specialty.html

@@ -83,13 +83,13 @@
                                         <div class="col-md-12">
                                             <label>Код специальности</label>
                                             <div class="input-group">
-                                                <input type="text" class="form-control code" placeholder="09.02.04" :value="selectedRow.Code">
+                                                <input type="text" class="form-control code" data-validation="length,required" data-validation-length="max8" placeholder="09.02.04" :value="selectedRow.Code">
                                             </div>
                                         </div>
                                         <div class="col-md-12">
                                             <label>Название специальности</label>
                                             <div class="input-group">
-                                                <input type="text" class="form-control name" placeholder="Программирование в компьютерных системах" :value="selectedRow.Name">
+                                                <input type="text" class="form-control name" placeholder="Программирование в компьютерных системах" :value="selectedRow.Name" data-validation="required">
                                                 <div class="app-radio">
                                                     <label><input type="radio" name="app-radio-1" class="duration-radio" value="1" :checked="selectedRow.IDDuration==1"> 2 года 10 месяцев</label>
                                                     <label><input type="radio" name="app-radio-1" class="duration-radio" value="2" :checked="selectedRow.IDDuration==2"> 3 года 10 месяцев</label>
@@ -152,4 +152,19 @@
         <!-- END APP SCRIPTS -->
         <script type="text/javascript" src="../static/js/vendor/datatables/jquery.dataTables.min.js"></script>
         <script type="text/javascript" src="../static/js/vendor/datatables/dataTables.bootstrap.min.js"></script>
+        <script type="text/javascript" src="../static/js/vendor/form-validator/jquery.form-validator.min.js"></script>
+
+
+        <script type="text/javascript">
+                    $.validate({
+                        modules : 'date,file,location',
+                        onValidate: function(){
+                            
+                            delayBeforeFire(function(){                                                
+                                app.spy();
+                            },100);
+                                                
+                        }
+                    });
+                </script>
     </body>

+ 16 - 2
html/subject.html

@@ -93,13 +93,13 @@
                                         <div class="col-md-12">
                                             <label>Название предмета</label>
                                             <div class="input-group">
-                                                <input type="text" class="form-control subjectName" placeholder="09.02.04" :value="selectedRow.Name">
+                                                <input type="text" class="form-control subjectName" placeholder="09.02.04" :value="selectedRow.Name" data-validation="required">
                                             </div>
                                         </div>
                                         <div class="col-md-12">
                                             <label>Сокращенное название</label>
                                             <div class="input-group">
-                                                <input type="text" class="form-control shortName" placeholder="Программирование в компьютерных системах" :value="selectedRow.Shortname">
+                                                <input type="text" class="form-control shortName" placeholder="Программирование в компьютерных системах" :value="selectedRow.Shortname" data-validation="required">
                                             </div>
                                         </div>
 
@@ -150,4 +150,18 @@
         <!-- END APP SCRIPTS -->
         <script type="text/javascript" src="../static/js/vendor/datatables/jquery.dataTables.min.js"></script>
         <script type="text/javascript" src="../static/js/vendor/datatables/dataTables.bootstrap.min.js"></script>
+        <script type="text/javascript" src="../static/js/vendor/form-validator/jquery.form-validator.min.js"></script>
+        
+        <script type="text/javascript">
+                    $.validate({
+                        modules : 'date,file,location',
+                        onValidate: function(){
+                            
+                            delayBeforeFire(function(){                                                
+                                app.spy();
+                            },100);
+                                                
+                        }
+                    });
+                </script>
     </body>

+ 28 - 11
log/Requests_API.log

@@ -1,11 +1,28 @@
-[2:33AM] GET request from 127.0.0.1:50590 to /api/building/
-[2:33AM] GET request from 127.0.0.1:50590 to /api/classroom/
-[2:46AM] GET request from 127.0.0.1:51657 to /api/teacher/
-[2:46AM] GET request from 127.0.0.1:51657 to /api/teacher/
-[2:46AM] GET request from 127.0.0.1:51657 to /api/group/
-[2:46AM] GET request from 127.0.0.1:51656 to /api/specialty/
-[2:48AM] GET request from 127.0.0.1:51656 to /api/subject/
-[2:55AM] GET request from 127.0.0.1:52394 to /api/subject/
-[2:55AM] GET request from 127.0.0.1:52395 to /api/building/
-[2:55AM] GET request from 127.0.0.1:52395 to /api/classroom/
-[2:56AM] GET request from 127.0.0.1:52395 to /api/subject/
+[5:42AM] GET request from 127.0.0.1:50007 to /api/teacher/
+[5:42AM] GET request from 127.0.0.1:50007 to /api/teacher/
+[5:42AM] GET request from 127.0.0.1:50007 to /api/group/
+[5:42AM] GET request from 127.0.0.1:50006 to /api/specialty/
+[5:51AM] GET request from 127.0.0.1:50661 to /api/teacher/
+[5:51AM] GET request from 127.0.0.1:50661 to /api/teacher/
+[5:51AM] GET request from 127.0.0.1:50661 to /api/group/
+[5:51AM] GET request from 127.0.0.1:50662 to /api/specialty/
+[6:08AM] GET request from 127.0.0.1:52506 to /api/teacher/
+[6:08AM] GET request from 127.0.0.1:52506 to /api/teacher/
+[6:08AM] GET request from 127.0.0.1:52508 to /api/group/
+[6:08AM] GET request from 127.0.0.1:52508 to /api/specialty/
+[6:09AM] GET request from 127.0.0.1:52510 to /api/teacher/
+[6:09AM] GET request from 127.0.0.1:52510 to /api/teacher/
+[6:09AM] GET request from 127.0.0.1:52510 to /api/group/
+[6:09AM] GET request from 127.0.0.1:52508 to /api/specialty/
+[6:09AM] GET request from 127.0.0.1:52506 to /api/teacher/
+[6:09AM] GET request from 127.0.0.1:52506 to /api/teacher/
+[6:09AM] GET request from 127.0.0.1:52506 to /api/group/
+[6:09AM] GET request from 127.0.0.1:52506 to /api/specialty/
+[6:12AM] GET request from 127.0.0.1:52506 to /api/teacher/
+[6:12AM] GET request from 127.0.0.1:52506 to /api/teacher/
+[6:12AM] GET request from 127.0.0.1:52506 to /api/group/
+[6:12AM] GET request from 127.0.0.1:52506 to /api/specialty/
+[6:13AM] GET request from 127.0.0.1:52509 to /api/teacher/
+[6:13AM] GET request from 127.0.0.1:52509 to /api/teacher/
+[6:13AM] GET request from 127.0.0.1:52509 to /api/group/
+[6:13AM] GET request from 127.0.0.1:52509 to /api/specialty/

+ 16 - 16
log/Requests_URL.log

@@ -1,16 +1,16 @@
-[02:33] Request from 127.0.0.1:50586 to /plan/
-[02:33] Request from 127.0.0.1:50585 to /plan/
-[02:33] Request from 127.0.0.1:50588 to /classroom/
-[02:33] Request from 127.0.0.1:50590 to /classroom/
-[02:33] Request from 127.0.0.1:50590 to /specialty/
-[02:33] Request from 127.0.0.1:50585 to /specialty/
-[02:46] Request from 127.0.0.1:51657 to /group/
-[02:46] Request from 127.0.0.1:51657 to /group/
-[02:48] Request from 127.0.0.1:51656 to /subject/
-[02:48] Request from 127.0.0.1:51656 to /subject/
-[02:55] Request from 127.0.0.1:52394 to /subject/
-[02:55] Request from 127.0.0.1:52395 to /subject/
-[02:55] Request from 127.0.0.1:52395 to /classroom/
-[02:55] Request from 127.0.0.1:52395 to /classroom/
-[02:56] Request from 127.0.0.1:52395 to /subject/
-[02:56] Request from 127.0.0.1:52395 to /subject/
+[05:42] Request from 127.0.0.1:50007 to /plan/
+[05:42] Request from 127.0.0.1:50007 to /plan/
+[05:42] Request from 127.0.0.1:50007 to /group/
+[05:42] Request from 127.0.0.1:50007 to /group/
+[05:51] Request from 127.0.0.1:50661 to /group/
+[05:51] Request from 127.0.0.1:50668 to /group/
+[06:08] Request from 127.0.0.1:52506 to /group/
+[06:08] Request from 127.0.0.1:52510 to /group/
+[06:09] Request from 127.0.0.1:52510 to /group/
+[06:09] Request from 127.0.0.1:52506 to /group/
+[06:09] Request from 127.0.0.1:52506 to /group/
+[06:09] Request from 127.0.0.1:52506 to /group/
+[06:12] Request from 127.0.0.1:52506 to /group/
+[06:12] Request from 127.0.0.1:52510 to /group/
+[06:13] Request from 127.0.0.1:52510 to /group/
+[06:13] Request from 127.0.0.1:52507 to /group/

+ 41 - 6
static/js/api/vueGroup.js

@@ -31,11 +31,16 @@ var vueapp = new Vue({
             groups:[],
             teachers:[],
             specialties:[],
+            selectedRow:{
+                "ID": "",
+                "Number":"",
+                "IDSpecialty": 0,
+                "IDTeacher": 0,
+                "IsBudget": "",
+                "Year": ""
+            },
         },
         methods: {
-            showGroups() {
-                console.log(this.groups)
-            },
             async getGroups(){
                 this.groups = await requestFunc("/group/", "GET")
             },
@@ -55,15 +60,45 @@ var vueapp = new Vue({
                 await this.getTeachers()
                 await this.getGroups()
                 await this.getSpecilties()
-            }
+            },
+            selectRow(row, index){
+                let rows = document.querySelectorAll('.clickHover')
+                this.selectedRow = row;
+                if(rows[index].style.backgroundColor != 'red'){
+                    rows[index].style.backgroundColor = 'red'
+                }
+                else{
+                    rows[index].style.backgroundColor = 'white'
+                    this.clearSelectedRow()
+                }   
+            },
+            clearSelectedRow(){
+                this.selectedRow = {
+                    "ID": "",
+                    "Number":"",
+                    "IDSpecialty": 0,
+                    "IDTeacher": 0,
+                    "IsBudget": "",
+                    "Year": ""
+                }
+            },
+            changeRequestType(requestType){
+                this.requestType = requestType 
+            },
+            modalClick(add, requestType) {
+                if(add==='yes') {
+                    this.clearSelectedRow();
+                }
+                this.changeRequestType(requestType);
+            },
         }, 
         async mounted() {
             await this.mountFunc()
             console.log(this.teachers)
         }
     });
-addTeacher = () =>{
-    let surname = document.querySelector('.surname').value
+
+addSubject = (requestType) =>{
     let name = document.querySelector('.name').value
     let patronymic = document.querySelector('.patronymic').value
     var select = document.getElementById("selectClassroom");

+ 8 - 2
static/js/api/vueSubject.js

@@ -23,7 +23,7 @@ switch(method) {
 const res = await fetch(fullurl, options);
 return await res.json();
 };
-var app = new Vue({
+var vueApp = new Vue({
         el: '#app',
         delimiters: ['${', '}'],
         data: {
@@ -76,7 +76,7 @@ var app = new Vue({
         }
     });
 
-addSubject = () =>{
+addSubject = (requestType) =>{
     let name = document.querySelector('.subjectName').value
     let shortName = document.querySelector('.shortName').value
     var select = document.getElementById("selectProfmodule");
@@ -87,6 +87,12 @@ addSubject = () =>{
     myHeaders.append("Content-Type", "application/json");
 
     var raw = {"Name":name,"ID_professionalmodule":Number(value),"Shortname": shortName, "IDStype": Number(type)};
+    if (vueApp.requestType=== 'PATCH') {
+            let ID = document.querySelector('.ID').value
+            console.log(ID)
+            raw.ID= Number(ID)
+            
+        }
     requestFunc(url="/subject/", method="POST", data=raw)
     alert("Добавлено")
 }

File diff suppressed because it is too large
+ 15 - 1
static/js/vendor/form-validator/jquery.form-validator.min.js