cmc-web/webs/cmp-web/src/views/hcso/page/rds/backup/modify.vue

132 lines
4.1 KiB
Vue
Raw Normal View History

2024-08-20 12:11:31 +00:00
<template>
<div>
2024-08-21 01:17:14 +00:00
<el-dialog :close-on-click-modal="false" title="修改备份策略" :visible.sync="addData.dialog" width="60%" append-to-body>
2024-08-20 12:11:31 +00:00
<el-form label-width="120px" :model="addData.data" ref="data">
2024-08-21 01:17:14 +00:00
<cb-form-item label="自动备份:">
<el-switch disabled v-model="back" active-color="#13ce66" inactive-color="#ff4949"> </el-switch>
2024-08-20 12:11:31 +00:00
</cb-form-item>
2024-08-21 01:17:14 +00:00
<cb-form-item label="保留天数:" prop="cloudRds.keepDays" validate="required" required-message="">
2024-08-20 12:11:31 +00:00
<el-input-number v-model="addData.data.cloudRds.keepDays" class="w" :min="1" :max="732"></el-input-number>
<div class="mini-txt">设置备份保留天数可设置时间范围为1-732</div>
</cb-form-item>
2024-08-21 01:17:14 +00:00
<cb-form-item label="备份时间:" prop="cloudRds.startTime" validate="required">
2024-08-20 12:11:31 +00:00
<el-select v-model="addData.data.cloudRds.startTime" filterable>
<el-option v-for="(item, index) in list" :key="index" :label="item" :value="item"></el-option>
</el-select>
<div class="mini-txt">备份时间段以UTC时区保存如果碰到夏令时/冬令时切换备份时间段会因时区变化而改变</div>
</cb-form-item>
2024-08-21 01:17:14 +00:00
<cb-form-item label="备份周期:" prop="cloudRds.period" validate="required">
2024-08-20 12:11:31 +00:00
<el-checkbox-group v-model="addData.data.cloudRds.period">
2024-08-21 01:17:14 +00:00
<el-checkbox :label="item.value" v-for="(item, index) in week" :key="index">{{ item.name }}</el-checkbox>
2024-08-20 12:11:31 +00:00
</el-checkbox-group>
<div class="mini-txt">备份周期至少选择一天</div>
</cb-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button type="ghost" @click="addData.dialog = false"> </el-button>
<el-button type="primary" @click="ok" :loading="loading"> </el-button>
</span>
</el-dialog>
</div>
</template>
<script>
/* global $ */
import { modifyRdsBackUpPolicy } from 'views/hcso/services/hcso.js'
2024-08-27 08:03:43 +00:00
import { forIn } from 'lodash-es'
2024-08-20 12:11:31 +00:00
export default {
props: {
addData: {
type: Object,
default: function () {
return {
data: {
labelIds: []
},
dialog: false
}
}
}
},
2024-08-21 01:17:14 +00:00
data() {
2024-08-20 12:11:31 +00:00
return {
loading: false,
back: true,
week: [
{ name: '星期一', value: '1' },
{ name: '星期二', value: '2' },
{ name: '星期三', value: '3' },
{ name: '星期四', value: '4' },
{ name: '星期五', value: '5' },
{ name: '星期六', value: '6' },
{ name: '星期日', value: '7' }
],
2024-08-21 01:17:14 +00:00
list: [
'00:00-01:00',
'01:00-02:00',
'02:00-03:00',
'03:00-04:00',
'04:00-05:00',
'05:00-06:00',
'06:00-07:00',
'07:00-08:00',
'08:00-09:00',
'09:00-010:00',
'010:00-011:00',
'11:00-12:00',
'12:00-13:00',
'13:00-14:00',
'14:00-15:00',
'15:00-16:00',
'16:00-17:00',
'17:00-18:00',
'18:00-19:00',
'19:00-20:00',
'20:00-21:00',
'21:00-22:00',
'22:00-23:00',
'23:00-00:00'
]
2024-08-20 12:11:31 +00:00
}
},
methods: {
2024-08-21 01:17:14 +00:00
ok() {
this.$refs.data.validate(valid => {
2024-08-20 12:11:31 +00:00
if (valid) {
console.log(this.addData)
modifyRdsBackUpPolicy({
action: 'setBackupPolicy',
id: this.addData.data.id,
cloudRds: {
backupPolicy: {
keepDays: this.addData.data.cloudRds.keepDays,
startTime: this.addData.data.cloudRds.startTime,
period: this.addData.data.cloudRds.period.join(',')
}
}
}).then(data => {
if (data.success) {
this.$message({
type: 'success',
message: data.message
})
2024-08-21 01:17:14 +00:00
this.addData.dialog = false
2024-08-20 12:11:31 +00:00
this.$emit('back')
}
this.loading = false
})
}
})
}
},
2024-08-21 01:17:14 +00:00
created() {}
2024-08-20 12:11:31 +00:00
}
</script>
<style scoped>
.mini-txt {
font-size: 12px;
}
</style>