若依前端框架增删改查

news/2025/3/29 5:57:47/

1.下拉列表根据数据库加载

这个是用来查询框

绑定了 @change 事件来处理站点选择变化后的查询逻辑。

        <el-form-item label="站点选择" prop="stationId" v-has-permi="['ch:m:y']"><el-select v-model="queryParams.stationId" placeholder="请选择站点"@change="handleQuery"><el-option v-for="station in stationOptions" :key="station.stationId":label="station.stationName":value="station.stationId"></el-option></el-select></el-form-item>

这个是用在修改弹框中显示数据的,用于表单提交

        <el-form-item label="站点"><el-select v-model="form.stationId" placeholder="请选择站点"><el-option v-for="station in stationOptions" :key="station.stationId":label="station.stationName":value="station.stationId"></el-option></el-select></el-form-item>
 data() {return {// 站点选项stationOptions: undefined
}
,
created() {// 站点列表,挂载的时候加载this.getStationList()},
methods: {/** 查询站点选项框 */getStationList() {listStation().then(response => {this.stationOptions = response.rowsconsole.log(this.stationOptions)})},

还需要引入方法,这个是查询所有站点的表

import { listStation } from '@/api/system/station'

2.多租户:

首先要在表中加入部门id和创建人id(name也行)

使用:

还是来到web端,系统管理->角色管理->更多->数据权限

3.给一个框设置权限,只有超级管理员能看到

 v-has-permi="['ch:m:y']"

4.查询:

查询参数要改成对应的搜索框的参数

这个列表是用来存后端返回来的数据的,一共在三个地方有

2.data中

3.查询方法中

解析代码:

这个getList是用来搜索到全部代码的

.then() 是 JavaScript 中 Promise 对象的方法,用于处理异步操作完成后的结果。当 listStaff 请求完成后,返回的 response 对象将作为参数传递给 .then() 的回调函数。

getList() {this.loading = true;//遮罩,有加载的图案listStaff(this.addDateRange(this.queryParams, this.dateRange)).then(response => {this.staffList = response.rows;this.total = response.total;this.loading = false;
}

5.新增:

表单中的参数要改

要点击新增弹窗出来首先要设open=true,打开弹窗

:visible.sync="open" 是 Vue.js 中的一个特殊绑定语法,它结合了 Vue 的 v-bind.sync 修饰符,用来控制组件或元素的可见性,并同步更新状态。

    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body><el-form ref="form" :model="form" :rules="rules" label-width="100px"><el-form-item label="加气员名字" prop="staffName"><el-input v-model="form.staffName" placeholder="请输入加气员名字" /></el-form-item></el-form><div slot="footer" class="dialog-footer"><el-button type="primary" @click="submitForm">确 定</el-button><el-button @click="cancel">取 消</el-button></div></el-dialog>
点击确认按钮后:
  1. 当你调用 this.$refs["form"].validate 时,它会根据 rules 中的定义,逐个验证表单字段的输入是否合法。
  2. this.$modal.msgSuccess("修改成功"); 是一个用来显示成功消息的语句,通常出现在基于 Vue.js 或类似框架的项目中
    /** 提交按钮 */submitForm: function() {this.$refs["form"].validate(valid => {if (valid) {if (this.form.staffId != undefined) {updateStaff(this.form).then(response => {this.$modal.msgSuccess("修改成功");this.open = false;this.getList();});} else {addStaff(this.form).then(response => {this.$modal.msgSuccess("新增成功");this.open = false;this.getList();});}}});},

表示该插入操作将接收一个 SysStaff 类型的对象作为参数。

useGeneratedKeys 属性设置为 true 表示在执行插入操作时,MyBatis 会使用数据库自动生成的主键值。 keyProperty 属性指定插入操作后,自动生成的主键值会被设置到哪个属性中。

<!--  -->
<insert id="xx" parameterType="SysStaff" useGeneratedKeys="true" keyProperty="staffId"></insert>

点击表单的取消按钮,重置这里面的东西

6.修改:

多选框选择的id值

点击表单的取消按钮,重置这里面的东西

细节:

1.必填项:

]

    rules: {photoCarhead: [{ required: true, message: '请上传原车头照片', trigger: 'change' }]},

2.禁止修改
  • readonly:用户可以选择和复制文本,但不能编辑。
  • disabled:完全禁止用户编辑,且不允许选择文本。

3.序号列:
      <!-- 序号列 --><el-table-column label="序号" width="80" align="center"><template slot-scope="scope">{{ scope.$index + 1 }}</template></el-table-column>

4.必填项:

加上rules

<el-form-item label="车牌号" prop="carLicence" :rules="rules.carLicence"><el-input v-model="form.carLicence" placeholder="请输入车牌号" />
</el-form-item>

在return中的rules中加上必填项

data() {return {form: {carLicence: ''},rules: {carLicence: [{ required: true, message: '车牌号为必填项', trigger: 'blur' }// ... existing validation rules ...]}}
}
1. 在el-form上添加:rules="rules"。
2. 在data的return中定义rules,包含carLicence的必填验证。
3. 可能需要添加trigger和validator,但基本的required已经足够。
5.给下拉列表加权限

这样只能admin能看,随便设的权限,其他人看不了

   <el-form-item label="站点选择" prop="stationId" v-has-permi="['ch:m:y']">


http://www.ppmy.cn/news/1583151.html

相关文章

vue3 如何清空 let arr = reactive([])

在 Vue 3 中&#xff0c;如果你有一个使用 reactive 创建的响应式数组&#xff0c;并且你想清空这个数组&#xff0c;有几种方法可以实现。以下是一些常见的方法&#xff1a; 方法一&#xff1a;直接设置长度为0 你可以直接将数组的长度设置为0&#xff0c;这样会清空数组的内…

基于Python的机器学习入门指南

在当今数字化时代&#xff0c;机器学习&#xff08;Machine Learning&#xff09;已经成为科技领域中最热门的话题之一。它不仅改变了我们对数据的理解和处理方式&#xff0c;还在许多行业中得到了广泛应用&#xff0c;如金融、医疗、交通等。Python作为一门强大的编程语言&…

树莓集团园区运营案例:成都国际数字影像产业园的运营逻辑​

成都国际数字影像产业园的成功运营&#xff0c;是树莓集团在产业园运营领域的典型案例。其运营逻辑可以归纳为以下几点&#xff1a; 一、政企合作&#xff0c;优势互补 园区由树莓集团与金牛区政府合作共建&#xff0c;这种模式充分利用双方的优势。政府提供政策支持、土地资…

如何设计一个订单号生成服务?应该考虑那些问题?

如何设计一个订单号生成服务&#xff1f;应该考虑那些问题&#xff1f; description: 在高并发的电商系统中&#xff0c;生成全局唯一的订单编号是关键。本文探讨了几种常见的订单编号生成方法&#xff0c;包括UUID、数据库自增、雪花算法和基于Redis的分布式组件&#xff0c;并…

2024年3月全国计算机等级考试真题(二级C语言)

&#x1f600; 第1题 下列叙述中正确的是 A. 矩阵是非线性结构 B. 数组是长度固定的线性表 C. 对线性表只能作插入与删除运算 D. 线性表中各元素的数据类型可以不同 题目解析&#xff1a; A. 矩阵是非线性结构 错误。矩阵通常是二维数组&#xff0c;属…

蓝桥杯算法精讲:二分查找实战与变种解析

适合人群&#xff1a;蓝桥杯备考生 | 算法竞赛入门者 | 二分查找进阶学习者 目录 一、二分查找核心要点 1. 算法思想 2. 适用条件 3. 算法模板 二、蓝桥杯真题实战 例题&#xff1a;分巧克力&#xff08;蓝桥杯2017省赛&#xff09; 三、二分查找变种与技巧 1. 查找左边…

Thales靶机在网络安全教学与实战中的应用与价值

1.下载好该靶机&#xff0c;将桥接模式改为NET网段并启动 https://download.vulnhub.com/thales/Thales.zip 2.借助kali来确定该靶机的IP arp-scan -l nmap -O 192.168.56.101 3.访问改IP 192.168.56.101 4.点击manager app发现有个登录 使用msf爆破一下 msfconsole search…

docker 容器 php环境中安装gd 、mysql 等扩展

1、先配置阿里云镜像源 cd /etc/apt echo "" > sources.list echo "deb http://mirrors.aliyun.com/debian/ bullseye main contrib" >> /etc/apt/sources.list echo "deb-src http://mirrors.aliyun.com/debian/ bullseye main contrib&q…