ЦИТК-784 - Добавление панели "Производственная программа" #1
@ -74,6 +74,9 @@ const headCellRender = ({ columnDef }) => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
//Генерация представления ячейки заголовка группы
|
||||||
|
export const groupCellRender = () => ({ cellStyle: { padding: "2px" } });
|
||||||
|
|
||||||
//-----------
|
//-----------
|
||||||
//Тело модуля
|
//Тело модуля
|
||||||
//-----------
|
//-----------
|
||||||
@ -86,6 +89,7 @@ const DataGrid = ({ title }) => {
|
|||||||
columnsDef: [],
|
columnsDef: [],
|
||||||
filters: null,
|
filters: null,
|
||||||
orders: null,
|
orders: null,
|
||||||
|
groups: [],
|
||||||
rows: [],
|
rows: [],
|
||||||
reload: true,
|
reload: true,
|
||||||
pageNumber: 1,
|
pageNumber: 1,
|
||||||
@ -113,6 +117,10 @@ const DataGrid = ({ title }) => {
|
|||||||
...pv,
|
...pv,
|
||||||
columnsDef: data.XCOLUMNS_DEF ? [...data.XCOLUMNS_DEF] : pv.columnsDef,
|
columnsDef: data.XCOLUMNS_DEF ? [...data.XCOLUMNS_DEF] : pv.columnsDef,
|
||||||
rows: pv.pageNumber == 1 ? [...(data.XROWS || [])] : [...pv.rows, ...(data.XROWS || [])],
|
rows: pv.pageNumber == 1 ? [...(data.XROWS || [])] : [...pv.rows, ...(data.XROWS || [])],
|
||||||
|
groups:
|
||||||
|
pv.pageNumber == 1
|
||||||
|
? [...(data.XGROUPS || [])]
|
||||||
|
: [...pv.groups, ...(data.XGROUPS.filter(g => !pv.groups.find(pg => pg.name == g.name)) || [])],
|
||||||
dataLoaded: true,
|
dataLoaded: true,
|
||||||
reload: false,
|
reload: false,
|
||||||
morePages: (data.XROWS || []).length >= DATA_GRID_PAGE_SIZE
|
morePages: (data.XROWS || []).length >= DATA_GRID_PAGE_SIZE
|
||||||
@ -147,6 +155,7 @@ const DataGrid = ({ title }) => {
|
|||||||
<P8PDataGrid
|
<P8PDataGrid
|
||||||
{...P8P_DATA_GRID_CONFIG_PROPS}
|
{...P8P_DATA_GRID_CONFIG_PROPS}
|
||||||
columnsDef={dataGrid.columnsDef}
|
columnsDef={dataGrid.columnsDef}
|
||||||
|
groups={dataGrid.groups}
|
||||||
rows={dataGrid.rows}
|
rows={dataGrid.rows}
|
||||||
size={P8P_DATA_GRID_SIZE.LARGE}
|
size={P8P_DATA_GRID_SIZE.LARGE}
|
||||||
filtersInitial={dataGrid.filters}
|
filtersInitial={dataGrid.filters}
|
||||||
@ -155,6 +164,7 @@ const DataGrid = ({ title }) => {
|
|||||||
valueFormatter={valueFormatter}
|
valueFormatter={valueFormatter}
|
||||||
headCellRender={headCellRender}
|
headCellRender={headCellRender}
|
||||||
dataCellRender={dataCellRender}
|
dataCellRender={dataCellRender}
|
||||||
|
groupCellRender={groupCellRender}
|
||||||
onOrderChanged={handleOrderChanged}
|
onOrderChanged={handleOrderChanged}
|
||||||
onFilterChanged={handleFilterChanged}
|
onFilterChanged={handleFilterChanged}
|
||||||
onPagesCountChanged={handlePagesCountChanged}
|
onPagesCountChanged={handlePagesCountChanged}
|
||||||
|
@ -237,6 +237,10 @@ create or replace package body PKG_P8PANELS_SAMPLES as
|
|||||||
NROW_TO PKG_STD.TREF; -- Номер строки по
|
NROW_TO PKG_STD.TREF; -- Номер строки по
|
||||||
CSQL clob; -- Буфер для запроса
|
CSQL clob; -- Буфер для запроса
|
||||||
ICURSOR integer; -- Курсор для исполнения запроса
|
ICURSOR integer; -- Курсор для исполнения запроса
|
||||||
|
SGROUP PKG_STD.TSTRING; -- Буфер для группы
|
||||||
|
SAGNINFO PKG_STD.TSTRING; -- Буфер для "Сведений"
|
||||||
|
SAGNNAME PKG_STD.TSTRING; -- Буфер для "Наименования"
|
||||||
|
NAGNTYPE PKG_STD.TREF; -- Буфер для "Типа"
|
||||||
begin
|
begin
|
||||||
/* Читаем фильтры */
|
/* Читаем фильтры */
|
||||||
RF := PKG_P8PANELS_VISUAL.TFILTERS_FROM_XML(CFILTERS => CFILTERS);
|
RF := PKG_P8PANELS_VISUAL.TFILTERS_FROM_XML(CFILTERS => CFILTERS);
|
||||||
@ -258,6 +262,14 @@ create or replace package body PKG_P8PANELS_SAMPLES as
|
|||||||
BVISIBLE => true,
|
BVISIBLE => true,
|
||||||
BORDER => true,
|
BORDER => true,
|
||||||
BFILTER => true);
|
BFILTER => true);
|
||||||
|
PKG_P8PANELS_VISUAL.TDATA_GRID_ADD_COL_DEF(RDATA_GRID => RDG,
|
||||||
|
SNAME => 'SAGNINFO',
|
||||||
|
SCAPTION => 'Сведения',
|
||||||
|
SDATA_TYPE => PKG_P8PANELS_VISUAL.SDATA_TYPE_STR,
|
||||||
|
BVISIBLE => true,
|
||||||
|
BORDER => false,
|
||||||
|
BFILTER => false,
|
||||||
|
BEXPANDABLE => true);
|
||||||
PKG_P8PANELS_VISUAL.TDATA_GRID_ADD_COL_DEF(RDATA_GRID => RDG,
|
PKG_P8PANELS_VISUAL.TDATA_GRID_ADD_COL_DEF(RDATA_GRID => RDG,
|
||||||
SNAME => 'SAGNNAME',
|
SNAME => 'SAGNNAME',
|
||||||
SCAPTION => 'Наименование',
|
SCAPTION => 'Наименование',
|
||||||
@ -265,7 +277,8 @@ create or replace package body PKG_P8PANELS_SAMPLES as
|
|||||||
SCOND_FROM => 'AgentName',
|
SCOND_FROM => 'AgentName',
|
||||||
BVISIBLE => true,
|
BVISIBLE => true,
|
||||||
BORDER => true,
|
BORDER => true,
|
||||||
BFILTER => true);
|
BFILTER => true,
|
||||||
|
SPARENT => 'SAGNINFO');
|
||||||
PKG_P8PANELS_VISUAL.TCOL_VALS_ADD(RCOL_VALS => RAGN_TYPES, NVALUE => 0);
|
PKG_P8PANELS_VISUAL.TCOL_VALS_ADD(RCOL_VALS => RAGN_TYPES, NVALUE => 0);
|
||||||
PKG_P8PANELS_VISUAL.TCOL_VALS_ADD(RCOL_VALS => RAGN_TYPES, NVALUE => 1);
|
PKG_P8PANELS_VISUAL.TCOL_VALS_ADD(RCOL_VALS => RAGN_TYPES, NVALUE => 1);
|
||||||
PKG_P8PANELS_VISUAL.TDATA_GRID_ADD_COL_DEF(RDATA_GRID => RDG,
|
PKG_P8PANELS_VISUAL.TDATA_GRID_ADD_COL_DEF(RDATA_GRID => RDG,
|
||||||
@ -276,6 +289,7 @@ create or replace package body PKG_P8PANELS_SAMPLES as
|
|||||||
BVISIBLE => true,
|
BVISIBLE => true,
|
||||||
BORDER => true,
|
BORDER => true,
|
||||||
BFILTER => true,
|
BFILTER => true,
|
||||||
|
SPARENT => 'SAGNINFO',
|
||||||
RCOL_VALS => RAGN_TYPES,
|
RCOL_VALS => RAGN_TYPES,
|
||||||
SHINT => 'В Системе бывают контрагенты двух типов:<br>' ||
|
SHINT => 'В Системе бывают контрагенты двух типов:<br>' ||
|
||||||
'<b style="color:blue">Юридическое лицо</b> - организация, которая имеет в собственности, хозяйственном ведении ' ||
|
'<b style="color:blue">Юридическое лицо</b> - организация, которая имеет в собственности, хозяйственном ведении ' ||
|
||||||
@ -325,9 +339,30 @@ create or replace package body PKG_P8PANELS_SAMPLES as
|
|||||||
while (PKG_SQL_DML.FETCH_ROWS(ICURSOR => ICURSOR) > 0)
|
while (PKG_SQL_DML.FETCH_ROWS(ICURSOR => ICURSOR) > 0)
|
||||||
loop
|
loop
|
||||||
/* Добавляем колонки с данными */
|
/* Добавляем колонки с данными */
|
||||||
PKG_P8PANELS_VISUAL.TROW_ADD_CUR_COLS(RROW => RDG_ROW, SNAME => 'SAGNABBR', ICURSOR => ICURSOR, NPOSITION => 1, BCLEAR => true);
|
PKG_SQL_DML.COLUMN_VALUE_STR(ICURSOR => ICURSOR, IPOSITION => 2, SVALUE => SAGNNAME);
|
||||||
PKG_P8PANELS_VISUAL.TROW_ADD_CUR_COLS(RROW => RDG_ROW, SNAME => 'SAGNNAME', ICURSOR => ICURSOR, NPOSITION => 2);
|
PKG_SQL_DML.COLUMN_VALUE_NUM(ICURSOR => ICURSOR, IPOSITION => 3, NVALUE => NAGNTYPE);
|
||||||
PKG_P8PANELS_VISUAL.TROW_ADD_CUR_COLN(RROW => RDG_ROW, SNAME => 'NAGNTYPE', ICURSOR => ICURSOR, NPOSITION => 3);
|
if (NAGNTYPE = 0) then
|
||||||
|
SGROUP := 'JUR';
|
||||||
|
SAGNINFO := SAGNNAME || ', ЮЛ';
|
||||||
|
PKG_P8PANELS_VISUAL.TDATA_GRID_ADD_GROUP(RDATA_GRID => RDG,
|
||||||
|
SNAME => SGROUP,
|
||||||
|
SCAPTION => 'Юридические лица',
|
||||||
|
BEXPANDABLE => true,
|
||||||
|
BEXPANDED => false);
|
||||||
|
else
|
||||||
|
SGROUP := 'PERS';
|
||||||
|
SAGNINFO := SAGNNAME || ', ФЛ';
|
||||||
|
PKG_P8PANELS_VISUAL.TDATA_GRID_ADD_GROUP(RDATA_GRID => RDG,
|
||||||
|
SNAME => SGROUP,
|
||||||
|
SCAPTION => 'Физические лица',
|
||||||
|
BEXPANDABLE => true,
|
||||||
|
BEXPANDED => false);
|
||||||
|
end if;
|
||||||
|
RDG_ROW := PKG_P8PANELS_VISUAL.TROW_MAKE(SGROUP => SGROUP);
|
||||||
|
PKG_P8PANELS_VISUAL.TROW_ADD_CUR_COLS(RROW => RDG_ROW, SNAME => 'SAGNABBR', ICURSOR => ICURSOR, NPOSITION => 1);
|
||||||
|
PKG_P8PANELS_VISUAL.TROW_ADD_COL(RROW => RDG_ROW, SNAME => 'SAGNINFO', SVALUE => SAGNINFO);
|
||||||
|
PKG_P8PANELS_VISUAL.TROW_ADD_COL(RROW => RDG_ROW, SNAME => 'SAGNNAME', SVALUE => SAGNNAME);
|
||||||
|
PKG_P8PANELS_VISUAL.TROW_ADD_COL(RROW => RDG_ROW, SNAME => 'NAGNTYPE', NVALUE => NAGNTYPE);
|
||||||
/* Добавляем строку в таблицу */
|
/* Добавляем строку в таблицу */
|
||||||
PKG_P8PANELS_VISUAL.TDATA_GRID_ADD_ROW(RDATA_GRID => RDG, RROW => RDG_ROW);
|
PKG_P8PANELS_VISUAL.TDATA_GRID_ADD_ROW(RDATA_GRID => RDG, RROW => RDG_ROW);
|
||||||
end loop;
|
end loop;
|
||||||
|
4
dist/p8-panels.js
vendored
4
dist/p8-panels.js
vendored
File diff suppressed because one or more lines are too long
Loading…
x
Reference in New Issue
Block a user