用Spring Boot+Vue做微人事项目第十三天

2021-05-14 11:41:35 浏览数 (1)

用Spring Boot Vue做微人事项目第十三天

强烈推介IDEA2020.2破解激活,IntelliJ IDEA 注册码,2020.2 IDEA 激活码

用Spring Boot Vue做微人事项目第十三天

目录

用Spring Boot Vue做微人事项目第十三天

选择组件并添加

效果图

后端更新


选择组件并添加

el-dialog标签 

代码语言:javascript复制
<div>
        <div>
            <el-input
                    size="small"
                    class="addPosInput"
                    placeholder="添加职位..."
                    prefix-icon="el-icon-plus"
                    @keydown.enter.native="addPosition"
                    v-model="pos.name">
            </el-input>
            <el-button type="primary" icon="el-icon-plus" size="small" @click="addPosition()">添加</el-button>
        </div>
        <!--:data="tableDate 是data数据里面的tableData属性。表格里面显示的数据是json数组"-->
        <!--el-table-column:每一列-->
        <div class="posManaMain">
            <el-table
                    :data="positions"
                    stripe
                    size="small"
                    border
                    @selection-change="handleSelectionChange"
                    style="width: 70%">
                <el-table-column
                        type="selection"
                        width="55">
                </el-table-column>
                <el-table-column
                        prop="id"
                        label="编号"
                        width="55">
                </el-table-column>
                <el-table-column
                        prop="name"
                        label="职位名称"
                        width="120">
                </el-table-column>
                <el-table-column
                        prop="createDate"
                        label="创建时间">
                </el-table-column>
                <el-table-column label="操作">
                    <!--scope.$index:当前操作到第几行 scope.row:这一行对应的json对象 -->
                    <template slot-scope="scope">
                        <el-button
                                size="mini"
                                @click="handleEdit(scope.$index, scope.row)">编辑</el-button>
                        <el-button
                                size="mini"
                                type="danger"
                                @click="handleDelete(scope.$index, scope.row)">删除</el-button>
                    </template>
                </el-table-column>
            </el-table>
            
        </div>
         <el-dialog
            title="修改职位信息"
            :visible.sync="dialogVisible"
            width="30%">
            <div>
                <el-tag>职位名称</el-tag>
                <el-input class="updatePosInput" size="small" v-model="updatePos.name"></el-input>
            </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>

使用的时候先要保证dialog对话框是隐藏的 所以dialogVisible:false初始赋值为false

代码语言:javascript复制
 export default {
        name: "DepMana",
        data() {
            return {
                pos: {
                    name: ''
                },
                dialogVisible: false,
                updatePos: {
                    name: ''
                },
                positions: []
                
            }
        },

在组件里面有两个按钮 分别是取消确定 给与对应的事件

代码语言:javascript复制
 <el-button size="small" @click="dialogVisible = false">取 消</el-button>
 <el-button size="small" type="primary" @click="doUpdate">确 定</el-button>

取消:直接将dialog设置成false 不显示 确 定:走doUpdate 方法

通过axios发送更新请求 如果成功 返回数据的话

  1. 重新加载
  2. 将对话框中的name设置为初始值’’
  3. 将dialog对话框隐藏
代码语言:javascript复制
 doUpdate() {
            this.putRequest("/system/basic/pos/", this.updatePos).then(resp => {
                if (resp) {
                    this.initPositions();
                    this.updatePos.name = ''
                    this.dialogVisible = false
                }
            })
        },

效果图

后端更新

controller

代码语言:javascript复制
@PutMapping("/")
    public RespBean updatePositions(@RequestBody Position position){
        if (positionService.updatePositions(position)==1){
            return RespBean.ok("修改成功!");
        }
        return RespBean.error("修改失败!");

    }

service

代码语言:javascript复制
 public Integer updatePositions(Position position) {
        return positionMapper.updateByPrimaryKeySelective(position);
    }

dao

代码语言:javascript复制
 int updateByPrimaryKeySelective(Position record);

mapper.xml

代码语言:javascript复制
<update id="updateByPrimaryKeySelective" parameterType="com.lqg.vhr.model.Position">
    update position
    <set>
      <if test="name != null">
        `name` = #{name,jdbcType=VARCHAR},
      </if>
      <if test="createDate != null">
        createDate = #{createDate,jdbcType=TIMESTAMP},
      </if>
      <if test="enabled != null">
        enabled = #{enabled,jdbcType=BIT},
      </if>
    </set>
    where id = #{id,jdbcType=INTEGER}
  </update>

0 人点赞