123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923 |
- <script>
- var $tableConfig = JSON.parse('<?php echo json_encode(Yii::$app->controller->tableConfig);?>');
- var $tableTitle = JSON.parse('<?php echo json_encode(Yii::$app->controller->tableTitle);?>');
- var $table = $('#table');
- var $rowdata = JSON.parse('<?php echo json_encode(Yii::$app->controller->result);?>');;
- if($tableConfig!=null&&$tableConfig.fixed)
- {
- if($(".main-wrapper").length==1)
- {
- var max_width = $(".main-wrapper").width()-25;
- }
- else
- {
- var max_width = $(".main-wrapper").eq(1).width()-25;
- }
- $('#fixed_table_box').css({'max-width':max_width+'px'})
- }
- function renderChart(chartdata) {
- if (chartdata && $(".card-charts").length == 1) {
- var myChart = [], i = 1;
- $.each(chartdata, function (key, opt) {
- myChart[i] = echarts.init(document.getElementById(key), 'walden');
- if (opt && typeof opt === "object") {
- myChart[i].setOption(opt, true);
- }
- i++;
- })
- }
- }
- renderChart($rowdata.chartdata)
- function loadData(getall) {
- getall==0 && layer.msg('请求中,请稍候...', { icon: 16 ,shade: 0.2,time:20000 });
- var data = $.extend({getall: getall}, $("#searchform").serializeJson());
- $.get($tableConfig.url, data, function (res) {
- $table.bootstrapTable('load', res.rows)
- layer.closeAll();
- getall==0 && renderChart(res.chartdata);
- if(res.needgetall){
- setTimeout(function () {
- loadData(1)
- },800);
- }
- })
- }
- function reLoad() {
- if($tableConfig.pagination)
- {
- var pageNumber = $table.bootstrapTable('getOptions').pageNumber; // 获取当前页码
- $table.bootstrapTable('refreshOptions',{pageNumber:pageNumber}); // 指定页码
- initTable();
- }
- else
- {
- //$table.bootstrapTable('destroy');
- loadData(0);
- }
- //$('.admin-table').removeClass("table-bordered");
- }
- function initTable()
- {
- if($tableConfig.tree)
- {
- var start = 1;
- $table.bootstrapTable({
- //url: $tableConfig.url,
- data: $rowdata.rows || [],
- idField: $tableConfig.idField,
- showColumns: false,
- showHeader:$tableConfig.showHeader!=false?true:false,
- showExport:true, //是否显示导出按钮
- columns: $tableTitle,
- treeShowField: $tableConfig.treeShowField,
- parentIdField: $tableConfig.parentIdField,
- toolbarAlign:'right',//工具栏的位置
- exportDataType:'basic',
- exportTypes: ['excel'],
- height:$tableConfig.height>0?$tableConfig.height:null,
- showExport:true,
- exportOptions: {
- fileName: $tableConfig.exportFileName?$tableConfig.exportFileName:'tableExport', //file name setting
- },
- queryParams : function(params) {//上传服务器的参数
- //console.log(Date.parse(new Date()),'queryParams')
- var temp = {};
- temp = $.extend(temp,$("#searchform").serializeJson());
- return temp;
- },
- onPostBody: function() {
- //console.log(Date.parse(new Date()),'onPostBody')
- var columns = $table.bootstrapTable('getOptions').columns
- if (columns && columns[0][1].visible) {
- $table.treegrid({
- treeColumn: typeof $tableConfig.treeColumn!='undefined'?$tableConfig.treeColumn:1,
- initialState: $tableConfig.expand?'expanded':'collapsed',
- expanderExpandedClass: 'layui-icon layui-icon-down', // 展开时,图标样式
- expanderCollapsedClass: 'layui-icon layui-icon-right', // 折叠时,图标样式
- onChange: function() {
- $table.bootstrapTable('resetView')
- }
- })
- }
- $(".table").removeClass('table-striped');
- $(".treegrid-collapsed:even").css('background-color', '#f8f9fa');
- $(".table tr:not(.treegrid-collapsed):even").css('background-color', '#f8f9fa');
- if ($(".treegrid-expander").length > 0 && $tableConfig.expand != 'expanded') {
- $(".treegrid-expander")[0].click()
- }
- if ($rowdata.needgetall && start){
- start = 0;
- var data = $.extend({getall: 1}, $("#searchform").serializeJson());
- setTimeout(function () {
- $.get($tableConfig.url, data, function (res) {
- if ($rowdata.rows.length != res.rows.length) {
- $table.bootstrapTable('load', res.rows)
- //renderChart(res.chartdata)
- }
- })
- },800);
- }
- //针对树状表格出现的重复情况的处理(仅后台菜单管理)
- if($tableConfig.parentIdField=='parent_hash')
- {
- var indexs = [];
- $table.find('tr').each(function(){
- if($.inArray($(this).data('index'),indexs)!=-1)
- {
- $(this).remove();
- }
- else
- {
- indexs[indexs.length] = $(this).data('index');
- }
- })
- }
- $('.editUnit').editable({
- inputclass:'form-control-sm',
- params: function(params) {
- params.table = $tableConfig.table;
- params.field = params.name;
- return params;
- },
- ajaxOptions: {
- type: 'get',
- dataType: 'json'
- },
- success: function(result, newValue) {
- if(result.error==1)
- {
- Toast.fire({icon: 'error',title: result.msg})
- }else{
- Toast.fire({icon: 'success',title: result.msg})
- }
- }
- });
- //为了让右侧操作菜单全部显示,需要调整表格高度
- if($(".admin-table").length>0)
- {
- var operUnitLength = $("ul.dropdown-menu ").eq(0).children('li').length;
- var dropmenuHeight = operUnitLength*40;
- if(dropmenuHeight>0)
- {
- var min_height = 160+dropmenuHeight;
- $(".fixed-table-body").css({'min-height':min_height+'px','overflow-y':'hidden'});
- $(".bootstrap-table").css({'min-height':$(".fixed-table-container").height()+'px'});
- }
- }
- //图片支持点击预览
- $('.image-popup').magnificPopup({type:"image",closeOnContentClick:!0,closeBtnInside:!1,fixedContentPos:!0,mainClass:"mfp-no-margins mfp-with-zoom",image:{verticalFit:!0},zoom:{enabled:!0,duration:300}})
- },
- onLoadSuccess:function(result) {
- //console.log(Date.parse(new Date()), 'onLoadSuccess')
- if (result.chartdata && $(".card-charts").length == 1) {
- var myChart = [], i = 1;
- $.each(result.chartdata, function (key, opt) {
- myChart[i] = echarts.init(document.getElementById(key), 'walden');
- if (opt && typeof opt === "object") {
- myChart[i].setOption(opt, true);
- }
- i++;
- })
- }
- },
- onCheck:function(row){
- var datas = $table.bootstrapTable('getData');
- // 勾选子类
- selectChilds(datas,row,$tableConfig.idField,$tableConfig.parentIdField,true);
- // 勾选父类
- selectParentChecked(datas,row,$tableConfig.idField,$tableConfig.parentIdField);
- $table.bootstrapTable('load', datas);
- },
- onUncheck:function(row){
- var datas = $table.bootstrapTable('getData');
- selectChilds(datas,row,$tableConfig.idField,$tableConfig.parentIdField,false);
- $table.bootstrapTable('load', datas);
- },
- onUncheckAll:function(){
- var datas = $table.bootstrapTable('getData');
- checkAll(datas,false)
- },
- onCheckAll:function(){
- var datas = $table.bootstrapTable('getData');
- checkAll(datas,true)
- },
- })
- if(!$rowdata.rows){
- $table.bootstrapTable('refreshOptions',{url:$tableConfig.url,data:[]});
- }
- }
- else
- {
- $table.bootstrapTable({
- url: $tableConfig.url,
- idField: $tableConfig.idField,
- striped:true,
- showColumns: false,
- showHeader:$tableConfig.showHeader!=false?true:false,
- fixedColumns: $tableConfig.fixed?true:false,
- fixedNumber: +parseInt($tableConfig.fixedNum),
- fixedRightNumber: +parseInt($tableConfig.fixedRightNumber),
- columns: $tableTitle,
- pagination: $tableConfig.pagination,
- pageList: [10, 15 , 20, 25, 30, 50, 100, 200,'所有'],
- sidePagination: "server",
- pageSize: $tableConfig.pagesize,
- paginationHAlign:"right",
- paginationDetailHAlign:"left",
- showJumpTo: true,
- toolbarAlign:'right',//工具栏的位置
- exportDataType:'basic',
- exportTypes: ['excel'],
- height:$tableConfig.height>0?$tableConfig.height:null,
- showExport:true,
- exportOptions: {
- fileName: $tableConfig.exportFileName?$tableConfig.exportFileName:'tableExport', //file name setting
- },
- queryParams : function(params) {//上传服务器的参数
- var temp = {//如果是在服务器端实现分页,limit、offset这两个参数是必须的
- limit : params.limit, // 每页显示数量
- offset : params.offset, // SQL语句起始索引
- page : (params.offset / params.limit) + 1, //当前页码
- sort: params.sort, //排序列名
- sortOrder: params.order //排位命令(desc,asc)
- };
- temp = $.extend(temp,$("#searchform").serializeJson());
- return temp;
- },
- onLoadSuccess:function(result){
- $(".table").addClass('table-striped');
- //if(result.rows){
- // var t = result.rows[0], d = t && (t.year_info && t.month_info ? (t.year_info + '-' + (t.month_info+'').padStart(2,'0')) :(t.statistical_month ? (t.statistical_month+'').substr(0,4) + '-' + (t.statistical_month+'').substr(4,2) :''));
- // d && $('[data-toggle="datepicker"]').val(d);
- // }
- $(".no-records-found td").css({'color':'#000'});
- //为了让右侧操作菜单全部显示,需要调整表格高度
- if($(".admin-table").length>0)
- {
- var operUnitLength = $("ul.dropdown-menu").eq(0).children('li').length;
- var dropmenuHeight = operUnitLength*40;
- if(dropmenuHeight>0)
- {
- /*if($tableConfig.fixed==true&&result.total>1)
- {
- var min_height = 60+dropmenuHeight;
- }
- else
- {
- var min_height = 110+dropmenuHeight;
- }*/
- var min_height = 110+dropmenuHeight;
- $(".fixed-table-body").css({'min-height':min_height+'px','overflow-y':'hidden'});
- $(".bootstrap-table").css({'min-height':$(".fixed-table-container").height()+'px'});
- }
- //调整底部分页位置
- if($tableConfig.fixed!=true)
- {
- var heightDiff = $(".fixed-table-container").height()-$(".admin-table").height();
- $(".fixed-table-pagination").css({'margin-top':'-'+(heightDiff-10)+'px'});
- }
- //调整固定列时候内容高度(避免遮挡底部滚动条)
- if($tableConfig.fixed==true)
- {
- $('.fixed-columns .fixed-table-body').css({"min-height":($('.fixed-columns .fixed-table-body').height()-20)+'px'});
- }
- /* if($(".fixed-table-pagination").html()=='')
- {
- $(".fixed-table-body").css({'min-height':'110px','overflow-y':'hidden'});
- }*/
- }
- if($(".fixed-columns-right").length>0 && $table.bootstrapTable('getData').length>0)
- {
- $(".fixed-columns-right").css({"width":"20%"})
- }
- if($(".fixed-columns-right").length>0&&$(".fixed-columns").html()==''){
- $(".fixed-columns-right").hide();
- }
- },
- onPostBody: function() {
- $(".no-records-found td").css({'color':'#fff'});
- $('.editUnit').editable({
- inputclass:'form-control-sm',
- params: function(params) {
- params.table = $tableConfig.table;
- params.field = params.name;
- return params;
- },
- ajaxOptions: {
- type: 'get',
- dataType: 'json'
- },
- success: function(result, newValue) {
- if(result.error==1)
- {
- Toast.fire({icon: 'error',title: result.msg})
- }
- else
- {
- Toast.fire({icon: 'success',title: result.msg})
- }
- }
- });
- //表格列表重置样式
- if($(".admin-table").length>0)
- {
- if($(".fixed-table-pagination").html()!='')
- {
- $(".bootstrap-table").css({position:'relative',height:($(".bootstrap-table").height()+10)+'px'});
- }
- $(".fixed-table-loading").css({height:($(".admin-table tbody").height())+'px','border-bottom':'none','padding-top':'10px'});
- }
- //图片支持点击预览
- $('.image-popup').magnificPopup({type:"image",closeOnContentClick:!0,closeBtnInside:!1,fixedContentPos:!0,mainClass:"mfp-no-margins mfp-with-zoom",image:{verticalFit:!0},zoom:{enabled:!0,duration:300}})
- }
- })
- }
- }
- //表格加载数据时候的样式
- function loadingTemplate(message) {
- return '<div class="row"><a href="javascript:void(0);" class="text-dark"><i class="bx bx-loader bx-spin font-size-18 align-middle me-2"></i>加载中... </a></div>'
- }
- //格式化可编辑单元格样式
- function editFormatter(value, row, index,field){
- var pk;
- $.each(row, function(key, val) {
- if(key==$tableConfig.idField)
- {
- pk = val;
- }
- });
- if (value == null || value == "" || value == undefined) value = '-';
- return '<a href="javascript:;" data-pk="'+pk+'" id="'+field+'" data-url="'+$tableConfig.setFieldUrl+'" class="editUnit" data-title="'+value+'" data-type="text">'+value+'</a>';
- }
- //格式化复选框样式
- function checkboxFormatter(value, row, index,field) {
- var checkedStr = '';
- if (row.check == true) {
- checkedStr = "checked";
- }
- else
- {
- checkedStr = "";
- }
- return '<div class="form-check table-checkbox">'
- + '<input data-index="'+index+'" class="form-check-input" '+checkedStr+' name="btSelectItem" type="checkbox" >'
- +'<label class="form-check-label"></label></div>';
- }
- //序号格式化
- function numberFormatter(value,row,index)
- {
- var pageSize = $table.bootstrapTable('getOptions').pageSize;
- var pageNumber = $table.bootstrapTable('getOptions').pageNumber;
- return pageSize * (pageNumber - 1) + index + 1;
- }
- //数字格式化
- function numericFormatter(value,row,index)
- {
- if (value === null || value === "" || value === undefined)
- return "-";
- return Number(value).toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
- }
- //数字格式化保留两位小数
- function numeric1Formatter(value,row,index)
- {
- if (/[^0-9\.]/.test(value))
- return "-";
- if (value === null || value === "" || value == undefined)
- return "-";
- var s = Number(value).toFixed(2);
- s = s.toString().replace(/^(\d*)$/, "$1.");
- s = (s + "00").replace(/(\d*\.\d{2})\d*/, "$1");
- s = s.replace(".", ",");
- var re = /(\d)(\d{3},)/;
- while (re.test(s))
- s = s.replace(re, "$1,$2");
- s = s.replace(/,(\d{2})$/, ".$1");
- return s;
- }
- //开关渲染(仅适用于bool值)
- function switchFormatter(value, row, index,field)
- {
- var pk;
- $.each(row, function(key, val) {
- if(key==$tableConfig.idField)
- {
- pk = val;
- }
- });
- var checkedHtml = value==1?'checked':'';
- return '<div class="form-check switch-check-unit"><input data-pk="'+pk+'" data-field="'+field+'"'
- +' value="'+value+'" onchange="switchChange(this)" '
- + checkedHtml
- + ' id="switch-'+field+'-'+index+'" type="checkbox" switch="success" class="row-switch" />'
- + '<label class="switch-check-label" for="switch-'+field+'-'+index+'" data-on-label="开" data-off-label="关"></label></div>';
- }
- //开关事件
- function switchChange(obj)
- {
- var value = obj.checked==true?1:0;
- var table = $tableConfig.table;
- var field = $(obj).data('field');
- var pk = $(obj).data('pk');
- var url = $tableConfig.setFieldUrl;
- var loading = layer.load(2);
- $.get(url,{table:table,pk:pk,field:field,value:value},function(result){
- layer.close(loading);
- if(result.error==1)
- {
- Toast.fire({icon: 'error',title: result.msg})
- }
- else
- {
- Toast.fire({icon: 'success',title: result.msg})
- if($tableConfig.fixed)reLoad();
- }
- })
- }
- function doExport()
- {
- if($tableConfig.tree) {
- $table.table2excel({
- filename: '<?php echo Yii::$app->controller->tableConfig['exportFileName'];?>.xlsx',
- sheetName: 'Sheet1'
- });
- }else {
- console.log("doexport");
- $table.one('post-body.bs.table', function () {
- $table.table2excel({
- filename: '<?php echo Yii::$app->controller->tableConfig['exportFileName'];?>.xlsx',
- sheetName: 'Sheet1'
- });
- $table.bootstrapTable('togglePagination');
- });
- $table.bootstrapTable('togglePagination');
- }
- }
- function operateFormatter(value, row, index) {
- var pk;
- $.each(row, function(key, val) {
- if(key==$tableConfig.idField)
- {
- pk = val;
- }
- });
- if($tableConfig.dropmenu)
- {
- var html = '<div class="dropdown">';
- html += '<a href="javascript:;" class="dropdown-toggle card-drop" data-bs-toggle="dropdown" aria-expanded="false" > ';
- html += '<i class="mdi mdi-dots-horizontal font-size-18"></i></a>';
- html += '<ul class="dropdown-menu dropdown-menu-end">';
- <?php
- if(is_array(Yii::$app->controller->operTableMenu))foreach(Yii::$app->controller->operTableMenu as $menu){
- $url = $menu['action']?Yii::$app->controller->createRealUrl($menu['module'].'/'.$menu['controller'].'/'.$menu['action']):'';
- $params = [];
- $url = explode("?",$url);
- if(!empty($url[1]))$params = explode("&",$url[1]);
- if(!empty($menu['data']))
- {
- $data = $menu['data'];
- if(@eval("$data;")==false)
- {
- $evalResult = $data;
- }
- else
- {
- $evalResult = @eval("$data;");
- }
- $params = array_merge($params,explode('&',$evalResult));
- }
- $url = $url[0]."?".join('&',$params);
- ?>
- var enable = true;
- <?php if(!empty($menu['show_function'])&&strpos($menu['show_function'],'return')===false){?>
- if(!(<?php echo $menu['show_function'];?>)) enable = false;
- <?php }?>
- if(enable)
- {
- html += '<li><a href="javascript:;" data-title="<?php echo Yii::t('resource',$menu['name']);?>" data-type="<?php echo $menu['menu_type'];?>" data-url="<?php echo $url;?>&'+$tableConfig.idField+'='+pk+'" data-large="<?php echo $menu['pop_large'];?>" class="dropdown-item tablebtn"><i class="<?php echo $menu['icon_class'];?> font-size-16 me-1"></i> <?php echo Yii::t('resource',$menu['name']);?></a></li>'
- }
- <?php }?>
- html += '</ul></div>';
- return html;
- }
- else
- {
- var html = '<div class="">';
- <?php
- if(is_array(Yii::$app->controller->operTableMenu))foreach(Yii::$app->controller->operTableMenu as $menu){
- $url = $menu['action']?Yii::$app->controller->createRealUrl($menu['module'].'/'.$menu['controller'].'/'.$menu['action']):'';
- $params = [];
- $url = explode("?",$url);
- if(!empty($url[1]))$params = explode("&",$url[1]);
- if(!empty($menu['data']))
- {
- $data = $menu['data'];
- if(@eval("$data;")==false)
- {
- $evalResult = $data;
- }
- else
- {
- $evalResult = @eval("$data;");
- }
- $params = array_merge($params,explode('&',$evalResult));
- }
- $url = $url[0]."?".join('&',$params);
- ?>
- var disabledTxt= '';
- <?php if(!empty($menu['show_function'])&&strpos($menu['show_function'],'return')===false){?>
- if(!(<?php echo $menu['show_function'];?>)) disabledTxt = 'disabled';
- <?php }?>
- html += '<button data-title="<?php echo Yii::t('resource',$menu['name']);?>" data-type="<?php echo $menu['menu_type'];?>" data-url="<?php echo $url;?>&'+$tableConfig.idField+'='+pk+'" '+disabledTxt+' data-large="<?php echo $menu['pop_large'];?>" type="button" class="tablebtn btn btn-outline-<?php echo $menu['btn_class'];?> btn-sm waves-effect waves-light me-1">'
- html += '<?php echo Yii::t('resource',$menu['name']);?>'
- html += '</button>'
- <?php }?>
- html += '</div>';
- return html;
- }
- }
- //返回选中的复选框值
- function getIdSelections() {
- if($tableConfig.tree)
- {
- var result = [];
- var datas = $table.bootstrapTable('getData');
- for(i=0;i<datas.length;i++)
- {
- if(datas[i].check)
- {
- result[result.length] = datas[i][$tableConfig.idField];
- }
- }
- return result;
- }
- else
- {
- return $.map($table.bootstrapTable('getSelections'), function (row) {
- var result;
- $.each(row, function(key, val) {
- if(key==$tableConfig.idField)
- {
- result = val;
- }
- });
- return result;
- })
- }
- }
- function checkAll(datas,checked)
- {
- for(var i in datas){
- datas[i].check=checked;
- }
- }
- /**
- * 选中父项时,同时选中子项
- * @param datas 所有的数据
- * @param row 当前数据
- * @param id id 字段名
- * @param pid 父id字段名
- */
- function selectChilds(datas,row,id,pid,checked) {
- row.check = checked;
- for(var i in datas){
- if(datas[i][pid] == row[id]){
- datas[i].check=checked;
- selectChilds(datas,datas[i],id,pid,checked);
- };
- }
- }
- function selectParentChecked(datas,row,id,pid){
- row.check = true;
- for(var i in datas){
- if(datas[i][id] == row[pid]){
- datas[i].check=true;
- selectParentChecked(datas,datas[i],id,pid);
- };
- }
- }
- window.operateEvents = {
- 'click .like': function (e, value, row, index) {
- alert('You click like action, row: ' + JSON.stringify(row))
- },
- 'click .remove': function (e, value, row, index) {
- $table.bootstrapTable('remove', {
- field: 'id',
- values: [row.id]
- })
- }
- }
- $(function(){
- //可编辑单元格设置
- if($('#table').length>0)
- {
- $.fn.editable.defaults.mode = 'inline';
- $.fn.editableform.template = '<form class="form-inline editableform col-sm-auto"><div class="control-group"><div><div class="editable-input"></div><div class="editable-buttons"></div></div><div class="editable-error-block"></div></div></form>';
- $.fn.editableform.buttons = '<button type="submit" class="editable-submit btn btn-success btn-sm"><i class="mdi mdi-check"></i></button><button type="button" class="editable-cancel btn btn-danger btn-sm "><i class="mdi mdi-close"></i></button>';
- //获取父级窗口高度
- var height = $(window).height()-0;
- if($('.searchbox ').length>0)
- {
- height = height-$('.searchbox').height();
- }
- if($(".bglegend").length>0)
- {
- height = height-$(".bglegend").height()-40;
- }
- if($(".cartab").length>0)
- {
- height = height-$(".cartab").height();
- }
- if($(".main-wrapper-inner .card-charts").length>0)
- {
- height = height-$(".main-wrapper-inner .card-charts").height();
- }
- if($tableConfig.height)
- {
- $tableConfig.height = height;
- $("body").css("overflow-y","hidden");
- }
- initTable();
- //$(".th-inner").css("width","100px");
- }
- $(document).on("click", ".tablebtn", function(){
- var modalType = $(this).data('type');
- var modalTitle = $(this).data('title');
- var ids = [];
- if($(this).hasClass('multioper')){
- ids = getIdSelections();
- }
- else
- {
- ids = getIdSelections();
- }
- if($.inArray(modalType,[5,6,7,8,11,12,13,14])!=-1)
- {
- var sizeClass = $.inArray(modalType,[7,8,13,14])!=-1?'modal-fullscreen':($(this).data('large')==1?'modal-lg':'');
- var maxHeight = $.inArray(modalType,[7,8,13,14])!=-1?'':'max-height:500px';
- var haveBtn = $.inArray(modalType,[5,7,11,13])!=-1?true:false;
- var modalHtml = '';
- modalHtml += '<div class="modal fade" id="mymodal" tabindex="-1" aria-labelledby="mymodalLabel" aria-hidden="true">';
- modalHtml += '<div class="modal-dialog '+sizeClass+' modal-dialog-scrollable">';
- modalHtml += '<div class="modal-content" style="'+maxHeight+'">';
- modalHtml += '<div class="modal-header">';
- modalHtml += '<h5 class="modal-title" id="mymodalLabel">'+modalTitle+'</h5>';
- modalHtml += '<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close" onclick="layer.closeAll();"></button>';
- modalHtml += '</div>';
- modalHtml += '<div class="modal-body" >';
- modalHtml += '<div class="row"><p class="text-center" style="margin-top:15px;"><i class="fa fa-spinner fa-spin fa-2x"></i></p></div>';
- modalHtml += '</div>';
- if(haveBtn){
- modalHtml += '<div class="modal-footer">';
- modalHtml += '<button type="button" class="btn btn-secondary closeModal" data-bs-dismiss="modal" onclick="layer.closeAll();">关闭</button>';
- modalHtml += '<button type="button" class="btn btn-primary submitBtn" >提交</button>';
- modalHtml += '</div>';
- }
- modalHtml += '</div>';
- modalHtml += '</div>';
- modalHtml += '</div>';
- //之前存在模态窗口删除
- if ($("#mymodal").length > 0) {
- //删除之前存在的ueditor
- $('.kiivoeditor').each(function(){
- UE.delEditor($(this).attr('id'));
- }
- )
- $("#mymodal").remove();
- $('.uploadModal').remove();
- //纠正bootstrap 颜色选择器显示bug
- if($tableConfig.removesp)$('.sp-container').remove();
- }
- //插入新的模态窗口html
- $('body').append(modalHtml);
- $.get($(this).data('url'),{},function(html){
- $("#mymodal .modal-body").html(html);
- //美化下拉框
- $('select.form-select').each(function()
- {
- if(!$(this).hasClass('original')){dselect(this);}
- })
- })
- //显示模态窗口
- $('#mymodal').modal('show');
- var saveFlag = true;//避免多次提交
- //提交表单
- $('.submitBtn').click(function(){
- var form = $('#modal-form');
- var submitId = 'modal-form-submit';
- var layuiSubmitBtn = $('#'+submitId);
- var closeBtn = $('.closeModal');
- //YII2 原生表单验证提交
- if(!form.hasClass('layui-form'))
- {
- form.on('afterValidate',function(){
- if(form.find(".has-error").length==0)
- {
- var loading = layer.load(2);
- var formAction = $(form).attr('action');
- if(ids.length==0)
- {
- var data = $(form).serialize();
- }
- else
- {
- var data = $(form).serialize()+'&ids='+ids.join(",");
- }
- $.post(formAction,data,function(result){
- layer.close(loading);
- closeBtn.trigger('click');
- if(result.error==1)
- {
- Toast.fire({
- icon: 'error',
- title: result.msg,
- didClose: (toast) => {
- // if($tableConfig.refresh)reLoad();
- }
- })
- }else{
- Toast.fire({
- icon: 'success',
- title: result.msg,
- didClose: (toast) => {
- if($tableConfig.refresh)reLoad();
- }
- })
- }
- })
- }
- })
- $(document).on("submit", form, function(e){return false;})
- form.trigger('submit');
- }
- if(form.hasClass('layui-form'))
- {
- layui.form.on('submit('+ submitId +')', function(data){
- var loading = layer.load(2);
- var formAction = $(form).attr('action');
- if(ids.length==0)
- {
- var data = $(form).serialize();
- }
- else
- {
- var data = $(form).serialize()+'&ids='+ids.join(",");
- }
- $.post(formAction,data,function(result){
- layer.close(loading);
- closeBtn.trigger('click');
- if(result.error==1)
- {
- Toast.fire({
- icon: 'error',
- title: result.msg,
- didClose: (toast) => {
- // if($tableConfig.refresh)reLoad();
- }
- })
- }else{
- Toast.fire({
- icon: 'success',
- title: result.msg,
- didClose: (toast) => {
- if($tableConfig.refresh)reLoad();
- }
- })
- }
- })
- return false;
- })
- layuiSubmitBtn.trigger('click');
- }
- })
- }
- else if(modalType==3)//批量操作
- {
- multiOperate($(this).data('url'),ids);
- }
- else if(modalType==4)//批量删除
- {
- multiDelConfirm($(this).data('url'),ids);
- }
- else if(modalType==15)//删除记录
- {
- delConfirm($(this).data('url'));
- }
- else if(modalType==16||modalType==2)//跳转链接
- {
- window.location.href=$(this).data('url');
- }
- else if(modalType==9)//Ajax
- {
- var loading = layer.load(2);
- $.get($(this).data('url'),{},function(result){
- layer.close(loading);
- if(result.error==1)
- {
- Toast.fire({
- icon: 'error',
- title: result.msg,
- didClose: (toast) => {
- // if($tableConfig.refresh)reLoad();
- }
- })
- }else{
- Toast.fire({
- icon: 'success',
- title: result.msg,
- didClose: (toast) => {
- if($tableConfig.refresh)reLoad();
- }
- })
- }
- })
- }
- else
- {
- //刷新
- if(modalType==10)
- {
- reLoad();
- }
- }
- })
- //搜索
- $(document).on("click", "#searchform-btn", function(){
- reLoad();
- })
- // $('.admin-table').removeClass("table-bordered");
- })
- </script>
|