aldehyde 0.2.126 → 0.2.128
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/lib/controls/action/utils.js +1 -1
- package/lib/controls/action/utils.js.map +1 -1
- package/lib/controls/entity-select/entity-select.d.ts +2 -0
- package/lib/controls/entity-select/entity-select.d.ts.map +1 -1
- package/lib/controls/entity-select/entity-select.js +34 -12
- package/lib/controls/entity-select/entity-select.js.map +1 -1
- package/lib/controls/entry-control.d.ts.map +1 -1
- package/lib/controls/entry-control.js +3 -0
- package/lib/controls/entry-control.js.map +1 -1
- package/lib/controls/password-setter/index.js +1 -1
- package/lib/controls/password-setter/index.js.map +1 -1
- package/lib/controls/rfield/index.d.ts +1 -1
- package/lib/controls/rfield/index.d.ts.map +1 -1
- package/lib/controls/rfield/index.js +5 -2
- package/lib/controls/rfield/index.js.map +1 -1
- package/lib/controls/text/ellipsis-text.d.ts +1 -3
- package/lib/controls/text/ellipsis-text.d.ts.map +1 -1
- package/lib/controls/text/ellipsis-text.js +10 -12
- package/lib/controls/text/ellipsis-text.js.map +1 -1
- package/lib/controls/upload/index.js +1 -1
- package/lib/controls/upload/index.js.map +1 -1
- package/lib/controls/view-control.d.ts.map +1 -1
- package/lib/controls/view-control.js +126 -121
- package/lib/controls/view-control.js.map +1 -1
- package/lib/form/criteria-form.d.ts.map +1 -1
- package/lib/form/criteria-form.js +12 -19
- package/lib/form/criteria-form.js.map +1 -1
- package/lib/form/form-Item-group.js +1 -1
- package/lib/form/form-Item-group.js.map +1 -1
- package/lib/import/excel-import.js +1 -1
- package/lib/import/excel-import.js.map +1 -1
- package/lib/layout/MainPage.js +1 -1
- package/lib/layout/MainPage.js.map +1 -1
- package/lib/layout/header/index.d.ts.map +1 -1
- package/lib/layout/header/index.js +5 -1
- package/lib/layout/header/index.js.map +1 -1
- package/lib/layout/menu/menu-render.d.ts.map +1 -1
- package/lib/layout/menu/menu-render.js +1 -1
- package/lib/layout/menu/menu-render.js.map +1 -1
- package/lib/login/context-setter.d.ts.map +1 -1
- package/lib/login/context-setter.js +5 -2
- package/lib/login/context-setter.js.map +1 -1
- package/lib/table/act-table.d.ts.map +1 -1
- package/lib/table/act-table.js +24 -2
- package/lib/table/act-table.js.map +1 -1
- package/lib/table/query-table.d.ts +10 -0
- package/lib/table/query-table.d.ts.map +1 -1
- package/lib/table/query-table.js +68 -27
- package/lib/table/query-table.js.map +1 -1
- package/lib/tmpl/control-type-supportor.d.ts.map +1 -1
- package/lib/tmpl/control-type-supportor.js +1 -0
- package/lib/tmpl/control-type-supportor.js.map +1 -1
- package/lib/tmpl/hcservice-v3.js +7 -7
- package/lib/tmpl/hcservice-v3.js.map +1 -1
- package/lib/tmpl/interface.d.ts +4 -0
- package/lib/tmpl/interface.d.ts.map +1 -1
- package/lib/tmpl/model-struc-v3.js +5 -5
- package/lib/tmpl/model-struc-v3.js.map +1 -1
- package/lib/tmpl/superagent.js +2 -2
- package/lib/tmpl/superagent.js.map +1 -1
- package/lib/units/index.d.ts.map +1 -1
- package/lib/units/index.js.map +1 -1
- package/package.json +1 -1
- package/src/aldehyde/controls/action/utils.tsx +1 -1
- package/src/aldehyde/controls/entity-select/entity-select.tsx +36 -13
- package/src/aldehyde/controls/entry-control.tsx +9 -0
- package/src/aldehyde/controls/password-setter/index.js +1 -1
- package/src/aldehyde/controls/rfield/index.tsx +9 -2
- package/src/aldehyde/controls/text/ellipsis-text.tsx +13 -13
- package/src/aldehyde/controls/upload/index.tsx +1 -1
- package/src/aldehyde/controls/view-control.tsx +144 -142
- package/src/aldehyde/form/criteria-form.tsx +57 -65
- package/src/aldehyde/form/form-Item-group.tsx +1 -1
- package/src/aldehyde/import/excel-import.tsx +1 -1
- package/src/aldehyde/layout/MainPage.tsx +3 -3
- package/src/aldehyde/layout/header/index.tsx +5 -1
- package/src/aldehyde/layout/menu/menu-render.tsx +1 -11
- package/src/aldehyde/login/context-setter.tsx +6 -3
- package/src/aldehyde/table/act-table.tsx +26 -3
- package/src/aldehyde/table/query-table.tsx +80 -28
- package/src/aldehyde/tmpl/control-type-supportor.tsx +1 -0
- package/src/aldehyde/tmpl/hcservice-v3.tsx +7 -7
- package/src/aldehyde/tmpl/interface.tsx +4 -0
- package/src/aldehyde/tmpl/model-struc-v3.tsx +5 -5
- package/src/aldehyde/tmpl/superagent.js +2 -2
- package/src/aldehyde/units/index.tsx +1 -0
|
@@ -60,8 +60,8 @@ function renderControl(
|
|
|
60
60
|
width: any,
|
|
61
61
|
other: any
|
|
62
62
|
) {
|
|
63
|
-
const { translate } = useLocale();
|
|
64
63
|
|
|
64
|
+
const { translate } = useLocale();
|
|
65
65
|
let itemType = ControlTypeSupportor.getControlType(fieldConfig, fieldValue);
|
|
66
66
|
let holderType: ControlHolderType = pHolderType;
|
|
67
67
|
if (!holderType) {
|
|
@@ -106,157 +106,159 @@ function renderControl(
|
|
|
106
106
|
{translate("${暂未完成}-${" + itemType + "}")}
|
|
107
107
|
</span>
|
|
108
108
|
);
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
109
|
+
if(!value || value == "null" || value.toString().includes("@R@null") ){
|
|
110
|
+
viewControl =<></>
|
|
111
|
+
}else{
|
|
112
|
+
switch (itemType) {
|
|
113
|
+
case "int":
|
|
114
|
+
case "decimal":
|
|
115
|
+
case "float":
|
|
116
|
+
case "double":
|
|
117
|
+
case "intrange":
|
|
118
|
+
case "decimalrange":
|
|
119
|
+
case "range":
|
|
120
|
+
viewControl = <span className="infoStyle">{value}</span>;
|
|
121
|
+
break;
|
|
122
|
+
case "date-YY":
|
|
123
|
+
case "date-M1":
|
|
124
|
+
case "date":
|
|
125
|
+
case "datetime-HH":
|
|
126
|
+
case "datetime-mm":
|
|
127
|
+
case "datetime":
|
|
128
|
+
case "time-HH":
|
|
129
|
+
case "time-mm":
|
|
130
|
+
case "time":
|
|
131
|
+
viewControl = (
|
|
132
|
+
<span className="infoStyle">
|
|
131
133
|
{value
|
|
132
|
-
|
|
134
|
+
? dayjs(value).format(Units.getDayjsFormat(itemType))=="Invalid Date"?value:
|
|
133
135
|
dayjs(value).format(Units.getDayjsFormat(itemType))
|
|
134
|
-
|
|
136
|
+
: undefined}
|
|
135
137
|
</span>
|
|
136
|
-
);
|
|
137
|
-
break;
|
|
138
|
-
case "daterange-YY":
|
|
139
|
-
case "daterange-M1":
|
|
140
|
-
case "daterange":
|
|
141
|
-
case "datetimerange-HH":
|
|
142
|
-
case "datetimerange-mm":
|
|
143
|
-
case "datetimerange":
|
|
144
|
-
case "timerange-HH":
|
|
145
|
-
case "timerange-mm":
|
|
146
|
-
case "timerange":
|
|
147
|
-
viewControl = <span className="infoStyle">{value}</span>;
|
|
148
|
-
break;
|
|
149
|
-
case "text":
|
|
150
|
-
case "textarea":
|
|
151
|
-
case "preselect":
|
|
152
|
-
if (holderType == "table") {
|
|
153
|
-
viewControl = (
|
|
154
|
-
<EllipsisText
|
|
155
|
-
maxWidth={"400px"}
|
|
156
|
-
isHtml={false}
|
|
157
|
-
value={value}
|
|
158
|
-
showMax={fieldConfig.ellipsisLength}
|
|
159
|
-
></EllipsisText>
|
|
160
138
|
);
|
|
161
|
-
|
|
139
|
+
break;
|
|
140
|
+
case "daterange-YY":
|
|
141
|
+
case "daterange-M1":
|
|
142
|
+
case "daterange":
|
|
143
|
+
case "datetimerange-HH":
|
|
144
|
+
case "datetimerange-mm":
|
|
145
|
+
case "datetimerange":
|
|
146
|
+
case "timerange-HH":
|
|
147
|
+
case "timerange-mm":
|
|
148
|
+
case "timerange":
|
|
162
149
|
viewControl = <span className="infoStyle">{value}</span>;
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
150
|
+
break;
|
|
151
|
+
case "text":
|
|
152
|
+
case "textarea":
|
|
153
|
+
case "preselect":
|
|
154
|
+
if (holderType == "table") {
|
|
155
|
+
viewControl = (
|
|
156
|
+
<EllipsisText
|
|
157
|
+
isHtml={false}
|
|
158
|
+
value={value}
|
|
159
|
+
showMax={fieldConfig.ellipsisLength?fieldConfig.ellipsisLength:28}
|
|
160
|
+
></EllipsisText>
|
|
161
|
+
);
|
|
162
|
+
} else {
|
|
163
|
+
viewControl = <span className="infoStyle">{value}</span>;
|
|
164
|
+
}
|
|
165
|
+
break;
|
|
166
|
+
case "select":
|
|
167
|
+
case "radio":
|
|
168
|
+
case "yes-no-switch":
|
|
169
|
+
viewControl = <EnumBadge {...controlProps} />;
|
|
170
|
+
break;
|
|
171
|
+
case "yes-no-radio":
|
|
172
|
+
viewControl = (
|
|
173
|
+
<span className="infoStyle">
|
|
173
174
|
{value ? (
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
175
|
+
<Badge
|
|
176
|
+
color={value == translate("${是}") ? "green" : "red"}
|
|
177
|
+
text={value}
|
|
178
|
+
/>
|
|
178
179
|
) : null}
|
|
179
180
|
</span>
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
181
|
+
);
|
|
182
|
+
break;
|
|
183
|
+
case "multiselect":
|
|
184
|
+
case "checkbox":
|
|
185
|
+
viewControl = <EnumTags {...controlProps} />;
|
|
186
|
+
break;
|
|
187
|
+
case "html":
|
|
188
|
+
if (holderType == "table") {
|
|
189
|
+
viewControl = <EllipsisText isHtml={true} value={value}></EllipsisText>;
|
|
190
|
+
} else {
|
|
191
|
+
viewControl = <div dangerouslySetInnerHTML={{ __html: value }}></div>;
|
|
192
|
+
}
|
|
193
|
+
break;
|
|
194
|
+
case "steps":
|
|
195
|
+
viewControl = <Steps {...controlProps} />;
|
|
196
|
+
break;
|
|
197
|
+
case "password":
|
|
198
|
+
if (value) {
|
|
199
|
+
viewControl = (
|
|
200
|
+
<Tooltip title={value} color={"#fff1b8"} {...controlProps}>
|
|
201
|
+
<span className="infoStyle">********</span>
|
|
202
|
+
</Tooltip>
|
|
203
|
+
);
|
|
204
|
+
} else {
|
|
205
|
+
viewControl = null;
|
|
206
|
+
}
|
|
207
|
+
break;
|
|
208
|
+
case "caselect":
|
|
209
|
+
viewControl = <span className="infoStyle">{value}</span>;
|
|
210
|
+
break;
|
|
211
|
+
case "relation":
|
|
212
|
+
viewControl = unSupportControl;
|
|
213
|
+
break;
|
|
214
|
+
case "file":
|
|
215
|
+
case "picture":
|
|
216
|
+
case "video":
|
|
217
|
+
viewControl = <FileView {...controlProps}></FileView>;
|
|
218
|
+
break;
|
|
219
|
+
case "non-download-file":
|
|
220
|
+
viewControl = (
|
|
221
|
+
<FileView {...controlProps} downloadable={false}></FileView>
|
|
222
|
+
);
|
|
223
|
+
break;
|
|
224
|
+
case "chemstruc":
|
|
225
|
+
viewControl = <ChemStruc {...controlProps}></ChemStruc>;
|
|
226
|
+
//viewControl = unSupportControl
|
|
227
|
+
break;
|
|
228
|
+
case "sql-code-editor":
|
|
198
229
|
viewControl = (
|
|
199
|
-
|
|
200
|
-
<span className="infoStyle">********</span>
|
|
201
|
-
</Tooltip>
|
|
230
|
+
<SqlCodeEditor viewOrEdit={"view"} {...controlProps}></SqlCodeEditor>
|
|
202
231
|
);
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
case "refselect":
|
|
234
|
-
case "entity-select":
|
|
235
|
-
case "table-entity-select":
|
|
236
|
-
viewControl = <Rfield {...controlProps} />;
|
|
237
|
-
break;
|
|
238
|
-
case "progress":
|
|
239
|
-
viewControl = <Progress {...controlProps}></Progress>;
|
|
240
|
-
break;
|
|
241
|
-
case "signature":
|
|
242
|
-
viewControl = <Signature {...controlProps}></Signature>;
|
|
243
|
-
break;
|
|
244
|
-
case "color":
|
|
245
|
-
viewControl = <ColorPicker {...controlProps}></ColorPicker>;
|
|
246
|
-
break;
|
|
247
|
-
case "url":
|
|
248
|
-
viewControl = (
|
|
249
|
-
<a target={"_blank"} href={value}>
|
|
250
|
-
{translate("${网址}")}
|
|
251
|
-
</a>
|
|
252
|
-
);
|
|
253
|
-
break;
|
|
254
|
-
case "hidden": //
|
|
255
|
-
viewControl = <Input type="hidden" value={fieldValue} disabled={true} />;
|
|
256
|
-
break;
|
|
257
|
-
default:
|
|
258
|
-
viewControl = unSupportControl;
|
|
259
|
-
break;
|
|
232
|
+
break;
|
|
233
|
+
case "relselect":
|
|
234
|
+
case "refselect":
|
|
235
|
+
case "entity-select":
|
|
236
|
+
case "table-entity-select":
|
|
237
|
+
viewControl = <Rfield {...controlProps} />;
|
|
238
|
+
break;
|
|
239
|
+
case "progress":
|
|
240
|
+
viewControl = <Progress {...controlProps}></Progress>;
|
|
241
|
+
break;
|
|
242
|
+
case "signature":
|
|
243
|
+
viewControl = <Signature {...controlProps}></Signature>;
|
|
244
|
+
break;
|
|
245
|
+
case "color":
|
|
246
|
+
viewControl = <ColorPicker {...controlProps}></ColorPicker>;
|
|
247
|
+
break;
|
|
248
|
+
case "url":
|
|
249
|
+
viewControl = (
|
|
250
|
+
<a target={"_blank"} href={value}>
|
|
251
|
+
{translate("${网址}")}
|
|
252
|
+
</a>
|
|
253
|
+
);
|
|
254
|
+
break;
|
|
255
|
+
case "hidden": //
|
|
256
|
+
viewControl = <Input type="hidden" value={fieldValue} disabled={true} />;
|
|
257
|
+
break;
|
|
258
|
+
default:
|
|
259
|
+
viewControl = unSupportControl;
|
|
260
|
+
break;
|
|
261
|
+
}
|
|
260
262
|
}
|
|
261
263
|
return viewControl;
|
|
262
264
|
}
|
|
@@ -79,10 +79,11 @@ const CriteriaForm: React.FC<CriteriaFormProps> = (props) => {
|
|
|
79
79
|
const searchSubmit = (data) => {
|
|
80
80
|
let new_serial_number = new Date().getTime();
|
|
81
81
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
82
|
+
if (doSearch && new_serial_number - serial_number > 3000) {
|
|
83
|
+
serial_number = new_serial_number;
|
|
84
|
+
doSearch({ ...data, serial_number });
|
|
85
|
+
}
|
|
86
|
+
|
|
86
87
|
doSearch && doSearch({ ...data, serial_number });
|
|
87
88
|
};
|
|
88
89
|
// let currentDrillButton=null;
|
|
@@ -338,74 +339,65 @@ const CriteriaForm: React.FC<CriteriaFormProps> = (props) => {
|
|
|
338
339
|
onFinish={searchSubmit}
|
|
339
340
|
style={{ width: "100%" }}
|
|
340
341
|
>
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
// <Panel header={""} key="1">
|
|
346
|
-
<Card>
|
|
342
|
+
|
|
343
|
+
{/*// <Collapse style={{ width: "100%" }} defaultActiveKey={["1"]}>*/}
|
|
344
|
+
{/*// <Panel header={""} key="1">*/}
|
|
345
|
+
<Card size={'small'} style={{ display: open ? "block" : "none", width: "100%" }}>
|
|
347
346
|
<Row>
|
|
348
347
|
<Col>
|
|
349
348
|
<Space size={"small"} wrap>
|
|
350
|
-
{
|
|
351
|
-
|
|
349
|
+
{buttons.includes("drilling") &&
|
|
350
|
+
open &&
|
|
351
|
+
(drillingParams.length > 0 || hasDimension() || ltmplConfig.showDim) ?
|
|
352
|
+
<>{renderCriteria(drillingParams)}
|
|
353
|
+
{renderDrillDimension()}</>
|
|
354
|
+
: null}
|
|
355
|
+
{showQueryButton ||
|
|
356
|
+
(updrillButtonConfigs && updrillButtonConfigs.length > 0)
|
|
357
|
+
? renderCriteria(criterias)
|
|
358
|
+
: null}
|
|
359
|
+
<Space className="btns">
|
|
360
|
+
{showQueryButton ? (
|
|
361
|
+
<Button type="primary" htmlType="submit">
|
|
362
|
+
{translate("${查询}")}
|
|
363
|
+
</Button>
|
|
364
|
+
) : (
|
|
365
|
+
""
|
|
366
|
+
)}
|
|
367
|
+
{showDeleteButton ? (
|
|
368
|
+
<Popconfirm
|
|
369
|
+
placement="rightBottom"
|
|
370
|
+
title={translate("${确定要[删除]选中数据吗}?")}
|
|
371
|
+
onConfirm={() => {
|
|
372
|
+
doDelete();
|
|
373
|
+
}}
|
|
374
|
+
okText={translate("${确定}")}
|
|
375
|
+
cancelText={translate("${取消}")}
|
|
376
|
+
okType={"danger"}
|
|
377
|
+
>
|
|
378
|
+
<Button danger disabled={deleteButtonDisabled}>
|
|
379
|
+
{translate("${删除选中}")}
|
|
380
|
+
</Button>
|
|
381
|
+
</Popconfirm>
|
|
382
|
+
) : (
|
|
383
|
+
""
|
|
384
|
+
)}
|
|
385
|
+
{renderAction()}
|
|
386
|
+
{renderJump()}
|
|
387
|
+
{renderCQuery()}
|
|
388
|
+
{renderUpdrill()}
|
|
389
|
+
</Space>
|
|
352
390
|
</Space>
|
|
353
391
|
</Col>
|
|
354
392
|
</Row>
|
|
355
393
|
</Card>
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
style={{ display: open ? "block" : "none", width: "100%" }}
|
|
364
|
-
headStyle={{ background: "#f2f4f5" }}
|
|
365
|
-
>
|
|
366
|
-
<Row>
|
|
367
|
-
<Col>
|
|
368
|
-
<Space size={"small"} wrap>
|
|
369
|
-
{showQueryButton ||
|
|
370
|
-
(updrillButtonConfigs && updrillButtonConfigs.length > 0)
|
|
371
|
-
? renderCriteria(criterias)
|
|
372
|
-
: null}
|
|
373
|
-
|
|
374
|
-
<Space className="btns">
|
|
375
|
-
{showQueryButton ? (
|
|
376
|
-
<Button type="primary" htmlType="submit">
|
|
377
|
-
{translate("${查询}")}
|
|
378
|
-
</Button>
|
|
379
|
-
) : (
|
|
380
|
-
""
|
|
381
|
-
)}
|
|
382
|
-
{showDeleteButton ? (
|
|
383
|
-
<Popconfirm
|
|
384
|
-
placement="rightBottom"
|
|
385
|
-
title={translate("${确定要[删除]选中数据吗}?")}
|
|
386
|
-
onConfirm={() => {
|
|
387
|
-
doDelete();
|
|
388
|
-
}}
|
|
389
|
-
okText={translate("${确定}")}
|
|
390
|
-
cancelText={translate("${取消}")}
|
|
391
|
-
okType={"danger"}
|
|
392
|
-
>
|
|
393
|
-
<Button danger disabled={deleteButtonDisabled}>
|
|
394
|
-
{translate("${删除选中}")}
|
|
395
|
-
</Button>
|
|
396
|
-
</Popconfirm>
|
|
397
|
-
) : (
|
|
398
|
-
""
|
|
399
|
-
)}
|
|
400
|
-
{renderAction()}
|
|
401
|
-
{renderJump()}
|
|
402
|
-
{renderCQuery()}
|
|
403
|
-
{renderUpdrill()}
|
|
404
|
-
</Space>
|
|
405
|
-
</Space>
|
|
406
|
-
</Col>
|
|
407
|
-
</Row>
|
|
408
|
-
</Card>
|
|
394
|
+
{/*<Card size={'small'}*/}
|
|
395
|
+
{/* className="hoverable"*/}
|
|
396
|
+
{/* style={{ display: open ? "block" : "none", width: "100%" }}*/}
|
|
397
|
+
{/* headStyle={{ background: "#f2f4f5" }}*/}
|
|
398
|
+
{/*>*/}
|
|
399
|
+
{/* */}
|
|
400
|
+
{/*</Card>*/}
|
|
409
401
|
</AntdForm>
|
|
410
402
|
);
|
|
411
403
|
};
|
|
@@ -163,7 +163,7 @@ export default class FormItemGroup extends React.PureComponent<
|
|
|
163
163
|
</FormItem>
|
|
164
164
|
);
|
|
165
165
|
} else {
|
|
166
|
-
|
|
166
|
+
// debugger;
|
|
167
167
|
// console.log("getFieldValue ---", Form.useFormInstance());
|
|
168
168
|
formItem = item.shouldUpdate ? (
|
|
169
169
|
<FormItem noStyle shouldUpdate={item.shouldUpdate}>
|
|
@@ -124,7 +124,7 @@ export default class ExcelImport extends React.PureComponent<
|
|
|
124
124
|
});
|
|
125
125
|
this.timerId = setInterval(() => this.handleStatus(res.importId), 500);
|
|
126
126
|
} else {
|
|
127
|
-
message.error(translate("${失败}!"));
|
|
127
|
+
message.error(translate("${失败}!"),5);
|
|
128
128
|
this.setState({
|
|
129
129
|
importStatus: "fail",
|
|
130
130
|
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { Layout } from "antd";
|
|
2
|
+
import { Layout ,Affix} from "antd";
|
|
3
3
|
import Footer from "./footer/index";
|
|
4
4
|
import { BlockMenu } from "../tmpl/interface";
|
|
5
5
|
import Header from "./header";
|
|
@@ -296,14 +296,14 @@ class MainPage extends React.PureComponent<MainPageProps, MainPageState> {
|
|
|
296
296
|
}
|
|
297
297
|
}
|
|
298
298
|
>
|
|
299
|
-
<Header
|
|
299
|
+
<Header toggle={this.toggle} {...this.state} />
|
|
300
300
|
<Content
|
|
301
301
|
style={{
|
|
302
302
|
margin: "24px 16px 0",
|
|
303
303
|
overflow: "initial",
|
|
304
304
|
minHeight: "calc(100vh)",
|
|
305
305
|
minWidth: 760,
|
|
306
|
-
maxWidth:
|
|
306
|
+
// maxWidth: 3060,
|
|
307
307
|
paddingBottom: "8px",
|
|
308
308
|
}}
|
|
309
309
|
>
|
|
@@ -25,7 +25,11 @@ const Header: React.FC<HeaderProps> = (props) => {
|
|
|
25
25
|
"--antd-color-primary": token.colorPrimary,
|
|
26
26
|
} as CSSProperties;
|
|
27
27
|
return (
|
|
28
|
-
<AntdHeader
|
|
28
|
+
<AntdHeader style={{position: 'sticky',
|
|
29
|
+
top: 0,
|
|
30
|
+
zIndex: 100,
|
|
31
|
+
width: '100%',
|
|
32
|
+
padding: 0, height: "auto", minWidth: "760px" }}>
|
|
29
33
|
{/*<Row justify="space-around" align="middle" style={{'background':'#0f4da1',height:'100px'}}>*/}
|
|
30
34
|
{/* <Col span={12}>*/}
|
|
31
35
|
{/* <img style={{height:'80px'}} src={Logo}></img>*/}
|
|
@@ -8,14 +8,12 @@ import translate from "../../locale/translate";
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
export default {
|
|
11
|
-
|
|
12
11
|
getMenu(blockMenu: BlockMenu , target, basePath = ""){
|
|
13
12
|
if(blockMenu.l1Menus){
|
|
14
13
|
return this.toL1Menu(blockMenu.l1Menus, target, basePath = "")
|
|
15
14
|
}else{
|
|
16
15
|
return this.toSubMenu(blockMenu.items, target, basePath = "");
|
|
17
16
|
}
|
|
18
|
-
|
|
19
17
|
},
|
|
20
18
|
|
|
21
19
|
toL1Menu(subMenus: (Level1Menu)[], target, basePath = "") {
|
|
@@ -49,20 +47,18 @@ export default {
|
|
|
49
47
|
menu.children = this.toSubMenu(subItems, target, basePath);
|
|
50
48
|
} else {
|
|
51
49
|
let i:Level2Menu=item as Level2Menu;
|
|
52
|
-
|
|
53
50
|
if(i.disabled ){
|
|
54
51
|
if(i.hiddenOnDisabled){
|
|
55
52
|
menu=null;
|
|
56
53
|
}else{
|
|
57
54
|
menu.disabled=i.disabled;
|
|
58
55
|
if(i.tip){
|
|
59
|
-
menu.label= <Tooltip placement="top" title={i.tip} >
|
|
56
|
+
menu.label= <Tooltip placement="top" title={translate('${' + i.tip + '}')} >
|
|
60
57
|
{translate('${' + i.title + '}')}
|
|
61
58
|
</Tooltip>
|
|
62
59
|
}else{
|
|
63
60
|
menu.label=translate('${' + i.title + '}');
|
|
64
61
|
}
|
|
65
|
-
|
|
66
62
|
}
|
|
67
63
|
}else{
|
|
68
64
|
menu.label = this.toL2MenuTitle(i , target, basePath);
|
|
@@ -107,18 +103,14 @@ export default {
|
|
|
107
103
|
codeSource = '&codeSource=listop';
|
|
108
104
|
break;
|
|
109
105
|
}
|
|
110
|
-
|
|
111
106
|
return `${basePath}/${menu.id}/${routePath}?menuId=${menu.id}${codeSource}${defaultCriteriaData}`;
|
|
112
|
-
|
|
113
107
|
}
|
|
114
108
|
return null;
|
|
115
109
|
},
|
|
116
110
|
toL2MenuTitle(item: Level2Menu & {path?: string}, target, basePath = "") {
|
|
117
|
-
|
|
118
111
|
if(!item){
|
|
119
112
|
return null;
|
|
120
113
|
}
|
|
121
|
-
|
|
122
114
|
let delimiter = "/";
|
|
123
115
|
let customPath = item.customPath;
|
|
124
116
|
if (customPath) {
|
|
@@ -166,8 +158,6 @@ export default {
|
|
|
166
158
|
|
|
167
159
|
}
|
|
168
160
|
}
|
|
169
|
-
|
|
170
|
-
|
|
171
161
|
return openL2MenuId;
|
|
172
162
|
}
|
|
173
163
|
}
|
|
@@ -4,6 +4,7 @@ import {Button, Col, Form, FormInstance, Modal, Row} from "antd";
|
|
|
4
4
|
import EntryControl from "../controls/entry-control";
|
|
5
5
|
import HCserviceV3 from "../tmpl/hcservice-v3";
|
|
6
6
|
import withRouter from "../routable/withroute";
|
|
7
|
+
import {LocaleContext} from "../locale/LocaleProvider";
|
|
7
8
|
|
|
8
9
|
//以列表为入口的,页面内列表,基本原则是所有交互在页面内完成,不会触发路由。
|
|
9
10
|
|
|
@@ -27,7 +28,8 @@ class ContextSetter extends React.PureComponent<ContextSetterProps, ContextSette
|
|
|
27
28
|
}
|
|
28
29
|
formRef = React.createRef<FormInstance>();
|
|
29
30
|
static defaultProps = {}
|
|
30
|
-
|
|
31
|
+
static contextType = LocaleContext;
|
|
32
|
+
context: React.ContextType<typeof LocaleContext>;
|
|
31
33
|
async componentDidMount() {
|
|
32
34
|
|
|
33
35
|
let config = await HCserviceV3.getContextSourceConfig();
|
|
@@ -73,9 +75,10 @@ class ContextSetter extends React.PureComponent<ContextSetterProps, ContextSette
|
|
|
73
75
|
|
|
74
76
|
|
|
75
77
|
render() {
|
|
78
|
+
const { translate} = this.context;
|
|
76
79
|
const {config,loading,context}=this.state;
|
|
77
80
|
const {serverKey}=this.props;
|
|
78
|
-
return <Modal title="全局配置" closable={false} open={true} footer={[]}>
|
|
81
|
+
return <Modal title={translate("${全局配置}")} closable={false} open={true} footer={[]}>
|
|
79
82
|
<Row justify="center" align="middle" >
|
|
80
83
|
<Col>
|
|
81
84
|
<Form style={{width: 350}} ref={this.formRef}
|
|
@@ -111,7 +114,7 @@ class ContextSetter extends React.PureComponent<ContextSetterProps, ContextSette
|
|
|
111
114
|
<Form.Item>
|
|
112
115
|
<Button type="primary" style={{width: '100%'}} loading={loading} onClick={this.handleSubmit}
|
|
113
116
|
className="login-form-button">
|
|
114
|
-
|
|
117
|
+
{translate("${确定}")}
|
|
115
118
|
</Button>
|
|
116
119
|
</Form.Item>
|
|
117
120
|
</Form>
|