<template>
|
<div
|
class="params-container"
|
v-loading="loading"
|
element-loading-text="拼命加载中"
|
element-loading-spinner="el-icon-loading"
|
element-loading-background="rgba(0, 0, 0, 0.2)">
|
<el-form
|
ref="ruleForm"
|
size="mini"
|
label-position="top"
|
:model="params"
|
:rules="rules"
|
class="params-dialog bg-white">
|
<el-form-item label="文件名称">
|
<el-input v-model="params.fileName" disabled></el-input>
|
</el-form-item>
|
<el-row :gutter="layout.gutter">
|
<el-col :span="layout.span">
|
<el-form-item label="标称容量(AH)">
|
<el-input v-model="params.nominalCap"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="电池类型">
|
<el-select v-model="params.batteryType" placeholder="请选择电池类型" size="small">
|
<el-option label="2V" value="2"></el-option>
|
<el-option label="12V" value="12"></el-option>
|
</el-select>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="标称内阻(mΩ)">
|
<el-input v-model="params.nominalRes"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="实际内阻(mΩ)">
|
<el-input v-model="params.initRes"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="放电小时率(C)">
|
<el-input v-model="params.hourRate"></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :span="layout.span">
|
<el-form-item label="文件数据量(条)">
|
<el-input v-model="dataLength" disabled></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<div class="form-footer">
|
<el-upload
|
class="upload-demo"
|
ref="upload"
|
:action="action"
|
multiple
|
:limit="1"
|
:show-file-list="false"
|
:file-list="fileList"
|
:before-upload="beforeUpload"
|
:on-progress="onProgress"
|
:on-success="onSuccess"
|
:on-error="onError">
|
<el-button ref="uploadBtn" type="success" size="mini">选取文件</el-button>
|
</el-upload>
|
<el-button type="primary" size="mini" @click="submitForm" :disabled="!dataLength">确定</el-button>
|
<el-button type="warning" size="mini" @click="close">取消</el-button>
|
</div>
|
</el-form>
|
</div>
|
</template>
|
|
<script>
|
import getWebUrl from "@/assets/js/tools/getWebUrl";
|
|
export default {
|
name: "battInfo",
|
props: {
|
visible: {
|
type: Boolean,
|
default: false,
|
},
|
},
|
list: [],
|
data() {
|
return {
|
loading: false,
|
action: getWebUrl()+"Batt_realdataAction/ABEParse",
|
layout: {
|
gutter: 16,
|
span: 12,
|
},
|
params: {
|
batteryType: "2", // 电池类型
|
nominalCap: "360", // 标称容量
|
nominalRes: "0.5", // 标称内阻
|
initRes: "0.6", // 实际内阻
|
hourRate: "0.1", // 放电小时率
|
fileName: "",
|
},
|
rules: {},
|
fileList: [],
|
dataLength: 0,
|
}
|
},
|
methods: {
|
beforeUpload(file) {
|
this.loading = true;
|
this.params.fileName = file.name;
|
},
|
onProgress() {
|
this.loading = true;
|
},
|
onSuccess(res) {
|
this.loading = false;
|
//console.log(res);
|
// 清空上传列表
|
this.$refs.upload.clearFiles();
|
let data = [];
|
if(res.code == 1) {
|
data = res.data.fbsData;
|
}else {
|
this.$message.error(res.msg);
|
}
|
this.$options.list = data;
|
this.dataLength = data.length;
|
},
|
onError() {
|
this.loading = false;
|
this.$refs.upload.clearFiles();
|
},
|
submitForm() {
|
this.$refs.ruleForm.validate((valid) => {
|
// 校验通过
|
if (valid) {
|
let params = {...this.params};
|
params.list = this.$options.list;
|
this.$emit("success", params);
|
}else {
|
this.$layer.msg("存在校验未通过的数据!");
|
return false;
|
}
|
});
|
},
|
close() {
|
this.$emit("update:visible", false);
|
},
|
},
|
computed: {
|
|
},
|
mounted() {
|
|
}
|
}
|
</script>
|
|
<style scoped>
|
.params-container {
|
width: 500px;
|
background-color: #ececec;
|
}
|
.form-footer {
|
margin-top: 16px;
|
margin-bottom: 16px;
|
text-align: right;
|
}
|
|
.form-footer .three-btn {
|
margin-left: 12px;
|
}
|
.upload-demo {
|
display: inline-block;
|
margin-right: 8px;
|
}
|
</style>
|