You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
177 lines
5.7 KiB
177 lines
5.7 KiB
import Vue from 'vue'
|
|
import Element from 'element-ui'
|
|
import '../styles/element-variables.scss'
|
|
import enLang from 'element-ui/lib/locale/lang/zh-CN' // 如果使用中文语言包请默认支持,无需额外引入,请删除该依赖
|
|
import Cookies from 'js-cookie' //Cookies
|
|
import * as eCharts from 'echarts' //echarts
|
|
import Plugin from 'v-fit-columns' //table自适应宽高
|
|
import AFTableColumn from 'af-table-column'
|
|
import '../icons' // icon
|
|
import '../permission' // permission control
|
|
import '../utils/error-log' // error log
|
|
|
|
import {
|
|
default as staticOptions
|
|
} from '@/filters/statusType' // 全局静态变量
|
|
Vue.prototype.$staticOptions = staticOptions
|
|
|
|
import
|
|
* as isTableColumns
|
|
from "@/utils/tableColumns/index" //全局table表头
|
|
Vue.prototype.$isTableColumns = isTableColumns
|
|
|
|
import *
|
|
as isDetailsTableColumns
|
|
from "@/utils/detailsTableColumns/index" //全局table表头
|
|
Vue.prototype.$isDetailsTableColumns = isDetailsTableColumns
|
|
|
|
import *
|
|
as isSummaryTableColumns
|
|
from "@/utils/summaryTableColumns/index" //全局table表头——汇总
|
|
Vue.prototype.$isSummaryTableColumns = isSummaryTableColumns
|
|
|
|
import *
|
|
as isTabsDesTions
|
|
from "@/utils/tabsDesTions/index" //全局table表头——汇总
|
|
Vue.prototype.$isTabsDesTions = isTabsDesTions
|
|
|
|
import *
|
|
as isQuicklySearchOption
|
|
from "@/utils/quicklySearchOption/index" //主表查询-快速搜索数据配置
|
|
Vue.prototype.$isQuicklySearchOption = isQuicklySearchOption
|
|
|
|
import *
|
|
as isPrimarySearchOption
|
|
from "@/utils/primarySearchOption/index" //主表查询-初级搜索数据配置
|
|
Vue.prototype.$isPrimarySearchOption = isPrimarySearchOption
|
|
|
|
//axios序列化插件
|
|
import qs from 'qs'
|
|
Vue.prototype.$qs = qs
|
|
|
|
import currenForm from "@/components/currenForm"; //form表单
|
|
import currenDrawer from "@/components/commonTabel-drawer"; //抽屉
|
|
import currenButton from "@/components/currenButton" //按钮
|
|
import currenTable from "@/components/currenTable" //table
|
|
import tablePagination from "@/components/tablePagination"; //第一视图集成
|
|
import importFile from "@/components/importFile" //导出
|
|
import pagination from "@/components/Pagination" //分页器
|
|
import conditionFilters from "@/components/conditionFilters" //高级筛选
|
|
import searchPage from '@/components/searchPage' //autocomplete拉取数据探弹窗
|
|
import newAndEdiDialog from '@/components/newAndEdiDialog' //普通新增与编辑
|
|
import stepsForm from '@/components/StepsForm' //步骤新增
|
|
import handelFrom from '@/components/handelFrom' //执行表单
|
|
import umyTable from '@/components/umyTable' // 用于数据量过大table
|
|
|
|
// Mixins
|
|
// import { tableMixins } from "@/mixins/TableMixins"
|
|
// import { LoadingMixins } from "@/mixins/LoadingMixins"
|
|
// import { drawerMixins } from "@/mixins/drawerMixins"
|
|
// import { TableHeaderMixins } from "@/mixins/TableHeaderMixins"
|
|
// import { mixins } from "@/mixins/mixins"
|
|
|
|
// 注册全局MIxins
|
|
// Vue.mixin(tableMixins)
|
|
// Vue.mixin(LoadingMixins)
|
|
// Vue.mixin(drawerMixins)
|
|
// Vue.mixin(TableHeaderMixins)
|
|
// Vue.mixin(mixins)
|
|
// Vue.mixin(autoCompleteSelectMixins)
|
|
|
|
const fontRate = {
|
|
CHAR_RATE: 1.0, // 汉字比率
|
|
NUM_RATE: 0.65, // 数字
|
|
OTHER_RATE: 0.8 // 除汉字和数字以外的字符的比率
|
|
}
|
|
const fontSize = 20
|
|
Vue.use(Plugin)
|
|
Vue.use(AFTableColumn, {
|
|
fontRate,
|
|
fontSize
|
|
})
|
|
// Element引用
|
|
Vue.use(Element, {
|
|
size: Cookies.get('size') || 'medium', // set element-ui default size
|
|
locale: enLang // 如果使用中文,无需设置,请删除
|
|
})
|
|
Element.Dialog.props.closeOnClickModal.default = false
|
|
Element.Dialog.props.closeOnPressEscape.default = false
|
|
Element.Dialog.props.showClose.default = false
|
|
|
|
|
|
// 注册成为全局的组件
|
|
Vue.component('currenForm', currenForm)
|
|
Vue.component('currenDrawer', currenDrawer)
|
|
Vue.component('currenButton', currenButton)
|
|
Vue.component('currenTable', currenTable)
|
|
Vue.component('tablePagination', tablePagination)
|
|
Vue.component('importFile', importFile)
|
|
Vue.component('pagination', pagination)
|
|
Vue.component('conditionFilters', conditionFilters)
|
|
Vue.component('searchPage', searchPage)
|
|
Vue.component('newAndEdiDialog', newAndEdiDialog)
|
|
Vue.component('stepsForm', stepsForm)
|
|
Vue.component('handelFrom', handelFrom)
|
|
Vue.component('umyTable', umyTable)
|
|
Vue.prototype.$echarts = eCharts
|
|
Vue.prototype.$isMobile = navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i)
|
|
Vue.prototype.$isAndroid = navigator.userAgent.indexOf('Android') > -1 || navigator.userAgent.indexOf('Adr') > -1
|
|
|
|
Vue.prototype.$successMsg = function (message = '') {
|
|
this.$message({
|
|
message,
|
|
type: 'success',
|
|
duration: 5000
|
|
})
|
|
}
|
|
Vue.prototype.$errorMsg = function (message = '') {
|
|
this.$message({
|
|
message,
|
|
type: 'error',
|
|
duration: 5000
|
|
})
|
|
}
|
|
Vue.prototype.$warningMsg = function (message = '') {
|
|
this.$message({
|
|
message,
|
|
type: 'warning',
|
|
duration: 5000
|
|
})
|
|
}
|
|
Vue.prototype.$showConfirmDialog = function (message = '') {
|
|
return this.$confirm(message, '提示', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
})
|
|
}
|
|
|
|
Vue.prototype.publishEvent = function (eventName, payload) {
|
|
if (!eventName) return
|
|
const fun = this[eventName]
|
|
fun && fun(payload)
|
|
}
|
|
|
|
Vue.prototype.registeEvent = function (events) {
|
|
for (const item in events) {
|
|
const handle = events[item]
|
|
if (handle instanceof Function) {
|
|
this[item] = handle.bind(this)
|
|
}
|
|
}
|
|
}
|
|
|
|
Vue.prototype.isInited = function (prop) {
|
|
return this[prop] && this[prop].init
|
|
}
|
|
|
|
Vue.prototype.$listAssign = function (arrA, arrB) {
|
|
Object.keys(arrA).forEach(key => {
|
|
arrA[key] = arrB[key] || arrA[key]
|
|
})
|
|
}
|
|
Vue.prototype.$CopeListAssign = function (arrA, arrB) {
|
|
Object.keys(arrA).forEach(key => {
|
|
arrA[key] = arrB[key]
|
|
})
|
|
}
|
|
|