st-comp 0.0.174 → 0.0.175

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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "st-comp",
3
3
  "public": true,
4
- "version": "0.0.174",
4
+ "version": "0.0.175",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "dev": "vite",
@@ -242,7 +242,9 @@ defineExpose({
242
242
  placement="top-start"
243
243
  >
244
244
  <template #content>
245
- <span style="white-space: pre-line">{{ formatItem.tip }}</span>
245
+ <div style="max-width: 820px;">
246
+ <span style="white-space: pre-line">{{ formatItem.tip }}</span>
247
+ </div>
246
248
  </template>
247
249
  <el-icon><InfoFilled /></el-icon>
248
250
  </el-tooltip>
@@ -365,236 +365,239 @@ const open = () => {
365
365
  </div>
366
366
  </template>
367
367
  <!-- 模版模式 -->
368
- <el-form
368
+ <el-scrollbar
369
369
  v-if="factorType === '模版'"
370
- ref="dialogFormRef"
371
- :model="dialogForm"
372
- style="height: 400px"
370
+ height="400px"
373
371
  >
374
- <!-- 因子筛选表格 -->
375
- <div
376
- v-for="(item, index) in dialogForm.list"
377
- class="form-row"
372
+ <el-form
373
+ ref="dialogFormRef"
374
+ :model="dialogForm"
378
375
  >
379
- <!-- 序列号 -->
380
- <span class="index">{{ `条件${index + 1}` }}</span>
381
- <!-- 对比因子: 分值因子 -->
382
- <template v-if="item.key === 'compare'">
383
- <!-- 周期 -->
384
- <el-form-item
385
- v-if="config.cycleShow"
386
- :prop="'list.' + index + '.cycle'"
387
- :rules="{ required: true, message: '周期不能为空', trigger: 'blur' }"
388
- style="width: 100px; margin-right: 10px"
389
- >
390
- <el-select
391
- v-model="item.cycle"
392
- placeholder="选择周期"
393
- size="small"
394
- >
395
- <el-option
396
- v-for="{ label, value } in config.cycleOptions"
397
- :label="label"
398
- :value="value"
399
- :key="value"
400
- />
401
- </el-select>
402
- </el-form-item>
403
- <!-- 因子 -->
404
- <el-form-item
405
- :prop="'list.' + index + '.factor'"
406
- :rules="{ required: true, message: '因子不能为空', trigger: 'blur' }"
407
- style="width: 132px; margin-right: 10px"
408
- >
409
- <el-select
410
- v-model="item.factor"
411
- placeholder="选择因子"
412
- filterable
413
- size="small"
414
- no-match-text="无匹配数据"
376
+ <!-- 因子筛选表格 -->
377
+ <div
378
+ v-for="(item, index) in dialogForm.list"
379
+ class="form-row"
380
+ >
381
+ <!-- 序列号 -->
382
+ <span class="index">{{ `条件${index + 1}` }}</span>
383
+ <!-- 对比因子: 分值因子 -->
384
+ <template v-if="item.key === 'compare'">
385
+ <!-- 周期 -->
386
+ <el-form-item
387
+ v-if="config.cycleShow"
388
+ :prop="'list.' + index + '.cycle'"
389
+ :rules="{ required: true, message: '周期不能为空', trigger: 'blur' }"
390
+ style="width: 100px; margin-right: 10px"
415
391
  >
416
- <el-option
417
- v-for="{ label, value } in config.factorOptions?.filter((item) => [4].includes(item.type))"
418
- :label="label"
419
- :value="value"
420
- :key="value"
421
- />
422
- </el-select>
423
- </el-form-item>
424
- <!-- 对比符 -->
425
- <el-form-item style="width: 52px; margin-right: 10px">
426
- <el-select
427
- v-model="item.compareType"
428
- size="small"
392
+ <el-select
393
+ v-model="item.cycle"
394
+ placeholder="选择周期"
395
+ size="small"
396
+ >
397
+ <el-option
398
+ v-for="{ label, value } in config.cycleOptions"
399
+ :label="label"
400
+ :value="value"
401
+ :key="value"
402
+ />
403
+ </el-select>
404
+ </el-form-item>
405
+ <!-- 因子 -->
406
+ <el-form-item
407
+ :prop="'list.' + index + '.factor'"
408
+ :rules="{ required: true, message: '因子不能为空', trigger: 'blur' }"
409
+ style="width: 132px; margin-right: 10px"
429
410
  >
430
- <el-option
431
- v-for="item in ['>', '>=', '<', '<=']"
432
- :label="item"
433
- :value="item"
434
- :key="item"
435
- />
436
- </el-select>
437
- </el-form-item>
438
- <!-- 周期2 -->
439
- <el-form-item
440
- v-if="config.cycleShow"
441
- :prop="'list.' + index + '.cycle2'"
442
- :rules="{ required: true, message: '周期不能为空', trigger: 'blur' }"
443
- style="width: 100px; margin-right: 10px"
444
- >
445
- <el-select
446
- v-model="item.cycle2"
447
- placeholder="选择周期"
448
- size="small"
411
+ <el-select
412
+ v-model="item.factor"
413
+ placeholder="选择因子"
414
+ filterable
415
+ size="small"
416
+ no-match-text="无匹配数据"
417
+ >
418
+ <el-option
419
+ v-for="{ label, value } in config.factorOptions?.filter((item) => [4].includes(item.type))"
420
+ :label="label"
421
+ :value="value"
422
+ :key="value"
423
+ />
424
+ </el-select>
425
+ </el-form-item>
426
+ <!-- 对比符 -->
427
+ <el-form-item style="width: 52px; margin-right: 10px">
428
+ <el-select
429
+ v-model="item.compareType"
430
+ size="small"
431
+ >
432
+ <el-option
433
+ v-for="item in ['>', '>=', '<', '<=']"
434
+ :label="item"
435
+ :value="item"
436
+ :key="item"
437
+ />
438
+ </el-select>
439
+ </el-form-item>
440
+ <!-- 周期2 -->
441
+ <el-form-item
442
+ v-if="config.cycleShow"
443
+ :prop="'list.' + index + '.cycle2'"
444
+ :rules="{ required: true, message: '周期不能为空', trigger: 'blur' }"
445
+ style="width: 100px; margin-right: 10px"
449
446
  >
450
- <el-option
451
- v-for="{ label, value } in config.cycleOptions"
452
- :label="label"
453
- :value="value"
454
- :key="value"
455
- />
456
- </el-select>
457
- </el-form-item>
458
- <!-- 因子2 -->
459
- <el-form-item
460
- :prop="'list.' + index + '.factor2'"
461
- :rules="{ required: true, message: '因子不能为空', trigger: 'blur' }"
462
- style="width: 132px; margin-right: 10px"
463
- >
464
- <el-select
465
- v-model="item.factor2"
466
- placeholder="选择因子"
467
- filterable
468
- size="small"
469
- no-match-text="无匹配数据"
447
+ <el-select
448
+ v-model="item.cycle2"
449
+ placeholder="选择周期"
450
+ size="small"
451
+ >
452
+ <el-option
453
+ v-for="{ label, value } in config.cycleOptions"
454
+ :label="label"
455
+ :value="value"
456
+ :key="value"
457
+ />
458
+ </el-select>
459
+ </el-form-item>
460
+ <!-- 因子2 -->
461
+ <el-form-item
462
+ :prop="'list.' + index + '.factor2'"
463
+ :rules="{ required: true, message: '因子不能为空', trigger: 'blur' }"
464
+ style="width: 132px; margin-right: 10px"
470
465
  >
471
- <el-option
472
- v-for="{ label, value } in config.factorOptions?.filter((item) => [4].includes(item.type))"
473
- :label="label"
474
- :value="value"
475
- :key="value"
476
- />
477
- </el-select>
478
- </el-form-item>
479
- </template>
480
- <!-- 常规因子: 机器打分, 人工打分因子 -->
481
- <template v-else>
482
- <!-- 周期 -->
483
- <el-form-item
484
- v-if="config.cycleShow"
485
- :prop="'list.' + index + '.cycle'"
486
- :rules="{ required: true, message: '周期不能为空', trigger: 'blur' }"
487
- style="width: 100px; margin-right: 10px"
488
- >
489
- <el-select
490
- v-model="item.cycle"
491
- placeholder="选择周期"
492
- size="small"
466
+ <el-select
467
+ v-model="item.factor2"
468
+ placeholder="选择因子"
469
+ filterable
470
+ size="small"
471
+ no-match-text="无匹配数据"
472
+ >
473
+ <el-option
474
+ v-for="{ label, value } in config.factorOptions?.filter((item) => [4].includes(item.type))"
475
+ :label="label"
476
+ :value="value"
477
+ :key="value"
478
+ />
479
+ </el-select>
480
+ </el-form-item>
481
+ </template>
482
+ <!-- 常规因子: 机器打分, 人工打分因子 -->
483
+ <template v-else>
484
+ <!-- 周期 -->
485
+ <el-form-item
486
+ v-if="config.cycleShow"
487
+ :prop="'list.' + index + '.cycle'"
488
+ :rules="{ required: true, message: '周期不能为空', trigger: 'blur' }"
489
+ style="width: 100px; margin-right: 10px"
493
490
  >
494
- <el-option
495
- v-for="{ label, value } in config.cycleOptions"
496
- :label="label"
497
- :value="value"
498
- :key="value"
499
- />
500
- </el-select>
501
- </el-form-item>
502
- <!-- 因子 -->
503
- <el-form-item
504
- :prop="'list.' + index + '.factor'"
505
- :rules="{ required: true, message: '因子不能为空', trigger: 'blur' }"
506
- style="width: 194px; margin-right: 10px"
507
- >
508
- <el-select
509
- v-model="item.factor"
510
- placeholder="选择因子"
511
- filterable
512
- size="small"
513
- no-match-text="无匹配数据"
491
+ <el-select
492
+ v-model="item.cycle"
493
+ placeholder="选择周期"
494
+ size="small"
495
+ >
496
+ <el-option
497
+ v-for="{ label, value } in config.cycleOptions"
498
+ :label="label"
499
+ :value="value"
500
+ :key="value"
501
+ />
502
+ </el-select>
503
+ </el-form-item>
504
+ <!-- 因子 -->
505
+ <el-form-item
506
+ :prop="'list.' + index + '.factor'"
507
+ :rules="{ required: true, message: '因子不能为空', trigger: 'blur' }"
508
+ style="width: 194px; margin-right: 10px"
514
509
  >
515
- <el-option
516
- v-for="{ label, value } in config.factorOptions?.filter((item) => [1, 3].includes(item.type))"
517
- :label="label"
518
- :value="value"
519
- :key="value"
520
- />
521
- </el-select>
522
- </el-form-item>
523
- <!-- 分数 -->
524
- <el-form-item
525
- :prop="'list.' + index + '.score'"
526
- :rules="{ validator: handleVerifyScore, trigger: 'blur' }"
527
- style="width: 200px; margin-right: 10px"
528
- >
529
- <div style="display: flex; align-items: center; width: 100%; height: 24px">
530
- <el-input-number
531
- v-model="item.score[0]"
510
+ <el-select
511
+ v-model="item.factor"
512
+ placeholder="选择因子"
513
+ filterable
532
514
  size="small"
533
- controls-position="right"
515
+ no-match-text="无匹配数据"
516
+ >
517
+ <el-option
518
+ v-for="{ label, value } in config.factorOptions?.filter((item) => [1, 3].includes(item.type))"
519
+ :label="label"
520
+ :value="value"
521
+ :key="value"
522
+ />
523
+ </el-select>
524
+ </el-form-item>
525
+ <!-- 分数 -->
526
+ <el-form-item
527
+ :prop="'list.' + index + '.score'"
528
+ :rules="{ validator: handleVerifyScore, trigger: 'blur' }"
529
+ style="width: 200px; margin-right: 10px"
530
+ >
531
+ <div style="display: flex; align-items: center; width: 100%; height: 24px">
532
+ <el-input-number
533
+ v-model="item.score[0]"
534
+ size="small"
535
+ controls-position="right"
536
+ />
537
+ <span>~</span>
538
+ <el-input-number
539
+ v-model="item.score[1]"
540
+ size="small"
541
+ controls-position="right"
542
+ />
543
+ </div>
544
+ </el-form-item>
545
+ </template>
546
+ <!-- 删除 -->
547
+ <el-icon @click="handleDeleteFactor(index)"><CircleCloseFilled /></el-icon>
548
+ </div>
549
+ <el-button
550
+ type="primary"
551
+ plain
552
+ size="small"
553
+ :icon="Plus"
554
+ @click="handleAppendFactor"
555
+ style="margin-bottom: 10px"
556
+ >添加因子</el-button
557
+ >
558
+ <el-button
559
+ type="primary"
560
+ plain
561
+ size="small"
562
+ :icon="Plus"
563
+ @click="handleAppendFactor('compare')"
564
+ style="margin-bottom: 10px"
565
+ >添加因子对比</el-button
566
+ >
567
+ <!-- SQL功能 -->
568
+ <template v-if="config.sqlShow">
569
+ <el-form-item label="SQL功能: ">
570
+ <el-radio-group v-model="dialogForm.sqlEnable">
571
+ <el-radio
572
+ label="关闭"
573
+ :value="0"
534
574
  />
535
- <span>~</span>
536
- <el-input-number
537
- v-model="item.score[1]"
538
- size="small"
539
- controls-position="right"
575
+ <el-radio
576
+ label="启用"
577
+ :value="1"
540
578
  />
541
- </div>
579
+ </el-radio-group>
580
+ <el-button
581
+ v-if="dialogForm.sqlEnable"
582
+ type="primary"
583
+ size="small"
584
+ @click="handleGenerateSql"
585
+ style="margin-left: auto"
586
+ >生成SQL</el-button
587
+ >
542
588
  </el-form-item>
543
- </template>
544
- <!-- 删除 -->
545
- <el-icon @click="handleDeleteFactor(index)"><CircleCloseFilled /></el-icon>
546
- </div>
547
- <el-button
548
- type="primary"
549
- plain
550
- size="small"
551
- :icon="Plus"
552
- @click="handleAppendFactor"
553
- style="margin-bottom: 10px"
554
- >添加因子</el-button
555
- >
556
- <el-button
557
- type="primary"
558
- plain
559
- size="small"
560
- :icon="Plus"
561
- @click="handleAppendFactor('compare')"
562
- style="margin-bottom: 10px"
563
- >添加因子对比</el-button
564
- >
565
- <!-- SQL功能 -->
566
- <template v-if="config.sqlShow">
567
- <el-form-item label="SQL功能: ">
568
- <el-radio-group v-model="dialogForm.sqlEnable">
569
- <el-radio
570
- label="关闭"
571
- :value="0"
589
+ <template v-if="dialogForm.sqlEnable">
590
+ <el-input
591
+ v-model="dialogForm.sqlValue"
592
+ :autosize="{ minRows: 4 }"
593
+ type="textarea"
594
+ style="margin-bottom: 10px"
572
595
  />
573
- <el-radio
574
- label="启用"
575
- :value="1"
576
- />
577
- </el-radio-group>
578
- <el-button
579
- v-if="dialogForm.sqlEnable"
580
- type="primary"
581
- size="small"
582
- @click="handleGenerateSql"
583
- style="margin-left: auto"
584
- >生成SQL</el-button
585
- >
586
- </el-form-item>
587
- <template v-if="dialogForm.sqlEnable">
588
- <el-input
589
- v-model="dialogForm.sqlValue"
590
- :autosize="{ minRows: 4 }"
591
- type="textarea"
592
- style="margin-bottom: 10px"
593
- />
594
- <span>&&代表and,||代表or</span>
596
+ <span>&&代表and,||代表or</span>
597
+ </template>
595
598
  </template>
596
- </template>
597
- </el-form>
599
+ </el-form>
600
+ </el-scrollbar>
598
601
  <!-- 脚本模式 -->
599
602
  <div
600
603
  style="width: 968px; height: 400px"