zhytech-ui-mobile 1.0.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/.eslintignore +11 -0
  2. package/.eslintrc.cjs +253 -0
  3. package/.prettierignore +0 -0
  4. package/.prettierrc.json +9 -0
  5. package/.vscode/settings.json +131 -0
  6. package/index.html +39 -0
  7. package/package.json +4 -26
  8. package/shims-uni.d.ts +7 -0
  9. package/src/App.vue +24 -0
  10. package/src/components/dynamicForm/componentRenderer.vue +207 -0
  11. package/src/components/dynamicForm/components/advanced/index.ts +13 -0
  12. package/src/components/dynamicForm/components/advanced/upload.vue +108 -0
  13. package/src/components/dynamicForm/components/advanced/uploadImage.vue +107 -0
  14. package/src/components/dynamicForm/components/answerSheetPopup/answerSheetItem.vue +58 -0
  15. package/src/components/dynamicForm/components/answerSheetPopup/index.vue +111 -0
  16. package/src/components/dynamicForm/components/application/employee.vue +140 -0
  17. package/src/components/dynamicForm/components/application/grade.vue +183 -0
  18. package/src/components/dynamicForm/components/application/index.ts +14 -0
  19. package/src/components/dynamicForm/components/application/post.vue +136 -0
  20. package/src/components/dynamicForm/components/base/checkbox.vue +143 -0
  21. package/src/components/dynamicForm/components/base/index.ts +15 -0
  22. package/src/components/dynamicForm/components/base/input.vue +99 -0
  23. package/src/components/dynamicForm/components/base/label.vue +29 -0
  24. package/src/components/dynamicForm/components/base/radio.vue +155 -0
  25. package/src/components/dynamicForm/components/componentType.ts +16 -0
  26. package/src/components/dynamicForm/components/layout/groupLayout.vue +103 -0
  27. package/src/components/dynamicForm/components/layout/index.ts +12 -0
  28. package/src/components/dynamicForm/formRenderer.vue +567 -0
  29. package/src/components/dynamicForm/index.ts +21 -0
  30. package/src/components/dynamicForm/types/componentAttribute/advanced/uploadAttribute.ts +35 -0
  31. package/src/components/dynamicForm/types/componentAttribute/application/employeeAttribute.ts +42 -0
  32. package/src/components/dynamicForm/types/componentAttribute/application/gradeAttribute.ts +54 -0
  33. package/src/components/dynamicForm/types/componentAttribute/application/postAttribute.ts +42 -0
  34. package/src/components/dynamicForm/types/componentAttribute/base/checkboxAttribute.ts +38 -0
  35. package/src/components/dynamicForm/types/componentAttribute/base/inputAttribute.ts +31 -0
  36. package/src/components/dynamicForm/types/componentAttribute/base/radioAttribute.ts +30 -0
  37. package/src/components/dynamicForm/types/componentAttribute/baseAttribute.ts +110 -0
  38. package/src/components/dynamicForm/types/componentAttribute/editAttribute.ts +70 -0
  39. package/src/components/dynamicForm/types/componentAttribute/index.ts +37 -0
  40. package/src/components/dynamicForm/types/componentAttribute/layout/groupLayoutAttribute.ts +39 -0
  41. package/src/components/dynamicForm/types/documentView.ts +110 -0
  42. package/src/components/dynamicForm/types/enum.ts +109 -0
  43. package/src/components/dynamicForm/types/formAttribute.ts +93 -0
  44. package/src/components/dynamicForm/types/uploadOption.ts +31 -0
  45. package/src/env.d.ts +8 -0
  46. package/src/hooks/useMessage.ts +44 -0
  47. package/src/hooks/useToast.ts +29 -0
  48. package/src/hooks/useUtils.ts +201 -0
  49. package/src/index.ts +59 -0
  50. package/src/main.ts +19 -0
  51. package/src/manifest.json +72 -0
  52. package/src/pages/dynamicFormDemo.vue +1260 -0
  53. package/src/pages/dynamicFormExaminationDemo.vue +567 -0
  54. package/src/pages.json +58 -0
  55. package/src/shime-uni.d.ts +6 -0
  56. package/src/uni.scss +76 -0
  57. package/src/unocss/index.ts +20 -0
  58. package/src/unocss/rules.ts +139 -0
  59. package/src/unocss/shortcuts.ts +53 -0
  60. package/src/unocss/theme/index.ts +13 -0
  61. package/src/unocss/theme/themeOption/dark.ts +35 -0
  62. package/src/unocss/theme/themeOption/primary.ts +33 -0
  63. package/src/unocss/variants.ts +110 -0
  64. package/tsconfig.json +19 -0
  65. package/uno.config.ts +63 -0
  66. package/vite.config.ts +83 -0
  67. package/dist/build/h5/style.css +0 -1
  68. package/dist/build/h5/zhytech-ui-mobile.es.js +0 -19661
  69. package/dist/build/h5/zhytech-ui-mobile.umd.js +0 -1
  70. package/dist/dev/true/style.css +0 -455
  71. package/dist/dev/true/zhytech-ui-mobile.es.js +0 -3440
  72. package/dist/dev/true/zhytech-ui-mobile.umd.js +0 -3443
  73. /package/{dist/build/h5 → src}/static/iconfont/iconfont.css +0 -0
  74. /package/{dist/build/h5 → src}/static/iconfont/iconfont.ttf +0 -0
  75. /package/{dist/build/h5 → src}/static/iconfont/iconfont.woff +0 -0
  76. /package/{dist/build/h5 → src}/static/iconfont/iconfont.woff2 +0 -0
  77. /package/{dist/build/h5 → src}/static/scss/actionSheet.scss +0 -0
  78. /package/{dist/build/h5 → src}/static/scss/button.scss +0 -0
  79. /package/{dist/build/h5 → src}/static/scss/checkbox.scss +0 -0
  80. /package/{dist/build/h5 → src}/static/scss/form.scss +0 -0
  81. /package/{dist/build/h5 → src}/static/scss/index.scss +0 -0
  82. /package/{dist/build/h5 → src}/static/scss/input.scss +0 -0
  83. /package/{dist/build/h5 → src}/static/scss/picker.scss +0 -0
  84. /package/{dist/build/h5 → src}/static/scss/radio.scss +0 -0
@@ -0,0 +1,1260 @@
1
+ <!--
2
+ * FilePath : \src\pages\dynamicFormDemo.vue
3
+ * Author : 苏军志
4
+ * Date : 2025-08-23 16:34
5
+ * LastEditors : 苏军志
6
+ * LastEditTime : 2025-09-05 17:43
7
+ * Description : 动态表单-问卷模式测试画面
8
+ * CodeIterationRecord:
9
+ -->
10
+ <template>
11
+ <wd-config-provider :theme-vars="themeVars" class="y-aline-start h-full">
12
+ <view class="text-right sons-class-wd-button:mx-10px! bg-#FAEBD7">
13
+ <view class="aline-left m-10px sons-class-wd-tag:(mr-10px! px-10px! py-3px!)">
14
+ 主题色:
15
+ <wd-tag mark bg-color="#4d80f0" color="#ffffff" @click="setDefaultTheme('#4d80f0')">蓝色</wd-tag>
16
+ <wd-tag mark bg-color="#34d19d" color="#ffffff" @click="setDefaultTheme('#34d19d')">绿色</wd-tag>
17
+ <wd-tag mark bg-color="#f0883a" color="#ffffff" @click="setDefaultTheme('#f0883a')">黄色</wd-tag>
18
+ <wd-tag mark bg-color="#fa4350" color="#ffffff" @click="setDefaultTheme('#fa4350')">红色</wd-tag>
19
+ </view>
20
+ <wd-button type="primary" size="small" @click="formRef.validate()">表单校验</wd-button>
21
+ <wd-button type="primary" size="small" @click="formRef.resetFields()">重置校验</wd-button>
22
+ <wd-button type="primary" size="small" @click="console.log(formRef.getDatas())">获取数据</wd-button>
23
+ </view>
24
+ <view class="flex-auto overflow-hidden">
25
+ <zhy-form-renderer ref="formRef" :formData="formData" />
26
+ </view>
27
+ </wd-config-provider>
28
+ </template>
29
+ <script setup lang="ts">
30
+ // eslint-disable-next-line id-match
31
+ import type { ConfigProviderThemeVars } from "wot-design-uni";
32
+ import { setTheme } from "../index";
33
+ const formRef = ref<any>();
34
+ const themeVars = ref<ConfigProviderThemeVars>({
35
+ colorTheme: "#4d80f0"
36
+ });
37
+ const setDefaultTheme = (color: string) => {
38
+ themeVars.value.colorTheme = color;
39
+ // 设置动态表单的主题色
40
+ setTheme(themeVars.value);
41
+ // 设置顶部和底部的主题色
42
+ uni.setNavigationBarColor({
43
+ frontColor: "#ffffff",
44
+ backgroundColor: color
45
+ });
46
+ uni.setTabBarStyle({
47
+ backgroundColor: color
48
+ });
49
+ uni.setStorageSync("themeVars", themeVars.value);
50
+ };
51
+ const formData = ref({
52
+ allowCreateDictionary: true,
53
+ props: {
54
+ formID: "9f09e4bbedfe4dce81c000c9d1db3969",
55
+ formName: "测试分组组件",
56
+ formType: "1",
57
+ size: "small",
58
+ column: 12,
59
+ labelWidth: 90,
60
+ labelPosition: "top",
61
+ layoutMode: "vertical"
62
+ },
63
+ components: [
64
+ {
65
+ isEdit: false,
66
+ isInput: false,
67
+ type: "label",
68
+ name: "标签",
69
+ id: "temp-4e4cbe98b2aa93f9df2c4bfc936d007b",
70
+ itemSourceType: "testList",
71
+ props: {
72
+ label: "标签",
73
+ width: 12,
74
+ showLabel: false,
75
+ fontSize: 12,
76
+ isBold: false,
77
+ color: "#000000",
78
+ showFlag: true,
79
+ statisticsFlag: false,
80
+ labelNewLine: false,
81
+ labelWidth: 90,
82
+ defaultValue: "",
83
+ placeholder: "",
84
+ required: false,
85
+ requiredMessage: "必填项",
86
+ disabled: false,
87
+ clearable: false,
88
+ readonly: false,
89
+ componentWidth: 90
90
+ },
91
+ excludeFilterConditions: ["RANGE", "INCLUDES", "EXCLUDE"],
92
+ filterConditionProps: {
93
+ type: "input"
94
+ },
95
+ isLayout: false,
96
+ allowRepeat: true,
97
+ allowModify: true
98
+ },
99
+ {
100
+ isEdit: true,
101
+ isInput: true,
102
+ type: "input",
103
+ name: "输入框",
104
+ id: "temp-897",
105
+ itemSourceType: "testList",
106
+ props: {
107
+ label: "输入框2",
108
+ width: 12,
109
+ showLabel: true,
110
+ fontSize: 19,
111
+ type: "text",
112
+ isBold: false,
113
+ color: "#000000",
114
+ showFlag: true,
115
+ statisticsFlag: false,
116
+ labelNewLine: false,
117
+ labelWidth: 90,
118
+ defaultValue: "13",
119
+ placeholder: "",
120
+ required: true,
121
+ requiredMessage: "sdasd",
122
+ disabled: false,
123
+ clearable: true,
124
+ readonly: false,
125
+ componentWidth: 90
126
+ },
127
+ excludeFilterConditions: ["RANGE", "INCLUDES", "EXCLUDE"],
128
+ filterConditionProps: {
129
+ type: "input"
130
+ },
131
+ isLayout: false,
132
+ allowRepeat: true,
133
+ allowModify: true
134
+ },
135
+ {
136
+ isEdit: true,
137
+ isInput: true,
138
+ type: "input",
139
+ name: "输入框",
140
+ id: "temp-123",
141
+ itemSourceType: "testList",
142
+ props: {
143
+ label: "输入框2",
144
+ width: 12,
145
+ showLabel: true,
146
+ fontSize: 19,
147
+ type: "text",
148
+ isBold: false,
149
+ color: "#000000",
150
+ showFlag: true,
151
+ statisticsFlag: false,
152
+ labelNewLine: false,
153
+ labelWidth: 90,
154
+ defaultValue: "13",
155
+ placeholder: "",
156
+ required: true,
157
+ requiredMessage: "必asd填项",
158
+ disabled: false,
159
+ clearable: true,
160
+ readonly: false,
161
+ componentWidth: 90
162
+ },
163
+ excludeFilterConditions: ["RANGE", "INCLUDES", "EXCLUDE"],
164
+ filterConditionProps: {
165
+ type: "input"
166
+ },
167
+ isLayout: false,
168
+ allowRepeat: true,
169
+ allowModify: true
170
+ },
171
+ {
172
+ isEdit: true,
173
+ isInput: true,
174
+ type: "inputNumber",
175
+ name: "数字框",
176
+ id: "temp-30afd416ad8e13fa137a7ca4d5d53c0d",
177
+ itemSourceType: "testList",
178
+ props: {
179
+ label: "数字框",
180
+ width: 12,
181
+ showLabel: true,
182
+ fontSize: 12,
183
+ defaultValue: "3",
184
+ isBold: false,
185
+ color: "#000000",
186
+ showFlag: true,
187
+ statisticsFlag: false,
188
+ labelNewLine: false,
189
+ labelWidth: 90,
190
+ placeholder: "",
191
+ required: false,
192
+ requiredMessage: "必填项",
193
+ disabled: false,
194
+ clearable: false,
195
+ readonly: false,
196
+ allowText: false,
197
+ abnormalCheckList: [
198
+ {
199
+ type: "lowerLimit",
200
+ value: 2,
201
+ level: "error"
202
+ },
203
+ {
204
+ type: "upperLimit",
205
+ value: 6,
206
+ level: "warning"
207
+ },
208
+ {
209
+ type: "decimalPlace",
210
+ value: 1,
211
+ level: "error"
212
+ }
213
+ ]
214
+ },
215
+ excludeFilterConditions: [],
216
+ filterConditionProps: {
217
+ type: "input"
218
+ },
219
+ isLayout: false,
220
+ allowRepeat: true,
221
+ allowModify: true
222
+ },
223
+ {
224
+ isEdit: true,
225
+ isInput: true,
226
+ type: "date",
227
+ name: "日期",
228
+ id: "temp-a8085b32689f34bed5310411999ec620",
229
+ itemSourceType: "testList",
230
+ rules: [
231
+ {
232
+ required: false,
233
+ message: "必填项"
234
+ }
235
+ ],
236
+ props: {
237
+ label: "日期",
238
+ width: 12,
239
+ showLabel: true,
240
+ fontSize: 12,
241
+ isBold: false,
242
+ color: "#000000",
243
+ showFlag: true,
244
+ statisticsFlag: false,
245
+ labelNewLine: false,
246
+ labelWidth: 90,
247
+ defaultValue: "",
248
+ placeholder: "",
249
+ required: false,
250
+ requiredMessage: "必填项",
251
+ disabled: false,
252
+ clearable: false,
253
+ readonly: false,
254
+ datetimeType: "date",
255
+ format: "YYYY-MM-DD",
256
+ valueFormat: "YYYY-MM-DD",
257
+ componentWidth: 100,
258
+ minTime: "2024-12-04",
259
+ maxTime: "2024-12-13"
260
+ },
261
+ excludeFilterConditions: ["RANGE", "INCLUDES", "EXCLUDE"],
262
+ filterConditionProps: {
263
+ type: "input"
264
+ },
265
+ isLayout: false,
266
+ allowRepeat: true,
267
+ allowModify: true
268
+ },
269
+ {
270
+ isEdit: true,
271
+ isInput: true,
272
+ type: "time",
273
+ name: "时间",
274
+ id: "temp-4e4cbe98b2aa93f9df2c4bfc936d007b",
275
+ itemSourceType: "testList",
276
+ rules: [
277
+ {
278
+ required: false,
279
+ message: "必填项"
280
+ }
281
+ ],
282
+ props: {
283
+ label: "时间",
284
+ width: 12,
285
+ showLabel: true,
286
+ fontSize: 12,
287
+ isBold: false,
288
+ color: "#000000",
289
+ showFlag: true,
290
+ statisticsFlag: false,
291
+ labelNewLine: false,
292
+ labelWidth: 90,
293
+ defaultValue: "",
294
+ placeholder: "",
295
+ required: false,
296
+ requiredMessage: "必填项",
297
+ disabled: false,
298
+ clearable: false,
299
+ readonly: false,
300
+ datetimeType: "timePicker",
301
+ format: "HH:mm",
302
+ valueFormat: "HH:mm",
303
+ componentWidth: 90,
304
+ minTime: "11:30",
305
+ maxTime: "21:00"
306
+ },
307
+ excludeFilterConditions: ["RANGE", "INCLUDES", "EXCLUDE"],
308
+ filterConditionProps: {
309
+ type: "input"
310
+ },
311
+ isLayout: false,
312
+ allowRepeat: true,
313
+ allowModify: true
314
+ },
315
+ {
316
+ isEdit: true,
317
+ isInput: true,
318
+ type: "time",
319
+ name: "时间",
320
+ id: "temp-867c9167787b98a7bd04c2c4ffe29496",
321
+ itemSourceType: "testList",
322
+ rules: [
323
+ {
324
+ required: false,
325
+ message: "必填项"
326
+ }
327
+ ],
328
+ props: {
329
+ label: "时间",
330
+ width: 12,
331
+ showLabel: true,
332
+ fontSize: 12,
333
+ isBold: false,
334
+ color: "#000000",
335
+ showFlag: true,
336
+ statisticsFlag: false,
337
+ labelNewLine: false,
338
+ labelWidth: 90,
339
+ defaultValue: "",
340
+ placeholder: "",
341
+ required: false,
342
+ requiredMessage: "必填项",
343
+ disabled: false,
344
+ clearable: false,
345
+ readonly: false,
346
+ datetimeType: "timeSelect",
347
+ format: "HH:mm",
348
+ componentWidth: 90,
349
+ startTime: "00:00",
350
+ endTime: "23:59",
351
+ timeStep: "00:15",
352
+ minTime: "02:30",
353
+ maxTime: "05:00"
354
+ },
355
+ excludeFilterConditions: ["RANGE", "INCLUDES", "EXCLUDE"],
356
+ filterConditionProps: {
357
+ type: "input"
358
+ },
359
+ isLayout: false,
360
+ allowRepeat: true,
361
+ allowModify: true
362
+ },
363
+ {
364
+ type: "tabs",
365
+ id: "temp-1d5134beea21a8b96150183c32ef25d0",
366
+ itemSourceType: "testList",
367
+ props: {
368
+ width: 12,
369
+ showLabel: false,
370
+ labelNewLine: false,
371
+ label: "",
372
+ fontSize: 14,
373
+ isBold: true,
374
+ color: "#000000",
375
+ showFlag: true,
376
+ defaultValue: "0",
377
+ tabType: "border-card",
378
+ pages: [
379
+ {
380
+ value: "temp_1",
381
+ label: "标签1"
382
+ },
383
+ {
384
+ value: "temp_3",
385
+ label: "标签2"
386
+ }
387
+ ],
388
+ tabPosition: "top",
389
+ showNavigation: false
390
+ },
391
+ isLayout: true,
392
+ children: [
393
+ {
394
+ type: "input",
395
+ id: "temp-2c0c3bccd11469aae25474c6acccfed1",
396
+ itemSourceType: "testList",
397
+ props: {
398
+ pageID: "temp_1",
399
+ type: "text",
400
+ label: "呃呃呃呃",
401
+ width: 12,
402
+ showLabel: true,
403
+ fontSize: 12,
404
+ isBold: false,
405
+ color: "#000000",
406
+ showFlag: true,
407
+ statisticsFlag: false,
408
+ labelNewLine: false,
409
+ labelWidth: 90,
410
+ placeholder: "",
411
+ required: false,
412
+ requiredMessage: "必填项",
413
+ pattern: "",
414
+ patternMessage: "格式不正确",
415
+ disabled: false,
416
+ clearable: false,
417
+ readonly: false,
418
+ showPassword: false
419
+ },
420
+ isLayout: false,
421
+ allowRepeat: true,
422
+ allowModify: true
423
+ },
424
+ {
425
+ type: "checkbox",
426
+ id: "temp-a163f905ae92672558926eeff1a46bac",
427
+ itemSourceType: "testList",
428
+ props: {
429
+ pageID: "temp_1",
430
+ width: 12,
431
+ showLabel: true,
432
+ labelWidth: 90,
433
+ label: "嗯嗯嗯嗯232",
434
+ fontSize: 12,
435
+ isBold: false,
436
+ color: "#000000",
437
+ required: false,
438
+ requiredMessage: "必选项",
439
+ disabled: false,
440
+ showFlag: true,
441
+ statisticsFlag: false,
442
+ newLine: false,
443
+ labelNewLine: false,
444
+ options: [
445
+ {
446
+ value: "temp-131351051a7459dc068ff5f85b3e8f33",
447
+ label: "2222"
448
+ },
449
+ {
450
+ value: "temp-95d7b8af22e202f3b3db56711be78111",
451
+ label: "33333"
452
+ }
453
+ ]
454
+ },
455
+ isLayout: false,
456
+ allowRepeat: true,
457
+ allowModify: true
458
+ },
459
+ {
460
+ type: "uploadImage",
461
+ id: "temp-5f4f4026e18d6bf8ca686227fbd7edd2",
462
+ itemSourceType: "testList",
463
+ props: {
464
+ pageID: "temp_3",
465
+ width: 12,
466
+ showLabel: true,
467
+ labelWidth: 90,
468
+ labelNewLine: false,
469
+ label: "图片上传",
470
+ fontSize: 12,
471
+ isBold: false,
472
+ showFlag: true,
473
+ multiple: false,
474
+ fileLimit: 1,
475
+ fileSize: 10,
476
+ fileSizeUnit: "MB",
477
+ fileType: ".jpg,.jpeg,.png,.bmp"
478
+ },
479
+ isLayout: false,
480
+ allowRepeat: true,
481
+ allowModify: true
482
+ },
483
+ {
484
+ type: "grade",
485
+ id: "temp-9ceda7d56e27de79641764373f1f6304",
486
+ itemSourceType: "testList",
487
+ props: {
488
+ pageID: "temp_3",
489
+ width: 12,
490
+ showLabel: true,
491
+ labelWidth: 90,
492
+ label: "考评分数",
493
+ fontSize: 12,
494
+ isBold: false,
495
+ color: "#000000",
496
+ required: false,
497
+ requiredMessage: "必选项",
498
+ disabled: false,
499
+ showFlag: true,
500
+ statisticsFlag: true,
501
+ newLine: false,
502
+ labelNewLine: false,
503
+ maxScore: 5,
504
+ showZero: true,
505
+ showNotGrade: true,
506
+ showProblem: true,
507
+ showBrightSpot: true,
508
+ scoreReverseFlag: true,
509
+ showVeto: false,
510
+ remarkOptions: [
511
+ {
512
+ key: "99",
513
+ value: "测试测试测试"
514
+ }
515
+ ]
516
+ },
517
+ isLayout: false,
518
+ allowRepeat: true,
519
+ allowModify: true
520
+ },
521
+ {
522
+ type: "groupLayout",
523
+ id: "temp-9040d47300666f0dc696dad78f4b7af0",
524
+ itemSourceType: "testList",
525
+ props: {
526
+ pageID: "temp_3",
527
+ width: 12,
528
+ showLabel: true,
529
+ labelWidth: 90,
530
+ labelNewLine: false,
531
+ label: "333",
532
+ fontSize: 14,
533
+ isBold: true,
534
+ color: "#000000",
535
+ showFlag: true,
536
+ backgroundColor: "#ffffff",
537
+ showBorder: false,
538
+ borderStyle: "solid",
539
+ borderColor: "#cccccc",
540
+ borderWidth: 1,
541
+ borderRadius: 0
542
+ },
543
+ isLayout: true,
544
+ children: [
545
+ {
546
+ type: "upload",
547
+ id: "temp-866a5e6a5a3896e3a2ebd59eb282ea22",
548
+ props: {
549
+ width: 12,
550
+ showLabel: true,
551
+ labelWidth: 90,
552
+ labelNewLine: false,
553
+ label: "文件上传",
554
+ fontSize: 12,
555
+ isBold: false,
556
+ color: "#000000",
557
+ showFlag: true,
558
+ multiple: false,
559
+ fileLimit: 1,
560
+ fileSize: 30,
561
+ fileSizeUnit: "MB",
562
+ fileType: ".jpg,.txt,.doc,.docx,.ppt,.pptx,.xls,.xlsx,.pdf"
563
+ },
564
+ isLayout: false,
565
+ allowRepeat: true,
566
+ allowModify: true
567
+ }
568
+ ],
569
+ allowRepeat: true,
570
+ allowModify: true
571
+ }
572
+ ],
573
+ allowRepeat: true,
574
+ allowModify: true
575
+ },
576
+ {
577
+ type: "post",
578
+ id: "972",
579
+ itemID: "972",
580
+ itemSourceType: null,
581
+ props: {
582
+ width: 12,
583
+ showLabel: true,
584
+ labelWidth: 90,
585
+ label: "岗位",
586
+ fontSize: 16,
587
+ isBold: false,
588
+ color: "#000000",
589
+ required: true,
590
+ requiredMessage: "必选项",
591
+ disabled: false,
592
+ showFlag: true,
593
+ statisticsFlag: true,
594
+ newLine: false,
595
+ labelNewLine: false,
596
+ departmentID: 373,
597
+ type: "selector",
598
+ clearable: true,
599
+ options: [
600
+ {
601
+ value: "1",
602
+ label: "白班责护",
603
+ itemSourceType: null,
604
+ inputEnable: false
605
+ },
606
+ {
607
+ value: "2",
608
+ label: "晚班责护",
609
+ itemSourceType: null,
610
+ inputEnable: false
611
+ },
612
+ {
613
+ value: "3",
614
+ label: "夜班责护",
615
+ itemSourceType: null,
616
+ inputEnable: false
617
+ },
618
+ {
619
+ value: "4",
620
+ label: "治疗班",
621
+ itemSourceType: null,
622
+ inputEnable: false
623
+ },
624
+ {
625
+ value: "5",
626
+ label: "主班",
627
+ itemSourceType: null,
628
+ inputEnable: false
629
+ },
630
+ {
631
+ value: "6",
632
+ label: "帮班",
633
+ itemSourceType: null,
634
+ inputEnable: false
635
+ },
636
+ {
637
+ value: "9",
638
+ label: "行总班",
639
+ itemSourceType: null,
640
+ inputEnable: false
641
+ },
642
+ {
643
+ value: "14",
644
+ label: "行政班",
645
+ itemSourceType: null,
646
+ inputEnable: false
647
+ },
648
+ {
649
+ value: "10",
650
+ label: "医生岗",
651
+ itemSourceType: null,
652
+ inputEnable: false
653
+ },
654
+ {
655
+ value: "20",
656
+ label: "保洁岗",
657
+ itemSourceType: null,
658
+ inputEnable: false
659
+ },
660
+ {
661
+ value: "30",
662
+ label: "其他科室",
663
+ itemSourceType: null,
664
+ inputEnable: false
665
+ }
666
+ ]
667
+ },
668
+ isLayout: false,
669
+ children: null
670
+ },
671
+ {
672
+ type: "employee",
673
+ id: "973",
674
+ itemID: "973",
675
+ itemSourceType: null,
676
+ props: {
677
+ width: 12,
678
+ showLabel: true,
679
+ labelWidth: 90,
680
+ label: "人员",
681
+ fontSize: 16,
682
+ isBold: false,
683
+ color: "#000000",
684
+ required: true,
685
+ requiredMessage: "必选项",
686
+ disabled: false,
687
+ showFlag: true,
688
+ statisticsFlag: true,
689
+ newLine: false,
690
+ labelNewLine: false,
691
+ departmentID: 373,
692
+ type: "radio",
693
+ showRemark: true,
694
+ remarkLabel: "实习生",
695
+ clearable: true,
696
+ options: [
697
+ {
698
+ value: "108687",
699
+ label: "张锦",
700
+ itemSourceType: null,
701
+ inputEnable: false
702
+ },
703
+ {
704
+ value: "108707",
705
+ label: "李雪艳",
706
+ itemSourceType: null,
707
+ inputEnable: false
708
+ },
709
+ {
710
+ value: "128354",
711
+ label: "吴玉娟",
712
+ itemSourceType: null,
713
+ inputEnable: false
714
+ },
715
+ {
716
+ value: "134885",
717
+ label: "刘旭满",
718
+ itemSourceType: null,
719
+ inputEnable: false
720
+ },
721
+ {
722
+ value: "142180",
723
+ label: "郭冰滑",
724
+ itemSourceType: null,
725
+ inputEnable: false
726
+ },
727
+ {
728
+ value: "147431",
729
+ label: "李建苹",
730
+ itemSourceType: null,
731
+ inputEnable: false
732
+ },
733
+ {
734
+ value: "157067",
735
+ label: "张莉华",
736
+ itemSourceType: null,
737
+ inputEnable: false
738
+ },
739
+ {
740
+ value: "157977",
741
+ label: "魏宇捷",
742
+ itemSourceType: null,
743
+ inputEnable: false
744
+ },
745
+ {
746
+ value: "158501",
747
+ label: "马莹",
748
+ itemSourceType: null,
749
+ inputEnable: false
750
+ },
751
+ {
752
+ value: "159236",
753
+ label: "张蕊蕊",
754
+ itemSourceType: null,
755
+ inputEnable: false
756
+ },
757
+ {
758
+ value: "159615",
759
+ label: "袁晓莹",
760
+ itemSourceType: null,
761
+ inputEnable: false
762
+ },
763
+ {
764
+ value: "160185",
765
+ label: "张瑞霞",
766
+ itemSourceType: null,
767
+ inputEnable: false
768
+ },
769
+ {
770
+ value: "160528",
771
+ label: "张梦薇",
772
+ itemSourceType: null,
773
+ inputEnable: false
774
+ },
775
+ {
776
+ value: "161226",
777
+ label: "王晴",
778
+ itemSourceType: null,
779
+ inputEnable: false
780
+ },
781
+ {
782
+ value: "161230",
783
+ label: "韩宝璐",
784
+ itemSourceType: null,
785
+ inputEnable: false
786
+ },
787
+ {
788
+ value: "162898",
789
+ label: "马瑶瑶",
790
+ itemSourceType: null,
791
+ inputEnable: false
792
+ },
793
+ {
794
+ value: "10",
795
+ label: "实习生",
796
+ itemSourceType: null,
797
+ inputEnable: false
798
+ },
799
+ {
800
+ value: "20",
801
+ label: "",
802
+ itemSourceType: null,
803
+ inputEnable: false
804
+ }
805
+ ]
806
+ },
807
+ isLayout: false,
808
+ children: null
809
+ },
810
+ {
811
+ type: "groupLayout",
812
+ id: "303",
813
+ itemID: "303",
814
+ itemSourceType: "HierarchicalQCAssessList",
815
+ props: {
816
+ width: 12,
817
+ showLabel: true,
818
+ labelWidth: 90,
819
+ labelNewLine: false,
820
+ label: "基础护理1",
821
+ fontSize: 14,
822
+ isBold: true,
823
+ color: "#000000",
824
+ showFlag: true,
825
+ backgroundColor: "#ffffff",
826
+ showBorder: true,
827
+ borderStyle: "solid",
828
+ borderColor: "#cccccc",
829
+ borderWidth: 1,
830
+ borderRadius: 0
831
+ },
832
+ isLayout: true,
833
+ children: [
834
+ {
835
+ type: "grade",
836
+ id: "100035",
837
+ itemID: "100035",
838
+ itemSourceType: "HierarchicalQCAssessList",
839
+ props: {
840
+ width: 12,
841
+ showLabel: true,
842
+ labelWidth: 90,
843
+ label: "测试22",
844
+ fontSize: 12,
845
+ isBold: true,
846
+ color: "#EF0F0F",
847
+ required: true,
848
+ requiredMessage: "必选项",
849
+ disabled: false,
850
+ showFlag: true,
851
+ statisticsFlag: true,
852
+ newLine: false,
853
+ labelNewLine: false,
854
+ maxScore: 5,
855
+ showZero: true,
856
+ showNotGrade: true,
857
+ showProblem: true,
858
+ showBrightSpot: true,
859
+ scoreReverseFlag: true,
860
+ disabledConditionContent: "",
861
+ disabledConditionExpression: "",
862
+ disabledConditions: []
863
+ },
864
+ isLayout: false,
865
+ children: null
866
+ },
867
+ {
868
+ type: "grade",
869
+ id: "100034",
870
+ itemID: "100034",
871
+ itemSourceType: "HierarchicalQCAssessList",
872
+ props: {
873
+ width: 12,
874
+ showLabel: true,
875
+ labelWidth: 90,
876
+ label: "卧床",
877
+ fontSize: 12,
878
+ isBold: false,
879
+ color: "#000000",
880
+ required: true,
881
+ requiredMessage: "必选项",
882
+ disabled: false,
883
+ showFlag: true,
884
+ statisticsFlag: true,
885
+ newLine: false,
886
+ labelNewLine: false,
887
+ maxScore: 5,
888
+ showZero: true,
889
+ showNotGrade: true,
890
+ showProblem: true,
891
+ showBrightSpot: true,
892
+ scoreReverseFlag: true,
893
+ disabledConditionContent: "考评分数等于单项否决",
894
+ disabledConditionExpression: "'{5630}'==='-2'",
895
+ disabledConditions: [
896
+ {
897
+ itemID: "5630",
898
+ condition: "EQUALS",
899
+ value: "-2",
900
+ conditionType: "",
901
+ children: null
902
+ }
903
+ ]
904
+ },
905
+ isLayout: false,
906
+ children: null
907
+ },
908
+ {
909
+ type: "grade",
910
+ id: "5630",
911
+ itemID: "5630",
912
+ itemSourceType: "HierarchicalQCAssessList",
913
+ props: {
914
+ width: 12,
915
+ showLabel: true,
916
+ labelWidth: 90,
917
+ label: "考评分数",
918
+ fontSize: 12,
919
+ isBold: false,
920
+ color: "#000000",
921
+ required: false,
922
+ requiredMessage: "必选项",
923
+ disabled: false,
924
+ showFlag: true,
925
+ statisticsFlag: true,
926
+ newLine: false,
927
+ labelNewLine: false,
928
+ maxScore: 5,
929
+ showZero: true,
930
+ showNotGrade: true,
931
+ showProblem: true,
932
+ showBrightSpot: true,
933
+ scoreReverseFlag: true
934
+ },
935
+ isLayout: false,
936
+ children: null
937
+ }
938
+ ]
939
+ },
940
+ {
941
+ type: "radio",
942
+ id: "974",
943
+ itemID: "974",
944
+ itemSourceType: "HierarchicalQCAssessList",
945
+ props: {
946
+ width: 12,
947
+ showLabel: true,
948
+ labelWidth: 90,
949
+ label: "公共质量分类",
950
+ fontSize: 12,
951
+ isBold: false,
952
+ color: "#000000",
953
+ required: false,
954
+ defaultValue: "",
955
+ requiredMessage: "必选项",
956
+ disabled: true,
957
+ showFlag: true,
958
+ statisticsFlag: false,
959
+ newLine: false,
960
+ labelNewLine: false,
961
+ clearable: false,
962
+ options: [
963
+ {
964
+ value: "5570",
965
+ label: "患者身份识别护理质量",
966
+ itemSourceType: "HierarchicalQCAssessList",
967
+ inputEnable: true
968
+ },
969
+ {
970
+ value: "5571",
971
+ label: "护理查对(医嘱、标本采集)质量",
972
+ itemSourceType: "HierarchicalQCAssessList",
973
+ inputEnable: false
974
+ },
975
+ {
976
+ value: "5572",
977
+ label: "病区安全用药质量",
978
+ itemSourceType: "HierarchicalQCAssessList",
979
+ inputEnable: false
980
+ },
981
+ {
982
+ value: "5573",
983
+ label: "关键流程转科交接质",
984
+ itemSourceType: "HierarchicalQCAssessList",
985
+ inputEnable: false
986
+ },
987
+ {
988
+ value: "5574",
989
+ label: "输血管理质量",
990
+ itemSourceType: "HierarchicalQCAssessList",
991
+ inputEnable: false
992
+ },
993
+ {
994
+ value: "5575",
995
+ label: "住院患者身体约束护理质量",
996
+ itemSourceType: "HierarchicalQCAssessList",
997
+ inputEnable: false
998
+ },
999
+ {
1000
+ value: "5576",
1001
+ label: "抢救药械质量",
1002
+ itemSourceType: "HierarchicalQCAssessList",
1003
+ inputEnable: false
1004
+ },
1005
+ {
1006
+ value: "5577",
1007
+ label: "护理文书质量",
1008
+ itemSourceType: "HierarchicalQCAssessList",
1009
+ inputEnable: false
1010
+ },
1011
+ {
1012
+ value: "5578",
1013
+ label: "分级护理质量",
1014
+ itemSourceType: "HierarchicalQCAssessList",
1015
+ inputEnable: false
1016
+ },
1017
+ {
1018
+ value: "5579",
1019
+ label: "危重患者护理质量",
1020
+ itemSourceType: "HierarchicalQCAssessList",
1021
+ inputEnable: false
1022
+ },
1023
+ {
1024
+ value: "5580",
1025
+ label: "责任护士整体护理评估质量",
1026
+ itemSourceType: "HierarchicalQCAssessList",
1027
+ inputEnable: false
1028
+ },
1029
+ {
1030
+ value: "5581",
1031
+ label: "病区环境管理质量",
1032
+ itemSourceType: "HierarchicalQCAssessList",
1033
+ inputEnable: false
1034
+ },
1035
+ {
1036
+ value: "5582",
1037
+ label: "病区消毒隔离质量",
1038
+ itemSourceType: "HierarchicalQCAssessList",
1039
+ inputEnable: false
1040
+ },
1041
+ {
1042
+ value: "5583",
1043
+ label: "健康教育护理质量",
1044
+ itemSourceType: "HierarchicalQCAssessList",
1045
+ inputEnable: false
1046
+ },
1047
+ {
1048
+ value: "5584",
1049
+ label: "护理服务行为质量",
1050
+ itemSourceType: "HierarchicalQCAssessList",
1051
+ inputEnable: false
1052
+ },
1053
+ {
1054
+ value: "5585",
1055
+ label: "6S+库房管理质量",
1056
+ itemSourceType: "HierarchicalQCAssessList",
1057
+ inputEnable: false
1058
+ },
1059
+ {
1060
+ value: "5586",
1061
+ label: "患者费用管理质量",
1062
+ itemSourceType: "HierarchicalQCAssessList",
1063
+ inputEnable: false
1064
+ },
1065
+ {
1066
+ value: "5587",
1067
+ label: "预防住院患者跌倒/坠床质量",
1068
+ itemSourceType: "HierarchicalQCAssessList",
1069
+ inputEnable: false
1070
+ },
1071
+ {
1072
+ value: "5588",
1073
+ label: "预防住院患者压力性损伤质量",
1074
+ itemSourceType: "HierarchicalQCAssessList",
1075
+ inputEnable: false
1076
+ },
1077
+ {
1078
+ value: "5589",
1079
+ label: "预防住院患者导管非计划拔管质量",
1080
+ itemSourceType: "HierarchicalQCAssessList",
1081
+ inputEnable: false
1082
+ },
1083
+ {
1084
+ value: "5590",
1085
+ label: "预防住院患者呼吸机相关性肺炎质量",
1086
+ itemSourceType: "HierarchicalQCAssessList",
1087
+ inputEnable: false
1088
+ },
1089
+ {
1090
+ value: "5591",
1091
+ label: "预防住院患者导尿管相关尿路感染质量",
1092
+ itemSourceType: "HierarchicalQCAssessList",
1093
+ inputEnable: false
1094
+ },
1095
+ {
1096
+ value: "5592",
1097
+ label: "预防住院患者中心静脉导管相关血流感染护理质量",
1098
+ itemSourceType: "HierarchicalQCAssessList",
1099
+ inputEnable: false
1100
+ }
1101
+ ]
1102
+ },
1103
+ isLayout: false,
1104
+ children: null
1105
+ },
1106
+ {
1107
+ type: "checkbox",
1108
+ id: "100028",
1109
+ itemID: "100028",
1110
+ itemSourceType: "HierarchicalQCAssessList",
1111
+ props: {
1112
+ width: 12,
1113
+ showLabel: true,
1114
+ labelWidth: 90,
1115
+ label: "多选框",
1116
+ fontSize: 12,
1117
+ isBold: false,
1118
+ color: "#000000",
1119
+ required: false,
1120
+ requiredMessage: "必选项",
1121
+ disabled: false,
1122
+ showFlag: true,
1123
+ statisticsFlag: false,
1124
+ clearable: true,
1125
+ newLine: true,
1126
+ labelNewLine: false,
1127
+ options: [
1128
+ {
1129
+ value: "100029",
1130
+ label: "非分组选项1",
1131
+ itemSourceType: "HierarchicalQCAssessList",
1132
+ inputEnable: true
1133
+ },
1134
+ {
1135
+ value: "100030",
1136
+ label: "非分组选项2",
1137
+ itemSourceType: "HierarchicalQCAssessList",
1138
+ inputEnable: false
1139
+ }
1140
+ ]
1141
+ },
1142
+ isLayout: false,
1143
+ children: null
1144
+ },
1145
+ {
1146
+ type: "groupLayout",
1147
+ id: "100023",
1148
+ itemID: "100023",
1149
+ itemSourceType: "HierarchicalQCAssessList",
1150
+ props: {
1151
+ width: 12,
1152
+ showLabel: true,
1153
+ labelWidth: 90,
1154
+ labelNewLine: false,
1155
+ label: "测试分组面板",
1156
+ fontSize: 14,
1157
+ isBold: true,
1158
+ color: "#000000",
1159
+ showFlag: true,
1160
+ backgroundColor: "#ffffff",
1161
+ showBorder: false,
1162
+ borderStyle: "solid",
1163
+ borderColor: "#cccccc",
1164
+ borderWidth: 1,
1165
+ borderRadius: 0
1166
+ },
1167
+ isLayout: true,
1168
+ children: [
1169
+ {
1170
+ type: "radio",
1171
+ id: "100031",
1172
+ itemID: "100031",
1173
+ itemSourceType: "HierarchicalQCAssessList",
1174
+ props: {
1175
+ width: 12,
1176
+ showLabel: true,
1177
+ labelWidth: 90,
1178
+ label: "分组单选框",
1179
+ fontSize: 12,
1180
+ isBold: false,
1181
+ color: "#000000",
1182
+ required: false,
1183
+ requiredMessage: "必选项",
1184
+ disabled: false,
1185
+ showFlag: true,
1186
+ statisticsFlag: false,
1187
+ newLine: false,
1188
+ labelNewLine: false,
1189
+ options: [
1190
+ {
1191
+ value: "100032",
1192
+ label: "分组选项1",
1193
+ itemSourceType: "HierarchicalQCAssessList",
1194
+ inputEnable: false
1195
+ },
1196
+ {
1197
+ value: "100033",
1198
+ label: "分组选项2",
1199
+ itemSourceType: "HierarchicalQCAssessList",
1200
+ inputEnable: true
1201
+ }
1202
+ ]
1203
+ },
1204
+ isLayout: false,
1205
+ children: null
1206
+ },
1207
+ {
1208
+ type: "upload",
1209
+ id: "12628",
1210
+ itemID: "12628",
1211
+ itemSourceType: "HierarchicalQCAssessList",
1212
+ props: {
1213
+ width: 12,
1214
+ showLabel: true,
1215
+ labelWidth: 90,
1216
+ labelNewLine: false,
1217
+ label: "文件上传",
1218
+ fontSize: 12,
1219
+ isBold: false,
1220
+ color: "#000000",
1221
+ showFlag: true,
1222
+ multiple: true,
1223
+ fileLimit: 2,
1224
+ fileSize: 2,
1225
+ fileSizeUnit: "MB",
1226
+ fileType: ".jpg,.txt,.doc,.docx,.ppt,.pptx,.xls,.xlsx,.pdf"
1227
+ },
1228
+ isLayout: false,
1229
+ children: null
1230
+ },
1231
+ {
1232
+ type: "uploadImage",
1233
+ id: "12629",
1234
+ itemID: "12629",
1235
+ itemSourceType: "HierarchicalQCAssessList",
1236
+ props: {
1237
+ width: 12,
1238
+ showLabel: true,
1239
+ labelWidth: 90,
1240
+ labelNewLine: false,
1241
+ label: "图片上传",
1242
+ fontSize: 12,
1243
+ isBold: false,
1244
+ color: "#000000",
1245
+ showFlag: true,
1246
+ multiple: true,
1247
+ fileLimit: 2,
1248
+ fileSize: 2,
1249
+ fileSizeUnit: "MB",
1250
+ fileType: ".jpg,.jpeg,.png,.bmp"
1251
+ },
1252
+ isLayout: false,
1253
+ children: null
1254
+ }
1255
+ ]
1256
+ }
1257
+ ],
1258
+ datas: { "974": "5571" }
1259
+ });
1260
+ </script>