525-购物车

pull/2/head
js199000126 2023-05-25 15:45:57 +08:00
parent fee16f8471
commit 5641a8b566
10 changed files with 609 additions and 240 deletions

View File

@ -33,6 +33,10 @@ export function changeCartNum(cartId, number) {
* 清除购物车 * 清除购物车
* @param object ids join(',') 切割成字符串 * @param object ids join(',') 切割成字符串
*/ */
// export function cartDel(ids) {
// console.log(ids,'-------')
// return request.post('front/cart/delete?id='+ ids);
// }
export function cartDel(ids) { export function cartDel(ids) {
console.log(ids) console.log(ids)
return request.post('front/cart/delete', { return request.post('front/cart/delete', {

View File

@ -15,3 +15,6 @@ export const getBanner = params => request.post('market/banner/list', { params }
// 获取租户 // 获取租户
export const getTenant = id => request.get('tenant/get/' , {id:id }) export const getTenant = id => request.get('tenant/get/' , {id:id })
// 获取头部信息
export const getHeader = params => request.get('api/order/member/memberHeadInfo' , {params })

View File

@ -1,6 +1,6 @@
let domain = 'http://api.cyywl.top' // let domain = 'http://api.cyywl.top'
// let domain = 'http://192.168.1.188:48080' let domain = 'http://192.168.1.188:48080'
module.exports = { module.exports = {
// 请求域名 格式: https://您的域名 // 请求域名 格式: https://您的域名

View File

@ -3,6 +3,272 @@
"version": "1.0.0", "version": "1.0.0",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": {
"": {
"name": "yudao-ui-app",
"version": "1.0.0",
"license": "ISC",
"dependencies": {
"clipboard": "^2.0.11",
"html-to-image": "^1.11.11",
"qrcode": "^1.5.3"
}
},
"node_modules/ansi-regex": {
"version": "5.0.1",
"resolved": "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz",
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
},
"node_modules/ansi-styles": {
"version": "4.3.0",
"resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz",
"integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dependencies": {
"color-convert": "^2.0.1"
}
},
"node_modules/camelcase": {
"version": "5.3.1",
"resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-5.3.1.tgz",
"integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg=="
},
"node_modules/clipboard": {
"version": "2.0.11",
"resolved": "https://registry.npmmirror.com/clipboard/-/clipboard-2.0.11.tgz",
"integrity": "sha512-C+0bbOqkezLIsmWSvlsXS0Q0bmkugu7jcfMIACB+RDEntIzQIkdr148we28AfSloQLRdZlYL/QYyrq05j/3Faw==",
"dependencies": {
"good-listener": "^1.2.2",
"select": "^1.1.2",
"tiny-emitter": "^2.0.0"
}
},
"node_modules/cliui": {
"version": "6.0.0",
"resolved": "https://registry.npmmirror.com/cliui/-/cliui-6.0.0.tgz",
"integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
"dependencies": {
"string-width": "^4.2.0",
"strip-ansi": "^6.0.0",
"wrap-ansi": "^6.2.0"
}
},
"node_modules/color-convert": {
"version": "2.0.1",
"resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz",
"integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dependencies": {
"color-name": "~1.1.4"
}
},
"node_modules/color-name": {
"version": "1.1.4",
"resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz",
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
},
"node_modules/decamelize": {
"version": "1.2.0",
"resolved": "https://registry.npmmirror.com/decamelize/-/decamelize-1.2.0.tgz",
"integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA=="
},
"node_modules/delegate": {
"version": "3.2.0",
"resolved": "https://registry.npmmirror.com/delegate/-/delegate-3.2.0.tgz",
"integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw=="
},
"node_modules/dijkstrajs": {
"version": "1.0.3",
"resolved": "https://registry.npmmirror.com/dijkstrajs/-/dijkstrajs-1.0.3.tgz",
"integrity": "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA=="
},
"node_modules/emoji-regex": {
"version": "8.0.0",
"resolved": "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz",
"integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
},
"node_modules/encode-utf8": {
"version": "1.0.3",
"resolved": "https://registry.npmmirror.com/encode-utf8/-/encode-utf8-1.0.3.tgz",
"integrity": "sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw=="
},
"node_modules/find-up": {
"version": "4.1.0",
"resolved": "https://registry.npmmirror.com/find-up/-/find-up-4.1.0.tgz",
"integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
"dependencies": {
"locate-path": "^5.0.0",
"path-exists": "^4.0.0"
}
},
"node_modules/get-caller-file": {
"version": "2.0.5",
"resolved": "https://registry.npmmirror.com/get-caller-file/-/get-caller-file-2.0.5.tgz",
"integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="
},
"node_modules/good-listener": {
"version": "1.2.2",
"resolved": "https://registry.npmmirror.com/good-listener/-/good-listener-1.2.2.tgz",
"integrity": "sha512-goW1b+d9q/HIwbVYZzZ6SsTr4IgE+WA44A0GmPIQstuOrgsFcT7VEJ48nmr9GaRtNu0XTKacFLGnBPAM6Afouw==",
"dependencies": {
"delegate": "^3.1.2"
}
},
"node_modules/html-to-image": {
"version": "1.11.11",
"resolved": "https://registry.npmmirror.com/html-to-image/-/html-to-image-1.11.11.tgz",
"integrity": "sha512-9gux8QhvjRO/erSnDPv28noDZcPZmYE7e1vFsBLKLlRlKDSqNJYebj6Qz1TGd5lsRV+X+xYyjCKjuZdABinWjA=="
},
"node_modules/is-fullwidth-code-point": {
"version": "3.0.0",
"resolved": "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
"integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="
},
"node_modules/locate-path": {
"version": "5.0.0",
"resolved": "https://registry.npmmirror.com/locate-path/-/locate-path-5.0.0.tgz",
"integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
"dependencies": {
"p-locate": "^4.1.0"
}
},
"node_modules/p-limit": {
"version": "2.3.0",
"resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-2.3.0.tgz",
"integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
"dependencies": {
"p-try": "^2.0.0"
}
},
"node_modules/p-locate": {
"version": "4.1.0",
"resolved": "https://registry.npmmirror.com/p-locate/-/p-locate-4.1.0.tgz",
"integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
"dependencies": {
"p-limit": "^2.2.0"
}
},
"node_modules/p-try": {
"version": "2.2.0",
"resolved": "https://registry.npmmirror.com/p-try/-/p-try-2.2.0.tgz",
"integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="
},
"node_modules/path-exists": {
"version": "4.0.0",
"resolved": "https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz",
"integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="
},
"node_modules/pngjs": {
"version": "5.0.0",
"resolved": "https://registry.npmmirror.com/pngjs/-/pngjs-5.0.0.tgz",
"integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw=="
},
"node_modules/qrcode": {
"version": "1.5.3",
"resolved": "https://registry.npmmirror.com/qrcode/-/qrcode-1.5.3.tgz",
"integrity": "sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg==",
"dependencies": {
"dijkstrajs": "^1.0.1",
"encode-utf8": "^1.0.3",
"pngjs": "^5.0.0",
"yargs": "^15.3.1"
},
"bin": {
"qrcode": "bin/qrcode"
},
"engines": {
"node": ">=10.13.0"
}
},
"node_modules/require-directory": {
"version": "2.1.1",
"resolved": "https://registry.npmmirror.com/require-directory/-/require-directory-2.1.1.tgz",
"integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q=="
},
"node_modules/require-main-filename": {
"version": "2.0.0",
"resolved": "https://registry.npmmirror.com/require-main-filename/-/require-main-filename-2.0.0.tgz",
"integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg=="
},
"node_modules/select": {
"version": "1.1.2",
"resolved": "https://registry.npmmirror.com/select/-/select-1.1.2.tgz",
"integrity": "sha512-OwpTSOfy6xSs1+pwcNrv0RBMOzI39Lp3qQKUTPVVPRjCdNa5JH/oPRiqsesIskK8TVgmRiHwO4KXlV2Li9dANA=="
},
"node_modules/set-blocking": {
"version": "2.0.0",
"resolved": "https://registry.npmmirror.com/set-blocking/-/set-blocking-2.0.0.tgz",
"integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw=="
},
"node_modules/string-width": {
"version": "4.2.3",
"resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz",
"integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
"dependencies": {
"emoji-regex": "^8.0.0",
"is-fullwidth-code-point": "^3.0.0",
"strip-ansi": "^6.0.1"
}
},
"node_modules/strip-ansi": {
"version": "6.0.1",
"resolved": "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz",
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"dependencies": {
"ansi-regex": "^5.0.1"
}
},
"node_modules/tiny-emitter": {
"version": "2.1.0",
"resolved": "https://registry.npmmirror.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz",
"integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q=="
},
"node_modules/which-module": {
"version": "2.0.1",
"resolved": "https://registry.npmmirror.com/which-module/-/which-module-2.0.1.tgz",
"integrity": "sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ=="
},
"node_modules/wrap-ansi": {
"version": "6.2.0",
"resolved": "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
"integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
"dependencies": {
"ansi-styles": "^4.0.0",
"string-width": "^4.1.0",
"strip-ansi": "^6.0.0"
}
},
"node_modules/y18n": {
"version": "4.0.3",
"resolved": "https://registry.npmmirror.com/y18n/-/y18n-4.0.3.tgz",
"integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ=="
},
"node_modules/yargs": {
"version": "15.4.1",
"resolved": "https://registry.npmmirror.com/yargs/-/yargs-15.4.1.tgz",
"integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==",
"dependencies": {
"cliui": "^6.0.0",
"decamelize": "^1.2.0",
"find-up": "^4.1.0",
"get-caller-file": "^2.0.1",
"require-directory": "^2.1.1",
"require-main-filename": "^2.0.0",
"set-blocking": "^2.0.0",
"string-width": "^4.2.0",
"which-module": "^2.0.0",
"y18n": "^4.0.0",
"yargs-parser": "^18.1.2"
}
},
"node_modules/yargs-parser": {
"version": "18.1.3",
"resolved": "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-18.1.3.tgz",
"integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
"dependencies": {
"camelcase": "^5.0.0",
"decamelize": "^1.2.0"
}
}
},
"dependencies": { "dependencies": {
"ansi-regex": { "ansi-regex": {
"version": "5.0.1", "version": "5.0.1",

View File

@ -98,7 +98,8 @@
productPage, productPage,
getSpuDetail, getSpuDetail,
getBanner, getBanner,
getTenant getTenant,
getHeader
} from '../../api/product.js' } from '../../api/product.js'
import { import {
postCartAdd postCartAdd
@ -321,6 +322,9 @@
this.text = res.data.notice this.text = res.data.notice
}) })
}) })
getHeader().then(res=>{
console.log(res,'会员')
})
this.getBanners() this.getBanners()
this.getIndexPage() this.getIndexPage()
this.getIndexConfig(); this.getIndexConfig();

View File

@ -9,7 +9,7 @@
</view> </view>
<view class="box"> <view class="box">
<view class="item" v-for="(item,index) in cartList.valid" :key="item.attrId"> <view class="item" v-for="(item,index) in cartList.valid" :key="item.attrId">
<view class="item-list"> <view class="item-list" v-if="cartList.valid.length>0">
<view style="height: 1rpx;"></view> <view style="height: 1rpx;"></view>
<view class="top"> <view class="top">
<text class="shopName">{{item.storeName}}</text> <text class="shopName">{{item.storeName}}</text>
@ -28,18 +28,18 @@
{{item.storeName}} {{item.storeName}}
</view> </view>
<view class="price"> <view class="price">
{{item.price}} <u--text class="text" color="#E50202" mode="price" :text="item.price"></u--text>
</view> </view>
</view> </view>
<!-- <view class="sum">x{{item.cartNum}}</view> --> <!-- <view class="sum">x{{item.cartNum}}</view> -->
<view class="numberBox"> <view class="numberBox">
<u-number-box v-model="cartNum" min="0"> <u-number-box v-model="cartNum" min="0">
<view @tap="ChangeCartCountJian(item.id,item.cartNum)" slot="minus" class="minus"> <view @tap="ChangeCartCountJian(item,index)" slot="minus" class="minus">
<u-icon name="minus" size="12"></u-icon> <u-icon name="minus" size="12"></u-icon>
</view> </view>
<text slot="input" style="width: 50px;text-align: center;" <text slot="input" style="width: 50px;text-align: center;"
class="input">{{item.cartNum}}</text> class="input">{{item.cartNum}}</text>
<view slot="plus" class="plus" @tap="ChangeCartCountJia(item.id,item.cartNum)"> <view slot="plus" class="plus" @tap="ChangeCartCountJia(item,index)">
<u-icon name="plus" color="#FFFFFF" size="12"></u-icon> <u-icon name="plus" color="#FFFFFF" size="12"></u-icon>
</view> </view>
</u-number-box> </u-number-box>
@ -49,22 +49,25 @@
</view> </view>
</view> </view>
<view class="item" style="width: 669rpx;height: 800rpx;background: transparent;" v-if="cartList.valid.length==0">
<u-empty width="669rpx" height="100%" marginTop="200rpx" mode="car"></u-empty>
</view>
</view> </view>
<view class="fixed" v-if="isManager"> <view class="fixed" v-if="isManager">
<view class="all" @tap="allCheck"> <view class="all" @tap="allCheck">
<text :class="[isAllSelect?'checkedIcon':'noCheckIcon']"></text> <text :class="[isAllSelect?'checkedIcon':'noCheckIcon']"></text>
<text>全选</text> <text>全选</text>
</view> </view>
<view class="allPrice">合计 <text>998.00</text> </view> <view class="allPrice">合计 <u--text class="text" color="#E50202" mode="price" :text="priceAll"></u--text>
<view class="closeAll" @tap="subOrder">()</view> </view>
<view class="closeAll" @tap="subOrder">({{allCountval}})</view>
</view> </view>
<view class="fixed" v-if="!isManager"> <view class="fixed" v-if="!isManager">
<view class="all" @tap="allCheck"> <view class="all" @tap="allCheck">
<text :class="[isAllSelect?'checkedIcon':'noCheckIcon']"></text> <text :class="[isAllSelect?'checkedIcon':'noCheckIcon']"></text>
<text>全选</text> <text>全选</text>
</view> </view>
<view class="collect">收藏</view> <!-- <view class="collect">收藏</view> -->
<view class="delAll" @tap="subDel"></view> <view class="delAll" @tap="subDel"></view>
</view> </view>
</view> </view>
@ -165,6 +168,7 @@
loadendInvalid: false, loadendInvalid: false,
loadTitleInvalid: '加载更多', // loadTitleInvalid: '加载更多', //
pageInvalid: 1, pageInvalid: 1,
priceAll: 0,
limitInvalid: 20, limitInvalid: 20,
attr: { attr: {
cartAttr: false, cartAttr: false,
@ -190,16 +194,29 @@
}, },
allSelectval() { allSelectval() {
let count = 0 let count = 0
this.cartList.forEach(item => { this.cartList.valid.forEach(item => {
if (item.checked) { if (item.checked) {
count += 1 count += 1
} }
}) })
if(count == this.cartList.length){ if (count == this.cartList.valid.length) {
return true return true
} else { } else {
return false return false
} }
},
allCountval() {
this.priceAll = 0
let count = 0
this.cartList.valid.forEach(item => {
let price = 0
if (item.checked) {
count += 1
price = item.price * item.cartNum
this.priceAll = this.priceAll + price
}
})
return count
} }
}, },
onLoad: function(options) { onLoad: function(options) {
@ -257,6 +274,7 @@
}) })
} else { } else {
this.cartList.valid.forEach((item, index) => { this.cartList.valid.forEach((item, index) => {
this.priceAll = 0
item.checked = false item.checked = false
Vue.set(this.cartList.valid, index, item) Vue.set(this.cartList.valid, index, item)
Vue.set(this.cartList, 'valid', this.cartList.valid) Vue.set(this.cartList, 'valid', this.cartList.valid)
@ -275,28 +293,29 @@
// getResetCart(reCheck).then(res=> { // getResetCart(reCheck).then(res=> {
// console.log('') // console.log('')
// }) // })
this.allCountval
item.checked = !item.checked item.checked = !item.checked
// this.priceAll -= item.price * item.cartNum
Vue.set(this.cartList.valid, index, item) Vue.set(this.cartList.valid, index, item)
Vue.set(this.cartList, 'valid', this.cartList.valid) Vue.set(this.cartList, 'valid', this.cartList.valid)
}, },
// //
ChangeCartCountJia(id, num) { ChangeCartCountJia(item, index) {
let count = num + 1 item.cartNum += 1
changeCartNum(id, count).then(res => { console.log(item, 'jiajiajia')
console.log('++成功') changeCartNum(item.id, item.cartNum).then(res => {
this.cartList.valid = [] Vue.set(this.cartList.valid, index, item)
this.getCartList() Vue.set(this.cartList, 'valid', this.cartList.valid)
}) })
}, },
// //
ChangeCartCountJian(id, num) { ChangeCartCountJian(item, index) {
let count = num - 1 item.cartNum -= 1
changeCartNum(id, count).then(res => { changeCartNum(item.id, item.cartNum).then(res => {
console.log('-成功') Vue.set(this.cartList.valid, index, item)
this.cartList.valid = [] Vue.set(this.cartList, 'valid', this.cartList.valid)
this.getCartList()
}) })
}, },
// //
@ -772,16 +791,17 @@
}); });
}, },
async getCartList() { async getCartList() {
uni.showLoading({ // uni.showLoading({
title: '加载中', // title: '',
mask: true // mask: true
}); // });
let that = this; let that = this;
let data = { let data = {
page: that.page, page: that.page,
limit: that.limit, limit: that.limit,
isValid: true isValid: true
} }
getCartCounts(true, 'sum').then(async c => { getCartCounts(true, 'sum').then(async c => {
that.cartCount = c.data.count; that.cartCount = c.data.count;
if (c.data.count === 0) that.getHostProduct(); if (c.data.count === 0) that.getHostProduct();
@ -789,7 +809,8 @@
let cartList = await this.getCartData(data); let cartList = await this.getCartData(data);
console.log(cartList, 'cartlist'); console.log(cartList, 'cartlist');
let valid = cartList.list; let valid = cartList.list;
let validList = that.$util.SplitArray(valid, that.cartList.valid); // let validList = that.$util.SplitArray(valid, that.cartList.valid);
console.log(valid, 'that.cartList0')
let numSub = [{ let numSub = [{
numSub: true numSub: true
}, { }, {
@ -801,42 +822,44 @@
numAdd: false numAdd: false
}], }],
selectValue = []; selectValue = [];
if (validList.length > 0) { // if (validList.length > 0) {
for (let index in validList) { // for (let index in validList) {
if (validList[index].cartNum == 1) { // if (validList[index].cartNum == 1) {
validList[index].numSub = true; // validList[index].numSub = true;
} else { // } else {
validList[index].numSub = false; // validList[index].numSub = false;
} // }
let productInfo = validList[index]; // let productInfo = validList[index];
let stock = validList[index].stock ? validList[index].stock : 0; // let stock = validList[index].stock ? validList[index].stock : 0;
if (validList[index].cartNum == stock) { // if (validList[index].cartNum == stock) {
validList[index].numAdd = true; // validList[index].numAdd = true;
} else if (validList[index].cartNum == validList[index].stock) { // } else if (validList[index].cartNum == validList[index].stock) {
validList[index].numAdd = true; // validList[index].numAdd = true;
} else { // } else {
validList[index].numAdd = false; // validList[index].numAdd = false;
} // }
if (validList[index].attrStatus) { // if (validList[index].attrStatus) {
validList[index].checked = true; // validList[index].checked = true;
selectValue.push(validList[index].id); // selectValue.push(validList[index].id);
} else { // } else {
validList[index].checked = false; // validList[index].checked = false;
} // }
} // }
} // }
that.$set(that.cartList, 'valid', validList); // that.$set(that.cartList, 'valid', validList);
that.$set(that.cartList, 'valid', valid);
data.page += 1; data.page += 1;
that.selectValue = selectValue; that.selectValue = selectValue;
console.log(that.cartList) console.log(that.cartList, 'that.cartList')
let newArr = validList.filter(item => item.attrStatus); let newArr = valid.filter(item => item.attrStatus);
that.isAllSelect = newArr.length == selectValue.length && newArr.length; that.isAllSelect = newArr.length == selectValue.length && newArr.length;
that.switchSelect();
}
that.loading = false; that.loading = false;
that.canShow = true; that.canShow = true;
uni.hideLoading(); uni.hideLoading();
that.switchSelect();
}
}); });
}, },
getInvalidList: function() { getInvalidList: function() {
@ -1167,16 +1190,16 @@
position: absolute; position: absolute;
right: 222rpx; right: 222rpx;
top: 34rpx; top: 34rpx;
display: flex;
font-size: 26rpx; font-size: 26rpx;
font-family: PingFang SC; font-family: PingFang SC;
font-weight: 400; font-weight: 400;
color: #000000; color: #000000;
text { .text {
font-size: 30rpx; font-size: 30rpx;
font-family: PingFang SC; font-family: PingFang SC;
font-weight: 400; font-weight: 400;
color: #E94343;
} }
} }

View File

@ -24,23 +24,23 @@
古驰旗舰店> 古驰旗舰店>
</view> </view>
</view> </view>
<view class="content"> <view class="content" v-for="(item,index) in orderInfo.orderInfoList" :key="item.productId">
<view class="image"> <view class="image">
<u--image :showLoading="true" radius="10rpx" src="https://cdn.uviewui.com/uview/album/1.jpg" width="111rpx" <u--image :showLoading="true" radius="10rpx" :src="item.image" width="111rpx" height="99rpx"
height="99rpx" @click="click"></u--image> @click="click"></u--image>
</view> </view>
<view class="text"> <view class="text">
<view class="name"> <view class="name">
GUCCI/古驰HADLEY 21 {{item.productName}}
</view> </view>
<view class="model"> <view class="model">
Gucci Blondie小号托特包 {{item.sku}}
</view> </view>
<view class="prices"> <view class="prices">
<u--text color="#E50202" mode="price" :text="orderInfo.totalPrice"></u--text> <u--text color="#E50202" mode="price" :text="item.proTotalPrice"></u--text>
</view> </view>
</view> </view>
<div class="sum">x1</div> <div class="sum">x{{item.cartNum}}</div>
</view> </view>
<view class="boxs"></view> <view class="boxs"></view>
</view> </view>
@ -48,15 +48,21 @@
<view style="height: 1rpx;"></view> <view style="height: 1rpx;"></view>
<view class="priceitems"> <view class="priceitems">
<text class="itemsleft">商品总价</text> <text class="itemsleft">商品总价</text>
<text class="itemsright"><u--text mode="price" :text="orderInfo.proTotalPrice"></u--text></text> <text class="itemsright">
<u--text mode="price" :text="orderInfo.proTotalPrice"></u--text>
</text>
</view> </view>
<view class="priceitems"> <view class="priceitems">
<text class="itemsleft">运费</text> <text class="itemsleft">运费</text>
<text class="itemsright"><u--text mode="price" :text="orderInfo.payPostage"></u--text></text> <text class="itemsright">
<u--text mode="price" :text="orderInfo.payPostage"></u--text>
</text>
</view> </view>
<view class="priceitems"> <view class="priceitems">
<text class="itemsleft">待付金额</text> <text class="itemsleft">待付金额</text>
<text class="itemsright"><u--text mode="price" :text="orderInfo.totalPrice"></u--text></text> <text class="itemsright">
<u--text mode="price" :text="orderInfo.totalPrice"></u--text>
</text>
</view> </view>
</view> </view>
<view class="detail"> <view class="detail">
@ -95,7 +101,9 @@
</view> </view>
</view> </view>
<view class="zf"> <view class="zf">
<view class="zfNumber">待支付: <text>123</text> </view> <view class="zfNumber"> <text>待支付:</text>
<u--text class="text" size="35rpx" mode="price" :text="orderInfo.totalPrice"></u--text>
</view>
<view class="closeOrder" tap="cancelOrder()">取消订单</view> <view class="closeOrder" tap="cancelOrder()">取消订单</view>
<view class="orderPay" @tap='pay_open(orderInfo.orderId)'>立即付款</view> <view class="orderPay" @tap='pay_open(orderInfo.orderId)'>立即付款</view>
</view> </view>
@ -609,6 +617,10 @@
justify-content: space-between; justify-content: space-between;
.shopName { .shopName {
width: 240rpx;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
font-size: 28rpx; font-size: 28rpx;
font-family: PingFang SC; font-family: PingFang SC;
font-weight: 400; font-weight: 400;
@ -644,6 +656,10 @@
margin-right: 60rpx; margin-right: 60rpx;
.name { .name {
width: 440rpx;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
font-size: 26rpx; font-size: 26rpx;
font-family: PingFang SC; font-family: PingFang SC;
font-weight: 400; font-weight: 400;
@ -805,6 +821,7 @@
background-size: 100% 100%; background-size: 100% 100%;
margin-left: 400rpx; margin-left: 400rpx;
} }
.radioNo { .radioNo {
width: 34rpx; width: 34rpx;
height: 34rpx; height: 34rpx;
@ -822,15 +839,19 @@
.zf { .zf {
position: fixed; position: fixed;
bottom: 0; bottom: 0;
display: flex;
justify-content: space-around;
align-items: center;
width: 100%; width: 100%;
height: 176rpx; height: 176rpx;
background: #fff; background: #fff;
.zfNumber { .zfNumber {
position: absolute; // position: absolute;
left: 52rpx; // left: 52rpx;
top: 58rpx; // top: 58rpx;
font-size: 28rpx; font-size: 28rpx;
display: flex;
font-family: PingFang SC; font-family: PingFang SC;
font-weight: 400; font-weight: 400;
color: #0C0C0C; color: #0C0C0C;
@ -846,9 +867,9 @@
.closeOrder { .closeOrder {
position: absolute; // position: absolute;
top: 48rpx; // top: 48rpx;
right: 230rpx; // right: 230rpx;
width: 179rpx; width: 179rpx;
height: 64rpx; height: 64rpx;
text-align: center; text-align: center;
@ -862,9 +883,9 @@
} }
.orderPay { .orderPay {
position: absolute; // position: absolute;
top: 48rpx; // top: 48rpx;
right: 34rpx; // right: 34rpx;
width: 178rpx; width: 178rpx;
height: 63rpx; height: 63rpx;
line-height: 63rpx; line-height: 63rpx;

View File

@ -952,7 +952,7 @@
payChannel: that.payChannel payChannel: that.payChannel
}; };
console.log(that.system_store.phone,'data') console.log(that.preOrderNo,'data')
if (data.payType == 'yue' && parseFloat(that.userInfo.nowMoney) < parseFloat(that.totalPrice)) if (data.payType == 'yue' && parseFloat(that.userInfo.nowMoney) < parseFloat(that.totalPrice))
return that.$util return that.$util
.Tips({ .Tips({

View File

@ -1,27 +1,18 @@
<template> <template>
<view class="container"> <view class="container">
<view class="navbar"> <view class="navbar">
<u-sticky bgColor="#fff"> <view class="goback"></view>
<u-navbar>
<view class="navbar-left" v-slot="left">
<u-icon name="arrow-left"></u-icon>
</view>
<template v-slot="center ">
<view class="search"> <view class="search">
<view class="icon"> <view class="icon"></view>
<u-icon name="search" size="44rpx"></u-icon>
</view>
<view class="input"> <view class="input">
<u--input placeholder="请输入内容" v-model="value" @change="change"></u--input> <u--input placeholder="搜索我的订单" v-model="value" @change="change"></u--input>
</view> </view>
<view class="button">搜索</view> <view class="button">搜索</view>
</view> </view>
</template> <view class="" style="width: 50rpx;">
</u-navbar>
</u-sticky>
</view> </view>
</view>
<view class="tabs"> <view class="tabs">
<u-tabs :list="list1" @tap="click" lineWidth="60rpx" lineHeight="9rpx"></u-tabs> <u-tabs :list="list1" @tap="click" lineWidth="60rpx" lineHeight="9rpx"></u-tabs>
</view> </view>
@ -29,14 +20,17 @@
<!-- <view class="item" @tap="goOrderDetails(123)"> <!-- <view class="item" @tap="goOrderDetails(123)">
</view> --> </view> -->
<view class='list' v-if="status='0'"> <u-list class='list' height="1180rpx" @scrolltolower="scrolltolower">
<!-- <view class='list'> -->
<!-- <view class='item' v-for="(item,index) in orderList" :key="index"> --> <!-- <view class='item' v-for="(item,index) in orderList" :key="index"> -->
<view class='item' v-for="(item,index) in orderList" :key="item.id"> <!-- <view class='items' v-for="(item,index) in orderList" :key="item.id"> -->
<u-list-item class='items' v-for="(item,index) in orderList" :key="item.id">
<view class="item" v-for="(goods,i) in item.orderInfoList">
<view @tap='goOrderDetails(item.orderId)'> <view @tap='goOrderDetails(item.orderId)'>
<view class="box"></view> <view class="box"></view>
<view class="top"> <view class="top">
<view class="shopName"> <view class="shopName">
古驰旗舰店 {{goods.productName}}
</view> </view>
<view class="state"> <view class="state">
{{getStatus(item.status)}} {{getStatus(item.status)}}
@ -44,27 +38,31 @@
</view> </view>
<view class="content"> <view class="content">
<view class="image"> <view class="image">
<u--image :showLoading="true" radius="10rpx" src="https://cdn.uviewui.com/uview/album/1.jpg" width="111rpx" <u--image :showLoading="true" radius="10rpx" :src="goods.image" width="111rpx"
height="99rpx" @tap="click"></u--image> height="99rpx" @tap="click"></u--image>
</view> </view>
<view class="text"> <view class="text">
<view class="name"> <view class="name">
GUCCI/古驰HADLEY 21 {{goods.productName}}
</view> </view>
<view class="model"> <view class="model">
Gucci Blondie小号托特包 {{goods.sku}}
</view> </view>
<view class="price"> <view class="price">
{{item.payPrice}} {{goods.price}}
</view> </view>
</view> </view>
</view> </view>
<view class="box"></view>
</view> </view>
</view> </view>
</u-list-item>
<!-- </view> -->
<view v-if="orderList.length == 0"> <view v-if="orderList.length == 0">
<emptyPage title="暂无订单~"></emptyPage> <emptyPage title="暂无订单~"></emptyPage>
</view> </view>
</view> <!-- </view> -->
</u-list>
<!-- <view class='loadingicon acea-row row-center-wrapper' v-if="orderList.length>0"> <!-- <view class='loadingicon acea-row row-center-wrapper' v-if="orderList.length>0">
<text class='loading iconfont icon-jiazai' :hidden='loading==false'></text>{{loadTitle}} <text class='loading iconfont icon-jiazai' :hidden='loading==false'></text>{{loadTitle}}
</view> --> </view> -->
@ -122,17 +120,18 @@
name: '待发货', name: '待发货',
value: '1' value: '1'
}, { }, {
name: '已完成', name: '待收货',
value: '2' value: '2'
}, { }, {
name: '售后中', name: '已完成',
value: '3'
}, {
name: '已关闭',
value: '4' value: '4'
}, {
name: '售后/退款',
value: '-3'
}], }],
limit: 20, limit: 20,
itemList: [], itemList: [],
value: '',
currentPage: 1, currentPage: 1,
listTitle: '', listTitle: '',
pageSize: 10, pageSize: 10,
@ -424,7 +423,64 @@
<style scoped lang="scss"> <style scoped lang="scss">
.container { .container {
width: 100%;
height: 100%;
.navbar {
position: fixed;
top: 0;
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
height: 44px;
background: #fff;
z-index: 999;
.goback {
margin-left: 30rpx;
width: 48rpx;
height: 48rpx;
background: url(@/static/images/shop/goback.png);
background-size: 100% 100%;
}
.search {
width: 523rpx;
height: 69rpx;
border: 1rpx solid #FE7596;
display: flex;
justify-content: space-between;
align-items: center;
border-radius: 34rpx;
.icon {
margin-left: 10rpx;
width: 37rpx;
height: 31rpx;
background: url(@/static/images/shop/index_search.png);
background-size: 100% 100%;
}
.button {
margin-right: 3rpx;
width: 113rpx;
height: 59rpx;
background: #FFFFFF;
box-shadow: 0rpx 0rpx 7rpx 0rpx rgba(108,6,31,0.1);
border-radius: 30rpx;
line-height: 59rpx;
text-align: center;
font-size: 30rpx;
font-family: PingFang SC;
font-weight: 400;
color: #EC2A63;
}
}
}
.tabs { .tabs {
width: 100%; width: 100%;
height: 100rpx; height: 100rpx;
background: #fff; background: #fff;
@ -432,21 +488,21 @@
} }
.list { .list {
position: absolute;
top: 120rpx;
width: 100%; width: 100%;
height: 100vh; overflow: scroll;
.item { .items {
margin-top: 21rpx; margin-top: 21rpx;
margin-left: 40rpx; margin-left: 40rpx;
width: 669rpx; width: 669rpx;
height: 238rpx;
background: #fff; background: #fff;
border-radius: 20rpx; border-radius: 20rpx;
.box { .item {
width: 100%; width: 669rpx;
height: 22rpx; height: 238rpx;
}
.top { .top {
margin-left: 26rpx; margin-left: 26rpx;
@ -454,6 +510,10 @@
justify-content: space-between; justify-content: space-between;
.shopName { .shopName {
width: 120px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
font-size: 28rpx; font-size: 28rpx;
font-family: PingFang SC; font-family: PingFang SC;
font-weight: 400; font-weight: 400;
@ -469,6 +529,12 @@
} }
} }
.box {
width: 100%;
height: 22rpx;
}
.content { .content {
margin-top: 32rpx; margin-top: 32rpx;
width: 100%; width: 100%;
@ -487,6 +553,10 @@
margin-right: 60rpx; margin-right: 60rpx;
.name { .name {
width: 440rpx;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
font-size: 26rpx; font-size: 26rpx;
font-family: PingFang SC; font-family: PingFang SC;
font-weight: 400; font-weight: 400;
@ -513,32 +583,10 @@
} }
} }
.search {
width: 523rpx;
height: 69rpx;
border: 1rpx solid #FE7596;
display: flex;
justify-content: space-between;
align-items: center;
border-radius: 27rpx;
.icon {}
.button {
margin-right: 3rpx;
width: 82rpx;
height: 46rpx;
line-height: 45rpx;
text-align: center;
background: linear-gradient(0deg, #F02563 0%, #FE7596 100%);
border-radius: 22.5rpx;
font-size: 26rpx;
font-family: PingFang SC;
font-weight: 400;
color: #FFFFFF;
}
} }
} }
</style> </style>

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB