Skip to content

Latest commit

 

History

History
310 lines (257 loc) · 8.85 KB

README_EN.md

File metadata and controls

310 lines (257 loc) · 8.85 KB

manage-system

The web management system solution based on Vue2 and Element-UI。live demo

Preface

The scheme as a set of multi-function background frame templates, suitable for most of the WEB management system development. Convenient development fast simple good components based on Vue2 and Element-UI. Color separation of color style, support manual switch themes, and it is convenient to use a custom theme color.

Function

  • Element-UI
  • Login/Logout
  • Table
  • From
  • Chart 📊
  • Editor
  • Markdown
  • Upload pictures by clipping or dragging
  • Support manual switch themes ✨
  • List drag sort

Directory structure

|-- build                            // Webpack configuration file
|-- config                           // Project package path
|-- src                              // Source directory
|   |-- components                   // Components
|       |-- common                   // Common component
|           |-- Header.vue           // Header component
|           |-- Home.vue           	 // Home component
|           |-- Sidebar.vue          // Sidebar component
|		|-- page                   	 // Router page
|           |-- BaseCharts.vue       // BaseCharts
|           |-- BaseForm.vue         // BaseForm
|           |-- BaseTable.vue        // BaseTable
|           |-- Login.vue          	 // Login
|           |-- Markdown.vue         // Markdown
|           |-- MixCharts.vue        // MixCharts
|           |-- Readme.vue           // Readme
|           |-- Upload.vue           // Upload
|           |-- VueEditor.vue        // VueEditor
|           |-- VueTable.vue         // VueTable
|   |-- App.vue                      // Main component
|   |-- main.js                      // Entry file
|-- .babelrc                         // ES6 syntax compiler configuration
|-- .editorconfig                    // Code specification
|-- .gitignore                       // Ignored file
|-- index.html                       // Entry HTML file
|-- package.json                     // Dependent configuration file
|-- README.md                        // Readme

Installation steps

git clone https://github.com/lin-xin/manage-system.git		// Clone templates
cd manage-system											// Enter template directory
npm install													// Installation dependency

Local development

// Open server and access http://localhost:8080 in browser
npm run dev

Constructing production

// Constructing project
npm run build

Component description and presentation

element-ui

A desktop component library based on vue.js2.0 . Github : element

vue-datasource

A Vue.js server side component to create dynamic tables. Github : vue-datasource

<template>
	<div>
		<datasource language="en" :table-data="information.data"
	        :columns="columns"
	        :pagination="information.pagination"
	        :actions="actions"
	        v-on:change="changePage"
	        v-on:searching="onSearch"></datasource>
	</div>
</template>

<script>
	import Datasource from 'vue-datasource';        // import Datasource component
    export default {
        data: function(){
            return {
                information: {
	                pagination: {...},              // pagination config
	                data: [...]
	            },
	            columns: [...],                     // col config
	            actions: [...]                      // function config
            }
        },
        components: {
            Datasource										
        },
	    methods: {
	        changePage(values) {...},
	        onSearch(searchQuery) {...}
	    }
	}
</script>

Vue-Quill-Editor

Quill editor component for Vue2. Github : vue-quill-editor

<template>
	<div>
		<quill-editor ref="myTextEditor" v-model="content" :config="editorOption"></quill-editor>
	</div>
</template>

<script>
	import { quillEditor } from 'vue-quill-editor';     // import quillEditor component
    export default {
        data: function(){
            return {
                content: '',								
                editorOption: {								
                    // something config
                }
            }
        },
        components: {
            quillEditor										
        }
	}
</script>

Vue-SimpleMDE

Markdown Editor component for Vue.js. Github : Vue-SimpleMDE

<template>
    <div>
        <markdown-editor v-model="content" :configs="configs" ref="markdownEditor"></markdown-editor>
    </div>
</template>

<script>
    import { markdownEditor } from 'vue-simplemde';			
    export default {
        data: function(){
            return {
                content:'',									
                configs: {									
                    status: false,							
                    initialValue: 'Hello BBK',				
                    renderingConfig: {
                        codeSyntaxHighlighting: true,		
                        highlightingTheme: 'atom-one-light' 
                    }
                }
            }
        },
        components: {
            markdownEditor									
        }
    }
</script>

Vue-Core-Image-Upload

a vue plugin for image upload and crop. Github : Vue-Core-Image-Upload

<template>
    <div>
		<img :src="src">									
        <vue-core-image-upload :class="['pure-button','pure-button-primary','js-btn-crop']"
           :crop="true"										
           text="上传图片"
           url=""											
           extensions="png,gif,jpeg,jpg"					
           @:imageuploaded="imageuploaded">					
		</vue-core-image-upload>
    </div>
</template>

<script>
    import VueCoreImageUpload  from 'vue-core-image-upload';	
    export default {
        data: function(){
            return {
                src:'../img/1.jpg'							
            }
        },
        components: {
            VueCoreImageUpload								
        },
        methods:{
            imageuploaded(res) {							
                console.log(res)
            }
        }
    }
</script>

vue-schart

Vue.js wrapper for sChart.js. Github : vue-schart

<template>
    <div>
        <schart :canvasId="canvasId"
				:type="type"
				:width="width"
				:height="height"
				:data="data"
				:options="options"
		></schart>
    </div>
</template>
	
<script>
    import Schart from 'vue-schart';
    export default {
        data: function(){
            return {
                canvasId: 'myCanvas',
                type: 'bar',
                width: 500,
                height: 400,
                data: [
                    {name: '2014', value: 1342},
                    {name: '2015', value: 2123},
                    {name: '2016', value: 1654},
                    {name: '2017', value: 1795},
                ],
                options: {
                    title: 'Total sales of stores in recent years'
                }
            }
        },
        components: {
            Schart
        }
    }
</script>

Notice

一、If I don't want to use some components, how can I delete it?

For example, I don't want to use the vue-datasource component, I need to take four steps.

The first step to remove the component of the routing. Enter 'src/router/index.js' and delete the code below.

{
    path: '/vuetable',
    component: resolve => require(['../components/page/VueTable.vue'], resolve)
},

Second,delete the component files. Enter 'src/components/page/' and delete 'VueTable.vue' file.

The third step is to delete the entry. Enter 'src/components/common/Sidebar.vue' and delete the code below.

<el-menu-item index="vuetable">Vue表格组件</el-menu-item>

Finally, uninstall this component.

npm un vue-datasource -S

Complete!

二、How to switch themes?

The first step to enter 'src/main.js' and change into green theme.

import 'element-ui/lib/theme-default/index.css';    // default theme
// import '../static/css/theme-green/index.css';       // green theme

The second step to enter 'src/App.vue' and change into green theme.

@import "../static/css/main.css";
@import "../static/css/color-dark.css";     /*深色主题*/
/*@import "../static/css/theme-green/color-green.css";   !*浅绿色主题*!*/

Finally,enter 'src/components/common/Sidebar.vue' and find el-menu Tags,delete 'theme="dark"'。

Screenshot

Default theme

Image text

Green theme

Image text