-
添加
-
模版添加
+
+
+ 在资产详情中更新账号信息
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 添加
+ 模版添加
+
+
+
-
-
-
@@ -61,11 +62,11 @@ export default {
},
data() {
return {
- addAccountDialogVisible: false,
- templateDialogVisible: false,
accounts: [],
account: {},
- initial: false
+ initial: false,
+ addAccountDialogVisible: false,
+ templateDialogVisible: false
}
},
watch: {
@@ -91,7 +92,7 @@ export default {
onEditClick(account) {
this.account = account
setTimeout(() => {
- this.visible = true
+ this.addAccountDialogVisible = true
})
},
onAddClick() {
diff --git a/src/views/assets/Platform/const.js b/src/views/assets/Platform/const.js
index 9149897a2..3110405a9 100644
--- a/src/views/assets/Platform/const.js
+++ b/src/views/assets/Platform/const.js
@@ -14,7 +14,7 @@ export const platformFieldsMeta = (vm) => {
'ansible_enabled', 'ansible_config',
'ping_enabled', 'ping_method',
'gather_facts_enabled', 'gather_facts_method',
- 'create_account_enabled', 'create_account_method',
+ 'push_account_enabled', 'push_account_method',
'change_secret_enabled', 'change_secret_method',
'verify_account_enabled', 'verify_account_method'
],
@@ -25,7 +25,7 @@ export const platformFieldsMeta = (vm) => {
},
ping_method: {},
gather_facts_method: {},
- create_account_method: {},
+ push_account_method: {},
change_secret_method: {},
verify_account_method: {}
}
diff --git a/src/views/myapps/DatabaseApp.vue b/src/views/myapps/DatabaseApp.vue
deleted file mode 100644
index 9998dbb52..000000000
--- a/src/views/myapps/DatabaseApp.vue
+++ /dev/null
@@ -1,96 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/src/views/myapps/KubernetesApp.vue b/src/views/myapps/KubernetesApp.vue
deleted file mode 100644
index d59db2a62..000000000
--- a/src/views/myapps/KubernetesApp.vue
+++ /dev/null
@@ -1,96 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/src/views/myapps/RemoteApp.vue b/src/views/myapps/RemoteApp.vue
deleted file mode 100644
index 381ccf65b..000000000
--- a/src/views/myapps/RemoteApp.vue
+++ /dev/null
@@ -1,95 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/src/views/settings/Applet/AppletHosts.vue b/src/views/settings/Applet/AppletHosts.vue
new file mode 100644
index 000000000..62cb080dc
--- /dev/null
+++ b/src/views/settings/Applet/AppletHosts.vue
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
diff --git a/src/views/settings/Applet/Applets/AppletCreateUpdate.vue b/src/views/settings/Applet/Applets/AppletCreateUpdate.vue
new file mode 100644
index 000000000..654101260
--- /dev/null
+++ b/src/views/settings/Applet/Applets/AppletCreateUpdate.vue
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
diff --git a/src/views/settings/Applet/Applets/AppletList.vue b/src/views/settings/Applet/Applets/AppletList.vue
new file mode 100644
index 000000000..5764a0751
--- /dev/null
+++ b/src/views/settings/Applet/Applets/AppletList.vue
@@ -0,0 +1,60 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/settings/Applet/Applets/UploadDialog.vue b/src/views/settings/Applet/Applets/UploadDialog.vue
new file mode 100644
index 000000000..95e77dfb7
--- /dev/null
+++ b/src/views/settings/Applet/Applets/UploadDialog.vue
@@ -0,0 +1,72 @@
+
+
+
+
+
+
+
diff --git a/src/views/settings/Applet/index.vue b/src/views/settings/Applet/index.vue
new file mode 100644
index 000000000..4a8f15f73
--- /dev/null
+++ b/src/views/settings/Applet/index.vue
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
+
+
From da4cc3de20c2e0e4b2b00863b9fd54fa9a3f9798 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E2=80=9Chuailei000=E2=80=9D?= <2280131253@qq.com>
Date: Thu, 27 Oct 2022 15:03:00 +0800
Subject: [PATCH 4/5] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96ZTree=E7=BB=84?=
=?UTF-8?q?=E4=BB=B6=E9=80=89=E6=8B=A9=E5=AE=8C=E5=B7=A6=E4=BE=A7=E8=B5=84?=
=?UTF-8?q?=E4=BA=A7=E5=90=8E=E8=BF=9B=E5=85=A5=E8=B5=84=E4=BA=A7=E8=AF=A6?=
=?UTF-8?q?=E6=83=85=E5=9C=A8=E8=BF=94=E5=9B=9E=E5=88=97=E8=A1=A8=E9=A1=B5?=
=?UTF-8?q?=E9=9D=A2=E8=BF=98=E4=BF=9D=E6=8C=81=E4=B9=8B=E5=89=8D=E9=80=89?=
=?UTF-8?q?=E6=8B=A9=E7=9A=84=E7=8A=B6=E6=80=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/AccountListTable/index.vue | 12 ++++++------
src/components/TreeTable/index.vue | 10 ++++++++++
src/views/accounts/AssetAccount/AssetAccountList.vue | 8 ++++----
3 files changed, 20 insertions(+), 10 deletions(-)
diff --git a/src/components/AccountListTable/index.vue b/src/components/AccountListTable/index.vue
index aab19a2bf..73f5b53f8 100644
--- a/src/components/AccountListTable/index.vue
+++ b/src/components/AccountListTable/index.vue
@@ -236,7 +236,7 @@ export default {
this.$set(this.tableConfig, 'url', iNew)
this.$set(this.headerActions.exportOptions, 'url', iNew.replace('/accounts/', '/account-secrets/'))
},
- '$route.query.assets': {
+ '$route.query.asset': {
immediate: true,
handler() {
this.hasAccountPermission()
@@ -262,14 +262,14 @@ export default {
this.$refs.ListTable.reloadTable()
},
async getAssetDetail() {
- const { query: { assets }} = this.$route
- this.iAsset = await this.$axios.get(`/api/v1/assets/assets/${assets}/`)
+ const { query: { asset }} = this.$route
+ this.iAsset = await this.$axios.get(`/api/v1/assets/assets/${asset}/`)
},
hasAccountPermission() {
- const { path, query: { assets }} = this.$route
+ const { path, query: { asset }} = this.$route
if (!hasUUID(path)) {
- if (assets) this.getAssetDetail()
- const hasPerm = this.$hasPerm('assets.add_account') && !!assets
+ if (asset) this.getAssetDetail()
+ const hasPerm = this.$hasPerm('assets.add_account') && !!asset
this.$set(this.headerActions.extraActions[0], 'can', hasPerm)
}
}
diff --git a/src/components/TreeTable/index.vue b/src/components/TreeTable/index.vue
index 25194cdaa..54efaac96 100644
--- a/src/components/TreeTable/index.vue
+++ b/src/components/TreeTable/index.vue
@@ -44,6 +44,8 @@ import AutoDataZTree from '../AutoDataZTree'
import Dialog from '@/components/Dialog'
import ListTable from '../ListTable'
import IBox from '../IBox'
+import { setUrlParam } from '@/utils/common'
+
export default {
name: 'TreeTable',
components: {
@@ -88,8 +90,16 @@ export default {
},
mounted() {
// debug(this.treeSetting)
+ this.initSetTableUrl()
},
methods: {
+ initSetTableUrl() {
+ const { asset = '', node = '' } = this.$route.query || {}
+ let url = this.iTableConfig.url
+ url = setUrlParam(url, 'asset', asset)
+ url = setUrlParam(url, 'node', node)
+ this.$set(this.iTableConfig, 'url', url)
+ },
handleUrlChange(url) {
this.$set(this.iTableConfig, 'url', url)
this.$emit('urlChange', url)
diff --git a/src/views/accounts/AssetAccount/AssetAccountList.vue b/src/views/accounts/AssetAccount/AssetAccountList.vue
index fac6f2eec..a456b156f 100644
--- a/src/views/accounts/AssetAccount/AssetAccountList.vue
+++ b/src/views/accounts/AssetAccount/AssetAccountList.vue
@@ -42,12 +42,12 @@ export default {
let url = '/api/v1/assets/accounts/'
if (treeNode.meta.type === 'node') {
const nodeId = treeNode.meta.data.id
- url = setUrlParam(url, 'assets', '')
- url = setUrlParam(url, 'nodes', nodeId)
+ url = setUrlParam(url, 'asset', '')
+ url = setUrlParam(url, 'node', nodeId)
} else if (treeNode.meta.type === 'asset') {
const assetId = treeNode.meta.data.id
- url = setUrlParam(url, 'nodes', '')
- url = setUrlParam(url, 'assets', assetId)
+ url = setUrlParam(url, 'node', '')
+ url = setUrlParam(url, 'asset', assetId)
}
this.$set(this.tableConfig, 'url', url)
From ba5a19582eb4e76e17e93f04f1692e9e6c9f97e1 Mon Sep 17 00:00:00 2001
From: ibuler
Date: Thu, 27 Oct 2022 19:05:43 +0800
Subject: [PATCH 5/5] =?UTF-8?q?pref:=20=E4=BF=AE=E6=94=B9=20Applet=20Host?=
=?UTF-8?q?=20=E5=88=9B=E5=BB=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../ListTable/TableAction/ImportDialog.vue | 24 +++++---
src/i18n/langs/zh.json | 3 +
src/router/settings/index.js | 22 ++++++--
.../BaseAssetCreateUpdate.vue | 12 +++-
.../Asset/AssetList/components/BaseList.vue | 3 +-
src/views/settings/Applet/AppletHosts.vue | 14 -----
.../AppletHosts/AppletHostCreateUpdate.vue | 48 ++++++++++++++++
.../Applet/AppletHosts/AppletHostList.vue | 55 +++++++++++++++++++
.../Applet/Applets/AppletCreateUpdate.vue | 34 ------------
.../settings/Applet/Applets/AppletList.vue | 30 +++++++++-
.../settings/Applet/Applets/UploadDialog.vue | 32 ++++++++++-
src/views/settings/Applet/index.vue | 2 +-
src/views/users/User/UserList.vue | 2 +-
13 files changed, 209 insertions(+), 72 deletions(-)
delete mode 100644 src/views/settings/Applet/AppletHosts.vue
create mode 100644 src/views/settings/Applet/AppletHosts/AppletHostCreateUpdate.vue
create mode 100644 src/views/settings/Applet/AppletHosts/AppletHostList.vue
delete mode 100644 src/views/settings/Applet/Applets/AppletCreateUpdate.vue
diff --git a/src/components/ListTable/TableAction/ImportDialog.vue b/src/components/ListTable/TableAction/ImportDialog.vue
index b2d9110a4..58932b3b7 100644
--- a/src/components/ListTable/TableAction/ImportDialog.vue
+++ b/src/components/ListTable/TableAction/ImportDialog.vue
@@ -22,8 +22,8 @@
{{ downloadTemplateTitle }}
- CSV
- XLSX
+ CSV
+ XLSX
@@ -40,7 +40,9 @@
accept=".csv,.xlsx"
>
- {{ $t('common.imExport.dragUploadFileInfo') }}
+
+ {{ $t('common.imExport.dragUploadFileInfo') }}
+
{{ $t('common.imExport.uploadCsvLth10MHelpText') }}
@@ -170,7 +172,10 @@ export default {
this.$axios.post(
renderToJsonUrl,
file.raw,
- { headers: { 'Content-Type': isCsv ? 'text/csv' : 'text/xlsx' }, disableFlashErrorMsg: true }
+ {
+ headers: { 'Content-Type': isCsv ? 'text/csv' : 'text/xlsx' },
+ disableFlashErrorMsg: true
+ }
).then(data => {
this.jsonData = data
this.showTable = true
@@ -207,9 +212,8 @@ export default {
}
return this.url.indexOf('?') === -1 ? `${this.url}?${query}` : `${this.url}&${query}`
},
- // eslint-disable-next-line handle-callback-err
- catchError(error) {
- // debug(error)
+ catchError(err) {
+ console.log(err)
},
onSuccess(msg) {
this.errorMsg = ''
@@ -222,7 +226,7 @@ export default {
window.URL.revokeObjectURL(url)
},
async handleImportConfirm() {
- this.$refs['importTable'].performUpload()
+ await this.$refs['importTable'].performUpload()
},
handleImportCancel() {
this.showImportDialog = false
@@ -285,5 +289,9 @@ export default {
.el-upload__tip {
line-height: 1.5;
padding-top: 0;
+
+ .el-link {
+ margin-left: 10px;
+ }
}
diff --git a/src/i18n/langs/zh.json b/src/i18n/langs/zh.json
index 13e23a0b7..e1b5e9250 100644
--- a/src/i18n/langs/zh.json
+++ b/src/i18n/langs/zh.json
@@ -98,6 +98,7 @@
"NoSQLProtocol": "非关系数据库"
},
"assets": {
+ "Address": "地址",
"PrivateKey": "密钥",
"Secret": "密码",
"Network": "网络",
@@ -706,6 +707,8 @@
},
"route": {
"": "",
+ "AppletHostCreate": "添加远程应用发布机",
+ "AppletHostUpdate": "更新远程应用发布机",
"AppletCreate": "创建远程应用",
"CreateEndpoint": "创建端点",
"UpdateEndpoint": "更新端点",
diff --git a/src/router/settings/index.js b/src/router/settings/index.js
index 527e1dd97..44e737794 100644
--- a/src/router/settings/index.js
+++ b/src/router/settings/index.js
@@ -220,14 +220,24 @@ export default {
}
},
{
- path: 'create',
- name: 'AppletCreate',
- component: () => import('@/views/settings/Applet/Applets/AppletCreateUpdate'),
+ path: 'hosts/create',
+ name: 'AppletHostCreate',
+ component: () => import('@/views/settings/Applet/AppletHosts/AppletHostCreateUpdate'),
+ hidden: true,
meta: {
- title: i18n.t('route.AppletCreate'),
+ title: i18n.t('route.AppletHostCreate'),
permissions: ['settings.change_terminal']
- },
- hidden: true
+ }
+ },
+ {
+ path: 'hosts/:id/update',
+ name: 'AppletHostUpdate',
+ component: () => import('@/views/settings/Applet/AppletHosts/AppletHostCreateUpdate'),
+ hidden: true,
+ meta: {
+ title: i18n.t('route.AppletHostUpdate'),
+ permissions: ['settings.change_terminal']
+ }
}
]
},
diff --git a/src/views/assets/Asset/AssetCreateUpdate/BaseAssetCreateUpdate.vue b/src/views/assets/Asset/AssetCreateUpdate/BaseAssetCreateUpdate.vue
index b2a508ba9..604b8f4fb 100644
--- a/src/views/assets/Asset/AssetCreateUpdate/BaseAssetCreateUpdate.vue
+++ b/src/views/assets/Asset/AssetCreateUpdate/BaseAssetCreateUpdate.vue
@@ -21,6 +21,14 @@ export default {
addFieldsMeta: {
type: Object,
default: () => ({})
+ },
+ createSuccessNextRoute: {
+ type: Object,
+ default: () => ({ name: 'AssetList' })
+ },
+ updateSuccessNextRoute: {
+ type: Object,
+ default: () => ({ name: 'AssetList' })
}
},
data() {
@@ -31,8 +39,8 @@ export default {
initial: {},
platform: {},
url: '/api/v1/assets/hosts/',
- createSuccessNextRoute: { name: 'AssetList' },
- updateSuccessNextRoute: { name: 'AssetList' },
+ createSuccessNextRoute: this.createSuccessNextRoute,
+ updateSuccessNextRoute: this.updateSuccessNextRoute,
hasDetailInMsg: false,
fields: [
[this.$t('common.Basic'), ['name', 'address', 'platform']],
diff --git a/src/views/assets/Asset/AssetList/components/BaseList.vue b/src/views/assets/Asset/AssetList/components/BaseList.vue
index 633045818..6347fbdee 100644
--- a/src/views/assets/Asset/AssetList/components/BaseList.vue
+++ b/src/views/assets/Asset/AssetList/components/BaseList.vue
@@ -110,8 +110,7 @@ export default {
},
protocols: {
formatter: (row) => {
- let data = row.protocols.map(item => item.name + '/' + item.port)
- data = data.join(', ')
+ const data = row.protocols.map(p => {p.name}/{p.port} )
return {data}
}
},
diff --git a/src/views/settings/Applet/AppletHosts.vue b/src/views/settings/Applet/AppletHosts.vue
deleted file mode 100644
index 62cb080dc..000000000
--- a/src/views/settings/Applet/AppletHosts.vue
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
diff --git a/src/views/settings/Applet/AppletHosts/AppletHostCreateUpdate.vue b/src/views/settings/Applet/AppletHosts/AppletHostCreateUpdate.vue
new file mode 100644
index 000000000..b207c1335
--- /dev/null
+++ b/src/views/settings/Applet/AppletHosts/AppletHostCreateUpdate.vue
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
diff --git a/src/views/settings/Applet/AppletHosts/AppletHostList.vue b/src/views/settings/Applet/AppletHosts/AppletHostList.vue
new file mode 100644
index 000000000..3c53aaf64
--- /dev/null
+++ b/src/views/settings/Applet/AppletHosts/AppletHostList.vue
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
diff --git a/src/views/settings/Applet/Applets/AppletCreateUpdate.vue b/src/views/settings/Applet/Applets/AppletCreateUpdate.vue
deleted file mode 100644
index 654101260..000000000
--- a/src/views/settings/Applet/Applets/AppletCreateUpdate.vue
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
-
-
-
-
-
diff --git a/src/views/settings/Applet/Applets/AppletList.vue b/src/views/settings/Applet/Applets/AppletList.vue
index 5764a0751..9809d4bfd 100644
--- a/src/views/settings/Applet/Applets/AppletList.vue
+++ b/src/views/settings/Applet/Applets/AppletList.vue
@@ -20,12 +20,38 @@ export default {
tableConfig: {
url: '/api/v1/terminal/applets/',
columns: [
- 'name', 'display_name', 'icon', 'type', 'actions'
+ 'icon', 'name', 'version', 'author', 'protocols',
+ 'type', 'comment', 'date_created', 'date_updated', 'actions'
],
+ columnsShow: {
+ min: ['icon', 'name', 'version', 'author', 'protocols', 'actions'],
+ default: [
+ 'icon', 'name', 'version', 'author', 'protocols',
+ 'type', 'comment', 'actions'
+ ]
+ },
columnsMeta: {
icon: {
+ align: 'center',
+ width: '60px',
formatter: (row) => {
- return
+ return
+ }
+ },
+ name: {
+ formatterArgs: {
+ getTitle: ({ row }) => row['display_name']
+ }
+ },
+ version: {
+ width: '80px'
+ },
+ type: {
+ width: '80px'
+ },
+ protocols: {
+ formatter: (row) => {
+ return row.protocols.map(tag => {tag})
}
}
}
diff --git a/src/views/settings/Applet/Applets/UploadDialog.vue b/src/views/settings/Applet/Applets/UploadDialog.vue
index 95e77dfb7..be96eaa4f 100644
--- a/src/views/settings/Applet/Applets/UploadDialog.vue
+++ b/src/views/settings/Applet/Applets/UploadDialog.vue
@@ -2,6 +2,7 @@