查询数据
后端数据,前端存放的位置
放在table的jls中 下一步就是取到后端数据 放到data中
:data="jls"
<template>
<div>
<div>
<el-input size="small" v-model="jl.name" style="width: 300px" prefix-icon="el-icon-plus" placeholder="添加职称..."></el-input>
<el-select v-model="jl.titleLevel" placeholder="职称等级" size="small" style="margin-left: 5px;margin-right: 5px">
<el-option
v-for="item in titleLevels"
:key="item"
:label="item"
:value="item">
</el-option>
</el-select>
<el-button icon="el-icon-plus" type="primary" size="small">添加</el-button>
</div>
<div style="margin-top: 10px">
<el-table
:data="jls"
size="small"
border
style="width: 80%">
<el-table-column
prop="id"
label="编号"
width="55">
</el-table-column>
<el-table-column
prop="name"
label="职称名称"
width="150">
</el-table-column>
<el-table-column
prop="titleLevel"
label="职称级别">
</el-table-column>
<el-table-column
prop="createDate"
label="创建时间">
</el-table-column>
<el-table-column
laber="操作"
label="创建时间">
<template slot-scope="scope">
<el-button size="small">编辑</el-button>
<el-button size="small" type="danger">删除</el-button>
</template>
</el-table-column>
</el-table>
</div>
</div>
</template>
<script>
export default {
name: "JobLevelMana",
data(){
return{
jls:[],
jl:{
name:'',
titleLevel:''
},
titleLevels:[
'正高级',
'副高级',
'中级',
'初级',
'员级'
]
}
}
}
</script>
<style scoped>
</style>
取得数据并放到data中
此处的mounted是方法methods是属性
<script>
export default {
name: "JobLevelMana",
data(){
return{
jls:[],
jl:{
name:'',
titleLevel:''
},
titleLevels:[
'正高级',
'副高级',
'中级',
'初级',
'员级'
]
}
},
mounted() {
this.initJls();
},
methods:{
initJls(){
this.getRequest("/system/basic/jobLevel/").then(resp=>{
if (resp){
this.jls=resp;
}
})
}
}
}
</script>
效果图下
依然是日期问题
在jobLevel实体上使用
@JsonFormat(pattern = "yyyy-MM-dd",timezone = "Asia/Shanghai")
public Date getCreateDate() {
return createDate;
}
效果图下
添加数据
给按钮添加事件
前
<el-button icon="el-icon-plus" type="primary" size="small">添加</el-button>
后
<el-button icon="el-icon-plus" type="primary" size="small" @click="addJobLevel">添加</el-button>
判断若为空字符串返回false,否则重新进行初始化操作,并将name和titleLevel质空
methods: {
addJobLevel() {
if (this.jl.name && this.jl.titleLevel) {
this.postRequest("/system/basic/jobLevel/", this.jl).then(resp => {
if (resp) {
this.initJls();
}
})
} else {
this.$message.error("添加字段不可以为空")
}
},
initJls() {
this.getRequest("/system/basic/jobLevel/").then(resp => {
if (resp) {
this.jls = resp;
this.jl = {
name: '',
titleLevel: ''
}
}
})
}
}
删除数据
删除在表格中操作,先设置点击事件
前
<template slot-scope="scope">
<el-button size="small">编辑</el-button>
<el-button size="small" type="danger">删除</el-button>
</template>
后
<template slot-scope="scope">
<el-button size="small">编辑</el-button>
<el-button size="small" type="danger" @click="deleteHander(scope.row)">删除</el-button>
</template>
deleteHander(data){
this.$confirm('此操作将删除【'+data.name+'】职称, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.deleteRequest("/system/basic/jobLevel/"+data.id).then(resp=>{
if (resp) {
this.initJls();
}
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
});
});
},
编辑数据
添加是否可用
boolean值需要自定义表格内容的方式来展示
<template>
<div>
<div>
<el-input size="small" v-model="jl.name" style="width: 300px" prefix-icon="el-icon-plus" placeholder="添加职称..."></el-input>
<el-select v-model="jl.titleLevel" placeholder="职称等级" size="small" style="margin-left: 5px;margin-right: 5px">
<el-option
v-for="item in titleLevels"
:key="item"
:label="item"
:value="item">
</el-option>
</el-select>
<el-button icon="el-icon-plus" type="primary" size="small" @click="addJobLevel">添加</el-button>
</div>
<div style="margin-top: 10px">
<el-table
:data="jls"
size="small"
border
style="width: 80%">
<el-table-column
prop="id"
label="编号"
width="55">
</el-table-column>
<el-table-column
prop="name"
label="职称名称"
width="150">
</el-table-column>
<el-table-column
prop="titleLevel"
label="职称级别">
</el-table-column>
<el-table-column
prop="createDate"
label="创建时间">
</el-table-column>
<el-table-column
label="是否启用">
<template slot-scope="scope">
<el-tag v-if="scope.row.enabled" type="success">已启用</el-tag>
<el-tag v-else type="warning">未启用</el-tag>
</template>
</el-table-column>
<el-table-column
laber="操作"
label="创建时间">
<template slot-scope="scope">
<el-button size="small">编辑</el-button>
<el-button size="small" type="danger" @click="deleteHander(scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
</div>
</div>
</template>
<script>
export default {
name: "JobLevelMana",
data(){
return{
jls:[],
jl:{
name:'',
titleLevel:''
},
titleLevels:[
'正高级',
'副高级',
'中级',
'初级',
'员级'
]
}
},
mounted() {
this.initJls();
},
methods: {
deleteHander(data){
this.$confirm('此操作将删除【'+data.name+'】职称, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.deleteRequest("/system/basic/jobLevel/"+data.id).then(resp=>{
if (resp) {
this.initJls();
}
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
});
});
},
addJobLevel() {
if (this.jl.name && this.jl.titleLevel) {
this.postRequest("/system/basic/jobLevel/", this.jl).then(resp => {
if (resp) {
this.initJls();
}
})
} else {
this.$message.error("添加字段不可以为空")
}
},
initJls() {
this.getRequest("/system/basic/jobLevel/").then(resp => {
if (resp) {
this.jls = resp;
this.jl = {
name: '',
titleLevel: ''
}
}
})
}
}
}
</script>
<style scoped>
</style>
显示效果如下
这样编辑即需要修改职称名称,职称级别,是否启用
点击编辑按钮 调用方法showEditView并将row信息传入
<el-button size="small" @click="showEditView(scope.row)">编辑</el-button>
拷贝数据到udpateJl中 即显示在dialog中的本行信息 将dialogVisible设置为true 显示dialog
showEditView(data){
Object.assign(this.updateJl, data);
this.dialogVisible = true;
},
显示的修改框
<el-dialog
title="修改职称"
:visible.sync="dialogVisible"
width="30%">
<div>
<table>
<tr>
<td><el-tag>职称名称</el-tag></td>
<td><el-input size="small" v-model="updateJl.name"></el-input></td>
</tr>
<tr>
<td><el-tag>职称级别</el-tag></td>
<el-select v-model="updateJl.titleLevel" placeholder="职称等级" size="small" style="margin-left: 5px;margin-right: 5px">
<el-option
v-for="item in titleLevels"
:key="item"
:label="item"
:value="item">
</el-option>
</el-select>
</tr>
<tr>
<td><el-tag>是否可见</el-tag></td>
<el-switch
v-model="updateJl.enabled"
active-text="启用"
inactive-text="禁用">
</el-switch>
</tr>
</table>
</div>
使用dialogVisible属性控制显示与否
点击取消 设置 false 不显示
<span slot="footer" class="dialog-footer">
<el-button size="small" @click="dialogVisible = false">取 消</el-button>
<el-button size="small" type="primary" @click="doUpdate">确 定</el-button>
</span>
确认按钮调用更新
<el-button size="small" type="primary" @click="doUpdate">确 定</el-button>
如果返回正常 则初始化当前页面 并将dialog设置为false不可见
doUpdate(){
this.putRequest("/system/basic/jobLevel/",this.updateJl).then(resp=>{
if (resp) {
this.initJls()
this.dialogVisible=false;
}
})
},
整体页面代码如下
<template>
<div>
<div>
<el-input size="small" v-model="jl.name" style="width: 300px" prefix-icon="el-icon-plus" placeholder="添加职称..."></el-input>
<el-select v-model="jl.titleLevel" placeholder="职称等级" size="small" style="margin-left: 5px;margin-right: 5px">
<el-option
v-for="item in titleLevels"
:key="item"
:label="item"
:value="item">
</el-option>
</el-select>
<el-button icon="el-icon-plus" type="primary" size="small" @click="addJobLevel">添加</el-button>
</div>
<div style="margin-top: 10px">
<el-table
:data="jls"
size="small"
border
style="width: 80%">
<el-table-column
prop="id"
label="编号"
width="55">
</el-table-column>
<el-table-column
prop="name"
label="职称名称"
width="150">
</el-table-column>
<el-table-column
prop="titleLevel"
label="职称级别">
</el-table-column>
<el-table-column
prop="createDate"
label="创建时间">
</el-table-column>
<el-table-column
label="是否启用">
<template slot-scope="scope">
<el-tag v-if="scope.row.enabled" type="success">已启用</el-tag>
<el-tag v-else type="warning">未启用</el-tag>
</template>
</el-table-column>
<el-table-column
laber="操作"
label="创建时间">
<template slot-scope="scope">
<el-button size="small" @click="showEditView(scope.row)">编辑</el-button>
<el-button size="small" type="danger" @click="deleteHander(scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
</div>
<el-dialog
title="修改职称"
:visible.sync="dialogVisible"
width="30%">
<div>
<table>
<tr>
<td><el-tag>职称名称</el-tag></td>
<td><el-input size="small" v-model="updateJl.name"></el-input></td>
</tr>
<tr>
<td><el-tag>职称级别</el-tag></td>
<el-select v-model="updateJl.titleLevel" placeholder="职称等级" size="small" style="margin-left: 5px;margin-right: 5px">
<el-option
v-for="item in titleLevels"
:key="item"
:label="item"
:value="item">
</el-option>
</el-select>
</tr>
<tr>
<td><el-tag>是否可见</el-tag></td>
<el-switch
v-model="updateJl.enabled"
active-text="启用"
inactive-text="禁用">
</el-switch>
</tr>
</table>
</div>
<span slot="footer" class="dialog-footer">
<el-button size="small" @click="dialogVisible = false">取 消</el-button>
<el-button size="small" type="primary" @click="doUpdate">确 定</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
export default {
name: "JobLevelMana",
data(){
return{
updateJl:{
name:'',
titleLevel:'',
enabled:false
},
dialogVisible:false,
jls:[],
jl:{
name:'',
titleLevel:''
},
titleLevels:[
'正高级',
'副高级',
'中级',
'初级',
'员级'
]
}
},
mounted() {
this.initJls();
},
methods: {
doUpdate(){
this.putRequest("/system/basic/jobLevel/",this.updateJl).then(resp=>{
if (resp) {
this.initJls()
this.dialogVisible=false;
}
})
},
showEditView(data){
Object.assign(this.updateJl, data);
this.dialogVisible = true;
},
deleteHander(data){
this.$confirm('此操作将删除【'+data.name+'】职称, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.deleteRequest("/system/basic/jobLevel/"+data.id).then(resp=>{
if (resp) {
this.initJls();
}
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
});
});
},
addJobLevel() {
if (this.jl.name && this.jl.titleLevel) {
this.postRequest("/system/basic/jobLevel/", this.jl).then(resp => {
if (resp) {
this.initJls();
}
})
} else {
this.$message.error("添加字段不可以为空")
}
},
initJls() {
this.getRequest("/system/basic/jobLevel/").then(resp => {
if (resp) {
this.jls = resp;
this.jl = {
name: '',
titleLevel: ''
}
}
})
}
}
}
</script>
<style scoped>
</style>