wui-components-v2 1.1.69 → 1.1.71

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 (117) hide show
  1. package/api/core/index.ts +74 -74
  2. package/api/feishu.ts +20 -20
  3. package/api/index.ts +4 -4
  4. package/api/login.ts +51 -51
  5. package/api/menu.ts +45 -45
  6. package/api/page.ts +114 -114
  7. package/api/sys.ts +12 -12
  8. package/api/tree.ts +28 -28
  9. package/components/action-popup/action-popup.vue +116 -116
  10. package/components/add-address-list/add-address-list.vue +187 -187
  11. package/components/add-address-page/add-address-page.vue +77 -77
  12. package/components/add-address-page/config.ts +297 -297
  13. package/components/audio-play/audio-play.vue +220 -220
  14. package/components/batch-upload-file/batch-upload-file.vue +75 -75
  15. package/components/card-botom-buttons/card-botom-buttons.vue +279 -279
  16. package/components/custom-date-picker/custom-date-picker.vue +106 -106
  17. package/components/custom-select-picker/custom-select-picker.vue +95 -95
  18. package/components/demo-block/demo-block.vue +63 -63
  19. package/components/demo-card/demo-card.vue +44 -44
  20. package/components/detail-popup/detail-popup.vue +99 -99
  21. package/components/evaluation-page/evaluation-page.vue +196 -196
  22. package/components/fold-card/fold-card.vue +171 -171
  23. package/components/form-control/form-control.vue +661 -661
  24. package/components/global-loading/GlobalLoading.md +366 -366
  25. package/components/global-loading/global-loading.vue +55 -55
  26. package/components/global-message/GlobalMessage.md +570 -570
  27. package/components/global-message/global-message.vue +68 -68
  28. package/components/global-toast/GlobalToast.md +261 -261
  29. package/components/global-toast/global-toast.vue +56 -56
  30. package/components/label-value/label-value.vue +144 -144
  31. package/components/label-value/open-value-more.vue +56 -56
  32. package/components/list-top-buttons/list-top-buttons.vue +19 -19
  33. package/components/loading/loading.vue +5 -5
  34. package/components/login-form/login-form.vue +126 -126
  35. package/components/login-form-box/login-form-box.vue +65 -65
  36. package/components/mulselect-picker/mulselect-picker.vue +86 -86
  37. package/components/phone-login-form/phone-login-form.vue +204 -204
  38. package/components/privacy-popup/privacy-popup.vue +191 -191
  39. package/components/product-card/product-card.vue +201 -201
  40. package/components/scan-input/scan-input.vue +406 -406
  41. package/components/search/search.vue +128 -128
  42. package/components/select-col-picker/select-col-picker.vue +168 -168
  43. package/components/tab-search/tab-search.vue +73 -73
  44. package/components/tree-select/components/TreeNode.vue +200 -200
  45. package/components/tree-select/components/index.vue +471 -471
  46. package/components/tree-select/components/tree-select.vue +56 -56
  47. package/components/tree-select/index.vue +93 -93
  48. package/components/user-choose/user-choose.vue +169 -151
  49. package/components/video-play/video-play.vue +56 -56
  50. package/components/wui-auto-update-component/wui-auto-update-component.vue +132 -132
  51. package/components/wui-default/wui-default.vue +49 -49
  52. package/components/wui-details-page/wui-details-page.vue +147 -147
  53. package/components/wui-edit-page/wui-edit-page-copy.vue +757 -757
  54. package/components/wui-edit-page/wui-edit-page.vue +793 -793
  55. package/components/wui-enume-select-control/wui-enume-select-control.vue +92 -92
  56. package/components/wui-list/wui-list.vue +235 -235
  57. package/components/wui-login/wui-login.vue +43 -43
  58. package/components/wui-login1/wui-login.vue +41 -41
  59. package/components/wui-menus/wui-menus-top.vue +137 -137
  60. package/components/wui-menus/wui-menus-top1.vue +8 -8
  61. package/components/wui-menus/wui-menus.vue +247 -247
  62. package/components/wui-menus1/components/banner-carousel.vue +320 -320
  63. package/components/wui-menus1/components/navbar.vue +43 -43
  64. package/components/wui-menus1/components/quick-panel.vue +55 -55
  65. package/components/wui-menus1/components/search-bar.vue +49 -49
  66. package/components/wui-menus1/components/section-menus.vue +208 -208
  67. package/components/wui-menus1/wui-menus-top.vue +718 -718
  68. package/components/wui-menus1/wui-menus-top1.vue +398 -398
  69. package/components/wui-menus1/wui-menus.vue +564 -564
  70. package/components/wui-notify-info/notify-handle.vue +53 -53
  71. package/components/wui-notify-info/wui-notify-info.vue +280 -280
  72. package/components/wui-scan-binding-sensor/wui-scan-binding-sensor.vue +75 -75
  73. package/components/wui-search-history-babbar/components/SearchBar.vue +70 -70
  74. package/components/wui-search-history-babbar/wui-search-history-babbar.vue +204 -204
  75. package/components/wui-select-list/wui-select-list.vue +310 -310
  76. package/components/wui-select-popup/wui-select-popup.vue +613 -612
  77. package/components/wui-system-settings/wui-system-settings.vue +144 -144
  78. package/components/wui-tabbar/wui-tabbar.vue +106 -106
  79. package/components/wui-tree-page/components/tree-item.vue +238 -238
  80. package/components/wui-tree-page/wui-tree-page.vue +297 -297
  81. package/components/wui-update-component/wui-update-component.vue +221 -221
  82. package/components/wui-user/wui-user.vue +202 -202
  83. package/composables/types/theme.ts +65 -65
  84. package/composables/types/user.ts +5 -5
  85. package/composables/useColorGenerator.ts +221 -221
  86. package/composables/useCompanyFieldFilter.ts +91 -91
  87. package/composables/useEnumes.ts +43 -43
  88. package/composables/useEventBus.ts +37 -37
  89. package/composables/useGlobalLoading.ts +47 -47
  90. package/composables/useGlobalMessage.ts +53 -53
  91. package/composables/useGlobalToast.ts +63 -63
  92. package/composables/useLocale.ts +54 -54
  93. package/composables/useManualTheme.ts +179 -179
  94. package/composables/useMenus.ts +193 -193
  95. package/composables/useSectionMenus.ts +120 -120
  96. package/composables/useTabbar.ts +50 -50
  97. package/composables/useTheme.ts +74 -74
  98. package/composables/useUser.ts +24 -24
  99. package/index.d.ts +90 -90
  100. package/index.ts +83 -83
  101. package/package.json +24 -24
  102. package/static/iconfont/iconfont.css +63 -63
  103. package/store/language.ts +151 -151
  104. package/store/manualThemeStore.ts +143 -143
  105. package/store/persist.ts +41 -41
  106. package/store/themeStore.ts +74 -74
  107. package/store/userStore.ts +22 -22
  108. package/styles/dark-mode.css +523 -523
  109. package/styles/dark-mode.min.css +1 -1
  110. package/styles/dark-mode.scss +498 -498
  111. package/type.ts +154 -154
  112. package/utils/control-tree.ts +353 -353
  113. package/utils/control-type-supportor.ts +148 -148
  114. package/utils/eventBus.ts +36 -36
  115. package/utils/idata-scan.ts +99 -99
  116. package/utils/index.ts +979 -979
  117. package/utils/rsaEncrypt.ts +10 -10
@@ -1,279 +1,279 @@
1
- <script setup lang="ts">
2
- import { computed, defineOptions, defineProps, ref } from 'vue'
3
- import { useRouter } from 'uni-mini-router'
4
- import { onLoad } from '@dcloudio/uni-app'
5
- import type { ClassEditConfigs, Columns, Entities, Enums, Fields, Groups, rowActions } from '../../type'
6
- import ActionPopup from '../action-popup/action-popup.vue'
7
- import { actionDataSave, deleteData } from '../../api/page'
8
- import { useGlobalToast } from '../../composables/useGlobalToast'
9
- import { useGlobalMessage } from '../../composables/useGlobalMessage'
10
- import { comparator } from '../../utils/index'
11
- import ControlTypeSupportor from '../../utils/control-type-supportor'
12
- import { formatItemData } from '../../utils'
13
-
14
- defineOptions({
15
- name: 'CardBotomButtons',
16
- })
17
- const props = defineProps<{
18
- item: Groups
19
- sourceId: string
20
- code: string
21
- pageType?: string
22
- data: Entities
23
- rowActions?: rowActions[]
24
- actions?: rowActions[]
25
- ractions?: rowActions[]
26
- zpaging?: any
27
- enumColumn?: Enums
28
- addEvent?: string
29
- primaryColumn: Columns
30
- detailButtonHandle?: (data: Entities) => void
31
- }>()
32
- const toast = useGlobalToast()
33
- const message = useGlobalMessage()
34
- const pageType = ref('')
35
- onLoad((option: any) => {
36
- pageType.value = option.type || ''
37
- })
38
- const router = useRouter()
39
-
40
- // rowActions按钮
41
- const anctions = computed(() => {
42
- const rowActions = props.rowActions || []
43
- return [...rowActions.filter(isShowAction)]
44
- })
45
-
46
- // raction按钮
47
- const ractions = computed(() => {
48
- const ractions = props.ractions || []
49
- return [...ractions.filter(isShowAction)]
50
- })
51
-
52
- // actions按钮
53
- const actions = computed(() => {
54
- const actions = props.actions || []
55
- return [...actions.filter(isShowAction)]
56
- })
57
-
58
- // 跳转编辑页面
59
- function edit() {
60
- if (props.item.classEditConfigs && props.item.classEditConfigs.length > 0) {
61
- const sourceData = props.item.classEditConfigs.find((item: ClassEditConfigs) => {
62
- return item.preposes[0].transDefaultValue.includes(props.data.fieldMap[item.preposes[0].sourceId])
63
- })
64
- router.push(
65
- `/pages/edit-page/index?sourceId=${sourceData?.id || props.sourceId}&id=${props.code}&title=${props.item.title}&pageType=${props.pageType}&addEvent=${props.addEvent}`
66
- )
67
- } else {
68
- router.push(
69
- `/pages/edit-page/index?sourceId=${props.sourceId}&id=${props.code}&title=${props.item.title}&pageType=${props.pageType}&addEvent=${props.addEvent}`
70
- )
71
- }
72
- }
73
-
74
- const actionItem = ref<Groups>()
75
- const actionItemShow = ref(false) // rowActions输入弹框开关
76
- const showMoreButn = ref(false) // 更多按钮开关
77
- // 打开rowActions弹框
78
- async function action(subitem: rowActions) {
79
- console.log(subitem, 2222222222222222)
80
- if (subitem.writes.length) {
81
- actionItem.value = {
82
- ...props.item,
83
- fields: subitem.writes,
84
- id: subitem.id,
85
- }
86
- actionItemShow.value = true
87
- } else {
88
- try {
89
- await actionDataSave(subitem.id, props.code, {})
90
- props.zpaging.reload()
91
- toast.success({ msg: '操作成功!' })
92
- } catch (error: any) {
93
- toast.error(error)
94
- console.log(error)
95
- }
96
- }
97
- }
98
-
99
- // 跳转raction页面
100
- function raction(subitem: rowActions) {
101
- router.push(
102
- `/pages/list/index?sourceId=${subitem.id}&mainCode=${props.code}&title=${subitem.title}&pageType=${props.pageType}`
103
- )
104
- }
105
-
106
- // 跳转详情页面
107
- function detail() {
108
- if (props.detailButtonHandle) {
109
- props.detailButtonHandle(props.data)
110
- return
111
- }
112
- router.push(`/pages/details-page/index?sourceId=${props.sourceId}&id=${props.code}&title=${props.item.title}`)
113
- }
114
-
115
- // 判断按钮是否满足条件显示
116
- function isShowAction(item: rowActions) {
117
- if (item.preposes.length > 0) {
118
- return item.preposes.every((prepose: Fields) => {
119
- // 判断字段值是否满足要求
120
- return comparator(prepose.comparator || 'equal', props.data.fieldMap[prepose.sourceId], prepose.defaultValue)
121
- })
122
- }
123
- return true
124
- }
125
-
126
- function isControlType(item: Columns): string {
127
- return ControlTypeSupportor.getControlType(
128
- { ...item, hidden: false, disabled: false, defaultValue: '', transDefaultValue: '', required: false },
129
- props.data.fieldMap[item.sourceId]
130
- )
131
- }
132
-
133
- // 删除
134
- function del() {
135
- message.confirm({
136
- msg: `确定要删除${formatItemData(props.data.fieldMap[props.primaryColumn.sourceId], isControlType(props.primaryColumn)) || '这条记录'}吗?`,
137
- title: '提示',
138
- beforeConfirm: async ({ resolve }) => {
139
- try {
140
- const res = await deleteData(props.sourceId, props.code)
141
- if (res.status === 'success') {
142
- props.zpaging.reload()
143
- toast.success({ msg: '删除成功!' })
144
- }
145
- message.close()
146
- } catch (error) {
147
- console.log(error)
148
- } finally {
149
- resolve(true)
150
- }
151
- },
152
- })
153
- }
154
-
155
- // 更多按钮数据
156
- interface Morebutns extends Omit<rowActions, ''> {
157
- actionType: string
158
- name: string
159
- }
160
- const morebutns = computed(() => {
161
- let buts: Morebutns[] = []
162
- if (props.rowActions) {
163
- buts = anctions.value.map(item => {
164
- return {
165
- actionType: 'rowActions',
166
- name: item.title,
167
- ...item,
168
- }
169
- })
170
- }
171
- if (props.ractions) {
172
- buts = buts.concat(
173
- ractions.value.map(item => {
174
- return {
175
- actionType: 'ractions',
176
- name: item.title,
177
- ...item,
178
- }
179
- })
180
- )
181
- }
182
- if (props.actions) {
183
- buts = buts.concat(
184
- actions.value.map(item => {
185
- return {
186
- actionType: 'rowActions',
187
- name: item.title,
188
- ...item,
189
- }
190
- })
191
- )
192
- }
193
- return buts
194
- })
195
-
196
- // 关闭更多按钮
197
- function closeMoreButn() {
198
- showMoreButn.value = false
199
- }
200
-
201
- // 点击更多按钮
202
- function select({ item }: { item: any }) {
203
- if (item.title.includes('评价') && item.actionType === 'rowActions') {
204
- return action(item)
205
- }
206
- message.confirm({
207
- msg: `确定${item.title}操作吗?`,
208
- title: '提示',
209
- success: () => {
210
- if (item.actionType === 'ractions') {
211
- raction(item)
212
- }
213
- if (item.actionType === 'rowActions') {
214
- action(item)
215
- }
216
- },
217
- })
218
- }
219
- console.log(props, '3333333333333')
220
- </script>
221
-
222
- <template>
223
- <view class="flex items-center gap-1">
224
- <!-- <view v-if="props.rowActions" class="flex gap-1">
225
- <wd-button v-for="subitem in anctions" :key="subitem.id" plain size="small" @click="action(subitem)">
226
- {{ subitem.title }}
227
- </wd-button>
228
- </view>
229
- <view v-if="props.ractions" class="flex gap-1">
230
- <wd-button v-for="subitem in ractions" :key="subitem.id" plain size="small" @click="raction(subitem)">
231
- {{ subitem.title }}
232
- </wd-button>
233
- </view> -->
234
- <view>
235
- <wd-button
236
- v-if="morebutns.length > 3"
237
- size="small"
238
- type="info"
239
- @click="
240
- () => {
241
- showMoreButn = true
242
- }
243
- "
244
- >
245
- 更多
246
- </wd-button>
247
- <view v-else class="flex gap-2 flex-wrap">
248
- <wd-button
249
- v-for="subitem in morebutns"
250
- :key="subitem.id"
251
- plain
252
- size="small"
253
- @click="
254
- () => {
255
- select({ item: subitem })
256
- }
257
- "
258
- >
259
- {{ subitem.title }}
260
- </wd-button>
261
- </view>
262
- </view>
263
-
264
- <wd-button v-if="props.item.buttons.includes('dtmplEdit')" size="small" @click="edit()">编辑</wd-button>
265
- <wd-button v-if="props.item.buttons.includes('detail')" size="small" type="info" @click="detail()">详情</wd-button>
266
- <wd-button v-if="props.item.buttons.includes('singleDelete')" size="small" type="danger" @click="del()">
267
- 删除
268
- </wd-button>
269
- <ActionPopup
270
- v-model:show="actionItemShow"
271
- :enum-column="props.enumColumn"
272
- :zpaging="props.zpaging"
273
- :field-group="actionItem"
274
- :code="props.code"
275
- />
276
- <!-- 更多按钮 -->
277
- <wd-action-sheet v-model="showMoreButn" :actions="morebutns" @close="closeMoreButn" @select="select" />
278
- </view>
279
- </template>
1
+ <script setup lang="ts">
2
+ import { computed, defineOptions, defineProps, ref } from 'vue'
3
+ import { useRouter } from 'uni-mini-router'
4
+ import { onLoad } from '@dcloudio/uni-app'
5
+ import type { ClassEditConfigs, Columns, Entities, Enums, Fields, Groups, rowActions } from '../../type'
6
+ import ActionPopup from '../action-popup/action-popup.vue'
7
+ import { actionDataSave, deleteData } from '../../api/page'
8
+ import { useGlobalToast } from '../../composables/useGlobalToast'
9
+ import { useGlobalMessage } from '../../composables/useGlobalMessage'
10
+ import { comparator } from '../../utils/index'
11
+ import ControlTypeSupportor from '../../utils/control-type-supportor'
12
+ import { formatItemData } from '../../utils'
13
+
14
+ defineOptions({
15
+ name: 'CardBotomButtons',
16
+ })
17
+ const props = defineProps<{
18
+ item: Groups
19
+ sourceId: string
20
+ code: string
21
+ pageType?: string
22
+ data: Entities
23
+ rowActions?: rowActions[]
24
+ actions?: rowActions[]
25
+ ractions?: rowActions[]
26
+ zpaging?: any
27
+ enumColumn?: Enums
28
+ addEvent?: string
29
+ primaryColumn: Columns
30
+ detailButtonHandle?: (data: Entities) => void
31
+ }>()
32
+ const toast = useGlobalToast()
33
+ const message = useGlobalMessage()
34
+ const pageType = ref('')
35
+ onLoad((option: any) => {
36
+ pageType.value = option.type || ''
37
+ })
38
+ const router = useRouter()
39
+
40
+ // rowActions按钮
41
+ const anctions = computed(() => {
42
+ const rowActions = props.rowActions || []
43
+ return [...rowActions.filter(isShowAction)]
44
+ })
45
+
46
+ // raction按钮
47
+ const ractions = computed(() => {
48
+ const ractions = props.ractions || []
49
+ return [...ractions.filter(isShowAction)]
50
+ })
51
+
52
+ // actions按钮
53
+ const actions = computed(() => {
54
+ const actions = props.actions || []
55
+ return [...actions.filter(isShowAction)]
56
+ })
57
+
58
+ // 跳转编辑页面
59
+ function edit() {
60
+ if (props.item.classEditConfigs && props.item.classEditConfigs.length > 0) {
61
+ const sourceData = props.item.classEditConfigs.find((item: ClassEditConfigs) => {
62
+ return item.preposes[0].transDefaultValue.includes(props.data.fieldMap[item.preposes[0].sourceId])
63
+ })
64
+ router.push(
65
+ `/pages/edit-page/index?sourceId=${sourceData?.id || props.sourceId}&id=${props.code}&title=${props.item.title}&pageType=${props.pageType}&addEvent=${props.addEvent}`
66
+ )
67
+ } else {
68
+ router.push(
69
+ `/pages/edit-page/index?sourceId=${props.sourceId}&id=${props.code}&title=${props.item.title}&pageType=${props.pageType}&addEvent=${props.addEvent}`
70
+ )
71
+ }
72
+ }
73
+
74
+ const actionItem = ref<Groups>()
75
+ const actionItemShow = ref(false) // rowActions输入弹框开关
76
+ const showMoreButn = ref(false) // 更多按钮开关
77
+ // 打开rowActions弹框
78
+ async function action(subitem: rowActions) {
79
+ console.log(subitem, 2222222222222222)
80
+ if (subitem.writes.length) {
81
+ actionItem.value = {
82
+ ...props.item,
83
+ fields: subitem.writes,
84
+ id: subitem.id,
85
+ }
86
+ actionItemShow.value = true
87
+ } else {
88
+ try {
89
+ await actionDataSave(subitem.id, props.code, {})
90
+ props.zpaging.reload()
91
+ toast.success({ msg: '操作成功!' })
92
+ } catch (error: any) {
93
+ toast.error(error)
94
+ console.log(error)
95
+ }
96
+ }
97
+ }
98
+
99
+ // 跳转raction页面
100
+ function raction(subitem: rowActions) {
101
+ router.push(
102
+ `/pages/list/index?sourceId=${subitem.id}&mainCode=${props.code}&title=${subitem.title}&pageType=${props.pageType}`
103
+ )
104
+ }
105
+
106
+ // 跳转详情页面
107
+ function detail() {
108
+ if (props.detailButtonHandle) {
109
+ props.detailButtonHandle(props.data)
110
+ return
111
+ }
112
+ router.push(`/pages/details-page/index?sourceId=${props.sourceId}&id=${props.code}&title=${props.item.title}`)
113
+ }
114
+
115
+ // 判断按钮是否满足条件显示
116
+ function isShowAction(item: rowActions) {
117
+ if (item.preposes.length > 0) {
118
+ return item.preposes.every((prepose: Fields) => {
119
+ // 判断字段值是否满足要求
120
+ return comparator(prepose.comparator || 'equal', props.data.fieldMap[prepose.sourceId], prepose.defaultValue)
121
+ })
122
+ }
123
+ return true
124
+ }
125
+
126
+ function isControlType(item: Columns): string {
127
+ return ControlTypeSupportor.getControlType(
128
+ { ...item, hidden: false, disabled: false, defaultValue: '', transDefaultValue: '', required: false },
129
+ props.data.fieldMap[item.sourceId]
130
+ )
131
+ }
132
+
133
+ // 删除
134
+ function del() {
135
+ message.confirm({
136
+ msg: `确定要删除${formatItemData(props.data.fieldMap[props.primaryColumn.sourceId], isControlType(props.primaryColumn)) || '这条记录'}吗?`,
137
+ title: '提示',
138
+ beforeConfirm: async ({ resolve }) => {
139
+ try {
140
+ const res = await deleteData(props.sourceId, props.code)
141
+ if (res.status === 'success') {
142
+ props.zpaging.reload()
143
+ toast.success({ msg: '删除成功!' })
144
+ }
145
+ message.close()
146
+ } catch (error) {
147
+ console.log(error)
148
+ } finally {
149
+ resolve(true)
150
+ }
151
+ },
152
+ })
153
+ }
154
+
155
+ // 更多按钮数据
156
+ interface Morebutns extends Omit<rowActions, ''> {
157
+ actionType: string
158
+ name: string
159
+ }
160
+ const morebutns = computed(() => {
161
+ let buts: Morebutns[] = []
162
+ if (props.rowActions) {
163
+ buts = anctions.value.map(item => {
164
+ return {
165
+ actionType: 'rowActions',
166
+ name: item.title,
167
+ ...item,
168
+ }
169
+ })
170
+ }
171
+ if (props.ractions) {
172
+ buts = buts.concat(
173
+ ractions.value.map(item => {
174
+ return {
175
+ actionType: 'ractions',
176
+ name: item.title,
177
+ ...item,
178
+ }
179
+ })
180
+ )
181
+ }
182
+ if (props.actions) {
183
+ buts = buts.concat(
184
+ actions.value.map(item => {
185
+ return {
186
+ actionType: 'rowActions',
187
+ name: item.title,
188
+ ...item,
189
+ }
190
+ })
191
+ )
192
+ }
193
+ return buts
194
+ })
195
+
196
+ // 关闭更多按钮
197
+ function closeMoreButn() {
198
+ showMoreButn.value = false
199
+ }
200
+
201
+ // 点击更多按钮
202
+ function select({ item }: { item: any }) {
203
+ if (item.title.includes('评价') && item.actionType === 'rowActions') {
204
+ return action(item)
205
+ }
206
+ message.confirm({
207
+ msg: `确定${item.title}操作吗?`,
208
+ title: '提示',
209
+ success: () => {
210
+ if (item.actionType === 'ractions') {
211
+ raction(item)
212
+ }
213
+ if (item.actionType === 'rowActions') {
214
+ action(item)
215
+ }
216
+ },
217
+ })
218
+ }
219
+ console.log(props, '3333333333333')
220
+ </script>
221
+
222
+ <template>
223
+ <view class="flex items-center gap-1">
224
+ <!-- <view v-if="props.rowActions" class="flex gap-1">
225
+ <wd-button v-for="subitem in anctions" :key="subitem.id" plain size="small" @click="action(subitem)">
226
+ {{ subitem.title }}
227
+ </wd-button>
228
+ </view>
229
+ <view v-if="props.ractions" class="flex gap-1">
230
+ <wd-button v-for="subitem in ractions" :key="subitem.id" plain size="small" @click="raction(subitem)">
231
+ {{ subitem.title }}
232
+ </wd-button>
233
+ </view> -->
234
+ <view>
235
+ <wd-button
236
+ v-if="morebutns.length > 3"
237
+ size="small"
238
+ type="info"
239
+ @click="
240
+ () => {
241
+ showMoreButn = true
242
+ }
243
+ "
244
+ >
245
+ 更多
246
+ </wd-button>
247
+ <view v-else class="flex gap-2 flex-wrap">
248
+ <wd-button
249
+ v-for="subitem in morebutns"
250
+ :key="subitem.id"
251
+ plain
252
+ size="small"
253
+ @click="
254
+ () => {
255
+ select({ item: subitem })
256
+ }
257
+ "
258
+ >
259
+ {{ subitem.title }}
260
+ </wd-button>
261
+ </view>
262
+ </view>
263
+
264
+ <wd-button v-if="props.item.buttons.includes('dtmplEdit')" size="small" @click="edit()">编辑</wd-button>
265
+ <wd-button v-if="props.item.buttons.includes('detail')" size="small" type="info" @click="detail()">详情</wd-button>
266
+ <wd-button v-if="props.item.buttons.includes('singleDelete')" size="small" type="danger" @click="del()">
267
+ 删除
268
+ </wd-button>
269
+ <ActionPopup
270
+ v-model:show="actionItemShow"
271
+ :enum-column="props.enumColumn"
272
+ :zpaging="props.zpaging"
273
+ :field-group="actionItem"
274
+ :code="props.code"
275
+ />
276
+ <!-- 更多按钮 -->
277
+ <wd-action-sheet v-model="showMoreButn" :actions="morebutns" @close="closeMoreButn" @select="select" />
278
+ </view>
279
+ </template>