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

1283 lines
32 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="context">
<view class="subTxt">
<view class="subTxt1">{{ $t("MN_F_T_8") }}</view>
</view>
<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> -->
<view v-if="specialArea != 2 && specialArea != 25 && specialArea != 27">
<u-form-item :label="$t('MN_T_1')" required borderBottom prop="upgradeMemberCode">
<u-input v-model="form.upgradeMemberCode" :disabled="isSpace" border="none" />
</u-form-item>
<u-form-item :label="$t('CK_KS_14')" required borderBottom prop="upgradeMemberName">
<u-input v-model="form.upgradeMemberName" disabled border="none" />
</u-form-item>
</view>
<view v-if="specialArea == 2 || specialArea == 25 || specialArea == 27">
<u-form-item :label="$t('w_0095')" required borderBottom prop="upgradeMemberCode">
<u-input v-model="form.upgradeMemberCode" :disabled="isSpace" border="none" />
</u-form-item>
<u-form-item :label="$t('w_0098')" required borderBottom prop="upgradeMemberName">
<u-input v-model="form.upgradeMemberName" disabled border="none" />
</u-form-item>
</view>
<u-form-item :label="$t('w_0099')" v-if="specialArea == 2 || specialArea == 25 || specialArea == 27"
required borderBottom prop="pkGradeVal">
<u-input v-model="form.pkGradeVal" disabled border="none" />
</u-form-item>
<u-form-item :label="$t('MN_F_T_140')" required borderBottom
@click="userInfo.pkSettleCountry != 1 ? (isDelivery = true) : ''" prop="deliveryWayLabel">
<view class="disFlex justBwn">
<u-input v-model="form.deliveryWayLabel" :disabled="userInfo.pkSettleCountry == 1"
border="none" />
<u-icon name="arrow-right"></u-icon>
</view>
</u-form-item>
<u-form-item :label="$t('MN_F_T_163')" :required="isDeliveryWay" borderBottom
@click="userInfo.pkSettleCountry != 1 ? (isTrans = true) : ''" prop="transTypeLabel">
<view class="disFlex justBwn">
<u-input v-model="form.transTypeLabel" :disabled="userInfo.pkSettleCountry == 1"
border="none" />
<u-icon name="arrow-right"></u-icon>
</view>
</u-form-item>
<u-form-item v-if="howSure" required :label="$t('ENU_PER_TY_4')" borderBottom @click="ishowSure = true"
prop="makerSpaceMemberLabel">
<view class="disFlex justBwn">
<u-input v-model="form.makerSpaceMemberLabel" border="none" />
<u-icon name="arrow-right"></u-icon>
</view>
</u-form-item>
<u-form-item :label="$t('w_0102')" v-if="userInfo.pkSettleCountry != 1" borderBottom
@click="isCk = true" prop="pkStorehouseLabel">
<view class="disFlex justBwn">
<u-input v-model="form.pkStorehouseLabel" border="none" />
<u-icon name="arrow-right"></u-icon>
</view>
</u-form-item>
<u-form-item :label="$t('w_0100')" v-if="userInfo.pkSettleCountry != 1" borderBottom
@click="isDp = true" prop="pkMemberStoreLabel">
<view class="disFlex justBwn">
<u-input v-model="form.pkMemberStoreLabel" border="none" />
<u-icon name="arrow-right"></u-icon>
</view>
</u-form-item>
<view class="subTxt" v-if="isDeliveryWay">
<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>
<view v-if="isDeliveryWay">
<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>
</view>
</u-form>
<view class="heng"> </view>
<view class="subTxt" v-show="isDeliveryWay">
<view>{{ $t("w_0073") }}</view>
</view>
<u-radio-group v-model="moren" v-show="isDeliveryWay" 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" v-if="item.energySilo != 1"
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 class="disFlex justBwn" v-if="specialArea == 13">
<view class="tit3">BV</view>
<view class="tit1">{{
allGoodsData.assAchieveAmount | 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" v-if="specialArea != 30">
《{{ $t("w_0208") }}》</view>
<view class="tit2" @click="toAgree" v-if="specialArea == 30 && userInfo.isDealer == 1">
《推广人员服务协议》</view>
<view class="tit2" @click="toAgree" v-if="specialArea == 30 && userInfo.isDealer == 0">
《经销商合同》</view>
</view>
<view class="tit2 cen" v-if="specialArea == 30">该礼包一旦购买不能退换</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="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="ishowSure" @cancel="ishowSure = false" @confirm="surehowSure" :columns="queryCardList"
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>
<!-- 强制阅读协议 -->
<mustAgreeMent :waresCodeList="waresCodeList"></mustAgreeMent>
<agreement ref="agreement"></agreement>
<!-- 经销商合同 -->
<jxsht ref="jxsht"></jxsht>
<!-- 推广服务协议 -->
<tgfuxy ref="tgfuxy"></tgfuxy>
<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 * as api from "@/config/regiest";
import mustAgreeMent from "@/components/mustAgreeMent.vue";
import agreement from "@/components/agreement.vue";
import jxsht from "@/components/jxsht.vue";
import tgfuxy from "@/components/tgfuxy.vue";
export default {
components: {
"v-address": address,
mustAgreeMent,
agreement,
jxsht,
tgfuxy,
},
data() {
return {
isDeliveryWay: true,
isDp: false,
storeList: [],
storehouseList: [],
isCk: false,
strTitle: "",
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: {
deleteList: [],
},
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: {
upgradeMemberCode: [{
required: true,
validator: this.upgradeMemberCodePass,
trigger: ["blur"],
}, ],
recName: [{
required: true,
message: this.$t("w_0067"),
trigger: ["change", "blur"],
}, ],
recPhone: [{
required: true,
validator: this.checkRecPhone,
trigger: ["change", "blur"],
}, ],
diqu: [{
required: true,
message: this.$t("w_0069"),
trigger: ["change", "blur"],
}, ],
recAddress: [{
required: true,
message: this.$t("w_0070"),
trigger: ["change", "blur"],
}, ],
transTypeLabel: [{
validator: this.transPass,
trigger: ["change"]
}],
deliveryWayLabel: [{
required: true,
message: this.$t("w_0062"),
trigger: ["change"],
}, ],
makerSpaceMemberLabel: [{
required: true,
message: this.$t("CK_KS_38"),
trigger: ["change"],
}, ],
},
delId: "",
isSpace: false,
checkObj: {},
selTable: [],
pkCountry: "",
howSure: false,
ishowSure: false,
queryCardList: [],
};
},
onLoad(options) {
this.pkCountry = uni.getStorageSync("pkCountry");
this.specialArea = options.specialArea;
this.shoppingArr = JSON.parse(options.shoppArr);
if (options.selTable) {
let a = JSON.parse(options.selTable);
let b = a.map((item) => {
return {
waresCode: item.waresCode,
quantity: item.quantity,
waresItemsParamList: item.productGroup,
waresName: item.waresName,
achieve: 0,
achieveAmount: 0,
price: 0,
priceAmount: 0,
cover1: item.cover1,
energySilo: 1,
};
});
b.forEach((item) => {
item.waresItemsParamList = item.waresItemsParamList.map((ctem) => {
return {
pkWaresSpecsSku: ctem.pkProductSku,
quantity: ctem.quantity,
};
});
});
this.selTable = b;
}
// 获取购物车详情
this.getCatDetail();
// 获取页面权限
this.getPageList();
// 幂等性
this.getGenerate();
// 登录信息
this.userInfo = uni.getStorageSync("User");
this.form.upgradeMemberCode = this.userInfo.memberCode;
this.getUserName();
let str = "";
if (
this.specialArea == 3 ||
this.specialArea == 12 ||
this.specialArea == 14 ||
this.specialArea == 22 ||
this.specialArea == 26
) {
str = this.$t("ENU_MENU_330");
} else if (this.specialArea == 13) {
str = this.$t("ENU_MENU_340");
} else if (this.specialArea == 14) {
str = this.$t("ENU_MENU_334");
} else if (this.specialArea == 11) {
str = this.$t("ENU_MENU_350");
} else if (this.specialArea == 10) {
str = this.$t("ENU_MENU_360");
} else if (
this.specialArea == 2 ||
this.specialArea == 25 ||
this.specialArea == 27
) {
str = this.$t("ENU_MENU_320");
} else if (this.specialArea == 7 || this.specialArea == 101) {
str = "嗨粉专区";
} else if (this.specialArea == 18) {
str = "创客礼包";
this.isSpace = true;
} else if (this.specialArea == 19) {
str = "赋能礼包";
this.isSpace = true;
} else if (this.specialArea == 28) {
str = "创客空间专区";
} else if (this.specialArea == 31) {
str = "专供专区";
this.isSpace = true;
} else if (this.specialArea == 30) {
str = "续约专区";
this.isSpace = true;
}
uni.setNavigationBarTitle({
title: str,
});
if (this.specialArea == 30) {
this.agreementShow = [1];
this.$forceUpdate();
}
},
onShow() {
// 获取地址
this.getAddressList();
},
methods: {
toAgree() {
// agreeMent
if (this.specialArea == 30) {
if (this.userInfo.isDealer == 1) {
this.$refs.tgfuxy.openDig();
} else {
this.$refs.jxsht.openDig();
}
// tgfuxy
} else {
this.$refs.agreement.openDig();
}
},
getMember() {
let deleteList = [];
this.shoppingArr.forEach((item) => {
deleteList.push({
shoppingId: item,
});
});
this.allGoodsData.deleteList = deleteList;
this.allGoodsData.upgradeMemberCode = this.form.upgradeMemberCode;
if (this.specialArea == 2) {
let howSure = this.allGoodsData.orderItemsParams.some(
(item) => item.isMakerGift == 4 || item.isMakerGift == 0
);
this.howSure = howSure;
// 获取创客空间
if (this.howSure) {
this.getQueryCard();
}
}
api.memLevel(this.allGoodsData).then((res) => {
if (res.data.isEnough) {
this.form.pkGradeVal = res.data.pkGradeVal;
} else {
this.isLoading.close();
}
});
},
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.selTable.forEach((item) => {
this.allGoodsData.orderItemsParams.push(item);
});
this.totalAmont = this.allGoodsData.priceAmount;
let orderItemsParams = [];
this.waresCodeList.forEach((item) => {
orderItemsParams.push({
waresCode: item,
});
});
this.checkObj = {
specialArea: this.specialArea,
orderItemsParams: orderItemsParams,
};
// 获取运输方式
this.getTransList();
// 获取发货方式
this.getDeliveryList();
if (
this.specialArea == 2 ||
this.specialArea == 25 ||
this.specialArea == 27
) {
this.getMember();
}
// 判断特殊商品
if (this.specialArea == 3) {
this.checkGoods();
}
if (this.userInfo.pkSettleCountry != 1) {
//获取会员店铺
this.getStoreList();
//获取仓库
this.getStorehouseList();
}
});
},
checkGoods() {
// 判断特殊商品
api.makerList().then((res) => {
if (res.data.length > 0) {
let isYes = 0;
res.data.forEach((item) => {
if (this.allGoodsData.orderItemsParams.some((ctem) => ctem.waresCode ==
item)) {
isYes++;
}
});
if (isYes != 0) {
this.howSure = true;
if (this.howSure) {
this.getQueryCard();
}
}
}
});
},
transPass(rule, value, callback) {
if (this.isDeliveryWay) {
if (!value) {
callback(new Error(this.$t("w_0064")));
} else {
callback();
}
} else {
callback();
}
},
checkAddress() {},
checkRecPhone(rule, value, callback) {
if (!value) {
callback(new Error(this.$t("w_0053")));
} else {
if (this.userInfo.pkSettleCountry == 1) {
let patrn = /^(1\d{10})$/;
if (patrn.test(value)) {
callback();
} else {
callback(new Error(this.$t('w_0204')));
}
} else {
let patrn = /^(1\d{10})$/;
if (value.length >= 1 && value.length <= 30) {
callback();
} else {
callback(new Error(this.$t('w_0204')));
}
}
}
},
// 升级编号获取name
upgradeMemberCodePass(rule, value, callback) {
if (!value) {
callback(new Error(this.$t("w_0046")));
} else {
api
.upgRel({
upgradeMemberCode: value,
})
.then((res) => {
if (res.code == 200) {
this.form.upgradeMemberName = res.data.upgradeMemberName;
if (
this.specialArea == 2 ||
this.specialArea == 25 ||
this.specialArea == 27
) {
this.getMember();
}
this.$forceUpdate();
callback();
} else {
callback(new Error(res.msg));
}
})
.catch((err) => {
callback(new Error(err));
});
}
},
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];
});
},
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;
},
getAddressList() {
api.addressList().then((res) => {
this.addressList = res.data;
this.addressList.forEach((item) => {
if (item.isDefault == 1) {
this.moren = item.pkId;
this.checkRadio();
}
});
});
},
getUserName() {
api
.upgRel({
upgradeMemberCode: this.form.upgradeMemberCode,
})
.then((res) => {
if (res.code == 200) {
this.form.upgradeMemberName = res.data.upgradeMemberName;
this.$forceUpdate();
}
});
},
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
setTimeout(() => {
this.getPostAge();
this.$forceUpdate();
}, 50);
},
getPostAge() {
let deleteList = [];
this.shoppingArr.forEach((item) => {
deleteList.push({
shoppingId: item,
});
});
// this.allGoodsData.deliveryWay = this.form.deliveryWay
// this.allGoodsData.transType = this.form.transType
this.allGoodsData.deleteList = deleteList;
api
.queryPostage(
Object.assign({
specialArea: this.specialArea,
recName: this.form.recName,
recPhone: this.form.recPhone,
recAddress: this.form.recAddress,
recProvince: this.form.recProvince,
recCity: this.form.recCity,
recCounty: this.form.recCounty,
transType: this.form.transType,
deliveryWay: this.form.deliveryWay,
},
this.allGoodsData
)
)
.then((res) => {
this.form.postage = Number(res.data.postage).toFixed(2);
this.totalAmont =
parseFloat(this.allGoodsData.priceAmount) +
parseFloat(res.data.postage);
});
},
getTransList() {
api.transportList().then((res) => {
let data = res.data.map((item) => {
return {
id: item.value,
label: item.label,
};
});
this.transList = [data];
if (this.userInfo.pkSettleCountry == 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.pkSettleCountry == 1) {
this.form.deliveryWay = 1;
data.forEach((item) => {
if (item.id == 1) {
this.form.deliveryWayLabel = item.label;
}
});
}
});
},
getQueryCard() {
api
.queryCard({
specialArea: this.specialArea,
upgradeMemberCode: this.form.upgradeMemberCode,
})
.then((res) => {
let data = res.data.map((item) => {
return {
id: item.pkMember,
label: item.storeName,
};
});
this.queryCardList = [data];
});
},
surehowSure(e) {
const {
value
} = e;
this.form.makerSpaceMember = value[0].id;
this.form.makerSpaceMemberLabel = value[0].label;
this.ishowSure = false;
},
sureTrans(e) {
const {
value
} = e;
this.form.transType = value[0].id;
this.form.transTypeLabel = value[0].label;
this.isTrans = false;
},
sureDelivery(e) {
const {
value
} = e;
this.form.deliveryWay = value[0].id;
this.form.deliveryWayLabel = value[0].label;
if (value[0].id == 2 || value[0].id == 3) {
this.isDeliveryWay = false;
} else {
this.isDeliveryWay = true;
}
this.isDelivery = false;
},
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;
}
if (this.specialArea == 31) {
if (this.totalAmont < 1000) {
uni.showToast({
title: "购买商品总价格不能低于1000元",
icon: "none",
duration: 1500,
});
return;
}
}
this.isLoading = true;
let deleteList = [];
this.shoppingArr.forEach((item) => {
deleteList.push({
shoppingId: item,
});
});
let url;
if (this.specialArea == 7 || this.specialArea == 101) {} else {
url = api.confirmOthOrder;
}
url(
Object.assign({}, this.form, this.allGoodsData, {
deleteList: deleteList,
})
).then((res) => {
this.isLoading = false;
if (res.code == 200) {
if (this.specialArea == 3 || this.specialArea == 22) {
api.checkPay(this.checkObj).then((response) => {
uni.navigateTo({
url: "/pages/pay/index?paramsPost=" +
JSON.stringify(res.data) +
"&businessType=1" +
"&onlinePay=" +
response.data,
});
});
} else {
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 20rpx 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;
}
.cen {
text-align: center;
}
.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>