|  | @@ -0,0 +1,110 @@
 | 
	
		
			
				|  |  | +<template>
 | 
	
		
			
				|  |  | +  <q-page>
 | 
	
		
			
				|  |  | +    <div class="row justify-center">
 | 
	
		
			
				|  |  | +      <div class="col-12 col-sm-7 q-pa-md">
 | 
	
		
			
				|  |  | +        <div class="row col-12" style="border: 1px solid gray">
 | 
	
		
			
				|  |  | +          <div class="col-2">Product Name</div>
 | 
	
		
			
				|  |  | +          <div class="col-2">Package Category</div>
 | 
	
		
			
				|  |  | +          <div class="col-2">Start Date</div>
 | 
	
		
			
				|  |  | +          <div class="col-2">Total Price</div>
 | 
	
		
			
				|  |  | +          <div class="col-2">Payment Status</div>
 | 
	
		
			
				|  |  | +          <div class="col-2"></div>
 | 
	
		
			
				|  |  | +        </div>
 | 
	
		
			
				|  |  | +        <div v-for="(item, index) in orderSummaries" v-bind:key="index">
 | 
	
		
			
				|  |  | +          <div>
 | 
	
		
			
				|  |  | +            <div class="text-body1" style="background-color: #d6d6d6">
 | 
	
		
			
				|  |  | +              Order No. {{ item.orderId }} | Created On: {{ item.createdTime }}
 | 
	
		
			
				|  |  | +            </div>
 | 
	
		
			
				|  |  | +            <div
 | 
	
		
			
				|  |  | +              class="row col-12 text-subtitle1"
 | 
	
		
			
				|  |  | +              style="border: 1px solid gray"
 | 
	
		
			
				|  |  | +            >
 | 
	
		
			
				|  |  | +              <div class="col-2">{{ item.productName }}</div>
 | 
	
		
			
				|  |  | +              <div class="col-2">{{ item.packageCategory }}</div>
 | 
	
		
			
				|  |  | +              <div class="col-2">{{ item.selectedDate }}</div>
 | 
	
		
			
				|  |  | +              <div class="col-2">CNY: {{ item.totalPrice }}</div>
 | 
	
		
			
				|  |  | +              <div class="col-2">{{ item.orderStatus }}</div>
 | 
	
		
			
				|  |  | +              <div class="col-2">
 | 
	
		
			
				|  |  | +                <q-btn
 | 
	
		
			
				|  |  | +                  @click="goPage('/order-detail/' + item.orderId)"
 | 
	
		
			
				|  |  | +                  color="grey-4"
 | 
	
		
			
				|  |  | +                  text-color="primary"
 | 
	
		
			
				|  |  | +                  glossy
 | 
	
		
			
				|  |  | +                  dense
 | 
	
		
			
				|  |  | +                  unelevated
 | 
	
		
			
				|  |  | +                  icon="info"
 | 
	
		
			
				|  |  | +                  label="Order Details"
 | 
	
		
			
				|  |  | +                />
 | 
	
		
			
				|  |  | +              </div>
 | 
	
		
			
				|  |  | +            </div>
 | 
	
		
			
				|  |  | +          </div>
 | 
	
		
			
				|  |  | +        </div>
 | 
	
		
			
				|  |  | +      </div>
 | 
	
		
			
				|  |  | +    </div>
 | 
	
		
			
				|  |  | +  </q-page>
 | 
	
		
			
				|  |  | +</template>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +<script>
 | 
	
		
			
				|  |  | +import { ref, onMounted, getCurrentInstance, reactive } from "vue";
 | 
	
		
			
				|  |  | +import { api } from "boot/axios";
 | 
	
		
			
				|  |  | +import { useQuasar } from "quasar";
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +export default {
 | 
	
		
			
				|  |  | +  name: "MyOrdersPage",
 | 
	
		
			
				|  |  | +  setup() {
 | 
	
		
			
				|  |  | +    const instance = getCurrentInstance();
 | 
	
		
			
				|  |  | +    const app = instance.appContext.app;
 | 
	
		
			
				|  |  | +    const gp = app.config.globalProperties;
 | 
	
		
			
				|  |  | +    const $q = useQuasar();
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    const pageSize = ref(100);
 | 
	
		
			
				|  |  | +    const currentPage = ref(1);
 | 
	
		
			
				|  |  | +    const orderSummaries = ref([]);
 | 
	
		
			
				|  |  | +    const totalCnt = ref(0);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    function whoami() {
 | 
	
		
			
				|  |  | +      api
 | 
	
		
			
				|  |  | +        .get("/api/v1/user/whoami")
 | 
	
		
			
				|  |  | +        .then(function (response) {
 | 
	
		
			
				|  |  | +          console.log("current user in user page: " + response.data);
 | 
	
		
			
				|  |  | +        })
 | 
	
		
			
				|  |  | +        .catch(function (error) {
 | 
	
		
			
				|  |  | +          console.log("currently not logged in setup: " + error);
 | 
	
		
			
				|  |  | +          gp.goPage("/");
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    function loadMyOrderByPage() {
 | 
	
		
			
				|  |  | +      var params = {};
 | 
	
		
			
				|  |  | +      params.pageSize = pageSize.value;
 | 
	
		
			
				|  |  | +      params.page = currentPage.value;
 | 
	
		
			
				|  |  | +      params.query = "";
 | 
	
		
			
				|  |  | +      api
 | 
	
		
			
				|  |  | +        .get("/api/v1/order/myorders", {
 | 
	
		
			
				|  |  | +          params: params,
 | 
	
		
			
				|  |  | +        })
 | 
	
		
			
				|  |  | +        .then(function (response) {
 | 
	
		
			
				|  |  | +          console.log("Got my orders summary: ");
 | 
	
		
			
				|  |  | +          console.log(response.data.data);
 | 
	
		
			
				|  |  | +          orderSummaries.value = response.data.data.data;
 | 
	
		
			
				|  |  | +          totalCnt.value = response.data.data.total;
 | 
	
		
			
				|  |  | +          pageSize.value = response.data.data.pageSize;
 | 
	
		
			
				|  |  | +          currentPage.value = response.data.data.currentPage;
 | 
	
		
			
				|  |  | +        })
 | 
	
		
			
				|  |  | +        .catch(function (error) {
 | 
	
		
			
				|  |  | +          console.log("currently not logged in my order page: " + error);
 | 
	
		
			
				|  |  | +          gp.$goPage("/auth/login");
 | 
	
		
			
				|  |  | +        });
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    onMounted(() => {
 | 
	
		
			
				|  |  | +      whoami();
 | 
	
		
			
				|  |  | +      loadMyOrderByPage();
 | 
	
		
			
				|  |  | +    });
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    return {
 | 
	
		
			
				|  |  | +      orderSummaries,
 | 
	
		
			
				|  |  | +    };
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  | +</script>
 |