main.js 23 KB

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