1283 lines
32 KiB
Vue
1283 lines
32 KiB
Vue
<!--
|
||
* @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> |