<!--
 * @Descripttion: 
 * @version: 
 * @Author: kBank
 * @Date: 2022-11-21 15:11:22
-->
<template>
  <view class="content">
    <view class="context">
      <view class="subTxt">
        <view class="subTxt1">{{ '会员信息' }}</view>
      </view>
      <u-form :model="form" labelWidth="75" :rules="rules" ref="uForm">
        <!-- <u-form-item :label="'发货方式'" borderBottom>
          <view class="pickerHui">
            <u-input v-model="form.deliveryName"
                     disabled
                     :placeholder="'请选择发货方式'"
                     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="'会员编号'"
            required
            borderBottom
            prop="upgradeMemberCode"
          >
            <u-input
              v-model="form.upgradeMemberCode"
              :disabled="isSpace"
              border="none"
            />
          </u-form-item>
          <u-form-item
            :label="'会员姓名'"
            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="'升级编号'"
            required
            borderBottom
            prop="upgradeMemberCode"
          >
            <u-input
              v-model="form.upgradeMemberCode"
              :disabled="isSpace"
              border="none"
            />
          </u-form-item>
          <u-form-item
            :label="'升级姓名'"
            required
            borderBottom
            prop="upgradeMemberName"
          >
            <u-input v-model="form.upgradeMemberName" disabled border="none" />
          </u-form-item>
        </view>

        <u-form-item
          :label="'升级级别'"
          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="'发货方式'"
          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="'运输方式'"
          :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="'创客空间'"
          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="'仓库'"
          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="'会员店铺'"
          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">{{ '收货人信息' }}</view>
          <span class="subTxt2" @click="addAdress">
            <u-icon color="#fff" name="plus-circle-fill"></u-icon>
            <view>{{ '添加' }}</view>
          </span>
        </view>
        <view v-if="isDeliveryWay">
          <u-form-item :label="'收货人'" borderBottom prop="recName">
            <u-input
              v-model.trim="form.recName"
              border="none"
              :maxlength="40"
              :placeholder="'请输入收货人'"
            />
          </u-form-item>
          <u-form-item
            :label="'收货电话'"
            borderBottom
            prop="recPhone"
            v-if="pkCountry == 1"
          >
            <u-input
              v-model.trim="form.recPhone"
              border="none"
              type="number"
              :maxlength="11"
              :placeholder="'请输入收货电话'"
            />
          </u-form-item>
          <u-form-item :label="'收货电话'" borderBottom prop="recPhone" v-else>
            <u-input
              v-model.trim="form.recPhone"
              border="none"
              :maxlength="30"
              :placeholder="'请输入收货电话'"
            />
          </u-form-item>
          <u-form-item
            :label="'收货地址'"
            borderBottom
            prop="diqu"
            @click="getDiqu"
          >
            <view class="disFlex justBwn">
              <u-input
                v-model.trim="form.diqu"
                :placeholder="'请选收货地址'"
                border="none"
              ></u-input>
              <u-icon name="arrow-right"></u-icon>
            </view>
          </u-form-item>
          <u-form-item :label="'详细地址'" borderBottom prop="recAddress">
            <u-input
              v-model.trim="form.recAddress"
              border="none"
              maxlength="200"
              :placeholder="'请输入详细地址'"
            />
          </u-form-item>
          <u-form-item :label="'邮费'" borderBottom>
            <u-input disabled border="none" v-model="form.postage" />
          </u-form-item>
          <u-form-item :label="'备注'" borderBottom>
            <u-input
              v-model="form.remark"
              border="none"
              :placeholder="'请输入备注'"
            />
          </u-form-item>
        </view>
      </u-form>
      <view class="heng"> </view>
      <view class="subTxt" v-show="isDeliveryWay">
        <view>{{ '历史地址' }}</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">{{
                  '默认'
                }}</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">{{ '商品业绩' }}(PV)</view>
              <view class="tit1">{{
                item.achieveAmount | numberToCurrency
              }}</view>
            </view>
            <view class="disFlex justBwn">
              <view class="tit3">{{ '金额小计' }}</view>
              <view class="tit1">{{
                item.priceAmount | numberToCurrency
              }}</view>
            </view>
          </view>
        </view>
      </view>

      <view class="pad">
        <view class="disFlex justBwn">
          <view class="tit3">{{ '商品金额总计' }}(¥)：</view>
          <view class="tit1">{{
            allGoodsData.priceAmount | numberToCurrency | isLocal
          }}</view>
        </view>
        <view class="disFlex justBwn">
          <view class="tit3">{{ '邮费' }}：</view>
          <view class="tit1">{{
            form.postage | numberToCurrency | isLocal
          }}</view>
        </view>
        <view class="disFlex justBwn">
          <view class="tit3">{{ '总价' }}：</view>
          <view class="tit1">{{
            totalAmont | numberToCurrency | isLocal
          }}</view>
        </view>
        <view class="disFlex justBwn">
          <view class="tit3">{{ '业绩' }}</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">{{ '请阅读并同意' }}</view> -->
          <!-- <view class="tit2" @click="toAgree" v-if="specialArea != 30">
            《{{ '购买协议' }}》</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="'购买中'"
            @tap="goBuy"
            color="linear-gradient(to right, #fb3024, #fb3024 )"
            >{{ '购买' }}</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="'确定要删除该收货地址吗' + '？'"
      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: '安置左区',
          },
          {
            id: 2,
            label: '安置右区',
          },
        ],
      ],
      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: '快递发货',
        deliveryWay: 1,
        postage: 0,
        transType: 1,
        pkGradeVal: '',
      },
      deliList: [],
      diqu: '',
      allData: [],
      goodsNum: 1,
      agreementShow: [1],
      priceAmount: 0, //商品总价
      achiveAmount: 0, //总业绩
      totalAmont: 0,
      orderItemsParams: [],
      isLoading: false,
      centerCodeId: '',
      rules: {
        upgradeMemberCode: [
          {
            required: true,
            validator: this.upgradeMemberCodePass,
            trigger: ['blur'],
          },
        ],

        recName: [
          {
            required: true,
            message: '请输入收货人',
            trigger: ['change', 'blur'],
          },
        ],
        recPhone: [
          {
            required: true,
            validator: this.checkRecPhone,
            trigger: ['change', 'blur'],
          },
        ],
        diqu: [
          {
            required: true,
            message: '请选择收货地址',
            trigger: ['change', 'blur'],
          },
        ],
        recAddress: [
          {
            required: true,
            message: '请输入详细地址',
            trigger: ['change', 'blur'],
          },
        ],
        transTypeLabel: [
          {
            validator: this.transPass,
            trigger: ['change'],
          },
        ],
        deliveryWayLabel: [
          {
            required: true,
            message: '请选择发货方式',
            trigger: ['change'],
          },
        ],
        makerSpaceMemberLabel: [
          {
            required: true,
            message: '请选择',
            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 = '复购专区'
    } else if (this.specialArea == 13) {
      str = '福利专区'
    } else if (this.specialArea == 14) {
      str = '直播专区'
    } else if (this.specialArea == 11) {
      str = '积分专区'
    } else if (this.specialArea == 10) {
      str = '重消专区'
    } else if (
      this.specialArea == 2 ||
      this.specialArea == 25 ||
      this.specialArea == 27
    ) {
      str = '升级专区'
    } 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) {
          console.log(res.data, 'res.data...memLevel')
          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: '删除成功',
          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('请选择运输方式'))
        } else {
          callback()
        }
      } else {
        callback()
      }
    },
    checkAddress() {},
    checkRecPhone(rule, value, callback) {
      if (!value) {
        callback(new Error('请输入联系方式'))
      } else {
        if (this.userInfo.pkSettleCountry == 1) {
          let patrn = /^(1\d{10})$/
          if (patrn.test(value)) {
            callback()
          } else {
            callback(new Error('请输入正确联系方式'))
          }
        } else {
          let patrn = /^(1\d{10})$/
          if (value.length >= 1 && value.length <= 30) {
            callback()
          } else {
            callback(new Error('请输入正确联系方式'))
          }
        }
      }
    },
    // 升级编号获取name
    upgradeMemberCodePass(rule, value, callback) {
      if (!value) {
        callback(new Error('请输入会员编号'))
      } 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: '请阅读并同意购买协议',
            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) {
            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>
