panhui 4 سال پیش
والد
کامیت
8ed785207f
3فایلهای تغییر یافته به همراه46 افزوده شده و 766 حذف شده
  1. 33 5
      src/pages/my.vue
  2. 0 758
      src/pages/orderDetail.vue
  3. 13 3
      src/pagesMine/order.vue

+ 33 - 5
src/pages/my.vue

@@ -82,7 +82,7 @@
                     </div>
                     <!-- <img class="bg-mask" src="../static/imgs/bg_mask.png" mode="widthFix" /> -->
                 </div>
-                <div class="icon-menus" @click="navigateTo('/pagesMine/order')">
+                <div class="icon-menus" @click="navigateTo('/pagesMine/order?tab=2')">
                     <div class="item">
                         <div class="icon-wrapper">
                             <img src="../static/imgs/icon_order_not_paid.png" class="icon" />
@@ -90,20 +90,22 @@
                         </div>
                         <div class="name">待付款</div>
                     </div>
-                    <div class="item" @click="navigateTo('/pagesMine/order')">
+                    <div class="item" @click="navigateTo('/pagesMine/order?tab=3')">
                         <div class="icon-wrapper">
                             <img src="../static/imgs/icon_order_paid.png" class="icon" />
                             <!-- <div class="badge long">99</div> -->
                         </div>
                         <div class="name">待使用</div>
+
+                        <div class="tags" v-if="paidNum">{{ paidNum }}</div>
                     </div>
-                    <div class="item" @click="navigateTo('/pagesMine/order')">
+                    <div class="item" @click="navigateTo('/pagesMine/order?tab=4')">
                         <div class="icon-wrapper">
                             <img src="../static/imgs/icon_order_finish.png" class="icon" />
                         </div>
                         <div class="name">已完成</div>
                     </div>
-                    <div class="divider"></div>
+                    <!-- <div class="divider"></div> -->
                     <div class="item" @click="navigateTo('/pagesMine/order')">
                         <div class="icon-wrapper">
                             <img src="../static/imgs/icon_order.png" class="icon" />
@@ -185,6 +187,16 @@ export default {
         // setTimeout(() => {
         //     this.getShareImg();
         // }, 1000);
+        this.$http
+            .post('/orderInfo/my', {
+                size: 1,
+                status: 'PAID'
+            })
+            .then(res => {
+                this.paidNum = res.totalElements;
+            });
+    },
+    onLoad() {
         this.$http.get('/user/shareImg').then(res => {
             this.url = res + '?x-oss-process=image/resize,l_260,m_mfit';
             this.getShareImg();
@@ -202,7 +214,8 @@ export default {
             packages: [],
             transparent: true,
             url: null,
-            shareImg: ''
+            shareImg: '',
+            paidNum: 0
         };
     },
     computed: {
@@ -529,6 +542,7 @@ page {
     left: 12px;
     right: 12px;
     .item {
+        position: relative;
         flex-basis: 0;
         flex-grow: 1;
         .flex-col();
@@ -567,6 +581,20 @@ page {
             font-size: 14px;
             color: black;
         }
+
+        .tags {
+            position: absolute;
+            padding: 2px;
+            min-width: 12px;
+            text-align: center;
+            right: 20px;
+            top: -5px;
+            border-radius: 100%;
+            font-size: 12px;
+            color: #ffffff;
+            line-height: 12px;
+            background-color: #f53809;
+        }
     }
     .group-left {
         .flex();

+ 0 - 758
src/pages/orderDetail.vue

@@ -1,758 +0,0 @@
-<config>
-{
-    "disableScroll": true,
-    "navigationBarTitleText": "订单详情",
-    "navigationBarBackgroundColor": "#FF7F1F",
-    "navigationBarTextStyle": "white",
-    "backgroundColor": "#CC9B52"
-}
-</config>
-<template>
-    <div class="page-container">
-        <div class="page-scroll">
-            <div class="status-info">
-                <div class="left">
-                    <div class="status">{{ status.label }}</div>
-                    <div class="desc">{{ status.desc }}</div>
-                </div>
-                <img src="../static/svgs/icon_dingdan_daishiyong.svg" alt="" />
-            </div>
-            <div class="container">
-                <!-- <div class="status">{{ status }}</div> -->
-                <div class="info">
-                    <img class="cover" :src="((packageInfo || {}).img || [])[0]" mode="aspectFill" />
-                    <div class="content">
-                        <div class="name">{{ orderInfo.name }}</div>
-
-                        <block v-if="orderInfo.specification">
-                            <div class="desc" v-if="orderInfo.specification">{{ orderInfo.specification }} 1 张</div>
-                            <div class="desc" v-if="orderInfo.day">
-                                {{ orderInfo.day }}
-                            </div>
-                        </block>
-                        <div class="numbers" v-else>
-                            <div class="price">
-                                <span style="font-size: 12px;">¥</span>
-                                <span>{{ integer }}</span>
-                                <span style="font-size: 12px;">.{{ fraction }}</span>
-                            </div>
-                            <div class="num">×1</div>
-                        </div>
-                    </div>
-                </div>
-                <!-- <div class="total-price">
-                    <div style="margin-right: 4px; margin-top: 2px;">总金额</div>
-                    <price-tag color="black" size="22" :value="orderInfo.price || 0"></price-tag>
-                </div> -->
-                <div class="divider">
-                    <div class="circle" style="left:-31px"></div>
-                    <div class="line"></div>
-                    <div class="circle" style="right:-31px"></div>
-                </div>
-
-                <div class="code" v-if="orderInfo.status === 'PAID' || orderInfo.status === 'USED'">
-                    <div class="qrcode" :class="{ used: orderInfo.status === 'USED' }">
-                        <canvas canvas-id="mycanvas" :style="{ width: codeSize + 'px', height: codeSize + 'px' }" />
-
-                        <img
-                            class="used-img"
-                            v-if="orderInfo.status === 'USED'"
-                            src="../static/svgs/icon_yishiyong.svg"
-                            alt=""
-                        />
-                    </div>
-
-                    <span class="text">请在活动当天出示给工作人员</span>
-                </div>
-
-                <div class="code-detail" v-if="orderInfo.status === 'PAID' || orderInfo.status === 'USED'">
-                    <div class="code-detail-info" v-if="orderInfo.day || event.day">
-                        <div class="name">
-                            <img src="../static/svgs/icon_xuzhi_youxiaoqi.svg" alt="" />
-                            <span>活动日期</span>
-                        </div>
-                        <div class="val">{{ orderInfo.day || event.day }} {{ getDay(orderInfo.day || event.day) }}</div>
-                    </div>
-                    <div class="code-detail-info" v-if="event.time">
-                        <div class="name">
-                            <img src="../static/svgs/icon_xuzhi_shijian.svg" alt="" />
-                            <span>活动时间</span>
-                        </div>
-                        <div class="val">{{ event.time }}</div>
-                    </div>
-                    <div class="code-detail-info" v-if="event.address">
-                        <div class="name">
-                            <img src="../static/svgs/icon_xuzhi_didian.svg" alt="" />
-                            <span>活动地点</span>
-                        </div>
-                        <div class="val">{{ event.address }}</div>
-                    </div>
-                </div>
-
-                <div class="list">
-                    <div class="row head">
-                        <div class="name">支付详情</div>
-                    </div>
-                    <div class="row">
-                        <div class="name">商品总额</div>
-                        <div class="num">¥{{ orderInfo.price }}</div>
-                    </div>
-                    <div class="row">
-                        <div class="name">运费</div>
-                        <div class="num">+0.00</div>
-                    </div>
-                    <div class="row">
-                        <div class="name">优惠券</div>
-                        <div class="num">-0.00</div>
-                    </div>
-                    <div class="row">
-                        <div class="name">实际付款</div>
-                        <div class="num">
-                            <price-tag color="red" size="24" :value="orderInfo.price || 0"></price-tag>
-                        </div>
-                    </div>
-                </div>
-                <div class="group" style="margin-top:20px">
-                    <div class="row">
-                        <div class="name">订单编号</div>
-                        <div class="value">
-                            {{ orderInfo.id }}
-                            <div class="btn-copy" @click="copy">复制</div>
-                        </div>
-                    </div>
-                    <div class="row">
-                        <div class="name">创建时间</div>
-                        <div class="value">{{ orderInfo.createdAt }}</div>
-                    </div>
-                    <div class="row" v-if="orderInfo.paidAt">
-                        <div class="name">付款时间</div>
-                        <div class="value">{{ orderInfo.paidAt }}</div>
-                    </div>
-
-                    <div class="row">
-                        <div class="name">订单留言</div>
-                        <div class="value remark">{{ orderInfo.remark }}</div>
-                    </div>
-                </div>
-                <div class="list">
-                    <div class="row head">
-                        <div class="name">购买者信息</div>
-                    </div>
-                    <div class="row" v-if="orderInfo.realName">
-                        <div class="name">姓名</div>
-                        <div class="num">{{ orderInfo.realName }}</div>
-                    </div>
-                    <div class="row" v-if="orderInfo.IDNo">
-                        <div class="name">身份证号</div>
-                        <div class="num">{{ orderInfo.IDNo }}</div>
-                    </div>
-                    <div class="row" v-if="orderInfo.buyPhone">
-                        <div class="name">手机号</div>
-                        <div class="num">{{ orderInfo.buyPhone }}</div>
-                    </div>
-                </div>
-            </div>
-        </div>
-        <recommend v-if="orderInfo.status !== 'UNPAID'"></recommend>
-
-        <div class="bottom-box"></div>
-        <div class="bottom" v-if="orderInfo.status === 'UNPAID'">
-            <div class="btn-cancel " @click="cancel">取消订单</div>
-            <div class="btn-pay btn-large" @click="pay">立即支付</div>
-        </div>
-        <van-dialog id="van-dialog"></van-dialog>
-
-        <van-overlay z-index="20" :show="showCounpon" @click="showCounpon = false">
-            <div class="coupon-info" @click.stop="">
-                <img mode="widthFix" src="../static/imgs/tanchuang_img_bg.png" class="bg" alt="" />
-                <img
-                    @click="navigateTo('/pagesMine/counponDetail?id=' + couponInfo.id)"
-                    src="../static/imgs/tanchuang_btn_chakan.png"
-                    alt=""
-                    class="btn"
-                />
-                <img src="../static/imgs/icon_close.png" @click="showCounpon = false" alt="" class="close" />
-                <div class="info">
-                    <div class="left">
-                        <div class="tag">立减券</div>
-                        <div class="name">{{ couponInfo.name }}</div>
-                        <div class="desc">{{ couponInfo.title }}</div>
-                    </div>
-
-                    <div class="right">
-                        {{ couponInfo.price }}
-                    </div>
-                </div>
-
-                <div class="text">已帮您放入<span>我的卡券</span></div>
-            </div>
-        </van-overlay>
-    </div>
-</template>
-<script>
-import recommend from './recommend.vue';
-import qrcode from '../qrcode';
-import { mapState } from 'vuex';
-import dayjs from 'dayjs';
-export default {
-    components: { recommend },
-    data() {
-        return {
-            orderInfo: {},
-            packageInfo: {},
-            packageGoods: [],
-            qrcodeImg: '',
-            event: {},
-            couponInfo: {},
-            showCounpon: false
-        };
-    },
-    onShow() {
-        this.codeSize = this.setCanvasSize();
-        this.$http.get(`/orderInfo/get/${this.$mp.query.id}`).then(res => {
-            this.orderInfo = res;
-            this.$http.get(`/package/get/${res.packageId}`).then(res => {
-                this.packageInfo = res;
-                this.event = res.event || {};
-                this.createQrCode(
-                    encodeURI(`https://jiashanxia.izouma.com/verify?orderId=${res.id}&time=${new Date().getTime()}`),
-                    'mycanvas',
-                    this.setCanvasSize(190),
-                    this.setCanvasSize(190)
-                );
-            });
-
-            // this.$http.postJson('/packageGoods/all', { size: 10000, query: { packageId: res.packageId } }).then(res => {
-            //     this.packageGoods = res.content;
-            // });
-        });
-        var ids = (wx.getStorageSync('couponOrderId') || '').split(',');
-        if (!ids.includes(this.$mp.query.id)) {
-            this.$http
-                .post('/coupon/chooseByOrder', {
-                    orderInfoId: this.$mp.query.id
-                })
-                .then(res => {
-                    if (res) {
-                        wx.setStorageSync('couponOrderId', [...ids, this.$mp.query.id].join(','));
-                        this.showCounpon = true;
-                        this.couponInfo = { ...res.coupon, id: res.id };
-                    }
-                });
-        }
-    },
-    computed: {
-        ...mapState(['orderStatus']),
-        integer() {
-            return (this.orderInfo.price || 0).toFixed(2).split('.')[0];
-        },
-        fraction() {
-            return (this.orderInfo.price || 0).toFixed(2).split('.')[1];
-        },
-        status() {
-            return this.orderStatus.find(i => i.value === this.orderInfo.status) || {};
-        }
-    },
-    methods: {
-        getData() {
-            this.$http.get(`/orderInfo/get/${this.$mp.query.id}`).then(res => {
-                this.orderInfo = res;
-                this.$http.get(`/package/get/${res.packageId}`).then(res => {
-                    this.packageInfo = res;
-                });
-                this.$http
-                    .postJson('/packageGoods/all', { size: 10000, query: { packageId: res.packageId } })
-                    .then(res => {
-                        this.packageGoods = res.content;
-                    });
-            });
-        },
-        copy() {
-            wx.setClipboardData({
-                data: this.orderInfo.id + '',
-                success(res) {
-                    wx.getClipboardData({
-                        success(res) {
-                            wx.showToast({
-                                title: '复制成功'
-                            });
-                        }
-                    });
-                }
-            });
-        },
-        pay() {
-            wx.showLoading({
-                title: '加载中'
-            });
-            this.$http
-                .get('/pay/wx', { orderId: this.orderInfo.id })
-                .then(res => {
-                    res.package = res.packageValue;
-                    wx.requestPayment({
-                        ...res,
-                        success: () => {
-                            wx.hideLoading();
-                            wx.showToast({
-                                title: '支付成功'
-                            });
-                            this.$set(this.orderInfo, 'status', 'PAID');
-                            this.getData();
-                        },
-                        fail: e => {
-                            console.log(e);
-                            wx.hideLoading();
-                            wx.showToast({
-                                icon: 'none',
-                                title: '支付失败'
-                            });
-                        }
-                    });
-                })
-                .catch(e => {
-                    wx.hideLoading();
-                    wx.showToast({
-                        title: e.error,
-                        icon: 'none'
-                    });
-                });
-        },
-        cancel() {
-            this.$dialog
-                .confirm({
-                    title: '提示',
-                    message: '确定取消订单?'
-                })
-                .then(() => {
-                    wx.showLoading({
-                        title: ''
-                    });
-                    this.$http.post('/orderInfo/cancel', { orderId: this.orderInfo.id }).then(res => {
-                        wx.hideLoading();
-                        wx.showToast({
-                            icon: 'none',
-                            title: '订单已取消'
-                        });
-                        this.orderInfo.status = 'CANCELLED';
-                    });
-                })
-                .catch(() => {});
-        },
-        setCanvasSize(_width = 200) {
-            var size = {};
-            try {
-                var res = wx.getSystemInfoSync();
-                var scale = 375 / _width; //不同屏幕下canvas的适配比例;设计稿是750宽
-                var width = res.windowWidth / scale;
-            } catch (e) {
-                // Do something when catch error
-                console.log('获取设备信息失败' + e);
-            }
-            return width;
-        },
-        createQrCode(content, canvasId, cavW, cavH) {
-            console.log(content, canvasId, cavW, cavH);
-            //调用插件中的draw方法,绘制二维码图片
-            //this.canvasToTempImage 为绘制完成的回调函数,可根据自己的业务添加
-            qrcode.api.draw(content, canvasId, cavW, cavH, this, this.canvasToTempImage(canvasId));
-        },
-        //获取临时缓存图片路径,存入data中
-        canvasToTempImage(canvasId) {
-            let that = this;
-            wx.canvasToTempFilePath({
-                canvasId, // 这里canvasId即之前创建的canvas-id
-                success: res => {
-                    let tempFilePath = res.tempFilePath;
-                },
-                fail: function(res) {
-                    console.log(res);
-                }
-            });
-        },
-        getDay(day) {
-            let list = ['周日', '周一', '周二', '周三', '周四', '周五', '周六'];
-            return list[dayjs(day, 'YYYY-MM-DD').day()];
-        }
-    }
-};
-</script>
-<style lang="less">
-.page-scroll {
-    padding-bottom: 30px !important;
-    background: linear-gradient(
-        to top,
-        #f5f7fa 0px,
-        #f5f7fa calc(env(safe-area-inset-bottom) + 56px),
-        @prim calc(env(safe-area-inset-bottom) + 256px),
-        @prim 100%
-    );
-}
-
-.bottom-box {
-    height: calc(env(safe-area-inset-bottom) + 56px);
-}
-.recommend-list {
-    padding-top: 0px;
-}
-.container {
-    background: white;
-    border-radius: 12px;
-    margin: 0 12px 0 12px;
-    position: relative;
-    padding: 20px 16px 16px;
-    .info {
-        width: 100%;
-        .flex();
-        .cover {
-            width: 80px;
-            min-width: 80px;
-            height: 80px;
-            border-radius: 4px;
-        }
-        .content {
-            margin-left: 12px;
-            height: 80px;
-            flex-grow: 1;
-            .flex-col();
-            overflow: hidden;
-            .name {
-                font-size: 14px;
-                font-weight: bold;
-                color: black;
-                line-height: 22px;
-                overflow: hidden;
-                text-overflow: ellipsis;
-                white-space: nowrap;
-            }
-
-            .desc {
-                font-size: 13px;
-                color: #939599;
-                line-height: 18px;
-                flex-grow: 1;
-            }
-            .numbers {
-                margin-top: 8px;
-                color: #000000;
-                font-size: 14px;
-                line-height: 24px;
-                .flex();
-                .price {
-                    flex-grow: 1;
-                }
-            }
-        }
-    }
-    .total-price {
-        margin-top: 20px;
-        .flex();
-        justify-content: flex-end;
-        color: @text3;
-        font-size: 14px;
-    }
-    .divider {
-        width: 100%;
-        position: relative;
-        margin-top: 24px;
-        .circle {
-            width: 22px;
-            height: 22px;
-            border-radius: 11px;
-            background: @prim;
-            position: absolute;
-            top: 0;
-            bottom: 0;
-            margin: auto;
-        }
-        .line {
-            margin: 0 9px;
-            border-top: 1px dashed @border2;
-        }
-    }
-    .list {
-        margin-top: 29px;
-        .row {
-            .flex();
-            line-height: 24px;
-            margin-bottom: 14px;
-            .name {
-                font-size: 14px;
-                color: #939599;
-                flex-grow: 1;
-            }
-            .num {
-                font-size: 14px;
-                color: black;
-            }
-            &.head {
-                .name {
-                    color: #000000;
-                    font-weight: bold;
-                    font-size: 18px;
-                }
-            }
-        }
-    }
-    .group {
-        border-top: 1px solid @border2;
-        .row {
-            .flex();
-            margin-top: 14px;
-            .name {
-                font-size: 14px;
-                color: @text3;
-                flex-grow: 1;
-            }
-            .value {
-                font-size: 14px;
-                color: @text1;
-                .flex();
-                .btn-copy {
-                    width: 40px;
-                    height: 22px;
-                    background: #f2f3f5;
-                    border-radius: 2px;
-                    .flex();
-                    justify-content: center;
-                    margin-left: 10px;
-                    font-size: 14px;
-                    color: #303133;
-                    line-height: 22px;
-                }
-            }
-        }
-    }
-}
-.bottom {
-    height: 56px;
-    .flex();
-    justify-content: center;
-    position: absolute;
-    bottom: 0;
-    left: 0;
-    right: 0;
-    background: white;
-    box-shadow: 0px -1px 2px 0px rgba(0, 0, 0, 0.06);
-    padding: 0 25px env(safe-area-inset-bottom);
-}
-.btn-cancel {
-    text-align: center;
-    flex-grow: 1;
-    border-radius: 8px;
-    border: 1px solid #c8c9cc;
-    font-size: 14px;
-    font-weight: bold;
-    color: #939599;
-    line-height: 44px;
-    margin: 0 5px;
-}
-
-.btn-pay {
-    flex-grow: 1;
-    width: auto;
-    margin: 0 5px;
-}
-.status-info {
-    .flex();
-    padding: 3px 55px 20px;
-    .left {
-        flex-grow: 1;
-        .status {
-            font-size: 18px;
-            font-weight: bold;
-            color: #ffffff;
-            line-height: 26px;
-        }
-
-        .desc {
-            font-size: 13px;
-            color: #ffffff;
-            line-height: 24px;
-            font-weight: normal;
-        }
-    }
-
-    img {
-        width: 50px;
-        height: 50px;
-    }
-}
-
-.code {
-    .flex-col();
-    align-items: center;
-    .qrcode {
-        position: relative;
-        border-radius: 12px;
-        border: 1px solid #f5f7fa;
-        padding: 5px;
-        margin-top: 27px;
-        canvas {
-            // width: 200px;
-            // height: 200px;
-            // padding: 15px;
-        }
-        .qrcode-img {
-            width: 200px;
-            height: 200px;
-            padding: 15px;
-            border-radius: 12px;
-            border: 1px solid #f5f7fa;
-            img {
-                width: 160px;
-                height: 160px;
-            }
-        }
-        .flex-col();
-        align-items: center;
-
-        &.used {
-            &::after {
-                content: '';
-                position: absolute;
-                top: 0;
-                right: 0;
-                left: 0;
-                bottom: 0;
-                z-index: 2;
-                background-color: rgba(255, 255, 255, 0.8);
-            }
-        }
-
-        .used-img {
-            width: 66px;
-            height: 66px;
-            position: absolute;
-            right: 0px;
-            bottom: 0px;
-            z-index: 3;
-        }
-    }
-
-    .text {
-        font-size: 14px;
-        color: #c8c9cc;
-        line-height: 24px;
-        margin-top: 12px;
-        background: #f5f7fa;
-        border-radius: 6px;
-        padding: 2px 9px;
-    }
-}
-
-.code-detail-info {
-    .name {
-        .flex();
-        margin-top: 30px;
-        img {
-            width: 16px;
-            height: 16px;
-        }
-
-        span {
-            font-size: 14px;
-            font-weight: bold;
-            color: #000000;
-            line-height: 24px;
-            margin-left: 6px;
-        }
-    }
-
-    .val {
-        font-size: 16px;
-        color: #606266;
-        line-height: 26px;
-        margin-left: 24px;
-    }
-}
-
-.coupon-info {
-    position: relative;
-    img {
-        display: block;
-    }
-    .flex-col();
-    align-items: center;
-    .bg {
-        width: 100vw;
-    }
-
-    .btn {
-        width: 156px;
-        height: 48px;
-        transform: translateY(-24px);
-    }
-
-    .close {
-        width: 44px;
-        height: 44px;
-    }
-
-    .info {
-        .flex();
-        position: absolute;
-        top: 312px;
-        left: 78px;
-        right: 65px;
-        bottom: 159px;
-
-        .left {
-            flex-grow: 1;
-
-            .tag {
-                font-size: 12px;
-                font-weight: bold;
-                color: #f9692a;
-                line-height: 18px;
-                width: 42px;
-                height: 18px;
-                background: #ffd984;
-                border-radius: 2px;
-                text-align: center;
-            }
-
-            .name {
-                font-size: 14px;
-                font-weight: bold;
-                color: #ffffff;
-                line-height: 20px;
-            }
-            .desc {
-                font-size: 11px;
-                color: #ffffff;
-                line-height: 16px;
-            }
-        }
-
-        .right {
-            font-size: 33px;
-            font-weight: bold;
-            color: #ec4b25;
-            line-height: 54px;
-            margin-left: 12px;
-            width: 80px;
-            text-align: center;
-
-            &::before {
-                content: '¥';
-                font-size: 14px;
-                line-height: 20px;
-            }
-        }
-    }
-    .text {
-        position: absolute;
-        font-size: 14px;
-        color: rgba(255, 255, 255, 0.5);
-        line-height: 20px;
-        bottom: 150px;
-        text-align: center;
-        left: 100px;
-        right: 100px;
-        span {
-            color: #ee4f26;
-            text-decoration: underline;
-        }
-    }
-}
-</style>

+ 13 - 3
src/pagesMine/order.vue

@@ -69,14 +69,24 @@ export default {
         return {
             tab: '1',
             orders: [],
-            empty: false
+            empty: false,
+            first: true
         };
     },
     computed: {
         ...mapState(['orderStatus'])
     },
-    created() {
-        this.getData();
+    onShow() {
+        if (!this.first) {
+            this.getData();
+        }
+    },
+    onLoad(options) {
+        if (options.tab) {
+            this.tab = options.tab;
+            this.getData();
+            this.first = false;
+        }
     },
     methods: {
         getData() {