diff --git a/src/pages.json b/src/pages.json
index 4216f97..22cfe26 100644
--- a/src/pages.json
+++ b/src/pages.json
@@ -42,6 +42,39 @@
},
{
"path": "pages/register/register"
+ },
+ {
+ "path": "pages/prod/prod",
+ "style": {
+ "navigationBarTitleText": "商品详情"
+ }
+ },
+ {
+ "path": "pages/orderList/orderList",
+ "style": {
+ "backgroundTextStyle": "light",
+ "navigationBarTitleText": "订单列表",
+ "navigationBarTextStyle": "black",
+ "navigationBarBackgroundColor": "#fafafa"
+ }
+ },
+ {
+ "path": "pages/order-detail/order-detail",
+ "style": {
+ "backgroundTextStyle": "light",
+ "navigationBarBackgroundColor": "#fff",
+ "navigationBarTitleText": "订单详情",
+ "navigationBarTextStyle": "black"
+ }
+ },
+ {
+ "path": "pages/pay-result/pay-result",
+ "style": {
+ "backgroundTextStyle": "light",
+ "navigationBarBackgroundColor": "#fff",
+ "navigationBarTitleText": "支付结果",
+ "navigationBarTextStyle": "black"
+ }
}
],
"tabBar": {
diff --git a/src/pages/order-detail/order-detail.scss b/src/pages/order-detail/order-detail.scss
new file mode 100644
index 0000000..9a7795d
--- /dev/null
+++ b/src/pages/order-detail/order-detail.scss
@@ -0,0 +1,247 @@
+.container {
+ background: #f4f4f4;
+}
+.order-detail {
+ margin-bottom: 120rpx;
+ padding-bottom: 160rpx;
+ .delivery-addr {
+ padding: 20rpx 30rpx;
+ background: #fff;
+ .user-info {
+ line-height: 48rpx;
+ word-wrap: break-word;
+ word-break: break-all;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 1;
+ -webkit-box-orient: vertical;
+ .item {
+ font-size: 28rpx;
+ margin-right: 30rpx;
+ vertical-align: top;
+ display: inline-block;
+ }
+ }
+ .addr {
+ font-size: 26rpx;
+ line-height: 36rpx;
+ color: #999;
+ word-wrap: break-word;
+ }
+ }
+}
+.prod-item {
+ background-color: #fff;
+ margin-top: 15rpx;
+ font-size: 28rpx;
+ .item-cont {
+ .prod-pic {
+ image {
+ width: 180rpx;
+ height: 180rpx;
+ width: 100%;
+ height: 100%;
+ }
+ font-size: 0;
+ display: block;
+ width: 160rpx;
+ height: 160rpx;
+ overflow: hidden;
+ background: #fff;
+ margin-right: 16rpx;
+ }
+ display: flex;
+ align-items: center;
+ padding: 30rpx;
+ border-top: 2rpx solid #f1f1f1;
+ .prod-info {
+ margin-left: 10rpx;
+ font-size: 28rpx;
+ width: 100%;
+ position: relative;
+ height: 80px;
+ -webkit-flex: 1;
+ -ms-flex: 1;
+ -webkit-box-flex: 1;
+ -moz-box-flex: 1;
+ flex: 1;
+ .prodname {
+ font-size: 28rpx;
+ line-height: 40rpx;
+ max-height: 86rpx;
+ overflow: hidden;
+ display: -webkit-box;
+ -webkit-line-clamp: 1;
+ -webkit-box-orient: vertical;
+ text-overflow: ellipsis;
+ word-break: break-all;
+ }
+ .prod-info-cont {
+ position: relative;
+ color: #999;
+ margin-top: 10rpx;
+ font-size: 24rpx;
+ .info-item {
+ color: #999;
+ height: 28rpx;
+ margin-top: 10rpx;
+ font-size: 24rpx;
+ overflow: hidden;
+ display: -webkit-box;
+ -webkit-line-clamp: 1;
+ -webkit-box-orient: vertical;
+ text-overflow: ellipsis;
+ word-break: break-all;
+ width: 70%;
+ }
+ .number {
+ float: left;
+ margin-right: 20rpx;
+ }
+ }
+ }
+ }
+ .price-nums {
+ margin-top: 30rpx;
+ .prodprice {
+ color: #333;
+ height: 50rpx;
+ line-height: 50rpx;
+ font-size: 24rpx;
+ float: left;
+ }
+ .btn-box {
+ float: right;
+ text-align: right;
+ .btn {
+ padding: 6rpx 30rpx;
+ line-height: 36rpx;
+ margin-left: 20rpx;
+ font-size: 24rpx;
+ display: inline-block;
+ border: 2rpx solid #e4e4e4;
+ border-radius: 50rpx;
+ }
+ }
+ }
+}
+.order-msg {
+ background: #fff;
+ margin-top: 15rpx;
+ font-size: 28rpx;
+ .msg-item {
+ padding: 20rpx;
+ border-top: 2rpx solid #f1f1f1;
+ &:first-child {
+ border: 0;
+ }
+ .item {
+ display: flex;
+ padding: 10rpx 0;
+ align-items: center;
+ box-sizing: border-box;
+ .item-tit {
+ min-width: 140rpx;
+ color: #999;
+ line-height: 48rpx;
+ }
+ .item-txt {
+ flex: 1;
+ line-height: 48rpx;
+ }
+ .item-txt.remarks {
+ max-width: 600rpx;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ }
+ .copy-btn {
+ display: block;
+ margin-left: 20rpx;
+ border: 2rpx solid #e4e4e4;
+ padding: 6rpx 24rpx;
+ border-radius: 50rpx;
+ font-size: 24rpx;
+ line-height: 28rpx;
+ }
+ .item-txt.price {
+ text-align: right;
+ }
+ }
+ .item.payment {
+ border-top: 2rpx solid #f1f1f1;
+ color: #eb2444;
+ padding-top: 30rpx;
+ }
+ }
+}
+.order-detail-footer {
+ position: fixed;
+ bottom: 0;
+ width: 100%;
+ max-width: 750rpx;
+ background: #fff;
+ margin: auto;
+ display: -webkit-flex;
+ display: -webkit-box;
+ display: -moz-box;
+ display: -ms-flexbox;
+ display: flex;
+ padding: 22rpx 0;
+ font-size: 26rpx;
+ box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.05);
+ .dele-order {
+ margin-left: 20rpx;
+ line-height: 60rpx;
+ display: block;
+ margin-right: 20rpx;
+ width: 150rpx;
+ text-align: center;
+ }
+ .footer-box {
+ flex: 1;
+ text-align: right;
+ line-height: 60rpx;
+ .buy-again {
+ font-size: 26rpx;
+ color: #fff;
+ background: #eb2444;
+ border-radius: 50rpx;
+ padding: 10rpx 20rpx;
+ margin-right: 20rpx;
+ }
+ .apply-service {
+ font-size: 26rpx;
+ border-radius: 50rpx;
+ padding: 10rpx 20rpx;
+ border: 1px solid #e4e4e4;
+ margin-right: 20rpx;
+ }
+ }
+}
+.clearfix {
+ &:after {
+ content: " ";
+ display: table;
+ clear: both;
+ }
+}
+.order-state {
+ height: 70rpx;
+ line-height: 70rpx;
+ text-align: right;
+ margin-right: 20rpx;
+ .order-sts {
+ color: #eb2444;
+ font-size: 28rpx;
+ }
+ .order-sts.gray {
+ color: #999;
+ height: 32rpx;
+ line-height: 32rpx;
+ }
+ .order-sts.normal {
+ color: #333;
+ }
+}
diff --git a/src/pages/order-detail/order-detail.vue b/src/pages/order-detail/order-detail.vue
new file mode 100644
index 0000000..78e09a6
--- /dev/null
+++ b/src/pages/order-detail/order-detail.vue
@@ -0,0 +1,296 @@
+
+
+
+
+
+
+ {{ userAddrDto.receiver }}
+
+
+ {{ userAddrDto.mobile }}
+
+
+
+ {{ userAddrDto.province }}{{ userAddrDto.city }}{{ userAddrDto.area }}{{
+ userAddrDto.area
+ }}{{ userAddrDto.addr }}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.prodName }}
+
+
+
+ 数量:{{ item.prodCount }}
+
+
+ {{ item.skuName }}
+
+
+
+
+
+ ¥
+
+
+ {{ wxs.parsePrice(item.price)[0] }}
+
+
+ .{{ wxs.parsePrice(item.price)[1] }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 订单编号:
+
+
+ {{ orderNumber }}
+
+
+
+
+ 下单时间:
+
+
+ {{ createTime }}
+
+
+
+
+
+
+ 支付方式:
+
+
+ 微信支付
+
+
+
+
+ 配送方式:
+
+
+ 普通配送
+
+
+
+
+ 订单备注:
+
+
+
+
+
+
+
+
+
+
+ 订单总额:
+
+
+
+ ¥
+
+
+ {{ wxs.parsePrice(total)[0] }}
+
+
+ .{{ wxs.parsePrice(total)[1] }}
+
+
+
+
+
+ 运费:
+
+
+
+ ¥
+
+
+ {{ wxs.parsePrice(transfee)[0] }}
+
+
+ .{{ wxs.parsePrice(transfee)[1] }}
+
+
+
+
+
+ 优惠券:
+
+
+
+ -¥
+
+
+ {{ wxs.parsePrice(reduceAmount)[0] }}
+
+
+ .{{ wxs.parsePrice(reduceAmount)[1] }}
+
+
+
+
+
+ 实付款:
+
+ ¥
+
+
+ {{ wxs.parsePrice(actualTotal)[0] }}
+
+
+ .{{ wxs.parsePrice(actualTotal)[1] }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/orderList/orderList.scss b/src/pages/orderList/orderList.scss
new file mode 100644
index 0000000..3ca19c6
--- /dev/null
+++ b/src/pages/orderList/orderList.scss
@@ -0,0 +1,211 @@
+.container {
+ background-color: #f4f4f4;
+ color: #333;
+}
+.order-tit {
+ position: fixed;
+ top: 0;
+ display: flex;
+ justify-content: space-around;
+ z-index: 999;
+ width: 100%;
+ height: 100rpx;
+ line-height: 100rpx;
+ background-color: #fff;
+ border-bottom: 2rpx solid #f4f4f4;
+ text {
+ display: block;
+ font-size: 28rpx;
+ color: 999;
+ width: 100rpx;
+ text-align: center;
+ }
+ text.on {
+ border-bottom: 4rpx solid #eb2444;
+ color: #eb2444;
+ }
+}
+.main {
+ margin-top: 100rpx;
+}
+.prod-item {
+ background-color: #fff;
+ margin-top: 15rpx;
+ font-size: 28rpx;
+ .item-cont {
+ .prod-pic {
+ image {
+ width: 180rpx;
+ height: 180rpx;
+ width: 100%;
+ height: 100%;
+ }
+ font-size: 0;
+ display: inline-block;
+ width: 160rpx;
+ height: 160rpx;
+ overflow: hidden;
+ background: #fff;
+ margin-right: 16rpx;
+ }
+ .categories {
+ white-space: nowrap;
+ }
+ display: flex;
+ align-items: center;
+ padding: 20rpx 30rpx;
+ border-radius: 10rpx;
+ display: -webkit-flex;
+ display: -webkit-box;
+ display: -moz-box;
+ display: -ms-flexbox;
+ background: #fafafa;
+ .prod-info {
+ margin-left: 10rpx;
+ font-size: 28rpx;
+ width: 100%;
+ position: relative;
+ height: 160rpx;
+ -webkit-flex: 1;
+ -ms-flex: 1;
+ -webkit-box-flex: 1;
+ -moz-box-flex: 1;
+ flex: 1;
+ .prodname {
+ font-size: 28rpx;
+ line-height: 36rpx;
+ max-height: 86rpx;
+ overflow: hidden;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+ text-overflow: ellipsis;
+ word-break: break-all;
+ }
+ .prod-info-cont {
+ color: #999;
+ line-height: 40rpx;
+ margin-top: 10rpx;
+ font-size: 22rpx;
+ overflow: hidden;
+ display: -webkit-box;
+ -webkit-line-clamp: 1;
+ -webkit-box-orient: vertical;
+ text-overflow: ellipsis;
+ word-break: break-all;
+ }
+ }
+ }
+ .order-num {
+ padding: 20rpx 30rpx;
+ display: flex;
+ justify-content: space-between;
+ font-size: 28rpx;
+ .clear-btn {
+ width: 32rpx;
+ height: 32rpx;
+ font-size: 0;
+ vertical-align: top;
+ margin-left: 42rpx;
+ position: relative;
+ &::after {
+ content: " ";
+ display: block;
+ position: absolute;
+ left: -10px;
+ top: 0rpx;
+ width: 1px;
+ height: 32rpx;
+ background: #ddd;
+ }
+ .clear-list-btn {
+ width: 100%;
+ height: 100%;
+ vertical-align: middle;
+ }
+ }
+ }
+ .total-num {
+ text-align: right;
+ padding: 20rpx 30rpx;
+ font-size: 28rpx;
+ .prodprice {
+ display: inline-block;
+ color: #333;
+ }
+ .prodcount {
+ margin-right: 20rpx;
+ }
+ }
+ .price-nums {
+ .prodprice {
+ color: #333;
+ position: absolute;
+ bottom: 0;
+ }
+ .prodcount {
+ position: absolute;
+ bottom: 5rpx;
+ right: 0;
+ color: #999;
+ font-family: verdana;
+ }
+ }
+ .prod-foot {
+ border-top: 2rpx solid #e6e6e6;
+ .total {
+ font-size: 25rpx;
+ margin-bottom: 20rpx;
+ padding-bottom: 20rpx;
+ border-bottom: 2rpx solid #e9eaec;
+ }
+ .btn {
+ display: flex;
+ align-items: center;
+ justify-content: flex-end;
+ }
+ }
+}
+.order-state {
+ display: flex;
+ align-items: center;
+ font-size: 24rpx;
+ .order-sts.red {
+ color: #eb2444;
+ }
+ .order-sts.gray {
+ color: #999;
+ }
+}
+.other-button-hover {
+ background-color: blue;
+}
+.button-hover {
+ background-color: red;
+ background-color: blue;
+}
+.button {
+ margin-top: 20rpx;
+ margin-bottom: 20rpx;
+ margin-left: 10px;
+ font-size: 26rpx;
+ background: #fff;
+ padding: 10rpx 30rpx;
+ border-radius: 80rpx;
+ border: 2rpx solid #e1e1e1;
+ &:last-child {
+ margin-right: 10rpx;
+ }
+}
+.button.warn {
+ color: #eb2444;
+ border-color: #eb2444;
+}
+.empty {
+ font-size: 24rpx;
+ margin-top: 100rpx;
+ text-align: center;
+ color: #999;
+ height: 300rpx;
+ line-height: 300rpx;
+}
diff --git a/src/pages/orderList/orderList.vue b/src/pages/orderList/orderList.vue
new file mode 100644
index 0000000..63a0ab5
--- /dev/null
+++ b/src/pages/orderList/orderList.vue
@@ -0,0 +1,424 @@
+
+
+
+
+
+ 全部
+
+
+ 待支付
+
+
+ 待发货
+
+
+ 待收货
+
+
+ 已完成
+
+
+
+
+
+ 还没有任何相关订单
+
+
+
+
+
+ 订单编号:{{ item.orderNumber }}
+
+
+ {{
+ item.status == 1 ? '待支付' : (item.status == 2 ? '待发货' : (item.status == 3 ? '待收货' : (item.status == 5 ? '已完成' : '已取消')))
+ }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ prod.prodName }}
+
+
+ {{ prod.skuName }}
+
+
+
+
+ ¥
+
+
+ {{ wxs.parsePrice(prod.price)[0] }}
+
+
+ .{{ wxs.parsePrice(prod.price)[1] }}
+
+
+
+ x{{ prod.prodCount }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 共1件商品
+
+
+ 合计:
+
+ ¥
+
+
+ {{ wxs.parsePrice(item.actualTotal)[0] }}
+
+
+ .{{ wxs.parsePrice(item.actualTotal)[1] }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/pay-result/pay-result.scss b/src/pages/pay-result/pay-result.scss
new file mode 100644
index 0000000..eb8e3e3
--- /dev/null
+++ b/src/pages/pay-result/pay-result.scss
@@ -0,0 +1,50 @@
+.pay-sts {
+ font-size: 40rpx;
+ margin-top: 100rpx;
+ padding: 30rpx 0;
+ text-align: center;
+}
+.pay-sts.fail {
+ color: #f43530;
+}
+.pay-sts.succ {
+ color: #19be6b;
+}
+.btns {
+ margin-top: 50rpx;
+ text-align: center;
+ .button {
+ border-radius: 10rpx;
+ font-size: 28rpx;
+ background: #fff;
+ color: #333;
+ padding: 20rpx 35rpx;
+ width: 300rpx;
+ margin: 0 20rpx;
+ text-align: center;
+ }
+ .button.checkorder {
+ background: #19be6b;
+ color: #fff;
+ margin-bottom: 20rpx;
+ border: 2rpx solid #19be6b;
+ }
+ .button.payagain {
+ background: #fff;
+ border: 2rpx solid #f90;
+ color: #f90;
+ }
+ .button.shopcontinue {
+ background: #fff;
+ border: 2rpx solid #19be6b;
+ color: #19be6b;
+ }
+}
+.tips {
+ font-size: 28rpx;
+ color: #999;
+ text-align: center;
+ .warn {
+ color: #f43530;
+ }
+}
diff --git a/src/pages/pay-result/pay-result.vue b/src/pages/pay-result/pay-result.vue
new file mode 100644
index 0000000..9dae116
--- /dev/null
+++ b/src/pages/pay-result/pay-result.vue
@@ -0,0 +1,110 @@
+
+
+
+
+ 支付失败
+
+
+ 请在
+
+ 30分钟
+ 内完成付款
+
+
+ 否则订单会被系统取消
+
+
+
+ 查看订单
+
+
+ 重新支付
+
+
+
+
+
+
+ 支付成功
+
+
+ 感谢您的购买
+
+
+
+ 查看订单
+
+
+ 继续购物
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/prod/prod.scss b/src/pages/prod/prod.scss
new file mode 100644
index 0000000..7478438
--- /dev/null
+++ b/src/pages/prod/prod.scss
@@ -0,0 +1,628 @@
+.container {
+ background: #f4f4f4;
+ height: 100%;
+ padding-bottom: 150rpx;
+}
+swiper {
+ height: 750rpx;
+ width: 100%;
+ border-bottom: 2rpx solid #f8f8f8;
+ image {
+ height: 750rpx;
+ width: 100%;
+ }
+}
+.prod-info {
+ padding: 30rpx 30rpx 0 30rpx;
+ position: relative;
+ background: #fff;
+}
+.tit-wrap {
+ position: relative;
+ line-height: 40rpx;
+ padding-right: 104rpx;
+ .col {
+ position: absolute;
+ top: 0;
+ right: 0;
+ width: 80rpx;
+ color: #666;
+ font-size: 20rpx;
+ padding-left: 20rpx;
+ text-align: center;
+ image {
+ display: block;
+ margin: auto;
+ width: 40rpx;
+ height: 40rpx;
+ }
+ &::after {
+ content: "";
+ display: block;
+ width: 1px;
+ height: auto;
+ background: #f1f1f1;
+ position: absolute;
+ top: 0;
+ bottom: 5px;
+ left: 0;
+ }
+ }
+}
+.prod-tit {
+ font-size: 32rpx;
+ color: #333;
+ padding-right: 20rpx;
+}
+.sales-p {
+ background: #fff;
+ line-height: 40rpx;
+ color: #999;
+ font-size: 24rpx;
+ margin-top: 6rpx;
+ margin-right: 104rpx;
+}
+.prod-price {
+ font-size: 30rpx;
+ height: 100rpx;
+ line-height: 100rpx;
+}
+.price {
+ color: #eb2444;
+ font-size: 24rpx;
+ font-weight: 600;
+ margin-right: 30rpx;
+}
+.price-num {
+ font-size: 46rpx;
+ font-weight: 400;
+}
+.ori-price {
+ font-size: 25rpx;
+ color: #999;
+ text-decoration: line-through;
+}
+.sales {
+ color: #999;
+}
+.more {
+ position: absolute;
+ right: 20rpx;
+ width: 60rpx;
+ top: 10rpx;
+ text-align: right;
+ font-size: 40rpx;
+ color: #999;
+ letter-spacing: 1px;
+}
+.sku {
+ padding: 20rpx;
+ background: #fff;
+ margin-top: 20rpx;
+ position: relative;
+ line-height: 48rpx;
+}
+.sku-tit {
+ position: absolute;
+ display: inline-block;
+ width: 60rpx;
+ left: 20rpx;
+ font-size: 22rpx;
+ top: 20rpx;
+ color: #999;
+}
+.sku-con {
+ margin: 0 80rpx;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ font-size: 28rpx;
+ font-weight: bold;
+}
+.cmt-wrap {
+ background: #fff;
+ margin-top: 20rpx;
+ position: relative;
+ line-height: 48rpx;
+}
+.cmt-tit {
+ font-size: 32rpx;
+ position: relative;
+ border-bottom: 1px solid #ddd;
+ padding: 20rpx;
+}
+.cmt-t {
+ width: 300rpx;
+}
+.cmt-good {
+ color: #eb2444;
+ font-size: 24rpx;
+}
+.cmt-count {
+ position: absolute;
+ right: 20rpx;
+ top: 20rpx;
+ font-size: 24rpx;
+ color: #666;
+}
+.cmt-more {
+ width: 20rpx;
+ height: 20rpx;
+ border-top: 2rpx solid #999;
+ border-right: 2rpx solid #999;
+ transform: rotate(45deg);
+ margin-left: 10rpx;
+ display: inline-block;
+}
+.cmt-cont {
+ padding: 0 20rpx;
+}
+.cmt-tag {
+ position: relative;
+ padding: 14px 3px 0 0;
+ margin: 0;
+ text {
+ margin: 0 10px 10px 0;
+ background: #fdf0f0;
+ display: inline-block;
+ padding: 0 10px;
+ height: 25px;
+ border-radius: 3px;
+ line-height: 25px;
+ font-size: 12px;
+ font-family: -apple-system, Helvetica, sans-serif;
+ color: #666;
+ }
+ text.selected {
+ color: #fff;
+ background: #e93b3d;
+ }
+}
+.cmt-item {
+ position: relative;
+ padding: 10px 0;
+ &::after {
+ content: "";
+ height: 0;
+ display: block;
+ border-bottom: 1px solid #ddd;
+ position: absolute;
+ left: 0;
+ bottom: 0;
+ right: -10px;
+ border-bottom-color: #e5e5e5;
+ }
+}
+.cmt-items {
+ .empty {
+ display: block;
+ font-size: 24rpx;
+ text-align: center;
+ color: #aaa;
+ margin-top: 5vh;
+ }
+}
+.cmt-user {
+ line-height: 25px;
+ margin-bottom: 8px;
+ font-size: 12px;
+ .user-img {
+ width: 25px;
+ height: 25px;
+ border-radius: 50%;
+ vertical-align: middle;
+ }
+ .nickname {
+ margin-left: 10px;
+ display: inline-block;
+ color: #333;
+ max-width: 8.2em;
+ height: 25px;
+ line-height: 27px;
+ }
+ .date {
+ float: right;
+ color: #999;
+ margin-left: -60px;
+ }
+}
+.cmt-user-info {
+ display: flex;
+ align-items: center;
+ width: 400rpx;
+}
+.cmt-cnt {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 3;
+ -webkit-box-orient: vertical;
+ position: relative;
+ line-height: 1.5;
+ font-size: 14px;
+ margin: 5px 0;
+ word-break: break-all;
+ max-height: 126px;
+}
+.cmt-attr {
+ height: 85px;
+ width: 100%;
+ white-space: nowrap;
+ image {
+ display: inline-block;
+ width: 80px;
+ height: 80px;
+ margin-right: 5px;
+ margin-bottom: 5px;
+ border-radius: 2px;
+ background: #f3f3f3;
+ }
+}
+.cmt-more-v {
+ text-align: center;
+ background-color: #fff;
+ font-size: 12px;
+ text {
+ height: 25px;
+ line-height: 25px;
+ font-size: 12px;
+ text-align: center;
+ color: #333;
+ padding: 0px 10px;
+ margin: 10px 0;
+ border: 1px solid #ccc;
+ border-radius: 40px;
+ display: inline-block;
+ }
+}
+.cmt-popup {
+ position: fixed;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ z-index: 998;
+ background-color: #fff;
+ padding-bottom: 98rpx;
+ .cmt-cont {
+ height: calc(100% - 80rpx);
+ overflow: auto;
+ }
+ .cmt-cnt {
+ -webkit-line-clamp: 20;
+ max-height: 500px;
+ }
+ .load-more {
+ font-size: 14px;
+ padding: 20px;
+ text-align: center;
+ margin-bottom: 10px;
+ text {
+ border: 1px solid #ddd;
+ padding: 5px 10px;
+ border-radius: 10px;
+ color: #666;
+ }
+ }
+}
+.cmt-reply {
+ font-size: 14px;
+ border-top: 1px dashed #ddd;
+ padding: 5px 0;
+ .reply-tit {
+ color: #eb2444;
+ }
+}
+.prod-detail {
+ background: #fff;
+ margin-top: 20rpx;
+ position: relative;
+ line-height: 48rpx;
+ image {
+ width: 750rpx !important;
+ display: block;
+ }
+}
+rich-text {
+ image {
+ width: 100% !important;
+ }
+}
+:deep(.img) {
+ width: 100% !important;
+ display: block;
+}
+.cart-footer {
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ width: 100%;
+ display: flex;
+ flex-flow: row nowrap;
+ height: 98rpx;
+ z-index: 999;
+ box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.05);
+ .btn {
+ position: relative;
+ display: flex;
+ flex-grow: 1;
+ justify-content: center;
+ align-items: center;
+ width: 0;
+ background-color: #fff;
+ font-size: 28rpx;
+ flex-flow: column;
+ .badge {
+ position: absolute;
+ top: 20rpx;
+ left: 62rpx;
+ display: inline-block;
+ width: 28rpx;
+ height: 28rpx;
+ border-radius: 14rpx;
+ background-color: #eb2444;
+ text-align: center;
+ line-height: 28rpx;
+ font-size: 18rpx;
+ color: #fff;
+ }
+ .badge-1 {
+ width: 36rpx;
+ }
+ }
+ .btn.icon {
+ flex-grow: 0;
+ flex-shrink: 0;
+ width: 125rpx;
+ font-size: 20rpx;
+ color: #666;
+ image {
+ width: 50rpx;
+ height: 50rpx;
+ }
+ }
+ .btn.cart {
+ background: #584e61;
+ color: #fff;
+ }
+ .btn.buy {
+ background: #eb2444;
+ color: #fff;
+ }
+}
+.close {
+ color: #aaa;
+ border-radius: 12px;
+ line-height: 20px;
+ text-align: center;
+ height: 20px;
+ width: 20px;
+ font-size: 18px;
+ padding: 1px;
+ top: 10px;
+ right: 10px;
+ position: absolute;
+ &::before {
+ content: "\2716";
+ }
+}
+.popup-cnt {
+ max-height: 429px;
+ overflow: auto;
+ padding: 0 10px;
+}
+.pup-sku {
+ position: fixed;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ z-index: 999;
+ background-color: rgba(0, 0, 0, 0.3);
+}
+.pup-sku-main {
+ position: absolute;
+ bottom: 0;
+ width: 100%;
+ min-height: 375px;
+ max-height: 475px;
+ background-color: #fff;
+}
+.pup-sku-header {
+ position: relative;
+ line-height: 46px;
+ font-size: 16px;
+ color: #333;
+ height: 70px;
+ padding: 0 0 10px 110px;
+ background-color: #fff;
+}
+.pup-sku-img {
+ position: absolute;
+ left: 10px;
+ top: -20px;
+ border-radius: 2px;
+ width: 90px;
+ height: 90px;
+ border: 0 none;
+ vertical-align: top;
+}
+.pup-sku-price {
+ display: inline-block;
+ height: 40px;
+ line-height: 40px;
+ color: #e4393c;
+ font-size: 10px;
+}
+.pup-sku-price-int {
+ font-size: 16px;
+}
+.pup-sku-prop {
+ word-break: break-all;
+ font-size: 12px;
+ color: #333;
+ line-height: 1.4em;
+ padding-right: 10px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+ text {
+ color: #999;
+ margin-right: 5px;
+ }
+}
+.pup-sku-body {
+ box-sizing: border-box;
+ max-height: 379px;
+ padding-bottom: 100px;
+ overflow: auto;
+}
+.pup-sku-area {
+ .sku-kind {
+ font-size: 12px;
+ color: #999;
+ margin: 0 10px;
+ height: 40px;
+ line-height: 40px;
+ }
+ .sku-choose {
+ overflow: hidden;
+ margin-bottom: 3px;
+ }
+}
+.sku-choose-item {
+ display: inline-block;
+ padding: 0 10px;
+ min-width: 20px;
+ max-width: 270px;
+ overflow: hidden;
+ height: 30px;
+ line-height: 30px;
+ text-align: center;
+ margin-left: 10px;
+ margin-bottom: 10px;
+ border-radius: 4px;
+ color: #333;
+ background-color: #f7f7f7;
+ font-size: 14px;
+}
+.sku-choose-item.active {
+ background-color: #eb2444;
+ color: #fff;
+}
+.sku-choose-item.gray {
+ background-color: #f9f9f9;
+ color: #ddd;
+}
+.pup-sku-count {
+ padding: 0 10px 13px;
+ font-size: 12px;
+ .count-name {
+ color: #999;
+ height: 31px;
+ line-height: 31px;
+ width: 100rpx;
+ }
+ .num-wrap {
+ position: relative;
+ z-index: 0;
+ width: 110px;
+ float: right;
+ vertical-align: middle;
+ display: flex;
+ }
+ .text-wrap {
+ position: relative;
+ width: 45px;
+ z-index: 0;
+ margin: 0 1px;
+ input {
+ height: 30px;
+ width: 100%;
+ color: #333;
+ background: #fff;
+ font-size: 12px;
+ text-align: center;
+ border: none;
+ background: #f7f7f7;
+ }
+ }
+}
+.num-wrap {
+ .minus {
+ position: relative;
+ max-width: 30px;
+ min-width: 30px;
+ height: 30px;
+ line-height: 30px;
+ background: #f7f7f7;
+ text-align: center;
+ border-top-left-radius: 3px;
+ border-bottom-left-radius: 3px;
+ }
+ .plus {
+ position: relative;
+ max-width: 30px;
+ min-width: 30px;
+ height: 30px;
+ line-height: 30px;
+ background: #f7f7f7;
+ text-align: center;
+ border-top-right-radius: 3px;
+ border-bottom-right-radius: 3px;
+ }
+ .row {
+ border-radius: 20px;
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ margin-left: -7px;
+ margin-top: -1px;
+ width: 14px;
+ height: 2px;
+ background-color: #ccc;
+ }
+ .col {
+ border-radius: 20px;
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ margin-left: -1px;
+ margin-top: -7px;
+ width: 2px;
+ height: 14px;
+ background-color: #999;
+ }
+}
+.pup-sku-footer {
+ position: fixed;
+ bottom: 0;
+ left: 0;
+ width: 100%;
+ display: flex;
+ flex-direction: row nowrap;
+ height: 98rpx;
+ z-index: 999;
+ box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.05);
+ .btn {
+ position: relative;
+ display: flex;
+ flex-grow: 1;
+ justify-content: center;
+ align-items: center;
+ width: 0;
+ background-color: #fff;
+ font-size: 28rpx;
+ flex-flow: column;
+ }
+ .btn.cart {
+ background: #584e61;
+ color: #fff;
+ }
+ .btn.buy {
+ background: #eb2444;
+ color: #fff;
+ }
+}
diff --git a/src/pages/prod/prod.vue b/src/pages/prod/prod.vue
new file mode 100644
index 0000000..d2a5f1b
--- /dev/null
+++ b/src/pages/prod/prod.vue
@@ -0,0 +1,875 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ prodName }}
+
+
+
+
+ 收藏
+
+
+
+ {{ brief }}
+
+
+
+ ¥
+
+ {{ wxs.parsePrice(defaultSku.price)[0] }}
+
+ .{{ wxs.parsePrice(defaultSku.price)[1] }}
+
+
+ ¥{{ wxs.parsePrice(defaultSku.oriPrice)[0] }}.{{ wxs.parsePrice(defaultSku.oriPrice)[1] }}
+
+
+
+
+
+
+
+ 已选
+
+
+ {{ selectedProp.length > 0 ? selectedProp + ',' : '' }}{{ prodNum }}件
+
+
+ ...
+
+
+
+
+
+
+ 评价
+
+ 好评{{ prodCommData.positiveRating }}%
+
+
+
+ 共{{ prodCommData.number }}条
+
+
+
+
+
+ 全部({{ prodCommData.number }})
+ 好评({{ prodCommData.praiseNumber }})
+ 中评({{ prodCommData.secondaryNumber }})
+ 差评({{ prodCommData.negativeNumber }})
+ 有图({{ prodCommData.picNumber }})
+
+
+
+
+
+ {{ item.recTime }}
+
+
+
+
+ {{ item.nickName }}
+
+
+
+
+ {{ item.content }}
+
+
+
+
+
+
+
+
+ 查看全部评价
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ key }}
+
+
+
+ {{ skuLineItem }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 数量
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+