const { baseUrl } = require('../../../request');
import { decodeBase64  } from '../../../utils/decodebase64'

Page({
  data: {
    projectId: '',         // 项目id
    promoCodeDesc: '',     // 富文本推广码说明
    salespersonName: '',
    salespersonPhone: '',
    mode: 'add'            // 'add'（新增） or 'view'（查看资料）
  },

  onLoad(options) {
    this.setData({
      projectId: options.id || '',
      promoCodeDesc: decodeBase64(options.desc),
      mode: options.mode || 'add',
      salespersonName: options.name ? decodeURIComponent(options.name) : '',
      salespersonPhone: options.phone ? decodeURIComponent(options.phone) : ''
    });
  },

  // 输入绑定
  onNameInput(e) {
    // 仅在新增模式允许编辑
    if (this.data.mode !== 'view') {
      this.setData({ salespersonName: e.detail.value });
    }
  },
  onPhoneInput(e) {
    if (this.data.mode !== 'view') {
      this.setData({ salespersonPhone: e.detail.value });
    }
  },

  // 申请资料报备
  onApply() {
    console.log('---->',this.data.promoCodeDesc);
    // 如果是查看模式，阻止提交
    if (this.data.mode === 'view') return;

    const { salespersonName, salespersonPhone, projectId } = this.data;

    if (!salespersonName.trim()) {
      wx.showToast({ title: '请输入业务员姓名', icon: 'none' });
      return;
    }
    const phoneReg = /^1[3-9]\d{9}$/;
    if (!salespersonPhone.trim()) {
      wx.showToast({ title: '请输入手机号', icon: 'none' });
      return;
    }
    if (!phoneReg.test(salespersonPhone.trim())) {
      wx.showToast({ title: '手机号格式不正确', icon: 'none' });
      return;
    }
    // 正则表达式，匹配非汉字字符
    const reg = /[^\u4e00-\u9fa5]/;
    // 判断输入的值是否含有非汉字字符
    if (reg.test(salespersonName)) {
      wx.showToast({
        title: '姓名必须为汉字',
        icon: 'none',
      });
      return false;
    } 

    wx.showLoading({
      title: '申请中',
      mask: true
    })

    const token = wx.getStorageSync('token');
    wx.request({
      url: baseUrl + '/promoCodeApply/apply',
      method: 'POST',
      header: {
        'Authorization': token,
        'Content-Type': 'application/json'
      },
      data: {
        salespersonName,
        salespersonPhone,
        projectId
      },
      success: (res) => {
        if (res.data.code === 1) {
          wx.showToast({
            title: '申请成功',
            icon: 'success',
            duration: 1000
          });
          setTimeout(() => {
            wx.navigateBack();
          }, 1000);
        } else {
          wx.showToast({
            title: res.data.message || '申请失败',
            icon: 'none'
          });
        }
      },
      fail: () => {
        wx.showToast({
          title: '网络错误',
          icon: 'none'
        });
      }
    });
  }
});
