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