2021-04-07 09:58:34 +08:00
|
|
|
// import '@/assets/stylus/index.scss'
|
2021-03-19 18:52:19 +08:00
|
|
|
import 'element-ui/lib/theme-chalk/index.css'
|
2019-12-26 17:28:04 +08:00
|
|
|
import 'xterm/dist/xterm.css'
|
2021-04-07 09:58:34 +08:00
|
|
|
import '@/assets/stylus/main.scss'
|
|
|
|
|
import '@/assets/css/main.scss'
|
|
|
|
|
import ElementUI from 'element-ui'
|
2019-12-02 16:16:26 +08:00
|
|
|
import i18n from './components/common/i18n'
|
2019-11-29 15:00:26 +08:00
|
|
|
|
2019-11-28 18:23:49 +08:00
|
|
|
import Vue from 'vue'
|
2019-12-05 16:48:23 +08:00
|
|
|
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'
|
2020-01-08 22:19:46 +08:00
|
|
|
import VueResource from 'vue-resource'
|
2021-03-19 18:52:19 +08:00
|
|
|
import axios from 'axios'
|
|
|
|
|
import { hasPermission, hasButton } from './permission'
|
2020-04-15 22:01:56 +08:00
|
|
|
|
|
|
|
|
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 } from './components/common/js/tools.js'
|
|
|
|
|
import * as tools from './components/common/js/tools.js'
|
2020-07-15 20:43:19 +08:00
|
|
|
import * as constants from './components/common/js/constants.js'
|
2019-12-02 16:16:26 +08:00
|
|
|
|
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' // 自定义表头组件
|
2020-04-15 22:01:56 +08:00
|
|
|
|
2021-04-08 20:28:54 +08:00
|
|
|
import loading from '@/components/common/loading'
|
|
|
|
|
import pickTime from '@/components/common/pickTime'
|
|
|
|
|
import bus from '@/libs/bus'
|
2020-01-08 22:19:46 +08:00
|
|
|
|
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)
|
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
|
|
|
|
|
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 = { // 列表页表格的高度
|
2021-04-07 09:58:34 +08:00
|
|
|
normal: 'calc(100% - 48px)', // 常规高度,特例在下方定义
|
2021-03-19 18:52:19 +08:00
|
|
|
openSubList: { // 打开二级列表后的高度
|
2020-03-18 16:00:06 +08:00
|
|
|
mainList: 'calc(100% - 60px)',
|
2020-04-21 18:00:21 +08:00
|
|
|
subList: 'calc(100% - 86px)',
|
|
|
|
|
toTopBtnTop: 'calc(50% - 11px)'
|
2020-03-18 16:00:06 +08:00
|
|
|
},
|
2020-04-21 18:00:21 +08:00
|
|
|
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,
|
|
|
|
|
dumplicate: false,
|
|
|
|
|
delete: false,
|
|
|
|
|
refresh: false,
|
|
|
|
|
query: false
|
2020-12-21 11:51:58 +08:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
2020-12-17 11:07:57 +08:00
|
|
|
methods: {
|
2021-03-19 18:52:19 +08:00
|
|
|
utcTimeToTimezone: function (time) {
|
|
|
|
|
if (time) {
|
2020-12-17 11:07:57 +08:00
|
|
|
return bus.UTCTimeToConfigTimezone(time)
|
2020-12-04 20:53:58 +08:00
|
|
|
}
|
|
|
|
|
},
|
2021-03-19 18:52:19 +08:00
|
|
|
utcTimeToTimezoneStr: function (time, format = 'yyyy-MM-dd hh:mm:ss') {
|
|
|
|
|
if (time) {
|
|
|
|
|
return bus.timeFormate(bus.UTCTimeToConfigTimezone(time), format)
|
|
|
|
|
} else {
|
2020-12-17 11:07:57 +08:00
|
|
|
return '-'
|
2020-12-04 20:53:58 +08:00
|
|
|
}
|
2020-12-17 11:07:57 +08:00
|
|
|
},
|
2021-03-19 18:52:19 +08:00
|
|
|
timezoneToUtcTime: function (time) {
|
|
|
|
|
if (time) {
|
2020-12-17 11:07:57 +08:00
|
|
|
return bus.configTimezoneToUTCTime(time)
|
|
|
|
|
}
|
|
|
|
|
},
|
2021-03-19 18:52:19 +08:00
|
|
|
timezoneToUtcTimeStr: function (time, format = 'yyyy-MM-dd hh:mm:ss') {
|
|
|
|
|
if (time) {
|
|
|
|
|
return bus.timeFormate(this.timezoneToUtcTime(time), format)
|
2020-12-17 11:07:57 +08:00
|
|
|
}
|
|
|
|
|
},
|
2021-03-19 18:52:19 +08:00
|
|
|
hasButton (code) {
|
|
|
|
|
return hasButton(this.$store.getters.buttonList, code)
|
2020-12-17 11:07:57 +08:00
|
|
|
},
|
2021-03-19 18:52:19 +08:00
|
|
|
numberWithEConvent (num) {
|
2020-12-24 18:45:12 +08:00
|
|
|
if (num) {
|
2021-03-19 18:52:19 +08:00
|
|
|
if ((('' + num).indexOf('E') !== -1) || (('' + num).indexOf('e') !== -1)) {
|
|
|
|
|
const regExp = /'^((\\d+.?\\d+)[Ee]{1}(\\d+))$', 'ig'/
|
|
|
|
|
let result = regExp.exec(num)
|
|
|
|
|
let resultValue = ''
|
|
|
|
|
let power
|
2020-12-24 18:45:12 +08:00
|
|
|
if (result != null) {
|
2021-03-19 18:52:19 +08:00
|
|
|
resultValue = result[2]
|
|
|
|
|
power = result[3]
|
|
|
|
|
result = regExp.exec(num)
|
2020-12-24 18:45:12 +08:00
|
|
|
}
|
|
|
|
|
|
2021-03-19 18:52:19 +08:00
|
|
|
if (resultValue) {
|
|
|
|
|
if (power) {
|
|
|
|
|
const powVer = Math.pow(10, power)
|
|
|
|
|
resultValue = resultValue * powVer
|
|
|
|
|
return resultValue
|
2020-12-24 18:45:12 +08:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
} else {
|
2021-03-19 18:52:19 +08:00
|
|
|
return num
|
2020-12-24 18:45:12 +08:00
|
|
|
}
|
|
|
|
|
}
|
2021-03-19 18:52:19 +08:00
|
|
|
return 0
|
2020-12-24 18:45:12 +08:00
|
|
|
},
|
2021-03-19 18:52:19 +08:00
|
|
|
translation (key) {
|
|
|
|
|
return i18n.t(key)
|
2021-03-05 20:34:58 +08:00
|
|
|
},
|
2021-03-19 18:52:19 +08:00
|
|
|
copyRow (row, rightBoxValKey, idKey = 'id', show = false, format, callback) {
|
2021-03-12 18:04:17 +08:00
|
|
|
/*
|
|
|
|
|
row 表格当前行
|
|
|
|
|
rightBoxValKey 右侧弹窗绑定的 data
|
|
|
|
|
idKey 当前数据的唯一标识
|
|
|
|
|
show 打开对应的弹窗 函数
|
|
|
|
|
format 是否需要对当前行进行处理
|
|
|
|
|
callBack 回调
|
|
|
|
|
*/
|
2021-03-19 18:52:19 +08:00
|
|
|
let rowCopy = { ...row }
|
|
|
|
|
if (rowCopy.name) {
|
|
|
|
|
rowCopy.name = 'Copy from ' + rowCopy.name
|
2021-03-18 13:58:55 +08:00
|
|
|
}
|
2021-03-19 18:52:19 +08:00
|
|
|
if (format) {
|
|
|
|
|
rowCopy = format(rowCopy)
|
2021-03-12 18:04:17 +08:00
|
|
|
}
|
2021-03-19 18:52:19 +08:00
|
|
|
delete rowCopy[idKey]
|
|
|
|
|
this[rightBoxValKey] = rowCopy
|
|
|
|
|
if (typeof show === 'function') {
|
2021-03-12 18:04:17 +08:00
|
|
|
show()
|
2021-03-19 18:52:19 +08:00
|
|
|
} else if (typeof show === 'string') {
|
|
|
|
|
this[show] = true
|
|
|
|
|
} else {
|
|
|
|
|
this.rightBox.show = true
|
2021-03-12 18:04:17 +08:00
|
|
|
}
|
2021-03-19 18:52:19 +08:00
|
|
|
if (callback) {
|
2021-03-12 18:04:17 +08:00
|
|
|
callback()
|
|
|
|
|
}
|
2021-03-19 18:52:19 +08:00
|
|
|
}
|
2020-12-17 11:07:57 +08:00
|
|
|
},
|
|
|
|
|
computed: {
|
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
|
2020-12-17 11:07:57 +08:00
|
|
|
}
|
|
|
|
|
}
|
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)
|
|
|
|
|
Vue.use(hasPermission)
|
2019-12-04 13:45:37 +08:00
|
|
|
|
2021-03-19 18:52:19 +08:00
|
|
|
/* 指令 */
|
|
|
|
|
Vue.directive('cancel', cancelWithChange)
|
|
|
|
|
Vue.directive('clickoutside', clickoutside)
|
|
|
|
|
window.resizing = false
|
2019-12-26 17:28:04 +08:00
|
|
|
window.vm = new Vue({
|
2019-11-28 18:23:49 +08:00
|
|
|
el: '#app',
|
|
|
|
|
router,
|
2019-12-02 16:16:26 +08:00
|
|
|
i18n,
|
2019-12-05 16:48:23 +08:00
|
|
|
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
|
|
|
})
|
2019-12-12 17:07:33 +08:00
|
|
|
|
2021-03-19 18:52:19 +08:00
|
|
|
export default window.vm
|
2020-03-19 20:44:14 +08:00
|
|
|
|
|
|
|
|
/* 重写组件内容 */
|
2021-03-19 18:52:19 +08:00
|
|
|
/* const elUi = require("element-ui");
|
2020-04-15 22:01:56 +08:00
|
|
|
const pl = require("pl-table");
|
2020-03-20 21:05:31 +08:00
|
|
|
//去掉el-table表头右侧的滚动条预留空间
|
2020-03-19 20:44:14 +08:00
|
|
|
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;}; */
|