shanyunduo.cheng

模板下载

...@@ -6,4 +6,12 @@ export function filghtKindData() { ...@@ -6,4 +6,12 @@ export function filghtKindData() {
6 url: '/flightInfoImport/filghtKindData', 6 url: '/flightInfoImport/filghtKindData',
7 method: 'get' 7 method: 'get'
8 }) 8 })
9 - }
...\ No newline at end of file ...\ No newline at end of file
9 +}
10 +
11 +export function downLoadTemplate(templateResourceName) {
12 + return request({
13 + url:'/flightInfoImport/downLoadTemplate?templateResourceName=' + templateResourceName,
14 + method:'get',
15 + responseType:'blob',
16 + })
17 +}
...\ No newline at end of file ...\ No newline at end of file
......
...@@ -3,7 +3,12 @@ ...@@ -3,7 +3,12 @@
3 <el-form :inline="true" :model="form" class="demo-form-inline" size="small"> 3 <el-form :inline="true" :model="form" class="demo-form-inline" size="small">
4 <el-form-item label="航班种类"> 4 <el-form-item label="航班种类">
5 <el-select v-model="form.type" placeholder="航班种类"> 5 <el-select v-model="form.type" placeholder="航班种类">
6 - <el-option v-for="item in flightType" :key="item.id" :label="item.englishName" :value="item.id" ></el-option> 6 + <el-option
7 + v-for="item in flightType"
8 + :key="item.id"
9 + :label="item.englishName"
10 + :value="item.englishName"
11 + ></el-option>
7 </el-select> 12 </el-select>
8 </el-form-item> 13 </el-form-item>
9 <el-form-item> 14 <el-form-item>
...@@ -20,7 +25,9 @@ ...@@ -20,7 +25,9 @@
20 </el-upload> 25 </el-upload>
21 </el-form-item> 26 </el-form-item>
22 <el-form-item> 27 <el-form-item>
23 - <el-button type="primary" @click="onSubmit">下载模板</el-button> 28 + <el-button type="primary" @click="downloadTempleate"
29 + >下载模板</el-button
30 + >
24 </el-form-item> 31 </el-form-item>
25 </el-form> 32 </el-form>
26 33
...@@ -35,7 +42,8 @@ ...@@ -35,7 +42,8 @@
35 > 42 >
36 <el-table-column label="行号" prop="line" fixed> </el-table-column> 43 <el-table-column label="行号" prop="line" fixed> </el-table-column>
37 44
38 - <el-table-column label="错误信息" prop="errorMessage" fixed> </el-table-column> 45 + <el-table-column label="错误信息" prop="errorMessage" fixed>
46 + </el-table-column>
39 47
40 <el-table-column label="index"></el-table-column> 48 <el-table-column label="index"></el-table-column>
41 </el-table> 49 </el-table>
...@@ -45,44 +53,76 @@ ...@@ -45,44 +53,76 @@
45 </template> 53 </template>
46 54
47 <script> 55 <script>
48 -import { 56 +import { filghtKindData, downLoadTemplate } from "@/api/flightInfoImport";
49 - filghtKindData
50 -} from "@/api/flightInfoImport";
51 57
52 export default { 58 export default {
53 data() { 59 data() {
54 return { 60 return {
55 - flightType:[], 61 + flightType: [],
56 form: { 62 form: {
57 type: "", 63 type: "",
58 region: "", 64 region: "",
59 }, 65 },
60 fileList: [], 66 fileList: [],
61 tableData: [ 67 tableData: [
62 - {"line":"1","errorMessage":"error"}, 68 + { line: "1", errorMessage: "error" },
63 - {"line":"1","errorMessage":"error"}, 69 + { line: "1", errorMessage: "error" },
64 - {"line":"1","errorMessage":"error"}, 70 + { line: "1", errorMessage: "error" },
65 - {"line":"1","errorMessage":"error"}, 71 + { line: "1", errorMessage: "error" },
66 - {"line":"1","errorMessage":"error"}, 72 + { line: "1", errorMessage: "error" },
67 - {"line":"1","errorMessage":"error"}, 73 + { line: "1", errorMessage: "error" },
68 - {"line":"1","errorMessage":"error"}, 74 + { line: "1", errorMessage: "error" },
69 - {"line":"1","errorMessage":"error"}, 75 + { line: "1", errorMessage: "error" },
70 - {"line":"1","errorMessage":"error"}, 76 + { line: "1", errorMessage: "error" },
71 - {"line":"1","errorMessage":"error"}, 77 + { line: "1", errorMessage: "error" },
72 - {"line":"1","errorMessage":"error"}, 78 + { line: "1", errorMessage: "error" },
73 - {"line":"1","errorMessage":"error"}, 79 + { line: "1", errorMessage: "error" },
74 - {"line":"1","errorMessage":"error"}, 80 + { line: "1", errorMessage: "error" },
75 - {"line":"1","errorMessage":"error"}, 81 + { line: "1", errorMessage: "error" },
76 - {"line":"1","errorMessage":"error"}, 82 + { line: "1", errorMessage: "error" },
77 - {"line":"1","errorMessage":"error"}, 83 + { line: "1", errorMessage: "error" },
78 - {"line":"1","errorMessage":"error"}, 84 + { line: "1", errorMessage: "error" },
79 - {"line":"1","errorMessage":"error"}, 85 + { line: "1", errorMessage: "error" },
80 ], 86 ],
81 }; 87 };
82 }, 88 },
83 methods: { 89 methods: {
84 - onSubmit() { 90 + downloadTempleate() {
85 - console.log("submit!"); 91 + let downloadType = "";
92 + let fileName = "";
93 + switch (this.form.type) {
94 + case "White Tail Piston":
95 + downloadType = "white_tail";
96 + fileName = "航班信息导入模板WhiteTail.xlsx";
97 + break;
98 + case "Purple Tail":
99 + downloadType = "purple_tail";
100 + fileName = "航班信息导入模板PurpleTail.xlsx";
101 + break;
102 + default:
103 + this.$confirm("此类航班暂无模板,请选择其他类型航班", "提示", {
104 + confirmButtonText: "确定",
105 + showCancelButton: false,
106 + type: "warning",
107 + });
108 + }
109 + if (downloadType != "") {
110 + downLoadTemplate(downloadType).then((res) => {
111 + if (res) {
112 + const blob = new Blob([res]);
113 + const link = document.createElement("a"); //创建a标签
114 + link.download = fileName; //a标签添加属性
115 + link.style.display = "none";
116 + link.href = URL.createObjectURL(blob);
117 + document.body.appendChild(link);
118 + link.click(); //执行下载
119 + URL.revokeObjectURL(link.href); //释放url
120 + document.body.removeChild(link); //释放标签
121 + } else {
122 + this.$message.error('下载失败');
123 + }
124 + });
125 + }
86 }, 126 },
87 handleRemove(file, fileList) { 127 handleRemove(file, fileList) {
88 this.tableData = []; 128 this.tableData = [];
...@@ -112,15 +152,14 @@ export default { ...@@ -112,15 +152,14 @@ export default {
112 filghtKindData().then((response) => { 152 filghtKindData().then((response) => {
113 if (response.code != 200) { 153 if (response.code != 200) {
114 this.$message({ 154 this.$message({
115 - showClose: true,
116 message: response.msg, 155 message: response.msg,
117 type: "error", 156 type: "error",
118 }); 157 });
119 } 158 }
120 this.flightType = response.data; 159 this.flightType = response.data;
121 - this.form.type = response.data[0].id; 160 + this.form.type = response.data[0].englishName;
122 }); 161 });
123 - } 162 + },
124 }; 163 };
125 </script> 164 </script>
126 165
......