@gct-paas/render-web 6.0.0-dev.4 → 6.0.0-dev.41
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/dist/index.min.css +1 -1
- package/dist/loader.esm.min.js +2 -2
- package/es/Event/Events.d.ts +3 -12
- package/es/Event/modeling-traceability/assets/empty.png.mjs +4 -0
- package/es/Event/modeling-traceability/components/expression-condition.vue.d.ts +5 -0
- package/es/Event/modeling-traceability/components/expression-condition.vue.mjs +5 -0
- package/es/Event/modeling-traceability/components/expression-condition.vue_vue_type_script_setup_true_lang.mjs +22 -0
- package/es/Event/modeling-traceability/components/file-cell.vue.d.ts +5 -0
- package/es/Event/modeling-traceability/components/file-cell.vue.mjs +7 -0
- package/es/Event/modeling-traceability/components/file-cell.vue_vue_type_script_setup_true_lang.mjs +81 -0
- package/es/Event/modeling-traceability/components/file-cell.vue_vue_type_style_index_0_scoped_104536e3_lang.css +74 -0
- package/es/Event/modeling-traceability/components/image-cell.vue.d.ts +5 -0
- package/es/Event/modeling-traceability/components/image-cell.vue.mjs +7 -0
- package/es/Event/modeling-traceability/components/image-cell.vue_vue_type_script_setup_true_lang.mjs +83 -0
- package/es/Event/modeling-traceability/components/image-cell.vue_vue_type_style_index_0_scoped_1b5cd3ef_lang.css +86 -0
- package/es/Event/modeling-traceability/components/serial-rule.vue.d.ts +5 -0
- package/es/Event/modeling-traceability/components/serial-rule.vue.mjs +5 -0
- package/es/Event/modeling-traceability/components/serial-rule.vue_vue_type_script_setup_true_lang.mjs +47 -0
- package/es/Event/modeling-traceability/components/signature-cell.vue.d.ts +5 -0
- package/es/Event/modeling-traceability/components/signature-cell.vue.mjs +7 -0
- package/es/Event/modeling-traceability/components/signature-cell.vue_vue_type_script_setup_true_lang.mjs +79 -0
- package/es/Event/modeling-traceability/components/signature-cell.vue_vue_type_style_index_0_scoped_c9ef9bd9_lang.css +83 -0
- package/es/Event/modeling-traceability/components/trace-table.vue.d.ts +7 -0
- package/es/Event/modeling-traceability/components/trace-table.vue.mjs +7 -0
- package/es/Event/modeling-traceability/components/trace-table.vue_vue_type_script_setup_true_lang.mjs +158 -0
- package/es/Event/modeling-traceability/components/trace-table.vue_vue_type_style_index_0_scoped_a3754f9c_lang.css +67 -0
- package/es/Event/modeling-traceability/index.d.ts +15 -0
- package/es/Event/modeling-traceability/index.mjs +40 -0
- package/es/Event/modeling-traceability/modeling-trace-template.vue.mjs +8 -0
- package/es/Event/modeling-traceability/modeling-trace-template.vue_vue_type_script_setup_true_lang.mjs +610 -0
- package/es/Event/modeling-traceability/modeling-trace-template.vue_vue_type_style_index_0_scoped_3663bfcb_lang.css +176 -0
- package/es/Event/modeling-traceability/modeling-trace-template.vue_vue_type_style_index_1_lang.css +20 -0
- package/es/components/card-view-render/card-view-render.d.ts +2 -2
- package/es/components/card-view-render/card-view-render.mjs +21 -1
- package/es/components/field-search-cascader/field-cascader.vue.mjs +2 -2
- package/es/components/field-search-cascader/field-cascader.vue_vue_type_script_setup_true_lang.mjs +1 -1
- package/es/components/field-search-cascader/{field-cascader.vue_vue_type_style_index_0_scoped_cb5e4d67_lang.css → field-cascader.vue_vue_type_style_index_0_scoped_f8f0cdba_lang.css} +11 -11
- package/es/components/form-component/field-label/tag-label.vue_vue_type_script_setup_true_name_TagLabel_lang.mjs +1 -1
- package/es/components/layouts/basic-page/basic-page.vue.mjs +1 -1
- package/es/hooks/refCardList.d.ts +12 -2
- package/es/hooks/refCardList.mjs +69 -6
- package/es/index.d.ts +1 -0
- package/es/index.mjs +4 -2
- package/es/locale/sys/appDesigner.d.ts +5 -0
- package/es/locale/sys/appDesigner.mjs +5 -0
- package/es/locale/sys/component.d.ts +3 -0
- package/es/locale/sys/component.mjs +13 -10
- package/es/locale/sys/model.d.ts +2 -0
- package/es/locale/sys/model.mjs +2 -0
- package/es/locale/sys/pageDesigner.d.ts +3 -0
- package/es/locale/sys/pageDesigner.mjs +3 -0
- package/es/locale/sys.d.ts +5 -0
- package/es/locale/sys.mjs +6 -1
- package/es/modules/app-mqtt/app-mqtt.service.d.ts +2 -2
- package/es/modules/app-mqtt/app-mqtt.service.mjs +1 -1
- package/es/plugins/render-card-field/render-card-field.mjs +20 -1
- package/es/setup-app.mjs +6 -0
- package/package.json +17 -14
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
@charset "UTF-8";
|
|
2
|
+
/* stylelint-disable scss/no-global-function-names */
|
|
3
|
+
/* bem('block', 'element', 'modifier') => 'ibiz-block__element--modifier' */
|
|
4
|
+
/**
|
|
5
|
+
* 定义 Block 块
|
|
6
|
+
* @param {String} $block - Block 块名称
|
|
7
|
+
* @example
|
|
8
|
+
* @include b('button') {
|
|
9
|
+
* padding: 10px;
|
|
10
|
+
* }
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* 定义 Element 元素
|
|
14
|
+
* @param {String|List} $element - Element 元素名称,支持单个或多个
|
|
15
|
+
* @example
|
|
16
|
+
* @include b('button') {
|
|
17
|
+
* @include e('text') {
|
|
18
|
+
* color: #000;
|
|
19
|
+
* }
|
|
20
|
+
* }
|
|
21
|
+
* // 或传入多个元素
|
|
22
|
+
* @include b('button') {
|
|
23
|
+
* @include e(('text', 'icon')) {
|
|
24
|
+
* margin: 5px;
|
|
25
|
+
* }
|
|
26
|
+
* }
|
|
27
|
+
*/
|
|
28
|
+
/**
|
|
29
|
+
* 定义 Modifier 修饰符
|
|
30
|
+
* @param {String|List} $modifier - Modifier 修饰符名称,支持单个或多个
|
|
31
|
+
* @example
|
|
32
|
+
* @include b('button') {
|
|
33
|
+
* @include m('primary') {
|
|
34
|
+
* background: blue;
|
|
35
|
+
* }
|
|
36
|
+
* }
|
|
37
|
+
* // 或传入多个修饰符
|
|
38
|
+
* @include b('button') {
|
|
39
|
+
* @include m(('primary', 'large')) {
|
|
40
|
+
* background: blue;
|
|
41
|
+
* font-size: 16px;
|
|
42
|
+
* }
|
|
43
|
+
* }
|
|
44
|
+
*/
|
|
45
|
+
/**
|
|
46
|
+
* 定义状态选择器
|
|
47
|
+
* @param {String} $state - 状态名称
|
|
48
|
+
* @example
|
|
49
|
+
* @include b('button') {
|
|
50
|
+
* @include when('disabled') {
|
|
51
|
+
* opacity: 0.5;
|
|
52
|
+
* }
|
|
53
|
+
* }
|
|
54
|
+
*/
|
|
55
|
+
/**
|
|
56
|
+
* 深色主题样式
|
|
57
|
+
* @param {String} $block - Block 块名称
|
|
58
|
+
* @example
|
|
59
|
+
* @include dark('button') {
|
|
60
|
+
* background: #333;
|
|
61
|
+
* color: #fff;
|
|
62
|
+
* }
|
|
63
|
+
*/
|
|
64
|
+
/* stylelint-disable scss/no-global-function-names */
|
|
65
|
+
[data-v-3663bfcb] .ant-table-expanded-row .ant-table-bordered > .ant-table-container {
|
|
66
|
+
border-right: none !important;
|
|
67
|
+
}
|
|
68
|
+
[data-v-3663bfcb] .ant-table-tbody .ant-table-row-level-1 td {
|
|
69
|
+
border-bottom: none !important;
|
|
70
|
+
}
|
|
71
|
+
.gct-modeling-trace__color-blue[data-v-3663bfcb] {
|
|
72
|
+
color: #3168ec;
|
|
73
|
+
}
|
|
74
|
+
[data-v-3663bfcb] .ant-table-thead
|
|
75
|
+
> tr
|
|
76
|
+
> th:not(:last-child):not(.ant-table-selection-column):not(
|
|
77
|
+
.ant-table-row-expand-icon-cell
|
|
78
|
+
):not([colspan])::before {
|
|
79
|
+
width: 1px;
|
|
80
|
+
}
|
|
81
|
+
[data-v-3663bfcb] .image-list-box .ant-image {
|
|
82
|
+
box-sizing: content-box;
|
|
83
|
+
margin-right: 4px;
|
|
84
|
+
border: 1px dashed #d9d9d9;
|
|
85
|
+
border-radius: 2px;
|
|
86
|
+
}
|
|
87
|
+
[data-v-3663bfcb] .image-list-box .ant-image .ant-image-img {
|
|
88
|
+
vertical-align: top;
|
|
89
|
+
}
|
|
90
|
+
[data-v-3663bfcb] .image-list-box .ant-image .ant-image-img,[data-v-3663bfcb] .image-list-box .ant-image .ant-image-mask {
|
|
91
|
+
visibility: visible;
|
|
92
|
+
border-radius: 2px;
|
|
93
|
+
}
|
|
94
|
+
.gct-modeling-trace__scroll-container[data-v-3663bfcb],
|
|
95
|
+
.gct-modeling-trace__empty[data-v-3663bfcb] {
|
|
96
|
+
position: relative;
|
|
97
|
+
min-height: 400px;
|
|
98
|
+
}
|
|
99
|
+
.gct-modeling-trace__scroll-container[data-v-3663bfcb] {
|
|
100
|
+
margin-top: -23px;
|
|
101
|
+
padding-bottom: 40px;
|
|
102
|
+
}
|
|
103
|
+
.gct-modeling-trace__pagination[data-v-3663bfcb] {
|
|
104
|
+
position: absolute;
|
|
105
|
+
z-index: 100;
|
|
106
|
+
right: 20px;
|
|
107
|
+
bottom: 53px;
|
|
108
|
+
width: calc(100% - 40px);
|
|
109
|
+
padding: 12px 0;
|
|
110
|
+
background: #fff;
|
|
111
|
+
}
|
|
112
|
+
.gct-modeling-trace__item-header[data-v-3663bfcb] {
|
|
113
|
+
display: flex;
|
|
114
|
+
position: relative;
|
|
115
|
+
padding: 16px;
|
|
116
|
+
padding-left: 28px;
|
|
117
|
+
color: var(--ant-primary-color);
|
|
118
|
+
}
|
|
119
|
+
.gct-modeling-trace__expanded-icon[data-v-3663bfcb] {
|
|
120
|
+
position: absolute;
|
|
121
|
+
top: 20px;
|
|
122
|
+
left: 8px;
|
|
123
|
+
}
|
|
124
|
+
.gct-modeling-trace--expanded[data-v-3663bfcb] {
|
|
125
|
+
border-radius: 4px;
|
|
126
|
+
background: #f7f8fa;
|
|
127
|
+
}
|
|
128
|
+
.gct-modeling-trace__expanded-border[data-v-3663bfcb] {
|
|
129
|
+
margin-bottom: 4px;
|
|
130
|
+
border: 1px solid var(--ant-primary-color);
|
|
131
|
+
border-radius: 4px;
|
|
132
|
+
}
|
|
133
|
+
.gct-modeling-trace__item-header.gct-modeling-trace__sticky-header[data-v-3663bfcb] {
|
|
134
|
+
position: sticky;
|
|
135
|
+
z-index: 100;
|
|
136
|
+
top: -24px;
|
|
137
|
+
right: 0;
|
|
138
|
+
left: 0;
|
|
139
|
+
}
|
|
140
|
+
.gct-modeling-trace__title[data-v-3663bfcb] {
|
|
141
|
+
margin: 20px 0 12px 16px;
|
|
142
|
+
color: #1e222b;
|
|
143
|
+
font-size: 16px;
|
|
144
|
+
font-weight: 500;
|
|
145
|
+
}
|
|
146
|
+
.gct-modeling-trace__title[data-v-3663bfcb]::before {
|
|
147
|
+
content: " ";
|
|
148
|
+
display: inline-block;
|
|
149
|
+
width: 3px;
|
|
150
|
+
height: 16px;
|
|
151
|
+
margin-right: 10px;
|
|
152
|
+
background-color: var(--ant-primary-color);
|
|
153
|
+
vertical-align: middle;
|
|
154
|
+
}
|
|
155
|
+
.gct-modeling-trace__sub-title[data-v-3663bfcb] {
|
|
156
|
+
margin: 20px 0 12px;
|
|
157
|
+
}
|
|
158
|
+
[data-v-3663bfcb] .ant-descriptions-row > td {
|
|
159
|
+
padding-bottom: 0;
|
|
160
|
+
}
|
|
161
|
+
[data-v-3663bfcb] .ant-descriptions-item-content {
|
|
162
|
+
display: inline-block;
|
|
163
|
+
width: 100%;
|
|
164
|
+
overflow: hidden;
|
|
165
|
+
text-overflow: ellipsis;
|
|
166
|
+
white-space: nowrap;
|
|
167
|
+
}
|
|
168
|
+
.gct-modeling-trace__wrap[data-v-3663bfcb] {
|
|
169
|
+
white-space: wrap;
|
|
170
|
+
}
|
|
171
|
+
.gct-modeling-trace__close[data-v-3663bfcb] {
|
|
172
|
+
color: rgba(0, 0, 0, 0.4509803922);
|
|
173
|
+
}
|
|
174
|
+
.gct-modeling-trace__close[data-v-3663bfcb]:hover {
|
|
175
|
+
color: rgba(0, 0, 0, 0.7490196078);
|
|
176
|
+
}
|
package/es/Event/modeling-traceability/modeling-trace-template.vue_vue_type_style_index_1_lang.css
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
.gct-modeling-trace .ant-modal-body {
|
|
2
|
+
width: 100%;
|
|
3
|
+
max-height: calc(88vh - 150px);
|
|
4
|
+
overflow-y: auto;
|
|
5
|
+
}
|
|
6
|
+
.gct-modeling-trace__trace-table .ant-table-row .ant-table-cell:nth-child(1),
|
|
7
|
+
.gct-modeling-trace__trace-table .ant-table-row .ant-table-cell:nth-child(2),
|
|
8
|
+
.gct-modeling-trace__trace-table .ant-table-row .ant-table-cell:nth-child(3),
|
|
9
|
+
.gct-modeling-trace__trace-table .ant-table-row .ant-table-cell:nth-child(4),
|
|
10
|
+
.gct-modeling-trace__trace-table .ant-table-row .ant-table-cell:nth-child(5) {
|
|
11
|
+
border-right: 1px solid #f0f0f0;
|
|
12
|
+
}
|
|
13
|
+
.gct-modeling-trace__trace-table .ant-table-row .ant-table-cell:nth-last-child(1),
|
|
14
|
+
.gct-modeling-trace__trace-table .ant-table-row .ant-table-cell:nth-last-child(2),
|
|
15
|
+
.gct-modeling-trace__trace-table .ant-table-row .ant-table-cell:nth-last-child(3) {
|
|
16
|
+
border-right: none;
|
|
17
|
+
}
|
|
18
|
+
.gct-modeling-trace__trace-table .ant-table-row.ant-table-row-level-1 {
|
|
19
|
+
display: none;
|
|
20
|
+
}
|
|
@@ -9,7 +9,7 @@ export declare const CardViewRender: import('vue').DefineComponent<import('vue')
|
|
|
9
9
|
required: true;
|
|
10
10
|
};
|
|
11
11
|
fetch: {
|
|
12
|
-
type: PropType<() => Promise<IObject>>;
|
|
12
|
+
type: PropType<(foreignFields?: string[]) => Promise<IObject>>;
|
|
13
13
|
};
|
|
14
14
|
preview: {
|
|
15
15
|
type: BooleanConstructor;
|
|
@@ -25,7 +25,7 @@ export declare const CardViewRender: import('vue').DefineComponent<import('vue')
|
|
|
25
25
|
required: true;
|
|
26
26
|
};
|
|
27
27
|
fetch: {
|
|
28
|
-
type: PropType<() => Promise<IObject>>;
|
|
28
|
+
type: PropType<(foreignFields?: string[]) => Promise<IObject>>;
|
|
29
29
|
};
|
|
30
30
|
preview: {
|
|
31
31
|
type: BooleanConstructor;
|
|
@@ -4,6 +4,23 @@ import { computed, createVNode, defineComponent, nextTick, ref } from "vue";
|
|
|
4
4
|
import { gctMemoizeAsync, useNamespace } from "@gct-paas/core";
|
|
5
5
|
//#region src/components/card-view-render/card-view-render.tsx
|
|
6
6
|
var loadModelAsync = gctMemoizeAsync(_api.apaas.commonInfoCard.getGetById);
|
|
7
|
+
/** 从卡片节点提取关联模型钻取字段,参考 useDependency foreignFields: path.* */
|
|
8
|
+
function getCardForeignFields(nodes = {}) {
|
|
9
|
+
const foreignFields = /* @__PURE__ */ new Set();
|
|
10
|
+
Object.values(nodes).forEach((node) => {
|
|
11
|
+
const chain = node?.data?.fieldCodeChain;
|
|
12
|
+
if (!chain) return;
|
|
13
|
+
let fieldLink;
|
|
14
|
+
if (typeof chain === "string") try {
|
|
15
|
+
fieldLink = JSON.parse(chain)?.fieldLink;
|
|
16
|
+
} catch {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
else fieldLink = chain.fieldLink;
|
|
20
|
+
if (fieldLink?.length) foreignFields.add(`${fieldLink.join(".")}.*`);
|
|
21
|
+
});
|
|
22
|
+
return Array.from(foreignFields);
|
|
23
|
+
}
|
|
7
24
|
var CardViewRender = /* @__PURE__ */ defineComponent({
|
|
8
25
|
name: "CardViewRender",
|
|
9
26
|
props: {
|
|
@@ -45,7 +62,10 @@ var CardViewRender = /* @__PURE__ */ defineComponent({
|
|
|
45
62
|
try {
|
|
46
63
|
isLoading.value = true;
|
|
47
64
|
await loadModel();
|
|
48
|
-
if (props.preview !== true && props.fetch)
|
|
65
|
+
if (props.preview !== true && props.fetch) {
|
|
66
|
+
const foreignFields = getCardForeignFields(json.value?.nodes);
|
|
67
|
+
data.value = await props.fetch(foreignFields) || {};
|
|
68
|
+
}
|
|
49
69
|
} catch (error) {
|
|
50
70
|
console.error(error);
|
|
51
71
|
} finally {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import _plugin_vue_export_helper_default from "../../_virtual/_plugin-vue_export-helper.mjs";
|
|
2
2
|
import field_cascader_vue_vue_type_script_setup_true_lang_default from "./field-cascader.vue_vue_type_script_setup_true_lang.mjs";
|
|
3
|
-
import './field-cascader.vue_vue_type_style_index_1_lang.css';import './field-cascader.
|
|
3
|
+
import './field-cascader.vue_vue_type_style_index_1_lang.css';import './field-cascader.vue_vue_type_style_index_0_scoped_f8f0cdba_lang.css';/* empty css */
|
|
4
4
|
/* empty css */
|
|
5
5
|
//#region src/components/field-search-cascader/field-cascader.vue
|
|
6
|
-
var field_cascader_default = /* @__PURE__ */ _plugin_vue_export_helper_default(field_cascader_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-
|
|
6
|
+
var field_cascader_default = /* @__PURE__ */ _plugin_vue_export_helper_default(field_cascader_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-f8f0cdba"]]);
|
|
7
7
|
//#endregion
|
|
8
8
|
export { field_cascader_default as default };
|
package/es/components/field-search-cascader/field-cascader.vue_vue_type_script_setup_true_lang.mjs
CHANGED
|
@@ -201,7 +201,7 @@ var field_cascader_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
201
201
|
};
|
|
202
202
|
const getOptions = async (value) => {
|
|
203
203
|
let list = [];
|
|
204
|
-
if (value.bindInfo &&
|
|
204
|
+
if (value.bindInfo && showTypes.includes(value.fieldType)) {
|
|
205
205
|
const options = optionsMap.get(value.id);
|
|
206
206
|
if (options?.length) list = cloneDeep(options);
|
|
207
207
|
else {
|
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
.field-search-cascader-wrap[data-v-
|
|
1
|
+
.field-search-cascader-wrap[data-v-f8f0cdba] {
|
|
2
2
|
position: relative;
|
|
3
3
|
}
|
|
4
|
-
.field-search-cascader-wrap[data-v-
|
|
4
|
+
.field-search-cascader-wrap[data-v-f8f0cdba] .field-search-cascader-input:hover.clear-icon .anticon.ant-input-clear-icon-hidden {
|
|
5
5
|
visibility: visible !important;
|
|
6
6
|
}
|
|
7
|
-
.field-cascader-pop-content[data-v-
|
|
7
|
+
.field-cascader-pop-content[data-v-f8f0cdba] {
|
|
8
8
|
margin-top: 4px;
|
|
9
9
|
z-index: 1011;
|
|
10
10
|
background: #fff;
|
|
11
11
|
box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);
|
|
12
12
|
}
|
|
13
|
-
.field-cascader-pop-content .field-cascader-item-box[data-v-
|
|
13
|
+
.field-cascader-pop-content .field-cascader-item-box[data-v-f8f0cdba] {
|
|
14
14
|
border-right: 1px solid #e0e3ea;
|
|
15
15
|
width: 150px;
|
|
16
16
|
}
|
|
17
|
-
.field-cascader-pop-content .field-cascader-item-box[data-v-
|
|
17
|
+
.field-cascader-pop-content .field-cascader-item-box[data-v-f8f0cdba]:last-child {
|
|
18
18
|
border-right: 0;
|
|
19
19
|
}
|
|
20
|
-
.field-cascader-pop-content .field-cascader-list-box[data-v-
|
|
20
|
+
.field-cascader-pop-content .field-cascader-list-box[data-v-f8f0cdba] {
|
|
21
21
|
margin-top: 4px;
|
|
22
22
|
height: 100%;
|
|
23
23
|
max-height: 200px;
|
|
24
24
|
overflow-y: auto;
|
|
25
25
|
}
|
|
26
|
-
.field-cascader-pop-content .field-cascader-list-box .search-name[data-v-
|
|
26
|
+
.field-cascader-pop-content .field-cascader-list-box .search-name[data-v-f8f0cdba] {
|
|
27
27
|
color: var(--ant-primary-color) !important;
|
|
28
28
|
}
|
|
29
|
-
.field-cascader-pop-content .field-cascader-item[data-v-
|
|
29
|
+
.field-cascader-pop-content .field-cascader-item[data-v-f8f0cdba] {
|
|
30
30
|
cursor: pointer;
|
|
31
31
|
line-height: 24px;
|
|
32
32
|
margin-bottom: 4px;
|
|
@@ -38,15 +38,15 @@
|
|
|
38
38
|
text-overflow: ellipsis;
|
|
39
39
|
white-space: nowrap;
|
|
40
40
|
}
|
|
41
|
-
.field-cascader-pop-content .field-cascader-item .right-icon[data-v-
|
|
41
|
+
.field-cascader-pop-content .field-cascader-item .right-icon[data-v-f8f0cdba] {
|
|
42
42
|
position: absolute;
|
|
43
43
|
right: 0;
|
|
44
44
|
top: 6px;
|
|
45
45
|
font-size: 12px;
|
|
46
46
|
}
|
|
47
|
-
.field-cascader-pop-content .field-cascader-item[data-v-
|
|
47
|
+
.field-cascader-pop-content .field-cascader-item[data-v-f8f0cdba]:hover {
|
|
48
48
|
background: #f5f5f5;
|
|
49
49
|
}
|
|
50
|
-
.field-cascader-pop-content .field-cascader-item-selected[data-v-
|
|
50
|
+
.field-cascader-pop-content .field-cascader-item-selected[data-v-f8f0cdba] {
|
|
51
51
|
background: #e6eeff !important;
|
|
52
52
|
}
|
|
@@ -4,8 +4,8 @@ import { schemaToStyle } from "@gct-paas/render";
|
|
|
4
4
|
import { Fragment, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, h, inject, normalizeStyle, openBlock, renderList, toDisplayString, toRef, unref, withCtx, withModifiers } from "vue";
|
|
5
5
|
import { FIELD_TYPE, transformUrl } from "@gct-paas/core";
|
|
6
6
|
import { Avatar } from "ant-design-vue";
|
|
7
|
-
import { isString } from "lodash-es";
|
|
8
7
|
import { IconNext } from "@gct-paas/core-components";
|
|
8
|
+
import { isString } from "lodash-es";
|
|
9
9
|
//#region src/components/form-component/field-label/tag-label.vue?vue&type=script&setup=true&name=TagLabel&lang.ts
|
|
10
10
|
var _hoisted_1 = { class: "select-text" };
|
|
11
11
|
var _hoisted_2 = { class: "select-text" };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import _plugin_vue_export_helper_default from "../../../_virtual/_plugin-vue_export-helper.mjs";
|
|
1
2
|
import basic_page_vue_vue_type_script_setup_true_name_basic_page_lang_default from "./basic-page.vue_vue_type_script_setup_true_name_basic-page_lang.mjs";
|
|
2
3
|
import './basic-page.vue_vue_type_style_index_0_scoped_23453a1b_lang.css';/* empty css */
|
|
3
|
-
import _plugin_vue_export_helper_default from "../../../_virtual/_plugin-vue_export-helper.mjs";
|
|
4
4
|
//#region src/components/layouts/basic-page/basic-page.vue
|
|
5
5
|
var basic_page_default = /* @__PURE__ */ _plugin_vue_export_helper_default(basic_page_vue_vue_type_script_setup_true_name_basic_page_lang_default, [["__scopeId", "data-v-23453a1b"]]);
|
|
6
6
|
//#endregion
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FIELD_TYPE } from '@gct-paas/core';
|
|
1
|
+
import { FIELD_TYPE, IFieldCodeChain } from '@gct-paas/core';
|
|
2
2
|
import { Select } from '@gct-paas/schema';
|
|
3
3
|
export declare function useRefCardData(props: {
|
|
4
4
|
widget: Select;
|
|
@@ -17,7 +17,17 @@ export declare function useGetRefCard(): {
|
|
|
17
17
|
modelKey: any;
|
|
18
18
|
refCardId: any;
|
|
19
19
|
};
|
|
20
|
+
/**
|
|
21
|
+
* 从卡片设计节点中提取关联模型钻取字段
|
|
22
|
+
* 参考 useDependency / getRefInfoId 中 foreignFields 用法:关联路径 + '.*'
|
|
23
|
+
*/
|
|
24
|
+
export declare function getCardForeignFields(nodes?: IObject): string[];
|
|
25
|
+
/**
|
|
26
|
+
* 根据卡片字段取值路径读取关联模型字段值
|
|
27
|
+
* fieldCodeChain.fieldLink + key => __FOREIGN__['link.key']
|
|
28
|
+
*/
|
|
29
|
+
export declare function getCardFieldValue(data?: IObject, fieldKey?: string, fieldCodeChain?: IFieldCodeChain | string | null): any;
|
|
20
30
|
export declare function getDataByModelType({ fieldType, modelKey }: {
|
|
21
31
|
fieldType: FIELD_TYPE;
|
|
22
32
|
modelKey: string;
|
|
23
|
-
}, id: string): Promise<IObject
|
|
33
|
+
}, id: string, foreignFields?: string[]): Promise<IObject>;
|
package/es/hooks/refCardList.mjs
CHANGED
|
@@ -29,7 +29,62 @@ function useGetRefCard() {
|
|
|
29
29
|
refCardId
|
|
30
30
|
};
|
|
31
31
|
}
|
|
32
|
-
|
|
32
|
+
/**
|
|
33
|
+
* 从卡片设计节点中提取关联模型钻取字段
|
|
34
|
+
* 参考 useDependency / getRefInfoId 中 foreignFields 用法:关联路径 + '.*'
|
|
35
|
+
*/
|
|
36
|
+
function getCardForeignFields(nodes = {}) {
|
|
37
|
+
const foreignFields = /* @__PURE__ */ new Set();
|
|
38
|
+
Object.values(nodes).forEach((node) => {
|
|
39
|
+
const fieldLink = parseFieldCodeChain(node?.data?.fieldCodeChain)?.fieldLink;
|
|
40
|
+
if (!fieldLink?.length) return;
|
|
41
|
+
foreignFields.add(`${fieldLink.join(".")}.*`);
|
|
42
|
+
});
|
|
43
|
+
return Array.from(foreignFields);
|
|
44
|
+
}
|
|
45
|
+
function parseFieldCodeChain(fieldCodeChain) {
|
|
46
|
+
if (!fieldCodeChain) return;
|
|
47
|
+
if (typeof fieldCodeChain === "string") try {
|
|
48
|
+
return JSON.parse(fieldCodeChain);
|
|
49
|
+
} catch {
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
return fieldCodeChain;
|
|
53
|
+
}
|
|
54
|
+
/** 翻译关联字段(__FOREIGN__ 中为 path.key 扁平结构) */
|
|
55
|
+
function transformForeignToDict(foreign = {}, dict = {}) {
|
|
56
|
+
return Object.keys(foreign).reduce((total, curr) => {
|
|
57
|
+
const value = foreign[curr];
|
|
58
|
+
if (value && typeof value === "object" && !Array.isArray(value)) {
|
|
59
|
+
total[curr] = transformForeignToDict(value, dict);
|
|
60
|
+
return total;
|
|
61
|
+
}
|
|
62
|
+
const leafKey = curr.includes(".") ? curr.split(".").pop() : curr;
|
|
63
|
+
const map = dict[curr] ?? dict[leafKey];
|
|
64
|
+
try {
|
|
65
|
+
total[curr] = value ? String(value).split(",").map((k) => map?.[k] ?? k).join(",") : value;
|
|
66
|
+
} catch {
|
|
67
|
+
total[curr] = value;
|
|
68
|
+
}
|
|
69
|
+
return total;
|
|
70
|
+
}, {});
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* 根据卡片字段取值路径读取关联模型字段值
|
|
74
|
+
* fieldCodeChain.fieldLink + key => __FOREIGN__['link.key']
|
|
75
|
+
*/
|
|
76
|
+
function getCardFieldValue(data = {}, fieldKey, fieldCodeChain) {
|
|
77
|
+
if (!fieldKey) return "";
|
|
78
|
+
const chain = parseFieldCodeChain(fieldCodeChain);
|
|
79
|
+
if (chain?.fieldLink?.length) {
|
|
80
|
+
const path = [...chain.fieldLink, fieldKey].join(".");
|
|
81
|
+
return data?.__FOREIGN__?.[path] ?? data?.[path] ?? "";
|
|
82
|
+
}
|
|
83
|
+
return data?.[fieldKey] ?? "";
|
|
84
|
+
}
|
|
85
|
+
async function getDataByModelType({ fieldType, modelKey }, id, foreignFields = []) {
|
|
86
|
+
const fields = foreignFields?.length ? foreignFields : [];
|
|
87
|
+
console.log("getDataByModelType", foreignFields, fields);
|
|
33
88
|
if (fieldType === FIELD_TYPE.RDO_REF) {
|
|
34
89
|
const { data = {}, dict = {} } = await _api.apaas.modelComprehensive.postBizServiceModelCategoryModelKeyBsKey({
|
|
35
90
|
modelKey,
|
|
@@ -38,8 +93,8 @@ async function getDataByModelType({ fieldType, modelKey }, id) {
|
|
|
38
93
|
}, {
|
|
39
94
|
includeDeleted: 1,
|
|
40
95
|
refId: id
|
|
41
|
-
}, { foreignFields:
|
|
42
|
-
return
|
|
96
|
+
}, { foreignFields: fields });
|
|
97
|
+
return transformCardData(data, dict);
|
|
43
98
|
} else {
|
|
44
99
|
const { data = {}, dict = {} } = await _api.apaas.modelComprehensive.postBizServiceModelCategoryModelKeyBsKey({
|
|
45
100
|
modelKey,
|
|
@@ -47,10 +102,18 @@ async function getDataByModelType({ fieldType, modelKey }, id) {
|
|
|
47
102
|
modelCategory: EntityModelCategoryEnum.ENTITY
|
|
48
103
|
}, { includeDeleted: 1 }, {
|
|
49
104
|
query: { "id_.eq": id },
|
|
50
|
-
foreignFields:
|
|
105
|
+
foreignFields: fields
|
|
51
106
|
});
|
|
52
|
-
return
|
|
107
|
+
return transformCardData(data, dict);
|
|
53
108
|
}
|
|
54
109
|
}
|
|
110
|
+
function transformCardData(data = {}, dict = {}) {
|
|
111
|
+
const foreign = data.__FOREIGN__;
|
|
112
|
+
const mainData = { ...data };
|
|
113
|
+
delete mainData.__FOREIGN__;
|
|
114
|
+
const result = transformDataToDict(mainData, dict);
|
|
115
|
+
if (foreign) result.__FOREIGN__ = transformForeignToDict(foreign, dict);
|
|
116
|
+
return result;
|
|
117
|
+
}
|
|
55
118
|
//#endregion
|
|
56
|
-
export { getDataByModelType, useGetRefCard, useRefCardData };
|
|
119
|
+
export { getCardFieldValue, getCardForeignFields, getDataByModelType, useGetRefCard, useRefCardData };
|
package/es/index.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { setupPageEvent, usePageEvent, type ContextPcType, type EventsPC, } from './Event/Events';
|
|
2
|
+
export { modelingTraceability, ModelingTraceTemplate, type ModelingTraceabilityOptions, } from './Event/modeling-traceability';
|
|
2
3
|
export * from './modules/app-mqtt';
|
|
3
4
|
export * from './components/index';
|
|
4
5
|
export * from './hooks';
|
package/es/index.mjs
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { setupPageEvent, usePageEvent } from "./Event/Events.mjs";
|
|
2
|
+
import modeling_trace_template_default from "./Event/modeling-traceability/modeling-trace-template.vue.mjs";
|
|
3
|
+
import { modelingTraceability } from "./Event/modeling-traceability/index.mjs";
|
|
2
4
|
import { AppMqttService } from "./modules/app-mqtt/app-mqtt.service.mjs";
|
|
3
5
|
import "./modules/app-mqtt/index.mjs";
|
|
4
6
|
import basic_page_default from "./components/layouts/basic-page/basic-page.vue.mjs";
|
|
@@ -9,7 +11,7 @@ import tag_label_default from "./components/form-component/field-label/tag-label
|
|
|
9
11
|
import selectTag_default from "./components/form-component/field-label/selectTag.vue.mjs";
|
|
10
12
|
import { CardViewRender } from "./components/card-view-render/card-view-render.mjs";
|
|
11
13
|
import ref_card_label_render_default from "./components/form-component/field-label/ref-card-label-render.vue.mjs";
|
|
12
|
-
import { getDataByModelType, useGetRefCard, useRefCardData } from "./hooks/refCardList.mjs";
|
|
14
|
+
import { getCardFieldValue, getCardForeignFields, getDataByModelType, useGetRefCard, useRefCardData } from "./hooks/refCardList.mjs";
|
|
13
15
|
import { useQuickNext, useSearchEvent } from "./hooks/useQuickSearch.mjs";
|
|
14
16
|
import "./hooks/index.mjs";
|
|
15
17
|
import field_readonly_default from "./components/form-component/field-readonly.vue.mjs";
|
|
@@ -29,4 +31,4 @@ function run() {
|
|
|
29
31
|
console.log("Hello World!");
|
|
30
32
|
}
|
|
31
33
|
//#endregion
|
|
32
|
-
export { AppMqttService, base_vxe_table_default as BaseVxeTable, basic_page_default as BasicPage, basic_page_render_default as BasicPageRender, CardViewRender, collapse_detail_default as CollapseDetail, FieldCheckbox_default as FieldCheckbox, FieldRadio_default as FieldRadio, field_cascader_default as FieldSearchCascader, FieldSelect_default as FieldSelect, multi_field_display_default as MultiFieldDisplay, rich_editor_default as RichEditor, tag_span_default as Tag, XlsxParser, field_readonly_default as fieldReadonly, getDataByModelType, ref_card_label_render_default as refCardLabelRender, renderWebSetupApp, run, selectTag_default as selectTag, setupPageEvent, tag_label_default as taglabel, useGetRefCard, usePageEvent, useQuickNext, useRefCardData, useSearchEvent };
|
|
34
|
+
export { AppMqttService, base_vxe_table_default as BaseVxeTable, basic_page_default as BasicPage, basic_page_render_default as BasicPageRender, CardViewRender, collapse_detail_default as CollapseDetail, FieldCheckbox_default as FieldCheckbox, FieldRadio_default as FieldRadio, field_cascader_default as FieldSearchCascader, FieldSelect_default as FieldSelect, modeling_trace_template_default as ModelingTraceTemplate, multi_field_display_default as MultiFieldDisplay, rich_editor_default as RichEditor, tag_span_default as Tag, XlsxParser, field_readonly_default as fieldReadonly, getCardFieldValue, getCardForeignFields, getDataByModelType, modelingTraceability, ref_card_label_render_default as refCardLabelRender, renderWebSetupApp, run, selectTag_default as selectTag, setupPageEvent, tag_label_default as taglabel, useGetRefCard, usePageEvent, useQuickNext, useRefCardData, useSearchEvent };
|
|
@@ -4,6 +4,11 @@ var appDesigner_exports = /* @__PURE__ */ __exportAll({ default: () => appDesign
|
|
|
4
4
|
var appDesigner_default = {
|
|
5
5
|
appLogoImage: "图片",
|
|
6
6
|
basicInformation: "基本信息",
|
|
7
|
+
systemTriggered: "系统触发",
|
|
8
|
+
userBehavior: "用户行为",
|
|
9
|
+
modelTrace: "建模追溯",
|
|
10
|
+
operationType: "操作类型",
|
|
11
|
+
detailData: "详细数据",
|
|
7
12
|
approval: { button: { PartialSubmit: "部分提交" } },
|
|
8
13
|
template: "模板"
|
|
9
14
|
};
|
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
import { __exportAll } from "../../_virtual/_rolldown/runtime.mjs";
|
|
2
2
|
//#region src/locale/sys/component.ts
|
|
3
3
|
var component_exports = /* @__PURE__ */ __exportAll({ default: () => component_default });
|
|
4
|
-
var component_default = {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
4
|
+
var component_default = {
|
|
5
|
+
table: { total: "共 {total} 条" },
|
|
6
|
+
dataConnection: { modelField: {
|
|
7
|
+
integer: "整数",
|
|
8
|
+
long: "长整数",
|
|
9
|
+
double: "小数",
|
|
10
|
+
decimal: "精度小数",
|
|
11
|
+
boolean: "布尔",
|
|
12
|
+
date: "日期",
|
|
13
|
+
user: "人员关联",
|
|
14
|
+
org: "部门关联"
|
|
15
|
+
} }
|
|
16
|
+
};
|
|
14
17
|
//#endregion
|
|
15
18
|
export { component_exports };
|
package/es/locale/sys/model.d.ts
CHANGED
package/es/locale/sys/model.mjs
CHANGED
|
@@ -2,6 +2,8 @@ import { __exportAll } from "../../_virtual/_rolldown/runtime.mjs";
|
|
|
2
2
|
//#region src/locale/sys/model.ts
|
|
3
3
|
var model_exports = /* @__PURE__ */ __exportAll({ default: () => model_default });
|
|
4
4
|
var model_default = {
|
|
5
|
+
data: "数据",
|
|
6
|
+
fieldName: "字段名称",
|
|
5
7
|
uniqueOrNot: "是否唯一",
|
|
6
8
|
option: "枚举单选",
|
|
7
9
|
related_lot_no: "关联批次",
|
|
@@ -3,6 +3,9 @@ import { __exportAll } from "../../_virtual/_rolldown/runtime.mjs";
|
|
|
3
3
|
var pageDesigner_exports = /* @__PURE__ */ __exportAll({ default: () => pageDesigner_default });
|
|
4
4
|
var pageDesigner_default = {
|
|
5
5
|
searchField: "搜索字段",
|
|
6
|
+
oldData: "旧数据",
|
|
7
|
+
newData: "新数据",
|
|
8
|
+
more: "更多",
|
|
6
9
|
dataLinkage: { rootSelectPlaceholder2: "请选择模型字段" }
|
|
7
10
|
};
|
|
8
11
|
//#endregion
|
package/es/locale/sys.d.ts
CHANGED
package/es/locale/sys.mjs
CHANGED
|
@@ -8,7 +8,12 @@ var sys_default = {
|
|
|
8
8
|
tableColumnDate: "时间",
|
|
9
9
|
signatureImage: "签名",
|
|
10
10
|
true: "是",
|
|
11
|
-
checkBarcodeFieldTip: "请关联实体模型后再配置变量类型的条码内容"
|
|
11
|
+
checkBarcodeFieldTip: "请关联实体模型后再配置变量类型的条码内容",
|
|
12
|
+
index: "序号",
|
|
13
|
+
operation: "操作",
|
|
14
|
+
loadingText: "加载中...",
|
|
15
|
+
cancelOpenness: "关闭",
|
|
16
|
+
traceDetail: "追溯详情"
|
|
12
17
|
};
|
|
13
18
|
//#endregion
|
|
14
19
|
export { sys_exports };
|
|
@@ -35,12 +35,12 @@ export declare class AppMqttService extends SystemMqttService {
|
|
|
35
35
|
protected static subs(): void;
|
|
36
36
|
protected static subKickOut(): MqttCancelSub;
|
|
37
37
|
/**
|
|
38
|
-
*
|
|
38
|
+
* 订阅应用级 MQTT 消息
|
|
39
39
|
*
|
|
40
40
|
* @static
|
|
41
41
|
* @param {string} topic
|
|
42
42
|
*/
|
|
43
|
-
|
|
43
|
+
static subscribeApp<T = IObject>(topic: string, callback: MqttSubCallback<T>): MqttCancelSub;
|
|
44
44
|
/**
|
|
45
45
|
* 订阅在线人数变化
|
|
46
46
|
*
|