├── .gitignore ├── README.md ├── babel.config.js ├── dist ├── css │ ├── app.c74dbfe7.css │ ├── chunk-0dfd3b4a.63d20943.css │ ├── chunk-3c947d60.84e3db1e.css │ ├── chunk-410f91b3.44dc4c9b.css │ ├── chunk-455910aa.32563729.css │ ├── chunk-54a728c1.357f47c0.css │ ├── chunk-60e039a0.76588251.css │ ├── chunk-646c566a.caa588bb.css │ ├── chunk-6a27d422.bf2a7c96.css │ ├── chunk-6fe227fa.74221f5b.css │ ├── chunk-ba5f6d76.ecffab87.css │ ├── chunk-bb9cdefa.e1ed8dd0.css │ ├── chunk-cc8dae44.513d69f7.css │ └── chunk-vendors.b89365ac.css ├── favicon.ico ├── index.html └── js │ ├── app.499babf3.js │ ├── app.499babf3.js.map │ ├── chunk-0458f749.2de9ceac.js │ ├── chunk-0458f749.2de9ceac.js.map │ ├── chunk-0d6d658c.0adbd1b6.js │ ├── chunk-0d6d658c.0adbd1b6.js.map │ ├── chunk-0dfd3b4a.a3263025.js │ ├── chunk-0dfd3b4a.a3263025.js.map │ ├── chunk-1aa10266.4ce6bfc2.js │ ├── chunk-1aa10266.4ce6bfc2.js.map │ ├── chunk-1e804642.43ef2512.js │ ├── chunk-1e804642.43ef2512.js.map │ ├── chunk-2794c691.957059fd.js │ ├── chunk-2794c691.957059fd.js.map │ ├── chunk-2d0aa5f4.69d6f566.js │ ├── chunk-2d0aa5f4.69d6f566.js.map │ ├── chunk-2d0d338e.b326d192.js │ ├── chunk-2d0d338e.b326d192.js.map │ ├── chunk-2d0e5e97.092952fa.js │ ├── chunk-2d0e5e97.092952fa.js.map │ ├── chunk-2d21de4f.893a8112.js │ ├── chunk-2d21de4f.893a8112.js.map │ ├── chunk-2d9e1d6a.a476442b.js │ ├── chunk-2d9e1d6a.a476442b.js.map │ ├── chunk-36d8d44e.39aa0125.js │ ├── chunk-36d8d44e.39aa0125.js.map │ ├── chunk-3c947d60.ea117ec6.js │ ├── chunk-3c947d60.ea117ec6.js.map │ ├── chunk-410f91b3.010e0df3.js │ ├── chunk-410f91b3.010e0df3.js.map │ ├── chunk-455910aa.df4bd8be.js │ ├── chunk-455910aa.df4bd8be.js.map │ ├── chunk-52fae7e1.bf63823d.js │ ├── chunk-52fae7e1.bf63823d.js.map │ ├── chunk-54a728c1.f2765c0e.js │ ├── chunk-54a728c1.f2765c0e.js.map │ ├── chunk-60e039a0.e2f7849b.js │ ├── chunk-60e039a0.e2f7849b.js.map │ ├── chunk-63ee0d53.03fb2f4f.js │ ├── chunk-63ee0d53.03fb2f4f.js.map │ ├── chunk-646c566a.43a3f75a.js │ ├── chunk-646c566a.43a3f75a.js.map │ ├── chunk-6a27d422.78b5857d.js │ ├── chunk-6a27d422.78b5857d.js.map │ ├── chunk-6fe227fa.c7849c6b.js │ ├── chunk-6fe227fa.c7849c6b.js.map │ ├── chunk-ba5f6d76.ed2fe0cf.js │ ├── chunk-ba5f6d76.ed2fe0cf.js.map │ ├── chunk-bb9cdefa.3f69d21f.js │ ├── chunk-bb9cdefa.3f69d21f.js.map │ ├── chunk-cc8dae44.85ef0de6.js │ ├── chunk-cc8dae44.85ef0de6.js.map │ ├── chunk-eeb3e8a0.e0f31fed.js │ ├── chunk-eeb3e8a0.e0f31fed.js.map │ ├── chunk-f8335f52.5d539174.js │ ├── chunk-f8335f52.5d539174.js.map │ ├── chunk-vendors.14f90677.js │ └── chunk-vendors.14f90677.js.map ├── package-lock.json ├── package.json ├── public ├── favicon.ico └── index.html ├── src ├── App.vue ├── apis │ ├── admin │ │ ├── adminAuth.js │ │ ├── adminCategory.js │ │ ├── adminCoupon.js │ │ ├── adminDiscount.js │ │ ├── adminOrder.js │ │ ├── adminProduct.js │ │ └── adminUser.js │ ├── cart.js │ ├── coupons.js │ ├── discounts.js │ ├── order.js │ ├── payment.js │ └── products.js ├── assets │ ├── adminCategoriesPage.png │ ├── adminCouponsPage.png │ ├── adminDashboardPage.png │ ├── adminDiscountsPage.png │ ├── adminOrdersPage.png │ ├── adminProductsPage.png │ ├── adminSignInPage.png │ ├── adminSignUpPage.png │ ├── adminUersPage.png │ ├── cartPage.png │ ├── ec-front-end-vue-logo.png │ ├── homePage.png │ ├── index.css │ ├── logo.png │ ├── orderCreatePage.png │ ├── orderPagePaid.png │ ├── orderPageUnPaid.png │ └── singleProduct.png ├── components │ ├── CategoryTab.vue │ ├── Navbar.vue │ ├── Pagination.vue │ ├── ProductDetail.vue │ ├── ProductsCard.vue │ ├── Searchbar.vue │ ├── SideCartPreview.vue │ ├── Spinner.vue │ └── admin │ │ ├── AdminCouponForm.vue │ │ ├── AdminDiscountForm.vue │ │ ├── AdminNav.vue │ │ ├── AdminProductForm.vue │ │ └── AdminProductsTable.vue ├── main.js ├── router.js ├── store.js ├── utils │ ├── helpers.js │ └── mixins.js └── views │ ├── Cart.vue │ ├── NotFound.vue │ ├── OrderCreate.vue │ ├── OrderDetail.vue │ ├── Payment.vue │ ├── Product.vue │ ├── Products.vue │ ├── SignIn.vue │ ├── SignUp.vue │ └── admin │ ├── AdminCategories.vue │ ├── AdminCoupon.vue │ ├── AdminCouponEdit.vue │ ├── AdminCouponNew.vue │ ├── AdminCoupons.vue │ ├── AdminDashboard.vue │ ├── AdminDiscount.vue │ ├── AdminDiscountEdit.vue │ ├── AdminDiscountNew.vue │ ├── AdminDiscounts.vue │ ├── AdminOrder.vue │ ├── AdminOrders.vue │ ├── AdminProduct.vue │ ├── AdminProductEdit.vue │ ├── AdminProductNew.vue │ ├── AdminProducts.vue │ ├── AdminSignIn.vue │ ├── AdminSignUp.vue │ └── AdminUsers.vue └── vue.config.js /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | # /dist 4 | 5 | # local env files 6 | .env.local 7 | .env.*.local 8 | 9 | # Log files 10 | npm-debug.log* 11 | yarn-debug.log* 12 | yarn-error.log* 13 | 14 | # Editor directories and files 15 | .idea 16 | .vscode 17 | *.suo 18 | *.ntvs* 19 | *.njsproj 20 | *.sln 21 | *.sw? 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |
2 |
3 |
{{product.description}}
15 |{{ product.description }}
21 |# | 6 |Name | 7 |操作 | 8 |
---|---|---|
{{ product.id }} | 16 |{{ product.name }} | 17 | 18 |
19 | |
44 |
{{coupon.description}}
9 | 10 |優惠方案:免運費
11 |優惠方案:扣款
12 |優惠方案:打折
13 | 14 |優惠碼:{{coupon.coupon_code}}
15 |使用次數:{{coupon.limited_num}}
16 |結束日期:{{coupon.end_date | dateTime}}
17 |折抵費用:{{coupon.product_reduce | currency}}
20 |折抵:{{coupon.percent}} %
21 | 22 |# | 15 |Coupon | 16 |優惠碼 | 17 |優惠方案 | 18 |Action | 19 |
---|---|---|---|---|
{{ coupon.id }} | 27 |{{ coupon.name }} | 28 |{{ coupon.coupon_code }} | 29 | 30 |31 | 免運費 32 | 扣款 33 | 打折 34 | | 35 | 36 |
37 | |
62 |
{{discount.description}}
9 | 10 |優惠方案:免運費
11 |優惠方案:扣款
12 |優惠方案:打折
13 | 14 |消費額度:{{discount.target_price | currency}}
15 |活動開始:{{discount.start_date | dateTime}}
16 |活動結束:{{discount.end_date | dateTime}}
17 |折抵費用:{{discount.product_reduce | currency}}
20 |折抵:{{discount.percent}} %
21 | 22 |# | 15 |Discount | 16 |消費額度 | 17 |活動方案 | 18 |Action | 19 |
---|---|---|---|---|
{{ discount.id }} | 27 |{{ discount.name }} | 28 |{{ discount.target_price }} | 29 | 30 |31 | 免運費 32 | 扣款 33 | 打折 34 | | 35 | 36 |
37 | |
62 |
買者姓名:{{ order.name }}
9 |連絡電話:{{ order.phone }}
10 |聯絡地址:{{ order.address }}
11 |購買日期:{{ order.createdAt | dateTime }}
12 |消費總額:{{ order.checkoutPrice | currency }}
13 |商品名稱:{{ product.name }}
41 |購買數量:{{ product.OrderItem.quantity }}
42 | 商品總額:{{ product.OrderItem.price }} 43 |購買時間 | 10 |購買者 | 11 |購買款項 | 12 |應付金額 | 13 |是否付款 | 14 |出貨狀態 | 15 |訂單 | 16 |
---|---|---|---|---|---|---|
{{ order.createdAt | dateTime }} | 24 |{{ order.name }} | 25 | 26 |
27 |
|
34 |
35 | {{ order.checkoutPrice | currency }} | 36 | 37 |
38 |
39 | 已付款
40 | 尚未付款
41 |
42 |
43 |
44 |
55 |
56 | |
57 |
58 |
59 |
60 | 處理中
61 | 配送中
62 | 已到貨
63 |
64 |
65 |
66 |
78 |
79 | |
80 |
81 |
82 |
91 |
92 |
104 |
105 | |
113 |
{{ product.description }}
42 |# | 10 |Role | 12 |Action | 13 ||
---|---|---|---|
{{user.id}} | 18 |{{user.email}} | 19 |
20 |
21 |
28 |
22 |
26 |
27 | {{user.role}}
29 | |
30 |
31 |
32 |
33 |
43 |
34 |
35 |
36 |
37 |
41 |
42 | |
44 |