初始化
This commit is contained in:
18
.babelrc
Normal file
18
.babelrc
Normal file
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"presets": [
|
||||
["env", {
|
||||
"modules": false,
|
||||
"targets": {
|
||||
"browsers": ["> 1%", "last 2 versions", "not ie <= 8"]
|
||||
}
|
||||
}],
|
||||
"stage-2"
|
||||
],
|
||||
"plugins": ["transform-vue-jsx", "transform-runtime"],
|
||||
"env": {
|
||||
"test": {
|
||||
"presets": ["env", "stage-2"],
|
||||
"plugins": ["transform-vue-jsx", "transform-es2015-modules-commonjs", "dynamic-import-node"]
|
||||
}
|
||||
}
|
||||
}
|
||||
9
.editorconfig
Normal file
9
.editorconfig
Normal file
@@ -0,0 +1,9 @@
|
||||
root = true
|
||||
|
||||
[*]
|
||||
charset = utf-8
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
end_of_line = lf
|
||||
insert_final_newline = true
|
||||
trim_trailing_whitespace = true
|
||||
5
.eslintignore
Normal file
5
.eslintignore
Normal file
@@ -0,0 +1,5 @@
|
||||
/build/
|
||||
/config/
|
||||
/dist/
|
||||
/*.js
|
||||
/test/unit/coverage/
|
||||
29
.eslintrc.js
Normal file
29
.eslintrc.js
Normal file
@@ -0,0 +1,29 @@
|
||||
// https://eslint.org/docs/user-guide/configuring
|
||||
|
||||
module.exports = {
|
||||
root: true,
|
||||
parserOptions: {
|
||||
parser: 'babel-eslint'
|
||||
},
|
||||
env: {
|
||||
browser: true,
|
||||
},
|
||||
extends: [
|
||||
// https://github.com/vuejs/eslint-plugin-vue#priority-a-essential-error-prevention
|
||||
// consider switching to `plugin:vue/strongly-recommended` or `plugin:vue/recommended` for stricter rules.
|
||||
'plugin:vue/essential',
|
||||
// https://github.com/standard/standard/blob/master/docs/RULES-en.md
|
||||
'standard'
|
||||
],
|
||||
// required to lint *.vue files
|
||||
plugins: [
|
||||
'vue'
|
||||
],
|
||||
// add your custom rules here
|
||||
rules: {
|
||||
// allow async-await
|
||||
'generator-star-spacing': 'off',
|
||||
// allow debugger during development
|
||||
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off'
|
||||
}
|
||||
}
|
||||
59
.gitignore
vendored
Normal file
59
.gitignore
vendored
Normal file
@@ -0,0 +1,59 @@
|
||||
# Logs
|
||||
logs
|
||||
*.log
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
|
||||
# Runtime data
|
||||
pids
|
||||
*.pid
|
||||
*.seed
|
||||
*.pid.lock
|
||||
|
||||
# Directory for instrumented libs generated by jscoverage/JSCover
|
||||
lib-cov
|
||||
|
||||
# Coverage directory used by tools like istanbul
|
||||
coverage
|
||||
|
||||
# nyc test coverage
|
||||
.nyc_output
|
||||
|
||||
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
|
||||
.grunt
|
||||
|
||||
# Bower dependency directory (https://bower.io/)
|
||||
bower_components
|
||||
|
||||
# node-waf configuration
|
||||
.lock-wscript
|
||||
|
||||
# Compiled binary addons (https://nodejs.org/api/addons.html)
|
||||
build/Release
|
||||
|
||||
# Dependency directories
|
||||
node_modules/
|
||||
jspm_packages/
|
||||
|
||||
# Typescript v1 declaration files
|
||||
typings/
|
||||
|
||||
# Optional npm cache directory
|
||||
.npm
|
||||
|
||||
# Optional eslint cache
|
||||
.eslintcache
|
||||
|
||||
# Optional REPL history
|
||||
.node_repl_history
|
||||
|
||||
# Output of 'npm pack'
|
||||
*.tgz
|
||||
|
||||
# Yarn Integrity file
|
||||
.yarn-integrity
|
||||
|
||||
# dotenv environment variables file
|
||||
.env
|
||||
|
||||
74
.idea/codeStyles/Project.xml
generated
Normal file
74
.idea/codeStyles/Project.xml
generated
Normal file
@@ -0,0 +1,74 @@
|
||||
<component name="ProjectCodeStyleConfiguration">
|
||||
<code_scheme name="Project" version="173">
|
||||
<DBN-PSQL>
|
||||
<case-options enabled="false">
|
||||
<option name="KEYWORD_CASE" value="lower" />
|
||||
<option name="FUNCTION_CASE" value="lower" />
|
||||
<option name="PARAMETER_CASE" value="lower" />
|
||||
<option name="DATATYPE_CASE" value="lower" />
|
||||
<option name="OBJECT_CASE" value="preserve" />
|
||||
</case-options>
|
||||
<formatting-settings enabled="false" />
|
||||
</DBN-PSQL>
|
||||
<DBN-SQL>
|
||||
<case-options enabled="false">
|
||||
<option name="KEYWORD_CASE" value="lower" />
|
||||
<option name="FUNCTION_CASE" value="lower" />
|
||||
<option name="PARAMETER_CASE" value="lower" />
|
||||
<option name="DATATYPE_CASE" value="lower" />
|
||||
<option name="OBJECT_CASE" value="preserve" />
|
||||
</case-options>
|
||||
<formatting-settings enabled="false">
|
||||
<option name="STATEMENT_SPACING" value="one_line" />
|
||||
<option name="CLAUSE_CHOP_DOWN" value="chop_down_if_statement_long" />
|
||||
<option name="ITERATION_ELEMENTS_WRAPPING" value="chop_down_if_not_single" />
|
||||
</formatting-settings>
|
||||
</DBN-SQL>
|
||||
<JSCodeStyleSettings version="0">
|
||||
<option name="USE_SEMICOLON_AFTER_STATEMENT" value="false" />
|
||||
<option name="FORCE_SEMICOLON_STYLE" value="true" />
|
||||
<option name="SPACE_BEFORE_GENERATOR_MULT" value="true" />
|
||||
<option name="USE_DOUBLE_QUOTES" value="false" />
|
||||
<option name="FORCE_QUOTE_STYlE" value="true" />
|
||||
</JSCodeStyleSettings>
|
||||
<MarkdownNavigatorCodeStyleSettings>
|
||||
<option name="RIGHT_MARGIN" value="72" />
|
||||
</MarkdownNavigatorCodeStyleSettings>
|
||||
<DBN-PSQL>
|
||||
<case-options enabled="false">
|
||||
<option name="KEYWORD_CASE" value="lower" />
|
||||
<option name="FUNCTION_CASE" value="lower" />
|
||||
<option name="PARAMETER_CASE" value="lower" />
|
||||
<option name="DATATYPE_CASE" value="lower" />
|
||||
<option name="OBJECT_CASE" value="preserve" />
|
||||
</case-options>
|
||||
<formatting-settings enabled="false" />
|
||||
</DBN-PSQL>
|
||||
<DBN-SQL>
|
||||
<case-options enabled="false">
|
||||
<option name="KEYWORD_CASE" value="lower" />
|
||||
<option name="FUNCTION_CASE" value="lower" />
|
||||
<option name="PARAMETER_CASE" value="lower" />
|
||||
<option name="DATATYPE_CASE" value="lower" />
|
||||
<option name="OBJECT_CASE" value="preserve" />
|
||||
</case-options>
|
||||
<formatting-settings enabled="false">
|
||||
<option name="STATEMENT_SPACING" value="one_line" />
|
||||
<option name="CLAUSE_CHOP_DOWN" value="chop_down_if_statement_long" />
|
||||
<option name="ITERATION_ELEMENTS_WRAPPING" value="chop_down_if_not_single" />
|
||||
</formatting-settings>
|
||||
</DBN-SQL>
|
||||
<codeStyleSettings language="JavaScript">
|
||||
<option name="KEEP_BLANK_LINES_IN_CODE" value="1" />
|
||||
<option name="SPACE_BEFORE_METHOD_PARENTHESES" value="true" />
|
||||
<option name="IF_BRACE_FORCE" value="1" />
|
||||
<option name="DOWHILE_BRACE_FORCE" value="1" />
|
||||
<option name="WHILE_BRACE_FORCE" value="1" />
|
||||
<option name="FOR_BRACE_FORCE" value="1" />
|
||||
<indentOptions>
|
||||
<option name="INDENT_SIZE" value="2" />
|
||||
<option name="CONTINUATION_INDENT_SIZE" value="2" />
|
||||
</indentOptions>
|
||||
</codeStyleSettings>
|
||||
</code_scheme>
|
||||
</component>
|
||||
5
.idea/codeStyles/codeStyleConfig.xml
generated
Normal file
5
.idea/codeStyles/codeStyleConfig.xml
generated
Normal file
@@ -0,0 +1,5 @@
|
||||
<component name="ProjectCodeStyleConfiguration">
|
||||
<state>
|
||||
<option name="USE_PER_PROJECT_SETTINGS" value="true" />
|
||||
</state>
|
||||
</component>
|
||||
456
.idea/dbnavigator.xml
generated
Normal file
456
.idea/dbnavigator.xml
generated
Normal file
@@ -0,0 +1,456 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="DBNavigator.Project.DataEditorManager">
|
||||
<record-view-column-sorting-type value="BY_INDEX" />
|
||||
<value-preview-text-wrapping value="false" />
|
||||
<value-preview-pinned value="false" />
|
||||
</component>
|
||||
<component name="DBNavigator.Project.DataExportManager">
|
||||
<export-instructions>
|
||||
<create-header value="true" />
|
||||
<quote-values-containing-separator value="true" />
|
||||
<quote-all-values value="false" />
|
||||
<value-separator value="" />
|
||||
<file-name value="" />
|
||||
<file-location value="" />
|
||||
<scope value="GLOBAL" />
|
||||
<destination value="FILE" />
|
||||
<format value="EXCEL" />
|
||||
<charset value="UTF-8" />
|
||||
</export-instructions>
|
||||
</component>
|
||||
<component name="DBNavigator.Project.DatabaseBrowserManager">
|
||||
<autoscroll-to-editor value="false" />
|
||||
<autoscroll-from-editor value="true" />
|
||||
<show-object-properties value="true" />
|
||||
<loaded-nodes />
|
||||
</component>
|
||||
<component name="DBNavigator.Project.DatabaseFileManager">
|
||||
<open-files />
|
||||
</component>
|
||||
<component name="DBNavigator.Project.EditorStateManager">
|
||||
<last-used-providers />
|
||||
</component>
|
||||
<component name="DBNavigator.Project.MethodExecutionManager">
|
||||
<method-browser />
|
||||
<execution-history>
|
||||
<group-entries value="true" />
|
||||
<execution-inputs />
|
||||
</execution-history>
|
||||
<argument-values-cache />
|
||||
</component>
|
||||
<component name="DBNavigator.Project.ObjectDependencyManager">
|
||||
<last-used-dependency-type value="INCOMING" />
|
||||
</component>
|
||||
<component name="DBNavigator.Project.ObjectQuickFilterManager">
|
||||
<last-used-operator value="EQUAL" />
|
||||
<filters />
|
||||
</component>
|
||||
<component name="DBNavigator.Project.ScriptExecutionManager" clear-outputs="true">
|
||||
<recently-used-interfaces />
|
||||
</component>
|
||||
<component name="DBNavigator.Project.Settings">
|
||||
<connections />
|
||||
<browser-settings>
|
||||
<general>
|
||||
<display-mode value="TABBED" />
|
||||
<navigation-history-size value="100" />
|
||||
<show-object-details value="false" />
|
||||
</general>
|
||||
<filters>
|
||||
<object-type-filter>
|
||||
<object-type name="SCHEMA" enabled="true" />
|
||||
<object-type name="USER" enabled="true" />
|
||||
<object-type name="ROLE" enabled="true" />
|
||||
<object-type name="PRIVILEGE" enabled="true" />
|
||||
<object-type name="CHARSET" enabled="true" />
|
||||
<object-type name="TABLE" enabled="true" />
|
||||
<object-type name="VIEW" enabled="true" />
|
||||
<object-type name="MATERIALIZED_VIEW" enabled="true" />
|
||||
<object-type name="NESTED_TABLE" enabled="true" />
|
||||
<object-type name="COLUMN" enabled="true" />
|
||||
<object-type name="INDEX" enabled="true" />
|
||||
<object-type name="CONSTRAINT" enabled="true" />
|
||||
<object-type name="DATASET_TRIGGER" enabled="true" />
|
||||
<object-type name="DATABASE_TRIGGER" enabled="true" />
|
||||
<object-type name="SYNONYM" enabled="true" />
|
||||
<object-type name="SEQUENCE" enabled="true" />
|
||||
<object-type name="PROCEDURE" enabled="true" />
|
||||
<object-type name="FUNCTION" enabled="true" />
|
||||
<object-type name="PACKAGE" enabled="true" />
|
||||
<object-type name="TYPE" enabled="true" />
|
||||
<object-type name="TYPE_ATTRIBUTE" enabled="true" />
|
||||
<object-type name="ARGUMENT" enabled="true" />
|
||||
<object-type name="DIMENSION" enabled="true" />
|
||||
<object-type name="CLUSTER" enabled="true" />
|
||||
<object-type name="DBLINK" enabled="true" />
|
||||
</object-type-filter>
|
||||
</filters>
|
||||
<sorting>
|
||||
<object-type name="COLUMN" sorting-type="NAME" />
|
||||
<object-type name="FUNCTION" sorting-type="NAME" />
|
||||
<object-type name="PROCEDURE" sorting-type="NAME" />
|
||||
<object-type name="ARGUMENT" sorting-type="POSITION" />
|
||||
</sorting>
|
||||
<default-editors>
|
||||
<object-type name="VIEW" editor-type="SELECTION" />
|
||||
<object-type name="PACKAGE" editor-type="SELECTION" />
|
||||
<object-type name="TYPE" editor-type="SELECTION" />
|
||||
</default-editors>
|
||||
</browser-settings>
|
||||
<navigation-settings>
|
||||
<lookup-filters>
|
||||
<lookup-objects>
|
||||
<object-type name="SCHEMA" enabled="true" />
|
||||
<object-type name="USER" enabled="false" />
|
||||
<object-type name="ROLE" enabled="false" />
|
||||
<object-type name="PRIVILEGE" enabled="false" />
|
||||
<object-type name="CHARSET" enabled="false" />
|
||||
<object-type name="TABLE" enabled="true" />
|
||||
<object-type name="VIEW" enabled="true" />
|
||||
<object-type name="MATERIALIZED VIEW" enabled="true" />
|
||||
<object-type name="NESTED TABLE" enabled="false" />
|
||||
<object-type name="COLUMN" enabled="false" />
|
||||
<object-type name="INDEX" enabled="true" />
|
||||
<object-type name="CONSTRAINT" enabled="true" />
|
||||
<object-type name="DATASET TRIGGER" enabled="true" />
|
||||
<object-type name="DATABASE TRIGGER" enabled="true" />
|
||||
<object-type name="SYNONYM" enabled="false" />
|
||||
<object-type name="SEQUENCE" enabled="true" />
|
||||
<object-type name="PROCEDURE" enabled="true" />
|
||||
<object-type name="FUNCTION" enabled="true" />
|
||||
<object-type name="PACKAGE" enabled="true" />
|
||||
<object-type name="TYPE" enabled="true" />
|
||||
<object-type name="TYPE ATTRIBUTE" enabled="false" />
|
||||
<object-type name="ARGUMENT" enabled="false" />
|
||||
<object-type name="DIMENSION" enabled="false" />
|
||||
<object-type name="CLUSTER" enabled="false" />
|
||||
<object-type name="DBLINK" enabled="true" />
|
||||
</lookup-objects>
|
||||
<force-database-load value="false" />
|
||||
<prompt-connection-selection value="true" />
|
||||
<prompt-schema-selection value="true" />
|
||||
</lookup-filters>
|
||||
</navigation-settings>
|
||||
<dataset-grid-settings>
|
||||
<general>
|
||||
<enable-zooming value="true" />
|
||||
<enable-column-tooltip value="true" />
|
||||
</general>
|
||||
<sorting>
|
||||
<nulls-first value="true" />
|
||||
<max-sorting-columns value="4" />
|
||||
</sorting>
|
||||
<tracking-columns>
|
||||
<columnNames value="" />
|
||||
<visible value="true" />
|
||||
<editable value="false" />
|
||||
</tracking-columns>
|
||||
</dataset-grid-settings>
|
||||
<dataset-editor-settings>
|
||||
<text-editor-popup>
|
||||
<active value="false" />
|
||||
<active-if-empty value="false" />
|
||||
<data-length-threshold value="100" />
|
||||
<popup-delay value="1000" />
|
||||
</text-editor-popup>
|
||||
<values-list-popup>
|
||||
<show-popup-button value="true" />
|
||||
<element-count-threshold value="1000" />
|
||||
<data-length-threshold value="250" />
|
||||
</values-list-popup>
|
||||
<general>
|
||||
<fetch-block-size value="100" />
|
||||
<fetch-timeout value="30" />
|
||||
<trim-whitespaces value="true" />
|
||||
<convert-empty-strings-to-null value="true" />
|
||||
<select-content-on-cell-edit value="true" />
|
||||
<large-value-preview-active value="true" />
|
||||
</general>
|
||||
<filters>
|
||||
<prompt-filter-dialog value="true" />
|
||||
<default-filter-type value="BASIC" />
|
||||
</filters>
|
||||
<qualified-text-editor text-length-threshold="300">
|
||||
<content-types>
|
||||
<content-type name="Text" enabled="true" />
|
||||
<content-type name="XML" enabled="true" />
|
||||
<content-type name="DTD" enabled="true" />
|
||||
<content-type name="HTML" enabled="true" />
|
||||
<content-type name="XHTML" enabled="true" />
|
||||
<content-type name="CSS" enabled="true" />
|
||||
<content-type name="SQL" enabled="true" />
|
||||
<content-type name="PL/SQL" enabled="true" />
|
||||
<content-type name="JavaScript" enabled="true" />
|
||||
<content-type name="JSP" enabled="true" />
|
||||
<content-type name="JSPx" enabled="true" />
|
||||
<content-type name="ASP" enabled="true" />
|
||||
<content-type name="YAML" enabled="true" />
|
||||
</content-types>
|
||||
</qualified-text-editor>
|
||||
<record-navigation>
|
||||
<navigation-target value="VIEWER" />
|
||||
</record-navigation>
|
||||
</dataset-editor-settings>
|
||||
<code-editor-settings>
|
||||
<general>
|
||||
<show-object-navigation-gutter value="false" />
|
||||
<show-spec-declaration-navigation-gutter value="true" />
|
||||
<enable-spellchecking value="true" />
|
||||
<enable-reference-spellchecking value="false" />
|
||||
</general>
|
||||
<confirmations>
|
||||
<save-changes value="false" />
|
||||
<revert-changes value="true" />
|
||||
</confirmations>
|
||||
</code-editor-settings>
|
||||
<code-completion-settings>
|
||||
<filters>
|
||||
<basic-filter>
|
||||
<filter-element type="RESERVED_WORD" id="keyword" selected="true" />
|
||||
<filter-element type="RESERVED_WORD" id="function" selected="true" />
|
||||
<filter-element type="RESERVED_WORD" id="parameter" selected="true" />
|
||||
<filter-element type="RESERVED_WORD" id="datatype" selected="true" />
|
||||
<filter-element type="RESERVED_WORD" id="exception" selected="true" />
|
||||
<filter-element type="OBJECT" id="schema" selected="true" />
|
||||
<filter-element type="OBJECT" id="role" selected="true" />
|
||||
<filter-element type="OBJECT" id="user" selected="true" />
|
||||
<filter-element type="OBJECT" id="privilege" selected="true" />
|
||||
<user-schema>
|
||||
<filter-element type="OBJECT" id="table" selected="true" />
|
||||
<filter-element type="OBJECT" id="view" selected="true" />
|
||||
<filter-element type="OBJECT" id="materialized view" selected="true" />
|
||||
<filter-element type="OBJECT" id="index" selected="true" />
|
||||
<filter-element type="OBJECT" id="constraint" selected="true" />
|
||||
<filter-element type="OBJECT" id="trigger" selected="true" />
|
||||
<filter-element type="OBJECT" id="synonym" selected="false" />
|
||||
<filter-element type="OBJECT" id="sequence" selected="true" />
|
||||
<filter-element type="OBJECT" id="procedure" selected="true" />
|
||||
<filter-element type="OBJECT" id="function" selected="true" />
|
||||
<filter-element type="OBJECT" id="package" selected="true" />
|
||||
<filter-element type="OBJECT" id="type" selected="true" />
|
||||
<filter-element type="OBJECT" id="dimension" selected="true" />
|
||||
<filter-element type="OBJECT" id="cluster" selected="true" />
|
||||
<filter-element type="OBJECT" id="dblink" selected="true" />
|
||||
</user-schema>
|
||||
<public-schema>
|
||||
<filter-element type="OBJECT" id="table" selected="false" />
|
||||
<filter-element type="OBJECT" id="view" selected="false" />
|
||||
<filter-element type="OBJECT" id="materialized view" selected="false" />
|
||||
<filter-element type="OBJECT" id="index" selected="false" />
|
||||
<filter-element type="OBJECT" id="constraint" selected="false" />
|
||||
<filter-element type="OBJECT" id="trigger" selected="false" />
|
||||
<filter-element type="OBJECT" id="synonym" selected="false" />
|
||||
<filter-element type="OBJECT" id="sequence" selected="false" />
|
||||
<filter-element type="OBJECT" id="procedure" selected="false" />
|
||||
<filter-element type="OBJECT" id="function" selected="false" />
|
||||
<filter-element type="OBJECT" id="package" selected="false" />
|
||||
<filter-element type="OBJECT" id="type" selected="false" />
|
||||
<filter-element type="OBJECT" id="dimension" selected="false" />
|
||||
<filter-element type="OBJECT" id="cluster" selected="false" />
|
||||
<filter-element type="OBJECT" id="dblink" selected="false" />
|
||||
</public-schema>
|
||||
<any-schema>
|
||||
<filter-element type="OBJECT" id="table" selected="true" />
|
||||
<filter-element type="OBJECT" id="view" selected="true" />
|
||||
<filter-element type="OBJECT" id="materialized view" selected="true" />
|
||||
<filter-element type="OBJECT" id="index" selected="true" />
|
||||
<filter-element type="OBJECT" id="constraint" selected="true" />
|
||||
<filter-element type="OBJECT" id="trigger" selected="true" />
|
||||
<filter-element type="OBJECT" id="synonym" selected="true" />
|
||||
<filter-element type="OBJECT" id="sequence" selected="true" />
|
||||
<filter-element type="OBJECT" id="procedure" selected="true" />
|
||||
<filter-element type="OBJECT" id="function" selected="true" />
|
||||
<filter-element type="OBJECT" id="package" selected="true" />
|
||||
<filter-element type="OBJECT" id="type" selected="true" />
|
||||
<filter-element type="OBJECT" id="dimension" selected="true" />
|
||||
<filter-element type="OBJECT" id="cluster" selected="true" />
|
||||
<filter-element type="OBJECT" id="dblink" selected="true" />
|
||||
</any-schema>
|
||||
</basic-filter>
|
||||
<extended-filter>
|
||||
<filter-element type="RESERVED_WORD" id="keyword" selected="true" />
|
||||
<filter-element type="RESERVED_WORD" id="function" selected="true" />
|
||||
<filter-element type="RESERVED_WORD" id="parameter" selected="true" />
|
||||
<filter-element type="RESERVED_WORD" id="datatype" selected="true" />
|
||||
<filter-element type="RESERVED_WORD" id="exception" selected="true" />
|
||||
<filter-element type="OBJECT" id="schema" selected="true" />
|
||||
<filter-element type="OBJECT" id="user" selected="true" />
|
||||
<filter-element type="OBJECT" id="role" selected="true" />
|
||||
<filter-element type="OBJECT" id="privilege" selected="true" />
|
||||
<user-schema>
|
||||
<filter-element type="OBJECT" id="table" selected="true" />
|
||||
<filter-element type="OBJECT" id="view" selected="true" />
|
||||
<filter-element type="OBJECT" id="materialized view" selected="true" />
|
||||
<filter-element type="OBJECT" id="index" selected="true" />
|
||||
<filter-element type="OBJECT" id="constraint" selected="true" />
|
||||
<filter-element type="OBJECT" id="trigger" selected="true" />
|
||||
<filter-element type="OBJECT" id="synonym" selected="true" />
|
||||
<filter-element type="OBJECT" id="sequence" selected="true" />
|
||||
<filter-element type="OBJECT" id="procedure" selected="true" />
|
||||
<filter-element type="OBJECT" id="function" selected="true" />
|
||||
<filter-element type="OBJECT" id="package" selected="true" />
|
||||
<filter-element type="OBJECT" id="type" selected="true" />
|
||||
<filter-element type="OBJECT" id="dimension" selected="true" />
|
||||
<filter-element type="OBJECT" id="cluster" selected="true" />
|
||||
<filter-element type="OBJECT" id="dblink" selected="true" />
|
||||
</user-schema>
|
||||
<public-schema>
|
||||
<filter-element type="OBJECT" id="table" selected="true" />
|
||||
<filter-element type="OBJECT" id="view" selected="true" />
|
||||
<filter-element type="OBJECT" id="materialized view" selected="true" />
|
||||
<filter-element type="OBJECT" id="index" selected="true" />
|
||||
<filter-element type="OBJECT" id="constraint" selected="true" />
|
||||
<filter-element type="OBJECT" id="trigger" selected="true" />
|
||||
<filter-element type="OBJECT" id="synonym" selected="true" />
|
||||
<filter-element type="OBJECT" id="sequence" selected="true" />
|
||||
<filter-element type="OBJECT" id="procedure" selected="true" />
|
||||
<filter-element type="OBJECT" id="function" selected="true" />
|
||||
<filter-element type="OBJECT" id="package" selected="true" />
|
||||
<filter-element type="OBJECT" id="type" selected="true" />
|
||||
<filter-element type="OBJECT" id="dimension" selected="true" />
|
||||
<filter-element type="OBJECT" id="cluster" selected="true" />
|
||||
<filter-element type="OBJECT" id="dblink" selected="true" />
|
||||
</public-schema>
|
||||
<any-schema>
|
||||
<filter-element type="OBJECT" id="table" selected="true" />
|
||||
<filter-element type="OBJECT" id="view" selected="true" />
|
||||
<filter-element type="OBJECT" id="materialized view" selected="true" />
|
||||
<filter-element type="OBJECT" id="index" selected="true" />
|
||||
<filter-element type="OBJECT" id="constraint" selected="true" />
|
||||
<filter-element type="OBJECT" id="trigger" selected="true" />
|
||||
<filter-element type="OBJECT" id="synonym" selected="true" />
|
||||
<filter-element type="OBJECT" id="sequence" selected="true" />
|
||||
<filter-element type="OBJECT" id="procedure" selected="true" />
|
||||
<filter-element type="OBJECT" id="function" selected="true" />
|
||||
<filter-element type="OBJECT" id="package" selected="true" />
|
||||
<filter-element type="OBJECT" id="type" selected="true" />
|
||||
<filter-element type="OBJECT" id="dimension" selected="true" />
|
||||
<filter-element type="OBJECT" id="cluster" selected="true" />
|
||||
<filter-element type="OBJECT" id="dblink" selected="true" />
|
||||
</any-schema>
|
||||
</extended-filter>
|
||||
</filters>
|
||||
<sorting enabled="true">
|
||||
<sorting-element type="RESERVED_WORD" id="keyword" />
|
||||
<sorting-element type="RESERVED_WORD" id="datatype" />
|
||||
<sorting-element type="OBJECT" id="column" />
|
||||
<sorting-element type="OBJECT" id="table" />
|
||||
<sorting-element type="OBJECT" id="view" />
|
||||
<sorting-element type="OBJECT" id="materialized view" />
|
||||
<sorting-element type="OBJECT" id="index" />
|
||||
<sorting-element type="OBJECT" id="constraint" />
|
||||
<sorting-element type="OBJECT" id="trigger" />
|
||||
<sorting-element type="OBJECT" id="synonym" />
|
||||
<sorting-element type="OBJECT" id="sequence" />
|
||||
<sorting-element type="OBJECT" id="procedure" />
|
||||
<sorting-element type="OBJECT" id="function" />
|
||||
<sorting-element type="OBJECT" id="package" />
|
||||
<sorting-element type="OBJECT" id="type" />
|
||||
<sorting-element type="OBJECT" id="dimension" />
|
||||
<sorting-element type="OBJECT" id="cluster" />
|
||||
<sorting-element type="OBJECT" id="dblink" />
|
||||
<sorting-element type="OBJECT" id="schema" />
|
||||
<sorting-element type="OBJECT" id="role" />
|
||||
<sorting-element type="OBJECT" id="user" />
|
||||
<sorting-element type="RESERVED_WORD" id="function" />
|
||||
<sorting-element type="RESERVED_WORD" id="parameter" />
|
||||
</sorting>
|
||||
<format>
|
||||
<enforce-code-style-case value="true" />
|
||||
</format>
|
||||
</code-completion-settings>
|
||||
<execution-engine-settings>
|
||||
<statement-execution>
|
||||
<fetch-block-size value="100" />
|
||||
<execution-timeout value="20" />
|
||||
<debug-execution-timeout value="600" />
|
||||
<focus-result value="false" />
|
||||
<prompt-execution value="false" />
|
||||
</statement-execution>
|
||||
<script-execution>
|
||||
<command-line-interfaces />
|
||||
<execution-timeout value="300" />
|
||||
</script-execution>
|
||||
<method-execution>
|
||||
<execution-timeout value="30" />
|
||||
<debug-execution-timeout value="600" />
|
||||
<parameter-history-size value="10" />
|
||||
</method-execution>
|
||||
</execution-engine-settings>
|
||||
<operation-settings>
|
||||
<transactions>
|
||||
<uncommitted-changes>
|
||||
<on-project-close value="ASK" />
|
||||
<on-disconnect value="ASK" />
|
||||
<on-autocommit-toggle value="ASK" />
|
||||
</uncommitted-changes>
|
||||
<multiple-uncommitted-changes>
|
||||
<on-commit value="ASK" />
|
||||
<on-rollback value="ASK" />
|
||||
</multiple-uncommitted-changes>
|
||||
</transactions>
|
||||
<session-browser>
|
||||
<disconnect-session value="ASK" />
|
||||
<kill-session value="ASK" />
|
||||
<reload-on-filter-change value="false" />
|
||||
</session-browser>
|
||||
<compiler>
|
||||
<compile-type value="KEEP" />
|
||||
<compile-dependencies value="ASK" />
|
||||
<always-show-controls value="false" />
|
||||
</compiler>
|
||||
<debugger>
|
||||
<debugger-type value="JDBC" />
|
||||
<use-generic-runners value="true" />
|
||||
</debugger>
|
||||
</operation-settings>
|
||||
<ddl-file-settings>
|
||||
<extensions>
|
||||
<mapping file-type-id="VIEW" extensions="vw" />
|
||||
<mapping file-type-id="TRIGGER" extensions="trg" />
|
||||
<mapping file-type-id="PROCEDURE" extensions="prc" />
|
||||
<mapping file-type-id="FUNCTION" extensions="fnc" />
|
||||
<mapping file-type-id="PACKAGE" extensions="pkg" />
|
||||
<mapping file-type-id="PACKAGE_SPEC" extensions="pks" />
|
||||
<mapping file-type-id="PACKAGE_BODY" extensions="pkb" />
|
||||
<mapping file-type-id="TYPE" extensions="tpe" />
|
||||
<mapping file-type-id="TYPE_SPEC" extensions="tps" />
|
||||
<mapping file-type-id="TYPE_BODY" extensions="tpb" />
|
||||
</extensions>
|
||||
<general>
|
||||
<lookup-ddl-files value="true" />
|
||||
<create-ddl-files value="false" />
|
||||
<synchronize-ddl-files value="true" />
|
||||
<use-qualified-names value="false" />
|
||||
<make-scripts-rerunnable value="true" />
|
||||
</general>
|
||||
</ddl-file-settings>
|
||||
<general-settings>
|
||||
<regional-settings>
|
||||
<date-format value="MEDIUM" />
|
||||
<number-format value="UNGROUPED" />
|
||||
<locale value="SYSTEM_DEFAULT" />
|
||||
<use-custom-formats value="false" />
|
||||
</regional-settings>
|
||||
<environment>
|
||||
<environment-types>
|
||||
<environment-type id="development" name="Development" description="Development environment" color="-2430209/-12296320" readonly-code="false" readonly-data="false" />
|
||||
<environment-type id="integration" name="Integration" description="Integration environment" color="-2621494/-12163514" readonly-code="true" readonly-data="false" />
|
||||
<environment-type id="production" name="Production" description="Productive environment" color="-11574/-10271420" readonly-code="true" readonly-data="true" />
|
||||
<environment-type id="other" name="Other" description="" color="-1576/-10724543" readonly-code="false" readonly-data="false" />
|
||||
</environment-types>
|
||||
<visibility-settings>
|
||||
<connection-tabs value="true" />
|
||||
<dialog-headers value="true" />
|
||||
<object-editor-tabs value="true" />
|
||||
<script-editor-tabs value="false" />
|
||||
<execution-result-tabs value="true" />
|
||||
</visibility-settings>
|
||||
</environment>
|
||||
</general-settings>
|
||||
</component>
|
||||
<component name="DBNavigator.Project.StatementExecutionManager">
|
||||
<execution-variables />
|
||||
</component>
|
||||
</project>
|
||||
3
.idea/dictionaries/nirongxu.xml
generated
Normal file
3
.idea/dictionaries/nirongxu.xml
generated
Normal file
@@ -0,0 +1,3 @@
|
||||
<component name="ProjectDictionaryState">
|
||||
<dictionary name="nirongxu" />
|
||||
</component>
|
||||
4
.idea/encodings.xml
generated
Normal file
4
.idea/encodings.xml
generated
Normal file
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="Encoding" addBOMForNewFiles="with NO BOM" />
|
||||
</project>
|
||||
5
.idea/inspectionProfiles/Project_Default.xml
generated
Normal file
5
.idea/inspectionProfiles/Project_Default.xml
generated
Normal file
@@ -0,0 +1,5 @@
|
||||
<component name="InspectionProjectProfileManager">
|
||||
<profile version="1.0">
|
||||
<option name="myName" value="Project Default" />
|
||||
</profile>
|
||||
</component>
|
||||
6
.idea/jsLibraryMappings.xml
generated
Normal file
6
.idea/jsLibraryMappings.xml
generated
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="JavaScriptLibraryMappings">
|
||||
<file url="PROJECT" libraries="{fetch}" />
|
||||
</component>
|
||||
</project>
|
||||
8
.idea/markdown-exported-files.xml
generated
Normal file
8
.idea/markdown-exported-files.xml
generated
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="MarkdownExportedFiles">
|
||||
<htmlFiles />
|
||||
<imageFiles />
|
||||
<otherFiles />
|
||||
</component>
|
||||
</project>
|
||||
78
.idea/markdown-navigator.xml
generated
Normal file
78
.idea/markdown-navigator.xml
generated
Normal file
@@ -0,0 +1,78 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="MarkdownProjectSettings" wasCopied="true">
|
||||
<PreviewSettings splitEditorLayout="SPLIT" splitEditorPreview="PREVIEW" useGrayscaleRendering="false" zoomFactor="1.0" maxImageWidth="0" showGitHubPageIfSynced="false" allowBrowsingInPreview="false" synchronizePreviewPosition="true" highlightPreviewType="NONE" highlightFadeOut="5" highlightOnTyping="true" synchronizeSourcePosition="true" verticallyAlignSourceAndPreviewSyncPosition="true" showSearchHighlightsInPreview="false" showSelectionInPreview="true" openRemoteLinks="true" replaceUnicodeEmoji="false" lastLayoutSetsDefault="false">
|
||||
<PanelProvider>
|
||||
<provider providerId="com.vladsch.idea.multimarkdown.editor.swing.html.panel" providerName="Default - Swing" />
|
||||
</PanelProvider>
|
||||
</PreviewSettings>
|
||||
<ParserSettings gitHubSyntaxChange="false" emojiShortcuts="1" emojiImages="0">
|
||||
<PegdownExtensions>
|
||||
<option name="ABBREVIATIONS" value="false" />
|
||||
<option name="ANCHORLINKS" value="true" />
|
||||
<option name="ASIDE" value="false" />
|
||||
<option name="ATXHEADERSPACE" value="true" />
|
||||
<option name="AUTOLINKS" value="true" />
|
||||
<option name="DEFINITIONS" value="false" />
|
||||
<option name="DEFINITION_BREAK_DOUBLE_BLANK_LINE" value="false" />
|
||||
<option name="FENCED_CODE_BLOCKS" value="true" />
|
||||
<option name="FOOTNOTES" value="false" />
|
||||
<option name="HARDWRAPS" value="false" />
|
||||
<option name="HTML_DEEP_PARSER" value="false" />
|
||||
<option name="INSERTED" value="false" />
|
||||
<option name="QUOTES" value="false" />
|
||||
<option name="RELAXEDHRULES" value="true" />
|
||||
<option name="SMARTS" value="false" />
|
||||
<option name="STRIKETHROUGH" value="true" />
|
||||
<option name="SUBSCRIPT" value="false" />
|
||||
<option name="SUPERSCRIPT" value="false" />
|
||||
<option name="SUPPRESS_HTML_BLOCKS" value="false" />
|
||||
<option name="SUPPRESS_INLINE_HTML" value="false" />
|
||||
<option name="TABLES" value="true" />
|
||||
<option name="TASKLISTITEMS" value="true" />
|
||||
<option name="TOC" value="false" />
|
||||
<option name="WIKILINKS" value="true" />
|
||||
</PegdownExtensions>
|
||||
<ParserOptions>
|
||||
<option name="ADMONITION_EXT" value="false" />
|
||||
<option name="ATTRIBUTES_EXT" value="false" />
|
||||
<option name="COMMONMARK_LISTS" value="true" />
|
||||
<option name="DUMMY" value="false" />
|
||||
<option name="EMOJI_SHORTCUTS" value="true" />
|
||||
<option name="ENUMERATED_REFERENCES_EXT" value="false" />
|
||||
<option name="FLEXMARK_FRONT_MATTER" value="false" />
|
||||
<option name="GFM_LOOSE_BLANK_LINE_AFTER_ITEM_PARA" value="false" />
|
||||
<option name="GFM_TABLE_RENDERING" value="true" />
|
||||
<option name="GITBOOK_URL_ENCODING" value="false" />
|
||||
<option name="GITHUB_LISTS" value="false" />
|
||||
<option name="GITHUB_WIKI_LINKS" value="true" />
|
||||
<option name="HEADER_ID_NO_DUPED_DASHES" value="false" />
|
||||
<option name="JEKYLL_FRONT_MATTER" value="false" />
|
||||
<option name="NO_TEXT_ATTRIBUTES" value="false" />
|
||||
<option name="PARSE_HTML_ANCHOR_ID" value="false" />
|
||||
<option name="SIM_TOC_BLANK_LINE_SPACER" value="true" />
|
||||
</ParserOptions>
|
||||
</ParserSettings>
|
||||
<HtmlSettings headerTopEnabled="false" headerBottomEnabled="false" bodyTopEnabled="false" bodyBottomEnabled="false" embedUrlContent="false" addPageHeader="true" embedImages="false" embedHttpImages="false" imageUriSerials="false">
|
||||
<GeneratorProvider>
|
||||
<provider providerId="com.vladsch.idea.multimarkdown.editor.swing.html.generator" providerName="Default Swing HTML Generator" />
|
||||
</GeneratorProvider>
|
||||
<headerTop />
|
||||
<headerBottom />
|
||||
<bodyTop />
|
||||
<bodyBottom />
|
||||
</HtmlSettings>
|
||||
<CssSettings previewScheme="UI_SCHEME" cssUri="" isCssUriEnabled="false" isCssUriSerial="false" isCssTextEnabled="false" isDynamicPageWidth="true">
|
||||
<StylesheetProvider>
|
||||
<provider providerId="com.vladsch.idea.multimarkdown.editor.swing.html.css" providerName="Default Swing Stylesheet" />
|
||||
</StylesheetProvider>
|
||||
<ScriptProviders />
|
||||
<cssText />
|
||||
<cssUriHistory />
|
||||
</CssSettings>
|
||||
<HtmlExportSettings updateOnSave="false" parentDir="" targetDir="" cssDir="" scriptDir="" plainHtml="false" imageDir="" copyLinkedImages="false" imageUniquifyType="0" targetExt="" useTargetExt="false" noCssNoScripts="false" linkToExportedHtml="true" exportOnSettingsChange="true" regenerateOnProjectOpen="false" linkFormatType="HTTP_ABSOLUTE" />
|
||||
<LinkMapSettings>
|
||||
<textMaps />
|
||||
</LinkMapSettings>
|
||||
</component>
|
||||
</project>
|
||||
3
.idea/markdown-navigator/profiles_settings.xml
generated
Normal file
3
.idea/markdown-navigator/profiles_settings.xml
generated
Normal file
@@ -0,0 +1,3 @@
|
||||
<component name="MarkdownNavigator.ProfileManager">
|
||||
<settings default="" pdf-export="" />
|
||||
</component>
|
||||
6
.idea/misc.xml
generated
Normal file
6
.idea/misc.xml
generated
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="JavaScriptSettings">
|
||||
<option name="languageLevel" value="ES6" />
|
||||
</component>
|
||||
</project>
|
||||
8
.idea/modules.xml
generated
Normal file
8
.idea/modules.xml
generated
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/.idea/vue-xuAdmin.iml" filepath="$PROJECT_DIR$/.idea/vue-xuAdmin.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
||||
6
.idea/typescript-compiler.xml
generated
Normal file
6
.idea/typescript-compiler.xml
generated
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="TypeScriptCompiler">
|
||||
<option name="nodeInterpreterTextField" value="node" />
|
||||
</component>
|
||||
</project>
|
||||
6
.idea/vcs.xml
generated
Normal file
6
.idea/vcs.xml
generated
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
||||
13
.idea/vue-xuAdmin.iml
generated
Normal file
13
.idea/vue-xuAdmin.iml
generated
Normal file
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="WEB_MODULE" version="4">
|
||||
<component name="NewModuleRootManager">
|
||||
<content url="file://$MODULE_DIR$">
|
||||
<excludeFolder url="file://$MODULE_DIR$/../xu-webplatform/.tmp" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/../xu-webplatform/temp" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/../xu-webplatform/tmp" />
|
||||
</content>
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
<orderEntry type="library" name="fetch" level="application" />
|
||||
</component>
|
||||
</module>
|
||||
266
.idea/workspace.xml
generated
Normal file
266
.idea/workspace.xml
generated
Normal file
@@ -0,0 +1,266 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ChangeListManager">
|
||||
<list default="true" id="0a9835fd-ab8f-45b0-854d-0e4a3f0246d5" name="Default Changelist" comment="">
|
||||
<change afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/dist/static/css/app.c9ac944aa47ab861ea9e1a592945e7d9.css.map" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/dist/static/js/0.a0770adcec9fb1c7f373.js.map" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/dist/static/js/1.2228238d84d5236a8720.js" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/dist/static/js/1.2228238d84d5236a8720.js.map" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/dist/static/js/10.90a682b9a86bf57c5e08.js" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/dist/static/js/10.90a682b9a86bf57c5e08.js.map" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/dist/static/js/11.f818f6bd6a44ad0a701d.js" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/dist/static/js/11.f818f6bd6a44ad0a701d.js.map" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/dist/static/js/12.fae98b270aa8d49cc7b3.js" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/dist/static/js/12.fae98b270aa8d49cc7b3.js.map" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/dist/static/js/13.0c44804c4eff77f70797.js" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/dist/static/js/13.0c44804c4eff77f70797.js.map" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/dist/static/js/14.47a9617f9343569a290b.js" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/dist/static/js/14.47a9617f9343569a290b.js.map" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/dist/static/js/15.5da0581bd5c97c03d678.js.map" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/dist/static/js/16.704e617262c7e393d786.js" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/dist/static/js/16.704e617262c7e393d786.js.map" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/dist/static/js/17.1fb492c4ab90282f9c79.js" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/dist/static/js/17.1fb492c4ab90282f9c79.js.map" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/dist/static/js/18.b071378670f4087d8b40.js" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/dist/static/js/18.b071378670f4087d8b40.js.map" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/dist/static/js/19.68611539e52cac367bac.js" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/dist/static/js/19.68611539e52cac367bac.js.map" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/dist/static/js/2.9a8b27b93657af6decfe.js" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/dist/static/js/2.9a8b27b93657af6decfe.js.map" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/dist/static/js/4.d7e0897bdb9bbb2a27da.js" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/dist/static/js/4.d7e0897bdb9bbb2a27da.js.map" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/dist/static/js/5.74c336a88840142e3649.js.map" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/dist/static/js/6.251a41f91926e87ea774.js" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/dist/static/js/6.251a41f91926e87ea774.js.map" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/dist/static/js/7.82e8975c6e742db31d91.js" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/dist/static/js/7.82e8975c6e742db31d91.js.map" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/dist/static/js/8.b72111c921bd0f8908b3.js" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/dist/static/js/8.b72111c921bd0f8908b3.js.map" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/dist/static/js/9.72499b4877a7530b979a.js" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/dist/static/js/9.72499b4877a7530b979a.js.map" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/dist/static/js/app.c18387d0c5ea119cfe04.js" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/dist/static/js/app.c18387d0c5ea119cfe04.js.map" afterDir="false" />
|
||||
<change afterPath="$PROJECT_DIR$/dist/static/js/manifest.b14a6c36bb1f29714483.js" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/dist/index.html" beforeDir="false" afterPath="$PROJECT_DIR$/dist/index.html" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/dist/static/css/app.adbe5cb863868e0162107cfc32eed0db.css" beforeDir="false" afterPath="$PROJECT_DIR$/dist/static/css/app.c9ac944aa47ab861ea9e1a592945e7d9.css" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/dist/static/css/app.adbe5cb863868e0162107cfc32eed0db.css.map" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/dist/static/img/iconfont.ba161ba.svg" beforeDir="false" afterPath="$PROJECT_DIR$/dist/static/img/iconfont.dd8285f.svg" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/dist/static/js/0.03d8d50ae05c74d6d449.js" beforeDir="false" afterPath="$PROJECT_DIR$/dist/static/js/0.a0770adcec9fb1c7f373.js" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/dist/static/js/0.03d8d50ae05c74d6d449.js.map" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/dist/static/js/1.3bde148a807a2470ecb6.js" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/dist/static/js/1.3bde148a807a2470ecb6.js.map" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/dist/static/js/10.c1d651c55171dbf04cdf.js" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/dist/static/js/10.c1d651c55171dbf04cdf.js.map" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/dist/static/js/11.d514b28177d9dbf4dd16.js" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/dist/static/js/11.d514b28177d9dbf4dd16.js.map" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/dist/static/js/12.4032c1e7efc3717b8a56.js" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/dist/static/js/12.4032c1e7efc3717b8a56.js.map" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/dist/static/js/13.c64dc75e7ed1687aa272.js" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/dist/static/js/13.c64dc75e7ed1687aa272.js.map" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/dist/static/js/14.8440e8b78b84a0c3e3d4.js" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/dist/static/js/14.8440e8b78b84a0c3e3d4.js.map" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/dist/static/js/15.b9147e5b11e518ecdc09.js" beforeDir="false" afterPath="$PROJECT_DIR$/dist/static/js/15.5da0581bd5c97c03d678.js" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/dist/static/js/15.b9147e5b11e518ecdc09.js.map" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/dist/static/js/16.13b9d15950458444b1b4.js" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/dist/static/js/16.13b9d15950458444b1b4.js.map" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/dist/static/js/17.1851caba4cdfebcf6ae6.js" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/dist/static/js/17.1851caba4cdfebcf6ae6.js.map" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/dist/static/js/18.5835c5330d16805a21bf.js" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/dist/static/js/18.5835c5330d16805a21bf.js.map" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/dist/static/js/19.7c5ddd90935ef311643c.js" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/dist/static/js/19.7c5ddd90935ef311643c.js.map" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/dist/static/js/2.d83ebec68528193dd871.js" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/dist/static/js/2.d83ebec68528193dd871.js.map" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/dist/static/js/3.ba8330e2bd738c464440.js" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/dist/static/js/3.ba8330e2bd738c464440.js.map" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/dist/static/js/4.fcb8553daac0b89eaadd.js" beforeDir="false" afterPath="$PROJECT_DIR$/dist/static/js/3.59eacd122894bb735072.js" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/dist/static/js/4.fcb8553daac0b89eaadd.js.map" beforeDir="false" afterPath="$PROJECT_DIR$/dist/static/js/3.59eacd122894bb735072.js.map" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/dist/static/js/5.cbf56b1aefabc90b2d45.js" beforeDir="false" afterPath="$PROJECT_DIR$/dist/static/js/5.74c336a88840142e3649.js" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/dist/static/js/5.cbf56b1aefabc90b2d45.js.map" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/dist/static/js/6.fa9d41f70112b8315262.js" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/dist/static/js/6.fa9d41f70112b8315262.js.map" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/dist/static/js/7.7ef2f9773493e4ccf07a.js" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/dist/static/js/7.7ef2f9773493e4ccf07a.js.map" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/dist/static/js/8.fb0860c23d8aecc124ef.js" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/dist/static/js/8.fb0860c23d8aecc124ef.js.map" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/dist/static/js/9.095193998130591d0c37.js" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/dist/static/js/9.095193998130591d0c37.js.map" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/dist/static/js/app.ccf3d7a347609148ad3c.js" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/dist/static/js/app.ccf3d7a347609148ad3c.js.map" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/dist/static/js/manifest.0ca6f47ece8ef6ba80c9.js" beforeDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/dist/static/js/manifest.0ca6f47ece8ef6ba80c9.js.map" beforeDir="false" afterPath="$PROJECT_DIR$/dist/static/js/manifest.b14a6c36bb1f29714483.js.map" afterDir="false" />
|
||||
<change beforePath="$PROJECT_DIR$/src/views/layout/aside/aside.vue" beforeDir="false" afterPath="$PROJECT_DIR$/src/views/layout/aside/aside.vue" afterDir="false" />
|
||||
</list>
|
||||
<ignored path="$PROJECT_DIR$/../xu-webplatform/.tmp/" />
|
||||
<ignored path="$PROJECT_DIR$/../xu-webplatform/temp/" />
|
||||
<ignored path="$PROJECT_DIR$/../xu-webplatform/tmp/" />
|
||||
<option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
|
||||
<option name="SHOW_DIALOG" value="false" />
|
||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
||||
<option name="LAST_RESOLUTION" value="IGNORE" />
|
||||
</component>
|
||||
<component name="FileEditorManager">
|
||||
<leaf>
|
||||
<file pinned="false" current-in-tab="true">
|
||||
<entry file="file://$PROJECT_DIR$/src/views/layout/aside/aside.vue">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="158">
|
||||
<caret line="94" column="35" lean-forward="true" selection-start-line="94" selection-start-column="35" selection-end-line="94" selection-end-column="35" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</file>
|
||||
</leaf>
|
||||
</component>
|
||||
<component name="FindInProjectRecents">
|
||||
<findStrings>
|
||||
<find>#5e6d82</find>
|
||||
</findStrings>
|
||||
</component>
|
||||
<component name="Git.Settings">
|
||||
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
||||
</component>
|
||||
<component name="IdeDocumentHistory">
|
||||
<option name="CHANGED_PATHS">
|
||||
<list>
|
||||
<option value="$PROJECT_DIR$/src/views/layout/aside/aside.vue" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="ProjectFrameBounds" extendedState="6">
|
||||
<option name="x" value="260" />
|
||||
<option name="y" value="80" />
|
||||
<option name="width" value="1400" />
|
||||
<option name="height" value="1000" />
|
||||
</component>
|
||||
<component name="ProjectView">
|
||||
<navigator proportions="" version="1">
|
||||
<foldersAlwaysOnTop value="true" />
|
||||
</navigator>
|
||||
<panes>
|
||||
<pane id="Scope" />
|
||||
<pane id="ProjectPane">
|
||||
<subPane>
|
||||
<expand>
|
||||
<path>
|
||||
<item name="vue-xuAdmin" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="vue-xuAdmin" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="vue-xuAdmin" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="vue-xuAdmin" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="src" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
<path>
|
||||
<item name="vue-xuAdmin" type="b2602c69:ProjectViewProjectNode" />
|
||||
<item name="vue-xuAdmin" type="462c0819:PsiDirectoryNode" />
|
||||
<item name="static" type="462c0819:PsiDirectoryNode" />
|
||||
</path>
|
||||
</expand>
|
||||
<select />
|
||||
</subPane>
|
||||
</pane>
|
||||
</panes>
|
||||
</component>
|
||||
<component name="PropertiesComponent">
|
||||
<property name="SHARE_PROJECT_CONFIGURATION_FILES" value="true" />
|
||||
<property name="WebServerToolWindowFactoryState" value="false" />
|
||||
<property name="editor.config.ad.shown" value="true" />
|
||||
<property name="nodejs_package_manager_path" value="npm" />
|
||||
</component>
|
||||
<component name="RunDashboard">
|
||||
<option name="ruleStates">
|
||||
<list>
|
||||
<RuleState>
|
||||
<option name="name" value="ConfigurationTypeDashboardGroupingRule" />
|
||||
</RuleState>
|
||||
<RuleState>
|
||||
<option name="name" value="StatusDashboardGroupingRule" />
|
||||
</RuleState>
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="SvnConfiguration">
|
||||
<configuration />
|
||||
</component>
|
||||
<component name="TaskManager">
|
||||
<task active="true" id="Default" summary="Default task">
|
||||
<changelist id="0a9835fd-ab8f-45b0-854d-0e4a3f0246d5" name="Default Changelist" comment="" />
|
||||
<created>1555304823062</created>
|
||||
<option name="number" value="Default" />
|
||||
<option name="presentableId" value="Default" />
|
||||
<updated>1555304823062</updated>
|
||||
<workItem from="1555304824158" duration="1125000" />
|
||||
<workItem from="1555306926062" duration="849000" />
|
||||
<workItem from="1555582522672" duration="1058000" />
|
||||
</task>
|
||||
<servers />
|
||||
</component>
|
||||
<component name="TimeTrackingManager">
|
||||
<option name="totallyTimeSpent" value="3032000" />
|
||||
</component>
|
||||
<component name="ToolWindowManager">
|
||||
<frame x="-8" y="-8" width="1936" height="1176" extended-state="6" />
|
||||
<editor active="true" />
|
||||
<layout>
|
||||
<window_info id="Favorites" order="0" side_tool="true" />
|
||||
<window_info active="true" content_ui="combo" id="Project" order="1" visible="true" weight="0.2553305" />
|
||||
<window_info id="Structure" order="2" side_tool="true" weight="0.25" />
|
||||
<window_info anchor="bottom" id="Message" order="0" />
|
||||
<window_info anchor="bottom" id="Find" order="1" />
|
||||
<window_info anchor="bottom" id="Run" order="2" weight="0.3297244" />
|
||||
<window_info anchor="bottom" id="Debug" order="3" weight="0.4" />
|
||||
<window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
|
||||
<window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
|
||||
<window_info anchor="bottom" id="TODO" order="6" />
|
||||
<window_info anchor="bottom" id="Docker" order="7" show_stripe_button="false" />
|
||||
<window_info anchor="bottom" id="DB Execution Console" order="8" />
|
||||
<window_info anchor="bottom" id="Terminal" order="9" visible="true" weight="0.3297244" />
|
||||
<window_info anchor="bottom" id="Event Log" order="10" side_tool="true" />
|
||||
<window_info anchor="bottom" id="Version Control" order="11" />
|
||||
<window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
|
||||
<window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
|
||||
<window_info anchor="right" content_ui="combo" id="Hierarchy" order="2" weight="0.25" />
|
||||
<window_info anchor="right" id="DB Browser" order="3" weight="0.32942432" />
|
||||
</layout>
|
||||
</component>
|
||||
<component name="TypeScriptGeneratedFilesManager">
|
||||
<option name="version" value="1" />
|
||||
</component>
|
||||
<component name="VcsManagerConfiguration">
|
||||
<MESSAGE value="打包前的左上角项目名字颜色" />
|
||||
<option name="LAST_COMMIT_MESSAGE" value="打包前的左上角项目名字颜色" />
|
||||
</component>
|
||||
<component name="editorHistoryManager">
|
||||
<entry file="file://$PROJECT_DIR$/src/views/upload/upload.vue">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="3537">
|
||||
<caret line="131" column="11" selection-start-line="131" selection-start-column="11" selection-end-line="131" selection-end-column="11" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/App.vue">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="216">
|
||||
<caret line="8" column="8" lean-forward="true" selection-start-line="8" selection-start-column="8" selection-end-line="8" selection-end-column="8" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/dist/index.html">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state>
|
||||
<caret column="167" selection-start-column="167" selection-end-column="167" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
<entry file="file://$PROJECT_DIR$/src/views/layout/aside/aside.vue">
|
||||
<provider selected="true" editor-type-id="text-editor">
|
||||
<state relative-caret-position="158">
|
||||
<caret line="94" column="35" lean-forward="true" selection-start-line="94" selection-start-column="35" selection-end-line="94" selection-end-column="35" />
|
||||
</state>
|
||||
</provider>
|
||||
</entry>
|
||||
</component>
|
||||
</project>
|
||||
10
.postcssrc.js
Normal file
10
.postcssrc.js
Normal file
@@ -0,0 +1,10 @@
|
||||
// https://github.com/michael-ciniawsky/postcss-load-config
|
||||
|
||||
module.exports = {
|
||||
"plugins": {
|
||||
"postcss-import": {},
|
||||
"postcss-url": {},
|
||||
// to edit target browsers: use "browserslist" field in package.json
|
||||
"autoprefixer": {}
|
||||
}
|
||||
}
|
||||
21
LICENSE
Normal file
21
LICENSE
Normal file
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2018 村头倪师傅
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this routerData notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
220
README.md
Normal file
220
README.md
Normal file
@@ -0,0 +1,220 @@
|
||||
<h1 align="center">Welcome to vue-xuadmin 👋</h1>
|
||||
<p>
|
||||
<img alt="Version" src="https://img.shields.io/badge/version-1.0.0-blue.svg?cacheSeconds=2592000" />
|
||||
<img src="https://img.shields.io/badge/node-%3E%3D%206.0.0-blue.svg" />
|
||||
<img src="https://img.shields.io/badge/npm-%3E%3D%203.0.0-blue.svg" />
|
||||
<a href="https://github.com/Nirongxu/vue-xuAdmin/blob/master/README.md">
|
||||
<img alt="Documentation" src="https://img.shields.io/badge/documentation-yes-brightgreen.svg" target="_blank" />
|
||||
</a>
|
||||
<a href="https://github.com/Nirongxu/vue-xuAdmin/blob/master/LICENSE">
|
||||
<img alt="License: MIT" src="https://img.shields.io/badge/License-MIT-yellow.svg" target="_blank" />
|
||||
</a>
|
||||
</p>
|
||||
|
||||
> vue + element-ui 无限级菜单 权限管理 后台模板
|
||||
|
||||
### 🏠 [Homepage](https://nirongxu.github.io/vue-xuAdmin/dist/)
|
||||
## Author
|
||||
|
||||
👤 **NiRongxu**
|
||||
|
||||
* Github: [@NiRongxu](https://github.com/NiRongxu)
|
||||
* QQ: 595485548
|
||||
* email: 595485548@qq.com
|
||||
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- node >= 6.0.0
|
||||
- npm >= 3.0.0
|
||||
|
||||
## Install
|
||||
|
||||
```sh
|
||||
npm install
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
```sh
|
||||
npm run dev
|
||||
```
|
||||
|
||||
## Run tests
|
||||
|
||||
```sh
|
||||
npm run test
|
||||
```
|
||||
|
||||
## 小提示
|
||||
> 这个框架权限是由前端控制的,如果不需要这个模式,可以看我另外一个全栈CMS项目,后台使用的是node框架egg.js+mysql,那个的权限是由后台返回有权限的路由,前端拿到路由后和前端路由表做筛选,得出最终的路由表生成菜单,好处是角色和角色所拥有的权限路由是动态的后台可随时编辑配置的,两种模式按需使用
|
||||

|
||||
|
||||
项目地址: https://github.com/Nirongxu/nodePlatform
|
||||
## 1. vue-xuAdmin 后台模板简介
|
||||
> 这个权限管理就是为了方便,跟系统安全真的不沾边,只是根据后台返回的角色信息来生成他可以看见的菜单和按钮,显示菜单的方法是根据权限删除掉路由表里没有权限的路由,然后再动态添加,原本包含没有访问权限的原路由表只要打开页面运行代码就已经不存在了,并且404页面除了过滤掉项目没有的路由外,同时每次的路由跳转都会鉴权。如果你知道了没有权限的路由试着强行跳转会因为没有权限直接会跳转404。
|
||||
**就算通过查看代码或者其他方法获取全部路由,并且绕过404,花了这么大精力,,那你也看不到新世界的大门,因为所有数据都是通过后台请求返回来的,你没权限后台不会给你数据的,也不会让你去操作,,除非后台不验证权限,只要有人请求我就给你所有数据,,,,**
|
||||
|
||||
项目预览地址:https://nirongxu.github.io/vue-xuAdmin/dist/
|
||||
|
||||
vue-xuAdmin是基于vue2.0全家桶 + element-ui 开发的一个后台模板,实现了无限级菜单,页面、按钮级别的权限管理,为了减少前后端的沟通成本,页面、按钮级别的权限验证和动态路由表的存储校验,也都由前端完成,这样前端新建页面或者删除页面都不需要告诉后台去增加删除路由表
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
## 2. 准备工作
|
||||
-开发环境
|
||||
- node.js v8.0+
|
||||
- webpack v3
|
||||
- git
|
||||
|
||||
-技术栈
|
||||
- ES6+
|
||||
- vue v2.5+
|
||||
- vue-router
|
||||
- vuex
|
||||
- axios
|
||||
- scss
|
||||
- element-ui v2.4+
|
||||
|
||||
## 3. 实现功能
|
||||
```
|
||||
- 登录、退出
|
||||
+ 基于token
|
||||
- 状态拦截、404页面
|
||||
- 动态加载路由
|
||||
- 页面、按钮指令权限管理
|
||||
- 无限级菜单
|
||||
- 封装vue-i18n@8.x国际化组件
|
||||
- 系统全屏化
|
||||
- 菜单收缩
|
||||
- icon 图标
|
||||
+ tab标签导航
|
||||
- 右击快捷功能
|
||||
- 表格拖拽排序
|
||||
- 编辑器
|
||||
- markdown(编辑器目前只封装了这一个组件,重写了markdown编辑和预览的皮肤,实时获取:markdown,html,json 三种格式文本)
|
||||
- Echarts 组件封装
|
||||
|
||||
封装了一些element-ui没有但是常用的组件,正常需要的功能element-ui里面都有,可以直接复制
|
||||
|
||||
```
|
||||
## 4.开发使用
|
||||
### 4.1开发
|
||||
```
|
||||
# 克隆项目
|
||||
git clone https://github.com/Nirongxu/vue-xuAdmin.git
|
||||
|
||||
# 安装依赖 (如果安装失败就多安装几次,实在不行就换淘宝镜像)
|
||||
npm install
|
||||
|
||||
# 启动项目 (已经配置好启动服务自动打开浏览器,如果没自动打开按照控制台输出的地址自己打开)
|
||||
# 如果eslint语法检查报错,直接关掉eslint语法检查
|
||||
npm run dev
|
||||
|
||||
# 启动单元测试
|
||||
npm run unit
|
||||
|
||||
# 启动端到端测试
|
||||
npm run e2e
|
||||
|
||||
# 启动编译打包生产环境
|
||||
npm run build
|
||||
```
|
||||
|
||||
### 4.2使用
|
||||
在开发和使用之前请务必阅读 `vue-xuAdmin`的使用介绍,详细介绍了框架的开发和使用教程
|
||||
- [Vue2.0 + ElementUI 手写权限管理系统后台模板(一)——简述](https://juejin.im/post/5c15332be51d4513ea6ed291)
|
||||
- [Vue2.0 + ElementUI 手写权限管理系统后台模板(二)——权限管理](https://juejin.im/post/5c1552a65188250850604bb0)
|
||||
- [Vue2.0 + ElementUI 手写权限管理系统后台模板(三)——页面搭建](https://juejin.im/post/5c156ae16fb9a049e660250c)
|
||||
- [Vue2.0 + ElementUI 手写权限管理系统后台模板(四)——组件结尾](https://juejin.im/post/5c1605e76fb9a049b41c5cb0)
|
||||
|
||||
## 5. 项目结构说明
|
||||
```
|
||||
|------------build 构建脚本目录
|
||||
|
||||
|---------build.js 生产环境构建脚本
|
||||
|
||||
|---------check-version.js 检查node、npm等版本
|
||||
|
||||
|---------dev-client.js 开发服务器热重载脚本,主要用来实现开发阶段的页面自动刷新
|
||||
|
||||
|---------dev-server.js 运行本地开发服务器
|
||||
|
||||
|---------utils.js 构建相关工具方法
|
||||
|
||||
|---------vebpack.base.conf.js webpack基本配置
|
||||
|
||||
|---------vebpack.dev.conf.js webpack开发环境配置
|
||||
|
||||
|---------vebpack.prod.conf.js webpack生产环境配置
|
||||
|
||||
|------------config 项目配置
|
||||
|
||||
|---------dev.env.js 开发环境变量
|
||||
|
||||
|---------index.js 项目配置文件
|
||||
|
||||
|---------prod.env.js 生产环境变量
|
||||
|
||||
|------------dist 使用生产环境配置构建项目,构建好的目录放到该目录
|
||||
|
||||
|------------node_modules node的依赖包
|
||||
|
||||
|------------src
|
||||
|
||||
|---------assets 资源目录,这里的资源会被webpack构建
|
||||
|
||||
|---------components 组件目录
|
||||
|
||||
|---------i18n 多语言国际化
|
||||
|
||||
|---------router
|
||||
|
||||
|-----------index.js 前端路由
|
||||
|
||||
|---------views 页面文件
|
||||
|
||||
|---------vuex 全局状态管理目录
|
||||
|
||||
|--------App.vue 根组件
|
||||
|
||||
|--------main.js 入口js文件
|
||||
|
||||
|------------static 纯静态资源,不会被webpack构建
|
||||
|
||||
|------------index.html 入口页面
|
||||
|
||||
|------------test 单元测试
|
||||
|
||||
|------------.babelrc ES6语法编译配置
|
||||
|
||||
|-----------.editorconfig 定义代码格式
|
||||
|
||||
|-----------.gitignore git 上传需要忽略的文件
|
||||
|
||||
|-----------package.json 项目基本信息
|
||||
|
||||
---------------------
|
||||
```
|
||||
## 结语
|
||||
如果这个框架对你有帮助的话,请给个星点个star
|
||||
|
||||
## 🤝 Contributing
|
||||
|
||||
Contributions, issues and feature requests are welcome!<br />Feel free to check [issues page](https://github.com/Nirongxu/vue-xuAdmin/issues).
|
||||
|
||||
## Show your support
|
||||
|
||||
Give a ⭐️ if this project helped you!
|
||||
|
||||
## 📝 License
|
||||
|
||||
Copyright © 2019 [NiRongxu](https://github.com/NiRongxu).<br />
|
||||
This project is [MIT](https://github.com/Nirongxu/vue-xuAdmin/blob/master/LICENSE) licensed.
|
||||
|
||||
***
|
||||
_This README was generated with ❤️ by [readme-md-generator](https://github.com/kefranabg/readme-md-generator)_
|
||||
41
build/build.js
Normal file
41
build/build.js
Normal file
@@ -0,0 +1,41 @@
|
||||
'use strict'
|
||||
require('./check-versions')()
|
||||
|
||||
process.env.NODE_ENV = 'production'
|
||||
|
||||
const ora = require('ora')
|
||||
const rm = require('rimraf')
|
||||
const path = require('path')
|
||||
const chalk = require('chalk')
|
||||
const webpack = require('webpack')
|
||||
const config = require('../config')
|
||||
const webpackConfig = require('./webpack.prod.conf')
|
||||
|
||||
const spinner = ora('building for production...')
|
||||
spinner.start()
|
||||
|
||||
rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => {
|
||||
if (err) throw err
|
||||
webpack(webpackConfig, (err, stats) => {
|
||||
spinner.stop()
|
||||
if (err) throw err
|
||||
process.stdout.write(stats.toString({
|
||||
colors: true,
|
||||
modules: false,
|
||||
children: false, // If you are using ts-loader, setting this to true will make TypeScript errors show up during build.
|
||||
chunks: false,
|
||||
chunkModules: false
|
||||
}) + '\n\n')
|
||||
|
||||
if (stats.hasErrors()) {
|
||||
console.log(chalk.red(' Build failed with errors.\n'))
|
||||
process.exit(1)
|
||||
}
|
||||
|
||||
console.log(chalk.cyan(' Build complete.\n'))
|
||||
console.log(chalk.yellow(
|
||||
' Tip: built files are meant to be served over an HTTP server.\n' +
|
||||
' Opening index.html over file:// won\'t work.\n'
|
||||
))
|
||||
})
|
||||
})
|
||||
54
build/check-versions.js
Normal file
54
build/check-versions.js
Normal file
@@ -0,0 +1,54 @@
|
||||
'use strict'
|
||||
const chalk = require('chalk')
|
||||
const semver = require('semver')
|
||||
const packageConfig = require('../package.json')
|
||||
const shell = require('shelljs')
|
||||
|
||||
function exec (cmd) {
|
||||
return require('child_process').execSync(cmd).toString().trim()
|
||||
}
|
||||
|
||||
const versionRequirements = [
|
||||
{
|
||||
name: 'node',
|
||||
currentVersion: semver.clean(process.version),
|
||||
versionRequirement: packageConfig.engines.node
|
||||
}
|
||||
]
|
||||
|
||||
if (shell.which('npm')) {
|
||||
versionRequirements.push({
|
||||
name: 'npm',
|
||||
currentVersion: exec('npm --version'),
|
||||
versionRequirement: packageConfig.engines.npm
|
||||
})
|
||||
}
|
||||
|
||||
module.exports = function () {
|
||||
const warnings = []
|
||||
|
||||
for (let i = 0; i < versionRequirements.length; i++) {
|
||||
const mod = versionRequirements[i]
|
||||
|
||||
if (!semver.satisfies(mod.currentVersion, mod.versionRequirement)) {
|
||||
warnings.push(mod.name + ': ' +
|
||||
chalk.red(mod.currentVersion) + ' should be ' +
|
||||
chalk.green(mod.versionRequirement)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
if (warnings.length) {
|
||||
console.log('')
|
||||
console.log(chalk.yellow('To use this template, you must update following to modules:'))
|
||||
console.log()
|
||||
|
||||
for (let i = 0; i < warnings.length; i++) {
|
||||
const warning = warnings[i]
|
||||
console.log(' ' + warning)
|
||||
}
|
||||
|
||||
console.log()
|
||||
process.exit(1)
|
||||
}
|
||||
}
|
||||
BIN
build/logo.png
Normal file
BIN
build/logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 6.7 KiB |
102
build/utils.js
Normal file
102
build/utils.js
Normal file
@@ -0,0 +1,102 @@
|
||||
'use strict'
|
||||
const path = require('path')
|
||||
const config = require('../config')
|
||||
const ExtractTextPlugin = require('extract-text-webpack-plugin')
|
||||
const packageConfig = require('../package.json')
|
||||
|
||||
exports.assetsPath = function (_path) {
|
||||
const assetsSubDirectory = process.env.NODE_ENV === 'production'
|
||||
? config.build.assetsSubDirectory
|
||||
: config.dev.assetsSubDirectory
|
||||
|
||||
return path.posix.join(assetsSubDirectory, _path)
|
||||
}
|
||||
|
||||
exports.cssLoaders = function (options) {
|
||||
options = options || {}
|
||||
|
||||
const cssLoader = {
|
||||
loader: 'css-loader',
|
||||
options: {
|
||||
sourceMap: options.sourceMap
|
||||
}
|
||||
}
|
||||
|
||||
const postcssLoader = {
|
||||
loader: 'postcss-loader',
|
||||
options: {
|
||||
sourceMap: options.sourceMap
|
||||
}
|
||||
}
|
||||
|
||||
// generate loader string to be used with extract text plugin
|
||||
function generateLoaders (loader, loaderOptions) {
|
||||
const loaders = options.usePostCSS ? [cssLoader, postcssLoader] : [cssLoader]
|
||||
|
||||
if (loader) {
|
||||
loaders.push({
|
||||
loader: loader + '-loader',
|
||||
options: Object.assign({}, loaderOptions, {
|
||||
sourceMap: options.sourceMap
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
// Extract CSS when that option is specified
|
||||
// (which is the case during production build)
|
||||
if (options.extract) {
|
||||
return ExtractTextPlugin.extract({
|
||||
use: loaders,
|
||||
fallback: 'vue-style-loader',
|
||||
publicPath: '../../'
|
||||
})
|
||||
} else {
|
||||
return ['vue-style-loader'].concat(loaders)
|
||||
}
|
||||
}
|
||||
|
||||
// https://vue-loader.vuejs.org/en/configurations/extract-css.html
|
||||
return {
|
||||
css: generateLoaders(),
|
||||
postcss: generateLoaders(),
|
||||
less: generateLoaders('less'),
|
||||
sass: generateLoaders('sass', { indentedSyntax: true }),
|
||||
scss: generateLoaders('sass'),
|
||||
stylus: generateLoaders('stylus'),
|
||||
styl: generateLoaders('stylus')
|
||||
}
|
||||
}
|
||||
|
||||
// Generate loaders for standalone style files (outside of .vue)
|
||||
exports.styleLoaders = function (options) {
|
||||
const output = []
|
||||
const loaders = exports.cssLoaders(options)
|
||||
|
||||
for (const extension in loaders) {
|
||||
const loader = loaders[extension]
|
||||
output.push({
|
||||
test: new RegExp('\\.' + extension + '$'),
|
||||
use: loader
|
||||
})
|
||||
}
|
||||
|
||||
return output
|
||||
}
|
||||
|
||||
exports.createNotifierCallback = () => {
|
||||
const notifier = require('node-notifier')
|
||||
|
||||
return (severity, errors) => {
|
||||
if (severity !== 'error') return
|
||||
|
||||
const error = errors[0]
|
||||
const filename = error.file && error.file.split('!').pop()
|
||||
|
||||
notifier.notify({
|
||||
title: packageConfig.name,
|
||||
message: severity + ': ' + error.name,
|
||||
subtitle: filename || '',
|
||||
icon: path.join(__dirname, 'logo.png')
|
||||
})
|
||||
}
|
||||
}
|
||||
22
build/vue-loader.conf.js
Normal file
22
build/vue-loader.conf.js
Normal file
@@ -0,0 +1,22 @@
|
||||
'use strict'
|
||||
const utils = require('./utils')
|
||||
const config = require('../config')
|
||||
const isProduction = process.env.NODE_ENV === 'production'
|
||||
const sourceMapEnabled = isProduction
|
||||
? config.build.productionSourceMap
|
||||
: config.dev.cssSourceMap
|
||||
|
||||
module.exports = {
|
||||
loaders: utils.cssLoaders({
|
||||
sourceMap: sourceMapEnabled,
|
||||
extract: isProduction
|
||||
}),
|
||||
cssSourceMap: sourceMapEnabled,
|
||||
cacheBusting: config.dev.cacheBusting,
|
||||
transformToRequire: {
|
||||
video: ['src', 'poster'],
|
||||
source: 'src',
|
||||
img: 'src',
|
||||
image: 'xlink:href'
|
||||
}
|
||||
}
|
||||
97
build/webpack.base.conf.js
Normal file
97
build/webpack.base.conf.js
Normal file
@@ -0,0 +1,97 @@
|
||||
'use strict'
|
||||
const path = require('path')
|
||||
const utils = require('./utils')
|
||||
const config = require('../config')
|
||||
const vueLoaderConfig = require('./vue-loader.conf')
|
||||
|
||||
function resolve (dir) {
|
||||
return path.join(__dirname, '..', dir)
|
||||
}
|
||||
|
||||
const createLintingRule = () => ({
|
||||
test: /\.(js|vue)$/,
|
||||
loader: 'eslint-loader',
|
||||
enforce: 'pre',
|
||||
include: [resolve('src'), resolve('test')],
|
||||
options: {
|
||||
formatter: require('eslint-friendly-formatter'),
|
||||
emitWarning: !config.dev.showEslintErrorsInOverlay
|
||||
}
|
||||
})
|
||||
|
||||
module.exports = {
|
||||
context: path.resolve(__dirname, '../'),
|
||||
entry: {
|
||||
app: './src/main.js'
|
||||
},
|
||||
output: {
|
||||
path: config.build.assetsRoot,
|
||||
filename: '[name].js',
|
||||
publicPath: process.env.NODE_ENV === 'production'
|
||||
? config.build.assetsPublicPath
|
||||
: config.dev.assetsPublicPath
|
||||
},
|
||||
resolve: {
|
||||
extensions: ['.js', '.vue', '.json'],
|
||||
alias: {
|
||||
'vue$': 'vue/dist/vue.esm.js',
|
||||
'@': resolve('src'),
|
||||
'jquery': path.resolve(__dirname, '../node_modules/jquery/src/jquery')
|
||||
}
|
||||
},
|
||||
module: {
|
||||
rules: [
|
||||
// ...(config.dev.useEslint ? [createLintingRule()] : []),
|
||||
{
|
||||
test: /\.vue$/,
|
||||
loader: 'vue-loader',
|
||||
options: vueLoaderConfig
|
||||
},
|
||||
{
|
||||
test: /\.js$/,
|
||||
loader: 'babel-loader',
|
||||
include: [resolve('src'), resolve('test'), resolve('node_modules/webpack-dev-server/client')]
|
||||
},
|
||||
{
|
||||
test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
|
||||
loader: 'url-loader',
|
||||
options: {
|
||||
limit: 10000,
|
||||
name: utils.assetsPath('img/[name].[hash:7].[ext]')
|
||||
}
|
||||
},
|
||||
{
|
||||
test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/,
|
||||
loader: 'url-loader',
|
||||
options: {
|
||||
limit: 10000,
|
||||
name: utils.assetsPath('media/[name].[hash:7].[ext]')
|
||||
}
|
||||
},
|
||||
{
|
||||
test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
|
||||
loader: 'url-loader',
|
||||
options: {
|
||||
limit: 10000,
|
||||
name: utils.assetsPath('fonts/[name].[hash:7].[ext]')
|
||||
}
|
||||
},
|
||||
{
|
||||
test: /\.sass$/,
|
||||
loaders: ['style', 'css', 'sass']
|
||||
}
|
||||
]
|
||||
},
|
||||
node: {
|
||||
// prevent webpack from injecting useless setImmediate polyfill because Vue
|
||||
// source contains it (although only uses it if it's native).
|
||||
setImmediate: false,
|
||||
// prevent webpack from injecting mocks to Node native modules
|
||||
// that does not make sense for the client
|
||||
dgram: 'empty',
|
||||
fs: 'empty',
|
||||
net: 'empty',
|
||||
tls: 'empty',
|
||||
child_process: 'empty'
|
||||
}
|
||||
}
|
||||
118
build/webpack.dev.conf.js
Normal file
118
build/webpack.dev.conf.js
Normal file
@@ -0,0 +1,118 @@
|
||||
'use strict'
|
||||
const utils = require('./utils')
|
||||
const webpack = require('webpack')
|
||||
const config = require('../config')
|
||||
const merge = require('webpack-merge')
|
||||
const path = require('path')
|
||||
const baseWebpackConfig = require('./webpack.base.conf')
|
||||
const CopyWebpackPlugin = require('copy-webpack-plugin')
|
||||
const HtmlWebpackPlugin = require('html-webpack-plugin')
|
||||
const FriendlyErrorsPlugin = require('friendly-errors-webpack-plugin')
|
||||
const portfinder = require('portfinder')
|
||||
|
||||
const HOST = process.env.HOST
|
||||
const PORT = process.env.PORT && Number(process.env.PORT)
|
||||
|
||||
const devWebpackConfig = merge(baseWebpackConfig, {
|
||||
module: {
|
||||
rules: utils.styleLoaders({ sourceMap: config.dev.cssSourceMap, usePostCSS: true })
|
||||
},
|
||||
// cheap-module-eval-source-map is faster for development
|
||||
devtool: config.dev.devtool,
|
||||
|
||||
// these devServer options should be customized in /config/index.js
|
||||
devServer: {
|
||||
clientLogLevel: 'warning',
|
||||
historyApiFallback: {
|
||||
rewrites: [
|
||||
{ from: /.*/, to: path.posix.join(config.dev.assetsPublicPath, 'index.html') },
|
||||
],
|
||||
},
|
||||
hot: true,
|
||||
contentBase: false, // since we use CopyWebpackPlugin.
|
||||
compress: true,
|
||||
host: HOST || config.dev.host,
|
||||
port: PORT || config.dev.port,
|
||||
open: config.dev.autoOpenBrowser,
|
||||
overlay: config.dev.errorOverlay
|
||||
? { warnings: false, errors: true }
|
||||
: false,
|
||||
publicPath: config.dev.assetsPublicPath,
|
||||
proxy: config.dev.proxyTable,
|
||||
quiet: true, // necessary for FriendlyErrorsPlugin
|
||||
watchOptions: {
|
||||
poll: config.dev.poll,
|
||||
}
|
||||
},
|
||||
plugins: [
|
||||
new webpack.DefinePlugin({
|
||||
'process.env': require('../config/dev.env')
|
||||
}),
|
||||
new webpack.HotModuleReplacementPlugin(),
|
||||
new webpack.NamedModulesPlugin(), // HMR shows correct file names in console on update.
|
||||
new webpack.NoEmitOnErrorsPlugin(),
|
||||
// https://github.com/ampedandwired/html-webpack-plugin
|
||||
new HtmlWebpackPlugin({
|
||||
filename: 'index.html',
|
||||
template: 'index.html',
|
||||
favicon: path.resolve(__dirname, '../src/assets/favicon.ico'),
|
||||
inject: true
|
||||
}),
|
||||
// copy custom static assets
|
||||
new CopyWebpackPlugin([
|
||||
{
|
||||
from: path.resolve(__dirname, '../static'),
|
||||
to: config.dev.assetsSubDirectory,
|
||||
ignore: ['.*']
|
||||
}
|
||||
])
|
||||
]
|
||||
})
|
||||
|
||||
module.exports = new Promise((resolve, reject) => {
|
||||
portfinder.basePort = process.env.PORT || config.dev.port
|
||||
portfinder.getPort((err, port) => {
|
||||
if (err) {
|
||||
reject(err)
|
||||
} else {
|
||||
// publish the new Port, necessary for e2e tests
|
||||
process.env.PORT = port
|
||||
// add port to devServer config
|
||||
devWebpackConfig.devServer.port = port
|
||||
|
||||
// Add FriendlyErrorsPlugin
|
||||
devWebpackConfig.plugins.push(new FriendlyErrorsPlugin({
|
||||
compilationSuccessInfo: {
|
||||
messages: [`Your application is running here: http://${devWebpackConfig.devServer.host}:${port}`],
|
||||
// notes: [` _ _ _ _ _ _- _ _ _ _ _ _ _ _ _ _ _ _ _ _
|
||||
// (c).-.(c) (c).-.(c) (c).-.(c) (c).-.(c) (c).-.(c) (c).-.(c) (c).-.(c) (c).-.(c) (c).-.(c) (c).-.(c)
|
||||
// / ._. \\ / ._. \\ / ._. \\ / ._. \\ / ._. \\ / ._. \\ / ._. \\ / ._. \\ / ._. \\ / ._. \\
|
||||
// __\\( N )/__ __\\( i )/__ __\\( - )/__ __\\( R )/__ __\\( o )/__ __\\( n )/__ __\\( g )/__ __\\( - )/__ __\\( X )/__ __\\( u )/__
|
||||
// (_.-/'-'\\-._)(_.-/'-'\\-._)(_.-/'-'\\-._)(_.-/'-'\\-._)(_.-/'-'\\-._)(_.-/'-'\\-._)(_.-/'-'\\-._)(_.-/'-'\\-._)(_.-/'-'\\-._)(_.-/'-'\\-._)
|
||||
// || V || || u || || e || || x || || u || || A || || d || || m || || i || || n ||
|
||||
// _.' \`-' '._ _.' \`-' '._ _.' \`-' '._ _.' \`-' '._ _.' \`-' '._ _.' \`-' '._ _.' \`-' '._ _.' \`-' '._ _.' \`-' '._ _.' \`-' '._
|
||||
// (.-./\`-'\\.-.)(.-./\`-'\\.-.)(.-./\`-'\\.-.)(.-./\`-'\\.-.)(.-./\`-'\\.-.)(.-./\`-'\\.-.)(.-./\`-'\\.-.)(.-./\`-'\\.-.)(.-./\`-'\\.-.)(.-./\`-'\\.-.)
|
||||
// \`-' \`-' \`-' \`-' \`-' \`-' \`-' \`-' \`-' \`-' \`-' \`-' \`-' \`-' \`-' \`-' \`-' \`-' \`-' \`-' `]
|
||||
notes: [`
|
||||
$$$$$$\\ $$\\ $$\\
|
||||
$$ __$$\\ $$ | \\__|
|
||||
$$\\ $$\\ $$\\ $$\\ $$$$$$\\ $$\\ $$\\ $$\\ $$\\ $$ / $$ | $$$$$$$ |$$$$$$\\$$$$\\ $$\\ $$$$$$$\\
|
||||
\\$$\\ $$ |$$ | $$ |$$ __$$\\ $$$$$$\\\\$$\\ $$ |$$ | $$ |$$$$$$$$ |$$ __$$ |$$ _$$ _$$\\ $$ |$$ __$$\\
|
||||
\\$$\\$$ / $$ | $$ |$$$$$$$$ |\\______|\\$$$$ / $$ | $$ |$$ __$$ |$$ / $$ |$$ / $$ / $$ |$$ |$$ | $$ |
|
||||
\\$$$ / $$ | $$ |$$ ____| $$ $$< $$ | $$ |$$ | $$ |$$ | $$ |$$ | $$ | $$ |$$ |$$ | $$ |
|
||||
\\$ / \\$$$$$$ |\\$$$$$$$\\ $$ /\\$$\\ \\$$$$$$ |$$ | $$ |\\$$$$$$$ |$$ | $$ | $$ |$$ |$$ | $$ |
|
||||
\\_/ \\______/ \\_______| \\__/ \\__| \\______/ \\__| \\__| \\_______|\\__| \\__| \\__|\\__|\\__| \\__|
|
||||
|
||||
|
||||
|
||||
`]
|
||||
},
|
||||
onErrors: config.dev.notifyOnErrors
|
||||
? utils.createNotifierCallback()
|
||||
: undefined
|
||||
}))
|
||||
|
||||
resolve(devWebpackConfig)
|
||||
}
|
||||
})
|
||||
})
|
||||
150
build/webpack.prod.conf.js
Normal file
150
build/webpack.prod.conf.js
Normal file
@@ -0,0 +1,150 @@
|
||||
'use strict'
|
||||
const path = require('path')
|
||||
const utils = require('./utils')
|
||||
const webpack = require('webpack')
|
||||
const config = require('../config')
|
||||
const merge = require('webpack-merge')
|
||||
const baseWebpackConfig = require('./webpack.base.conf')
|
||||
const CopyWebpackPlugin = require('copy-webpack-plugin')
|
||||
const HtmlWebpackPlugin = require('html-webpack-plugin')
|
||||
const ExtractTextPlugin = require('extract-text-webpack-plugin')
|
||||
const OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin')
|
||||
const UglifyJsPlugin = require('uglifyjs-webpack-plugin')
|
||||
|
||||
const env = process.env.NODE_ENV === 'testing'
|
||||
? require('../config/test.env')
|
||||
: require('../config/prod.env')
|
||||
|
||||
const webpackConfig = merge(baseWebpackConfig, {
|
||||
module: {
|
||||
rules: utils.styleLoaders({
|
||||
sourceMap: config.build.productionSourceMap,
|
||||
extract: true,
|
||||
usePostCSS: true
|
||||
})
|
||||
},
|
||||
devtool: config.build.productionSourceMap ? config.build.devtool : false,
|
||||
output: {
|
||||
path: config.build.assetsRoot,
|
||||
filename: utils.assetsPath('js/[name].[chunkhash].js'),
|
||||
chunkFilename: utils.assetsPath('js/[id].[chunkhash].js')
|
||||
},
|
||||
plugins: [
|
||||
// http://vuejs.github.io/vue-loader/en/workflow/production.html
|
||||
new webpack.DefinePlugin({
|
||||
'process.env': env
|
||||
}),
|
||||
new UglifyJsPlugin({
|
||||
uglifyOptions: {
|
||||
compress: {
|
||||
warnings: false
|
||||
}
|
||||
},
|
||||
sourceMap: config.build.productionSourceMap,
|
||||
parallel: true
|
||||
}),
|
||||
// extract css into its own file
|
||||
new ExtractTextPlugin({
|
||||
filename: utils.assetsPath('css/[name].[contenthash].css'),
|
||||
// Setting the following option to `false` will not extract CSS from codesplit chunks.
|
||||
// Their CSS will instead be inserted dynamically with style-loader when the codesplit chunk has been loaded by webpack.
|
||||
// It's currently set to `true` because we are seeing that sourcemaps are included in the codesplit bundle as well when it's `false`,
|
||||
// increasing file size: https://github.com/vuejs-templates/webpack/issues/1110
|
||||
allChunks: true,
|
||||
}),
|
||||
// Compress extracted CSS. We are using this plugin so that possible
|
||||
// duplicated CSS from different components can be deduped.
|
||||
new OptimizeCSSPlugin({
|
||||
cssProcessorOptions: config.build.productionSourceMap
|
||||
? { safe: true, map: { inline: false } }
|
||||
: { safe: true }
|
||||
}),
|
||||
// generate dist index.html with correct asset hash for caching.
|
||||
// you can customize output by editing /index.html
|
||||
// see https://github.com/ampedandwired/html-webpack-plugin
|
||||
new HtmlWebpackPlugin({
|
||||
filename: process.env.NODE_ENV === 'testing'
|
||||
? 'index.html'
|
||||
: config.build.index,
|
||||
template: 'index.html',
|
||||
favicon: path.resolve(__dirname, '../src/assets/favicon.ico'),
|
||||
inject: true,
|
||||
minify: {
|
||||
removeComments: true,
|
||||
collapseWhitespace: true,
|
||||
removeAttributeQuotes: true
|
||||
// more options:
|
||||
// https://github.com/kangax/html-minifier#options-quick-reference
|
||||
},
|
||||
// necessary to consistently work with multiple chunks via CommonsChunkPlugin
|
||||
chunksSortMode: 'dependency'
|
||||
}),
|
||||
// keep module.id stable when vendor modules does not change
|
||||
new webpack.HashedModuleIdsPlugin(),
|
||||
// enable scope hoisting
|
||||
new webpack.optimize.ModuleConcatenationPlugin(),
|
||||
// split vendor js into its own file
|
||||
new webpack.optimize.CommonsChunkPlugin({
|
||||
name: 'vendor',
|
||||
minChunks (module) {
|
||||
// any required modules inside node_modules are extracted to vendor
|
||||
return (
|
||||
module.resource &&
|
||||
/\.js$/.test(module.resource) &&
|
||||
module.resource.indexOf(
|
||||
path.join(__dirname, '../node_modules')
|
||||
) === 0
|
||||
)
|
||||
}
|
||||
}),
|
||||
// extract webpack runtime and module manifest to its own file in order to
|
||||
// prevent vendor hash from being updated whenever app bundle is updated
|
||||
new webpack.optimize.CommonsChunkPlugin({
|
||||
name: 'manifest',
|
||||
minChunks: Infinity
|
||||
}),
|
||||
// This instance extracts shared chunks from code splitted chunks and bundles them
|
||||
// in a separate chunk, similar to the vendor chunk
|
||||
// see: https://webpack.js.org/plugins/commons-chunk-plugin/#extra-async-commons-chunk
|
||||
new webpack.optimize.CommonsChunkPlugin({
|
||||
name: 'app',
|
||||
async: 'vendor-async',
|
||||
children: true,
|
||||
minChunks: 3
|
||||
}),
|
||||
|
||||
// copy custom static assets
|
||||
new CopyWebpackPlugin([
|
||||
{
|
||||
from: path.resolve(__dirname, '../static'),
|
||||
to: config.build.assetsSubDirectory,
|
||||
ignore: ['.*']
|
||||
}
|
||||
])
|
||||
]
|
||||
})
|
||||
|
||||
if (config.build.productionGzip) {
|
||||
const CompressionWebpackPlugin = require('compression-webpack-plugin')
|
||||
|
||||
webpackConfig.plugins.push(
|
||||
new CompressionWebpackPlugin({
|
||||
asset: '[path].gz[query]',
|
||||
algorithm: 'gzip',
|
||||
test: new RegExp(
|
||||
'\\.(' +
|
||||
config.build.productionGzipExtensions.join('|') +
|
||||
')$'
|
||||
),
|
||||
threshold: 10240,
|
||||
minRatio: 0.8
|
||||
})
|
||||
)
|
||||
}
|
||||
|
||||
if (config.build.bundleAnalyzerReport) {
|
||||
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin
|
||||
webpackConfig.plugins.push(new BundleAnalyzerPlugin())
|
||||
}
|
||||
|
||||
module.exports = webpackConfig
|
||||
7
config/dev.env.js
Normal file
7
config/dev.env.js
Normal file
@@ -0,0 +1,7 @@
|
||||
'use strict'
|
||||
const merge = require('webpack-merge')
|
||||
const prodEnv = require('./prod.env')
|
||||
|
||||
module.exports = merge(prodEnv, {
|
||||
NODE_ENV: '"development"'
|
||||
})
|
||||
76
config/index.js
Normal file
76
config/index.js
Normal file
@@ -0,0 +1,76 @@
|
||||
'use strict'
|
||||
// Template version: 1.3.1
|
||||
// see http://vuejs-templates.github.io/webpack for documentation.
|
||||
|
||||
const path = require('path')
|
||||
|
||||
module.exports = {
|
||||
dev: {
|
||||
|
||||
// Paths
|
||||
assetsSubDirectory: 'static',
|
||||
assetsPublicPath: '/',
|
||||
proxyTable: {},
|
||||
|
||||
// Various Dev Server settings
|
||||
host: 'localhost', // can be overwritten by process.env.HOST
|
||||
port: 8081, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
|
||||
autoOpenBrowser: true,
|
||||
errorOverlay: true,
|
||||
notifyOnErrors: true,
|
||||
poll: false, // https://webpack.js.org/configuration/dev-server/#devserver-watchoptions-
|
||||
|
||||
// Use Eslint Loader?
|
||||
// If true, your code will be linted during bundling and
|
||||
// linting errors and warnings will be shown in the console.
|
||||
useEslint: true,
|
||||
// If true, eslint errors and warnings will also be shown in the error overlay
|
||||
// in the browser.
|
||||
showEslintErrorsInOverlay: false,
|
||||
|
||||
/**
|
||||
* Source Maps
|
||||
*/
|
||||
|
||||
// https://webpack.js.org/configuration/devtool/#development
|
||||
devtool: 'cheap-module-eval-source-map',
|
||||
|
||||
// If you have problems debugging vue-files in devtools,
|
||||
// set this to false - it *may* help
|
||||
// https://vue-loader.vuejs.org/en/options.html#cachebusting
|
||||
cacheBusting: true,
|
||||
|
||||
cssSourceMap: true
|
||||
},
|
||||
|
||||
build: {
|
||||
// Template for index.html
|
||||
index: path.resolve(__dirname, '../dist/index.html'),
|
||||
|
||||
// Paths
|
||||
assetsRoot: path.resolve(__dirname, '../dist'),
|
||||
assetsSubDirectory: 'static',
|
||||
assetsPublicPath: './',
|
||||
|
||||
/**
|
||||
* Source Maps
|
||||
*/
|
||||
|
||||
productionSourceMap: true,
|
||||
// https://webpack.js.org/configuration/devtool/#production
|
||||
devtool: '#source-map',
|
||||
|
||||
// Gzip off by default as many popular static hosts such as
|
||||
// Surge or Netlify already gzip all static assets for you.
|
||||
// Before setting to `true`, make sure to:
|
||||
// npm install --save-dev compression-webpack-plugin
|
||||
productionGzip: false,
|
||||
productionGzipExtensions: ['js', 'css'],
|
||||
|
||||
// Run the build command with an extra argument to
|
||||
// View the bundle analyzer report after build finishes:
|
||||
// `npm run build --report`
|
||||
// Set to `true` or `false` to always turn it on or off
|
||||
bundleAnalyzerReport: process.env.npm_config_report
|
||||
}
|
||||
}
|
||||
4
config/prod.env.js
Normal file
4
config/prod.env.js
Normal file
@@ -0,0 +1,4 @@
|
||||
'use strict'
|
||||
module.exports = {
|
||||
NODE_ENV: '"production"'
|
||||
}
|
||||
7
config/test.env.js
Normal file
7
config/test.env.js
Normal file
@@ -0,0 +1,7 @@
|
||||
'use strict'
|
||||
const merge = require('webpack-merge')
|
||||
const devEnv = require('./dev.env')
|
||||
|
||||
module.exports = merge(devEnv, {
|
||||
NODE_ENV: '"testing"'
|
||||
})
|
||||
BIN
dist/favicon.ico
vendored
Normal file
BIN
dist/favicon.ico
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.2 KiB |
1
dist/index.html
vendored
Normal file
1
dist/index.html
vendored
Normal file
@@ -0,0 +1 @@
|
||||
<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><title>vue-xuAdmin权限管理后台模板</title><link rel="shortcut icon" href=./favicon.ico><link href=./static/css/app.c9ac944aa47ab861ea9e1a592945e7d9.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.b14a6c36bb1f29714483.js></script><script type=text/javascript src=./static/js/vendor.6c569533e81d92501246.js></script><script type=text/javascript src=./static/js/app.c18387d0c5ea119cfe04.js></script></body></html>
|
||||
7
dist/static/css/app.c9ac944aa47ab861ea9e1a592945e7d9.css
vendored
Normal file
7
dist/static/css/app.c9ac944aa47ab861ea9e1a592945e7d9.css
vendored
Normal file
File diff suppressed because one or more lines are too long
1
dist/static/css/app.c9ac944aa47ab861ea9e1a592945e7d9.css.map
vendored
Normal file
1
dist/static/css/app.c9ac944aa47ab861ea9e1a592945e7d9.css.map
vendored
Normal file
File diff suppressed because one or more lines are too long
13
dist/static/fit.config.js
vendored
Normal file
13
dist/static/fit.config.js
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
import figlet from 'figlet'
|
||||
// 花式控制台
|
||||
export default function fig () {
|
||||
figlet('JDC O2 Team', function (err, data) {
|
||||
if (err) {
|
||||
console.log('Something went wrong...')
|
||||
console.dir(err)
|
||||
return
|
||||
}
|
||||
debugger
|
||||
console.log(data)
|
||||
})
|
||||
}
|
||||
BIN
dist/static/fonts/element-icons.6f0a763.ttf
vendored
Normal file
BIN
dist/static/fonts/element-icons.6f0a763.ttf
vendored
Normal file
Binary file not shown.
BIN
dist/static/fonts/fontawesome-webfont.674f50d.eot
vendored
Normal file
BIN
dist/static/fonts/fontawesome-webfont.674f50d.eot
vendored
Normal file
Binary file not shown.
BIN
dist/static/fonts/fontawesome-webfont.af7ae50.woff2
vendored
Normal file
BIN
dist/static/fonts/fontawesome-webfont.af7ae50.woff2
vendored
Normal file
Binary file not shown.
BIN
dist/static/fonts/fontawesome-webfont.b06871f.ttf
vendored
Normal file
BIN
dist/static/fonts/fontawesome-webfont.b06871f.ttf
vendored
Normal file
Binary file not shown.
BIN
dist/static/fonts/fontawesome-webfont.fee66e7.woff
vendored
Normal file
BIN
dist/static/fonts/fontawesome-webfont.fee66e7.woff
vendored
Normal file
Binary file not shown.
BIN
dist/static/images/icon.jpg
vendored
Normal file
BIN
dist/static/images/icon.jpg
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 43 KiB |
2671
dist/static/img/fontawesome-webfont.912ec66.svg
vendored
Normal file
2671
dist/static/img/fontawesome-webfont.912ec66.svg
vendored
Normal file
File diff suppressed because it is too large
Load Diff
|
After Width: | Height: | Size: 434 KiB |
41
dist/static/img/iconfont.dd8285f.svg
vendored
Normal file
41
dist/static/img/iconfont.dd8285f.svg
vendored
Normal file
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 31 KiB |
BIN
dist/static/img/sign.39acb98.png
vendored
Normal file
BIN
dist/static/img/sign.39acb98.png
vendored
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 15 KiB |
23
dist/static/js/0.a0770adcec9fb1c7f373.js
vendored
Normal file
23
dist/static/js/0.a0770adcec9fb1c7f373.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
dist/static/js/0.a0770adcec9fb1c7f373.js.map
vendored
Normal file
1
dist/static/js/0.a0770adcec9fb1c7f373.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
13
dist/static/js/1.2228238d84d5236a8720.js
vendored
Normal file
13
dist/static/js/1.2228238d84d5236a8720.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
dist/static/js/1.2228238d84d5236a8720.js.map
vendored
Normal file
1
dist/static/js/1.2228238d84d5236a8720.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
2
dist/static/js/10.90a682b9a86bf57c5e08.js
vendored
Normal file
2
dist/static/js/10.90a682b9a86bf57c5e08.js
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
webpackJsonp([10],{BPLX:function(e,n){},UNG5:function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var a={render:function(){var e=this.$createElement;return(this._self._c||e)("div",[this._v("\n 无限级菜单测试======三级22222222页面\n")])},staticRenderFns:[]};var r=t("VU/8")({name:"sanji1"},a,!1,function(e){t("BPLX")},"data-v-7ccd8aa0",null);n.default=r.exports}});
|
||||
//# sourceMappingURL=10.90a682b9a86bf57c5e08.js.map
|
||||
1
dist/static/js/10.90a682b9a86bf57c5e08.js.map
vendored
Normal file
1
dist/static/js/10.90a682b9a86bf57c5e08.js.map
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["webpack:///src/views/duoji/sanji2.vue","webpack:///./src/views/duoji/sanji2.vue?ddb5","webpack:///./src/views/duoji/sanji2.vue"],"names":["duoji_sanji2","render","_h","this","$createElement","_self","_c","_v","staticRenderFns","Component","__webpack_require__","normalizeComponent","ssrContext","__webpack_exports__"],"mappings":"2HAOA,ICJAA,GADiBC,OAFjB,WAA0B,IAAaC,EAAbC,KAAaC,eAAkD,OAA/DD,KAAuCE,MAAAC,IAAAJ,GAAwB,OAA/DC,KAA+DI,GAAA,sCAExEC,oBCCjB,IAcAC,EAdAC,EAAA,OAcAC,OFRA,UEUAX,GATA,EAVA,SAAAY,GACAF,EAAA,SAaA,kBAEA,MAUAG,EAAA,QAAAJ,EAAA","file":"static/js/10.90a682b9a86bf57c5e08.js","sourcesContent":["<template>\r\n <div>\r\n 无限级菜单测试======三级22222222页面\r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n name: 'sanji1'\r\n}\r\n</script>\r\n\r\n<style scoped>\r\n\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/duoji/sanji2.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_vm._v(\"\\n 无限级菜单测试======三级22222222页面\\n\")])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-7ccd8aa0\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/duoji/sanji2.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-7ccd8aa0\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./sanji2.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./sanji2.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./sanji2.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-7ccd8aa0\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./sanji2.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-7ccd8aa0\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/duoji/sanji2.vue\n// module id = null\n// module chunks = "],"sourceRoot":""}
|
||||
2
dist/static/js/11.f818f6bd6a44ad0a701d.js
vendored
Normal file
2
dist/static/js/11.f818f6bd6a44ad0a701d.js
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
webpackJsonp([11],{pDWz:function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var l={name:"transfer",data:function(){this.$createElement;return{data:function(e){for(var t=[],a=1;a<=15;a++)t.push({key:a,label:"备选项 "+a,disabled:a%4==0});return t}(),value1:[1,4],data2:function(e){var t=[],a=["shanghai","beijing","guangzhou","shenzhen","nanjing","xian","chengdu"];return["上海","北京","广州","深圳","南京","西安","成都"].forEach(function(e,l){t.push({label:e,key:l,pinyin:a[l]})}),t}(),value2:[],filterMethod:function(e,t){return t.pinyin.indexOf(e)>-1},data3:function(e){for(var t=[],a=1;a<=15;a++)t.push({key:a,label:"备选项 "+a,disabled:a%4==0});return t}(),value3:[1],value4:[1],renderFunc:function(e,t){return e("span",[t.key," - ",t.label])}}},methods:{handleChange:function(e,t,a){console.log(e,t,a)}}},n={render:function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("h3",[e._v("基础用法")]),e._v(" "),[a("el-transfer",{attrs:{data:e.data},model:{value:e.value1,callback:function(t){e.value1=t},expression:"value1"}})],e._v(" "),a("h3",[e._v("可搜索")]),e._v(" "),a("p",[e._v("在数据很多的情况下,可以对数据进行搜索和过滤。")]),e._v(" "),[a("el-transfer",{attrs:{filterable:"","filter-method":e.filterMethod,"filter-placeholder":"请输入城市拼音",data:e.data2},model:{value:e.value2,callback:function(t){e.value2=t},expression:"value2"}})],e._v(" "),a("h3",[e._v("可自定义")]),e._v(" "),a("p",[e._v("可以对列表标题文案、按钮文案、数据项的渲染函数、列表底部的勾选状态文案、列表底部的内容区等进行自定义。")]),e._v(" "),[a("p",{staticStyle:{"text-align":"center",margin:"0 0 20px"}},[e._v("使用 render-content 自定义数据项")]),e._v(" "),a("div",{staticStyle:{"text-align":"center"}},[a("el-transfer",{staticStyle:{"text-align":"left",display:"inline-block"},attrs:{filterable:"","left-default-checked":[2,3],"right-default-checked":[1],"render-content":e.renderFunc,titles:["Source","Target"],"button-texts":["到左边","到右边"],format:{noChecked:"${total}",hasChecked:"${checked}/${total}"},data:e.data3},on:{change:e.handleChange},model:{value:e.value3,callback:function(t){e.value3=t},expression:"value3"}},[a("el-button",{staticClass:"transfer-footer",attrs:{slot:"left-footer",size:"small"},slot:"left-footer"},[e._v("操作")]),e._v(" "),a("el-button",{staticClass:"transfer-footer",attrs:{slot:"right-footer",size:"small"},slot:"right-footer"},[e._v("操作")])],1)],1),e._v(" "),a("p",{staticStyle:{"text-align":"center",margin:"50px 0 20px"}},[e._v("使用 scoped-slot 自定义数据项")]),e._v(" "),a("div",{staticStyle:{"text-align":"center"}},[a("el-transfer",{staticStyle:{"text-align":"left",display:"inline-block"},attrs:{filterable:"","left-default-checked":[2,3],"right-default-checked":[1],titles:["Source","Target"],"button-texts":["到左边","到右边"],format:{noChecked:"${total}",hasChecked:"${checked}/${total}"},data:e.data},on:{change:e.handleChange},scopedSlots:e._u([{key:"default",fn:function(t){var l=t.option;return a("span",{},[e._v(e._s(l.key)+" - "+e._s(l.label))])}}]),model:{value:e.value4,callback:function(t){e.value4=t},expression:"value4"}},[a("el-button",{staticClass:"transfer-footer",attrs:{slot:"left-footer",size:"small"},slot:"left-footer"},[e._v("操作")]),e._v(" "),a("el-button",{staticClass:"transfer-footer",attrs:{slot:"right-footer",size:"small"},slot:"right-footer"},[e._v("操作")])],1)],1)]],2)},staticRenderFns:[]};var r=a("VU/8")(l,n,!1,function(e){a("uvcn")},"data-v-6fdb7bf8",null);t.default=r.exports},uvcn:function(e,t){}});
|
||||
//# sourceMappingURL=11.f818f6bd6a44ad0a701d.js.map
|
||||
1
dist/static/js/11.f818f6bd6a44ad0a701d.js.map
vendored
Normal file
1
dist/static/js/11.f818f6bd6a44ad0a701d.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
2
dist/static/js/12.fae98b270aa8d49cc7b3.js
vendored
Normal file
2
dist/static/js/12.fae98b270aa8d49cc7b3.js
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
webpackJsonp([12],{YncQ:function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var c={render:function(){var e=this.$createElement;return(this._self._c||e)("div",[this._v("\n 无限级菜单测试======三级页面\n")])},staticRenderFns:[]};var r=t("VU/8")({name:"sanji"},c,!1,function(e){t("cZZ+")},"data-v-66f0d0d6",null);n.default=r.exports},"cZZ+":function(e,n){}});
|
||||
//# sourceMappingURL=12.fae98b270aa8d49cc7b3.js.map
|
||||
1
dist/static/js/12.fae98b270aa8d49cc7b3.js.map
vendored
Normal file
1
dist/static/js/12.fae98b270aa8d49cc7b3.js.map
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["webpack:///src/views/duoji/sanji.vue","webpack:///./src/views/duoji/sanji.vue?5c05","webpack:///./src/views/duoji/sanji.vue"],"names":["duoji_sanji","render","_h","this","$createElement","_self","_c","_v","staticRenderFns","Component","__webpack_require__","normalizeComponent","ssrContext","__webpack_exports__"],"mappings":"sGAOA,ICJAA,GADiBC,OAFjB,WAA0B,IAAaC,EAAbC,KAAaC,eAAkD,OAA/DD,KAAuCE,MAAAC,IAAAJ,GAAwB,OAA/DC,KAA+DI,GAAA,8BAExEC,oBCCjB,IAcAC,EAdAC,EAAA,OAcAC,OFRA,SEUAX,GATA,EAVA,SAAAY,GACAF,EAAA,SAaA,kBAEA,MAUAG,EAAA,QAAAJ,EAAA","file":"static/js/12.fae98b270aa8d49cc7b3.js","sourcesContent":["<template>\r\n <div>\r\n 无限级菜单测试======三级页面\r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n name: 'sanji'\r\n}\r\n</script>\r\n\r\n<style scoped>\r\n\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/duoji/sanji.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_vm._v(\"\\n 无限级菜单测试======三级页面\\n\")])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-66f0d0d6\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/duoji/sanji.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-66f0d0d6\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./sanji.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./sanji.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./sanji.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-66f0d0d6\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./sanji.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-66f0d0d6\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/duoji/sanji.vue\n// module id = null\n// module chunks = "],"sourceRoot":""}
|
||||
2
dist/static/js/13.0c44804c4eff77f70797.js
vendored
Normal file
2
dist/static/js/13.0c44804c4eff77f70797.js
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
webpackJsonp([13],{"h+4q":function(e,n){},w3dq:function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r={render:function(){var e=this.$createElement;return(this._self._c||e)("div",[this._v("\n 无限级菜单测试======二级页面\n")])},staticRenderFns:[]};var a=t("VU/8")({name:"erji"},r,!1,function(e){t("h+4q")},"data-v-640a51bc",null);n.default=a.exports}});
|
||||
//# sourceMappingURL=13.0c44804c4eff77f70797.js.map
|
||||
1
dist/static/js/13.0c44804c4eff77f70797.js.map
vendored
Normal file
1
dist/static/js/13.0c44804c4eff77f70797.js.map
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["webpack:///src/views/duoji/erji.vue","webpack:///./src/views/duoji/erji.vue?ee89","webpack:///./src/views/duoji/erji.vue"],"names":["duoji_erji","render","_h","this","$createElement","_self","_c","_v","staticRenderFns","Component","__webpack_require__","normalizeComponent","ssrContext","__webpack_exports__"],"mappings":"6HAOA,ICJAA,GADiBC,OAFjB,WAA0B,IAAaC,EAAbC,KAAaC,eAAkD,OAA/DD,KAAuCE,MAAAC,IAAAJ,GAAwB,OAA/DC,KAA+DI,GAAA,8BAExEC,oBCCjB,IAcAC,EAdAC,EAAA,OAcAC,OFRA,QEUAX,GATA,EAVA,SAAAY,GACAF,EAAA,SAaA,kBAEA,MAUAG,EAAA,QAAAJ,EAAA","file":"static/js/13.0c44804c4eff77f70797.js","sourcesContent":["<template>\r\n <div>\r\n 无限级菜单测试======二级页面\r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n name: 'erji'\r\n}\r\n</script>\r\n\r\n<style scoped>\r\n\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/duoji/erji.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_vm._v(\"\\n 无限级菜单测试======二级页面\\n\")])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-640a51bc\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/duoji/erji.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-640a51bc\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./erji.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./erji.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./erji.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-640a51bc\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./erji.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-640a51bc\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/duoji/erji.vue\n// module id = null\n// module chunks = "],"sourceRoot":""}
|
||||
2
dist/static/js/14.47a9617f9343569a290b.js
vendored
Normal file
2
dist/static/js/14.47a9617f9343569a290b.js
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
webpackJsonp([14],{o9mD:function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r={render:function(){var e=this.$createElement;return(this._self._c||e)("div",[this._v("\n 无限级菜单测试======四级页面\n")])},staticRenderFns:[]};var i=t("VU/8")({name:"siji"},r,!1,function(e){t("r7bU")},"data-v-5c7290d1",null);n.default=i.exports},r7bU:function(e,n){}});
|
||||
//# sourceMappingURL=14.47a9617f9343569a290b.js.map
|
||||
1
dist/static/js/14.47a9617f9343569a290b.js.map
vendored
Normal file
1
dist/static/js/14.47a9617f9343569a290b.js.map
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["webpack:///src/views/duoji/siji.vue","webpack:///./src/views/duoji/siji.vue?1eff","webpack:///./src/views/duoji/siji.vue"],"names":["duoji_siji","render","_h","this","$createElement","_self","_c","_v","staticRenderFns","Component","__webpack_require__","normalizeComponent","ssrContext","__webpack_exports__"],"mappings":"sGAOA,ICJAA,GADiBC,OAFjB,WAA0B,IAAaC,EAAbC,KAAaC,eAAkD,OAA/DD,KAAuCE,MAAAC,IAAAJ,GAAwB,OAA/DC,KAA+DI,GAAA,8BAExEC,oBCCjB,IAcAC,EAdAC,EAAA,OAcAC,OFRA,QEUAX,GATA,EAVA,SAAAY,GACAF,EAAA,SAaA,kBAEA,MAUAG,EAAA,QAAAJ,EAAA","file":"static/js/14.47a9617f9343569a290b.js","sourcesContent":["<template>\r\n <div>\r\n 无限级菜单测试======四级页面\r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n name: 'siji'\r\n}\r\n</script>\r\n\r\n<style scoped>\r\n\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/duoji/siji.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_vm._v(\"\\n 无限级菜单测试======四级页面\\n\")])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-5c7290d1\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/duoji/siji.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-5c7290d1\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./siji.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./siji.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./siji.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-5c7290d1\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./siji.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-5c7290d1\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/duoji/siji.vue\n// module id = null\n// module chunks = "],"sourceRoot":""}
|
||||
2
dist/static/js/15.5da0581bd5c97c03d678.js
vendored
Normal file
2
dist/static/js/15.5da0581bd5c97c03d678.js
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
webpackJsonp([15],{"5SaS":function(e,a,i){"use strict";Object.defineProperty(a,"__esModule",{value:!0});var n=i("woOf"),t=i.n(n),o=i("pFYg"),r=i.n(o),s={name:"navClassify",data:function(){return{dynamicValidateForm:{domains:[],indexName:"首页",indexHref:"/index"}}},methods:{submitForm:function(e){var a=this,i={name:this.dynamicValidateForm.indexName,href:this.dynamicValidateForm.indexHref};var n=this.dynamicValidateForm.domains.map(function(e){return"object"===(void 0===e?"undefined":r()(e))?t()({},e):e});n.unshift(i);var o=n,s=this;this.$refs[e].validate(function(e){if(!e)return console.log("error submit!!"),!1;a.$axios.post("/api/setting/setNavClassify",{navClassifyData:o}).then(function(e){console.log(e),s.$message({showClose:!0,message:e.data.msg,type:"success"})}).catch(function(e){console.log(e),s.$message({showClose:!0,message:e,type:"error"})})})},resetForm:function(e){this.$refs[e].resetFields()},removeDomain:function(e){var a=this.dynamicValidateForm.domains.indexOf(e);-1!==a&&this.dynamicValidateForm.domains.splice(a,1)},addDomain:function(){this.dynamicValidateForm.domains.push({indexName:"",indexHref:"",key:Date.now()})}},mounted:function(){}},d={render:function(){var e=this,a=e.$createElement,i=e._self._c||a;return i("div",{staticClass:"wrap"},[i("el-form",{ref:"dynamicValidateForm",staticClass:"demo-dynamic",attrs:{model:e.dynamicValidateForm,"label-width":"100px"}},[i("el-form-item",{attrs:{prop:"indexName",label:"首页",rules:{required:!0,message:"分类不能为空",trigger:"blur"}}},[i("el-input",{attrs:{placeholder:"导航名称"},model:{value:e.dynamicValidateForm.indexName,callback:function(a){e.$set(e.dynamicValidateForm,"indexName",a)},expression:"dynamicValidateForm.indexName"}}),e._v(" "),i("el-input",{attrs:{placeholder:"path路径",disabled:""},model:{value:e.dynamicValidateForm.indexHref,callback:function(a){e.$set(e.dynamicValidateForm,"indexHref",a)},expression:"dynamicValidateForm.indexHref"}})],1),e._v(" "),e._l(e.dynamicValidateForm.domains,function(a,n){return i("el-form-item",{key:a.key,attrs:{label:"导航"+(n+1),prop:"domains."+n+".value"}},[i("el-input",{attrs:{placeholder:"导航名称"},model:{value:a.name,callback:function(i){e.$set(a,"name",i)},expression:"domain.name"}}),e._v(" "),i("el-input",{attrs:{placeholder:"path路径"},model:{value:a.href,callback:function(i){e.$set(a,"href",i)},expression:"domain.href"}}),e._v(" "),i("el-button",{on:{click:function(i){i.preventDefault(),e.removeDomain(a)}}},[e._v("删除")])],1)}),e._v(" "),i("el-form-item",[i("el-button",{attrs:{type:"primary"},on:{click:function(a){e.submitForm("dynamicValidateForm")}}},[e._v("提交")]),e._v(" "),i("el-button",{on:{click:e.addDomain}},[e._v("新增分类")])],1)],2)],1)},staticRenderFns:[]};var m=i("VU/8")(s,d,!1,function(e){i("HjeW")},"data-v-4f20bc30",null);a.default=m.exports},HjeW:function(e,a){}});
|
||||
//# sourceMappingURL=15.5da0581bd5c97c03d678.js.map
|
||||
1
dist/static/js/15.5da0581bd5c97c03d678.js.map
vendored
Normal file
1
dist/static/js/15.5da0581bd5c97c03d678.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
2
dist/static/js/16.704e617262c7e393d786.js
vendored
Normal file
2
dist/static/js/16.704e617262c7e393d786.js
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
webpackJsonp([16],{"9zHf":function(e,t){},eP8Y:function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var l={name:"filterTable",data:function(){return{tableData5:[{date:"2016-05-02",name:"王小虎",address:"上海市普陀区金沙江路 1518 弄",tag:"家"},{date:"2016-05-04",name:"王小虎",address:"上海市普陀区金沙江路 1517 弄",tag:"公司"},{date:"2016-05-01",name:"王小虎",address:"上海市普陀区金沙江路 1519 弄",tag:"家"},{date:"2016-05-03",name:"王小虎",address:"上海市普陀区金沙江路 1516 弄",tag:"公司"}]}},methods:{handleEdit:function(e,t){console.log(e,t),this.$message({showClose:!0,message:e,row:t,type:"success"})},handleDelete:function(e,t){console.log(e,t),this.$message({showClose:!0,message:e,row:t,type:"success"})},filterHandler:function(e,t,a){return t[a.property]===e},formatter:function(e,t){return e.address},filterTag:function(e,t){return t.tag===e}}},n={render:function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("h3",[e._v("筛选")]),e._v(" "),a("p",[e._v("对表格进行筛选,可快速查找到自己想看的数据。")]),e._v(" "),[a("el-table",{staticStyle:{width:"100%"},attrs:{data:e.tableData5}},[a("el-table-column",{attrs:{prop:"date",label:"日期",sortable:"",width:"180",filters:[{text:"2016-05-01",value:"2016-05-01"},{text:"2016-05-02",value:"2016-05-02"},{text:"2016-05-03",value:"2016-05-03"},{text:"2016-05-04",value:"2016-05-04"}],"filter-method":e.filterHandler}}),e._v(" "),a("el-table-column",{attrs:{prop:"name",label:"姓名",width:"180"}}),e._v(" "),a("el-table-column",{attrs:{prop:"address",label:"地址",formatter:e.formatter}}),e._v(" "),a("el-table-column",{attrs:{prop:"tag",label:"标签",width:"100",filters:[{text:"家",value:"家"},{text:"公司",value:"公司"}],"filter-method":e.filterTag,"filter-placement":"bottom-end"},scopedSlots:e._u([{key:"default",fn:function(t){return[a("el-tag",{attrs:{type:"家"===t.row.tag?"primary":"success","disable-transitions":""}},[e._v(e._s(t.row.tag))])]}}])}),e._v(" "),a("el-table-column",{attrs:{label:"操作"},scopedSlots:e._u([{key:"default",fn:function(t){return[a("el-button",{attrs:{size:"mini"},on:{click:function(a){e.handleEdit(t.$index,t.row)}}},[e._v("编辑")]),e._v(" "),a("el-button",{attrs:{size:"mini",type:"danger"},on:{click:function(a){e.handleDelete(t.$index,t.row)}}},[e._v("删除")])]}}])})],1)]],2)},staticRenderFns:[]};var r=a("VU/8")(l,n,!1,function(e){a("9zHf")},"data-v-44c9a8dc",null);t.default=r.exports}});
|
||||
//# sourceMappingURL=16.704e617262c7e393d786.js.map
|
||||
1
dist/static/js/16.704e617262c7e393d786.js.map
vendored
Normal file
1
dist/static/js/16.704e617262c7e393d786.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
2
dist/static/js/17.1fb492c4ab90282f9c79.js
vendored
Normal file
2
dist/static/js/17.1fb492c4ab90282f9c79.js
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
webpackJsonp([17],{SLzd:function(e,t){},uHNG:function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var l={name:"upload",data:function(){return{fileList:[{name:"food.jpeg",url:"https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100"},{name:"food2.jpeg",url:"https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100"}],imageUrl:"",dialogImageUrl:"",dialogVisible:!1}},methods:{handleRemove:function(e,t){console.log(e,t)},handlePreview:function(e){console.log(e)},handleExceed:function(e,t){this.$message.warning("当前限制选择 3 个文件,本次选择了 "+e.length+" 个文件,共选择了 "+(e.length+t.length)+" 个文件")},beforeRemove:function(e,t){return this.$confirm("确定移除 "+e.name+"?")},handleAvatarSuccess:function(e,t){this.imageUrl=URL.createObjectURL(t.raw)},beforeAvatarUpload:function(e){var t="image/jpeg"===e.type,a=e.size/1024/1024<2;return t||this.$message.error("上传头像图片只能是 JPG 格式!"),a||this.$message.error("上传头像图片大小不能超过 2MB!"),t&&a},handlePictureCardPreview:function(e){this.dialogImageUrl=e.url,this.dialogVisible=!0}}},i={render:function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("h3",[e._v("点击上传")]),e._v(" "),a("el-upload",{staticClass:"upload-demo",attrs:{action:"https://jsonplaceholder.typicode.com/posts/","on-preview":e.handlePreview,"on-remove":e.handleRemove,"before-remove":e.beforeRemove,multiple:"",limit:3,"on-exceed":e.handleExceed,"file-list":e.fileList}},[a("el-button",{attrs:{size:"small",type:"primary"}},[e._v("点击上传")]),e._v(" "),a("div",{staticClass:"el-upload__tip",attrs:{slot:"tip"},slot:"tip"},[e._v("只能上传jpg/png文件,且不超过500kb")])],1),e._v(" "),a("h3",[e._v("用户头像上传")]),e._v(" "),a("p",[e._v("使用 before-upload 限制用户上传的图片格式和大小。")]),e._v(" "),a("el-upload",{staticClass:"avatar-uploader",attrs:{action:"https://jsonplaceholder.typicode.com/posts/","show-file-list":!1,"on-success":e.handleAvatarSuccess,"before-upload":e.beforeAvatarUpload}},[e.imageUrl?a("img",{staticClass:"avatar",attrs:{src:e.imageUrl}}):a("i",{staticClass:"el-icon-plus avatar-uploader-icon"})]),e._v(" "),a("h3",[e._v("照片墙")]),e._v(" "),a("p",[e._v("使用 list-type 属性来设置文件列表的样式。")]),e._v(" "),a("el-upload",{attrs:{action:"https://jsonplaceholder.typicode.com/posts/","list-type":"picture-card","on-preview":e.handlePictureCardPreview,"on-remove":e.handleRemove}},[a("i",{staticClass:"el-icon-plus"})]),e._v(" "),a("el-dialog",{attrs:{visible:e.dialogVisible},on:{"update:visible":function(t){e.dialogVisible=t}}},[a("img",{attrs:{width:"100%",src:e.dialogImageUrl,alt:""}})]),e._v(" "),a("h3",[e._v("拖拽上传")]),e._v(" "),a("el-upload",{staticClass:"upload-demo",attrs:{drag:"",action:"https://jsonplaceholder.typicode.com/posts/",multiple:""}},[a("i",{staticClass:"el-icon-upload"}),e._v(" "),a("div",{staticClass:"el-upload__text"},[e._v("将文件拖到此处,或"),a("em",[e._v("点击上传")])]),e._v(" "),a("div",{staticClass:"el-upload__tip",attrs:{slot:"tip"},slot:"tip"},[e._v("只能上传jpg/png文件,且不超过500kb")])])],1)},staticRenderFns:[]};var o=a("VU/8")(l,i,!1,function(e){a("SLzd")},null,null);t.default=o.exports}});
|
||||
//# sourceMappingURL=17.1fb492c4ab90282f9c79.js.map
|
||||
1
dist/static/js/17.1fb492c4ab90282f9c79.js.map
vendored
Normal file
1
dist/static/js/17.1fb492c4ab90282f9c79.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
2
dist/static/js/18.b071378670f4087d8b40.js
vendored
Normal file
2
dist/static/js/18.b071378670f4087d8b40.js
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
webpackJsonp([18],{jDkM:function(s,e){},voNb:function(s,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var o={render:function(){var s=this,e=s.$createElement,i=s._self._c||e;return i("div",[i("el-radio",{attrs:{label:"superAdmin",border:""},model:{value:s.permissions,callback:function(e){s.permissions=e},expression:"permissions"}},[s._v("超级管理员")]),s._v(" "),i("el-radio",{attrs:{label:"admin",border:""},model:{value:s.permissions,callback:function(e){s.permissions=e},expression:"permissions"}},[s._v("管理员")]),s._v(" "),i("el-radio",{attrs:{label:"ordinary",border:""},model:{value:s.permissions,callback:function(e){s.permissions=e},expression:"permissions"}},[s._v("普通用户")]),s._v(" "),i("div",{staticStyle:{margin:"50px 0px"}},[s._v('\n [权限: "'+s._s(s.options.permissions)+'", 角色: "'+s._s(s.options.role)+'"]\n ')]),s._v(" "),i("h3",[s._v("需要权限的目录:")]),s._v(" "),i("p",[s._v('“上传”:["超级管理员"]')]),s._v(" "),i("p",[s._v('“编辑器”:["超级管理员", “管理员”’]')]),s._v(" "),i("p",[s._v('“系统设置”:["超级管理员"]')])],1)},staticRenderFns:[]};var r=i("VU/8")({name:"pagePermissions",data:function(){return{permissions:this.$store.getters.info.role,options:{role:this.$store.getters.info.role,permissions:this.$store.getters.info.permissions}}},mounted:function(){this.$store.dispatch("setRole",this.options)},watch:{permissions:function(s,e){switch(s){case"superAdmin":this.options={role:"superAdmin",permissions:"超级管理员"};break;case"admin":this.options={role:"admin",permissions:"管理员"};break;case"ordinary":this.options={role:"ordinary",permissions:"普通用户"}}this.$store.dispatch("setRole",this.options),this.$store.dispatch("removeOtherTab",{tabItem:{title:"pageControl",path:"/pagePermissions"},router:this.$router})}}},o,!1,function(s){i("jDkM")},"data-v-1d5c512d",null);e.default=r.exports}});
|
||||
//# sourceMappingURL=18.b071378670f4087d8b40.js.map
|
||||
1
dist/static/js/18.b071378670f4087d8b40.js.map
vendored
Normal file
1
dist/static/js/18.b071378670f4087d8b40.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
2
dist/static/js/19.68611539e52cac367bac.js
vendored
Normal file
2
dist/static/js/19.68611539e52cac367bac.js
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
webpackJsonp([19],{EMb3:function(e,t){},"iav/":function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var l={render:function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("h3",[e._v("多选")]),e._v(" "),a("p",[e._v("选择多行数据时使用 Checkbox。")]),e._v(" "),[a("el-table",{ref:"multipleTable",staticStyle:{width:"100%"},attrs:{data:e.tableData4,"tooltip-effect":"dark"},on:{"selection-change":e.handleSelectionChange}},[a("el-table-column",{attrs:{type:"selection",width:"55"}}),e._v(" "),a("el-table-column",{attrs:{label:"日期",width:"120"},scopedSlots:e._u([{key:"default",fn:function(t){return[e._v(e._s(t.row.date))]}}])}),e._v(" "),a("el-table-column",{attrs:{prop:"name",label:"姓名",width:"120"}}),e._v(" "),a("el-table-column",{attrs:{prop:"address",label:"地址","show-overflow-tooltip":""}})],1),e._v(" "),a("div",{staticStyle:{"margin-top":"20px"}},[a("el-button",{on:{click:function(t){e.toggleSelection([e.tableData4[1],e.tableData4[2]])}}},[e._v("切换第二、第三行的选中状态")]),e._v(" "),a("el-button",{on:{click:function(t){e.toggleSelection()}}},[e._v("取消选择")])],1)]],2)},staticRenderFns:[]};var n=a("VU/8")({name:"dataTables",data:function(){return{tableData4:[{date:"2016-05-03",name:"王小虎",address:"上海市普陀区金沙江路 1518 弄"},{date:"2016-05-02",name:"王小虎",address:"上海市普陀区金沙江路 1518 弄"},{date:"2016-05-04",name:"王小虎",address:"上海市普陀区金沙江路 1518 弄"},{date:"2016-05-01",name:"王小虎",address:"上海市普陀区金沙江路 1518 弄"},{date:"2016-05-08",name:"王小虎",address:"上海市普陀区金沙江路 1518 弄"},{date:"2016-05-06",name:"王小虎",address:"上海市普陀区金沙江路 1518 弄"},{date:"2016-05-07",name:"王小虎",address:"上海市普陀区金沙江路 1518 弄"}],multipleSelection:[]}},methods:{toggleSelection:function(e){var t=this;e?e.forEach(function(e){t.$refs.multipleTable.toggleRowSelection(e)}):this.$refs.multipleTable.clearSelection()},handleSelectionChange:function(e){this.multipleSelection=e}}},l,!1,function(e){a("EMb3")},"data-v-06a13b32",null);t.default=n.exports}});
|
||||
//# sourceMappingURL=19.68611539e52cac367bac.js.map
|
||||
1
dist/static/js/19.68611539e52cac367bac.js.map
vendored
Normal file
1
dist/static/js/19.68611539e52cac367bac.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
13
dist/static/js/2.9a8b27b93657af6decfe.js
vendored
Normal file
13
dist/static/js/2.9a8b27b93657af6decfe.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
dist/static/js/2.9a8b27b93657af6decfe.js.map
vendored
Normal file
1
dist/static/js/2.9a8b27b93657af6decfe.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
13
dist/static/js/3.59eacd122894bb735072.js
vendored
Normal file
13
dist/static/js/3.59eacd122894bb735072.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
dist/static/js/3.59eacd122894bb735072.js.map
vendored
Normal file
1
dist/static/js/3.59eacd122894bb735072.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
2
dist/static/js/4.d7e0897bdb9bbb2a27da.js
vendored
Normal file
2
dist/static/js/4.d7e0897bdb9bbb2a27da.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
dist/static/js/4.d7e0897bdb9bbb2a27da.js.map
vendored
Normal file
1
dist/static/js/4.d7e0897bdb9bbb2a27da.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
2
dist/static/js/5.74c336a88840142e3649.js
vendored
Normal file
2
dist/static/js/5.74c336a88840142e3649.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
dist/static/js/5.74c336a88840142e3649.js.map
vendored
Normal file
1
dist/static/js/5.74c336a88840142e3649.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
2
dist/static/js/6.251a41f91926e87ea774.js
vendored
Normal file
2
dist/static/js/6.251a41f91926e87ea774.js
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
webpackJsonp([6],{"1xf6":function(e,n){},"55b9":function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r={render:function(){var e=this.$createElement;return(this._self._c||e)("div",[this._v("\n 无限级菜单测试======二级2222页面\n")])},staticRenderFns:[]};var i=t("VU/8")({name:"erji"},r,!1,function(e){t("1xf6")},"data-v-efb315b4",null);n.default=i.exports}});
|
||||
//# sourceMappingURL=6.251a41f91926e87ea774.js.map
|
||||
1
dist/static/js/6.251a41f91926e87ea774.js.map
vendored
Normal file
1
dist/static/js/6.251a41f91926e87ea774.js.map
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["webpack:///src/views/duoji/erji2.vue","webpack:///./src/views/duoji/erji2.vue?19a6","webpack:///./src/views/duoji/erji2.vue"],"names":["duoji_erji2","render","_h","this","$createElement","_self","_c","_v","staticRenderFns","Component","__webpack_require__","normalizeComponent","ssrContext","__webpack_exports__"],"mappings":"8HAOA,ICJAA,GADiBC,OAFjB,WAA0B,IAAaC,EAAbC,KAAaC,eAAkD,OAA/DD,KAAuCE,MAAAC,IAAAJ,GAAwB,OAA/DC,KAA+DI,GAAA,kCAExEC,oBCCjB,IAcAC,EAdAC,EAAA,OAcAC,OFRA,QEUAX,GATA,EAVA,SAAAY,GACAF,EAAA,SAaA,kBAEA,MAUAG,EAAA,QAAAJ,EAAA","file":"static/js/6.251a41f91926e87ea774.js","sourcesContent":["<template>\r\n <div>\r\n 无限级菜单测试======二级2222页面\r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n name: 'erji'\r\n}\r\n</script>\r\n\r\n<style scoped>\r\n\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/duoji/erji2.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_vm._v(\"\\n 无限级菜单测试======二级2222页面\\n\")])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-efb315b4\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/duoji/erji2.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-efb315b4\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./erji2.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./erji2.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./erji2.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-efb315b4\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./erji2.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-efb315b4\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/duoji/erji2.vue\n// module id = null\n// module chunks = "],"sourceRoot":""}
|
||||
2
dist/static/js/7.82e8975c6e742db31d91.js
vendored
Normal file
2
dist/static/js/7.82e8975c6e742db31d91.js
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
webpackJsonp([7],{LvfR:function(e,n){},WPqR:function(e,n,t){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r={render:function(){var e=this.$createElement;return(this._self._c||e)("div",[this._v("\n 无限级菜单测试======五级页面\n")])},staticRenderFns:[]};var i=t("VU/8")({name:"wuji"},r,!1,function(e){t("LvfR")},"data-v-d3ee8e6c",null);n.default=i.exports}});
|
||||
//# sourceMappingURL=7.82e8975c6e742db31d91.js.map
|
||||
1
dist/static/js/7.82e8975c6e742db31d91.js.map
vendored
Normal file
1
dist/static/js/7.82e8975c6e742db31d91.js.map
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"sources":["webpack:///src/views/duoji/wuji.vue","webpack:///./src/views/duoji/wuji.vue?6c18","webpack:///./src/views/duoji/wuji.vue"],"names":["duoji_wuji","render","_h","this","$createElement","_self","_c","_v","staticRenderFns","Component","__webpack_require__","normalizeComponent","ssrContext","__webpack_exports__"],"mappings":"0HAOA,ICJAA,GADiBC,OAFjB,WAA0B,IAAaC,EAAbC,KAAaC,eAAkD,OAA/DD,KAAuCE,MAAAC,IAAAJ,GAAwB,OAA/DC,KAA+DI,GAAA,8BAExEC,oBCCjB,IAcAC,EAdAC,EAAA,OAcAC,OFRA,QEUAX,GATA,EAVA,SAAAY,GACAF,EAAA,SAaA,kBAEA,MAUAG,EAAA,QAAAJ,EAAA","file":"static/js/7.82e8975c6e742db31d91.js","sourcesContent":["<template>\r\n <div>\r\n 无限级菜单测试======五级页面\r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n name: 'wuji'\r\n}\r\n</script>\r\n\r\n<style scoped>\r\n\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/views/duoji/wuji.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_vm._v(\"\\n 无限级菜单测试======五级页面\\n\")])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-d3ee8e6c\",\"hasScoped\":true,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/views/duoji/wuji.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../../../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true,\\\"publicPath\\\":\\\"../../\\\"}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-d3ee8e6c\\\",\\\"scoped\\\":true,\\\"hasInlineConfig\\\":false}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./wuji.vue\")\n}\nvar normalizeComponent = require(\"!../../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./wuji.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./wuji.vue\"\n/* template */\nimport __vue_template__ from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-d3ee8e6c\\\",\\\"hasScoped\\\":true,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./wuji.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = \"data-v-d3ee8e6c\"\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/views/duoji/wuji.vue\n// module id = null\n// module chunks = "],"sourceRoot":""}
|
||||
2
dist/static/js/8.b72111c921bd0f8908b3.js
vendored
Normal file
2
dist/static/js/8.b72111c921bd0f8908b3.js
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
webpackJsonp([8],{FzAc:function(e,t){},x1md:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var i={render:function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticStyle:{"margin-top":"50px"}},[n("h3",[e._v("下面按钮根据当前用户的权限来显示隐藏:")]),e._v(" "),n("p",[e._v('当前用户角色: "'+e._s(e.$store.getters.info.permissions)+'"')]),e._v(" "),n("p",[e._v("没权限按钮:"),n("el-button",{attrs:{type:"primary",plain:"",size:"medium"}},[e._v("查看")])],1),e._v(" "),n("p",[e._v('需要 ["管理员"]:'),n("el-button",{directives:[{name:"role-btn",rawName:"v-role-btn",value:["admin"],expression:"['admin']"}],attrs:{type:"primary",plain:"",size:"medium"}},[e._v("添加")])],1),e._v(" "),n("p",[e._v('需要 ["超级管理员"]:'),n("el-button",{directives:[{name:"role-btn",rawName:"v-role-btn",value:["superAdmin"],expression:"['superAdmin']"}],attrs:{type:"danger",plain:"",size:"medium"}},[e._v("删除")])],1),e._v(" "),n("p",[e._v('需要 ["超级管理员", "管理员"]:'),n("el-button",{directives:[{name:"role-btn",rawName:"v-role-btn",value:["superAdmin","admin"],expression:"['superAdmin','admin']"}],attrs:{type:"primary",plain:"",size:"medium"}},[e._v("修改")])],1)])},staticRenderFns:[]};var r=n("VU/8")({name:"btnPermissions"},i,!1,function(e){n("FzAc")},"data-v-8da87712",null);t.default=r.exports}});
|
||||
//# sourceMappingURL=8.b72111c921bd0f8908b3.js.map
|
||||
1
dist/static/js/8.b72111c921bd0f8908b3.js.map
vendored
Normal file
1
dist/static/js/8.b72111c921bd0f8908b3.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
2
dist/static/js/9.72499b4877a7530b979a.js
vendored
Normal file
2
dist/static/js/9.72499b4877a7530b979a.js
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
webpackJsonp([9],{GMTV:function(a,s){},MGaV:function(a,s,t){"use strict";Object.defineProperty(s,"__esModule",{value:!0});var e={render:function(){this.$createElement;this._self._c;return this._m(0)},staticRenderFns:[function(){var a=this,s=a.$createElement,t=a._self._c||s;return t("div",[t("h3",[a._v("框架内置了element ui和Font Awesome两种图标库")]),a._v(" "),t("p",{staticClass:"text"},[t("span",{staticClass:"name"},[a._v("element ui图标")]),a._v("使用方法直接通过设置类名为 el-icon-iconName 来使用即可。例如:"),t("span",{staticClass:"code"},[a._v('<i class="el-icon-edit"></i>')])]),a._v(" "),t("ul",{staticClass:"ele-icoo"},[t("li",[t("span",[t("i",{staticClass:"el-icon-download"}),a._v(" "),t("span",{staticClass:"iconame"},[a._v("el-icon-download")])])]),a._v(" "),t("li",[t("span",[t("i",{staticClass:"el-icon-loading"}),a._v(" "),t("span",{staticClass:"iconame"},[a._v("el-icon-loading")])])]),a._v(" "),t("li",[t("span",[t("i",{staticClass:"el-icon-setting"}),a._v(" "),t("span",{staticClass:"iconame"},[a._v("el-icon-setting")])])]),a._v(" "),t("li",[t("span",[t("a",{attrs:{target:"_blank",href:"http://element-cn.eleme.io/#/zh-CN/component/icon"}},[a._v("更多element ui图标")])])])]),a._v(" "),t("div",{staticStyle:{clear:"both"}}),a._v(" "),t("p",{staticClass:"text"},[t("span",{staticClass:"name"},[a._v("Font Awesome图标")]),a._v("本框架已经内置该图标库675个图标,不需要另外引入安装,可以直接使用,使用方法直接通过设置类名为 'fa fa-iconName' 来使用即可。例如:"),t("span",{staticClass:"code"},[a._v('<i class="fa fa-camera-retro"></i>')])]),t("p",{staticClass:"text"},[a._v("使用 fa-lg (33%递增)、fa-2x、 fa-3x、fa-4x,或者 fa-5x 类 来放大图标,例如:"),t("span",{staticClass:"code"},[a._v('<i class="fa fa-camera-retro fa-2x"></i>')])]),a._v(" "),t("p",{staticClass:"text"},[a._v("更多功能及用法点击 "),t("a",{attrs:{target:"_blank",href:"http://fontawesome.dashgame.com/#basic"}},[t("strong",[a._v("此处")])])]),a._v(" "),t("div",[t("ul",{staticClass:"ele-icoo"},[t("li",[t("span",[t("i",{staticClass:"fa fa-power-off"}),a._v(" "),t("span",{staticClass:"iconame"},[a._v("power-off")])])]),a._v(" "),t("li",[t("span",[t("i",{staticClass:"fa fa-server"}),a._v(" "),t("span",{staticClass:"iconame"},[a._v("server")])])]),a._v(" "),t("li",[t("span",[t("i",{staticClass:"fa fa-tags"}),a._v(" "),t("span",{staticClass:"iconame"},[a._v("tags")])])]),a._v(" "),t("li",[t("span",[t("a",{attrs:{target:"_blank",href:"http://fontawesome.dashgame.com/"}},[a._v("更多Font Awesome图标")])])])])])])}]};var i=t("VU/8")({name:"index"},e,!1,function(a){t("GMTV")},null,null);s.default=i.exports}});
|
||||
//# sourceMappingURL=9.72499b4877a7530b979a.js.map
|
||||
1
dist/static/js/9.72499b4877a7530b979a.js.map
vendored
Normal file
1
dist/static/js/9.72499b4877a7530b979a.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
2
dist/static/js/app.c18387d0c5ea119cfe04.js
vendored
Normal file
2
dist/static/js/app.c18387d0c5ea119cfe04.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
dist/static/js/app.c18387d0c5ea119cfe04.js.map
vendored
Normal file
1
dist/static/js/app.c18387d0c5ea119cfe04.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
2
dist/static/js/manifest.b14a6c36bb1f29714483.js
vendored
Normal file
2
dist/static/js/manifest.b14a6c36bb1f29714483.js
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
!function(e){var n=window.webpackJsonp;window.webpackJsonp=function(r,o,c){for(var f,d,i,u=0,b=[];u<r.length;u++)d=r[u],t[d]&&b.push(t[d][0]),t[d]=0;for(f in o)Object.prototype.hasOwnProperty.call(o,f)&&(e[f]=o[f]);for(n&&n(r,o,c);b.length;)b.shift()();if(c)for(u=0;u<c.length;u++)i=a(a.s=c[u]);return i};var r={},t={22:0};function a(n){if(r[n])return r[n].exports;var t=r[n]={i:n,l:!1,exports:{}};return e[n].call(t.exports,t,t.exports,a),t.l=!0,t.exports}a.e=function(e){var n=t[e];if(0===n)return new Promise(function(e){e()});if(n)return n[2];var r=new Promise(function(r,a){n=t[e]=[r,a]});n[2]=r;var o=document.getElementsByTagName("head")[0],c=document.createElement("script");c.type="text/javascript",c.charset="utf-8",c.async=!0,c.timeout=12e4,a.nc&&c.setAttribute("nonce",a.nc),c.src=a.p+"static/js/"+e+"."+{0:"a0770adcec9fb1c7f373",1:"2228238d84d5236a8720",2:"9a8b27b93657af6decfe",3:"59eacd122894bb735072",4:"d7e0897bdb9bbb2a27da",5:"74c336a88840142e3649",6:"251a41f91926e87ea774",7:"82e8975c6e742db31d91",8:"b72111c921bd0f8908b3",9:"72499b4877a7530b979a",10:"90a682b9a86bf57c5e08",11:"f818f6bd6a44ad0a701d",12:"fae98b270aa8d49cc7b3",13:"0c44804c4eff77f70797",14:"47a9617f9343569a290b",15:"5da0581bd5c97c03d678",16:"704e617262c7e393d786",17:"1fb492c4ab90282f9c79",18:"b071378670f4087d8b40",19:"68611539e52cac367bac"}[e]+".js";var f=setTimeout(d,12e4);function d(){c.onerror=c.onload=null,clearTimeout(f);var n=t[e];0!==n&&(n&&n[1](new Error("Loading chunk "+e+" failed.")),t[e]=void 0)}return c.onerror=c.onload=d,o.appendChild(c),r},a.m=e,a.c=r,a.d=function(e,n,r){a.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},a.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(n,"a",n),n},a.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},a.p="./",a.oe=function(e){throw console.error(e),e}}([]);
|
||||
//# sourceMappingURL=manifest.b14a6c36bb1f29714483.js.map
|
||||
1
dist/static/js/manifest.b14a6c36bb1f29714483.js.map
vendored
Normal file
1
dist/static/js/manifest.b14a6c36bb1f29714483.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
44
dist/static/js/vendor.6c569533e81d92501246.js
vendored
Normal file
44
dist/static/js/vendor.6c569533e81d92501246.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
dist/static/js/vendor.6c569533e81d92501246.js.map
vendored
Normal file
1
dist/static/js/vendor.6c569533e81d92501246.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
6
dist/static/markdown/.idea/inspectionProfiles/Project_Default.xml
generated
vendored
Normal file
6
dist/static/markdown/.idea/inspectionProfiles/Project_Default.xml
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
<component name="InspectionProjectProfileManager">
|
||||
<profile version="1.0">
|
||||
<option name="myName" value="Project Default" />
|
||||
<inspection_tool class="JSHint" enabled="true" level="ERROR" enabled_by_default="true" />
|
||||
</profile>
|
||||
</component>
|
||||
16
dist/static/markdown/.idea/jsLinters/jshint.xml
generated
vendored
Normal file
16
dist/static/markdown/.idea/jsLinters/jshint.xml
generated
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="JSHintConfiguration" version="2.9.5" use-config-file="true" use-custom-config-file="true" custom-config-file-path="$PROJECT_DIR$/.jshintrc">
|
||||
<option bitwise="true" />
|
||||
<option browser="true" />
|
||||
<option curly="true" />
|
||||
<option eqeqeq="true" />
|
||||
<option forin="true" />
|
||||
<option maxerr="50" />
|
||||
<option noarg="true" />
|
||||
<option noempty="true" />
|
||||
<option nonew="true" />
|
||||
<option strict="true" />
|
||||
<option undef="true" />
|
||||
</component>
|
||||
</project>
|
||||
12
dist/static/markdown/.idea/markdown.iml
generated
vendored
Normal file
12
dist/static/markdown/.idea/markdown.iml
generated
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="WEB_MODULE" version="4">
|
||||
<component name="NewModuleRootManager">
|
||||
<content url="file://$MODULE_DIR$">
|
||||
<excludeFolder url="file://$MODULE_DIR$/.tmp" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/temp" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/tmp" />
|
||||
</content>
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
</module>
|
||||
6
dist/static/markdown/.idea/misc.xml
generated
vendored
Normal file
6
dist/static/markdown/.idea/misc.xml
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="JavaScriptSettings">
|
||||
<option name="languageLevel" value="ES6" />
|
||||
</component>
|
||||
</project>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user