vue2-client 1.22.6 → 1.22.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/.claude/settings.local.json +30 -30
- package/.eslintrc.js +74 -74
- package/.idea/CopilotChatHistory.xml +39 -0
- package/.idea/MarsCodeWorkspaceAppSettings.xml +2 -1
- package/.idea/inspectionProfiles/Project_Default.xml +0 -18
- package/.idea/migrateChatHistory.xml +10 -0
- package/.idea/modules.xml +1 -1
- package/Components.md +60 -60
- package/index.js +31 -31
- package/jest-transform-stub.js +8 -8
- package/jest.setup.js +7 -7
- package/package.json +1 -1
- package/src/assets/img/querySlotDemo.svg +15 -15
- package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +120 -120
- package/src/base-client/components/common/CitySelect/index.js +3 -3
- package/src/base-client/components/common/CitySelect/index.md +109 -109
- package/src/base-client/components/common/FormGroupEdit/index.js +3 -3
- package/src/base-client/components/common/FormGroupEdit/index.md +43 -43
- package/src/base-client/components/common/JSONToTree/jsontotree.vue +271 -271
- package/src/base-client/components/common/PersonSetting/index.js +3 -3
- package/src/base-client/components/common/Tree/index.js +2 -2
- package/src/base-client/components/common/Upload/index.js +3 -3
- package/src/base-client/components/common/XAddNativeForm/index.md +146 -146
- package/src/base-client/components/common/XCard/XCard.vue +64 -64
- package/src/base-client/components/common/XDataDrawer/XDataDrawer.vue +180 -180
- package/src/base-client/components/common/XDataDrawer/index.js +3 -3
- package/src/base-client/components/common/XDataDrawer/index.md +41 -41
- package/src/base-client/components/common/XDescriptions/index.js +3 -3
- package/src/base-client/components/common/XDescriptions/index.md +382 -382
- package/src/base-client/components/common/XForm/index.md +178 -178
- package/src/base-client/components/common/XFormTable/demo.vue +134 -53
- package/src/base-client/components/common/XInspectionDetailDrawer/components/InspectionSummary.vue +8 -0
- package/src/base-client/components/common/XInspectionDetailDrawer/services/inspectionService.js +6 -1
- package/src/base-client/components/common/XStepView/XStepView.vue +252 -252
- package/src/base-client/components/common/XStepView/index.js +3 -3
- package/src/base-client/components/common/XStepView/index.md +31 -31
- package/src/base-client/components/common/XTable/index.md +255 -255
- package/src/base-client/components/his/HAi/HAi.vue +349 -141
- package/src/base-client/components/his/XList/XList.vue +130 -17
- package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +232 -232
- package/src/base-client/plugins/Config.js +19 -19
- package/src/base-client/plugins/tabs-page-plugin.js +39 -39
- package/src/components/Charts/Bar.vue +62 -62
- package/src/components/Charts/ChartCard.vue +134 -134
- package/src/components/Charts/Liquid.vue +67 -67
- package/src/components/Charts/MiniArea.vue +39 -39
- package/src/components/Charts/MiniBar.vue +39 -39
- package/src/components/Charts/MiniProgress.vue +75 -75
- package/src/components/Charts/MiniSmoothArea.vue +40 -40
- package/src/components/Charts/Radar.vue +68 -68
- package/src/components/Charts/RankList.vue +77 -77
- package/src/components/Charts/TagCloud.vue +113 -113
- package/src/components/Charts/TransferBar.vue +64 -64
- package/src/components/Charts/Trend.vue +82 -82
- package/src/components/Charts/chart.less +12 -12
- package/src/components/Charts/smooth.area.less +13 -13
- package/src/components/NumberInfo/NumberInfo.vue +54 -54
- package/src/components/NumberInfo/index.js +3 -3
- package/src/components/NumberInfo/index.less +54 -54
- package/src/components/NumberInfo/index.md +43 -43
- package/src/components/STable/index.js +953 -953
- package/src/components/card/ChartCard.vue +79 -79
- package/src/components/chart/Bar.vue +60 -60
- package/src/components/chart/MiniArea.vue +67 -67
- package/src/components/chart/MiniBar.vue +59 -59
- package/src/components/chart/MiniProgress.vue +57 -57
- package/src/components/chart/Radar.vue +80 -80
- package/src/components/chart/RankingList.vue +60 -60
- package/src/components/chart/Trend.vue +79 -79
- package/src/components/chart/index.less +9 -9
- package/src/components/checkbox/ColorCheckbox.vue +157 -157
- package/src/components/input/IInput.vue +66 -66
- package/src/components/menu/SideMenu.vue +75 -75
- package/src/components/menu/menu.js +273 -273
- package/src/components/tool/AStepItem.vue +60 -60
- package/src/layouts/CommonLayout.vue +56 -56
- package/src/lib.js +1 -1
- package/src/mock/extend/index.js +84 -84
- package/src/mock/goods/index.js +108 -108
- package/src/pages/WorkflowDetail/WorkFlowDemo4.vue +127 -0
- package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowBaseInformation.vue +417 -417
- package/src/pages/dashboard/workplace/WorkPlace.vue +141 -141
- package/src/pages/system/dictionary/index.vue +44 -44
- package/src/pages/system/monitor/loginInfor/index.vue +37 -37
- package/src/pages/system/monitor/operLog/index.vue +37 -37
- package/src/services/api/cas.js +79 -79
- package/src/store/modules/setting.js +119 -119
- package/src/utils/errorCode.js +6 -6
- package//350/277/201/347/247/273/346/227/245/345/277/227.md +15 -15
- package/.idea/google-java-format.xml +0 -6
- package/.idea/jsLinters/eslint.xml +0 -6
- package/.vscode/settings.json +0 -28
- /package/.idea/{vue2-client.iml → af-vue2-client.iml} +0 -0
|
@@ -134,8 +134,8 @@
|
|
|
134
134
|
@mouseenter="handleGroupMouseEnter(getGroupItemIndex(gIdx, index))"
|
|
135
135
|
@mouseleave="handleMouseLeave"
|
|
136
136
|
:class="{
|
|
137
|
-
'hover-active': hoveredIndex === getGroupItemIndex(gIdx, index),
|
|
138
|
-
'selected-active': enableSelectRow && currentSelectedIndex === getGroupItemIndex(gIdx, index)
|
|
137
|
+
'hover-active': !isEditingIndex(getGroupItemIndex(gIdx, index)) && hoveredIndex === getGroupItemIndex(gIdx, index),
|
|
138
|
+
'selected-active': !isEditingIndex(getGroupItemIndex(gIdx, index)) && enableSelectRow && currentSelectedIndex === getGroupItemIndex(gIdx, index)
|
|
139
139
|
}"
|
|
140
140
|
>
|
|
141
141
|
<span
|
|
@@ -143,7 +143,19 @@
|
|
|
143
143
|
:class="{ 'text-truncated': hoveredIndex === getGroupItemIndex(gIdx, index) }"
|
|
144
144
|
:style="getTextStyle(getGroupItemIndex(gIdx, index))"
|
|
145
145
|
>
|
|
146
|
-
<template v-if="showNumber">{{ getGroupItemIndex(gIdx, index) + 1 }}. </template>
|
|
146
|
+
<template v-if="showNumber">{{ getGroupItemIndex(gIdx, index) + 1 }}. </template>
|
|
147
|
+
<template v-if="editingIndex === getGroupItemIndex(gIdx, index)">
|
|
148
|
+
<a-input
|
|
149
|
+
:value="editingValue"
|
|
150
|
+
size="small"
|
|
151
|
+
@input="editingValue = $event.target.value"
|
|
152
|
+
@blur="finishEditing(getGroupItemIndex(gIdx, index))"
|
|
153
|
+
@keyup.enter="$event.target.blur()"
|
|
154
|
+
/>
|
|
155
|
+
</template>
|
|
156
|
+
<template v-else>
|
|
157
|
+
{{ item.label }}
|
|
158
|
+
</template>
|
|
147
159
|
</span>
|
|
148
160
|
|
|
149
161
|
<div v-if="button" class="button-group">
|
|
@@ -170,8 +182,12 @@
|
|
|
170
182
|
class="group-more-icon"
|
|
171
183
|
@click.stop="handleGroupIconClick(getGroupItemIndex(gIdx, index), $event)"
|
|
172
184
|
/>
|
|
173
|
-
<a-menu slot="overlay"
|
|
174
|
-
<a-menu-item
|
|
185
|
+
<a-menu slot="overlay">
|
|
186
|
+
<a-menu-item
|
|
187
|
+
v-for="opt in effectiveIconSelect"
|
|
188
|
+
:key="opt.value"
|
|
189
|
+
@click="handleGroupIconSelect(getGroupItemIndex(gIdx, index), opt)"
|
|
190
|
+
>
|
|
175
191
|
{{ opt.label }}
|
|
176
192
|
</a-menu-item>
|
|
177
193
|
</a-menu>
|
|
@@ -291,10 +307,10 @@ export default {
|
|
|
291
307
|
type: String,
|
|
292
308
|
default: 'af-his'
|
|
293
309
|
},
|
|
294
|
-
//
|
|
310
|
+
// 点击是否触发选中(默认点击即选中)
|
|
295
311
|
selectOnClick: {
|
|
296
312
|
type: Boolean,
|
|
297
|
-
default:
|
|
313
|
+
default: true
|
|
298
314
|
},
|
|
299
315
|
// 受控选中索引;不传则内部维护
|
|
300
316
|
selectedIndex: {
|
|
@@ -384,6 +400,9 @@ export default {
|
|
|
384
400
|
groupIconDropdownVisible: false,
|
|
385
401
|
activeGroupIconIndex: -1,
|
|
386
402
|
iconSelect: [], // 图标下拉选项列表
|
|
403
|
+
editingIndex: -1,
|
|
404
|
+
editingValue: '',
|
|
405
|
+
currentEditingOption: null
|
|
387
406
|
}
|
|
388
407
|
},
|
|
389
408
|
inject: ['getComponentByName'],
|
|
@@ -505,8 +524,10 @@ export default {
|
|
|
505
524
|
this.busy = true
|
|
506
525
|
this.loading = true
|
|
507
526
|
this.nowPage = this.nowPage + this.pageSize
|
|
508
|
-
|
|
509
|
-
|
|
527
|
+
const queryForm = Object.assign({}, this.fixedQueryForm, {
|
|
528
|
+
condition: `Limit ${this.nowPage}, ${this.pageSize}`
|
|
529
|
+
})
|
|
530
|
+
runLogic(this.logicName, queryForm, 'af-his')
|
|
510
531
|
.then(async res => {
|
|
511
532
|
this.localData = [...this.localData, ...res]
|
|
512
533
|
if (res.length < this.pageSize) {
|
|
@@ -752,6 +773,8 @@ export default {
|
|
|
752
773
|
this.setSelectedIndex(-1)
|
|
753
774
|
},
|
|
754
775
|
refreshList(param) {
|
|
776
|
+
this.nowPage = 0
|
|
777
|
+
this.allLoaded = false
|
|
755
778
|
this.getData(this.queryParamsName, param)
|
|
756
779
|
},
|
|
757
780
|
/**
|
|
@@ -808,19 +831,37 @@ export default {
|
|
|
808
831
|
setSelectedById(id, field = 'id') {
|
|
809
832
|
const list = this.listMode ? this.localData : this.data
|
|
810
833
|
if (!Array.isArray(list)) return
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
const
|
|
814
|
-
|
|
834
|
+
if (this.listMode) {
|
|
835
|
+
for (let gIdx = 0; gIdx < list.length; gIdx++) {
|
|
836
|
+
const row = list[gIdx]
|
|
837
|
+
if (!Array.isArray(row.titlelist)) continue
|
|
838
|
+
const innerIndex = row.titlelist.findIndex(item => item && item[field] === id)
|
|
839
|
+
if (innerIndex >= 0) {
|
|
840
|
+
this.setSelectedIndex(this.getGroupItemIndex(gIdx, innerIndex))
|
|
841
|
+
return
|
|
842
|
+
}
|
|
815
843
|
}
|
|
816
|
-
return
|
|
817
|
-
}
|
|
844
|
+
return
|
|
845
|
+
}
|
|
846
|
+
const index = list.findIndex(item => item && item[field] === id)
|
|
818
847
|
if (index >= 0) this.setSelectedIndex(index)
|
|
819
848
|
},
|
|
820
849
|
// 根据 label/value(卡片数组数据场景)匹配选中
|
|
821
850
|
setSelectedByLabelValue(label, value) {
|
|
822
851
|
const list = this.listMode ? this.localData : this.data
|
|
823
852
|
if (!Array.isArray(list)) return
|
|
853
|
+
if (this.listMode) {
|
|
854
|
+
for (let gIdx = 0; gIdx < list.length; gIdx++) {
|
|
855
|
+
const row = list[gIdx]
|
|
856
|
+
if (!Array.isArray(row.titlelist)) continue
|
|
857
|
+
const innerIndex = row.titlelist.findIndex(item => item && item.label === label && item.value === value)
|
|
858
|
+
if (innerIndex >= 0) {
|
|
859
|
+
this.setSelectedIndex(this.getGroupItemIndex(gIdx, innerIndex))
|
|
860
|
+
return
|
|
861
|
+
}
|
|
862
|
+
}
|
|
863
|
+
return
|
|
864
|
+
}
|
|
824
865
|
const index = list.findIndex(
|
|
825
866
|
item => Array.isArray(item) && item.some(d => d && d.label === label && d.value === value)
|
|
826
867
|
)
|
|
@@ -896,7 +937,74 @@ export default {
|
|
|
896
937
|
handleGroupIconSelect(index, opt) {
|
|
897
938
|
this.groupIconDropdownVisible = false
|
|
898
939
|
this.activeGroupIconIndex = -1
|
|
899
|
-
|
|
940
|
+
try {
|
|
941
|
+
const opts = Array.isArray(this.effectiveIconSelect) ? this.effectiveIconSelect : []
|
|
942
|
+
console.log('[XList] effectiveIconSelect=', JSON.stringify(opts), 'click opt=', JSON.stringify(opt))
|
|
943
|
+
} catch (e) {}
|
|
944
|
+
const action = (opt && opt.action) ? String(opt.action).trim().toLowerCase() : ''
|
|
945
|
+
const isEdit = action === 'edit' || action === 'rename'
|
|
946
|
+
if (isEdit) {
|
|
947
|
+
this.editingIndex = index
|
|
948
|
+
this.editingValue = this.getEditingValue(index)
|
|
949
|
+
this.currentEditingOption = opt
|
|
950
|
+
this.$nextTick(() => {
|
|
951
|
+
const el = this.$el.querySelector('.editing-input')
|
|
952
|
+
if (el) el.focus()
|
|
953
|
+
})
|
|
954
|
+
return
|
|
955
|
+
}
|
|
956
|
+
const eventName = opt && typeof opt.event === 'string' ? opt.event : 'groupIconSelect'
|
|
957
|
+
const data = this.getLocalItemByIndex(index)
|
|
958
|
+
this.$emit(eventName, { index, option: opt, data })
|
|
959
|
+
},
|
|
960
|
+
// 获取当前编辑项的初始文本
|
|
961
|
+
getEditingValue(index) {
|
|
962
|
+
const globalIndex = index
|
|
963
|
+
const item = this.getLocalItemByIndex(globalIndex)
|
|
964
|
+
return item ? String(item.label || '') : ''
|
|
965
|
+
},
|
|
966
|
+
isEditingIndex(index) {
|
|
967
|
+
return index === this.editingIndex
|
|
968
|
+
},
|
|
969
|
+
// 根据全局索引获取当前本地数据项
|
|
970
|
+
getLocalItemByIndex(globalIndex) {
|
|
971
|
+
if (!Array.isArray(this.localData)) return null
|
|
972
|
+
for (const row of this.localData) {
|
|
973
|
+
const list = Array.isArray(row.titlelist) ? row.titlelist : []
|
|
974
|
+
if (globalIndex < list.length) {
|
|
975
|
+
return list[globalIndex]
|
|
976
|
+
}
|
|
977
|
+
globalIndex -= list.length
|
|
978
|
+
}
|
|
979
|
+
return null
|
|
980
|
+
},
|
|
981
|
+
// 编辑完成
|
|
982
|
+
finishEditing(index) {
|
|
983
|
+
const trimmed = (this.editingValue || '').trim()
|
|
984
|
+
const option = this.currentEditingOption
|
|
985
|
+
this.editingIndex = -1
|
|
986
|
+
this.editingValue = ''
|
|
987
|
+
this.currentEditingOption = null
|
|
988
|
+
if (trimmed) {
|
|
989
|
+
this.updateLocalItemLabel(index, trimmed)
|
|
990
|
+
}
|
|
991
|
+
const data = this.getLocalItemByIndex(index)
|
|
992
|
+
const eventName = option && typeof option.event === 'string' ? option.event : 'groupIconSelect'
|
|
993
|
+
this.$emit(eventName, { index, option, label: trimmed, data })
|
|
994
|
+
},
|
|
995
|
+
// 更新本地数据 label
|
|
996
|
+
updateLocalItemLabel(index, label) {
|
|
997
|
+
const cloned = JSON.parse(JSON.stringify(this.localData || []))
|
|
998
|
+
let current = index
|
|
999
|
+
for (const row of cloned) {
|
|
1000
|
+
const list = Array.isArray(row.titlelist) ? row.titlelist : []
|
|
1001
|
+
if (current < list.length) {
|
|
1002
|
+
list[current].label = label
|
|
1003
|
+
break
|
|
1004
|
+
}
|
|
1005
|
+
current -= list.length
|
|
1006
|
+
}
|
|
1007
|
+
this.localData = cloned
|
|
900
1008
|
},
|
|
901
1009
|
// 清除所有定时器
|
|
902
1010
|
clearAllTimers() {
|
|
@@ -911,7 +1019,8 @@ export default {
|
|
|
911
1019
|
},
|
|
912
1020
|
// 选项框点击
|
|
913
1021
|
handleOptionClick(index, action) {
|
|
914
|
-
|
|
1022
|
+
const data = this.getLocalItemByIndex(index)
|
|
1023
|
+
this.$emit('optionClick', { data, action })
|
|
915
1024
|
},
|
|
916
1025
|
// 获取文本样式(简化版本,主要依赖CSS类控制)
|
|
917
1026
|
getTextStyle(index) {
|
|
@@ -1322,6 +1431,10 @@ export default {
|
|
|
1322
1431
|
|
|
1323
1432
|
/* 分组模式样式(enableGroupStyle) */
|
|
1324
1433
|
.x-list-enableGroupStyle {
|
|
1434
|
+
&.x-list-wrapper.list-wrapper {
|
|
1435
|
+
height: 100%;
|
|
1436
|
+
max-height: none !important;
|
|
1437
|
+
}
|
|
1325
1438
|
.x-list-group {
|
|
1326
1439
|
margin-bottom: 12px;
|
|
1327
1440
|
}
|