| @ -1,470 +1,521 @@ | |||
| <template> | |||
| <view class="page"> | |||
| <navbar/> | |||
| <view class="user"> | |||
| <uv-checkbox-group shape="circle" v-model="checkboxValue"> | |||
| <uv-swipe-action> | |||
| <view v-for="(item, index) in list.records" :key="index"> | |||
| <view style="margin-top: 20rpx;"></view> | |||
| <uv-swipe-action-item :options="options" @click="delCart(item, index)"> | |||
| <view class="item"> | |||
| <view class="checkbox"> | |||
| <uv-checkbox :name="item.goodsId" activeColor="#FA5A0A" size="40rpx" | |||
| icon-size="35rpx"></uv-checkbox> | |||
| </view> | |||
| <image class="image" | |||
| :src="item.pic || 'https://img95.699pic.com/photo/50058/1378.jpg_wh860.jpg'" | |||
| mode=""></image> | |||
| <view class="info"> | |||
| <view class="title"> | |||
| <view>{{ item.name }}</view> | |||
| <view> | |||
| <uv-number-box v-model="item.num" | |||
| @change="e => valChange(item, e)"></uv-number-box> | |||
| </view> | |||
| </view> | |||
| <view class="unit" @click="toggleDropdown(item)"> | |||
| 规格:{{ item.title }} | |||
| <uv-icon name="arrow-down"></uv-icon> | |||
| </view> | |||
| <view class="price"> | |||
| ¥ | |||
| <text>{{ item.price }}</text> | |||
| 元 | |||
| </view> | |||
| </view> | |||
| </view> | |||
| </uv-swipe-action-item> | |||
| </view> | |||
| </uv-swipe-action> | |||
| </uv-checkbox-group> | |||
| <view class="action"> | |||
| <view class="icon"> | |||
| <image src="/static/image/cart/1.png" mode=""></image> | |||
| <view class="num">{{ checkboxValue.length }}</view> | |||
| </view> | |||
| <view class="price"> | |||
| <view class="count"> | |||
| 合计 | |||
| <view> | |||
| ¥ | |||
| <text>{{ totalPrice }}</text> | |||
| </view> | |||
| </view> | |||
| <view class="text"> | |||
| 共{{ checkboxValue.length }}件,已享受更低优惠 | |||
| </view> | |||
| </view> | |||
| <view class="btn" @click="goCleaning">去结算</view> | |||
| </view> | |||
| </view> | |||
| <!-- 地址弹框 --> | |||
| <uv-popup ref="addressPopup" :round="30"> | |||
| <addressList ref="addressList" height="60vh" @select="selectAddress"/> | |||
| </uv-popup> | |||
| <tabber select="3"/> | |||
| </view> | |||
| <view class="page"> | |||
| <navbar /> | |||
| <view class="user"> | |||
| <uv-checkbox-group shape="circle" v-model="checkboxValue"> | |||
| <uv-swipe-action> | |||
| <view v-for="(item, index) in list.records" :key="index"> | |||
| <view style="margin-top: 20rpx;"></view> | |||
| <uv-swipe-action-item :options="options" @click="delCart(item, index)"> | |||
| <view class="item"> | |||
| <view class="checkbox"> | |||
| <uv-checkbox :name="item.goodsId" activeColor="#FA5A0A" size="40rpx" | |||
| icon-size="35rpx"></uv-checkbox> | |||
| </view> | |||
| <image class="image" | |||
| :src="item.pic || 'https://img95.699pic.com/photo/50058/1378.jpg_wh860.jpg'" | |||
| mode=""></image> | |||
| <view class="info"> | |||
| <view class="title"> | |||
| <view>{{ item.name }}</view> | |||
| <view> | |||
| <uv-number-box v-model="item.num" | |||
| @change="e => valChange(item, e)"></uv-number-box> | |||
| </view> | |||
| </view> | |||
| <view class="unit" @click="toggleDropdown(item)"> | |||
| 规格:{{ item.title }} | |||
| <uv-icon name="arrow-down"></uv-icon> | |||
| </view> | |||
| <view class="price"> | |||
| ¥ | |||
| <text>{{ item.price }}</text> | |||
| 元 | |||
| </view> | |||
| </view> | |||
| </view> | |||
| </uv-swipe-action-item> | |||
| </view> | |||
| </uv-swipe-action> | |||
| </uv-checkbox-group> | |||
| <view class="action"> | |||
| <view class="icon"> | |||
| <image src="/static/image/cart/1.png" mode=""></image> | |||
| <view class="num">{{ checkboxValue.length }}</view> | |||
| </view> | |||
| <view class="price"> | |||
| <view class="count"> | |||
| 合计 | |||
| <view> | |||
| ¥ | |||
| <text>{{ totalPrice }}</text> | |||
| </view> | |||
| </view> | |||
| <view class="text"> | |||
| 共{{ checkboxValue.length }}件,已享受更低优惠 | |||
| </view> | |||
| </view> | |||
| <view class="btn" @click="goCleaning">去结算</view> | |||
| </view> | |||
| </view> | |||
| <!-- 地址弹框 --> | |||
| <uv-popup ref="addressPopup" :round="30"> | |||
| <addressList ref="addressList" height="60vh" @select="selectAddress" /> | |||
| </uv-popup> | |||
| <!-- 规格 --> | |||
| <uv-popup ref="skuPopup" :round="30" closeable> | |||
| <view class="submit-unit"> | |||
| <view class="title"> | |||
| 规格选择 | |||
| </view> | |||
| <view class="list"> | |||
| <view :class="{act : unitIndex == index}" v-for="(item, index) in skuList" | |||
| @click="selectUnit(item, index)" :key="index"> | |||
| {{ item.title }} | |||
| </view> | |||
| </view> | |||
| </view> | |||
| </uv-popup> | |||
| <tabber select="3" /> | |||
| </view> | |||
| </template> | |||
| <script> | |||
| import tabber from '@/components/base/tabbar.vue' | |||
| import addressList from '@/components/address/addressList.vue' | |||
| export default { | |||
| components: { | |||
| tabber, | |||
| addressList, | |||
| }, | |||
| data() { | |||
| return { | |||
| queryParams: { | |||
| pageNo: 1, | |||
| pageSize: 10, | |||
| }, | |||
| list: [], | |||
| addressTotal: 0, | |||
| address: { | |||
| name: '请选择联系人', | |||
| addressDetail: '' | |||
| }, | |||
| skuList: [], | |||
| editSkuForm: { | |||
| id: '', //购物车id | |||
| goodsId: '', //商品id | |||
| skuId: '', //规格id | |||
| }, | |||
| value: 0, | |||
| checkboxValue: [], | |||
| options: [{ | |||
| text: '删除', | |||
| style: { | |||
| backgroundColor: '#FA5A0A' | |||
| } | |||
| },], | |||
| } | |||
| }, | |||
| computed: { | |||
| totalPrice() { | |||
| if (!this.checkboxValue.length) { | |||
| return 0 | |||
| } | |||
| let price = 0 | |||
| this.list.records.forEach(n => { | |||
| if (this.checkboxValue.includes(n.id)) { | |||
| price += n.price * n.num | |||
| } | |||
| }) | |||
| return price | |||
| }, | |||
| }, | |||
| onShow() { | |||
| this.getData() | |||
| this.getAddressListA() | |||
| }, | |||
| //滚动到屏幕底部 | |||
| onReachBottom() { | |||
| if (this.queryParams.pageSize < this.list.total) { | |||
| this.queryParams.pageSize += 10 | |||
| this.getData() | |||
| } | |||
| }, | |||
| methods: { | |||
| // 修改商品规格弹框 | |||
| toggleDropdown(item) { | |||
| this.editSkuForm.id = item.id | |||
| this.editSkuForm.goodsId = item.goodsId | |||
| // 根据商品id获取规格 | |||
| this.$api('goodsSku', { | |||
| id: item.goodsId | |||
| }, res => { | |||
| if (res.code == 200) { | |||
| this.skuList = res.result | |||
| // 打开规格下拉框待完善 TODO | |||
| } | |||
| }) | |||
| }, | |||
| // 规格下拉框选中后的回调 | |||
| changeCartProductSku(e) { | |||
| console.log(e, "e"); | |||
| this.editSkuForm.skuId = e.aaa //TODO | |||
| return | |||
| this.$api('editSku', this.editSkuForm, res => { | |||
| if (res.code == 200) { | |||
| this.getData() | |||
| } | |||
| }) | |||
| }, | |||
| // 去结算按钮 | |||
| goCleaning() { | |||
| if (this.checkboxValue.length < 1) { | |||
| uni.showToast({ | |||
| title: "请勾选商品", | |||
| icon: 'none' | |||
| }) | |||
| return | |||
| } | |||
| // 打开地址弹框 | |||
| this.$refs.addressPopup.open('bottom') | |||
| }, | |||
| // 选择地址 | |||
| selectAddress(e) { | |||
| this.address = e | |||
| this.$refs.addressPopup.close() | |||
| this.ordersPay() | |||
| }, | |||
| //商品下单 | |||
| ordersPay() { | |||
| var self = this | |||
| var deleteCartIds = this.checkboxValue.join(",") //待删除的购物车id | |||
| let data = [] | |||
| let records = this.list.records | |||
| for (var i = 0; i < records.length; i++) { | |||
| if (this.checkboxValue.includes(records[i].goodsId)) { | |||
| data.push({ | |||
| id: records[i].goodsId, //商品id | |||
| skuId: records[i].skuId, //规格id | |||
| addressId: this.address.id, //地址id | |||
| sku: records[i].title, //规格 | |||
| num: records[i].num, | |||
| }) | |||
| } | |||
| } | |||
| this.$api('orderCreate', { | |||
| req: JSON.stringify(data) | |||
| }, res => { | |||
| if (res.code == 200) { | |||
| let form = { | |||
| id: res.result.id | |||
| } | |||
| this.$api('orderPay', form, res => { | |||
| if (res.code == 200) { | |||
| uni.requestPayment({ | |||
| provider: 'wxpay', // 服务提提供商 | |||
| timeStamp: res.result.timeStamp, // 时间戳 | |||
| nonceStr: res.result.nonceStr, // 随机字符串 | |||
| package: res.result.packageValue, | |||
| signType: res.result.signType, // 签名算法 | |||
| paySign: res.result.paySign, // 签名 | |||
| success: function (res) { | |||
| console.log('支付成功', res); | |||
| // 清除购物车数据 | |||
| self.$api('cartDel', { | |||
| id: deleteCartIds | |||
| }, res => { | |||
| if (res.code == 200) { | |||
| self.getData() | |||
| } | |||
| }) | |||
| uni.redirectTo({ | |||
| url: '/pages/index/order' | |||
| }) | |||
| }, | |||
| fail: function (err) { | |||
| console.log('支付失败', err); | |||
| // self.$refs.confirmationPopup.close() | |||
| uni.showToast({ | |||
| icon: 'none', | |||
| title: "支付失败" | |||
| }) | |||
| } | |||
| }); | |||
| } | |||
| }) | |||
| } | |||
| }) | |||
| }, | |||
| // 修改购物车里面商品的规格 | |||
| unitChange(item, e) { | |||
| // TODO 查询商品规格 | |||
| // this.$api('goodsOne', this.queryParams, res => { | |||
| // if (res.code == 200) { | |||
| // this.list = res.result | |||
| // } | |||
| // }) | |||
| }, | |||
| // 获取地址列表 | |||
| getAddressListA() { | |||
| this.$refs.addressList.getAddressList().then(res => { | |||
| this.addressTotal = res.total | |||
| if (this.addressTotal != 0) { | |||
| this.address = res.records[0] | |||
| } | |||
| }) | |||
| }, | |||
| valChange(item, e) { | |||
| console.log(e.value); | |||
| this.$api('cartNum', { | |||
| id: item.id, | |||
| num: e.value, | |||
| }) | |||
| }, | |||
| // 购物车分页 | |||
| getData() { | |||
| this.$api('cartPage', this.queryParams, res => { | |||
| if (res.code == 200) { | |||
| this.list = res.result | |||
| } | |||
| }) | |||
| }, | |||
| // 删除购物车 | |||
| delCart(item, index) { | |||
| this.$api('cartDel', { | |||
| id: item.id | |||
| }, res => { | |||
| if (res.code == 200) { | |||
| this.getData() | |||
| uni.showToast({ | |||
| title: '删除成功', | |||
| }); | |||
| } | |||
| }) | |||
| }, | |||
| } | |||
| } | |||
| import tabber from '@/components/base/tabbar.vue' | |||
| import addressList from '@/components/address/addressList.vue' | |||
| export default { | |||
| components: { | |||
| tabber, | |||
| addressList, | |||
| }, | |||
| data() { | |||
| return { | |||
| queryParams: { | |||
| pageNo: 1, | |||
| pageSize: 10, | |||
| }, | |||
| list: [], | |||
| addressTotal: 0, | |||
| address: { | |||
| name: '请选择联系人', | |||
| addressDetail: '' | |||
| }, | |||
| skuList: [], | |||
| editSkuForm: { | |||
| id: '', //购物车id | |||
| goodsId: '', //商品id | |||
| skuId: '', //规格id | |||
| }, | |||
| value: 0, | |||
| checkboxValue: [], | |||
| options: [{ | |||
| text: '删除', | |||
| style: { | |||
| backgroundColor: '#FA5A0A' | |||
| } | |||
| }, ], | |||
| unit: {}, | |||
| unitIndex: 0, | |||
| } | |||
| }, | |||
| computed: { | |||
| totalPrice() { | |||
| if (!this.checkboxValue.length) { | |||
| return 0 | |||
| } | |||
| let price = 0 | |||
| this.list.records.forEach(n => { | |||
| if (this.checkboxValue.includes(n.id)) { | |||
| price += n.price * n.num | |||
| } | |||
| }) | |||
| return price | |||
| }, | |||
| }, | |||
| onShow() { | |||
| this.getData() | |||
| this.getAddressListA() | |||
| }, | |||
| //滚动到屏幕底部 | |||
| onReachBottom() { | |||
| if (this.queryParams.pageSize < this.list.total) { | |||
| this.queryParams.pageSize += 10 | |||
| this.getData() | |||
| } | |||
| }, | |||
| methods: { | |||
| // 修改商品规格弹框 | |||
| toggleDropdown(item) { | |||
| this.editSkuForm.id = item.id | |||
| this.editSkuForm.goodsId = item.goodsId | |||
| // 根据商品id获取规格 | |||
| this.$api('goodsSku', { | |||
| id: item.goodsId | |||
| }, res => { | |||
| if (res.code == 200) { | |||
| this.skuList = res.result | |||
| // 打开规格弹框 | |||
| this.$refs.skuPopup.open('bottom') | |||
| } | |||
| }) | |||
| }, | |||
| // 选择规格 | |||
| selectUnit(item, index) { | |||
| this.unit = item | |||
| this.unitIndex = index | |||
| this.editSkuForm.skuId = item.id | |||
| this.$api('editSku', this.editSkuForm, res => { | |||
| if (res.code == 200) { | |||
| this.$refs.skuPopup.close() | |||
| this.getData() | |||
| } | |||
| }) | |||
| }, | |||
| // 去结算按钮 | |||
| goCleaning() { | |||
| if (this.checkboxValue.length < 1) { | |||
| uni.showToast({ | |||
| title: "请勾选商品", | |||
| icon: 'none' | |||
| }) | |||
| return | |||
| } | |||
| // 打开地址弹框 | |||
| this.$refs.addressPopup.open('bottom') | |||
| }, | |||
| // 选择地址 | |||
| selectAddress(e) { | |||
| this.address = e | |||
| this.$refs.addressPopup.close() | |||
| this.ordersPay() | |||
| }, | |||
| //商品下单 | |||
| ordersPay() { | |||
| var self = this | |||
| var deleteCartIds = this.checkboxValue.join(",") //待删除的购物车id | |||
| let data = [] | |||
| let records = this.list.records | |||
| for (var i = 0; i < records.length; i++) { | |||
| if (this.checkboxValue.includes(records[i].goodsId)) { | |||
| data.push({ | |||
| id: records[i].goodsId, //商品id | |||
| skuId: records[i].skuId, //规格id | |||
| addressId: this.address.id, //地址id | |||
| sku: records[i].title, //规格 | |||
| num: records[i].num, | |||
| }) | |||
| } | |||
| } | |||
| this.$api('orderCreate', { | |||
| req: JSON.stringify(data) | |||
| }, res => { | |||
| if (res.code == 200) { | |||
| let form = { | |||
| id: res.result.id | |||
| } | |||
| this.$api('orderPay', form, res => { | |||
| if (res.code == 200) { | |||
| uni.requestPayment({ | |||
| provider: 'wxpay', // 服务提提供商 | |||
| timeStamp: res.result.timeStamp, // 时间戳 | |||
| nonceStr: res.result.nonceStr, // 随机字符串 | |||
| package: res.result.packageValue, | |||
| signType: res.result.signType, // 签名算法 | |||
| paySign: res.result.paySign, // 签名 | |||
| success: function(res) { | |||
| console.log('支付成功', res); | |||
| // 清除购物车数据 | |||
| self.$api('cartDel', { | |||
| id: deleteCartIds | |||
| }, res => { | |||
| if (res.code == 200) { | |||
| self.getData() | |||
| } | |||
| }) | |||
| uni.redirectTo({ | |||
| url: '/pages/index/order' | |||
| }) | |||
| }, | |||
| fail: function(err) { | |||
| console.log('支付失败', err); | |||
| // self.$refs.confirmationPopup.close() | |||
| uni.showToast({ | |||
| icon: 'none', | |||
| title: "支付失败" | |||
| }) | |||
| } | |||
| }); | |||
| } | |||
| }) | |||
| } | |||
| }) | |||
| }, | |||
| // 修改购物车里面商品的规格 | |||
| unitChange(item, e) { | |||
| // TODO 查询商品规格 | |||
| // this.$api('goodsOne', this.queryParams, res => { | |||
| // if (res.code == 200) { | |||
| // this.list = res.result | |||
| // } | |||
| // }) | |||
| }, | |||
| // 获取地址列表 | |||
| getAddressListA() { | |||
| this.$refs.addressList.getAddressList().then(res => { | |||
| this.addressTotal = res.total | |||
| if (this.addressTotal != 0) { | |||
| this.address = res.records[0] | |||
| } | |||
| }) | |||
| }, | |||
| valChange(item, e) { | |||
| console.log(e.value); | |||
| this.$api('cartNum', { | |||
| id: item.id, | |||
| num: e.value, | |||
| }) | |||
| }, | |||
| // 购物车分页 | |||
| getData() { | |||
| this.$api('cartPage', this.queryParams, res => { | |||
| if (res.code == 200) { | |||
| this.list = res.result | |||
| } | |||
| }) | |||
| }, | |||
| // 删除购物车 | |||
| delCart(item, index) { | |||
| this.$api('cartDel', { | |||
| id: item.id | |||
| }, res => { | |||
| if (res.code == 200) { | |||
| this.getData() | |||
| uni.showToast({ | |||
| title: '删除成功', | |||
| }); | |||
| } | |||
| }) | |||
| }, | |||
| } | |||
| } | |||
| </script> | |||
| <style scoped lang="scss"> | |||
| .page { | |||
| /deep/ .uv-swipe-action { | |||
| width: 100%; | |||
| } | |||
| } | |||
| .user { | |||
| .item { | |||
| background-color: #fff; | |||
| display: flex; | |||
| padding: 30rpx; | |||
| .checkbox { | |||
| display: flex; | |||
| justify-content: center; | |||
| align-items: center; | |||
| } | |||
| .image { | |||
| width: 200rpx; | |||
| height: 200rpx; | |||
| border-radius: 20rpx; | |||
| } | |||
| .info { | |||
| flex: 1; | |||
| .title { | |||
| display: flex; | |||
| padding: 10rpx 20rpx; | |||
| justify-content: space-between; | |||
| } | |||
| .unit { | |||
| font-size: 24rpx; | |||
| padding: 10rpx 20rpx; | |||
| color: #717171; | |||
| display: flex; | |||
| align-items: center; | |||
| } | |||
| .price { | |||
| color: $uni-color; | |||
| font-size: 28rpx; | |||
| padding: 10rpx 20rpx; | |||
| text { | |||
| font-size: 36rpx; | |||
| font-weight: 900; | |||
| } | |||
| } | |||
| } | |||
| } | |||
| .action { | |||
| width: 700rpx; | |||
| position: fixed; | |||
| bottom: 220rpx; | |||
| left: 25rpx; | |||
| background-color: #fff; | |||
| height: 100rpx; | |||
| border-radius: 50rpx; | |||
| box-shadow: 0 0 6rpx 6rpx #00000010; | |||
| display: flex; | |||
| justify-content: center; | |||
| align-items: center; | |||
| overflow: hidden; | |||
| .icon { | |||
| position: relative; | |||
| width: 80rpx; | |||
| height: 80rpx; | |||
| margin: 0 20rpx; | |||
| image { | |||
| width: 80rpx; | |||
| height: 80rpx; | |||
| } | |||
| .num { | |||
| position: absolute; | |||
| right: 10rpx; | |||
| top: 0rpx; | |||
| background-color: $uni-color; | |||
| color: #fff; | |||
| font-size: 18rpx; | |||
| border-radius: 50%; | |||
| height: 30rpx; | |||
| width: 30rpx; | |||
| display: flex; | |||
| justify-content: center; | |||
| align-items: center; | |||
| } | |||
| } | |||
| .price { | |||
| .count { | |||
| display: flex; | |||
| font-size: 26rpx; | |||
| align-items: center; | |||
| view { | |||
| color: $uni-color; | |||
| margin-left: 10rpx; | |||
| text { | |||
| font-size: 32rpx; | |||
| font-weight: 900; | |||
| } | |||
| } | |||
| } | |||
| .text { | |||
| font-size: 20rpx; | |||
| color: #717171; | |||
| } | |||
| } | |||
| .btn { | |||
| margin-left: auto; | |||
| background-color: $uni-color; | |||
| height: 100%; | |||
| padding: 0 50rpx; | |||
| color: #fff; | |||
| display: flex; | |||
| justify-content: center; | |||
| align-items: center; | |||
| } | |||
| } | |||
| } | |||
| .example-body { | |||
| padding: 12px; | |||
| background-color: #FFFFFF; | |||
| } | |||
| .result-box { | |||
| text-align: center; | |||
| padding: 20px 0px; | |||
| font-size: 16px; | |||
| } | |||
| .text { | |||
| font-size: 12px; | |||
| color: #666; | |||
| margin-top: 5px; | |||
| } | |||
| .uni-px-5 { | |||
| padding-left: 10px; | |||
| padding-right: 10px; | |||
| } | |||
| .uni-pb-5 { | |||
| padding-bottom: 10px; | |||
| } | |||
| .page { | |||
| /deep/ .uv-swipe-action { | |||
| width: 100%; | |||
| } | |||
| } | |||
| .user { | |||
| .item { | |||
| background-color: #fff; | |||
| display: flex; | |||
| padding: 30rpx; | |||
| .checkbox { | |||
| display: flex; | |||
| justify-content: center; | |||
| align-items: center; | |||
| } | |||
| .image { | |||
| width: 200rpx; | |||
| height: 200rpx; | |||
| border-radius: 20rpx; | |||
| } | |||
| .info { | |||
| flex: 1; | |||
| .title { | |||
| display: flex; | |||
| padding: 10rpx 20rpx; | |||
| justify-content: space-between; | |||
| } | |||
| .unit { | |||
| font-size: 24rpx; | |||
| padding: 10rpx 20rpx; | |||
| color: #717171; | |||
| display: flex; | |||
| align-items: center; | |||
| } | |||
| .price { | |||
| color: $uni-color; | |||
| font-size: 28rpx; | |||
| padding: 10rpx 20rpx; | |||
| text { | |||
| font-size: 36rpx; | |||
| font-weight: 900; | |||
| } | |||
| } | |||
| } | |||
| } | |||
| .action { | |||
| width: 700rpx; | |||
| position: fixed; | |||
| bottom: 220rpx; | |||
| left: 25rpx; | |||
| background-color: #fff; | |||
| height: 100rpx; | |||
| border-radius: 50rpx; | |||
| box-shadow: 0 0 6rpx 6rpx #00000010; | |||
| display: flex; | |||
| justify-content: center; | |||
| align-items: center; | |||
| overflow: hidden; | |||
| .icon { | |||
| position: relative; | |||
| width: 80rpx; | |||
| height: 80rpx; | |||
| margin: 0 20rpx; | |||
| image { | |||
| width: 80rpx; | |||
| height: 80rpx; | |||
| } | |||
| .num { | |||
| position: absolute; | |||
| right: 10rpx; | |||
| top: 0rpx; | |||
| background-color: $uni-color; | |||
| color: #fff; | |||
| font-size: 18rpx; | |||
| border-radius: 50%; | |||
| height: 30rpx; | |||
| width: 30rpx; | |||
| display: flex; | |||
| justify-content: center; | |||
| align-items: center; | |||
| } | |||
| } | |||
| .price { | |||
| .count { | |||
| display: flex; | |||
| font-size: 26rpx; | |||
| align-items: center; | |||
| view { | |||
| color: $uni-color; | |||
| margin-left: 10rpx; | |||
| text { | |||
| font-size: 32rpx; | |||
| font-weight: 900; | |||
| } | |||
| } | |||
| } | |||
| .text { | |||
| font-size: 20rpx; | |||
| color: #717171; | |||
| } | |||
| } | |||
| .btn { | |||
| margin-left: auto; | |||
| background-color: $uni-color; | |||
| height: 100%; | |||
| padding: 0 50rpx; | |||
| color: #fff; | |||
| display: flex; | |||
| justify-content: center; | |||
| align-items: center; | |||
| } | |||
| } | |||
| } | |||
| .example-body { | |||
| padding: 12px; | |||
| background-color: #FFFFFF; | |||
| } | |||
| .result-box { | |||
| text-align: center; | |||
| padding: 20px 0px; | |||
| font-size: 16px; | |||
| } | |||
| .text { | |||
| font-size: 12px; | |||
| color: #666; | |||
| margin-top: 5px; | |||
| } | |||
| .uni-px-5 { | |||
| padding-left: 10px; | |||
| padding-right: 10px; | |||
| } | |||
| .uni-pb-5 { | |||
| padding-bottom: 10px; | |||
| } | |||
| .submit-unit { | |||
| padding: 30rpx; | |||
| background-color: #fff; | |||
| .title { | |||
| font-size: 28rpx; | |||
| font-weight: 600; | |||
| } | |||
| .list { | |||
| display: flex; | |||
| flex-wrap: wrap; | |||
| font-size: 22rpx; | |||
| .act { | |||
| color: $uni-color; | |||
| border: 1px solid $uni-color; | |||
| background-color: #F9E7DE; | |||
| } | |||
| view { | |||
| border-radius: 15rpx; | |||
| width: 320rpx; | |||
| background-color: #F3F3F3; | |||
| border: 1px solid #F3F3F3; | |||
| margin: 10rpx; | |||
| display: flex; | |||
| justify-content: center; | |||
| padding: 15rpx 0; | |||
| } | |||
| } | |||
| } | |||
| </style> | |||