Commit 1058ef21 authored by ms group dev's avatar ms group dev
Browse files

Merge remote-tracking branch 'origin/4.7.2'

Conflicts:
	pom.xml
	src/main/java/net/mingsoft/config/WebConfig.java
parents f56bed37 25f194bb
/**
* 上传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
This diff is collapsed.
This diff is collapsed.
(function() { (function() {
axios.defaults.timeout = 1000 * 60; axios.defaults.timeout = 1000 * 60;
axios.defaults.baseURL = ''; axios.defaults.baseURL = '';
//http request 拦截器 //http request 拦截器
axios.interceptors.request.use( axios.interceptors.request.use(
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
axios.interceptors.response.use( axios.interceptors.response.use(
function(response) { function(response) {
//登录失效 //登录失效
if (response.data.bizCode == "401") { if (response.data.bizCode == "401" && ms.isLoginRedirect) {
window.parent.location.href = ms.base + "/" + ms.login + "?backurl=" + encodeURIComponent(window.parent.location.href); window.parent.location.href = ms.base + "/" + ms.login + "?backurl=" + encodeURIComponent(window.parent.location.href);
return; return;
} }
...@@ -79,8 +79,8 @@ ...@@ -79,8 +79,8 @@
} }
return new Promise(function(resolve, reject) { return new Promise(function(resolve, reject) {
ajax().get(url, { ajax().get(url, {
params: params params: params
}) })
.then(function(response) { .then(function(response) {
resolve(response.data); resolve(response.data);
}) })
...@@ -170,4 +170,5 @@ ...@@ -170,4 +170,5 @@
window.ms = {}; window.ms = {};
} }
window.ms.http = http; window.ms.http = http;
window.ms.isLoginRedirect = true;
}()); }());
\ No newline at end of file
...@@ -20,6 +20,15 @@ ...@@ -20,6 +20,15 @@
log(e.message); log(e.message);
} }
} }
//树形数据组织
function treeData (source, id, parentId, children) {
let cloneData = JSON.parse(JSON.stringify(source))
return cloneData.filter(father => {
let branchArr = cloneData.filter(child => father[id] == child[parentId]);
branchArr.length > 0 ? father[children] = branchArr : ''
return !father[parentId] // 如果第一层不是parentId=0,请自行修改
})
}
//日期处理 //日期处理
var date = { var date = {
...@@ -165,6 +174,7 @@ ...@@ -165,6 +174,7 @@
var util = { var util = {
getParameter: getParameter, getParameter: getParameter,
treeData:treeData,
date: date, date: date,
array: array, array: array,
log: log, log: log,
......
!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
body,html{height:100%}body .ms-text2-hide,body .ms-text3-hide{display:-webkit-box;-webkit-box-orient:vertical}body .ms-menu .ms-menu-parent .ms-menu-child li a .caret,body .ms-menu .panel-group .panel-default .panel-body .dropdown-menu li a .caret{border-top:4px solid transparent;border-left:4px dashed;border-bottom:4px solid transparent}.scrollable{-webkit-overflow-scrolling:touch}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-thumb{background-color:rgba(50,50,50,.3)}::-webkit-scrollbar-thumb:hover{background-color:rgba(50,50,50,.6)}::-webkit-scrollbar-track{background-color:rgba(50,50,50,.1)}::-webkit-scrollbar-track:hover{background-color:rgba(50,50,50,.2)}.has-feedback label~.form-control-feedback{top:0}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:4px}body{width:100%;background:#fcfcfc;line-height:21px;color:#555;overflow-y:auto}body .modal-dialog .modal-content .modal-body,body .pageNav{overflow:hidden}body .btn-group .btn{margin-right:0}body dl,body dl dd,body dl dt,body input,body ol,body ol li,body ul,body ul li{margin:0;padding:0;list-style:none}body .row{margin:0}body a,body a:active,body a:link,body a:visited{text-decoration:none;color:#2a6496}body .modal-dialog{width:35%;margin:50px auto}body .modal-dialog .modal-content{border-radius:4px}body .modal-dialog .modal-content .modal-header{padding:10px;background-color:#f5f5f5;color:#333;border-radius:4px}body .ms-upgrader-number{display:none}body .ms-text-hide{word-break:keep-all;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body .ms-text2-hide{text-overflow:ellipsis;-webkit-line-clamp:2}body .ms-text3-hide{text-overflow:ellipsis;-webkit-line-clamp:3}body .ms-text8-hide{text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:8;-webkit-box-orient:vertical}body .pageNav{text-align:right;margin-bottom:30px;padding-right:8px}body .ms-top{height:40px;width:100%;min-width:500px;background-color:#283649}body .ms-top .ms-top-logo{width:164px;float:left;padding:8px 0 0 14px}body .ms-top .ms-top a:focus,body .ms-top .ms-top a:hover{background:#e6e6e6;color:#1d2939}body .ms-top .ms-top-menu{height:100%}body .ms-top .ms-top-menu .btn-group .btn-group .ms-rg-top-bt{box-shadow:none;border:none;height:40px;text-shadow:none;color:#e4e4e4;background:repeat-x none}body .ms-top .ms-top-menu .btn-group .btn-group .ms-rg-top-bt .caret{border-top:4px dashed;border-right:4px solid transparent;border-left:4px solid transparent}body .ms-top .ms-top-menu .btn-group .btn-group .dropdown-menu{background-color:#1d2939}body .ms-top .ms-top-menu .btn-group .btn-group .dropdown-menu li>a{color:#e4e4e4}body .ms-top .ms-top-menu .btn-group .btn-group .dropdown-menu a:focus,body .ms-top .ms-top-menu .btn-group .btn-group .dropdown-menu a:hover{color:#1caf9a;text-decoration:none;padding-left:20px;background:repeat-x none}body .ms-top .ms-top-menu .btn-group .ms-top-menuchild{float:right;position:relative}body .ms-top .ms-top-menu .btn-group .ms-top-menuchild .ms-top-menuchildtext{width:45px;height:40px;color:#e4e4e4;float:right;text-align:center;cursor:pointer;line-height:40px}body .ms-top .ms-top-menu .btn-group .ms-top-menuchild .ms-top-menuchildTit{display:block;top:41px;left:8px;width:120px;color:#333}body .ms-top .ms-top-menu .btn-group .ms-top-menuchild .badge{position:absolute;right:45px;top:4px;padding:2px 5px;background-color:red}body .ms-top .ms-top-menu .btn-group .ms-top a:focus,body .ms-top .ms-top-menu .btn-group .ms-top a:hover,body .ms-top .ms-top-menu .btn-group .ms-top-menuchild a:focus,body .ms-top .ms-top-menu .btn-group .ms-top-menuchild a:hover{background:#e6e6e6;color:#1d2939}body .ms-menu{background-color:#1d2939;position:relative;top:40px;width:13%;height:100%;float:left;padding:0 15px;min-width:160px;overflow-y:auto}body .ms-menu .ms-menu-parent{background:#1d2939;border:none;color:#e4e4e4;padding-top:1px;border-radius:2px}body .ms-menu .ms-menu-parent .ms-menu-parent-header{background:#1d2939;border:none;color:#e4e4e4;padding:6px;border-radius:2px}body .ms-menu .ms-menu-parent .ms-menu-parent-header .icon-logo{margin-right:10px;display:block;float:left;position:relative;color:#e4e4e4;font-size:16px;height:25px}body .ms-menu .ms-menu-parent .ms-menu-parent-header .ms-menu-parent-title{font-size:14px;color:#e4e4e4;cursor:pointer}body .ms-menu .ms-menu-parent .ms-menu-parent-header .openMenu{display:block;float:right;font-size:17px;line-height:24px}body .ms-menu .ms-menu-parent .nav-title{background:#fff;border:none;color:#e4e4e4;padding:6px;border-radius:2px}body .ms-menu .ms-menu-parent .nav-title .icon-logo{margin-right:10px;display:block;float:left;position:relative;color:#1d2939;font-size:16px;height:25px}body .ms-menu .ms-menu-parent .nav-title .ms-menu-parent-title{font-size:14px;color:#1d2939;cursor:pointer}body .ms-menu .ms-menu-parent .nav-title .openMenu{display:block;float:right;font-size:17px;line-height:24px}body .ms-menu .ms-menu-parent .ms-menu-child{display:none;border:none;box-shadow:none;position:relative;background:#1d2939;margin:0;border-radius:0}body .ms-menu .ms-menu-parent .ms-menu-child li{border:none;padding:5px 0 5px 16px}body .ms-menu .ms-menu-parent .ms-menu-child li a{color:#e4e4e4}body .ms-menu .ms-menu-parent .ms-menu-child li a:focus,body .ms-menu .ms-menu-parent .ms-menu-child li a:hover{color:#1caf9a;text-decoration:none;padding-left:0}body .ms-menu .panel-group .panel-heading+.panel-collapse>.list-group,body .ms-menu .panel-group .panel-heading+.panel-collapse>.panel-body{border:none}body .ms-menu .panel-group{width:100%;float:left;padding:0}body .ms-menu .panel-group .panel{margin-top:1px;background-color:#1d2939}body .ms-menu .panel-group .panel-default{position:relative;border:none;box-shadow:none}body .ms-menu .panel-group .panel-default .panel-heading{background:#1d2939;border:none;color:#e4e4e4;padding:0;border-radius:2px}body .ms-menu .panel-group .panel-default .panel-heading .icon-logo{margin-right:10px;display:block;float:left;position:relative;color:#e4e4e4;font-size:16px;height:25px}body .ms-menu .panel-group .panel-default .panel-heading .panel-title{font-size:14px;color:#e4e4e4;cursor:pointer}body .ms-menu .panel-group .panel-default .panel-heading .openMenu{display:block;float:right;font-size:17px;line-height:24px}body .ms-menu .panel-group .panel-default .panel-default>.panel-heading a:focus,body .ms-menu .panel-group .panel-default .panel-heading a:hover{color:#1d2939;border-radius:2px}body .ms-menu .panel-group .panel-default .nav-active{background-color:#fff;border-radius:2px}body .ms-menu .panel-group .panel-default .nav-active .icon-logo,body .ms-menu .panel-group .panel-default .nav-active .panel-title{color:#1d2939}body .ms-menu .panel-group .panel-default .collapse .panel-body,body .ms-menu .panel-group .panel-default .panel-body{padding:0}body .ms-menu .panel-group .panel-default .panel-body .ms-leftMenu{display:block;border:none;box-shadow:none;position:relative;background:#1d2939;margin:0;border-radius:0}body .ms-menu .panel-group .panel-default .panel-body .dropdown-menu{background:#1d2939}body .ms-menu .panel-group .panel-default .panel-body .dropdown-menu li{border:none}body .ms-menu .panel-group .panel-default .panel-body .dropdown-menu li a{color:#e4e4e4;padding:5px 24px}body .ms-menu .panel-group .panel-default .panel-body .dropdown-menu li a:focus,body .ms-menu .panel-group .panel-default .panel-body .dropdown-menu li a:hover{color:#1caf9a;text-decoration:none;padding-left:24px;background:repeat-x none}body .ms-content{background-color:#fcfcfc;height:100%;overflow:hidden;padding:0}body .row .caption{text-align:center}body .row .caption p{height:22px;overflow:hidden}body .ms-content-body-title{border-bottom:1px solid #d3d7db;border-top:1px solid #eee;background:#fff;color:#666;height:44px;line-height:42px;padding-left:14px;width:100%;z-index:1000;text-align:right}body .ms-content-body-title span{text-align:left;float:left;font-weight:700;font-size:16px}body .ms-content-body-title .btn{margin-bottom:4px;margin-right:10px}body .ms-content-body-panel{padding:10px 10px 30px;width:100%;min-width:800px;z-index:999;height:100%;overflow-y:auto;overflow-x:hidden}body .ms-content-body-panel .ms-content-body-panel-nav{background:#fff;padding:10px 8px;border-top:2px #8296be solid}body .ms-content-body-panel .ms-panel-nav{width:100%;float:left;margin-bottom:10px}body .ms-content-body-panel .ms-panel-nav .btn{float:left;margin-right:5px}body .ms-content-body-panel .ms-panel-nav .form-control{width:125px;float:left;margin-right:5px}body .ms-content-body-panel .ms-panel-nav .form-seach{width:200px;float:left;margin-right:5px}body .ms-content-menu{width:15%;float:left;color:#666;background:#fff;height:100%;border-right:1px solid #ccc;overflow-y:auto}body .ms-content-body{height:100%;float:left;width:100%;overflow-y:hidden;overflow-x:hidden}body .ms-content-body .updatePrompt{margin:20px;border:1px solid #e0e0e0;padding:10px;border-radius:5px}body .ms-content-body .updatePrompt span{color:#0096fb;margin-right:10px}body .ms-content-body h3{padding-left:20px}body .ms-content-body .ms-content-msPlug{border-bottom:1px solid #ddd;padding-bottom:30px}body .ms-content-body .ms-content-msPlug .thumbnail{margin-bottom:30px}body .ms-content-body .ms-content-msPlug .thumbnail img.lazy{width:100%}body .ms-content-body .ms-content-msPlug,body .ms-content-body .ms-content-msTemplet{margin:15px 0;padding:0 10px}body .ms-content-body .ms-content-msPlug div,body .ms-content-body .ms-content-msTemplet div{padding-right:10px;padding-left:10px}body .ms-content-body .ms-content-msPlug div .thumbnail,body .ms-content-body .ms-content-msTemplet div .thumbnail{margin-bottom:20px;padding:5px}body .ms-content-body .ms-content-msPlug div .thumbnail .ms-plugTitle,body .ms-content-body .ms-content-msPlug div .thumbnail .ms-templateTitle,body .ms-content-body .ms-content-msTemplet div .thumbnail .ms-plugTitle,body .ms-content-body .ms-content-msTemplet div .thumbnail .ms-templateTitle{text-align:left;font-size:20px;color:#333;height:55px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;padding:0}body .ms-content-body .ms-content-msPlug div .thumbnail .ms-plugTitle span,body .ms-content-body .ms-content-msPlug div .thumbnail .ms-templateTitle span,body .ms-content-body .ms-content-msTemplet div .thumbnail .ms-plugTitle span,body .ms-content-body .ms-content-msTemplet div .thumbnail .ms-templateTitle span{font-size:12px}body .ms-content-body .ms-content-msPlug div .thumbnail .ms-plugTitle .ms-plugShareHead,body .ms-content-body .ms-content-msPlug div .thumbnail .ms-plugTitle .ms-templateShareHead,body .ms-content-body .ms-content-msPlug div .thumbnail .ms-templateTitle .ms-plugShareHead,body .ms-content-body .ms-content-msPlug div .thumbnail .ms-templateTitle .ms-templateShareHead,body .ms-content-body .ms-content-msTemplet div .thumbnail .ms-plugTitle .ms-plugShareHead,body .ms-content-body .ms-content-msTemplet div .thumbnail .ms-plugTitle .ms-templateShareHead,body .ms-content-body .ms-content-msTemplet div .thumbnail .ms-templateTitle .ms-plugShareHead,body .ms-content-body .ms-content-msTemplet div .thumbnail .ms-templateTitle .ms-templateShareHead{padding:0;float:left;margin-right:10px}body .ms-content-body .ms-content-msPlug div .thumbnail .ms-plugTitle .ms-plugShareHead img,body .ms-content-body .ms-content-msPlug div .thumbnail .ms-plugTitle .ms-templateShareHead img,body .ms-content-body .ms-content-msPlug div .thumbnail .ms-templateTitle .ms-plugShareHead img,body .ms-content-body .ms-content-msPlug div .thumbnail .ms-templateTitle .ms-templateShareHead img,body .ms-content-body .ms-content-msTemplet div .thumbnail .ms-plugTitle .ms-plugShareHead img,body .ms-content-body .ms-content-msTemplet div .thumbnail .ms-plugTitle .ms-templateShareHead img,body .ms-content-body .ms-content-msTemplet div .thumbnail .ms-templateTitle .ms-plugShareHead img,body .ms-content-body .ms-content-msTemplet div .thumbnail .ms-templateTitle .ms-templateShareHead img{width:50px;border-radius:100%;height:50px}body .ms-content-body .ms-content-msPlug div .thumbnail .ms-plugTitle .ms-plugShareHead .lazy,body .ms-content-body .ms-content-msPlug div .thumbnail .ms-plugTitle .ms-templateShareHead .lazy,body .ms-content-body .ms-content-msPlug div .thumbnail .ms-templateTitle .ms-plugShareHead .lazy,body .ms-content-body .ms-content-msPlug div .thumbnail .ms-templateTitle .ms-templateShareHead .lazy,body .ms-content-body .ms-content-msTemplet div .thumbnail .ms-plugTitle .ms-plugShareHead .lazy,body .ms-content-body .ms-content-msTemplet div .thumbnail .ms-plugTitle .ms-templateShareHead .lazy,body .ms-content-body .ms-content-msTemplet div .thumbnail .ms-templateTitle .ms-plugShareHead .lazy,body .ms-content-body .ms-content-msTemplet div .thumbnail .ms-templateTitle .ms-templateShareHead .lazy{background:url(http://static.ming-soft.net/msheader.jpg)}body .ms-content-body .ms-content-msPlug div .thumbnail .ms-plugTitle .ms-plugShareVersion p,body .ms-content-body .ms-content-msPlug div .thumbnail .ms-plugTitle .ms-templateShareName p,body .ms-content-body .ms-content-msPlug div .thumbnail .ms-templateTitle .ms-plugShareVersion p,body .ms-content-body .ms-content-msPlug div .thumbnail .ms-templateTitle .ms-templateShareName p,body .ms-content-body .ms-content-msTemplet div .thumbnail .ms-plugTitle .ms-plugShareVersion p,body .ms-content-body .ms-content-msTemplet div .thumbnail .ms-plugTitle .ms-templateShareName p,body .ms-content-body .ms-content-msTemplet div .thumbnail .ms-templateTitle .ms-plugShareVersion p,body .ms-content-body .ms-content-msTemplet div .thumbnail .ms-templateTitle .ms-templateShareName p{font-size:12px;margin-bottom:5px}body .ms-content-body .ms-content-msPlug div .thumbnail .ms-plugTitle .ms-plugShareName p,body .ms-content-body .ms-content-msPlug div .thumbnail .ms-templateTitle .ms-plugShareName p,body .ms-content-body .ms-content-msTemplet div .thumbnail .ms-plugTitle .ms-plugShareName p,body .ms-content-body .ms-content-msTemplet div .thumbnail .ms-templateTitle .ms-plugShareName p{font-size:16px;margin-bottom:5px}body .ms-content-body .ms-content-msPlug div .thumbnail .ms-plugTitle .ms-plugShareBb,body .ms-content-body .ms-content-msPlug div .thumbnail .ms-templateTitle .ms-plugShareBb,body .ms-content-body .ms-content-msTemplet div .thumbnail .ms-plugTitle .ms-plugShareBb,body .ms-content-body .ms-content-msTemplet div .thumbnail .ms-templateTitle .ms-plugShareBb{float:left;padding:0;font-size:12px;color:#999}body .ms-content-body .ms-content-msPlug div .thumbnail .ms-plugTitle .ms-plugShareNew,body .ms-content-body .ms-content-msPlug div .thumbnail .ms-templateTitle .ms-plugShareNew,body .ms-content-body .ms-content-msTemplet div .thumbnail .ms-plugTitle .ms-plugShareNew,body .ms-content-body .ms-content-msTemplet div .thumbnail .ms-templateTitle .ms-plugShareNew{float:right;color:#fff;background:red;border-radius:4px;padding:0 3px;margin-top:0;border-bottom:#b00 2px solid;margin-right:-10px}body .ms-content-body .ms-content-msPlug div .thumbnail .ms-templatePic,body .ms-content-body .ms-content-msTemplet div .thumbnail .ms-templatePic{height:180px;overflow:hidden;margin-bottom:10px;padding:0}body .ms-content-body .ms-content-msPlug div .thumbnail .ms-templatePic img,body .ms-content-body .ms-content-msTemplet div .thumbnail .ms-templatePic img{width:100%}body .ms-content-body .ms-content-msPlug div .thumbnail .sharePic,body .ms-content-body .ms-content-msTemplet div .thumbnail .sharePic{height:225px;margin-bottom:0}body .ms-content-body .ms-content-msPlug div .thumbnail .ms-plugDescription,body .ms-content-body .ms-content-msTemplet div .thumbnail .ms-plugDescription{height:60px;overflow:hidden;margin-bottom:10px;word-break:break-all;padding:0;text-align:left}body .ms-content-body .ms-content-msPlug div .thumbnail .shareTitle,body .ms-content-body .ms-content-msTemplet div .thumbnail .shareTitle{text-align:center;font-size:20px}body .ms-content-body .ms-content-msPlug div .thumbnail .shareWelcome,body .ms-content-body .ms-content-msTemplet div .thumbnail .shareWelcome{height:26px;text-align:center;font-size:12px}body .ms-content table,body .ms-content-body table{width:100%;color:#666;border:none;background-color:#fff;padding:10px 0;box-shadow:0 0 1px #ccc}body .ms-content table tbody tr,body .ms-content-body table tbody tr{height:30px}body .ms-content table tbody tr .text-center,body .ms-content table tbody tr .text-left,body .ms-content-body table tbody tr .text-center,body .ms-content-body table tbody tr .text-left{padding:5px;line-height:26px;font-size:12px}body .ms-content .searchForm .control-label,body .ms-content .searchForm .ms-form-input,body .ms-content-body .searchForm .control-label,body .ms-content-body .searchForm .ms-form-input{line-height:35px}body .ms-content .searchForm,body .ms-content-body .searchForm{margin-bottom:10px;padding:10px 0;background-color:#fff;box-shadow:0 1px 5px #A1A1A1}body .ms-content .searchForm .row,body .ms-content-body .searchForm .row{margin-right:0}body .ms-content .searchForm .row .col-md-3,body .ms-content-body .searchForm .row .col-md-3{padding:0 10px}body .ms-content .searchForm .col-sm-2,body .ms-content-body .searchForm .col-sm-2{width:auto}body .ms-content .searchForm .ms-from-group-input,body .ms-content-body .searchForm .ms-from-group-input{padding-left:0;padding-right:0}body .ms-content .searchForm .ms-from-group-input input,body .ms-content-body .searchForm .ms-from-group-input input{width:100%}body .ms-content .searchForm .ms-from-group-input input[type=radio],body .ms-content .searchForm .ms-from-group-input input[type=checkbox],body .ms-content-body .searchForm .ms-from-group-input input[type=radio],body .ms-content-body .searchForm .ms-from-group-input input[type=checkbox]{width:auto}body .ms-content .searchForm .ms-from-group-input .input-group,body .ms-content .searchForm .ms-from-group-input select,body .ms-content-body .searchForm .ms-from-group-input .input-group,body .ms-content-body .searchForm .ms-from-group-input select{width:100%}body .ms-content .searchForm .form-group,body .ms-content-body .searchForm .form-group{margin-bottom:10px}body .ms-content .searchForm .checkbox,body .ms-content .searchForm .radio,body .ms-content-body .searchForm .checkbox,body .ms-content-body .searchForm .radio{margin-top:4px}body .ms-content .searchForm .bottom,body .ms-content-body .searchForm .bottom{text-align:right;padding:10px 10px 0 0;border-top:1px solid #EAE7E7}body .ms-content .searchForm .bottom .close,body .ms-content-body .searchForm .bottom .close{float:left}body .select2-container .select2-choice{height:34px}body .select2-container{border:none;padding:0}
\ 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