allocatr/public/assets/js/backend/salary/custom_detail.js
2025-06-20 15:59:50 +08:00

149 lines
5.6 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
var Controller = {
index: function () {
// 初始化表格参数配置
Table.api.init({
extend: {
index_url: 'salary/custom_detail/index' + location.search,
add_url: 'salary/custom_detail/add',
// del_url: 'oa/schedule/del',
// multi_url: 'oa/schedule/multi',
// import_url: 'oa/schedule/import',
table: 'salary',
}
});
var table = $("#table");
var defaultColumnArr = [];
defaultColumnArr.push({
"title":"用户名",
"field":"name",
},{
"title":"用户id",
"field":"target_admin_id",
"visible":false
});
// 获取后端传入的字段定义JSON 字符串)
var columnJson = $('#salaryitem').val();
var rawColumns = JSON.parse(columnJson);
rawColumns.forEach(function (item) {
// 可以加入格式化、样式控制等逻辑
defaultColumnArr.push({
field: item.id,
title: item.name,
});
});
defaultColumnArr.push({
field: 'operate',
title: __('Operate'),
table: table,
buttons: [
{
name: 'myedit',
text: '编辑',
title: '编辑',
classname: 'btn btn-xs btn-success btn-dialog',
icon: 'fa fa-edit',
url: function (row) {
// 注意这里拼接 admin_id 和 month
return 'salary/custom_detail/edit?target_admin_id=' + row.target_admin_id + '&month=' + row.month;
},
extend: 'data-area=\'["800px", "600px"]\'',
visible:function(row){
if (!Config.edit) {
return false;
}
return true;
}
},
{
name: 'copy',
text: '复制',
title: '复制',
classname: 'btn btn-xs btn-warning btn-dialog',
icon: 'fa fa-copy',
url: function (row) {
// 注意这里拼接 admin_id 和 month
return 'salary/custom_detail/copy?target_admin_id=' + row.target_admin_id + '&month=' + row.month;
},
extend: 'data-area=\'["800px", "600px"]\'',
visible:function(row){
if (!Config.copy) {
return false;
}
return true;
}
},
{
name: 'settle',
text: '结算',
title: '结算',
extend: 'data-toggle="tooltip" data-container="body"',
classname: 'btn btn-xs btn-success btn-magic btn-ajax',
icon: 'fa fa-cny',
url: function (row) {
// 注意这里拼接 admin_id 和 month
return 'salary/custom_detail/settle?target_admin_id=' + row.target_admin_id + '&month=' + row.month;
},
confirm: '确认结算?',
refresh: true,
success: function (data, ret) {
$("#table").bootstrapTable('refresh');
return false;
},
error: function (data, ret) {
Layer.alert(ret.msg);
return false;
},
visible: function (row) {
if (!Config.settle) {
return false;
}
//返回true时按钮显示,返回false隐藏
if (row.settle_status != 1) {
return true;
}
return false;
}
},
],
events: Table.api.events.operate,
formatter: Table.api.formatter.operate
});
// 初始化表格
table.bootstrapTable({
url: $.fn.bootstrapTable.defaults.extend.index_url,
columns: defaultColumnArr,
searchFormVisible: true,
searchFormTemplate: 'customformtpl',
});
// 为表格绑定事件
Table.api.bindevent(table);
},
add: function () {
Controller.api.bindevent();
},
edit: function () {
Controller.api.bindevent();
},
copy: function () {
Controller.api.bindevent();
},
api: {
bindevent: function () {
Form.api.bindevent($("form[role=form]"));
}
}
};
return Controller;
});