mirror of
https://github.com/jumpserver/lina.git
synced 2025-08-01 07:01:26 +00:00
preff: 修改 applets hosts 详情
This commit is contained in:
parent
7f6edc2749
commit
a26b42fef8
@ -67,7 +67,7 @@ export default {
|
||||
type: field.type,
|
||||
value: name
|
||||
}
|
||||
if (field.type === 'choice' && field.choices) {
|
||||
if (['choice', 'labeled_choice'].indexOf(field.type) > -1 && field.choices) {
|
||||
option.children = field.choices.map(item => {
|
||||
if (typeof (item.value) === 'boolean') {
|
||||
if (item.value) {
|
||||
|
@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<Dialog
|
||||
v-if="showColumnSettingPopover"
|
||||
:title="$t('common.CustomCol')"
|
||||
:title="$tc('common.CustomCol')"
|
||||
:visible.sync="showColumnSettingPopover"
|
||||
:destroy-on-close="true"
|
||||
:show-cancel="false"
|
||||
|
@ -169,6 +169,10 @@ export default {
|
||||
line-height: 1.5;
|
||||
padding: 6px 0;
|
||||
font-size: 13px;
|
||||
|
||||
* {
|
||||
vertical-align: middle;
|
||||
}
|
||||
}
|
||||
.el-table ::v-deep .el-table__row > td> div > span {
|
||||
text-overflow: ellipsis;
|
||||
|
@ -107,7 +107,7 @@ export default {
|
||||
return config
|
||||
},
|
||||
tableUrl() {
|
||||
return this.tableConfig.url
|
||||
return this.tableConfig.url || ''
|
||||
},
|
||||
permissions() {
|
||||
// 获取 permissions,获取不到通过 url 解析
|
||||
|
@ -120,6 +120,5 @@ export default {
|
||||
.icon {
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
</style>
|
||||
|
@ -289,6 +289,7 @@
|
||||
"ReLoginErr": "登录时长已超过 5 分钟,请重新登录"
|
||||
},
|
||||
"common": {
|
||||
"Publish": "发布",
|
||||
"Icon": "图标",
|
||||
"DisplayName": "名称",
|
||||
"Automations": "自动化",
|
||||
@ -1000,7 +1001,8 @@
|
||||
}
|
||||
},
|
||||
"applets": {
|
||||
"NoPublished": "未发布"
|
||||
"NoPublished": "未发布",
|
||||
"PublishStatus": "发布状态"
|
||||
},
|
||||
"setting": {
|
||||
"Applets": "远程应用",
|
||||
|
@ -215,7 +215,7 @@ export default {
|
||||
component: () => import('@/views/settings/Applet'),
|
||||
meta: {
|
||||
title: i18n.t('setting.Applets'),
|
||||
icon: 'tasks',
|
||||
icon: 'windows',
|
||||
permissions: ['settings.change_terminal']
|
||||
}
|
||||
},
|
||||
@ -226,7 +226,8 @@ export default {
|
||||
hidden: true,
|
||||
meta: {
|
||||
title: i18n.t('route.AppletHostCreate'),
|
||||
permissions: ['settings.change_terminal']
|
||||
permissions: ['settings.change_terminal'],
|
||||
activeMenu: '/settings/applets'
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -236,7 +237,8 @@ export default {
|
||||
hidden: true,
|
||||
meta: {
|
||||
title: i18n.t('route.AppletHostDetail'),
|
||||
permissions: ['settings.change_terminal']
|
||||
permissions: ['settings.change_terminal'],
|
||||
activeMenu: '/settings/applets'
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -246,7 +248,8 @@ export default {
|
||||
hidden: true,
|
||||
meta: {
|
||||
title: i18n.t('route.AppletHostUpdate'),
|
||||
permissions: ['settings.change_terminal']
|
||||
permissions: ['settings.change_terminal'],
|
||||
activeMenu: '/settings/applets'
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -1,7 +1,7 @@
|
||||
import i18n from '@/i18n/i18n'
|
||||
import { CronTab } from '@/components'
|
||||
|
||||
var validatorInterval = (rule, value, callback) => {
|
||||
const validatorInterval = (rule, value, callback) => {
|
||||
if (parseInt(value) < 1) {
|
||||
return callback(new Error(i18n.t('xpack.ChangeAuthPlan.validatorMessage.EnsureThisValueIsGreaterThanOrEqualTo1')))
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<el-row :gutter="20">
|
||||
<el-col :md="16" :sm="24">
|
||||
<ListTable :table-config="config" />
|
||||
<ListTable :table-config="config" :header-actions="headerConfig" />
|
||||
</el-col>
|
||||
<el-col :md="8" :sm="24">
|
||||
<QuickActions type="primary" :actions="quickActions" />
|
||||
@ -9,9 +9,10 @@
|
||||
</el-row>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
<script type="text/jsx">
|
||||
import { ListTable, QuickActions } from '@/components'
|
||||
import { openTaskPage } from '@/utils/jms'
|
||||
import { DetailFormatter } from '@/components/TableFormatters'
|
||||
export default {
|
||||
name: 'Publications',
|
||||
components: {
|
||||
@ -26,35 +27,40 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
headerConfig: {
|
||||
hasImport: false
|
||||
},
|
||||
config: {
|
||||
url: `/api/v1/terminal/applet-publications/?host=${this.object.id}`,
|
||||
columns: [
|
||||
'applet.icon', 'applet.display_name', 'date_updated', 'status',
|
||||
'applet.display_name', 'date_updated', 'status',
|
||||
'actions'
|
||||
],
|
||||
columnsMeta: {
|
||||
'applet.icon': {
|
||||
label: this.$t('common.Icon'),
|
||||
align: 'center',
|
||||
width: '60px',
|
||||
formatter: (row) => {
|
||||
return <img src={row.applet.icon} width='30' height='30' alt='icon'></img>
|
||||
'applet.display_name': {
|
||||
label: this.$t('common.DisplayName'),
|
||||
formatter: DetailFormatter,
|
||||
formatterArgs: {
|
||||
getIcon: ({ row }) => row.applet?.icon,
|
||||
getTitle: ({ row }) => row.applet.display_name
|
||||
}
|
||||
},
|
||||
'applet.display_name': {
|
||||
label: this.$t('common.DisplayName')
|
||||
},
|
||||
status: {
|
||||
label: this.$t('common.Status'),
|
||||
label: this.$t('applets.PublishStatus'),
|
||||
formatter: (row) => {
|
||||
if (!row.status) {
|
||||
return <el-tag size='mini' type='danger'>{ this.$t('applets.NoPublished') }</el-tag>
|
||||
const typeMapper = {
|
||||
'ready': 'info',
|
||||
'pending': 'info',
|
||||
'running': 'success',
|
||||
'success': 'success',
|
||||
'failed': 'danger'
|
||||
}
|
||||
return row.status.label
|
||||
const tp = typeMapper[row.status.value] || 'info'
|
||||
return <el-tag size='mini' type={tp}>{ row.status.label }</el-tag>
|
||||
}
|
||||
},
|
||||
date_updated: {
|
||||
label: '发布日期'
|
||||
label: '日期'
|
||||
},
|
||||
actions: {
|
||||
formatterArgs: {
|
||||
@ -82,10 +88,10 @@ export default {
|
||||
}
|
||||
},
|
||||
{
|
||||
title: '同步所有应用',
|
||||
title: '发布所有应用',
|
||||
attrs: {
|
||||
type: 'primary',
|
||||
label: this.$t('common.Sync')
|
||||
label: this.$t('common.Publish')
|
||||
},
|
||||
callbacks: {
|
||||
click: function() {
|
||||
|
@ -69,10 +69,10 @@ export default {
|
||||
}
|
||||
},
|
||||
{
|
||||
title: '同步所有应用',
|
||||
title: '发布所有应用',
|
||||
attrs: {
|
||||
type: 'primary',
|
||||
label: this.$t('common.Sync')
|
||||
label: this.$t('common.Publish')
|
||||
},
|
||||
callbacks: {
|
||||
click: function() {
|
||||
|
@ -38,7 +38,9 @@ export default {
|
||||
protocols: {
|
||||
label: this.$t('assets.Protocols'),
|
||||
formatter: (row) => {
|
||||
return row.protocols.map(p => <el-tag size='mini' class='protocol'>{p.name}/{p.port} </el-tag>)
|
||||
return row.protocols.map((p, i) => {
|
||||
return <el-tag size='mini' class='protocol'>{p.name}/{p.port}</el-tag>
|
||||
})
|
||||
}
|
||||
},
|
||||
actions: {
|
||||
|
Loading…
Reference in New Issue
Block a user