首页 > 其他分享 >若依ruoyi+AI项目二次开发

若依ruoyi+AI项目二次开发

时间:2024-07-26 12:58:48浏览次数:17  
标签:name AI ruoyi value 列表 item 二次开发 口味 row

//-------------------------
//定义口味名称和口味列表静态数据
const dishFlavorListSelect=ref([
  {name:"辣度",value:["不辣","微辣","中辣","重辣"]},
  {name:"忌口",value:["不要葱","不要蒜","不要香菜","不要
  {name:"甜味",value:["无糖","少糖","半糖","多糖"]}
]);

//-------------------------

  <el-select v-model="scope.row.name" placeholder="请选择口味名称">
   <el-option
     v-for="dishFlavor in dishFlavorListSelect"
     :key="dishFlavor.name"
     :label="dishFlavor.name"
     :value="dishFlavor.name"
   ></el-option>
 </el-select>

 <el-select v-model="scope.row.value" placeholder="请选择口味列表">
   <el-option v-for="value in checkValueList" 
   :key="value" 
   :label="value"
     :value="value"></el-option>
 </el-select>

//存储当前选中口味列表数组
const checkValueList = ref([]);
//定义改变口味名称时更新当前选中的口味列表
function changeFlavorName(row) {
  //根据选中name去查找静态数据的value
  checkValueList.value = dishFlavorListSelect.value.find(item => item.name == row.name).value;
}

 <el-select v-model="scope.row.name" placeholder="请选择口味名称"
  @change="changeFlavorName(scope.row)">
   <el-option v-for="dishFlavor in dishFlavorListSelect" 
   :key="dishFlavor.name"
    :label="dishFlavor.name"
     :value="dishFlavor.name"></el-option>
 </el-select>

//存储当前选中口味列表数组
const checkValueList = ref([]);
//定义改变口味名称时更新当前选中的口味列表
function changeFlavorName(row) {
  //清空当前行value
  row.value = [];
  //根据选中name去查找静态数据的value
  checkValueList.value =
   dishFlavorListSelect.value.find(item => item.name == row.name).value;
}

/** 提交按钮 */
function submitForm() {
  proxy.$refs["dishRef"].validate(valid => {
    if (valid) {
      form.value.dishFlavorList = dishFlavorList.value;
      //将口味列表中value通过json工具类转为字符串,加个判断,不为空时进行转换
          if(form.value.dishFlavorList!=null){
       form.value.dishFlavorList.forEach(item => {
  item.value = JSON.stringify(item.value);
});
      if (form.value.id != null) {
        updateDish(form.value).then(response => {
          proxy.$modal.msgSuccess("修改成功");
          open.value = false;
          getList();
        });
      } else {
        addDish(form.value).then(response => {
          proxy.$modal.msgSuccess("新增成功");
          open.value = false;
          getList();
        });
      }
    }
  });
}

但点击修改,页面无法显示辣度内容,所以需要将口味列表value字符串转为json数组

数据列表回显问题

/** 修改按钮操作 */
function handleUpdate(row) {
  reset();
  const _id = row.id || ids.value
  getDish(_id).then(response => {
    form.value = response.data;
    dishFlavorList.value = response.data.dishFlavorList;
    //将口味列表value字符串转为json数组,加个判断,不为空时进行转换
    if( dishFlavorList.value!=null){
      dishFlavorList.value.forEach(item => {
   item.value = JSON.parse(item.value);
 });
    }
    open.value = true;
    title.value = "修改菜品管理";
  });
}

但无法修改口味列表数据

所以需要定义获取焦点方法

const { queryParams, form, rules } = toRefs(data);
//-------------------------
//定义口味名称和口味列表静态数据
const dishFlavorListSelect = ref([
  { name: "辣度", value: ["不辣", "微辣", "中辣", "重辣"] },
  { name: "忌口", value: ["不要葱", "不要蒜", "不要香菜", "不要辣"] },
  { name: "甜味", value: ["无糖", "少糖", "半糖", "多糖"] }
]);
//存储当前选中口味列表数组
const checkValueList = ref([]);
//定义改变口味名称时更新当前选中的口味列表
function changeFlavorName(row) {
  //清空当前行value
  row.value = [];
  //根据选中name去查找静态数据的value
  checkValueList.value =
   dishFlavorListSelect.value.find(item => item.name == row.name).value;
}
//定义口味列表获取焦点时更新当前选中的口味列表
function focusFlavorName(row) {
  //根据选中name去查找静态数据的value
  checkValueList.value =
   dishFlavorListSelect.value.find(item => item.name == row.name).value;
}

//-------------------------

 <el-select v-model="scope.row.value" placeholder="请选择口味列表" multiple
 @focus="focusFlavorName(scope.row)">
   <el-option v-for="value in checkValueList" 
   :key="value" 
   :label="value"
     :value="value"></el-option>
 </el-select> 

页面调整

改标题

改logo

最终效果

标签:name,AI,ruoyi,value,列表,item,二次开发,口味,row
From: https://blog.csdn.net/qq_73735007/article/details/140707706

相关文章

  • Selenium WebDriverWait 无法检测用于使用 Selenium 提交嵌入式视频答案的表单元素
    我一直在使用Selenium编写一个机器人来自动化学校强迫我做的系列教程。在本教程中,有一个视频在中途提示用户填写表格和一些问题。我一直在尝试使用此代码在视频播放时等待,直到表单可见WebDriverWait(driver,1000).until(EC.presence_of_element_located((B......
  • 【题解】「CSP模拟赛」雨天 rain
    雨天rain考场上打了一个动态开点线段树,但是被卡空间了......
  • 中电金信:基于AI的智能化国内信用证结算系统
    ​2023年《商业银行资本管理办法》正式稿中,明确规定了国内信用证的信用转换系数:与贸易直接相关的短期或有项目,其信用转换系数为20%;而基于服务贸易的国内信用证,其系数为50%。 这一新规定对货物贸易和服务贸易背景下的国内信用证进行了差异化处理,通过设定不同的信用转换系数,鼓励......
  • 使用RAG-GPT快速搭建LangChain官网智能客服
    引言随着GPT等大型语言模型(LLM)能力越来越强大,如何将这些模型精准地应用于特定垂直领域,让各行业开发者快速利用LLM赋能也成为热点和痛点。众所周知,LLM在处理超出其训练数据或涉及最新实事时,常会产生“幻觉”现象,简单理解就是会出现一本正经的胡说八道,回答不准确。针对此问题......
  • 网易Airtest私有云新增成员:主板机箱重磅出击
    此文章来源于项目官方公众号:“AirtestProject”版权声明:允许转载,但转载必须保留原链接;请勿用作商业或者非法用途一、问题背景在小规模测试环境中,如项目初期开发、低成本持续测试或固定场景测试,直接采购真机将带来较高的成本,同时还需考虑维护和维修问题,如电池膨胀、屏幕破损等......
  • AI大模型的革命:解析全球主流AI大模型及其对比分析
    在人工智能领域,AI大模型的发展正在改变我们的世界。无论是自然语言处理、图像识别,还是自动驾驶和医疗诊断,AI大模型都展示出其强大的潜力和广泛的应用前景。本文将介绍当前世界上主流的AI大模型,并对各个模型做详细介绍和横向对比,深入探讨这些模型的特点、优势以及应用领域。......
  • 怎样通过小红书AI绘画赚钱?AI艺术创收日入2900
    今年最热门的技术莫过于人工智能(AI),公认最强通用大模型为ChatGpt。此外,许多面向垂直领域的AI也相继问世,如绘画AIMidjourney、PPT制作AITome以及写作AINotion等。随着AI热潮的不断高涨,AI生成文本、图片、视频的应用遍地开花。门槛不高、花样颇多的小红书,成了AI刷脸的“集......
  • 为什么我在 Windows 上使用 async 和 wait 时会收到 NotImplementedError 错误?
    我有这段代码:importosimporttimeimportasyncioasyncdefrun_command(*args):"""Examplefrom:http://asyncio.readthedocs.io/en/latest/subprocess.html"""#Createsubprocessprocess=awaitasyn......
  • 8个工位仅1人在岗?人员在岗离岗检测算法:AI赋能企业安全管理
    近日有网友发视频称,某单位上班时间,8个工位,却只有一名工作人员在岗,此事引起广大网友的热议。随着科技的飞速发展,人工智能(AI)和机器学习技术已经深入到我们生活和工作的方方面面。在企业管理、工厂生产、安全监控等领域,人员在岗离岗检测算法的应用尤为突出,极大地提高了工作效率和安......
  • 腾讯5位大牛首推的AI应用&大模型方向好书(文末有赠书)
    在人工智能和大模型技术飞速发展的今天,我们有幸见证了AI如何深刻地影响和改变着我们的世界。这场变革不仅可能重塑我们的世界,更在各个领域引发了深远的影响。为了深入理解这场技术变革,把握AI应用的未来趋势,我们特别策划了这一期“大模型&AI应用”主题书单。本期大牛书单,我......