@voplus/morpho-workspace 6.0.163 → 6.0.165

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 (90) hide show
  1. package/es/data/notification/interfaces.d.ts +5 -0
  2. package/es/modules/meeting/components/AgendaList/AgendaItem/components/TaskList/index.js +5 -1
  3. package/es/modules/meeting/components/AgendaList/AgendaItem/components/TaskList/index.js.map +1 -1
  4. package/es/modules/meeting/components/AgendaList/AgendaItem/components/TaskList/state.d.ts +1 -0
  5. package/es/modules/meeting/components/AgendaList/AgendaItem/components/TaskList/state.js +10 -0
  6. package/es/modules/meeting/components/AgendaList/AgendaItem/components/TaskList/state.js.map +1 -1
  7. package/es/modules/notification/components/DocumentNotificationCard/index.js +28 -7
  8. package/es/modules/notification/components/DocumentNotificationCard/index.js.map +1 -1
  9. package/es/modules/notification/components/DocumentNotificationCard/index.less +67 -5
  10. package/es/modules/notification/components/NotificationList/index.less +1 -1
  11. package/es/modules/tasks/components/NewTaskForm/NewTaskFormDialog.d.ts +5 -0
  12. package/es/modules/tasks/components/NewTaskForm/NewTaskFormDialog.js +11 -0
  13. package/es/modules/tasks/components/NewTaskForm/NewTaskFormDialog.js.map +1 -0
  14. package/es/modules/tasks/components/NewTaskForm/index.d.ts +10 -2
  15. package/es/modules/tasks/components/NewTaskForm/index.js +36 -27
  16. package/es/modules/tasks/components/NewTaskForm/index.js.map +1 -1
  17. package/es/modules/work/components/NewWorkForm/index.d.ts +2 -0
  18. package/es/modules/work/components/NewWorkForm/index.js +1 -1
  19. package/es/modules/work/components/NewWorkForm/index.js.map +1 -1
  20. package/es/modules/work/components/WorkTableListCard/TableCell.d.ts +13 -1
  21. package/es/modules/work/components/WorkTableListCard/TableCell.js +28 -1
  22. package/es/modules/work/components/WorkTableListCard/TableCell.js.map +1 -1
  23. package/es/modules/work/components/WorkTableListCard/TableCellDetails.d.ts +43 -0
  24. package/es/modules/work/components/WorkTableListCard/TableCellDetails.js +130 -0
  25. package/es/modules/work/components/WorkTableListCard/TableCellDetails.js.map +1 -0
  26. package/es/modules/work/components/WorkTableListCard/index.d.ts +9 -0
  27. package/es/modules/work/components/WorkTableListCard/index.js +57 -42
  28. package/es/modules/work/components/WorkTableListCard/index.js.map +1 -1
  29. package/es/modules/work/components/WorkTableListCard/index.less +99 -9
  30. package/es/modules/work/components/WorkTableListCardPage/index.d.ts +17 -0
  31. package/es/modules/work/components/WorkTableListCardPage/index.js +85 -0
  32. package/es/modules/work/components/WorkTableListCardPage/index.js.map +1 -0
  33. package/es/modules/work/components/WorkTableListCardPage/index.less +48 -0
  34. package/es/modules/work/components/WorkTableListCardPage/state.d.ts +8 -0
  35. package/es/modules/work/components/WorkTableListCardPage/state.js +54 -0
  36. package/es/modules/work/components/WorkTableListCardPage/state.js.map +1 -0
  37. package/es/modules/work/work-type/components/ReportsCompletedWorks/index.d.ts +6 -0
  38. package/es/modules/work/work-type/components/ReportsCompletedWorks/index.js +24 -0
  39. package/es/modules/work/work-type/components/ReportsCompletedWorks/index.js.map +1 -0
  40. package/es/modules/work/work-type/components/ReportsCompletedWorks/index.less +60 -0
  41. package/es/modules/work/work-type/components/ReportsCompletedWorks/state.d.ts +6 -0
  42. package/es/modules/work/work-type/components/ReportsCompletedWorks/state.js +27 -0
  43. package/es/modules/work/work-type/components/ReportsCompletedWorks/state.js.map +1 -0
  44. package/es/modules/work/work-type/components/WorkTypeSelect/index.d.ts +1 -0
  45. package/es/modules/work/work-type/components/WorkTypeSelect/index.js +16 -2
  46. package/es/modules/work/work-type/components/WorkTypeSelect/index.js.map +1 -1
  47. package/es/modules/work/work-type/components/WorkTypeSelect/state.d.ts +5 -0
  48. package/es/modules/work/work-type/components/WorkTypeSelect/state.js +24 -0
  49. package/es/modules/work/work-type/components/WorkTypeSelect/state.js.map +1 -0
  50. package/es/modules/work/work-type/components/WorkTypeStatsLabel/StatsItem.d.ts +11 -0
  51. package/es/modules/work/work-type/components/WorkTypeStatsLabel/StatsItem.js +21 -0
  52. package/es/modules/work/work-type/components/WorkTypeStatsLabel/StatsItem.js.map +1 -0
  53. package/es/modules/work/work-type/components/WorkTypeStatsLabel/index.d.ts +7 -0
  54. package/es/modules/work/work-type/components/WorkTypeStatsLabel/index.js +33 -0
  55. package/es/modules/work/work-type/components/WorkTypeStatsLabel/index.js.map +1 -0
  56. package/es/modules/work/work-type/components/WorkTypeStatsLabel/index.less +74 -0
  57. package/es/modules/work/work-type/controls/WorktypeCompleteWorksChart/WorkTypeCompletedWorksChart.d.ts +6 -0
  58. package/es/modules/work/work-type/controls/WorktypeCompleteWorksChart/WorkTypeCompletedWorksChart.js +85 -0
  59. package/es/modules/work/work-type/controls/WorktypeCompleteWorksChart/WorkTypeCompletedWorksChart.js.map +1 -0
  60. package/es/modules/work/work-type/pages/WorkTypePage/Dashboard.js +32 -9
  61. package/es/modules/work/work-type/pages/WorkTypePage/Dashboard.js.map +1 -1
  62. package/es/modules/work/work-type/pages/WorkTypePage/Works.d.ts +7 -0
  63. package/es/modules/work/work-type/pages/WorkTypePage/Works.js +16 -0
  64. package/es/modules/work/work-type/pages/WorkTypePage/Works.js.map +1 -0
  65. package/es/modules/work/work-type/pages/WorkTypePage/index.js +8 -57
  66. package/es/modules/work/work-type/pages/WorkTypePage/index.js.map +1 -1
  67. package/es/modules/work/work-type/pages/WorkTypePage/index.less +17 -0
  68. package/es/modules/work/work-type/pages/WorkTypePage/state.d.ts +2 -0
  69. package/es/modules/work/work-type/pages/WorkTypePage/state.js +37 -0
  70. package/es/modules/work/work-type/pages/WorkTypePage/state.js.map +1 -1
  71. package/es/obsolete/WorkTypePage/Dashboard.d.ts +5 -0
  72. package/es/obsolete/WorkTypePage/Dashboard.js +18 -0
  73. package/es/obsolete/WorkTypePage/Dashboard.js.map +1 -0
  74. package/es/obsolete/WorkTypePage/Summary.d.ts +5 -0
  75. package/es/obsolete/WorkTypePage/Summary.js +21 -0
  76. package/es/obsolete/WorkTypePage/Summary.js.map +1 -0
  77. package/es/obsolete/WorkTypePage/WorkListPage.d.ts +7 -0
  78. package/es/obsolete/WorkTypePage/WorkListPage.js +25 -0
  79. package/es/obsolete/WorkTypePage/WorkListPage.js.map +1 -0
  80. package/es/obsolete/WorkTypePage/WorkTypeDescriptionCard.d.ts +5 -0
  81. package/es/obsolete/WorkTypePage/WorkTypeDescriptionCard.js +14 -0
  82. package/es/obsolete/WorkTypePage/WorkTypeDescriptionCard.js.map +1 -0
  83. package/es/obsolete/WorkTypePage/index.d.ts +3 -0
  84. package/es/obsolete/WorkTypePage/index.js +181 -0
  85. package/es/obsolete/WorkTypePage/index.js.map +1 -0
  86. package/es/obsolete/WorkTypePage/index.less +57 -0
  87. package/es/obsolete/WorkTypePage/state.d.ts +16 -0
  88. package/es/obsolete/WorkTypePage/state.js +161 -0
  89. package/es/obsolete/WorkTypePage/state.js.map +1 -0
  90. package/package.json +1 -1
@@ -0,0 +1,48 @@
1
+ @import "~@voplus/morpho-theme/styles/index.less";
2
+
3
+ :global {
4
+ .work-table-list-card-page {
5
+ height: 100%;
6
+ display: flex;
7
+ flex-direction: column;
8
+ background-color: #fff;
9
+
10
+ .content {
11
+ padding: 5px 20px 0 20px;
12
+ &.item-card {
13
+ .document-table-list-card {
14
+ height: 550px;
15
+ .work-table-list-card {
16
+ height: 480px;
17
+ }
18
+ }
19
+ }
20
+ .document-table-list-card {
21
+ margin-bottom: 15px;
22
+ }
23
+ }
24
+ .list-view-header-tool {
25
+ padding: 17px 20px 5px;
26
+ .search-header-tool {
27
+ min-width: 160px;
28
+ }
29
+ }
30
+ .work-status-btn {
31
+ // flex: 2.5;
32
+ .ant-btn {
33
+ height: 30px;
34
+ line-height: 20px;
35
+ color: @default-border-color;
36
+ border-radius: @border-radius;
37
+ border: 1px solid @default-border-color;
38
+ margin: 0 15px 10px 0;
39
+
40
+ &.active {
41
+ color: @btn-active-color;
42
+ background: #f4f9ff;
43
+ border-color: @btn-active-color;
44
+ }
45
+ }
46
+ }
47
+ }
48
+ }
@@ -0,0 +1,8 @@
1
+ export declare class State {
2
+ private typesId?;
3
+ active: string;
4
+ searchVal?: string;
5
+ addAble?: boolean;
6
+ constructor(typesId?: string | undefined, status?: string);
7
+ get cardProps(): any;
8
+ }
@@ -0,0 +1,54 @@
1
+ import { __decorate } from "tslib";
2
+ import { computed, makeObservable, observable } from "mobx";
3
+ export class State {
4
+ constructor(typesId, status) {
5
+ Object.defineProperty(this, "typesId", {
6
+ enumerable: true,
7
+ configurable: true,
8
+ writable: true,
9
+ value: typesId
10
+ });
11
+ Object.defineProperty(this, "active", {
12
+ enumerable: true,
13
+ configurable: true,
14
+ writable: true,
15
+ value: "All"
16
+ });
17
+ Object.defineProperty(this, "searchVal", {
18
+ enumerable: true,
19
+ configurable: true,
20
+ writable: true,
21
+ value: void 0
22
+ });
23
+ Object.defineProperty(this, "addAble", {
24
+ enumerable: true,
25
+ configurable: true,
26
+ writable: true,
27
+ value: false
28
+ });
29
+ makeObservable(this);
30
+ this.active = status ? status.charAt(0).toUpperCase() + status.slice(1) : "All";
31
+ }
32
+ get cardProps() {
33
+ return {
34
+ addAble: false,
35
+ details: true,
36
+ typesId: this.typesId,
37
+ scrollH: this.active !== "All" ? 400 : undefined,
38
+ searchVal: this.searchVal,
39
+ };
40
+ }
41
+ }
42
+ __decorate([
43
+ observable
44
+ ], State.prototype, "active", void 0);
45
+ __decorate([
46
+ observable
47
+ ], State.prototype, "searchVal", void 0);
48
+ __decorate([
49
+ observable
50
+ ], State.prototype, "addAble", void 0);
51
+ __decorate([
52
+ computed
53
+ ], State.prototype, "cardProps", null);
54
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../../src/modules/work/components/WorkTableListCardPage/state.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAU,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAEpE,MAAM,OAAO,KAAK;IAKjB,YAAoB,OAAgB,EAAE,MAAe;QAAzC;;;;mBAAQ,OAAO;WAAS;QAJjB;;;;mBAAiB,KAAK;WAAC;QACvB;;;;;WAAmB;QACnB;;;;mBAAoB,KAAK;WAAC;QAG5C,cAAc,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACjF,CAAC;IAES,IAAW,SAAS;QAC7B,OAAO;YACN,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS;YAChD,SAAS,EAAE,IAAI,CAAC,SAAS;SACzB,CAAC;IACH,CAAC;CACD;AAlBmB;IAAlB,UAAU;qCAA+B;AACvB;IAAlB,UAAU;wCAA2B;AACnB;IAAlB,UAAU;sCAAkC;AAOnC;IAAT,QAAQ;sCAQR"}
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ import "./index.less";
3
+ declare const ReportsCompletedWorks: (props: {
4
+ id: string;
5
+ }) => React.JSX.Element;
6
+ export default ReportsCompletedWorks;
@@ -0,0 +1,24 @@
1
+ import { Skeleton } from "antd";
2
+ import React, { useState } from "react";
3
+ import Card from "@voplus/morpho-ui/es/controls/Card";
4
+ import { State } from "./state";
5
+ import { Select } from "antd";
6
+ import { faCalendarDays } from "@fortawesome/free-solid-svg-icons";
7
+ import { FontAwesomeIcon as FAIcon } from "@fortawesome/react-fontawesome";
8
+ import WorktypeCompleteWorksChart from "../../controls/WorktypeCompleteWorksChart/WorkTypeCompletedWorksChart";
9
+ import { observe } from "@voplus/morpho-ui";
10
+ import "./index.less";
11
+ const ReportsCompletedWorks = (props) => {
12
+ const [state] = useState(new State());
13
+ return observe(() => (React.createElement(Card, { className: "reports-completed-works shadow ring-1 ring-black ring-opacity-5" },
14
+ React.createElement("div", { className: "workstats-head" },
15
+ React.createElement("div", null, "Completed Works"),
16
+ React.createElement(Select, { defaultValue: "monthly", onChange: () => { }, prefix: React.createElement(FAIcon, { icon: faCalendarDays }), options: [
17
+ { value: "monthly", label: "Monthly" },
18
+ { value: "yearly", label: "Yearly" },
19
+ ] })),
20
+ React.createElement("div", { className: "workstats-content" }, props.id && (React.createElement(Skeleton, { active: true, loading: !state.estimatedLoaded },
21
+ React.createElement(WorktypeCompleteWorksChart, { id: props.id })))))));
22
+ };
23
+ export default ReportsCompletedWorks;
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/modules/work/work-type/components/ReportsCompletedWorks/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAChC,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,IAAI,MAAM,oCAAoC,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,eAAe,IAAI,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,0BAA0B,MAAM,uEAAuE,CAAC;AAC/G,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,cAAc,CAAC;AAEtB,MAAM,qBAAqB,GAAG,CAAC,KAAqB,EAAE,EAAE;IACvD,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;IAEtC,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CACpB,oBAAC,IAAI,IAAC,SAAS,EAAC,iEAAiE;QAChF,6BAAK,SAAS,EAAC,gBAAgB;YAC9B,mDAA0B;YAC1B,oBAAC,MAAM,IACN,YAAY,EAAC,SAAS,EACtB,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,EAClB,MAAM,EAAE,oBAAC,MAAM,IAAC,IAAI,EAAE,cAAc,GAAI,EACxC,OAAO,EAAE;oBACR,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;oBACtC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;iBACpC,GACA,CACG;QACN,6BAAK,SAAS,EAAC,mBAAmB,IAChC,KAAK,CAAC,EAAE,IAAI,CACZ,oBAAC,QAAQ,IAAC,MAAM,QAAC,OAAO,EAAE,CAAC,KAAK,CAAC,eAAe;YAC/C,oBAAC,0BAA0B,IAAC,EAAE,EAAE,KAAK,CAAC,EAAE,GAAI,CAClC,CACX,CACI,CACA,CACP,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
@@ -0,0 +1,60 @@
1
+ @import "~@voplus/morpho-theme/styles/index.less";
2
+
3
+ :global {
4
+ .reports-completed-works {
5
+ width: 100%;
6
+ height: 100%;
7
+ display: flex;
8
+ flex-direction: column;
9
+ background: #fff;
10
+ border-radius: @border-radius;
11
+ padding: 12px 10px 10px;
12
+
13
+ .workstats-head {
14
+ padding: 0 8px;
15
+ color: #217eb2;
16
+ background: #fff;
17
+ font-size: 16px;
18
+ line-height: 32px;
19
+ font-weight: 600;
20
+ display: flex;
21
+ justify-content: space-between;
22
+ .ant-select {
23
+ width: 135px;
24
+ .ant-select-selector {
25
+ border: 1px solid #217eb2;
26
+ color: #217eb2;
27
+ background: #f4f9ff;
28
+ border-radius: 5px;
29
+ }
30
+ .ant-select-prefix {
31
+ color: #217eb2 !important;
32
+ margin-inline-end: 6px;
33
+ }
34
+ .ant-select-arrow {
35
+ color: #217eb2;
36
+ }
37
+ }
38
+ }
39
+ .workstats-content {
40
+ flex: 1;
41
+ display: flex;
42
+ align-items: end;
43
+ margin-top: 12px;
44
+ border: 1px solid #e6e6e6;
45
+ border-radius: 5px;
46
+ .ant-col > div {
47
+ // height: 340px;
48
+ // min-width: 250px;
49
+ background-color: #ffffff;
50
+ }
51
+ .skelecton-card {
52
+ padding: 15px;
53
+ box-shadow: 2px 2px 5px #e8e8e8;
54
+ }
55
+ .completed-works-chart {
56
+ flex: 1;
57
+ }
58
+ }
59
+ }
60
+ }
@@ -0,0 +1,6 @@
1
+ export declare class State {
2
+ estimatedLoaded: boolean;
3
+ constructor();
4
+ /** reload Estimated data */
5
+ onEstimatedReload(): void;
6
+ }
@@ -0,0 +1,27 @@
1
+ import { __decorate } from "tslib";
2
+ import { action, makeObservable, observable, runInAction } from "mobx";
3
+ export class State {
4
+ constructor() {
5
+ Object.defineProperty(this, "estimatedLoaded", {
6
+ enumerable: true,
7
+ configurable: true,
8
+ writable: true,
9
+ value: true
10
+ });
11
+ makeObservable(this);
12
+ }
13
+ /** reload Estimated data */
14
+ onEstimatedReload() {
15
+ this.estimatedLoaded = false;
16
+ setTimeout(() => {
17
+ runInAction(() => (this.estimatedLoaded = true));
18
+ }, 100);
19
+ }
20
+ }
21
+ __decorate([
22
+ observable
23
+ ], State.prototype, "estimatedLoaded", void 0);
24
+ __decorate([
25
+ action
26
+ ], State.prototype, "onEstimatedReload", null);
27
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../../../src/modules/work/work-type/components/ReportsCompletedWorks/state.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAEvE,MAAM,OAAO,KAAK;IAGjB;QAFmB;;;;mBAAkB,IAAI;WAAC;QAGzC,cAAc,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,4BAA4B;IAErB,iBAAiB;QACvB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,UAAU,CAAC,GAAG,EAAE;YACf,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC,CAAC;QAClD,CAAC,EAAE,GAAG,CAAC,CAAC;IACT,CAAC;CACD;AAdmB;IAAlB,UAAU;8CAA+B;AAQnC;IADN,MAAM;8CAMN"}
@@ -6,5 +6,6 @@ declare const WorkTypeSelect: (props: {
6
6
  autoFocus?: boolean;
7
7
  onBlur?: () => void;
8
8
  style?: CSSProperties;
9
+ defaultValue?: string;
9
10
  }) => React.JSX.Element;
10
11
  export default WorkTypeSelect;
@@ -1,10 +1,12 @@
1
1
  import { useWorkTypeListEffect } from "../../../../../data/worktype";
2
2
  import React, { useState } from "react";
3
+ import { State } from "./state";
3
4
  import { Select } from "antd";
4
5
  import { observe } from "@voplus/morpho-ui";
5
6
  import { useCreateListDataState } from "@voplus/morpho-ui/es/data";
6
7
  const WorkTypeSelect = (props) => {
7
8
  const { onChange, style, open } = props;
9
+ const [state] = useState(new State(props.defaultValue));
8
10
  const [workTypeData, setWorkTypeData] = useState([]);
9
11
  const [timer, setTimer] = useState();
10
12
  const list = useCreateListDataState({
@@ -17,8 +19,18 @@ const WorkTypeSelect = (props) => {
17
19
  useWorkTypeListEffect(null, (result) => {
18
20
  list.union(result);
19
21
  setWorkTypeData(result);
22
+ if (props.defaultValue) {
23
+ const workType = result.find((d) => d.id === props.defaultValue);
24
+ if (workType) {
25
+ onChange === null || onChange === void 0 ? void 0 : onChange(props.defaultValue, workType);
26
+ state.value = props.defaultValue;
27
+ }
28
+ else {
29
+ state.value = undefined;
30
+ }
31
+ }
20
32
  }, list.filters.options);
21
- return observe(() => (React.createElement(Select, { showSearch: true, style: { width: "100%", ...style }, loading: list.loading, filterOption: false, open: open, autoFocus: props.autoFocus, placeholder: "Select Work Type", onSearch: onSearch, onChange: handleChange, onBlur: props.onBlur, optionLabelProp: "label", options: workTypeData.map((item) => {
33
+ return observe(() => (React.createElement(Select, { showSearch: true, style: { width: "100%", ...style }, loading: list.loading, filterOption: false, open: open, autoFocus: props.autoFocus, placeholder: "Select Work Type", onSearch: onSearch, onChange: handleChange, onBlur: props.onBlur, optionLabelProp: "label", value: state.value, options: workTypeData.map((item) => {
22
34
  var _a;
23
35
  return {
24
36
  value: item.id,
@@ -38,8 +50,10 @@ const WorkTypeSelect = (props) => {
38
50
  }
39
51
  function handleChange(id) {
40
52
  const workType = list.data.find((d) => d.id === id);
41
- if (workType)
53
+ if (workType) {
54
+ state.value = id;
42
55
  onChange === null || onChange === void 0 ? void 0 : onChange(id, workType);
56
+ }
43
57
  }
44
58
  };
45
59
  export default WorkTypeSelect;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/modules/work/work-type/components/WorkTypeSelect/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/modules/work/work-type/components/WorkTypeSelect/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export declare class State {
2
+ private _defaultValue?;
3
+ value?: string;
4
+ constructor(_defaultValue?: string | undefined);
5
+ }
@@ -0,0 +1,24 @@
1
+ import { __decorate } from "tslib";
2
+ import { makeObservable, observable } from "mobx";
3
+ export class State {
4
+ constructor(_defaultValue) {
5
+ Object.defineProperty(this, "_defaultValue", {
6
+ enumerable: true,
7
+ configurable: true,
8
+ writable: true,
9
+ value: _defaultValue
10
+ });
11
+ Object.defineProperty(this, "value", {
12
+ enumerable: true,
13
+ configurable: true,
14
+ writable: true,
15
+ value: void 0
16
+ });
17
+ makeObservable(this);
18
+ this.value = this._defaultValue;
19
+ }
20
+ }
21
+ __decorate([
22
+ observable
23
+ ], State.prototype, "value", void 0);
24
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../../../src/modules/work/work-type/components/WorkTypeSelect/state.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAElD,MAAM,OAAO,KAAK;IAGjB,YAAoB,aAAsB;QAA9B;;;;mBAAQ,aAAa;WAAS;QAFvB;;;;;WAAe;QAGjC,cAAc,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC;IACjC,CAAC;CACD;AANmB;IAAlB,UAAU;oCAAuB"}
@@ -0,0 +1,11 @@
1
+ import React from "react";
2
+ import { IconProp } from "@fortawesome/fontawesome-svg-core";
3
+ import "./index.less";
4
+ declare const StatsItem: (props: {
5
+ className?: string;
6
+ icon: IconProp;
7
+ total: number;
8
+ status: string;
9
+ typesId: string;
10
+ }) => React.JSX.Element;
11
+ export default StatsItem;
@@ -0,0 +1,21 @@
1
+ import React from "react";
2
+ import { observe } from "@voplus/morpho-ui";
3
+ import { FontAwesomeIcon as FAIcon } from "@fortawesome/react-fontawesome";
4
+ import { Open } from "@voplus/morpho-org/es/controls/ToolBar/items";
5
+ import classnames from "classnames";
6
+ import "./index.less";
7
+ const StatsItem = (props) => {
8
+ const { className, icon, total, status, typesId } = props;
9
+ return observe(() => (React.createElement("div", { className: classnames("stats-item", className, status.charAt(0).toLowerCase() + status.slice(1)) },
10
+ React.createElement("div", { className: "stats-icon" },
11
+ React.createElement(FAIcon, { icon: icon })),
12
+ React.createElement("div", { className: "stats-content" },
13
+ React.createElement("div", { className: "stats-info" },
14
+ React.createElement("span", { className: "total" }, total),
15
+ status === "all" ? "Works" : status,
16
+ React.createElement("div", null, status === "all" ? "In Total" : "Total Works"))),
17
+ React.createElement("div", { className: "stats-open" },
18
+ React.createElement(Open, { url: `/work-types-page/${typesId}/works/${status.charAt(0).toLowerCase() + status.slice(1)}` })))));
19
+ };
20
+ export default StatsItem;
21
+ //# sourceMappingURL=StatsItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatsItem.js","sourceRoot":"","sources":["../../../../../../src/modules/work/work-type/components/WorkTypeStatsLabel/StatsItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,eAAe,IAAI,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAE3E,OAAO,EAAE,IAAI,EAAE,MAAM,8CAA8C,CAAC;AACpE,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,cAAc,CAAC;AAEtB,MAAM,SAAS,GAAG,CAAC,KAMlB,EAAE,EAAE;IACJ,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAE1D,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CACpB,6BACC,SAAS,EAAE,UAAU,CACpB,YAAY,EACZ,SAAS,EACT,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAChD;QAED,6BAAK,SAAS,EAAC,YAAY;YAC1B,oBAAC,MAAM,IAAC,IAAI,EAAE,IAAI,GAAI,CACjB;QACN,6BAAK,SAAS,EAAC,eAAe;YAC7B,6BAAK,SAAS,EAAC,YAAY;gBAC1B,8BAAM,SAAS,EAAC,OAAO,IAAE,KAAK,CAAQ;gBACrC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;gBACpC,iCAAM,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAO,CACrD,CACD;QACN,6BAAK,SAAS,EAAC,YAAY;YAC1B,oBAAC,IAAI,IACJ,GAAG,EAAE,oBAAoB,OAAO,UAC/B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAChD,EAAE,GACD,CACG,CACD,CACN,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ import "./index.less";
3
+ declare const WorkTypeStatsLabel: (props: {
4
+ id: string;
5
+ typesId: string;
6
+ }) => React.JSX.Element;
7
+ export default WorkTypeStatsLabel;
@@ -0,0 +1,33 @@
1
+ import React, { useMemo } from "react";
2
+ import Card from "@voplus/morpho-ui/es/controls/Card";
3
+ import { faPlus, faPen, faCheck, faBarsProgress } from "@fortawesome/pro-solid-svg-icons";
4
+ import { observe } from "@voplus/morpho-ui";
5
+ import { useWorkListEffect } from "../../../../../data/work";
6
+ import { State } from "../../pages/WorkTypePage/state";
7
+ import StatsItem from "./StatsItem";
8
+ import { runInAction } from "mobx";
9
+ import "./index.less";
10
+ const WorkTypeStatsLabel = (props) => {
11
+ const { typesId } = props;
12
+ const state = useMemo(() => new State(props.id), []);
13
+ useWorkListEffect(null, (result, total) => {
14
+ runInAction(() => (state.workStatusTotals.new = total || 0));
15
+ }, state.nNewOptions);
16
+ useWorkListEffect(null, (result, total) => {
17
+ runInAction(() => (state.workStatusTotals.active = total || 0));
18
+ }, state.nActiveOptions);
19
+ useWorkListEffect(null, (result, total) => {
20
+ runInAction(() => (state.workStatusTotals.draft = total || 0));
21
+ }, state.nDraftOptions);
22
+ useWorkListEffect(null, (result, total) => {
23
+ runInAction(() => (state.workStatusTotals.works = total || 0));
24
+ }, state.nWorksOptions);
25
+ return observe(() => (React.createElement(Card, { className: "work-type-stats-label shadow ring-1 ring-black ring-opacity-5" },
26
+ React.createElement(StatsItem, { icon: faPen, total: state.workStatusTotals.draft, status: "Draft", typesId: typesId }),
27
+ React.createElement(StatsItem, { icon: faPlus, total: state.workStatusTotals.new, status: "New", typesId: typesId }),
28
+ React.createElement(StatsItem, { icon: faCheck, total: state.workStatusTotals.active, status: "Active", typesId: typesId }),
29
+ React.createElement(StatsItem, { icon: faBarsProgress, total: state.workStatusTotals.works, status: "All", typesId: typesId }),
30
+ React.createElement("div", { className: "description" }, "Lates Update on 13 August 2024"))));
31
+ };
32
+ export default WorkTypeStatsLabel;
33
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/modules/work/work-type/components/WorkTypeStatsLabel/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ @import "~@voplus/morpho-theme/styles/index.less";
2
+
3
+ :global {
4
+ .work-type-stats-label {
5
+ background: #fff;
6
+ border-radius: @border-radius;
7
+ padding: 10px;
8
+
9
+ .stats-item {
10
+ height: 60px;
11
+ background: #fff4f4;
12
+ border-radius: 5px;
13
+ padding: 10px;
14
+ display: flex;
15
+ margin-bottom: 15px;
16
+ &.new {
17
+ background: #f4f9ff;
18
+ .stats-icon {
19
+ color: #217eb4;
20
+ }
21
+ }
22
+ &.active {
23
+ background: #eaffee;
24
+ .stats-icon {
25
+ color: #217eb4;
26
+ }
27
+ }
28
+ &.all {
29
+ background: #fffdea;
30
+ margin-bottom: 8px;
31
+ .stats-icon {
32
+ color: #b2a722;
33
+ }
34
+ }
35
+ .stats-icon {
36
+ width: 37px;
37
+ height: 37px;
38
+ color: #b22121;
39
+ font-size: 15px;
40
+ background: #ffffff;
41
+ border-radius: 50%;
42
+ display: flex;
43
+ justify-content: center;
44
+ align-items: center;
45
+ margin-right: 15px;
46
+ }
47
+ .stats-content {
48
+ flex: 1;
49
+ font-size: 10px;
50
+ color: #5d5d5d;
51
+ line-height: 14px;
52
+ .total {
53
+ font-size: 20px;
54
+ line-height: 25px;
55
+ font-weight: bold;
56
+ margin-right: 6px;
57
+ }
58
+ }
59
+ .stats-open {
60
+ .ant-btn {
61
+ font-size: 12px;
62
+ color: #dedede;
63
+ padding: 0;
64
+ }
65
+ }
66
+ }
67
+
68
+ .description {
69
+ color: #868686;
70
+ font-weight: 500;
71
+ line-height: 19px;
72
+ }
73
+ }
74
+ }
@@ -0,0 +1,6 @@
1
+ import "./index.less";
2
+ import React from "react";
3
+ declare const WorkTypeCompletedWorksChart: (props: {
4
+ id: string;
5
+ }) => React.JSX.Element;
6
+ export default WorkTypeCompletedWorksChart;
@@ -0,0 +1,85 @@
1
+ import "./index.less";
2
+ import { Empty, Spin } from "antd";
3
+ import { useWorkTypeCompletedWork, } from "../../../../../data/worktype/useWorkTypeCompletedWorkEffect";
4
+ import React, { useEffect, useRef, useState } from "react";
5
+ import { Column } from "@antv/g2plot";
6
+ import { LoadingOutlined } from "@ant-design/icons";
7
+ import { State } from "./state";
8
+ import dayjs from "dayjs";
9
+ import { observe } from "@voplus/morpho-ui";
10
+ const WorkTypeCompletedWorksChart = (props) => {
11
+ const { id } = props;
12
+ const divEl = useRef(null);
13
+ const [state] = useState(new State());
14
+ const [columnData, setColumnData] = useState([]);
15
+ const data1 = [
16
+ { date: "Jan", total: 20 },
17
+ { date: "Feb", total: 18 },
18
+ { date: "Mar", total: 30 },
19
+ { date: "Apr", total: 20 },
20
+ { date: "May", total: 80 },
21
+ { date: "Jun", total: 62 },
22
+ { date: "Jul", total: 32 },
23
+ { date: "Aug", total: 30 },
24
+ { date: "Sept", total: 20 },
25
+ { date: "Oct", total: 50 },
26
+ { date: "Nov", total: 0 },
27
+ { date: "Dec", total: 18 },
28
+ ];
29
+ useWorkTypeCompletedWork(id, (list) => {
30
+ const data = [];
31
+ list.map((i) => {
32
+ data.push({ date: dayjs(i.date).format("DD MMM"), total: i.total });
33
+ });
34
+ // setColumnData(data);
35
+ setColumnData(data1);
36
+ state.loading = false;
37
+ });
38
+ useEffect(() => {
39
+ if (state.columnPlot) {
40
+ state.columnPlot.update({
41
+ data: columnData,
42
+ });
43
+ }
44
+ else if (divEl.current && columnData.length) {
45
+ state.columnPlot = new Column(divEl.current, {
46
+ data: columnData,
47
+ xField: "date",
48
+ // 图形在 x 方向对应的数据字段名
49
+ yField: "total",
50
+ label: {
51
+ // 可手动配置 label 数据标签位置
52
+ position: "middle", // 'top', 'bottom', 'middle',
53
+ // 配置样式
54
+ style: {
55
+ fill: "#FFFFFF",
56
+ opacity: 0.6,
57
+ },
58
+ },
59
+ xAxis: {
60
+ label: {
61
+ autoHide: true,
62
+ autoRotate: false,
63
+ },
64
+ },
65
+ // 数据的类型和展示方式
66
+ meta: {
67
+ date: {
68
+ alias: "日期",
69
+ },
70
+ total: {
71
+ alias: "Done Works",
72
+ },
73
+ },
74
+ height: 200,
75
+ });
76
+ state.columnPlot.render();
77
+ }
78
+ }, [columnData]);
79
+ return observe(() => (React.createElement("div", { className: "completed-works-chart" },
80
+ React.createElement("div", { ref: divEl }),
81
+ state.loading ? (React.createElement("div", { className: "card-loading" },
82
+ React.createElement(Spin, { indicator: React.createElement(LoadingOutlined, null) }))) : !columnData.length ? (React.createElement(Empty, { image: Empty.PRESENTED_IMAGE_SIMPLE })) : null)));
83
+ };
84
+ export default WorkTypeCompletedWorksChart;
85
+ //# sourceMappingURL=WorkTypeCompletedWorksChart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkTypeCompletedWorksChart.js","sourceRoot":"","sources":["../../../../../../src/modules/work/work-type/controls/WorktypeCompleteWorksChart/WorkTypeCompletedWorksChart.tsx"],"names":[],"mappings":"AAAA,OAAO,cAAc,CAAC;AACtB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,EAEN,wBAAwB,GACxB,MAAM,6DAA6D,CAAC;AACrE,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,MAAM,2BAA2B,GAAG,CAAC,KAAqB,EAAE,EAAE;IAC7D,MAAM,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC;IACrB,MAAM,KAAK,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC3C,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;IACtC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAA2B,EAAE,CAAC,CAAC;IAE3E,MAAM,KAAK,GAAG;QACb,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;QAC1B,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;QAC1B,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;QAC1B,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;QAC1B,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;QAC1B,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;QAC1B,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;QAC1B,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;QAC1B,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE;QAC3B,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;QAC1B,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE;QACzB,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE;KAC1B,CAAC;IAEF,wBAAwB,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE;QACrC,MAAM,IAAI,GAAG,EAA8B,CAAC;QAC5C,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACd,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;QACH,uBAAuB;QACvB,aAAa,CAAC,KAAK,CAAC,CAAC;QACrB,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACd,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACtB,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;gBACvB,IAAI,EAAE,UAAU;aAChB,CAAC,CAAC;QACJ,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YAC/C,KAAK,CAAC,UAAU,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE;gBAC5C,IAAI,EAAE,UAAU;gBAChB,MAAM,EAAE,MAAM;gBACd,mBAAmB;gBACnB,MAAM,EAAE,OAAO;gBACf,KAAK,EAAE;oBACN,qBAAqB;oBACrB,QAAQ,EAAE,QAAQ,EAAE,6BAA6B;oBACjD,OAAO;oBACP,KAAK,EAAE;wBACN,IAAI,EAAE,SAAS;wBACf,OAAO,EAAE,GAAG;qBACZ;iBACD;gBACD,KAAK,EAAE;oBACN,KAAK,EAAE;wBACN,QAAQ,EAAE,IAAI;wBACd,UAAU,EAAE,KAAK;qBACjB;iBACD;gBACD,aAAa;gBACb,IAAI,EAAE;oBACL,IAAI,EAAE;wBACL,KAAK,EAAE,IAAI;qBACX;oBACD,KAAK,EAAE;wBACN,KAAK,EAAE,YAAY;qBACnB;iBACD;gBACD,MAAM,EAAE,GAAG;aACX,CAAC,CAAC;YACH,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QAC3B,CAAC;IACF,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CACpB,6BAAK,SAAS,EAAC,uBAAuB;QACrC,6BAAK,GAAG,EAAE,KAAK,GAAI;QAClB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAChB,6BAAK,SAAS,EAAC,cAAc;YAC5B,oBAAC,IAAI,IAAC,SAAS,EAAE,oBAAC,eAAe,OAAG,GAAI,CACnC,CACN,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CACxB,oBAAC,KAAK,IAAC,KAAK,EAAE,KAAK,CAAC,sBAAsB,GAAI,CAC9C,CAAC,CAAC,CAAC,IAAI,CACH,CACN,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,2BAA2B,CAAC"}