fix:采购单附件上传多个

dev_1.0.2
jiangpeng 2026-06-30 14:31:57 +08:00
parent 09fb371292
commit f3f7a99b10
5 changed files with 39 additions and 17 deletions

View File

@ -109,7 +109,7 @@
</el-col>
<el-col :span="24">
<el-form-item label="附件" prop="fileId">
<file-upload :value="fileList" @file-list-changed="handleFileListChanged" :limit="1"
<file-upload :value="fileList" @file-list-changed="handleFileListChanged" :limit="10"
:file-type="['png', 'jpg', 'jpeg', 'doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx', 'txt', 'pdf']"/>
</el-form-item>
</el-col>
@ -318,7 +318,9 @@ export default {
this.$nextTick(() => {
this.handleVendorChange(this.form.vendorId);
// fileList
if (this.form.fileLog) {
if (this.form.fileList && this.form.fileList.length) {
this.fileList = [...this.form.fileList]
} else if (this.form.fileLog) {
this.fileList = [{...this.form.fileLog}]
} else {
this.fileList = [];
@ -346,7 +348,9 @@ export default {
if (this.orderData) {
this.form = JSON.parse(JSON.stringify(this.orderData));
this.handleVendorChange(this.form.vendorId);
if (this.form.fileLog) {
if (this.form.fileList && this.form.fileList.length) {
this.fileList = [...this.form.fileList]
} else if (this.form.fileLog) {
this.fileList = [{...this.form.fileLog}]
} else {
this.fileList = [];

View File

@ -110,10 +110,12 @@
<span>{{ form.remark }}</span>
</el-form-item>
</el-col>
<el-col :span="24" v-if="form.fileLog">
<el-form-item label="附件" prop="annex">
<el-link :href="getFileUrl(form.fileLog.filePath)" target="_blank" type="primary" style="margin-right: 10px">{{ form.fileLog.fileName }}</el-link>
<el-button size="mini" type="text" icon="el-icon-download" @click="downloadFile(form.fileLog)"></el-button>
<el-col :span="24" v-if="form.fileList && form.fileList.length">
<el-form-item label="附件" prop="fileList">
<div v-for="file in form.fileList" :key="file.id" class="file-item">
<el-link :href="getFileUrl(file.filePath)" target="_blank" type="primary" style="margin-right: 10px">{{ file.fileName }}</el-link>
<el-button size="mini" type="text" icon="el-icon-download" @click="downloadFile(file)"></el-button>
</div>
</el-form-item>
</el-col>
</el-row>
@ -280,6 +282,8 @@ export default {
ownerName: null,
remark: null,
annex: null,
fileId: null,
fileList: [],
totalAmount: null,
status: 0,
approveStatus: 0,
@ -382,6 +386,8 @@ export default {
ownerName: null,
remark: null,
annex: null,
fileId: null,
fileList: [],
totalAmount: null,
status: 0,
approveStatus: 0,

View File

@ -145,8 +145,9 @@ public class OmsPurchaseOrder extends BaseEntity
private String productCode;
private String productModel;
private String vendorEmail;
private Integer fileId;
private String fileId;
private OmsFileLog fileLog;
private List<OmsFileLog> fileList;
/** 采购单明细表信息 */

View File

@ -91,7 +91,7 @@ public class OmsPurchaseOrderHistory extends BaseEntity
/** 版本号 */
private Integer version;
private Integer fileId;
private String fileId;
private List<OmsPurchaseOrderItemHistory> omsPurchaseOrderItemList;
}

View File

@ -117,13 +117,27 @@ public class OmsPurchaseOrderServiceImpl implements IOmsPurchaseOrderService, To
}
List<OmsPurchaseOrderItem> omsPurchaseOrderItems = omsPurchaseOrderMapper.listItemByPurchaseId(id);
omsPurchaseOrder.setOmsPurchaseOrderItemList(omsPurchaseOrderItems);
if (omsPurchaseOrder.getFileId() != null) {
OmsFileLog omsFileLog = omsFileLogService.queryById(omsPurchaseOrder.getFileId());
omsPurchaseOrder.setFileLog(omsFileLog);
}
fillFileList(omsPurchaseOrder);
return omsPurchaseOrder;
}
private void fillFileList(OmsPurchaseOrder omsPurchaseOrder) {
if (omsPurchaseOrder == null || StringUtils.isEmpty(omsPurchaseOrder.getFileId())) {
return;
}
List<Integer> fileIdList = Arrays.stream(omsPurchaseOrder.getFileId().split(","))
.filter(StringUtils::isNotEmpty)
.map(Integer::valueOf)
.collect(Collectors.toList());
if (CollUtil.isNotEmpty(fileIdList)) {
OmsFileLog query = new OmsFileLog();
query.setIdList(fileIdList);
List<OmsFileLog> fileList = omsFileLogService.queryAll(query);
omsPurchaseOrder.setFileList(fileList);
omsPurchaseOrder.setFileLog(fileList.get(0));
}
}
/**
*
*
@ -427,10 +441,7 @@ public class OmsPurchaseOrderServiceImpl implements IOmsPurchaseOrderService, To
}
List<OmsPurchaseOrderItem> omsPurchaseOrderItems = omsPurchaseOrderMapper.listItemByPurchaseId(omsPurchaseOrder.getId());
omsPurchaseOrder.setOmsPurchaseOrderItemList(omsPurchaseOrderItems);
if (omsPurchaseOrder.getFileId() != null) {
OmsFileLog omsFileLog = omsFileLogService.queryById(omsPurchaseOrder.getFileId());
omsPurchaseOrder.setFileLog(omsFileLog);
}
fillFileList(omsPurchaseOrder);
return omsPurchaseOrder;
}