骏飞影业微信小程序API
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

276 lines
14 KiB

<!--内容开始-->
<section class="content">
{// 额外CSS代码 }
{$extra_css|raw|default=''}
{// 额外HTML代码 }
{$extra_html_content_top|raw|default=''}
<!--顶部提示开始-->
{notempty name="page_tips_top"}
<div class="alert alert-{$tips_type} alert-dismissable">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<p>{$page_tips_top|raw}</p>
</div>
{/notempty}
<!--顶部提示结束-->
<div class="container-fluid">
<div class="row">
<!--搜索区域开始-->
{include file="table_builder/search" /}
<!--列表区域开始-->
<div class="col-sm-12 select-table table-striped">
{include file="table_builder/toolbar" /}
<table id="bootstrap-table" data-mobile-responsive="true"></table>
</div>
</div>
</div>
<script>
$(function() {
var options = {
uniqueId : "{$unique_id}", // 表格主键名称,(默认为id,如表主键不为id必须设置主键)
url : "{$data_url|raw}", // 请求后台的URL
addUrl : "{$add_url|raw}", // 新增的地址
editUrl : "{$edit_url|raw}", // 修改的地址
delUrl : "{$del_url|raw}", // 删除的地址
exportUrl : "{$export_url|raw}", // 导出的地址
sortUrl : "{$sort_url|raw}", // 排序的地址
sortName : "{$unique_id}", // 排序列名称
sortOrder : "desc", // 排序方式 asc 或者 desc
pagination : {$pagination}, // 是否进行分页
parentIdField : "{$parent_id_field}", // 列表树模式需传递父id字段名(parent_id/pid)
clickToSelect : true, // 默认false不响应,设为true则当点击此行的某处时,会自动选中此行的checkbox/radiobox
pageSize : "{$page_size}", // 每页显示的行数
layerOpen : "{$layer_open}", // 添加/编辑等页启用layer弹层加载
emptyTips : "{$empty_tips}", // 空数据提示信息
fixedColumns : true, // 是否启用固定列功能
fixedLeft : {$fixed_left}, // 左侧固定列数
fixedRight : {$fixed_right}, // 右侧固定列数
columns: [
{
//field: 'state',
checkbox: true,
// 当某行包含checkbox_disabled时禁止选择
formatter: function(value, row, index) {
if(row.checkbox_disabled =='1'){
return {
disabled : true
}
}
}
},
{volist name="columns" id="column"}
{
field: '{$column.name|default=''}', {// 字段名称}
title: '{$column.title|default=''}', {// 字段别名}
{if $column.name==$unique_id}
sortable: true, {// 主键必须可以排序}
{else}
sortable: {$column.sortable}, {// 是否可排序}
{/if}
{notempty name="column.class"}
class: '{$column.class|default=''}', {// 使用class定义/覆盖列的CSS类}
{/notempty}
{notempty name="column.width"}
width: {$column.width}, {// 列宽}
{/notempty}
{if $column.param }
{if $column.name == 'status' }
formatter: function(value, row, index) {
if (value == 0) {
return '<i class="fa fa-toggle-off text-info fa-2x cursor_pointer" onclick="$.operate.state(\'' + row.{$unique_id} + '\',\'{:url('state')}\')"></i>';
} else {
return '<i class="fa fa-toggle-on text-info fa-2x cursor_pointer" onclick="$.operate.state(\'' + row.{$unique_id} + '\',\'{:url('state')}\')"></i>';
}
}
{else}
formatter: function(value, row, index) {
if (value == 0) {
return '<span class="badge badge-{$column.param.0.class|default='danger'}">{$column.param.0|default='禁用'}</span>';
} else if (value == 1) {
return '<span class="badge badge-{$column.param.1.class|default='primary'}">{$column.param.1|default='启用'}</span>';
}else if (value == 2) {
return '<span class="badge badge-{$column.param.1.class|default='info'}">{$column.param.2|default='状态2'}</span>';
}else if (value == 3) {
return '<span class="badge badge-{$column.param.1.class|default='success'}">{$column.param.3|default='状态3'}</span>';
}else {
var str = '';
{foreach $column.param as $key=>$vo }
var kk = '{$key}';
if (value == kk || checkValInStr(kk, value)) {
str += '<span class="badge badge-info">{$vo}</span> ';
}
{/foreach}
return str;
}
}
{/if}
{else}
{if $column.name == 'sort' }
formatter: function(value, row, index) {
return '<input class="form-control input-sm w_40 changeSort" type="text" value="' + value + '" data-id="' + row.{$unique_id} + '" onblur="$.table.sort(this)">';
}
{else}
{// 根据格式决定如何处理数据}
{switch column.type }
{case text }
formatter: function(value, row, index) {
return HTMLDecode(value);
}
{/case}
{case datetime }
formatter: function(value, row, index) {
return changeDateFormat(value);
}
{/case}
{case status }
formatter: function(value, row, index) {
if (value == 0) {
return '<span class="badge badge-{$column.param.0.class|default='danger'}">{$column.param.0.title|default='禁用'}</span>';
} else if (value == 1) {
return '<span class="badge badge-{$column.param.1.class|default='primary'}">{$column.param.1.title|default='启用'}</span>';
}else if (value == 2) {
return '<span class="badge badge-{$column.param.1.class|default='default'}">{$column.param.1.title|default='状态2'}</span>';
}else if (value == 3) {
return '<span class="badge badge-{$column.param.1.class|default='success'}">{$column.param.1.title|default='状态3'}</span>';
}else {
return '<span class="badge badge-{$column.param.1.class|default='info'}">{$column.param.1.title|default='其他'}</span>';
}
}
{/case}
{case yesno }
formatter: function(value, row, index) {
if (value == 0) {
return '<i class="fa fa-ban text-{$column.param.0.class|default='danger'}"></i>';
} else if (value == 1) {
return '<i class="fa fa-check text-{$column.param.1.class|default='primary'}"></i>';
}
}
{/case}
{case link }
formatter: function(value, row, index) {
var link = '{$column.default|default=''}';
var reg = /__(.*?)__/g;
// 匹配ID和email,可能为任何的其他参数,但都是 __字段__ 格式
while (result = reg.exec(link)) {
link = link.replace(result[0], row[result[1]]);
}
// 拼接
link = '<a href="'+link+'" target="{$column.param}">' + value + '</a>';
return link;
}
{/case}
{case image }
formatter: function(value, row, index) {
if ($.common.isNotEmpty(value)) {
return '<a href="' + value + '" target="_blank"><img class="image_preview" src="' + value + '"></a>';
}
}
{/case}
{case color }
formatter: function(value, row, index) {
if ($.common.isNotEmpty(value)) {
return '<i class="table_colorpicker" style="background: ' + value + '""></i>';
}
}
{/case}
{case select }
formatter: function(value, row, index) {
return row.{$column.name|default=''};
}
{/case}
{case select2 }
formatter: function(value, row, index) {
return row.{$column.name|default=''};
}
{/case}
{case btn }
class : 'text-nowrap',
formatter: function(value, row, index) {
var actions = [];
{volist name="right_buttons" id="right_button"}
if('{$right_button.type|default=''}' == 'edit' || '{$right_button.type|default=''}' == 'preview'){
if('{$right_button.href|default=''}'){
var url = '{$right_button.href|default=''}';
var reg = /__(.*?)__/g;
// 匹配ID和email,可能为任何的其他参数,但都是 __字段__ 格式
while (result = reg.exec(url)) {
url = url.replace(result[0], row[result[1]]);
}
actions.push('<a class="{$right_button.class|default=''}" target="{$right_button.target|default=''}" href="'+url+'"><i class="{$right_button.icon|default=''}"></i> {$right_button.title|default=''}</a> ');
}else{
actions.push('<a class="{$right_button.class|default=''}" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.{$unique_id} + '\')"><i class="{$right_button.icon|default=''}"></i> {$right_button.title|default=''}</a> ');
}
} else if ('{$right_button.type|default=''}' == 'delete'){
if('{$right_button.href|default=''}'){
var url = '{$right_button.href|default=''}';
var reg = /__(.*?)__/g;
// 匹配ID和email,可能为任何的其他参数,但都是 __字段__ 格式
while (result = reg.exec(url)) {
url = url.replace(result[0], row[result[1]]);
}
actions.push('<a class="{$right_button.class|default=''}" target="{$right_button.target|default=''}" href="'+url+'"><i class="{$right_button.icon|default=''}"></i> {$right_button.title|default=''}</a> ');
}else{
actions.push('<a class="{$right_button.class|default=''}" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.{$unique_id} + '\')"><i class="{$right_button.icon|default=''}"></i> {$right_button.title|default=''}</a> ');
}
} else {
var url = '{$right_button.href|default=''}';
var reg = /__(.*?)__/g;
// 匹配ID和email,可能为任何的其他参数,但都是 __字段__ 格式
while (result = reg.exec(url)) {
url = url.replace(result[0], row[result[1]]);
}
actions.push('<a class="{$right_button.class|default=''}" target="{$right_button.target|default=''}" href="'+url+'"><i class="{$right_button.icon|default=''}"></i> {$right_button.title|default=''}</a> ');
}
{/volist}
return actions.join('');
}
{/case}
{default /}
{/switch}
{/if}
{/if}
},
{/volist}
]
};
$.table.init(options);
});
// 搜索
function searchPre() {
var data = {};
$.table.search('', data);
}
// 重置搜索
function resetPre() {
$.form.reset();
}
//HTML反转义
function HTMLDecode(text) {
var temp = document.createElement("div");
temp.innerHTML = text;
var output = temp.innerText || temp.textContent;
temp = null;
return output;
}
</script>
<!--bootstrap table end-->
<!--底部提示-->
{notempty name="page_tips_bottom"}
<div class="alert alert-{$tips_type} alert-dismissable">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<p>{$page_tips_bottom|raw}</p>
</div>
{/notempty}
{// 额外HTML代码 }
{$extra_html_content_bottom|raw|default=''}
{// 额外JS代码 }
{$extra_js|raw|default=''}
</section>
<!--内容结束-->