@@ -417,6 +417,11 @@ export default {
beforeDestroy() {},
destroyed() {},
methods: {
+ back() {
+ this.$router.push({
+ path: '/form-overview'
+ });
+ },
beforeLeaveCompare(oldData) {
// 离开当前页面,数据对比
let newData = this.$refs.sheet.getFormConfig();
diff --git a/src/resources/plugins/TsSheet/form/component/formcollapse.vue b/src/resources/plugins/TsSheet/form/component/formcollapse.vue
index 8e4b188a52e0e55ad9d6439bb84244a24bd1a2d4..708be60c88e08b27c35b9dd6d489163baec823b7 100644
--- a/src/resources/plugins/TsSheet/form/component/formcollapse.vue
+++ b/src/resources/plugins/TsSheet/form/component/formcollapse.vue
@@ -86,7 +86,6 @@ export default {
}, 300);
},
dropFormItem(event, panel) {
- console.log('add');
const item = JSON.parse(event.dataTransfer.getData('item'));
if (panel && item) {
if (this.addComponent(item)) {
diff --git a/src/resources/plugins/TsSheet/form/component/formtab.vue b/src/resources/plugins/TsSheet/form/component/formtab.vue
index 7bdf3786a046351df6ceb8d46df85e002c3a5d58..30a87c2286fed71bac5cc81362739b2579e2176f 100644
--- a/src/resources/plugins/TsSheet/form/component/formtab.vue
+++ b/src/resources/plugins/TsSheet/form/component/formtab.vue
@@ -5,6 +5,7 @@
:name="formItem.uuid"
:type="config.type"
:animated="false"
+ @on-click="changeTab()"
>
{
- if (t.component && t.component.uuid === this.currentFormUuid) {
- this.$set(t.component, 'formData', {});
- this.$set(t.component.formData, 'formConfig', formConfig);
+ if (t.component) {
+ if (t.component.uuid === this.currentFormUuid) {
+ this.$set(t.component, 'formData', {});
+ this.$set(t.component.formData, 'formConfig', formConfig);
+ } else if (t.component.handler === 'formtab' || t.component.handler === 'formcollapse') {
+ t.component.component.forEach(s => {
+ if (s.uuid === this.currentFormUuid) {
+ this.$set(s, 'formData', {});
+ this.$set(s.formData, 'formConfig', formConfig);
+ }
+ });
+ }
}
});
}
diff --git a/src/views/pages/cmdb/flow/node/nodesetting/cmdbpolicy/cmdbsync-dialog.vue b/src/views/pages/cmdb/flow/node/nodesetting/cmdbpolicy/cmdbsync-dialog.vue
index 8c77f32f157adb7890f1d1d407111d5ff59e403a..b9df2cf2690266e07a1eeb846ca3871974c1d7ed 100644
--- a/src/views/pages/cmdb/flow/node/nodesetting/cmdbpolicy/cmdbsync-dialog.vue
+++ b/src/views/pages/cmdb/flow/node/nodesetting/cmdbpolicy/cmdbsync-dialog.vue
@@ -774,11 +774,22 @@ export default {
let find = this.currentFormItemList.find(item => item.uuid === uuid);
if (find && find.formData && find.formData.formConfig) {
find.formData.formConfig.tableList.forEach(item => {
- if (!this.$utils.isEmpty(item.component) && item.component.hasValue && (item.component.handler !== 'formsubassembly' && item.component.handler !== 'formtableselector' && item.component.handler !== 'formtableinputer')) {
- dataList.push({
- text: item.component.label,
- value: item.component.uuid
- });
+ if (!this.$utils.isEmpty(item.component)) {
+ if (item.component.hasValue) {
+ if (item.component.handler !== 'formsubassembly' && item.component.handler !== 'formtableselector' && item.component.handler !== 'formtableinputer') {
+ dataList.push({
+ text: item.component.label,
+ value: item.component.uuid
+ });
+ }
+ } else if ((item.component.handler === 'formtab' || item.component.handler === 'formcollapse') && !this.$utils.isEmpty(item.component.component)) {
+ item.component.component.forEach(c => {
+ dataList.push({
+ text: c.label,
+ value: c.uuid
+ });
+ });
+ }
}
});
}
@@ -789,8 +800,14 @@ export default {
getFormComponent(tableList) { //当前层子表单普通组件
let list = [];
tableList.forEach(item => {
- if (!this.$utils.isEmpty(item.component) && item.component.hasValue) {
- list.push(item.component);
+ if (!this.$utils.isEmpty(item.component)) {
+ if (item.component.hasValue) {
+ list.push(item.component);
+ } else if (item.component.handler === 'formtab' || item.component.handler === 'formcollapse') {
+ if (!this.$utils.isEmpty(item.component.component)) {
+ list.push(...item.component.component);
+ }
+ }
}
});
return list;
diff --git a/src/views/pages/process/flow/flowedit/FlowSetting.vue b/src/views/pages/process/flow/flowedit/FlowSetting.vue
index 72013881be93ea759cd11c1ba577bc8ec0e26233..5927b71149578f7822823d1c7d998af60959d58d 100644
--- a/src/views/pages/process/flow/flowedit/FlowSetting.vue
+++ b/src/views/pages/process/flow/flowedit/FlowSetting.vue
@@ -252,8 +252,14 @@ export default {
if (this.formContent._type == 'new') { //新的表单
let controllerList = [];
this.previewFormContent.tableList.forEach(item => {
- if (!this.$utils.isEmpty(item.component) && item.component.hasValue) {
- controllerList.push(item.component);
+ if (!this.$utils.isEmpty(item.component)) {
+ if (item.component.hasValue) {
+ controllerList.push(item.component);
+ } else if (item.component.handler === 'formtab' || item.component.handler === 'formcollapse') {
+ if (!this.$utils.isEmpty(item.component.component)) {
+ controllerList.push(...item.component.component);
+ }
+ }
}
});
plugin = controllerList;