123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- 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)
- }));
- 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;
- 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'
- });
- }
- });
- }
- });
|