diff --git a/js/components/coursesList.vue b/js/components/coursesList.vue
index cb1b469..d4063a7 100644
--- a/js/components/coursesList.vue
+++ b/js/components/coursesList.vue
@@ -43,13 +43,8 @@ var coursesList = {
this.selectedTime = temp
},
'find_name': function () {
- var temp = []
- for (var c of this.courses) {
- if (c.name.indexOf(this.find_name) != -1) {
- temp.push(c)
- }
- }
- this.foundedCourses = temp
+ const target = this.find_name.toLowerCase();
+ this.foundedCourses = this.courses.filter((c) => c.name.toLowerCase().includes(target));
}
},
template: `
@@ -64,7 +59,7 @@ var coursesList = {
- {{ course.name }} (詳)
+ {{ course.name }} (詳)
—— {{ (course.department.indexOf(', ')!=-1) ?(course.department.split(', ')[1]) :(course.department) }}
@@ -86,7 +81,7 @@ var coursesList = {
- {{ course.name }} (詳)
+ {{ course.name }} (詳)
{{ course.teacher }} ‧ {{ course.time }}
diff --git a/js/components/main.vue b/js/components/main.vue
index 093ff93..ae3a01e 100644
--- a/js/components/main.vue
+++ b/js/components/main.vue
@@ -7,7 +7,8 @@ var mainWindow = {
'selectDepartment': '',
'foundName': "",
"user": "",
- 'token': ""
+ 'token': "",
+ 'is_print': false,
}
},
created() {
@@ -192,19 +193,30 @@ var mainWindow = {
}
},
'generatePic': function () {
- html2canvas(document.getElementById('course-table-div')).then(function (canvas) {
- var a = document.createElement('a');
- a.href = canvas.toDataURL("image/jpeg").replace("image/jpeg", "image/octet-stream");
- a.download = '課表.jpg';
- a.click();
+ var main = this
+ const doPrint = new Promise((resolve, reject) => {
+ main.is_print = true;
+ resolve();
});
+ doPrint
+ .then(() =>{
+ html2canvas(document.getElementById('course-table-div')).then(function (canvas) {
+ var a = document.createElement('a');
+ a.href = canvas.toDataURL("image/jpeg").replace("image/jpeg", "image/octet-stream");
+ a.download = '課表.jpg';
+ a.click();
+ });
+ })
+ .then(() => {
+ main.is_print = false;
+ })
},
'share': function () {
if (this.user != "")
$('#share').modal('show');
else
this.login()
- }
+ },
},
components: {
'course-table': courseTable,
@@ -290,6 +302,7 @@ var mainWindow = {
id="course-table-div"
v-bind:selectCourses="selectCourses"
v-bind:select_c="selectCourses"
+ v-bind:is_print="is_print"
v-bind:is_shared="false"
v-on:remove-course="removeCourse"
>
diff --git a/js/components/table.vue b/js/components/table.vue
index 936594a..999c6b1 100644
--- a/js/components/table.vue
+++ b/js/components/table.vue
@@ -1,5 +1,5 @@
var courseDiv = {
- props: ['course', 'is_shared'],
+ props: ['course', 'is_shared', 'is_print'],
template: `
{{ course.name }}
@@ -7,6 +7,7 @@ var courseDiv = {
v-if="!is_shared"
v-on:click="$emit('remove-course', course.name)"
class="btn btn-danger btn-sm"
+ :style="{'display': is_print ? 'none' : 'inline-block'}"
>
刪
@@ -22,7 +23,7 @@ var tempDiv = {
`
}
var courseTable = {
- props: ['select_c', 'is_shared'],
+ props: ['select_c', 'is_shared', 'is_print'],
data: function(){
return {
'courses': {},
@@ -112,6 +113,7 @@ var courseTable = {
v-if="exist(week+String.fromCharCode(97+((hour<5)?(hour-1):(hour-2)))) && !courses[week+String.fromCharCode(97+((hour<5)?(hour-1):(hour-2)))].temp"
v-bind:course="courses[week+String.fromCharCode(97+((hour<5)?(hour-1):(hour-2)))]"
v-bind:is_shared="is_shared"
+ v-bind:is_print="is_print"
v-on:remove-course="removeCourseHandler"
>
| |