当前位置: 首页 > news >正文

添加状态信息

1首先在数据字典里加入可借阅和不可借阅状态

2导入数据字典

export default {name: "Book",dicts: ['book_borrow_status'],//导入数据字典data() {return {formData: {name: null,author: null,num: null,price: null,typeId: null,status:null//新加状态属性},

3设置状态按钮

<el-table-column label="是否可借阅" align="center" prop="status"><template slot-scope="scope"><el-switchv-model="scope.row.status"active-value="0"inactive-value="1"@change="handleStatusChange(scope.row)":disabled="scope.row.bookStock === 0"//禁用按钮></el-switch></template></el-table-column>

4设置函数实现状态功能

    handleStatusChange(row){let text = row.status === "0" ? "可借阅" : "不可借阅"this.$modal.confirm('确认要将"' + row.name + '"变为"' + text + '"吗?').then(function() {return changeBookStatus(row.id, row.status)}).then(() => {this.$modal.msgSuccess("设置" + text + "成功")}).catch(function() {row.status = row.status === "0" ? "1" : "0"})},

5实现changeBookStatus

// 图书状态修改
export function changeBookStatus(id, status) {const data = {id,status}return request({url: '/book/book/changeStatus',method: 'put',data: data})
}

6实现后端controller

    /*** 状态修改*/@PreAuthorize("@ss.hasPermi('book:book:edit')")@Log(title = "图书", businessType = BusinessType.UPDATE)@PutMapping("/changeStatus")public AjaxResult changeStatus(@RequestBody Book book){return toAjax(bookService.updateBookStatus(book));}
}

7实现业务逻辑

    /*** 修改图书状态** @param book 图书* @return 结果*/@Overridepublic int updateBookStatus(Book book){return bookMapper.updateBookStatus(book);}
}

8接口连接

IBookService接口

    /*** 修改用户状态** @param book 图书* @return 结果*/public int updateBookStatus(Book book);
}

IBookMapper接口

    public int updateBookStatus(Book book);

9mapper.xml写sql逻辑

    <update id="updateBookStatus" parameterType="Book">update t_book set status = #{status} where id = #{id}</update>

10在service实现类里写业务

当书籍不是空的时候添加自动为可借阅状态

@Overridepublic int insertBook(Book book){
//        if(book.getStatus() != null && "".equals(book.getStatus()))if(book != null &&!StringUtils.hasLength(book.getStatus())){book.setStatus("1");}return bookMapper.insertBook(book);}

当仓库为0的时候设置状态为不可借阅

@Overridepublic int updateBook(Book book){if(book.getBookStock() == 0){book.setStatus("1");}return bookMapper.updateBook(book);}

http://www.xdnf.cn/news/1164979.html

相关文章:

  • Linux find命令:强大的文件搜索工具
  • 代码审计Tabby安装教程
  • 神经网络——归一化层
  • nextjs编程式跳转
  • LinkedList的模拟实现(双向链表Java)
  • Java注解家族--`@ResponseBody`
  • 神经网络——线性层
  • 【c++】leetcode5 最长回文子串
  • 蚂蚁数科AI数据产业基地正式投产,携手苏州推进AI产业落地
  • 奥比中光深度相机开发
  • 感知机-梯度下降法
  • 141 个 LangChain4j Maven 组件分类解析、多场景实战攻略
  • 一个月掌握数据结构与算法:高效学习计划
  • hot100回归复习(算法总结1-38)
  • 零拷贝技术(Zero-Copy)
  • 网络协议(四)网络层 路由协议
  • C++基于libmodbus库实现modbus TCP/RTU通信
  • 大模型——上下文工程 (Context Engineering) – 现代 AI 系统的架构基础
  • C# 实现:动态规划解决 0/1 背包问题
  • iOS开发 Swift 速记2:三种集合类型 Array Set Dictionary
  • OCR 身份识别:让身份信息录入场景更高效安全
  • 如何使用终端查看任意Ubuntu的版本信息
  • 用 Three.js 实现 PlayCanvas 风格 PBR 材质教程(第二篇):核心参数与光照模型
  • DBSCAN聚类算法
  • OpenAI Codex CLI与 Google Gemini CLI 比较
  • 关于java8里边Collectors.toMap()的空限制
  • 泛型:C#中的类型抽象艺术
  • Android NDK ffmpeg 音视频开发实战
  • 数据结构 之 【排序】(直接插入排序、希尔排序)
  • 【C++】list的模拟实现