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

相关文章
|
4月前
|
开发框架 前端开发 JavaScript
若依怎样看开发文档,域名搜这个就行ruoyi.vip,建链接点击在线文档,有前端手册和后端手册,若依文档里有项目扩展,项目扩展有大量的开源的软件
若依怎样看开发文档,域名搜这个就行ruoyi.vip,建链接点击在线文档,有前端手册和后端手册,若依文档里有项目扩展,项目扩展有大量的开源的软件
支付系统---微信支付14----创建案例项目---介绍,第二步引入Swagger,接口文档和测试页面生成工具,定义统一结果的目的是让结果变得更加规范,以上就是谷粒项目的几个过程
支付系统---微信支付14----创建案例项目---介绍,第二步引入Swagger,接口文档和测试页面生成工具,定义统一结果的目的是让结果变得更加规范,以上就是谷粒项目的几个过程
|
5月前
|
存储 前端开发 Java
Spring第三课,Lombok工具包下载,对应图书管理系统列表和登录界面的后端代码,分层思想
Spring第三课,Lombok工具包下载,对应图书管理系统列表和登录界面的后端代码,分层思想
|
4月前
|
存储 缓存 NoSQL
网页设计,若依项目修改(It must be done)04在线用户展示---仅仅从Redis取一下数据做展示,查看若依存储的资料,用RDM
网页设计,若依项目修改(It must be done)04在线用户展示---仅仅从Redis取一下数据做展示,查看若依存储的资料,用RDM
序---在开发的过程中首先写开发文档,查一查开发文档怎么写,开发一个流程标准化页面
序---在开发的过程中首先写开发文档,查一查开发文档怎么写,开发一个流程标准化页面
|
5月前
|
NoSQL Java Redis
若依如何使用(基本环境的配置)
若依如何使用(基本环境的配置)
|
自然语言处理 安全
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.
|
6月前
|
XML API 数据库
七天.NET 8操作SQLite入门到实战 - 第六天后端班级管理相关接口完善和Swagger自定义配置
七天.NET 8操作SQLite入门到实战 - 第六天后端班级管理相关接口完善和Swagger自定义配置
127 0
|
缓存 小程序 前端开发
【易售小程序项目】请求包创建+登录功能实现【基于若依管理系统开发】
【易售小程序项目】请求包创建+登录功能实现【基于若依管理系统开发】
127 0
|
JSON 前端开发 数据格式
项目改造操作(图书管理系统为例)
项目改造操作(图书管理系统为例)