diff --git a/.editorconfig b/.editorconfig index 3454886..7034f9b 100644 --- a/.editorconfig +++ b/.editorconfig @@ -1,14 +1,22 @@ -# https://editorconfig.org +# 告诉EditorConfig插件,这是根文件,不用继续往上查找 root = true +# 匹配全部文件 [*] +# 设置字符集 charset = utf-8 +# 缩进风格,可选space、tab indent_style = space +# 缩进的空格数 indent_size = 2 +# 结尾换行符,可选lf、cr、crlf end_of_line = lf +# 在文件结尾插入新行 insert_final_newline = true +# 删除一行中的前后空格 trim_trailing_whitespace = true +# 匹配md结尾的文件 [*.md] insert_final_newline = false trim_trailing_whitespace = false diff --git a/.env.development b/.env.development index 59e25d6..d74af37 100644 --- a/.env.development +++ b/.env.development @@ -1,9 +1,11 @@ +# 页面标题 +VUE_APP_TITLE = 后台管理系统 + +# 开发环境配置 ENV = 'development' -# 接口地址 -VUE_APP_BASE_API = 'http://localhost:8008' -#VUE_APP_BASE_API = 'http://192.168.10.107:8008' -VUE_APP_WS_API = 'ws://localhost:8000' +# 后台管理系统/开发环境 +VUE_APP_BASE_API = '/dev-api' -# 是否启用 babel-plugin-dynamic-import-node插件 +# 路由懒加载 VUE_CLI_BABEL_TRANSPILE_MODULES = true diff --git a/.env.production b/.env.production index 8c71b0c..f617a43 100644 --- a/.env.production +++ b/.env.production @@ -1,7 +1,8 @@ +# 页面标题 +VUE_APP_TITLE = 后台管理系统 + +# 生产环境配置 ENV = 'production' -# 如果使用 Nginx 代理后端接口,那么此处需要改为 '/',文件查看 Docker 部署篇,Nginx 配置 -# 接口地址,注意协议,如果你没有配置 ssl,需要将 https 改为 http -VUE_APP_BASE_API = '' -# 如果接口是 http 形式, wss 需要改为 ws -VUE_APP_WS_API = '/' +# 后台管理系统/生产环境 +VUE_APP_BASE_API = '/prod-api' diff --git a/.env.staging b/.env.staging new file mode 100644 index 0000000..42f8f78 --- /dev/null +++ b/.env.staging @@ -0,0 +1,10 @@ +# 页面标题 +VUE_APP_TITLE = 后台管理系统 + +NODE_ENV = production + +# 测试环境配置 +ENV = 'staging' + +# 后台管理系统/测试环境 +VUE_APP_BASE_API = '/stage-api' diff --git a/.eslintignore b/.eslintignore index e6529fc..89be6f6 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,4 +1,10 @@ +# 忽略build目录下类型为js的文件的语法检查 build/*.js +# 忽略src/assets目录下文件的语法检查 src/assets +# 忽略public目录下文件的语法检查 public -dist +# 忽略当前目录下为js的文件的语法检查 +*.js +# 忽略当前目录下为vue的文件的语法检查 +*.vue \ No newline at end of file diff --git a/.eslintrc.js b/.eslintrc.js index ea69801..82bbdee 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,3 +1,4 @@ +// ESlint 检查配置 module.exports = { root: true, parserOptions: { @@ -23,7 +24,7 @@ module.exports = { }], "vue/singleline-html-element-content-newline": "off", "vue/multiline-html-element-content-newline":"off", - "vue/name-property-casing": ["warn", "PascalCase"], + "vue/name-property-casing": ["error", "PascalCase"], "vue/no-v-html": "off", 'accessor-pairs': 2, 'arrow-spacing': [2, { @@ -47,12 +48,12 @@ module.exports = { 'curly': [2, 'multi-line'], 'dot-location': [2, 'property'], 'eol-last': 2, - 'eqeqeq': ["warn", "always", {"null": "ignore"}], + 'eqeqeq': ["error", "always", {"null": "ignore"}], 'generator-star-spacing': [2, { 'before': true, 'after': true }], - 'handle-callback-err': [2, '^(err|warn)$'], + 'handle-callback-err': [2, '^(err|error)$'], 'indent': [2, 2, { 'SwitchCase': 1 }], diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 3c3629e..0000000 --- a/.gitignore +++ /dev/null @@ -1 +0,0 @@ -node_modules diff --git a/.project b/.project deleted file mode 100644 index e19bcd6..0000000 --- a/.project +++ /dev/null @@ -1,28 +0,0 @@ - - - eladmin-web - - - - - - com.aptana.ide.core.unifiedBuilder - - - - - - com.aptana.projects.webnature - - - - 1655869280269 - - 26 - - org.eclipse.ui.ide.multiFilter - 1.0-name-matches-false-false-node_modules - - - - diff --git a/.svn/entries b/.svn/entries deleted file mode 100644 index 48082f7..0000000 --- a/.svn/entries +++ /dev/null @@ -1 +0,0 @@ -12 diff --git a/.svn/format b/.svn/format deleted file mode 100644 index 48082f7..0000000 --- a/.svn/format +++ /dev/null @@ -1 +0,0 @@ -12 diff --git a/.svn/pristine/00/00e0dce7bd3483ea183bb5f2f91c4728bb5e7056.svn-base b/.svn/pristine/00/00e0dce7bd3483ea183bb5f2f91c4728bb5e7056.svn-base deleted file mode 100644 index f4a1c56..0000000 --- a/.svn/pristine/00/00e0dce7bd3483ea183bb5f2f91c4728bb5e7056.svn-base +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/.svn/pristine/01/01772748742053a9b669b4d65934488b784c7371.svn-base b/.svn/pristine/01/01772748742053a9b669b4d65934488b784c7371.svn-base deleted file mode 100644 index 6606278..0000000 --- a/.svn/pristine/01/01772748742053a9b669b4d65934488b784c7371.svn-base +++ /dev/null @@ -1,105 +0,0 @@ - - - diff --git a/.svn/pristine/01/01b694fd37ddaa25bce5f751a6c8584d880cdb2c.svn-base b/.svn/pristine/01/01b694fd37ddaa25bce5f751a6c8584d880cdb2c.svn-base deleted file mode 100644 index ac8a206..0000000 --- a/.svn/pristine/01/01b694fd37ddaa25bce5f751a6c8584d880cdb2c.svn-base +++ /dev/null @@ -1,715 +0,0 @@ - - - - - diff --git a/.svn/pristine/01/01fb1b8a18c9e80bcb4897f56d123c53dca91e8b.svn-base b/.svn/pristine/01/01fb1b8a18c9e80bcb4897f56d123c53dca91e8b.svn-base deleted file mode 100644 index e189223..0000000 --- a/.svn/pristine/01/01fb1b8a18c9e80bcb4897f56d123c53dca91e8b.svn-base +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/.svn/pristine/02/02393e90583338e13206dc31761a5de26117bdd8.svn-base b/.svn/pristine/02/02393e90583338e13206dc31761a5de26117bdd8.svn-base deleted file mode 100644 index 0796da3..0000000 --- a/.svn/pristine/02/02393e90583338e13206dc31761a5de26117bdd8.svn-base +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/.svn/pristine/02/02b66a0ce38ca08b5ce8f20a5fbd2cbf2ac41727.svn-base b/.svn/pristine/02/02b66a0ce38ca08b5ce8f20a5fbd2cbf2ac41727.svn-base deleted file mode 100644 index ed4d23c..0000000 --- a/.svn/pristine/02/02b66a0ce38ca08b5ce8f20a5fbd2cbf2ac41727.svn-base +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/.svn/pristine/03/031173b81aab475001824589dbf8c32ed23e4ee4.svn-base b/.svn/pristine/03/031173b81aab475001824589dbf8c32ed23e4ee4.svn-base deleted file mode 100644 index 99170f7..0000000 --- a/.svn/pristine/03/031173b81aab475001824589dbf8c32ed23e4ee4.svn-base +++ /dev/null @@ -1,34 +0,0 @@ -import request from '@/utils/request' - -export function getDicts() { - return request({ - url: 'api/dict/all', - method: 'get' - }) -} - -export function add(data) { - return request({ - url: 'api/dict', - method: 'post', - data - }) -} - -export function del(ids) { - return request({ - url: 'api/dict/', - method: 'delete', - data: ids - }) -} - -export function edit(data) { - return request({ - url: 'api/dict', - method: 'put', - data - }) -} - -export default { add, edit, del } diff --git a/.svn/pristine/04/043cbbe2966778a347382080018698a91e43165d.svn-base b/.svn/pristine/04/043cbbe2966778a347382080018698a91e43165d.svn-base deleted file mode 100644 index 1cf6bf2..0000000 --- a/.svn/pristine/04/043cbbe2966778a347382080018698a91e43165d.svn-base +++ /dev/null @@ -1,149 +0,0 @@ - - - diff --git a/.svn/pristine/04/04bba334543b3f9d01642ebd209e15378684b3af.svn-base b/.svn/pristine/04/04bba334543b3f9d01642ebd209e15378684b3af.svn-base deleted file mode 100644 index 0d2e4c2..0000000 --- a/.svn/pristine/04/04bba334543b3f9d01642ebd209e15378684b3af.svn-base +++ /dev/null @@ -1,15 +0,0 @@ -import request from '@/utils/request' - -export function resetEmail(data) { - return request({ - url: 'api/code/resetEmail?email=' + data, - method: 'post' - }) -} - -export function updatePass(pass) { - return request({ - url: 'api/users/updatePass/' + pass, - method: 'get' - }) -} diff --git a/.svn/pristine/05/05a8095d4bf23d1bcce51b29ea76a4a7ad81e696.svn-base b/.svn/pristine/05/05a8095d4bf23d1bcce51b29ea76a4a7ad81e696.svn-base deleted file mode 100644 index e1d620a..0000000 --- a/.svn/pristine/05/05a8095d4bf23d1bcce51b29ea76a4a7ad81e696.svn-base +++ /dev/null @@ -1,36 +0,0 @@ -import variables from '@/assets/styles/element-variables.scss' -import defaultSettings from '@/settings' -const { tagsView, fixedHeader, sidebarLogo, showFooter, footerTxt, caseNumber } = defaultSettings - -const state = { - theme: variables.theme, - showSettings: false, - tagsView: tagsView, - fixedHeader: fixedHeader, - sidebarLogo: sidebarLogo, - showFooter: showFooter, - footerTxt: footerTxt, - caseNumber: caseNumber -} - -const mutations = { - CHANGE_SETTING: (state, { key, value }) => { - if (state.hasOwnProperty(key)) { - state[key] = value - } - } -} - -const actions = { - changeSetting({ commit }, data) { - commit('CHANGE_SETTING', data) - } -} - -export default { - namespaced: true, - state, - mutations, - actions -} - diff --git a/.svn/pristine/06/061ab23a2dbebbebaa5f8db2b853383143593a9b.svn-base b/.svn/pristine/06/061ab23a2dbebbebaa5f8db2b853383143593a9b.svn-base deleted file mode 100644 index ddb25b8..0000000 --- a/.svn/pristine/06/061ab23a2dbebbebaa5f8db2b853383143593a9b.svn-base +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/.svn/pristine/06/0677185e716e6cc90b8e1de03f41522d803a42a9.svn-base b/.svn/pristine/06/0677185e716e6cc90b8e1de03f41522d803a42a9.svn-base deleted file mode 100644 index 78a36cb..0000000 --- a/.svn/pristine/06/0677185e716e6cc90b8e1de03f41522d803a42a9.svn-base +++ /dev/null @@ -1,191 +0,0 @@ -Apache License -Version 2.0, January 2004 -http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - -"License" shall mean the terms and conditions for use, reproduction, and -distribution as defined by Sections 1 through 9 of this document. - -"Licensor" shall mean the copyright owner or entity authorized by the copyright -owner that is granting the License. - -"Legal Entity" shall mean the union of the acting entity and all other entities -that control, are controlled by, or are under common control with that entity. -For the purposes of this definition, "control" means (i) the power, direct or -indirect, to cause the direction or management of such entity, whether by -contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the -outstanding shares, or (iii) beneficial ownership of such entity. - -"You" (or "Your") shall mean an individual or Legal Entity exercising -permissions granted by this License. - -"Source" form shall mean the preferred form for making modifications, including -but not limited to software source code, documentation source, and configuration -files. - -"Object" form shall mean any form resulting from mechanical transformation or -translation of a Source form, including but not limited to compiled object code, -generated documentation, and conversions to other media types. - -"Work" shall mean the work of authorship, whether in Source or Object form, made -available under the License, as indicated by a copyright notice that is included -in or attached to the work (an example is provided in the Appendix below). - -"Derivative Works" shall mean any work, whether in Source or Object form, that -is based on (or derived from) the Work and for which the editorial revisions, -annotations, elaborations, or other modifications represent, as a whole, an -original work of authorship. For the purposes of this License, Derivative Works -shall not include works that remain separable from, or merely link (or bind by -name) to the interfaces of, the Work and Derivative Works thereof. - -"Contribution" shall mean any work of authorship, including the original version -of the Work and any modifications or additions to that Work or Derivative Works -thereof, that is intentionally submitted to Licensor for inclusion in the Work -by the copyright owner or by an individual or Legal Entity authorized to submit -on behalf of the copyright owner. For the purposes of this definition, -"submitted" means any form of electronic, verbal, or written communication sent -to the Licensor or its representatives, including but not limited to -communication on electronic mailing lists, source code control systems, and -issue tracking systems that are managed by, or on behalf of, the Licensor for -the purpose of discussing and improving the Work, but excluding communication -that is conspicuously marked or otherwise designated in writing by the copyright -owner as "Not a Contribution." - -"Contributor" shall mean Licensor and any individual or Legal Entity on behalf -of whom a Contribution has been received by Licensor and subsequently -incorporated within the Work. - -2. Grant of Copyright License. - -Subject to the terms and conditions of this License, each Contributor hereby -grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, -irrevocable copyright license to reproduce, prepare Derivative Works of, -publicly display, publicly perform, sublicense, and distribute the Work and such -Derivative Works in Source or Object form. - -3. Grant of Patent License. - -Subject to the terms and conditions of this License, each Contributor hereby -grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, -irrevocable (except as stated in this section) patent license to make, have -made, use, offer to sell, sell, import, and otherwise transfer the Work, where -such license applies only to those patent claims licensable by such Contributor -that are necessarily infringed by their Contribution(s) alone or by combination -of their Contribution(s) with the Work to which such Contribution(s) was -submitted. If You institute patent litigation against any entity (including a -cross-claim or counterclaim in a lawsuit) alleging that the Work or a -Contribution incorporated within the Work constitutes direct or contributory -patent infringement, then any patent licenses granted to You under this License -for that Work shall terminate as of the date such litigation is filed. - -4. Redistribution. - -You may reproduce and distribute copies of the Work or Derivative Works thereof -in any medium, with or without modifications, and in Source or Object form, -provided that You meet the following conditions: - -You must give any other recipients of the Work or Derivative Works a copy of -this License; and -You must cause any modified files to carry prominent notices stating that You -changed the files; and -You must retain, in the Source form of any Derivative Works that You distribute, -all copyright, patent, trademark, and attribution notices from the Source form -of the Work, excluding those notices that do not pertain to any part of the -Derivative Works; and -If the Work includes a "NOTICE" text file as part of its distribution, then any -Derivative Works that You distribute must include a readable copy of the -attribution notices contained within such NOTICE file, excluding those notices -that do not pertain to any part of the Derivative Works, in at least one of the -following places: within a NOTICE text file distributed as part of the -Derivative Works; within the Source form or documentation, if provided along -with the Derivative Works; or, within a display generated by the Derivative -Works, if and wherever such third-party notices normally appear. The contents of -the NOTICE file are for informational purposes only and do not modify the -License. You may add Your own attribution notices within Derivative Works that -You distribute, alongside or as an addendum to the NOTICE text from the Work, -provided that such additional attribution notices cannot be construed as -modifying the License. -You may add Your own copyright statement to Your modifications and may provide -additional or different license terms and conditions for use, reproduction, or -distribution of Your modifications, or for any such Derivative Works as a whole, -provided Your use, reproduction, and distribution of the Work otherwise complies -with the conditions stated in this License. - -5. Submission of Contributions. - -Unless You explicitly state otherwise, any Contribution intentionally submitted -for inclusion in the Work by You to the Licensor shall be under the terms and -conditions of this License, without any additional terms or conditions. -Notwithstanding the above, nothing herein shall supersede or modify the terms of -any separate license agreement you may have executed with Licensor regarding -such Contributions. - -6. Trademarks. - -This License does not grant permission to use the trade names, trademarks, -service marks, or product names of the Licensor, except as required for -reasonable and customary use in describing the origin of the Work and -reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. - -Unless required by applicable law or agreed to in writing, Licensor provides the -Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, -including, without limitation, any warranties or conditions of TITLE, -NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are -solely responsible for determining the appropriateness of using or -redistributing the Work and assume any risks associated with Your exercise of -permissions under this License. - -8. Limitation of Liability. - -In no event and under no legal theory, whether in tort (including negligence), -contract, or otherwise, unless required by applicable law (such as deliberate -and grossly negligent acts) or agreed to in writing, shall any Contributor be -liable to You for damages, including any direct, indirect, special, incidental, -or consequential damages of any character arising as a result of this License or -out of the use or inability to use the Work (including but not limited to -damages for loss of goodwill, work stoppage, computer failure or malfunction, or -any and all other commercial damages or losses), even if such Contributor has -been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. - -While redistributing the Work or Derivative Works thereof, You may choose to -offer, and charge a fee for, acceptance of support, warranty, indemnity, or -other liability obligations and/or rights consistent with this License. However, -in accepting such obligations, You may act only on Your own behalf and on Your -sole responsibility, not on behalf of any other Contributor, and only if You -agree to indemnify, defend, and hold each Contributor harmless for any liability -incurred by, or claims asserted against, such Contributor by reason of your -accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS - -APPENDIX: How to apply the Apache License to your work - -To apply the Apache License to your work, attach the following boilerplate -notice, with the fields enclosed by brackets "{}" replaced with your own -identifying information. (Don't include the brackets!) The text should be -enclosed in the appropriate comment syntax for the file format. We also -recommend that a file or class name and description of purpose be included on -the same "printed page" as the copyright notice for easier identification within -third-party archives. - - Copyright 2019 Zheng Jie - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/.svn/pristine/07/0777dcca47c718f4644fe24fdae32ca901bbf3eb.svn-base b/.svn/pristine/07/0777dcca47c718f4644fe24fdae32ca901bbf3eb.svn-base deleted file mode 100644 index ab7ad30..0000000 --- a/.svn/pristine/07/0777dcca47c718f4644fe24fdae32ca901bbf3eb.svn-base +++ /dev/null @@ -1,388 +0,0 @@ -/** - * Created by PanJiaChen on 16/11/18. - */ - -/** - * Parse the time to string - * @param {(Object|string|number)} time - * @param {string} cFormat - * @returns {string} - */ -export function parseTime(time, cFormat) { - if (arguments.length === 0) { - return null - } - const format = cFormat || '{y}-{m}-{d} {h}:{i}:{s}' - let date - if (typeof time === 'undefined' || time === null || time === 'null') { - return '' - } else if (typeof time === 'object') { - date = time - } else { - if ((typeof time === 'string') && (/^[0-9]+$/.test(time))) { - time = parseInt(time) - } - if ((typeof time === 'number') && (time.toString().length === 10)) { - time = time * 1000 - } - date = new Date(time) - } - const formatObj = { - y: date.getFullYear(), - m: date.getMonth() + 1, - d: date.getDate(), - h: date.getHours(), - i: date.getMinutes(), - s: date.getSeconds(), - a: date.getDay() - } - const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => { - let value = formatObj[key] - // Note: getDay() returns 0 on Sunday - if (key === 'a') { return ['日', '一', '二', '三', '四', '五', '六'][value ] } - if (result.length > 0 && value < 10) { - value = '0' + value - } - return value || 0 - }) - return time_str -} - -/** - * @param {number} time - * @param {string} option - * @returns {string} - */ -export function formatTime(time, option) { - if (('' + time).length === 10) { - time = parseInt(time) * 1000 - } else { - time = +time - } - const d = new Date(time) - const now = Date.now() - - const diff = (now - d) / 1000 - - if (diff < 30) { - return '刚刚' - } else if (diff < 3600) { - // less 1 hour - return Math.ceil(diff / 60) + '分钟前' - } else if (diff < 3600 * 24) { - return Math.ceil(diff / 3600) + '小时前' - } else if (diff < 3600 * 24 * 2) { - return '1天前' - } - if (option) { - return parseTime(time, option) - } else { - return ( - d.getMonth() + - 1 + - '月' + - d.getDate() + - '日' + - d.getHours() + - '时' + - d.getMinutes() + - '分' - ) - } -} - -/** - * @param {string} url - * @returns {Object} - */ -export function getQueryObject(url) { - url = url == null ? window.location.href : url - const search = url.substring(url.lastIndexOf('?') + 1) - const obj = {} - const reg = /([^?&=]+)=([^?&=]*)/g - search.replace(reg, (rs, $1, $2) => { - const name = decodeURIComponent($1) - let val = decodeURIComponent($2) - val = String(val) - obj[name] = val - return rs - }) - return obj -} - -/** - * @param {string} input value - * @returns {number} output value - */ -export function byteLength(str) { - // returns the byte length of an utf8 string - let s = str.length - for (var i = str.length - 1; i >= 0; i--) { - const code = str.charCodeAt(i) - if (code > 0x7f && code <= 0x7ff) s++ - else if (code > 0x7ff && code <= 0xffff) s += 2 - if (code >= 0xDC00 && code <= 0xDFFF) i-- - } - return s -} - -/** - * @param {Array} actual - * @returns {Array} - */ -export function cleanArray(actual) { - const newArray = [] - for (let i = 0; i < actual.length; i++) { - if (actual[i]) { - newArray.push(actual[i]) - } - } - return newArray -} - -/** - * @param {Object} json - * @returns {Array} - */ -export function param(json) { - if (!json) return '' - return cleanArray( - Object.keys(json).map(key => { - if (json[key] === undefined) return '' - return encodeURIComponent(key) + '=' + encodeURIComponent(json[key]) - }) - ).join('&') -} - -/** - * @param {string} url - * @returns {Object} - */ -export function param2Obj(url) { - const search = url.split('?')[1] - if (!search) { - return {} - } - return JSON.parse( - '{"' + - decodeURIComponent(search) - .replace(/"/g, '\\"') - .replace(/&/g, '","') - .replace(/=/g, '":"') - .replace(/\+/g, ' ') + - '"}' - ) -} - -/** - * @param {string} val - * @returns {string} - */ -export function html2Text(val) { - const div = document.createElement('div') - div.innerHTML = val - return div.textContent || div.innerText -} - -/** - * Merges two objects, giving the last one precedence - * @param {Object} target - * @param {(Object|Array)} source - * @returns {Object} - */ -export function objectMerge(target, source) { - if (typeof target !== 'object') { - target = {} - } - if (Array.isArray(source)) { - return source.slice() - } - Object.keys(source).forEach(property => { - const sourceProperty = source[property] - if (typeof sourceProperty === 'object') { - target[property] = objectMerge(target[property], sourceProperty) - } else { - target[property] = sourceProperty - } - }) - return target -} - -/** - * @param {HTMLElement} element - * @param {string} className - */ -export function toggleClass(element, className) { - if (!element || !className) { - return - } - let classString = element.className - const nameIndex = classString.indexOf(className) - if (nameIndex === -1) { - classString += '' + className - } else { - classString = - classString.substr(0, nameIndex) + - classString.substr(nameIndex + className.length) - } - element.className = classString -} - -/** - * @param {string} type - * @returns {Date} - */ -export function getTime(type) { - if (type === 'start') { - return new Date().getTime() - 3600 * 1000 * 24 * 90 - } else { - return new Date(new Date().toDateString()) - } -} - -/** - * @param {Function} func - * @param {number} wait - * @param {boolean} immediate - * @return {*} - */ -export function debounce(func, wait, immediate) { - let timeout, args, context, timestamp, result - - const later = function() { - // 据上一次触发时间间隔 - const last = +new Date() - timestamp - - // 上次被包装函数被调用时间间隔 last 小于设定时间间隔 wait - if (last < wait && last > 0) { - timeout = setTimeout(later, wait - last) - } else { - timeout = null - // 如果设定为immediate===true,因为开始边界已经调用过了此处无需调用 - if (!immediate) { - result = func.apply(context, args) - if (!timeout) context = args = null - } - } - } - - return function(...args) { - context = this - timestamp = +new Date() - const callNow = immediate && !timeout - // 如果延时不存在,重新设定延时 - if (!timeout) timeout = setTimeout(later, wait) - if (callNow) { - result = func.apply(context, args) - context = args = null - } - - return result - } -} - -/** - * This is just a simple version of deep copy - * Has a lot of edge cases bug - * If you want to use a perfect deep copy, use lodash's _.cloneDeep - * @param {Object} source - * @returns {Object} - */ -export function deepClone(source) { - if (!source && typeof source !== 'object') { - throw new Error('error arguments', 'deepClone') - } - const targetObj = source.constructor === Array ? [] : {} - Object.keys(source).forEach(keys => { - if (source[keys] && typeof source[keys] === 'object') { - targetObj[keys] = deepClone(source[keys]) - } else { - targetObj[keys] = source[keys] - } - }) - return targetObj -} - -/** - * @param {Array} arr - * @returns {Array} - */ -export function uniqueArr(arr) { - return Array.from(new Set(arr)) -} - -/** - * @returns {string} - */ -export function createUniqueString() { - const timestamp = +new Date() + '' - const randomNum = parseInt((1 + Math.random()) * 65536) + '' - return (+(randomNum + timestamp)).toString(32) -} - -/** - * Check if an element has a class - * @param {HTMLElement} elm - * @param {string} cls - * @returns {boolean} - */ -export function hasClass(ele, cls) { - return !!ele.className.match(new RegExp('(\\s|^)' + cls + '(\\s|$)')) -} - -/** - * Add class to element - * @param {HTMLElement} elm - * @param {string} cls - */ -export function addClass(ele, cls) { - if (!hasClass(ele, cls)) ele.className += ' ' + cls -} - -/** - * Remove class from element - * @param {HTMLElement} elm - * @param {string} cls - */ -export function removeClass(ele, cls) { - if (hasClass(ele, cls)) { - const reg = new RegExp('(\\s|^)' + cls + '(\\s|$)') - ele.className = ele.className.replace(reg, ' ') - } -} - -// 替换邮箱字符 -export function regEmail(email) { - if (String(email).indexOf('@') > 0) { - const str = email.split('@') - let _s = '' - if (str[0].length > 3) { - for (var i = 0; i < str[0].length - 3; i++) { - _s += '*' - } - } - var new_email = str[0].substr(0, 3) + _s + '@' + str[1] - } - return new_email -} - -// 替换手机字符 -export function regMobile(mobile) { - if (mobile.length > 7) { - var new_mobile = mobile.substr(0, 3) + '****' + mobile.substr(7) - } - return new_mobile -} - -// 下载文件 -export function downloadFile(obj, name, suffix) { - const url = window.URL.createObjectURL(new Blob([obj])) - const link = document.createElement('a') - link.style.display = 'none' - link.href = url - const fileName = parseTime(new Date()) + '-' + name + '.' + suffix - link.setAttribute('download', fileName) - document.body.appendChild(link) - link.click() - document.body.removeChild(link) -} diff --git a/.svn/pristine/07/079d329b49f0d9709344aac318b6d8c53630b436.svn-base b/.svn/pristine/07/079d329b49f0d9709344aac318b6d8c53630b436.svn-base deleted file mode 100644 index 894e4bf..0000000 --- a/.svn/pristine/07/079d329b49f0d9709344aac318b6d8c53630b436.svn-base +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/.svn/pristine/07/07dd6bbf561a2dd86325bfa35b159a6d4e3e41fe.svn-base b/.svn/pristine/07/07dd6bbf561a2dd86325bfa35b159a6d4e3e41fe.svn-base deleted file mode 100644 index d3a6736..0000000 --- a/.svn/pristine/07/07dd6bbf561a2dd86325bfa35b159a6d4e3e41fe.svn-base +++ /dev/null @@ -1,114 +0,0 @@ -{ - "name": "eladmin-web", - "version": "2.6.0", - "description": "EL-ADMIN 前端源码", - "author": "Zheng Jie", - "license": "Apache-2.0", - "scripts": { - "dev": "vue-cli-service serve", - "build:prod": "vue-cli-service build", - "build:stage": "vue-cli-service build --mode staging", - "preview": "node build/index.js --preview", - "lint": "eslint --ext .js,.vue src", - "test:unit": "jest --clearCache && vue-cli-service test:unit", - "svgo": "svgo -f src/assets/icons/svg --config=src/assets/icons/svgo.yml", - "new": "plop" - }, - "husky": { - "hooks": { - "pre-commit": "lint-staged" - } - }, - "lint-staged": { - "src/**/*.{js,vue}": [ - "eslint --fix", - "git add" - ] - }, - "repository": { - "type": "git", - "url": "https://github.com/elunez/eladmin-web.git" - }, - "bugs": { - "url": "https://github.com/elunez/eladmin/issues" - }, - "dependencies": { - "@riophae/vue-treeselect": "^0.4.0", - "axios": "^0.21.1", - "clipboard": "2.0.4", - "codemirror": "^5.49.2", - "core-js": "^2.6.12", - "echarts": "^4.2.1", - "echarts-wordcloud": "^1.1.3", - "element-ui": "^2.15.8", - "file-saver": "1.3.8", - "fuse.js": "3.4.4", - "js-beautify": "^1.10.2", - "js-cookie": "2.2.0", - "jsencrypt": "^3.0.0-rc.1", - "jszip": "^3.7.1", - "mavon-editor": "^2.9.1", - "normalize.css": "7.0.0", - "nprogress": "0.2.0", - "path-to-regexp": "2.4.0", - "qs": "^6.10.1", - "screenfull": "4.2.0", - "sortablejs": "1.8.4", - "vue": "^2.6.14", - "vue-count-to": "^1.0.13", - "vue-cropper": "0.4.9", - "vue-echarts": "^5.0.0-beta.0", - "vue-image-crop-upload": "^2.5.0", - "vue-json-viewer": "^2.2.22", - "vue-router": "3.0.2", - "vue-splitpane": "1.0.4", - "vuedraggable": "2.20.0", - "vuex": "3.1.0", - "wangeditor": "^4.7.11", - "xlsx": "^0.17.4" - }, - "devDependencies": { - "@babel/parser": "^7.7.4", - "@babel/register": "7.0.0", - "@vue/babel-plugin-transform-vue-jsx": "^1.2.1", - "@vue/cli-plugin-babel": "3.5.3", - "@vue/cli-plugin-eslint": "^3.9.1", - "@vue/cli-plugin-unit-jest": "3.5.3", - "@vue/cli-service": "3.5.3", - "@vue/test-utils": "1.0.0-beta.29", - "autoprefixer": "^9.5.1", - "babel-core": "7.0.0-bridge.0", - "babel-eslint": "10.0.1", - "babel-jest": "23.6.0", - "babel-plugin-dynamic-import-node": "2.3.0", - "babel-plugin-transform-remove-console": "^6.9.4", - "chalk": "2.4.2", - "chokidar": "2.1.5", - "compression-webpack-plugin": "5.0.2", - "connect": "3.6.6", - "eslint": "5.15.3", - "eslint-plugin-vue": "5.2.2", - "html-webpack-plugin": "3.2.0", - "http-proxy-middleware": "^0.19.1", - "husky": "1.3.1", - "lint-staged": "8.1.5", - "plop": "2.3.0", - "sass": "1.32.13", - "sass-loader": "10.2.0", - "script-ext-html-webpack-plugin": "2.1.3", - "script-loader": "0.7.2", - "serve-static": "^1.13.2", - "svg-sprite-loader": "4.1.3", - "svgo": "1.2.0", - "tasksfile": "^5.1.1", - "vue-template-compiler": "2.6.14" - }, - "engines": { - "node": ">=8.9", - "npm": ">= 3.0.0" - }, - "browserslist": [ - "> 1%", - "last 2 versions" - ] -} diff --git a/.svn/pristine/07/07ec62463eceb1c88f9bdfb45b4074791fce5f91.svn-base b/.svn/pristine/07/07ec62463eceb1c88f9bdfb45b4074791fce5f91.svn-base deleted file mode 100644 index 9f3147e..0000000 --- a/.svn/pristine/07/07ec62463eceb1c88f9bdfb45b4074791fce5f91.svn-base +++ /dev/null @@ -1,7 +0,0 @@ -const viewGenerator = require('./plop-templates/view/prompt') -const componentGenerator = require('./plop-templates/component/prompt') - -module.exports = function(plop) { - plop.setGenerator('view', viewGenerator) - plop.setGenerator('component', componentGenerator) -} diff --git a/.svn/pristine/08/08612885be74e031e673eb8e0b1fcca090949ff2.svn-base b/.svn/pristine/08/08612885be74e031e673eb8e0b1fcca090949ff2.svn-base deleted file mode 100644 index 76f10fb..0000000 --- a/.svn/pristine/08/08612885be74e031e673eb8e0b1fcca090949ff2.svn-base +++ /dev/null @@ -1,41 +0,0 @@ -import request from '@/utils/request' - -export function getList(data) { - return request({ - url: '/api/ctBrowse/list', - method: 'post', - data - }) -} - -export function add(data) { - return request({ - url: '/api/ctBrowse/add', - method: 'post', - data - }) -} - -export function editById(data) { - return request({ - url: '/api/ctBrowse/edit', - method: 'post', - data - }) -} - -export function getById(data) { - return request({ - url: '/api/ctBrowse/getById', - method: 'post', - data - }) -} - -export function deleteById(data) { - return request({ - url: '/api/ctBrowse/delete', - method: 'post', - data - }) -} diff --git a/.svn/pristine/09/093664a12d2b2a405cddd35e2d98b01c3c1cb926.svn-base b/.svn/pristine/09/093664a12d2b2a405cddd35e2d98b01c3c1cb926.svn-base deleted file mode 100644 index da339f9..0000000 --- a/.svn/pristine/09/093664a12d2b2a405cddd35e2d98b01c3c1cb926.svn-base +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/.svn/pristine/0a/0a326aa1a0af321403faeda9d6f31727fb8f6bef.svn-base b/.svn/pristine/0a/0a326aa1a0af321403faeda9d6f31727fb8f6bef.svn-base deleted file mode 100644 index c977505..0000000 --- a/.svn/pristine/0a/0a326aa1a0af321403faeda9d6f31727fb8f6bef.svn-base +++ /dev/null @@ -1,198 +0,0 @@ -module.exports = { - root: true, - parserOptions: { - parser: 'babel-eslint', - sourceType: 'module' - }, - env: { - browser: true, - node: true, - es6: true, - }, - extends: ['plugin:vue/recommended', 'eslint:recommended'], - - // add your custom rules here - //it is base on https://github.com/vuejs/eslint-config-vue - rules: { - "vue/max-attributes-per-line": [2, { - "singleline": 10, - "multiline": { - "max": 1, - "allowFirstLine": false - } - }], - "vue/singleline-html-element-content-newline": "off", - "vue/multiline-html-element-content-newline":"off", - "vue/name-property-casing": ["error", "PascalCase"], - "vue/no-v-html": "off", - 'accessor-pairs': 2, - 'arrow-spacing': [2, { - 'before': true, - 'after': true - }], - 'block-spacing': [2, 'always'], - 'brace-style': [2, '1tbs', { - 'allowSingleLine': true - }], - 'camelcase': [0, { - 'properties': 'always' - }], - 'comma-dangle': [2, 'never'], - 'comma-spacing': [2, { - 'before': false, - 'after': true - }], - 'comma-style': [2, 'last'], - 'constructor-super': 2, - 'curly': [2, 'multi-line'], - 'dot-location': [2, 'property'], - 'eol-last': 2, - 'eqeqeq': ["error", "always", {"null": "ignore"}], - 'generator-star-spacing': [2, { - 'before': true, - 'after': true - }], - 'handle-callback-err': [2, '^(err|error)$'], - 'indent': [2, 2, { - 'SwitchCase': 1 - }], - 'jsx-quotes': [2, 'prefer-single'], - 'key-spacing': [2, { - 'beforeColon': false, - 'afterColon': true - }], - 'keyword-spacing': [2, { - 'before': true, - 'after': true - }], - 'new-cap': [2, { - 'newIsCap': true, - 'capIsNew': false - }], - 'new-parens': 2, - 'no-array-constructor': 2, - 'no-caller': 2, - 'no-console': 'off', - 'no-class-assign': 2, - 'no-cond-assign': 2, - 'no-const-assign': 2, - 'no-control-regex': 0, - 'no-delete-var': 2, - 'no-dupe-args': 2, - 'no-dupe-class-members': 2, - 'no-dupe-keys': 2, - 'no-duplicate-case': 2, - 'no-empty-character-class': 2, - 'no-empty-pattern': 2, - 'no-eval': 2, - 'no-ex-assign': 2, - 'no-extend-native': 2, - 'no-extra-bind': 2, - 'no-extra-boolean-cast': 2, - 'no-extra-parens': [2, 'functions'], - 'no-fallthrough': 2, - 'no-floating-decimal': 2, - 'no-func-assign': 2, - 'no-implied-eval': 2, - 'no-inner-declarations': [2, 'functions'], - 'no-invalid-regexp': 2, - 'no-irregular-whitespace': 2, - 'no-iterator': 2, - 'no-label-var': 2, - 'no-labels': [2, { - 'allowLoop': false, - 'allowSwitch': false - }], - 'no-lone-blocks': 2, - 'no-mixed-spaces-and-tabs': 2, - 'no-multi-spaces': 2, - 'no-multi-str': 2, - 'no-multiple-empty-lines': [2, { - 'max': 1 - }], - 'no-native-reassign': 2, - 'no-negated-in-lhs': 2, - 'no-new-object': 2, - 'no-new-require': 2, - 'no-new-symbol': 2, - 'no-new-wrappers': 2, - 'no-obj-calls': 2, - 'no-octal': 2, - 'no-octal-escape': 2, - 'no-path-concat': 2, - 'no-proto': 2, - 'no-redeclare': 2, - 'no-regex-spaces': 2, - 'no-return-assign': [2, 'except-parens'], - 'no-self-assign': 2, - 'no-self-compare': 2, - 'no-sequences': 2, - 'no-shadow-restricted-names': 2, - 'no-spaced-func': 2, - 'no-sparse-arrays': 2, - 'no-this-before-super': 2, - 'no-throw-literal': 2, - 'no-trailing-spaces': 2, - 'no-undef': 2, - 'no-undef-init': 2, - 'no-unexpected-multiline': 2, - 'no-unmodified-loop-condition': 2, - 'no-unneeded-ternary': [2, { - 'defaultAssignment': false - }], - 'no-unreachable': 2, - 'no-unsafe-finally': 2, - 'no-unused-vars': [2, { - 'vars': 'all', - 'args': 'none' - }], - 'no-useless-call': 2, - 'no-useless-computed-key': 2, - 'no-useless-constructor': 2, - 'no-useless-escape': 0, - 'no-whitespace-before-property': 2, - 'no-with': 2, - 'one-var': [2, { - 'initialized': 'never' - }], - 'operator-linebreak': [2, 'after', { - 'overrides': { - '?': 'before', - ':': 'before' - } - }], - 'padded-blocks': [2, 'never'], - 'quotes': [2, 'single', { - 'avoidEscape': true, - 'allowTemplateLiterals': true - }], - 'semi': [2, 'never'], - 'semi-spacing': [2, { - 'before': false, - 'after': true - }], - 'space-before-blocks': [2, 'always'], - 'space-before-function-paren': [2, 'never'], - 'space-in-parens': [2, 'never'], - 'space-infix-ops': 2, - 'space-unary-ops': [2, { - 'words': true, - 'nonwords': false - }], - 'spaced-comment': [2, 'always', { - 'markers': ['global', 'globals', 'eslint', 'eslint-disable', '*package', '!', ','] - }], - 'template-curly-spacing': [2, 'never'], - 'use-isnan': 2, - 'valid-typeof': 2, - 'wrap-iife': [2, 'any'], - 'yield-star-spacing': [2, 'both'], - 'yoda': [2, 'never'], - 'prefer-const': 2, - 'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0, - 'object-curly-spacing': [2, 'always', { - objectsInObjects: false - }], - 'array-bracket-spacing': [2, 'never'] - } -} diff --git a/.svn/pristine/0a/0a6bb332f0c69dfbdbba83b9711b0a846ba9c071.svn-base b/.svn/pristine/0a/0a6bb332f0c69dfbdbba83b9711b0a846ba9c071.svn-base deleted file mode 100644 index b8283a2..0000000 --- a/.svn/pristine/0a/0a6bb332f0c69dfbdbba83b9711b0a846ba9c071.svn-base +++ /dev/null @@ -1,5 +0,0 @@ - diff --git a/.svn/pristine/0a/0a6bea63f3b39908f58c7512cb9260f670288d42.svn-base b/.svn/pristine/0a/0a6bea63f3b39908f58c7512cb9260f670288d42.svn-base deleted file mode 100644 index 9c57415..0000000 --- a/.svn/pristine/0a/0a6bea63f3b39908f58c7512cb9260f670288d42.svn-base +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/.svn/pristine/0a/0ac6fd093464aa5ad0cc81b4ad69f8590b5855f9.svn-base b/.svn/pristine/0a/0ac6fd093464aa5ad0cc81b4ad69f8590b5855f9.svn-base deleted file mode 100644 index 204ea59..0000000 --- a/.svn/pristine/0a/0ac6fd093464aa5ad0cc81b4ad69f8590b5855f9.svn-base +++ /dev/null @@ -1,81 +0,0 @@ - - - - - diff --git a/.svn/pristine/0b/0b4869538c9359be1deabd1686e390e612fb9970.svn-base b/.svn/pristine/0b/0b4869538c9359be1deabd1686e390e612fb9970.svn-base deleted file mode 100644 index c554ff4..0000000 --- a/.svn/pristine/0b/0b4869538c9359be1deabd1686e390e612fb9970.svn-base +++ /dev/null @@ -1,336 +0,0 @@ - - - - diff --git a/.svn/pristine/0c/0c2310e76afc117a31b4108202b525b7f2177e22.svn-base b/.svn/pristine/0c/0c2310e76afc117a31b4108202b525b7f2177e22.svn-base deleted file mode 100644 index 8f9055e..0000000 --- a/.svn/pristine/0c/0c2310e76afc117a31b4108202b525b7f2177e22.svn-base +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/.svn/pristine/0e/0e56c0b29bc433c91d31705cd0e6c8747fe193c2.svn-base b/.svn/pristine/0e/0e56c0b29bc433c91d31705cd0e6c8747fe193c2.svn-base deleted file mode 100644 index 85876a4..0000000 --- a/.svn/pristine/0e/0e56c0b29bc433c91d31705cd0e6c8747fe193c2.svn-base +++ /dev/null @@ -1,55 +0,0 @@ - - - - - diff --git a/.svn/pristine/0e/0ea9cbe7472f034b908952cdc76c9bfc80512526.svn-base b/.svn/pristine/0e/0ea9cbe7472f034b908952cdc76c9bfc80512526.svn-base deleted file mode 100644 index ffbcc06..0000000 --- a/.svn/pristine/0e/0ea9cbe7472f034b908952cdc76c9bfc80512526.svn-base +++ /dev/null @@ -1,24 +0,0 @@ - - - diff --git a/.svn/pristine/10/100d8f6bd7cf171559c68700c2d55403cfbdd398.svn-base b/.svn/pristine/10/100d8f6bd7cf171559c68700c2d55403cfbdd398.svn-base deleted file mode 100644 index 9138981..0000000 --- a/.svn/pristine/10/100d8f6bd7cf171559c68700c2d55403cfbdd398.svn-base +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/.svn/pristine/11/1159701bf96a7565c9fef3b44764aa8c3762d437.svn-base b/.svn/pristine/11/1159701bf96a7565c9fef3b44764aa8c3762d437.svn-base deleted file mode 100644 index bb3bf77..0000000 --- a/.svn/pristine/11/1159701bf96a7565c9fef3b44764aa8c3762d437.svn-base +++ /dev/null @@ -1,210 +0,0 @@ - - - diff --git a/.svn/pristine/13/136782cb19e5a68061d4453a01957e71fbe5083f.svn-base b/.svn/pristine/13/136782cb19e5a68061d4453a01957e71fbe5083f.svn-base deleted file mode 100644 index 47be649..0000000 --- a/.svn/pristine/13/136782cb19e5a68061d4453a01957e71fbe5083f.svn-base +++ /dev/null @@ -1,72 +0,0 @@ -import router from './routers' -import store from '@/store' -import Config from '@/settings' -import NProgress from 'nprogress' // progress bar -import 'nprogress/nprogress.css'// progress bar style -import { getToken } from '@/utils/auth' // getToken from cookie -import { buildMenus } from '@/api/system/menu' -import { filterAsyncRouter } from '@/store/modules/permission' - -NProgress.configure({ showSpinner: false })// NProgress Configuration - -const whiteList = ['/login']// no redirect whitelist - -router.beforeEach((to, from, next) => { - if (to.meta.title) { - document.title = to.meta.title + ' - ' + Config.title - } - NProgress.start() - if (getToken()) { - // 已登录且要跳转的页面是登录页 - if (to.path === '/login') { - next({ path: '/' }) - NProgress.done() - } else { - if (store.getters.roles.length === 0) { // 判断当前用户是否已拉取完user_info信息 - store.dispatch('GetInfo').then(() => { // 拉取user_info - // 动态路由,拉取菜单 - loadMenus(next, to) - }).catch(() => { - store.dispatch('LogOut').then(() => { - location.reload() // 为了重新实例化vue-router对象 避免bug - }) - }) - // 登录时未拉取 菜单,在此处拉取 - } else if (store.getters.loadMenus) { - // 修改成false,防止死循环 - store.dispatch('updateLoadMenus') - loadMenus(next, to) - } else { - next() - } - } - } else { - /* has no token*/ - if (whiteList.indexOf(to.path) !== -1) { // 在免登录白名单,直接进入 - next() - } else { - next(`/login?redirect=${to.fullPath}`) // 否则全部重定向到登录页 - NProgress.done() - } - } -}) - -export const loadMenus = (next, to) => { - buildMenus().then(res => { - const sdata = JSON.parse(JSON.stringify(res)) - const rdata = JSON.parse(JSON.stringify(res)) - const sidebarRoutes = filterAsyncRouter(sdata) - const rewriteRoutes = filterAsyncRouter(rdata, false, true) - rewriteRoutes.push({ path: '*', redirect: '/404', hidden: true }) - - store.dispatch('GenerateRoutes', rewriteRoutes).then(() => { // 存储路由 - router.addRoutes(rewriteRoutes) // 动态添加可访问路由表 - next({ ...to, replace: true }) - }) - store.dispatch('SetSidebarRouters', sidebarRoutes) - }) -} - -router.afterEach(() => { - NProgress.done() // finish progress bar -}) diff --git a/.svn/pristine/13/139040fe43bf50c77520e6078168a171c2964a86.svn-base b/.svn/pristine/13/139040fe43bf50c77520e6078168a171c2964a86.svn-base deleted file mode 100644 index 1948ddd..0000000 --- a/.svn/pristine/13/139040fe43bf50c77520e6078168a171c2964a86.svn-base +++ /dev/null @@ -1,14 +0,0 @@ -import JSEncrypt from 'jsencrypt/bin/jsencrypt.min' - -// 密钥对生成 http://web.chacuo.net/netrsakeypair - -const publicKey = 'MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBANL378k3RiZHWx5AfJqdH9xRNBmD9wGD\n' + - '2iRe41HdTNF8RUhNnHit5NpMNtGL0NPTSSpPjjI1kJfVorRvaQerUgkCAwEAAQ==' - -// 加密 -export function encrypt(txt) { - const encryptor = new JSEncrypt() - encryptor.setPublicKey(publicKey) // 设置公钥 - return encryptor.encrypt(txt) // 对需要加密的数据进行加密 -} - diff --git a/.svn/pristine/14/14f8461bb590293af8d3852a18ea7f897a855674.svn-base b/.svn/pristine/14/14f8461bb590293af8d3852a18ea7f897a855674.svn-base deleted file mode 100644 index a4f8c4a..0000000 --- a/.svn/pristine/14/14f8461bb590293af8d3852a18ea7f897a855674.svn-base +++ /dev/null @@ -1,31 +0,0 @@ -/** -* I think element-ui's default theme color is too light for long-term use. -* So I modified the default color and you can modify it to your liking. -**/ - -/* theme color */ -$--color-primary: #1890ff; -$--color-success: #13ce66; -$--color-warning: #FFBA00; -$--color-danger: #ff4949; -// $--color-info: #1E1E1E; - -$--button-font-weight: 400; - -// $--color-text-regular: #1f2d3d; - -$--border-color-light: #dfe4ed; -$--border-color-lighter: #e6ebf5; - -$--table-border:1px solid#dfe6ec; - -/* icon font path, required */ -$--font-path: '~element-ui/lib/theme-chalk/fonts'; - -@import "../../../node_modules/element-ui/packages/theme-chalk/src/index"; - -// the :export directive is the magic sauce for webpack -// https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass -:export { - theme: $--color-primary; -} diff --git a/.svn/pristine/16/166ce090bf34d05251adc9618c96ac418d9fccd5.svn-base b/.svn/pristine/16/166ce090bf34d05251adc9618c96ac418d9fccd5.svn-base deleted file mode 100644 index a384479..0000000 --- a/.svn/pristine/16/166ce090bf34d05251adc9618c96ac418d9fccd5.svn-base +++ /dev/null @@ -1,56 +0,0 @@ -import Cookies from 'js-cookie' - -const state = { - sidebar: { - opened: Cookies.get('sidebarStatus') ? !!+Cookies.get('sidebarStatus') : true, - withoutAnimation: false - }, - device: 'desktop', - size: Cookies.get('size') || 'small' -} - -const mutations = { - TOGGLE_SIDEBAR: state => { - state.sidebar.opened = !state.sidebar.opened - state.sidebar.withoutAnimation = false - if (state.sidebar.opened) { - Cookies.set('sidebarStatus', 1) - } else { - Cookies.set('sidebarStatus', 0) - } - }, - CLOSE_SIDEBAR: (state, withoutAnimation) => { - Cookies.set('sidebarStatus', 0) - state.sidebar.opened = false - state.sidebar.withoutAnimation = withoutAnimation - }, - TOGGLE_DEVICE: (state, device) => { - state.device = device - }, - SET_SIZE: (state, size) => { - state.size = size - Cookies.set('size', size) - } -} - -const actions = { - toggleSideBar({ commit }) { - commit('TOGGLE_SIDEBAR') - }, - closeSideBar({ commit }, { withoutAnimation }) { - commit('CLOSE_SIDEBAR', withoutAnimation) - }, - toggleDevice({ commit }, device) { - commit('TOGGLE_DEVICE', device) - }, - setSize({ commit }, size) { - commit('SET_SIZE', size) - } -} - -export default { - namespaced: true, - state, - mutations, - actions -} diff --git a/.svn/pristine/16/1693e61427c7eb4d4e72bf8fac4cfc83a2912d5b.svn-base b/.svn/pristine/16/1693e61427c7eb4d4e72bf8fac4cfc83a2912d5b.svn-base deleted file mode 100644 index af030cb..0000000 --- a/.svn/pristine/16/1693e61427c7eb4d4e72bf8fac4cfc83a2912d5b.svn-base +++ /dev/null @@ -1,24 +0,0 @@ -import request from '@/utils/request' - -export function get() { - return request({ - url: 'api/email', - method: 'get' - }) -} - -export function update(data) { - return request({ - url: 'api/email', - data, - method: 'put' - }) -} - -export function send(data) { - return request({ - url: 'api/email', - data, - method: 'post' - }) -} diff --git a/.svn/pristine/16/16ad08432755540fd4395dad44a0ae3191670d69.svn-base b/.svn/pristine/16/16ad08432755540fd4395dad44a0ae3191670d69.svn-base deleted file mode 100644 index 1219e41..0000000 --- a/.svn/pristine/16/16ad08432755540fd4395dad44a0ae3191670d69.svn-base +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/.svn/pristine/19/191d4e623681237307cc91b29c4b69ed9bcd2da0.svn-base b/.svn/pristine/19/191d4e623681237307cc91b29c4b69ed9bcd2da0.svn-base deleted file mode 100644 index a5a88b3..0000000 --- a/.svn/pristine/19/191d4e623681237307cc91b29c4b69ed9bcd2da0.svn-base +++ /dev/null @@ -1,101 +0,0 @@ - - - diff --git a/.svn/pristine/1a/1ac2602b5a31cf0775358f14b00641e7d152a8dd.svn-base b/.svn/pristine/1a/1ac2602b5a31cf0775358f14b00641e7d152a8dd.svn-base deleted file mode 100644 index b0ec9fa..0000000 --- a/.svn/pristine/1a/1ac2602b5a31cf0775358f14b00641e7d152a8dd.svn-base +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - diff --git a/.svn/pristine/1b/1b28aca71980e98a0be485f7f16dd12747966492.svn-base b/.svn/pristine/1b/1b28aca71980e98a0be485f7f16dd12747966492.svn-base deleted file mode 100644 index 0c49718..0000000 --- a/.svn/pristine/1b/1b28aca71980e98a0be485f7f16dd12747966492.svn-base +++ /dev/null @@ -1,33 +0,0 @@ -import request from '@/utils/request' - -export function getAllTable() { - return request({ - url: 'api/generator/tables/all', - method: 'get' - }) -} - -export function generator(tableName, type) { - return request({ - url: 'api/generator/' + tableName + '/' + type, - method: 'post', - responseType: type === 2 ? 'blob' : '' - }) -} - -export function save(data) { - return request({ - url: 'api/generator', - data, - method: 'put' - }) -} - -export function sync(tables) { - return request({ - url: 'api/generator/sync', - method: 'post', - data: tables - }) -} - diff --git a/.svn/pristine/1b/1bfe601787dbe1ff216fbb5ed025ae3b54864add.svn-base b/.svn/pristine/1b/1bfe601787dbe1ff216fbb5ed025ae3b54864add.svn-base deleted file mode 100644 index 4892ded..0000000 --- a/.svn/pristine/1b/1bfe601787dbe1ff216fbb5ed025ae3b54864add.svn-base +++ /dev/null @@ -1,753 +0,0 @@ - - - - - diff --git a/.svn/pristine/1d/1d62761e8f84900cd88c90f7152b5c8b95b2c223.svn-base b/.svn/pristine/1d/1d62761e8f84900cd88c90f7152b5c8b95b2c223.svn-base deleted file mode 100644 index f4be7a0..0000000 --- a/.svn/pristine/1d/1d62761e8f84900cd88c90f7152b5c8b95b2c223.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -language: node_js -node_js: 10 -script: npm run test -notifications: - email: false diff --git a/.svn/pristine/1d/1d6dde7b65a28d55b31e549acce64b8b2ad65736.svn-base b/.svn/pristine/1d/1d6dde7b65a28d55b31e549acce64b8b2ad65736.svn-base deleted file mode 100644 index 4ac1a1c..0000000 --- a/.svn/pristine/1d/1d6dde7b65a28d55b31e549acce64b8b2ad65736.svn-base +++ /dev/null @@ -1,73 +0,0 @@ -import request from '@/utils/request' - -export function getList(data) { -return request({ - url: 'api/dhAddCar/list', - method: 'post', - data -}) -} -//export function getClickFarmList(data) { -//return request({ -// url: 'api/clickFarming/list', -// method: 'post', -// data -//}) -//} - -export function add(data) { - return request({ - url: 'api/dhAddCar/add', - method: 'post', - data - }) -} - -export function sureEditById(data) { -return request({ - url: 'api/dhAddCar/edit', - method: 'post', - data -}) -} - -export function getEditDetailById(data) { -return request({ - url: 'api/dhAddCar/getEditDetailById', - method: 'post', - data -}) -} - -export function delById(data) { -return request({ - url: 'api/dhAddCar/delete', - method: 'post', - data -}) -} - -export function orderSuccess(data) { -return request({ - url: 'api/dhAddCar/orderSuccess', - method: 'post', - data -}) -} - -export function toBeCatch(data) { -return request({ - url: 'api/dhAddCar/toBeCatch', - method: 'post', - data -}) -} - -export function wellReceive(data) { -return request({ - url: 'api/dhAddCar/wellReceive', - method: 'post', - data -}) -} - diff --git a/.svn/pristine/1e/1ec2404c5ac703385baa58deeb14b9b0e87850f7.svn-base b/.svn/pristine/1e/1ec2404c5ac703385baa58deeb14b9b0e87850f7.svn-base deleted file mode 100644 index e994da2..0000000 --- a/.svn/pristine/1e/1ec2404c5ac703385baa58deeb14b9b0e87850f7.svn-base +++ /dev/null @@ -1,214 +0,0 @@ - - - - - diff --git a/.svn/pristine/1e/1ee89531354dabb08b2aa556a6b5a7d49537e95d.svn-base b/.svn/pristine/1e/1ee89531354dabb08b2aa556a6b5a7d49537e95d.svn-base deleted file mode 100644 index e95fc46..0000000 --- a/.svn/pristine/1e/1ee89531354dabb08b2aa556a6b5a7d49537e95d.svn-base +++ /dev/null @@ -1,30 +0,0 @@ - - - diff --git a/.svn/pristine/1f/1f3a3ad01c8a182e787106029dea9607db224fc7.svn-base b/.svn/pristine/1f/1f3a3ad01c8a182e787106029dea9607db224fc7.svn-base deleted file mode 100644 index 59933fc..0000000 --- a/.svn/pristine/1f/1f3a3ad01c8a182e787106029dea9607db224fc7.svn-base +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/.svn/pristine/1f/1f69b37ce32a2204a43c547099722364d32d82a0.svn-base b/.svn/pristine/1f/1f69b37ce32a2204a43c547099722364d32d82a0.svn-base deleted file mode 100644 index 7f59b89..0000000 --- a/.svn/pristine/1f/1f69b37ce32a2204a43c547099722364d32d82a0.svn-base +++ /dev/null @@ -1,1010 +0,0 @@ - - - - diff --git a/.svn/pristine/1f/1f6a9ddd1f4590063b94bdff2ce6251d480c2c7c.svn-base b/.svn/pristine/1f/1f6a9ddd1f4590063b94bdff2ce6251d480c2c7c.svn-base deleted file mode 100644 index 8137bbf..0000000 --- a/.svn/pristine/1f/1f6a9ddd1f4590063b94bdff2ce6251d480c2c7c.svn-base +++ /dev/null @@ -1,41 +0,0 @@ -import request from '@/utils/request' - -export function getList(data) { - return request({ - url: 'api/ctPlatform/list', - method: 'post', - data - }) -} - -export function add(data) { - return request({ - url: 'api/ctPlatform/add', - method: 'post', - data - }) -} - -export function delById(data) { - return request({ - url: 'api/ctPlatform/delete', - method: 'post', - data - }) -} - -export function editById(data) { - return request({ - url: 'api/ctPlatform/edit', - method: 'post', - data - }) -} - -export function getById(data) { - return request({ - url: 'api/ctPlatform/getById', - method: 'post', - data - }) -} diff --git a/.svn/pristine/1f/1f9c2c0641af0c07450c7f13a859d9a1723c84e8.svn-base b/.svn/pristine/1f/1f9c2c0641af0c07450c7f13a859d9a1723c84e8.svn-base deleted file mode 100644 index 2690dd5..0000000 --- a/.svn/pristine/1f/1f9c2c0641af0c07450c7f13a859d9a1723c84e8.svn-base +++ /dev/null @@ -1,325 +0,0 @@ - - - - - - - diff --git a/.svn/pristine/22/22f52a8cef570808e4de166360a7b1081a41e24f.svn-base b/.svn/pristine/22/22f52a8cef570808e4de166360a7b1081a41e24f.svn-base deleted file mode 100644 index 7cd6747..0000000 --- a/.svn/pristine/22/22f52a8cef570808e4de166360a7b1081a41e24f.svn-base +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/.svn/pristine/24/240490bf6f02c2361386cf49104f559a8a1bb73b.svn-base b/.svn/pristine/24/240490bf6f02c2361386cf49104f559a8a1bb73b.svn-base deleted file mode 100644 index 7de5a7d..0000000 --- a/.svn/pristine/24/240490bf6f02c2361386cf49104f559a8a1bb73b.svn-base +++ /dev/null @@ -1,54 +0,0 @@ - - - diff --git a/.svn/pristine/27/2714d8c648b30f1ba65d8760acc028ab86604bed.svn-base b/.svn/pristine/27/2714d8c648b30f1ba65d8760acc028ab86604bed.svn-base deleted file mode 100644 index 034b3fa..0000000 --- a/.svn/pristine/27/2714d8c648b30f1ba65d8760acc028ab86604bed.svn-base +++ /dev/null @@ -1,135 +0,0 @@ - - - - - diff --git a/.svn/pristine/29/296752aff1b4dc249c5fed34607ae9ee99c6a5f2.svn-base b/.svn/pristine/29/296752aff1b4dc249c5fed34607ae9ee99c6a5f2.svn-base deleted file mode 100644 index c1475ea..0000000 --- a/.svn/pristine/29/296752aff1b4dc249c5fed34607ae9ee99c6a5f2.svn-base +++ /dev/null @@ -1,77 +0,0 @@ -import request from '@/utils/request' - -export function add(data) { - return request({ - url: 'api/deploy', - method: 'post', - data - }) -} - -export function del(ids) { - return request({ - url: 'api/deploy', - method: 'delete', - data: ids - }) -} - -export function edit(data) { - return request({ - url: 'api/deploy', - method: 'put', - data - }) -} - -export function getApps() { - return request({ - url: 'api/app', - method: 'get' - }) -} - -export function getServers() { - return request({ - url: 'api/serverDeploy', - method: 'get' - }) -} - -/** - * 启动服务 - * @param data 选中行 - */ -export function startServer(data) { - return request({ - url: 'api/deploy/startServer', - method: 'post', - data - }) -} - -/** - * 停止服务 - * @param data 选中行 - */ -export function stopServer(data) { - return request({ - url: 'api/deploy/stopServer', - method: 'post', - data - }) -} - -/** - * 停止服务 - * @param data 选中行 - */ -export function serverStatus(data) { - return request({ - url: 'api/deploy/serverStatus', - method: 'post', - data - }) -} - -export default { add, edit, del, stopServer, serverStatus, startServer, getServers, getApps } diff --git a/.svn/pristine/29/29d1b6564388699334ef4e8d4e109a914a72ccc0.svn-base b/.svn/pristine/29/29d1b6564388699334ef4e8d4e109a914a72ccc0.svn-base deleted file mode 100644 index f8fdc6d..0000000 --- a/.svn/pristine/29/29d1b6564388699334ef4e8d4e109a914a72ccc0.svn-base +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/.svn/pristine/2b/2b84c643170b9751a148a318a871e2fffb825635.svn-base b/.svn/pristine/2b/2b84c643170b9751a148a318a871e2fffb825635.svn-base deleted file mode 100644 index cc7d0dd..0000000 --- a/.svn/pristine/2b/2b84c643170b9751a148a318a871e2fffb825635.svn-base +++ /dev/null @@ -1,422 +0,0 @@ - - - - diff --git a/.svn/pristine/2c/2c4ba4912c97489515de1e78a208e0954eef3e37.svn-base b/.svn/pristine/2c/2c4ba4912c97489515de1e78a208e0954eef3e37.svn-base deleted file mode 100644 index 5162cd9..0000000 --- a/.svn/pristine/2c/2c4ba4912c97489515de1e78a208e0954eef3e37.svn-base +++ /dev/null @@ -1,16 +0,0 @@ - - diff --git a/.svn/pristine/2c/2c57482cfcf3b3f28aa2f12d193a49e319ef7a92.svn-base b/.svn/pristine/2c/2c57482cfcf3b3f28aa2f12d193a49e319ef7a92.svn-base deleted file mode 100644 index 6503317..0000000 --- a/.svn/pristine/2c/2c57482cfcf3b3f28aa2f12d193a49e319ef7a92.svn-base +++ /dev/null @@ -1,32 +0,0 @@ - - - diff --git a/.svn/pristine/2c/2c94fc5fd093b1375aa36092933e89626f0271ec.svn-base b/.svn/pristine/2c/2c94fc5fd093b1375aa36092933e89626f0271ec.svn-base deleted file mode 100644 index fb33b23..0000000 --- a/.svn/pristine/2c/2c94fc5fd093b1375aa36092933e89626f0271ec.svn-base +++ /dev/null @@ -1,110 +0,0 @@ - - - - - diff --git a/.svn/pristine/2c/2c9bd24d1297119d658b807b539900db8b694f90.svn-base b/.svn/pristine/2c/2c9bd24d1297119d658b807b539900db8b694f90.svn-base deleted file mode 100644 index d0e6387..0000000 --- a/.svn/pristine/2c/2c9bd24d1297119d658b807b539900db8b694f90.svn-base +++ /dev/null @@ -1,41 +0,0 @@ - - - - - diff --git a/.svn/pristine/2c/2cb796bdcb94549c8dc1d862f9ac87713785651c.svn-base b/.svn/pristine/2c/2cb796bdcb94549c8dc1d862f9ac87713785651c.svn-base deleted file mode 100644 index 47c5e8d..0000000 --- a/.svn/pristine/2c/2cb796bdcb94549c8dc1d862f9ac87713785651c.svn-base +++ /dev/null @@ -1,16 +0,0 @@ - - - diff --git a/.svn/pristine/2c/2cf72e6e0d5679afdd3fefa5d9f9991ddb4a2728.svn-base b/.svn/pristine/2c/2cf72e6e0d5679afdd3fefa5d9f9991ddb4a2728.svn-base deleted file mode 100644 index 8a4cf6c..0000000 --- a/.svn/pristine/2c/2cf72e6e0d5679afdd3fefa5d9f9991ddb4a2728.svn-base +++ /dev/null @@ -1,68 +0,0 @@ -import Vue from 'vue' -import Router from 'vue-router' -import Layout from '../layout/index' - -Vue.use(Router) - -export const constantRouterMap = [ - { path: '/login', - meta: { title: '登录', noCache: true }, - component: (resolve) => require(['@/views/login'], resolve), - hidden: true - }, - { - path: '/404', - component: (resolve) => require(['@/views/features/404'], resolve), - hidden: true - }, - { - path: '/401', - component: (resolve) => require(['@/views/features/401'], resolve), - hidden: true - }, - { - path: '/redirect', - component: Layout, - hidden: true, - children: [ - { - path: '/redirect/:path*', - component: (resolve) => require(['@/views/features/redirect'], resolve) - } - ] - }, - { - path: '/', - component: Layout, - redirect: '/dashboard', - children: [ - { - path: 'dashboard', - component: (resolve) => require(['@/views/home'], resolve), - name: 'Dashboard', - meta: { title: '首页', icon: 'index', affix: true, noCache: true } - } - ] - }, - { - path: '/user', - component: Layout, - hidden: true, - redirect: 'noredirect', - children: [ - { - path: 'center', - component: (resolve) => require(['@/views/system/user/center'], resolve), - name: '个人中心', - meta: { title: '个人中心' } - } - ] - } -] - -export default new Router({ - // mode: 'hash', - mode: 'history', - scrollBehavior: () => ({ y: 0 }), - routes: constantRouterMap -}) diff --git a/.svn/pristine/2d/2d15c6cc88d09c53151a5787b7aa554564f1630a.svn-base b/.svn/pristine/2d/2d15c6cc88d09c53151a5787b7aa554564f1630a.svn-base deleted file mode 100644 index a0993f8..0000000 --- a/.svn/pristine/2d/2d15c6cc88d09c53151a5787b7aa554564f1630a.svn-base +++ /dev/null @@ -1,41 +0,0 @@ -import request from '@/utils/request' - -export function getList(data) { - return request({ - url: 'api/ctExcel/list', - method: 'post', - data - }) -} - -export function add(data) { - return request({ - url: 'api/ctExcel/add', - method: 'post', - data - }) -} - -export function delById(data) { - return request({ - url: 'api/ctExcel/delete', - method: 'post', - data - }) -} - -export function editById(data) { - return request({ - url: 'api/ctExcel/edit', - method: 'post', - data - }) -} - -export function getById(data) { - return request({ - url: 'api/ctExcel/getById', - method: 'post', - data - }) -} diff --git a/.svn/pristine/2d/2d8b855718d86607aff6eb530ef2d1a8c245ff3e.svn-base b/.svn/pristine/2d/2d8b855718d86607aff6eb530ef2d1a8c245ff3e.svn-base deleted file mode 100644 index 22aed08..0000000 --- a/.svn/pristine/2d/2d8b855718d86607aff6eb530ef2d1a8c245ff3e.svn-base +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/.svn/pristine/2d/2db133ec781f6dac936c1a2d4b5a4fc923665fc1.svn-base b/.svn/pristine/2d/2db133ec781f6dac936c1a2d4b5a4fc923665fc1.svn-base deleted file mode 100644 index d02b846..0000000 --- a/.svn/pristine/2d/2db133ec781f6dac936c1a2d4b5a4fc923665fc1.svn-base +++ /dev/null @@ -1,254 +0,0 @@ - - - - - - diff --git a/.svn/pristine/2e/2e51af699afab5d5b0bb90d31cf985685b267753.svn-base b/.svn/pristine/2e/2e51af699afab5d5b0bb90d31cf985685b267753.svn-base deleted file mode 100644 index 13f0d39..0000000 --- a/.svn/pristine/2e/2e51af699afab5d5b0bb90d31cf985685b267753.svn-base +++ /dev/null @@ -1,22 +0,0 @@ -import request from '@/utils/request' - -export function getErrDetail(id) { - return request({ - url: 'api/logs/error/' + id, - method: 'get' - }) -} - -export function delAllError() { - return request({ - url: 'api/logs/del/error', - method: 'delete' - }) -} - -export function delAllInfo() { - return request({ - url: 'api/logs/del/info', - method: 'delete' - }) -} diff --git a/.svn/pristine/31/311080b246fb4d51bf85815534f103152a2dcf5f.svn-base b/.svn/pristine/31/311080b246fb4d51bf85815534f103152a2dcf5f.svn-base deleted file mode 100644 index 4c90353..0000000 --- a/.svn/pristine/31/311080b246fb4d51bf85815534f103152a2dcf5f.svn-base +++ /dev/null @@ -1,76 +0,0 @@ -import Date from './datetime.js' - -export const calendarBaseShortcuts = [{ - text: '今天', - onClick(picker) { - const startTime = new Date(new Date().setHours(0, 0, 0)) - const endTime = new Date(new Date().setHours(23, 59, 59)) - picker.$emit('pick', [startTime, endTime]) - } -}, { - text: '昨天', - onClick(picker) { - const startTime = new Date(new Date().daysAgo(1).setHours(0, 0, 0)) - const endTime = new Date(new Date().daysAgo(1).setHours(23, 59, 59)) - picker.$emit('pick', [startTime, endTime]) - } -}, { - text: '本周', - onClick(picker) { - const startTime = new Date(new Date().daysAgo(new Date().getDay() - 1).setHours(0, 0, 0)) - const endTime = new Date(new Date().setHours(23, 59, 59)) - picker.$emit('pick', [startTime, endTime]) - } -}, { - text: '这个月', - onClick(picker) { - const startTime = new Date(new Date().monthBegin().setHours(0, 0, 0)) - const endTime = new Date(new Date().setHours(23, 59, 59)) - picker.$emit('pick', [startTime, endTime]) - } -}, { - text: '当前季度', - onClick(picker) { - const startTime = new Date(new Date().quarterBegin().setHours(0, 0, 0)) - const endTime = new Date(new Date().setHours(23, 59, 59)) - picker.$emit('pick', [startTime, endTime]) - } -}, { - text: '最近30天', - onClick(picker) { - const startTime = new Date(new Date().daysAgo(30).setHours(0, 0, 0)) - const endTime = new Date(new Date().setHours(23, 59, 59)) - picker.$emit('pick', [startTime, endTime]) - } -}] - -export const calendarMoveShortcuts = [{ - text: '‹ 往前一天 ', - onClick(picker) { - let startTime = new Date(new Date().setHours(0, 0, 0)) - let endTime = new Date(new Date().setHours(23, 59, 59)) - if (!picker.value) { - picker.value = [startTime, endTime] - } - startTime = picker.value[0].daysAgo(1) - endTime = picker.value[1].daysAgo(1) - picker.$emit('pick', [startTime, endTime]) - } -}, { - text: ' 往后一天 ›', - onClick(picker) { - let startTime = new Date(new Date().setHours(0, 0, 0)) - let endTime = new Date(new Date().setHours(23, 59, 59)) - if (!picker.value) { - picker.value = [startTime, endTime] - } - startTime = picker.value[0].daysAgo(-1) - endTime = picker.value[1].daysAgo(-1) - picker.$emit('pick', [startTime, endTime]) - } -}] - -export const calendarShortcuts = [ - ...calendarBaseShortcuts, - ...calendarMoveShortcuts -] diff --git a/.svn/pristine/33/33282bbb274a5c05b7080ca7719c224069c92d6e.svn-base b/.svn/pristine/33/33282bbb274a5c05b7080ca7719c224069c92d6e.svn-base deleted file mode 100644 index 82fbdd9..0000000 --- a/.svn/pristine/33/33282bbb274a5c05b7080ca7719c224069c92d6e.svn-base +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/.svn/pristine/33/33abcb5a6de2a2cb9628ff77f7f2d14207b912b6.svn-base b/.svn/pristine/33/33abcb5a6de2a2cb9628ff77f7f2d14207b912b6.svn-base deleted file mode 100644 index c815e13..0000000 --- a/.svn/pristine/33/33abcb5a6de2a2cb9628ff77f7f2d14207b912b6.svn-base +++ /dev/null @@ -1,101 +0,0 @@ - - - - - diff --git a/.svn/pristine/33/33b329f1eb3d37b30e3547b1f030e6923837e9d0.svn-base b/.svn/pristine/33/33b329f1eb3d37b30e3547b1f030e6923837e9d0.svn-base deleted file mode 100644 index 4b32b51..0000000 --- a/.svn/pristine/33/33b329f1eb3d37b30e3547b1f030e6923837e9d0.svn-base +++ /dev/null @@ -1,24 +0,0 @@ -const getters = { - deployUploadApi: state => state.api.deployUploadApi, - databaseUploadApi: state => state.api.databaseUploadApi, - size: state => state.app.size, - sidebar: state => state.app.sidebar, - device: state => state.app.device, - token: state => state.user.token, - visitedViews: state => state.tagsView.visitedViews, - cachedViews: state => state.tagsView.cachedViews, - roles: state => state.user.roles, - user: state => state.user.user, - loadMenus: state => state.user.loadMenus, - permission_routers: state => state.permission.routers, - addRouters: state => state.permission.addRouters, - imagesUploadApi: state => state.api.imagesUploadApi, - baseApi: state => state.api.baseApi, - fileUploadApi: state => state.api.fileUploadApi, - updateAvatarApi: state => state.api.updateAvatarApi, - qiNiuUploadApi: state => state.api.qiNiuUploadApi, - sqlApi: state => state.api.sqlApi, - swaggerApi: state => state.api.swaggerApi, - sidebarRouters: state => state.permission.sidebarRouters -} -export default getters diff --git a/.svn/pristine/35/353a1f9313565147c125d95ad7e11ec97d382c36.svn-base b/.svn/pristine/35/353a1f9313565147c125d95ad7e11ec97d382c36.svn-base deleted file mode 100644 index b776efb..0000000 --- a/.svn/pristine/35/353a1f9313565147c125d95ad7e11ec97d382c36.svn-base +++ /dev/null @@ -1,143 +0,0 @@ - - - diff --git a/.svn/pristine/36/3615f69bea2c4c9ef2ffe003e1872da9eaaa04fb.svn-base b/.svn/pristine/36/3615f69bea2c4c9ef2ffe003e1872da9eaaa04fb.svn-base deleted file mode 100644 index b442f96..0000000 Binary files a/.svn/pristine/36/3615f69bea2c4c9ef2ffe003e1872da9eaaa04fb.svn-base and /dev/null differ diff --git a/.svn/pristine/36/362c4147186a0ebb6f8c53dc6c1c673714b2bf76.svn-base b/.svn/pristine/36/362c4147186a0ebb6f8c53dc6c1c673714b2bf76.svn-base deleted file mode 100644 index 82f2c2a..0000000 --- a/.svn/pristine/36/362c4147186a0ebb6f8c53dc6c1c673714b2bf76.svn-base +++ /dev/null @@ -1,215 +0,0 @@ - - - - diff --git a/.svn/pristine/36/363d9308c158efe691831bc7ed42fd776a0dfc4f.svn-base b/.svn/pristine/36/363d9308c158efe691831bc7ed42fd776a0dfc4f.svn-base deleted file mode 100644 index aba1a40..0000000 --- a/.svn/pristine/36/363d9308c158efe691831bc7ed42fd776a0dfc4f.svn-base +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/.svn/pristine/36/36c8769dcc6d55f4045b2b71e30848e024132a65.svn-base b/.svn/pristine/36/36c8769dcc6d55f4045b2b71e30848e024132a65.svn-base deleted file mode 100644 index df40e4d..0000000 --- a/.svn/pristine/36/36c8769dcc6d55f4045b2b71e30848e024132a65.svn-base +++ /dev/null @@ -1,116 +0,0 @@ - - - - - diff --git a/.svn/pristine/36/36ca7b8697bdcaa07bdc787f6efdf902309bd67b.svn-base b/.svn/pristine/36/36ca7b8697bdcaa07bdc787f6efdf902309bd67b.svn-base deleted file mode 100644 index 9765ac3..0000000 --- a/.svn/pristine/36/36ca7b8697bdcaa07bdc787f6efdf902309bd67b.svn-base +++ /dev/null @@ -1,10 +0,0 @@ -import request from '@/utils/request' - -export function getById(data) { -return request({ - url: 'api/dhAddCarCatch/getById', - method: 'post', - data -}) -} - diff --git a/.svn/pristine/37/371c2acc31fce0fc152260867b9955a3dc640f7c.svn-base b/.svn/pristine/37/371c2acc31fce0fc152260867b9955a3dc640f7c.svn-base deleted file mode 100644 index ae36765..0000000 --- a/.svn/pristine/37/371c2acc31fce0fc152260867b9955a3dc640f7c.svn-base +++ /dev/null @@ -1,863 +0,0 @@ -import { initData, download } from '@/api/data' -import { parseTime, downloadFile } from '@/utils/index' -import Vue from 'vue' - -/** - * CRUD配置 - * @author moxun - * @param {*} options
- * @return crud instance. - * @example - * 要使用多crud时,请在关联crud的组件处使用crud-tag进行标记,如: - */ -function CRUD(options) { - const defaultOptions = { - tag: 'default', - // id字段名 - idField: 'id', - // 标题 - title: '', - // 请求数据的url - url: '', - // 表格数据 - data: [], - // 选择项 - selections: [], - // 待查询的对象 - query: {}, - // 查询数据的参数 - params: {}, - // Form 表单 - form: {}, - // 重置表单 - defaultForm: () => {}, - // 排序规则,默认 id 降序, 支持多字段排序 ['id,desc', 'createTime,asc'] - sort: ['id,desc'], - // 等待时间 - time: 50, - // CRUD Method - crudMethod: { - add: (form) => {}, - del: (id) => {}, - edit: (form) => {}, - get: (id) => {} - }, - // 主页操作栏显示哪些按钮 - optShow: { - add: true, - edit: true, - del: true, - download: true, - reset: true - }, - // 自定义一些扩展属性 - props: {}, - // 在主页准备 - queryOnPresenterCreated: true, - // 调试开关 - debug: false - } - options = mergeOptions(defaultOptions, options) - const data = { - ...options, - // 记录数据状态 - dataStatus: {}, - status: { - add: CRUD.STATUS.NORMAL, - edit: CRUD.STATUS.NORMAL, - // 添加或编辑状态 - get cu() { - if (this.add === CRUD.STATUS.NORMAL && this.edit === CRUD.STATUS.NORMAL) { - return CRUD.STATUS.NORMAL - } else if (this.add === CRUD.STATUS.PREPARED || this.edit === CRUD.STATUS.PREPARED) { - return CRUD.STATUS.PREPARED - } else if (this.add === CRUD.STATUS.PROCESSING || this.edit === CRUD.STATUS.PROCESSING) { - return CRUD.STATUS.PROCESSING - } - throw new Error('wrong crud\'s cu status') - }, - // 标题 - get title() { - return this.add > CRUD.STATUS.NORMAL ? `新增${crud.title}` : this.edit > CRUD.STATUS.NORMAL ? `编辑${crud.title}` : crud.title - } - }, - msg: { - submit: '提交成功', - add: '新增成功', - edit: '编辑成功', - del: '删除成功' - }, - page: { - // 页码 - page: 0, - // 每页数据条数 - size: 10, - // 总数据条数 - total: 0 - }, - // 整体loading - loading: false, - // 导出的 Loading - downloadLoading: false, - // 删除的 Loading - delAllLoading: false - } - const methods = { - /** - * 通用的提示 - */ - submitSuccessNotify() { - crud.notify(crud.msg.submit, CRUD.NOTIFICATION_TYPE.SUCCESS) - }, - addSuccessNotify() { - crud.notify(crud.msg.add, CRUD.NOTIFICATION_TYPE.SUCCESS) - }, - editSuccessNotify() { - crud.notify(crud.msg.edit, CRUD.NOTIFICATION_TYPE.SUCCESS) - }, - delSuccessNotify() { - crud.notify(crud.msg.del, CRUD.NOTIFICATION_TYPE.SUCCESS) - }, - // 搜索 - toQuery() { - crud.page.page = 1 - crud.refresh() - }, - // 刷新 - refresh() { - if (!callVmHook(crud, CRUD.HOOK.beforeRefresh)) { - return - } - return new Promise((resolve, reject) => { - crud.loading = true - // 请求数据 - initData(crud.url, crud.getQueryParams()).then(data => { - const table = crud.getTable() - if (table && table.lazy) { // 懒加载子节点数据,清掉已加载的数据 - table.store.states.treeData = {} - table.store.states.lazyTreeNodeMap = {} - } - crud.page.total = data.totalElements - crud.data = data.content - crud.resetDataStatus() - // time 毫秒后显示表格 - setTimeout(() => { - crud.loading = false - callVmHook(crud, CRUD.HOOK.afterRefresh) - }, crud.time) - resolve(data) - }).catch(err => { - crud.loading = false - reject(err) - }) - }) - }, - /** - * 启动添加 - */ - toAdd() { - crud.resetForm() - if (!(callVmHook(crud, CRUD.HOOK.beforeToAdd, crud.form) && callVmHook(crud, CRUD.HOOK.beforeToCU, crud.form))) { - return - } - crud.status.add = CRUD.STATUS.PREPARED - callVmHook(crud, CRUD.HOOK.afterToAdd, crud.form) - callVmHook(crud, CRUD.HOOK.afterToCU, crud.form) - }, - /** - * 启动编辑 - * @param {*} data 数据项 - */ - toEdit(data) { - crud.resetForm(JSON.parse(JSON.stringify(data))) - if (!(callVmHook(crud, CRUD.HOOK.beforeToEdit, crud.form) && callVmHook(crud, CRUD.HOOK.beforeToCU, crud.form))) { - return - } - crud.status.edit = CRUD.STATUS.PREPARED - crud.getDataStatus(crud.getDataId(data)).edit = CRUD.STATUS.PREPARED - callVmHook(crud, CRUD.HOOK.afterToEdit, crud.form) - callVmHook(crud, CRUD.HOOK.afterToCU, crud.form) - }, - /** - * 启动删除 - * @param {*} data 数据项 - */ - toDelete(data) { - crud.getDataStatus(crud.getDataId(data)).delete = CRUD.STATUS.PREPARED - }, - /** - * 取消删除 - * @param {*} data 数据项 - */ - cancelDelete(data) { - if (!callVmHook(crud, CRUD.HOOK.beforeDeleteCancel, data)) { - return - } - crud.getDataStatus(crud.getDataId(data)).delete = CRUD.STATUS.NORMAL - callVmHook(crud, CRUD.HOOK.afterDeleteCancel, data) - }, - /** - * 取消新增/编辑 - */ - cancelCU() { - const addStatus = crud.status.add - const editStatus = crud.status.edit - if (addStatus === CRUD.STATUS.PREPARED) { - if (!callVmHook(crud, CRUD.HOOK.beforeAddCancel, crud.form)) { - return - } - crud.status.add = CRUD.STATUS.NORMAL - } - if (editStatus === CRUD.STATUS.PREPARED) { - if (!callVmHook(crud, CRUD.HOOK.beforeEditCancel, crud.form)) { - return - } - crud.status.edit = CRUD.STATUS.NORMAL - crud.getDataStatus(crud.getDataId(crud.form)).edit = CRUD.STATUS.NORMAL - } - crud.resetForm() - if (addStatus === CRUD.STATUS.PREPARED) { - callVmHook(crud, CRUD.HOOK.afterAddCancel, crud.form) - } - if (editStatus === CRUD.STATUS.PREPARED) { - callVmHook(crud, CRUD.HOOK.afterEditCancel, crud.form) - } - // 清除表单验证 - if (crud.findVM('form').$refs['form']) { - crud.findVM('form').$refs['form'].clearValidate() - } - }, - /** - * 提交新增/编辑 - */ - submitCU() { - if (!callVmHook(crud, CRUD.HOOK.beforeValidateCU)) { - return - } - crud.findVM('form').$refs['form'].validate(valid => { - if (!valid) { - return - } - if (!callVmHook(crud, CRUD.HOOK.afterValidateCU)) { - return - } - if (crud.status.add === CRUD.STATUS.PREPARED) { - crud.doAdd() - } else if (crud.status.edit === CRUD.STATUS.PREPARED) { - crud.doEdit() - } - }) - }, - /** - * 执行添加 - */ - doAdd() { - if (!callVmHook(crud, CRUD.HOOK.beforeSubmit)) { - return - } - crud.status.add = CRUD.STATUS.PROCESSING - crud.crudMethod.add(crud.form).then(() => { - crud.status.add = CRUD.STATUS.NORMAL - crud.resetForm() - crud.addSuccessNotify() - callVmHook(crud, CRUD.HOOK.afterSubmit) - crud.toQuery() - }).catch(() => { - crud.status.add = CRUD.STATUS.PREPARED - callVmHook(crud, CRUD.HOOK.afterAddError) - }) - }, - /** - * 执行编辑 - */ - doEdit() { - if (!callVmHook(crud, CRUD.HOOK.beforeSubmit)) { - return - } - crud.status.edit = CRUD.STATUS.PROCESSING - crud.crudMethod.edit(crud.form).then(() => { - crud.status.edit = CRUD.STATUS.NORMAL - crud.getDataStatus(crud.getDataId(crud.form)).edit = CRUD.STATUS.NORMAL - crud.editSuccessNotify() - crud.resetForm() - callVmHook(crud, CRUD.HOOK.afterSubmit) - crud.refresh() - }).catch(() => { - crud.status.edit = CRUD.STATUS.PREPARED - callVmHook(crud, CRUD.HOOK.afterEditError) - }) - }, - /** - * 执行删除 - * @param {*} data 数据项 - */ - doDelete(data) { - let delAll = false - let dataStatus - const ids = [] - if (data instanceof Array) { - delAll = true - data.forEach(val => { - ids.push(this.getDataId(val)) - }) - } else { - ids.push(this.getDataId(data)) - dataStatus = crud.getDataStatus(this.getDataId(data)) - } - if (!callVmHook(crud, CRUD.HOOK.beforeDelete, data)) { - return - } - if (!delAll) { - dataStatus.delete = CRUD.STATUS.PROCESSING - } - return crud.crudMethod.del(ids).then(() => { - if (delAll) { - crud.delAllLoading = false - } else dataStatus.delete = CRUD.STATUS.PREPARED - crud.dleChangePage(1) - crud.delSuccessNotify() - callVmHook(crud, CRUD.HOOK.afterDelete, data) - crud.refresh() - }).catch(() => { - if (delAll) { - crud.delAllLoading = false - } else dataStatus.delete = CRUD.STATUS.PREPARED - }) - }, - /** - * 通用导出 - */ - doExport() { - crud.downloadLoading = true - download(crud.url + '/download', crud.getQueryParams()).then(result => { - downloadFile(result, crud.title + '数据', 'xlsx') - crud.downloadLoading = false - }).catch(() => { - crud.downloadLoading = false - }) - }, - /** - * 获取查询参数 - */ - getQueryParams: function() { - // 清除参数无值的情况 - Object.keys(crud.query).length !== 0 && Object.keys(crud.query).forEach(item => { - if (crud.query[item] === null || crud.query[item] === '') crud.query[item] = undefined - }) - Object.keys(crud.params).length !== 0 && Object.keys(crud.params).forEach(item => { - if (crud.params[item] === null || crud.params[item] === '') crud.params[item] = undefined - }) - return { - page: crud.page.page - 1, - size: crud.page.size, - sort: crud.sort, - ...crud.query, - ...crud.params - } - }, - // 当前页改变 - pageChangeHandler(e) { - crud.page.page = e - crud.refresh() - }, - // 每页条数改变 - sizeChangeHandler(e) { - crud.page.size = e - crud.page.page = 1 - crud.refresh() - }, - // 预防删除第二页最后一条数据时,或者多选删除第二页的数据时,页码错误导致请求无数据 - dleChangePage(size) { - if (crud.data.length === size && crud.page.page !== 1) { - crud.page.page -= 1 - } - }, - // 选择改变 - selectionChangeHandler(val) { - crud.selections = val - }, - /** - * 重置查询参数 - * @param {Boolean} toQuery 重置后进行查询操作 - */ - resetQuery(toQuery = true) { - const defaultQuery = JSON.parse(JSON.stringify(crud.defaultQuery)) - const query = crud.query - Object.keys(query).forEach(key => { - query[key] = defaultQuery[key] - }) - // 重置参数 - this.params = {} - if (toQuery) { - crud.toQuery() - } - }, - /** - * 重置表单 - * @param {Array} data 数据 - */ - resetForm(data) { - const form = data || (typeof crud.defaultForm === 'object' ? JSON.parse(JSON.stringify(crud.defaultForm)) : crud.defaultForm.apply(crud.findVM('form'))) - const crudFrom = crud.form - for (const key in form) { - if (crudFrom.hasOwnProperty(key)) { - crudFrom[key] = form[key] - } else { - Vue.set(crudFrom, key, form[key]) - } - } - // add by ghl 2020-10-04 页面重复添加信息时,下拉框的校验会存在,需要找工取消 - if (crud.findVM('form').$refs['form']) { - crud.findVM('form').$refs['form'].clearValidate() - } - }, - /** - * 重置数据状态 - */ - resetDataStatus() { - const dataStatus = {} - function resetStatus(datas) { - datas.forEach(e => { - dataStatus[crud.getDataId(e)] = { - delete: 0, - edit: 0 - } - if (e.children) { - resetStatus(e.children) - } - }) - } - resetStatus(crud.data) - crud.dataStatus = dataStatus - }, - /** - * 获取数据状态 - * @param {Number | String} id 数据项id - */ - getDataStatus(id) { - return crud.dataStatus[id] - }, - /** - * 用于树形表格多选, 选中所有 - * @param selection - */ - selectAllChange(selection) { - // 如果选中的数目与请求到的数目相同就选中子节点,否则就清空选中 - if (selection && selection.length === crud.data.length) { - selection.forEach(val => { - crud.selectChange(selection, val) - }) - } else { - crud.getTable().clearSelection() - } - }, - /** - * 用于树形表格多选,单选的封装 - * @param selection - * @param row - */ - selectChange(selection, row) { - // 如果selection中存在row代表是选中,否则是取消选中 - if (selection.find(val => { return crud.getDataId(val) === crud.getDataId(row) })) { - if (row.children) { - row.children.forEach(val => { - crud.getTable().toggleRowSelection(val, true) - selection.push(val) - if (val.children) { - crud.selectChange(selection, val) - } - }) - } - } else { - crud.toggleRowSelection(selection, row) - } - }, - /** - * 切换选中状态 - * @param selection - * @param data - */ - toggleRowSelection(selection, data) { - if (data.children) { - data.children.forEach(val => { - crud.getTable().toggleRowSelection(val, false) - if (val.children) { - crud.toggleRowSelection(selection, val) - } - }) - } - }, - findVM(type) { - return crud.vms.find(vm => vm && vm.type === type).vm - }, - notify(title, type = CRUD.NOTIFICATION_TYPE.INFO) { - crud.vms[0].vm.$notify({ - title, - type, - duration: 2500 - }) - }, - updateProp(name, value) { - Vue.set(crud.props, name, value) - }, - getDataId(data) { - return data[this.idField] - }, - getTable() { - return this.findVM('presenter').$refs.table - }, - attchTable() { - const table = this.getTable() - this.updateProp('table', table) - const that = this - table.$on('expand-change', (row, expanded) => { - if (!expanded) { - return - } - const lazyTreeNodeMap = table.store.states.lazyTreeNodeMap - row.children = lazyTreeNodeMap[crud.getDataId(row)] - if (row.children) { - row.children.forEach(ele => { - const id = crud.getDataId(ele) - if (that.dataStatus[id] === undefined) { - that.dataStatus[id] = { - delete: 0, - edit: 0 - } - } - }) - } - }) - } - } - const crud = Object.assign({}, data) - // 可观测化 - Vue.observable(crud) - // 附加方法 - Object.assign(crud, methods) - // 记录初始默认的查询参数,后续重置查询时使用 - Object.assign(crud, { - defaultQuery: JSON.parse(JSON.stringify(data.query)), - // 预留4位存储:组件 主页、头部、分页、表单,调试查看也方便找 - vms: Array(4), - /** - * 注册组件实例 - * @param {String} type 类型 - * @param {*} vm 组件实例 - * @param {Number} index 该参数内部使用 - */ - registerVM(type, vm, index = -1) { - const vmObj = { - type, - vm: vm - } - if (index < 0) { - this.vms.push(vmObj) - return - } - if (index < 4) { // 内置预留vm数 - this.vms[index] = vmObj - return - } - this.vms.length = Math.max(this.vms.length, index) - this.vms.splice(index, 1, vmObj) - }, - /** - * 取消注册组件实例 - * @param {*} vm 组件实例 - */ - unregisterVM(type, vm) { - for (let i = this.vms.length - 1; i >= 0; i--) { - if (this.vms[i] === undefined) { - continue - } - if (this.vms[i].type === type && this.vms[i].vm === vm) { - if (i < 4) { // 内置预留vm数 - this.vms[i] = undefined - } else { - this.vms.splice(i, 1) - } - break - } - } - } - }) - // 冻结处理,需要扩展数据的话,使用crud.updateProp(name, value),以crud.props.name形式访问,这个是响应式的,可以做数据绑定 - Object.freeze(crud) - return crud -} - -// hook VM -function callVmHook(crud, hook) { - if (crud.debug) { - console.log('callVmHook: ' + hook) - } - const tagHook = crud.tag ? hook + '$' + crud.tag : null - let ret = true - const nargs = [crud] - for (let i = 2; i < arguments.length; ++i) { - nargs.push(arguments[i]) - } - // 有些组件扮演了多个角色,调用钩子时,需要去重 - const vmSet = new Set() - crud.vms.forEach(vm => vm && vmSet.add(vm.vm)) - vmSet.forEach(vm => { - if (vm[hook]) { - ret = vm[hook].apply(vm, nargs) !== false && ret - } - if (tagHook && vm[tagHook]) { - ret = vm[tagHook].apply(vm, nargs) !== false && ret - } - }) - return ret -} - -function mergeOptions(src, opts) { - const optsRet = { - ...src - } - for (const key in src) { - if (opts.hasOwnProperty(key)) { - optsRet[key] = opts[key] - } - } - return optsRet -} - -/** - * 查找crud - * @param {*} vm - * @param {string} tag - */ -function lookupCrud(vm, tag) { - tag = tag || vm.$attrs['crud-tag'] || 'default' - // function lookupCrud(vm, tag) { - if (vm.$crud) { - const ret = vm.$crud[tag] - if (ret) { - return ret - } - } - return vm.$parent ? lookupCrud(vm.$parent, tag) : undefined -} - -/** - * crud主页 - */ -function presenter(crud) { - if (crud) { - console.warn('[CRUD warn]: ' + 'please use $options.cruds() { return CRUD(...) or [CRUD(...), ...] }') - } - return { - data() { - // 在data中返回crud,是为了将crud与当前实例关联,组件观测crud相关属性变化 - return { - crud: this.crud - } - }, - beforeCreate() { - this.$crud = this.$crud || {} - let cruds = this.$options.cruds instanceof Function ? this.$options.cruds() : crud - if (!(cruds instanceof Array)) { - cruds = [cruds] - } - cruds.forEach(ele => { - if (this.$crud[ele.tag]) { - console.error('[CRUD error]: ' + 'crud with tag [' + ele.tag + ' is already exist') - } - this.$crud[ele.tag] = ele - ele.registerVM('presenter', this, 0) - }) - this.crud = this.$crud['defalut'] || cruds[0] - }, - methods: { - parseTime - }, - created() { - for (const k in this.$crud) { - if (this.$crud[k].queryOnPresenterCreated) { - this.$crud[k].toQuery() - } - } - }, - destroyed() { - for (const k in this.$crud) { - this.$crud[k].unregisterVM('presenter', this) - } - }, - mounted() { - // 如果table未实例化(例如使用了v-if),请稍后在适当时机crud.attchTable刷新table信息 - if (this.$refs.table !== undefined) { - this.crud.attchTable() - } - } - } -} - -/** - * 头部 - */ -function header() { - return { - data() { - return { - crud: this.crud, - query: this.crud.query - } - }, - beforeCreate() { - this.crud = lookupCrud(this) - this.crud.registerVM('header', this, 1) - }, - destroyed() { - this.crud.unregisterVM('header', this) - } - } -} - -/** - * 分页 - */ -function pagination() { - return { - data() { - return { - crud: this.crud, - page: this.crud.page - } - }, - beforeCreate() { - this.crud = lookupCrud(this) - this.crud.registerVM('pagination', this, 2) - }, - destroyed() { - this.crud.unregisterVM('pagination', this) - } - } -} - -/** - * 表单 - */ -function form(defaultForm) { - return { - data() { - return { - crud: this.crud, - form: this.crud.form - } - }, - beforeCreate() { - this.crud = lookupCrud(this) - this.crud.registerVM('form', this, 3) - }, - created() { - this.crud.defaultForm = defaultForm - this.crud.resetForm() - }, - destroyed() { - this.crud.unregisterVM('form', this) - } - } -} - -/** - * crud - */ -function crud(options = {}) { - const defaultOptions = { - type: undefined - } - options = mergeOptions(defaultOptions, options) - return { - data() { - return { - crud: this.crud - } - }, - beforeCreate() { - this.crud = lookupCrud(this) - this.crud.registerVM(options.type, this) - }, - destroyed() { - this.crud.unregisterVM(options.type, this) - } - } -} - -/** - * CRUD钩子 - */ -CRUD.HOOK = { - /** 刷新 - 之前 */ - beforeRefresh: 'beforeCrudRefresh', - /** 刷新 - 之后 */ - afterRefresh: 'afterCrudRefresh', - /** 删除 - 之前 */ - beforeDelete: 'beforeCrudDelete', - /** 删除 - 之后 */ - afterDelete: 'afterCrudDelete', - /** 删除取消 - 之前 */ - beforeDeleteCancel: 'beforeCrudDeleteCancel', - /** 删除取消 - 之后 */ - afterDeleteCancel: 'afterCrudDeleteCancel', - /** 新建 - 之前 */ - beforeToAdd: 'beforeCrudToAdd', - /** 新建 - 之后 */ - afterToAdd: 'afterCrudToAdd', - /** 编辑 - 之前 */ - beforeToEdit: 'beforeCrudToEdit', - /** 编辑 - 之后 */ - afterToEdit: 'afterCrudToEdit', - /** 开始 "新建/编辑" - 之前 */ - beforeToCU: 'beforeCrudToCU', - /** 开始 "新建/编辑" - 之后 */ - afterToCU: 'afterCrudToCU', - /** "新建/编辑" 验证 - 之前 */ - beforeValidateCU: 'beforeCrudValidateCU', - /** "新建/编辑" 验证 - 之后 */ - afterValidateCU: 'afterCrudValidateCU', - /** 添加取消 - 之前 */ - beforeAddCancel: 'beforeCrudAddCancel', - /** 添加取消 - 之后 */ - afterAddCancel: 'afterCrudAddCancel', - /** 编辑取消 - 之前 */ - beforeEditCancel: 'beforeCrudEditCancel', - /** 编辑取消 - 之后 */ - afterEditCancel: 'afterCrudEditCancel', - /** 提交 - 之前 */ - beforeSubmit: 'beforeCrudSubmitCU', - /** 提交 - 之后 */ - afterSubmit: 'afterCrudSubmitCU', - afterAddError: 'afterCrudAddError', - afterEditError: 'afterCrudEditError' -} - -/** - * CRUD状态 - */ -CRUD.STATUS = { - NORMAL: 0, - PREPARED: 1, - PROCESSING: 2 -} - -/** - * CRUD通知类型 - */ -CRUD.NOTIFICATION_TYPE = { - SUCCESS: 'success', - WARNING: 'warning', - INFO: 'info', - ERROR: 'error' -} - -export default CRUD - -export { - presenter, - header, - form, - pagination, - crud -} diff --git a/.svn/pristine/37/3776256b56d3497edb811bcd1c42b782f5144eac.svn-base b/.svn/pristine/37/3776256b56d3497edb811bcd1c42b782f5144eac.svn-base deleted file mode 100644 index c77904e..0000000 --- a/.svn/pristine/37/3776256b56d3497edb811bcd1c42b782f5144eac.svn-base +++ /dev/null @@ -1,98 +0,0 @@ - - - - - diff --git a/.svn/pristine/37/37a0f5753b3ee7ac3c28056a0d34db16bdc431a8.svn-base b/.svn/pristine/37/37a0f5753b3ee7ac3c28056a0d34db16bdc431a8.svn-base deleted file mode 100644 index fd77324..0000000 --- a/.svn/pristine/37/37a0f5753b3ee7ac3c28056a0d34db16bdc431a8.svn-base +++ /dev/null @@ -1,54 +0,0 @@ - - - diff --git a/.svn/pristine/37/37ca3599a444eb37f71d8124e21bdd51d4ab04fb.svn-base b/.svn/pristine/37/37ca3599a444eb37f71d8124e21bdd51d4ab04fb.svn-base deleted file mode 100644 index 9333c60..0000000 --- a/.svn/pristine/37/37ca3599a444eb37f71d8124e21bdd51d4ab04fb.svn-base +++ /dev/null @@ -1 +0,0 @@ - diff --git a/.svn/pristine/38/38109cd383becef78401d8d8d444f31cee4a950c.svn-base b/.svn/pristine/38/38109cd383becef78401d8d8d444f31cee4a950c.svn-base deleted file mode 100644 index 2d49dd8..0000000 --- a/.svn/pristine/38/38109cd383becef78401d8d8d444f31cee4a950c.svn-base +++ /dev/null @@ -1,95 +0,0 @@ - - - diff --git a/.svn/pristine/38/38cea5dd5671e137097c91a3fc6cfac48e104ca6.svn-base b/.svn/pristine/38/38cea5dd5671e137097c91a3fc6cfac48e104ca6.svn-base deleted file mode 100644 index 32756da..0000000 --- a/.svn/pristine/38/38cea5dd5671e137097c91a3fc6cfac48e104ca6.svn-base +++ /dev/null @@ -1,115 +0,0 @@ - - - - - diff --git a/.svn/pristine/39/396b66193215151177fbe3fe8474cc0106a7b0a5.svn-base b/.svn/pristine/39/396b66193215151177fbe3fe8474cc0106a7b0a5.svn-base deleted file mode 100644 index c713efc..0000000 --- a/.svn/pristine/39/396b66193215151177fbe3fe8474cc0106a7b0a5.svn-base +++ /dev/null @@ -1,188 +0,0 @@ - - - - - diff --git a/.svn/pristine/3a/3ac5bec684413ab49283cd50e2669971f86bc19e.svn-base b/.svn/pristine/3a/3ac5bec684413ab49283cd50e2669971f86bc19e.svn-base deleted file mode 100644 index fa265ef..0000000 --- a/.svn/pristine/3a/3ac5bec684413ab49283cd50e2669971f86bc19e.svn-base +++ /dev/null @@ -1,106 +0,0 @@ - - - diff --git a/.svn/pristine/3b/3ba6cda3bd24db9e77631ac03b4fa4671d27b840.svn-base b/.svn/pristine/3b/3ba6cda3bd24db9e77631ac03b4fa4671d27b840.svn-base deleted file mode 100644 index cd6e0d9..0000000 Binary files a/.svn/pristine/3b/3ba6cda3bd24db9e77631ac03b4fa4671d27b840.svn-base and /dev/null differ diff --git a/.svn/pristine/3b/3bf5e99e500e8fcb82455d091e003679327b8641.svn-base b/.svn/pristine/3b/3bf5e99e500e8fcb82455d091e003679327b8641.svn-base deleted file mode 100644 index f757710..0000000 Binary files a/.svn/pristine/3b/3bf5e99e500e8fcb82455d091e003679327b8641.svn-base and /dev/null differ diff --git a/.svn/pristine/3b/3bfab67c70adf6041da73dff88783aa6567bb062.svn-base b/.svn/pristine/3b/3bfab67c70adf6041da73dff88783aa6567bb062.svn-base deleted file mode 100644 index 4e8e36f..0000000 --- a/.svn/pristine/3b/3bfab67c70adf6041da73dff88783aa6567bb062.svn-base +++ /dev/null @@ -1,382 +0,0 @@ - - - - diff --git a/.svn/pristine/3b/3bfefe9fe88a9754b223876e2bd1103be94dcebc.svn-base b/.svn/pristine/3b/3bfefe9fe88a9754b223876e2bd1103be94dcebc.svn-base deleted file mode 100644 index 4cd0490..0000000 --- a/.svn/pristine/3b/3bfefe9fe88a9754b223876e2bd1103be94dcebc.svn-base +++ /dev/null @@ -1,43 +0,0 @@ -import request from '@/utils/request' - -export function getDetailById(data) { - return request({ - url: 'api/clickOrder/getById', - method: 'post', - data - }) -} - - -export function supplement(data) { - return request({ - url: 'api/clickOrder/supplement', - method: 'post', - data - }) -} - -export function add(data) { - return request({ - url: 'api/clickOrder/add', - method: 'post', - data - }) -} - -export function commentFun(data) { - return request({ - url: 'api/clickOrder/comment', - method: 'post', - data - }) -} - - -export function getList(data) { - return request({ - url: 'api/clickOrder/list', - method: 'post', - data - }) -} \ No newline at end of file diff --git a/.svn/pristine/3d/3d942bd5702df45746da0b99975fe4cd0c159af2.svn-base b/.svn/pristine/3d/3d942bd5702df45746da0b99975fe4cd0c159af2.svn-base deleted file mode 100644 index e918500..0000000 --- a/.svn/pristine/3d/3d942bd5702df45746da0b99975fe4cd0c159af2.svn-base +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - <%= webpackConfig.name %> - - -
- - - diff --git a/.svn/pristine/3e/3e9f8aaf8d72fcb4bba7fcb3981d7cc4fe72516b.svn-base b/.svn/pristine/3e/3e9f8aaf8d72fcb4bba7fcb3981d7cc4fe72516b.svn-base deleted file mode 100644 index bb90342..0000000 --- a/.svn/pristine/3e/3e9f8aaf8d72fcb4bba7fcb3981d7cc4fe72516b.svn-base +++ /dev/null @@ -1,335 +0,0 @@ -import { - initData, - download -} from '@/api/data' -import { - parseTime, - downloadFile -} from '@/utils/index' - -export default { - data() { - return { - // 表格数据 - data: [], - // 排序规则,默认 id 降序, 支持多字段排序 ['id,desc', 'createTime,asc'] - sort: ['id,desc'], - // 页码 - page: 0, - // 每页数据条数 - size: 10, - // 总数据条数 - total: 0, - // 请求数据的url - url: '', - // 查询数据的参数 - params: {}, - // 待查询的对象 - query: {}, - // 等待时间 - time: 50, - // 是否为新增类型的表单 - isAdd: false, - // 导出的 Loading - downloadLoading: false, - // 表格 Loading 属性 - loading: true, - // 删除 Loading 属性 - delLoading: false, - delAllLoading: false, - // 弹窗属性 - dialog: false, - // Form 表单 - form: {}, - // 重置表单 - resetForm: {}, - // 标题 - title: '' - } - }, - methods: { - parseTime, - downloadFile, - async init() { - if (!await this.beforeInit()) { - return - } - return new Promise((resolve, reject) => { - this.loading = true - // 请求数据 - initData(this.url, this.getQueryParame()).then(data => { - this.total = data.totalElements - this.data = data.content - // time 毫秒后显示表格 - setTimeout(() => { - this.loading = false - }, this.time) - resolve(data) - }).catch(err => { - this.loading = false - reject(err) - }) - }) - }, - beforeInit() { - return true - }, - getQueryParame: function() { - return { - page: this.page, - size: this.size, - sort: this.sort, - ...this.query, - ...this.params - } - }, - // 改变页码 - pageChange(e) { - this.page = e - 1 - this.init() - }, - // 改变每页显示数 - sizeChange(e) { - this.page = 0 - this.size = e - this.init() - }, - // 预防删除第二页最后一条数据时,或者多选删除第二页的数据时,页码错误导致请求无数据 - dleChangePage(size) { - if (size === undefined) { - size = 1 - } - if (this.data.length === size && this.page !== 0) { - this.page = this.page - 1 - } - }, - // 查询方法 - toQuery() { - this.page = 0 - this.init() - }, - /** - * 通用的提示封装 - */ - submitSuccessNotify() { - this.$notify({ - title: '提交成功', - type: 'success', - duration: 2500 - }) - }, - addSuccessNotify() { - this.$notify({ - title: '新增成功', - type: 'success', - duration: 2500 - }) - }, - editSuccessNotify() { - this.$notify({ - title: '编辑成功', - type: 'success', - duration: 2500 - }) - }, - delSuccessNotify() { - this.$notify({ - title: '删除成功', - type: 'success', - duration: 2500 - }) - }, - notify(title, type) { - this.$notify({ - title: title, - type: type, - duration: 2500 - }) - }, - /** - * 删除前可以调用 beforeDelMethod 做一些操作 - */ - beforeDelMethod() { - return true - }, - /** - * 通用的删除 - */ - delMethod(id) { - if (!this.beforeDelMethod()) { - return - } - this.delLoading = true - this.crudMethod.del(id).then(() => { - this.delLoading = false - this.$refs[id].doClose() - this.dleChangePage() - this.delSuccessNotify() - this.afterDelMethod() - this.init() - }).catch(() => { - this.delLoading = false - this.$refs[id].doClose() - }) - }, - afterDelMethod() {}, - /** - * 多选删除提示 - */ - beforeDelAllMethod() { - this.$confirm('你确定删除选中的数据吗?', '提示', { - confirmButtonText: '确定', - cancelButtonText: '取消', - type: 'warning' - }).then(() => { - this.delAllMethod() - }) - }, - /** - * 多选删除 - */ - delAllMethod() { - this.delAllLoading = true - const data = this.$refs.table.selection - const ids = [] - for (let i = 0; i < data.length; i++) { - ids.push(data[i].id) - } - this.crudMethod.delAll(ids).then(() => { - this.delAllLoading = false - this.dleChangePage(ids.length) - this.init() - this.$notify({ - title: '删除成功', - type: 'success', - duration: 2500 - }) - }).catch(() => { - this.delAllLoading = false - }) - }, - /** - * 显示新增弹窗前可以调用该方法 - */ - beforeShowAddForm() {}, - /** - * 显示新增弹窗 - */ - showAddFormDialog() { - this.isAdd = true - this.resetForm = JSON.parse(JSON.stringify(this.form)) - this.beforeShowAddForm() - this.dialog = true - }, - /** - * 显示编辑弹窗前可以调用该方法 - */ - beforeShowEditForm(data) {}, - /** - * 显示编辑弹窗 - */ - showEditFormDialog(data = '') { - this.isAdd = false - if (data) { - this.resetForm = JSON.parse(JSON.stringify(this.form)) - this.form = JSON.parse(JSON.stringify(data)) - } - this.beforeShowEditForm(data) - this.dialog = true - }, - /** - * 新增方法 - */ - addMethod() { - this.crudMethod.add(this.form).then(() => { - this.addSuccessNotify() - this.loading = false - this.afterAddMethod() - this.cancel() - this.init() - }).catch(() => { - this.loading = false - this.afterAddErrorMethod() - }) - }, - /** - * 新增后可以调用该方法 - */ - afterAddMethod() {}, - /** - * 新增失败后调用该方法 - */ - afterAddErrorMethod() {}, - /** - * 通用的编辑方法 - */ - editMethod() { - this.crudMethod.edit(this.form).then(() => { - this.editSuccessNotify() - this.loading = false - this.afterEditMethod() - this.cancel() - this.init() - }).catch(() => { - this.loading = false - }) - }, - /** - * 编辑后可以调用该方法 - */ - afterEditMethod() {}, - /** - * 提交前可以调用该方法 - */ - beforeSubmitMethod() { - return true - }, - /** - * 提交 - */ - submitMethod() { - if (!this.beforeSubmitMethod()) { - return - } - if (this.$refs['form']) { - this.$refs['form'].validate((valid) => { - if (valid) { - this.loading = true - if (this.isAdd) { - this.addMethod() - } else this.editMethod() - } - }) - } - }, - /** - * 隐藏弹窗 - */ - cancel() { - this.dialog = false - if (this.$refs['form']) { - this.$refs['form'].clearValidate() - this.form = this.resetForm - } - }, - /** - * 获取弹窗的标题 - */ - getFormTitle() { - return this.isAdd ? `新增${this.title}` : `编辑${this.title}` - }, - /** - * 通用导出 - */ - downloadMethod() { - this.beforeInit() - this.downloadLoading = true - download(this.url + '/download', this.params).then(result => { - this.downloadFile(result, this.title + '数据', 'xlsx') - this.downloadLoading = false - }).catch(() => { - this.downloadLoading = false - }) - } - } -} diff --git a/.svn/pristine/3f/3f04eaf2ce184d4b0d4a89126b23aa4c0d22edd8.svn-base b/.svn/pristine/3f/3f04eaf2ce184d4b0d4a89126b23aa4c0d22edd8.svn-base deleted file mode 100644 index 485c128..0000000 --- a/.svn/pristine/3f/3f04eaf2ce184d4b0d4a89126b23aa4c0d22edd8.svn-base +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/.svn/pristine/3f/3f12e01814d6dd8492875879fd3678bdd3a2ec09.svn-base b/.svn/pristine/3f/3f12e01814d6dd8492875879fd3678bdd3a2ec09.svn-base deleted file mode 100644 index 20259ed..0000000 --- a/.svn/pristine/3f/3f12e01814d6dd8492875879fd3678bdd3a2ec09.svn-base +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/.svn/pristine/3f/3f6dd1cab78b95df940d43d00075c70d393d361a.svn-base b/.svn/pristine/3f/3f6dd1cab78b95df940d43d00075c70d393d361a.svn-base deleted file mode 100644 index 920861e..0000000 --- a/.svn/pristine/3f/3f6dd1cab78b95df940d43d00075c70d393d361a.svn-base +++ /dev/null @@ -1,291 +0,0 @@ - - - - - diff --git a/.svn/pristine/42/42b1e72a8a5421232829699ff35c488a73987447.svn-base b/.svn/pristine/42/42b1e72a8a5421232829699ff35c488a73987447.svn-base deleted file mode 100644 index c2f031b..0000000 --- a/.svn/pristine/42/42b1e72a8a5421232829699ff35c488a73987447.svn-base +++ /dev/null @@ -1,107 +0,0 @@ - - - - - diff --git a/.svn/pristine/43/4314345e0805a1ac89b9ef40f162480fc49ff36a.svn-base b/.svn/pristine/43/4314345e0805a1ac89b9ef40f162480fc49ff36a.svn-base deleted file mode 100644 index 6e83c43..0000000 --- a/.svn/pristine/43/4314345e0805a1ac89b9ef40f162480fc49ff36a.svn-base +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/.svn/pristine/45/45471c70541aa6d361e23ab1d0fc4964dcbef792.svn-base b/.svn/pristine/45/45471c70541aa6d361e23ab1d0fc4964dcbef792.svn-base deleted file mode 100644 index 3de3349..0000000 --- a/.svn/pristine/45/45471c70541aa6d361e23ab1d0fc4964dcbef792.svn-base +++ /dev/null @@ -1,41 +0,0 @@ -import request from '@/utils/request' - -export function getList(data) { - return request({ - url: 'api/ctVpn/list', - method: 'post', - data - }) -} - -export function add(data){ - return request({ - url:'api/ctVpn/add', - method:'post', - data - }) -} - -export function delById(data) { - return request({ - url: 'api/ctVpn/delete', - method: 'post', - data - }) -} - -export function editById(data) { - return request({ - url: 'api/ctVpn/edit', - method: 'post', - data - }) -} - -export function getById(data) { - return request({ - url: 'api/ctVpn/getById', - method: 'post', - data - }) -} \ No newline at end of file diff --git a/.svn/pristine/45/45f40f4e1fa4a57a3a098467baa83c27f04ae2b6.svn-base b/.svn/pristine/45/45f40f4e1fa4a57a3a098467baa83c27f04ae2b6.svn-base deleted file mode 100644 index 75f7634..0000000 --- a/.svn/pristine/45/45f40f4e1fa4a57a3a098467baa83c27f04ae2b6.svn-base +++ /dev/null @@ -1,41 +0,0 @@ - - - diff --git a/.svn/pristine/46/4641329db387a07d4456655e2ff55a29d3d9d608.svn-base b/.svn/pristine/46/4641329db387a07d4456655e2ff55a29d3d9d608.svn-base deleted file mode 100644 index 641def9..0000000 --- a/.svn/pristine/46/4641329db387a07d4456655e2ff55a29d3d9d608.svn-base +++ /dev/null @@ -1,1583 +0,0 @@ - - - - diff --git a/.svn/pristine/46/46a9b7a0c85630a85b40243917076d4189fb3a8e.svn-base b/.svn/pristine/46/46a9b7a0c85630a85b40243917076d4189fb3a8e.svn-base deleted file mode 100644 index 923874c..0000000 --- a/.svn/pristine/46/46a9b7a0c85630a85b40243917076d4189fb3a8e.svn-base +++ /dev/null @@ -1,41 +0,0 @@ -import request from '@/utils/request' - -export function getList(data) { - return request({ - url: 'api/dhOrder/list', - method: 'post', - data - }) -} - -export function getById(data){ - return request({ - url: 'api/dhOrder/getById', - method: 'post', - data - }) -} - -export function getOrderAddressById(data){ - return request({ - url: 'api/dhOrder/getOrderAddressById', - method: 'post', - data - }) -} - -export function getOrderInfoById(data){ - return request({ - url: 'api/dhOrder/getOrderInfoById', - method: 'post', - data - }) -} - -export function getOrderProductById(data){ - return request({ - url: 'api/dhOrder/getOrderProductById', - method: 'post', - data - }) -} diff --git a/.svn/pristine/47/4720ff9d662f4521f79ff1026983cda65ddbccf9.svn-base b/.svn/pristine/47/4720ff9d662f4521f79ff1026983cda65ddbccf9.svn-base deleted file mode 100644 index 380b373..0000000 --- a/.svn/pristine/47/4720ff9d662f4521f79ff1026983cda65ddbccf9.svn-base +++ /dev/null @@ -1,120 +0,0 @@ - - - diff --git a/.svn/pristine/47/47fba1e01ee13943acfab0bd0a183bf70db3b62c.svn-base b/.svn/pristine/47/47fba1e01ee13943acfab0bd0a183bf70db3b62c.svn-base deleted file mode 100644 index 237d81f..0000000 --- a/.svn/pristine/47/47fba1e01ee13943acfab0bd0a183bf70db3b62c.svn-base +++ /dev/null @@ -1,225 +0,0 @@ - - - - - diff --git a/.svn/pristine/49/49272803096c34935a9267d83919036dda518002.svn-base b/.svn/pristine/49/49272803096c34935a9267d83919036dda518002.svn-base deleted file mode 100644 index 5317d37..0000000 --- a/.svn/pristine/49/49272803096c34935a9267d83919036dda518002.svn-base +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/.svn/pristine/49/493425f4f3a788286997d0cb986a48a3e761c86e.svn-base b/.svn/pristine/49/493425f4f3a788286997d0cb986a48a3e761c86e.svn-base deleted file mode 100644 index 9f395a3..0000000 --- a/.svn/pristine/49/493425f4f3a788286997d0cb986a48a3e761c86e.svn-base +++ /dev/null @@ -1,30 +0,0 @@ - + + diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index f3cd392..34095fd 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -2,21 +2,16 @@