添加一键导出功能及预览学生文件功能
This commit is contained in:
parent
d3e45d82e0
commit
32bfcc1dd6
|
@ -2,6 +2,13 @@ package org.jeecg.modules.demo.downKccldbxz.service.impl;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import org.apache.commons.lang.StringUtils;
|
import org.apache.commons.lang.StringUtils;
|
||||||
|
import org.apache.poi.ss.usermodel.*;
|
||||||
|
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||||
|
import org.apache.shiro.SecurityUtils;
|
||||||
|
import org.jeecg.common.system.query.QueryGenerator;
|
||||||
|
import org.jeecg.common.system.vo.LoginUser;
|
||||||
|
import org.jeecg.common.util.oConvertUtils;
|
||||||
|
import org.jeecg.config.JeecgBaseConfig;
|
||||||
import org.jeecg.modules.demo.downKccldbxz.entity.DownKccldbxz;
|
import org.jeecg.modules.demo.downKccldbxz.entity.DownKccldbxz;
|
||||||
import org.jeecg.modules.demo.downKccldbxz.mapper.DownKccldbxzMapper;
|
import org.jeecg.modules.demo.downKccldbxz.mapper.DownKccldbxzMapper;
|
||||||
import org.jeecg.modules.demo.downKccldbxz.service.IDownKccldbxzService;
|
import org.jeecg.modules.demo.downKccldbxz.service.IDownKccldbxzService;
|
||||||
|
@ -10,18 +17,28 @@ import org.jeecg.modules.demo.xxhbjwxtjxrw.entity.Xxhbjwxtjxrw;
|
||||||
import org.jeecg.modules.demo.xxhbjwxtjxrw.service.IXxhbjwxtjxrwService;
|
import org.jeecg.modules.demo.xxhbjwxtjxrw.service.IXxhbjwxtjxrwService;
|
||||||
import org.jeecg.modules.demo.xxhbjwxtscwjxx.entity.Xxhbjwxtscwjxx;
|
import org.jeecg.modules.demo.xxhbjwxtscwjxx.entity.Xxhbjwxtscwjxx;
|
||||||
import org.jeecg.modules.demo.xxhbjwxtscwjxx.service.IXxhbjwxtscwjxxService;
|
import org.jeecg.modules.demo.xxhbjwxtscwjxx.service.IXxhbjwxtscwjxxService;
|
||||||
|
import org.jeecg.modules.demo.xxhbjwxtxsmd.entity.Xxhbjwxtxsmd;
|
||||||
|
import org.jeecg.modules.demo.xxhbjwxtxsmd.service.IXxhbjwxtxsmdService;
|
||||||
import org.jeecg.modules.utils.SFTPUtil;
|
import org.jeecg.modules.utils.SFTPUtil;
|
||||||
import org.jeecg.modules.utils.SftpConfig;
|
import org.jeecg.modules.utils.SftpConfig;
|
||||||
|
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
|
||||||
|
import org.jeecgframework.poi.excel.entity.ExportParams;
|
||||||
|
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import org.springframework.web.servlet.ModelAndView;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileInputStream;
|
import java.io.FileInputStream;
|
||||||
import java.io.FileOutputStream;
|
import java.io.FileOutputStream;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.zip.ZipEntry;
|
import java.util.zip.ZipEntry;
|
||||||
|
@ -42,9 +59,15 @@ public class DownKccldbxzServiceImpl extends ServiceImpl<DownKccldbxzMapper, Dow
|
||||||
@Autowired
|
@Autowired
|
||||||
private IXxhbjwxtscwjxxService xxhbjwxtscwjxxService;
|
private IXxhbjwxtscwjxxService xxhbjwxtscwjxxService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private IXxhbjwxtxsmdService xxhbjwxtxsmdService;
|
||||||
|
|
||||||
@Value(value = "${jeecg.path.upload}")
|
@Value(value = "${jeecg.path.upload}")
|
||||||
private String downloadpath;
|
private String downloadpath;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private JeecgBaseConfig jeecgBaseConfig;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
SftpConfig sftpConfig;
|
SftpConfig sftpConfig;
|
||||||
@Override
|
@Override
|
||||||
|
@ -88,21 +111,21 @@ public class DownKccldbxzServiceImpl extends ServiceImpl<DownKccldbxzMapper, Dow
|
||||||
|
|
||||||
QueryWrapper<Xxhbjwxtscwjxx> xxhbjwxtscwQueryWrapper = new QueryWrapper<>();
|
QueryWrapper<Xxhbjwxtscwjxx> xxhbjwxtscwQueryWrapper = new QueryWrapper<>();
|
||||||
xxhbjwxtscwQueryWrapper.eq("kcrwdm",item.getKcrwdm());
|
xxhbjwxtscwQueryWrapper.eq("kcrwdm",item.getKcrwdm());
|
||||||
String type = "bl0-pfbz,bl0-zyyq,bl1-pfbz,bl0-zyyq,bl2-pfbz,bl0-zyyq,bl3-pfbz,bl0-zyyq,bl4-pfbz,bl0-zyyq,bl5-pfbz,bl0-zyyq,qt-01,qt-02,qt-03,qt-04,qt-05,qt-06,qt-07,qt-08";
|
|
||||||
xxhbjwxtscwQueryWrapper.in("type",type.split(","));
|
|
||||||
List<Xxhbjwxtscwjxx> list2 = xxhbjwxtscwjxxService.list(xxhbjwxtscwQueryWrapper);
|
List<Xxhbjwxtscwjxx> list2 = xxhbjwxtscwjxxService.list(xxhbjwxtscwQueryWrapper);
|
||||||
|
String downPath = getDownloadPath("downloadTemp/"+ finalTitle+"/"+item.getKcmc()+"/"+item.getTeaxm());
|
||||||
|
//下载所有的文件信心
|
||||||
list2.forEach(item2->{
|
list2.forEach(item2->{
|
||||||
sfysj[0] = "1";
|
sfysj[0] = "1";
|
||||||
String imgPath = item2.getPath();
|
String imgPath = item2.getPath();
|
||||||
String path = "downloadTemp/"+ finalTitle+"/"+item.getKcmc()+"/"+item.getTeaxm();
|
String imgArrPath[] = imgPath.split("/");
|
||||||
|
String path = downPath+"/"+imgArrPath[imgArrPath.length-2];
|
||||||
|
|
||||||
|
|
||||||
Map<String,String> map = SFTPUtil.download(sftpConfig,imgPath,getDownloadPath(path));
|
Map<String,String> map = SFTPUtil.download(sftpConfig,imgPath,getDownloadPath(path));
|
||||||
|
|
||||||
String localFilePath = map.get("fileName");
|
String localFilePath = map.get("fileName");
|
||||||
System.out.println("------------------------>" + localFilePath);
|
System.out.println("------------------------>" + localFilePath);
|
||||||
});
|
});
|
||||||
|
//生产excle
|
||||||
|
String directoryPath = downPath;
|
||||||
|
exportXls(item, getDownloadPath(directoryPath), "学生成绩");
|
||||||
});
|
});
|
||||||
if(sfysj[0].equals("0")){
|
if(sfysj[0].equals("0")){
|
||||||
downKccldbxz.setStatus("3");
|
downKccldbxz.setStatus("3");
|
||||||
|
@ -191,4 +214,197 @@ public class DownKccldbxzServiceImpl extends ServiceImpl<DownKccldbxzMapper, Dow
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected String exportXls(Xxhbjwxtjxrw xxhbjwxtjxrw, String directoryPath, String title) {
|
||||||
|
// 创建一个Excel工作簿
|
||||||
|
Workbook workbook = new XSSFWorkbook();
|
||||||
|
// 创建一个工作表sheet
|
||||||
|
Sheet sheet = workbook.createSheet(title);
|
||||||
|
// 创建行(Row)和单元格(Cell)
|
||||||
|
Row row = sheet.createRow(0); // 创建第一行
|
||||||
|
for(int i=0;i<4;i++){
|
||||||
|
Cell cell = row.createCell(i); // 在第一行的第一列创建单元格
|
||||||
|
if(i == 0){
|
||||||
|
cell.setCellValue("序号"); // 设置单元格的值
|
||||||
|
//设置单元格宽度为100px
|
||||||
|
sheet.setColumnWidth(i, 10 * 256);
|
||||||
|
}else if(i == 1){
|
||||||
|
cell.setCellValue("学号"); // 设置单元格的值
|
||||||
|
sheet.setColumnWidth(i, 15 * 256);
|
||||||
|
}else if(i == 2){
|
||||||
|
cell.setCellValue("姓名"); // 设置单元格的值
|
||||||
|
sheet.setColumnWidth(i, 15 * 256);
|
||||||
|
}else if(i == 3){
|
||||||
|
cell.setCellValue("成绩"); // 设置单元格的值
|
||||||
|
sheet.setColumnWidth(i, 15 * 256);
|
||||||
|
}
|
||||||
|
//设置单元格背景色为浅灰色
|
||||||
|
CellStyle cellStyle = workbook.createCellStyle();
|
||||||
|
cellStyle.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex());
|
||||||
|
cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
|
||||||
|
//设置单元格边框为黑色
|
||||||
|
cellStyle.setBorderTop(BorderStyle.THIN);
|
||||||
|
cellStyle.setBorderBottom(BorderStyle.THIN);
|
||||||
|
cellStyle.setBorderLeft(BorderStyle.THIN);
|
||||||
|
cellStyle.setBorderRight(BorderStyle.THIN);
|
||||||
|
//设置文字居中
|
||||||
|
cellStyle.setAlignment(HorizontalAlignment.CENTER);
|
||||||
|
cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);
|
||||||
|
cellStyle.setWrapText(true);
|
||||||
|
cellStyle.setFillBackgroundColor(IndexedColors.WHITE.getIndex());
|
||||||
|
cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
|
||||||
|
|
||||||
|
cell.setCellStyle(cellStyle);
|
||||||
|
}
|
||||||
|
|
||||||
|
QueryWrapper<Xxhbjwxtxsmd> queryWrapper = new QueryWrapper<>();
|
||||||
|
queryWrapper.eq("kcrwdm",xxhbjwxtjxrw.getKcrwdm());
|
||||||
|
List<Xxhbjwxtxsmd> list = xxhbjwxtxsmdService.list(queryWrapper);
|
||||||
|
String sfjx = "0";//是否继续,有数据返回1,没数据返回0
|
||||||
|
for(int i=0;i<list.size();i++){
|
||||||
|
Row row1 = sheet.createRow(i+1); // 创建第一行
|
||||||
|
Xxhbjwxtxsmd xxhbjwxtxsmd = list.get(i);
|
||||||
|
sfjx = "1";
|
||||||
|
for(int j=0;j<4;j++){
|
||||||
|
Cell cell = row1.createCell(j); // 在第一行的第一列创建单元格
|
||||||
|
if(j==0){
|
||||||
|
cell.setCellValue(i); // 设置单元格的值
|
||||||
|
}else if(j==1){
|
||||||
|
cell.setCellValue(xxhbjwxtxsmd.getXsbh()); // 设置单元格的值
|
||||||
|
}else if(j==2){
|
||||||
|
cell.setCellValue(xxhbjwxtxsmd.getXsxm()); // 设置单元格的值
|
||||||
|
}else if(j==3){
|
||||||
|
cell.setCellValue(xxhbjwxtxsmd.getZcj()); // 设置单元格的值
|
||||||
|
}
|
||||||
|
//设置单元格背景色为浅灰色
|
||||||
|
CellStyle cellStyle = workbook.createCellStyle();
|
||||||
|
//设置单元格边框为黑色
|
||||||
|
cellStyle.setBorderBottom(BorderStyle.THIN);
|
||||||
|
cellStyle.setBorderRight(BorderStyle.THIN);
|
||||||
|
//设置文字居中
|
||||||
|
cellStyle.setAlignment(HorizontalAlignment.CENTER);
|
||||||
|
cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);
|
||||||
|
cellStyle.setWrapText(true);
|
||||||
|
cellStyle.setFillBackgroundColor(IndexedColors.WHITE.getIndex());
|
||||||
|
cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
|
||||||
|
cell.setCellStyle(cellStyle);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(StringUtils.equals("0",sfjx)){
|
||||||
|
return "0";
|
||||||
|
}
|
||||||
|
|
||||||
|
// 指定保存文件的目录和文件名
|
||||||
|
// String directoryPath = "D:/opt/upFiles/downloadTemp/"; // 替换为你的目标目录路径
|
||||||
|
String fileName = title+".xlsx"; // 文件名
|
||||||
|
// String filePath = directoryPath; // 完整的文件路径
|
||||||
|
String filePath = directoryPath +"/"+ fileName;
|
||||||
|
File file = new File(filePath);
|
||||||
|
//判断目录是否存在,不存在则递归创建文件夹
|
||||||
|
if (!file.getParentFile().exists()) {
|
||||||
|
file.getParentFile().mkdirs();
|
||||||
|
}
|
||||||
|
filePath = directoryPath +"/"+ fileName;
|
||||||
|
// 将Excel写入文件系统
|
||||||
|
try (FileOutputStream outputStream = new FileOutputStream(filePath)) {
|
||||||
|
workbook.write(outputStream); // 写入数据到文件
|
||||||
|
workbook.close(); // 关闭工作簿,释放资源
|
||||||
|
System.out.println("Excel file has been created successfully.");
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
System.out.println("Error occurred while creating the Excel file.");
|
||||||
|
}
|
||||||
|
return "1";
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
|
||||||
|
|
||||||
|
// 创建一个Excel工作簿
|
||||||
|
Workbook workbook = new XSSFWorkbook();
|
||||||
|
// 创建一个工作表sheet
|
||||||
|
Sheet sheet = workbook.createSheet("学生成绩");
|
||||||
|
|
||||||
|
// 创建行(Row)和单元格(Cell)
|
||||||
|
Row row = sheet.createRow(0); // 创建第一行
|
||||||
|
for(int i=0;i<4;i++){
|
||||||
|
Cell cell = row.createCell(i); // 在第一行的第一列创建单元格
|
||||||
|
if(i == 0){
|
||||||
|
cell.setCellValue("序号"); // 设置单元格的值
|
||||||
|
//设置单元格宽度为100px
|
||||||
|
sheet.setColumnWidth(i, 10 * 256);
|
||||||
|
}else if(i == 1){
|
||||||
|
cell.setCellValue("学号"); // 设置单元格的值
|
||||||
|
sheet.setColumnWidth(i, 15 * 256);
|
||||||
|
}else if(i == 2){
|
||||||
|
cell.setCellValue("姓名"); // 设置单元格的值
|
||||||
|
sheet.setColumnWidth(i, 15 * 256);
|
||||||
|
}else if(i == 3){
|
||||||
|
cell.setCellValue("成绩"); // 设置单元格的值
|
||||||
|
sheet.setColumnWidth(i, 15 * 256);
|
||||||
|
}
|
||||||
|
//设置单元格背景色为浅灰色
|
||||||
|
CellStyle cellStyle = workbook.createCellStyle();
|
||||||
|
cellStyle.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.getIndex());
|
||||||
|
cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
|
||||||
|
//设置单元格边框为黑色
|
||||||
|
cellStyle.setBorderTop(BorderStyle.THIN);
|
||||||
|
cellStyle.setBorderBottom(BorderStyle.THIN);
|
||||||
|
cellStyle.setBorderLeft(BorderStyle.THIN);
|
||||||
|
cellStyle.setBorderRight(BorderStyle.THIN);
|
||||||
|
//设置文字居中
|
||||||
|
cellStyle.setAlignment(HorizontalAlignment.CENTER);
|
||||||
|
cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);
|
||||||
|
cellStyle.setWrapText(true);
|
||||||
|
cellStyle.setFillBackgroundColor(IndexedColors.WHITE.getIndex());
|
||||||
|
cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
|
||||||
|
|
||||||
|
cell.setCellStyle(cellStyle);
|
||||||
|
}
|
||||||
|
|
||||||
|
for(int i=0;i<10;i++){
|
||||||
|
Row row1 = sheet.createRow(i+1); // 创建第一行
|
||||||
|
for(int j=0;j<4;j++){
|
||||||
|
Cell cell = row1.createCell(j); // 在第一行的第一列创建单元格
|
||||||
|
if(j==0){
|
||||||
|
cell.setCellValue(i); // 设置单元格的值
|
||||||
|
}else{
|
||||||
|
cell.setCellValue("Hello"+i+"----"+j+""); // 设置单元格的值
|
||||||
|
}
|
||||||
|
|
||||||
|
//设置单元格背景色为浅灰色
|
||||||
|
CellStyle cellStyle = workbook.createCellStyle();
|
||||||
|
//设置单元格边框为黑色
|
||||||
|
cellStyle.setBorderBottom(BorderStyle.THIN);
|
||||||
|
cellStyle.setBorderRight(BorderStyle.THIN);
|
||||||
|
//设置文字居中
|
||||||
|
cellStyle.setAlignment(HorizontalAlignment.CENTER);
|
||||||
|
cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);
|
||||||
|
cellStyle.setWrapText(true);
|
||||||
|
cellStyle.setFillBackgroundColor(IndexedColors.WHITE.getIndex());
|
||||||
|
cellStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
|
||||||
|
cell.setCellStyle(cellStyle);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 指定保存文件的目录和文件名
|
||||||
|
String directoryPath = "D:/opt/upFiles/downloadTemp/"; // 替换为你的目标目录路径
|
||||||
|
String fileName = "example.xlsx"; // 文件名
|
||||||
|
String filePath = directoryPath + fileName; // 完整的文件路径
|
||||||
|
|
||||||
|
// 将Excel写入文件系统
|
||||||
|
try (FileOutputStream outputStream = new FileOutputStream(filePath)) {
|
||||||
|
workbook.write(outputStream); // 写入数据到文件
|
||||||
|
workbook.close(); // 关闭工作簿,释放资源
|
||||||
|
System.out.println("Excel file has been created successfully.");
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
System.out.println("Error occurred while creating the Excel file.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,4 +2,5 @@
|
||||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="org.jeecg.modules.demo.xxhbfxcjmxb0015.mapper.Xxhbfxcjmxb0015Mapper">
|
<mapper namespace="org.jeecg.modules.demo.xxhbfxcjmxb0015.mapper.Xxhbfxcjmxb0015Mapper">
|
||||||
|
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
|
@ -323,6 +323,14 @@ public class XxhbjwxtxsmdController extends JeecgController<Xxhbjwxtxsmd, IXxhbj
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ApiOperation(value="获取智慧教学是否有数据", notes="获取智慧教学是否有数据")
|
||||||
|
@GetMapping(value = "/selectZhjxList")
|
||||||
|
public Result<List<Xxhbjwxtxsmd>> selectZhjxList(Xxhbjwxtxsmd xxhbjwxtxsmd) {
|
||||||
|
List<Xxhbjwxtxsmd> zhjxList = xxhbjwxtxsmdService.selectZhjxList(xxhbjwxtxsmd);
|
||||||
|
return Result.OK(zhjxList);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@ApiOperation(value="教务系统学生名单-分页列表查询", notes="教务系统学生名单-分页列表查询")
|
@ApiOperation(value="教务系统学生名单-分页列表查询", notes="教务系统学生名单-分页列表查询")
|
||||||
@GetMapping(value = "/getXsmdxxByFjtype")
|
@GetMapping(value = "/getXsmdxxByFjtype")
|
||||||
public Result<IPage<Xxhbjwxtxsmd>> getXsmdxxByFjtype(Xxhbjwxtxsmd xxhbjwxtxsmd,
|
public Result<IPage<Xxhbjwxtxsmd>> getXsmdxxByFjtype(Xxhbjwxtxsmd xxhbjwxtxsmd,
|
||||||
|
|
|
@ -31,99 +31,80 @@ public class Xxhbjwxtxsmd implements Serializable {
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
/**kcrwdm*/
|
/**kcrwdm*/
|
||||||
@Excel(name = "kcrwdm", width = 15)
|
|
||||||
@ApiModelProperty(value = "kcrwdm")
|
@ApiModelProperty(value = "kcrwdm")
|
||||||
private java.lang.String kcrwdm;
|
private java.lang.String kcrwdm;
|
||||||
/**nj*/
|
/**nj*/
|
||||||
@Excel(name = "nj", width = 15)
|
|
||||||
@ApiModelProperty(value = "nj")
|
@ApiModelProperty(value = "nj")
|
||||||
private java.lang.String nj;
|
private java.lang.String nj;
|
||||||
/**xsztmc*/
|
/**xsztmc*/
|
||||||
@Excel(name = "xsztmc", width = 15)
|
|
||||||
@ApiModelProperty(value = "xsztmc")
|
@ApiModelProperty(value = "xsztmc")
|
||||||
private java.lang.String xsztmc;
|
private java.lang.String xsztmc;
|
||||||
/**zymc*/
|
/**zymc*/
|
||||||
@Excel(name = "zymc", width = 15)
|
|
||||||
@ApiModelProperty(value = "zymc")
|
@ApiModelProperty(value = "zymc")
|
||||||
private java.lang.String zymc;
|
private java.lang.String zymc;
|
||||||
/**xsbh*/
|
/**xsbh*/
|
||||||
@Excel(name = "xsbh", width = 15)
|
@Excel(name = "学生编号", width = 15)
|
||||||
@ApiModelProperty(value = "xsbh")
|
@ApiModelProperty(value = "xsbh")
|
||||||
private java.lang.String xsbh;
|
private java.lang.String xsbh;
|
||||||
/**xsxm*/
|
/**xsxm*/
|
||||||
@Excel(name = "xsxm", width = 15)
|
@Excel(name = "学生姓名", width = 15)
|
||||||
@ApiModelProperty(value = "xsxm")
|
@ApiModelProperty(value = "xsxm")
|
||||||
private java.lang.String xsxm;
|
private java.lang.String xsxm;
|
||||||
/**kcmc*/
|
/**kcmc*/
|
||||||
@Excel(name = "kcmc", width = 15)
|
@Excel(name = "课程名称", width = 15)
|
||||||
@ApiModelProperty(value = "kcmc")
|
@ApiModelProperty(value = "kcmc")
|
||||||
private java.lang.String kcmc;
|
private java.lang.String kcmc;
|
||||||
/**kclb*/
|
/**kclb*/
|
||||||
@Excel(name = "kclb", width = 15)
|
|
||||||
@ApiModelProperty(value = "kclb")
|
@ApiModelProperty(value = "kclb")
|
||||||
private java.lang.String kclb;
|
private java.lang.String kclb;
|
||||||
/**teaxm*/
|
/**teaxm*/
|
||||||
@Excel(name = "teaxm", width = 15)
|
|
||||||
@ApiModelProperty(value = "teaxm")
|
@ApiModelProperty(value = "teaxm")
|
||||||
private java.lang.String teaxm;
|
private java.lang.String teaxm;
|
||||||
/**cj1*/
|
/**cj1*/
|
||||||
@Excel(name = "cj1", width = 15)
|
|
||||||
@ApiModelProperty(value = "cj1")
|
@ApiModelProperty(value = "cj1")
|
||||||
private java.lang.String cj1;
|
private java.lang.String cj1;
|
||||||
/**cj2*/
|
/**cj2*/
|
||||||
@Excel(name = "cj2", width = 15)
|
|
||||||
@ApiModelProperty(value = "cj2")
|
@ApiModelProperty(value = "cj2")
|
||||||
private java.lang.String cj2;
|
private java.lang.String cj2;
|
||||||
/**cj3*/
|
/**cj3*/
|
||||||
@Excel(name = "cj3", width = 15)
|
|
||||||
@ApiModelProperty(value = "cj3")
|
@ApiModelProperty(value = "cj3")
|
||||||
private java.lang.String cj3;
|
private java.lang.String cj3;
|
||||||
/**cj4*/
|
/**cj4*/
|
||||||
@Excel(name = "cj4", width = 15)
|
|
||||||
@ApiModelProperty(value = "cj4")
|
@ApiModelProperty(value = "cj4")
|
||||||
private java.lang.String cj4;
|
private java.lang.String cj4;
|
||||||
/**cj5*/
|
/**cj5*/
|
||||||
@Excel(name = "cj5", width = 15)
|
|
||||||
@ApiModelProperty(value = "cj5")
|
@ApiModelProperty(value = "cj5")
|
||||||
private java.lang.String cj5;
|
private java.lang.String cj5;
|
||||||
/**cj1mc*/
|
/**cj1mc*/
|
||||||
@Excel(name = "cj1mc", width = 15)
|
|
||||||
@ApiModelProperty(value = "cj1mc")
|
@ApiModelProperty(value = "cj1mc")
|
||||||
private java.lang.String cj1mc;
|
private java.lang.String cj1mc;
|
||||||
/**cj2mc*/
|
/**cj2mc*/
|
||||||
@Excel(name = "cj2mc", width = 15)
|
|
||||||
@ApiModelProperty(value = "cj2mc")
|
@ApiModelProperty(value = "cj2mc")
|
||||||
private java.lang.String cj2mc;
|
private java.lang.String cj2mc;
|
||||||
/**cj3mc*/
|
/**cj3mc*/
|
||||||
@Excel(name = "cj3mc", width = 15)
|
|
||||||
@ApiModelProperty(value = "cj3mc")
|
@ApiModelProperty(value = "cj3mc")
|
||||||
private java.lang.String cj3mc;
|
private java.lang.String cj3mc;
|
||||||
/**cj4mc*/
|
/**cj4mc*/
|
||||||
@Excel(name = "cj4mc", width = 15)
|
|
||||||
@ApiModelProperty(value = "cj4mc")
|
@ApiModelProperty(value = "cj4mc")
|
||||||
private java.lang.String cj4mc;
|
private java.lang.String cj4mc;
|
||||||
/**cj5mc*/
|
/**cj5mc*/
|
||||||
@Excel(name = "cj5mc", width = 15)
|
|
||||||
@ApiModelProperty(value = "cj5mc")
|
@ApiModelProperty(value = "cj5mc")
|
||||||
private java.lang.String cj5mc;
|
private java.lang.String cj5mc;
|
||||||
/**zcj*/
|
/**zcj*/
|
||||||
@Excel(name = "zcj", width = 15)
|
|
||||||
|
@Excel(name = "总成绩", width = 15)
|
||||||
@ApiModelProperty(value = "zcj")
|
@ApiModelProperty(value = "zcj")
|
||||||
private java.lang.String zcj;
|
private java.lang.String zcj;
|
||||||
/**cjfsmc*/
|
/**cjfsmc*/
|
||||||
@Excel(name = "cjfsmc", width = 15)
|
|
||||||
@ApiModelProperty(value = "cjfsmc")
|
@ApiModelProperty(value = "cjfsmc")
|
||||||
private java.lang.String cjfsmc;
|
private java.lang.String cjfsmc;
|
||||||
/**xdfsmc*/
|
/**xdfsmc*/
|
||||||
@Excel(name = "xdfsmc", width = 15)
|
|
||||||
@ApiModelProperty(value = "xdfsmc")
|
@ApiModelProperty(value = "xdfsmc")
|
||||||
private java.lang.String xdfsmc;
|
private java.lang.String xdfsmc;
|
||||||
/**ksxzmc*/
|
/**ksxzmc*/
|
||||||
@Excel(name = "ksxzmc", width = 15)
|
|
||||||
@ApiModelProperty(value = "ksxzmc")
|
@ApiModelProperty(value = "ksxzmc")
|
||||||
private java.lang.String ksxzmc;
|
private java.lang.String ksxzmc;
|
||||||
/**jxbrs*/
|
/**jxbrs*/
|
||||||
@Excel(name = "jxbrs", width = 15)
|
|
||||||
@ApiModelProperty(value = "jxbrs")
|
@ApiModelProperty(value = "jxbrs")
|
||||||
private String jxbrs;
|
private String jxbrs;
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,178 @@
|
||||||
|
package org.jeecg.modules.demo.zyInfoStudent.controller;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.UnsupportedEncodingException;
|
||||||
|
import java.net.URLDecoder;
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import org.jeecg.common.api.vo.Result;
|
||||||
|
import org.jeecg.common.system.query.QueryGenerator;
|
||||||
|
import org.jeecg.common.util.oConvertUtils;
|
||||||
|
import org.jeecg.modules.demo.zyInfoStudent.entity.ZyInfoStudent;
|
||||||
|
import org.jeecg.modules.demo.zyInfoStudent.service.IZyInfoStudentService;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
|
import org.jeecgframework.poi.excel.ExcelImportUtil;
|
||||||
|
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
|
||||||
|
import org.jeecgframework.poi.excel.entity.ExportParams;
|
||||||
|
import org.jeecgframework.poi.excel.entity.ImportParams;
|
||||||
|
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
|
||||||
|
import org.jeecg.common.system.base.controller.JeecgController;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
import org.springframework.web.multipart.MultipartFile;
|
||||||
|
import org.springframework.web.multipart.MultipartHttpServletRequest;
|
||||||
|
import org.springframework.web.servlet.ModelAndView;
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import org.jeecg.common.aspect.annotation.AutoLog;
|
||||||
|
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: zy_info_student
|
||||||
|
* @Author: jeecg-boot
|
||||||
|
* @Date: 2025-03-27
|
||||||
|
* @Version: V1.0
|
||||||
|
*/
|
||||||
|
@Api(tags="zy_info_student")
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/zyInfoStudent/zyInfoStudent")
|
||||||
|
@Slf4j
|
||||||
|
public class ZyInfoStudentController extends JeecgController<ZyInfoStudent, IZyInfoStudentService> {
|
||||||
|
@Autowired
|
||||||
|
private IZyInfoStudentService zyInfoStudentService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分页列表查询
|
||||||
|
*
|
||||||
|
* @param zyInfoStudent
|
||||||
|
* @param pageNo
|
||||||
|
* @param pageSize
|
||||||
|
* @param req
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
//@AutoLog(value = "zy_info_student-分页列表查询")
|
||||||
|
@ApiOperation(value="zy_info_student-分页列表查询", notes="zy_info_student-分页列表查询")
|
||||||
|
@GetMapping(value = "/list")
|
||||||
|
public Result<IPage<ZyInfoStudent>> queryPageList(ZyInfoStudent zyInfoStudent,
|
||||||
|
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||||
|
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
|
||||||
|
HttpServletRequest req) {
|
||||||
|
QueryWrapper<ZyInfoStudent> queryWrapper = QueryGenerator.initQueryWrapper(zyInfoStudent, req.getParameterMap());
|
||||||
|
Page<ZyInfoStudent> page = new Page<ZyInfoStudent>(pageNo, pageSize);
|
||||||
|
IPage<ZyInfoStudent> pageList = zyInfoStudentService.page(page, queryWrapper);
|
||||||
|
return Result.OK(pageList);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 添加
|
||||||
|
*
|
||||||
|
* @param zyInfoStudent
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@AutoLog(value = "zy_info_student-添加")
|
||||||
|
@ApiOperation(value="zy_info_student-添加", notes="zy_info_student-添加")
|
||||||
|
@RequiresPermissions("zyInfoStudent:zy_info_student:add")
|
||||||
|
@PostMapping(value = "/add")
|
||||||
|
public Result<String> add(@RequestBody ZyInfoStudent zyInfoStudent) {
|
||||||
|
zyInfoStudentService.save(zyInfoStudent);
|
||||||
|
return Result.OK("添加成功!");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 编辑
|
||||||
|
*
|
||||||
|
* @param zyInfoStudent
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@AutoLog(value = "zy_info_student-编辑")
|
||||||
|
@ApiOperation(value="zy_info_student-编辑", notes="zy_info_student-编辑")
|
||||||
|
@RequiresPermissions("zyInfoStudent:zy_info_student:edit")
|
||||||
|
@RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
|
||||||
|
public Result<String> edit(@RequestBody ZyInfoStudent zyInfoStudent) {
|
||||||
|
zyInfoStudentService.updateById(zyInfoStudent);
|
||||||
|
return Result.OK("编辑成功!");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过id删除
|
||||||
|
*
|
||||||
|
* @param id
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@AutoLog(value = "zy_info_student-通过id删除")
|
||||||
|
@ApiOperation(value="zy_info_student-通过id删除", notes="zy_info_student-通过id删除")
|
||||||
|
@RequiresPermissions("zyInfoStudent:zy_info_student:delete")
|
||||||
|
@DeleteMapping(value = "/delete")
|
||||||
|
public Result<String> delete(@RequestParam(name="id",required=true) String id) {
|
||||||
|
zyInfoStudentService.removeById(id);
|
||||||
|
return Result.OK("删除成功!");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量删除
|
||||||
|
*
|
||||||
|
* @param ids
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@AutoLog(value = "zy_info_student-批量删除")
|
||||||
|
@ApiOperation(value="zy_info_student-批量删除", notes="zy_info_student-批量删除")
|
||||||
|
@RequiresPermissions("zyInfoStudent:zy_info_student:deleteBatch")
|
||||||
|
@DeleteMapping(value = "/deleteBatch")
|
||||||
|
public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
|
||||||
|
this.zyInfoStudentService.removeByIds(Arrays.asList(ids.split(",")));
|
||||||
|
return Result.OK("批量删除成功!");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过id查询
|
||||||
|
*
|
||||||
|
* @param id
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
//@AutoLog(value = "zy_info_student-通过id查询")
|
||||||
|
@ApiOperation(value="zy_info_student-通过id查询", notes="zy_info_student-通过id查询")
|
||||||
|
@GetMapping(value = "/queryById")
|
||||||
|
public Result<ZyInfoStudent> queryById(@RequestParam(name="id",required=true) String id) {
|
||||||
|
ZyInfoStudent zyInfoStudent = zyInfoStudentService.getById(id);
|
||||||
|
if(zyInfoStudent==null) {
|
||||||
|
return Result.error("未找到对应数据");
|
||||||
|
}
|
||||||
|
return Result.OK(zyInfoStudent);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 导出excel
|
||||||
|
*
|
||||||
|
* @param request
|
||||||
|
* @param zyInfoStudent
|
||||||
|
*/
|
||||||
|
@RequiresPermissions("zyInfoStudent:zy_info_student:exportXls")
|
||||||
|
@RequestMapping(value = "/exportXls")
|
||||||
|
public ModelAndView exportXls(HttpServletRequest request, ZyInfoStudent zyInfoStudent) {
|
||||||
|
return super.exportXls(request, zyInfoStudent, ZyInfoStudent.class, "zy_info_student");
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过excel导入数据
|
||||||
|
*
|
||||||
|
* @param request
|
||||||
|
* @param response
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@RequiresPermissions("zyInfoStudent:zy_info_student:importExcel")
|
||||||
|
@RequestMapping(value = "/importExcel", method = RequestMethod.POST)
|
||||||
|
public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
|
||||||
|
return super.importExcel(request, response, ZyInfoStudent.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,175 @@
|
||||||
|
package org.jeecg.modules.demo.zyInfoStudent.entity;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.io.UnsupportedEncodingException;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.math.BigDecimal;
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableLogic;
|
||||||
|
import lombok.Data;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||||
|
import org.jeecg.common.aspect.annotation.Dict;
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: zy_info_student
|
||||||
|
* @Author: jeecg-boot
|
||||||
|
* @Date: 2025-03-27
|
||||||
|
* @Version: V1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@TableName("zy_info_student")
|
||||||
|
@Accessors(chain = true)
|
||||||
|
@EqualsAndHashCode(callSuper = false)
|
||||||
|
@ApiModel(value="zy_info_student对象", description="zy_info_student")
|
||||||
|
public class ZyInfoStudent implements Serializable {
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**id*/
|
||||||
|
@TableId(type = IdType.ASSIGN_ID)
|
||||||
|
@ApiModelProperty(value = "id")
|
||||||
|
private java.lang.String id;
|
||||||
|
/**createBy*/
|
||||||
|
@ApiModelProperty(value = "createBy")
|
||||||
|
private java.lang.String createBy;
|
||||||
|
/**createTime*/
|
||||||
|
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||||
|
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||||
|
@ApiModelProperty(value = "createTime")
|
||||||
|
private java.util.Date createTime;
|
||||||
|
/**updateBy*/
|
||||||
|
@ApiModelProperty(value = "updateBy")
|
||||||
|
private java.lang.String updateBy;
|
||||||
|
/**updateTime*/
|
||||||
|
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
|
||||||
|
@DateTimeFormat(pattern="yyyy-MM-dd")
|
||||||
|
@ApiModelProperty(value = "updateTime")
|
||||||
|
private java.util.Date updateTime;
|
||||||
|
/**作业名称*/
|
||||||
|
@Excel(name = "作业名称", width = 15)
|
||||||
|
@ApiModelProperty(value = "作业名称")
|
||||||
|
private java.lang.String mainId;
|
||||||
|
/**作业附件*/
|
||||||
|
@Excel(name = "作业附件", width = 15)
|
||||||
|
@ApiModelProperty(value = "作业附件")
|
||||||
|
private java.lang.String filePath;
|
||||||
|
/**外网相似律*/
|
||||||
|
@Excel(name = "外网相似律", width = 15)
|
||||||
|
@ApiModelProperty(value = "外网相似律")
|
||||||
|
private java.lang.String wwxsl;
|
||||||
|
/**内网相似律*/
|
||||||
|
@Excel(name = "内网相似律", width = 15)
|
||||||
|
@ApiModelProperty(value = "内网相似律")
|
||||||
|
private java.lang.String nwxsl;
|
||||||
|
/**aigc相似律*/
|
||||||
|
@Excel(name = "aigc相似律", width = 15)
|
||||||
|
@ApiModelProperty(value = "aigc相似律")
|
||||||
|
private java.lang.String aigcxsl;
|
||||||
|
/**外网是否通过*/
|
||||||
|
@Excel(name = "外网是否通过", width = 15)
|
||||||
|
@ApiModelProperty(value = "外网是否通过")
|
||||||
|
private java.lang.String wwsftg;
|
||||||
|
/**内网是否通过*/
|
||||||
|
@Excel(name = "内网是否通过", width = 15)
|
||||||
|
@ApiModelProperty(value = "内网是否通过")
|
||||||
|
private java.lang.String nwsftg;
|
||||||
|
/**aigc是否通过*/
|
||||||
|
@Excel(name = "aigc是否通过", width = 15)
|
||||||
|
@ApiModelProperty(value = "aigc是否通过")
|
||||||
|
private java.lang.String aigcsftg;
|
||||||
|
/**评分*/
|
||||||
|
@Excel(name = "评分", width = 15)
|
||||||
|
@ApiModelProperty(value = "评分")
|
||||||
|
private java.lang.String score;
|
||||||
|
/**学生姓名*/
|
||||||
|
@Excel(name = "学生姓名", width = 15)
|
||||||
|
@ApiModelProperty(value = "学生姓名")
|
||||||
|
private java.lang.String studentName;
|
||||||
|
/**pdf预览*/
|
||||||
|
@Excel(name = "pdf预览", width = 15)
|
||||||
|
@ApiModelProperty(value = "pdf预览")
|
||||||
|
private java.lang.String pdfPath;
|
||||||
|
/**是否发布评分*/
|
||||||
|
@Excel(name = "是否发布评分", width = 15)
|
||||||
|
@ApiModelProperty(value = "是否发布评分")
|
||||||
|
private java.lang.String scoreFabu;
|
||||||
|
/**存档类型*/
|
||||||
|
@Excel(name = "存档类型", width = 15)
|
||||||
|
@ApiModelProperty(value = "存档类型")
|
||||||
|
private java.lang.String cdlx;
|
||||||
|
/**校内相似律*/
|
||||||
|
@Excel(name = "校内相似律", width = 15)
|
||||||
|
@ApiModelProperty(value = "校内相似律")
|
||||||
|
private java.lang.String xnxsl;
|
||||||
|
/**校内是否通过*/
|
||||||
|
@Excel(name = "校内是否通过", width = 15)
|
||||||
|
@ApiModelProperty(value = "校内是否通过")
|
||||||
|
private java.lang.String xnsftg;
|
||||||
|
/**发布时间*/
|
||||||
|
@Excel(name = "发布时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||||
|
@ApiModelProperty(value = "发布时间")
|
||||||
|
private java.util.Date publishTime;
|
||||||
|
/**互评次数*/
|
||||||
|
@Excel(name = "互评次数", width = 15)
|
||||||
|
@ApiModelProperty(value = "互评次数")
|
||||||
|
private java.lang.String hpcs;
|
||||||
|
/**学生互评分数*/
|
||||||
|
@Excel(name = "学生互评分数", width = 15)
|
||||||
|
@ApiModelProperty(value = "学生互评分数")
|
||||||
|
private java.lang.String xshpfs;
|
||||||
|
/**绩效分数*/
|
||||||
|
@Excel(name = "绩效分数", width = 15)
|
||||||
|
@ApiModelProperty(value = "绩效分数")
|
||||||
|
private java.lang.String jxfs;
|
||||||
|
/**最终得分*/
|
||||||
|
@Excel(name = "最终得分", width = 15)
|
||||||
|
@ApiModelProperty(value = "最终得分")
|
||||||
|
private java.lang.String zzdf;
|
||||||
|
/**绩效分数的2次奖励*/
|
||||||
|
@Excel(name = "绩效分数的2次奖励", width = 15)
|
||||||
|
@ApiModelProperty(value = "绩效分数的2次奖励")
|
||||||
|
private java.lang.String jxfs2;
|
||||||
|
/**作业类型 0课程作业 1期末作业*/
|
||||||
|
@Excel(name = "作业类型 0课程作业 1期末作业", width = 15)
|
||||||
|
@ApiModelProperty(value = "作业类型 0课程作业 1期末作业")
|
||||||
|
private java.lang.String zyLeixing;
|
||||||
|
/**批阅内容*/
|
||||||
|
@Excel(name = "批阅内容", width = 15)
|
||||||
|
@ApiModelProperty(value = "批阅内容")
|
||||||
|
private java.lang.String pyContent;
|
||||||
|
/**批阅附件*/
|
||||||
|
@Excel(name = "批阅附件", width = 15)
|
||||||
|
@ApiModelProperty(value = "批阅附件")
|
||||||
|
private java.lang.String pyFilePath;
|
||||||
|
/**是否上传考核材料(0否 1是)*/
|
||||||
|
@Excel(name = "是否上传考核材料(0否 1是)", width = 15)
|
||||||
|
@ApiModelProperty(value = "是否上传考核材料(0否 1是)")
|
||||||
|
private java.lang.String sfsckhcl;
|
||||||
|
/**服务器存储地址*/
|
||||||
|
@Excel(name = "服务器存储地址", width = 15)
|
||||||
|
@ApiModelProperty(value = "服务器存储地址")
|
||||||
|
private java.lang.String fwqPath;
|
||||||
|
/**考核材料上传时间*/
|
||||||
|
@Excel(name = "考核材料上传时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||||
|
@ApiModelProperty(value = "考核材料上传时间")
|
||||||
|
private java.util.Date khclTime;
|
||||||
|
/**批阅附件服务器地址*/
|
||||||
|
@Excel(name = "批阅附件服务器地址", width = 15)
|
||||||
|
@ApiModelProperty(value = "批阅附件服务器地址")
|
||||||
|
private java.lang.String pyFwqFilePath;
|
||||||
|
/**驳回内容*/
|
||||||
|
@Excel(name = "驳回内容", width = 15)
|
||||||
|
@ApiModelProperty(value = "驳回内容")
|
||||||
|
private java.lang.String bhContent;
|
||||||
|
}
|
|
@ -0,0 +1,17 @@
|
||||||
|
package org.jeecg.modules.demo.zyInfoStudent.mapper;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
import org.jeecg.modules.demo.zyInfoStudent.entity.ZyInfoStudent;
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: zy_info_student
|
||||||
|
* @Author: jeecg-boot
|
||||||
|
* @Date: 2025-03-27
|
||||||
|
* @Version: V1.0
|
||||||
|
*/
|
||||||
|
public interface ZyInfoStudentMapper extends BaseMapper<ZyInfoStudent> {
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,5 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="org.jeecg.modules.demo.zyInfoStudent.mapper.ZyInfoStudentMapper">
|
||||||
|
|
||||||
|
</mapper>
|
|
@ -0,0 +1,14 @@
|
||||||
|
package org.jeecg.modules.demo.zyInfoStudent.service;
|
||||||
|
|
||||||
|
import org.jeecg.modules.demo.zyInfoStudent.entity.ZyInfoStudent;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: zy_info_student
|
||||||
|
* @Author: jeecg-boot
|
||||||
|
* @Date: 2025-03-27
|
||||||
|
* @Version: V1.0
|
||||||
|
*/
|
||||||
|
public interface IZyInfoStudentService extends IService<ZyInfoStudent> {
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
package org.jeecg.modules.demo.zyInfoStudent.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||||
|
import org.jeecg.modules.demo.zyInfoStudent.entity.ZyInfoStudent;
|
||||||
|
import org.jeecg.modules.demo.zyInfoStudent.mapper.ZyInfoStudentMapper;
|
||||||
|
import org.jeecg.modules.demo.zyInfoStudent.service.IZyInfoStudentService;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: zy_info_student
|
||||||
|
* @Author: jeecg-boot
|
||||||
|
* @Date: 2025-03-27
|
||||||
|
* @Version: V1.0
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@DS("multi-datasource1")
|
||||||
|
public class ZyInfoStudentServiceImpl extends ServiceImpl<ZyInfoStudentMapper, ZyInfoStudent> implements IZyInfoStudentService {
|
||||||
|
|
||||||
|
}
|
|
@ -13,22 +13,26 @@ export const columns: BasicColumn[] = [
|
||||||
{
|
{
|
||||||
title: '学年学期',
|
title: '学年学期',
|
||||||
align: "center",
|
align: "center",
|
||||||
dataIndex: 'xnxq'
|
dataIndex: 'xnxq',
|
||||||
|
width: '200px'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '打包时间',
|
title: '打包时间',
|
||||||
align: "center",
|
align: "center",
|
||||||
dataIndex: 'createTime'
|
dataIndex: 'createTime',
|
||||||
|
width: '200px'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '状态',
|
title: '状态',
|
||||||
align: "center",
|
align: "center",
|
||||||
dataIndex: 'status_dictText'
|
dataIndex: 'status_dictText',
|
||||||
|
width: '200px'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '下载地址',
|
title: '下载地址',
|
||||||
align: "center",
|
align: "center",
|
||||||
dataIndex: 'filePath',
|
dataIndex: 'filePath',
|
||||||
|
width: '200px'
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
@ -20,6 +20,11 @@ export const columns: BasicColumn[] = [
|
||||||
align: "center",
|
align: "center",
|
||||||
dataIndex: 'fxcj'
|
dataIndex: 'fxcj'
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
title: '批阅信息',
|
||||||
|
align: "center",
|
||||||
|
dataIndex: 'fxcj'
|
||||||
|
},
|
||||||
{
|
{
|
||||||
title: '附件',
|
title: '附件',
|
||||||
align: "center",
|
align: "center",
|
||||||
|
|
|
@ -16,6 +16,7 @@
|
||||||
<!-- 表单区域 -->
|
<!-- 表单区域 -->
|
||||||
<Xxhbfxcjmxb0015Modal ref="registerModal" @success="handleSuccess"></Xxhbfxcjmxb0015Modal>
|
<Xxhbfxcjmxb0015Modal ref="registerModal" @success="handleSuccess"></Xxhbfxcjmxb0015Modal>
|
||||||
<WjxWjxxTmlbDjjgModal ref="WjxWjxxTmlbDjjgModalPage"></WjxWjxxTmlbDjjgModal>
|
<WjxWjxxTmlbDjjgModal ref="WjxWjxxTmlbDjjgModalPage"></WjxWjxxTmlbDjjgModal>
|
||||||
|
<StudengZyylModal ref="StudengZyylModalPage"></StudengZyylModal>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -31,6 +32,7 @@
|
||||||
import { getFileAccessHttpUrl } from '@/utils/common/compUtils';
|
import { getFileAccessHttpUrl } from '@/utils/common/compUtils';
|
||||||
import { encryptByBase64 } from '@/utils/cipher';
|
import { encryptByBase64 } from '@/utils/cipher';
|
||||||
import WjxWjxxTmlbDjjgModal from './components/WjxWjxxTmlbDjjgModal.vue'
|
import WjxWjxxTmlbDjjgModal from './components/WjxWjxxTmlbDjjgModal.vue'
|
||||||
|
import StudengZyylModal from './components/StudengZyylModal.vue'
|
||||||
|
|
||||||
const formRef = ref();
|
const formRef = ref();
|
||||||
const queryParam = reactive<any>({});
|
const queryParam = reactive<any>({});
|
||||||
|
@ -38,6 +40,7 @@
|
||||||
const toggleSearchStatus = ref<boolean>(false);
|
const toggleSearchStatus = ref<boolean>(false);
|
||||||
const registerModal = ref();
|
const registerModal = ref();
|
||||||
const WjxWjxxTmlbDjjgModalPage = ref();
|
const WjxWjxxTmlbDjjgModalPage = ref();
|
||||||
|
const StudengZyylModalPage = ref();
|
||||||
const userStore = useUserStore();
|
const userStore = useUserStore();
|
||||||
//注册table数据
|
//注册table数据
|
||||||
const { prefixCls, tableContext, onExportXls, onImportXls } = useListPage({
|
const { prefixCls, tableContext, onExportXls, onImportXls } = useListPage({
|
||||||
|
@ -82,10 +85,14 @@
|
||||||
|
|
||||||
//查看作业详细
|
//查看作业详细
|
||||||
function handleXiangxi(record){
|
function handleXiangxi(record){
|
||||||
|
// console.log("🚀 ~ handleXiangxi ~ text:", record)
|
||||||
|
// var file1 = getFileAccessHttpUrl(record.path);
|
||||||
|
// var url = 'https://jxdd.nenu.edu.cn/onlinePreview/onlinePreview?url=' + encodeURIComponent(encryptByBase64(file1));
|
||||||
|
// window.open(url,"_blank");
|
||||||
console.log("🚀 ~ handleXiangxi ~ text:", record)
|
console.log("🚀 ~ handleXiangxi ~ text:", record)
|
||||||
var file1 = getFileAccessHttpUrl(record.path);
|
StudengZyylModalPage.value.disableSubmit = true;
|
||||||
var url = 'https://jxdd.nenu.edu.cn/onlinePreview/onlinePreview?url=' + encodeURIComponent(encryptByBase64(file1));
|
StudengZyylModalPage.value.edit(record.kid, false);
|
||||||
window.open(url,"_blank");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//课程测验详细
|
//课程测验详细
|
||||||
|
|
|
@ -0,0 +1,133 @@
|
||||||
|
<template>
|
||||||
|
<a-spin :spinning="confirmLoading">
|
||||||
|
<a-row style="height: calc(80vh)">
|
||||||
|
<a-col :span="12" style="padding: 10px">
|
||||||
|
<iframe id="pdfPreviewIframe" :src="zyurl" frameborder="0" width="100%" height="700px" scrolling="auto"></iframe>
|
||||||
|
</a-col>
|
||||||
|
<a-col :span="12" style="padding: 10px">
|
||||||
|
<a-row>
|
||||||
|
<a-col :span="24" style="min-height: 50px;">
|
||||||
|
<span>批阅信息: {{pyContent || `无批阅信息`}} </span>
|
||||||
|
</a-col>
|
||||||
|
<a-col :span="24" v-show="pyurl">
|
||||||
|
<iframe id="pdfPyPreviewIframe" :src="pyurl" frameborder="0" width="100%" height="650px" scrolling="auto"></iframe>
|
||||||
|
</a-col>
|
||||||
|
</a-row>
|
||||||
|
</a-col>
|
||||||
|
</a-row>
|
||||||
|
</a-spin>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts" name="wjxWjxx-add" setup>
|
||||||
|
import { ref, nextTick, defineExpose } from 'vue';
|
||||||
|
import { Icon } from '/@/components/Icon';
|
||||||
|
import { useMessage } from '/@/hooks/web/useMessage';
|
||||||
|
import { defHttp } from '/@/utils/http/axios';
|
||||||
|
import { useGlobSetting } from '/@/hooks/setting';
|
||||||
|
import { getFileAccessHttpUrl } from '/@/utils/common/compUtils';
|
||||||
|
import { getToken } from '/@/utils/auth';
|
||||||
|
import { encryptByBase64 } from '/@/utils/cipher';
|
||||||
|
|
||||||
|
const confirmLoading = ref<boolean>(false);
|
||||||
|
const title = ref<string>('');
|
||||||
|
const mainId = ref<string>('');
|
||||||
|
const tiganData = ref<any>([]);
|
||||||
|
const djxxData = ref<any>({});
|
||||||
|
const { createMessage } = useMessage();
|
||||||
|
|
||||||
|
const zyurl = ref<string>('');
|
||||||
|
const pyurl = ref<string>('');
|
||||||
|
const pyContent = ref<string>('');
|
||||||
|
const emit = defineEmits(['register', 'success']);
|
||||||
|
|
||||||
|
const globSetting = useGlobSetting();
|
||||||
|
const baseApiUrl = globSetting.domainUrl;
|
||||||
|
//初始化
|
||||||
|
function edit(id) {
|
||||||
|
console.log('id---->',id);
|
||||||
|
// var file2 = getFileAccessHttpUrl(record.pdfPath);
|
||||||
|
// let url2 = baseApiUrl + '/generic/web/viewer.html?file=' + encodeURIComponent(file2);
|
||||||
|
zyurl.value = '';
|
||||||
|
pyurl.value = '';
|
||||||
|
pyContent.value = '';
|
||||||
|
|
||||||
|
defHttp.get({ url: '/zyInfoStudent/zyInfoStudent/queryById', params: { id: id } }).then((res) => {
|
||||||
|
|
||||||
|
pyContent.value = res.pyContent;
|
||||||
|
|
||||||
|
// var file3 = "https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png";
|
||||||
|
|
||||||
|
|
||||||
|
var file1 = getFileAccessHttpUrl(res.fwqPath);
|
||||||
|
var url1 = 'https://jxdd.nenu.edu.cn/onlinePreview/onlinePreview?url=' + encodeURIComponent(encryptByBase64(file1));
|
||||||
|
zyurl.value = url1;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if(res.pyFwqFilePath){
|
||||||
|
// var file2 = baseApiUrl + "/"+res.pyFwqFilePath;
|
||||||
|
var file2 = getFileAccessHttpUrl(res.pyFwqFilePath);
|
||||||
|
let url4 = 'https://zjdd.nenu.edu.cn/onlinePreview/onlinePreview?url=' + encodeURIComponent(encryptByBase64(file2));
|
||||||
|
pyurl.value = url4;
|
||||||
|
}else{
|
||||||
|
pyurl.value = '';
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//提交数据
|
||||||
|
async function submitForm() {
|
||||||
|
}
|
||||||
|
|
||||||
|
defineExpose({
|
||||||
|
edit,
|
||||||
|
submitForm,
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="less" scoped>
|
||||||
|
/deep/span.ant-radio + * {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
/deep/.ant-checkbox-wrapper {
|
||||||
|
box-sizing: border-box;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
color: rgba(0, 0, 0, 0.85);
|
||||||
|
font-size: 14px;
|
||||||
|
font-variant: tabular-nums;
|
||||||
|
line-height: 1.5715;
|
||||||
|
list-style: none;
|
||||||
|
font-feature-settings: tnum;
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: baseline;
|
||||||
|
line-height: unset;
|
||||||
|
cursor: pointer;
|
||||||
|
width: 80%;
|
||||||
|
}
|
||||||
|
/deep/.ant-checkbox + span {
|
||||||
|
padding-right: 8px;
|
||||||
|
padding-left: 8px;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.ant-checkbox-wrapper[aria-disabled='true'] {
|
||||||
|
color: rgb(2, 2, 2); /* 例如,将文本颜色设置为灰色 */
|
||||||
|
cursor: not-allowed; /* 将鼠标指针设置为禁用状态 */
|
||||||
|
}
|
||||||
|
.answer-title {
|
||||||
|
font-size: 14px;
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
.answer-info {
|
||||||
|
font-size: 14px;
|
||||||
|
color: #666;
|
||||||
|
text-decoration: underline;
|
||||||
|
margin-right: 15px;
|
||||||
|
}
|
||||||
|
.answer-word {
|
||||||
|
color: #ff8710;
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -0,0 +1,64 @@
|
||||||
|
<template>
|
||||||
|
<a-modal :title="title" :width="width" centered :visible="visible" @ok="handleOk" :okButtonProps="{ class: { 'jee-hidden': disableSubmit } }" @cancel="handleCancel" cancelText="关闭">
|
||||||
|
<StudengZyylForm ref="registerForm" :formDisabled="disableSubmit" :formBpm="false"></StudengZyylForm>
|
||||||
|
</a-modal>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang="ts" setup>
|
||||||
|
import { ref, nextTick, defineExpose } from 'vue';
|
||||||
|
import StudengZyylForm from './StudengZyylForm.vue'
|
||||||
|
|
||||||
|
const title = ref<string>('');
|
||||||
|
const width = ref<string>('100%');
|
||||||
|
const visible = ref<boolean>(false);
|
||||||
|
const disableSubmit = ref<boolean>(false);
|
||||||
|
const registerForm = ref();
|
||||||
|
const emit = defineEmits(['register', 'success']);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 编辑
|
||||||
|
* @param record
|
||||||
|
*/
|
||||||
|
function edit(id) {
|
||||||
|
title.value = '答卷结果';
|
||||||
|
visible.value = true;
|
||||||
|
nextTick(() => {
|
||||||
|
console.log(id);
|
||||||
|
registerForm.value.edit(id);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 确定按钮点击事件
|
||||||
|
*/
|
||||||
|
function handleOk() {
|
||||||
|
registerForm.value.submitForm();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* form保存回调事件
|
||||||
|
*/
|
||||||
|
function submitCallback() {
|
||||||
|
handleCancel();
|
||||||
|
emit('success');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 取消按钮回调事件
|
||||||
|
*/
|
||||||
|
function handleCancel() {
|
||||||
|
visible.value = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
defineExpose({
|
||||||
|
edit,
|
||||||
|
disableSubmit,
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
/**隐藏样式-modal确定按钮 */
|
||||||
|
.jee-hidden {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -121,22 +121,6 @@
|
||||||
<a-button type="primary" style="margin-left: 10px; margin-top: 10px" @click="handleFanhui">返回</a-button>
|
<a-button type="primary" style="margin-left: 10px; margin-top: 10px" @click="handleFanhui">返回</a-button>
|
||||||
</div> -->
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
<!-- 成绩单 -->
|
|
||||||
<!-- <div v-show="sfxk == 2">
|
|
||||||
<CjdForm ref="cjdFormModal" @callback="init"></CjdForm>
|
|
||||||
</div> -->
|
|
||||||
<!-- 考核评价材料 -->
|
|
||||||
<!-- <div v-show="sfxk == 3">
|
|
||||||
<XxhbjwxtscwjxxList ref="khpjclFormModal" @callback="init"></XxhbjwxtscwjxxList>
|
|
||||||
</div> -->
|
|
||||||
<!-- 学生原始材料 -->
|
|
||||||
<!-- <div v-show="sfxk == 4">
|
|
||||||
<XxhbjwxtxsmdList3 ref="xsysclFormModal" @callback="init" @handleXq="handleXsysclxq"></XxhbjwxtxsmdList3>
|
|
||||||
</div> -->
|
|
||||||
<!-- 学生原始材料-详情 -->
|
|
||||||
<!-- <div v-show="sfxk == 5">
|
|
||||||
<XxhbjwxtxsmdList4 ref="xsysclXqFormModal" @callback="handleXsyscl"></XxhbjwxtxsmdList4>
|
|
||||||
</div> -->
|
|
||||||
<!-- 学生列表查看 -->
|
<!-- 学生列表查看 -->
|
||||||
<div v-show="sfxk == 6">
|
<div v-show="sfxk == 6">
|
||||||
<div class="jeecg-basic-table-form-container">
|
<div class="jeecg-basic-table-form-container">
|
||||||
|
@ -183,6 +167,9 @@
|
||||||
<a-col :xl="8" :sm="12" :md="8">
|
<a-col :xl="8" :sm="12" :md="8">
|
||||||
<span class="header-title" style="margin-left: 15px">选课人数</span> :<span class="header-title">{{ jxrwInfo?.value.jxbrs }}</span>
|
<span class="header-title" style="margin-left: 15px">选课人数</span> :<span class="header-title">{{ jxrwInfo?.value.jxbrs }}</span>
|
||||||
</a-col>
|
</a-col>
|
||||||
|
<a-col :xl="8" :sm="12" :md="8">
|
||||||
|
<a-button type="primary" v-auth="'downKccldbxz:down_kccldbxz:downzip'" @click="handleDownZip">一键打包下载</a-button>
|
||||||
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
</div>
|
</div>
|
||||||
</a-col>
|
</a-col>
|
||||||
|
@ -208,7 +195,7 @@
|
||||||
<Xxhbfxcjmxb0015List ref="Xxhbfxcjmxb0015Modal"></Xxhbfxcjmxb0015List>
|
<Xxhbfxcjmxb0015List ref="Xxhbfxcjmxb0015Modal"></Xxhbfxcjmxb0015List>
|
||||||
</div>
|
</div>
|
||||||
</a-tab-pane>
|
</a-tab-pane>
|
||||||
<!-- <a-tab-pane key="4" tab="智慧教学信息" :forceRender="true">
|
<!-- <a-tab-pane key="4" tab="智慧教学信息" :forceRender="true" v-if="zhjxsfxs">
|
||||||
<div v-show="zhjxxx == 1">
|
<div v-show="zhjxxx == 1">
|
||||||
<Xxhbfxcjb0016List ref="Xxhbfxcjb0016Modal" @callback="handleZhjxzx" ></Xxhbfxcjb0016List>
|
<Xxhbfxcjb0016List ref="Xxhbfxcjb0016Modal" @callback="handleZhjxzx" ></Xxhbfxcjb0016List>
|
||||||
</div>
|
</div>
|
||||||
|
@ -361,6 +348,7 @@ const Xxhbfxcjmxb0015Modal = ref();
|
||||||
const queryParam = reactive<any>({});
|
const queryParam = reactive<any>({});
|
||||||
const queryParam2 = ref<any>({});
|
const queryParam2 = ref<any>({});
|
||||||
const toggleSearchStatus = ref<boolean>(false);
|
const toggleSearchStatus = ref<boolean>(false);
|
||||||
|
const zhjxsfxs = ref<boolean>(true);
|
||||||
const registerModal = ref();
|
const registerModal = ref();
|
||||||
const userStore = useUserStore();
|
const userStore = useUserStore();
|
||||||
const emit = defineEmits(['callback']);
|
const emit = defineEmits(['callback']);
|
||||||
|
@ -423,6 +411,17 @@ const paginationYxkcProp = ref<any>({
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
pageNo: 1,
|
pageNo: 1,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
//一键打包下载课程材料
|
||||||
|
function handleDownZip(){
|
||||||
|
var urlParams = {xnxq:jxrwInfo.value.xnxqmc, kkyxmc:jxrwInfo.value.kkyxmc,kcmc:jxrwInfo.value.kcmc,teaxm:jxrwInfo.value.teaxm}
|
||||||
|
console.log('urlParams--->',urlParams);
|
||||||
|
defHttp.post({url:"/downKccldbxz/downKccldbxz/add",params:urlParams}).then(res=>{
|
||||||
|
console.log("res--->",res)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
//成绩单
|
//成绩单
|
||||||
function handleCjd(record) {
|
function handleCjd(record) {
|
||||||
sfxk.value = 2;
|
sfxk.value = 2;
|
||||||
|
@ -597,6 +596,16 @@ function handleView(record) {
|
||||||
sfxk.value = 6;
|
sfxk.value = 6;
|
||||||
sfxk2.value = 0;
|
sfxk2.value = 0;
|
||||||
activeKey.value = '1';
|
activeKey.value = '1';
|
||||||
|
|
||||||
|
|
||||||
|
//defHttp.get({url:'/xxhbjwxtxsmd/xxhbjwxtxsmd/selectZhjxList',params:{kcrwdm : record.kcrwdm , synfxcjdm : "! null"}}).then(res =>{
|
||||||
|
// console.log('/xxhbjwxtxsmd/xxhbjwxtxsmd/selectZhjxList--->' , res);
|
||||||
|
// if(res!=null && res.length > 0 ){
|
||||||
|
// zhjxsfxs.value = true;
|
||||||
|
// }else{
|
||||||
|
// zhjxsfxs.value = false;
|
||||||
|
// }
|
||||||
|
//})
|
||||||
}
|
}
|
||||||
|
|
||||||
function onChangeTab(tab) {
|
function onChangeTab(tab) {
|
||||||
|
|
|
@ -42,22 +42,6 @@
|
||||||
</template>
|
</template>
|
||||||
</BasicTable>
|
</BasicTable>
|
||||||
|
|
||||||
<!-- <a-table :columns="columns2" :data-source="checkData"
|
|
||||||
v-model:current="paginationYxkcProp.current"
|
|
||||||
key="id"
|
|
||||||
:total="paginationYxkcProp.total"
|
|
||||||
:pagination="paginationYxkcProp"
|
|
||||||
:row-selection="rowSelection"
|
|
||||||
@change="onPageYxkcChange"
|
|
||||||
@onSelect="handleTable2SelectRowChange"
|
|
||||||
>
|
|
||||||
<template #title><span class="seleciton-line">1</span> <span class="selection-title">已选课程</span></template>
|
|
||||||
<template #bodyCell="{ column, record }">
|
|
||||||
<template v-if="column.dataIndex === 'action'">
|
|
||||||
<a @click="handleView(record)">查看</a>
|
|
||||||
</template>
|
|
||||||
</template>
|
|
||||||
</a-table> -->
|
|
||||||
|
|
||||||
<div class="jeecg-basic-table-form-container" style="margin-top:10px;">
|
<div class="jeecg-basic-table-form-container" style="margin-top:10px;">
|
||||||
<a-form ref="formRef" @keyup.enter.native="searchQuery2" :model="queryParam" :label-col="labelCol" :wrapper-col="wrapperCol" class="query-criteria">
|
<a-form ref="formRef" @keyup.enter.native="searchQuery2" :model="queryParam" :label-col="labelCol" :wrapper-col="wrapperCol" class="query-criteria">
|
||||||
|
@ -164,15 +148,6 @@
|
||||||
<a-form ref="formRef" class="query-criteria">
|
<a-form ref="formRef" class="query-criteria">
|
||||||
<a-row :gutter="24">
|
<a-row :gutter="24">
|
||||||
<a-col :span="24" style="margin-bottom: 10px;">
|
<a-col :span="24" style="margin-bottom: 10px;">
|
||||||
<!-- <div >
|
|
||||||
<a-breadcrumb>
|
|
||||||
<a-breadcrumb-item><a class="mbxtitle" @click="handleFanhui">课程考核材料</a></a-breadcrumb-item>
|
|
||||||
<a-breadcrumb-item><a class="mbxtitle" @click="handleFanhui">已选课程</a></a-breadcrumb-item>
|
|
||||||
<a-breadcrumb-item><a class="mbxtitle" @click="handleFanhui" v-if="jxrwInfo.value">{{jxrwInfo?.value?.kcmc}}</a></a-breadcrumb-item>
|
|
||||||
<a-breadcrumb-item><a class="mbxtitle" @click="handleFanhui">学生原始材料</a></a-breadcrumb-item>
|
|
||||||
<a-breadcrumb-item><span class="mbxtitle">详情</span></a-breadcrumb-item>
|
|
||||||
</a-breadcrumb>
|
|
||||||
</div> -->
|
|
||||||
<a-button type="primary" @click="handleFanhui">返回</a-button>
|
<a-button type="primary" @click="handleFanhui">返回</a-button>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
|
@ -181,7 +156,7 @@
|
||||||
<div class="jeecg-basic-table-form-container">
|
<div class="jeecg-basic-table-form-container">
|
||||||
<a-form ref="formRef" @keyup.enter.native="searchQuery" :model="queryParam" :label-col="labelCol" :wrapper-col="wrapperCol" class="query-criteria">
|
<a-form ref="formRef" @keyup.enter.native="searchQuery" :model="queryParam" :label-col="labelCol" :wrapper-col="wrapperCol" class="query-criteria">
|
||||||
<a-row :gutter="24" v-if="jxrwInfo?.value">
|
<a-row :gutter="24" v-if="jxrwInfo?.value">
|
||||||
<a-col :span="12"><span class="seleciton-line">1</span> <span class="selection-title">课程考核3材料详情 </span> </a-col>
|
<a-col :span="12"><span class="seleciton-line">1</span> <span class="selection-title">课程考核材料详情 </span> </a-col>
|
||||||
<a-col :gutter="24">
|
<a-col :gutter="24">
|
||||||
<div style="text-align: center; font-size:24px; font-weight: 700; line-height: 50px" v-if="jxrwInfo?.value">
|
<div style="text-align: center; font-size:24px; font-weight: 700; line-height: 50px" v-if="jxrwInfo?.value">
|
||||||
{{ jxrwInfo?.value.xnxqmc }}《{{ jxrwInfo?.value.kcmc }}》
|
{{ jxrwInfo?.value.xnxqmc }}《{{ jxrwInfo?.value.kcmc }}》
|
||||||
|
@ -204,6 +179,9 @@
|
||||||
<a-col :xl="8" :sm="12" :md="8">
|
<a-col :xl="8" :sm="12" :md="8">
|
||||||
<span class="header-title" style="margin-left: 15px">选课人数</span> :<span class="header-title">{{ jxrwInfo?.value.jxbrs }}</span>
|
<span class="header-title" style="margin-left: 15px">选课人数</span> :<span class="header-title">{{ jxrwInfo?.value.jxbrs }}</span>
|
||||||
</a-col>
|
</a-col>
|
||||||
|
<a-col :xl="8" :sm="12" :md="8">
|
||||||
|
<a-button type="primary" v-auth="'downKccldbxz:down_kccldbxz:downzip'" @click="handleDownZip">一键打包下载</a-button>
|
||||||
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
</div>
|
</div>
|
||||||
</a-col>
|
</a-col>
|
||||||
|
@ -211,7 +189,7 @@
|
||||||
</a-form>
|
</a-form>
|
||||||
</div>
|
</div>
|
||||||
<a-tabs v-model:activeKey="activeKey" type="card" @change="onChangeTab" style="background-color: white;">
|
<a-tabs v-model:activeKey="activeKey" type="card" @change="onChangeTab" style="background-color: white;">
|
||||||
<a-tab-pane key="1" tab="学生成绩1">
|
<a-tab-pane key="1" tab="学生成绩">
|
||||||
<XscjList ref="cjdFormModal" @callback="init"></XscjList>
|
<XscjList ref="cjdFormModal" @callback="init"></XscjList>
|
||||||
</a-tab-pane>
|
</a-tab-pane>
|
||||||
<a-tab-pane key="2" tab="考核评价材料" :forceRender="true">
|
<a-tab-pane key="2" tab="考核评价材料" :forceRender="true">
|
||||||
|
@ -229,7 +207,7 @@
|
||||||
<Xxhbfxcjmxb0015List ref="Xxhbfxcjmxb0015Modal"></Xxhbfxcjmxb0015List>
|
<Xxhbfxcjmxb0015List ref="Xxhbfxcjmxb0015Modal"></Xxhbfxcjmxb0015List>
|
||||||
</div>
|
</div>
|
||||||
</a-tab-pane>
|
</a-tab-pane>
|
||||||
<!-- <a-tab-pane key="4" tab="智慧教学信息" :forceRender="true">
|
<!-- <a-tab-pane key="4" tab="智慧教学信息" :forceRender="true" v-if="zhjxsfxs">
|
||||||
<div v-show="zhjxxx == 1">
|
<div v-show="zhjxxx == 1">
|
||||||
<Xxhbfxcjb0016List ref="Xxhbfxcjb0016Modal" @callback="handleZhjxzx" ></Xxhbfxcjb0016List>
|
<Xxhbfxcjb0016List ref="Xxhbfxcjb0016Modal" @callback="handleZhjxzx" ></Xxhbfxcjb0016List>
|
||||||
</div>
|
</div>
|
||||||
|
@ -238,6 +216,7 @@
|
||||||
<Xxhbfxcjmxb0015List ref="Xxhbfxcjmxb0015Modal"></Xxhbfxcjmxb0015List>
|
<Xxhbfxcjmxb0015List ref="Xxhbfxcjmxb0015Modal"></Xxhbfxcjmxb0015List>
|
||||||
</div>
|
</div>
|
||||||
</a-tab-pane> -->
|
</a-tab-pane> -->
|
||||||
|
|
||||||
|
|
||||||
</a-tabs>
|
</a-tabs>
|
||||||
|
|
||||||
|
@ -282,6 +261,7 @@ const xsysclXqFormModal = ref();
|
||||||
const queryParam = reactive<any>({});
|
const queryParam = reactive<any>({});
|
||||||
const queryParam2 = ref<any>({});
|
const queryParam2 = ref<any>({});
|
||||||
const toggleSearchStatus = ref<boolean>(false);
|
const toggleSearchStatus = ref<boolean>(false);
|
||||||
|
const zhjxsfxs = ref<boolean>(true);
|
||||||
const registerModal = ref();
|
const registerModal = ref();
|
||||||
const Xxhbfxcjb0016Modal = ref();
|
const Xxhbfxcjb0016Modal = ref();
|
||||||
const Xxhbfxcjmxb0015Modal = ref();
|
const Xxhbfxcjmxb0015Modal = ref();
|
||||||
|
@ -353,7 +333,14 @@ const paginationYxkcProp = ref<any>({
|
||||||
function handleTable2SelectRowChange(event) {
|
function handleTable2SelectRowChange(event) {
|
||||||
console.log('--------rowchange----->',event);
|
console.log('--------rowchange----->',event);
|
||||||
}
|
}
|
||||||
|
//一键打包下载课程材料
|
||||||
|
function handleDownZip(){
|
||||||
|
var urlParams = {xnxq:jxrwInfo.value.xnxqmc, kkyxmc:jxrwInfo.value.kkyxmc,kcmc:jxrwInfo.value.kcmc,teaxm:jxrwInfo.value.teaxm}
|
||||||
|
console.log('urlParams--->',urlParams);
|
||||||
|
defHttp.post({url:"/downKccldbxz/downKccldbxz/add",params:urlParams}).then(res=>{
|
||||||
|
console.log("res--->",res)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
//成绩单
|
//成绩单
|
||||||
function handleCjd(record) {
|
function handleCjd(record) {
|
||||||
|
@ -380,13 +367,7 @@ function handleXuanke() {
|
||||||
searchQuery2();
|
searchQuery2();
|
||||||
}
|
}
|
||||||
function handleXsysclxq(record) {
|
function handleXsysclxq(record) {
|
||||||
// console.log('👨⚕️handleXsysclxq', record);
|
|
||||||
// sfxk2.value = 5;
|
|
||||||
// xsysclXqFormModal.value.init(record);
|
|
||||||
|
|
||||||
console.log('👨⚕️handleXsysclxq', record);
|
|
||||||
var cltype = record.cltype;
|
var cltype = record.cltype;
|
||||||
console.log('cltype--->',cltype);
|
|
||||||
if(cltype == '1'){
|
if(cltype == '1'){
|
||||||
sfxk2.value = 6;
|
sfxk2.value = 6;
|
||||||
Xxhbfxcjmxb0015Modal.value.init(record);
|
Xxhbfxcjmxb0015Modal.value.init(record);
|
||||||
|
@ -541,6 +522,16 @@ function handleView(record) {
|
||||||
sfxk.value = 6;
|
sfxk.value = 6;
|
||||||
sfxk2.value = 0;
|
sfxk2.value = 0;
|
||||||
activeKey.value = '1';
|
activeKey.value = '1';
|
||||||
|
|
||||||
|
//defHttp.get({url:'/xxhbjwxtxsmd/xxhbjwxtxsmd/selectZhjxList',params:{kcrwdm : record.kcrwdm , synfxcjdm : "! null"}}).then(res =>{
|
||||||
|
// console.log('/xxhbjwxtxsmd/xxhbjwxtxsmd/selectZhjxList--->' , res);
|
||||||
|
// if(res!=null && res.length > 0 ){
|
||||||
|
// zhjxsfxs.value = true;
|
||||||
|
// }else{
|
||||||
|
// zhjxsfxs.value = false;
|
||||||
|
// }
|
||||||
|
//})
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function onChangeTab(tab) {
|
function onChangeTab(tab) {
|
||||||
|
|
Loading…
Reference in New Issue