whychw
2020-07-17 0a8fc8edc4e5673991154bb6ab42b3117b2c3d65
U 配置参数
2个文件已修改
177 ■■■■■ 已修改文件
src/api/services/file/index.js 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/file/index.vue 141 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/services/file/index.js
@@ -53,4 +53,40 @@
        });
    }*/
    /**
     * 查询配置
     * 无参
     */
    getParams () {
        return axios({
            method: 'post',
            url: 'Devdata_backup_cfgAction!searchAll',
            data: null
        });
    },
    /**
     * 更新配置
     * json:{"cfg_id":"1001","update_cycle":"3","backup_max_timelong":"366"}
     */
    updateParams (data) {
        return axios({
            method: 'post',
            url: 'Devdata_backup_cfgAction!update',
            data: 'json='+JSON.stringify(data)
        });
    },
    /**
     *
     * 查看文件
     * data 是文件路径
     */
    viewFolder (data) {
        return axios({
            method: 'post',
            url: 'FtpAction!openBackupFilePath',
            data: 'json='+data
        });
    }
}
src/pages/file/index.vue
@@ -20,10 +20,10 @@
                            :width="180"
                            trigger="click">
                                <div class="center">
                                    <el-button type="primary" size="mini">查看文件</el-button>
                                    <el-button type="primary" size="mini" @click="viewFolder">查看文件</el-button>
                                    <el-button type="primary" size="mini" 
                                    v-if="$store.state.login.username == 'superuser'"
                                    @click="updateParams.show=true">参数设置</el-button>
                                    @click="editParams">参数设置</el-button>
                                </div>
                                <el-button slot="reference" type="success" size="mini">FTP管理</el-button>
                            </el-popover>
@@ -83,7 +83,26 @@
        :visible.sync="updateParams.show" width="5.2rem"
        :close-on-click-modal=false
        @closed="updateParamsClosed">
            <flex-layout>
                <div class="formFtp-content color-black">
                    <el-form class="formFtp" label-position="right" size="small" label-width="144px" :rules="formFtp.rules" :model="formFtp.data">
                        <el-col :span="24">
                            <el-form-item label="备份周期(分钟)" prop="updateCycle">
                                <el-input v-model.number="formFtp.data.updateCycle"></el-input>
                            </el-form-item>
                        </el-col>
                        <el-col :span="24">
                            <el-form-item label="备份有效期(天)" prop="backupMaxTimelong">
                                <el-input v-model.number="formFtp.data.backupMaxTimelong"></el-input>
                            </el-form-item>
                        </el-col>
                    </el-form>
                </div>
                <div slot="footer" class="color-black dialog-footer">
                    <el-button type="default" size="small" @click="updateParams.show = false">取 消</el-button>
                    <el-button  type="primary" size="small" @click="editParamsOk">确 定</el-button>
                </div>
            </flex-layout>
        </el-dialog>
        <form
        ref="export" 
@@ -128,6 +147,43 @@
            updateParams: {
                show: false,
            },
            formFtp: {
                data: {
                    cfg_id: '',
                    updateCycle: '',
                    backupMaxTimelong: '',
                },
                rules: {
                    updateCycle: [
                        { required: true, message: '请输入周期值', trigger: 'blur' },
                        {
                            validator: (rule, value, callback) => {
                                // console.log(rule, value, callback);
                                console.log(value, callback);
                                if (value < 2) {
                                  callback(new Error('周期值不能小于2'))
                                } else {
                                  callback()
                                }
                            },
                            trigger: 'blur'
                        }
                    ],
                    backupMaxTimelong: [
                        { required: true, message: '请输入有效期', trigger: 'blur' },
                        {
                            validator: (rule, value, callback) => {
                                if (value < 1 || value > 366) {
                                  callback(new Error('有效期必须在1~366之间'))
                                } else {
                                  callback()
                                }
                            },
                            trigger: 'blur'
                        }
                    ],
                },
            }
        }
    },
    mounted () {
@@ -152,6 +208,76 @@
                console.log(res.data);
                if(res.data<100) {
                    setTimeout(self.getProgress, 10);
                }
            });
        },
        editParams () {
            this.getParams();
            this.updateParams.show = true;
        },
        editParamsOk () {
            let param = {
                cfg_id: this.formFtp.data.cfg_id,
                update_cycle: this.formFtp.data.updateCycle,
                backup_max_timelong: this.formFtp.data.backupMaxTimelong
            };
            this.$api.file.updateParams(param).then((res) => {
                let data = JSON.parse(res.data.result);
                console.log(data, '====data');
                if (data.code) {
                    this.$message({
                        type: 'success',
                        message: data.msg
                    });
                    this.updateParams.show = false;
                } else {
                    this.$message({
                        type: 'warning',
                        message: data.msg
                    });
                }
            });
        },
        // 查看文件
        viewFolder () {
            this.$api.file.getParams().then((res) => {
                var re = JSON.parse(res.data.result);
                // console.log(re, '====re');
                if (re.code == 1) {
                    this.$api.file.viewFolder(re.data[0].backup_path).then((res) => {
                        let data = JSON.parse(res.data.result);
                        if (data.code) {
                            this.$message({
                                type: 'success',
                                message: data.msg
                            });
                        } else {
                            this.$message({
                                type: 'warning',
                                message: data.msg
                            });
                        }
                    });
                } else {
                    this.$message({
                        type: 'warning',
                        message: re.msg
                    });
                }
            });
        },
        // 查询配置
        getParams () {
            this.$api.file.getParams().then((res) => {
                var re = JSON.parse(res.data.result);
                // console.log(re, '====re');
                if (re.code == 1) {
                    this.formFtp.data.updateCycle = re.data[0].update_cycle;
                    this.formFtp.data.backupMaxTimelong = re.data[0].backup_max_timelong;
                    this.formFtp.data.cfg_id = re.data[0].cfg_id;
                } else {
                    this.formFtp.data.updateCycle = '';
                    this.formFtp.data.backupMaxTimelong = '';
                }
            });
        },
@@ -297,7 +423,14 @@
    padding-top: 0.08rem;
    padding-bottom: 0.08rem;
}
.formFtp {
    padding: .1rem;
}
.dialog-footer {
    box-sizing: border-box;
    padding: 0.08rem;
    text-align: right;
}
</style>