diff --git a/src/components/TableFormatters/DetailFormatter.vue b/src/components/TableFormatters/DetailFormatter.vue index cc0908db1..0c7956969 100644 --- a/src/components/TableFormatters/DetailFormatter.vue +++ b/src/components/TableFormatters/DetailFormatter.vue @@ -5,7 +5,8 @@ :type="col.type || 'info'" @click="goDetail" > - {{ iTitle }} + icon + {{ iTitle }} @@ -26,6 +27,9 @@ export default { can: true, getTitle({ col, row, cellValue }) { return cellValue + }, + getIcon({ col, row, cellValue }) { + return null } } } @@ -51,6 +55,13 @@ export default { can = can(this.col) } return !can + }, + icon() { + return this.formatterArgs.getIcon({ + col: this.col, + row: this.row, + cellValue: this.cellValue + }) } }, methods: { @@ -98,4 +109,13 @@ export default { white-space: nowrap; font-weight: 400; } + +.detail { + line-height: 25px; +} + +.icon { + width: 25px; + height: 25px; +} diff --git a/src/i18n/langs/zh.json b/src/i18n/langs/zh.json index c24f323a8..dc5deab9c 100644 --- a/src/i18n/langs/zh.json +++ b/src/i18n/langs/zh.json @@ -289,6 +289,8 @@ "ReLoginErr": "登录时长已超过 5 分钟,请重新登录" }, "common": { + "Icon": "图标", + "DisplayName": "名称", "Automations": "自动化", "Sync": "同步", "Deploy": "部署", @@ -997,6 +999,9 @@ "esDocType": "es 默认文档类型:command" } }, + "applets": { + "NoPublished": "未发布" + }, "setting": { "Applets": "远程应用", "EndpointListHelpMessage": "服务端点是用户访问服务的地址(端口),当用户在连接资产时,会根据端点规则和资产标签选择服务端点,作为访问入口建立连接,实现分布式连接资产", diff --git a/src/router/settings/index.js b/src/router/settings/index.js index 12f318d9f..3c2abeab4 100644 --- a/src/router/settings/index.js +++ b/src/router/settings/index.js @@ -222,7 +222,7 @@ export default { { path: 'hosts/create', name: 'AppletHostCreate', - component: () => import('@/views/settings/Applet/AppletHosts/AppletHostCreateUpdate'), + component: () => import('@/views/settings/Applet/AppletHost/AppletHostCreateUpdate'), hidden: true, meta: { title: i18n.t('route.AppletHostCreate'), @@ -232,7 +232,7 @@ export default { { path: 'hosts/:id', name: 'AppletHostDetail', - component: () => import('@/views/settings/Applet/AppletHosts/AppletHostDetail/index'), + component: () => import('@/views/settings/Applet/AppletHost/AppletHostDetail/index'), hidden: true, meta: { title: i18n.t('route.AppletHostDetail'), @@ -242,7 +242,7 @@ export default { { path: 'hosts/:id/update', name: 'AppletHostUpdate', - component: () => import('@/views/settings/Applet/AppletHosts/AppletHostCreateUpdate'), + component: () => import('@/views/settings/Applet/AppletHost/AppletHostCreateUpdate'), hidden: true, meta: { title: i18n.t('route.AppletHostUpdate'), diff --git a/src/views/settings/Applet/Applets/AppletList.vue b/src/views/settings/Applet/Applet/AppletList.vue similarity index 92% rename from src/views/settings/Applet/Applets/AppletList.vue rename to src/views/settings/Applet/Applet/AppletList.vue index 9809d4bfd..986f2ca74 100644 --- a/src/views/settings/Applet/Applets/AppletList.vue +++ b/src/views/settings/Applet/Applet/AppletList.vue @@ -20,7 +20,7 @@ export default { tableConfig: { url: '/api/v1/terminal/applets/', columns: [ - 'icon', 'name', 'version', 'author', 'protocols', + 'name', 'version', 'author', 'protocols', 'type', 'comment', 'date_created', 'date_updated', 'actions' ], columnsShow: { @@ -40,7 +40,8 @@ export default { }, name: { formatterArgs: { - getTitle: ({ row }) => row['display_name'] + getTitle: ({ row }) => row['display_name'], + getIcon: ({ row }) => row['icon'] } }, version: { diff --git a/src/views/settings/Applet/Applets/UploadDialog.vue b/src/views/settings/Applet/Applet/UploadDialog.vue similarity index 100% rename from src/views/settings/Applet/Applets/UploadDialog.vue rename to src/views/settings/Applet/Applet/UploadDialog.vue diff --git a/src/views/settings/Applet/AppletHosts/AppletHostCreateUpdate.vue b/src/views/settings/Applet/AppletHost/AppletHostCreateUpdate.vue similarity index 100% rename from src/views/settings/Applet/AppletHosts/AppletHostCreateUpdate.vue rename to src/views/settings/Applet/AppletHost/AppletHostCreateUpdate.vue diff --git a/src/views/settings/Applet/AppletHosts/AppletHostDetail/Applets.vue b/src/views/settings/Applet/AppletHost/AppletHostDetail/Applets.vue similarity index 71% rename from src/views/settings/Applet/AppletHosts/AppletHostDetail/Applets.vue rename to src/views/settings/Applet/AppletHost/AppletHostDetail/Applets.vue index bc2726d23..80f297e62 100644 --- a/src/views/settings/Applet/AppletHosts/AppletHostDetail/Applets.vue +++ b/src/views/settings/Applet/AppletHost/AppletHostDetail/Applets.vue @@ -29,14 +29,33 @@ export default { config: { url: `/api/v1/terminal/applet-publications/?host=${this.object.id}`, columns: [ - 'name', 'applet', 'comment', 'date_created', 'date_updated', 'actions' + 'applet.icon', 'applet.display_name', 'date_updated', 'status', + 'actions' ], columnsMeta: { - applet: { + 'applet.icon': { + label: this.$t('common.Icon'), + align: 'center', + width: '60px', formatter: (row) => { - return row.applet.name + return icon } }, + 'applet.display_name': { + label: this.$t('common.DisplayName') + }, + status: { + label: this.$t('common.Status'), + formatter: (row) => { + if (!row.status) { + return { this.$t('applets.NoPublished') } + } + return row.status.label + } + }, + date_updated: { + label: '发布日期' + }, actions: { formatterArgs: { updateRoute: 'AppletPublicationUpdate' diff --git a/src/views/settings/Applet/AppletHosts/AppletHostDetail/Detail.vue b/src/views/settings/Applet/AppletHost/AppletHostDetail/Detail.vue similarity index 100% rename from src/views/settings/Applet/AppletHosts/AppletHostDetail/Detail.vue rename to src/views/settings/Applet/AppletHost/AppletHostDetail/Detail.vue diff --git a/src/views/settings/Applet/AppletHosts/AppletHostDetail/Devployments.vue b/src/views/settings/Applet/AppletHost/AppletHostDetail/Devployments.vue similarity index 100% rename from src/views/settings/Applet/AppletHosts/AppletHostDetail/Devployments.vue rename to src/views/settings/Applet/AppletHost/AppletHostDetail/Devployments.vue diff --git a/src/views/settings/Applet/AppletHosts/AppletHostDetail/index.vue b/src/views/settings/Applet/AppletHost/AppletHostDetail/index.vue similarity index 100% rename from src/views/settings/Applet/AppletHosts/AppletHostDetail/index.vue rename to src/views/settings/Applet/AppletHost/AppletHostDetail/index.vue diff --git a/src/views/settings/Applet/AppletHosts/AppletHostList.vue b/src/views/settings/Applet/AppletHost/AppletHostList.vue similarity index 100% rename from src/views/settings/Applet/AppletHosts/AppletHostList.vue rename to src/views/settings/Applet/AppletHost/AppletHostList.vue diff --git a/src/views/settings/Applet/index.vue b/src/views/settings/Applet/index.vue index 246d44572..1f179fdef 100644 --- a/src/views/settings/Applet/index.vue +++ b/src/views/settings/Applet/index.vue @@ -8,8 +8,8 @@