main.js 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223
  1. //全局随机数重写
  2. const random = Math.random;
  3. Math.random = (a = 0, b = 1, c = 6) => {
  4. return (random() * (b - a) + a).toFixed(c) - 0;
  5. };
  6. import Vue from 'vue';
  7. //全局文件访问地址
  8. Vue.prototype.$fileServer = '/htdata';
  9. //全局文件上传地址
  10. Vue.prototype.$fileUpServer = '/htdata';
  11. //管理数据状态
  12. import store from './script/store';
  13. Vue.prototype.$store = store;
  14. //ui框架
  15. import {
  16. Pagination,
  17. Dialog, //对话框,弹窗
  18. // Autocomplete,
  19. Dropdown,
  20. DropdownMenu,
  21. DropdownItem,
  22. Menu, //菜单
  23. Submenu, //子菜单
  24. MenuItem, //菜单项
  25. // MenuItemGroup,
  26. Input, //输入框
  27. // InputNumber,
  28. Radio,
  29. RadioGroup,
  30. // RadioButton,
  31. Checkbox,//复选框
  32. // CheckboxButton,
  33. CheckboxGroup,//复选框组
  34. Switch,//开关
  35. Select,
  36. Option,
  37. // OptionGroup,
  38. Button, //按钮
  39. // ButtonGroup,
  40. Table, //表格
  41. TableColumn, //表格
  42. DatePicker,
  43. // TimeSelect,
  44. // TimePicker,
  45. Popover, //吸附弹框
  46. Tooltip, //文字提示
  47. // Breadcrumb,
  48. // BreadcrumbItem,
  49. Form,
  50. FormItem,
  51. Tabs,
  52. TabPane,
  53. Tag,//标签
  54. Tree,
  55. Alert,//警告提示
  56. // Slider,
  57. // Icon,
  58. Row, //布局
  59. Col, //布局
  60. Upload, //上传
  61. // Progress,
  62. // Spinner,
  63. // Badge,
  64. Card,//卡片
  65. // Rate,
  66. Steps,
  67. Step,
  68. // Carousel,
  69. // CarouselItem,
  70. Collapse, //折叠面板
  71. CollapseItem, //折叠项
  72. Cascader,
  73. ColorPicker,//颜色选择器
  74. // Transfer,
  75. Container, //布局
  76. Header, //头
  77. // Aside,
  78. Main, //内容
  79. Footer, //脚部
  80. // Timeline,
  81. // TimelineItem,
  82. Link,
  83. Divider, //分割线
  84. Image, //图片
  85. // Calendar,
  86. // Backtop,
  87. // CascaderPanel,
  88. Loading, //加载
  89. MessageBox, //消息盒子
  90. Message, //顶部消息弹框
  91. Notification, //消息通知
  92. InfiniteScroll, //上拉自动加载
  93. PageHeader, //页头
  94. Drawer, //抽屉
  95. } from 'element-ui';
  96. Vue.use(Pagination);
  97. Vue.use(Dialog);
  98. // Vue.use(Autocomplete);
  99. Vue.use(Dropdown);
  100. Vue.use(DropdownMenu);
  101. Vue.use(DropdownItem);
  102. Vue.use(Menu);
  103. Vue.use(Submenu);
  104. Vue.use(MenuItem);
  105. // Vue.use(MenuItemGroup);
  106. Vue.use(Input);
  107. // Vue.use(InputNumber);
  108. Vue.use(Radio);
  109. Vue.use(RadioGroup);
  110. // Vue.use(RadioButton);
  111. Vue.use(Checkbox);
  112. // Vue.use(CheckboxButton);
  113. Vue.use(CheckboxGroup);
  114. Vue.use(Switch);
  115. Vue.use(Select);
  116. Vue.use(Option);
  117. // Vue.use(OptionGroup);
  118. Vue.use(Button);
  119. // Vue.use(ButtonGroup);
  120. Vue.use(Table);
  121. Vue.use(TableColumn);
  122. Vue.use(DatePicker);
  123. // Vue.use(TimeSelect);
  124. // Vue.use(TimePicker);
  125. Vue.use(Popover);
  126. Vue.use(Tooltip);
  127. // Vue.use(Breadcrumb);
  128. // Vue.use(BreadcrumbItem);
  129. Vue.use(Form);
  130. Vue.use(FormItem);
  131. Vue.use(Tabs);
  132. Vue.use(TabPane);
  133. Vue.use(Tag);
  134. Vue.use(Tree);
  135. Vue.use(Alert);
  136. // Vue.use(Slider);
  137. // Vue.use(Icon);
  138. Vue.use(Row);
  139. Vue.use(Col);
  140. Vue.use(Upload);
  141. // Vue.use(Progress);
  142. // Vue.use(Spinner);
  143. // Vue.use(Badge);
  144. Vue.use(Card);
  145. // Vue.use(Rate);
  146. Vue.use(Steps);
  147. Vue.use(Step);
  148. // Vue.use(Carousel);
  149. // Vue.use(CarouselItem);
  150. Vue.use(Collapse);
  151. Vue.use(CollapseItem);
  152. Vue.use(Cascader);
  153. Vue.use(ColorPicker);
  154. // Vue.use(Transfer);
  155. Vue.use(Container);
  156. Vue.use(Header);
  157. // Vue.use(Aside);
  158. Vue.use(Main);
  159. Vue.use(Footer);
  160. // Vue.use(Timeline);
  161. // Vue.use(TimelineItem);
  162. Vue.use(Link);
  163. Vue.use(Divider);
  164. Vue.use(Image);
  165. // Vue.use(Calendar);
  166. // Vue.use(Backtop);
  167. // Vue.use(CascaderPanel);
  168. Vue.use(InfiniteScroll);
  169. Vue.use(PageHeader);
  170. Vue.use(Drawer); //抽屉
  171. Vue.use(Loading.directive);
  172. Vue.prototype.$loading = Loading.service;
  173. Vue.prototype.$msgbox = MessageBox;
  174. Vue.prototype.$alert = MessageBox.alert;
  175. Vue.prototype.$confirm = MessageBox.confirm;
  176. Vue.prototype.$prompt = MessageBox.prompt;
  177. Vue.prototype.$notify = Notification;
  178. Vue.prototype.$message = Message;
  179. import './assets/css/main.less';
  180. //全局注册导航组件
  181. import MySubMenu from './components/mySubMenu.vue';
  182. Vue.component('MySubMenu', MySubMenu);
  183. //路由
  184. import router from './script/router';
  185. //异步
  186. import $http from './script/http';
  187. Vue.prototype.$http = $http;
  188. //接口
  189. import $port from './api/interface';
  190. Vue.prototype.$port = $port;
  191. //防止多次触发执行 函数
  192. Vue.prototype.$timeFun = (time = 500, obj = {}) => {
  193. //obj传入加载对象 及 加载配置
  194. let o = 0,
  195. loading = {};
  196. return (fun, t) => {
  197. clearTimeout(o);
  198. typeof loading.close == 'function' && loading.close();
  199. loading = typeof obj.loading == 'function' ? obj.loading(obj.loadingConfig || {}) : {};
  200. o = setTimeout(() => {
  201. fun(loading);
  202. }, t || time);
  203. }
  204. }
  205. //数据类型检测
  206. Vue.prototype.includes = (a, b) => {
  207. const str = Object.prototype.toString.call(a);
  208. const type = str.substring(8, str.length - 1);
  209. return b ? type.includes(b) : type;
  210. };
  211. import App from './App.vue';
  212. new Vue({
  213. router,
  214. render: h => h(App)
  215. }).$mount('#app');