Добавление параметра "Технический объект"
This commit is contained in:
parent
e953ec7b76
commit
e6d4296b9d
14
p8-panels.js
14
p8-panels.js
File diff suppressed because one or more lines are too long
@ -88,6 +88,7 @@ const Filter = ({ filter, onFilterOpen }) => {
|
||||
) : null}
|
||||
{filter.sWorkType ? <FilterItem caption={"Типовая работа"} value={filter.sWorkType} onClick={handleClick} /> : null}
|
||||
{filter.sWorkKind ? <FilterItem caption={"Вид типовых работ"} value={filter.sWorkKind} onClick={handleClick} /> : null}
|
||||
{filter.sEqconfig ? <FilterItem caption={"Технический объект"} value={filter.sEqconfig} onClick={handleClick} /> : null}
|
||||
</Stack>
|
||||
</Stack>
|
||||
</Box>
|
||||
|
||||
@ -48,7 +48,7 @@ const FilterDialog = ({ initial, isFiltersInit, onCancel, onOk }) => {
|
||||
const [filter, setFilter] = useState({ ...initial });
|
||||
|
||||
//Вспомогательные функции открытия раздела
|
||||
const { handleInsDepartmentOpen, handleEquipTypeWorksOpen, handleEquipWorkKindsOpen } = useDictionary();
|
||||
const { handleInsDepartmentOpen, handleEquipTypeWorksOpen, handleEquipWorkKindsOpen, handleEquipConfigurationOpen } = useDictionary();
|
||||
|
||||
//Вспомогательные функции
|
||||
const { handleInsDepartmentNameGet } = useProcedures();
|
||||
@ -85,6 +85,16 @@ const FilterDialog = ({ initial, isFiltersInit, onCancel, onOk }) => {
|
||||
}
|
||||
});
|
||||
|
||||
//При изменении технического объекта
|
||||
const handleEqconfigSelect = () =>
|
||||
handleEquipConfigurationOpen({
|
||||
sCode: filter.sEqconfig,
|
||||
callBack: res => {
|
||||
console.log(res.outParameters);
|
||||
setFilter(pv => ({ ...pv, sEqconfig: res.outParameters.out_CODE }));
|
||||
}
|
||||
});
|
||||
|
||||
//При очистке фильтра
|
||||
const handleClear = () => {
|
||||
setFilter({ dDateBegin: "", dDateEnd: "", sCustomerDept: "", sCustomerDeptName: "", sWorkType: "", sWorkKind: "" });
|
||||
@ -192,6 +202,23 @@ const FilterDialog = ({ initial, isFiltersInit, onCancel, onOk }) => {
|
||||
}}
|
||||
fullWidth
|
||||
/>
|
||||
<TextField
|
||||
name="sEqconfig"
|
||||
value={filter.sEqconfig}
|
||||
onChange={handleValueChanged}
|
||||
label="Технический объект"
|
||||
variant="standard"
|
||||
InputProps={{
|
||||
endAdornment: (
|
||||
<InputAdornment position="end">
|
||||
<IconButton aria-label={`sEqconfig select`} onClick={handleEqconfigSelect} edge="end">
|
||||
<Icon>list</Icon>
|
||||
</IconButton>
|
||||
</InputAdornment>
|
||||
)
|
||||
}}
|
||||
fullWidth
|
||||
/>
|
||||
</Box>
|
||||
</DialogContent>
|
||||
<DialogActions sx={STYLES.DIALOG_ACTIONS}>
|
||||
|
||||
@ -82,12 +82,44 @@ const useDictionary = () => {
|
||||
[pOnlineShowUnit]
|
||||
);
|
||||
|
||||
//Отображение раздела "Состав оборудования"
|
||||
const handleEquipConfigurationOpen = useCallback(
|
||||
async prms => {
|
||||
pOnlineShowDictionary({
|
||||
unitCode: "EquipConfiguration",
|
||||
inputParameters: [{ name: "in_CODE", value: prms.sCode ? prms.sCode.toString() : null }],
|
||||
callBack: res => {
|
||||
res.success ? prms.callBack(res) : null;
|
||||
}
|
||||
});
|
||||
},
|
||||
[pOnlineShowDictionary]
|
||||
);
|
||||
|
||||
//Отображение раздела "Присоединенные документы"
|
||||
const handleFileLinksOpen = useCallback(
|
||||
async prms => {
|
||||
pOnlineShowUnit({
|
||||
unitCode: "FileLinks",
|
||||
showMethod: "link",
|
||||
inputParameters: [
|
||||
{ name: "sel_document", value: prms.nRn },
|
||||
{ name: "sel_unitcode", value: "EquipRepairSheets" }
|
||||
],
|
||||
modal: false
|
||||
});
|
||||
},
|
||||
[pOnlineShowUnit]
|
||||
);
|
||||
|
||||
//Возвращаем функции открытия разделов
|
||||
return {
|
||||
handleInsDepartmentOpen,
|
||||
handleEquipTypeWorksOpen,
|
||||
handleEquipWorkKindsOpen,
|
||||
handleEquipRepairSheetsOpen
|
||||
handleEquipRepairSheetsOpen,
|
||||
handleEquipConfigurationOpen,
|
||||
handleFileLinksOpen
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@ -19,13 +19,13 @@ import { object2Base64XML } from "../../../core/utils"; //Вспомогател
|
||||
const useFilters = () => {
|
||||
//Собственное состояние - общие значения фильтров
|
||||
const [filterValues, setFilterValues] = useState({
|
||||
loaded: false,
|
||||
dDateBegin: "",
|
||||
dDateEnd: "",
|
||||
sCustomerDept: "",
|
||||
sCustomerDeptName: "",
|
||||
sWorkType: "",
|
||||
sWorkKind: ""
|
||||
sWorkKind: "",
|
||||
sEqconfig: ""
|
||||
});
|
||||
|
||||
//Собственное состояние - признак загрузки настроек
|
||||
@ -75,7 +75,7 @@ const useFilters = () => {
|
||||
respArg: "COUT"
|
||||
});
|
||||
//Если есть настройки - указываем
|
||||
if (data) setFilterValues({ ...data });
|
||||
if (data) setFilterValues(pv => ({ ...pv, ...data }));
|
||||
} finally {
|
||||
setIsFiltersLoaded(true);
|
||||
}
|
||||
|
||||
@ -43,6 +43,7 @@ const useChartStatuses = ({ storedArgs = {} }) => {
|
||||
SINS_DEPARTMENT: storedArgs.sCustomerDept,
|
||||
SEQTYPEWRK: storedArgs.sWorkType,
|
||||
SEQWRKKIND: storedArgs.sWorkKind,
|
||||
SEQCONFIG: storedArgs.sEqconfig.toString(),
|
||||
NSTATE: storedArgs.nState,
|
||||
NTYPESPEND: storedArgs.nType
|
||||
},
|
||||
@ -86,6 +87,7 @@ const useChartSpendings = ({ storedArgs = {} }) => {
|
||||
SINS_DEPARTMENT: storedArgs.sCustomerDept,
|
||||
SEQTYPEWRK: storedArgs.sWorkType,
|
||||
SEQWRKKIND: storedArgs.sWorkKind,
|
||||
SEQCONFIG: storedArgs.sEqconfig.toString(),
|
||||
NSTATE: storedArgs.nState,
|
||||
NTYPESPEND: storedArgs.nType
|
||||
},
|
||||
|
||||
@ -8,7 +8,7 @@
|
||||
//---------------------
|
||||
|
||||
import React from "react"; //Классы React
|
||||
import { Icon, Stack, Link } from "@mui/material"; //Интерфейсные компоненты
|
||||
import { Icon, Stack, Link, IconButton } from "@mui/material"; //Интерфейсные компоненты
|
||||
import { formatDateRF } from "../../core/utils"; //Вспомогательные функции
|
||||
|
||||
//---------
|
||||
@ -46,11 +46,28 @@ const formatNumbValue = (row, columnDef, showEquipRepairSheets) => {
|
||||
);
|
||||
};
|
||||
|
||||
//Формирование значения для колонки "Присоединенные документы"
|
||||
const formatFileLinksValue = (row, columnDef, showFileLinks) => {
|
||||
return (
|
||||
<>
|
||||
{row["NFILELINKS"] == 1 ? (
|
||||
<Stack direction="row" gap={0.5} alignItems="center" justifyContent="center">
|
||||
<IconButton onClick={() => showFileLinks({ nRn: row["NRN"] })}>
|
||||
<Icon>launch</Icon>
|
||||
</IconButton>
|
||||
</Stack>
|
||||
) : null}
|
||||
</>
|
||||
);
|
||||
};
|
||||
|
||||
//Генерация представления ячейки c данными
|
||||
export const dataCellRender = ({ row, columnDef, showEquipRepairSheets }) => {
|
||||
export const dataCellRender = ({ row, columnDef, showEquipRepairSheets, showFileLinks }) => {
|
||||
switch (columnDef.name) {
|
||||
case "SNUMB":
|
||||
return { data: formatNumbValue(row, columnDef, showEquipRepairSheets) };
|
||||
case "NFILELINKS":
|
||||
return { data: formatFileLinksValue(row, columnDef, showFileLinks) };
|
||||
}
|
||||
};
|
||||
|
||||
@ -70,6 +87,7 @@ export const formatFilterValues = filter => {
|
||||
{ name: "SCUSTOMERDEPT_FILTER", from: filter.sCustomerDept, to: "" },
|
||||
{ name: "SWORKTYPE_FILTER", from: filter.sWorkType, to: "" },
|
||||
{ name: "SWORKKIND_FILTER", from: filter.sWorkKind, to: "" },
|
||||
{ name: "SEQCONFIG_FILTER", from: filter.sEqconfig, to: "" },
|
||||
{ name: "NSTATE_FILTER", from: filter.nState, to: "" },
|
||||
{ name: "NTYPESPEND_FILTER", from: filter.nType, to: "" }
|
||||
];
|
||||
|
||||
@ -94,7 +94,7 @@ const RepairAnlATC = () => {
|
||||
});
|
||||
|
||||
//Вспомогательные функции открытия раздела
|
||||
const { handleEquipRepairSheetsOpen } = useDictionary();
|
||||
const { handleEquipRepairSheetsOpen, handleFileLinksOpen } = useDictionary();
|
||||
|
||||
//При изменении фильтра в диалоге
|
||||
const handleFilterOk = filter => {
|
||||
@ -208,7 +208,9 @@ const RepairAnlATC = () => {
|
||||
onOrderChanged={handleOrderChanged}
|
||||
onFilterChanged={handleFilterChanged}
|
||||
onPagesCountChanged={handlePagesCountChanged}
|
||||
dataCellRender={prms => dataCellRender({ ...prms, showEquipRepairSheets: handleEquipRepairSheetsOpen })}
|
||||
dataCellRender={prms =>
|
||||
dataCellRender({ ...prms, showEquipRepairSheets: handleEquipRepairSheetsOpen, showFileLinks: handleFileLinksOpen })
|
||||
}
|
||||
valueFormatter={valueFormatter}
|
||||
/>
|
||||
) : null}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user