neo-cmp-cli 1.13.22 → 1.13.23
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/README.md +3 -0
- package/package.json +1 -1
- package/template/antd-custom-cmp-template/package.json +1 -1
- package/template/antd-custom-cmp-template/src/components/dataDashboard__c/model.ts +1 -1
- package/template/antd-custom-cmp-template/src/components/dataDashboard__c/style.scss +11 -11
- package/template/antd-custom-cmp-template/src/components/searchWidget__c/model.ts +1 -1
- package/template/asset-manage-template/package.json +1 -1
- package/template/asset-manage-template/src/components/assetManage__c/style.scss +4 -4
- package/template/asset-manage-template/src/components/bidList__c/style.scss +2 -2
- package/template/asset-manage-template/src/components/bidPackage__c/style.scss +2 -2
- package/template/echarts-custom-cmp-template/package.json +1 -1
- package/template/echarts-custom-cmp-template/src/components/chartWidget__c/model.ts +1 -1
- package/template/echarts-custom-cmp-template/src/components/chartWidget__c/style.scss +1 -1
- package/template/empty-custom-cmp-template/package.json +1 -1
- package/template/map-custom-cmp-template/package.json +1 -1
- package/template/map-custom-cmp-template/src/components/mapWidget__c/model.ts +1 -1
- package/template/map-custom-cmp-template/src/components/mapWidget__c/style.scss +2 -2
- package/template/neo-bi-cmps/package.json +1 -1
- package/template/neo-bi-cmps/public/demo.html +10 -10
- package/template/neo-bi-cmps/src/components/filterBar__c/model.ts +2 -1
- package/template/neo-bi-cmps/src/components/targetNumber__c/index.tsx +13 -8
- package/template/neo-bi-cmps/src/components/targetNumber__c/model.ts +10 -4
- package/template/neo-bi-cmps/src/components/targetNumber__c/style.scss +13 -5
- package/template/neo-custom-cmp-template/package.json +1 -1
- package/template/neo-custom-cmp-template/src/components/customApi__c/model.ts +1 -1
- package/template/neo-custom-cmp-template/src/components/customApi__c/style.scss +5 -3
- package/template/neo-custom-cmp-template/src/components/entityDetail__c/index.tsx +25 -54
- package/template/neo-custom-cmp-template/src/components/entityDetail__c/model.ts +1 -1
- package/template/neo-custom-cmp-template/src/components/entityDetail__c/style.scss +111 -68
- package/template/neo-custom-cmp-template/src/components/entityForm__c/index.tsx +0 -1
- package/template/neo-custom-cmp-template/src/components/entityForm__c/model.ts +1 -1
- package/template/neo-custom-cmp-template/src/components/entityTable__c/index.tsx +0 -1
- package/template/neo-custom-cmp-template/src/components/entityTable__c/model.ts +11 -11
- package/template/neo-custom-cmp-template/src/components/entityTable__c/style.scss +4 -4
- package/template/neo-custom-cmp-template/src/components/simpleCmp__c/index.tsx +2 -2
- package/template/neo-custom-cmp-template/src/components/simpleCmp__c/model.ts +1 -1
- package/template/neo-h5-cmps/package.json +1 -1
- package/template/neo-h5-cmps/src/components/chatPage__c/model.ts +1 -1
- package/template/neo-h5-cmps/src/components/entityList__c/model.ts +1 -1
- package/template/neo-h5-cmps/src/components/entityTabs__c/model.ts +2 -2
- package/template/neo-h5-cmps/src/components/entityTabs__c/style.scss +15 -6
- package/template/neo-h5-cmps/src/components/globalSearchInput__c/model.ts +1 -1
- package/template/neo-h5-cmps/src/components/openChatPageBtn__c/model.ts +1 -1
- package/template/neo-order-cmps/src/components/entityInfoCard__c/index.tsx +4 -12
- package/template/neo-order-cmps/src/components/entityInfoCard__c/model.ts +3 -3
- package/template/neo-order-cmps/src/components/entityInfoCard__c/style.scss +6 -5
- package/template/neo-order-cmps/src/components/simpleTable__c/index.tsx +71 -20
- package/template/neo-order-cmps/src/components/simpleTable__c/model.ts +15 -11
- package/template/neo-order-cmps/src/components/simpleTable__c/style.scss +39 -29
- package/template/neo-pipeline-cmps/package.json +1 -1
- package/template/neo-pipeline-cmps/public/demo.html +10 -10
- package/template/neo-pipeline-cmps/src/components/pipelineFunnel__c/style.scss +1 -1
- package/template/neo-pipeline-cmps/src/components/showHealthResult__c/style.scss +1 -1
- package/template/neo-pipeline-cmps/src/components/simpleTable__c/common.scss +3 -3
- package/template/neo-pipeline-cmps/src/components/simpleTable__c/style.scss +2 -2
- package/template/neo-pipeline-cmps/src/components/stageSwitch__c/style.scss +1 -1
- package/template/neo-pipeline-cmps/src/components/stageTimeChart__c/style.scss +2 -2
- package/template/neo-web-entity-grid/package.json +1 -1
- package/template/neo-web-entity-grid/src/components/createForm__c/model.ts +1 -1
- package/template/neo-web-entity-grid/src/components/entityGrid2__c/model.ts +1 -1
- package/template/neo-web-entity-grid/src/components/entityGrid3__c/model.ts +1 -1
- package/template/neo-web-entity-grid/src/components/entityGrid4__c/model.ts +1 -1
- package/template/neo-web-entity-grid/src/components/entityGrid__c/model.ts +1 -1
- package/template/neo-web-entity-grid/src/components/searchForm__c/model.ts +1 -1
- package/template/neo-web-form/package.json +1 -1
- package/template/neo-web-form/src/components/batchAddTable__c/model.ts +1 -1
- package/template/neo-web-form/src/components/batchAddTable__c/tableModal.scss +1 -1
- package/template/neo-web-form/src/components/listSummary__c/model.ts +1 -1
- package/template/neo-web-form/src/components/listSummary__c/style.scss +2 -2
- package/template/react-custom-cmp-template/package.json +1 -1
- package/template/react-custom-cmp-template/src/components/infoCard__c/model.js +1 -1
- package/template/react-ts-custom-cmp-template/package.json +1 -1
- package/template/react-ts-custom-cmp-template/src/components/listWidget__c/model.ts +1 -1
- package/template/react-ts-custom-cmp-template/src/components/listWidget__c/style.scss +1 -1
- package/template/vue2-custom-cmp-template/package.json +1 -1
- package/template/vue2-custom-cmp-template/src/components/vueInfoCard__c/model.js +1 -1
- package/template/antd-custom-cmp-template/src/components/infoCard__c/index.tsx +0 -89
- package/template/antd-custom-cmp-template/src/components/infoCard__c/model.ts +0 -76
- package/template/antd-custom-cmp-template/src/components/infoCard__c/style.scss +0 -105
- package/template/neo-custom-cmp-template/src/components/entityCardList__c/README.md +0 -61
- package/template/neo-custom-cmp-template/src/components/entityCardList__c/index.tsx +0 -226
- package/template/neo-custom-cmp-template/src/components/entityCardList__c/model.ts +0 -89
- package/template/neo-custom-cmp-template/src/components/entityCardList__c/style.scss +0 -260
|
@@ -1,19 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
Card,
|
|
4
|
-
Row,
|
|
5
|
-
Col,
|
|
6
|
-
Spin,
|
|
7
|
-
Empty,
|
|
8
|
-
Descriptions,
|
|
9
|
-
Button,
|
|
10
|
-
Tag,
|
|
11
|
-
Divider,
|
|
12
|
-
Typography,
|
|
13
|
-
} from 'antd';
|
|
2
|
+
import { Spin, Empty, Button, Tag, Divider, Typography } from 'antd';
|
|
14
3
|
import {
|
|
15
4
|
ReloadOutlined,
|
|
16
|
-
InfoCircleOutlined,
|
|
17
5
|
CheckCircleOutlined,
|
|
18
6
|
CloseCircleOutlined,
|
|
19
7
|
} from '@ant-design/icons';
|
|
@@ -21,7 +9,7 @@ import {
|
|
|
21
9
|
import { xObject } from 'neo-open-api'; // Neo OpenAPI SDK
|
|
22
10
|
import './style.scss';
|
|
23
11
|
|
|
24
|
-
const { Title
|
|
12
|
+
const { Title } = Typography;
|
|
25
13
|
|
|
26
14
|
interface EntityDetailProps {
|
|
27
15
|
title?: string;
|
|
@@ -165,7 +153,7 @@ export default class EntityDetail extends React.PureComponent<
|
|
|
165
153
|
|
|
166
154
|
renderFieldValue(value: any, fieldType: string) {
|
|
167
155
|
if (value === null || value === undefined || value === '') {
|
|
168
|
-
return <
|
|
156
|
+
return <span className="info-value-empty">-</span>;
|
|
169
157
|
}
|
|
170
158
|
|
|
171
159
|
// 根据字段类型渲染不同的值
|
|
@@ -245,39 +233,28 @@ export default class EntityDetail extends React.PureComponent<
|
|
|
245
233
|
}
|
|
246
234
|
|
|
247
235
|
return (
|
|
248
|
-
<
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
<
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
contentStyle={{
|
|
262
|
-
backgroundColor: '#ffffff',
|
|
263
|
-
}}
|
|
264
|
-
>
|
|
265
|
-
{fields.map((fieldKey) => {
|
|
266
|
-
const fieldType = this.getFieldType(fieldKey);
|
|
267
|
-
const fieldLabel = this.getFieldLabel(fieldKey);
|
|
268
|
-
const fieldValue = detailData[fieldKey];
|
|
269
|
-
|
|
270
|
-
return (
|
|
271
|
-
<Descriptions.Item label={fieldLabel} key={fieldKey}>
|
|
236
|
+
<div className="detail-info-body">
|
|
237
|
+
<div className="info-grid">
|
|
238
|
+
{columnGroups.map((fields, colIndex) => (
|
|
239
|
+
<div key={colIndex} className="info-column">
|
|
240
|
+
{fields.map((fieldKey) => {
|
|
241
|
+
const fieldType = this.getFieldType(fieldKey);
|
|
242
|
+
const fieldLabel = this.getFieldLabel(fieldKey);
|
|
243
|
+
const fieldValue = detailData[fieldKey];
|
|
244
|
+
|
|
245
|
+
return (
|
|
246
|
+
<div key={fieldKey} className="info-item">
|
|
247
|
+
<div className="info-label">{fieldLabel}</div>
|
|
248
|
+
<div className="info-value">
|
|
272
249
|
{this.renderFieldValue(fieldValue, fieldType)}
|
|
273
|
-
</
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
</
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
</
|
|
250
|
+
</div>
|
|
251
|
+
</div>
|
|
252
|
+
);
|
|
253
|
+
})}
|
|
254
|
+
</div>
|
|
255
|
+
))}
|
|
256
|
+
</div>
|
|
257
|
+
</div>
|
|
281
258
|
);
|
|
282
259
|
}
|
|
283
260
|
|
|
@@ -294,13 +271,7 @@ export default class EntityDetail extends React.PureComponent<
|
|
|
294
271
|
<div className="detail-header">
|
|
295
272
|
<div className="header-content">
|
|
296
273
|
<Title level={4} className="header-title">
|
|
297
|
-
|
|
298
|
-
{title || '实体数据详情'}
|
|
299
|
-
{systemInfo.tenantName ? (
|
|
300
|
-
<Tag color="blue" style={{ marginLeft: 8 }}>
|
|
301
|
-
{systemInfo.tenantName}
|
|
302
|
-
</Tag>
|
|
303
|
-
) : null}
|
|
274
|
+
{title || '实体详情数据'}
|
|
304
275
|
</Title>
|
|
305
276
|
<Button
|
|
306
277
|
type="primary"
|
|
@@ -14,7 +14,7 @@ export class EntityDetailModel {
|
|
|
14
14
|
label: string = '实体数据详情';
|
|
15
15
|
|
|
16
16
|
/** 组件描述,用于设置在编辑器左侧组件面板中展示的描述 */
|
|
17
|
-
description: string = '
|
|
17
|
+
description: string = '实体详情信息展示,支持多列布局';
|
|
18
18
|
|
|
19
19
|
/** 分类标签,用于设置在编辑器左侧组件面板哪个分类中展示 */
|
|
20
20
|
// tags: string[] = ['自定义组件'];
|
|
@@ -12,7 +12,6 @@
|
|
|
12
12
|
|
|
13
13
|
.detail-header {
|
|
14
14
|
flex-shrink: 0;
|
|
15
|
-
margin-bottom: 16px;
|
|
16
15
|
|
|
17
16
|
.header-content {
|
|
18
17
|
display: flex;
|
|
@@ -28,14 +27,14 @@
|
|
|
28
27
|
font-size: 18px;
|
|
29
28
|
font-weight: 500;
|
|
30
29
|
line-height: 1.4;
|
|
31
|
-
color: #
|
|
30
|
+
color: #333;
|
|
32
31
|
flex: 1;
|
|
33
32
|
display: flex;
|
|
34
33
|
align-items: center;
|
|
35
34
|
gap: 8px;
|
|
36
35
|
|
|
37
36
|
&.ant-typography {
|
|
38
|
-
color: #
|
|
37
|
+
color: #333;
|
|
39
38
|
}
|
|
40
39
|
|
|
41
40
|
.title-icon {
|
|
@@ -110,49 +109,79 @@
|
|
|
110
109
|
display: flex;
|
|
111
110
|
justify-content: center;
|
|
112
111
|
align-items: center;
|
|
113
|
-
min-height:
|
|
112
|
+
min-height: 50px;
|
|
114
113
|
padding: 20px;
|
|
115
114
|
}
|
|
116
115
|
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
116
|
+
// 与 entityInfoCard__c 一致的详情区块:灰底、标签在上、值在下
|
|
117
|
+
.detail-info-body {
|
|
118
|
+
position: relative;
|
|
119
|
+
box-sizing: border-box;
|
|
120
|
+
width: 100%;
|
|
121
|
+
padding: 12px 16px;
|
|
122
|
+
|
|
123
|
+
.info-grid {
|
|
124
|
+
display: flex;
|
|
125
|
+
gap: 20px;
|
|
126
|
+
flex-wrap: wrap;
|
|
127
|
+
|
|
128
|
+
.info-column {
|
|
129
|
+
flex: 1;
|
|
130
|
+
min-width: 0;
|
|
131
|
+
display: flex;
|
|
132
|
+
flex-direction: column;
|
|
133
|
+
gap: 15px;
|
|
134
|
+
|
|
135
|
+
@media (max-width: 768px) {
|
|
136
|
+
flex: 1 1 100%;
|
|
137
|
+
min-width: 100%;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
126
140
|
|
|
127
|
-
|
|
128
|
-
|
|
141
|
+
.info-item {
|
|
142
|
+
display: flex;
|
|
143
|
+
flex-direction: column;
|
|
144
|
+
gap: 5px;
|
|
145
|
+
margin-bottom: 10px;
|
|
129
146
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
color: #262626;
|
|
135
|
-
font-size: 14px;
|
|
136
|
-
padding: 12px 16px;
|
|
137
|
-
border-right: 1px solid #e8e8e8;
|
|
138
|
-
width: 35%;
|
|
139
|
-
vertical-align: middle;
|
|
147
|
+
.info-label {
|
|
148
|
+
font-size: 12px;
|
|
149
|
+
color: #666;
|
|
150
|
+
line-height: 1.4;
|
|
140
151
|
}
|
|
141
152
|
|
|
142
|
-
.
|
|
143
|
-
background-color: #ffffff;
|
|
144
|
-
color: #595959;
|
|
153
|
+
.info-value {
|
|
145
154
|
font-size: 14px;
|
|
146
|
-
|
|
155
|
+
font-weight: 500;
|
|
156
|
+
color: #333;
|
|
157
|
+
line-height: 1.4;
|
|
147
158
|
word-break: break-word;
|
|
148
|
-
vertical-align: middle;
|
|
149
|
-
}
|
|
150
159
|
|
|
151
|
-
|
|
152
|
-
|
|
160
|
+
.info-value-empty {
|
|
161
|
+
color: #999;
|
|
162
|
+
}
|
|
153
163
|
|
|
154
|
-
|
|
155
|
-
|
|
164
|
+
.ant-tag {
|
|
165
|
+
margin: 0;
|
|
166
|
+
border-radius: 4px;
|
|
167
|
+
font-size: 12px;
|
|
168
|
+
padding: 2px 6px;
|
|
169
|
+
line-height: 18px;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
a {
|
|
173
|
+
color: #1890ff;
|
|
174
|
+
text-decoration: none;
|
|
175
|
+
transition: color 0.3s;
|
|
176
|
+
|
|
177
|
+
&:hover {
|
|
178
|
+
color: #40a9ff;
|
|
179
|
+
text-decoration: underline;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
&:active {
|
|
183
|
+
color: #096dd9;
|
|
184
|
+
}
|
|
156
185
|
}
|
|
157
186
|
}
|
|
158
187
|
}
|
|
@@ -161,7 +190,7 @@
|
|
|
161
190
|
}
|
|
162
191
|
|
|
163
192
|
.ant-empty {
|
|
164
|
-
padding:
|
|
193
|
+
padding: 40px 20px;
|
|
165
194
|
|
|
166
195
|
.ant-empty-description {
|
|
167
196
|
color: #8c8c8c;
|
|
@@ -170,7 +199,7 @@
|
|
|
170
199
|
}
|
|
171
200
|
|
|
172
201
|
.ant-spin-nested-loading {
|
|
173
|
-
min-height:
|
|
202
|
+
min-height: 20px;
|
|
174
203
|
|
|
175
204
|
> div > .ant-spin {
|
|
176
205
|
max-height: none;
|
|
@@ -180,9 +209,9 @@
|
|
|
180
209
|
.ant-tag {
|
|
181
210
|
margin: 0;
|
|
182
211
|
border-radius: 4px;
|
|
183
|
-
font-size:
|
|
184
|
-
padding: 2px
|
|
185
|
-
line-height:
|
|
212
|
+
font-size: 12px;
|
|
213
|
+
padding: 2px 6px;
|
|
214
|
+
line-height: 18px;
|
|
186
215
|
}
|
|
187
216
|
|
|
188
217
|
a {
|
|
@@ -201,17 +230,27 @@
|
|
|
201
230
|
}
|
|
202
231
|
|
|
203
232
|
@media (max-width: 1200px) {
|
|
233
|
+
padding: 12px;
|
|
234
|
+
margin: 15px 15px 0 15px;
|
|
235
|
+
|
|
204
236
|
.detail-content {
|
|
205
|
-
.
|
|
206
|
-
|
|
207
|
-
|
|
237
|
+
.detail-info-body {
|
|
238
|
+
padding: 12px;
|
|
239
|
+
|
|
240
|
+
.info-grid {
|
|
241
|
+
gap: 15px;
|
|
242
|
+
|
|
243
|
+
.info-column {
|
|
244
|
+
gap: 12px;
|
|
245
|
+
}
|
|
246
|
+
}
|
|
208
247
|
}
|
|
209
248
|
}
|
|
210
249
|
}
|
|
211
250
|
|
|
212
251
|
@media (max-width: 768px) {
|
|
213
|
-
margin:
|
|
214
|
-
padding:
|
|
252
|
+
margin: 10px 10px 0 10px;
|
|
253
|
+
padding: 10px;
|
|
215
254
|
|
|
216
255
|
.detail-header {
|
|
217
256
|
margin-bottom: 12px;
|
|
@@ -240,21 +279,24 @@
|
|
|
240
279
|
}
|
|
241
280
|
|
|
242
281
|
.detail-content {
|
|
243
|
-
.
|
|
244
|
-
|
|
245
|
-
max-width: 100%;
|
|
246
|
-
flex: 0 0 100%;
|
|
247
|
-
}
|
|
282
|
+
.detail-info-body {
|
|
283
|
+
padding: 10px;
|
|
248
284
|
|
|
249
|
-
|
|
250
|
-
|
|
285
|
+
.info-grid {
|
|
286
|
+
gap: 12px;
|
|
287
|
+
flex-direction: column;
|
|
251
288
|
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
289
|
+
.info-column {
|
|
290
|
+
gap: 10px;
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
.info-item {
|
|
294
|
+
.info-label {
|
|
295
|
+
font-size: 11px;
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
.info-value {
|
|
256
299
|
font-size: 13px;
|
|
257
|
-
padding: 10px 12px;
|
|
258
300
|
}
|
|
259
301
|
}
|
|
260
302
|
}
|
|
@@ -263,7 +305,7 @@
|
|
|
263
305
|
}
|
|
264
306
|
|
|
265
307
|
@media (max-width: 480px) {
|
|
266
|
-
margin:
|
|
308
|
+
margin: 8px 8px 0 8px;
|
|
267
309
|
padding: 8px;
|
|
268
310
|
|
|
269
311
|
.detail-header {
|
|
@@ -274,7 +316,8 @@
|
|
|
274
316
|
}
|
|
275
317
|
|
|
276
318
|
.header-title {
|
|
277
|
-
font-size:
|
|
319
|
+
font-size: 13px;
|
|
320
|
+
margin-bottom: 10px;
|
|
278
321
|
}
|
|
279
322
|
|
|
280
323
|
.refresh-button {
|
|
@@ -284,17 +327,17 @@
|
|
|
284
327
|
}
|
|
285
328
|
|
|
286
329
|
.detail-content {
|
|
287
|
-
.detail-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
330
|
+
.detail-info-body {
|
|
331
|
+
padding: 8px;
|
|
332
|
+
|
|
333
|
+
.info-grid {
|
|
334
|
+
.info-item {
|
|
335
|
+
.info-label {
|
|
336
|
+
font-size: 10px;
|
|
294
337
|
}
|
|
295
338
|
|
|
296
|
-
.
|
|
297
|
-
|
|
339
|
+
.info-value {
|
|
340
|
+
font-size: 12px;
|
|
298
341
|
}
|
|
299
342
|
}
|
|
300
343
|
}
|
|
@@ -16,7 +16,7 @@ export class EntityFormModel {
|
|
|
16
16
|
label: string = '实体表单';
|
|
17
17
|
|
|
18
18
|
/** 组件描述,用于设置在编辑器左侧组件面板中展示的描述 */
|
|
19
|
-
description: string = '基于 XObject
|
|
19
|
+
description: string = '基于 XObject 的实现的对象表单组件,可用于新增实体业务数据';
|
|
20
20
|
|
|
21
21
|
/** 分类标签,用于设置在编辑器左侧组件面板哪个分类中展示 */
|
|
22
22
|
// tags: string[] = ['自定义组件'];
|
|
@@ -16,7 +16,7 @@ export class EntityTableModel {
|
|
|
16
16
|
label: string = '实体数据表格';
|
|
17
17
|
|
|
18
18
|
/** 组件描述,用于设置在编辑器左侧组件面板中展示的描述 */
|
|
19
|
-
description: string = '基于 XObject
|
|
19
|
+
description: string = '基于 XObject 实现的实体数据表格组件,支持实体数据的增删改查操作';
|
|
20
20
|
|
|
21
21
|
/** 分类标签,用于设置在编辑器左侧组件面板哪个分类中展示 */
|
|
22
22
|
// tags: string[] = ['自定义组件'];
|
|
@@ -50,17 +50,17 @@ export class EntityTableModel {
|
|
|
50
50
|
showEditButton: true,
|
|
51
51
|
showDeleteButton: true,
|
|
52
52
|
xObjectDataApi: {
|
|
53
|
-
xObjectApiKey:
|
|
53
|
+
xObjectApiKey: 'contact',
|
|
54
54
|
fields: [
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
55
|
+
'contactName',
|
|
56
|
+
'accountId',
|
|
57
|
+
'depart',
|
|
58
|
+
'post',
|
|
59
|
+
'phone',
|
|
60
|
+
'email',
|
|
61
|
+
'wxPosition',
|
|
62
|
+
'comment',
|
|
63
|
+
],
|
|
64
64
|
},
|
|
65
65
|
};
|
|
66
66
|
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
.panel-header {
|
|
13
|
-
padding:
|
|
13
|
+
padding: 8px 0;
|
|
14
14
|
background: #fff;
|
|
15
15
|
display: flex;
|
|
16
16
|
justify-content: space-between;
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
h3 {
|
|
25
25
|
margin: 0;
|
|
26
26
|
font-size: 16px;
|
|
27
|
-
font-weight:
|
|
27
|
+
font-weight: 500;
|
|
28
28
|
color: #434343;
|
|
29
29
|
}
|
|
30
30
|
|
|
@@ -96,7 +96,7 @@
|
|
|
96
96
|
.ant-table {
|
|
97
97
|
.ant-table-thead > tr > th {
|
|
98
98
|
background-color: #f9f9f9;
|
|
99
|
-
font-weight:
|
|
99
|
+
font-weight: 500;
|
|
100
100
|
color: #262626;
|
|
101
101
|
border-bottom: 1px solid #eee;
|
|
102
102
|
padding: 10px;
|
|
@@ -318,7 +318,7 @@
|
|
|
318
318
|
|
|
319
319
|
.ant-modal-title {
|
|
320
320
|
font-size: 16px;
|
|
321
|
-
font-weight:
|
|
321
|
+
font-weight: 500;
|
|
322
322
|
color: #434343;
|
|
323
323
|
}
|
|
324
324
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
// 引入 neo-ui-common / BaseCmp
|
|
3
3
|
// @ts-ignore
|
|
4
|
-
import { BaseCmp } from 'neo-ui-common';
|
|
4
|
+
// import { BaseCmp } from 'neo-ui-common';
|
|
5
5
|
|
|
6
6
|
import './style.scss'; // 组件内容样式
|
|
7
7
|
|
|
@@ -16,7 +16,7 @@ interface CustomCmpStates {
|
|
|
16
16
|
[key: string]: any;
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
export default class CustomCmp extends
|
|
19
|
+
export default class CustomCmp extends React.PureComponent<
|
|
20
20
|
CustomCmpProps,
|
|
21
21
|
CustomCmpStates
|
|
22
22
|
> {
|
|
@@ -12,7 +12,7 @@ export class EntityListTabsModel {
|
|
|
12
12
|
label: string = '数据列表Tabs';
|
|
13
13
|
|
|
14
14
|
// 组件描述,用于设置在编辑器左侧组件面板中展示的描述
|
|
15
|
-
description: string = '
|
|
15
|
+
description: string = '基于平台 H5端 entityList 实现的数据列表 Tabs 组件';
|
|
16
16
|
|
|
17
17
|
// 分类标签,用于设置在编辑器左侧组件面板哪个分类中展示
|
|
18
18
|
// tags: string[] = ['自定义组件'];
|
|
@@ -43,7 +43,7 @@ export class EntityListTabsModel {
|
|
|
43
43
|
// 初次插入页面的默认属性数据
|
|
44
44
|
defaultComProps = {
|
|
45
45
|
showHeader: true,
|
|
46
|
-
headerTitle: '
|
|
46
|
+
headerTitle: '待跟进项',
|
|
47
47
|
showAiChatBtn: true,
|
|
48
48
|
aiQuery: '请总结一下本周数据变化',
|
|
49
49
|
agentApiKey: 'sales_assistant_agent',
|
|
@@ -8,19 +8,28 @@
|
|
|
8
8
|
padding: 6px var(--padding-bottom);
|
|
9
9
|
background-color: #fff;
|
|
10
10
|
|
|
11
|
-
// Header
|
|
11
|
+
// Header:标题左、AI 按钮右,系统字体与层次清晰
|
|
12
12
|
.title-header {
|
|
13
13
|
display: flex;
|
|
14
14
|
align-items: center;
|
|
15
15
|
justify-content: space-between;
|
|
16
|
-
padding: 8px
|
|
17
|
-
font-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
16
|
+
padding: 8px 16px 8px 14px;
|
|
17
|
+
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
|
|
18
|
+
'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif;
|
|
19
|
+
font-size: 16px;
|
|
20
|
+
font-weight: 500;
|
|
21
|
+
line-height: 1.4;
|
|
22
|
+
letter-spacing: 0.08em;
|
|
23
|
+
color: #1f1f1f;
|
|
24
|
+
background: linear-gradient(180deg, #fafbfd 0%, #f4f7fb 100%);
|
|
25
|
+
border-left: 4px solid #1677ff;
|
|
21
26
|
|
|
22
27
|
.title-header-text {
|
|
23
28
|
flex: 1;
|
|
29
|
+
min-width: 0;
|
|
30
|
+
overflow: hidden;
|
|
31
|
+
text-overflow: ellipsis;
|
|
32
|
+
white-space: nowrap;
|
|
24
33
|
}
|
|
25
34
|
}
|
|
26
35
|
|
|
@@ -12,7 +12,7 @@ export class GlobalSearchInputModel {
|
|
|
12
12
|
label: string = '全局搜索组件';
|
|
13
13
|
|
|
14
14
|
// 组件描述,用于设置在编辑器左侧组件面板中展示的描述
|
|
15
|
-
description: string = '
|
|
15
|
+
description: string = '基于平台 GlobalSearchInput 实现的全局搜索组件';
|
|
16
16
|
|
|
17
17
|
// 分类标签,用于设置在编辑器左侧组件面板哪个分类中展示
|
|
18
18
|
// tags: string[] = ['自定义组件'];
|
|
@@ -1,13 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
Empty,
|
|
5
|
-
Tag,
|
|
6
|
-
} from 'antd';
|
|
7
|
-
import {
|
|
8
|
-
CheckCircleOutlined,
|
|
9
|
-
CloseCircleOutlined,
|
|
10
|
-
} from '@ant-design/icons';
|
|
2
|
+
import { Spin, Empty, Tag } from 'antd';
|
|
3
|
+
import { CheckCircleOutlined, CloseCircleOutlined } from '@ant-design/icons';
|
|
11
4
|
// @ts-ignore
|
|
12
5
|
import { xObject } from 'neo-open-api'; // Neo OpenAPI SDK
|
|
13
6
|
import './style.scss';
|
|
@@ -206,11 +199,11 @@ export default class EntityInfoCard extends React.PureComponent<
|
|
|
206
199
|
|
|
207
200
|
// 根据 xObjectDetailApi.fields 过滤字段,如果指定了 fields 则只显示这些字段
|
|
208
201
|
let displayFields: string[] = [];
|
|
209
|
-
|
|
202
|
+
|
|
210
203
|
if (xObjectDetailApi?.fields && xObjectDetailApi.fields.length > 0) {
|
|
211
204
|
// 方式一:如果指定了 fields,则只显示这些字段(即使值为 undefined 也显示)
|
|
212
205
|
displayFields = xObjectDetailApi.fields.filter(
|
|
213
|
-
(key) => !key.startsWith('_') // 过滤系统字段
|
|
206
|
+
(key) => !key.startsWith('_'), // 过滤系统字段
|
|
214
207
|
);
|
|
215
208
|
} else {
|
|
216
209
|
// 方式二:如果没有指定 fields,则显示所有非系统字段和空字段
|
|
@@ -281,4 +274,3 @@ export default class EntityInfoCard extends React.PureComponent<
|
|
|
281
274
|
);
|
|
282
275
|
}
|
|
283
276
|
}
|
|
284
|
-
|