初始化官网代码

This commit is contained in:
wojiaoxiaomage
2025-12-30 10:26:47 +08:00
commit 00f55e8b83
232 changed files with 49856 additions and 0 deletions

View File

@@ -0,0 +1,166 @@
$(document).ready(function (e) {
//菜单高亮显示
light_nav();
//选择全部
$("#selectall").on("click", function () {
$("#selectitem input:checkbox").prop("checked", true);
})
//反选
$("#invselect").on("click", function () {
$("#selectitem input:checkbox").each(function() {
if($(this).prop("checked")){
$(this).prop("checked",false);
}else{
$(this).prop("checked",true);
}
})
})
//勾选方式选择全部
$("#checkall").on("click", function () {
if($(this).prop("checked")){
$(".checkitem:enabled").prop("checked", true);
}else{
$(".checkitem").prop("checked", false);
}
})
var i=0;
$('.menu-ico').click(function(){
if($(window).width()>750){
if(i==0){//隐藏
$(".layui-side").animate({width:'toggle'});
$(".layui-body").animate({left:'0px'});
$(".layui-footer").animate({left:'0px'});
i=1
}else{//显示
$(".layui-side").animate({width:'toggle'});
$(".layui-body").animate({left:'200px'});
$(".layui-footer").animate({left:'200px'});
i=0
}
}else{
$(".layui-side").animate({width:'toggle'});
}
});
$(window).resize(function(){
if($(window).width()>750){ //大屏幕根据情况判断
if(i==0){ //等于0说明处于显示状态全屏以后保持显示出来
$(".layui-layout-admin .layui-side").show();
}else{ //等于1说明处于隐藏状态全屏以后保持隐藏出来
$(".layui-layout-admin .layui-side").hide();
}
}
if($(window).width()<750){//小屏幕,直接隐藏
$(".layui-layout-admin .layui-side").hide();
}
})
//避免tab翻页问题
var hash = location.hash;
if(hash){
$('.page').find('a').each(function(index,element){
$(this).attr('href', $(this).attr('href')+hash);
});
}
})
//对菜单进行高亮显示
function light_nav(){
//二级菜单标记当前栏目
var url = $('#url').data('url').toLowerCase();
var controller = $('#controller').data('controller').toLowerCase();
var mcode = $('#mcode').data('mcode');
var aobj= $('#nav .nav-item').find('a');
var flag = false;
//第一种情况url完全一致
aobj.each(function (index, element) {
var aUrl = $(element).attr('href').toLowerCase();
if (url==aUrl) {
$(element).parent("dd").addClass("layui-this");
$(element).parents('.layui-nav-item').addClass('layui-nav-itemed');
flag = true;
}
if(flag) return false;
});
url = url.replace('.html','');
//第二种情况,菜单的子页面,如翻页
if(!flag){
aobj.each(function (index, element) {
var aUrl = $(element).attr('href').toLowerCase();
aUrl = aUrl.replace('.html','');
if (url.indexOf(aUrl)>-1) {
$(element).parent("dd").addClass("layui-this");
$(element).parents('.layui-nav-item').addClass('layui-nav-itemed');
flag = true;
}
if(flag) return false;
});
}
//第三种情况,只匹配到模型,如模型栏目内容的修改操作页面
if(!flag){
aobj.each(function (index, element) {
var aUrl = $(element).attr("href").toLowerCase();
if (mcode && aUrl.indexOf('/mcode/'+mcode)>-1) {
$(element).parent("dd").addClass("layui-this");
$(element).parents('.layui-nav-item').addClass('layui-nav-itemed');
flag = true;
}
if(flag) return false;
});
}
//第四种情况,只匹配到控制器,如增、改的操作页面
if(!flag){
aobj.each(function (index, element) {
var aUrl = $(element).attr("href").toLowerCase();
if (controller!='index' && aUrl.indexOf('/'+controller+'/')>-1) {
$(element).parent("dd").addClass("layui-this");
$(element).parents('.layui-nav-item').addClass('layui-nav-itemed');
flag = true;
}
if(flag) return false;
});
}
//默认高亮
if(!flag){
$('#nav').find('.nav-item').eq(2).addClass('layui-nav-itemed');
}
}
//判断option是否存在如果不存在就增加
function addOptionValue(id,value,text) {
if(!isExistOption(id,value)){$('#'+id).append("<option value="+value+">"+text+"</option>");}
}
//判断option是否存在
function isExistOption(id,value) {
var isExist = false;
var count = $('#'+id).find('option').length;
for(var i=0;i<count;i++)
{
if($('#'+id).get(0).options[i].value == value)
{
isExist = true;
break;
}
}
return isExist;
}

View File

@@ -0,0 +1,243 @@
layui.use(['element','upload','laydate','form'], function(){
var element = layui.element;
var upload = layui.upload;
var laydate = layui.laydate;
var form = layui.form;
//获取hash来切换选项卡假设当前地址的hash为lay-id对应的值
var layid = location.hash.replace(/^#tab=/, '');
element.tabChange('tab', layid); //假设当前地址为http://a.com#test1=222那么选项卡会自动切换到“发送消息”这一项
//监听Tab切换以改变地址hash值
element.on('tab(tab)', function(){
var clayid=this.getAttribute('lay-id');
if(clayid){
location.hash = 'tab='+ clayid;
$('.page').find('a').each(function(index,element){//避免tab翻页问题
var url=$(this).attr('href');
if(url.indexOf('tab=')==-1){
$(this).attr('href', url+'#tab='+ clayid);
}else{
$(this).attr('href', url.replace(/tab=[\w]+/, 'tab='+ clayid));
}
});
}
});
//跳转
form.on('select(tourl)', function(data){
window.location.href= data.value;
});
//提示
$(".tips").on("mouseover",function(){
layer.tips($(this).data('content'), this);
})
//用户登录验证
form.on('submit(login-submit)', function(data){
var form = $("#dologin");
var url = form.attr('action');
var username = form.find("#username").val();
var password = form.find("#password").val();
var checkcode = form.find("#checkcode").val();
var formcheck = form.find("#formcheck").val();
$.ajax({
type: 'POST',
url: url,
dataType: 'json',
data: {
username: username,
password: password,
checkcode: checkcode,
formcheck: formcheck
},
success: function (response, status) {
if (response.code == 1) {
layer.msg("登录成功!", {icon: 1});
window.location.href = response.data;
} else {
form.find("#checkcode").val("");
$('#codeimg').click();//更新验证码
layer.msg("登录失败:" + response.data, {icon: 5});
}
},
error:function(xhr,status,error){
layer.msg("登录请求发生错误!", {icon: 5});
$('#note').html('登录请求发生错误,您可按照如下方式排查:<br>1、试着删除根目录下runtime目录刷新页面重试;<br>2、检查系统会话文件存储目录是否具有写入权限<br>3、检查服务器环境pathinfo及伪静态规则配置<br>4、如果还不行那就到交流群出钱请人处理吧');
}
});
return false;
});
var sitedir=$('#sitedir').data('sitedir');
var uploadurl = $("#preurl").data('preurl')+'/index/upload';
//执行单图片实例
var uploadInst = upload.render({
elem: '.upload' //绑定元素
,url: uploadurl //上传接口
,field: 'upload' //字段名称
,multiple: false //多文件上传
,accept: 'images' //接收文件类型 images图片、file所有文件、video视频、audio音频
,acceptMime: 'image/*'
,before: function(obj){
//判断是否需要加水印
if($(this.item).hasClass('watermark')){
uploadInst.config.url=uploadurl+'/watermark/1';//改变URL
}
layer.load(); //上传loading
}
,done: function(res){
var item = this.item;
var des=$(item).data('des');
layer.closeAll('loading'); //关闭loading
if(res.code==1){
$('#'+des).val(res.data[0]);
$('#'+des+'_box').html("<dl><dt><img src='"+sitedir+res.data[0]+"' data-url='"+res.data[0]+"' ></dt><dd>删除</dd></dl>");
layer.msg('上传成功!');
}else{
layer.msg('上传失败:'+res.data);
}
}
,error: function(){
layer.closeAll('loading'); //关闭loading
layer.msg('上传发生错误!');
}
});
//执行多图片上传实例
var files='';
var html='';
var uploadsInst = upload.render({
elem: '.uploads' //绑定元素
,url: uploadurl //上传接口
,field: 'upload' //字段名称
,multiple: true//多文件上传
,accept: 'images' //接收文件类型 images图片、file所有文件、video视频、audio音频
,acceptMime: 'image/*'
,before: function(obj){
//判断是否需要加水印
if($(this.item).hasClass('watermark')){
uploadsInst.config.url=uploadurl+'/watermark/1';//改变URL
}
layer.load(); //上传loading
}
,done: function(res){
if(res.code==1){
if(files){
files+=','+res.data[0];
}else{
files+=res.data[0];
}
html += "<dl><dt><img src='"+sitedir+res.data[0]+"' data-url='"+res.data[0]+"'></dt><dd>删除</dd></dl>";
}else{
layer.msg('有文件上传失败:'+res.data);
}
}
,allDone: function(obj){
var item = this.item;
var des=$(item).data('des');
layer.closeAll('loading'); //关闭loading
if(files!=''){
if($('#'+des).val()){
$('#'+des).val($('#'+des).val()+','+files);
}else{
$('#'+des).val(files);
}
$('#'+des+'_box').append(html);
layer.msg('成功上传'+obj.successful+'个文件!');
files='';
html='';
}else{
layer.msg('全部上传失败!');
}
}
,error: function(){
layer.closeAll('loading'); //关闭loading
layer.msg('上传发生错误!');
}
});
//图片页面删除功能
$('.pic').on("click",'dl dd',function(){
var id=$(this).parents('.pic').attr('id');
var url=$(this).siblings('dt').find('img').data('url');
var input=$('#'+id.replace('_box',''));
var value = input.val();
value = value.replace(url,'');
value = value.replace(/^,/, '');
value = value.replace(/,$/, '');
value = value.replace(/,,/, ',');
input.val(value);
$(this).parents('dl').remove();
});
//执行附件上传实例
var uploadFileInst = upload.render({
elem: '.file' //绑定元素
,url: uploadurl //上传接口
,field: 'upload' //字段名称
,multiple: false //多文件上传
,accept: 'file' //接收文件类型 images图片、file所有文件、video视频、audio音频
,before: function(obj){
layer.load(); //上传loading
}
,done: function(res){
var item = this.item;
var des=$(item).data('des');
layer.closeAll('loading'); //关闭loading
if(res.code==1){
$('#'+des).val(res.data[0]);
layer.msg('上传成功!');
}else{
layer.msg('上传失败:'+res.data);
}
}
,error: function(){
layer.closeAll('loading'); //关闭loading
layer.msg('上传发生错误!');
}
});
//使用多日期控件
useLayDateMultiple('year','year');
useLayDateMultiple('month','month');
useLayDateMultiple('time','time');
useLayDateMultiple('date','date');
useLayDateMultiple('datetime','datetime');
//选择模型切换模板
form.on('select(model)', function(data){
var elem = data.elem;
var type = $(elem).find("option:selected").data('type');
var listtpl = $(elem).find("option:selected").data('listtpl');
var contenttpl = $(elem).find("option:selected").data('contenttpl');
$(elem).parents('form').find("#type").val(type);
addOptionValue("listtpl",listtpl,listtpl);
addOptionValue("contenttpl",contenttpl,contenttpl);
$(elem).parents('form').find("#listtpl").val(listtpl);
$(elem).parents('form').find("#contenttpl").val(contenttpl);
form.render(null, 'sort');
});
});
//日期控件函数
function useLayDateMultiple(cls,type) {
layui.use('laydate', function() {
var laydate = layui.laydate;
lay('.' + cls).each(function() {
laydate.render({
elem : this,
type : type,
});
});
});
}