mirror of
https://github.com/veops/cmdb.git
synced 2025-08-11 21:23:58 +08:00
前后端全面升级
This commit is contained in:
3
cmdb-ui/src/core/EventBus.js
Normal file
3
cmdb-ui/src/core/EventBus.js
Normal file
@@ -0,0 +1,3 @@
|
||||
import Vue from 'vue'
|
||||
|
||||
export default new Vue()
|
7
cmdb-ui/src/core/bootstrap.js
vendored
7
cmdb-ui/src/core/bootstrap.js
vendored
@@ -12,12 +12,10 @@ import {
|
||||
DEFAULT_FIXED_SIDEMENU,
|
||||
DEFAULT_CONTENT_WIDTH_TYPE,
|
||||
DEFAULT_MULTI_TAB
|
||||
} from '@/store/mutation-types'
|
||||
import config from '@/config/defaultSettings'
|
||||
} from '@/store/global/mutation-types'
|
||||
import config from '@/config/setting'
|
||||
|
||||
export default function Initializer () {
|
||||
console.log(`API_URL: ${process.env.VUE_APP_API_BASE_URL}`)
|
||||
|
||||
store.commit('SET_SIDEBAR_TYPE', Vue.ls.get(SIDEBAR_TYPE, true))
|
||||
store.commit('TOGGLE_THEME', Vue.ls.get(DEFAULT_THEME, config.navTheme))
|
||||
store.commit('TOGGLE_LAYOUT_MODE', Vue.ls.get(DEFAULT_LAYOUT_MODE, config.layout))
|
||||
@@ -29,6 +27,5 @@ export default function Initializer () {
|
||||
store.commit('TOGGLE_COLOR', Vue.ls.get(DEFAULT_COLOR, config.primaryColor))
|
||||
store.commit('TOGGLE_MULTI_TAB', Vue.ls.get(DEFAULT_MULTI_TAB, config.multiTab))
|
||||
store.commit('SET_TOKEN', Vue.ls.get(ACCESS_TOKEN))
|
||||
|
||||
// last step
|
||||
}
|
||||
|
@@ -19,7 +19,7 @@ const action = Vue.directive('action', {
|
||||
const actionName = binding.arg
|
||||
const roles = store.getters.roles
|
||||
const elVal = vnode.context.$route.meta.permission
|
||||
const permissionId = elVal instanceof String && [elVal] || elVal
|
||||
const permissionId = elVal instanceof String && [elVal] || elVal || []
|
||||
roles.permissions.forEach(p => {
|
||||
if (!permissionId.includes(p.permissionId)) {
|
||||
return
|
||||
|
@@ -6,6 +6,28 @@
|
||||
* 自定义图标加载表
|
||||
* 所有图标均从这里加载,方便管理
|
||||
*/
|
||||
import bxAnaalyse from '@/assets/icons/bx-analyse.svg?inline' // path to your '*.svg?inline' file.
|
||||
import gridSvg from '@/assets/icons/grid.svg?inline'
|
||||
import top_agent from '@/assets/icons/top_agent.svg?inline'
|
||||
import top_acl from '@/assets/icons/top_acl.svg?inline'
|
||||
import ops_default_show from '@/assets/icons/ops-default_show.svg?inline'
|
||||
import ops_is_choice from '@/assets/icons/ops-is_choice.svg?inline'
|
||||
import ops_is_index from '@/assets/icons/ops-is_index.svg?inline'
|
||||
import ops_is_link from '@/assets/icons/ops-is_link.svg?inline'
|
||||
import ops_is_password from '@/assets/icons/ops-is_password.svg?inline'
|
||||
import ops_is_sortable from '@/assets/icons/ops-is_sortable.svg?inline'
|
||||
import ops_is_unique from '@/assets/icons/ops-is_unique.svg?inline'
|
||||
import ops_move_icon from '@/assets/icons/ops-move-icon.svg?inline'
|
||||
|
||||
export { bxAnaalyse }
|
||||
export {
|
||||
gridSvg,
|
||||
top_agent,
|
||||
top_acl,
|
||||
ops_default_show,
|
||||
ops_is_choice,
|
||||
ops_is_index,
|
||||
ops_is_link,
|
||||
ops_is_password,
|
||||
ops_is_sortable,
|
||||
ops_is_unique,
|
||||
ops_move_icon
|
||||
}
|
||||
|
@@ -46,7 +46,8 @@ import {
|
||||
Skeleton,
|
||||
Popconfirm,
|
||||
message,
|
||||
notification
|
||||
notification,
|
||||
Space
|
||||
} from 'ant-design-vue'
|
||||
// import VueCropper from 'vue-cropper'
|
||||
|
||||
@@ -89,6 +90,7 @@ Vue.use(Skeleton)
|
||||
Vue.use(Popconfirm)
|
||||
// Vue.use(VueCropper)
|
||||
Vue.use(notification)
|
||||
Vue.use(Space)
|
||||
|
||||
Vue.prototype.$confirm = Modal.confirm
|
||||
Vue.prototype.$message = message
|
||||
|
@@ -1,6 +1,6 @@
|
||||
import Vue from 'vue'
|
||||
import VueStorage from 'vue-ls'
|
||||
import config from '@/config/defaultSettings'
|
||||
import config from '@/config/setting'
|
||||
|
||||
// base library
|
||||
import '@/core/lazy_lib/components_use'
|
||||
|
@@ -1,21 +1,67 @@
|
||||
import Vue from 'vue'
|
||||
import VueStorage from 'vue-ls'
|
||||
import config from '@/config/defaultSettings'
|
||||
import config from '@/config/setting'
|
||||
|
||||
// base library
|
||||
import Antd from 'ant-design-vue'
|
||||
import Viser from 'viser-vue'
|
||||
import VueCropper from 'vue-cropper'
|
||||
import 'ant-design-vue/dist/antd.less'
|
||||
|
||||
/* eslint-disable */
|
||||
// import 'ant-design-vue/dist/antd.less'
|
||||
import '../style/index.less'
|
||||
// import 'element-ui/lib/theme-chalk/select.css';
|
||||
// import 'element-ui/lib/theme-chalk/time-picker.css';
|
||||
// import 'element-ui/lib/theme-chalk/icon.css';
|
||||
// import 'element-ui/lib/theme-chalk/date-picker.css';
|
||||
// import 'element-ui/lib/theme-chalk/button.css';
|
||||
// import 'element-ui/lib/theme-chalk/autocomplete.css';
|
||||
// import 'element-ui/lib/theme-chalk/time-select.css';
|
||||
import 'element-ui/lib/theme-chalk/index.css'
|
||||
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
|
||||
// ext library
|
||||
import VueClipboard from 'vue-clipboard2'
|
||||
import PermissionHelper from '@/utils/helper/permission'
|
||||
// import '@/components/use'
|
||||
import './directives/action'
|
||||
|
||||
import { VueAxios } from '../utils/request'
|
||||
import 'xe-utils'
|
||||
import VXETable from 'vxe-table'
|
||||
import VXETablePluginExportXLSX from 'vxe-table-plugin-export-xlsx'
|
||||
import 'vxe-table/lib/style.css'
|
||||
import infiniteScroll from 'vue-infinite-scroll'
|
||||
import EventBus from './EventBus'
|
||||
import CustomDrawer from '@/components/CustomDrawer'
|
||||
import CustomTransfer from '@/components/CustomTransfer'
|
||||
import CustomRadio from '@/components/CustomRadio'
|
||||
import CardTitle from '@/components/CardTitle'
|
||||
import ElementUI from 'element-ui'
|
||||
import Treeselect from '@riophae/vue-treeselect'
|
||||
import OpsTable from '@/components/OpsTable'
|
||||
|
||||
Vue.config.productionTip = false
|
||||
Vue.prototype.$bus = EventBus
|
||||
Vue.use(VXETable)
|
||||
VXETable.use(VXETablePluginExportXLSX)
|
||||
|
||||
Vue.config.productionTip = false
|
||||
|
||||
Vue.prototype.$bus = EventBus
|
||||
|
||||
Vue.use(VueAxios)
|
||||
Vue.use(infiniteScroll)
|
||||
Vue.use(ElementUI);
|
||||
|
||||
VueClipboard.config.autoSetContainer = true
|
||||
|
||||
Vue.prototype.$httpError = function (err, describe) {
|
||||
const prefix = describe || 'Http请求'
|
||||
const msg = ((err.response || {}).data || {}).message || '请求出现错误,请稍后再试'
|
||||
this.$message.error(`${prefix}:${msg}`)
|
||||
}
|
||||
|
||||
window.$message = Vue.prototype.$message
|
||||
|
||||
Vue.use(Antd)
|
||||
Vue.use(Viser)
|
||||
|
||||
@@ -23,3 +69,10 @@ Vue.use(VueStorage, config.storageOptions)
|
||||
Vue.use(VueClipboard)
|
||||
Vue.use(PermissionHelper)
|
||||
Vue.use(VueCropper)
|
||||
Vue.component('CustomDrawer', CustomDrawer)
|
||||
Vue.component('CustomTransfer', CustomTransfer)
|
||||
Vue.component('CustomRadio', CustomRadio)
|
||||
Vue.component('CardTitle', CardTitle)
|
||||
Vue.component('Treeselect', Treeselect)
|
||||
Vue.component('OpsTable', OpsTable)
|
||||
|
||||
|
Reference in New Issue
Block a user