shanyunduo.cheng

模板下载

......@@ -6,4 +6,12 @@ export function filghtKindData() {
url: '/flightInfoImport/filghtKindData',
method: 'get'
})
}
\ No newline at end of file
}
export function downLoadTemplate(templateResourceName) {
return request({
url:'/flightInfoImport/downLoadTemplate?templateResourceName=' + templateResourceName,
method:'get',
responseType:'blob',
})
}
\ No newline at end of file
......
......@@ -3,7 +3,12 @@
<el-form :inline="true" :model="form" class="demo-form-inline" size="small">
<el-form-item label="航班种类">
<el-select v-model="form.type" placeholder="航班种类">
<el-option v-for="item in flightType" :key="item.id" :label="item.englishName" :value="item.id" ></el-option>
<el-option
v-for="item in flightType"
:key="item.id"
:label="item.englishName"
:value="item.englishName"
></el-option>
</el-select>
</el-form-item>
<el-form-item>
......@@ -20,7 +25,9 @@
</el-upload>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="onSubmit">下载模板</el-button>
<el-button type="primary" @click="downloadTempleate"
>下载模板</el-button
>
</el-form-item>
</el-form>
......@@ -35,7 +42,8 @@
>
<el-table-column label="行号" prop="line" fixed> </el-table-column>
<el-table-column label="错误信息" prop="errorMessage" fixed> </el-table-column>
<el-table-column label="错误信息" prop="errorMessage" fixed>
</el-table-column>
<el-table-column label="index"></el-table-column>
</el-table>
......@@ -45,44 +53,76 @@
</template>
<script>
import {
filghtKindData
} from "@/api/flightInfoImport";
import { filghtKindData, downLoadTemplate } from "@/api/flightInfoImport";
export default {
data() {
return {
flightType:[],
flightType: [],
form: {
type: "",
region: "",
},
fileList: [],
tableData: [
{"line":"1","errorMessage":"error"},
{"line":"1","errorMessage":"error"},
{"line":"1","errorMessage":"error"},
{"line":"1","errorMessage":"error"},
{"line":"1","errorMessage":"error"},
{"line":"1","errorMessage":"error"},
{"line":"1","errorMessage":"error"},
{"line":"1","errorMessage":"error"},
{"line":"1","errorMessage":"error"},
{"line":"1","errorMessage":"error"},
{"line":"1","errorMessage":"error"},
{"line":"1","errorMessage":"error"},
{"line":"1","errorMessage":"error"},
{"line":"1","errorMessage":"error"},
{"line":"1","errorMessage":"error"},
{"line":"1","errorMessage":"error"},
{"line":"1","errorMessage":"error"},
{"line":"1","errorMessage":"error"},
{ line: "1", errorMessage: "error" },
{ line: "1", errorMessage: "error" },
{ line: "1", errorMessage: "error" },
{ line: "1", errorMessage: "error" },
{ line: "1", errorMessage: "error" },
{ line: "1", errorMessage: "error" },
{ line: "1", errorMessage: "error" },
{ line: "1", errorMessage: "error" },
{ line: "1", errorMessage: "error" },
{ line: "1", errorMessage: "error" },
{ line: "1", errorMessage: "error" },
{ line: "1", errorMessage: "error" },
{ line: "1", errorMessage: "error" },
{ line: "1", errorMessage: "error" },
{ line: "1", errorMessage: "error" },
{ line: "1", errorMessage: "error" },
{ line: "1", errorMessage: "error" },
{ line: "1", errorMessage: "error" },
],
};
},
methods: {
onSubmit() {
console.log("submit!");
downloadTempleate() {
let downloadType = "";
let fileName = "";
switch (this.form.type) {
case "White Tail Piston":
downloadType = "white_tail";
fileName = "航班信息导入模板WhiteTail.xlsx";
break;
case "Purple Tail":
downloadType = "purple_tail";
fileName = "航班信息导入模板PurpleTail.xlsx";
break;
default:
this.$confirm("此类航班暂无模板,请选择其他类型航班", "提示", {
confirmButtonText: "确定",
showCancelButton: false,
type: "warning",
});
}
if (downloadType != "") {
downLoadTemplate(downloadType).then((res) => {
if (res) {
const blob = new Blob([res]);
const link = document.createElement("a"); //创建a标签
link.download = fileName; //a标签添加属性
link.style.display = "none";
link.href = URL.createObjectURL(blob);
document.body.appendChild(link);
link.click(); //执行下载
URL.revokeObjectURL(link.href); //释放url
document.body.removeChild(link); //释放标签
} else {
this.$message.error('下载失败');
}
});
}
},
handleRemove(file, fileList) {
this.tableData = [];
......@@ -112,15 +152,14 @@ export default {
filghtKindData().then((response) => {
if (response.code != 200) {
this.$message({
showClose: true,
message: response.msg,
type: "error",
});
}
this.flightType = response.data;
this.form.type = response.data[0].id;
this.form.type = response.data[0].englishName;
});
}
},
};
</script>
......