@cgboiler/biz-mobile 1.18.5-beta → 1.18.7
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/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/es/org-picker/OrgPicker.d.ts +3 -3
- package/es/org-picker/OrgPicker.js +19 -5
- package/es/org-picker/_atomic.css +1 -0
- package/es/org-picker/types.d.ts +2 -2
- package/es/org-picker/useApi.d.ts +7 -7
- package/es/org-picker/useApi.js +21 -14
- package/es/org-picker/useSearch.d.ts +2 -2
- package/es/org-picker/useSearch.js +32 -21
- package/es/project-select/useApi.js +3 -6
- package/es/rich-text-editor/RichTextEditor.js +6 -61
- package/es/rich-text-editor/_atomic.css +0 -2
- package/es/rich-text-editor/index.css +0 -1
- package/es/rich-text-editor/index.less +0 -191
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/org-picker/OrgPicker.d.ts +3 -3
- package/lib/org-picker/OrgPicker.js +19 -5
- package/lib/org-picker/_atomic.css +1 -0
- package/lib/org-picker/types.d.ts +2 -2
- package/lib/org-picker/useApi.d.ts +7 -7
- package/lib/org-picker/useApi.js +20 -13
- package/lib/org-picker/useSearch.d.ts +2 -2
- package/lib/org-picker/useSearch.js +31 -20
- package/lib/project-select/useApi.js +3 -6
- package/lib/rich-text-editor/RichTextEditor.js +5 -70
- package/lib/rich-text-editor/_atomic.css +0 -2
- package/lib/rich-text-editor/index.css +0 -1
- package/lib/rich-text-editor/index.less +0 -191
- package/package.json +68 -68
|
@@ -1,191 +0,0 @@
|
|
|
1
|
-
.ProseMirror {
|
|
2
|
-
flex: 1;
|
|
3
|
-
overflow: auto;
|
|
4
|
-
outline: none;
|
|
5
|
-
|
|
6
|
-
line-height: 1.6;
|
|
7
|
-
font-size: var(--font-base);
|
|
8
|
-
--white: #fff;
|
|
9
|
-
--black: #2e2b29;
|
|
10
|
-
--black-contrast: #110f0e;
|
|
11
|
-
--gray-1: rgba(61, 37, 20, 0.05);
|
|
12
|
-
--gray-2: rgba(61, 37, 20, 0.08);
|
|
13
|
-
--gray-3: rgba(61, 37, 20, 0.12);
|
|
14
|
-
--gray-4: rgba(53, 38, 28, 0.3);
|
|
15
|
-
--gray-5: rgba(28, 25, 23, 0.6);
|
|
16
|
-
--green: #22c55e;
|
|
17
|
-
--purple: #6a00f5;
|
|
18
|
-
--purple-contrast: #5800cc;
|
|
19
|
-
--purple-light: rgba(88, 5, 255, 0.05);
|
|
20
|
-
--yellow-contrast: #facc15;
|
|
21
|
-
--yellow: rgba(250, 204, 21, 0.4);
|
|
22
|
-
--yellow-light: #fffae5;
|
|
23
|
-
--red: #ff5c33;
|
|
24
|
-
--red-light: #ffebe5;
|
|
25
|
-
--shadow: 0px 12px 33px 0px rgba(0, 0, 0, 0.06), 0px 3.618px 9.949px 0px rgba(0, 0, 0, 0.04);
|
|
26
|
-
:first-child {
|
|
27
|
-
margin-top: 0;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
/* List styles */
|
|
31
|
-
ul,
|
|
32
|
-
ol {
|
|
33
|
-
padding: 0 1rem;
|
|
34
|
-
margin: 1.25rem 1rem 1.25rem 0.4rem;
|
|
35
|
-
|
|
36
|
-
li p {
|
|
37
|
-
margin-top: 0.25em;
|
|
38
|
-
margin-bottom: 0.25em;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
/* Heading styles */
|
|
43
|
-
h1,
|
|
44
|
-
h2,
|
|
45
|
-
h3,
|
|
46
|
-
h4,
|
|
47
|
-
h5,
|
|
48
|
-
h6 {
|
|
49
|
-
line-height: 1.1;
|
|
50
|
-
margin-top: 2.5rem;
|
|
51
|
-
text-wrap: pretty;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
h1,
|
|
55
|
-
h2 {
|
|
56
|
-
margin-top: 3.5rem;
|
|
57
|
-
margin-bottom: 1.5rem;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
h1 {
|
|
61
|
-
font-size: 1.4rem;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
h2 {
|
|
65
|
-
font-size: 1.2rem;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
h3 {
|
|
69
|
-
font-size: 1.1rem;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
h4,
|
|
73
|
-
h5,
|
|
74
|
-
h6 {
|
|
75
|
-
font-size: 1rem;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
/* Code and preformatted text styles */
|
|
79
|
-
code {
|
|
80
|
-
background-color: var(--purple-light);
|
|
81
|
-
border-radius: 0.4rem;
|
|
82
|
-
color: var(--black);
|
|
83
|
-
font-size: 0.85rem;
|
|
84
|
-
padding: 0.25em 0.3em;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
pre {
|
|
88
|
-
background: var(--black);
|
|
89
|
-
border-radius: 0.5rem;
|
|
90
|
-
color: var(--white);
|
|
91
|
-
font-family: 'JetBrainsMono', monospace;
|
|
92
|
-
margin: 1.5rem 0;
|
|
93
|
-
padding: 0.75rem 1rem;
|
|
94
|
-
|
|
95
|
-
code {
|
|
96
|
-
background: none;
|
|
97
|
-
color: inherit;
|
|
98
|
-
font-size: 0.8rem;
|
|
99
|
-
padding: 0;
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
blockquote {
|
|
104
|
-
border-left: 3px solid var(--gray-3);
|
|
105
|
-
margin: 1.5rem 0;
|
|
106
|
-
padding-left: 1rem;
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
hr {
|
|
110
|
-
border: none;
|
|
111
|
-
border-top: 1px solid var(--gray-2);
|
|
112
|
-
margin: 2rem 0;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
/* Placeholder (at the top) */
|
|
116
|
-
p.is-editor-empty:first-child::before {
|
|
117
|
-
color: var(--gray-4);
|
|
118
|
-
content: attr(data-placeholder);
|
|
119
|
-
float: left;
|
|
120
|
-
height: 0;
|
|
121
|
-
pointer-events: none;
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
.is-empty::before {
|
|
125
|
-
color: var(--gray-4);
|
|
126
|
-
content: attr(data-placeholder);
|
|
127
|
-
float: left;
|
|
128
|
-
height: 0;
|
|
129
|
-
pointer-events: none;
|
|
130
|
-
}
|
|
131
|
-
/* Table-specific styling */
|
|
132
|
-
table {
|
|
133
|
-
border-collapse: collapse;
|
|
134
|
-
margin: 0;
|
|
135
|
-
overflow: hidden;
|
|
136
|
-
table-layout: fixed;
|
|
137
|
-
width: 100%;
|
|
138
|
-
|
|
139
|
-
td,
|
|
140
|
-
th {
|
|
141
|
-
border: 1px solid var(--gray-3);
|
|
142
|
-
box-sizing: border-box;
|
|
143
|
-
min-width: 1em;
|
|
144
|
-
padding: 6px 8px;
|
|
145
|
-
position: relative;
|
|
146
|
-
vertical-align: top;
|
|
147
|
-
|
|
148
|
-
> * {
|
|
149
|
-
margin-bottom: 0;
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
th {
|
|
154
|
-
background-color: var(--gray-1);
|
|
155
|
-
font-weight: bold;
|
|
156
|
-
text-align: left;
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
.selectedCell:after {
|
|
160
|
-
background: var(--gray-2);
|
|
161
|
-
content: '';
|
|
162
|
-
left: 0;
|
|
163
|
-
right: 0;
|
|
164
|
-
top: 0;
|
|
165
|
-
bottom: 0;
|
|
166
|
-
pointer-events: none;
|
|
167
|
-
position: absolute;
|
|
168
|
-
z-index: 2;
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
.column-resize-handle {
|
|
172
|
-
background-color: var(--purple);
|
|
173
|
-
bottom: -2px;
|
|
174
|
-
pointer-events: none;
|
|
175
|
-
position: absolute;
|
|
176
|
-
right: -2px;
|
|
177
|
-
top: 0;
|
|
178
|
-
width: 4px;
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
.tableWrapper {
|
|
183
|
-
margin: 1.5rem 0;
|
|
184
|
-
overflow-x: auto;
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
&.resize-cursor {
|
|
188
|
-
cursor: ew-resize;
|
|
189
|
-
cursor: col-resize;
|
|
190
|
-
}
|
|
191
|
-
}
|
package/lib/index.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ declare namespace _default {
|
|
|
8
8
|
}
|
|
9
9
|
export default _default;
|
|
10
10
|
export function install(app: any): void;
|
|
11
|
-
export const version: "1.
|
|
11
|
+
export const version: "1.18.6";
|
|
12
12
|
import MdPreview from './md-preview';
|
|
13
13
|
import OrgPicker from './org-picker';
|
|
14
14
|
import ProjectSelect from './project-select';
|
package/lib/index.js
CHANGED
|
@@ -45,7 +45,7 @@ __reExport(stdin_exports, require("./md-preview"), module.exports);
|
|
|
45
45
|
__reExport(stdin_exports, require("./org-picker"), module.exports);
|
|
46
46
|
__reExport(stdin_exports, require("./project-select"), module.exports);
|
|
47
47
|
__reExport(stdin_exports, require("./rich-text-editor"), module.exports);
|
|
48
|
-
const version = "1.
|
|
48
|
+
const version = "1.18.6";
|
|
49
49
|
function install(app) {
|
|
50
50
|
const components = [
|
|
51
51
|
import_md_preview.default,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import './index.less';
|
|
2
2
|
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
3
3
|
modelValue: {
|
|
4
|
-
type: import("vue").PropType<(string
|
|
4
|
+
type: import("vue").PropType<(string)[] | null>;
|
|
5
5
|
default: () => null;
|
|
6
6
|
};
|
|
7
7
|
show: {
|
|
@@ -24,7 +24,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
24
24
|
};
|
|
25
25
|
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:show" | "update:modelValue")[], "update:show" | "update:modelValue", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
26
26
|
modelValue: {
|
|
27
|
-
type: import("vue").PropType<(string
|
|
27
|
+
type: import("vue").PropType<(string)[] | null>;
|
|
28
28
|
default: () => null;
|
|
29
29
|
};
|
|
30
30
|
show: {
|
|
@@ -49,7 +49,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
49
49
|
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
50
50
|
"onUpdate:show"?: ((...args: any[]) => any) | undefined;
|
|
51
51
|
}>, {
|
|
52
|
-
modelValue:
|
|
52
|
+
modelValue: string[] | null;
|
|
53
53
|
show: boolean;
|
|
54
54
|
multiple: boolean;
|
|
55
55
|
autoFocus: boolean;
|
|
@@ -56,6 +56,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
|
56
56
|
} = api;
|
|
57
57
|
getOrgList();
|
|
58
58
|
const activeTab = (0, import_vue2.ref)("txl");
|
|
59
|
+
const isSearchFocus = (0, import_vue2.ref)(false);
|
|
59
60
|
const {
|
|
60
61
|
keyword,
|
|
61
62
|
searchRef,
|
|
@@ -64,7 +65,11 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
|
64
65
|
handleDeleteHistorySelect,
|
|
65
66
|
highlightText,
|
|
66
67
|
renderSearchResult
|
|
67
|
-
} = (0, import_useSearch.useSearch)(
|
|
68
|
+
} = (0, import_useSearch.useSearch)({
|
|
69
|
+
props,
|
|
70
|
+
api,
|
|
71
|
+
isSearchFocus
|
|
72
|
+
});
|
|
68
73
|
const selectedItems = (0, import_vue2.ref)([]);
|
|
69
74
|
const sortOrgList = (0, import_vue2.computed)(() => {
|
|
70
75
|
const departments = orgList.value.filter((item) => item.type === "dept");
|
|
@@ -110,7 +115,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
|
110
115
|
}
|
|
111
116
|
};
|
|
112
117
|
const handleHistorySelect = (item) => {
|
|
113
|
-
selectedItems.value = item.selectedUsers;
|
|
118
|
+
selectedItems.value = item.selectedUsers.map((user) => getUserInfoById(user.id));
|
|
114
119
|
};
|
|
115
120
|
const handleConfirm = () => {
|
|
116
121
|
emit("update:show", false);
|
|
@@ -133,6 +138,12 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
|
133
138
|
"modelValue": keyword.value,
|
|
134
139
|
"onUpdate:modelValue": ($event) => keyword.value = $event,
|
|
135
140
|
"placeholder": "\u641C\u7D22\u4EBA\u5458",
|
|
141
|
+
"onFocus": () => {
|
|
142
|
+
isSearchFocus.value = true;
|
|
143
|
+
},
|
|
144
|
+
"onBlur": () => {
|
|
145
|
+
isSearchFocus.value = false;
|
|
146
|
+
},
|
|
136
147
|
"class": "search-bar"
|
|
137
148
|
}, null), (0, import_vue.createVNode)("div", {
|
|
138
149
|
"class": "org-selected-items"
|
|
@@ -149,7 +160,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
|
149
160
|
"class": "color-[#aaa] text-[14px] text-center w-full leading-[38px]"
|
|
150
161
|
}, [(0, import_vue.createTextVNode)("\u672A\u9009\u62E9\u4EBA\u5458")])]), (0, import_vue.createVNode)("div", {
|
|
151
162
|
"class": "flex-1 flex flex-col overflow-hidden relative"
|
|
152
|
-
}, [(0, import_vue.createVNode)(import_vant.Tabs, {
|
|
163
|
+
}, [props.multiple ? (0, import_vue.createVNode)(import_vant.Tabs, {
|
|
153
164
|
"active": activeTab.value,
|
|
154
165
|
"onUpdate:active": ($event) => activeTab.value = $event
|
|
155
166
|
}, {
|
|
@@ -160,7 +171,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
|
160
171
|
"title": "\u6700\u8FD1\u9009\u62E9",
|
|
161
172
|
"name": "zjxz"
|
|
162
173
|
}, null)]
|
|
163
|
-
}), (0, import_vue.createVNode)("div", {
|
|
174
|
+
}) : "", (0, import_vue.createVNode)("div", {
|
|
164
175
|
"class": "org-content-wrap"
|
|
165
176
|
}, [activeTab.value === "zjxz" ? (0, import_vue.createVNode)("div", {
|
|
166
177
|
"class": "recent-list-wrap flex-1 overflow-auto px-[16px] py-[8px]"
|
|
@@ -172,7 +183,10 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
|
172
183
|
"class": "py-8px border-b border-[#eee] flex items-center"
|
|
173
184
|
}, [(0, import_vue.createVNode)("span", {
|
|
174
185
|
"class": "flex-1"
|
|
175
|
-
}, [historyItem.selectedUsers.map((user) =>
|
|
186
|
+
}, [historyItem.selectedUsers.map((user) => {
|
|
187
|
+
var _a;
|
|
188
|
+
return highlightText((_a = getUserInfoById(user.id)) == null ? void 0 : _a.name, keyword.value);
|
|
189
|
+
}).reduce((prev, curr) => [prev, "\uFF0C", curr])]), (0, import_vue.createVNode)("span", {
|
|
176
190
|
"class": "p-4px pl-2",
|
|
177
191
|
"onClick": (e) => {
|
|
178
192
|
e.stopPropagation();
|
|
@@ -37,6 +37,7 @@
|
|
|
37
37
|
.cgx-atm .right-0{right:0rem;}
|
|
38
38
|
.cgx-atm .top-0{top:0rem;}
|
|
39
39
|
.cgx-atm .z-1{z-index:1;}
|
|
40
|
+
.cgx-atm .h-\[300px\]{height:300px;}
|
|
40
41
|
.cgx-atm .flex-1{flex:1 1 0%;}
|
|
41
42
|
.cgx-atm .overflow-auto{overflow:auto;}
|
|
42
43
|
.cgx-atm .border-b{border-bottom-width:1px;border-bottom-style:solid;}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ExtractPropTypes, PropType } from 'vue';
|
|
2
2
|
export interface OrgItem {
|
|
3
|
-
id: string
|
|
3
|
+
id: string;
|
|
4
4
|
name: string;
|
|
5
5
|
type: string;
|
|
6
6
|
avatar?: string;
|
|
@@ -8,7 +8,7 @@ export interface OrgItem {
|
|
|
8
8
|
}
|
|
9
9
|
export declare const orgPickerProps: {
|
|
10
10
|
modelValue: {
|
|
11
|
-
type: PropType<(string
|
|
11
|
+
type: PropType<(string)[] | null>;
|
|
12
12
|
default: () => null;
|
|
13
13
|
};
|
|
14
14
|
show: {
|
|
@@ -2,39 +2,39 @@ import { type OrgItem, RecentSelection } from './types';
|
|
|
2
2
|
export declare const useApi: () => {
|
|
3
3
|
userList: import("vue").Ref<{
|
|
4
4
|
[x: string]: any;
|
|
5
|
-
id: string
|
|
5
|
+
id: string;
|
|
6
6
|
name: string;
|
|
7
7
|
type: string;
|
|
8
8
|
avatar?: string | undefined;
|
|
9
9
|
}[], OrgItem[] | {
|
|
10
10
|
[x: string]: any;
|
|
11
|
-
id: string
|
|
11
|
+
id: string;
|
|
12
12
|
name: string;
|
|
13
13
|
type: string;
|
|
14
14
|
avatar?: string | undefined;
|
|
15
15
|
}[]>;
|
|
16
16
|
orgList: import("vue").Ref<{
|
|
17
17
|
[x: string]: any;
|
|
18
|
-
id: string
|
|
18
|
+
id: string;
|
|
19
19
|
name: string;
|
|
20
20
|
type: string;
|
|
21
21
|
avatar?: string | undefined;
|
|
22
22
|
}[], OrgItem[] | {
|
|
23
23
|
[x: string]: any;
|
|
24
|
-
id: string
|
|
24
|
+
id: string;
|
|
25
25
|
name: string;
|
|
26
26
|
type: string;
|
|
27
27
|
avatar?: string | undefined;
|
|
28
28
|
}[]>;
|
|
29
29
|
orgSearchList: import("vue").Ref<{
|
|
30
30
|
[x: string]: any;
|
|
31
|
-
id: string
|
|
31
|
+
id: string;
|
|
32
32
|
name: string;
|
|
33
33
|
type: string;
|
|
34
34
|
avatar?: string | undefined;
|
|
35
35
|
}[], OrgItem[] | {
|
|
36
36
|
[x: string]: any;
|
|
37
|
-
id: string
|
|
37
|
+
id: string;
|
|
38
38
|
name: string;
|
|
39
39
|
type: string;
|
|
40
40
|
avatar?: string | undefined;
|
|
@@ -55,5 +55,5 @@ export declare const useApi: () => {
|
|
|
55
55
|
searchOrgList: import("lodash-es").DebouncedFunc<(userName: string) => Promise<void>>;
|
|
56
56
|
getRecentSelectedUsers: () => Promise<RecentSelection[]>;
|
|
57
57
|
setRecentSelectedUsers: (users: OrgItem[]) => Promise<void>;
|
|
58
|
-
getUserInfoById: (id: string | number) =>
|
|
58
|
+
getUserInfoById: (id: string | number) => OrgItem | undefined;
|
|
59
59
|
};
|
package/lib/org-picker/useApi.js
CHANGED
|
@@ -55,10 +55,17 @@ const fetchData = (url, cacheKey) => __async(void 0, null, function* () {
|
|
|
55
55
|
return res;
|
|
56
56
|
});
|
|
57
57
|
const fetchOrgList = (deptId) => __async(void 0, null, function* () {
|
|
58
|
-
const url = `https://wflow.
|
|
58
|
+
const url = `https://wflow.hrbbrg.cn/v1/oa/org/tree/cloud?deptId=${deptId}&type=user`;
|
|
59
59
|
return fetchData(url, deptId || "");
|
|
60
60
|
});
|
|
61
61
|
const userList = (0, import_vue.ref)([]);
|
|
62
|
+
const userMap = (0, import_vue.computed)(() => {
|
|
63
|
+
const map = /* @__PURE__ */ new Map();
|
|
64
|
+
userList.value.forEach((item) => {
|
|
65
|
+
map.set(item.id, item);
|
|
66
|
+
});
|
|
67
|
+
return map;
|
|
68
|
+
});
|
|
62
69
|
function initUserList() {
|
|
63
70
|
return __async(this, null, function* () {
|
|
64
71
|
userList.value = yield (0, import_core.getUserList)();
|
|
@@ -86,14 +93,20 @@ const useApi = () => {
|
|
|
86
93
|
}
|
|
87
94
|
}
|
|
88
95
|
const list = yield fetchOrgList(currentDeptId.value);
|
|
89
|
-
orgList.value = list
|
|
96
|
+
orgList.value = list.filter((item) => {
|
|
97
|
+
var _a;
|
|
98
|
+
if (item.type === "user") {
|
|
99
|
+
return ((_a = userMap.value.get(item.id)) == null ? void 0 : _a.status) !== 5;
|
|
100
|
+
}
|
|
101
|
+
return true;
|
|
102
|
+
}) || [];
|
|
90
103
|
});
|
|
91
104
|
const searchOrgList = (0, import_lodash_es.debounce)((userName) => __async(void 0, null, function* () {
|
|
92
105
|
if (!userName) {
|
|
93
106
|
orgSearchList.value = [];
|
|
94
107
|
return;
|
|
95
108
|
}
|
|
96
|
-
const url = `https://wflow.
|
|
109
|
+
const url = `https://wflow.hrbbrg.cn/v1/oa/org/tree/user/search/cloud?userName=${userName}`;
|
|
97
110
|
orgSearchList.value = yield fetchData(url);
|
|
98
111
|
}), 300);
|
|
99
112
|
const RECENT_SELECTED_USERS_KEY = "recent_selected_users_history";
|
|
@@ -109,7 +122,7 @@ const useApi = () => {
|
|
|
109
122
|
}
|
|
110
123
|
});
|
|
111
124
|
const url = decodeURIComponent(
|
|
112
|
-
`https://wflow.
|
|
125
|
+
`https://wflow.hrbbrg.cn/v1/wflow/process/form/wf687dda91e4b027b047d4654c/data?keywords=${name}_${user.userId}&pageNo=1&pageSize=20`
|
|
113
126
|
);
|
|
114
127
|
const res = yield fetchData(url);
|
|
115
128
|
let recentList = [];
|
|
@@ -146,10 +159,10 @@ const useApi = () => {
|
|
|
146
159
|
data.field5375578403639 = JSON.stringify(list);
|
|
147
160
|
}
|
|
148
161
|
if (dataId.value) {
|
|
149
|
-
url = `https://wflow.
|
|
162
|
+
url = `https://wflow.hrbbrg.cn/v1/wflow/process/form/wf687dda91e4b027b047d4654c/data/${dataId.value}`;
|
|
150
163
|
method = "PUT";
|
|
151
164
|
} else {
|
|
152
|
-
url = "https://wflow.
|
|
165
|
+
url = "https://wflow.hrbbrg.cn/v1/wflow/process/start/4e441786-65fa-11f0-aef7-ce938f4cd78d";
|
|
153
166
|
method = "POST";
|
|
154
167
|
}
|
|
155
168
|
const token = user.token;
|
|
@@ -248,13 +261,7 @@ const useApi = () => {
|
|
|
248
261
|
}
|
|
249
262
|
});
|
|
250
263
|
const getUserInfoById = (id) => {
|
|
251
|
-
|
|
252
|
-
userList.value.forEach((item) => {
|
|
253
|
-
if (item.id === id) {
|
|
254
|
-
name = item.name;
|
|
255
|
-
}
|
|
256
|
-
});
|
|
257
|
-
return name;
|
|
264
|
+
return userList.value.find((item) => item.id === id);
|
|
258
265
|
};
|
|
259
266
|
return {
|
|
260
267
|
userList,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare function useSearch(props
|
|
1
|
+
export declare function useSearch({ props, api, isSearchFocus }: any): {
|
|
2
2
|
keyword: import("vue").Ref<string, string>;
|
|
3
3
|
searchRef: import("vue").Ref<any, any>;
|
|
4
4
|
setRecentUsers: (users: any[]) => Promise<void>;
|
|
@@ -7,5 +7,5 @@ export declare function useSearch(props: any, api: any): {
|
|
|
7
7
|
filteredOrgList: import("vue").ComputedRef<any>;
|
|
8
8
|
recentSelectedHistory: import("vue").Ref<any[], any[]>;
|
|
9
9
|
filterRecentSelectedHistory: import("vue").Ref<any[], any[]>;
|
|
10
|
-
highlightText: (text:
|
|
10
|
+
highlightText: (text: any, keyword: string) => any;
|
|
11
11
|
};
|
|
@@ -44,7 +44,12 @@ var import_vue = require("vue");
|
|
|
44
44
|
var import_atomic = require("./_atomic.css");
|
|
45
45
|
var import_vue2 = require("vue");
|
|
46
46
|
var import_vant = require("vant");
|
|
47
|
-
|
|
47
|
+
const isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
|
|
48
|
+
function useSearch({
|
|
49
|
+
props,
|
|
50
|
+
api,
|
|
51
|
+
isSearchFocus
|
|
52
|
+
}) {
|
|
48
53
|
const {
|
|
49
54
|
orgSearchList,
|
|
50
55
|
getOrgList,
|
|
@@ -72,7 +77,10 @@ function useSearch(props, api) {
|
|
|
72
77
|
});
|
|
73
78
|
(0, import_vue2.watchEffect)(() => {
|
|
74
79
|
if (keyword.value) {
|
|
75
|
-
filterRecentSelectedHistory.value = recentSelectedHistory.value.filter((item) => item.selectedUsers.some((user) => keyword.value.split("").some((char) =>
|
|
80
|
+
filterRecentSelectedHistory.value = recentSelectedHistory.value.filter((item) => item.selectedUsers.some((user) => keyword.value.split("").some((char) => {
|
|
81
|
+
var _a;
|
|
82
|
+
return (_a = getUserInfoById(user.id)) == null ? void 0 : _a.name.includes(char);
|
|
83
|
+
})));
|
|
76
84
|
} else {
|
|
77
85
|
filterRecentSelectedHistory.value = recentSelectedHistory.value;
|
|
78
86
|
}
|
|
@@ -114,34 +122,37 @@ function useSearch(props, api) {
|
|
|
114
122
|
handleSelect
|
|
115
123
|
}) => {
|
|
116
124
|
return (0, import_vue.createVNode)("div", {
|
|
117
|
-
"class": "absolute top-0 left-0 right-0 bottom-0 bg-[#fff] z-1"
|
|
118
|
-
}, [filterRecentSelectedHistory.value.length ? (0, import_vue.createVNode)(import_vue.Fragment, null, [(0, import_vue.createVNode)("p", {
|
|
125
|
+
"class": "absolute top-0 left-0 right-0 bottom-0 bg-[#fff] z-1 overflow-auto"
|
|
126
|
+
}, [filterRecentSelectedHistory.value.length && props.multiple ? (0, import_vue.createVNode)(import_vue.Fragment, null, [(0, import_vue.createVNode)("p", {
|
|
119
127
|
"class": "text-[14px] text-[#333] font-bold px-[16px] py-[12px] border-b border-[#eee]"
|
|
120
128
|
}, [(0, import_vue.createTextVNode)("\u6700\u8FD1\u9009\u62E9")]), (0, import_vue.createVNode)("div", {
|
|
121
|
-
"class": "recent-list-wrap flex-1
|
|
129
|
+
"class": "recent-list-wrap flex-1 py-[8px]"
|
|
122
130
|
}, [filterRecentSelectedHistory.value.map((historyItem) => (0, import_vue.createVNode)("div", {
|
|
123
131
|
"key": historyItem.id,
|
|
124
132
|
"onClick": () => handleHistorySelect(historyItem),
|
|
125
133
|
"class": "px-16px py-8px border-b border-[#eee]"
|
|
126
|
-
}, [(0, import_vue.createVNode)("span", null, [historyItem.selectedUsers.map((user) =>
|
|
134
|
+
}, [(0, import_vue.createVNode)("span", null, [historyItem.selectedUsers.map((user) => {
|
|
135
|
+
var _a;
|
|
136
|
+
return highlightText((_a = getUserInfoById(user.id)) == null ? void 0 : _a.name, keyword.value);
|
|
137
|
+
}).reduce((prev, curr) => [prev, "\uFF0C", curr])])]))])]) : "", filteredOrgList.value.length ? (0, import_vue.createVNode)(import_vue.Fragment, null, [" ", (0, import_vue.createVNode)("p", {
|
|
127
138
|
"class": "text-[14px] text-[#333] font-bold px-[16px] py-[12px] border-b border-[#eee]"
|
|
128
139
|
}, [(0, import_vue.createTextVNode)("\u901A\u8BAF\u5F55")]), (0, import_vue.createVNode)("div", {
|
|
129
|
-
"class": "
|
|
140
|
+
"class": "px-16px"
|
|
130
141
|
}, [filteredOrgList.value.length === 0 ? (0, import_vue.createVNode)(import_vant.Empty, {
|
|
131
142
|
"description": "\u672A\u627E\u5230\u76F8\u5173\u4EBA\u5458"
|
|
132
|
-
}, null) : (0, import_vue.createVNode)(
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
})
|
|
143
|
+
}, null) : (0, import_vue.createVNode)(import_vue.Fragment, null, [filteredOrgList.value.map((item) => (0, import_vue.createVNode)("div", {
|
|
144
|
+
"class": ["org-item", isSelected(item) ? "selected" : ""],
|
|
145
|
+
"onClick": () => handleSelect(item)
|
|
146
|
+
}, [(0, import_vue.createVNode)(import_vant.Image, {
|
|
147
|
+
"class": "org-avatar",
|
|
148
|
+
"src": item.avatar
|
|
149
|
+
}, null), (0, import_vue.createVNode)("div", {
|
|
150
|
+
"class": "org-name"
|
|
151
|
+
}, [item.name, (0, import_vue.createVNode)("span", {
|
|
152
|
+
"class": "org-item-select-icon"
|
|
153
|
+
}, [(0, import_vue.createTextVNode)("\u2713")])])]))])])]) : "", isSearchFocus.value && isMobile ? (0, import_vue.createVNode)("div", {
|
|
154
|
+
"class": "h-[300px]"
|
|
155
|
+
}, null) : ""]);
|
|
145
156
|
};
|
|
146
157
|
return {
|
|
147
158
|
keyword,
|
|
@@ -45,12 +45,9 @@ var import_core = require("@cgboiler/core");
|
|
|
45
45
|
const useApi = () => {
|
|
46
46
|
const projectList = (0, import_vue.ref)([]);
|
|
47
47
|
const getProjectList = () => __async(void 0, null, function* () {
|
|
48
|
-
const res = yield (0, import_core.useFetch)(
|
|
49
|
-
"
|
|
50
|
-
|
|
51
|
-
method: "GET"
|
|
52
|
-
}
|
|
53
|
-
);
|
|
48
|
+
const res = yield (0, import_core.useFetch)("https://wx.hrbbrg.cn/v1/note/projects", {
|
|
49
|
+
method: "GET"
|
|
50
|
+
});
|
|
54
51
|
if (res == null ? void 0 : res.d) {
|
|
55
52
|
projectList.value = res.d.filter((item) => item.projectName).map((item) => {
|
|
56
53
|
return {
|