Convert Figma logo to code with AI

newbee-ltd logovue3-admin

🔥 🎉Vue 3 + Vite 2 + Vue-Router 4 + Element-Plus + Echarts 5 + Axios 开发的后台管理系统

3,247
805
3,247
2

Top Related Projects

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

🎉 vue admin,vue3 admin,vue3.0 admin,vue后台管理,vue-admin,vue3.0-admin,admin,vue-admin,vue-element-admin,ant-design,vab admin pro,vab admin plus,vue admin plus,vue admin pro

A modern vue admin panel built with Vue3, Shadcn UI, Vite, TypeScript, and Monorepo. It's fast!

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

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

Naive Ui Admin 是一款基于 Vue3、Vite3 和 TypeScript 的先进中后台解决方案,集成了前沿的前端技术栈和典型业务模型。它拥有二次封装组件、动态菜单、权限校验、粒子化权限控制等核心功能,旨在帮助企业快速构建高质量的中后台项目。无论在新技术运用或业务实践层面,都能为您提供有力支持,并将持续更新,以满足您不断变化的需求

Quick Overview

Vue3-admin is a modern, open-source admin dashboard template built with Vue 3, TypeScript, and Vite. It provides a clean and responsive user interface for building administrative panels, featuring a variety of pre-built components and layouts.

Pros

  • Built with Vue 3 and TypeScript, offering improved performance and type safety
  • Uses Vite as the build tool, resulting in faster development and build times
  • Includes a wide range of pre-built components and layouts for rapid development
  • Responsive design that works well on desktop and mobile devices

Cons

  • Limited documentation, which may make it challenging for beginners to get started
  • Fewer third-party integrations compared to some more established admin templates
  • May require additional customization for specific use cases or complex applications

Code Examples

  1. Using the Table component:
<template>
  <el-table :data="tableData" style="width: 100%">
    <el-table-column prop="date" label="Date" width="180" />
    <el-table-column prop="name" label="Name" width="180" />
    <el-table-column prop="address" label="Address" />
  </el-table>
</template>

<script setup lang="ts">
const tableData = [
  {
    date: '2023-05-03',
    name: 'John Doe',
    address: '123 Main St, City, Country'
  },
  // ... more data
]
</script>
  1. Implementing a form with validation:
<template>
  <el-form :model="form" :rules="rules" ref="formRef">
    <el-form-item label="Name" prop="name">
      <el-input v-model="form.name"></el-input>
    </el-form-item>
    <el-form-item label="Email" prop="email">
      <el-input v-model="form.email"></el-input>
    </el-form-item>
    <el-form-item>
      <el-button type="primary" @click="submitForm">Submit</el-button>
    </el-form-item>
  </el-form>
</template>

<script setup lang="ts">
import { reactive, ref } from 'vue'
import type { FormInstance, FormRules } from 'element-plus'

const formRef = ref<FormInstance>()
const form = reactive({
  name: '',
  email: ''
})

const rules: FormRules = {
  name: [{ required: true, message: 'Please input name', trigger: 'blur' }],
  email: [{ required: true, type: 'email', message: 'Please input valid email', trigger: 'blur' }]
}

const submitForm = async () => {
  if (!formRef.value) return
  await formRef.value.validate((valid, fields) => {
    if (valid) {
      console.log('Submit:', form)
    } else {
      console.log('Error submit:', fields)
    }
  })
}
</script>
  1. Creating a custom chart using ECharts:
<template>
  <div ref="chartRef" style="width: 100%; height: 400px;"></div>
</template>

<script setup lang="ts">
import { ref, onMounted } from 'vue'
import * as echarts from 'echarts'

const chartRef = ref<HTMLElement>()

onMounted(() => {
  if (chartRef.value) {
    const chart = echarts.init(chartRef.value)
    chart.setOption({
      title: { text: 'Sample Chart' },
      xAxis: { type: 'category', data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] },
      yAxis: { type: 'value' },
      series: [{ data: [120, 200, 150, 80, 70, 110, 130], type: 'bar' }]
    })
  }
})
</script

Competitor Comparisons

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

Pros of vue-element-admin

  • More mature and widely adopted project with a larger community
  • Extensive documentation and examples available
  • Comprehensive set of pre-built components and features

Cons of vue-element-admin

  • Based on Vue 2, which may become outdated as Vue 3 gains popularity
  • Steeper learning curve due to its extensive feature set
  • Potentially heavier and more complex for simpler projects

Code Comparison

vue-element-admin (Vue 2):

import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'

Vue.config.productionTip = false

new Vue({
  router,
  store,
  render: h => h(App)
}).$mount('#app')

vue3-admin (Vue 3):

import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'

createApp(App).use(router).use(store).mount('#app')

The main difference in the code snippets is the use of Vue 3's composition API in vue3-admin, which provides a more concise way to create and configure the Vue application. vue-element-admin uses the Vue 2 syntax, which is more verbose but still widely used and supported.

🎉 vue admin,vue3 admin,vue3.0 admin,vue后台管理,vue-admin,vue3.0-admin,admin,vue-admin,vue-element-admin,ant-design,vab admin pro,vab admin plus,vue admin plus,vue admin pro

Pros of vue-admin-better

  • More comprehensive documentation and examples
  • Wider range of pre-built components and layouts
  • Active community support and regular updates

Cons of vue-admin-better

  • Steeper learning curve due to more complex architecture
  • Potentially heavier bundle size with additional features
  • May require more configuration for simpler projects

Code Comparison

vue-admin-better:

<template>
  <vab-layout>
    <vab-sidebar />
    <vab-main>
      <router-view />
    </vab-main>
  </vab-layout>
</template>

vue3-admin:

<template>
  <el-container>
    <el-aside>
      <sidebar />
    </el-aside>
    <el-main>
      <router-view />
    </el-main>
  </el-container>
</template>

The code comparison shows that vue-admin-better uses custom components for layout structure, while vue3-admin relies more on Element Plus components. This reflects vue-admin-better's more customized approach, which can offer greater flexibility but may require more familiarity with the project's specific components.

Both projects provide solid foundations for building Vue.js admin interfaces, with vue-admin-better offering more features and customization options at the cost of increased complexity, while vue3-admin provides a simpler, more straightforward approach that may be easier for beginners to grasp and implement quickly.

A modern vue admin panel built with Vue3, Shadcn UI, Vite, TypeScript, and Monorepo. It's fast!

Pros of vue-vben-admin

  • More comprehensive and feature-rich, offering a wider range of components and utilities
  • Better TypeScript support and integration
  • More active development and frequent updates

Cons of vue-vben-admin

  • Steeper learning curve due to its complexity and extensive features
  • Potentially heavier and more resource-intensive for smaller projects
  • May require more configuration and customization for specific use cases

Code Comparison

vue-vben-admin:

import { defineComponent } from 'vue';
import { BasicForm, useForm } from '/@/components/Form';
import { BasicTable, useTable } from '/@/components/Table';
import { getBasicColumns, getFormConfig } from './tableData';

export default defineComponent({
  // ... component logic
});

vue3-admin:

<template>
  <div class="table-container">
    <el-table :data="tableData" style="width: 100%">
      <el-table-column prop="date" label="Date" width="180" />
      <el-table-column prop="name" label="Name" width="180" />
      <el-table-column prop="address" label="Address" />
    </el-table>
  </div>
</template>

<script>
// ... component logic
</script>

The code comparison shows that vue-vben-admin uses more advanced TypeScript features and custom components, while vue3-admin relies on simpler Vue 3 template syntax and Element Plus components. vue-vben-admin's approach offers more flexibility and type safety, but may require more setup and understanding of the framework.

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

Pros of vue-manage-system

  • More comprehensive documentation, including detailed setup instructions and feature explanations
  • Wider range of UI components and layouts, offering greater flexibility for developers
  • Active community support with regular updates and issue resolutions

Cons of vue-manage-system

  • Uses Vue 2, which may be considered outdated compared to Vue 3 used in vue3-admin
  • Larger bundle size due to inclusion of more features and dependencies
  • Steeper learning curve for beginners due to its extensive feature set

Code Comparison

vue-manage-system (Vue 2):

import Vue from 'vue';
import App from './App.vue';
import router from './router';
import store from './store';

Vue.config.productionTip = false;

new Vue({
  router,
  store,
  render: h => h(App)
}).$mount('#app');

vue3-admin (Vue 3):

import { createApp } from 'vue';
import App from './App.vue';
import router from './router';
import store from './store';

const app = createApp(App);
app.use(router);
app.use(store);
app.mount('#app');

The main difference in the code snippets is the setup process, reflecting the transition from Vue 2 to Vue 3. vue3-admin uses the new createApp function, while vue-manage-system uses the Vue 2 constructor.

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

Pros of vue2-manage

  • Built with Vue 2, which has a larger ecosystem and more established best practices
  • Includes a wider range of pre-built components and features
  • More comprehensive documentation and examples

Cons of vue2-manage

  • Uses older Vue 2 syntax, which may become outdated as Vue 3 gains adoption
  • Less performant compared to Vue 3's improved reactivity system
  • May lack some of the newer features and improvements introduced in Vue 3

Code Comparison

vue2-manage (Vue 2 syntax):

export default {
  data() {
    return {
      message: 'Hello Vue 2'
    }
  },
  methods: {
    greet() {
      console.log(this.message)
    }
  }
}

vue3-admin (Vue 3 Composition API):

import { ref } from 'vue'

export default {
  setup() {
    const message = ref('Hello Vue 3')
    const greet = () => {
      console.log(message.value)
    }
    return { message, greet }
  }
}

The main difference in the code examples is the use of the Composition API in vue3-admin, which offers a more flexible and reusable approach to organizing component logic compared to the Options API used in vue2-manage.

Naive Ui Admin 是一款基于 Vue3、Vite3 和 TypeScript 的先进中后台解决方案,集成了前沿的前端技术栈和典型业务模型。它拥有二次封装组件、动态菜单、权限校验、粒子化权限控制等核心功能,旨在帮助企业快速构建高质量的中后台项目。无论在新技术运用或业务实践层面,都能为您提供有力支持,并将持续更新,以满足您不断变化的需求

Pros of naive-ui-admin

  • Uses Naive UI, a Vue 3 component library with a modern design and extensive customization options
  • Implements a more comprehensive role-based access control system
  • Offers a wider range of pre-built components and layouts

Cons of naive-ui-admin

  • Less focused on e-commerce specific features compared to vue3-admin
  • May have a steeper learning curve due to its more complex architecture
  • Smaller community and potentially less frequent updates

Code Comparison

naive-ui-admin uses the Naive UI component library:

<template>
  <n-button type="primary" @click="handleClick">
    Click me
  </n-button>
</template>

vue3-admin uses Element Plus components:

<template>
  <el-button type="primary" @click="handleClick">
    Click me
  </el-button>
</template>

Both projects use Vue 3 and TypeScript, but naive-ui-admin tends to have more complex component structures and state management implementations. vue3-admin focuses more on simplicity and ease of use for e-commerce applications, while naive-ui-admin provides a more general-purpose admin template with advanced features and customization options.

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

vue3-admin

Vue3 + Vite + Vue-Router + Element-Plus + Echarts + Axios 后台管理系统。

vue3-admin-summary

Build Status Version 3.0.0 License

newbee-mall 项目是一套电商系统,基于 Spring Boot 和 Vue 以及相关技术栈开发。 前台商城系统包含首页门户、商品分类、新品上线、首页轮播、商品推荐、商品搜索、商品展示、购物车、订单结算、订单流程、个人订单管理、会员中心、帮助中心等模块。 后台管理系统包含数据面板、轮播图管理、商品管理、订单管理、会员管理、分类管理、设置等模块。

vue3-admin 版本线上预览地址:http://vue3-admin.newbee.ltd,测试账号密码:admin 123456

newbee-mall (新蜂商城)系列项目概览

newbee-mall-course-2023

项目名称仓库地址备注
newbee-mallnewbee-mall in GitHub
newbee-mall in Gitee
初始版本、Spring Boot、Thymeleaf、MyBatis、MySQL
newbee-mall-plusnewbee-mall-plus in GitHub
newbee-mall-plus in Gitee
升级版本、优惠券、秒杀、支付、Spring Boot、Thymeleaf、MyBatis、MySQL、Redis
newbee-mall-cloudnewbee-mall-cloud in GitHub
newbee-mall-cloud in Gitee
微服务版本、分布式事务、Spring Cloud Alibaba、Nacos、Sentinel、OpenFeign、Seata
newbee-mall-apinewbee-mall-api in GitHub
newbee-mall-api in Gitee
前后端分离、Spring Boot、MyBatis、Swagger、MySQL
newbee-mall-api-gonewbee-mall-api-go in GitHub
newbee-mall-api-go in Gitee
前后端分离、Go、Gin、MySQL
newbee-mall-vue-appnewbee-mall-vue-app in GitHub
newbee-mall-vue-app in Gitee
前后端分离、Vue2、Vant
newbee-mall-vue3-appnewbee-mall-vue3-app in GitHub
newbee-mall-vue3-app in Gitee
前后端分离、Vue3、Vue-Router4、Pinia、Vant4
vue3-adminvue3-admin in GitHub
vue3-admin in Gitee
前后端分离、Vue3、Element-Plus、Vue-Router4、Vite

坚持不易,如果觉得项目还不错的话可以给项目一个 Star 吧,也是对我一直更新代码的一种鼓励啦,谢谢各位的支持。

开发及部署文档

联系作者

大家有任何问题或者建议都可以在 issues 中反馈给我,我会慢慢完善这个项目。

  • 我的邮箱:2449207463@qq.com
  • QQ技术交流群:707779034 932227898 552142710

关注公众号:程序员十三,回复"勾搭"进群交流。

wx-gzh

软件著作权

本系统已申请软件著作权,受国家版权局知识产权以及国家计算机软件著作权保护!

页面展示

以下为 vue3-admin 系统的部分页面预览图:

preview

感谢

捐助

全部捐赠,将用于后续的开源项目和服务器的开销

支付宝微信支付QQ钱åŒ