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.
- package/.idea/CopilotChatHistory.xml +39 -0
- package/.idea/MarsCodeWorkspaceAppSettings.xml +8 -0
- package/.idea/af-vue2-client.iml +5 -1
- package/.idea/inspectionProfiles/Project_Default.xml +0 -17
- package/.idea/migrateChatHistory.xml +10 -0
- package/package.json +1 -1
- package/src/base-client/components/common/HIS/HForm/HForm.vue +0 -1
- package/src/base-client/components/common/HIS/HFormTable/HFormTable.vue +131 -7
- package/src/base-client/components/common/XButtons/XButtons.vue +396 -396
- package/src/base-client/components/common/XForm/XFormItem.vue +17 -3
- package/src/base-client/components/common/XFormTable/demo.vue +134 -53
- package/src/base-client/components/common/XInspectionDetailDrawer/components/InspectionSummary.vue +6 -2
- package/src/base-client/components/common/XInspectionDetailDrawer/index.vue +14 -7
- package/src/base-client/components/common/XInspectionDetailDrawer/services/inspectionService.js +5 -0
- package/src/base-client/components/common/XReport/XReportTrGroup.vue +1005 -1005
- package/src/base-client/components/his/XHisEditor/XDocTree.vue +529 -529
- package/src/pages/WorkflowDetail/WorkFlowDemo4.vue +127 -0
- package/src/pages/WorkflowDetail/WorkflowDetail.vue +14 -5
- package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowBaseInformation.vue +417 -417
- package/vue.config.js +4 -4
- package/logs/afgit.config.log +0 -12
- package/logs/afgit.config.log.2026-02-27 +0 -7
- package/logs/afgit.config_error.log +0 -6
- 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>
|
package/.idea/af-vue2-client.iml
CHANGED
|
@@ -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>
|
package/package.json
CHANGED
|
@@ -286,12 +286,7 @@ const onExpandLog = () => {
|
|
|
286
286
|
})
|
|
287
287
|
}
|
|
288
288
|
|
|
289
|
-
|
|
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
|
-
|
|
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>
|