main.js 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. import './public-path';
  2. import Vue from 'vue';
  3. import VueI18n from 'vue-i18n'
  4. import axios from "axios";
  5. // import "sv-print/dist/style.css";
  6. import ElementUI from 'element-ui';
  7. import App from './App.vue';
  8. import router from './router';
  9. import store from './store';
  10. import api from './api/api';
  11. import tool from './utils/tool';
  12. import basicData from './utils/basic-data';
  13. import Directive from './utils/directive.js'
  14. import FileType from './utils/matchingFeilType';
  15. import upload from './api/upload';
  16. import './style/style.css'
  17. import './style/theme/index.css'
  18. import Steps from 'ant-design-vue/lib/steps'
  19. import Table from 'ant-design-vue/lib/table'
  20. import tableLayout from './components/dynamic-table'
  21. import tableNewLayout from './components/dynamic-newTable'
  22. import basicLayout from './components/normal-basic-layout'
  23. import tableMainLayout from './template/tableMainLayout'
  24. import tableDetail from './components/dynamic-table-detail'
  25. import tableDetailLayout from './template/tableDetailLayout'
  26. import normalLayout from './components/normal-basic-layout/normal.vue'
  27. import basicDetails from './components/normal-basic-layout/details'
  28. import deleteBtn from './components/delete_btn/index'
  29. import customBtn from './components/customBtn/index'
  30. import tagPanl from '@/components/tagPanl/tagPanl'
  31. import selectTemp from '@/components/selectTemp/index';
  32. import sort from './components/sort';
  33. import '@/style/theme/font-icon/iconfont.css';
  34. import {messages} from './locales/lang.json';
  35. Vue.use(Steps)
  36. Vue.use(Table)
  37. // import {hiPrintPlugin} from './index'
  38. // Vue.use(hiPrintPlugin)
  39. Vue.prototype.$api = api
  40. console.log(process.env)
  41. Vue.prototype.$upload = upload
  42. Vue.prototype.tool = tool
  43. Vue.prototype.basicData = basicData
  44. Vue.prototype.fileType = FileType
  45. axios.defaults.timeout = 60 * 1000
  46. axios.defaults.baseURL = tool.getBaseUrl()
  47. Vue.prototype.$axios = axios
  48. Vue.use(Directive)
  49. Vue.prototype.tableHieght = 'calc(100vh - 302px)'
  50. Vue.config.productionTip = false;
  51. Vue.component('tableLayout', tableLayout)
  52. Vue.component('tableNewLayout',tableNewLayout)
  53. Vue.component('tableMainLayout',tableMainLayout)
  54. Vue.component('tableDetailLayout',tableDetailLayout)
  55. Vue.component('tableDetail',tableDetail)
  56. Vue.component('basicLayout', basicLayout)
  57. Vue.component('basicDetails', basicDetails)
  58. Vue.component('normalLayout', normalLayout)
  59. Vue.component('deleteBtn',deleteBtn)
  60. Vue.component('customBtn',customBtn)
  61. Vue.component('selectTemp',selectTemp)
  62. Vue.component('sort', sort)
  63. /* 标签组件 */
  64. Vue.component('tagPanl',tagPanl)
  65. Vue.use(ElementUI);
  66. Vue.use(VueI18n)
  67. ElementUI.TableColumn.props.showOverflowTooltip ={type:Boolean, default: true}
  68. ElementUI.Dialog.props.closeOnClickModal.default = false;
  69. ElementUI.Drawer.props.showClose.default = false;
  70. Vue.config.lang = 'ZH'
  71. /* table懒加载 */
  72. // Vue.directive('tableLoad',{
  73. // bind (el,binding) {
  74. // let tableWarp = el.querySelector('.el-table__body-wrapper')
  75. // function handleFun (e) {
  76. // if (store.state.loading) return
  77. // if (tableWarp.scrollTop + tableWarp.clientHeight == tableWarp.scrollHeight) {
  78. // binding.value()
  79. // }
  80. // }
  81. // tableWarp.addEventListener('scroll',handleFun)
  82. // el.tableWarp = tableWarp
  83. // el.handleFun = handleFun
  84. // },
  85. // unbind (el,binding) {
  86. // /* 解绑 */
  87. // el.tableWarp.removeEventListener('scroll',el.handleFun)
  88. // }
  89. // })
  90. new Vue({
  91. router,
  92. store,
  93. render: (h) => h(App),
  94. }).$mount('#app');