@cgboiler/biz-mobile 1.18.12 → 1.18.14
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/md-preview/MdPreview.js +39 -1
- package/es/md-preview/index.css +1 -1
- package/es/md-preview/index.less +6 -0
- package/es/org-picker/OrgPicker.js +39 -8
- package/es/org-picker/useApi.d.ts +1 -0
- package/es/org-picker/useApi.js +17 -11
- package/es/project-select/useApi.js +1 -1
- package/es/vue-tsx-shim.d.ts +5 -0
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/md-preview/MdPreview.js +48 -0
- package/lib/md-preview/index.css +1 -1
- package/lib/md-preview/index.less +6 -0
- package/lib/org-picker/OrgPicker.js +38 -7
- package/lib/org-picker/useApi.d.ts +1 -0
- package/lib/org-picker/useApi.js +17 -11
- package/lib/project-select/useApi.js +1 -1
- package/lib/vue-tsx-shim.d.ts +5 -0
- package/package.json +5 -4
package/es/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.18.
|
|
11
|
+
export const version: "1.18.13";
|
|
12
12
|
import MdPreview from './md-preview';
|
|
13
13
|
import OrgPicker from './org-picker';
|
|
14
14
|
import ProjectSelect from './project-select';
|
package/es/index.js
CHANGED
|
@@ -2,7 +2,7 @@ import MdPreview from "./md-preview";
|
|
|
2
2
|
import OrgPicker from "./org-picker";
|
|
3
3
|
import ProjectSelect from "./project-select";
|
|
4
4
|
import RichTextEditor from "./rich-text-editor";
|
|
5
|
-
const version = "1.18.
|
|
5
|
+
const version = "1.18.13";
|
|
6
6
|
function install(app) {
|
|
7
7
|
const components = [
|
|
8
8
|
MdPreview,
|
|
@@ -14,12 +14,33 @@ var __spreadValues = (a, b) => {
|
|
|
14
14
|
}
|
|
15
15
|
return a;
|
|
16
16
|
};
|
|
17
|
+
var __async = (__this, __arguments, generator) => {
|
|
18
|
+
return new Promise((resolve, reject) => {
|
|
19
|
+
var fulfilled = (value) => {
|
|
20
|
+
try {
|
|
21
|
+
step(generator.next(value));
|
|
22
|
+
} catch (e) {
|
|
23
|
+
reject(e);
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
var rejected = (value) => {
|
|
27
|
+
try {
|
|
28
|
+
step(generator.throw(value));
|
|
29
|
+
} catch (e) {
|
|
30
|
+
reject(e);
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
34
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
35
|
+
});
|
|
36
|
+
};
|
|
17
37
|
import { createVNode as _createVNode } from "vue";
|
|
18
38
|
import "./_atomic.css";
|
|
19
|
-
import { defineComponent, computed, watch } from "vue";
|
|
39
|
+
import { defineComponent, computed, watch, onMounted } from "vue";
|
|
20
40
|
import { mdPreviewProps } from "./types";
|
|
21
41
|
import "./index.css";
|
|
22
42
|
import { mdPreview } from "@cgboiler/shared";
|
|
43
|
+
import mermaid from "mermaid";
|
|
23
44
|
const {
|
|
24
45
|
initMarked,
|
|
25
46
|
renderMarkdown,
|
|
@@ -47,13 +68,30 @@ var stdin_default = defineComponent({
|
|
|
47
68
|
}
|
|
48
69
|
return props.typewriter ? currentText.value : htmlContent.value;
|
|
49
70
|
});
|
|
71
|
+
const renderMermaidDiagrams = () => __async(this, null, function* () {
|
|
72
|
+
try {
|
|
73
|
+
yield mermaid.run();
|
|
74
|
+
} catch (error) {
|
|
75
|
+
console.error("Mermaid rendering failed:", error);
|
|
76
|
+
}
|
|
77
|
+
});
|
|
50
78
|
watch([() => props.text, () => props.typewriterKey], () => {
|
|
51
79
|
if (props.typewriter) {
|
|
52
80
|
typewriterController.start(htmlContent.value);
|
|
53
81
|
}
|
|
82
|
+
renderMermaidDiagrams();
|
|
54
83
|
}, {
|
|
55
84
|
immediate: true
|
|
56
85
|
});
|
|
86
|
+
onMounted(() => {
|
|
87
|
+
mermaid.initialize({
|
|
88
|
+
startOnLoad: false,
|
|
89
|
+
// 非常重要!我们手动控制渲染时机
|
|
90
|
+
theme: "default"
|
|
91
|
+
// 可选主题: 'default', 'dark', 'forest', 'neutral'
|
|
92
|
+
});
|
|
93
|
+
renderMermaidDiagrams();
|
|
94
|
+
});
|
|
57
95
|
return () => _createVNode("div", {
|
|
58
96
|
"class": "cgx-markdown-preview",
|
|
59
97
|
"innerHTML": displayContent.value
|
package/es/md-preview/index.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.katex-block{display:block;margin:1em 0;text-align:center;overflow-x:auto;overflow-y:hidden}.cgx-markdown-preview .diff-container{border:1px solid #ebeef5;border-radius:4px;overflow:auto}.cgx-markdown-preview .diff-equal{color:#606266}.cgx-markdown-preview .diff-delete{background-color:#ffeef0;color:#f56c6c;text-decoration:line-through}.cgx-markdown-preview .diff-insert{background-color:#e6ffec;color:#67c23a}.cgx-markdown-preview .diff-unified-view pre{margin:0;padding:8px;white-space:pre-wrap;word-break:break-word}.cgx-markdown-preview{line-height:1.6;font-size:var(--font-base, 16px)}.cgx-markdown-preview ol{list-style:auto}.cgx-markdown-preview ul{list-style:disc}.cgx-markdown-preview ol,.cgx-markdown-preview ul{padding-left:1.5em;margin:0 0 12px}.cgx-markdown-preview li::marker{text-align:start!important}.cgx-markdown-preview h1{font-size:2em;font-weight:700;margin:16px 0}.cgx-markdown-preview h2{font-size:1.5em;font-weight:700;margin:14px 0}.cgx-markdown-preview p{margin:12px 0}.cgx-markdown-preview blockquote{margin:0;padding-left:1em;border-left:4px solid #ddd;color:#666}.cgx-markdown-preview table{border-collapse:collapse;width:100%;margin-bottom:16px}.cgx-markdown-preview th,.cgx-markdown-preview td{border:1px solid #ddd;padding:8px;text-align:left}.cgx-markdown-preview th{background-color:#f6f8fa}
|
|
1
|
+
.katex-block{display:block;margin:1em 0;text-align:center;overflow-x:auto;overflow-y:hidden}.cgx-markdown-preview .diff-container{border:1px solid #ebeef5;border-radius:4px;overflow:auto}.cgx-markdown-preview .diff-equal{color:#606266}.cgx-markdown-preview .diff-delete{background-color:#ffeef0;color:#f56c6c;text-decoration:line-through}.cgx-markdown-preview .diff-insert{background-color:#e6ffec;color:#67c23a}.cgx-markdown-preview .diff-unified-view pre{margin:0;padding:8px;white-space:pre-wrap;word-break:break-word}.cgx-markdown-preview{line-height:1.6;font-size:var(--font-base, 16px)}.cgx-markdown-preview ol{list-style:auto}.cgx-markdown-preview ul{list-style:disc}.cgx-markdown-preview ol,.cgx-markdown-preview ul{padding-left:1.5em;margin:0 0 12px}.cgx-markdown-preview li::marker{text-align:start!important}.cgx-markdown-preview h1{font-size:2em;font-weight:700;margin:16px 0}.cgx-markdown-preview h2{font-size:1.5em;font-weight:700;margin:14px 0}.cgx-markdown-preview p{margin:12px 0}.cgx-markdown-preview blockquote{margin:0;padding-left:1em;border-left:4px solid #ddd;color:#666}.cgx-markdown-preview table{border-collapse:collapse;width:100%;margin-bottom:16px}.cgx-markdown-preview th,.cgx-markdown-preview td{border:1px solid #ddd;padding:8px;text-align:left}.cgx-markdown-preview th{background-color:#f6f8fa}.cgx-markdown-preview .mermaid{text-align:center;font-size:14px;line-height:1.2}
|
package/es/md-preview/index.less
CHANGED
|
@@ -1,10 +1,30 @@
|
|
|
1
|
+
var __async = (__this, __arguments, generator) => {
|
|
2
|
+
return new Promise((resolve, reject) => {
|
|
3
|
+
var fulfilled = (value) => {
|
|
4
|
+
try {
|
|
5
|
+
step(generator.next(value));
|
|
6
|
+
} catch (e) {
|
|
7
|
+
reject(e);
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
var rejected = (value) => {
|
|
11
|
+
try {
|
|
12
|
+
step(generator.throw(value));
|
|
13
|
+
} catch (e) {
|
|
14
|
+
reject(e);
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
18
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
19
|
+
});
|
|
20
|
+
};
|
|
1
21
|
import { createVNode as _createVNode, createTextVNode as _createTextVNode, Fragment as _Fragment } from "vue";
|
|
2
22
|
import "./_atomic.css";
|
|
3
23
|
import { defineComponent, ref, computed, watch } from "vue";
|
|
4
24
|
import { ActionSheet, Search, List, Image, Empty, Tabs, Tab, Icon } from "vant";
|
|
5
25
|
import DeptImg from "./components/DeptImg";
|
|
6
26
|
import { orgPickerProps } from "./types";
|
|
7
|
-
import { useApi } from "./useApi";
|
|
27
|
+
import { useApi, getFinalUserList } from "./useApi";
|
|
8
28
|
import "./index.css";
|
|
9
29
|
import { useSearch } from "./useSearch";
|
|
10
30
|
var stdin_default = defineComponent({
|
|
@@ -68,19 +88,19 @@ var stdin_default = defineComponent({
|
|
|
68
88
|
const personnel = orgList.value.filter((item) => item.type !== "dept");
|
|
69
89
|
return [...personnel, ...departments];
|
|
70
90
|
});
|
|
71
|
-
watch(() => props.modelValue, (newValue) => {
|
|
72
|
-
var _a;
|
|
91
|
+
watch(() => props.modelValue, (newValue) => __async(this, null, function* () {
|
|
73
92
|
if (!newValue) {
|
|
74
93
|
selectedItems.value = [];
|
|
75
94
|
return;
|
|
76
95
|
}
|
|
77
|
-
|
|
96
|
+
const userList2 = yield getFinalUserList();
|
|
97
|
+
if (userList2 == null ? void 0 : userList2.length) {
|
|
78
98
|
selectedItems.value = newValue.map((id) => {
|
|
79
|
-
return
|
|
99
|
+
return userList2.find((item) => item.id === id);
|
|
80
100
|
});
|
|
81
101
|
updateDeptSelectionStatus();
|
|
82
102
|
}
|
|
83
|
-
}, {
|
|
103
|
+
}), {
|
|
84
104
|
immediate: true
|
|
85
105
|
});
|
|
86
106
|
watch(() => selectedItems.value, () => {
|
|
@@ -93,12 +113,23 @@ var stdin_default = defineComponent({
|
|
|
93
113
|
return;
|
|
94
114
|
const deptUsers = getUsersByDeptId(item.id);
|
|
95
115
|
const isFullySelected = fullySelectedDepts.value.has(item.id);
|
|
116
|
+
const deduplicateById = (arr) => {
|
|
117
|
+
const seenIds = /* @__PURE__ */ new Set();
|
|
118
|
+
return arr.filter((item2) => {
|
|
119
|
+
if (seenIds.has(item2.id)) {
|
|
120
|
+
return false;
|
|
121
|
+
}
|
|
122
|
+
seenIds.add(item2.id);
|
|
123
|
+
return true;
|
|
124
|
+
});
|
|
125
|
+
};
|
|
96
126
|
if (isFullySelected) {
|
|
97
127
|
const userIdsToRemove = new Set(deptUsers.map((user) => user.id));
|
|
98
|
-
selectedItems.value = selectedItems.value.filter((selectedItem) => !userIdsToRemove.has(selectedItem.id));
|
|
128
|
+
selectedItems.value = deduplicateById(selectedItems.value.filter((selectedItem) => !userIdsToRemove.has(selectedItem.id)));
|
|
99
129
|
} else {
|
|
100
130
|
const currentSelectedIds = new Set(selectedItems.value.map((item2) => item2.id));
|
|
101
|
-
|
|
131
|
+
let usersToAdd = deptUsers.filter((user) => !currentSelectedIds.has(user.id));
|
|
132
|
+
usersToAdd = deduplicateById(usersToAdd);
|
|
102
133
|
selectedItems.value.push(...usersToAdd);
|
|
103
134
|
}
|
|
104
135
|
};
|
package/es/org-picker/useApi.js
CHANGED
|
@@ -34,7 +34,7 @@ const fetchData = (url, cacheKey) => __async(void 0, null, function* () {
|
|
|
34
34
|
return res;
|
|
35
35
|
});
|
|
36
36
|
const fetchOrgList = (deptId) => __async(void 0, null, function* () {
|
|
37
|
-
const url =
|
|
37
|
+
const url = `${window.globalConfig.wFlowApi}/v1/oa/org/tree/cloud?deptId=${deptId}&type=user`;
|
|
38
38
|
return fetchData(url, deptId || "");
|
|
39
39
|
});
|
|
40
40
|
const userList = ref([]);
|
|
@@ -65,6 +65,15 @@ function initDeptList() {
|
|
|
65
65
|
}
|
|
66
66
|
initUserList();
|
|
67
67
|
initDeptList();
|
|
68
|
+
function getFinalUserList() {
|
|
69
|
+
return __async(this, null, function* () {
|
|
70
|
+
var _a;
|
|
71
|
+
if ((_a = userList.value) == null ? void 0 : _a.length) {
|
|
72
|
+
return userList.value;
|
|
73
|
+
}
|
|
74
|
+
return yield getUserList();
|
|
75
|
+
});
|
|
76
|
+
}
|
|
68
77
|
const useApi = () => {
|
|
69
78
|
const orgList = ref([]);
|
|
70
79
|
const orgSearchList = ref([]);
|
|
@@ -99,11 +108,9 @@ const useApi = () => {
|
|
|
99
108
|
orgSearchList.value = [];
|
|
100
109
|
return;
|
|
101
110
|
}
|
|
102
|
-
const url =
|
|
111
|
+
const url = `${window.globalConfig.wFlowApi}/v1/oa/org/tree/user/search/cloud?userName=${userName}`;
|
|
103
112
|
const searchResults = yield fetchData(url);
|
|
104
|
-
orgSearchList.value = searchResults.filter(
|
|
105
|
-
(item) => item.type !== "user" || item.status !== 5
|
|
106
|
-
);
|
|
113
|
+
orgSearchList.value = searchResults.filter((item) => item.type !== "user" || item.status !== 5).filter((item, index, self) => index === self.findIndex((other) => other.id === item.id));
|
|
107
114
|
}), 300);
|
|
108
115
|
const RECENT_SELECTED_USERS_KEY = "recent_selected_users_history";
|
|
109
116
|
const MAX_RECENT_SELECTIONS = 15;
|
|
@@ -118,7 +125,7 @@ const useApi = () => {
|
|
|
118
125
|
}
|
|
119
126
|
});
|
|
120
127
|
const url = decodeURIComponent(
|
|
121
|
-
|
|
128
|
+
`${window.globalConfig.wFlowApi}/v1/wflow/process/form/wf687dda91e4b027b047d4654c/data?keywords=${name}_${user.userId}&pageNo=1&pageSize=20`
|
|
122
129
|
);
|
|
123
130
|
const res = yield fetchData(url);
|
|
124
131
|
let recentList = [];
|
|
@@ -155,10 +162,10 @@ const useApi = () => {
|
|
|
155
162
|
data.field5375578403639 = JSON.stringify(list);
|
|
156
163
|
}
|
|
157
164
|
if (dataId.value) {
|
|
158
|
-
url =
|
|
165
|
+
url = `${window.globalConfig.wFlowApi}/v1/wflow/process/form/wf687dda91e4b027b047d4654c/data/${dataId.value}`;
|
|
159
166
|
method = "PUT";
|
|
160
167
|
} else {
|
|
161
|
-
url =
|
|
168
|
+
url = `${window.globalConfig.wFlowApi}/v1/wflow/process/start/4e441786-65fa-11f0-aef7-ce938f4cd78d`;
|
|
162
169
|
method = "POST";
|
|
163
170
|
}
|
|
164
171
|
const token = user.token;
|
|
@@ -261,9 +268,7 @@ const useApi = () => {
|
|
|
261
268
|
};
|
|
262
269
|
const getUsersByDeptId = (deptId) => {
|
|
263
270
|
const users = [];
|
|
264
|
-
const directUsers = userList.value.filter(
|
|
265
|
-
(user) => user.deptId === deptId && user.status !== 5
|
|
266
|
-
);
|
|
271
|
+
const directUsers = userList.value.filter((user) => user.deptId === deptId && user.status !== 5);
|
|
267
272
|
users.push(...directUsers);
|
|
268
273
|
const childDepts = deptList.value.filter((dept) => dept.parentId === deptId);
|
|
269
274
|
childDepts.forEach((childDept) => {
|
|
@@ -293,5 +298,6 @@ const useApi = () => {
|
|
|
293
298
|
};
|
|
294
299
|
};
|
|
295
300
|
export {
|
|
301
|
+
getFinalUserList,
|
|
296
302
|
useApi
|
|
297
303
|
};
|
|
@@ -24,7 +24,7 @@ const useApi = () => {
|
|
|
24
24
|
const projectList = ref([]);
|
|
25
25
|
const getProjectList = () => __async(void 0, null, function* () {
|
|
26
26
|
const res = yield useFetch(
|
|
27
|
-
|
|
27
|
+
`${window.globalConfig.vxApi}/v1/note/projects`,
|
|
28
28
|
{
|
|
29
29
|
method: "GET"
|
|
30
30
|
}
|
package/es/vue-tsx-shim.d.ts
CHANGED
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.18.
|
|
11
|
+
export const version: "1.18.13";
|
|
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.18.
|
|
48
|
+
const version = "1.18.13";
|
|
49
49
|
function install(app) {
|
|
50
50
|
const components = [
|
|
51
51
|
import_md_preview.default,
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
1
2
|
var __defProp = Object.defineProperty;
|
|
2
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
5
|
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
5
7
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
8
|
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
9
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
@@ -28,7 +30,35 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
28
30
|
}
|
|
29
31
|
return to;
|
|
30
32
|
};
|
|
33
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
34
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
35
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
36
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
37
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
38
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
39
|
+
mod
|
|
40
|
+
));
|
|
31
41
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
42
|
+
var __async = (__this, __arguments, generator) => {
|
|
43
|
+
return new Promise((resolve, reject) => {
|
|
44
|
+
var fulfilled = (value) => {
|
|
45
|
+
try {
|
|
46
|
+
step(generator.next(value));
|
|
47
|
+
} catch (e) {
|
|
48
|
+
reject(e);
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
var rejected = (value) => {
|
|
52
|
+
try {
|
|
53
|
+
step(generator.throw(value));
|
|
54
|
+
} catch (e) {
|
|
55
|
+
reject(e);
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
59
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
60
|
+
});
|
|
61
|
+
};
|
|
32
62
|
var stdin_exports = {};
|
|
33
63
|
__export(stdin_exports, {
|
|
34
64
|
default: () => stdin_default
|
|
@@ -40,6 +70,7 @@ var import_vue2 = require("vue");
|
|
|
40
70
|
var import_types = require("./types");
|
|
41
71
|
var import_index = require("./index.css");
|
|
42
72
|
var import_shared = require("@cgboiler/shared");
|
|
73
|
+
var import_mermaid = __toESM(require("mermaid"));
|
|
43
74
|
const {
|
|
44
75
|
initMarked,
|
|
45
76
|
renderMarkdown,
|
|
@@ -67,13 +98,30 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
|
67
98
|
}
|
|
68
99
|
return props.typewriter ? currentText.value : htmlContent.value;
|
|
69
100
|
});
|
|
101
|
+
const renderMermaidDiagrams = () => __async(this, null, function* () {
|
|
102
|
+
try {
|
|
103
|
+
yield import_mermaid.default.run();
|
|
104
|
+
} catch (error) {
|
|
105
|
+
console.error("Mermaid rendering failed:", error);
|
|
106
|
+
}
|
|
107
|
+
});
|
|
70
108
|
(0, import_vue2.watch)([() => props.text, () => props.typewriterKey], () => {
|
|
71
109
|
if (props.typewriter) {
|
|
72
110
|
typewriterController.start(htmlContent.value);
|
|
73
111
|
}
|
|
112
|
+
renderMermaidDiagrams();
|
|
74
113
|
}, {
|
|
75
114
|
immediate: true
|
|
76
115
|
});
|
|
116
|
+
(0, import_vue2.onMounted)(() => {
|
|
117
|
+
import_mermaid.default.initialize({
|
|
118
|
+
startOnLoad: false,
|
|
119
|
+
// 非常重要!我们手动控制渲染时机
|
|
120
|
+
theme: "default"
|
|
121
|
+
// 可选主题: 'default', 'dark', 'forest', 'neutral'
|
|
122
|
+
});
|
|
123
|
+
renderMermaidDiagrams();
|
|
124
|
+
});
|
|
77
125
|
return () => (0, import_vue.createVNode)("div", {
|
|
78
126
|
"class": "cgx-markdown-preview",
|
|
79
127
|
"innerHTML": displayContent.value
|
package/lib/md-preview/index.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.katex-block{display:block;margin:1em 0;text-align:center;overflow-x:auto;overflow-y:hidden}.cgx-markdown-preview .diff-container{border:1px solid #ebeef5;border-radius:4px;overflow:auto}.cgx-markdown-preview .diff-equal{color:#606266}.cgx-markdown-preview .diff-delete{background-color:#ffeef0;color:#f56c6c;text-decoration:line-through}.cgx-markdown-preview .diff-insert{background-color:#e6ffec;color:#67c23a}.cgx-markdown-preview .diff-unified-view pre{margin:0;padding:8px;white-space:pre-wrap;word-break:break-word}.cgx-markdown-preview{line-height:1.6;font-size:var(--font-base, 16px)}.cgx-markdown-preview ol{list-style:auto}.cgx-markdown-preview ul{list-style:disc}.cgx-markdown-preview ol,.cgx-markdown-preview ul{padding-left:1.5em;margin:0 0 12px}.cgx-markdown-preview li::marker{text-align:start!important}.cgx-markdown-preview h1{font-size:2em;font-weight:700;margin:16px 0}.cgx-markdown-preview h2{font-size:1.5em;font-weight:700;margin:14px 0}.cgx-markdown-preview p{margin:12px 0}.cgx-markdown-preview blockquote{margin:0;padding-left:1em;border-left:4px solid #ddd;color:#666}.cgx-markdown-preview table{border-collapse:collapse;width:100%;margin-bottom:16px}.cgx-markdown-preview th,.cgx-markdown-preview td{border:1px solid #ddd;padding:8px;text-align:left}.cgx-markdown-preview th{background-color:#f6f8fa}
|
|
1
|
+
.katex-block{display:block;margin:1em 0;text-align:center;overflow-x:auto;overflow-y:hidden}.cgx-markdown-preview .diff-container{border:1px solid #ebeef5;border-radius:4px;overflow:auto}.cgx-markdown-preview .diff-equal{color:#606266}.cgx-markdown-preview .diff-delete{background-color:#ffeef0;color:#f56c6c;text-decoration:line-through}.cgx-markdown-preview .diff-insert{background-color:#e6ffec;color:#67c23a}.cgx-markdown-preview .diff-unified-view pre{margin:0;padding:8px;white-space:pre-wrap;word-break:break-word}.cgx-markdown-preview{line-height:1.6;font-size:var(--font-base, 16px)}.cgx-markdown-preview ol{list-style:auto}.cgx-markdown-preview ul{list-style:disc}.cgx-markdown-preview ol,.cgx-markdown-preview ul{padding-left:1.5em;margin:0 0 12px}.cgx-markdown-preview li::marker{text-align:start!important}.cgx-markdown-preview h1{font-size:2em;font-weight:700;margin:16px 0}.cgx-markdown-preview h2{font-size:1.5em;font-weight:700;margin:14px 0}.cgx-markdown-preview p{margin:12px 0}.cgx-markdown-preview blockquote{margin:0;padding-left:1em;border-left:4px solid #ddd;color:#666}.cgx-markdown-preview table{border-collapse:collapse;width:100%;margin-bottom:16px}.cgx-markdown-preview th,.cgx-markdown-preview td{border:1px solid #ddd;padding:8px;text-align:left}.cgx-markdown-preview th{background-color:#f6f8fa}.cgx-markdown-preview .mermaid{text-align:center;font-size:14px;line-height:1.2}
|
|
@@ -25,6 +25,26 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
25
25
|
mod
|
|
26
26
|
));
|
|
27
27
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
28
|
+
var __async = (__this, __arguments, generator) => {
|
|
29
|
+
return new Promise((resolve, reject) => {
|
|
30
|
+
var fulfilled = (value) => {
|
|
31
|
+
try {
|
|
32
|
+
step(generator.next(value));
|
|
33
|
+
} catch (e) {
|
|
34
|
+
reject(e);
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
var rejected = (value) => {
|
|
38
|
+
try {
|
|
39
|
+
step(generator.throw(value));
|
|
40
|
+
} catch (e) {
|
|
41
|
+
reject(e);
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
45
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
46
|
+
});
|
|
47
|
+
};
|
|
28
48
|
var stdin_exports = {};
|
|
29
49
|
__export(stdin_exports, {
|
|
30
50
|
default: () => stdin_default
|
|
@@ -100,19 +120,19 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
|
100
120
|
const personnel = orgList.value.filter((item) => item.type !== "dept");
|
|
101
121
|
return [...personnel, ...departments];
|
|
102
122
|
});
|
|
103
|
-
(0, import_vue2.watch)(() => props.modelValue, (newValue) => {
|
|
104
|
-
var _a;
|
|
123
|
+
(0, import_vue2.watch)(() => props.modelValue, (newValue) => __async(this, null, function* () {
|
|
105
124
|
if (!newValue) {
|
|
106
125
|
selectedItems.value = [];
|
|
107
126
|
return;
|
|
108
127
|
}
|
|
109
|
-
|
|
128
|
+
const userList2 = yield (0, import_useApi.getFinalUserList)();
|
|
129
|
+
if (userList2 == null ? void 0 : userList2.length) {
|
|
110
130
|
selectedItems.value = newValue.map((id) => {
|
|
111
|
-
return
|
|
131
|
+
return userList2.find((item) => item.id === id);
|
|
112
132
|
});
|
|
113
133
|
updateDeptSelectionStatus();
|
|
114
134
|
}
|
|
115
|
-
}, {
|
|
135
|
+
}), {
|
|
116
136
|
immediate: true
|
|
117
137
|
});
|
|
118
138
|
(0, import_vue2.watch)(() => selectedItems.value, () => {
|
|
@@ -125,12 +145,23 @@ var stdin_default = (0, import_vue2.defineComponent)({
|
|
|
125
145
|
return;
|
|
126
146
|
const deptUsers = getUsersByDeptId(item.id);
|
|
127
147
|
const isFullySelected = fullySelectedDepts.value.has(item.id);
|
|
148
|
+
const deduplicateById = (arr) => {
|
|
149
|
+
const seenIds = /* @__PURE__ */ new Set();
|
|
150
|
+
return arr.filter((item2) => {
|
|
151
|
+
if (seenIds.has(item2.id)) {
|
|
152
|
+
return false;
|
|
153
|
+
}
|
|
154
|
+
seenIds.add(item2.id);
|
|
155
|
+
return true;
|
|
156
|
+
});
|
|
157
|
+
};
|
|
128
158
|
if (isFullySelected) {
|
|
129
159
|
const userIdsToRemove = new Set(deptUsers.map((user) => user.id));
|
|
130
|
-
selectedItems.value = selectedItems.value.filter((selectedItem) => !userIdsToRemove.has(selectedItem.id));
|
|
160
|
+
selectedItems.value = deduplicateById(selectedItems.value.filter((selectedItem) => !userIdsToRemove.has(selectedItem.id)));
|
|
131
161
|
} else {
|
|
132
162
|
const currentSelectedIds = new Set(selectedItems.value.map((item2) => item2.id));
|
|
133
|
-
|
|
163
|
+
let usersToAdd = deptUsers.filter((user) => !currentSelectedIds.has(user.id));
|
|
164
|
+
usersToAdd = deduplicateById(usersToAdd);
|
|
134
165
|
selectedItems.value.push(...usersToAdd);
|
|
135
166
|
}
|
|
136
167
|
};
|
package/lib/org-picker/useApi.js
CHANGED
|
@@ -37,6 +37,7 @@ var __async = (__this, __arguments, generator) => {
|
|
|
37
37
|
};
|
|
38
38
|
var stdin_exports = {};
|
|
39
39
|
__export(stdin_exports, {
|
|
40
|
+
getFinalUserList: () => getFinalUserList,
|
|
40
41
|
useApi: () => useApi
|
|
41
42
|
});
|
|
42
43
|
module.exports = __toCommonJS(stdin_exports);
|
|
@@ -56,7 +57,7 @@ const fetchData = (url, cacheKey) => __async(void 0, null, function* () {
|
|
|
56
57
|
return res;
|
|
57
58
|
});
|
|
58
59
|
const fetchOrgList = (deptId) => __async(void 0, null, function* () {
|
|
59
|
-
const url =
|
|
60
|
+
const url = `${window.globalConfig.wFlowApi}/v1/oa/org/tree/cloud?deptId=${deptId}&type=user`;
|
|
60
61
|
return fetchData(url, deptId || "");
|
|
61
62
|
});
|
|
62
63
|
const userList = (0, import_vue.ref)([]);
|
|
@@ -87,6 +88,15 @@ function initDeptList() {
|
|
|
87
88
|
}
|
|
88
89
|
initUserList();
|
|
89
90
|
initDeptList();
|
|
91
|
+
function getFinalUserList() {
|
|
92
|
+
return __async(this, null, function* () {
|
|
93
|
+
var _a;
|
|
94
|
+
if ((_a = userList.value) == null ? void 0 : _a.length) {
|
|
95
|
+
return userList.value;
|
|
96
|
+
}
|
|
97
|
+
return yield (0, import_core.getUserList)();
|
|
98
|
+
});
|
|
99
|
+
}
|
|
90
100
|
const useApi = () => {
|
|
91
101
|
const orgList = (0, import_vue.ref)([]);
|
|
92
102
|
const orgSearchList = (0, import_vue.ref)([]);
|
|
@@ -121,11 +131,9 @@ const useApi = () => {
|
|
|
121
131
|
orgSearchList.value = [];
|
|
122
132
|
return;
|
|
123
133
|
}
|
|
124
|
-
const url =
|
|
134
|
+
const url = `${window.globalConfig.wFlowApi}/v1/oa/org/tree/user/search/cloud?userName=${userName}`;
|
|
125
135
|
const searchResults = yield fetchData(url);
|
|
126
|
-
orgSearchList.value = searchResults.filter(
|
|
127
|
-
(item) => item.type !== "user" || item.status !== 5
|
|
128
|
-
);
|
|
136
|
+
orgSearchList.value = searchResults.filter((item) => item.type !== "user" || item.status !== 5).filter((item, index, self) => index === self.findIndex((other) => other.id === item.id));
|
|
129
137
|
}), 300);
|
|
130
138
|
const RECENT_SELECTED_USERS_KEY = "recent_selected_users_history";
|
|
131
139
|
const MAX_RECENT_SELECTIONS = 15;
|
|
@@ -140,7 +148,7 @@ const useApi = () => {
|
|
|
140
148
|
}
|
|
141
149
|
});
|
|
142
150
|
const url = decodeURIComponent(
|
|
143
|
-
|
|
151
|
+
`${window.globalConfig.wFlowApi}/v1/wflow/process/form/wf687dda91e4b027b047d4654c/data?keywords=${name}_${user.userId}&pageNo=1&pageSize=20`
|
|
144
152
|
);
|
|
145
153
|
const res = yield fetchData(url);
|
|
146
154
|
let recentList = [];
|
|
@@ -177,10 +185,10 @@ const useApi = () => {
|
|
|
177
185
|
data.field5375578403639 = JSON.stringify(list);
|
|
178
186
|
}
|
|
179
187
|
if (dataId.value) {
|
|
180
|
-
url =
|
|
188
|
+
url = `${window.globalConfig.wFlowApi}/v1/wflow/process/form/wf687dda91e4b027b047d4654c/data/${dataId.value}`;
|
|
181
189
|
method = "PUT";
|
|
182
190
|
} else {
|
|
183
|
-
url =
|
|
191
|
+
url = `${window.globalConfig.wFlowApi}/v1/wflow/process/start/4e441786-65fa-11f0-aef7-ce938f4cd78d`;
|
|
184
192
|
method = "POST";
|
|
185
193
|
}
|
|
186
194
|
const token = user.token;
|
|
@@ -283,9 +291,7 @@ const useApi = () => {
|
|
|
283
291
|
};
|
|
284
292
|
const getUsersByDeptId = (deptId) => {
|
|
285
293
|
const users = [];
|
|
286
|
-
const directUsers = userList.value.filter(
|
|
287
|
-
(user) => user.deptId === deptId && user.status !== 5
|
|
288
|
-
);
|
|
294
|
+
const directUsers = userList.value.filter((user) => user.deptId === deptId && user.status !== 5);
|
|
289
295
|
users.push(...directUsers);
|
|
290
296
|
const childDepts = deptList.value.filter((dept) => dept.parentId === deptId);
|
|
291
297
|
childDepts.forEach((childDept) => {
|
|
@@ -46,7 +46,7 @@ const useApi = () => {
|
|
|
46
46
|
const projectList = (0, import_vue.ref)([]);
|
|
47
47
|
const getProjectList = () => __async(void 0, null, function* () {
|
|
48
48
|
const res = yield (0, import_core.useFetch)(
|
|
49
|
-
|
|
49
|
+
`${window.globalConfig.vxApi}/v1/note/projects`,
|
|
50
50
|
{
|
|
51
51
|
method: "GET"
|
|
52
52
|
}
|
package/lib/vue-tsx-shim.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cgboiler/biz-mobile",
|
|
3
|
-
"version": "1.18.
|
|
3
|
+
"version": "1.18.14",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "es/index.js",
|
|
@@ -48,11 +48,12 @@
|
|
|
48
48
|
"@tiptap/pm": "3.0.0-beta.5",
|
|
49
49
|
"@tiptap/starter-kit": "3.0.0-beta.5",
|
|
50
50
|
"@tiptap/vue-3": "3.0.0-beta.5",
|
|
51
|
+
"mermaid": "^11.10.1",
|
|
51
52
|
"lodash-es": "^4.17.21",
|
|
52
53
|
"vant": "^4.9.19",
|
|
53
|
-
"@cgboiler/
|
|
54
|
-
"@cgboiler/
|
|
55
|
-
"@cgboiler/
|
|
54
|
+
"@cgboiler/core": "1.2.9",
|
|
55
|
+
"@cgboiler/biz-basic": "1.0.16",
|
|
56
|
+
"@cgboiler/shared": "1.1.2"
|
|
56
57
|
},
|
|
57
58
|
"scripts": {
|
|
58
59
|
"dev": "cg-cli dev",
|