diff --git a/src/resources/assets/languages/page/en.json b/src/resources/assets/languages/page/en.json index 7b82f58f1d178e448ae1c1fb2e7a2c7bcf3e46ca..d8f215fc0dd4d8fa1756869a2aa344feb6d3a687 100644 --- a/src/resources/assets/languages/page/en.json +++ b/src/resources/assets/languages/page/en.json @@ -947,6 +947,7 @@ "filltype": "Background Fill Method", "backgroundresizable": "Background Follow Zoom", "auto": "automatic", + "foreachobj": "Traverse Object", "mainscene": "Main scene", "enter": "enter", "viewdata": "View Data" diff --git a/src/resources/assets/languages/page/zh.json b/src/resources/assets/languages/page/zh.json index 565addabf0b4866ca574f223cfce383669236b40..2ef2c50045873ced2e176ef45f353bd4ef4c9f20 100644 --- a/src/resources/assets/languages/page/zh.json +++ b/src/resources/assets/languages/page/zh.json @@ -949,6 +949,7 @@ "filltype": "背景填充方式", "backgroundresizable": "背景跟随缩放", "auto": "自动", + "foreachobj": "遍历对象", "mainscene": "主场景", "enter": "进入", "viewdata": "查看数据" diff --git a/src/resources/assets/languages/term/en.json b/src/resources/assets/languages/term/en.json index fde435ee9f5b55e4fcadc27aaa4e160f353985d5..3a05fa9eab135b2cd9100f16d6df98559e184368 100644 --- a/src/resources/assets/languages/term/en.json +++ b/src/resources/assets/languages/term/en.json @@ -1153,6 +1153,7 @@ "exporttable": "Export Table", "importtable": "Import Table", "excelinputtemplate": "Table Input Template", + "formsubassembly": "List subcomponents", "globalreadonly": "Global read-only", "globalreadonlytip": "The global read-only priority is higher than the internal read and write settings of the component. After turning on the global read-only switch, all components in the scene are in a read-only state" }, diff --git a/src/resources/assets/languages/term/zh.json b/src/resources/assets/languages/term/zh.json index cf2339881125ac4908171d0b1dacece2dc737774..e809a6c5753e53baeb0598aab821dc864e5a9e61 100644 --- a/src/resources/assets/languages/term/zh.json +++ b/src/resources/assets/languages/term/zh.json @@ -1152,6 +1152,7 @@ "exporttable": "导出表格", "importtable": "导入表格", "excelinputtemplate": "表格输入模板", + "formsubassembly": "表单子组件", "globalreadonly": "全局只读", "globalreadonlytip": "全局只读优先级高于组件内部的读写设置,打开全局只读开关后,场景内所有组件均为只读状态" }, diff --git a/src/resources/plugins/TsSheet/form-edit.vue b/src/resources/plugins/TsSheet/form-edit.vue index ee7d2b6f9f909af213d840f6685193d2df0261d2..093c2b2043a1d15ad78d0fb38023751122b70a0b 100644 --- a/src/resources/plugins/TsSheet/form-edit.vue +++ b/src/resources/plugins/TsSheet/form-edit.vue @@ -5,7 +5,7 @@ {{ $getFromPage($t('router.framework.formmanage')) }} @@ -264,17 +257,19 @@ export default { TsFormCheckbox: resolve => require(['@/resources/plugins/TsForm/TsFormCheckbox'], resolve), TsFormSelect: resolve => require(['@/resources/plugins/TsForm/TsFormSelect'], resolve), AttrInputer: resolve => require(['@/views/pages/cmdb/cientity/attr-inputer.vue'], resolve), - FilterList: resolve => require(['./filter-list.vue'], resolve) + TsFormCascader: resolve => require(['@/resources/plugins/TsForm/TsFormCascader.vue'], resolve) }, props: { ciData: Object, allFormitemList: Array, - ciEntityQueue: { + ciEntityQueue: { //配置项添加队列 type: Array, default: () => { return []; } - } //配置项添加队列 + }, + subFormComponentList: Array, + tableComponentAttrList: Array }, data() { return { @@ -293,6 +288,10 @@ export default { { text: this.$t('term.process.formtableitem'), value: 'formTableComponent' + }, + { + text: this.$t('term.framework.formsubassembly'), + value: 'formSubassemblyComponent' } ] }; @@ -500,11 +499,8 @@ export default { } }, changeMappingMode(val, e) { - if (val === 'formTableComponent' && this.ciEntityData.batchDataSource && this.ciEntityData.batchDataSource.attributeUuid) { - this.setConfig(this.ciEntityData.batchDataSource.attributeUuid, 'valueList', e); - } else { - this.setConfig([], 'valueList', e); - } + this.setConfig(val, 'mappingMode', e); + this.setConfig([], 'valueList', e); } }, filter: {}, @@ -570,7 +566,7 @@ export default { if (this.allFormitemList && this.allFormitemList.length > 0) { if (type === 'formCommonComponent') { //表单普通组件 dataList = this.allFormitemList.filter(item => { - return item.handler != 'formtableselector' && item.handler != 'formtableinputer' && item.handler != 'formcube'; + return item.handler != 'formtableselector' && item.handler != 'formtableinputer' && item.handler != 'formsubassembly'; }); } else if (type === 'formTableComponent') { //table组件(表格数据组件、表单选择组件) dataList = this.allFormitemList.filter(item => { @@ -581,26 +577,18 @@ export default { return dataList; }; }, - getAttrList() { - return (data, e) => { - let dataList = []; - let key = null; - if (e.type === 'des') { - key = 'description'; + getMappingDataList() { + return () => { + let dataList = this.$utils.deepClone(this.mappingModeList); + //添加多条数据,遍历对象与普通属性保持一致 + if (this.ciData.createPolicy === 'batch' && this.ciData.batchDataSource.type) { + dataList = dataList.filter(item => { + return (this.ciData.batchDataSource.type === 'formTableComponent' && item.value != 'formSubassemblyComponent') || (this.ciData.batchDataSource.type === 'formSubassemblyComponent' && item.value != 'formTableComponent'); + }); } else { - key = e.type + '_' + e.element.id; - } - let valueList = data[key] && data[key]['valueList']; - if (this.allFormitemList && this.allFormitemList.length > 0) { - let find = this.allFormitemList.find(item => valueList && item.uuid === valueList[0]); - if (find && find.config && find.config.dataConfig) { - find.config.dataConfig.forEach(d => { - dataList.push({ - text: d.label, - value: d.uuid - }); - }); - } + dataList = dataList.filter(item => { + return (item.value === 'constant') || (item.value === 'formCommonComponent'); + }); } return dataList; }; diff --git a/src/views/pages/cmdb/flow/node/nodesetting/cmdbpolicy/filter-list.vue b/src/views/pages/cmdb/flow/node/nodesetting/cmdbpolicy/filter-list.vue index 03b71101af23536d8f81d53fa7906988c0427aac..500e13536818f4fb93bcf96caa0003a8a96ad3ac 100644 --- a/src/views/pages/cmdb/flow/node/nodesetting/cmdbpolicy/filter-list.vue +++ b/src/views/pages/cmdb/flow/node/nodesetting/cmdbpolicy/filter-list.vue @@ -134,7 +134,9 @@ export default { watch: { defaultFilterList: { handler(val) { - if (val && !this.$utils.isSame(val, this.filterList)) { + this.filterList = []; + this.isActive = 0; + if (!this.$utils.isEmpty(val) && !this.$utils.isSame(val, this.filterList)) { this.filterList = this.$utils.deepClone(val); if (this.filterList.length > 0) { this.isActive = 1; diff --git a/src/views/pages/cmdb/flow/node/nodesetting/cmdbsync-setting.vue b/src/views/pages/cmdb/flow/node/nodesetting/cmdbsync-setting.vue index 1f1142c5d89e0240fb6fc22d4ab2a61320079a61..e71d47281b9561d646e3818031af6f23bc616194 100644 --- a/src/views/pages/cmdb/flow/node/nodesetting/cmdbsync-setting.vue +++ b/src/views/pages/cmdb/flow/node/nodesetting/cmdbsync-setting.vue @@ -47,7 +47,11 @@ {{ $t('form.validate.required', { target: $t('term.cmdb.modemapping') }) }} - +