@@ -114,14 +114,28 @@ export default {
searchParam: { pageSize: this.pageSize },
searchConfig: {
search: false,
+ searchMode: 'clickBtnSearch',
labelPosition: 'left',
- labelWidth: 70,
+ labelWidth: 110,
searchList: [
+ {
+ type: 'text',
+ name: 'ciEntityName',
+ label: this.$t('term.cmdb.cientityname')
+ },
{
type: 'text',
name: 'transactionId',
label: this.$t('term.cmdb.transactionid')
},
+ {
+ type: 'userselect',
+ name: 'deleteUser',
+ groupList: ['user'],
+ multiple: false,
+ label: this.$t('term.autoexec.operator'),
+ transfer: true
+ },
{
type: 'select',
name: 'inputFrom',
@@ -131,10 +145,10 @@ export default {
transfer: true
},
{
- type: 'daterange',
+ type: 'datetimerange',
name: 'commitTimeRange',
label: this.$t('page.deletetime'),
- format: 'yyyy-MM-dd',
+ format: 'yyyy-MM-dd HH:mm',
transfer: true
}
]
diff --git a/src/views/pages/cmdb/discovery/obj-manage.vue b/src/views/pages/cmdb/discovery/obj-manage.vue
index eb545f746be958fbfcaeb7dbad0d098658c413f8..ebc4457beea9b860eaf9c852193ebcc6d67289c3 100644
--- a/src/views/pages/cmdb/discovery/obj-manage.vue
+++ b/src/views/pages/cmdb/discovery/obj-manage.vue
@@ -35,15 +35,15 @@
{{ $t('term.cmdb.objectcategory') }}
-
{{ row.objCategory }}
+
{{ row.objCategory }}
{{ $t('term.cmdb.objecttype') }}
-
{{ row.objType }}
+
{{ row.objType }}
{{ $t('page.model') }}
-
{{ row.ciLabel }}
+
{{ row.ciLabel }}
diff --git a/src/views/pages/cmdb/transaction/transaction-manage.vue b/src/views/pages/cmdb/transaction/transaction-manage.vue
index f09d1e7837ef2e0183040bbc25121169ff67f7a5..6e6adcc2b428139e5670e1b4e9776ecc54d49842 100644
--- a/src/views/pages/cmdb/transaction/transaction-manage.vue
+++ b/src/views/pages/cmdb/transaction/transaction-manage.vue
@@ -135,6 +135,7 @@ export default {
searchConfig: {
search: false,
labelPosition: 'left',
+ searchMode: 'clickBtnSearch',
searchList: [
{ type: 'text', name: 'transactionId', label: this.$t('term.cmdb.transactionid') },
{ type: 'text', name: 'transactionGroupId', label: this.$t('term.cmdb.transactiongroupid') },
@@ -172,24 +173,24 @@ export default {
transfer: true
},
{
- type: 'daterange',
+ type: 'datetimerange',
name: 'createTimeRange',
label: this.$t('page.actiondate'),
- format: 'yyyy-MM-dd',
+ format: 'yyyy-MM-dd HH:mm',
transfer: true
},
{
- type: 'daterange',
+ type: 'datetimerange',
name: 'commitTimeRange',
label: this.$t('page.commitdate'),
- format: 'yyyy-MM-dd',
+ format: 'yyyy-MM-dd HH:mm',
transfer: true
},
{
- type: 'daterange',
+ type: 'datetimerange',
name: 'recoverTimeRange',
label: this.$t('page.restoredate'),
- format: 'yyyy-MM-dd',
+ format: 'yyyy-MM-dd HH:mm',
transfer: true
}
]
diff --git a/src/views/pages/deploy/application-config/application-config-pipeline.vue b/src/views/pages/deploy/application-config/application-config-pipeline.vue
index 4735cdd5651e87289ff284efa1ab0ab494993574..48ee8082ea44c1a13bdb57dec9792d43ccc1950a 100644
--- a/src/views/pages/deploy/application-config/application-config-pipeline.vue
+++ b/src/views/pages/deploy/application-config/application-config-pipeline.vue
@@ -75,6 +75,7 @@
:runtimeParamList="runtimeParamList"
:combopGroupList="combopGroupList"
:execModeList="execModeList"
+ :validPhaseOperationUuidList="validPhaseOperationUuidList"
@updateSort="updateSort"
@change="changeSelectStep"
>
@@ -233,7 +234,8 @@ export default {
protocolId: null,
executeUser: {}
},
- isShowStepTopo: false
+ isShowStepTopo: false,
+ validPhaseOperationUuidList: []
};
},
beforeCreate() {},
@@ -550,12 +552,13 @@ export default {
});
}
this.changeSelectStep(item);
+ this.validPhaseOperationUuidList = obj.validUuidList;
this.$nextTick(() => {
this.$refs.stepList && this.$refs.stepList.valid();
});
}
});
- this.$utils.jumpTo(obj.id);
+ this.$utils.jumpTo(obj.id, '', '', 'start');
},
getValidList() { //流水线检验
let validList = [];
@@ -595,9 +598,10 @@ export default {
validList.length && this.$refs.stepList && this.$refs.stepList.valid();
return validList;
},
- validPhaseOperationList(step, phaseOperationList) { //校验工具列表
+ validPhaseOperationList(step, phaseOperationList, validPperationUuidList) { //校验工具列表
let validList = [];
phaseOperationList.forEach(p => {
+ let validUuidList = [p.uuid, ...validPperationUuidList || []];
if (p.operationName == 'native/IF-Block') {
if (p.config) {
!p.config.condition && validList.push({
@@ -606,7 +610,8 @@ export default {
stepUuid: step.uuid,
operationUuid: p.uuid,
id: '#id_' + step.uuid + '_' + p.uuid,
- current: 1
+ current: 1,
+ validUuidList: validUuidList
});
if (this.$utils.isEmpty(p.config.ifList) && this.$utils.isEmpty(p.config.elseList)) {
validList.push({
@@ -615,18 +620,53 @@ export default {
stepUuid: step.uuid,
operationUuid: p.uuid,
id: '#id_' + step.uuid + '_' + p.uuid,
- current: 1
+ current: 1,
+ validUuidList: validUuidList
});
}
if (p.config.ifList && p.config.ifList.length) {
- let validIfList = this.validPhaseOperationList(step, p.config.ifList);
+ let validIfList = this.validPhaseOperationList(step, p.config.ifList, validUuidList);
validIfList.length && validList.push(...validIfList);
}
if (p.config.elseList && p.config.elseList.length) {
- let validElseList = this.validPhaseOperationList(step, p.config.elseList);
+ let validElseList = this.validPhaseOperationList(step, p.config.elseList, validUuidList);
validElseList.length && validList.push(...validElseList);
}
}
+ } else if (p.operationName == 'native/LOOP-Block') {
+ if (p.config) {
+ !p.config.loopItems && validList.push({
+ text: this.$t('page.phase') + step.name + '【' + p.operationName + '】' + this.$t('term.autoexec.setinputloopitems'),
+ type: 'error',
+ stepUuid: step.uuid,
+ operationUuid: p.uuid,
+ id: '#id_' + step.uuid + '_' + p.uuid,
+ current: 1,
+ validUuidList: validUuidList
+ });
+ !p.config.loopItemVar && validList.push({
+ text: this.$t('page.phase') + step.name + '【' + p.operationName + '】' + this.$t('term.autoexec.setinputloopitemvar'),
+ type: 'error',
+ stepUuid: step.uuid,
+ operationUuid: p.uuid,
+ id: '#id_' + step.uuid + '_' + p.uuid,
+ current: 1,
+ validUuidList: validUuidList
+ });
+ (!p.config.operations || p.config.operations.length == 0) && validList.push({
+ text: this.$t('page.phase') + step.name + '【' + p.operationName + '】' + this.$t('term.autoexec.setinputloopoperations'),
+ type: 'error',
+ stepUuid: step.uuid,
+ operationUuid: p.uuid,
+ id: '#id_' + step.uuid + '_' + p.uuid,
+ current: 1,
+ validUuidList: validUuidList
+ });
+ if (p.config.operations && p.config.operations.length) {
+ let validOperations = this.validPhaseOperationList(step, p.config.operations, validUuidList);
+ validOperations.length && validList.push(...validOperations);
+ }
+ }
} else {
let isPass = true; //输入参数
let isPassArgument = true; //自由参数必填校验
@@ -651,7 +691,8 @@ export default {
stepUuid: step.uuid,
operationUuid: p.uuid,
id: '#id_' + step.uuid + '_' + p.uuid,
- current: 1
+ current: 1,
+ validUuidList: validUuidList
});
}
}
@@ -669,7 +710,8 @@ export default {
stepUuid: step.uuid,
operationUuid: p.uuid,
id: '#id_' + step.uuid + '_' + p.uuid,
- current: 1
+ current: 1,
+ validUuidList: validUuidList
});
}
}
@@ -681,7 +723,8 @@ export default {
stepUuid: step.uuid,
operationUuid: p.uuid,
id: '#id_' + step.uuid + '_' + p.uuid,
- current: 1
+ current: 1,
+ validUuidList: validUuidList
});
}
}
@@ -692,7 +735,8 @@ export default {
stepUuid: step.uuid,
operationUuid: p.uuid,
id: '#id_' + step.uuid + '_' + p.uuid,
- current: 1
+ current: 1,
+ validUuidList: validUuidList
});
}
}
@@ -747,6 +791,11 @@ export default {
if (item.config.elseList && item.config.elseList.length) {
this.$set(item.config, 'elseList', this.savePhaseOperationList(item.config.elseList));
}
+ } else if (item.operationName == 'native/LOOP-Block') {
+ delete item.config.paramMappingList;
+ if (item.config.operations && item.config.operations.length) {
+ this.$set(item.config, 'operations', this.savePhaseOperationList(item.config.operations));
+ }
} else {
delete item.config.profileParamList;
if (item.config && item.config.paramMappingList) {
diff --git a/src/views/pages/deploy/application-config/pipeline-detail.vue b/src/views/pages/deploy/application-config/pipeline-detail.vue
index 217ff2304319195c66d0ac511c64af5bd9060069..0480dfda037f92aa58154ef5874060a8e4607178 100644
--- a/src/views/pages/deploy/application-config/pipeline-detail.vue
+++ b/src/views/pages/deploy/application-config/pipeline-detail.vue
@@ -94,6 +94,7 @@
:combopGroupList="combopGroupList"
:execModeList="execModeList"
:canEdit="canEdit"
+ :validPhaseOperationUuidList="validPhaseOperationUuidList"
@updateSort="updateSort"
@change="changeSelectStep"
>
@@ -294,7 +295,8 @@ export default {
executeConfig: null,
hasEditAuth: true, // 是否有编辑配置权限
isShowImportPipeline: false,
- isExportPipeline: false
+ isExportPipeline: false,
+ validPhaseOperationUuidList: []
};
},
beforeCreate() {},
@@ -573,6 +575,11 @@ export default {
if (item.config.elseList && item.config.elseList.length) {
this.$set(item.config, 'elseList', this.savePhaseOperationList(item.config.elseList));
}
+ } else if (item.operationName == 'native/LOOP-Block') {
+ delete item.config.paramMappingList;
+ if (item.config.operations && item.config.operations.length) {
+ this.$set(item.config, 'operations', this.savePhaseOperationList(item.config.operations));
+ }
} else {
delete item.config.profileParamList;
if (item.config && item.config.paramMappingList) {
@@ -835,12 +842,13 @@ export default {
});
}
this.changeSelectStep(item);
+ this.validPhaseOperationUuidList = obj.validUuidList;
this.$nextTick(() => {
this.$refs.stepList.valid();
});
}
});
- this.$utils.jumpTo(obj.id);
+ this.$utils.jumpTo(obj.id, '', '', 'start');
},
showRuntimeParamList() { //展示作业参数
this.isShowParamList = true;
@@ -916,9 +924,10 @@ export default {
}
});
},
- validPhaseOperationList(step, phaseOperationList) { //校验工具列表
+ validPhaseOperationList(step, phaseOperationList, validPperationUuidList) { //校验工具列表
let validList = [];
phaseOperationList.forEach(p => {
+ let validUuidList = [p.uuid, ...validPperationUuidList || []];
if (p.operationName == 'native/IF-Block') {
if (p.config) {
!p.config.condition && validList.push({
@@ -926,7 +935,8 @@ export default {
type: 'error',
stepUuid: step.uuid,
operationUuid: p.uuid,
- id: '#id_' + step.uuid + '_' + p.uuid
+ id: '#id_' + step.uuid + '_' + p.uuid,
+ validUuidList: validUuidList
});
if (this.$utils.isEmpty(p.config.ifList) && this.$utils.isEmpty(p.config.elseList)) {
validList.push({
@@ -934,18 +944,50 @@ export default {
type: 'error',
stepUuid: step.uuid,
operationUuid: p.uuid,
- id: '#id_' + step.uuid + '_' + p.uuid
+ id: '#id_' + step.uuid + '_' + p.uuid,
+ validUuidList: validUuidList
});
}
if (p.config.ifList && p.config.ifList.length) {
- let validIfList = this.validPhaseOperationList(step, p.config.ifList);
+ let validIfList = this.validPhaseOperationList(step, p.config.ifList, validUuidList);
validIfList.length && validList.push(...validIfList);
}
if (p.config.elseList && p.config.elseList.length) {
- let validElseList = this.validPhaseOperationList(step, p.config.elseList);
+ let validElseList = this.validPhaseOperationList(step, p.config.elseList, validUuidList);
validElseList.length && validList.push(...validElseList);
}
}
+ } else if (p.operationName == 'native/LOOP-Block') {
+ if (p.config) {
+ !p.config.loopItems && validList.push({
+ text: this.$t('page.phase') + step.name + '【' + p.operationName + '】' + this.$t('term.autoexec.setinputloopitems'),
+ type: 'error',
+ stepUuid: step.uuid,
+ operationUuid: p.uuid,
+ id: '#id_' + step.uuid + '_' + p.uuid,
+ validUuidList: validUuidList
+ });
+ !p.config.loopItemVar && validList.push({
+ text: this.$t('page.phase') + step.name + '【' + p.operationName + '】' + this.$t('term.autoexec.setinputloopitemvar'),
+ type: 'error',
+ stepUuid: step.uuid,
+ operationUuid: p.uuid,
+ id: '#id_' + step.uuid + '_' + p.uuid,
+ validUuidList: validUuidList
+ });
+ (!p.config.operations || p.config.operations.length == 0) && validList.push({
+ text: this.$t('page.phase') + step.name + '【' + p.operationName + '】' + this.$t('term.autoexec.setinputloopoperations'),
+ type: 'error',
+ stepUuid: step.uuid,
+ operationUuid: p.uuid,
+ id: '#id_' + step.uuid + '_' + p.uuid,
+ validUuidList: validUuidList
+ });
+ if (p.config.operations && p.config.operations.length) {
+ let validOperations = this.validPhaseOperationList(step, p.config.operations, validUuidList);
+ validOperations.length && validList.push(...validOperations);
+ }
+ }
} else {
let isPass = true; //输入参数
let isPassArgument = true; //自由参数必填校验
@@ -969,7 +1011,8 @@ export default {
type: 'error',
stepUuid: step.uuid,
operationUuid: p.uuid,
- id: '#id_' + step.uuid + '_' + p.uuid
+ id: '#id_' + step.uuid + '_' + p.uuid,
+ validUuidList: validUuidList
});
}
}
@@ -986,7 +1029,8 @@ export default {
type: 'error',
stepUuid: step.uuid,
operationUuid: p.uuid,
- id: '#id_' + step.uuid + '_' + p.uuid
+ id: '#id_' + step.uuid + '_' + p.uuid,
+ validUuidList: validUuidList
});
}
}
@@ -997,7 +1041,8 @@ export default {
type: 'error',
stepUuid: step.uuid,
operationUuid: p.uuid,
- id: '#id_' + step.uuid + '_' + p.uuid
+ id: '#id_' + step.uuid + '_' + p.uuid,
+ validUuidList: validUuidList
});
}
}
@@ -1007,7 +1052,8 @@ export default {
type: 'error',
stepUuid: step.uuid,
operationUuid: p.uuid,
- id: '#id_' + step.uuid + '_' + p.uuid
+ id: '#id_' + step.uuid + '_' + p.uuid,
+ validUuidList: validUuidList
});
}
}
diff --git a/src/views/pages/deploy/application-config/pipeline/step/step-config.vue b/src/views/pages/deploy/application-config/pipeline/step/step-config.vue
index 063463a26b016f2f2f0404f003cddea5e7272f3f..e0bcbccc8295d896bbbbb22305b8a181856044db 100644
--- a/src/views/pages/deploy/application-config/pipeline/step/step-config.vue
+++ b/src/views/pages/deploy/application-config/pipeline/step/step-config.vue
@@ -13,6 +13,7 @@
:failPolicyOption="failPolicyOption"
:inputTypeList="inputTypeList"
:execMode="currentStepConfig.execMode"
+ :validPhaseOperationUuidList="validPhaseOperationUuidList"
@sortList="sortList"
>
@@ -48,7 +49,11 @@ export default {
runtimeParamList: Array, //作业参数
list: Array, //工具列表
failPolicyOption: Array, //失败策略下拉列表
- inputTypeList: Array //输入参数映射下拉
+ inputTypeList: Array, //输入参数映射下拉
+ validPhaseOperationUuidList: {
+ type: Array,
+ default: () => []
+ }
},
data() {
return {
diff --git a/src/views/pages/deploy/application-config/pipeline/step/step-list.vue b/src/views/pages/deploy/application-config/pipeline/step/step-list.vue
index 63e2fc73a94322b2de6e17a0ab86afba14b33505..d3fa646cb9eb6efef2824f92f8b85a565f21b9b3 100644
--- a/src/views/pages/deploy/application-config/pipeline/step/step-list.vue
+++ b/src/views/pages/deploy/application-config/pipeline/step/step-list.vue
@@ -111,6 +111,7 @@
:prevStepList="getPrev(step,stepList)"
:failPolicyOption="failPolicyOption"
:inputTypeList="inputTypeList"
+ :validPhaseOperationUuidList="validPhaseOperationUuidList"
@changeOperation="(list)=>{changeOperation(list, step)}"
>