游梦婷 2 years ago
parent 1dbc0c1249
commit 55479046ed
  1. 13
      App.vue
  2. 33
      Utils/physicalObject.js
  3. 553
      components/dataList/dataList.vue
  4. 3
      components/dataList/emptyImage.js
  5. 1
      components/pick-regions/pick-regions.vue
  6. 14
      pages.json
  7. 10
      pages/address/addNewAddress/addNewAddress.vue
  8. 350
      pages/address/addNewAddress/demo.vue
  9. 354
      pages/address/address.vue
  10. 43
      pages/classify/cart-choose/cart-choose.vue
  11. 46
      pages/classify/cart-choose/data.json
  12. 199
      pages/classify/cart/cart.vue
  13. 4
      pages/classify/goods-list/goods-list.vue
  14. 582
      pages/classify/goods-search/data2.json
  15. 11
      pages/classify/goods-search/goods-search.vue
  16. 46
      pages/classify/goodsDetail/data.json
  17. 876
      pages/classify/goodsDetail/goodsDetail.vue
  18. 54
      pages/classify/order/orderDetail.vue
  19. 2
      pages/classify/order/orderList.vue
  20. 600
      pages/classify/order/pay.vue
  21. 70
      pages/classify/order/paymentResult.vue
  22. 497
      pages/settleAccounts/detail-popup/detail-popup.vue
  23. 987
      pages/settleAccounts/settleAccounts.vue
  24. 3
      pages/tabBar/classify/classify.vue
  25. 78
      pages/user/order_list/order_list.vue
  26. 8
      uni.scss

@ -66,8 +66,7 @@
pelletoilList: '', pelletoilList: '',
// //
shareNum:0, shareNum:0,
//
cartNum:0,
}, },
onLaunch: function() {}, onLaunch: function() {},
@ -231,15 +230,7 @@
} }
} }
}) })
uni.getStorage({
key: 'cartNum',
success(e) {
if (e.data) {
that.globalData.cartNum = e.data;
console.log(that.globalData.cartNum,"getStorage")
}
}
})
// #endif // #endif
}, },
onHide: function() {} onHide: function() {}

@ -2,8 +2,13 @@ import {
POST POST
} from "./Request.js"; } from "./Request.js";
let app = getApp(); let app = getApp();
let base = app.globalData.url; let base = app.globalData.url;
// let orderbase = app.globalData.orderurl;
// let base = "http://192.168.1.16:9301/crest/";
let orderbase = app.globalData.orderurl;
// let userbase = app.globalData.userurl; // let userbase = app.globalData.userurl;
// let v1base = app.globalData.v1url; // let v1base = app.globalData.v1url;
// let brestBase = app.globalData.brestUrl; // let brestBase = app.globalData.brestUrl;
@ -37,8 +42,8 @@ export const insertShoppingCart = params => {
} }
// 增加商品数量 // 增加商品数量
export const goodsAddNum = params => { export const goodsEditNum = params => {
return POST('GET', `${base}/shoppingCart/goodsAddNum`, params).then(res => res.data); return POST('GET', `${base}/shoppingCart/goodsEditNum`, params).then(res => res.data);
} }
// 删除购物车商品 // 删除购物车商品
export const deleteShoppingCart = params => { export const deleteShoppingCart = params => {
@ -77,7 +82,7 @@ export const findDeliveryAddressById = params => {
// 根据id 删除收货地址 // 根据id 删除收货地址
export const deleteAddress = params => { export const deleteAddress = params => {
return POST('GET', `${base}/deliveryAddress/deleteShoppingCart`, params).then(res => res.data); return POST('GET', `${base}/deliveryAddress/deleteDeliveryAddress`, params).then(res => res.data);
} }
// 查询物流信息 // 查询物流信息
@ -87,4 +92,24 @@ export const getLogisticsMsg = params => {
// 根据区域查询运费和包邮价格 // 根据区域查询运费和包邮价格
export const getRegionFreight = params => { export const getRegionFreight = params => {
return POST('GET', `${base}/common/getRegionFreight`, params).then(res => res.data); return POST('GET', `${base}/common/getRegionFreight`, params).then(res => res.data);
}
// 查询收货地址包邮金额和运费金额
export const getAddressPrice = params => {
return POST('GET', `${base}/deliveryAddress/getAddressPrice`, params).then(res => res.data);
}
//查询可用优惠券
export const getUserExclusiveDiscount = params => {
return POST('GET', `${base}/userDiscount/getUserExclusiveDiscount`, params).then(res => res.data);
}
//下单
export const createOrder = params => {
return POST('POST', `${orderbase}/create`, params).then(res => res.data);
}
//查询用户相关内容,积分
export const findUser = params => {
return POST('GET', `${base}/highUser/findUser`, params).then(res => res.data);
} }

@ -1,553 +0,0 @@
<template>
<view
class="data-list-components "
@touchmove.stop.prevent
>
<!-- :class="{ 'safe-area-inset-bottom': safeAreaInsetBottom }" -->
<!-- :style="[dataListStyle]" -->
<scroll-view
class="scroll-view"
:scroll-top="scrollTop"
:scroll-y="scrollingEnabled"
:lower-threshold="lowerThreshold"
:enable-back-to-top="enableBackToTop"
@scroll="handleScroll"
@scrolltolower="handleScrolltolower"
@touchstart="handleTouchStart"
@touchmove="handleTouchMove"
@touchend="handleTouchEnd"
>
<view class="scroll-content" :style="[scrollContentStyle]">
<!-- 下拉 -->
<view class="pull-down-view">
<slot name="refresh" v-if="$slots.refresh"></slot>
<view class="refresh-view" v-else>
<text :class="' pull-down-text icon-ymt '+(refreshStatus == 'soon'?' to-blod-down ':refreshStatus == 'sure'?' to-blod-up ':' ') " >{{ refreshText[refreshStatus] }}</text>
</view>
</view>
<view class="scroll-list"><slot></slot></view>
<view class="loading-view" v-if="loadingMask">
<view class="loading-animation"></view>
<text class="loading-text">加载中...</text>
</view>
<!-- -->
<view class=" empty-content" v-if="showEmpty">
<!-- <image class="empty-image" :src="emptyImage || defaultEmptyImage" mode=""></image> -->
<text class="empty-text">{{ emptyText }}</text>
</view>
<!-- 底部上滑 -->
<view class="pull-up-view" >
<slot name="load" v-if="$slots.load"></slot>
<view class="load-view" v-else>
<view class="loading-animation" v-if="loadStatus == 'loading'"></view>
<text :class="' loading-text icon-ymt '+(loadStatus == 'soon'?' to-blod-up ':loadStatus == 'sure'?' to-blod-down ':' ') " >{{ loadText[loadStatus] }}</text>
</view>
</view>
</view>
</scroll-view>
</view>
</template>
<script>
/**
* data-list 数据列表
* @description 数据列表展示上拉加载更多数据下拉刷新数据
* @tips 如果父组件有设置padding可能造成组件高度不正确的问题
* @property {Number, String} page 默认分页
* @property {Number, String} size 默认分页大小
* @property {Boolean} loading 是否显示首次加载时的loading遮罩层
* @property {Boolean} safeAreaInsetBottom 是否开启底部安全区域适配
* @property {String} emptyImage 空数据提示图片
* @property {String} emptyText 空数据提示文字
* @property {Boolean} enableBackToTop iOS点击顶部状态栏安卓双击标题栏时滚动条返回顶部
* @property {Number, String} refresherThreshold 下拉刷新阈值单位px触发 refresherrefresh 事件
* @property {Number, String} lowerThreshold 距底部多远时单位px触发 scrolltolower 事件
* @methods {Function} loadData 加载数据方法
* @methods {Function} refreshData 刷新数据方法
* @methods {Function} computedHeight 重新计算高度方法有时候页面某些地方布局被改变了会造成组件高度不能撑满的问题就调用此方法
* @event {Function} load 加载 事件参数一分页请求参数参数二回调方法需要将列表和数据总数回调回去计算 {list:数据列表对象,total:后端数据总数}
* @event {Function} refresh 刷新 事件参数一分页请求参数参数二回调方法需要将列表和数据总数回调回去计算 {list:数据列表对象,total:后端数据总数}
* @event {Function} scroll 滚动 事件
* @event {Function} scrolltolower 上拉触底 事件
* @event {Function} refresherpulling 正在下拉 事件
* @event {Function} refresherrestore 下拉刷新被复位 事件
* @event {Function} refresherabort 下拉刷新被终止 事件
* @event {Function} refresherrefresh 下拉刷新被触发 事件
* @example <data-list class="data-list" ref="list" @load="handleLoad" @refresh="handleRefresh" @scroll="handleScroll"></data-list>
*/
import emptyImages from './emptyImage.js';
export default {
name: 'data-list',
props: {
page: {
type: [Number, String],
default: 1
},
size: {
type: [Number, String],
default: 15
},
loading: {
type: Boolean,
default: false
},
safeAreaInsetBottom: {
type: Boolean,
default: true
},
emptyImage: {
type: String
},
emptyText: {
type: String,
default: '暂无数据~'
},
enableBackToTop: {
type: Boolean,
default: false
},
showEmpty:{
type: Boolean,
default: false
},
refresherThreshold: {
type: [Number, String],
default: 50
},
lowerThreshold: {
type: [Number, String],
default: 50
},
selectObject:{
type:Object,
default:{
selectIndex:0,
length:0
}
}
},
data() {
return {
list: [], //
total: -1, //
currentPage: 1, //
currentSize: 10, //
// showEmpty: false, //
waiting: false, //
loadingMask: false, //
scrollTop: 0, //
currentScrollTop: 0, //
scrollingEnabled: true, //
pullingDown: false, //
pullDownHeight: 0, //
pullDownTimeStamp: 0, //
pullingUp: false, //
pullUpHeight: 0, //
pullUpTimeStamp: 0, //
maxDistance:100,
touchDirection:'top',
loadStatus: 'soon',
loadText: {
loading: '加载中~',
nomore: '没有更多啦~',
soon: '上滑查看下一分类',
sure: '释放查看下一分类',
},
refreshStatus: 'soon',
refreshText: {
soon: '下滑查看上一分类',
sure: '释放查看上一分类',
nomore: '没有更多啦~',
refreshing: '正在刷新中~'
},
defaultEmptyImage: emptyImages.data,
componentsHeight: 'auto' //
};
},
watch:{
selectObject:{
handler(n, o) {
if(n.selectIndex == n.length-1){
this.loadStatus = "nomore"
}else{
this.loadStatus = "soon"
}
if(n.selectIndex == 0){
this.refreshStatus = "nomore"
}else{
this.refreshStatus = "soon"
}
},
deep:true, //
immediate:false, //
},
},
computed: {
// dataListStyle() {
// const { componentsHeight } = this;
// return {
// height: componentsHeight
// };
// },
scrollContentStyle() {
const style = {};
const { pullDownHeight, pullingDown,pullUpHeight, pullingUp } = this;
// if(this.touchDirection == 'top'){
style.transform = pullingDown ? `translateY(${pullDownHeight}px)` : `translateY(0px)`;
style.transition = pullingDown ? `transform .1s linear` : `transform 0.3s cubic-bezier(0.19,1.64,0.42,0.72)`;
// }else if(this.touchDirection == 'bottom'){
// style.transform = pullingUp ? `translateY(0px)` : `translateY(0px)`;
// style.transition = pullingUp ? `transform .1s linear` : `transform 0.3s cubic-bezier(0.19,1.64,0.42,0.72)`;
// }
return style;
}
},
mounted() {
this.handleInit();
},
methods: {
//
loadData() {
this.waiting = true;
this.$emit('load',res => {
this.waiting = false;
this.list = res.list;
this.total = res.total;
this.currentPage++;
this.handleComputeData();
// this.computedHeight();
});
},
//
computedHeight() {
// this.getRect('.data-list-components').then(res => {
// console.log(res,"res")
// // #ifdef H5
// this.componentsHeight = `calc(100vh - ${res.top}px - var(--window-top))`;
// // #endif
// // #ifndef H5
// this.componentsHeight = `calc(100vh - ${res.top}px)`;
// // #endif
// });
},
//
handleComputeData() {
const len = this.list.length;
const total = this.total;
console.log(len,total)
if (len >= this.total) {
this.loadStatus = 'soon';
} else if (len < this.total) {
this.loadStatus = 'loading';
}
},
//
handleScrolltolower(e) {
this.$emit('scrolltolower', e);
if (this.loadStatus == 'nomore' || this.waiting) return;
this.loadData();
},
//
handleScroll(e) {
// this.currentScrollTop = e.detail.scrollTop;
// if (e.detail.scrollTop <= 20) {
// this.touchDirection = 'top';
// } else {
// this.touchDirection = 'bottom';
// }
// console.log(e.detail.scrollTop)
this.$emit('scroll', e);
},
//
handleTouchStart(e) {
// if (e.detail.scrollTop <= 20) {
// }
// console.log(e)
// if(this.touchDirection=='top'){
this.pullingDown = true;
// }else if(this.touchDirection=='bottom'){
// this.pullingUp =true;
// }
this.currentTouchStartY = e.touches[0].clientY;
},
//
handleTouchMove(e) {
// this.$emit('refresherpulling', e);
//
console.log(e.touches[0].clientY >= this.currentTouchStartY)
if (e.touches[0].clientY >= this.currentTouchStartY){
this.touchDirection=='top'
const currentTouchMoveY = e.touches[0].clientY;
let movingDistance = (currentTouchMoveY - this.currentTouchStartY) ;
if(this.selectObject.selectIndex == 0){
this.refreshStatus = 'nomore'
}
else if(movingDistance > this.refresherThreshold){
this.refreshStatus = 'sure';//
}else{
this.refreshStatus = 'soon';//
}
let computeDistance = movingDistance;
if(computeDistance > this.maxDistance){
computeDistance = this.maxDistance;
}
this.pullDownHeight = computeDistance ;
}else{
//
this.touchDirection=='bottom';
const currentTouchMoveY = e.touches[0].clientY;
let movingDistance = (this.currentTouchStartY - currentTouchMoveY ) ;
if(this.selectObject.selectIndex == this.selectObject.length-1){
this.loadStatus = 'nomore';
}else if (movingDistance >= this.lowerThreshold) {
this.loadStatus = 'sure';//
} else {
this.loadStatus = 'soon';//
}
let computeDistance = movingDistance;
if(computeDistance > this.maxDistance){
computeDistance = this.maxDistance;
}
this.pullUpHeight = computeDistance;
}
},
//
handleTouchEnd(e) {
console.log(this.touchDirection)
//
if(this.touchDirection == 'top'){
if(this.pullDownHeight>=this.refresherThreshold&&this.selectObject.selectIndex > 0){
this.$emit('refresherrefresh', "prev");
}
this.pullingDown = false;
this.pullDownHeight = 0;
//
}else if(this.touchDirection == 'bottom'){
if(this.pullUpHeight>=this.lowerThreshold&&this.selectObject.selectIndex < (this.selectObject.length-1)){
this.$emit('refresherrefresh', "next");
}
this.pullingUp = false;
this.pullUpHeight = 0;
}
},
//
handleInit() {
this.currentPage = this.page;
this.currentSize = this.size;
// console.log()
// this.computedHeight();
},
// dom
getRect(selector, all) {
return new Promise(resolve => {
uni.createSelectorQuery()
.in(this)
[all ? 'selectAll' : 'select'](selector)
.boundingClientRect(rect => {
if (all && Array.isArray(rect) && rect.length) {
resolve(rect);
}
if (!all && rect) {
resolve(rect);
}
})
.exec();
});
}
}
};
</script>
<style scoped lang="scss">
.data-list-components {
height: 100%;
.scroll-view {
height: 100%;
.scroll-content {
width: 100%;
height: 100%;
position: relative;
.empty-view {
width: 100%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
}
.empty-content {
height:calc(100% - 20px) ;
display: flex;
align-items: center;
flex-direction: column;
justify-content: center;
.empty-image {
width: 100%;
// height: 100%;
}
.empty-text {
display: block;
color: #606266;
margin-top: 20rpx;
}
}
.pull-down-view {
top: 0;
left: 0;
width: 100%;
padding: 30rpx 0;
display: flex;
position: absolute;
align-items: center;
flex-direction: column;
justify-content: center;
transform: translateY(-100%);
.refresh-view {
display: flex;
align-items: center;
flex-direction: column;
.loading-animation {
width: 50rpx;
height: 50rpx;
}
.pull-down-text {
color: #606266;
font-size: 24rpx;
margin-top: 10rpx;
}
}
}
.scroll-list {
display: flex;
flex-direction: column;
}
.loading-view {
width: 100%;
height: 100%;
display: flex;
align-items: center;
flex-direction: column;
justify-content: center;
.loading-animation {
width: 40rpx;
height: 40rpx;
}
.loading-text {
color: #606266;
font-size: 24rpx;
margin-top: 10rpx;
}
}
.pull-up-view {
width: 100%;
// padding: 15rpx 0;
height: 20px;
display: flex;
align-items: center;
justify-content: center;
.load-view {
display: flex;
align-items: center;
// .loading-animation {
// width: 30rpx;
// height: 30rpx;
// }
.loading-text {
color: #606266;
font-size: 24rpx;
margin-left: 20rpx;
}
}
}
.loading-animation {
position: relative;
&::after,
&::before {
left: 0;
width: 100%;
position: absolute;
border: 0 solid currentColor;
background-color: #b7b7b7;
}
&::after {
content: '';
top: -25%;
z-index: 1;
height: 100%;
border-radius: 10%;
animation: spin 0.6s -0.1s linear infinite;
}
&::before {
content: '';
bottom: -9%;
height: 10%;
background: #000;
border-radius: 50%;
opacity: 0.2;
animation: shadow 0.6s -0.1s linear infinite;
}
@keyframes spin {
17% {
border-bottom-right-radius: 10%;
}
25% {
transform: translateY(25%) rotate(22.5deg);
}
50% {
border-bottom-right-radius: 100%;
transform: translateY(50%) scale(1, 0.9) rotate(45deg);
}
75% {
transform: translateY(25%) rotate(67.5deg);
}
100% {
transform: translateY(0) rotate(90deg);
}
}
@keyframes shadow {
50% {
transform: scale(1.25, 1);
}
}
}
}
}
}
</style>

File diff suppressed because one or more lines are too long

@ -68,6 +68,7 @@
}else if(region&&region.length == 6){ }else if(region&&region.length == 6){
this.handleDefaultRegion(region) this.handleDefaultRegion(region)
}else{ }else{
console.log(region)
console.warn('defaultRegion非有效格式') console.warn('defaultRegion非有效格式')
} }
}, },

@ -117,13 +117,13 @@
// "enablePullDownRefresh": false // "enablePullDownRefresh": false
// } // }
// }, // },
// { {
// "path": "pages/classify/order/pay", "path": "pages/classify/order/pay",
// "style": { "style": {
// "navigationBarTitleText": "收银台页", "navigationBarTitleText": "收银台页",
// "enablePullDownRefresh": false "enablePullDownRefresh": false
// } }
// }, },
{ {
"path": "pages/classify/order/paymentResult", "path": "pages/classify/order/paymentResult",
"style": { "style": {

@ -10,7 +10,7 @@
</view> </view>
<view class="form-gorup-item-right"> <view class="form-gorup-item-right">
<view class="form-gorup-title marb10">联系电话<text class="form-group-tips-must">*</text></view> <view class="form-gorup-title marb10">联系电话<text class="form-group-tips-must">*</text></view>
<input type="text" name="tel" v-model="userAddress.tel" maxlength="11" <input type="number" name="tel" v-model="userAddress.tel" maxlength="11"
placeholder-class="fcor666" class="fcor666" placeholder="手机号"> placeholder-class="fcor666" class="fcor666" placeholder="手机号">
</view> </view>
</view> </view>
@ -147,9 +147,10 @@
address: resData.address, address: resData.address,
is_default: resData.whetherDefault, is_default: resData.whetherDefault,
} }
console.log(this.defaultRegionCode) // console.log(this.defaultRegionCode)
this.defaultRegionCode = resData.regionId this.defaultRegionCode = resData.regionId;
console.log(this.defaultRegionCode) this.regionId = resData.regionId;
// console.log(this.defaultRegionCode)
}else{ }else{
uni.showToast({ uni.showToast({
@ -209,7 +210,6 @@
let isVali = this.fields_check(this.userAddress, validation); let isVali = this.fields_check(this.userAddress, validation);
if(isVali){ if(isVali){
if(this.dataParams.id){ if(this.dataParams.id){
this.updateAddress(this.dataParams.id) this.updateAddress(this.dataParams.id)
}else{ }else{

@ -1,350 +0,0 @@
<template>
<view class="container">
<view class='addAddress'>
<!-- <view class="pad30">
<view class='default acea-row row-middle borderRadius15'>
<input v-model="addressValue" type="text" placeholder="粘贴地址信息,自动拆分姓名、电话和地址"
placeholder-class='placeholder' style="width:100%;"
@blur="identify()">
</view>
</view> -->
<view class="pad30 mt-22">
<view class='list borderRadius15'>
<uni-forms ref="form" label-position="left" :modelValue="userAddress">
<uni-forms-item label="姓名" name="real_name" class='item acea-row row-between-wrapper'>
<input type='text' placeholder='请输入姓名' name='real_name' :value="userAddress.real_name"
placeholder-class='placeholder' class="width100"></input>
</uni-forms-item>
<uni-forms-item label="联系电话" name="phone" class='item acea-row row-between-wrapper'>
<input type='number' placeholder='请输入联系电话' name="phone" v-model='userAddress.phone'
placeholder-class='placeholder' pattern="\d*"></input>
</uni-forms-item>
<uni-forms-item label="所在地区" name="region" class='item acea-row row-between-wrapper'>
<view class="address acea-row row-between height100" @click="chooseAddress">
<input type='text' placeholder='请选择地址' :disabled="true" name='region' placeholder-class='placeholder'
v-model='userAddress.region' class="detail"></input>
<view class="icon-ymt to-right font14 fcor666">
</view>
</view>
</uni-forms-item>
<uni-forms-item label="详细地址" name="detail" class='item acea-row row-between-wrapper'>
<input type='text' placeholder='请填写具体地址' name='detail' placeholder-class='placeholder'
v-model='userAddress.detail' class="detail"></input>
</uni-forms-item>
</uni-forms>
</view>
</view>
<button class='keepBnt bg-color' @click="formSubmit">立即保存</button>
</view>
<AddressPicker ref="AddressPicker" @getAddress="getAddress"></AddressPicker>
</view>
</template>
<script>
import uniForms from '@/components/uni-forms/components/uni-forms/uni-forms.vue'
import uniFormsItem from '@/components/uni-forms/components/uni-forms-item/uni-forms-item.vue'
import AddressPicker from '@/pages/address/addNewAddress/addressPicker.vue'
let dataList = require('./address.json')
export default {
data() {
return {
userAddress: {
real_name:"",
phone:"",
region:"",
detail:"",
}, //
addressValue:"",
addressId:null,
/* rulesObject:{
real_name:{
rules:[
// name
{
required: true,
errorMessage: '请填写姓名',
},
// name
{
minLength: 2,
maxLength: 5,
errorMessage: '{label}长度在 {minLength} 到 {maxLength} 个字符',
}
],
},
phone:{
rules:[
{
required: true,
errorMessage: '请输入手机号',
},
{
validateFunction: function(rule, value, data, callback) {
let iphoneReg = /^1[0-9]{10}$/
if (!iphoneReg.test(value)) {
callback('手机号码格式不正确,请重新填写')
}
return true
}
}
],
},
region:{
rules:[
{
required: true,
errorMessage: '请选择地址',
},
],
},
detail:{
rules:[
{
required: true,
errorMessage: '请填写详细地址',
},
{
minLength: 5,
errorMessage: '{label}长度不能少于{minLength}个字符',
}
],
},
}
*/
}
},
components:{
AddressPicker,
"uni-forms":uniForms,
"uni-forms-item":uniFormsItem
// uniForms,
// uniFormsItem
},
onReady() {
// onReady
// this.$refs.form.setRules(this.rulesObject)
// if(this.addressId){
// uni.setNavigationBarTitle({
// title: ''
// });
// }
},
onLoad(options){
if(options.id){
this.addressId = options.id
uni.setNavigationBarTitle({
title: '编辑地址'
});
}
},
methods: {
identify(){
const options = {
type: 0, // 01
textFilter: [], //
nameMaxLength: 4, //
}
// type0使1, textFilter
// if(!!this.addressValue){
// const parseResult = AddressParse(this.addressValue, options)
// // console.log(parseResult);
// this.userAddress.real_name = parseResult.name;
// this.userAddress.phone = parseResult.phone;
// this.userAddress.detail = parseResult.detail;
// this.userAddress.region = parseResult.province + '/' + parseResult.city + '/' + parseResult.area;
// }
},
formSubmit(form) {
//
// this.$refs.form.validate().then(res => {
// console.log('success', res);
// uni.showToast({
// title: ``
// })
// }).catch(err => {
// console.log('err', err);
// })
let _this = this;
this.$refs.form.validate().then(res=>{
console.log(_this.userAddress,res)
})
},
chooseAddress(){
this.$refs.AddressPicker.show()
},
getAddress(address){
console.log(address,"address")
this.userAddress.region=address
}
},
}
</script>
<style lang="scss" scoped>
.container{
background-color: #f5f5f5;
height: 100vh;
box-sizing: border-box;
padding-top:30rpx;
}
/deep/ .uni-forms-item__label .label-text{
font-size: 30rpx !important;
}
/deep/ .uni-forms-item{
width: 100% !important;
}
.pad30 {
padding: 0 30rpx
}
.acea-row {
display: flex;
align-items: center;
}
.row-middle {
align-items: center
}
.row-between-wrapper {
align-items: center;
justify-content: space-between
}
.borderRadius15 {
border-radius: 15rpx !important;
}
.addAddress .list {
background-color: #fff;
}
.addAddress .list .item {
padding: 30rpx ;
padding-bottom: 0;
border-top: 1rpx solid #eee;
position: relative;
}
.addAddress .list .item .detail{
// width: 368rpx;
}
.addAddress .list .item .location{
position: absolute;
right: 46rpx;
top: 50%;
margin-top: -40rpx!important;
font-size: 24rpx;
text-align: center;
}
.addAddress .list .item .name {
width: 195rpx;
font-size: 30rpx;
color: #333;
}
.addAddress .list .item .address {
flex: 1;
}
.addAddress .list .item .address .addressCon{
width: 360rpx;
}
.addAddress .list .item .address .addressCon .tip{
font-size: 21rpx;
margin-top: 4rpx;
}
.addAddress .list .item input {
// width: 475rpx;
flex: 1;
font-size: 30rpx;
display: flex;
flex-direction: column;
justify-content: center;
height: 100%;
}
.placeholder {
color: #ccc;
}
.addAddress .list .item .picker {
width: 430rpx;
font-size: 30rpx;
}
.addAddress .default {
padding: 0 30rpx;
height: 90rpx;
background-color: #fff;
}
.addAddress .keepBnt {
width: 690rpx;
height: 86rpx;
border-radius: 50rpx;
text-align: center;
line-height: 86rpx;
margin: 50rpx auto;
font-size: 32rpx;
color: #fff;
}
.mt-22{
margin-top: 22rpx;
}
.bg-color {
background-color: #dd524d;
}
</style>

@ -1,135 +1,152 @@
<template> <template>
<view class="user-address backcor9 "> <view class="user-address backcor9 ">
<scroll-view scroll-y="true" class="address-contain paading10" > <scroll-view scroll-y="true" class="address-contain paading10">
<radio-group @change="radioChange"> <radio-group @change="radioChange">
<view v-for="(item,index) in addressList" :key="item.id" class="border-8r paading10 backcolorfff marb10"> <view v-for="(item,index) in addressList" @click.stop="chooseAddress(item)" :key="item.id"
<view class="user-msg border-b paddbotm5"> class="border-8r paading10 backcolorfff marb10">
<view class=" mart3 " > <view class="user-msg border-b paddbotm5">
<text class="address-name">{{item.consignee}}</text> <view class=" mart3 ">
<text class=" margle10 ">{{item.phone}}</text> <text class="address-name">{{item.consignee}}</text>
</view> <text class=" margle10 ">{{item.phone}}</text>
<view class="color999 mart5" > </view>
地址:{{item.regionName +" " +item.address}} <view class="color999 mart5">
</view> 地址:{{item.regionName +" " +item.address}}
</view>
</view>
<view class="user-handle mart10">
<view class="handle-left">
<!-- <radio :checked="item.whetherDefault" style="transform:scale(0.7)" :value="item.id" color="#FF1A34" /> -->
<radio :checked="selectId == item.id" style="transform:scale(0.7)" :value="item.id" color="#FF1A34" />
<text class=" margle">默认地址</text>
</view> </view>
<view class="handle-right"> <view class="user-handle mart10">
<button type="primary" class="marRight10" plain="true" size="mini" @click="editAddress(item.id)">编辑</button> <view class="handle-left">
<button type="warn" plain="true" size="mini" @click="deleteAddress(item.id)">删除</button> <!-- <radio :checked="item.whetherDefault" style="transform:scale(0.7)" :value="item.id" color="#FF1A34" /> -->
<radio :checked="selectId == item.id" style="transform:scale(0.7)" :value="item.id"
color="#FF1A34" />
<text class=" margle">默认地址</text>
</view>
<view class="handle-right">
<button type="primary" class="marRight10" plain="true" size="mini"
@click.stop="editAddress(item.id)">编辑</button>
<button type="warn" plain="true" size="mini"
@click.stop="deleteAddress(item.id)">删除</button>
</view>
</view> </view>
</view> </view>
</view>
</radio-group> </radio-group>
<noMore></noMore> <noMore></noMore>
</scroll-view> </scroll-view>
<view class="address-btn fcorfff font16"> <view class="address-btn fcorfff font16">
<view class="add-btn" @click="addNewAddress">添加新地址</view> <view class="add-btn" @click="addNewAddress">添加新地址</view>
<view class="add-btn" @click="daoRu">导入系统地址</view> <!-- <view class="add-btn" @click="daoRu">导入系统地址</view> -->
</view> </view>
</view> </view>
</template> </template>
<script> <script>
import noMore from '@/pages/classify/no-more/no-more.vue' import noMore from '@/pages/classify/no-more/no-more.vue'
import { getDeliveryAddressList,deleteAddress,updateDeliveryAddress } from '@/Utils/physicalObject.js' import {
getDeliveryAddressList,
deleteAddress,
updateDeliveryAddress
} from '@/Utils/physicalObject.js'
export default { export default {
components:{ components: {
noMore, noMore,
}, },
data(){ data() {
return{ return {
addressId:[ addressId: [
111,222,333,444 111, 222, 333, 444
], ],
selectId:0, selectId: 0,
addressList:[] addressList: [],
status: 0, //
} }
}, },
onLoad(){ onLoad(options) {
if (options.status) { //1:
this.status = options.status;
}
this.initData() this.initData()
}, },
methods:{ methods: {
initData(){ initData() {
this.selectId = 0; this.selectId = 0;
getDeliveryAddressList().then(res=>{ uni.showLoading({
title: '加载中',
mask:true,
});
getDeliveryAddressList().then(res => {
uni.hideLoading();
if (res.return_code == '000000') { if (res.return_code == '000000') {
if(res.return_data.length>0){ if (res.return_data.length > 0) {
// console.log(res.return_data) // console.log(res.return_data)
this.addressList = res.return_data; this.addressList = res.return_data;
this.addressList.map(item=>{ this.addressList.map(item => {
if(item.whetherDefault){ if (item.whetherDefault) {
this.selectId = item.id; this.selectId = item.id;
} }
}) })
} }
}else{ } else {
uni.showToast({ uni.showToast({
title: res.return_msg, title: res.return_msg,
icon: 'none', icon: 'none',
duration: 2000 duration: 2000
}) })
} }
}) })
}, },
// //
radioChange(e){ radioChange(e) {
console.log(e)
let select = e.detail.value let select = e.detail.value
let content =null; let content = null;
this.addressList.map(item=>{ this.addressList.map(item => {
if(item.id == select){ if (item.id == select) {
content = item; content = item;
} }
}) })
let params ={ let params = {
"id": content.id, "id": content.id,
"address": content.address, "address": content.address,
"consignee": content.consignee, "consignee": content.consignee,
"phone": content.phone, "phone": content.phone,
"regionId": content.regionId, "regionId": content.regionId,
"regionName":content.regionName, "regionName": content.regionName,
"whetherDefault": true "whetherDefault": true
} }
updateDeliveryAddress(params).then(res=>{ updateDeliveryAddress(params).then(res => {
let title ; let title;
if (res.return_code == '000000') { if (res.return_code == '000000') {
title = res.return_data; title = res.return_data;
this.selectId = e.detail.value; this.selectId = e.detail.value;
}else{ } else {
title = res.return_msg; title = res.return_msg;
} }
uni.showToast({ uni.showToast({
title: title, title: title,
icon: 'none', icon: 'none',
duration: 2000 duration: 2000
}) })
}) })
}, },
editAddress(id){ editAddress(id) {
uni.navigateTo({ uni.navigateTo({
url:"./addNewAddress/addNewAddress?id="+id url: "./addNewAddress/addNewAddress?id=" + id
}) })
}, },
deleteAddress(id){ deleteAddress(id) {
uni uni
let _this = this; let _this = this;
uni.showModal({ uni.showModal({
@ -137,123 +154,142 @@
content: '确定删除该地址吗?', content: '确定删除该地址吗?',
success: function(res) { success: function(res) {
if (res.confirm) { if (res.confirm) {
let params={ let params = {
id:id id: id
} }
deleteAddress(params).then(res=>{ deleteAddress(params).then(res => {
let title ; let title;
if (res.return_code == '000000') { if (res.return_code == '000000') {
title = res.return_data; title = res.return_data;
}else{ } else {
title = res.return_msg; title = res.return_msg;
} }
uni.showToast({ uni.showToast({
title: title, title: title,
icon: 'none', icon: 'none',
duration: 2000 duration: 2000
}) })
_this.initData(); _this.initData();
}) })
} else if (res.cancel) { } else if (res.cancel) {
// console.log(''); // console.log('');
} }
} }
}); });
}, },
// //
addNewAddress(){ addNewAddress() {
uni.navigateTo({ uni.navigateTo({
url:"./addNewAddress/addNewAddress" url: "./addNewAddress/addNewAddress"
}) })
}, },
// //
daoRu(){ daoRu() {
uni.chooseAddress({ uni.chooseAddress({
success: (res) => { success: (res) => {
console.log(res) console.log(res)
var data = { var data = {
"name": res.userName || '', "name": res.userName || '',
"tel": res.telNumber || '', "tel": res.telNumber || '',
"province": res.provinceName || '', "province": res.provinceName || '',
"city": res.cityName || '', "city": res.cityName || '',
"county": res.countyName || '', "county": res.countyName || '',
"address": res.detailInfo || '' "address": res.detailInfo || ''
}; };
// //
}, },
fail: (err) => { fail: (err) => {
} }
}) })
},
chooseAddress(addressItem) {
console.log(addressItem, "addressItem")
if (this.status == 1) {
let pages = getCurrentPages(); //
let beforePage = pages[pages.length - 2]; //
uni.navigateBack({
success: function() {
beforePage.$vm.getRegiFreight(addressItem);
console.log("返回成功!");
}
})
}
} }
} }
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.border-b {
border-bottom: 1px solid #f6f6f6;
}
.user-address {
height: 100vh;
overflow: hidden;
.address-contain {
height: calc(100vh - 70px);
width: calc(100% - 20px);
}
.user-handle {
display: flex;
align-items: center;
justify-content: space-between;
}
.border-b{ .handle-right {
border-bottom: 1px solid #f6f6f6; vertical-align: middle;
} }
.user-address{
height: 100vh;
overflow: hidden;
.address-contain{
height: calc(100vh - 70px);
width: calc(100% - 20px);
} }
.user-handle{
//
.address-btn {
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 50px;
line-height: 50px;
box-sizing: border-box;
display: flex; display: flex;
justify-content: space-around;
align-items: center; align-items: center;
justify-content: space-between;
} .add-btn {
width: 45%;
.handle-right{ height: 40px;
vertical-align: middle; line-height: 40px;
} text-align: center;
} border-radius: 20px;
&:first-of-type {
background-color: #F6C133;
// }
.address-btn{
position: absolute; &:last-of-type {
bottom: 0; background-color: #3da7e7;
left: 0; }
right: 0;
height: 50px;
line-height: 50px;
box-sizing: border-box;
display: flex;
justify-content: space-around;
align-items: center;
.add-btn{
width:45%;
height: 40px;
line-height: 40px;
text-align: center;
border-radius: 20px;
&:first-of-type{
background-color:#F6C133;
}
&:last-of-type{
background-color: #3da7e7;
} }
} }
} </style>
</style>

@ -16,7 +16,7 @@
</view> </view>
<!-- 地址 --> <!-- 地址 -->
<view class="select-address width100 mart10 " @click="goAddress"> <!-- <view class="select-address width100 mart10 " @click="goAddress">
<view v-if="true" class="address-left font14"> <view v-if="true" class="address-left font14">
<view class=" " > <view class=" " >
重庆市渝中区不是的聚钓具偶家 重庆市渝中区不是的聚钓具偶家
@ -34,7 +34,7 @@
</view> </view>
<view class="icon-ymt to-right"></view> <view class="icon-ymt to-right"></view>
</view> </view> -->
<!-- 选分类 --> <!-- 选分类 -->
<view class="choose-bottom"> <view class="choose-bottom">
@ -69,7 +69,7 @@
加入购物车 加入购物车
</view> </view>
<view class="fcorfff way bgcolor-ri" @click="toBuy"> <view class="fcorfff way bgcolor-ri" @click="toBuy">
领券购买 立即购买
</view> </view>
</view> </view>
<view class="choose-way" v-if="status == 0"> <view class="choose-way" v-if="status == 0">
@ -77,6 +77,11 @@
加入购物车 加入购物车
</view> </view>
</view> </view>
<view class="choose-way" v-if="status == 2">
<view class="fcorfff way1 bgcolor-left" @click="toBuy">
立即购买
</view>
</view>
</view> </view>
</view> </view>
@ -108,6 +113,10 @@
status:{ status:{
type:Number, type:Number,
default:0, default:0,
},
goodsDetail:{
type:Object,
default:{}
} }
}, },
components:{ components:{
@ -157,7 +166,7 @@
goodsId:this.specificationList[this.chooseIndex].goodsId, goodsId:this.specificationList[this.chooseIndex].goodsId,
num:this.chooseNumber, num:this.chooseNumber,
sku:this.specificationList[this.chooseIndex].id, sku:this.specificationList[this.chooseIndex].id,
whetherCheck:true whetherCheck:false
} }
insertShoppingCart(params).then(async res=>{ insertShoppingCart(params).then(async res=>{
@ -175,7 +184,7 @@
duration: 2000 duration: 2000
}) })
this.chooseNumber = 1;
this.$emit("close") this.$emit("close")
@ -184,9 +193,29 @@
}, },
// //
toBuy(){ toBuy(){
this.$emit("close")
console.log(this.specificationList[this.chooseIndex],this.goodsDetail)
let _this = this
let obj =[{
goodsId:_this.specificationList[this.chooseIndex].goodsId,
img: _this.specificationList[this.chooseIndex].showImg,
num: _this.chooseNumber,
price: _this.specificationList[this.chooseIndex].price,
sku: _this.specificationList[this.chooseIndex].id,
skuName: _this.specificationList[this.chooseIndex].name,
title: _this.goodsDetail.name,
originalPrice:_this.specificationList[this.chooseIndex].originalPrice
}]
obj = JSON.stringify(obj)
uni.navigateTo({
url: '/pages/settleAccounts/settleAccounts?goodsList='+obj
})
// this.$emit("close")
}, },
// //
select(index){ select(index){

@ -1,46 +0,0 @@
{
"id": "2",
"realstore_id": "0",
"realstore_goods_id": "0",
"shop_id": "1",
"shop_user_id": "1",
"shop_category_id": "1",
"shop_settle_price": "0.00",
"shop_settle_rate": "0.00",
"brand_id": "2",
"site_type": "-1",
"title": "苹果(Apple)iPhone 6 Plus (A1524)移动联通电信4G手机 金色 16G",
"title_color": "",
"simple_desc": "1.芯片功能强大 iPhone芯片的更新频率比友商少,但每次iPhone芯片更新时,都会成为关注和追赶的对象。",
"model": "iPhone 6 Plus",
"place_origin": "0",
"inventory": "7983",
"inventory_unit": "步",
"images": ["https://gw.alicdn.com/bao/uploaded/i2/708446530/O1CN01WZY06s1y6mybMkFwh_!!708446530.jpg_300x300q90.jpg_.webp","https://d1.shopxo.vip/static/upload/images/goods/2019/01/14/1547451274847894.jpg"],
"original_price": "4500.00-6800.00",
"min_original_price": "4500.00",
"max_original_price": "6800.00",
"price": "4500.00-6800.00",
"min_price": "4500.00",
"max_price": "6800.00",
"give_integral": "30",
"buy_min_number": "1",
"buy_max_number": "0",
"is_deduction_inventory": "1",
"is_shelves": "1",
"content_web": "<p style=\"margin:0;\"><a href=\"https://store.shopxo.net/\" target=\"_blank\" title=\"进入指定页面&gt;&gt;\">进入指定页面&gt;&gt;</a></p><p style=\"margin:0;\"><video class=\"edui-faked-video video-js\" controls=\"\" preload=\"none\" width=\"420\" height=\"280\" src=\"https://d1.shopxo.vip/static/upload/video/goods/2019/01/14/1547458876723311.mp4\" data-setup=\"{}\"></video></p><p style=\"margin:0;\"><a href=\"https://shopxo.net/?q=test&u=hello你好!\" target=\"_blank\" title=\"打开一个a标签地址\"><strong><span style=\"font-size: 24px; color: rgb(255, 0, 0);\">打开一个a标签地址</span></strong></a><br/></p><p style=\"margin:0;\"><a href=\"/pages/plugins/blog/index/index\" target=\"_self\" title=\"进入博客页面\">进入博客</a></p><p style=\"margin:0;\"><img style=\"max-width:100%;height:auto;margin:0;padding:0;display:block;\" src=\"https://d1.shopxo.vip/static/upload/images/goods/2019/01/14/1547451595700972.jpg\" title=\"1547451595700972.jpg\"/></p><p style=\"margin:0;\"><img style=\"max-width:100%;height:auto;margin:0;padding:0;display:block;\" src=\"https://d1.shopxo.vip/static/upload/images/goods/2019/01/14/1547451595528800.jpg\" title=\"1547451595528800.jpg\"/></p><p style=\"margin:0;\"><img style=\"max-width:100%;height:auto;margin:0;padding:0;display:block;\" src=\"https://d1.shopxo.vip/static/upload/images/goods/2019/01/14/1547451595616298.jpg\" title=\"1547451595616298.jpg\"/></p><p style=\"margin:0;\"><br/></p>",
"photo_count": "2",
"sales_count": "266",
"access_count": "13333",
"is_exist_many_spec": "1",
"spec_base": "",
"plugins_membershiplevelvip_price_extends": "",
"seo_title": "",
"seo_keywords": "",
"seo_desc": "",
"is_delete_time": "0",
"add_time": "2019-01-14 15:40:24",
"upd_time": "2023-03-24 17:46:26"
}

@ -1,27 +1,27 @@
<template> <template>
<view class=""> <view class="">
<!-- v-if="cartList.length>0" --> <!-- v-if="cartList.length>0" -->
<view class="cart-container backcor9"> <view class="cart-container backcor9">
<scroll-view :scroll-y="true" class="cart-list"> <scroll-view :scroll-y="true" class="cart-list">
<uni-swipe-action> <uni-swipe-action>
<!-- 从这里开始遍历--> <!-- 从这里开始遍历-->
<view v-for="(item,index) in cartList" <view v-for="(item,index) in cartList"
:class="(item.isFailure?' isFailure ':' ')+'marb10 border-8r backcolorfff paading10'" :class="(item.loseEfficacy?' loseEfficacy ':' ')+'marb10 border-8r backcolorfff paading10'"
:key="item.id"> :key="item.id">
<!-- :disabled="item.isFailure" --> <!-- :disabled="item.loseEfficacy" -->
<uni-swipe-action-item :auto-close="autoClose" :right-options="swipe_options" <uni-swipe-action-item :auto-close="autoClose" :right-options="swipe_options"
@click="swipe_opt_event($event,item.id)" @change="swipe_change($event, item.id)"> @click="swipe_opt_event($event,item.id)" @change="swipe_change($event, item.id)">
<view class="cart-container2"> <view class="cart-container2">
<checkbox-group @change="checkClick(item)"> <checkbox-group @change="checkClick(item)">
<checkbox class="mycheck" :disabled="!isEdit&&item.isFailure" color="#FFC71E" <checkbox class="mycheck" :disabled="!isEdit&&item.loseEfficacy" color="#FFC71E"
:value="item.id" :checked="item.whetherCheck" /> :value="item.id" :checked="item.whetherCheck" />
</checkbox-group> </checkbox-group>
<view class="cart-detail"> <view class="cart-detail" >
<view class="cart-img"> <view class="cart-img">
<image :src="imageUrl+item.img" class="img border-8r" mode="aspectFill"></image> <image :src="imageUrl+item.img" class="img border-8r" mode="aspectFill"></image>
</view> </view>
@ -33,14 +33,21 @@
</view> </view>
<view class="cart-msg-price"> <view class="cart-msg-price">
<view class="cart-price font16 fcorred"> <view class="dis-flex">
<!-- ¥ <text class="font20">18 </text>.8 --> <view class="cart-price font16 fcorred">
¥{{item.price}} <!-- ¥ <text class="font20">18 </text>.8 -->
¥{{item.price}}
</view>
<!-- <view class="fcor666 margle10 font14 text-lt">
¥{{item.originalPrice}}
</view> -->
</view> </view>
<view class="cart-num">
<view :class="'cart-num'+(item.loseEfficacy?' pont-event ':' ')">
<uni-number-box v-model="item.num" :min="1" @noMoreLess="noMoreLess(item.id+'')" <uni-number-box v-model="item.num" :min="1"
@change="changeNumValue($event,item.id)" /> @noMoreLess="noMoreLess(item.id+'')"
@change="changeNumValue($event,item.id)" :max="999999999" />
</view> </view>
</view> </view>
@ -75,7 +82,11 @@
<text v-if="isEdit" class="tool-right paddleft5 fcorred" @click="editDelete">退出编辑</text> <text v-if="isEdit" class="tool-right paddleft5 fcorred" @click="editDelete">退出编辑</text>
<view v-if="!isEdit" class="tool-right"> <view v-if="!isEdit" class="tool-right">
<view class="tool-jiesuan marRight10 "> <view class="tool-jiesuan marRight10 ">
<!-- <text v-if="priceOrigin > 0" class="fcor666 margle10 marRight10 font14 text-lt">¥{{priceOrigin}}</text> -->
合计:<text class="fcorred">¥{{priceAll}}</text> 合计:<text class="fcorred">¥{{priceAll}}</text>
</view> </view>
<view class="jiesuan-btn fcorfff " @click="settleAccount"> <view class="jiesuan-btn fcorfff " @click="settleAccount">
结算 结算
@ -103,7 +114,7 @@
import uniNumberBox from '@/uni_modules/uni-number-box/components/uni-number-box/uni-number-box.vue' import uniNumberBox from '@/uni_modules/uni-number-box/components/uni-number-box/uni-number-box.vue'
import { import {
getShoppingCartList, getShoppingCartList,
goodsAddNum, goodsEditNum,
deleteShoppingCart deleteShoppingCart
} from '@/Utils/physicalObject.js' } from '@/Utils/physicalObject.js'
@ -123,20 +134,24 @@
}, },
// //
swipe_options: [{ swipe_options: [
isCheck: false, {
text: "收藏", text: '删除',
icon: ' shoucang32 ', icon: ' delete ',
style: { style: {
backgroundColor: '#f6c133' backgroundColor: '#E64340'
} }
}, { },
text: '删除', // {
icon: ' delete ', // isCheck: false,
style: { // text: "",
backgroundColor: '#E64340' // icon: ' shoucang32 ',
} // style: {
}], // backgroundColor: '#f6c133'
// }
// },
],
swipe_item_index: null, swipe_item_index: null,
numberValue: 0, numberValue: 0,
cartList: [], cartList: [],
@ -154,8 +169,8 @@
"uni-number-box": uniNumberBox "uni-number-box": uniNumberBox
}, },
computed: { computed: {
//
priceAll() { priceAll() {
//
var str = 0; var str = 0;
for (var i = 0; i < this.cartList.length; i++) { for (var i = 0; i < this.cartList.length; i++) {
if (this.cartList[i].whetherCheck) { if (this.cartList[i].whetherCheck) {
@ -163,15 +178,22 @@
} }
} }
return str; return str;
},
//
priceOrigin(){
var str = 0;
for (var i = 0; i < this.cartList.length; i++) {
if (this.cartList[i].whetherCheck) {
str += this.cartList[i].num * this.cartList[i].originalPrice;
}
}
return str;
} }
}, },
onLoad() { onLoad() {
// this.cartList=[
// {id:111,name:"",isFailure:true,img:"https://d1.shopxo.vip/static/upload/images/goods/2019/01/14/1547451274847894.jpg",title:"insSP",price:20,num:1},
// {id:222,name:"",isFailure:false,img:"https://d1.shopxo.vip/static/upload/images/goods/2019/01/14/1547451274847894.jpg",title:"insSP",price:30,num:1},
// {id:333,name:"",isFailure:false,img:"https://d1.shopxo.vip/static/upload/images/goods/2019/01/14/1547451274847894.jpg",title:"insSP",price:20,num:1},
// {id:444,name:"",isFailure:false,img:"https://d1.shopxo.vip/static/upload/images/goods/2019/01/14/1547451274847894.jpg",title:"insSP",price:30,num:1},
// ]
// this.cartList.map(item=>{ // this.cartList.map(item=>{
// this.$set(item, 'checked', false); // this.$set(item, 'checked', false);
// }) // })
@ -187,7 +209,7 @@
console.log(res.return_data) console.log(res.return_data)
this.cartList = res.return_data; this.cartList = res.return_data;
this.allCheckInit(); this.allCheckInit();
} else { } else {
uni.showToast({ uni.showToast({
title: res.return_msg, title: res.return_msg,
@ -201,7 +223,7 @@
this.isEdit = !this.isEdit; this.isEdit = !this.isEdit;
if (!this.isEdit) { //退 if (!this.isEdit) { //退
this.cartList.map(item => { this.cartList.map(item => {
if (item.whetherCheck && item.isFailure) { if (item.whetherCheck && item.loseEfficacy) {
item.whetherCheck = false; item.whetherCheck = false;
} }
}) })
@ -220,8 +242,8 @@
this.allCheck.whetherCheck = !this.allCheck.whetherCheck; this.allCheck.whetherCheck = !this.allCheck.whetherCheck;
if (this.allCheck.whetherCheck) { if (this.allCheck.whetherCheck) {
this.cartList.map(item => { this.cartList.map(item => {
if (!this.isEdit) { // if (!this.isEdit) { //,loseEfficacyundefined
if (!item.isFailure) { if (!item.loseEfficacy) {
item.whetherCheck = true item.whetherCheck = true
} }
} else { // } else { //
@ -239,9 +261,9 @@
// //
checkClick(item) { checkClick(item) {
item.whetherCheck = !item.whetherCheck; item.whetherCheck = !item.whetherCheck;
if (!item.whetherCheck) { if (!item.whetherCheck) {
if (!this.isEdit && !item.isFailure) { // if (!this.isEdit && !item.loseEfficacy) { //
this.allCheck.whetherCheck = false; this.allCheck.whetherCheck = false;
} else if (this.isEdit) { } else if (this.isEdit) {
this.allCheck.whetherCheck = false; this.allCheck.whetherCheck = false;
@ -251,7 +273,7 @@
// // // //
// const goods = this.cartList.every(item => { // const goods = this.cartList.every(item => {
// if(!this.isEdit){// // if(!this.isEdit){//
// if(item.isFailure){ // if(item.loseEfficacy){
// return true; // return true;
// } // }
// } // }
@ -269,19 +291,19 @@
} }
}, },
allCheckInit() { allCheckInit() {
if(this.cartList.length == 0){ if (this.cartList.length == 0) {
this.allCheck.whetherCheck = false; this.allCheck.whetherCheck = false;
return return
} }
// //
const goods = this.cartList.every(item => { const goods = this.cartList.every(item => {
// if (!this.isEdit) { // if (!this.isEdit) { //
// if (item.isFailure) { if (item.loseEfficacy) {
// return true; return true;
// } }
// } }
return item.whetherCheck === true return item.whetherCheck === true
}) })
if (goods) { if (goods) {
@ -289,7 +311,7 @@
} else { } else {
this.allCheck.whetherCheck = false this.allCheck.whetherCheck = false
} }
// console.log(this.allCheck.whetherCheck,goods)
}, },
// //
@ -324,7 +346,7 @@
return return
} else { } else {
// console.log(select.join(), "id") // console.log(select.join(), "id")
let str=select.join(); let str = select.join();
this.noMoreLess(str) this.noMoreLess(str)
} }
@ -335,8 +357,12 @@
if (!this.isHaveGoods()) return; if (!this.isHaveGoods()) return;
if (this.priceAll > 0) { if (this.priceAll > 0) {
let selestArr = this.cartList.filter(item=>item.whetherCheck == true)
selestArr = JSON.stringify(selestArr)
// console.log(selestArr)
uni.navigateTo({ uni.navigateTo({
url: '/pages/settleAccounts/settleAccounts' url: '/pages/settleAccounts/settleAccounts?goodsList='+selestArr
}) })
} else { } else {
uni.showToast({ uni.showToast({
@ -348,10 +374,10 @@
}, },
// //
swipe_opt_event(e,id) { swipe_opt_event(e, id) {
console.log(e, "dianji") console.log(e, "dianji")
if (e.index == 0) { // if (e.index == 1) { //
// console.log(e.content.isCheck) // console.log(e.content.isCheck)
// e.content.isCheck=!e.content.isCheck // e.content.isCheck=!e.content.isCheck
@ -365,16 +391,11 @@
return return
} }
if (e.index == 1) { // if (e.index == 0) { //
this.noMoreLess(id + "")
this.noMoreLess(id+"")
// this.showAction = 'right';
return return
} }
}, },
// //
swipe_change(e, id) { swipe_change(e, id) {
@ -389,25 +410,27 @@
content: '确定把该商品移除购物车吗?', content: '确定把该商品移除购物车吗?',
success: function(res) { success: function(res) {
if (res.confirm) { if (res.confirm) {
console.log('用户点击确定,要删除的id',ids); console.log('用户点击确定,要删除的id', ids);
let params={ids:ids}; let params = {
deleteShoppingCart(params).then(res=>{ ids: ids
let title ; };
deleteShoppingCart(params).then(res => {
let title;
if (res.return_code == '000000') { if (res.return_code == '000000') {
title = res.return_data; title = res.return_data;
}else{ } else {
title = res.return_msg; title = res.return_msg;
} }
uni.showToast({ uni.showToast({
title: title, title: title,
icon: 'none', icon: 'none',
duration: 2000 duration: 2000
}) })
_this.initData(); _this.initData();
}) })
} else if (res.cancel) { } else if (res.cancel) {
console.log('用户点击取消'); console.log('用户点击取消');
@ -416,15 +439,16 @@
}); });
}, },
changeNumValue(v, id) { changeNumValue(v, id) {
// console.log(v,id) console.log(v,id)
// console.log(this.cartList) // console.log(this.cartList)
let params = { let params = {
id: id id: id,
num:v
} }
goodsAddNum(params).then(res => {
goodsEditNum(params).then(res => {
if (res.return_code == '000000') { if (res.return_code == '000000') {
uni.showToast({ uni.showToast({
title: res.return_data, title: res.return_data,
@ -432,12 +456,26 @@
duration: 2000 duration: 2000
}) })
} else { } else {
//
// this.cartList.map(item=>{
// if(item.id == id){
// item.num = 1;
// }
// })
//
this.initData();
uni.showToast({ uni.showToast({
title: res.return_msg, title: res.return_msg,
icon: 'none', icon: 'none',
duration: 2000 duration: 2000
}) })
} }
}) })
} }
@ -516,8 +554,13 @@
} }
.pont-event{
pointer-events: none;
}
// //
.isFailure { .loseEfficacy {
.cart-img { .cart-img {
position: relative; position: relative;

@ -34,7 +34,7 @@
<view class="goods-title"> <view class="goods-title">
<view class="goods-text">{{item.name}}</view> <view class="goods-text">{{item.name}}</view>
<!-- <view v-if="(item.simple_desc || null) != null" class="goods-desc">{{item.simple_desc}}</view> --> <!-- <view v-if="(item.simple_desc || null) != null" class="goods-desc">{{item.simple_desc}}</view> -->
<view class="goods-desc">{{item.listDescribe}}</view> <view class="goods-desc">{{item.listDescribe || ''}}</view>
</view> </view>
<view class="goods-item-bottom"> <view class="goods-item-bottom">
<view class="goods-price"> <view class="goods-price">
@ -93,7 +93,7 @@
<view class="goods-title"> <view class="goods-title">
<view class="goods-text">{{item.name}}</view> <view class="goods-text">{{item.name}}</view>
<!-- <view v-if="(item.simple_desc || null) != null" class="goods-desc">{{item.simple_desc}}</view> --> <!-- <view v-if="(item.simple_desc || null) != null" class="goods-desc">{{item.simple_desc}}</view> -->
<view class="goods-desc">{{item.listDescribe}}</view> <view class="goods-desc">{{item.listDescribe || ''}}</view>
</view> </view>
<view class="goods-item-bottom"> <view class="goods-item-bottom">
<view class="goods-price"> <view class="goods-price">

File diff suppressed because one or more lines are too long

@ -10,7 +10,7 @@
</block> </block>
<!-- 搜索列表 --> <!-- 搜索列表 -->
<view class="search-list"> <view class="search-list">
<goodsList typeList="goodsSearch" @loadData="loadData" :propData="data_list" :paddBottom="0"> <goodsList v-if="hackReset" typeList="goodsSearch" @loadData="loadData" :propData="data_list" :paddBottom="0">
</goodsList> </goodsList>
</view> </view>
@ -37,13 +37,20 @@
pageNum: 7, // pageNum: 7, //
navigateLastPage: 1, // navigateLastPage: 1, //
allData: 0 // allData: 0 //
} },
hackReset:false,
} }
}, },
components: { components: {
componentSearch, componentSearch,
goodsList goodsList
}, },
onShow(){
this.hackReset = false;
this.$nextTick(() => {
this.hackReset = true;
})
},
methods: { methods: {
// //
search_button_event(keywords) { search_button_event(keywords) {

@ -1,46 +0,0 @@
{
"id": "2",
"realstore_id": "0",
"realstore_goods_id": "0",
"shop_id": "1",
"shop_user_id": "1",
"shop_category_id": "1",
"shop_settle_price": "0.00",
"shop_settle_rate": "0.00",
"brand_id": "2",
"site_type": "-1",
"title": "苹果(Apple)iPhone 6 Plus (A1524)移动联通电信4G手机 金色 16G",
"title_color": "",
"simple_desc": "1.芯片功能强大 iPhone芯片的更新频率比友商少,但每次iPhone芯片更新时,都会成为关注和追赶的对象。",
"model": "iPhone 6 Plus",
"place_origin": "0",
"inventory": "7983",
"inventory_unit": "步",
"images": ["https://gw.alicdn.com/bao/uploaded/i2/2200817857369/O1CN013I5Mae24J3O6w9wOE_!!2-item_pic.png_300x300q90.jpg_.webp","https://d1.shopxo.vip/static/upload/images/goods/2019/01/14/1547451274847894.jpg"],
"original_price": "4500.00-6800.00",
"min_original_price": "4500.00",
"max_original_price": "6800.00",
"price": "4500.00-6800.00",
"min_price": "4500.00",
"max_price": "6800.00",
"give_integral": "30",
"buy_min_number": "1",
"buy_max_number": "0",
"is_deduction_inventory": "1",
"is_shelves": "1",
"content_web": "<p style=\"margin:0;\"><a href=\"https://store.shopxo.net/\" target=\"_blank\" title=\"进入指定页面&gt;&gt;\">进入指定页面&gt;&gt;</a></p><p style=\"margin:0;\"><video class=\"edui-faked-video video-js\" controls=\"\" preload=\"none\" width=\"420\" height=\"280\" src=\"https://d1.shopxo.vip/static/upload/video/goods/2019/01/14/1547458876723311.mp4\" data-setup=\"{}\"></video></p><p style=\"margin:0;\"><a href=\"https://shopxo.net/?q=test&u=hello你好!\" target=\"_blank\" title=\"打开一个a标签地址\"><strong><span style=\"font-size: 24px; color: rgb(255, 0, 0);\">打开一个a标签地址</span></strong></a><br/></p><p style=\"margin:0;\"><a href=\"/pages/plugins/blog/index/index\" target=\"_self\" title=\"进入博客页面\">进入博客</a></p><p style=\"margin:0;\"><img style=\"max-width:100%;height:auto;margin:0;padding:0;display:block;\" src=\"https://d1.shopxo.vip/static/upload/images/goods/2019/01/14/1547451595700972.jpg\" title=\"1547451595700972.jpg\"/></p><p style=\"margin:0;\"><img style=\"max-width:100%;height:auto;margin:0;padding:0;display:block;\" src=\"https://d1.shopxo.vip/static/upload/images/goods/2019/01/14/1547451595528800.jpg\" title=\"1547451595528800.jpg\"/></p><p style=\"margin:0;\"><img style=\"max-width:100%;height:auto;margin:0;padding:0;display:block;\" src=\"https://d1.shopxo.vip/static/upload/images/goods/2019/01/14/1547451595616298.jpg\" title=\"1547451595616298.jpg\"/></p><p style=\"margin:0;\"><br/></p>",
"photo_count": "2",
"sales_count": "266",
"access_count": "13333",
"is_exist_many_spec": "1",
"spec_base": "",
"plugins_membershiplevelvip_price_extends": "",
"seo_title": "",
"seo_keywords": "",
"seo_desc": "",
"is_delete_time": "0",
"add_time": "2019-01-14 15:40:24",
"upd_time": "2023-03-24 17:46:26"
}

File diff suppressed because it is too large Load Diff

@ -216,6 +216,7 @@
<script> <script>
import wuliuPopup from '@/components/wuliuPupup/wuliuPupup.vue' import wuliuPopup from '@/components/wuliuPupup/wuliuPupup.vue'
const app =getApp() const app =getApp()
import {getDetailByOrderNo} from '@/Utils/Api.js'
export default { export default {
data(){ data(){
return{ return{
@ -228,24 +229,61 @@
countdownm: '', // countdownm: '', //
countdowns:'',// countdowns:'',//
timers:null, timers:null,
recinfo:{ // recinfo:{
createTime:1680744355375, // createTime:1680744355375,
} // },
//
orderId:'',//id
recinfo: [],
} }
}, },
components:{ components:{
wuliuPopup wuliuPopup
}, },
onLoad(option) {
this.orderId = option.id
},
onUnload() {
clearInterval(this.timers);
},
onShow(){ onShow(){
// //
if(this.status == 0){ // if(this.status == 0){
this.timers = setInterval(() => { // this.timers = setInterval(() => {
this.showtime() // this.showtime()
}, 1000) // }, 1000)
} // }
//
this.getDetailByOrderNo();
}, },
methods:{ methods:{
//
getDetailByOrderNo() {
uni.showLoading({
title: '加载中...'
})
let params = {
orderNo: this.orderId,
}
getDetailByOrderNo(params).then(res => {
uni.hideLoading();
if (res.return_code == '000000') {
this.recinfo = res.return_data;
// if (res.return_data.productType == 6) {
// this.getOrderByOrderNo();
// }
if (res.return_data.orderStatus == 1) {
this.timers = setInterval(() => {
this.showtime()
}, 1000)
}
}
})
},
showtime() { showtime() {
var nowtime = (new Date()).getTime();// var nowtime = (new Date()).getTime();//
var endtime = this.recinfo.createTime + 600000; // 60000010 var endtime = this.recinfo.createTime + 600000; // 60000010

@ -55,7 +55,7 @@
props:{ //12 props:{ //12
orderType:{ orderType:{
type:Number, type:Number,
default:0, default:2,
} }
}, },

@ -2,106 +2,226 @@
<view class="backcor9 pay-syt pd-main"> <view class="backcor9 pay-syt pd-main">
<view class="fotct"> <view class="fotct">
<view class=""> <view class="">
¥<text class="font28 fontwig6">37.13</text> ¥<text class="font28 fontwig6">{{payPrice}}</text>
</view> </view>
<view class="fcor666 font14 paddtop10 paddbotm10"> <view class="fcor666 font14 paddtop10 paddbotm10">
支付剩余时间<text class="paddleft10">{{countdownm}}:{{countdowns}}</text> 支付剩余时间<text class="paddleft10">{{countdownm}}:{{countdowns}}</text>
</view> </view>
</view> </view>
<view class="content pd-main backcolorfff border-8r"> <view class="content pd-main backcolorfff border-8r">
<checkbox-group @change="changeCheckBox"> <!-- <radio-group @change="radioChange"> -->
<view class="dis-flex border-b pd15-v"> <view v-for="(item,index) in paytypeList" :key="index" class="">
<image class="pay-img paddtright10" src="../../../static/img/zfb.png" mode="aspectFit"></image>
<view class="flex-1 dis-flex flex-sp ">
<view class=""> <view class="dis-flex bor-b pd15-v" v-if="item == 4" @tap="paytype='4'">
<image class="pay-img paddtright10" src="../../../static/img/yl.png" mode="aspectFit"></image>
<view class="flex-1 dis-flex flex-sp ">
<view class=""> <view class="">
支付宝 <view class="">
</view> 银联
<view class="fcor666"> </view>
周五光大信用卡支付随机优惠 <!-- <view class="fcor666">
建行信用卡支付满40减16,先到先得
</view> -->
</view> </view>
<radio class="radio-ca" :checked="paytype=='4'" color="#FF1A34" />
</view> </view>
<checkbox class="mycheck" :value="1" color="#55B836" :checked="isCheck[0]" />
</view> </view>
</view> <view class="dis-flex bor-b pd15-v" v-if="item == 2" @tap="paytype='2'">
<view class="dis-flex border-b pd15-v"> <image class="pay-img paddtright10" src="../../../static/img/wechat.png" mode="aspectFit"></image>
<image class="pay-img paddtright10" src="../../../static/img/yl.png" mode="aspectFit"></image> <view class="flex-1 dis-flex flex-sp ">
<view class="flex-1 dis-flex flex-sp ">
<view class="">
<view class=""> <view class="">
银联云闪付 <view class="">
</view> 微信支付
<view class="fcor666"> </view>
建行信用卡支付满40减16,先到先得
</view> </view>
<radio class="radio-ca" :checked="paytype=='2'" color="#FF1A34" />
</view> </view>
<checkbox class="mycheck" :value="2" color="#55B836" :checked="isCheck[1]" />
</view> </view>
</view> <view class="dis-flex bor-b pd15-v" v-if="item == 3" @tap="paytype='3'">
<view class="dis-flex pd15-v"> <image class="pay-img paddtright10" src="../../../static/img/unioncard.png" mode="aspectFit">
<image class="pay-img paddtright10" src="../../../static/img/wechat.png" mode="aspectFit"></image> </image>
<view class="flex-1 dis-flex flex-sp "> <view class="flex-1 dis-flex flex-sp ">
<view class="">
<view class=""> <view class="">
微信支付 <view class="">
汇联通工会卡<text class="font14 fcor666 margle">余额: {{tongCardPrice}}</text>
</view>
</view> </view>
<radio class="radio-ca" :checked="paytype=='3'" @click="changeRiado()" color="#FF1A34" />
</view> </view>
<checkbox class="mycheck" :value="3" color="#55B836" :checked="isCheck[2]" />
</view> </view>
</view> </view>
</checkbox-group> <!-- </radio-group> -->
</view> </view>
<view class="btn-contain backcolorfff"> <view class="btn-contain backcolorfff">
<view class="btn-edit fotct fcorfff font18" @click="payMoney()">确认支付<text class="paddleft5">¥37.13</text></view> <view class="btn-edit fotct fcorfff font18" @click="payMoney()">确认支付<text class="paddleft5">¥{{payPrice}}</text>
</view>
</view> </view>
<ssPaymentPassword ref="paymentPassword" :mode="1" @submit="submitHandle" />
</view> </view>
</template> </template>
<script> <script>
import {
getThirdPartyByDetail,
findUser,
getHuiLianTongCardBalance,
wechatPay,
cardPay
} from '@/Utils/Api.js'
import ssPaymentPassword from '@/components/sanshui-payment-password/index.vue'
const app = getApp();
// #ifdef H5
var jweixin = require('jweixin-module');
// #endif
export default { export default {
data(){ data() {
return{ return {
isCheck:[false,false,false],
// //
countdownh: '', // countdownh: '', //
countdownm: '', // countdownm: '', //
countdowns:'',// countdowns: '', //
timers:null, timers: null,
recinfo:{ recinfo: {
createTime:1680774642959, createTime: 1680774642959,
}, },
//start
orderNo: '', //id 20230420145524695497
payPrice: '', //
paytypeList: [], //
tongCardPrice: 0, //
paytype: '', //
user: '', //
PaymentPassword: '',
} }
}, },
onShow(){ components: {
ssPaymentPassword
},
onShow() {
// //
// if(this.status == 0){ // if(this.status == 0){
this.timers = setInterval(() => { this.timers = setInterval(() => {
this.showtime() this.showtime()
}, 1000) }, 1000)
// } // }
this.findUser()
this.getThirdPartyByDetail()
},
onLoad(options) {
let obj =JSON.parse(options.obj)
this.orderNo = obj.orderNo;
this.recinfo.createTime = obj.createTime;
this.payPrice = obj.payPrice
}, },
methods:{ methods: {
//
findUser() {
let params;
findUser(params).then(res => {
if (res.return_code == '000000') {
app.globalData.userInfo = res.return_data;
this.user = res.return_data;
this.getHuiLianTongCardBalance(); //
uni.setStorage({
key: "user",
data: res.return_data
})
}
});
},
//radioChange
changeRiado() {
if (!this.user.setHltCard) {
uni.showToast({
icon: 'none',
title: '当前账号还未绑定,前往绑定',
duration: 2000,
success() {
setTimeout(() => {
uni.navigateTo({
url: '/pages/user/bindingCard/bindingCard'
})
}, 1000)
}
});
return;
}
},
//
getHuiLianTongCardBalance() {
if (this.user.setHltCard && this.user.hltCardNo && this.user.hltCardNo.cardNo) {
let params = {
cardNo: this.user.hltCardNo.cardNo
}
getHuiLianTongCardBalance(params).then(res => {
if (res.return_code == '000000') {
this.tongCardPrice = res.return_data.balance;
}
});
}
},
onUnload() {
clearInterval(this.timers);
},
//
getThirdPartyByDetail() {
// #ifdef H5
this.showType = 2;
// #endif
// #ifdef MP
this.showType = 1;
// #endif
let datas = {
platformId: this.showType,
"companyId": app.globalData.companyId,
productType: 10
}
getThirdPartyByDetail(datas).then(res => {
if (res.return_code == '000000') {
this.paytypeList = res.return_data.productPayType.split(',');
this.paytypeList = this.paytypeList.slice(0, this.paytypeList.length - 1);
console.log(this.paytypeList, "this.paytypeList1111111111111111111")
} else {
uni.showToast({
title: res.return_msg,
icon: 'none',
duration: 2000
})
}
});
},
// //
showtime() { showtime() {
var nowtime = (new Date()).getTime();// var nowtime = (new Date()).getTime(); //
var endtime = this.recinfo.createTime + 600000; // 60000010 var endtime = this.recinfo.createTime + 600000; // 60000010
var lefttime = endtime - nowtime; // var lefttime = endtime - nowtime; //
var leftd = Math.floor(lefttime / (1000 * 60 * 60 * 24)); // var leftd = Math.floor(lefttime / (1000 * 60 * 60 * 24)); //
var lefth = Math.floor((lefttime / (1000 * 60 * 60) % 24) + leftd * 24) < 10 ? "0" + Math.floor((lefttime / var lefth = Math.floor((lefttime / (1000 * 60 * 60) % 24) + leftd * 24) < 10 ? "0" + Math.floor((lefttime /
(1000 * 60 * 60) % 24) + leftd * 24) : Math.floor((lefttime / (1000 * 60 * 60) % 24) + leftd * (1000 * 60 * 60) % 24) + leftd * 24) : Math.floor((lefttime / (1000 * 60 * 60) % 24) + leftd *
24); // 24); //
var leftm = Math.floor(lefttime / (1000 * 60) % 60) < 10 ? "0" + Math.floor(lefttime / (1000 * 60) % 60) : var leftm = Math.floor(lefttime / (1000 * 60) % 60) < 10 ? "0" + Math.floor(lefttime / (1000 * 60) % 60) :
Math.floor(lefttime / (1000 * 60) % 60); // Math.floor(lefttime / (1000 * 60) % 60); //
var lefts = Math.floor(lefttime / 1000 % 60) < 10 ? "0" + Math.floor(lefttime / 1000 % 60) : Math.floor( var lefts = Math.floor(lefttime / 1000 % 60) < 10 ? "0" + Math.floor(lefttime / 1000 % 60) : Math.floor(
lefttime / 1000 % 60); // lefttime / 1000 % 60); //
this.countdownh = lefth; // this.countdownh = lefth; //
this.countdownm = leftm; // this.countdownm = leftm; //
this.countdowns = lefts; // this.countdowns = lefts; //
@ -110,100 +230,300 @@
clearInterval(this.timers); clearInterval(this.timers);
// this.getDetailByOrderNo(); // this.getDetailByOrderNo();
this.countdownh = this.countdownm = this.countdowns = "00"; this.countdownh = this.countdownm = this.countdowns = "00";
} }
}, },
//changeCheckBox //changeCheckBox
changeCheckBox(e){ // radioChange(e) {
if(e.detail.value.length>1){ // // this.yhqType = e.detail.value;
let val = e.detail.value[e.detail.value.length-1]
this.isCheck.map((item,index)=>{ // },
if(index-1 == val){
this.isCheck=[] //
} payMoney() {
}) // uni.reLaunch({
this.isCheck=[false,false,false]; // url: "/pages/classify/order/paymentResult?id=202304201646301166509"
this.isCheck[val-1]=true; // // url: '../../user/order_details/order_details?id=' +that.orderNo
}else if(e.detail.value.length==1){ // });
this.isCheck=[false,false,false];
this.isCheck[e.detail.value[0]-1]=true;
}else{
this.isCheck=[false,false,false];
}
// console.log(this.isCheck,e.detail.value) // return
//
}, let that = this;
if (that.paytype == '') {
payMoney(){ uni.showToast({
let isSelect=false; title: '请选择支付方式',
console.log(this.isCheck,"支付确认") icon: 'none',
this.isCheck.map((item,index)=>{ duration: 2000
if(item){ })
isSelect=true; return;
if(index == 0){ }
this.pay('zfb') if (that.paytype == '2') {
return // #ifdef H5
} let params = {
if(index == 1){ "orderNo": that.orderNo,
this.pay('yl') "openId": app.globalData.openId,
return "openIdType": 2
} }
if(index == 2){ // #endif
this.pay('wx') // #ifdef MP
return let params = {
"orderNo": that.orderNo,
"openId": app.globalData.openId,
"openIdType": 1
}
// #endif
wechatPay(params).then(res => {
if (res.return_code == '000000') {
// #ifdef MP
uni.showLoading({
title: '支付中...'
})
uni.requestPayment({
"appId": res.return_data.appId,
"nonceStr": res.return_data.nonceStr,
"package": res.return_data.package,
"paySign": res.return_data.sign,
"signType": "MD5",
"timeStamp": res.return_data.timeStamp,
success: function(res) {
uni.hideLoading();
uni.showToast({
title: '支付成功'
})
uni.reLaunch({
url: "/pages/classify/order/paymentResult?id=" + that
.orderNo
// url: '../../user/order_details/order_details?id=' +that.orderNo
});
},
fail: function(err) {
uni.hideLoading();
uni.navigateBack({})
},
});
// #endif
//
// #ifdef H5
//
that.payRequest(res);
// #endif
} else {
// that.cancel();
uni.showToast({
title: res.return_msg,
icon: 'none'
})
} }
})
} return;
}) }
//使
if (that.paytype == '3') {
if (!that.user.isSetPayPwd) {
uni.navigateTo({
url: '/pages/login/updatePas/updatePas'
// url: '../../login/updatePas/updatePas'
})
return;
}
if (!that.user.setHltCard) {
uni.showToast({
icon: 'none',
title: '当前账号还未绑定,前往绑定',
duration: 2000,
success() {
setTimeout(() => {
uni.navigateTo({
url: '/pages/user/bindingCard/bindingCard'
// url: '../../user/bindingCard/bindingCard'
})
}, 1000)
}
});
return;
}
that.$refs.paymentPassword.modalFun('show');
}
if(!isSelect){
},
payRequest: function(self) {
let that = this;
uni.showLoading({
title: '支付中...'
})
jweixin.config({
// debug: true, // ,apialertpclogpc
appId: self.return_data.appId, //
timestamp: self.return_data.timeStamp, //
nonceStr: self.return_data.nonceStr, //
signature: self.return_data.sign, // 1
jsApiList: ['chooseWXPay'] // 使JSJS2
});
uni.hideLoading();
jweixin.ready(function() {
jweixin.checkJsApi({
jsApiList: ['chooseWXPay'], // JSJS2,
success: function(res) {},
fail: function(res) {}
});
jweixin.chooseWXPay({
appId: self.return_data.appId,
timestamp: self.return_data
.timeStamp, // jssdk使timestamp使timeStampS
nonceStr: self.return_data.nonceStr, // 32
package: self.return_data
.package, // prepay_idprepay_id=***
signType: 'MD5', // 'SHA1'使'MD5'
paySign: self.return_data.sign, //
success: function(res) {
//
uni.showToast({
title: '支付成功'
})
uni.reLaunch({
url: "/pages/classify/order/paymentResult?id=" + that
.orderNo
// url: '../../user/order_details/order_details?id=' +that.orderNo
});
},
cancel: function(r) {
uni.navigateBack({})
},
fail: function(res) {
uni.navigateBack({})
},
complete: function(res) {
}
});
});
jweixin.error(function(res) {
uni.showToast({ uni.showToast({
title: '请选择支付方式', icon: 'none',
duration: 2000, title: '支付失败了',
icon:"error" duration: 4000
}); });
} // configerrorconfigdebugresSPA
/*alert("config信息验证失败");*/
});
}, },
pay(type){
uni.navigateTo({ //
url:"/pages/classify/order/paymentResult?type="+type submitHandle(e) {
this.PaymentPassword = e.value;
if (this.PaymentPassword == '') {
uni.showToast({
title: '请勿手动关闭弹窗',
icon: 'none',
duration: 2000
})
return;
}
uni.showLoading({
title: '支付中...'
}) })
}
}
let cardNo;
if (this.paytype == 3) {
cardNo = this.user.hltCardNo.cardNo;
}
let params = {
"orderNo": this.orderNo,
"cardNo": cardNo,
"password": this.PaymentPassword,
"carLicensePlate": ''
}
cardPay(params).then(res => {
uni.hideLoading();
if (res.return_code == '000000') {
uni.showToast({
title: '支付成功'
})
uni.reLaunch({
url: "/pages/classify/order/paymentResult?id=" + that.orderNo
// url: '../../user/order_details/order_details?id=' +this.orderNo
})
return;
}
// if (res.return_code == '102130') {
// // this.cancel();//
// uni.navigateTo({
// url: '../../login/updatePas/updatePas'
// })
// return;
// }
// if (res.return_code == '102132') {
// // this.cancel();
// uni.showToast({
// title: res.return_msg,
// icon: 'none'
// })
// return;
// }
uni.navigateBack({})
uni.showToast({
title: res.return_msg,
icon: 'none'
})
})
return;
},
// pay(type) {
// uni.navigateTo({
// url: "/pages/classify/order/paymentResult?type=" + type
// })
// }
}
} }
</script> </script>
<style scoped> <style lang="scss" scoped>
.pay-syt{ .bor-b {
height: 100vh; border-bottom: 1px solid #f6f6f6;
}
&:last-of-type {
.pay-img{ border-bottom: none;
width: 30px; }
height: 30px; }
}
.pay-syt {
.pd15-v{ height: 100vh;
padding: 15px 0; }
}
.pay-img {
.btn-contain{ width: 30px;
position: fixed; height: 30px;
bottom: 0; }
left: 0;
right: 0; .pd15-v {
padding: 15px 0;
}
.btn-contain {
position: fixed;
bottom: 0;
left: 0;
right: 0;
padding: 10px; padding: 10px;
box-sizing: border-box; box-sizing: border-box;
} }
.btn-edit{ .btn-edit {
height: 40px; height: 40px;
border-radius: 20px; border-radius: 20px;
line-height: 40px; line-height: 40px;
background-color: #EA3E44; background-color: #EA3E44;
} }
</style> </style>

@ -3,22 +3,22 @@
<view class="top-con font18"> <view class="top-con font18">
<view class="colorgr icon-ymt zhenque font22"></view> <view class="colorgr icon-ymt zhenque font22"></view>
<view class="mart5">支付成功</view> <view class="mart5">支付成功</view>
<view class="mart5">¥<text class="fontwig6 font24">32.9</text></view> <view class="mart5">¥<text class="fontwig6 font24">{{recinfo.payablePrice}}</text></view>
<view class="mart5 font16 color999">微信支付</view> <view class="mart5 font16 color999">{{ recinfo.payType | filtersType}}支付</view>
</view> </view>
<view class="min-con color999 font18"> <!-- <view class="min-con color999 font18">
<view class=""> <view class="">
订单签收后奖励 订单签收后奖励
</view> </view>
<view class=""> <view class="">
26积分 26积分
</view> </view>
</view> </view> -->
<view class="bottom-con"> <view class="bottom-con">
<view class="btn1 btn"> <view class="btn1 btn" @click="orderDetail">
查看订单 查看订单
</view> </view>
<view class="btn2 btn"> <view class="btn2 btn" @click="yaoqin">
邀请有礼 邀请有礼
</view> </view>
</view> </view>
@ -26,20 +26,72 @@
</template> </template>
<script> <script>
import { getDetailByOrderNo } from '@/Utils/Api.js'
export default { export default {
data(){ data(){
return{ return{
payType:'', orderId:'',
recinfo:{},
} }
}, },
onLoad(option){ onLoad(option){
this.payType=option.type this.orderId=option.id
console.log(option) console.log(option)
}, },
onShow(){
this.getDetailByOrderNo()
},
filters:{
filtersType(v){
if(v == 1){
return "支付宝"
}
if(v == 2){
return "微信"
}
if(v == 3){
return "金币"
}
if(v == 4){
return "汇联通工会卡"
}
if(v == 5){
return "银联"
}
return ''
}
},
methods:{ methods:{
//
getDetailByOrderNo() {
uni.showLoading({
title: '加载中...'
})
let params = {
orderNo: this.orderId,
}
getDetailByOrderNo(params).then(res => {
uni.hideLoading();
if (res.return_code == '000000') {
this.recinfo = res.return_data;
}
})
},
orderDetail(){
uni.reLaunch({
url:"/pages/user/order_list/order_list"
})
},
yaoqin(){
uni.navigateTo({
url:"/pages/user/generatePoster/generatePoster"
})
}
} }
} }
</script> </script>

@ -1,274 +1,365 @@
<template> <template>
<!-- 选择类别 --> <!-- 选择类别 -->
<wybPopup ref="popup" @hide="hide" type="bottom" width="500" scrollY="true" radius="0" :showCloseIcon="true"> <wybPopup ref="popup" @hide="hide" type="bottom" width="500" scrollY="true" radius="0" :showCloseIcon="true">
<!-- 货品 --> <!-- 货品 -->
<view v-if="keywords == 'goods'" class="pop-contain pd-main"> <view v-if="keywords == 'goods'" class="pop-contain pd-main">
<view class="pop-title fontwig6"><text>商品列表</text></view> <view class="pop-title fontwig6"><text>商品列表</text></view>
<view class="pop-content"> <view class="pop-content">
<view class="flex-row bottom-border pd15"> <view class="flex-row bottom-border pd15">
<view class=""> <view class="">
即时达 数量
</view>
<view class="">
共16件
</view>
</view> </view>
<!-- 遍历商品 --> <view class="">
<view v-for="item in [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]" class="goods-pop bottom-border pd15"> {{getNumberAll}}
<view class=""> </view>
<image class="st-img" :src="images" mode="aspectFill"></image> </view>
<!-- 遍历商品 -->
<view v-for="(item,index) in goodsList" :key="index" class="goods-pop bottom-border pd15">
<view class="">
<image class="st-img" v-if="item.img" :src="imageUrl + item.img" mode="aspectFill"></image>
</view>
<view class="goods-flex1">
<view class="marb10 font16">
{{item.title}}
</view> </view>
<view class="goods-flex1"> <view class="flex-row">
<view class="marb10 font16"> <view class="dis-flex">
天友原味减糖活性乳酸菌饮品 300ml
</view>
<view class="flex-row">
<view class="fcorred"> <view class="fcorred">
¥5.2 ¥{{item.price}}
</view> </view>
<view class="fcor666"> <view class="text-lt fcor666 margle10">
×1 ¥{{item.originalPrice}}
</view> </view>
</view> </view>
<view class="fcor666">
×{{item.num}}
</view>
</view> </view>
</view> </view>
</view> </view>
</view> </view>
<!-- 运费 --> </view>
<view v-if="keywords == 'freight'" class="pop-contain pd-main"> <!-- 运费 -->
<view class="pop-title fontwig6"><text>运费说明</text></view> <view v-if="keywords == 'freight'" class="pop-contain pd-main">
<view class="pop-content"> <view class="pop-title fontwig6"><text>运费说明</text></view>
<view class="flex-row pd10"> <view class="pop-content">
<view class="font16"> <view class="flex-row pd10">
运费总计 <view class="font16">
</view> 运费总计
<view class="">
¥0
</view>
</view> </view>
<view class="flex-row font14 color999 marb5"> <view class="">
<view class=""> ¥{{postPriceAll}}
<text class="font20 paddtright5">·</text>运费
</view>
<view class="">
¥6
</view>
</view>
<view class="flex-row font14 color999">
<view class="">
<text class="font20 paddtright5">·</text>运费优惠
</view>
<view class="">
-¥6
</view>
</view> </view>
<view class="pd10"> </view>
<view class="font15"> <view class="flex-row font14 color999 marb5">
基础运费 <view class="">
</view> <text class="font20 paddtright5">·</text>运费
</view> </view>
<view class="font14 color999 marb5"> <view class="">
基础运费6元 ¥{{postPrice.freightPrice}}
</view> </view>
<view class="font14 color999 marb5"> </view>
不同城市地区之间收费规则会略有不同 <view class="flex-row font14 color999">
<view class="">
<text class="font20 paddtright5">·</text>运费优惠
</view> </view>
<view class="font14 color999 marb5"> <view class="fcorred">
运费优惠仅针对基础运费部分进行抵扣; 商品金额满{{postPrice.freePostPrice}}元包邮
</view> </view>
</view> </view>
<view class="font16 color999 mart10">
不同城市地区之间收费规则会略有不同
</view>
</view> </view>
<!-- 积分 --> </view>
<view v-if="keywords == 'integral'" class="pop-contain pd-main"> <!-- 积分 -->
<view v-if="keywords == 'integral'" class="pop-contain pd-main">
<view class="pop-title fontwig6"><text>积分说明</text></view>
<view class="pop-content"> <view class="pop-title fontwig6"><text>积分说明</text></view>
<view class="flex-row pd10"> <view class="pop-content">
<view class="font16"> <view class="flex-row pd10">
运费总计 <view class="font16">
</view> 运费总计
<view class="">
¥0
</view>
</view> </view>
<view class="flex-row font14 color999 marb5"> <view class="">
<view class=""> ¥0
<text class="font20 paddtright5">·</text>运费
</view>
<view class="">
¥6
</view>
</view> </view>
<view class="flex-row font14 color999"> </view>
<view class=""> <view class="flex-row font14 color999 marb5">
<text class="font20 paddtright5">·</text>运费优惠 <view class="">
</view> <text class="font20 paddtright5">·</text>运费
<view class="">
-¥6
</view>
</view> </view>
<view class="pd10"> <view class="">
<view class="font15"> ¥6
基础运费
</view>
</view> </view>
<view class="font14 color999 marb5"> </view>
基础运费6元 <view class="flex-row font14 color999">
<view class="">
<text class="font20 paddtright5">·</text>运费优惠
</view> </view>
<view class="font14 color999 marb5"> <view class="">
不同城市地区之间收费规则会略有不同 -¥6
</view> </view>
<view class="font14 color999 marb5"> </view>
运费优惠仅针对基础运费部分进行抵扣; <view class="pd10">
<view class="font15">
基础运费
</view> </view>
</view> </view>
<view class="font14 color999 marb5">
基础运费6元
</view>
<view class="font14 color999 marb5">
不同城市地区之间收费规则会略有不同
</view>
<view class="font14 color999 marb5">
运费优惠仅针对基础运费部分进行抵扣;
</view>
</view> </view>
</view>
<!-- 优惠券 -->
<view v-if="keywords == 'coupon'" class="backcor9 height100 pop-contain pd-main"> <!-- 优惠券 -->
<view class="pop-title fontwig6"><text>选择优惠券</text></view> <view v-if="keywords == 'coupon'" class="backcor9 pop-contain pd-main">
<view class="pop-title fontwig6"><text>选择优惠券</text></view>
<view @click="noUse" class="fcor666 fotct pd-main mart10 border-8r backcolorfff"> <radio-group @change="radioChange" >
不使用优惠券 <view class="dis-flex flex-sp fcor666 pd-main mart10 border-8r backcolorfff">
<view class="">
不使用优惠券
</view>
<view class="">
<radio class="radio-ca" :checked="yhqType == 0" :value="0" color="#FF1A34" />
</view>
</view> </view>
<radio-group @change="radioChange">
<view v-for="(item,index) in yhqId" :key="item" class="dis-flex flex-sp pd-main mart10 border-8r backcolorfff"> <view v-for="(item,index) in discountList" :key="index" class="pd-main mart10 border-8r backcolorfff" style="box-sizing: border-box;">
<view class="wid25 fotct paddtright5 right-border"> <view class="dis-flex flex-sp ">
<view class="fotred font20 fontwig6"> <view class="wid25 fotct paddtright5 right-border">
8.8折券 <view class="fotred font20 fontwig6">
</view> <image class="st-img" v-if="item.discountImg" :src="imageUrl+item.discountImg" mode="aspectFill">
<view class="font13 mart5 fcor666"> </image>
最高抵10元 </view>
</view> </view>
</view> <view class="flex-1 paddleft5">
<view class="flex-1 paddleft5"> <view :class="' font14 '+item.discountCondition<=totalPrice?' ':' fcor666 '">
<view class="font14"> {{item.discountName}}
新人专享全品类可用(特殊商品除外) </view>
<view class="font13 mart5 fcor666">
截止时间:{{item.useEndTime | formatDate }}
</view>
</view> </view>
<view class="font13 mart5 fcor666"> <view class="" v-if="item.discountCondition<=totalPrice">
2023.03.27-2023.04.10
<radio class="radio-ca" :checked="yhqType == item.id" :value="item.id" color="#FF1A34" />
</view> </view>
</view> </view>
<view class=""> <view v-if="item.discountCondition>totalPrice&&item.discountType == 1" class="paddtop10 mart10 border-t font14">
<radio class="radio-ca" :checked="yhqType == item" :value="item" color="#FF1A34" /> <view class="fotred fontwig6 ">不可用原因</view>
<view class="fcor666">
使用门槛为{{item.discountCondition}}还差{{item.discountCondition-totalPrice}}元才能使用
</view>
</view> </view>
</view> </view>
</radio-group>
</view> </radio-group>
</wybPopup> </view>
</wybPopup>
</template> </template>
<script> <script>
import wybPopup from '@/components/wyb-popup/wyb-popup.vue' import wybPopup from '@/components/wyb-popup/wyb-popup.vue'
const app = getApp();
export default { export default {
data(){ data() {
return{ return {
images:"https://d1.shopxo.vip/static/upload/images/goods/2019/01/14/1547451274847894.jpg", imageUrl: app.globalData.imgUrl, //
keywords:'', keywords: '',
yhqType:111, //
yhqId:[
111,222,333,444 // yhqId: [
], // 111, 222, 333, 444
// ],
//
goodsList: [],//
imageUrl: app.globalData.imgUrl, //
postPrice: null, //
discountList:[],//
totalPrice:0,//
yhqType: 0,//id
} }
}, },
components:{ filters:{
formatDate(value, spe = '/') {
let data = new Date(value);
let year = data.getFullYear();
let month = data.getMonth() + 1;
let day = data.getDate();
let h = data.getHours();
let mm = data.getMinutes();
let s = data.getSeconds();
month = month >= 10 ? month : "0" + month;
day = day >= 10 ? day : "0" + day;
h = h >= 10 ? h : "0" + h;
mm = mm >= 10 ? mm : "0" + mm;
s = s >= 10 ? s : "0" + s;
return `${year}${spe}${month}${spe}${day} ${h}:${mm}:${s}`;
},
},
computed: {
getNumberAll() {
if (this.goodsList.length > 0) {
let num = 0;
this.goodsList.map(item => {
num += Number(item.num);
})
return num;
} else {
return 0
}
},
//
postPriceAll() {
if (this.postPrice) {
if (this.postPrice.totalPrice >= this.postPrice.freePostPrice) {
return 0
} else {
return this.postPrice.freightPrice;
}
} else {
return 0;
}
},
},
components: {
wybPopup wybPopup
}, },
methods:{ methods: {
// //goods freight,integral,coupon // //goods freight,integral,coupon
show(str){ show(str, data) {
this.goodsList = [];
this.postPrice = null;
this.discountList = [];
this.totalPrice = 0;
this.keywords = str; this.keywords = str;
if (str == 'goods') {
this.goodsList = data;
} else if (str == 'freight') {
this.postPrice = data;
console.log(this.postPrice, "obj")
}else if(str == 'coupon'){
this.discountList =data.discountList//
this.totalPrice =data.totalPrice //
}
this.$refs.popup.show(); this.$refs.popup.show();
}, },
radioChange(e){ radioChange(e) {
this.yhqType = e.detail.value; this.yhqType = e.detail.value;
console.log(this.yhqType) this.$refs.popup.close()
}, },
hide(){ //
console.log(this.yhqType) hide() {
this.$emit('selectYhq',this.yhqType)
}, },
noUse(){ // noUse() {
this.yhqType = 0 // this.yhqType = 0
this.$refs.popup.close(); // this.$refs.popup.close();
} // }
} }
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.flex-row{ .flex-row {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
}
.bottom-border{
border-bottom: 1px solid #f6f6f6;
&:last-of-type{
border-bottom: none;
} }
}
.right-border{ .bottom-border {
border-right: 1px dotted #EEEEEE; border-bottom: 1px solid #f6f6f6;
}
.pd10{ &:last-of-type {
padding: 10px 0; border-bottom: none;
} }
.pd15{ }
padding: 15px 0;
}
.fotred{ .right-border {
color: #FF1A34; border-right: 1px dotted #EEEEEE;
}
.pop-contain{
// text-align: center;
padding-top: 50px;
.pop-title{
text-align: center;
height: 50px;
line-height: 50px;
font-size: 18px;
position: fixed;
z-index:10;
top:0;
left: 0;
right: 0;
background-color: #ffffff;
} }
}
// .pd10 {
.goods-pop{ padding: 10px 0;
display: flex;
align-items: center;
.st-img{
width: 82px;
height: 82px;
} }
.goods-flex1{
flex: 1; .pd15 {
padding: 0 20rpx; padding: 15px 0;
text-align: left;
} }
}
.fotred {
color: #FF1A34;
}
.pop-contain {
// text-align: center;
padding-top: 50px;
.pop-title {
text-align: center;
height: 50px;
line-height: 50px;
font-size: 18px;
position: fixed;
z-index: 10;
top: 0;
left: 0;
right: 0;
background-color: #ffffff;
}
}
//
.goods-pop {
display: flex;
align-items: center;
//
.radio-ca{
// width: 20rpx; .goods-flex1 {
// height: 20rpx; flex: 1;
} padding: 0 20rpx;
text-align: left;
}
}
</style> .st-img {
width: 82px;
height: 82px;
}
//
.radio-ca {
// width: 20rpx;
// height: 20rpx;
}
</style>

File diff suppressed because it is too large Load Diff

@ -130,6 +130,7 @@
}, },
onShow(){ onShow(){
console.log("121212")
this.hackReset = false; this.hackReset = false;
this.$nextTick(() => { this.$nextTick(() => {
this.hackReset = true; this.hackReset = true;
@ -232,7 +233,7 @@
pageSize:_this.pageData.pageNum, pageSize:_this.pageData.pageNum,
price:price, price:price,
} }
console.log(params,"params") // console.log(params,"params")
getListGoodsDetail(params).then(res=>{ getListGoodsDetail(params).then(res=>{
if (res.return_code == '000000') { if (res.return_code == '000000') {
if(res.return_data.list.length > 0){ if(res.return_data.list.length > 0){

@ -103,77 +103,7 @@
<!-- start --> <!-- start -->
<view class="row" v-for="(row,index) in orderList" :key="index"
@click="jumpDetails(row.orderNo,row.productType)">
<view class="width96 mart10 alijusstart">
<view class="width70">
<!-- edit -->
<view class="orderlabel" v-if="false">{{orderTyplist | msgFormat(row.productType)}}</view>
<view class="unread" v-if="row.orderStatus == 3 && !row.whetherCheck"></view>
</view>
<view class="width30 fotrt fcor666 font12">
{{typeText[row.orderStatus]}}
</view>
</view>
<view class="width96 mart10">
<!-- <view class="width70 flleft fotlt ">
<view class="font16 fontwig6 fcor333 alijusstart">
<image mode="widthFix" src="../../../static/img/order2.png" v-if="row.productType == 4"
class="marglerig" style="width: 50rpx;height: 50rpx;"></image>
<image mode="widthFix" src="../../../static/img/order3.png" v-if="row.productType == 3"
class="marglerig" style="width: 50rpx;height: 50rpx;"></image>
<image mode="widthFix" src="../../../static/img/order4.png" v-if="row.productType == 6"
class="marglerig" style="width: 50rpx;height: 50rpx;"></image>
<image mode="widthFix" src="../../../static/img/order5.png" v-if="row.productType == 5"
class="marglerig" style="width: 50rpx;height: 50rpx;"></image>
<image mode="widthFix" src="../../../static/img/order6.png" v-if="row.productType == 9"
class="marglerig" style="width: 50rpx;height: 50rpx;"></image>
<image mode="widthFix" src="../../../static/img/order8.png" v-if="row.productType == 7"
class="marglerig" style="width: 50rpx;height: 50rpx;"></image>
<image mode="widthFix" src="../../../static/img/order7.png" v-if="row.productType == 1"
class="marglerig" style="width: 50rpx;height: 50rpx;"></image>
<image mode="widthFix" src="../../../static/img/unioncard.png" v-if="row.productType == 8"
class="marglerig" style="width: 50rpx;height: 50rpx;"></image>
<image mode="widthFix" src="../../../static/img/order9.png" v-if="row.productType == 2"
class="marglerig" style="width: 50rpx;height: 50rpx;"></image>
<view class="width100 text1">{{row.title}}</view>
</view>
</view>
<view class="width30 flright fotrt fcor666 font15 fotrt">
<view class="font14 fcor333">
x1
</view>
</view> -->
<orderList :orderType="1"></orderList>
</view>
<view class="width96 mart10 font12 fcor999">
订单编号:{{row.orderNo}}
</view>
<view class="width96 height25 paddbotm10 alijusstart">
<view class="width60 fotlt ">
<view class="font12 text1 fcor999 mart5">
下单时间 : {{row.createTime | formatDate('-')}}
</view>
</view>
<view class="width40 fotrt fcor666 font15 fotrt alijusend">
<view class="font12 width25 fcor999">合计:</view>
<view class="fotlt text1 font18 fcor333 ">
{{row.payPrice}}
</view>
</view>
</view>
<view class="width96 mart10 marb5" style="border:1px dashed #f4f4f4;" v-if="(row.orderStatus==1)">
</view>
<view class="btns" v-if="(row.orderStatus==1)">
<block>
<view class="default" @click.stop="cancel(row.orderNo)">
取消订单
</view>
<view class="pay" @click.stop="toPayment(row)">立即支付</view>
</block>
</view>
</view>
<!-- end --> <!-- end -->
@ -349,6 +279,14 @@
}) })
return; return;
} }
//
if(item == 12){
uni.navigateTo({
url: '/pages/classify/order/orderDetail?id='+e
})
return;
}
uni.navigateTo({ uni.navigateTo({
url: '../order_details/order_details?id=' + e url: '../order_details/order_details?id=' + e
}) })

@ -962,7 +962,15 @@ $uni-font-size-paragraph:30upx;
.border-b{ .border-b{
border-bottom: 1px solid #f6f6f6; border-bottom: 1px solid #f6f6f6;
} }
.border-t{
border-top: 1px solid #f6f6f6;
}
// 盒模型 // 盒模型
.border-box{ .border-box{
box-sizing: border-box; box-sizing: border-box;
} }
//text
.text-lt{
text-decoration: line-through;
}
Loading…
Cancel
Save