添加vue-seamless-scroll组件实现表格无缝滚动,优化看板布局和样式适配1920*1080分辨率 移除自定义滚动逻辑,增加时间范围选择功能,调整表格结构为固定表头+滚动内容
152 lines
4.5 KiB
JavaScript
152 lines
4.5 KiB
JavaScript
import Vue from 'vue'
|
||
import VueCompositionAPI from '@vue/composition-api'
|
||
import Cookies from 'js-cookie'
|
||
import vueSeamlessScroll from 'vue-seamless-scroll'
|
||
|
||
import Element from 'element-ui'
|
||
import 'normalize.css/normalize.css' // a modern alternative to CSS resets
|
||
import './assets/styles/element-variables.scss'
|
||
import '@/assets/styles/index.scss' // global css
|
||
// import '@/utils/view/viewUtil'
|
||
|
||
import 'animate.css'
|
||
|
||
import App from './App'
|
||
import store from './store'
|
||
import router from './router'
|
||
import permission from './directive/permission'
|
||
import plugins from './plugins' // plugins
|
||
import signalR from '@/utils/signalR' // todo websocket实时传输
|
||
import { downFile } from '@/utils/request'
|
||
|
||
import './assets/icons' // icon
|
||
import './permission' // permission control 动态路由
|
||
import { getDicts } from '@/api/system/dict/data'
|
||
import { getConfigKey } from '@/api/system/config'
|
||
import { parseTime, resetForm, addDateRange, selectDictLabel, selectDictLabels, download, handleTree, handleDict } from '@/utils/ruoyi'
|
||
|
||
//分页组件
|
||
import Pagination from '@/components/Pagination'
|
||
//自定义表格工具扩展
|
||
import RightToolbar from '@/components/RightToolbar'
|
||
// 富文本组件
|
||
import Editor from '@/components/Editor'
|
||
// 字典标签组件
|
||
import DictTag from '@/components/DictTag'
|
||
// 上传图片
|
||
import UploadImage from '@/components/UploadImage/index'
|
||
// 上传文件
|
||
import UploadFile from '@/components/FileUpload/index'
|
||
// 字典数据组件
|
||
import DictData from '@/components/DictData'
|
||
|
||
// 二维码与打印组件相关 KrPrintDesigner+VueQr
|
||
import VueQr from 'vue-qr'
|
||
import printJS from 'print-js'
|
||
// echarts相关插件引入
|
||
import * as echarts from 'echarts'
|
||
import ECharts from 'vue-echarts'
|
||
// VXE-Table相关组件
|
||
// import VXETable from 'vxe-table'
|
||
// import 'vxe-table/lib/style.css'
|
||
// import VXETablePluginExportXLSX from 'vxe-table-plugin-export-xlsx'
|
||
// vxe-table 3.x版本不需要传入ExcelJS参数
|
||
// VXETable.use(VXETablePluginExportXLSX)
|
||
|
||
// vxe-table更新用法 =============================
|
||
import VxeUIAll, { VxeUI } from 'vxe-pc-ui'
|
||
import 'vxe-pc-ui/lib/style.css'
|
||
import VxeUITable from 'vxe-table'
|
||
import 'vxe-table/lib/style.css'
|
||
import VxeUIPluginExportXLSX from '@vxe-ui/plugin-export-xlsx'
|
||
import ExcelJS from 'exceljs'
|
||
VxeUI.use(VxeUIPluginExportXLSX, {
|
||
ExcelJS
|
||
})
|
||
Vue.use(VxeUIAll)
|
||
Vue.use(VxeUITable)
|
||
// ===========================================
|
||
|
||
import dataV from '@jiaminghi/data-view'
|
||
|
||
//需要按需引入,先引入vue并引入element-ui
|
||
import AFTableColumn from 'af-table-column'
|
||
|
||
// dayjs
|
||
import dayjs from 'dayjs'
|
||
import 'dayjs/locale/zh-cn' // 引入中文语言包
|
||
import relativeTime from 'dayjs/plugin/relativeTime'
|
||
import weekOfYear from 'dayjs/plugin/weekOfYear'
|
||
import utc from 'dayjs/plugin/utc'
|
||
import timezone from 'dayjs/plugin/timezone'
|
||
dayjs.extend(utc)
|
||
dayjs.extend(timezone)
|
||
dayjs.extend(relativeTime)
|
||
dayjs.extend(weekOfYear)
|
||
dayjs.tz.setDefault('Asia/Shanghai')
|
||
// mdicon
|
||
import '@mdi/font/css/materialdesignicons.css'
|
||
|
||
// 全局方法挂载
|
||
Vue.prototype.getDicts = getDicts
|
||
Vue.prototype.getConfigKey = getConfigKey
|
||
Vue.prototype.parseTime = parseTime
|
||
Vue.prototype.resetForm = resetForm
|
||
Vue.prototype.addDateRange = addDateRange
|
||
Vue.prototype.selectDictLabel = selectDictLabel
|
||
Vue.prototype.selectDictLabels = selectDictLabels
|
||
Vue.prototype.download = download
|
||
Vue.prototype.handleTree = handleTree
|
||
Vue.prototype.handleDict = handleDict
|
||
Vue.prototype.downFile = downFile
|
||
Vue.prototype.$dayjs = dayjs
|
||
Vue.prototype.$echarts = echarts
|
||
|
||
Vue.prototype.msgSuccess = function (msg) {
|
||
this.$message({ showClose: true, message: msg, type: 'success' })
|
||
}
|
||
|
||
Vue.prototype.msgError = function (msg) {
|
||
this.$message({ showClose: true, message: msg, type: 'error' })
|
||
}
|
||
|
||
Vue.prototype.msgInfo = function (msg) {
|
||
this.$message.info(msg)
|
||
}
|
||
|
||
// 全局组件挂载
|
||
Vue.component('Pagination', Pagination)
|
||
Vue.component('RightToolbar', RightToolbar)
|
||
Vue.component('DictTag', DictTag)
|
||
Vue.component('Editor', Editor)
|
||
Vue.component('UploadImage', UploadImage)
|
||
Vue.component('UploadFile', UploadFile)
|
||
Vue.component('VueQr', VueQr)
|
||
Vue.component('v-charts', ECharts)
|
||
// Vue.use(printJS);
|
||
Vue.use(VueCompositionAPI)
|
||
Vue.use(permission)
|
||
Vue.use(plugins)
|
||
Vue.use(vueSeamlessScroll)
|
||
Vue.use(Element, {
|
||
size: Cookies.get('size') || 'small', // set element-ui default size
|
||
})
|
||
|
||
//Vue.use(VXETable)
|
||
|
||
Vue.use(dataV)
|
||
Vue.use(AFTableColumn)
|
||
DictData.install()
|
||
|
||
Vue.config.productionTip = false
|
||
|
||
signalR.init(process.env.VUE_APP_SOCKET_API)
|
||
Vue.prototype.signalr = signalR //todo 绑定在原型对象里
|
||
|
||
new Vue({
|
||
el: '#app',
|
||
router,
|
||
store,
|
||
render: (h) => h(App),
|
||
})
|