diff --git a/nezha-fronted/src/components/common/bottomBox/tabs/cabinetTab.vue b/nezha-fronted/src/components/common/bottomBox/tabs/cabinetTab.vue index bc99f1390..dea69fbe4 100644 --- a/nezha-fronted/src/components/common/bottomBox/tabs/cabinetTab.vue +++ b/nezha-fronted/src/components/common/bottomBox/tabs/cabinetTab.vue @@ -20,6 +20,7 @@ :height="mainTableHeight" :table-data="tableData" @del="del" + @copy="copy" @edit="edit" @orderBy="tableDataSort" @reload="getTableData" diff --git a/nezha-fronted/src/components/common/rightBox/administration/roleBox.vue b/nezha-fronted/src/components/common/rightBox/administration/roleBox.vue index e29ac3ee1..07a9991e2 100644 --- a/nezha-fronted/src/components/common/rightBox/administration/roleBox.vue +++ b/nezha-fronted/src/components/common/rightBox/administration/roleBox.vue @@ -57,7 +57,8 @@ export default { obj: { type: Object }, - detail: Boolean + detail: Boolean, + copyFlag: Boolean }, mixins: [editRigthBox], data () { @@ -94,6 +95,10 @@ export default { }, mounted () { this.getMenus().then(() => { + console.log(this.copyFlag) + if (this.copyFlag) { + this.editRole.id = '' + } if (this.$refs.menuTree && this.selectedIds && this.selectedIds.length > 0) { this.$refs.menuTree.setCheckedKeys(this.selectedIds, true) } diff --git a/nezha-fronted/src/components/common/table/asset/assetMetaTable.vue b/nezha-fronted/src/components/common/table/asset/assetMetaTable.vue index 999ad9ec8..649d1c2a4 100644 --- a/nezha-fronted/src/components/common/table/asset/assetMetaTable.vue +++ b/nezha-fronted/src/components/common/table/asset/assetMetaTable.vue @@ -75,6 +75,7 @@ + {{$t('overall.duplicate')}} {{$t('overall.delete')}} diff --git a/nezha-fronted/src/components/common/table/settings/agentTable.vue b/nezha-fronted/src/components/common/table/settings/agentTable.vue index e61effb1d..bcb1ac18a 100644 --- a/nezha-fronted/src/components/common/table/settings/agentTable.vue +++ b/nezha-fronted/src/components/common/table/settings/agentTable.vue @@ -63,6 +63,7 @@ + {{$t('overall.duplicate')}} {{$t('overall.delete')}} diff --git a/nezha-fronted/src/components/common/table/settings/cabinetTable.vue b/nezha-fronted/src/components/common/table/settings/cabinetTable.vue index b5f6e5b06..6991d925e 100644 --- a/nezha-fronted/src/components/common/table/settings/cabinetTable.vue +++ b/nezha-fronted/src/components/common/table/settings/cabinetTable.vue @@ -44,6 +44,7 @@ + {{$t('overall.duplicate')}} {{$t('overall.delete')}} diff --git a/nezha-fronted/src/components/common/table/settings/dcTable.vue b/nezha-fronted/src/components/common/table/settings/dcTable.vue index a7064f92c..010c7bb97 100644 --- a/nezha-fronted/src/components/common/table/settings/dcTable.vue +++ b/nezha-fronted/src/components/common/table/settings/dcTable.vue @@ -91,6 +91,7 @@ + {{$t('overall.duplicate')}} {{$t('overall.delete')}} diff --git a/nezha-fronted/src/components/common/table/settings/modelTable.vue b/nezha-fronted/src/components/common/table/settings/modelTable.vue index 7fbcf1c05..5a3a8a9c0 100644 --- a/nezha-fronted/src/components/common/table/settings/modelTable.vue +++ b/nezha-fronted/src/components/common/table/settings/modelTable.vue @@ -69,6 +69,7 @@ + {{$t('overall.duplicate')}} {{$t('overall.delete')}} {{$t('overall.syncChart')}} diff --git a/nezha-fronted/src/components/common/table/settings/roleTable.vue b/nezha-fronted/src/components/common/table/settings/roleTable.vue index d812b67e9..3c6b1d4d8 100644 --- a/nezha-fronted/src/components/common/table/settings/roleTable.vue +++ b/nezha-fronted/src/components/common/table/settings/roleTable.vue @@ -58,6 +58,7 @@ + {{$t('overall.duplicate')}} {{$t('overall.delete')}} diff --git a/nezha-fronted/src/components/common/table/settings/userTable.vue b/nezha-fronted/src/components/common/table/settings/userTable.vue index 0db454373..c0b730780 100644 --- a/nezha-fronted/src/components/common/table/settings/userTable.vue +++ b/nezha-fronted/src/components/common/table/settings/userTable.vue @@ -82,6 +82,7 @@ {{$t('overall.edit')}} + {{$t('overall.duplicate')}} {{$t('overall.delete')}} {{$t('config.user.resetMfa')}} diff --git a/nezha-fronted/src/components/page/config/agent.vue b/nezha-fronted/src/components/page/config/agent.vue index cb1f4a89d..8062daea5 100644 --- a/nezha-fronted/src/components/page/config/agent.vue +++ b/nezha-fronted/src/components/page/config/agent.vue @@ -29,6 +29,7 @@ :table-data="tableData" @del="del" @edit="edit" + @copy="copy" @orderBy="tableDataSort" @reload="getTableData" @selectionChange="selectionChange" diff --git a/nezha-fronted/src/components/page/config/assetMeta.vue b/nezha-fronted/src/components/page/config/assetMeta.vue index 807f664f5..84c295e2c 100644 --- a/nezha-fronted/src/components/page/config/assetMeta.vue +++ b/nezha-fronted/src/components/page/config/assetMeta.vue @@ -41,6 +41,7 @@ :table-data="tableData" @del="del" @edit="edit" + @copy="copy" @orderBy="tableDataSort" @reload="getTableData" @selectionChange="selectionChange" @@ -246,6 +247,15 @@ export default { } }) }, + copy (u) { + this.object = { ...u, name: u.name + '-copy', id: '' } + if (this.object.name.length > 64) { + const length = this.object.name.length - 64 + console.log(length, this.object.name.length, u.name.length) + this.object.name = u.name.substring(0, u.name.length - length) + '-copy' + } + this.rightBox.metaShow = true + }, closeRightBox (refresh) { this.rightBox.metaShow = false this.rightBox.groupShow = false diff --git a/nezha-fronted/src/components/page/config/dc.vue b/nezha-fronted/src/components/page/config/dc.vue index bc29bc04e..f3e6d3793 100644 --- a/nezha-fronted/src/components/page/config/dc.vue +++ b/nezha-fronted/src/components/page/config/dc.vue @@ -47,6 +47,7 @@ :table-data="tableData" @del="del" @edit="edit" + @copy="copy" @orderBy="tableDataSort" @reload="getTableData" @selectionChange="selectionChange" diff --git a/nezha-fronted/src/components/page/config/model.vue b/nezha-fronted/src/components/page/config/model.vue index c202183f2..377b3c5db 100644 --- a/nezha-fronted/src/components/page/config/model.vue +++ b/nezha-fronted/src/components/page/config/model.vue @@ -47,6 +47,7 @@ :table-data="tableData" @del="del" @edit="edit" + @copy="copy" @orderBy="tableDataSort" @reload="getTableData" @sync="chartBySync" diff --git a/nezha-fronted/src/components/page/config/roles.vue b/nezha-fronted/src/components/page/config/roles.vue index 5a235dcae..602ef6c1b 100644 --- a/nezha-fronted/src/components/page/config/roles.vue +++ b/nezha-fronted/src/components/page/config/roles.vue @@ -25,6 +25,7 @@ :height="mainTableHeight" :table-data="tableData" @del="del" + @copy="copy" @edit="edit" @orderBy="tableDataSort" @reload="getTableData" @@ -37,7 +38,7 @@ - + @@ -64,6 +65,7 @@ export default { blankObject: { // 空白对象 name: '' }, + copyFlag: false, searchMsg: { // 给搜索框子组件传递的信息 zheze_none: true, searchLabelList: [{ @@ -77,9 +79,22 @@ export default { } }, methods: { - edit (row) { + edit (row, copyFlag) { this.object = { ...row } + if (copyFlag) { + this.object.name = this.object.name + '-copy' + if (this.object.name.length > 64) { + const length = this.object.name.length - 64 + console.log(length, this.object.name.length, row.name.length) + this.object.name = row.name.substring(0, row.name.length - length) + '-copy' + } + } this.rightBox.show = true + }, + copy (u) { + this.edit(u, true) + this.copyFlag = true + console.log(this.copyFlag) } } } diff --git a/nezha-fronted/src/components/page/config/user.vue b/nezha-fronted/src/components/page/config/user.vue index 202604867..b71a2e80d 100644 --- a/nezha-fronted/src/components/page/config/user.vue +++ b/nezha-fronted/src/components/page/config/user.vue @@ -25,6 +25,7 @@ :height="mainTableHeight" :table-data="tableData" @del="del" + @copy="copy" @reset_mfa="resetMfa" @edit="edit" @orderBy="tableDataSort" @@ -105,7 +106,7 @@ export default { this.getTableData() }) }, - edit (u) { + edit (u, copyFlag) { this.$get(`${this.url}/${u.id}`).then(response => { const user = response.user if (response.code === 200) { @@ -119,10 +120,22 @@ export default { if (!this.object.mfaLevel) { this.object.mfaLevel = 0 } + if (copyFlag) { + this.object.id = '' + this.object.name = this.object.name + '-copy' + if (this.object.name.length > 64) { + const length = this.object.name.length - 64 + console.log(length, this.object.name.length, u.name.length) + this.object.name = u.name.substring(0, u.name.length - length) + '-copy' + } + } this.rightBox.show = true } }) }, + copy (u) { + this.edit(u, true) + }, resetMfa (row) { MessageBox.confirm(i18n.t('tip.resetMfa'), { confirmButtonText: i18n.t('tip.yes'),