|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- <template>
- <el-dialog append-to-body :close-on-click-modal="false" :visible.sync="dialog" title="系统还原" width="800px">
- <!--工具栏-->
- <div class="head-container">
- <date-range-picker v-model="query.createTime" class="date-item" />
- <el-button class="filter-item" size="mini" type="success" icon="el-icon-search" @click="toQuery">搜索</el-button>
- </div>
- <el-form size="small" label-width="80px">
- <!--表格渲染-->
- <el-table v-loading="loading" :data="data" style="width: 100%" @row-click="showRow">
- <el-table-column width="30px">
- <template slot-scope="scope">
- <el-radio v-model="radio" :label="scope.$index" />
- </template>
- </el-table-column>
- <el-table-column prop="appName" label="应用名称" />
- <el-table-column prop="ip" label="部署IP" />
- <el-table-column prop="deployDate" label="部署时间" />
- <el-table-column prop="deployUser" label="部署人员" />
- </el-table>
- </el-form>
- <div slot="footer" class="dialog-footer">
- <el-button type="text" @click="cancel">取消</el-button>
- <el-button v-permission="['admin','deploy:add']" :loading="submitLoading" type="primary" @click="doSubmit">确认</el-button>
- </div>
- <!--分页组件-->
- <el-pagination
- :total="total"
- :current-page="page + 1"
- style="margin-top: 8px"
- layout="total, prev, pager, next, sizes"
- @size-change="sizeChange"
- @current-change="pageChange"
- />
- </el-dialog>
- </template>
-
- <script>
- import crud from '@/mixins/crud'
- import { reducte } from '@/api/mnt/deployHistory'
- import DateRangePicker from '@/components/DateRangePicker'
- export default {
- components: { DateRangePicker },
- mixins: [crud],
- props: {
- appName: {
- type: String,
- default: ''
- }
- },
- data() {
- return {
- submitLoading: false,
- dialog: false,
- history: [],
- radio: '',
- appNames: '',
- selectIndex: ''
- }
- },
- created() {
- this.$nextTick(() => {
- this.init()
- })
- },
- methods: {
- beforeInit() {
- this.url = 'api/deployHistory'
- this.deployId = this.$parent.deployId
- if (this.deployId === '') {
- return false
- }
- this.sort = 'deployDate,desc'
- this.params['deployId'] = this.deployId
- return true
- },
- showRow(row) {
- this.radio = this.data.indexOf(row)
- this.selectIndex = row.id
- },
- cancel() {
- this.dialog = false
- this.submitLoading = false
- },
- doSubmit() {
- if (this.selectIndex === '') {
- this.$message.error('请选择要还原的备份')
- } else {
- this.submitLoading = true
- reducte(JSON.stringify(this.data[this.radio]))
- .then(res => {
- this.dialog = false
- this.submitLoading = false
- this.appNames = ''
- this.$parent.crud.toQuery()
- })
- .catch(err => {
- this.submitLoading = false
- console.log('error:' + err.response.data.message)
- })
- }
- }
- }
- }
- </script>
-
- <style scoped>
- </style>
|