人员入场管理页面增加下载文件按钮

This commit is contained in:
BianLzhaoMin 2025-12-19 13:24:34 +08:00
parent 8db21030dd
commit 413be114e5
5 changed files with 90 additions and 7 deletions

View File

@ -17,6 +17,7 @@ export default {
created() {
get()
},
metaInfo() {
return {
title:

View File

@ -123,3 +123,28 @@ export const addShanghaiProEinAPI = (data) => {
data,
})
}
// 获取下载任务
export const getDownloadTaskAPI = (data) => {
return request({
url: '/bmw/zipDownload/createZipTask',
method: 'POST',
data,
})
}
// 获取下载链接
export const getDownloadTaskLinkAPI = (id) => {
return request({
url: `/bmw/zipDownload/taskStatus/${id}`,
method: 'GET',
})
}
// 下载数据
export const downloadTaskAPI = (url) => {
return request({
url: `/bmw/zipDownload/downloadFile${url}`,
method: 'GET',
})
}

View File

@ -33,6 +33,7 @@
v-model="queryParams[item.f_model]"
:placeholder="`请选择${item.f_label}`"
:style="{ width: item.f_width || '180px' }"
@change="handleSelChange($event, item.f_model)"
>
<el-option
:key="v"
@ -575,6 +576,11 @@ export default {
}
}
},
// change
handleSelChange(e, val) {
this.$emit('sel-change', e, val)
},
},
watch: {

View File

@ -11,6 +11,7 @@
}"
:columnsList="columnsList"
:request-api="getEntryPersonListAPI"
@sel-change="handleSelChange"
>
<template slot="idNumber" slot-scope="{ data }">
{{ desensitizeIdNumber(data.idNumber) }}
@ -85,6 +86,16 @@
>
入场多数据模板下载
</el-button>
<el-button
plain
size="mini"
type="primary"
icon="el-icon-download"
@click="onHandleDownloadFile()"
>
文件下载
</el-button>
</template>
<!-- 出入场状态 -->
@ -216,6 +227,9 @@ import {
deleteEntryPersonAPI,
importEntryPersonAPI,
importEntryPersonImportAPI,
getDownloadTaskAPI,
getDownloadTaskLinkAPI,
downloadTaskAPI,
} from '@/api/construction-person/entry-and-exit-manage/person-entry'
import {
@ -251,6 +265,11 @@ export default {
idNumber: '', //
getEntryPersonListAPI,
loading: false,
queryDownloadTask: {
proId: '',
subId: '',
teamId: '',
},
}
},
methods: {
@ -468,8 +487,40 @@ export default {
this.onHandleShanghaiPersonMultiEngineSetting()
this.idNumber = idNumber
},
},
//
async onHandleDownloadFile() {
//
if (
!this.queryDownloadTask.proId &&
!this.queryDownloadTask.subId &&
!this.queryDownloadTask.teamId
) {
this.$modal.msgError('请选择工程或分包或班组')
return
}
try {
const res = await getDownloadTaskAPI(this.queryDownloadTask)
if (res.taskId) {
const result = await getDownloadTaskLinkAPI(res.taskId)
const result1 = await downloadTaskAPI(result.downloadUrl)
console.log('result1', result1)
}
} catch (error) {
console.error('下载文件失败', error)
this.$modal.msgError('下载文件失败')
}
},
// change
handleSelChange(e, val) {
console.log(['proId', 'subId', 'teamId'].includes(val), '996')
if (['proId', 'subId', 'teamId'].includes(val)) {
this.queryDownloadTask[val] = e
}
},
},
async created() {
const lotProjectList = await getLotProjectSelectListCommonFun()
const subList = await getSubSelectListCommonFun()

View File

@ -58,9 +58,9 @@
/>
</div>
</el-form-item>
<el-checkbox v-model="loginForm.rememberMe" class="remember-me"
>记住密码</el-checkbox
>
<el-checkbox v-model="loginForm.rememberMe" class="remember-me">
记住密码
</el-checkbox>
<el-form-item style="width: 100%">
<el-button
:loading="loading"
@ -73,9 +73,9 @@
<span v-else> 中...</span>
</el-button>
<div class="register-link" v-if="register">
<router-link class="link-type" :to="'/register'"
>立即注册</router-link
>
<router-link class="link-type" :to="'/register'">
立即注册
</router-link>
</div>
</el-form-item>
</el-form>