提交 9318c18c 编写于 作者: C colynn.liu

fix: app arrange parse add row delete

上级 1c0047a2
......@@ -98,21 +98,24 @@ func (manager *AppManager) SetArrange(
return err
}
log.Log.Debug("update app arrnage item id: %v", id)
for _, imageMappingitem := range request.ImageMapings {
if imageMappingitem.ProjectAppID == 0 {
log.Log.Debug("item: %v did not join with project app: 0, skip", imageMappingitem.Name)
if err := manager.deleteAppImageMapping(imageMappingitem.ArrangeID, imageMappingitem.Image); err != nil {
log.Log.Error("delete origin app image mapping error: %s", err.Error())
if len(request.ImageMapings) == 0 {
return manager.deleteAppImageMappingByIDs(id, request.ProjectAppID)
} else {
for _, imageMappingitem := range request.ImageMapings {
if imageMappingitem.ProjectAppID == 0 {
log.Log.Debug("item: %v did not join with project app: 0, skip", imageMappingitem.Name)
if err := manager.deleteAppImageMapping(imageMappingitem.ArrangeID, imageMappingitem.Image); err != nil {
log.Log.Error("delete origin app image mapping error: %s", err.Error())
}
continue
}
appImageMappingModel := generateAppMappingModel(id, imageMappingitem)
if err := manager.createOrUpdateAppMapping(appImageMappingModel); err != nil {
log.Log.Error("create/update app mapping occur error: %v", id)
return err
}
continue
}
appImageMappingModel := generateAppMappingModel(id, imageMappingitem)
if err := manager.createOrUpdateAppMapping(appImageMappingModel); err != nil {
log.Log.Error("create/update app mapping occur error: %v", id)
return err
}
}
}
}
return nil
......@@ -154,6 +157,10 @@ func (manager *AppManager) createOrUpdateAppMapping(imageMappingItem models.AppI
return err
}
func (manager *AppManager) deleteAppImageMappingByIDs(arrangeID, projectAppID int64) error {
return manager.model.DeleteMulAppImageMappings(arrangeID, projectAppID)
}
func (manager *AppManager) deleteAppImageMapping(arrangeID int64, image string) error {
imageMapping, err := manager.model.GetAppImageMappingItem(arrangeID, image)
if err != nil {
......
......@@ -86,12 +86,21 @@ func (model *AppArrangeModel) UpdateAppImageMapping(appImageMappingItem *models.
return err
}
// UpdateAppImageMapping ...
// DeleteAppImageMapping ...
func (model *AppArrangeModel) DeleteAppImageMapping(appImageMappingItem *models.AppImageMapping) error {
_, err := model.ormer.Delete(appImageMappingItem)
return err
}
// DeleteMulAppImageMappings ...
func (model *AppArrangeModel) DeleteMulAppImageMappings(arrangeID, projectAppID int64) error {
sql := `update app_image_mapping set deleted=true where arrange_id=? and project_app_id=?`
if _, err := GetOrmer().Raw(sql, arrangeID, projectAppID).Exec(); err != nil {
return err
}
return nil
}
// GetAppArrange ...
func (model *AppArrangeModel) GetAppArrange(appID, envID int64) (*models.AppArrange, error) {
arrange := &models.AppArrange{}
......
......@@ -91,6 +91,12 @@
</el-select>
</template>
</el-table-column>
<el-table-column :label="$t('bm.deployCenter.operation')">
<template slot-scope="scope">
<el-button @click="deleteRow(scope.$index, form.image_mapings)" type="text" size="small">{{$t('bm.other.delete')}}
</el-button>
</template>
</el-table-column>
</el-table>
</el-row>
<el-row class="arrange-row">
......@@ -234,8 +240,6 @@ export default {
item.project_app_id = row.project_app_id;
}
});
console.log('change form image_mapping..');
console.log(this.form.image_mapings);
},
linkAppImageTagType(row) {
this.form.image_mapings.forEach((item) => {
......@@ -243,8 +247,9 @@ export default {
item.image_tag_type = row.image_tag_type;
}
});
console.log('change form image_mapping..');
console.log(this.form.image_mapings);
},
deleteRow(index, rows) {
rows.splice(index, 1)
},
doSetup(row) {
this.appID = row.id;
......@@ -265,7 +270,7 @@ export default {
this.currentImageMappings = data.image_mapings;
}
} else {
resetForm()
this.resetForm()
}
});
},
......@@ -282,7 +287,7 @@ export default {
this.currentImageMappings = data.image_mapings;
}
} else {
resetForm()
this.resetForm()
}
});
},
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册