联调文件上传

This commit is contained in:
GGJ
2024-08-19 16:18:57 +08:00
parent 6da0974740
commit 371519bb1b
3 changed files with 90 additions and 21 deletions

View File

@@ -91,6 +91,22 @@ export const getByDeptDevLine = (params: any) => {
return createAxios({
url: '/device-boot/line/getByDeptDevLine',
method: 'get',
params
params
})
}
// 批量添加和修改文件信息
export const addOrUpdateFile = (data: any) => {
return createAxios({
url: '/supervision-boot/fileUrl/addOrUpdateFile',
method: 'POST',
data
})
}
// 根据id查询文件信息集合
export const getFileById = (params: any) => {
return createAxios({
url: '/supervision-boot/fileUrl/getFileById',
method: 'get',
params
})
}

View File

@@ -1058,6 +1058,7 @@ const open = async (row: any) => {
if (row.row) {
resendId.value = row.row.id
status.value = row.row.status
deptIds = row.row.orgId
if (props.update) {
await getUserReportUpdateById(row.row.id).then(res => {
@@ -1068,6 +1069,9 @@ const open = async (row: any) => {
handleResponse(res.data)
})
}
setTimeout(() => {
addUploadRef.value?.queryFiles(row.row.id)
}, 0)
} else {
resendId.value = ''
form.value.userType = userTypeList.value[0].value
@@ -1237,10 +1241,10 @@ const disabledDate = (time: any) => {
}
//提交
const confirmForm = (flag: boolean) => {
addUploadRef.value?.submitForm()
if (flag) {
//整理上传文件的数据
// userType==0,1
subForm.value.reporter = adminInfo.$state.id
subForm.value.orgId = adminInfo.$state.deptId
let confirmFormData = JSON.parse(JSON.stringify(subForm.value))
@@ -1305,6 +1309,7 @@ const confirmForm = (flag: boolean) => {
type: 'success'
})
ruleFormRef.value.resetFields()
addUploadRef.value?.submitForm(res.data)
resetForm()
close()
})
@@ -1315,6 +1320,7 @@ const confirmForm = (flag: boolean) => {
type: 'success'
})
ruleFormRef.value.resetFields()
addUploadRef.value?.submitForm(res.data)
resetForm()
close()
})
@@ -1324,6 +1330,7 @@ const confirmForm = (flag: boolean) => {
if (valid) {
//整理上传文件的数据
// userType==0,1
addUploadRef.value?.submitForm()
subForm.value.reporter = adminInfo.$state.id
subForm.value.orgId = adminInfo.$state.deptId
let confirmFormData = JSON.parse(JSON.stringify(subForm.value))
@@ -1453,6 +1460,7 @@ const confirmForm = (flag: boolean) => {
type: 'success'
})
ruleFormRef.value.resetFields()
addUploadRef.value?.submitForm(res.data)
resetForm()
close()
})
@@ -1468,6 +1476,7 @@ const confirmForm = (flag: boolean) => {
type: 'success'
})
ruleFormRef.value.resetFields()
addUploadRef.value?.submitForm(res.data)
resetForm()
close()
})
@@ -1488,6 +1497,7 @@ const confirmForm = (flag: boolean) => {
message: '重新发起成功',
type: 'success'
})
addUploadRef.value?.submitForm(res.data)
ruleFormRef.value.resetFields()
resetForm()
close()

View File

@@ -1,5 +1,5 @@
<template>
<el-form-item label="入网设计方案审查报告">
<el-form-item label="入网设计方案审查报告:">
<el-upload
v-model:file-list="form.NetReport"
ref="NetReportRef"
@@ -14,7 +14,7 @@
</template>
</el-upload>
</el-form-item>
<el-form-item label="治理工程验收报告">
<el-form-item label="治理工程验收报告:">
<el-upload
v-model:file-list="form.governReport"
action=""
@@ -28,7 +28,7 @@
</template>
</el-upload>
</el-form-item>
<el-form-item label="信息安全检测报告">
<el-form-item label="信息安全检测报告:">
<el-upload
v-model:file-list="form.informationSecurityTestReport"
action=""
@@ -42,7 +42,7 @@
</template>
</el-upload>
</el-form-item>
<el-form-item label="验收检验报告单">
<el-form-item label="验收检验报告单:">
<el-upload
v-model:file-list="form.acceptanceInspectionReportSingle"
action=""
@@ -56,7 +56,7 @@
</template>
</el-upload>
</el-form-item>
<el-form-item label="验收检验报告">
<el-form-item label="验收检验报告:">
<el-upload
v-model:file-list="form.acceptanceInspectionReport"
action=""
@@ -70,7 +70,7 @@
</template>
</el-upload>
</el-form-item>
<el-form-item label="型式实验报告">
<el-form-item label="型式实验报告:">
<el-upload
v-model:file-list="form.typeExperimentReport"
action=""
@@ -84,7 +84,7 @@
</template>
</el-upload>
</el-form-item>
<el-form-item label="出厂检验报告">
<el-form-item label="出厂检验报告:">
<el-upload
v-model:file-list="form.factoryInspectionReport"
action=""
@@ -98,7 +98,7 @@
</template>
</el-upload>
</el-form-item>
<el-form-item label="性能检测报告">
<el-form-item label="性能检测报告:">
<el-upload
v-model:file-list="form.performanceTestReport"
action=""
@@ -112,7 +112,7 @@
</template>
</el-upload>
</el-form-item>
<el-form-item label="主接线图">
<el-form-item label="主接线图:">
<el-upload
v-model:file-list="form.mainWiringDiagram"
action=""
@@ -126,7 +126,7 @@
</template>
</el-upload>
</el-form-item>
<el-form-item label="试运行报告">
<el-form-item label="试运行报告:">
<el-upload
v-model:file-list="form.runTheReport"
action=""
@@ -134,6 +134,7 @@
:limit="1"
@change="choose($event, 'runTheReport')"
:auto-upload="false"
:before-remove="beforeRemove('runTheReport', '1')"
>
<template #trigger>
<el-button type="primary">上传文件</el-button>
@@ -143,11 +144,12 @@
</template>
<script setup lang="ts">
import { ref, reactive } from 'vue'
import { uploadFile } from '@/api/system-boot/file'
import { uploadFile, getFileNameAndFilePath } from '@/api/system-boot/file'
import { genFileId, ElMessage } from 'element-plus'
import type { UploadProps, UploadRawFile } from 'element-plus'
import { addOrUpdateFile, getFileById } from '@/api/supervision-boot/interfere/index'
const form = ref({
const form: any = ref({
NetReport: [], //入网设计方案审查报告:
governReport: [], //治理工程验收报告
informationSecurityTestReport: [], //信息安全检测报告
@@ -157,10 +159,10 @@ const form = ref({
factoryInspectionReport: [], //出厂检验报告:
performanceTestReport: [], //性能检测报告
mainWiringDiagram: [], //主接线图:
runTheReport: [], //试运行报告
runTheReport: [] //试运行报告
})
const formName = ref({
const formName: any = ref({
NetReport: '',
governReport: '',
informationSecurityTestReport: '',
@@ -170,19 +172,60 @@ const formName = ref({
factoryInspectionReport: '',
performanceTestReport: '',
mainWiringDiagram: '',
runTheReport: '',
runTheReport: ''
})
const beforeRemove = (name: any, flag?: string) => {
console.log('🚀 ~ beforeRemove ~ flag:', flag)
if (flag == '1') {
console.log('🚀 ~ beforeRemove ~ name:', name)
formName.value[name] = ''
}
}
const choose = (e: any, name: string) => {
console.log('🚀 ~ choose ~ name:', name)
uploadFile(e.raw, '/supervision/').then(res => {
formName.value[name] = res.data.name
})
}
const submitForm = () => {
console.log(formName.value)
const submitForm = async (id: string) => {
console.log(form.value)
let data = []
for (let i in formName.value) {
data.push({
supervisionId: id,
name: i,
url: formName.value[i],
state: 1
})
}
await addOrUpdateFile(data)
}
defineExpose({ submitForm })
const queryFiles = (id: string) => {
getFileById({ id: id }).then(res => {
res.data.forEach((item: any) => {
if (item.url.length > 0) getFileNamePath(item.url, item.name)
})
})
}
const getFileNamePath = async (val: any, pathName: any) => {
await getFileNameAndFilePath({ filePath: val }).then(res => {
form.value[pathName] = [
{
name: res.data.fileName,
url: res.data.url
}
]
setTimeout(() => {
formName.value[pathName] = res.data.fileName
}, 100)
})
}
defineExpose({ submitForm, queryFiles })
</script>
<style lang="scss" scoped>
.el-form-item__content > div:first-child {