微人事-基础信息设置-职称管理前后端接口对接

查询数据

后端数据,前端存放的位置

放在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>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值