| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428 |
- // The Vue build version to load with the `import` command
- // (runtime-only or standalone) has been set in webpack.base.conf with an alias.
- import iviewArea from 'iview-area'
- import Vue from 'vue'
- import App from './App'
- import router from './router'
- import store from './store'
- import iView from 'view-design'
- import i18n from '@/locale'
- import config from '@/config'
- import baseMethod from '@/api/base-method'
- import importDirective from '@/directive'
- import {directive as clickOutside} from 'v-click-outside-x'
- import installPlugin from '@/plugin'
- import './libs/base/prototype'
- import Loading from '_c/loading'
- import '@/assets/al-icon/iconfont.css'
- import '@/assets/al-icon/iconfont.js'
- import 'viewerjs/dist/viewer.css'
- import 'bootstrap/scss/bootstrap.scss';
- import '@/libs/tools/date-tools'
- import '@/libs/tools/array-tools'
- import '@/libs/tools/string-tools'
- import '@/libs/tools/tools'
- import '@/libs/tools/user-tools'
- import '@/libs/tools/user-tools'
- import 'xe-utils'
- import VXETable from 'vxe-table'
- import 'vxe-table/lib/style.css'
- import tools from '@/libs/tools/tools'
- import './index.less'
- import {localRead} from "@/libs/base/util";
- //周选择器
- import '_c/business/date-week/index.less'
- let fontSize = localRead('fontSize');
- // 根据字体读取不同的字体样式文件
- if (fontSize === '14') {
- import ('./font-less/font-14.less')
- } else if(fontSize === '13'){
- import ('./font-less/font-13.less')
- } else {
- import ('./font-less/font-12.less')
- }
- // 实际打包时应该不引入mock
- /* eslint-disable */
- //iview 4.0
- import 'view-design/dist/styles/iview.css';
- /* 签名 */
- import vueEsign from 'vue-esign'
- Vue.use(vueEsign)
- /* 组织结构图 */
- import ZmTreeOrg from 'zm-tree-org'
- import 'zm-tree-org/lib/zm-tree-org.css'
- Vue.use(ZmTreeOrg)
- /* 饿了么 */
- import ElementUI from 'element-ui'
- import 'element-ui/lib/theme-chalk/index.css'
- Vue.use(ElementUI)
- /* 共通方法*/
- import libaray from '@/libs/tools/libaray'
- Object.defineProperty(Vue.prototype, '$libaray', {value: libaray})
- /* 更新列*/
- import updateColumns from '@/libs/update-columns/index'
- Object.defineProperty(Vue.prototype, '$updateColumns', {value: updateColumns})
- import appfunc from '_c/base/dk-approval-flow/js/preload.js'
- Vue.prototype.$appfunc = appfunc;
- /* vxe */
- Vue.use(VXETable)
- Vue.prototype.$VXETable = VXETable
- VXETable.setup({
- // 对组件内置的提示语进行国际化翻译
- i18n: (key, args) => i18n.t(key, args),
- table: {
- //行的唯一键
- rowId: '_X_ID'
- }
- })
- /* 打印 */
- import Print from 'vue-printjs'
- Vue.use(Print)
- /* 打印 */
- import {hiPrintPlugin} from 'vue-plugin-hiprint'
- Vue.use(hiPrintPlugin, '$dkprint')
- hiPrintPlugin.disAutoConnect(); // 取消自动连接直接打印客户端
- import printUtil from '@/utils/printUtil.js'
- Vue.prototype.$printUtil=printUtil
- /* 拖动组件 */
- // import VueDragResize from 'vue-drag-resize'
- // Vue.component('vue-drag-resize', VueDragResize)
- //
- // //组织机构图
- // import DkOrgTree from '_c/base/dk-org-tree'
- // Vue.component('DkOrgTree', DkOrgTree)
- //照片墙
- import DkPicWall from '_c/base/dk-pic-wall'
- Vue.component('DkPicWall', DkPicWall)
- //审批相关
- import nodeWrap from '_c/base/dk-approval-flow/nodeWrap'
- Vue.component('nodeWrap', nodeWrap) //初始化组件
- import addNode from '_c/base/dk-approval-flow/addNode'
- Vue.component('addNode', addNode) //初始化组件
- import DkApprovalFlow from '_c/base/dk-approval-flow'
- Vue.component('DkApprovalFlow',DkApprovalFlow)
- import ApprovalDetailTable from '_c/business/approval-detail-table'
- Vue.component('ApprovalDetailTable',ApprovalDetailTable)
- /* 全局引入组件 */
- import SearchCond from '_c/business/search-cond'
- Vue.component('SearchCond', SearchCond)
- import InputPop from '_c/base/input-pop'
- Vue.component('InputPop', InputPop)
- import InputNumberPop from '_c/base/input-number-pop'
- Vue.component('InputNumberPop', InputNumberPop)
- import SelectPop from '_c/base/select-pop'
- Vue.component('SelectPop', SelectPop)
- import DkFilterButton from '_c/base/dk-filter-button'
- Vue.component('DkFilterButton', DkFilterButton)
- import SelectInputPop from '_c/base/select-input-pop'
- Vue.component('SelectInputPop', SelectInputPop)
- import DatePickerPop from '_c/base/dk-date-picker-pop'
- Vue.component('DatePickerPop', DatePickerPop)
- import MonthRangePickerPop from '_c/base/dk-month-range-picker-pop'
- Vue.component('MonthRangePickerPop', MonthRangePickerPop)
- import {DkForm, DkFormItem} from '_c/base/dk-form'
- Vue.component('DkForm', DkForm)
- Vue.component('DkFormItem', DkFormItem)
- import {BaseIndexButtonGroup, BaseIndexButton} from '_c/base/index-button-group'
- Vue.component('BaseIndexButtonGroup', BaseIndexButtonGroup)
- Vue.component('BaseIndexButton', BaseIndexButton)
- import DkTabs from '_c/base/dk-tabs'
- Vue.component('DkTabs', DkTabs)
- import DkRadio from '_c/base/dk-radio'
- Vue.component('DkRadio', DkRadio)
- import DkRow from '_c/base/dk-row'
- Vue.component('DkRow', DkRow)
- import DkSwitch from '_c/base/dk-switch'
- Vue.component('DkSwitch', DkSwitch)
- import DkCol from '_c/base/dk-col'
- Vue.component('DkCol', DkCol)
- import DkSplit from '_c/base/dk-split'
- Vue.component('DkSplit', DkSplit)
- import DkCollapse from '_c/base/dk-collapse'
- Vue.component('DkCollapse', DkCollapse)
- import DkPanel from '_c/base/dk-collapse/dk-panel'
- Vue.component('DkPanel', DkPanel)
- import DkButton from '_c/base/dk-button'
- Vue.component('DkButton', DkButton)
- import DkSaveButton from '_c/base/dk-save-button'
- Vue.component('DkSaveButton', DkSaveButton)
- import DkPageButton from '_c/base/dk-page-button'
- Vue.component('DkPageButton', DkPageButton)
- import DkModal from '_c/base/dk-modal'
- Vue.component('DkModal', DkModal)
- import {DkTableColumn, DkTable} from '_c/base/dk-table'
- Vue.component('DkTableColumn', DkTableColumn)
- Vue.component('DkTable', DkTable)
- import DkTree from '_c/base/dk-tree'
- Vue.component('DkTree', DkTree)
- // import TableSelect from '_c/business/table-select'
- // Vue.component('TableSelect', TableSelect)
- import PrependTransparent from '_c/base/prepend-transparent'
- Vue.component('PrependTransparent', PrependTransparent)
- import EditTable from '_c/base/edit-table'
- Vue.component('EditTable', EditTable)
- import EditTreeTable from '_c/base/edit-tree-table'
- Vue.component('EditTreeTable', EditTreeTable)
- import RegionsChoose from '_c/base/regions-choose'
- Vue.component('RegionsChoose', RegionsChoose)
- import SelectMagnifier from '_c/business/select-magnifier'
- Vue.component('SelectMagnifier', SelectMagnifier)
- import ModalReceipt from '_c/business/modal-receipt'
- Vue.component('ModalReceipt', ModalReceipt)
- import CustomReport from '_c/base/custom-report'
- Vue.component('CustomReport', CustomReport)
- import DkList from '_c/base/dk-list'
- Vue.component('DkList', DkList)
- import MultiSelect from '_c/business/multi-select'
- Vue.component('MultiSelect', MultiSelect)
- import Message from '_c/base/dk-message'
- Vue.prototype.$IBMessage = Message.install
- import SearchForm from '_c/business/modal-search-form'
- Vue.prototype.$SearchForm = SearchForm.install
- import Position from '_c/base/dk-position'
- Vue.prototype.$Position = Position.install
- import DkTableMax from '_c/base/dk-table-max'
- Vue.prototype.$TableMax = DkTableMax.install
- import Perspective from '_c/base/dk-perspective'
- Vue.prototype.$Perspective = Perspective.install
- import Export from '_c/base/dk-export'
- Vue.prototype.$Export = Export.install
- import Function from '_c/base/dk-function'
- Vue.prototype.$Function = Function.install
- import ModalBatchEdit from '_c/business/modal_batch_edit'
- Vue.prototype.$BatchEdit = ModalBatchEdit.install
- import ModalTableFilter from '_c/business/modal_table_filter'
- Vue.prototype.$TableFilter = ModalTableFilter.install
- //点击复制
- import VueClipboard from 'vue-clipboard2'
- Vue.use(VueClipboard)
- /* 腾讯地图跨域 */
- import {VueJsonp} from 'vue-jsonp'
- Vue.use(VueJsonp)
- Vue.prototype.$jsonp = VueJsonp
- /* Tour */
- import VueTour from 'vue-tour'
- require('vue-tour/dist/vue-tour.css')
- Vue.use(VueTour)
- import Prepend from '_c/sub/prepend'
- Vue.component('Prepend', Prepend)
- // import echarts from 'echarts';
- // Echarts 5.x 不再支持上面的引入方式
- import * as echarts from 'echarts'
- Vue.prototype.$echarts = echarts
- // Vue.use(iviewArea);
- // quill富文本
- import VueQuillEditor from 'vue-quill-editor'
- // 引入相关css
- import 'quill/dist/quill.core.css'
- import 'quill/dist/quill.snow.css'
- import 'quill/dist/quill.bubble.css'
- Vue.use(VueQuillEditor)
- Vue.use(iView)
- Vue.use(iviewArea);
- // Vue.component(Tree.name, Tree);
- Vue.component(Loading.name, Loading);
- /**
- * @description 注册admin内置插件
- */
- installPlugin(Vue)
- /**
- * @description 生产环境关掉提示
- */
- Vue.config.productionTip = false
- /**
- * @description 全局注册应用配置
- */
- // Vue.prototype.$appfunc = appfunc;
- /**
- * @desc : 读取所有的服务实体
- * @author : 周兴
- * @date : 2022/12/13 15:27
- */
- const services = require.context("@/api/pages", true, /\.js$/);
- let commonRoute = null;
- let serviceKeys = services.keys();
- // 获取common
- for (let i = 0; i < serviceKeys.length; i++) {
- if (serviceKeys[i] === './common/common.js') {
- commonRoute = services(serviceKeys[i]).routeUrl;
- break;
- }
- }
- let res_services = {};
- let routeUrl = {search: {key: 'search'}}
- serviceKeys.forEach((item) => {
- let comp = services(item);
- // 路由地址
- if (comp.routeUrl && Object.keys(comp.routeUrl).length !== 0) {
- // 如果存在就加进去
- if (!item.includes('common.js')) {
- let key = Object.keys(comp.routeUrl)[0];
- tools.objectMergeByMainJs(comp.routeUrl[key], commonRoute)
- // Object.assign(comp.routeUrl[key], commonRoute)
- }
- } else {
- // 没有那么按照列名进行
- let itemName = item;
- if (itemName) {
- itemName = itemName.substring(itemName.lastIndexOf('/') + 1).replace('.js', '');
- // 中划线转驼峰
- itemName = itemName.getCamelCase();
- let route = {}
- route[itemName] = commonRoute;
- if (comp.routeUrl) {
- tools.objectMergeByMainJs(comp.routeUrl, route)
- // Object.assign(comp.routeUrl, route)
- } else {
- Object.assign(comp, {routeUrl: route})
- }
- }
- }
- if (!item.includes('common.js')) {
- Object.assign(routeUrl, comp.routeUrl);
- }
- if (comp.default) {
- let item = comp.default
- let keys = Object.keys(item)
- if (keys && keys.length > 0) {
- for (let i = 0; i < keys.length; i++) {
- let values = item[keys[i]];
- // 给每个value增加基本方法
- Object.assign(values, baseMethod);
- }
- }
- Object.assign(res_services, item);
- }
- });
- console.log('33334', routeUrl)
- Vue.prototype.$service = res_services;
- Object.assign(config, {routeUrl: routeUrl})
- Vue.prototype.$config = config
- /**
- * 注册指令
- */
- importDirective(Vue)
- Vue.directive('clickOutside', clickOutside)
- /* eslint-disable no-new */
- let vueMain = window.vm = new Vue({
- el: '#app',
- router,
- i18n,
- store,
- service:res_services,
- render: h => h(App)
- })
- export default vueMain
- //[iview]Table中点击图片预览放大
- import Viewer from 'v-viewer'
- Vue.use(Viewer);
- Viewer.setDefaults({
- Options: {
- "inline": true,
- "button": true,
- "navbar": true,
- "title": true,
- "toolbar": true,
- "tooltip": true,
- "movable": true,
- "zoomable": true,
- "rotatable": true,
- "scalable": true,
- "transition": true,
- "fullscreen": true,
- "keyboard": true,
- "url": "data-source"
- }
- });
|