Compare commits
14 Commits
Author | SHA1 | Date |
---|---|---|
mkm | d404316141 | |
mkm | cf972be23f | |
mkm | 3bb57fb887 | |
mkm | b8806a4cad | |
mkm | 0956a9dbd5 | |
mkm | eae6bf36da | |
mkm | 742402180b | |
mkm | e665c4ced7 | |
mkm | d4e222e0b6 | |
mkm | 6b68c8f916 | |
mkm | 3dd2ed5777 | |
mkm | d7255d9690 | |
mkm | 937730558c | |
mkm | b11e4aa681 |
|
@ -21,7 +21,12 @@ export const cartListApi = (data) => {
|
||||||
noAuth: true
|
noAuth: true
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
//购物车-批发列表
|
||||||
|
export const cartWholesaleListApi = (data) => {
|
||||||
|
return request.get('/order/cart/wholesale_lists', data, {
|
||||||
|
noAuth: true
|
||||||
|
});
|
||||||
|
}
|
||||||
//购物车-常买记录
|
//购物车-常买记录
|
||||||
export const frequentlyPurchaseApi = (data) => {
|
export const frequentlyPurchaseApi = (data) => {
|
||||||
return request.get('/order/order/frequently_purchase', data);
|
return request.get('/order/order/frequently_purchase', data);
|
||||||
|
|
|
@ -10,4 +10,11 @@ export const goodClassListApi = (data) => {
|
||||||
|
|
||||||
export const storeProductListApi = (data) => {
|
export const storeProductListApi = (data) => {
|
||||||
return request.get('/product/product/store_lists', data);
|
return request.get('/product/product/store_lists', data);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批发商品列表
|
||||||
|
*/
|
||||||
|
export const storeProductWholesaleListApi = (data) => {
|
||||||
|
return request.get('/product/product/wholesale_lists', data);
|
||||||
}
|
}
|
|
@ -9,6 +9,10 @@ export const createOrderApi = (data) => {
|
||||||
export const orderListApi = (data) => {
|
export const orderListApi = (data) => {
|
||||||
return request.get('/order/order/order_list', data);
|
return request.get('/order/order/order_list', data);
|
||||||
}
|
}
|
||||||
|
//门店订单列表
|
||||||
|
export const storeOrderListApi = (data) => {
|
||||||
|
return request.get('/order/order/store_order_list', data);
|
||||||
|
}
|
||||||
|
|
||||||
//订单详情
|
//订单详情
|
||||||
export const orderDetailApi = (data) => {
|
export const orderDetailApi = (data) => {
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
import request from '@/utils/request';
|
||||||
|
|
||||||
|
export const purchaseProductOfferLists = (data) => {
|
||||||
|
return request.get('/purchase_product_offer/purchaseproductoffer/lists', data);
|
||||||
|
}
|
||||||
|
//报价单提交
|
||||||
|
export const purchaseProductOfferUpdate = (data) => {
|
||||||
|
return request.post('/purchase_product_offer/purchaseproductoffer/offer_update', data);
|
||||||
|
}
|
|
@ -184,4 +184,10 @@ export const CashApplicationApi = (data) => {
|
||||||
*/
|
*/
|
||||||
export const getCashRecordApi = (data) => {
|
export const getCashRecordApi = (data) => {
|
||||||
return request.get('/user/User/cash_record', data);
|
return request.get('/user/User/cash_record', data);
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* 提交身份证
|
||||||
|
*/
|
||||||
|
export const UpdateIdCardApi = (data) => {
|
||||||
|
return request.post('/user/User/update_id_card', data);
|
||||||
}
|
}
|
|
@ -6,38 +6,36 @@
|
||||||
</view>
|
</view>
|
||||||
<view class="row">
|
<view class="row">
|
||||||
<view>商品名称</view>
|
<view>商品名称</view>
|
||||||
<view>{{ datas.name || datas.goods_name || datas.store_name }}</view>
|
<view>{{ datas.sku_name}}</view>
|
||||||
</view>
|
|
||||||
<view class="row" v-if="datas.store_info">
|
|
||||||
<view>商品规格</view>
|
|
||||||
<view>{{ datas.store_info}}</view>
|
|
||||||
</view>
|
|
||||||
<view class="row">
|
|
||||||
<view>商品单位</view>
|
|
||||||
<view>{{ datas.unit_name }}</view>
|
|
||||||
</view>
|
|
||||||
<view class="row">
|
|
||||||
<view>商品价格</view>
|
|
||||||
<view>¥ {{priceKey.off_activity==1? datas[priceKey.price]: datas[priceKey.op_price] }} /
|
|
||||||
{{ datas.unit_name }}
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
<view class="row" v-if="datas.batch > 0">
|
|
||||||
<view>起批量</view>
|
|
||||||
<view>{{ datas.batch }}{{ datas.unit_name }}起批 </view>
|
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="row">
|
<view style="border-bottom: 1rpx solid #f6f6f6;margin-bottom: 0.625rem;padding-bottom: 0.625rem;">
|
||||||
<view>小计</view>
|
|
||||||
<view style="color: #F55726;" v-if="+datas.cart_num < +datas.batch">
|
<view class="u-page__tag-item" v-for="(item, index) in attr_value" :key="index">
|
||||||
{{ `${datas.batch}${datas.unit_name}起批` }}
|
<up-tag :text="item.sku_name" :plain="checkedProduct!=index" type="success" :name="index"
|
||||||
</view>
|
@click="radioClick" size="large">
|
||||||
<view style="color: #F55726;" v-else>¥ {{ subtotal }}</view>
|
</up-tag>
|
||||||
</view>
|
</view>
|
||||||
|
</view>
|
||||||
|
<!-- <view class="row">
|
||||||
|
<view>商品价格</view>
|
||||||
|
<view>¥ {{price}}/
|
||||||
|
</view>
|
||||||
|
</view> -->
|
||||||
|
<!-- <view class="row" v-if="datas.batch > 0">
|
||||||
|
<view>起批量</view>
|
||||||
|
<view>{{ datas.batch }}{{ datas.unit_name }}起批 </view>
|
||||||
|
</view> -->
|
||||||
<view v-if="datas.is_bulk" class="row" style="height: 100rpx;">
|
<view v-if="datas.is_bulk" class="row" style="height: 100rpx;">
|
||||||
<view>购买重量<text style="color: #F55726;">*</text></view>
|
<view>购买重量<text style="color: #F55726;">*</text></view>
|
||||||
<view style="justify-content: end;">
|
<view style="justify-content: end;">
|
||||||
<up-number-box :min="0" v-model="datas.cart_num" @change="valChange"></up-number-box>
|
<up-input type="digit" placeholder="请输入重量" border="surround" v-model="datas.cart_num"
|
||||||
|
@change="valChange" style="width: 100rpx;">
|
||||||
|
<!-- <template #suffix>
|
||||||
|
<span>{{ datas.unit_name }}</span>
|
||||||
|
</template> -->
|
||||||
|
</up-input>
|
||||||
|
<!-- <up-number-box :min="0.1" :step="0.1" v-model="datas.cart_num" @change="valChange"></up-number-box> -->
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view v-else class="row" style="height: 100rpx;">
|
<view v-else class="row" style="height: 100rpx;">
|
||||||
|
@ -46,6 +44,13 @@
|
||||||
<up-number-box :min="0" v-model="datas.cart_num" @change="valChange"></up-number-box>
|
<up-number-box :min="0" v-model="datas.cart_num" @change="valChange"></up-number-box>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
<view class="row">
|
||||||
|
<view>小计</view>
|
||||||
|
<view style="color: #F55726;" v-if="+datas.cart_num < +datas.batch">
|
||||||
|
{{ `${datas.batch}${datas.unit_name}起批` }}
|
||||||
|
</view>
|
||||||
|
<view style="color: #F55726;" v-else>¥ {{ subtotal }}</view>
|
||||||
|
</view>
|
||||||
<view class="row" style="padding-top: 30px;padding-bottom: 30rpx;">
|
<view class="row" style="padding-top: 30px;padding-bottom: 30rpx;">
|
||||||
<view style="width: 30%;margin-right: 30rpx;">
|
<view style="width: 30%;margin-right: 30rpx;">
|
||||||
<up-button @click="close" color="#f7f7f7"><text style="color: #333;">取消</text></up-button>
|
<up-button @click="close" color="#f7f7f7"><text style="color: #333;">取消</text></up-button>
|
||||||
|
@ -66,6 +71,8 @@
|
||||||
} from "vue"
|
} from "vue"
|
||||||
|
|
||||||
const foucs1 = ref(null)
|
const foucs1 = ref(null)
|
||||||
|
const checkedProduct = ref(0)
|
||||||
|
const price = ref(0)
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
show: {
|
show: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
|
@ -78,17 +85,22 @@
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
||||||
const valChange = () => {
|
const valChange = (e) => {
|
||||||
uni.vibrateShort();
|
uni.vibrateShort();
|
||||||
}
|
}
|
||||||
|
|
||||||
const datas = ref({
|
const datas = ref({
|
||||||
cart_num: ''
|
cart_num: ''
|
||||||
});
|
});
|
||||||
|
const attr_value = ref({});
|
||||||
const setData = (e) => {
|
const setData = (e) => {
|
||||||
datas.value = e;
|
datas.value = e.attr_value[0]
|
||||||
if (Number(e.batch) > 0) datas.value.cart_num = e.batch;
|
attr_value.value = e.attr_value
|
||||||
else datas.value.cart_num = 1;
|
if (Number(e.attr_value[0].batch) > 0) {
|
||||||
|
datas.value.cart_num = e.attr_value[0].batch;
|
||||||
|
} else {
|
||||||
|
datas.value.cart_num = 1;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -96,7 +108,15 @@
|
||||||
const close = () => {
|
const close = () => {
|
||||||
emit('close');
|
emit('close');
|
||||||
}
|
}
|
||||||
|
const radioClick = (key) => {
|
||||||
|
checkedProduct.value = key
|
||||||
|
datas.value = attr_value.value[key]
|
||||||
|
if (Number(datas.value.batch) > 0) {
|
||||||
|
datas.value.cart_num = datas.value.batch;
|
||||||
|
} else {
|
||||||
|
datas.value.cart_num = 1;
|
||||||
|
}
|
||||||
|
};
|
||||||
const change = () => {
|
const change = () => {
|
||||||
if (+datas.value.cart_num < +datas.value.batch) return uni.$u.toast(
|
if (+datas.value.cart_num < +datas.value.batch) return uni.$u.toast(
|
||||||
`购买数量不能小于${datas.value.batch}${datas.value.unit_name}`);
|
`购买数量不能小于${datas.value.batch}${datas.value.unit_name}`);
|
||||||
|
@ -114,6 +134,11 @@
|
||||||
let sell = +datas.value[props.priceKey.off_activity == 1 ? props.priceKey.price : props
|
let sell = +datas.value[props.priceKey.off_activity == 1 ? props.priceKey.price : props
|
||||||
.priceKey
|
.priceKey
|
||||||
.op_price];
|
.op_price];
|
||||||
|
if (!sell) {
|
||||||
|
sell = datas.value.price
|
||||||
|
num = datas.value.cart_num
|
||||||
|
}
|
||||||
|
|
||||||
return Number(num * sell * 100 / 100).toFixed(2)
|
return Number(num * sell * 100 / 100).toFixed(2)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -174,4 +199,9 @@
|
||||||
/* 缩小 */
|
/* 缩小 */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.u-page__tag-item {
|
||||||
|
display: inline-block;
|
||||||
|
margin-right: 10rpx;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
|
@ -17,7 +17,7 @@ switch (env) {
|
||||||
WSS_URL = 'wss://ceshi-multi-store.lihaink.cn/pull'
|
WSS_URL = 'wss://ceshi-multi-store.lihaink.cn/pull'
|
||||||
break;
|
break;
|
||||||
case 'local':
|
case 'local':
|
||||||
BASE_URL = 'http://192.168.1.231:8545';
|
BASE_URL = 'http://192.168.1.5:8545';
|
||||||
WSS_URL = 'wss://ceshi-multi-store.lihaink.cn/pull'
|
WSS_URL = 'wss://ceshi-multi-store.lihaink.cn/pull'
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -33,6 +33,7 @@ let config = {
|
||||||
WSS_URL: WSS_URL,
|
WSS_URL: WSS_URL,
|
||||||
HEADER: {
|
HEADER: {
|
||||||
'content-type': 'application/json',
|
'content-type': 'application/json',
|
||||||
|
'accept':'json',
|
||||||
//#ifdef MP
|
//#ifdef MP
|
||||||
'Form-type': 'routine',
|
'Form-type': 'routine',
|
||||||
//#endif
|
//#endif
|
||||||
|
|
|
@ -0,0 +1,254 @@
|
||||||
|
<template>
|
||||||
|
<view>
|
||||||
|
<view class="content">
|
||||||
|
<up-transition :show="true" mode="slide-left">
|
||||||
|
<view v-if="goodsList1.length>0">
|
||||||
|
<view class="card" v-for="(item,index) in goodsList1" :key='index'>
|
||||||
|
<view class="head">
|
||||||
|
<!-- <text> {{orer_sn}}</text> -->
|
||||||
|
<!-- <text style="color: #989898;">{{time}}</text> -->
|
||||||
|
</view>
|
||||||
|
<view class="card-content">
|
||||||
|
<view class="card-content-l" style="width: 152rpx;height: 152rpx;">
|
||||||
|
<image style="width: 152rpx;height: 152rpx;" :src="item.image" mode=""></image>
|
||||||
|
</view>
|
||||||
|
<view class="card-content-r">
|
||||||
|
<view class="title ellipsis">
|
||||||
|
{{item.store_name}}
|
||||||
|
</view>
|
||||||
|
<view>
|
||||||
|
单位:{{item.unit_name}}
|
||||||
|
</view>
|
||||||
|
<view>
|
||||||
|
规格:{{item.store_info}}
|
||||||
|
</view>
|
||||||
|
<view style="color: red;">
|
||||||
|
需求量: {{item.need_num}}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="card-footer">
|
||||||
|
<up-button size="small" type="primary" shape="circle"
|
||||||
|
@click="cancleOrder(item)" v-if="item.buyer_confirm==0">确认已采购</up-button>
|
||||||
|
<up-button size="small" type="success" shape="circle"
|
||||||
|
v-else disabled >{{item.buyer_confirm_name}}</up-button>
|
||||||
|
</view>
|
||||||
|
<up-line style="margin-top: 30rpx;" color="#F3F3F3"></up-line>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<up-empty @click='test2' v-else mode="data" icon="http://cdn.uviewui.com/uview/empty/data.png">
|
||||||
|
</up-empty>
|
||||||
|
<!-- <button @click="test2">叫我按钮</button> -->
|
||||||
|
</up-transition>
|
||||||
|
<up-modal :show="show" title="采购确认" showCancelButton @cancel="show=false" @confirm="offerUpdate()">
|
||||||
|
<up-form labelPosition="left">
|
||||||
|
<up-form-item label="名称">
|
||||||
|
<up-input v-model="formData.store_name" border="none"></up-input>
|
||||||
|
</up-form-item>
|
||||||
|
<up-form-item label="数量">
|
||||||
|
<up-input v-model="formData.nums" border="none" @change='changeInputPrice'></up-input>
|
||||||
|
</up-form-item>
|
||||||
|
<up-form-item label="单价">
|
||||||
|
<up-input v-model="formData.price" border="none" @change='changeInputPrice'></up-input>
|
||||||
|
</up-form-item>
|
||||||
|
<up-form-item label="总价">
|
||||||
|
<up-input v-model="formData.total_price" border="none"></up-input>
|
||||||
|
</up-form-item>
|
||||||
|
</up-form>
|
||||||
|
</up-modal>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import {
|
||||||
|
ref,
|
||||||
|
reactive,
|
||||||
|
} from "vue"
|
||||||
|
import {
|
||||||
|
purchaseProductOfferLists,
|
||||||
|
purchaseProductOfferUpdate
|
||||||
|
} from "@/api/purchase_product_offer.js"
|
||||||
|
|
||||||
|
const test2 = () => {
|
||||||
|
console.log("点解")
|
||||||
|
uni.navigateTo({
|
||||||
|
url: '/pages/index/index'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
const show = ref(false)
|
||||||
|
const formData = ref({
|
||||||
|
"id": '',
|
||||||
|
"store_name": '',
|
||||||
|
'product_id': '',
|
||||||
|
'nums': '',
|
||||||
|
'price': '',
|
||||||
|
'total_price':''
|
||||||
|
})
|
||||||
|
// tabsindex
|
||||||
|
const tabIndex = ref(1)
|
||||||
|
const {
|
||||||
|
windowWidth
|
||||||
|
} = uni.getSystemInfoSync();
|
||||||
|
const tabsLeft = ref(((windowWidth / 2) - 26) / 2)
|
||||||
|
const tabsRight = ref(tabsLeft.value + (windowWidth / 2))
|
||||||
|
// tabsindex结束
|
||||||
|
|
||||||
|
const priceBlur = (index, goodsList) => {
|
||||||
|
goodsList[index].price = Number(goodsList[index].price).toFixed(2)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 列表
|
||||||
|
const showGoods = ref(false)
|
||||||
|
const showGoods1 = ref(false)
|
||||||
|
const goodsList = ref([])
|
||||||
|
const goodsList1 = ref([])
|
||||||
|
|
||||||
|
const getGoodsList = async () => {
|
||||||
|
let res = await purchaseProductOfferLists({})
|
||||||
|
goodsList1.value = res.data.lists
|
||||||
|
}
|
||||||
|
const cancleOrder = (item) => {
|
||||||
|
show.value = true
|
||||||
|
formData.value.store_name = item['store_name']
|
||||||
|
formData.value.id = item['id']
|
||||||
|
formData.value.nums = item['need_num']
|
||||||
|
formData.value.product_id = item['product_id']
|
||||||
|
}
|
||||||
|
const offerUpdate = () => {
|
||||||
|
purchaseProductOfferUpdate(formData.value).then(res=>{
|
||||||
|
uni.$u.toast(res.msg);
|
||||||
|
show.value=false
|
||||||
|
getGoodsList()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
const changeInputPrice=(e)=>{
|
||||||
|
if(formData.value.nums>0 && formData.value.price>0){
|
||||||
|
formData.value.total_price=formData.value.nums*formData.value.price
|
||||||
|
}
|
||||||
|
}
|
||||||
|
getGoodsList()
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
.head {
|
||||||
|
padding: 20rpx;
|
||||||
|
background-color: white;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.act {
|
||||||
|
color: #20B128;
|
||||||
|
}
|
||||||
|
|
||||||
|
.line {
|
||||||
|
width: 26px;
|
||||||
|
height: 5rpx;
|
||||||
|
background-color: #20B128;
|
||||||
|
border-radius: 50rpx;
|
||||||
|
position: absolute;
|
||||||
|
transition: 300ms;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.content {
|
||||||
|
padding: 20rpx;
|
||||||
|
padding-bottom: 150rpx;
|
||||||
|
|
||||||
|
.card {
|
||||||
|
width: 710rpx;
|
||||||
|
margin: 0 auto;
|
||||||
|
padding: 20rpx;
|
||||||
|
box-sizing: border-box;
|
||||||
|
background-color: white;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.card-content {
|
||||||
|
display: flex;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.card-content-l {
|
||||||
|
margin-right: 20rpx;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.status {
|
||||||
|
width: 152rpx;
|
||||||
|
height: 40rpx;
|
||||||
|
background-color: rgba(0, 0, 0, .3);
|
||||||
|
text-align: center;
|
||||||
|
color: white;
|
||||||
|
font-size: 24rpx;
|
||||||
|
line-height: 40rpx;
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.card-content-r {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: space-between;
|
||||||
|
|
||||||
|
.title {
|
||||||
|
font-size: 30rpx;
|
||||||
|
width: 500rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.need {
|
||||||
|
color: #777777;
|
||||||
|
font-size: 24rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ipt {
|
||||||
|
display: flex;
|
||||||
|
height: 56rpx;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.status-png {
|
||||||
|
position: absolute;
|
||||||
|
right: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.card-footer {
|
||||||
|
margin-top: 30rpx;
|
||||||
|
text-align: right;
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #060606;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.submit-btn {
|
||||||
|
position: fixed;
|
||||||
|
bottom: 50rpx;
|
||||||
|
width: 710rpx;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.detail {
|
||||||
|
width: 88rpx;
|
||||||
|
height: 88rpx;
|
||||||
|
border-radius: 88rpx;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 88rpx;
|
||||||
|
background-color: #50C758;
|
||||||
|
color: white;
|
||||||
|
position: absolute;
|
||||||
|
bottom: 300rpx;
|
||||||
|
right: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ellipsis {
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
}
|
||||||
|
</style>
|
16
pages.json
16
pages.json
|
@ -121,6 +121,13 @@
|
||||||
{
|
{
|
||||||
"navigationBarTitleText" : "提现申请记录"
|
"navigationBarTitleText" : "提现申请记录"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path" : "pages/wholesale/index",
|
||||||
|
"style" :
|
||||||
|
{
|
||||||
|
"navigationBarTitleText" : "批发"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"subPackages": [{
|
"subPackages": [{
|
||||||
|
@ -202,7 +209,7 @@
|
||||||
"path" : "delivery/index",
|
"path" : "delivery/index",
|
||||||
"style" :
|
"style" :
|
||||||
{
|
{
|
||||||
"navigationBarTitleText" : "配送员订单"
|
"navigationBarTitleText" : "门店订单"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@ -306,6 +313,13 @@
|
||||||
"navigationBarTitleText": "余额明细",
|
"navigationBarTitleText": "余额明细",
|
||||||
"enablePullDownRefresh": true
|
"enablePullDownRefresh": true
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path" : "purchase_product_offer/index",
|
||||||
|
"style" :
|
||||||
|
{
|
||||||
|
"navigationBarTitleText" : "采购商品列表"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
</view>
|
</view>
|
||||||
<view class="afterSales-goods-right-info">
|
<view class="afterSales-goods-right-info">
|
||||||
<text class="goods_desc">{{item.unit}}</text>
|
<text class="goods_desc">{{item.unit}}</text>
|
||||||
<text class="goods_num">x5</text>
|
<text class="goods_num">x{{item.cart_num}}</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
<view class="shop-content">
|
<view class="shop-content">
|
||||||
<view class="title">
|
<view class="title">
|
||||||
<view class="name u-line-2">{{item.goods_name}}</view>
|
<view class="name u-line-2">{{item.goods_name}}</view>
|
||||||
<view class="tip u-line-1">{{item.unit_name}}</view>
|
<view class="tip u-line-1">{{item.sku_name}}</view>
|
||||||
<view v-if="priceKey.off_activity==1" class="tip u-line-1">原价:<text
|
<view v-if="priceKey.off_activity==1" class="tip u-line-1">原价:<text
|
||||||
style="text-decoration: line-through;">¥{{item[priceKey.op_price]}}</text>
|
style="text-decoration: line-through;">¥{{item[priceKey.op_price]}}</text>
|
||||||
</view>
|
</view>
|
||||||
|
@ -41,7 +41,7 @@
|
||||||
<view class="price-btn">
|
<view class="price-btn">
|
||||||
<view class="price">¥{{item[priceKey.price]}}</view>
|
<view class="price">¥{{item[priceKey.price]}}</view>
|
||||||
<view class="btn">
|
<view class="btn">
|
||||||
<view class="num">{{item.cart_num}}</view>
|
<view class="num">{{item.cart_num}}/{{item.unit_name}}</view>
|
||||||
<u--icon name="plus-circle-fill" size="20" color="#20b128"></u--icon>
|
<u--icon name="plus-circle-fill" size="20" color="#20b128"></u--icon>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
@ -244,7 +244,7 @@
|
||||||
const cartList = ref([]);
|
const cartList = ref([]);
|
||||||
const cartInfo = ref({});
|
const cartInfo = ref({});
|
||||||
const getcartList = (check = true) => {
|
const getcartList = (check = true) => {
|
||||||
cartListApi().then(res => {
|
cartListApi({store_id:STORE_INFO.id}).then(res => {
|
||||||
if (check) {
|
if (check) {
|
||||||
res.data.lists = res.data.lists.map(item => {
|
res.data.lists = res.data.lists.map(item => {
|
||||||
item.check = true;
|
item.check = true;
|
||||||
|
|
|
@ -23,21 +23,16 @@
|
||||||
<template #left>
|
<template #left>
|
||||||
<view class="store-info">
|
<view class="store-info">
|
||||||
<view style="display: flex;font-size: 30rpx;font-weight: bold;">
|
<view style="display: flex;font-size: 30rpx;font-weight: bold;">
|
||||||
<!-- <text v-if=" vipList.includes(userStore.userInfo.user_ship) || shareInfo.store_id"
|
|
||||||
style="max-width: 400rpx;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;">
|
|
||||||
<text v-if="vipList.includes(userStore.userInfo.user_ship)">
|
|
||||||
{{ (userStore.userInfo.real_name || userStore.userInfo.nickname) + '的个人门店' }}</text>
|
|
||||||
<text v-else>
|
|
||||||
{{(shareInfo.real_name || (userStore.userInfo.real_name || userStore.userInfo.nickname)) + '的供销店' }}</text>
|
|
||||||
</text> -->
|
|
||||||
<text v-if="shareInfo.uid"
|
<text v-if="shareInfo.uid"
|
||||||
style="max-width: 400rpx;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;">
|
style="max-width: 400rpx;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;" @click="navgo('/multipleShop/index/index?event=store_info')">
|
||||||
{{shareInfo.real_name}}
|
{{shareInfo.real_name}}
|
||||||
</text>
|
</text>
|
||||||
<text v-else
|
<text v-else
|
||||||
style="max-width: 400rpx;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;">{{
|
style="max-width: 400rpx;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;"
|
||||||
|
@click="navgo('/multipleShop/index/index?event=store_info')">{{
|
||||||
STORE_INFO.store_name }}</text>
|
STORE_INFO.store_name }}</text>
|
||||||
<up-icon name="arrow-right"></up-icon>
|
<up-icon name="arrow-right" label="切换" labelSize="10px"
|
||||||
|
@click="navgo('/multipleShop/index/index?event=store_info')"></up-icon>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
@ -187,6 +182,10 @@
|
||||||
<view class="shop-content-li-r" style="color:#FC452F ;">¥<text
|
<view class="shop-content-li-r" style="color:#FC452F ;">¥<text
|
||||||
style="font-size: 28rpx;">{{item[priceKey.op_price]}}</text>
|
style="font-size: 28rpx;">{{item[priceKey.op_price]}}</text>
|
||||||
</view>
|
</view>
|
||||||
|
<view class="tag" v-if="item.tag">
|
||||||
|
<view class="icon" />
|
||||||
|
{{item.tag}}
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="shop-content-li" style="justify-content: space-between;"
|
<view class="shop-content-li" style="justify-content: space-between;"
|
||||||
|
@ -207,7 +206,8 @@
|
||||||
</view> -->
|
</view> -->
|
||||||
</view>
|
</view>
|
||||||
<view class="shopconetent-btn">
|
<view class="shopconetent-btn">
|
||||||
<u--icon name="plus-circle-fill" size="20" color="#20b128"></u--icon>
|
<u--icon name="plus-circle-fill" size="20" color="#20b128" v-if="item.is_lack==0"></u--icon>
|
||||||
|
<u--icon name="plus-circle-fill" size="20" color="#c1ffc0" v-else></u--icon>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
@ -258,6 +258,20 @@
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</u-overlay>
|
</u-overlay>
|
||||||
|
<up-popup :show="LocationShow" mode="bottom" @open="LocationShowOpen()">
|
||||||
|
<view style="margin: 40rpx 10rpx;">
|
||||||
|
<up-row customStyle="margin-bottom: 10px" gutter="10">
|
||||||
|
<up-col span="6">
|
||||||
|
<up-button text="取消" @click="userLocationfalse()"></up-button>
|
||||||
|
</up-col>
|
||||||
|
<up-col span="6">
|
||||||
|
<up-button type="primary" text="设置授权" color="#20B128" @click="opensettings()"></up-button>
|
||||||
|
</up-col>
|
||||||
|
</up-row>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</up-popup>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -298,11 +312,17 @@
|
||||||
} from "@/api/multipleShop.js";
|
} from "@/api/multipleShop.js";
|
||||||
|
|
||||||
import useUserStore from "@/store/user";
|
import useUserStore from "@/store/user";
|
||||||
|
//定位坐标
|
||||||
|
let location = {
|
||||||
|
lat: '',
|
||||||
|
long: "",
|
||||||
|
};
|
||||||
const vipList = reactive([1, 2, 3, 4, 5, 6, 7, 8])
|
const vipList = reactive([1, 2, 3, 4, 5, 6, 7, 8])
|
||||||
const userStore = useUserStore();
|
const userStore = useUserStore();
|
||||||
const STORE_INFO = reactive({
|
const STORE_INFO = reactive({
|
||||||
id: '',
|
id: '',
|
||||||
store_name: ""
|
store_name: "",
|
||||||
|
abbreviation: ''
|
||||||
})
|
})
|
||||||
const priceKey = reactive({
|
const priceKey = reactive({
|
||||||
off_activity: "",
|
off_activity: "",
|
||||||
|
@ -310,23 +330,45 @@
|
||||||
price: ""
|
price: ""
|
||||||
})
|
})
|
||||||
|
|
||||||
|
const showModal = ref(false)
|
||||||
|
const navgo = (url) => {
|
||||||
|
showModal.value &&= false
|
||||||
|
uni.navigateTo({
|
||||||
|
url
|
||||||
|
})
|
||||||
|
}
|
||||||
|
const LocationShow = ref(false)
|
||||||
|
|
||||||
|
uni.$on('store_info', function(data) {
|
||||||
|
let datas = JSON.parse(data)
|
||||||
|
if (datas) {
|
||||||
|
datas.store_name = datas.name
|
||||||
|
uni.setStorageSync("STORE_INFO", JSON.stringify(datas));
|
||||||
|
STORE_INFO.id = datas.id
|
||||||
|
STORE_INFO.store_name = datas.name
|
||||||
|
STORE_INFO.abbreviation = datas.abbreviation
|
||||||
|
shareInfo.value.real_name = datas.name
|
||||||
|
shareInfo.value.store_id = datas.id
|
||||||
|
}
|
||||||
|
getgoodClassList(0)
|
||||||
|
getGoodList()
|
||||||
|
})
|
||||||
const getStoreInfoFn = () => {
|
const getStoreInfoFn = () => {
|
||||||
if (uni.getStorageSync('STORE_INFO').length) {
|
if (uni.getStorageSync('STORE_INFO').length) {
|
||||||
let data = JSON.parse(uni.getStorageSync('STORE_INFO'))
|
let data = JSON.parse(uni.getStorageSync('STORE_INFO'))
|
||||||
for (let key in data) {
|
for (let key in data) {
|
||||||
STORE_INFO[key] = data[key]
|
STORE_INFO[key] = data[key]
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
getStoreInfo().then(res => {
|
||||||
|
uni.setStorageSync("STORE_INFO", JSON.stringify(res.data));
|
||||||
|
let data = res.data;
|
||||||
|
for (let key in data) {
|
||||||
|
STORE_INFO[key] = data[key]
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
getStoreInfo().then(res => {
|
getAll()
|
||||||
uni.setStorageSync("STORE_INFO", JSON.stringify(res.data));
|
|
||||||
let data = res.data;
|
|
||||||
for (let key in data) {
|
|
||||||
STORE_INFO[key] = data[key]
|
|
||||||
}
|
|
||||||
getgoodClassList(0);
|
|
||||||
getGoodList();
|
|
||||||
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -334,7 +376,10 @@
|
||||||
onShareAppMessage(() => {
|
onShareAppMessage(() => {
|
||||||
let shareStr = '?id=' + STORE_INFO.id;
|
let shareStr = '?id=' + STORE_INFO.id;
|
||||||
if (vipList.includes(userStore.userInfo.user_ship)) {
|
if (vipList.includes(userStore.userInfo.user_ship)) {
|
||||||
shareStr = shareStr + '&spread_uid=' + userStore.userInfo.id + '&real_name=' + (userStore.userInfo.share_name)
|
shareStr = shareStr + '&spread_uid=' + userStore.userInfo.id + '&real_name=' + (userStore.userInfo
|
||||||
|
.share_name)
|
||||||
|
} else {
|
||||||
|
shareStr = shareStr + '&real_name=' + STORE_INFO.abbreviation
|
||||||
}
|
}
|
||||||
let shareInfo = {
|
let shareInfo = {
|
||||||
// title: (userStore.userInfo.real_name || userStore.userInfo.nickname) + '的供销个人门店',
|
// title: (userStore.userInfo.real_name || userStore.userInfo.nickname) + '的供销个人门店',
|
||||||
|
@ -402,7 +447,7 @@
|
||||||
getGoodList();
|
getGoodList();
|
||||||
}
|
}
|
||||||
|
|
||||||
const addCart = (product_id, cart_num) => { //加入购物车
|
const addCart = (product_id, cart_num,attr_value_id) => { //加入购物车
|
||||||
console.log("触发了加入购物车")
|
console.log("触发了加入购物车")
|
||||||
|
|
||||||
cartCreateApi({
|
cartCreateApi({
|
||||||
|
@ -411,7 +456,8 @@
|
||||||
is_new: 0, // 是否直接购买0否1是
|
is_new: 0, // 是否直接购买0否1是
|
||||||
// goods_id: id,
|
// goods_id: id,
|
||||||
store_id: STORE_INFO.id,
|
store_id: STORE_INFO.id,
|
||||||
product_id: product_id
|
product_id: product_id,
|
||||||
|
attr_value_id:attr_value_id
|
||||||
}).then(res => {
|
}).then(res => {
|
||||||
getCartList();
|
getCartList();
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
|
@ -608,6 +654,9 @@
|
||||||
const goodRef = ref(null);
|
const goodRef = ref(null);
|
||||||
const goodData = ref({});
|
const goodData = ref({});
|
||||||
const openGoodPopup = (item) => { // 打开数量/重量弹窗
|
const openGoodPopup = (item) => { // 打开数量/重量弹窗
|
||||||
|
if(item.is_lack==1){
|
||||||
|
return false
|
||||||
|
}
|
||||||
navTo(false)
|
navTo(false)
|
||||||
if (!userStore.token || !userStore.userInfo.mobile) return;
|
if (!userStore.token || !userStore.userInfo.mobile) return;
|
||||||
goodData.value = item;
|
goodData.value = item;
|
||||||
|
@ -640,7 +689,7 @@
|
||||||
});
|
});
|
||||||
|
|
||||||
console.log('data', data)
|
console.log('data', data)
|
||||||
addCart(data.product_id, data.cart_num);
|
addCart(data.product_id, data.cart_num,data.id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -655,7 +704,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
const settleAccounts = () => {
|
const settleAccounts = () => {
|
||||||
if (+cartInfo.value.pay_price < 500 && userStore.userInfo.user_ship==0 ) return showOverlay.value = true;
|
if (+cartInfo.value.pay_price < 500 && userStore.userInfo.user_ship == 0) return showOverlay.value = true;
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: '/pagesOrder/settle/settle'
|
url: '/pagesOrder/settle/settle'
|
||||||
})
|
})
|
||||||
|
@ -672,6 +721,7 @@
|
||||||
cartListApi({
|
cartListApi({
|
||||||
page_no: 1,
|
page_no: 1,
|
||||||
page_size: 100,
|
page_size: 100,
|
||||||
|
store_id: STORE_INFO.id,
|
||||||
}).then(res => {
|
}).then(res => {
|
||||||
cartInfo.value = {
|
cartInfo.value = {
|
||||||
total_price: res.data?.extend?.total_price || '0.00',
|
total_price: res.data?.extend?.total_price || '0.00',
|
||||||
|
@ -699,37 +749,38 @@
|
||||||
store_id: ''
|
store_id: ''
|
||||||
});
|
});
|
||||||
|
|
||||||
const getShareInfo = () => {
|
// const getShareInfo = () => {
|
||||||
if (uni.getStorageSync('SHARE_INFO')) {
|
// if (uni.getStorageSync('SHARE_INFO')) {
|
||||||
shareInfo.value = (uni.getStorageSync('SHARE_INFO'))
|
// shareInfo.value = (uni.getStorageSync('SHARE_INFO'))
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
getShareInfo()
|
|
||||||
|
|
||||||
onLoad(async (opt) => {
|
onLoad(async (opt) => {
|
||||||
console.log('opt', opt)
|
console.log('opt', opt)
|
||||||
if (opt.id) {
|
|
||||||
where.value.store_id = (opt.id == 'undefined' ? STORE_INFO.id : opt.id);
|
|
||||||
} else {
|
|
||||||
where.value.store_id = STORE_INFO.id
|
|
||||||
}
|
|
||||||
// 店铺id
|
// 店铺id
|
||||||
if (opt.id && opt.id != 'undefined') {
|
if (opt.id && opt.id != 'undefined') {
|
||||||
where.value.store_id = opt.id;
|
STORE_INFO.id = opt.id
|
||||||
const info = await shopDetailApi({
|
STORE_INFO.store_name = opt.real_name
|
||||||
store_id: where.value.store_id
|
if (opt.real_name == '' || opt.real_name == undefined) {
|
||||||
});
|
shopDetailApi({
|
||||||
|
store_id: opt.id
|
||||||
|
}).then(res => {
|
||||||
|
STORE_INFO.store_name=res.data.name
|
||||||
|
})
|
||||||
|
}
|
||||||
// 分享参数至当前用户参数
|
// 分享参数至当前用户参数
|
||||||
if (opt.spread_uid) {
|
if (opt.spread_uid) {
|
||||||
shareInfo.value.uid = opt.spread_uid;
|
shareInfo.value.uid = opt.spread_uid;
|
||||||
shareInfo.value.real_name = opt.real_name;
|
shareInfo.value.real_name = opt.real_name;
|
||||||
shareInfo.value.store_id = opt.id;
|
shareInfo.value.store_id = opt.id;
|
||||||
uni.setStorageSync('SHARE_INFO', shareInfo.value);
|
uni.setStorageSync('SHARE_INFO', shareInfo.value);
|
||||||
}
|
}
|
||||||
|
getAll()
|
||||||
|
} else {
|
||||||
|
uni.removeStorageSync('SHARE_INFO')
|
||||||
|
getLocation()
|
||||||
}
|
}
|
||||||
|
|
||||||
getStoreInfoFn()
|
|
||||||
|
|
||||||
// #ifndef H5
|
// #ifndef H5
|
||||||
// 胶囊布局信息
|
// 胶囊布局信息
|
||||||
btns.value = uni.getMenuButtonBoundingClientRect();
|
btns.value = uni.getMenuButtonBoundingClientRect();
|
||||||
|
@ -737,9 +788,12 @@
|
||||||
})
|
})
|
||||||
|
|
||||||
onShow(() => {
|
onShow(() => {
|
||||||
|
if (STORE_INFO.id) {
|
||||||
|
getCartList();
|
||||||
|
}
|
||||||
// 如果后台变更核销人员权限 可以及时切换
|
// 如果后台变更核销人员权限 可以及时切换
|
||||||
if (userStore.token && userStore.userInfo.mobile) {
|
if (userStore.token && userStore.userInfo.mobile) {
|
||||||
userInfoApi().then(res => {
|
userInfoApi({store_id:STORE_INFO.id}).then(res => {
|
||||||
const user = res.data;
|
const user = res.data;
|
||||||
userStore.setUserInfo(user);
|
userStore.setUserInfo(user);
|
||||||
if (!user.openid) loginUpdateUserApi({
|
if (!user.openid) loginUpdateUserApi({
|
||||||
|
@ -750,14 +804,116 @@
|
||||||
uni.reLaunch({
|
uni.reLaunch({
|
||||||
url: "/multipleShop/verificationOrder/index"
|
url: "/multipleShop/verificationOrder/index"
|
||||||
})
|
})
|
||||||
} else {
|
|
||||||
getCartList();
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
//获取定位
|
||||||
|
const getLocation = () => {
|
||||||
|
// #ifdef MP-WEIXIN
|
||||||
|
uni.getSetting({
|
||||||
|
success(res) {
|
||||||
|
if (res.authSetting["scope.userLocation"] == false) {
|
||||||
|
LocationShowOpen()
|
||||||
|
} else {
|
||||||
|
opensettings(true)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
// #endif
|
||||||
|
// #ifdef H5
|
||||||
|
userLocationfalse()
|
||||||
|
// #endif
|
||||||
|
|
||||||
|
}
|
||||||
|
const LocationShowOpen = () => {
|
||||||
|
LocationShow.value = true;
|
||||||
|
}
|
||||||
|
const getAll = () => {
|
||||||
|
getgoodClassList(0)
|
||||||
|
getGoodList()
|
||||||
|
getCartList();
|
||||||
|
}
|
||||||
|
|
||||||
|
//获取小程序定位
|
||||||
|
const opensettings = (a = false) => {
|
||||||
|
if (a == false) {
|
||||||
|
uni.openSetting({
|
||||||
|
success(res) {
|
||||||
|
LocationShow.value = false;
|
||||||
|
if (res.authSetting["scope.userLocation"] == true) {
|
||||||
|
uni.authorize({
|
||||||
|
scope: 'scope.userLocation',
|
||||||
|
success() {
|
||||||
|
uni.getLocation({
|
||||||
|
type: "gcj02",
|
||||||
|
success(res) {
|
||||||
|
location.lat = res.latitude;
|
||||||
|
location.long = res.longitude;
|
||||||
|
uni.setStorageSync('location', JSON.stringify(
|
||||||
|
location))
|
||||||
|
getStoreInfo(location).then(res => {
|
||||||
|
STORE_INFO.id = res.data.id
|
||||||
|
STORE_INFO.store_name = res.data.store_name
|
||||||
|
STORE_INFO.abbreviation = res.data
|
||||||
|
.abbreviation
|
||||||
|
getAll()
|
||||||
|
uni.setStorageSync('STORE_INFO', JSON
|
||||||
|
.stringify(STORE_INFO))
|
||||||
|
})
|
||||||
|
|
||||||
|
},
|
||||||
|
})
|
||||||
|
},
|
||||||
|
fail(e) {
|
||||||
|
userLocationfalse()
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
fail(e) {
|
||||||
|
userLocationfalse()
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
uni.authorize({
|
||||||
|
scope: 'scope.userLocation',
|
||||||
|
success() {
|
||||||
|
uni.getLocation({
|
||||||
|
type: "gcj02",
|
||||||
|
success(res) {
|
||||||
|
location.lat = res.latitude;
|
||||||
|
location.long = res.longitude;
|
||||||
|
uni.setStorageSync('location', JSON.stringify(location))
|
||||||
|
getStoreInfo(location).then(res => {
|
||||||
|
STORE_INFO.id = res.data.id
|
||||||
|
STORE_INFO.store_name = res.data.store_name
|
||||||
|
STORE_INFO.abbreviation = res.data.abbreviation
|
||||||
|
|
||||||
|
getAll()
|
||||||
|
uni.setStorageSync('STORE_INFO', JSON.stringify(STORE_INFO))
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
|
},
|
||||||
|
})
|
||||||
|
},
|
||||||
|
fail(e) {
|
||||||
|
userLocationfalse()
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
//取消定位获取默认门店
|
||||||
|
const userLocationfalse = () => {
|
||||||
|
LocationShow.value = false;
|
||||||
|
uni.$u.toast('获取位置失败,为你展示默认门店')
|
||||||
|
getStoreInfoFn()
|
||||||
|
}
|
||||||
let instance; // 获取组件实例
|
let instance; // 获取组件实例
|
||||||
const getWXDom = () => {
|
const getWXDom = () => {
|
||||||
let query = uni.createSelectorQuery().in(instance).select("#drag_area");
|
let query = uni.createSelectorQuery().in(instance).select("#drag_area");
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
<view class="login-box">
|
<view class="login-box">
|
||||||
<image class="logo" src="https://lihai001.oss-cn-chengdu.aliyuncs.com/def/35adb202404271727457954.png" @click="test()">
|
<image class="logo" src="https://lihai001.oss-cn-chengdu.aliyuncs.com/def/35adb202404271727457954.png" @click="test()">
|
||||||
</image>
|
</image>
|
||||||
<view class="tips">欢迎登录泸优采</view>
|
<view class="tips">欢迎登录蜀优采</view>
|
||||||
<block v-if="showWeixin">
|
<block v-if="showWeixin">
|
||||||
<up-transition :show="showWeixin">
|
<up-transition :show="showWeixin">
|
||||||
<view class="btn">
|
<view class="btn">
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
<view style="text-align: center;">
|
<view style="text-align: center;">
|
||||||
<image class="logo" src="https://lihai001.oss-cn-chengdu.aliyuncs.com/def/35adb202404271727457954.png">
|
<image class="logo" src="https://lihai001.oss-cn-chengdu.aliyuncs.com/def/35adb202404271727457954.png">
|
||||||
</image>
|
</image>
|
||||||
<view class="tips">欢迎登录泸优采</view>
|
<view class="tips">欢迎登录蜀优采</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class='card'>
|
<view class='card'>
|
||||||
|
|
|
@ -123,8 +123,9 @@
|
||||||
<up-cell title="我的地址" :isLink="true" url="/pagesOrder/addressList/addressList"></up-cell>
|
<up-cell title="我的地址" :isLink="true" url="/pagesOrder/addressList/addressList"></up-cell>
|
||||||
<up-cell title="支付密码" :isLink="true" url="/pagesOrder/setPayPassword/index"></up-cell>
|
<up-cell title="支付密码" :isLink="true" url="/pagesOrder/setPayPassword/index"></up-cell>
|
||||||
<up-cell title="商品列表" :isLink="true" url="pages/product/product" v-if="userInfo.system_store_id>0"></up-cell>
|
<up-cell title="商品列表" :isLink="true" url="pages/product/product" v-if="userInfo.system_store_id>0"></up-cell>
|
||||||
<up-cell title="配送员订单" :isLink="true" url="pagesOrder/delivery/index" v-if="userInfo.system_store_id>0"></up-cell>
|
<up-cell title="订单列表" :isLink="true" url="pagesOrder/delivery/index" v-if="userInfo.system_store_id>0"></up-cell>
|
||||||
|
<up-cell title="采购列表" :isLink="true" url="pageQuota/purchase_product_offer/index" v-if="userInfo.delivery_service_id>0"></up-cell>
|
||||||
|
<up-cell title="我要批发" :isLink="true" url="pages/wholesale/index" v-if="userInfo.label_id==99"></up-cell>
|
||||||
</up-cell-group>
|
</up-cell-group>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
|
|
|
@ -55,7 +55,7 @@
|
||||||
const frequentlyList = ref([]);
|
const frequentlyList = ref([]);
|
||||||
let text = '没有商品'
|
let text = '没有商品'
|
||||||
let status = ref('loadmore')
|
let status = ref('loadmore')
|
||||||
let list1 = ['零售', '商户', '会员']
|
let list1 = ['零售', '商户', '供货价']
|
||||||
let keyword = ref('');
|
let keyword = ref('');
|
||||||
let enable_flex=ref(true)
|
let enable_flex=ref(true)
|
||||||
const where = ref({
|
const where = ref({
|
||||||
|
|
|
@ -43,6 +43,9 @@
|
||||||
</navigator>
|
</navigator>
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
|
<view class='tip'>
|
||||||
|
本月已提现金额:<text class="num">¥{{userInfo.extract_price}}</text>
|
||||||
|
</view>
|
||||||
<view class='tip'>
|
<view class='tip'>
|
||||||
说明: <text class="num">{{userInfo.notes}}</text>
|
说明: <text class="num">{{userInfo.notes}}</text>
|
||||||
</view>
|
</view>
|
||||||
|
@ -56,6 +59,20 @@
|
||||||
<!-- #ifdef MP -->
|
<!-- #ifdef MP -->
|
||||||
<authorize v-if="isShowAuth" @authColse="authColse" @onLoadFun="onLoadFun"></authorize>
|
<authorize v-if="isShowAuth" @authColse="authColse" @onLoadFun="onLoadFun"></authorize>
|
||||||
<!-- #endif -->
|
<!-- #endif -->
|
||||||
|
|
||||||
|
<up-modal :show="IDCardShow" title="提现信息补充" showCancelButton @cancel="IDCardShow=false" @confirm="UpdateCard()">
|
||||||
|
<up-form labelPosition="left">
|
||||||
|
<up-form-item label="姓名:" label-width="80px">
|
||||||
|
<up-input v-model="real_name" border="none" placeholder="请输入对应的真实姓名"></up-input>
|
||||||
|
</up-form-item>
|
||||||
|
<up-form-item label="电话:" label-width="80px">
|
||||||
|
<up-input v-model="mobile" border="none" disabled></up-input>
|
||||||
|
</up-form-item>
|
||||||
|
<up-form-item label="身份证号:" label-width="80px">
|
||||||
|
<up-input v-model="id_card" border="none" placeholder="请输入身份证号"></up-input>
|
||||||
|
</up-form-item>
|
||||||
|
</up-form>
|
||||||
|
</up-modal>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -63,7 +80,8 @@
|
||||||
import {
|
import {
|
||||||
getCashInfoApi,
|
getCashInfoApi,
|
||||||
CashApplicationApi,
|
CashApplicationApi,
|
||||||
getCashRecordApi
|
getCashRecordApi,
|
||||||
|
UpdateIdCardApi
|
||||||
} from "@/api/user.js"
|
} from "@/api/user.js"
|
||||||
// import {
|
// import {
|
||||||
// extractCash,
|
// extractCash,
|
||||||
|
@ -79,13 +97,17 @@
|
||||||
getHeight: this.getWXStatusHeight(),
|
getHeight: this.getWXStatusHeight(),
|
||||||
// #endif
|
// #endif
|
||||||
index: 0,
|
index: 0,
|
||||||
minPrice: 0.00, //最低提现金额
|
minPrice: 1.00, //最低提现金额
|
||||||
userInfo: [],
|
userInfo: [],
|
||||||
prevent: true, //避免重复提交成功多次
|
prevent: true, //避免重复提交成功多次
|
||||||
moneyMaxLeng: 8,
|
moneyMaxLeng: 8,
|
||||||
withdraw_fee: '0',
|
withdraw_fee: '0',
|
||||||
true_money: 0,
|
true_money: 0,
|
||||||
cashVal: '',
|
cashVal: '',
|
||||||
|
IDCardShow: false,
|
||||||
|
id_card:'',
|
||||||
|
real_name:'',
|
||||||
|
mobile:''
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
|
@ -98,6 +120,8 @@
|
||||||
onShow() {
|
onShow() {
|
||||||
getCashInfoApi().then(res => {
|
getCashInfoApi().then(res => {
|
||||||
this.userInfo = res.data;
|
this.userInfo = res.data;
|
||||||
|
this.mobile=res.data.mobile;
|
||||||
|
this.real_name=res.data.real_name;
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
@ -110,7 +134,7 @@
|
||||||
this.cashVal = this.userInfo.now_money;
|
this.cashVal = this.userInfo.now_money;
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 计算头部自定义导航高度;
|
// 计算头部自定义导航高度;
|
||||||
getWXStatusHeight() {
|
getWXStatusHeight() {
|
||||||
// 获取距上
|
// 获取距上
|
||||||
const barTop = uni.getSystemInfoSync().statusBarHeight;
|
const barTop = uni.getSystemInfoSync().statusBarHeight;
|
||||||
|
@ -145,19 +169,33 @@
|
||||||
} else {
|
} else {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
console.log(value)
|
if (this.userInfo.id_card==''||this.userInfo.id_card==null) {
|
||||||
|
this.IDCardShow = true
|
||||||
|
return
|
||||||
|
}
|
||||||
CashApplicationApi(value).then(res => {
|
CashApplicationApi(value).then(res => {
|
||||||
uni.$u.toast(res.msg);
|
uni.$u.toast(res.msg);
|
||||||
setTimeout(()=>{
|
setTimeout(() => {
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: `/pages/my/my`
|
url: `/pages/my/my`
|
||||||
})
|
})
|
||||||
},1500)
|
}, 1500)
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
return uni.$u.toast(err);
|
return uni.$u.toast(err.msg);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
UpdateCard:function(){
|
||||||
|
UpdateIdCardApi({'id_card':this.id_card,'real_name':this.real_name}).then(res => {
|
||||||
|
uni.$u.toast(res.msg);
|
||||||
|
setTimeout(() => {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: `/pages/user_cash/index`
|
||||||
|
})
|
||||||
|
}, 1500)
|
||||||
|
}).catch(err => {
|
||||||
|
return uni.$u.toast(err.msg);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,220 @@
|
||||||
|
<template>
|
||||||
|
<view class="shop-item">
|
||||||
|
<view class="item-title" @click="navTo">
|
||||||
|
<view>{{order_id}}</view>
|
||||||
|
<view v-if="datas.paid==0">
|
||||||
|
<text>待付款</text>
|
||||||
|
</view>
|
||||||
|
<view v-else>
|
||||||
|
<text v-if="datas.status==0">待核销</text>
|
||||||
|
<text v-if="datas.status==1">待核销</text>
|
||||||
|
<text v-if="datas.status==2||datas.status==3">已完成</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="item-body" @click="navTo">
|
||||||
|
<view class="body-content">
|
||||||
|
<view>
|
||||||
|
<view v-for="(item,index) in datas.goods_list" :key="index"
|
||||||
|
style="display: flex;margin-bottom: 20rpx;">
|
||||||
|
<image class="image" :src="item.image"></image>
|
||||||
|
<view style="width: 520rpx;">
|
||||||
|
<view class="" style="display: flex;justify-content: space-between;">
|
||||||
|
<view>
|
||||||
|
{{item.store_name}}
|
||||||
|
</view>
|
||||||
|
<view style="font-size: 32rpx;">
|
||||||
|
¥{{item.price}}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="" style="display: flex;justify-content: space-between;">
|
||||||
|
<view>
|
||||||
|
{{item.unit_name}}
|
||||||
|
</view>
|
||||||
|
<view style="font-size: 32rpx;">
|
||||||
|
x{{item.cart_num}}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- <view
|
||||||
|
style="display: flex;flex-direction: column;align-items: center;justify-content: center;width: 100rpx;">
|
||||||
|
<up-icon name="arrow-right-double" color="#20B128"></up-icon>
|
||||||
|
</view> -->
|
||||||
|
</view>
|
||||||
|
<view class="all">共 {{datas.goods_count}} 件商品, 总金额 <text>¥{{datas.pay_price}}</text> </view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="item-btn">
|
||||||
|
|
||||||
|
<view @click="navTo" style="width: 80px;">
|
||||||
|
<up-button size="small" plain color="#20B128" shape="circle">查看详情</up-button>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import {
|
||||||
|
ref,
|
||||||
|
reactive,
|
||||||
|
nextTick
|
||||||
|
} from "vue"
|
||||||
|
// 订单状态(0:待发货;1:待收货;2:已完成;3:已完成)
|
||||||
|
const props = defineProps({
|
||||||
|
type: {
|
||||||
|
type: Number,
|
||||||
|
default: 0
|
||||||
|
},
|
||||||
|
datas: {
|
||||||
|
type: Object,
|
||||||
|
default: () => {}
|
||||||
|
},
|
||||||
|
status: {
|
||||||
|
type: String,
|
||||||
|
default: ''
|
||||||
|
},
|
||||||
|
order_id: {
|
||||||
|
type: String,
|
||||||
|
default: '0'
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
const navTo = () => {
|
||||||
|
if (props.datas.status == -1) {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: "/pages/afterSales/afterSalesOrderDetail",
|
||||||
|
success(res) {
|
||||||
|
res.eventChannel.emit('afterSalesDetail', props.datas)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: `/pagesOrder/detail/detail?type=${props.datas.paid}&id=${props.datas.id}`
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const emit = defineEmits(['cancleOrder', 'rePay', 'takeOrder', 'purchaseAgain']);
|
||||||
|
const cancleOrder = () => {
|
||||||
|
emit('cancleOrder', props.datas)
|
||||||
|
}
|
||||||
|
|
||||||
|
const takeOrder = () => {
|
||||||
|
emit('takeOrder', props.datas)
|
||||||
|
}
|
||||||
|
|
||||||
|
const purchaseAgain = () => {
|
||||||
|
emit('purchaseAgain', props.datas)
|
||||||
|
}
|
||||||
|
|
||||||
|
const rePay = () => {
|
||||||
|
emit('rePay', props.datas)
|
||||||
|
}
|
||||||
|
|
||||||
|
const applySh = () => {
|
||||||
|
emit('applyAfterSales', props.datas)
|
||||||
|
}
|
||||||
|
|
||||||
|
const showVerifyFn = () => {
|
||||||
|
emit('showVerifyFn', props.datas)
|
||||||
|
}
|
||||||
|
|
||||||
|
const showVerifyPop = ref(false)
|
||||||
|
const options = reactive({
|
||||||
|
width: 500, // 宽度 单位rpx
|
||||||
|
height: 100, // 高度 单位rpx
|
||||||
|
code: props.datas.verify_code, // 生成条形码的值
|
||||||
|
}, )
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
.shop-item {
|
||||||
|
width: 710rpx;
|
||||||
|
margin-bottom: 20rpx;
|
||||||
|
background-color: #fff;
|
||||||
|
border-radius: 14rpx;
|
||||||
|
padding: 20rpx;
|
||||||
|
box-sizing: border-box;
|
||||||
|
|
||||||
|
.item-title {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
|
||||||
|
.item-body {
|
||||||
|
margin: 20rpx 0;
|
||||||
|
|
||||||
|
.body-content {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
color: #989898;
|
||||||
|
|
||||||
|
.image {
|
||||||
|
width: 120rpx;
|
||||||
|
height: 120rpx;
|
||||||
|
margin-right: 20rpx;
|
||||||
|
border-radius: 14rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.title {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #444;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tips {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
font-size: 24rpx;
|
||||||
|
margin-top: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.all {
|
||||||
|
text-align: right;
|
||||||
|
font-size: 26rpx;
|
||||||
|
|
||||||
|
text {
|
||||||
|
color: #F55726;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.item-btn {
|
||||||
|
display: flex;
|
||||||
|
justify-content: flex-end;
|
||||||
|
|
||||||
|
view {
|
||||||
|
width: 80rpx;
|
||||||
|
margin-left: 20rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.item-close {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
background-color: #F6F6F6;
|
||||||
|
padding: 15rpx;
|
||||||
|
border-radius: 14rpx;
|
||||||
|
|
||||||
|
.title {
|
||||||
|
display: flex;
|
||||||
|
|
||||||
|
.type {
|
||||||
|
font-weight: 600;
|
||||||
|
margin-right: 20rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -1,10 +1,6 @@
|
||||||
<template>
|
<template>
|
||||||
<view class="wrap">
|
<view class="wrap">
|
||||||
<up-navbar placeholder style="z-index: 100800;" @leftClick="navBack">
|
|
||||||
<template #center>
|
|
||||||
<view>订单</view>
|
|
||||||
</template>
|
|
||||||
</up-navbar>
|
|
||||||
<up-sticky bgColor="#fff">
|
<up-sticky bgColor="#fff">
|
||||||
<view style="padding: 10rpx 20rpx 0 20rpx;">
|
<view style="padding: 10rpx 20rpx 0 20rpx;">
|
||||||
<up-search shape="round" v-model="keyword" @custom="searchOn" @search="searchOn" @clear="searchOn"
|
<up-search shape="round" v-model="keyword" @custom="searchOn" @search="searchOn" @clear="searchOn"
|
||||||
|
@ -58,7 +54,7 @@
|
||||||
import {
|
import {
|
||||||
ref
|
ref
|
||||||
} from 'vue';
|
} from 'vue';
|
||||||
import good from "../order/component/good.vue";
|
import good from "./component/goods.vue";
|
||||||
import orderCanclePopup from "@/components/orderCanclePopup.vue"
|
import orderCanclePopup from "@/components/orderCanclePopup.vue"
|
||||||
import modal from "@/components/modal.vue"
|
import modal from "@/components/modal.vue"
|
||||||
import ZyPasswordboard from '@/uni_modules/zy-passwordboard/components/zy-passwordboard/zy-passwordboard.vue';
|
import ZyPasswordboard from '@/uni_modules/zy-passwordboard/components/zy-passwordboard/zy-passwordboard.vue';
|
||||||
|
@ -66,7 +62,7 @@
|
||||||
cancelOrderApi,
|
cancelOrderApi,
|
||||||
rePaymentApi,
|
rePaymentApi,
|
||||||
confirmReceiptApi,
|
confirmReceiptApi,
|
||||||
orderListApi,
|
storeOrderListApi,
|
||||||
purchaseAgainApi
|
purchaseAgainApi
|
||||||
} from "@/api/order.js"
|
} from "@/api/order.js"
|
||||||
import {
|
import {
|
||||||
|
@ -84,6 +80,10 @@
|
||||||
}
|
}
|
||||||
const tablist = ref([{
|
const tablist = ref([{
|
||||||
name: '全部'
|
name: '全部'
|
||||||
|
},{
|
||||||
|
name: '待核销'
|
||||||
|
}, {
|
||||||
|
name: '已核销'
|
||||||
}, {
|
}, {
|
||||||
name: '退款/售后'
|
name: '退款/售后'
|
||||||
}]);
|
}]);
|
||||||
|
@ -98,6 +98,8 @@
|
||||||
tabsActive.value = current;
|
tabsActive.value = current;
|
||||||
|
|
||||||
if (swiperCurrent.value == 0 && orderList.value[0].length == 0) getOrderList(0, '', ''); //全部
|
if (swiperCurrent.value == 0 && orderList.value[0].length == 0) getOrderList(0, '', ''); //全部
|
||||||
|
if (swiperCurrent.value == 2 && orderList.value[2].length == 0) getOrderList(2, 1, 1); //待核销
|
||||||
|
if (swiperCurrent.value == 3 && orderList.value[3].length == 0) getOrderList(3, 2, 1); //已核销
|
||||||
if (swiperCurrent.value == 4 && orderList.value[4].length == 0) getOrderList(4, -1, 1); //退款
|
if (swiperCurrent.value == 4 && orderList.value[4].length == 0) getOrderList(4, -1, 1); //退款
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -109,28 +111,6 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// 取消订单
|
|
||||||
const showCancel = ref(false);
|
|
||||||
let cancelId = '';
|
|
||||||
const submitCancel = (e) => {
|
|
||||||
showCancel.value = false;
|
|
||||||
cancelOrderApi({
|
|
||||||
order_id: cancelId,
|
|
||||||
value: e.name
|
|
||||||
}).then(res => {
|
|
||||||
uni.showToast({
|
|
||||||
title: '取消成功',
|
|
||||||
icon: 'none'
|
|
||||||
})
|
|
||||||
orderList.value[1] = orderList.value[1].filter(item => item.id !== cancelId)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 取消订单
|
|
||||||
const cancleOrder = (e) => {
|
|
||||||
cancelId = e.id;
|
|
||||||
showCancel.value = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 确认收货
|
// 确认收货
|
||||||
const showTake = ref(false);
|
const showTake = ref(false);
|
||||||
|
@ -151,17 +131,7 @@
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 再次购买
|
|
||||||
const purchaseAgain = (e) => {
|
|
||||||
purchaseAgainApi({
|
|
||||||
order_id: e.id
|
|
||||||
}).then(res => {
|
|
||||||
uni.$u.toast('已加入购物车');
|
|
||||||
uni.navigateTo({
|
|
||||||
url: '/pages/cart/cart'
|
|
||||||
})
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// 申请售后<!--sb项目-->
|
// 申请售后<!--sb项目-->
|
||||||
const refundShow = ref(false);
|
const refundShow = ref(false);
|
||||||
|
@ -215,78 +185,14 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const pay_type = ref('3')
|
|
||||||
|
|
||||||
const rePay = async (e) => {
|
|
||||||
payFn(e)
|
|
||||||
return
|
|
||||||
if (!pay_type.value) return uni.$u.toast('请选择支付方式');
|
|
||||||
if (pay_type.value == 3 || pay_type.value == 18) {
|
|
||||||
let res = await userInfoApi()
|
|
||||||
return res.data.pay_password ? passwordBoardVisible.value = true : showModal.value = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// 支付密码
|
|
||||||
const password = ref(''); // 支付密码
|
|
||||||
const passwordBoardVisible = ref(false);
|
|
||||||
const passwordBoardProps = {
|
|
||||||
title: '输入支付密码',
|
|
||||||
onComplete(value) {
|
|
||||||
password.value = value
|
|
||||||
passwordBoardVisible.value = false
|
|
||||||
console.log(password.value)
|
|
||||||
// payFn()
|
|
||||||
}
|
|
||||||
};
|
|
||||||
const closeKeyBord = () => {
|
const closeKeyBord = () => {
|
||||||
password.value = ''
|
password.value = ''
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
const payFn = (e) => {
|
|
||||||
rePaymentApi({
|
|
||||||
order_id: e.id,
|
|
||||||
address_id: e.address_id,
|
|
||||||
mer_id: e.merchant,
|
|
||||||
pay_type: e.pay_type
|
|
||||||
}).then(res => {
|
|
||||||
if (res.data?.nonceStr) {
|
|
||||||
uni.requestPayment({
|
|
||||||
provider: 'wxpay',
|
|
||||||
timeStamp: res.data.timeStamp,
|
|
||||||
nonceStr: res.data.nonceStr,
|
|
||||||
package: res.data.package,
|
|
||||||
signType: res.data.signType,
|
|
||||||
paySign: res.data.paySign,
|
|
||||||
success: (e) => {
|
|
||||||
if (e.errMsg == 'requestPayment:ok') {
|
|
||||||
uni.showToast({
|
|
||||||
title: '订单支付成功',
|
|
||||||
icon: 'success'
|
|
||||||
})
|
|
||||||
reloadAll();
|
|
||||||
} else uni.$u.toast('支付失败')
|
|
||||||
},
|
|
||||||
fail: (e) => {
|
|
||||||
uni.$u.toast('用户取消支付')
|
|
||||||
}
|
|
||||||
})
|
|
||||||
} else {
|
|
||||||
uni.showToast({
|
|
||||||
title: '订单支付成功',
|
|
||||||
icon: 'success'
|
|
||||||
})
|
|
||||||
reloadAll();
|
|
||||||
}
|
|
||||||
|
|
||||||
}).catch(err => {
|
|
||||||
uni.$u.toast(err.msg || '网络错误')
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
const notWxPay = () => {
|
|
||||||
alert("不是微信支付")
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// 订单
|
// 订单
|
||||||
|
@ -331,7 +237,7 @@
|
||||||
const getOrderList = (type = 0, status = '', paid = 1, ifPullReFresh = false) => {
|
const getOrderList = (type = 0, status = '', paid = 1, ifPullReFresh = false) => {
|
||||||
if (where.value[type].loadend) return;
|
if (where.value[type].loadend) return;
|
||||||
where.value[type].loading = true;
|
where.value[type].loading = true;
|
||||||
orderListApi({
|
storeOrderListApi({
|
||||||
page_no: where.value[type].page_no,
|
page_no: where.value[type].page_no,
|
||||||
page_size: where.value[type].page_size,
|
page_size: where.value[type].page_size,
|
||||||
order_id: keyword.value,
|
order_id: keyword.value,
|
||||||
|
@ -400,6 +306,7 @@
|
||||||
if (options.back) back = options.back;
|
if (options.back) back = options.back;
|
||||||
|
|
||||||
uni.$on('reLoadOrderList', reloadAll);
|
uni.$on('reLoadOrderList', reloadAll);
|
||||||
|
getOrderList(0, '', ''); //全部
|
||||||
})
|
})
|
||||||
|
|
||||||
onUnload(() => {
|
onUnload(() => {
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
@click="callPhone(store_info.phone)">
|
@click="callPhone(store_info.phone)">
|
||||||
<view class="top" style="align-items: flex-start;">
|
<view class="top" style="align-items: flex-start;">
|
||||||
<view style="color: #333;display: flex;align-items: center;flex-shrink: 0;">
|
<view style="color: #333;display: flex;align-items: center;flex-shrink: 0;">
|
||||||
<text style="margin: 0 10rpx;color:#20B128">自提点</text>
|
<text style="margin: 0 10rpx;color:#20B128">配送点</text>
|
||||||
</view>
|
</view>
|
||||||
<view>
|
<view>
|
||||||
<view style="color: #333;">
|
<view style="color: #333;">
|
||||||
|
@ -97,7 +97,7 @@
|
||||||
<view>¥{{item.price}}</view>
|
<view>¥{{item.price}}</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="tips">
|
<view class="tips">
|
||||||
<view>{{}}</view>
|
<view>{{item.sku_name}}</view>
|
||||||
<view>x{{item.nums}}{{item.unit_name}}</view>
|
<view>x{{item.nums}}{{item.unit_name}}</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
|
@ -19,19 +19,19 @@
|
||||||
<image class="image" :src="item.image"></image>
|
<image class="image" :src="item.image"></image>
|
||||||
<view style="width: 520rpx;">
|
<view style="width: 520rpx;">
|
||||||
<view class="" style="display: flex;justify-content: space-between;">
|
<view class="" style="display: flex;justify-content: space-between;">
|
||||||
<view>
|
<view style="color: black;font-size: 30rpx;">
|
||||||
{{item.store_name}}
|
{{item.store_name}}
|
||||||
</view>
|
</view>
|
||||||
<view style="font-size: 32rpx;">
|
<view style="font-size: 24rpx;">
|
||||||
¥{{item.price}}
|
¥{{item.price}}
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="" style="display: flex;justify-content: space-between;">
|
<view class="" style="display: flex;justify-content: space-between;">
|
||||||
<view>
|
<view>
|
||||||
{{item.unit_name}}
|
{{item.sku_name}}
|
||||||
</view>
|
</view>
|
||||||
<view style="font-size: 32rpx;">
|
<view style="font-size: 24rpx;">
|
||||||
x{{item.cart_num}}
|
x{{item.cart_num}}/{{item.unit_name}}
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
|
@ -1,46 +1,14 @@
|
||||||
<template>
|
<template>
|
||||||
<view class="">
|
<view class="">
|
||||||
<!-- <view class="m-card m-address"> -->
|
|
||||||
<!-- <view class="address-info" @click="showAddress = true">
|
|
||||||
<view class="top">
|
|
||||||
<up-icon name="account"></up-icon>
|
|
||||||
<view class="t-name">{{ addressInfo.real_name }}</view>
|
|
||||||
<view>{{ addressInfo.phone }}</view>
|
|
||||||
</view>
|
|
||||||
<view class="bottom u-line-2">
|
|
||||||
{{ addressInfo.detail }}
|
|
||||||
</view>
|
|
||||||
</view> -->
|
|
||||||
<!-- <view class="address-info">
|
|
||||||
<view class="top">
|
|
||||||
{{ STORE_INFO.name }}是的
|
|
||||||
</view>
|
|
||||||
<view class="bottom u-line-2">
|
|
||||||
{{ STORE_INFO.detailed_address }}
|
|
||||||
</view>
|
|
||||||
</view> -->
|
|
||||||
<!-- <view class="address-btn item-center">
|
|
||||||
<view class='ship-type' style="">
|
|
||||||
<view class="ship-type-item" :class='{ actShipItem: orderInfo.shipping_type == 2 }'
|
|
||||||
@click='orderInfo.shipping_type = 2'>
|
|
||||||
自提
|
|
||||||
</view>
|
|
||||||
<view class="ship-type-item" @click='orderInfo.shipping_type = 1'
|
|
||||||
:class='{ actShipItem: orderInfo.shipping_type == 1 }' v-if='orderInfo.default_delivery == 1'>
|
|
||||||
配送
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view> -->
|
|
||||||
|
|
||||||
<view class="m-card m-address" style="margin-top: 20rpx;">
|
<view class="m-card m-address" style="margin-top: 20rpx;">
|
||||||
<view class="address-info"
|
<view class="address-info"
|
||||||
style='display: flex;justify-content: space-between;width: 690rpx;align-items: center;'>
|
style='display: flex;justify-content: space-between;width: 690rpx;align-items: center;'>
|
||||||
<view class="top" style="align-items: flex-start;">
|
<view class="top" style="align-items: flex-start;">
|
||||||
<view style="color: #333;width: 200rpx;">
|
<!-- <view style="color: #333;width: 200rpx;">
|
||||||
<view style="margin: 0 10rpx;color:#20B128;width: 150rpx;">推荐自提点</view>
|
<view style="margin: 0 10rpx;color:#20B128;width: 150rpx;">配送点</view>
|
||||||
<view class="isreser"> {{reservation?"次日可提":"当日可提" }}
|
<view class="isreser"> {{reservation?"次日可提":"当日可提" }}
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view> -->
|
||||||
<view>
|
<view>
|
||||||
<view style="color: #333;">
|
<view style="color: #333;">
|
||||||
{{shop_Info.name}}
|
{{shop_Info.name}}
|
||||||
|
@ -57,31 +25,34 @@
|
||||||
</view>
|
</view>
|
||||||
<view style="padding: 20rpx;background-color:#20B128;color: white;border-radius: 40rpx;flex-shrink: 0;"
|
<view style="padding: 20rpx;background-color:#20B128;color: white;border-radius: 40rpx;flex-shrink: 0;"
|
||||||
@click="navgo(`/multipleShop/index/index?event=settle&cart_id=${cartStore.cartList.join(',')}`)">
|
@click="navgo(`/multipleShop/index/index?event=settle&cart_id=${cartStore.cartList.join(',')}`)">
|
||||||
切换门店
|
切换配送点
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
<view class="m-card good-info">
|
||||||
|
<view class="head-title">商品明细</view>
|
||||||
|
|
||||||
<!-- </view> -->
|
<view class="m-good" v-for="(item, index) in cartList" :key="index">
|
||||||
<view class="m-card m-good" v-for="(item, index) in cartList" :key="index">
|
<view class="image">
|
||||||
<view class="image">
|
<up-image width="160rpx" height="160rpx" :src="item.imgs"></up-image>
|
||||||
<up-image width="160rpx" height="160rpx" :src="item.imgs"></up-image>
|
</view>
|
||||||
</view>
|
<view class="body-content">
|
||||||
<view class="body-content">
|
<view>
|
||||||
<view>
|
<view class="title">
|
||||||
<view class="title">
|
<view>{{ item.name }}</view>
|
||||||
<view>{{ item.name }}</view>
|
<view>¥{{ item.price }}</view>
|
||||||
<view>¥{{ item.price }}</view>
|
</view>
|
||||||
|
<view class="tips">
|
||||||
|
<view>{{ item.sku_name }}</view>
|
||||||
|
<view>x{{ item.cart_num }}/{{ item.unit_name }}</view>
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="tips">
|
<view class="time">
|
||||||
<view>{{ item.unit_name }}</view>
|
{{ orderInfo.delivery_msg }}
|
||||||
<view>x{{ item.cart_num }}</view>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="time">
|
|
||||||
{{ orderInfo.delivery_msg }}
|
|
||||||
</view>
|
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="m-card good-info">
|
<view class="m-card good-info">
|
||||||
|
@ -92,7 +63,7 @@
|
||||||
<text>¥</text>{{ c_price(orderInfo.pay_price, 0) }}<text>.{{ c_price(orderInfo.pay_price, 1) }}</text>
|
<text>¥</text>{{ c_price(orderInfo.pay_price, 0) }}<text>.{{ c_price(orderInfo.pay_price, 1) }}</text>
|
||||||
</view>
|
</view>
|
||||||
<view v-else>
|
<view v-else>
|
||||||
<up-skeleton :loading="true" :animate="true" ></up-skeleton>
|
<up-skeleton :loading="true" :animate="true"></up-skeleton>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="row">
|
<view class="row">
|
||||||
|
@ -101,16 +72,25 @@
|
||||||
</view>
|
</view>
|
||||||
<view class="row" v-if="[4,5,6].includes(userInfo.user_ship)" style="color: red;">
|
<view class="row" v-if="[4,5,6].includes(userInfo.user_ship)" style="color: red;">
|
||||||
<view>优惠减免</view>
|
<view>优惠减免</view>
|
||||||
<view>
|
<view v-if="orderInfo.frozen_money">
|
||||||
<text>¥</text>{{ c_price(orderInfo.frozen_money, 0) }}<text>.{{ c_price(orderInfo.frozen_money, 1) }}</text>
|
<text>¥</text>{{ c_price(orderInfo.frozen_money, 0) }}<text>.{{ c_price(orderInfo.frozen_money, 1) }}</text>
|
||||||
</view>
|
</view>
|
||||||
|
<view v-else>
|
||||||
|
<up-skeleton :loading="true" :animate="true"></up-skeleton>
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="row" v-if="userInfo.user_ship==1 ">
|
<view class="row" v-if="userInfo.user_ship==1 ">
|
||||||
<view>优惠返还</view>
|
<view>优惠返还</view>
|
||||||
<view>
|
<view v-if="orderInfo.activity_price">
|
||||||
<text>¥</text>{{ c_price(orderInfo.activity_price, 0) }}<text>.{{ c_price(orderInfo.activity_price, 1) }}</text>
|
<text>¥</text>{{ c_price(orderInfo.activity_price, 0) }}<text>.{{ c_price(orderInfo.activity_price, 1) }}</text>
|
||||||
</view>
|
</view>
|
||||||
|
<view v-else>
|
||||||
|
<up-skeleton :loading="true" :animate="true"></up-skeleton>
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
<up-alert v-if="timeContent!=''" type="error" :description="timeContent"></up-alert>
|
||||||
|
<!-- <up-notice-bar text="门店切换已移动到首页,若切换店铺,购物车商品将跟随门店一起切换"></up-notice-bar> -->
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="m-card order-remark">
|
<view class="m-card order-remark">
|
||||||
|
@ -201,6 +181,7 @@
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
</view>
|
</view>
|
||||||
|
<up-modal :show="timeShow" :content='timeContent' @confirm="timeShow=false"></up-modal>
|
||||||
|
|
||||||
<addressPopup ref="addressRef" :show="showAddress" :list="addressList" @close="showAddress = false"
|
<addressPopup ref="addressRef" :show="showAddress" :list="addressList" @close="showAddress = false"
|
||||||
@change="changeAddress" />
|
@change="changeAddress" />
|
||||||
|
@ -213,20 +194,6 @@
|
||||||
<up-modal :show="showModal" title="您还没设置密码" :closeOnClickOverlay="true" zoom confirmText='去设置' showCancelButton
|
<up-modal :show="showModal" title="您还没设置密码" :closeOnClickOverlay="true" zoom confirmText='去设置' showCancelButton
|
||||||
@close='showModal=false' @cancel='showModal=false' @confirm="navgo('/pagesOrder/setPayPassword/index')"
|
@close='showModal=false' @cancel='showModal=false' @confirm="navgo('/pagesOrder/setPayPassword/index')"
|
||||||
confirmColor='#27B52F' cancelText='取消'></up-modal>
|
confirmColor='#27B52F' cancelText='取消'></up-modal>
|
||||||
<up-popup :show="LocationShow" mode="bottom" @open="LocationShowOpen()">
|
|
||||||
<view style="margin: 40rpx 10rpx;">
|
|
||||||
<up-row customStyle="margin-bottom: 10px" gutter="10">
|
|
||||||
<up-col span="6">
|
|
||||||
<up-button text="取消" @click="userLocationfalse()"></up-button>
|
|
||||||
</up-col>
|
|
||||||
<up-col span="6">
|
|
||||||
<up-button type="primary" text="设置授权" color="#20B128" @click="opensettings()"></up-button>
|
|
||||||
</up-col>
|
|
||||||
</up-row>
|
|
||||||
|
|
||||||
</view>
|
|
||||||
|
|
||||||
</up-popup>
|
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -260,18 +227,22 @@
|
||||||
|
|
||||||
const userInfo = useUserStore().userInfo;
|
const userInfo = useUserStore().userInfo;
|
||||||
const shop_Info = ref({})
|
const shop_Info = ref({})
|
||||||
|
|
||||||
// 用户选择的门店信息
|
// 用户选择的门店信息
|
||||||
let STORE_INFO = uni.getStorageSync('STORE_INFO');
|
let STORE_INFO = uni.getStorageSync('STORE_INFO');
|
||||||
if (STORE_INFO){
|
console.log(STORE_INFO)
|
||||||
|
if (STORE_INFO) {
|
||||||
shop_Info.value = JSON.parse(STORE_INFO)
|
shop_Info.value = JSON.parse(STORE_INFO)
|
||||||
|
} else {
|
||||||
|
uni.$u.toast('获取门店信息失败,请在首页选择门店')
|
||||||
}
|
}
|
||||||
|
|
||||||
const cartStore = useCartStore();
|
const cartStore = useCartStore();
|
||||||
const reservation_time = ref('')
|
const reservation_time = ref('')
|
||||||
const is_storage = ref(0)
|
const is_storage = ref(0)
|
||||||
const LocationShow = ref(false)
|
const LocationShow = ref(false)
|
||||||
|
const timeShow = ref(false)
|
||||||
|
const timeContent = ref('')
|
||||||
const formData = ref({
|
const formData = ref({
|
||||||
remark: ""
|
remark: ""
|
||||||
})
|
})
|
||||||
|
@ -413,6 +384,10 @@
|
||||||
cartList.value = res.data.cart_list;
|
cartList.value = res.data.cart_list;
|
||||||
orderInfo.value = res.data.order;
|
orderInfo.value = res.data.order;
|
||||||
shop_Info.value = res.data.shopInfo || {}
|
shop_Info.value = res.data.shopInfo || {}
|
||||||
|
if (res.data.alert != '') {
|
||||||
|
timeShow.value = true
|
||||||
|
timeContent.value = res.data.alert
|
||||||
|
}
|
||||||
checkInventoryApi({
|
checkInventoryApi({
|
||||||
cart_id: cartStore.cartList,
|
cart_id: cartStore.cartList,
|
||||||
store_id: store_id || res.data.shopInfo.id
|
store_id: store_id || res.data.shopInfo.id
|
||||||
|
@ -425,24 +400,6 @@
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
uni.$on('settle', function(data) {
|
|
||||||
let datas = JSON.parse(data)
|
|
||||||
shop_Info.value = datas
|
|
||||||
console.log(datas)
|
|
||||||
checkInventoryApi({
|
|
||||||
cart_id: cartStore.cartList,
|
|
||||||
store_id: datas.id
|
|
||||||
}).then(res => {
|
|
||||||
reservation.value = res.data.reservation
|
|
||||||
})
|
|
||||||
checkOrder(datas.id)
|
|
||||||
// formData.store_id = datas.id
|
|
||||||
// formData.store_name = datas.name
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// const checkOrderA
|
// const checkOrderA
|
||||||
const pay_type = ref('7');
|
const pay_type = ref('7');
|
||||||
|
|
||||||
|
@ -560,98 +517,18 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
onLoad(options => {
|
onLoad(options => {
|
||||||
// if (uni.getStorageSync('location')) {
|
checkOrder(shop_Info.value.id);
|
||||||
// try {
|
|
||||||
// location = JSON.parse(uni.getStorageSync('location'))
|
|
||||||
// checkOrder();
|
|
||||||
// } catch (e) {
|
|
||||||
// getLocation()
|
|
||||||
// }
|
|
||||||
// } else {
|
|
||||||
getLocation()
|
|
||||||
// }
|
|
||||||
})
|
})
|
||||||
|
|
||||||
const getLocation = () => {
|
|
||||||
// #ifdef H5
|
|
||||||
userLocationfalse()
|
|
||||||
// #endif
|
|
||||||
// #ifdef MP-WEIXIN
|
|
||||||
uni.getSetting({
|
|
||||||
success(res) {
|
|
||||||
if (res.authSetting["scope.userLocation"] == false) {
|
|
||||||
LocationShowOpen()
|
|
||||||
} else {
|
|
||||||
opensettings(true)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
// #endif
|
|
||||||
|
|
||||||
}
|
|
||||||
const LocationShowOpen = () => {
|
|
||||||
LocationShow.value = true;
|
|
||||||
}
|
|
||||||
const userLocationfalse = () => {
|
|
||||||
LocationShow.value = false;
|
|
||||||
uni.$u.toast('获取位置当前失败,为你推荐当前门店')
|
|
||||||
checkOrder(shop_Info.value.id);
|
|
||||||
}
|
|
||||||
const opensettings = (a = false) => {
|
|
||||||
if (a == false) {
|
|
||||||
uni.openSetting({
|
|
||||||
success(res) {
|
|
||||||
LocationShow.value = false;
|
|
||||||
if (res.authSetting["scope.userLocation"] == true) {
|
|
||||||
uni.authorize({
|
|
||||||
scope: 'scope.userLocation',
|
|
||||||
success() {
|
|
||||||
uni.getLocation({
|
|
||||||
type: "gcj02",
|
|
||||||
success(res) {
|
|
||||||
location.lat = res.latitude;
|
|
||||||
location.long = res.longitude;
|
|
||||||
uni.setStorageSync('location', JSON.stringify(
|
|
||||||
location))
|
|
||||||
checkOrder();
|
|
||||||
},
|
|
||||||
})
|
|
||||||
},
|
|
||||||
fail(e) {
|
|
||||||
userLocationfalse()
|
|
||||||
},
|
|
||||||
})
|
|
||||||
}
|
|
||||||
},
|
|
||||||
fail(e) {
|
|
||||||
userLocationfalse()
|
|
||||||
}
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
uni.authorize({
|
|
||||||
scope: 'scope.userLocation',
|
|
||||||
success() {
|
|
||||||
uni.getLocation({
|
|
||||||
type: "gcj02",
|
|
||||||
success(res) {
|
|
||||||
location.lat = res.latitude;
|
|
||||||
location.long = res.longitude;
|
|
||||||
uni.setStorageSync('location', JSON.stringify(location))
|
|
||||||
checkOrder();
|
|
||||||
},
|
|
||||||
})
|
|
||||||
},
|
|
||||||
fail(e) {
|
|
||||||
userLocationfalse()
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
onShow(() => {
|
onShow(() => {
|
||||||
getAddressList();
|
getAddressList();
|
||||||
})
|
})
|
||||||
|
|
||||||
|
uni.$on('settle', function(data) {
|
||||||
|
let datas = JSON.parse(data)
|
||||||
|
shop_Info.value = datas
|
||||||
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
|
|
|
@ -0,0 +1,62 @@
|
||||||
|
{
|
||||||
|
"name": "uview-plus",
|
||||||
|
"version": "3.2.14",
|
||||||
|
"lockfileVersion": 3,
|
||||||
|
"requires": true,
|
||||||
|
"packages": {
|
||||||
|
"": {
|
||||||
|
"name": "uview-plus",
|
||||||
|
"version": "3.2.14",
|
||||||
|
"dependencies": {
|
||||||
|
"clipboard": "^2.0.11",
|
||||||
|
"dayjs": "^1.11.3",
|
||||||
|
"uview-plus": "file:"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"HBuilderX": "^3.1.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/clipboard": {
|
||||||
|
"version": "2.0.11",
|
||||||
|
"resolved": "https://registry.npmjs.org/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/dayjs": {
|
||||||
|
"version": "1.11.13",
|
||||||
|
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz",
|
||||||
|
"integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg=="
|
||||||
|
},
|
||||||
|
"node_modules/delegate": {
|
||||||
|
"version": "3.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz",
|
||||||
|
"integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw=="
|
||||||
|
},
|
||||||
|
"node_modules/good-listener": {
|
||||||
|
"version": "1.2.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz",
|
||||||
|
"integrity": "sha512-goW1b+d9q/HIwbVYZzZ6SsTr4IgE+WA44A0GmPIQstuOrgsFcT7VEJ48nmr9GaRtNu0XTKacFLGnBPAM6Afouw==",
|
||||||
|
"dependencies": {
|
||||||
|
"delegate": "^3.1.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/select": {
|
||||||
|
"version": "1.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz",
|
||||||
|
"integrity": "sha512-OwpTSOfy6xSs1+pwcNrv0RBMOzI39Lp3qQKUTPVVPRjCdNa5JH/oPRiqsesIskK8TVgmRiHwO4KXlV2Li9dANA=="
|
||||||
|
},
|
||||||
|
"node_modules/tiny-emitter": {
|
||||||
|
"version": "2.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz",
|
||||||
|
"integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q=="
|
||||||
|
},
|
||||||
|
"node_modules/uview-plus": {
|
||||||
|
"resolved": "",
|
||||||
|
"link": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -5,21 +5,21 @@
|
||||||
"version": "3.2.14",
|
"version": "3.2.14",
|
||||||
"description": "uview-plus已兼容vue3,全面的组件和便捷的工具会让您信手拈来,如鱼得水",
|
"description": "uview-plus已兼容vue3,全面的组件和便捷的工具会让您信手拈来,如鱼得水",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"uview",
|
"uview",
|
||||||
"uview-plus",
|
"uview-plus",
|
||||||
"ui",
|
"ui",
|
||||||
"ui",
|
"ui",
|
||||||
"uni-app",
|
"uni-app",
|
||||||
"uni-app",
|
"uni-app",
|
||||||
"ui"
|
"ui"
|
||||||
],
|
],
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"repository": "https://github.com/ijry/uview-plus",
|
"repository": "https://github.com/ijry/uview-plus",
|
||||||
"engines": {
|
"engines": {
|
||||||
"HBuilderX": "^3.1.0"
|
"HBuilderX": "^3.1.0"
|
||||||
},
|
},
|
||||||
"dcloudext": {
|
"dcloudext": {
|
||||||
"sale": {
|
"sale": {
|
||||||
"regular": {
|
"regular": {
|
||||||
"price": "0.00"
|
"price": "0.00"
|
||||||
},
|
},
|
||||||
|
@ -35,8 +35,8 @@
|
||||||
"data": "无",
|
"data": "无",
|
||||||
"permissions": "无"
|
"permissions": "无"
|
||||||
},
|
},
|
||||||
"npmurl": "https://www.npmjs.com/package/uview-plus",
|
"npmurl": "https://www.npmjs.com/package/uview-plus",
|
||||||
"type": "component-vue"
|
"type": "component-vue"
|
||||||
},
|
},
|
||||||
"uni_modules": {
|
"uni_modules": {
|
||||||
"dependencies": [],
|
"dependencies": [],
|
||||||
|
@ -44,8 +44,8 @@
|
||||||
"platforms": {
|
"platforms": {
|
||||||
"cloud": {
|
"cloud": {
|
||||||
"tcb": "y",
|
"tcb": "y",
|
||||||
"aliyun": "y",
|
"aliyun": "y",
|
||||||
"alipay": "n"
|
"alipay": "n"
|
||||||
},
|
},
|
||||||
"client": {
|
"client": {
|
||||||
"Vue": {
|
"Vue": {
|
||||||
|
@ -85,9 +85,10 @@
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"clipboard": "^2.0.11",
|
"clipboard": "^2.0.11",
|
||||||
"dayjs": "^1.11.3"
|
"dayjs": "^1.11.3",
|
||||||
|
"uview-plus": "file:"
|
||||||
},
|
},
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"registry": "https://registry.npmjs.org/"
|
"registry": "https://registry.npmjs.org/"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
{
|
||||||
|
"name": "@uview-plus/types",
|
||||||
|
"version": "3.2.5",
|
||||||
|
"lockfileVersion": 3,
|
||||||
|
"requires": true,
|
||||||
|
"packages": {
|
||||||
|
"": {
|
||||||
|
"name": "@uview-plus/types",
|
||||||
|
"version": "3.2.5",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@uview-plus/types": "file:"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@uview-plus/types": {
|
||||||
|
"resolved": "",
|
||||||
|
"link": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -22,5 +22,8 @@
|
||||||
"homepage": "https://github.com/ijry/uview-plus#readme",
|
"homepage": "https://github.com/ijry/uview-plus#readme",
|
||||||
"publishConfig": {
|
"publishConfig": {
|
||||||
"registry": "https://registry.npmjs.org/"
|
"registry": "https://registry.npmjs.org/"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"@uview-plus/types": "file:"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,6 +22,7 @@ function baseRequest(url, method, data, {
|
||||||
url: Url + '/api' + url,
|
url: Url + '/api' + url,
|
||||||
method: method || 'GET',
|
method: method || 'GET',
|
||||||
header: {
|
header: {
|
||||||
|
accept:'json',
|
||||||
...header
|
...header
|
||||||
},
|
},
|
||||||
data: method != 'GET' ? data || {} : {},
|
data: method != 'GET' ? data || {} : {},
|
||||||
|
|
Loading…
Reference in New Issue