Commit e6efaa24 authored by 铭飞's avatar 铭飞 Committed by Gitee
Browse files

!190 更新资源文件

Merge pull request !190 from 灰色DT/4.7.2
parents bf29ba83 2de48d50
package net.mingsoft.config;
import java.io.File;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.springframework.aop.Advisor;
import net.mingsoft.basic.filter.XSSEscapeFilter;
......@@ -70,7 +72,7 @@ public class WebConfig implements WebMvcConfigurer {
registry.addResourceHandler("/html/**").addResourceLocations("/html/","file:html/");
//三种映射方式 webapp下、当前目录下、jar内
registry.addResourceHandler("/app/**").addResourceLocations("/app/","file:app/", "classpath:/app/");
registry.addResourceHandler("/static/**","/**").addResourceLocations("/static/","file:static/","classpath:/static/");
registry.addResourceHandler("/static/**","/**").addResourceLocations("/static/","file:static/","classpath:/static/","classpath:/META-INF/resources/");
registry.addResourceHandler("/api/**").addResourceLocations("/api/","file:api/", "classpath:/api/");
if(new File(uploadFloderPath).isAbsolute()){
//如果指定了绝对路径,上传的文件都映射到uploadMapping下
......@@ -150,6 +152,7 @@ public class WebConfig implements WebMvcConfigurer {
FilterRegistrationBean registration = new FilterRegistrationBean(xssFilter);
xssFilter.excludes.add(".*file/upload.do");
xssFilter.excludes.add(".*/jsp/editor.do");
xssFilter.excludes.add(".*/?(jpg|js|css|gif|png|ico)$");
xssFilter.excludes.add("/");
registration.addUrlPatterns("/*");
return registration;
......
body {
margin: 0;
padding: 0;
background: #eee !important;
}
a:link,a:visited,a:active{text-decoration: none; color:#409EFF;}
.ms-container {
margin: 12px;
height: 100%;
padding: 14px 14px 0 14px;
background: #fff;
}
.ms-header {
padding: 10px;
margin: 0;
border-bottom: 1px solid #ddd;
background: #fff;
height: 50px
}
.ms-pagination {
padding: 20px 0;
text-align: right;
}
.ms-fr {
float: right;
}
.ms-tr {
text-align: right;
}
.el-button+.el-button {
margin-left: 0
}
.ms-select{
display: block;
}
.ms-datetimerange{
width: 100% !important;
}
#index .ms-search{
background: #fff;
}
#index .ms-search .ms-search-footer{
line-height: 60px;
text-align: center;
}
#index .ms-table-pagination {
height: calc(100% - 75px);
}
#myPageTop {
width: 252px;
}
#myPageTop input {
width: 242px;
}
#form .iconfont {
font-size: 12px;
margin-right: 5px;
}
#form .ms-container{
height:calc(100vh - 74px);
}
#index .ms-container{
height: calc(100vh - 74px);
}
[v-cloak]{
display: none;
}
\ No newline at end of file
/*
*这里的值严格按照UI设计图标注值来进行设置
*/
/*
*颜色
*/
/*
*页面的边距
*/
/*
*字体
*/
/*
*头像
*/
/*
* 按钮
*/
/*
*对常见的多行样式进行了方法封装,方便调用,加快开发效率
*/
html,
body {
min-height: 100vh;
width: 100vw;
background-color: #eee;
margin: 0;
display: flex;
font-weight: initial !important;
font-size: 14px !important;
color: #333 !important;
}
html *,
body * {
text-decoration: none !important;
font-family: Verdana, Arial, Helvetica, sans-serif;
box-sizing: border-box;
}
.ms-ellipsis {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
display: block;
}
.ms-align-center {
display: flex;
align-items: center;
}
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
font-weight: initial;
font-size: 12px;
color: #999;
resize: none;
}
*::-webkit-scrollbar {
width: 8px;
height: 8px;
}
/*定义滚动条轨道 内阴影+圆角*/
*::-webkit-scrollbar-track {
border-radius: 10px;
/*滚动条的背景区域的圆角*/
background-color: #eee;
/*滚动条的背景颜色*/
}
/*定义滑块 内阴影+圆角*/
*::-webkit-scrollbar-thumb {
border-radius: 10px;
/*滚动条的圆角*/
background-color: #e6e6e6;
/*滚动条的背景颜色*/
}
.ms-container {
margin: 12px;
height: calc(100% - 24px);
padding: 14px;
background: #fff;
}
.ms-header {
padding: 10px;
margin: 0;
border-bottom: 1px solid #ddd;
background: #fff;
height: 50px;
}
.ms-header button {
height: 30px;
}
.ms-pagination {
padding: 20px 0;
text-align: right;
}
.ms-fr {
float: right;
}
.ms-tr {
text-align: right;
}
.ms-weixin-content {
width: calc(100% - 140px);
}
.ms-weixin-dialog .el-dialog__header {
height: 55px;
box-sizing: border-box;
padding: 10px 10px 25px 10px;
border-bottom: 1px solid #e6e6e6;
}
.ms-weixin-dialog .el-dialog__header .el-dialog__title {
font-weight: bold;
font-size: 14px;
color: #333;
}
.ms-weixin-dialog .el-dialog__footer {
border-top: 1px solid #e6e6e6;
padding: 15px !important;
}
.ms-hover {
cursor: pointer;
}
.ms-hover:hover {
color: #0099ff;
background: #fff;
border-color: #0099ff;
}
.ms-header-select {
font-size: 0;
}
.ms-header-select > .el-select:nth-of-type(2) {
margin: 0 10px;
}
.el-submenu .el-menu-item.is-active {
border-radius: 4px;
}
.el-card,
.el-message {
border-radius: 0 !important;
}
.sortable-ghost {
opacity: .3;
background: #ccc !important;
border-color: transparent !important;
color: transparent !important;
}
.sortable-ghost * {
background: #ccc !important;
border-color: transparent !important;
color: transparent !important;
}
.index {
width: 100%;
display: flex;
}
.ms-admin-header {
display: flex;
padding: 0;
background-color: #0099ff;
height: 50px !important;
}
.ms-admin-header .ms-admin-header-menu {
background-color: #0099ff;
border-bottom: none;
position: relative;
}
.ms-admin-header .ms-admin-header-menu > .ms-admin-menu-item > *,
.ms-admin-header .ms-admin-header-menu > .ms-admin-menu-item {
height: 50px !important;
line-height: 50px !important;
background-color: #0099ff !important;
color: rgba(255, 255, 255, 0.65) !important;
border-bottom: none !important;
font-size: 1em;
}
.ms-admin-header .ms-admin-header-menu > .ms-admin-menu-item > *:hover,
.ms-admin-header .ms-admin-header-menu > .ms-admin-menu-item:hover {
color: #fff !important;
}
.ms-admin-header .ms-admin-header-menu > .ms-admin-menu-item > *.is-active,
.ms-admin-header .ms-admin-header-menu > .ms-admin-menu-item.is-active {
color: #fff !important;
}
.ms-admin-header .ms-admin-header-menu .ms-admin-shortcut-menu {
padding: 0;
user-select: none;
outline: none;
width: 100%;
min-width: 500px;
min-height: 200px;
background-color: #fff !important;
height: auto;
flex-wrap: wrap;
position: absolute;
right: 0;
top: 0;
z-index: 9;
background: #ffffff;
border: 1px solid #e6e6e6;
box-shadow: 2px 3px 5px 0.1px rgba(0, 0, 0, 0.1);
}
.ms-admin-header .ms-admin-header-menu .ms-admin-shortcut-menu > li {
margin: 0;
padding: 0 20px;
text-align: left;
display: -webkit-inline-box;
display: inline-block;
height: 50px;
line-height: 50px;
font-weight: normal;
font-size: 14px;
color: #333;
}
.ms-admin-header .ms-admin-header-menu .ms-admin-shortcut-menu > li:hover {
cursor: pointer;
color: #0099ff;
}
.ms-admin-header .ms-admin-header-menu .ms-admin-shortcut-menu i {
position: absolute;
top: 18px;
right: 19px;
font-weight: normal;
font-size: 14px;
color: #333;
}
.ms-admin-header .ms-admin-header-menu .ms-admin-shortcut-menu i:hover {
cursor: pointer;
}
.ms-admin-logo {
min-width: 200px;
width: 200px;
display: flex;
align-items: center;
overflow: hidden;
}
.ms-admin-logo > img {
padding: 20px 0 20px 20px;
width: 80px;
}
.ms-admin-logo > div {
display: flex;
align-items: center;
}
.ms-admin-logo > div img {
margin-top: -10px;
margin-left: 3px;
}
.ms-admin-logo > div span {
margin-top: -7px;
position: absolute;
margin-left: 6px;
font-size: 12px;
}
.ms-admin-logo .iconfont {
color: #fff;
margin-left: auto;
margin-right: 20px;
cursor: pointer;
}
.ms-admin-mstore {
margin-left: auto;
min-width: 200px;
display: flex;
align-items: center;
justify-content: flex-end;
padding: 0;
line-height: 1;
}
.ms-admin-mstore .ms-admin-people-head {
width: 30px !important;
height: 30px !important;
margin-right: 10px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
background: #fff;
color: #0099ff;
}
.ms-admin-mstore .ms-admin-mstore-icon {
min-width: 50px;
width: 50px;
height: 50px;
background-color: #0080FF;
display: flex;
justify-content: center;
align-items: center;
cursor: pointer;
}
.ms-admin-mstore .ms-admin-mstore-icon span {
border-radius: 50%;
font-weight: initial;
font-size: 12px;
color: #fff;
background: #f00;
position: absolute;
width: 1.2em;
height: 1.2em;
display: flex;
align-items: center;
justify-content: center;
top: 0.6em;
right: 0.6em;
z-index: 2;
}
.ms-admin-mstore .ms-admin-mstore-icon .iconfont {
color: #fff;
animation: rubberBand 1.4s 1s both infinite;
font-size: 1.5em;
}
.ms-admin-login {
display: flex;
align-items: center;
}
.ms-admin-login > span {
width: 130px;
padding: 0 15px;
height: 50px;
display: flex;
align-items: center;
cursor: pointer;
outline: none;
}
.ms-admin-login > span img {
border-radius: 50%;
width: 20px;
height: 20px;
margin-right: 8px;
}
.ms-admin-login > span span {
color: #fff;
}
.ms-admin-login .active {
background: #fff;
}
.ms-admin-login .active .ms-admin-people-head {
background: #0099ff;
color: #fff;
}
.ms-admin-login .active span {
color: #333;
}
.ms-admin-login-down {
width: 130px;
padding: 0 15px;
border: none;
margin: 0 !important;
padding: 0 !important;
border-radius: 0;
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.1);
}
.ms-admin-login-down > .popper__arrow {
display: none;
}
.ms-admin-menu-aside {
width: 200px !important;
height: 100%;
position: relative;
overflow: visible;
}
.ms-admin-menu-aside .ms-admin-menu {
width: 200px;
height: 100%;
position: relative;
}
.ms-admin-menu-aside .ms-admin-menu .el-menu--inline .is-active {
border-left: 2px solid #0099ff;
}
.ms-admin-menu-aside .ms-admin-menu .ms-admin-icon {
font-weight: initial;
font-size: 1.5em;
color: #999;
}
.ms-admin-menu-aside .ms-menu-expand {
transform: rotate(270deg);
position: absolute;
right: -34px;
top: 50%;
z-index: 999;
cursor: pointer;
display: flex;
flex-direction: column;
}
.ms-admin-menu-aside .ms-menu-expand i {
font-weight: initial;
font-size: 14px;
color: #333;
position: absolute;
transform: rotate(90deg);
top: 5px;
right: 43%;
}
.ms-admin-menu-aside .ms-menu-expand::before {
border-color: transparent transparent #eee;
border-style: none solid solid;
border-width: 0 30px 22px;
content: "";
display: block;
height: 0;
left: -10px;
width: 30px;
}
.ms-admin-menu-aside .ms-menu-expand {
transition: right .3s;
}
.ms-admin-menu-aside .ms-menu-expand-active {
transform: rotate(90deg);
right: -56px;
}
.ms-admin-menu-aside .ms-admin-menu-active {
width: 60px;
height: 100%;
}
.ms-admin-menu-aside-active {
width: 60px !important;
}
.ms-admin-container {
height: calc(100vh - 60px);
}
.ms-admin-container > .ms-admin-main {
padding: 0;
background-color: #fff;
}
.ms-admin-container > .ms-admin-main .ms-admin-tabs {
height: 100%;
display: flex;
flex-direction: column;
}
.ms-admin-container > .ms-admin-main .ms-admin-tabs .el-tabs__content {
height: 100%;
}
.ms-admin-container > .ms-admin-main .ms-admin-tabs .el-tabs__content .el-tab-pane {
height: 100%;
}
.ms-admin-container > .ms-admin-main .ms-admin-tabs .el-tabs__header {
background: #fafafa;
margin-bottom: 0;
}
.ms-admin-container > .ms-admin-main .ms-admin-tabs .el-tabs__header .el-tabs__nav-scroll .el-tabs__nav {
border-left: none;
border-radius: 0;
}
.ms-admin-container > .ms-admin-main .ms-admin-tabs .ms-admin-refresh {
float: right;
width: 40px;
height: 40px;
text-align: center;
border-left: 1px solid #e6e6e6;
cursor: pointer;
position: relative;
}
.ms-admin-container > .ms-admin-main .ms-admin-tabs .ms-admin-refresh::before {
position: absolute;
left: 34%;
top: 50%;
transform: translateY(-50%);
color: #999;
}
.ms-admin-container > .ms-admin-main .ms-admin-tabs .el-tabs__nav-next,
.ms-admin-container > .ms-admin-main .ms-admin-tabs .el-tabs__nav-prev {
width: 40px;
height: 40px;
display: flex;
justify-content: center;
align-items: center;
}
.ms-admin-container > .ms-admin-main .ms-admin-tabs .el-tabs__nav-next {
border-left: 1px solid #e6e6e6;
}
.ms-admin-container > .ms-admin-main .ms-admin-tabs .el-tabs__nav-prev {
border-right: 1px solid #e6e6e6;
}
.ms-admin-container > .ms-admin-main iframe {
width: 100%;
height: 100%;
border: none !important;
}
@keyframes rubberBand {
0 {
-webkit-transform: scale3d(1, 1, 1);
transform: scale3d(1, 1, 1);
}
10% {
-webkit-transform: scale3d(1.25, 0.75, 1);
transform: scale3d(1.25, 0.75, 1);
}
20% {
-webkit-transform: scale3d(0.75, 1.25, 1);
transform: scale3d(0.75, 1.25, 1);
}
30% {
-webkit-transform: scale3d(1.15, 0.85, 1);
transform: scale3d(1.15, 0.85, 1);
}
40% {
-webkit-transform: scale3d(0.95, 1.05, 1);
transform: scale3d(0.95, 1.05, 1);
}
50% {
-webkit-transform: scale3d(1.05, 0.95, 1);
transform: scale3d(1.05, 0.95, 1);
}
51% {
-webkit-transform: scale3d(1, 1, 1);
transform: scale3d(1, 1, 1);
}
}
.el-scrollbar__wrap{overflow-x:hidden;}
.el-scrollbar {
position: static;
}
[v-cloak] {
display: none;
}
\ No newline at end of file
/*
*这里的值严格按照UI设计图标注值来进行设置
*/
/*
*颜色
*/
/*
*页面的边距
*/
/*
*字体
*/
/*
*头像
*/
/*
* 按钮
*/
/*
*对常见的多行样式进行了方法封装,方便调用,加快开发效率
*/
html,
body {
min-height: 100vh;
width: 100vw;
background-color: #eee;
margin: 0;
display: flex;
font-weight: initial !important;
font-size: 14px !important;
color: #333 !important;
}
html *,
body * {
text-decoration: none !important;
font-family: Verdana, Arial, Helvetica, sans-serif;
box-sizing: border-box;
}
.ms-ellipsis {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
display: block;
}
.ms-align-center {
display: flex;
align-items: center;
}
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
font-weight: initial;
font-size: 12px;
color: #aaa;
resize: none;
}
*::-webkit-scrollbar {
width: 8px;
height: 8px;
}
/*定义滚动条轨道 内阴影+圆角*/
*::-webkit-scrollbar-track {
border-radius: 10px;
/*滚动条的背景区域的圆角*/
background-color: #eee;
/*滚动条的背景颜色*/
}
/*定义滑块 内阴影+圆角*/
*::-webkit-scrollbar-thumb {
border-radius: 10px;
/*滚动条的圆角*/
background-color: #ddd;
/*滚动条的背景颜色*/
}
.ms-container {
margin: 12px;
height: calc(100% - 24px);
padding: 14px 14px 0 14px;
background: #fff;
}
.ms-header {
padding: 10px;
margin: 0;
border-bottom: 1px solid #ddd;
background: #fff;
height: 50px;
}
.ms-pagination {
padding: 20px 0;
text-align: right;
}
.ms-fr {
float: right;
}
.ms-tr {
text-align: right;
}
.ms-weixin-content {
width: calc(100% - 140px);
}
.ms-weixin-dialog .el-dialog__header {
height: 55px;
box-sizing: border-box;
padding: 10px 10px 25px 10px;
border-bottom: 1px solid #ddd;
}
.ms-weixin-dialog .el-dialog__header .el-dialog__title {
font-weight: bold;
font-size: 14px;
color: #333;
}
.ms-weixin-dialog .el-dialog__footer {
border-top: 1px solid #ddd;
padding: 15px !important;
}
.login {
width: 100vw;
height: 100vh;
}
.login .ms-admin-login-container {
height: 100%;
background: url('../images/login-bg.jpg') center no-repeat;
background-size: cover;
}
.login .ms-admin-login-container .ms-admin-login-main {
display: flex;
justify-content: center;
align-items: center;
}
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp {
display: flex;
justify-content: center;
align-items: center;
width: 680px;
height: 320px;
}
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp > img {
flex: 1;
display: inline-block;
}
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form {
flex: 1;
height: 320px;
background: #fff;
padding: 20px 54px;
}
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form h1 {
line-height: 1;
font-weight: initial;
font-size: 12px;
color: #999999;
margin: 0 0 20px 0;
}
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form h1 span {
font-weight: initial;
font-size: 16px;
color: #0099ff;
}
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form .ms-admin-form-item {
margin-bottom: 20px;
}
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form .ms-admin-form-item > div {
margin-left: 0 !important;
}
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form .ms-admin-form-item .el-form-item__content,
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form .ms-admin-form-item .el-input,
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form .ms-admin-form-item input {
height: 34px !important;
line-height: 34px !important;
}
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form .ms-admin-form-item-code .el-form-item__content {
display: flex;
justify-content: space-between;
}
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form .ms-admin-form-item-code .el-form-item__content .el-input__inner,
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form .ms-admin-form-item-code .el-form-item__content .el-input {
width: 110px;
}
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form .ms-admin-form-item-code .el-form-item__content > img {
width: 66px;
height: 34px;
margin: 0 6px;
}
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form .ms-admin-form-item-code .el-form-item__content p {
display: flex;
justify-content: space-between;
line-height: 1;
flex-direction: column;
margin: 0;
}
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form .ms-admin-form-item-code .el-form-item__content p span:nth-of-type(1) {
font-weight: initial;
font-size: 10px;
color: #999999;
}
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form .ms-admin-form-item-code .el-form-item__content p span:nth-of-type(2) {
font-weight: initial;
font-size: 10px;
color: #0099ff;
cursor: pointer;
}
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form .ms-admin-form-item-checkout .el-form-item__content,
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form .ms-admin-form-item-checkout .el-input,
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form .ms-admin-form-item-checkout input {
height: auto !important;
line-height: 1px !important;
}
.login .ms-admin-login-container .ms-admin-login-main .ms-admin-login-warp .ms-admin-login-form .ms-admin-login-btn {
width: 100%;
height: 34px;
line-height: 5px;
}
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
/**
* 上传js
* 官方插件文档:https://www.plupload.com
* 参数方法文档:https://www.cnblogs.com/2050/p/3913184.html
*/
(function() {
// 默认支持上传的文件类型
var mimeTypes = {
"image": {
title: "Image files",
extensions: "jpg,JPG,jpeg,PNG,gif,png"
},
"file": {
title: "Zip files",
extensions: "ZIP,zip,DOC,doc,docx,xls,XLS,xlsx,RAR,rar"
},
"video": {
title: "video files",
extensions: "MP3,MP4"
},
"all": {
title: "all files",
extensions: "jpg,JPG,jpeg,PNG,gif,png,ZIP,zip,DOC,doc,docx,xls,XLS,xlsx,RAR,rar"
}
};
/**
* 文件上传
* id: id属性
* {
* url:"", //(可选)默认ms.base + "/file/upload.do"
* mime_types:"image", //(可选)默认图片,支持image、file、video、all(表示包含前三种),也可以设置allowedFile参数覆盖
* allowedFile:""//(可选)自定义上传文件后缀例如:jpg,gif
* max_file_size:"1mb", //(可选)默认1mb,单位kb,mb,gb,tb,注意后端ms.properties文件也有配置上传大小,优先上传控件大小
* multi_selection:false, //(可选)默认单文件
* uploadPath:"", //(可选)默认上传upload文件夹下面(如果非upload,需要设置uploadFloderPath参数)对应的站点下面,例如uload/1/xxxxx.jpg
* uploadFloderPath:"", //(可选)自定义上传文件夹路径,最终文件路径格式 uploadFloderPath/uploadPath/xxxxxx.jpg,注意这里的uploadPath已经没有了upload文件夹与站点id
* diyPath:"", //(可选)自定义上传文件夹路径,可以定义盘符路径
* isRename:true,//(可选)文件重命名,默认根据时间命名
* fileFiltered:function //每次选择一个文件都会触发
* filesAdded:function //每次选择好文件后都会触发
* beforeUpload:function //上传文件之前触发,确认上传 业务的情况下有用
* uploadProgress:function //处理进度条
* fileUploaded:function //(必填)上传成功返回,主要会用到第三个参数的response,这个值是上传成功后返回的数据
* }
*/
function upload(id, cfg) {
var uploadCfg = {
url: basePath+"/file/upload.do",
mime_types: mimeTypes["image"],
max_file_size: "1mb",
multi_selection: false,
uploadPath: "",
diyPath:"",
uploadFloderPath: "",
chunk: "",
chunks: "",
prevent_duplicates: true,
isRename: true,
fileFiltered: function(uploader, file) {},
filesAdded: function(uploader, files) {},
beforeUpload: function(uploader, file) {},
uploadProgress: function(uploader, file) {},
fileUploaded: function(uploader, file, responseObject) {},
error: function(uploader, errObject) {
if (errObject.code == -600) {
$('.ms-notifications').offset({top:43}).notify({
type:'warning',
message: { text:errObject.file.name + "文件超过" +
uploadCfg.max_file_size + "大小" }
}).show();
} else if (errObject.code == -601) {
$('.ms-notifications').offset({top:43}).notify({
type:'warning',
message: { text:errObject.file.name + "格式错误" }
}).show();
} else if (errObject.code == -700) {
$('.ms-notifications').offset({top:43}).notify({
type:'warning',
message: { text:errObject.file.name + "格式错误"}
}).show();
} else if (errObject.code == -300) {
$('.ms-notifications').offset({top:43}).notify({
type:'warning',
message: { text:errObject.file.name + "发生磁盘读写错误时的错误代码,例如本地上某个文件不可读"}
}).show();
} else if (errObject.code == -602) {
$('.ms-notifications').offset({top:43}).notify({
type:'warning',
message: { text:errObject.file.name + "文件已上传过,不能重复上传。"}
}).show();
} else if (errObject.code == -702) {
$('.ms-notifications').offset({top:43}).notify({
type:'warning',
message: { text:errObject.file.name + "文件网页上传不支持,太大的文件请通过其他途径上传。"}
}).show();
} else {
$('.ms-notifications').offset({top:43}).notify({
type:'warning',
message: { text:errObject.code + errObject.file.name}
}).show();
}
},
};
var multipart_params = {}; // 上传表单参数
multipart_params.maxSize = calculationMaxSize();
multipart_params.allowedFile = uploadCfg.mime_types.extensions;
// 判断cfg是否为json格式,不是则将默认参数传给cfg
if (cfg != undefined && validator.isJSON(JSON.stringify(cfg))) {
// 重新定义后台上传路径
if (cfg.url != undefined && cfg.url != "") {
uploadCfg.url = cfg.url;
}
// 允许上传的后缀
if (cfg.allowedFile != undefined && cfg.allowedFile != "") {
uploadCfg.mime_types =
{
title: "all files",
extensions: cfg.allowedFile
};
multipart_params.allowedFile = cfg.allowedFile;
}
//组织后台需要的参数
if (cfg.max_file_size != undefined && cfg.max_file_size != "") {
uploadCfg.max_file_size = cfg.max_file_size;
multipart_params.maxSize = calculationMaxSize();
}
if (cfg.path != undefined && cfg.path != "") {
uploadCfg.uploadPath = cfg.path;
multipart_params.uploadPath = cfg.path;
}
if (cfg.diyPath != undefined && cfg.diyPath != "") {
uploadCfg.diyPath = cfg.diyPath;
multipart_params.diyPath = cfg.diyPath;
}
if (cfg.uploadFloderPath != undefined && cfg.uploadFloderPath != "") {
uploadCfg.uploadFloderPath = cfg.uploadFloderPath;
multipart_params.uploadFloderPath = cfg.uploadFloderPath;
}
if (cfg.chunk != undefined && cfg.chunk != "") {
multipart_params.chunk = cfg.chunk;
}
if (cfg.chunks != undefined && cfg.chunks != "") {
multipart_params.chunks = cfg.chunks;
}
if (cfg.name != undefined && cfg.name != "") {
multipart_params.name = cfg.name;
}
if (cfg.isRename != undefined) {
multipart_params.isRename = cfg.isRename;
}
if (cfg.multi_selection != undefined ) {
uploadCfg.multi_selection = cfg.multi_selection;
}
if (cfg.prevent_duplicates != undefined) {
uploadCfg.prevent_duplicates = cfg.prevent_duplicates;
}
//回调事件
if (cfg.fileUploaded != undefined && cfg.fileUploaded != "") {
uploadCfg.fileUploaded = cfg.fileUploaded;
}
if (cfg.filesAdded != undefined && cfg.filesAdded != "") {
uploadCfg.filesAdded = cfg.filesAdded;
}
if (cfg.fileFiltered != undefined && cfg.fileFiltered != "") {
uploadCfg.fileFiltered = cfg.fileFiltered;
}
if (cfg.beforeUpload != undefined && cfg.beforeUpload != "") {
uploadCfg.beforeUpload = cfg.beforeUpload;
}
if (cfg.uploadProgress != undefined && cfg.uploadProgress != "") {
uploadCfg.uploadProgress = cfg.uploadProgress;
}
if (cfg.error != undefined && cfg.error != "") {
uploadCfg.error = cfg.error;
}
}
// 实例化一个plupload上传对象
var uploader = new plupload.Uploader({
browse_button: id, // 预览按钮元素
url: uploadCfg.url, // 上传地址
flash_swf_url: 'js/Moxie.swf',
silverlight_xap_url: 'js/Moxie.xap',
multi_selection: uploadCfg.multi_selection, // 禁止浏览框多选
multipart_params: multipart_params,
filters: { // 文件类型 大小设置,对不同场景的文件上传配置此参数
mime_types: [uploadCfg.mime_types],
max_file_size: uploadCfg.max_file_size, // 最大只能上传400kb的文件
prevent_duplicates: uploadCfg.prevent_duplicates //布尔类型
// 不允许选取重复文件
},
});
uploader.init();
/**
* 选择了多少文件就会触发多少次
*uploader为当前的plupload实例对象,file为触发此事件的文件对象
*/
uploader.bind('FileFiltered', function(uploader, file) {
eval(uploadCfg.fileFiltered(uploader, file));
});
/**
* 当文件添加到上传队列后触发
* uploader为当前的plupload实例对象,files为一个数组,里面的元素为本次添加到上传队列里的文件对象
* 每一次选择文件都会触发,不管选择多个文件还是单个文件都只会触发一次
*/
uploader.bind('FilesAdded', function(uploader, files) {
eval(uploadCfg.filesAdded(uploader, files));
});
/**
* 当队列中的某一个文件正要开始上传前触发
* uploader为当前的plupload实例对象,file为触发此事件的文件对象
*/
uploader.bind('BeforeUpload', function(uploader, file) {
eval(uploadCfg.beforeUpload(uploader, file));
});
/**
* 会在文件上传过程中不断触发,可以用此事件来显示上传进度
* uploader为当前的plupload实例对象,file为触发此事件的文件对象
*/
uploader.bind('UploadProgress', function(uploader, file) {
eval(uploadCfg.uploadProgress(uploader, file));
});
/**
* 当队列中的某一个文件上传完成后触发监听函数参数:(uploader,file,responseObject)
* uploader为当前的plupload实例对象,
* file为触发此事件的文件对象,
* responseObject为服务器返回的信息对象,它有以下3个属性:
* response:服务器返回的文本
* responseHeaders:服务器返回的头信息
* status:服务器返回的http状态码,比如200
*/
uploader.bind('FileUploaded', function(uploader, file, responseObject) {
eval(uploadCfg.fileUploaded(uploader, file, responseObject));
});
/**
* 当发生错误时触发监听函数参数:(uploader,errObject)
* uploader为当前的plupload实例对象,
* errObject为错误对象,它至少包含以下3个属性(因为不同类型的错误,属性可能会不同):
* code:错误代码,具体请参考plupload上定义的表示错误代码的常量属性
* file:与该错误相关的文件对象
* message:错误信息
*/
uploader.bind('Error', function(uploader, errObject) {
eval(uploadCfg.error(uploader, errObject));
});
/**
* 计算后台的上传大小,因为前端上传空间与后端的大小单位不一致
*/
function calculationMaxSize() {
var size = parseInt(uploadCfg.max_file_size);
if (uploadCfg.max_file_size.indexOf("kb") > -1) {
return parseInt(size) / 1024;
} else if (uploadCfg.max_file_size.indexOf("mb") > -1) {
return size;
} else if (uploadCfg.max_file_size.indexOf("gb") > -1) {
return size * 1024;
} else if (uploadCfg.max_file_size.indexOf("tb") > -1) {
return size * 1024 * 1024;
}
}
return uploader;
}
if (ms == undefined) {
ms = {};
}
window.ms.upload = upload;
}());
\ No newline at end of file
......@@ -26,7 +26,7 @@
return cloneData.filter(father => {
let branchArr = cloneData.filter(child => father[id] == child[parentId]);
branchArr.length > 0 ? father[children] = branchArr : ''
return father[parentId] == 0 // 如果第一层不是parentId=0,请自行修改
return !father[parentId] // 如果第一层不是parentId=0,请自行修改
})
}
......
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.treeSelect=t():e.treeSelect=t()}("undefined"!=typeof self?self:this,function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=1)}([function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default={template:"#tree-select",name:"el-tree-select",props:{props:{type:Object,default:function(){return{value:"id",label:"title",children:"children"}}},options:{type:Array,default:function(){return[]}},value:{default:function(){return""}},clearable:{type:Boolean,default:function(){return!0}},accordion:{type:Boolean,default:function(){return!1}}},data:function(){return{valueId:this.value,valueTitle:"",defaultExpandedKey:[]}},mounted:function(){this.initHandle()},methods:{initHandle:function(){this.valueId&&(this.valueTitle=this.$refs.selectTree.getCurrentNode()[this.props.label],this.$refs.selectTree.setCurrentKey(this.valueId),this.defaultExpandedKey=[this.valueId]),this.initScroll()},initScroll:function(){this.$nextTick(function(){var e=document.querySelectorAll(".el-scrollbar .el-select-dropdown__wrap")[0],t=document.querySelectorAll(".el-scrollbar .el-scrollbar__bar");e.style.cssText="margin: 0px; max-height: none; overflow: hidden;",t.forEach(function(e){return e.style.width=0})})},handleNodeClick:function(e){this.$emit("input",e.id),this.$emit("get-value",e),this.defaultExpandedKey=[]},clearHandle:function(){this.valueTitle="",this.valueId="",this.defaultExpandedKey=[],this.clearSelected(),this.$emit("input","")},clearSelected:function(){document.querySelectorAll("#tree-option .el-tree-node").forEach(function(e){return e.classList.remove("is-current")})}},watch:{value:function(){this.valueId=this.value,0==this.value&&(this.valueTitle="顶级菜单"),this.initHandle()}}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(0),o=n.n(r);for(var i in r)"default"!==i&&function(e){n.d(t,e,function(){return r[e]})}(i);var a=n(8),l=!1;var s=function(e){l||n(2)},u=n(7)(o.a,a.a,!1,s,"data-v-57dc3c0c",null);u.options.__file="src/components/vue-ueditor-wrap.vue",t.default=u.exports},function(e,t,n){var r=n(3);"string"==typeof r&&(r=[[e.i,r,""]]),r.locals&&(e.exports=r.locals);n(5)("47387ba6",r,!1,{})},function(e,t,n){(e.exports=n(4)(void 0)).push([e.i,"\n.el-scrollbar .el-scrollbar__view .el-select-dropdown__item[data-v-57dc3c0c]{\r\nheight: auto;\r\nmax-height: 274px;\r\npadding: 0;\r\noverflow: hidden;\r\noverflow-y: auto;\n}\n.el-select-dropdown__item.selected[data-v-57dc3c0c]{\r\nfont-weight: normal;\n}\nul li[data-v-57dc3c0c] .el-tree .el-tree-node__content{\r\nheight:auto;\r\npadding: 0 20px;\n}\n.el-tree-node__label[data-v-57dc3c0c]{\r\nfont-weight: normal;\n}\n.el-tree[data-v-57dc3c0c] .is-current .el-tree-node__label{\r\ncolor: #409EFF;\r\nfont-weight: 700;\n}\n.el-tree[data-v-57dc3c0c] .is-current .el-tree-node__children .el-tree-node__label{\r\ncolor:#606266;\r\nfont-weight: normal;\n}\r\n",""])},function(e,t){e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var n=function(e,t){var n=e[1]||"",r=e[3];if(!r)return n;if(t){var o=(a=r,"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+new Buffer(JSON.stringify(a)).toString("base64")+" */"),i=r.sources.map(function(e){return"/*# sourceURL="+r.sourceRoot+e+" */"});return[n].concat(i).concat([o]).join("\n")}var a;return[n].join("\n")}(t,e);return t[2]?"@media "+t[2]+"{"+n+"}":n}).join("")},t.i=function(e,n){"string"==typeof e&&(e=[[null,e,""]]);for(var r={},o=0;o<this.length;o++){var i=this[o][0];"number"==typeof i&&(r[i]=!0)}for(o=0;o<e.length;o++){var a=e[o];"number"==typeof a[0]&&r[a[0]]||(n&&!a[2]?a[2]=n:n&&(a[2]="("+a[2]+") and ("+n+")"),t.push(a))}},t}},function(e,t,n){var r="undefined"!=typeof document;if("undefined"!=typeof DEBUG&&DEBUG&&!r)throw new Error("vue-style-loader cannot be used in a non-browser environment. Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.");var o=n(6),i={},a=r&&(document.head||document.getElementsByTagName("head")[0]),l=null,s=0,u=!1,c=function(){},d=null,f="data-vue-ssr-id",p="undefined"!=typeof navigator&&/msie [6-9]\b/.test(navigator.userAgent.toLowerCase());function h(e){for(var t=0;t<e.length;t++){var n=e[t],r=i[n.id];if(r){r.refs++;for(var o=0;o<r.parts.length;o++)r.parts[o](n.parts[o]);for(;o<n.parts.length;o++)r.parts.push(m(n.parts[o]));r.parts.length>n.parts.length&&(r.parts.length=n.parts.length)}else{var a=[];for(o=0;o<n.parts.length;o++)a.push(m(n.parts[o]));i[n.id]={id:n.id,refs:1,parts:a}}}}function v(){var e=document.createElement("style");return e.type="text/css",a.appendChild(e),e}function m(e){var t,n,r=document.querySelector("style["+f+'~="'+e.id+'"]');if(r){if(u)return c;r.parentNode.removeChild(r)}if(p){var o=s++;r=l||(l=v()),t=_.bind(null,r,o,!1),n=_.bind(null,r,o,!0)}else r=v(),t=function(e,t){var n=t.css,r=t.media,o=t.sourceMap;r&&e.setAttribute("media",r);d.ssrId&&e.setAttribute(f,t.id);o&&(n+="\n/*# sourceURL="+o.sources[0]+" */",n+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(o))))+" */");if(e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}.bind(null,r),n=function(){r.parentNode.removeChild(r)};return t(e),function(r){if(r){if(r.css===e.css&&r.media===e.media&&r.sourceMap===e.sourceMap)return;t(e=r)}else n()}}e.exports=function(e,t,n,r){u=n,d=r||{};var a=o(e,t);return h(a),function(t){for(var n=[],r=0;r<a.length;r++){var l=a[r];(s=i[l.id]).refs--,n.push(s)}t?h(a=o(e,t)):a=[];for(r=0;r<n.length;r++){var s;if(0===(s=n[r]).refs){for(var u=0;u<s.parts.length;u++)s.parts[u]();delete i[s.id]}}}};var y,g=(y=[],function(e,t){return y[e]=t,y.filter(Boolean).join("\n")});function _(e,t,n,r){var o=n?"":r.css;if(e.styleSheet)e.styleSheet.cssText=g(t,o);else{var i=document.createTextNode(o),a=e.childNodes;a[t]&&e.removeChild(a[t]),a.length?e.insertBefore(i,a[t]):e.appendChild(i)}}},function(e,t){e.exports=function(e,t){for(var n=[],r={},o=0;o<t.length;o++){var i=t[o],a=i[0],l={id:e+":"+o,css:i[1],media:i[2],sourceMap:i[3]};r[a]?r[a].parts.push(l):n.push(r[a]={id:a,parts:[l]})}return n}},function(e,t){e.exports=function(e,t,n,r,o,i){var a,l=e=e||{},s=typeof e.default;"object"!==s&&"function"!==s||(a=e,l=e.default);var u,c="function"==typeof l?l.options:l;if(t&&(c.render=t.render,c.staticRenderFns=t.staticRenderFns,c._compiled=!0),n&&(c.functional=!0),o&&(c._scopeId=o),i?(u=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),r&&r.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(i)},c._ssrRegister=u):r&&(u=r),u){var d=c.functional,f=d?c.render:c.beforeCreate;d?(c._injectStyles=u,c.render=function(e,t){return u.call(t),f(e,t)}):c.beforeCreate=f?[].concat(f,u):[u]}return{esModule:a,exports:l,options:c}}},function(e,t,n){"use strict";var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{attrs:{id:"selecttree"}},[n("el-select",{attrs:{value:e.valueTitle,clearable:e.clearable},on:{clear:e.clearHandle}},[n("el-option",{staticClass:"options",attrs:{value:e.valueTitle,label:e.valueTitle}},[n("el-tree",{ref:"selectTree",attrs:{id:"tree-option","default-expand-all":"","expand-on-click-node":!1,accordion:e.accordion,data:e.options,props:e.props,"node-key":e.props.value,"default-expanded-keys":e.defaultExpandedKey},on:{"node-click":function(t){return t.target!==t.currentTarget?null:e.handleNodeClick(t)}}})],1)],1)],1)};r._withStripped=!0;var o={render:r,staticRenderFns:[]};t.a=o}]).default});
Vue.component('tree-select',treeSelect)
\ No newline at end of file
Supports Markdown
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