This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
nezha-nezha-fronted/nezha-fronted/src/main.js

162 lines
5.0 KiB
JavaScript
Raw Normal View History

// import '@/assets/stylus/index.scss'
2021-11-01 17:23:01 +08:00
// import 'element-ui/lib/theme-chalk/index.css'
import 'xterm/dist/xterm.css'
import '@/assets/css/main.scss'
2021-10-22 15:16:06 +08:00
import '@/assets/css/font/iconfont.js'
import ElementUI from 'element-ui'
import i18n from './components/common/i18n'
2019-11-28 18:23:49 +08:00
import Vue from 'vue'
import Vuex from 'vuex'
2021-03-19 18:52:19 +08:00
import store from './store/index'
2019-11-28 18:23:49 +08:00
import App from './App'
import router from './router'
import VueResource from 'vue-resource'
2021-03-19 18:52:19 +08:00
import axios from 'axios'
import { hasPermission, hasButton } from './permission'
2022-03-31 13:31:23 +08:00
import loadsh from 'lodash'
import plTable from 'pl-table'
import 'pl-table/themes/index.css'
2021-03-19 18:52:19 +08:00
import { post, get, put, del } from './http.js'
import { clickoutside, bottomBoxWindow, stringTimeParseToUnix, unixTimeParseToString, chartResizeTool, tableSet, cancelWithChange, myLoading } from './components/common/js/tools.js'
2021-03-19 18:52:19 +08:00
import * as tools from './components/common/js/tools.js'
import * as constants from './components/common/js/constants.js'
2021-03-19 18:52:19 +08:00
import Pagination from './components/common/pagination' // 引入全局分页组件
import searchInput from './components/common/searchInput' // 搜索框组件
import elementSet from './components/common/elementSet' // 自定义表头组件
2021-09-27 14:46:08 +08:00
import MyElSelect from './components/common/elSelect/MyElSelect'
2021-12-13 17:07:41 +08:00
import chartList from '@/components/chart/chartList.vue' // 全局引入 chartList 组件 防止 chart-group爆粗
import loading from '@/components/common/loading'
import pickTime from '@/components/common/pickTime'
import myDatePicker from '@/components/common/myDatePicker'
import vSelectPage from '@/components/common/v-selectpagenew'
import nzDataList from '@/components/common/table/nzDataList'
2022-04-08 11:26:17 +08:00
import htmlToPdf from '@/components/common/js/htmlToPdf'
2022-04-20 16:57:14 +08:00
import mainMixin from '@/components/common/mixin/mainMixinFun'
2022-04-20 10:26:10 +08:00
2022-04-08 11:26:17 +08:00
Vue.use(htmlToPdf)
Vue.use(vSelectPage, {
dataLoad: function (vue, url, params) {
if (params.pageNumber) {
params.pageNo = params.pageNumber
}
return new Promise((resolve, reject) => {
get(url, params).then(res => {
resolve(res)
}, e => reject(e))
})
}
})
Vue.use(myDatePicker)
2021-03-19 18:52:19 +08:00
Vue.component('Pagination', Pagination)
Vue.component('searchInput', searchInput)
Vue.component('element-set', elementSet)
Vue.component('loading', loading)
Vue.component('pick-time', pickTime)
Vue.component('myDatePicker', myDatePicker)
Vue.component('nzDataList', nzDataList)
2021-12-13 17:07:41 +08:00
Vue.component('chartList', chartList)
2019-12-16 17:14:58 +08:00
2021-03-19 18:52:19 +08:00
Vue.prototype.$axios = axios
Vue.prototype.$post = post
Vue.prototype.$get = get
Vue.prototype.$put = put
Vue.prototype.$delete = del
2022-03-31 13:31:23 +08:00
Vue.prototype.$loadsh = loadsh
2021-03-19 18:52:19 +08:00
Vue.prototype.$CONSTANTS = constants
Vue.prototype.$TOOLS = tools
Vue.prototype.$bottomBoxWindow = bottomBoxWindow // 底部上滑框控制
Vue.prototype.$stringTimeParseToUnix = stringTimeParseToUnix
Vue.prototype.$unixTimeParseToString = unixTimeParseToString
Vue.prototype.$chartResizeTool = chartResizeTool
Vue.prototype.$tableSet = tableSet
Vue.prototype.$tableHeight = { // 列表页表格的高度
normal: 'calc(100% - 48px)', // 常规高度,特例在下方定义
2021-08-29 21:35:04 +08:00
assetList: 'calc(100% - 57px)',
profile: 'calc(100% - 78px)',
2021-03-19 18:52:19 +08:00
openSubList: { // 打开二级列表后的高度
mainList: 'calc(100% - 60px)',
2021-08-29 21:35:04 +08:00
subList: 'calc(100% - 25px)',
subListFromAsset: 'calc(100% - 45px)',
toTopBtnTop: 'calc(50% - 11px)'
},
toTopBtnTop: 'calc(100% - 73px)',
2021-03-19 18:52:19 +08:00
noPagination: 'calc(100% - 60px)' // 特例:没有翻页组件
}
2019-11-28 18:23:49 +08:00
2020-10-16 19:26:50 +08:00
Vue.mixin({
2021-03-19 18:52:19 +08:00
data: function () {
2020-12-21 11:51:58 +08:00
return {
2021-03-19 18:52:19 +08:00
prevent_opt: {
save: false,
import: false,
duplicate: false,
2021-03-19 18:52:19 +08:00
delete: false,
refresh: false,
query: false
2021-11-01 17:23:01 +08:00
}
2020-12-21 11:51:58 +08:00
}
},
2020-12-17 11:07:57 +08:00
computed: {
timeFormatMain () {
return this.$store.getters.getTimeFormatMain
},
2021-03-19 18:52:19 +08:00
getMenuList () {
return this.$store.state.user.menuList
2020-12-17 11:07:57 +08:00
},
2021-03-19 18:52:19 +08:00
getButtonList () {
return this.$store.state.buttonList
},
2021-11-01 17:23:01 +08:00
$routePath () {
return this.$route.path
2020-12-17 11:07:57 +08:00
}
2022-04-20 16:57:14 +08:00
},
...mainMixin
2021-03-19 18:52:19 +08:00
})
2020-10-16 19:26:50 +08:00
2021-03-19 18:52:19 +08:00
Vue.config.productionTip = false
Vue.use(ElementUI)
Vue.use(Vuex)
Vue.use(VueResource)
Vue.use(plTable)
2021-09-27 14:46:08 +08:00
Vue.component('el-select', MyElSelect)
2021-03-19 18:52:19 +08:00
Vue.use(hasPermission)
2021-03-19 18:52:19 +08:00
/* 指令 */
Vue.directive('cancel', cancelWithChange)
Vue.directive('clickoutside', clickoutside)
Vue.directive('myLoading', myLoading)
2021-03-19 18:52:19 +08:00
window.resizing = false
window.vm = new Vue({
2019-11-28 18:23:49 +08:00
el: '#app',
router,
i18n,
store,
2021-03-19 18:52:19 +08:00
components: { App },
2020-12-04 20:53:58 +08:00
template: '<App/>',
2021-03-19 18:52:19 +08:00
mounted () {
// store.commit()
2020-12-04 20:53:58 +08:00
}
2021-03-19 18:52:19 +08:00
})
2021-03-19 18:52:19 +08:00
export default window.vm
2021-04-22 18:03:56 +08:00
const orignalSetItem = localStorage.setItem
localStorage.setItem = function (key, value) {
const setItemEvent = new Event('setItemEvent')
setItemEvent.key = key
setItemEvent.value = value
window.dispatchEvent(setItemEvent)
orignalSetItem.apply(this, arguments)
}
/* 重写组件内容 */
2021-03-19 18:52:19 +08:00
/* const elUi = require("element-ui");
const pl = require("pl-table");
//去掉el-table表头右侧的滚动条预留空间
elUi.Table.components.TableHeader.computed.hasGutter = () => {return false;};
2021-03-19 18:52:19 +08:00
pl.PlTable.components.ElTable.components.TableHeader.computed.hasGutter = () => {return false;}; */