alit-layout 1.0.0

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.
@@ -0,0 +1,4622 @@
1
+ import { defineComponent as Z, openBlock as s, createElementBlock as d, Fragment as M, renderList as V, createElementVNode as f, normalizeStyle as G, unref as x, toDisplayString as X, createCommentVNode as P, ref as Q, watch as De, normalizeClass as te, computed as A, createBlock as U, createTextVNode as Ke, createVNode as K, pushScopeId as He, popScopeId as Re, renderSlot as it, onMounted as Ve, nextTick as Ze, withModifiers as Le, resolveComponent as Ht, resolveDynamicComponent as mt, normalizeProps as yt, guardReactiveProps as _t, withCtx as It, inject as Rt, withDirectives as gt, provide as Wt } from "vue";
2
+ const Lt = {
3
+ // 选择题
4
+ choice: "MULTIPLE_RADIO_QUESTION",
5
+ // 多选题
6
+ choice_multiple: "MULTIPLE_CHOICE_QUESTIONS",
7
+ // 听后选择
8
+ choice_english: "LISTEN_AFTER_SELECTION",
9
+ // 完形填空
10
+ cloze: "CLOZE_TEST"
11
+ }, Ft = {
12
+ ...Lt,
13
+ // 判断题
14
+ decide: "TRUE_OR_FALSE"
15
+ }, at = {
16
+ // 填空题
17
+ fill: "FILL_BLANKS",
18
+ // 听后填空
19
+ fill_english: "FILL_AFTER_LISTENING",
20
+ // 解答题
21
+ slove: "ANSWER",
22
+ // 简答题
23
+ easy_slove: "SIMPLE_ANSWER",
24
+ // 综合题
25
+ synthesis: "COMPREHENSIVE_QUESTION",
26
+ // 作文题
27
+ art: "COMPOSITION_QUESTION",
28
+ // 选填题
29
+ mix: "OPTIONAL_QUESTIONS"
30
+ }, be = {
31
+ // 选做题
32
+ one_choice: "CHOOSE_A_QUESTION",
33
+ // 复合题
34
+ hybrid: "COMPOUND_QUESTION",
35
+ // 附加题
36
+ another: "ADDITIONAL_QUESTION",
37
+ // 附加选做题
38
+ another_choice: "ADDITIONAL_CHOOSE_QUESTION"
39
+ }, Gt = {
40
+ // 文本
41
+ __text: "TXT",
42
+ // 文案
43
+ __cdest: "COPY",
44
+ // 非作答区(大题)
45
+ __notarea: "NO_ANSWER_AREA",
46
+ // 非作答区(试题)
47
+ __notareaproblem: "QUES_NO_ANSWER_AREA"
48
+ }, p = {
49
+ ...Ft,
50
+ ...at
51
+ }, Oe = [
52
+ { name: "A3", code: "a3", size: "420*297mm", isMultCol: !0 },
53
+ { name: "A3+", code: "a3+", size: "463*327mm", isMultCol: !0 },
54
+ { name: "A4", code: "a4", size: "210*297mm" },
55
+ { name: "B4(竖版)", code: "a4x", size: "250*353mm" },
56
+ { name: "8k", code: "8k", size: "370*260mm", isMultCol: !0 },
57
+ { name: "16k", code: "16k", size: "185*260mm" },
58
+ { name: "B4", code: "b4", size: "353*250mm", isMultCol: !0 }
59
+ ], b = {
60
+ a3: {
61
+ width: 1588,
62
+ height: 1124
63
+ },
64
+ "a3+": {
65
+ width: 1752,
66
+ height: 1240
67
+ },
68
+ a4: {
69
+ width: 792,
70
+ height: 1124
71
+ },
72
+ a4x: {
73
+ width: 944,
74
+ height: 1332
75
+ },
76
+ "8k": {
77
+ width: 1396,
78
+ height: 984
79
+ },
80
+ "16k": {
81
+ width: 700,
82
+ height: 984
83
+ },
84
+ b4: {
85
+ width: 1332,
86
+ height: 944
87
+ }
88
+ }, Yt = {
89
+ article: {
90
+ a3: [
91
+ { name: "两栏", code: 2 },
92
+ { name: "三栏", code: 3 }
93
+ ],
94
+ "a3+": [
95
+ { name: "两栏", code: 2 },
96
+ { name: "三栏", code: 3 }
97
+ ],
98
+ a4: [
99
+ { name: "一栏", code: 1 },
100
+ { name: "两栏", code: 2 }
101
+ ],
102
+ a4x: [
103
+ { name: "一栏", code: 1 },
104
+ { name: "两栏", code: 2 }
105
+ ],
106
+ "8k": [
107
+ { name: "两栏", code: 2 },
108
+ { name: "三栏", code: 3 }
109
+ ],
110
+ "16k": [
111
+ { name: "一栏", code: 1 }
112
+ ],
113
+ b4: [
114
+ { name: "两栏", code: 2 }
115
+ ]
116
+ },
117
+ sheet: {
118
+ a3: [
119
+ { name: "两栏", code: 2 },
120
+ { name: "三栏", code: 3 }
121
+ ],
122
+ "a3+": [
123
+ { name: "两栏", code: 2 },
124
+ { name: "三栏", code: 3 }
125
+ ],
126
+ a4: [
127
+ { name: "一栏", code: 1 }
128
+ ],
129
+ a4x: [
130
+ { name: "一栏", code: 1 }
131
+ ],
132
+ "8k": [
133
+ { name: "两栏", code: 2 },
134
+ { name: "三栏", code: 3 }
135
+ ],
136
+ "16k": [
137
+ { name: "一栏", code: 1 }
138
+ ],
139
+ b4: [
140
+ { name: "两栏", code: 2 }
141
+ ]
142
+ },
143
+ sheetCard: {
144
+ a3: [
145
+ { name: "两栏", code: 2 },
146
+ { name: "三栏", code: 3 }
147
+ ],
148
+ "a3+": [
149
+ { name: "两栏", code: 2 },
150
+ { name: "三栏", code: 3 }
151
+ ],
152
+ a4: [
153
+ { name: "一栏", code: 1 }
154
+ ],
155
+ a4x: [
156
+ { name: "一栏", code: 1 }
157
+ ],
158
+ "8k": [
159
+ { name: "两栏", code: 2 },
160
+ { name: "三栏", code: 3 }
161
+ ],
162
+ "16k": [
163
+ { name: "一栏", code: 1 }
164
+ ],
165
+ b4: [
166
+ { name: "两栏", code: 2 }
167
+ ]
168
+ }
169
+ }, rt = {
170
+ article: {
171
+ a3: {
172
+ top: b.a3.width / 420 * 20.5,
173
+ right: b.a3.width / 420 * 20.5,
174
+ bottom: b.a3.width / 420 * 20.5,
175
+ left: b.a3.width / 420 * 20.5
176
+ },
177
+ "a3+": {
178
+ top: b["a3+"].width / 420 * 20.5,
179
+ right: b["a3+"].width / 420 * 20.5,
180
+ bottom: b["a3+"].width / 420 * 20.5,
181
+ left: b["a3+"].width / 420 * 20.5
182
+ },
183
+ a4: {
184
+ top: b.a4.width / 210 * 20.5,
185
+ right: b.a4.width / 210 * 20.5,
186
+ bottom: b.a4.width / 210 * 20.5,
187
+ left: b.a4.width / 210 * 20.5
188
+ },
189
+ a4x: {
190
+ top: b.b4.width / 353 * 20,
191
+ right: b.b4.width / 353 * 20,
192
+ bottom: b.b4.width / 353 * 20,
193
+ left: b.b4.width / 353 * 20
194
+ },
195
+ "8k": {
196
+ top: b["8k"].width / 370 * 17.5,
197
+ right: b["8k"].width / 370 * 17.5,
198
+ bottom: b["8k"].width / 370 * 17.5,
199
+ left: b["8k"].width / 370 * 17.5
200
+ },
201
+ "16k": {
202
+ top: b["16k"].width / 185 * 14.5,
203
+ right: b["16k"].width / 185 * 14.5,
204
+ bottom: b["16k"].width / 185 * 14.5,
205
+ left: b["16k"].width / 185 * 14.5
206
+ },
207
+ b4: {
208
+ top: b.b4.width / 353 * 17.5,
209
+ right: b.b4.width / 353 * 17.5,
210
+ bottom: b.b4.width / 353 * 17.5,
211
+ left: b.b4.width / 353 * 17.5
212
+ }
213
+ },
214
+ sheet: {
215
+ a3: {
216
+ top: b.a3.width / 420 * 19,
217
+ right: b.a3.width / 420 * 19,
218
+ bottom: b.a3.width / 420 * 19,
219
+ left: b.a3.width / 420 * 19
220
+ },
221
+ "a3+": {
222
+ top: b["a3+"].width / 420 * 19,
223
+ right: b["a3+"].width / 420 * 19,
224
+ bottom: b["a3+"].width / 420 * 19,
225
+ left: b["a3+"].width / 420 * 19
226
+ },
227
+ a4: {
228
+ top: b.a4.width / 210 * 19,
229
+ right: b.a4.width / 210 * 19,
230
+ bottom: b.a4.width / 210 * 19,
231
+ left: b.a4.width / 210 * 19
232
+ },
233
+ a4x: {
234
+ top: b.b4.width / 353 * 20,
235
+ right: b.b4.width / 353 * 20,
236
+ bottom: b.b4.width / 353 * 20,
237
+ left: b.b4.width / 353 * 20
238
+ },
239
+ "8k": {
240
+ top: b["8k"].width / 370 * 16,
241
+ right: b["8k"].width / 370 * 16,
242
+ bottom: b["8k"].width / 370 * 16,
243
+ left: b["8k"].width / 370 * 16
244
+ },
245
+ "16k": {
246
+ top: b["16k"].width / 185 * 15,
247
+ right: b["16k"].width / 185 * 15,
248
+ bottom: b["16k"].width / 185 * 15,
249
+ left: b["16k"].width / 185 * 15
250
+ },
251
+ b4: {
252
+ top: b.b4.width / 353 * 19,
253
+ right: b.b4.width / 353 * 19,
254
+ bottom: b.b4.width / 353 * 19,
255
+ left: b.b4.width / 353 * 19
256
+ }
257
+ },
258
+ sheetCard: {
259
+ a3: {
260
+ top: b.a3.width / 420 * 19,
261
+ right: b.a3.width / 420 * 19,
262
+ bottom: b.a3.width / 420 * 19,
263
+ left: b.a3.width / 420 * 19
264
+ },
265
+ "a3+": {
266
+ top: b["a3+"].width / 420 * 19,
267
+ right: b["a3+"].width / 420 * 19,
268
+ bottom: b["a3+"].width / 420 * 19,
269
+ left: b["a3+"].width / 420 * 19
270
+ },
271
+ a4: {
272
+ top: b.a4.width / 210 * 19,
273
+ right: b.a4.width / 210 * 19,
274
+ bottom: b.a4.width / 210 * 19,
275
+ left: b.a4.width / 210 * 19
276
+ },
277
+ a4x: {
278
+ top: b.b4.width / 353 * 20,
279
+ right: b.b4.width / 353 * 20,
280
+ bottom: b.b4.width / 353 * 20,
281
+ left: b.b4.width / 353 * 20
282
+ },
283
+ "8k": {
284
+ top: b["8k"].width / 370 * 16,
285
+ right: b["8k"].width / 370 * 16,
286
+ bottom: b["8k"].width / 370 * 16,
287
+ left: b["8k"].width / 370 * 16
288
+ },
289
+ "16k": {
290
+ top: b["16k"].width / 185 * 15,
291
+ right: b["16k"].width / 185 * 15,
292
+ bottom: b["16k"].width / 185 * 15,
293
+ left: b["16k"].width / 185 * 15
294
+ },
295
+ b4: {
296
+ top: b.b4.width / 353 * 19,
297
+ right: b.b4.width / 353 * 19,
298
+ bottom: b.b4.width / 353 * 19,
299
+ left: b.b4.width / 353 * 19
300
+ }
301
+ }
302
+ }, qt = {
303
+ article: {
304
+ a3: 5,
305
+ "a3+": 5,
306
+ a4: 5,
307
+ a4x: 5,
308
+ "8k": 5,
309
+ "16k": 5,
310
+ b4: 5
311
+ },
312
+ sheet: {
313
+ a3: 0,
314
+ "a3+": 0,
315
+ a4: 0,
316
+ a4x: 0,
317
+ "8k": 0,
318
+ "16k": 0,
319
+ b4: 0
320
+ },
321
+ sheetCard: {
322
+ a3: 0,
323
+ "a3+": 0,
324
+ a4: 0,
325
+ a4x: 0,
326
+ "8k": 0,
327
+ "16k": 0,
328
+ b4: 0
329
+ }
330
+ }, ke = {
331
+ top: 21,
332
+ right: 6,
333
+ bottom: 21,
334
+ left: 6
335
+ }, Qt = {
336
+ left: 5,
337
+ right: 5
338
+ }, Et = {
339
+ article: {
340
+ a3: {
341
+ 2: 30,
342
+ 3: 30
343
+ },
344
+ "a3+": {
345
+ 2: 30,
346
+ 3: 30
347
+ },
348
+ a4: {
349
+ 1: 30,
350
+ 2: 20
351
+ },
352
+ a4x: {
353
+ 1: 30,
354
+ 2: 20
355
+ },
356
+ "8k": {
357
+ 2: 30,
358
+ 3: 30
359
+ },
360
+ "16k": {
361
+ 1: 30
362
+ },
363
+ b4: {
364
+ 2: 30
365
+ }
366
+ },
367
+ sheet: {
368
+ a3: {
369
+ 2: 20,
370
+ 3: 10
371
+ },
372
+ "a3+": {
373
+ 2: 20,
374
+ 3: 10
375
+ },
376
+ a4: {
377
+ 1: 16,
378
+ 2: 16
379
+ },
380
+ a4x: {
381
+ 1: 16,
382
+ 2: 16
383
+ },
384
+ "8k": {
385
+ 2: 20,
386
+ 3: 10
387
+ },
388
+ "16k": {
389
+ 1: 16
390
+ },
391
+ b4: {
392
+ 2: 20
393
+ }
394
+ },
395
+ sheetCard: {
396
+ a3: {
397
+ 2: 20,
398
+ 3: 10
399
+ },
400
+ "a3+": {
401
+ 2: 20,
402
+ 3: 10
403
+ },
404
+ a4: {
405
+ 1: 16,
406
+ 2: 16
407
+ },
408
+ a4x: {
409
+ 1: 16,
410
+ 2: 16
411
+ },
412
+ "8k": {
413
+ 2: 20,
414
+ 3: 10
415
+ },
416
+ "16k": {
417
+ 1: 16
418
+ },
419
+ b4: {
420
+ 2: 20
421
+ }
422
+ }
423
+ }, Ut = 10, Kt = {
424
+ base: {
425
+ secTitleFlag: "副标题",
426
+ authorFlag: "命题人",
427
+ reviewerFlag: "审核人",
428
+ examTimeFlag: "考试时长",
429
+ examExtentFlag: "考试范围",
430
+ totalScoreFlag: "总分统计",
431
+ secrecyFlag: "保密标记",
432
+ listIndexFlag: "大标题题号隐藏",
433
+ sloganFlag: "宣传话术",
434
+ textHeadFlag: "仅首页显示页头",
435
+ writeScoreFlag: "卷面整洁分",
436
+ scoreTipFlag: "计分提示"
437
+ },
438
+ article: {
439
+ secTitleFlag: "副标题",
440
+ authorFlag: "命题人",
441
+ reviewerFlag: "审核人",
442
+ examTimeFlag: "考试时长",
443
+ examExtentFlag: "考试范围",
444
+ totalScoreFlag: "总分统计",
445
+ secrecyFlag: "保密标记",
446
+ lackFlag: "缺考标记",
447
+ scoreFlag: "誉分栏",
448
+ noteFlag: "注意事项",
449
+ writeScoreFlag: "卷面整洁分",
450
+ listIndexFlag: "大标题题号隐藏",
451
+ sloganFlag: "宣传话术",
452
+ bindFlag: "密封线(限A3/8K/B4)",
453
+ halfScoreFlag: "打分栏支持0.5分",
454
+ fillScoreFlag: "填空题分数显示",
455
+ minusFlag: "减分制",
456
+ simpleScoreBarFlag: "简易打分条",
457
+ scoreTipFlag: "计分提示",
458
+ topicFlag: "显示大标题"
459
+ },
460
+ sheet: {
461
+ secTitleFlag: "副标题",
462
+ authorFlag: "命题人",
463
+ reviewerFlag: "审核人",
464
+ examTimeFlag: "考试时长",
465
+ examExtentFlag: "考试范围",
466
+ secrecyFlag: "保密标记",
467
+ lackFlag: "缺考标记",
468
+ noteFlag: "注意事项",
469
+ scoreFlag: "誉分栏",
470
+ bindFlag: "密封线(限A3/8K/B4)",
471
+ listIndexFlag: "大标题题号隐藏",
472
+ redFlag: "红色答题卡",
473
+ halfScoreFlag: "打分栏支持0.5分",
474
+ polymerFlag: "主客分离",
475
+ handReadFlag: "手阅",
476
+ fillScoreFlag: "填空题分数显示",
477
+ minusFlag: "减分制",
478
+ simpleScoreBarFlag: "简易打分条"
479
+ },
480
+ sheetCard: {
481
+ secTitleFlag: "副标题",
482
+ authorFlag: "命题人",
483
+ reviewerFlag: "审核人",
484
+ examTimeFlag: "考试时长",
485
+ examExtentFlag: "考试范围",
486
+ totalScoreFlag: "总分统计",
487
+ secrecyFlag: "保密标记",
488
+ lackFlag: "缺考标记",
489
+ scoreFlag: "誉分栏",
490
+ noteFlag: "注意事项",
491
+ writeScoreFlag: "卷面整洁分",
492
+ polymerFlag: "主客分离",
493
+ listIndexFlag: "大标题题号隐藏",
494
+ redFlag: "红色答题卡",
495
+ minusFlag: "减分制",
496
+ bindFlag: "密封线(限A3/8K/B4)",
497
+ sloganFlag: "宣传话术",
498
+ halfScoreFlag: "打分栏支持0.5分",
499
+ fillScoreFlag: "填空题分数显示",
500
+ handReadFlag: "手阅",
501
+ simpleScoreBarFlag: "简易打分条",
502
+ scoreTipFlag: "计分提示"
503
+ }
504
+ }, jt = {
505
+ a3: {
506
+ 2: 1,
507
+ 3: 1
508
+ },
509
+ "a3+": {
510
+ 2: 1,
511
+ 3: 1
512
+ },
513
+ a4: {
514
+ 1: 1,
515
+ 2: 2
516
+ },
517
+ a4x: {
518
+ 1: 1,
519
+ 2: 2
520
+ },
521
+ "8k": {
522
+ 2: 1,
523
+ 3: 1
524
+ },
525
+ "16k": {
526
+ 1: 1,
527
+ 2: 2
528
+ },
529
+ b4: {
530
+ 2: 1,
531
+ 3: 1
532
+ }
533
+ }, q = {
534
+ page: "page",
535
+ headline: "headline",
536
+ text: "text",
537
+ problem: "problem",
538
+ cdest: "cdest",
539
+ headlineNotarea: "headlineNotarea",
540
+ problemNotarea: "problemNotarea"
541
+ }, Xt = [
542
+ { name: "正常", code: "stand" },
543
+ { name: "横向", code: "column" }
544
+ ], ve = {
545
+ none: "none",
546
+ seat: "seat",
547
+ shortId: "short"
548
+ }, Vt = [
549
+ { name: "无", code: ve.none },
550
+ { name: "座位号", code: ve.seat, value: 3 },
551
+ { name: "短学号", code: ve.shortId, value: 4 }
552
+ ], lt = {
553
+ wide: "text",
554
+ local: "topic"
555
+ }, Zt = [
556
+ { name: "整卷", code: lt.wide },
557
+ { name: "大题", code: lt.local }
558
+ ], qe = {
559
+ system: "system",
560
+ second: "level_2",
561
+ three: "level_3"
562
+ }, Jt = [
563
+ { name: "自增", code: qe.system },
564
+ { name: "二级", code: qe.second },
565
+ { name: "三级", code: qe.three }
566
+ ], eo = [
567
+ { name: "缩进", code: !0 },
568
+ { name: "不缩进", code: !1 }
569
+ ], Qe = {
570
+ auto: "auto",
571
+ on: "on",
572
+ off: "off"
573
+ }, to = [
574
+ { name: "自动", code: Qe.auto },
575
+ { name: "开", code: Qe.on },
576
+ { name: "关", code: Qe.off }
577
+ ], Ue = {
578
+ none: "none",
579
+ step: "step",
580
+ custom: "custom"
581
+ }, oo = [
582
+ { name: "常规", code: Ue.none },
583
+ { name: "分段", code: Ue.step },
584
+ { name: "自编", code: Ue.custom }
585
+ ], T = {
586
+ choice_1: "choice-1",
587
+ choice_2: "choice-2",
588
+ choice_3: "choice-3",
589
+ decide_1: "decide-1",
590
+ decide_2: "decide-2",
591
+ fill_1: "fill-1",
592
+ fill_2: "fill-2",
593
+ fill_3: "fill-3",
594
+ slove_1: "slove-1",
595
+ slove_2: "slove-2",
596
+ slove_3: "slove-3",
597
+ slove_4: "slove-4",
598
+ slove_5: "none",
599
+ slove_6: "underline",
600
+ full: "full",
601
+ custom: "custom",
602
+ landscape: "landscape",
603
+ portrait: "portrait",
604
+ stand: "stand",
605
+ large: "large",
606
+ max: "max",
607
+ col_1: 1,
608
+ col_2: 2
609
+ }, m = {
610
+ article: {
611
+ sub_a: "quesNumIndentFlag",
612
+ // 题号缩进
613
+ // 选择题
614
+ choice_a: "combine",
615
+ // 判断题
616
+ decide_a: "judgeStyle",
617
+ // 填空题
618
+ fill_a: "boxFollow",
619
+ // 解答题
620
+ slove_a: "borderLine",
621
+ // 边框
622
+ slove_b: "inlineFlag",
623
+ // 内置题干
624
+ slove_c: "borderStyle",
625
+ // 边框样式
626
+ slove_d: "insertNumStyle",
627
+ // 插入题号样式
628
+ // 作文题
629
+ art_a: "fill",
630
+ // 是否铺满
631
+ art_b: "gridSize",
632
+ // 格子尺寸
633
+ art_c: "answerNum",
634
+ // 字数
635
+ art_d: "step",
636
+ // 游标
637
+ art_e: "stepNum",
638
+ // 游标分段区间
639
+ col_a: "arrangeColumn"
640
+ // 横向分栏
641
+ },
642
+ sheet: {
643
+ sub_a: "quesNumIndentFlag",
644
+ // 题号缩进
645
+ // 选择题
646
+ choice_a: "cardArrange",
647
+ // 横排/竖排
648
+ choice_b: "cardDir",
649
+ // 横向/竖向
650
+ choice_c: "cardQuesNum",
651
+ // 每组题数
652
+ choice_d: "choiceColumnNum",
653
+ // 列数
654
+ // 判断题
655
+ decide_a: "judgeStyle",
656
+ // 填空题
657
+ fill_a: "boxFollow",
658
+ // 打分框位置
659
+ fill_b: "cardQuesContentFlag",
660
+ // 题干显隐
661
+ fill_c: "cardLineBreak",
662
+ // 分题换行
663
+ fill_d: "cardEmptySize",
664
+ // 自身每行空数
665
+ fill_e: "cardEmptyHeight",
666
+ // 每空高度
667
+ fill_f: "cardEmptyNum",
668
+ // 每行空数
669
+ // 选填题
670
+ mix_a: "cardQuesContentFlag",
671
+ // 解答题
672
+ slove_a: "cardHideLineFlag",
673
+ // 作文题
674
+ art_a: "fill",
675
+ // 是否铺满
676
+ art_b: "gridSize",
677
+ // 格子尺寸
678
+ art_c: "answerNum",
679
+ // 字数
680
+ art_d: "step",
681
+ // 游标,
682
+ art_e: "stepNum",
683
+ // 游标分段区间
684
+ // 综合题
685
+ synthesis_a: "polymerFlag"
686
+ },
687
+ sheetCard: {
688
+ // 选择题
689
+ choice_a: "cardArrange",
690
+ // 横排/竖排
691
+ choice_b: "cardDir",
692
+ // 横向/竖向
693
+ choice_c: "cardQuesNum",
694
+ // 每组题数
695
+ choice_d: "choiceColumnNum",
696
+ // 列数
697
+ // 判断题
698
+ decide_a: "judgeStyle",
699
+ // 填空题
700
+ fill_a: "boxFollow",
701
+ // 打分框位置
702
+ fill_b: "cardQuesContentFlag",
703
+ // 题干显隐
704
+ fill_c: "cardLineBreak",
705
+ // 分题换行
706
+ fill_d: "cardEmptySize",
707
+ // 自身每行空数
708
+ fill_e: "cardEmptyHeight",
709
+ // 每空高度
710
+ fill_f: "cardEmptyNum",
711
+ // 每行空数
712
+ // 选填题
713
+ mix_a: "cardQuesContentFlag",
714
+ // 解答题
715
+ slove_a: "cardHideLineFlag",
716
+ // 简答题
717
+ easy_slove_a: "cardQuesContentFlag",
718
+ // 作文题
719
+ art_a: "fill",
720
+ // 是否铺满
721
+ art_b: "gridSize",
722
+ // 格子尺寸
723
+ art_c: "answerNum",
724
+ // 字数
725
+ art_d: "step",
726
+ // 游标,
727
+ art_e: "stepNum",
728
+ // 游标分段区间
729
+ // 综合题
730
+ synthesis_a: "polymerFlag"
731
+ }
732
+ }, Mt = {
733
+ article: {
734
+ // 文案边框控制
735
+ isShowBorder: "isShowBorder"
736
+ }
737
+ }, ao = {
738
+ base: [
739
+ {
740
+ type: "radio",
741
+ label: "横向分栏",
742
+ key: m.article.col_a,
743
+ target: [q.headline],
744
+ show: (e) => ![p.art].includes(e.problemType) && e.layoutMode === "column",
745
+ option: [
746
+ { name: "1栏", code: T.col_1 },
747
+ { name: "横向2栏", code: T.col_2 }
748
+ ]
749
+ }
750
+ ],
751
+ article: [
752
+ {
753
+ type: "radio",
754
+ label: "横向分栏",
755
+ key: m.article.col_a,
756
+ target: [q.headline],
757
+ show: (e) => ![p.art].includes(e.problemType) && e.layoutMode === "column",
758
+ option: [
759
+ { name: "1栏", code: T.col_1 },
760
+ { name: "横向2栏", code: T.col_2 }
761
+ ]
762
+ }
763
+ ]
764
+ }, lo = {
765
+ base: {
766
+ // 解答题
767
+ [p.slove]: [
768
+ {
769
+ type: "radio",
770
+ label: "插入题号样式控制",
771
+ key: m.article.slove_d,
772
+ code: "slove_insert_sub",
773
+ target: [q.problem],
774
+ option: [
775
+ { name: "无", code: T.slove_5 },
776
+ { name: "下划线", code: T.slove_6 }
777
+ ]
778
+ }
779
+ ]
780
+ },
781
+ article: {
782
+ // 选择题
783
+ [p.choice]: [
784
+ {
785
+ type: "radio",
786
+ label: "展示样式",
787
+ key: m.article.choice_a,
788
+ option: [
789
+ { name: "分布式", code: T.choice_1 },
790
+ { name: "集合式", code: T.choice_2 }
791
+ ]
792
+ }
793
+ ],
794
+ // 判断题
795
+ [p.decide]: [
796
+ {
797
+ type: "radio",
798
+ label: "展示样式",
799
+ key: m.article.decide_a,
800
+ option: [
801
+ { name: "对错", code: T.decide_1 },
802
+ { name: "TF", code: T.decide_2 }
803
+ ]
804
+ }
805
+ ],
806
+ // 填空题
807
+ [p.fill]: [
808
+ {
809
+ type: "radio",
810
+ label: "打分框位置",
811
+ key: m.article.fill_a,
812
+ option: [
813
+ { name: "跟随下划线", code: T.fill_1 },
814
+ { name: "跟随主题干", code: T.fill_2 },
815
+ { name: "跟随标点符号", code: T.fill_3 }
816
+ ]
817
+ }
818
+ ],
819
+ // 选填题
820
+ [p.mix]: [],
821
+ // 解答题
822
+ [p.slove]: [
823
+ {
824
+ type: "radio",
825
+ label: "边框控制",
826
+ key: m.article.slove_a,
827
+ option: [
828
+ { name: "有边框", code: T.slove_1 },
829
+ { name: "无边框", code: T.slove_2 }
830
+ ]
831
+ },
832
+ {
833
+ type: "radio",
834
+ label: "边框样式",
835
+ key: m.article.slove_c,
836
+ show: (e) => e.style[m.article.slove_a] === T.slove_1,
837
+ option: [
838
+ { name: "标准边框", code: T.slove_3 },
839
+ { name: "简易边框", code: T.slove_4 }
840
+ ]
841
+ },
842
+ {
843
+ type: "radio",
844
+ label: "题干显示控制",
845
+ key: m.article.slove_b,
846
+ option: [
847
+ { name: "内置题干", code: !0 },
848
+ { name: "外置题干", code: !1 }
849
+ ]
850
+ },
851
+ {
852
+ type: "radio",
853
+ label: "插入题号样式控制",
854
+ key: m.article.slove_d,
855
+ code: "slove_insert_sub",
856
+ target: [q.problem],
857
+ option: [
858
+ { name: "无", code: T.slove_5 },
859
+ { name: "下划线", code: T.slove_6 }
860
+ ]
861
+ }
862
+ ],
863
+ // 作文题
864
+ [p.art]: [
865
+ {
866
+ type: "slider",
867
+ label: "格子尺寸",
868
+ key: m.article.art_b,
869
+ detail: !0,
870
+ min: () => 27,
871
+ max: () => 40
872
+ },
873
+ {
874
+ type: "input",
875
+ label: "设置字数",
876
+ key: m.article.art_c,
877
+ detail: !0,
878
+ unit: "字",
879
+ target: [q.problem]
880
+ },
881
+ {
882
+ type: "slider",
883
+ label: "字数游标分段",
884
+ key: m.article.art_d,
885
+ detail: !0,
886
+ max: (e) => Math.floor(e.style[m.article.art_c] / e.style[m.article.art_e]),
887
+ target: [q.problem]
888
+ },
889
+ {
890
+ type: "radio",
891
+ label: "字数分段区间",
892
+ key: m.article.art_e,
893
+ option: [
894
+ { name: "80", code: 80 },
895
+ { name: "100", code: 100 }
896
+ ],
897
+ detail: !0,
898
+ target: [q.problem]
899
+ }
900
+ ]
901
+ },
902
+ sheet: {
903
+ // 选择题
904
+ [p.choice]: [
905
+ {
906
+ type: "radio",
907
+ label: "排列样式",
908
+ key: m.sheet.choice_a,
909
+ option: [
910
+ { name: "横排", code: T.choice_1 },
911
+ { name: "竖排", code: T.choice_2 },
912
+ { name: "分组", code: T.choice_3 }
913
+ ]
914
+ },
915
+ {
916
+ type: "radio",
917
+ label: "排列方向",
918
+ key: m.sheet.choice_b,
919
+ show: (e) => e.style[m.sheet.choice_a] !== T.choice_2,
920
+ option: [
921
+ { name: "横向", code: T.landscape },
922
+ { name: "纵向", code: T.portrait }
923
+ ]
924
+ },
925
+ {
926
+ type: "radio",
927
+ label: "每组题数",
928
+ key: m.sheet.choice_c,
929
+ show: (e) => [T.choice_2].includes(e.style[m.sheet.choice_a]),
930
+ option: [
931
+ { name: "3题", code: 3 },
932
+ { name: "4题", code: 4 },
933
+ { name: "5题", code: 5 }
934
+ ]
935
+ }
936
+ ],
937
+ // 判断题
938
+ [p.decide]: [
939
+ {
940
+ type: "radio",
941
+ label: "展示样式",
942
+ key: m.sheet.decide_a,
943
+ option: [
944
+ { name: "对错", code: T.decide_1 },
945
+ { name: "TF", code: T.decide_2 }
946
+ ]
947
+ }
948
+ ],
949
+ // 填空题
950
+ [p.fill]: [
951
+ {
952
+ type: "radio",
953
+ label: "题干显示控制",
954
+ key: m.sheet.fill_b,
955
+ option: [
956
+ { name: "显示题干", code: !0 },
957
+ { name: "隐藏题干", code: !1 }
958
+ ]
959
+ },
960
+ {
961
+ type: "radio",
962
+ label: "打分框位置",
963
+ key: m.sheet.fill_a,
964
+ show: (e) => e.style[m.sheet.fill_b],
965
+ option: [
966
+ { name: "跟随下划线", code: T.fill_1 },
967
+ { name: "跟随主题干", code: T.fill_2 },
968
+ { name: "跟随标点符号", code: T.fill_3 }
969
+ ]
970
+ },
971
+ {
972
+ type: "radio",
973
+ label: "分题换行",
974
+ key: m.sheet.fill_c,
975
+ target: [q.page, q.headline],
976
+ show: (e) => !e.style[m.sheet.fill_b],
977
+ option: [
978
+ { name: "开启", code: T.fill_1 },
979
+ { name: "关闭", code: T.fill_2 }
980
+ ]
981
+ },
982
+ {
983
+ // 试题自身
984
+ type: "radio",
985
+ label: "每空宽度",
986
+ key: m.sheet.fill_d,
987
+ show: (e) => !e.style[m.sheet.fill_b] && !e.children.length,
988
+ option: [
989
+ { name: "1", code: 1 },
990
+ { name: "1/2", code: 2 },
991
+ { name: "1/3", code: 3 },
992
+ { name: "1/4", code: 4 },
993
+ { name: "2/3", code: 1.5 },
994
+ { name: "3/4", code: 1.34 }
995
+ ]
996
+ },
997
+ {
998
+ // 其它
999
+ type: "radio",
1000
+ label: "每行空数",
1001
+ key: m.sheet.fill_f,
1002
+ show: (e) => !e.style[m.sheet.fill_b] && e.children.length,
1003
+ option: [
1004
+ { name: "1", code: 1 },
1005
+ { name: "1/2", code: 2 },
1006
+ { name: "1/3", code: 3 },
1007
+ { name: "1/4", code: 4 },
1008
+ { name: "2/3", code: 1.5 },
1009
+ { name: "3/4", code: 1.34 }
1010
+ ]
1011
+ },
1012
+ {
1013
+ type: "slider",
1014
+ label: "每空高度",
1015
+ key: m.sheet.fill_e,
1016
+ target: [q.page, q.headline],
1017
+ show: (e) => !e.style[m.sheet.fill_b],
1018
+ max: () => 20
1019
+ }
1020
+ ],
1021
+ // 选填题
1022
+ [p.mix]: [
1023
+ {
1024
+ type: "radio",
1025
+ label: "题干显示控制",
1026
+ key: m.sheet.mix_a,
1027
+ option: [
1028
+ { name: "显示题干", code: !0 },
1029
+ { name: "隐藏题干", code: !1 }
1030
+ ]
1031
+ },
1032
+ {
1033
+ // 试题自身
1034
+ type: "radio",
1035
+ label: "每空宽度",
1036
+ key: m.sheet.fill_d,
1037
+ filter: (e, t) => e.mixType[t].problemType === p.fill,
1038
+ target: [q.problem],
1039
+ show: (e) => !e.style[m.sheet.mix_a] && (e.mixType || []).find((t) => t.problemType === p.fill),
1040
+ option: [
1041
+ { name: "1", code: 1 },
1042
+ { name: "1/2", code: 2 },
1043
+ { name: "1/3", code: 3 },
1044
+ { name: "1/4", code: 4 },
1045
+ { name: "2/3", code: 1.5 },
1046
+ { name: "3/4", code: 1.34 }
1047
+ ]
1048
+ },
1049
+ {
1050
+ type: "slider",
1051
+ label: "每空高度",
1052
+ key: m.sheet.fill_e,
1053
+ show: (e) => !e.style[m.sheet.mix_a] && (e.mixType || (e.children || []).filter((t) => Object.values(p).includes(t.problemType) && !t.style[m.sheet.mix_a]).map((t) => t.mixType).flat(2)).find((t) => t.problemType === p.fill),
1054
+ max: () => 20
1055
+ },
1056
+ {
1057
+ type: "radio",
1058
+ label: "展示样式",
1059
+ key: m.sheet.decide_a,
1060
+ show: (e) => !e.style[m.sheet.mix_a] && (e.mixType || (e.children || []).filter((t) => Object.values(p).includes(t.problemType) && !t.style[m.sheet.mix_a]).map((t) => t.mixType).flat(2)).find((t) => t.problemType === p.decide),
1061
+ option: [
1062
+ { name: "对错", code: T.decide_1 },
1063
+ { name: "TF", code: T.decide_2 }
1064
+ ]
1065
+ },
1066
+ {
1067
+ type: "radio",
1068
+ label: "排列方向",
1069
+ key: m.sheet.choice_b,
1070
+ target: [q.problem],
1071
+ show: (e) => !e.style[m.sheet.mix_a] && !(e.mixType || []).find((t) => ![p.choice, p.choice_multiple].includes(t.problemType)),
1072
+ option: [
1073
+ { name: "横向", code: T.landscape },
1074
+ { name: "竖向", code: T.portrait }
1075
+ ]
1076
+ }
1077
+ ],
1078
+ // 解答题
1079
+ [p.slove]: [],
1080
+ // 作文题
1081
+ [p.art]: [
1082
+ {
1083
+ type: "slider",
1084
+ label: "格子尺寸",
1085
+ key: m.article.art_b,
1086
+ detail: !0,
1087
+ min: () => 27,
1088
+ max: () => 40
1089
+ },
1090
+ {
1091
+ type: "input",
1092
+ label: "设置字数",
1093
+ key: m.sheet.art_c,
1094
+ detail: !0,
1095
+ unit: "字",
1096
+ target: [q.problem]
1097
+ },
1098
+ {
1099
+ type: "slider",
1100
+ label: "字数游标分段",
1101
+ key: m.sheet.art_d,
1102
+ detail: !0,
1103
+ max: (e) => Math.floor(e.style[m.sheet.art_c] / e.style[m.sheet.art_e]),
1104
+ target: [q.problem]
1105
+ },
1106
+ {
1107
+ type: "radio",
1108
+ label: "字数分段区间",
1109
+ key: m.sheet.art_e,
1110
+ option: [
1111
+ { name: "80", code: 80 },
1112
+ { name: "100", code: 100 }
1113
+ ],
1114
+ detail: !0,
1115
+ target: [q.problem]
1116
+ }
1117
+ ],
1118
+ // 综合题
1119
+ [p.synthesis]: [
1120
+ {
1121
+ type: "radio",
1122
+ label: "主客分离",
1123
+ key: m.sheet.synthesis_a,
1124
+ option: [
1125
+ { name: "分离", code: !0 },
1126
+ { name: "不分离", code: !1 }
1127
+ ]
1128
+ }
1129
+ ]
1130
+ },
1131
+ sheetCard: {
1132
+ // 选择题
1133
+ [p.choice]: [
1134
+ {
1135
+ type: "radio",
1136
+ label: "排列样式",
1137
+ key: m.sheetCard.choice_a,
1138
+ option: [
1139
+ { name: "横排", code: T.choice_1 },
1140
+ { name: "竖排", code: T.choice_2 },
1141
+ { name: "分组", code: T.choice_3 }
1142
+ ]
1143
+ },
1144
+ {
1145
+ type: "radio",
1146
+ label: "排列方向",
1147
+ key: m.sheetCard.choice_b,
1148
+ show: (e) => e.style[m.sheetCard.choice_a] !== T.choice_2,
1149
+ option: [
1150
+ { name: "横向", code: T.landscape },
1151
+ { name: "纵向", code: T.portrait }
1152
+ ]
1153
+ },
1154
+ {
1155
+ type: "radio",
1156
+ label: "每组题数",
1157
+ key: m.sheetCard.choice_c,
1158
+ show: (e) => [T.choice_2].includes(e.style[m.sheetCard.choice_a]),
1159
+ option: [
1160
+ { name: "3题", code: 3 },
1161
+ { name: "4题", code: 4 },
1162
+ { name: "5题", code: 5 }
1163
+ ]
1164
+ },
1165
+ {
1166
+ type: "slider",
1167
+ label: "列数",
1168
+ target: [q.headline],
1169
+ key: m.sheetCard.choice_d,
1170
+ show: (e) => e.style[m.sheetCard.choice_a] !== T.choice_2,
1171
+ min: () => 2,
1172
+ max: () => 10
1173
+ }
1174
+ ],
1175
+ // 判断题
1176
+ [p.decide]: [
1177
+ {
1178
+ type: "radio",
1179
+ label: "展示样式",
1180
+ key: m.sheetCard.decide_a,
1181
+ option: [
1182
+ { name: "对错", code: T.decide_1 },
1183
+ { name: "TF", code: T.decide_2 }
1184
+ ]
1185
+ }
1186
+ ],
1187
+ // 填空题
1188
+ [p.fill]: [
1189
+ {
1190
+ type: "radio",
1191
+ label: "打分框位置",
1192
+ key: m.sheetCard.fill_a,
1193
+ show: (e) => e.style[m.sheetCard.fill_b],
1194
+ option: [
1195
+ { name: "跟随下划线", code: T.fill_1 },
1196
+ { name: "跟随主题干", code: T.fill_2 },
1197
+ { name: "跟随标点符号", code: T.fill_3 }
1198
+ ]
1199
+ },
1200
+ {
1201
+ type: "radio",
1202
+ label: "分题换行",
1203
+ key: m.sheetCard.fill_c,
1204
+ target: [q.page, q.headline],
1205
+ show: (e) => !e.style[m.sheetCard.fill_b],
1206
+ option: [
1207
+ { name: "开启", code: T.fill_1 },
1208
+ { name: "关闭", code: T.fill_2 }
1209
+ ]
1210
+ },
1211
+ {
1212
+ // 试题自身
1213
+ type: "radio",
1214
+ label: "每空宽度",
1215
+ key: m.sheetCard.fill_d,
1216
+ show: (e) => !e.style[m.sheetCard.fill_b] && !e.children.length,
1217
+ option: [
1218
+ { name: "1", code: 1 },
1219
+ { name: "1/2", code: 2 },
1220
+ { name: "1/3", code: 3 },
1221
+ { name: "1/4", code: 4 },
1222
+ { name: "2/3", code: 1.5 },
1223
+ { name: "3/4", code: 1.34 }
1224
+ ]
1225
+ },
1226
+ {
1227
+ // 其它
1228
+ type: "radio",
1229
+ label: "每行空数",
1230
+ key: m.sheetCard.fill_f,
1231
+ show: (e) => !e.style[m.sheetCard.fill_b] && e.children.length,
1232
+ option: [
1233
+ { name: "1", code: 1 },
1234
+ { name: "1/2", code: 2 },
1235
+ { name: "1/3", code: 3 },
1236
+ { name: "1/4", code: 4 },
1237
+ { name: "2/3", code: 1.5 },
1238
+ { name: "3/4", code: 1.34 }
1239
+ ]
1240
+ },
1241
+ {
1242
+ type: "slider",
1243
+ label: "每空高度",
1244
+ key: m.sheetCard.fill_e,
1245
+ target: [q.page, q.headline],
1246
+ show: (e) => !e.style[m.sheetCard.fill_b],
1247
+ max: () => 20
1248
+ }
1249
+ ],
1250
+ // 选填题
1251
+ [p.mix]: [
1252
+ {
1253
+ // 试题自身
1254
+ type: "radio",
1255
+ label: "每空宽度",
1256
+ key: m.sheetCard.fill_d,
1257
+ filter: (e, t) => e.mixType[t].problemType === p.fill,
1258
+ target: [q.problem],
1259
+ show: (e) => !e.style[m.sheetCard.mix_a] && (e.mixType || []).find((t) => t.problemType === p.fill),
1260
+ option: [
1261
+ { name: "1", code: 1 },
1262
+ { name: "1/2", code: 2 },
1263
+ { name: "1/3", code: 3 },
1264
+ { name: "1/4", code: 4 },
1265
+ { name: "2/3", code: 1.5 },
1266
+ { name: "3/4", code: 1.34 }
1267
+ ]
1268
+ },
1269
+ {
1270
+ type: "slider",
1271
+ label: "每空高度",
1272
+ key: m.sheetCard.fill_e,
1273
+ show: (e) => !e.style[m.sheetCard.mix_a] && (e.mixType || (e.children || []).filter((t) => Object.values(p).includes(t.problemType) && !t.style[m.sheetCard.mix_a]).map((t) => t.mixType).flat(2)).find((t) => t.problemType === p.fill),
1274
+ max: () => 20
1275
+ },
1276
+ {
1277
+ type: "radio",
1278
+ label: "展示样式",
1279
+ key: m.sheetCard.decide_a,
1280
+ show: (e) => !e.style[m.sheetCard.mix_a] && (e.mixType || (e.children || []).filter((t) => Object.values(p).includes(t.problemType) && !t.style[m.sheetCard.mix_a]).map((t) => t.mixType).flat(2)).find((t) => t.problemType === p.decide),
1281
+ option: [
1282
+ { name: "对错", code: T.decide_1 },
1283
+ { name: "TF", code: T.decide_2 }
1284
+ ]
1285
+ },
1286
+ {
1287
+ type: "radio",
1288
+ label: "排列方向",
1289
+ key: m.sheetCard.choice_b,
1290
+ target: [q.problem],
1291
+ show: (e) => !e.style[m.sheetCard.mix_a] && !(e.mixType || []).find((t) => ![p.choice, p.choice_multiple].includes(t.problemType)),
1292
+ option: [
1293
+ { name: "横向", code: T.landscape },
1294
+ { name: "竖向", code: T.portrait }
1295
+ ]
1296
+ }
1297
+ ],
1298
+ // 作文题
1299
+ [p.art]: [
1300
+ {
1301
+ type: "slider",
1302
+ label: "格子尺寸",
1303
+ key: m.article.art_b,
1304
+ detail: !0,
1305
+ min: () => 27,
1306
+ max: () => 40
1307
+ },
1308
+ {
1309
+ type: "input",
1310
+ label: "设置字数",
1311
+ key: m.sheetCard.art_c,
1312
+ detail: !0,
1313
+ unit: "字",
1314
+ target: [q.problem]
1315
+ },
1316
+ {
1317
+ type: "slider",
1318
+ label: "字数游标分段",
1319
+ key: m.sheetCard.art_d,
1320
+ detail: !0,
1321
+ max: (e) => Math.floor(e.style[m.sheetCard.art_c] / e.style[m.sheetCard.art_e]),
1322
+ target: [q.problem]
1323
+ },
1324
+ {
1325
+ type: "radio",
1326
+ label: "字数分段区间",
1327
+ key: m.sheetCard.art_e,
1328
+ option: [
1329
+ { name: "80", code: 80 },
1330
+ { name: "100", code: 100 }
1331
+ ],
1332
+ detail: !0,
1333
+ target: [q.problem]
1334
+ }
1335
+ ],
1336
+ // 综合题
1337
+ [p.synthesis]: [
1338
+ {
1339
+ type: "radio",
1340
+ label: "主客分离",
1341
+ key: m.sheetCard.synthesis_a,
1342
+ option: [
1343
+ { name: "分离", code: !0 },
1344
+ { name: "不分离", code: !1 }
1345
+ ]
1346
+ }
1347
+ ]
1348
+ }
1349
+ }, no = {
1350
+ [Gt.__cdest]: [
1351
+ {
1352
+ type: "radio",
1353
+ label: "边框显示控制",
1354
+ key: Mt.article.isShowBorder,
1355
+ option: [
1356
+ { name: "显示边框", code: !0 },
1357
+ { name: "隐藏边框", code: !1 }
1358
+ ]
1359
+ }
1360
+ ]
1361
+ }, so = [
1362
+ { name: "宋体", code: "宋体" },
1363
+ { name: "黑体", code: "黑体" },
1364
+ { name: "Times New Roman", code: "Times New Roman" },
1365
+ { name: "仿宋", code: "仿宋" },
1366
+ { name: "MS Mincho", code: "MS Mincho" }
1367
+ ], io = [
1368
+ { name: "正常", code: "normal" },
1369
+ { name: "粗体", code: "bold" }
1370
+ ], ro = [
1371
+ { name: "初号", code: "56px", alias: "l" },
1372
+ { name: "小初", code: "48px", alias: "sl" },
1373
+ { name: "一号", code: "34px", alias: "1" },
1374
+ { name: "小一", code: "32px", alias: "s1" },
1375
+ { name: "二号", code: "29px", alias: "2" },
1376
+ { name: "小二", code: "24px", alias: "s2" },
1377
+ { name: "三号", code: "21px", alias: "3" },
1378
+ { name: "小三", code: "20px", alias: "s3" },
1379
+ { name: "四号", code: "18px", alias: "4" },
1380
+ { name: "小四", code: "16px", alias: "s4" },
1381
+ { name: "五号", code: "14px", alias: "5" },
1382
+ { name: "小五", code: "12px", alias: "s5" }
1383
+ ], Te = {
1384
+ stand: {
1385
+ name: "标准",
1386
+ code: "stand",
1387
+ value: 16,
1388
+ height: 11
1389
+ },
1390
+ large: {
1391
+ name: "大",
1392
+ code: "large",
1393
+ value: 20,
1394
+ height: 14
1395
+ },
1396
+ max: {
1397
+ name: "超大",
1398
+ code: "max",
1399
+ value: 24,
1400
+ height: 16
1401
+ }
1402
+ }, je = {
1403
+ stand: {
1404
+ name: "标准",
1405
+ code: "stand",
1406
+ value: 26
1407
+ },
1408
+ large: {
1409
+ name: "大",
1410
+ code: "large",
1411
+ value: 33
1412
+ }
1413
+ }, Je = {
1414
+ none: {
1415
+ name: "无",
1416
+ code: "none",
1417
+ value: "none"
1418
+ },
1419
+ star: {
1420
+ name: "五角星",
1421
+ code: "star",
1422
+ value: "star"
1423
+ }
1424
+ }, ze = {
1425
+ left_down: {
1426
+ name: "左下",
1427
+ code: "left_down",
1428
+ value: "left_down"
1429
+ },
1430
+ right_up: {
1431
+ name: "右上",
1432
+ code: "right_up",
1433
+ value: "right_up"
1434
+ }
1435
+ }, co = {
1436
+ choice: 'span.__MC41aTVhZDc3NDdnMzM2__[data-t="MC4wNHY2eGVwODFmMXg"]',
1437
+ decide: 'span.__MC5jY2ZpMWU5NzYyamo__[data-t="MC5hMDFjMGM5NGNmZmFl"]',
1438
+ fill: 'span.__MC50aXB0OGc2Y2tqbw__[data-t="MC5mM2VtbTVkcDJm"]',
1439
+ scoreline: 'span.__MC5sOG52dGVycnI5Zw__[data-t="MC42NG83Z2Y1Y2w3bw"]',
1440
+ sub: 'span.__MC5yM3ZnaGNudHNzbw__[data-t="MC4zaWV2dDAwMnY2bw"]'
1441
+ }, uo = {
1442
+ scoreWidthErr: "打分条超长",
1443
+ pageMaxErr: "纸张数量超限,最多10页",
1444
+ problemEmptyErr: "请添加常规题目",
1445
+ headLineEmptyErr: "存在无题目的大题,请添加题目或删除大题",
1446
+ easysloveScoreErr: "简答题分数异常,请调整分数",
1447
+ easysloveScoreTypeErr: "简答题分制与整卷分制冲突",
1448
+ sloveScoreHalfErr: "简易打分条含小数分值",
1449
+ absImgOverErr: "浮层图片超出纸张",
1450
+ absTxtOverErr: "浮层文本超出纸张"
1451
+ }, Js = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1452
+ __proto__: null,
1453
+ ErrLayoutCode: uo,
1454
+ MixNodeTag: co,
1455
+ column: Yt,
1456
+ columnMargin: Et,
1457
+ defaultProblemLayout: ao,
1458
+ fillSize: Te,
1459
+ fontFamily: so,
1460
+ fontSize: ro,
1461
+ fontWeight: io,
1462
+ formatConfig: Kt,
1463
+ halfScoreType: Qe,
1464
+ halfScoreTypeOption: to,
1465
+ layoutMode: Xt,
1466
+ otherLayout: no,
1467
+ otherLayoutKey: Mt,
1468
+ paddDiff: qt,
1469
+ pageMargin: Ut,
1470
+ pagePadding: rt,
1471
+ pagePointPosition: ze,
1472
+ pageSize: b,
1473
+ pageTitleBlockCol: jt,
1474
+ paper: Oe,
1475
+ problemLayout: lo,
1476
+ problemLayoutKey: m,
1477
+ problemLayoutVal: T,
1478
+ scoreLineSize: je,
1479
+ scoreLineStyle: Je,
1480
+ scoreLineType: Ue,
1481
+ scoreLineTypeOption: oo,
1482
+ seatType: ve,
1483
+ seatTypeOption: Vt,
1484
+ sheetColumnPad: ke,
1485
+ sheetItemColumnPad: Qt,
1486
+ subIndentOption: eo,
1487
+ subRange: lt,
1488
+ subRangeOption: Zt,
1489
+ subRule: qe,
1490
+ subRuleOption: Jt,
1491
+ toolGroup: q
1492
+ }, Symbol.toStringTag, { value: "Module" })), ct = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""), ho = "TF".split(""), po = {
1493
+ a4: "TYPE_A4",
1494
+ a4x: "TYPE_A4",
1495
+ a3: "TYPE_A3",
1496
+ "a3+": "TYPE_A3",
1497
+ b4: "TYPE_B4",
1498
+ b3: "TYPE_B3",
1499
+ b5: "TYPE_B5",
1500
+ "8k": "TYPE_8K",
1501
+ "16k": "TYPE_16K",
1502
+ "32k": "TYPE_32K"
1503
+ }, me = window.btoa(Math.random().toString(32)).substring(0, 10), C = {
1504
+ // 定位点 主定位点 lt rt lb rb 辅助定位点 t b
1505
+ point: `__${me}point`,
1506
+ // 页码点
1507
+ page: `__${me}pagetotal`,
1508
+ // 单个页码点
1509
+ page_item: `__${me}pageitem`,
1510
+ // 缺考标记
1511
+ lack: `__${me}lack`,
1512
+ // 试卷二维码
1513
+ art_code: `__${me}artcode`,
1514
+ // 条码区
1515
+ en_code: `__${me}encode`,
1516
+ // 填涂区容器
1517
+ en_num_view: `__${me}ennumview`,
1518
+ // 填涂区
1519
+ en_num: `__${me}ennum`,
1520
+ // 填涂区分组
1521
+ en_num_group: `__${me}ennumg`,
1522
+ // 填涂区单个
1523
+ en_num_item: `__${me}ennumi`,
1524
+ // 选做题
1525
+ choice: `__${me}choice`,
1526
+ // 题目 + id
1527
+ item: `__${me}problem`,
1528
+ // 填涂框 + 序号
1529
+ fill: `__${me}fill`,
1530
+ // 填空题下划线
1531
+ fill_line: `__${me}fillline`,
1532
+ // 打分框
1533
+ score: `__${me}score`,
1534
+ // 十分位打分框
1535
+ score_tenbit: `__${me}tenbit`,
1536
+ // 个位打分框
1537
+ score_base: `__${me}base`,
1538
+ // 单个打分框
1539
+ score_item: `__${me}scorei`,
1540
+ // 0.5分打分框
1541
+ score_half: `__${me}scorehalf`,
1542
+ // 书写分
1543
+ write_view: `__${me}write`,
1544
+ // 密封线
1545
+ bind_line: `__${me}bindline`
1546
+ }, mo = {
1547
+ [p.choice]: "TYPE_SINGLECHOICE",
1548
+ // 单项选择
1549
+ [p.choice_english]: "TYPE_SINGLECHOICE",
1550
+ [p.cloze]: "TYPE_CLOZE_TEST",
1551
+ [p.choice_multiple]: "TYPE_MULTICHOICE",
1552
+ // 多项选择
1553
+ [p.decide]: "TYPE_JUDGE",
1554
+ // 判断
1555
+ [p.fill]: "TYPE_FILLBLANK",
1556
+ // 填空
1557
+ [p.fill_english]: "TYPE_FILLBLANK",
1558
+ [p.mix]: "TYPE_CHOICE_FILL",
1559
+ [p.slove]: "TYPE_SIMPLEQUESTION",
1560
+ // 简(问)答
1561
+ [p.easy_slove]: "TYPE_SIMPLE_ANSWER",
1562
+ [p.art]: "TYPE_COMPOSITION",
1563
+ // 作文
1564
+ [p.synthesis]: "TYPE_MULTI",
1565
+ // 综合题
1566
+ [be.one_choice]: "TYPE_SINGLECHOICE",
1567
+ // 选做题
1568
+ [be.another_choice]: "TYPE_SINGLECHOICE"
1569
+ // 附加选做题
1570
+ }, yo = ["data-xine"], _o = ["data-xine"], go = ["data-xine"], fo = ["data-xine"], bo = ["data-xine"], vo = /* @__PURE__ */ Z({
1571
+ __name: "point",
1572
+ props: {
1573
+ layout: {},
1574
+ currentPage: {},
1575
+ totalPage: {},
1576
+ bindWidth: {},
1577
+ columnContentWidth: {},
1578
+ columnMargin: {},
1579
+ padding: {}
1580
+ },
1581
+ setup(e) {
1582
+ const t = e, o = (l) => ({
1583
+ lt: { left: `${t.padding.left - 20}px`, top: `${t.padding.top - 20}px` },
1584
+ rt: { right: `${t.padding.right - 20}px`, top: `${t.padding.top - 20}px` },
1585
+ lb: { left: `${t.padding.left - 20}px`, bottom: `${t.padding.bottom - 20}px` },
1586
+ rb: { right: `${t.padding.right - 20}px`, bottom: `${t.padding.bottom - 20}px` }
1587
+ })[l], a = () => ({
1588
+ [ze.left_down.code]: {
1589
+ left: `${t.padding.left - 20 + 100}px`,
1590
+ bottom: `${t.padding.bottom - 20}px`
1591
+ },
1592
+ [ze.right_up.code]: {
1593
+ right: `${t.padding.right - 20 + 100}px`,
1594
+ top: `${t.padding.top - 20}px`
1595
+ }
1596
+ })[t.layout.pagePoint], n = (l, i) => {
1597
+ const c = t.columnContentWidth + t.columnMargin, u = (t.bindWidth && !(t.currentPage % 2) ? t.bindWidth + t.columnMargin : 0) + t.padding.left - t.columnMargin / 2 - 10, y = {
1598
+ t: {
1599
+ top: `${t.padding.top - 20}px`
1600
+ },
1601
+ b: {
1602
+ bottom: `${t.padding.bottom - 20}px`
1603
+ }
1604
+ };
1605
+ return { left: `${l * c + u}px`, ...y[i] };
1606
+ }, r = (l) => {
1607
+ const i = (b[t.layout.paper].height - t.padding.top - t.padding.bottom) / 3, u = t.currentPage % 2 && t.bindWidth ? { right: `${t.padding.right - 15.5}px` } : { left: `${t.padding.left - 15.5}px` }, y = ["", "l", "r"].findIndex((O) => O === l);
1608
+ return { top: `${i * y + t.padding.top - 10}px`, width: "11px", ...u };
1609
+ };
1610
+ return (l, i) => {
1611
+ var c;
1612
+ return s(), d(M, null, [
1613
+ (s(), d(M, null, V(["lt", "rt", "lb", "rb"], (u) => f("span", {
1614
+ key: u,
1615
+ class: "absolute w-8 bg-black point_item",
1616
+ style: G(o(u)),
1617
+ "data-xine": x(C).point + u
1618
+ }, null, 12, yo)), 64)),
1619
+ (s(!0), d(M, null, V((l.currentPage % 2 ? l.layout.backColumn : l.layout.column) - 1, (u) => (s(), d(M, { key: u }, [
1620
+ (s(), d(M, null, V(["t", "b"], (y) => f("span", {
1621
+ key: y,
1622
+ class: "absolute bg-black w-8 point_item",
1623
+ style: G(n(u, y)),
1624
+ "data-xine": x(C).point + y
1625
+ }, null, 12, _o)), 64))
1626
+ ], 64))), 128)),
1627
+ (s(), d(M, null, V(["l", "r"], (u) => f("span", {
1628
+ key: u,
1629
+ class: "absolute bg-black h-8",
1630
+ style: G(r(u)),
1631
+ "data-xine": x(C).point + u
1632
+ }, null, 12, go)), 64)),
1633
+ f("p", {
1634
+ class: "absolute leading-none text-0",
1635
+ style: G(a()),
1636
+ "data-xine": x(C).page
1637
+ }, [
1638
+ (s(!0), d(M, null, V(l.currentPage + 1, (u, y) => (s(), d("span", {
1639
+ key: u,
1640
+ class: "inline-block bg-black mx-2 page_item",
1641
+ "data-xine": x(C).page_item + y
1642
+ }, null, 8, bo))), 128))
1643
+ ], 12, fo),
1644
+ l.currentPage % 2 ? P("", !0) : (s(), d("span", {
1645
+ key: 0,
1646
+ class: "absolute top-3/4 translate-x-1/2 rotate-90 text-sm red_sheet",
1647
+ style: G({ right: `${l.padding.right - 12}px` })
1648
+ }, "提示:本卷" + X((c = x(Oe).find((u) => u.code === l.layout.paper)) == null ? void 0 : c.name) + "纸张", 5)),
1649
+ f("span", {
1650
+ class: "absolute text-sm red_sheet",
1651
+ style: G({ right: `${l.padding.bottom - 20 + 75}px`, bottom: `${l.padding.bottom - 20 - 3}px` })
1652
+ }, X(l.currentPage + 1) + "/" + X(l.totalPage), 5)
1653
+ ], 64);
1654
+ };
1655
+ }
1656
+ });
1657
+ const re = (e, t) => {
1658
+ const o = e.__vccOpts || e;
1659
+ for (const [a, n] of t)
1660
+ o[a] = n;
1661
+ return o;
1662
+ }, wo = /* @__PURE__ */ re(vo, [["__scopeId", "data-v-44fe37c1"]]), xo = { class: "flex-1" }, ko = ["type", "placeholder", "maxlength", "value"], Co = {
1663
+ key: 0,
1664
+ class: "flex-shrink-0 ml-2 text-text3"
1665
+ }, et = /* @__PURE__ */ Z({
1666
+ __name: "index",
1667
+ props: {
1668
+ value: { default: "" },
1669
+ disabled: { type: Boolean },
1670
+ placeholder: { default: "请输入内容" },
1671
+ type: { default: "text" },
1672
+ maxLength: { default: 50 },
1673
+ autoLine: { type: Boolean },
1674
+ size: { default: "stand" },
1675
+ unit: {},
1676
+ dir: { default: "left" }
1677
+ },
1678
+ emits: ["change", "input", "focus", "blur"],
1679
+ setup(e, { emit: t }) {
1680
+ const o = e, a = Q(o.value), n = Q(!1);
1681
+ De(() => o.value, () => {
1682
+ a.value = o.value;
1683
+ });
1684
+ const r = (u) => {
1685
+ a.value = u.target.value, t("input", o.type === "number" ? parseFloat(a.value) : a.value);
1686
+ }, l = (u) => {
1687
+ a.value = u.target.value, t("change", o.type === "number" ? parseFloat(a.value) : a.value), setTimeout(() => {
1688
+ a.value = o.value;
1689
+ }, 400);
1690
+ }, i = (u) => {
1691
+ a.value = u.target.value, t("focus", o.type === "number" ? parseFloat(a.value) : a.value), n.value = !0;
1692
+ }, c = () => {
1693
+ t("blur", o.type === "number" ? parseFloat(`${a.value}`) : a.value), n.value = !1;
1694
+ };
1695
+ return (u, y) => (s(), d("div", {
1696
+ class: te(["flex-1 flex items-center border rounded-lg", u.autoLine ? n.value ? "border-gray4" : "border-transparent" : "border-gray4", u.size === "small" && "p-1", u.size === "stand" && "p-2", u.size === "large" && "p-2"])
1697
+ }, [
1698
+ f("div", xo, [
1699
+ f("input", {
1700
+ class: te(["w-full", u.dir === "center" && "text-center", u.dir === "right" && "text-right"]),
1701
+ type: u.type,
1702
+ placeholder: u.placeholder,
1703
+ maxlength: u.maxLength,
1704
+ value: a.value,
1705
+ onInput: r,
1706
+ onChange: l,
1707
+ onFocus: i,
1708
+ onBlur: c
1709
+ }, null, 42, ko)
1710
+ ]),
1711
+ u.unit ? (s(), d("span", Co, X(u.unit), 1)) : P("", !0)
1712
+ ], 2));
1713
+ }
1714
+ }), $o = /* @__PURE__ */ Z({
1715
+ __name: "slogan",
1716
+ props: {
1717
+ info: {},
1718
+ layout: {}
1719
+ },
1720
+ emits: ["change"],
1721
+ setup(e, { emit: t }) {
1722
+ const o = e, a = A(() => rt[o.layout.mode][o.layout.paper]), n = A(() => ({
1723
+ right: `${a.value.right + 97}px`,
1724
+ bottom: `${a.value.bottom - 25}px`
1725
+ }));
1726
+ return (r, l) => (s(), U(et, {
1727
+ class: "absolute w-72 text-sm",
1728
+ value: r.info.slogan,
1729
+ maxLength: 12,
1730
+ placeholder: "",
1731
+ size: "small",
1732
+ autoLine: "",
1733
+ dir: "right",
1734
+ style: G(n.value),
1735
+ onChange: l[0] || (l[0] = (i) => t("change", { slogin: i }))
1736
+ }, null, 8, ["value", "style"]));
1737
+ }
1738
+ }), So = ["width", "height"], To = ["xlink:href"], Io = /* @__PURE__ */ Z({
1739
+ __name: "index",
1740
+ props: {
1741
+ width: { default: 1.5 },
1742
+ height: {},
1743
+ name: {}
1744
+ },
1745
+ emits: ["click"],
1746
+ setup(e, { emit: t }) {
1747
+ const o = e, a = A(() => `#icon-${o.name}`);
1748
+ return (n, r) => (s(), d("span", {
1749
+ class: "cursor-pointer inline-block p-2 rounded-full transition-all leading-none font-0",
1750
+ onClick: r[0] || (r[0] = (l) => t("click"))
1751
+ }, [
1752
+ (s(), d("svg", {
1753
+ width: n.width + "rem",
1754
+ height: (n.height || n.width) + "rem"
1755
+ }, [
1756
+ f("use", { "xlink:href": a.value }, null, 8, To)
1757
+ ], 8, So))
1758
+ ]));
1759
+ }
1760
+ });
1761
+ const _e = /* @__PURE__ */ re(Io, [["__scopeId", "data-v-ed2907dd"]]), Lo = { class: "flex items-center text-black text-sm h-6 mb-2" }, Fo = {
1762
+ key: 0,
1763
+ class: "flex items-center"
1764
+ }, Eo = { class: "px-2 ml-2 border leading-none" }, Mo = /* @__PURE__ */ Z({
1765
+ __name: "secrecy",
1766
+ props: {
1767
+ layout: {},
1768
+ code: {}
1769
+ },
1770
+ setup(e) {
1771
+ return (t, o) => (s(), d("div", Lo, [
1772
+ t.layout.secrecyFlag ? (s(), d("p", Fo, [
1773
+ Ke("绝密"),
1774
+ K(_e, {
1775
+ name: "fiveArrow",
1776
+ width: 1.4,
1777
+ class: "px-0 py-0"
1778
+ }),
1779
+ Ke("启用前")
1780
+ ])) : P("", !0),
1781
+ f("p", Eo, "ID:" + X(t.code), 1)
1782
+ ]));
1783
+ }
1784
+ }), Po = ["innerHTML"], Be = /* @__PURE__ */ Z({
1785
+ __name: "index",
1786
+ props: {
1787
+ value: {},
1788
+ name: {},
1789
+ disabled: { type: Boolean }
1790
+ },
1791
+ emits: ["change"],
1792
+ setup(e, { emit: t }) {
1793
+ const o = e, a = (n) => {
1794
+ t("change", n.target.innerHTML, o.name);
1795
+ };
1796
+ return (n, r) => (s(), d("div", {
1797
+ innerHTML: n.value,
1798
+ contenteditable: "",
1799
+ onBlur: a
1800
+ }, null, 40, Po));
1801
+ }
1802
+ }), Do = { class: "flex w-full" }, Ao = ["src", "data-xine"], No = { class: "flex-1 mx-4" }, Bo = { class: "flex items-center justify-center flex-wrap" }, Oo = {
1803
+ key: 0,
1804
+ class: "flex mx-4 min-w-[70px]"
1805
+ }, zo = /* @__PURE__ */ f("span", { class: "flex-shrink-0" }, "范围:", -1), Ho = {
1806
+ key: 1,
1807
+ class: "flex items-center w-40 mx-4"
1808
+ }, Ro = /* @__PURE__ */ f("span", { class: "flex-shrink-0" }, "时间:", -1), Wo = /* @__PURE__ */ f("span", null, "分钟", -1), Go = {
1809
+ key: 2,
1810
+ class: "flex mx-4 min-w-[80px]"
1811
+ }, Yo = /* @__PURE__ */ f("span", { class: "flex-shrink-0" }, "命题人:", -1), qo = {
1812
+ key: 3,
1813
+ class: "flex mx-4 min-w-[80px]"
1814
+ }, Qo = /* @__PURE__ */ f("span", { class: "flex-shrink-0" }, "审核人:", -1), Uo = {
1815
+ key: 4,
1816
+ class: "flex items-center mx-4"
1817
+ }, Ko = /* @__PURE__ */ f("span", null, "总", -1), jo = { key: 1 }, Xo = { key: 3 }, Vo = { key: 1 }, Zo = { key: 3 }, Jo = /* @__PURE__ */ f("span", null, ")", -1), ea = { key: 1 }, ta = /* @__PURE__ */ Z({
1818
+ __name: "title",
1819
+ props: {
1820
+ info: {},
1821
+ fontConfig: {},
1822
+ layout: {},
1823
+ data: {}
1824
+ },
1825
+ emits: ["change"],
1826
+ setup(e, { emit: t }) {
1827
+ const o = e, a = A(() => o.data.filter((l) => ![be.another, be.another_choice, be.one_choice].includes(l.problemType)).map((l) => l.totalScore || 0).reduce((l, i) => l + i, 0)), n = A(() => o.data.filter((l) => [be.another].includes(l.problemType)).map((l) => l.totalScore || 0).reduce((l, i) => l + i, 0)), r = A(() => o.layout.scoreAddStars === Je.star.code ? o.layout.minusFlag ? "fiveArrowLine" : "fiveArrow" : "");
1828
+ return (l, i) => (s(), d("div", Do, [
1829
+ f("img", {
1830
+ src: l.info.qrCode,
1831
+ alt: "QRCode",
1832
+ class: "flex-shrink-0 w-28 h-28",
1833
+ "data-xine": x(C).art_code
1834
+ }, null, 8, Ao),
1835
+ f("div", No, [
1836
+ K(Be, {
1837
+ class: "w-full text-center border-2 border-transparent focus:border-current",
1838
+ value: l.info.title,
1839
+ style: G(l.fontConfig.titleStyle),
1840
+ onChange: i[0] || (i[0] = (c) => t("change", { title: c }))
1841
+ }, null, 8, ["value", "style"]),
1842
+ l.layout.secTitleFlag ? (s(), U(Be, {
1843
+ key: 0,
1844
+ class: "w-full text-center border-2 border-transparent focus:border-current",
1845
+ value: l.info.secTitle,
1846
+ style: G(l.fontConfig.halfTitleStyle),
1847
+ onChange: i[1] || (i[1] = (c) => t("change", { secTitle: c }))
1848
+ }, null, 8, ["value", "style"])) : P("", !0),
1849
+ f("div", Bo, [
1850
+ l.layout.examExtentFlag ? (s(), d("p", Oo, [
1851
+ zo,
1852
+ K(Be, {
1853
+ class: "flex-1",
1854
+ value: l.info.extent,
1855
+ onChange: i[2] || (i[2] = (c) => t("change", { extent: c }))
1856
+ }, null, 8, ["value"])
1857
+ ])) : P("", !0),
1858
+ l.layout.examTimeFlag ? (s(), d("p", Ho, [
1859
+ Ro,
1860
+ K(et, {
1861
+ value: l.info.time,
1862
+ class: "text-center",
1863
+ type: "number",
1864
+ autoLine: "",
1865
+ size: "small",
1866
+ placeholder: "",
1867
+ onChange: i[3] || (i[3] = (c) => t("change", { time: c }))
1868
+ }, null, 8, ["value"]),
1869
+ Wo
1870
+ ])) : P("", !0),
1871
+ l.layout.authorFlag ? (s(), d("p", Go, [
1872
+ Yo,
1873
+ K(Be, {
1874
+ class: "flex-1",
1875
+ value: l.info.author,
1876
+ onChange: i[4] || (i[4] = (c) => t("change", { author: c }))
1877
+ }, null, 8, ["value"])
1878
+ ])) : P("", !0),
1879
+ l.layout.reviewerFlag ? (s(), d("p", qo, [
1880
+ Qo,
1881
+ K(Be, {
1882
+ class: "flex-1",
1883
+ value: l.info.reviewer,
1884
+ onChange: i[5] || (i[5] = (c) => t("change", { reviewer: c }))
1885
+ }, null, 8, ["value"])
1886
+ ])) : P("", !0),
1887
+ l.layout.totalScoreFlag ? (s(), d("p", Uo, [
1888
+ Ko,
1889
+ r.value ? (s(), U(_e, {
1890
+ key: 0,
1891
+ name: r.value,
1892
+ class: "p-0 -translate-y-[1px]"
1893
+ }, null, 8, ["name"])) : (s(), d("span", jo, "分")),
1894
+ f("span", null, ":" + X(a.value + (l.layout.writeScoreFlag ? l.info.writeScore : 0)), 1),
1895
+ r.value ? (s(), U(_e, {
1896
+ key: 2,
1897
+ name: r.value,
1898
+ class: "p-0 -translate-y-[1px]"
1899
+ }, null, 8, ["name"])) : (s(), d("span", Xo, "分")),
1900
+ l.layout.writeScoreFlag ? (s(), d(M, { key: 4 }, [
1901
+ f("span", null, "(试题" + X(a.value), 1),
1902
+ r.value ? (s(), U(_e, {
1903
+ key: 0,
1904
+ name: r.value,
1905
+ class: "p-0 -translate-y-[1px]"
1906
+ }, null, 8, ["name"])) : (s(), d("span", Vo, "分")),
1907
+ f("span", null, "+卷面" + X(l.info.writeScore || 0), 1),
1908
+ r.value ? (s(), U(_e, {
1909
+ key: 2,
1910
+ name: r.value,
1911
+ class: "p-0 -translate-y-[1px]"
1912
+ }, null, 8, ["name"])) : (s(), d("span", Zo, "分")),
1913
+ Jo
1914
+ ], 64)) : P("", !0),
1915
+ n.value ? (s(), d(M, { key: 5 }, [
1916
+ f("span", null, ";附加题:" + X(n.value), 1),
1917
+ r.value ? (s(), U(_e, {
1918
+ key: 0,
1919
+ name: r.value,
1920
+ class: "p-0 -translate-y-[1px]"
1921
+ }, null, 8, ["name"])) : (s(), d("span", ea, "分"))
1922
+ ], 64)) : P("", !0)
1923
+ ])) : P("", !0)
1924
+ ])
1925
+ ])
1926
+ ]));
1927
+ }
1928
+ }), oa = { class: "flex-1 flex flex-col ml-2" }, ft = /* @__PURE__ */ Z({
1929
+ __name: "examInfoNone",
1930
+ props: {
1931
+ extent: {}
1932
+ },
1933
+ emits: ["change"],
1934
+ setup(e, { emit: t }) {
1935
+ const o = ["examNumField", "examRoomField", "seatField"];
1936
+ return (a, n) => (s(), d("ul", oa, [
1937
+ (s(), d(M, null, V(o, (r) => f("li", {
1938
+ key: r,
1939
+ class: "flex flex-1"
1940
+ }, [
1941
+ K(et, {
1942
+ value: a.extent[r],
1943
+ class: "px-0",
1944
+ placeholder: "",
1945
+ autoLine: "",
1946
+ onChange: (l) => t("change", { [r]: l })
1947
+ }, null, 8, ["value", "onChange"])
1948
+ ])), 64))
1949
+ ]));
1950
+ }
1951
+ }), aa = ["data-xine"], la = { class: "flex items-center" }, na = ["data-xine"], sa = ["data-xine"], ia = ["data-xine"], ra = /* @__PURE__ */ Z({
1952
+ __name: "examInfoSeat",
1953
+ setup(e) {
1954
+ return (t, o) => (s(), d("div", {
1955
+ class: "flex-shrink-0 border ml-4 flex flex-col",
1956
+ "data-xine": x(C).en_num_view
1957
+ }, [
1958
+ f("p", la, [
1959
+ K(_e, {
1960
+ class: "pt-1",
1961
+ name: "fiveArrow"
1962
+ }),
1963
+ Ke("座位号")
1964
+ ]),
1965
+ f("div", {
1966
+ class: "flex-1 flex flex-col",
1967
+ "data-xine": x(C).en_num
1968
+ }, [
1969
+ (s(), d(M, null, V(3, (a, n) => f("p", {
1970
+ key: a,
1971
+ class: "flex-1 flex items-center text-0 px-1 border-t",
1972
+ "data-xine": x(C).en_num_group
1973
+ }, [
1974
+ (s(), d(M, null, V(10, (r) => f("span", {
1975
+ key: r,
1976
+ class: "flex items-center justify-between flex-nowrap item",
1977
+ "data-xine": x(C).en_num_item
1978
+ }, X(r - 1), 9, ia)), 64))
1979
+ ], 8, sa)), 64))
1980
+ ], 8, na)
1981
+ ], 8, aa));
1982
+ }
1983
+ });
1984
+ const bt = /* @__PURE__ */ re(ra, [["__scopeId", "data-v-96b857fd"]]), ca = ["data-xine"], da = { class: "flex items-center border-r tracking-[5px] text_dir" }, ua = ["data-xine"], ha = ["data-xine"], pa = ["data-xine"], ma = /* @__PURE__ */ Z({
1985
+ __name: "examInfoShort",
1986
+ setup(e) {
1987
+ return (t, o) => (s(), d("div", {
1988
+ class: "flex-shrink-0 border ml-4 flex",
1989
+ "data-xine": x(C).en_num_view
1990
+ }, [
1991
+ f("p", da, [
1992
+ K(_e, {
1993
+ class: "px-1 pt-1",
1994
+ name: "fiveArrow"
1995
+ }),
1996
+ Ke("短学号")
1997
+ ]),
1998
+ f("div", {
1999
+ class: "flex-1 flex flex-col",
2000
+ "data-xine": x(C).en_num
2001
+ }, [
2002
+ (s(), d(M, null, V(4, (a, n) => f("p", {
2003
+ key: a,
2004
+ class: te(["flex-1 flex items-center text-0 px-1", n && "border-t"]),
2005
+ "data-xine": x(C).en_num_group
2006
+ }, [
2007
+ (s(), d(M, null, V(10, (r) => f("span", {
2008
+ key: r,
2009
+ class: "flex items-center justify-between flex-nowrap item",
2010
+ "data-xine": x(C).en_num_item
2011
+ }, X(r - 1), 9, pa)), 64))
2012
+ ], 10, ha)), 64))
2013
+ ], 8, ua)
2014
+ ], 8, ca));
2015
+ }
2016
+ });
2017
+ const vt = /* @__PURE__ */ re(ma, [["__scopeId", "data-v-7bd75c30"]]), ya = { class: "flex-1 flex flex-col" }, _a = /* @__PURE__ */ Z({
2018
+ __name: "examInfoBase",
2019
+ props: {
2020
+ extent: {}
2021
+ },
2022
+ emits: ["change"],
2023
+ setup(e, { emit: t }) {
2024
+ const o = ["nameField", "classField", "scoreField"];
2025
+ return (a, n) => (s(), d("ul", ya, [
2026
+ (s(), d(M, null, V(o, (r) => f("li", {
2027
+ key: r,
2028
+ class: "flex flex-1"
2029
+ }, [
2030
+ K(et, {
2031
+ value: a.extent[r],
2032
+ class: "px-0",
2033
+ placeholder: "",
2034
+ autoLine: "",
2035
+ onChange: (l) => t("change", { [r]: l })
2036
+ }, null, 8, ["value", "onChange"])
2037
+ ])), 64))
2038
+ ]));
2039
+ }
2040
+ }), ga = (e) => (He("data-v-44e44996"), e = e(), Re(), e), fa = {
2041
+ key: 0,
2042
+ class: "flex"
2043
+ }, ba = ["data-xine"], va = /* @__PURE__ */ ga(() => /* @__PURE__ */ f("span", { class: "font-bold tips" }, "贴条码区域", -1)), wa = [
2044
+ va
2045
+ ], xa = /* @__PURE__ */ Z({
2046
+ __name: "examInfo",
2047
+ props: {
2048
+ layout: {},
2049
+ info: {},
2050
+ isBindFlag: { type: Boolean }
2051
+ },
2052
+ emits: ["change"],
2053
+ setup(e, { emit: t }) {
2054
+ const o = e, a = A(() => o.layout.column >= 3 && o.layout.seatType === ve.none);
2055
+ return (n, r) => n.isBindFlag ? P("", !0) : (s(), d("div", fa, [
2056
+ a.value ? (s(), d(M, { key: 0 }, [
2057
+ n.layout.seatType === x(ve).none ? (s(), U(ft, {
2058
+ key: 0,
2059
+ extent: n.info.extentInfo,
2060
+ onChange: r[0] || (r[0] = (l) => t("change", l))
2061
+ }, null, 8, ["extent"])) : n.layout.seatType === x(ve).seat ? (s(), U(bt, { key: 1 })) : n.layout.seatType === x(ve).shortId ? (s(), U(vt, { key: 2 })) : P("", !0)
2062
+ ], 64)) : P("", !0),
2063
+ K(_a, {
2064
+ extent: n.info.extentInfo,
2065
+ onChange: r[1] || (r[1] = (l) => t("change", l))
2066
+ }, null, 8, ["extent"]),
2067
+ a.value ? P("", !0) : (s(), d(M, { key: 1 }, [
2068
+ n.layout.seatType === x(ve).none ? (s(), U(ft, {
2069
+ key: 0,
2070
+ extent: n.info.extentInfo,
2071
+ onChange: r[2] || (r[2] = (l) => t("change", l))
2072
+ }, null, 8, ["extent"])) : n.layout.seatType === x(ve).seat ? (s(), U(bt, { key: 1 })) : n.layout.seatType === x(ve).shortId ? (s(), U(vt, { key: 2 })) : P("", !0)
2073
+ ], 64)),
2074
+ f("div", {
2075
+ class: "flex items-center justify-center flex-col flex-1 ml-4 border border-dashed",
2076
+ "data-xine": x(C).en_code
2077
+ }, wa, 8, ba)
2078
+ ]));
2079
+ }
2080
+ });
2081
+ const ka = /* @__PURE__ */ re(xa, [["__scopeId", "data-v-44e44996"]]), Ne = (e) => (He("data-v-936c144e"), e = e(), Re(), e), Ca = {
2082
+ key: 0,
2083
+ class: "flex border mt-2 red_sheet"
2084
+ }, $a = /* @__PURE__ */ Ne(() => /* @__PURE__ */ f("p", { class: "px-4 text-center border-r tracking-[3px] text_dir" }, "注意事项", -1)), Sa = { class: "flex-1 overflow-hidden" }, Ta = { class: "flex items-center flex-1 pl-2" }, Ia = /* @__PURE__ */ Ne(() => /* @__PURE__ */ f("span", null, "此框为缺考考生标记,由监考员填涂。", -1)), La = { class: "flex items-center justify-center text-black" }, Fa = ["data-xine"], Ea = /* @__PURE__ */ Ne(() => /* @__PURE__ */ f("span", null, "[", -1)), Ma = /* @__PURE__ */ Ne(() => /* @__PURE__ */ f("span", { class: "ml-4" }, "]", -1)), Pa = [
2085
+ Ea,
2086
+ Ma
2087
+ ], Da = /* @__PURE__ */ Ne(() => /* @__PURE__ */ f("p", { class: "flex items-center border-l px-2 py-1" }, [
2088
+ /* @__PURE__ */ f("span", null, "正确填涂示例"),
2089
+ /* @__PURE__ */ f("span", { class: "w-8 bg-black ml-2 block_tips" })
2090
+ ], -1)), Aa = /* @__PURE__ */ Ne(() => /* @__PURE__ */ f("div", { class: "h-2" }, null, -1)), Na = /* @__PURE__ */ Z({
2091
+ __name: "notice",
2092
+ props: {
2093
+ layout: {},
2094
+ isBindFlag: { type: Boolean }
2095
+ },
2096
+ setup(e) {
2097
+ const t = e, o = A(() => {
2098
+ const a = {
2099
+ [ve.none]: "",
2100
+ [ve.seat]: "座位号或",
2101
+ [ve.shortId]: "短学号或"
2102
+ };
2103
+ return [
2104
+ `1.答题前,考生先将自己的基本信息填写清楚,并认真核对${t.isBindFlag ? "" : a[t.layout.seatType]}条形码上的信息;`,
2105
+ "2.选择题部分请按题号用2B铅笔填图方框,修改时用橡皮檫干净,不留痕迹;",
2106
+ "3.非选择题部分请按题号用0.5毫米黑色墨水签字笔书写,否则作答无效;",
2107
+ "4.请勿折叠试卷。保持字体工整、笔记清晰、卡面整洁。"
2108
+ ];
2109
+ });
2110
+ return (a, n) => (s(), d(M, null, [
2111
+ a.layout.noteFlag ? (s(), d("div", Ca, [
2112
+ $a,
2113
+ f("div", Sa, [
2114
+ (s(!0), d(M, null, V(o.value, (r) => (s(), d("p", {
2115
+ key: r,
2116
+ class: "px-2 origin-left scale-75 tip_item"
2117
+ }, X(r), 1))), 128))
2118
+ ])
2119
+ ])) : P("", !0),
2120
+ a.layout.lackFlag ? (s(), d("div", {
2121
+ key: 1,
2122
+ class: te(["flex border text-sm red_sheet", a.layout.noteFlag ? "border-t-0" : "mt-2"])
2123
+ }, [
2124
+ f("p", Ta, [
2125
+ Ia,
2126
+ f("span", La, [
2127
+ K(_e, { name: "rightArrow" }),
2128
+ f("span", {
2129
+ class: "flex items-center leading-4",
2130
+ "data-xine": x(C).lack
2131
+ }, Pa, 8, Fa)
2132
+ ])
2133
+ ]),
2134
+ Da
2135
+ ], 2)) : P("", !0),
2136
+ Aa
2137
+ ], 64));
2138
+ }
2139
+ });
2140
+ const Ba = /* @__PURE__ */ re(Na, [["__scopeId", "data-v-936c144e"]]), wt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""), Oa = (e, t = "", o = !0, a = "children") => {
2141
+ let n = [];
2142
+ const r = (l) => {
2143
+ (l[a] || []).length ? (o && n.push(t ? l[t] : l[a]), l[a].forEach((i) => r(i))) : n.push(t ? l[t] : l);
2144
+ };
2145
+ return e.forEach((l) => r(l)), n.flat(5);
2146
+ };
2147
+ function Pt(e) {
2148
+ if (e < 0 || e > 99)
2149
+ throw Error("下标超限");
2150
+ const t = "零一二三四五六七八九".split("");
2151
+ return [...Array(100)].map((a, n) => {
2152
+ const r = Math.floor(n / t.length), l = n % t.length;
2153
+ return r ? `${r > 1 ? t[r] : ""}十${l ? t[l] : ""}` : t[l];
2154
+ })[e + 1];
2155
+ }
2156
+ function xt(e) {
2157
+ return window.btoa(`${e || ""}${Math.random().toString(32).substr(2)}${Date.now()}`);
2158
+ }
2159
+ const za = {
2160
+ key: 0,
2161
+ class: "flex border mb-2 text-center leading-loose red_sheet"
2162
+ }, Ha = /* @__PURE__ */ f("li", { class: "flex-1 flex flex-col" }, [
2163
+ /* @__PURE__ */ f("p", { class: "flex-1" }, "题号"),
2164
+ /* @__PURE__ */ f("p", { class: "flex-1 border-t" }, "得分")
2165
+ ], -1), Ra = { class: "flex-1" }, Wa = /* @__PURE__ */ f("p", { class: "flex-1 border-t" }, null, -1), Ga = /* @__PURE__ */ f("li", { class: "flex-1 flex flex-col border-l" }, [
2166
+ /* @__PURE__ */ f("p", { class: "flex-1" }, "总分"),
2167
+ /* @__PURE__ */ f("p", { class: "flex-1 border-t" })
2168
+ ], -1), Ya = /* @__PURE__ */ Z({
2169
+ __name: "scoreTable",
2170
+ props: {
2171
+ layout: {},
2172
+ data: {}
2173
+ },
2174
+ setup(e) {
2175
+ const t = e, o = A(() => t.data.filter((a) => a.problemType));
2176
+ return (a, n) => a.layout.scoreFlag ? (s(), d("ul", za, [
2177
+ Ha,
2178
+ (s(!0), d(M, null, V(o.value, (r, l) => (s(), d("li", {
2179
+ key: r.id,
2180
+ class: "flex-1 flex flex-col border-l"
2181
+ }, [
2182
+ f("p", Ra, X(x(Pt)(l)), 1),
2183
+ Wa
2184
+ ]))), 128)),
2185
+ Ga
2186
+ ])) : P("", !0);
2187
+ }
2188
+ }), qa = /* @__PURE__ */ Z({
2189
+ __name: "columnDom",
2190
+ props: {
2191
+ column: {},
2192
+ currentColumn: {},
2193
+ showColBorder: { type: Boolean },
2194
+ styleInfo: {}
2195
+ },
2196
+ setup(e, { expose: t }) {
2197
+ const o = e, a = Q(), n = Q();
2198
+ t({ col: a, colView: n });
2199
+ const r = A(() => {
2200
+ const { top: c, width: u, height: y, left: O } = o.styleInfo;
2201
+ return {
2202
+ top: `${parseFloat(c) - (o.currentColumn ? ke.top : 1)}px`,
2203
+ left: `${parseFloat(O) - ke.left}px`,
2204
+ width: `${parseFloat(u) + ke.left + ke.right}px`,
2205
+ height: `${parseFloat(y) + (o.currentColumn ? ke.top : 0) + ke.bottom}px`
2206
+ };
2207
+ }), l = A(() => ({
2208
+ left: `${ke.left - 1}px`,
2209
+ top: `${ke.top - 1}px`,
2210
+ bottom: `${ke.bottom - 1}px`,
2211
+ right: `${ke.right - 1}px`
2212
+ })), i = A(() => o.column < 3 || o.currentColumn % 3 === 1);
2213
+ return (c, u) => (s(), d(M, null, [
2214
+ c.showColBorder ? (s(), d("div", {
2215
+ key: 0,
2216
+ class: te(["absolute border rounded-3xl pointer-events-none z-1 red_sheet", i.value && "tips"]),
2217
+ style: G(r.value)
2218
+ }, [
2219
+ f("span", {
2220
+ class: "absolute border border-black",
2221
+ style: G(l.value)
2222
+ }, null, 4)
2223
+ ], 6)) : P("", !0),
2224
+ f("div", {
2225
+ class: "absolute overflow-hidden",
2226
+ ref_key: "colView",
2227
+ ref: n,
2228
+ style: G(c.styleInfo)
2229
+ }, [
2230
+ f("div", {
2231
+ ref_key: "col",
2232
+ ref: a,
2233
+ class: "overflow-hidden __col__",
2234
+ style: G({ height: c.styleInfo.contentHeight })
2235
+ }, [
2236
+ it(c.$slots, "default", {}, void 0, !0)
2237
+ ], 4)
2238
+ ], 4)
2239
+ ], 64));
2240
+ }
2241
+ });
2242
+ const Qa = /* @__PURE__ */ re(qa, [["__scopeId", "data-v-e102e805"]]), Dt = (e) => (He("data-v-4dff340b"), e = e(), Re(), e), Ua = /* @__PURE__ */ Dt(() => /* @__PURE__ */ f("span", { class: "flex-1 border-b" }, null, -1)), Ka = ["data-xine"], ja = /* @__PURE__ */ Dt(() => /* @__PURE__ */ f("span", null, "贴条码区域", -1)), Xa = [
2243
+ ja
2244
+ ], Va = ["data-xine"], Za = /* @__PURE__ */ Z({
2245
+ __name: "bind",
2246
+ props: {
2247
+ currentPage: {},
2248
+ width: {},
2249
+ height: {},
2250
+ isBindFlag: { type: Boolean }
2251
+ },
2252
+ setup(e) {
2253
+ const t = Q(), o = ["学校", "班级", "准考证号", "姓名"];
2254
+ return (a, n) => a.isBindFlag ? (s(), d("div", {
2255
+ key: 0,
2256
+ style: G({ width: `${a.currentPage % 2 ? 0 : a.width}px`, height: `${a.height - 20}px` }),
2257
+ class: te([a.currentPage % 2 && "right_view"]),
2258
+ ref_key: "view",
2259
+ ref: t
2260
+ }, [
2261
+ a.currentPage % 2 ? (s(), d("div", {
2262
+ key: 0,
2263
+ class: "flex items-center justify-center origin-top-left border-b end_view",
2264
+ style: G({ width: `${a.height - 20}px`, height: `${a.width}px` })
2265
+ }, "当前位置为密封线位置,请勿在此处作答", 4)) : (s(), d("div", {
2266
+ key: 1,
2267
+ class: "flex items-end px-20 pb-6 border-b origin-top-right front_view",
2268
+ style: G({ width: `${a.height - 20}px` })
2269
+ }, [
2270
+ (s(), d(M, null, V(o, (r) => f("p", {
2271
+ key: r,
2272
+ class: "flex items-end flex-1 mr-4"
2273
+ }, [
2274
+ f("span", null, X(r), 1),
2275
+ Ua
2276
+ ])), 64)),
2277
+ f("div", {
2278
+ class: "flex items-center justify-center border border-dashed font-bold w-80 h-40",
2279
+ "data-xine": x(C).en_code
2280
+ }, Xa, 8, Ka),
2281
+ f("span", {
2282
+ "data-xine": x(C).bind_line
2283
+ }, null, 8, Va)
2284
+ ], 4))
2285
+ ], 6)) : P("", !0);
2286
+ }
2287
+ });
2288
+ const Ja = /* @__PURE__ */ re(Za, [["__scopeId", "data-v-4dff340b"]]), we = "MC5jdmxyN28zYWRl", el = "YWNhdnN2cmIydmcZm", Ee = "MC4wYWx1ZXJvcWhm", kt = "MC5sZGN2NzJ0ZXE0bw", dt = "MC5yYjk3NGY2OTcyOA", ut = "MC42cWRzbGM0c21jbw", tl = "MC45amVuM25vajRk", ol = "MC44YjJkb212djRu", al = ["img", "table", "svg"], ll = ["data-block", "data-xine"], nl = ["data-xine"], sl = ["data-xine"], il = { class: "absolute opacity-0 pointer-events-none" }, rl = /* @__PURE__ */ Z({
2289
+ __name: "simple",
2290
+ props: {
2291
+ item: {},
2292
+ layout: {}
2293
+ },
2294
+ setup(e) {
2295
+ const t = e, o = ["right", "half_right", "wrong"], a = A(() => {
2296
+ const n = t.item.score;
2297
+ return [n, Math.round(n / 2 * 100) / 100, 0];
2298
+ });
2299
+ return (n, r) => (s(), d("div", {
2300
+ class: "flex border-x-2 border-y divide-x divide-solid",
2301
+ "data-block": x(we),
2302
+ "data-xine": x(C).score
2303
+ }, [
2304
+ f("ul", {
2305
+ class: "flex h-full divide-x divide-solid",
2306
+ "data-xine": x(C).score_base
2307
+ }, [
2308
+ (s(!0), d(M, null, V(a.value, (l, i) => (s(), d("li", {
2309
+ class: "flex items-center justify-center relative score_line",
2310
+ style: G({ width: `${x(je)[n.layout.scoreLineSize].value}px` }),
2311
+ "data-xine": x(C).score_item
2312
+ }, [
2313
+ f("span", il, X(l), 1),
2314
+ K(_e, {
2315
+ class: "p-0",
2316
+ name: o[i]
2317
+ }, null, 8, ["name"])
2318
+ ], 12, sl))), 256))
2319
+ ], 8, nl)
2320
+ ], 8, ll));
2321
+ }
2322
+ }), cl = ["data-block", "data-xine"], dl = ["data-xine"], ul = ["data-xine"], tt = /* @__PURE__ */ Z({
2323
+ __name: "index",
2324
+ props: {
2325
+ item: {},
2326
+ layout: {},
2327
+ static: { type: Boolean }
2328
+ },
2329
+ setup(e) {
2330
+ const t = e, o = Q(), a = Q(!1), n = Q(!1), r = Q(!1), l = Q([]), i = A(() => t.layout.scoreAddStars === Je.star.code);
2331
+ De(() => [t.item.score], () => c()), Ve(() => {
2332
+ c();
2333
+ });
2334
+ const c = () => {
2335
+ !t.layout.handReadFlag || t.layout.simpleScoreBarFlag && !t.static || Ze(() => {
2336
+ let y = [];
2337
+ if (t.item.scoreLineType === "custom")
2338
+ y = [[...t.item.customScore, 0]];
2339
+ else {
2340
+ const O = o.value.offsetWidth, h = je[t.layout.scoreLineSize].value + 1;
2341
+ a.value = O - 1 <= (Math.ceil(t.item.score + 1) + Number(t.layout.halfScoreFlag)) * h && t.item.score >= 10, a.value ? (y.push(["", ...Array(Math.ceil((t.item.score + 1) / 10)).keys()].map((F) => F && F * 10).reverse()), y.push([...Array(10).keys()].reverse()), r.value = !0) : y.push([...Array(Math.ceil((t.item.scoreStep || t.item.score || 0) + 1)).keys()].map((F) => Math.round(t.item.score / (t.item.scoreStep || t.item.score || 1) * F)).reverse());
2342
+ }
2343
+ t.item.hasHalfScore && y.push([0.5]), l.value = y, n.value = !!y.flat().find((O) => `${O}`.length > 3);
2344
+ });
2345
+ }, u = (y) => t.item.hasHalfScore ? [C.score_half, C.score_base, C.score_tenbit][l.value.length - y - 1] : [C.score_base, C.score_tenbit][l.value.length - y - 1];
2346
+ return (y, O) => y.layout.handReadFlag ? (s(), d(M, { key: 0 }, [
2347
+ y.layout.simpleScoreBarFlag && !y.static ? (s(), U(rl, {
2348
+ key: 0,
2349
+ item: y.item,
2350
+ layout: y.layout
2351
+ }, null, 8, ["item", "layout"])) : (s(), d("div", {
2352
+ key: 1,
2353
+ ref_key: "view",
2354
+ ref: o,
2355
+ class: "inline-flex max-w-full border border-l-2 border-r-2 divide-x divide-solid",
2356
+ "data-block": x(we),
2357
+ "data-xine": x(C).score
2358
+ }, [
2359
+ (s(!0), d(M, null, V(l.value, (h, F) => (s(), d("ul", {
2360
+ class: "flex divide-x divide-solid",
2361
+ "data-xine": u(F)
2362
+ }, [
2363
+ (s(!0), d(M, null, V(h, (Y) => (s(), d("li", {
2364
+ class: "flex items-center justify-center flex-shrink-0 score_line",
2365
+ style: G({ width: `${x(je)[y.layout.scoreLineSize].value}px` }),
2366
+ "data-xine": Y.toString() ? x(C).score_item : ""
2367
+ }, [
2368
+ f("span", {
2369
+ class: te(["whitespace-nowrap", i.value && "origin-right", n.value && "scale-75"])
2370
+ }, X(y.layout.minusFlag && Y.toString().length && !i.value ? "-" : "") + X(Y), 3),
2371
+ i.value && Y.toString().length ? (s(), U(_e, {
2372
+ key: 0,
2373
+ class: "px-0 py-0 -translate-y-[1px]",
2374
+ name: y.layout.minusFlag ? "fiveArrowLine" : "fiveArrow",
2375
+ width: n.value ? 0.9 : 1.2
2376
+ }, null, 8, ["name", "width"])) : P("", !0)
2377
+ ], 12, ul))), 256))
2378
+ ], 8, dl))), 256))
2379
+ ], 8, cl))
2380
+ ], 64)) : P("", !0);
2381
+ }
2382
+ }), At = (e) => (He("data-v-a8dbd3b0"), e = e(), Re(), e), hl = ["data-xine"], pl = /* @__PURE__ */ At(() => /* @__PURE__ */ f("span", { class: "red_sheet" }, "卷面整洁,书写工整分", -1)), ml = /* @__PURE__ */ At(() => /* @__PURE__ */ f("span", { class: "flex-1 mx-2 h-[1px] dashed_view" }, null, -1)), yl = /* @__PURE__ */ Z({
2383
+ __name: "writeScore",
2384
+ props: {
2385
+ info: {},
2386
+ layout: {}
2387
+ },
2388
+ setup(e) {
2389
+ return (t, o) => (s(), d("div", {
2390
+ class: "flex items-center mb-2",
2391
+ "data-xine": x(C).write_view
2392
+ }, [
2393
+ pl,
2394
+ ml,
2395
+ K(tt, {
2396
+ item: { ...t.info, score: t.info.writeScore, hasHalfScore: t.layout.halfScoreFlag },
2397
+ layout: t.layout,
2398
+ static: ""
2399
+ }, null, 8, ["item", "layout"])
2400
+ ], 8, hl));
2401
+ }
2402
+ });
2403
+ const _l = /* @__PURE__ */ re(yl, [["__scopeId", "data-v-a8dbd3b0"]]), gl = ["innerHTML"], fl = /* @__PURE__ */ Z({
2404
+ __name: "index",
2405
+ props: {
2406
+ data: {}
2407
+ },
2408
+ setup(e) {
2409
+ const t = e;
2410
+ return (o, a) => (s(), d("div", {
2411
+ innerHTML: t.data,
2412
+ class: "base-problem-font problem-base"
2413
+ }, null, 8, gl));
2414
+ }
2415
+ });
2416
+ const Ae = /* @__PURE__ */ re(fl, [["__scopeId", "data-v-e6258dec"]]), bl = ["data-tag", "data-block"], vl = /* @__PURE__ */ Z({
2417
+ __name: "notArea",
2418
+ props: {
2419
+ item: {}
2420
+ },
2421
+ setup(e) {
2422
+ return (t, o) => (s(), d("div", {
2423
+ class: "py-2 border border-dashed rounded-lg mx-1 my-2",
2424
+ "data-tag": t.item.__tag__,
2425
+ "data-block": x(dt)
2426
+ }, [
2427
+ K(Ae, {
2428
+ "data-content": t.item.id,
2429
+ data: t.item.content
2430
+ }, null, 8, ["data-content", "data"])
2431
+ ], 8, bl));
2432
+ }
2433
+ }), wl = (e) => (He("data-v-7092617e"), e = e(), Re(), e), xl = ["data-tag", "data-block"], kl = {
2434
+ key: 0,
2435
+ class: "flex-shrink-0"
2436
+ }, Cl = { class: "flex flex-wrap" }, $l = { key: 0 }, Sl = {
2437
+ key: 1,
2438
+ class: "indent-2"
2439
+ }, Tl = { key: 0 }, Il = { key: 0 }, Ll = { key: 1 }, Fl = ["data-block", "data-xine"], El = /* @__PURE__ */ wl(() => /* @__PURE__ */ f("span", null, "我选答的题目是:", -1)), Ml = { class: "flex items-center" }, Pl = ["data-xine"], Dl = /* @__PURE__ */ Z({
2440
+ __name: "index",
2441
+ props: {
2442
+ item: {},
2443
+ layout: {},
2444
+ showColBorder: { type: Boolean },
2445
+ isFirst: { type: Boolean },
2446
+ isActive: { type: Boolean }
2447
+ },
2448
+ emits: ["click", "dbclick"],
2449
+ setup(e, { emit: t }) {
2450
+ const o = e, a = A(() => [be.one_choice].includes(o.item.problemType) ? o.item.rawChildren.filter((i) => i.problemType) : null), n = A(() => [be.another_choice].includes(o.item.problemType)), r = A(() => [be.one_choice].includes(o.item.problemType) ? o.item.rawChildren.length : [...new Set(Oa(o.item.rawChildren.filter((i) => i.problemType), "sub").flat().map((i) => (i || "").split(".")[0]))].length), l = A(() => [...new Set(o.item.rawChildren.map((i) => i.sub.map((c) => c.split(".")[0])).map((i) => i.length > 1 ? `${i[0]}-${i[i.length - 1]}` : i[0]))]);
2451
+ return (i, c) => i.item.problemType ? (s(), d("div", {
2452
+ key: 1,
2453
+ class: te(["flex items-baseline relative headline_item", i.showColBorder && "pl-2 mx-1 z-2", !i.isFirst && "headline_view"]),
2454
+ onClick: c[2] || (c[2] = Le((u) => t("click", i.item), ["stop"])),
2455
+ "data-tag": i.item.__tag__,
2456
+ "data-block": x(we),
2457
+ onDblclick: c[3] || (c[3] = Le((u) => t("dbclick", i.item), ["stop"]))
2458
+ }, [
2459
+ !i.layout.listIndexFlag && i.item.sub ? (s(), d("span", kl, X(x(Pt)(i.item.sub - 1)) + "、", 1)) : P("", !0),
2460
+ f("div", null, [
2461
+ f("div", Cl, [
2462
+ f("span", null, X(i.item.name), 1),
2463
+ i.item.desc ? (s(), d("span", $l, "(" + X(i.item.desc) + ")", 1)) : P("", !0),
2464
+ i.layout.scoreTipFlag ? (s(), d("span", Sl, "(共" + X(r.value) + "题,共" + X(i.item.totalScore) + "分)", 1)) : P("", !0)
2465
+ ]),
2466
+ a.value || n.value ? (s(), d("div", Tl, [
2467
+ a.value ? (s(), d("p", Il, "请在以下" + X(i.item.rawChildren.length) + "道题目中任选一题作答,如果漏涂或多涂,则按第一题计分。", 1)) : (s(), d("p", Ll, "请在以下题目中选择你要作答的题目,并在对应的填涂框中填涂表示,如果未填涂则按不作答处理。")),
2468
+ f("p", {
2469
+ class: "flex flex-wrap",
2470
+ "data-block": x(we),
2471
+ "data-xine": x(C).choice + i.item.id
2472
+ }, [
2473
+ El,
2474
+ (s(!0), d(M, null, V(l.value, (u, y) => (s(), d("span", Ml, [
2475
+ f("span", null, X(u), 1),
2476
+ f("span", {
2477
+ class: "flex justify-between w-6 h-[11px] ml-2 mr-4 fill_view",
2478
+ "data-xine": x(C).fill
2479
+ }, null, 8, Pl)
2480
+ ]))), 256))
2481
+ ], 8, Fl)
2482
+ ])) : P("", !0)
2483
+ ])
2484
+ ], 42, xl)) : (s(), U(vl, {
2485
+ key: 0,
2486
+ class: te([i.isActive && "border-current", i.isFirst && "mt-9"]),
2487
+ item: i.item,
2488
+ onClick: c[0] || (c[0] = Le((u) => t("click", i.item), ["stop"])),
2489
+ onDblclick: c[1] || (c[1] = Le((u) => t("dbclick", i.item), ["stop"]))
2490
+ }, null, 8, ["class", "item"]));
2491
+ }
2492
+ });
2493
+ const Ct = /* @__PURE__ */ re(Dl, [["__scopeId", "data-v-7092617e"]]), Al = {};
2494
+ function Nl(e, t) {
2495
+ return null;
2496
+ }
2497
+ const Bl = /* @__PURE__ */ re(Al, [["render", Nl]]), Ol = ["data-block"], zl = ["data-xine"], Hl = /* @__PURE__ */ Z({
2498
+ __name: "sheet",
2499
+ props: {
2500
+ item: {},
2501
+ layout: {}
2502
+ },
2503
+ setup(e) {
2504
+ return (t, o) => (s(), d("div", {
2505
+ class: "flex items-center red_sheet",
2506
+ "data-block": x(we)
2507
+ }, [
2508
+ (s(!0), d(M, null, V(t.item.optList, (a, n) => (s(), d("span", {
2509
+ class: te(["fill_block", t.layout.showAnswer && t.item.answer.includes(x(wt)[n]) && "bg-success border-success"]),
2510
+ style: G({ width: `${x(Te)[t.layout.fillSize].value + 1}px`, height: `${x(Te)[t.layout.fillSize].height + 1}px` }),
2511
+ "data-xine": x(C).fill + n
2512
+ }, [
2513
+ K(_e, {
2514
+ width: 1,
2515
+ name: x(wt)[n]
2516
+ }, null, 8, ["name"])
2517
+ ], 14, zl))), 256))
2518
+ ], 8, Ol));
2519
+ }
2520
+ }), Rl = {};
2521
+ function Wl(e, t) {
2522
+ return null;
2523
+ }
2524
+ const Gl = /* @__PURE__ */ re(Rl, [["render", Wl]]), Yl = ["data-block"], ql = ["data-xine"], Ql = ["data-xine"], Ul = ["data-xine"], Kl = /* @__PURE__ */ f("span", { class: "text-sm scale-75" }, "T", -1), jl = [
2525
+ Kl
2526
+ ], Xl = ["data-xine"], Vl = /* @__PURE__ */ f("span", { class: "text-sm scale-75" }, "F", -1), Zl = [
2527
+ Vl
2528
+ ], Jl = /* @__PURE__ */ Z({
2529
+ __name: "sheet",
2530
+ props: {
2531
+ item: {},
2532
+ layout: {}
2533
+ },
2534
+ setup(e) {
2535
+ const t = e, o = A(() => ({
2536
+ width: `${Te[t.layout.fillSize].value + 1}px`,
2537
+ height: `${Te[t.layout.fillSize].height + 1}px`
2538
+ }));
2539
+ return (a, n) => (s(), d("div", {
2540
+ class: "flex red_sheet",
2541
+ "data-block": x(we)
2542
+ }, [
2543
+ a.item.style[x(m)[a.layout.mode].decide_a] === x(T).decide_1 ? (s(), d(M, { key: 0 }, [
2544
+ f("span", {
2545
+ class: te(["fill_block", a.layout.showAnswer && a.item.answer.includes("T") && "bg-success border-success"]),
2546
+ style: G(o.value),
2547
+ "data-xine": x(C).fill + "0"
2548
+ }, [
2549
+ K(_e, {
2550
+ name: "right",
2551
+ width: 1
2552
+ })
2553
+ ], 14, ql),
2554
+ f("span", {
2555
+ class: te(["fill_block", a.layout.showAnswer && a.item.answer.includes("F") && "bg-success border-success"]),
2556
+ style: G(o.value),
2557
+ "data-xine": x(C).fill + "1"
2558
+ }, [
2559
+ K(_e, {
2560
+ name: "wrong",
2561
+ width: 1
2562
+ })
2563
+ ], 14, Ql)
2564
+ ], 64)) : (s(), d(M, { key: 1 }, [
2565
+ f("span", {
2566
+ class: te(["fill_block", a.layout.showAnswer && a.item.answer.includes("T") && "bg-success border-success"]),
2567
+ style: G(o.value),
2568
+ "data-xine": x(C).fill + "0"
2569
+ }, jl, 14, Ul),
2570
+ f("span", {
2571
+ class: te(["fill_block", a.layout.showAnswer && a.item.answer.includes("F") && "bg-success border-success"]),
2572
+ style: G(o.value),
2573
+ "data-xine": x(C).fill + "1"
2574
+ }, Zl, 14, Xl)
2575
+ ], 64))
2576
+ ], 8, Yl));
2577
+ }
2578
+ }), en = {};
2579
+ function tn(e, t) {
2580
+ return null;
2581
+ }
2582
+ const on = /* @__PURE__ */ re(en, [["render", tn]]), an = ["data-block", "data-xine"], ln = {
2583
+ key: 0,
2584
+ class: "flex items-center justify-center whitespace-nowrap text-sm scale-75"
2585
+ }, nn = { key: 1 }, sn = /* @__PURE__ */ Z({
2586
+ __name: "index",
2587
+ props: {
2588
+ item: {},
2589
+ layout: {},
2590
+ showScoreCn: { type: Boolean }
2591
+ },
2592
+ setup(e) {
2593
+ const t = e, o = A(() => t.layout.scoreAddStars === Je.star.code);
2594
+ return (a, n) => a.layout.handReadFlag ? (s(), d("div", {
2595
+ key: 0,
2596
+ class: "score_fill flex items-center",
2597
+ "data-block": x(we),
2598
+ "data-xine": x(C).fill
2599
+ }, [
2600
+ a.showScoreCn ? (s(), d("span", ln, [
2601
+ f("span", null, X(a.layout.minusFlag && !o.value ? "-" : "") + X(a.item.score), 1),
2602
+ o.value ? (s(), U(_e, {
2603
+ key: 0,
2604
+ class: "px-0 py-0 -translate-y-[1px]",
2605
+ name: a.layout.minusFlag ? "fiveArrowLine" : "fiveArrow",
2606
+ width: 1.2
2607
+ }, null, 8, ["name"])) : (s(), d("span", nn, "分"))
2608
+ ])) : P("", !0)
2609
+ ], 8, an)) : P("", !0);
2610
+ }
2611
+ }), rn = ["data-xine"], cn = /* @__PURE__ */ Z({
2612
+ __name: "sheet",
2613
+ props: {
2614
+ item: {},
2615
+ layout: {}
2616
+ },
2617
+ setup(e) {
2618
+ const t = e;
2619
+ return (o, a) => (s(), d(M, null, [
2620
+ f("div", {
2621
+ class: "flex-1 border-b self-stretch red_sheet",
2622
+ style: G({ height: `${20 + o.item.style[x(m)[t.layout.mode].fill_e]}px` }),
2623
+ "data-xine": x(C).fill_line
2624
+ }, null, 12, rn),
2625
+ o.layout.handReadFlag ? (s(), U(sn, {
2626
+ key: 0,
2627
+ item: o.item,
2628
+ layout: o.layout,
2629
+ showScoreCn: o.layout.fillScoreFlag
2630
+ }, null, 8, ["item", "layout", "showScoreCn"])) : P("", !0)
2631
+ ], 64));
2632
+ }
2633
+ }), dn = {};
2634
+ function un(e, t) {
2635
+ return null;
2636
+ }
2637
+ const hn = /* @__PURE__ */ re(dn, [["render", un]]), pn = ["data-block"], mn = { class: "flex-1 flex justify-end overflow-hidden" }, yn = /* @__PURE__ */ Z({
2638
+ __name: "sheet",
2639
+ props: {
2640
+ item: {},
2641
+ layout: {},
2642
+ isFirst: { type: Boolean }
2643
+ },
2644
+ setup(e) {
2645
+ return (t, o) => (s(), d("div", {
2646
+ class: te(["w-full min-h-[5rem] pt-2", !t.isFirst && "border-t"])
2647
+ }, [
2648
+ t.item.chunk ? P("", !0) : (s(), d("div", {
2649
+ key: 0,
2650
+ class: "flex items-center",
2651
+ "data-block": x(we)
2652
+ }, [
2653
+ it(t.$slots, "default"),
2654
+ f("div", mn, [
2655
+ K(tt, {
2656
+ item: t.item,
2657
+ layout: t.layout
2658
+ }, null, 8, ["item", "layout"])
2659
+ ])
2660
+ ], 8, pn)),
2661
+ K(Ae, {
2662
+ "data-area": t.item.id,
2663
+ data: t.item.answerArea
2664
+ }, null, 8, ["data-area", "data"])
2665
+ ], 2));
2666
+ }
2667
+ }), _n = {};
2668
+ function gn(e, t) {
2669
+ return null;
2670
+ }
2671
+ const fn = /* @__PURE__ */ re(_n, [["render", gn]]), bn = /* @__PURE__ */ f("div", { class: "flex-1 border-b self-end mr-2" }, null, -1), vn = /* @__PURE__ */ Z({
2672
+ __name: "sheet",
2673
+ props: {
2674
+ item: {},
2675
+ layout: {}
2676
+ },
2677
+ setup(e) {
2678
+ return (t, o) => (s(), d(M, null, [
2679
+ bn,
2680
+ K(tt, {
2681
+ item: t.item,
2682
+ layout: t.layout
2683
+ }, null, 8, ["item", "layout"])
2684
+ ], 64));
2685
+ }
2686
+ }), wn = {};
2687
+ function xn(e, t) {
2688
+ return null;
2689
+ }
2690
+ const kn = /* @__PURE__ */ re(wn, [["render", xn]]), Cn = {};
2691
+ function $n(e, t) {
2692
+ return null;
2693
+ }
2694
+ const Sn = /* @__PURE__ */ re(Cn, [["render", $n]]), Tn = {};
2695
+ function In(e, t) {
2696
+ return null;
2697
+ }
2698
+ const Ln = /* @__PURE__ */ re(Tn, [["render", In]]), Fn = {};
2699
+ function En(e, t) {
2700
+ return null;
2701
+ }
2702
+ const Mn = /* @__PURE__ */ re(Fn, [["render", En]]), Pn = {};
2703
+ function Dn(e, t) {
2704
+ return null;
2705
+ }
2706
+ const An = /* @__PURE__ */ re(Pn, [["render", Dn]]), Nn = ["data-block"], Bn = { class: "flex-1 flex justify-end overflow-hidden" }, On = ["data-block", "data-guide"], zn = ["data-block", "data-size"], Hn = ["data-block"], Rn = /* @__PURE__ */ Z({
2707
+ __name: "sheet",
2708
+ props: {
2709
+ item: {},
2710
+ layout: {}
2711
+ },
2712
+ setup(e) {
2713
+ const t = e, o = Q(0), a = Q({}), n = Q(), r = Q(), l = Q([]), i = A(() => {
2714
+ const h = Math.max((t.item.endAnswerLen || parseInt(t.item.style[m[t.layout.mode].art_c]) || t.item.answerLen) - t.item.startAnswerLen, O.value.length, 0);
2715
+ return h ? Math.ceil(h / (o.value || h)) : 0;
2716
+ }), c = A(() => parseInt(t.item.style[m[t.layout.mode].art_b])), u = A(() => ({
2717
+ width: `${o.value * c.value}px`,
2718
+ height: `${c.value}px`
2719
+ })), y = A(() => ({
2720
+ width: `${c.value}px`
2721
+ })), O = A(() => t.item.beforeGuide ? ` ${t.item.beforeGuide}`.substring(t.item.startAnswerLen, t.item.endAnswerLen || t.item.beforeGuide.length + 2) : "");
2722
+ return Ve(() => {
2723
+ Ze(() => {
2724
+ o.value = Math.floor(n.value.offsetWidth / c.value), t.item.beforeGuide && !t.item.artBlock && setTimeout(() => {
2725
+ if (!n.value)
2726
+ return;
2727
+ const Y = n.value.getBoundingClientRect(), J = r.value[0].getBoundingClientRect();
2728
+ a.value = {
2729
+ left: `${J.left - Y.left}px`,
2730
+ top: `${J.top - Y.top}px`
2731
+ };
2732
+ }, 20);
2733
+ });
2734
+ const h = Math.floor(parseInt(t.item.style[m[t.layout.mode].art_c]) / t.item.style[m[t.layout.mode].art_e]), F = Math.round(h / (t.item.style[m[t.layout.mode].art_d] || 1) - 0.01) * t.item.style[m[t.layout.mode].art_e];
2735
+ l.value = [...Array(Math.min(t.item.style[m[t.layout.mode].art_d] || 1, h) - 1 || 0).keys()].map((Y) => (Y + 1) * F).concat(parseInt(t.item.style[m[t.layout.mode].art_c])).filter((Y) => Y);
2736
+ }), (h, F) => (s(), d("div", {
2737
+ class: "w-full relative min-h-[10rem]",
2738
+ ref_key: "view",
2739
+ ref: n
2740
+ }, [
2741
+ h.item.chunk ? P("", !0) : (s(), d("div", {
2742
+ key: 0,
2743
+ class: "flex items-center mt-1 mb-4",
2744
+ "data-block": x(we)
2745
+ }, [
2746
+ it(h.$slots, "default"),
2747
+ f("div", Bn, [
2748
+ K(tt, {
2749
+ item: h.item,
2750
+ layout: h.layout
2751
+ }, null, 8, ["item", "layout"])
2752
+ ])
2753
+ ], 8, Nn)),
2754
+ h.item.beforeArt && !h.item.startAnswerLen ? (s(), U(Ae, {
2755
+ key: 1,
2756
+ data: h.item.beforeArt,
2757
+ "data-bart": h.item.id,
2758
+ class: "indent-[2em]"
2759
+ }, null, 8, ["data", "data-bart"])) : P("", !0),
2760
+ h.item.beforeGuide && !h.item.artBlock ? (s(), d("p", {
2761
+ key: 2,
2762
+ "data-block": x(Ee),
2763
+ "data-guide": h.item.id,
2764
+ class: te(["absolute", !h.item.startAnswerLen && "indent-[2em]"]),
2765
+ style: G({ ...a.value, width: u.value.width, lineHeight: `${c.value + 7}px` })
2766
+ }, X(h.item.beforeGuide), 15, On)) : P("", !0),
2767
+ (s(!0), d(M, null, V(i.value, (Y, J) => (s(), d("p", {
2768
+ ref_for: !0,
2769
+ ref_key: "line",
2770
+ ref: r,
2771
+ class: te(["flex mx-auto mt-3 mb-1 relative red_sheet", h.item.artBlock ? "border divide-x divide-solid" : "border-b"]),
2772
+ "data-block": x(we),
2773
+ "data-size": h.item.startAnswerLen + (J + 1) * o.value,
2774
+ style: G(u.value)
2775
+ }, [
2776
+ h.item.artBlock ? (s(!0), d(M, { key: 0 }, V(o.value, (E, D) => (s(), d("span", {
2777
+ class: te([O.value[J * o.value + D] && "flex items-center justify-center"]),
2778
+ style: G(y.value)
2779
+ }, X(O.value[J * o.value + D]), 7))), 256)) : P("", !0),
2780
+ (s(!0), d(M, null, V(l.value, (E) => (s(), d(M, null, [
2781
+ h.item.startAnswerLen + J * o.value < E && h.item.startAnswerLen + (J + 1) * o.value >= E ? (s(), d("span", {
2782
+ key: 0,
2783
+ class: "absolute leading-4 text-base -bottom-4 scale-50 border-transparent",
2784
+ style: G({ left: `${(E - h.item.startAnswerLen) % o.value * c.value}px` }),
2785
+ "data-block": x(Ee)
2786
+ }, X(E), 13, Hn)) : P("", !0)
2787
+ ], 64))), 256))
2788
+ ], 14, zn))), 256)),
2789
+ h.item.afterArt && [-1, 0].includes(h.item.endAnswerLen) ? (s(), U(Ae, {
2790
+ key: 3,
2791
+ data: h.item.afterArt,
2792
+ "data-aart": h.item.id,
2793
+ class: "mt-2 indent-[2em]"
2794
+ }, null, 8, ["data", "data-aart"])) : P("", !0)
2795
+ ], 512));
2796
+ }
2797
+ }), Wn = ["data-block"], Gn = /* @__PURE__ */ Z({
2798
+ __name: "index",
2799
+ props: {
2800
+ item: {},
2801
+ layout: {}
2802
+ },
2803
+ emits: ["change"],
2804
+ setup(e, { emit: t }) {
2805
+ return (o, a) => (s(), d("div", {
2806
+ class: "px-2 py-3 w-full border border-dashed rounded-lg",
2807
+ "data-block": x(dt)
2808
+ }, [
2809
+ K(Ae, {
2810
+ "data-content": o.item.id,
2811
+ data: o.item.content
2812
+ }, null, 8, ["data-content", "data"])
2813
+ ], 8, Wn));
2814
+ }
2815
+ }), Yn = ["data-block"], qn = { key: 0 }, Qn = { key: 1 }, Un = { key: 2 }, Kn = {
2816
+ key: 3,
2817
+ class: "flex items-center justify-center w-8 h-8 border rounded-full scale-75"
2818
+ }, jn = /* @__PURE__ */ Z({
2819
+ __name: "index",
2820
+ props: {
2821
+ sub: {},
2822
+ isFull: { type: Boolean },
2823
+ width: {}
2824
+ },
2825
+ setup(e) {
2826
+ const t = e, o = A(() => (t.sub.length > 1 ? [t.sub[0], t.sub[t.sub.length - 1]] : t.sub).map((r) => r.split(".")).map((r) => t.isFull ? r : r.map((l, i) => i === r.length - 1 ? l : ""))), a = A(() => t.width ? `${t.width}em` : "");
2827
+ return (n, r) => (s(), d("span", {
2828
+ class: te(["flex items-center flex-shrink-0 leading-none mr-2 mt-[1px]", n.isFull && "justify-end"]),
2829
+ style: G({ width: a.value }),
2830
+ "data-block": x(Ee)
2831
+ }, [
2832
+ (s(!0), d(M, null, V(o.value, (l, i) => (s(), d(M, null, [
2833
+ i ? (s(), d("span", qn, " - ")) : P("", !0),
2834
+ l[0] ? (s(), d("span", Qn, X(l[0]), 1)) : P("", !0),
2835
+ l[1] ? (s(), d("span", Un, "(" + X(l[1]) + ")", 1)) : P("", !0),
2836
+ l[2] ? (s(), d("span", Kn, X(l[2]), 1)) : P("", !0)
2837
+ ], 64))), 256))
2838
+ ], 14, Yn));
2839
+ }
2840
+ }), Xn = {
2841
+ components: {
2842
+ choice: Bl,
2843
+ choiceSheet: Hl,
2844
+ decide: Gl,
2845
+ decideSheet: Jl,
2846
+ fill: on,
2847
+ fillSheet: cn,
2848
+ slove: hn,
2849
+ sloveSheet: yn,
2850
+ easy_slove: fn,
2851
+ easy_sloveSheet: vn,
2852
+ mix: kn,
2853
+ mixSheet: Sn,
2854
+ synthesis: Ln,
2855
+ synthesisSheet: Mn,
2856
+ art: An,
2857
+ artSheet: Rn,
2858
+ notArea: Gn,
2859
+ Sub: jn
2860
+ },
2861
+ props: {
2862
+ data: {
2863
+ type: Object,
2864
+ required: !0
2865
+ },
2866
+ layout: {
2867
+ type: Object,
2868
+ required: !0
2869
+ },
2870
+ width: {
2871
+ type: Number,
2872
+ required: !0
2873
+ },
2874
+ target: {
2875
+ type: Object,
2876
+ required: !0
2877
+ },
2878
+ noPortrait: {
2879
+ type: Boolean
2880
+ }
2881
+ },
2882
+ // emits: ['click', 'dbclick'],
2883
+ emits: {
2884
+ click: null,
2885
+ dbclick: null
2886
+ },
2887
+ setup(e, { emit: t }) {
2888
+ const o = ["sheet", "sheetCard"].includes(e.layout.mode) ? "Sheet" : "", a = Object.values(Ft), n = Q(""), r = A(() => {
2889
+ const g = o ? {
2890
+ choiceSheet: [p.choice, p.choice_english, p.choice_multiple, p.cloze],
2891
+ fillSheet: [p.fill, p.fill_english]
2892
+ } : {
2893
+ choice: [p.choice, p.choice_english, p.choice_multiple, p.cloze],
2894
+ fill: [p.fill, p.fill_english]
2895
+ };
2896
+ return Object.keys(p).reduce((k, w) => ({ ...k, [p[w]]: Object.keys(g).find((H) => g[H].includes(p[w])) || `${w}${o}` }), {});
2897
+ }), l = A(() => [be.one_choice, be.another_choice].includes(e.data.problemType)), i = A(() => {
2898
+ let g = [];
2899
+ return e.data.children.forEach((k) => {
2900
+ let w = g[g.length - 1];
2901
+ (k.polymerId || a.includes(e.data.problemType)) && a.includes(k.problemType) && k.style && (k.style[m[e.layout.mode].choice_a] !== T.choice_1 || k.style[m[e.layout.mode].choice_b] === T.portrait) ? (!w || w.type !== "polymer" || w.polymerId !== k.polymerId) && (g.push({
2902
+ type: "polymer",
2903
+ problemType: k.problemType,
2904
+ polymerId: k.polymerId,
2905
+ styleInfo: k.polymerId ? k.style : e.data.style,
2906
+ children: [],
2907
+ rawChildren: e.data.rawChildren || []
2908
+ }), w = g[g.length - 1]) : (!w || w.type !== "base") && (g.push({
2909
+ type: "base",
2910
+ children: []
2911
+ }), w = g[g.length - 1]), w.children.push(k);
2912
+ }), g = g.map((k) => {
2913
+ var w;
2914
+ if (k.type === "polymer" && k.styleInfo[m[e.layout.mode].choice_a] === T.choice_3) {
2915
+ const H = Math.floor(e.width / (Math.max(...k.children.map((B) => B.optList.length)) * (Te[e.layout.fillSize].value + 9) + (u.value[`h${e.data.id}`] || u.value[((w = k.children[0]) == null ? void 0 : w.polymerId) || ""]) * 14 + 20));
2916
+ if (k.children.length > H * 5) {
2917
+ const B = k.children.length % 4 > 4 ? 5 : 4;
2918
+ return [...Array(Math.ceil(k.children.length / (H * B))).keys()].map((ue, he) => ({
2919
+ ...k,
2920
+ groupIndex: he,
2921
+ children: k.children.slice(he * H * B, (he + 1) * H * B)
2922
+ }));
2923
+ } else
2924
+ return k;
2925
+ } else
2926
+ return k;
2927
+ }).flat(), g;
2928
+ }), c = A(() => {
2929
+ let g = {};
2930
+ return e.data.children.forEach((k) => {
2931
+ k.polymerId && (g[k.polymerId] || (g[k.polymerId] = []), g[k.polymerId][k.polymerOrder || 0] = k.id);
2932
+ }), g;
2933
+ }), u = A(() => {
2934
+ if (a.includes(e.data.problemType)) {
2935
+ const g = (e.data.rawChildren || e.data.children).map((k) => k.subStr.length);
2936
+ return { [`h${e.data.id}`]: Math.max(...g) };
2937
+ } else
2938
+ return Object.keys(c.value).map((g) => {
2939
+ const k = (e.data.rawChildren || e.data.children).filter((w) => w.polymerId === g).map((w) => w.subStr.length);
2940
+ return {
2941
+ [g]: Math.max(...k)
2942
+ };
2943
+ }).reduce((g, k) => ({ ...g, ...k }), {});
2944
+ });
2945
+ return {
2946
+ Gps_cls: C,
2947
+ hoverActive: n,
2948
+ ModuleTag: o,
2949
+ ChoiceType: l,
2950
+ GroupData: i,
2951
+ PolymerData: c,
2952
+ SubWidthInfo: u,
2953
+ ComputName: (g) => g.problemType ? r.value[g.problemType] : "notArea",
2954
+ ComputAbs: (g) => o && [p.slove, p.art].includes(g.problemType),
2955
+ ComputPolymerCls: (g) => [p.decide].includes(g.problemType) ? [] : g.styleInfo[m[e.layout.mode].choice_a] === T.choice_2 ? ["port_view"] : ["grid", g.groupIndex && "mt-8"],
2956
+ ComputPolymerStyle: (g) => {
2957
+ var he, ce;
2958
+ let k = {};
2959
+ const w = Math.max(...(g.rawChildren || g.children).map((L) => L.optList.length)) * (Te[e.layout.fillSize].value + 9) + (u.value[`h${e.data.id}`] || u.value[((he = e.data.children[0]) == null ? void 0 : he.polymerId) || ""]) * 14 + 20, H = Math.floor(e.width / (Math.max(...(g.rawChildren || g.children).map((L) => L.optList.length)) * (Te[e.layout.fillSize].value + 9) + (u.value[`h${e.data.id}`] || u.value[((ce = g.children[0]) == null ? void 0 : ce.polymerId) || ""]) * 14 + 20)), B = Math.min(H, e.data.style[m[e.layout.mode].choice_d] || 10), ue = (e.width - w * B) / (B - 1) - 10;
2960
+ switch (g.styleInfo[m[e.layout.mode].choice_a]) {
2961
+ case T.choice_1:
2962
+ g.styleInfo[m[e.layout.mode].choice_b] === T.portrait && (k = {
2963
+ "grid-auto-flow": e.noPortrait ? "row" : "column",
2964
+ "grid-template-columns": `repeat(${B}, 1fr)`,
2965
+ "grid-template-rows": `repeat(${Math.ceil(g.children.length / B)}, 1fr)`,
2966
+ "column-gap": `${ue}px`
2967
+ });
2968
+ break;
2969
+ case T.choice_3:
2970
+ k = {
2971
+ "grid-template-columns": `repeat(${B}, 1fr)`,
2972
+ "grid-template-rows": `repeat(${Math.ceil(g.children.length / B)}, 1fr)`
2973
+ }, g.styleInfo[m[e.layout.mode].choice_b] === T.portrait && (k = {
2974
+ ...k,
2975
+ "grid-auto-flow": e.noPortrait ? "row" : "column",
2976
+ "column-gap": `${ue}px`
2977
+ });
2978
+ break;
2979
+ }
2980
+ return k;
2981
+ },
2982
+ ComputPolymerItemStyle: (g, k) => {
2983
+ var w;
2984
+ if (a.includes(g.problemType) && g.style[m[e.layout.mode].choice_a] === T.choice_2) {
2985
+ const H = Math.max(Te[e.layout.fillSize].value + 4, (u.value[`h${e.data.id}`] || u.value[((w = g.children[0]) == null ? void 0 : w.polymerId) || ""]) * 14 + 8), B = Math.floor(e.width / (H * g.style[m[e.layout.mode].choice_c] + 10)), ue = (e.width - H * B * g.style[m[e.layout.mode].choice_c]) / (B - 1 || 1);
2986
+ if (!((k + 1) % g.style[m[e.layout.mode].choice_c]) && ((k + 1) % (g.style[m[e.layout.mode].choice_c] * B) || B < 2))
2987
+ return {
2988
+ "margin-right": `${ue}px`
2989
+ };
2990
+ }
2991
+ return {};
2992
+ },
2993
+ ComputStyle: (g, k) => {
2994
+ var H;
2995
+ let w = {};
2996
+ if (!o)
2997
+ return w;
2998
+ if (a.includes(g.problemType)) {
2999
+ let B = {};
3000
+ if (Object.values(Lt).includes(e.data.problemType)) {
3001
+ const ue = Math.max(...(e.data.rawChildren || e.data.children).map((ce) => ce.optList.length)) * (Te[e.layout.fillSize].value + 9) + (u.value[`h${e.data.id}`] || u.value[((H = e.data.children[0]) == null ? void 0 : H.polymerId) || ""]) * 14 + 20, he = Math.min(Math.floor(e.width / (ue + 10)), e.data.style[m[e.layout.mode].choice_d] || 10);
3002
+ B = k % he ? { minWidth: `${ue}px`, marginLeft: `${(e.width - ue * he) / (he - 1) - 5}px` } : { minWidth: `${ue}px` };
3003
+ }
3004
+ w = {
3005
+ ...w,
3006
+ display: "inline-flex",
3007
+ ...B
3008
+ };
3009
+ } else
3010
+ [p.fill, p.fill_english].includes(g.problemType) && (w = {
3011
+ display: g.style[m[e.layout.mode].fill_c] === T.fill_1 ? "flex" : "inline-flex",
3012
+ alignItems: "flex-end",
3013
+ width: `calc(${100 / g.style[m[e.layout.mode].fill_d][g.order || 0]}% - 6px)`
3014
+ // paddingTop: `${10 + item.style[problemLayoutKey[props.layout.mode].fill_e]}px`
3015
+ });
3016
+ return w;
3017
+ },
3018
+ ComputBlock: (g) => {
3019
+ const k = [...a, p.fill, p.fill_english];
3020
+ if (o && (k.includes(g.problemType) || typeof g.groupIndex == "number"))
3021
+ return we;
3022
+ },
3023
+ ComputPayload: (g, k) => {
3024
+ switch (g.problemType) {
3025
+ case p.slove:
3026
+ return { isFirst: !k };
3027
+ default:
3028
+ return {};
3029
+ }
3030
+ },
3031
+ handleHoverIn: (g) => {
3032
+ n.value = g.rootProblemId;
3033
+ },
3034
+ handleHoverOut: (g) => {
3035
+ n.value = "";
3036
+ },
3037
+ handleClick: (g, k) => {
3038
+ e.data.isPolymer || (g.stopPropagation(), t("click", k));
3039
+ },
3040
+ handleDblClick: (g, k) => {
3041
+ e.data.isPolymer || (g.stopPropagation(), t("dbclick", k));
3042
+ }
3043
+ };
3044
+ }
3045
+ }, Vn = ["data-block"], Zn = ["data-tag", "data-block", "data-xine", "onMouseenter", "onMouseleave"], Jn = ["data-tag", "data-block", "data-xine", "onClick", "onDblclick", "onMouseenter", "onMouseleave"], es = { key: 0 };
3046
+ function ts(e, t, o, a, n, r) {
3047
+ const l = Ht("Sub");
3048
+ return s(!0), d(M, null, V(a.GroupData, (i) => (s(), d(M, null, [
3049
+ i.type === "polymer" ? (s(), d("div", {
3050
+ key: 0,
3051
+ "data-block": a.ComputBlock(i),
3052
+ class: te([...a.ComputPolymerCls(i)]),
3053
+ style: G(a.ComputPolymerStyle(i))
3054
+ }, [
3055
+ (s(!0), d(M, null, V(i.children, (c, u) => {
3056
+ var y;
3057
+ return s(), d("div", {
3058
+ class: te(["inline-flex items-center relative rounded-lg border p-1 m-1 hover:bg-gray hover:rounded-md hover:bg-opacity-70 port_item", a.hoverActive === c.rootProblemId && "bg-gray rounded-lg bg-opacity-70", ((y = o.target.value) == null ? void 0 : y.rootProblemId) === c.rootProblemId ? "border-current" : "border-transparent"]),
3059
+ style: G(a.ComputPolymerItemStyle(c, u)),
3060
+ "data-tag": c.__tag__,
3061
+ "data-block": a.ComputBlock(c),
3062
+ "data-xine": a.Gps_cls.item + c._sub,
3063
+ onMouseenter: (O) => a.handleHoverIn(c),
3064
+ onMouseleave: (O) => a.handleHoverOut(c)
3065
+ }, [
3066
+ c.problemType ? (s(), U(l, {
3067
+ key: 0,
3068
+ sub: c.sub,
3069
+ isFull: !!a.ModuleTag,
3070
+ width: a.SubWidthInfo[`h${c.headLineId}`] || a.SubWidthInfo[c.polymerId || ""] || 0,
3071
+ class: te(["sub_item", a.ComputAbs(c) && "absolute left-0 top-3 left_sub"])
3072
+ }, null, 8, ["sub", "isFull", "width", "class"])) : P("", !0),
3073
+ (s(), U(mt(a.ComputName(c)), yt(_t({ item: c, layout: o.layout, ...a.ComputPayload(c, u) })), null, 16))
3074
+ ], 46, Zn);
3075
+ }), 256))
3076
+ ], 14, Vn)) : (s(!0), d(M, { key: 1 }, V(i.children, (c, u) => {
3077
+ var y;
3078
+ return s(), d(M, null, [
3079
+ f("div", {
3080
+ class: te(["flex items-center relative rounded-lg border p-1 m-1 hover:bg-gray hover:rounded-md hover:bg-opacity-70", a.hoverActive === c.rootProblemId && "bg-gray rounded-lg bg-opacity-70", ((y = o.target.value) == null ? void 0 : y.rootProblemId) === c.rootProblemId ? "border-current" : "border-transparent"]),
3081
+ style: G(a.ComputStyle(c, u)),
3082
+ "data-tag": c.__tag__,
3083
+ "data-block": a.ComputBlock(c),
3084
+ "data-xine": a.Gps_cls.item + c._sub,
3085
+ onClick: (O) => a.handleClick(O, c),
3086
+ onDblclick: (O) => a.handleDblClick(O, c),
3087
+ onMouseenter: (O) => a.handleHoverIn(c),
3088
+ onMouseleave: (O) => a.handleHoverOut(c)
3089
+ }, [
3090
+ c.problemType && !a.ComputAbs(c) ? (s(), U(l, {
3091
+ key: 0,
3092
+ sub: c.sub,
3093
+ isFull: !!a.ModuleTag,
3094
+ width: a.SubWidthInfo[`h${c.headLineId}`] || a.SubWidthInfo[c.polymerId || ""] || 0
3095
+ }, null, 8, ["sub", "isFull", "width"])) : P("", !0),
3096
+ (s(), U(mt(a.ComputName(c)), yt(_t({ item: c, layout: o.layout, ...a.ComputPayload(c, u) })), {
3097
+ default: It(() => [
3098
+ K(l, {
3099
+ sub: c.sub,
3100
+ isFull: !!a.ModuleTag,
3101
+ width: a.SubWidthInfo[`h${c.headLineId}`] || a.SubWidthInfo[c.polymerId || ""] || 0
3102
+ }, null, 8, ["sub", "isFull", "width"])
3103
+ ]),
3104
+ _: 2
3105
+ }, 1040))
3106
+ ], 46, Jn),
3107
+ c.polymerId && a.PolymerData[c.polymerId][a.PolymerData[c.polymerId].length - 1] === c.id ? (s(), d("div", es)) : P("", !0)
3108
+ ], 64);
3109
+ }), 256))
3110
+ ], 64))), 256);
3111
+ }
3112
+ const Ge = /* @__PURE__ */ re(Xn, [["render", ts]]), Fe = 200 / 96, Nt = 4, os = 10, N = (e) => (e == null ? void 0 : e.getBoundingClientRect()) || null, le = (e, t) => (t || document.body.querySelector(".__layout__")).querySelector(`*[data-xine="${e}"]`), $e = (e, t) => Array.from((t || document.body.querySelector(".__layout__")).querySelectorAll(`*[data-xine="${e}"]`) || []), as = (e, t, o) => {
3113
+ const a = N(le(`${C.item}${e._sub}`, t));
3114
+ return !(a.top >= o.top + o.height || a.top + a.height < o.top);
3115
+ }, ie = (e, t, o = !1) => !e || !t ? null : {
3116
+ x: e.x - t.x,
3117
+ y: e.y - t.y + (o ? 1 : 0),
3118
+ width: e.width,
3119
+ height: e.height - (o ? 2 : 0)
3120
+ }, Pe = (e, t, o, a = !1, n = !1) => {
3121
+ if (!e)
3122
+ return {
3123
+ x: 0,
3124
+ y: 0,
3125
+ width: 0,
3126
+ height: 0
3127
+ };
3128
+ const r = N(e), l = Math.min(t.height, r.y < t.y ? r.y + r.height - t.y : r.y + r.height > t.y + t.height || n ? t.y + t.height - r.y : r.height);
3129
+ return l > 5 ? {
3130
+ x: r.x - o.x,
3131
+ y: Math.max(r.y, t.y) + (a ? 1 : 0) - o.y,
3132
+ width: r.width,
3133
+ height: l - (a ? 2 : 0)
3134
+ } : null;
3135
+ }, ae = (e, t = !1) => {
3136
+ if (!e)
3137
+ return null;
3138
+ const o = t ? Nt : 0, a = e || { x: 0, y: 0, width: 0, height: 0 };
3139
+ return {
3140
+ x: Math.round(a.x * Fe - o),
3141
+ y: Math.round(a.y * Fe - o),
3142
+ width: Math.round(a.width * Fe + o * 2),
3143
+ height: Math.round(a.height * Fe + o * 2)
3144
+ };
3145
+ }, Bt = (e, t = C.en_num) => {
3146
+ const o = le(t);
3147
+ if (!o)
3148
+ return null;
3149
+ const a = {
3150
+ // area: GetPosition(el, config.pageDom[0]),
3151
+ area: ie(N(o), N(e.pageDom[0])),
3152
+ list: $e(C.en_num_group, o).map((n) => $e(C.en_num_item, n).map((r) => ie(N(r), N(e.pageDom[0]), !0)))
3153
+ };
3154
+ return {
3155
+ choiceGridSequenceNOList: [...Array(10).keys()],
3156
+ yRowOffset: Math.round((a.list[1][0].y - a.list[0][0].y - a.list[0][0].height) * Fe),
3157
+ firstChoicePosition: ae(a.list[0][0]),
3158
+ crosswised: !0,
3159
+ choiceQuestionPosition: ae(a.area),
3160
+ choiceQuestionCount: a.list.length,
3161
+ xColOffset: Math.round((a.list[0][1].x - a.list[0][0].x - a.list[0][0].width) * Fe),
3162
+ questionNOList: [...Array(a.list.length).keys()].map((n, r) => r + 1)
3163
+ };
3164
+ }, ls = (e) => ({
3165
+ cardSizeType: po[e.layout.paper],
3166
+ cardColumnCount: e.layout.column,
3167
+ cardColumnCount2: e.layout.backColumn,
3168
+ doubleCard: !0,
3169
+ paperWidth: Math.round(b[e.layout.paper].width * Fe),
3170
+ paperHeight: Math.round(b[e.layout.paper].height * Fe)
3171
+ }), ns = (e) => {
3172
+ const t = N(e.pageDom[0]), o = N(e.pageDom[1]), a = (n) => {
3173
+ var l;
3174
+ const r = e.layout.backColumn > 2 ? {
3175
+ trdLeftTopPos: ae(ie(N($e(`${C.point}t`, e.pageDom[n])[1]), N(e.pageDom[n]))),
3176
+ trdLeftBottomPos: ae(ie(N($e(`${C.point}b`, e.pageDom[n])[1]), N(e.pageDom[n])))
3177
+ } : {};
3178
+ return (l = Oe.find((i) => i.code === e.layout.paper)) != null && l.isMultCol ? {
3179
+ secLeftTopPos: ae(ie(N($e(`${C.point}t`, e.pageDom[n])[0]), N(e.pageDom[n]))),
3180
+ secLeftBottomPos: ae(ie(N($e(`${C.point}b`, e.pageDom[n])[0]), N(e.pageDom[n]))),
3181
+ ...r
3182
+ } : null;
3183
+ };
3184
+ return {
3185
+ // 取第一/二页定位点信息
3186
+ leftTopPos: ae(ie(N(le(`${C.point}lt`, e.pageDom[0])), t)),
3187
+ rightTopPos: ae(ie(N(le(`${C.point}rt`, e.pageDom[0])), t)),
3188
+ leftBottomPos: ae(ie(N(le(`${C.point}lb`, e.pageDom[0])), t)),
3189
+ rightBottomPos: ae(ie(N(le(`${C.point}rb`, e.pageDom[0])), t)),
3190
+ // waistAuxAnchorInfo: getAuxInfo(0, true),
3191
+ verticalAuxInfo: [
3192
+ ae(ie(N(le(`${C.point}l`, e.pageDom[0])), t)),
3193
+ ae(ie(N(le(`${C.point}r`, e.pageDom[0])), t))
3194
+ ],
3195
+ verticalAuxInfo2: e.bindWidth && e.pageDom[1] ? [
3196
+ ae(ie(N(le(`${C.point}l`, e.pageDom[1])), o)),
3197
+ ae(ie(N(le(`${C.point}r`, e.pageDom[1])), o))
3198
+ ] : null,
3199
+ auxAnchorInfo: a(0),
3200
+ auxAnchorInfo2: e.pageDom[1] ? a(1) : null
3201
+ };
3202
+ }, ss = (e) => {
3203
+ let t = 10;
3204
+ if (e.pageDom[1]) {
3205
+ const a = le(`${C.page_item}0`, e.pageDom[1]).getBoundingClientRect();
3206
+ t = le(`${C.page_item}1`, e.pageDom[1]).getBoundingClientRect().left - a.left - a.width;
3207
+ }
3208
+ let o = ie(N(le(C.page, e.pageDom[e.pageTotal - 1])), N(e.pageDom[e.pageTotal - 1]));
3209
+ return o = { ...o, y: o.y % (b[e.layout.paper].height + (e.pageMargin || 0)) }, [
3210
+ {
3211
+ // 固定值
3212
+ choiceQuestionCount: 1,
3213
+ // 固定值
3214
+ questionNOList: [1],
3215
+ // 页码区块位置,部分需动态获取 x y width height
3216
+ choiceQuestionPosition: ae(o, !0),
3217
+ // 页码点区块第一个页码点的位置,部分需动态获取
3218
+ firstChoicePosition: ae(ie(N(le(`${C.page_item}0`, e.pageDom[e.pageTotal - 1])), N(e.pageDom[e.pageTotal - 1]))),
3219
+ // 页码点最大值,展开为数组
3220
+ choiceGridSequenceNOList: ct.filter((a, n) => n < e.pageTotal),
3221
+ // 排列方向
3222
+ crosswised: !0,
3223
+ // 两个页码点之间的间距,纵排此项赋值
3224
+ yRowOffset: 0,
3225
+ // 横排此项赋值
3226
+ xColOffset: Math.round(t * Fe)
3227
+ }
3228
+ ];
3229
+ }, is = (e) => {
3230
+ const t = le(C.lack, e.pageDom[0]);
3231
+ return t ? {
3232
+ // 固定值
3233
+ choiceQuestionCount: 1,
3234
+ // 固定值
3235
+ questionNOList: [1],
3236
+ // 方框业务坐标
3237
+ choiceQuestionPosition: ae(ie(N(t), N(e.pageDom[0])), !0),
3238
+ // 数据坐标
3239
+ firstChoicePosition: ae(ie(N(t), N(e.pageDom[0]))),
3240
+ // 固定值
3241
+ choiceGridSequenceNOList: [
3242
+ "true"
3243
+ ],
3244
+ // 以下固定值
3245
+ crosswised: !0,
3246
+ yRowOffset: 0,
3247
+ xColOffset: 0
3248
+ } : null;
3249
+ }, rs = (e) => {
3250
+ let t = ie(N(le(C.en_code, e.pageDom[0])), N(e.pageDom[0]));
3251
+ if (e.bindWidth) {
3252
+ const o = t.height;
3253
+ t.height = t.width, t.width = o;
3254
+ }
3255
+ return ae(t);
3256
+ }, cs = (e) => {
3257
+ const t = le(C.write_view, e.pageDom[0]);
3258
+ if (!t)
3259
+ return null;
3260
+ const o = $e(C.score_item, t);
3261
+ return {
3262
+ id: "0",
3263
+ problemType: p.slove,
3264
+ position: ie(N(t), N(e.pageDom[0])),
3265
+ scoreList: o.map((a, n) => ({
3266
+ position: ie(N(o[n]), N(e.pageDom[0])),
3267
+ itemPosition: {
3268
+ width: o[n].offsetWidth
3269
+ },
3270
+ score: Math.abs(parseFloat(o[n].innerText))
3271
+ }))
3272
+ };
3273
+ }, ds = (e, t) => {
3274
+ const o = [p.slove, p.art, p.synthesis, p.fill, p.fill_english, p.mix], a = os + Nt, n = (r) => parseFloat(r.toFixed(2));
3275
+ return t.flat().filter((r) => o.includes(r.problemType) && r.colIndex < 2).map((r) => {
3276
+ switch (r.problemType) {
3277
+ case p.fill:
3278
+ case p.fill_english:
3279
+ return e.layout.notHandReadFlag && r.isHiddenContent ? [] : r.children.map((l) => {
3280
+ const i = l.scorePosition;
3281
+ return {
3282
+ sub: l.id,
3283
+ position: {
3284
+ x: n(i.x - l.position.x),
3285
+ y: n(i.y - l.position.y) + a * (r.colIndex - 1),
3286
+ width: i.width,
3287
+ height: i.height
3288
+ }
3289
+ };
3290
+ });
3291
+ case p.slove:
3292
+ case p.art:
3293
+ return e.notHandReadFlag ? [] : [{
3294
+ sub: r.id,
3295
+ position: {
3296
+ x: n(r.scoreList[0].position.x - r.position.x),
3297
+ y: n(r.scoreList[0].position.y - r.position.y) + a * (r.colIndex - 1),
3298
+ width: r.scoreList.map((l) => l.position.width).reduce((l, i) => l + i, 0),
3299
+ height: r.scoreList[0].position.height
3300
+ }
3301
+ }];
3302
+ case p.mix:
3303
+ return e.notHandReadFlag && r.isHiddenContent ? [] : (r.children || []).filter((l) => [p.fill, p.fill_english, p.easy_slove].includes(l.problemType)).map((l) => [p.easy_slove].includes(l.problemType) ? {
3304
+ sub: l.id,
3305
+ position: {
3306
+ x: n(l.scoreList[0].position.x - (l.isHiddenContent ? l.position.x : r.position.x)),
3307
+ y: n(l.scoreList[0].position.y - (l.isHiddenContent ? l.position.y : r.position.y)) + a * (r.colIndex - 1),
3308
+ width: l.scoreList.map((i) => i.position.width).reduce((i, c) => i + c, 0),
3309
+ height: l.position.height
3310
+ }
3311
+ } : {
3312
+ sub: l.id,
3313
+ position: {
3314
+ x: n(l.scorePosition.x - (l.isHiddenContent ? l.rawPosition.x : r.position.x)),
3315
+ y: n(l.scorePosition.y - (l.isHiddenContent ? l.rawPosition.y : r.position.y)) + a * (r.colIndex - 1),
3316
+ width: l.scorePosition.width,
3317
+ height: l.scorePosition.height
3318
+ }
3319
+ });
3320
+ }
3321
+ }).flat();
3322
+ }, us = (e, t) => {
3323
+ let o = 0, a = {};
3324
+ return [...Array(e.pageDom.length).keys()].map((n) => {
3325
+ const r = Math.floor(n / 2) * (e.layout.column + e.layout.backColumn) + (n % 2 ? e.layout.column : 0);
3326
+ return [...Array(n % 2 ? e.layout.backColumn : e.layout.column).keys()].filter((l, i) => r + i < t.length).map((l, i) => {
3327
+ const c = e.pageDom[n], u = N(c), y = e.colDom[r + i], O = N(y), h = e.colViewDom[r + i], F = N(h), Y = t[r + i].data.map((E) => E.children.filter((D) => D.problemType)).flat(), J = t[r + i].data.filter((E) => [be.one_choice, be.another_choice].includes(E.problemType) && E.children.length).map((E) => {
3328
+ const D = le(`${C.choice}${E.id}`, y);
3329
+ return D ? {
3330
+ id: `${++o}`,
3331
+ baseIndex: parseInt(E.children[0]._sub),
3332
+ position: ie(N(D), u),
3333
+ problemType: E.problemType,
3334
+ isOneChoice: !0,
3335
+ optList: $e(C.fill, D).map((v, z) => ({
3336
+ id: `${o}.${z + 1}`,
3337
+ position: ie(N(v), u)
3338
+ })).filter((v) => v.position)
3339
+ } : {};
3340
+ }).filter((E) => E.position);
3341
+ return Y.filter((E) => as(E, y, O)).map((E, D, v) => {
3342
+ let z = {};
3343
+ a[E._sub] ? a[E._sub] += 1 : a[E._sub] = 1;
3344
+ const ne = le(`${C.item}${E._sub}`, y);
3345
+ switch (E.problemType) {
3346
+ case p.choice:
3347
+ case p.choice_english:
3348
+ case p.choice_multiple:
3349
+ case p.cloze:
3350
+ z = {
3351
+ score: E.score,
3352
+ isColumn: E.style[m[e.layout.mode].choice_a] !== T.choice_2,
3353
+ optList: E.optList.map((w, H) => ({
3354
+ id: `${E._sub}.${H + 1}`,
3355
+ position: Pe(le(`${C.fill}${H}`, ne), F, u)
3356
+ })).filter((w) => w.position)
3357
+ };
3358
+ break;
3359
+ case p.decide:
3360
+ z = {
3361
+ optList: [0, 1].map((w, H) => ({
3362
+ id: `${E._sub}.${H}`,
3363
+ position: Pe(le(`${C.fill}${H}`, ne), F, u)
3364
+ })).filter((w) => w.position)
3365
+ };
3366
+ break;
3367
+ case p.fill:
3368
+ case p.fill_english:
3369
+ const R = $e(C.fill, ne), g = $e(C.fill_line, ne);
3370
+ z = {
3371
+ children: [E.score].flat().map((w, H, B) => ({
3372
+ id: B.length > 1 ? `${E._sub}.${H + 1}` : E._sub,
3373
+ score: w,
3374
+ problemType: E.problemType,
3375
+ isHiddenContent: !E.style[m[e.layout.mode].fill_b],
3376
+ position: Pe(ne, F, u),
3377
+ scorePosition: Pe(R[H], F, u),
3378
+ answerPosition: Pe(g[H], F, u)
3379
+ })).filter((w) => w.position)
3380
+ };
3381
+ break;
3382
+ case p.slove:
3383
+ case p.easy_slove:
3384
+ case p.art:
3385
+ const k = le(C.score, ne);
3386
+ z = {
3387
+ scoreList: k ? [le(C.score_tenbit, k), le(C.score_base, k), le(C.score_half, k)].map((w, H) => {
3388
+ if (!w)
3389
+ return {};
3390
+ const B = $e(C.score_item, w);
3391
+ return {
3392
+ position: Pe(w, F, u, !0),
3393
+ itemPosition: {
3394
+ width: B[0].offsetWidth
3395
+ },
3396
+ score: B.map((ue) => Math.abs(parseFloat(ue.innerText)) * (H ? 1 : 10))
3397
+ };
3398
+ }).filter((w) => w.position) : null
3399
+ };
3400
+ }
3401
+ return {
3402
+ id: E._sub,
3403
+ elId: E.id,
3404
+ colIndex: a[E._sub],
3405
+ problemType: E.problemType,
3406
+ position: Pe(ne, F, u, !1, D === v.length - 1 && [p.slove].includes(E.problemType)),
3407
+ ...z
3408
+ };
3409
+ }).concat(J).filter((E) => E.position);
3410
+ });
3411
+ }).map((n) => n.flat());
3412
+ }, hs = (e) => {
3413
+ const t = (a = e, n = !1) => ({
3414
+ // 块位置
3415
+ sectionPosition: ae(a.position, !0),
3416
+ // 块ID,前端生成,同一道题同一个ID
3417
+ sectionID: a.id,
3418
+ // 块内序号ID,按切块自增
3419
+ secitonSeqID: a.colIndex || 1,
3420
+ // 需要保存文件,固定值
3421
+ needSavedFile: !!n || [p.mix].includes(e.problemType),
3422
+ // 题型
3423
+ cuttingSectionQuestionType: mo[a.problemType || e.problemType]
3424
+ });
3425
+ let o = {};
3426
+ switch (e.problemType) {
3427
+ case p.choice:
3428
+ case p.choice_english:
3429
+ case p.choice_multiple:
3430
+ case p.cloze:
3431
+ case p.decide:
3432
+ o = {
3433
+ choiceQuestionPartialSectionList: [{
3434
+ ...t(e, !0),
3435
+ // 选项数量
3436
+ unitCount: e.optList.length,
3437
+ // 选项是否为横排
3438
+ crosswised: e.isColumn,
3439
+ // 单个选项的信息数组
3440
+ choiceUnitSectionList: e.optList.map((a, n) => ({
3441
+ ...t(a, !0),
3442
+ choicePosition: ae(a.position),
3443
+ choiceResult: [p.decide].includes(e.problemType) ? ho[n] : ct[n]
3444
+ }))
3445
+ }]
3446
+ };
3447
+ break;
3448
+ case p.fill:
3449
+ case p.fill_english:
3450
+ o = {
3451
+ subjectiveQuestionSectionList: [{
3452
+ ...t(e, !0),
3453
+ // 子题数 最小1 填空题取空数
3454
+ unitCount: (e.children || [e]).length,
3455
+ // 每个小题的切图块
3456
+ singleBlankSectionList: (e.children || [e]).map((a) => ({
3457
+ ...t(a, !0),
3458
+ answerPosition: ae(a.answerPosition, !0),
3459
+ correctFrame: a.scorePosition ? [{
3460
+ correctSectionPosition: ae(a.scorePosition, !0),
3461
+ firstBlockPostion: ae(a.scorePosition),
3462
+ gridScoresList: [a.score].flat(),
3463
+ lineMeanGetScore: !1,
3464
+ weight: 1
3465
+ }] : []
3466
+ }))
3467
+ }]
3468
+ };
3469
+ break;
3470
+ case p.slove:
3471
+ case p.easy_slove:
3472
+ case p.art:
3473
+ o = {
3474
+ subjectiveQuestionSectionList: [{
3475
+ ...t(e, !0),
3476
+ // 子题数 最小1 填空题取空数
3477
+ unitCount: 1,
3478
+ // 每个小题的切图块
3479
+ singleBlankSectionList: [{
3480
+ ...t(e, !0),
3481
+ answerPosition: null,
3482
+ correctFrame: (e.scoreList || []).map((a) => ({
3483
+ correctSectionPosition: ae(a.position, !0),
3484
+ firstBlockPostion: ae({ ...a.position, ...a.itemPosition }),
3485
+ gridScoresList: [a.score].flat(),
3486
+ lineMeanGetScore: !0,
3487
+ weight: 1
3488
+ }))
3489
+ }]
3490
+ }]
3491
+ };
3492
+ break;
3493
+ case p.synthesis:
3494
+ case p.mix:
3495
+ break;
3496
+ case be.one_choice:
3497
+ case be.another_choice:
3498
+ o = {
3499
+ choiceQuestionPartialSectionList: [{
3500
+ ...t(e),
3501
+ // 选项数量
3502
+ unitCount: e.optList.length,
3503
+ // 选做题标记
3504
+ useForSelectable: !0,
3505
+ // 选项横排
3506
+ crosswised: !0,
3507
+ // 单个选项的信息数组
3508
+ choiceUnitSectionList: e.optList.map((a, n) => ({
3509
+ ...t(a),
3510
+ choicePosition: ae(a.position),
3511
+ choiceResult: (e.baseIndex + n).toString()
3512
+ }))
3513
+ }]
3514
+ };
3515
+ break;
3516
+ }
3517
+ return {
3518
+ ...t(e, !e.isOneChoice),
3519
+ ...o
3520
+ };
3521
+ }, ps = (e, t) => [...Array(e.pageTotal).keys()].map((o) => ({
3522
+ // 当前页数
3523
+ pageIndexID: o + 1,
3524
+ // 保留字段
3525
+ hasCardSerialNumber: !0,
3526
+ // 页码点信息
3527
+ pageIndexDefinitionList: [{
3528
+ // 固定值
3529
+ questionNo: 1,
3530
+ // 固定值
3531
+ splitFileList: [],
3532
+ // 依据当前页码设置答案
3533
+ answerResultList: ct.slice(e.layout.pagePoint === ze.right_up ? e.pageTotal - o - 1 : 0, e.layout.pagePoint === ze.right_up ? e.pageTotal : o + 1),
3534
+ // 固定值
3535
+ noAnswerTag: !1
3536
+ }],
3537
+ // 按题切块信息
3538
+ cardCuttingSectionList: t[o].map((a) => hs(a)).flat()
3539
+ })), ms = (e, t) => {
3540
+ var a;
3541
+ const o = N(e.pageDom[0]);
3542
+ return {
3543
+ // 正文code
3544
+ cardID: e.textCode,
3545
+ // 正文名称
3546
+ cardName: e.title,
3547
+ // 班级名称,暂未使用
3548
+ gradeName: "",
3549
+ // 学科名称,暂未使用
3550
+ subjectName: "",
3551
+ // true:表示每个页面都要自带页面号确定信息 false:表示可以根据双面扫描下解析出来的另一面来推定
3552
+ sideAllSelfIntp: !1,
3553
+ // 填涂式考号,与条码式考号互斥
3554
+ adminssionTicketID: Bt(e),
3555
+ // 试卷二维码
3556
+ cardSerialNumber: {
3557
+ // 条形码虚线框位置, x, y, width, height
3558
+ encodePictureArea: ae(ie(N(le(C.art_code, e.pageDom[0])), o), !0),
3559
+ qrCodePosition: ae(ie(N(le(C.art_code, e.pageDom[0])), o)),
3560
+ // 条形码或二维码,不确定,固定此值
3561
+ pictureType: "TYPE_QRCODE"
3562
+ },
3563
+ // 条码式考号
3564
+ studentID: {
3565
+ // 条形码虚线框位置, x, y, width, height
3566
+ // encodePictureArea: ComputPoint(GetPosition(GetEl(Gps_cls.en_code, config.pageDom[0]), config.pageDom[0])),
3567
+ encodePictureArea: rs(e),
3568
+ // ComputPoint(GetPosition(GetEl(Gps_cls.en_code, config.pageDom[0]), config.pageDom[0])),
3569
+ // 固定值
3570
+ qrCodePosition: null,
3571
+ // 条形码或二维码,不确定,固定此值
3572
+ pictureType: "TYPE_NONE"
3573
+ },
3574
+ // 表示一个正确ID号的位数,暂未使用,固定此值
3575
+ idLength: 12,
3576
+ // 用来表示老师布置题的标识,固定值
3577
+ onlyAssignQuestions: null,
3578
+ // 有UserID的页面序号,一般情况是奇数面,例如1、3、5
3579
+ userRegInfoIndexList: [...Array(Math.ceil(e.pageTotal / 2) * 2).keys()].filter((n) => n % 2),
3580
+ // 有缺考标记的页面序号,一般情况是第一面,固定值1
3581
+ absenceInfoIndexList: le(C.lack, e.pageDom[0]) ? [...Array(Math.ceil(e.pageTotal / 2) * 2).keys()].filter((n) => n % 2) : null,
3582
+ // 有试卷ID的页面号列表,一般情况是第一面,该值为0时不校验
3583
+ snInfoIndexList: [...Array(Math.ceil(e.pageTotal / 2) * 2).keys()].filter((n) => n % 2),
3584
+ // 哪些面有选做老师布置题的信息,固定值
3585
+ onlyAssignInfoList: [],
3586
+ // 页面布局信息
3587
+ layerType: ls(e),
3588
+ // 定位点信息
3589
+ ...ns(e),
3590
+ pottedLineXPos: e.bindWidth ? (a = ae(ie(N(le(C.bind_line, e.pageDom[0])), o))) == null ? void 0 : a.x : 0,
3591
+ // 页码点信息
3592
+ pageSideAnchorsList: ss(e),
3593
+ // 缺考标记
3594
+ absenceMark: is(e),
3595
+ // 业务数据
3596
+ oneFullPageCardList: t
3597
+ };
3598
+ }, ys = (e) => {
3599
+ const { config: t, data: o } = e, a = cs(t), n = us(t, o);
3600
+ a && n[0].unshift(a);
3601
+ const r = ds(t, n), l = ps(t, n), i = ms(t, l), c = Bt(t, C.en_num_view) || {};
3602
+ return {
3603
+ engineData: i,
3604
+ pageTotal: t.pageTotal,
3605
+ format: b[t.layout.paper],
3606
+ localData: r,
3607
+ extendInfo: { shortCoordinate: c }
3608
+ };
3609
+ }, _s = { class: "layt-moni_view" }, gs = { class: "layt-moni_content" }, fs = { class: "layt-moni_icon" }, bs = { class: "layt-moni_msg" }, vs = {
3610
+ key: 0,
3611
+ class: "layt-moni_err_view"
3612
+ }, ws = { class: "layt-moni_err_item_msg" }, xs = ["onClick"], ks = /* @__PURE__ */ Z({
3613
+ __name: "index",
3614
+ props: {
3615
+ ColList: {},
3616
+ ColDom: {},
3617
+ ImgData: {},
3618
+ TxtData: {}
3619
+ },
3620
+ emits: ["delAbsImgItem", "delAbsTxtItem", "changeLayoutStatus"],
3621
+ setup(e, { emit: t }) {
3622
+ const o = e, a = Q([]);
3623
+ De(() => [o.ColList, o.ImgData, o.TxtData], () => {
3624
+ a.value = [], setTimeout(() => {
3625
+ var u;
3626
+ o.ColList.forEach((y, O) => {
3627
+ y.data.map((h) => h.children).flat().filter((h) => [p.slove, p.art].includes(h.problemType) && !h.chunk).forEach((h) => {
3628
+ var E;
3629
+ const F = (E = o.ColDom[O].querySelector(`*[data-tag="${h.__tag__}"]`)) == null ? void 0 : E.querySelector(`*[data-xine="${C.score}"]`);
3630
+ if (!F)
3631
+ return;
3632
+ F.classList.remove("err_lack");
3633
+ const Y = window.getComputedStyle(F), J = [...Array.from(F.children)].map((D) => D.offsetWidth).reduce((D, v) => D + v, 0);
3634
+ F.offsetWidth - parseFloat(Y.borderLeft) - parseFloat(Y.borderRight) < J && (a.value.push({ msg: `${h.subStr}题打分条超长` }), F.classList.add("err_lack"), F.title = "打分条超长,请调整排版或使用自编打分条");
3635
+ });
3636
+ });
3637
+ const l = (u = document.querySelector(".__layout__")) == null ? void 0 : u.getBoundingClientRect();
3638
+ if (!l)
3639
+ return;
3640
+ let i = [], c = [];
3641
+ o.ImgData.forEach((y) => {
3642
+ (y.left + y.width > l.width || y.top + y.height > l.height) && i.push(y);
3643
+ }), o.TxtData.forEach((y) => {
3644
+ (y.left + y.width > l.width || y.top + y.height > l.height) && c.push(y);
3645
+ }), i.length && a.value.push({ type: "absImg", value: i, msg: `${i.length}张插入图片溢出`, fn: n }), c.length && a.value.push({ type: "absTxt", value: c, msg: `${c.length}条插入文本溢出`, fn: r }), t("changeLayoutStatus", a.value.length ? "error" : "ok");
3646
+ }, 500);
3647
+ });
3648
+ const n = () => {
3649
+ var i;
3650
+ (((i = a.value.find((c) => c.type === "absImg")) == null ? void 0 : i.value) || []).forEach((c) => t("delAbsImgItem", c));
3651
+ }, r = () => {
3652
+ var i;
3653
+ (((i = a.value.find((c) => c.type === "absTxt")) == null ? void 0 : i.value) || []).forEach((c) => t("delAbsTxtItem", c));
3654
+ };
3655
+ return (l, i) => (s(), d("div", _s, [
3656
+ f("div", gs, [
3657
+ f("div", {
3658
+ class: te(["layt-moni_status", a.value.length ? "layt-moni_err" : "layt-moni_success"])
3659
+ }, null, 2),
3660
+ f("div", {
3661
+ class: te(["layt-moni_info", a.value.length ? "layt-moni_err" : "layt-moni_success"])
3662
+ }, [
3663
+ f("span", fs, [
3664
+ K(_e, {
3665
+ width: 1.6,
3666
+ name: a.value.length ? "wrong" : "right"
3667
+ }, null, 8, ["name"])
3668
+ ]),
3669
+ f("span", bs, "排版" + X(a.value.length ? "异常" : "良好"), 1)
3670
+ ], 2),
3671
+ a.value.length ? (s(), d("ul", vs, [
3672
+ (s(!0), d(M, null, V(a.value, (c, u) => (s(), d("li", {
3673
+ key: u,
3674
+ class: "layt-moni_err_item"
3675
+ }, [
3676
+ f("span", ws, X(c.msg), 1),
3677
+ c.fn ? (s(), d("span", {
3678
+ key: 0,
3679
+ class: "layt-moni_err_item_fn",
3680
+ onClick: c.fn
3681
+ }, X(c.btnTxt || "删除"), 9, xs)) : P("", !0)
3682
+ ]))), 128))
3683
+ ])) : P("", !0)
3684
+ ])
3685
+ ]));
3686
+ }
3687
+ });
3688
+ const Cs = /* @__PURE__ */ re(ks, [["__scopeId", "data-v-90e967d8"]]), de = (e) => e == null ? void 0 : e.getBoundingClientRect(), $t = (e, t) => t.querySelector(`*[data-tag="${e}"]`), nt = (e) => [...e.children || []].filter((t) => t.nodeName.toLowerCase() !== "br" && ![Ee, ut].includes(t.dataset.block || "")), Xe = (e) => e.previousElementSibling ? [Ee, ut].includes(e.previousElementSibling.dataset.block || "") ? Xe(e.previousElementSibling) : e.previousElementSibling : e.parentElement ? Xe(e.parentElement) : document.body, $s = (e) => {
3689
+ const t = e.parentElement, o = document.createElement("span");
3690
+ return o.style.cssText = "display: block; width: 100%; flex-shrink: 0; margin-bottom: 3px", o.dataset.block = ut, t.style.flexWrap = "wrap", e.nextElementSibling ? t.insertBefore(o, e.nextElementSibling) : t.appendChild(o), o;
3691
+ }, Ss = (e, t, o, a) => {
3692
+ let n = null;
3693
+ if (e.dataset.block === dt && !e.dataset.used) {
3694
+ const r = window.getComputedStyle(e);
3695
+ t - parseFloat(r.paddingTop) - parseFloat(r.borderTop) - 1 < 50 && (n = e.parentElement && e.parentElement.dataset.block === el ? e.parentElement : e), e.dataset.used = "1";
3696
+ } else
3697
+ e.dataset.block === kt ? n = e.parentElement : e.dataset.block === tl && !e.dataset.used ? e.offsetHeight < o - 20 ? n = e.parentElement : e.dataset.used = "1" : e.dataset.block === we && !e.dataset.used ? e.offsetHeight > o || t > o / 3 && e.offsetHeight + (e.offsetHeight > o / 3 ? 0 : 18) > t && !e.querySelector(`img[data-block=${kt}]`) ? e.dataset.used = "1" : n = e : (e.dataset.block === ol && a || al.includes(e.tagName.toLowerCase())) && (n = e);
3698
+ return n;
3699
+ }, St = (e, t, o) => {
3700
+ const a = e.textContent || "", n = a.split("").map((c) => `<span>${c}</span>`).join("");
3701
+ e.innerHTML = n;
3702
+ const r = [...Array.from(e.children)].findIndex((c) => de(c).top - t + c.offsetHeight > o);
3703
+ if (!r)
3704
+ return e.innerHTML = a, e;
3705
+ const l = document.createElement("span");
3706
+ l.textContent = a.slice(0, r);
3707
+ const i = document.createElement("span");
3708
+ return i.textContent = a.slice(r), e.innerHTML = "", e.append(l, i), l;
3709
+ }, st = (e, t, o) => {
3710
+ const a = nt("", e.parentElement), n = a.findIndex((l) => l === e);
3711
+ let r = a.filter((l, i) => de(l).top + l.offsetHeight - 1 < de(e).top || i < n && de(l).top < de(e).top).reverse()[0];
3712
+ return r || (r = Xe(e), de(r).top + r.offsetHeight - t > o && (r = st(r, t, o))), r;
3713
+ }, Tt = (e, t, o, a) => {
3714
+ const n = (l, i = o) => {
3715
+ var J, E, D;
3716
+ const c = l.map((v) => {
3717
+ const z = de(v);
3718
+ return {
3719
+ el: v,
3720
+ top: z.top - t,
3721
+ left: z.left
3722
+ };
3723
+ }), u = c.filter((v) => v.el.offsetHeight + v.top > i).sort((v, z) => v.top - z.top), y = (J = u.shift()) == null ? void 0 : J.el;
3724
+ if (!y) {
3725
+ const v = document.createElement("div");
3726
+ return (E = l[0].parentElement) == null || E.appendChild(v), v.style.height = i - (de(v).top - t) + "px", v;
3727
+ }
3728
+ const O = de(y), h = O.top - t, F = O.left;
3729
+ if (u.filter((v) => v.top < h + y.offsetHeight && v.top + v.el.offsetHeight - 1 > h && (v.left + v.el.offsetWidth - 1 < F || v.left + 1 > F + y.offsetWidth)).length) {
3730
+ const v = (D = c.filter((z) => z.top < h).pop()) == null ? void 0 : D.el;
3731
+ if (v != null && v.children.length) {
3732
+ const z = nt(v);
3733
+ return n(z, h) || v;
3734
+ } else
3735
+ return v ? de(v).top - t + v.offsetHeight > h ? St(v, t, h) : v : st(y.parentElement, t, h);
3736
+ } else {
3737
+ const v = getComputedStyle(y);
3738
+ if (h + (parseFloat(v.fontSize) + (parseFloat(v.lineHeight) - parseFloat(v.fontSize)) / 2) > i)
3739
+ return st(y, t, h);
3740
+ const z = Ss(y, i - h, i, a);
3741
+ if (z)
3742
+ return Xe(z);
3743
+ if (y.children.length) {
3744
+ const ne = nt(y);
3745
+ return n(ne, i);
3746
+ } else
3747
+ return St(y, t, i);
3748
+ }
3749
+ }, r = n([e]);
3750
+ return { cut: $s(r), targetEl: r };
3751
+ }, Ts = (e) => {
3752
+ const { el: t, data: o, column: a, backColumn: n, getColSize: r, change: l } = e;
3753
+ if (!t || !o.length) {
3754
+ l([], !0);
3755
+ return;
3756
+ }
3757
+ console.time("layout");
3758
+ const i = de(t).top;
3759
+ let c = {}, u = 0, y = 0;
3760
+ const O = (v) => {
3761
+ const z = v % (a + n), ne = Math.floor(v / (a + n)) * 2 + (z >= a ? 1 : 0), R = r(v, ne);
3762
+ c = {
3763
+ top: i,
3764
+ width: parseFloat(R.width),
3765
+ height: parseFloat(R.height)
3766
+ };
3767
+ };
3768
+ let h = [], F = 0;
3769
+ const Y = () => {
3770
+ O(h.length), t.style.width = `${c.width}px`, h.push({
3771
+ top: 0,
3772
+ data: [],
3773
+ width: c.width,
3774
+ height: c.height
3775
+ }), l([...h]);
3776
+ };
3777
+ Y();
3778
+ const J = (v) => {
3779
+ const z = getComputedStyle(v);
3780
+ return de(v).top - c.top + parseFloat(z.borderTop) + parseFloat(z.paddingTop) + parseFloat(z.lineHeight) > h[h.length - 1].height;
3781
+ }, E = (v) => {
3782
+ const z = getComputedStyle(v);
3783
+ return de(v).top + v.offsetHeight - c.top - (v.dataset.block === we ? 0 : parseFloat(z.paddingBottom) - parseFloat(z.borderBottom)) <= h[h.length - 1].height;
3784
+ }, D = (v = o[F]) => {
3785
+ if (F >= o.length || !v) {
3786
+ l([...h], !0), console.timeEnd("layout"), h = [], u = 0;
3787
+ return;
3788
+ }
3789
+ h[h.length - 1].data.push(v), l([...h]), window.requestAnimationFrame(() => {
3790
+ const z = $t(v.__tag__, t), ne = !v.isHidden && de(z);
3791
+ let R = null;
3792
+ if (y) {
3793
+ const g = z.querySelector(`*[data-hutkey="${y}"]`), k = de(g);
3794
+ h[h.length - 1].top = c.top - k.top, h[h.length - 1].height = c.height - h[h.length - 1].top, y = 0;
3795
+ }
3796
+ if (ne && ne.height + ne.top - c.top > h[h.length - 1].height)
3797
+ if (v.problemType)
3798
+ h[h.length - 1].data.pop(), Y(), D(v);
3799
+ else if (E(z))
3800
+ Y(), F++, D();
3801
+ else if (J(z))
3802
+ h[h.length - 1].data.pop(), Y(), D(v);
3803
+ else {
3804
+ R = Tt(z, c.top, h[h.length - 1].height, h.length % (a + n) >= a);
3805
+ const g = z.querySelector(`*[data-content="${v.id}"]`);
3806
+ h[h.length - 1].height = de(R.cut).top - c.top, Y(), g != null && g.contains(R.cut) ? (y = Date.now(), R.cut.dataset.hutkey = y, D({ ...v, content: g.innerHTML })) : (h[h.length - 1].data.pop(), D(v));
3807
+ }
3808
+ else {
3809
+ let g = [], k = [];
3810
+ v.children.some((w, H) => {
3811
+ const B = $t(w.__tag__, t), ue = de(B);
3812
+ if (u) {
3813
+ const he = B.querySelector(`*[data-cutkey="${u}"]`), ce = de(he);
3814
+ h[h.length - 1].top = c.top - ce.top, h[h.length - 1].height = c.height - h[h.length - 1].top, u = 0;
3815
+ }
3816
+ if (ue.height + ue.top - c.top > h[h.length - 1].height) {
3817
+ if (E(B))
3818
+ g.push(w), k = H < v.children.length - 1 ? v.children.slice(H + 1) : [];
3819
+ else if (J(B))
3820
+ k = v.children.slice(H);
3821
+ else {
3822
+ R = Tt(B, c.top, h[h.length - 1].height, h.length % (a + n) >= a);
3823
+ const he = B.querySelector(`*[data-content="${w.id}"]`);
3824
+ if (B === R.targetEl)
3825
+ g.push(w), k = H < v.children.length - 1 ? v.children.slice(H + 1) : [];
3826
+ else if (he && he.contains(R.cut))
3827
+ u = Date.now(), R.cut.dataset.cutkey = u, w.content = he.innerHTML, g.push(w), k = [{ ...w, content: he.innerHTML }, ...H < v.children.length - 1 ? v.children.slice(H + 1) : []], h[h.length - 1].height = de(R.cut).top - c.top;
3828
+ else {
3829
+ if (!k.length) {
3830
+ let ce = { ...w };
3831
+ switch (w.problemType) {
3832
+ case at.slove:
3833
+ const L = B.querySelector(`*[data-area="${w.id}"]`);
3834
+ L != null && L.contains(R.cut) && (u = Date.now(), R.cut.dataset.cutkey = u, w.answerArea = L.innerHTML), w.chunk += 1;
3835
+ break;
3836
+ case at.art:
3837
+ const $ = B.querySelector(`*[data-bart="${w.id}"]`), I = R.targetEl.dataset.block === we && R.targetEl.dataset.size ? R.targetEl : null, ee = B.querySelector(`*[data-aart="${w.id}"]`);
3838
+ if ($ != null && $.contains(R.cut))
3839
+ u = Date.now(), R.cut.dataset.cutkey = u, w.beforeArt = $ == null ? void 0 : $.innerHTML, ce.beforeGuide = "", ce.afterArt = "", ce.endAnswerLen = -1, w.chunk += 1;
3840
+ else if (I) {
3841
+ const pe = parseInt(I.dataset.size);
3842
+ if (!w.artBlock)
3843
+ if (w.beforeGuide && w.beforeGuide.length + (w.startAnswerLen ? 0 : 2) - w.startAnswerLen > pe) {
3844
+ const W = B.querySelector(`*[data-guide="${w.id}"]`), oe = de(W);
3845
+ if (console.log(W, oe, c), oe.height + oe.top - c.top > c.height) {
3846
+ W.innerHTML = w.beforeGuide.split("").map((fe) => `<span>${fe}</span>`).join("");
3847
+ const Ie = de(I).top + I.offsetHeight, Se = [...Array.from(W.children)].findIndex((fe) => de(fe).top > Ie);
3848
+ ce.beforeGuide = w.beforeGuide.substring(0, Se), w.beforeGuide = w.beforeGuide.substring(Se);
3849
+ } else
3850
+ w.beforeGuide = "";
3851
+ } else
3852
+ w.beforeGuide = "";
3853
+ ce.endAnswerLen = pe, w.startAnswerLen = pe, w.chunk += 1;
3854
+ } else
3855
+ ee != null && ee.contains(R.cut) ? (u = Date.now(), R.cut.dataset.cutkey = u, w.chunk += 1, w.beforeArt = "", w.beforeGuide = "", w.startAnswerLen = 1, w.endAnswerLen = -1, w.afterArt = ee.innerHTML) : R.targetEl === $ && (ce.endAnswerLen = -1, ce.beforeGuide = "", ce.afterArt = "", w.beforeArt = "", w.chunk += 1);
3856
+ break;
3857
+ }
3858
+ B.contains(R.targetEl) && g.push(ce), u && (h[h.length - 1].height = de(R.cut).top - c.top);
3859
+ }
3860
+ k = [w, ...H < v.children.length - 1 ? v.children.slice(H + 1) : []];
3861
+ }
3862
+ }
3863
+ return !0;
3864
+ } else
3865
+ g.push(w);
3866
+ }), h[h.length - 1].data[h[h.length - 1].data.length - 1].children = g, k.length ? (Y(), D({ ...v, isHidden: !0, children: k })) : (l([...h]), F++, D());
3867
+ }
3868
+ });
3869
+ };
3870
+ D();
3871
+ }, Ot = window.CKEDITOR;
3872
+ Ot.disableAutoInline = !0;
3873
+ const ht = `dx${Math.random().toString(32).substring(2)}`;
3874
+ function Is(e, t) {
3875
+ return Ot[e](ht, {
3876
+ filebrowserImageUploadUrl: `${t}ckeditor/uploadImg`,
3877
+ uploadUrl: `${t}ckeditor/uploadImg`
3878
+ });
3879
+ }
3880
+ const Ls = { class: "flex-1 border border-gray4 rounded-lg px-2 py-1 base-problem-font overflow-auto focus:border-current" }, Fs = ["disabled", "contentEditable", "id"], Es = /* @__PURE__ */ Z({
3881
+ __name: "index",
3882
+ props: {
3883
+ value: {},
3884
+ readonly: { type: Boolean },
3885
+ name: {}
3886
+ },
3887
+ emits: ["change", "focus", "blur"],
3888
+ setup(e, { emit: t }) {
3889
+ const o = e, a = Rt("ckeditorOrigin", ""), n = Q();
3890
+ De(() => o.readonly, () => r()), Ve(() => r());
3891
+ const r = () => {
3892
+ if (window.CKEDITOR) {
3893
+ if (o.readonly) {
3894
+ n.value && (n.value.destroy(), n.value = null);
3895
+ return;
3896
+ }
3897
+ Ze(() => {
3898
+ n.value = Is("inline", a), n.value && n.value.on("instanceReady", (u) => {
3899
+ n.value.setData(o.value);
3900
+ });
3901
+ });
3902
+ } else {
3903
+ const u = document.createElement("script");
3904
+ u.type = "text/javascript", document.body.appendChild(u), u.onload = () => {
3905
+ r();
3906
+ }, u.src = "https://uat.ixueye.vip/ckeditor/ckeditor.js";
3907
+ }
3908
+ }, l = () => {
3909
+ t("blur");
3910
+ const u = c(n.value.getData());
3911
+ u !== o.value && t("change", u, o.name);
3912
+ }, i = () => {
3913
+ t("focus");
3914
+ }, c = (u) => {
3915
+ const y = document.createElement("div");
3916
+ y.innerHTML = u, [...Array.from(y.querySelectorAll("*"))].forEach((h) => {
3917
+ const F = window.getComputedStyle(h);
3918
+ (F.display === "none" || F.width === "0px" && F.height === "0px" || F.opacity === "0" || F.visibility === "hidden") && h.remove();
3919
+ });
3920
+ const O = (h = y) => {
3921
+ [...Array.from(h.childNodes)].forEach((F) => {
3922
+ var Y;
3923
+ if (F.nodeType === Node.ELEMENT_NODE && F.children.length)
3924
+ O(F);
3925
+ else if (F.nodeType === Node.TEXT_NODE) {
3926
+ const J = document.createElement("span");
3927
+ J.textContent = F.textContent, window.REGULAR.underscore.test(F.textContent || "") && (window.getComputedStyle(F.parentNode).wordBreak !== "break-all" || !(F.parentNode.getAttribute("style") || "").includes("word-break: break-all")) && (F.textContent || "").length > 5 && (J.innerHTML = (F.textContent || "").replace(window.REGULAR.underscore, (D) => D.length > 5 ? `<span style="word-break: break-all">${D}</span>` : D)), (Y = F.parentElement) == null || Y.replaceChild(J, F);
3928
+ }
3929
+ });
3930
+ };
3931
+ return O(), y.innerHTML;
3932
+ };
3933
+ return (u, y) => (s(), d("div", Ls, [
3934
+ o.readonly ? (s(), U(Ae, {
3935
+ key: 1,
3936
+ data: o.value,
3937
+ class: "raw_view"
3938
+ }, null, 8, ["data"])) : (s(), d("div", {
3939
+ key: 0,
3940
+ class: "overflow-auto outline-none whitespace-normal editor_view",
3941
+ disabled: o.readonly,
3942
+ contentEditable: !o.readonly,
3943
+ id: x(ht),
3944
+ onFocus: i,
3945
+ onBlur: l
3946
+ }, null, 40, Fs))
3947
+ ]));
3948
+ }
3949
+ });
3950
+ const Ms = /* @__PURE__ */ re(Es, [["__scopeId", "data-v-1398ac85"]]);
3951
+ let Ye = (e) => {
3952
+ };
3953
+ const Ps = {
3954
+ updated: function(e, t) {
3955
+ document.body.removeEventListener("click", Ye), Ye = (o) => {
3956
+ !e.contains(o.target) && t.value && t.value(o);
3957
+ }, document.body.addEventListener("click", Ye);
3958
+ },
3959
+ unmounted: () => {
3960
+ document.body.removeEventListener("click", Ye);
3961
+ }
3962
+ };
3963
+ let ot = null;
3964
+ const Ds = {
3965
+ mounted: (e, t) => {
3966
+ let o = {}, a = !1, n = !1, r = e.offsetParent, l = {}, i = {};
3967
+ const c = e.querySelector(".move-target") || e;
3968
+ c.style.cursor = "move", c.addEventListener("mousedown", (u) => {
3969
+ a = !0, n = !!e.dataset.safe, r = e.offsetParent;
3970
+ const y = window.getComputedStyle(e);
3971
+ o = { x: u.clientX, y: u.clientY }, l = { x: parseInt(y.left), y: parseInt(y.top) };
3972
+ }), document.addEventListener("mouseup", (u) => {
3973
+ a = !1;
3974
+ }), ot = (u) => {
3975
+ if (!a || e.getAttribute("disabled") === "true")
3976
+ return;
3977
+ u.stopPropagation(), u.preventDefault(), i = { x: u.clientX, y: u.clientY };
3978
+ const y = n ? Math.min(Math.max(i.x - o.x + l.x, 0), r.offsetWidth - e.offsetWidth) : i.x - o.x + l.x, O = n ? Math.min(Math.max(i.y - o.y + l.y, 0), r.offsetHeight - e.offsetHeight) : i.y - o.y + l.y;
3979
+ e.style.left = `${y}px`, e.style.top = `${O}px`, t.value && typeof t.value == "function" && t.value({ x: y, y: O });
3980
+ }, document.addEventListener("mousemove", ot);
3981
+ },
3982
+ unmounted: () => {
3983
+ document.removeEventListener("mousemove", ot);
3984
+ }
3985
+ }, As = ["onMousedown", "data-block"], Ns = ["src"], Bs = { class: "absolute right-2 bottom-2 w-12 h-12 bg-gray z-3 flex items-center justify-center rounded-tl-lg text-warn" }, Os = { class: "absolute left-0 top-0 w-full h-full border-2 border-current" }, zs = ["onMousedown"], Hs = ["onMousedown"], Rs = ["disabled", "onMousedown", "data-block"], Ws = { class: "absolute right-2 bottom-2 w-12 h-12 bg-gray z-3 flex items-center justify-center rounded-tl-lg text-warn" }, Gs = { class: "absolute left-0 top-0 w-full h-full border-2 border-current" }, Ys = ["onMousedown"], qs = /* @__PURE__ */ Z({
3986
+ __name: "absItem",
3987
+ props: {
3988
+ imgData: {},
3989
+ txtData: {},
3990
+ layout: {},
3991
+ pageMargin: {}
3992
+ },
3993
+ emits: ["changeAbsImgItem", "delAbsImgItem", "changeAbsTxtItem", "delAbsTxtItem"],
3994
+ setup(e, { emit: t }) {
3995
+ const o = e, a = Ps, n = Ds, r = [
3996
+ { left: "0", top: "0", cursor: "nwse-resize" },
3997
+ { left: "50%", top: "0", cursor: "ns-resize" },
3998
+ { left: "100%", top: "0", cursor: "nesw-resize" },
3999
+ { left: "0", top: "50%", cursor: "ew-resize" },
4000
+ { left: "100%", top: "50%", cursor: "ew-resize" },
4001
+ { left: "0", top: "100%", cursor: "nesw-resize" },
4002
+ { left: "50%", top: "100%", cursor: "ns-resize" },
4003
+ { left: "100%", top: "100%", cursor: "nwse-resize" }
4004
+ ], l = Q({}), i = Q(), c = Q(0), u = Q(0), y = Q(), O = Q(), h = Q({}), F = Q(!1), Y = Q(), J = A(() => o.imgData.map((L) => ({
4005
+ ...L,
4006
+ top: L.top - Math.floor(L.top / (b[o.layout.paper].height + o.pageMargin)) * o.pageMargin
4007
+ }))), E = A(() => o.txtData.map((L) => ({
4008
+ ...L,
4009
+ top: L.top - Math.floor(L.top / (b[o.layout.paper].height + o.pageMargin)) * o.pageMargin
4010
+ }))), D = A(() => Y.value ? Y.value.split("-")[0] === "img" ? J.value.find(($) => $.key === Y.value) : E.value.find(($) => $.key === Y.value) : null), v = A(() => D.value ? { [D.value.key]: { ...i.value } } : {});
4011
+ Ve(() => {
4012
+ y.value = document.body.querySelector(".__layout__");
4013
+ });
4014
+ const z = (L) => {
4015
+ i.value = { ...D.value, left: Math.max(L.x, 0), top: Math.max(L.y, 0) }, clearTimeout(O.value), O.value = setTimeout(() => {
4016
+ var $;
4017
+ (($ = D.value) == null ? void 0 : $.key.split("-")[0]) === "img" ? t("changeAbsImgItem", i.value) : t("changeAbsTxtItem", i.value), i.value = null;
4018
+ }, 400);
4019
+ }, ne = (L) => {
4020
+ F.value = L;
4021
+ }, R = () => {
4022
+ const L = D.value, $ = L.left + L.width / 2, I = L.top + L.height / 2, ee = y.value.getBoundingClientRect() || {};
4023
+ h.value = { x: $ + ee.left, y: I + ee.top }, y.value.addEventListener("mousemove", g), y.value.addEventListener("mouseleave", k), y.value.addEventListener("mouseup", k);
4024
+ }, g = (L) => {
4025
+ L.stopPropagation(), L.preventDefault();
4026
+ const $ = L.clientX - h.value.x, I = h.value.y - L.clientY, ee = Math.atan2(I, $) / (Math.PI / 180);
4027
+ i.value = { ...D.value, rotate: -parseInt(ee.toString()) };
4028
+ }, k = (L) => {
4029
+ L.stopPropagation(), L.preventDefault(), t("changeAbsImgItem", i.value), y.value.removeEventListener("mousemove", g), y.value.removeEventListener("mouseleave", k), y.value.removeEventListener("mouseup", k);
4030
+ }, w = (L, $) => {
4031
+ var I;
4032
+ L.stopPropagation(), c.value = $, l.value = { x: L.clientX, y: L.clientY, ...D.value }, ((I = D.value) == null ? void 0 : I.key.split("-")[0]) === "img" ? y.value.addEventListener("mousemove", H) : y.value.addEventListener("mousemove", B), y.value.addEventListener("mouseleave", ue), y.value.addEventListener("mouseup", ue);
4033
+ }, H = (L) => {
4034
+ const $ = { x: L.clientX - l.value.x, y: L.clientY - l.value.y }, I = { ...D.value }, ee = $.x > $.y ? "width" : "height";
4035
+ [
4036
+ // 0
4037
+ () => {
4038
+ const W = {
4039
+ width: l.value.width - $.x,
4040
+ height: l.value.width * (1 - $.y / l.value.height)
4041
+ }[ee], oe = {
4042
+ width: l.value.height * (1 - $.x / l.value.width),
4043
+ height: l.value.height - $.y
4044
+ }[ee];
4045
+ i.value = {
4046
+ ...I,
4047
+ width: W,
4048
+ height: oe,
4049
+ left: l.value.left - (W - l.value.width),
4050
+ top: l.value.top - (oe - l.value.height)
4051
+ };
4052
+ },
4053
+ // 1
4054
+ () => {
4055
+ const W = l.value.width * (1 - $.y / l.value.height), oe = l.value.height - $.y;
4056
+ i.value = {
4057
+ ...I,
4058
+ width: W,
4059
+ height: oe,
4060
+ left: l.value.left - (W - l.value.width) / 2,
4061
+ top: l.value.top - (oe - l.value.height)
4062
+ };
4063
+ },
4064
+ // 2
4065
+ () => {
4066
+ const W = {
4067
+ width: l.value.height * (1 + $.x / l.value.width),
4068
+ height: l.value.height - $.y
4069
+ }[ee];
4070
+ i.value = {
4071
+ ...I,
4072
+ width: {
4073
+ width: l.value.width + $.x,
4074
+ height: l.value.width * (1 - $.y / l.value.height)
4075
+ }[ee],
4076
+ height: W,
4077
+ top: l.value.top - (W - l.value.height)
4078
+ };
4079
+ },
4080
+ // 3
4081
+ () => {
4082
+ const W = l.value.width - $.x, oe = l.value.height * (1 - $.x / l.value.width);
4083
+ i.value = {
4084
+ ...I,
4085
+ width: W,
4086
+ height: oe,
4087
+ left: l.value.left - (W - l.value.width),
4088
+ top: l.value.top - (oe - l.value.height) / 2
4089
+ };
4090
+ },
4091
+ // 4
4092
+ () => {
4093
+ const W = l.value.width + $.x, oe = l.value.height * (1 + $.x / l.value.width);
4094
+ i.value = {
4095
+ ...I,
4096
+ width: W,
4097
+ height: oe,
4098
+ top: l.value.top - (oe - l.value.height) / 2
4099
+ };
4100
+ },
4101
+ // 5
4102
+ () => {
4103
+ const W = {
4104
+ width: l.value.width - $.x,
4105
+ height: l.value.width * (1 + $.y / l.value.height)
4106
+ }[ee], oe = {
4107
+ width: l.value.height * (1 - $.x / l.value.width),
4108
+ height: l.value.height + $.y
4109
+ }[ee];
4110
+ i.value = {
4111
+ ...I,
4112
+ width: W,
4113
+ height: oe,
4114
+ left: l.value.left - (W - l.value.width)
4115
+ };
4116
+ },
4117
+ // 6
4118
+ () => {
4119
+ const W = l.value.width * (1 + $.y / l.value.height), oe = l.value.height + $.y;
4120
+ i.value = {
4121
+ ...I,
4122
+ width: W,
4123
+ height: oe,
4124
+ left: l.value.left - (W - l.value.width) / 2
4125
+ };
4126
+ },
4127
+ // 7
4128
+ () => {
4129
+ const W = {
4130
+ width: l.value.width + $.x,
4131
+ height: l.value.width * (1 + $.y / l.value.height)
4132
+ }[ee], oe = {
4133
+ width: l.value.height * (1 + $.x / l.value.width),
4134
+ height: l.value.height + $.y
4135
+ }[ee];
4136
+ i.value = {
4137
+ ...I,
4138
+ width: W,
4139
+ height: oe
4140
+ };
4141
+ }
4142
+ ][c.value]();
4143
+ }, B = (L) => {
4144
+ const $ = { x: L.clientX - l.value.x, y: L.clientY - l.value.y }, I = { ...D.value }, ee = [
4145
+ {
4146
+ ...I,
4147
+ width: l.value.width - $.x,
4148
+ height: l.value.height - $.y,
4149
+ left: l.value.left + $.x,
4150
+ top: l.value.top + $.y
4151
+ },
4152
+ {
4153
+ ...I,
4154
+ height: l.value.height - $.y,
4155
+ top: l.value.top + $.y
4156
+ },
4157
+ {
4158
+ ...I,
4159
+ width: l.value.width + $.x,
4160
+ height: l.value.height - $.y,
4161
+ top: l.value.top + $.y
4162
+ },
4163
+ {
4164
+ ...I,
4165
+ width: l.value.width - $.x,
4166
+ left: l.value.left + $.x
4167
+ },
4168
+ {
4169
+ ...I,
4170
+ width: l.value.width + $.x
4171
+ },
4172
+ {
4173
+ ...I,
4174
+ width: l.value.width - $.x,
4175
+ height: l.value.height + $.y,
4176
+ left: l.value.left + $.x
4177
+ },
4178
+ {
4179
+ ...I,
4180
+ height: l.value.height + $.y
4181
+ },
4182
+ {
4183
+ ...I,
4184
+ width: l.value.width + $.x,
4185
+ height: l.value.height + $.y
4186
+ }
4187
+ ];
4188
+ i.value = ee[c.value];
4189
+ }, ue = () => {
4190
+ var L;
4191
+ y.value.removeEventListener("mousemove", H), y.value.removeEventListener("mousemove", B), y.value.removeEventListener("mouseleave", ue), y.value.removeEventListener("mouseup", ue), ((L = D.value) == null ? void 0 : L.key.split("-")[0]) === "img" ? t("changeAbsImgItem", i.value) : t("changeAbsTxtItem", i.value), i.value = null;
4192
+ }, he = (L) => {
4193
+ if (!L || L === D.value.content) {
4194
+ u.value++;
4195
+ return;
4196
+ }
4197
+ t("changeAbsTxtItem", { ...D.value, content: L });
4198
+ }, ce = (L, $) => {
4199
+ var ee;
4200
+ const I = document.body.querySelector(`.cke_editor_${ht}`);
4201
+ !L && ((ee = ($ == null ? void 0 : $.target).dataset) != null && ee.safe || I && window.getComputedStyle(I).display !== "none") || (Y.value = L == null ? void 0 : L.key, i.value = L ? { ...L } : null);
4202
+ };
4203
+ return (L, $) => (s(), d(M, null, [
4204
+ (s(!0), d(M, null, V(J.value, (I) => {
4205
+ var ee, pe, W, oe, Ie, Se, fe;
4206
+ return gt((s(), d("div", {
4207
+ key: I.id,
4208
+ "data-safe": "true",
4209
+ class: te(["absolute", ((ee = D.value) == null ? void 0 : ee.key) === I.key ? "z-8" : "z-7"]),
4210
+ style: G({ left: Math.max(((pe = v.value[I.key]) == null ? void 0 : pe.left) || I.left, 0) + "px", top: Math.max(((W = v.value[I.key]) == null ? void 0 : W.top) || I.top, 0) + "px", width: (((oe = v.value[I.key]) == null ? void 0 : oe.width) || I.width) + "px", height: (((Ie = v.value[I.key]) == null ? void 0 : Ie.height) || I.height) + "px", transform: `rotate(${((Se = v.value[I.key]) == null ? void 0 : Se.rotate) || I.rotate}deg)` }),
4211
+ onMousedown: Le((_) => ce(I), ["stop"]),
4212
+ "data-block": x(Ee)
4213
+ }, [
4214
+ f("img", {
4215
+ src: I.url
4216
+ }, null, 8, Ns),
4217
+ ((fe = D.value) == null ? void 0 : fe.key) === I.key ? (s(), d(M, { key: 0 }, [
4218
+ f("span", Bs, [
4219
+ K(_e, {
4220
+ name: "close",
4221
+ width: 2,
4222
+ class: "cursor-pointer",
4223
+ onClick: (_) => t("delAbsImgItem", I)
4224
+ }, null, 8, ["onClick"])
4225
+ ]),
4226
+ f("div", Os, [
4227
+ (s(), d(M, null, V(8, (_, S) => f("div", {
4228
+ key: _,
4229
+ class: "absolute w-4 h-4 border-2 border-current z-5 cursor-move",
4230
+ style: G({ ...r[S], transform: "translate(-50%, -50%)" }),
4231
+ onMousedown: Le((ye) => w(ye, S), ["stop"])
4232
+ }, null, 44, zs)), 64))
4233
+ ]),
4234
+ f("span", {
4235
+ class: "absolute flex items-center justify-center -right-20 w-12 h-12 rounded-full border border-current cursor-grab control_rotate",
4236
+ onMousedown: Le(R, ["stop"])
4237
+ }, [
4238
+ K(_e, {
4239
+ name: "reset",
4240
+ width: 2
4241
+ })
4242
+ ], 40, Hs)
4243
+ ], 64)) : P("", !0)
4244
+ ], 46, As)), [
4245
+ [x(n), z],
4246
+ [x(a), (_) => ce(null, _)]
4247
+ ]);
4248
+ }), 128)),
4249
+ (s(!0), d(M, null, V(E.value, (I) => {
4250
+ var ee, pe, W, oe, Ie, Se, fe;
4251
+ return gt((s(), d("div", {
4252
+ key: I.id,
4253
+ disabled: F.value,
4254
+ "data-safe": "true",
4255
+ class: te(["absolute", ((ee = D.value) == null ? void 0 : ee.key) === I.key ? "z-8 bg-white" : "z-7"]),
4256
+ style: G({ left: Math.max(((pe = v.value[I.key]) == null ? void 0 : pe.left) || I.left, 0) + "px", top: Math.max(((W = v.value[I.key]) == null ? void 0 : W.top) || I.top, 0) + "px", width: (((oe = v.value[I.key]) == null ? void 0 : oe.width) || I.width) + "px", height: (((Ie = v.value[I.key]) == null ? void 0 : Ie.height) || I.height) + "px" }),
4257
+ onMousedown: Le((_) => ce(I), ["stop"]),
4258
+ "data-block": x(Ee)
4259
+ }, [
4260
+ (s(), U(Ms, {
4261
+ key: u.value,
4262
+ class: "border-0 relative z-4",
4263
+ readonly: ((Se = D.value) == null ? void 0 : Se.key) !== I.key,
4264
+ value: I.content,
4265
+ name: I.id.toString(),
4266
+ onChange: he,
4267
+ onFocus: $[0] || ($[0] = (_) => ne(!0)),
4268
+ onBlur: $[1] || ($[1] = (_) => ne(!1))
4269
+ }, null, 8, ["readonly", "value", "name"])),
4270
+ ((fe = D.value) == null ? void 0 : fe.key) === I.key ? (s(), d(M, { key: 0 }, [
4271
+ f("span", Ws, [
4272
+ K(_e, {
4273
+ name: "close",
4274
+ width: 2,
4275
+ class: "cursor-pointer",
4276
+ onClick: (_) => t("delAbsTxtItem", I)
4277
+ }, null, 8, ["onClick"])
4278
+ ]),
4279
+ f("div", Gs, [
4280
+ (s(), d(M, null, V(8, (_, S) => f("div", {
4281
+ key: _,
4282
+ class: "absolute w-4 h-4 border-2 border-current z-5 cursor-move",
4283
+ style: G({ ...r[S], transform: "translate(-50%, -50%)" }),
4284
+ onMousedown: (ye) => w(ye, S)
4285
+ }, null, 44, Ys)), 64))
4286
+ ])
4287
+ ], 64)) : P("", !0)
4288
+ ], 46, Rs)), [
4289
+ [x(n), z],
4290
+ [x(a), (_) => ce(null, _)]
4291
+ ]);
4292
+ }), 128))
4293
+ ], 64));
4294
+ }
4295
+ });
4296
+ const Qs = /* @__PURE__ */ re(qs, [["__scopeId", "data-v-09e89b79"]]), Us = ["viewBox"], Ks = {
4297
+ x: "0",
4298
+ y: "0",
4299
+ width: "100%",
4300
+ height: "100%"
4301
+ }, js = ["onClick", "onDblclick"], Xs = ["data-block"], Vs = /* @__PURE__ */ Z({
4302
+ __name: "index",
4303
+ props: {
4304
+ layout: {},
4305
+ fontConfig: {},
4306
+ info: {},
4307
+ data: {},
4308
+ readonly: { type: Boolean },
4309
+ imgData: {},
4310
+ txtData: {},
4311
+ target: {},
4312
+ ckeditorOrigin: {},
4313
+ isFinal: { type: Boolean }
4314
+ },
4315
+ emits: ["changeInfo", "changeExtentInfo", "toggleActive", "dbProblemClick", "dbHeadLineClick", "changeAbsImgItem", "delAbsImgItem", "changeAbsTxtItem", "delAbsTxtItem", "getFinalData", "changeLayoutStatus"],
4316
+ setup(e, { emit: t }) {
4317
+ const o = e;
4318
+ Wt("ckeditorOrigin", o.ckeditorOrigin);
4319
+ const a = Q([]), n = Q([]), r = Q(2), l = Q(0), i = Q(0), c = Q(), u = Q([]), y = Q([]), O = Q([]), h = Q([]), F = A(() => o.data.map((_) => ({
4320
+ ..._,
4321
+ __tag__: xt(),
4322
+ rawChildren: _.children,
4323
+ children: _.children.map((S) => ({ ...S, startAnswerLen: 0, endAnswerLen: 0, chunk: 0, __tag__: xt() }))
4324
+ })).flat()), Y = A(() => {
4325
+ const _ = F.value[F.value.length - 1], S = _.rawChildren[_.rawChildren.length - 1];
4326
+ return ne.value && [p.slove].includes(S == null ? void 0 : S.problemType) && S.id;
4327
+ }), J = A(() => {
4328
+ var _;
4329
+ return o.layout.bindFlag && !!((_ = Oe.find((S) => S.code === o.layout.paper)) != null && _.isMultCol);
4330
+ }), E = A(() => 10), D = A(() => 0), v = A(() => Math.floor(a.value.length / (o.layout.column + o.layout.backColumn)) * 2 + Math.ceil(a.value.length % (o.layout.column + o.layout.backColumn) / o.layout.column) || r.value || 1), z = A(() => Math.ceil(v.value / 2) * 2), ne = A(() => ["sheet", "sheetCard"].includes(o.layout.mode)), R = A(() => ne.value ? ke : { top: 0, right: 0, bottom: 0, left: 0 }), g = A(() => typeof o.layout.padding == "number" ? { left: o.layout.padding, top: o.layout.padding, right: o.layout.padding, bottom: o.layout.padding } : o.layout.padding || rt[o.layout.mode][o.layout.paper]), k = A(() => b[o.layout.paper].width - g.value.left - g.value.right), w = A(() => b[o.layout.paper].height - g.value.top - g.value.bottom), H = A(() => (k.value - (i.value ? i.value + pe(0) : 0) + pe(0)) / o.layout.column - pe(0)), B = A(() => ({
4331
+ width: `${b[o.layout.paper].width}px`,
4332
+ height: `${(b[o.layout.paper].height + E.value) * z.value - E.value}px`
4333
+ })), ue = A(() => ({
4334
+ width: `${b[o.layout.paper].width}px`,
4335
+ height: `${b[o.layout.paper].height}px`,
4336
+ padding: `${g.value.top}px ${g.value.right}px ${g.value.bottom}px ${g.value.left}px`,
4337
+ marginBottom: `${E.value}px`
4338
+ })), he = A(() => {
4339
+ var S;
4340
+ const _ = (S = Oe.find((ye) => ye.code === o.layout.paper)) == null ? void 0 : S.isMultCol;
4341
+ return {
4342
+ left: `${g.value.left + (i.value ? i.value + pe(0) : 0)}px`,
4343
+ top: `${g.value.top}px`,
4344
+ width: _ ? `${H.value}px` : `${k.value}px`
4345
+ };
4346
+ });
4347
+ De(() => [JSON.stringify({ ...o.layout, showAnswer: !1, secrecyFlag: !1, redFlag: !1, sloganFlag: !1, simpleScoreBarFlag: !1, minusFlag: !1, fillScoreFlag: !1 }), JSON.stringify(o.fontConfig), JSON.stringify(o.info), JSON.stringify(o.data)].join(""), () => {
4348
+ setTimeout(() => {
4349
+ l.value += 1, Se();
4350
+ }, 100);
4351
+ }, { immediate: !0 }), De(() => J.value, () => {
4352
+ i.value = J.value ? 100 : 0;
4353
+ }, { immediate: !0 });
4354
+ const ce = (_) => _ % (o.layout.column + o.layout.backColumn) >= o.layout.column ? o.layout.backColumn : o.layout.column, L = (_, S) => Math.floor(S / 2) * (o.layout.column + o.layout.backColumn) + S % 2 * o.layout.column + _, $ = (_) => {
4355
+ const S = _ % (o.layout.column + o.layout.backColumn);
4356
+ return S >= o.layout.column ? S - o.layout.column : S;
4357
+ }, I = (_, S) => {
4358
+ _ ? u.value[S] = _ : u.value.splice(S, 1);
4359
+ }, ee = (_, S) => {
4360
+ _ ? y.value[S] = _ : y.value.splice(S, 1);
4361
+ }, pe = (_) => Et[o.layout.mode][o.layout.paper][ce(_)] || 0, W = (_, S = !1) => (k.value - (i.value ? i.value + pe(_) : 0) + pe(_)) / ce(_) - pe(_) - R.value.left - R.value.right + (S ? R.value.left + R.value.right : 0), oe = (_, S) => {
4362
+ var j, se;
4363
+ const ye = _ % (o.layout.column + o.layout.backColumn) ? 0 : ((j = O.value[Math.min(S, 1)]) == null ? void 0 : j.offsetHeight) || 0;
4364
+ return {
4365
+ left: `${g.value.left + (S % 2 ? 0 : i.value ? i.value + pe(_) : 0) + R.value.left + $(_) * (W(_) + pe(_) + R.value.left + R.value.right)}px`,
4366
+ top: `${ye + g.value.top + (!S && !_ ? 0 : R.value.top)}px`,
4367
+ width: `${W(_)}px`,
4368
+ height: `${w.value - ye - (!S && !_ ? 0 : R.value.top) - R.value.bottom}px`,
4369
+ contentHeight: `${(se = a.value[_]) == null ? void 0 : se.height}px`
4370
+ };
4371
+ }, Ie = (_, S = !1) => {
4372
+ n.value = _.map((ye) => ({ ...ye })), S && (a.value = [..._], console.log(_), Ze(() => {
4373
+ r.value = Math.ceil(a.value.length / o.layout.column), n.value = [], y.value.forEach((ye, j) => {
4374
+ var se, Ce;
4375
+ !ye || !ye.col || ((se = a.value[j]) != null && se.top ? ye.col.style.marginTop = `${(Ce = a.value[j]) == null ? void 0 : Ce.top}px` : ye.col.style.marginTop = "");
4376
+ }), setTimeout(() => {
4377
+ const ye = ys({
4378
+ config: {
4379
+ ...o.info,
4380
+ layout: o.layout,
4381
+ pageTotal: v.value,
4382
+ bindWidth: i.value,
4383
+ pageMargin: E.value,
4384
+ pageDom: u.value.slice(0, v.value),
4385
+ colDom: y.value.map((j) => j.col),
4386
+ colViewDom: y.value.map((j) => j.colView)
4387
+ },
4388
+ data: a.value
4389
+ });
4390
+ t("getFinalData", ye);
4391
+ }, 500);
4392
+ }));
4393
+ }, Se = () => {
4394
+ Ts({
4395
+ el: c.value,
4396
+ data: F.value,
4397
+ column: o.layout.column,
4398
+ backColumn: o.layout.backColumn || o.layout.column,
4399
+ getColSize: oe,
4400
+ change: Ie
4401
+ });
4402
+ }, fe = (_ = { type: q.page, value: {} }) => {
4403
+ t("toggleActive", _);
4404
+ };
4405
+ return (_, S) => {
4406
+ var ye;
4407
+ return s(), d(M, null, [
4408
+ _.readonly ? P("", !0) : (s(), U(Cs, {
4409
+ key: 0,
4410
+ ColList: a.value,
4411
+ ColDom: y.value.map((j) => j.col),
4412
+ ImgData: _.imgData,
4413
+ TxtData: _.txtData,
4414
+ onDelAbsImgItem: S[0] || (S[0] = (j) => t("delAbsImgItem", j)),
4415
+ onDelAbsTxtItem: S[1] || (S[1] = (j) => t("delAbsTxtItem", j)),
4416
+ onChangeLayoutStatus: S[2] || (S[2] = (j) => t("changeLayoutStatus", j))
4417
+ }, null, 8, ["ColList", "ColDom", "ImgData", "TxtData"])),
4418
+ f("div", {
4419
+ class: "flex-1 overflow-auto relative z-1",
4420
+ id: "alit-layout",
4421
+ onClick: S[14] || (S[14] = (j) => fe())
4422
+ }, [
4423
+ f("div", {
4424
+ class: "absolute h-0 invisible overflow-hidden font-base text-base pointer-events-none -z-1",
4425
+ ref_key: "rawDom",
4426
+ ref: c
4427
+ }, [
4428
+ n.value.length ? (s(!0), d(M, { key: 0 }, V((ye = n.value[n.value.length - 1]) == null ? void 0 : ye.data, (j, se) => (s(), d(M, null, [
4429
+ j.isHidden ? P("", !0) : (s(), U(Ct, {
4430
+ key: 0,
4431
+ item: j,
4432
+ showColBorder: ne.value,
4433
+ isFirst: !se && n.value.length === 1,
4434
+ layout: _.layout
4435
+ }, null, 8, ["item", "showColBorder", "isFirst", "layout"])),
4436
+ ne.value ? (s(), d("div", {
4437
+ key: 1,
4438
+ class: te([!j.children.length && j.problemType && "p-1 min-h-[2rem]"])
4439
+ }, [
4440
+ (s(), U(Ge, {
4441
+ data: j,
4442
+ key: n.value.length,
4443
+ layout: _.layout,
4444
+ target: _.target,
4445
+ noPortrait: "",
4446
+ width: W(n.value.length - 1) - 10
4447
+ }, null, 8, ["data", "layout", "target", "width"]))
4448
+ ], 2)) : (s(), U(Ge, {
4449
+ data: j,
4450
+ key: n.value.length,
4451
+ layout: _.layout,
4452
+ target: _.target,
4453
+ width: W(n.value.length - 1)
4454
+ }, null, 8, ["data", "layout", "target", "width"]))
4455
+ ], 64))), 256)) : P("", !0)
4456
+ ], 512),
4457
+ f("div", {
4458
+ class: te(["mx-auto relative overflow-hidden flex-shrink-0 font-base text-base __layout__", _.layout.redFlag && "red_mode", _.readonly && "pointer-events-none"]),
4459
+ style: G(B.value)
4460
+ }, [
4461
+ K(Qs, {
4462
+ imgData: _.imgData,
4463
+ txtData: _.txtData,
4464
+ layout: _.layout,
4465
+ pageMargin: D.value,
4466
+ onChangeAbsImgItem: S[3] || (S[3] = (j) => t("changeAbsImgItem", j)),
4467
+ onDelAbsImgItem: S[4] || (S[4] = (j) => t("delAbsImgItem", j)),
4468
+ onChangeAbsTxtItem: S[5] || (S[5] = (j) => t("changeAbsTxtItem", j)),
4469
+ onDelAbsTxtItem: S[6] || (S[6] = (j) => t("delAbsTxtItem", j))
4470
+ }, null, 8, ["imgData", "txtData", "layout", "pageMargin"]),
4471
+ (s(), d("svg", {
4472
+ viewBox: `0 0 ${parseFloat(B.value.width)} ${parseFloat(B.value.height)}`,
4473
+ version: "1.1",
4474
+ xmlns: "http://www.w3.org/2000/svg",
4475
+ key: l.value
4476
+ }, [
4477
+ (s(), d("foreignObject", Ks, [
4478
+ (s(!0), d(M, null, V(z.value, (j, se) => (s(), d("div", {
4479
+ key: j,
4480
+ class: "bg-white relative flex justify-between overflow-hidden box-border",
4481
+ ref_for: !0,
4482
+ ref: (Ce) => I(Ce, se),
4483
+ style: G(ue.value)
4484
+ }, [
4485
+ se < v.value ? (s(), d(M, { key: 0 }, [
4486
+ K(wo, {
4487
+ layout: _.layout,
4488
+ currentPage: se,
4489
+ totalPage: v.value,
4490
+ columnContentWidth: W(se % 2 ? _.layout.column : 0, !0),
4491
+ columnMargin: pe(se % 2 ? _.layout.column : 0),
4492
+ bindWidth: i.value,
4493
+ padding: g.value
4494
+ }, null, 8, ["layout", "currentPage", "totalPage", "columnContentWidth", "columnMargin", "bindWidth", "padding"]),
4495
+ _.layout.sloganFlag ? (s(), U($o, {
4496
+ key: 0,
4497
+ info: _.info,
4498
+ layout: _.layout,
4499
+ onChange: S[7] || (S[7] = (Ce) => t("changeInfo", Ce))
4500
+ }, null, 8, ["info", "layout"])) : P("", !0),
4501
+ K(Ja, {
4502
+ ref_for: !0,
4503
+ ref_key: "bindDom",
4504
+ ref: h,
4505
+ currentPage: se,
4506
+ width: i.value,
4507
+ height: w.value,
4508
+ isBindFlag: J.value
4509
+ }, null, 8, ["currentPage", "width", "height", "isBindFlag"]),
4510
+ !(se % 2) || se === 1 && v.value < 3 ? (s(), d("div", {
4511
+ key: 1,
4512
+ ref_for: !0,
4513
+ ref_key: "titleDom",
4514
+ ref: O,
4515
+ class: te(["absolute text-black", se === 1 && v.value < 3 && "opacity-0 pointer-events-none"]),
4516
+ style: G(he.value)
4517
+ }, [
4518
+ K(Mo, {
4519
+ layout: _.layout,
4520
+ code: _.info.textCode
4521
+ }, null, 8, ["layout", "code"]),
4522
+ K(ta, {
4523
+ info: _.info,
4524
+ layout: _.layout,
4525
+ fontConfig: _.fontConfig,
4526
+ data: _.data,
4527
+ onChange: S[8] || (S[8] = (Ce) => t("changeInfo", Ce))
4528
+ }, null, 8, ["info", "layout", "fontConfig", "data"]),
4529
+ K(ka, {
4530
+ layout: _.layout,
4531
+ info: _.info,
4532
+ isBindFlag: J.value,
4533
+ onChange: S[9] || (S[9] = (Ce) => t("changeExtentInfo", Ce))
4534
+ }, null, 8, ["layout", "info", "isBindFlag"]),
4535
+ K(Ba, {
4536
+ layout: _.layout,
4537
+ isBindFlag: J.value
4538
+ }, null, 8, ["layout", "isBindFlag"]),
4539
+ se ? P("", !0) : (s(), U(Ya, {
4540
+ key: 0,
4541
+ layout: _.layout,
4542
+ data: _.data
4543
+ }, null, 8, ["layout", "data"])),
4544
+ _.layout.writeScoreFlag && !se ? (s(), U(_l, {
4545
+ key: 1,
4546
+ info: _.info,
4547
+ layout: _.layout
4548
+ }, null, 8, ["info", "layout"])) : P("", !0)
4549
+ ], 6)) : P("", !0),
4550
+ (s(!0), d(M, null, V(se % 2 ? _.layout.backColumn : _.layout.column, (Ce, Me) => (s(), U(Qa, {
4551
+ ref_for: !0,
4552
+ ref: (We) => ee(We, L(Me, se)),
4553
+ styleInfo: oe(L(Me, se), se),
4554
+ column: _.layout.column,
4555
+ currentColumn: L(Me, se),
4556
+ showColBorder: ne.value
4557
+ }, {
4558
+ default: It(() => {
4559
+ var We;
4560
+ return [
4561
+ (s(!0), d(M, null, V(((We = a.value[L(Me, se)]) == null ? void 0 : We.data) || [], (ge, zt) => {
4562
+ var pt;
4563
+ return s(), d(M, null, [
4564
+ ge.isHidden ? P("", !0) : (s(), U(Ct, {
4565
+ key: 0,
4566
+ item: ge,
4567
+ showColBorder: ne.value,
4568
+ isFirst: !se && !Me && !zt,
4569
+ layout: _.layout,
4570
+ isActive: ((pt = _.target.value) == null ? void 0 : pt.id) === ge.id,
4571
+ onClick: (xe) => fe({ type: ge.problemType ? x(q).headline : x(q).headlineNotarea, value: ge }),
4572
+ onDbclick: (xe) => t("dbHeadLineClick", ge)
4573
+ }, null, 8, ["item", "showColBorder", "isFirst", "layout", "isActive", "onClick", "onDbclick"])),
4574
+ ne.value ? (s(), d("div", {
4575
+ key: 1,
4576
+ class: te([!ge.children.length && ge.problemType && "p-1 min-h-[2rem]", _.target.type === x(q).headline && _.target.value.id === ge.id && "active_headline"]),
4577
+ onClick: Le((xe) => fe({ type: ge.problemType ? x(q).headline : x(q).headlineNotarea, value: ge }), ["stop"]),
4578
+ onDblclick: (xe) => t("dbHeadLineClick", ge)
4579
+ }, [
4580
+ K(Ge, {
4581
+ data: ge,
4582
+ layout: _.layout,
4583
+ target: _.target,
4584
+ width: W(L(Me, se)) - 10,
4585
+ onClick: S[10] || (S[10] = (xe) => fe({ type: xe.problemType ? x(q).problem : x(q).problemNotarea, value: xe })),
4586
+ onDbclick: S[11] || (S[11] = (xe) => t("dbProblemClick", xe))
4587
+ }, null, 8, ["data", "layout", "target", "width"]),
4588
+ ge.children.length && ge.children[ge.children.length - 1].id === Y.value ? (s(), d("div", {
4589
+ key: 0,
4590
+ class: "border-t",
4591
+ "data-block": x(Ee)
4592
+ }, null, 8, Xs)) : P("", !0)
4593
+ ], 42, js)) : (s(), U(Ge, {
4594
+ key: 2,
4595
+ data: ge,
4596
+ layout: _.layout,
4597
+ target: _.target,
4598
+ width: W(L(Me, se)),
4599
+ onClick: S[12] || (S[12] = (xe) => fe({ type: xe.problemType ? x(q).problem : x(q).problemNotarea, value: xe })),
4600
+ onDbclick: S[13] || (S[13] = (xe) => t("dbProblemClick", xe))
4601
+ }, null, 8, ["data", "layout", "target", "width"]))
4602
+ ], 64);
4603
+ }), 256))
4604
+ ];
4605
+ }),
4606
+ _: 2
4607
+ }, 1032, ["styleInfo", "column", "currentColumn", "showColBorder"]))), 256))
4608
+ ], 64)) : P("", !0)
4609
+ ], 4))), 128))
4610
+ ]))
4611
+ ], 8, Us))
4612
+ ], 6)
4613
+ ])
4614
+ ], 64);
4615
+ };
4616
+ }
4617
+ });
4618
+ const ei = /* @__PURE__ */ re(Vs, [["__scopeId", "data-v-3aab0715"]]);
4619
+ export {
4620
+ Js as Config,
4621
+ ei as default
4622
+ };