main.js 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. import Vue from 'vue'
  2. import App from '@/App'
  3. import router from '@/router'
  4. import store from '@/store'
  5. import VueCookie from 'vue-cookie'
  6. import ElementUI from 'element-ui'
  7. import 'element-ui/lib/theme-chalk/index.css'
  8. import '@/assets/scss/index.scss'
  9. import httpRequest from '@/utils/httpRequest'
  10. import dictUtils from '@/utils/dictUtils'
  11. import utils from '@/utils'
  12. import '@/utils/filter'
  13. import validator from '@/utils/validator'
  14. import cloneDeep from 'lodash/cloneDeep'
  15. import lodash from 'lodash/object'
  16. import axios from 'axios'
  17. import moment from 'moment'
  18. import 'font-awesome/css/font-awesome.min.css'
  19. // import i18n from './lang' // Internationalization
  20. import VueClipboard from 'vue-clipboard2'
  21. import VCharts from 'v-charts'
  22. import JeeplusGencode from 'jeeplus-gencode'
  23. import JeeplusFlow from 'jeeplus-flowable'
  24. import 'jeeplus-flowable/lib/jeeplus-flowable.css'
  25. import './directive'
  26. import FormMaking from 'jeeplus-form/dist/JpFormMaking.common'
  27. import 'jeeplus-form/dist/JpFormMaking.css'
  28. import VueEditor from 'vue2-editor'
  29. import Print from 'vue-print-nb'
  30. import XEUtils from 'xe-utils'
  31. import VXETablePluginExportXLSX from 'vxe-table-plugin-export-xlsx'
  32. // 按需导入 vxeTable
  33. import {
  34. // 核心
  35. VXETable,
  36. // 功能模块
  37. Icon,
  38. Filter,
  39. Menu,
  40. Edit,
  41. Export,
  42. Keyboard,
  43. Validator,
  44. Header,
  45. Footer,
  46. // 可选组件
  47. Column,
  48. Colgroup,
  49. Grid,
  50. Toolbar,
  51. Pager,
  52. Checkbox,
  53. CheckboxGroup,
  54. Radio,
  55. RadioGroup,
  56. RadioButton,
  57. Input,
  58. Textarea,
  59. Button,
  60. Modal,
  61. Tooltip,
  62. Form,
  63. FormItem,
  64. FormGather,
  65. Select,
  66. Optgroup,
  67. Option,
  68. Switch,
  69. List,
  70. Pulldown,
  71. // 表格
  72. Table
  73. } from 'vxe-table'
  74. import zhCN from 'vxe-table/lib/locale/lang/zh-CN'
  75. // 按需加载的方式默认是不带国际化的,自定义国际化需要自行解析占位符 '{0}',例如:
  76. VXETable.setup({
  77. i18n: (key, args) => XEUtils.toFormatString(XEUtils.get(zhCN, key), args)
  78. })
  79. VXETable.use(VXETablePluginExportXLSX)
  80. // 表格功能
  81. Vue.use(Header)
  82. .use(Footer)
  83. .use(Icon)
  84. .use(Filter)
  85. .use(Edit)
  86. .use(Menu)
  87. .use(Export)
  88. .use(Keyboard)
  89. .use(Validator)
  90. // 可选组件
  91. .use(Column)
  92. .use(Colgroup)
  93. .use(Grid)
  94. .use(Toolbar)
  95. .use(Pager)
  96. .use(Checkbox)
  97. .use(CheckboxGroup)
  98. .use(Radio)
  99. .use(RadioGroup)
  100. .use(RadioButton)
  101. .use(Input)
  102. .use(Textarea)
  103. .use(Button)
  104. .use(Modal)
  105. .use(Tooltip)
  106. .use(Form)
  107. .use(FormItem)
  108. .use(FormGather)
  109. .use(Select)
  110. .use(Optgroup)
  111. .use(Option)
  112. .use(Switch)
  113. .use(List)
  114. .use(Pulldown)
  115. // 安装表格
  116. .use(Table)
  117. Vue.use(Print)
  118. Vue.use(VueEditor)
  119. Vue.use(FormMaking)
  120. Vue.use(JeeplusGencode)
  121. Vue.use(JeeplusFlow)
  122. VueClipboard.config.autoSetContainer = true
  123. Vue.use(VCharts)
  124. Vue.use(VueClipboard)
  125. Vue.use(VueCookie)
  126. Vue.use(ElementUI)
  127. // Vue.use(ElementUI, {
  128. // i18n: (key, value) => i18n.t(key, value)
  129. // })
  130. Vue.config.productionTip = false
  131. // 挂载全局
  132. Vue.prototype.$http = httpRequest // ajax请求方法
  133. Vue.prototype.hasPermission = utils.hasPermission // 权限方法
  134. Vue.prototype.treeDataTranslate = utils.treeDataTranslate // 树形数据转换
  135. Vue.prototype.$utils = utils
  136. Vue.prototype.$window = window
  137. Vue.prototype.$dictUtils = dictUtils
  138. Vue.prototype.recover = utils.recover
  139. Vue.prototype.recoverNotNull = utils.recoverNotNull
  140. Vue.prototype.$axios = axios
  141. Vue.prototype.validator = validator
  142. Vue.prototype.lodash = lodash
  143. Vue.prototype.moment = moment
  144. Vue.prototype.deepClone = utils.deepClone
  145. Vue.prototype.validatenull = utils.validatenull
  146. Vue.prototype.$events = new Vue()
  147. utils.printLogo()
  148. // 保存整站vuex本地储存初始状态
  149. window.SITE_CONFIG = {}
  150. window.SITE_CONFIG['storeState'] = cloneDeep(store.state)
  151. /* eslint-disable no-new */
  152. new Vue({
  153. el: '#app',
  154. router,
  155. store,
  156. render: h => h(App)
  157. })