diff --git a/src/components/IconSelect/requireIcons.js b/src/components/IconSelect/requireIcons.js
index 83a3395..99e5c54 100644
--- a/src/components/IconSelect/requireIcons.js
+++ b/src/components/IconSelect/requireIcons.js
@@ -1,5 +1,5 @@
-const req = require.context('../../icons/svg', false, /\.svg$/)
+const req = require.context('../../assets/icons/svg', false, /\.svg$/)
const requireAll = requireContext => requireContext.keys()
const re = /\.\/(.*)\.svg/
diff --git a/src/components/Iframe/index.vue b/src/components/Iframe/index.vue
index f8fa4a8..9f395a3 100644
--- a/src/components/Iframe/index.vue
+++ b/src/components/Iframe/index.vue
@@ -1,6 +1,6 @@
+
+
diff --git a/src/components/PanThumb/index.vue b/src/components/PanThumb/index.vue
index ec549f4..de6940a 100644
--- a/src/components/PanThumb/index.vue
+++ b/src/components/PanThumb/index.vue
@@ -2,7 +2,7 @@
![]()
diff --git a/src/components/RightPanel/index.vue b/src/components/RightPanel/index.vue
index 6d46d57..b65ecec 100644
--- a/src/components/RightPanel/index.vue
+++ b/src/components/RightPanel/index.vue
@@ -2,10 +2,6 @@
-
-
-
-
@@ -31,24 +27,17 @@ export default {
computed: {
show: {
get() {
- return this.$store.state.settings.showRightPanel
+ return this.$store.state.settings.showSettings
},
set(val) {
- this.$store.dispatch('changeSetting', {
- key: 'showRightPanel',
+ this.$store.dispatch('settings/changeSetting', {
+ key: 'showSettings',
value: val
})
}
},
- theme: {
- get() {
- return this.$store.state.settings.theme
- }
- },
- settingBtn: {
- get() {
- return this.$store.state.settings.settingBtn
- }
+ theme() {
+ return this.$store.state.settings.theme
}
},
watch: {
@@ -65,6 +54,7 @@ export default {
},
mounted() {
this.insertToBody()
+ this.addEventClick()
},
beforeDestroy() {
const elx = this.$refs.rightPanel
@@ -91,75 +81,69 @@ export default {
diff --git a/src/components/Screenfull/index.vue b/src/components/Screenfull/index.vue
index 4cdcb56..260c90d 100644
--- a/src/components/Screenfull/index.vue
+++ b/src/components/Screenfull/index.vue
@@ -1,29 +1,6 @@
@@ -32,25 +9,17 @@ import screenfull from 'screenfull'
export default {
name: 'Screenfull',
- props: {
- width: {
- type: Number,
- default: 22
- },
- height: {
- type: Number,
- default: 22
- },
- fill: {
- type: String,
- default: '#48576a'
- }
- },
data() {
return {
isFullscreen: false
}
},
+ mounted() {
+ this.init()
+ },
+ beforeDestroy() {
+ this.destroy()
+ },
methods: {
click() {
if (!screenfull.enabled) {
@@ -61,6 +30,19 @@ export default {
return false
}
screenfull.toggle()
+ },
+ change() {
+ this.isFullscreen = screenfull.isFullscreen
+ },
+ init() {
+ if (screenfull.enabled) {
+ screenfull.on('change', this.change)
+ }
+ },
+ destroy() {
+ if (screenfull.enabled) {
+ screenfull.off('change', this.change)
+ }
}
}
}
diff --git a/src/components/SizeSelect/index.vue b/src/components/SizeSelect/index.vue
new file mode 100644
index 0000000..e490dce
--- /dev/null
+++ b/src/components/SizeSelect/index.vue
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+ {{
+ item.label }}
+
+
+
+
+
+
diff --git a/src/components/SvgIcon/index.vue b/src/components/SvgIcon/index.vue
index 12a1f58..b07ded2 100644
--- a/src/components/SvgIcon/index.vue
+++ b/src/components/SvgIcon/index.vue
@@ -1,10 +1,14 @@
-
-
-
diff --git a/src/components/ThemePicker/index.vue b/src/components/ThemePicker/index.vue
new file mode 100644
index 0000000..ecc6d28
--- /dev/null
+++ b/src/components/ThemePicker/index.vue
@@ -0,0 +1,175 @@
+
+
+
+
+
+
+
diff --git a/src/components/YamlEdit/index.vue b/src/components/YamlEdit/index.vue
index b84bff9..8ad48fa 100644
--- a/src/components/YamlEdit/index.vue
+++ b/src/components/YamlEdit/index.vue
@@ -1,6 +1,6 @@
-
+
diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue
index 5c3a0b5..c235dc9 100644
--- a/src/layout/components/AppMain.vue
+++ b/src/layout/components/AppMain.vue
@@ -2,11 +2,11 @@
-
+
@@ -21,35 +21,42 @@ export default {
return this.$store.state.tagsView.cachedViews
},
key() {
- return this.$route.fullPath
+ return this.$route.path
}
}
}
+
diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue
index 900e585..69dd095 100644
--- a/src/layout/components/Navbar.vue
+++ b/src/layout/components/Navbar.vue
@@ -1,23 +1,25 @@
-
-
+
+
+
diff --git a/src/views/components/icons/element-icons.js b/src/views/components/icons/element-icons.js
new file mode 100644
index 0000000..df72201
--- /dev/null
+++ b/src/views/components/icons/element-icons.js
@@ -0,0 +1,74 @@
+const elementIcons = [
+ 'info',
+ 'error',
+ 'success',
+ 'warning',
+ 'question',
+ 'back',
+ 'arrow-left',
+ 'arrow-down',
+ 'arrow-right',
+ 'arrow-up',
+ 'caret-left',
+ 'caret-bottom',
+ 'caret-top',
+ 'caret-right',
+ 'd-arrow-left',
+ 'd-arrow-right',
+ 'minus',
+ 'plus',
+ 'remove',
+ 'circle-plus',
+ 'remove-outline',
+ 'circle-plus-outline',
+ 'close',
+ 'check',
+ 'circle-close',
+ 'circle-check',
+ 'circle-close-outline',
+ 'circle-check-outline',
+ 'zoom-out',
+ 'zoom-in',
+ 'd-caret',
+ 'sort',
+ 'sort-down',
+ 'sort-up',
+ 'tickets',
+ 'document',
+ 'goods',
+ 'sold-out',
+ 'news',
+ 'message',
+ 'date',
+ 'printer',
+ 'time',
+ 'bell',
+ 'mobile-phone',
+ 'service',
+ 'view',
+ 'menu',
+ 'more',
+ 'more-outline',
+ 'star-on',
+ 'star-off',
+ 'location',
+ 'location-outline',
+ 'phone',
+ 'phone-outline',
+ 'picture',
+ 'picture-outline',
+ 'delete',
+ 'search',
+ 'edit',
+ 'edit-outline',
+ 'rank',
+ 'refresh',
+ 'share',
+ 'setting',
+ 'upload',
+ 'upload2',
+ 'download',
+ 'loading'
+]
+
+export default elementIcons
diff --git a/src/views/components/icons/index.vue b/src/views/components/icons/index.vue
new file mode 100644
index 0000000..3677afd
--- /dev/null
+++ b/src/views/components/icons/index.vue
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+
+ {{ generateIconCode(item) }}
+
+
+
+ {{ item }}
+
+
+
+
+
+
+
+
+ {{ generateElementIconCode(item) }}
+
+
+
+ {{ item }}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/components/icons/svg-icons.js b/src/views/components/icons/svg-icons.js
new file mode 100644
index 0000000..724cd8e
--- /dev/null
+++ b/src/views/components/icons/svg-icons.js
@@ -0,0 +1,10 @@
+const req = require.context('../../../assets/icons/svg', false, /\.svg$/)
+const requireAll = requireContext => requireContext.keys()
+
+const re = /\.\/(.*)\.svg/
+
+const svgIcons = requireAll(req).map(i => {
+ return i.match(re)[1]
+})
+
+export default svgIcons
diff --git a/src/views/dashboard/LineChart.vue b/src/views/dashboard/LineChart.vue
index 1aa650f..dcb6adb 100644
--- a/src/views/dashboard/LineChart.vue
+++ b/src/views/dashboard/LineChart.vue
@@ -1,5 +1,5 @@
-
+
-
diff --git a/src/views/tools/storage/qiniu/form.vue b/src/views/tools/storage/qiniu/form.vue
index 38cd650..5540732 100644
--- a/src/views/tools/storage/qiniu/form.vue
+++ b/src/views/tools/storage/qiniu/form.vue
@@ -3,16 +3,16 @@
-
+
-
+
-
+
-
+
@@ -20,12 +20,13 @@
v-for="item in zones"
:key="item"
:label="item"
- :value="item"/>
+ :value="item"
+ />
公开
- 私有
+ 私有
diff --git a/src/views/tools/swagger/index.vue b/src/views/tools/swagger/index.vue
index 929cf51..5162cd9 100644
--- a/src/views/tools/swagger/index.vue
+++ b/src/views/tools/swagger/index.vue
@@ -1,5 +1,5 @@
-
+
diff --git a/src/views/home.vue b/src/views/home.vue
index f923bb9..e0f55be 100644
--- a/src/views/home.vue
+++ b/src/views/home.vue
@@ -22,96 +22,17 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
From ea085433e27ed412cccafa0a21defefb218a863b Mon Sep 17 00:00:00 2001
From: dqjdda <201507802@qq.com>
Date: Fri, 22 Nov 2019 12:22:52 +0800
Subject: [PATCH 10/16] =?UTF-8?q?=E6=96=B0=E5=A2=9E=20crud.js=EF=BC=8C?=
=?UTF-8?q?=E6=95=B4=E5=90=88=E9=80=9A=E7=94=A8=E7=9A=84=E5=A2=9E=E5=88=A0?=
=?UTF-8?q?=E6=94=B9=E6=9F=A5?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
build/index.js | 27 ---
package.json | 31 ++--
src/api/data.js | 14 +-
src/api/job.js | 8 +
src/assets/styles/eladmin.scss | 8 +-
src/assets/styles/element-ui.scss | 4 +-
src/assets/styles/index.scss | 2 +-
src/assets/styles/sidebar.scss | 6 +-
src/mixins/crud.js | 288 ++++++++++++++++++++++++++++++
src/mixins/initData.js | 28 ++-
src/utils/request.js | 2 +-
src/views/system/job/form.vue | 140 ---------------
src/views/system/job/index.vue | 198 ++++++++++----------
13 files changed, 459 insertions(+), 297 deletions(-)
delete mode 100644 build/index.js
create mode 100644 src/mixins/crud.js
delete mode 100644 src/views/system/job/form.vue
diff --git a/build/index.js b/build/index.js
deleted file mode 100644
index 244ff4a..0000000
--- a/build/index.js
+++ /dev/null
@@ -1,27 +0,0 @@
-const { run } = require('runjs')
-const chalk = require('chalk')
-const config = require('../vue.config.js')
-const rawArgv = process.argv.slice(2)
-const args = rawArgv.join(' ')
-
-if (process.env.npm_config_preview || rawArgv.includes('--preview')) {
- const report = rawArgv.includes('--report')
-
- run(`vue-cli-service build ${args}`)
-
- const publicPath = config.publicPath
-
- var connect = require('connect')
- var serveStatic = require('serve-static')
- const app = connect()
-
- app.use(
- publicPath,
- serveStatic('./dist', {
- index: ['index.html', '/']
- })
- )
-
-} else {
- run(`vue-cli-service build ${args}`)
-}
diff --git a/package.json b/package.json
index d0cdfef..d84f0c2 100644
--- a/package.json
+++ b/package.json
@@ -27,36 +27,37 @@
},
"repository": {
"type": "git",
- "url": "git+https://github.com/PanJiaChen/vue-element-admin.git"
+ "url": "https://github.com/elunez/eladmin-web.git"
},
"bugs": {
"url": "https://github.com/elunez/eladmin/issues"
},
"dependencies": {
- "clipboard": "2.0.4",
"@riophae/vue-treeselect": "0.1.0",
- "vue-cropper": "0.4.9",
"axios": "0.18.1",
- "echarts": "4.2.1",
- "fuse.js": "3.4.4",
- "js-cookie": "2.2.0",
- "normalize.css": "7.0.0",
- "nprogress": "0.2.0",
- "path-to-regexp": "2.4.0",
- "screenfull": "4.2.0",
- "vue": "2.6.10",
- "vue-count-to": "1.0.13",
- "vue-router": "3.0.2",
- "vue-splitpane": "1.0.4",
- "vuex": "3.1.0",
+ "clipboard": "2.0.4",
"codemirror": "^5.38.0",
"connect": "3.6.6",
+ "echarts": "4.2.1",
"echarts-gl": "^1.1.1",
"element-ui": "^2.12.0",
"file-saver": "1.3.8",
+ "fuse.js": "3.4.4",
+ "js-cookie": "2.2.0",
"jsencrypt": "^3.0.0-rc.1",
"jszip": "3.1.5",
"mavon-editor": "^2.7.0",
+ "normalize.css": "7.0.0",
+ "nprogress": "0.2.0",
+ "path-to-regexp": "2.4.0",
+ "qs": "^6.9.1",
+ "screenfull": "4.2.0",
+ "vue": "2.6.10",
+ "vue-count-to": "1.0.13",
+ "vue-cropper": "0.4.9",
+ "vue-router": "3.0.2",
+ "vue-splitpane": "1.0.4",
+ "vuex": "3.1.0",
"wangeditor": ">=3.0.0",
"xlsx": "^0.11.16"
},
diff --git a/src/api/data.js b/src/api/data.js
index 7a91ac6..d975d75 100644
--- a/src/api/data.js
+++ b/src/api/data.js
@@ -1,9 +1,17 @@
import request from '@/utils/request'
+import qs from 'qs'
export function initData(url, params) {
return request({
- url: url,
- method: 'get',
- params
+ url: url + '?' + qs.stringify(params, { indices: false }),
+ method: 'get'
+ })
+}
+
+export function download(url, params) {
+ return request({
+ url: url + '?' + qs.stringify(params, { indices: false }),
+ method: 'get',
+ responseType: 'blob'
})
}
diff --git a/src/api/job.js b/src/api/job.js
index 49ba283..4eb1187 100644
--- a/src/api/job.js
+++ b/src/api/job.js
@@ -44,3 +44,11 @@ export function downloadJob(params) {
responseType: 'blob'
})
}
+
+export default {
+ add,
+ edit,
+ del,
+ getAllJob,
+ downloadJob
+}
diff --git a/src/assets/styles/eladmin.scss b/src/assets/styles/eladmin.scss
index 624aaf9..c23186d 100644
--- a/src/assets/styles/eladmin.scss
+++ b/src/assets/styles/eladmin.scss
@@ -3,7 +3,7 @@
.filter-item {
display: inline-block;
vertical-align: middle;
- margin-bottom: 10px;
+ margin: 0 2px 10px 0;
input {
height: 30.5px;
line-height: 30.5px;
@@ -32,7 +32,7 @@
.logo-con{
height: 60px;
- padding: 13px 0px 0px;
+ padding: 13px 0 0;
img{
height: 32px;
width: 135px;
@@ -58,7 +58,7 @@
background: none repeat scroll 0 0 white;
border-top: 1px solid #e7eaec;
overflow: hidden;
- padding: 10px 6px 0px 6px;
+ padding: 10px 6px 0 6px;
height: 33px;
font-size: 0.7rem !important;
color: #7a8b9a;
@@ -77,7 +77,7 @@
width: 368px;
}
.my-blockquote{
- margin: 0px 0px 10px;
+ margin: 0 0 10px;
padding: 15px;
line-height: 22px;
border-left: 5px solid #00437B;
diff --git a/src/assets/styles/element-ui.scss b/src/assets/styles/element-ui.scss
index 9581d56..8f7881c 100644
--- a/src/assets/styles/element-ui.scss
+++ b/src/assets/styles/element-ui.scss
@@ -17,7 +17,7 @@
.cell {
.el-tag {
- margin-right: 0px;
+ margin-right: 0;
}
}
@@ -41,7 +41,7 @@
text-align: center;
.el-tag {
- margin-right: 0px;
+ margin-right: 0;
}
}
}
diff --git a/src/assets/styles/index.scss b/src/assets/styles/index.scss
index fdf9ba4..2e8715e 100644
--- a/src/assets/styles/index.scss
+++ b/src/assets/styles/index.scss
@@ -34,7 +34,7 @@ html {
}
.no-padding {
- padding: 0px !important;
+ padding: 0 !important;
}
.padding-content {
diff --git a/src/assets/styles/sidebar.scss b/src/assets/styles/sidebar.scss
index 3dad4c3..17381fc 100644
--- a/src/assets/styles/sidebar.scss
+++ b/src/assets/styles/sidebar.scss
@@ -13,7 +13,7 @@
background-color: $menuBg;
height: 100%;
position: fixed;
- font-size: 0px;
+ font-size: 0;
top: 0;
bottom: 0;
left: 0;
@@ -30,7 +30,7 @@
}
.el-scrollbar__bar.is-vertical {
- right: 0px;
+ right: 0;
}
.el-scrollbar {
@@ -146,7 +146,7 @@
// mobile responsive
.mobile {
.main-container {
- margin-left: 0px;
+ margin-left: 0;
}
.sidebar-container {
diff --git a/src/mixins/crud.js b/src/mixins/crud.js
new file mode 100644
index 0000000..dacd6fb
--- /dev/null
+++ b/src/mixins/crud.js
@@ -0,0 +1,288 @@
+import { initData, download } from '@/api/data'
+import { parseTime, downloadFile } from '@/utils/index'
+import checkPermission from '@/utils/permission'
+
+export default {
+ data() {
+ return {
+ // 表格数据
+ data: [],
+ // 排序规则,默认 id 降序, 支持多字段排序 ['id,desc', 'createTime,asc']
+ sort: ['id,desc', 'createTime,asc'],
+ // 页码
+ page: 0,
+ // 每页数据条数
+ size: 10,
+ // 总数据条数
+ total: 0,
+ // 请求数据的url
+ url: '',
+ // 查询数据的参数
+ params: {},
+ // 待查询的对象
+ query: {},
+ // 等待时间
+ time: 50,
+ // 是否为新增类型的表单
+ isAdd: false,
+ // 导出的 Loading
+ downloadLoading: false,
+ // 表格 Loading 属性
+ loading: true,
+ // 删除 Loading 属性
+ delLoading: false,
+ // 弹窗属性
+ dialog: false,
+ // Form 表单
+ form: {},
+ // 弹窗的标题
+ title: '',
+ // 方法
+ method: ''
+ }
+ },
+ methods: {
+ parseTime,
+ downloadFile,
+ checkPermission,
+ 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() {
+ },
+ /**
+ * 显示新增弹窗前可以调用该方法
+ */
+ beforeShowAddForm() {
+ },
+ /**
+ * 显示新增弹窗
+ */
+ showAddFormDialog() {
+ this.isAdd = true
+ this.beforeShowAddForm()
+ this.dialog = true
+ },
+ /**
+ * 显示编辑弹窗前可以调用该方法
+ */
+ beforeShowEditForm(data) {
+ },
+ /**
+ * 显示编辑弹窗
+ */
+ showEditFormDialog(data = '') {
+ this.isAdd = false
+ if (data) {
+ this.form = JSON.parse(JSON.stringify(data))
+ }
+ this.beforeShowEditForm(data)
+ this.dialog = true
+ },
+ /**
+ * 新增方法
+ */
+ addMethod() {
+ this.crudMethod.add(this.form).then(() => {
+ this.hideFormDialog()
+ this.addSuccessNotify()
+ this.loading = false
+ this.afterAddMethod()
+ this.init()
+ }).catch(() => {
+ this.loading = false
+ })
+ },
+ /**
+ * 新增后可以调用该方法
+ */
+ afterAddMethod() {
+ },
+ /**
+ * 通用的编辑方法
+ */
+ editMethod() {
+ this.crudMethod.edit(this.form).then(() => {
+ this.hideFormDialog()
+ this.editSuccessNotify()
+ this.loading = false
+ this.afterEditMethod()
+ this.init()
+ }).catch(() => {
+ this.loading = false
+ })
+ },
+ /**
+ * 编辑后可以调用该方法
+ */
+ afterEditMethod() {
+ },
+ /**
+ * 提交前可以调用该方法
+ */
+ beforeSubmitMethod() {
+ return true
+ },
+ /**
+ * 提交
+ */
+ submitMethod() {
+ if (!this.beforeSubmitMethod()) {
+ return
+ }
+ this.$refs['form'].validate((valid) => {
+ if (valid) {
+ this.loading = true
+ if (this.isAdd) {
+ this.addMethod()
+ } else this.editMethod()
+ }
+ })
+ },
+ /**
+ * 隐藏弹窗
+ */
+ hideFormDialog() {
+ this.dialog = false
+ this.$refs['form'].resetFields()
+ },
+ /**
+ * 获取弹窗的标题
+ */
+ 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/src/mixins/initData.js b/src/mixins/initData.js
index 2162dc1..aca65a6 100644
--- a/src/mixins/initData.js
+++ b/src/mixins/initData.js
@@ -3,7 +3,28 @@ import { initData } from '@/api/data'
export default {
data() {
return {
- loading: true, data: [], page: 0, size: 10, total: 0, url: '', params: {}, query: {}, time: 50, isAdd: false, downloadLoading: false
+ // 表格 Loading 属性
+ loading: true,
+ // 表格数据
+ data: [],
+ // 页码
+ page: 0,
+ // 每页数据条数
+ size: 10,
+ // 总数据条数
+ total: 0,
+ // 请求数据的url
+ url: '',
+ // 查询数据的参数
+ params: {},
+ // 待查询的对象
+ query: {},
+ // 等待时间
+ time: 50,
+ // 是否为新增类型的表单
+ isAdd: false,
+ // 导出的 Loading
+ downloadLoading: false
}
},
methods: {
@@ -13,9 +34,11 @@ export default {
}
return new Promise((resolve, reject) => {
this.loading = true
+ // 请求数据
initData(this.url, this.params).then(res => {
this.total = res.totalElements
this.data = res.content
+ // time 毫秒后显示表格
setTimeout(() => {
this.loading = false
}, this.time)
@@ -29,10 +52,12 @@ export default {
beforeInit() {
return true
},
+ // 改变页码
pageChange(e) {
this.page = e - 1
this.init()
},
+ // 改变每页显示数
sizeChange(e) {
this.page = 0
this.size = e
@@ -47,6 +72,7 @@ export default {
this.page = this.page - 1
}
},
+ // 查询方法
toQuery() {
this.page = 0
this.init()
diff --git a/src/utils/request.js b/src/utils/request.js
index 3a66a88..0fb30a2 100644
--- a/src/utils/request.js
+++ b/src/utils/request.js
@@ -81,7 +81,7 @@ service.interceptors.response.use(
if (errorMsg !== undefined) {
Notification.error({
title: errorMsg,
- duration: 3000
+ duration: 2500
})
}
}
diff --git a/src/views/system/job/form.vue b/src/views/system/job/form.vue
deleted file mode 100644
index 4eefdb1..0000000
--- a/src/views/system/job/form.vue
+++ /dev/null
@@ -1,140 +0,0 @@
-
-
-
-
-
-
-
-
-
-
- {{ item.label }}
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/views/system/job/index.vue b/src/views/system/job/index.vue
index 2b9399b..fbbdcf5 100644
--- a/src/views/system/job/index.vue
+++ b/src/views/system/job/index.vue
@@ -3,9 +3,9 @@
-
+
搜索
-
-
- 新增
-
-
-
- 导出
-
+
+
新增
+
+
导出
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ item.label }}
+
+
+
+
+
+
+
@@ -71,9 +90,10 @@
{{ parseTime(scope.row.createTime) }}
+
-
+
确定删除本条数据吗?
取消
- 确定
+ 确定
@@ -103,24 +123,45 @@
-
From d99fb71fe0f03090cbe852895b2488dab76fde72 Mon Sep 17 00:00:00 2001
From: dqjdda <201507802@qq.com>
Date: Fri, 22 Nov 2019 17:41:07 +0800
Subject: [PATCH 11/16] =?UTF-8?q?=E6=9B=B4=E6=8D=A2logo=EF=BC=8C=E7=94=A8?=
=?UTF-8?q?=E6=88=B7=E7=AE=A1=E7=90=86=E4=BC=98=E5=8C=96=E5=AE=8C=E6=88=90?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
public/favicon.ico | Bin 67646 -> 67646 bytes
src/api/job.js | 17 +-
src/api/user.js | 12 +-
src/assets/images/logo.png | Bin 13437 -> 8852 bytes
src/assets/styles/variables.scss | 2 +-
src/layout/components/Sidebar/Logo.vue | 7 +-
src/mixins/crud.js | 2 +-
src/utils/validate.js | 5 +
src/views/system/user/center.vue | 2 +
src/views/system/user/form.vue | 218 -----------------
src/views/system/user/index.vue | 313 +++++++++++++++----------
11 files changed, 206 insertions(+), 372 deletions(-)
delete mode 100644 src/views/system/user/form.vue
diff --git a/public/favicon.ico b/public/favicon.ico
index 34b63ac63a87ee3ea8e7a0f3f5b5406c437e2112..fcb69992e5f0777989b89db9a6318b3621eff240 100644
GIT binary patch
literal 67646
zcmeHQ4RBOdmTp~&rKl};YRa-K*8#?1SQZ^cWgJIQ`~}k82?3HoAPFIm0D=5;zYg-7
z1R_5Xkv{CpdqSl9Pnr~AG8&Uena=bn4cxgO7D_^-9qga426j2(8F=PHlKGZqaW@k9AJPvu4Q
z#QncZ0ha*qN3?c-m)0!*7SSqw
zk>FHcBsAXN5xS!0R82;{o7*Xi0>wQo9$&a=IPe?;EQxan?GVm;&_2WYmuTnFzDD~7
z-(&mM*A)_ewg}JB__yeH@ZHdt`ftzR_$*q`-xYiS-y2;J2@G@j!lHk=&Zc(MdA#A^
zb-=71?Rj8x26B8JSVeI)@J+~36L`jXJcB%S1Pyv3aBaHYeXu^)-`zA67~BXQO&Na!
zcz-KpI3XD8`kjS|5ztDQe
zo$?>nM1E&b6m$f{jCblp$s3Es+}9R}c`wfs^Is|x3y#kb)xVuBs$ZBb7XG$WEco3V
zG5^K6qT-cGQF^jQ6urGvOgq&mf1e)?a*XI*r(n#$-_Kyo*bO^lg0C|;tl(@@GD$LM
z?wucQ1n$}lw3mSSH+{+aw2nqm^j59Jx$>oQvFP~{vFzUqMZ+)iMdKmA2psf^;L~{`
zcwnl~o|+;;`=^MeeUruVCms|J?R`M3*mJ*Fx%)n`^6`7cs$KWU>mYtpdt|1lda+ED
zo~RLp;EBHa06zFT`uZ&T>i3@t4jnW=CHO^QvkwO?VTWtS(Y}aDbI3SlwD>=kK&~sK
zEH61)1k9(4x@QYT{jUl{{WJLk#((vWNn*|RyT#gVcgaScAg}P=Wq)2EX1rS`q;7DG
z7wE45{-5J`%p2Aw`of`M2_{cY-wt|oENHizvJ?|{(0ArrOU2wjS4rKy_*juxa&)Gs
zeQt(WdU(2&`9$O2{Mba%vh_~Uy5$bBj_r}3Lr>f%pE>unh2VqO;{)D+r|3LKa-6-vHZ!&q7pi2
zI&=c~);30fpE<9D%@V5eb_K6U0I7277R5)4J^s$%XwdB#+SeDzJnXNcH)~;=&4Zm*
zD)oHzZ)Rl#{%xCnCfYXMCLZ4KQ}Hm4D|g=yKB$zor}I59CY<+1w0+=(5qxL&pU30t
zgk9eiDvQdzU2goqea1V>MEM^p#r)%Q#e(0@fxeI0?3sxFhPDY}-(xE;tPSn>NtmbDOMC*Mn}QC#t1gN9?PBeYW7g
zY27Vi^SYa*K4?6Y4?D5`!ZD#s`vmXZ2pSBT`k!@!P8C45;kOGOvEfcTnzkM0-sP{(
z7nOe~mvi-O#lO8}ym+MfCea2vVIlaJ{s`OqM*T;7;lsLSurPqPXZhv%k){#AnZ7$~
zKCjC>{WRt9!OZ*Pyqv**%i0^oruDbTc_`dj(tz~fJf8ZVa$f=La}ED3YkndgU44UC1G|9!MF$VikNgUFVN|X%fcI3xw%?g*~~a2fUpc
z*XiE0t=9m1&X*O<;@zJc2$^Jq*gY{m7G2ORc*fX-Z25Xnv-k@V?Cv@+mr`F4Ok?fjCzE|#+I;y+dp|DD>;e}3pQ<6U^NfiIDElt{;{@$LC;mHwKNhW9C&D&@znH#IV@?p(
z_Q5ywPuao)&|5+HGOV?G-PWh4MqQ6GWyCR?R~~?xcJ{F27><%%nvFN
z`=ZhmG(O-ztz}eP@npp3qhBT9%`eTqN}I19x_@xtzu{rTfgvVrJ>mlyBf1Vp#)WNa
zyHz}bcmS^d(Es1p_;1Mn-nt)(hY>rV+Jcx@eTFu*;A|*k)Bs}It^ocotJvpD*{{n<
z{2A}bSYXD5GjE{bnF1M;I1jQq2kV%#;oq2rd2aC=OJtM&uGi`7u9o>F)yOqzL{7qL
zuSV~K(?auLCy)gv_rmdAY*ckFxTUnz7@AgoB#a=
znRk;*^1pWbT|zsMCu5H3tDDJK4%+6I&?wup!7H@)n~;yP5pkrCV;;!ypYp$V*(m6M
z+hwkS@f_ff{M5kcOi=(>*IQ-ujYrBp*YufpmF@Vi+I6o8JvCLzcM1F#h2U#L7S(r7
z#5sLrq*(>l!8P~*+FNfH^b783xK1oQUS{Jn$Q$MYp|tCO$!`UQ*mOVeFF+pF^sLAK
zUQzd}Y0%g6F%L@~=6&(a^!FMN^Ey{FZ=WRA?!4EQV*(w}g_d?50NEb}{E>HU>A`8B
zSGMBM{H~?QBjOk?<2ChhSAD;fp5ytPM{%sN*@4kI1!d_T1F%MU8}R=~r3uIWY{Z{=
zqH__4VvonL_*#9(OgIPKkEI>|XpW|}#tS`=ZTL6-!YAWRFNn`pbXq3h?d${aKkw_*
z#v#}I@^tY5`cQyo&HJ+me+_os;$y||OV=jNrgLJJ(CcWtU2Zw3cNCv)NvSTtb0?$O;yf}L|G?8;u@p5S
zq|En{vz?7R01OyE{2}H9%h9f!BwA9U3-GK7X#cI!tN`o1nQH&B-iwT{NVi?D=u4G$
z2{>mA`3vyLrevMS->qGZv8PMzcRtpvG7W#$0bxENeG_V5bMYMblLtP5Tq3VJnAEtT
zyi*N~??yhCHBX`+E0g?x_3+QLu2Z(z_bN>Xb}s84?(%gsC5;DA6LA#$p*H^y{iE~&
zWrF{gV?E=HSr2SrG_?3S8-K6s0_5H#XFLF1??C(5=@X}{r5pdHr~}2?JkGvlBaWBS
zXJAj;umfYk-Fe-Cgw79;$6tgNv*sqpfOM_@unrX0T?ae%D&K$yK1Yn!oGG0RmlQve
z7Y>eQ?T*5C0<7Cp3;e&8xhoEvTIvA!ty3NUQ~TUZ~E&;2%VL9kmUa)4k8YU#^=tbO7I*Yv!ql|6YPRozl)v
zg-=g^FV-umda+yte&H9a7s=Ql)&$$|@C30L>-Ve!v>x#rtVtr%4#JrL
z>sivKJP#iDn}I*;?=she@jn;nJA9u$A<9cK^1oOEGFkQ>Z5!q_bjC<1|h{OC4ctEDL
zd;C4xRRbB@`|}&{)-GEgbosTs;66)#?+$OcX}~spe{eUx1OD17<=*Ho|=~xfG
z9YOU@
zD4Y4aXe?m8A)m=U0{i9t#h>!RTJ7Y6UTq-Yz_Ej4Ep9*laS}3}UIiQS5-u}=yv47FE;;EW{vDJ(M7GI$i8u%pp=<5pl
zF@Ln>`}7BYng5OXALoF~372z4`f8lKz-!41h$Fz5%=zM6_|&+^2lwt_EofN>95vus
zKg#?)e}nsRjo(;%;BU!8)bES|VEhlUZ#d+`UJ-?IKOpi&uewRWAr>}C{S5EJdNAv^
z+=+akABraz|G>n*jQ(xCZ@~Tw`12+v8+YUW@cZ3}XWHs}^c#Pr{tInC$qN`CE~;xm
z3)%|Q_0gQ-XgvX=h7|4f3f76|-cA@37Qy$*y?^Sk_HXY01G|oU`7jQI&y}`mI`O^8
zvso8z3vx!ESUOVds~us(zlb)8fqz%%Q_TJ1_Tw0M#(SK4su8{f)+Eu_#-*%U^Z(xT
ze_!<R$sEuN&B;>WF6^Gv9^yL#~|uAE*7-m;5{N?{EEY
z+VFAN|FP(v37>(6^Z!sG+OcM!=6}bM{}oS6wrn2s9kHIxVWp{r>|Q{|74n-2aO_Am;(#K~pDPgytFXJzzHzei7|}SL|pSD~$SYeaZh$jQ!=X
zmCXJ}>#I&k74F7!fc-eMvr0eY94a07)BYnL&}TzEWcDe8d4S_3=Wy%We=fEYd*u1|
z2mkigTO4)4LT_X5kd*I3jrk^Py&YF+oi6z|?0@F+$yi^=mD;aNJLg=P{+#yK@wWP}
z{lR|)YJwT>1Nw9Qb${Wzsaf|iWS_^HQ#F_a1nZ5y@F;D-H0XZ=f6n)6kIcx}9B$Hw
zv0-a>PLg#Xo%LTYhCj#t3hXIo&>Yx*134_=d@LRR5KB51eX*?rNgEJzch0p_VgJY4
z|Fib+4ET5|qP~L+83Q;jE(3qE4p=<(zf}A0QP_ua|0v^~;DgDJG$w7G|6)7^yK^Yo
z>jpp4CY57An(>!@Klp!Yep4dXluTRMpj!%$l!Ha^Q!`G8`#;4~|52U)(+3bd=(p^C
zyaVL_$i*;9=HK(eq07;S<)E*%76cu~nxE;Ee*=H+|IIOh{-BHcmlMeokOS($1&9}0
zh1db^12~ZSk1GBmC!9rro#<~^wE$XgAF5n^npjQvL3ccSp$-S{JWyhl{`x94|<;*Qc
z2R6V&@PTbTm@%N~vj0^5&oy6j{qG>wexJ^h>%aV*a>{ilt|>6SqQCgd7;wa@aP5I{
z{frf247fA?J5l(rM@|8G%;+EJecsm{91|~2$@)I`v`3#TUjXF-zQ9bzUwdkbjQ;Qs{y!1;vli$A
z)_w#{CH~Cq@6rzDozc=>`_bShS^pXPQ=nf~9U%0VvEG!el;(dS@3TMhZ{Xhqe+uKi
zSjTt8p8L)Czf~B&8T+{gxf@3OFXO$5`8qblf1C0Dz2tu+0{=Gn2Md&O3S%wS`nCJ~
zAE#%|Z(!~`vL-qDW~=|sHA=Vs`%Q9>zk%3)+Ys-i`g@}KU)w+J{miNTtnvZ)a;j4Y
zxcfg09RDVaOENCan48MA9&Nlz^GrI=?+S5EU^klO6NFtQ#{k4`BxC(Qmj5po^#3C*
zH`~^EK+~@wTg|Aqk}>0cEZ)PMbPW1x)q{l{K;KI$@_*^;Vcmyp$A8<3ao8Jru4(U6
z?}Mh8?>A<}K7hz6tcAU5ix1`e#g+g5`F{h*Nl<+g!2T<&wakbmZ<+WR^wjs!=flQ)
zl}EmhyZ>X~`0vzyELz|{vd{HHtmU>FbykvA!z&p)l;0U*ZHP})9-u8l9gvLtZ~Aw$
zUH@-vn;`cBG3WYGz25`h+BM0*D4F+cZf^D<7KeL6S+!wxTR`rIgIFCScK=fIKh^dB
ztQ`Ll)Aa~yg)j!rfxX=SIhi;m^WLxnSQ~Pksss3bjMsJdf4BDk-HQF682fuc>{?h`
zjD4O`lGB|mKEPhk!(a~_0PfcM0Q4HyUzp>^b(6s?|LvIP&3}2G)7ED`XUb!`lfeV5
zLk;||!TY=d9DzbM`n2~BBggK_WZ;pmdjk6rc&`&^b{@bQ
z0quZGiT}>V@t=D{a=$=zY(x$pv46>TDz~sF&w0;i9`H1LLx@*)@Br-aGMjUKf9Nl=c8)23DYw+_q
z2WEf=KEQZj%?-#8SUYCELm6s3PzPiS{*3=zvF8E!HmYrT`s8uECuRO`@QvMv7{09b
z?Ie;(VGoP|{?GU$AuFfY&_afS37b4*B!{|7Ok
zj2C6jv8?Ouz}&ze@9`PhhP+7XbF|ZeU80`p4>w}nAaplqcLeQor~M@9OPzo`E5;Yo
zZ?F*cvd9Zu1FVDH#r&_{;{W4~|79F7bGe$HoGg|ihotlb>OI4E*-O7T#(##t9YlWa
zZTS(+9p?wg7zL*Sm?H$epy#oewt=D-IA>t2A^pkou%=RtnozaRO^=!X(I5OdmNz12
zi2Hc(ezQ=!&K8fUJlmA_E;+^@M4u%>}er#2pZfcVnT
z8655Qfr0HyqO!+
zi+(5W=nH)~U1;t2-Z;c+4JpkTLYjrH*)emSf+7&}h`Wss+7YhOO8;AE-Q$g!3rw
zq2B>>?1!XX=kJbxFNIvfCe`mU^Q}h27=^9|?Xl0Pb_lHlbBHfsH`wfNLpNX2k!x14
zL+}jlt8oy|D9Mk6a%zn>)%YdydBB9e#8JTi4&byH=eu$KHjba5eS!8BKL0x!^X9*y
z-oTM-Zfrbf4X&>YG2HGx+=T-Ra?KtONDj6MvpGdl9`@N<_fY?F&~wljd+f0qI-1zZZa6mTiv
zQoyBvO97VxE(Kf)xD;?H;8MV)fJ*_F0xkty3b+(-Dd1ATrGQHTlL8_q|9v;o_FCV0
zJhl(cc|4b?Um!ImSs(l_um91yKF4e22d%vJv>0E&-T7~%as7YM>wh+`|0jC=561Pm
z=(Tyn*66jz_`7~-^hm$G`2hX)9*_P2*<1cb@3H5{`
zGXEUykl7u*L(XfndwK`W?&%$LUYp(3JM6qZXFXrOKp)rgg-%-EzvwkzQ2oC1dXnSs
zq`3NhQe3@e2i0qKz;->!aXr#;jR)Aij|bSU0cop8`FEN4&UWo-QOM8lIj&oT?eDmq
z?HZ4_U88%>YXxq}0Li`<%G*i?jQ6@#`9X`Y(=XQbN#*u@^8q7`-|KJKVqVJ|nzs`|_E_(&{1Q7b
U$^5!t50tOVCyZ47oXe;G53^4nod5s;
literal 67646
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
X;@D+E7Ad=S_FbjlW&KY_+xPzm3MBT?
diff --git a/src/api/job.js b/src/api/job.js
index 4eb1187..1ede2e5 100644
--- a/src/api/job.js
+++ b/src/api/job.js
@@ -36,19 +36,4 @@ export function edit(data) {
})
}
-export function downloadJob(params) {
- return request({
- url: 'api/job/download',
- method: 'get',
- params,
- responseType: 'blob'
- })
-}
-
-export default {
- add,
- edit,
- del,
- getAllJob,
- downloadJob
-}
+export default { add, edit, del }
diff --git a/src/api/user.js b/src/api/user.js
index 334635f..c6f831d 100644
--- a/src/api/user.js
+++ b/src/api/user.js
@@ -8,15 +8,6 @@ export function add(data) {
})
}
-export function downloadUser(params) {
- return request({
- url: 'api/users/download',
- method: 'get',
- params,
- responseType: 'blob'
- })
-}
-
export function del(id) {
return request({
url: 'api/users/' + id,
@@ -51,3 +42,6 @@ export function updateEmail(code, data) {
data
})
}
+
+export default { add, edit, del }
+
diff --git a/src/assets/images/logo.png b/src/assets/images/logo.png
index 1670e67aae33d7d85aeffe5cb00c1f9a8e874f10..f7577109651b89def3d9359ab324b445c714fe77 100644
GIT binary patch
literal 8852
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
-
+
确定删除本条数据吗?
取消
- 确定
+ 确定
@@ -112,35 +151,65 @@
-
-
diff --git a/src/views/system/dept/index.vue b/src/views/system/dept/index.vue
index 5d686e5..16fccd6 100644
--- a/src/views/system/dept/index.vue
+++ b/src/views/system/dept/index.vue
@@ -3,9 +3,9 @@
-
+
搜索
-
- 新增
-
+ 新增
-
- 导出
-
+ 导出
-
+
+
+
+
+
+
+ {{ item.label }}
+
+
+
+
+
+
+
-
+
-
+
确定删除本条数据吗?
取消
- 确定
+ 确定
@@ -85,24 +97,31 @@
-
-
diff --git a/src/views/system/menu/index.vue b/src/views/system/menu/index.vue
index 2b192b2..cfa388d 100644
--- a/src/views/system/menu/index.vue
+++ b/src/views/system/menu/index.vue
@@ -3,9 +3,9 @@
-
+
搜索
-
- 新增
-
+
新增
-
- 导出
-
+
导出
-
-
+
+
+
+
+
+ 目录
+ 菜单
+ 按钮
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 是
+ 否
+
+
+
+
+ 是
+ 否
+
+
+
+
+ 是
+ 否
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
@@ -82,7 +148,7 @@
-
+
确定删除吗,如果存在下级节点则一并删除,此操作不能撤销!
取消
- 确定
+ 确定
@@ -103,18 +169,29 @@
-
diff --git a/src/views/system/role/form.vue b/src/views/system/role/form.vue
deleted file mode 100644
index 9c320fc..0000000
--- a/src/views/system/role/form.vue
+++ /dev/null
@@ -1,149 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/views/system/role/index.vue b/src/views/system/role/index.vue
index 8e530e2..85ffa0c 100644
--- a/src/views/system/role/index.vue
+++ b/src/views/system/role/index.vue
@@ -1,13 +1,11 @@
-
-
-
+
搜索
-
- 新增
-
+
新增
-
- 导出
-
+
导出
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -53,14 +81,14 @@
-
+
{{ parseTime(scope.row.createTime) }}
-
+
确定删除本条数据吗?
取消
- 确定
+ 确定
@@ -88,7 +116,7 @@
/>
-
+
@@ -123,25 +151,36 @@
diff --git a/src/views/monitor/online/index.vue b/src/views/monitor/online/index.vue
index 978c251..373743d 100644
--- a/src/views/monitor/online/index.vue
+++ b/src/views/monitor/online/index.vue
@@ -1,19 +1,17 @@
@@ -38,7 +36,7 @@
确定踢出该用户吗?
取消
- 确定
+ 确定
踢出
@@ -58,15 +56,15 @@
-
diff --git a/src/views/system/dict/form.vue b/src/views/system/dict/form.vue
deleted file mode 100644
index ac76a08..0000000
--- a/src/views/system/dict/form.vue
+++ /dev/null
@@ -1,101 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/views/system/dict/index.vue b/src/views/system/dict/index.vue
index 1f1e434..ba756af 100644
--- a/src/views/system/dict/index.vue
+++ b/src/views/system/dict/index.vue
@@ -1,12 +1,27 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
字典列表
+
新增
@@ -40,7 +53,7 @@
-
+
此操作将删除字典与对应的字典详情,确定要删除吗?
取消
- 确定
+ 确定
@@ -68,6 +81,7 @@
/>
+
@@ -79,7 +93,7 @@
style="float: right;padding: 4px 10px"
type="primary"
icon="el-icon-plus"
- @click="$refs.dictDetail.$refs.form.dialog = true;$refs.dictDetail.isAdd = true"
+ @click="$refs.dictDetail.showAddFormDialog"
>新增
@@ -90,23 +104,27 @@
diff --git a/src/views/system/dictDetail/form.vue b/src/views/system/dictDetail/form.vue
deleted file mode 100644
index f6e20ce..0000000
--- a/src/views/system/dictDetail/form.vue
+++ /dev/null
@@ -1,116 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/views/system/job/index.vue b/src/views/system/job/index.vue
index 912ed69..4e2ceee 100644
--- a/src/views/system/job/index.vue
+++ b/src/views/system/job/index.vue
@@ -160,17 +160,21 @@ export default {
})
},
methods: {
+ // 获取数据前设置好接口地址
beforeInit() {
this.url = 'api/job'
return true
},
+ // 打开新增弹窗前做的操作
beforeShowAddForm() {
this.getDepts()
},
+ // 打开编辑弹窗前做的操作
beforeShowEditForm(data) {
this.getDepts()
this.form.enabled = data.enabled.toString()
},
+ // 提交前的验证
beforeSubmitMethod() {
if (!this.form.dept.id) {
this.notify('所属部门不能为空', 'warning')
diff --git a/src/views/system/menu/index.vue b/src/views/system/menu/index.vue
index cfa388d..f72e9b0 100644
--- a/src/views/system/menu/index.vue
+++ b/src/views/system/menu/index.vue
@@ -83,7 +83,7 @@
-
+
@@ -91,10 +91,10 @@
-
+
-
+
@@ -200,6 +200,7 @@ export default {
})
},
methods: {
+ // 获取数据前设置好接口地址
beforeInit() {
this.url = 'api/menus'
return true
@@ -212,9 +213,11 @@ export default {
beforeShowEditForm() {
this.getMenus()
},
+ // 选中图标
selected(name) {
this.form.icon = name
},
+ // 获取所有菜单
getMenus() {
this.crudMethod.getMenusTree().then(res => {
this.menus = []
diff --git a/src/views/system/role/index.vue b/src/views/system/role/index.vue
index 85ffa0c..70364a1 100644
--- a/src/views/system/role/index.vue
+++ b/src/views/system/role/index.vue
@@ -190,6 +190,7 @@ export default {
})
},
methods: {
+ // 获取数据前设置好接口地址
beforeInit() {
this.showButton = false
this.url = 'api/roles'
@@ -227,11 +228,13 @@ export default {
}
return true
},
+ // 获取所有菜单
getMenus() {
getMenusTree().then(res => {
this.menus = res
})
},
+ // 触发单选
handleCurrentChange(val) {
if (val) {
const _this = this
@@ -249,6 +252,7 @@ export default {
})
}
},
+ // 保存菜单
saveMenu() {
this.menuLoading = true
const role = { id: this.currentId, menus: [] }
@@ -271,6 +275,7 @@ export default {
console.log(err.response.data.message)
})
},
+ // 改变数据
update() {
// 无刷新更新 表格数据
this.crudMethod.get(this.currentId).then(res => {
@@ -282,11 +287,13 @@ export default {
}
})
},
+ // 获取部门数据
getDepts() {
getDepts({ enabled: true }).then(res => {
this.depts = res.content
})
},
+ // 如果数据权限为自定义则获取部门数据
changeScope() {
if (this.form.dataScope === '自定义') {
this.getDepts()
From b428376ed1ebeb35d9238a2f7535d7fc1eeba2bb Mon Sep 17 00:00:00 2001
From: dqjdda <201507802@qq.com>
Date: Sun, 24 Nov 2019 11:04:01 +0800
Subject: [PATCH 14/16] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E4=BC=98=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/monitor/log.js | 9 --
src/api/monitor/redis.js | 9 +-
src/api/system/timing.js | 18 +--
src/views/monitor/redis/index.vue | 74 ++++--------
src/views/system/timing/index.vue | 188 +++++++-----------------------
src/views/system/timing/log.vue | 48 ++------
6 files changed, 80 insertions(+), 266 deletions(-)
diff --git a/src/api/monitor/log.js b/src/api/monitor/log.js
index 446c030..d776e7a 100644
--- a/src/api/monitor/log.js
+++ b/src/api/monitor/log.js
@@ -6,12 +6,3 @@ export function getErrDetail(id) {
method: 'get'
})
}
-
-export function downloadLog(params) {
- return request({
- url: 'api/logs/download',
- method: 'get',
- params,
- responseType: 'blob'
- })
-}
diff --git a/src/api/monitor/redis.js b/src/api/monitor/redis.js
index fdd3cbc..a85f037 100644
--- a/src/api/monitor/redis.js
+++ b/src/api/monitor/redis.js
@@ -34,11 +34,4 @@ export function edit(data) {
})
}
-export function downloadRedis(params) {
- return request({
- url: 'api/redis/download',
- method: 'get',
- params,
- responseType: 'blob'
- })
-}
+export default { del, delAll }
diff --git a/src/api/system/timing.js b/src/api/system/timing.js
index fb95575..95e9497 100644
--- a/src/api/system/timing.js
+++ b/src/api/system/timing.js
@@ -37,20 +37,4 @@ export function execution(id) {
})
}
-export function downloadJobs(params) {
- return request({
- url: 'api/jobs/download',
- method: 'get',
- params,
- responseType: 'blob'
- })
-}
-
-export function downloadLogs(params) {
- return request({
- url: 'api/jobs/download/log',
- method: 'get',
- params,
- responseType: 'blob'
- })
-}
+export default { del, updateIsPause, execution, add, edit }
diff --git a/src/views/monitor/redis/index.vue b/src/views/monitor/redis/index.vue
index 7db2b22..017c837 100644
--- a/src/views/monitor/redis/index.vue
+++ b/src/views/monitor/redis/index.vue
@@ -3,23 +3,19 @@
-
+
搜索
-
-
- 清空
-
+
+
清空
-
- 导出
-
+
导出
@@ -42,7 +38,7 @@
确定删除本条数据吗?
取消
- 确定
+ 确定
@@ -62,16 +58,16 @@
-
-
diff --git a/src/views/tools/storage/local/index.vue b/src/views/tools/storage/local/index.vue
index 1479435..bb6c7fa 100644
--- a/src/views/tools/storage/local/index.vue
+++ b/src/views/tools/storage/local/index.vue
@@ -3,9 +3,9 @@
-
+
搜索
-
- 文件上传
-
-
+
文件上传
+
-
- 删除
-
-
+
删除
+
-
- 导出
-
+
导出
-
+
+
+
+
+
+
+
+
+ 添加文件
+ 可上传任意格式文件,且不超过100M
+
+
+
+
+
@@ -106,7 +126,7 @@
-
+
确定删除本条数据吗?
取消
- 确定
+ 确定
@@ -138,28 +158,24 @@