From 48ded0a9ba79b8b90c8e33a52d9c2b85a17a7e4a Mon Sep 17 00:00:00 2001 From: dengbf Date: Wed, 19 Feb 2025 14:22:56 +0800 Subject: [PATCH 01/20] =?UTF-8?q?[=E5=8A=9F=E8=83=BD]=20#[1349157963399168?= =?UTF-8?q?]CMDB=E5=BA=94=E7=94=A8=E6=B8=85=E5=8D=95=E6=94=B9=E6=88=90?= =?UTF-8?q?=E6=A8=A1=E5=9E=8B=E5=B1=82=E7=BA=A7=E5=8F=AF=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=20http://192.168.0.96:8090/demo/rdm.html#/story-detail/9390509?= =?UTF-8?q?47543040/939050947543042/1349157963399168?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/resources/plugins/TsForm/TsFormTree.vue | 2 +- .../cmdb/resourceentity/ci/ci-setting.vue | 137 +++++++++++++ .../pages/cmdb/resourceentity/ci/ci-tree.vue | 190 ++++++++++++++++++ .../cmdb/resourceentity/mapping-setting.vue | 40 ++++ .../resourceentity/resourceentity-edit.vue | 37 +++- .../resourceentity/typecomponent/index.js | 4 +- .../typecomponent/newrel-type.vue | 110 ++++++++++ 7 files changed, 509 insertions(+), 11 deletions(-) create mode 100644 src/views/pages/cmdb/resourceentity/ci/ci-setting.vue create mode 100644 src/views/pages/cmdb/resourceentity/ci/ci-tree.vue create mode 100644 src/views/pages/cmdb/resourceentity/typecomponent/newrel-type.vue diff --git a/src/resources/plugins/TsForm/TsFormTree.vue b/src/resources/plugins/TsForm/TsFormTree.vue index 0b5947666..83ced231f 100755 --- a/src/resources/plugins/TsForm/TsFormTree.vue +++ b/src/resources/plugins/TsForm/TsFormTree.vue @@ -441,7 +441,7 @@ export default { let label = this.multiple ? this.selectedList.map(s => s[this.textName]) : this.selectedList.length > 0 ? this.selectedList[0][this.textName] : ''; let valueObject = this.selectedList.map((item) => { - return { 'value': item[this.valueName], 'text': item[this.textName] }; + return { ...item || {}, 'value': item[this.valueName], 'text': item[this.textName] }; }); valueObject = this.multiple ? valueObject : (valueObject[0] || {}); this.$emit('change', this.currentValue, valueObject); diff --git a/src/views/pages/cmdb/resourceentity/ci/ci-setting.vue b/src/views/pages/cmdb/resourceentity/ci/ci-setting.vue new file mode 100644 index 000000000..5e0b49185 --- /dev/null +++ b/src/views/pages/cmdb/resourceentity/ci/ci-setting.vue @@ -0,0 +1,137 @@ + + + diff --git a/src/views/pages/cmdb/resourceentity/ci/ci-tree.vue b/src/views/pages/cmdb/resourceentity/ci/ci-tree.vue new file mode 100644 index 000000000..06ca3ef28 --- /dev/null +++ b/src/views/pages/cmdb/resourceentity/ci/ci-tree.vue @@ -0,0 +1,190 @@ + + + diff --git a/src/views/pages/cmdb/resourceentity/mapping-setting.vue b/src/views/pages/cmdb/resourceentity/mapping-setting.vue index 9577b4f6f..40c91a846 100644 --- a/src/views/pages/cmdb/resourceentity/mapping-setting.vue +++ b/src/views/pages/cmdb/resourceentity/mapping-setting.vue @@ -27,6 +27,7 @@ ref="item" :item="item" :mainCi="mainCi" + :ciList="ciList" @change="(val,attr)=>{setConfig(val, attr, item)}" > @@ -48,6 +49,10 @@ export default { mainCi: { type: String, default: '' + }, + ciList: { + type: Array, + default: () => [] } }, data() { @@ -71,6 +76,10 @@ export default { text: this.$t('term.cmdb.globalattr'), value: 'globalAttr' }, + { + text: '新关系', + value: 'newRel' + }, { text: this.$t('term.expression.empty'), value: 'empty' @@ -145,7 +154,29 @@ export default { type: '' }); }); + }, + updatedNewRelItem() { //更新新关系字段时更新list + if (!this.$utils.isEmpty(this.list)) { + this.list = this.list.map(item => { + if (item.type === 'newRel') { + return { + field: item.field, + type: '' + }; + } else { + return item; + } + }); + this.list.forEach(item => { + if (item.type === 'newRel') { + this.$set(item, 'ci', ''); + this.$set(item, 'rel', ''); + this.$set(item, 'attr', ''); + } + }); + } } + }, filter: {}, computed: { @@ -180,6 +211,15 @@ export default { } }, immediate: true + }, + ciList: { + handler(val) { + if (!this.$utils.isSame(val, this.initCiList)) { + this.initCiList = this.$utils.deepClone(val); + this.updatedNewRelItem(); + } + }, + deep: true } } }; diff --git a/src/views/pages/cmdb/resourceentity/resourceentity-edit.vue b/src/views/pages/cmdb/resourceentity/resourceentity-edit.vue index 9732628f1..3e57ca043 100644 --- a/src/views/pages/cmdb/resourceentity/resourceentity-edit.vue +++ b/src/views/pages/cmdb/resourceentity/resourceentity-edit.vue @@ -17,16 +17,13 @@ --> @@ -33,7 +34,41 @@ export default { }, data() { return { - list: [] + list: [], + dataList: [ + { + name: '_id', + label: 'ID' + }, + { + name: '_uuid', + label: 'UUID' + }, + { + name: '_name', + label: this.$t('page.name') + }, + { + name: '_fcu', + label: this.$t('page.creator') + }, + { + name: '_fcd', + label: this.$t('page.createdate') + }, + { + name: '_lcu', + label: this.$t('page.fcu') + }, + { + name: '_lcd', + label: this.$t('page.lcu') + }, + { + name: '_typeId', + label: this.$t('page.type') + 'ID' + } + ] }; }, beforeCreate() {}, @@ -64,6 +99,17 @@ export default { } }); return isValid; + }, + dealDataByUrl(nodeList) { + let columlist = this.$utils.deepClone(this.dataList); //需要补上一些固有属性选项 + if (nodeList && nodeList.length > 0) { + nodeList.forEach(item => { + if (item.type != 'select') { + columlist.push(item); + } + }); + } + return columlist; } }, filter: {}, -- Gitee From d29f26c0c9c3754c117d1c0c3b649a9599421639 Mon Sep 17 00:00:00 2001 From: dengbf Date: Wed, 19 Feb 2025 16:28:51 +0800 Subject: [PATCH 05/20] =?UTF-8?q?[=E5=8A=9F=E8=83=BD]=20#[1349157963399168?= =?UTF-8?q?]CMDB=E5=BA=94=E7=94=A8=E6=B8=85=E5=8D=95=E6=94=B9=E6=88=90?= =?UTF-8?q?=E6=A8=A1=E5=9E=8B=E5=B1=82=E7=BA=A7=E5=8F=AF=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=20http://192.168.0.96:8090/demo/rdm.html#/story-detail/9390509?= =?UTF-8?q?47543040/939050947543042/1349157963399168?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pages/cmdb/resourceentity/ci/ci-setting.vue | 15 ++++++++++----- .../pages/cmdb/resourceentity/ci/ci-tree.vue | 17 ++++++++++++----- 2 files changed, 22 insertions(+), 10 deletions(-) diff --git a/src/views/pages/cmdb/resourceentity/ci/ci-setting.vue b/src/views/pages/cmdb/resourceentity/ci/ci-setting.vue index 7f3c63ca8..a4d70e38b 100644 --- a/src/views/pages/cmdb/resourceentity/ci/ci-setting.vue +++ b/src/views/pages/cmdb/resourceentity/ci/ci-setting.vue @@ -1,16 +1,14 @@