新需求
This commit is contained in:
parent
9883ed3b93
commit
4945b255be
|
|
@ -27,6 +27,7 @@ import org.springframework.web.bind.annotation.PostMapping;
|
|||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.*;
|
||||
|
|
@ -54,6 +55,9 @@ public class PrimaryDataAppController {
|
|||
@Autowired
|
||||
private PrimaryDataAppService primaryDataAppService;
|
||||
|
||||
@Resource(name = "CreateSheetUtil")
|
||||
private CreateSheetUtil createSheetUtil;
|
||||
|
||||
/**
|
||||
* 根据关键词获取实验设备列表
|
||||
* @param data
|
||||
|
|
@ -128,7 +132,7 @@ public class PrimaryDataAppController {
|
|||
rowNum++;
|
||||
}
|
||||
sheet = handleNineRow(vo, sheet, commonStyle2, rowNum++, hbNum);
|
||||
sheet = handleTenRow(vo, sheet, commonStyle, rowNum++, hbNum);
|
||||
sheet = handleTenRow(wb,vo, sheet, commonStyle, rowNum++, hbNum);
|
||||
|
||||
// 将 Excel 文档写入字节数组
|
||||
ByteArrayOutputStream baos = new ByteArrayOutputStream();
|
||||
|
|
@ -227,7 +231,7 @@ public class PrimaryDataAppController {
|
|||
rowNum++;
|
||||
}
|
||||
sheet = handleNineRow(vo, sheet, commonStyle2, rowNum++, hbNum);
|
||||
sheet = handleTenRow(vo, sheet, commonStyle, rowNum++, hbNum);
|
||||
sheet = handleTenRow(wb,vo, sheet, commonStyle, rowNum++, hbNum);
|
||||
String fileName = SystemUtils.getUploadPath() + vo.getDevTypeName() + "检测原始记录_" + System.currentTimeMillis() + ".xlsx";
|
||||
File file = new File(fileName);
|
||||
//生成文件夹
|
||||
|
|
@ -661,17 +665,21 @@ public class PrimaryDataAppController {
|
|||
* @author cwchen
|
||||
* @date 2024/7/28 12:21
|
||||
*/
|
||||
private Sheet handleTenRow(TestVo vo, Sheet sheet, CellStyle commonStyle, int rowNum, int hbNum) {
|
||||
private Sheet handleTenRow(XSSFWorkbook workbook,TestVo vo, Sheet sheet, CellStyle commonStyle, int rowNum, int hbNum) {
|
||||
// 试验员、审核员
|
||||
Row checkRow = sheet.createRow(rowNum);
|
||||
checkRow.setHeight((short) 500);
|
||||
checkRow.setHeight((short) 800);
|
||||
int sharingNum = (hbNum - 2) / 2;
|
||||
checkRow.createCell(0).setCellValue("试验员:" + vo.getExperUserName());
|
||||
checkRow.createCell(sharingNum + 1).setCellValue("审核员:" + vo.getAuditUserName());
|
||||
checkRow.createCell(0).setCellValue("试验员:" );
|
||||
checkRow.createCell(1);
|
||||
createSheetUtil.handlePicture(workbook, sheet, checkRow, checkRow.getCell(1), vo.getSyUrl());
|
||||
checkRow.createCell(sharingNum + 1).setCellValue("审核员:" );
|
||||
checkRow.createCell(sharingNum + 2);
|
||||
createSheetUtil.handlePicture(workbook, sheet, checkRow, checkRow.getCell(sharingNum + 2), vo.getShUrl());
|
||||
// checkRow.createCell(hbNum - 1).setCellValue("第 页 共 页");
|
||||
checkRow.createCell(hbNum - 1).setCellValue("");
|
||||
sheet.addMergedRegion(new CellRangeAddress(checkRow.getRowNum(), checkRow.getRowNum(), 0, sharingNum));
|
||||
sheet.addMergedRegion(new CellRangeAddress(checkRow.getRowNum(), checkRow.getRowNum(), sharingNum + 1, hbNum - 2));
|
||||
sheet.addMergedRegion(new CellRangeAddress(checkRow.getRowNum(), checkRow.getRowNum(), 2, sharingNum));
|
||||
sheet.addMergedRegion(new CellRangeAddress(checkRow.getRowNum(), checkRow.getRowNum(), sharingNum + 3, hbNum - 2));
|
||||
sheet.addMergedRegion(new CellRangeAddress(checkRow.getRowNum(), checkRow.getRowNum(), hbNum - 1, hbNum));
|
||||
return sheet;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -264,13 +264,12 @@ public class SamplesManageAppController {
|
|||
* 上传用户签字图片
|
||||
*/
|
||||
@PostMapping(value = "uploadSign")
|
||||
@DecryptAndVerify(decryptedClass = UserDto.class)
|
||||
@LogAnnotation(operModul = "系统管理-个人信息管理", operation = "上传用户签字图片", operDesc = "系统级事件",operType="修改")
|
||||
public ServerResponse saveSignature(EncryptedReq<UserDto> data) {
|
||||
public ServerResponse saveSignature(UserDto data) {
|
||||
try {
|
||||
//获取登录人id
|
||||
Integer userId = Integer.parseInt(UserUtil.getLoginUser().getId().toString());
|
||||
byte[] imageBytes = Base64.decodeBase64(data.getData().getSignImg());
|
||||
byte[] imageBytes = Base64.decodeBase64(data.getSignImg());
|
||||
String fileName = "sign/"+System.currentTimeMillis()+".jpg";
|
||||
// 指定保存路径
|
||||
File outputFile = new File(SystemUtils.getUploadPath()+fileName);
|
||||
|
|
|
|||
|
|
@ -104,4 +104,13 @@ public interface PrimaryDataAppDao {
|
|||
* @date 2024/7/21 23:37
|
||||
*/
|
||||
List<ExperDevVo> getExperDev(ParamsDto dto);
|
||||
|
||||
/**
|
||||
* 获取审核员签名
|
||||
* @param id
|
||||
* @return String
|
||||
* @author cwchen
|
||||
* @date 2024/9/28 15:43
|
||||
*/
|
||||
String getSignUrl(Long id);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -85,6 +85,9 @@ public class PrimaryDataAppServiceImpl implements PrimaryDataAppService {
|
|||
}
|
||||
// 试验数据详情
|
||||
testVo = primaryDataAppDao.viewTestData(dto);
|
||||
// 获取审核员签名
|
||||
String shUrl = primaryDataAppDao.getSignUrl(dto.getId());
|
||||
testVo.setShUrl(shUrl);
|
||||
List<Long> numList = primaryDataAppDao.getRecordNum(testVo);
|
||||
int recordNum = 0;
|
||||
for (int i = 0; i < numList.size(); i++) {
|
||||
|
|
|
|||
|
|
@ -46,6 +46,9 @@ public class TestReportManageAppServiceImpl implements TestReportManageAppServic
|
|||
@Resource
|
||||
private TestReportManageAppDao testReportManageAppDao;
|
||||
|
||||
@Resource(name = "CreateSheetUtil")
|
||||
private CreateSheetUtil createSheetUtil;
|
||||
|
||||
/**
|
||||
* 查询列表
|
||||
* @param bean
|
||||
|
|
@ -261,322 +264,352 @@ public class TestReportManageAppServiceImpl implements TestReportManageAppServic
|
|||
* type 1:生成zip压缩包,2:生成base64
|
||||
*/
|
||||
public String generateReport(TestReportManageAppVo bean,Integer type) throws IOException {
|
||||
//先计算出总共有多少列和动态生成的有多少列
|
||||
//总列数
|
||||
int totalNum = 0;
|
||||
//动态生成的列数
|
||||
int trendsNum = 0;
|
||||
//获取所有检测项目
|
||||
List<ConfigItemsVo> configItemsVos = bean.getConfigItemsVos();
|
||||
for (ConfigItemsVo configItemsVo : configItemsVos){
|
||||
List<ConfigItemVo> itemList = configItemsVo.getItemList();
|
||||
trendsNum += itemList.size();
|
||||
}
|
||||
List<ExperBasisVo> basisVos = bean.getBasisVos();
|
||||
String yj="";
|
||||
for (int i = 0; i < basisVos.size(); i++){
|
||||
yj+=(i + 1)+"、"+basisVos.get(i).getBasisName() + "\n";
|
||||
}
|
||||
totalNum = trendsNum + 6;
|
||||
List<ExperDevVo> devList=bean.getExperDevVos();
|
||||
|
||||
|
||||
|
||||
XSSFWorkbook workbook = new XSSFWorkbook();
|
||||
Sheet sheet = workbook.createSheet("检测报告");
|
||||
|
||||
|
||||
// 创建样式
|
||||
XSSFCellStyle style = workbook.createCellStyle();
|
||||
style.setBorderTop(BorderStyle.THIN);
|
||||
style.setBorderBottom(BorderStyle.THIN);
|
||||
style.setBorderLeft(BorderStyle.THIN);
|
||||
style.setBorderRight(BorderStyle.THIN);
|
||||
style.setAlignment(HorizontalAlignment.CENTER);
|
||||
style.setVerticalAlignment(VerticalAlignment.CENTER);
|
||||
|
||||
// 设置每列的宽度为20个字符的宽度
|
||||
int widthInCharacters = 15;
|
||||
int columnCount = totalNum;
|
||||
|
||||
for (int i = 0; i < columnCount; i++) {
|
||||
// 1/256字符的宽度单位
|
||||
sheet.setColumnWidth(i, widthInCharacters * 256);
|
||||
}
|
||||
|
||||
//第一行
|
||||
Row row1 = sheet.createRow(0);
|
||||
//单元格-创建第一个头
|
||||
Cell cell11 = row1.createCell(0);
|
||||
cell11.setCellValue(bean.getSampleTools()+"检测报告附页");
|
||||
//合并全部列
|
||||
addMergedRegion(0,0,0,totalNum-1,sheet);
|
||||
// 应用边框到合并区域
|
||||
applyBordersToMergedRegion(sheet, new CellRangeAddress(0, 0, 0, totalNum-1), style);
|
||||
cell11.setCellStyle(style);
|
||||
|
||||
|
||||
//第二行
|
||||
Row row2 = sheet.createRow(1);
|
||||
Cell cell21 = row2.createCell(0);
|
||||
cell21.setCellValue("报告编号");
|
||||
cell21.setCellStyle(style);
|
||||
//计算占用行数
|
||||
int num21=(totalNum-4)/2;
|
||||
Cell cell22 = row2.createCell(1);
|
||||
addMergedRegion(1,1,1,num21,sheet);
|
||||
// 应用边框到合并区域
|
||||
applyBordersToMergedRegion(sheet, new CellRangeAddress(1, 1, 1, num21), style);
|
||||
cell22.setCellValue(bean.getReportCode());
|
||||
cell22.setCellStyle(style);
|
||||
|
||||
Cell cell23 = row2.createCell(num21+1);
|
||||
cell23.setCellValue("收样日期");
|
||||
cell23.setCellStyle(style);
|
||||
|
||||
Cell cell24 = row2.createCell(num21+2);
|
||||
cell24.setCellValue(bean.getCollectSamplesTime());
|
||||
addMergedRegion(1,1,num21+2,totalNum-3,sheet);
|
||||
// 应用边框到合并区域
|
||||
applyBordersToMergedRegion(sheet, new CellRangeAddress(1,1,num21+2,totalNum-3), style);
|
||||
cell24.setCellStyle(style);
|
||||
|
||||
Cell cell25 = row2.createCell(totalNum-2);
|
||||
cell25.setCellValue("样品数量");
|
||||
cell25.setCellStyle(style);
|
||||
|
||||
Cell cell26= row2.createCell(totalNum-1);
|
||||
cell26.setCellValue(bean.getDevNum());
|
||||
cell26.setCellStyle(style);
|
||||
|
||||
|
||||
//第三行
|
||||
Row row3 = sheet.createRow(2);
|
||||
Cell cell31 = row3.createCell(0);
|
||||
cell31.setCellValue("检测设备");
|
||||
cell31.setCellStyle(style);
|
||||
|
||||
Cell cell32 = row3.createCell(1);
|
||||
cell32.setCellValue(bean.getDevTypeName());
|
||||
cell32.setCellStyle(style);
|
||||
addMergedRegion(2,2,1,totalNum-1,sheet);
|
||||
// 应用边框到合并区域
|
||||
applyBordersToMergedRegion(sheet, new CellRangeAddress(2,2,1,totalNum-1), style);
|
||||
|
||||
|
||||
|
||||
//第四行
|
||||
Row row4= sheet.createRow(3);
|
||||
|
||||
Cell cell41 = row4.createCell(0);
|
||||
cell41.setCellValue("检测依据");
|
||||
cell41.setCellStyle(style);
|
||||
|
||||
Cell cell42 = row4.createCell(1);
|
||||
cell42.setCellValue(yj);
|
||||
cell42.setCellStyle(style);
|
||||
addMergedRegion(3,3,1,totalNum-1,sheet);
|
||||
// 应用边框到合并区域
|
||||
applyBordersToMergedRegion(sheet, new CellRangeAddress(3,3,1,totalNum-1), style);
|
||||
|
||||
//第5行 //第六行
|
||||
Row row5= sheet.createRow(4);
|
||||
Row row6= sheet.createRow(5);
|
||||
//第五行//第六号合并
|
||||
Cell cell51 = row5.createCell(0);
|
||||
cell51.setCellValue("序号");
|
||||
cell51.setCellStyle(style);
|
||||
addMergedRegion(4,5,0,0,sheet);
|
||||
// 应用边框到合并区域
|
||||
applyBordersToMergedRegion(sheet, new CellRangeAddress(4,5,0,0), style);
|
||||
|
||||
Cell cell52 = row5.createCell(1);
|
||||
cell52.setCellValue("样品编号");
|
||||
cell52.setCellStyle(style);
|
||||
addMergedRegion(4,5,1,1,sheet);
|
||||
//应用边框到合并区域
|
||||
applyBordersToMergedRegion(sheet, new CellRangeAddress(4,5,1,1), style);
|
||||
Cell cell53 = row5.createCell(2);
|
||||
cell53.setCellValue("样品信息");
|
||||
cell53.setCellStyle(style);
|
||||
addMergedRegion(4,4,2,5,sheet);
|
||||
//应用边框到合并区域
|
||||
applyBordersToMergedRegion(sheet, new CellRangeAddress(4,4,2,5), style);
|
||||
//第六行固定数据
|
||||
Cell cell62= row6.createCell(2);
|
||||
cell62.setCellStyle(style);
|
||||
cell62.setCellValue("客户自编号");
|
||||
Cell cell63 = row6.createCell(3);
|
||||
cell63.setCellStyle(style);
|
||||
cell63.setCellValue("生成厂家");
|
||||
Cell cell64 = row6.createCell(4);
|
||||
cell64.setCellStyle(style);
|
||||
cell64.setCellValue("生产日期");
|
||||
Cell cell65 = row6.createCell(5);
|
||||
cell65.setCellStyle(style);
|
||||
cell65.setCellValue("规格型号");
|
||||
|
||||
//第五第六号非固定数据
|
||||
AtomicInteger num= new AtomicInteger(5);
|
||||
AtomicInteger rowNums= new AtomicInteger(5);
|
||||
configItemsVos.forEach(vo->{
|
||||
List<ConfigItemVo> childList=vo.getItemList();
|
||||
int rowNum=childList.size();
|
||||
num.set(num.get() + 1);
|
||||
Cell cell54 = row5.createCell(num.get());
|
||||
cell54.setCellValue(vo.getExperTypeName());
|
||||
cell54.setCellStyle(style);
|
||||
addMergedRegion(4,4,num.get(),num.get()+rowNum-1,sheet);
|
||||
//应用边框到合并区域
|
||||
applyBordersToMergedRegion(sheet, new CellRangeAddress(4,4,num.get(),num.get()+rowNum-1), style);
|
||||
num.addAndGet(rowNum-1);
|
||||
childList.forEach(child->{
|
||||
rowNums.set(rowNums.get() + 1);
|
||||
Cell cell4 = row6.createCell(rowNums.get());
|
||||
cell4.setCellStyle(style);
|
||||
cell4.setCellValue(child.getItemName());
|
||||
});
|
||||
});
|
||||
|
||||
AtomicInteger row = new AtomicInteger(5);
|
||||
AtomicInteger cellNum = new AtomicInteger(0);
|
||||
// 用于追踪序号
|
||||
AtomicInteger serialNumber = new AtomicInteger(1);
|
||||
|
||||
if (ListHelper.isNotEmpty(devList)) {
|
||||
devList.forEach(dev -> {
|
||||
row.set(row.get() + 1);
|
||||
cellNum.set(0); // 每次处理新行时重置 cellNum
|
||||
|
||||
Row row7 = sheet.createRow(row.get());
|
||||
|
||||
// 创建序号列
|
||||
Cell row71 = row7.createCell(cellNum.get());
|
||||
row71.setCellValue(serialNumber.get()); // 设置序号
|
||||
row71.setCellStyle(style);
|
||||
cellNum.set(cellNum.get() + 1);
|
||||
|
||||
// 更新序号
|
||||
serialNumber.set(serialNumber.get() + 1);
|
||||
|
||||
// 处理其他列
|
||||
Cell row72 = row7.createCell(cellNum.get());
|
||||
row72.setCellValue(dev.getCustomerCode());
|
||||
row72.setCellStyle(style);
|
||||
cellNum.set(cellNum.get() + 1);
|
||||
|
||||
Cell row73 = row7.createCell(cellNum.get());
|
||||
row73.setCellValue(dev.getDevCode());
|
||||
row73.setCellStyle(style);
|
||||
cellNum.set(cellNum.get() + 1);
|
||||
|
||||
Cell row74 = row7.createCell(cellNum.get());
|
||||
row74.setCellValue(dev.getManufacturer());
|
||||
row74.setCellStyle(style);
|
||||
cellNum.set(cellNum.get() + 1);
|
||||
|
||||
Cell row75 = row7.createCell(cellNum.get());
|
||||
row75.setCellValue(dev.getManufactureDate());
|
||||
row75.setCellStyle(style);
|
||||
cellNum.set(cellNum.get() + 1);
|
||||
|
||||
Cell row76 = row7.createCell(cellNum.get());
|
||||
row76.setCellValue(dev.getDevModule());
|
||||
row76.setCellStyle(style);
|
||||
cellNum.set(cellNum.get() + 1);
|
||||
|
||||
String val = dev.getDevData();
|
||||
JSONArray jsonArray = JSON.parseArray(val);
|
||||
|
||||
jsonArray.forEach(json -> {
|
||||
Cell row77 = row7.createCell(cellNum.get());
|
||||
row77.setCellValue(json.toString());
|
||||
row77.setCellStyle(style);
|
||||
cellNum.set(cellNum.get() + 1);
|
||||
});
|
||||
});
|
||||
}
|
||||
row.set(row.get() + 1);
|
||||
Row row8= sheet.createRow(row.get());
|
||||
Cell cell81 = row8.createCell(0);
|
||||
cell81.setCellValue("技术要求");
|
||||
cell81.setCellStyle(style);
|
||||
|
||||
Cell cell82 = row8.createCell(1);
|
||||
cell82.setCellValue(bean.getExperStand());
|
||||
cell82.setCellStyle(style);
|
||||
addMergedRegion(row.get(),row.get(),1,totalNum-1,sheet);
|
||||
//应用边框到合并区域
|
||||
applyBordersToMergedRegion(sheet, new CellRangeAddress(row.get(),row.get(),1,totalNum-1), style);
|
||||
|
||||
|
||||
row.set(row.get() + 1);
|
||||
Row row9= sheet.createRow(row.get());
|
||||
|
||||
Cell cell91 = row9.createCell(0);
|
||||
cell91.setCellValue("检测结论");
|
||||
cell91.setCellStyle(style);
|
||||
|
||||
Cell cell92 = row9.createCell(1);
|
||||
cell92.setCellValue(bean.getExperConclu());
|
||||
cell92.setCellStyle(style);
|
||||
addMergedRegion(row.get(),row.get(),1,totalNum-1,sheet);
|
||||
//应用边框到合并区域
|
||||
applyBordersToMergedRegion(sheet, new CellRangeAddress(row.get(),row.get(),1,totalNum-1), style);
|
||||
|
||||
|
||||
row.set(row.get() + 1);
|
||||
Row row10= sheet.createRow(row.get());
|
||||
|
||||
Cell cell101 = row10.createCell(0);
|
||||
cell101.setCellValue("备注");
|
||||
cell101.setCellStyle(style);
|
||||
|
||||
Cell cell102 = row10.createCell(1);
|
||||
cell102.setCellValue(bean.getRemarks());
|
||||
cell102.setCellStyle(style);
|
||||
addMergedRegion(row.get(),row.get(),1,totalNum-1,sheet);
|
||||
//应用边框到合并区域
|
||||
applyBordersToMergedRegion(sheet, new CellRangeAddress(row.get(),row.get(),1,totalNum-1), style);
|
||||
|
||||
|
||||
row.set(row.get() + 1);
|
||||
Row row11= sheet.createRow(row.get());
|
||||
|
||||
Cell cell111 = row11.createCell(0);
|
||||
cell111.setCellValue("检测日期");
|
||||
cell111.setCellStyle(style);
|
||||
|
||||
Cell cell112 = row11.createCell(1);
|
||||
cell112.setCellValue(bean.getExperTime());
|
||||
cell112.setCellStyle(style);
|
||||
int num112=(totalNum-2)/2;
|
||||
addMergedRegion(row.get(),row.get(),1,num112,sheet);
|
||||
//应用边框到合并区域
|
||||
applyBordersToMergedRegion(sheet, new CellRangeAddress(row.get(),row.get(),1,num112), style);
|
||||
|
||||
Cell cell113 = row11.createCell(num112+1);
|
||||
cell113.setCellValue("下次检测日期");
|
||||
cell113.setCellStyle(style);
|
||||
|
||||
Cell cell114= row11.createCell(num112+2);
|
||||
cell114.setCellValue(bean.getNextExperTime());
|
||||
cell114.setCellStyle(style);
|
||||
addMergedRegion(row.get(),row.get(),num112+2,totalNum-1,sheet);
|
||||
//应用边框到合并区域
|
||||
applyBordersToMergedRegion(sheet, new CellRangeAddress(row.get(),row.get(),num112+2,totalNum-1), style);
|
||||
|
||||
|
||||
if (type==1){
|
||||
String fileName =SystemUtils.getUploadPath() + "检测报告_" + bean.getReportCode() + "_"+DateTimeHelper.getNowDMS()+".xlsx";
|
||||
File file = new File(fileName);
|
||||
//生成文件夹
|
||||
if (!file.getParentFile().exists()) {
|
||||
file.getParentFile().mkdirs();
|
||||
try {
|
||||
//先计算出总共有多少列和动态生成的有多少列
|
||||
//总列数
|
||||
int totalNum = 0;
|
||||
//动态生成的列数
|
||||
int trendsNum = 0;
|
||||
//获取所有检测项目
|
||||
List<ConfigItemsVo> configItemsVos = bean.getConfigItemsVos();
|
||||
for (ConfigItemsVo configItemsVo : configItemsVos){
|
||||
List<ConfigItemVo> itemList = configItemsVo.getItemList();
|
||||
trendsNum += itemList.size();
|
||||
}
|
||||
FileOutputStream fos = new FileOutputStream(file);
|
||||
workbook.write(fos);
|
||||
return fileName;
|
||||
List<ExperBasisVo> basisVos = bean.getBasisVos();
|
||||
String yj="";
|
||||
for (int i = 0; i < basisVos.size(); i++){
|
||||
yj+=(i + 1)+"、"+basisVos.get(i).getBasisName() + "\n";
|
||||
}
|
||||
totalNum = trendsNum + 6;
|
||||
List<ExperDevVo> devList=bean.getExperDevVos();
|
||||
|
||||
XSSFWorkbook workbook = new XSSFWorkbook();
|
||||
// Sheet sheet = workbook.createSheet("检测报告");
|
||||
/*******处理检测报告start******/
|
||||
// 模板xlsx文件
|
||||
XSSFWorkbook wb = null;
|
||||
InputStream inputSteam = createSheetUtil.getInputSteam();
|
||||
if(inputSteam!=null){
|
||||
wb = new XSSFWorkbook(inputSteam);
|
||||
}
|
||||
Sheet oneSheet = null,twoSheet = null,sheet = null,fourSheet = null;
|
||||
if(wb!=null){
|
||||
sheet = wb.createSheet();
|
||||
wb.removeSheetAt(2);
|
||||
wb.setSheetName(3, bean.getSampleTools());
|
||||
wb.cloneSheet(2);
|
||||
wb.removeSheetAt(2);
|
||||
wb.setSheetName(3, "封底");
|
||||
createSheetUtil.handleOneSheetDataApp(wb.getSheetAt(0),bean);
|
||||
createSheetUtil.handleTwoSheetDataApp(wb,wb.getSheetAt(1),bean);
|
||||
}else{
|
||||
oneSheet = workbook.createSheet();
|
||||
twoSheet = workbook.createSheet();
|
||||
sheet = workbook.createSheet();
|
||||
fourSheet = workbook.createSheet();
|
||||
workbook.setSheetName(0, "封页1");
|
||||
workbook.setSheetName(1, "封页2");
|
||||
workbook.setSheetName(2, bean.getSampleTools());
|
||||
workbook.setSheetName(3, "封底");
|
||||
}
|
||||
/*******处理检测报告end******/
|
||||
|
||||
// 创建样式
|
||||
XSSFCellStyle style = wb !=null?wb.createCellStyle():workbook.createCellStyle();
|
||||
style.setBorderTop(BorderStyle.THIN);
|
||||
style.setBorderBottom(BorderStyle.THIN);
|
||||
style.setBorderLeft(BorderStyle.THIN);
|
||||
style.setBorderRight(BorderStyle.THIN);
|
||||
style.setAlignment(HorizontalAlignment.CENTER);
|
||||
style.setVerticalAlignment(VerticalAlignment.CENTER);
|
||||
|
||||
// 设置每列的宽度为20个字符的宽度
|
||||
int widthInCharacters = 15;
|
||||
int columnCount = totalNum;
|
||||
|
||||
for (int i = 0; i < columnCount; i++) {
|
||||
// 1/256字符的宽度单位
|
||||
sheet.setColumnWidth(i, widthInCharacters * 256);
|
||||
}
|
||||
|
||||
//第一行
|
||||
Row row1 = sheet.createRow(0);
|
||||
//单元格-创建第一个头
|
||||
Cell cell11 = row1.createCell(0);
|
||||
cell11.setCellValue(bean.getSampleTools()+"检测报告附页");
|
||||
//合并全部列
|
||||
addMergedRegion(0,0,0,totalNum-1,sheet);
|
||||
// 应用边框到合并区域
|
||||
applyBordersToMergedRegion(sheet, new CellRangeAddress(0, 0, 0, totalNum-1), style);
|
||||
cell11.setCellStyle(style);
|
||||
|
||||
|
||||
//第二行
|
||||
Row row2 = sheet.createRow(1);
|
||||
Cell cell21 = row2.createCell(0);
|
||||
cell21.setCellValue("报告编号");
|
||||
cell21.setCellStyle(style);
|
||||
//计算占用行数
|
||||
int num21=(totalNum-4)/2;
|
||||
Cell cell22 = row2.createCell(1);
|
||||
addMergedRegion(1,1,1,num21,sheet);
|
||||
// 应用边框到合并区域
|
||||
applyBordersToMergedRegion(sheet, new CellRangeAddress(1, 1, 1, num21), style);
|
||||
cell22.setCellValue(bean.getReportCode());
|
||||
cell22.setCellStyle(style);
|
||||
|
||||
Cell cell23 = row2.createCell(num21+1);
|
||||
cell23.setCellValue("收样日期");
|
||||
cell23.setCellStyle(style);
|
||||
|
||||
Cell cell24 = row2.createCell(num21+2);
|
||||
cell24.setCellValue(bean.getCollectSamplesTime());
|
||||
addMergedRegion(1,1,num21+2,totalNum-3,sheet);
|
||||
// 应用边框到合并区域
|
||||
applyBordersToMergedRegion(sheet, new CellRangeAddress(1,1,num21+2,totalNum-3), style);
|
||||
cell24.setCellStyle(style);
|
||||
|
||||
Cell cell25 = row2.createCell(totalNum-2);
|
||||
cell25.setCellValue("样品数量");
|
||||
cell25.setCellStyle(style);
|
||||
|
||||
Cell cell26= row2.createCell(totalNum-1);
|
||||
cell26.setCellValue(bean.getDevNum());
|
||||
cell26.setCellStyle(style);
|
||||
|
||||
|
||||
//第三行
|
||||
Row row3 = sheet.createRow(2);
|
||||
Cell cell31 = row3.createCell(0);
|
||||
cell31.setCellValue("检测设备");
|
||||
cell31.setCellStyle(style);
|
||||
|
||||
Cell cell32 = row3.createCell(1);
|
||||
cell32.setCellValue(bean.getDevTypeName());
|
||||
cell32.setCellStyle(style);
|
||||
addMergedRegion(2,2,1,totalNum-1,sheet);
|
||||
// 应用边框到合并区域
|
||||
applyBordersToMergedRegion(sheet, new CellRangeAddress(2,2,1,totalNum-1), style);
|
||||
|
||||
|
||||
//第四行
|
||||
Row row4= sheet.createRow(3);
|
||||
|
||||
Cell cell41 = row4.createCell(0);
|
||||
cell41.setCellValue("检测依据");
|
||||
cell41.setCellStyle(style);
|
||||
|
||||
Cell cell42 = row4.createCell(1);
|
||||
cell42.setCellValue(yj);
|
||||
cell42.setCellStyle(style);
|
||||
addMergedRegion(3,3,1,totalNum-1,sheet);
|
||||
// 应用边框到合并区域
|
||||
applyBordersToMergedRegion(sheet, new CellRangeAddress(3,3,1,totalNum-1), style);
|
||||
|
||||
//第5行 //第六行
|
||||
Row row5= sheet.createRow(4);
|
||||
Row row6= sheet.createRow(5);
|
||||
//第五行//第六号合并
|
||||
Cell cell51 = row5.createCell(0);
|
||||
cell51.setCellValue("序号");
|
||||
cell51.setCellStyle(style);
|
||||
addMergedRegion(4,5,0,0,sheet);
|
||||
// 应用边框到合并区域
|
||||
applyBordersToMergedRegion(sheet, new CellRangeAddress(4,5,0,0), style);
|
||||
|
||||
Cell cell52 = row5.createCell(1);
|
||||
cell52.setCellValue("样品编号");
|
||||
cell52.setCellStyle(style);
|
||||
addMergedRegion(4,5,1,1,sheet);
|
||||
//应用边框到合并区域
|
||||
applyBordersToMergedRegion(sheet, new CellRangeAddress(4,5,1,1), style);
|
||||
Cell cell53 = row5.createCell(2);
|
||||
cell53.setCellValue("样品信息");
|
||||
cell53.setCellStyle(style);
|
||||
addMergedRegion(4,4,2,5,sheet);
|
||||
//应用边框到合并区域
|
||||
applyBordersToMergedRegion(sheet, new CellRangeAddress(4,4,2,5), style);
|
||||
//第六行固定数据
|
||||
Cell cell62= row6.createCell(2);
|
||||
cell62.setCellStyle(style);
|
||||
cell62.setCellValue("客户自编号");
|
||||
Cell cell63 = row6.createCell(3);
|
||||
cell63.setCellStyle(style);
|
||||
cell63.setCellValue("生成厂家");
|
||||
Cell cell64 = row6.createCell(4);
|
||||
cell64.setCellStyle(style);
|
||||
cell64.setCellValue("生产日期");
|
||||
Cell cell65 = row6.createCell(5);
|
||||
cell65.setCellStyle(style);
|
||||
cell65.setCellValue("规格型号");
|
||||
|
||||
//第五第六号非固定数据
|
||||
AtomicInteger num= new AtomicInteger(5);
|
||||
AtomicInteger rowNums= new AtomicInteger(5);
|
||||
for (ConfigItemsVo vo : configItemsVos) {
|
||||
List<ConfigItemVo> childList=vo.getItemList();
|
||||
int rowNum=childList.size();
|
||||
num.set(num.get() + 1);
|
||||
Cell cell54 = row5.createCell(num.get());
|
||||
cell54.setCellValue(vo.getExperTypeName());
|
||||
cell54.setCellStyle(style);
|
||||
addMergedRegion(4,4,num.get(),num.get()+rowNum-1,sheet);
|
||||
//应用边框到合并区域
|
||||
applyBordersToMergedRegion(sheet, new CellRangeAddress(4,4,num.get(),num.get()+rowNum-1), style);
|
||||
num.addAndGet(rowNum-1);
|
||||
childList.forEach(child->{
|
||||
rowNums.set(rowNums.get() + 1);
|
||||
Cell cell4 = row6.createCell(rowNums.get());
|
||||
cell4.setCellStyle(style);
|
||||
cell4.setCellValue(child.getItemName());
|
||||
});
|
||||
}
|
||||
|
||||
AtomicInteger row = new AtomicInteger(5);
|
||||
AtomicInteger cellNum = new AtomicInteger(0);
|
||||
AtomicInteger serialNumber = new AtomicInteger(1); // 用于追踪序号
|
||||
|
||||
if (ListHelper.isNotEmpty(devList)) {
|
||||
for (ExperDevVo dev : devList) {
|
||||
row.set(row.get() + 1);
|
||||
cellNum.set(0); // 每次处理新行时重置 cellNum
|
||||
|
||||
Row row7 = sheet.createRow(row.get());
|
||||
|
||||
// 创建序号列
|
||||
Cell row71 = row7.createCell(cellNum.get());
|
||||
row71.setCellValue(serialNumber.get()); // 设置序号
|
||||
row71.setCellStyle(style);
|
||||
cellNum.set(cellNum.get() + 1);
|
||||
|
||||
// 更新序号
|
||||
serialNumber.set(serialNumber.get() + 1);
|
||||
|
||||
// 处理其他列
|
||||
Cell row72 = row7.createCell(cellNum.get());
|
||||
row72.setCellValue(dev.getCustomerCode());
|
||||
row72.setCellStyle(style);
|
||||
cellNum.set(cellNum.get() + 1);
|
||||
|
||||
Cell row73 = row7.createCell(cellNum.get());
|
||||
row73.setCellValue(dev.getDevCode());
|
||||
row73.setCellStyle(style);
|
||||
cellNum.set(cellNum.get() + 1);
|
||||
|
||||
Cell row74 = row7.createCell(cellNum.get());
|
||||
row74.setCellValue(dev.getManufacturer());
|
||||
row74.setCellStyle(style);
|
||||
cellNum.set(cellNum.get() + 1);
|
||||
|
||||
Cell row75 = row7.createCell(cellNum.get());
|
||||
row75.setCellValue(dev.getManufactureDate());
|
||||
row75.setCellStyle(style);
|
||||
cellNum.set(cellNum.get() + 1);
|
||||
|
||||
Cell row76 = row7.createCell(cellNum.get());
|
||||
row76.setCellValue(dev.getDevModule());
|
||||
row76.setCellStyle(style);
|
||||
cellNum.set(cellNum.get() + 1);
|
||||
|
||||
String val = dev.getDevData();
|
||||
JSONArray jsonArray = JSON.parseArray(val);
|
||||
|
||||
jsonArray.forEach(json -> {
|
||||
Cell row77 = row7.createCell(cellNum.get());
|
||||
row77.setCellValue(json.toString());
|
||||
row77.setCellStyle(style);
|
||||
cellNum.set(cellNum.get() + 1);
|
||||
});
|
||||
}
|
||||
}
|
||||
//
|
||||
row.set(row.get() + 1);
|
||||
Row row8= sheet.createRow(row.get());
|
||||
Cell cell81 = row8.createCell(0);
|
||||
cell81.setCellValue("技术要求");
|
||||
cell81.setCellStyle(style);
|
||||
|
||||
Cell cell82 = row8.createCell(1);
|
||||
cell82.setCellValue(bean.getExperStand());
|
||||
cell82.setCellStyle(style);
|
||||
addMergedRegion(row.get(),row.get(),1,totalNum-1,sheet);
|
||||
//应用边框到合并区域
|
||||
applyBordersToMergedRegion(sheet, new CellRangeAddress(row.get(),row.get(),1,totalNum-1), style);
|
||||
|
||||
|
||||
row.set(row.get() + 1);
|
||||
Row row9= sheet.createRow(row.get());
|
||||
|
||||
Cell cell91 = row9.createCell(0);
|
||||
cell91.setCellValue("检测结论");
|
||||
cell91.setCellStyle(style);
|
||||
|
||||
Cell cell92 = row9.createCell(1);
|
||||
cell92.setCellValue(bean.getExperConclu());
|
||||
cell92.setCellStyle(style);
|
||||
addMergedRegion(row.get(),row.get(),1,totalNum-1,sheet);
|
||||
//应用边框到合并区域
|
||||
applyBordersToMergedRegion(sheet, new CellRangeAddress(row.get(),row.get(),1,totalNum-1), style);
|
||||
|
||||
|
||||
row.set(row.get() + 1);
|
||||
Row row10= sheet.createRow(row.get());
|
||||
|
||||
Cell cell101 = row10.createCell(0);
|
||||
cell101.setCellValue("备注");
|
||||
cell101.setCellStyle(style);
|
||||
|
||||
Cell cell102 = row10.createCell(1);
|
||||
cell102.setCellValue(bean.getRemarks());
|
||||
cell102.setCellStyle(style);
|
||||
addMergedRegion(row.get(),row.get(),1,totalNum-1,sheet);
|
||||
//应用边框到合并区域
|
||||
applyBordersToMergedRegion(sheet, new CellRangeAddress(row.get(),row.get(),1,totalNum-1), style);
|
||||
|
||||
|
||||
row.set(row.get() + 1);
|
||||
Row row11= sheet.createRow(row.get());
|
||||
|
||||
Cell cell111 = row11.createCell(0);
|
||||
cell111.setCellValue("检测日期");
|
||||
cell111.setCellStyle(style);
|
||||
|
||||
Cell cell112 = row11.createCell(1);
|
||||
cell112.setCellValue(bean.getExperTime());
|
||||
cell112.setCellStyle(style);
|
||||
int num112=(totalNum-2)/2;
|
||||
addMergedRegion(row.get(),row.get(),1,num112,sheet);
|
||||
//应用边框到合并区域
|
||||
applyBordersToMergedRegion(sheet, new CellRangeAddress(row.get(),row.get(),1,num112), style);
|
||||
|
||||
Cell cell113 = row11.createCell(num112+1);
|
||||
cell113.setCellValue("下次检测日期");
|
||||
cell113.setCellStyle(style);
|
||||
|
||||
Cell cell114= row11.createCell(num112+2);
|
||||
cell114.setCellValue(bean.getNextExperTime());
|
||||
cell114.setCellStyle(style);
|
||||
addMergedRegion(row.get(),row.get(),num112+2,totalNum-1,sheet);
|
||||
//应用边框到合并区域
|
||||
applyBordersToMergedRegion(sheet, new CellRangeAddress(row.get(),row.get(),num112+2,totalNum-1), style);
|
||||
|
||||
|
||||
|
||||
if (type==1){
|
||||
String fileName =SystemUtils.getUploadPath() + "检测报告_" + bean.getReportCode() + "_"+DateTimeHelper.getNowDMS()+".xlsx";
|
||||
File file = new File(fileName);
|
||||
//生成文件夹
|
||||
if (!file.getParentFile().exists()) {
|
||||
file.getParentFile().mkdirs();
|
||||
}
|
||||
FileOutputStream fos = new FileOutputStream(file);
|
||||
if (wb!=null){
|
||||
wb.write(fos);
|
||||
} else {
|
||||
workbook.write(fos);
|
||||
}
|
||||
return fileName;
|
||||
|
||||
|
||||
// // 保存到 ZIP 文件
|
||||
|
|
@ -592,18 +625,28 @@ public class TestReportManageAppServiceImpl implements TestReportManageAppServic
|
|||
// zos.closeEntry();
|
||||
// workbook.close();
|
||||
// return null;
|
||||
}else {
|
||||
// 将 Excel 文档写入字节数组
|
||||
ByteArrayOutputStream baos = new ByteArrayOutputStream();
|
||||
workbook.write(baos);
|
||||
baos.close();
|
||||
byte[] excelBytes = baos.toByteArray();
|
||||
}else {
|
||||
// 将 Excel 文档写入字节数组
|
||||
ByteArrayOutputStream baos = new ByteArrayOutputStream();
|
||||
if (wb!=null){
|
||||
wb.write(baos);
|
||||
} else {
|
||||
workbook.write(baos);
|
||||
}
|
||||
baos.close();
|
||||
byte[] excelBytes = baos.toByteArray();
|
||||
|
||||
// 将字节数组编码为 Base64 字符串
|
||||
String base64Excel = Base64.getEncoder().encodeToString(excelBytes);
|
||||
// 返回 Base64 字符串
|
||||
return base64Excel;
|
||||
// 将字节数组编码为 Base64 字符串
|
||||
String base64Excel = Base64.getEncoder().encodeToString(excelBytes);
|
||||
// 返回 Base64 字符串
|
||||
return base64Excel;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
log.error(e.toString(),e);
|
||||
}
|
||||
return "";
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -118,6 +118,68 @@ public class CreateSheetUtil {
|
|||
handlePicture(workbook, sheet, sheet.getRow(21), cell13, handleValue(dataMap.get("shUrl")));
|
||||
}
|
||||
|
||||
public void handleOneSheetDataApp(Sheet sheet, TestReportManageAppVo vo) {
|
||||
Cell cell = sheet.getRow(2).getCell(0);
|
||||
Cell cell2 = sheet.getRow(9).getCell(2);
|
||||
Cell cell3 = sheet.getRow(13).getCell(2);
|
||||
cell.setCellValue("");
|
||||
cell2.setCellValue(vo.getSampleTools());
|
||||
cell3.setCellValue("");
|
||||
// System.err.println("数据:" + cell.getStringCellValue());
|
||||
/*for (Row row : sheet) {
|
||||
|
||||
for (Cell cell : row) {
|
||||
System.err.println(row.getRowNum()+"列:"+cell.getColumnIndex()+"数据:"+cell.getStringCellValue());
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
public void handleTwoSheetDataApp(XSSFWorkbook workbook, Sheet sheet, TestReportManageAppVo vo) {
|
||||
/*for (Row row : sheet) {
|
||||
for (Cell cells : row) {
|
||||
System.err.println(row.getRowNum() + "列:" + cells.getColumnIndex() + "数据:" + cells.getStringCellValue());
|
||||
}
|
||||
}*/
|
||||
Map<String, String> dataMap = getBasicData(Long.parseLong(vo.getId() + ""));
|
||||
// 委托单位
|
||||
Cell cell = sheet.getRow(8).getCell(2);
|
||||
cell.setCellValue(handleValue(dataMap.get("customName")));
|
||||
// 委托单位地址
|
||||
Cell cell2 = sheet.getRow(9).getCell(2);
|
||||
cell2.setCellValue("");
|
||||
// 样品名称
|
||||
Cell cell3 = sheet.getRow(11).getCell(2);
|
||||
cell3.setCellValue(vo.getSampleTools());
|
||||
// 样品特性和状态
|
||||
Cell cell4 = sheet.getRow(13).getCell(6);
|
||||
// 到样日期
|
||||
Cell cell5 = sheet.getRow(14).getCell(2);
|
||||
cell5.setCellValue(vo.getCollectSamplesTime().replaceAll("-", "."));
|
||||
// 检测日期
|
||||
Cell cell6 = sheet.getRow(14).getCell(6);
|
||||
cell6.setCellValue(vo.getExperTime().replaceAll("-", "."));
|
||||
// 样品数量
|
||||
Cell cell7 = sheet.getRow(15).getCell(6);
|
||||
cell7.setCellValue(vo.getDevNum() + "");
|
||||
// 检测依据
|
||||
Cell cell8 = sheet.getRow(16).getCell(2);
|
||||
cell8.setCellValue(handleBasisApp(vo));
|
||||
// 检测结论 审核人
|
||||
Cell cell9 = sheet.getRow(17).getCell(2);
|
||||
cell9.setCellValue(cell9.getStringCellValue().replace("该样品按DL/T 976-2017标准所检项目合格。", handleValue(vo.getExperConclu())));
|
||||
handlePicture(workbook, sheet, sheet.getRow(18), sheet.getRow(18).getCell(3), handleValue(dataMap.get("pzUrl")));
|
||||
// 备注
|
||||
Cell cell10 = sheet.getRow(19).getCell(2);
|
||||
cell10.setCellValue(handleValue(vo.getRemarks()));
|
||||
// 主检人 编制人 审核人
|
||||
Cell cell11 = sheet.getRow(21).getCell(2);
|
||||
Cell cell12 = sheet.getRow(21).getCell(4);
|
||||
Cell cell13 = sheet.getRow(21).getCell(6);
|
||||
handlePicture(workbook, sheet, sheet.getRow(21), cell11, handleValue(dataMap.get("zjUrl")));
|
||||
handlePicture(workbook, sheet, sheet.getRow(21), cell12, handleValue(dataMap.get("bzUrl")));
|
||||
handlePicture(workbook, sheet, sheet.getRow(21), cell13, handleValue(dataMap.get("shUrl")));
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置检测依据值
|
||||
*
|
||||
|
|
@ -143,6 +205,23 @@ public class CreateSheetUtil {
|
|||
return "";
|
||||
}
|
||||
|
||||
public static String handleBasisApp(TestReportManageAppVo dto) {
|
||||
List<ExperBasisVo> basisVos = dto.getBasisVos();
|
||||
if (CollectionUtils.isNotEmpty(basisVos)) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
for (int i = 0; i < basisVos.size(); i++) {
|
||||
ExperBasisVo basisVo = basisVos.get(i);
|
||||
if (i == basisVos.size() - 1) {
|
||||
sb.append((i + 1)).append("、").append(basisVo.getBasisName());
|
||||
} else {
|
||||
sb.append((i + 1)).append("、").append(basisVo.getBasisName()).append("\n");
|
||||
}
|
||||
}
|
||||
return sb.toString();
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
public void handlePicture(XSSFWorkbook workbook, Sheet sheet, Row row, Cell cell, String filePath) {
|
||||
if (!new File(uploadPath + filePath).exists()) {
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -163,4 +163,12 @@
|
|||
WHERE exper_id = #{id}
|
||||
ORDER BY id
|
||||
</select>
|
||||
<select id="getSignUrl" resultType="java.lang.String">
|
||||
SELECT IFNULL(su.sign_img,'')
|
||||
FROM tb_audit_history tah
|
||||
LEFT JOIN sys_user su ON tah.audit_user_id = su.id
|
||||
WHERE tah.exper_id = #{id} AND tah.audit_status = 1 AND tah.audit_type = 2
|
||||
ORDER BY audit_time DESC
|
||||
LIMIT 1
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
@ -186,7 +186,7 @@ function getReqParams(page, limit, type) {
|
|||
var selectedValue =$('#sampleTools').val()
|
||||
// 2. 查找对应的选项文本
|
||||
var selectedText = $('#sampleTools option[value="' + selectedValue + '"]').text();
|
||||
if (selectedText=='请选择设备类型'){
|
||||
if (selectedText=='请选择样品类型'){
|
||||
selectedText=''
|
||||
}
|
||||
let obj = {};
|
||||
|
|
|
|||
|
|
@ -262,7 +262,7 @@ function getReqParams(page, limit, type) {
|
|||
var selectedValue =$('#sampleTools').val()
|
||||
// 2. 查找对应的选项文本
|
||||
var selectedText = $('#sampleTools option[value="' + selectedValue + '"]').text();
|
||||
if (selectedText=='请选择设备类型'){
|
||||
if (selectedText=='请选择样品类型'){
|
||||
selectedText=''
|
||||
}
|
||||
let obj = {};
|
||||
|
|
|
|||
|
|
@ -167,7 +167,7 @@ function getReqParams(page, limit, type) {
|
|||
var selectedValue =$('#sampleTools').val()
|
||||
// 2. 查找对应的选项文本
|
||||
var selectedText = $('#sampleTools option[value="' + selectedValue + '"]').text();
|
||||
if (selectedText=='请选择设备类型'){
|
||||
if (selectedText=='请选择样品类型'){
|
||||
selectedText=''
|
||||
}
|
||||
let obj = {};
|
||||
|
|
|
|||
|
|
@ -351,7 +351,7 @@ function getReqParams(page, limit, type) {
|
|||
var selectedValue =$('#sampleTools').val()
|
||||
// 2. 查找对应的选项文本
|
||||
var selectedText = $('#sampleTools option[value="' + selectedValue + '"]').text();
|
||||
if (selectedText=='请选择设备类型'){
|
||||
if (selectedText=='请选择样品类型'){
|
||||
selectedText=''
|
||||
}
|
||||
let obj = {};
|
||||
|
|
|
|||
|
|
@ -51,7 +51,6 @@
|
|||
}
|
||||
.modal-content img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
object-fit: contain; /* 或者使用 'cover' 根据需要 */
|
||||
}
|
||||
</style>
|
||||
|
|
|
|||
Loading…
Reference in New Issue