创建版本

This commit is contained in:
2021-02-22 12:17:00 +08:00
commit af555f49c3
2332 changed files with 369202 additions and 0 deletions
@@ -0,0 +1,77 @@
<div class="form-panel">
<div class="form-panel-header">
<div class="pull-right">
</div>
{{$form['btn']}}
</div>
<div class="form-panel-body panel-form-{{$form['action']}}">
<form class="form-horizontal form-controller" method="post" id="{{$form['table']}}" name="{{$form['table']}}">
{{$form['tpl']}}
</form>
</div>
</div>
<script>
var form_action = '{{$form["action"]}}';
(function ($) {
$("#customer_task_data_tool").append('<a class="btn btn-sm btn-default" href="javascript:importExcel();">导入</a>');
// 发货记录
function importExcel() {
var url = app.url('customer/task/importExcel');
formDialog({
title: '导入数据',
url: url,
id: 'import_excel',
dialogClass:'modal-md',
onSubmit: function() {
var me = this;
var form = $('#import_excel');
var file = document.querySelector("#import_file").files[0];
var formData = new FormData();
formData.append('file', file);
var loading = layer.msg('数据提交中...', {
icon: 16, shade: 0.1, time: 1000 * 120
});
$.ajax(url, {
method: "post",
data: formData,
processData: false,
contentType: false,
complete: function() {
layer.close(loading);
},
success: function (res) {
if (res.status) {
grid.api.setRowData([]);
for (var i = 0; i < res.data.length; i++) {
var row = res.data[i];
grid.api.memoryStore.create(row);
}
grid.generatePinnedBottomData();
$(me).dialog('close');
toastrSuccess('导入数据成功。');
} else {
toastrError(res.data);
}
},
error: function (res) {
toastrError(res.data);
}
});
}
});
}
window.importExcel = importExcel;
// grid初始化事件
gdoo.event.set('grid.customer_task_data', {
ready(me) {
grid = me;
grid.dataKey = 'customer_id';
}
});
})(jQuery);
</script>
@@ -0,0 +1,60 @@
{{$header["js"]}}
<div class="panel no-border" id="{{$header['master_table']}}-controller">
@include('headers')
<div class='list-jqgrid'>
<div id="{{$header['master_table']}}-grid" style="width:100%;" class="ag-theme-balham"></div>
</div>
</div>
<script>
(function ($) {
var table = '{{$header["master_table"]}}';
var config = gdoo.grids[table];
var action = config.action;
var search = config.search;
action.dialogType = 'layer';
// 自定义搜索方法
search.searchInit = function (e) {
var self = this;
}
var options = new agGridOptions();
var gridDiv = document.querySelector("#{{$header['master_table']}}-grid");
gridDiv.style.height = getPanelHeight(48);
options.remoteDataUrl = '{{url()}}';
options.autoColumnsToFit = false;
options.remoteParams = search.advanced.query;
options.columnDefs = config.cols;
options.onRowDoubleClicked = function (params) {
if (params.node.rowPinned) {
return;
}
if (params.data == undefined) {
return;
}
if (params.data.master_id > 0) {
action.show(params.data);
}
};
new agGrid.Grid(gridDiv, options);
// 读取数据
options.remoteData({page: 1});
// 绑定自定义事件
var $gridDiv = $(gridDiv);
$gridDiv.on('click', '[data-toggle="event"]', function () {
var data = $(this).data();
if (data.master_id > 0) {
action[data.action](data);
}
});
config.grid = options;
})(jQuery);
</script>
@include('footers')
@@ -0,0 +1,132 @@
<div class="panel b-a" id="{{$header['master_table']}}-controller">
@include('headers')
<div class='list-jqgrid'>
<div id="{{$header['master_table']}}-grid" style="width:100%;" class="ag-theme-balham"></div>
</div>
</div>
<script>
(function ($) {
var table = '{{$header["master_table"]}}';
var search = JSON.parse('{{json_encode($header["search_form"])}}');
var columns = [];
var params = search.query;
var grid = new agGridOptions();
grid.remoteDataUrl = '{{url()}}';
grid.remoteParams = params;
grid.defaultColDef.suppressMenu = true;
grid.defaultColDef.sortable = true;
grid.defaultColDef.filter = false;
grid.autoColumnsToFit = false;
grid.singleClickEdit = true;
grid.rowSelection = 'single';
grid.suppressCellSelection = false;
grid.defaultColDef.cellStyle = function(params) {
if (params.node.rowPinned) {
return;
}
var style = {};
var field = params.colDef.field;
if (params.data.status == '0' && (field == "customer_code" || field == "customer_name")) {
style = {'color':'red'};
}
return style;
};
grid.columnDefs = [
{cellClass:'text-center', field: 'sn', type: 'sn', headerName: '序号', width: 50},
{cellClass:'text-center', field: 'region_name', headerName: '区域', width: 100},
{cellClass:'text-center', field: 'customer_code', headerName: '客户编码', width: 80},
{cellClass:'text-left', field: 'customer_name', headerName: '客户名称', width: 180},
{cellClass:'text-right', field: 'total_count', headerName: '总订单数', width: 80, type:'number', numberOptions: {places:0}, calcFooter: 'sum'},
{cellClass:'text-right', field: 'total_task', headerName: '总任务', width: 80, type:'number', numberOptions: {places:2}, calcFooter: 'sum'},
{cellClass:'text-right', field: 'total_money', headerName: '累计销售', width: 80, type:'number', numberOptions: {places:4}, calcFooter: 'sum'},
{cellClass:'text-right', field: 'total_rate', headerName: '总进度', width: 80, type:'number', numberOptions: {places:2}, calcFooter: 'sum'},
];
for(var i=1; i <= 12;i++) {
grid.columnDefs.push({
cellClass:'text-center', headerName: i + '月',
children: [
{cellClass:'text-right', headerName:'任务', width: 60, field:'month' + i, type:'number', numberOptions:{places:2, default:'0'}, calcFooter:'sum'},
{cellClass:'text-right', headerName:'销售', width: 80, field:'month_'+i+'_money', type:'number', numberOptions:{places:4, default:'0'}, calcFooter:'sum'},
{cellClass:'text-right', headerName:'进度', width: 60, field:'month_'+i+'_rate', type:'number', numberOptions:{places:2, default:'0'}}
]
});
}
for(var i=1; i <= 4;i++) {
var dx = {
1: '一',
2: '二',
3: '三',
4: '四',
};
grid.columnDefs.push({
cellClass:'text-center', headerName: dx[i] + '季度',
children: [
{cellClass:'text-right', headerName:'任务', width: 60, field:'quarter_' + i, type:'number', numberOptions:{places:2, default:'0'}, calcFooter:'sum'},
{cellClass:'text-right', headerName:'销售', width: 80, field:'quarter_'+i+'_money', type:'number', numberOptions:{places:4, default:'0'}, calcFooter:'sum'},
{cellClass:'text-right', headerName:'进度', width: 60, field:'quarter_'+i+'_rate', type:'number', numberOptions:{places:2, default:'0'}}
]
});
}
var gridDiv = document.querySelector("#{{$header['master_table']}}-grid");
new agGrid.Grid(gridDiv, grid);
gridDiv.style.height = getPanelHeight(12);
// 读取数据
grid.remoteData();
var search_advanced = $('#' + table + '-search-form-advanced').searchForm({
data: search.forms,
advanced: true,
});
gdoo.grids[table] = {grid: grid};
var action = new gridAction(table, '客户销售进度');
var panel = $('#' + table + '-controller');
panel.on('click', '[data-toggle="' + table + '"]', function() {
var data = $(this).data();
if (data.action == 'filter') {
// 过滤数据
$('#' + table + '-search-form-advanced').dialog({
title: '条件筛选',
modalClass: 'no-padder',
buttons: [{
text: "取消",
'class': "btn-default",
click: function() {
$(this).dialog("close");
}
},{
text: "确定",
'class': "btn-info",
click: function() {
var query = search_advanced.serializeArray();
params = {};
$.map(query, function(row) {
params[row.name] = row.value;
});
grid.remoteData(params);
$(this).dialog("close");
return false;
}
}]
});
}
if (data.action == 'export') {
action.export(data, '客户销售进度');
}
});
})(jQuery);
</script>