Skip to content

Commit 15c4274

Browse files
committed
feat: add type search option and improve select input formatting
1 parent 71cec2f commit 15c4274

File tree

1 file changed

+64
-39
lines changed

1 file changed

+64
-39
lines changed

ui/src/views/system-resource-management/ApplicationResourceIndex.vue

Lines changed: 64 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,10 @@
1515
style="width: 120px"
1616
@change="search_type_change"
1717
>
18-
<el-option :label="$t('common.creator')" value="create_user" />
18+
<el-option :label="$t('common.creator')" value="create_user"/>
1919

20-
<el-option :label="$t('common.name')" value="name" />
20+
<el-option :label="$t('common.name')" value="name"/>
21+
<el-option :label="$t('views.system.resource_management.type')" value="type"/>
2122
</el-select>
2223
<el-input
2324
v-if="search_type === 'name'"
@@ -35,7 +36,17 @@
3536
filterable
3637
style="width: 220px"
3738
>
38-
<el-option v-for="u in user_options" :key="u.id" :value="u.id" :label="u.nick_name" />
39+
<el-option v-for="u in user_options" :key="u.id" :value="u.id" :label="u.nick_name"/>
40+
</el-select>
41+
<el-select
42+
v-else-if="search_type === 'type'"
43+
v-model="search_form.type"
44+
@change="getList"
45+
clearable
46+
filterable
47+
style="width: 220px"
48+
>
49+
<el-option v-for="u in type_options" :value="u.value" :label="u.label"/>
3950
</el-select>
4051
</div>
4152
</div>
@@ -53,7 +64,7 @@
5364
<div class="table-name flex align-center">
5465
<el-icon size="24" class="mr-8">
5566
<el-avatar shape="square" :size="24" style="background: none" class="mr-8">
56-
<img :src="resetUrl(scope.row?.icon)" alt="" />
67+
<img :src="resetUrl(scope.row?.icon)" alt=""/>
5768
</el-avatar>
5869
</el-icon>
5970
{{ scope.row.name }}
@@ -93,7 +104,7 @@
93104
@click="statusVisible = !statusVisible"
94105
>
95106
<el-icon>
96-
<Filter />
107+
<Filter/>
97108
</el-icon>
98109
</el-button>
99110
</template>
@@ -116,10 +127,10 @@
116127
</div>
117128
<div class="text-right">
118129
<el-button size="small" @click="filterStatusChange('clear')"
119-
>{{ $t('common.clear') }}
130+
>{{ $t('common.clear') }}
120131
</el-button>
121132
<el-button type="primary" @click="filterStatusChange" size="small"
122-
>{{ $t('common.confirm') }}
133+
>{{ $t('common.confirm') }}
123134
</el-button>
124135
</div>
125136
</el-popover>
@@ -128,7 +139,7 @@
128139
<template #default="scope">
129140
<div v-if="scope.row.is_publish" class="flex align-center">
130141
<el-icon class="color-success mr-8" style="font-size: 16px">
131-
<SuccessFilled />
142+
<SuccessFilled/>
132143
</el-icon>
133144
<span class="color-text-primary">
134145
{{ $t('views.application.status.published') }}
@@ -161,7 +172,7 @@
161172
@click="workspaceVisible = !workspaceVisible"
162173
>
163174
<el-icon>
164-
<Filter />
175+
<Filter/>
165176
</el-icon>
166177
</el-button>
167178
</template>
@@ -187,24 +198,24 @@
187198
/>
188199
</el-checkbox-group>
189200
</el-scrollbar>
190-
<el-empty v-else :description="$t('common.noData')" />
201+
<el-empty v-else :description="$t('common.noData')"/>
191202
</div>
192203
</div>
193204
</div>
194205
<div class="text-right">
195206
<el-button size="small" @click="filterWorkspaceChange('clear')"
196-
>{{ $t('common.clear') }}
207+
>{{ $t('common.clear') }}
197208
</el-button>
198209
<el-button type="primary" @click="filterWorkspaceChange" size="small"
199-
>{{ $t('common.confirm') }}
210+
>{{ $t('common.confirm') }}
200211
</el-button>
201212
</div>
202213
</el-popover>
203214
</div>
204215
</template>
205216
</el-table-column>
206217

207-
<el-table-column prop="nick_name" :label="$t('common.creator')" show-overflow-tooltip />
218+
<el-table-column prop="nick_name" :label="$t('common.creator')" show-overflow-tooltip/>
208219
<el-table-column :label="$t('views.application.publishTime')" width="180">
209220
<template #default="{ row }">
210221
{{ datetimeFormat(row.update_time) }}
@@ -299,23 +310,24 @@
299310
</template>
300311

301312
<script lang="ts" setup>
302-
import { onMounted, ref, reactive, computed, watch } from 'vue'
303-
import { useRouter, useRoute } from 'vue-router'
313+
import {onMounted, ref, reactive, computed, watch} from 'vue'
314+
import {useRouter, useRoute} from 'vue-router'
304315
import ApplicationResourceApi from '@/api/system-resource-management/application'
305316
import ResourceAuthorizationDrawer from '@/components/resource-authorization-drawer/index.vue'
306-
import { t } from '@/locales'
307-
import { isAppIcon, resetUrl } from '@/utils/common'
317+
import {t} from '@/locales'
318+
import {isAppIcon, resetUrl} from '@/utils/common'
308319
import useStore from '@/stores'
309-
import { datetimeFormat } from '@/utils/time'
310-
import { loadPermissionApi } from '@/utils/dynamics-api/permission-api.ts'
311-
import { isWorkFlow } from '@/utils/application.ts'
320+
import {datetimeFormat} from '@/utils/time'
321+
import {loadPermissionApi} from '@/utils/dynamics-api/permission-api.ts'
322+
import {isWorkFlow} from '@/utils/application.ts'
312323
import UserApi from '@/api/user/user.ts'
313324
import permissionMap from '@/permission'
314-
import { MsgSuccess, MsgConfirm, MsgError } from '@/utils/message'
315-
import { SourceTypeEnum } from '@/enums/common'
325+
import {MsgSuccess, MsgConfirm, MsgError} from '@/utils/message'
326+
import {SourceTypeEnum} from '@/enums/common'
327+
316328
const router = useRouter()
317329
const route = useRoute()
318-
const { user, application } = useStore()
330+
const {user, application} = useStore()
319331
320332
const permissionPrecise = computed(() => {
321333
return permissionMap['application']['systemManage']
@@ -340,31 +352,33 @@ const MoreFilledPermission = () => {
340352
}
341353
342354
const ResourceAuthorizationDrawerRef = ref()
355+
343356
function openAuthorization(item: any) {
344357
ResourceAuthorizationDrawerRef.value.open(item.id)
345358
}
346359
347360
const apiInputParams = ref([])
361+
348362
function toChat(row: any) {
349363
row?.work_flow?.nodes
350364
?.filter((v: any) => v.id === 'base-node')
351365
.map((v: any) => {
352366
apiInputParams.value = v.properties.api_input_field_list
353367
? v.properties.api_input_field_list.map((v: any) => {
354-
return {
355-
name: v.variable,
356-
value: v.default_value,
357-
}
358-
})
368+
return {
369+
name: v.variable,
370+
value: v.default_value,
371+
}
372+
})
359373
: v.properties.input_field_list
360374
? v.properties.input_field_list
361-
.filter((v: any) => v.assignment_method === 'api_input')
362-
.map((v: any) => {
363-
return {
364-
name: v.variable,
365-
value: v.default_value,
366-
}
367-
})
375+
.filter((v: any) => v.assignment_method === 'api_input')
376+
.map((v: any) => {
377+
return {
378+
name: v.variable,
379+
value: v.default_value,
380+
}
381+
})
368382
: []
369383
})
370384
const apiParams = mapToUrlParams(apiInputParams.value)
@@ -402,7 +416,8 @@ function deleteApplication(row: any) {
402416
MsgSuccess(t('common.deleteSuccess'))
403417
})
404418
})
405-
.catch(() => {})
419+
.catch(() => {
420+
})
406421
}
407422
408423
const exportApplication = (application: any) => {
@@ -419,9 +434,19 @@ const search_type = ref('name')
419434
const search_form = ref<any>({
420435
name: '',
421436
create_user: '',
437+
type: '',
422438
})
423439
const user_options = ref<any[]>([])
424-
440+
const type_options = ref<any[]>([
441+
{
442+
label: t('views.application.workflow'),
443+
value: 'WORK_FLOW',
444+
},
445+
{
446+
label: t('views.application.simple'),
447+
value: 'SIMPLE',
448+
},
449+
])
425450
const loading = ref(false)
426451
const applicationList = ref<any[]>([])
427452
const paginationConfig = reactive({
@@ -459,7 +484,7 @@ watch(
459484
v.label.toLowerCase().includes(filterText.value.toLowerCase()),
460485
)
461486
},
462-
{ immediate: true },
487+
{immediate: true},
463488
)
464489
465490
function filterWorkspaceChange(val: string) {
@@ -490,7 +515,7 @@ async function getWorkspaceList() {
490515
}
491516
492517
const search_type_change = () => {
493-
search_form.value = { name: '', create_user: '' }
518+
search_form.value = {name: '', create_user: '', type: ''}
494519
}
495520
496521
function getList() {

0 commit comments

Comments
 (0)