Merge branch 'old' of https://gitea.lihaink.cn/mkm/nk-shop2.0 into old
This commit is contained in:
commit
0712895bea
3
App.vue
3
App.vue
@ -219,7 +219,6 @@
|
||||
|
||||
|
||||
|
||||
|
||||
},
|
||||
onShow() {
|
||||
|
||||
@ -420,7 +419,7 @@
|
||||
this.setOpenShare(res.data);
|
||||
// #endif
|
||||
}).catch(err => {});
|
||||
}
|
||||
},
|
||||
},
|
||||
onHide: function() {
|
||||
//console.log('App Hide')
|
||||
|
@ -177,7 +177,7 @@
|
||||
|
||||
.price {
|
||||
margin-left: 21rpx;
|
||||
margin-bottom: 10rpx;
|
||||
// margin-bottom: 10rpx;
|
||||
color: #F84221;
|
||||
font-size: 44rpx;
|
||||
font-weight: 600;
|
||||
|
@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<view :style="viewColor">
|
||||
<view :style="viewColor" @touchmove.stop.prevent="()=>{}">
|
||||
<view class="add_invoicing" :class="invoice.invoice==true?'on':''">
|
||||
<view class='title'>选择发票<text class='iconfont icon-guanbi' @tap='close'></text></view>
|
||||
<form @submit="formSubmit" report-submit="true">
|
||||
@ -302,11 +302,15 @@
|
||||
this.popupTitle = false;
|
||||
},
|
||||
changeHeader(e) {
|
||||
console.log(e);
|
||||
this.receipt_title_type = e.detail.value;
|
||||
if(e.detail.value == 1){
|
||||
this.receipt_type = 1;
|
||||
this.typeName = '增值税电子普通发票'
|
||||
}
|
||||
}else {
|
||||
this.receipt_type = 2;
|
||||
this.typeName = '增值税专用发票'
|
||||
}
|
||||
this.receipt_type
|
||||
},
|
||||
changeDefault(e) {
|
||||
|
@ -32,10 +32,16 @@
|
||||
</view>
|
||||
</view>
|
||||
<u-line></u-line>
|
||||
<view class="m_title">规格选中</view>
|
||||
<view class="flex">
|
||||
<view class="attr" :class="{'attr_active': item==sku_key}" v-for="item in sku_key_list" :key="item" @click="sku_key = item">{{item||'默认'}}</view>
|
||||
</view>
|
||||
<block name="规格选中" v-for="(att, indexw) in attr" :key="indexw">
|
||||
<view class="m_title">{{att.attr_name}}</view>
|
||||
<view class="flex" style="flex-wrap: wrap;">
|
||||
<view class="attr" :class="{'attr_active': item.check}"
|
||||
v-for="(item, indexn) in att.attr_value" :key="indexn"
|
||||
@click="changeAttr(indexw, indexn)">
|
||||
{{item.attr}}
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
<view class="m_title num">
|
||||
<view>购买数量</view>
|
||||
<view class="input">
|
||||
@ -45,7 +51,7 @@
|
||||
</view>
|
||||
</view>
|
||||
<view>
|
||||
商品库存 <text style="margin-left: 20rpx;">{{(sku[sku_key] && sku[sku_key].stock)||change.stock}}</text>
|
||||
商品库存 <text style="margin-left: 20rpx;">{{(sku[changeSkuKey] && sku[changeSkuKey].stock)||change.stock}}</text>
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
@ -65,9 +71,16 @@
|
||||
<script>
|
||||
import {
|
||||
postCartAdd,
|
||||
getProductDetail
|
||||
} from '@/api/store.js';
|
||||
export default {
|
||||
name: "shortPopup",
|
||||
props: {
|
||||
source:{
|
||||
type: Number,
|
||||
default: null
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
isShow: false, //当前是否打开弹窗
|
||||
@ -82,9 +95,11 @@
|
||||
},
|
||||
product: {},
|
||||
attrValue: [],
|
||||
attr: [], //多级规格
|
||||
changeSkuKey: '', //多级规格选中的key
|
||||
sku: {}, //规格
|
||||
sku_key_list: [], //规格名称列表
|
||||
sku_key: '', //选中的规格名称
|
||||
changeSkuKey: '', //选中的规格名称
|
||||
change: {
|
||||
stock: ''
|
||||
},
|
||||
@ -96,15 +111,21 @@
|
||||
mounted() {},
|
||||
computed:{
|
||||
leftPrice(){
|
||||
return this.sku[this.sku_key]?.price?.split('.')[0]||'0';
|
||||
return this.sku[this.changeSkuKey]?.price?.split('.')[0]||'0';
|
||||
},
|
||||
rightPrice(){
|
||||
return this.sku[this.sku_key]?.price?.split('.')[1]||'00';
|
||||
return this.sku[this.changeSkuKey]?.price?.split('.')[1]||'00';
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 注入参数,
|
||||
setDatas(datas, goodsNum) {
|
||||
getProductDetail(datas.product_id).then((res)=>{
|
||||
this.attr = res.data.attr;
|
||||
this.attr.forEach((item, index)=>{
|
||||
this.changeAttr(index, 0);
|
||||
})
|
||||
})
|
||||
this.goodsNum = goodsNum;
|
||||
this.datas = datas;
|
||||
this.product = datas.product;
|
||||
@ -113,18 +134,17 @@
|
||||
this.cart_num = 1;
|
||||
this.sku = datas.sku||{};
|
||||
this.sku_key_list = Object.keys(this.sku);
|
||||
this.sku_key = this.sku_key_list[0];
|
||||
},
|
||||
// 输入购买数量
|
||||
inputCartNum(e) {
|
||||
if(this.sku){
|
||||
if (+e.detail.value > this.sku[this.sku_key].stock) {
|
||||
if (+e.detail.value > this.sku[this.changeSkuKey].stock) {
|
||||
uni.showToast({
|
||||
icon: 'none',
|
||||
title: '不能超出库存哦'
|
||||
})
|
||||
this.$nextTick(() => {
|
||||
this.cart_num = this.sku[this.sku_key].stock;
|
||||
this.cart_num = this.sku[this.changeSkuKey].stock;
|
||||
})
|
||||
}
|
||||
}else if (this.change.stock <= this.cart_num) {
|
||||
@ -150,7 +170,7 @@
|
||||
// 增加购买数量
|
||||
plusCartNum() {
|
||||
if(this.sku){
|
||||
if (this.sku[this.sku_key].stock <= this.cart_num) {
|
||||
if (this.sku[this.changeSkuKey].stock <= this.cart_num) {
|
||||
return uni.showToast({
|
||||
icon: 'none',
|
||||
title: '不能超出库存哦'
|
||||
@ -164,20 +184,43 @@
|
||||
}
|
||||
this.cart_num++;
|
||||
},
|
||||
changeAttr: function(indexw, indexn) {
|
||||
let that = this;
|
||||
this.$set(this.attr[indexw], 'index', this.attr[indexw].attr_values[indexn]);
|
||||
this.attr[indexw].attr_value.forEach((item, index)=>{
|
||||
if(index==indexn)item.check = true;
|
||||
else item.check = false;
|
||||
})
|
||||
let value = that.getCheckedValue().join(",");
|
||||
this.changeSkuKey = value;
|
||||
},
|
||||
//获取被选中属性;
|
||||
getCheckedValue: function() {
|
||||
let productAttr = this.attr;
|
||||
let value = [];
|
||||
for (let i = 0; i < productAttr.length; i++) {
|
||||
for (let j = 0; j < productAttr[i].attr_values.length; j++) {
|
||||
if (productAttr[i].index === productAttr[i].attr_values[j]) {
|
||||
value.push(productAttr[i].attr_values[j]);
|
||||
}
|
||||
}
|
||||
}
|
||||
return value;
|
||||
},
|
||||
// 加入购物车
|
||||
addcart() {
|
||||
if (this.sku[this.sku_key]) {
|
||||
if (this.cart_num > this.sku[this.sku_key].stock) return uni.showToast({
|
||||
if (this.sku[this.changeSkuKey]) {
|
||||
if (this.cart_num > this.sku[this.changeSkuKey].stock) return uni.showToast({
|
||||
icon: 'none',
|
||||
title: '不能超出库存哦'
|
||||
})
|
||||
let data = {
|
||||
cart_num: this.cart_num,
|
||||
is_new: 0,
|
||||
product_attr_unique: this.sku[this.sku_key].unique,
|
||||
product_attr_unique: this.sku[this.changeSkuKey].unique,
|
||||
product_id: this.datas.product_id,
|
||||
product_type: this.datas.product_type,
|
||||
// source: 103,
|
||||
source: this.source,
|
||||
spread_id: "",
|
||||
}
|
||||
let that = this
|
||||
|
@ -2,8 +2,8 @@
|
||||
"name" : "惠农生活",
|
||||
"appid" : "__UNI__3A527D1",
|
||||
"description" : "",
|
||||
"versionName" : "1.5.8",
|
||||
"versionCode" : 158,
|
||||
"versionName" : "1.6.1",
|
||||
"versionCode" : 161,
|
||||
"transformPx" : false,
|
||||
/* 5+App特有相关 */
|
||||
"app-plus" : {
|
||||
@ -16,7 +16,7 @@
|
||||
"ignoreVersion" : true //true表示忽略版本检查提示框,HBuilderX1.9.0及以上版本支持
|
||||
},
|
||||
"splashscreen" : {
|
||||
"alwaysShowBeforeRender" : true,
|
||||
"alwaysShowBeforeRender" : false,
|
||||
"waiting" : true,
|
||||
"autoclose" : true,
|
||||
"delay" : 0
|
||||
@ -165,7 +165,16 @@
|
||||
},
|
||||
"splashscreen" : {
|
||||
"useOriginalMsgbox" : true,
|
||||
"androidStyle" : "common"
|
||||
"androidStyle" : "default",
|
||||
"iosStyle" : "common",
|
||||
"ios" : {
|
||||
"storyboard" : "C:/Users/ghf/Downloads/CustomStoryboard.zip"
|
||||
},
|
||||
"android" : {
|
||||
"hdpi" : "",
|
||||
"xhdpi" : "",
|
||||
"xxhdpi" : "static/images/guide.png"
|
||||
}
|
||||
}
|
||||
},
|
||||
"nativePlugins" : {
|
||||
|
9
package-lock.json
generated
9
package-lock.json
generated
@ -1,6 +1,8 @@
|
||||
{
|
||||
"requires": true,
|
||||
"name": "e-select下拉选择器",
|
||||
"version": "1.0.7",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
"ansi-regex": {
|
||||
"version": "2.1.1",
|
||||
@ -424,6 +426,11 @@
|
||||
"integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
|
||||
"dev": true
|
||||
},
|
||||
"tiny-pinyin": {
|
||||
"version": "1.3.2",
|
||||
"resolved": "https://registry.npmmirror.com/tiny-pinyin/-/tiny-pinyin-1.3.2.tgz",
|
||||
"integrity": "sha512-uHNGu4evFt/8eNLldazeAM1M8JrMc1jshhJJfVRARTN3yT8HEEibofeQ7QETWQ5ISBjd6fKtTVBCC/+mGS6FpA=="
|
||||
},
|
||||
"to-fast-properties": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz",
|
||||
|
@ -12,5 +12,8 @@
|
||||
"前端组件",
|
||||
"通用组件"
|
||||
]
|
||||
},
|
||||
"dependencies": {
|
||||
"tiny-pinyin": "^1.3.2"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
62
pages.json
62
pages.json
@ -1,32 +1,5 @@
|
||||
{
|
||||
"pages": [
|
||||
//#ifdef APP-PLUS
|
||||
//启动页
|
||||
{
|
||||
"path": "pages/guide/judge",
|
||||
"style": {
|
||||
"enablePullDownRefresh": false,
|
||||
"onReachBottomDistance": 100,
|
||||
"navigationStyle": "custom",
|
||||
"app-plus": {
|
||||
"contentAdjust": false,
|
||||
"bounce": "none"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/guide/guide",
|
||||
"style": {
|
||||
"enablePullDownRefresh": false,
|
||||
"onReachBottomDistance": 100,
|
||||
"navigationStyle": "custom",
|
||||
"app-plus": {
|
||||
"contentAdjust": false,
|
||||
"bounce": "none"
|
||||
}
|
||||
}
|
||||
},
|
||||
// #endif
|
||||
//pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
|
||||
{
|
||||
"path": "pages/index/index",
|
||||
@ -43,6 +16,33 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
//#ifdef APP-PLUS
|
||||
//启动页
|
||||
{
|
||||
"path": "pages/guide/judge",
|
||||
"style": {
|
||||
"enablePullDownRefresh": false,
|
||||
"onReachBottomDistance": 100,
|
||||
"navigationStyle": "custom",
|
||||
"app-plus": {
|
||||
"contentAdjust": false,
|
||||
"bounce": "none"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/guide/guide",
|
||||
"style": {
|
||||
"enablePullDownRefresh": false,
|
||||
"onReachBottomDistance": 100,
|
||||
"navigationStyle": "custom",
|
||||
"app-plus": {
|
||||
"contentAdjust": false,
|
||||
"bounce": "none"
|
||||
}
|
||||
}
|
||||
},
|
||||
// #endif
|
||||
{
|
||||
"path": "pages/gather/gather",
|
||||
"style": {
|
||||
@ -178,6 +178,14 @@
|
||||
"enablePullDownRefresh": false
|
||||
}
|
||||
|
||||
},
|
||||
{
|
||||
"path" : "pages/select_address/select_address",
|
||||
"style" :
|
||||
{
|
||||
"navigationBarTitleText" : "选择位置",
|
||||
"enablePullDownRefresh" : false
|
||||
}
|
||||
}
|
||||
],
|
||||
"subPackages": [{
|
||||
|
@ -994,7 +994,7 @@
|
||||
ChangeAttr: function(res) {
|
||||
let productSelect = this.productValue[res];
|
||||
if (productSelect) this.$set(this, "uniqueValue", productSelect.unique);
|
||||
console.log(productSelect, this.storeInfo);
|
||||
// console.log(productSelect, this.storeInfo);
|
||||
if (productSelect && productSelect.stock > 0) {
|
||||
this.$set(this.attr.productSelect, "image", productSelect.image ? productSelect.image : this
|
||||
.storeInfo
|
||||
|
@ -35,8 +35,8 @@
|
||||
data() {
|
||||
return {
|
||||
//修改图片,文字描述
|
||||
imageList: [{
|
||||
|
||||
imageList: [
|
||||
{
|
||||
src: '/static/images/guide.png'
|
||||
}
|
||||
|
||||
|
@ -15,7 +15,6 @@
|
||||
var launchFlag = uni.getStorageSync('launchFlag');
|
||||
// console.log("launchFlag:" + launchFlag);
|
||||
if (launchFlag) { //判断本地缓存跳转首页
|
||||
|
||||
uni.switchTab({
|
||||
url:'/pages/index/index'
|
||||
})
|
||||
|
@ -171,7 +171,7 @@
|
||||
</view>
|
||||
</uni-popup>
|
||||
|
||||
<shortPopup ref="shortPopupRef" @addCart="loadCart"></shortPopup>
|
||||
<shortPopup ref="shortPopupRef" @addCart="loadCart" :source="103"></shortPopup>
|
||||
|
||||
</view>
|
||||
</template>
|
||||
|
@ -91,7 +91,7 @@
|
||||
<u-scroll-list indicatorActiveColor='#FF6D20' :indicator="true">
|
||||
<view class="menu_li" :class="{'menu_li_on': item.store_category_id==store_category_id}" @click="changeMerchant(item.store_category_id)" v-for="item,index in menuList"
|
||||
:key="index">
|
||||
<u--image class="image" :showLoading="true" :src="item.background" width="87.62rpx" height="87.62rpx" shape="circle"
|
||||
<u--image class="image" :showLoading="true" :src="item.pic" width="87.62rpx" height="87.62rpx" shape="circle"
|
||||
></u--image>
|
||||
<view class="li_text" style="display: block;font-size: 26.29rpx;margin-top: 10rpx;">{{item.cate_name}}</view>
|
||||
</view>
|
||||
|
@ -397,10 +397,11 @@
|
||||
</view>
|
||||
<view class="grayBg">
|
||||
<view class="pictrue">
|
||||
<image :src="codeUrl"></image>
|
||||
<image class="image" :class="{'used-white': orderInfo.order_status!=7}" :src="codeUrl"></image>
|
||||
<image v-if="orderInfo.order_status!=7" class="used-img" src="@/static/images/used.png"></image>
|
||||
</view>
|
||||
</view>
|
||||
<view class="num">{{orderInfo.verify_code}}</view>
|
||||
<view class="num" :class="{'used-white': orderInfo.order_status!=7}">{{orderInfo.verify_code}}</view>
|
||||
</view>
|
||||
</uni-popup>
|
||||
<u-popup :show="show" bgColor='transparent' mode='center'>
|
||||
@ -778,7 +779,7 @@
|
||||
showMaoLocation: function() {
|
||||
if (!this.orderInfo.take.mer_take_location[0] || !this.orderInfo.take.mer_take_location[1]) return this
|
||||
.$util.Tips({
|
||||
title: '请设置允许商城访问您的位置!'
|
||||
title: '商家未设置具体位置!请联系商家!'
|
||||
});
|
||||
let that = this,
|
||||
lat = parseFloat(that.orderInfo.take.mer_take_location[0]),
|
||||
@ -1522,9 +1523,21 @@
|
||||
width: 290rpx;
|
||||
height: 290rpx;
|
||||
margin: 0 auto;
|
||||
position: relative;
|
||||
.used-img{
|
||||
width: 175.23rpx;
|
||||
height: 175.23rpx;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
}
|
||||
}
|
||||
|
||||
.grayBg .pictrue image {
|
||||
.used-white{
|
||||
opacity: 0.2;
|
||||
}
|
||||
|
||||
.grayBg .pictrue .image {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: block;
|
||||
@ -1665,6 +1678,22 @@
|
||||
background: #ffffff;
|
||||
border-radius: 16rpx 16rpx 0 0;
|
||||
position: relative;
|
||||
|
||||
.used{
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 450rpx;
|
||||
background-color: rgba(255, 255, 255, 0.8);
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
image{
|
||||
width: 175.23rpx;
|
||||
height: 175.23rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.iconfont {
|
||||
font-size: 24rpx;
|
||||
|
337
pages/select_address/select_address.vue
Normal file
337
pages/select_address/select_address.vue
Normal file
@ -0,0 +1,337 @@
|
||||
<template>
|
||||
<view class="">
|
||||
<u-sticky customNavHeight="0">
|
||||
<view class="head_top">
|
||||
<u-search placeholder="搜索小区、办公楼等" :showAction="false"></u-search>
|
||||
<view style="height: 20rpx;"></view>
|
||||
<u-tabs :list="tabsList" itemStyle="font-size: 32rpx;height: 74rpx;" :current="current" @change="changeCurrent"
|
||||
lineColor="#FF6D20" lineWidth="105rpx" height="7rpx"></u-tabs>
|
||||
</u-tabs>
|
||||
</view>
|
||||
</u-sticky>
|
||||
<view style="background-color: #f4f4f4;height: 30rpx;"></view>
|
||||
<view class="address-box" v-if="current==0">
|
||||
<view class="head_item">
|
||||
<view class="re-location">
|
||||
<view class="re-title">当前位置: </view>
|
||||
<view>{{street}}</view>
|
||||
</view>
|
||||
<view class="re-btn" @click="reGetLocation">
|
||||
<image class="re-address-img" src="@/static/images/re_address.png"></image>重新定位
|
||||
</view>
|
||||
</view>
|
||||
<view class="head_item_tips">
|
||||
<view>附近地址</view>
|
||||
</view>
|
||||
<view class="address-list">商业宾馆(春雨路二段)</view>
|
||||
<view class="address-list">商业宾馆(春雨路二段)</view>
|
||||
<view class="address-list">商业宾馆(春雨路二段)</view>
|
||||
</view>
|
||||
<view class="address-box" v-if="current==1">
|
||||
<view class="head_item_tips">
|
||||
<view>泸州区县</view>
|
||||
</view>
|
||||
<view class="area">
|
||||
<view class="area-item" :class="{'area-item-on': item.code==area_change}" v-for="(item, index) in areaList"
|
||||
:key="index" @click="changeArea(item)">
|
||||
{{item.name}}
|
||||
</view>
|
||||
</view>
|
||||
<view class="head_item_tips">
|
||||
<view>选择街道/镇</view>
|
||||
</view>
|
||||
<view class="street">
|
||||
<view class="letter-item" v-for="key in mapKey" :key="key">
|
||||
<view class="letter">{{key}}</view>
|
||||
<view class="item-box">
|
||||
<view class="street-item" v-for="item in mapList[key]" :key="item.code" @click="changeStreet(item)">
|
||||
{{item.name}}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
getGeocoder,
|
||||
merClassifly,
|
||||
getProductslist
|
||||
} from '@/api/store.js';
|
||||
import {
|
||||
getArea,
|
||||
getStreet
|
||||
} from "@/api/article.js";
|
||||
import pinyin from "tiny-pinyin";
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
tabsList: [{
|
||||
name: '附近地址',
|
||||
}, {
|
||||
name: '泸州区县',
|
||||
}, ],
|
||||
current: 1,
|
||||
latitude: '',
|
||||
longitude: '',
|
||||
town: '',
|
||||
street_id: '',
|
||||
street: '',
|
||||
areaList: [],
|
||||
streetList: [],
|
||||
mapList: {},
|
||||
area_change: '',
|
||||
street_change: '',
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
this.getLoaction();
|
||||
this.loadArea();
|
||||
},
|
||||
onShow() {},
|
||||
computed: {
|
||||
mapKey() {
|
||||
return Object.keys(this.mapList).sort()
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
changeCurrent(e) {
|
||||
this.current = e.index;
|
||||
},
|
||||
getLoaction() {
|
||||
this.street = '定位中'
|
||||
uni.getLocation({
|
||||
type: 'wgs84',
|
||||
timeout: '10',
|
||||
success: (res) => {
|
||||
let latitude, longitude;
|
||||
latitude = res.latitude.toString();
|
||||
longitude = res.longitude.toString();
|
||||
this.latitude = res.latitude.toFixed(6);
|
||||
this.longitude = res.longitude.toFixed(6);
|
||||
this.$store.commit('setLocation', {
|
||||
lat: res.latitude.toFixed(6),
|
||||
long: res.longitude.toFixed(6),
|
||||
});
|
||||
getGeocoder({
|
||||
lat: latitude,
|
||||
long: longitude
|
||||
}).then(res => {
|
||||
this.town = res.data.address_reference.town.title
|
||||
this.street_id = res.data.address_reference.town.id
|
||||
this.street = res.data.address_reference.town.title;
|
||||
|
||||
}).catch(err => {
|
||||
uni.showToast({
|
||||
title: err,
|
||||
icon: 'none'
|
||||
})
|
||||
this.street = '定位失败'
|
||||
})
|
||||
},
|
||||
fail: (err) => {
|
||||
console.log('定位失败');
|
||||
this.isshow = false
|
||||
uni.setStorageSync("RejectTarget", true)
|
||||
Toast('定位失败,请检查定位权限是否开启')
|
||||
this.street = '定位失败'
|
||||
|
||||
// uni.showToast({
|
||||
// title: "获取定位超时",
|
||||
// icon: 'none',
|
||||
// duration: 2000
|
||||
// });
|
||||
}
|
||||
});
|
||||
},
|
||||
reGetLocation() {
|
||||
this.getLoaction()
|
||||
},
|
||||
loadArea() {
|
||||
getArea({
|
||||
city_code: 510500
|
||||
}).then((res) => {
|
||||
this.areaList = res.data;
|
||||
this.changeArea(this.areaList[0]);
|
||||
})
|
||||
},
|
||||
loadStreet(area_code) {
|
||||
this.street_change = '';
|
||||
getStreet({
|
||||
area_code
|
||||
}).then((res) => {
|
||||
this.streetList = res.data;
|
||||
this.initPinyin();
|
||||
})
|
||||
},
|
||||
initPinyin() {
|
||||
this.mapList = {};
|
||||
if (pinyin.isSupported()) {
|
||||
this.streetList.forEach((item) => {
|
||||
let str = pinyin.convertToPinyin(item.name[0]);
|
||||
str = str[0] ? str[0] : '#';
|
||||
if (this.mapList[str]) {
|
||||
this.mapList[str].push(item);
|
||||
} else {
|
||||
this.mapList[str] = [];
|
||||
this.mapList[str].push(item)
|
||||
}
|
||||
})
|
||||
} else {
|
||||
this.mapList['#'] = this.streetList;
|
||||
}
|
||||
},
|
||||
changeArea(item) {
|
||||
this.area_change = item.code;
|
||||
this.loadStreet(this.area_change);
|
||||
},
|
||||
changeStreet(item){
|
||||
uni.navigateBack({
|
||||
success: () => {
|
||||
uni.$emit('changeAddress', {
|
||||
area: this.area_change,
|
||||
street: item
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
onPullDownRefresh() {
|
||||
uni.stopPullDownRefresh()
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
page {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.head_top {
|
||||
background-color: #fff;
|
||||
padding: 28rpx;
|
||||
}
|
||||
|
||||
.address-box {
|
||||
// background-color: red;
|
||||
border-radius: 21rpx 21rpx 0rpx 0rpx;
|
||||
padding: 30rpx 28rpx;
|
||||
|
||||
.head_item {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding-bottom: 28rpx;
|
||||
font-size: 28rpx;
|
||||
font-family: PingFang SC-Regular, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #333333;
|
||||
|
||||
.re-location {
|
||||
display: flex;
|
||||
|
||||
.re-title {
|
||||
flex-shrink: 0;
|
||||
padding-right: 14rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.re-address-img {
|
||||
width: 38.55rpx;
|
||||
height: 38.55rpx;
|
||||
margin-right: 14rpx;
|
||||
}
|
||||
|
||||
.re-btn {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex-shrink: 0;
|
||||
padding-left: 14rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.head_item_tips {
|
||||
height: 44rpx;
|
||||
font-size: 32rpx;
|
||||
font-family: PingFang SC-Regular, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #737373;
|
||||
}
|
||||
|
||||
.address-list {
|
||||
font-size: 28rpx;
|
||||
font-family: PingFang SC-Regular, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #333333;
|
||||
height: 80rpx;
|
||||
line-height: 75rpx;
|
||||
border-bottom: 1rpx solid rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
.area {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
padding-top: 30rpx;
|
||||
|
||||
.area-item {
|
||||
// width: 158rpx;
|
||||
height: 64rpx;
|
||||
// background: #F4F4F4;
|
||||
background-color: #fff;
|
||||
border-radius: 11rpx 11rpx 11rpx 11rpx;
|
||||
border: 2rpx solid #B3B3B3;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 0 20rpx;
|
||||
font-size: 28rpx;
|
||||
font-family: PingFang SC-Medium, PingFang SC;
|
||||
font-weight: 500;
|
||||
color: #737373;
|
||||
margin-bottom: 22rpx;
|
||||
margin-right: 22rpx;
|
||||
}
|
||||
|
||||
.area-item-on {
|
||||
// background-color: #F4F4F4;
|
||||
color: #ff6d20;
|
||||
// font-weight: bold;
|
||||
border: 2rpx solid #ff6d20;
|
||||
}
|
||||
}
|
||||
|
||||
.street {
|
||||
padding-top: 28rpx;
|
||||
|
||||
.letter-item {
|
||||
display: flex;
|
||||
|
||||
.letter {
|
||||
flex-shrink: 0;
|
||||
margin-right: 28rpx;
|
||||
font-size: 25rpx;
|
||||
font-family: PingFang SC, PingFang SC;
|
||||
font-weight: 400;
|
||||
width: 40rpx;
|
||||
text-align: center;
|
||||
color: #737373;
|
||||
}
|
||||
|
||||
.item-box {
|
||||
flex: 1;
|
||||
|
||||
.street-item {
|
||||
width: 100%;
|
||||
padding-bottom: 28rpx;
|
||||
font-size: 28rpx;
|
||||
font-family: PingFang SC, PingFang SC;
|
||||
font-weight: 400;
|
||||
color: #333333;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
@ -648,7 +648,7 @@
|
||||
`${this.business[0][this.index2[0]].name} ${this.business[1][this.index2[1]].name} ${this.business[2][this.index2[2]].name}`
|
||||
this.area_id = this.business[0][this.index2[0]].code
|
||||
this.street_id = this.business[1][this.index2[1]].code
|
||||
|
||||
if(this.merchantData.mer_type==12) return ; //市级供应链不需要查询镇农科公司
|
||||
merstreet({
|
||||
street_code: this.street_id
|
||||
}).then((res) => {
|
||||
@ -1046,7 +1046,7 @@
|
||||
});
|
||||
|
||||
if (!this.mer_storeType) return that.$util.Tips({
|
||||
title: '请选择商户类型'
|
||||
title: '请选择店铺类型'
|
||||
})
|
||||
if (!this.business_name) return that.$util.Tips({
|
||||
title: '请选择店铺所在地'
|
||||
|
@ -249,7 +249,8 @@
|
||||
setVisit
|
||||
} from '@/api/user.js';
|
||||
import {
|
||||
getVersion
|
||||
getVersion,
|
||||
getconfig
|
||||
} from "@/api/public";
|
||||
import {
|
||||
orderData
|
||||
@ -437,6 +438,7 @@
|
||||
let curRoute = routes[routes.length - 1].route
|
||||
this.activeRouter = '/' + curRoute
|
||||
this.getNav();
|
||||
this.getConfigData();
|
||||
if (that.isLogin) {
|
||||
this.getUserInfo();
|
||||
this.orderNum();
|
||||
@ -639,7 +641,6 @@
|
||||
that.filterMenus(item)
|
||||
that.personalMenu.push(item)
|
||||
})
|
||||
|
||||
that.imgUrls = res.data.banner
|
||||
});
|
||||
},
|
||||
@ -678,6 +679,13 @@
|
||||
this.openAuto()
|
||||
}
|
||||
},
|
||||
// 获取配置
|
||||
getConfigData() {
|
||||
getconfig().then(res => {
|
||||
uni.$emit('update', res.data)
|
||||
this.$store.commit('GLOBAL_DATA', res.data);
|
||||
}).catch(err => {});
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
@ -294,7 +294,7 @@
|
||||
<emptyPage title="暂无订单~"></emptyPage>
|
||||
</view>
|
||||
</view>
|
||||
<home></home>
|
||||
<!-- <home></home> -->
|
||||
<authorize @onLoadFun="onLoadFun" :isAuto="isAuto" :isShowAuth="isShowAuth" @authColse="authColse"></authorize>
|
||||
<payment :payMode='payMode' :pay_close="pay_close" @onChangeFun='onChangeFun' :order_id="pay_order_id"
|
||||
:totalPrice='totalPrice'></payment>
|
||||
|
@ -331,7 +331,7 @@
|
||||
<emptyPage title="暂无订单~"></emptyPage>
|
||||
</view>
|
||||
</view>
|
||||
<home></home>
|
||||
<!-- <home></home> -->
|
||||
<authorize @onLoadFun="onLoadFun" :isAuto="isAuto" :isShowAuth="isShowAuth" @authColse="authColse"></authorize>
|
||||
<payment :payMode='payMode' :pay_close="pay_close" :order_type='order_type' @onChangeFun='onChangeFun'
|
||||
:order_id="pay_order_id" :totalPrice='totalPrice'></payment>
|
||||
|
@ -293,7 +293,7 @@
|
||||
<emptyPage title="暂无订单~"></emptyPage>
|
||||
</view>
|
||||
</view>
|
||||
<home></home>
|
||||
<!-- <home></home> -->
|
||||
<authorize @onLoadFun="onLoadFun" :isAuto="isAuto" :isShowAuth="isShowAuth" @authColse="authColse"></authorize>
|
||||
<payment :payMode='payMode' :pay_close="pay_close" @onChangeFun='onChangeFun' :order_id="pay_order_id"
|
||||
:totalPrice='totalPrice'></payment>
|
||||
|
@ -335,7 +335,7 @@
|
||||
<emptyPage title="暂无订单~"></emptyPage>
|
||||
</view>
|
||||
</view>
|
||||
<home></home>
|
||||
<!-- <home></home> -->
|
||||
<authorize @onLoadFun="onLoadFun" :isAuto="isAuto" :isShowAuth="isShowAuth" @authColse="authColse"></authorize>
|
||||
<payment :payMode='payMode' :pay_close="pay_close" :order_type='order_type' @onChangeFun='onChangeFun'
|
||||
:order_id="pay_order_id" :totalPrice='totalPrice'></payment>
|
||||
|
@ -224,7 +224,7 @@
|
||||
<emptyPage title="暂无订单~"></emptyPage>
|
||||
</view>
|
||||
</view>
|
||||
<home></home>
|
||||
<!-- <home></home> -->
|
||||
<authorize @onLoadFun="onLoadFun" :isAuto="isAuto" :isShowAuth="isShowAuth" @authColse="authColse"></authorize>
|
||||
<payment :payMode='payMode' :pay_close="pay_close" @onChangeFun='onChangeFun' :order_id="pay_order_id" :totalPrice='totalPrice'></payment>
|
||||
</view>
|
||||
|
@ -99,7 +99,7 @@
|
||||
</scroll-view>
|
||||
<button>添加新的抬头</button>
|
||||
</view>
|
||||
<home></home>
|
||||
<!-- <home></home> -->
|
||||
</view>
|
||||
</template>
|
||||
|
||||
|
@ -60,7 +60,7 @@
|
||||
<button class="add-btn" @click="addInvoice"><text class="iconfont icon-fapiao"></text>添加新发票抬头</button>
|
||||
</block>
|
||||
|
||||
<home></home>
|
||||
<!-- <home></home> -->
|
||||
</view>
|
||||
</template>
|
||||
|
||||
|
@ -104,7 +104,7 @@
|
||||
</scroll-view>
|
||||
<button @tap="addTitle">添加新的抬头</button>
|
||||
</view>
|
||||
<home></home>
|
||||
<!-- <home></home> -->
|
||||
</view>
|
||||
</template>
|
||||
|
||||
|
@ -26,7 +26,7 @@
|
||||
<text class='loading iconfont icon-jiazai' :hidden='loading==false'></text>{{loadTitle}}
|
||||
</view>
|
||||
<authorize @onLoadFun="onLoadFun" :isAuto="isAuto" :isShowAuth="isShowAuth" @authColse="authColse"></authorize>
|
||||
<home></home>
|
||||
<!-- <home></home> -->
|
||||
</view>
|
||||
</template>
|
||||
|
||||
|
@ -33,7 +33,7 @@
|
||||
<!-- #ifdef MP -->
|
||||
<!-- <authorize @onLoadFun="onLoadFun" :isAuto="isAuto" :isShowAuth="isShowAuth" @authColse="authColse"></authorize> -->
|
||||
<!-- #endif -->
|
||||
<home></home>
|
||||
<!-- <home></home> -->
|
||||
<view class="qrimg">
|
||||
<zb-code ref="qrcode" :show="codeShow" :cid="cid" :val="val" :size="size" :unit="unit" :background="background"
|
||||
:foreground="foreground" :pdground="pdground" :icon="icon" :iconSize="iconsize" :onval="onval" :loadMake="loadMake"
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 628 KiB After Width: | Height: | Size: 638 KiB |
BIN
static/images/re_address.png
Normal file
BIN
static/images/re_address.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.4 KiB |
BIN
static/images/used.png
Normal file
BIN
static/images/used.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 11 KiB |
@ -56,7 +56,7 @@ const loadMP = async (id) => {
|
||||
mask: true
|
||||
})
|
||||
else uni.showLoading({
|
||||
title: '初始化中...100%',
|
||||
title: '初始化中...99%',
|
||||
mask: true
|
||||
})
|
||||
}, 600)
|
||||
@ -65,7 +65,11 @@ const loadMP = async (id) => {
|
||||
success(res) {
|
||||
wgtFile = res.tempFilePath;
|
||||
console.log('初始化完成', wgtFile);
|
||||
installMP();
|
||||
setTimeout(()=>{
|
||||
installMP();
|
||||
clearInterval(timer);
|
||||
timer = null;
|
||||
}, 700)
|
||||
},
|
||||
fail(res) {
|
||||
clearInterval(timer);
|
||||
@ -117,7 +121,7 @@ const loadMPx = async (id) => {
|
||||
mask: true
|
||||
})
|
||||
else uni.showLoading({
|
||||
title: '初始化中...100%',
|
||||
title: '初始化中...99%',
|
||||
mask: true
|
||||
})
|
||||
}, 600)
|
||||
@ -127,7 +131,11 @@ const loadMPx = async (id) => {
|
||||
success(res) {
|
||||
wgtFile = res.tempFilePath;
|
||||
console.log('初始化完成', wgtFile);
|
||||
installMP();
|
||||
setTimeout(()=>{
|
||||
installMP();
|
||||
clearInterval(timer);
|
||||
timer = null;
|
||||
}, 700)
|
||||
},
|
||||
fail(res) {
|
||||
clearInterval(timer);
|
||||
@ -178,7 +186,7 @@ const loadMPurl = async (e) => {
|
||||
mask: true
|
||||
})
|
||||
else uni.showLoading({
|
||||
title: '初始化中...100%',
|
||||
title: '初始化中...99%',
|
||||
mask: true
|
||||
})
|
||||
}, 600)
|
||||
@ -187,7 +195,11 @@ const loadMPurl = async (e) => {
|
||||
success(res) {
|
||||
wgtFile = res.tempFilePath;
|
||||
console.log('初始化完成', wgtFile);
|
||||
installMP();
|
||||
setTimeout(()=>{
|
||||
installMP();
|
||||
clearInterval(timer);
|
||||
timer = null;
|
||||
}, 700)
|
||||
},
|
||||
fail(res) {
|
||||
clearInterval(timer);
|
||||
@ -231,7 +243,7 @@ const loadMPdns = async (e) => {
|
||||
mask: true
|
||||
})
|
||||
else uni.showLoading({
|
||||
title: '初始化中...100%',
|
||||
title: '初始化中...99%',
|
||||
mask: true
|
||||
})
|
||||
}, 600)
|
||||
@ -240,7 +252,11 @@ const loadMPdns = async (e) => {
|
||||
success(res) {
|
||||
wgtFile = res.tempFilePath;
|
||||
console.log('初始化完成', wgtFile);
|
||||
installMP();
|
||||
setTimeout(()=>{
|
||||
installMP();
|
||||
clearInterval(timer);
|
||||
timer = null;
|
||||
}, 700)
|
||||
},
|
||||
fail(res) {
|
||||
clearInterval(timer);
|
||||
|
Loading…
x
Reference in New Issue
Block a user