vue2-client 1.21.4 → 1.21.8

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 (24) hide show
  1. package/.idea/CopilotChatHistory.xml +39 -0
  2. package/.idea/MarsCodeWorkspaceAppSettings.xml +8 -0
  3. package/.idea/af-vue2-client.iml +5 -1
  4. package/.idea/inspectionProfiles/Project_Default.xml +0 -17
  5. package/.idea/migrateChatHistory.xml +10 -0
  6. package/package.json +1 -1
  7. package/src/base-client/components/common/HIS/HForm/HForm.vue +0 -1
  8. package/src/base-client/components/common/HIS/HFormTable/HFormTable.vue +131 -7
  9. package/src/base-client/components/common/XButtons/XButtons.vue +396 -396
  10. package/src/base-client/components/common/XForm/XFormItem.vue +17 -3
  11. package/src/base-client/components/common/XFormTable/demo.vue +134 -53
  12. package/src/base-client/components/common/XInspectionDetailDrawer/components/InspectionSummary.vue +6 -2
  13. package/src/base-client/components/common/XInspectionDetailDrawer/index.vue +14 -7
  14. package/src/base-client/components/common/XInspectionDetailDrawer/services/inspectionService.js +5 -0
  15. package/src/base-client/components/common/XReport/XReportTrGroup.vue +1005 -1005
  16. package/src/base-client/components/his/XHisEditor/XDocTree.vue +529 -529
  17. package/src/pages/WorkflowDetail/WorkFlowDemo4.vue +127 -0
  18. package/src/pages/WorkflowDetail/WorkflowDetail.vue +14 -5
  19. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowBaseInformation.vue +417 -417
  20. package/vue.config.js +4 -4
  21. package/logs/afgit.config.log +0 -12
  22. package/logs/afgit.config.log.2026-02-27 +0 -7
  23. package/logs/afgit.config_error.log +0 -6
  24. package/logs/afgit.config_error.log.2026-02-27 +0 -3
@@ -0,0 +1,39 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="CopilotChatHistory">
4
+ <option name="conversations">
5
+ <list>
6
+ <Conversation>
7
+ <option name="createTime" value="1751936027311" />
8
+ <option name="id" value="0197e7864aaf7383abd8fcc579d97f0e" />
9
+ <option name="title" value="新对话 2025年7月08日 08:53:47" />
10
+ <option name="updateTime" value="1751936027311" />
11
+ </Conversation>
12
+ <Conversation>
13
+ <option name="createTime" value="1751504039181" />
14
+ <option name="id" value="0197cdc6ad0d74de92481b3b338ef77d" />
15
+ <option name="title" value="新对话 2025年7月03日 08:53:59" />
16
+ <option name="updateTime" value="1751504039181" />
17
+ </Conversation>
18
+ <Conversation>
19
+ <option name="createTime" value="1751417570211" />
20
+ <option name="id" value="0197c89f43a37f5aa39c941d198784ba" />
21
+ <option name="title" value="新对话 2025年7月02日 08:52:50" />
22
+ <option name="updateTime" value="1751417570211" />
23
+ </Conversation>
24
+ <Conversation>
25
+ <option name="createTime" value="1750899191763" />
26
+ <option name="id" value="0197a9b96fd37d9e8fb5269c9fc6f3ec" />
27
+ <option name="title" value="新对话 2025年6月26日 08:53:11" />
28
+ <option name="updateTime" value="1750899191763" />
29
+ </Conversation>
30
+ <Conversation>
31
+ <option name="createTime" value="1750380684498" />
32
+ <option name="id" value="01978ad1a4d27fcbab7810685ef316e7" />
33
+ <option name="title" value="新对话 2025年6月20日 08:51:24" />
34
+ <option name="updateTime" value="1750380684498" />
35
+ </Conversation>
36
+ </list>
37
+ </option>
38
+ </component>
39
+ </project>
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="com.codeverse.userSettings.MarscodeWorkspaceAppSettingsState">
4
+ <option name="chatAppRouterInfo" value="builder/691d37a10c28806eaf3d4104" />
5
+ <option name="ckgOperationStatus" value="SUCCESS" />
6
+ <option name="progress" value="1.0" />
7
+ </component>
8
+ </project>
@@ -1,7 +1,11 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
2
  <module type="WEB_MODULE" version="4">
3
3
  <component name="NewModuleRootManager">
4
- <content url="file://$MODULE_DIR$" />
4
+ <content url="file://$MODULE_DIR$">
5
+ <excludeFolder url="file://$MODULE_DIR$/.tmp" />
6
+ <excludeFolder url="file://$MODULE_DIR$/temp" />
7
+ <excludeFolder url="file://$MODULE_DIR$/tmp" />
8
+ </content>
5
9
  <orderEntry type="inheritedJdk" />
6
10
  <orderEntry type="sourceFolder" forTests="false" />
7
11
  </component>
@@ -2,22 +2,5 @@
2
2
  <profile version="1.0">
3
3
  <option name="myName" value="Project Default" />
4
4
  <inspection_tool class="Eslint" enabled="true" level="WARNING" enabled_by_default="true" />
5
- <inspection_tool class="HtmlUnknownTag" enabled="true" level="WARNING" enabled_by_default="true">
6
- <option name="myValues">
7
- <value>
8
- <list size="7">
9
- <item index="0" class="java.lang.String" itemvalue="nobr" />
10
- <item index="1" class="java.lang.String" itemvalue="noembed" />
11
- <item index="2" class="java.lang.String" itemvalue="comment" />
12
- <item index="3" class="java.lang.String" itemvalue="noscript" />
13
- <item index="4" class="java.lang.String" itemvalue="embed" />
14
- <item index="5" class="java.lang.String" itemvalue="script" />
15
- <item index="6" class="java.lang.String" itemvalue="a-descriptions-item" />
16
- </list>
17
- </value>
18
- </option>
19
- <option name="myCustomValuesEnabled" value="true" />
20
- </inspection_tool>
21
- <inspection_tool class="UsePropertyAccessSyntax" enabled="true" level="WEAK WARNING" enabled_by_default="true" />
22
5
  </profile>
23
6
  </component>
@@ -0,0 +1,10 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="MigrateChatHistoryStorage">
4
+ <option name="migratedHistories">
5
+ <list>
6
+ <option value="361d659190747ec3ba09aff10517e3b0" />
7
+ </list>
8
+ </option>
9
+ </component>
10
+ </project>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vue2-client",
3
- "version": "1.21.4",
3
+ "version": "1.21.8",
4
4
  "private": false,
5
5
  "scripts": {
6
6
  "serve": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint",
@@ -996,7 +996,6 @@ defineExpose({
996
996
  font-size: 16px;
997
997
  font-weight: normal;
998
998
  letter-spacing: 0em;
999
- font-variation-settings: "opsz" auto;
1000
999
  font-feature-settings: "kern" on;
1001
1000
  color: #313131;
1002
1001
 
@@ -286,12 +286,7 @@ const onExpandLog = () => {
286
286
  })
287
287
  }
288
288
 
289
- onMounted(() => {
290
- nextTick(() => {
291
- setupHeightSync()
292
- syncFixedExpandedHeights()
293
- })
294
- })
289
+
295
290
 
296
291
  onBeforeUnmount(() => {
297
292
  try {
@@ -328,6 +323,85 @@ defineExpose({
328
323
  getXFormTableInstance: () => xFormTableRef.value,
329
324
  waitConfigEnd: () => xFormTableRef.value?.waitConfigEnd?.() ?? Promise.resolve()
330
325
  })
326
+
327
+ // 在 setup 函数中添加
328
+ const setupSmartMultiselect = () => {
329
+ nextTick(() => {
330
+ const wrapper = wrapperRef.value
331
+ if (!wrapper) return
332
+
333
+ // 检测并修复所有多选框
334
+ const fixMultiselectScrollbar = () => {
335
+ const selects = wrapper.querySelectorAll('.ant-select-selection--multiple')
336
+
337
+ selects.forEach(select => {
338
+ const rendered = select.querySelector('.ant-select-selection__rendered')
339
+ const contentUl = select.querySelector('.ant-select-selection__rendered > ul')
340
+
341
+ if (!rendered || !contentUl) return
342
+
343
+ // 计算实际内容宽度
344
+ const contentWidth = contentUl.scrollWidth
345
+ const containerWidth = rendered.clientWidth
346
+
347
+ // 判断是否需要滚动条(内容宽度 > 容器宽度)
348
+ const needsScroll = contentWidth > containerWidth
349
+
350
+ if (needsScroll) {
351
+ // 需要滚动条
352
+ select.style.setProperty('overflow-x', 'auto', 'important')
353
+ select.classList.add('needs-scroll')
354
+ } else {
355
+ // 不需要滚动条
356
+ select.style.setProperty('overflow-x', 'hidden', 'important')
357
+ select.classList.remove('needs-scroll')
358
+ }
359
+ })
360
+ }
361
+
362
+ // 使用 MutationObserver 监听多选框内容变化
363
+ const observer = new MutationObserver(() => {
364
+ // 延迟执行,等待 DOM 更新完成
365
+ setTimeout(fixMultiselectScrollbar, 50)
366
+ })
367
+
368
+ // 监听整个表格区域的 DOM 变化
369
+ const mainTable = queryFirst(wrapper, MAIN_TBODY_SELECTORS)
370
+ if (mainTable) {
371
+ observer.observe(mainTable, {
372
+ childList: true,
373
+ subtree: true,
374
+ attributes: true,
375
+ attributeFilter: ['class']
376
+ })
377
+ }
378
+
379
+ // 监听窗口大小变化
380
+ window.addEventListener('resize', fixMultiselectScrollbar)
381
+
382
+ // 初始执行
383
+ fixMultiselectScrollbar()
384
+
385
+ // 保存 observer 以便清理
386
+ return observer
387
+ })
388
+ }
389
+
390
+ // 在 onMounted 中调用
391
+ onMounted(() => {
392
+ nextTick(() => {
393
+ setupHeightSync()
394
+ syncFixedExpandedHeights()
395
+ const multiselectObserver = setupSmartMultiselect()
396
+
397
+ // 清理 observer
398
+ if (multiselectObserver) {
399
+ onBeforeUnmount(() => {
400
+ multiselectObserver.disconnect()
401
+ })
402
+ }
403
+ })
404
+ })
331
405
  </script>
332
406
 
333
407
  <template>
@@ -683,7 +757,7 @@ defineExpose({
683
757
  }
684
758
  }
685
759
  </style>
686
- <!-- 非scoped样式:全局覆盖表格内下拉框宽度 -->
760
+ // 非scoped样式:全局覆盖表格内下拉框宽度
687
761
  <style lang="less">
688
762
  .h-form-table-wrapper {
689
763
  // 只针对普通数据行的单元格,排除展开行
@@ -705,5 +779,55 @@ defineExpose({
705
779
  width: 100% !important;
706
780
  }
707
781
  }
782
+
783
+ // ========== 多选框横向滚动优化 ==========
784
+ .ant-select-selection--multiple {
785
+ overflow-y: hidden !important;
786
+ // 默认隐藏滚动条,由 JS 动态控制 overflow-x
787
+ overflow-x: hidden !important;
788
+ }
789
+
790
+ .ant-select-selection--multiple .ant-select-selection__rendered {
791
+ display: flex !important;
792
+ overflow: visible !important;
793
+ min-width: auto !important;
794
+ max-width: 100% !important;
795
+ }
796
+
797
+ // 内容容器使用 nowrap 保持横向排列
798
+ .ant-select-selection--multiple .ant-select-selection__rendered > ul {
799
+ display: flex !important;
800
+ flex-wrap: nowrap !important; // 保持横向排列
801
+ align-items: center !important;
802
+ gap: 4px !important;
803
+ margin: 0 !important;
804
+ padding: 2px 0 !important;
805
+ width: auto !important;
806
+ min-width: min-content !important;
807
+ }
808
+
809
+ // 每个选项标签
810
+ .ant-select-selection--multiple .ant-select-selection__choice {
811
+ display: inline-flex !important;
812
+ flex-shrink: 0 !important;
813
+ margin: 0 4px 0 0 !important;
814
+ }
815
+
816
+ // 搜索输入框
817
+ .ant-select-selection--multiple .ant-select-search--inline {
818
+ display: inline-flex !important;
819
+ flex-shrink: 0 !important;
820
+ margin: 0 !important;
821
+ }
822
+
823
+ .ant-select-selection--multiple .ant-select-search__field__wrap {
824
+ display: inline-flex !important;
825
+ }
826
+
827
+ // 需要滚动时添加的样式(由 JS 动态添加)
828
+ .ant-select-selection--multiple.needs-scroll {
829
+ overflow-x: auto !important;
830
+ }
831
+ // ========== 结束 ==========
708
832
  }
709
833
  </style>