diff --git a/cmdb-ui/src/modules/cmdb/api/preference.js b/cmdb-ui/src/modules/cmdb/api/preference.js index c62e776..9072bbd 100644 --- a/cmdb-ui/src/modules/cmdb/api/preference.js +++ b/cmdb-ui/src/modules/cmdb/api/preference.js @@ -114,3 +114,12 @@ export function revokeRelationView(rid, data) { data: data }) } + +// preference citype order +export function preferenceCitypeOrder(data) { + return axios({ + url: `/v0.1/preference/ci_types/order`, + method: 'POST', + data: data + }) +} \ No newline at end of file diff --git a/cmdb-ui/src/modules/cmdb/router/index.js b/cmdb-ui/src/modules/cmdb/router/index.js index eaadc4b..66ccf6b 100644 --- a/cmdb-ui/src/modules/cmdb/router/index.js +++ b/cmdb-ui/src/modules/cmdb/router/index.js @@ -138,7 +138,7 @@ const genCmdbRoutes = async () => { const [preference, relation] = await Promise.all([getPreference(), getRelationView()]) preference.forEach(item => { - routes.children[2].children.unshift({ + routes.children[2].children.push({ path: `/cmdb/instances/types/${item.id}`, component: () => import(`../views/ci/index`), name: `cmdb_${item.id}`, diff --git a/cmdb-ui/src/modules/cmdb/views/ci/index.vue b/cmdb-ui/src/modules/cmdb/views/ci/index.vue index 46bc6fb..f6642d9 100644 --- a/cmdb-ui/src/modules/cmdb/views/ci/index.vue +++ b/cmdb-ui/src/modules/cmdb/views/ci/index.vue @@ -293,7 +293,6 @@ - diff --git a/cmdb-ui/src/modules/cmdb/views/ci/modules/editAttrsDrawer.vue b/cmdb-ui/src/modules/cmdb/views/ci/modules/editAttrsDrawer.vue deleted file mode 100644 index 712a016..0000000 --- a/cmdb-ui/src/modules/cmdb/views/ci/modules/editAttrsDrawer.vue +++ /dev/null @@ -1,103 +0,0 @@ - - - - - diff --git a/cmdb-ui/src/modules/cmdb/views/ci/modules/readme.txt b/cmdb-ui/src/modules/cmdb/views/ci/modules/readme.txt deleted file mode 100644 index 0f4602a..0000000 --- a/cmdb-ui/src/modules/cmdb/views/ci/modules/readme.txt +++ /dev/null @@ -1 +0,0 @@ -editAttrsDrawer 这个文件似乎也没用了 diff --git a/cmdb-ui/src/modules/cmdb/views/preference/index.vue b/cmdb-ui/src/modules/cmdb/views/preference/index.vue index 31bc24f..e42206c 100644 --- a/cmdb-ui/src/modules/cmdb/views/preference/index.vue +++ b/cmdb-ui/src/modules/cmdb/views/preference/index.vue @@ -5,7 +5,7 @@ {{ $t('cmdb.preference.mySub') }} {{ $t('cmdb.menu.ciTable') }}: + >{{ $t('cmdb.menu.ciTable') }}: + /> {{ $t('cmdb.menu.ciTree') }}: + >{{ $t('cmdb.menu.ciTree') }}: + />
{{ group.name }}
-
-
- - {{ ciType.name[0].toUpperCase() }} + +
+ +
+ + {{ ciType.name[0].toUpperCase() }} +
+ {{ ciType.alias || ciType.name }} + + + + + + + + + +
- {{ ciType.alias || ciType.name }} - - - - - - - - - - -
+
@@ -124,19 +133,12 @@ >
- - {{ $t('cmdb.preference.noSub') }} + {{ type_id2users[item.id].length > 99 ? '99+' : type_id2users[item.id].length + }}{{ $t('cmdb.preference.peopleSub') }} + {{ $t('cmdb.preference.noSub') }}
@@ -190,15 +192,23 @@ import router, { resetRouter } from '@/router' import store from '@/store' import { mapState } from 'vuex' import moment from 'moment' +import draggable from 'vuedraggable' import { getCITypeGroups } from '../../api/ciTypeGroup' -import { getPreference, getPreference2, subscribeCIType, subscribeTreeView } from '@/modules/cmdb/api/preference' +import { + getPreference, + getPreference2, + subscribeCIType, + subscribeTreeView, + preferenceCitypeOrder, +} from '@/modules/cmdb/api/preference' import CollapseTransition from '@/components/CollapseTransition' import SubscribeSetting from '../../components/subscribeSetting/subscribeSetting' import { getCIAdcStatistics } from '../../api/ci' +import { ops_move_icon as OpsMoveIcon } from '@/core/icons' export default { name: 'Preference', - components: { CollapseTransition, SubscribeSetting }, + components: { CollapseTransition, SubscribeSetting, draggable, OpsMoveIcon }, data() { return { citypeData: [], @@ -214,7 +224,6 @@ export default { computed: { ...mapState({ windowHeight: (state) => state.windowHeight, - allUsers: (state) => state.user.allUsers, }), }, mounted() { @@ -277,10 +286,6 @@ export default { }, 300) } }, - getNameByUid(uid) { - const _find = this.allUsers.find((item) => item.uid === uid) - return _find?.username[0].toUpperCase() || 'A' - }, getsubscribedDays(item) { const subscribedTime = this.self.type_id2subs_time[item.id] moment.duration(moment().diff(moment(subscribedTime))) @@ -351,6 +356,17 @@ export default { this.expandKeys.push(group.id) } }, + orderChange(e, group) { + preferenceCitypeOrder({ type_ids: group.ci_types.map((type) => type.id), is_tree: group.type !== 'ci' }) + .then(() => { + if (group.type === 'ci') { + this.resetRoute() + } + }) + .catch(() => { + this.getCITypes(false) + }) + }, }, } @@ -426,7 +442,7 @@ export default { align-items: center; height: 45px; padding: 0 8px; - cursor: default; + cursor: move; justify-content: flex-start; &:hover { background: #ffffff; @@ -437,6 +453,15 @@ export default { white-space: nowrap; margin-left: auto; } + .cmdb-preference-move-icon { + visibility: visible; + } + } + .cmdb-preference-move-icon { + width: 14px; + height: 20px; + cursor: move; + visibility: hidden; } .cmdb-preference-group-content-title { flex: 1; diff --git a/cmdb-ui/src/modules/cmdb/views/tree_views/index.vue b/cmdb-ui/src/modules/cmdb/views/tree_views/index.vue index 85f41c5..9be9e28 100644 --- a/cmdb-ui/src/modules/cmdb/views/tree_views/index.vue +++ b/cmdb-ui/src/modules/cmdb/views/tree_views/index.vue @@ -32,32 +32,24 @@ >