继续重构模块列表前端样式

This commit is contained in:
2021-03-17 03:15:10 +08:00
parent 181fa17fdd
commit cd3a44340e
192 changed files with 3321 additions and 4596 deletions
@@ -36,6 +36,17 @@ class MaterialController extends DefaultController
'display' => $this->access['edit'],
]];
$header['buttons'] = [
['name' => '删除', 'icon' => 'fa-remove', 'action' => 'delete', 'display' => $this->access['delete']],
['name' => '导出', 'icon' => 'fa-share', 'action' => 'export', 'display' => 1],
];
$header['left_buttons'] = [
['name' => '配料', 'color' => 'default', 'icon' => 'fa-file-text-o', 'action' => 'config', 'display' => 1],
];
$header['cols'] = $cols;
$header['tabs'] = Material::$tabs;
$search = $header['search_form'];
$query = $search['query'];
@@ -57,20 +68,6 @@ class MaterialController extends DefaultController
return Grid::dataFilters($rows, $header);
}
$header['buttons'] = [
['name' => '删除', 'icon' => 'fa-remove', 'action' => 'delete', 'display' => $this->access['delete']],
['name' => '导出', 'icon' => 'fa-share', 'action' => 'export', 'display' => 1],
];
$header['left_buttons'] = [
['name' => '配料', 'color' => 'default', 'icon' => 'fa-file-text-o', 'action' => 'config', 'display' => 1],
];
$header['cols'] = $cols;
$header['tabs'] = Material::$tabs;
$header['bys'] = Material::$bys;
$header['js'] = Grid::js($header);
return $this->display([
'header' => $header,
]);
@@ -36,6 +36,14 @@ class PlanController extends WorkflowController
'display' => $this->access['edit'],
]];
$header['buttons'] = [
['name' => '导出', 'icon' => 'fa-share', 'action' => 'export', 'display' => 1],
];
$header['cols'] = $cols;
$header['tabs'] = Plan::$tabs;
$header['bys'] = Plan::$bys;
$search = $header['search_form'];
$query = $search['query'];
@@ -57,15 +65,6 @@ class PlanController extends WorkflowController
return Grid::dataFilters($rows, $header);
}
$header['buttons'] = [
['name' => '导出', 'icon' => 'fa-share', 'action' => 'export', 'display' => 1],
];
$header['cols'] = $cols;
$header['tabs'] = Plan::$tabs;
$header['bys'] = Plan::$bys;
$header['js'] = Grid::js($header);
return $this->display([
'header' => $header,
]);
+1 -12
View File
@@ -7,20 +7,9 @@ class Material extends BaseModel
protected $table = 'product_material';
public static $tabs = [
'name' => 'tab',
'name' => 'tab',
'items' => [
['value' => 'material.index', 'url' => 'produce/material/index', 'name' => '原辅料档案'],
]
];
public static $bys = [
'name' => 'by',
'items' => [
['value' => '', 'name' => '全部'],
['value' => 'divider'],
['value' => 'day', 'name' => '今日创建'],
['value' => 'week', 'name' => '本周创建'],
['value' => 'month', 'name' => '本月创建'],
]
];
}
+37 -55
View File
@@ -1,17 +1,33 @@
{{$header["js"]}}
<div class="panel no-border" id="{{$header['table']}}-controller">
@include('headers')
<div class='list-jqgrid'>
<div id="{{$header['table']}}-grid" style="width:100%;" class="ag-theme-balham"></div>
<div class="gdoo-list-page" id="{{$header['master_table']}}-page">
<div class="gdoo-list panel">
<div class="gdoo-list-header">
<gdoo-grid-header :header="header" :grid="grid" :action="action" />
</div>
<div class='gdoo-list-grid'>
<div id="{{$header['master_table']}}-grid" class="ag-theme-balham"></div>
</div>
</div>
</div>
<script>
(function ($) {
var table = '{{$header["table"]}}';
var config = gdoo.grids[table];
Vue.createApp({
components: {
gdooGridHeader,
},
setup(props, ctx) {
var table = '{{$header["master_table"]}}';
var config = new gdoo.grid(table);
var grid = config.grid;
grid.remoteDataUrl = '{{url()}}';
grid.autoColumnsToFit = true;
var action = config.action;
var search = config.search;
// 详情页打开方式
action.dialogType = 'layer';
// 双击行执行的方法
action.rowDoubleClick = action.show;
action.config = function() {
var me = this;
@@ -26,15 +42,6 @@
skin: 'layui-layer-gdoo',
scrollbar: false,
closeBtn: false,
/*
success: function(layer) {
console.log(layer);
var w = $(window).width();
if (w < 767) {
layer.width('auto');
}
},
*/
type: 2,
content: url,
});
@@ -43,41 +50,16 @@
}
}
var options = new agGridOptions();
var gridDiv = document.querySelector("#{{$header['table']}}-grid");
gridDiv.style.height = getPanelHeight(48);
var setup = config.setup;
options.remoteDataUrl = '{{url()}}';
options.remoteParams = search.advanced.query;
options.columnDefs = config.cols;
options.rowSelection = 'single';
options.onRowDoubleClicked = function (params) {
if (params.node.rowPinned) {
return;
}
if (params.data == undefined) {
return;
}
if (params.data.master_id > 0) {
action.edit(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);
}
Vue.onMounted(function() {
var gridDiv = config.div(136);
// 初始化数据
grid.remoteData({page: 1}, function(res) {
config.init(res);
});
});
config.grid = options;
})(jQuery);
</script>
@include('footers')
return setup;
}
}).mount("#{{$header['master_table']}}-page");
</script>
@@ -8,7 +8,7 @@
<span id="plan_info"></span>
</div>
<div class='list-jqgrid'>
<div class='gdoo-list-grid'>
<div id="material_plan-grid" style="width:100%;" class="ag-theme-balham"></div>
</div>
</div>
+2 -6
View File
@@ -25,8 +25,8 @@ var master_id = '{{$form["row"]["id"]}}';
// grid初始化事件
gdoo.event.set('grid.produce_plan_data', {
init() {
grid = this;
ready(me) {
grid = me;
grid.enableCellTextSelection = false;
grid.enableRangeSelection = true;
grid.suppressContextMenu = false;
@@ -38,7 +38,6 @@ gdoo.event.set('grid.produce_plan_data', {
var field = params.colDef.field;
var value = params.value || 0;
var style = {};
// 'font-weight':'bold',
if (field == "xqzc_num" && value > 0) {
style = {'color':'red'};
}
@@ -56,9 +55,6 @@ gdoo.event.set('grid.produce_plan_data', {
}
return style;
};
},
ready(me) {
grid = me;
grid.dataKey = 'product_id';
},
onSaveAfter(res) {
+34 -47
View File
@@ -1,56 +1,43 @@
{{$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 class="gdoo-list-page" id="{{$header['master_table']}}-page">
<div class="gdoo-list panel">
<div class="gdoo-list-header">
<gdoo-grid-header :header="header" :grid="grid" :action="action" />
</div>
<div class='gdoo-list-grid'>
<div id="{{$header['master_table']}}-grid" class="ag-theme-balham"></div>
</div>
</div>
</div>
<script>
(function ($) {
Vue.createApp({
components: {
gdooGridHeader,
},
setup(props, ctx) {
var table = '{{$header["master_table"]}}';
var config = gdoo.grids[table];
var config = new gdoo.grid(table);
var grid = config.grid;
grid.autoColumnsToFit = true;
grid.remoteDataUrl = '{{url()}}';
var action = config.action;
var search = config.search;
action.dialogType = 'layer';
var options = new agGridOptions();
var gridDiv = document.querySelector("#{{$header['master_table']}}-grid");
gridDiv.style.height = getPanelHeight(48);
// 双击行执行的方法
action.rowDoubleClick = action.edit;
options.remoteDataUrl = '{{url()}}';
options.remoteParams = search.advanced.query;
options.columnDefs = config.cols;
options.rowSelection = 'single';
options.autoColumnsToFit = false;
options.onRowDoubleClicked = function (params) {
if (params.node.rowPinned) {
return;
}
if (params.data == undefined) {
return;
}
if (params.data.master_id > 0) {
action.show(params.data);
}
};
var setup = config.setup;
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);
}
Vue.onMounted(function() {
var gridDiv = config.div(136);
// 初始化数据
grid.remoteData({page: 1}, function(res) {
config.init(res);
});
});
config.grid = options;
})(jQuery);
</script>
@include('footers')
return setup;
}
}).mount("#{{$header['master_table']}}-page");
</script>
@@ -6,7 +6,7 @@
<a class="btn btn-sm btn-default" data-toggle="material_plan" data-action="export"><i class="fa fa-share"></i> 导出</a>
</div>
<div class='list-jqgrid'>
<div class='gdoo-list-grid'>
<div id="material_plan-grid" style="width:100%;" class="ag-theme-balham"></div>
</div>
</div>