gdoo/app/Gdoo/Customer/views/task/progress.blade.php

131 lines
5.4 KiB
PHP

<div class="panel b-a" id="{{$header['master_table']}}-controller">
@include('headers')
<div class='gdoo-list-grid'>
<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>