Commit 12d728f3 authored by lvzhuangzhuang's avatar lvzhuangzhuang

解决页面刷新,报错问题

parent 20456c8e
......@@ -36,6 +36,9 @@
"url": "https://gitee.com/y_project/RuoYi-Vue.git"
},
"dependencies": {
"@vue/cli-plugin-babel": "4.4.6",
"@vue/cli-plugin-eslint": "4.4.6",
"@vue/cli-service": "4.4.6",
"@riophae/vue-treeselect": "0.4.0",
"af-table-column": "^1.0.3",
"axios": "0.21.0",
......@@ -52,7 +55,7 @@
"js-cookie": "2.2.1",
"jsencrypt": "3.0.0-rc.1",
"luckyexcel": "^1.0.1",
"luckysheet": "^2.1.13",
"nprogress": "0.2.0",
"quill": "1.3.7",
"screenfull": "5.0.2",
......@@ -65,12 +68,54 @@
"vue-router": "3.4.9",
"vuedraggable": "2.24.3",
"vuex": "3.6.0",
"xlsx": "^0.17.5"
"xlsx": "^0.17.5",
"babel-eslint": "10.1.0",
"chalk": "4.1.0",
"connect": "3.6.6",
"eslint": "7.15.0",
"eslint-plugin-vue": "7.2.0",
"lint-staged": "10.5.3",
"runjs": "4.4.2",
"sass": "1.32.0",
"sass-loader": "10.1.0",
"script-ext-html-webpack-plugin": "2.1.5",
"svg-sprite-loader": "5.1.1",
"vue-template-compiler": "2.6.12"
},
"devDependencies": {
"@vue/cli-plugin-babel": "4.4.6",
"@vue/cli-plugin-eslint": "4.4.6",
"@vue/cli-service": "4.4.6",
"@riophae/vue-treeselect": "0.4.0",
"af-table-column": "^1.0.3",
"axios": "0.21.0",
"clipboard": "2.0.6",
"core-js": "3.8.1",
"echarts": "4.9.0",
"element-ui": "2.15.0",
"exceljs": "^4.3.0",
"file-saver": "^2.0.5",
"fuse.js": "6.4.3",
"highlight.js": "9.18.5",
"jquery": "^3.7.0",
"js-beautify": "1.13.0",
"js-cookie": "2.2.1",
"jsencrypt": "3.0.0-rc.1",
"luckyexcel": "^1.0.1",
"nprogress": "0.2.0",
"quill": "1.3.7",
"screenfull": "5.0.2",
"scriptjs": "^2.5.9",
"sortablejs": "1.10.2",
"vue": "2.6.12",
"vue-append": "^2.2.0",
"vue-count-to": "1.0.13",
"vue-cropper": "0.5.5",
"vue-router": "3.4.9",
"vuedraggable": "2.24.3",
"vuex": "3.6.0",
"xlsx": "^0.17.5",
"babel-eslint": "10.1.0",
"chalk": "4.1.0",
"connect": "3.6.6",
......
This source diff could not be displayed because it is too large. You can view the blob instead.
// Features specially written for demo
(function() {
// language
function language(params) {
var lang = navigator.language||navigator.userLanguage;//常规浏览器语言和IE浏览器
lang = lang.substr(0, 2);//截取lang前2位字符
return lang;
}
// Tencent Forum Link Button
function supportButton() {
const text = language() === 'zh' ? '反馈' : 'Forum';
const link = language() === 'zh' ? 'https://support.qq.com/product/288322' : 'https://groups.google.com/g/luckysheet';
document.querySelector("body").insertAdjacentHTML('beforeend', '<a id="container" href="'+ link +'" target="_blank" style="z-index:2;width:50px;height:50px;line-height:50px;position:fixed;right:40px;bottom:86px;border-radius:50px;cursor:pointer;background:rgb(71,133,249);color:#fff;text-align:center;text-decoration:none;">'+ text +'</a>');
}
supportButton()
/**
* Get url parameters
*/
function getRequest() {
var vars = {};
var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi,
function(m,key,value) {
vars[key] = value;
});
return vars;
}
window.luckysheetDemoUtil = {
language:language,
getRequest:getRequest
}
})()
\ No newline at end of file
......@@ -6,25 +6,24 @@
<meta name="renderer" content="webkit">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<link rel="icon" href="<%= BASE_URL %>favicon4.ico">
<!--<link rel='stylesheet' href='./luckysheet/plugins/css/pluginsCss.css' />
<link rel='stylesheet' href='./luckysheet/plugins/plugins.css' />
<link rel='stylesheet' href='./luckysheet/css/luckysheet.css' />
<link rel='stylesheet' href='./luckysheet/assets/iconfont/iconfont.css' />-->
<link rel='stylesheet' href='<%= BASE_URL %>./plugins/css/pluginsCss.css' />
<link rel='stylesheet' href='<%= BASE_URL %>./plugins/plugins.css' />
<link rel='stylesheet' href='<%= BASE_URL %>./css/luckysheet.css' />
<link rel='stylesheet' href='<%= BASE_URL %>./assets/iconfont/iconfont.css' />
<!--<link rel='stylesheet' href='./luckysheet/expendPlugins/chart/chartmix.css' />-->
<!--<script src="./luckysheet/plugins/js/jquery.min.js"></script>-->
<!--<script src="./luckysheet/plugins/js/plugin.js"></script>
<script src="./luckysheet/plugins/js/luckysheet.umd.js"></script>-->
<script src="<%= BASE_URL %>./jquery.min.js"></script>
<script src="<%= BASE_URL %>./plugins/js/plugin.js"></script>
<script src="<%= BASE_URL %>./luckysheet.umd.js"></script>
<!--<script src="./luckysheet/expendPlugins/chart/chartmix.umd.min.js"></script>-->
<link rel='stylesheet' href='https://cdn.jsdelivr.net/npm/luckysheet@latest/dist/plugins/css/pluginsCss.css' />
<!-- <link rel='stylesheet' href='https://cdn.jsdelivr.net/npm/luckysheet@latest/dist/plugins/css/pluginsCss.css' />
<link rel='stylesheet' href='https://cdn.jsdelivr.net/npm/luckysheet@latest/dist/plugins/plugins.css' />
<link rel='stylesheet' href='https://cdn.jsdelivr.net/npm/luckysheet@latest/dist/css/luckysheet.css' />
<link rel='stylesheet' href='https://cdn.jsdelivr.net/npm/luckysheet@latest/dist/assets/iconfont/iconfont.css' />
<script src="./luckysheet/plugins/js/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/luckysheet@latest/dist/plugins/js/plugin.js"></script>
<script src="https://cdn.jsdelivr.net/npm/luckysheet@latest/dist/luckysheet.umd.js"></script>
<script src="https://cdn.jsdelivr.net/npm/luckysheet@latest/dist/luckysheet.umd.js"></script>-->
<title><%= webpackConfig.name %></title>
<style>
......
<template>
<div class="document">
<input style="font-size:16px;" type="file" @change="uploadExcel" />
<a href="javascript:void(0)" @click="downloadExcel">Download source xlsx file</a>
<div :id="id" ref="luckysheetContainer" class="luckysheetContainer"></div>
</div>
</template>
<script>
import $script from 'scriptjs'//用于引入css和js
//导入库export.js 这个文件是es6的,不能在普通的HTML文件直接引入js文件(虽然都是js文件,但是有区别,具体请百度es6与es5)!需要把es6转es5才可以直接引入使用!
import {exportExcel} from './exportExcel'//文件链接第一节的资料中
export default {
name: "LuckyExcel",
props: {
leTitle: {
type: String,
default: ''
},
leData: {
type: Array,
default: [{name:'Sheet1'}],
},
disabled: {
type: Boolean,
default: false
},
id:{
type:String,
default:'luckysheetContainer'
}
},
data() {
return {
luckySheet: null,
};
},
created() {
this.load();
},
mounted() {
},
methods: {
/**
* 加载编辑器
*/
load(){
this.$nextTick(() => {
// 设置全局变量,因为 editormd 依赖 jquery
window.$ = window.jQuery = $;
// 异步加载并执行
$.getScript('/luckysheet/plugins/js/plugin.js', () => {
$script('/luckysheet/luckysheet.umd.js', () => {
if(this.disabled){
this.createROLuckyExcel();
}else{
this.createLuckyExcel();
};
});
});
// 加载css
$('head').append($('<link rel="stylesheet" type="text/css" />').attr('href', '/luckysheet/plugins/css/pluginsCss.css'));
$('head').append($('<link rel="stylesheet" type="text/css" />').attr('href', '/luckysheet/plugins/plugins.css'));
$('head').append($('<link rel="stylesheet" type="text/css" />').attr('href', '/luckysheet/css/luckysheet.css'));
$('head').append($('<link rel="stylesheet" type="text/css" />').attr('href', '/luckysheet/assets/iconfont/iconfont.css'));
});
},
/**
* 只读版luckyExcel 创建
*/
createROLuckyExcel(){
if(this.luckySheet) this.luckySheet.destroy();
this.$nextTick(() => {
let _this = this;
$(function () {
luckysheet.create({
container: _this.id, //容器的ID
title: _this.leTitle?_this.leTitle:'未命名文档', // 工作簿名称
lang: "zh", // 设定表格语言 国际化设置,允许设置表格的语言,支持中文("zh")和英文("en")
allowCopy: false, // 是否允许拷贝
showtoolbar: false, // 是否显示工具栏
showinfobar: false, // 是否显示顶部信息栏
showsheetbar: false, // 是否显示底部sheet页按钮
showstatisticBar: false, // 是否显示底部计数栏
sheetBottomConfig: false, // sheet页下方的添加行按钮和回到顶部按钮配置
allowEdit: false, // 是否允许前台编辑
enableAddRow: false, // 允许增加行
enableAddCol: false, // 允许增加列
userInfo: false, // 右上角的用户信息展示样式
showRowBar: false, // 是否显示行号区域
showColumnBar: false, // 是否显示列号区域
sheetFormulaBar: false, // 是否显示公式栏
enableAddBackTop: false,//返回头部按钮
rowHeaderWidth: 0,//纵坐标
columnHeaderHeight: 0,//横坐标
showstatisticBarConfig: {
count:false,
view:false,
zoom:false,
},
showsheetbarConfig: {
add: false, //新增sheet
menu: false, //sheet管理菜单
sheet: false, //sheet页显示
},
hook: {
cellMousedown:this.cellMousedown,//绑定鼠标事件
},
forceCalculation: true,//强制计算公式
data:_this.leData,
});
_this.luckySheet = luckysheet;
});
});
},
/**
* luckyExcel 创建
*/
createLuckyExcel() {
this.$nextTick(() => {
// 创建编辑器实例
let _this = this;
$(function () {
luckysheet.create({
container: _this.id,
data:_this.leData,
title: _this.leTitle?_this.leTitle:'未命名文档', // 工作簿名称
lang: "zh", // 设定表格语言 国际化设置,允许设置表格的语言,支持中文("zh")和英文("en")
showinfobar: false,
});
_this.luckySheet = luckysheet;
});
});
},
/**
* wangEditor 销毁
*/
destroyLuckyExcel() {
if(this.luckySheet){
this.luckySheet.destroy();
this.luckySheet = null;
};
},
/**
* 获取 luckyExcel 数据
*/
getLuckysheetData() {
return this.luckySheet.getAllSheets();
},
/**
* 获取 luckyExcel 数据
*/
luckyExcelExitEditMode() {
if(this.luckySheet){
return this.luckySheet.exitEditMode();
};
},
uploadExcel(evt){
let _this=this;
const files = evt.target.files;
if(files==null || files.length==0){
alert("No files wait for import");
return;
}
let name = files[0].name;
let suffixArr = name.split("."), suffix = suffixArr[suffixArr.length-1];
if(suffix!="xlsx"){
alert("Currently only supports the import of xlsx files");
return;
}
LuckyExcel.transformExcelToLucky(files[0], function(exportJson, luckysheetfile){
if(exportJson.sheets==null || exportJson.sheets.length==0){
alert("Failed to read the content of the excel file, currently does not support xls files!");
return;
}
_this.luckySheet.destroy();
console.log('exportJson.sheets',exportJson.sheets)
_this.luckySheet.create({
container: _this.id, //luckysheet is the container id
showinfobar:false,
data:exportJson.sheets,
title:exportJson.info.name,
userInfo:exportJson.info.name.creator
});
});
},
downloadExcel(){
exportExcel(luckysheet.getAllSheets(),"下载")
console.log('luckysheet.getAllSheets()s',luckysheet.getAllSheets());
}
}
};
</script>
<style src="./LuckyExcel.scss" lang="scss" scoped></style>
<style lang="scss" >
.luckysheet-cols-menu{
z-index: 9004 !important;
}
.luckysheet-input-box{
z-index: 3000 !important;
}
.luckysheet-wa-editor{
z-index: 2005 !important;
}
#luckysheet-icon-morebtn-div{
z-index: 3000 !important;
}
.luckysheet-modal-dialog-slider{
z-index: 2005 !important;
}
.chartSetting{
z-index: 3000 !important;
}
</style>
//LuckyExcel.scss
.document{
position: relative;
width:100%;
height: 100%;
-webkit-animation-fill-mode: none;
animation-fill-mode: none;
.luckysheetContainer{
margin:0px;
padding:0px;
position:absolute;
width:100%;
left: 0px;
top: 0px;
bottom:0px;
}
}
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -59,15 +59,13 @@
<script>
import $ from 'jquery';
/*安装插件 npm install xlsx,安装完成后引入 import XLSX from ‘xlsx’*/
import XLSX from 'xlsx';
import { getSuppliesTemplate, listSuppliesTemplate,roleList,roleListid} from "@/api/ruoyi-myLuckyexcel/myluckyexcel";
/*import luckysheet from 'luckysheet'*/
import LuckyExcel from 'luckyexcel'
//导入库export.js 这个文件是es6的,不能在普通的HTML文件直接引入js文件(虽然都是js文件,但是有区别,具体请百度es6与es5)!需要把es6转es5才可以直接引入使用!
import { exportExcel } from '../../../../public/luckysheet/exportExcel';
import { exportExcel } from '../../../../public/exportExcel';
let fileName="新建XLSX工作表"; //定义表名
......
......@@ -191,7 +191,7 @@ import {
import $ from 'jquery';
import XLSX from 'xlsx';
import LuckyExcel from 'luckyexcel';
import luckysheet from 'luckysheet';
/*import luckysheet from 'luckysheet';*/
import {exportSuppliesrole} from "@/api/system/suppliesrole";
export default {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment