Skip to content
Snippets Groups Projects
Commit 4d0e058a authored by KimDoHyun's avatar KimDoHyun
Browse files

디자인부탁

parent 01421acc
No related branches found
No related tags found
No related merge requests found
Showing
with 305 additions and 122 deletions
......@@ -18,8 +18,12 @@
<router-link to='/mypage' v-if="isLogin == true">마이 페이지</router-link><br><br>
<router-link to='/club' v-if="isLogin == true">동아리 구경</router-link><br><br>
<li style="list-style:none;" v-if="isLogin == true">내 동아리</li><br><br><br><br>
<div style="list-style:none;" v-if="isLogin == true">내 동아리
<div v-for= "club in clublist">
<router-link :to="{path:`/club_page/${club.club}`,params:{clubId:club.club}}"></router-link>
{{club.clubname}}
</div>
</div><br>
<div @click="$store.dispatch('logout')">
<router-link to='/' v-if="isLogin == true">로그아웃</router-link><br><br>
</div>
......@@ -29,16 +33,26 @@
<script>
import {mapState} from "vuex"
import axios from "axios"
export default {
name: 'Nav',
data() {
return {
clublist:[],
club:[]
}
},
computed:{
...mapState(['isLogin']),
...mapState(['userInfo'])
},
async created(){
let uid = this.userInfo.uid
const res = await axios.get(`http://jnhonlinux.ddns.net:3000/joinedClub/user/${uid}`)
this.clublist = res.data.result
const res2 = await axios.get('http://jnhonlinux.ddns.net:3000/club')
this.club = res2.data.result
}
}
</script>
......
......@@ -3,9 +3,8 @@
<div id="clubMenu">
<router-link :to="{path:`/club_page/${club[0].id}`}">홈페이지</router-link> |
<router-link :to="{path:`/club_post/${club[0].id}`}">활동일지 </router-link> |
<button @click="post()">자게</button>
<router-link :to="{path:`/club_free/${club[0].id}`}">자유게시판 </router-link> |
<router-link :to="{path:`/club_calendar/${club[0].id}`}">캘린더 </router-link> |
<router-link :to="{path:`/club_question/${club[0].id}`}">자주묻는질문 </router-link> |
<router-link :to="{path:`/club_manage/${club[0].id}`}">회원 관리</router-link> |
<router-link :to="{path:`/club_join/${club[0].id}`}">가입신청</router-link>
</div>
......@@ -13,6 +12,9 @@
</template>
<script>
import axios from "axios"
import router from "../router/index"
import {mapState} from "vuex"
export default {
data(){
return {
......@@ -21,10 +23,26 @@ export default {
}]
}
},
computed: {
...mapState(['userInfo'])
},
async created() {
let id = this.$route.params.clubId;
const res = await this.$http.get(`http://jnhonlinux.ddns.net:3000/club/${id}`)
this.club = res.data.result
},
methods:{
post(){
axios.post(`http://jnhonlinux.ddns.net:3000/freeBoard`,{
uid: this.userInfo.uid
}).then(res=>{
let id = this.$route.params.clubId;
router.push(`/club_free/${id}`)
})
}
}
}
</script>
......
......@@ -27,13 +27,13 @@ const routes = [
path: '/',
name: 'home',
component: () =>
import(/* webpackChunkName: "about" */ "../views/Home.vue")
import(/* webpackChunkName: "about" */ "../views/left_bar/Home.vue")
},
{
path: '/login',
name: 'login',
component: () =>
import(/* webpackChunkName: "about" */ "../views/Login.vue")
import(/* webpackChunkName: "about" */ "../views/left_bar/Login.vue")
},
{
path: '/signup',
......@@ -46,14 +46,14 @@ const routes = [
name: "mypage",
// beforeEnter: onlyAuthUser,
component: () =>
import(/* webpackChunkName: "about" */ "../views/Mypage.vue")
import(/* webpackChunkName: "about" */ "../views/left_bar/Mypage.vue")
},
{
path: "/club",
name: "club",
// beforeEnter: onlyAuthUser,
component: () =>
import(/* webpackChunkName: "about" */ "../views/club.vue")
import(/* webpackChunkName: "about" */ "../views/left_bar/club.vue")
},
{
path: "/modify_profile",
......@@ -65,37 +65,25 @@ const routes = [
path: "/club_page/:clubId",
name: "club_page",
component: () =>
import(/* webpackChunkName: "about" */ "../views/club_Page.vue")
},
{
path: "/club_calendar/:clubId",
name: "club_calendar",
component: () =>
import(/* webpackChunkName: "about" */ "../views/club_Calendar.vue")
import(/* webpackChunkName: "about" */ "../views/club_top_bar/club_Page.vue")
},
{
path: "/club_post/:clubId",
name: "club_post",
component: () =>
import(/* webpackChunkName: "about" */ "../views/club_Post.vue")
import(/* webpackChunkName: "about" */ "../views/club_top_bar/club_Post.vue")
},
{
path: "/club_free/:clubId",
name: "club_free",
component: () =>
import(/* webpackChunkName: "about" */ "../views/club_Free.vue")
},
{
path: "/club_question/:clubId",
name: "club_question",
component: () =>
import(/* webpackChunkName: "about" */ "../views/club_Question.vue")
import(/* webpackChunkName: "about" */ "../views/club_top_bar/club_Free.vue")
},
{
path: "/club_manage/:clubId",
name: "club_manage",
component: () =>
import(/* webpackChunkName: "about" */ "../views/club_Manage.vue")
import(/* webpackChunkName: "about" */ "../views/club_top_bar/club_Manage.vue")
},
{
path: "/post/:clubId",
......@@ -103,24 +91,42 @@ const routes = [
component: () =>
import(/* webpackChunkName: "about" */ "../views/Post.vue")
},
{
path: "/post_free/:clubId",
name: "post_free",
component: () =>
import(/* webpackChunkName: "about" */ "../views/Post_Free.vue")
},
{
path: "/club_join/:clubId",
name: "club_join",
component: () =>
import(/* webpackChunkName: "about" */ "../views/club_Join.vue")
import(/* webpackChunkName: "about" */ "../views/club_top_bar/club_Join.vue")
},
{
path: "/joinedClub/user/:uid",
path: "/joinedClub/:clubId/:uid",
name: "club_detail",
component: () =>
import(/* webpackChunkName: "about" */ "../views/club_Detail.vue")
},
{
path: "/applymember/:clubId/:uid",
name: "applymember",
component: () =>
import(/* webpackChunkName: "about" */ "../views/applymember.vue")
},
{
path: "/activityLog/one/:clubId/:boardId",
name: "board",
component: () =>
import(/* webpackChunkName: "about" */ "../views/Board.vue")
},
{
path: "/freeBoard/one/:clubId/:freeId",
name: "free",
component: () =>
import(/* webpackChunkName: "about" */ "../views/Free.vue")
}
]
const router = new VueRouter({
......
......@@ -2,11 +2,14 @@
<template>
<div class="board">
<NavClub id="navClub"></NavClub>
<div>
제목: {{board[0].title}}<br>
내용: {{board[0].content}}<br>
글쓴이: {{board[0].writer}}<br>
작성 날짜: {{board[0].date}}<br>
</div>
<router-link :to="{path:`/club_post/${club[0].id}`}">뒤로 가기</router-link>
</div>
</template>
<script>
......@@ -19,7 +22,9 @@ export default {
data(){
return{
club:[],
board:[]
board:[{
title:''
}]
}
},
async created(){
......
<!--자유게시판에서 게시글 눌렀을 때-->
<template>
<div class="Free">
<NavClub id="navClub"></NavClub>
<div>
제목: {{free[0].title}}<br>
내용: {{free[0].content}}<br>
글쓴이: {{free[0].writer}}<br>
작성 날짜: {{free[0].date}}<br>
</div>
<router-link :to="{path:`/club_free/${club[0].id}`}">뒤로 가기</router-link>
</div>
</template>
<script>
import axios from "axios"
import NavClub from '@/components/NavClub.vue'
export default {
components: {
'NavClub': NavClub
},
data(){
return{
club:[],
free:[{
title:''
}]
}
},
async created(){
let id = this.$route.params.clubId;
const res = await this.$http.get(`http://jnhonlinux.ddns.net:3000/club/${id}`)
this.club = res.data.result
let fid = this.$route.params.freeId;
const free = await this.$http.get(`http://jnhonlinux.ddns.net:3000/freeBoard/one/${id}/${fid}`)
this.free = free.data.result
}
}
</script>
\ No newline at end of file
......@@ -2,7 +2,7 @@
<template>
<div class="modify">
<div>
이름: <input type="text" name="name">
이름: <input type="text" v-model="name">
<br>
이메일: <input type="email" v-model="email" required>
<br>
......@@ -27,6 +27,7 @@
<script>
import axios from "axios"
import {mapState} from "vuex"
import router from "../router/index"
export default {
data(){
return {
......@@ -44,11 +45,11 @@ export default {
...mapState(['userInfo'])
},
methods: {
submit(){
async submit(){
// if(this.name==''||this.email==''||this.univ==''||this.department==''||this.sid==''||this.phone==''||this.password==''||this.repassword==''){
// alert("빈칸을 채워주세요.")
// }
if((this.password == this.repassword) && (this.password == this.userInfo.password)){
let id = this.userInfo.id
axios.post(`http://jnhonlinux.ddns.net:3000/users/${id}`, {
name: this.name,
......@@ -59,6 +60,12 @@ export default {
sid: this.sid,
password: this.password
})
// await this.$http.get(`http://jnhonlinux.ddns.net:3000/club/${id}`)
router.push("/mypage")
}
else{
alert("비밀번호 다시 입력")
}
}
}
}
......
<!--활동 일지 글 쓸 때-->
<template>
<div class="posting">
<NavClub id="navClub">가나다</NavClub>
<NavClub id="navClub"></NavClub>
<div class="board">
<h4 style="display:inline">제목:</h4>
<input type="text" class="content" v-model="title" required>
......@@ -44,6 +44,7 @@ export default {
})
router.push(`/club_post/${id}`)
}
if(this.title == '' && this.content != ''){
alert("제목을 써주세요.")
}
......
<!--자유게시판 글 쓸 때-->
<template>
<div class="posting">
<NavClub id="navClub"></NavClub>
<div class="board">
<h4 style="display:inline">제목:</h4>
<input type="text" class="content" v-model="title" required>
<h4>내용</h4>
<textarea style="resize:none;" cols="60" rows="13" v-model="content" placeholder="게시글을 작성하세요." class="content" required></textarea>
</div>
<br>
<button @click="cancel">취소</button>
<button @click="post">게시</button>
</div>
</template>
<script>
import router from "../router/index"
import NavClub from '@/components/NavClub.vue'
import axios from "axios"
import {mapState} from "vuex"
export default {
components: {
'NavClub': NavClub
},
data(){
return {
club:[{
id:'',
}],
title:'',
content:'',
}
},
methods: {
post(){
if(this.title != '' && this.content != ''){
let id = this.$route.params.clubId;
axios.post(`http://jnhonlinux.ddns.net:3000/freeBoard/${id}`, {
title: this.title,
content: this.content,
writer: this.userInfo.name
})
router.push(`/club_free/${id}`)
}
if(this.title == '' && this.content != ''){
alert("제목을 써주세요.")
}
if(this.title != '' && this.content == ''){
alert("내용을 써주세요.")
}
if(this.title == '' && this.content == ''){
alert("제목과 내용을 써주세요.")
}
},
cancel(){
let id = this.$route.params.clubId;
router.push(`/club_free/${id}`)
}
},
async created() {
let id = this.$route.params.clubId;
const res = await this.$http.get(`http://jnhonlinux.ddns.net:3000/club/${id}`)
this.club = res.data.result
},
computed:{
...mapState(['userInfo'])
}
}
</script>
<style scoped>
.board {
display:inline-block;
margin-top: 15px;
padding-top: 15px;
border: 1px solid #000;
}
.content {
margin-left: 15px;
}
</style>
\ No newline at end of file
<!--클럽 회원 관리에서 유저 정보 자세히 보기-->
<template>
<div class="detail">
<NavClub id="navClub"></NavClub>
<div>
이름: {{member[0].name}}
<br>
학과: {{member[0].department}}
<br>
학번: {{member[0].sid}}
<br>
이메일: {{member[0].email}}
<br>
전화번호: {{member[0].phone}}
</div>
<router-link :to="{path:`/club_manage/${club[0].id}`}">뒤로 가기</router-link>
</div>
</template>
<script>
import NavClub from '@/components/NavClub.vue'
export default {
name: 'club_detail',
components: {
'NavClub': NavClub
},
data(){
return {
club:[],
member:[]
}
},
async created(){
let id = this.$route.params.clubId;
const res = await this.$http.get(`http://jnhonlinux.ddns.net:3000/club/${id}`)
this.club = res.data.result
let uid = this.$route.params.uid
const res2 = await this.$http.get(`http://jnhonlinux.ddns.net:3000/users/${uid}`)
this.member = res2.data
}
}
</script>
\ No newline at end of file
<template>
<div class="clubView">
<NavClub id="navClub">가나다</NavClub>
<h2>{{club[0].name}}의 캘린더를 적어보자</h2>
</div>
</template>
<script>
import NavClub from '@/components/NavClub.vue'
export default {
name: 'club_calendar',
components: {
'NavClub': NavClub
},
data(){
return {
club:{}
}
},
async created() {
let id = this.$route.params.clubId;
const res = await this.$http.get(`http://jnhonlinux.ddns.net:3000/club/${id}`)
console.log(res.data.result)
this.club = res.data.result
},
}
</script>
......@@ -2,7 +2,18 @@
<template>
<div class="detail">
<NavClub id="navClub"></NavClub>
hi
<div>
이름: {{member[0].name}}
<br>
학과: {{member[0].department}}
<br>
학번: {{member[0].sid}}
<br>
이메일: {{member[0].email}}
<br>
전화번호: {{member[0].phone}}
</div>
<router-link :to="{path:`/club_manage/${club[0].id}`}">뒤로 가기</router-link>
</div>
</template>
......@@ -19,14 +30,15 @@ export default {
member:[]
}
},
// async created() {
// let id = this.$route.params.clubId;
// const res = await this.$http.get(`http://jnhonlinux.ddns.net:3000/club/${id}`)
// this.club = res.data.result
async created(){
let id = this.$route.params.clubId;
const res = await this.$http.get(`http://jnhonlinux.ddns.net:3000/club/${id}`)
this.club = res.data.result
let uid = this.$route.params.uid
const res2 = await this.$http.get(`http://jnhonlinux.ddns.net:3000/users/${uid}`)
this.member = res2.data
// const member = await this.$http.get(`http://jnhonlinux.ddns.net:3000/joinedClub/${id}`)
// this.member = member.data.result
// },
}
}
</script>
\ No newline at end of file
<!--동아리 내에서 자주묻는질문 눌렀을 때-->
<template>
<div class="clubView">
<NavClub id="navClub">가나다</NavClub>
<h2>{{club[0].name}}의 질문들을 적어보자</h2>
<div id="clubMain">
<router-view/>
</div>
</div>
</template>
<script>
import NavClub from '@/components/NavClub.vue'
export default {
name: 'club_question',
components: {
'NavClub': NavClub
},
data(){
return {
club:{}
}
},
async created() {
let id = this.$route.params.clubId;
const res = await this.$http.get(`http://jnhonlinux.ddns.net:3000/club/${id}`)
console.log(res.data.result)
this.club = res.data.result
},
}
</script>
<!--동아리 내에서 활동일지 눌렀을 때-->
<!--동아리 내에서 자유게시판 눌렀을 때-->
<template>
<div class="clubView">
<NavClub id="navClub"></NavClub>
<div v-for="board in freeboard" class="board">
<router-link :to="{ name: 'board', params: { id: board.id}}">
<div v-for="board in freeBoard" class="board">
<router-link :to="{ name: 'free', params: { clubId: `${club[0].id}`, freeId: board.id}}">
<div>
{{board.writer}}{{board.title}}{{board.date}}
</div>
</router-link>
</div>
<router-link :to="{path:`/post/${club[0].id}`}">글쓰기</router-link>
<router-link :to="{path:`/post_free/${club[0].id}`}">글쓰기</router-link>
</div>
</template>
......@@ -30,7 +30,7 @@ export default {
logo:'',
produce:''
}],
freeboard:[{
freeBoard:[{
title:'',
content:'',
writer:''
......@@ -41,9 +41,8 @@ export default {
let id = this.$route.params.clubId;
const res = await this.$http.get(`http://jnhonlinux.ddns.net:3000/club/${id}`)
this.club = res.data.result
const freeboard = await this.$http.get(`http://jnhonlinux.ddns.net:3000/freeboard/${id}`)
this.freeboard = freeboard.data.result
const freeboard = await this.$http.get(`http://jnhonlinux.ddns.net:3000/freeBoard/all/${id}`)
this.freeBoard = freeboard.data.result
}
}
</script>
......
......@@ -11,7 +11,7 @@
<script>
import NavClub from '@/components/NavClub.vue'
import router from "../router/index"
import router from "../../router/index"
import axios from "axios"
import {mapState} from "vuex"
export default {
......@@ -38,14 +38,20 @@ export default {
post(){
if(this.comment != ''){
let id = this.$route.params.clubId;
axios.put(`http://jnhonlinux.ddns.net:3000/applyClub/${id}`, {
axios.post(`http://jnhonlinux.ddns.net:3000/applyClub/${id}`, {
user: this.userInfo.name,
comment: this.comment,
club: this.club[0].id
})
alert("가입신청이 완료되었습니다.")
}).then((res) => {
if(res.data.success == false){
alert(res.data.result)
router.push(`/club_page/${id}`)
} else {
alert(res.data.result)
router.push(`/club_page/${id}`)
}
})
}
else{
alert("빈칸을 채워주세요.")
}
......
......@@ -6,11 +6,15 @@
<div class="clubmember">
<div v-for="clubmem in member">
<h3 style="display:inline">이름: {{clubmem.user}}</h3>
<button><router-link :to="{path:`/joinedClub/user/${clubmem.user}`}">자세히</router-link></button>
<button><router-link :to="{name:'club_detail', params:{clubId: `${club[0].id}`, uid:clubmem.user}}">자세히</router-link></button>
</div>
</div>
<h3>가입 신청자 목록</h3>
<div class="waitmember">
<div v-for="clubmem in applymember">
<h3 style="display:inline">이름: {{clubmem.user}}</h3>
<button><router-link :to="{name:'applymember', params:{clubId: `${club[0].id}`, uid:clubmem.user}}">자세히</router-link></button>
</div>
<!--관리자만 볼 수 있도록 가입 신청 대기자들 목록 표시-->
</div>
<br><br>
......@@ -19,6 +23,7 @@
<script>
import NavClub from '@/components/NavClub.vue'
import axios from "axios"
export default {
components: {
'NavClub': NavClub
......@@ -26,16 +31,21 @@ export default {
data(){
return {
club:[],
member:[]
member:[],
applymember:[]
}
},
async created() {
let id = this.$route.params.clubId;
const res = await this.$http.get(`http://jnhonlinux.ddns.net:3000/club/${id}`)
const res = await axios.get(`http://jnhonlinux.ddns.net:3000/club/${id}`)
this.club = res.data.result
const member = await this.$http.get(`http://jnhonlinux.ddns.net:3000/joinedClub/${id}`)
const member = await axios.get(`http://jnhonlinux.ddns.net:3000/joinedClub/${id}`)
this.member = member.data.result
const applymember = await axios.get(`http://jnhonlinux.ddns.net:3000/applyClub/${id}`)
this.applymember = applymember.data.result
console.log(this.applymember)
},
}
</script>
......
File moved
......@@ -43,6 +43,7 @@ export default {
const res = await this.$http.get(`http://jnhonlinux.ddns.net:3000/club/${id}`)
this.club = res.data.result
const activityLog = await this.$http.get(`http://jnhonlinux.ddns.net:3000/activityLog/all/${id}`)
console.log(activityLog)
this.activityLog = activityLog.data.result
}
}
......
File moved
File moved
File moved
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment