2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | {{ scope.row.type | typeFilter }}
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
60 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # 欢迎使用 GxShop商城系统
2 |
3 | ------
4 |
5 | GxShop是一套前后端分离,功能齐全操作简易的商城框架.目前已实现B2C完整电商功能,支付集成了微信扫码支付和支付宝PC端。
6 | [vue前端基于青梧商城改造](https://gitee.com/qingwuitcn/qwShopVue)
7 | 后台基于LiteMall。
8 |
9 | > * 2021.05.26 三级分类、分类查询包含子分类商品
10 | > * LiteMall + Vue 前后分离
11 | > * 多商户、秒杀、团购、在线聊天、三级分销、Wechat支付、Alipay支付
12 | > * 支持二次开发
13 |
14 | 
15 |
16 | ## 代码地址:
17 |
18 | [后端代码地址 Gitee](https://gitee.com/lijunnew/GxShop/tree/master/litemall)
19 | [Vue 前端代码地址 Gitee](https://gitee.com/lijunnew/GxShop/tree/master/pcvue)
20 |
21 | [后端代码地址 github](https://github.com/liijun/GxShop/tree/master/litemall)
22 | [Vue 前端代码地址 github](https://github.com/liijun/GxShop/tree/master/pcvue)
23 |
24 | ## 演示地址:
25 | [演示地址](http://123.206.215.59)
26 | 演示支付为真实能用,请切勿支付,没时间给退款!!!
27 | > * [后台地址](http://123.206.215.59/shop-admin): admin 123456
28 | > * [用户登录](http://123.206.215.59/user/login): user123 user123
29 |
30 |
31 | > 欢迎各位提交建议、BUG。联系方式 **QQ群:234357526** `添加请写上说明如:GxShop商城`。
32 |
33 | ------
34 |
35 | ## 如何使用GxShop商城?
36 |
37 |
38 |
39 | 1. LiteMall 后台
40 | 由于LiteMall没有PC端支付,我们增加了这一部分的后台功能。
41 | [LiteMall说明文档](https://linlinjava.gitbook.io/litemall/)
42 |
43 | 2. Vue
44 |
45 | ```vue
46 | npm install (安装扩展)
47 |
48 | 前端记得要修改src\plugins\api.js 应该是第一行 后端api 根域名,应该是127.0.0.1:8080 (这个是你api服务器域名)
49 |
50 | npm run build
51 | ```
52 |
53 |
54 |
55 |
56 | ## 常见问题
57 |
58 | 1. 刷新404 后台无法访问。
59 | https://router.vuejs.org/zh/guide/essentials/history-mode.html 可根据自己环境修改
60 |
61 |
--------------------------------------------------------------------------------
/litemall/litemall-admin-api/src/main/java/org/linlinjava/litemall/admin/dto/GoodsAllinone.java:
--------------------------------------------------------------------------------
1 | package org.linlinjava.litemall.admin.dto;
2 |
3 | import org.linlinjava.litemall.db.domain.LitemallGoods;
4 | import org.linlinjava.litemall.db.domain.LitemallGoodsAttribute;
5 | import org.linlinjava.litemall.db.domain.LitemallGoodsProduct;
6 | import org.linlinjava.litemall.db.domain.LitemallGoodsSpecification;
7 |
8 | public class GoodsAllinone {
9 | LitemallGoods goods;
10 | LitemallGoodsSpecification[] specifications;
11 | LitemallGoodsAttribute[] attributes;
12 | LitemallGoodsProduct[] products;
13 |
14 | public LitemallGoods getGoods() {
15 | return goods;
16 | }
17 |
18 | public void setGoods(LitemallGoods goods) {
19 | this.goods = goods;
20 | }
21 |
22 | public LitemallGoodsProduct[] getProducts() {
23 | return products;
24 | }
25 |
26 | public void setProducts(LitemallGoodsProduct[] products) {
27 | this.products = products;
28 | }
29 |
30 | public LitemallGoodsSpecification[] getSpecifications() {
31 | return specifications;
32 | }
33 |
34 | public void setSpecifications(LitemallGoodsSpecification[] specifications) {
35 | this.specifications = specifications;
36 | }
37 |
38 | public LitemallGoodsAttribute[] getAttributes() {
39 | return attributes;
40 | }
41 |
42 | public void setAttributes(LitemallGoodsAttribute[] attributes) {
43 | this.attributes = attributes;
44 | }
45 |
46 | }
47 |
--------------------------------------------------------------------------------
/litemall-admin/src/styles/element-ui.scss:
--------------------------------------------------------------------------------
1 | // cover some element-ui styles
2 |
3 | .el-breadcrumb__inner,
4 | .el-breadcrumb__inner a {
5 | font-weight: 400 !important;
6 | }
7 |
8 | .el-upload {
9 | input[type="file"] {
10 | display: none !important;
11 | }
12 | }
13 |
14 | .el-upload__input {
15 | display: none;
16 | }
17 |
18 | .cell {
19 | .el-tag {
20 | margin-right: 0px;
21 | }
22 | }
23 |
24 | .small-padding {
25 | .cell {
26 | padding-left: 5px;
27 | padding-right: 5px;
28 | }
29 | }
30 |
31 | .fixed-width {
32 | .el-button--mini {
33 | padding: 7px 10px;
34 | min-width: 60px;
35 | }
36 | }
37 |
38 | .status-col {
39 | .cell {
40 | padding: 0 10px;
41 | text-align: center;
42 |
43 | .el-tag {
44 | margin-right: 0px;
45 | }
46 | }
47 | }
48 |
49 | // to fixed https://github.com/ElemeFE/element/issues/2461
50 | .el-dialog {
51 | transform: none;
52 | left: 0;
53 | position: relative;
54 | margin: 0 auto;
55 | }
56 |
57 | // refine element ui upload
58 | .upload-container {
59 | .el-upload {
60 | width: 100%;
61 |
62 | .el-upload-dragger {
63 | width: 100%;
64 | height: 200px;
65 | }
66 | }
67 | }
68 |
69 | // dropdown
70 | .el-dropdown-menu {
71 | a {
72 | display: block
73 | }
74 | }
75 |
76 | // fix date-picker ui bug in filter-item
77 | .el-range-editor.el-input__inner {
78 | display: inline-flex !important;
79 | }
80 |
81 | // to fix el-date-picker css style
82 | .el-range-separator {
83 | box-sizing: content-box;
84 | }
85 |
--------------------------------------------------------------------------------