main.js 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739
  1. // The Vue build version to load with the `import` command
  2. // (runtime-only or standalone) has been set in webpack.base.conf with an alias.
  3. import iviewArea from 'iview-area'
  4. import Vue from 'vue'
  5. import App from './App'
  6. import router from './router'
  7. import store from './store'
  8. import iView from 'view-design'
  9. import i18n from '@/locale'
  10. import config from '@/config'
  11. import baseMethod from '@/api/base-method'
  12. import importDirective from '@/directive'
  13. import {directive as clickOutside} from 'v-click-outside-x'
  14. import installPlugin from '@/plugin'
  15. import './libs/base/prototype'
  16. import Loading from '_c/loading'
  17. import '@/assets/al-icon/iconfont.css'
  18. import '@/assets/al-icon/iconfont.js'
  19. import 'viewerjs/dist/viewer.css'
  20. import '@/libs/tools/date-tools'
  21. import '@/libs/tools/array-tools'
  22. import '@/libs/tools/string-tools'
  23. import '@/libs/tools/tools'
  24. import '@/libs/tools/user-tools'
  25. import 'xe-utils'
  26. import VXETable from 'vxe-table'
  27. import 'vxe-table/lib/style.css'
  28. import tools from '@/libs/tools/tools'
  29. import './index.less'
  30. import {localRead} from "@/libs/base/util";
  31. console.log('3333', localRead('fontSize'))
  32. let fontSize = localRead('fontSize');
  33. // 根据字体读取不同的字体样式文件
  34. if (fontSize === '14') {
  35. import ('./font-less/font-14.less')
  36. } else if(fontSize === '13'){
  37. import ('./font-less/font-13.less')
  38. } else {
  39. import ('./font-less/font-12.less')
  40. }
  41. // 实际打包时应该不引入mock
  42. /* eslint-disable */
  43. //iview 4.0
  44. import 'view-design/dist/styles/iview.css';
  45. /* 签名 */
  46. import vueEsign from 'vue-esign'
  47. Vue.use(vueEsign)
  48. /* 组织结构图 */
  49. import ZmTreeOrg from 'zm-tree-org'
  50. import 'zm-tree-org/lib/zm-tree-org.css'
  51. Vue.use(ZmTreeOrg)
  52. /* 饿了么 */
  53. import ElementUI from 'element-ui'
  54. import 'element-ui/lib/theme-chalk/index.css'
  55. Vue.use(ElementUI)
  56. /* 共通方法*/
  57. import libaray from '@/libs/tools/libaray'
  58. Object.defineProperty(Vue.prototype, '$libaray', {value: libaray})
  59. /* 更新列*/
  60. import updateColumns from '@/libs/update-columns/index'
  61. Object.defineProperty(Vue.prototype, '$updateColumns', {value: updateColumns})
  62. /* vxe */
  63. Vue.use(VXETable)
  64. Vue.prototype.$VXETable = VXETable
  65. VXETable.setup({
  66. // 对组件内置的提示语进行国际化翻译
  67. i18n: (key, args) => i18n.t(key, args),
  68. table: {
  69. //行的唯一键
  70. rowId: '_X_ID'
  71. }
  72. })
  73. /* 打印 */
  74. import Print from 'vue-printjs'
  75. Vue.use(Print)
  76. /* 拖动组件 */
  77. import VueDragResize from 'vue-drag-resize'
  78. Vue.component('vue-drag-resize', VueDragResize)
  79. //组织机构图
  80. import DkOrgTree from '_c/base/dk-org-tree'
  81. Vue.component('DkOrgTree', DkOrgTree)
  82. //照片墙
  83. import DkPicWall from '_c/base/dk-pic-wall'
  84. Vue.component('DkPicWall', DkPicWall)
  85. // import ApprovalDetailTable from '_c/business/approval-detail-table'
  86. //
  87. // Vue.component('ApprovalDetailTable', ApprovalDetailTable)
  88. /* 全局引入组件 */
  89. import SearchCond from '_c/business/search-cond'
  90. Vue.component('SearchCond', SearchCond)
  91. import InputPop from '_c/base/input-pop'
  92. Vue.component('InputPop', InputPop)
  93. import InputNumberPop from '_c/base/input-number-pop'
  94. Vue.component('InputNumberPop', InputNumberPop)
  95. import SelectPop from '_c/base/select-pop'
  96. Vue.component('SelectPop', SelectPop)
  97. import SelectInputPop from '_c/base/select-input-pop'
  98. Vue.component('SelectInputPop', SelectInputPop)
  99. import DatePickerPop from '_c/base/dk-date-picker-pop'
  100. Vue.component('DatePickerPop', DatePickerPop)
  101. import {DkForm, DkFormItem} from '_c/base/dk-form'
  102. Vue.component('DkForm', DkForm)
  103. Vue.component('DkFormItem', DkFormItem)
  104. import {BaseIndexButtonGroup, BaseIndexButton} from '_c/base/index-button-group'
  105. Vue.component('BaseIndexButtonGroup', BaseIndexButtonGroup)
  106. Vue.component('BaseIndexButton', BaseIndexButton)
  107. import DkTabs from '_c/base/dk-tabs'
  108. Vue.component('DkTabs', DkTabs)
  109. import DkRadio from '_c/base/dk-radio'
  110. Vue.component('DkRadio', DkRadio)
  111. import DkRow from '_c/base/dk-row'
  112. Vue.component('DkRow', DkRow)
  113. import DkCol from '_c/base/dk-col'
  114. Vue.component('DkCol', DkCol)
  115. import DkSplit from '_c/base/dk-split'
  116. Vue.component('DkSplit', DkSplit)
  117. import DkCollapse from '_c/base/dk-collapse'
  118. Vue.component('DkCollapse', DkCollapse)
  119. import DkPanel from '_c/base/dk-collapse/dk-panel'
  120. Vue.component('DkPanel', DkPanel)
  121. import DkButton from '_c/base/dk-button'
  122. Vue.component('DkButton', DkButton)
  123. import DkSaveButton from '_c/base/dk-save-button'
  124. Vue.component('DkSaveButton', DkSaveButton)
  125. import DkModal from '_c/base/dk-modal'
  126. Vue.component('DkModal', DkModal)
  127. import {DkTableColumn, DkTable} from '_c/base/dk-table'
  128. Vue.component('DkTableColumn', DkTableColumn)
  129. Vue.component('DkTable', DkTable)
  130. import DkTree from '_c/base/dk-tree'
  131. Vue.component('DkTree', DkTree)
  132. import TableSelect from '_c/business/table-select'
  133. Vue.component('TableSelect', TableSelect)
  134. import PrependTransparent from '_c/base/prepend-transparent'
  135. Vue.component('PrependTransparent', PrependTransparent)
  136. import EditTable from '_c/base/edit-table'
  137. Vue.component('EditTable', EditTable)
  138. import EditTreeTable from '_c/base/edit-tree-table'
  139. Vue.component('EditTreeTable', EditTreeTable)
  140. import RegionsChoose from '_c/base/regions-choose'
  141. Vue.component('RegionsChoose', RegionsChoose)
  142. import SelectMagnifier from '_c/business/select-magnifier'
  143. Vue.component('SelectMagnifier', SelectMagnifier)
  144. import ModalReceipt from '_c/business/modal-receipt'
  145. Vue.component('ModalReceipt', ModalReceipt)
  146. import CustomReport from '_c/base/custom-report'
  147. Vue.component('CustomReport', CustomReport)
  148. import DkList from '_c/base/dk-list'
  149. Vue.component('DkList', DkList)
  150. import MultiSelect from '_c/business/multi-select'
  151. Vue.component('MultiSelect', MultiSelect)
  152. /* vant 221229 新增 */
  153. import VantActionSheet from 'vant/es/action-sheet/index';
  154. Vue.component('van-action-sheet', VantActionSheet)
  155. import VantArea from 'vant/es/area/index';
  156. Vue.component('van-area', VantArea)
  157. import VantBadge from 'vant/es/badge/index';
  158. Vue.component('van-badge', VantBadge)
  159. import VantButton from 'vant/es/button/index';
  160. Vue.component('van-button', VantButton)
  161. import VantCalendar from 'vant/es/calendar/index';
  162. Vue.component('van-calendar', VantCalendar)
  163. import VantCard from 'vant/es/card/index';
  164. Vue.component('van-card', VantCard)
  165. import VantCascader from 'vant/es/cascader/index';
  166. Vue.component('van-cascader', VantCascader)
  167. import VantCell from 'vant/es/cell/index';
  168. Vue.component('van-cell', VantCell)
  169. import VantCellGroup from 'vant/es/cell-group/index';
  170. Vue.component('van-cell-group', VantCellGroup)
  171. import VantCheckbox from 'vant/es/checkbox/index';
  172. Vue.component('van-checkbox', VantCheckbox)
  173. import VantCheckboxGroup from 'vant/es/checkbox-group/index';
  174. Vue.component('van-checkbox-group', VantCheckboxGroup)
  175. import VantCircle from 'vant/es/circle/index';
  176. Vue.component('van-circle', VantCircle)
  177. import VantCol from 'vant/es/col/index';
  178. Vue.component('van-col', VantCol)
  179. import VantCollapse from 'vant/es/collapse/index';
  180. Vue.component('van-collapse', VantCollapse)
  181. import VantCollapseItem from 'vant/es/collapse-item/index';
  182. Vue.component('van-collapse-item', VantCollapseItem)
  183. import VantContactCard from 'vant/es/contact-card/index';
  184. Vue.component('van-contact-card', VantContactCard)
  185. import VantContactEdit from 'vant/es/contact-edit/index';
  186. Vue.component('van-contact-edit', VantContactEdit)
  187. import VantContactList from 'vant/es/contact-list/index';
  188. Vue.component('van-contact-list', VantContactList)
  189. import VantCountDown from 'vant/es/count-down/index';
  190. Vue.component('van-count-down', VantCountDown)
  191. import VantCoupon from 'vant/es/coupon/index';
  192. Vue.component('van-coupon', VantCoupon)
  193. import VantCouponCell from 'vant/es/coupon-cell/index';
  194. Vue.component('van-coupon-cell', VantCouponCell)
  195. import VantCouponList from 'vant/es/coupon-list/index';
  196. Vue.component('van-coupon-list', VantCouponList)
  197. import VantDatetimePicker from 'vant/es/datetime-picker/index';
  198. Vue.component('van-datetime-picker', VantDatetimePicker)
  199. import VantDialog from 'vant/es/dialog/index';
  200. Vue.component('van-dialog', VantDialog)
  201. import VantDivider from 'vant/es/divider/index';
  202. Vue.component('van-divider', VantDivider)
  203. import VantDropdownItem from 'vant/es/dropdown-item/index';
  204. Vue.component('van-dropdown-item', VantDropdownItem)
  205. import VantDropdownMenu from 'vant/es/dropdown-menu/index';
  206. Vue.component('van-dropdown-menu', VantDropdownMenu)
  207. import VantEmpty from 'vant/es/empty/index';
  208. Vue.component('van-empty', VantEmpty)
  209. import VantField from 'vant/es/field/index';
  210. Vue.component('van-field', VantField)
  211. import VantForm from 'vant/es/form/index';
  212. Vue.component('van-form', VantForm)
  213. import VantGoodsAction from 'vant/es/goods-action/index';
  214. Vue.component('van-goods-action', VantGoodsAction)
  215. import VantGoodsActionButton from 'vant/es/goods-action-button/index';
  216. Vue.component('van-goods-action-button', VantGoodsActionButton)
  217. import VantGoodsActionIcon from 'vant/es/goods-action-icon/index';
  218. Vue.component('van-goods-action-icon', VantGoodsActionIcon)
  219. import VantGrid from 'vant/es/grid/index';
  220. Vue.component('van-grid', VantGrid)
  221. import VantGridItem from 'vant/es/grid-item/index';
  222. Vue.component('van-grid-item', VantGridItem)
  223. import VantIcon from 'vant/es/icon/index';
  224. Vue.component('van-icon', VantIcon)
  225. import VantImage from 'vant/es/image/index';
  226. Vue.component('van-image', VantImage)
  227. import VantImagePreview from 'vant/es/image-preview/index';
  228. Vue.component('van-image-preview', VantImagePreview)
  229. import VantIndexAnchor from 'vant/es/index-anchor/index';
  230. Vue.component('van-index-anchor', VantIndexAnchor)
  231. import VantIndexBar from 'vant/es/index-bar/index';
  232. Vue.component('van-index-bar', VantIndexBar)
  233. import VantInfo from 'vant/es/info/index';
  234. Vue.component('van-info', VantInfo)
  235. import VantLazyload from 'vant/es/lazyload/index';
  236. Vue.component('van-lazyload', VantLazyload)
  237. import VantList from 'vant/es/list/index';
  238. Vue.component('van-list', VantList)
  239. import VantLoading from 'vant/es/loading/index';
  240. Vue.component('van-loading', VantLoading)
  241. import VantLocale from 'vant/es/locale/index';
  242. Vue.component('van-locale', VantLocale)
  243. import VantNavBar from 'vant/es/nav-bar/index';
  244. Vue.component('van-nav-bar', VantNavBar)
  245. import VantNoticeBar from 'vant/es/notice-bar/index';
  246. Vue.component('van-notice-bar', VantNoticeBar)
  247. import VantNotify from 'vant/es/notify/index';
  248. Vue.component('van-notify', VantNotify)
  249. import VantNumberKeyboard from 'vant/es/number-keyboard/index';
  250. Vue.component('van-number-keyboard', VantNumberKeyboard)
  251. import VantOverlay from 'vant/es/overlay/index';
  252. Vue.component('van-overlay', VantOverlay)
  253. import VantPagination from 'vant/es/pagination/index';
  254. Vue.component('van-pagination', VantPagination)
  255. import VantPanel from 'vant/es/panel/index';
  256. Vue.component('van-panel', VantPanel)
  257. import VantPasswordInput from 'vant/es/password-input/index';
  258. Vue.component('van-password-input', VantPasswordInput)
  259. import VantPicker from 'vant/es/picker/index';
  260. Vue.component('van-picker', VantPicker)
  261. import VantPopover from 'vant/es/popover/index';
  262. Vue.component('van-popover', VantPopover)
  263. import VantPopup from 'vant/es/popup/index';
  264. Vue.component('van-popup', VantPopup)
  265. import VantProgress from 'vant/es/progress/index';
  266. Vue.component('van-progress', VantProgress)
  267. import VantPullRefresh from 'vant/es/pull-refresh/index';
  268. Vue.component('van-pull-refresh', VantPullRefresh)
  269. import VantRadio from 'vant/es/radio/index';
  270. Vue.component('van-radio', VantRadio)
  271. import VantRadioGroup from 'vant/es/radio-group/index';
  272. Vue.component('van-radio-group', VantRadioGroup)
  273. import VantRate from 'vant/es/rate/index';
  274. Vue.component('van-rate', VantRate)
  275. import VantRow from 'vant/es/row/index';
  276. Vue.component('van-row', VantRow)
  277. import VantSearch from 'vant/es/search/index';
  278. Vue.component('van-search', VantSearch)
  279. import VantShareSheet from 'vant/es/share-sheet/index';
  280. Vue.component('van-share-sheet', VantShareSheet)
  281. import VantSidebar from 'vant/es/sidebar/index';
  282. Vue.component('van-sidebar', VantSidebar)
  283. import VantSidebarItem from 'vant/es/sidebar-item/index';
  284. Vue.component('van-sidebar-item', VantSidebarItem)
  285. import VantSkeleton from 'vant/es/skeleton/index';
  286. Vue.component('van-skeleton', VantSkeleton)
  287. import VantSku from 'vant/es/sku/index';
  288. Vue.component('van-sku', VantSku)
  289. import VantSlider from 'vant/es/slider/index';
  290. Vue.component('van-slider', VantSlider)
  291. import VantStep from 'vant/es/step/index';
  292. Vue.component('van-step', VantStep)
  293. import VantStepper from 'vant/es/stepper/index';
  294. Vue.component('van-stepper', VantStepper)
  295. import VantSteps from 'vant/es/steps/index';
  296. Vue.component('van-steps', VantSteps)
  297. import VantSticky from 'vant/es/sticky/index';
  298. Vue.component('van-sticky', VantSticky)
  299. import VantSubmitBar from 'vant/es/submit-bar/index';
  300. Vue.component('van-submit-bar', VantSubmitBar)
  301. import VantSwipe from 'vant/es/swipe/index';
  302. Vue.component('van-swipe', VantSwipe)
  303. import VantSwipeCell from 'vant/es/swipe-cell/index';
  304. Vue.component('van-swipe-cell', VantSwipeCell)
  305. import VantSwipeItem from 'vant/es/swipe-item/index';
  306. Vue.component('van-swipe-item', VantSwipeItem)
  307. import VantSwitch from 'vant/es/switch/index';
  308. Vue.component('van-switch', VantSwitch)
  309. import VantSwitchCell from 'vant/es/switch-cell/index';
  310. Vue.component('van-switch-cell', VantSwitchCell)
  311. import VantTab from 'vant/es/tab/index';
  312. Vue.component('van-tab', VantTab)
  313. import VantTabbar from 'vant/es/tabbar/index';
  314. Vue.component('van-tabbar', VantTabbar)
  315. import VantTabbarItem from 'vant/es/tabbar-item/index';
  316. Vue.component('van-tabbar-item', VantTabbarItem)
  317. import VantTabs from 'vant/es/tabs/index';
  318. Vue.component('van-tabs', VantTabs)
  319. import VantTag from 'vant/es/tag/index';
  320. Vue.component('van-tag', VantTag)
  321. import VantToast from 'vant/es/toast/index';
  322. Vue.component('van-toast', VantToast)
  323. import VantTreeSelect from 'vant/es/tree-select/index';
  324. Vue.component('van-tree-select', VantTreeSelect)
  325. import VantUploader from 'vant/es/uploader/index';
  326. Vue.component('van-uploader', VantUploader)
  327. import {Dialog} from 'vant';
  328. Vue.prototype.$appDialog = Dialog
  329. import {Toast} from 'vant';
  330. Vue.prototype.$appToast = Toast
  331. import 'vant/lib/index.css';
  332. //221229 手机端app 自定义组件的封装
  333. import DkAppButton from '@/components-app/base/dk-app-button'
  334. Vue.component('DkAppButton', DkAppButton)
  335. import DkAppCell from "@/components-app/base/dk-app-cell";
  336. Vue.component("DkAppCell", DkAppCell)
  337. import DkAppDivider from "@/components-app/base/dk-app-divider";
  338. Vue.component("DkAppDivider", DkAppDivider)
  339. import DkAppEmpty from "@/components-app/base/dk-app-empty";
  340. Vue.component("DkAppEmpty", DkAppEmpty)
  341. import DkAppField from "@/components-app/base/dk-app-field";
  342. Vue.component("DkAppField", DkAppField)
  343. import DkAppNumberKeyboard from "@/components-app/base/dk-app-number-keyboard";
  344. Vue.component("DkAppNumberKeyboard", DkAppNumberKeyboard)
  345. import DkAppPasswordInput from "@/components-app/base/dk-app-password-input";
  346. Vue.component("DkAppPasswordInput", DkAppPasswordInput)
  347. import DkAppForm from "@/components-app/base/dk-app-form";
  348. Vue.component("DkAppForm", DkAppForm)
  349. import DkAppSearch from "@/components-app/base/dk-app-search";
  350. Vue.component("DkAppSearch", DkAppSearch)
  351. import DkAppLoading from "@/components-app/base/dk-app-loading";
  352. Vue.component("DkAppLoading", DkAppLoading)
  353. import DkAppSidePullMenu from "@/components-app/base/dk-app-side-pull-menu";
  354. Vue.component("DkAppSidePullMenu", DkAppSidePullMenu)
  355. import DkAppToggle from "@/components-app/base/dk-app-toggle";
  356. Vue.component("DkAppToggle", DkAppToggle)
  357. import DkAppDropdownSwitch from "@/components-app/base/dk-app-dropdown-switch";
  358. Vue.component("DkAppDropdownSwitch", DkAppDropdownSwitch)
  359. // 多选和单选
  360. import DkAppMutiDropdown from "@/components-app/business/dk-app-muti-dropdown";
  361. Vue.component("DkAppMutiDropdown", DkAppMutiDropdown)
  362. import DkAppSingleDropdown from "@/components-app/business/dk-app-single-dropdown/dk-app-single-dropdown";
  363. Vue.component("DkAppSingleDropdown", DkAppSingleDropdown)
  364. import DkAppList from "@/components-app/base/dk-app-list";
  365. Vue.component("DkAppList", DkAppList)
  366. import DkAppCustomTabs from "@/components-app/base/dk-app-custom-tabs/dk-app-custom-tabs";
  367. Vue.component("DkAppCustomTabs", DkAppCustomTabs)
  368. import DkAppNavBar from "@/components-app/base/dk-app-nav-bar";
  369. Vue.component("DkAppNavBar", DkAppNavBar)
  370. import DkAppTable from "@/components-app/base/dk-app-table";
  371. Vue.component("DkAppTable", DkAppTable)
  372. import DkAppPopup from "@/components-app/base/dk-app-popup";
  373. Vue.component("DkAppPopup", DkAppPopup)
  374. import Message from '_c/base/dk-message'
  375. Vue.prototype.$IBMessage = Message.install
  376. import Position from '_c/base/dk-position'
  377. Vue.prototype.$Position = Position.install
  378. import Function from '_c/base/dk-function'
  379. Vue.prototype.$Function = Function.install
  380. import ModalBatchEdit from '_c/business/modal_batch_edit'
  381. Vue.prototype.$BatchEdit = ModalBatchEdit.install
  382. import ModalTableFilter from '_c/business/modal_table_filter'
  383. Vue.prototype.$TableFilter = ModalTableFilter.install
  384. //点击复制
  385. import VueClipboard from 'vue-clipboard2'
  386. Vue.use(VueClipboard)
  387. /* 腾讯地图跨域 */
  388. import {VueJsonp} from 'vue-jsonp'
  389. Vue.use(VueJsonp)
  390. Vue.prototype.$jsonp = VueJsonp
  391. /* Tour */
  392. import VueTour from 'vue-tour'
  393. require('vue-tour/dist/vue-tour.css')
  394. Vue.use(VueTour)
  395. import Prepend from '_c/sub/prepend'
  396. Vue.component('Prepend', Prepend)
  397. // import echarts from 'echarts';
  398. // Echarts 5.x 不再支持上面的引入方式
  399. import * as echarts from 'echarts'
  400. Vue.prototype.$echarts = echarts
  401. // Vue.use(iviewArea);
  402. // quill富文本
  403. import VueQuillEditor from 'vue-quill-editor'
  404. // 引入相关css
  405. import 'quill/dist/quill.core.css'
  406. import 'quill/dist/quill.snow.css'
  407. import 'quill/dist/quill.bubble.css'
  408. Vue.use(VueQuillEditor)
  409. Vue.use(iView)
  410. Vue.use(iviewArea);
  411. // Vue.component(Tree.name, Tree);
  412. Vue.component(Loading.name, Loading);
  413. /**
  414. * @description 注册admin内置插件
  415. */
  416. installPlugin(Vue)
  417. /**
  418. * @description 生产环境关掉提示
  419. */
  420. Vue.config.productionTip = false
  421. /**
  422. * @description 全局注册应用配置
  423. */
  424. // Vue.prototype.$appfunc = appfunc;
  425. /**
  426. * @desc : 读取所有的服务实体
  427. * @author : 周兴
  428. * @date : 2022/12/13 15:27
  429. */
  430. const services = require.context("@/api/pages", true, /\.js$/);
  431. let commonRoute = null;
  432. let serviceKeys = services.keys();
  433. // 获取common
  434. for (let i = 0; i < serviceKeys.length; i++) {
  435. if (serviceKeys[i] === './common/common.js') {
  436. commonRoute = services(serviceKeys[i]).routeUrl;
  437. break;
  438. }
  439. }
  440. let res_services = {};
  441. let routeUrl = {search: {key: 'search'}}
  442. serviceKeys.forEach((item) => {
  443. let comp = services(item);
  444. // 路由地址
  445. if (comp.routeUrl && Object.keys(comp.routeUrl).length !== 0) {
  446. // 如果存在就加进去
  447. if (!item.includes('common.js')) {
  448. let key = Object.keys(comp.routeUrl)[0];
  449. tools.objectMergeByMainJs(comp.routeUrl[key], commonRoute)
  450. // Object.assign(comp.routeUrl[key], commonRoute)
  451. }
  452. } else {
  453. // 没有那么按照列名进行
  454. let itemName = item;
  455. if (itemName) {
  456. itemName = itemName.substring(itemName.lastIndexOf('/') + 1).replace('.js', '');
  457. // 中划线转驼峰
  458. itemName = itemName.getCamelCase();
  459. let route = {}
  460. route[itemName] = commonRoute;
  461. if (comp.routeUrl) {
  462. tools.objectMergeByMainJs(comp.routeUrl, route)
  463. // Object.assign(comp.routeUrl, route)
  464. } else {
  465. Object.assign(comp, {routeUrl: route})
  466. }
  467. }
  468. }
  469. if (!item.includes('common.js')) {
  470. Object.assign(routeUrl, comp.routeUrl);
  471. }
  472. if (comp.default) {
  473. let item = comp.default
  474. let keys = Object.keys(item)
  475. if (keys && keys.length > 0) {
  476. for (let i = 0; i < keys.length; i++) {
  477. let values = item[keys[i]];
  478. // 给每个value增加基本方法
  479. Object.assign(values, baseMethod);
  480. }
  481. }
  482. Object.assign(res_services, item);
  483. }
  484. });
  485. console.log('33334', routeUrl)
  486. Vue.prototype.$service = res_services;
  487. Object.assign(config, {routeUrl: routeUrl})
  488. Vue.prototype.$config = config
  489. /**
  490. * 注册指令
  491. */
  492. importDirective(Vue)
  493. Vue.directive('clickOutside', clickOutside)
  494. /* eslint-disable no-new */
  495. window.vm = new Vue({
  496. el: '#app',
  497. router,
  498. i18n,
  499. store,
  500. render: h => h(App)
  501. })
  502. //[iview]Table中点击图片预览放大
  503. import Viewer from 'v-viewer'
  504. Vue.use(Viewer);
  505. Viewer.setDefaults({
  506. Options: {
  507. "inline": true,
  508. "button": true,
  509. "navbar": true,
  510. "title": true,
  511. "toolbar": true,
  512. "tooltip": true,
  513. "movable": true,
  514. "zoomable": true,
  515. "rotatable": true,
  516. "scalable": true,
  517. "transition": true,
  518. "fullscreen": true,
  519. "keyboard": true,
  520. "url": "data-source"
  521. }
  522. });