@voplus/morpho-workspace 6.1.24 → 6.1.26
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/es/data/work-schedule/WorkScheduleStore.d.ts +7 -1
- package/es/data/work-schedule/WorkScheduleStore.js +12 -4
- package/es/data/work-schedule/WorkScheduleStore.js.map +1 -1
- package/es/modules/board/components/BoardColumn/index.less +0 -4
- package/es/modules/tasks/components/TaskOverview/index.d.ts +1 -4
- package/es/modules/tasks/components/TaskOverview/index.js +15 -19
- package/es/modules/tasks/components/TaskOverview/index.js.map +1 -1
- package/es/modules/tasks/pages/TaskListPage/index.js +35 -24
- package/es/modules/tasks/pages/TaskListPage/index.js.map +1 -1
- package/es/modules/tasks/pages/TaskListPage/state.d.ts +6 -8
- package/es/modules/tasks/pages/TaskListPage/state.js +55 -72
- package/es/modules/tasks/pages/TaskListPage/state.js.map +1 -1
- package/es/modules/work/components/WorkOverview/index.d.ts +1 -4
- package/es/modules/work/components/WorkOverview/index.js +15 -21
- package/es/modules/work/components/WorkOverview/index.js.map +1 -1
- package/es/modules/work/components/WorkPanel/index.js +13 -14
- package/es/modules/work/components/WorkPanel/index.js.map +1 -1
- package/es/modules/work/pages/WorkListPage2/index.js +40 -29
- package/es/modules/work/pages/WorkListPage2/index.js.map +1 -1
- package/es/modules/work/pages/WorkListPage2/state.d.ts +5 -6
- package/es/modules/work/pages/WorkListPage2/state.js +68 -70
- package/es/modules/work/pages/WorkListPage2/state.js.map +1 -1
- package/es/modules/work/work-schedule/components/WorkScheduleOverview/index.d.ts +1 -4
- package/es/modules/work/work-schedule/components/WorkScheduleOverview/index.js +15 -17
- package/es/modules/work/work-schedule/components/WorkScheduleOverview/index.js.map +1 -1
- package/es/modules/work/work-schedule/pages/WorkScheduleListPage/index.js +34 -23
- package/es/modules/work/work-schedule/pages/WorkScheduleListPage/index.js.map +1 -1
- package/es/modules/work/work-schedule/pages/WorkScheduleListPage/state.d.ts +7 -6
- package/es/modules/work/work-schedule/pages/WorkScheduleListPage/state.js +89 -73
- package/es/modules/work/work-schedule/pages/WorkScheduleListPage/state.js.map +1 -1
- package/package.json +1 -1
- package/es/modules/tasks/components/TaskOverview/state.d.ts +0 -8
- package/es/modules/tasks/components/TaskOverview/state.js +0 -65
- package/es/modules/tasks/components/TaskOverview/state.js.map +0 -1
- package/es/modules/work/components/WorkOverview/state.d.ts +0 -8
- package/es/modules/work/components/WorkOverview/state.js +0 -65
- package/es/modules/work/components/WorkOverview/state.js.map +0 -1
- package/es/modules/work/work-schedule/components/WorkScheduleOverview/state.d.ts +0 -8
- package/es/modules/work/work-schedule/components/WorkScheduleOverview/state.js +0 -63
- package/es/modules/work/work-schedule/components/WorkScheduleOverview/state.js.map +0 -1
@@ -1,24 +1,23 @@
|
|
1
1
|
import React from "react";
|
2
2
|
import { Tabs } from "antd";
|
3
3
|
import { observe } from "@voplus/morpho-ui";
|
4
|
-
import { useApplicationContext } from "@voplus/morpho-data";
|
5
4
|
import WorkOverview from "../WorkOverview";
|
6
5
|
import GeneralFilterForm from "@voplus/morpho-document/es/modules/quick-access/GeneralFilterForm";
|
7
6
|
import "./index.less";
|
8
7
|
const WorkPanel = (props) => {
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
8
|
+
return observe(() => (React.createElement("div", { className: "work-panel" },
|
9
|
+
React.createElement(Tabs, { defaultActiveKey: "Overview", items: [
|
10
|
+
{
|
11
|
+
key: "Overview",
|
12
|
+
label: "Overview",
|
13
|
+
children: React.createElement(WorkOverview, { ...props.overviewProps }),
|
14
|
+
},
|
15
|
+
{
|
16
|
+
key: "Filter",
|
17
|
+
label: "Filter",
|
18
|
+
children: React.createElement(GeneralFilterForm, { id: "WorkNode", ...props.workFilterProps }),
|
19
|
+
},
|
20
|
+
] }))));
|
22
21
|
};
|
23
22
|
export default WorkPanel;
|
24
23
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/work/components/WorkPanel/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/work/components/WorkPanel/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,YAAmC,MAAM,iBAAiB,CAAC;AAClE,OAAO,iBAAiB,MAAM,mEAAmE,CAAC;AAClG,OAAO,cAAc,CAAC;AAEtB,MAAM,SAAS,GAAG,CAAC,KAKlB,EAAE,EAAE;IACJ,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CACpB,6BAAK,SAAS,EAAC,YAAY;QAC1B,oBAAC,IAAI,IACJ,gBAAgB,EAAC,UAAU,EAC3B,KAAK,EAAE;gBACN;oBACC,GAAG,EAAE,UAAU;oBACf,KAAK,EAAE,UAAU;oBACjB,QAAQ,EAAE,oBAAC,YAAY,OAAK,KAAK,CAAC,aAAa,GAAI;iBACnD;gBACD;oBACC,GAAG,EAAE,QAAQ;oBACb,KAAK,EAAE,QAAQ;oBACf,QAAQ,EAAE,oBAAC,iBAAiB,IAAC,EAAE,EAAC,UAAU,KAAK,KAAK,CAAC,eAAe,GAAI;iBACxE;aACD,GACA,CACG,CACN,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import React, { useState } from "react";
|
1
|
+
import React, { useState, useMemo, useEffect } from "react";
|
2
2
|
import { faBriefcase } from "@fortawesome/pro-solid-svg-icons";
|
3
3
|
import { FontAwesomeIcon as FAIcon } from "@fortawesome/react-fontawesome";
|
4
4
|
import PageHeadDashboard from "@voplus/morpho-ui/es/components/layout/headers/PageHeadDashboard";
|
@@ -10,41 +10,52 @@ import { State } from "./state";
|
|
10
10
|
import styles from "./index.less";
|
11
11
|
import { useApplicationContext } from "@voplus/morpho-data";
|
12
12
|
import FilterLabel from "@voplus/morpho-ui/es/controls/FilterLabel";
|
13
|
+
import { useWorkStore } from "../../../../data/work";
|
14
|
+
import { QuickFilterContext, QuickFilterContextState, } from "@voplus/morpho-ui/es/data/QuickFilterContext";
|
13
15
|
import DocumentTabs from "@voplus/morpho-document/es/components/DocumentTabs";
|
14
16
|
import ActivityLog from "@voplus/morpho-org/es/components/ActivityLog2/ActivityLog2";
|
15
17
|
const WorkListPage = (props) => {
|
16
|
-
const
|
18
|
+
const useContext = useApplicationContext();
|
19
|
+
const store = useWorkStore();
|
17
20
|
const [state] = useState(new State(props.contactId));
|
18
21
|
const [activeKey, setActiveKey] = useState("WorkList");
|
22
|
+
const context = useMemo(() => new QuickFilterContextState({
|
23
|
+
store: store,
|
24
|
+
listFilterOptions: state.listFilterOptions,
|
25
|
+
}), []);
|
26
|
+
useEffect(() => {
|
27
|
+
context.loadCounts();
|
28
|
+
}, []);
|
19
29
|
return observe(() => {
|
20
30
|
var _a, _b, _c;
|
21
|
-
return (React.createElement(
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
31
|
+
return (React.createElement(QuickFilterContext.Provider, { value: context },
|
32
|
+
React.createElement(DefaultViewLayout, { className: styles["work-list-page"], header: React.createElement(PageHeadDashboard, { avatarIcon: React.createElement(FAIcon, { icon: faBriefcase }), title: "Works", upAble: true, description: "Your tasks: prioritize and complete your work" }), propertiesWidth: "295px", properties: React.createElement(WorkPanel, { overviewProps: {
|
33
|
+
onOverviewItemClick: () => state.onOverviewItemClick(context.actives),
|
34
|
+
}, workFilterProps: {
|
35
|
+
onFilter(options) {
|
36
|
+
state.onFilterOptions(options);
|
37
|
+
},
|
38
|
+
} }) },
|
39
|
+
React.createElement(DocumentTabs, { id: "", active: "WorkList", tabItems: [
|
40
|
+
{
|
41
|
+
key: "WorkList",
|
42
|
+
label: "Work List",
|
43
|
+
children: (React.createElement(WorkList2, { ...props, workHeaderProps: {
|
44
|
+
addAble: true,
|
45
|
+
}, asideable: false, filterVisible: false, filterOptions: state.filerOptions, onTotal: (total) => context.onChangeTotal(total) })),
|
46
|
+
},
|
47
|
+
{
|
48
|
+
key: "Activities",
|
49
|
+
label: "Activities",
|
50
|
+
children: (React.createElement(React.Fragment, null, activeKey === "Activities" ? (React.createElement(ActivityLog, { id: "", bar: false, typeOptions: {
|
51
|
+
type: "work",
|
52
|
+
contactId: (_a = props.contactId) !== null && _a !== void 0 ? _a : useContext.user.info.unit.id,
|
53
|
+
} })) : null)),
|
54
|
+
},
|
55
|
+
], onChange: (key) => setActiveKey(key), tabBarExtraContent: activeKey === "WorkList" ? (React.createElement("div", { className: "list-tabBar-filter" }, ((_b = context.actives) === null || _b === void 0 ? void 0 : _b.includes("All")) ? ("Showed: Total All Works") : ((_c = context.actives) === null || _c === void 0 ? void 0 : _c.length) ? (React.createElement(FilterLabel, { status: context.actives, maxCount: 2, onFilter: (s) => {
|
56
|
+
context.onFilterLabel(s);
|
57
|
+
state.onOverviewItemClick(context.actives);
|
58
|
+
} })) : undefined)) : undefined }))));
|
48
59
|
});
|
49
60
|
};
|
50
61
|
export default WorkListPage;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/work/pages/WorkListPage2/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/work/pages/WorkListPage2/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,eAAe,IAAI,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,iBAAiB,MAAM,kEAAkE,CAAC;AACjG,OAAO,iBAAiB,MAAM,0DAA0D,CAAC;AACzF,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,SAA4B,MAAM,4BAA4B,CAAC;AACtE,OAAO,SAAS,MAAM,4BAA4B,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,WAAW,MAAM,2CAA2C,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EACN,kBAAkB,EAClB,uBAAuB,GACvB,MAAM,8CAA8C,CAAC;AACtD,OAAO,YAAY,MAAM,oDAAoD,CAAC;AAC9E,OAAO,WAAW,MAAM,4DAA4D,CAAC;AAErF,MAAM,YAAY,GAAG,CAAC,KAAoB,EAAE,EAAE;IAC7C,MAAM,UAAU,GAAG,qBAAqB,EAAE,CAAC;IAC3C,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC;IAC7B,MAAM,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IACrD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAS,UAAU,CAAC,CAAC;IAE/D,MAAM,OAAO,GAAG,OAAO,CACtB,GAAG,EAAE,CACJ,IAAI,uBAAuB,CAAC;QAC3B,KAAK,EAAE,KAAK;QACZ,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;KAC1C,CAAC,EACH,EAAE,CACF,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACd,OAAO,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,OAAO,CAAC,GAAG,EAAE;;QAAC,OAAA,CACpB,oBAAC,kBAAkB,CAAC,QAAQ,IAAC,KAAK,EAAE,OAAO;YAC1C,oBAAC,iBAAiB,IACjB,SAAS,EAAE,MAAM,CAAC,gBAAgB,CAAC,EACnC,MAAM,EACL,oBAAC,iBAAiB,IACjB,UAAU,EAAE,oBAAC,MAAM,IAAC,IAAI,EAAE,WAAW,GAAI,EACzC,KAAK,EAAC,OAAO,EACb,MAAM,QACN,WAAW,EAAC,+CAA+C,GAC1D,EAEH,eAAe,EAAC,OAAO,EACvB,UAAU,EACT,oBAAC,SAAS,IACT,aAAa,EAAE;wBACd,mBAAmB,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC;qBACrE,EACD,eAAe,EAAE;wBAChB,QAAQ,CAAC,OAAO;4BACf,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;wBAChC,CAAC;qBACD,GACA;gBAGH,oBAAC,YAAY,IACZ,EAAE,EAAC,EAAE,EACL,MAAM,EAAC,UAAU,EACjB,QAAQ,EAAE;wBACT;4BACC,GAAG,EAAE,UAAU;4BACf,KAAK,EAAE,WAAW;4BAClB,QAAQ,EAAE,CACT,oBAAC,SAAS,OACL,KAAK,EACT,eAAe,EAAE;oCAChB,OAAO,EAAE,IAAI;iCACb,EACD,SAAS,EAAE,KAAK,EAChB,aAAa,EAAE,KAAK,EACpB,aAAa,EAAE,KAAK,CAAC,YAAY,EACjC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,GAC/C,CACF;yBACD;wBACD;4BACC,GAAG,EAAE,YAAY;4BACjB,KAAK,EAAE,YAAY;4BACnB,QAAQ,EAAE,CACT,0CACE,SAAS,KAAK,YAAY,CAAC,CAAC,CAAC,CAC7B,oBAAC,WAAW,IACX,EAAE,EAAC,EAAE,EACL,GAAG,EAAE,KAAK,EACV,WAAW,EAAE;oCACZ,IAAI,EAAE,MAAM;oCACZ,SAAS,EAAE,MAAA,KAAK,CAAC,SAAS,mCAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;iCAC1D,GACA,CACF,CAAC,CAAC,CAAC,IAAI,CACN,CACH;yBACD;qBACD,EACD,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,EACpC,kBAAkB,EACjB,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,CAC1B,6BAAK,SAAS,EAAC,oBAAoB,IACjC,CAAA,MAAA,OAAO,CAAC,OAAO,0CAAE,QAAQ,CAAC,KAAK,CAAC,EAAC,CAAC,CAAC,CACnC,yBAAyB,CACzB,CAAC,CAAC,CAAC,CAAA,MAAA,OAAO,CAAC,OAAO,0CAAE,MAAM,EAAC,CAAC,CAAC,CAC7B,oBAAC,WAAW,IACX,MAAM,EAAE,OAAO,CAAC,OAAO,EACvB,QAAQ,EAAE,CAAC,EACX,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE;4BACf,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;4BACzB,KAAK,CAAC,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;wBAC5C,CAAC,GACA,CACF,CAAC,CAAC,CAAC,SAAS,CACR,CACN,CAAC,CAAC,CAAC,SAAS,GAEb,CACiB,CACS,CAC9B,CAAA;KAAA,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
@@ -1,15 +1,14 @@
|
|
1
1
|
import { FilterOption } from "@voplus/morpho-data";
|
2
|
+
import { ListFilterOptions } from "@voplus/morpho-ui/es/data/QuickFilterContext";
|
2
3
|
export declare class State {
|
3
4
|
private contactId?;
|
4
5
|
/** 默认值 */
|
5
6
|
filerOptions?: FilterOption[];
|
6
|
-
|
7
|
-
|
7
|
+
listFilterOptions?: ListFilterOptions[];
|
8
|
+
defaultFilter: FilterOption[];
|
9
|
+
private overdueFilter;
|
8
10
|
constructor(contactId?: string | undefined);
|
9
11
|
onFilterOptions(options?: FilterOption[]): void;
|
10
|
-
onDueItemClick(d: "overdue" | "week" | "month"): void;
|
11
12
|
onOverviewItemClick(s?: string[]): void;
|
12
|
-
|
13
|
-
get statusFilerOptions(): FilterOption[];
|
14
|
-
get dateFilerOptions(): FilterOption[];
|
13
|
+
getDateF(date: "week" | "month"): FilterOption;
|
15
14
|
}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { __decorate } from "tslib";
|
2
|
-
import { action, makeObservable, observable,
|
2
|
+
import { action, makeObservable, observable, toJS } from "mobx";
|
3
3
|
import dayjs from "dayjs";
|
4
4
|
export class State {
|
5
5
|
constructor(contactId) {
|
@@ -16,85 +16,89 @@ export class State {
|
|
16
16
|
writable: true,
|
17
17
|
value: void 0
|
18
18
|
});
|
19
|
-
Object.defineProperty(this, "
|
19
|
+
Object.defineProperty(this, "listFilterOptions", {
|
20
|
+
enumerable: true,
|
21
|
+
configurable: true,
|
22
|
+
writable: true,
|
23
|
+
value: void 0
|
24
|
+
});
|
25
|
+
Object.defineProperty(this, "defaultFilter", {
|
20
26
|
enumerable: true,
|
21
27
|
configurable: true,
|
22
28
|
writable: true,
|
23
29
|
value: []
|
24
30
|
});
|
25
|
-
Object.defineProperty(this, "
|
31
|
+
Object.defineProperty(this, "overdueFilter", {
|
26
32
|
enumerable: true,
|
27
33
|
configurable: true,
|
28
34
|
writable: true,
|
29
|
-
value:
|
35
|
+
value: {
|
36
|
+
c: "DueDate",
|
37
|
+
o: "<=",
|
38
|
+
l: "And",
|
39
|
+
v1: dayjs().format("YYYY-MM-DD"),
|
40
|
+
}
|
30
41
|
});
|
31
42
|
makeObservable(this);
|
32
|
-
this.
|
33
|
-
{ c: "
|
34
|
-
|
43
|
+
if (this.contactId)
|
44
|
+
this.defaultFilter = [{ c: "Contact", o: "=", l: "And", v1: this.contactId }];
|
45
|
+
const draft = { c: "WorkStatus", o: "=", l: "And", v1: "Draft" };
|
46
|
+
const newF = { c: "WorkStatus", o: "=", l: "And", v1: "New" };
|
47
|
+
const rejected = { c: "WorkStatus", o: "=", l: "And", v1: "Rejected" };
|
48
|
+
const active = { c: "WorkStatus", o: "=", l: "And", v1: "Active" };
|
49
|
+
const done = { c: "WorkStatus", o: "=", l: "And", v1: "Done" };
|
50
|
+
const closed = { c: "WorkStatus", o: "=", l: "And", v1: "Closed" };
|
51
|
+
const week = this.getDateF("week");
|
52
|
+
const month = this.getDateF("month");
|
53
|
+
this.listFilterOptions = [
|
54
|
+
{ name: "All", filters: { Filters: this.defaultFilter } },
|
55
|
+
{ name: "Draft", filters: { Filters: [...this.defaultFilter, draft] } },
|
56
|
+
{ name: "New", filters: { Filters: [...this.defaultFilter, newF] } },
|
57
|
+
{ name: "Rejected", filters: { Filters: [...this.defaultFilter, rejected] } },
|
58
|
+
{ name: "Active", filters: { Filters: [...this.defaultFilter, active] } },
|
59
|
+
{ name: "Done", filters: { Filters: [...this.defaultFilter, done] } },
|
60
|
+
{ name: "Closed", filters: { Filters: [...this.defaultFilter, closed] } },
|
61
|
+
{ name: "Overdue", filters: { Filters: [...this.defaultFilter, this.overdueFilter] } },
|
62
|
+
{ name: "ThisWeek", filters: { Filters: [...this.defaultFilter, week] } },
|
63
|
+
{ name: "ThisMonth", filters: { Filters: [...this.defaultFilter, month] } },
|
64
|
+
];
|
65
|
+
this.onFilterOptions();
|
35
66
|
}
|
36
67
|
onFilterOptions(options) {
|
37
68
|
var _a, _b;
|
38
69
|
this.filerOptions = options !== null && options !== void 0 ? options : [];
|
39
|
-
if (this.
|
40
|
-
(_b = this.filerOptions) === null || _b === void 0 ? void 0 : _b.push(
|
70
|
+
if (this.defaultFilter && !((_a = this.filerOptions) === null || _a === void 0 ? void 0 : _a.some((item) => item.c === "Contact"))) {
|
71
|
+
(_b = this.filerOptions) === null || _b === void 0 ? void 0 : _b.push(...this.defaultFilter);
|
41
72
|
}
|
42
73
|
}
|
43
|
-
onDueItemClick(d) {
|
44
|
-
this.dueActives = d;
|
45
|
-
if (this.status.includes("All"))
|
46
|
-
this.status = [];
|
47
|
-
this.onFilterOptions(this.statusFilerOptions.concat(this.dateFilerOptions));
|
48
|
-
}
|
49
74
|
onOverviewItemClick(s) {
|
50
|
-
|
51
|
-
if (this.status.includes("All"))
|
52
|
-
this.dueActives = undefined;
|
53
|
-
this.onFilterOptions(this.statusFilerOptions.concat(this.dateFilerOptions));
|
54
|
-
}
|
55
|
-
onFilterLabel(s) {
|
56
|
-
if (s) {
|
57
|
-
if (s === "overdue" || s === "week" || s === "month") {
|
58
|
-
this.dueActives = undefined;
|
59
|
-
}
|
60
|
-
let status = toJS(this.status);
|
61
|
-
status = status === null || status === void 0 ? void 0 : status.filter((i) => i !== s);
|
62
|
-
this.onOverviewItemClick(status);
|
63
|
-
}
|
64
|
-
else {
|
65
|
-
this.status = [];
|
66
|
-
this.dueActives = undefined;
|
75
|
+
if (s === null || s === void 0 ? void 0 : s.includes("All")) {
|
67
76
|
this.onFilterOptions();
|
68
77
|
}
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
if (status === null || status === void 0 ? void 0 : status.length)
|
76
|
-
f.push({ c: "WorkStatus", o: "contains", l: "And", v1: JSON.stringify(status) });
|
77
|
-
return f;
|
78
|
-
}
|
79
|
-
get dateFilerOptions() {
|
80
|
-
let f = [];
|
81
|
-
if (this.status.includes("All"))
|
82
|
-
return f;
|
83
|
-
if (this.dueActives) {
|
84
|
-
if (this.dueActives === "overdue") {
|
85
|
-
f = [{ c: "DueDate", o: "<=", l: "And", v1: dayjs().format("YYYY-MM-DD") }];
|
78
|
+
else {
|
79
|
+
let status = toJS(s);
|
80
|
+
let f = [];
|
81
|
+
if (s === null || s === void 0 ? void 0 : s.includes("Overdue")) {
|
82
|
+
status = status === null || status === void 0 ? void 0 : status.filter((s) => s !== "Overdue");
|
83
|
+
f.push(this.overdueFilter);
|
86
84
|
}
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
.format("YYYY-MM-DD HH:mm:ss");
|
91
|
-
const v2 = dayjs()
|
92
|
-
.endOf(this.dueActives)
|
93
|
-
.format("YYYY-MM-DD HH:mm:ss");
|
94
|
-
f = [{ c: "DueDate", o: "between", l: "And", v1: v1, v2: v2 }];
|
85
|
+
if (s === null || s === void 0 ? void 0 : s.includes("ThisWeek")) {
|
86
|
+
status = status === null || status === void 0 ? void 0 : status.filter((s) => s !== "ThisWeek");
|
87
|
+
f.push(this.getDateF("week"));
|
95
88
|
}
|
89
|
+
if (s === null || s === void 0 ? void 0 : s.includes("ThisMonth")) {
|
90
|
+
status = status === null || status === void 0 ? void 0 : status.filter((s) => s !== "ThisMonth");
|
91
|
+
f.push(this.getDateF("month"));
|
92
|
+
}
|
93
|
+
if (status === null || status === void 0 ? void 0 : status.length)
|
94
|
+
f.push({ c: "WorkStatus", o: "contains", l: "And", v1: JSON.stringify(status) });
|
95
|
+
this.onFilterOptions(f);
|
96
96
|
}
|
97
|
-
|
97
|
+
}
|
98
|
+
getDateF(date) {
|
99
|
+
const v1 = dayjs().startOf(date).format("YYYY-MM-DD HH:mm:ss");
|
100
|
+
const v2 = dayjs().endOf(date).format("YYYY-MM-DD HH:mm:ss");
|
101
|
+
return { c: "DueDate", o: "between", l: "And", v1: v1, v2: v2 };
|
98
102
|
}
|
99
103
|
}
|
100
104
|
__decorate([
|
@@ -102,26 +106,20 @@ __decorate([
|
|
102
106
|
], State.prototype, "filerOptions", void 0);
|
103
107
|
__decorate([
|
104
108
|
observable
|
105
|
-
], State.prototype, "
|
109
|
+
], State.prototype, "listFilterOptions", void 0);
|
106
110
|
__decorate([
|
107
111
|
observable
|
108
|
-
], State.prototype, "
|
112
|
+
], State.prototype, "defaultFilter", void 0);
|
109
113
|
__decorate([
|
110
|
-
|
111
|
-
], State.prototype, "
|
114
|
+
observable
|
115
|
+
], State.prototype, "overdueFilter", void 0);
|
112
116
|
__decorate([
|
113
117
|
action
|
114
|
-
], State.prototype, "
|
118
|
+
], State.prototype, "onFilterOptions", null);
|
115
119
|
__decorate([
|
116
120
|
action
|
117
121
|
], State.prototype, "onOverviewItemClick", null);
|
118
122
|
__decorate([
|
119
123
|
action
|
120
|
-
], State.prototype, "
|
121
|
-
__decorate([
|
122
|
-
computed
|
123
|
-
], State.prototype, "statusFilerOptions", null);
|
124
|
-
__decorate([
|
125
|
-
computed
|
126
|
-
], State.prototype, "dateFilerOptions", null);
|
124
|
+
], State.prototype, "getDateF", null);
|
127
125
|
//# sourceMappingURL=state.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../../src/modules/work/pages/WorkListPage2/state.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,
|
1
|
+
{"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../../src/modules/work/pages/WorkListPage2/state.ts"],"names":[],"mappings":"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"}
|
@@ -1,9 +1,6 @@
|
|
1
1
|
import React from "react";
|
2
2
|
export type WorkScheduleOverviewProps = {
|
3
|
-
|
4
|
-
dueActives?: string;
|
5
|
-
onOverviewItemClick?: (status?: string[]) => void;
|
6
|
-
onDueItemClick?: (date?: string) => void;
|
3
|
+
onOverviewItemClick?: () => void;
|
7
4
|
};
|
8
5
|
declare const WorkScheduleOverview: (props: WorkScheduleOverviewProps) => React.JSX.Element;
|
9
6
|
export default WorkScheduleOverview;
|
@@ -1,31 +1,29 @@
|
|
1
|
-
import React
|
1
|
+
import React from "react";
|
2
2
|
import { observe } from "@voplus/morpho-ui";
|
3
3
|
import DueItem from "@voplus/morpho-ui/es/controls/PanelOverview/DueItem";
|
4
4
|
import OverviewItem from "@voplus/morpho-ui/es/controls/PanelOverview/OverviewItem";
|
5
5
|
import OverviewAll from "@voplus/morpho-ui/es/controls/PanelOverview/OverviewAll";
|
6
6
|
import { Scrollbars } from "react-custom-scrollbars-2";
|
7
7
|
import PanelOverview from "@voplus/morpho-ui/es/controls/PanelOverview";
|
8
|
+
import { useQuickFilterContext } from "@voplus/morpho-ui/es/data/QuickFilterContext";
|
9
|
+
import { Skeleton } from "antd";
|
8
10
|
import classnames from "classnames";
|
9
|
-
import { State } from "./state";
|
10
11
|
import dayjs from "dayjs";
|
12
|
+
const status = ["WorkCreated", "Unscheduled"];
|
13
|
+
const dues = ["Overdue", "ThisWeek", "ThisMonth"];
|
11
14
|
const WorkScheduleOverview = (props) => {
|
12
|
-
const
|
13
|
-
const [state] = useState(new State());
|
14
|
-
state.update(actives, dueActives);
|
15
|
+
const context = useQuickFilterContext();
|
15
16
|
return observe(() => (React.createElement(Scrollbars, { autoHide: true },
|
16
|
-
React.createElement(
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
function onDueClick(dueAct) {
|
23
|
-
state.onDueClick(dueAct);
|
24
|
-
onDueItemClick === null || onDueItemClick === void 0 ? void 0 : onDueItemClick(state.dueActives);
|
25
|
-
}
|
17
|
+
React.createElement(Skeleton, { loading: context.loading },
|
18
|
+
React.createElement(PanelOverview, { className: "work-schedule-overview", overviewAll: React.createElement(OverviewAll, { className: classnames({ active: context.actives.includes("All") }), total: context.getCount("All"), description: "Total All Work Schedule", onClick: () => onClick("All") }), overviewList: status.map((i) => (React.createElement(OverviewItem, { key: i, className: classnames({ active: context.actives.includes(i) }), total: context.getCount(i), description: i, onClick: () => onClick(i) }))), nodeTitle: "DUE OF WORKS SCHEDULE", dueList: dues.map((d) => (React.createElement(DueItem, { key: d, className: classnames({
|
19
|
+
week: d === "ThisWeek",
|
20
|
+
month: d === "ThisMonth",
|
21
|
+
active: context.actives.includes(d),
|
22
|
+
}), title: d.replace(/([A-Z])/g, " $1"), type: "Works", description: dayjs().format("DD MMM YYYY"), total: context.getCount(d), onClick: () => onClick(d) }))) })))));
|
26
23
|
function onClick(status) {
|
27
|
-
|
28
|
-
|
24
|
+
var _a;
|
25
|
+
context.triggerFilter(status);
|
26
|
+
(_a = props.onOverviewItemClick) === null || _a === void 0 ? void 0 : _a.call(props);
|
29
27
|
}
|
30
28
|
};
|
31
29
|
export default WorkScheduleOverview;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/modules/work/work-schedule/components/WorkScheduleOverview/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/modules/work/work-schedule/components/WorkScheduleOverview/index.tsx"],"names":[],"mappings":"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"}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import React, { useState } from "react";
|
1
|
+
import React, { useState, useMemo, useEffect } from "react";
|
2
2
|
import { faSuitcase } from "@fortawesome/pro-solid-svg-icons";
|
3
3
|
import { FontAwesomeIcon as FAIcon } from "@fortawesome/react-fontawesome";
|
4
4
|
import PageHeadDashboard from "@voplus/morpho-ui/es/components/layout/headers/PageHeadDashboard";
|
@@ -9,36 +9,47 @@ import { observe } from "@voplus/morpho-ui";
|
|
9
9
|
import WorkScheduleList from "../../components/WorkScheduleList";
|
10
10
|
import WorkSchedulePanel from "../../components/WorkSchedulePanel";
|
11
11
|
import FilterLabel from "@voplus/morpho-ui/es/controls/FilterLabel";
|
12
|
+
import { useWorkScheduleStore } from "../../../../../data/work-schedule";
|
13
|
+
import { QuickFilterContext, QuickFilterContextState, } from "@voplus/morpho-ui/es/data/QuickFilterContext";
|
12
14
|
import { State } from "./state";
|
13
15
|
import styles from "./index.less";
|
14
16
|
const WorkScheduleListPage = (props) => {
|
15
17
|
var _a;
|
18
|
+
const store = useWorkScheduleStore();
|
16
19
|
const [state] = useState(new State((_a = props.contact) === null || _a === void 0 ? void 0 : _a.id));
|
17
20
|
const [activeKey, setActiveKey] = useState("WorkScheduleList");
|
21
|
+
const context = useMemo(() => new QuickFilterContextState({
|
22
|
+
store: store,
|
23
|
+
listFilterOptions: state.listFilterOptions,
|
24
|
+
}), []);
|
25
|
+
useEffect(() => {
|
26
|
+
context.loadCounts();
|
27
|
+
}, []);
|
18
28
|
return observe(() => {
|
19
29
|
var _a, _b;
|
20
|
-
return (React.createElement(
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
30
|
+
return (React.createElement(QuickFilterContext.Provider, { value: context },
|
31
|
+
React.createElement(DefaultViewLayout, { className: styles["workSchedule-list-page"], header: React.createElement(PageHeadDashboard, { avatarIcon: React.createElement(FAIcon, { icon: faSuitcase }), title: "Work Schedules", upAble: true, description: "Your tasks: prioritize and complete your work." }), propertiesWidth: "295px", properties: React.createElement(WorkSchedulePanel, { overviewProps: {
|
32
|
+
onOverviewItemClick: () => state.onOverviewItemClick(context.actives),
|
33
|
+
}, workScheduleFilterProps: {
|
34
|
+
onFilter(options) {
|
35
|
+
state.onFilterOptions(options);
|
36
|
+
},
|
37
|
+
} }) },
|
38
|
+
React.createElement(DocumentTabs, { id: "", active: "WorkScheduleList", tabItems: [
|
39
|
+
{
|
40
|
+
key: "WorkScheduleList",
|
41
|
+
label: "Work Schedule List",
|
42
|
+
children: (React.createElement(WorkScheduleList, { ...props, filter: false, asideable: false, headerType: "tool", filterOptions: state.filerOptions, onTotal: (total) => context.onChangeTotal(total) })),
|
43
|
+
},
|
44
|
+
{
|
45
|
+
key: "Activities",
|
46
|
+
label: "Activities",
|
47
|
+
children: (React.createElement(React.Fragment, null, activeKey === "Activities" ? (React.createElement(ActivityLog, { id: "", bar: false })) : null)),
|
48
|
+
},
|
49
|
+
], onChange: (key) => setActiveKey(key), tabBarExtraContent: activeKey === "WorkScheduleList" ? (React.createElement("div", { className: "list-tabBar-filter" }, ((_a = context.actives) === null || _a === void 0 ? void 0 : _a.includes("All")) ? ("Showed: Total All Work Schedules") : ((_b = context.actives) === null || _b === void 0 ? void 0 : _b.length) ? (React.createElement(FilterLabel, { status: context.actives, maxCount: 2, onFilter: (s) => {
|
50
|
+
context.onFilterLabel(s);
|
51
|
+
state.onOverviewItemClick(context.actives);
|
52
|
+
} })) : undefined)) : undefined }))));
|
42
53
|
});
|
43
54
|
};
|
44
55
|
export default WorkScheduleListPage;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/modules/work/work-schedule/pages/WorkScheduleListPage/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/modules/work/work-schedule/pages/WorkScheduleListPage/index.tsx"],"names":[],"mappings":"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"}
|
@@ -1,15 +1,16 @@
|
|
1
1
|
import { FilterOption } from "@voplus/morpho-data";
|
2
|
+
import { ListFilterOptions } from "@voplus/morpho-ui/es/data/QuickFilterContext";
|
2
3
|
export declare class State {
|
3
4
|
private contactId?;
|
4
5
|
/** 默认值 */
|
5
6
|
filerOptions?: FilterOption[];
|
6
|
-
|
7
|
-
|
7
|
+
listFilterOptions?: ListFilterOptions[];
|
8
|
+
defaultFilter: FilterOption[];
|
9
|
+
workCreatedFilter: FilterOption;
|
10
|
+
unscheduledFilter: FilterOption[];
|
11
|
+
private overdueFilter;
|
8
12
|
constructor(contactId?: string | undefined);
|
9
13
|
onFilterOptions(options?: FilterOption[]): void;
|
10
|
-
onDueItemClick(d: "overdue" | "week" | "month"): void;
|
11
14
|
onOverviewItemClick(s?: string[]): void;
|
12
|
-
|
13
|
-
get statusFilerOptions(): FilterOption[];
|
14
|
-
get dateFilerOptions(): FilterOption[];
|
15
|
+
getDateF(date: "week" | "month"): FilterOption;
|
15
16
|
}
|