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

View File

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

View File

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

View File

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

View File

@ -117,13 +117,27 @@ public class OmsPurchaseOrderServiceImpl implements IOmsPurchaseOrderService, To
} }
List<OmsPurchaseOrderItem> omsPurchaseOrderItems = omsPurchaseOrderMapper.listItemByPurchaseId(id); List<OmsPurchaseOrderItem> omsPurchaseOrderItems = omsPurchaseOrderMapper.listItemByPurchaseId(id);
omsPurchaseOrder.setOmsPurchaseOrderItemList(omsPurchaseOrderItems); omsPurchaseOrder.setOmsPurchaseOrderItemList(omsPurchaseOrderItems);
if (omsPurchaseOrder.getFileId() != null) { fillFileList(omsPurchaseOrder);
OmsFileLog omsFileLog = omsFileLogService.queryById(omsPurchaseOrder.getFileId());
omsPurchaseOrder.setFileLog(omsFileLog);
}
return 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()); List<OmsPurchaseOrderItem> omsPurchaseOrderItems = omsPurchaseOrderMapper.listItemByPurchaseId(omsPurchaseOrder.getId());
omsPurchaseOrder.setOmsPurchaseOrderItemList(omsPurchaseOrderItems); omsPurchaseOrder.setOmsPurchaseOrderItemList(omsPurchaseOrderItems);
if (omsPurchaseOrder.getFileId() != null) { fillFileList(omsPurchaseOrder);
OmsFileLog omsFileLog = omsFileLogService.queryById(omsPurchaseOrder.getFileId());
omsPurchaseOrder.setFileLog(omsFileLog);
}
return omsPurchaseOrder; return omsPurchaseOrder;
} }