Convert Figma logo to code with AI

lin-xin logovue-manage-system

Vue3、Element Plus、typescript后台管理系统

18,803
6,018
18,803
137

Top Related Projects

:tada: A magical vue admin https://panjiachen.github.io/vue-element-admin

A admin template based on vue + element-ui. 基于vue + element-ui的后台管理系统基于 vue + element-ui 的后台管理系统

👏vue后台管理框架👏

Vue 2.0 admin management system template based on iView

👨🏻‍💻👩🏻‍💻 Use Ant Design Vue like a Pro! (vue2)

Vuestic Admin is an open-source, ready-to-use admin template suite designed for rapid development, easy maintenance, and high accessibility. Built on Vuestic UI, Vue 3, Vite, Pinia, and Tailwind CSS. Maintained by Epicmax (@epicmaxco).

Quick Overview

Vue-manage-system is a lightweight management system template based on Vue 3 and Element Plus. It provides a clean and modern interface for building admin panels, dashboards, or other management-related web applications. The project aims to simplify the process of creating management systems by offering pre-built components and layouts.

Pros

  • Easy to set up and customize for various management system needs
  • Built with modern technologies (Vue 3, Element Plus, Vite)
  • Responsive design that works well on different screen sizes
  • Includes common features like login, data tables, and charts

Cons

  • Limited documentation, which may make it challenging for beginners
  • Some components and features may require additional customization for specific use cases
  • Relatively small community compared to more established admin templates

Code Examples

  1. Using the base table component:
<template>
    <div>
        <div class="crumbs">
            <el-breadcrumb separator="/">
                <el-breadcrumb-item>
                    <i class="el-icon-lx-cascades"></i> Basic Table
                </el-breadcrumb-item>
            </el-breadcrumb>
        </div>
        <div class="container">
            <div class="handle-box">
                <el-button type="primary" icon="el-icon-delete" class="handle-del mr10" @click="delAllSelection">Batch Delete</el-button>
                <el-select v-model="query.address" placeholder="Address" class="handle-select mr10">
                    <el-option key="1" label="广东省" value="广东省"></el-option>
                    <el-option key="2" label="湖南省" value="湖南省"></el-option>
                </el-select>
                <el-input v-model="query.name" placeholder="用户名" class="handle-input mr10"></el-input>
                <el-button type="primary" icon="el-icon-search" @click="handleSearch">Search</el-button>
            </div>
            <el-table
                :data="tableData"
                border
                class="table"
                ref="multipleTable"
                header-cell-class-name="table-header"
                @selection-change="handleSelectionChange"
            >
                <el-table-column type="selection" width="55" align="center"></el-table-column>
                <el-table-column prop="id" label="ID" width="55" align="center"></el-table-column>
                <el-table-column prop="name" label="用户名"></el-table-column>
                <el-table-column label="账户余额">
                    <template #default="scope">¥{{scope.row.money}}</template>
                </el-table-column>
                <el-table-column label="头像(查看大图)" align="center">
                    <template #default="scope">
                        <el-image
                            class="table-td-thumb"
                            :src="scope.row.thumb"
                            :preview-src-list="[scope.row.thumb]"
                        ></el-image>
                    </template>
                </el-table-column>
                <el-table-column prop="address" label="地址"></el-table-column>
                <el-table-column label="操作" width="180" align="center">
                    <template #default="scope">
                        <el-button
                            type="text"
                            icon="el-icon-edit"
                            @click="handleEdit(scope.$index, scope.row)"
                        >Edit</el-button>
                        <el-button
                            type="text"
                            icon="el-icon-delete"
                            class="red"
                            @click="handleDelete(scope.$index, scope.row)"
                        >Delete</el-button>
                    </template>
                </el-table-column>
            </el-table>
            <div class="pagination">
                <el-pagination
                    background
                    layout="total, prev, pager, next

Competitor Comparisons

:tada: A magical vue admin https://panjiachen.github.io/vue-element-admin

Pros of vue-element-admin

  • More comprehensive and feature-rich, offering a wider range of components and functionalities
  • Better documentation and community support, with detailed guides and examples
  • Includes advanced features like permission control, mock data, and i18n out of the box

Cons of vue-element-admin

  • Steeper learning curve due to its complexity and extensive feature set
  • Potentially heavier and slower performance for simpler projects that don't require all features
  • May require more customization effort to remove unnecessary components for smaller applications

Code Comparison

vue-element-admin:

import permission from './permission'

Vue.use(permission)

// In a component
export default {
  permission: {
    role: ['admin', 'editor']
  }
}

vue-manage-system:

// No built-in permission system
// Custom implementation required

// Example of a simple route guard
router.beforeEach((to, from, next) => {
  if (to.meta.requireAuth && !isAuthenticated()) {
    next('/login')
  } else {
    next()
  }
})

The code comparison shows that vue-element-admin has a more sophisticated built-in permission system, while vue-manage-system requires custom implementation for similar functionality. This reflects the overall difference in complexity and feature richness between the two projects.

A admin template based on vue + element-ui. 基于vue + element-ui的后台管理系统基于 vue + element-ui 的后台管理系统

Pros of vue2-manage

  • More comprehensive and feature-rich, with a wider range of components and functionalities
  • Includes a mock data server for easier testing and development
  • Better documentation and more detailed comments in the code

Cons of vue2-manage

  • Less frequently updated compared to vue-manage-system
  • Slightly more complex setup and configuration process
  • Larger codebase, which may be overwhelming for beginners

Code Comparison

vue2-manage:

import Vue from 'vue'
import App from './App'
import router from './router'
import store from './store/'
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-default/index.css'

vue-manage-system:

import Vue from 'vue'
import App from './App.vue'
import router from './router'
import ElementUI from 'element-ui'
import VueI18n from 'vue-i18n'
import { messages } from './components/common/i18n'

The code comparison shows that vue2-manage includes Vuex store integration, while vue-manage-system incorporates internationalization (i18n) support. Both projects use Element UI for their component library.

👏vue后台管理框架👏

Pros of vue-framework-wz

  • More comprehensive documentation and detailed setup instructions
  • Includes built-in internationalization (i18n) support
  • Offers a wider range of pre-built components and layouts

Cons of vue-framework-wz

  • Less frequent updates and maintenance compared to vue-manage-system
  • Slightly steeper learning curve due to additional features and complexity
  • Larger bundle size, which may impact initial load times

Code Comparison

vue-framework-wz:

import Vue from 'vue'
import VueI18n from 'vue-i18n'
import messages from './lang'

Vue.use(VueI18n)

const i18n = new VueI18n({
  locale: 'en',
  messages
})

vue-manage-system:

import Vue from 'vue'
import App from './App.vue'
import router from './router'
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'

Vue.use(ElementUI)

The code comparison highlights the built-in i18n support in vue-framework-wz, while vue-manage-system focuses on a simpler setup with ElementUI integration. Both repositories offer Vue-based admin templates, but vue-framework-wz provides more features out of the box, while vue-manage-system opts for a lighter, more straightforward approach.

Vue 2.0 admin management system template based on iView

Pros of iview-admin

  • More comprehensive and feature-rich admin template
  • Better documentation and community support
  • Includes advanced components like charts and tables

Cons of iview-admin

  • Steeper learning curve due to its complexity
  • Potentially heavier and slower performance
  • More opinionated structure, which may limit customization

Code Comparison

iview-admin:

<template>
  <div>
    <Table :columns="columns" :data="data"></Table>
    <Page :total="100" show-elevator />
  </div>
</template>

vue-manage-system:

<template>
  <div>
    <el-table :data="tableData" style="width: 100%">
      <el-table-column prop="date" label="Date" width="180"></el-table-column>
    </el-table>
    <el-pagination :total="1000"></el-pagination>
  </div>
</template>

The code snippets show that iview-admin uses its own UI components (Table, Page), while vue-manage-system relies on Element UI components (el-table, el-pagination). This reflects the different approaches of the two projects, with iview-admin providing a more integrated solution and vue-manage-system offering flexibility through popular third-party components.

👨🏻‍💻👩🏻‍💻 Use Ant Design Vue like a Pro! (vue2)

Pros of ant-design-vue-pro

  • More comprehensive and feature-rich, offering a complete enterprise-level solution
  • Better integration with Ant Design Vue, providing a cohesive UI experience
  • Includes advanced features like multi-language support and dynamic theming

Cons of ant-design-vue-pro

  • Steeper learning curve due to its complexity and extensive feature set
  • Potentially overkill for smaller projects or simpler admin interfaces
  • Requires more setup and configuration compared to vue-manage-system

Code Comparison

ant-design-vue-pro:

<template>
  <a-config-provider :locale="locale">
    <div id="app">
      <router-view/>
    </div>
  </a-config-provider>
</template>

vue-manage-system:

<template>
    <div id="app">
        <router-view></router-view>
    </div>
</template>

The code comparison shows that ant-design-vue-pro includes additional configuration for internationalization, while vue-manage-system has a simpler structure. This reflects the difference in complexity and feature set between the two projects.

ant-design-vue-pro is better suited for large-scale enterprise applications requiring advanced features and customization. vue-manage-system is more appropriate for smaller projects or those needing a quick setup with basic admin functionality.

Vuestic Admin is an open-source, ready-to-use admin template suite designed for rapid development, easy maintenance, and high accessibility. Built on Vuestic UI, Vue 3, Vite, Pinia, and Tailwind CSS. Maintained by Epicmax (@epicmaxco).

Pros of Vuestic Admin

  • More comprehensive UI component library with a wider range of pre-built elements
  • Better documentation and examples, making it easier for developers to get started
  • Active community and regular updates, ensuring long-term support and improvements

Cons of Vuestic Admin

  • Steeper learning curve due to its more complex structure and extensive features
  • Potentially heavier and slower performance compared to the lightweight Vue Manage System
  • Less flexibility for customization, as it comes with a more opinionated design system

Code Comparison

Vuestic Admin component usage:

<va-card>
  <va-card-title>Card Title</va-card-title>
  <va-card-content>Card Content</va-card-content>
</va-card>

Vue Manage System component usage:

<el-card class="box-card">
  <div slot="header" class="clearfix">
    <span>Card Title</span>
  </div>
  <div>Card Content</div>
</el-card>

Both projects offer Vue-based admin templates, but Vuestic Admin provides a more feature-rich and polished solution at the cost of complexity, while Vue Manage System offers a simpler, more lightweight approach with greater customization potential.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

vue-manage-system

GitHub release license

基于 Vue3 + pinia + Element Plus 的后台管理系统解决方案。线上演示

Vue2 版本请看 tag-V4.2.0,带后台功能请看 tsrpc-manage-system

文档地址 English document

赞助商

好问

专业问卷服务,一对一客服,按需定制

支持作者

请作者喝杯咖啡吧!(微信号:linxin_20)

微信扫一扫

前言

该方案作为一套多功能的后台框架模板,适用于绝大部分的后台管理系统开发。基于 Vue3 + pinia + typescript,引用 Element Plus 组件库,方便开发。实现逻辑简单,适合外包项目,快速交付。

功能

  • Element Plus
  • vite 3
  • pinia
  • typescript
  • 登录/注册
  • Dashboard
  • 表格/表单
  • 图表 :bar_chart:
  • 富文本/markdown 编辑器
  • 图片拖拽/裁剪上传
  • 权限管理
  • 三级菜单
  • 自定义图标
  • 主题切换

安装步骤

因为使用 vite3,node 版本需要 14.18+

git clone https://github.com/lin-xin/vue-manage-system.git      // 把模板下载到本地
cd vue-manage-system    // 进入模板目录
npm install         // 安装项目依赖,等待安装完成之后,安装失败可用 cnpm 或 yarn

// 运行
npm run dev

// 执行构建命令,生成的dist文件夹放在服务器下即可访问
npm run build

项目截图

首页

Image text

登录

Image text

License

MIT