TicketFeeTable.js 3.71 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
import { useState, useEffect } from "react";
import cinemaApi from "../../apis/cinema.api.js";
import catchErrors from "../../utils/catchErrors.js";

const FeeTable = ({ editFee, setEditFee }) => {
    const [ticketFee, setTicketFee] = useState([])
    const [error, setError] = useState("")

    useEffect(() => {
        getInfo()
    }, [])

    async function getInfo() {
        const res = await cinemaApi.getTicketFee()
        console.log("res==", res)
    }

    async function editRow(theaterType) {
        try {
            setError("")
            const res = await cinemaApi.getTicketFeeOne(theaterType)
            setEditFee({ ...editFee, ...res })
        } catch (error) {
            catchErrors(error, setError)
        }
    }

    async function deleteData(theaterType) {
        try {
            setError("")
            await cinemaApi.removeTicketFee(theaterType)
            alert("해당 관람료 정보를 성공적으로 삭제했습니다.")
            getInfo()
        } catch (error) {
            catchErrors(error, setError)
        }
    }

    return (
            <table className="table caption-top text-center align-middle">
                <caption className="text-dark">영화관람료 안내</caption>
                <thead className="table-dark">
                    <tr>
                        <th>상영관 종류</th>
                        <th>주중 / 주말</th>
                        <th>시간대</th>
                        <th>청소년</th>
                        <th>일반</th>
                        <th>경로</th>
                        <th></th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <td rowSpan="6">일반석 2D</td>
                        <td rowSpan="3">주중(~)</td>
                        <td>조조 (06:00 ~ )</td>
                        <td>6,000</td>
                        <td>8,000</td>
                        <td>6,000</td>
                        <td rowSpan="6">
                            <div className="d-flex flex-column">
                                <button type="button" className="btn btn-primary my-1" onClick={() => editRow("일반석 2D")}>수정</button>
                                <button type="button" className="btn btn-danger my-1" onClick={() => deleteData("일반석 2D")}>삭제</button>
                            </div>
                        </td>
                    </tr>
                    <tr>
                        <td>일반 (11:00 ~ )</td>
                        <td>9,000</td>
                        <td>12,000</td>
                        <td>9,000</td>
                    </tr>
                    <tr>
                        <td>심야 (00:00 ~ )</td>
                        <td>5,000</td>
                        <td>7,000</td>
                        <td>5,000</td>
                    </tr>
                    <tr>
                        <td rowSpan="3">주말(~)  공휴일</td>
                        <td>조조 (06:00 ~ )</td>
                        <td>6,000</td>
                        <td>9,000</td>
                        <td>6,000</td>
                    </tr>
                    <tr>
                        <td>일반 (11:00 ~ )</td>
                        <td>10,000</td>
                        <td>13,000</td>
                        <td>10,000</td>
                    </tr>
                    <tr>
                        <td>심야 (00:00 ~ )</td>
                        <td>5,000</td>
                        <td>7,000</td>
                        <td>5,000</td>
                    </tr>
                </tbody>
            </table>
    )
}

export default FeeTable