web-base-h5/pages/hiFans/index.vue

1313 lines
36 KiB
Vue
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!--
* @Descripttion:
* @version:
* @Author: kBank
* @Date: 2022-11-21 15:11:22
-->
<template>
<view class="content">
<!-- <view class="con_top">
<view class="con_top_i"
@click="toRegiest(0)">
<view>快速注册</view>
<view :class="isClick==0?'bai':''"></view>
</view>
<view class="con_top_i"
@click="toRegiest(1)">
<view>普通注册</view>
<view :class="isClick==1?'bai':''"></view>
</view>
</view> -->
<view class="subTxt">
<view class="subTxt1">{{$t('MN_F_T_8')}}</view>
</view>
<!-- <view class="zhan"></view> -->
<view class="context">
<u-form :model="form"
labelWidth="75"
:rules="rules"
ref="uForm">
<!-- <u-form-item :label="$t('MN_F_T_140')" borderBottom>
<view class="pickerHui">
<u-input v-model="form.deliveryName"
disabled
:placeholder="$t('w_0062')"
border="none"></u-input>
<u-icon name="arrow-down"></u-icon>
</view>
</u-form-item> -->
<u-form-item :label="$t('w_0240')"
borderBottom
prop="pkGradeVal">
<u-input v-model="form.pkGradeVal"
border="none"
disabledColor="#fff"
disabled />
</u-form-item>
<u-form-item :label="$t('PER_DA_3')"
borderBottom>
<view class="disFlex justBwn">
<view class="disFlex">
<img class="countImg"
:src="form.pkCountryImg"
alt="">
<view>{{ form.pkCountryLabel }}</view>
</view>
<u-icon name="arrow-right"></u-icon>
</view>
</u-form-item>
<!-- @tap="changeCountry(1)" -->
<u-form-item :label="$t('PER_DA_4')"
borderBottom>
<view class="disFlex justBwn">
<view class="disFlex">
<img class="countImg"
:src="form.pkSettleCountryImg"
alt="">
<view>{{ form.pkSettleCountryLabel }}</view>
</view>
<u-icon name="arrow-right"></u-icon>
</view>
</u-form-item>
<u-form-item :label="$t('N_I_164')"
required
borderBottom
prop="parent">
<u-input v-model="form.parent"
@blur="isClick==0?getQuickReg():getValidPcode()"
border="none" />
</u-form-item>
<u-form-item :label="$t('N_I_165')"
borderBottom
prop="parentName">
<u-input v-model="form.parentName"
disabled
border="none" />
</u-form-item>
<u-form-item :label="$t('N_I_167')"
required
borderBottom
prop="placeParent">
<u-input v-model="form.placeParent"
:disabled="pt"
border="none" />
</u-form-item>
<u-form-item :label="$t('N_I_166')"
borderBottom
prop="placeParentName">
<u-input v-model="form.placeParentName"
disabled
border="none" />
</u-form-item>
<u-form-item :label="$t('w_0241')"
required
@click="!pt?isPlace = true:isPlace = false"
borderBottom
prop="placeDeptLabel">
<view class="disFlex justBwn">
<u-input v-model="form.placeDeptLabel"
:disabled="pt"
border="none" />
<u-icon name="arrow-right"></u-icon>
</view>
</u-form-item>
<u-form-item
v-if="userInfo.specialRegistration == 1"
:label="$t('CK_KS_14')"
required
borderBottom
prop="memberName"
>
<u-input :maxlength="40" v-model="form.memberName" border="none" />
</u-form-item>
<u-form-item
v-if="userInfo.specialRegistration == 1"
:label="$t('w_0052')" required
borderBottom prop="phone">
<u-input v-if="pkCountry ==1"
v-model="form.phone"
maxlength="11"
type="number"
border="none"
/>
<u-input v-else
v-model="form.phone"
maxlength="30"
border="none"
/>
</u-form-item>
<u-form-item
v-if="userInfo.specialRegistration == 0"
:label="$t('CK_KS_14')"
required
borderBottom
prop="memberName"
>
<u-input maxlength="30" v-model="form.memberName" border="none" />
</u-form-item>
<u-form-item
v-if="userInfo.specialRegistration == 0"
:label="$t('w_0052')" required borderBottom prop="phone">
<u-input
v-model="form.phone"
maxlength="30"
border="none"
/>
</u-form-item>
<u-form-item :label="$t('MN_F_T_140')"
required
borderBottom
@click="userInfo.pkCountry != 1?isDelivery = true:''"
prop="deliveryWayLabel">
<view class="disFlex justBwn">
<u-input v-model="form.deliveryWayLabel"
:disabled="userInfo.pkCountry == 1"
border="none" />
<u-icon name="arrow-right"></u-icon>
</view>
</u-form-item>
<u-form-item :label="$t('MN_F_T_163')"
required
borderBottom
@click="userInfo.pkCountry != 1?isTrans = true:''"
prop="transTypeLabel">
<view class="disFlex justBwn">
<u-input v-model="form.transTypeLabel"
:disabled="userInfo.pkCountry == 1"
border="none" />
<u-icon name="arrow-right"></u-icon>
</view>
</u-form-item>
<view class="subTxt">
<view class="subTxt1">{{$t('w_0065')}}</view>
<span class="subTxt2"
@click="addAdress">
<u-icon color="#fff"
name="plus-circle-fill"></u-icon>
<view>{{$t('w_0328')}}</view>
</span>
</view>
<u-form-item :label="$t('MY_ORD_10')" borderBottom prop="recName">
<u-input
v-model.trim="form.recName"
border="none"
:maxlength="40"
:placeholder="$t('w_0067')"
/>
</u-form-item>
<u-form-item :label="$t('w_0242')" borderBottom prop="recPhone" v-if="pkCountry == 1">
<u-input
v-model.trim="form.recPhone"
border="none"
type="number"
:maxlength="11"
:placeholder="$t('w_0321')"
/>
</u-form-item>
<u-form-item :label="$t('w_0242')" borderBottom prop="recPhone" v-else>
<u-input
v-model.trim="form.recPhone"
border="none"
:maxlength="30"
:placeholder="$t('w_0321')"
/>
</u-form-item>
<u-form-item :label="$t('w_0068')"
borderBottom
prop="diqu"
@click='getDiqu'>
<view class="disFlex justBwn">
<u-input v-model.trim="form.diqu"
:placeholder="$t('w_0322')"
border="none"></u-input>
<u-icon name="arrow-right"></u-icon>
</view>
</u-form-item>
<u-form-item :label="$t('S_C_27')"
borderBottom
prop="recAddress">
<u-input v-model.trim="form.recAddress"
border="none"
maxlength="200"
:placeholder="$t('w_0070')" />
</u-form-item>
<u-form-item :label="$t('w_0071')"
borderBottom>
<u-input disabled
border="none"
v-model="form.postage" />
</u-form-item>
<u-form-item :label="$t('MY_WAL_22')"
borderBottom>
<u-input v-model="form.remark"
border="none"
:placeholder="$t('w_0072')" />
</u-form-item>
</u-form>
<view class="heng">
</view>
<view class="subTxt">
<view>{{$t('w_0073')}}</view>
</view>
<u-radio-group v-model="moren"
shape="circle"
placement="column"
@change="checkRadio">
<view v-for="item in addressList"
:key="item.pkId"
class="disFlex address_a">
<u-radio activeColor="red"
:name="item.pkId"></u-radio>
<view class="address_r">
<view class="disFlex justBwn">
<view class="disFlex">
<view>{{item.recName}}</view>
<view class="mr"
v-show="item.isDefault == 1">{{$t('w_0263')}}</view>
</view>
<view class="disFlex">
<u-icon name="edit-pen"
@click="editAddress(item)"
style="margin-right:20rpx"
color="#999999"
size="20"></u-icon>
<u-icon name="trash"
@click="delAds(item.pkId)"
color="#999999"
size="20"></u-icon>
</view>
</view>
<view class="address_rc">{{item.recPhone}}</view>
<view class="tit3">{{item.recArea}}{{item.recAddress}}</view>
</view>
</view>
</u-radio-group>
<view v-for="(item, index) in allGoodsData.orderItemsParams"
:key="index"
class="goodList">
<view class="goodList_i">
<view class="goodList_it">
<img :src="item.cover1"
class="cover"
alt="">
<view class="goodList_ir">
<view class="goodList_ib">
<view class="tit1">
{{ item.waresName }}
</view>
<view class="tit5">
x{{ item.quantity }}
</view>
</view>
<view class="goodList_ib">
<view class="tit2">
{{ item.price | numberToCurrency | isLocal}}
</view>
<view class="tit3">PV: {{ item.achieve | numberToCurrency | isLocal}}</view>
</view>
</view>
</view>
<view v-for="(stem,sndex) in item.waresItemsParamList"
:key="sndex"
class="product_i">
<img :src="stem.specCover"
alt="">
<view class="product_il">
<view class="tit4">{{ stem.productName }} {{ stem.skuInfo }}</view>
<view class="tit5">x{{ stem.quantity }}</view>
</view>
</view>
<view class="fen">
<view class="disFlex justBwn">
<view class="tit3">{{$t('w_0080')}}(PV)</view>
<view class="tit1">{{ item.achieveAmount | numberToCurrency}}</view>
</view>
<view class="disFlex justBwn">
<view class="tit3">{{$t('w_0093')}}</view>
<view class="tit1">{{ item.priceAmount | numberToCurrency}}</view>
</view>
</view>
</view>
</view>
<view class="pad">
<view class="disFlex justBwn">
<view class="tit3">{{$t('w_0083')}}(¥)</view>
<view class="tit1">{{ allGoodsData.priceAmount | numberToCurrency | isLocal}}</view>
</view>
<view class="disFlex justBwn">
<view class="tit3">{{$t('w_0071')}}:</view>
<view class="tit1">{{ form.postage | numberToCurrency | isLocal}}</view>
</view>
<view class="disFlex justBwn">
<view class="tit3">{{$t('w_0325')}}</view>
<view class="tit1">{{ totalAmont | numberToCurrency | isLocal}}</view>
</view>
<view class="disFlex justBwn">
<view class="tit3">{{$t('ENU_TOTAL_V_1')}}</view>
<view class="tit1">{{ allGoodsData.achieveAmount | numberToCurrency }}</view>
</view>
</view>
</view>
<!-- 占空 -->
<view style="height:296rpx"></view>
<!-- 底部 -->
<view class="footer_f">
<view class="footer">
<view class="footer_l">
<u-checkbox-group v-model="agreementShow"
shape="circle"
activeColor="#FB3024"
@change="checkboxChange">
<u-checkbox :name="1">
</u-checkbox>
</u-checkbox-group>
<view class="tit3">{{$t('w_0207')}}</view>
<view class="tit2"
@click="toAgree"> 《{{$t('w_0208')}}》</view>
</view>
<view class="footer_r">
<u-button type="success"
class="uBtn"
shape="circle"
:loading="isLoading"
:loadingText="$t('w_0313')"
@tap="goBuy"
color="linear-gradient(to right, #fb3024, #fb3024 )">{{$t('w_0085')}}</u-button>
</view>
</view>
</view>
<!-- 选择国家 -->
<u-picker :show="isCountry"
@cancel='isCountry=false'
@confirm="sureCountry"
:columns="countryList"
keyName="label"></u-picker>
<!-- 选择安置位置 -->
<u-picker :show="isPlace"
@cancel='isPlace=false'
@confirm="surePlace"
:columns="placeList"
keyName="label"></u-picker>
<!-- 发货方式 -->
<u-picker :show="isDelivery"
@cancel='isDelivery=false'
@confirm="sureDelivery"
:columns="deliList"
keyName="label"></u-picker>
<!-- 运输方式 -->
<u-picker :show="isTrans"
@cancel='isTrans=false'
@confirm="sureTrans"
:columns="transList"
keyName="label"></u-picker>
<!-- 发货仓库 -->
<u-picker :show="isCk"
@cancel='isCk=false'
@confirm="sureCk"
:columns="storehouseList"
keyName="label"></u-picker>
<!-- 所属店铺 -->
<u-picker :show="isDp"
@cancel='isDp=false'
@confirm="sureDp"
:columns="storeList"
keyName="label"></u-picker>
<!-- 银行名称 -->
<u-picker :show="isBank"
@cancel='isBank=false'
@confirm="sureBank"
:columns="bankList"
keyName="label"></u-picker>
<!-- 强制阅读协议 -->
<mustAgreeMent :waresCodeList='waresCodeList'></mustAgreeMent>
<agreement ref="agreement"></agreement>
<u-modal :show="delAddress"
showConfirmButton
showCancelButton
:content="$t('w_0088')+''"
confirmColor='#DE3932'
@confirm="toDel"
@cancel="delAddress=false"
ref="uModal"
:asyncClose="true"></u-modal>
<v-address ref="address"
:defaultCode="defaultCode"
@addressData="addressData"></v-address>
</view>
</template>
<script>
import address from '@/components/address.vue'
import mustAgreeMent from '@/components/mustAgreeMent.vue'
import * as api from '@/config/regiest'
import agreement from '@/components/agreement.vue'
export default {
components: {
'v-address': address,
mustAgreeMent,
agreement,
},
data() {
return {
pt: false,
isDp: false,
storeList: [],
storehouseList: [],
isCk: false,
delAddress: false,
waresCodeList: [],
defaultCode: [],
moren: '',
addressList: [],
deliList: [],
transList: [],
bankList: [],
isDelivery: false,
isBank: false,
isTrans: false,
placeList: [
[
{
id: 1,
label: this.$t('ENU_PLACE_D_1'),
},
{
id: 2,
label: this.$t('ENU_PLACE_D_2'),
},
],
],
isPlace: false,
countryIndex: 0,
isCountry: false,
userInfo: '',
countryList: [],
isClick: 0,
specialArea: '',
shoppingArr: [],
allGoodsData: '',
pageList: {
mail: false,
card: false,
bankName: false,
bankNo: false,
accountBranch: false,
},
form: {
deliveryName: this.$t('ENU_DELIVERY_1'),
deliveryWay: 1,
postage: 0,
transType: 1,
pkGradeVal: '',
},
deliList: [],
diqu: '',
allData: [],
goodsNum: 1,
agreementShow: [],
priceAmount: 0, //商品总价
achiveAmount: 0, //总业绩
totalAmont: 0,
orderItemsParams: [],
isLoading: false,
centerCodeId: '',
rules: {
parent: [
{
required: true,
message: this.$t('w_0264'),
trigger: ['blur'],
},
],
placeParent: [
{
required: true,
asyncValidator: this.placeParentPass,
trigger: ['blur'],
},
],
memberName: [
{
required: true,
message: this.$t('w_0274'),
trigger: ['blur'],
},
],
phone: [
{ required: true, validator: this.phonePass, trigger: ['blur'] },
],
recName: [
{
required: true,
message: this.$t('w_0067'),
trigger: ['blur'],
},
],
recPhone: [
{
required: true,
message: this.$t('w_0321'),
trigger: ['blur'],
},
],
diqu: [
{
required: true,
message: this.$t('w_0069'),
trigger: ['change', 'blur'],
},
],
recAddress: [
{
required: true,
message: this.$t('w_0070'),
trigger: ['blur'],
},
],
},
delId: '',
pkCountry:''
}
},
onLoad(options) {
this.pkCountry = uni.getStorageSync("pkCountry");
this.specialArea = options.specialArea
this.shoppingArr = JSON.parse(options.shoppArr)
// 获取购物车详情
this.getCatDetail()
// 获取页面权限
this.getPageList()
// 幂等性
this.getGenerate()
// 登录信息
this.userInfo = uni.getStorageSync('User')
},
onShow() {
// 获取地址
this.getAddressList()
},
methods: {
toAgree() {
// agreeMent
this.$refs.agreement.openDig()
},
addAdress() {
uni.navigateTo({
url: '/pages/address/index',
})
},
editAddress(item) {
uni.navigateTo({
url: '/pages/address/index?pkId=' + item.pkId,
})
},
delAds(id) {
this.delId = id
this.delAddress = true
},
toDel() {
api.delAddress(this.delId).then((res) => {
uni.showToast({
title: this.$t('w_0089'),
icon: 'none',
})
this.getAddressList()
})
this.delAddress = false
},
getPageList() {
api.registerList().then((res) => {
res.data.forEach((item) => {
if (item.field == 'MAILBOX') {
this.pageList.mail = true
} else if (item.field == 'CREDENTIALS') {
this.pageList.card = true
} else if (item.field == 'BANK_NAME') {
this.pageList.bankName = true
} else if (item.field == 'BANK_NO') {
this.pageList.bankNo = true
} else if (item.field == 'Account_Branch') {
this.pageList.accountBranch = true
}
})
})
},
getCatDetail() {
api
.shoppingWaresDetail({
shoppingIds: this.shoppingArr,
specialArea: this.specialArea,
})
.then((res) => {
this.allGoodsData = res.data
this.waresCodeList = res.data.orderItemsParams.map((item) => {
return item.waresCode
})
this.allGoodsData.specialArea = this.specialArea
this.totalAmont = this.allGoodsData.priceAmount
// 快速注册/普通注册
this.toRegiest(this.isClick)
// 获取地址
// this.getAddressList()
// 获取国家
this.getCountry()
// 获取运输方式
this.getTransList()
// 获取发货方式
this.getDeliveryList()
if (this.userInfo.pkCountry != 1) {
//获取会员店铺
this.getStoreList()
//获取仓库
this.getStorehouseList()
}
// 获取银行
this.getBank()
// 获取省市县
// this.getAllArea()
// 获取会员等级
this.getMember()
})
},
toRegiest(val) {
this.isClick = val
this.resetAll()
if (val == 0) {
// 推荐编号赋值
this.form.parent = this.userInfo.memberCode
// 推荐姓名赋值
this.form.parentName = this.userInfo.memberName
this.pt = false
// 从推荐编号获取安置信息
this.getQuickReg()
} else {
}
if (this.userInfo.pkCountry == 1) {
this.form.transType = 1
this.form.deliveryWay = 1
}
},
resetAll() {
this.form.parent = ''
this.form.parentName = ''
this.form.placeParent = ''
this.form.placeParentName = ''
this.form.placeDept = ''
this.form.memberName = ''
this.form.phone = ''
this.form.idCard = ''
this.form.pkBank = ''
this.form.cardNumber = ''
this.form.subBankName = ''
this.form.email = ''
this.form.deliveryWay = ''
this.form.transType = ''
this.$nextTick(() => {
this.$refs.uForm.clearValidate()
})
},
getMember() {
let deleteList = []
this.shoppingArr.forEach((item) => {
deleteList.push({
shoppingId: item,
})
})
this.allGoodsData.deleteList = deleteList
api.memLevel(this.allGoodsData).then((res) => {
this.form.pkGradeVal = res.data.pkGradeVal
})
},
checkAddress() {},
getQuickReg() {
api
.quickReg({
parent: this.form.parent,
specialArea: this.specialArea,
})
.then((res) => {
if (res.code == 200) {
this.form.placeDept = res.data.placeDept
this.form.placeDeptLabel = res.data.placeDeptVal
this.form.placeParent = res.data.placeParent
this.form.placeParentName = res.data.placeParentName
this.form.parentName = res.data.parentName
if (res.data.isFirst) {
// 普通注册首单
this.pt = true
} else {
// 普通注册首单
this.pt = false
}
this.$forceUpdate()
}
})
},
getValidPcode() {
api
.validPcode({
parent: this.form.parent,
})
.then((res) => {
if (res.code == 200) {
this.getQuickReg()
// this.form.parentName = res.data.parentName
this.$forceUpdate()
}
})
},
// 安置编号校验
placeParentPass(rule, value, callback) {
if (!value) {
callback(new Error(this.$t('w_0266')))
} else {
api
.validPPcode({
parent: this.form.parent,
placeParent: value,
placeDept: this.form.placeDept,
})
.then((res) => {
if (res.code == 200) {
this.form.placeParentName = res.data.placeParentName
this.$forceUpdate()
callback()
} else {
this.form.placeParentName = ''
callback(new Error(res.msg))
}
})
}
},
phonePass(rule, value, callback) {
if (!value) {
callback(new Error(this.$t('w_0278')))
} else {
callback()
// api
// .validPhone({
// memberName: this.form.memberName,
// phone: this.form.phone,
// placeParent: this.form.placeParent,
// })
// .then((res) => {
// if (res.code == 200) {
// callback()
// } else {
// callback(new Error(res.msg))
// }
// })
}
},
getAddressList() {
api.addressList().then((res) => {
this.addressList = res.data
this.addressList.forEach((item) => {
if (item.isDefault == 1) {
this.moren = item.pkId
this.checkRadio()
}
})
})
},
checkboxChange(e) {},
checkRadio() {
let arr = []
this.addressList.forEach((item) => {
if (item.pkId == this.moren) {
this.form.recName = item.recName
this.form.nameList = item.recArea
this.form.recPhone = item.recPhone
this.form.recAddress = item.recAddress
this.form.recProvince = item.recProvince
this.form.recCity = item.recCity
if (item.recCounty) {
this.form.diqu = `${item.recProvinceVal}-${item.recCityVal}-${item.recCountyVal}`
this.form.recCounty = item.recCounty
} else {
this.form.diqu = `${item.recProvinceVal}-${item.recCityVal}`
this.form.recCounty = ''
}
this.defaultCode = [
item.recProvince,
item.recCity,
item.recCounty || '',
]
}
})
this.allGoodsData.deliveryWay = this.form.deliveryWay
this.allGoodsData.transType = this.form.transType
this.getPostAge()
this.$forceUpdate()
},
getPostAge() {
let deleteList = []
this.shoppingArr.forEach((item) => {
deleteList.push({
shoppingId: item,
})
})
this.allGoodsData.deleteList = deleteList
delete this.form.postage;
api
.queryPostage(
Object.assign(
{ specialArea: this.specialArea },
this.allGoodsData,
this.form
)
)
.then((res) => {
this.form.postage = Number(res.data.postage).toFixed(2)
this.totalAmont =
parseFloat(this.allGoodsData.priceAmount) +
parseFloat(res.data.postage)
})
},
getBank() {
api.bankList().then((res) => {
let data = res.data.map((item) => {
return {
id: item.pkId,
label: item.bankName,
}
})
this.bankList = [data]
})
},
getTransList() {
api.transportList().then((res) => {
let data = res.data.map((item) => {
return {
id: item.value,
label: item.label,
}
})
this.transList = [data]
if (this.userInfo.pkCountry == 1) {
this.form.transType = 1
data.forEach((item) => {
if (item.id == 1) {
this.form.transTypeLabel = item.label
}
})
}
})
},
getDeliveryList() {
api.deliveryList().then((res) => {
let data = res.data.map((item) => {
return {
id: item.value,
label: item.label,
}
})
this.deliList = [data]
if (this.userInfo.pkCountry == 1) {
this.form.deliveryWay = 1
data.forEach((item) => {
if (item.id == 1) {
this.form.deliveryWayLabel = item.label
}
})
}
})
},
getStorehouseList() {
api.storehouseList().then((res) => {
let data = res.rows.map((item) => {
return {
id: item.pkId,
label: item.name,
}
})
this.storehouseList = [data]
})
},
getStoreList() {
api.storeList().then((res) => {
let data = res.rows.map((item) => {
return {
id: item.pkId,
label: item.storeName,
}
})
this.storeList = [data]
})
},
sureBank(e) {
const { value } = e
this.form.pkBank = value[0].id
this.form.pkBankLabel = value[0].label
this.isBank = false
},
sureTrans(e) {
const { value } = e
this.form.transType = value[0].id
this.form.transTypeLabel = value[0].label
this.isTrans = false
},
sureCk(e) {
const { value } = e
this.form.pkStorehouse = value[0].id
this.form.pkStorehouseLabel = value[0].label
this.isCk = false
},
sureDp(e) {
const { value } = e
this.form.pkMemberStore = value[0].id
this.form.pkMemberStoreLabel = value[0].label
this.isDp = false
},
sureDelivery(e) {
const { value } = e
this.form.deliveryWay = value[0].id
this.form.deliveryWayLabel = value[0].label
this.isDelivery = false
},
surePlace(e) {
const { value } = e
this.form.placeDept = value[0].id
this.form.placeDeptLabel = value[0].label
this.isPlace = false
},
changeCountry(index) {
this.isCountry = true
this.countryIndex = index
},
sureCountry(e) {
const { value } = e
if (this.countryIndex == 0) {
this.form.pkCountry = value[0].id
this.form.pkCountryLabel = value[0].label
this.form.pkCountryImg = value[0].img
} else {
this.form.pkSettleCountry = value[0].id
this.form.pkSettleCountryLabel = value[0].label
this.form.pkSettleCountryImg = value[0].img
}
this.isCountry = false
},
getCountry() {
api.countryList().then((res) => {
let data = res.data.map((item) => {
return {
img: item.nationalFlag2,
id: item.pkId,
label: item.shortName,
}
})
this.countryList = [data]
this.countryList[0].forEach((item) => {
if (item.id == this.userInfo.pkCountry) {
this.form.pkCountry = item.id
this.form.pkCountryLabel = item.label
this.form.pkCountryImg = item.img
this.form.pkSettleCountry = item.id
this.form.pkSettleCountryLabel = item.label
this.form.pkSettleCountryImg = item.img
}
})
})
},
getGenerate() {
api.generate().then((res) => {
uni.setStorageSync('mToken', res.msg)
})
},
goBuy() {
this.$refs.uForm.validate().then((res) => {
if (this.agreementShow.length == 0) {
uni.showToast({
title: this.$t('w_0091'),
icon: 'none',
duration: 1500,
})
return
}
this.isLoading = true
let deleteList = []
this.shoppingArr.forEach((item) => {
deleteList.push({
shoppingId: item,
})
})
api
.confirmFunOrder(
Object.assign({}, this.form, this.allGoodsData, {
deleteList: deleteList,
})
)
.then((res) => {
this.isLoading = false
if (res.code == 200) {
uni.navigateTo({
url:
'/pages/pay/index?paramsPost=' +
JSON.stringify(res.data) +
'&businessType=1',
})
}
})
})
},
getDiqu() {
this.$refs.address.setShow()
},
confirmPopup() {},
addressData(diqu, obj) {
this.form.diqu = diqu
this.form.recProvince = obj.province
this.form.recCity = obj.city
this.form.recCounty = obj.county
this.$forceUpdate()
this.getPostAge()
// this.queryAdressPostage()
},
},
}
</script>
<style lang="scss" scoped>
.content {
.con_top {
width: 100%;
position: fixed;
display: flex;
background: #fb3024;
font-size: 28rpx;
font-weight: 400;
color: #ffffff;
padding: 24rpx 0;
z-index: 1;
.con_top_i {
flex: 1;
text-align: center;
.bai {
width: 52rpx;
height: 6rpx;
background: #ffffff;
margin: 0 auto;
margin-top: 10rpx;
}
}
}
.zhan {
height: 96rpx;
}
}
.countImg {
width: 62rpx;
height: 41rpx;
margin-right: 20rpx;
}
.context {
}
::v-deep .u-form-item__body {
padding: 10px 20px;
}
::v-deep .u-input__content {
padding: 0px 20rpx;
}
::v-deep .u-form-item__body__right__message {
margin-left: 105px !important;
}
.disFlex {
display: flex;
align-items: center;
}
.justBwn {
width: 100%;
justify-content: space-between;
}
.goodList {
display: flex;
padding: 20rpx;
border-bottom: 1px solid #eee;
background: #fff;
}
.cover {
width: 136rpx;
height: 136rpx;
background: #ffffff;
border: 1px solid #eeeeee;
border-radius: 10rpx;
}
.goodList_i {
flex: 1;
}
.goodList_it {
display: flex;
padding: 0rpx 0 20rpx 0rpx;
.goodList_ir {
margin-left: 20rpx;
flex: 1;
display: flex;
flex-direction: column;
justify-content: space-between;
.goodList_ib {
display: flex;
align-items: center;
justify-content: space-between;
img {
width: 56rpx;
height: 56rpx;
}
}
}
}
.product_i {
display: flex;
align-items: center;
background: #f6f6f6;
padding: 28rpx;
.product_il {
display: flex;
align-items: center;
flex: 1;
justify-content: space-between;
margin-left: 20rpx;
}
img {
width: 50rpx;
height: 50rpx;
background: #ffffff;
border: 1px solid #dddddd;
border-radius: 10rpx;
}
}
.fen {
background: #f6f6f6;
padding: 0 28rpx 28rpx 28rpx;
}
.pad {
padding: 28rpx;
}
.footer_f {
position: fixed;
bottom: 0;
width: 100%;
z-index: 10;
background: #f2f2f2;
height: 296rpx;
}
.footer {
display: flex;
flex-direction: column;
justify-content: space-between;
padding: 20rpx 24rpx 40rpx 20rpx;
.footer_l {
display: flex;
justify-content: center;
margin: 30rpx 0 40rpx 0;
}
.footer_r {
// flex: 1;
display: flex;
align-items: center;
font-size: 20rpx;
font-weight: 500;
color: #333333;
}
}
.tit1 {
font-size: 28rpx;
font-family: Source Han Sans CN;
font-weight: 400;
color: #333333;
}
.tit2 {
font-size: 26rpx;
font-family: Source Han Sans CN;
font-weight: bold;
color: #fb3024;
}
.tit3 {
font-size: 26rpx;
font-family: Source Han Sans CN;
font-weight: 400;
color: #999999;
}
.tit4 {
font-size: 28rpx;
font-family: PingFang SC;
font-weight: 400;
color: #333333;
}
.tit5 {
font-size: 24rpx;
font-family: Source Han Sans CN;
font-weight: 400;
color: #999999;
}
.heng {
height: 20rpx;
background: #f2f2f2;
}
.subTxt {
background: #fb3024;
font-size: 28rpx;
font-family: Source Han Sans CN;
font-weight: bold;
color: #fff;
padding: 35rpx 27rpx;
display: flex;
align-items: center;
justify-content: space-between;
.subTxt1 {
border-left: 4px solid #fff;
padding: 0 20rpx;
}
.subTxt2 {
display: flex;
align-items: center;
view {
margin-left: 20rpx;
}
}
}
.address_a {
padding: 27rpx;
border-bottom: 2rpx solid #eee;
}
.address_r {
flex: 1;
margin-left: 20rpx;
font-size: 28rpx;
font-family: Source Han Sans CN;
font-weight: bold;
color: #333333;
}
.address_rc {
margin: 6rpx 0;
}
.mr {
margin-left: 20rpx;
background: #181818;
border-radius: 16rpx;
font-size: 20rpx;
font-family: Source Han Sans CN;
font-weight: 400;
color: #ffffff;
padding: 6rpx 16rpx;
border-radius: 20px;
}
</style>