Merge pull request #13 from vincentinttsh/dev

前端修改
This commit is contained in:
snsd0805 2021-01-24 02:00:04 +08:00 committed by GitHub
commit ce7f79bf1c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 67 additions and 65 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.DS_Store

View File

@ -19,10 +19,15 @@ var chooseDepartment = {
}, },
template: ` template: `
<div class="mx-auto">
<div> <div>
<h5>1. 課程名稱直接搜尋</h5> <h5>1. 課程名稱直接搜尋</h5>
<input class="form-control" type='text' v-model='initFounded'> <input class="form-control" type='text' v-model='initFounded'>
<br><br><br> </div>
<div class="text-center my-2">
<h5></h5>
</div>
<div>
<h5>1. 選擇類別</h5> <h5>1. 選擇類別</h5>
<select class="custom-select mr-sm-2" v-model="initSelect"> <select class="custom-select mr-sm-2" v-model="initSelect">
<option v-for="(item, index) in departments" :key="index" <option v-for="(item, index) in departments" :key="index"
@ -31,7 +36,7 @@ var chooseDepartment = {
{{ item }} {{ item }}
</option> </option>
</select> </select>
</div>
</div> </div>
`, `,
} }

View File

@ -1,61 +1,61 @@
var coursesList = { var coursesList = {
props: ['courses', 'selected_d', 'selected_c', 'find_name'], props: ['courses', 'selected_d', 'selected_c', 'find_name'],
data: function(){ data: function () {
return { return {
selectedTime: [], selectedTime: [],
foundedCourses: [] foundedCourses: []
} }
}, },
methods: { methods: {
'getTime': function(timeString){ 'getTime': function (timeString) {
if(timeString==null){ if (timeString == null) {
return "" return ""
} }
ans = [] ans = []
number = "" number = ""
for(var i of timeString){ for (var i of timeString) {
if(i>="0" && i<="9"){ if (i >= "0" && i <= "9") {
number = i number = i
}else if(i>="a" && i<="z"){ } else if (i >= "a" && i <= "z") {
ans.push(number+i) ans.push(number + i)
} }
else{ else {
ans.push(timeString) ans.push(timeString)
break break
} }
} }
return ans return ans
}, },
'isOK': function(course){ 'isOK': function (course) {
var time = this.getTime(course.time) var time = this.getTime(course.time)
// console.log(course.name, " ", time) // console.log(course.name, " ", time)
for(t of time){ for (t of time) {
for(st of this.selectedTime){ for (st of this.selectedTime) {
if(t==st) if (t == st)
return false return false
} }
} }
return true return true
}, },
'log': function(name, data){ 'log': function (name, data) {
console.log(name, data) console.log(name, data)
} }
}, },
watch: { watch: {
'selected_c': function(){ 'selected_c': function () {
var temp = [] var temp = []
for(var c of this.selected_c){ for (var c of this.selected_c) {
if(c.temp==false){ if (c.temp == false) {
temp.push(c.time) temp.push(c.time)
} }
} }
this.selectedTime = temp this.selectedTime = temp
}, },
'find_name': function(){ 'find_name': function () {
var temp = [] var temp = []
for(var c of this.courses){ for (var c of this.courses) {
if(c.name.indexOf(this.find_name) != -1){ if (c.name.indexOf(this.find_name) != -1) {
temp.push(c) temp.push(c)
} }
} }
@ -63,7 +63,7 @@ var coursesList = {
} }
}, },
template: ` template: `
<div> <div class="mx-auto mb-4 border">
<h5>2. 安排課程</h5> <h5>2. 安排課程</h5>
<p style="color: orange" v-if="find_name"> 已套用名稱搜尋 <br>{{find_name}}</p> <p style="color: orange" v-if="find_name"> 已套用名稱搜尋 <br>{{find_name}}</p>
<div style="width:275px;height:500px;overflow:auto"> <div style="width:275px;height:500px;overflow:auto">
@ -72,22 +72,20 @@ var coursesList = {
<tr v-for="(course, index) in foundedCourses" :key="index" <tr v-for="(course, index) in foundedCourses" :key="index"
v-on:mouseenter="$emit('show-temp', course)" v-on:mouseleave="$emit('delete-temp', course)"> v-on:mouseenter="$emit('show-temp', course)" v-on:mouseleave="$emit('delete-temp', course)">
<td> <td>
<div class="container"> <div class="container row py-2 px-0">
<div class="row"> <div class="col-12 pr-1">
<b>{{ course.name }} (<a v-bind:href="course.link"></a>)</b> <b>{{ course.name }} (<a v-bind:href="course.link"></a>)</b>
{{ (course.department.indexOf(', ')!=-1) ?(course.department.split(', ')[1]) :(course.department) }} {{ (course.department.indexOf(', ')!=-1) ?(course.department.split(', ')[1]) :(course.department) }}
</div> </div>
<div class="row"> <div class="col-sm-8 pr-1">
<div class="col-sm-8">
{{ course.teacher }} {{ course.time }} {{ course.teacher }} {{ course.time }}
</div> </div>
<div class="col-sm-4"> <div class="col-sm-4 pr-1">
<button v-if="isOK(course)" type="button" v-on:click="$emit('add-course', course)" class="btn btn-primary"> <button v-if="isOK(course)" type="button" v-on:click="$emit('add-course', course)" class="btn btn-primary">
<span>&#43;</span> <span>&#43;</span>
</button> </button>
</div> </div>
</div> </div>
</div>
</td> </td>
</tr> </tr>
</template> </template>
@ -96,21 +94,19 @@ var coursesList = {
v-if="course.department == selected_d" v-if="course.department == selected_d"
v-on:mouseenter="$emit('show-temp', course)" v-on:mouseleave="$emit('delete-temp', course)"> v-on:mouseenter="$emit('show-temp', course)" v-on:mouseleave="$emit('delete-temp', course)">
<td> <td>
<div class="container"> <div class="container row py-2 px-0">
<div class="row"> <div class="col-12 pr-1">
<b>{{ course.name }} (<a v-bind:href="course.link"></a>)</b> <b>{{ course.name }} (<a v-bind:href="course.link"></a>)</b>
</div> </div>
<div class="row"> <div class="col-sm-8 pr-1">
<div class="col-sm-8">
{{ course.teacher }} {{ course.time }} {{ course.teacher }} {{ course.time }}
</div> </div>
<div class="col-sm-4"> <div class="col-sm-4 pr-1">
<button v-if="isOK(course)" type="button" v-on:click="$emit('add-course', course)" class="btn btn-primary"> <button v-if="isOK(course)" type="button" v-on:click="$emit('add-course', course)" class="btn btn-primary">
<span>&#43;</span> <span>&#43;</span>
</button> </button>
</div> </div>
</div> </div>
</div>
</td> </td>
</tr> </tr>
</template> </template>

View File

@ -263,16 +263,16 @@ var mainWindow = {
</div> </div>
<div class="row"> <div class="row">
<div class="col-lg-3"> <div class="col-lg-3">
<div class="row"> <div class="row mx-auto mb-2">
<choose-department <choose-department
v-bind:departments="departments" v-bind:departments="departments"
v-bind:selected="selectDepartment" v-bind:selected="selectDepartment"
v-on:selectok="select" v-on:selectok="select"
v-on:foundedok="founded" v-on:foundedok="founded"
> >
</choose-department><br> </choose-department>
</div><br><br> </div>
<div class="row"> <div class="row mx-auto mb-2">
<course-anslist <course-anslist
v-bind:courses="courses" v-bind:courses="courses"
v-bind:selected_d="selectDepartment" v-bind:selected_d="selectDepartment"
@ -283,7 +283,7 @@ var mainWindow = {
v-on:delete-temp="deleteTemp" v-on:delete-temp="deleteTemp"
> >
</course-anslist> </course-anslist>
</div><br><br> </div>
</div> </div>
<div class="col-lg-9 table-responsive " > <div class="col-lg-9 table-responsive " >