Commit 94f06e38321658505d3a83057063082e2f837e87
1 parent
a2d1a53f
优化
Showing
5 changed files
with
108 additions
and
42 deletions
src/views/DisposalSuggestions/index.vue
| @@ -46,7 +46,7 @@ | @@ -46,7 +46,7 @@ | ||
| 46 | </el-table-column> | 46 | </el-table-column> |
| 47 | <el-table-column show-overflow-tooltip prop="link" label="有害链接" align="left" /> | 47 | <el-table-column show-overflow-tooltip prop="link" label="有害链接" align="left" /> |
| 48 | <el-table-column show-overflow-tooltip prop="questionClass" label="关键词" align="left" /> | 48 | <el-table-column show-overflow-tooltip prop="questionClass" label="关键词" align="left" /> |
| 49 | - <el-table-column show-overflow-tooltip prop="" label="录入时间" align="left" /> | 49 | + <el-table-column show-overflow-tooltip prop="creatorTime" label="录入时间" align="left" :formatter="ncc.tableDateFormat"/> |
| 50 | <!-- <el-table-column show-overflow-tooltip prop="disposalSuggestions" label="处置建议" align="left" /> | 50 | <!-- <el-table-column show-overflow-tooltip prop="disposalSuggestions" label="处置建议" align="left" /> |
| 51 | <el-table-column show-overflow-tooltip prop="id" label="主键" align="left" /> | 51 | <el-table-column show-overflow-tooltip prop="id" label="主键" align="left" /> |
| 52 | <el-table-column show-overflow-tooltip prop="department" label="部门" align="left" /> | 52 | <el-table-column show-overflow-tooltip prop="department" label="部门" align="left" /> |
src/views/baseCaseHandling/Form.vue
| @@ -201,7 +201,10 @@ export default { | @@ -201,7 +201,10 @@ export default { | ||
| 201 | }, | 201 | }, |
| 202 | rules: { | 202 | rules: { |
| 203 | systemName: [ | 203 | systemName: [ |
| 204 | - { required: true, message: "请选择系统名称", trigger: "change" } | 204 | + { required: true, message: "请选择应用名称", trigger: "bulr" } |
| 205 | + ], | ||
| 206 | + registeredEntity: [ | ||
| 207 | + { required: true, message: "请选择运营主体", trigger: "bulr" } | ||
| 205 | ], | 208 | ], |
| 206 | districtCounty: [ | 209 | districtCounty: [ |
| 207 | { required: true, message: "请选择所属区域", trigger: "change" } | 210 | { required: true, message: "请选择所属区域", trigger: "change" } |
src/views/baseInspectionReport/Form.vue
| @@ -24,8 +24,8 @@ | @@ -24,8 +24,8 @@ | ||
| 24 | </el-form-item> | 24 | </el-form-item> |
| 25 | </el-col> | 25 | </el-col> |
| 26 | <el-col :span="23"> | 26 | <el-col :span="23"> |
| 27 | - <el-form-item label="问题来源" prop="source"> | ||
| 28 | - <el-radio-group v-model="dataForm.source"> | 27 | + <el-form-item label="问题来源" prop="reportSource"> |
| 28 | + <el-radio-group v-model="dataForm.reportSource"> | ||
| 29 | <el-radio v-for="(item, index) in sourceOptions" :key="index" :label="item.Id">{{ item.FullName }}</el-radio> | 29 | <el-radio v-for="(item, index) in sourceOptions" :key="index" :label="item.Id">{{ item.FullName }}</el-radio> |
| 30 | </el-radio-group> | 30 | </el-radio-group> |
| 31 | </el-form-item> | 31 | </el-form-item> |
| @@ -49,6 +49,26 @@ | @@ -49,6 +49,26 @@ | ||
| 49 | </el-form-item> | 49 | </el-form-item> |
| 50 | </el-col> | 50 | </el-col> |
| 51 | <el-col :span="23"> | 51 | <el-col :span="23"> |
| 52 | + <el-form-item label="运营主体" prop="company"> | ||
| 53 | + <el-select | ||
| 54 | + v-model="dataForm.company" | ||
| 55 | + placeholder="请选择运营主体" | ||
| 56 | + clearable | ||
| 57 | + filterable | ||
| 58 | + style="width: 100%" | ||
| 59 | + :disabled='isDisabledTypeByName || !!this.dataForm.id' | ||
| 60 | + > | ||
| 61 | + <el-option | ||
| 62 | + v-for="item in companyOptions" | ||
| 63 | + :key="item.id" | ||
| 64 | + :label="item.companyName" | ||
| 65 | + :value="item.id" | ||
| 66 | + > | ||
| 67 | + </el-option> | ||
| 68 | + </el-select> | ||
| 69 | + </el-form-item> | ||
| 70 | + </el-col> | ||
| 71 | + <el-col :span="23"> | ||
| 52 | <el-form-item label="应用类型" prop="platformType"> | 72 | <el-form-item label="应用类型" prop="platformType"> |
| 53 | <el-radio-group v-model="dataForm.platformType" :disabled='isDisabledTypeByName || !!this.dataForm.id'> | 73 | <el-radio-group v-model="dataForm.platformType" :disabled='isDisabledTypeByName || !!this.dataForm.id'> |
| 54 | <el-radio v-for="(item, index) in platformTypeOptions" :key="index" :label="item.Id">{{ item.FullName }}</el-radio> | 74 | <el-radio v-for="(item, index) in platformTypeOptions" :key="index" :label="item.Id">{{ item.FullName }}</el-radio> |
| @@ -105,8 +125,8 @@ | @@ -105,8 +125,8 @@ | ||
| 105 | </el-form-item> | 125 | </el-form-item> |
| 106 | </el-col> | 126 | </el-col> |
| 107 | <el-col :span="23"> | 127 | <el-col :span="23"> |
| 108 | - <el-form-item label="附件" prop="obtainEvidence"> | ||
| 109 | - <NCC-UploadFz v-model="dataForm.obtainEvidence" :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" /> | 128 | + <el-form-item label="附件" prop="annex"> |
| 129 | + <NCC-UploadFz v-model="dataForm.annex" :fileSize="5" sizeUnit="MB" :limit="9" buttonText="点击上传" /> | ||
| 110 | </el-form-item> | 130 | </el-form-item> |
| 111 | </el-col> | 131 | </el-col> |
| 112 | </el-form> | 132 | </el-form> |
| @@ -114,13 +134,17 @@ | @@ -114,13 +134,17 @@ | ||
| 114 | <el-row v-else> | 134 | <el-row v-else> |
| 115 | <el-col class="form-item"> | 135 | <el-col class="form-item"> |
| 116 | <div class="label">问题来源:</div> | 136 | <div class="label">问题来源:</div> |
| 117 | - <div class="text">{{ dataForm.source || '--' }}</div> | 137 | + <div class="text">{{ dataForm.reportSource || '--' }}</div> |
| 118 | </el-col> | 138 | </el-col> |
| 119 | <el-col class="form-item"> | 139 | <el-col class="form-item"> |
| 120 | <div class="label">应用名称:</div> | 140 | <div class="label">应用名称:</div> |
| 121 | <div class="text">{{ dataForm.platformName || '--' }}</div> | 141 | <div class="text">{{ dataForm.platformName || '--' }}</div> |
| 122 | </el-col> | 142 | </el-col> |
| 123 | <el-col class="form-item"> | 143 | <el-col class="form-item"> |
| 144 | + <div class="label">运营主体:</div> | ||
| 145 | + <div class="text">{{ dataForm.company || '--' }}</div> | ||
| 146 | + </el-col> | ||
| 147 | + <el-col class="form-item"> | ||
| 124 | <div class="label">应用类型:</div> | 148 | <div class="label">应用类型:</div> |
| 125 | <div class="text">{{ dataForm.platformType || '--' }}</div> | 149 | <div class="text">{{ dataForm.platformType || '--' }}</div> |
| 126 | </el-col> | 150 | </el-col> |
| @@ -155,7 +179,7 @@ | @@ -155,7 +179,7 @@ | ||
| 155 | </el-row> | 179 | </el-row> |
| 156 | <span slot="footer" class="dialog-footer"> | 180 | <span slot="footer" class="dialog-footer"> |
| 157 | <el-button @click="visible = false">取 消</el-button> | 181 | <el-button @click="visible = false">取 消</el-button> |
| 158 | - <el-button type="primary" @click="dataFormSubmit()" v-if="!isDetail">确 定</el-button> | 182 | + <el-button type="primary" @click="dataFormSubmit()" v-if="!isDetail" :loading="btnLoading">确 定</el-button> |
| 159 | </span> | 183 | </span> |
| 160 | </el-dialog> | 184 | </el-dialog> |
| 161 | </template> | 185 | </template> |
| @@ -176,7 +200,7 @@ export default { | @@ -176,7 +200,7 @@ export default { | ||
| 176 | isDetail: false, | 200 | isDetail: false, |
| 177 | dataForm: { | 201 | dataForm: { |
| 178 | id: undefined, | 202 | id: undefined, |
| 179 | - source: undefined, | 203 | + reportSource: undefined, |
| 180 | platformName: '', | 204 | platformName: '', |
| 181 | selfMediaPlatformType: '', | 205 | selfMediaPlatformType: '', |
| 182 | platformType: undefined, | 206 | platformType: undefined, |
| @@ -186,17 +210,20 @@ export default { | @@ -186,17 +210,20 @@ export default { | ||
| 186 | link: undefined, | 210 | link: undefined, |
| 187 | accurateDescription: undefined, | 211 | accurateDescription: undefined, |
| 188 | incorrectDescription: undefined, | 212 | incorrectDescription: undefined, |
| 189 | - obtainEvidence: [], | ||
| 190 | annex: [], | 213 | annex: [], |
| 191 | otherQuestionType: undefined, | 214 | otherQuestionType: undefined, |
| 192 | selfMediaPlatformTypeOther: undefined, | 215 | selfMediaPlatformTypeOther: undefined, |
| 216 | + company: undefined, | ||
| 193 | }, | 217 | }, |
| 194 | rules: { | 218 | rules: { |
| 195 | platformName: [ | 219 | platformName: [ |
| 196 | - { required: true, message: "请选择系统名称", trigger: "blur" }, | 220 | + { required: true, message: "请选择应用名称", trigger: "blur" }, |
| 221 | + ], | ||
| 222 | + company: [ | ||
| 223 | + { required: true, message: "请选择运营主体", trigger: "blur" }, | ||
| 197 | ], | 224 | ], |
| 198 | platformType: [ | 225 | platformType: [ |
| 199 | - { required: true, message: "请选择系统类型", trigger: "blur" }, | 226 | + { required: true, message: "请选择应用类型", trigger: "blur" }, |
| 200 | ], | 227 | ], |
| 201 | questionType: [ | 228 | questionType: [ |
| 202 | { required: true, message: "请选择问题类型", trigger: "blur" }, | 229 | { required: true, message: "请选择问题类型", trigger: "blur" }, |
| @@ -210,6 +237,8 @@ export default { | @@ -210,6 +237,8 @@ export default { | ||
| 210 | questionTypeOptions: [], | 237 | questionTypeOptions: [], |
| 211 | nameOptions: [], | 238 | nameOptions: [], |
| 212 | mediaPlatList: MediaPlatList, | 239 | mediaPlatList: MediaPlatList, |
| 240 | + companyOptions: [], | ||
| 241 | + btnLoading: false, | ||
| 213 | }; | 242 | }; |
| 214 | }, | 243 | }, |
| 215 | computed: { | 244 | computed: { |
| @@ -221,6 +250,7 @@ export default { | @@ -221,6 +250,7 @@ export default { | ||
| 221 | }, | 250 | }, |
| 222 | watch: {}, | 251 | watch: {}, |
| 223 | created() { | 252 | created() { |
| 253 | + this.initCompanyList(); | ||
| 224 | this.loadList(); | 254 | this.loadList(); |
| 225 | this.getSourceOptions(); | 255 | this.getSourceOptions(); |
| 226 | this.getplatformTypeOptions(); | 256 | this.getplatformTypeOptions(); |
| @@ -228,6 +258,14 @@ export default { | @@ -228,6 +258,14 @@ export default { | ||
| 228 | }, | 258 | }, |
| 229 | mounted() {}, | 259 | mounted() {}, |
| 230 | methods: { | 260 | methods: { |
| 261 | + async initCompanyList() { | ||
| 262 | + request({ | ||
| 263 | + url: `/Extend/basecomapnyinfo/GetNoPagingList`, | ||
| 264 | + method: "GET", | ||
| 265 | + }).then(({data}) => { | ||
| 266 | + this.companyOptions = data; | ||
| 267 | + }) | ||
| 268 | + }, | ||
| 231 | selectBlur(e) { | 269 | selectBlur(e) { |
| 232 | let value = e.target.value; | 270 | let value = e.target.value; |
| 233 | if(!value) return; | 271 | if(!value) return; |
| @@ -238,6 +276,7 @@ export default { | @@ -238,6 +276,7 @@ export default { | ||
| 238 | let obj = this.nameOptions.find(v => type == 'blur' ? val == v.fullName : val == v.id); | 276 | let obj = this.nameOptions.find(v => type == 'blur' ? val == v.fullName : val == v.id); |
| 239 | if(!obj) return; | 277 | if(!obj) return; |
| 240 | this.dataForm.platformName = obj ? obj.id : val; | 278 | this.dataForm.platformName = obj ? obj.id : val; |
| 279 | + this.dataForm.company = this.companyOptions.find(v => v.id == obj.companyId || v.companyName == obj.companyId).id; | ||
| 241 | this.dataForm.platformType = this.platformTypeOptions.find(v => v.Id == obj.systemType || v.FullName == obj.systemType).Id; | 280 | this.dataForm.platformType = this.platformTypeOptions.find(v => v.Id == obj.systemType || v.FullName == obj.systemType).Id; |
| 242 | this.dataForm.selfMediaPlatformType = obj ? obj.platform : ''; | 281 | this.dataForm.selfMediaPlatformType = obj ? obj.platform : ''; |
| 243 | }, | 282 | }, |
| @@ -292,7 +331,6 @@ export default { | @@ -292,7 +331,6 @@ export default { | ||
| 292 | this.dataForm.questionType = '其他'; | 331 | this.dataForm.questionType = '其他'; |
| 293 | } | 332 | } |
| 294 | this.dataForm.selfMediaPlatformType = res.data.selfMediaPlatformType || '--'; | 333 | this.dataForm.selfMediaPlatformType = res.data.selfMediaPlatformType || '--'; |
| 295 | - if (!this.dataForm.obtainEvidence) this.dataForm.obtainEvidence = []; | ||
| 296 | if (!this.dataForm.annex) this.dataForm.annex = []; | 334 | if (!this.dataForm.annex) this.dataForm.annex = []; |
| 297 | } | 335 | } |
| 298 | }); | 336 | }); |
| @@ -305,7 +343,9 @@ export default { | @@ -305,7 +343,9 @@ export default { | ||
| 305 | questionType: this.dataForm.questionType == '其他' ? this.dataForm.otherQuestionType : this.dataForm.questionType, | 343 | questionType: this.dataForm.questionType == '其他' ? this.dataForm.otherQuestionType : this.dataForm.questionType, |
| 306 | selfMediaPlatformType: this.dataForm.selfMediaPlatformType == '其他' ? this.dataForm.selfMediaPlatformTypeOther : this.dataForm.questionType, | 344 | selfMediaPlatformType: this.dataForm.selfMediaPlatformType == '其他' ? this.dataForm.selfMediaPlatformTypeOther : this.dataForm.questionType, |
| 307 | } | 345 | } |
| 346 | + this.btnLoading = true; | ||
| 308 | let res = !this.dataForm.id ? await addForm(obj) : await updataForm(obj); | 347 | let res = !this.dataForm.id ? await addForm(obj) : await updataForm(obj); |
| 348 | + if (res.code != 200) return this.btnLoading = false; | ||
| 309 | this.$message({ | 349 | this.$message({ |
| 310 | message: res.msg, | 350 | message: res.msg, |
| 311 | type: "success", | 351 | type: "success", |
src/views/baseInspectionReport/index.vue
| @@ -58,7 +58,7 @@ | @@ -58,7 +58,7 @@ | ||
| 58 | <el-table-column show-overflow-tooltip label="问题类型" prop="questionType" align="left" /> | 58 | <el-table-column show-overflow-tooltip label="问题类型" prop="questionType" align="left" /> |
| 59 | <!-- <el-table-column show-overflow-tooltip prop="link" label="有害链接" align="left" /> --> | 59 | <!-- <el-table-column show-overflow-tooltip prop="link" label="有害链接" align="left" /> --> |
| 60 | <el-table-column show-overflow-tooltip prop="questionClass" label="关键词" align="left" /> | 60 | <el-table-column show-overflow-tooltip prop="questionClass" label="关键词" align="left" /> |
| 61 | - <el-table-column show-overflow-tooltip prop="" label="录入时间" align="left" /> | 61 | + <el-table-column show-overflow-tooltip prop="creatorTime" label="录入时间" align="left" :formatter="ncc.tableDateFormat"/> |
| 62 | <!-- <el-table-column show-overflow-tooltip prop="department" label="部门" align="left" /> --> | 62 | <!-- <el-table-column show-overflow-tooltip prop="department" label="部门" align="left" /> --> |
| 63 | <!-- <el-table-column show-overflow-tooltip label="问题分类" prop="questionClass" align="left"> | 63 | <!-- <el-table-column show-overflow-tooltip label="问题分类" prop="questionClass" align="left"> |
| 64 | <template slot-scope="scope">{{ scope.row.questionClass | dynamicText(questionClassOptions) }}</template> | 64 | <template slot-scope="scope">{{ scope.row.questionClass | dynamicText(questionClassOptions) }}</template> |
| @@ -203,13 +203,14 @@ import { message } from '@/utils/message'; | @@ -203,13 +203,14 @@ import { message } from '@/utils/message'; | ||
| 203 | }, | 203 | }, |
| 204 | exportData(type) { | 204 | exportData(type) { |
| 205 | let obj = {} | 205 | let obj = {} |
| 206 | + this.listLoading = true; | ||
| 206 | if(type) { | 207 | if(type) { |
| 207 | obj = { | 208 | obj = { |
| 208 | url: '/Extend/BaseInspectionReport/Actions/GenerateImportTemplate', | 209 | url: '/Extend/BaseInspectionReport/Actions/GenerateImportTemplate', |
| 209 | method: "GET", | 210 | method: "GET", |
| 211 | + responseType: 'blob', | ||
| 210 | } | 212 | } |
| 211 | } else { | 213 | } else { |
| 212 | - this.listLoading = true; | ||
| 213 | let _query = { | 214 | let _query = { |
| 214 | ...this.listQuery, | 215 | ...this.listQuery, |
| 215 | ...this.query | 216 | ...this.query |
| @@ -226,15 +227,26 @@ import { message } from '@/utils/message'; | @@ -226,15 +227,26 @@ import { message } from '@/utils/message'; | ||
| 226 | url: '/Extend/BaseInspectionReport/Actions/Export', | 227 | url: '/Extend/BaseInspectionReport/Actions/Export', |
| 227 | method: "POST", | 228 | method: "POST", |
| 228 | data: query, | 229 | data: query, |
| 230 | + responseType: 'blob', | ||
| 229 | } | 231 | } |
| 230 | } | 232 | } |
| 231 | request(obj).then((res) => { | 233 | request(obj).then((res) => { |
| 232 | - console.log(res); | ||
| 233 | - const url = define.APIURl + res.data.url; | ||
| 234 | - const link = document.createElement("a"); | ||
| 235 | - link.href = url; | ||
| 236 | - link.download = res.data.name; | ||
| 237 | - link.click(); | 234 | + if(type) { |
| 235 | + const blob = new Blob([res], {type: 'application/json'}); | ||
| 236 | + const url = window.URL.createObjectURL(blob); | ||
| 237 | + let link = document.createElement('a'); | ||
| 238 | + link.style.display = 'none'; | ||
| 239 | + link.href = url; | ||
| 240 | + link.download = '线索录入模板.xlsx'; | ||
| 241 | + link.click(); | ||
| 242 | + } else { | ||
| 243 | + if(res.code != 200) return; | ||
| 244 | + const url = define.APIURl + res.data.url; | ||
| 245 | + const link = document.createElement("a"); | ||
| 246 | + link.href = url; | ||
| 247 | + link.download = res.data ? res.data.name : '线索录入模板.xlsx'; | ||
| 248 | + link.click(); | ||
| 249 | + } | ||
| 238 | }); | 250 | }); |
| 239 | this.listLoading = false; | 251 | this.listLoading = false; |
| 240 | }, | 252 | }, |
src/views/baseSystemInfo/index.vue
| @@ -78,8 +78,9 @@ | @@ -78,8 +78,9 @@ | ||
| 78 | </el-col> | 78 | </el-col> |
| 79 | </el-form> | 79 | </el-form> |
| 80 | <div class="NCC-common-search-box-right"> | 80 | <div class="NCC-common-search-box-right"> |
| 81 | + <el-button type="primary" icon="el-icon-download" size="mini" @click="exportData('demo')">导出模板</el-button> | ||
| 81 | <!-- <el-button type="success" icon="el-icon-upload2" size="mini">导入</el-button> --> | 82 | <!-- <el-button type="success" icon="el-icon-upload2" size="mini">导入</el-button> --> |
| 82 | - <el-button type="primary" icon="el-icon-download" size="mini" @click="toExport">导出</el-button> | 83 | + <el-button type="primary" icon="el-icon-download" size="mini" @click="exportData()">导出</el-button> |
| 83 | </div> | 84 | </div> |
| 84 | </el-row> | 85 | </el-row> |
| 85 | <div class="NCC-common-layout-main NCC-flex-main"> | 86 | <div class="NCC-common-layout-main NCC-flex-main"> |
| @@ -206,6 +207,7 @@ import InspectionForm from "./InspectForm.vue"; | @@ -206,6 +207,7 @@ import InspectionForm from "./InspectForm.vue"; | ||
| 206 | import DetailForm from './DetailForm.vue'; | 207 | import DetailForm from './DetailForm.vue'; |
| 207 | import ChangeRecord from "./ChangeRecord.vue"; | 208 | import ChangeRecord from "./ChangeRecord.vue"; |
| 208 | import ExportBox from "./ExportBox.vue"; | 209 | import ExportBox from "./ExportBox.vue"; |
| 210 | +import define from '@/utils/define' | ||
| 209 | 211 | ||
| 210 | export default { | 212 | export default { |
| 211 | name: "SystemInfo", | 213 | name: "SystemInfo", |
| @@ -390,29 +392,38 @@ export default { | @@ -390,29 +392,38 @@ export default { | ||
| 390 | this.initList(); | 392 | this.initList(); |
| 391 | }); | 393 | }); |
| 392 | }, | 394 | }, |
| 393 | - toExport() { | ||
| 394 | - let _query = { | ||
| 395 | - ...this.query, | 395 | + exportData(type) { |
| 396 | + let obj = {}; | ||
| 397 | + if(type) { | ||
| 398 | + obj = { | ||
| 399 | + url: '/Extend/basesysteminfo/Actions/GenerateImportTemplate', | ||
| 400 | + method: "GET", | ||
| 401 | + } | ||
| 402 | + } else { | ||
| 403 | + obj ={ | ||
| 404 | + url: '/Extend/basesysteminfo/Actions/Export', | ||
| 405 | + method: "POST", | ||
| 406 | + data: this.query, | ||
| 407 | + } | ||
| 396 | }; | 408 | }; |
| 397 | - let query = {}; | ||
| 398 | - for (let key in _query) { | ||
| 399 | - if (Array.isArray(_query[key])) { | ||
| 400 | - query[key] = _query[key].join(); | 409 | + request(obj).then((res) => { |
| 410 | + if(type) { | ||
| 411 | + const blob = new Blob([res], {type: 'application/json'}); | ||
| 412 | + const url = window.URL.createObjectURL(blob); | ||
| 413 | + let link = document.createElement('a'); | ||
| 414 | + link.style.display = 'none'; | ||
| 415 | + link.href = url; | ||
| 416 | + link.download = '应用信息模板.xlsx'; | ||
| 417 | + link.click(); | ||
| 401 | } else { | 418 | } else { |
| 402 | - query[key] = _query[key]; | 419 | + if(res.code != 200) return; |
| 420 | + const url = define.APIURl + res.data.url; | ||
| 421 | + const link = document.createElement("a"); | ||
| 422 | + link.href = url; | ||
| 423 | + link.download = res.data.name; | ||
| 424 | + link.click(); | ||
| 403 | } | 425 | } |
| 404 | - } | ||
| 405 | - request({ | ||
| 406 | - url: `/Extend/basesysteminfo/Actions/Export`, | ||
| 407 | - method: "POST", | ||
| 408 | - data: query, | ||
| 409 | - }).then((res) => { | ||
| 410 | - const url = process.env.VUE_APP_BASE_API + res.data.url; | ||
| 411 | - const link = document.createElement("a"); | ||
| 412 | - link.href = url; | ||
| 413 | - link.download = res.data.name; | ||
| 414 | - link.click(); | ||
| 415 | - }); | 426 | + }) |
| 416 | }, | 427 | }, |
| 417 | download(data) { | 428 | download(data) { |
| 418 | let query = { ...data, ...this.listQuery, ...this.query }; | 429 | let query = { ...data, ...this.listQuery, ...this.query }; |