main.js
4.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
import Vue from 'vue'
import _ from 'lodash'
import App from './App.vue'
import router from './router'
import store from './store'
import ElementUI from 'element-ui'
import '@/plugins/hotent'
import '@/plugins/vant'
import '@/plugins/echarts'
import i18n from '@/locale/index.js'
import '@/assets/css/element-custom.scss'
import '@/directive.js'
import HtSubmitButton from '@/components/common/HtSubmitButton.vue'
import HtDeleteButton from '@/components/common/HtDeleteButton.vue'
import HtLoadData from '@/components/common/HtLoadData.vue'
import VueUeditorWrap from 'vue-ueditor-wrap' //引入富文本组件
import VueCodeMirror from 'vue-codemirror'
import 'codemirror/lib/codemirror.css'
import 'codemirror/theme/base16-light.css'
import 'codemirror/mode/vue/vue'
import 'codemirror/mode/javascript/javascript'
import 'codemirror/mode/groovy/groovy'
import req from '@/request.js'
import 'jquery'
import deepmerge from 'deepmerge'
import validate from '@/validate.js'
import dict from '@/locale/validate/dict.js'
import VueAMap from 'vue-amap' //高德地图插件
import VueClipboard from 'vue-clipboard2' //复制内容到剪贴板
import 'moment/locale/zh-cn'
import dataV from '@jiaminghi/data-view'
import fullscreen from 'vue-fullscreen'
//引入echart
import VueDND from 'awe-dnd'
//自定义标题组件
import CustomTitle from '@/components/common/CustomTitle.vue'
//自定义图标
import '@/customIcon/index'
import '@/assets/css/mobile.scss'
import HtMonacoEditor from '@/components/common/HtMonacoEditor.vue'
import htProcessForecast from '@/components/form/processForecast.vue'
import HtKanban from '@/components/form/dataTemplate/HtKanban.vue'
Vue.directive(
'alterELDialogMarginTop' /*修改elementUI中el-dialog顶部的距离,传入值eg:{marginTop:'5vh'} */,
{
inserted(el, binding, vnode) {
el.firstElementChild.style.marginTop = binding.value.marginTop
},
}
)
// 全局修改默认配置,按下ESC不能关闭弹窗
ElementUI.Dialog.props.closeOnPressEscape.default = false
Vue.config.productionTip = false
Vue.prototype.$http = req
/* 全局TableHeight */
Vue.prototype.$baseTableHeight = (adjustHeight) => {
let height = window.innerHeight
let paddingHeight = 270
if ('number' == typeof adjustHeight) {
height = height - paddingHeight + adjustHeight
} else {
height = height - paddingHeight
}
return height
}
Vue.use(ElementUI, {
i18n: (key, value) => i18n.t(key, value),
size: 'small',
})
//使用vue-codemirror组件
Vue.use(VueCodeMirror)
Vue.use(VueAMap)
Vue.use(VueClipboard)
Vue.use(dataV)
Vue.use(fullscreen)
Vue.use(VueDND)
// 注册全局组件
Vue.component('HtSubmitButton', HtSubmitButton)
Vue.component('HtDeleteButton', HtDeleteButton)
Vue.component('HtLoadData', HtLoadData)
Vue.component('vue-ueditor-wrap', VueUeditorWrap)
Vue.component('CustomTitle', CustomTitle)
Vue.component('HtMonacoEditor', HtMonacoEditor)
Vue.component('htProcessForecast', htProcessForecast)
Vue.component('HtKanban', HtKanban)
let app = new Vue({
router,
store,
i18n,
render: (h) => h(App),
}).$mount('#app')
export default app
let validateLocal = localStorage.getItem('lang')
let currentLocal = validateLocal || 'zh-CN'
app && app.$validator && app.$validator.localize(currentLocal)
Vue.prototype.$td = function (key, defaultMessage) {
if (!key) {
return defaultMessage
}
let result = i18n._t.apply(i18n, [
key,
i18n.locale,
i18n._getMessages(),
this,
])
return result === key && defaultMessage ? defaultMessage : result
}
Vue.prototype.$checkRight = function (row, right) {
if (!row || !row.resourceRight || row.resourceRight.length == 0) {
return false
}
return row.resourceRight.indexOf(right) > -1
}
Vue.prototype.$addRightMarkIntoFilter = function (filter) {
filter = filter || {}
filter.params = filter.params || {}
filter.params.manage = true
}
if (app.$validator) {
for (let rule in validate) {
app.$validator.rules[rule] = validate[rule]
}
app.$validator.dictionary.container = deepmerge(
dict,
app.$validator.dictionary.container,
{clone: true}
)
}