Merge branch 'youmengting-dev' of http://gitea.dctpay.com/yangjie/high-mini into new-dev

master
杨杰 2 years ago
commit bd9014a480
  1. 4
      Utils/physicalObject.js
  2. 24
      components/cart-choose/cart-choose.vue
  3. 1
      components/goods-list/goods-list.vue
  4. 7
      components/pick-regions/pick-regions.vue
  5. 66
      components/uni-combox/components/uni-combox/uni-combox.vue
  6. 44
      pages.json
  7. 203
      physical-merchants/address/addNewAddress/addNewAddress.vue
  8. 2
      physical-merchants/settleAccounts/settleAccounts.vue
  9. 11
      uni.scss
  10. 13
      uni_modules/uni-number-box/components/uni-number-box/uni-number-box.vue

@ -71,6 +71,10 @@ export const insertDeliveryAddress = params => {
return POST('POST', `${base}/deliveryAddress/insertDeliveryAddress`, params).then(res => res.data); return POST('POST', `${base}/deliveryAddress/insertDeliveryAddress`, params).then(res => res.data);
} }
export const baiduApiMapSearch = params => {
return POST('GET', `${base}/common/baiduApiMapSearch`, params).then(res => res.data);
}
// 更新收货地址 // 更新收货地址
export const updateDeliveryAddress = params => { export const updateDeliveryAddress = params => {
return POST('POST', `${base}/deliveryAddress/updateDeliveryAddress`, params).then(res => res.data); return POST('POST', `${base}/deliveryAddress/updateDeliveryAddress`, params).then(res => res.data);

@ -55,13 +55,15 @@
</view> </view>
<!-- 数量分类 --> <!-- 数量分类 -->
<view class="choose-bottom-title paddbotm10 fontwig6 font14 mart15 choose-num"> <view v-if="status != 3" class="choose-bottom-title paddbotm10 fontwig6 font14 mart15 choose-num">
<view class="">购买数量</view> <view class="">购买数量</view>
<uni-number-box v-model="chooseNumber" :disabled="specificationList[chooseIndex].stock==0" :min="1" :max="specificationList[chooseIndex].stock || 9999999" @noMoreLess="noMoreLess" @noMore="noMore" @change="changeNumValue" /> <uni-number-box v-model="chooseNumber" :disabled="specificationList[chooseIndex].stock==0" :min="1" :max="specificationList[chooseIndex].stock || 9999999" @noMoreLess="noMoreLess" @noMore="noMore" @change="changeNumValue" />
</view> </view>
</view> </view>
<!-- <template v-if="isShowButton"> -->
<view class="choose-cart" v-if="specificationList[chooseIndex].stock==0"> <view class="choose-cart" v-if="specificationList[chooseIndex].stock==0">
<view class="choose-way" > <view class="choose-way" >
<view class="fcorfff way1 bgcolor-qh" @click="noStock"> <view class="fcorfff way1 bgcolor-qh" @click="noStock">
@ -89,7 +91,13 @@
立即购买 立即购买
</view> </view>
</view> </view>
<view class="choose-way" v-if="status == 3">
<view class="fcorfff way1 bgcolor-left" @click="toSelect">
确定选择
</view>
</view> </view>
</view>
<!-- </template> -->
</view> </view>
@ -118,9 +126,9 @@
return [] return []
}, },
}, },
// 0,1 // 0,1. 2:
status:{ status:{
type:Number, type:[Number,String],
default:0, default:0,
}, },
goodsDetail:{ goodsDetail:{
@ -128,6 +136,10 @@
default() { default() {
return {} return {}
} }
},
isShowButton:{
type:Boolean,
default:true,
} }
}, },
watch:{ watch:{
@ -241,6 +253,12 @@
}, },
//
toSelect(){
this.$emit('close',this.specificationList[this.chooseIndex])
},
// //
toBuy(){ toBuy(){

@ -595,6 +595,7 @@
.goods-item-bottom .new-price { .goods-item-bottom .new-price {
color: #3DA7E7; color: #3DA7E7;
font-weight: bold; font-weight: bold;
font-size: 18px;
} }
.goods-item-bottom .old-price { .goods-item-bottom .old-price {

@ -83,6 +83,7 @@
}else if(region){ //&&region.length == 6 }else if(region){ //&&region.length == 6
this.handleDefaultRegion(region) this.handleDefaultRegion(region)
}else{ }else{
console.log(region) console.log(region)
console.warn('defaultRegion非有效格式') console.warn('defaultRegion非有效格式')
} }
@ -195,9 +196,15 @@
if(i==0 && j==(children.length-1)){ if(i==0 && j==(children.length-1)){
this.isInitMultiArray = true; this.isInitMultiArray = true;
} }
this.$emit('failreagion')
} }
} }
} }
let address = [this.CHINA_REGIONS[this.multiIndex[0]],this.cityArr[this.multiIndex[1]],this.districtArr[this.multiIndex[2]]];
this.$emit('getRegion',address)
} }
}, },
} }

@ -4,17 +4,29 @@
<text>{{label}}</text> <text>{{label}}</text>
</view> </view>
<view class="uni-combox__input-box"> <view class="uni-combox__input-box">
<input class="uni-combox__input" type="text" :placeholder="placeholder" v-model="inputVal" @input="onInput" <input class="uni-combox__input" type="text" :placeholder="placeholder" :placeholder-class="placeholderClass" v-model="inputVal" @input="onInput"
@focus="onFocus" @blur="onBlur" /> @focus="onFocus" @blur="onBlur" />
<uni-icons class="uni-combox__input-arrow" type="arrowdown" size="14" @click="toggleSelector"></uni-icons> <uni-icons class="uni-combox__input-arrow" v-if="isShowIcon" type="arrowdown" size="14" @click="toggleSelector"></uni-icons>
<view class="uni-combox__selector" v-if="showSelector"> <view v-else class="icon location foc3da7e7" @click="location"></view>
<scroll-view scroll-y="true" class="uni-combox__selector-scroll"> <view :class="' uni-combox__selector '+(isAddress?' topmore ': ' ')" v-if="showSelector">
<scroll-view v-if="isShowIcon" scroll-y="true" class="uni-combox__selector-scroll">
<view class="uni-combox__selector-empty" v-if="filterCandidatesLength === 0"> <view class="uni-combox__selector-empty" v-if="filterCandidatesLength === 0">
<text>{{emptyTips}}</text> <text>{{emptyTips}}</text>
</view> </view>
<view class="uni-combox__selector-item" v-for="(item,index) in filterCandidates" :key="index" @click="onSelectorClick(index)"> <view class="uni-combox__selector-item" v-for="(item,index) in filterCandidates" :key="index" @click="onSelectorClick(index)">
<text>{{item}}</text> <text>{{item}}</text>
</view> </view>
</scroll-view>
<!-- -->
<scroll-view v-else scroll-y="true" class="uni-combox__selector-scroll">
<view class="uni-combox__selector-empty" v-if="candidates.length === 0">
<text>{{emptyTips}}</text>
</view>
<view v-else class="uni-combox__selector-item" @click="toggleSelector" >
<slot></slot>
</view>
</scroll-view> </scroll-view>
</view> </view>
</view> </view>
@ -56,12 +68,24 @@
}, },
emptyTips: { emptyTips: {
type: String, type: String,
default: '无匹配项' default: '无匹配项'
}, },
value: { value: {
type: [String, Number], type: [String, Number],
default: '' default: ''
} },
isAddress:{
type:Boolean,
default:false
},
isShowIcon:{
type:Boolean,
default:true
},
placeholderClass:{
type: String,
default: ''
},
}, },
data() { data() {
return { return {
@ -96,13 +120,32 @@
} }
}, },
methods: { methods: {
location(){
this.showSelector = !this.showSelector
if(this.isAddress&&this.showSelector){
this.$emit("location")
}
},
toggleSelector() { toggleSelector() {
this.showSelector = !this.showSelector this.showSelector = !this.showSelector
}, },
onFocus() { onFocus() {
this.$emit("focus");
if(this.isAddress){
this.showSelector = false
}else{
this.showSelector = true this.showSelector = true
}
}, },
onBlur() { onBlur() {
this.$emit("blur")
if(this.isAddress){
this.showSelector = false;
return
}
setTimeout(() => { setTimeout(() => {
this.showSelector = false this.showSelector = false
}, 153) }, 153)
@ -169,13 +212,20 @@
background-color: #FFFFFF; background-color: #FFFFFF;
border-radius: 6px; border-radius: 6px;
box-shadow: #DDDDDD 4px 4px 8px, #DDDDDD -4px -4px 8px; box-shadow: #DDDDDD 4px 4px 8px, #DDDDDD -4px -4px 8px;
z-index: 2; z-index: 100;
.topmore{
top:52px;
}
} }
.uni-combox__selector-scroll { .uni-combox__selector-scroll {
max-height: 200px; max-height: 200px;
box-sizing: border-box; box-sizing: border-box;
} }
.uni-combox__selector-scroll2 {
max-height:300px;
box-sizing: border-box;
}
.uni-combox__selector::before { .uni-combox__selector::before {
content: ''; content: '';
@ -186,7 +236,7 @@
border-right: solid 6px transparent; border-right: solid 6px transparent;
border-left: solid 6px transparent; border-left: solid 6px transparent;
left: 50%; left: 50%;
top: -6px; top: -4px;
margin-left: -6px; margin-left: -6px;
} }

@ -1125,7 +1125,7 @@
{ {
"path": "address/addNewAddress/addNewAddress", "path": "address/addNewAddress/addNewAddress",
"style": { "style": {
"navigationBarTitleText": "新增地址", "navigationBarTitleText": "",
"enablePullDownRefresh": false "enablePullDownRefresh": false
} }
}, },
@ -1164,13 +1164,7 @@
"enablePullDownRefresh": false "enablePullDownRefresh": false
} }
}, },
// {
// "path": "wuliu/wuliu",
// "style": {
// "navigationBarTitleText": "物流信息",
// "enablePullDownRefresh": false
// }
// },
{ {
"path": "classify/order/pay", "path": "classify/order/pay",
"style": { "style": {
@ -1189,6 +1183,40 @@
"enablePullDownRefresh": false "enablePullDownRefresh": false
} }
} }
// ,
// {
// "path": "applyRefund/applyRefund",
// "style": {
// // "navigationBarTitleText": "",
// "enablePullDownRefresh": false
// }
// },
// {
// "path": "applyRefund/selectApplyRefund",
// "style": {
// "navigationBarTitleText": "申请售后",
// "enablePullDownRefresh": false
// }
// },
// {
// "path": "applyRefund/refundDetail",
// "style": {
// "navigationBarTitleText": "退款详情",
// "enablePullDownRefresh": false
// }
// },
// {
// "path": "applyRefund/fillRefundWuliu",
// "style": {
// "navigationBarTitleText": "填写退货物流",
// "enablePullDownRefresh": false
// }
// }
] ]
} }

@ -1,33 +1,27 @@
<template> <template>
<view class="page-bottom-fixed backcor9"> <view class="page-bottom-fixed backcor9">
<form @submit="form_submit" class="form-container"> <form @submit="form_submit" class="form-container">
<view class="pd-main height100"> <view class="pd-main border-box height100" style="overflow-y: auto;">
<view class="form-gorup backcolorfff"> <view class="form-gorup backcolorfff">
<!-- <view class="form-gorup-item-left"> <view class="dis-flex">
<view class="form-gorup-title marb10">联系人<text class="form-group-tips-must">*</text></view> <view class="form-gorup-title marRight10">收货人:
<input type="text" name="name" v-model="userAddress.name" maxlength="5"
placeholder-class="corf6" class="fcor666 " placeholder="联系人2~5个字符">
</view> </view>
<view class="form-gorup-item-right"> <input type="text" name="name" v-model="userAddress.name" placeholder-class="corf6"
<view class="form-gorup-title marb10">联系电话<text class="form-group-tips-must">*</text></view> class="fcor666 flex-1 bs-bb" placeholder="名字">
<input type="number" name="tel" v-model="userAddress.tel" maxlength="11"
placeholder-class="corf6" class="fcor666" placeholder="手机号">
</view> -->
<!-- -->
<view class="form-gorup-title">联系人<text class="form-group-tips-must">*</text>
</view> </view>
<input type="text" name="name" v-model="userAddress.name"
placeholder-class="corf6" class="fcor666 bs-bb" placeholder="联系人2~5个字符">
<view class="width100 mart10 border-b"> <view class="width100 mart10 border-b">
</view> </view>
<view class="form-gorup-title">联系电话<text class="form-group-tips-must">*</text> <view class="dis-flex">
<view class="form-gorup-title marRight10">手机号码:
</view> </view>
<input type="number" name="tel" v-model="userAddress.tel" maxlength="11" <input type="number" name="tel" v-model="userAddress.tel" maxlength="11"
placeholder-class="corf6" class="fcor666" placeholder="手机号"> placeholder-class="corf6" class="fcor666 flex-1" placeholder="手机号">
</view>
<!-- --> <!-- -->
</view> </view>
@ -35,16 +29,16 @@
<view class="form-gorup backcolorfff"> <view class="form-gorup backcolorfff">
<view class=""> <view class="">
<pick-regions :defaultRegion="defaultRegionCode" @getRegion="handleGetRegion"> <pick-regions :defaultRegion="defaultRegionCode" @getRegion="handleGetRegion">
<view class="dis-flex flex-sp form-gorup-title"> <view class="dis-flex ">
<view class=" flex-1">点击选择省市区<text class="form-group-tips-must">必选</text></view> <view class=" form-gorup-title">所在地区:</view>
<view class="dis-flex flex-1 flex-end">
<view class="icon-ymt to-right font14 fcor666"> <view class=" pickRes fcor666">{{userAddress.region || '请选择'}}</view>
<view class="icon-ymt to-right font14 fcor666"></view>
</view> </view>
</view> </view>
</pick-regions> </pick-regions>
<view class=" pickRes fcor666" >{{userAddress.region || '请选择'}}</view>
</view> </view>
<view class="width100 mart10 border-b"> <view class="width100 mart10 border-b">
@ -52,15 +46,30 @@
</view> </view>
<view style="clear: both;"> <!-- <view style="clear: both;"> -->
<view class="form-gorup-title">详细地址<text class="form-group-tips-must">*</text> <view class="dis-flex">
<view class="form-gorup-title marRight10">详细地址:</view>
<uni-combox @location="location" placeholderClass="corf6" :candidates="candidates" class="flex-1" :isAddress="true" :isShowIcon="false" placeholder="请输入详细地址" v-model="userAddress.address">
<view class="selector-item" v-for="(item,index) in candidates" :key="index" @click="getSelect(item)">
<view class="text1 name">
{{item.name}}
</view>
<view class="text1 address mart5">
{{item.address}}
</view> </view>
<input type="text" name="address" v-model="userAddress.address" maxlength="40" </view>
placeholder-class="corf6" :class="'fcor666 bs-bb '" placeholder="详细地址1~40个字符">
</uni-combox>
<!-- <input type="text" name="address" v-model="userAddress.address" maxlength="40"
placeholder-class="corf6" :class="'fcor666 bs-bb flex-1'" placeholder="详细地址1~40个字符"> -->
</view> </view>
<!-- </view> -->
</view> </view>
<view class="default-checkbox " @click="defaultChange"> <view class="default-checkbox " @click="defaultChange">
@ -80,10 +89,16 @@
</view> </view>
</template> </template>
<script> <script>
import pickRegions from '@/components/pick-regions/pick-regions.vue' import pickRegions from '@/components/pick-regions/pick-regions.vue'
import UniCombox from '@/components/uni-combox/components/uni-combox/uni-combox.vue'
import {insertDeliveryAddress,findDeliveryAddressById,updateDeliveryAddress } from '@/Utils/physicalObject.js'
import {
insertDeliveryAddress,
findDeliveryAddressById,
updateDeliveryAddress,
baiduApiMapSearch
} from '@/Utils/physicalObject.js'
let app = getApp();
export default { export default {
data() { data() {
return { return {
@ -99,19 +114,27 @@
region: [], region: [],
regionId: '', regionId: '',
// //
defaultRegion: ['北京市', '市辖区', '东城区'], // defaultRegion: ['', '', ''],
defaultRegionCode: '110101', defaultRegionCode: '',
candidates:[
// {"name": "-","address": "189",},
// {"name": "-","address": "189",},
// {"name": "-","address": "189",}
],
}; };
}, },
components: { components: {
pickRegions pickRegions,
"uni-combox":UniCombox
}, },
onLoad(params) { onLoad(params) {
console.log(params)
this.dataParams = params this.dataParams = params
}, },
watch: { watch: {
@ -135,10 +158,16 @@
// } // }
}, },
onReady() { onReady() {
let str = ""
if (this.dataParams && this.dataParams.id) {
str = "地址编辑"
} else {
str = "地址添加"
}
uni.setNavigationBarTitle({ uni.setNavigationBarTitle({
title: '地址'+(((this.dataParams.id || null) == null) ? '添加' : '编辑') title: str,
}); });
if(this.dataParams.id){ if (this.dataParams && this.dataParams.id) {
this.findAddressById(this.dataParams.id) this.findAddressById(this.dataParams.id)
} }
@ -178,6 +207,7 @@
// //
handleGetRegion(region) { handleGetRegion(region) {
// let region = JSON.parse(JSON.stringify(reg)) // let region = JSON.parse(JSON.stringify(reg))
this.region = region; this.region = region;
this.regionId = this.region[2].code; this.regionId = this.region[2].code;
@ -194,9 +224,70 @@
}, },
//
location(){
this.userAddress.address = this.userAddress.address.replace(/\s+/g, "")
if(app.globalData.latitude&&app.globalData.longitude){
this.baiduApiMap(app.globalData.longitude,app.globalData.latitude,this.userAddress.address)
}else{
uni.getLocation({
type: 'wgs84',
success: function(res) {
app.globalData.latitude = res.latitude;
app.globalData.longitude = res.longitude;
this.baiduApiMap(app.globalData.longitude,app.globalData.latitude,this.userAddress.address)
}
})
}
},
baiduApiMap(lng,lat,query){
let params;
if(query==""){
params={
lng,lat
}
}else{
params={
lng,lat,query
}
}
baiduApiMapSearch(params).then(res=>{
console.log(res)
if (res.return_code == '000000') {
if(res.return_data&&res.return_data.length>0){
this.candidates = res.return_data;
}else{
this.candidates=[]
}
}else{
this.candidates=[]
uni.showToast({
title: res.return_msg,
icon: 'none',
duration: 2000
})
}
})
},
getSelect(desc){
console.log(desc)
this.defaultRegionCode = desc.adcode ;
this.userAddress.address = desc.address;
},
// //
defaultChange(e) { defaultChange(e) {
this.userAddress.is_default = !this.userAddress.is_default this.userAddress.is_default = !this.userAddress.is_default
@ -206,6 +297,10 @@
// //
form_submit() { form_submit() {
this.userAddress.name = this.userAddress.name.replace(/\s+/g, "")
this.userAddress.tel = this.userAddress.tel.replace(/\s+/g, "")
this.userAddress.address = this.userAddress.address.replace(/\s+/g, "")
// //
var validation = [{ var validation = [{
fields: "name", fields: "name",
@ -350,6 +445,7 @@
width: 80%; width: 80%;
box-sizing: border-box; box-sizing: border-box;
z-index: 2; z-index: 2;
.btn { .btn {
height: 60px; height: 60px;
border-radius: 30px; border-radius: 30px;
@ -364,8 +460,9 @@
.page-bottom-fixed { .page-bottom-fixed {
height: calc(100vh - var(--window-top)); height: calc(100vh - var(--window-top));
padding-bottom: 100px; padding-bottom: 75px;
box-sizing: border-box; box-sizing: border-box;
overflow-y: auto;
} }
/*表单*/ /*表单*/
@ -376,9 +473,10 @@
padding: 20rpx; padding: 20rpx;
margin-bottom: 20rpx; margin-bottom: 20rpx;
border-radius: 20rpx; border-radius: 20rpx;
overflow: auto; // overflow: auto;
.pickRes , input { .pickRes,
input {
border-radius: 0; border-radius: 0;
box-sizing: border-box; box-sizing: border-box;
font-size: 18px; font-size: 18px;
@ -395,6 +493,9 @@
margin-bottom: 5rpx; margin-bottom: 5rpx;
font-weight: 500; font-weight: 500;
font-size: 18px; font-size: 18px;
width: 74px;
white-space: nowrap;
text-align: right;
} }
} }
@ -409,4 +510,30 @@
color: #f00; color: #f00;
} }
.selector-item {
font-size: 16px;
text-align: center;
border-bottom: solid 1px #DDDDDD;
padding: 10px;
cursor: pointer;
text-align: left;
.name{
height: 18px;
line-height: 18px;
color: #3da7e7;
font-size: 16px;
font-weight: bold;
}
.address{
font-size: 14px;
height: 16px;
line-height: 16px;
color: #666666;
}
}
</style> </style>

@ -172,7 +172,7 @@
</view> </view>
<view class="width100"> <view class="width100">
<textarea :cursor-spacing="50" class="border-8r backcor9 paading10 note" :focus="false" <textarea :cursor-spacing="50" class="border-8r backcor9 paading10 note" :focus="false"
:disable-default-padding="false" v-model="noteValue" maxlength="40" :disable-default-padding="false" v-model.trim="noteValue" maxlength="40"
placeholder="请输入备注信息"></textarea> placeholder="请输入备注信息"></textarea>
</view> </view>

@ -252,6 +252,10 @@ $uni-font-size-paragraph:30upx;
color: #41cda2; color: #41cda2;
} }
.foc3da7e7{
color: #3da7e7 !important;
}
.colorb9 { .colorb9 {
color: #b95859; color: #b95859;
} }
@ -761,6 +765,10 @@ $uni-font-size-paragraph:30upx;
padding-left: 15px; padding-left: 15px;
} }
.paddleft25{
padding-left: 25px;
}
.paddtright5 { .paddtright5 {
padding-right: 5px; padding-right: 5px;
} }
@ -976,6 +984,9 @@ $uni-font-size-paragraph:30upx;
.border-t{ .border-t{
border-top: 1px solid #f6f6f6; border-top: 1px solid #f6f6f6;
} }
.border-b-666{
border-bottom: 1px solid #f0f0f0;
}
// 盒模型 // 盒模型
.border-box{ .border-box{
box-sizing: border-box; box-sizing: border-box;

@ -134,11 +134,14 @@
}, },
_onBlur(event) { _onBlur(event) {
this.$emit('blur', event) this.$emit('blur', event)
let value = event.detail.value; // let value = event.detail.value;
if (!value) { //
// this.inputValue = 0; let value = parseInt(event.detail.value);
return;
} // if (!value) {
// // this.inputValue = 0;
// return;
// }
value = +value; value = +value;
if (value > this.max) { if (value > this.max) {
this.$emit("noMore") this.$emit("noMore")

Loading…
Cancel
Save