3
0
Fork 0

Compare commits

...

10 Commits

16 changed files with 548 additions and 325 deletions

View File

@ -28,7 +28,11 @@
</view>
<!-- 复购 -->
<view key="repurchase" v-if="repurchaseList.length > 0" class="goods-flexs">
<view
key="repurchase"
v-if="repurchaseList.length > 0 && !isZeroLevel"
class="goods-flexs"
>
<view class="goods-view">
<area-product-list
:list="repurchaseList"
@ -75,6 +79,10 @@ export default {
default: 'normal', // 'normal' or 'small'
validator: value => ['normal', 'small'].includes(value),
},
userInfo: {
type: Object,
default: () => {},
},
},
components: {
'area-product-list': areaProductList,
@ -95,12 +103,13 @@ export default {
...mapGetters(['isZeroLevel']),
},
created() {
const userInfo = uni.getStorageSync('userInfo')
if (userInfo.memberSign != MEMBER_SIGN.ZERO_LEVEL) {
this.getAreaListById(REISSUE_AREA.id, this.rescissionList)
this.getAreaListById(REGIEST_AREA.id, this.registList)
const userInfo = uni.getStorageSync('userInfo') || this.userInfo
if (userInfo.memberSign == MEMBER_SIGN.ZERO_LEVEL) {
this.upgrade.name = '会员专区'
}
this.getAreaListById(UPGRADE_AREA.id, this.upgradeList)
this.getAreaListById(REISSUE_AREA.id, this.rescissionList)
this.getAreaListById(REGIEST_AREA.id, this.registList)
this.getAreaListById(REPURCHASE_AREA.id, this.repurchaseList)
},
methods: {

View File

@ -0,0 +1,144 @@
<template>
<view>
<u-picker
@cancel="pickershow = false"
:show="pickershow"
ref="uPicker"
:defaultIndex="defaultIndex"
:columns="columns"
@confirm="confirm"
keyName="name"
@change="changeHandler"
></u-picker>
</view>
</template>
<script>
import * as api from '@/config/goods'
import { mapGetters } from 'vuex'
export default {
data() {
return {
columns: [],
pickershow: false,
diqu: '',
form: {},
defaultIndex: [],
user: '',
}
},
props: {
defaultCode: {
type: Array,
default: () => [],
},
cityList: {
type: Array,
default: () => [],
},
provinceList: {
type: Array,
default: () => [],
},
countyList: {
type: Array,
default: () => [],
},
},
watch: {
defaultCode: {
deep: true,
handler(n) {
if (this.cityList.length > 0) {
this.getDefaultIndex(n)
} else {
this.getAllAreaList(
uni.getStorageSync('pkCountry') || this.user.pkSettleCountry
).then(res => {
if (res) {
this.getDefaultIndex(n)
}
})
}
},
},
},
created() {},
methods: {
getDefaultIndex(province) {
const cityList = this.cityList.filter(item => item.parent === province)
const countyList = this.countyList.filter(
item => item.parent === cityList[0].pkId
)
const columns = [this.provinceList, cityList]
if (countyList.length) {
columns.push(countyList)
}
this.columns = columns
this.defaultIndex = [0, 0]
if (countyList.length) {
this.defaultIndex.push(0)
}
this.$emit('getAddressData', columns)
},
setShow(province) {
this.pickershow = true
this.getDefaultIndex(province)
},
getCityList(province) {
const cityList = this.cityList.filter(item => item.parent === province)
return cityList
},
getCountyList(city) {
const countyList = this.countyList.filter(item => item.parent === city)
return countyList
},
changeHandler(e) {
const {
columnIndex,
value,
values, // values
index,
indexs,
// pickerref
picker = this.$refs.uPicker,
} = e
// ()
if (columnIndex === 0) {
const province = this.provinceList[index]
const cityList = this.getCityList(province.pkId)
picker.setColumnValues(1, cityList)
if (this.countyList.length) {
const city = cityList[0]
const countyList = this.getCountyList(city.pkId)
picker.setColumnValues(2, countyList)
}
// pickerthis
} else if (columnIndex === 1 && this.countyList.length) {
const city = cityList[indexs[columnIndex]]
const countyList = this.getCountyList(city.pkId)
picker.setColumnValues(2, countyList)
}
},
// columnIndexvaluevalues
confirm(e) {
this.pickershow = false
this.$emit('setAddress', e.value)
},
},
}
</script>
<style lang="scss" scoped>
.picker {
display: flex;
justify-content: space-between;
width: 100%;
border-width: 0.5px !important;
border-color: #dadbde !important;
border-style: solid;
border-radius: 4px;
padding: 6px 9px;
}
</style>

View File

@ -1,86 +1,119 @@
/*
* @Descripttion:
* @version:
* @Descripttion:
* @version:
* @Author: kBank
* @Date: 2022-11-23 11:10:29
*/
/*
* @Descripttion:
* @version:
* @Author: kBank
* @Date: 2022-11-23 11:10:29
*/
* @Descripttion:
* @version:
* @Author: kBank
* @Date: 2022-11-23 11:10:29
*/
const http = uni.$u.http
//商品列表
export const getAllGoods = (params) => http.post('/sale/api/wares/query-spe-wares', params)
export const getAllGoods = params =>
http.post('/sale/api/wares/query-spe-wares', params)
//商品详情
export const waresDetail = (params) => http.post('/sale/api/wares/query-spe-wares-detail', params)
export const waresDetail = params =>
http.post('/sale/api/retail-wares/wares-detail', params)
//嗨粉海粉短信
export const verification = (params) => http.get('/member/api/sms/fans-verification', { params })
export const verification = params =>
http.get('/member/api/sms/fans-verification', { params })
//嗨粉选择省市区
export const getAllAreaList = (params) => http.get('system/api/area/provinceList', { params })
export const getAllAreaList = params =>
http.get('system/api/area/provinceList', { params })
//嗨粉选择国家
export const getCountry = (params) => http.get('system/api/country/list', { params })
export const getCountry = params =>
http.get('system/api/country/list', { params })
//海粉注册
export const regShareMember = (params) => http.post('/member/api/member/reg-share-member', params)
export const regShareMember = params =>
http.post('/member/api/member/reg-share-member', params)
//hi粉注册
export const hiRegister = (params) => http.post('/member/api/fans/register', params)
export const hiRegister = params =>
http.post('/member/api/fans/register', params)
//幂等性
export const generate = (params) => http.get('/system/api/idempotent/generate', { params })
export const generate = params =>
http.get('/system/api/idempotent/generate', { params })
//发货
export const deliveryList = (params) => http.get('/system/pub/enums/delivery-list', { params })
export const deliveryList = params =>
http.get('/system/pub/enums/delivery-list', { params })
//海粉渠道
export const jxhhSource = (params) => http.get('/sale/api/t-source/list/' + params)
export const jxhhSource = params =>
http.get('/sale/api/t-source/list/' + params)
//海粉分类
export const optionList = (params) => http.post('/sale/api/twares-category-category/option-list', params )
export const optionList = params =>
http.post('/sale/api/twares-category-category/option-list', params)
//海粉商品
export const sharingWares = (params) => http.get('/sale/api/wares/sharing-zone-wares', { params })
export const sharingWares = params =>
http.get('/sale/api/wares/sharing-zone-wares', { params })
//分享邮费查询
export const queryAdressPostage = (params) => http.post('/sale/api/order/self-order-postage', params)
export const queryAdressPostage = params =>
http.post('/sale/api/order/self-order-postage', params)
//嗨粉分享确认订单
export const confirmFunShareOrder = (params) => http.post('/sale/api/order/confirm-self-fun-order', params)
export const confirmFunShareOrder = params =>
http.post('/sale/api/order/confirm-self-fun-order', params)
//海粉商品详情
export const sharingWaresDetail = (params) => http.get('/sale/api/wares/query-spe-sharing-wares-detail', { params })
export const sharingWaresDetail = params =>
http.get('/sale/api/wares/query-spe-sharing-wares-detail', { params })
//海粉订单确认
export const confirmShareOrder = (params) => http.post('/sale/api/order/confirm-share-order', params)
export const confirmShareOrder = params =>
http.post('/sale/api/order/confirm-share-order', params)
//获取购物车
export const getShopping = (params) => http.get('/sale/api/shopping/getShopping', { params })
export const getShopping = params =>
http.get('/sale/api/shopping/getShopping', { params })
//分类列表
export const classifyList = (params) => http.get('/sale/api/area-classify/list', { params })
export const classifyList = params =>
http.get('/sale/api/area-classify/list', { params })
//加减购物车
export const plusReduceShopping = (params) => http.post('/sale/api/shopping/plusReduceShopping', params)
export const plusReduceShopping = params =>
http.post('/sale/api/shopping/plusReduceShopping', params)
//多删购物车
export const batchDelShopping = (params) => http.post('/sale/api/shopping/batchDelShopping', params)
export const batchDelShopping = params =>
http.post('/sale/api/shopping/batchDelShopping', params)
//添加购物车
export const addShopping = (params) => http.post('/sale/api/shopping/addShopping', params)
export const addShopping = params =>
http.post('/sale/api/shopping/addShopping', params)
//菜单权限
export const menuList = (params) => http.get('/system/api/menu/list', { params })
export const menuList = params => http.get('/system/api/menu/list', { params })
//海粉分享
export const shareCode = (params) => http.get('/member/api/share/share-code-h5', { params })
export const shareCode = params =>
http.get('/member/api/share/share-code-h5', { params })
//嗨粉分享
export const fansCode = (params) => http.get('/member/api/share/fans-code-h5', { params })
export const fansCode = params =>
http.get('/member/api/share/fans-code-h5', { params })
//获取购物车数量
export const getShoppingCount = (params) => http.get('/sale/api/shopping/getShoppingCount', { params })
export const getShoppingCount = params =>
http.get('/sale/api/shopping/getShoppingCount', { params })
//获取购物车数小
export const getSmallCount = (params) => http.get('/sale/api/shopping/getAreaShoppingCount', { params })
export const getSmallCount = params =>
http.get('/sale/api/shopping/getAreaShoppingCount', { params })
//获取分享前缀
export const prefix = (params) => http.get('/member/api/member/query-country-prefix/' + params, )
export const prefix = params =>
http.get('/member/api/member/query-country-prefix/' + params)
//校验分享编号
export const validateMember = (params) => http.get('/member/api/member/validate-share-member/' + params, )
export const validateMember = params =>
http.get('/member/api/member/validate-share-member/' + params)
//获取国家
export const currencyList = (params) => http.get('/system/api/country/list' , {params} )
export const currencyList = params =>
http.get('/system/api/country/list', { params })
//0元注册时
export const checkShare = (params) => http.get('/member/api/share/check-share-code' , {params} )
export const checkShare = params =>
http.get('/member/api/share/check-share-code', { params })
//海粉订单详情
export const waresinfo = (params) => http.post('/sale/api/wares/query-confirm-waresinfo', params)
export const waresinfo = params =>
http.post('/sale/api/wares/query-confirm-waresinfo', params)
//hi粉确认订单
export const fansConfirm = (params) => http.post('/sale/api/order/fans-confirm-order', params)
export const fansConfirm = params =>
http.post('/sale/api/order/fans-confirm-order', params)
//购物车注册下单校验弹框
export const energyShop = (params) => http.post('/sale/api/wares/query-energy-silo', params)
export const energyShop = params =>
http.post('/sale/api/wares/query-energy-silo', params)
//hi粉确认订单
export const energyShopSilo = (params) => http.post('/sale/api/order/valid-silo', params)
export const energyShopSilo = params =>
http.post('/sale/api/order/valid-silo', params)

View File

@ -50,3 +50,11 @@ export const validRelation = params =>
// 升级订单
export const upgradeOrder = data =>
http.post('/sale/api/retail-order/confirm-upg-order', data)
// 确认收货
export const confirmReceipt = orderCode =>
http.put(`/sale/api/my-order/confirm/${orderCode}`)
// 获取注册升级区域列表
export const getRegionAreaList = params =>
http.get('/retail-member/api/retail-member/query-region', { params })

View File

@ -7,7 +7,7 @@ export const getAllGoods = params =>
http.post('/sale/api/wares/query-spe-wares', params)
//商品详情
export const waresDetail = params =>
http.post('/sale/api/wares/query-spe-wares-detail', params)
http.post('/sale/api/retail-wares/wares-detail', params)
//获取国家
export const countryList = params =>
http.get('/system/api/country/list', { params })

View File

@ -15,12 +15,11 @@ module.exports = vm => {
// 初始化请求配置
uni.$u.http.setConfig(config => {
// config.baseURL = 'https://p1.hzs413.com/inter-api';
// 192.168.0.100:8080
//#ifdef DEV_SERVER
console.log('DEV_SERVER')
config.baseURL = 'http://t-app.beida777.com/prod-api'
config.baseURL = 'http://t-bl.beida777.com/prod-api'
//#endif
//#ifdef QA_SERVER

View File

@ -1,34 +1,34 @@
{
"name": "retail-h5",
"appid": "__UNI__31B4587",
"description": "",
"versionName": "1.0.0",
"versionCode": "100",
"transformPx": false,
"name" : "retail-store-h5",
"appid" : "__UNI__31B4587",
"description" : "",
"versionName" : "1.0.0",
"versionCode" : "100",
"transformPx" : false,
/* 5+App */
"app-plus": {
"usingComponents": true,
"nvueStyleCompiler": "uni-app",
"compilerVersion": 3,
"splashscreen": {
"alwaysShowBeforeRender": true,
"waiting": true,
"autoclose": true,
"delay": 0
"app-plus" : {
"usingComponents" : true,
"nvueStyleCompiler" : "uni-app",
"compilerVersion" : 3,
"splashscreen" : {
"alwaysShowBeforeRender" : true,
"waiting" : true,
"autoclose" : true,
"delay" : 0
},
/* */
"modules": {
"Bluetooth": {},
"Barcode": {},
"Camera": {},
"Fingerprint": {},
"FaceID": {}
"modules" : {
"Bluetooth" : {},
"Barcode" : {},
"Camera" : {},
"Fingerprint" : {},
"FaceID" : {}
},
/* */
"distribute": {
"distribute" : {
/* android */
"android": {
"permissions": [
"android" : {
"permissions" : [
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
@ -45,62 +45,58 @@
"<uses-feature android:name=\"android.hardware.camera\"/>",
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
],
"abiFilters": [
"armeabi-v7a",
"arm64-v8a",
"x86"
]
"abiFilters" : [ "armeabi-v7a", "arm64-v8a", "x86" ]
},
/* ios */
"ios": {
"dSYMs": false
"ios" : {
"dSYMs" : false
},
/* SDK */
"sdkConfigs": {
"push": {}
"sdkConfigs" : {
"push" : {}
}
}
},
/* */
"quickapp": {},
"quickapp" : {},
/* */
"mp-weixin": {
"appid": "wxe26d23c09932e93b",
"setting": {
"urlCheck": false,
"es6": false,
"minified": false
"mp-weixin" : {
"appid" : "wxe26d23c09932e93b",
"setting" : {
"urlCheck" : false,
"es6" : false,
"minified" : false
},
"usingComponents": true
"usingComponents" : true
},
"mp-alipay": {
"usingComponents": true
"mp-alipay" : {
"usingComponents" : true
},
"mp-baidu": {
"usingComponents": true
"mp-baidu" : {
"usingComponents" : true
},
"mp-toutiao": {
"usingComponents": true
"mp-toutiao" : {
"usingComponents" : true
},
"uniStatistics": {
"enable": false
"uniStatistics" : {
"enable" : false
},
"vueVersion": "2",
"h5": {
"template": "index.html",
"router": {
"mode": "hash"
"vueVersion" : "2",
"h5" : {
"template" : "index.html",
"router" : {
"mode" : "hash"
},
"devServer": {
"https": false,
"port": 8899,
"proxy": {
"/prod-api": {
"target": "http://t-mana.beida777.com",
"changeOrigin": true
"devServer" : {
"https" : false,
"port" : 8999,
"proxy" : {
"/prod-api" : {
"target" : "http://t-mana.beida777.com",
"changeOrigin" : true
}
}
}
},
"fallbackLocale": "zh-Hans"
"fallbackLocale" : "zh-Hans"
}

View File

@ -111,12 +111,8 @@ export default {
loading: false,
hasMore: true,
BONUS_FIELD_MAP: {
retailRangeIncome: '直推收益',
retailSameLevelIncome: '平级收益',
retailAreaIncome: '区域收益',
// welfareLevelGapIncome: '',
// welfareDividendIncome: '',
backPoints: '重消收益',
repurRangeIncome: '复购级差收益',
retailRangeIncome: '直推级差收益',
},
}
},

View File

@ -0,0 +1,64 @@
import { getRegionAreaList } from '@/config/order.js'
export default {
data() {
return {
regionList: [],
provinceList: [],
cityList: [],
countyList: [],
regionCity: '',
regionProvince: '',
regionCounty: '',
gradeValue: null,
defaultRegionSelectCode: [],
}
},
computed: {},
methods: {
getRegionAreaList(gradeValue) {
if (!gradeValue) return
this.gradeValue = gradeValue
const params = {
type: 'county',
}
getRegionAreaList(params).then(res => {
this.provinceList = res.data.filter(item => item.parent === 0)
this.cityList = res.data.filter(item =>
this.provinceList.find(province => province.pkId === item.parent)
)
this.countyList = res.data.filter(item =>
this.cityList.find(city => city.pkId === item.parent)
)
this.getProvinceFilterList()
this.getCityFilterList()
this.getCountyFilterList()
})
},
getProvinceFilterList() {
if (!this.cityList.length) {
this.provinceList = []
}
this.provinceList = this.provinceList.filter(
item => !!this.cityList.find(city => city.parent === item.pkId)
)
},
getCityFilterList() {
if (this.gradeValue === 80) return
if (!this.countyList.length) {
this.cityList = []
}
this.cityList = this.cityList.filter(
item => !!this.countyList.find(county => county.parent === item.pkId)
)
},
getCountyFilterList() {
if (!this.gradeValue || this.gradeValue === 80) {
this.countyList = []
}
},
},
onShow() {
// this.getRegionAreaList()
},
}

View File

@ -28,58 +28,8 @@
</swiper>
</view>
</view>
<special-area-wrapper size="small" />
<view class="goods-sort">
<view class="goods_content" style="padding-bottom: 130rpx">
<view
class="goods-center-lists"
v-for="item in goodsList"
:key="item.waresId"
@click="goDetails(item)"
>
<view
class="fly"
v-show="item.preSaleStatus == 3 || item.isSale == 1"
></view>
<view class="goods-flex-s">
<view class="goods-img">
<image :src="item.cover1"></image>
</view>
<view class="padding_s goods-info">
<view class="goods-name">{{ item.waresName }}</view>
<view class="goods-sales-wrapper">
<view class="goods-sales"
>累计销量{{ formatSales(item.sales) }}</view
>
<view
class="goods-price"
v-if="item.specialArea == 31 && userInfo.isMakerSpace == 1"
>
<span v-if="priceSymbolVisible" class="price-symbol">
{{ priceSymbol }}
</span>
<span>{{ formatCurrency(item.vipPrice) }}</span>
</view>
<view class="goods-price" v-if="item.specialArea != 31">
<span v-if="priceSymbolVisible" class="price-symbol">
{{ priceSymbol }}
</span>
<span>{{ formatCurrency(item.waresPrice) }}</span>
</view>
<view
class="goods-price"
v-if="item.specialArea == 31 && userInfo.isMakerSpace == 0"
>
<span v-if="priceSymbolVisible" class="price-symbol">
{{ priceSymbol }}
</span>
<span>{{ formatCurrency(item.waresPrice) }}</span>
</view>
</view>
</view>
</view>
</view>
</view>
<view style="padding-bottom: 140rpx">
<special-area-wrapper :userInfo="userInfo" size="small" />
</view>
<cl-tabbar :current="0"></cl-tabbar>
<div>
@ -98,7 +48,7 @@
ref="child2"
@childMethodTrigger="callChildMethod"
></znNewsPopup>
<RegionSelect v-if="userInfo.memberCode != 'BF66886688'" />
<!-- <RegionSelect v-if="userInfo.memberCode != 'BF66886688'" /> -->
<!-- 直推排行弹窗
<directrank-popup
@callznMethodTrigger="callznMethod"

View File

@ -22,9 +22,8 @@
<text class="svip-text">{{ userInfo.pkGradeVal || '-' }}</text>
</view>
</view>
<view class="awards-container">
<!-- <view class="awards-container">
<view class="award-tag">
<!-- <u-icon name="star-fill" color="#FAD65A" size="14"></u-icon> -->
<text class="award-label">荣誉奖衔:</text>
<text class="award-value">{{
userInfo.pkMaxAwardsVal || userInfo.pkAwardsVal || '无'
@ -32,7 +31,6 @@
</view>
<view style="display: flex; gap: 10rpx">
<view class="award-tag">
<!-- <u-icon name="star-fill" color="#FAD65A" size="14"></u-icon> -->
<text class="award-label">当月奖衔:</text>
<text class="award-value">{{
userInfo.pkAwardsVal || '无'
@ -43,7 +41,7 @@
<text class="award-value">{{ userInfo.pkRangeAwardsVal }}</text>
</view>
</view>
</view>
</view> -->
</view>
</view>
<view
@ -54,113 +52,6 @@
</view>
</view>
<!-- 新增信息展示 -->
<view
class="extra-info-card"
v-if="
[MEMBER_SIGN.NORMAL_LEVEL, MEMBER_SIGN.ZERO_LEVEL].includes(
Number(userInfo.memberSign)
) && isNormal
"
>
<view
class="info-grid"
:class="{
'multiple-items': userInfo.memberSign === MEMBER_SIGN.NORMAL_LEVEL,
}"
>
<view class="info-item">
<text class="info-value">{{ userInfo.pkGradeVal || '-' }}</text>
<text class="info-label">会员等级</text>
</view>
<template v-if="userInfo.memberSign === MEMBER_SIGN.NORMAL_LEVEL">
<view class="info-item">
<text class="info-value">{{ totalBox || '0' }}</text>
<text class="info-label">总盒数</text>
</view>
<view class="info-item">
<text class="info-value">
{{ smallAreaBox || '0' }}
</text>
<text class="info-label">小区盒数</text>
</view>
</template>
</view>
</view>
<!-- 市场动态 -->
<view class="my_order" v-if="marketWrapperVisible && isNormal">
<view class="my_title">
<text class="thetitle">{{ '市场动态' }}</text>
</view>
<view class="market-stats-container">
<view
class="stat-block primary"
@click="goTo('/pages/mine/marketDynamic/achievement-list')"
>
<view class="stat-content">
<view class="stat-item">
<text class="stat-label">总业绩</text>
<view class="stat-value">
<text class="stat-value__integer">{{
formattedTotalSumPv.integer
}}</text>
<text class="stat-value__decimal">{{
formattedTotalSumPv.decimal
}}</text>
</view>
</view>
<view class="stat-divider"></view>
<view class="stat-item">
<text class="stat-label">小区业绩</text>
<view class="stat-value">
<text class="stat-value__integer">{{
formattedSmallAreaPv.integer
}}</text>
<text class="stat-value__decimal">{{
formattedSmallAreaPv.decimal
}}</text>
</view>
</view>
</view>
<view class="stat-more-arrow">
<u-icon name="arrow-right" color="#fff" size="14"></u-icon>
</view>
</view>
<view
class="stat-block secondary"
@click="goTo('/pages/mine/marketDynamic/box-list')"
>
<view class="stat-content">
<view class="stat-item">
<text class="stat-label">总盒数</text>
<view class="stat-value">
<text class="stat-value__integer">{{
formattedTotalBox.integer
}}</text>
<!-- <text class="stat-value__decimal">{{
formattedTotalBox.decimal
}}</text> -->
</view>
</view>
<view class="stat-divider"></view>
<view class="stat-item">
<text class="stat-label">小区盒数</text>
<view class="stat-value">
<text class="stat-value__integer">{{
formattedSmallAreaBox.integer
}}</text>
<!-- <text class="stat-value__decimal">{{
formattedSmallAreaBox.decimal
}}</text> -->
</view>
</view>
</view>
<view class="stat-more-arrow">
<u-icon name="arrow-right" color="#fff" size="14"></u-icon>
</view>
</view>
</view>
</view>
<view class="my_order">
<view class="my_title">
<text class="thetitle">{{ '我的订单' }}</text>
@ -338,11 +229,11 @@
</u-button>
</view>
</u-popup>
<RegionSelect
<!-- <RegionSelect
v-if="isNormal"
ref="regionSelect"
@success="getRegionSelect"
/>
/> -->
<!-- <talentList :drShow="drShow" @closeShow="closeShow"></talentList> -->
</view>
</template>
@ -387,7 +278,7 @@ export default {
ifshow: true,
},
{
url: '/pages/bonus/menu',
url: '/pages/bonus/index',
name: '奖金明细',
imgurl: '../../static/images/mark2.png',
menuKey: 'incomeDetail',
@ -443,13 +334,13 @@ export default {
menuKey: 'bankInfo',
ifshow: true,
},
{
url: '/pages/bonus/regional-assessment/index',
name: '区域考核',
imgurl: '../../static/images/mark5.png',
menuKey: 'areaAssessment',
ifshow: false,
},
// {
// url: '/pages/bonus/regional-assessment/index',
// name: '',
// imgurl: '../../static/images/mark5.png',
// menuKey: 'areaAssessment',
// ifshow: false,
// },
// {
// url: '/pages/mine/addNewPv/index',
// name: '',
@ -480,7 +371,7 @@ export default {
return
}
this.isNormal = isNormal
this.getRegionSelect()
// this.getRegionSelect()
this.getMemberBoxCount()
this.getMarketDynamicBoxCount()
// this.getUserAwardss()
@ -878,7 +769,7 @@ export default {
box-shadow: 0px 4px 20px 0px rgba(204, 204, 204, 0.4);
border-radius: 20rpx;
padding: 0 20rpx;
margin-top: 20rpx;
margin-top: 40rpx;
.my_title {
display: flex;
@ -1180,7 +1071,7 @@ export default {
}
.btnbox {
margin-top: 30rpx;
margin-top: 190rpx;
padding: 20rpx 22rpx 150rpx 22rpx;
}

View File

@ -104,6 +104,15 @@
:text="'查看物流'"
color="#005BAC"
></u-button>
<u-button
type="primary"
v-if="item.orderStatus == 3"
@click="confirmReceipt(item)"
shape="circle"
style="margin-left: 10px"
:text="'确认收货'"
color="#005BAC"
></u-button>
</view>
</view>
</view>
@ -493,6 +502,34 @@ export default {
this.cancelCode = val.orderCode
this.cancleOrder = true
},
confirmReceipt(item) {
uni.showModal({
title: '提示',
content: '确认收货?',
success: res => {
if (res.confirm) {
api.confirmReceipt(item.orderCode).then(res => {
if (res.code == 200) {
uni.showToast({
title: '确认收货成功',
icon: 'none',
duration: 1500,
})
this.queryParams.pageNum = 1
this.orderLists = []
this.getDataList()
} else {
uni.showToast({
title: res.msg,
icon: 'none',
duration: 1500,
})
}
})
}
},
})
},
getDetails(item) {
uni.showLoading({
title: '加载中',

View File

@ -10,6 +10,28 @@
disabled
/>
</u-form-item>
<u-form-item
v-if="[60, 70, 80].includes(gradeValue) && provinceList.length"
@click="regionSelectHandle"
required
label="会员区域"
borderBottom
prop="regionProvince"
>
<view class="disFlex justBwn">
<view v-if="regionAddress.length">
{{ regionAddress.map(item => item.name).join('-') }}
</view>
<view
v-else
class="uni-input-placeholder input-placeholder"
style="position: relative !important"
>请选择区域</view
>
<!-- <u-input v-model="form.regionProvince" border="none" disabled /> -->
<u-icon name="arrow-right"></u-icon>
</view>
</u-form-item>
<u-form-item
v-show="isRegiest"
:label="'推荐编号'"
@ -401,6 +423,13 @@
:defaultCode="defaultCode"
@addressData="addressData"
></v-address>
<RegionAddress
ref="regionAddress"
:provinceList="provinceList"
:cityList="cityList"
:countyList="countyList"
@setAddress="setRegionAddress"
></RegionAddress>
</view>
</template>
@ -415,14 +444,19 @@ import {
REPURCHASE_AREA,
REISSUE_AREA,
} from '@/util/specialAreaMap'
import regionSelect from '@/pages/commonMixins/regionSelect'
import RegionAddress from '@/components/region-address.vue'
export default {
mixins: [regionSelect],
components: {
'v-address': address,
mustAgreeMent,
agreement,
RegionAddress,
},
data() {
return {
regionAddress: [],
isDeliveryWay: true,
pt: false,
isDp: false,
@ -433,6 +467,7 @@ export default {
defaultCode: [],
moren: '',
addressList: [],
userInfo: uni.getStorageSync('User'),
deliList: [],
transList: [],
queryCardList: [],
@ -444,7 +479,6 @@ export default {
isTrans: false,
countryIndex: 0,
isCountry: false,
userInfo: '',
countryList: [],
isClick: 0,
specialArea: '',
@ -466,6 +500,7 @@ export default {
transType: 1,
pkGradeVal: '',
placeParentName: '',
// regionProvince: '',
},
deliList: [],
diqu: '',
@ -574,6 +609,7 @@ export default {
},
delId: '',
selTable: [],
gradeValue: '',
}
},
computed: {
@ -618,8 +654,6 @@ export default {
this.getPageList()
//
this.getGenerate()
//
this.userInfo = uni.getStorageSync('User')
this.setPageTitle(this.specialArea)
},
onShow() {
@ -627,6 +661,12 @@ export default {
this.getAddressList()
},
methods: {
regionSelectHandle() {
this.$refs.regionAddress.setShow(this.provinceList[0].pkId)
},
setRegionAddress(area) {
this.regionAddress = area
},
setPageTitle(areaId) {
const areaList = [
REGIEST_AREA,
@ -788,6 +828,10 @@ export default {
if (res.code == 200) {
if (res.data.isEnough) {
this.form.pkGradeVal = res.data.pkGradeVal
if ([60, 70, 80].includes(res.data.gradeValue)) {
this.gradeValue = res.data.gradeValue
this.getRegionAreaList(res.data.gradeValue)
}
} else {
this.form.pkGradeVal = ''
uni.showToast({
@ -1144,6 +1188,19 @@ export default {
})
},
goBuy() {
const extParams = {}
if ([60, 70, 80].includes(this.gradeValue) && this.provinceList.length) {
if (!this.regionAddress.length) {
uni.showToast({
title: '请选择会员区域',
icon: 'none',
})
return
}
extParams.regionProvince = this.regionAddress[0]?.pkId || -1
extParams.regionCity = this.regionAddress[1]?.pkId || -1
extParams.regionCounty = this.regionAddress[2]?.pkId || -1
}
this.$refs.uForm.validate().then(res => {
this.isLoading = true
let deleteList = []
@ -1154,7 +1211,7 @@ export default {
})
api
.confirmRegOrder(
Object.assign({}, this.form, this.allGoodsData, {
Object.assign({}, this.form, extParams, this.allGoodsData, {
deleteList: deleteList,
shopList: deleteList,
parentCode: this.form.parent,

View File

@ -6,7 +6,7 @@
-->
<template>
<view class="content">
<special-area-wrapper />
<special-area-wrapper :userInfo="userInfo" />
<cl-tabbar :current="1"></cl-tabbar>
</view>
@ -22,7 +22,9 @@ export default {
},
data() {
return {}
return {
userInfo: uni.getStorageSync('User'),
}
},
onLoad() {},

View File

@ -10,6 +10,28 @@
disabled
/>
</u-form-item>
<u-form-item
v-if="[60, 70, 80].includes(gradeValue) && provinceList.length"
@click="regionSelectHandle"
required
label="会员区域"
borderBottom
prop="regionProvince"
>
<view class="disFlex justBwn">
<view v-if="regionAddress.length">
{{ regionAddress.map(item => item.name).join('-') }}
</view>
<view
v-else
class="uni-input-placeholder input-placeholder"
style="position: relative !important"
>请选择区域</view
>
<!-- <u-input v-model="form.regionProvince" border="none" disabled /> -->
<u-icon name="arrow-right"></u-icon>
</view>
</u-form-item>
<u-form-item label="会员编号" required borderBottom prop="memberCode">
<u-input
disabled
@ -328,6 +350,13 @@
:defaultCode="defaultCode"
@addressData="addressData"
></v-address>
<RegionAddress
ref="regionAddress"
:provinceList="provinceList"
:cityList="cityList"
:countyList="countyList"
@setAddress="setRegionAddress"
></RegionAddress>
</view>
</template>
@ -343,12 +372,16 @@ import {
REPURCHASE_AREA,
REISSUE_AREA,
} from '@/util/specialAreaMap'
import regionSelect from '@/pages/commonMixins/regionSelect'
import RegionAddress from '@/components/region-address.vue'
export default {
components: {
'v-address': address,
mustAgreeMent,
agreement,
RegionAddress,
},
mixins: [regionSelect],
data() {
return {
isDeliveryWay: true,
@ -406,6 +439,7 @@ export default {
orderItemsParams: [],
isLoading: false,
centerCodeId: '',
regionAddress: [],
rules: {
parent: [
{
@ -488,6 +522,8 @@ export default {
},
delId: '',
selTable: [],
regionAddress: [],
gradeValue: '',
}
},
onLoad(options) {
@ -538,6 +574,12 @@ export default {
this.getAddressList()
},
methods: {
regionSelectHandle() {
this.$refs.regionAddress.setShow(this.provinceList[0].pkId)
},
setRegionAddress(area) {
this.regionAddress = area
},
setPageTitle(areaId) {
const areaList = [
REGIEST_AREA,
@ -674,8 +716,13 @@ export default {
}
api.memLevel(params).then(res => {
if (res.code == 200) {
console.log(res.data, 'res.data.memLevel')
if (res.data.isEnough) {
this.form.pkGradeVal = res.data.pkGradeVal
if ([60, 70, 80].includes(res.data.gradeValue)) {
this.gradeValue = res.data.gradeValue
this.getRegionAreaList(res.data.gradeValue)
}
} else {
this.form.pkGradeVal = ''
uni.showToast({
@ -957,6 +1004,19 @@ export default {
})
},
goBuy() {
const extParams = {}
if ([60, 70, 80].includes(this.gradeValue) && this.provinceList?.length) {
if (!this.regionAddress.length) {
uni.showToast({
title: '请选择会员区域',
icon: 'none',
})
return
}
extParams.regionProvince = this.regionAddress[0]?.pkId || -1
extParams.regionCity = this.regionAddress[1]?.pkId || -1
extParams.regionCounty = this.regionAddress[2]?.pkId || -1
}
this.$refs.uForm.validate().then(res => {
this.isLoading = true
let deleteList = []
@ -966,7 +1026,7 @@ export default {
})
})
upgradeOrder(
Object.assign({}, this.form, this.allGoodsData, {
Object.assign({}, this.form, extParams, this.allGoodsData, {
deleteList: deleteList,
shopList: deleteList,
parentCode: this.form.parent,

View File

@ -74,30 +74,7 @@
{{ userInfo.pkGradeVal }}
</view>
</view>
<view class="index-view">
<view class="user-name">荣誉奖衔</view>
<view class="user-right">
{{ userInfo.pkMaxAwardsVal || userInfo.pkAwardsVal }}
</view>
</view>
<!-- <view class="index-view">
<view class="user-name">{{'代理等级'}}</view>
<view class="user-right">
{{userInfo.agentGrade}}
</view>
</view> -->
<!-- <view class="index-view">
<view class="user-name">{{ '真实奖衔' }}</view>
<view class="user-right">
{{ userInfo.awardsVal }}
</view>
</view> -->
<view class="index-view">
<view class="user-name">当月奖衔</view>
<view class="user-right">
{{ userInfo.pkAwardsVal }}
</view>
</view>
<view class="index-view none">
<view class="user-name">{{ '创建日期' }}</view>
<view class="user-right">