@djb25/digit-ui-module-ekyc 1.0.37 → 1.0.39
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/index.js +1731 -1057
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +1732 -1058
- package/dist/index.modern.js.map +1 -1
- package/package.json +1 -1
package/dist/index.modern.js
CHANGED
|
@@ -4,17 +4,28 @@ import { useHistory, Link, useLocation, useParams, useRouteMatch, Switch, Route,
|
|
|
4
4
|
import { PersonIcon, EmployeeModuleCard, Loader, Card, InboxLinks, Table, HomeIcon, TextInput, Header, SubmitBar, DetailsCard, FilterForm, FilterFormField, Dropdown, Label, CustomTooltip, CardLabelError, InboxComposer, EditIcon, DeleteIcon, CardHeader, CardText, LabelFieldPair, CardLabel, ActionBar, Modal, Toast, RadioButtons, CardSubHeader, StatusTable, Row, GenericFileIcon, CheckBox, Menu, LinkButton, UploadFile, FormComposer, VerticalTimeline, Close, AppContainer, ModuleHeader, ArrowLeft, PrivateRoute, LayoutWrapper, CitizenHomeCard, DocumentIcon, BackButton } from '@djb25/digit-ui-react-components';
|
|
5
5
|
import * as Chartjs from 'chart.js/auto';
|
|
6
6
|
import Chartjs__default, { Chart } from 'chart.js/auto';
|
|
7
|
-
import { FaUsers, FaCheckCircle, FaClock, FaExclamationTriangle, FaUserTie, FaChartLine, FaSearch, FaArrowRight, FaMapMarkedAlt
|
|
7
|
+
import { FaUsers, FaCheckCircle, FaClock, FaExclamationTriangle, FaUserTie, FaChartLine, FaSearch, FaArrowRight, FaMapMarkedAlt } from 'react-icons/fa';
|
|
8
8
|
import { ResponsiveContainer, LineChart, CartesianGrid, XAxis, YAxis, Tooltip, Legend, Line, BarChart, Bar, PieChart, Pie, Cell } from 'recharts';
|
|
9
9
|
|
|
10
10
|
const EKYCCard = () => {
|
|
11
11
|
const _useTranslation = useTranslation(),
|
|
12
12
|
t = _useTranslation.t;
|
|
13
|
+
const tenantId = Digit.ULBService.getCurrentTenantId();
|
|
14
|
+
const _Digit$Hooks$ekyc$use = Digit.Hooks.ekyc.useEkycApplicationList({}, {
|
|
15
|
+
tenantId,
|
|
16
|
+
offset: 0,
|
|
17
|
+
limit: 1
|
|
18
|
+
}, {
|
|
19
|
+
enabled: !!tenantId
|
|
20
|
+
}),
|
|
21
|
+
listData = _Digit$Hooks$ekyc$use.data,
|
|
22
|
+
isLoading = _Digit$Hooks$ekyc$use.isLoading;
|
|
23
|
+
const totalCount = isLoading ? "-" : (listData === null || listData === void 0 ? void 0 : listData.totalCount) || 0;
|
|
13
24
|
const propsForModuleCard = {
|
|
14
25
|
Icon: /*#__PURE__*/React.createElement(PersonIcon, null),
|
|
15
26
|
moduleName: t("ACTION_TEST_EKYC"),
|
|
16
27
|
kpis: [{
|
|
17
|
-
count:
|
|
28
|
+
count: totalCount,
|
|
18
29
|
label: t("TOTAL_EKYC"),
|
|
19
30
|
link: "/digit-ui/employee/ekyc/dashboard"
|
|
20
31
|
}],
|
|
@@ -22,6 +33,10 @@ const EKYCCard = () => {
|
|
|
22
33
|
label: t("CEO_M.F_DOR_FINANCE_VIEW"),
|
|
23
34
|
link: "/digit-ui/employee/ekyc/ceo-dashboard"
|
|
24
35
|
}, {
|
|
36
|
+
label: t("EKYC_ADMIN_DASHBOARD") || "Admin Dashboard",
|
|
37
|
+
link: "/digit-ui/employee/ekyc/admin-dashboard"
|
|
38
|
+
}, {
|
|
39
|
+
count: totalCount,
|
|
25
40
|
label: t("EKYC_INBOX"),
|
|
26
41
|
link: "/digit-ui/employee/ekyc/inbox"
|
|
27
42
|
}, {
|
|
@@ -1573,305 +1588,6 @@ const CeoDashboard = () => {
|
|
|
1573
1588
|
}, /*#__PURE__*/React.createElement("h3", null, topKpis.successRate, "%"), /*#__PURE__*/React.createElement("p", null, "Operational Efficiency")))))));
|
|
1574
1589
|
};
|
|
1575
1590
|
|
|
1576
|
-
const VendorDetails = () => {
|
|
1577
|
-
var _vendor$dailyPerforma, _vendor$dailyPerforma2;
|
|
1578
|
-
const history = useHistory();
|
|
1579
|
-
const _useParams = useParams(),
|
|
1580
|
-
_useParams$vendorId = _useParams.vendorId,
|
|
1581
|
-
vendorId = _useParams$vendorId === void 0 ? 1 : _useParams$vendorId;
|
|
1582
|
-
const vendor = useMemo(() => ekycMockData.vendors.find(item => item.id === Number(vendorId)), [vendorId]);
|
|
1583
|
-
const tenantId = Digit.ULBService.getCurrentTenantId();
|
|
1584
|
-
const _Digit$Hooks$ekyc$use = Digit.Hooks.ekyc.useEkycSurveyorDashboard({}, {
|
|
1585
|
-
tenantId,
|
|
1586
|
-
offset: 0,
|
|
1587
|
-
limit: 10
|
|
1588
|
-
}, {
|
|
1589
|
-
enabled: !!tenantId
|
|
1590
|
-
});
|
|
1591
|
-
if (!vendor) {
|
|
1592
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
1593
|
-
className: "ekyc-dashboard-wrapper"
|
|
1594
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
1595
|
-
className: "dashboard-shell"
|
|
1596
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
1597
|
-
className: "detail-header"
|
|
1598
|
-
}, /*#__PURE__*/React.createElement("button", {
|
|
1599
|
-
className: "back-button",
|
|
1600
|
-
onClick: () => history.goBack()
|
|
1601
|
-
}, /*#__PURE__*/React.createElement(FaArrowLeft, null), " Back")), /*#__PURE__*/React.createElement("div", {
|
|
1602
|
-
className: "empty-state"
|
|
1603
|
-
}, /*#__PURE__*/React.createElement("h2", null, "Vendor analytics not found"), /*#__PURE__*/React.createElement("p", null, "The selected vendor does not exist in the current report. Please return to the dashboard."))));
|
|
1604
|
-
}
|
|
1605
|
-
const zoneRows = vendor.zones.slice(0, 8);
|
|
1606
|
-
const performanceData = vendor.dailyPerformance.map(row => ({
|
|
1607
|
-
day: row.day,
|
|
1608
|
-
completed: row.completed,
|
|
1609
|
-
pending: row.pending,
|
|
1610
|
-
rejected: row.rejected
|
|
1611
|
-
}));
|
|
1612
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
1613
|
-
className: "ekyc-dashboard-wrapper"
|
|
1614
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
1615
|
-
className: "dashboard-shell detail-shell"
|
|
1616
|
-
}, /*#__PURE__*/React.createElement("section", {
|
|
1617
|
-
className: "kpi-grid detail-kpi-grid"
|
|
1618
|
-
}, [{
|
|
1619
|
-
label: "Assigned Connections",
|
|
1620
|
-
value: vendor.assignedConnections,
|
|
1621
|
-
icon: /*#__PURE__*/React.createElement(FaUsers, null),
|
|
1622
|
-
variant: "primary"
|
|
1623
|
-
}, {
|
|
1624
|
-
label: "Agency eKYC",
|
|
1625
|
-
value: vendor.completedEkyc,
|
|
1626
|
-
icon: /*#__PURE__*/React.createElement(FaCheckCircle, null),
|
|
1627
|
-
variant: "success"
|
|
1628
|
-
}, {
|
|
1629
|
-
label: "Self eKYC",
|
|
1630
|
-
value: vendor.selfEkyc,
|
|
1631
|
-
icon: /*#__PURE__*/React.createElement(FaUsers, null),
|
|
1632
|
-
variant: "info"
|
|
1633
|
-
}, {
|
|
1634
|
-
label: "Pending",
|
|
1635
|
-
value: vendor.pending,
|
|
1636
|
-
icon: /*#__PURE__*/React.createElement(FaClock, null),
|
|
1637
|
-
variant: "warning"
|
|
1638
|
-
}, {
|
|
1639
|
-
label: "Rejected",
|
|
1640
|
-
value: vendor.rejected,
|
|
1641
|
-
icon: /*#__PURE__*/React.createElement(FaExclamationTriangle, null),
|
|
1642
|
-
variant: "danger"
|
|
1643
|
-
}, {
|
|
1644
|
-
label: "Success Rate",
|
|
1645
|
-
value: vendor.successRate + "%",
|
|
1646
|
-
icon: /*#__PURE__*/React.createElement(FaCheckCircle, null),
|
|
1647
|
-
variant: "success"
|
|
1648
|
-
}].map(item => {
|
|
1649
|
-
var _item$value$toLocaleS, _item$value, _item$value$toLocaleS2;
|
|
1650
|
-
return /*#__PURE__*/React.createElement("article", {
|
|
1651
|
-
key: item.label,
|
|
1652
|
-
className: "kpi-card card-" + item.variant
|
|
1653
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
1654
|
-
className: "kpi-icon"
|
|
1655
|
-
}, item.icon), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("p", {
|
|
1656
|
-
className: "kpi-title"
|
|
1657
|
-
}, item.label), /*#__PURE__*/React.createElement("h2", null, (_item$value$toLocaleS = (_item$value = item.value) === null || _item$value === void 0 ? void 0 : (_item$value$toLocaleS2 = _item$value.toLocaleString) === null || _item$value$toLocaleS2 === void 0 ? void 0 : _item$value$toLocaleS2.call(_item$value)) != null ? _item$value$toLocaleS : item.value)));
|
|
1658
|
-
})), /*#__PURE__*/React.createElement("section", {
|
|
1659
|
-
className: "analytics-grid detail-analytics-grid"
|
|
1660
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
1661
|
-
className: "analytics-panel glass-card"
|
|
1662
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
1663
|
-
className: "section-header"
|
|
1664
|
-
}, /*#__PURE__*/React.createElement("h2", null, "Daily Completion Trend"), /*#__PURE__*/React.createElement("span", {
|
|
1665
|
-
className: "badge success"
|
|
1666
|
-
}, "Performance")), /*#__PURE__*/React.createElement(ExecutiveLineChart, {
|
|
1667
|
-
data: performanceData,
|
|
1668
|
-
dataKey: "completed",
|
|
1669
|
-
name: "Completed"
|
|
1670
|
-
})), /*#__PURE__*/React.createElement("div", {
|
|
1671
|
-
className: "analytics-panel glass-card"
|
|
1672
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
1673
|
-
className: "section-header"
|
|
1674
|
-
}, /*#__PURE__*/React.createElement("h2", null, "Pending vs Completed"), /*#__PURE__*/React.createElement("span", {
|
|
1675
|
-
className: "badge warning"
|
|
1676
|
-
}, "Workload")), /*#__PURE__*/React.createElement(ExecutiveBarChart, {
|
|
1677
|
-
data: performanceData,
|
|
1678
|
-
categories: [{
|
|
1679
|
-
key: "completed",
|
|
1680
|
-
name: "Completed"
|
|
1681
|
-
}, {
|
|
1682
|
-
key: "pending",
|
|
1683
|
-
name: "Pending"
|
|
1684
|
-
}],
|
|
1685
|
-
xKey: "day"
|
|
1686
|
-
})), /*#__PURE__*/React.createElement("div", {
|
|
1687
|
-
className: "analytics-panel glass-card"
|
|
1688
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
1689
|
-
className: "section-header"
|
|
1690
|
-
}, /*#__PURE__*/React.createElement("h2", null, "Self vs Agency Split"), /*#__PURE__*/React.createElement("span", {
|
|
1691
|
-
className: "badge info"
|
|
1692
|
-
}, "Adoption")), /*#__PURE__*/React.createElement(ExecutivePieChart, {
|
|
1693
|
-
data: [{
|
|
1694
|
-
label: "Agency eKYC",
|
|
1695
|
-
value: vendor.completedEkyc
|
|
1696
|
-
}, {
|
|
1697
|
-
label: "Citizen Self eKYC",
|
|
1698
|
-
value: vendor.selfEkyc
|
|
1699
|
-
}],
|
|
1700
|
-
dataKey: "value",
|
|
1701
|
-
labelKey: "label"
|
|
1702
|
-
}))), /*#__PURE__*/React.createElement("section", {
|
|
1703
|
-
className: "zone-section detail-zone-section"
|
|
1704
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
1705
|
-
className: "section-header"
|
|
1706
|
-
}, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("h2", null, /*#__PURE__*/React.createElement(FaMapMarkedAlt, null), " Zone-wise Jurisdiction Analytics"), /*#__PURE__*/React.createElement("p", null, "Drill into the current operational load and heatmap intensity for this vendor."))), /*#__PURE__*/React.createElement("div", {
|
|
1707
|
-
className: "table-wrapper glass-card"
|
|
1708
|
-
}, /*#__PURE__*/React.createElement("table", null, /*#__PURE__*/React.createElement("thead", null, /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("th", null, "Zone"), /*#__PURE__*/React.createElement("th", null, "Cluster"), /*#__PURE__*/React.createElement("th", null, "Assigned"), /*#__PURE__*/React.createElement("th", null, "Agency eKYC"), /*#__PURE__*/React.createElement("th", null, "Pending"), /*#__PURE__*/React.createElement("th", null, "Activity Score"))), /*#__PURE__*/React.createElement("tbody", null, zoneRows.map((row, index) => {
|
|
1709
|
-
var _row$activeDemand$toL, _row$activeDemand, _row$pppZones$toLocal, _row$pppZones, _row$inactiveDemand$t, _row$inactiveDemand;
|
|
1710
|
-
return /*#__PURE__*/React.createElement("tr", {
|
|
1711
|
-
key: row.location + "-" + index
|
|
1712
|
-
}, /*#__PURE__*/React.createElement("td", null, row.location), /*#__PURE__*/React.createElement("td", null, row.cluster || row.district), /*#__PURE__*/React.createElement("td", null, (_row$activeDemand$toL = (_row$activeDemand = row.activeDemand) === null || _row$activeDemand === void 0 ? void 0 : _row$activeDemand.toLocaleString()) != null ? _row$activeDemand$toL : "—"), /*#__PURE__*/React.createElement("td", null, (_row$pppZones$toLocal = (_row$pppZones = row.pppZones) === null || _row$pppZones === void 0 ? void 0 : _row$pppZones.toLocaleString()) != null ? _row$pppZones$toLocal : "—"), /*#__PURE__*/React.createElement("td", null, (_row$inactiveDemand$t = (_row$inactiveDemand = row.inactiveDemand) === null || _row$inactiveDemand === void 0 ? void 0 : _row$inactiveDemand.toLocaleString()) != null ? _row$inactiveDemand$t : "—"), /*#__PURE__*/React.createElement("td", null, /*#__PURE__*/React.createElement("span", {
|
|
1713
|
-
className: "status-badge " + (row.intensityScore > 65 ? "danger" : row.intensityScore > 45 ? "warning" : "success")
|
|
1714
|
-
}, row.intensityScore, "%")));
|
|
1715
|
-
}))))), /*#__PURE__*/React.createElement("section", {
|
|
1716
|
-
className: "bottom-grid detail-bottom-grid"
|
|
1717
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
1718
|
-
className: "cards-summary glass-card"
|
|
1719
|
-
}, /*#__PURE__*/React.createElement("h2", null, "Operational Efficiency"), /*#__PURE__*/React.createElement("div", {
|
|
1720
|
-
className: "efficiency-grid"
|
|
1721
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
1722
|
-
className: "efficiency-box"
|
|
1723
|
-
}, /*#__PURE__*/React.createElement("h3", null, vendor.activeSurveyors), /*#__PURE__*/React.createElement("p", null, "Active Surveyors")), /*#__PURE__*/React.createElement("div", {
|
|
1724
|
-
className: "efficiency-box"
|
|
1725
|
-
}, /*#__PURE__*/React.createElement("h3", null, vendor.supervisors), /*#__PURE__*/React.createElement("p", null, "Supervisors")), /*#__PURE__*/React.createElement("div", {
|
|
1726
|
-
className: "efficiency-box"
|
|
1727
|
-
}, /*#__PURE__*/React.createElement("h3", null, vendor.progress, "%"), /*#__PURE__*/React.createElement("p", null, "Execution Rate")), /*#__PURE__*/React.createElement("div", {
|
|
1728
|
-
className: "efficiency-box"
|
|
1729
|
-
}, /*#__PURE__*/React.createElement("h3", null, (_vendor$dailyPerforma = vendor.dailyPerformance.slice(-1)[0]) === null || _vendor$dailyPerforma === void 0 ? void 0 : (_vendor$dailyPerforma2 = _vendor$dailyPerforma.completed) === null || _vendor$dailyPerforma2 === void 0 ? void 0 : _vendor$dailyPerforma2.toLocaleString()), /*#__PURE__*/React.createElement("p", null, "Latest Day Completed")))), /*#__PURE__*/React.createElement("div", {
|
|
1730
|
-
className: "cards-summary glass-card"
|
|
1731
|
-
}, /*#__PURE__*/React.createElement("h2", null, "Supervisor Pulse"), /*#__PURE__*/React.createElement("div", {
|
|
1732
|
-
className: "pulse-list"
|
|
1733
|
-
}, vendor.jurisdictions.map(zone => /*#__PURE__*/React.createElement("div", {
|
|
1734
|
-
key: zone,
|
|
1735
|
-
className: "pulse-row"
|
|
1736
|
-
}, /*#__PURE__*/React.createElement("span", null, zone), /*#__PURE__*/React.createElement("span", null, Math.max(12, Math.round(Math.random() * 38)), " active"))))))));
|
|
1737
|
-
};
|
|
1738
|
-
|
|
1739
|
-
const useInboxTableConfig = _ref => {
|
|
1740
|
-
var _formState$tableForm, _formState$tableForm2, _Digit$SessionStorage, _Digit$SessionStorage2, _Digit$SessionStorage3, _formState$searchForm;
|
|
1741
|
-
let onPageSizeChange = _ref.onPageSizeChange,
|
|
1742
|
-
formState = _ref.formState,
|
|
1743
|
-
totalCount = _ref.totalCount,
|
|
1744
|
-
table = _ref.table,
|
|
1745
|
-
dispatch = _ref.dispatch,
|
|
1746
|
-
checkPathName = _ref.checkPathName,
|
|
1747
|
-
onSortingByData = _ref.onSortingByData,
|
|
1748
|
-
tenantId = _ref.tenantId,
|
|
1749
|
-
_ref$inboxStyles = _ref.inboxStyles,
|
|
1750
|
-
inboxStyles = _ref$inboxStyles === void 0 ? {} : _ref$inboxStyles,
|
|
1751
|
-
_ref$tableStyle = _ref.tableStyle,
|
|
1752
|
-
tableStyle = _ref$tableStyle === void 0 ? {} : _ref$tableStyle;
|
|
1753
|
-
const _useTranslation = useTranslation(),
|
|
1754
|
-
t = _useTranslation.t;
|
|
1755
|
-
const history = useHistory();
|
|
1756
|
-
const _useState = useState(""),
|
|
1757
|
-
selectedKno = _useState[0],
|
|
1758
|
-
setSelectedKno = _useState[1];
|
|
1759
|
-
const _Digit$Hooks$ekyc$use = Digit.Hooks.ekyc.useEkycAPI("review", tenantId),
|
|
1760
|
-
reviewData = _Digit$Hooks$ekyc$use.data,
|
|
1761
|
-
getReview = _Digit$Hooks$ekyc$use.getReview;
|
|
1762
|
-
const handleReview = kno => {
|
|
1763
|
-
setSelectedKno(kno);
|
|
1764
|
-
getReview({
|
|
1765
|
-
kno
|
|
1766
|
-
});
|
|
1767
|
-
};
|
|
1768
|
-
const limit = (formState === null || formState === void 0 ? void 0 : (_formState$tableForm = formState.tableForm) === null || _formState$tableForm === void 0 ? void 0 : _formState$tableForm.limit) || 10;
|
|
1769
|
-
const offset = (formState === null || formState === void 0 ? void 0 : (_formState$tableForm2 = formState.tableForm) === null || _formState$tableForm2 === void 0 ? void 0 : _formState$tableForm2.offset) || 0;
|
|
1770
|
-
const userType = ((_Digit$SessionStorage = Digit.SessionStorage.get("User")) === null || _Digit$SessionStorage === void 0 ? void 0 : (_Digit$SessionStorage2 = _Digit$SessionStorage.info) === null || _Digit$SessionStorage2 === void 0 ? void 0 : (_Digit$SessionStorage3 = _Digit$SessionStorage2.type) === null || _Digit$SessionStorage3 === void 0 ? void 0 : _Digit$SessionStorage3.toLowerCase()) || "citizen";
|
|
1771
|
-
React.useEffect(() => {
|
|
1772
|
-
if (reviewData) {
|
|
1773
|
-
history.push("/digit-ui/" + userType + "/ekyc/review/" + selectedKno, {
|
|
1774
|
-
aadhaarData: reviewData === null || reviewData === void 0 ? void 0 : reviewData.aadhaarData,
|
|
1775
|
-
reviewData
|
|
1776
|
-
});
|
|
1777
|
-
}
|
|
1778
|
-
}, [reviewData]);
|
|
1779
|
-
const tableColumnConfig = [{
|
|
1780
|
-
Header: t("EKYC_APPLICATION_NO"),
|
|
1781
|
-
accessor: "applicationNumber",
|
|
1782
|
-
disableSortBy: true,
|
|
1783
|
-
Cell: _ref2 => {
|
|
1784
|
-
var _row$original, _row$original2;
|
|
1785
|
-
let row = _ref2.row;
|
|
1786
|
-
const kno = ((_row$original = row.original) === null || _row$original === void 0 ? void 0 : _row$original.kno) || ((_row$original2 = row.original) === null || _row$original2 === void 0 ? void 0 : _row$original2.applicationNumber) || "NA";
|
|
1787
|
-
return /*#__PURE__*/React.createElement("span", {
|
|
1788
|
-
className: "link",
|
|
1789
|
-
onClick: () => handleReview(kno)
|
|
1790
|
-
}, kno);
|
|
1791
|
-
}
|
|
1792
|
-
}, {
|
|
1793
|
-
Header: t("EKYC_CITIZEN_NAME"),
|
|
1794
|
-
accessor: "citizenName",
|
|
1795
|
-
Cell: _ref3 => {
|
|
1796
|
-
var _row$original3;
|
|
1797
|
-
let row = _ref3.row;
|
|
1798
|
-
return /*#__PURE__*/React.createElement("span", null, ((_row$original3 = row.original) === null || _row$original3 === void 0 ? void 0 : _row$original3.citizenName) || "NA");
|
|
1799
|
-
}
|
|
1800
|
-
}, {
|
|
1801
|
-
Header: t("EKYC_STATUS"),
|
|
1802
|
-
accessor: "actionStatus",
|
|
1803
|
-
Cell: _ref4 => {
|
|
1804
|
-
var _row$original4;
|
|
1805
|
-
let row = _ref4.row;
|
|
1806
|
-
const status = ((_row$original4 = row.original) === null || _row$original4 === void 0 ? void 0 : _row$original4.status) || "DEFAULT";
|
|
1807
|
-
return /*#__PURE__*/React.createElement("span", {
|
|
1808
|
-
className: "ekyc-status-tag " + status
|
|
1809
|
-
}, t("" + status));
|
|
1810
|
-
}
|
|
1811
|
-
}, {
|
|
1812
|
-
Header: t("EKYC_EKYC_STATUS"),
|
|
1813
|
-
accessor: "ekycStatus",
|
|
1814
|
-
Cell: _ref5 => {
|
|
1815
|
-
var _row$original5, _row$original6;
|
|
1816
|
-
let row = _ref5.row;
|
|
1817
|
-
const ekycStatus = (((_row$original5 = row.original) === null || _row$original5 === void 0 ? void 0 : _row$original5.ekycStatus) || ((_row$original6 = row.original) === null || _row$original6 === void 0 ? void 0 : _row$original6.ekycstatus) || "NA").toUpperCase();
|
|
1818
|
-
return /*#__PURE__*/React.createElement("span", {
|
|
1819
|
-
className: "ekyc-status-tag " + ekycStatus
|
|
1820
|
-
}, t("" + ekycStatus));
|
|
1821
|
-
}
|
|
1822
|
-
}];
|
|
1823
|
-
return {
|
|
1824
|
-
disableSort: false,
|
|
1825
|
-
autoSort: false,
|
|
1826
|
-
manualPagination: true,
|
|
1827
|
-
initSortId: "applicationDate",
|
|
1828
|
-
onPageSizeChange: onPageSizeChange,
|
|
1829
|
-
currentPage: offset,
|
|
1830
|
-
onNextPage: () => {
|
|
1831
|
-
var _formState$tableForm3;
|
|
1832
|
-
return dispatch({
|
|
1833
|
-
action: "mutateTableForm",
|
|
1834
|
-
data: _extends({}, formState.tableForm, {
|
|
1835
|
-
offset: parseInt((_formState$tableForm3 = formState.tableForm) === null || _formState$tableForm3 === void 0 ? void 0 : _formState$tableForm3.offset) + limit
|
|
1836
|
-
}),
|
|
1837
|
-
checkPathName
|
|
1838
|
-
});
|
|
1839
|
-
},
|
|
1840
|
-
onPrevPage: () => {
|
|
1841
|
-
var _formState$tableForm4;
|
|
1842
|
-
return dispatch({
|
|
1843
|
-
action: "mutateTableForm",
|
|
1844
|
-
data: _extends({}, formState.tableForm, {
|
|
1845
|
-
offset: parseInt((_formState$tableForm4 = formState.tableForm) === null || _formState$tableForm4 === void 0 ? void 0 : _formState$tableForm4.offset) - limit
|
|
1846
|
-
}),
|
|
1847
|
-
checkPathName
|
|
1848
|
-
});
|
|
1849
|
-
},
|
|
1850
|
-
pageSizeLimit: limit,
|
|
1851
|
-
onSort: onSortingByData,
|
|
1852
|
-
totalRecords: totalCount,
|
|
1853
|
-
onSearch: formState === null || formState === void 0 ? void 0 : (_formState$searchForm = formState.searchForm) === null || _formState$searchForm === void 0 ? void 0 : _formState$searchForm.message,
|
|
1854
|
-
onLastPage: () => dispatch({
|
|
1855
|
-
action: "mutateTableForm",
|
|
1856
|
-
data: _extends({}, formState.tableForm, {
|
|
1857
|
-
offset: Math.max(0, Math.floor((totalCount - 1) / limit) * limit)
|
|
1858
|
-
}),
|
|
1859
|
-
checkPathName
|
|
1860
|
-
}),
|
|
1861
|
-
onFirstPage: () => dispatch({
|
|
1862
|
-
action: "mutateTableForm",
|
|
1863
|
-
data: _extends({}, formState.tableForm, {
|
|
1864
|
-
offset: 0
|
|
1865
|
-
}),
|
|
1866
|
-
checkPathName
|
|
1867
|
-
}),
|
|
1868
|
-
data: table,
|
|
1869
|
-
columns: tableColumnConfig,
|
|
1870
|
-
inboxStyles: _extends({}, inboxStyles),
|
|
1871
|
-
tableStyle: _extends({}, tableStyle)
|
|
1872
|
-
};
|
|
1873
|
-
};
|
|
1874
|
-
|
|
1875
1591
|
const _iteratorSymbol = /*#__PURE__*/typeof Symbol !== "undefined" ? Symbol.iterator || (Symbol.iterator = Symbol("Symbol.iterator")) : "@@iterator";
|
|
1876
1592
|
const _asyncIteratorSymbol = /*#__PURE__*/typeof Symbol !== "undefined" ? Symbol.asyncIterator || (Symbol.asyncIterator = Symbol("Symbol.asyncIterator")) : "@@asyncIterator";
|
|
1877
1593
|
function _catch(body, recover) {
|
|
@@ -1897,35 +1613,937 @@ function _finallyRethrows(body, finalizer) {
|
|
|
1897
1613
|
return finalizer(false, result);
|
|
1898
1614
|
}
|
|
1899
1615
|
|
|
1900
|
-
|
|
1901
|
-
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
|
|
1905
|
-
|
|
1906
|
-
|
|
1907
|
-
|
|
1908
|
-
|
|
1909
|
-
|
|
1910
|
-
|
|
1911
|
-
|
|
1912
|
-
const
|
|
1913
|
-
|
|
1914
|
-
|
|
1915
|
-
|
|
1916
|
-
|
|
1917
|
-
|
|
1918
|
-
|
|
1919
|
-
|
|
1920
|
-
|
|
1921
|
-
|
|
1922
|
-
|
|
1923
|
-
|
|
1924
|
-
|
|
1925
|
-
|
|
1926
|
-
|
|
1927
|
-
|
|
1928
|
-
|
|
1616
|
+
const downloadSurveyorPDF = function (_ref) {
|
|
1617
|
+
let rows = _ref.rows,
|
|
1618
|
+
surveyorName = _ref.surveyorName,
|
|
1619
|
+
employeeId = _ref.employeeId,
|
|
1620
|
+
mobileNumber = _ref.mobileNumber,
|
|
1621
|
+
vendorName = _ref.vendorName,
|
|
1622
|
+
supervisorName = _ref.supervisorName,
|
|
1623
|
+
dashboardInfo = _ref.dashboardInfo,
|
|
1624
|
+
t = _ref.t;
|
|
1625
|
+
try {
|
|
1626
|
+
const tenantId = Digit.ULBService.getCurrentTenantId();
|
|
1627
|
+
const initData = Digit.SessionStorage.get("initData");
|
|
1628
|
+
const tenants = (initData === null || initData === void 0 ? void 0 : initData.tenants) || [];
|
|
1629
|
+
const tenantInfo = tenants.find(tenant => tenant.code === tenantId);
|
|
1630
|
+
const capitalize = text => text && text.substr(0, 1).toUpperCase() + text.substr(1);
|
|
1631
|
+
const ulbCamel = ulb => ulb && ulb.toLowerCase().split(" ").map(capitalize).join(" ");
|
|
1632
|
+
const name = "Delhi Jal Board";
|
|
1633
|
+
const email = "contact@delhijalboard.nic.in";
|
|
1634
|
+
const phoneNumber = "+91-11-23538416";
|
|
1635
|
+
const currentDate = new Date();
|
|
1636
|
+
const formattedDate = currentDate.toLocaleDateString("en-IN", {
|
|
1637
|
+
day: "2-digit",
|
|
1638
|
+
month: "2-digit",
|
|
1639
|
+
year: "numeric"
|
|
1640
|
+
});
|
|
1641
|
+
const formattedTime = currentDate.toLocaleTimeString("en-IN", {
|
|
1642
|
+
hour: "2-digit",
|
|
1643
|
+
minute: "2-digit",
|
|
1644
|
+
second: "2-digit",
|
|
1645
|
+
hour12: false
|
|
1646
|
+
});
|
|
1647
|
+
const downloadDateTime = formattedDate + " " + formattedTime;
|
|
1648
|
+
const isValDefined = val => val !== undefined && val !== null && val !== "";
|
|
1649
|
+
const details = [{
|
|
1650
|
+
title: t("SURVEYOR_DETAILS"),
|
|
1651
|
+
asSectionHeader: true,
|
|
1652
|
+
values: [{
|
|
1653
|
+
title: t("SURVEYOR_NAME"),
|
|
1654
|
+
value: surveyorName
|
|
1655
|
+
}, {
|
|
1656
|
+
title: t("MOBILE_NUMBER"),
|
|
1657
|
+
value: mobileNumber
|
|
1658
|
+
}, {
|
|
1659
|
+
title: t("VENDOR_NAME"),
|
|
1660
|
+
value: vendorName
|
|
1661
|
+
}, {
|
|
1662
|
+
title: t("SUPERVISOR_NAME"),
|
|
1663
|
+
value: supervisorName
|
|
1664
|
+
}].filter(item => isValDefined(item.value))
|
|
1665
|
+
}, {
|
|
1666
|
+
title: t("SUMMARY_STATISTICS"),
|
|
1667
|
+
asSectionHeader: true,
|
|
1668
|
+
values: [{
|
|
1669
|
+
title: t("TOTAL_ASSIGNED"),
|
|
1670
|
+
value: (dashboardInfo === null || dashboardInfo === void 0 ? void 0 : dashboardInfo.total) || 0
|
|
1671
|
+
}, {
|
|
1672
|
+
title: t("COMPLETED"),
|
|
1673
|
+
value: (dashboardInfo === null || dashboardInfo === void 0 ? void 0 : dashboardInfo.completed) || 0
|
|
1674
|
+
}, {
|
|
1675
|
+
title: t("PENDING"),
|
|
1676
|
+
value: (dashboardInfo === null || dashboardInfo === void 0 ? void 0 : dashboardInfo.pending) || 0
|
|
1677
|
+
}, {
|
|
1678
|
+
title: t("SUBMITTED"),
|
|
1679
|
+
value: (dashboardInfo === null || dashboardInfo === void 0 ? void 0 : dashboardInfo.submittedCount) || 0
|
|
1680
|
+
}].filter(item => isValDefined(item.value))
|
|
1681
|
+
}];
|
|
1682
|
+
if (window.Digit && window.Digit.Utils && window.Digit.Utils.pdf && window.Digit.Utils.pdf.generateSurveyorReport) {
|
|
1683
|
+
window.Digit.Utils.pdf.generateSurveyorReport({
|
|
1684
|
+
tenantId,
|
|
1685
|
+
logo: null,
|
|
1686
|
+
name,
|
|
1687
|
+
email,
|
|
1688
|
+
phoneNumber,
|
|
1689
|
+
heading: t("EKYC_SURVEYOR_REPORT"),
|
|
1690
|
+
details,
|
|
1691
|
+
applicationNumber: employeeId,
|
|
1692
|
+
rows,
|
|
1693
|
+
t,
|
|
1694
|
+
hideApplicationNumber: true,
|
|
1695
|
+
downloadTime: downloadDateTime
|
|
1696
|
+
});
|
|
1697
|
+
} else {
|
|
1698
|
+
console.error("Digit.Utils.pdf.generateSurveyorReport is not available");
|
|
1699
|
+
}
|
|
1700
|
+
return Promise.resolve();
|
|
1701
|
+
} catch (e) {
|
|
1702
|
+
return Promise.reject(e);
|
|
1703
|
+
}
|
|
1704
|
+
};
|
|
1705
|
+
const downloadVendorPDF = function (_ref3) {
|
|
1706
|
+
let rows = _ref3.rows,
|
|
1707
|
+
vendorName = _ref3.vendorName,
|
|
1708
|
+
mobileNumber = _ref3.mobileNumber,
|
|
1709
|
+
email = _ref3.email,
|
|
1710
|
+
dashboardInfo = _ref3.dashboardInfo,
|
|
1711
|
+
t = _ref3.t;
|
|
1712
|
+
try {
|
|
1713
|
+
const tenantId = Digit.ULBService.getCurrentTenantId();
|
|
1714
|
+
const name = "Delhi Jal Board";
|
|
1715
|
+
const emailContact = "contact@delhijalboard.nic.in";
|
|
1716
|
+
const phoneNumber = "+91-11-23538416";
|
|
1717
|
+
const currentDate = new Date();
|
|
1718
|
+
const formattedDate = currentDate.toLocaleDateString("en-IN", {
|
|
1719
|
+
day: "2-digit",
|
|
1720
|
+
month: "2-digit",
|
|
1721
|
+
year: "numeric"
|
|
1722
|
+
});
|
|
1723
|
+
const formattedTime = currentDate.toLocaleTimeString("en-IN", {
|
|
1724
|
+
hour: "2-digit",
|
|
1725
|
+
minute: "2-digit",
|
|
1726
|
+
second: "2-digit",
|
|
1727
|
+
hour12: false
|
|
1728
|
+
});
|
|
1729
|
+
const downloadDateTime = formattedDate + " " + formattedTime;
|
|
1730
|
+
const isValDefined = val => val !== undefined && val !== null && val !== "";
|
|
1731
|
+
const details = [{
|
|
1732
|
+
title: t("VENDOR_DETAILS") || "Vendor Details",
|
|
1733
|
+
asSectionHeader: true,
|
|
1734
|
+
values: [{
|
|
1735
|
+
title: t("VENDOR_NAME") || "Vendor Name",
|
|
1736
|
+
value: vendorName
|
|
1737
|
+
}, {
|
|
1738
|
+
title: t("MOBILE_NUMBER") || "Mobile Number",
|
|
1739
|
+
value: mobileNumber
|
|
1740
|
+
}, {
|
|
1741
|
+
title: t("EMAIL") || "Email",
|
|
1742
|
+
value: email
|
|
1743
|
+
}].filter(item => isValDefined(item.value))
|
|
1744
|
+
}, {
|
|
1745
|
+
title: t("SUMMARY_STATISTICS") || "Summary Statistics",
|
|
1746
|
+
asSectionHeader: true,
|
|
1747
|
+
values: [{
|
|
1748
|
+
title: t("TOTAL_ASSIGNED") || "Total Assigned",
|
|
1749
|
+
value: (dashboardInfo === null || dashboardInfo === void 0 ? void 0 : dashboardInfo.total) || 0
|
|
1750
|
+
}, {
|
|
1751
|
+
title: t("COMPLETED") || "Completed",
|
|
1752
|
+
value: (dashboardInfo === null || dashboardInfo === void 0 ? void 0 : dashboardInfo.completed) || 0
|
|
1753
|
+
}, {
|
|
1754
|
+
title: t("PENDING") || "Pending",
|
|
1755
|
+
value: (dashboardInfo === null || dashboardInfo === void 0 ? void 0 : dashboardInfo.pending) || 0
|
|
1756
|
+
}, {
|
|
1757
|
+
title: t("SUBMITTED") || "Submitted",
|
|
1758
|
+
value: (dashboardInfo === null || dashboardInfo === void 0 ? void 0 : dashboardInfo.submittedCount) || 0
|
|
1759
|
+
}].filter(item => isValDefined(item.value))
|
|
1760
|
+
}];
|
|
1761
|
+
const mappedRows = rows.map(row => ({
|
|
1762
|
+
kno: row.name || "N/A",
|
|
1763
|
+
firstName: row.mobileNo || "N/A",
|
|
1764
|
+
lastName: "",
|
|
1765
|
+
mobileNo: row.status || "N/A",
|
|
1766
|
+
zoneName: String(row.total || 0),
|
|
1767
|
+
ekycStatus: (row.completed || 0) + " / " + (row.pending || 0),
|
|
1768
|
+
submittedAt: 1717171717171,
|
|
1769
|
+
progress: row.progress || "0%"
|
|
1770
|
+
}));
|
|
1771
|
+
const originalToLocaleDateString = Date.prototype.toLocaleDateString;
|
|
1772
|
+
let progressIndex = 0;
|
|
1773
|
+
Date.prototype.toLocaleDateString = function () {
|
|
1774
|
+
if (progressIndex < mappedRows.length) {
|
|
1775
|
+
return mappedRows[progressIndex++].progress || "0%";
|
|
1776
|
+
}
|
|
1777
|
+
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
1778
|
+
args[_key2] = arguments[_key2];
|
|
1779
|
+
}
|
|
1780
|
+
return originalToLocaleDateString.apply(this, args);
|
|
1781
|
+
};
|
|
1782
|
+
const customT = key => {
|
|
1783
|
+
if (key === "KNO") return t("SUPERVISOR_NAME") || "Supervisor Name";
|
|
1784
|
+
if (key === "CONSUMER") return t("MOBILE_NUMBER") || "Mobile Number";
|
|
1785
|
+
if (key === "MOBILE") return t("STATUS") || "Status";
|
|
1786
|
+
if (key === "ZONE") return t("TOTAL_EKYC_APPLICATIONS") || "Total eKYC Applications";
|
|
1787
|
+
if (key === "EKYC_STATUS") return t("COMPLETED_PENDING") || "Completed / Pending";
|
|
1788
|
+
if (key === "SUBMITTED_DATE") return t("OVERALL_PROGRESS") || "Overall Progress";
|
|
1789
|
+
if (key === "CONSUMER_LIST") return t("CONNECTED_SUPERVISORS") || "Connected Supervisors";
|
|
1790
|
+
return t(key);
|
|
1791
|
+
};
|
|
1792
|
+
try {
|
|
1793
|
+
if (window.Digit && window.Digit.Utils && window.Digit.Utils.pdf && window.Digit.Utils.pdf.generateSurveyorReport) {
|
|
1794
|
+
window.Digit.Utils.pdf.generateSurveyorReport({
|
|
1795
|
+
tenantId,
|
|
1796
|
+
logo: null,
|
|
1797
|
+
name,
|
|
1798
|
+
email: emailContact,
|
|
1799
|
+
phoneNumber,
|
|
1800
|
+
heading: t("EKYC_VENDOR_REPORT") || "eKYC Vendor Report",
|
|
1801
|
+
details,
|
|
1802
|
+
applicationNumber: mobileNumber,
|
|
1803
|
+
rows: mappedRows,
|
|
1804
|
+
t: customT,
|
|
1805
|
+
hideApplicationNumber: true,
|
|
1806
|
+
downloadTime: downloadDateTime
|
|
1807
|
+
});
|
|
1808
|
+
} else {
|
|
1809
|
+
console.error("Digit.Utils.pdf.generateSurveyorReport is not available");
|
|
1810
|
+
}
|
|
1811
|
+
} finally {
|
|
1812
|
+
Date.prototype.toLocaleDateString = originalToLocaleDateString;
|
|
1813
|
+
}
|
|
1814
|
+
return Promise.resolve();
|
|
1815
|
+
} catch (e) {
|
|
1816
|
+
return Promise.reject(e);
|
|
1817
|
+
}
|
|
1818
|
+
};
|
|
1819
|
+
|
|
1820
|
+
const VendorDetailsCard = () => {
|
|
1821
|
+
var _Digit$SessionStorage, _vendor$owner, _vendor$owner2, _vendorName$charAt;
|
|
1822
|
+
const _useTranslation = useTranslation(),
|
|
1823
|
+
t = _useTranslation.t;
|
|
1824
|
+
const history = useHistory();
|
|
1825
|
+
const tenantId = Digit.ULBService.getCurrentTenantId() || "dl.djb";
|
|
1826
|
+
const _useParams = useParams(),
|
|
1827
|
+
vendorId = _useParams.vendorId;
|
|
1828
|
+
const _Digit$Hooks$ekyc$use = Digit.Hooks.ekyc.useEkycAssignmentProgress({
|
|
1829
|
+
enabled: !!tenantId,
|
|
1830
|
+
keepPreviousData: true
|
|
1831
|
+
}),
|
|
1832
|
+
isProgressLoading = _Digit$Hooks$ekyc$use.isLoading,
|
|
1833
|
+
progressData = _Digit$Hooks$ekyc$use.data;
|
|
1834
|
+
const _Digit$Hooks$fsm$useD = Digit.Hooks.fsm.useDsoSearch(tenantId, {
|
|
1835
|
+
status: "ACTIVE"
|
|
1836
|
+
}, {
|
|
1837
|
+
enabled: !!tenantId
|
|
1838
|
+
}),
|
|
1839
|
+
vendorSearchResponse = _Digit$Hooks$fsm$useD.data,
|
|
1840
|
+
isVendorSearchLoading = _Digit$Hooks$fsm$useD.isLoading;
|
|
1841
|
+
const _Digit$Hooks$fsm$useS = Digit.Hooks.fsm.useSupervisorSearch(tenantId, {
|
|
1842
|
+
status: "ACTIVE"
|
|
1843
|
+
}, {
|
|
1844
|
+
enabled: !!tenantId
|
|
1845
|
+
}),
|
|
1846
|
+
supervisorSearchResponse = _Digit$Hooks$fsm$useS.data,
|
|
1847
|
+
isSupervisorSearchLoading = _Digit$Hooks$fsm$useS.isLoading;
|
|
1848
|
+
const loggedInUser = (_Digit$SessionStorage = Digit.SessionStorage.get("User")) === null || _Digit$SessionStorage === void 0 ? void 0 : _Digit$SessionStorage.info;
|
|
1849
|
+
const vendor = useMemo(() => {
|
|
1850
|
+
const userUuid = loggedInUser === null || loggedInUser === void 0 ? void 0 : loggedInUser.uuid;
|
|
1851
|
+
const userMobile = loggedInUser === null || loggedInUser === void 0 ? void 0 : loggedInUser.mobileNumber;
|
|
1852
|
+
const matchesUser = v => {
|
|
1853
|
+
var _v$owner, _v$owner2, _v$owner3;
|
|
1854
|
+
const ownerUuid = ((_v$owner = v.owner) === null || _v$owner === void 0 ? void 0 : _v$owner.uuid) || ((_v$owner2 = v.owner) === null || _v$owner2 === void 0 ? void 0 : _v$owner2.id);
|
|
1855
|
+
const ownerMobile = ((_v$owner3 = v.owner) === null || _v$owner3 === void 0 ? void 0 : _v$owner3.mobileNumber) || v.mobileNumber;
|
|
1856
|
+
return userUuid && ownerUuid === userUuid || userMobile && ownerMobile === userMobile;
|
|
1857
|
+
};
|
|
1858
|
+
if (vendorSearchResponse) {
|
|
1859
|
+
if (vendorId) {
|
|
1860
|
+
const matched = vendorSearchResponse.find(v => {
|
|
1861
|
+
var _v$dsoDetails, _v$dsoDetails2;
|
|
1862
|
+
return ((_v$dsoDetails = v.dsoDetails) === null || _v$dsoDetails === void 0 ? void 0 : _v$dsoDetails.id) === vendorId || ((_v$dsoDetails2 = v.dsoDetails) === null || _v$dsoDetails2 === void 0 ? void 0 : _v$dsoDetails2.vendorId) === vendorId || v.id === vendorId || v.vendorId === vendorId;
|
|
1863
|
+
});
|
|
1864
|
+
if (matched) return matched.dsoDetails || matched;
|
|
1865
|
+
} else {
|
|
1866
|
+
const matched = vendorSearchResponse.find(v => matchesUser(v.dsoDetails || v));
|
|
1867
|
+
if (matched) return matched.dsoDetails || matched;
|
|
1868
|
+
if (vendorSearchResponse.length > 0) return vendorSearchResponse[0].dsoDetails || vendorSearchResponse[0];
|
|
1869
|
+
}
|
|
1870
|
+
}
|
|
1871
|
+
if (vendorId) {
|
|
1872
|
+
return ekycMockData.vendors.find(v => v.id === Number(vendorId) || v.name === vendorId) || ekycMockData.vendors[0];
|
|
1873
|
+
} else {
|
|
1874
|
+
const matchedMock = ekycMockData.vendors.find(v => {
|
|
1875
|
+
var _v$name, _loggedInUser$name;
|
|
1876
|
+
return ((_v$name = v.name) === null || _v$name === void 0 ? void 0 : _v$name.toLowerCase()) === (loggedInUser === null || loggedInUser === void 0 ? void 0 : (_loggedInUser$name = loggedInUser.name) === null || _loggedInUser$name === void 0 ? void 0 : _loggedInUser$name.toLowerCase());
|
|
1877
|
+
});
|
|
1878
|
+
return matchedMock || ekycMockData.vendors[0];
|
|
1879
|
+
}
|
|
1880
|
+
}, [vendorSearchResponse, vendorId, loggedInUser]);
|
|
1881
|
+
const vendorSupervisors = useMemo(() => {
|
|
1882
|
+
if (!(supervisorSearchResponse !== null && supervisorSearchResponse !== void 0 && supervisorSearchResponse.supervisors)) {
|
|
1883
|
+
if (vendor && Array.isArray(ekycMockData.vendors)) {
|
|
1884
|
+
const mockSupList = Array.from({
|
|
1885
|
+
length: vendor.supervisors || 5
|
|
1886
|
+
}, (_, i) => ({
|
|
1887
|
+
id: "SUP_V_" + (vendor.id || 1) + "_" + i,
|
|
1888
|
+
name: "Supervisor " + (i + 1) + " (" + vendor.name + ")",
|
|
1889
|
+
mobileNo: "99999120" + i,
|
|
1890
|
+
status: "ACTIVE",
|
|
1891
|
+
totalKnos: Math.round(1000 + Math.random() * 4000),
|
|
1892
|
+
submittedKnos: Math.round(500 + Math.random() * 2000),
|
|
1893
|
+
pendingKnos: Math.round(200 + Math.random() * 1000),
|
|
1894
|
+
progressPercent: Math.round(40 + Math.random() * 50)
|
|
1895
|
+
}));
|
|
1896
|
+
return mockSupList;
|
|
1897
|
+
}
|
|
1898
|
+
return [];
|
|
1899
|
+
}
|
|
1900
|
+
const currentVendorId = (vendor === null || vendor === void 0 ? void 0 : vendor.id) || (vendor === null || vendor === void 0 ? void 0 : vendor.vendorId) || vendorId;
|
|
1901
|
+
const matchedSups = supervisorSearchResponse.supervisors.filter(s => s.vendorId === currentVendorId);
|
|
1902
|
+
return matchedSups.map(sup => {
|
|
1903
|
+
var _progressData$supervi, _sup$owner2, _sup$owner3, _sup$owner4;
|
|
1904
|
+
const report = progressData === null || progressData === void 0 ? void 0 : (_progressData$supervi = progressData.supervisorReport) === null || _progressData$supervi === void 0 ? void 0 : _progressData$supervi.find(r => {
|
|
1905
|
+
var _sup$owner;
|
|
1906
|
+
return r.supervisorId === sup.id || r.supervisorId === ((_sup$owner = sup.owner) === null || _sup$owner === void 0 ? void 0 : _sup$owner.uuid);
|
|
1907
|
+
});
|
|
1908
|
+
return {
|
|
1909
|
+
id: sup.id || ((_sup$owner2 = sup.owner) === null || _sup$owner2 === void 0 ? void 0 : _sup$owner2.uuid),
|
|
1910
|
+
name: sup.name || ((_sup$owner3 = sup.owner) === null || _sup$owner3 === void 0 ? void 0 : _sup$owner3.name) || "N/A",
|
|
1911
|
+
mobileNo: ((_sup$owner4 = sup.owner) === null || _sup$owner4 === void 0 ? void 0 : _sup$owner4.mobileNumber) || sup.mobileNo || "N/A",
|
|
1912
|
+
status: sup.status || "ACTIVE",
|
|
1913
|
+
totalKnos: (report === null || report === void 0 ? void 0 : report.totalKnos) || 0,
|
|
1914
|
+
submittedKnos: (report === null || report === void 0 ? void 0 : report.submittedKnos) || 0,
|
|
1915
|
+
pendingKnos: (report === null || report === void 0 ? void 0 : report.pendingKnos) || 0,
|
|
1916
|
+
progressPercent: (report === null || report === void 0 ? void 0 : report.progressPercent) || 0
|
|
1917
|
+
};
|
|
1918
|
+
});
|
|
1919
|
+
}, [supervisorSearchResponse, vendor, progressData, vendorId]);
|
|
1920
|
+
const vendorName = (vendor === null || vendor === void 0 ? void 0 : vendor.name) || "N/A";
|
|
1921
|
+
const mobileNumber = (vendor === null || vendor === void 0 ? void 0 : vendor.mobileNumber) || (vendor === null || vendor === void 0 ? void 0 : (_vendor$owner = vendor.owner) === null || _vendor$owner === void 0 ? void 0 : _vendor$owner.mobileNumber) || "N/A";
|
|
1922
|
+
const email = (vendor === null || vendor === void 0 ? void 0 : (_vendor$owner2 = vendor.owner) === null || _vendor$owner2 === void 0 ? void 0 : _vendor$owner2.emailId) || "N/A";
|
|
1923
|
+
const status = vendor ? "ACTIVE" : "N/A";
|
|
1924
|
+
const jurisdictions = useMemo(() => {
|
|
1925
|
+
if (Array.isArray(vendor === null || vendor === void 0 ? void 0 : vendor.jurisdictions)) {
|
|
1926
|
+
return vendor.jurisdictions.join(", ");
|
|
1927
|
+
}
|
|
1928
|
+
return "N/A";
|
|
1929
|
+
}, [vendor]);
|
|
1930
|
+
const cards = useMemo(() => {
|
|
1931
|
+
const hasRealData = vendorSupervisors.some(s => s.totalKnos > 0);
|
|
1932
|
+
const totalKnos = hasRealData ? vendorSupervisors.reduce((acc, s) => acc + (s.totalKnos || 0), 0) : (progressData === null || progressData === void 0 ? void 0 : progressData.totalKnos) || (vendor === null || vendor === void 0 ? void 0 : vendor.assignedConnections) || 0;
|
|
1933
|
+
const completedKnos = hasRealData ? vendorSupervisors.reduce((acc, s) => acc + (s.submittedKnos || 0), 0) : (progressData === null || progressData === void 0 ? void 0 : progressData.completedKnos) || (vendor === null || vendor === void 0 ? void 0 : vendor.completedEkyc) || 0;
|
|
1934
|
+
const pendingKnos = hasRealData ? vendorSupervisors.reduce((acc, s) => acc + (s.pendingKnos || 0), 0) : totalKnos - completedKnos;
|
|
1935
|
+
const progressPercent = totalKnos > 0 ? Math.round(completedKnos / totalKnos * 100) : (vendor === null || vendor === void 0 ? void 0 : vendor.progress) || 0;
|
|
1936
|
+
return [{
|
|
1937
|
+
label: "TOTAL_EKYC_APPLICATIONS",
|
|
1938
|
+
count: totalKnos,
|
|
1939
|
+
color: "#0B2559",
|
|
1940
|
+
type: "today",
|
|
1941
|
+
icon: /*#__PURE__*/React.createElement(FaUsers, null)
|
|
1942
|
+
}, {
|
|
1943
|
+
label: "TOTAL_ASSIGNMENTS",
|
|
1944
|
+
count: totalKnos,
|
|
1945
|
+
color: "#3B82F6",
|
|
1946
|
+
type: "week",
|
|
1947
|
+
icon: /*#__PURE__*/React.createElement(FaMapMarkedAlt, null)
|
|
1948
|
+
}, {
|
|
1949
|
+
label: "EKYC_COMPLETED",
|
|
1950
|
+
count: completedKnos,
|
|
1951
|
+
color: "#10B981",
|
|
1952
|
+
type: "month",
|
|
1953
|
+
icon: /*#__PURE__*/React.createElement(FaCheckCircle, null)
|
|
1954
|
+
}, {
|
|
1955
|
+
label: "PENDING_APPLICATIONS",
|
|
1956
|
+
count: pendingKnos,
|
|
1957
|
+
color: "#F59E0B",
|
|
1958
|
+
type: "pending",
|
|
1959
|
+
icon: /*#__PURE__*/React.createElement(FaClock, null)
|
|
1960
|
+
}, {
|
|
1961
|
+
label: "OVERALL_PROGRESS",
|
|
1962
|
+
count: progressPercent + "%",
|
|
1963
|
+
color: "#A855F7",
|
|
1964
|
+
type: "progress",
|
|
1965
|
+
icon: /*#__PURE__*/React.createElement(FaChartLine, null)
|
|
1966
|
+
}];
|
|
1967
|
+
}, [vendorSupervisors, vendor, progressData]);
|
|
1968
|
+
const _useState = useState(0),
|
|
1969
|
+
currentPage = _useState[0],
|
|
1970
|
+
setCurrentPage = _useState[1];
|
|
1971
|
+
const _useState2 = useState(20),
|
|
1972
|
+
pageSize = _useState2[0],
|
|
1973
|
+
setPageSize = _useState2[1];
|
|
1974
|
+
const _useState3 = useState(false),
|
|
1975
|
+
ekycDownloadLoading = _useState3[0],
|
|
1976
|
+
setEkycDownloadLoading = _useState3[1];
|
|
1977
|
+
const handleDownloadEkycData = function () {
|
|
1978
|
+
try {
|
|
1979
|
+
setEkycDownloadLoading(true);
|
|
1980
|
+
return Promise.resolve(_finallyRethrows(function () {
|
|
1981
|
+
return _catch(function () {
|
|
1982
|
+
return Promise.resolve(Digit.EkycService.application_list({
|
|
1983
|
+
tenantId: tenantId,
|
|
1984
|
+
offset: 0,
|
|
1985
|
+
limit: 10000,
|
|
1986
|
+
reportDownload: true
|
|
1987
|
+
})).then(function (response) {
|
|
1988
|
+
const consumerList = (response === null || response === void 0 ? void 0 : response.consumerList) || [];
|
|
1989
|
+
if (!consumerList || consumerList.length === 0) {
|
|
1990
|
+
alert(t("NO_EKYC_DATA_FOUND") || "No eKYC data found to download.");
|
|
1991
|
+
return;
|
|
1992
|
+
}
|
|
1993
|
+
const excludedKeys = ["status", "source", "submittedAt", "assignedAt", "connectionType", "approvedAt", "alternateMobileNo", "city", "state", "addressType", "addressProofType", "mrcode", "areacode", "verificationStatus", "surveyorId", "supervisorId", "vendorId", "assignmentType", "assignmentValue", "assignedTime", "isSelfAssigned", "userType", "tenantName", "tenantMobile"];
|
|
1994
|
+
const headerMapping = {
|
|
1995
|
+
kno: t("KNO") || "KNO",
|
|
1996
|
+
firstName: t("FIRST_NAME") || "First Name",
|
|
1997
|
+
middleName: t("MIDDLE_NAME") || "Middle Name",
|
|
1998
|
+
lastName: t("LAST_NAME") || "Last Name",
|
|
1999
|
+
gender: t("GENDER") || "Gender",
|
|
2000
|
+
mobileNumber: t("MOBILE_NUMBER") || "Mobile Number",
|
|
2001
|
+
emailId: t("EMAIL_ID") || "Email ID",
|
|
2002
|
+
fatherOrHusbandName: t("FATHER_HUSBUND_NAME") || "Father/Husband Name",
|
|
2003
|
+
relationship: t("RELATIONSHIP") || "Relationship",
|
|
2004
|
+
dob: t("DOB") || "Date of Birth",
|
|
2005
|
+
ekycStatus: t("EKYC_STATUS") || "eKYC Status",
|
|
2006
|
+
zoneName: t("ZONE") || "Zone",
|
|
2007
|
+
assembly: t("ASSEMBLY") || "Assembly",
|
|
2008
|
+
ward: t("WARD") || "Ward",
|
|
2009
|
+
pincode: t("PINCODE") || "Pincode",
|
|
2010
|
+
mrkey: t("MR_KEY") || "MR Key",
|
|
2011
|
+
createdTime: t("CREATED_TIME") || "Created Time",
|
|
2012
|
+
lastModifiedTime: t("LAST_MODIFIED_TIME") || "Last Modified Time"
|
|
2013
|
+
};
|
|
2014
|
+
const excelData = consumerList.map(item => {
|
|
2015
|
+
const cleanObj = {};
|
|
2016
|
+
const fullName = [item.firstName, item.middleName, item.lastName].filter(Boolean).join(" ");
|
|
2017
|
+
if (fullName) {
|
|
2018
|
+
cleanObj[t("CONSUMER_NAME") || "Consumer Name"] = fullName;
|
|
2019
|
+
}
|
|
2020
|
+
Object.keys(item).forEach(key => {
|
|
2021
|
+
if (excludedKeys.includes(key)) return;
|
|
2022
|
+
const val = item[key];
|
|
2023
|
+
if (typeof val === "object" && val !== null) {
|
|
2024
|
+
return;
|
|
2025
|
+
}
|
|
2026
|
+
const friendlyHeader = headerMapping[key] || t(key.toUpperCase()) || key;
|
|
2027
|
+
cleanObj[friendlyHeader] = val;
|
|
2028
|
+
});
|
|
2029
|
+
return cleanObj;
|
|
2030
|
+
});
|
|
2031
|
+
const cleanFileName = "eKYC_Data_" + vendorName.replace(/[^a-zA-Z0-9]/g, "_");
|
|
2032
|
+
Digit.Download.Excel(excelData, cleanFileName);
|
|
2033
|
+
});
|
|
2034
|
+
}, function (error) {
|
|
2035
|
+
console.error("Failed to download eKYC data:", error);
|
|
2036
|
+
alert(t("EKYC_DOWNLOAD_FAILED") || "Failed to download eKYC data. Please try again.");
|
|
2037
|
+
});
|
|
2038
|
+
}, function (_wasThrown, _result) {
|
|
2039
|
+
setEkycDownloadLoading(false);
|
|
2040
|
+
if (_wasThrown) throw _result;
|
|
2041
|
+
return _result;
|
|
2042
|
+
}));
|
|
2043
|
+
} catch (e) {
|
|
2044
|
+
return Promise.reject(e);
|
|
2045
|
+
}
|
|
2046
|
+
};
|
|
2047
|
+
const paginatedSupervisors = useMemo(() => {
|
|
2048
|
+
const start = currentPage * pageSize;
|
|
2049
|
+
const end = start + pageSize;
|
|
2050
|
+
return vendorSupervisors.slice(start, end);
|
|
2051
|
+
}, [vendorSupervisors, currentPage, pageSize]);
|
|
2052
|
+
const supervisorColumns = useMemo(() => [{
|
|
2053
|
+
Header: t("SUPERVISOR_NAME") || "Supervisor Name",
|
|
2054
|
+
accessor: row => (row === null || row === void 0 ? void 0 : row.name) || "N/A",
|
|
2055
|
+
Cell: _ref => {
|
|
2056
|
+
var _row$original;
|
|
2057
|
+
let row = _ref.row;
|
|
2058
|
+
return /*#__PURE__*/React.createElement("a", {
|
|
2059
|
+
href: "/digit-ui/employee/ekyc/assign/surveyor-details/" + row.original.id,
|
|
2060
|
+
style: {
|
|
2061
|
+
color: "#1D70B8",
|
|
2062
|
+
fontWeight: "600",
|
|
2063
|
+
textDecoration: "none"
|
|
2064
|
+
},
|
|
2065
|
+
onClick: e => {
|
|
2066
|
+
var _Digit$SessionStorage2, _Digit$SessionStorage3, _Digit$SessionStorage4;
|
|
2067
|
+
const userType = ((_Digit$SessionStorage2 = Digit.SessionStorage.get("User")) === null || _Digit$SessionStorage2 === void 0 ? void 0 : (_Digit$SessionStorage3 = _Digit$SessionStorage2.info) === null || _Digit$SessionStorage3 === void 0 ? void 0 : (_Digit$SessionStorage4 = _Digit$SessionStorage3.type) === null || _Digit$SessionStorage4 === void 0 ? void 0 : _Digit$SessionStorage4.toLowerCase()) || "citizen";
|
|
2068
|
+
e.preventDefault();
|
|
2069
|
+
history.push("/digit-ui/" + userType + "/ekyc/assign/surveyor-details/" + row.original.id);
|
|
2070
|
+
}
|
|
2071
|
+
}, ((_row$original = row.original) === null || _row$original === void 0 ? void 0 : _row$original.name) || "N/A");
|
|
2072
|
+
}
|
|
2073
|
+
}, {
|
|
2074
|
+
Header: t("MOBILE_NUMBER") || "Mobile Number",
|
|
2075
|
+
accessor: row => (row === null || row === void 0 ? void 0 : row.mobileNo) || "N/A",
|
|
2076
|
+
id: "mobileNumber"
|
|
2077
|
+
}, {
|
|
2078
|
+
Header: t("STATUS") || "Status",
|
|
2079
|
+
accessor: row => (row === null || row === void 0 ? void 0 : row.status) || "ACTIVE",
|
|
2080
|
+
id: "status",
|
|
2081
|
+
Cell: _ref2 => {
|
|
2082
|
+
let value = _ref2.value;
|
|
2083
|
+
return /*#__PURE__*/React.createElement("span", {
|
|
2084
|
+
className: "status-badge verified"
|
|
2085
|
+
}, t(value) || value);
|
|
2086
|
+
}
|
|
2087
|
+
}, {
|
|
2088
|
+
Header: t("TOTAL_EKYC_APPLICATIONS") || "Total eKYC Applications",
|
|
2089
|
+
accessor: row => (row === null || row === void 0 ? void 0 : row.totalKnos) || 0,
|
|
2090
|
+
id: "totalEkycApplications"
|
|
2091
|
+
}, {
|
|
2092
|
+
Header: t("EKYC_COMPLETED") || "eKYC Completed",
|
|
2093
|
+
accessor: row => (row === null || row === void 0 ? void 0 : row.submittedKnos) || 0,
|
|
2094
|
+
id: "ekycCompleted"
|
|
2095
|
+
}, {
|
|
2096
|
+
Header: t("PENDING_APPLICATIONS") || "Pending Applications",
|
|
2097
|
+
accessor: row => (row === null || row === void 0 ? void 0 : row.pendingKnos) || 0,
|
|
2098
|
+
id: "pendingApplications"
|
|
2099
|
+
}, {
|
|
2100
|
+
Header: t("OVERALL_PROGRESS") || "Overall Progress",
|
|
2101
|
+
accessor: row => (row !== null && row !== void 0 && row.progressPercent || (row === null || row === void 0 ? void 0 : row.progressPercent) === 0 ? row.progressPercent : row.progress) + "%",
|
|
2102
|
+
id: "overallProgress"
|
|
2103
|
+
}], [t, history]);
|
|
2104
|
+
const _useState4 = useState(false),
|
|
2105
|
+
showReportMenu = _useState4[0],
|
|
2106
|
+
setShowReportMenu = _useState4[1];
|
|
2107
|
+
const _useState5 = useState({
|
|
2108
|
+
from: "",
|
|
2109
|
+
to: ""
|
|
2110
|
+
}),
|
|
2111
|
+
customDate = _useState5[0],
|
|
2112
|
+
setCustomDate = _useState5[1];
|
|
2113
|
+
const _useState6 = useState(false),
|
|
2114
|
+
showCustomPicker = _useState6[0],
|
|
2115
|
+
setShowCustomPicker = _useState6[1];
|
|
2116
|
+
const _useState7 = useState(false),
|
|
2117
|
+
reportLoading = _useState7[0],
|
|
2118
|
+
setReportLoading = _useState7[1];
|
|
2119
|
+
const reportMenuRef = useRef(null);
|
|
2120
|
+
useEffect(() => {
|
|
2121
|
+
const handler = e => {
|
|
2122
|
+
if (reportMenuRef.current && !reportMenuRef.current.contains(e.target)) {
|
|
2123
|
+
setShowReportMenu(false);
|
|
2124
|
+
setShowCustomPicker(false);
|
|
2125
|
+
}
|
|
2126
|
+
};
|
|
2127
|
+
document.addEventListener("mousedown", handler);
|
|
2128
|
+
return () => document.removeEventListener("mousedown", handler);
|
|
2129
|
+
}, []);
|
|
2130
|
+
const handleDownload = () => {
|
|
2131
|
+
setReportLoading(true);
|
|
2132
|
+
try {
|
|
2133
|
+
const rowsWithStats = vendorSupervisors.map(s => ({
|
|
2134
|
+
name: s.name,
|
|
2135
|
+
mobileNo: s.mobileNo,
|
|
2136
|
+
status: s.status,
|
|
2137
|
+
total: s.totalKnos,
|
|
2138
|
+
completed: s.submittedKnos,
|
|
2139
|
+
pending: s.pendingKnos,
|
|
2140
|
+
progress: s.progressPercent + "%"
|
|
2141
|
+
}));
|
|
2142
|
+
const totalKnos = vendorSupervisors.reduce((acc, s) => acc + (s.totalKnos || 0), 0) || (vendor === null || vendor === void 0 ? void 0 : vendor.assignedConnections) || 0;
|
|
2143
|
+
const completedKnos = vendorSupervisors.reduce((acc, s) => acc + (s.submittedKnos || 0), 0) || (vendor === null || vendor === void 0 ? void 0 : vendor.completedEkyc) || 0;
|
|
2144
|
+
downloadVendorPDF({
|
|
2145
|
+
rows: rowsWithStats,
|
|
2146
|
+
vendorName,
|
|
2147
|
+
mobileNumber,
|
|
2148
|
+
email,
|
|
2149
|
+
dashboardInfo: {
|
|
2150
|
+
total: totalKnos,
|
|
2151
|
+
completed: completedKnos,
|
|
2152
|
+
pending: totalKnos - completedKnos,
|
|
2153
|
+
submittedCount: completedKnos
|
|
2154
|
+
},
|
|
2155
|
+
t
|
|
2156
|
+
});
|
|
2157
|
+
} catch (err) {
|
|
2158
|
+
console.error("Failed to generate report:", err);
|
|
2159
|
+
} finally {
|
|
2160
|
+
setReportLoading(false);
|
|
2161
|
+
setShowReportMenu(false);
|
|
2162
|
+
setShowCustomPicker(false);
|
|
2163
|
+
}
|
|
2164
|
+
};
|
|
2165
|
+
const handlePresetDownload = filter => {
|
|
2166
|
+
handleDownload();
|
|
2167
|
+
};
|
|
2168
|
+
const handleCustomDownload = () => {
|
|
2169
|
+
if (!customDate.from || !customDate.to) {
|
|
2170
|
+
alert(t("SELECT_DATE_RANGE") || "Please select both From and To dates.");
|
|
2171
|
+
return;
|
|
2172
|
+
}
|
|
2173
|
+
handleDownload();
|
|
2174
|
+
};
|
|
2175
|
+
const StatCard = _ref3 => {
|
|
2176
|
+
let title = _ref3.title,
|
|
2177
|
+
value = _ref3.value,
|
|
2178
|
+
type = _ref3.type,
|
|
2179
|
+
isLoading = _ref3.isLoading,
|
|
2180
|
+
icon = _ref3.icon;
|
|
2181
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
2182
|
+
className: "stat-card " + type
|
|
2183
|
+
}, isLoading ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
2184
|
+
className: "stat-title skeleton skeleton-text"
|
|
2185
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
2186
|
+
className: "stat-value skeleton skeleton-number"
|
|
2187
|
+
})) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
2188
|
+
className: "stat-title"
|
|
2189
|
+
}, title), /*#__PURE__*/React.createElement("div", {
|
|
2190
|
+
className: "stat-value"
|
|
2191
|
+
}, value), icon && /*#__PURE__*/React.createElement("div", {
|
|
2192
|
+
className: "stat-icon"
|
|
2193
|
+
}, icon)));
|
|
2194
|
+
};
|
|
2195
|
+
const isPageLoading = isProgressLoading || isVendorSearchLoading || isSupervisorSearchLoading;
|
|
2196
|
+
if (isPageLoading && !vendor) {
|
|
2197
|
+
return /*#__PURE__*/React.createElement(Loader, null);
|
|
2198
|
+
}
|
|
2199
|
+
if (!vendor) {
|
|
2200
|
+
return /*#__PURE__*/React.createElement(Card, null, /*#__PURE__*/React.createElement("div", {
|
|
2201
|
+
style: {
|
|
2202
|
+
padding: "24px"
|
|
2203
|
+
}
|
|
2204
|
+
}, t("NO_VENDOR_FOUND") || "No Vendor Found"));
|
|
2205
|
+
}
|
|
2206
|
+
return /*#__PURE__*/React.createElement(Card, {
|
|
2207
|
+
className: "surveyor-dashboard"
|
|
2208
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
2209
|
+
className: "ekyc-dashboard-section"
|
|
2210
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
2211
|
+
className: "ekyc-dashboard-header"
|
|
2212
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
2213
|
+
className: "avatar"
|
|
2214
|
+
}, vendorName === null || vendorName === void 0 ? void 0 : (_vendorName$charAt = vendorName.charAt(0)) === null || _vendorName$charAt === void 0 ? void 0 : _vendorName$charAt.toUpperCase()), /*#__PURE__*/React.createElement("div", {
|
|
2215
|
+
className: "header-content"
|
|
2216
|
+
}, /*#__PURE__*/React.createElement("h2", {
|
|
2217
|
+
className: "name"
|
|
2218
|
+
}, vendorName), /*#__PURE__*/React.createElement("div", {
|
|
2219
|
+
className: "designation"
|
|
2220
|
+
}, t("VENDOR_AGENCY") || "Agency / Vendor"))), /*#__PURE__*/React.createElement("div", {
|
|
2221
|
+
className: "report-download",
|
|
2222
|
+
ref: reportMenuRef
|
|
2223
|
+
}, /*#__PURE__*/React.createElement("button", {
|
|
2224
|
+
className: "download-btn",
|
|
2225
|
+
disabled: reportLoading,
|
|
2226
|
+
onClick: () => {
|
|
2227
|
+
setShowReportMenu(p => !p);
|
|
2228
|
+
setShowCustomPicker(false);
|
|
2229
|
+
}
|
|
2230
|
+
}, reportLoading ? t("DOWNLOADING") || "Downloading..." : t("DOWNLOAD_REPORT") || "Download Report"), showReportMenu && /*#__PURE__*/React.createElement("div", {
|
|
2231
|
+
className: "report-menu"
|
|
2232
|
+
}, [{
|
|
2233
|
+
label: t("TODAY") || "Today",
|
|
2234
|
+
key: "today"
|
|
2235
|
+
}, {
|
|
2236
|
+
label: t("THIS_WEEK") || "This Week",
|
|
2237
|
+
key: "week"
|
|
2238
|
+
}, {
|
|
2239
|
+
label: t("THIS_MONTH") || "This Month",
|
|
2240
|
+
key: "month"
|
|
2241
|
+
}].map(_ref4 => {
|
|
2242
|
+
let label = _ref4.label,
|
|
2243
|
+
key = _ref4.key;
|
|
2244
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
2245
|
+
key: key,
|
|
2246
|
+
className: "menu-item",
|
|
2247
|
+
onClick: () => handlePresetDownload()
|
|
2248
|
+
}, label);
|
|
2249
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
2250
|
+
className: "custom-date-trigger",
|
|
2251
|
+
onClick: () => setShowCustomPicker(p => !p)
|
|
2252
|
+
}, t("CUSTOM_DATE") || "Custom Date"), showCustomPicker && /*#__PURE__*/React.createElement("div", {
|
|
2253
|
+
className: "custom-picker"
|
|
2254
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
2255
|
+
className: "date-field"
|
|
2256
|
+
}, /*#__PURE__*/React.createElement("label", {
|
|
2257
|
+
className: "date-label"
|
|
2258
|
+
}, t("FROM_DATE") || "From"), /*#__PURE__*/React.createElement("input", {
|
|
2259
|
+
type: "date",
|
|
2260
|
+
className: "date-input",
|
|
2261
|
+
value: customDate.from,
|
|
2262
|
+
onChange: e => setCustomDate(d => _extends({}, d, {
|
|
2263
|
+
from: e.target.value
|
|
2264
|
+
}))
|
|
2265
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
2266
|
+
className: "date-field"
|
|
2267
|
+
}, /*#__PURE__*/React.createElement("label", {
|
|
2268
|
+
className: "date-label"
|
|
2269
|
+
}, t("TO_DATE") || "To"), /*#__PURE__*/React.createElement("input", {
|
|
2270
|
+
type: "date",
|
|
2271
|
+
className: "date-input",
|
|
2272
|
+
value: customDate.to,
|
|
2273
|
+
onChange: e => setCustomDate(d => _extends({}, d, {
|
|
2274
|
+
to: e.target.value
|
|
2275
|
+
}))
|
|
2276
|
+
})), /*#__PURE__*/React.createElement("button", {
|
|
2277
|
+
className: "download-action-btn",
|
|
2278
|
+
onClick: handleCustomDownload
|
|
2279
|
+
}, t("DOWNLOAD") || "Download"))))), /*#__PURE__*/React.createElement("div", {
|
|
2280
|
+
className: "stats-wrapper"
|
|
2281
|
+
}, cards.map((card, idx) => /*#__PURE__*/React.createElement(StatCard, {
|
|
2282
|
+
key: idx,
|
|
2283
|
+
title: t(card.label),
|
|
2284
|
+
value: card.count,
|
|
2285
|
+
type: card.type,
|
|
2286
|
+
isLoading: isPageLoading,
|
|
2287
|
+
icon: card.icon
|
|
2288
|
+
}))), /*#__PURE__*/React.createElement("div", {
|
|
2289
|
+
className: "ekyc-dashboard-section"
|
|
2290
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
2291
|
+
className: "ekyc-details-wrapper"
|
|
2292
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
2293
|
+
className: "details-left"
|
|
2294
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
2295
|
+
className: "details-grid"
|
|
2296
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
2297
|
+
className: "detail-item"
|
|
2298
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
2299
|
+
className: "label"
|
|
2300
|
+
}, t("MOBILE")), /*#__PURE__*/React.createElement("span", {
|
|
2301
|
+
className: "value"
|
|
2302
|
+
}, mobileNumber)), /*#__PURE__*/React.createElement("div", {
|
|
2303
|
+
className: "detail-item"
|
|
2304
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
2305
|
+
className: "label"
|
|
2306
|
+
}, t("EMAIL")), /*#__PURE__*/React.createElement("span", {
|
|
2307
|
+
className: "value"
|
|
2308
|
+
}, email)), /*#__PURE__*/React.createElement("div", {
|
|
2309
|
+
className: "detail-item"
|
|
2310
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
2311
|
+
className: "label"
|
|
2312
|
+
}, t("STATUS")), /*#__PURE__*/React.createElement("span", {
|
|
2313
|
+
className: "value"
|
|
2314
|
+
}, status)), /*#__PURE__*/React.createElement("div", {
|
|
2315
|
+
className: "detail-item"
|
|
2316
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
2317
|
+
className: "label"
|
|
2318
|
+
}, t("JURISDICTIONS") || "Jurisdictions"), /*#__PURE__*/React.createElement("span", {
|
|
2319
|
+
className: "value"
|
|
2320
|
+
}, jurisdictions)))), /*#__PURE__*/React.createElement("div", {
|
|
2321
|
+
className: "details-right"
|
|
2322
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
2323
|
+
className: "download-card"
|
|
2324
|
+
}, /*#__PURE__*/React.createElement("h4", null, t("DOWNLOAD_EKYC_DATA") || "Download eKYC Data"), /*#__PURE__*/React.createElement("p", null, t("DOWNLOAD_EKYC_DATA_DESC") || "Export the complete eKYC verification records for your assigned jurisdiction into Excel format."), /*#__PURE__*/React.createElement("button", {
|
|
2325
|
+
className: "download-excel-btn",
|
|
2326
|
+
disabled: ekycDownloadLoading,
|
|
2327
|
+
onClick: handleDownloadEkycData
|
|
2328
|
+
}, /*#__PURE__*/React.createElement("svg", {
|
|
2329
|
+
width: "16",
|
|
2330
|
+
height: "16",
|
|
2331
|
+
viewBox: "0 0 24 24",
|
|
2332
|
+
fill: "none",
|
|
2333
|
+
stroke: "currentColor",
|
|
2334
|
+
strokeWidth: "2.5",
|
|
2335
|
+
strokeLinecap: "round",
|
|
2336
|
+
strokeLinejoin: "round"
|
|
2337
|
+
}, /*#__PURE__*/React.createElement("path", {
|
|
2338
|
+
d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"
|
|
2339
|
+
}), /*#__PURE__*/React.createElement("polyline", {
|
|
2340
|
+
points: "7 10 12 15 17 10"
|
|
2341
|
+
}), /*#__PURE__*/React.createElement("line", {
|
|
2342
|
+
x1: "12",
|
|
2343
|
+
y1: "15",
|
|
2344
|
+
x2: "12",
|
|
2345
|
+
y2: "3"
|
|
2346
|
+
})), ekycDownloadLoading ? t("DOWNLOADING") || "Downloading..." : t("DOWNLOAD_EXCEL") || "Download Excel"))))), /*#__PURE__*/React.createElement(Card, {
|
|
2347
|
+
className: "dashboard-card"
|
|
2348
|
+
}, /*#__PURE__*/React.createElement(Table, {
|
|
2349
|
+
t: t,
|
|
2350
|
+
tableTitle: t("CONNECTED_SUPERVISORS") || "Connected Supervisors",
|
|
2351
|
+
tableClass: "ekycTable",
|
|
2352
|
+
data: paginatedSupervisors,
|
|
2353
|
+
columns: supervisorColumns,
|
|
2354
|
+
isLoading: isPageLoading,
|
|
2355
|
+
totalRecords: vendorSupervisors.length,
|
|
2356
|
+
currentPage: currentPage,
|
|
2357
|
+
pageSizeLimit: pageSize,
|
|
2358
|
+
isPaginationRequired: true,
|
|
2359
|
+
onNextPage: () => {
|
|
2360
|
+
if (currentPage < Math.ceil(vendorSupervisors.length / pageSize) - 1) {
|
|
2361
|
+
setCurrentPage(prev => prev + 1);
|
|
2362
|
+
}
|
|
2363
|
+
},
|
|
2364
|
+
onPrevPage: () => {
|
|
2365
|
+
if (currentPage > 0) {
|
|
2366
|
+
setCurrentPage(prev => prev - 1);
|
|
2367
|
+
}
|
|
2368
|
+
},
|
|
2369
|
+
onFirstPage: () => {
|
|
2370
|
+
setCurrentPage(0);
|
|
2371
|
+
},
|
|
2372
|
+
onLastPage: () => {
|
|
2373
|
+
setCurrentPage(Math.max(Math.ceil(vendorSupervisors.length / pageSize) - 1, 0));
|
|
2374
|
+
},
|
|
2375
|
+
onPageSizeChange: e => {
|
|
2376
|
+
setPageSize(Number(e.target.value));
|
|
2377
|
+
setCurrentPage(0);
|
|
2378
|
+
}
|
|
2379
|
+
})));
|
|
2380
|
+
};
|
|
2381
|
+
|
|
2382
|
+
const useInboxTableConfig = _ref => {
|
|
2383
|
+
var _formState$tableForm, _formState$tableForm2, _Digit$SessionStorage, _Digit$SessionStorage2, _Digit$SessionStorage3, _formState$searchForm;
|
|
2384
|
+
let onPageSizeChange = _ref.onPageSizeChange,
|
|
2385
|
+
formState = _ref.formState,
|
|
2386
|
+
totalCount = _ref.totalCount,
|
|
2387
|
+
table = _ref.table,
|
|
2388
|
+
dispatch = _ref.dispatch,
|
|
2389
|
+
checkPathName = _ref.checkPathName,
|
|
2390
|
+
onSortingByData = _ref.onSortingByData,
|
|
2391
|
+
tenantId = _ref.tenantId,
|
|
2392
|
+
_ref$inboxStyles = _ref.inboxStyles,
|
|
2393
|
+
inboxStyles = _ref$inboxStyles === void 0 ? {} : _ref$inboxStyles,
|
|
2394
|
+
_ref$tableStyle = _ref.tableStyle,
|
|
2395
|
+
tableStyle = _ref$tableStyle === void 0 ? {} : _ref$tableStyle;
|
|
2396
|
+
const _useTranslation = useTranslation(),
|
|
2397
|
+
t = _useTranslation.t;
|
|
2398
|
+
const history = useHistory();
|
|
2399
|
+
const _useState = useState(""),
|
|
2400
|
+
selectedKno = _useState[0],
|
|
2401
|
+
setSelectedKno = _useState[1];
|
|
2402
|
+
const _Digit$Hooks$ekyc$use = Digit.Hooks.ekyc.useEkycAPI("review", tenantId),
|
|
2403
|
+
reviewData = _Digit$Hooks$ekyc$use.data,
|
|
2404
|
+
getReview = _Digit$Hooks$ekyc$use.getReview;
|
|
2405
|
+
const handleReview = kno => {
|
|
2406
|
+
setSelectedKno(kno);
|
|
2407
|
+
getReview({
|
|
2408
|
+
kno
|
|
2409
|
+
});
|
|
2410
|
+
};
|
|
2411
|
+
const limit = (formState === null || formState === void 0 ? void 0 : (_formState$tableForm = formState.tableForm) === null || _formState$tableForm === void 0 ? void 0 : _formState$tableForm.limit) || 10;
|
|
2412
|
+
const offset = (formState === null || formState === void 0 ? void 0 : (_formState$tableForm2 = formState.tableForm) === null || _formState$tableForm2 === void 0 ? void 0 : _formState$tableForm2.offset) || 0;
|
|
2413
|
+
const userType = ((_Digit$SessionStorage = Digit.SessionStorage.get("User")) === null || _Digit$SessionStorage === void 0 ? void 0 : (_Digit$SessionStorage2 = _Digit$SessionStorage.info) === null || _Digit$SessionStorage2 === void 0 ? void 0 : (_Digit$SessionStorage3 = _Digit$SessionStorage2.type) === null || _Digit$SessionStorage3 === void 0 ? void 0 : _Digit$SessionStorage3.toLowerCase()) || "citizen";
|
|
2414
|
+
React.useEffect(() => {
|
|
2415
|
+
if (reviewData) {
|
|
2416
|
+
history.push("/digit-ui/" + userType + "/ekyc/review/" + selectedKno, {
|
|
2417
|
+
aadhaarData: reviewData === null || reviewData === void 0 ? void 0 : reviewData.aadhaarData,
|
|
2418
|
+
reviewData
|
|
2419
|
+
});
|
|
2420
|
+
}
|
|
2421
|
+
}, [reviewData]);
|
|
2422
|
+
const tableColumnConfig = [{
|
|
2423
|
+
Header: t("EKYC_APPLICATION_NO"),
|
|
2424
|
+
accessor: "applicationNumber",
|
|
2425
|
+
disableSortBy: true,
|
|
2426
|
+
Cell: _ref2 => {
|
|
2427
|
+
var _row$original, _row$original2;
|
|
2428
|
+
let row = _ref2.row;
|
|
2429
|
+
const kno = ((_row$original = row.original) === null || _row$original === void 0 ? void 0 : _row$original.kno) || ((_row$original2 = row.original) === null || _row$original2 === void 0 ? void 0 : _row$original2.applicationNumber) || "NA";
|
|
2430
|
+
return /*#__PURE__*/React.createElement("span", {
|
|
2431
|
+
className: "link",
|
|
2432
|
+
onClick: () => handleReview(kno)
|
|
2433
|
+
}, kno);
|
|
2434
|
+
}
|
|
2435
|
+
}, {
|
|
2436
|
+
Header: t("EKYC_CITIZEN_NAME"),
|
|
2437
|
+
accessor: "citizenName",
|
|
2438
|
+
Cell: _ref3 => {
|
|
2439
|
+
var _row$original3;
|
|
2440
|
+
let row = _ref3.row;
|
|
2441
|
+
return /*#__PURE__*/React.createElement("span", null, ((_row$original3 = row.original) === null || _row$original3 === void 0 ? void 0 : _row$original3.citizenName) || "NA");
|
|
2442
|
+
}
|
|
2443
|
+
}, {
|
|
2444
|
+
Header: t("EKYC_STATUS"),
|
|
2445
|
+
accessor: "actionStatus",
|
|
2446
|
+
Cell: _ref4 => {
|
|
2447
|
+
var _row$original4;
|
|
2448
|
+
let row = _ref4.row;
|
|
2449
|
+
const status = ((_row$original4 = row.original) === null || _row$original4 === void 0 ? void 0 : _row$original4.status) || "DEFAULT";
|
|
2450
|
+
return /*#__PURE__*/React.createElement("span", {
|
|
2451
|
+
className: "ekyc-status-tag " + status
|
|
2452
|
+
}, t("" + status));
|
|
2453
|
+
}
|
|
2454
|
+
}, {
|
|
2455
|
+
Header: t("EKYC_EKYC_STATUS"),
|
|
2456
|
+
accessor: "ekycStatus",
|
|
2457
|
+
Cell: _ref5 => {
|
|
2458
|
+
var _row$original5, _row$original6;
|
|
2459
|
+
let row = _ref5.row;
|
|
2460
|
+
const ekycStatus = (((_row$original5 = row.original) === null || _row$original5 === void 0 ? void 0 : _row$original5.ekycStatus) || ((_row$original6 = row.original) === null || _row$original6 === void 0 ? void 0 : _row$original6.ekycstatus) || "NA").toUpperCase();
|
|
2461
|
+
return /*#__PURE__*/React.createElement("span", {
|
|
2462
|
+
className: "ekyc-status-tag " + ekycStatus
|
|
2463
|
+
}, t("" + ekycStatus));
|
|
2464
|
+
}
|
|
2465
|
+
}];
|
|
2466
|
+
return {
|
|
2467
|
+
disableSort: false,
|
|
2468
|
+
autoSort: false,
|
|
2469
|
+
manualPagination: true,
|
|
2470
|
+
initSortId: "applicationDate",
|
|
2471
|
+
onPageSizeChange: onPageSizeChange,
|
|
2472
|
+
currentPage: offset,
|
|
2473
|
+
onNextPage: () => {
|
|
2474
|
+
var _formState$tableForm3;
|
|
2475
|
+
return dispatch({
|
|
2476
|
+
action: "mutateTableForm",
|
|
2477
|
+
data: _extends({}, formState.tableForm, {
|
|
2478
|
+
offset: parseInt((_formState$tableForm3 = formState.tableForm) === null || _formState$tableForm3 === void 0 ? void 0 : _formState$tableForm3.offset) + limit
|
|
2479
|
+
}),
|
|
2480
|
+
checkPathName
|
|
2481
|
+
});
|
|
2482
|
+
},
|
|
2483
|
+
onPrevPage: () => {
|
|
2484
|
+
var _formState$tableForm4;
|
|
2485
|
+
return dispatch({
|
|
2486
|
+
action: "mutateTableForm",
|
|
2487
|
+
data: _extends({}, formState.tableForm, {
|
|
2488
|
+
offset: parseInt((_formState$tableForm4 = formState.tableForm) === null || _formState$tableForm4 === void 0 ? void 0 : _formState$tableForm4.offset) - limit
|
|
2489
|
+
}),
|
|
2490
|
+
checkPathName
|
|
2491
|
+
});
|
|
2492
|
+
},
|
|
2493
|
+
pageSizeLimit: limit,
|
|
2494
|
+
onSort: onSortingByData,
|
|
2495
|
+
totalRecords: totalCount,
|
|
2496
|
+
onSearch: formState === null || formState === void 0 ? void 0 : (_formState$searchForm = formState.searchForm) === null || _formState$searchForm === void 0 ? void 0 : _formState$searchForm.message,
|
|
2497
|
+
onLastPage: () => dispatch({
|
|
2498
|
+
action: "mutateTableForm",
|
|
2499
|
+
data: _extends({}, formState.tableForm, {
|
|
2500
|
+
offset: Math.max(0, Math.floor((totalCount - 1) / limit) * limit)
|
|
2501
|
+
}),
|
|
2502
|
+
checkPathName
|
|
2503
|
+
}),
|
|
2504
|
+
onFirstPage: () => dispatch({
|
|
2505
|
+
action: "mutateTableForm",
|
|
2506
|
+
data: _extends({}, formState.tableForm, {
|
|
2507
|
+
offset: 0
|
|
2508
|
+
}),
|
|
2509
|
+
checkPathName
|
|
2510
|
+
}),
|
|
2511
|
+
data: table,
|
|
2512
|
+
columns: tableColumnConfig,
|
|
2513
|
+
inboxStyles: _extends({}, inboxStyles),
|
|
2514
|
+
tableStyle: _extends({}, tableStyle)
|
|
2515
|
+
};
|
|
2516
|
+
};
|
|
2517
|
+
|
|
2518
|
+
var isNullOrUndefined = value => value == null;
|
|
2519
|
+
const isObjectType = value => typeof value === 'object';
|
|
2520
|
+
var isObject = value => !isNullOrUndefined(value) && !Array.isArray(value) && isObjectType(value) && !(value instanceof Date);
|
|
2521
|
+
var isKey = value => /^\w*$/.test(value);
|
|
2522
|
+
var compact = value => value.filter(Boolean);
|
|
2523
|
+
var stringToPath = input => compact(input.replace(/["|']/g, '').replace(/\[/g, '.').replace(/\]/g, '').split('.'));
|
|
2524
|
+
function set(object, path, value) {
|
|
2525
|
+
let index = -1;
|
|
2526
|
+
const tempPath = isKey(path) ? [path] : stringToPath(path);
|
|
2527
|
+
const length = tempPath.length;
|
|
2528
|
+
const lastIndex = length - 1;
|
|
2529
|
+
while (++index < length) {
|
|
2530
|
+
const key = tempPath[index];
|
|
2531
|
+
let newValue = value;
|
|
2532
|
+
if (index !== lastIndex) {
|
|
2533
|
+
const objValue = object[key];
|
|
2534
|
+
newValue = isObject(objValue) || Array.isArray(objValue) ? objValue : !isNaN(+tempPath[index + 1]) ? [] : {};
|
|
2535
|
+
}
|
|
2536
|
+
object[key] = newValue;
|
|
2537
|
+
object = object[key];
|
|
2538
|
+
}
|
|
2539
|
+
return object;
|
|
2540
|
+
}
|
|
2541
|
+
var isUndefined = val => val === undefined;
|
|
2542
|
+
var get = function (obj, path, defaultValue) {
|
|
2543
|
+
if (obj === void 0) {
|
|
2544
|
+
obj = {};
|
|
2545
|
+
}
|
|
2546
|
+
const result = compact(path.split(/[,[\].]+?/)).reduce((result, key) => isNullOrUndefined(result) ? result : result[key], obj);
|
|
1929
2547
|
return isUndefined(result) || result === obj ? isUndefined(obj[path]) ? defaultValue : obj[path] : result;
|
|
1930
2548
|
};
|
|
1931
2549
|
var isPrimitive = value => isNullOrUndefined(value) || !isObjectType(value);
|
|
@@ -4907,7 +5525,9 @@ const AssignEkycModal = _ref => {
|
|
|
4907
5525
|
useEffect(() => {
|
|
4908
5526
|
setCurrentPage(0);
|
|
4909
5527
|
}, [debouncedFilters, filters.kno]);
|
|
4910
|
-
const _Digit$Hooks$ekyc$use = Digit.Hooks.ekyc.useEkycApplicationList(_extends({
|
|
5528
|
+
const _Digit$Hooks$ekyc$use = Digit.Hooks.ekyc.useEkycApplicationList(_extends({
|
|
5529
|
+
unassignedOnly: true
|
|
5530
|
+
}, filters.kno && {
|
|
4911
5531
|
kno: filters.kno
|
|
4912
5532
|
}, debouncedFilters.ekycStatus && {
|
|
4913
5533
|
ekycStatus: debouncedFilters.ekycStatus
|
|
@@ -5182,240 +5802,33 @@ const AssignEkycModal = _ref => {
|
|
|
5182
5802
|
isPaginationRequired: true,
|
|
5183
5803
|
onNextPage: () => {
|
|
5184
5804
|
if (currentPage < ((applicationData === null || applicationData === void 0 ? void 0 : applicationData.totalPages) || 1) - 1) {
|
|
5185
|
-
setCurrentPage(prev => prev + 1);
|
|
5186
|
-
}
|
|
5187
|
-
},
|
|
5188
|
-
onPrevPage: () => {
|
|
5189
|
-
if (currentPage > 0) {
|
|
5190
|
-
setCurrentPage(prev => prev - 1);
|
|
5191
|
-
}
|
|
5192
|
-
},
|
|
5193
|
-
onFirstPage: () => {
|
|
5194
|
-
setCurrentPage(0);
|
|
5195
|
-
},
|
|
5196
|
-
onLastPage: () => {
|
|
5197
|
-
setCurrentPage(Math.max(((applicationData === null || applicationData === void 0 ? void 0 : applicationData.totalPages) || 1) - 1, 0));
|
|
5198
|
-
},
|
|
5199
|
-
onPageSizeChange: e => {
|
|
5200
|
-
setPageSize(Number(e.target.value));
|
|
5201
|
-
setCurrentPage(0);
|
|
5202
|
-
}
|
|
5203
|
-
})), showToast && /*#__PURE__*/React.createElement(Toast, {
|
|
5204
|
-
error: toastData.error,
|
|
5205
|
-
label: toastData.label,
|
|
5206
|
-
onClose: () => setShowToast(false)
|
|
5207
|
-
}));
|
|
5208
|
-
};
|
|
5209
|
-
|
|
5210
|
-
const downloadSurveyorPDF = function (_ref) {
|
|
5211
|
-
let rows = _ref.rows,
|
|
5212
|
-
surveyorName = _ref.surveyorName,
|
|
5213
|
-
employeeId = _ref.employeeId,
|
|
5214
|
-
mobileNumber = _ref.mobileNumber,
|
|
5215
|
-
vendorName = _ref.vendorName,
|
|
5216
|
-
supervisorName = _ref.supervisorName,
|
|
5217
|
-
dashboardInfo = _ref.dashboardInfo,
|
|
5218
|
-
t = _ref.t;
|
|
5219
|
-
try {
|
|
5220
|
-
const tenantId = Digit.ULBService.getCurrentTenantId();
|
|
5221
|
-
const initData = Digit.SessionStorage.get("initData");
|
|
5222
|
-
const tenants = (initData === null || initData === void 0 ? void 0 : initData.tenants) || [];
|
|
5223
|
-
const tenantInfo = tenants.find(tenant => tenant.code === tenantId);
|
|
5224
|
-
const capitalize = text => text && text.substr(0, 1).toUpperCase() + text.substr(1);
|
|
5225
|
-
const ulbCamel = ulb => ulb && ulb.toLowerCase().split(" ").map(capitalize).join(" ");
|
|
5226
|
-
const name = "Delhi Jal Board";
|
|
5227
|
-
const email = "contact@delhijalboard.nic.in";
|
|
5228
|
-
const phoneNumber = "+91-11-23538416";
|
|
5229
|
-
const currentDate = new Date();
|
|
5230
|
-
const formattedDate = currentDate.toLocaleDateString("en-IN", {
|
|
5231
|
-
day: "2-digit",
|
|
5232
|
-
month: "2-digit",
|
|
5233
|
-
year: "numeric"
|
|
5234
|
-
});
|
|
5235
|
-
const formattedTime = currentDate.toLocaleTimeString("en-IN", {
|
|
5236
|
-
hour: "2-digit",
|
|
5237
|
-
minute: "2-digit",
|
|
5238
|
-
second: "2-digit",
|
|
5239
|
-
hour12: false
|
|
5240
|
-
});
|
|
5241
|
-
const downloadDateTime = formattedDate + " " + formattedTime;
|
|
5242
|
-
const isValDefined = val => val !== undefined && val !== null && val !== "";
|
|
5243
|
-
const details = [{
|
|
5244
|
-
title: t("SURVEYOR_DETAILS"),
|
|
5245
|
-
asSectionHeader: true,
|
|
5246
|
-
values: [{
|
|
5247
|
-
title: t("SURVEYOR_NAME"),
|
|
5248
|
-
value: surveyorName
|
|
5249
|
-
}, {
|
|
5250
|
-
title: t("MOBILE_NUMBER"),
|
|
5251
|
-
value: mobileNumber
|
|
5252
|
-
}, {
|
|
5253
|
-
title: t("VENDOR_NAME"),
|
|
5254
|
-
value: vendorName
|
|
5255
|
-
}, {
|
|
5256
|
-
title: t("SUPERVISOR_NAME"),
|
|
5257
|
-
value: supervisorName
|
|
5258
|
-
}].filter(item => isValDefined(item.value))
|
|
5259
|
-
}, {
|
|
5260
|
-
title: t("SUMMARY_STATISTICS"),
|
|
5261
|
-
asSectionHeader: true,
|
|
5262
|
-
values: [{
|
|
5263
|
-
title: t("TOTAL_ASSIGNED"),
|
|
5264
|
-
value: (dashboardInfo === null || dashboardInfo === void 0 ? void 0 : dashboardInfo.total) || 0
|
|
5265
|
-
}, {
|
|
5266
|
-
title: t("COMPLETED"),
|
|
5267
|
-
value: (dashboardInfo === null || dashboardInfo === void 0 ? void 0 : dashboardInfo.completed) || 0
|
|
5268
|
-
}, {
|
|
5269
|
-
title: t("PENDING"),
|
|
5270
|
-
value: (dashboardInfo === null || dashboardInfo === void 0 ? void 0 : dashboardInfo.pending) || 0
|
|
5271
|
-
}, {
|
|
5272
|
-
title: t("SUBMITTED"),
|
|
5273
|
-
value: (dashboardInfo === null || dashboardInfo === void 0 ? void 0 : dashboardInfo.submittedCount) || 0
|
|
5274
|
-
}].filter(item => isValDefined(item.value))
|
|
5275
|
-
}];
|
|
5276
|
-
if (window.Digit && window.Digit.Utils && window.Digit.Utils.pdf && window.Digit.Utils.pdf.generateSurveyorReport) {
|
|
5277
|
-
window.Digit.Utils.pdf.generateSurveyorReport({
|
|
5278
|
-
tenantId,
|
|
5279
|
-
logo: null,
|
|
5280
|
-
name,
|
|
5281
|
-
email,
|
|
5282
|
-
phoneNumber,
|
|
5283
|
-
heading: t("EKYC_SURVEYOR_REPORT"),
|
|
5284
|
-
details,
|
|
5285
|
-
applicationNumber: employeeId,
|
|
5286
|
-
rows,
|
|
5287
|
-
t,
|
|
5288
|
-
hideApplicationNumber: true,
|
|
5289
|
-
downloadTime: downloadDateTime
|
|
5290
|
-
});
|
|
5291
|
-
} else {
|
|
5292
|
-
console.error("Digit.Utils.pdf.generateSurveyorReport is not available");
|
|
5293
|
-
}
|
|
5294
|
-
return Promise.resolve();
|
|
5295
|
-
} catch (e) {
|
|
5296
|
-
return Promise.reject(e);
|
|
5297
|
-
}
|
|
5298
|
-
};
|
|
5299
|
-
const downloadSupervisorPDF = function (_ref2) {
|
|
5300
|
-
let rows = _ref2.rows,
|
|
5301
|
-
supervisorName = _ref2.supervisorName,
|
|
5302
|
-
mobileNumber = _ref2.mobileNumber,
|
|
5303
|
-
vendorName = _ref2.vendorName,
|
|
5304
|
-
dashboardInfo = _ref2.dashboardInfo,
|
|
5305
|
-
t = _ref2.t;
|
|
5306
|
-
try {
|
|
5307
|
-
const tenantId = Digit.ULBService.getCurrentTenantId();
|
|
5308
|
-
const name = "Delhi Jal Board";
|
|
5309
|
-
const email = "contact@delhijalboard.nic.in";
|
|
5310
|
-
const phoneNumber = "+91-11-23538416";
|
|
5311
|
-
const currentDate = new Date();
|
|
5312
|
-
const formattedDate = currentDate.toLocaleDateString("en-IN", {
|
|
5313
|
-
day: "2-digit",
|
|
5314
|
-
month: "2-digit",
|
|
5315
|
-
year: "numeric"
|
|
5316
|
-
});
|
|
5317
|
-
const formattedTime = currentDate.toLocaleTimeString("en-IN", {
|
|
5318
|
-
hour: "2-digit",
|
|
5319
|
-
minute: "2-digit",
|
|
5320
|
-
second: "2-digit",
|
|
5321
|
-
hour12: false
|
|
5322
|
-
});
|
|
5323
|
-
const downloadDateTime = formattedDate + " " + formattedTime;
|
|
5324
|
-
const isValDefined = val => val !== undefined && val !== null && val !== "";
|
|
5325
|
-
const details = [{
|
|
5326
|
-
title: t("SUPERVISOR_DETAILS") || "Supervisor Details",
|
|
5327
|
-
asSectionHeader: true,
|
|
5328
|
-
values: [{
|
|
5329
|
-
title: t("SUPERVISOR_NAME") || "Supervisor Name",
|
|
5330
|
-
value: supervisorName
|
|
5331
|
-
}, {
|
|
5332
|
-
title: t("MOBILE_NUMBER") || "Mobile Number",
|
|
5333
|
-
value: mobileNumber
|
|
5334
|
-
}, {
|
|
5335
|
-
title: t("VENDOR_NAME") || "Vendor Name",
|
|
5336
|
-
value: vendorName
|
|
5337
|
-
}].filter(item => isValDefined(item.value))
|
|
5338
|
-
}, {
|
|
5339
|
-
title: t("SUMMARY_STATISTICS") || "Summary Statistics",
|
|
5340
|
-
asSectionHeader: true,
|
|
5341
|
-
values: [{
|
|
5342
|
-
title: t("TOTAL_ASSIGNED") || "Total Assigned",
|
|
5343
|
-
value: (dashboardInfo === null || dashboardInfo === void 0 ? void 0 : dashboardInfo.total) || 0
|
|
5344
|
-
}, {
|
|
5345
|
-
title: t("COMPLETED") || "Completed",
|
|
5346
|
-
value: (dashboardInfo === null || dashboardInfo === void 0 ? void 0 : dashboardInfo.completed) || 0
|
|
5347
|
-
}, {
|
|
5348
|
-
title: t("PENDING") || "Pending",
|
|
5349
|
-
value: (dashboardInfo === null || dashboardInfo === void 0 ? void 0 : dashboardInfo.pending) || 0
|
|
5350
|
-
}, {
|
|
5351
|
-
title: t("SUBMITTED") || "Submitted",
|
|
5352
|
-
value: (dashboardInfo === null || dashboardInfo === void 0 ? void 0 : dashboardInfo.submittedCount) || 0
|
|
5353
|
-
}].filter(item => isValDefined(item.value))
|
|
5354
|
-
}];
|
|
5355
|
-
const mappedRows = rows.map(row => {
|
|
5356
|
-
var _row$owner, _row$owner2;
|
|
5357
|
-
return {
|
|
5358
|
-
kno: row.name || ((_row$owner = row.owner) === null || _row$owner === void 0 ? void 0 : _row$owner.name) || "N/A",
|
|
5359
|
-
firstName: ((_row$owner2 = row.owner) === null || _row$owner2 === void 0 ? void 0 : _row$owner2.mobileNumber) || row.mobileNo || "N/A",
|
|
5360
|
-
lastName: "",
|
|
5361
|
-
mobileNo: row.status || "N/A",
|
|
5362
|
-
zoneName: String(row.total || 0),
|
|
5363
|
-
ekycStatus: (row.completed || 0) + " / " + (row.pending || 0),
|
|
5364
|
-
submittedAt: 1717171717171,
|
|
5365
|
-
progress: row.progress || "0%"
|
|
5366
|
-
};
|
|
5367
|
-
});
|
|
5368
|
-
const originalToLocaleDateString = Date.prototype.toLocaleDateString;
|
|
5369
|
-
let progressIndex = 0;
|
|
5370
|
-
Date.prototype.toLocaleDateString = function () {
|
|
5371
|
-
if (progressIndex < mappedRows.length) {
|
|
5372
|
-
return mappedRows[progressIndex++].progress || "0%";
|
|
5373
|
-
}
|
|
5374
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
5375
|
-
args[_key] = arguments[_key];
|
|
5805
|
+
setCurrentPage(prev => prev + 1);
|
|
5376
5806
|
}
|
|
5377
|
-
|
|
5378
|
-
|
|
5379
|
-
|
|
5380
|
-
|
|
5381
|
-
if (key === "CONSUMER") return t("MOBILE_NUMBER") || "Mobile Number";
|
|
5382
|
-
if (key === "MOBILE") return t("STATUS") || "Status";
|
|
5383
|
-
if (key === "ZONE") return t("TOTAL_EKYC_APPLICATIONS") || "Total eKYC Applications";
|
|
5384
|
-
if (key === "EKYC_STATUS") return t("COMPLETED_PENDING") || "Completed / Pending";
|
|
5385
|
-
if (key === "SUBMITTED_DATE") return t("OVERALL_PROGRESS") || "Overall Progress";
|
|
5386
|
-
if (key === "CONSUMER_LIST") return t("CONNECTED_SURVEYORS") || "Connected Surveyors";
|
|
5387
|
-
return t(key);
|
|
5388
|
-
};
|
|
5389
|
-
try {
|
|
5390
|
-
if (window.Digit && window.Digit.Utils && window.Digit.Utils.pdf && window.Digit.Utils.pdf.generateSurveyorReport) {
|
|
5391
|
-
window.Digit.Utils.pdf.generateSurveyorReport({
|
|
5392
|
-
tenantId,
|
|
5393
|
-
logo: null,
|
|
5394
|
-
name,
|
|
5395
|
-
email,
|
|
5396
|
-
phoneNumber,
|
|
5397
|
-
heading: t("EKYC_SUPERVISOR_REPORT") || "eKYC Supervisor Report",
|
|
5398
|
-
details,
|
|
5399
|
-
applicationNumber: mobileNumber,
|
|
5400
|
-
rows: mappedRows,
|
|
5401
|
-
t: customT,
|
|
5402
|
-
hideApplicationNumber: true,
|
|
5403
|
-
downloadTime: downloadDateTime
|
|
5404
|
-
});
|
|
5405
|
-
} else {
|
|
5406
|
-
console.error("Digit.Utils.pdf.generateSurveyorReport is not available");
|
|
5807
|
+
},
|
|
5808
|
+
onPrevPage: () => {
|
|
5809
|
+
if (currentPage > 0) {
|
|
5810
|
+
setCurrentPage(prev => prev - 1);
|
|
5407
5811
|
}
|
|
5408
|
-
}
|
|
5409
|
-
|
|
5812
|
+
},
|
|
5813
|
+
onFirstPage: () => {
|
|
5814
|
+
setCurrentPage(0);
|
|
5815
|
+
},
|
|
5816
|
+
onLastPage: () => {
|
|
5817
|
+
setCurrentPage(Math.max(((applicationData === null || applicationData === void 0 ? void 0 : applicationData.totalPages) || 1) - 1, 0));
|
|
5818
|
+
},
|
|
5819
|
+
onPageSizeChange: e => {
|
|
5820
|
+
setPageSize(Number(e.target.value));
|
|
5821
|
+
setCurrentPage(0);
|
|
5410
5822
|
}
|
|
5411
|
-
|
|
5412
|
-
|
|
5413
|
-
|
|
5414
|
-
|
|
5823
|
+
})), showToast && /*#__PURE__*/React.createElement(Toast, {
|
|
5824
|
+
error: toastData.error,
|
|
5825
|
+
label: toastData.label,
|
|
5826
|
+
onClose: () => setShowToast(false)
|
|
5827
|
+
}));
|
|
5415
5828
|
};
|
|
5416
5829
|
|
|
5417
5830
|
const SurveyorDetailsDashboard = () => {
|
|
5418
|
-
var _Digit$SessionStorage, _Digit$SessionStorage2, _Digit$SessionStorage3, _Digit$SessionStorage4, _surveyor$owner, _surveyor$owner2, _surveyor$owner3, _surveyor$owner4, _fullName$charAt, _dashboardData$dashbo, _dashboardData$dashbo2, _dashboardData$dashbo3, _dashboardData$dashbo4, _surveyor$
|
|
5831
|
+
var _Digit$SessionStorage, _Digit$SessionStorage2, _Digit$SessionStorage3, _Digit$SessionStorage4, _surveyor$owner, _surveyor$owner2, _surveyor$owner3, _surveyor$owner4, _fullName$charAt, _dashboardData$dashbo, _dashboardData$dashbo2, _dashboardData$dashbo3, _dashboardData$dashbo4, _surveyor$owner8, _surveyor$owner9, _surveyor$owner0, _surveyor$additionalD, _dashboardData$dashbo5, _dashboardData$dashbo6;
|
|
5419
5832
|
const tenantId = Digit.ULBService.getCurrentTenantId();
|
|
5420
5833
|
const _useState = useState(false),
|
|
5421
5834
|
showModal = _useState[0],
|
|
@@ -5423,6 +5836,9 @@ const SurveyorDetailsDashboard = () => {
|
|
|
5423
5836
|
const _useState2 = useState(false),
|
|
5424
5837
|
showOptions = _useState2[0],
|
|
5425
5838
|
setShowOptions = _useState2[1];
|
|
5839
|
+
const _useState3 = useState(false),
|
|
5840
|
+
ekycDownloadLoading = _useState3[0],
|
|
5841
|
+
setEkycDownloadLoading = _useState3[1];
|
|
5426
5842
|
const _useParams = useParams(),
|
|
5427
5843
|
surveyorId = _useParams.id;
|
|
5428
5844
|
const ownerIds = (_Digit$SessionStorage = Digit.SessionStorage.get("User")) === null || _Digit$SessionStorage === void 0 ? void 0 : (_Digit$SessionStorage2 = _Digit$SessionStorage.info) === null || _Digit$SessionStorage2 === void 0 ? void 0 : _Digit$SessionStorage2.uuid;
|
|
@@ -5478,12 +5894,12 @@ const SurveyorDetailsDashboard = () => {
|
|
|
5478
5894
|
const fullName = (surveyor === null || surveyor === void 0 ? void 0 : (_surveyor$owner = surveyor.owner) === null || _surveyor$owner === void 0 ? void 0 : _surveyor$owner.name) || (surveyor === null || surveyor === void 0 ? void 0 : surveyor.name) || "N/A";
|
|
5479
5895
|
const employeeId = (surveyor === null || surveyor === void 0 ? void 0 : surveyor.employeeId) || (surveyor === null || surveyor === void 0 ? void 0 : (_surveyor$owner2 = surveyor.owner) === null || _surveyor$owner2 === void 0 ? void 0 : _surveyor$owner2.uuid) || (surveyor === null || surveyor === void 0 ? void 0 : surveyor.id);
|
|
5480
5896
|
const mobileNumber = (surveyor === null || surveyor === void 0 ? void 0 : (_surveyor$owner3 = surveyor.owner) === null || _surveyor$owner3 === void 0 ? void 0 : _surveyor$owner3.mobileNumber) || (surveyor === null || surveyor === void 0 ? void 0 : surveyor.mobileNo) || "N/A";
|
|
5481
|
-
const
|
|
5482
|
-
currentPage =
|
|
5483
|
-
setCurrentPage =
|
|
5484
|
-
const
|
|
5485
|
-
pageSize =
|
|
5486
|
-
setPageSize =
|
|
5897
|
+
const _useState4 = useState(0),
|
|
5898
|
+
currentPage = _useState4[0],
|
|
5899
|
+
setCurrentPage = _useState4[1];
|
|
5900
|
+
const _useState5 = useState(20),
|
|
5901
|
+
pageSize = _useState5[0],
|
|
5902
|
+
setPageSize = _useState5[1];
|
|
5487
5903
|
const queryParams = {
|
|
5488
5904
|
tenantId: "dl.djb",
|
|
5489
5905
|
offset: currentPage * pageSize,
|
|
@@ -5525,21 +5941,21 @@ const SurveyorDetailsDashboard = () => {
|
|
|
5525
5941
|
return value || "-";
|
|
5526
5942
|
}
|
|
5527
5943
|
}], []);
|
|
5528
|
-
const
|
|
5529
|
-
showReportMenu =
|
|
5530
|
-
setShowReportMenu =
|
|
5531
|
-
const
|
|
5944
|
+
const _useState6 = useState(false),
|
|
5945
|
+
showReportMenu = _useState6[0],
|
|
5946
|
+
setShowReportMenu = _useState6[1];
|
|
5947
|
+
const _useState7 = useState({
|
|
5532
5948
|
from: "",
|
|
5533
5949
|
to: ""
|
|
5534
5950
|
}),
|
|
5535
|
-
customDate =
|
|
5536
|
-
setCustomDate =
|
|
5537
|
-
const _useState7 = useState(false),
|
|
5538
|
-
showCustomPicker = _useState7[0],
|
|
5539
|
-
setShowCustomPicker = _useState7[1];
|
|
5951
|
+
customDate = _useState7[0],
|
|
5952
|
+
setCustomDate = _useState7[1];
|
|
5540
5953
|
const _useState8 = useState(false),
|
|
5541
|
-
|
|
5542
|
-
|
|
5954
|
+
showCustomPicker = _useState8[0],
|
|
5955
|
+
setShowCustomPicker = _useState8[1];
|
|
5956
|
+
const _useState9 = useState(false),
|
|
5957
|
+
reportLoading = _useState9[0],
|
|
5958
|
+
setReportLoading = _useState9[1];
|
|
5543
5959
|
const reportMenuRef = useRef(null);
|
|
5544
5960
|
useEffect(() => {
|
|
5545
5961
|
const handler = e => {
|
|
@@ -5687,7 +6103,8 @@ const SurveyorDetailsDashboard = () => {
|
|
|
5687
6103
|
let title = _ref3.title,
|
|
5688
6104
|
value = _ref3.value,
|
|
5689
6105
|
type = _ref3.type,
|
|
5690
|
-
isLoading = _ref3.isLoading
|
|
6106
|
+
isLoading = _ref3.isLoading,
|
|
6107
|
+
icon = _ref3.icon;
|
|
5691
6108
|
return /*#__PURE__*/React.createElement("div", {
|
|
5692
6109
|
className: "stat-card " + type
|
|
5693
6110
|
}, isLoading ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
@@ -5698,7 +6115,9 @@ const SurveyorDetailsDashboard = () => {
|
|
|
5698
6115
|
className: "stat-title"
|
|
5699
6116
|
}, title), /*#__PURE__*/React.createElement("div", {
|
|
5700
6117
|
className: "stat-value"
|
|
5701
|
-
}, value)
|
|
6118
|
+
}, value), icon && /*#__PURE__*/React.createElement("div", {
|
|
6119
|
+
className: "stat-icon"
|
|
6120
|
+
}, icon)));
|
|
5702
6121
|
};
|
|
5703
6122
|
const options = [{
|
|
5704
6123
|
action: "Assign"
|
|
@@ -5707,6 +6126,77 @@ const SurveyorDetailsDashboard = () => {
|
|
|
5707
6126
|
setShowOptions(false);
|
|
5708
6127
|
setShowModal(true);
|
|
5709
6128
|
};
|
|
6129
|
+
const handleDownloadEkycData = function () {
|
|
6130
|
+
try {
|
|
6131
|
+
setEkycDownloadLoading(true);
|
|
6132
|
+
return Promise.resolve(_finallyRethrows(function () {
|
|
6133
|
+
return _catch(function () {
|
|
6134
|
+
var _surveyor$owner7;
|
|
6135
|
+
return Promise.resolve(Digit.EkycService.application_list({
|
|
6136
|
+
tenantId: tenantId || "dl.djb",
|
|
6137
|
+
offset: 0,
|
|
6138
|
+
limit: 10000,
|
|
6139
|
+
surveyorId: surveyor === null || surveyor === void 0 ? void 0 : (_surveyor$owner7 = surveyor.owner) === null || _surveyor$owner7 === void 0 ? void 0 : _surveyor$owner7.uuid,
|
|
6140
|
+
reportDownload: true
|
|
6141
|
+
})).then(function (response) {
|
|
6142
|
+
const consumerList = (response === null || response === void 0 ? void 0 : response.consumerList) || [];
|
|
6143
|
+
if (consumerList.length === 0) {
|
|
6144
|
+
alert(t("NO_DATA_FOUND") || "No data found for download.");
|
|
6145
|
+
return;
|
|
6146
|
+
}
|
|
6147
|
+
const excludedKeys = ["status", "source", "submittedAt", "assignedAt", "connectionType", "approvedAt", "alternateMobileNo", "city", "state", "addressType", "addressProofType", "mrcode", "areacode", "verificationStatus", "surveyorId", "supervisorId", "vendorId", "assignmentType", "assignmentValue", "assignedTime", "isSelfAssigned", "userType", "tenantName", "tenantMobile"];
|
|
6148
|
+
const headerMapping = {
|
|
6149
|
+
kno: t("KNO") || "KNO",
|
|
6150
|
+
firstName: t("FIRST_NAME") || "First Name",
|
|
6151
|
+
middleName: t("MIDDLE_NAME") || "Middle Name",
|
|
6152
|
+
lastName: t("LAST_NAME") || "Last Name",
|
|
6153
|
+
gender: t("GENDER") || "Gender",
|
|
6154
|
+
mobileNumber: t("MOBILE_NUMBER") || "Mobile Number",
|
|
6155
|
+
emailId: t("EMAIL_ID") || "Email ID",
|
|
6156
|
+
fatherOrHusbandName: t("FATHER_HUSBUND_NAME") || "Father/Husband Name",
|
|
6157
|
+
relationship: t("RELATIONSHIP") || "Relationship",
|
|
6158
|
+
dob: t("DOB") || "Date of Birth",
|
|
6159
|
+
ekycStatus: t("EKYC_STATUS") || "eKYC Status",
|
|
6160
|
+
zoneName: t("ZONE") || "Zone",
|
|
6161
|
+
assembly: t("ASSEMBLY") || "Assembly",
|
|
6162
|
+
ward: t("WARD") || "Ward",
|
|
6163
|
+
pincode: t("PINCODE") || "Pincode",
|
|
6164
|
+
mrkey: t("MR_KEY") || "MR Key",
|
|
6165
|
+
createdTime: t("CREATED_TIME") || "Created Time",
|
|
6166
|
+
lastModifiedTime: t("LAST_MODIFIED_TIME") || "Last Modified Time"
|
|
6167
|
+
};
|
|
6168
|
+
const excelData = consumerList.map(item => {
|
|
6169
|
+
const cleanObj = {};
|
|
6170
|
+
const fullName = [item.firstName, item.middleName, item.lastName].filter(Boolean).join(" ");
|
|
6171
|
+
if (fullName) {
|
|
6172
|
+
cleanObj[t("CONSUMER_NAME") || "Consumer Name"] = fullName;
|
|
6173
|
+
}
|
|
6174
|
+
Object.keys(item).forEach(key => {
|
|
6175
|
+
if (excludedKeys.includes(key)) return;
|
|
6176
|
+
const val = item[key];
|
|
6177
|
+
if (typeof val === "object" && val !== null) {
|
|
6178
|
+
return;
|
|
6179
|
+
}
|
|
6180
|
+
const friendlyHeader = headerMapping[key] || t(key.toUpperCase()) || key;
|
|
6181
|
+
cleanObj[friendlyHeader] = val;
|
|
6182
|
+
});
|
|
6183
|
+
return cleanObj;
|
|
6184
|
+
});
|
|
6185
|
+
const cleanFileName = "eKYC_Data_" + fullName.replace(/[^a-zA-Z0-9]/g, "_");
|
|
6186
|
+
Digit.Download.Excel(excelData, cleanFileName);
|
|
6187
|
+
});
|
|
6188
|
+
}, function (error) {
|
|
6189
|
+
console.error("Error downloading eKYC Excel:", error);
|
|
6190
|
+
});
|
|
6191
|
+
}, function (_wasThrown3, _result3) {
|
|
6192
|
+
setEkycDownloadLoading(false);
|
|
6193
|
+
if (_wasThrown3) throw _result3;
|
|
6194
|
+
return _result3;
|
|
6195
|
+
}));
|
|
6196
|
+
} catch (e) {
|
|
6197
|
+
return Promise.reject(e);
|
|
6198
|
+
}
|
|
6199
|
+
};
|
|
5710
6200
|
const closeModal = function () {
|
|
5711
6201
|
try {
|
|
5712
6202
|
setShowModal(false);
|
|
@@ -5794,71 +6284,105 @@ const SurveyorDetailsDashboard = () => {
|
|
|
5794
6284
|
title: t("TOTAL_ASSIGNED"),
|
|
5795
6285
|
value: (dashboardData === null || dashboardData === void 0 ? void 0 : (_dashboardData$dashbo = dashboardData.dashboardInfo) === null || _dashboardData$dashbo === void 0 ? void 0 : _dashboardData$dashbo.total) || 0,
|
|
5796
6286
|
type: "today",
|
|
5797
|
-
isLoading: isDashboardLoading
|
|
6287
|
+
isLoading: isDashboardLoading,
|
|
6288
|
+
icon: /*#__PURE__*/React.createElement(FaUsers, null)
|
|
5798
6289
|
}), /*#__PURE__*/React.createElement(StatCard, {
|
|
5799
6290
|
title: t("COMPLETED"),
|
|
5800
6291
|
value: (dashboardData === null || dashboardData === void 0 ? void 0 : (_dashboardData$dashbo2 = dashboardData.dashboardInfo) === null || _dashboardData$dashbo2 === void 0 ? void 0 : _dashboardData$dashbo2.completed) || 0,
|
|
5801
6292
|
type: "week",
|
|
5802
|
-
isLoading: isDashboardLoading
|
|
6293
|
+
isLoading: isDashboardLoading,
|
|
6294
|
+
icon: /*#__PURE__*/React.createElement(FaCheckCircle, null)
|
|
5803
6295
|
}), /*#__PURE__*/React.createElement(StatCard, {
|
|
5804
6296
|
title: t("PENDING"),
|
|
5805
6297
|
value: (dashboardData === null || dashboardData === void 0 ? void 0 : (_dashboardData$dashbo3 = dashboardData.dashboardInfo) === null || _dashboardData$dashbo3 === void 0 ? void 0 : _dashboardData$dashbo3.pending) || 0,
|
|
5806
6298
|
type: "pending",
|
|
5807
|
-
isLoading: isDashboardLoading
|
|
6299
|
+
isLoading: isDashboardLoading,
|
|
6300
|
+
icon: /*#__PURE__*/React.createElement(FaClock, null)
|
|
5808
6301
|
}), /*#__PURE__*/React.createElement(StatCard, {
|
|
5809
6302
|
title: t("SUBMITTED"),
|
|
5810
6303
|
value: (dashboardData === null || dashboardData === void 0 ? void 0 : (_dashboardData$dashbo4 = dashboardData.dashboardInfo) === null || _dashboardData$dashbo4 === void 0 ? void 0 : _dashboardData$dashbo4.submittedCount) || 0,
|
|
5811
6304
|
type: "month",
|
|
5812
|
-
isLoading: isDashboardLoading
|
|
6305
|
+
isLoading: isDashboardLoading,
|
|
6306
|
+
icon: /*#__PURE__*/React.createElement(FaChartLine, null)
|
|
5813
6307
|
})), /*#__PURE__*/React.createElement("div", {
|
|
5814
6308
|
className: "charts-wrapper"
|
|
5815
6309
|
}), /*#__PURE__*/React.createElement("div", {
|
|
5816
6310
|
className: "ekyc-dashboard-section"
|
|
6311
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
6312
|
+
className: "ekyc-details-wrapper"
|
|
6313
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
6314
|
+
className: "details-left"
|
|
5817
6315
|
}, /*#__PURE__*/React.createElement("div", {
|
|
5818
6316
|
className: "details-grid"
|
|
5819
6317
|
}, /*#__PURE__*/React.createElement("div", {
|
|
5820
6318
|
className: "detail-item"
|
|
5821
6319
|
}, /*#__PURE__*/React.createElement("span", {
|
|
5822
6320
|
className: "label"
|
|
5823
|
-
}, t("MOBILE")
|
|
6321
|
+
}, t("MOBILE")), /*#__PURE__*/React.createElement("span", {
|
|
5824
6322
|
className: "value"
|
|
5825
|
-
}, (surveyor === null || surveyor === void 0 ? void 0 : (_surveyor$
|
|
6323
|
+
}, (surveyor === null || surveyor === void 0 ? void 0 : (_surveyor$owner8 = surveyor.owner) === null || _surveyor$owner8 === void 0 ? void 0 : _surveyor$owner8.mobileNumber) || (surveyor === null || surveyor === void 0 ? void 0 : surveyor.mobileNo) || "N/A")), /*#__PURE__*/React.createElement("div", {
|
|
5826
6324
|
className: "detail-item"
|
|
5827
6325
|
}, /*#__PURE__*/React.createElement("span", {
|
|
5828
6326
|
className: "label"
|
|
5829
|
-
}, t("EMAIL")
|
|
6327
|
+
}, t("EMAIL")), /*#__PURE__*/React.createElement("span", {
|
|
5830
6328
|
className: "value"
|
|
5831
|
-
}, (surveyor === null || surveyor === void 0 ? void 0 : (_surveyor$
|
|
6329
|
+
}, (surveyor === null || surveyor === void 0 ? void 0 : (_surveyor$owner9 = surveyor.owner) === null || _surveyor$owner9 === void 0 ? void 0 : _surveyor$owner9.emailId) || "N/A")), /*#__PURE__*/React.createElement("div", {
|
|
5832
6330
|
className: "detail-item"
|
|
5833
6331
|
}, /*#__PURE__*/React.createElement("span", {
|
|
5834
6332
|
className: "label"
|
|
5835
|
-
}, t("GENDER")
|
|
6333
|
+
}, t("GENDER")), /*#__PURE__*/React.createElement("span", {
|
|
5836
6334
|
className: "value"
|
|
5837
|
-
}, (surveyor === null || surveyor === void 0 ? void 0 : (_surveyor$
|
|
6335
|
+
}, (surveyor === null || surveyor === void 0 ? void 0 : (_surveyor$owner0 = surveyor.owner) === null || _surveyor$owner0 === void 0 ? void 0 : _surveyor$owner0.gender) || "N/A")), /*#__PURE__*/React.createElement("div", {
|
|
5838
6336
|
className: "detail-item"
|
|
5839
6337
|
}, /*#__PURE__*/React.createElement("span", {
|
|
5840
6338
|
className: "label"
|
|
5841
|
-
}, t("STATUS")
|
|
6339
|
+
}, t("STATUS")), /*#__PURE__*/React.createElement("span", {
|
|
5842
6340
|
className: "value"
|
|
5843
6341
|
}, (surveyor === null || surveyor === void 0 ? void 0 : surveyor.status) || "N/A")), /*#__PURE__*/React.createElement("div", {
|
|
5844
6342
|
className: "detail-item"
|
|
5845
6343
|
}, /*#__PURE__*/React.createElement("span", {
|
|
5846
6344
|
className: "label"
|
|
5847
|
-
}, t("SERVICE_TYPE")
|
|
6345
|
+
}, t("SERVICE_TYPE")), /*#__PURE__*/React.createElement("span", {
|
|
5848
6346
|
className: "value"
|
|
5849
6347
|
}, (surveyor === null || surveyor === void 0 ? void 0 : (_surveyor$additionalD = surveyor.additionalDetails) === null || _surveyor$additionalD === void 0 ? void 0 : _surveyor$additionalD.serviceType) || "N/A")), /*#__PURE__*/React.createElement("div", {
|
|
5850
6348
|
className: "detail-item"
|
|
5851
6349
|
}, /*#__PURE__*/React.createElement("span", {
|
|
5852
6350
|
className: "label"
|
|
5853
|
-
}, t("VENDOR_NAME") || "Vendor Name"
|
|
6351
|
+
}, t("VENDOR_NAME") || "Vendor Name"), /*#__PURE__*/React.createElement("span", {
|
|
5854
6352
|
className: "value"
|
|
5855
6353
|
}, vendorName)), /*#__PURE__*/React.createElement("div", {
|
|
5856
6354
|
className: "detail-item"
|
|
5857
6355
|
}, /*#__PURE__*/React.createElement("span", {
|
|
5858
6356
|
className: "label"
|
|
5859
|
-
}, t("SUPERVISOR_NAME") || "Supervisor Name"
|
|
6357
|
+
}, t("SUPERVISOR_NAME") || "Supervisor Name"), /*#__PURE__*/React.createElement("span", {
|
|
5860
6358
|
className: "value"
|
|
5861
|
-
}, supervisorName)))), /*#__PURE__*/React.createElement(
|
|
6359
|
+
}, supervisorName)))), /*#__PURE__*/React.createElement("div", {
|
|
6360
|
+
className: "details-right"
|
|
6361
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
6362
|
+
className: "download-card"
|
|
6363
|
+
}, /*#__PURE__*/React.createElement("h4", null, t("DOWNLOAD_EKYC_DATA") || "Download eKYC Data"), /*#__PURE__*/React.createElement("p", null, t("DOWNLOAD_EKYC_DATA_DESC") || "Export the complete eKYC verification records for your assigned jurisdiction into Excel format."), /*#__PURE__*/React.createElement("button", {
|
|
6364
|
+
className: "download-excel-btn",
|
|
6365
|
+
disabled: ekycDownloadLoading,
|
|
6366
|
+
onClick: handleDownloadEkycData
|
|
6367
|
+
}, /*#__PURE__*/React.createElement("svg", {
|
|
6368
|
+
width: "16",
|
|
6369
|
+
height: "16",
|
|
6370
|
+
viewBox: "0 0 24 24",
|
|
6371
|
+
fill: "none",
|
|
6372
|
+
stroke: "currentColor",
|
|
6373
|
+
strokeWidth: "2.5",
|
|
6374
|
+
strokeLinecap: "round",
|
|
6375
|
+
strokeLinejoin: "round"
|
|
6376
|
+
}, /*#__PURE__*/React.createElement("path", {
|
|
6377
|
+
d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"
|
|
6378
|
+
}), /*#__PURE__*/React.createElement("polyline", {
|
|
6379
|
+
points: "7 10 12 15 17 10"
|
|
6380
|
+
}), /*#__PURE__*/React.createElement("line", {
|
|
6381
|
+
x1: "12",
|
|
6382
|
+
y1: "15",
|
|
6383
|
+
x2: "12",
|
|
6384
|
+
y2: "3"
|
|
6385
|
+
})), ekycDownloadLoading ? t("DOWNLOADING") || "Downloading..." : t("DOWNLOAD_EXCEL") || "Download Excel"))))), /*#__PURE__*/React.createElement(Card, {
|
|
5862
6386
|
className: "dashboard-card"
|
|
5863
6387
|
}, /*#__PURE__*/React.createElement(Table, {
|
|
5864
6388
|
t: t,
|
|
@@ -5870,6 +6394,7 @@ const SurveyorDetailsDashboard = () => {
|
|
|
5870
6394
|
totalRecords: dashboardData === null || dashboardData === void 0 ? void 0 : (_dashboardData$dashbo6 = dashboardData.dashboardInfo) === null || _dashboardData$dashbo6 === void 0 ? void 0 : _dashboardData$dashbo6.total,
|
|
5871
6395
|
currentPage: currentPage,
|
|
5872
6396
|
pageSizeLimit: pageSize,
|
|
6397
|
+
showAutoSerialNo: true,
|
|
5873
6398
|
isPaginationRequired: true,
|
|
5874
6399
|
onNextPage: () => {
|
|
5875
6400
|
var _dashboardData$dashbo7;
|
|
@@ -6084,8 +6609,7 @@ const AssignEkyc = () => {
|
|
|
6084
6609
|
enabled: !!tenantId,
|
|
6085
6610
|
keepPreviousData: true
|
|
6086
6611
|
}),
|
|
6087
|
-
isDataSearchLoading = _Digit$Hooks$ekyc$use.isLoading
|
|
6088
|
-
data = _Digit$Hooks$ekyc$use.data;
|
|
6612
|
+
isDataSearchLoading = _Digit$Hooks$ekyc$use.isLoading;
|
|
6089
6613
|
const sourceData = useMemo(() => {
|
|
6090
6614
|
return (dashboardData === null || dashboardData === void 0 ? void 0 : dashboardData.surveyors) || [];
|
|
6091
6615
|
}, [dashboardData]);
|
|
@@ -6191,62 +6715,411 @@ const AssignEkyc = () => {
|
|
|
6191
6715
|
});
|
|
6192
6716
|
}
|
|
6193
6717
|
}
|
|
6194
|
-
};
|
|
6195
|
-
const propsForInboxTable = SupervisorInboxTableConfig(_extends({}, {
|
|
6196
|
-
onPageSizeChange,
|
|
6197
|
-
formState,
|
|
6198
|
-
totalCount: totalRecords,
|
|
6199
|
-
table: filteredData,
|
|
6200
|
-
dispatch,
|
|
6201
|
-
onSortingByData,
|
|
6202
|
-
tenantId,
|
|
6203
|
-
inboxStyles: {
|
|
6204
|
-
overflowX: "scroll",
|
|
6205
|
-
overflowY: "hidden"
|
|
6206
|
-
},
|
|
6207
|
-
tableStyle: {
|
|
6208
|
-
width: "70%"
|
|
6718
|
+
};
|
|
6719
|
+
const propsForInboxTable = SupervisorInboxTableConfig(_extends({}, {
|
|
6720
|
+
onPageSizeChange,
|
|
6721
|
+
formState,
|
|
6722
|
+
totalCount: totalRecords,
|
|
6723
|
+
table: filteredData,
|
|
6724
|
+
dispatch,
|
|
6725
|
+
onSortingByData,
|
|
6726
|
+
tenantId,
|
|
6727
|
+
inboxStyles: {
|
|
6728
|
+
overflowX: "scroll",
|
|
6729
|
+
overflowY: "hidden"
|
|
6730
|
+
},
|
|
6731
|
+
tableStyle: {
|
|
6732
|
+
width: "70%"
|
|
6733
|
+
}
|
|
6734
|
+
}));
|
|
6735
|
+
const isInboxLoading = isLoading;
|
|
6736
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
6737
|
+
className: "app-container"
|
|
6738
|
+
}, /*#__PURE__*/React.createElement(InboxComposer, _extends({
|
|
6739
|
+
isInboxLoading
|
|
6740
|
+
}, propsForSearchForm, {
|
|
6741
|
+
propsForInboxTable,
|
|
6742
|
+
formState,
|
|
6743
|
+
countData: dashboardData === null || dashboardData === void 0 ? void 0 : dashboardData.dashboardInfo,
|
|
6744
|
+
isCardLoading: isDataSearchLoading
|
|
6745
|
+
})));
|
|
6746
|
+
};
|
|
6747
|
+
|
|
6748
|
+
const AdminDashboard = () => {
|
|
6749
|
+
var _Digit$SessionStorage, _loggedInUser$roles, _fullName$charAt;
|
|
6750
|
+
const _useTranslation = useTranslation(),
|
|
6751
|
+
t = _useTranslation.t;
|
|
6752
|
+
const history = useHistory();
|
|
6753
|
+
let tenantId = Digit.ULBService.getCurrentTenantId();
|
|
6754
|
+
if (!tenantId || tenantId === "dl") {
|
|
6755
|
+
tenantId = "dl.djb";
|
|
6756
|
+
}
|
|
6757
|
+
const loggedInUser = (_Digit$SessionStorage = Digit.SessionStorage.get("User")) === null || _Digit$SessionStorage === void 0 ? void 0 : _Digit$SessionStorage.info;
|
|
6758
|
+
const _Digit$Hooks$fsm$useD = Digit.Hooks.fsm.useDsoSearch(tenantId, {
|
|
6759
|
+
status: "ACTIVE"
|
|
6760
|
+
}, {
|
|
6761
|
+
enabled: !!tenantId
|
|
6762
|
+
}),
|
|
6763
|
+
vendorSearchResponse = _Digit$Hooks$fsm$useD.data,
|
|
6764
|
+
isVendorSearchLoading = _Digit$Hooks$fsm$useD.isLoading;
|
|
6765
|
+
const _Digit$Hooks$ekyc$use = Digit.Hooks.ekyc.useEkycAssignmentProgress({
|
|
6766
|
+
enabled: !!tenantId,
|
|
6767
|
+
keepPreviousData: true
|
|
6768
|
+
}),
|
|
6769
|
+
progressData = _Digit$Hooks$ekyc$use.data,
|
|
6770
|
+
isProgressLoading = _Digit$Hooks$ekyc$use.isLoading;
|
|
6771
|
+
const vendorsList = useMemo(() => {
|
|
6772
|
+
if (vendorSearchResponse && vendorSearchResponse.length > 0) {
|
|
6773
|
+
return vendorSearchResponse.map(v => {
|
|
6774
|
+
var _progressData$supervi, _dso$owner, _v$owner, _dso$owner2;
|
|
6775
|
+
const dso = v.dsoDetails || v;
|
|
6776
|
+
const supervisorsList = dso.supervisors || [];
|
|
6777
|
+
const surveyorsList = dso.surveyors || [];
|
|
6778
|
+
const supervisorIds = supervisorsList.map(s => {
|
|
6779
|
+
var _s$owner;
|
|
6780
|
+
return s.id || ((_s$owner = s.owner) === null || _s$owner === void 0 ? void 0 : _s$owner.uuid);
|
|
6781
|
+
}).filter(Boolean);
|
|
6782
|
+
const matchedReports = (progressData === null || progressData === void 0 ? void 0 : (_progressData$supervi = progressData.supervisorReport) === null || _progressData$supervi === void 0 ? void 0 : _progressData$supervi.filter(r => supervisorIds.includes(r.supervisorId))) || [];
|
|
6783
|
+
const completed = matchedReports.reduce((acc, r) => acc + (r.submittedKnos || 0), 0);
|
|
6784
|
+
const pending = matchedReports.reduce((acc, r) => acc + (r.pendingKnos || 0), 0);
|
|
6785
|
+
const total = matchedReports.reduce((acc, r) => acc + (r.totalKnos || 0), 0);
|
|
6786
|
+
const progress = total > 0 ? Math.round(completed / total * 100) : 0;
|
|
6787
|
+
const rejected = 0;
|
|
6788
|
+
return {
|
|
6789
|
+
id: dso.id || dso.vendorId || v.id || v.vendorId,
|
|
6790
|
+
name: dso.name || dso.displayName || v.name || "N/A",
|
|
6791
|
+
ownerName: ((_dso$owner = dso.owner) === null || _dso$owner === void 0 ? void 0 : _dso$owner.name) || ((_v$owner = v.owner) === null || _v$owner === void 0 ? void 0 : _v$owner.name) || "N/A",
|
|
6792
|
+
mobileNumber: dso.mobileNumber || ((_dso$owner2 = dso.owner) === null || _dso$owner2 === void 0 ? void 0 : _dso$owner2.mobileNumber) || v.mobileNumber || "N/A",
|
|
6793
|
+
supervisors: supervisorsList.length,
|
|
6794
|
+
surveyors: surveyorsList.length,
|
|
6795
|
+
completed: completed,
|
|
6796
|
+
progress: progress,
|
|
6797
|
+
pending: pending,
|
|
6798
|
+
rejected: rejected
|
|
6799
|
+
};
|
|
6800
|
+
});
|
|
6801
|
+
}
|
|
6802
|
+
return [];
|
|
6803
|
+
}, [vendorSearchResponse, progressData]);
|
|
6804
|
+
const _useState = useState(false),
|
|
6805
|
+
ekycDownloadLoading = _useState[0],
|
|
6806
|
+
setEkycDownloadLoading = _useState[1];
|
|
6807
|
+
const _useState2 = useState(0),
|
|
6808
|
+
currentPage = _useState2[0];
|
|
6809
|
+
const _useState3 = useState(20),
|
|
6810
|
+
pageSize = _useState3[0];
|
|
6811
|
+
const _Digit$Hooks$ekyc$use2 = Digit.Hooks.ekyc.useEkycApplicationList({}, {
|
|
6812
|
+
tenantId,
|
|
6813
|
+
offset: currentPage * pageSize,
|
|
6814
|
+
limit: pageSize
|
|
6815
|
+
}, {
|
|
6816
|
+
keepPreviousData: true
|
|
6817
|
+
});
|
|
6818
|
+
const fullName = (loggedInUser === null || loggedInUser === void 0 ? void 0 : loggedInUser.name) || "Admin";
|
|
6819
|
+
const mobileNumber = (loggedInUser === null || loggedInUser === void 0 ? void 0 : loggedInUser.mobileNumber) || "N/A";
|
|
6820
|
+
const roleText = (loggedInUser === null || loggedInUser === void 0 ? void 0 : (_loggedInUser$roles = loggedInUser.roles) === null || _loggedInUser$roles === void 0 ? void 0 : _loggedInUser$roles.map(r => r.name).join(", ")) || "EKYC Admin";
|
|
6821
|
+
const handleDownloadEkycData = function () {
|
|
6822
|
+
try {
|
|
6823
|
+
setEkycDownloadLoading(true);
|
|
6824
|
+
return Promise.resolve(_finallyRethrows(function () {
|
|
6825
|
+
return _catch(function () {
|
|
6826
|
+
return Promise.resolve(Digit.EkycService.application_list({
|
|
6827
|
+
tenantId: tenantId,
|
|
6828
|
+
offset: 0,
|
|
6829
|
+
limit: 10000,
|
|
6830
|
+
reportDownload: true
|
|
6831
|
+
})).then(function (response) {
|
|
6832
|
+
const consumerList = (response === null || response === void 0 ? void 0 : response.consumerList) || [];
|
|
6833
|
+
if (consumerList.length === 0) {
|
|
6834
|
+
alert(t("NO_DATA_FOUND") || "No data found for download.");
|
|
6835
|
+
return;
|
|
6836
|
+
}
|
|
6837
|
+
const excludedKeys = ["status", "source", "submittedAt", "assignedAt", "connectionType", "approvedAt", "alternateMobileNo", "city", "state", "addressType", "addressProofType", "mrcode", "areacode", "verificationStatus", "surveyorId", "supervisorId", "vendorId", "assignmentType", "assignmentValue", "assignedTime", "isSelfAssigned", "userType", "tenantName", "tenantMobile"];
|
|
6838
|
+
const headerMapping = {
|
|
6839
|
+
kno: t("KNO") || "KNO",
|
|
6840
|
+
firstName: t("FIRST_NAME") || "First Name",
|
|
6841
|
+
middleName: t("MIDDLE_NAME") || "Middle Name",
|
|
6842
|
+
lastName: t("LAST_NAME") || "Last Name",
|
|
6843
|
+
gender: t("GENDER") || "Gender",
|
|
6844
|
+
mobileNumber: t("MOBILE_NUMBER") || "Mobile Number",
|
|
6845
|
+
emailId: t("EMAIL_ID") || "Email ID",
|
|
6846
|
+
fatherOrHusbandName: t("FATHER_HUSBUND_NAME") || "Father/Husband Name",
|
|
6847
|
+
relationship: t("RELATIONSHIP") || "Relationship",
|
|
6848
|
+
dob: t("DOB") || "Date of Birth",
|
|
6849
|
+
ekycStatus: t("EKYC_STATUS") || "eKYC Status",
|
|
6850
|
+
zoneName: t("ZONE") || "Zone",
|
|
6851
|
+
assembly: t("ASSEMBLY") || "Assembly",
|
|
6852
|
+
ward: t("WARD") || "Ward",
|
|
6853
|
+
pincode: t("PINCODE") || "Pincode",
|
|
6854
|
+
mrkey: t("MR_KEY") || "MR Key",
|
|
6855
|
+
createdTime: t("CREATED_TIME") || "Created Time",
|
|
6856
|
+
lastModifiedTime: t("LAST_MODIFIED_TIME") || "Last Modified Time"
|
|
6857
|
+
};
|
|
6858
|
+
const excelData = consumerList.map(item => {
|
|
6859
|
+
const cleanObj = {};
|
|
6860
|
+
const name = [item.firstName, item.middleName, item.lastName].filter(Boolean).join(" ");
|
|
6861
|
+
if (name) {
|
|
6862
|
+
cleanObj[t("CONSUMER_NAME") || "Consumer Name"] = name;
|
|
6863
|
+
}
|
|
6864
|
+
Object.keys(item).forEach(key => {
|
|
6865
|
+
if (excludedKeys.includes(key)) return;
|
|
6866
|
+
const val = item[key];
|
|
6867
|
+
if (typeof val === "object" && val !== null) {
|
|
6868
|
+
return;
|
|
6869
|
+
}
|
|
6870
|
+
const friendlyHeader = headerMapping[key] || t(key.toUpperCase()) || key;
|
|
6871
|
+
cleanObj[friendlyHeader] = val;
|
|
6872
|
+
});
|
|
6873
|
+
return cleanObj;
|
|
6874
|
+
});
|
|
6875
|
+
const cleanFileName = "eKYC_All_Data_Admin_" + fullName.replace(/[^a-zA-Z0-9]/g, "_");
|
|
6876
|
+
Digit.Download.Excel(excelData, cleanFileName);
|
|
6877
|
+
});
|
|
6878
|
+
}, function (error) {
|
|
6879
|
+
console.error("Error downloading eKYC Excel:", error);
|
|
6880
|
+
});
|
|
6881
|
+
}, function (_wasThrown, _result) {
|
|
6882
|
+
setEkycDownloadLoading(false);
|
|
6883
|
+
if (_wasThrown) throw _result;
|
|
6884
|
+
return _result;
|
|
6885
|
+
}));
|
|
6886
|
+
} catch (e) {
|
|
6887
|
+
return Promise.reject(e);
|
|
6888
|
+
}
|
|
6889
|
+
};
|
|
6890
|
+
return /*#__PURE__*/React.createElement(Card, {
|
|
6891
|
+
className: "surveyor-dashboard"
|
|
6892
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
6893
|
+
className: "ekyc-dashboard-section"
|
|
6894
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
6895
|
+
className: "ekyc-dashboard-header"
|
|
6896
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
6897
|
+
className: "avatar"
|
|
6898
|
+
}, fullName === null || fullName === void 0 ? void 0 : (_fullName$charAt = fullName.charAt(0)) === null || _fullName$charAt === void 0 ? void 0 : _fullName$charAt.toUpperCase()), /*#__PURE__*/React.createElement("div", {
|
|
6899
|
+
className: "header-content"
|
|
6900
|
+
}, /*#__PURE__*/React.createElement("h2", {
|
|
6901
|
+
className: "name"
|
|
6902
|
+
}, fullName), /*#__PURE__*/React.createElement("div", {
|
|
6903
|
+
className: "designation"
|
|
6904
|
+
}, t("EKYC_ADMIN") || "eKYC Admin / Manager"), /*#__PURE__*/React.createElement("div", {
|
|
6905
|
+
className: "mobile-number"
|
|
6906
|
+
}, mobileNumber))), /*#__PURE__*/React.createElement("button", {
|
|
6907
|
+
className: "download-excel-btn",
|
|
6908
|
+
disabled: ekycDownloadLoading,
|
|
6909
|
+
onClick: handleDownloadEkycData,
|
|
6910
|
+
style: {
|
|
6911
|
+
margin: 0,
|
|
6912
|
+
padding: "8px 16px",
|
|
6913
|
+
height: "auto",
|
|
6914
|
+
minHeight: "36px",
|
|
6915
|
+
width: "auto"
|
|
6916
|
+
}
|
|
6917
|
+
}, /*#__PURE__*/React.createElement("svg", {
|
|
6918
|
+
width: "16",
|
|
6919
|
+
height: "16",
|
|
6920
|
+
viewBox: "0 0 24 24",
|
|
6921
|
+
fill: "none",
|
|
6922
|
+
stroke: "currentColor",
|
|
6923
|
+
strokeWidth: "2.5",
|
|
6924
|
+
strokeLinecap: "round",
|
|
6925
|
+
strokeLinejoin: "round",
|
|
6926
|
+
style: {
|
|
6927
|
+
marginRight: "8px"
|
|
6928
|
+
}
|
|
6929
|
+
}, /*#__PURE__*/React.createElement("path", {
|
|
6930
|
+
d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"
|
|
6931
|
+
}), /*#__PURE__*/React.createElement("polyline", {
|
|
6932
|
+
points: "7 10 12 15 17 10"
|
|
6933
|
+
}), /*#__PURE__*/React.createElement("line", {
|
|
6934
|
+
x1: "12",
|
|
6935
|
+
y1: "15",
|
|
6936
|
+
x2: "12",
|
|
6937
|
+
y2: "3"
|
|
6938
|
+
})), ekycDownloadLoading ? t("DOWNLOADING") || "Downloading..." : t("DOWNLOAD_EXCEL") || "Download Excel")), /*#__PURE__*/React.createElement("div", {
|
|
6939
|
+
style: {
|
|
6940
|
+
marginTop: "32px"
|
|
6941
|
+
}
|
|
6942
|
+
}, /*#__PURE__*/React.createElement("h3", {
|
|
6943
|
+
style: {
|
|
6944
|
+
fontSize: "20px",
|
|
6945
|
+
fontWeight: "700",
|
|
6946
|
+
color: "#101828",
|
|
6947
|
+
marginBottom: "20px"
|
|
6948
|
+
}
|
|
6949
|
+
}, t("EKYC_VENDORS_PERFORMANCE") || "eKYC Vendors Performance"), isVendorSearchLoading || isProgressLoading ? /*#__PURE__*/React.createElement(Loader, null) : /*#__PURE__*/React.createElement("div", {
|
|
6950
|
+
style: {
|
|
6951
|
+
display: "grid",
|
|
6952
|
+
gridTemplateColumns: "repeat(3, 1fr)",
|
|
6953
|
+
gap: "24px",
|
|
6954
|
+
width: "100%"
|
|
6955
|
+
}
|
|
6956
|
+
}, vendorsList.length === 0 ? /*#__PURE__*/React.createElement("div", {
|
|
6957
|
+
style: {
|
|
6958
|
+
gridColumn: "span 3",
|
|
6959
|
+
textAlign: "center",
|
|
6960
|
+
padding: "40px",
|
|
6961
|
+
color: "#64748B",
|
|
6962
|
+
fontSize: "16px"
|
|
6963
|
+
}
|
|
6964
|
+
}, t("NO_VENDORS_FOUND") || "No vendors found.") : vendorsList.map(vendor => /*#__PURE__*/React.createElement("div", {
|
|
6965
|
+
key: vendor.id,
|
|
6966
|
+
onClick: () => history.push("/digit-ui/employee/ekyc/vendors/" + vendor.id),
|
|
6967
|
+
style: {
|
|
6968
|
+
background: "#ffffff",
|
|
6969
|
+
border: "1px solid #E2E8F0",
|
|
6970
|
+
borderRadius: "16px",
|
|
6971
|
+
padding: "24px",
|
|
6972
|
+
boxShadow: "0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03)",
|
|
6973
|
+
cursor: "pointer",
|
|
6974
|
+
transition: "all 0.3s cubic-bezier(0.4, 0, 0.2, 1)",
|
|
6975
|
+
display: "flex",
|
|
6976
|
+
flexDirection: "column",
|
|
6977
|
+
justifyContent: "space-between",
|
|
6978
|
+
gap: "16px"
|
|
6979
|
+
},
|
|
6980
|
+
onMouseEnter: e => {
|
|
6981
|
+
e.currentTarget.style.transform = "translateY(-4px)";
|
|
6982
|
+
e.currentTarget.style.boxShadow = "0 10px 15px -3px rgba(0, 0, 0, 0.08), 0 4px 6px -2px rgba(0, 0, 0, 0.04)";
|
|
6983
|
+
e.currentTarget.style.borderColor = "#CBD5E1";
|
|
6984
|
+
},
|
|
6985
|
+
onMouseLeave: e => {
|
|
6986
|
+
e.currentTarget.style.transform = "translateY(0)";
|
|
6987
|
+
e.currentTarget.style.boxShadow = "0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03)";
|
|
6988
|
+
e.currentTarget.style.borderColor = "#E2E8F0";
|
|
6989
|
+
}
|
|
6990
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
6991
|
+
style: {
|
|
6992
|
+
display: "flex",
|
|
6993
|
+
justifyContent: "space-between",
|
|
6994
|
+
alignItems: "flex-start"
|
|
6995
|
+
}
|
|
6996
|
+
}, /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("h4", {
|
|
6997
|
+
style: {
|
|
6998
|
+
fontSize: "18px",
|
|
6999
|
+
fontWeight: "700",
|
|
7000
|
+
color: "#0B2559",
|
|
7001
|
+
margin: 0
|
|
7002
|
+
}
|
|
7003
|
+
}, vendor.name), /*#__PURE__*/React.createElement("p", {
|
|
7004
|
+
style: {
|
|
7005
|
+
fontSize: "12px",
|
|
7006
|
+
color: "#64748B",
|
|
7007
|
+
marginTop: "2px",
|
|
7008
|
+
marginBottom: 0
|
|
7009
|
+
}
|
|
7010
|
+
}, t("MOBILE") || "Mobile", ": ", vendor.mobileNumber)), /*#__PURE__*/React.createElement("span", {
|
|
7011
|
+
style: {
|
|
7012
|
+
background: "#E0F2FE",
|
|
7013
|
+
color: "#0369A1",
|
|
7014
|
+
padding: "6px 12px",
|
|
7015
|
+
borderRadius: "999px",
|
|
7016
|
+
fontSize: "13px",
|
|
7017
|
+
fontWeight: "700"
|
|
7018
|
+
}
|
|
7019
|
+
}, vendor.progress, "%")), /*#__PURE__*/React.createElement("div", {
|
|
7020
|
+
style: {
|
|
7021
|
+
width: "100%",
|
|
7022
|
+
height: "8px",
|
|
7023
|
+
background: "#F1F5F9",
|
|
7024
|
+
borderRadius: "999px",
|
|
7025
|
+
overflow: "hidden"
|
|
7026
|
+
}
|
|
7027
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
7028
|
+
style: {
|
|
7029
|
+
width: vendor.progress + "%",
|
|
7030
|
+
height: "100%",
|
|
7031
|
+
background: "linear-gradient(90deg, #3B82F6 0%, #10B981 100%)",
|
|
7032
|
+
borderRadius: "999px"
|
|
7033
|
+
}
|
|
7034
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
7035
|
+
style: {
|
|
7036
|
+
display: "grid",
|
|
7037
|
+
gridTemplateColumns: "repeat(3, 1fr)",
|
|
7038
|
+
gap: "12px"
|
|
7039
|
+
}
|
|
7040
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
7041
|
+
style: {
|
|
7042
|
+
background: "#F8FAFC",
|
|
7043
|
+
padding: "12px 8px",
|
|
7044
|
+
borderRadius: "10px",
|
|
7045
|
+
textAlign: "center"
|
|
7046
|
+
}
|
|
7047
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
7048
|
+
style: {
|
|
7049
|
+
fontSize: "16px",
|
|
7050
|
+
fontWeight: "700",
|
|
7051
|
+
color: "#1E293B"
|
|
6209
7052
|
}
|
|
6210
|
-
})
|
|
6211
|
-
|
|
6212
|
-
|
|
6213
|
-
|
|
6214
|
-
|
|
6215
|
-
|
|
6216
|
-
|
|
6217
|
-
|
|
6218
|
-
}, {
|
|
6219
|
-
|
|
6220
|
-
|
|
6221
|
-
|
|
6222
|
-
|
|
6223
|
-
|
|
6224
|
-
|
|
6225
|
-
|
|
6226
|
-
|
|
6227
|
-
|
|
6228
|
-
|
|
6229
|
-
|
|
6230
|
-
|
|
6231
|
-
|
|
6232
|
-
|
|
6233
|
-
|
|
6234
|
-
|
|
6235
|
-
|
|
6236
|
-
|
|
6237
|
-
|
|
6238
|
-
|
|
6239
|
-
|
|
6240
|
-
|
|
6241
|
-
|
|
6242
|
-
|
|
6243
|
-
|
|
6244
|
-
|
|
6245
|
-
|
|
6246
|
-
|
|
6247
|
-
|
|
6248
|
-
|
|
6249
|
-
|
|
7053
|
+
}, vendor.supervisors), /*#__PURE__*/React.createElement("div", {
|
|
7054
|
+
style: {
|
|
7055
|
+
fontSize: "10px",
|
|
7056
|
+
fontWeight: "600",
|
|
7057
|
+
color: "#64748B",
|
|
7058
|
+
textTransform: "uppercase",
|
|
7059
|
+
marginTop: "4px"
|
|
7060
|
+
}
|
|
7061
|
+
}, t("SUPERVISORS") || "Supervisors")), /*#__PURE__*/React.createElement("div", {
|
|
7062
|
+
style: {
|
|
7063
|
+
background: "#F8FAFC",
|
|
7064
|
+
padding: "12px 8px",
|
|
7065
|
+
borderRadius: "10px",
|
|
7066
|
+
textAlign: "center"
|
|
7067
|
+
}
|
|
7068
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
7069
|
+
style: {
|
|
7070
|
+
fontSize: "16px",
|
|
7071
|
+
fontWeight: "700",
|
|
7072
|
+
color: "#1E293B"
|
|
7073
|
+
}
|
|
7074
|
+
}, vendor.surveyors), /*#__PURE__*/React.createElement("div", {
|
|
7075
|
+
style: {
|
|
7076
|
+
fontSize: "10px",
|
|
7077
|
+
fontWeight: "600",
|
|
7078
|
+
color: "#64748B",
|
|
7079
|
+
textTransform: "uppercase",
|
|
7080
|
+
marginTop: "4px"
|
|
7081
|
+
}
|
|
7082
|
+
}, t("SURVEYORS") || "Surveyors")), /*#__PURE__*/React.createElement("div", {
|
|
7083
|
+
style: {
|
|
7084
|
+
background: "#F8FAFC",
|
|
7085
|
+
padding: "12px 8px",
|
|
7086
|
+
borderRadius: "10px",
|
|
7087
|
+
textAlign: "center"
|
|
7088
|
+
}
|
|
7089
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
7090
|
+
style: {
|
|
7091
|
+
fontSize: "16px",
|
|
7092
|
+
fontWeight: "700",
|
|
7093
|
+
color: "#10B981"
|
|
7094
|
+
}
|
|
7095
|
+
}, vendor.completed), /*#__PURE__*/React.createElement("div", {
|
|
7096
|
+
style: {
|
|
7097
|
+
fontSize: "10px",
|
|
7098
|
+
fontWeight: "600",
|
|
7099
|
+
color: "#64748B",
|
|
7100
|
+
textTransform: "uppercase",
|
|
7101
|
+
marginTop: "4px"
|
|
7102
|
+
}
|
|
7103
|
+
}, t("COMPLETED") || "Completed"))), /*#__PURE__*/React.createElement("div", {
|
|
7104
|
+
style: {
|
|
7105
|
+
display: "flex",
|
|
7106
|
+
justifyContent: "space-between",
|
|
7107
|
+
fontSize: "12px",
|
|
7108
|
+
color: "#64748B",
|
|
7109
|
+
borderTop: "1px solid #F1F5F9",
|
|
7110
|
+
paddingTop: "12px"
|
|
7111
|
+
}
|
|
7112
|
+
}, /*#__PURE__*/React.createElement("span", null, t("PENDING") || "Pending", ": ", /*#__PURE__*/React.createElement("span", {
|
|
7113
|
+
style: {
|
|
7114
|
+
fontWeight: "700",
|
|
7115
|
+
color: "#F59E0B"
|
|
7116
|
+
}
|
|
7117
|
+
}, vendor.pending)), /*#__PURE__*/React.createElement("span", null, t("REJECTED") || "Rejected", ": ", /*#__PURE__*/React.createElement("span", {
|
|
7118
|
+
style: {
|
|
7119
|
+
fontWeight: "700",
|
|
7120
|
+
color: "#EF4444"
|
|
7121
|
+
}
|
|
7122
|
+
}, vendor.rejected))))))));
|
|
6250
7123
|
};
|
|
6251
7124
|
|
|
6252
7125
|
const EmployeeApp = _ref => {
|
|
@@ -6308,6 +7181,10 @@ const EmployeeApp = _ref => {
|
|
|
6308
7181
|
crumbs.push({
|
|
6309
7182
|
label: t("CEO_M.F_DOR_FINANCE_VIEW")
|
|
6310
7183
|
});
|
|
7184
|
+
} else if (pathname.includes("/admin-dashboard")) {
|
|
7185
|
+
crumbs.push({
|
|
7186
|
+
label: t("EKYC_ADMIN_DASHBOARD") || "Admin Dashboard"
|
|
7187
|
+
});
|
|
6311
7188
|
} else if (pathname.includes("/vendors/")) {
|
|
6312
7189
|
crumbs.push({
|
|
6313
7190
|
label: t("EKYC_VENDOR_DETAILS")
|
|
@@ -6397,11 +7274,16 @@ const EmployeeApp = _ref => {
|
|
|
6397
7274
|
component: () => /*#__PURE__*/React.createElement(LayoutWrapper, {
|
|
6398
7275
|
layoutClass: "normal"
|
|
6399
7276
|
}, /*#__PURE__*/React.createElement(CeoDashboard, null))
|
|
7277
|
+
}), /*#__PURE__*/React.createElement(PrivateRoute, {
|
|
7278
|
+
path: path + "/admin-dashboard",
|
|
7279
|
+
component: () => /*#__PURE__*/React.createElement(LayoutWrapper, {
|
|
7280
|
+
layoutClass: "normal"
|
|
7281
|
+
}, /*#__PURE__*/React.createElement(AdminDashboard, null))
|
|
6400
7282
|
}), /*#__PURE__*/React.createElement(PrivateRoute, {
|
|
6401
7283
|
path: path + "/vendors/:vendorId",
|
|
6402
7284
|
component: () => /*#__PURE__*/React.createElement(LayoutWrapper, {
|
|
6403
7285
|
layoutClass: "normal"
|
|
6404
|
-
}, /*#__PURE__*/React.createElement(
|
|
7286
|
+
}, /*#__PURE__*/React.createElement(VendorDetailsCard, null))
|
|
6405
7287
|
})))));
|
|
6406
7288
|
};
|
|
6407
7289
|
|
|
@@ -7462,6 +8344,12 @@ const Home = () => {
|
|
|
7462
8344
|
link: "/digit-ui/citizen/ekyc/supervisor-dashboard"
|
|
7463
8345
|
});
|
|
7464
8346
|
}
|
|
8347
|
+
if (roles.includes("EKYC_VENDOR")) {
|
|
8348
|
+
propsForModuleCard.links.push({
|
|
8349
|
+
label: t("EKYC_VENDOR_DASHBOARD"),
|
|
8350
|
+
link: "/digit-ui/citizen/ekyc/vendor-dashboard"
|
|
8351
|
+
});
|
|
8352
|
+
}
|
|
7465
8353
|
if (roles.includes("EKYC_SUPERVISOR") || roles.includes("EKYC_VENDOR")) {
|
|
7466
8354
|
propsForModuleCard.links.push({
|
|
7467
8355
|
label: t("TITLE_VENDOR_MANAGEMENT"),
|
|
@@ -7470,12 +8358,6 @@ const Home = () => {
|
|
|
7470
8358
|
}
|
|
7471
8359
|
if (roles.length === 1 && roles.includes("CITIZEN")) {
|
|
7472
8360
|
propsForModuleCard.links.push({
|
|
7473
|
-
label: t("EKYC_CREATE_KYC"),
|
|
7474
|
-
link: "/digit-ui/citizen/ekyc/create-kyc"
|
|
7475
|
-
}, {
|
|
7476
|
-
label: t("EKYC_UPDATE_KYC"),
|
|
7477
|
-
link: "/digit-ui/citizen/ekyc/update-kyc"
|
|
7478
|
-
}, {
|
|
7479
8361
|
label: t("EKYC_STATUS"),
|
|
7480
8362
|
link: "/digit-ui/citizen/ekyc/:id"
|
|
7481
8363
|
});
|
|
@@ -7732,119 +8614,50 @@ const Inbox$1 = _ref => {
|
|
|
7732
8614
|
})));
|
|
7733
8615
|
};
|
|
7734
8616
|
|
|
7735
|
-
const SurveyorStatsCell = _ref => {
|
|
7736
|
-
let surveyorId = _ref.surveyorId,
|
|
7737
|
-
type = _ref.type;
|
|
7738
|
-
const _Digit$Hooks$ekyc$use = Digit.Hooks.ekyc.useEkycSurveyorDashboard({}, {
|
|
7739
|
-
tenantId: "dl.djb",
|
|
7740
|
-
offset: 0,
|
|
7741
|
-
limit: 1,
|
|
7742
|
-
surveyorId: surveyorId
|
|
7743
|
-
}, {
|
|
7744
|
-
enabled: !!surveyorId,
|
|
7745
|
-
staleTime: 60000
|
|
7746
|
-
}),
|
|
7747
|
-
data = _Digit$Hooks$ekyc$use.data,
|
|
7748
|
-
isLoading = _Digit$Hooks$ekyc$use.isLoading;
|
|
7749
|
-
if (isLoading) return "...";
|
|
7750
|
-
const dashboardInfo = (data === null || data === void 0 ? void 0 : data.dashboardInfo) || {};
|
|
7751
|
-
const total = (dashboardInfo === null || dashboardInfo === void 0 ? void 0 : dashboardInfo.total) || 0;
|
|
7752
|
-
const completed = (dashboardInfo === null || dashboardInfo === void 0 ? void 0 : dashboardInfo.completed) || 0;
|
|
7753
|
-
const pending = (dashboardInfo === null || dashboardInfo === void 0 ? void 0 : dashboardInfo.pending) || 0;
|
|
7754
|
-
const progress = total > 0 ? Math.round(completed / total * 100) + "%" : "0%";
|
|
7755
|
-
if (type === "total") return total;
|
|
7756
|
-
if (type === "completed") return completed;
|
|
7757
|
-
if (type === "pending") return pending;
|
|
7758
|
-
if (type === "progress") return progress;
|
|
7759
|
-
return null;
|
|
7760
|
-
};
|
|
7761
8617
|
const SupervisorDetailsCard = () => {
|
|
7762
|
-
var _Digit$SessionStorage,
|
|
8618
|
+
var _Digit$SessionStorage, _fullName$charAt;
|
|
7763
8619
|
const _useTranslation = useTranslation(),
|
|
7764
8620
|
t = _useTranslation.t;
|
|
7765
8621
|
const tenantId = Digit.ULBService.getCurrentTenantId() || "dl.djb";
|
|
7766
8622
|
const _useParams = useParams(),
|
|
7767
8623
|
supervisorId = _useParams.id;
|
|
7768
|
-
const
|
|
7769
|
-
const
|
|
7770
|
-
|
|
7771
|
-
|
|
7772
|
-
|
|
7773
|
-
};
|
|
7774
|
-
const _Digit$Hooks$fsm$useS = Digit.Hooks.fsm.useSupervisorSearch(tenantId, searchParams, {
|
|
7775
|
-
staleTime: Infinity
|
|
7776
|
-
}),
|
|
7777
|
-
supervisorSearchResponse = _Digit$Hooks$fsm$useS.data,
|
|
7778
|
-
isSupervisorSearchLoading = _Digit$Hooks$fsm$useS.isLoading;
|
|
7779
|
-
const supervisor = useMemo(() => {
|
|
7780
|
-
var _supervisorSearchResp;
|
|
7781
|
-
return (supervisorSearchResponse === null || supervisorSearchResponse === void 0 ? void 0 : (_supervisorSearchResp = supervisorSearchResponse.supervisors) === null || _supervisorSearchResp === void 0 ? void 0 : _supervisorSearchResp[0]) || null;
|
|
7782
|
-
}, [supervisorSearchResponse]);
|
|
7783
|
-
const _Digit$Hooks$fsm$useD = Digit.Hooks.fsm.useDsoSearch(tenantId, {
|
|
7784
|
-
status: "ACTIVE"
|
|
7785
|
-
}, {
|
|
7786
|
-
enabled: !!tenantId
|
|
7787
|
-
}),
|
|
7788
|
-
vendorData = _Digit$Hooks$fsm$useD.data;
|
|
7789
|
-
const vendorName = useMemo(() => {
|
|
7790
|
-
var _mappedVendor$dsoDeta;
|
|
7791
|
-
if (!vendorData || !(supervisor !== null && supervisor !== void 0 && supervisor.vendorId)) return "N/A";
|
|
7792
|
-
const mappedVendor = vendorData.find(v => {
|
|
7793
|
-
var _v$dsoDetails, _v$dsoDetails2;
|
|
7794
|
-
return ((_v$dsoDetails = v.dsoDetails) === null || _v$dsoDetails === void 0 ? void 0 : _v$dsoDetails.id) === supervisor.vendorId || ((_v$dsoDetails2 = v.dsoDetails) === null || _v$dsoDetails2 === void 0 ? void 0 : _v$dsoDetails2.vendorId) === supervisor.vendorId;
|
|
7795
|
-
});
|
|
7796
|
-
return (mappedVendor === null || mappedVendor === void 0 ? void 0 : (_mappedVendor$dsoDeta = mappedVendor.dsoDetails) === null || _mappedVendor$dsoDeta === void 0 ? void 0 : _mappedVendor$dsoDeta.name) || supervisor.vendorId || "N/A";
|
|
7797
|
-
}, [vendorData, supervisor === null || supervisor === void 0 ? void 0 : supervisor.vendorId]);
|
|
7798
|
-
const fullName = (supervisor === null || supervisor === void 0 ? void 0 : (_supervisor$owner = supervisor.owner) === null || _supervisor$owner === void 0 ? void 0 : _supervisor$owner.name) || (supervisor === null || supervisor === void 0 ? void 0 : supervisor.name) || "N/A";
|
|
7799
|
-
const mobileNumber = (supervisor === null || supervisor === void 0 ? void 0 : (_supervisor$owner3 = supervisor.owner) === null || _supervisor$owner3 === void 0 ? void 0 : _supervisor$owner3.mobileNumber) || (supervisor === null || supervisor === void 0 ? void 0 : supervisor.mobileNo) || "N/A";
|
|
7800
|
-
const _Digit$Hooks$fsm$useS2 = Digit.Hooks.fsm.useSurveyorSearch(tenantId, {
|
|
7801
|
-
supervisorIds: supervisor === null || supervisor === void 0 ? void 0 : supervisor.id
|
|
7802
|
-
}, {
|
|
7803
|
-
enabled: !!tenantId && !!(supervisor !== null && supervisor !== void 0 && supervisor.id)
|
|
7804
|
-
}),
|
|
7805
|
-
surveyorsResponse = _Digit$Hooks$fsm$useS2.data,
|
|
7806
|
-
isSurveyorsLoading = _Digit$Hooks$fsm$useS2.isLoading;
|
|
7807
|
-
const surveyors = useMemo(() => {
|
|
7808
|
-
return (surveyorsResponse === null || surveyorsResponse === void 0 ? void 0 : surveyorsResponse.surveyors) || (surveyorsResponse === null || surveyorsResponse === void 0 ? void 0 : surveyorsResponse.surveyor) || [];
|
|
7809
|
-
}, [surveyorsResponse]);
|
|
7810
|
-
const _Digit$Hooks$ekyc$use2 = Digit.Hooks.ekyc.useEkycAssignmentProgress({
|
|
8624
|
+
const loggedInUser = (_Digit$SessionStorage = Digit.SessionStorage.get("User")) === null || _Digit$SessionStorage === void 0 ? void 0 : _Digit$SessionStorage.info;
|
|
8625
|
+
const _useState = useState(false),
|
|
8626
|
+
ekycDownloadLoading = _useState[0],
|
|
8627
|
+
setEkycDownloadLoading = _useState[1];
|
|
8628
|
+
const _Digit$Hooks$ekyc$use = Digit.Hooks.ekyc.useEkycAssignmentProgress({
|
|
7811
8629
|
enabled: !!tenantId,
|
|
7812
8630
|
keepPreviousData: true
|
|
7813
8631
|
}),
|
|
7814
|
-
isProgressLoading = _Digit$Hooks$ekyc$
|
|
7815
|
-
progressData = _Digit$Hooks$ekyc$
|
|
7816
|
-
const
|
|
7817
|
-
|
|
7818
|
-
|
|
7819
|
-
|
|
7820
|
-
|
|
7821
|
-
|
|
7822
|
-
|
|
7823
|
-
|
|
7824
|
-
|
|
7825
|
-
|
|
7826
|
-
},
|
|
7827
|
-
|
|
7828
|
-
|
|
7829
|
-
|
|
7830
|
-
|
|
7831
|
-
|
|
7832
|
-
|
|
7833
|
-
|
|
7834
|
-
|
|
7835
|
-
|
|
7836
|
-
},
|
|
7837
|
-
|
|
7838
|
-
|
|
7839
|
-
|
|
7840
|
-
|
|
7841
|
-
|
|
7842
|
-
|
|
7843
|
-
currentPage = _useState[0],
|
|
7844
|
-
setCurrentPage = _useState[1];
|
|
7845
|
-
const _useState2 = useState(20),
|
|
7846
|
-
pageSize = _useState2[0],
|
|
7847
|
-
setPageSize = _useState2[1];
|
|
8632
|
+
isProgressLoading = _Digit$Hooks$ekyc$use.isLoading,
|
|
8633
|
+
progressData = _Digit$Hooks$ekyc$use.data;
|
|
8634
|
+
const supervisor = useMemo(() => {
|
|
8635
|
+
if (!(progressData !== null && progressData !== void 0 && progressData.supervisorReport)) return null;
|
|
8636
|
+
if (supervisorId) {
|
|
8637
|
+
return progressData.supervisorReport.find(s => s.supervisorId === supervisorId) || progressData.supervisorReport[0];
|
|
8638
|
+
}
|
|
8639
|
+
const userUuid = loggedInUser === null || loggedInUser === void 0 ? void 0 : loggedInUser.uuid;
|
|
8640
|
+
if (userUuid) {
|
|
8641
|
+
return progressData.supervisorReport.find(s => s.supervisorId === userUuid) || progressData.supervisorReport[0];
|
|
8642
|
+
}
|
|
8643
|
+
return progressData.supervisorReport[0];
|
|
8644
|
+
}, [progressData, supervisorId, loggedInUser === null || loggedInUser === void 0 ? void 0 : loggedInUser.uuid]);
|
|
8645
|
+
const fullName = (supervisor === null || supervisor === void 0 ? void 0 : supervisor.supervisorName) || (loggedInUser === null || loggedInUser === void 0 ? void 0 : loggedInUser.name) || "N/A";
|
|
8646
|
+
const mobileNumber = (supervisor === null || supervisor === void 0 ? void 0 : supervisor.mobileNo) || (loggedInUser === null || loggedInUser === void 0 ? void 0 : loggedInUser.mobileNumber) || "N/A";
|
|
8647
|
+
const email = (loggedInUser === null || loggedInUser === void 0 ? void 0 : loggedInUser.emailId) || "N/A";
|
|
8648
|
+
const gender = (loggedInUser === null || loggedInUser === void 0 ? void 0 : loggedInUser.gender) || "N/A";
|
|
8649
|
+
const status = supervisor ? "ACTIVE" : "N/A";
|
|
8650
|
+
const assignedZone = (supervisor === null || supervisor === void 0 ? void 0 : supervisor.assignedZoneId) || "N/A";
|
|
8651
|
+
const vendorName = "N/A";
|
|
8652
|
+
const surveyors = useMemo(() => {
|
|
8653
|
+
return (supervisor === null || supervisor === void 0 ? void 0 : supervisor.surveyors) || [];
|
|
8654
|
+
}, [supervisor]);
|
|
8655
|
+
const _useState2 = useState(0),
|
|
8656
|
+
currentPage = _useState2[0],
|
|
8657
|
+
setCurrentPage = _useState2[1];
|
|
8658
|
+
const _useState3 = useState(20),
|
|
8659
|
+
pageSize = _useState3[0],
|
|
8660
|
+
setPageSize = _useState3[1];
|
|
7848
8661
|
const paginatedSurveyors = useMemo(() => {
|
|
7849
8662
|
const start = currentPage * pageSize;
|
|
7850
8663
|
const end = start + pageSize;
|
|
@@ -7852,102 +8665,64 @@ const SupervisorDetailsCard = () => {
|
|
|
7852
8665
|
}, [surveyors, currentPage, pageSize]);
|
|
7853
8666
|
const surveyorColumns = useMemo(() => [{
|
|
7854
8667
|
Header: t("SURVEYOR_NAME") || "Surveyor Name",
|
|
7855
|
-
accessor: row =>
|
|
7856
|
-
|
|
7857
|
-
|
|
7858
|
-
|
|
7859
|
-
Cell: _ref2 => {
|
|
7860
|
-
var _row$original, _row$original2, _row$original2$owner;
|
|
7861
|
-
let row = _ref2.row;
|
|
8668
|
+
accessor: row => (row === null || row === void 0 ? void 0 : row.surveyorName) || "N/A",
|
|
8669
|
+
Cell: _ref => {
|
|
8670
|
+
var _row$original;
|
|
8671
|
+
let row = _ref.row;
|
|
7862
8672
|
return /*#__PURE__*/React.createElement("a", {
|
|
7863
|
-
href: "/digit-ui/citizen/ekyc/surveyor-dashboard/" + row.original.
|
|
8673
|
+
href: "/digit-ui/citizen/ekyc/surveyor-dashboard/" + row.original.surveyorId,
|
|
7864
8674
|
style: {
|
|
7865
8675
|
color: "#1D70B8",
|
|
7866
8676
|
fontWeight: "600",
|
|
7867
8677
|
textDecoration: "none"
|
|
7868
8678
|
}
|
|
7869
|
-
}, ((_row$original = row.original) === null || _row$original === void 0 ? void 0 : _row$original.
|
|
8679
|
+
}, ((_row$original = row.original) === null || _row$original === void 0 ? void 0 : _row$original.surveyorName) || "N/A");
|
|
7870
8680
|
}
|
|
7871
8681
|
}, {
|
|
7872
8682
|
Header: t("MOBILE_NUMBER") || "Mobile Number",
|
|
7873
|
-
accessor: row =>
|
|
7874
|
-
var _row$owner2;
|
|
7875
|
-
return (row === null || row === void 0 ? void 0 : (_row$owner2 = row.owner) === null || _row$owner2 === void 0 ? void 0 : _row$owner2.mobileNumber) || (row === null || row === void 0 ? void 0 : row.mobileNo) || "N/A";
|
|
7876
|
-
},
|
|
8683
|
+
accessor: row => (row === null || row === void 0 ? void 0 : row.mobileNo) || "N/A",
|
|
7877
8684
|
id: "mobileNumber"
|
|
7878
8685
|
}, {
|
|
7879
8686
|
Header: t("STATUS") || "Status",
|
|
7880
|
-
accessor: "
|
|
7881
|
-
|
|
7882
|
-
|
|
8687
|
+
accessor: () => "ACTIVE",
|
|
8688
|
+
id: "status",
|
|
8689
|
+
Cell: _ref2 => {
|
|
8690
|
+
let value = _ref2.value;
|
|
7883
8691
|
return /*#__PURE__*/React.createElement("span", {
|
|
7884
|
-
className: "status-badge
|
|
8692
|
+
className: "status-badge verified"
|
|
7885
8693
|
}, t(value) || value);
|
|
7886
8694
|
}
|
|
7887
8695
|
}, {
|
|
7888
8696
|
Header: t("TOTAL_EKYC_APPLICATIONS") || "Total eKYC Applications",
|
|
7889
|
-
accessor: row => (row === null || row === void 0 ? void 0 : row.
|
|
7890
|
-
id: "totalEkycApplications"
|
|
7891
|
-
Cell: _ref4 => {
|
|
7892
|
-
var _row$original3, _row$original3$owner;
|
|
7893
|
-
let row = _ref4.row;
|
|
7894
|
-
return /*#__PURE__*/React.createElement(SurveyorStatsCell, {
|
|
7895
|
-
surveyorId: (_row$original3 = row.original) === null || _row$original3 === void 0 ? void 0 : (_row$original3$owner = _row$original3.owner) === null || _row$original3$owner === void 0 ? void 0 : _row$original3$owner.uuid,
|
|
7896
|
-
type: "total"
|
|
7897
|
-
});
|
|
7898
|
-
}
|
|
8697
|
+
accessor: row => (row === null || row === void 0 ? void 0 : row.totalKnos) || 0,
|
|
8698
|
+
id: "totalEkycApplications"
|
|
7899
8699
|
}, {
|
|
7900
8700
|
Header: t("EKYC_COMPLETED") || "eKYC Completed",
|
|
7901
|
-
accessor: row => (row === null || row === void 0 ? void 0 : row.
|
|
7902
|
-
id: "ekycCompleted"
|
|
7903
|
-
Cell: _ref5 => {
|
|
7904
|
-
var _row$original4, _row$original4$owner;
|
|
7905
|
-
let row = _ref5.row;
|
|
7906
|
-
return /*#__PURE__*/React.createElement(SurveyorStatsCell, {
|
|
7907
|
-
surveyorId: (_row$original4 = row.original) === null || _row$original4 === void 0 ? void 0 : (_row$original4$owner = _row$original4.owner) === null || _row$original4$owner === void 0 ? void 0 : _row$original4$owner.uuid,
|
|
7908
|
-
type: "completed"
|
|
7909
|
-
});
|
|
7910
|
-
}
|
|
8701
|
+
accessor: row => (row === null || row === void 0 ? void 0 : row.submittedKnos) || 0,
|
|
8702
|
+
id: "ekycCompleted"
|
|
7911
8703
|
}, {
|
|
7912
8704
|
Header: t("PENDING_APPLICATIONS") || "Pending Applications",
|
|
7913
|
-
accessor: row => (row === null || row === void 0 ? void 0 : row.
|
|
7914
|
-
id: "pendingApplications"
|
|
7915
|
-
Cell: _ref6 => {
|
|
7916
|
-
var _row$original5, _row$original5$owner;
|
|
7917
|
-
let row = _ref6.row;
|
|
7918
|
-
return /*#__PURE__*/React.createElement(SurveyorStatsCell, {
|
|
7919
|
-
surveyorId: (_row$original5 = row.original) === null || _row$original5 === void 0 ? void 0 : (_row$original5$owner = _row$original5.owner) === null || _row$original5$owner === void 0 ? void 0 : _row$original5$owner.uuid,
|
|
7920
|
-
type: "pending"
|
|
7921
|
-
});
|
|
7922
|
-
}
|
|
8705
|
+
accessor: row => (row === null || row === void 0 ? void 0 : row.pendingKnos) || 0,
|
|
8706
|
+
id: "pendingApplications"
|
|
7923
8707
|
}, {
|
|
7924
8708
|
Header: t("OVERALL_PROGRESS") || "Overall Progress",
|
|
7925
|
-
accessor: row => (row === null || row === void 0 ? void 0 : row.
|
|
7926
|
-
id: "overallProgress"
|
|
7927
|
-
Cell: _ref7 => {
|
|
7928
|
-
var _row$original6, _row$original6$owner;
|
|
7929
|
-
let row = _ref7.row;
|
|
7930
|
-
return /*#__PURE__*/React.createElement(SurveyorStatsCell, {
|
|
7931
|
-
surveyorId: (_row$original6 = row.original) === null || _row$original6 === void 0 ? void 0 : (_row$original6$owner = _row$original6.owner) === null || _row$original6$owner === void 0 ? void 0 : _row$original6$owner.uuid,
|
|
7932
|
-
type: "progress"
|
|
7933
|
-
});
|
|
7934
|
-
}
|
|
8709
|
+
accessor: row => ((row === null || row === void 0 ? void 0 : row.progressPercent) || 0) + "%",
|
|
8710
|
+
id: "overallProgress"
|
|
7935
8711
|
}], [t]);
|
|
7936
|
-
const
|
|
7937
|
-
showReportMenu =
|
|
7938
|
-
setShowReportMenu =
|
|
7939
|
-
const
|
|
8712
|
+
const _useState4 = useState(false),
|
|
8713
|
+
showReportMenu = _useState4[0],
|
|
8714
|
+
setShowReportMenu = _useState4[1];
|
|
8715
|
+
const _useState5 = useState({
|
|
7940
8716
|
from: "",
|
|
7941
8717
|
to: ""
|
|
7942
8718
|
}),
|
|
7943
|
-
customDate =
|
|
7944
|
-
setCustomDate =
|
|
7945
|
-
const _useState5 = useState(false),
|
|
7946
|
-
showCustomPicker = _useState5[0],
|
|
7947
|
-
setShowCustomPicker = _useState5[1];
|
|
8719
|
+
customDate = _useState5[0],
|
|
8720
|
+
setCustomDate = _useState5[1];
|
|
7948
8721
|
const _useState6 = useState(false),
|
|
7949
|
-
|
|
7950
|
-
|
|
8722
|
+
showCustomPicker = _useState6[0],
|
|
8723
|
+
setShowCustomPicker = _useState6[1];
|
|
8724
|
+
const _useState7 = useState(false),
|
|
8725
|
+
reportLoading = _useState7[0];
|
|
7951
8726
|
const reportMenuRef = useRef(null);
|
|
7952
8727
|
useEffect(() => {
|
|
7953
8728
|
const handler = e => {
|
|
@@ -7959,223 +8734,97 @@ const SupervisorDetailsCard = () => {
|
|
|
7959
8734
|
document.addEventListener("mousedown", handler);
|
|
7960
8735
|
return () => document.removeEventListener("mousedown", handler);
|
|
7961
8736
|
}, []);
|
|
7962
|
-
const
|
|
7963
|
-
|
|
7964
|
-
const start = new Date(now);
|
|
7965
|
-
if (filter === "today") {
|
|
7966
|
-
start.setHours(0, 0, 0, 0);
|
|
7967
|
-
return {
|
|
7968
|
-
from: start,
|
|
7969
|
-
to: now
|
|
7970
|
-
};
|
|
7971
|
-
}
|
|
7972
|
-
if (filter === "week") {
|
|
7973
|
-
start.setDate(now.getDate() - now.getDay());
|
|
7974
|
-
start.setHours(0, 0, 0, 0);
|
|
7975
|
-
return {
|
|
7976
|
-
from: start,
|
|
7977
|
-
to: now
|
|
7978
|
-
};
|
|
7979
|
-
}
|
|
7980
|
-
if (filter === "month") {
|
|
7981
|
-
start.setDate(1);
|
|
7982
|
-
start.setHours(0, 0, 0, 0);
|
|
7983
|
-
return {
|
|
7984
|
-
from: start,
|
|
7985
|
-
to: now
|
|
7986
|
-
};
|
|
7987
|
-
}
|
|
7988
|
-
return null;
|
|
8737
|
+
const handlePresetDownload = filter => {
|
|
8738
|
+
handleDownload();
|
|
7989
8739
|
};
|
|
7990
|
-
const
|
|
7991
|
-
|
|
7992
|
-
|
|
7993
|
-
|
|
7994
|
-
setReportLoading(true);
|
|
7995
|
-
const _temp = _finallyRethrows(function () {
|
|
7996
|
-
return _catch(function () {
|
|
7997
|
-
const surveyorsList = surveyors || [];
|
|
7998
|
-
return Promise.resolve(Promise.all(surveyorsList.map(function (surveyor) {
|
|
7999
|
-
try {
|
|
8000
|
-
return Promise.resolve(_catch(function () {
|
|
8001
|
-
var _surveyor$owner;
|
|
8002
|
-
return Promise.resolve(Digit.EkycService.dashboard({}, {
|
|
8003
|
-
tenantId: "dl.djb",
|
|
8004
|
-
offset: 0,
|
|
8005
|
-
limit: 1,
|
|
8006
|
-
surveyorId: (_surveyor$owner = surveyor.owner) === null || _surveyor$owner === void 0 ? void 0 : _surveyor$owner.uuid,
|
|
8007
|
-
fromDate: range.from.getTime(),
|
|
8008
|
-
toDate: range.to.getTime()
|
|
8009
|
-
})).then(function (response) {
|
|
8010
|
-
const info = (response === null || response === void 0 ? void 0 : response.dashboardInfo) || {};
|
|
8011
|
-
const total = info.total || 0;
|
|
8012
|
-
const completed = info.completed || 0;
|
|
8013
|
-
const pending = info.pending || 0;
|
|
8014
|
-
const progress = total > 0 ? Math.round(completed / total * 100) + "%" : "0%";
|
|
8015
|
-
return _extends({}, surveyor, {
|
|
8016
|
-
total,
|
|
8017
|
-
completed,
|
|
8018
|
-
pending,
|
|
8019
|
-
progress
|
|
8020
|
-
});
|
|
8021
|
-
});
|
|
8022
|
-
}, function (err) {
|
|
8023
|
-
console.error("Failed to fetch stats for surveyor:", surveyor.id, err);
|
|
8024
|
-
return _extends({}, surveyor, {
|
|
8025
|
-
total: 0,
|
|
8026
|
-
completed: 0,
|
|
8027
|
-
pending: 0,
|
|
8028
|
-
progress: "0%"
|
|
8029
|
-
});
|
|
8030
|
-
}));
|
|
8031
|
-
} catch (e) {
|
|
8032
|
-
return Promise.reject(e);
|
|
8033
|
-
}
|
|
8034
|
-
}))).then(function (rowsWithStats) {
|
|
8035
|
-
var _supervisor$owner4;
|
|
8036
|
-
return Promise.resolve(Digit.EkycService.dashboard({}, {
|
|
8037
|
-
tenantId: "dl.djb",
|
|
8038
|
-
offset: 0,
|
|
8039
|
-
limit: 1,
|
|
8040
|
-
supervisorId: supervisor === null || supervisor === void 0 ? void 0 : (_supervisor$owner4 = supervisor.owner) === null || _supervisor$owner4 === void 0 ? void 0 : _supervisor$owner4.uuid,
|
|
8041
|
-
fromDate: range.from.getTime(),
|
|
8042
|
-
toDate: range.to.getTime()
|
|
8043
|
-
})).then(function (overallResponse) {
|
|
8044
|
-
downloadSupervisorPDF({
|
|
8045
|
-
rows: rowsWithStats,
|
|
8046
|
-
supervisorName: fullName,
|
|
8047
|
-
mobileNumber,
|
|
8048
|
-
vendorName,
|
|
8049
|
-
dashboardInfo: (overallResponse === null || overallResponse === void 0 ? void 0 : overallResponse.dashboardInfo) || {},
|
|
8050
|
-
t
|
|
8051
|
-
});
|
|
8052
|
-
});
|
|
8053
|
-
});
|
|
8054
|
-
}, function (err) {
|
|
8055
|
-
console.error("Failed to fetch dashboard data for report download:", err);
|
|
8056
|
-
});
|
|
8057
|
-
}, function (_wasThrown, _result) {
|
|
8058
|
-
setReportLoading(false);
|
|
8059
|
-
setShowReportMenu(false);
|
|
8060
|
-
setShowCustomPicker(false);
|
|
8061
|
-
if (_wasThrown) throw _result;
|
|
8062
|
-
return _result;
|
|
8063
|
-
});
|
|
8064
|
-
return Promise.resolve(_temp && _temp.then ? _temp.then(function () {}) : void 0);
|
|
8065
|
-
} catch (e) {
|
|
8066
|
-
return Promise.reject(e);
|
|
8740
|
+
const handleCustomDownload = () => {
|
|
8741
|
+
if (!customDate.from || !customDate.to) {
|
|
8742
|
+
alert(t("SELECT_DATE_RANGE") || "Please select both From and To dates.");
|
|
8743
|
+
return;
|
|
8067
8744
|
}
|
|
8745
|
+
handleDownload();
|
|
8068
8746
|
};
|
|
8069
|
-
const
|
|
8747
|
+
const handleDownloadEkycData = function () {
|
|
8070
8748
|
try {
|
|
8071
|
-
if (!
|
|
8072
|
-
alert(t("
|
|
8749
|
+
if (!surveyors || surveyors.length === 0) {
|
|
8750
|
+
alert(t("NO_SURVEYORS_ASSIGNED") || "No surveyors assigned to this supervisor.");
|
|
8073
8751
|
return Promise.resolve();
|
|
8074
8752
|
}
|
|
8075
|
-
|
|
8076
|
-
|
|
8077
|
-
const to = new Date(customDate.to);
|
|
8078
|
-
to.setHours(23, 59, 59, 999);
|
|
8079
|
-
setReportLoading(true);
|
|
8080
|
-
const _temp2 = _finallyRethrows(function () {
|
|
8753
|
+
setEkycDownloadLoading(true);
|
|
8754
|
+
return Promise.resolve(_finallyRethrows(function () {
|
|
8081
8755
|
return _catch(function () {
|
|
8082
|
-
const
|
|
8083
|
-
|
|
8084
|
-
|
|
8085
|
-
|
|
8086
|
-
|
|
8087
|
-
|
|
8088
|
-
|
|
8089
|
-
|
|
8090
|
-
|
|
8091
|
-
|
|
8092
|
-
|
|
8093
|
-
|
|
8094
|
-
|
|
8095
|
-
|
|
8096
|
-
|
|
8097
|
-
|
|
8098
|
-
|
|
8099
|
-
const progress = total > 0 ? Math.round(completed / total * 100) + "%" : "0%";
|
|
8100
|
-
return _extends({}, surveyor, {
|
|
8101
|
-
total,
|
|
8102
|
-
completed,
|
|
8103
|
-
pending,
|
|
8104
|
-
progress
|
|
8105
|
-
});
|
|
8106
|
-
});
|
|
8107
|
-
}, function (err) {
|
|
8108
|
-
console.error("Failed to fetch stats for surveyor:", surveyor.id, err);
|
|
8109
|
-
return _extends({}, surveyor, {
|
|
8110
|
-
total: 0,
|
|
8111
|
-
completed: 0,
|
|
8112
|
-
pending: 0,
|
|
8113
|
-
progress: "0%"
|
|
8114
|
-
});
|
|
8115
|
-
}));
|
|
8116
|
-
} catch (e) {
|
|
8117
|
-
return Promise.reject(e);
|
|
8756
|
+
const fetchPromises = surveyors.map(s => Digit.EkycService.application_list({
|
|
8757
|
+
tenantId: tenantId || "dl.djb",
|
|
8758
|
+
offset: 0,
|
|
8759
|
+
limit: 5000,
|
|
8760
|
+
surveyorId: s.surveyorId || s.id,
|
|
8761
|
+
reportDownload: true
|
|
8762
|
+
}).catch(err => {
|
|
8763
|
+
console.error("Error fetching applications for surveyor " + s.surveyorName + ":", err);
|
|
8764
|
+
return {
|
|
8765
|
+
consumerList: []
|
|
8766
|
+
};
|
|
8767
|
+
}));
|
|
8768
|
+
return Promise.resolve(Promise.all(fetchPromises)).then(function (results) {
|
|
8769
|
+
const consumerList = results.flatMap(res => (res === null || res === void 0 ? void 0 : res.consumerList) || []);
|
|
8770
|
+
if (consumerList.length === 0) {
|
|
8771
|
+
alert(t("NO_DATA_FOUND") || "No data found for download.");
|
|
8772
|
+
return;
|
|
8118
8773
|
}
|
|
8119
|
-
|
|
8120
|
-
|
|
8121
|
-
|
|
8122
|
-
|
|
8123
|
-
|
|
8124
|
-
|
|
8125
|
-
|
|
8126
|
-
|
|
8127
|
-
|
|
8128
|
-
|
|
8129
|
-
|
|
8130
|
-
|
|
8131
|
-
|
|
8132
|
-
|
|
8133
|
-
|
|
8134
|
-
|
|
8135
|
-
|
|
8774
|
+
const excludedKeys = ["status", "source", "submittedAt", "assignedAt", "connectionType", "approvedAt", "alternateMobileNo", "city", "state", "addressType", "addressProofType", "mrcode", "areacode", "verificationStatus", "surveyorId", "supervisorId", "vendorId", "assignmentType", "assignmentValue", "assignedTime", "isSelfAssigned", "userType", "tenantName", "tenantMobile"];
|
|
8775
|
+
const headerMapping = {
|
|
8776
|
+
kno: t("KNO") || "KNO",
|
|
8777
|
+
firstName: t("FIRST_NAME") || "First Name",
|
|
8778
|
+
middleName: t("MIDDLE_NAME") || "Middle Name",
|
|
8779
|
+
lastName: t("LAST_NAME") || "Last Name",
|
|
8780
|
+
gender: t("GENDER") || "Gender",
|
|
8781
|
+
mobileNumber: t("MOBILE_NUMBER") || "Mobile Number",
|
|
8782
|
+
emailId: t("EMAIL_ID") || "Email ID",
|
|
8783
|
+
fatherOrHusbandName: t("FATHER_HUSBUND_NAME") || "Father/Husband Name",
|
|
8784
|
+
relationship: t("RELATIONSHIP") || "Relationship",
|
|
8785
|
+
dob: t("DOB") || "Date of Birth",
|
|
8786
|
+
ekycStatus: t("EKYC_STATUS") || "eKYC Status",
|
|
8787
|
+
zoneName: t("ZONE") || "Zone",
|
|
8788
|
+
assembly: t("ASSEMBLY") || "Assembly",
|
|
8789
|
+
ward: t("WARD") || "Ward",
|
|
8790
|
+
pincode: t("PINCODE") || "Pincode",
|
|
8791
|
+
mrkey: t("MR_KEY") || "MR Key",
|
|
8792
|
+
createdTime: t("CREATED_TIME") || "Created Time",
|
|
8793
|
+
lastModifiedTime: t("LAST_MODIFIED_TIME") || "Last Modified Time"
|
|
8794
|
+
};
|
|
8795
|
+
const excelData = consumerList.map(item => {
|
|
8796
|
+
const cleanObj = {};
|
|
8797
|
+
const fullName = [item.firstName, item.middleName, item.lastName].filter(Boolean).join(" ");
|
|
8798
|
+
if (fullName) {
|
|
8799
|
+
cleanObj[t("CONSUMER_NAME") || "Consumer Name"] = fullName;
|
|
8800
|
+
}
|
|
8801
|
+
Object.keys(item).forEach(key => {
|
|
8802
|
+
if (excludedKeys.includes(key)) return;
|
|
8803
|
+
const val = item[key];
|
|
8804
|
+
if (typeof val === "object" && val !== null) {
|
|
8805
|
+
return;
|
|
8806
|
+
}
|
|
8807
|
+
const friendlyHeader = headerMapping[key] || t(key.toUpperCase()) || key;
|
|
8808
|
+
cleanObj[friendlyHeader] = val;
|
|
8136
8809
|
});
|
|
8810
|
+
return cleanObj;
|
|
8137
8811
|
});
|
|
8812
|
+
const cleanFileName = "eKYC_Data_Supervisor_" + fullName.replace(/[^a-zA-Z0-9]/g, "_");
|
|
8813
|
+
Digit.Download.Excel(excelData, cleanFileName);
|
|
8138
8814
|
});
|
|
8139
|
-
}, function (
|
|
8140
|
-
console.error("
|
|
8815
|
+
}, function (error) {
|
|
8816
|
+
console.error("Error downloading eKYC Excel:", error);
|
|
8141
8817
|
});
|
|
8142
|
-
}, function (
|
|
8143
|
-
|
|
8144
|
-
|
|
8145
|
-
|
|
8146
|
-
|
|
8147
|
-
return _result2;
|
|
8148
|
-
});
|
|
8149
|
-
return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
|
|
8818
|
+
}, function (_wasThrown, _result) {
|
|
8819
|
+
setEkycDownloadLoading(false);
|
|
8820
|
+
if (_wasThrown) throw _result;
|
|
8821
|
+
return _result;
|
|
8822
|
+
}));
|
|
8150
8823
|
} catch (e) {
|
|
8151
8824
|
return Promise.reject(e);
|
|
8152
8825
|
}
|
|
8153
8826
|
};
|
|
8154
|
-
|
|
8155
|
-
let title = _ref8.title,
|
|
8156
|
-
value = _ref8.value,
|
|
8157
|
-
type = _ref8.type,
|
|
8158
|
-
color = _ref8.color,
|
|
8159
|
-
isLoading = _ref8.isLoading;
|
|
8160
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
8161
|
-
className: "stat-card " + type,
|
|
8162
|
-
style: color ? {
|
|
8163
|
-
borderLeft: "5px solid " + color
|
|
8164
|
-
} : {}
|
|
8165
|
-
}, isLoading ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
8166
|
-
className: "stat-title skeleton skeleton-text"
|
|
8167
|
-
}), /*#__PURE__*/React.createElement("div", {
|
|
8168
|
-
className: "stat-value skeleton skeleton-number"
|
|
8169
|
-
})) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
8170
|
-
className: "stat-title"
|
|
8171
|
-
}, title), /*#__PURE__*/React.createElement("div", {
|
|
8172
|
-
className: "stat-value",
|
|
8173
|
-
style: color ? {
|
|
8174
|
-
color
|
|
8175
|
-
} : {}
|
|
8176
|
-
}, value)));
|
|
8177
|
-
};
|
|
8178
|
-
if (isSupervisorSearchLoading) {
|
|
8827
|
+
if (isProgressLoading) {
|
|
8179
8828
|
return /*#__PURE__*/React.createElement(Loader, null);
|
|
8180
8829
|
}
|
|
8181
8830
|
if (!supervisor) {
|
|
@@ -8220,13 +8869,13 @@ const SupervisorDetailsCard = () => {
|
|
|
8220
8869
|
}, {
|
|
8221
8870
|
label: t("THIS_MONTH") || "This Month",
|
|
8222
8871
|
key: "month"
|
|
8223
|
-
}].map(
|
|
8224
|
-
let label =
|
|
8225
|
-
key =
|
|
8872
|
+
}].map(_ref3 => {
|
|
8873
|
+
let label = _ref3.label,
|
|
8874
|
+
key = _ref3.key;
|
|
8226
8875
|
return /*#__PURE__*/React.createElement("div", {
|
|
8227
8876
|
key: key,
|
|
8228
8877
|
className: "menu-item",
|
|
8229
|
-
onClick: () => handlePresetDownload(
|
|
8878
|
+
onClick: () => handlePresetDownload()
|
|
8230
8879
|
}, label);
|
|
8231
8880
|
}), /*#__PURE__*/React.createElement("div", {
|
|
8232
8881
|
className: "custom-date-trigger",
|
|
@@ -8259,55 +8908,76 @@ const SupervisorDetailsCard = () => {
|
|
|
8259
8908
|
className: "download-action-btn",
|
|
8260
8909
|
onClick: handleCustomDownload
|
|
8261
8910
|
}, t("DOWNLOAD") || "Download"))))), /*#__PURE__*/React.createElement("div", {
|
|
8262
|
-
className: "stats-wrapper"
|
|
8263
|
-
}, cards.map((card, idx) => /*#__PURE__*/React.createElement(StatCard, {
|
|
8264
|
-
key: idx,
|
|
8265
|
-
title: t(card.label),
|
|
8266
|
-
value: card.count,
|
|
8267
|
-
type: card.type,
|
|
8268
|
-
color: card.color,
|
|
8269
|
-
isLoading: isProgressLoading
|
|
8270
|
-
}))), /*#__PURE__*/React.createElement("div", {
|
|
8271
8911
|
className: "ekyc-dashboard-section"
|
|
8912
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
8913
|
+
className: "ekyc-details-wrapper"
|
|
8914
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
8915
|
+
className: "details-left"
|
|
8272
8916
|
}, /*#__PURE__*/React.createElement("div", {
|
|
8273
8917
|
className: "details-grid"
|
|
8274
8918
|
}, /*#__PURE__*/React.createElement("div", {
|
|
8275
8919
|
className: "detail-item"
|
|
8276
8920
|
}, /*#__PURE__*/React.createElement("span", {
|
|
8277
8921
|
className: "label"
|
|
8278
|
-
}, t("MOBILE")
|
|
8922
|
+
}, t("MOBILE")), /*#__PURE__*/React.createElement("span", {
|
|
8279
8923
|
className: "value"
|
|
8280
|
-
},
|
|
8924
|
+
}, mobileNumber)), /*#__PURE__*/React.createElement("div", {
|
|
8281
8925
|
className: "detail-item"
|
|
8282
8926
|
}, /*#__PURE__*/React.createElement("span", {
|
|
8283
8927
|
className: "label"
|
|
8284
|
-
}, t("EMAIL")
|
|
8928
|
+
}, t("EMAIL")), /*#__PURE__*/React.createElement("span", {
|
|
8285
8929
|
className: "value"
|
|
8286
|
-
},
|
|
8930
|
+
}, email)), /*#__PURE__*/React.createElement("div", {
|
|
8287
8931
|
className: "detail-item"
|
|
8288
8932
|
}, /*#__PURE__*/React.createElement("span", {
|
|
8289
8933
|
className: "label"
|
|
8290
|
-
}, t("GENDER")
|
|
8934
|
+
}, t("GENDER")), /*#__PURE__*/React.createElement("span", {
|
|
8291
8935
|
className: "value"
|
|
8292
|
-
},
|
|
8936
|
+
}, gender)), /*#__PURE__*/React.createElement("div", {
|
|
8293
8937
|
className: "detail-item"
|
|
8294
8938
|
}, /*#__PURE__*/React.createElement("span", {
|
|
8295
8939
|
className: "label"
|
|
8296
|
-
}, t("STATUS")
|
|
8940
|
+
}, t("STATUS")), /*#__PURE__*/React.createElement("span", {
|
|
8297
8941
|
className: "value"
|
|
8298
|
-
},
|
|
8942
|
+
}, status)), /*#__PURE__*/React.createElement("div", {
|
|
8299
8943
|
className: "detail-item"
|
|
8300
8944
|
}, /*#__PURE__*/React.createElement("span", {
|
|
8301
8945
|
className: "label"
|
|
8302
|
-
}, t("
|
|
8946
|
+
}, t("ASSIGNED_ZONE") || "Assigned Zone"), /*#__PURE__*/React.createElement("span", {
|
|
8303
8947
|
className: "value"
|
|
8304
|
-
},
|
|
8948
|
+
}, assignedZone)), /*#__PURE__*/React.createElement("div", {
|
|
8305
8949
|
className: "detail-item"
|
|
8306
8950
|
}, /*#__PURE__*/React.createElement("span", {
|
|
8307
8951
|
className: "label"
|
|
8308
|
-
}, t("VENDOR_NAME") || "Vendor Name"
|
|
8952
|
+
}, t("VENDOR_NAME") || "Vendor Name"), /*#__PURE__*/React.createElement("span", {
|
|
8309
8953
|
className: "value"
|
|
8310
|
-
}, vendorName)))), /*#__PURE__*/React.createElement(
|
|
8954
|
+
}, vendorName)))), /*#__PURE__*/React.createElement("div", {
|
|
8955
|
+
className: "details-right"
|
|
8956
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
8957
|
+
className: "download-card"
|
|
8958
|
+
}, /*#__PURE__*/React.createElement("h4", null, t("DOWNLOAD_EKYC_DATA") || "Download eKYC Data"), /*#__PURE__*/React.createElement("p", null, t("DOWNLOAD_EKYC_DATA_DESC") || "Export the complete eKYC verification records for your assigned jurisdiction into Excel format."), /*#__PURE__*/React.createElement("button", {
|
|
8959
|
+
className: "download-excel-btn",
|
|
8960
|
+
disabled: ekycDownloadLoading,
|
|
8961
|
+
onClick: handleDownloadEkycData
|
|
8962
|
+
}, /*#__PURE__*/React.createElement("svg", {
|
|
8963
|
+
width: "16",
|
|
8964
|
+
height: "16",
|
|
8965
|
+
viewBox: "0 0 24 24",
|
|
8966
|
+
fill: "none",
|
|
8967
|
+
stroke: "currentColor",
|
|
8968
|
+
strokeWidth: "2.5",
|
|
8969
|
+
strokeLinecap: "round",
|
|
8970
|
+
strokeLinejoin: "round"
|
|
8971
|
+
}, /*#__PURE__*/React.createElement("path", {
|
|
8972
|
+
d: "M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"
|
|
8973
|
+
}), /*#__PURE__*/React.createElement("polyline", {
|
|
8974
|
+
points: "7 10 12 15 17 10"
|
|
8975
|
+
}), /*#__PURE__*/React.createElement("line", {
|
|
8976
|
+
x1: "12",
|
|
8977
|
+
y1: "15",
|
|
8978
|
+
x2: "12",
|
|
8979
|
+
y2: "3"
|
|
8980
|
+
})), ekycDownloadLoading ? t("DOWNLOADING") || "Downloading..." : t("DOWNLOAD_EXCEL") || "Download Excel"))))), /*#__PURE__*/React.createElement(Card, {
|
|
8311
8981
|
className: "dashboard-card"
|
|
8312
8982
|
}, /*#__PURE__*/React.createElement(Table, {
|
|
8313
8983
|
t: t,
|
|
@@ -8315,7 +8985,7 @@ const SupervisorDetailsCard = () => {
|
|
|
8315
8985
|
tableClass: "ekycTable",
|
|
8316
8986
|
data: paginatedSurveyors,
|
|
8317
8987
|
columns: surveyorColumns,
|
|
8318
|
-
isLoading:
|
|
8988
|
+
isLoading: isProgressLoading,
|
|
8319
8989
|
totalRecords: surveyors.length,
|
|
8320
8990
|
currentPage: currentPage,
|
|
8321
8991
|
pageSizeLimit: pageSize,
|
|
@@ -8662,6 +9332,10 @@ const CitizenApp = () => {
|
|
|
8662
9332
|
crumbs.push({
|
|
8663
9333
|
label: t("EKYC_SURVEYOR_DASHBOARD")
|
|
8664
9334
|
});
|
|
9335
|
+
} else if (pathname.includes("/vendor-dashboard")) {
|
|
9336
|
+
crumbs.push({
|
|
9337
|
+
label: t("EKYC_VENDOR_DASHBOARD") || "Vendor Dashboard"
|
|
9338
|
+
});
|
|
8665
9339
|
} else if (pathname.includes("/dashboard")) {
|
|
8666
9340
|
crumbs.push({
|
|
8667
9341
|
label: t("EKYC_DASHBOARD")
|
|
@@ -8716,10 +9390,10 @@ const CitizenApp = () => {
|
|
|
8716
9390
|
layoutClass: "normal"
|
|
8717
9391
|
}, /*#__PURE__*/React.createElement(Home, null))
|
|
8718
9392
|
}), /*#__PURE__*/React.createElement(PrivateRoute, {
|
|
8719
|
-
path: path + "/dashboard",
|
|
9393
|
+
path: [path + "/vendor-dashboard/:vendorId", path + "/vendor-dashboard", path + "/dashboard"],
|
|
8720
9394
|
component: () => /*#__PURE__*/React.createElement(LayoutWrapper, {
|
|
8721
9395
|
layoutClass: "normal"
|
|
8722
|
-
}, /*#__PURE__*/React.createElement(
|
|
9396
|
+
}, /*#__PURE__*/React.createElement(VendorDetailsCard, null))
|
|
8723
9397
|
}), /*#__PURE__*/React.createElement(PrivateRoute, {
|
|
8724
9398
|
path: path + "/inbox",
|
|
8725
9399
|
component: () => /*#__PURE__*/React.createElement(LayoutWrapper, {
|