first commit

This commit is contained in:
2026-01-25 18:18:09 +08:00
commit 509312e604
8136 changed files with 2349298 additions and 0 deletions

BIN
web/.DS_Store vendored Normal file

Binary file not shown.

4
web/.htaccess Normal file
View File

@ -0,0 +1,4 @@
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php [L]

2
web/assets/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
*
!.gitignore

6
web/css/admin.css Normal file

File diff suppressed because one or more lines are too long

2
web/css/layer.css Normal file

File diff suppressed because one or more lines are too long

2
web/css/layui.css Normal file

File diff suppressed because one or more lines are too long

BIN
web/css/loading-0.gif Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

88
web/css/site.css Normal file
View File

@ -0,0 +1,88 @@
main > .container {
padding: 70px 15px 20px;
}
.footer {
background-color: #f5f5f5;
font-size: .9em;
height: 60px;
}
.footer > .container {
padding-right: 15px;
padding-left: 15px;
}
.not-set {
color: #c55;
font-style: italic;
}
/* add sorting icons to gridview sort links */
a.asc:after, a.desc:after {
content: '';
left: 3px;
display: inline-block;
width: 0;
height: 0;
border: solid 5px transparent;
margin: 4px 4px 2px 4px;
background: transparent;
}
a.asc:after {
border-bottom: solid 7px #212529;
border-top-width: 0;
}
a.desc:after {
border-top: solid 7px #212529;
border-bottom-width: 0;
}
.grid-view th {
white-space: nowrap;
}
.hint-block {
display: block;
margin-top: 5px;
color: #999;
}
.error-summary {
color: #a94442;
background: #fdf7f7;
border-left: 3px solid #eed3d7;
padding: 10px 20px;
margin: 0 0 15px 0;
}
/* align the logout "link" (button in form) of the navbar */
.nav li > form > button.logout {
padding-top: 7px;
color: rgba(255, 255, 255, 0.5);
}
@media(max-width:767px) {
.nav li > form > button.logout {
display:block;
text-align: left;
width: 100%;
padding: 10px 0;
}
}
.nav > li > form > button.logout:focus,
.nav > li > form > button.logout:hover {
text-decoration: none;
color: rgba(255, 255, 255, 0.75);
}
.nav > li > form > button.logout:focus {
outline: none;
}
.form-group {
margin-bottom: 1rem;
}

BIN
web/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 318 B

BIN
web/font/iconfont.woff2 Normal file

Binary file not shown.

BIN
web/images/bg-login.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 383 KiB

BIN
web/images/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

BIN
web/images/head.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

BIN
web/images/logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

16
web/index-test.php Normal file
View File

@ -0,0 +1,16 @@
<?php
// NOTE: Make sure this file is not accessible when deployed to production
if (!in_array(@$_SERVER['REMOTE_ADDR'], ['127.0.0.1', '::1'])) {
die('You are not allowed to access this file.');
}
defined('YII_DEBUG') or define('YII_DEBUG', true);
defined('YII_ENV') or define('YII_ENV', 'test');
require __DIR__ . '/../vendor/autoload.php';
require __DIR__ . '/../vendor/yiisoft/yii2/Yii.php';
$config = require __DIR__ . '/../config/test.php';
(new yii\web\Application($config))->run();

13
web/index.php Normal file
View File

@ -0,0 +1,13 @@
<?php
//phpinfo();
// comment out the following two lines when deployed to production
defined('YII_DEBUG') or define('YII_DEBUG', true);
defined('YII_ENV') or define('YII_ENV', 'dev');
require __DIR__ . '/../vendor/autoload.php';
require __DIR__ . '/../vendor/yiisoft/yii2/Yii.php';
$config = require __DIR__ . '/../config/web.php';
(new yii\web\Application($config))->run();

98
web/js/common.js Normal file
View File

@ -0,0 +1,98 @@
/** EasyWeb iframe v3.1.7 date:2020-03-11 License By http://easyweb.vip */
layui.config({
version: '317',
base: getProjectUrl() + 'module/',
defaultTheme: 'theme-colorful', // 默认主题
tabAutoRefresh: false, // 是否切换Tab自动刷新页面
ajaxSuccessBefore: function (res, url, obj) {
var layer = layui.layer;
var notice = layui.notice;
if (res.ajsx_common && res.code == 1001) {
layer.closeAll();
parent.layui.admin.confirm(res.msg,function (index) {
parent.layer.close(index);
})
// notice.msg(res.msg, {icon: 2});
// layui.notice.error({
// theme:'dark',
// timeout: 2500,
// animateInside:true,
// position:"topCenter",
// transitionIn:"bounceInDown",
// transitionOut:'fadeOutDown',
// title: res.msg,
// message: res.msg
// });
// return false
}
}
}).extend({
steps: 'steps/steps',
notice: 'notice/notice',
cascader: 'cascader/cascader',
// dropdown: 'dropdown/dropdown',
fileChoose: 'fileChoose/fileChoose',
// treeTable: 'treeTable/treeTable',
Split: 'Split/Split',
Cropper: 'Cropper/Cropper',
tagsInput: 'tagsInput/tagsInput',
citypicker: 'city-picker/city-picker',
introJs: 'introJs/introJs',
zTree: 'zTree/zTree',
eleTree: 'eleTree/eleTree'
}).use(['layer', 'admin'], function () {
var $ = layui.jquery;
var layer = layui.layer;
var admin = layui.admin;
setTimeout(function () {
admin.removeLoading();
}, window === top ? 300 : 0);
});
function getProjectUrl() {
var layuiDir = layui.cache.dir;
if (!layuiDir) {
var js = document.scripts, last = js.length - 1, src;
for (var i = last; i > 0; i--) {
if (js[i].readyState === 'interactive') {
src = js[i].src;
break;
}
}
var jsPath = src || js[last].src;
layuiDir = jsPath.substring(0, jsPath.lastIndexOf('/') + 1);
}
return layuiDir.substring(0, layuiDir.indexOf('assets'));
}
function msg(title, message, inc) {
if (inc == 1) {
layui.notice.success({
theme: 'dark',
timeout: 2500,
animateInside: true,
position: "topCenter",
transitionIn: "bounceInDown",
transitionOut: 'fadeOutDown',
title: title,
message: message
});
}
if (inc == 2) {
layui.notice.error({
theme: 'dark',
timeout: 2500,
animateInside: true,
position: "topCenter",
transitionIn: "bounceInDown",
transitionOut: 'fadeOutDown',
title: title,
message: message
});
}
}

1
web/js/layui.js Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

5
web/libs/layui/lay/modules/jquery.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,2 @@
/** layui-v2.5.6 MIT License By https://www.layui.com */
;layui.define(function(e){"use strict";var a=document,t="getElementById",n="getElementsByTagName",i="laypage",r="layui-disabled",u=function(e){var a=this;a.config=e||{},a.config.index=++s.index,a.render(!0)};u.prototype.type=function(){var e=this.config;if("object"==typeof e.elem)return void 0===e.elem.length?2:3},u.prototype.view=function(){var e=this,a=e.config,t=a.groups="groups"in a?0|a.groups:5;a.layout="object"==typeof a.layout?a.layout:["prev","page","next"],a.count=0|a.count,a.curr=0|a.curr||1,a.limits="object"==typeof a.limits?a.limits:[10,20,30,40,50],a.limit=0|a.limit||10,a.pages=Math.ceil(a.count/a.limit)||1,a.curr>a.pages&&(a.curr=a.pages),t<0?t=1:t>a.pages&&(t=a.pages),a.prev="prev"in a?a.prev:"&#x4E0A;&#x4E00;&#x9875;",a.next="next"in a?a.next:"&#x4E0B;&#x4E00;&#x9875;";var n=a.pages>t?Math.ceil((a.curr+(t>1?1:0))/(t>0?t:1)):1,i={prev:function(){return a.prev?'<a href="javascript:;" class="layui-laypage-prev'+(1==a.curr?" "+r:"")+'" data-page="'+(a.curr-1)+'">'+a.prev+"</a>":""}(),page:function(){var e=[];if(a.count<1)return"";n>1&&a.first!==!1&&0!==t&&e.push('<a href="javascript:;" class="layui-laypage-first" data-page="1" title="&#x9996;&#x9875;">'+(a.first||1)+"</a>");var i=Math.floor((t-1)/2),r=n>1?a.curr-i:1,u=n>1?function(){var e=a.curr+(t-i-1);return e>a.pages?a.pages:e}():t;for(u-r<t-1&&(r=u-t+1),a.first!==!1&&r>2&&e.push('<span class="layui-laypage-spr">&#x2026;</span>');r<=u;r++)r===a.curr?e.push('<span class="layui-laypage-curr"><em class="layui-laypage-em" '+(/^#/.test(a.theme)?'style="background-color:'+a.theme+';"':"")+"></em><em>"+r+"</em></span>"):e.push('<a href="javascript:;" data-page="'+r+'">'+r+"</a>");return a.pages>t&&a.pages>u&&a.last!==!1&&(u+1<a.pages&&e.push('<span class="layui-laypage-spr">&#x2026;</span>'),0!==t&&e.push('<a href="javascript:;" class="layui-laypage-last" title="&#x5C3E;&#x9875;" data-page="'+a.pages+'">'+(a.last||a.pages)+"</a>")),e.join("")}(),next:function(){return a.next?'<a href="javascript:;" class="layui-laypage-next'+(a.curr==a.pages?" "+r:"")+'" data-page="'+(a.curr+1)+'">'+a.next+"</a>":""}(),count:'<span class="layui-laypage-count">共 '+a.count+" 条</span>",limit:function(){var e=['<span class="layui-laypage-limits"><select lay-ignore>'];return layui.each(a.limits,function(t,n){e.push('<option value="'+n+'"'+(n===a.limit?"selected":"")+">"+n+" 条/页</option>")}),e.join("")+"</select></span>"}(),refresh:['<a href="javascript:;" data-page="'+a.curr+'" class="layui-laypage-refresh">','<i class="layui-icon layui-icon-refresh"></i>',"</a>"].join(""),skip:function(){return['<span class="layui-laypage-skip">&#x5230;&#x7B2C;','<input type="text" min="1" value="'+a.curr+'" class="layui-input">','&#x9875;<button type="button" class="layui-laypage-btn">&#x786e;&#x5b9a;</button>',"</span>"].join("")}()};return['<div class="layui-box layui-laypage layui-laypage-'+(a.theme?/^#/.test(a.theme)?"molv":a.theme:"default")+'" id="layui-laypage-'+a.index+'">',function(){var e=[];return layui.each(a.layout,function(a,t){i[t]&&e.push(i[t])}),e.join("")}(),"</div>"].join("")},u.prototype.jump=function(e,a){if(e){var t=this,i=t.config,r=e.children,u=e[n]("button")[0],l=e[n]("input")[0],p=e[n]("select")[0],c=function(){var e=0|l.value.replace(/\s|\D/g,"");e&&(i.curr=e,t.render())};if(a)return c();for(var o=0,y=r.length;o<y;o++)"a"===r[o].nodeName.toLowerCase()&&s.on(r[o],"click",function(){var e=0|this.getAttribute("data-page");e<1||e>i.pages||(i.curr=e,t.render())});p&&s.on(p,"change",function(){var e=this.value;i.curr*e>i.count&&(i.curr=Math.ceil(i.count/e)),i.limit=e,t.render()}),u&&s.on(u,"click",function(){c()})}},u.prototype.skip=function(e){if(e){var a=this,t=e[n]("input")[0];t&&s.on(t,"keyup",function(t){var n=this.value,i=t.keyCode;/^(37|38|39|40)$/.test(i)||(/\D/.test(n)&&(this.value=n.replace(/\D/,"")),13===i&&a.jump(e,!0))})}},u.prototype.render=function(e){var n=this,i=n.config,r=n.type(),u=n.view();2===r?i.elem&&(i.elem.innerHTML=u):3===r?i.elem.html(u):a[t](i.elem)&&(a[t](i.elem).innerHTML=u),i.jump&&i.jump(i,e);var s=a[t]("layui-laypage-"+i.index);n.jump(s),i.hash&&!e&&(location.hash="!"+i.hash+"="+i.curr),n.skip(s)};var s={render:function(e){var a=new u(e);return a.index},index:layui.laypage?layui.laypage.index+1e4:0,on:function(e,a,t){return e.attachEvent?e.attachEvent("on"+a,function(a){a.target=a.srcElement,t.call(e,a)}):e.addEventListener(a,t,!1),this}};e(i,s)});

View File

@ -0,0 +1,2 @@
/** layui-v2.5.6 MIT License By https://www.layui.com */
;layui.define(function(e){"use strict";var r={open:"{{",close:"}}"},c={exp:function(e){return new RegExp(e,"g")},query:function(e,c,t){var o=["#([\\s\\S])+?","([^{#}])*?"][e||0];return n((c||"")+r.open+o+r.close+(t||""))},escape:function(e){return String(e||"").replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/'/g,"&#39;").replace(/"/g,"&quot;")},error:function(e,r){var c="Laytpl Error";return"object"==typeof console&&console.error(c+e+"\n"+(r||"")),c+e}},n=c.exp,t=function(e){this.tpl=e};t.pt=t.prototype,window.errors=0,t.pt.parse=function(e,t){var o=this,p=e,a=n("^"+r.open+"#",""),l=n(r.close+"$","");e=e.replace(/\s+|\r|\t|\n/g," ").replace(n(r.open+"#"),r.open+"# ").replace(n(r.close+"}"),"} "+r.close).replace(/\\/g,"\\\\").replace(n(r.open+"!(.+?)!"+r.close),function(e){return e=e.replace(n("^"+r.open+"!"),"").replace(n("!"+r.close),"").replace(n(r.open+"|"+r.close),function(e){return e.replace(/(.)/g,"\\$1")})}).replace(/(?="|')/g,"\\").replace(c.query(),function(e){return e=e.replace(a,"").replace(l,""),'";'+e.replace(/\\/g,"")+';view+="'}).replace(c.query(1),function(e){var c='"+(';return e.replace(/\s/g,"")===r.open+r.close?"":(e=e.replace(n(r.open+"|"+r.close),""),/^=/.test(e)&&(e=e.replace(/^=/,""),c='"+_escape_('),c+e.replace(/\\/g,"")+')+"')}),e='"use strict";var view = "'+e+'";return view;';try{return o.cache=e=new Function("d, _escape_",e),e(t,c.escape)}catch(u){return delete o.cache,c.error(u,p)}},t.pt.render=function(e,r){var n,t=this;return e?(n=t.cache?t.cache(e,c.escape):t.parse(t.tpl,e),r?void r(n):n):c.error("no data")};var o=function(e){return"string"!=typeof e?c.error("Template not found"):new t(e)};o.config=function(e){e=e||{};for(var c in e)r[c]=e[c]},o.v="1.2.0",e("laytpl",o)});

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,2 @@
/** layui-v2.5.6 MIT License By https://www.layui.com */
;layui.define("jquery",function(e){"use strict";var t=layui.$,i={fixbar:function(e){var i,n,a="layui-fixbar",o="layui-fixbar-top",r=t(document),l=t("body");e=t.extend({showHeight:200},e),e.bar1=e.bar1===!0?"&#xe606;":e.bar1,e.bar2=e.bar2===!0?"&#xe607;":e.bar2,e.bgcolor=e.bgcolor?"background-color:"+e.bgcolor:"";var c=[e.bar1,e.bar2,"&#xe604;"],u=t(['<ul class="'+a+'">',e.bar1?'<li class="layui-icon" lay-type="bar1" style="'+e.bgcolor+'">'+c[0]+"</li>":"",e.bar2?'<li class="layui-icon" lay-type="bar2" style="'+e.bgcolor+'">'+c[1]+"</li>":"",'<li class="layui-icon '+o+'" lay-type="top" style="'+e.bgcolor+'">'+c[2]+"</li>","</ul>"].join("")),g=u.find("."+o),s=function(){var t=r.scrollTop();t>=e.showHeight?i||(g.show(),i=1):i&&(g.hide(),i=0)};t("."+a)[0]||("object"==typeof e.css&&u.css(e.css),l.append(u),s(),u.find("li").on("click",function(){var i=t(this),n=i.attr("lay-type");"top"===n&&t("html,body").animate({scrollTop:0},200),e.click&&e.click.call(this,n)}),r.on("scroll",function(){clearTimeout(n),n=setTimeout(function(){s()},100)}))},countdown:function(e,t,i){var n=this,a="function"==typeof t,o=new Date(e).getTime(),r=new Date(!t||a?(new Date).getTime():t).getTime(),l=o-r,c=[Math.floor(l/864e5),Math.floor(l/36e5)%24,Math.floor(l/6e4)%60,Math.floor(l/1e3)%60];a&&(i=t);var u=setTimeout(function(){n.countdown(e,r+1e3,i)},1e3);return i&&i(l>0?c:[0,0,0,0],t,u),l<=0&&clearTimeout(u),u},timeAgo:function(e,t){var i=this,n=[[],[]],a=(new Date).getTime()-new Date(e).getTime();return a>26784e5?(a=new Date(e),n[0][0]=i.digit(a.getFullYear(),4),n[0][1]=i.digit(a.getMonth()+1),n[0][2]=i.digit(a.getDate()),t||(n[1][0]=i.digit(a.getHours()),n[1][1]=i.digit(a.getMinutes()),n[1][2]=i.digit(a.getSeconds())),n[0].join("-")+" "+n[1].join(":")):a>=864e5?(a/1e3/60/60/24|0)+"天前":a>=36e5?(a/1e3/60/60|0)+"小时前":a>=18e4?(a/1e3/60|0)+"分钟前":a<0?"未来":"刚刚"},digit:function(e,t){var i="";e=String(e),t=t||2;for(var n=e.length;n<t;n++)i+="0";return e<Math.pow(10,t)?i+(0|e):e},toDateString:function(e,t){var i=this,n=new Date(e||new Date),a=[i.digit(n.getFullYear(),4),i.digit(n.getMonth()+1),i.digit(n.getDate())],o=[i.digit(n.getHours()),i.digit(n.getMinutes()),i.digit(n.getSeconds())];return t=t||"yyyy-MM-dd HH:mm:ss",t.replace(/yyyy/g,a[0]).replace(/MM/g,a[1]).replace(/dd/g,a[2]).replace(/HH/g,o[0]).replace(/mm/g,o[1]).replace(/ss/g,o[2])},escape:function(e){return String(e||"").replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/'/g,"&#39;").replace(/"/g,"&quot;")},event:function(e,n,a){var o=t("body");return a=a||"click",n=i.event[e]=t.extend(!0,i.event[e],n)||{},i.event.UTIL_EVENT_CALLBACK=i.event.UTIL_EVENT_CALLBACK||{},o.off(a,"*["+e+"]",i.event.UTIL_EVENT_CALLBACK[e]),i.event.UTIL_EVENT_CALLBACK[e]=function(){var i=t(this),a=i.attr(e);"function"==typeof n[a]&&n[a].call(this,i)},o.on(a,"*["+e+"]",i.event.UTIL_EVENT_CALLBACK[e]),n}};!function(e,t,i){"$:nomunge";function n(){a=t[l](function(){o.each(function(){var t=e(this),i=t.width(),n=t.height(),a=e.data(this,u);(i!==a.w||n!==a.h)&&t.trigger(c,[a.w=i,a.h=n])}),n()},r[g])}var a,o=e([]),r=e.resize=e.extend(e.resize,{}),l="setTimeout",c="resize",u=c+"-special-event",g="delay",s="throttleWindow";r[g]=250,r[s]=!0,e.event.special[c]={setup:function(){if(!r[s]&&this[l])return!1;var t=e(this);o=o.add(t),e.data(this,u,{w:t.width(),h:t.height()}),1===o.length&&n()},teardown:function(){if(!r[s]&&this[l])return!1;var t=e(this);o=o.not(t),t.removeData(u),o.length||clearTimeout(a)},add:function(t){function n(t,n,o){var r=e(this),l=e.data(this,u)||{};l.w=n!==i?n:r.width(),l.h=o!==i?o:r.height(),a.apply(this,arguments)}if(!r[s]&&this[l])return!1;var a;return e.isFunction(t)?(a=t,n):(a=t.handler,void(t.handler=n))}}}(t,window),e("util",i)});

2
web/libs/layui/layui.js Normal file

File diff suppressed because one or more lines are too long

BIN
web/module/.DS_Store vendored Normal file

Binary file not shown.

2
web/module/admin.css Normal file

File diff suppressed because one or more lines are too long

2
web/module/admin.js Normal file

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,5 @@
/**
* 右键菜单模块
* date:2019-02-08 License By http://easyweb.vip
*/
layui.define(["jquery"],function(a){var c=layui.jquery;var b={bind:function(e,d){c(e).bind("contextmenu",function(f){b.show(d,f.clientX,f.clientY,f);return false})},show:function(f,d,k,h){var g="left: "+d+"px; top: "+k+"px;";var j='<div class="ctxMenu" style="'+g+'">';j+=b.getHtml(f,"");j+=" </div>";b.remove();c("body").append(j);var i=c(".ctxMenu");if(d+i.outerWidth()>b.getPageWidth()){d-=i.outerWidth()}if(k+i.outerHeight()>b.getPageHeight()){k=k-i.outerHeight();if(k<0){k=0}}i.css({"top":k,"left":d});b.setEvents(f,h);c(".ctxMenu-item").on("mouseenter",function(p){p.stopPropagation();c(this).parent().find(".ctxMenu-sub").css("display","none");if(!c(this).hasClass("haveMore")){return}var l=c(this).find(">a");var m=c(this).find(">.ctxMenu-sub");var o=l.offset().top-c("body,html").scrollTop();var n=l.offset().left+l.outerWidth()-c("body,html").scrollLeft();if(n+m.outerWidth()>b.getPageWidth()){n=l.offset().left-m.outerWidth()}if(o+m.outerHeight()>b.getPageHeight()){o=o-m.outerHeight()+l.outerHeight();if(o<0){o=0}}c(this).find(">.ctxMenu-sub").css({"top":o,"left":n,"display":"block"})})},remove:function(){var h=parent.window.frames;for(var d=0;d<h.length;d++){var f=h[d];try{f.layui.jquery("body>.ctxMenu").remove()}catch(g){}}try{parent.layui.jquery("body>.ctxMenu").remove()}catch(g){}},setEvents:function(d,f){c(".ctxMenu").off("click").on("click","[lay-id]",function(h){var i=c(this).attr("lay-id");var g=e(i,d);g.click&&g.click(h,f)});function e(l,k){for(var j=0;j<k.length;j++){var h=k[j];if(l==h.itemId){return h}else{if(h.subs&&h.subs.length>0){var g=e(l,h.subs);if(g){return g}}}}}},getHtml:function(e,d){var h="";for(var f=0;f<e.length;f++){var g=e[f];g.itemId="ctxMenu-"+d+f;if(g.subs&&g.subs.length>0){h+='<div class="ctxMenu-item haveMore" lay-id="'+g.itemId+'">';h+="<a>";if(g.icon){h+='<i class="'+g.icon+' ctx-icon"></i>'}h+=g.name;h+='<i class="layui-icon layui-icon-right icon-more"></i>';h+="</a>";h+='<div class="ctxMenu-sub" style="display: none;">';h+=b.getHtml(g.subs,d+f);h+="</div>"}else{h+='<div class="ctxMenu-item" lay-id="'+g.itemId+'">';h+="<a>";if(g.icon){h+='<i class="'+g.icon+' ctx-icon"></i>'}h+=g.name;h+="</a>"}h+="</div>";if(g.hr==true){h+="<hr/>"}}return h},getCommonCss:function(){var d=".ctxMenu, .ctxMenu-sub {";d+=" max-width: 250px;";d+=" min-width: 110px;";d+=" background: white;";d+=" border-radius: 2px;";d+=" padding: 5px 0;";d+=" white-space: nowrap;";d+=" position: fixed;";d+=" z-index: 2147483647;";d+=" box-shadow: 0 2px 4px rgba(0, 0, 0, .12);";d+=" border: 1px solid #d2d2d2;";d+=" overflow: visible;";d+=" }";d+=" .ctxMenu-item {";d+=" position: relative;";d+=" }";d+=" .ctxMenu-item > a {";d+=" font-size: 14px;";d+=" color: #666;";d+=" padding: 0 26px 0 35px;";d+=" cursor: pointer;";d+=" display: block;";d+=" line-height: 36px;";d+=" text-decoration: none;";d+=" position: relative;";d+=" }";d+=" .ctxMenu-item > a:hover {";d+=" background: #f2f2f2;";d+=" color: #666;";d+=" }";d+=" .ctxMenu-item > a > .icon-more {";d+=" position: absolute;";d+=" right: 5px;";d+=" top: 0;";d+=" font-size: 12px;";d+=" color: #666;";d+=" }";d+=" .ctxMenu-item > a > .ctx-icon {";d+=" position: absolute;";d+=" left: 12px;";d+=" top: 0;";d+=" font-size: 15px;";d+=" color: #666;";d+=" }";d+=" .ctxMenu hr {";d+=" background-color: #e6e6e6;";d+=" clear: both;";d+=" margin: 5px 0;";d+=" border: 0;";d+=" height: 1px;";d+=" }";d+=" .ctx-ic-lg {";d+=" font-size: 18px !important;";d+=" left: 11px !important;";d+=" }";return d},getPageHeight:function(){return document.documentElement.clientHeight||document.body.clientHeight},getPageWidth:function(){return document.documentElement.clientWidth||document.body.clientWidth},};c(document).off("click.ctxMenu").on("click.ctxMenu",function(){b.remove()});c(document).off("click.ctxMenuMore").on("click.ctxMenuMore",".ctxMenu-item",function(d){if(c(this).hasClass("haveMore")){if(d!==void 0){d.preventDefault();d.stopPropagation()}}else{b.remove()}});c("head").append('<style id="ew-css-ctx">'+b.getCommonCss()+"</style>");a("contextMenu",b)});

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,5 @@
/**
* 下拉菜单模块
* date:2020-03-11 License By http://easyweb.vip
*/
layui.define(["jquery"],function(f){var h=layui.jquery;var i="dropdown-open";var e="dropdown-disabled";var b="dropdown-no-scroll";var c="dropdown-menu-shade";var n="dropdown-menu";var m="dropdown-menu-nav";var j="dropdown-hover";var d="fixed";var g="no-shade";var k="layui-anim layui-anim-upbit";var a="layui-anim layui-anim-fadein";var l=["bottom-left","bottom-right","bottom-center","top-left","top-right","top-center","left-top","left-bottom","left-center","right-top","right-bottom","right-center"];if(h("#ew-css-dropdown").length<=0){layui.link(layui.cache.base+"dropdown/dropdown.css")}var o={init:function(){h(document).off("click.dropdown").on("click.dropdown","."+n+">*:first-child",function(t){var u=h(this).parent();if(!u.hasClass(j)){if(u.hasClass(i)){u.removeClass(i)}else{o.hideAll();o.show(h(this).parent().find("."+m))}}t.stopPropagation()});h(document).off("click.dropHide").on("click.dropHide",function(t){o.hideAll()});h(document).off("click.dropNav").on("click.dropNav","."+m,function(t){t.stopPropagation()});var s,p,q="."+n+"."+j;h(document).off("mouseenter.dropdown").on("mouseenter.dropdown",q,function(t){if(p&&p==t.currentTarget){clearTimeout(s)}o.show(h(this).find("."+m))});h(document).off("mouseleave.dropdown").on("mouseleave.dropdown",q,function(t){p=t.currentTarget;s=setTimeout(function(){h(t.currentTarget).removeClass(i)},300)});h(document).off("click.dropStand").on("click.dropStand","[data-dropdown]",function(t){o.showFixed(h(this));t.stopPropagation()});var r="."+n+" ."+m+" li";h(document).off("mouseenter.dropdownNav").on("mouseenter.dropdownNav",r,function(t){h(this).children(".dropdown-menu-nav-child").addClass(k);h(this).addClass("active")});h(document).off("mouseleave.dropdownNav").on("mouseleave.dropdownNav",r,function(t){h(this).removeClass("active");h(this).find("li.active").removeClass("active")});h(document).off("click.popconfirm").on("click.popconfirm",".dropdown-menu-nav [btn-cancel]",function(t){o.hideAll();t.stopPropagation()})},openClickNavClose:function(){h(document).off("click.dropNavA").on("click.dropNavA","."+m+">li>a",function(p){o.hideAll();h(this).parentsUntil("."+n).last().parent().removeClass(i);p.stopPropagation()})},hideAll:function(){h("."+n).removeClass(i);h("."+m+"."+d).addClass("layui-hide");h("."+c).remove();h("body").removeClass(b);h(".dropdown-fix-parent").removeClass("dropdown-fix-parent");h("[data-dropdown]").removeClass(i)},show:function(r){if(r&&r.length>0&&!r.hasClass(e)){if(r.hasClass("dropdown-popconfirm")){r.removeClass(k);r.addClass(a)}else{r.removeClass(a);r.addClass(k)}var p;for(var q=0;q<l.length;q++){if(r.hasClass("dropdown-"+l[q])){p=l[q];break}}if(!p){r.addClass("dropdown-"+l[0]);p=l[0]}o.forCenter(r,p);r.parent("."+n).addClass(i);return p}return false},showFixed:function(q){var t=h(q.data("dropdown")),p;if(!t.hasClass("layui-hide")){o.hideAll();return}o.hideAll();p=o.show(t);if(p){t.addClass(d);t.removeClass("layui-hide");var s=o.getTopLeft(q,t,p);s=o.checkPosition(t,q,p,s);t.css(s);h("body").addClass(b);var r=(q.attr("no-shade")=="true");h("body").append('<div class="'+(r?(c+" "+g):c)+' layui-anim layui-anim-fadein"></div>');q.parentsUntil("body").each(function(){var u=h(this).css("z-index");if(/[0-9]+/.test(u)){h(this).addClass("dropdown-fix-parent")}});q.addClass(i)}},forCenter:function(p,u){if(!p.hasClass(d)){var t=p.parent().outerWidth(),q=p.parent().outerHeight();var s=p.outerWidth(),v=p.outerHeight();var w=u.split("-"),r=w[0],x=w[1];if((r=="top"||r=="bottom")&&x=="center"){p.css("left",(t-s)/2)}if((r=="left"||r=="right")&&x=="center"){p.css("top",(q-v)/2)}}},getTopLeft:function(B,A,y){var w=B.outerWidth();var u=B.outerHeight();var p=A.outerWidth();var x=A.outerHeight();var z=B.offset().top-h(document).scrollTop();var t=B.offset().left;var D=t+w;var C=0,s=0;var v=y.split("-");var r=v[0];var q=v[1];if(r=="top"||r=="bottom"){x+=8;switch(q){case"left":s=t;break;case"center":s=t-p/2+w/2;break;case"right":s=D-p}}if(r=="left"||r=="right"){p+=8;switch(q){case"top":C=z+u-x;break;case"center":C=z-x/2+u/2;break;case"bottom":C=z}}switch(r){case"top":C=z-x;break;case"right":s=t+w;break;case"bottom":C=z+u;break;case"left":s=t-p}return{top:C,left:s,right:"auto",bottom:"auto"}},checkPosition:function(t,q,p,r){var s=p.split("-");if("bottom"==s[0]){if((r.top+t.outerHeight())>o.getPageHeight()){r=o.getTopLeft(q,t,"top-"+s[1]);t.removeClass("dropdown-"+p);t.addClass("dropdown-top-"+s[1])}}else{if("top"==s[0]){if(r.top<0){r=o.getTopLeft(q,t,"bottom-"+s[1]);t.removeClass("dropdown-"+p);t.addClass("dropdown-bottom-"+s[1])}}}return r},getPageHeight:function(){return document.documentElement.clientHeight||document.body.clientHeight},getPageWidth:function(){return document.documentElement.clientWidth||document.body.clientWidth}};o.init();f("dropdown",o)});

5
web/module/formX.js Normal file
View File

@ -0,0 +1,5 @@
/**
* 表单扩展模块
* date:2020-03-11 License By http://easyweb.vip
*/
layui.define(["form"],function(b){var e=layui.jquery;var c=layui.form;var a={phoneX:"请输入正确的手机号",emailX:"邮箱格式不正确",urlX:"链接格式不正确",numberX:"只能填写数字",dateX:"日期格式不正确",identityX:"请输入正确的身份证号",psw:"密码必须5到12位且不能出现空格",equalTo:"两次输入不一致",digits:"只能输入整数",digitsP:"只能输入正整数",digitsN:"只能输入负整数",digitsPZ:"只能输入正整数和0",digitsNZ:"只能输入负整数和0",minlength:"最少输入{minlength}个字符",maxlength:"最多输入{maxlength}个字符",min:"值不能小于{min}",max:"值不能小于{max}"};var f={phoneX:function(i,h){var g=/^1\d{10}$/;if(i&&!g.test(i)){return a.phoneX}},emailX:function(i,h){var g=/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;if(i&&!g.test(i)){return a.emailX}},urlX:function(i,h){var g=/(^#)|(^http(s*):\/\/[^\s]+\.[^\s]+)/;if(i&&!g.test(i)){return a.urlX}},numberX:function(h,g){if(h&&isNaN(h)){return a.numberX}},dateX:function(i,h){var g=/^(\d{4})[-\/](\d{1}|0\d{1}|1[0-2])([-\/](\d{1}|0\d{1}|[1-2][0-9]|3[0-1]))*$/;if(i&&!g.test(i)){return a.dateX}},identityX:function(i,h){var g=/(^\d{15}$)|(^\d{17}(x|X|\d)$)/;if(i&&!g.test(i)){return a.identityX}},psw:function(h,g){if(h&&!/^[\S]{5,12}$/.test(h)){return a.psw}},equalTo:function(h,g){if(h!=e(e(g).attr("lay-equalTo")).val()){var i=e(g).attr("lay-equalToText");return i?i:a.equalTo}},digits:function(i,h){var g=/^-?\d+$/;if(i&&!g.test(i)){return a.digits}},digitsP:function(i,h){var g=/^[1-9]\d*$/;if(i&&!g.test(i)){return a.digitsP}},digitsN:function(i,h){var g=/^-[1-9]\d*$/;if(i&&!g.test(i)){return a.digitsN}},digitsPZ:function(i,h){var g=/^\d+$/;if(i&&!g.test(i)){return a.digitsPZ}},digitsNZ:function(i,h){var g=/^-[1-9]\d*|0/;if(i&&!g.test(i)){return a.digitsNZ}},h5:function(l,k){if(l){var j=e(k).attr("minlength");var i=e(k).attr("maxlength");var h=e(k).attr("min");var g=e(k).attr("max");if(j&&l.length<j){return a.minlength.replace(/{minlength}/g,j)}if(i&&l.length>i){return a.maxlength.replace(/{maxlength}/g,i)}if(h&&l*1<h*1){return a.min.replace(/{min}/g,h)}if(g&&l*1>g*1){return a.max.replace(/{max}/g,g)}}}};var d={init:function(){c.verify(f)},formVal:function(h,g){d.val(h,g)},val:function(h,g){e('.layui-form[lay-filter="'+h+'"]').each(function(){var j=e(this);for(var l in g){if(!g.hasOwnProperty(l)){continue}var i=j.find('[name="'+l+'"]');if(i.length>0){var k=i[0].type;if(k==="checkbox"){i[0].checked=g[l]}else{if(k==="radio"){i.each(function(){if(this.value==g[l]){this.checked=true}})}else{i.val(g[l])}}}}});c.render(null,h)},renderSelect:function(l){var h={elem:undefined,data:[],name:undefined,value:undefined,hint:"请选择",initValue:undefined,method:"get",where:undefined,header:undefined,async:true,done:undefined,error:undefined};l=e.extend(h,l);if(typeof l.data==="string"){e.ajax({url:l.data,type:l.method,data:l.where,dataType:"json",header:l.header,async:l.async,success:function(i,m,n){if(i.data){l.data=i.data;d.renderSelect(l)}else{l.error&&l.error(n,i)}},error:l.error})}else{var k=l.hint?('<option value="">'+l.hint+"</option>"):"";for(var j=0;j<l.data.length;j++){if(l.name&&l.value){k+=('<option value="'+l.data[j][l.value]+'"'+(l.data[j][l.value]===l.initValue?" selected":"")+">"+l.data[j][l.name]+"</option>")}else{k+=('<option value="'+l.data[j]+'"'+(l.data[j]===l.initValue?" selected":"")+">"+l.data[j]+"</option>")}}e(l.elem).html(k);var g=e(l.elem).parent(".layui-form");if(g.length===0){g=e(l.elem).parentsUntil(".layui-form").last().parent()}c.render("select",g.attr("lay-filter"));l.done&&l.done(l.data)}},startTimer:function(g,j,i){if(!j){j=60}if(!i){i=function(l){return l+"s"}}if(d.timers[g]){clearInterval(d.timers[g])}var h=e(g).html();e(g).html(i(j));e(g).attr("disabled","disabled");e(g).addClass("layui-btn-disabled");var k=setInterval(function(){j--;if(j<=0){clearInterval(k);e(g).html(h);e(g).removeAttr("disabled");e(g).removeClass("layui-btn-disabled")}else{e(g).html(i(j))}},1000);d.timers[g]=k},timers:{},formUpdatedField:function(i,h){if(typeof i=="string"){i=c.val(i)}for(var g in i){if(!i.hasOwnProperty(g)){continue}if(i[g]===h[g]){delete i[g]}}if(Object.keys(i).length>0){return i}}};d.init();b("formX",d)});

2
web/module/index.js Normal file

File diff suppressed because one or more lines are too long

1933
web/module/notice/notice.css Normal file

File diff suppressed because it is too large Load Diff

1245
web/module/notice/notice.js Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,400 @@
/**
* 树形表格 2.x
* date:2019-11-08 License By http://easyweb.vip
*/
/* 最外层容器 */
.ew-tree-table {
margin: 10px 0;
position: relative;
}
.ew-tree-table .layui-table {
margin: 0;
table-layout: fixed;
}
/* 表格容器 */
.ew-tree-table-group {
position: relative;
}
/* 主体表格容器 */
.ew-tree-table > .ew-tree-table-group > .ew-tree-table-box {
overflow: auto;
position: relative;
box-sizing: border-box;
}
/* 表头表格容器 */
.ew-tree-table > .ew-tree-table-group > .ew-tree-table-head {
overflow: hidden;
position: relative;
box-sizing: border-box;
background-color: #f2f2f2;
}
/* 容器加边框 */
.ew-tree-table .ew-tree-table-border {
position: absolute;
background-color: #e6e6e6;
}
.ew-tree-table .ew-tree-table-border.top {
left: 0;
right: 0;
top: 0;
height: 1px;
}
.ew-tree-table .ew-tree-table-border.left {
top: 0;
left: 0;
bottom: 0;
width: 1px;
}
.ew-tree-table .ew-tree-table-border.right {
top: 0;
right: 0;
bottom: 0;
width: 0.52px;
}
.ew-tree-table .ew-tree-table-border.bottom {
left: 0;
right: 0;
bottom: 0;
height: 0.52px;
}
/* table的loading */
.ew-tree-table .ew-tree-table-box > .ew-tree-table-loading {
padding: 10px 0;
text-align: center;
}
.ew-tree-table .ew-tree-table-box > .ew-tree-table-loading > i {
color: #999;
font-size: 30px;
}
.ew-tree-table .ew-tree-table-box > .ew-tree-table-loading.ew-loading-float {
position: absolute;
left: 0;
right: 0;
top: 0;
}
/* 空数据提示 */
.ew-tree-table .ew-tree-table-box > .ew-tree-table-empty {
color: #666;
font-size: 14px;
text-align: center;
}
/* 折叠箭头 */
.ew-tree-table .ew-tree-table-arrow {
margin-right: 5px;
vertical-align: middle;
}
.ew-tree-table .ew-tree-table-arrow:before {
content: "\e623";
}
.ew-tree-table .ew-tree-table-open .ew-tree-table-arrow:before {
content: "\e625";
}
.ew-tree-table .ew-tree-table-arrow.arrow2 {
font-size: 13px;
font-weight: 600;
line-height: 16px;
height: 16px;
width: 16px;
display: inline-block;
text-align: center;
color: #888;
}
.ew-tree-table .ew-tree-table-arrow.arrow2:before {
content: "\e602";
}
.ew-tree-table .ew-tree-table-open .ew-tree-table-arrow.arrow2:before {
content: "\e61a";
}
/* 箭头隐藏 */
.ew-tree-table-arrow.ew-tree-table-arrow-hide {
visibility: hidden;
}
/* 箭头变加载中状态 */
.ew-tree-table .ew-tree-table-loading > td .ew-tree-pack > .ew-tree-table-arrow:before {
content: "\e63d" !important;
}
.ew-tree-table .ew-tree-table-loading > td .ew-tree-pack > .ew-tree-table-arrow {
margin-right: 0;
}
.ew-tree-table .ew-tree-table-loading > td .ew-tree-pack > .ew-tree-table-arrow + * {
margin-left: 5px;
}
/* tr加载中禁用äºä»¶ */
.ew-tree-table tr.ew-tree-table-loading > * {
pointer-events: none !important;
}
/* 图标列 */
.ew-tree-table .ew-tree-pack {
cursor: pointer;
line-height: 16px;
display: inline-block;
vertical-align: middle;
}
.ew-tree-table .ew-tree-pack > span {
height: 16px;
line-height: 16px;
display: inline-block;
vertical-align: middle;
}
/* 折叠行 */
.ew-tree-table .ew-tree-tb-hide {
display: none;
}
/* 缩进 */
.ew-tree-table .ew-tree-table-indent {
margin-right: 5px;
padding-left: 16px;
}
/* 图标 */
.ew-tree-table .ew-tree-icon {
margin-right: 5px;
display: inline-block;
vertical-align: middle;
}
.ew-tree-table .ew-tree-icon-folder, .ew-tree-table .ew-tree-icon-file {
width: 22px;
height: 16px;
line-height: 16px;
position: relative;
}
.ew-tree-table .ew-tree-icon-folder:after, .ew-tree-table .ew-tree-icon-file:after {
content: "";
width: 22px;
height: 22px;
position: absolute;
left: 0;
top: -3px;
background-size: cover;
background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTc0MDYyMzE3MTQ3IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjIxNTgiIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNjQiIGhlaWdodD0iNjQiPjxkZWZzPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+PC9zdHlsZT48L2RlZnM+PHBhdGggZD0iTTE4MSA4MjNoLTMxLjFjLTI4LjYgMC01MS45LTIzLjItNTEuOS01MS45VjI1Mi40YzAtMjguNiAyMy4yLTUxLjkgNTEuOS01MS45SDQzMGw4MyA3Ny44aDMzMmM0NS42IDAgODMgMzUgODMgNzcuOHYzODkuMWMwIDQyLjgtMzcuMyA3Ny44LTgzIDc3LjhIMTgxeiIgcC1pZD0iMjE1OSIgZmlsbD0iI0ZGQTUwMCI+PC9wYXRoPjwvc3ZnPg==")
}
.ew-tree-table tr.ew-tree-table-open > td > .ew-tree-pack .ew-tree-icon-folder:after {
background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTc0MDYyMzA5MDQwIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjE5NzciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNjQiIGhlaWdodD0iNjQiPjxkZWZzPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+PC9zdHlsZT48L2RlZnM+PHBhdGggZD0iTTMyNi40IDQ2MC4xSDkyOGwtODIuMyAzMjRjLTUuOCAyMy0yNi42IDM5LjEtNTAuMyAzOS4xSDE0OS45Yy0yOC42IDAtNTEuOS0yMy4yLTUxLjktNTEuOVYyNTIuNmMwLTI4LjYgMjMuMi01MS45IDUxLjktNTEuOUg0MTNsMTA1IDEwMy43aDI5MS44YzE0LjMgMCAyNS45IDExLjYgMjUuOSAyNS45djc3LjhoLTUyN0wyMDMuNCA1NjMuOWg1Mi43bDcwLjMtMTAzLjh6IiBwLWlkPSIxOTc4IiBmaWxsPSIjRkZBNTAwIj48L3BhdGg+PC9zdmc+")
}
.ew-tree-table .ew-tree-icon-file:after {
background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/PjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+PHN2ZyB0PSIxNTc0MDYyNTE1MDUxIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjEzNTE4IiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgd2lkdGg9IjY0IiBoZWlnaHQ9IjY0Ij48ZGVmcz48c3R5bGUgdHlwZT0idGV4dC9jc3MiPjwvc3R5bGU+PC9kZWZzPjxwYXRoIGQ9Ik03NDEuMyAxNjEuNmgtNDIuNGMtMTAuNSAwLTE5LjEgOC42LTE5LjEgMTkuMXM4LjYgMTkuMSAxOS4xIDE5LjFoNDIuNGM0MiAwIDc2LjIgMzQuMiA3Ni4yIDc2LjN2NDc3LjRjMCA0Mi4xLTM0LjMgNzYuMy03Ni40IDc2LjNIMjgyLjljLTQyLjEgMC03Ni4zLTM0LjItNzYuMy03Ni4zVjI3Ni4xYzAtNDIuMSAzNC4yLTc2LjMgNzYuMy03Ni4zaDQ0LjljMTAuNSAwIDE5LjEtOC42IDE5LjEtMTkuMXMtOC42LTE5LjEtMTkuMS0xOS4xaC00NC45Yy02My4xIDAtMTE0LjUgNTEuNC0xMTQuNSAxMTQuNXY0NzcuNGMwIDYzLjEgNTEuNCAxMTQuNSAxMTQuNSAxMTQuNWg0NTguM2M2My4xIDAgMTE0LjUtNTEuNCAxMTQuNS0xMTQuNVYyNzYuMWMtMC4xLTYzLjEtNTEuNC0xMTQuNS0xMTQuNC0xMTQuNXoiIHAtaWQ9IjEzNTE5IiBmaWxsPSIjRkZBNTAwIj48L3BhdGg+PHBhdGggZD0iTTY4MC42IDUwNS4zSDM0My40Yy0xMi4zIDAtMjIuMyA4LjYtMjIuMyAxOS4xczEwIDE5LjEgMjIuMyAxOS4xaDMzNy4yYzEyLjMgMCAyMi4zLTguNiAyMi4zLTE5LjEgMC0xMC42LTEwLTE5LjEtMjIuMy0xOS4xek00MzkuMyAyMTMuM2gxNDQuNmMxOSAwIDM0LjQtMTIuOCAzNC40LTI4LjZzLTE1LjQtMjguNi0zNC40LTI4LjZINDM5LjNjLTE5IDAtMzQuNCAxMi44LTM0LjQgMjguNi0wLjEgMTUuNyAxNS4zIDI4LjYgMzQuNCAyOC42ek02ODAuNiA2NThIMzQzLjRjLTEyLjMgMC0yMi4zIDguNS0yMi4zIDE5LjEgMCAxMC41IDEwIDE5LjEgMjIuMyAxOS4xaDMzNy4yYzEyLjMgMCAyMi4zLTguNiAyMi4zLTE5LjEgMC0xMC42LTEwLTE5LjEtMjIuMy0xOS4xek02ODAuNiAzNTIuNUgzNDMuNGMtMTIuMyAwLTIyLjMgOC42LTIyLjMgMTkuMXMxMCAxOS4xIDIyLjMgMTkuMWgzMzcuMmMxMi4zIDAgMjIuMy04LjYgMjIuMy0xOS4xIDAtMTAuNS0xMC0xOS4xLTIyLjMtMTkuMXoiIHAtaWQ9IjEzNTIwIiBmaWxsPSIjRkZBNTAwIj48L3BhdGg+PC9zdmc+")
}
/* 序号列调整 */
.ew-tree-table td[data-type="numbers"] {
padding-left: 0;
padding-right: 0;
text-align: center;
}
/* 单元格内表单元素样式调整 */
.ew-tree-table .layui-form-switch {
margin-top: 0;
}
.ew-tree-table .layui-form-radio {
margin: 0;
}
/* checkboxåŒradio列调整 */
.ew-tree-table-checkbox + .layui-form-checkbox {
padding: 0;
}
.ew-tree-table-checkbox + .layui-form-checkbox > .layui-icon {
color: transparent;
transition: background-color .1s linear;
}
.ew-tree-table-checkbox + .layui-form-checkbox.layui-form-checked > .layui-icon {
color: #fff;
}
.ew-tree-table-radio + .layui-form-radio {
padding: 0;
height: 20px;
line-height: 20px;
}
.ew-tree-table-radio + .layui-form-radio > i {
margin: 0;
height: 20px;
font-size: 20px;
line-height: 20px;
}
/* checkbox半选状态 */
.ew-tree-table .layui-form-checked.ew-form-indeterminate > .layui-icon:before {
content: "";
width: 9px;
height: 2px;
display: inline-block;
background-color: #eee;
vertical-align: middle;
}
.ew-tree-table .layui-form-checked.ew-form-indeterminate > .layui-icon {
line-height: 14px;
}
/* 单元格编辑 */
.ew-tree-table .layui-table td[data-edit] {
cursor: text;
}
.ew-tree-table .ew-tree-table-edit {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
border-radius: 0;
box-shadow: 1px 1px 20px rgba(0, 0, 0, .15);
}
.ew-tree-table .ew-tree-table-edit:focus {
border-color: #5FB878 !important;
}
.ew-tree-table .ew-tree-table-edit.layui-form-danger {
border-color: #FF5722 !important;
}
/* 搜索数据隐藏行 */
.ew-tree-table tr.ew-tree-table-filter-hide {
display: none !important;
}
/* 单元格超出隐藏 */
.ew-tree-table-td-single {
position: relative;
}
.ew-tree-table-td-single > .ew-tree-tips {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.ew-tree-table-td-single > .ew-tree-tips-c {
position: absolute;
right: -10px;
top: -6px;
width: 24px;
height: 24px;
line-height: 24px;
font-size: 18px;
text-align: center;
color: #fff;
border-radius: 50%;
background-color: #666;
cursor: pointer;
display: none;
}
.ew-tree-table table tr:first-child .ew-tree-table-td-single > .ew-tree-tips-c {
top: 2px;
bottom: auto;
right: -12px;
}
.ew-tree-table-td-single.ew-tree-tips-open {
position: absolute;
top: 0;
left: 0;
z-index: 5;
background-color: #fff;
min-height: 100%;
box-sizing: border-box;
box-shadow: 3px 3px 8px rgba(0, 0, 0, .15);
}
.ew-tree-table table thead .ew-tree-table-td-single.ew-tree-tips-open {
background-color: #f2f2f2;
}
.ew-tree-table-td-single.ew-tree-tips-open.ew-show-left {
right: 0;
left: auto;
box-shadow: -3px 3px 8px rgba(0, 0, 0, .15);
}
.ew-tree-table-td-single.ew-tree-tips-open.ew-show-bottom {
bottom: 0;
top: auto;
box-shadow: 3px -3px 8px rgba(0, 0, 0, .15);
}
.ew-tree-table-td-single.ew-tree-tips-open.ew-show-left.ew-show-bottom {
box-shadow: -3px -3px 8px rgba(0, 0, 0, .15);
}
.ew-tree-table-td-single.ew-tree-tips-open > .ew-tree-tips {
padding: 9px 15px;
overflow: auto;
max-width: 280px;
max-height: 100px;
width: max-content;
white-space: normal;
}
.ew-tree-table-td-single.ew-tree-tips-open > .ew-tree-tips-c {
display: block;
}
.ew-tree-table-td-single.ew-tree-tips-open.ew-show-left > .ew-tree-tips-c {
left: -10px;
right: auto !important;
}
.ew-tree-table td > .layui-table-grid-down {
bottom: 0;
height: auto;
}
/* 辅助样式 */
.pd-tb-0 {
padding-top: 0 !important;
padding-bottom: 0 !important;
}
.break-all {
word-break: break-all !important;
}
/* 列宽拖拽调整 */
/*.ew-tree-table .ew-tb-resize {
position: absolute;
right: 0;
top: 0;
bottom: 0;
width: 10px;
cursor: col-resize;
}*/

File diff suppressed because it is too large Load Diff

8
web/module/xmSelect.js Normal file

File diff suppressed because one or more lines are too long

2
web/robots.txt Normal file
View File

@ -0,0 +1,2 @@
User-agent: *
Disallow: