inl-ui 0.0.49 → 0.0.50

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.
Files changed (31) hide show
  1. package/dist/index.js +717 -872
  2. package/dist/index.js.map +1 -1
  3. package/dist/src/api/thingModel.d.ts +1 -0
  4. package/dist/style.css +7 -7
  5. package/package.json +1 -1
  6. package/src/api/thingModel.ts +5 -2
  7. package/src/pageComponent/assets/styles/card/index.less +1 -2
  8. package/src/pageComponent/assets/styles/login/login.less +8 -5
  9. package/src/pageComponent/index.ts +1 -3
  10. package/src/pageComponent/views/boardScreen/index.tsx +1 -1
  11. package/src/pageComponent/views/card-center/cardWarehouse.tsx +95 -92
  12. package/src/pageComponent/views/card-center/components/selectCard.tsx +8 -8
  13. package/src/pageComponent/views/card-center/less/pageConfiguration.less +1 -3
  14. package/src/pageComponent/views/card-center/pageConfiguration.tsx +106 -100
  15. package/src/pageComponent/views/login/box.tsx +19 -2
  16. package/src/pageComponent/views/productionPlanManager/yearPCPlan.tsx +1 -1
  17. package/src/pageComponent/views/thingInstance/component/addThing.tsx +75 -54
  18. package/src/pageComponent/views/thingInstance/component/editThing.tsx +86 -86
  19. package/src/pageComponent/views/thingInstance/component/thingDetail.tsx +69 -39
  20. package/src/pageComponent/views/thingInstance/index.tsx +3 -1
  21. package/src/pageComponent/views/thingInstance/less/editThing.less +76 -62
  22. package/src/pageComponent/views/thingInstance/less/thingInstance.less +10 -0
  23. package/src/pageComponent/views/thingModel/component/tabAttr/update.tsx +1 -5
  24. package/src/pageComponent/views/thingModel/component/tabRelation/update.tsx +30 -4
  25. package/src/pageComponent/views/thingModel/index.tsx +28 -16
  26. package/src/pageComponent/views/video/assets/styles/video/group.less +21 -4
  27. package/src/pageComponent/views/video/assets/styles/video/preview.less +0 -1
  28. package/src/pageComponent/views/video/assets/styles/video/rotation.less +0 -7
  29. package/src/pageComponent/views/video/preview/preview.tsx +1 -1
  30. package/dist/src/pageComponent/views/elcRoom/index.d.ts +0 -2
  31. package/src/pageComponent/views/elcRoom/index.tsx +0 -106
@@ -30,6 +30,14 @@ export default defineComponent({
30
30
  const headers = {
31
31
  "Content-Type": "multipart/form-data",
32
32
  };
33
+
34
+ const form = ref();
35
+ const formData = reactive({
36
+ name: null,
37
+ code: null,
38
+ fileUrl: null,
39
+ });
40
+
33
41
  // 动态高级配置表单
34
42
  const dynamicForm = ref<{
35
43
  triggerMode: string;
@@ -225,11 +233,13 @@ export default defineComponent({
225
233
  trigger: `${ele.displayType === "text" ? "blur" : "change"}`,
226
234
  },
227
235
  ];
236
+
228
237
  if (ele.defaultValue) {
229
238
  ele.value = ele.defaultValue;
230
239
  } else {
231
240
  ele.value = null;
232
241
  }
242
+ formData[ele.code] = ele.value;
233
243
 
234
244
  return (
235
245
  ele.propertyType === "property" &&
@@ -285,7 +295,7 @@ export default defineComponent({
285
295
  if (index !== 0 && index !== 1) {
286
296
  if (
287
297
  element.value &&
288
- element.columnType === "long" &&
298
+ element.displayType === "long" &&
289
299
  element.value.indexOf(".") > -1 &&
290
300
  typeof element.value === "number"
291
301
  ) {
@@ -321,11 +331,11 @@ export default defineComponent({
321
331
  const renderSelect = (ele: any) => {
322
332
  const selectInfo = JSON.parse(ele.listInfo || "[]");
323
333
  const arr: any[] = [];
324
- if (ele.columnType === "long") {
334
+ if (ele.displayType === "long") {
325
335
  for (const key in selectInfo) {
326
336
  arr.push({ key: Number(key), value: selectInfo[key] });
327
337
  }
328
- } else if (ele.columnType === "string") {
338
+ } else if (ele.displayType === "string") {
329
339
  for (const key in selectInfo) {
330
340
  arr.push({ key: key.toString(), value: selectInfo[key] });
331
341
  }
@@ -341,12 +351,6 @@ export default defineComponent({
341
351
  );
342
352
  };
343
353
 
344
- const form = ref();
345
- const formData = reactive({
346
- name: null,
347
- code: null,
348
- fileUrl: null,
349
- });
350
354
  const beforeUpload = (file) => {
351
355
  let size = file.size / 1024 / 1024;
352
356
  if (size > 2) {
@@ -396,12 +400,49 @@ export default defineComponent({
396
400
  </div>
397
401
  <div class="flex content" style={folds.basic ? "display:none" : ""}>
398
402
  <a-form
399
- class="flex3 grid"
403
+ class="contentBody flex1"
400
404
  ref={form}
401
405
  model={formData}
402
406
  labelWrap={true}
403
407
  >
404
- <div class="flex element">
408
+ <div class="pic flex-center">
409
+ <div class="div_pic">
410
+ <a-image
411
+ src={formData.fileUrl || ""}
412
+ preview={false}
413
+ fallback="data:image/png;base64,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"
414
+ />
415
+ <div class="hover_action">
416
+ <a-space size={16}>
417
+ <a-upload
418
+ headers={headers}
419
+ showUploadList={false}
420
+ beforeUpload={beforeUpload}
421
+ customRequest={async (e) => {
422
+ const res = await customRequest(
423
+ e,
424
+ thingApis.uploadCommon
425
+ );
426
+ formData.fileUrl = res.data;
427
+ }}
428
+ >
429
+ <upload-outlined class="icon" />
430
+ </a-upload>
431
+ <delete-outlined
432
+ class="icon"
433
+ onClick={() => {
434
+ formData.fileUrl = null;
435
+ }}
436
+ />
437
+ </a-space>
438
+ </div>
439
+ <div class="tip_pic">
440
+ 支持图片格式:.PNG;.JPG;.JPEG;.SVG; 大小不超过2M;
441
+ </div>
442
+ </div>
443
+ </div>
444
+
445
+ <div class="flex element" style={`--colspan: 1`}>
405
446
  <a-form-item
406
447
  label="物模型名称"
407
448
  style={{ width: "100%" }}
@@ -416,9 +457,16 @@ export default defineComponent({
416
457
  .filter((basic: any) => {
417
458
  return basic.display;
418
459
  })
419
- .map((ele: any) => {
460
+ .map((ele: any, basicIndex: number) => {
461
+ const colspan = ele?.thingProperty?.colspan || 1;
420
462
  return (
421
- <div class="flex element">
463
+ <div
464
+ class="flex element"
465
+ key={basicIndex}
466
+ style={`--colspan:${
467
+ colspan >= 1 && colspan <= 4 ? colspan : 1
468
+ }`}
469
+ >
422
470
  <a-form-item
423
471
  label={ele.displayLabel}
424
472
  name={ele.code}
@@ -427,60 +475,33 @@ export default defineComponent({
427
475
  label-col={{ span: 8 }}
428
476
  wrapper-col={{ span: 16 }}
429
477
  >
430
- {ele.displayType === "text" ? (
478
+ {ele.displayType === "text" && (
431
479
  <a-input
432
480
  v-model={[ele.value, "value"]}
433
481
  readonly={ele.readonly}
434
- type={typeFilter(ele.columnType)}
435
482
  onChange={() => {
436
483
  formData[ele.code] = ele.value;
437
484
  }}
438
485
  ></a-input>
439
- ) : (
440
- ""
441
486
  )}
442
- {ele.displayType === "select" ? renderSelect(ele) : ""}
487
+
488
+ {ele.displayType === "number" && (
489
+ <a-input-number
490
+ v-model={[ele.value, "value"]}
491
+ readonly={ele.readonly}
492
+ onChange={() => {
493
+ formData[ele.code] = ele.value;
494
+ }}
495
+ style={{ width: "100%" }}
496
+ ></a-input-number>
497
+ )}
498
+
499
+ {ele.displayType === "select" && renderSelect(ele)}
443
500
  </a-form-item>
444
501
  </div>
445
502
  );
446
503
  })}
447
504
  </a-form>
448
- <div class="flex1 pic">
449
- <div class="div_pic">
450
- <a-image
451
- src={formData.fileUrl || ""}
452
- preview={false}
453
- fallback="data:image/png;base64,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"
454
- />
455
- <div class="hover_action">
456
- <a-space size={16}>
457
- <a-upload
458
- headers={headers}
459
- showUploadList={false}
460
- beforeUpload={beforeUpload}
461
- customRequest={async (e) => {
462
- const res = await customRequest(
463
- e,
464
- thingApis.uploadCommon
465
- );
466
- formData.fileUrl = res.data;
467
- }}
468
- >
469
- <upload-outlined class="icon" />
470
- </a-upload>
471
- <delete-outlined
472
- class="icon"
473
- onClick={() => {
474
- formData.fileUrl = null;
475
- }}
476
- />
477
- </a-space>
478
- </div>
479
- <div class="tip_pic">
480
- 支持图片格式:.PNG;.JPG;.JPEG;.SVG; 大小不超过2M;
481
- </div>
482
- </div>
483
- </div>
484
505
  </div>
485
506
  </div>
486
507
  {/* <div class="basic">
@@ -249,7 +249,7 @@ export default defineComponent({
249
249
  },
250
250
  ];
251
251
 
252
- if (ele.columnType === "long" && ele.code !== "ID") {
252
+ if (ele.displayType === "long" && ele.code !== "ID") {
253
253
  formData[ele.code] = Number(
254
254
  value.staticMap.map[ele.code] || ele.defaultValue
255
255
  );
@@ -317,7 +317,7 @@ export default defineComponent({
317
317
  if (
318
318
  element.value &&
319
319
  element.code !== "ID" &&
320
- element.columnType === "long" &&
320
+ element.displayType === "long" &&
321
321
  typeof element.value === "number" &&
322
322
  `${element.value}`.indexOf(".") > -1
323
323
  ) {
@@ -368,11 +368,11 @@ export default defineComponent({
368
368
  const renderSelect = (ele: any) => {
369
369
  const selectInfo = JSON.parse(ele.listInfo || "[]");
370
370
  const arr: any[] = [];
371
- if (ele.columnType === "long") {
371
+ if (ele.displayType === "long") {
372
372
  for (const key in selectInfo) {
373
373
  arr.push({ key: Number(key), value: selectInfo[key] });
374
374
  }
375
- } else if (ele.columnType === "string") {
375
+ } else if (ele.displayType === "string") {
376
376
  for (const key in selectInfo) {
377
377
  arr.push({ key: key.toString(), value: selectInfo[key] });
378
378
  }
@@ -453,15 +453,16 @@ export default defineComponent({
453
453
  return () => (
454
454
  <div class="editThing">
455
455
  <div class="header flex">
456
- {!_props.hideBackBtn && (
457
- <a-page-header
458
- class="flex1 "
459
- title="返回物实例列表"
460
- onBack={() => {
461
- _context.emit("backList");
462
- }}
463
- />
464
- )}
456
+ <div class="flex1 ">
457
+ {!_props.hideBackBtn && (
458
+ <a-page-header
459
+ title="返回物实例列表"
460
+ onBack={() => {
461
+ _context.emit("backList");
462
+ }}
463
+ />
464
+ )}
465
+ </div>
465
466
 
466
467
  <a-button
467
468
  type="primary"
@@ -479,6 +480,7 @@ export default defineComponent({
479
480
  取消
480
481
  </a-button>
481
482
  </div>
483
+
482
484
  <div class="basic">
483
485
  <div
484
486
  class="title flex"
@@ -498,12 +500,48 @@ export default defineComponent({
498
500
  </div>
499
501
  <div class="flex content" style={folds.basic ? "display:none" : ""}>
500
502
  <a-form
501
- class="flex3 grid"
503
+ class="contentBody flex1"
502
504
  ref={form}
503
505
  model={formData}
504
506
  labelWrap={true}
505
507
  >
506
- <div class="flex element">
508
+ <div class="pic flex-center">
509
+ <div class="div_pic">
510
+ <a-image
511
+ src={formData.fileUrl || ""}
512
+ preview={false}
513
+ fallback="data:image/png;base64,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"
514
+ />
515
+ <div class="hover_action">
516
+ <a-space size={16}>
517
+ <a-upload
518
+ headers={headers}
519
+ showUploadList={false}
520
+ customRequest={async (e) => {
521
+ const res = await customRequest(
522
+ e,
523
+ thingApis.uploadCommon
524
+ );
525
+ formData.fileUrl = res.data;
526
+ }}
527
+ >
528
+ <upload-outlined class="icon" />
529
+ </a-upload>
530
+ <delete-outlined
531
+ class="icon"
532
+ onClick={() => {
533
+ formData.fileUrl = null;
534
+ }}
535
+ />
536
+ </a-space>
537
+ </div>
538
+ <div class="tip_pic">
539
+ 支持图片格式:.PNG;.JPG;.JPEG;.SVG; 大小不超过2M;
540
+ </div>
541
+ </div>
542
+ </div>
543
+
544
+ <div class="flex element" style={`--colspan: 1`}>
507
545
  <a-form-item
508
546
  label="物模型名称"
509
547
  style={{ width: "100%" }}
@@ -519,8 +557,14 @@ export default defineComponent({
519
557
  return basic.display;
520
558
  })
521
559
  .map((ele: any) => {
560
+ const colspan = ele?.thingProperty?.colspan || 1;
522
561
  return (
523
- <div class="flex element">
562
+ <div
563
+ class="flex element"
564
+ style={`--colspan:${
565
+ colspan >= 1 && colspan <= 4 ? colspan : 1
566
+ }`}
567
+ >
524
568
  <a-form-item
525
569
  label={ele.displayLabel}
526
570
  name={ele.code}
@@ -529,82 +573,38 @@ export default defineComponent({
529
573
  label-col={{ span: 8 }}
530
574
  wrapper-col={{ span: 16 }}
531
575
  >
532
- {ele.displayType === "text" ? (
533
- <>
534
- {typeFilter(ele.columnType) === "number" ? (
535
- <a-input-number
536
- v-model={[ele.value, "value"]}
537
- readonly={ele.readonly}
538
- type={
539
- ele.code === "ID"
540
- ? "text"
541
- : typeFilter(ele.columnType)
542
- }
543
- onChange={() => {
544
- formData[ele.code] = ele.value;
545
- }}
546
- style={{ width: "100%" }}
547
- ></a-input-number>
548
- ) : (
549
- <a-input
550
- v-model={[ele.value, "value"]}
551
- readonly={ele.readonly}
552
- type={
553
- ele.code === "ID"
554
- ? "text"
555
- : typeFilter(ele.columnType)
556
- }
557
- onChange={() => {
558
- formData[ele.code] = ele.value;
559
- }}
560
- ></a-input>
561
- )}
562
- </>
563
- ) : (
564
- ""
576
+ {ele.displayType === "text" && (
577
+ <a-input
578
+ v-model={[ele.value, "value"]}
579
+ readonly={ele.readonly}
580
+ onChange={() => {
581
+ formData[ele.code] = ele.value;
582
+ }}
583
+ ></a-input>
584
+ )}
585
+
586
+ {ele.displayType === "number" && (
587
+ <a-input-number
588
+ v-model={[ele.value, "value"]}
589
+ readonly={ele.readonly}
590
+ // type={
591
+ // ele.code === "ID"
592
+ // ? "text"
593
+ // : typeFilter(ele.columnType)
594
+ // }
595
+ onChange={() => {
596
+ formData[ele.code] = ele.value;
597
+ }}
598
+ style={{ width: "100%" }}
599
+ ></a-input-number>
565
600
  )}
566
- {ele.displayType === "select" ? renderSelect(ele) : ""}
601
+
602
+ {ele.displayType === "select" && renderSelect(ele)}
567
603
  </a-form-item>
568
604
  </div>
569
605
  );
570
606
  })}
571
607
  </a-form>
572
-
573
- <div class="flex1 pic">
574
- <div class="div_pic">
575
- <a-image
576
- src={formData.fileUrl || ""}
577
- preview={false}
578
- fallback="data:image/png;base64,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"
579
- />
580
- <div class="hover_action">
581
- <a-space size={16}>
582
- <a-upload
583
- headers={headers}
584
- showUploadList={false}
585
- customRequest={async (e) => {
586
- const res = await customRequest(
587
- e,
588
- thingApis.uploadCommon
589
- );
590
- formData.fileUrl = res.data;
591
- }}
592
- >
593
- <upload-outlined class="icon" />
594
- </a-upload>
595
- <delete-outlined
596
- class="icon"
597
- onClick={() => {
598
- formData.fileUrl = null;
599
- }}
600
- />
601
- </a-space>
602
- </div>
603
- <div class="tip_pic">
604
- 支持图片格式:.PNG;.JPG;.JPEG;.SVG; 大小不超过2M;
605
- </div>
606
- </div>
607
- </div>
608
608
  </div>
609
609
  </div>
610
610
  <div class="basic">
@@ -210,15 +210,16 @@ export default defineComponent({
210
210
  <div class="editThing">
211
211
  {!_props.hideBtnLine && (
212
212
  <div class="header flex">
213
- {!_props.hideBackBtn && (
214
- <a-page-header
215
- class="flex1"
216
- title="返回物实例列表"
217
- onBack={() => {
218
- _context.emit("backList");
219
- }}
220
- />
221
- )}
213
+ <div class="flex1">
214
+ {!_props.hideBackBtn && (
215
+ <a-page-header
216
+ title="返回物实例列表"
217
+ onBack={() => {
218
+ _context.emit("backList");
219
+ }}
220
+ />
221
+ )}
222
+ </div>
222
223
 
223
224
  {!_props.hideEditBtn && (
224
225
  <a-button
@@ -242,6 +243,7 @@ export default defineComponent({
242
243
  )}
243
244
  </div>
244
245
  )}
246
+
245
247
  <div class="basic">
246
248
  <div
247
249
  class="title flex"
@@ -260,8 +262,18 @@ export default defineComponent({
260
262
  </div>
261
263
  </div>
262
264
  <div class="flex content" style={folds.basic ? "display:none" : ""}>
263
- <a-form class="flex3 grid">
264
- <div class="flex element">
265
+ <a-form class="contentBody flex1">
266
+ <div class="pic flex-center">
267
+ <div class="div_pic">
268
+ <a-image
269
+ src={formData.fileUrl || ""}
270
+ preview={false}
271
+ fallback="data:image/png;base64,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"
272
+ />
273
+ </div>
274
+ </div>
275
+
276
+ <div class="flex element" style={`--colspan: 1`}>
265
277
  <a-form-item label="物模型名称" style={{ width: "100%" }}>
266
278
  {_props.data?.thingInst?.thing?.name}
267
279
  </a-form-item>
@@ -272,8 +284,14 @@ export default defineComponent({
272
284
  return basic.display;
273
285
  })
274
286
  .map((ele: any) => {
287
+ const colspan = ele?.thingProperty?.colspan || 1;
275
288
  return (
276
- <div class="flex element">
289
+ <div
290
+ class="flex element"
291
+ style={`--colspan:${
292
+ colspan >= 1 && colspan <= 4 ? colspan : 1
293
+ }`}
294
+ >
277
295
  <a-form-item
278
296
  label={ele.displayLabel}
279
297
  name={ele.code}
@@ -287,15 +305,6 @@ export default defineComponent({
287
305
  );
288
306
  })}
289
307
  </a-form>
290
- <div class="flex1 pic">
291
- <div class="div_pic">
292
- <a-image
293
- src={formData.fileUrl || ""}
294
- preview={false}
295
- fallback="data:image/png;base64,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"
296
- />
297
- </div>
298
- </div>
299
308
  </div>
300
309
  </div>
301
310
  <div class="basic">
@@ -319,10 +328,17 @@ export default defineComponent({
319
328
  class="flex content"
320
329
  style={folds.dynamic ? "display:none;" : ""}
321
330
  >
322
- <a-form class="flex3 grid grid4">
331
+ <a-form class="contentBody flex1">
323
332
  {dynamicTableList.value.map((ele: any, dynamicIndex: number) => {
333
+ const colspan = ele?.thingProperty?.colspan || 1;
324
334
  return (
325
- <div class="flex element" key={dynamicIndex}>
335
+ <div
336
+ class="flex element"
337
+ key={dynamicIndex}
338
+ style={`--colspan:${
339
+ colspan >= 1 && colspan <= 4 ? colspan : 1
340
+ }`}
341
+ >
326
342
  <a-form-item
327
343
  label={ele.name}
328
344
  name={ele.code}
@@ -360,10 +376,17 @@ export default defineComponent({
360
376
  </div>
361
377
  </div>
362
378
  <div class="flex content" style={folds.logic ? "display:none;" : ""}>
363
- <a-form class="flex3 grid grid4">
364
- {LoginTableList.value.map((ele: any) => {
379
+ <a-form class="contentBody flex1">
380
+ {LoginTableList.value.map((ele: any, LoginTableIndex: number) => {
381
+ const colspan = ele?.thingProperty?.colspan || 1;
365
382
  return (
366
- <div class="flex element">
383
+ <div
384
+ class="flex element"
385
+ key={LoginTableIndex}
386
+ style={`--colspan:${
387
+ colspan >= 1 && colspan <= 4 ? colspan : 1
388
+ }`}
389
+ >
367
390
  <a-form-item
368
391
  label={ele.name}
369
392
  name={ele.code}
@@ -396,20 +419,27 @@ export default defineComponent({
396
419
  </div>
397
420
  </div>
398
421
  <div class="content" style={folds.alarm ? "display:none;" : ""}>
399
- <a-row grade={24}>
400
- {alarmList.value.map((item) => (
401
- <a-col span={6}>
402
- <a-row grade={24}>
403
- <a-col span={8} style={{ textAlign: "right" }}>
404
- {item.displayLabel}:
405
- </a-col>
406
- <a-col span={16}>
422
+ <a-form class="contentBody flex1">
423
+ {alarmList.value.map((ele: any, alarmIndex: number) => {
424
+ const colspan = ele?.thingProperty?.colspan || 1;
425
+ return (
426
+ <div
427
+ class="flex element"
428
+ key={alarmIndex}
429
+ style={`--colspan:${
430
+ colspan >= 1 && colspan <= 4 ? colspan : 1
431
+ }`}
432
+ >
433
+ <a-form-item
434
+ label={ele.displayLabel}
435
+ style={{ width: "100%" }}
436
+ >
407
437
  <span class={`thingSpot green`}></span>
408
- </a-col>
409
- </a-row>
410
- </a-col>
411
- ))}
412
- </a-row>
438
+ </a-form-item>
439
+ </div>
440
+ );
441
+ })}
442
+ </a-form>
413
443
  </div>
414
444
  </div>
415
445
  <div class="basic">