549 lines
16 KiB
Vue
549 lines
16 KiB
Vue
<template>
|
||
<view>
|
||
<!-- 收货人信息 -->
|
||
<!-- 收货人信息 -->
|
||
<view class="form-title d-b-c" v-if="form.deliveryWay == 4">
|
||
<text>
|
||
{{ $t("w_0065") }}
|
||
</text>
|
||
<view class="d-c-c" @click="gotoPage('/pages/user/address/add')">
|
||
<u-icon name="plus-circle-fill" size="38rpx" color="#fff"></u-icon>
|
||
<text class="ml10">{{ $t("w_0328") }}</text>
|
||
</view>
|
||
</view>
|
||
<view class="prefecture form-group mb20" v-if="form.deliveryWay == 4">
|
||
<!-- 收货人 -->
|
||
<view class="form-item">
|
||
<view class="form-label">
|
||
<text class="domation mr10">*</text>
|
||
{{ $t("MY_ORD_10") }}
|
||
</view>
|
||
<input
|
||
class="form-input"
|
||
type="text"
|
||
v-model="form.recName"
|
||
placeholder=""
|
||
/>
|
||
</view>
|
||
<!-- 联系方式 -->
|
||
<view class="form-item">
|
||
<view class="form-label">
|
||
<text class="domation mr10">*</text>
|
||
{{ $t("w_0052") }}
|
||
</view>
|
||
<input
|
||
class="form-input"
|
||
type="text"
|
||
v-model="form.recPhone"
|
||
placeholder=""
|
||
/>
|
||
</view>
|
||
<!-- 收货地址 -->
|
||
<view class="form-item" @click="showAddPicker">
|
||
<view class="form-label">
|
||
<text class="domation mr10">*</text>
|
||
{{ $t("w_0068") }}
|
||
</view>
|
||
<input
|
||
class="form-input"
|
||
disabled
|
||
type="text"
|
||
v-model="form.nameList"
|
||
placeholder=""
|
||
/>
|
||
<text class="icon iconfont icon-jiantou"></text>
|
||
</view>
|
||
<!-- 详细地址 -->
|
||
<view class="form-item">
|
||
<view class="form-label">
|
||
<text class="domation mr10">*</text>
|
||
{{ $t("S_C_27") }}
|
||
</view>
|
||
<textarea
|
||
auto-height
|
||
class="form-textarea"
|
||
v-model="form.recAddress"
|
||
placeholder=""
|
||
/>
|
||
</view>
|
||
<!-- 邮费 -->
|
||
<!-- <view class="form-item">
|
||
<view class="form-label">
|
||
<text class="domation mr10">*</text>
|
||
{{ $t('w_0071') }}
|
||
</view>
|
||
<input class="form-input" disabled type="text" :value="formatNum(form.postage)" />
|
||
</view> -->
|
||
<!-- 备注 -->
|
||
<view class="form-item">
|
||
<view class="form-label">
|
||
<text class="domation mr10">*</text>
|
||
{{ $t("MY_WAL_22") }}
|
||
</view>
|
||
<textarea
|
||
auto-height
|
||
class="form-textarea"
|
||
v-model="form.remark"
|
||
placeholder=""
|
||
/>
|
||
</view>
|
||
<template v-if="shareType">
|
||
<!-- 发货方式 -->
|
||
<picker
|
||
:disabled="userCountry == 1"
|
||
:range="deliveryList"
|
||
range-key="label"
|
||
@change="changeDelivery"
|
||
>
|
||
<view class="form-item" v-if="deliveryList[deliveryIndex]">
|
||
<view class="form-label">
|
||
<text class="domation mr10">*</text>
|
||
{{ $t("w_0061") }}
|
||
</view>
|
||
<input
|
||
class="form-input"
|
||
disabled
|
||
type="text"
|
||
:value="deliveryList[deliveryIndex].label"
|
||
placeholder=""
|
||
/>
|
||
<text
|
||
v-if="userCountry != 1"
|
||
class="icon iconfont icon-jiantou"
|
||
></text>
|
||
</view>
|
||
</picker>
|
||
<!-- 运输方式 -->
|
||
<!-- <picker :disabled="userCountry == 1" :range="transportType" range-key="label" @change="changeTransport">
|
||
<view class="form-item" v-if="transportType[transportIndex]">
|
||
<view class="form-label">
|
||
<text class="domation mr10">*</text>
|
||
{{ $t('w_0063') }}
|
||
</view>
|
||
<input class="form-input" disabled type="text" :value="transportType[transportIndex].label" placeholder="" />
|
||
<text v-if="userCountry != 1" class="icon iconfont icon-jiantou"></text>
|
||
</view>
|
||
</picker> -->
|
||
<!-- 会员店铺 -->
|
||
<picker
|
||
:range="storeList"
|
||
v-if="userCountry != 1"
|
||
range-key="storeName"
|
||
@change="changeStore"
|
||
>
|
||
<view class="form-item" style="border-bottom: 1rpx solid #eee">
|
||
<view class="form-label">
|
||
<text class="white mr10">*</text>
|
||
{{ $t("w_0100") }}
|
||
</view>
|
||
<input
|
||
class="disabled-input"
|
||
disabled
|
||
type="text"
|
||
:value="
|
||
(storeList &&
|
||
storeList[storeIndex] &&
|
||
storeList[storeIndex].storeName) ||
|
||
''
|
||
"
|
||
placeholder=""
|
||
/>
|
||
<text class="icon iconfont icon-jiantou"></text>
|
||
</view>
|
||
</picker>
|
||
<!-- 仓库 -->
|
||
<!-- <picker :range="storehouse" v-if="userCountry != 1" range-key="name" @change="changeStorehouse">
|
||
<view class="form-item">
|
||
<view class="form-label">
|
||
<text class="white mr10">*</text>
|
||
{{ $t('w_0102') }}
|
||
</view>
|
||
<input
|
||
class="disabled-input"
|
||
disabled
|
||
type="text"
|
||
:value="(storehouse && storehouse[storehouseIndex] && storehouse[storehouseIndex].name) || ''"
|
||
placeholder=""
|
||
/>
|
||
<text class="icon iconfont icon-jiantou"></text>
|
||
</view>
|
||
</picker> -->
|
||
</template>
|
||
</view>
|
||
<!-- 历史地址 -->
|
||
<template
|
||
v-if="!shareType && memberAddress.length > 0 && form.deliveryWay == 4"
|
||
>
|
||
<view class="form-title">
|
||
{{ $t("w_0073") }}
|
||
</view>
|
||
<view class="prefecture form-group mb20">
|
||
<view
|
||
class="d-b-s address-item"
|
||
v-for="(item, index) in memberAddress"
|
||
:key="index"
|
||
>
|
||
<view
|
||
class="radio-check d-c-c"
|
||
:class="{ checked: checkedindex == index }"
|
||
@click.stop="checkedFunc(item, index)"
|
||
>
|
||
<u-icon name="checkbox-mark" color="#fff" size="26rpx"></u-icon>
|
||
</view>
|
||
<view class="flex-1">
|
||
<view class="f28 gray3 fb mb10 d-s-s">
|
||
{{ item.recName }}
|
||
<text class="small-text-btn" v-if="item.isDefault == 1">{{
|
||
$t("w_0263")
|
||
}}</text>
|
||
</view>
|
||
<view class="f24 gray9">{{ item.recArea }}</view>
|
||
</view>
|
||
<view class="d-c-c">
|
||
<view
|
||
class="icon-box plus d-c-c ml30"
|
||
@click="gotoPage('/pages/user/address/edit?pkId=' + item.pkId)"
|
||
>
|
||
<image
|
||
class="add_icon_img edit"
|
||
src="/static/icon/add-edit.png"
|
||
mode="aspectFill"
|
||
></image>
|
||
</view>
|
||
<view
|
||
class="icon-box plus d-c-c ml30"
|
||
@click="delAddress(item.pkId)"
|
||
>
|
||
<image
|
||
class="add_icon_img delete"
|
||
src="/static/icon/add-delete.png"
|
||
mode="aspectFill"
|
||
></image>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</template>
|
||
<view class="product-box" @click="testFunc(form)">
|
||
<view class="product-title">
|
||
<!-- 商品信息 -->
|
||
{{ $t("w_0077") }}
|
||
</view>
|
||
<view class="product-list order-product">
|
||
<view
|
||
v-for="(item, index) in form.orderItemsParams"
|
||
:key="index"
|
||
class="product-item"
|
||
>
|
||
<view class="d-b-s mb20">
|
||
<image
|
||
class="product-img"
|
||
:src="item.cover1 || item.cover"
|
||
mode=""
|
||
></image>
|
||
<view class="product-info d-c d-b-s flex-1">
|
||
<view class="text-ellipsis-2 f28 gray3">{{
|
||
item.waresName || item.productName
|
||
}}</view>
|
||
<view v-if="item.waresSkuList" class="f22 gray6">{{
|
||
item.waresSkuList[0].specValueNames
|
||
}}</view>
|
||
<view class="price-color f24">
|
||
<view
|
||
v-if="
|
||
(cid == 101 || cid == 102 || cid == 201 || cid == 202) &&
|
||
userinfo.pkSettleCountry != userCountry
|
||
"
|
||
>
|
||
{{ borderunits
|
||
}}<text class="f32 fb">{{
|
||
formatNum(item.borderPrice)
|
||
}}</text>
|
||
({{ currencyIcon() }}
|
||
<text class="f32 fb">{{
|
||
formatNum(item.price || item.waresPrice)
|
||
}}</text
|
||
>)
|
||
</view>
|
||
<view v-else>
|
||
{{ currencyIcon() }}
|
||
<text class="f32 fb">{{
|
||
formatNum(item.price || item.waresPrice)
|
||
}}</text>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view class="f24 gray9 ml20">X{{ item.quantity }}</view>
|
||
</view>
|
||
<view class="mb10 gray9 f26" v-if="cid != 30"
|
||
>{{ $t("ENU_TOTAL_V_1") }}:{{
|
||
formatNum(item.achieve || item.pv)
|
||
}}</view
|
||
>
|
||
<view class="secend-product" v-if="cid != 21">
|
||
<view
|
||
class="d-b-s mb20"
|
||
v-for="(sitem, sindex) in item.waresItemsParamList"
|
||
:key="sindex"
|
||
>
|
||
<view class="d-s-c">
|
||
<image
|
||
:src="sitem.specCover"
|
||
mode=""
|
||
class="s-product-img"
|
||
></image>
|
||
<view class="f28">
|
||
{{ sitem.productName }}
|
||
<text class="ml20">{{ sitem.skuInfo }}</text>
|
||
</view>
|
||
</view>
|
||
<view class="f24 gray9 ml20">X{{ sitem.quantity }}</view>
|
||
</view>
|
||
<view class="d-b-c mb20" v-if="cid!=30">
|
||
<view class="flex-1 f26 gray9">{{ $t("w_0080") }}</view>
|
||
<view class="f26 gray3">
|
||
{{ formatNum(item.achieveAmount) }}
|
||
</view>
|
||
</view>
|
||
<view class="d-b-c">
|
||
<view class="flex-1 f26 gray9">{{ $t("w_0093") }}</view>
|
||
<view class="f26 gray3">
|
||
<view
|
||
v-if="
|
||
(cid == 101 || cid == 102 || cid == 201 || cid == 202) &&
|
||
userinfo.pkSettleCountry != userCountry
|
||
"
|
||
>
|
||
{{ borderunits }}{{ formatNum(item.borderAmount) }}({{
|
||
currencyIcon()
|
||
}}{{ formatNum(item.priceAmount) }})
|
||
</view>
|
||
<view v-else>
|
||
{{ currencyIcon() }}{{ formatNum(item.priceAmount) }}
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view class="ww100 pt30" v-if="cid != 21">
|
||
<view class="d-b-c mb20">
|
||
<view class="flex-1 f26 gray9">{{ $t("w_0083") }}</view>
|
||
<view class="f26 gray3">
|
||
<view
|
||
v-if="
|
||
(cid == 101 || cid == 102 || cid == 201 || cid == 202) &&
|
||
userinfo.pkSettleCountry != userCountry
|
||
"
|
||
>
|
||
{{ borderunits }}{{ formatNum(form.borderPriceAmount) }} ({{
|
||
currencyIcon()
|
||
}}{{ formatNum(form.priceAmount) }})
|
||
</view>
|
||
<view v-else>
|
||
{{ currencyIcon() }}{{ formatNum(form.priceAmount) }}
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view class="d-b-c mb20">
|
||
<view class="flex-1 f26 gray9">{{ $t("w_0071") }}</view>
|
||
<view class="f26 gray3">
|
||
<view
|
||
v-if="
|
||
(cid == 101 || cid == 102 || cid == 201 || cid == 202) &&
|
||
userinfo.pkSettleCountry != userCountry
|
||
"
|
||
>
|
||
{{ borderunits }}{{ formatNum(form.postage) || "0.00" }} ({{
|
||
currencyIcon()
|
||
}}{{ formatNum(form.postage) || "0.00" }})
|
||
</view>
|
||
<view v-else>
|
||
{{ currencyIcon() }}{{ formatNum(form.postage) || "0.00" }}
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<!-- <view class="d-b-c mb20">
|
||
<view class="flex-1 f26 gray9">复购券抵扣</view>
|
||
<view class="f26 gray3">{{currencyIcon()}}1400</view>
|
||
</view> -->
|
||
<!-- <view class="d-b-c mb20">
|
||
<view class="flex-1 f26 gray9">总价</view>
|
||
<view class="f26 gray3">{{currencyIcon()}}{{form.priceAmount}}</view>
|
||
</view> -->
|
||
<view class="d-b-c mb20" v-if="cid != 30">
|
||
<view class="flex-1 f26 gray9" >{{ $t("ENU_TOTAL_V_1") }}</view>
|
||
<view class="f26 gray3"
|
||
>{{ performanceCurrency()
|
||
}}{{ formatNum(form.achieveAmount) }}</view
|
||
>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</template>
|
||
|
||
<script>
|
||
export default {
|
||
data() {
|
||
return {
|
||
checkedindex: 0,
|
||
deliveryIndex: 0,
|
||
transportIndex: 0,
|
||
storeIndex: "",
|
||
storehouseIndex: "",
|
||
userinfo: {},
|
||
};
|
||
},
|
||
props: [
|
||
"shareType",
|
||
"memberAddress",
|
||
"transportType",
|
||
"deliveryList",
|
||
"userCountry",
|
||
"storeList",
|
||
"storehouse",
|
||
"cid",
|
||
"borderunits",
|
||
],
|
||
inject: ["form"],
|
||
mounted() {
|
||
this.getInfo();
|
||
console.log(this.form, "form");
|
||
},
|
||
methods: {
|
||
getInfo() {
|
||
let self = this;
|
||
self._get("member/api/member/get-info", {}, (res) => {
|
||
self.userinfo = res.data;
|
||
});
|
||
},
|
||
changeStore(e) {
|
||
this.storeIndex = e.detail.value;
|
||
this.form.pkMemberStore = this.storeList[this.storeIndex].pkId;
|
||
},
|
||
changeStorehouse(e) {
|
||
this.storehouseIndex = e.detail.value;
|
||
this.form.pkStorehouse = this.storehouse[this.storehouseIndex].pkId;
|
||
},
|
||
delAddress(e) {
|
||
this.$emit("delAddress", e);
|
||
},
|
||
showAddPicker() {
|
||
this.$emit("showAddPicker");
|
||
},
|
||
checkedFunc(e, n) {
|
||
this.checkedindex = n;
|
||
this.form.recName = e.recName;
|
||
this.form.recPhone = e.recPhone;
|
||
this.form.recProvince = e.recProvince;
|
||
this.form.recCity = e.recCity;
|
||
this.form.recCounty = e.recCounty;
|
||
this.form.nameList = e.recArea;
|
||
this.form.recAddress = e.recAddress;
|
||
this.form.dizhi = [e.recProvince, e.recCity, e.recCounty];
|
||
this.$emit("queryOrderPostage");
|
||
},
|
||
changeDelivery(e) {
|
||
this.deliveryIndex = e.detail.value;
|
||
this.form.deliveryWay = this.deliveryList[this.deliveryIndex].value;
|
||
this.$emit("queryOrderPostage");
|
||
},
|
||
changeTransport(e) {
|
||
this.transportIndex = e.detail.value;
|
||
this.form.transType = this.transportType[this.transportIndex].value;
|
||
this.$emit("queryOrderPostage");
|
||
},
|
||
},
|
||
};
|
||
</script>
|
||
|
||
<style lang="scss">
|
||
.product-box {
|
||
padding: 26rpx 18rpx 36rpx 20rpx;
|
||
background: #ffffff;
|
||
margin-bottom: 20rpx;
|
||
|
||
.product-title {
|
||
font-size: 28rpx;
|
||
color: #333;
|
||
margin-bottom: 5rpx;
|
||
font-weight: bold;
|
||
border-bottom: 1rpx solid #eee;
|
||
padding-bottom: 28rpx;
|
||
}
|
||
}
|
||
|
||
.form-title {
|
||
width: 750rpx;
|
||
height: 106rpx;
|
||
background: #fb3024;
|
||
padding-left: 44rpx;
|
||
padding-right: 25rpx;
|
||
position: relative;
|
||
box-sizing: border-box;
|
||
font-size: 28rpx;
|
||
color: #ffffff;
|
||
line-height: 106rpx;
|
||
font-weight: bold;
|
||
z-index: 1;
|
||
}
|
||
|
||
.form-title.redtitle {
|
||
width: 750rpx;
|
||
height: 106rpx;
|
||
background: #fb3024;
|
||
padding-left: 44rpx;
|
||
position: relative;
|
||
box-sizing: border-box;
|
||
font-size: 28rpx;
|
||
color: #fff;
|
||
line-height: 106rpx;
|
||
font-weight: bold;
|
||
z-index: 1;
|
||
}
|
||
|
||
.form-title::before {
|
||
content: "";
|
||
position: absolute;
|
||
top: 0;
|
||
bottom: 0;
|
||
margin: auto;
|
||
left: 25rpx;
|
||
width: 6rpx;
|
||
height: 24rpx;
|
||
background-color: #fb3024;
|
||
z-index: 1;
|
||
}
|
||
|
||
.redtitle.form-title::before {
|
||
content: "";
|
||
position: absolute;
|
||
top: 0;
|
||
bottom: 0;
|
||
margin: auto;
|
||
left: 25rpx;
|
||
width: 6rpx;
|
||
height: 24rpx;
|
||
background-color: #fff;
|
||
z-index: 1;
|
||
}
|
||
|
||
.radio-check {
|
||
width: 34rpx;
|
||
height: 34rpx;
|
||
background: #ffffff;
|
||
border: 1rpx solid #dddddd;
|
||
border-radius: 50%;
|
||
box-sizing: border;
|
||
position: relative;
|
||
margin-right: 20rpx;
|
||
flex-shrink: 0;
|
||
}
|
||
|
||
.radio-check.checked {
|
||
border: 1rpx solid #fb3024;
|
||
background: #fb3024;
|
||
}
|
||
</style>
|