diff --git a/App.vue b/App.vue index d714685..e999e4a 100644 --- a/App.vue +++ b/App.vue @@ -17,7 +17,74 @@ export default { @import "tailwindcss/base"; @import "tailwindcss/utilities"; +* { + box-sizing: border-box; + margin: 0; + padding: 0; +} + + + +*::-webkit-scrollbar { + height: 0px; + width: 0px; + /* 横向滚动条高度 */ +} + +*::-webkit-scrollbar-thumb { + background: #fff; + border-radius: 0px; +} + +*::-webkit-scrollbar-track { + background: #fff; + border-radius: 0px; +} + +*::-webkit-scrollbar-thumb:horizontal { + background: #fff; + /* 横向滚动条thumb颜色 */ +} + +*::-webkit-scrollbar-track:horizontal { + background: #fff; + /* 横向滚动条轨道颜色 */ +} + page { - min-height: 100vh; + // min-height: calc(100vh - 44px); + min-height: calc(100vh); + background-color: rgb(247 248 250); + box-sizing: border-box; + display: flex; + flex-direction: column; +} + +.content { + display: flex; + height: 100%; + flex: 1; + flex-direction: column; +} + +.line2 { + display: -webkit-box; + margin-bottom: 5px; + max-height: 44px; + white-space: normal; + text-overflow: ellipsis; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + word-break: break-all; + overflow: hidden; + display: -webkit-box; + margin-bottom: 5px; + max-height: 44px; + white-space: normal; + text-overflow: ellipsis; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + word-break: break-all; + overflow: hidden; } diff --git a/api/modules/system.js b/api/modules/system.js new file mode 100644 index 0000000..ae86708 --- /dev/null +++ b/api/modules/system.js @@ -0,0 +1,14 @@ +import { + request +} from "@/utils/request"; + +export default { + uploadImage(data) { + return request({ + url: "/admin/system/uploadImage", + method: "POST", + data, + }); + }, + +}; \ No newline at end of file diff --git a/api/store/goods.js b/api/store/goods.js new file mode 100644 index 0000000..5113068 --- /dev/null +++ b/api/store/goods.js @@ -0,0 +1,41 @@ +import { + request +} from "@/utils/request"; + +export default { + list(data) { + return request({ + url: "/admin/goods/goodsList", + method: "POST", + data, + }); + }, + + goodsEditAttribute(data) { + return request({ + url: "/admin/goods/goodsEditAttribute", + method: "POST", + data, + }); + }, + + classify: { + list(data) { + return request({ + url: "/admin/classify/list", + method: "POST", + data, + }); + }, + + }, + + freightRules(data) { + return request({ + url: "/admin/freightRules/list", + method: "POST", + data, + }); + }, + +}; \ No newline at end of file diff --git a/api/store/index.js b/api/store/index.js new file mode 100644 index 0000000..bfeb813 --- /dev/null +++ b/api/store/index.js @@ -0,0 +1,16 @@ +import { + request +} from "@/utils/request"; + +export default { + dataCount: { + oneLine(data) { + return request({ + url: "/admin/dataCount/oneLine", + method: "POST", + data, + }); + }, + } + +}; \ No newline at end of file diff --git a/api/store/order.js b/api/store/order.js new file mode 100644 index 0000000..de64128 --- /dev/null +++ b/api/store/order.js @@ -0,0 +1,56 @@ +import { + request +} from "@/utils/request"; + +export default { + orderList(data) { + return request({ + url: "/admin/order/orderList", + method: "POST", + data, + }); + }, + + orderSend(data) { + return request({ + url: "/admin/order/orderSend", + method: "POST", + data, + }); + }, + + GetExpressList(data) { + return request({ + url: "/admin/order/GetExpressList", + method: "POST", + data, + }); + }, + + printOrder(data) { + return request({ + url: "/admin/order/printOrder", + method: "POST", + data, + }); + }, + + updateNotes(data) { + return request({ + url: "/admin/order/updateNotes", + method: "POST", + data, + }); + }, + + confirmCancel(data) { + return request({ + url: "/admin/order/confirmCancel", + method: "POST", + data, + }); + }, + + + +}; \ No newline at end of file diff --git a/components/kevy-loading/kevy-loading.vue b/components/kevy-loading/kevy-loading.vue new file mode 100644 index 0000000..9b6d1b4 --- /dev/null +++ b/components/kevy-loading/kevy-loading.vue @@ -0,0 +1,1390 @@ + + + + + + {{ tip }} + + + + + {{ tip }} + + + + + + {{ tip }} + + + + + + + {{ tip }} + + + + + + + + + {{ tip }} + + + + + + + + {{ tip }} + + + + + + + + + + {{ tip }} + + + + + + + + + {{ tip }} + + + + + + + + + + + + + + + + + + + {{ tip }} + + + + + + + + + + {{ tip }} + + + + + + + + + + + + + + + {{ tip }} + + + + + + + + + {{ tip }} + + + + + + + + {{ tip }} + + + + + + + + + + + + {{ tip }} + + + + + + + + + + {{ tip }} + + + + + + + + + + {{ tip }} + + + + + + + + + + + + {{ tip }} + + + + + + + + + + {{ tip }} + + + + + + {{ tip }} + + + + + + + \ No newline at end of file diff --git a/components/myList/index.vue b/components/myList/index.vue new file mode 100644 index 0000000..0300bbc --- /dev/null +++ b/components/myList/index.vue @@ -0,0 +1,100 @@ + + + + + + + + + + + + + + + + + diff --git a/components/myTable/index.vue b/components/myTable/index.vue index e724777..1db9646 100644 --- a/components/myTable/index.vue +++ b/components/myTable/index.vue @@ -1,26 +1,82 @@ - + + + + + + + diff --git a/pages.json b/pages.json index 1204b32..f1d409e 100644 --- a/pages.json +++ b/pages.json @@ -41,6 +41,18 @@ } } }, + { + "path": "goods/edit", + "style": { + "navigationBarTitleText": "修改商品", + "enablePullDownRefresh": false, + "mp-alipay": { + "transparentTitle": "always", + "titlePenetrate": "YES", + "gestureBack": "YES" + } + } + }, { "path": "order/index", "style": { @@ -60,6 +72,7 @@ "navigationBarTextStyle": "black", "navigationBarTitleText": "uni-app", "navigationBarBackgroundColor": "#F8F8F8", + "navigationStyle": "custom", "backgroundColor": "#F8F8F8" }, "uniIdRouter": {} diff --git a/pages/index/index.vue b/pages/index/index.vue index 510e7ce..5b9f442 100644 --- a/pages/index/index.vue +++ b/pages/index/index.vue @@ -10,10 +10,18 @@ diff --git a/store/goods/edit.vue b/store/goods/edit.vue new file mode 100644 index 0000000..bec9966 --- /dev/null +++ b/store/goods/edit.vue @@ -0,0 +1,167 @@ + + + + + + + + + + + 缩略图 + + + + + + + + + + + 商品名称 + + + + + + + + + + 服务内容 + + + + + + + + + + 商品重量 + + + 千克 + + + + + + + + + + 商品状态 + + + + + + + + + + + + 保存 + + + + + + + + diff --git a/store/goods/index.vue b/store/goods/index.vue index 8dcc06b..83d6db3 100644 --- a/store/goods/index.vue +++ b/store/goods/index.vue @@ -1,11 +1,203 @@ - + + + + + + + {{ searchType }} + + + + + + + + + + + + + + + + + + + 库存:{{ item.stock_num }} + + + 商品库存不足 + + + + + + + {{ item.name }} + ¥{{ item.price_min }} + + + + + + 下架 + 上架 + 编辑 + + + + + + + + + - + diff --git a/store/index/index.vue b/store/index/index.vue index 7deed65..c233522 100644 --- a/store/index/index.vue +++ b/store/index/index.vue @@ -1,17 +1,48 @@ - - - - - 订单中心 - - - - 商品管理 - - + @@ -27,33 +59,20 @@ - - + diff --git a/store/order/index.vue b/store/order/index.vue index 8dcc06b..9ef9ba9 100644 --- a/store/order/index.vue +++ b/store/order/index.vue @@ -1,11 +1,494 @@ - + + + + + + + + + 快递发货 + 无需物流 + + + + + + + + + {{ item.label }} + + + + + + + + + + + + + + + + + + + {{ searchType }} + + + + + + + { + params.status = e.index; + search({ value: params.keywords }) + }" v-model="params.status"> + + + + + + + + + + + + + + + {{ item.shop.name }} + 商城自营 + + ({{ status[item.status + 1].content }}) + + + + 单号:{{ item.order_no }} + + + + + + + + {{ subItem.goods_name }} + + 小计: {{ subItem.price }} 元 ({{ + subItem.num }}) 件 + + + + + + + + 下单用户:{{ item.user.nickname }} + + ( 会员ID:{{ item.user.id }} ) + + + + 收货人:{{ item.receiver_name }} 电话:{{ item.receiver_phone }} + 收货地址:{{ item.delivery_address }} {{ item.delivery_address_detail }} + + + + 配送方式: + + {{ ["", "快递配送", "到店自提"][item.delivery_type] }} + + + + + 运费: {{ item.delivery_money }}元 + + + + + + + + + 应付: {{ (Number(item.total_price) + Number(item.delivery_money)).toFixed(2) }} 元 + 余额支付: {{ item.pay_balance }} 元 + 优惠: {{ ((Number(item.total_price) + Number(item.delivery_money)) - + item.pay_price).toFixed(2) }} 元 + + + + 实付: {{ item.pay_price }} 元 + + + + 退款 + + + + 小票打印 + + + 备注 + + + 发货 + + + + + + + + + + + + - + diff --git a/utils/request.js b/utils/request.js index a88b180..d0e494a 100644 --- a/utils/request.js +++ b/utils/request.js @@ -17,7 +17,6 @@ const env = { */ export function request(options) { - options.header = { Authorization: `Bearer ${uni.getStorageSync("token")}`, }