main.js 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. import Vue from 'vue'
  2. import App from './App.vue'
  3. import Storage from 'vue-ls'
  4. import router from './router'
  5. import store from './store/'
  6. import {
  7. VueAxios
  8. } from "@/utils/request"
  9. import Antd from 'ant-design-vue'
  10. import Viser from 'viser-vue'
  11. import 'ant-design-vue/dist/antd.less'; // or 'ant-design-vue/dist/antd.less'
  12. import '@/permission' // permission control
  13. import '@/utils/filter' // base filter
  14. import {
  15. getAction,
  16. postFormAction,
  17. postAction
  18. } from "@/api/manage"
  19. // import Print from 'vue-print-nb-jeecg'
  20. /*import '@babel/polyfill'*/
  21. import VueApexCharts from 'vue-apexcharts'
  22. import preview from 'vue-photo-preview'
  23. import 'vue-photo-preview/dist/skin.css'
  24. import VuePreview from 'vue-preview';
  25. import promiseFinally from 'promise.prototype.finally';
  26. promiseFinally.shim();
  27. import directive from './directive'
  28. import filters from './filters'
  29. Vue.use(directive)
  30. Vue.use(filters)
  31. import md5 from 'blueimp-md5';
  32. import Print from 'vue-print-nb';
  33. // Vue.use(print)
  34. // // import KFormDesign from 'k-form-design'
  35. // import KFormDesign from 'k-form-design/lib/k-form-design-mini.umd.min'
  36. // import 'k-form-design/styles/k-form-design.less'
  37. // // import 'k-form-design/lib/k-form-design.css'
  38. // Vue.use(KFormDesign)
  39. import 'ant-design-vue/dist/antd.less';
  40. import '@/styles/index.less'
  41. import VueLazyload from 'vue-lazyload'
  42. Vue.use(VueLazyload, {
  43. preLoad: 1,
  44. loading: require('@assets/img/default.png')
  45. })
  46. Vue.prototype.$md5 = md5;
  47. import {
  48. ACCESS_TOKEN,
  49. DEFAULT_COLOR,
  50. DEFAULT_THEME,
  51. DEFAULT_LAYOUT_MODE,
  52. DEFAULT_COLOR_WEAK,
  53. SIDEBAR_TYPE,
  54. DEFAULT_FIXED_HEADER,
  55. DEFAULT_FIXED_HEADER_HIDDEN,
  56. DEFAULT_FIXED_SIDEMENU,
  57. DEFAULT_CONTENT_WIDTH_TYPE,
  58. DEFAULT_MULTI_PAGE
  59. } from "@/store/mutation-types"
  60. import config from '@/defaultSettings'
  61. import JDictSelectTag from './components/dict/index.js'
  62. import hasPermission from '@/utils/hasPermission'
  63. import vueBus from '@/utils/vueBus';
  64. import '@/components/vend-ztree.all.js'
  65. import JeecgComponents from '@/components/jeecg/index'
  66. // import iView from 'iview'
  67. import '!style-loader!css-loader!less-loader!./theme/index.less'
  68. import ElementUI from 'element-ui';
  69. import 'element-ui/lib/theme-chalk/index.css';
  70. Vue.use(ElementUI);
  71. import {
  72. getDay,
  73. allWeeks
  74. } from '@/utils/getDay.js'
  75. import * as WPS from './assets/jwps.es6'
  76. Vue.prototype.wps = WPS;
  77. import Icon from '@base/mm-icon/mm-icon'
  78. import mmToast from '@base/mm-toast'
  79. Vue.component(Icon.name, Icon)
  80. Vue.use(mmToast)
  81. Vue.prototype.$getDay = getDay
  82. Vue.prototype.allWeeks = allWeeks
  83. Vue.config.productionTip = false
  84. // Vue.use(iView)
  85. Vue.use(Storage, config.storageOptions)
  86. Vue.use(Antd)
  87. Vue.use(VueAxios, router)
  88. Vue.use(Viser)
  89. Vue.use(hasPermission)
  90. Vue.use(JDictSelectTag)
  91. Vue.use(Print)
  92. Vue.use(VueApexCharts)
  93. Vue.component('apexchart', VueApexCharts)
  94. Vue.use(preview)
  95. Vue.use(vueBus);
  96. Vue.use(JeecgComponents);
  97. Vue.use(VuePreview);
  98. Vue.prototype.doMian = "http://139.186.31.213:8804/jeecg-boot";
  99. Vue.prototype.postFormAction = postFormAction;
  100. Vue.prototype.postDataAction = postAction;
  101. Vue.prototype.getAction = getAction;
  102. Vue.prototype.cancel = function () {
  103. let cancelArr = window.axiosCancel
  104. cancelArr = cancelArr || [] //判断空值
  105. cancelArr.forEach((ele, index) => {
  106. ele.cancel('取消了请求') // 在失败函数中返回这里自定义的错误信息
  107. delete window.axiosCancel[index]
  108. })
  109. }
  110. Vue.prototype.allMoney = function (num, n) {
  111. n = n || 2;
  112. let symbol = ",";
  113. if (num === null) return num;
  114. if (typeof num !== "number")
  115. throw new TypeError("num参数应该是一个number类型");
  116. if (n < 0) throw new Error("参数n不应该小于0");
  117. let hasDot = parseInt(num) != num; //这里检测num是否为小数,true表示小数
  118. let m = n != undefined && n != null ? n : 1;
  119. num =
  120. m == 0
  121. ? num.toFixed(m) + "."
  122. : hasDot
  123. ? n
  124. ? num.toFixed(n)
  125. : num
  126. : num.toFixed(m);
  127. symbol = symbol || ",";
  128. num = num
  129. .toString()
  130. .replace(/(\d)(?=(\d{3})+\.)/g, function (match, p1, p2) {
  131. return p1 + symbol;
  132. });
  133. if (n == 0 || (!hasDot && !n)) {
  134. //如果n为0或者传入的num是整数并且没有指定整数的保留位数,则去掉前面操作中的小数位
  135. num = num.substring(0, num.indexOf("."));
  136. }
  137. return num;
  138. }
  139. new Vue({
  140. router,
  141. store,
  142. mounted() {
  143. store.commit('SET_SIDEBAR_TYPE', Vue.ls.get(SIDEBAR_TYPE, true))
  144. store.commit('TOGGLE_THEME', Vue.ls.get(DEFAULT_THEME, config.navTheme))
  145. store.commit('TOGGLE_LAYOUT_MODE', Vue.ls.get(DEFAULT_LAYOUT_MODE, config.layout))
  146. store.commit('TOGGLE_FIXED_HEADER', Vue.ls.get(DEFAULT_FIXED_HEADER, config.fixedHeader))
  147. store.commit('TOGGLE_FIXED_SIDERBAR', Vue.ls.get(DEFAULT_FIXED_SIDEMENU, config.fixSiderbar))
  148. store.commit('TOGGLE_CONTENT_WIDTH', Vue.ls.get(DEFAULT_CONTENT_WIDTH_TYPE, config.contentWidth))
  149. store.commit('TOGGLE_FIXED_HEADER_HIDDEN', Vue.ls.get(DEFAULT_FIXED_HEADER_HIDDEN, config.autoHideHeader))
  150. store.commit('TOGGLE_WEAK', Vue.ls.get(DEFAULT_COLOR_WEAK, config.colorWeak))
  151. store.commit('TOGGLE_COLOR', Vue.ls.get(DEFAULT_COLOR, config.primaryColor))
  152. store.commit('SET_TOKEN', Vue.ls.get(ACCESS_TOKEN))
  153. store.commit('SET_MULTI_PAGE', Vue.ls.get(DEFAULT_MULTI_PAGE, true))
  154. },
  155. render: h => h(App)
  156. }).$mount('#app')