@pisell/private-materials 3.4.103 → 3.4.104

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.
Files changed (191) hide show
  1. package/build/lowcode/assets-daily.json +11 -11
  2. package/build/lowcode/assets-dev.json +2 -2
  3. package/build/lowcode/assets-prod.json +11 -11
  4. package/build/lowcode/meta.js +1 -1
  5. package/build/lowcode/render/default/view.css +1 -1
  6. package/build/lowcode/render/default/view.js +1 -1
  7. package/build/lowcode/view.css +1 -1
  8. package/build/lowcode/view.js +1 -1
  9. package/es/components/appointmentBooking/components/Footer/index.d.ts +0 -1
  10. package/es/components/appointmentBooking/components/Guest/components/InformationOptionsModal/index.d.ts +0 -1
  11. package/es/components/appointmentBooking/components/TimeSlicing/components/SelectDateOS.d.ts +1 -0
  12. package/es/components/booking/components/TabProduct/productItem/index.d.ts +1 -0
  13. package/es/components/booking/components/TabProduct/selectProductItem/index.d.ts +1 -0
  14. package/es/components/booking/components/collapsibleList/utils.d.ts +1 -0
  15. package/es/components/booking/components/emptyBooking/index.d.ts +1 -0
  16. package/es/components/booking/components/footer/FooterMenus/index.d.ts +1 -0
  17. package/es/components/booking/forms/single/index.d.ts +1 -0
  18. package/es/components/booking/info/clientVariant/hooks/useClientFn.d.ts +1 -0
  19. package/es/components/booking/info/notes/index.d.ts +1 -0
  20. package/es/components/booking/info/service/actions/index.d.ts +1 -0
  21. package/es/components/booking/info/service/addService/utils.d.ts +1 -1
  22. package/es/components/booking/info2/service/actions/index.d.ts +1 -0
  23. package/es/components/booking/info2/service/addService/utils.d.ts +1 -1
  24. package/es/components/booking/info2/service/contactInfoMode/index.d.ts +1 -0
  25. package/es/components/booking/materiels/contacts/index.d.ts +1 -0
  26. package/es/components/booking/materiels/duration/index.d.ts +1 -0
  27. package/es/components/booking/materiels/holder/index.d.ts +1 -0
  28. package/es/components/booking/materiels/startTime/index.d.ts +1 -0
  29. package/es/components/booking/notes/NoteBlock/NoteItem/index.d.ts +1 -0
  30. package/es/components/ecocup/components/CupInfoCard/index.d.ts +1 -0
  31. package/es/components/ecocup/components/CustomerCard/index.d.ts +1 -0
  32. package/es/components/ecocup/components/MoreDropdown/index.d.ts +0 -1
  33. package/es/components/ecocup/cupList/hooks/useColumns.d.ts +0 -1
  34. package/es/components/ecocup/cupList/hooks/useSummary.d.ts +0 -1
  35. package/es/components/eftpos/hooks.d.ts +1 -0
  36. package/es/components/eftpos/index.d.ts +1 -0
  37. package/es/components/eftpos/pos.d.ts +1 -0
  38. package/es/components/eftposPay/amount.d.ts +1 -0
  39. package/es/components/eftposPay/component/fail/network.d.ts +1 -0
  40. package/es/components/eftposPay/component/fail/unknow.d.ts +1 -0
  41. package/es/components/eftposPay/component/manual/index.d.ts +1 -0
  42. package/es/components/eftposPay/component/signature/index.d.ts +1 -0
  43. package/es/components/eftposPay/payo/config.d.ts +1 -0
  44. package/es/components/eftposPay/tip.d.ts +1 -0
  45. package/es/components/eftposPay/windcave/receiptAction.d.ts +1 -0
  46. package/es/components/eftposPay/windcave/windcave.d.ts +1 -0
  47. package/es/components/eventBooking/components/ErrorTip/index.d.ts +0 -1
  48. package/es/components/eventBooking/components/Provider/InformationOptionsModal/index.d.ts +0 -1
  49. package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/WeekItem/index.d.ts +0 -1
  50. package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/index.d.ts +0 -1
  51. package/es/components/eventBooking/components/scheduleCalendar/ProductItem/index.d.ts +1 -0
  52. package/es/components/login/index.d.ts +1 -0
  53. package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/components/SetupForm/index.d.ts +0 -1
  54. package/es/components/pisellSelectCustomerModal/RightPanel/Add/BirthdayField/index.d.ts +1 -0
  55. package/es/components/pisellSelectCustomerModal/RightPanel/Add/GenderField/index.d.ts +1 -0
  56. package/es/components/productExtension/fields/SelectProducts/ProductItem/index.d.ts +1 -0
  57. package/es/components/productExtension/fields/SelectProducts/ProductItemPreview/index.d.ts +1 -0
  58. package/es/components/productExtension/fields/SelectProducts/index.d.ts +1 -0
  59. package/es/components/productExtension/fields/SelectResourcesTable/index.d.ts +1 -0
  60. package/es/components/ruleSetting/ruleBorder/index.d.ts +1 -0
  61. package/es/components/schedules/calendar/index.d.ts +1 -0
  62. package/es/components/schedules/components/CurrentDay/index.d.ts +1 -0
  63. package/es/components/schedules/components/ScheduleDetailList/index.d.ts +1 -0
  64. package/es/components/schedules/components/ScheduleList/index.d.ts +1 -0
  65. package/es/components/schedules/products/ProductDetailDrawer/ProductDetail/MaxParticipantsModule/index.d.ts +1 -0
  66. package/es/components/schedules/products/ProductDetailDrawer/ProductDetail/ResourcesModule/index.d.ts +1 -0
  67. package/es/components/schedules/products/ProductDetailDrawer/index.d.ts +1 -0
  68. package/es/components/schedules/products/index.d.ts +1 -0
  69. package/es/components/schedules/products/list/ProductItem/index.d.ts +1 -0
  70. package/es/components/schedules/products/list/index.d.ts +1 -0
  71. package/es/components/schedules/resources/index.d.ts +1 -0
  72. package/es/components/schedules/resources/list/index.d.ts +1 -0
  73. package/es/components/schedules/schedules/AllSchedules/index.d.ts +1 -0
  74. package/es/components/schedules/schedules/ScheduleDetailDrawer/index.d.ts +1 -0
  75. package/es/components/schedules/schedules/index.d.ts +1 -0
  76. package/es/components/shoppingCart/index.d.ts +1 -0
  77. package/es/components/workSpaceList/components/Modal/index.d.ts +0 -1
  78. package/es/hooks/usePaymentLogger.d.ts +1 -0
  79. package/es/plus/clinetSearch/Add/BirthdayField/index.d.ts +1 -0
  80. package/es/plus/clinetSearch/Add/GenderField/index.d.ts +1 -0
  81. package/es/plus/orderList/components/HandleActions.d.ts +0 -1
  82. package/es/plus/orderList/components/QuickFilter.d.ts +0 -1
  83. package/es/plus/orderList/components/Reset.d.ts +0 -1
  84. package/es/plus/orderList/components/Toolbar.d.ts +0 -1
  85. package/es/plus/saasCreateOrganization/components/Header.d.ts +1 -0
  86. package/es/plus/saasDevice/devicePlanning/components/DeviceDetailDrawer/index.js +169 -8
  87. package/es/plus/saasDevice/devicePlanning/components/DeviceDetailDrawer/index.less +141 -5
  88. package/es/plus/saasDevice/devicePlanning/locales.d.ts +125 -0
  89. package/es/plus/saasDevice/devicePlanning/locales.js +125 -0
  90. package/es/plus/saasRegister/components/EntryEmail.d.ts +1 -0
  91. package/es/plus/saasRegister/components/EntryInfo.d.ts +1 -0
  92. package/es/plus/saasRegister/components/GoLogin.d.ts +1 -0
  93. package/es/plus/saasRegister/components/Header.d.ts +1 -0
  94. package/es/plus/saasRegister/components/VerifyError.d.ts +1 -0
  95. package/es/plus/saasRegister/components/VerifyingLink.d.ts +1 -0
  96. package/es/plus/selectHolder/components/ErrorTip/index.d.ts +0 -1
  97. package/es/plus/skuOptionsSelection/components/TitleExtra/index.d.ts +1 -0
  98. package/es/plus/walletEditor/components/relationProduct/index.d.ts +1 -0
  99. package/es/pro/pisellPaymentList/example.d.ts +1 -0
  100. package/lib/components/appointmentBooking/components/Footer/index.d.ts +0 -1
  101. package/lib/components/appointmentBooking/components/Guest/components/InformationOptionsModal/index.d.ts +0 -1
  102. package/lib/components/appointmentBooking/components/TimeSlicing/components/SelectDateOS.d.ts +1 -0
  103. package/lib/components/booking/components/TabProduct/productItem/index.d.ts +1 -0
  104. package/lib/components/booking/components/TabProduct/selectProductItem/index.d.ts +1 -0
  105. package/lib/components/booking/components/collapsibleList/utils.d.ts +1 -0
  106. package/lib/components/booking/components/emptyBooking/index.d.ts +1 -0
  107. package/lib/components/booking/components/footer/FooterMenus/index.d.ts +1 -0
  108. package/lib/components/booking/forms/single/index.d.ts +1 -0
  109. package/lib/components/booking/info/clientVariant/hooks/useClientFn.d.ts +1 -0
  110. package/lib/components/booking/info/notes/index.d.ts +1 -0
  111. package/lib/components/booking/info/service/actions/index.d.ts +1 -0
  112. package/lib/components/booking/info/service/addService/utils.d.ts +1 -1
  113. package/lib/components/booking/info2/service/actions/index.d.ts +1 -0
  114. package/lib/components/booking/info2/service/addService/utils.d.ts +1 -1
  115. package/lib/components/booking/info2/service/contactInfoMode/index.d.ts +1 -0
  116. package/lib/components/booking/materiels/contacts/index.d.ts +1 -0
  117. package/lib/components/booking/materiels/duration/index.d.ts +1 -0
  118. package/lib/components/booking/materiels/holder/index.d.ts +1 -0
  119. package/lib/components/booking/materiels/startTime/index.d.ts +1 -0
  120. package/lib/components/booking/notes/NoteBlock/NoteItem/index.d.ts +1 -0
  121. package/lib/components/ecocup/components/CupInfoCard/index.d.ts +1 -0
  122. package/lib/components/ecocup/components/CustomerCard/index.d.ts +1 -0
  123. package/lib/components/ecocup/components/MoreDropdown/index.d.ts +0 -1
  124. package/lib/components/ecocup/cupList/hooks/useColumns.d.ts +0 -1
  125. package/lib/components/ecocup/cupList/hooks/useSummary.d.ts +0 -1
  126. package/lib/components/eftpos/hooks.d.ts +1 -0
  127. package/lib/components/eftpos/index.d.ts +1 -0
  128. package/lib/components/eftpos/pos.d.ts +1 -0
  129. package/lib/components/eftposPay/amount.d.ts +1 -0
  130. package/lib/components/eftposPay/component/fail/network.d.ts +1 -0
  131. package/lib/components/eftposPay/component/fail/unknow.d.ts +1 -0
  132. package/lib/components/eftposPay/component/manual/index.d.ts +1 -0
  133. package/lib/components/eftposPay/component/signature/index.d.ts +1 -0
  134. package/lib/components/eftposPay/payo/config.d.ts +1 -0
  135. package/lib/components/eftposPay/tip.d.ts +1 -0
  136. package/lib/components/eftposPay/windcave/receiptAction.d.ts +1 -0
  137. package/lib/components/eftposPay/windcave/windcave.d.ts +1 -0
  138. package/lib/components/eventBooking/components/ErrorTip/index.d.ts +0 -1
  139. package/lib/components/eventBooking/components/Provider/InformationOptionsModal/index.d.ts +0 -1
  140. package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/WeekItem/index.d.ts +0 -1
  141. package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/index.d.ts +0 -1
  142. package/lib/components/eventBooking/components/scheduleCalendar/ProductItem/index.d.ts +1 -0
  143. package/lib/components/login/index.d.ts +1 -0
  144. package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/components/SetupForm/index.d.ts +0 -1
  145. package/lib/components/pisellSelectCustomerModal/RightPanel/Add/BirthdayField/index.d.ts +1 -0
  146. package/lib/components/pisellSelectCustomerModal/RightPanel/Add/GenderField/index.d.ts +1 -0
  147. package/lib/components/productExtension/fields/SelectProducts/ProductItem/index.d.ts +1 -0
  148. package/lib/components/productExtension/fields/SelectProducts/ProductItemPreview/index.d.ts +1 -0
  149. package/lib/components/productExtension/fields/SelectProducts/index.d.ts +1 -0
  150. package/lib/components/productExtension/fields/SelectResourcesTable/index.d.ts +1 -0
  151. package/lib/components/ruleSetting/ruleBorder/index.d.ts +1 -0
  152. package/lib/components/schedules/calendar/index.d.ts +1 -0
  153. package/lib/components/schedules/components/CurrentDay/index.d.ts +1 -0
  154. package/lib/components/schedules/components/ScheduleDetailList/index.d.ts +1 -0
  155. package/lib/components/schedules/components/ScheduleList/index.d.ts +1 -0
  156. package/lib/components/schedules/products/ProductDetailDrawer/ProductDetail/MaxParticipantsModule/index.d.ts +1 -0
  157. package/lib/components/schedules/products/ProductDetailDrawer/ProductDetail/ResourcesModule/index.d.ts +1 -0
  158. package/lib/components/schedules/products/ProductDetailDrawer/index.d.ts +1 -0
  159. package/lib/components/schedules/products/index.d.ts +1 -0
  160. package/lib/components/schedules/products/list/ProductItem/index.d.ts +1 -0
  161. package/lib/components/schedules/products/list/index.d.ts +1 -0
  162. package/lib/components/schedules/resources/index.d.ts +1 -0
  163. package/lib/components/schedules/resources/list/index.d.ts +1 -0
  164. package/lib/components/schedules/schedules/AllSchedules/index.d.ts +1 -0
  165. package/lib/components/schedules/schedules/ScheduleDetailDrawer/index.d.ts +1 -0
  166. package/lib/components/schedules/schedules/index.d.ts +1 -0
  167. package/lib/components/shoppingCart/index.d.ts +1 -0
  168. package/lib/components/workSpaceList/components/Modal/index.d.ts +0 -1
  169. package/lib/hooks/usePaymentLogger.d.ts +1 -0
  170. package/lib/plus/clinetSearch/Add/BirthdayField/index.d.ts +1 -0
  171. package/lib/plus/clinetSearch/Add/GenderField/index.d.ts +1 -0
  172. package/lib/plus/orderList/components/HandleActions.d.ts +0 -1
  173. package/lib/plus/orderList/components/QuickFilter.d.ts +0 -1
  174. package/lib/plus/orderList/components/Reset.d.ts +0 -1
  175. package/lib/plus/orderList/components/Toolbar.d.ts +0 -1
  176. package/lib/plus/saasCreateOrganization/components/Header.d.ts +1 -0
  177. package/lib/plus/saasDevice/devicePlanning/components/DeviceDetailDrawer/index.js +174 -16
  178. package/lib/plus/saasDevice/devicePlanning/components/DeviceDetailDrawer/index.less +141 -5
  179. package/lib/plus/saasDevice/devicePlanning/locales.d.ts +125 -0
  180. package/lib/plus/saasDevice/devicePlanning/locales.js +125 -0
  181. package/lib/plus/saasRegister/components/EntryEmail.d.ts +1 -0
  182. package/lib/plus/saasRegister/components/EntryInfo.d.ts +1 -0
  183. package/lib/plus/saasRegister/components/GoLogin.d.ts +1 -0
  184. package/lib/plus/saasRegister/components/Header.d.ts +1 -0
  185. package/lib/plus/saasRegister/components/VerifyError.d.ts +1 -0
  186. package/lib/plus/saasRegister/components/VerifyingLink.d.ts +1 -0
  187. package/lib/plus/selectHolder/components/ErrorTip/index.d.ts +0 -1
  188. package/lib/plus/skuOptionsSelection/components/TitleExtra/index.d.ts +1 -0
  189. package/lib/plus/walletEditor/components/relationProduct/index.d.ts +1 -0
  190. package/lib/pro/pisellPaymentList/example.d.ts +1 -0
  191. package/package.json +3 -3
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import './index.less';
2
3
  interface ProductListProps {
3
4
  loading: boolean;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import './index.less';
2
3
  declare const Resources: () => JSX.Element;
3
4
  export default Resources;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import "./index.less";
2
3
  declare type ResourcesListProps = {
3
4
  list: any;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { ScheduleItem } from '../../type';
2
3
  import './index.less';
3
4
  declare type AllSchedulesPropsType = {
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import type { DrawerProps } from "antd";
2
3
  import { ScheduleItem } from "../../type";
3
4
  import "./index.less";
@@ -1,2 +1,3 @@
1
+ /// <reference types="react" />
1
2
  declare const SchedulesConnect: () => JSX.Element;
2
3
  export default SchedulesConnect;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { shoppingCartProps } from './type';
2
3
  declare const shoppingCart: ({ onCard, onAction, onChange, onAddProduct, onActiveKey, ...props }: shoppingCartProps) => JSX.Element;
3
4
  export default shoppingCart;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { Modal as AntModal, ModalFuncProps as AntModalFuncProps, ModalProps as AntModalProps } from 'antd';
3
2
  import './index.less';
4
3
  interface ModalProps extends AntModalProps {
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  interface LogData {
2
3
  key: string;
3
4
  value: any;
@@ -1,2 +1,3 @@
1
+ /// <reference types="react" />
1
2
  declare const DateSectionCom: ({ value, onChange, showTime, className, style, useSpace, format, itemStyle, }: any) => JSX.Element;
2
3
  export default DateSectionCom;
@@ -1,2 +1,3 @@
1
+ /// <reference types="react" />
1
2
  declare const GenderField: (props: any) => JSX.Element;
2
3
  export default GenderField;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  declare const HandleActions: (props: {
3
2
  locales: any;
4
3
  __id?: string;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  declare const QuickFilter: (props: {
3
2
  locales: any;
4
3
  }) => JSX.Element;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  declare const Reset: (props: {
3
2
  locales: any;
4
3
  setValueType: (value: any) => void;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  declare const Toolbar: (props: {
3
2
  locales: any;
4
3
  clearSelectedData: () => void;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { SCOProps } from '../types';
2
3
  import '../index.less';
3
4
  export declare const Header: (props: SCOProps) => JSX.Element;
@@ -38,6 +38,93 @@ var import_materials = require("@pisell/materials");
38
38
  var import_icons = require("@ant-design/icons");
39
39
  var import_classnames = __toESM(require("classnames"));
40
40
  var import_index = require("./index.less");
41
+ var EMPTY_VALUE = "-";
42
+ var BYTE_PER_GB = 1024 * 1024 * 1024;
43
+ var REPORT_GROUPS = [
44
+ {
45
+ key: "software",
46
+ fields: [{ key: "name" }, { key: "version" }]
47
+ },
48
+ {
49
+ key: "battery",
50
+ fields: [
51
+ {
52
+ key: "level",
53
+ value: (data, getText) => renderBatteryValue(data, getText)
54
+ }
55
+ ]
56
+ },
57
+ {
58
+ key: "network",
59
+ fields: [
60
+ { key: "type" },
61
+ { key: "local_ip" },
62
+ { key: "gateway" },
63
+ { key: "subnet_mask" },
64
+ { key: "ssid" }
65
+ ]
66
+ },
67
+ {
68
+ key: "hardware",
69
+ fields: [{ key: "model" }, { key: "os_version" }]
70
+ },
71
+ {
72
+ key: "storage",
73
+ fields: [
74
+ { key: "used", value: (data) => formatStorageValue(data.used) },
75
+ { key: "total", value: (data) => formatStorageValue(data.total) }
76
+ ]
77
+ }
78
+ ];
79
+ var isPlainObject = (value) => Object.prototype.toString.call(value) === "[object Object]";
80
+ var getReportText = (getText, key) => getText(`pisell2.saas.device-planning.detail.report.${key}`);
81
+ var formatReportValue = (value, getText) => {
82
+ if (value === null || value === void 0 || value === "") {
83
+ return EMPTY_VALUE;
84
+ }
85
+ if (typeof value === "boolean") {
86
+ return getText(
87
+ `pisell2.saas.device-planning.detail.${value ? "yes" : "no"}`
88
+ );
89
+ }
90
+ if (Array.isArray(value) || isPlainObject(value)) {
91
+ return /* @__PURE__ */ import_react.default.createElement("span", { className: "device-detail-drawer__json-value" }, JSON.stringify(value));
92
+ }
93
+ return String(value);
94
+ };
95
+ var formatStorageValue = (value) => {
96
+ const byteValue = typeof value === "number" || typeof value === "string" ? Number(value) : Number.NaN;
97
+ if (!Number.isFinite(byteValue)) {
98
+ return EMPTY_VALUE;
99
+ }
100
+ const gbValue = byteValue / BYTE_PER_GB;
101
+ const text = gbValue >= 10 ? String(Math.round(gbValue)) : gbValue.toFixed(2).replace(/\.?0+$/, "");
102
+ return `${text} GB`;
103
+ };
104
+ var formatLastSeen = (value) => typeof value === "string" && value.trim() ? value : EMPTY_VALUE;
105
+ var renderBatteryValue = (data, getText) => {
106
+ const rawLevel = typeof data.level === "number" || typeof data.level === "string" ? Number(data.level) : Number.NaN;
107
+ const hasLevel = Number.isFinite(rawLevel);
108
+ const levelValue = hasLevel ? Math.max(0, Math.min(rawLevel, 100)) : 0;
109
+ const level = hasLevel ? `${rawLevel}%` : EMPTY_VALUE;
110
+ const charging = (data == null ? void 0 : data.charging) === true;
111
+ return /* @__PURE__ */ import_react.default.createElement("span", { className: "device-detail-drawer__battery-value" }, /* @__PURE__ */ import_react.default.createElement(
112
+ "span",
113
+ {
114
+ className: (0, import_classnames.default)("device-detail-drawer__battery-icon", {
115
+ "is-charging": charging
116
+ })
117
+ },
118
+ /* @__PURE__ */ import_react.default.createElement(
119
+ "span",
120
+ {
121
+ className: "device-detail-drawer__battery-fill",
122
+ style: { width: `${levelValue}%` }
123
+ }
124
+ ),
125
+ charging ? /* @__PURE__ */ import_react.default.createElement("span", { className: "device-detail-drawer__battery-bolt" }) : null
126
+ ), /* @__PURE__ */ import_react.default.createElement("span", null, level), /* @__PURE__ */ import_react.default.createElement("span", { className: "device-detail-drawer__battery-status" }, getReportText(getText, charging ? "charging" : "not-charging")));
127
+ };
41
128
  var DeviceDetailDrawer = ({
42
129
  open,
43
130
  record,
@@ -49,7 +136,19 @@ var DeviceDetailDrawer = ({
49
136
  }) => {
50
137
  var _a;
51
138
  const device = record == null ? void 0 : record._raw;
139
+ const reportData = device == null ? void 0 : device.data;
52
140
  const online = (record == null ? void 0 : record.status) === "online";
141
+ const lastSeen = formatLastSeen(device == null ? void 0 : device.last_seen);
142
+ const reportGroups = (0, import_react.useMemo)(() => {
143
+ if (!isPlainObject(reportData)) return [];
144
+ return REPORT_GROUPS.reduce((list, group) => {
145
+ const data = reportData[group.key];
146
+ if (isPlainObject(data)) {
147
+ list.push({ ...group, data });
148
+ }
149
+ return list;
150
+ }, []);
151
+ }, [reportData]);
53
152
  return /* @__PURE__ */ import_react.default.createElement(
54
153
  import_antd.Drawer,
55
154
  {
@@ -67,25 +166,84 @@ var DeviceDetailDrawer = ({
67
166
  },
68
167
  bodyStyle: { padding: 0 }
69
168
  },
70
- record ? /* @__PURE__ */ import_react.default.createElement("div", { className: "device-detail-drawer__root" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "device-detail-drawer__header" }, ((_a = device == null ? void 0 : device.type) == null ? void 0 : _a.icon) ? /* @__PURE__ */ import_react.default.createElement("div", { className: "device-detail-drawer__icon" }, /* @__PURE__ */ import_react.default.createElement(import_materials.Icon, { type: device.type.icon })) : null, /* @__PURE__ */ import_react.default.createElement("div", { className: "device-detail-drawer__heading" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "device-detail-drawer__name" }, record.name), /* @__PURE__ */ import_react.default.createElement("div", { className: "device-detail-drawer__type" }, record.typeName)), /* @__PURE__ */ import_react.default.createElement(import_materials.Button, { type: "text", icon: /* @__PURE__ */ import_react.default.createElement(import_icons.CloseOutlined, null), onClick: onClose })), /* @__PURE__ */ import_react.default.createElement("div", { className: "device-detail-drawer__content" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "device-detail-drawer__section-title" }, getText("pisell2.saas.device-planning.detail.basic-info")), /* @__PURE__ */ import_react.default.createElement("div", { className: "device-detail-drawer__info-list" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "device-detail-drawer__info-row" }, /* @__PURE__ */ import_react.default.createElement("span", null, getText("pisell2.saas.device-planning.detail.name")), /* @__PURE__ */ import_react.default.createElement("strong", null, record.name)), /* @__PURE__ */ import_react.default.createElement("div", { className: "device-detail-drawer__info-row" }, /* @__PURE__ */ import_react.default.createElement("span", null, getText("pisell2.saas.device-planning.detail.type")), /* @__PURE__ */ import_react.default.createElement("strong", null, record.typeName)), /* @__PURE__ */ import_react.default.createElement("div", { className: "device-detail-drawer__info-row" }, /* @__PURE__ */ import_react.default.createElement("span", null, getText("pisell2.saas.device-planning.detail.model")), /* @__PURE__ */ import_react.default.createElement("strong", null, record.modelName)), /* @__PURE__ */ import_react.default.createElement("div", { className: "device-detail-drawer__info-two-row" }, /* @__PURE__ */ import_react.default.createElement("span", null, getText("pisell2.saas.device-planning.detail.profile")), /* @__PURE__ */ import_react.default.createElement("div", { className: "device-detail-drawer__profile-card" }, /* @__PURE__ */ import_react.default.createElement(import_materials.Icon, { type: "FileTextOutlined" }), record.profileName))), /* @__PURE__ */ import_react.default.createElement("div", { className: "device-detail-drawer__section-title" }, getText("pisell2.saas.device-planning.detail.status")), /* @__PURE__ */ import_react.default.createElement("div", { className: "device-detail-drawer__info-list" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "device-detail-drawer__info-row" }, /* @__PURE__ */ import_react.default.createElement("span", null, getText("pisell2.saas.device-planning.detail.link-status")), /* @__PURE__ */ import_react.default.createElement(
71
- import_materials.Tag,
169
+ record ? /* @__PURE__ */ import_react.default.createElement("div", { className: "device-detail-drawer__root" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "device-detail-drawer__header" }, ((_a = device == null ? void 0 : device.type) == null ? void 0 : _a.icon) ? /* @__PURE__ */ import_react.default.createElement("div", { className: "device-detail-drawer__icon" }, /* @__PURE__ */ import_react.default.createElement(import_materials.Icon, { type: device.type.icon })) : null, /* @__PURE__ */ import_react.default.createElement("div", { className: "device-detail-drawer__heading" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "device-detail-drawer__name" }, record.name), /* @__PURE__ */ import_react.default.createElement("div", { className: "device-detail-drawer__type" }, record.typeName)), /* @__PURE__ */ import_react.default.createElement(import_materials.Button, { type: "text", icon: /* @__PURE__ */ import_react.default.createElement(import_icons.CloseOutlined, null), onClick: onClose })), /* @__PURE__ */ import_react.default.createElement("div", { className: "device-detail-drawer__content" }, /* @__PURE__ */ import_react.default.createElement(
170
+ import_antd.Card,
72
171
  {
73
- color: record.link === "linked" ? "green" : "gold",
74
- style: { marginRight: 0 }
172
+ size: "small",
173
+ title: getText("pisell2.saas.device-planning.detail.basic-info"),
174
+ className: "device-detail-drawer__card"
75
175
  },
76
- getText(
77
- `pisell2.saas.device-planning.status.${record.link}`
78
- ) || record.link
79
- )), /* @__PURE__ */ import_react.default.createElement("div", { className: "device-detail-drawer__info-row" }, /* @__PURE__ */ import_react.default.createElement("span", null, getText("pisell2.saas.device-planning.detail.online-status")), /* @__PURE__ */ import_react.default.createElement("span", { className: "device-detail-drawer__online-status" }, /* @__PURE__ */ import_react.default.createElement(
80
- "span",
176
+ /* @__PURE__ */ import_react.default.createElement("div", { className: "device-detail-drawer__info-list" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "device-detail-drawer__info-row" }, /* @__PURE__ */ import_react.default.createElement("span", null, getText("pisell2.saas.device-planning.detail.name")), /* @__PURE__ */ import_react.default.createElement("strong", null, record.name)), /* @__PURE__ */ import_react.default.createElement("div", { className: "device-detail-drawer__info-row" }, /* @__PURE__ */ import_react.default.createElement("span", null, getText("pisell2.saas.device-planning.detail.type")), /* @__PURE__ */ import_react.default.createElement("strong", null, record.typeName)), /* @__PURE__ */ import_react.default.createElement("div", { className: "device-detail-drawer__info-row" }, /* @__PURE__ */ import_react.default.createElement("span", null, getText("pisell2.saas.device-planning.detail.model")), /* @__PURE__ */ import_react.default.createElement("strong", null, record.modelName)), /* @__PURE__ */ import_react.default.createElement("div", { className: "device-detail-drawer__info-two-row" }, /* @__PURE__ */ import_react.default.createElement("span", null, getText("pisell2.saas.device-planning.detail.profile")), /* @__PURE__ */ import_react.default.createElement("div", { className: "device-detail-drawer__profile-card" }, /* @__PURE__ */ import_react.default.createElement(import_materials.Icon, { type: "FileTextOutlined" }), record.profileName)))
177
+ ), /* @__PURE__ */ import_react.default.createElement(
178
+ import_antd.Card,
81
179
  {
82
- className: (0, import_classnames.default)("device-detail-drawer__status-dot", {
83
- "is-online": online
84
- })
85
- }
86
- ), getText(
87
- `pisell2.saas.device-planning.status.${record.status}`
88
- ) || record.status)))), /* @__PURE__ */ import_react.default.createElement("div", { className: "device-detail-drawer__footer" }, /* @__PURE__ */ import_react.default.createElement(import_materials.Button, { danger: true, size: "large", onClick: onDelete }, getText("pisell2.saas.device-planning.detail.delete")), /* @__PURE__ */ import_react.default.createElement(import_materials.Button, { type: "primary", size: "large", onClick: onEdit }, getText("pisell2.saas.device-planning.detail.edit")))) : null
180
+ size: "small",
181
+ title: getText("pisell2.saas.device-planning.detail.status"),
182
+ className: "device-detail-drawer__card"
183
+ },
184
+ /* @__PURE__ */ import_react.default.createElement("div", { className: "device-detail-drawer__info-list" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "device-detail-drawer__info-row" }, /* @__PURE__ */ import_react.default.createElement("span", null, getText("pisell2.saas.device-planning.detail.link-status")), /* @__PURE__ */ import_react.default.createElement(
185
+ import_materials.Tag,
186
+ {
187
+ color: record.link === "linked" ? "green" : "gold",
188
+ style: { marginRight: 0 }
189
+ },
190
+ getText(
191
+ `pisell2.saas.device-planning.status.${record.link}`
192
+ ) || record.link
193
+ )), /* @__PURE__ */ import_react.default.createElement("div", { className: "device-detail-drawer__info-row" }, /* @__PURE__ */ import_react.default.createElement("span", null, getText(
194
+ "pisell2.saas.device-planning.detail.online-status"
195
+ )), /* @__PURE__ */ import_react.default.createElement("span", { className: "device-detail-drawer__online-status" }, /* @__PURE__ */ import_react.default.createElement(
196
+ "span",
197
+ {
198
+ className: (0, import_classnames.default)(
199
+ "device-detail-drawer__status-dot",
200
+ {
201
+ "is-online": online
202
+ }
203
+ )
204
+ }
205
+ ), getText(
206
+ `pisell2.saas.device-planning.status.${record.status}`
207
+ ) || record.status)))
208
+ ), /* @__PURE__ */ import_react.default.createElement(
209
+ import_antd.Card,
210
+ {
211
+ size: "small",
212
+ title: getText("pisell2.saas.device-planning.detail.report-info"),
213
+ extra: /* @__PURE__ */ import_react.default.createElement("span", { className: "device-detail-drawer__last-seen" }, getText("pisell2.saas.device-planning.detail.last-seen"), lastSeen),
214
+ className: "device-detail-drawer__card"
215
+ },
216
+ reportGroups.length > 0 ? /* @__PURE__ */ import_react.default.createElement("div", { className: "device-detail-drawer__report-list" }, reportGroups.map((group) => /* @__PURE__ */ import_react.default.createElement(
217
+ import_antd.Card,
218
+ {
219
+ key: group.key,
220
+ size: "small",
221
+ type: "inner",
222
+ title: getReportText(getText, `group.${group.key}`),
223
+ className: "device-detail-drawer__report-card"
224
+ },
225
+ /* @__PURE__ */ import_react.default.createElement("div", { className: "device-detail-drawer__report-rows" }, group.fields.map((field) => /* @__PURE__ */ import_react.default.createElement(
226
+ "div",
227
+ {
228
+ key: field.key,
229
+ className: "device-detail-drawer__report-row"
230
+ },
231
+ /* @__PURE__ */ import_react.default.createElement("span", { className: "device-detail-drawer__report-label" }, getReportText(getText, `field.${field.key}`)),
232
+ /* @__PURE__ */ import_react.default.createElement("span", { className: "device-detail-drawer__report-value" }, field.value ? field.value(group.data, getText) : formatReportValue(
233
+ group.data[field.key],
234
+ getText
235
+ ))
236
+ )))
237
+ ))) : /* @__PURE__ */ import_react.default.createElement(
238
+ import_antd.Empty,
239
+ {
240
+ image: import_antd.Empty.PRESENTED_IMAGE_SIMPLE,
241
+ description: getText(
242
+ "pisell2.saas.device-planning.detail.no-report-info"
243
+ )
244
+ }
245
+ )
246
+ )), /* @__PURE__ */ import_react.default.createElement("div", { className: "device-detail-drawer__footer" }, /* @__PURE__ */ import_react.default.createElement(import_materials.Button, { danger: true, size: "large", onClick: onDelete }, getText("pisell2.saas.device-planning.detail.delete")), /* @__PURE__ */ import_react.default.createElement(import_materials.Button, { type: "primary", size: "large", onClick: onEdit }, getText("pisell2.saas.device-planning.detail.edit")))) : null
89
247
  );
90
248
  };
91
249
  var DeviceDetailDrawer_default = DeviceDetailDrawer;
@@ -61,14 +61,32 @@
61
61
  &__content {
62
62
  flex: 1;
63
63
  min-height: 0;
64
- padding: 20px 24px;
64
+ padding: 20px 10px;
65
65
  overflow: auto;
66
+ background: #f5f6f8;
66
67
  }
67
68
 
68
- &__section-title {
69
- margin: 10px 0 12px;
70
- font-size: 13px;
71
- color: rgba(0, 0, 0, 0.45);
69
+ &__card {
70
+ border-radius: 10px;
71
+
72
+ & + & {
73
+ margin-top: 12px;
74
+ }
75
+
76
+ .ant-card-head {
77
+ min-height: 42px;
78
+ padding: 0 16px;
79
+ }
80
+
81
+ .ant-card-head-title {
82
+ padding: 10px 0;
83
+ font-size: 14px;
84
+ font-weight: 600;
85
+ }
86
+
87
+ .ant-card-body {
88
+ padding: 16px;
89
+ }
72
90
  }
73
91
 
74
92
  &__info-list {
@@ -123,6 +141,124 @@
123
141
  color: rgba(0, 0, 0, 0.72);
124
142
  }
125
143
 
144
+ &__report-list {
145
+ display: flex;
146
+ flex-direction: column;
147
+ gap: 12px;
148
+ }
149
+
150
+ &__last-seen {
151
+ font-size: 12px;
152
+ font-weight: 400;
153
+ color: rgba(0, 0, 0, 0.45);
154
+ }
155
+
156
+ &__report-card {
157
+ border-radius: 8px;
158
+ background: #fafafa;
159
+
160
+ .ant-card-head {
161
+ min-height: 38px;
162
+ padding: 0 12px;
163
+ }
164
+
165
+ .ant-card-head-title {
166
+ padding: 8px 0;
167
+ font-size: 13px;
168
+ font-weight: 600;
169
+ }
170
+
171
+ .ant-card-body {
172
+ padding: 12px;
173
+ }
174
+ }
175
+
176
+ &__report-rows {
177
+ display: flex;
178
+ flex-direction: column;
179
+ gap: 12px;
180
+ }
181
+
182
+ &__report-row {
183
+ display: flex;
184
+ align-items: center;
185
+ justify-content: space-between;
186
+ gap: 16px;
187
+ font-size: 14px;
188
+ }
189
+
190
+ &__report-label {
191
+ flex-shrink: 0;
192
+ color: rgba(0, 0, 0, 0.55);
193
+ }
194
+
195
+ &__report-value,
196
+ &__json-value {
197
+ min-width: 0;
198
+ color: rgba(0, 0, 0, 0.88);
199
+ text-align: right;
200
+ word-break: break-word;
201
+ }
202
+
203
+ &__battery-value {
204
+ display: inline-flex;
205
+ align-items: center;
206
+ justify-content: flex-end;
207
+ gap: 8px;
208
+ }
209
+
210
+ &__battery-icon {
211
+ position: relative;
212
+ box-sizing: border-box;
213
+ width: 24px;
214
+ height: 12px;
215
+ border: 1.5px solid rgba(0, 0, 0, 0.65);
216
+ border-radius: 3px;
217
+
218
+ &::before {
219
+ position: absolute;
220
+ top: 2px;
221
+ right: -4px;
222
+ width: 2px;
223
+ height: 6px;
224
+ border-radius: 0 2px 2px 0;
225
+ background: rgba(0, 0, 0, 0.65);
226
+ content: '';
227
+ }
228
+
229
+ &.is-charging {
230
+ border-color: #16a34a;
231
+
232
+ &::before {
233
+ background: #16a34a;
234
+ }
235
+ }
236
+ }
237
+
238
+ &__battery-fill {
239
+ position: absolute;
240
+ top: 2px;
241
+ left: 2px;
242
+ max-width: 17px;
243
+ height: 5px;
244
+ border-radius: 1px;
245
+ background: #16a34a;
246
+ }
247
+
248
+ &__battery-bolt {
249
+ position: absolute;
250
+ top: -3px;
251
+ left: 8px;
252
+ width: 7px;
253
+ height: 14px;
254
+ background: #f59e0b;
255
+ clip-path: polygon(45% 0, 100% 0, 62% 42%, 100% 42%, 35% 100%, 48% 56%, 0 56%);
256
+ }
257
+
258
+ &__battery-status {
259
+ color: #16a34a;
260
+ }
261
+
126
262
  &__online-status {
127
263
  display: inline-flex;
128
264
  align-items: center;
@@ -82,6 +82,31 @@ declare const _default: {
82
82
  'pisell2.saas.device-planning.detail.delete': string;
83
83
  'pisell2.saas.device-planning.detail.save': string;
84
84
  'pisell2.saas.device-planning.detail.cancel': string;
85
+ 'pisell2.saas.device-planning.detail.report-info': string;
86
+ 'pisell2.saas.device-planning.detail.last-seen': string;
87
+ 'pisell2.saas.device-planning.detail.no-report-info': string;
88
+ 'pisell2.saas.device-planning.detail.yes': string;
89
+ 'pisell2.saas.device-planning.detail.no': string;
90
+ 'pisell2.saas.device-planning.detail.report.group.software': string;
91
+ 'pisell2.saas.device-planning.detail.report.group.battery': string;
92
+ 'pisell2.saas.device-planning.detail.report.group.network': string;
93
+ 'pisell2.saas.device-planning.detail.report.group.hardware': string;
94
+ 'pisell2.saas.device-planning.detail.report.group.storage': string;
95
+ 'pisell2.saas.device-planning.detail.report.field.name': string;
96
+ 'pisell2.saas.device-planning.detail.report.field.type': string;
97
+ 'pisell2.saas.device-planning.detail.report.field.version': string;
98
+ 'pisell2.saas.device-planning.detail.report.field.level': string;
99
+ 'pisell2.saas.device-planning.detail.report.field.ssid': string;
100
+ 'pisell2.saas.device-planning.detail.report.field.gateway': string;
101
+ 'pisell2.saas.device-planning.detail.report.field.internet': string;
102
+ 'pisell2.saas.device-planning.detail.report.field.local_ip': string;
103
+ 'pisell2.saas.device-planning.detail.report.field.subnet_mask': string;
104
+ 'pisell2.saas.device-planning.detail.report.field.model': string;
105
+ 'pisell2.saas.device-planning.detail.report.field.os_version': string;
106
+ 'pisell2.saas.device-planning.detail.report.field.used': string;
107
+ 'pisell2.saas.device-planning.detail.report.field.total': string;
108
+ 'pisell2.saas.device-planning.detail.report.charging': string;
109
+ 'pisell2.saas.device-planning.detail.report.not-charging': string;
85
110
  'pisell2.saas.device-planning.edit.title': string;
86
111
  'pisell2.saas.device-planning.edit.online-title': string;
87
112
  'pisell2.saas.device-planning.edit.online-desc': string;
@@ -178,6 +203,31 @@ declare const _default: {
178
203
  'pisell2.saas.device-planning.detail.delete': string;
179
204
  'pisell2.saas.device-planning.detail.save': string;
180
205
  'pisell2.saas.device-planning.detail.cancel': string;
206
+ 'pisell2.saas.device-planning.detail.report-info': string;
207
+ 'pisell2.saas.device-planning.detail.last-seen': string;
208
+ 'pisell2.saas.device-planning.detail.no-report-info': string;
209
+ 'pisell2.saas.device-planning.detail.yes': string;
210
+ 'pisell2.saas.device-planning.detail.no': string;
211
+ 'pisell2.saas.device-planning.detail.report.group.software': string;
212
+ 'pisell2.saas.device-planning.detail.report.group.battery': string;
213
+ 'pisell2.saas.device-planning.detail.report.group.network': string;
214
+ 'pisell2.saas.device-planning.detail.report.group.hardware': string;
215
+ 'pisell2.saas.device-planning.detail.report.group.storage': string;
216
+ 'pisell2.saas.device-planning.detail.report.field.name': string;
217
+ 'pisell2.saas.device-planning.detail.report.field.type': string;
218
+ 'pisell2.saas.device-planning.detail.report.field.version': string;
219
+ 'pisell2.saas.device-planning.detail.report.field.level': string;
220
+ 'pisell2.saas.device-planning.detail.report.field.ssid': string;
221
+ 'pisell2.saas.device-planning.detail.report.field.gateway': string;
222
+ 'pisell2.saas.device-planning.detail.report.field.internet': string;
223
+ 'pisell2.saas.device-planning.detail.report.field.local_ip': string;
224
+ 'pisell2.saas.device-planning.detail.report.field.subnet_mask': string;
225
+ 'pisell2.saas.device-planning.detail.report.field.model': string;
226
+ 'pisell2.saas.device-planning.detail.report.field.os_version': string;
227
+ 'pisell2.saas.device-planning.detail.report.field.used': string;
228
+ 'pisell2.saas.device-planning.detail.report.field.total': string;
229
+ 'pisell2.saas.device-planning.detail.report.charging': string;
230
+ 'pisell2.saas.device-planning.detail.report.not-charging': string;
181
231
  'pisell2.saas.device-planning.edit.title': string;
182
232
  'pisell2.saas.device-planning.edit.online-title': string;
183
233
  'pisell2.saas.device-planning.edit.online-desc': string;
@@ -274,6 +324,31 @@ declare const _default: {
274
324
  'pisell2.saas.device-planning.detail.delete': string;
275
325
  'pisell2.saas.device-planning.detail.save': string;
276
326
  'pisell2.saas.device-planning.detail.cancel': string;
327
+ 'pisell2.saas.device-planning.detail.report-info': string;
328
+ 'pisell2.saas.device-planning.detail.last-seen': string;
329
+ 'pisell2.saas.device-planning.detail.no-report-info': string;
330
+ 'pisell2.saas.device-planning.detail.yes': string;
331
+ 'pisell2.saas.device-planning.detail.no': string;
332
+ 'pisell2.saas.device-planning.detail.report.group.software': string;
333
+ 'pisell2.saas.device-planning.detail.report.group.battery': string;
334
+ 'pisell2.saas.device-planning.detail.report.group.network': string;
335
+ 'pisell2.saas.device-planning.detail.report.group.hardware': string;
336
+ 'pisell2.saas.device-planning.detail.report.group.storage': string;
337
+ 'pisell2.saas.device-planning.detail.report.field.name': string;
338
+ 'pisell2.saas.device-planning.detail.report.field.type': string;
339
+ 'pisell2.saas.device-planning.detail.report.field.version': string;
340
+ 'pisell2.saas.device-planning.detail.report.field.level': string;
341
+ 'pisell2.saas.device-planning.detail.report.field.ssid': string;
342
+ 'pisell2.saas.device-planning.detail.report.field.gateway': string;
343
+ 'pisell2.saas.device-planning.detail.report.field.internet': string;
344
+ 'pisell2.saas.device-planning.detail.report.field.local_ip': string;
345
+ 'pisell2.saas.device-planning.detail.report.field.subnet_mask': string;
346
+ 'pisell2.saas.device-planning.detail.report.field.model': string;
347
+ 'pisell2.saas.device-planning.detail.report.field.os_version': string;
348
+ 'pisell2.saas.device-planning.detail.report.field.used': string;
349
+ 'pisell2.saas.device-planning.detail.report.field.total': string;
350
+ 'pisell2.saas.device-planning.detail.report.charging': string;
351
+ 'pisell2.saas.device-planning.detail.report.not-charging': string;
277
352
  'pisell2.saas.device-planning.edit.title': string;
278
353
  'pisell2.saas.device-planning.edit.online-title': string;
279
354
  'pisell2.saas.device-planning.edit.online-desc': string;
@@ -370,6 +445,31 @@ declare const _default: {
370
445
  'pisell2.saas.device-planning.detail.delete': string;
371
446
  'pisell2.saas.device-planning.detail.save': string;
372
447
  'pisell2.saas.device-planning.detail.cancel': string;
448
+ 'pisell2.saas.device-planning.detail.report-info': string;
449
+ 'pisell2.saas.device-planning.detail.last-seen': string;
450
+ 'pisell2.saas.device-planning.detail.no-report-info': string;
451
+ 'pisell2.saas.device-planning.detail.yes': string;
452
+ 'pisell2.saas.device-planning.detail.no': string;
453
+ 'pisell2.saas.device-planning.detail.report.group.software': string;
454
+ 'pisell2.saas.device-planning.detail.report.group.battery': string;
455
+ 'pisell2.saas.device-planning.detail.report.group.network': string;
456
+ 'pisell2.saas.device-planning.detail.report.group.hardware': string;
457
+ 'pisell2.saas.device-planning.detail.report.group.storage': string;
458
+ 'pisell2.saas.device-planning.detail.report.field.name': string;
459
+ 'pisell2.saas.device-planning.detail.report.field.type': string;
460
+ 'pisell2.saas.device-planning.detail.report.field.version': string;
461
+ 'pisell2.saas.device-planning.detail.report.field.level': string;
462
+ 'pisell2.saas.device-planning.detail.report.field.ssid': string;
463
+ 'pisell2.saas.device-planning.detail.report.field.gateway': string;
464
+ 'pisell2.saas.device-planning.detail.report.field.internet': string;
465
+ 'pisell2.saas.device-planning.detail.report.field.local_ip': string;
466
+ 'pisell2.saas.device-planning.detail.report.field.subnet_mask': string;
467
+ 'pisell2.saas.device-planning.detail.report.field.model': string;
468
+ 'pisell2.saas.device-planning.detail.report.field.os_version': string;
469
+ 'pisell2.saas.device-planning.detail.report.field.used': string;
470
+ 'pisell2.saas.device-planning.detail.report.field.total': string;
471
+ 'pisell2.saas.device-planning.detail.report.charging': string;
472
+ 'pisell2.saas.device-planning.detail.report.not-charging': string;
373
473
  'pisell2.saas.device-planning.edit.title': string;
374
474
  'pisell2.saas.device-planning.edit.online-title': string;
375
475
  'pisell2.saas.device-planning.edit.online-desc': string;
@@ -466,6 +566,31 @@ declare const _default: {
466
566
  'pisell2.saas.device-planning.detail.delete': string;
467
567
  'pisell2.saas.device-planning.detail.save': string;
468
568
  'pisell2.saas.device-planning.detail.cancel': string;
569
+ 'pisell2.saas.device-planning.detail.report-info': string;
570
+ 'pisell2.saas.device-planning.detail.last-seen': string;
571
+ 'pisell2.saas.device-planning.detail.no-report-info': string;
572
+ 'pisell2.saas.device-planning.detail.yes': string;
573
+ 'pisell2.saas.device-planning.detail.no': string;
574
+ 'pisell2.saas.device-planning.detail.report.group.software': string;
575
+ 'pisell2.saas.device-planning.detail.report.group.battery': string;
576
+ 'pisell2.saas.device-planning.detail.report.group.network': string;
577
+ 'pisell2.saas.device-planning.detail.report.group.hardware': string;
578
+ 'pisell2.saas.device-planning.detail.report.group.storage': string;
579
+ 'pisell2.saas.device-planning.detail.report.field.name': string;
580
+ 'pisell2.saas.device-planning.detail.report.field.type': string;
581
+ 'pisell2.saas.device-planning.detail.report.field.version': string;
582
+ 'pisell2.saas.device-planning.detail.report.field.level': string;
583
+ 'pisell2.saas.device-planning.detail.report.field.ssid': string;
584
+ 'pisell2.saas.device-planning.detail.report.field.gateway': string;
585
+ 'pisell2.saas.device-planning.detail.report.field.internet': string;
586
+ 'pisell2.saas.device-planning.detail.report.field.local_ip': string;
587
+ 'pisell2.saas.device-planning.detail.report.field.subnet_mask': string;
588
+ 'pisell2.saas.device-planning.detail.report.field.model': string;
589
+ 'pisell2.saas.device-planning.detail.report.field.os_version': string;
590
+ 'pisell2.saas.device-planning.detail.report.field.used': string;
591
+ 'pisell2.saas.device-planning.detail.report.field.total': string;
592
+ 'pisell2.saas.device-planning.detail.report.charging': string;
593
+ 'pisell2.saas.device-planning.detail.report.not-charging': string;
469
594
  'pisell2.saas.device-planning.edit.title': string;
470
595
  'pisell2.saas.device-planning.edit.online-title': string;
471
596
  'pisell2.saas.device-planning.edit.online-desc': string;