首页 > 其他分享 >推荐一款快速搭建后台管理系统的开源代码

推荐一款快速搭建后台管理系统的开源代码

时间:2024-01-29 11:13:24浏览次数:31  
标签:vue 管理系统 admin plugin js loader editor 后台 源代码

前言

  公司要求快速搭建两套不同的后台管理系统,在寻找多个demo之后,最终锁定vue-element-admin作为最终方案,网址为:https://panjiachen.gitee.io/vue-element-admin-site/zh/guide/#%E5%8A%9F%E8%83%BD

  

 

 

  因为公司对后台系统没有过多的要求,所以我就选择了最基础的一套(需要fq下载,不能fq的可拉到最下面下载),但是部分页面需要更改的要注意。

 

一、package.json文件需要更改

{
  "name": "vue-element-admin",
  "version": "4.4.0",
  "description": "A magical vue admin. An out-of-box UI solution for enterprise applications. Newest development stack of vue. Lots of awesome features",
  "author": "Pan <[email protected]>",
  "scripts": {
    "dev": "vue-cli-service serve",
    "lint": "eslint --ext .js,.vue src",
    "build:prod": "vue-cli-service build",
    "build:stage": "vue-cli-service build --mode staging",
    "preview": "node build/index.js --preview",
    "new": "plop",
    "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml",
    "test:unit": "jest --clearCache && vue-cli-service test:unit",
    "test:ci": "npm run lint && npm run test:unit"
  },
  "dependencies": {
    "@toast-ui/editor": "^3.2.2",
    "axios": "0.18.1",
    "clipboard": "2.0.4",
    "codemirror": "5.45.0",
    "core-js": "3.6.5",
    "driver.js": "0.9.5",
    "dropzone": "5.5.1",
    "echarts": "4.2.1",
    "element-ui": "2.13.2",
    "file-saver": "2.0.1",
    "fuse.js": "3.4.4",
    "husky": "^1.3.1",
    "js-cookie": "2.2.0",
    "jsonlint": "1.6.3",
    "jszip": "3.2.1",
    "normalize.css": "7.0.0",
    "nprogress": "0.2.0",
    "path-to-regexp": "2.4.0",
    "regenerator-runtime": "^0.14.1",
    "screenfull": "4.2.0",
    "script-loader": "0.7.2",
    "sortablejs": "1.8.4",
    "svg-baker-runtime": "^1.4.7",
    "vue": "2.6.10",
    "vue-count-to": "1.0.13",
    "vue-router": "3.0.2",
    "vue-splitpane": "1.0.4",
    "vue-style-loader": "^4.1.3",
    "vuedraggable": "2.20.0",
    "vuex": "3.1.0",
    "xlsx": "0.14.1"
  },
  "devDependencies": {
    "@babel/core": "^7.23.9",
    "@babel/types": "^7.23.9",
    "@soda/friendly-errors-webpack-plugin": "^1.8.1",
    "@vue/babel-preset-app": "^5.0.8",
    "@vue/cli-plugin-babel": "4.4.4",
    "@vue/cli-plugin-eslint": "4.4.4",
    "@vue/cli-plugin-unit-jest": "4.4.4",
    "@vue/cli-service": "4.4.4",
    "@vue/preload-webpack-plugin": "^2.0.0",
    "@vue/test-utils": "1.0.0-beta.29",
    "array.prototype.reduce": "^1.0.6",
    "async": "^3.2.5",
    "autoprefixer": "9.5.1",
    "babel-eslint": "10.1.0",
    "babel-jest": "23.6.0",
    "babel-loader": "^9.1.3",
    "babel-plugin-dynamic-import-node": "2.3.3",
    "body-parser": "^1.20.2",
    "browserslist": "^4.22.3",
    "cache-loader": "^4.1.0",
    "caniuse-lite": "^1.0.30001580",
    "chalk": "2.4.2",
    "chokidar": "2.1.5",
    "connect": "3.6.6",
    "copy-webpack-plugin": "^12.0.2",
    "core-js": "^3.35.1",
    "css-loader": "^6.9.1",
    "es-abstract": "^1.22.3",
    "eslint": "6.7.2",
    "eslint-loader": "^4.0.2",
    "eslint-plugin-vue": "6.2.2",
    "file-loader": "^6.2.0",
    "gensync": "^1.0.0-beta.2",
    "html-webpack-plugin": "3.2.0",
    "husky": "1.3.1",
    "is-core-module": "^2.13.1",
    "lint-staged": "8.1.5",
    "lodash": "^4.17.21",
    "mockjs": "1.0.1-beta3",
    "plop": "2.3.0",
    "portfinder": "^1.0.32",
    "postcss-loader": "^8.0.0",
    "pretty-error": "^4.0.0",
    "runjs": "4.3.2",
    "sass": "1.26.2",
    "sass-loader": "8.0.2",
    "script-ext-html-webpack-plugin": "2.1.3",
    "semver": "^7.5.4",
    "serve-static": "1.13.2",
    "svg-sprite-loader": "4.1.3",
    "svgo": "1.2.0",
    "url-loader": "^4.1.1",
    "util-promisifyall": "^1.0.6",
    "util.promisify": "^1.1.2",
    "vue-loader": "^15.11.1",
    "vue-template-compiler": "2.6.10",
    "webpack": "^4.46.0",
    "webpack-dev-server": "^4.15.1",
    "webpack-merge": "^5.10.0"
  },
  "browserslist": [
    "> 1%",
    "last 2 versions"
  ],
  "bugs": {
    "url": "https://github.com/PanJiaChen/vue-element-admin/issues"
  },
  "engines": {
    "node": ">=8.9",
    "npm": ">= 3.0.0"
  },
  "keywords": [
    "vue",
    "admin",
    "dashboard",
    "element-ui",
    "boilerplate",
    "admin-template",
    "management-system"
  ],
  "license": "MIT",
  "lint-staged": {
    "src/**/*.{js,vue}": [
      "eslint --fix",
      "git add"
    ]
  },
  "husky": {
    "hooks": {
      "pre-commit": "lint-staged"
    }
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/PanJiaChen/vue-element-admin.git"
  }
}

  

二、组件MarkdownEditor的富文本配置的toast-ui需要更改为@toast-ui

<template>
  <div :id="id" />
</template>

<script>
import 'codemirror/lib/codemirror.css'
import '@toast-ui/editor/dist/toastui-editor.css'
import Editor from '@toast-ui/editor'
import defaultOptions from './default-options'

export default {
  name: 'MarkdownEditor',
  props: {
    value: {
      type: String,
      default: ''
    },
    id: {
      type: String,
      required: false,
      default() {
        return 'markdown-editor-' + +new Date() + ((Math.random() * 1000).toFixed(0) + '')
      }
    },
    options: {
      type: Object,
      default() {
        return defaultOptions
      }
    },
    mode: {
      type: String,
      default: 'markdown'
    },
    height: {
      type: String,
      required: false,
      default: '300px'
    },
    language: {
      type: String,
      required: false,
      default: 'en_US' // https://github.com/nhnent/tui.editor/tree/master/src/js/langs
    }
  },
  data() {
    return {
      editor: null
    }
  },
  computed: {
    editorOptions() {
      const options = Object.assign({}, defaultOptions, this.options)
      options.initialEditType = this.mode
      options.height = this.height
      options.language = this.language
      return options
    }
  },
  watch: {
    value(newValue, preValue) {
      if (newValue !== preValue && newValue !== this.editor.getMarkdown()) {
        this.editor.setMarkdown(newValue)
      }
    },
    language(val) {
      this.destroyEditor()
      this.initEditor()
    },
    height(newValue) {
      this.editor.height(newValue)
    },
    mode(newValue) {
      this.editor.changeMode(newValue)
    }
  },
  mounted() {
    this.initEditor()
  },
  destroyed() {
    this.destroyEditor()
  },
  methods: {
    initEditor() {
      this.editor = new Editor({
        el: document.getElementById(this.id),
        ...this.editorOptions
      })
      if (this.value) {
        this.editor.setMarkdown(this.value)
      }
      this.editor.on('change', () => {
        this.$emit('input', this.editor.getMarkdown())
      })
    },
    destroyEditor() {
      if (!this.editor) return
      this.editor.off('change')
      this.editor.remove()
    },
    setMarkdown(value) {
      this.editor.setMarkdown(value)
    },
    getMarkdown() {
      return this.editor.getMarkdown()
    },
    setHtml(value) {
      this.editor.setHtml(value)
    },
    getHtml() {
      return this.editor.getHtml()
    }
  }
}
</script>

 

最后启动即可,源码我放在了 https://github.com/zengxudong-bit/vue-element-admin.git

标签:vue,管理系统,admin,plugin,js,loader,editor,后台,源代码
From: https://www.cnblogs.com/zxd66666/p/17994075

相关文章

  • 隧道人员安全管理系统中隧道人员定位设备
    探索隧道人员定位设备:保障安全的隐形守护者【云南恩田智能】在现代隧道工程中,人员安全管理至关重要。为了确保施工人员的安全和提高工作效率,隧道人员定位设备应运而生。这些先进的技术装备犹如隐形的守护者,为隧道中的每一个人提供了坚实的保障。隧道人员定位设备采用了先进的定位......
  • ABP-VNext 用户权限管理系统实战03---动态api调用并传递token
    一、使用动态api的目的ABP可以自动创建C#API客户端代理来调用远程HTTP服务(RESTAPIS).通过这种方式,你不需要通过 HttpClient 或者其他低级的HTTP功能调用远程服务并获取数据.现在有两个服务:BackgroundJob服务要调用IdentityManagement服务,并在调用时传递token二、集成步......
  • 从技术开始-新建项目管理系统(3)
    接下来进行系统设计。   首先系统内需要很多审批流程:立项审批、招投标审批、合同审批。这本是OA的活。在项目管理系统中实现也不是问题,无非是开发点功能,现在市面上项目管理系统就是这样的。但是你想过领导的感受吗?都这么做,他得登录多个系统,按个审批。   项目立项需要专......
  • 卡号管理系统
    #include<iostream>#include<fstream>usingnamespacestd;classcard{//属性public:stringname;intid;stringclassroom;stringphone;floatmoney;floatconsumption1;stringc......
  • iMessage群发软件开发源代码段分享
    随着科技的飞速发展,人们对于信息传递的需求越来越高,而iMessage作为苹果公司推出的即时通讯工具,因其便捷、安全和高效而备受用户喜爱。然而,对于一些开发者和企业来说,如何实现iMessage群发功能成为了他们面临的一大难题,为此,本文将分享一些iMessage群发软件开发的源代码段,帮助大家快速......
  • 基于Java和Vue开发的企业Ehr数智化人力管理系统源码+配套文档(提升人力资源管理效率的
    写在前面:随着企业规模的不断扩大和人力资源管理的日益复杂,传统的人力资源管理方式已经无法满足现代企业的需求。为了提高管理效率、优化资源配置、降低人力成本,越来越多的企业开始引入eHR人力资源管理系统。本文将重点介绍eHR系统在招聘管理、人事管理、考勤管理、绩效管理、社保......
  • 使用Visual Studio调试微软源代码
    思维导航前言VisualStudio更多实用技巧取消选中启用仅我的代码选中启用源链接支持选中启用符号服务器启用在模块加载时取消JIT优化(仅限托管)[可选]启用VisualStudio调试源码DotNetGuide技术社区交流群前言在我们日常开发过程中常常会使用到很多其他封装好的第......
  • 基于Java+Vue开发的企业Ehr数智化人力管理系统源码+配套文档(提升人力资源管理效率的利
    写在前面:随着企业规模的不断扩大和人力资源管理的日益复杂,传统的人力资源管理方式已经无法满足现代企业的需求。为了提高管理效率、优化资源配置、降低人力成本,越来越多的企业开始引入eHR人力资源管理系统。本文将重点介绍eHR系统在招聘管理、人事管理、考勤管理、绩效管理、社保......
  • 储迹附网存储助力河海大学(江苏省信创实验室)信创课程综合管理系统
    河海大学是一所拥有百余年办学历史,以水利为特色,工科为主,多学科协调发展的教育部直属全国重点大学,是实施国家“211工程”重点建设、国家优势学科创新平台建设、“双一流”建设以及教育部批准设立研究生院的高校。一百多年来,学校在治水兴邦的奋斗历程中发展壮大,被誉为“水利高层次创......
  • 使用Visual Studio调试 .NET源代码
    前言在我们日常开发过程中常常会使用到很多其他封装好的第三方类库(NuGet依赖项)或者是.NET框架中自带的库。如果可以设置断点并在NuGet依赖项或框架本身上使用调试器的所有功能,那么我们的源码调试体验和生产效率会得到大大的提升。今天我们就一起来学习一下如何使用VisualStudio......