@banch0u/core-project-test-repository 2.2.15 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/LicenseWatermark/LicenseWatermark.js +118 -0
- package/dist/layout/Header/index.js +12 -9
- package/dist/layout/QuestionnairesSidebar/index.js +18 -2
- package/dist/pages/Questionnnaires/QuestionnairesCustomersContent/constant.js +70 -0
- package/dist/pages/Questionnnaires/QuestionnairesCustomersContent/index.js +269 -0
- package/dist/pages/Questionnnaires/QuestionnairesProjectsContent/constant.js +58 -0
- package/dist/pages/Questionnnaires/QuestionnairesProjectsContent/index.js +247 -0
- package/dist/routes/QuestionnaireRoutes.js +13 -1
- package/dist/store/slices/global/index.js +176 -164
- package/dist/store/slices/questionnaire/index.js +739 -321
- package/dist/store/slices/questionnaire/service.js +256 -0
- package/dist/tools/questionnaireGenerator.js +3 -3
- package/dist/utils/path.js +8 -0
- package/package.json +10 -9
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import React, { useMemo } from "react";
|
|
2
|
+
var LicenseWatermark = function LicenseWatermark(_ref) {
|
|
3
|
+
var companyInfo = _ref.companyInfo,
|
|
4
|
+
pathname = _ref.pathname;
|
|
5
|
+
// ----------------------------
|
|
6
|
+
// URL → project mapping
|
|
7
|
+
// ----------------------------
|
|
8
|
+
var projectCodeFromUrl = useMemo(function () {
|
|
9
|
+
var path = (pathname || "").toLowerCase();
|
|
10
|
+
if (path.startsWith("/docflow")) return "docflow-api";
|
|
11
|
+
if (path.startsWith("/hr")) return "hr-api";
|
|
12
|
+
if (path.startsWith("/contracts")) return "contracts-api";
|
|
13
|
+
if (path.startsWith("/accounts")) return "accounts-api";
|
|
14
|
+
if (path.startsWith("/archive")) return "archive-api";
|
|
15
|
+
if (path.startsWith("/transport")) return "transport-api";
|
|
16
|
+
if (path.startsWith("/laboratory")) return "laboratory-api";
|
|
17
|
+
return null;
|
|
18
|
+
}, [pathname]);
|
|
19
|
+
|
|
20
|
+
// ----------------------------
|
|
21
|
+
// normalize company info
|
|
22
|
+
// ----------------------------
|
|
23
|
+
var rawProjects = useMemo(function () {
|
|
24
|
+
if (Array.isArray(companyInfo)) {
|
|
25
|
+
var _companyInfo$;
|
|
26
|
+
return companyInfo === null || companyInfo === void 0 || (_companyInfo$ = companyInfo[0]) === null || _companyInfo$ === void 0 ? void 0 : _companyInfo$.projects;
|
|
27
|
+
}
|
|
28
|
+
return companyInfo === null || companyInfo === void 0 ? void 0 : companyInfo.projects;
|
|
29
|
+
}, [companyInfo]);
|
|
30
|
+
|
|
31
|
+
// ----------------------------
|
|
32
|
+
// parse projects safely
|
|
33
|
+
// ----------------------------
|
|
34
|
+
var parseProjects = function parseProjects(raw) {
|
|
35
|
+
if (!raw || typeof raw !== "string") return [];
|
|
36
|
+
try {
|
|
37
|
+
var cleaned = raw.trim();
|
|
38
|
+
cleaned = cleaned.replace(/^.*?\[/, "[");
|
|
39
|
+
cleaned = cleaned.replace(/\}\}\\"?$/, "");
|
|
40
|
+
cleaned = cleaned.replace(/\}\}$/, "");
|
|
41
|
+
if (!cleaned.endsWith("]")) {
|
|
42
|
+
cleaned += "]";
|
|
43
|
+
}
|
|
44
|
+
return JSON.parse(cleaned);
|
|
45
|
+
} catch (err) {
|
|
46
|
+
console.error("Failed to parse projects:", err);
|
|
47
|
+
return [];
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
var projects = useMemo(function () {
|
|
51
|
+
return parseProjects(rawProjects);
|
|
52
|
+
}, [rawProjects]);
|
|
53
|
+
|
|
54
|
+
// ----------------------------
|
|
55
|
+
// find current project
|
|
56
|
+
// ----------------------------
|
|
57
|
+
var currentProject = useMemo(function () {
|
|
58
|
+
if (!Array.isArray(projects) || !projectCodeFromUrl) return null;
|
|
59
|
+
return projects.find(function (p) {
|
|
60
|
+
var _p$Code;
|
|
61
|
+
return (p === null || p === void 0 || (_p$Code = p.Code) === null || _p$Code === void 0 ? void 0 : _p$Code.toLowerCase().trim()) === projectCodeFromUrl.toLowerCase().trim();
|
|
62
|
+
});
|
|
63
|
+
}, [projects, projectCodeFromUrl]);
|
|
64
|
+
|
|
65
|
+
// ----------------------------
|
|
66
|
+
// license logic
|
|
67
|
+
// ----------------------------
|
|
68
|
+
var licenseStatus = useMemo(function () {
|
|
69
|
+
if (!(currentProject !== null && currentProject !== void 0 && currentProject.EndDate)) {
|
|
70
|
+
return {
|
|
71
|
+
status: "unknown"
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
var endDate = new Date(currentProject.EndDate);
|
|
75
|
+
var today = new Date();
|
|
76
|
+
var end = new Date(endDate.getFullYear(), endDate.getMonth(), endDate.getDate());
|
|
77
|
+
var now = new Date(today.getFullYear(), today.getMonth(), today.getDate());
|
|
78
|
+
var diffDays = Math.ceil((end - now) / (1000 * 60 * 60 * 24));
|
|
79
|
+
if (diffDays <= 0) {
|
|
80
|
+
return {
|
|
81
|
+
status: "expired",
|
|
82
|
+
text: "Lisenziya müddəti bitib",
|
|
83
|
+
color: "red"
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
if (diffDays <= 30) {
|
|
87
|
+
return {
|
|
88
|
+
status: "warning",
|
|
89
|
+
text: "Lisenziya m\xFCdd\u0259tinin bitm\u0259sin\u0259 ".concat(diffDays, " g\xFCn qal\u0131b"),
|
|
90
|
+
color: "yellow"
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
return {
|
|
94
|
+
status: "valid"
|
|
95
|
+
};
|
|
96
|
+
}, [currentProject]);
|
|
97
|
+
|
|
98
|
+
// ----------------------------
|
|
99
|
+
// render
|
|
100
|
+
// ----------------------------
|
|
101
|
+
if (licenseStatus.status === "valid") return null;
|
|
102
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
103
|
+
style: {
|
|
104
|
+
position: "absolute",
|
|
105
|
+
top: 0,
|
|
106
|
+
left: 0,
|
|
107
|
+
background: licenseStatus.color,
|
|
108
|
+
fontSize: 18,
|
|
109
|
+
color: "#000",
|
|
110
|
+
width: "100%",
|
|
111
|
+
zIndex: 9999,
|
|
112
|
+
display: "flex",
|
|
113
|
+
justifyContent: "center",
|
|
114
|
+
alignItems: "center"
|
|
115
|
+
}
|
|
116
|
+
}, licenseStatus.status === "expired" ? "Lisenziya müddəti bitib" : licenseStatus.text);
|
|
117
|
+
};
|
|
118
|
+
export default LicenseWatermark;
|
|
@@ -3,10 +3,10 @@ import React, { useEffect, useState } from "react";
|
|
|
3
3
|
import style from "./index.module.scss";
|
|
4
4
|
import ProfileOptions from "../../components/ProfileOptions";
|
|
5
5
|
import AppSelect from "./AppSelect";
|
|
6
|
-
import { useDispatch } from "react-redux";
|
|
6
|
+
import { useDispatch, useSelector } from "react-redux";
|
|
7
7
|
import { getLoginType } from "../../store/slices/auth";
|
|
8
8
|
import { getCompanyInfo } from "../../store/slices/companyInfo";
|
|
9
|
-
import
|
|
9
|
+
import LicenseWatermark from "../../components/LicenseWatermark/LicenseWatermark";
|
|
10
10
|
var Header = function Header() {
|
|
11
11
|
var _companyInfo$;
|
|
12
12
|
var _useState = useState(localStorage.getItem("theme") || "light"),
|
|
@@ -17,14 +17,14 @@ var Header = function Header() {
|
|
|
17
17
|
var companyInfo = useSelector(function (state) {
|
|
18
18
|
return state.companyInfo.companyInfo;
|
|
19
19
|
});
|
|
20
|
-
var
|
|
21
|
-
var newTheme = localStorage.getItem("theme") || "light";
|
|
22
|
-
setTheme(newTheme);
|
|
23
|
-
};
|
|
20
|
+
var pathname = window.location.pathname;
|
|
24
21
|
useEffect(function () {
|
|
25
|
-
|
|
22
|
+
var handler = function handler() {
|
|
23
|
+
return setTheme(localStorage.getItem("theme") || "light");
|
|
24
|
+
};
|
|
25
|
+
window.addEventListener("themeChange", handler);
|
|
26
26
|
return function () {
|
|
27
|
-
return window.removeEventListener("themeChange",
|
|
27
|
+
return window.removeEventListener("themeChange", handler);
|
|
28
28
|
};
|
|
29
29
|
}, []);
|
|
30
30
|
useEffect(function () {
|
|
@@ -34,7 +34,10 @@ var Header = function Header() {
|
|
|
34
34
|
return /*#__PURE__*/React.createElement("header", {
|
|
35
35
|
className: style.header,
|
|
36
36
|
"data-no-invert": true
|
|
37
|
-
}, /*#__PURE__*/React.createElement(
|
|
37
|
+
}, /*#__PURE__*/React.createElement(LicenseWatermark, {
|
|
38
|
+
companyInfo: companyInfo,
|
|
39
|
+
pathname: pathname
|
|
40
|
+
}), /*#__PURE__*/React.createElement(AppSelect, {
|
|
38
41
|
mainPage: companyInfo === null || companyInfo === void 0 || (_companyInfo$ = companyInfo[0]) === null || _companyInfo$ === void 0 ? void 0 : _companyInfo$.mainPage
|
|
39
42
|
}), /*#__PURE__*/React.createElement(ProfileOptions, null));
|
|
40
43
|
};
|
|
@@ -5,7 +5,7 @@ import style from "./index.module.scss";
|
|
|
5
5
|
import { Layout, Menu, Input } from "antd";
|
|
6
6
|
import { QUESTIONNAIRES_ACADEMIC_DEGREES, QUESTIONNAIRES_APPLICATION_FORMS, QUESTIONNAIRES_AREAS, QUESTIONNAIRES_BRANDS, QUESTIONNAIRES_CATEGORIES, QUESTIONNAIRES_CHASSIS_TYPES, QUESTIONNAIRES_CHEMICALS, QUESTIONNAIRES_COLORS, QUESTIONNAIRES_COMPANIES, QUESTIONNAIRES_CONTRACTCURRENCIES, QUESTIONNAIRES_CONTRACTTYPES, QUESTIONNAIRES_CONTRAGENTTYPES, QUESTIONNAIRES_COUNTRIES, QUESTIONNAIRES_CRUSH_REASONS, QUESTIONNAIRES_DETAIL_PARTS, QUESTIONNAIRES_DISABILITY_STATUSES, QUESTIONNAIRES_DOCUMENT_RECIEVE_METHODS, QUESTIONNAIRES_DOCUMENT_TYPES, QUESTIONNAIRES_DOCUMENT_WHOM, QUESTIONNAIRES_DRIVING_CATEGORIES, QUESTIONNAIRES_EDUCATION_INSTITUTIONS, QUESTIONNAIRES_EDUCATION_LEVELS, QUESTIONNAIRES_EDUCATION_PAYMENTS, QUESTIONNAIRES_EMPLOYEE_CONFIGURATIONS, QUESTIONNAIRES_ENGINE_TYPES, QUESTIONNAIRES_EXECUTION_RULES, QUESTIONNAIRES_EXTRA_SERVICES, QUESTIONNAIRES_FUEL_TYPES, QUESTIONNAIRES_GEARBOX_TYPES, QUESTIONNAIRES_GENERAL_STRUCTURE_STATUSES, QUESTIONNAIRES_GENERAL_STRUCTURE_TYPES, QUESTIONNAIRES_HALLS, QUESTIONNAIRES_HONORARY_TITLES, QUESTIONNAIRES_INSURANCE_TYPES, QUESTIONNAIRES_ISSUED_AUTHORITIES, QUESTIONNAIRES_MARGIN_NOTE_TEXTS, QUESTIONNAIRES_MEASUREMENT_TYPES, QUESTIONNAIRES_MILITARY_CATEGORIES, QUESTIONNAIRES_MILITARY_GROUPS, QUESTIONNAIRES_MILITARY_RANKS, QUESTIONNAIRES_MILITARY_STAFFS, QUESTIONNAIRES_MODELS, QUESTIONNAIRES_OIL_FIELDS, QUESTIONNAIRES_ORDERS, QUESTIONNAIRES_ORGANIZATIONS, QUESTIONNAIRES_OWNERSHIP_TYPES, QUESTIONNAIRES_PENALTY_TYPES, QUESTIONNAIRES_POSITIONS, QUESTIONNAIRES_REPAIR_TYPES, QUESTIONNAIRES_REPAIRMENT_WORK_TYPES,
|
|
7
7
|
// QUESTIONNAIRES_REGIONS,
|
|
8
|
-
QUESTIONNAIRES_REPRIMAND_TYPES, QUESTIONNAIRES_SPECIAL_DAYS, QUESTIONNAIRES_SPECIALIZATIONS, QUESTIONNAIRES_STRUCTURES, QUESTIONNAIRES_SUBTOPIC, QUESTIONNAIRES_TOPIC, QUESTIONNAIRES_TRANSMITTER_TYPES, QUESTIONNAIRES_VEHICLE_CATEGORIES, QUESTIONNAIRES_VEHICLE_GROUPS, QUESTIONNAIRES_VEHICLE_TYPES, QUESTIONNAIRES_WAR_PARTICIPANTS, QUESTIONNAIRES_WORK_MODES, QUESTIONNAIRES_WORK_SCHEDULES, QUESTIONNAIRES_OWNERS, QUESTIONNAIRES_CONTRACTTOPICS, QUESTIONNAIRES_CONTRACTTYPESSUBTYPES, QUESTIONNAIRES_DEFAULTAGREEMENTPLANS, QUESTIONNAIRES_ROUTELOCATIONS, QUESTIONNAIRES_INTERNALSTRUCTURE, QUESTIONNAIRES_FIELD, QUESTIONNAIRES_WELL, QUESTIONNAIRES_BARREL, QUESTIONNAIRES_BUDGETCOMPONENTS, QUESTIONNAIRES_DEPARTMENTS, QUESTIONNAIRES_PENTIONS } from "../../utils/path";
|
|
8
|
+
QUESTIONNAIRES_REPRIMAND_TYPES, QUESTIONNAIRES_SPECIAL_DAYS, QUESTIONNAIRES_SPECIALIZATIONS, QUESTIONNAIRES_STRUCTURES, QUESTIONNAIRES_SUBTOPIC, QUESTIONNAIRES_TOPIC, QUESTIONNAIRES_TRANSMITTER_TYPES, QUESTIONNAIRES_VEHICLE_CATEGORIES, QUESTIONNAIRES_VEHICLE_GROUPS, QUESTIONNAIRES_VEHICLE_TYPES, QUESTIONNAIRES_WAR_PARTICIPANTS, QUESTIONNAIRES_WORK_MODES, QUESTIONNAIRES_WORK_SCHEDULES, QUESTIONNAIRES_OWNERS, QUESTIONNAIRES_CONTRACTTOPICS, QUESTIONNAIRES_CONTRACTTYPESSUBTYPES, QUESTIONNAIRES_DEFAULTAGREEMENTPLANS, QUESTIONNAIRES_ROUTELOCATIONS, QUESTIONNAIRES_INTERNALSTRUCTURE, QUESTIONNAIRES_FIELD, QUESTIONNAIRES_WELL, QUESTIONNAIRES_BARREL, QUESTIONNAIRES_BUDGETCOMPONENTS, QUESTIONNAIRES_DEPARTMENTS, QUESTIONNAIRES_PENTIONS, QUESTIONNAIRES_PROJECTS, QUESTIONNAIRES_CUSTOMERS } from "../../utils/path";
|
|
9
9
|
import { SearchIcon } from "../../assets/icons";
|
|
10
10
|
var Sider = Layout.Sider;
|
|
11
11
|
var SubMenu = Menu.SubMenu;
|
|
@@ -364,8 +364,24 @@ var QuestionnairesSidebar = function QuestionnairesSidebar(_ref) {
|
|
|
364
364
|
//delete the "/" at the start of string
|
|
365
365
|
label: "Təqaüd növü",
|
|
366
366
|
link: QUESTIONNAIRES_PENTIONS
|
|
367
|
-
}
|
|
367
|
+
},
|
|
368
368
|
// ---- generated sidebar item by questionnaireGenerator: Pentions ----
|
|
369
|
+
|
|
370
|
+
{
|
|
371
|
+
key: "projects",
|
|
372
|
+
//delete the "/" at the start of string
|
|
373
|
+
label: "Layihələr",
|
|
374
|
+
link: QUESTIONNAIRES_PROJECTS
|
|
375
|
+
},
|
|
376
|
+
// ---- generated sidebar item by questionnaireGenerator: Projects ----
|
|
377
|
+
|
|
378
|
+
{
|
|
379
|
+
key: "customers",
|
|
380
|
+
//delete the "/" at the start of string
|
|
381
|
+
label: "Müştərilər",
|
|
382
|
+
link: QUESTIONNAIRES_CUSTOMERS
|
|
383
|
+
}
|
|
384
|
+
// ---- generated sidebar item by questionnaireGenerator: Customers ----
|
|
369
385
|
];
|
|
370
386
|
var sortedItems = items.sort(function (a, b) {
|
|
371
387
|
return a.label.localeCompare(b.label);
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { Switch, Tooltip } from "antd";
|
|
3
|
+
import style from "../Questionnaires.module.scss";
|
|
4
|
+
import { setDeleteModalVisible } from "../../../store/slices/global";
|
|
5
|
+
import { DeleteIconQ, EditIcon } from "../../../assets/icons";
|
|
6
|
+
export var getStreetColumns = function getStreetColumns(onEditClick, onDelete, onStatusChange, dispatch, innerW) {
|
|
7
|
+
return [{
|
|
8
|
+
title: "№",
|
|
9
|
+
dataIndex: "num",
|
|
10
|
+
showCheckbox: false,
|
|
11
|
+
ellipsis: true,
|
|
12
|
+
width: 35
|
|
13
|
+
}, {
|
|
14
|
+
title: "Müştərilər",
|
|
15
|
+
dataIndex: "name",
|
|
16
|
+
width: innerW,
|
|
17
|
+
disabled: true,
|
|
18
|
+
ellipsis: true
|
|
19
|
+
}, {
|
|
20
|
+
title: "VÖEN",
|
|
21
|
+
dataIndex: "tin",
|
|
22
|
+
width: innerW,
|
|
23
|
+
disabled: false,
|
|
24
|
+
ellipsis: true
|
|
25
|
+
}, {
|
|
26
|
+
title: "Müştəri nömrəsi",
|
|
27
|
+
dataIndex: "customerNumber",
|
|
28
|
+
width: innerW,
|
|
29
|
+
disabled: false,
|
|
30
|
+
ellipsis: true
|
|
31
|
+
}, {
|
|
32
|
+
title: "Status",
|
|
33
|
+
key: "status",
|
|
34
|
+
disabled: true,
|
|
35
|
+
filter: false,
|
|
36
|
+
render: function render(data) {
|
|
37
|
+
return /*#__PURE__*/React.createElement(Tooltip, {
|
|
38
|
+
placement: "top",
|
|
39
|
+
title: "Statusu d\u0259yi\u015F"
|
|
40
|
+
}, /*#__PURE__*/React.createElement(Switch, {
|
|
41
|
+
size: "medium",
|
|
42
|
+
checked: data === null || data === void 0 ? void 0 : data.isActive,
|
|
43
|
+
onChange: function onChange(checked) {
|
|
44
|
+
return onStatusChange(data, checked, dispatch);
|
|
45
|
+
}
|
|
46
|
+
}));
|
|
47
|
+
}
|
|
48
|
+
}, {
|
|
49
|
+
title: "",
|
|
50
|
+
key: "actions",
|
|
51
|
+
showCheckbox: false,
|
|
52
|
+
width: 80,
|
|
53
|
+
render: function render(data) {
|
|
54
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
55
|
+
className: style.number
|
|
56
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
57
|
+
className: style.actions
|
|
58
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
59
|
+
onClick: function onClick() {
|
|
60
|
+
return onEditClick(data);
|
|
61
|
+
}
|
|
62
|
+
}, /*#__PURE__*/React.createElement(EditIcon, null)), /*#__PURE__*/React.createElement("div", {
|
|
63
|
+
onClick: function onClick() {
|
|
64
|
+
onDelete(data === null || data === void 0 ? void 0 : data.id);
|
|
65
|
+
dispatch(setDeleteModalVisible(true));
|
|
66
|
+
}
|
|
67
|
+
}, /*#__PURE__*/React.createElement(DeleteIconQ, null)))));
|
|
68
|
+
}
|
|
69
|
+
}];
|
|
70
|
+
};
|
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
2
|
+
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
3
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
4
|
+
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
5
|
+
import React from "react";
|
|
6
|
+
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
7
|
+
import Cookies from "js-cookie";
|
|
8
|
+
import style from "../Questionnaires.module.scss";
|
|
9
|
+
import { Form, Input, Layout } from "antd";
|
|
10
|
+
import { PlusIcon } from "../../../assets/icons";
|
|
11
|
+
import FormModal from "../../../components/FormModal";
|
|
12
|
+
import { useDispatch, useSelector } from "react-redux";
|
|
13
|
+
import Delete from "../../../components/Delete/Delete";
|
|
14
|
+
import DeleteModal from "../../../components/DeleteModal/DeleteModal";
|
|
15
|
+
import Success from "../../../components/Success/Success";
|
|
16
|
+
import { setDeleteModalVisible, setViewModalVisible } from "../../../store/slices/global";
|
|
17
|
+
import ViewModal from "../../../components/ViewModal";
|
|
18
|
+
import { getStreetColumns } from "./constant";
|
|
19
|
+
import Pagination from "../../../components/Pagination";
|
|
20
|
+
import ColSort from "../../../components/ColSort";
|
|
21
|
+
import { setPaginationLength } from "../../../helpers/paginationLength";
|
|
22
|
+
import Button from "../../../components/Button";
|
|
23
|
+
import Loading from "../../../components/Loading";
|
|
24
|
+
import Table from "../../../components/Table";
|
|
25
|
+
import Filter from "../../../components/Filter";
|
|
26
|
+
import { addCustomers, deleteCustomers, editCustomers, getCustomers, customersVisibility } from "../../../store/slices/questionnaire";
|
|
27
|
+
var Content = Layout.Content;
|
|
28
|
+
var Item = Form.Item;
|
|
29
|
+
var QuestionnairesCustomersContent = function QuestionnairesCustomersContent() {
|
|
30
|
+
var _useState = useState(null),
|
|
31
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
32
|
+
innerW = _useState2[0],
|
|
33
|
+
setInnerW = _useState2[1];
|
|
34
|
+
var ref = useRef();
|
|
35
|
+
var dispatch = useDispatch();
|
|
36
|
+
var _useState3 = useState(0),
|
|
37
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
38
|
+
id = _useState4[0],
|
|
39
|
+
setId = _useState4[1];
|
|
40
|
+
var _useState5 = useState(1),
|
|
41
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
42
|
+
page = _useState6[0],
|
|
43
|
+
setPage = _useState6[1];
|
|
44
|
+
var _useState7 = useState(Cookies.get("pagination-size-questionnaire-customers") ? JSON.parse(Cookies.get("pagination-size-questionnaire-customers")) : 20),
|
|
45
|
+
_useState8 = _slicedToArray(_useState7, 2),
|
|
46
|
+
size = _useState8[0],
|
|
47
|
+
setSize = _useState8[1];
|
|
48
|
+
var _useState9 = useState({
|
|
49
|
+
name: ""
|
|
50
|
+
}),
|
|
51
|
+
_useState0 = _slicedToArray(_useState9, 2),
|
|
52
|
+
query = _useState0[0],
|
|
53
|
+
setQuery = _useState0[1];
|
|
54
|
+
var _useSelector = useSelector(function (state) {
|
|
55
|
+
return state.global;
|
|
56
|
+
}),
|
|
57
|
+
loading = _useSelector.loading,
|
|
58
|
+
CustomersRender = _useSelector.CustomersRender;
|
|
59
|
+
var Customers = useSelector(function (state) {
|
|
60
|
+
return state.questionnaire.customers;
|
|
61
|
+
});
|
|
62
|
+
var paginationLength = setPaginationLength(Customers === null || Customers === void 0 ? void 0 : Customers.count, Customers === null || Customers === void 0 ? void 0 : Customers.size);
|
|
63
|
+
var onSubmit = useCallback(/*#__PURE__*/function () {
|
|
64
|
+
var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(data) {
|
|
65
|
+
return _regeneratorRuntime.wrap(function (_context) {
|
|
66
|
+
while (1) switch (_context.prev = _context.next) {
|
|
67
|
+
case 0:
|
|
68
|
+
dispatch(addCustomers(data));
|
|
69
|
+
case 1:
|
|
70
|
+
case "end":
|
|
71
|
+
return _context.stop();
|
|
72
|
+
}
|
|
73
|
+
}, _callee);
|
|
74
|
+
}));
|
|
75
|
+
return function (_x) {
|
|
76
|
+
return _ref.apply(this, arguments);
|
|
77
|
+
};
|
|
78
|
+
}(), [dispatch]);
|
|
79
|
+
var onEdit = useCallback(function (id, record) {
|
|
80
|
+
var data = {
|
|
81
|
+
id: id,
|
|
82
|
+
name: record === null || record === void 0 ? void 0 : record.name,
|
|
83
|
+
tin: record === null || record === void 0 ? void 0 : record.tin
|
|
84
|
+
};
|
|
85
|
+
dispatch(editCustomers(data));
|
|
86
|
+
}, [dispatch]);
|
|
87
|
+
var onStatusChange = useCallback(function (data, checked) {
|
|
88
|
+
var data_ = {
|
|
89
|
+
id: data === null || data === void 0 ? void 0 : data.id,
|
|
90
|
+
checked: checked
|
|
91
|
+
};
|
|
92
|
+
dispatch(customersVisibility(data_));
|
|
93
|
+
}, [dispatch]);
|
|
94
|
+
var closeOnViewModal = useCallback(function () {
|
|
95
|
+
dispatch(setViewModalVisible(false));
|
|
96
|
+
}, [dispatch]);
|
|
97
|
+
var onClickModal = function onClickModal() {
|
|
98
|
+
var _ref$current;
|
|
99
|
+
ref === null || ref === void 0 || (_ref$current = ref.current) === null || _ref$current === void 0 || _ref$current.open();
|
|
100
|
+
};
|
|
101
|
+
var onEditClick = useCallback(function (data) {
|
|
102
|
+
var _ref$current2;
|
|
103
|
+
ref === null || ref === void 0 || (_ref$current2 = ref.current) === null || _ref$current2 === void 0 || _ref$current2.setEdit(data);
|
|
104
|
+
}, []);
|
|
105
|
+
var onDelete = useCallback(function (id) {
|
|
106
|
+
setId(id);
|
|
107
|
+
}, []);
|
|
108
|
+
var handleColumnToggle = function handleColumnToggle(checked, dataIndex) {
|
|
109
|
+
setSelectedColumns(function (prevSelected) {
|
|
110
|
+
if (checked) {
|
|
111
|
+
return [].concat(_toConsumableArray(prevSelected), [dataIndex]);
|
|
112
|
+
} else {
|
|
113
|
+
return prevSelected.filter(function (col) {
|
|
114
|
+
return col !== dataIndex;
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
};
|
|
119
|
+
var data = [];
|
|
120
|
+
if (Customers !== null && Customers !== void 0 && Customers.items) {
|
|
121
|
+
var _Customers$items;
|
|
122
|
+
data = Customers === null || Customers === void 0 || (_Customers$items = Customers.items) === null || _Customers$items === void 0 ? void 0 : _Customers$items.map(function (dataObj, i) {
|
|
123
|
+
return {
|
|
124
|
+
num: (Customers === null || Customers === void 0 ? void 0 : Customers.size) * (Customers === null || Customers === void 0 ? void 0 : Customers.page) + i + 1 - (Customers === null || Customers === void 0 ? void 0 : Customers.size),
|
|
125
|
+
id: dataObj === null || dataObj === void 0 ? void 0 : dataObj.id,
|
|
126
|
+
name: dataObj === null || dataObj === void 0 ? void 0 : dataObj.name,
|
|
127
|
+
customerNumber: dataObj === null || dataObj === void 0 ? void 0 : dataObj.customerNumber,
|
|
128
|
+
tin: dataObj === null || dataObj === void 0 ? void 0 : dataObj.tin,
|
|
129
|
+
isActive: dataObj === null || dataObj === void 0 ? void 0 : dataObj.isActive,
|
|
130
|
+
className: "rowClassName1"
|
|
131
|
+
};
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
var columns = useMemo(function () {
|
|
135
|
+
return getStreetColumns(onEditClick, onDelete, onStatusChange, dispatch);
|
|
136
|
+
}, [onEditClick, onDelete, onStatusChange, dispatch]);
|
|
137
|
+
var _useState1 = useState(columns.map(function (col) {
|
|
138
|
+
return col.dataIndex;
|
|
139
|
+
})),
|
|
140
|
+
_useState10 = _slicedToArray(_useState1, 2),
|
|
141
|
+
selectedColumns = _useState10[0],
|
|
142
|
+
setSelectedColumns = _useState10[1];
|
|
143
|
+
useEffect(function () {
|
|
144
|
+
if (window.innerWidth >= 1900) {
|
|
145
|
+
setInnerW(210);
|
|
146
|
+
} else {
|
|
147
|
+
setInnerW(155);
|
|
148
|
+
}
|
|
149
|
+
var data = {
|
|
150
|
+
page: page,
|
|
151
|
+
size: size,
|
|
152
|
+
query: query,
|
|
153
|
+
visibility: "nondeleted"
|
|
154
|
+
};
|
|
155
|
+
dispatch(getCustomers(data));
|
|
156
|
+
}, [dispatch, page, CustomersRender, query, size]);
|
|
157
|
+
var updateSize = function updateSize(newSize) {
|
|
158
|
+
setSize(newSize);
|
|
159
|
+
Cookies.set("pagination-size-questionnaire-customers", JSON.stringify(newSize), {
|
|
160
|
+
expires: 7
|
|
161
|
+
});
|
|
162
|
+
};
|
|
163
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, loading ? /*#__PURE__*/React.createElement(Loading, null) : null, /*#__PURE__*/React.createElement(Layout, {
|
|
164
|
+
className: style.layout
|
|
165
|
+
}, /*#__PURE__*/React.createElement(Content, {
|
|
166
|
+
className: style.content
|
|
167
|
+
}, /*#__PURE__*/React.createElement("header", {
|
|
168
|
+
className: style.header
|
|
169
|
+
}, /*#__PURE__*/React.createElement(Button, {
|
|
170
|
+
onClick: onClickModal,
|
|
171
|
+
color: "green"
|
|
172
|
+
}, /*#__PURE__*/React.createElement(PlusIcon, null), " Soraq\xE7a \u0259lav\u0259 et"), /*#__PURE__*/React.createElement(Filter, {
|
|
173
|
+
columns: columns,
|
|
174
|
+
selectedColumns: selectedColumns,
|
|
175
|
+
setQuery: setQuery,
|
|
176
|
+
disabledElementCount: 3,
|
|
177
|
+
setPage: setPage
|
|
178
|
+
}))), /*#__PURE__*/React.createElement(Layout, {
|
|
179
|
+
className: style.layout1
|
|
180
|
+
}, /*#__PURE__*/React.createElement(Content, {
|
|
181
|
+
className: style.content
|
|
182
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
183
|
+
className: style.table_header
|
|
184
|
+
}, /*#__PURE__*/React.createElement("h2", null, "M\xFC\u015Ft\u0259ril\u0259r"), /*#__PURE__*/React.createElement("div", {
|
|
185
|
+
className: style.buttons
|
|
186
|
+
}, /*#__PURE__*/React.createElement(ColSort, {
|
|
187
|
+
columns: columns,
|
|
188
|
+
selectedColumns: selectedColumns,
|
|
189
|
+
handleColumnToggle: handleColumnToggle
|
|
190
|
+
}))), /*#__PURE__*/React.createElement("div", {
|
|
191
|
+
className: "bigTable"
|
|
192
|
+
}, /*#__PURE__*/React.createElement(Table, {
|
|
193
|
+
selectedColumns: selectedColumns,
|
|
194
|
+
innerW: innerW,
|
|
195
|
+
dataSource: data,
|
|
196
|
+
columns: columns,
|
|
197
|
+
disableDrag: true
|
|
198
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
199
|
+
className: style.pagination
|
|
200
|
+
}, /*#__PURE__*/React.createElement(Pagination, {
|
|
201
|
+
size: size,
|
|
202
|
+
setSize: updateSize,
|
|
203
|
+
total: paginationLength,
|
|
204
|
+
page: page,
|
|
205
|
+
onChange: setPage
|
|
206
|
+
})), /*#__PURE__*/React.createElement(FormModal, {
|
|
207
|
+
ref: ref,
|
|
208
|
+
width: 454,
|
|
209
|
+
title: "Yeni soraqça yaratma",
|
|
210
|
+
titleEdit: "Soraqça redaktə etmə",
|
|
211
|
+
okText: "Yadda saxla",
|
|
212
|
+
cancelText: "Bağla",
|
|
213
|
+
onSubmit: onSubmit,
|
|
214
|
+
onEdit: onEdit,
|
|
215
|
+
className: "absolute",
|
|
216
|
+
centered: false
|
|
217
|
+
}, /*#__PURE__*/React.createElement(Item, {
|
|
218
|
+
rules: [{
|
|
219
|
+
required: true,
|
|
220
|
+
message: ""
|
|
221
|
+
}, {
|
|
222
|
+
min: 3,
|
|
223
|
+
message: "Ən azından 3 simvol olmalıdır"
|
|
224
|
+
}],
|
|
225
|
+
name: "name",
|
|
226
|
+
label: "Ad"
|
|
227
|
+
}, /*#__PURE__*/React.createElement(Input, {
|
|
228
|
+
className: style.modal_input
|
|
229
|
+
})), /*#__PURE__*/React.createElement(Item, {
|
|
230
|
+
name: "tin",
|
|
231
|
+
label: "VÖEN",
|
|
232
|
+
rules: [{
|
|
233
|
+
required: true,
|
|
234
|
+
message: "VÖEN tələb olunur"
|
|
235
|
+
}, {
|
|
236
|
+
pattern: /^\d{10}$/,
|
|
237
|
+
message: "VÖEN yalnız 10 rəqəmdən ibarət olmalıdır"
|
|
238
|
+
}]
|
|
239
|
+
}, /*#__PURE__*/React.createElement(Input, {
|
|
240
|
+
className: style.modal_input,
|
|
241
|
+
maxLength: 10,
|
|
242
|
+
inputMode: "numeric",
|
|
243
|
+
onKeyPress: function onKeyPress(e) {
|
|
244
|
+
if (!/[0-9]/.test(e.key)) {
|
|
245
|
+
e.preventDefault();
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
}))), /*#__PURE__*/React.createElement(DeleteModal, {
|
|
249
|
+
onCancel: function onCancel() {
|
|
250
|
+
return dispatch(setDeleteModalVisible(false));
|
|
251
|
+
},
|
|
252
|
+
width: 280
|
|
253
|
+
}, /*#__PURE__*/React.createElement(Delete, {
|
|
254
|
+
onDelete: function onDelete() {
|
|
255
|
+
return dispatch(deleteCustomers(id));
|
|
256
|
+
},
|
|
257
|
+
onCancel: function onCancel() {
|
|
258
|
+
return dispatch(setDeleteModalVisible(false));
|
|
259
|
+
},
|
|
260
|
+
value: "Soraqçanı"
|
|
261
|
+
})), /*#__PURE__*/React.createElement(ViewModal, {
|
|
262
|
+
onCancel: closeOnViewModal,
|
|
263
|
+
width: 695
|
|
264
|
+
}, /*#__PURE__*/React.createElement(Success, {
|
|
265
|
+
onClick: closeOnViewModal,
|
|
266
|
+
value: "Soraqça"
|
|
267
|
+
}))))));
|
|
268
|
+
};
|
|
269
|
+
export default QuestionnairesCustomersContent;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { Switch, Tooltip } from "antd";
|
|
3
|
+
import style from "../Questionnaires.module.scss";
|
|
4
|
+
import { setDeleteModalVisible } from "../../../store/slices/global";
|
|
5
|
+
import { DeleteIconQ, EditIcon } from "../../../assets/icons";
|
|
6
|
+
export var getStreetColumns = function getStreetColumns(onEditClick, onDelete, onStatusChange, dispatch, innerW) {
|
|
7
|
+
return [{
|
|
8
|
+
title: "№",
|
|
9
|
+
dataIndex: "num",
|
|
10
|
+
showCheckbox: false,
|
|
11
|
+
ellipsis: true,
|
|
12
|
+
width: 35
|
|
13
|
+
}, {
|
|
14
|
+
title: "Layihələr",
|
|
15
|
+
dataIndex: "name",
|
|
16
|
+
width: innerW,
|
|
17
|
+
disabled: true,
|
|
18
|
+
ellipsis: true
|
|
19
|
+
}, {
|
|
20
|
+
title: "Status",
|
|
21
|
+
key: "status",
|
|
22
|
+
disabled: true,
|
|
23
|
+
filter: false,
|
|
24
|
+
render: function render(data) {
|
|
25
|
+
return /*#__PURE__*/React.createElement(Tooltip, {
|
|
26
|
+
placement: "top",
|
|
27
|
+
title: "Statusu d\u0259yi\u015F"
|
|
28
|
+
}, /*#__PURE__*/React.createElement(Switch, {
|
|
29
|
+
size: "medium",
|
|
30
|
+
checked: data === null || data === void 0 ? void 0 : data.isActive,
|
|
31
|
+
onChange: function onChange(checked) {
|
|
32
|
+
return onStatusChange(data, checked, dispatch);
|
|
33
|
+
}
|
|
34
|
+
}));
|
|
35
|
+
}
|
|
36
|
+
}, {
|
|
37
|
+
title: "",
|
|
38
|
+
key: "actions",
|
|
39
|
+
showCheckbox: false,
|
|
40
|
+
width: 80,
|
|
41
|
+
render: function render(data) {
|
|
42
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
43
|
+
className: style.number
|
|
44
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
45
|
+
className: style.actions
|
|
46
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
47
|
+
onClick: function onClick() {
|
|
48
|
+
return onEditClick(data);
|
|
49
|
+
}
|
|
50
|
+
}, /*#__PURE__*/React.createElement(EditIcon, null)), /*#__PURE__*/React.createElement("div", {
|
|
51
|
+
onClick: function onClick() {
|
|
52
|
+
onDelete(data === null || data === void 0 ? void 0 : data.id);
|
|
53
|
+
dispatch(setDeleteModalVisible(true));
|
|
54
|
+
}
|
|
55
|
+
}, /*#__PURE__*/React.createElement(DeleteIconQ, null)))));
|
|
56
|
+
}
|
|
57
|
+
}];
|
|
58
|
+
};
|