• 微服务项目:尚融宝(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>

     

     

     

     

  • 相关阅读:
    AddressSanitizer(ASan)
    Linux网络基础 局域网广域网 网络协议栈 网络传输流程 动图
    linux+window+macos下的JDK安装
    传统 Web 框架部署与迁移
    仿真软件Proteus8.10 SP3 pro一键安装、汉化教程(附proteus8.10下载链接安装视频)
    java计算机毕业设计冠状病毒疫情防控资讯交流推荐网站源码+mysql数据库+系统+lw文档+部署
    pytorch报错大全
    OpenCV-Python小应用(六):车道线检测
    相交链表~环形链表
    C++的内存管理和模板
  • 原文地址:https://blog.csdn.net/m0_62436868/article/details/126812662