<template> <div> <div class="select"> <multiselect style="float: left; marginLeft: 15%; width: 20%;" v-model.number="grade" :options="option1" ></multiselect> <multiselect style="float: left; marginLeft: 0.5%; width: 20%;" v-model="major" :options="option2" ></multiselect> <multiselect style="float: left; marginLeft: 0.5%; width: 20%;" v-model="type" :options="option3" ></multiselect> </div> <md-button class="md-raised" color="#999" style="float: left; marginLeft: 1%; width: 2%; marginTop:0.1%" v-on:click="Search" >검색</md-button> <!-- ==================================================================== --> <div v-if="SearchResult === true "> <div v-for="Book in Books" :key="Book._id" v-if="Book.grade.includes(grade)&&Book.major.includes(major)&&Book.type.includes(type)" > <md-card style="width: 50%; margin: 20px; marginTop:100px; display: inline-block; vertical-align: top;" > <md-card-header> <md-card-header-text> <div class="md-title"> {{ Book.title }} <br /> <br /> </div> <div class="md-subhead" style="text-align:left;font-weight: bold;"> # 학년: {{ Book.grade }} <br /> # 전공: {{ Book.major }} <br /> # 세부사항: {{ Book.type }} <br /> # 매물: {{ Book.stock }} <br /> </div> </md-card-header-text> <md-card-media md-medium> <img v-bind:src="Book.src" /> <br /> </md-card-media> </md-card-header> <md-card-actions> <md-button class="md-raised md-accent" v-on:click="goSellPage(Book._id)">Sell</md-button> <md-button class="md-raised md-primary" v-on:click="goBuyPage(Book._id)">Buy Now</md-button> </md-card-actions> </md-card> </div> </div> <!-- ============================================= --> <div> <md-speed-dial :class="bottomPosition" style="marginRight:20%; marginBottom:8%"> <md-button class="md-fab md-primary" v-on:click="active = true"> <img src="../assets/icon-add.svg" /> </md-button> </md-speed-dial> </div> <!-- ============= 판매도서 submit 양식 ================== --> <div> <md-dialog :md-active.sync="active" style="width : 500px; height: 1000px "> <md-dialog-title>판매도서 등록</md-dialog-title> <md-field class="select"> <label>책제목</label> <md-input v-model="submit.title"></md-input> </md-field> <md-field class="select"> <label>학년</label> <md-input v-model="submit.grade"></md-input> </md-field> <md-field class="select"> <label>학과</label> <md-input v-model="submit.major"></md-input> </md-field> <md-field class="select"> <label>사진</label> <md-input v-model="submit.src"></md-input> </md-field> <md-dialog-actions> <md-button class="md-primary" v-on:click="active = false">Close</md-button> <md-button class="md-primary">Submit</md-button> </md-dialog-actions> </md-dialog> <!-- ============================================== --> </div> </div> </template> <script> import Vue from "vue"; import VueMaterial from "vue-material"; import Multiselect from "vue-multiselect"; import "vue-material/dist/vue-material.min.css"; import "vue-material/dist/theme/default.css"; Vue.use(VueMaterial); export default { components: { Multiselect }, name: "MaterialIcons", data() { return { bottomPosition: "md-bottom-right", active: false, SearchResult: false, grade: null, major: null, type: null, option1: ["1학년", "2학년", "3학년", "4학년", "전학년"], option2: [ "소프트웨어학과", "미디어학과", "경제학과", "경영학과", "수학과", "산업공학과", "사회학과", "전자공학과", "기계공학과", "신소재공학과", "환경안전공학과", "의학전공", "공통과목" ], option3: ["전공필수", "전공선택", "교양선택", "기초과목"], Books: [], submit: { title: "", grade: "", major: "", src: "", stock: 0, seller: [] } }; }, created() { this.$http.get("/api/books").then(response => { this.Books = response.data; console.log("Success"); console.log(this.Books); }); }, methods: { Search: function() { this.SearchResult = true; }, goBuyPage(bookId) { this.$router.push({ name: "BookSearchPageBuy", params: { id: bookId } }); }, goSellPage(bookId) { this.$router.push({ name: "BookSearchPageSell", params: { id: bookId } }); } } }; </script> <style lang="css"> html, body { text-align: center; margin: 0; width: 100%; font: 14px "Lucida Grande", Helvetica, Arial, sans-serif; justify-content: center; } .search { margin-bottom: 0.5%; } .select { margin: 15px; text-align: center; margin-top: 2%; } .button { margin-top: 70px; } </style> <style src="vue-multiselect/dist/vue-multiselect.min.css"></style>