PassJava 开源(十四)之管理后台-题目维护功能

简介: PassJava 开源(十四)之管理后台-题目维护功能

PassJava (佳必过) 项目全套学习教程连载中。

文档在线地址:www.passjava.cn

管理后台-题目维护功能

上一篇我们讲到题目类型功能,这一篇我们来讲解题目维护功能。

1.配置逻辑删除

  • 所有表字段添加del_flag字段

    del_flag tinyint(1) DEFAULT 0 COMMENT '删除标记(0-正常,1-删除)',
  • MyBatisPlus配置逻辑删除
mybatis-plus:
  mapper-locations: classpath:/mapper/**/*.xml
  global-config:
    db-config:
      id-type: auto
      logic-delete-field: delFlag  #全局逻辑删除字段值 3.3.0开始支持,详情看下面。
      logic-delete-value: 1 # 逻辑已删除值(默认为 1)
      logic-not-delete-value: 0 # 逻辑未删除值(默认为 0)
  • log中打印查询SQL语句
SELECT id,type,comments,logo_url,del_flag,create_time,update_time FROM qms_type WHERE del_flag=0 
  • log打印删除SQL语句
UPDATE qms_type SET del_flag=1 WHERE id IN ( 1 ) AND del_flag=0 

2.快速显示开关

想要将是否显示改为快速开关

mark

  • 自定义列模板

    1.通过 Scoped slot 可以获取到 row, column, $index 和 store(table 内部的状态管理)的数据

    2.使用Switch开关

Scoped slot:https://element.eleme.cn/#/zh-CN/component/table
Switch开关:https://element.eleme.cn/#/zh-CN/component/switch

<el-table-column prop="enable"
                 header-align="center"
                 align="center"
                 label="是否显示">
    <template slot-scope="scope">
<el-switch
           v-model="scope.row.enable"
           :active-value=1
           :inactive-value=0
           active-color="#13ce66"
           inactive-color="#ff4949"
           @change="updateQuestionStatus(scope.row)">
        </el-switch>
    </template>
</el-table-column>

添加更新方法

// 更新题目是否显示
updateQuestionStatus(data) {
    console.log(data)
    let {id, enable} = data
    this.$http({
        url: this.$http.adornUrl('/question/question/update'),
        method: 'post',
        data: this.$http.adornData({id, enable}, false)
    }).then(({ data }) => {
        this.$message({
            type:"success",
            message: "状态更新成功"
        })
    });
},

3.前端字段校验

对排序字段限制:必须为正整数

dataRule: {
  displayOrder: [
    {
      validator: (rule, value, callback) => {
        if (value == "") {
          callback(new Error("排序字段必须填写"));
        } else if (!Number.isInteger(value) || value<0) {
          callback(new Error("排序必须是一个大于等于0的整数"));
        } else {
          callback();
        }
      },
      trigger: "blur"
    }
  ]
}

4.后端字段校验

  • 实体类字段上添加注解@Positive必须是大于0的数字
/**
 * 排序
 */
@Positive
private Integer displayOrder;
  • API 添加注解@Valid
/**
* 保存
*/
@RequestMapping("/save")
public R save(@Valid @RequestBody QuestionEntity question){
    questionService.save(question);
    return R.ok();
}

测试结果

后端字段校验

-1,0,0.2 不通过

测试1,1.2通过

代码地址

https://github.com/Jackson0714/PassJava-Platform

相关文章
|
2月前
|
前端开发 Java 数据安全/隐私保护
用户登录前后端开发(一个简单完整的小项目)——SpringBoot与session验证(带前后端源码)全方位全流程超详细教程
文章通过一个简单的SpringBoot项目,详细介绍了前后端如何实现用户登录功能,包括前端登录页面的创建、后端登录逻辑的处理、使用session验证用户身份以及获取已登录用户信息的方法。
331 2
用户登录前后端开发(一个简单完整的小项目)——SpringBoot与session验证(带前后端源码)全方位全流程超详细教程
|
6月前
|
小程序 Java 关系型数据库
基于SpringBoot招聘管理系统设计和实现(源码+LW+调试文档+讲解等)
基于SpringBoot招聘管理系统设计和实现(源码+LW+调试文档+讲解等)
|
3月前
|
前端开发 应用服务中间件 API
|
5月前
|
开发框架 前端开发 JavaScript
若依怎样看开发文档,域名搜这个就行ruoyi.vip,建链接点击在线文档,有前端手册和后端手册,若依文档里有项目扩展,项目扩展有大量的开源的软件
若依怎样看开发文档,域名搜这个就行ruoyi.vip,建链接点击在线文档,有前端手册和后端手册,若依文档里有项目扩展,项目扩展有大量的开源的软件
|
6月前
|
存储 前端开发 Java
Spring第三课,Lombok工具包下载,对应图书管理系统列表和登录界面的后端代码,分层思想
Spring第三课,Lombok工具包下载,对应图书管理系统列表和登录界面的后端代码,分层思想
序---在开发的过程中首先写开发文档,查一查开发文档怎么写,开发一个流程标准化页面
序---在开发的过程中首先写开发文档,查一查开发文档怎么写,开发一个流程标准化页面
|
自然语言处理 安全
Web3.0钱包系统开发(开发功能)/指南教程/步骤流程/方案设计/项目逻辑/规则玩法/案例源码
Wallet type selection: Determine the type of wallet, which can be a browser plugin wallet, mobile application wallet, or online web wallet. The choice of wallet type should be based on the target user group and usage environment.
|
7月前
|
小程序 Java
基于SpringBoot的在线题库管理系统的设计与实现(源码+lw+部署文档+讲解等)
基于SpringBoot的在线题库管理系统的设计与实现(源码+lw+部署文档+讲解等)
113 0
基于SpringBoot的在线题库管理系统的设计与实现(源码+lw+部署文档+讲解等)
|
小程序 数据可视化 数据库
云开发(微信-小程序)笔记(十七)---- cms(内容管理)及案例
云开发(微信-小程序)笔记(十七)---- cms(内容管理)及案例
541 0
|
JSON 前端开发 数据格式
项目改造操作(图书管理系统为例)
项目改造操作(图书管理系统为例)