|
- <template>
- <div>
- <section class="pending-pane">
- <div class="actions"><a class="new-order" href="#new-order">New</a><a
- class="new-order" href="#credits">Add Credits</a></div>
- <h4>Pending Orders</h4>
- <ul>
- <template v-bind:key='order.id' v-for="order in orders">
- <div class="pending-item" v-if="order.status == 'pending'">
- <div class="pending-heading">
- <li @click="togglePending($event)">{{order.service.name}} ({{order.updated_at}})</li>
- <img class="chevron" src="../../images/chevron-down.svg" alt="">
- </div>
- <div class="pending-content">
- <p>ID: {{order.id}}<br>URL: {{order.url}}<br>Quantity:
- {{order.quantity}}<br>Note: {{order.note}}</p>
- </div>
- </div>
- </template>
- </ul>
- </section>
- <div class="info-grey"><p>Orders are typically completed within 1-5
- days.</p><div></div></div>
- <section class="history-pane">
- <h4>Order History</h4>
-
- <div class="table-scroller">
- <table>
- <thead><th>Date</th><th>ID</th><th>Name</th><th>Status</th>
- <th>Quantity</th></thead>
- <tbody>
- <tr v-bind:key='order.id' v-for='order in
- orders.slice(historyPage*10-10, historyPage*10)'>
- <td>{{order.updated_at}}</td>
- <td>{{order.id}}</td>
- <td>{{order.service.name}}</td>
- <td :class="order.status"
- class="status"><span>{{order.status.charAt(0).toUpperCase() +
- order.status.slice(1)}}</span></td>
- <td>{{order.quantity}}</td>
- <td> <eye @click="select(order)"></eye> </td>
- </tr>
- </tbody>
- </table>
- </div>
-
- <img @click="moveHistory(false)" class="nav-btn left"
- src="../../images/arrow-left-circle-fill.svg" alt=""/>
- <p class="nav-legend">{{historyPage}}/{{Math.ceil(orders.length/10)}}</p>
- <img @click="moveHistory(true)" class="nav-btn right"
- src="../../images/arrow-right-circle-fill.svg" alt=""/>
-
- </section>
-
- <order-item v-if="selected" @close="close" :selected="selected"
- :token="token" @change-url="(url) => selected.url = url"></order-item>
-
- </div>
- </template>
-
- <script>
- import Eye from '../icons/eye-fill.vue'
- import OrderItem from './order-item.vue'
-
- function togglePending(event) {
- event.target.parentNode.parentNode.classList.toggle('selected')
- }
-
- function moveHistory(forward) {
- if (forward) {
- this.historyPage += 1
- } else {
- this.historyPage -= 1
- }
- if (this.historyPage < 1) {
- this.historyPage = 1
- return
- } else if (this.historyPage > this.orders.length/10+1) {
- this.historyPage -= 1
- return
- }
- }
-
- function close() {
- this.selected = null
- }
-
- function select(order) {
- this.selected = order
- }
-
- export default {
- components: {Eye, OrderItem},
- data() {return {historyPage: 1, selected: null}},
- methods: {
- togglePending, moveHistory, close, select
- },
- props: ['orders', 'token'],
- }
- </script>
|