5.0.233
parent
03c5d05c59
commit
bf3cd0b895
|
@ -88,6 +88,11 @@
|
|||
<artifactId>kdayun-demo</artifactId>
|
||||
<version>1.0.1</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.kdayun</groupId>
|
||||
<artifactId>kdayun-api</artifactId>
|
||||
<version>1.0.2</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<defaultGoal>compile</defaultGoal>
|
||||
|
|
|
@ -5,5 +5,7 @@ mybatis:
|
|||
type-handlers-package: com.kdayun.z1.core.mybatis.typehandle
|
||||
configuration:
|
||||
jdbc-type-for-null: 'null'
|
||||
# mybatis返回的map内的key全部转化成大写 如果使用了PostgreSql 需要开启这个选项. 否则返回的map 全部会转成小写导致无法显示数据
|
||||
map-upper: false
|
||||
|
||||
|
|
@ -275,5 +275,5 @@
|
|||
"explain": "nvl表达式,返回第一个不为空的值。示例:cxt.nvl(null,22) 返回22"
|
||||
}
|
||||
]
|
||||
},
|
||||
}
|
||||
]
|
|
@ -36,7 +36,6 @@ layui.define(function (exports) {
|
|||
*/
|
||||
throwError: function (msg) {
|
||||
throw new Error(msg);
|
||||
return;
|
||||
},
|
||||
/**
|
||||
* 弹出一个错误提示
|
||||
|
@ -139,6 +138,80 @@ layui.define(function (exports) {
|
|||
$('.layui-icon-next').hide();
|
||||
}
|
||||
},
|
||||
/**
|
||||
* 打开tab标签页
|
||||
* @param {*} url 页签的URL
|
||||
* @param {*} text 页签的标题
|
||||
* @param {*} resid 资源id
|
||||
* @param {*} param 传递的参数
|
||||
* @param {*} callback 完成回调
|
||||
*/
|
||||
openSmallPage: function (url, text, resid, param, callback) {
|
||||
//遍历页签选项卡
|
||||
var matchTo, tabs = $('.layadmin-tabsbody-item>iframe'),
|
||||
path = url.replace(/(^http(s*):)|(\?[\s\S]*$)/g, ''),
|
||||
tempresid = resid ? resid : url;
|
||||
if (url.indexOf('isnewtab=1') > -1) {
|
||||
window.open(url, "_blank");
|
||||
callback && callback();
|
||||
return;
|
||||
}
|
||||
|
||||
url = common.setUrlParamObj(url, param, /tokenId/)
|
||||
if (!common.isEmpty(resid)) {
|
||||
url = common.setUrlParamObj(url, { resId: resid }, /tokenId/)
|
||||
}
|
||||
|
||||
tabs.each(function (index) {
|
||||
let iframe = $(this),
|
||||
menuid = iframe.attr('menuid');
|
||||
if (menuid === tempresid) {
|
||||
matchTo = true;
|
||||
common.tabsPage.index = index;
|
||||
}
|
||||
});
|
||||
var APP_BODY = '#LAY_app_body',
|
||||
text = text || '签页标题';
|
||||
|
||||
$('.layadmin-tabsbody-item').removeClass("layui-show")
|
||||
//如果未在选项卡中匹配到,则追加选项卡
|
||||
if (!matchTo) {
|
||||
$(APP_BODY).append([
|
||||
'<div class="layadmin-tabsbody-item layui-show">',
|
||||
'<iframe src="' + url + '" frameborder="0" menuid=' + resid + ' class="layadmin-iframe" name="layadmin-iframe"></iframe>',
|
||||
'</div>'
|
||||
].join(''));
|
||||
common.tabsPage.index = tabs.length;
|
||||
$(".kdayun-small-title-t").html(text)
|
||||
common.setPrevAndNext();
|
||||
$('.layadmin-tabsbody-shade').show();
|
||||
}
|
||||
|
||||
let $iframe
|
||||
if (path.indexOf('/coremodelshow') != -1 && resid) {
|
||||
$iframe = $(APP_BODY).find('iframe[menuid="' + resid + '"]');
|
||||
}
|
||||
else {
|
||||
$iframe = $(APP_BODY).find('iframe[src="' + url + '"]');
|
||||
}
|
||||
$iframe && !$iframe.attr('loaded') && $iframe.load(function () {
|
||||
if (url.indexOf('http:') != -1 || url.indexOf('https:') != -1 || url.indexOf('/coremodelshow') == -1) {
|
||||
$('.layadmin-tabsbody-shade').fadeOut('600');
|
||||
}
|
||||
$iframe.attr('loaded', 'true')
|
||||
});
|
||||
$iframe.parent().addClass("layui-show")
|
||||
$(".kdayun-small-title-t").html(text)
|
||||
callback && callback();
|
||||
|
||||
//执行 {setter.MOD_NAME}.tabsPage 下的事件
|
||||
layui.event.call(this, setter.MOD_NAME, 'tabsPage({*})', {
|
||||
url: tempresid,
|
||||
text: text
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* 打开tab标签页
|
||||
* @param {*} url 页签的URL
|
||||
|
@ -337,8 +410,56 @@ layui.define(function (exports) {
|
|||
}
|
||||
return message.broadcast(msgobj);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//页面服务
|
||||
let PageService = {
|
||||
doOpen: function (type, typeValue, pageCoinfg = {}, param = {}) {
|
||||
let url, urlParam;
|
||||
if (type == 'menuId') {
|
||||
url = "/manager/coremodeldesign/queryDetailPageIdByMenuId";
|
||||
urlParam = { menuId: typeValue };
|
||||
} else {
|
||||
url = "/manager/coremodeldesign/queryDetailPageIdByMenuCode";
|
||||
urlParam = { menuCode: typeValue };
|
||||
}
|
||||
//得到菜单的资源信息
|
||||
$.get(layui.cache['contentPath'] + url, urlParam,
|
||||
function (res) {
|
||||
res = JSON.parse(res)
|
||||
if (res.state == 'OK') {
|
||||
let pageId = 'a' + new Date().getTime(),
|
||||
pageParamId = '&__pageId=' + pageId,
|
||||
ret = res.obj
|
||||
param = $.extend(param, ret);
|
||||
param['__pageId'] = pageId;
|
||||
let url = `${layui.cache['contentPath']}/manager/coremodelshow/?${type}=${typeValue}${pageParamId}`;
|
||||
for (key in param) {
|
||||
param[key] && (url += `&${key}=${param[key]}`)
|
||||
}
|
||||
pageCoinfg.area = pageCoinfg.area || ['70%', '70%']
|
||||
pageCoinfg.content = url;
|
||||
pageCoinfg.title = ret.title;
|
||||
pageCoinfg.id = pageId
|
||||
pageCoinfg.zIndex = new Date().getTime()
|
||||
common.openLayerPage(pageCoinfg, param);
|
||||
} else {
|
||||
common.msgError(res.msg);
|
||||
}
|
||||
}
|
||||
);
|
||||
},
|
||||
openDetailPageByMenuId: function (menuId, pageCoinfg, param = {}) {
|
||||
PageService.doOpen('menuId', menuId, pageCoinfg, param);
|
||||
},
|
||||
openDetailPageByMenuCode: function (menuCode, pageCoinfg, param = {}) {
|
||||
PageService.doOpen('menuCode', menuCode, pageCoinfg, param);
|
||||
}
|
||||
}
|
||||
window['kdayun'] = window['kdayun'] || {}
|
||||
window['kdayun']['PageService'] = PageService;
|
||||
|
||||
//对外暴露的接口
|
||||
exports('common', common);
|
||||
});
|
|
@ -131,15 +131,15 @@ layui.define([], function (exports) {
|
|||
* 跨iframe广播消息
|
||||
* @param {*} msg
|
||||
*/
|
||||
Messenger.prototype.broadcast = function (msg) {
|
||||
let getFrames=function(win){
|
||||
if(!win){return []}
|
||||
var ret=[]
|
||||
if(win.frames && win.frames.length>0){
|
||||
Messenger.prototype.broadcast = function (msg) {
|
||||
let getFrames = function (win) {
|
||||
if (!win) { return [] }
|
||||
var ret = []
|
||||
if (win.frames && win.frames.length > 0) {
|
||||
for (let i = 0; i < win.frames.length; i++) {
|
||||
const fra = win.frames[i];
|
||||
ret.push(fra);
|
||||
ret=ret.concat(getFrames(fra));
|
||||
ret = ret.concat(getFrames(fra));
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
|
@ -148,7 +148,7 @@ layui.define([], function (exports) {
|
|||
this.targets = {};
|
||||
this.targets['top'] = new Target(top.window, 'top', this.prefix);
|
||||
for (let i = 0; i < iframes.length; i++) {
|
||||
this.addTarget(iframes[i], iframes[i].name || this.generalGUID() );
|
||||
this.addTarget(iframes[i], this.generalGUID());
|
||||
}
|
||||
let targets = this.targets;
|
||||
for (let tar in targets) {
|
||||
|
@ -161,7 +161,7 @@ layui.define([], function (exports) {
|
|||
* 本iframe发送消息
|
||||
* @param {*} msg
|
||||
*/
|
||||
Messenger.prototype.send = function (msg) {
|
||||
Messenger.prototype.send = function (msg) {
|
||||
var targets = this.targets;
|
||||
for (var target in this.targets) {
|
||||
if (targets.hasOwnProperty(target)) {
|
||||
|
@ -207,7 +207,7 @@ layui.define([], function (exports) {
|
|||
* @param msg 消息值,常量
|
||||
* @param callback 消息处理回调
|
||||
*/
|
||||
Messenger.prototype.on = function ( msg, callback) {
|
||||
Messenger.prototype.on = function (msg, callback) {
|
||||
window.addEventListener('message', function (event) {
|
||||
if (event.data) {
|
||||
let d = JSON.parse(event.data);
|
||||
|
@ -236,5 +236,316 @@ layui.define([], function (exports) {
|
|||
};
|
||||
return Messenger;
|
||||
})();
|
||||
/**
|
||||
* SSE类
|
||||
*/
|
||||
class Sse {
|
||||
|
||||
/**
|
||||
* @param msgId 服务端消息唯一id
|
||||
* @param timeOut [可选参数] 消息的监听停留时间单位秒; 默认: 300秒
|
||||
*/
|
||||
constructor(msgId, timeOut) {
|
||||
this.msgId = msgId;
|
||||
this.timeOut = timeOut;
|
||||
}
|
||||
init() {
|
||||
this.source = null;
|
||||
if (window.EventSource) {
|
||||
this.source = new EventSource(`${layui.cache['contentPath']}/core/sse/connect/${this.msgId}/${this.timeOut}`);
|
||||
this.source.addEventListener('open', (e) => {
|
||||
|
||||
}, false);
|
||||
this.source.addEventListener('message', (e) => {
|
||||
let data = Base64.base64decode(e.data);
|
||||
this.callback && this.callback(data);
|
||||
});
|
||||
this.source.addEventListener('error', (e) => {
|
||||
if (e.readyState === EventSource.CLOSED) {
|
||||
} else {
|
||||
console.error(e);
|
||||
}
|
||||
}, false);
|
||||
}
|
||||
}
|
||||
on(callback) {
|
||||
this.init();
|
||||
this.callback = callback;
|
||||
}
|
||||
|
||||
/**
|
||||
* 发送服务端消息
|
||||
* @param message 消息内容
|
||||
*/
|
||||
send(message) {
|
||||
Sse.sendTo(this.msgId, message)
|
||||
}
|
||||
|
||||
/**
|
||||
* 给指定的msgId 发送服务端消息
|
||||
* @param msgId 服务端消息id
|
||||
* @param message 消息内容
|
||||
*/
|
||||
sendTo(msgId, message) {
|
||||
if (!message) { return }
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: `${layui.cache['contentPath']}/core/sse/push_one/${msgId}`,
|
||||
data: Base64.base64encode(message),
|
||||
success: (ret) => {
|
||||
if (ret.state == RetState.ERROR) {
|
||||
console.error(ret.msg);
|
||||
}
|
||||
},
|
||||
error: (jqXHR, textStatus, errorThrown) => {
|
||||
console.error("error:", textStatus, errorThrown);
|
||||
}
|
||||
});
|
||||
}
|
||||
/**
|
||||
* 关闭消息监听
|
||||
*/
|
||||
close() {
|
||||
this.source.close();
|
||||
const httpRequest = new XMLHttpRequest();
|
||||
httpRequest.open('GET', `${layui.cache['contentPath']}/core/sse/close/${this.msgId}`, true);
|
||||
httpRequest.send();
|
||||
}
|
||||
}
|
||||
const base64EncodeChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
|
||||
const base64DecodeChars = [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1, -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1]
|
||||
const keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="
|
||||
/**
|
||||
* base64的编码类
|
||||
* 用于base64的编码/解码
|
||||
*/
|
||||
class Base64 {
|
||||
/**
|
||||
* base64编码
|
||||
* @param str 需要编码的字符串
|
||||
* @returns 返回编码后的base64字符串
|
||||
*/
|
||||
static base64encode(str) {
|
||||
let out, i, len;
|
||||
let c1, c2, c3;
|
||||
str = Base64.utf16to8(str);
|
||||
len = str.length;
|
||||
i = 0;
|
||||
out = "";
|
||||
while (i < len) {
|
||||
c1 = str.charCodeAt(i++) & 0xff;
|
||||
if (i == len) {
|
||||
out += base64EncodeChars.charAt(c1 >> 2);
|
||||
out += base64EncodeChars.charAt((c1 & 0x3) << 4);
|
||||
out += "==";
|
||||
break;
|
||||
}
|
||||
c2 = str.charCodeAt(i++);
|
||||
if (i == len) {
|
||||
out += base64EncodeChars.charAt(c1 >> 2);
|
||||
out += base64EncodeChars.charAt(((c1 & 0x3) << 4) | ((c2 & 0xF0) >> 4));
|
||||
out += base64EncodeChars.charAt((c2 & 0xF) << 2);
|
||||
out += "=";
|
||||
break;
|
||||
}
|
||||
c3 = str.charCodeAt(i++);
|
||||
out += base64EncodeChars.charAt(c1 >> 2);
|
||||
out += base64EncodeChars.charAt(((c1 & 0x3) << 4) | ((c2 & 0xF0) >> 4));
|
||||
out += base64EncodeChars.charAt(((c2 & 0xF) << 2) | ((c3 & 0xC0) >> 6));
|
||||
out += base64EncodeChars.charAt(c3 & 0x3F);
|
||||
}
|
||||
return out;
|
||||
}
|
||||
/**
|
||||
* base64解码
|
||||
* @param base64Str base64字符串
|
||||
* @returns 返回解码后的字符串
|
||||
*/
|
||||
static base64decode(base64Str) {
|
||||
let c1, c2, c3, c4;
|
||||
let i, len, out;
|
||||
// base64Str = Base64.utf8to16(base64Str);
|
||||
len = base64Str.length;
|
||||
i = 0;
|
||||
out = "";
|
||||
while (i < len) {
|
||||
/* c1 */
|
||||
do {
|
||||
c1 = base64DecodeChars[base64Str.charCodeAt(i++) & 0xff];
|
||||
}
|
||||
while (i < len && c1 == -1);
|
||||
if (c1 == -1)
|
||||
break;
|
||||
/* c2 */
|
||||
do {
|
||||
c2 = base64DecodeChars[base64Str.charCodeAt(i++) & 0xff];
|
||||
}
|
||||
while (i < len && c2 == -1);
|
||||
if (c2 == -1)
|
||||
break;
|
||||
out += String.fromCharCode((c1 << 2) | ((c2 & 0x30) >> 4));
|
||||
/* c3 */
|
||||
do {
|
||||
c3 = base64Str.charCodeAt(i++) & 0xff;
|
||||
if (c3 == 61)
|
||||
return Base64.utf8to16(out);
|
||||
c3 = base64DecodeChars[c3];
|
||||
}
|
||||
while (i < len && c3 == -1);
|
||||
if (c3 == -1)
|
||||
break;
|
||||
out += String.fromCharCode(((c2 & 0XF) << 4) | ((c3 & 0x3C) >> 2));
|
||||
/* c4 */
|
||||
do {
|
||||
c4 = base64Str.charCodeAt(i++) & 0xff;
|
||||
if (c4 == 61)
|
||||
return Base64.utf8to16(out);
|
||||
c4 = base64DecodeChars[c4];
|
||||
}
|
||||
while (i < len && c4 == -1);
|
||||
if (c4 == -1)
|
||||
break;
|
||||
out += String.fromCharCode(((c3 & 0x03) << 6) | c4);
|
||||
}
|
||||
return Base64.utf8to16(out);
|
||||
}
|
||||
|
||||
/**
|
||||
* 将Ansi编码的字符串进行Base64编码
|
||||
* @param input 输入的字符串
|
||||
* @returns 返回加密的base64字符串
|
||||
*/
|
||||
static encode64(input) {
|
||||
let output = "";
|
||||
let chr1, chr2, chr3;
|
||||
let enc1, enc2, enc3, enc4;
|
||||
let i = 0;
|
||||
do {
|
||||
chr1 = input.charCodeAt(i++);
|
||||
chr2 = input.charCodeAt(i++);
|
||||
chr3 = input.charCodeAt(i++);
|
||||
enc1 = chr1 >> 2;
|
||||
enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
|
||||
enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
|
||||
enc4 = chr3 & 63;
|
||||
if (isNaN(chr2)) {
|
||||
enc3 = enc4 = 64;
|
||||
} else if (isNaN(chr3)) {
|
||||
enc4 = 64;
|
||||
}
|
||||
output = output + keyStr.charAt(enc1) + keyStr.charAt(enc2)
|
||||
+ keyStr.charAt(enc3) + keyStr.charAt(enc4);
|
||||
chr1 = chr2 = chr3 = "";
|
||||
enc1 = enc2 = enc3 = enc4 = "";
|
||||
} while (i < input.length);
|
||||
return output;
|
||||
}
|
||||
|
||||
/**
|
||||
* 将Base64编码字符串转换成Ansi编码的字符串
|
||||
* @param input 输入的字符串
|
||||
* @returns 返回明文字符串
|
||||
*/
|
||||
static decode64(input) {
|
||||
let output = "";
|
||||
let chr1, chr2, chr3;
|
||||
let enc1, enc2, enc3, enc4;
|
||||
let i = 0;
|
||||
|
||||
|
||||
if (input.length % 4 != 0) {
|
||||
return "";
|
||||
}
|
||||
let base64test = /[^A-Za-z0-9\+\/\=]/g;
|
||||
if (base64test.exec(input)) {
|
||||
return "";
|
||||
}
|
||||
do {
|
||||
enc1 = keyStr.indexOf(input.charAt(i++));
|
||||
enc2 = keyStr.indexOf(input.charAt(i++));
|
||||
enc3 = keyStr.indexOf(input.charAt(i++));
|
||||
enc4 = keyStr.indexOf(input.charAt(i++));
|
||||
chr1 = (enc1 << 2) | (enc2 >> 4);
|
||||
chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
|
||||
chr3 = ((enc3 & 3) << 6) | enc4;
|
||||
|
||||
|
||||
output = output + String.fromCharCode(chr1);
|
||||
if (enc3 != 64) {
|
||||
output += String.fromCharCode(chr2);
|
||||
}
|
||||
if (enc4 != 64) {
|
||||
output += String.fromCharCode(chr3);
|
||||
}
|
||||
chr1 = chr2 = chr3 = "";
|
||||
enc1 = enc2 = enc3 = enc4 = "";
|
||||
} while (i < input.length);
|
||||
return output;
|
||||
}
|
||||
/**
|
||||
* 编码utf16转utf8
|
||||
* @param str 需要转化的字符串
|
||||
* @returns 返回转化后的utf8字符串
|
||||
*/
|
||||
static utf16to8(str) {
|
||||
let out, i, len, c;
|
||||
|
||||
|
||||
out = "";
|
||||
len = str.length;
|
||||
for (i = 0; i < len; i++) {
|
||||
c = str.charCodeAt(i);
|
||||
if ((c >= 0x0001) && (c <= 0x007F)) {
|
||||
out += str.charAt(i);
|
||||
} else if (c > 0x07FF) {
|
||||
out += String.fromCharCode(0xE0 | ((c >> 12) & 0x0F));
|
||||
out += String.fromCharCode(0x80 | ((c >> 6) & 0x3F));
|
||||
out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F));
|
||||
} else {
|
||||
out += String.fromCharCode(0xC0 | ((c >> 6) & 0x1F));
|
||||
out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F));
|
||||
}
|
||||
}
|
||||
return out;
|
||||
}
|
||||
/**
|
||||
* 编码utf8转utf16
|
||||
* @param str 需要转化的字符串
|
||||
* @returns 返回转化后的utf16字符串
|
||||
*/
|
||||
static utf8to16(str) {
|
||||
let out, i, len, c;
|
||||
let char2, char3;
|
||||
out = "";
|
||||
len = str.length;
|
||||
i = 0;
|
||||
while (i < len) {
|
||||
c = str.charCodeAt(i++);
|
||||
switch (c >> 4) {
|
||||
case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7:
|
||||
// 0xxxxxxx
|
||||
out += str.charAt(i - 1);
|
||||
break;
|
||||
case 12: case 13:
|
||||
// 110x xxxx 10xx xxxx
|
||||
char2 = str.charCodeAt(i++);
|
||||
out += String.fromCharCode(((c & 0x1F) << 6) | (char2 & 0x3F));
|
||||
break;
|
||||
case 14:
|
||||
// 1110 xxxx 10xx xxxx 10xx xxxx
|
||||
char2 = str.charCodeAt(i++);
|
||||
char3 = str.charCodeAt(i++);
|
||||
out += String.fromCharCode(((c & 0x0F) << 12) |
|
||||
((char2 & 0x3F) << 6) |
|
||||
((char3 & 0x3F) << 0));
|
||||
break;
|
||||
}
|
||||
}
|
||||
return out;
|
||||
}
|
||||
}
|
||||
window.Sse = Sse;
|
||||
|
||||
exports('Sse', window.Sse);
|
||||
exports('messenger', window.Messenger);
|
||||
});
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
layui.define(['laytpl', 'element', 'layer', 'zlPinYin', 'common'], function (exports) {
|
||||
let $ = layui.jquery,
|
||||
element = layui.element,
|
||||
laytpl = layui.laytpl,
|
||||
zlPinYin = layui.zlPinYin,
|
||||
common = layui.common,
|
||||
admin = layui.admin;
|
||||
|
@ -476,15 +475,15 @@ layui.define(['laytpl', 'element', 'layer', 'zlPinYin', 'common'], function (exp
|
|||
.kdayun-app-layout .layui-header a i.layui-icon,
|
||||
.kdayun-app-layout .layui-header a i.zlui-icon,
|
||||
.kdayun-app-layout .layui-header a i.fa {
|
||||
color:${themeObj.navIconColorInput};
|
||||
color:${themeObj.navFontColorInput};
|
||||
}
|
||||
.kdayun-app-layout .layui-header a span.layui-nav-more {
|
||||
border-top-color:${themeObj.navIconColorInput} !important;
|
||||
border-bottom-color:rgba(255,0,0,0) !important;
|
||||
border-top-color:${themeObj.navIconColorInput} ;
|
||||
border-bottom-color:rgba(255,0,0,0);
|
||||
}
|
||||
.kdayun-app-layout .layui-header a span.layui-nav-mored {
|
||||
border-top-color:rgba(255,0,0,0) !important;
|
||||
border-bottom-color:${themeObj.navIconColorInput} !important;
|
||||
border-top-color:rgba(255,0,0,0) ;
|
||||
border-bottom-color:${themeObj.navIconColorInput} ;
|
||||
}
|
||||
.kdayun-app-layout .layui-logo {
|
||||
background-color:${themeObj.logoBgInput};
|
||||
|
@ -743,7 +742,7 @@ layui.define(['laytpl', 'element', 'layer', 'zlPinYin', 'common'], function (exp
|
|||
return;
|
||||
}
|
||||
|
||||
if (themeObj.layout == 'top') {
|
||||
if (themeObj.layout == 'top' && window.screen.width > 767) {
|
||||
let topThemeRender = new TopTheme(themeObj);
|
||||
topThemeRender.render();
|
||||
} else {
|
||||
|
@ -777,12 +776,111 @@ layui.define(['laytpl', 'element', 'layer', 'zlPinYin', 'common'], function (exp
|
|||
ThemeRenderBase.prototype.render = function () {
|
||||
let that = this;
|
||||
that.config.$elem.empty();
|
||||
that.renderHeader();
|
||||
that.renderMenus();
|
||||
that.renderBody();
|
||||
that.renderFoot();
|
||||
if (that.isSmall()) {
|
||||
that.renderSmallMenus();
|
||||
that.renderSmallHeader()
|
||||
that.renderSmallBody();
|
||||
that.renderFoot();
|
||||
that.initSmall();
|
||||
} else {
|
||||
that.renderHeader();
|
||||
that.renderMenus();
|
||||
that.renderBody();
|
||||
that.renderFoot();
|
||||
}
|
||||
element.init();
|
||||
};
|
||||
ThemeRenderBase.prototype.isSmall = function () {
|
||||
return window.screen.width < 767
|
||||
}
|
||||
ThemeRenderBase.prototype.initSmall = function () {
|
||||
let startX = 0;
|
||||
let endX = 0;
|
||||
const touchStart = (e) => {
|
||||
startX = e.touches[0].clientX;
|
||||
};
|
||||
const touchEnd = (e) => {
|
||||
endX = e.changedTouches[0].clientX;
|
||||
handleSwipe();
|
||||
};
|
||||
const handleSwipe = () => {
|
||||
if (Math.abs(endX - startX) > 50) {
|
||||
if (endX > startX) {
|
||||
layui.admin.sideFlexible('spread');
|
||||
} else {
|
||||
layui.admin.sideFlexible();
|
||||
}
|
||||
}
|
||||
};
|
||||
document.addEventListener("touchstart", touchStart, false);
|
||||
document.addEventListener("touchend", touchEnd, false);
|
||||
history.pushState(null, null, document.URL);
|
||||
window.addEventListener('popstate', function () {
|
||||
history.pushState(null, null, document.URL);
|
||||
});
|
||||
$(".kdayun-small-refresh").on('click', function (e) {
|
||||
let iframe = $('.layadmin-tabsbody-item.layui-show iframe');
|
||||
$('.layadmin-tabsbody-item.layui-show iframe')[0].contentWindow.location.reload();
|
||||
$('.layadmin-tabsbody-shade').show();
|
||||
iframe.one('load', function () {
|
||||
$('.layadmin-tabsbody-shade').fadeOut('800');
|
||||
});
|
||||
})
|
||||
$("#TOUX").on('click', function (e) {
|
||||
let url = layui.cache['contentPath'] + '/info';
|
||||
common.openSmallPage(url, '基本资料', url);
|
||||
})
|
||||
$(".kdayun-menu-close").on('click', function (e) {
|
||||
layui.admin.sideFlexible();
|
||||
});
|
||||
|
||||
$(".kdayun-header-role").on('click', function (e) {
|
||||
let $rolediv = $(this),
|
||||
$dl = $rolediv.find('dl'),
|
||||
$more = $rolediv.find('.layui-nav-more');
|
||||
|
||||
if ($('.kdayun-header-role-dropdown').length == 0) {
|
||||
$('body').append('<div class="kdayun-header-role-dropdown"></div>');
|
||||
$('.kdayun-header-role-dropdown').append($dl.clone());
|
||||
$dl.remove();
|
||||
}
|
||||
$dl = $('.kdayun-header-role-dropdown').find('dl');
|
||||
|
||||
$dl.find('a').on('click', function (e) {
|
||||
let switchroleid = $(this).attr('roleid'),
|
||||
deptid = $(this).attr('deptid') == undefined ? '' : $(this).attr('deptid')
|
||||
layui.admin.switchRole(switchroleid, deptid)
|
||||
$dl.removeClass('layui-show')
|
||||
})
|
||||
|
||||
let offset = $rolediv.offset()
|
||||
$dl.css({
|
||||
left: offset.left,
|
||||
top: offset.top + $rolediv.height(),
|
||||
position: 'absolute',
|
||||
zIndex: 10000,
|
||||
})
|
||||
|
||||
if ($dl.is(":visible")) {
|
||||
// $dl.css('display', 'none');
|
||||
$dl.removeClass('layui-show')
|
||||
} else {
|
||||
// $dl.css('display', 'block');
|
||||
$dl.addClass('layui-show')
|
||||
}
|
||||
|
||||
if ($more.hasClass('layui-nav-mored')) {
|
||||
$more.removeClass('layui-nav-mored');
|
||||
$dl.removeClass('layui-show')
|
||||
} else {
|
||||
$more.addClass('layui-nav-mored');
|
||||
$dl.addClass('layui-show')
|
||||
}
|
||||
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
ThemeRenderBase.prototype.renderHeader = function () {
|
||||
let that = this;
|
||||
that.config.$headerElem = $($('#tpl-header').html());
|
||||
|
@ -815,6 +913,53 @@ layui.define(['laytpl', 'element', 'layer', 'zlPinYin', 'common'], function (exp
|
|||
that.config.$menuElem = $($('#tpl-body').html())
|
||||
that.config.$elem.append(that.config.$menuElem);
|
||||
};
|
||||
ThemeRenderBase.prototype.renderSmallMenus = function () {
|
||||
let that = this;
|
||||
that.config.$menuElem = $($('#tpl-left-side').html())
|
||||
that.config.$elem.append(that.config.$menuElem);
|
||||
that.config.$menuElem.append(`<i class="kdayun-menu-close fa fa-angle-double-left"></i>`)
|
||||
that.config.$menuElem.append($('#tpl-search').html())
|
||||
that.config.$menuElem.find('.navbar-side-search').after($('#tpl-menu').html())
|
||||
that.config.$menuElem.find('.kdayun-menu-container').after($('#tpl-logo').html())
|
||||
let menuRender = new LeftMenuRender()
|
||||
menuRender.set({
|
||||
spreadOne: true,
|
||||
elem: '#admin-navbar-menu',
|
||||
cached: false,
|
||||
url: layui.cache['contentPath'] + '/core/security/querymenuauth',
|
||||
type: 'post'
|
||||
});
|
||||
menuRender.render();
|
||||
};
|
||||
ThemeRenderBase.prototype.renderSmallHeader = function () {
|
||||
let that = this;
|
||||
that.config.$headerElem = $($('#tpl-header').html());
|
||||
that.config.$menuElem.children().eq(0).before(that.config.$headerElem);
|
||||
that.config.$headerElem.append(`
|
||||
<div class="kdayun-header-info">
|
||||
<a href="javascript:;">
|
||||
<img id="TOUX" src="" />
|
||||
</a>
|
||||
</div>
|
||||
<div class="kdayun-header-name-role">
|
||||
<span id='OBJNAME'></span>
|
||||
<div class ="kdayun-header-role">
|
||||
<a href="javascript:;">
|
||||
<span id='ROLENAME'></span>
|
||||
<span class="layui-nav-more"></span>
|
||||
</a>
|
||||
<dl class="layui-nav-child" id="rolecourse">
|
||||
</dl>
|
||||
</div>
|
||||
<span id='ORGNAME'></span>
|
||||
</div>
|
||||
`)
|
||||
};
|
||||
ThemeRenderBase.prototype.renderSmallBody = function () {
|
||||
let that = this;
|
||||
that.config.$menuElem = $($('#tpl-small-body').html())
|
||||
that.config.$elem.append(that.config.$menuElem);
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
@ -887,6 +1032,9 @@ layui.define(['laytpl', 'element', 'layer', 'zlPinYin', 'common'], function (exp
|
|||
spreadOne: false //设置是否只展开一个二级菜单
|
||||
}
|
||||
};
|
||||
MenuRenderBase.prototype.isSmall = function () {
|
||||
return window.screen.width < 767
|
||||
}
|
||||
/**
|
||||
* 渲染菜单
|
||||
*/
|
||||
|
@ -979,7 +1127,12 @@ layui.define(['laytpl', 'element', 'layer', 'zlPinYin', 'common'], function (exp
|
|||
searchBox.find('input#navbarSearchValue').val('');
|
||||
common.tabsPage.elem = $a;
|
||||
if (!common.isEmpty(href) && isOpen) {
|
||||
common.openTabsPage(href, text || $a.text(), resid);
|
||||
if (this.isSmall()) {
|
||||
common.openSmallPage(href, text || $a.text(), resid);
|
||||
return;
|
||||
} else {
|
||||
common.openTabsPage(href, text || $a.text(), resid);
|
||||
}
|
||||
}
|
||||
if (!common.isEmpty(href)) {
|
||||
$('.kdayun-menu-container li.layui-this').removeClass('layui-this');
|
||||
|
@ -1004,8 +1157,8 @@ layui.define(['laytpl', 'element', 'layer', 'zlPinYin', 'common'], function (exp
|
|||
let value = $(this).find('cite').html();
|
||||
$('ul.navbarSearchResult').removeClass('layui-show').addClass('layui-hide');
|
||||
$(this).parent().siblings('input').val('');
|
||||
if (!$('#admin-navbar-menu').find('a[lay-tips="' + value + '"]').parent().hasClass('kdayun-menu-item-expand')) {
|
||||
$('#admin-navbar-menu').find('a[lay-tips="' + value + '"]').click();
|
||||
if (!$('#admin-navbar-menu').find('a[lay-text="' + value + '"]').parent().hasClass('kdayun-menu-item-expand')) {
|
||||
$('#admin-navbar-menu').find('a[lay-text="' + value + '"]').click();
|
||||
}
|
||||
})
|
||||
|
||||
|
@ -1077,7 +1230,7 @@ layui.define(['laytpl', 'element', 'layer', 'zlPinYin', 'common'], function (exp
|
|||
}
|
||||
|
||||
let layhref = (url !== undefined && url !== '' && url !== null) ? 'yh-href="' + url + '"' : '';
|
||||
ulHtml += '<a href="javascript:;" ' + layhref + ' lay-text="' + item.title + '" lay-tips="' + item.title + '" lay-direction="2" resId=' + item.resid + ' >';
|
||||
ulHtml += '<a href="javascript:;" ' + layhref + ' lay-text="' + item.title + '" ' + (!this.isSmall() ? 'lay-tips="' + item.title + '""' : '') + '" lay-direction="2" resId=' + item.resid + ' >';
|
||||
if (item.icon != undefined && item.icon != '') {
|
||||
ulHtml += '<img src="' + layui.cache['contentPath'] + item.icon + '" ' + svgOnLoad + ' style="width:16px;height:16px;vertical-align: text-bottom;">';
|
||||
} else {
|
||||
|
|
|
@ -91,7 +91,7 @@ layui.define(['zlContext', 'layer', 'zlConfig', 'form'],
|
|||
{ name: '小于', field: '<' },
|
||||
{ name: '小于或等于', field: '<=' }
|
||||
]
|
||||
var options = (settings ? JSON.parse(+ settings) : {})
|
||||
var options = (settings ? JSON.parse(settings.replace(/'/g, '"')) : {})
|
||||
, dataurl = options.dataurl
|
||||
, datas = typeof (options.sourcedata) == "string" ? JSON.parse(options.sourcedata || '[]') : options.sourcedata
|
||||
, defaultOptions = {
|
||||
|
|
|
@ -54,6 +54,30 @@
|
|||
<div class="content unicode" style="display: block;">
|
||||
<ul class="icon_lists dib-box">
|
||||
|
||||
<li class="dib">
|
||||
<span class="icon iconfont"></span>
|
||||
<div class="name">chatgpt</div>
|
||||
<div class="code-name">&#xe6bf;</div>
|
||||
</li>
|
||||
|
||||
<li class="dib">
|
||||
<span class="icon iconfont"></span>
|
||||
<div class="name">AI</div>
|
||||
<div class="code-name">&#xec5f;</div>
|
||||
</li>
|
||||
|
||||
<li class="dib">
|
||||
<span class="icon iconfont"></span>
|
||||
<div class="name">API</div>
|
||||
<div class="code-name">&#xe66d;</div>
|
||||
</li>
|
||||
|
||||
<li class="dib">
|
||||
<span class="icon iconfont"></span>
|
||||
<div class="name">API管理</div>
|
||||
<div class="code-name">&#xe65f;</div>
|
||||
</li>
|
||||
|
||||
<li class="dib">
|
||||
<span class="icon iconfont"></span>
|
||||
<div class="name">数据导出</div>
|
||||
|
@ -330,9 +354,9 @@
|
|||
<pre><code class="language-css"
|
||||
>@font-face {
|
||||
font-family: 'iconfont';
|
||||
src: url('iconfont.woff2?t=1693817483680') format('woff2'),
|
||||
url('iconfont.woff?t=1693817483680') format('woff'),
|
||||
url('iconfont.ttf?t=1693817483680') format('truetype');
|
||||
src: url('iconfont.woff2?t=1699242797963') format('woff2'),
|
||||
url('iconfont.woff?t=1699242797963') format('woff'),
|
||||
url('iconfont.ttf?t=1699242797963') format('truetype');
|
||||
}
|
||||
</code></pre>
|
||||
<h3 id="-iconfont-">第二步:定义使用 iconfont 的样式</h3>
|
||||
|
@ -358,6 +382,42 @@
|
|||
<div class="content font-class">
|
||||
<ul class="icon_lists dib-box">
|
||||
|
||||
<li class="dib">
|
||||
<span class="icon iconfont icon-chatgpt"></span>
|
||||
<div class="name">
|
||||
chatgpt
|
||||
</div>
|
||||
<div class="code-name">.icon-chatgpt
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li class="dib">
|
||||
<span class="icon iconfont icon-wuguan"></span>
|
||||
<div class="name">
|
||||
AI
|
||||
</div>
|
||||
<div class="code-name">.icon-wuguan
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li class="dib">
|
||||
<span class="icon iconfont icon-API"></span>
|
||||
<div class="name">
|
||||
API
|
||||
</div>
|
||||
<div class="code-name">.icon-API
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li class="dib">
|
||||
<span class="icon iconfont icon-APIguanli"></span>
|
||||
<div class="name">
|
||||
API管理
|
||||
</div>
|
||||
<div class="code-name">.icon-APIguanli
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li class="dib">
|
||||
<span class="icon iconfont icon-shujudaochu"></span>
|
||||
<div class="name">
|
||||
|
@ -772,6 +832,38 @@
|
|||
<div class="content symbol">
|
||||
<ul class="icon_lists dib-box">
|
||||
|
||||
<li class="dib">
|
||||
<svg class="icon svg-icon" aria-hidden="true">
|
||||
<use xlink:href="#icon-chatgpt"></use>
|
||||
</svg>
|
||||
<div class="name">chatgpt</div>
|
||||
<div class="code-name">#icon-chatgpt</div>
|
||||
</li>
|
||||
|
||||
<li class="dib">
|
||||
<svg class="icon svg-icon" aria-hidden="true">
|
||||
<use xlink:href="#icon-wuguan"></use>
|
||||
</svg>
|
||||
<div class="name">AI</div>
|
||||
<div class="code-name">#icon-wuguan</div>
|
||||
</li>
|
||||
|
||||
<li class="dib">
|
||||
<svg class="icon svg-icon" aria-hidden="true">
|
||||
<use xlink:href="#icon-API"></use>
|
||||
</svg>
|
||||
<div class="name">API</div>
|
||||
<div class="code-name">#icon-API</div>
|
||||
</li>
|
||||
|
||||
<li class="dib">
|
||||
<svg class="icon svg-icon" aria-hidden="true">
|
||||
<use xlink:href="#icon-APIguanli"></use>
|
||||
</svg>
|
||||
<div class="name">API管理</div>
|
||||
<div class="code-name">#icon-APIguanli</div>
|
||||
</li>
|
||||
|
||||
<li class="dib">
|
||||
<svg class="icon svg-icon" aria-hidden="true">
|
||||
<use xlink:href="#icon-shujudaochu"></use>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
@font-face {
|
||||
font-family: "iconfont"; /* Project id 4067164 */
|
||||
src: url('iconfont.woff2?t=1693817483680') format('woff2'),
|
||||
url('iconfont.woff?t=1693817483680') format('woff'),
|
||||
url('iconfont.ttf?t=1693817483680') format('truetype');
|
||||
src: url('iconfont.woff2?t=1699242797963') format('woff2'),
|
||||
url('iconfont.woff?t=1699242797963') format('woff'),
|
||||
url('iconfont.ttf?t=1699242797963') format('truetype');
|
||||
}
|
||||
|
||||
.iconfont {
|
||||
|
@ -13,6 +13,22 @@
|
|||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
.icon-chatgpt:before {
|
||||
content: "\e6bf";
|
||||
}
|
||||
|
||||
.icon-wuguan:before {
|
||||
content: "\ec5f";
|
||||
}
|
||||
|
||||
.icon-API:before {
|
||||
content: "\e66d";
|
||||
}
|
||||
|
||||
.icon-APIguanli:before {
|
||||
content: "\e65f";
|
||||
}
|
||||
|
||||
.icon-shujudaochu:before {
|
||||
content: "\e695";
|
||||
}
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -5,6 +5,34 @@
|
|||
"css_prefix_text": "icon-",
|
||||
"description": "",
|
||||
"glyphs": [
|
||||
{
|
||||
"icon_id": "35001563",
|
||||
"name": "chatgpt",
|
||||
"font_class": "chatgpt",
|
||||
"unicode": "e6bf",
|
||||
"unicode_decimal": 59071
|
||||
},
|
||||
{
|
||||
"icon_id": "5961321",
|
||||
"name": "AI",
|
||||
"font_class": "wuguan",
|
||||
"unicode": "ec5f",
|
||||
"unicode_decimal": 60511
|
||||
},
|
||||
{
|
||||
"icon_id": "33546560",
|
||||
"name": "API",
|
||||
"font_class": "API",
|
||||
"unicode": "e66d",
|
||||
"unicode_decimal": 58989
|
||||
},
|
||||
{
|
||||
"icon_id": "4417791",
|
||||
"name": "API管理",
|
||||
"font_class": "APIguanli",
|
||||
"unicode": "e65f",
|
||||
"unicode_decimal": 58975
|
||||
},
|
||||
{
|
||||
"icon_id": "22427570",
|
||||
"name": "数据导出",
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
|
@ -1,3 +1,4 @@
|
|||
import "yh-ai/dist/index";
|
||||
import "yh-baidu/dist/index";
|
||||
import 'yh-bigscreen/dist/index';
|
||||
import 'yh-business/dist/index';
|
||||
|
@ -7,6 +8,7 @@ import 'yh-designer/dist/components/core/index';
|
|||
import 'yh-designer/dist/designer/Designer';
|
||||
import 'yh-designer/dist/designer/Preview';
|
||||
import 'yh-designer/dist/services/index';
|
||||
import "yh-element/dist/index";
|
||||
import "yh-map/dist/index";
|
||||
import "yh-moble/dist/index";
|
||||
import 'yh-player/dist/index';
|
||||
|
@ -15,4 +17,6 @@ import 'yh-standard/dist/extend/index';
|
|||
import 'yh-standard/dist/form/index';
|
||||
import 'yh-standard/dist/layout/index';
|
||||
import "yh-table/dist/index";
|
||||
import "yh-template/dist/index";
|
||||
import "yh-vant/dist/index";
|
||||
import "yh-wangeditor/dist/index";
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
import "yh-ai/dist/index";
|
||||
import "yh-baidu/dist/index";
|
||||
import 'yh-bigscreen/dist/index';
|
||||
import 'yh-business/dist/index';
|
||||
|
@ -5,7 +6,9 @@ import 'yh-chart/dist/index';
|
|||
import 'yh-designer/dist/base/datasource/index';
|
||||
import 'yh-designer/dist/components/core/index';
|
||||
import 'yh-designer/dist/designer/Preview';
|
||||
import 'yh-designer/dist/designer/VersionManger';
|
||||
import 'yh-designer/dist/services/index';
|
||||
import "yh-element/dist/index";
|
||||
import "yh-map/dist/index";
|
||||
import "yh-moble/dist/index";
|
||||
import 'yh-player/dist/index';
|
||||
|
@ -14,4 +17,5 @@ import 'yh-standard/dist/extend/index';
|
|||
import 'yh-standard/dist/form/index';
|
||||
import 'yh-standard/dist/layout/index';
|
||||
import "yh-table/dist/index";
|
||||
import "yh-vant/dist/index";
|
||||
import "yh-wangeditor/dist/index";
|
||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -27,11 +27,11 @@
|
|||
return jsPath.substring(0, jsPath.lastIndexOf('/') + 1);
|
||||
}(),
|
||||
|
||||
config: {}, onClosed: {}, end: {}, minIndex: 0, minLeft: [],
|
||||
config: {}, onClosed: {}, end: {}, minIndex: 0, minLeft: [],
|
||||
btn: ['确定', '取消'],
|
||||
|
||||
//五种原始层模式
|
||||
type: ['dialog', 'page', 'iframe', 'loading', 'tips'],
|
||||
type: ['dialog', 'page', 'iframe', 'loading', 'tips', 'notice'],
|
||||
|
||||
//获取节点的style属性值
|
||||
getStyle: function (node, name) {
|
||||
|
@ -130,6 +130,27 @@
|
|||
}, type ? {} : options));
|
||||
},
|
||||
|
||||
notice: function (content, options, end) {
|
||||
let type = 5, rskin = ready.config.skin;
|
||||
let skin = (rskin ? rskin + ' ' + rskin + '-msg' : '') || 'layui-layer-msg';
|
||||
if (type) end = options;
|
||||
let defalutOptions = {
|
||||
type: type,
|
||||
content: content,
|
||||
time: 3000,
|
||||
shade: false,
|
||||
skin: skin,
|
||||
offset: 'rt',
|
||||
title: '提示',
|
||||
closeBtn: false,
|
||||
btn: false,
|
||||
resize: false,
|
||||
end: end,
|
||||
zIndex: (new Date()).getTime()
|
||||
}
|
||||
return layer.open($.extend(defalutOptions, options));
|
||||
|
||||
},
|
||||
msg: function (content, options, end) { //最常用提示层
|
||||
var type = typeof options === 'function', rskin = ready.config.skin;
|
||||
var skin = (rskin ? rskin + ' ' + rskin + '-msg' : '') || 'layui-layer-msg';
|
||||
|
@ -226,33 +247,52 @@
|
|||
+ (titype ? config.title[0] : config.title)
|
||||
+ '</div>' : '');
|
||||
config.zIndex = zIndex;
|
||||
callback([
|
||||
//遮罩
|
||||
config.shade ? ('<div class="layui-layer-shade" id="layui-layer-shade' + times + '" times="' + times + '" style="' + ('z-index:' + (zIndex - 1) + '; ') + '"></div>') : '',
|
||||
if (config.type == 5) {
|
||||
let icons = {
|
||||
0: { font: "fa fa-warning", "color": '#faad14' },
|
||||
1: { font: "fa fa-check-circle", "color": '#52c41a' },
|
||||
2: { font: "fa fa-times", "color": '#ff4d4f' },
|
||||
3: { font: "fa fa-question-circle-o", "color": '#faad14' },
|
||||
}
|
||||
callback([
|
||||
config.shade ? ('<div class="layui-layer-shade" id="layui-layer-shade' + times + '" times="' + times + '" style="' + ('z-index:' + (zIndex - 1) + '; ') + '"></div>') : '',
|
||||
'<div class="' + doms[0] + ' layui-layer-' + ready.type[config.type] + ' animated bounceInRight" id="' + doms[0] + times + '" type="' + ready.type[config.type] + '" times="' + times + '" showtime="' + config.time + '" conType="' + (conType ? 'object' : 'string') + '" style="z-index: ' + zIndex + ';">'
|
||||
+ '<div id="' + (config.id || '') + '" class="layui-layer-content' + ((config.type == 0 && config.icon !== -1) ? ' layui-layer-padding' : '') + (config.type == 3 ? ' layui-layer-loading' + config.icon : '') + '">'
|
||||
+ ` <i class="${icons[config.icon].font}" style="color:${icons[config.icon].color};"></i>
|
||||
<h2 class="layui-layer-notice-title">${config.title}</h2>
|
||||
<div class="layui-layer-notice-content"><p>${config.content || ''}</p></div>
|
||||
<i class="layui-layer-close fa fa-times-circle-o"></i>`
|
||||
+ '</div>'
|
||||
], titleHTML, $('<div class="layui-layer-move"></div>'))
|
||||
} else {
|
||||
callback([
|
||||
//遮罩
|
||||
config.shade ? ('<div class="layui-layer-shade" id="layui-layer-shade' + times + '" times="' + times + '" style="' + ('z-index:' + (zIndex - 1) + '; ') + '"></div>') : '',
|
||||
|
||||
//主体
|
||||
'<div class="' + doms[0] + (' layui-layer-' + ready.type[config.type]) + (((config.type == 0 || config.type == 2) && !config.shade) ? ' layui-layer-border' : '') + ' ' + (config.skin || '') + '" id="' + doms[0] + times + '" type="' + ready.type[config.type] + '" times="' + times + '" showtime="' + config.time + '" conType="' + (conType ? 'object' : 'string') + '" style="z-index: ' + zIndex + '; width:' + config.area[0] + ';height:' + config.area[1] + (config.fixed ? '' : ';position:absolute;') + '">'
|
||||
+ (conType && config.type != 2 ? '' : titleHTML)
|
||||
+ '<div id="' + (config.id || '') + '" class="layui-layer-content' + ((config.type == 0 && config.icon !== -1) ? ' layui-layer-padding' : '') + (config.type == 3 ? ' layui-layer-loading' + config.icon : '') + '">'
|
||||
+ (config.type == 0 && config.icon !== -1 ? '<i class="layui-layer-ico layui-layer-ico' + config.icon + '"></i>' : '')
|
||||
+ (config.type == 1 && conType ? '' : (config.content || ''))
|
||||
+ '</div>'
|
||||
+ '<span class="layui-layer-setwin">' + function () {
|
||||
var closebtn = ismax ? '<a class="layui-layer-min" href="javascript:;"><cite></cite></a><a class="layui-layer-ico layui-layer-max" href="javascript:;"></a>' : '';
|
||||
config.closeBtn && (closebtn += '<a class="layui-layer-ico ' + doms[7] + ' ' + doms[7] + (config.title ? config.closeBtn : (config.type == 4 ? '1' : '2')) + '" href="javascript:;"></a>');
|
||||
return closebtn;
|
||||
}() + '</span>'
|
||||
+ (config.btn ? function () {
|
||||
var button = '';
|
||||
typeof config.btn === 'string' && (config.btn = [config.btn]);
|
||||
for (var i = 0, len = config.btn.length; i < len; i++) {
|
||||
button += '<a class="' + doms[6] + '' + i + '">' + config.btn[i] + '</a>'
|
||||
}
|
||||
return '<div class="' + doms[6] + ' layui-layer-btn-' + (config.btnAlign || '') + '">' + button + '</div>'
|
||||
}() : '')
|
||||
+ (config.resize ? '<span class="layui-layer-resize"></span>' : '')
|
||||
+ '</div>'
|
||||
], titleHTML, $('<div class="layui-layer-move"></div>'));
|
||||
//主体
|
||||
'<div class="' + doms[0] + (' layui-layer-' + ready.type[config.type]) + (((config.type == 0 || config.type == 2) && !config.shade) ? ' layui-layer-border' : '') + ' ' + (config.skin || '') + '" id="' + doms[0] + times + '" type="' + ready.type[config.type] + '" times="' + times + '" showtime="' + config.time + '" conType="' + (conType ? 'object' : 'string') + '" style="z-index: ' + zIndex + '; width:' + config.area[0] + ';height:' + config.area[1] + (config.fixed ? '' : ';position:absolute;') + '">'
|
||||
+ (conType && config.type != 2 ? '' : titleHTML)
|
||||
+ '<div id="' + (config.id || '') + '" class="layui-layer-content' + ((config.type == 0 && config.icon !== -1) ? ' layui-layer-padding' : '') + (config.type == 3 ? ' layui-layer-loading' + config.icon : '') + '">'
|
||||
+ (config.type == 0 && config.icon !== -1 ? '<i class="layui-layer-ico layui-layer-ico' + config.icon + '"></i>' : '')
|
||||
+ (config.type == 1 && conType ? '' : (config.content || ''))
|
||||
+ '</div>'
|
||||
+ '<span class="layui-layer-setwin">' + function () {
|
||||
var closebtn = ismax ? '<a class="layui-layer-min" href="javascript:;"><cite></cite></a><a class="layui-layer-ico layui-layer-max" href="javascript:;"></a>' : '';
|
||||
config.closeBtn && (closebtn += '<a class="layui-layer-ico ' + doms[7] + ' ' + doms[7] + (config.title ? config.closeBtn : (config.type == 4 ? '1' : '2')) + '" href="javascript:;"></a>');
|
||||
return closebtn;
|
||||
}() + '</span>'
|
||||
+ (config.btn ? function () {
|
||||
var button = '';
|
||||
typeof config.btn === 'string' && (config.btn = [config.btn]);
|
||||
for (var i = 0, len = config.btn.length; i < len; i++) {
|
||||
button += '<a class="' + doms[6] + '' + i + '">' + config.btn[i] + '</a>'
|
||||
}
|
||||
return '<div class="' + doms[6] + ' layui-layer-btn-' + (config.btnAlign || '') + '">' + button + '</div>'
|
||||
}() : '')
|
||||
+ (config.resize ? '<span class="layui-layer-resize"></span>' : '')
|
||||
+ '</div>'
|
||||
], titleHTML, $('<div class="layui-layer-move"></div>'));
|
||||
}
|
||||
return that;
|
||||
};
|
||||
|
||||
|
@ -304,6 +344,10 @@
|
|||
config.tips = typeof config.tips === 'object' ? config.tips : [config.tips, true];
|
||||
config.tipsMore || layer.closeAll('tips');
|
||||
break;
|
||||
case 5:
|
||||
//notice
|
||||
|
||||
break
|
||||
}
|
||||
|
||||
//建立容器
|
||||
|
@ -318,7 +362,21 @@
|
|||
$('#' + doms[0] + times).find('.' + doms[5]).before(titleHTML);
|
||||
}
|
||||
}();
|
||||
}() : body.append(html[1]);
|
||||
}() : function () {
|
||||
if (config.type !== 5) {
|
||||
return body.append(html[1])
|
||||
} else {
|
||||
let $container = $('.layui-layer-notice-container');
|
||||
if ($container.length == 0) {
|
||||
body.append(`<div class ="layui-layer-notice-container" style="z-index:${config.zIndex};"></div`)
|
||||
$container = $('.layui-layer-notice-container');
|
||||
}
|
||||
$container.append(html[1]);
|
||||
$container.children().last().find(".click").on('click', function (e) {
|
||||
config.click && new Function(config.click).call(this, e);
|
||||
})
|
||||
}
|
||||
}();
|
||||
//修改源插件为post提交
|
||||
//-------------------------------------------------------------------------------
|
||||
if (config.params != undefined || (config.method != undefined && config.method != 'get')) {
|
||||
|
@ -432,6 +490,10 @@
|
|||
//计算坐标
|
||||
Class.pt.offset = function () {
|
||||
var that = this, config = that.config, layero = that.layero;
|
||||
if (config.type == 5) {
|
||||
layero = layero.parent();
|
||||
}
|
||||
|
||||
var area = [layero.outerWidth(), layero.outerHeight()];
|
||||
var type = typeof config.offset === 'object';
|
||||
that.offsetTop = (win.height() - area[1]) / 2;
|
||||
|
@ -457,7 +519,7 @@
|
|||
that.offsetTop = win.height() - area[1];
|
||||
that.offsetLeft = 0;
|
||||
} else if (config.offset === 'rt') { //右上角
|
||||
that.offsetTop = 0;
|
||||
that.offsetTop = 0 + (that.config.offsetTop || 0);
|
||||
that.offsetLeft = win.width() - area[0];
|
||||
} else if (config.offset === 'rb') { //右下角
|
||||
that.offsetTop = win.height() - area[1];
|
||||
|
@ -955,7 +1017,7 @@
|
|||
layer.close = function (index) {
|
||||
var layero = $('#' + doms[0] + index), type = layero.attr('type'), closeAnim = 'layer-anim-close';
|
||||
if (!layero[0]) return;
|
||||
layero.length != 0 && ready.onClosed[index] && ready.onClosed[index]();
|
||||
layero.length != 0 && ready.onClosed[index] && ready.onClosed[index]();
|
||||
var WRAP = 'layui-layer-wrap', remove = function () {
|
||||
|
||||
if (type === ready.type[1] && layero.attr('conType') === 'object') {
|
||||
|
@ -1346,13 +1408,13 @@
|
|||
exports('layer', layer);
|
||||
})
|
||||
) : (
|
||||
(typeof define === 'function' && define.amd) ? define(['jquery'], function () { //requirejs加载
|
||||
ready.run(window.jQuery);
|
||||
return layer;
|
||||
}) : function () { //普通script标签加载
|
||||
ready.run(window.jQuery);
|
||||
layer.ready();
|
||||
}()
|
||||
);
|
||||
(typeof define === 'function' && define.amd) ? define(['jquery'], function () { //requirejs加载
|
||||
ready.run(window.jQuery);
|
||||
return layer;
|
||||
}) : function () { //普通script标签加载
|
||||
ready.run(window.jQuery);
|
||||
layer.ready();
|
||||
}()
|
||||
);
|
||||
|
||||
}(window);
|
||||
|
|
|
@ -58,35 +58,64 @@ layui.define(['view', 'theme', 'common'], function (exports) {
|
|||
if (status === 'spread') {
|
||||
//切换到展开状态的 icon,箭头:←
|
||||
iconElem.removeClass(ICON_SPREAD).addClass(ICON_SHRINK);
|
||||
|
||||
//移动:从左到右位移;PC:清除多余选择器恢复默认
|
||||
if (screen < 2) {
|
||||
app.addClass(APP_SPREAD_SM);
|
||||
} else {
|
||||
app.removeClass(APP_SPREAD_SM);
|
||||
}
|
||||
|
||||
app.removeClass(SIDE_SHRINK)
|
||||
} else {
|
||||
//切换到搜索状态的 icon,箭头:→
|
||||
iconElem.removeClass(ICON_SHRINK).addClass(ICON_SPREAD);
|
||||
|
||||
//移动:清除多余选择器恢复默认;PC:从右往左收缩
|
||||
if (screen < 2) {
|
||||
app.removeClass(SIDE_SHRINK);
|
||||
} else {
|
||||
app.addClass(SIDE_SHRINK);
|
||||
}
|
||||
|
||||
app.removeClass(APP_SPREAD_SM)
|
||||
}
|
||||
|
||||
$('#rolecourse').removeClass('layui-show');
|
||||
layui.event.call(this, setter.MOD_NAME, 'side({*})', {
|
||||
status: status
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
/**
|
||||
* 切换角色
|
||||
* @param {*} switchroleid 要切换的角色id
|
||||
* @param {*} deptid 要切换的部门id
|
||||
*/
|
||||
switchRole: function (switchroleid, deptid) {
|
||||
var curroleid = $('#ROLENAME').attr('roleid'),
|
||||
currdeptid = $('#ROLENAME').attr('deptid'),
|
||||
param = {
|
||||
roleid: switchroleid,
|
||||
deptid: deptid
|
||||
}
|
||||
if (curroleid == switchroleid && currdeptid == deptid) {
|
||||
return;
|
||||
} else {
|
||||
var index = layer.load();
|
||||
$.ajax({
|
||||
url: layui.cache['contentPath'] + '/switchRole?t=' + Math.floor(Math.random() * 100),
|
||||
data: param,
|
||||
type: 'get',
|
||||
async: false,
|
||||
dataType: 'json',
|
||||
contentType: "application/json",
|
||||
success: function (result) {
|
||||
if (result.state == 'OK') {
|
||||
layer.close(index);
|
||||
top.location.href = layui.cache['contentPath'] + '/index?tokenId=' + $('#tokenId').val();
|
||||
}
|
||||
},
|
||||
error: function (xhr, textStatus, errorThrown) {
|
||||
layer.msg('请求异常!' + xhr.responseText);
|
||||
},
|
||||
});
|
||||
}
|
||||
},
|
||||
/**
|
||||
* 获取当前用户信息
|
||||
* @param {*} callback 用户信息完成获取回调
|
||||
|
@ -122,7 +151,7 @@ layui.define(['view', 'theme', 'common'], function (exports) {
|
|||
doMessage: function (msg) {
|
||||
let d = JSON.parse(msg);
|
||||
if (d && d.msg == 'openTabPage') {
|
||||
common.openTabsPage(d.params.url, d.params.title, d.params.resid, d.params.paramm, function () {
|
||||
common.openTabsPage(d.params.url, d.params.title, d.params.resid, d.params.param, function () {
|
||||
var tabId = d.params.resid ? d.params.resid : d.params.url;
|
||||
admin.tabsBodyChange(tabsPage.index, {
|
||||
url: tabId,
|
||||
|
@ -561,7 +590,8 @@ layui.define(['view', 'theme', 'common'], function (exports) {
|
|||
});
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
@ -734,7 +764,7 @@ layui.define(['view', 'theme', 'common'], function (exports) {
|
|||
resizeSystem.lock = true;
|
||||
}
|
||||
$win.on('resize', layui.data.resizeSystem);
|
||||
|
||||
admin.sideFlexible(admin.screen() < 2 ? '' : 'spread');
|
||||
/**
|
||||
* 渲染角色下拉
|
||||
* @param {*} loginInfo 登录的返回信息
|
||||
|
@ -767,41 +797,16 @@ layui.define(['view', 'theme', 'common'], function (exports) {
|
|||
$rolecourse.append(html);
|
||||
initRoleClickEvent();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 初始化角色点击事件
|
||||
*/
|
||||
function initRoleClickEvent() {
|
||||
$('#rolecourse a').on('click', function () {
|
||||
var curroleid = $('#ROLENAME').attr('roleid'),
|
||||
currdeptid = $('#ROLENAME').attr('deptid'),
|
||||
switchroleid = $(this).attr('roleid'),
|
||||
deptid = $(this).attr('deptid') == undefined ? '' : $(this).attr('deptid'),
|
||||
param = {
|
||||
roleid: switchroleid,
|
||||
deptid: deptid
|
||||
}
|
||||
if (curroleid == switchroleid && currdeptid == deptid) {
|
||||
return;
|
||||
} else {
|
||||
var index = layer.load();
|
||||
$.ajax({
|
||||
url: layui.cache['contentPath'] + '/switchRole?t=' + Math.floor(Math.random() * 100),
|
||||
data: param,
|
||||
type: 'get',
|
||||
async: false,
|
||||
dataType: 'json',
|
||||
contentType: "application/json",
|
||||
success: function (result) {
|
||||
if (result.state == 'OK') {
|
||||
layer.close(index);
|
||||
top.location.href = layui.cache['contentPath'] + '/index?tokenId=' + $('#tokenId').val();
|
||||
}
|
||||
},
|
||||
error: function (xhr, textStatus, errorThrown) {
|
||||
layer.msg('请求异常!' + xhr.responseText);
|
||||
},
|
||||
});
|
||||
}
|
||||
let switchroleid = $(this).attr('roleid'),
|
||||
deptid = $(this).attr('deptid') == undefined ? '' : $(this).attr('deptid')
|
||||
admin.switchRole(switchroleid, deptid);
|
||||
});
|
||||
}
|
||||
/**
|
||||
|
@ -889,7 +894,7 @@ layui.define(['view', 'theme', 'common'], function (exports) {
|
|||
* 主题渲染
|
||||
*/
|
||||
function renderTheme() {
|
||||
window['kdtheme'].render(true);
|
||||
window['kdtheme'].render(false);
|
||||
}
|
||||
|
||||
function renderMenu(userInfo) {
|
||||
|
@ -915,9 +920,8 @@ layui.define(['view', 'theme', 'common'], function (exports) {
|
|||
//当前设定主题设置
|
||||
let m = theme.getTheme(true);
|
||||
if (m) {
|
||||
var g_loginInfo = null
|
||||
let g_loginInfo = null
|
||||
common.on('setTheme', function (event) {
|
||||
renderTheme();
|
||||
if (g_loginInfo === null) {
|
||||
admin.getUserInfo(function (userInfo, error) {
|
||||
if (error) {
|
||||
|
@ -925,6 +929,47 @@ layui.define(['view', 'theme', 'common'], function (exports) {
|
|||
} else {
|
||||
g_loginInfo = userInfo;
|
||||
renderMenu(g_loginInfo)
|
||||
/**
|
||||
* 接收到通知消息
|
||||
*/
|
||||
common.on('NOTICE_MSG', (event) => {
|
||||
layer.notice(event.params.content, $.extend({ offsetTop: 80 }, event.params));
|
||||
})
|
||||
let sseMsg = JSON.stringify({
|
||||
MSG: 'NOTICE_MSG',
|
||||
tokenId: userInfo.tokenId
|
||||
})
|
||||
let sse = new Sse(sseMsg, 30000);
|
||||
sse.on((data) => {
|
||||
let msg
|
||||
if (typeof data == 'string') {
|
||||
if (data.startsWith('{') || data.startsWith('[')) {
|
||||
msg = JSON.parse(data)
|
||||
} else {
|
||||
msg = data;
|
||||
}
|
||||
}
|
||||
let mp3 = new Audio(`${layui.cache['contentPath']}/static/image/message.mp3`) //创建音频对象
|
||||
mp3.loop = false
|
||||
mp3.play()
|
||||
if (msg instanceof Array) {
|
||||
msg && msg.forEach(item => {
|
||||
layer.notice(item.msg, $.extend({ offsetTop: 80, click: item.click }, { icon: item.icon, time: item.time }))
|
||||
});
|
||||
} else if (typeof msg == 'string') {
|
||||
layer.notice(msg, $.extend({ offsetTop: 80, content: msg }, { icon: 1, time: 0 }))
|
||||
} else if (typeof msg == 'object') {
|
||||
layer.notice(msg, $.extend({ icon: 1, time: 0 }, {
|
||||
offsetTop: 80,
|
||||
title: msg.msgTitle,
|
||||
content: msg.msgContext,
|
||||
icon: msg.icon,
|
||||
time: msg.time,
|
||||
click: msg.click
|
||||
},))
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
})
|
||||
} else {
|
||||
|
@ -936,11 +981,6 @@ layui.define(['view', 'theme', 'common'], function (exports) {
|
|||
/**
|
||||
* 判断是否已经加载主题
|
||||
*/
|
||||
window['--hasload-kd-Theme'] = true;
|
||||
|
||||
$('body').addClass('loaded');
|
||||
$('#loader-wrapper .load_title').remove();
|
||||
|
||||
common.on('TabPageFinished', function (event) {
|
||||
$('.layadmin-tabsbody-shade').fadeOut('600');
|
||||
})
|
||||
|
|
|
@ -1866,16 +1866,25 @@ ul.navbarSearchResult::-webkit-scrollbar-track {
|
|||
}
|
||||
|
||||
.kdayun-app-layout-top .kdayun-logo {
|
||||
display: block;
|
||||
/* display: block;
|
||||
position: absolute;
|
||||
padding: 8px;
|
||||
padding: 8px; */
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
margin-left: 8px;
|
||||
}
|
||||
|
||||
.kdayun-app-layout .layui-header {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.kdayun-app-layout-top .kdayun-menu-container {
|
||||
position: relative;
|
||||
/* position: relative;
|
||||
display: inline-block;
|
||||
margin-left: 200px;
|
||||
margin-left: 200px; */
|
||||
margin-top: 25px;
|
||||
width: calc(100% - 581px);
|
||||
}
|
||||
|
||||
/* .kdayun-app-layout-top .kdayun-menu-ul {
|
||||
|
@ -2184,7 +2193,154 @@ CORE STYLES BELOW - NO TOUCHY
|
|||
@media (max-width:575px) {}
|
||||
|
||||
/* Small (sm) and down */
|
||||
@media (max-width:767px) {}
|
||||
@media (max-width:767px) {
|
||||
|
||||
.kdayun-app-layout-left.layadmin-side-spread-sm .kdayun-menu {
|
||||
width: 220px !important;
|
||||
}
|
||||
|
||||
.kdayun-app-layout-left.kdayun-app-layout .kdayun-menu {
|
||||
width: 0px;
|
||||
}
|
||||
|
||||
.kdayun-app-layout-left .kdayun-menu-container {
|
||||
height: calc(100% - 194px) !important;
|
||||
}
|
||||
|
||||
.kdayun-app-layout-left .layui-layout-left,
|
||||
.kdayun-app-layout-left .layadmin-pagetabs,
|
||||
.kdayun-app-layout-left .kdayun-pagetab-body,
|
||||
.kdayun-app-layout-left .layui-footer {
|
||||
left: 0px !important;
|
||||
}
|
||||
|
||||
.kdayun-app-layout-left .layadmin-pagetabs {
|
||||
top: 0px;
|
||||
}
|
||||
|
||||
.kdayun-app-layout-left .kdayun-pagetab-body {
|
||||
top: 38px;
|
||||
}
|
||||
|
||||
.kdayun-small-title-t {
|
||||
display: inline-block;
|
||||
margin: auto;
|
||||
width: 80%;
|
||||
text-align: center;
|
||||
font-weight: 700;
|
||||
font-size: medium;
|
||||
}
|
||||
|
||||
.kdayun-small-title {
|
||||
position: fixed;
|
||||
width: 100%;
|
||||
height: 35px;
|
||||
line-height: 35px;
|
||||
padding: 0 8px 0 8px;
|
||||
background-color: #fff;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.kdayun-app-layout-left .kdayun-header {
|
||||
height: 50px;
|
||||
background-color: inherit !important;
|
||||
padding: 10px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
}
|
||||
|
||||
.kdayun-app-layout-left .kdayun-header-info img {
|
||||
width: 64px;
|
||||
height: 64px;
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
.kdayun-app-layout-left .kdayun-header .kdayun-header-name-role {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.kdayun-app-layout-left .kdayun-header .kdayun-header-name-role span {
|
||||
font-size: 12px !important;
|
||||
}
|
||||
|
||||
.kdayun-app-layout-left .kdayun-header .kdayun-header-role,
|
||||
.kdayun-app-layout-left .kdayun-header a {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.kdayun-app-layout-left .kdayun-header a {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: end;
|
||||
}
|
||||
|
||||
.kdayun-app-layout-left .kdayun-header .layui-nav-more {
|
||||
margin-left: 5px;
|
||||
border-width: 6px;
|
||||
border-top-style: solid;
|
||||
border-top-color: #fff;
|
||||
border-top-color: rgba(255, 255, 255, .7);
|
||||
content: '';
|
||||
width: 0;
|
||||
height: 0;
|
||||
border-style: dashed;
|
||||
border-color: transparent;
|
||||
overflow: hidden;
|
||||
cursor: pointer;
|
||||
transition: all .2s;
|
||||
-webkit-transition: all .2s;
|
||||
}
|
||||
|
||||
.kdayun-header-role-dropdown .layui-nav-child {
|
||||
min-width: unset;
|
||||
line-height: 31px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.kdayun-header-role-dropdown .layui-nav-child dd {
|
||||
margin-left: 4px;
|
||||
}
|
||||
|
||||
.kdayun-app-layout-left .kdayun-header a:hover {
|
||||
color: unset !important;
|
||||
}
|
||||
|
||||
.kdayun-app-layout .layui-header a span.layui-nav-mored {
|
||||
border-top-color: transparent !important;
|
||||
border-bottom-color: unset !important;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
}
|
||||
|
||||
.kdayun-app-layout .layui-header a span.layui-nav-more {
|
||||
border-top-color: unset !important;
|
||||
border-bottom-color: transparent !important;
|
||||
}
|
||||
|
||||
.kdayun-app-layout .kdayun-menu-close {
|
||||
position: absolute;
|
||||
right: 1px;
|
||||
top: 1px;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
z-index: 10000;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.kdayun-small-refresh {
|
||||
position: absolute;
|
||||
right: 8px;
|
||||
top: 10px;
|
||||
}
|
||||
|
||||
.kdayun-pagetab-body .layadmin-tabsbody-shade div {
|
||||
font-size: 26px;
|
||||
}
|
||||
|
||||
.kdayun-pagetab-body .layadmin-tabsbody-shade div:last-child {
|
||||
font-size: 18px;
|
||||
}
|
||||
}
|
||||
|
||||
/* Medium (md) and down */
|
||||
@media (max-width:991px) {
|
||||
|
|
|
@ -156,7 +156,19 @@
|
|||
<ul class="navbarSearchResult layui-hide kdayun-search-result"></ul>
|
||||
</div>
|
||||
</script>
|
||||
|
||||
<script id="tpl-small-body" type="text/html">
|
||||
<div class="layadmin-pagetabs kdayun-pagetabs" id="LAY_app_tabs" style="padding-left: 0px;padding-right: 40px;">
|
||||
</div>
|
||||
<div class="kdayun-pagetab-body" id="LAY_app_body">
|
||||
<div class="layadmin-tabsbody-shade">
|
||||
<div>页面载入中...</div>
|
||||
<div><@configValue id='D9D9033598B54FD794995DA742A58A40'> </@configValue></div>
|
||||
</div>
|
||||
<div class="layadmin-tabsbody-item layui-show kdayun-pagetab-body-item">
|
||||
<iframe src="${request.contextPath}/manager/corehomepage/web/index" frameborder="0" class="layadmin-iframe kdayun-pagetab-iframe"></iframe>
|
||||
</div>
|
||||
</div>
|
||||
</script>
|
||||
|
||||
<script id="tpl-body" type="text/html">
|
||||
<div class="layadmin-pagetabs kdayun-pagetabs" id="LAY_app_tabs" style="padding-left: 0px;padding-right: 40px;">
|
||||
|
|
|
@ -64,7 +64,7 @@
|
|||
</ul>
|
||||
<ul class="layui-nav layui-layout-right" lay-filter="layadmin-layout-right">
|
||||
<li class="layui-nav-item" lay-unselect>
|
||||
<a layadmin-event="message" yh-href="${request.contextPath}/manager/coremodelshow/?modelId=C2AB0681B83246F78D467A0D05E5B821" resid="5A61E550409841298EC15DBF68B95D8B" nopost="1" lay-text="消息中心">
|
||||
<a layadmin-event="message" yh-href="${request.contextPath}/manager/coremodelshow/?modelId=A1411798AA8D40ABB6ED5877FF3D3342" resid="5A61E550409841298EC15DBF68B95D8B" nopost="1" lay-text="消息中心">
|
||||
<i class="layui-icon layui-icon-notice"></i>
|
||||
<!-- 如果有新消息,则显示小圆点 -->
|
||||
<span class="layui-badge-dot"></span>
|
||||
|
@ -258,7 +258,7 @@
|
|||
<!-- 头部区域 -->
|
||||
<ul class="layui-nav layui-layout-right kdayun-header-right-tools" lay-filter="layadmin-layout-right">
|
||||
<li class="layui-nav-item" lay-unselect>
|
||||
<a layadmin-event="message" yh-href="${request.contextPath}/manager/coremodelshow/?modelId=C2AB0681B83246F78D467A0D05E5B821" resid="5A61E550409841298EC15DBF68B95D8B" nopost="1" lay-text="消息中心">
|
||||
<a layadmin-event="message" yh-href="${request.contextPath}/manager/coremodelshow/?modelId=A91C3704525C4F9FADD779E939E949E5" resid="5A61E550409841298EC15DBF68B95D8B" nopost="1" lay-text="消息中心">
|
||||
<i class="layui-icon layui-icon-notice"></i>
|
||||
<!-- 如果有新消息,则显示小圆点 -->
|
||||
<span class="layui-badge-dot"></span>
|
||||
|
@ -342,7 +342,24 @@
|
|||
<ul class="navbarSearchResult layui-hide kdayun-search-result"></ul>
|
||||
</div>
|
||||
</script>
|
||||
|
||||
<script id="tpl-small-body" type="text/html">
|
||||
<div class="kdayun-small-title">
|
||||
<a href="javascript:;" layadmin-event="flexible" title="侧边伸缩">
|
||||
<i class="layui-icon layui-icon-spread-left" id="kdayun-app-flexible"></i>
|
||||
</a>
|
||||
<span class="kdayun-small-title-t">首页</span>
|
||||
<i class="kdayun-small-refresh fa fa-refresh"></i>
|
||||
</div>
|
||||
<div class="kdayun-pagetab-body" id="LAY_app_body">
|
||||
<div class="layadmin-tabsbody-shade">
|
||||
<div>页面载入中...</div>
|
||||
<div><@configValue id='D9D9033598B54FD794995DA742A58A40'> </@configValue></div>
|
||||
</div>
|
||||
<div class="layadmin-tabsbody-item layui-show kdayun-pagetab-body-item">
|
||||
<iframe src="${request.contextPath}/manager/corehomepage/web/index" frameborder="0" class="layadmin-iframe kdayun-pagetab-iframe"></iframe>
|
||||
</div>
|
||||
</div>
|
||||
</script>
|
||||
|
||||
<script id="tpl-body" type="text/html">
|
||||
<div class="layadmin-pagetabs kdayun-pagetabs" id="LAY_app_tabs" style="padding-left: 0px;padding-right: 40px;">
|
||||
|
|
Loading…
Reference in New Issue