Page({
  data: {
    // 定义数据类型
    Model_name: [
      { value: 'reduce_model', label: '降酸模型' },
      { value: 'reflux_model', label: '反酸模型' }
    ],
    selectedModelType: '', // 当前选择的模型类型
    selectedModelLabel: '', // 当前选择的模型类型标签
    modelList: [], // 从后端获取的所有模型数据
    filteredModelList: [], // 根据类型过滤后的模型列表
    selectedModelId: null // 当前选择的模型ID
  },

  onLoad: function () {
    // 页面加载时获取模型列表
    this.fetchModelList();
  },

  // 从后端获取模型数据
  fetchModelList: function () {
    wx.request({
      url: 'https://soilgd.com:5000/models', // 后端接口
      method: 'GET',
      success: (res) => {
        if (res.data) {
          // 格式化数据并存储
          const models = res.data.map(model => ({
            ModelType: model.ModelType,
            ModelID: model.ModelID,
            ModelName: model.ModelName, // 包含模型名称
            PerformanceScore: (Number(model.PerformanceScore) || 0).toFixed(2),
            MAE: (Number(model.MAE) || 0).toFixed(2),
            RMSE: (Number(model.RMSE) || 0).toFixed(2)
          }));

          this.setData({
            modelList: models,
            filteredModelList: [] // 初始为空，待选择模型类型后填充
          });
        } else {
          wx.showToast({
            title: '模型数据为空',
            icon: 'none'
          });
        }
      },
      fail: (err) => {
        console.error('获取模型列表失败', err);
        wx.showToast({
          title: '获取模型失败',
          icon: 'none'
        });
      }
    });
  },

  // 切换模型类型时过滤模型列表
  onModelTypeChange: function (e) {
    const selectedType = this.data.Model_name[e.detail.value];
    const filteredModels = this.data.modelList.filter(
      model => model.ModelName === selectedType.value // 根据模型名称进行过滤
    );

    this.setData({
      selectedModelType: selectedType.value, // 记录选择的类型
      selectedModelLabel: selectedType.label, // 对应显示标签
      filteredModelList: filteredModels // 更新展示的模型列表
    });
  },

  // 选择具体模型
  onModelSelect: function (e) {
    const { modelId } = e.currentTarget.dataset;
    this.setData({
      selectedModelId: modelId
    });
  },

  // 提交选择
  onSubmitModel: function () {
    const { selectedModelId, selectedModelType } = this.data;
    console.log(selectedModelId, selectedModelType)

    if (!selectedModelId || !selectedModelType) {
      wx.showToast({
        title: '请先选择模型类型和具体模型',
        icon: 'none'
      });
      return;
    }

    wx.request({
      url: 'https://soilgd.com:5000/switch-model',
      method: 'POST',
      header: {
        'Content-Type': 'application/json'
      },
      data: {
        model_id: selectedModelId,
        model_type: selectedModelType
      },
      success: (res) => {
        if (res.data && res.data.success) {
          wx.showToast({
            title: '模型切换成功',
            icon: 'success'
          });
        } else {
          wx.showToast({
            title: '模型切换失败',
            icon: 'none'
          });
        }
      },
      fail: (err) => {
        console.error('切换模型失败', err);
        wx.showToast({
          title: '切换模型失败',
          icon: 'none'
        });
      }
    });
  }
});
