当前位置: 首页 > 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.dtcms.com/a/290096.html

相关文章:

  • AI+Python | 长时序植被遥感:动态·物候·变异归因·RSEI生态评估全流程[特殊字符]
  • 【Unity优化】Unity多场景加载优化与资源释放完整指南:解决Additive加载卡顿、预热、卸载与内存释放问题
  • Taro 路由相关 API 详解与实战
  • 深入解析IP协议:组成、地址管理与路由选择
  • XSS学习总结
  • 【算法笔记】树状数组
  • 学习秒杀系统-异步下单(包含RabbitMQ基础知识)
  • Linux——自制shell命令行解释器
  • CMakeLists.txt 中一些最常见和核心的命令
  • GC9118S低压单通道全桥驱动器芯片详解
  • Effective Modern C++ 条款15:尽可能的使用constexpr
  • 17 BTLO 蓝队靶场 Pretium 解题记录
  • Windows GCC修改链接脚本文件实现section块存储函数
  • LVS 集群技术基础
  • docker--挂载
  • Docker安装Elasticsearch 7.17.0和Kibana 7.17.0并配置基础安全
  • 悬镜安全将受邀参加2025开放原子开源生态大会
  • Curtain e-locker 易锁防泄密:无需网络隔离,实现安全与效率并存
  • 量子生成对抗网络:量子计算与生成模型的融合革命
  • uni-api交互反馈组件(showToast)的用法
  • 宝塔面板Nginx报错: IP+端口可以直接从访问,反向代理之后就504了 Gateway Time-out
  • 农村供水智慧化管理系统:从精准监测到智能调度,破解农村用水安全与效率难题
  • MySQL 事务死锁排查:从日志分析到解决实战
  • 某日在某个月份中不存在导致软件出现异常的问题排查(判断闰年以及月份中的天数,附完整源码)
  • 低代码平台能否完全取代传统前端开发
  • Bun v1.2.19发布,node_modules隔离,sql比node快6倍
  • MySQL:表的增删查改
  • 【跨国数仓迁移最佳实践2】MaxCompute SQL执行引擎对复杂类型处理全面重构,保障客户从BigQuery平滑迁移
  • VUE如何设置语音
  • 【实践篇】基于.venv 的 ComfyUI 环境同配置迁移:pyvenv.cfg 路径修改法