<script setup>
import {reactive, ref} from "vue";
import ServiceItem from "@/components/service/serviceItem.vue";

const activeName=ref('first')
const handleClick=()=>{

}
const docList=reactive([
  {docName:'LX圆形阵列麦克风开发板产品手册'},
  {docName:'PH-AIMIC01 AI会议麦克风产品手册'},
  {docName:'PH-AIMIC01 AI会议麦克风产品手册'},
])

// 新增表单相关数据和验证规则
// 表单数据对象
const form = reactive({
  name: '',      // 您的姓名
  phone: '',     // 联系电话
  company: '',   // 公司名称
  email: '',     // 邮箱地址
  feedback: '',  // 反馈内容
  captcha: ''    // 验证码
})

// 表单验证规则
const rules = reactive({
  name: [
    { required: true, message: '请输入您的姓名', trigger: 'blur' }
  ],
  phone: [
    { required: true, message: '请输入联系电话', trigger: 'blur' }
  ],
  email: [
    { required: true, message: '请输入邮箱地址', trigger: 'blur' },
    { type: 'email', message: '请输入正确的邮箱格式', trigger: 'blur' }
  ]
})

// 表单引用，用于表单验证
const formRef = ref()

// 提交表单
const submitForm = () => {
  formRef.value.validate((valid) => {
    if (valid) {
      // 表单验证通过，执行提交逻辑
      console.log('表单提交:', form)
      // 这里可以添加实际的提交代码，比如调用API
    } else {
      // 表单验证失败
      return false
    }
  })
}

// 生成随机验证码
const captchaValue = ref('')
// 生成验证码的函数
const generateCaptcha = () => {
  // 生成4位随机数字
  const randomNum = Math.floor(1000 + Math.random() * 9000)
  captchaValue.value = randomNum.toString()
}

// 页面加载时生成初始验证码
generateCaptcha()
</script>

<template>
  <div class="header">
    <img src="@/assets/img/service-top.png" alt="">
  </div>
  <div class="content">
    <el-tabs v-model="activeName" class="demo-tabs service-tab" @tab-click="handleClick">
      <el-tab-pane label="产品文档" name="first">
        <div class="first-content">
          <ServiceItem
              v-for="item in docList"
              :itemName="item.docName"
          ></ServiceItem>
        </div>
      </el-tab-pane>
      <el-tab-pane label="技术交流" name="second">
123
      </el-tab-pane>
      <el-tab-pane label="客户反馈" name="third">
        <div class="feedback-form-container">
          <!-- 客户反馈表单 -->
          <el-form
            ref="formRef"
            :model="form"
            :rules="rules"
            label-position="top"
            class="feedback-form"
          >
            <!-- 第一行：您的姓名和联系电话 -->
            <div class="form-row">
              <el-form-item label="您的姓名" prop="name" class="form-item">
                <el-input v-model="form.name" placeholder=""></el-input>
              </el-form-item>
              <el-form-item label="联系电话" prop="phone" class="form-item">
                <el-input v-model="form.phone" placeholder=""></el-input>
              </el-form-item>
            </div>

            <!-- 第二行：公司名称和邮箱地址 -->
            <div class="form-row">
              <el-form-item label="公司名称" prop="company" class="form-item">
                <el-input v-model="form.company" placeholder=""></el-input>
              </el-form-item>
              <el-form-item label="邮箱地址" prop="email" class="form-item">
                <el-input v-model="form.email" placeholder=""></el-input>
              </el-form-item>
            </div>

            <!-- 第三行：反馈内容（独占一行） -->
            <div class="form-row">
              <el-form-item label="反馈内容" prop="feedback" class="form-item">
                <el-input
                    v-model="form.feedback"
                    type="textarea"
                    :rows="5"
                    placeholder=""
                ></el-input>
              </el-form-item>
            </div>


            <!-- 第四行：验证码（独占一行，水平排列） -->
            <el-form-item label="验证码输入" prop="captcha" label-position="left" class="captcha-item">
              <!-- 验证码容器，用于将输入框和图片包裹在一个框里 -->
              <div class="captcha-container">
                <el-input
                  v-model="form.captcha"
                  class="captcha-input"
                  placeholder="请输入"
                ></el-input>
                <!-- 验证码图片 -->
                <div class="captcha-image" @click="generateCaptcha">
                  {{ captchaValue }}
                </div>
              </div>
            </el-form-item>

            <!-- 提交按钮 -->
            <el-form-item >
              <el-button type="primary" @click="submitForm" class="submit-btn">
                提交反馈
              </el-button>
            </el-form-item>
          </el-form>
        </div>
      </el-tab-pane>
    </el-tabs>
  </div>
</template>

<style scoped lang="less">
.header{
  width: 100%;
  img{
    width: 100%;
    object-fit: cover;
    display: block;
  }
}
.first-content{
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* 新增表单样式 */
.feedback-form-container {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
}

.feedback-form {


  .form-row {
    display: flex;
    gap: 20px;
    margin-bottom: 20px;
    /* 将所有输入框的背景色改为#F5F5F5，包括输入框容器 */
    --el-component-size: 39px;
    :deep(.el-input),
    :deep(.el-textarea) {
      background-color: #F5F5F5;
      /* 移除默认的padding，解决两端白色问题 */
      padding: 0 1px;
      border-radius: 4px;
      overflow: hidden;
    }
    :deep(.el-form-item__label){
      font-weight: 400;
      font-size: 18px;
      line-height: 24px;
      letter-spacing: 0.06em;
    }
    /* 将所有输入框的背景色改为#F5F5F5 */
    :deep(.el-input__inner) {
      background-color: #F5F5F5;
      /* 确保输入框内部没有多余的边框 */
      border: none;
      /* 设置内边距 */
      padding: 0 15px;
    }
    :deep(.el-input__wrapper){
      padding: 0;
      width: 338px;
      height: 37px;
    }
    /* 文本域的背景色也改为#F5F5F5 */
    :deep(.el-textarea__inner) {
      background-color: #F5F5F5;
      height: 100%;
      /* 确保文本域内部没有多余的边框 */
      border: none;
    }
    .form-item {
      flex: 1;
    }
  }

  /* 验证码样式 */
  .captcha-item {
    /* 调整验证码label的位置和宽度 */
    :deep(.el-form-item__label){
      //width: 60px;
      margin-right: 10px;
      font-weight: 400;
      font-size: 18px;
      line-height: 32px;
      color: #000;
    }
    :deep(.el-input),
    :deep(.el-textarea) {
      /* 移除默认的padding，解决两端白色问题 */
      padding: 0 5px;
      border-radius: 4px;
      overflow: hidden;
    }
    /* 验证码容器，将输入框和图片包裹在一个框里 */
    .captcha-container {
      display: flex;
      align-items: center;
      //background-color: #F5F5F5;
      border-radius: 4px;
      border: 1px solid #E0E0E0;
      overflow: hidden;
      width: fit-content;
    }

    .captcha-input {
      width: 120px;
      /* 确保输入框容器没有背景和边框，由外层容器统一控制 */
      :deep(.el-input) {
        background-color: transparent;
        border: none;
        padding: 0 10px;
      }

      /* 确保输入框内部没有边框 */
      :deep(.el-input__inner) {
        border: none;
        //border-right: 1px solid #E0E0E0; /* 仅保留右侧分隔线 */
        border-radius: 0; /* 移除输入框自身的圆角 */
      }

      /* 确保输入框包装器没有多余样式 */
      :deep(.el-input__wrapper) {
        width: 120px;
        padding: 0;
        background-color: transparent;
        box-shadow: none;
      }
    }

    /* 验证码图片样式 */
    .captcha-image {
      width: 100px;
      height: 32px;
      //background-color: #F5F5F5; /* 与输入框背景色一致 */
      border: none; /* 移除所有边框 */
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 18px;
      font-weight: bold;
      color: #333;
      cursor: pointer;
      user-select: none;
    }
  }

  .submit-btn {
    margin: 20px auto;
    width: 252px;
    height: 55px;
    border-radius: 116px;
    background-color: #307EF4;
    font-weight: 500;
    font-size: 18px;
    line-height: 100%;
    text-align: center;
    color: #fff;
    border: none;
  }
}
</style>
<style lang="less" >
.el-tabs{
  --el-color-primary: #282828;
  --el-text-color-primary: #D3BEBE;
  --el-color-black:#D3BEBE;
}
.service-tab{
  .el-tabs__content {
    display: flex;
    justify-content: center;
    color: #6b778c;
    padding: 20px;
    min-height: 800px;
    .el-tab-pane{
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 20px;
    }
  }
  .el-tabs__nav-scroll{
    display: flex;
    justify-content: center;
    .el-tabs__item{
      font-weight: 500;
      font-size: 24px;
      line-height: 100%;
      letter-spacing: 0.06em;
      margin:20px;
    }
  }
}
</style>
