186 lines
5.4 KiB
JavaScript
186 lines
5.4 KiB
JavaScript
import Vue from 'vue'
|
|
|
|
import i18n from '@/i18n/index'
|
|
import Cookies from 'js-cookie'
|
|
|
|
import Element from 'element-ui'
|
|
import './assets/styles/element-variables.scss'
|
|
import 'font-awesome/css/font-awesome.min.css'
|
|
import './assets/ext/dticonfont/iconfont.css'
|
|
|
|
import '@/assets/styles/index.scss' // global css
|
|
import '@/assets/styles/custom.scss' // custom css
|
|
import App from './App'
|
|
import store from './store'
|
|
import router from './router'
|
|
import directive from './directive' // directive
|
|
import plugins from './plugins' // plugins
|
|
// const ElectronStore = require('electron-store');
|
|
// const electronStore = new ElectronStore({encryptionKey: '123456'});
|
|
import { download } from '@/utils/request'
|
|
import { triggerTrans } from '@/utils/custom'
|
|
import TanexPrinterSdk from '@/utils/TanexPrinterSdk'
|
|
import XDNoticeSdk from '@/utils/XDNoticeSdk'
|
|
|
|
|
|
// import _ from 'lodash'
|
|
|
|
import './assets/icons' // icon
|
|
import './permission' // permission control
|
|
import { getDicts } from "@/api/system/dict/data";
|
|
import { getConfigKey } from "@/api/system/config";
|
|
import "default-passive-events";
|
|
import { playAudio,playNoticeTone,parseTime, resetForm, addDateRange,addQueryParam,addFormParam,insertJsScript, selectDictLabel, selectDictLabels, handleTree,handleOptions,addExportAuditRecord } from "@/utils/custom";
|
|
|
|
|
|
// 分页组件
|
|
import Pagination from "@/components/Pagination";
|
|
// 自定义表格工具组件
|
|
import RightToolbar from "@/components/RightToolbar"
|
|
// 富文本组件
|
|
import Editor from "@/components/Editor"
|
|
// 文件上传组件
|
|
import FileUpload from "@/components/FileUpload"
|
|
// 图片上传组件
|
|
import ImageUpload from "@/components/ImageUpload"
|
|
// 单个图片上传组件
|
|
import ImageOneUpload from "@/components/ImageOneUpload"
|
|
// 图片预览组件
|
|
import ImagePreview from "@/components/ImagePreview"
|
|
// 字典标签组件
|
|
import DictTag from '@/components/DictTag'
|
|
// 头部标签组件
|
|
import VueMeta from 'vue-meta'
|
|
// 字典数据组件
|
|
import DictData from '@/components/DictData'
|
|
// XdTable
|
|
import XdTable from "@/components/XdTable"
|
|
|
|
import XdPageContainer from "@/components/XdPageContainer"
|
|
|
|
import XdTextareaInput from "@/components/XdTextareaInput"
|
|
|
|
// XdDialog
|
|
import XdDialog from "@/components/XdDialog"
|
|
// 搜索区域
|
|
import SearchForm from "@/components/SearchForm"
|
|
|
|
import CustomDatePicker from '@/components/DatePickerAdv/CustomDatePicker'
|
|
import BaseKeepAlive from '@/utils/base/keepalive'
|
|
Vue.component('BaseKeepAlive', BaseKeepAlive)
|
|
|
|
import { Base64 } from "js-base64"
|
|
import md5 from 'js-md5';
|
|
|
|
import VueClipboard from 'vue-clipboard2'
|
|
|
|
import Print from 'vue-print-nb'
|
|
|
|
|
|
// 全局方法挂载
|
|
Vue.prototype.getDicts = getDicts
|
|
Vue.prototype.getConfigKey = getConfigKey
|
|
Vue.prototype.parseTime = parseTime
|
|
Vue.prototype.resetForm = resetForm
|
|
Vue.prototype.addDateRange = addDateRange
|
|
Vue.prototype.addQueryParam = addQueryParam
|
|
Vue.prototype.addFormParam = addFormParam
|
|
Vue.prototype.insertJsScript = insertJsScript
|
|
Vue.prototype.selectDictLabel = selectDictLabel
|
|
Vue.prototype.selectDictLabels = selectDictLabels
|
|
Vue.prototype.addExportAuditRecord = addExportAuditRecord
|
|
|
|
Vue.prototype.download = download
|
|
Vue.prototype.handleTree = handleTree
|
|
Vue.prototype.handleOptions = handleOptions
|
|
Vue.prototype.Base64 = Base64
|
|
Vue.prototype.MD5 = md5;
|
|
Vue.prototype.playAudio = playAudio;
|
|
Vue.prototype.playNoticeTone = playNoticeTone;
|
|
|
|
const tanexPrinter = TanexPrinterSdk.getInstance();
|
|
Vue.prototype.$tanexPrinter = tanexPrinter;
|
|
|
|
|
|
const xdNoticeSdk = XDNoticeSdk.getInstance();
|
|
Vue.prototype.$xdNoticeSdk = xdNoticeSdk;
|
|
|
|
Vue.prototype.$t = (key, value) => i18n.t(triggerTrans(key,i18n.locale), value)
|
|
|
|
// Vue.prototype._ = _
|
|
|
|
// vue 页面捕获
|
|
// const __patch__ = Vue.prototype.__patch__;
|
|
// Vue.prototype.__patch__ = function() {
|
|
// const elm = __patch__.apply(this, arguments);
|
|
// translate(elm, i18n.locale);
|
|
// return elm;
|
|
// };
|
|
|
|
// 全局组件挂载
|
|
Vue.component('DictTag', DictTag)
|
|
Vue.component('Pagination', Pagination)
|
|
Vue.component('RightToolbar', RightToolbar)
|
|
Vue.component('Editor', Editor)
|
|
Vue.component('FileUpload', FileUpload)
|
|
Vue.component('ImageUpload', ImageUpload)
|
|
Vue.component('ImageOneUpload', ImageOneUpload)
|
|
Vue.component('ImagePreview', ImagePreview)
|
|
Vue.component('CustomDatePicker', CustomDatePicker)
|
|
Vue.component('XdTable', XdTable)
|
|
Vue.component('XdPageContainer', XdPageContainer)
|
|
Vue.component('XdDialog', XdDialog)
|
|
Vue.component('SearchForm', SearchForm)
|
|
Vue.component('XdTextareaInput', XdTextareaInput)
|
|
|
|
|
|
Vue.use(Print)
|
|
Vue.use(directive)
|
|
Vue.use(plugins)
|
|
Vue.use(VueMeta)
|
|
DictData.install()
|
|
|
|
|
|
/**
|
|
* 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! ! !
|
|
*/
|
|
|
|
Vue.use(Element, {
|
|
size: Cookies.get('size') || 'medium' // set element-ui default size
|
|
})
|
|
|
|
// Vue.use(Element, {
|
|
// size: electronStore.get('size') || 'medium' // set element-ui default size
|
|
// })
|
|
|
|
Vue.config.productionTip = false
|
|
|
|
const isDebug_mode = process.env.NODE_ENV !== 'production';
|
|
Vue.config.debug = isDebug_mode;
|
|
Vue.config.devtools = isDebug_mode;
|
|
Vue.config.productionTip = isDebug_mode;
|
|
|
|
// 初始化i18n和Vue
|
|
// i18n.init().then(async (oI18n) => {
|
|
// new Vue({
|
|
// router,
|
|
// i18n: oI18n, //挂在在vue 下
|
|
// render: function(h) {
|
|
// return h(App);
|
|
// },
|
|
// }).$mount('#app');
|
|
// });
|
|
|
|
new Vue({
|
|
el: '#app',
|
|
router,
|
|
i18n,
|
|
store,
|
|
render: h => h(App)
|
|
})
|