import Vue from 'vue'; import '@babel/polyfill'; import Element from 'element-ui'; import 'normalize.css/normalize.css'; // a modern alternative to CSS resets import './styles/element-variables.scss'; import '@/styles/index.scss'; // global css import '@/assets/iconfont/iconfont.css'; import 'swiper/dist/css/swiper.css'; import 'vue-ydui/dist/ydui.base.css'; // import { parseTime, resetForm, addDateRange, selectDictLabel, selectDictLabels, handleTree } from "@/utils/parsing"; // 懒加载 import VueLazyload from 'vue-lazyload'; import VueAwesomeSwiper from 'vue-awesome-swiper'; import Cookies from 'js-cookie'; import Debounce from './libs/debounce.js'; //防抖自定义指令 Vue.config.devtools = true; import Print from '@/utils/print'; Vue.use(Print); // 百度地图 import BaiduMap from 'vue-baidu-map' Vue.use(BaiduMap,{ ak:'' }); import App from './App'; import store from './store'; import router from './router'; import base from './components/base/index'; // 公共组件 import './icons'; // icon import './permission'; // permission control import './utils/error-log'; // error integralLog import * as filters from './filters'; // global filters import {parseQuery} from '@/utils'; import plugins from './plugins'; import directive from './directive'; //directive import libs from './libs/index.js'; // 全局函数 import mySearch from '@/components/mySearch'; // 公共搜索 import './directive/float'; import './directive/num'; import searchInfo from '@/utils/changeColor'; import exportExcel from '@/utils/exportExcel'; // 导出 import {previewDoc, downLoad} from '@/utils/base'; Vue.prototype.exportExcelUtils = exportExcel; Vue.prototype.previewDoc = previewDoc; Vue.prototype.downLoad = downLoad; Vue.prototype.$searchInfo = searchInfo; Vue.use(VueLazyload, { preLoad: 1.3, error: require('./assets/imgs/no.png'), loading: require('./assets/imgs/moren.jpg'), attempt: 1, listenEvents: ['scroll', 'wheel', 'mousewheel', 'resize', 'animationend', 'transitionend', 'touchmove'], }); Vue.use(VueAwesomeSwiper); Vue.use(plugins); Vue.use(directive); Vue.use(libs); Vue.use(base); Vue.use(mySearch); let cookieName = 'VCONSOLE'; let query = parseQuery(); let urlSpread = query['spread']; let vconsole = query[cookieName.toLowerCase()]; let md5Crmeb = 'b14d1e9baeced9bb7525ab19ee35f2d2'; //CRMEB MD5 加密开启vconsole模式 let md5UnCrmeb = '3dca2162c4e101b7656793a1af20295c'; //UN_CREMB MD5 加密关闭vconsole模式 if (vconsole !== undefined) { if (vconsole === md5UnCrmeb && Cookies.has(cookieName)) Cookies.remove(cookieName); } else vconsole = Cookies.get(cookieName); if (vconsole !== undefined && vconsole === md5Crmeb) { Cookies.set(cookieName, md5Crmeb, 3600); const module = () => import('vconsole'); module().then((Module) => { new Module.default(); }); } // 自定义实现String 类型的replaceAll方法 String.prototype.replaceAll = function (s1, s2) { return this.replace(new RegExp(s1, 'gm'), s2); }; // Vue.prototype.$modalCoupon = modalCoupon /** * If you don't want to use mock-server * you want to use MockJs for mock api * you can execute: mockXHR() * * Currently MockJs will be used in the production environment, * please remove it before going online ! ! ! */ // if (process.env.NODE_ENV === 'production') { // const { mockXHR } = require('../mock') // mockXHR() // } Vue.use(Element, { size: 'small', // set element-ui default size zIndex: 3000, }); // register global utility filters Object.keys(filters).forEach((key) => { Vue.filter(key, filters[key]); }); Vue.config.productionTip = false; const $previewApp = document.getElementById('previewApp'); const childAttrs = { file: '', dialog: ' width="600px" class="dialog-width" v-if="visible" :visible.sync="visible" :modal-append-to-body="false" ', }; function buildLinks(links) { let strs = ''; links.forEach((url) => { strs += ``; }); return strs; } function newVue(attrs, main, html) { // eslint-disable-next-line no-eval main = eval(`(${main})`); main.template = `