vue2-client 1.15.93 → 1.15.96

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 (147) hide show
  1. package/docs//345/207/275/346/225/260/344/275/277/347/224/250/347/233/270/345/205/263.md +0 -6
  2. package/package.json +1 -1
  3. package/src/base-client/components/common/XFormTable/demo.vue +2 -2
  4. package/src/base-client/components/his/XHisEditor/XHisEditor.vue +2 -52
  5. package/src/base-client/components/his/XImportExcelButton/XFrontImportExcel.vue +11 -7
  6. package/src/base-client/components/his/XImportExcelButton/XFrontImportExcelDemo.vue +1 -1
  7. package/src/base-client/components/his/XList/XList.vue +1 -1
  8. package/src/base-client/components/his/XTextCard/XTextCard.vue +207 -207
  9. package/src/base-client/components/his/threeTestOrders/editor.vue +111 -111
  10. package/src/layouts/BlankView.vue +5 -3
  11. package/src/pages/WorkflowDetail/WorkflowDetail.vue +5 -5
  12. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowBaseInformation.vue +1 -1
  13. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowBaseInformationDetails.vue +1 -1
  14. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowHandle.vue +4 -4
  15. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowTimeline.vue +1 -1
  16. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkOrderParentDetails.vue +2 -6
  17. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowListResolution.vue +2 -2
  18. package/src/router/async/router.map.js +2 -1
  19. package/src/utils/routerUtil.js +16 -2
  20. package/.history/public/his/editor/editor_20250606134713.html +0 -51
  21. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527173925.vue +0 -509
  22. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527174316.vue +0 -524
  23. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527174419.vue +0 -524
  24. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527174422.vue +0 -524
  25. package/.history/src/base-client/components/common/XAddReport/XAddReport_20250611172825.vue +0 -207
  26. package/.history/src/base-client/components/common/XAddReport/XAddReport_20250611172945.vue +0 -211
  27. package/.history/src/base-client/components/common/XAddReport/XAddReport_20250611172949.vue +0 -212
  28. package/.history/src/base-client/components/common/XAddReport/XAddReport_20250611173010.vue +0 -212
  29. package/.history/src/base-client/components/common/XForm/XFormItem_20250508134122.vue +0 -1320
  30. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171604.vue +0 -1332
  31. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171613.vue +0 -1331
  32. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171703.vue +0 -1331
  33. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171720.vue +0 -1331
  34. package/.history/src/base-client/components/common/XForm/XFormItem_20250527174327.vue +0 -1339
  35. package/.history/src/base-client/components/common/XReportGrid/XReportTrGroup_20250612092804.vue +0 -731
  36. package/.history/src/base-client/components/common/XReportGrid/XReportTrGroup_20250612112546.vue +0 -748
  37. package/.history/src/base-client/components/common/XReportGrid/XReportTrGroup_20250612113808.vue +0 -748
  38. package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115237.vue +0 -1071
  39. package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115346.vue +0 -1078
  40. package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115350.vue +0 -1077
  41. package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115415.vue +0 -1077
  42. package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115429.vue +0 -1077
  43. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611091619.vue +0 -442
  44. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092547.vue +0 -442
  45. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092552.vue +0 -442
  46. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092744.vue +0 -475
  47. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092955.vue +0 -475
  48. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092957.vue +0 -475
  49. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611095652.vue +0 -477
  50. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611095701.vue +0 -477
  51. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611095704.vue +0 -477
  52. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100005.vue +0 -473
  53. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100011.vue +0 -473
  54. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100014.vue +0 -473
  55. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100833.vue +0 -473
  56. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100853.vue +0 -473
  57. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100940.vue +0 -473
  58. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101011.vue +0 -473
  59. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101013.vue +0 -473
  60. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101014.vue +0 -473
  61. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101159.vue +0 -473
  62. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101238.vue +0 -474
  63. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101240.vue +0 -474
  64. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101242.vue +0 -474
  65. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101404.vue +0 -472
  66. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101410.vue +0 -472
  67. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101459.vue +0 -472
  68. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101500.vue +0 -472
  69. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101502.vue +0 -472
  70. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101504.vue +0 -472
  71. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101610.vue +0 -501
  72. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101700.vue +0 -501
  73. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101702.vue +0 -501
  74. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101741.vue +0 -504
  75. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101749.vue +0 -504
  76. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101759.vue +0 -504
  77. package/.history/src/base-client/components/his/XHisEditor/dome_20250611091349.vue +0 -131
  78. package/.history/src/base-client/components/his/XHisEditor/dome_20250611105854.vue +0 -160
  79. package/.history/src/base-client/components/his/XHisEditor/dome_20250611105902.vue +0 -160
  80. package/.history/src/base-client/components/his/XHisEditor/dome_20250611105924.vue +0 -160
  81. package/.history/src/base-client/components/his/XHisEditor/dome_20250611105932.vue +0 -158
  82. package/.history/src/base-client/components/his/XList/XList_20250609135848.vue +0 -173
  83. package/.history/src/base-client/components/his/XList/XList_20250609141026.vue +0 -222
  84. package/.history/src/base-client/components/his/XList/XList_20250609141035.vue +0 -229
  85. package/.history/src/base-client/components/his/XList/XList_20250609141103.vue +0 -229
  86. package/.history/src/base-client/components/his/XList/XList_20250609141105.vue +0 -229
  87. package/.history/src/base-client/components/his/XList/XList_20250609141334.vue +0 -241
  88. package/.history/src/base-client/components/his/XList/XList_20250609141404.vue +0 -241
  89. package/.history/src/base-client/components/his/XList/XList_20250609141406.vue +0 -241
  90. package/.history/src/base-client/components/his/XList/XList_20250609141801.vue +0 -245
  91. package/.history/src/base-client/components/his/XList/XList_20250609142033.vue +0 -245
  92. package/.history/src/base-client/components/his/XList/XList_20250609142038.vue +0 -245
  93. package/.history/src/base-client/components/his/XList/XList_20250609142435.vue +0 -255
  94. package/.history/src/base-client/components/his/XList/XList_20250609142503.vue +0 -255
  95. package/.history/src/base-client/components/his/XList/XList_20250609142504.vue +0 -255
  96. package/.history/src/base-client/components/his/XList/XList_20250609143012.vue +0 -270
  97. package/.history/src/base-client/components/his/XList/XList_20250609143044.vue +0 -270
  98. package/.history/src/base-client/components/his/XList/XList_20250609143046.vue +0 -270
  99. package/.history/src/base-client/components/his/XList/XList_20250609143210.vue +0 -270
  100. package/.history/src/base-client/components/his/XList/XList_20250609144339.vue +0 -294
  101. package/.history/src/base-client/components/his/XList/XList_20250609144410.vue +0 -294
  102. package/.history/src/base-client/components/his/XList/XList_20250609144412.vue +0 -294
  103. package/.history/src/base-client/components/his/XList/XList_20250609144647.vue +0 -303
  104. package/.history/src/base-client/components/his/XList/XList_20250609144716.vue +0 -303
  105. package/.history/src/base-client/components/his/XList/XList_20250609144729.vue +0 -303
  106. package/.history/src/base-client/components/his/XList/XList_20250609151232.vue +0 -288
  107. package/.history/src/base-client/components/his/XList/XList_20250609151247.vue +0 -288
  108. package/.history/src/base-client/components/his/XList/XList_20250609151252.vue +0 -288
  109. package/.history/src/base-client/components/his/XList/XList_20250609161220.vue +0 -317
  110. package/.history/src/base-client/components/his/XList/XList_20250609161258.vue +0 -306
  111. package/.history/src/base-client/components/his/XList/XList_20250609161319.vue +0 -306
  112. package/.history/src/base-client/components/his/XList/XList_20250609161320.vue +0 -306
  113. package/.history/src/base-client/components/his/XList/XList_20250704142024.vue +0 -495
  114. package/.history/src/base-client/components/his/XList/XList_20250704142033.vue +0 -495
  115. package/.history/src/base-client/components/his/XList/XList_20250704142040.vue +0 -494
  116. package/.history/src/base-client/components/his/XList/XList_20250704142211.vue +0 -494
  117. package/.history/src/base-client/components/his/XList/XList_20250704142214.vue +0 -494
  118. package/.history/src/base-client/components/his/XList/XList_20250704143010.vue +0 -495
  119. package/.history/src/base-client/components/his/XList/XList_20250704143203.vue +0 -495
  120. package/.history/src/base-client/components/his/XList/XList_20250707095101.vue +0 -492
  121. package/.history/src/base-client/components/his/XList/XList_20250707100152.vue +0 -492
  122. package/.history/src/base-client/components/his/XList/XList_20250707100200.vue +0 -485
  123. package/.history/src/base-client/components/his/XList/XList_20250707100208.vue +0 -485
  124. package/.history/src/base-client/components/his/XList/XList_20250707100259.vue +0 -488
  125. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250609151519.vue +0 -222
  126. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250612155514.vue +0 -183
  127. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250612155556.vue +0 -183
  128. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250612155600.vue +0 -183
  129. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250612181609.vue +0 -206
  130. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250612181629.vue +0 -209
  131. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613095553.vue +0 -242
  132. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613095610.vue +0 -242
  133. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613095612.vue +0 -242
  134. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613100041.vue +0 -251
  135. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613100047.vue +0 -251
  136. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613100054.vue +0 -250
  137. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613100105.vue +0 -250
  138. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613100107.vue +0 -250
  139. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613100114.vue +0 -250
  140. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613140844.vue +0 -238
  141. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613140910.vue +0 -238
  142. package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613140912.vue +0 -238
  143. package/Users/objecrt/af-vue2-client/src/base-client/components/his/XShiftSchedule/XShiftSchedule.vue +0 -36
  144. package/src/base-client/components/TreeList/TreeList.vue +0 -91
  145. package/src/base-client/components/TreeList/TreeNode.vue +0 -81
  146. package/src/base-client/components/common/XCardSet/XTiltle.vue +0 -191
  147. package/src/base-client/components/his/XHisEditor/dome.vue +0 -144
@@ -1,229 +0,0 @@
1
- <template>
2
- <div class="list-wrapper">
3
- <a-list size="large" :data-source="data" itemLayout="horizontal" class="list-container" ref="listRef">
4
- <a-list-item
5
- slot="renderItem"
6
- slot-scope="item, index"
7
- class="list-item"
8
- @click="handleClick(index)"
9
- @mouseenter="handleMouseEnter(index)"
10
- @mouseleave="handleMouseLeave"
11
- >
12
- <i
13
- v-if="icon"
14
- class="icon-menu"
15
- :style="getIconStyle(item)"
16
- ></i>
17
- <span
18
- class="item-text">
19
- {{ item.number }} {{ item.name }}
20
- </span>
21
-
22
- <div v-if="button" class="button-group">
23
- <a-button
24
- v-for="(name, idx) in buttonNames"
25
- :key="idx"
26
- type="link"
27
- :class="['confirm-btn', buttonMode ? 'hover-btn' : '']"
28
- @click.stop="click(index, idx)"
29
- >
30
- {{ name }}
31
- </a-button>
32
- </div>
33
-
34
- <!-- 悬浮选项框 -->
35
- <div v-if="hoveredIndex === index" class="hover-options">
36
- <div class="hover-options-content">
37
- <a-button type="link" @click.stop="handleOptionClick(index, 'view')">查看</a-button>
38
- <a-button type="link" @click.stop="handleOptionClick(index, 'edit')">编辑</a-button>
39
- <a-button type="link" @click.stop="handleOptionClick(index, 'delete')">删除</a-button>
40
- </div>
41
- </div>
42
- </a-list-item>
43
- </a-list>
44
- </div>
45
- </template>
46
-
47
- <script>
48
-
49
- import { getConfigByName, runLogic } from '@vue2-client/services/api/common'
50
-
51
- export default {
52
- name: 'XList',
53
- props: {
54
- queryParamsName: {
55
- type: Object,
56
- default: null
57
- },
58
- fixedQueryForm: {
59
- type: Object,
60
- default: { condition: '1=1' }
61
- }
62
- },
63
- inject: ['getComponentByName'],
64
- data () {
65
- return {
66
- data: [],
67
- button: false,
68
- icon: false,
69
- buttonNames: [],
70
- buttonMode: false,
71
- hoveredIndex: -1
72
- }
73
- },
74
- created () {
75
- this.getData(this.queryParamsName, this.fixedQueryForm)
76
- },
77
- methods: {
78
- async getData (config, param) {
79
- const that = this
80
- getConfigByName(config, 'af-his', res => {
81
- that.button = res.button
82
- that.icon = res.icon
83
- that.buttonNames = res.buttonNames || []
84
- that.buttonMode = res.buttonMode || false
85
- runLogic(res.data, param, 'af-his').then(ress => {
86
- that.data = ress
87
- })
88
- })
89
- },
90
- handleClick (index) {
91
- this.$emit('listClick', this.data[index])
92
- },
93
- refreshList (param) {
94
- this.getData(this.queryParamsName, param)
95
- },
96
- click (index, buttonIndex) {
97
- this.$emit('click', { data: this.data[index], name: this.buttonNames[buttonIndex] })
98
- },
99
- getIconStyle (item) {
100
- return item.picture
101
- ? { backgroundImage: `url(${item.picture})` }
102
- : {}
103
- },
104
- filterData (par) {
105
- runLogic(this.queryParamsName, par, 'af-his').then(res => {
106
- this.data = res.data
107
- })
108
- },
109
- handleMouseEnter (index) {
110
- this.hoveredIndex = index
111
- },
112
- handleMouseLeave () {
113
- this.hoveredIndex = -1
114
- },
115
- handleOptionClick (index, action) {
116
- this.$emit('optionClick', { data: this.data[index], action })
117
- }
118
- },
119
- watch: {
120
- fixedQueryForm: {
121
- deep: true,
122
- handler (val) {
123
- this.refreshList(val)
124
- }
125
- }
126
- }
127
- }
128
- </script>
129
-
130
- <style scoped>
131
- .list-wrapper {
132
- max-height: 240px;
133
- overflow-y: auto;
134
- padding-right: 2px;
135
- }
136
-
137
- .list-container {
138
- width: 100%;
139
- }
140
-
141
- .list-item {
142
- height: 35px;
143
- border-radius: 6px;
144
- background-color: #F4F4F4;
145
- padding: 8px 15px;
146
- font-size: 16px;
147
- display: flex;
148
- align-items: center;
149
- width: 100%;
150
- border: 1px solid #D9D9D9;
151
- box-sizing: border-box;
152
- margin-bottom: 8px !important;
153
- position: relative;
154
- }
155
-
156
- .icon-menu {
157
- display: inline-block;
158
- width: 20px;
159
- height: 20px;
160
- background-color: #ccc;
161
- margin-right: 8px;
162
- }
163
-
164
- .item-text {
165
- flex: 1;
166
- }
167
-
168
- .confirm-btn {
169
- margin-left: auto;
170
- padding: 0 8px;
171
- }
172
-
173
- .confirm-btn.hover-btn {
174
- opacity: 0;
175
- transition: opacity 0.3s ease;
176
- }
177
-
178
- .button-group {
179
- display: flex;
180
- gap: 2px; /* 按钮之间的间距 */
181
- }
182
-
183
- .list-item:hover .confirm-btn.hover-btn {
184
- opacity: 1;
185
- }
186
-
187
- /* 自定义滚动条样式 */
188
- .list-wrapper::-webkit-scrollbar {
189
- width: 6px;
190
- }
191
-
192
- .list-wrapper::-webkit-scrollbar-thumb {
193
- background-color: #d9d9d9;
194
- border-radius: 3px;
195
- }
196
-
197
- .list-wrapper::-webkit-scrollbar-track {
198
- background-color: #f0f0f0;
199
- }
200
-
201
- .hover-options {
202
- position: absolute;
203
- left: 0;
204
- right: 0;
205
- top: 100%;
206
- background: white;
207
- border: 1px solid #d9d9d9;
208
- border-radius: 4px;
209
- box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
210
- z-index: 1000;
211
- margin-top: 4px;
212
- }
213
-
214
- .hover-options-content {
215
- padding: 8px;
216
- display: flex;
217
- flex-direction: column;
218
- gap: 4px;
219
- }
220
-
221
- .hover-options-content .ant-btn {
222
- text-align: left;
223
- padding: 4px 8px;
224
- }
225
-
226
- .hover-options-content .ant-btn:hover {
227
- background-color: #f5f5f5;
228
- }
229
- </style>
@@ -1,229 +0,0 @@
1
- <template>
2
- <div class="list-wrapper">
3
- <a-list size="large" :data-source="data" itemLayout="horizontal" class="list-container" ref="listRef">
4
- <a-list-item
5
- slot="renderItem"
6
- slot-scope="item, index"
7
- class="list-item"
8
- @click="handleClick(index)"
9
- @mouseenter="handleMouseEnter(index)"
10
- @mouseleave="handleMouseLeave"
11
- >
12
- <i
13
- v-if="icon"
14
- class="icon-menu"
15
- :style="getIconStyle(item)"
16
- ></i>
17
- <span
18
- class="item-text">
19
- {{ item.number }} {{ item.name }}
20
- </span>
21
-
22
- <div v-if="button" class="button-group">
23
- <a-button
24
- v-for="(name, idx) in buttonNames"
25
- :key="idx"
26
- type="link"
27
- :class="['confirm-btn', buttonMode ? 'hover-btn' : '']"
28
- @click.stop="click(index, idx)"
29
- >
30
- {{ name }}
31
- </a-button>
32
- </div>
33
-
34
- <!-- 悬浮选项框 -->
35
- <div v-if="hoveredIndex === index" class="hover-options">
36
- <div class="hover-options-content">
37
- <a-button type="link" @click.stop="handleOptionClick(index, 'view')">查看</a-button>
38
- <a-button type="link" @click.stop="handleOptionClick(index, 'edit')">编辑</a-button>
39
- <a-button type="link" @click.stop="handleOptionClick(index, 'delete')">删除</a-button>
40
- </div>
41
- </div>
42
- </a-list-item>
43
- </a-list>
44
- </div>
45
- </template>
46
-
47
- <script>
48
-
49
- import { getConfigByName, runLogic } from '@vue2-client/services/api/common'
50
-
51
- export default {
52
- name: 'XList',
53
- props: {
54
- queryParamsName: {
55
- type: Object,
56
- default: null
57
- },
58
- fixedQueryForm: {
59
- type: Object,
60
- default: { condition: '1=1' }
61
- }
62
- },
63
- inject: ['getComponentByName'],
64
- data () {
65
- return {
66
- data: [],
67
- button: false,
68
- icon: false,
69
- buttonNames: [],
70
- buttonMode: false,
71
- hoveredIndex: -1
72
- }
73
- },
74
- created () {
75
- this.getData(this.queryParamsName, this.fixedQueryForm)
76
- },
77
- methods: {
78
- async getData (config, param) {
79
- const that = this
80
- getConfigByName(config, 'af-his', res => {
81
- that.button = res.button
82
- that.icon = res.icon
83
- that.buttonNames = res.buttonNames || []
84
- that.buttonMode = res.buttonMode || false
85
- runLogic(res.data, param, 'af-his').then(ress => {
86
- that.data = ress
87
- })
88
- })
89
- },
90
- handleClick (index) {
91
- this.$emit('listClick', this.data[index])
92
- },
93
- refreshList (param) {
94
- this.getData(this.queryParamsName, param)
95
- },
96
- click (index, buttonIndex) {
97
- this.$emit('click', { data: this.data[index], name: this.buttonNames[buttonIndex] })
98
- },
99
- getIconStyle (item) {
100
- return item.picture
101
- ? { backgroundImage: `url(${item.picture})` }
102
- : {}
103
- },
104
- filterData (par) {
105
- runLogic(this.queryParamsName, par, 'af-his').then(res => {
106
- this.data = res.data
107
- })
108
- },
109
- handleMouseEnter (index) {
110
- this.hoveredIndex = index
111
- },
112
- handleMouseLeave () {
113
- this.hoveredIndex = -1
114
- },
115
- handleOptionClick (index, action) {
116
- this.$emit('optionClick', { data: this.data[index], action })
117
- }
118
- },
119
- watch: {
120
- fixedQueryForm: {
121
- deep: true,
122
- handler (val) {
123
- this.refreshList(val)
124
- }
125
- }
126
- }
127
- }
128
- </script>
129
-
130
- <style scoped>
131
- .list-wrapper {
132
- max-height: 240px;
133
- overflow-y: auto;
134
- padding-right: 2px;
135
- }
136
-
137
- .list-container {
138
- width: 100%;
139
- }
140
-
141
- .list-item {
142
- height: 35px;
143
- border-radius: 6px;
144
- background-color: #F4F4F4;
145
- padding: 8px 15px;
146
- font-size: 16px;
147
- display: flex;
148
- align-items: center;
149
- width: 100%;
150
- border: 1px solid #D9D9D9;
151
- box-sizing: border-box;
152
- margin-bottom: 8px !important;
153
- position: relative;
154
- }
155
-
156
- .icon-menu {
157
- display: inline-block;
158
- width: 20px;
159
- height: 20px;
160
- background-color: #ccc;
161
- margin-right: 8px;
162
- }
163
-
164
- .item-text {
165
- flex: 1;
166
- }
167
-
168
- .confirm-btn {
169
- margin-left: auto;
170
- padding: 0 8px;
171
- }
172
-
173
- .confirm-btn.hover-btn {
174
- opacity: 0;
175
- transition: opacity 0.3s ease;
176
- }
177
-
178
- .button-group {
179
- display: flex;
180
- gap: 2px; /* 按钮之间的间距 */
181
- }
182
-
183
- .list-item:hover .confirm-btn.hover-btn {
184
- opacity: 1;
185
- }
186
-
187
- /* 自定义滚动条样式 */
188
- .list-wrapper::-webkit-scrollbar {
189
- width: 6px;
190
- }
191
-
192
- .list-wrapper::-webkit-scrollbar-thumb {
193
- background-color: #d9d9d9;
194
- border-radius: 3px;
195
- }
196
-
197
- .list-wrapper::-webkit-scrollbar-track {
198
- background-color: #f0f0f0;
199
- }
200
-
201
- .hover-options {
202
- position: absolute;
203
- left: 0;
204
- right: 0;
205
- top: 100%;
206
- background: white;
207
- border: 1px solid #d9d9d9;
208
- border-radius: 4px;
209
- box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
210
- z-index: 1000;
211
- margin-top: 4px;
212
- }
213
-
214
- .hover-options-content {
215
- padding: 8px;
216
- display: flex;
217
- flex-direction: column;
218
- gap: 4px;
219
- }
220
-
221
- .hover-options-content .ant-btn {
222
- text-align: left;
223
- padding: 4px 8px;
224
- }
225
-
226
- .hover-options-content .ant-btn:hover {
227
- background-color: #f5f5f5;
228
- }
229
- </style>
@@ -1,241 +0,0 @@
1
- <template>
2
- <div class="list-wrapper">
3
- <a-list size="large" :data-source="data" itemLayout="horizontal" class="list-container" ref="listRef">
4
- <a-list-item
5
- slot="renderItem"
6
- slot-scope="item, index"
7
- class="list-item"
8
- @click="handleClick(index)"
9
- >
10
- <div
11
- class="list-item-content"
12
- @mouseenter="handleMouseEnter(index)"
13
- @mouseleave="handleMouseLeave"
14
- >
15
- <i
16
- v-if="icon"
17
- class="icon-menu"
18
- :style="getIconStyle(item)"
19
- ></i>
20
- <span
21
- class="item-text">
22
- {{ item.number }} {{ item.name }}
23
- </span>
24
-
25
- <div v-if="button" class="button-group">
26
- <a-button
27
- v-for="(name, idx) in buttonNames"
28
- :key="idx"
29
- type="link"
30
- :class="['confirm-btn', buttonMode ? 'hover-btn' : '']"
31
- @click.stop="click(index, idx)"
32
- >
33
- {{ name }}
34
- </a-button>
35
- </div>
36
-
37
- <!-- 悬浮选项框 -->
38
- <div v-if="hoveredIndex === index" class="hover-options">
39
- <div class="hover-options-content">
40
- <a-button type="link" @click.stop="handleOptionClick(index, 'view')">查看</a-button>
41
- <a-button type="link" @click.stop="handleOptionClick(index, 'edit')">编辑</a-button>
42
- <a-button type="link" @click.stop="handleOptionClick(index, 'delete')">删除</a-button>
43
- </div>
44
- </div>
45
- </div>
46
- </a-list-item>
47
- </a-list>
48
- </div>
49
- </template>
50
-
51
- <script>
52
-
53
- import { getConfigByName, runLogic } from '@vue2-client/services/api/common'
54
-
55
- export default {
56
- name: 'XList',
57
- props: {
58
- queryParamsName: {
59
- type: Object,
60
- default: null
61
- },
62
- fixedQueryForm: {
63
- type: Object,
64
- default: { condition: '1=1' }
65
- }
66
- },
67
- inject: ['getComponentByName'],
68
- data () {
69
- return {
70
- data: [],
71
- button: false,
72
- icon: false,
73
- buttonNames: [],
74
- buttonMode: false,
75
- hoveredIndex: -1
76
- }
77
- },
78
- created () {
79
- this.getData(this.queryParamsName, this.fixedQueryForm)
80
- },
81
- methods: {
82
- async getData (config, param) {
83
- const that = this
84
- getConfigByName(config, 'af-his', res => {
85
- that.button = res.button
86
- that.icon = res.icon
87
- that.buttonNames = res.buttonNames || []
88
- that.buttonMode = res.buttonMode || false
89
- runLogic(res.data, param, 'af-his').then(ress => {
90
- that.data = ress
91
- })
92
- })
93
- },
94
- handleClick (index) {
95
- this.$emit('listClick', this.data[index])
96
- },
97
- refreshList (param) {
98
- this.getData(this.queryParamsName, param)
99
- },
100
- click (index, buttonIndex) {
101
- this.$emit('click', { data: this.data[index], name: this.buttonNames[buttonIndex] })
102
- },
103
- getIconStyle (item) {
104
- return item.picture
105
- ? { backgroundImage: `url(${item.picture})` }
106
- : {}
107
- },
108
- filterData (par) {
109
- runLogic(this.queryParamsName, par, 'af-his').then(res => {
110
- this.data = res.data
111
- })
112
- },
113
- handleMouseEnter (index) {
114
- this.hoveredIndex = index
115
- },
116
- handleMouseLeave () {
117
- this.hoveredIndex = -1
118
- },
119
- handleOptionClick (index, action) {
120
- this.$emit('optionClick', { data: this.data[index], action })
121
- }
122
- },
123
- watch: {
124
- fixedQueryForm: {
125
- deep: true,
126
- handler (val) {
127
- this.refreshList(val)
128
- }
129
- }
130
- }
131
- }
132
- </script>
133
-
134
- <style scoped>
135
- .list-wrapper {
136
- max-height: 240px;
137
- overflow-y: auto;
138
- padding-right: 2px;
139
- }
140
-
141
- .list-container {
142
- width: 100%;
143
- }
144
-
145
- .list-item {
146
- height: 35px;
147
- border-radius: 6px;
148
- background-color: #F4F4F4;
149
- padding: 8px 15px;
150
- font-size: 16px;
151
- display: flex;
152
- align-items: center;
153
- width: 100%;
154
- border: 1px solid #D9D9D9;
155
- box-sizing: border-box;
156
- margin-bottom: 8px !important;
157
- position: relative;
158
- }
159
-
160
- .icon-menu {
161
- display: inline-block;
162
- width: 20px;
163
- height: 20px;
164
- background-color: #ccc;
165
- margin-right: 8px;
166
- }
167
-
168
- .item-text {
169
- flex: 1;
170
- }
171
-
172
- .confirm-btn {
173
- margin-left: auto;
174
- padding: 0 8px;
175
- }
176
-
177
- .confirm-btn.hover-btn {
178
- opacity: 0;
179
- transition: opacity 0.3s ease;
180
- }
181
-
182
- .button-group {
183
- display: flex;
184
- gap: 2px; /* 按钮之间的间距 */
185
- }
186
-
187
- .list-item:hover .confirm-btn.hover-btn {
188
- opacity: 1;
189
- }
190
-
191
- /* 自定义滚动条样式 */
192
- .list-wrapper::-webkit-scrollbar {
193
- width: 6px;
194
- }
195
-
196
- .list-wrapper::-webkit-scrollbar-thumb {
197
- background-color: #d9d9d9;
198
- border-radius: 3px;
199
- }
200
-
201
- .list-wrapper::-webkit-scrollbar-track {
202
- background-color: #f0f0f0;
203
- }
204
-
205
- .list-item-content {
206
- position: relative;
207
- width: 100%;
208
- height: 100%;
209
- display: flex;
210
- align-items: center;
211
- }
212
-
213
- .hover-options {
214
- position: absolute;
215
- left: 0;
216
- right: 0;
217
- top: 100%;
218
- background: white;
219
- border: 1px solid #d9d9d9;
220
- border-radius: 4px;
221
- box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
222
- z-index: 1000;
223
- margin-top: 4px;
224
- }
225
-
226
- .hover-options-content {
227
- padding: 8px;
228
- display: flex;
229
- flex-direction: column;
230
- gap: 4px;
231
- }
232
-
233
- .hover-options-content .ant-btn {
234
- text-align: left;
235
- padding: 4px 8px;
236
- }
237
-
238
- .hover-options-content .ant-btn:hover {
239
- background-color: #f5f5f5;
240
- }
241
- </style>