<template>
  <div class="ultraman_wrap_bg">
    <div class="ultraman_page_logo">
      <img src="@/static/home/logo.png" alt="" />
    </div>

    <div class="ultraman_title_label">
      <img :src="productInfo.image" alt="" />
      <p>{{ productInfo.description }}</p>
    </div>

    <div class="ultraman_main">
      <div class="ultraman_teble_blk">
        <div class="ultraman_teble_icon"></div>
        <div class="ultraman_teble_title">资料填写</div>
      </div>

      <div class="ultraman_form_item">
        <div class="ultraman_form_label">购置人:</div>
        <div class="ultraman_input_blk">
          <input type="text" v-model="formData.name" placeholder="请输入本人姓名" />
        </div>
      </div>

      <div class="ultraman_form_item">
        <div class="ultraman_form_label">身份证号码:</div>
        <div class="ultraman_input_blk">
          <input type="text" v-model="formData.idCard" placeholder="请输入身份证号码" />
        </div>
      </div>

      <div class="ultraman_form_item2">
        <div class="ultraman_form_label">验收货地址:</div>
        <div class="ultraman_input_blk2">
          <textarea class="ultraman_table_textarea" v-model="formData.address" rows="3"
            placeholder="请详细填写地址(省、市、县、镇)"></textarea>
        </div>
      </div>
    </div>

    <div class="ultraman_register_btn">
      <button @click="handleSubmit">确认购置</button>
    </div>
  </div>
</template>

<script setup lang="ts">
import { ref, reactive, onMounted } from "vue";
import { useRouter, useRoute } from "vue-router";
import request from "@/utils/request";
import Honqi from "@/static/xbgz/hongqi.png";
import Fangzi from "@/static/xbgz/fangzi.png";
import Piao from "@/static/xbgz/piao.png";
const router = useRouter();
const route = useRoute();
const type = route.query.type || "";
// 产品信息配置
const productConfigs = {
  '14': {
    name: '红旗H9',
    description: '1500习币可购置红旗H9',
    image: Honqi,
    price: 1500
  },
  '16': {
    name: '雄安新区142平方商品房',
    description: '3500习币可购置雄安新区142平方商品房',
    image: Fangzi,
    price: 3500
  },
  '17': {
    name: '支票现金',
    description: '6000习币可购置支票现金金额:200万元',
    image: Piao,
    price: 6000
  }
}

const productInfo = ref({
  image: '',
  description: '',
  name: ''
})

// 根据类型设置产品信息
const setProductInfo = () => {
  const config = productConfigs[type as keyof typeof productConfigs]
  if (config) {
    productInfo.value = config
  }
}

// 在组件挂载时设置产品信息
onMounted(() => {
  setProductInfo()
})

const formData = reactive({
  a2: '', // 唯一标识
  a3: '', // 创建用户姓名
  a4: '', // 创建用户手机号
  a5: '', // 金额
  a6: '', // 产品名称
  a7: type, // 产品编号
  a8: '', // 购置人
  a9: '', // 身份证
  a10: '', // 地址
})

const validateForm = () => {
  if (!formData.name) {
    showFailToast("请输入姓名");
    return false;
  }
  if (
    !/^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/.test(
      formData.idCard
    )
  ) {
    showFailToast("请输入正确的身份证号码");
    return false;
  }
  if (!formData.address) {
    showFailToast("请输入收货地址");
    return false;
  }
  return true;
};
const userInfo = ref(JSON.parse(sessionStorage.getItem('userInfo') || '{}'))

const handleSubmit = async () => {
  if (!validateForm()) return;
  if (userInfo.value.extend1 != 3) {
    showFailToast("请先完成开户操作");
    setTimeout(() => {
      router.replace("/xbxz");
    }, 2000);
    return;
  }
  if (!userInfo.value.q5 || userInfo.value.q5 < productInfo.value.price) {
    showFailToast("习币不足");
    return;
  }
  try {
    formData.a3 = userInfo.value.nickName
    formData.a4 = userInfo.value.phonenumber
    formData.a5 = productInfo.value.price
    formData.a8 = formData.name
    formData.a9 = formData.idCard
    formData.a10 = formData.address
    formData.a6 = productInfo.value.name
    const res = await request.post("/yw2/add", formData);
    console.log(res);
    if (res.code === 200) {
      showSuccessToast("购置成功");
      setTimeout(() => {
        router.replace("/xbgz");
      }, 1000);
    } else {
      showFailToast(res.msg || "购置失败");
    }
  } catch (error) {
    console.error("购置失败:", error);
    showFailToast(error.msg || "购置失败,请重试");
  }
};
</script>

<style lang="scss" scoped>
.ultraman_wrap_bg {
  min-height: 100vh;
  background: url("@/static/home/beijing.png");
  background-size: 100% 100%;
  background-repeat: no-repeat;
  padding-bottom: 20px;
}

.ultraman_page_logo {
  width: 40%;
  margin: 0 auto;
  padding: 20px 0;

  img {
    width: 100%;
  }
}

.ultraman_title_label {
  text-align: center;
  margin: 0 auto;
  width: 88%;
  background: #d33934;
  border-radius: 10px;

  img {
    width: 100%;
    border-radius: 10px;
  }

  p {
    text-align: center;
    color: #fff;
    font-size: 14px;
    letter-spacing: 1px;
    padding: 12px 0;
  }
}

.ultraman_main {
  width: 88%;
  margin: 20px auto;
  background: #fff;
  border-radius: 10px;
  padding: 20px;
}

.ultraman_teble_blk {
  display: flex;
  align-items: center;
  margin-bottom: 20px;

  .ultraman_teble_icon {
    width: 4px;
    height: 16px;
    background: #b23b38;
    margin-right: 8px;
    border-radius: 2px;
  }

  .ultraman_teble_title {
    font-size: 16px;
    font-weight: bold;
    color: #333;
  }
}

.ultraman_form_item,
.ultraman_form_item2 {
  margin-bottom: 20px;
}

.ultraman_form_label {
  font-size: 14px;
  color: #333;
  margin-bottom: 8px;
}

.ultraman_input_blk,
.ultraman_input_blk2 {

  input,
  textarea {
    display: inline-block;
    width: 90%;
    border: 1px solid #eee;
    border-radius: 5px;
    padding: 10px;
    font-size: 14px;

    &::placeholder {
      color: #999;
    }
  }

  textarea {
    resize: none;
    height: 80px;
  }
}

.ultraman_register_btn {
  width: 88%;
  margin: 0 auto;

  button {
    width: 100%;
    height: 44px;
    background: #b23b38;
    color: #fff;
    border: none;
    border-radius: 22px;
    font-size: 16px;

    &:active {
      opacity: 0.8;
    }
  }
}
</style>