• 微服务项目:尚融宝(31)(前端搭建:会员列表搭建(2))


    二、前端整合

    1、创建vue组件

    core/user-info/list.vue

    1. <template>
    2. <div class="app-container">
    3. user list
    4. div>
    5. template>

    2、配置路由 

    1. {
    2. path: '/core/user-info',
    3. component: Layout,
    4. redirect: '/core/user-info/list',
    5. name: 'coreUserInfo',
    6. meta: { title: '会员管理', icon: 'user' },
    7. alwaysShow: true,
    8. children: [
    9. {
    10. path: 'list',
    11. name: 'coreUserInfoList',
    12. component: () => import('@/views/core/user-info/list'),
    13. meta: { title: '会员列表' }
    14. }
    15. ]
    16. },

    3、定义api模块

    创建文件 src/api/core/user-info.js

    1. import request from '@/utils/request'
    2. export default {
    3. getPageList(page, limit, searchObj) {
    4. return request({
    5. url: `/admin/core/userInfo/list/${page}/${limit}`,
    6. method: 'get',
    7. params: searchObj
    8. })
    9. }
    10. }

    4、定义页面组件脚本

    src/views/core/user-info/list.vue

    5、定义页面组件模板

    src/views/core/user-info/list.vue

     锁定和解锁

    一、后端接口实现

    1、Service

    接口:UserInfoService

    void lock(Long id, Integer status);

    实现:UserInfoServiceImpl 

    1. @Override
    2. public void lock(Long id, Integer status) {
    3. // UserInfo userInfo = this.getById(id);//select
    4. // userInfo.setStatus(1);
    5. // this.updateById(userInfo);//update
    6. UserInfo userInfo = new UserInfo();
    7. userInfo.setId(id);
    8. userInfo.setStatus(status);
    9. baseMapper.updateById(userInfo);
    10. }

    2、Controller

    AdminUserInfoController

    1. @ApiOperation("锁定和解锁")
    2. @PutMapping("/lock/{id}/{status}")
    3. public R lock(
    4. @ApiParam(value = "用户id", required = true)
    5. @PathVariable("id") Long id,
    6. @ApiParam(value = "锁定状态(0:锁定 1:解锁)", required = true)
    7. @PathVariable("status") Integer status){
    8. userInfoService.lock(id, status);
    9. return R.ok().message(status==1?"解锁成功":"锁定成功");
    10. }

    二、前端整合

    1、定义api

    src/api/core/user-info.js

    1. lock(id, status) {
    2. return request({
    3. url: `/admin/core/userInfo/lock/${id}/${status}`,
    4. method: 'put'
    5. })
    6. }

    2、定义页面组件脚本

    src/views/core/user-info/list.vue

    1. // 锁定和解锁
    2. lock(id, status) {
    3. userInfoApi.lock(id, status).then(response => {
    4. this.$message.success(response.message)
    5. this.fetchData()
    6. })
    7. }

    3、定义页面组件模板

    src/views/core/user-info/list.vue: 

    1. "操作" align="center" width="200">
    2. <template slot-scope="scope">
    3. <el-button
    4. v-if="scope.row.status == 1"
    5. type="primary"
    6. size="mini"
    7. @click="lock(scope.row.id, 0)"
    8. >
    9. 锁定
    10. el-button>
    11. <el-button
    12. v-else
    13. type="danger"
    14. size="mini"
    15. @click="lock(scope.row.id, 1)"
    16. >
    17. 解锁
    18. el-button>
    19. template>

     

     

     

     

  • 相关阅读:
    “查找”学习提纲(三)——总结
    【OpenCV入门】第九部分——模板匹配
    个人如何申请发明专利,需要的资料有哪些
    shell脚本命令行参数 | while getopts
    10.DesignForSymbols\1.AutoFootprintTools...
    Ubuntu开放指定端口
    传输层 拥塞控制-慢开始和拥塞避免 快重传 快恢复
    MyBatis学习:resultType属性默认转换规则,返回Map结构等详解
    【C语言】文件相关函数详解
    密码学系列4-选择密文安全,同态加密安全性
  • 原文地址:https://blog.csdn.net/m0_62436868/article/details/126812662