costBreakdown.js 9.02 KB
"use strict";
const common_vendor = require("../../../common/vendor.js");
const common_assets = require("../../../common/assets.js");
const common_train = require("../../../common/train.js");
const common_api = require("../../../common/api.js");
require("../../../common/request.js");
require("../../../config.js");
require("../../../common/login.js");
if (!Array) {
  const _easycom_uni_popup2 = common_vendor.resolveComponent("uni-popup");
  _easycom_uni_popup2();
}
const _easycom_uni_popup = () => "../../../uni_modules/uni-popup/components/uni-popup/uni-popup.js";
if (!Math) {
  (trainFold + _easycom_uni_popup)();
}
const trainFold = () => "../../../components/train/train-apply-four/fold/fold.js";
const _sfc_main = {
  __name: "costBreakdown",
  setup(__props) {
    common_vendor.ref();
    common_vendor.ref();
    const dialog = common_vendor.ref(false);
    common_vendor.ref();
    const popup = common_vendor.ref();
    const id = common_vendor.ref();
    const hotelList = common_vendor.ref();
    const trainList = common_vendor.ref();
    const insuranceList = common_vendor.ref();
    const totalCost = common_vendor.ref();
    const accommodationCost = common_vendor.ref();
    const projectCost = common_vendor.ref();
    const otherList = common_vendor.ref();
    const otherCost = common_vendor.ref();
    const examCost = common_vendor.ref();
    const orderNumber = common_vendor.ref();
    const payWay = common_vendor.ref(1);
    const timer = common_vendor.ref();
    const trainId = common_vendor.ref();
    common_vendor.ref();
    const code = common_vendor.ref();
    const vip = common_vendor.ref();
    const suo = common_vendor.ref(true);
    const nights = common_vendor.ref();
    common_vendor.ref();
    const payFalg = common_vendor.ref(true);
    const data = common_vendor.reactive({
      addForm: {},
      bank: {}
    });
    const { addForm, bank } = common_vendor.toRefs(data);
    function open() {
      popup.value.open("center");
    }
    function close() {
      popup.value.close();
    }
    function maskClick() {
      btnOK();
    }
    function btnOK() {
      copyPlat();
      close();
      clearTimeout(timer.value);
      setTimeout(() => {
        myTrain();
      }, 500);
    }
    common_vendor.onLoad((option) => {
      trainId.value = option.id;
      orderNumber.value = option.ids;
      id.value = option.id;
      initData();
      VIPFN();
    });
    function copyPlat() {
      let str = `公司:${bank.value.accountName};开户行:${bank.value.accountBank};账户:${bank.value.accountNum};`;
      common_vendor.index.setClipboardData({
        data: str,
        success: function() {
          console.log("success");
        }
      });
    }
    function radioChange(e) {
      payWay.value = e.target.value;
    }
    function myTrain() {
      let path = `/pages/train/payScuess/payScuess?payType=${payWay.value}&payTotal=${totalCost.value}`;
      common_vendor.wx$1.redirectTo({
        url: path
      });
    }
    function okFN() {
      let path = `/pages/train/payScuess/payScuess?payType=${payWay.value}&payTotal=${totalCost.value}`;
      common_vendor.wx$1.redirectTo({
        url: path
      });
    }
    async function initData() {
      addForm.value.trainId = id.value;
      const res = await common_train.searchTrainCost(addForm.value);
      hotelList.value = res.data.accommodationVoList;
      insuranceList.value = res.data.examVoList;
      trainList.value = res.data.trainVoList;
      totalCost.value = res.data.totalCost;
      accommodationCost.value = res.data.accommodationCost;
      projectCost.value = res.data.projectCost;
      otherList.value = res.data.otherList;
      otherCost.value = res.data.otherCost;
      examCost.value = res.data.examCost;
      nights.value = res.data.nights;
      console.log(res);
    }
    function createOrder() {
      return new Promise(async (resolve, reject) => {
        addForm.value.trainId = id.value;
        addForm.value.orderAmount = totalCost.value;
        const res = await common_train.createOrder(addForm.value);
        orderNumber.value = res.data;
        console.log(res, orderNumber.value);
        addForm.value = {};
        if (res.code == 200) {
          resolve();
        } else {
          reject();
        }
      });
    }
    async function payFN() {
      return new Promise(async (resolve, reject) => {
        if (payFalg.value == false) {
          return false;
        }
        const nowOpenId = common_vendor.index.getStorageSync("nowOpenId");
        addForm.value.openId = nowOpenId;
        addForm.value.id = orderNumber.value;
        addForm.value.flag = payWay.value;
        addForm.value.amount = totalCost.value;
        const res = await common_train.pay(addForm.value);
        addForm.value = {};
        if (res.code == 200) {
          payFalg.value = false;
          resolve("成功");
          code.value = res.code;
          if (payWay.value == 2) {
            myTrain();
          }
        } else {
          reject("失败");
        }
      });
    }
    async function bankInfo() {
      return new Promise(async (resolve, reject) => {
        addForm.value.id = orderNumber.value;
        let res = await common_train.bankSlip(addForm.value);
        bank.value = res.data;
        if (res.code == 200 && payWay.value == 1) {
          open();
        }
        if (res.code == 200) {
          resolve();
        } else {
          reject();
        }
      });
    }
    async function payment() {
      if (suo.value) {
        suo.value = true;
        if (payWay.value == 0) {
          common_vendor.index.showToast({
            title: "暂未开通",
            duration: 2e3,
            icon: "error"
          });
          return false;
        }
        if (!orderNumber.value)
          await createOrder();
        await payFN();
        await bankInfo();
        if (code.value)
          suo.value = true;
      }
    }
    async function VIPFN() {
      let res = await common_api.getMyBalance();
      vip.value = res.data;
    }
    return (_ctx, _cache) => {
      return common_vendor.e({
        a: trainList.value
      }, trainList.value ? {
        b: common_vendor.f(trainList.value, (item, k0, i0) => {
          return {
            a: common_vendor.t(item.projectName),
            b: common_vendor.t(item.cost),
            c: item.id
          };
        }),
        c: common_vendor.p({
          title: "科目费用",
          cost: projectCost.value,
          text: trainList.value.length + "项"
        })
      } : {}, {
        d: trainList.value
      }, trainList.value ? {
        e: common_vendor.f(insuranceList.value, (item, k0, i0) => {
          return {
            a: common_vendor.t(item.projectName),
            b: common_vendor.t(item.cost),
            c: item.id
          };
        }),
        f: common_vendor.p({
          title: "考试费用",
          cost: examCost.value,
          text: insuranceList.value.length + "项"
        })
      } : {}, {
        g: hotelList.value
      }, hotelList.value ? {
        h: common_vendor.f(hotelList.value, (item, k0, i0) => {
          return {
            a: common_vendor.t(item.name),
            b: common_vendor.t(item.spend),
            c: item.id
          };
        }),
        i: common_vendor.p({
          title: "食宿费用",
          cost: accommodationCost.value,
          text: nights.value + "晚"
        })
      } : {}, {
        j: otherList.value
      }, otherList.value ? {
        k: common_vendor.f(otherList.value, (item, k0, i0) => {
          return {
            a: common_vendor.t(item.name),
            b: common_vendor.t(item.spend),
            c: item.id
          };
        }),
        l: common_vendor.p({
          title: "其他费用",
          cost: otherCost.value,
          text: otherList.value.length + "项"
        })
      } : {}, {
        m: common_assets._imports_0,
        n: common_assets._imports_1,
        o: common_vendor.t((vip.value * 1).toFixed(2)),
        p: common_assets._imports_2,
        q: common_vendor.o(radioChange),
        r: common_vendor.t((totalCost.value * 1).toFixed(2)),
        s: common_vendor.o(payment),
        t: common_vendor.t(common_vendor.unref(bank).accountName),
        v: common_vendor.t(common_vendor.unref(bank).accountBank),
        w: common_vendor.t(common_vendor.unref(bank).accountNum),
        x: common_vendor.o(btnOK),
        y: common_vendor.o(copyPlat),
        z: common_vendor.sr(popup, "ed3aa3dc-4", {
          "k": "popup"
        }),
        A: common_vendor.o(maskClick),
        B: common_vendor.o(close),
        C: common_vendor.p({
          ["is-mask-click"]: true,
          type: "center",
          animation: true,
          ["background-color"]: "#fff"
        }),
        D: dialog.value
      }, dialog.value ? {
        E: common_vendor.o(okFN)
      } : {});
    };
  }
};
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-ed3aa3dc"], ["__file", "/Users/yangyang/project/j-mini/Venue/pages/train/costBreakdown/costBreakdown.vue"]]);
_sfc_main.__runtimeHooks = 6;
wx.createPage(MiniProgramPage);