检验报告上传:新增《检验报告上传》菜单,放在质量管理中

dev
qiuhongwu 3 months ago
parent 282857923b
commit 4bd6eae593

@ -11,30 +11,31 @@
</template>
<el-row>
<el-col :span="6">
<el-form-item label="项目编号" prop="projectCode">
<el-input class="!w-260px" v-model="formData.projectCode" :disabled="true" />
<el-form-item label="生产订单号" prop="code">
<el-input class="!w-260px" v-model="formData.code" :disabled="true" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="项目名称" prop="projectName">
<el-input class="!w-260px" v-model="formData.projectName" :disabled="true" />
<el-form-item label="单据日期" prop="createTime">
{{formatDate(formData.createTime, 'YYYY-MM-DD HH:mm:ss')}}
<!-- <el-input class="!w-260px" v-model="formData.createTime" :formatter="dateFormatter" :disabled="true" /> -->
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="子项目编号" prop="projectSubCode">
<el-input class="!w-260px" v-model="formData.projectSubCode" :disabled="true" />
<el-form-item label="归属部门" prop="deptName">
<el-input class="!w-260px" v-model="formData.deptName" :disabled="true" />
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="子项目名称" prop="projectSubName">
<el-input class="!w-260px" v-model="formData.projectSubName" :disabled="true" />
<el-form-item label="客户名称" prop="customerName">
<el-input class="!w-260px" v-model="formData.customerName" :disabled="true" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<el-form-item label="客户名称" prop="customerName">
<el-input class="!w-260px" v-model="formData.customerName" :disabled="true" />
<el-form-item label="销售订单号" prop="externalCode">
<el-input class="!w-260px" v-model="formData.externalCode" :disabled="true" />
</el-form-item>
</el-col>
</el-row>
@ -54,10 +55,10 @@
'tenant-id': getTenantId()
}" name="files" :show-file-list="false" :auto-upload="false" :data="compositionUploadData" :on-change="compositionUploadChange" :on-error="handleError" :on-success="handleSuccess" :before-upload="before" class="upload-file-uploader">
<el-button type="primary">
<Icon icon="ep:upload-filled" />上传材质报告
<Icon icon="ep:upload-filled" />上传附件
</el-button>
</el-upload>
<el-upload ref="heatUploadRef" :file-list="heatUploadFiles" multiple :action="uploadUrl" :headers="{
<!-- <el-upload ref="heatUploadRef" :file-list="heatUploadFiles" multiple :action="uploadUrl" :headers="{
Authorization: 'Bearer ' + getAccessToken(),
'tenant-id': getTenantId()
}" name="files" :show-file-list="false" :auto-upload="false" :data="heatUploadData" :on-change="heatUploadChange" :on-error="handleError" :on-success="handleSuccess" :before-upload="before" class="upload-file-uploader">
@ -88,18 +89,18 @@
<el-button type="primary">
<Icon icon="ep:upload-filled" />上传合格证
</el-button>
</el-upload>
</el-upload> -->
</el-col>
<el-table :data="formData.attachments" v-loading.fullscreen.lock="uploading" element-loading-text="..." element-loading-background="rgba(122, 122, 122, 0.6)" class="hl-table">
<el-table-column fixed type="index" width="100" label="序号" align="center" />
<el-table-column prop="name" label="文件名称" align="center" />
<el-table-column prop="businessFileType" label="文件类型" align="center">
<!-- <el-table-column prop="businessFileType" label="文件类型" align="center">
<template #default="scope">
{{
getDictLabel(DICT_TYPE.BIZ_BUSINESS_FILE_TYPE, scope.row.businessFileType)
}}
</template>
</el-table-column>
</el-table-column> -->
<el-table-column prop="createTime" align="center" label="上传时间" :formatter="dateFormatter" />
<el-table-column label="操作" align="center">
<template #default="scope">
@ -131,7 +132,7 @@ import { inject } from 'vue'
import { useUserStore } from '@/store/modules/user'
import { useCommonStore } from '@/store/modules/common'
import { getAccessToken, getTenantId } from '@/utils/auth'
import { dateFormatter } from '@/utils/formatTime'
import { dateFormatter,formatDate } from '@/utils/formatTime'
import { DICT_TYPE, getDictLabel } from '@/utils/dict'
import { UploadUserFile } from 'element-plus'
import { deleteFileLogic, downloadFile, getFilePage } from '@/api/infra/file'
@ -156,7 +157,7 @@ const businessType = 'INSPECTION_REPORT'
const formData: any = ref({
projectId: undefined,
projectSubId: undefined,
id: undefined,
attachments: []
})
@ -168,7 +169,7 @@ const formRules = reactive({})
const resetForm = () => {
formData.value = {
projectId: undefined,
projectSubId: undefined,
id: undefined,
attachments: []
}
formRef.value?.resetFields()
@ -203,23 +204,23 @@ const submitForm = async (operate) => {
try {
//
if (compositionUploadFiles.value.length > 0) {
compositionUploadData.value.businessId = formData.value.projectSubId
compositionUploadData.value.businessId = formData.value.id
await compositionUploadRef.value!.submit()
}
if (heatUploadFiles.value.length > 0) {
heatUploadData.value.businessId = formData.value.projectSubId
heatUploadData.value.businessId = formData.value.id
await heatUploadRef.value!.submit()
}
if (scanUploadFiles.value.length > 0) {
scanUploadData.value.businessId = formData.value.projectSubId
scanUploadData.value.businessId = formData.value.id
await scanUploadRef.value!.submit()
}
if (triUploadFiles.value.length > 0) {
triUploadData.value.businessId = formData.value.projectSubId
triUploadData.value.businessId = formData.value.id
await triUploadRef.value!.submit()
}
if (certificateUploadFiles.value.length > 0) {
certificateUploadData.value.businessId = formData.value.projectSubId
certificateUploadData.value.businessId = formData.value.id
await certificateUploadRef.value!.submit()
}
message.success(t('common.operationSuccess'))
@ -240,7 +241,7 @@ const compositionUploadRef = ref()
const compositionUploadFiles = ref<UploadUserFile[]>([])
const compositionUploadData = ref({
businessType: businessType,
businessId: formData.value.projectSubId,
businessId: formData.value.id,
businessFileType: 'COMPOSITION_REPORT'
})
@ -248,7 +249,7 @@ const heatUploadRef = ref()
const heatUploadFiles = ref<UploadUserFile[]>([])
const heatUploadData = ref({
businessType: businessType,
businessId: formData.value.projectSubId,
businessId: formData.value.id,
businessFileType: 'HEAT_TREATMENT_REPORT'
})
@ -256,7 +257,7 @@ const scanUploadRef = ref()
const scanUploadFiles = ref<UploadUserFile[]>([])
const scanUploadData = ref({
businessType: businessType,
businessId: formData.value.projectSubId,
businessId: formData.value.id,
businessFileType: 'SCAN_REPORT'
})
@ -264,7 +265,7 @@ const triUploadRef = ref()
const triUploadFiles = ref<UploadUserFile[]>([])
const triUploadData = ref({
businessType: businessType,
businessId: formData.value.projectSubId,
businessId: formData.value.id,
businessFileType: 'TRI_LINEAR_COORDINATES_MEASURING'
})
@ -272,7 +273,7 @@ const certificateUploadRef = ref()
const certificateUploadFiles = ref<UploadUserFile[]>([])
const certificateUploadData = ref({
businessType: businessType,
businessId: formData.value.projectSubId,
businessId: formData.value.id,
businessFileType: 'CERTIFICATE_OF_QUALIFICATION'
})

@ -12,37 +12,19 @@
:inline="true"
label-width="110px"
>
<el-form-item label="项目编号" prop="projectCode">
<el-form-item label="生产订单号" prop="projectCode">
<el-input
v-model="queryParams.projectCode"
placeholder="请输入项目编号"
placeholder="请输入生产订单号"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item>
<el-form-item label="项目名称" prop="projectName">
<el-form-item label="生产订单号" prop="projectCode" style="display: none;">
<el-input
v-model="queryParams.projectName"
placeholder="请输入项目名称"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item>
<el-form-item label="子项目名称" prop="projectSubName">
<el-input
v-model="queryParams.projectSubName"
placeholder="请输入子项目名称"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item>
<el-form-item label="子项目编号" prop="projectSubCode">
<el-input
v-model="queryParams.projectSubCode"
placeholder="请输入子项目编号"
v-model="queryParams.projectCode"
placeholder="请输入生产订单号"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
@ -59,22 +41,22 @@
<ContentWrap>
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true" class="hl-table">
<el-table-column fixed type="index" width="100" label="序号" align="center" />
<el-table-column label="项目编号" align="center" prop="projectCode" min-width="230" >
<el-table-column label="生产订单号" align="center" prop="code" min-width="230" >
<template #default="scope">
<el-button type="primary" plain link @click="openDetail('detail', scope.row.id)">{{ scope.row.projectCode }}</el-button>
<el-button type="primary" plain link @click="openDetail('detail', scope.row.id)">{{ scope.row.code }}</el-button>
</template>
</el-table-column>
<el-table-column label="项目名称" align="center" prop="projectName" min-width="180" />
<el-table-column label="客户名称" align="center" prop="customerName" width="240" />
<el-table-column label="子项目名称" align="center" prop="projectSubName" min-width="180" />
<el-table-column label="子项目编号" align="center" prop="projectSubCode" min-width="260" />
<el-table-column label="单据日期" align="center" prop="createTime" :formatter="dateFormatter" min-width="180" />
<el-table-column label="归属部门" align="center" prop="deptName" width="240" />
<el-table-column label="客户名称" align="center" prop="customerName" min-width="180" />
<el-table-column label="销售订单号" align="center" prop="externalCode" min-width="260" />
<el-table-column label="附件数量" align="center" prop="attachmentCount" min-width="160" />
<el-table-column label="操作" fixed='right' min-width="160" align="center">
<template #default="scope">
<el-button link type="primary" @click="openDetail('update', scope.row.projectSubId)">
<el-button link type="primary" @click="openDetail('update', scope.row.id)">
编辑
</el-button>
<el-button link type="primary" @click="openDetail('detail', scope.row.projectSubId)">
<el-button link type="primary" @click="openDetail('detail', scope.row.id)">
查看详情
</el-button>
</template>
@ -94,7 +76,7 @@
<script setup lang="ts">
import * as InspectionReportApi from '@/api/biz/inspectionreport'
import {useCommonStore} from "@/store/modules/common";
import { dateFormatter } from '@/utils/formatTime'
defineOptions({ name: 'InspectionReport' })
const message = useMessage() //
@ -109,12 +91,8 @@ const queryParams = reactive({
pageNo: 1,
pageSize: 10,
projectCode: undefined,
projectSubName: undefined,
status: undefined,
createTime: [],
})
const queryFormRef = ref() //
const exportLoading = ref(false) //
/** 查询列表 */
const getList = async () => {

Loading…
Cancel
Save