|
436 | 436 | </div>
|
437 | 437 | </el-tab-pane>
|
438 | 438 | <el-tab-pane label="监听器" name="listener">
|
439 |
| - <div v-for="(listener, listenerIdx) in taskListener" :key="listenerIdx"> |
440 |
| - <el-form label-position="top"> |
441 |
| - <div> |
442 |
| - <el-divider content-position="left"> |
443 |
| - <el-text tag="b" size="large">{{ listener.name }}</el-text> |
444 |
| - </el-divider> |
| 439 | + <el-form :model="configForm" label-position="top"> |
| 440 | + <div v-for="(listener, listenerIdx) in taskListener" :key="listenerIdx"> |
| 441 | + <el-divider content-position="left"> |
| 442 | + <el-text tag="b" size="large">{{ listener.name }}</el-text> |
| 443 | + </el-divider> |
| 444 | + <el-form-item> |
| 445 | + <el-switch |
| 446 | + v-model="configForm[`task${listener.type}ListenerEnable`]" |
| 447 | + active-text="开启" |
| 448 | + inactive-text="关闭" |
| 449 | + /> |
| 450 | + </el-form-item> |
| 451 | + <div v-if="configForm[`task${listener.type}ListenerEnable`]"> |
445 | 452 | <el-form-item>
|
446 |
| - <el-switch |
447 |
| - v-model="configForm[`task${listener.type}ListenerEnable`]" |
448 |
| - active-text="开启" |
449 |
| - inactive-text="关闭" |
| 453 | + <el-alert |
| 454 | + title="仅支持 POST 请求,以请求体方式接收参数" |
| 455 | + type="warning" |
| 456 | + show-icon |
| 457 | + :closable="false" |
450 | 458 | />
|
451 | 459 | </el-form-item>
|
452 |
| - <div v-if="configForm[`task${listener.type}ListenerEnable`]"> |
453 |
| - <el-form-item> |
454 |
| - <el-alert |
455 |
| - title="仅支持 POST 请求,以请求体方式接收参数" |
456 |
| - type="warning" |
457 |
| - show-icon |
458 |
| - :closable="false" |
459 |
| - /> |
460 |
| - </el-form-item> |
461 |
| - <el-form-item label="请求地址"> |
462 |
| - <el-input v-model="configForm[`task${listener.type}ListenerPath`]" /> |
463 |
| - </el-form-item> |
464 |
| - <el-form-item label="请求头"> |
465 |
| - <div |
466 |
| - class="flex pt-2" |
467 |
| - v-for="(item, index) in configForm[`task${listener.type}ListenerHeader`]" |
468 |
| - :key="index" |
469 |
| - > |
470 |
| - <div class="mr-2"> |
471 |
| - <el-input class="w-160px" v-model="item.key" /> |
472 |
| - </div> |
473 |
| - <div class="mr-2"> |
474 |
| - <el-select class="w-100px!" v-model="item.type"> |
475 |
| - <el-option |
476 |
| - v-for="types in LISTENER_MAP_TYPES" |
477 |
| - :key="types.value" |
478 |
| - :label="types.label" |
479 |
| - :value="types.value" |
480 |
| - /> |
481 |
| - </el-select> |
482 |
| - </div> |
483 |
| - <div class="mr-2"> |
484 |
| - <el-input |
485 |
| - v-if="item.type === ListenerParamTypeEnum.FIXED_VALUE" |
486 |
| - class="w-160px" |
487 |
| - v-model="item.value" |
| 460 | + <el-form-item |
| 461 | + label="请求地址" |
| 462 | + :prop="`task${listener.type}ListenerPath`" |
| 463 | + :rules="{ |
| 464 | + required: true, |
| 465 | + message: '请求地址不能为空', |
| 466 | + trigger: 'blur' |
| 467 | + }" |
| 468 | + > |
| 469 | + <el-input v-model="configForm[`task${listener.type}ListenerPath`]" /> |
| 470 | + </el-form-item> |
| 471 | + <el-form-item label="请求头"> |
| 472 | + <div |
| 473 | + class="flex pt-2" |
| 474 | + v-for="(item, index) in configForm[`task${listener.type}ListenerHeader`]" |
| 475 | + :key="index" |
| 476 | + > |
| 477 | + <div class="mr-2"> |
| 478 | + <el-input class="w-160px" v-model="item.key" /> |
| 479 | + </div> |
| 480 | + <div class="mr-2"> |
| 481 | + <el-select class="w-100px!" v-model="item.type"> |
| 482 | + <el-option |
| 483 | + v-for="types in LISTENER_MAP_TYPES" |
| 484 | + :key="types.value" |
| 485 | + :label="types.label" |
| 486 | + :value="types.value" |
488 | 487 | />
|
489 |
| - <el-select |
490 |
| - v-if="item.type === ListenerParamTypeEnum.FROM_FORM" |
491 |
| - class="w-160px!" |
492 |
| - v-model="item.value" |
493 |
| - > |
494 |
| - <el-option |
495 |
| - v-for="(field, fIdx) in formFieldOptions" |
496 |
| - :key="fIdx" |
497 |
| - :label="field.title" |
498 |
| - :value="field.field" |
499 |
| - :disabled="!field.required" |
500 |
| - /> |
501 |
| - </el-select> |
502 |
| - </div> |
503 |
| - <div class="mr-1 flex items-center"> |
504 |
| - <Icon |
505 |
| - icon="ep:delete" |
506 |
| - :size="18" |
507 |
| - @click=" |
508 |
| - deleteTaskListenerParam( |
509 |
| - configForm[`task${listener.type}ListenerHeader`], |
510 |
| - index |
511 |
| - ) |
512 |
| - " |
| 488 | + </el-select> |
| 489 | + </div> |
| 490 | + <div class="mr-2"> |
| 491 | + <el-input |
| 492 | + v-if="item.type === ListenerParamTypeEnum.FIXED_VALUE" |
| 493 | + class="w-160px" |
| 494 | + v-model="item.value" |
| 495 | + /> |
| 496 | + <el-select |
| 497 | + v-if="item.type === ListenerParamTypeEnum.FROM_FORM" |
| 498 | + class="w-160px!" |
| 499 | + v-model="item.value" |
| 500 | + > |
| 501 | + <el-option |
| 502 | + v-for="(field, fIdx) in formFieldOptions" |
| 503 | + :key="fIdx" |
| 504 | + :label="field.title" |
| 505 | + :value="field.field" |
| 506 | + :disabled="!field.required" |
513 | 507 | />
|
514 |
| - </div> |
| 508 | + </el-select> |
515 | 509 | </div>
|
516 |
| - <el-button |
517 |
| - type="primary" |
518 |
| - text |
519 |
| - @click="addTaskListenerParam(configForm[`task${listener.type}ListenerHeader`])" |
520 |
| - > |
521 |
| - <Icon icon="ep:plus" class="mr-5px" />添加一行 |
522 |
| - </el-button> |
523 |
| - </el-form-item> |
524 |
| - <el-form-item label="请求体"> |
525 |
| - <div |
526 |
| - class="flex pt-2" |
527 |
| - v-for="(item, index) in configForm[`task${listener.type}ListenerBody`]" |
528 |
| - :key="index" |
529 |
| - > |
530 |
| - <div class="mr-2"> |
531 |
| - <el-input class="w-160px" v-model="item.key" /> |
532 |
| - </div> |
533 |
| - <div class="mr-2"> |
534 |
| - <el-select class="w-100px!" v-model="item.type"> |
535 |
| - <el-option |
536 |
| - v-for="types in LISTENER_MAP_TYPES" |
537 |
| - :key="types.value" |
538 |
| - :label="types.label" |
539 |
| - :value="types.value" |
540 |
| - /> |
541 |
| - </el-select> |
542 |
| - </div> |
543 |
| - <div class="mr-2"> |
544 |
| - <el-input |
545 |
| - v-if="item.type === ListenerParamTypeEnum.FIXED_VALUE" |
546 |
| - class="w-160px" |
547 |
| - v-model="item.value" |
| 510 | + <div class="mr-1 flex items-center"> |
| 511 | + <Icon |
| 512 | + icon="ep:delete" |
| 513 | + :size="18" |
| 514 | + @click=" |
| 515 | + deleteTaskListenerParam( |
| 516 | + configForm[`task${listener.type}ListenerHeader`], |
| 517 | + index |
| 518 | + ) |
| 519 | + " |
| 520 | + /> |
| 521 | + </div> |
| 522 | + </div> |
| 523 | + <el-button |
| 524 | + type="primary" |
| 525 | + text |
| 526 | + @click="addTaskListenerParam(configForm[`task${listener.type}ListenerHeader`])" |
| 527 | + > |
| 528 | + <Icon icon="ep:plus" class="mr-5px" />添加一行 |
| 529 | + </el-button> |
| 530 | + </el-form-item> |
| 531 | + <el-form-item label="请求体"> |
| 532 | + <div |
| 533 | + class="flex pt-2" |
| 534 | + v-for="(item, index) in configForm[`task${listener.type}ListenerBody`]" |
| 535 | + :key="index" |
| 536 | + > |
| 537 | + <div class="mr-2"> |
| 538 | + <el-input class="w-160px" v-model="item.key" /> |
| 539 | + </div> |
| 540 | + <div class="mr-2"> |
| 541 | + <el-select class="w-100px!" v-model="item.type"> |
| 542 | + <el-option |
| 543 | + v-for="types in LISTENER_MAP_TYPES" |
| 544 | + :key="types.value" |
| 545 | + :label="types.label" |
| 546 | + :value="types.value" |
548 | 547 | />
|
549 |
| - <el-select |
550 |
| - v-if="item.type === ListenerParamTypeEnum.FROM_FORM" |
551 |
| - class="w-160px!" |
552 |
| - v-model="item.value" |
553 |
| - > |
554 |
| - <el-option |
555 |
| - v-for="(field, fIdx) in formFieldOptions" |
556 |
| - :key="fIdx" |
557 |
| - :label="field.title" |
558 |
| - :value="field.field" |
559 |
| - :disabled="!field.required" |
560 |
| - /> |
561 |
| - </el-select> |
562 |
| - </div> |
563 |
| - <div class="mr-1 flex items-center"> |
564 |
| - <Icon |
565 |
| - icon="ep:delete" |
566 |
| - :size="18" |
567 |
| - @click=" |
568 |
| - deleteTaskListenerParam( |
569 |
| - configForm[`task${listener.type}ListenerBody`], |
570 |
| - index |
571 |
| - ) |
572 |
| - " |
| 548 | + </el-select> |
| 549 | + </div> |
| 550 | + <div class="mr-2"> |
| 551 | + <el-input |
| 552 | + v-if="item.type === ListenerParamTypeEnum.FIXED_VALUE" |
| 553 | + class="w-160px" |
| 554 | + v-model="item.value" |
| 555 | + /> |
| 556 | + <el-select |
| 557 | + v-if="item.type === ListenerParamTypeEnum.FROM_FORM" |
| 558 | + class="w-160px!" |
| 559 | + v-model="item.value" |
| 560 | + > |
| 561 | + <el-option |
| 562 | + v-for="(field, fIdx) in formFieldOptions" |
| 563 | + :key="fIdx" |
| 564 | + :label="field.title" |
| 565 | + :value="field.field" |
| 566 | + :disabled="!field.required" |
573 | 567 | />
|
574 |
| - </div> |
| 568 | + </el-select> |
575 | 569 | </div>
|
576 |
| - <el-button |
577 |
| - type="primary" |
578 |
| - text |
579 |
| - @click="addTaskListenerParam(configForm[`task${listener.type}ListenerBody`])" |
580 |
| - > |
581 |
| - <Icon icon="ep:plus" class="mr-5px" />添加一行 |
582 |
| - </el-button> |
583 |
| - </el-form-item> |
584 |
| - </div> |
| 570 | + <div class="mr-1 flex items-center"> |
| 571 | + <Icon |
| 572 | + icon="ep:delete" |
| 573 | + :size="18" |
| 574 | + @click=" |
| 575 | + deleteTaskListenerParam( |
| 576 | + configForm[`task${listener.type}ListenerBody`], |
| 577 | + index |
| 578 | + ) |
| 579 | + " |
| 580 | + /> |
| 581 | + </div> |
| 582 | + </div> |
| 583 | + <el-button |
| 584 | + type="primary" |
| 585 | + text |
| 586 | + @click="addTaskListenerParam(configForm[`task${listener.type}ListenerBody`])" |
| 587 | + > |
| 588 | + <Icon icon="ep:plus" class="mr-5px" />添加一行 |
| 589 | + </el-button> |
| 590 | + </el-form-item> |
585 | 591 | </div>
|
586 |
| - </el-form> |
587 |
| - </div> |
| 592 | + </div> |
| 593 | + </el-form> |
588 | 594 | </el-tab-pane>
|
589 | 595 | </el-tabs>
|
590 | 596 | <template #footer>
|
|
0 commit comments