diff --git a/src/application/index.js b/src/application/index.js index 15432f0..42c29f0 100644 --- a/src/application/index.js +++ b/src/application/index.js @@ -5,7 +5,7 @@ import mk from './mk' export default { install(Vue) { - + Vue.component("mk-toolbar",mk.toolbar); Vue.prototype.$mk = mk; } diff --git a/src/application/mk/components/toolbar/toolbar.vue b/src/application/mk/components/toolbar/toolbar.vue new file mode 100644 index 0000000..5b1356f --- /dev/null +++ b/src/application/mk/components/toolbar/toolbar.vue @@ -0,0 +1,56 @@ + + + \ No newline at end of file diff --git a/src/application/mk/config/index.js b/src/application/mk/config/index.js index 2db977d..6d4f9ab 100644 --- a/src/application/mk/config/index.js +++ b/src/application/mk/config/index.js @@ -35,6 +35,7 @@ export default { checkboxConfig: { reserve: true, highlight: true, + trigger:'row', range: true } }, diff --git a/src/application/mk/index.js b/src/application/mk/index.js index 6592cb2..5cee782 100644 --- a/src/application/mk/index.js +++ b/src/application/mk/index.js @@ -12,7 +12,9 @@ var mk = { config: config, - dialog: dialog + dialog: dialog, + + toolbar :()=>import("./components/toolbar/toolbar") }; export default mk; \ No newline at end of file diff --git a/src/application/mk/style/main.css b/src/application/mk/style/main.css index cdca317..8b5efa5 100644 --- a/src/application/mk/style/main.css +++ b/src/application/mk/style/main.css @@ -15,4 +15,29 @@ color: #606266; text-align: center; cursor: pointer; +} + + +.mk-toolbar-right{ + display: flex; + flex-direction: row-reverse; +} +.mk-toolbar-right .iconlink{ + margin: 10px 6px; +} +.mk-toolbar-right .iconlink a-icon{ + font-size: 18px; +} + +.vxe-form .vxe-form--gather .ant-form-item{ + margin-bottom: 0; +} + +.footerbar{ + margin-top: 4px; + padding-left: 8px; +} + +.oplinks a{ + margin-right: 8px; } \ No newline at end of file diff --git a/src/layouts/PageLayout.vue b/src/layouts/PageLayout.vue index 47f4e22..97c0204 100644 --- a/src/layouts/PageLayout.vue +++ b/src/layouts/PageLayout.vue @@ -23,6 +23,7 @@ import PageHeader from '@/components/page/header/PageHeader' // 加载头部组件 import {mapState, mapMutations} from 'vuex' // 加载vuex import {getI18nKey} from '@/utils/routerUtil' // 加载路由工具 + export default { name: 'PageLayout', // 组件名称 @@ -55,6 +56,7 @@ export default { }, created() { // 创建 this.page = this.$route.meta.page // 获取页面数据 + }, beforeDestroy() { // 销毁前 this.updatePageHeight(0) // 更新页面高度 diff --git a/src/pages/Middle/Admin/AdminUser/UserEdit.vue b/src/pages/Middle/Admin/AdminUser/UserEdit.vue index 84aaecf..2c980d5 100644 --- a/src/pages/Middle/Admin/AdminUser/UserEdit.vue +++ b/src/pages/Middle/Admin/AdminUser/UserEdit.vue @@ -64,7 +64,7 @@ export default { rules: { name: [ - { required: true, message: '请输入名称' } + { required: true, message: '请输入名称' } ], email: [ { @@ -77,7 +77,7 @@ export default { } ], mobile: [ - { required: true, message: '请输入手机号' } , + { required: true, message: '请输入手机号' }, { validator({ itemValue }) { // 自定义校验 @@ -104,23 +104,23 @@ export default { }; - pageData.formOptions = Object.assign({},this.$mk.config.defaults.formOptions, pageData.formOptions); + pageData.formOptions = Object.assign({}, this.$mk.config.defaults.formOptions, pageData.formOptions); return pageData; - }, + }, created() { if (this.dataId) { this.$mk.post({ url: this.actions.get, - loading : "加载中...", - data : { + loading: "加载中...", + data: { id: this.dataId } - }).then(a => { - this.formOptions.data = a.data.AdminUser; - }).catch((a)=>{ - this.$mk.error(a.data.msg); - }); + }).then(a => { + this.formOptions.data = a.data.AdminUser; + }).catch((a) => { + this.$mk.error(a.data.msg); + }); } }, @@ -144,10 +144,10 @@ export default { url: action, loading: "保存中...", data: postdata - }).then(() => { - this.$mk.success("保存成功"); - this.$emit("callback", { success: true }); - }).catch((a)=>{ + }).then(() => { + this.$mk.success("保存成功"); + this.$emit("callback", { success: true }); + }).catch((a) => { this.$mk.error(a.data.msg); }); }; diff --git a/src/pages/Middle/Admin/AdminUser/UserList.vue b/src/pages/Middle/Admin/AdminUser/UserList.vue index bc388c6..517926a 100644 --- a/src/pages/Middle/Admin/AdminUser/UserList.vue +++ b/src/pages/Middle/Admin/AdminUser/UserList.vue @@ -2,44 +2,44 @@
-
- - 新增 - - 编辑 - - - - 删除 - - - 操作 - - - -
+ - + + + - +
+ + + + + +
@@ -56,14 +56,14 @@ export default { // 页面数据变量 var pageData = { - keyName : 'id', + keyName: 'id', actions: { getList: `${BASE_URL.BASE_URL}/AdminUser/v1/list`, delete: `${BASE_URL.BASE_URL}/AdminUser/v1/batchDelete` }, - start_time :0, - end_time :0, + start_time: 0, + end_time: 0, //搜索区 searchFormData: { @@ -94,7 +94,7 @@ export default { //数据区 gridOptions: { - height: 600, + height: '100%', id: 'datagrid_1', proxyConfig: { @@ -129,6 +129,7 @@ export default { columns: [ { type: 'checkbox', width: 50 }, { type: 'seq', width: 50 }, + { title: '操作', slots: { default: 'op' },width:100 }, { field: 'name', sortable: true, title: '名称' }, { field: 'nick_name', sortable: true, title: '昵称', showHeaderOverflow: true }, { field: 'email', sortable: true, title: 'email', showHeaderOverflow: true }, @@ -137,10 +138,21 @@ export default { } }; - pageData.gridOptions = Object.assign({},this.$mk.config.defaults.gridOptions, pageData.gridOptions); + pageData.gridOptions = Object.assign({}, this.$mk.config.defaults.gridOptions, pageData.gridOptions); return pageData; }, + computed: { + desc() { + return this.$t('pageDesc') + } + }, + created() { + this.$nextTick(() => { + // 将表格和工具栏进行关联 + this.$refs.xGrid.connect(this.$refs.xToolbar) + }); + }, // 监听 - 页面每次【加载时】执行 onLoad() { @@ -148,14 +160,14 @@ export default { // 函数 methods: { onDateChange(date) { - if(date && date.length){ - this.start_time = parseInt(date[0]._d.getTime()/ 1000); - this.end_time = parseInt(date[1]._d.getTime()/ 1000); - }else{ + if (date && date.length) { + this.start_time = parseInt(date[0]._d.getTime() / 1000); + this.end_time = parseInt(date[1]._d.getTime() / 1000); + } else { this.start_time = 0; this.end_time = 0; } - + }, getSearchParms() { var rules = []; @@ -170,8 +182,8 @@ export default { let value = this.searchFormData[key]; if (value) { let mode = findMode(key); - if(mode == "like"){ - value = "%" + value +"%"; + if (mode == "like") { + value = "%" + value + "%"; } rules.push({ column: key, @@ -199,20 +211,24 @@ export default { return this.$mk.getPagedData({ url: this.actions.getList, data: params }); }, - pageAdd() { - this.$mk.dialog.open({ - page: editPage, - title: "新增用户信息", - pageMode: "add", - dataId: 0, - callback: ({ success }) => { - success && this.$refs.xGrid.commitProxy('query') - } - }) + + //add / log / setting + toolbarClick(e) { + if (e.name == "add") { + this.$mk.dialog.open({ + page: editPage, + title: "新增用户信息", + pageMode: "add", + dataId: 0, + callback: ({ success }) => { + success && this.$refs.xGrid.commitProxy('query') + } + }) + } }, - pageEdit() { - let row = this.getSelectdRow(); + + pageEdit(row) { if (!row) { this.$mk.msg("请选择行"); return; @@ -228,40 +244,39 @@ export default { }) }, - handleMenuClick(e) { - if (e.key == "delete") { - - let rows = this.$refs.xGrid.getCheckboxRecords(); - let ids = []; - rows.forEach((row) => { - ids.push(row[this.keyName]); - - }); - - if (!ids.length) { - this.$mk.error("请选择行"); - return; - } - - this.$mk.confirm('您确定要删除吗?').then(type => { - if (type == 'confirm') { - this.$mk.post({ - url: this.actions.delete, - loading: "删除中...", - data: { - ids: ids - } - }).then(() => { - this.$mk.success("删除成功"); - this.onSearch(); - }).catch((a) => { - this.$mk.error(a.data.msg); - }); - } - }); + pageDelete(row) { + let rows = row ? [row] : this.$refs.xGrid.getCheckboxRecords(); + let ids = []; + rows.forEach((row) => { + ids.push(row[this.keyName]); + + }); + console.log(rows); + if (!ids.length) { + this.$mk.error("请选择行"); + return; } + + this.$mk.confirm('您确定要删除吗?').then(type => { + if (type == 'confirm') { + this.$mk.post({ + url: this.actions.delete, + loading: "删除中...", + data: { + ids: ids + } + }).then(() => { + this.$mk.success("删除成功"); + this.onSearch(); + }).catch((a) => { + this.$mk.error(a.data.msg); + }); + } + }); + + }, onSearch() { this.$refs.xGrid.commitProxy('query') @@ -279,4 +294,7 @@ export default { padding: 10px 10px; background: white; } +.gridPanel{ + height: calc(100vh - 430px); +} \ No newline at end of file diff --git a/src/pages/Middle/Admin/AdminUser/i18n.js b/src/pages/Middle/Admin/AdminUser/i18n.js index 40d6ffa..d40b14a 100644 --- a/src/pages/Middle/Admin/AdminUser/i18n.js +++ b/src/pages/Middle/Admin/AdminUser/i18n.js @@ -1,6 +1,7 @@ module.exports = { messages: { CN: { + pageDesc:'管理用户账号' }, HK: { diff --git a/src/pages/Middle/Base/BaseAgent/edit.vue b/src/pages/Middle/Base/BaseAgent/edit.vue index b4529fd..ebcaf0e 100644 --- a/src/pages/Middle/Base/BaseAgent/edit.vue +++ b/src/pages/Middle/Base/BaseAgent/edit.vue @@ -4,7 +4,16 @@ + + + @@ -17,7 +26,7 @@ - diff --git a/src/pages/Middle/Base/BaseCompany/i18n.js b/src/pages/Middle/Base/BaseCompany/i18n.js new file mode 100644 index 0000000..847ef50 --- /dev/null +++ b/src/pages/Middle/Base/BaseCompany/i18n.js @@ -0,0 +1,16 @@ +module.exports = { + messages: { + CN: { + pageDesc:'管理公司', + + editPageDesc:'编辑更新公司' + }, + HK: { + + }, + US: { + + } + } + } + \ No newline at end of file diff --git a/src/pages/Middle/Base/BaseCompany/list.vue b/src/pages/Middle/Base/BaseCompany/list.vue index 881f864..4f6aa9f 100644 --- a/src/pages/Middle/Base/BaseCompany/list.vue +++ b/src/pages/Middle/Base/BaseCompany/list.vue @@ -2,76 +2,84 @@
-
- - 新增 - - 编辑 - - - - 删除 - - - 操作 - - - -
+ + - + + + - +
+ + + + +
+
diff --git a/src/pages/Middle/Base/BaseConfig/i18n.js b/src/pages/Middle/Base/BaseConfig/i18n.js new file mode 100644 index 0000000..800cdc9 --- /dev/null +++ b/src/pages/Middle/Base/BaseConfig/i18n.js @@ -0,0 +1,16 @@ +module.exports = { + messages: { + CN: { + pageDesc:'管理项目', + + editPageDesc:'编辑更新项目' + }, + HK: { + + }, + US: { + + } + } + } + \ No newline at end of file diff --git a/src/pages/Middle/Base/BaseConfig/list.vue b/src/pages/Middle/Base/BaseConfig/list.vue index 0a7b188..d62b82c 100644 --- a/src/pages/Middle/Base/BaseConfig/list.vue +++ b/src/pages/Middle/Base/BaseConfig/list.vue @@ -2,27 +2,10 @@
-
- - 新增 - - 编辑 - - - - 删除 - - + - 操作 - - - -
- - @@ -39,12 +22,25 @@ - + + + - - - - +
+ + + + +
@@ -55,8 +51,13 @@ import BASE_URL from '@/services/base/api.js'; export default { name: 'BaseConfigList', - - + i18n: require('./i18n'), + props: { + pageMode: { + type: String, + default: "edit" + } + }, data() { // 页面数据变量 @@ -73,8 +74,8 @@ export default { //搜索区 searchFormData: { - name: '', - nick_name: '', + title: '', + desc: '', }, searchRules: [ { key: "title", mode: "like" }, @@ -100,7 +101,7 @@ export default { //数据区 gridOptions: { - height: 600, + height: '100%', id: 'datagrid_1', proxyConfig: { @@ -135,6 +136,7 @@ export default { columns: [ { type: 'checkbox', width: 50 }, { type: 'seq', width: 50 }, + { title: '操作', slots: { default: 'op' },width:100 }, { field: 'title', sortable: true, title: '标题' }, { field: 'desc', sortable: true, title: '描述', showHeaderOverflow: true }, { field: 'logo', sortable: true, title: 'logo', showHeaderOverflow: true }, @@ -145,11 +147,21 @@ export default { } }; - pageData.gridOptions = Object.assign(this.$mk.config.defaults.gridOptions, pageData.gridOptions); + pageData.gridOptions = Object.assign({}, this.$mk.config.defaults.gridOptions, pageData.gridOptions); return pageData; }, - // 监听 - 页面每次【加载时】执行 + computed: { + desc() { + return this.$t('pageDesc') + } + }, + created() { + this.$nextTick(() => { + // 将表格和工具栏进行关联 + this.$refs.xGrid.connect(this.$refs.xToolbar) + }); + }, onLoad() { }, @@ -209,14 +221,16 @@ export default { return this.$mk.getPagedData({ url: this.actions.getList, data: params }); }, - pageAdd() { + //add / log / setting + toolbarClick(e) { + if (e.name == "add") { this.$openPage("/BaseConfig/BaseConfigAdd"); - +} }, - pageEdit() { - let row = this.getSelectdRow(); + pageEdit(row) { + if (!row) { this.$mk.msg("请选择行"); return; @@ -226,10 +240,11 @@ export default { }, - handleMenuClick(e) { - if (e.key == "delete") { + pageDelete(row) { + + + let rows = row ? [row] : this.$refs.xGrid.getCheckboxRecords(); - let rows = this.$refs.xGrid.getCheckboxRecords(); let ids = []; rows.forEach((row) => { ids.push(row[this.keyName]); @@ -259,7 +274,7 @@ export default { }); - } + }, onSearch() { this.$refs.xGrid.commitProxy('query') @@ -277,4 +292,7 @@ export default { padding: 10px 10px; background: white; } +.gridPanel{ + height: calc(100vh - 400px); +} \ No newline at end of file diff --git a/src/pages/Middle/Base/BasePermission/i18n.js b/src/pages/Middle/Base/BasePermission/i18n.js new file mode 100644 index 0000000..d40b14a --- /dev/null +++ b/src/pages/Middle/Base/BasePermission/i18n.js @@ -0,0 +1,14 @@ +module.exports = { + messages: { + CN: { + pageDesc:'管理用户账号' + }, + HK: { + + }, + US: { + + } + } + } + \ No newline at end of file diff --git a/src/pages/Middle/Base/BaseService/edit.vue b/src/pages/Middle/Base/BaseService/edit.vue index ac3c6f3..29d6309 100644 --- a/src/pages/Middle/Base/BaseService/edit.vue +++ b/src/pages/Middle/Base/BaseService/edit.vue @@ -1,38 +1,47 @@ - + diff --git a/src/pages/Middle/Base/BaseService/routerEdit.vue b/src/pages/Middle/Base/BaseService/routerEdit.vue index c65d2cb..29ee0c7 100644 --- a/src/pages/Middle/Base/BaseService/routerEdit.vue +++ b/src/pages/Middle/Base/BaseService/routerEdit.vue @@ -167,7 +167,7 @@ export default { }; pageData.gridRouterParentOptions = Object.assign({}, this.$mk.config.defaults.gridOptions, pageData.gridRouterParentOptions); - pageData.formOptions = Object.assign(this.$mk.config.defaults.formOptions, pageData.formOptions); + pageData.formOptions = Object.assign({},this.$mk.config.defaults.formOptions, pageData.formOptions); return pageData; }, diff --git a/src/pages/login/Login.vue b/src/pages/login/Login.vue index 25b7313..34a45cb 100644 --- a/src/pages/login/Login.vue +++ b/src/pages/login/Login.vue @@ -91,7 +91,7 @@ export default { error: '', form: this.$form.createForm(this), user: { - mobile: '18678390480', + mobile: '18192398883', password: '888888' }, Project: [], diff --git a/src/router/Middle/Base/BasePermission/router.map.js b/src/router/Middle/Base/BasePermission/router.map.js index 7427c41..d229b05 100644 --- a/src/router/Middle/Base/BasePermission/router.map.js +++ b/src/router/Middle/Base/BasePermission/router.map.js @@ -1,4 +1,4 @@ - + // 视图组件 @@ -8,59 +8,63 @@ const view = { page: () => import('@/layouts/PageView') } - + // 路由组件注册 const BasePermissionRouterMap = { - BasePermission:{ + BasePermission: { name: '权限管理', - icon: 'idcard', + icon: 'idcard', component: view.page, - meta: { + meta: { + invisible: true, }, authority: { - permission:[], + permission: [], } }, - BasePermissionList:{ - name: '权限管理', - icon: 'idcard', - path: '/BasePermission/BasePermissionList', - component: () => import('@/pages/Middle/Base/BasePermission/list'), - authority: { - permission:[], - } + BasePermissionList: { + name: '权限管理', + icon: 'idcard', + path: '/BasePermission/BasePermissionList', + component: () => import('@/pages/Middle/Base/BasePermission/list'), + meta: { + invisible: true, }, - BasePermissionAdd:{ - name: '权限管理', - icon: 'idcard', - path: '/BasePermission/BasePermissionAdd', - component: () => import('@/pages/Middle/Base/BasePermission/edit'), - meta: { - invisible:true, - }, - authority: { - permission:[], - } - }, - BasePermissionUpdate:{ - name: '权限管理', - icon: 'idcard', - path: '/BasePermission/BasePermissionUpdate/:id', - component: () => import('@/pages/Middle/Base/BasePermission/edit'), - meta: { - invisible:true, - }, - authority: { - permission:[], - } - }, - BasePermissionDetail:{ - meta: { - invisible:true, - }, + authority: { + permission: [], } - - + }, + BasePermissionAdd: { + name: '权限管理', + icon: 'idcard', + path: '/BasePermission/BasePermissionAdd', + component: () => import('@/pages/Middle/Base/BasePermission/edit'), + meta: { + invisible: true, + }, + authority: { + permission: [], + } + }, + BasePermissionUpdate: { + name: '权限管理', + icon: 'idcard', + path: '/BasePermission/BasePermissionUpdate/:id', + component: () => import('@/pages/Middle/Base/BasePermission/edit'), + meta: { + invisible: true, + }, + authority: { + permission: [], + } + }, + BasePermissionDetail: { + meta: { + invisible: true, + }, + } + + } export default BasePermissionRouterMap \ No newline at end of file