vue-elementui-admin 增删改查

<template>
  <div>
    <div style="width: 100%;height: 100px;">

      <!-- 搜索 -->
      <div style="margin-top: 30px;margin-left: 30px;float: left;width: 600px;">
        <div style="float: left;margin-top: 10px;">
          请输入名称:
        </div>
        <div style="width: 300px;float: left">
          <!-- 搜索 -->
          <el-input v-model="quere.input" placeholder="请输入内容">
            <el-button slot="append" icon="el-icon-search" @click="getData"></el-button>
          </el-input>
        </div>
      </div>
    </div>

    <!-- 添加拼团商品 -->
    <el-button type="primary" @click="addto" style="float: left; margin-left: 30px;margin-bottom: 25px;">添加拼团商品</el-button>

    <!-- 表格 -->
    <el-table :data="DataList" style="width: 100%">
      <el-table-column label="登录账号" prop="number">
      </el-table-column>
      <el-table-column label="姓名" prop="name">
      </el-table-column>
      <el-table-column label="权限组" prop="permission">
      </el-table-column>
      <el-table-column label="简单说明" prop="desc">
      </el-table-column>
      <el-table-column label="状态">
        <template slot-scope="{row}">
          <el-switch v-model="row.state" class="switch" :active-value="1" :inactive-value="0"
            @change="handleStatusChange($event, row)" />
        </template>
      </el-table-column>
      <el-table-column label="操作">
        <template slot-scope="scope">
          <el-button size="mini" @click="handleEdit(scope.row)">修改</el-button>
          <el-button size="mini" type="danger" @click="handleDelete(scope.row)">删除</el-button>
        </template>
      </el-table-column>
    </el-table>
    <!-- 页码 -->
    <div>
        <pagination v-show="total>0" :page-sizes="[3,5,7]" :total="total" :page.sync="quere.page" :limit.sync="quere.limit"  @pagination="getData" />
    </div>

      <!-- 弹出的页面内容 -->
      <div>
        <!-- 新增 -->
        <el-dialog :visible.sync="getmessage">
            <el-form :model="ruleForm" label-width="100px" class="demo-ruleForm">
            <el-form-item label="登陆账号" prop="pass">
                <el-input v-model="ruleForm.number"></el-input>
            </el-form-item>
            <el-form-item label="姓名" prop="checkPass">
                <el-input v-model="ruleForm.name"></el-input>
            </el-form-item>
            <el-form-item label="密码" prop="age">
                <el-input v-model="ruleForm.password" type="password"></el-input>
            </el-form-item>
            <el-form-item label="简单说明" prop="checkPass">
                <el-input v-model="ruleForm.desc"></el-input>
            </el-form-item>
            <el-form-item>
                <el-button type="primary" @click="submitForm">提交</el-button>
                <el-button @click="resetForm('ruleForm')">重置</el-button>
            </el-form-item>
            </el-form>
        </el-dialog>
      </div>

      <!-- 弹出的页面内容 -->
      <div>
        <!-- 修改 -->
        <el-dialog :visible.sync="modify">
            <el-form :model="ruleItem" label-width="100px" class="demo-ruleForm">
            <el-form-item label="登陆账号" prop="pass">
                <el-input v-model="ruleItem.number"></el-input>
            </el-form-item>
            <el-form-item label="姓名" prop="checkPass">
                <el-input v-model="ruleItem.name"></el-input>
            </el-form-item>
            <el-form-item label="密码" prop="age">
                <el-input v-model="ruleItem.password" type="password"></el-input>
            </el-form-item>
            <el-form-item label="简单说明" prop="checkPass">
                <el-input v-model="ruleItem.desc"></el-input>
            </el-form-item>
            <el-form-item>
                <el-button type="primary" @click="submitModify(ruleItem)">提交</el-button>
                <el-button @click="resetForm('ruleItem')">重置</el-button>
            </el-form-item>
            </el-form>
        </el-dialog>
      </div>

  </div>
</template>

<script>
import {CustomerList,handleDelete,CustomerAdd,getItem,submitModify,handleStatusChange} from '@/api/charts' 
import Pagination from '@/components/Pagination'

export default {

components:{ Pagination },

  data() {
    return {
      value: '',
      DataList:[],
      total:0,
      quere:{
        page:1,
        limit:3,
        input:'',
      },
       //新增弹框
      getmessage:false,
      ruleForm: {
          number: '',
          name: '',
          password: '',
          desc:''
      },
      //修改弹框
      modify:false,
      ruleItem:{
        number: '',
          name: '',
          password: '',
          desc:''
      }
    }
  },

 created() {
    this.getData()
  },
  methods: {
    //弹框新增
    addto(){
      this.getmessage = true
    },
    //新增
    submitForm() {
        CustomerAdd(this.ruleForm).then((Response) => {
            if(Response.code == 20000){
                this.getmessage = false
                this.getData()
			          this.$notify({ title: '新增', message: '新增成功!', type: 'success', duration: 2000 })
            }
        })
      },
    //状态
    handleStatusChange($event, row){
      console.log($event,row.id)
      handleStatusChange($event,row.id).then((response)=>{
        console.log(response)
        if(response.code == 20000){
            this.getData()
			      this.$notify({ title: '状态', message: '状态修改成功!', type: 'success', duration: 2000 })
        }
      })
    },
    //修改弹框
    handleEdit(row){
      getItem(row.id).then((response)=>{
        if(response.code == 20000){
            this.modify = true
            this.ruleItem = response.data
        }
      })
    },
    //修改数据
    submitModify(){
      console.log(this.ruleItem)
      submitModify(this.ruleItem).then((response)=>{
        console.log(response)
        if(response.code == 20000){
            this.modify = false
            this.getData()
			      this.$notify({ title: '修改', message: '修改成功!', type: 'success', duration: 2000 })
        }
      })
    },
    //删除
    handleDelete(row){
        this.$confirm('你确定要删除该信息, 是否继续?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      }).then(async() => {
        await handleDelete(row.id)
        this.getData()
        this.$message({ type: 'success', message: '删除成功!' })
      }).catch(() => {
        this.$message({ type: 'success', message: '已取消删除' })
      })
    },
    //客服列表
    getData(){
       CustomerList( this.quere).then((response) => {
          this.total = response.data.total
          this.DataList = response.data.data
        })
    }
  }
}
</script>

<?php

namespace App\Repository\Repositories;

use App\Models\Customer;
use App\Repository\RepositoryInterface\Jurisdictionface;
use Symfony\Component\VarDumper\Dumper\DataDumperInterface;

class Jurisdiction implements Jurisdictionface
{

    public function CustomerList($input,$limit,$page)
    {
        $where = [];
        if (!empty($input)){
            $where[] = [
                'name','like',"%$input%"
            ];
        }
        $data = Customer::where($where)->paginate($limit)->toArray();
        return success('查询成功',$data);
    }

    public function CustomerDelete($id)
    {
        $res = Customer::where('id',$id)->delete();
        if (!$res) return fail('删除失败');
        return success('删除成功');
    }

    public function CustomerAdd($data)
    {
        $res = Customer::insert($data);
        if (!$res) return fail('添加失败');
        return success('添加成功');
    }

    public function getItem($id)
    {
        $data = Customer::where('id',$id)->first();
        if (!$data) return fail('查询失败');
        return success('查询成功',$data);
    }

    public function submitModify($data)
    {
        $data = Customer::where('id',$data['id'])->update($data);
        if (!$data) return fail('修改失败');
        return success('修改成功');
    }

    public function handleStatusChange($state,$id)
    {
        if ($state == 1){
            $res = Customer::where('id',$id)->update(['state' => 1]);
            if (!$res) return fail('状态修改失败');
            return success('状态修改成功');
        }else{
            $res = Customer::where('id',$id)->update(['state' => 0]);
            if (!$res) return fail('状态修改失败');
            return success('状态修改成功');
        }
    }
}

图片

      <el-table-column label="头像" >
        <template slot-scope="scope">
            <el-image
                style="width: 100px; height: 100px"
                :src="scope.row.headshot"
                fit="contain">
          </el-image>
          </template>
      </el-table-column>

vue-element-admin是一个基于VueElementUI的开源后台管理系统,它提供了一整套完整的权限管理方案,包括用户管理、角色管理、菜单管理、权限管理等。下面是其权限管理思路和具体实现: 1. 用户管理 用户管理是权限管理的基础,vue-element-admin提供了一套完整的用户管理方案,包括用户的增删改查、用户的状态管理等。用户管理主要有以下几个步骤: (1)用户注册:管理员可以在系统中添加新用户,包括用户名、密码、邮箱等信息。 (2)用户登录:用户可以使用注册时的用户名和密码登录系统。 (3)用户信息管理:管理员可以修改用户的信息,包括用户名、密码、邮箱等信息。 (4)用户状态管理:管理员可以启用或禁用用户账号,禁用后用户将无法登录系统。 2. 角色管理 角色管理是权限管理的核心,通过对不同角色分配不同的权限,可以保证系统的安全性。vue-element-admin提供了一套完整的角色管理方案,包括角色的增删改查、角色的权限管理等。角色管理主要有以下几个步骤: (1)角色注册:管理员可以在系统中添加新角色,包括角色名称、角色描述等信息。 (2)角色权限管理:管理员可以为角色分配不同的权限,包括菜单权限和操作权限。 (3)角色信息管理:管理员可以修改角色的信息,包括角色名称、角色描述等信息。 (4)角色删除:管理员可以删除不再需要的角色。 3. 菜单管理 菜单管理是权限管理的重要组成部分,vue-element-admin提供了一套完整的菜单管理方案,包括菜单的增删改查、菜单的权限管理等。菜单管理主要有以下几个步骤: (1)菜单注册:管理员可以在系统中添加新菜单,包括菜单名称、菜单图标、菜单路径等信息。 (2)菜单权限管理:管理员可以为菜单分配不同的权限,包括菜单的可见性、菜单的操作权限等。 (3)菜单信息管理:管理员可以修改菜单的信息,包括菜单名称、菜单图标、菜单路径等信息。 (4)菜单删除:管理员可以删除不再需要的菜单。 4. 权限管理 权限管理是权限管理的核心,通过对不同角色分配不同的权限,可以保证系统的安全性。vue-element-admin提供了一套完整的权限管理方案,包括权限的增删改查、权限的分配等。权限管理主要有以下几个步骤: (1)权限注册:管理员可以在系统中添加新权限,包括权限名称、权限描述等信息。 (2)权限分配:管理员可以为角色分配不同的权限,包括菜单权限和操作权限。 (3)权限信息管理:管理员可以修改权限的信息,包括权限名称、权限描述等信息。 (4)权限删除:管理员可以删除不再需要的权限。 总结 vue-element-admin的权限管理方案非常完整,涵盖了用户管理、角色管理、菜单管理和权限管理等方面,可以满足大部分应用场景的需求。它的具体实现采用了VueElementUI框架,使用了比较流行的前端权限控制方案,可以为开发者提供参考和借鉴。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值