Merge remote-tracking branch 'origin/dev_third_stage' into dev_third_stage
This commit is contained in:
+135
-113
@@ -11,11 +11,12 @@ import com.jero.modules.compare.mapper.SarFileCompareItemCommentMapper;
|
||||
import com.jero.modules.compare.service.ISarFileCompareInfoService;
|
||||
import com.jero.modules.compare.service.ISarFileCompareItemCommentService;
|
||||
import com.jero.modules.compare.service.ISarFileCompareItemService;
|
||||
import com.jero.modules.compare.utils.ConvertHtml2Excel;
|
||||
import com.jero.modules.system.util.StringUtils;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
import org.apache.poi.hssf.usermodel.HSSFClientAnchor;
|
||||
import org.apache.poi.hssf.usermodel.HSSFPatriarch;
|
||||
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
||||
import org.apache.poi.common.usermodel.HyperlinkType;
|
||||
import org.apache.poi.hssf.usermodel.*;
|
||||
import org.apache.poi.hssf.util.HSSFColor;
|
||||
import org.apache.poi.ss.usermodel.*;
|
||||
import org.apache.poi.ss.util.CellRangeAddress;
|
||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||
@@ -255,6 +256,12 @@ public class SarFileCompareItemCommentServiceImpl extends ServiceImpl<SarFileCom
|
||||
sheet.setColumnWidth(i, columnWidth[i]);
|
||||
}
|
||||
}
|
||||
//超链接样式
|
||||
CellStyle cellStyleLink =workbook.createCellStyle();
|
||||
HSSFFont font = ((HSSFWorkbook) workbook).createFont();
|
||||
font.setColor(HSSFColor.LIGHT_BLUE.index);
|
||||
cellStyleLink.setFont(font);
|
||||
cellStyleLink.setWrapText(true);
|
||||
int i = 1;
|
||||
//记录需要合并的单元格
|
||||
List<SarFileCompareExcelMergeCell> mergeCells = new ArrayList<>();
|
||||
@@ -272,69 +279,20 @@ public class SarFileCompareItemCommentServiceImpl extends ServiceImpl<SarFileCom
|
||||
row.createCell(1).setCellValue(itemLeft.getItemsNum());
|
||||
row.createCell(2).setCellValue(itemLeft.getItemsName());
|
||||
String text = itemLeft.getItemsText();
|
||||
text = text.replace("<p>", "").replace("</p>", "\r\n");
|
||||
addImgdata(text,request.getSession());
|
||||
String rowDataAndPath = (String) request.getSession().getAttribute("txtAndImg");
|
||||
String rowDataAndPath = getSplitContent(request, text);
|
||||
leftSplit = rowDataAndPath.split("---");
|
||||
if (leftSplit.length > 1) {
|
||||
for (int j = 0; j < leftSplit.length; j++) {
|
||||
if (ObjectUtils.isNotEmpty(leftSplit[j])) {
|
||||
ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream();
|
||||
BufferedImage bufferImg = null;
|
||||
if (j > 0) {
|
||||
Row row2 = sheet.getRow(j + i);
|
||||
if (ObjectUtils.isEmpty(row2)) {
|
||||
row2 = sheet.createRow(j + i);
|
||||
}
|
||||
if (leftSplit[j].contains("/upFiles")) {
|
||||
row2.setHeight((short) 3000); //设置行高
|
||||
//先将图片下载到本地
|
||||
String fileLastName = leftSplit[j].substring(leftSplit[j].lastIndexOf("/") + 1);
|
||||
if (CosBootUtil.doesObjectExist(leftSplit[j])) {
|
||||
try (InputStream in = CosBootUtil.download(leftSplit[j])) {
|
||||
copyFile2(in, dir + File.separator + fileLastName);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
log.error(e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
File file = new File(dir + File.separator + fileLastName);
|
||||
if (file.exists()) {
|
||||
bufferImg = ImageIO.read(file);
|
||||
ImageIO.write(bufferImg, "jpg", byteArrayOut);
|
||||
//anchor主要用于设置图片的属性
|
||||
HSSFClientAnchor anchor = new HSSFClientAnchor(0, 0, 600, 200, (short) 3, j + i, (short) 3, j + i);
|
||||
patriarch.createPicture(anchor, workbook.addPicture(byteArrayOut.toByteArray(), HSSFWorkbook.PICTURE_TYPE_JPEG));
|
||||
|
||||
}
|
||||
} else {
|
||||
row2.createCell(3).setCellValue(leftSplit[j]);
|
||||
}
|
||||
handleSpecificData(workbook, dir, patriarch, cellStyleLink, byteArrayOut, row2, i, j, leftSplit[j], 3);
|
||||
} else {
|
||||
if (leftSplit[j].contains("/upFiles")) {
|
||||
row.setHeight((short) 3000); //设置行高
|
||||
//先将图片下载到本地
|
||||
String fileLastName = leftSplit[j].substring(leftSplit[j].lastIndexOf("/") + 1);
|
||||
if (CosBootUtil.doesObjectExist(leftSplit[j])) {
|
||||
try (InputStream in = CosBootUtil.download(leftSplit[j])) {
|
||||
copyFile2(in, dir + File.separator + fileLastName);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
log.error(e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
File file = new File(dir + File.separator + fileLastName);
|
||||
if (file.exists()) {
|
||||
bufferImg = ImageIO.read(file);
|
||||
ImageIO.write(bufferImg, "jpg", byteArrayOut);
|
||||
//anchor主要用于设置图片的属性
|
||||
HSSFClientAnchor anchor = new HSSFClientAnchor(0, 0, 600, 200, (short) 3, j + i, (short) 3, j + i);
|
||||
patriarch.createPicture(anchor, workbook.addPicture(byteArrayOut.toByteArray(), HSSFWorkbook.PICTURE_TYPE_JPEG));
|
||||
|
||||
}
|
||||
} else {
|
||||
row.createCell(3).setCellValue(leftSplit[j]);
|
||||
}
|
||||
handleSpecificData(workbook, dir, patriarch, cellStyleLink, byteArrayOut, row, i, j, leftSplit[j], 3);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -346,7 +304,6 @@ public class SarFileCompareItemCommentServiceImpl extends ServiceImpl<SarFileCom
|
||||
} else {
|
||||
row.createCell(3).setCellValue(rowDataAndPath);
|
||||
}
|
||||
row.setRowStyle(cellStyle);
|
||||
}
|
||||
}
|
||||
String itemIdRight = itemComment.getItemsIdRight();
|
||||
@@ -356,69 +313,20 @@ public class SarFileCompareItemCommentServiceImpl extends ServiceImpl<SarFileCom
|
||||
row.createCell(5).setCellValue(itemRight.getItemsNum());
|
||||
row.createCell(6).setCellValue(itemRight.getItemsName());
|
||||
String text = itemRight.getItemsText();
|
||||
text = text.replace("<p>", "").replace("</p>", "\r\n");
|
||||
addImgdata(text,request.getSession());
|
||||
String rowDataAndPath = (String) request.getSession().getAttribute("txtAndImg");
|
||||
String rowDataAndPath = getSplitContent(request, text);
|
||||
rightSplit = rowDataAndPath.split("---");
|
||||
if (rightSplit.length > 1) {
|
||||
for (int j = 0; j < rightSplit.length; j++) {
|
||||
if (ObjectUtils.isNotEmpty(rightSplit[j])) {
|
||||
ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream();
|
||||
BufferedImage bufferImg = null;
|
||||
if (j > 0) {
|
||||
Row row2 = sheet.getRow(j + i);
|
||||
if (ObjectUtils.isEmpty(row2)) {
|
||||
row2 = sheet.createRow(j + i);
|
||||
}
|
||||
if (rightSplit[j].contains("/upFiles")) {
|
||||
row2.setHeight((short) 3000); //设置行高
|
||||
//先将图片下载到本地
|
||||
String fileLastName = rightSplit[j].substring(rightSplit[j].lastIndexOf("/") + 1);
|
||||
if (CosBootUtil.doesObjectExist(rightSplit[j])) {
|
||||
try (InputStream in = CosBootUtil.download(rightSplit[j])) {
|
||||
copyFile2(in, dir + File.separator + fileLastName);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
log.error(e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
File file = new File(dir + File.separator + fileLastName);
|
||||
if (file.exists()) {
|
||||
bufferImg = ImageIO.read(file);
|
||||
ImageIO.write(bufferImg, "jpg", byteArrayOut);
|
||||
//anchor主要用于设置图片的属性
|
||||
HSSFClientAnchor anchor = new HSSFClientAnchor(0, 0, 600, 200, (short) 7, j + i, (short) 7, j + i);
|
||||
patriarch.createPicture(anchor, workbook.addPicture(byteArrayOut.toByteArray(), HSSFWorkbook.PICTURE_TYPE_JPEG));
|
||||
|
||||
}
|
||||
} else {
|
||||
row2.createCell(7).setCellValue(rightSplit[j]);
|
||||
}
|
||||
handleSpecificData(workbook, dir, patriarch, cellStyleLink, byteArrayOut, row2, i, j, rightSplit[j], 7);
|
||||
} else {
|
||||
if (rightSplit[j].contains("/upFiles")) {
|
||||
row.setHeight((short) 3000); //设置行高
|
||||
//先将图片下载到本地
|
||||
String fileLastName = rightSplit[j].substring(rightSplit[j].lastIndexOf("/") + 1);
|
||||
if (CosBootUtil.doesObjectExist(rightSplit[j])) {
|
||||
try (InputStream in = CosBootUtil.download(rightSplit[j])) {
|
||||
copyFile2(in, dir + File.separator + fileLastName);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
log.error(e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
File file = new File(dir + File.separator + fileLastName);
|
||||
if (file.exists()) {
|
||||
bufferImg = ImageIO.read(file);
|
||||
ImageIO.write(bufferImg, "jpg", byteArrayOut);
|
||||
//anchor主要用于设置图片的属性
|
||||
HSSFClientAnchor anchor = new HSSFClientAnchor(0, 0, 600, 200, (short) 7, j + i, (short) 7, j + i);
|
||||
patriarch.createPicture(anchor, workbook.addPicture(byteArrayOut.toByteArray(), HSSFWorkbook.PICTURE_TYPE_JPEG));
|
||||
|
||||
}
|
||||
} else {
|
||||
row.createCell(7).setCellValue(rightSplit[j]);
|
||||
}
|
||||
handleSpecificData(workbook, dir, patriarch, cellStyleLink, byteArrayOut, row, i, j, rightSplit[j], 7);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -428,11 +336,11 @@ public class SarFileCompareItemCommentServiceImpl extends ServiceImpl<SarFileCom
|
||||
} else {
|
||||
row.createCell(7).setCellValue(rowDataAndPath);
|
||||
}
|
||||
row.setRowStyle(cellStyle);
|
||||
}
|
||||
}
|
||||
row.createCell(8).setCellValue(itemComment.getComment());
|
||||
for (int j = 0; j < 7; j++) {
|
||||
row.setRowStyle(cellStyle);
|
||||
for (int j = 0; j < 9; j++) {
|
||||
Cell cell = row.getCell(j);
|
||||
if (null != cell) {
|
||||
cell.setCellStyle(cellStyle);
|
||||
@@ -495,18 +403,132 @@ public class SarFileCompareItemCommentServiceImpl extends ServiceImpl<SarFileCom
|
||||
}
|
||||
|
||||
/**
|
||||
* 提取字符串中<img>标签内容中的图片路径,并重新按顺序拼接
|
||||
* 处理图片跟表格类型的数据
|
||||
* @param workbook
|
||||
* @param dir
|
||||
* @param patriarch
|
||||
* @param cellStyleLink
|
||||
* @param byteArrayOut
|
||||
* @param row
|
||||
* @param i
|
||||
* @param j
|
||||
* @param text
|
||||
* @param cellNum
|
||||
* @throws IOException
|
||||
*/
|
||||
private void handleSpecificData(Workbook workbook, String dir, HSSFPatriarch patriarch, CellStyle cellStyleLink, ByteArrayOutputStream byteArrayOut, Row row, int i, int j, String text, int cellNum) throws IOException {
|
||||
if (text.contains("/upFiles")) {
|
||||
row.setHeight((short) 3000); //设置行高
|
||||
//先将图片下载到本地
|
||||
String fileLastName = text.substring(text.lastIndexOf("/") + 1);
|
||||
if (CosBootUtil.doesObjectExist(text)) {
|
||||
try (InputStream in = CosBootUtil.download(text)) {
|
||||
copyFile2(in, dir + File.separator + fileLastName);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
log.error(e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
File file = new File(dir + File.separator + fileLastName);
|
||||
if (file.exists()) {
|
||||
BufferedImage bufferImg = ImageIO.read(file);
|
||||
ImageIO.write(bufferImg, "jpg", byteArrayOut);
|
||||
//anchor主要用于设置图片的属性
|
||||
HSSFClientAnchor anchor = new HSSFClientAnchor(0, 0, 600, 200, (short) cellNum, j + i, (short) cellNum, j + i);
|
||||
patriarch.createPicture(anchor, workbook.addPicture(byteArrayOut.toByteArray(), HSSFWorkbook.PICTURE_TYPE_JPEG));
|
||||
|
||||
}
|
||||
} else {
|
||||
Cell cell = row.createCell(cellNum);
|
||||
if (text.contains("<table")) {
|
||||
tableAssociate(workbook, cellStyleLink, cell, text);
|
||||
} else {
|
||||
cell.setCellValue(text);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 当前excel中新开sheet生成表格,并在指定单元格用超链接关联
|
||||
* @param workbook
|
||||
* @param cellStyleLink
|
||||
* @param cell
|
||||
* @param tableHtml
|
||||
*/
|
||||
private void tableAssociate(Workbook workbook, CellStyle cellStyleLink, Cell cell, String tableHtml) {
|
||||
cell.setCellValue("点击查看详情");
|
||||
//新开sheet生成表格
|
||||
if (org.apache.commons.lang.StringUtils.isNotEmpty(tableHtml) && tableHtml.indexOf("<tbody>") < 0) {
|
||||
if (tableHtml.indexOf("<thead>") < 0) {
|
||||
tableHtml = tableHtml.replaceFirst("<tr>", "<tbody><tr>");
|
||||
tableHtml = tableHtml.replaceFirst("</table>", "</tbody></table>");
|
||||
} else {
|
||||
tableHtml = tableHtml.replaceFirst("</thead>", "</thead><tbody>");
|
||||
tableHtml = tableHtml.replaceFirst("</table>", "</tbody></table>");
|
||||
}
|
||||
}
|
||||
String cnt = "\n";
|
||||
tableHtml = tableHtml.replaceAll("<[\\s]*?br[^>]*?>|<[\\s]*?\\/[\\s]*?br[\\s]*?>", cnt);
|
||||
String tableSheetName = "表格" + System.currentTimeMillis();
|
||||
ConvertHtml2Excel.table2Excel(tableHtml, (HSSFWorkbook) workbook, tableSheetName);
|
||||
//添加超链接
|
||||
CreationHelper createHelper = workbook.getCreationHelper();
|
||||
Hyperlink hyperlink1 = createHelper.createHyperlink(HyperlinkType.DOCUMENT);
|
||||
String tableName = "#\'" + tableSheetName + "\'!A1";
|
||||
hyperlink1.setAddress(tableName);
|
||||
cell.setHyperlink(hyperlink1);// 链接
|
||||
cell.setCellStyle(cellStyleLink);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取文字、图片、表格分割后的内容
|
||||
* @param request
|
||||
* @param text
|
||||
* @return
|
||||
*/
|
||||
private void addImgdata(String text,HttpSession session) {
|
||||
private String getSplitContent(HttpServletRequest request, String text) {
|
||||
text = text.replace("<p>", "").replace("</p>", "\r\n");
|
||||
//分割图片
|
||||
splitImg(text, request.getSession());
|
||||
//分割表格
|
||||
String txtAndImg = (String) request.getSession().getAttribute("txtAndImg");
|
||||
txtAndImg = txtAndImg.replaceAll("table", "replaceTable");
|
||||
splitTable(txtAndImg, request.getSession());
|
||||
return (String) request.getSession().getAttribute("textAndTableAndImg");
|
||||
}
|
||||
|
||||
/**
|
||||
* 分割表格
|
||||
* @param textAndImg
|
||||
* @param session
|
||||
*/
|
||||
private void splitTable(String textAndImg,HttpSession session) {
|
||||
if (textAndImg.contains("<replaceTable")) {
|
||||
String left = textAndImg.substring(0, textAndImg.indexOf("<replaceTable"));
|
||||
String right = textAndImg.substring(textAndImg.indexOf("/replaceTable>") + 14);
|
||||
String table = textAndImg.substring(textAndImg.indexOf("<replaceTable"), textAndImg.indexOf("/replaceTable>")+14);
|
||||
table = table.replaceAll("replaceTable", "table");
|
||||
textAndImg = left + "---" + table + "---" + right;
|
||||
splitTable(textAndImg, session);
|
||||
} else {
|
||||
session.setAttribute("textAndTableAndImg", textAndImg);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 分割图片
|
||||
* @param text
|
||||
* @param session
|
||||
* @return
|
||||
*/
|
||||
private void splitImg(String text,HttpSession session) {
|
||||
if (text.contains("<img")) {
|
||||
String txtLeft = text.substring(0, text.indexOf("<img"));
|
||||
String txtRight = text.substring(text.indexOf("g\">") + 3);
|
||||
String img = text.substring(text.indexOf("<img"), text.indexOf("g\">"));
|
||||
String path = img.substring(img.lastIndexOf("=") + 1)+"g";
|
||||
text = txtLeft + "---" + path + "---" + txtRight;
|
||||
addImgdata(text, session);
|
||||
splitImg(text, session);
|
||||
} else {
|
||||
session.setAttribute("txtAndImg", text);
|
||||
}
|
||||
|
||||
+231
@@ -0,0 +1,231 @@
|
||||
package com.jero.modules.compare.utils;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.commons.lang3.math.NumberUtils;
|
||||
import org.apache.poi.hssf.usermodel.HSSFCell;
|
||||
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
|
||||
import org.apache.poi.hssf.usermodel.HSSFFont;
|
||||
import org.apache.poi.hssf.usermodel.HSSFRow;
|
||||
import org.apache.poi.hssf.usermodel.HSSFSheet;
|
||||
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
||||
import org.apache.poi.hssf.util.HSSFCellUtil;
|
||||
import org.apache.poi.hssf.util.HSSFColor;
|
||||
import org.apache.poi.ss.util.CellRangeAddress;
|
||||
import org.dom4j.Document;
|
||||
import org.dom4j.DocumentException;
|
||||
import org.dom4j.DocumentHelper;
|
||||
import org.dom4j.Element;
|
||||
|
||||
|
||||
/****
|
||||
* html转excel
|
||||
* @author user
|
||||
*
|
||||
*/
|
||||
public class ConvertHtml2Excel {
|
||||
/**
|
||||
* html表格转excel
|
||||
*
|
||||
* @param tableHtml 如
|
||||
* <table>
|
||||
* ..
|
||||
* </table>
|
||||
* @return
|
||||
*/
|
||||
public static void table2Excel(String tableHtml, HSSFWorkbook wb,String tableSheetName) {
|
||||
HSSFSheet sheet = wb.createSheet(tableSheetName);
|
||||
List<CrossRangeCellMeta> crossRowEleMetaLs = new ArrayList<CrossRangeCellMeta>();
|
||||
int rowIndex = 0;
|
||||
try {
|
||||
Document data = DocumentHelper.parseText(tableHtml);
|
||||
// 生成表头
|
||||
Element thead = data.getRootElement().element("thead");
|
||||
HSSFCellStyle titleStyle = getTitleStyle(wb);
|
||||
int ls=0;//列数
|
||||
if (thead != null) {
|
||||
List<Element> trLs = thead.elements("tr");
|
||||
for (Element trEle : trLs) {
|
||||
HSSFRow row = sheet.createRow(rowIndex);
|
||||
List<Element> thLs = trEle.elements("th");
|
||||
ls=thLs.size();
|
||||
makeRowCell(thLs, rowIndex, row, 0, titleStyle, crossRowEleMetaLs);
|
||||
rowIndex++;
|
||||
}
|
||||
}
|
||||
// 生成表体
|
||||
Element tbody = data.getRootElement().element("tbody");
|
||||
HSSFCellStyle contentStyle = getContentStyle(wb);
|
||||
if (tbody != null) {
|
||||
List<Element> trLs = tbody.elements("tr");
|
||||
for (Element trEle : trLs) {
|
||||
HSSFRow row = sheet.createRow(rowIndex);
|
||||
List<Element> thLs = trEle.elements("th");
|
||||
int cellIndex = makeRowCell(thLs, rowIndex, row, 0, titleStyle, crossRowEleMetaLs);
|
||||
List<Element> tdLs = trEle.elements("td");
|
||||
makeRowCell(tdLs, rowIndex, row, cellIndex, contentStyle, crossRowEleMetaLs);
|
||||
rowIndex++;
|
||||
}
|
||||
}
|
||||
// 合并表头
|
||||
for (CrossRangeCellMeta crcm : crossRowEleMetaLs) {
|
||||
sheet.addMergedRegion(new CellRangeAddress(crcm.getFirstRow(), crcm.getLastRow(), crcm.getFirstCol(), crcm.getLastCol()));
|
||||
setRegionStyle(sheet, new CellRangeAddress(crcm.getFirstRow(), crcm.getLastRow(), crcm.getFirstCol(), crcm.getLastCol()),contentStyle);
|
||||
}
|
||||
for(int i=0;i<ls;i++){
|
||||
sheet.autoSizeColumn(i, true);//设置列宽
|
||||
}
|
||||
} catch (DocumentException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 生产行内容
|
||||
*
|
||||
* @return 最后一列的cell index
|
||||
*/
|
||||
/**
|
||||
* @param tdLs th或者td集合
|
||||
* @param rowIndex 行号
|
||||
* @param row POI行对象
|
||||
* @param startCellIndex
|
||||
* @param cellStyle 样式
|
||||
* @param crossRowEleMetaLs 跨行元数据集合
|
||||
* @return
|
||||
*/
|
||||
private static int makeRowCell(List<Element> tdLs, int rowIndex, HSSFRow row, int startCellIndex, HSSFCellStyle cellStyle,
|
||||
List<CrossRangeCellMeta> crossRowEleMetaLs) {
|
||||
int i = startCellIndex;
|
||||
for (int eleIndex = 0; eleIndex < tdLs.size(); i++, eleIndex++) {
|
||||
int captureCellSize = getCaptureCellSize(rowIndex, i, crossRowEleMetaLs);
|
||||
while (captureCellSize > 0) {
|
||||
for (int j = 0; j < captureCellSize; j++) {// 当前行跨列处理(补单元格)
|
||||
row.createCell(i);
|
||||
i++;
|
||||
}
|
||||
captureCellSize = getCaptureCellSize(rowIndex, i, crossRowEleMetaLs);
|
||||
}
|
||||
Element thEle = tdLs.get(eleIndex);
|
||||
String val = thEle.getTextTrim();
|
||||
if (StringUtils.isBlank(val)) {
|
||||
Element e = thEle.element("a");
|
||||
if (e != null) {
|
||||
val = e.getTextTrim();
|
||||
}
|
||||
}
|
||||
HSSFCell c = row.createCell(i);
|
||||
if (NumberUtils.isNumber(val)) {
|
||||
c.setCellValue(Double.parseDouble(val));
|
||||
c.setCellType(HSSFCell.CELL_TYPE_NUMERIC);
|
||||
} else {
|
||||
c.setCellValue(val);
|
||||
}
|
||||
int rowSpan = NumberUtils.toInt(thEle.attributeValue("rowspan"), 1);
|
||||
int colSpan = NumberUtils.toInt(thEle.attributeValue("colspan"), 1);
|
||||
c.setCellStyle(cellStyle);
|
||||
if (rowSpan > 1 || colSpan > 1) { // 存在跨行或跨列
|
||||
crossRowEleMetaLs.add(new CrossRangeCellMeta(rowIndex, i, rowSpan, colSpan));
|
||||
}
|
||||
if (colSpan > 1) {// 当前行跨列处理(补单元格)
|
||||
for (int j = 1; j < colSpan; j++) {
|
||||
i++;
|
||||
row.createCell(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
return i;
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置合并单元格的边框样式
|
||||
*
|
||||
* @param sheet
|
||||
* @param region
|
||||
* @param cs
|
||||
*/
|
||||
public static void setRegionStyle(HSSFSheet sheet, CellRangeAddress region, HSSFCellStyle cs) {
|
||||
for (int i = region.getFirstRow(); i <= region.getLastRow(); i++) {
|
||||
HSSFRow row = HSSFCellUtil.getRow(i, sheet);
|
||||
for (int j = region.getFirstColumn(); j <= region.getLastColumn(); j++) {
|
||||
HSSFCell cell = HSSFCellUtil.getCell(row, (short) j);
|
||||
cell.setCellStyle(cs);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获得因rowSpan占据的单元格
|
||||
*
|
||||
* @param rowIndex 行号
|
||||
* @param colIndex 列号
|
||||
* @param crossRowEleMetaLs 跨行列元数据
|
||||
* @return 当前行在某列需要占据单元格
|
||||
*/
|
||||
private static int getCaptureCellSize(int rowIndex, int colIndex, List<CrossRangeCellMeta> crossRowEleMetaLs) {
|
||||
int captureCellSize = 0;
|
||||
for (CrossRangeCellMeta crossRangeCellMeta : crossRowEleMetaLs) {
|
||||
if (crossRangeCellMeta.getFirstRow() < rowIndex && crossRangeCellMeta.getLastRow() >= rowIndex) {
|
||||
if (crossRangeCellMeta.getFirstCol() <= colIndex && crossRangeCellMeta.getLastCol() >= colIndex) {
|
||||
captureCellSize = crossRangeCellMeta.getLastCol() - colIndex + 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
return captureCellSize;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获得标题样式
|
||||
*
|
||||
* @param workbook
|
||||
* @return
|
||||
*/
|
||||
private static HSSFCellStyle getTitleStyle(HSSFWorkbook workbook) {
|
||||
short titlebackgroundcolor = HSSFColor.GREY_25_PERCENT.index;
|
||||
short fontSize = 12;
|
||||
String fontName = "宋体";
|
||||
HSSFCellStyle style = workbook.createCellStyle();
|
||||
style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
|
||||
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
|
||||
style.setBorderBottom(HSSFCellStyle.BORDER_THIN); //下边框
|
||||
style.setBorderLeft(HSSFCellStyle.BORDER_THIN);//左边框
|
||||
style.setBorderTop(HSSFCellStyle.BORDER_THIN);//上边框
|
||||
style.setBorderRight(HSSFCellStyle.BORDER_THIN);//右边框
|
||||
style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
|
||||
style.setFillForegroundColor(titlebackgroundcolor);// 背景色
|
||||
|
||||
HSSFFont font = workbook.createFont();
|
||||
font.setFontName(fontName);
|
||||
font.setFontHeightInPoints(fontSize);
|
||||
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
|
||||
style.setFont(font);
|
||||
return style;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获得内容样式
|
||||
*
|
||||
* @param wb
|
||||
* @return
|
||||
*/
|
||||
private static HSSFCellStyle getContentStyle(HSSFWorkbook wb) {
|
||||
short fontSize = 12;
|
||||
String fontName = "宋体";
|
||||
HSSFCellStyle style = wb.createCellStyle();
|
||||
style.setBorderBottom((short) 1);
|
||||
style.setBorderTop((short) 1);
|
||||
style.setBorderLeft((short) 1);
|
||||
style.setBorderRight((short) 1);
|
||||
HSSFFont font = wb.createFont();
|
||||
font.setFontName(fontName);
|
||||
font.setFontHeightInPoints(fontSize);
|
||||
style.setFont(font);
|
||||
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);//水平居中
|
||||
style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);//垂直居中
|
||||
|
||||
return style;
|
||||
}
|
||||
}
|
||||
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
package com.jero.modules.compare.utils;
|
||||
|
||||
public class CrossRangeCellMeta {
|
||||
|
||||
public CrossRangeCellMeta(int firstRowIndex, int firstColIndex, int rowSpan, int colSpan) {
|
||||
super();
|
||||
this.firstRowIndex = firstRowIndex;
|
||||
this.firstColIndex = firstColIndex;
|
||||
this.rowSpan = rowSpan;
|
||||
this.colSpan = colSpan;
|
||||
}
|
||||
|
||||
private int firstRowIndex;
|
||||
private int firstColIndex;
|
||||
private int rowSpan;// 跨越行数
|
||||
private int colSpan;// 跨越列数
|
||||
|
||||
public int getFirstRow() {
|
||||
return firstRowIndex;
|
||||
}
|
||||
|
||||
public int getLastRow() {
|
||||
return firstRowIndex + rowSpan - 1;
|
||||
}
|
||||
|
||||
public int getFirstCol() {
|
||||
return firstColIndex;
|
||||
}
|
||||
|
||||
public int getLastCol() {
|
||||
return firstColIndex + colSpan - 1;
|
||||
}
|
||||
|
||||
public int getColSpan(){
|
||||
return colSpan;
|
||||
}
|
||||
}
|
||||
+13
-3
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.aspect.annotation.AutoLog;
|
||||
import com.jero.common.constant.enums.CutEnum;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.base.controller.JeroController;
|
||||
import com.jero.modules.extRepo.entity.ERFTreeDataVO;
|
||||
import com.jero.modules.extRepo.entity.ExtRepoData;
|
||||
@@ -66,11 +67,20 @@ public class ExtRepoFolderController extends JeroController<ExtRepoFolder, IExtR
|
||||
public Result<?> add(@Validated @RequestBody ExtRepoFolder extRepoFolder, HttpSession session) {
|
||||
Result<ExtRepoFolder> result = new Result();
|
||||
session.setAttribute("haveSuperiorManageAuth", false);
|
||||
extRepoFolderService.haveSuperiorManageAuth(extRepoFolder.getSupFolder(),session);
|
||||
if (ObjectUtils.isNotEmpty(session.getAttribute("haveSuperiorManageAuth"))&&(Boolean) session.getAttribute("haveSuperiorManageAuth")) {
|
||||
ExtRepoFolder folder = extRepoFolderService.queryById(extRepoFolder.getSupFolder());
|
||||
extRepoFolderService.haveSuperiorManageAuth(folder.getSupFolder(),session);
|
||||
//上层是否有权限
|
||||
boolean boo = (Boolean)session.getAttribute("haveSuperiorManageAuth");
|
||||
if (boo||extRepoFolderService.haveManageAuth(extRepoFolder.getSupFolder())) {
|
||||
if (!extRepoFolder.isAddSub()) {
|
||||
//增加同级文件夹
|
||||
ExtRepoFolder folder = extRepoFolderService.queryById(extRepoFolder.getSupFolder());
|
||||
if (!boo) {
|
||||
if (CutEnum.CN.getValue().equals(extRepoFolder.getCut())) {
|
||||
throw new JeroBootException("无法创建同级文件夹!请联系管理员!");
|
||||
} else {
|
||||
throw new JeroBootException("Unable to create a sibling folder ! Please Contact your administrator !");
|
||||
}
|
||||
}
|
||||
extRepoFolder.setSupFolder(folder.getSupFolder());
|
||||
}
|
||||
extRepoFolderService.add(extRepoFolder);
|
||||
|
||||
+8
-13
@@ -752,20 +752,15 @@ public class LawsTechnologyEvaluationEOServiceImpl extends ServiceImpl<LawsTechn
|
||||
countError++;
|
||||
}
|
||||
|
||||
if(StringUtils.isEmpty(itemName)){
|
||||
if(StringUtils.equals(cut,CutEnum.CN.getValue())){
|
||||
errorMsg += "条款名称不能为空;";
|
||||
}else if (StringUtils.equals(cut,CutEnum.EN.getValue())){
|
||||
errorMsg += "Item Name cannot be empty;";
|
||||
if(StringUtils.isNotEmpty(itemName)){
|
||||
if(itemName.length() > 100){
|
||||
if(StringUtils.equals(cut,CutEnum.CN.getValue())){
|
||||
errorMsg += "条款名称长度不能超过100;";
|
||||
}else if (StringUtils.equals(cut,CutEnum.EN.getValue())){
|
||||
errorMsg += "Item Name length of the cannot exceed 100;";
|
||||
}
|
||||
countError++;
|
||||
}
|
||||
countError++;
|
||||
}else if(itemName.length() > 100){
|
||||
if(StringUtils.equals(cut,CutEnum.CN.getValue())){
|
||||
errorMsg += "条款名称长度不能超过100;";
|
||||
}else if (StringUtils.equals(cut,CutEnum.EN.getValue())){
|
||||
errorMsg += "Item Name length of the cannot exceed 100;";
|
||||
}
|
||||
countError++;
|
||||
}
|
||||
|
||||
if(StringUtils.isEmpty(itemContent)){
|
||||
|
||||
+4
-4
@@ -884,8 +884,8 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
|
||||
titleCN = "\r\n\r\n" + titleCN + "\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n";
|
||||
WordUtil.exportWord(document, titleCN, null, ParagraphAlignment.CENTER, 0, 18,
|
||||
false, false, "Blue Sky Noto Regular",null,null,flag);
|
||||
WordUtil.exportWord(document, moth+"\r\n", null, ParagraphAlignment.CENTER, 0, 12,
|
||||
false, true, "Blue Sky Noto Regular",null,null,flag);
|
||||
WordUtil.exportWord(document, moth, null, ParagraphAlignment.CENTER, 0, 12,
|
||||
false, false, "Blue Sky Noto Regular",null,null,flag);
|
||||
//添加下一页
|
||||
document.createParagraph().createRun().addBreak(BreakType.PAGE);
|
||||
}
|
||||
@@ -900,8 +900,8 @@ public class LawsMonthlyReportWriteEOServiceImpl extends ServiceImpl<LawsMonthly
|
||||
titleCN = "\r\n\r\n" + titleCN + "\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n";
|
||||
WordUtil.exportWord(document, titleCN, null, ParagraphAlignment.CENTER, 0, 18,
|
||||
false, false, "Blue Sky Noto Regular",null,null,flag);
|
||||
WordUtil.exportWord(document, moth+"\r\n", null, ParagraphAlignment.CENTER, 0, 12,
|
||||
false, true, "Blue Sky Noto Regular",null,null,flag);
|
||||
WordUtil.exportWord(document, moth, null, ParagraphAlignment.CENTER, 0, 12,
|
||||
false, false, "Blue Sky Noto Regular",null,null,flag);
|
||||
//添加下一页
|
||||
document.createParagraph().createRun().addBreak(BreakType.PAGE);
|
||||
}
|
||||
|
||||
+11
-4
@@ -266,12 +266,15 @@ public class WordUtil {
|
||||
picture.getCTPicture().getBlipFill().getBlip().setEmbed(blipID);
|
||||
run.addTab();
|
||||
is.close();
|
||||
run.setText(" "+month);
|
||||
run.setFontSize(11);
|
||||
run.setFontFamily("Blue Sky Noto Regular");
|
||||
}
|
||||
//页眉第二个段落展示日期------------------------------------------------------------
|
||||
XWPFParagraph paragraph = header.createParagraph();//创建新的段落
|
||||
paragraph.setAlignment(ParagraphAlignment.RIGHT);//段落文本的对齐方式
|
||||
// paragraph.setAlignment(ParagraphAlignment.RIGHT);//段落文本的对齐方式
|
||||
XWPFRun run = paragraph.createRun();
|
||||
run.setText(month);
|
||||
// run.setText(month);
|
||||
|
||||
//页脚(三个段落分别展示3个内容)-----------------------------------------------------
|
||||
XWPFFooter footer = headerFooterPolicy.createFooter(XWPFHeaderFooterPolicy.DEFAULT);
|
||||
@@ -280,11 +283,15 @@ public class WordUtil {
|
||||
paragraph.setAlignment(ParagraphAlignment.CENTER);
|
||||
run = paragraph.createRun();
|
||||
run.setText("NIO Internal");
|
||||
run.setFontSize(11);
|
||||
run.setFontFamily("Blue Sky Standard Regular");
|
||||
|
||||
paragraph = footer.createParagraph();
|
||||
paragraph.setAlignment(ParagraphAlignment.LEFT);
|
||||
run = paragraph.createRun();
|
||||
run.setText("NIO.com");
|
||||
run.setFontSize(11);
|
||||
run.setFontFamily("Blue Sky Noto Regular");
|
||||
|
||||
//生成页码---------------------------------------------------------------------
|
||||
paragraph = footer.createParagraph();
|
||||
@@ -317,8 +324,8 @@ public class WordUtil {
|
||||
pageMar.setTop(BigInteger.valueOf(1440)); //页眉高度
|
||||
pageMar.setBottom(BigInteger.valueOf(1440));//页脚高度
|
||||
|
||||
pageMar.setHeader(BigInteger.valueOf(500)); //页眉上边框到顶部的距离
|
||||
pageMar.setFooter(BigInteger.valueOf(800)); //页脚下边框到底部的距离
|
||||
pageMar.setHeader(BigInteger.valueOf(720)); //页眉上边框到顶部的距离
|
||||
pageMar.setFooter(BigInteger.valueOf(720)); //页脚下边框到底部的距离
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+20
-1
@@ -3754,7 +3754,26 @@ public class FileSplitItemsEOServiceImpl extends ServiceImpl<FileSplitItemsEOMap
|
||||
|
||||
@Override
|
||||
public int insertForeach(List<SarFileSplitItemsEO> messageList) {
|
||||
return dao.insertForeach(messageList);
|
||||
// 解决一次批量插入太多 PacketTooBigException 异常
|
||||
int total = messageList.size();
|
||||
int count = 0;
|
||||
int pageSum = 1;
|
||||
if(total > 100) {
|
||||
pageSum = total / 100; // 总页数
|
||||
if ((total % 100) > 0) {
|
||||
pageSum += 1;
|
||||
}
|
||||
}
|
||||
List<SarFileSplitItemsEO> subList = new ArrayList<>();
|
||||
for(int i = 0; i < pageSum; i++) {
|
||||
int j = i*100+100;
|
||||
if (i == pageSum -1) {
|
||||
j = total;
|
||||
}
|
||||
subList = messageList.subList(i*100, j);
|
||||
count += dao.insertForeach(subList);
|
||||
}
|
||||
return count;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+1
-1
@@ -1784,7 +1784,7 @@ public class FileSplitPdfService {
|
||||
if(StringUtils.isNotBlank(preName)) {
|
||||
List<String> nowStartList = fileSpiltService.getNewNowStart(preName);
|
||||
|
||||
List<String> subList1 = startDigitList.subList(preNameNum, startDigitList.size()-1);
|
||||
List<String> subList1 = startDigitList.subList(preNameNum, startDigitList.size());
|
||||
// 后文有一级以下的标题
|
||||
for (int i = nowStartList.size() - 1; i >= 1; i--) {
|
||||
int index1 = subList1.indexOf(nowStartList.get(i));
|
||||
|
||||
+21
-2
@@ -12,6 +12,7 @@ import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Propagation;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@@ -79,8 +80,26 @@ public class SarFileSplitItemsValEOServiceImpl extends ServiceImpl<SarFileSplitI
|
||||
|
||||
@Override
|
||||
public int insertForeach(List<SarFileSplitItemsValEO> itemValList) {
|
||||
|
||||
return dao.insertForeach(itemValList);
|
||||
// 解决一次批量插入太多 PacketTooBigException 异常
|
||||
int total = itemValList.size();
|
||||
int count = 0;
|
||||
int pageSum = 1;
|
||||
if(total > 100) {
|
||||
pageSum = total / 100; // 总页数
|
||||
if ((total % 100) > 0) {
|
||||
pageSum += 1;
|
||||
}
|
||||
}
|
||||
List<SarFileSplitItemsValEO> subList = new ArrayList<>();
|
||||
for(int i = 0; i < pageSum; i++) {
|
||||
int j = i*100+100;
|
||||
if (i == pageSum -1) {
|
||||
j = total;
|
||||
}
|
||||
subList = itemValList.subList(i*100, j);
|
||||
count += dao.insertForeach(subList);
|
||||
}
|
||||
return count;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1317,4 +1317,6 @@ module.exports = {
|
||||
viewAll:'View All',
|
||||
endProcess:'End Process',
|
||||
thereForTheCurrentlySelectedData:'There is no standard breakdown for the currently selected data',
|
||||
secondaryDirectory:'Secondary directory',
|
||||
OnlyPersonsCanBeSelected:'The maximum upper limit is exceeded; Only 100 persons can be selected',
|
||||
}
|
||||
@@ -1418,4 +1418,6 @@ module.exports = {
|
||||
viewAll:'查看全部',
|
||||
endProcess:'结束流程',
|
||||
thereForTheCurrentlySelectedData:'当前所选数据暂无标准分解单',
|
||||
secondaryDirectory:'二级目录',
|
||||
OnlyPersonsCanBeSelected:'超出最大上限;只能选择100个人员',
|
||||
}
|
||||
@@ -215,7 +215,7 @@
|
||||
})
|
||||
return newarr
|
||||
},
|
||||
//将数据拼成树形结构
|
||||
// 将数据拼成树形结构
|
||||
toTree(config, num) {
|
||||
// 删除 所有 children,以防止多次调用
|
||||
config.forEach(function(item) {
|
||||
@@ -330,6 +330,10 @@
|
||||
userIds = userIds.filter(function(item, index) {
|
||||
return userIds.indexOf(item) === index // 因为indexOf 只能查找到第一个
|
||||
})
|
||||
if (userIds.length > 100 && this.selectDepartment) {
|
||||
this.$message.warning(this.$t('OnlyPersonsCanBeSelected'))
|
||||
return
|
||||
}
|
||||
this.$emit('input', userName.join(','))
|
||||
this.$emit('change', this.query.db_field_name, userIds.join(','), this.query.subscript)
|
||||
this.visible = false
|
||||
@@ -433,9 +437,10 @@
|
||||
// }
|
||||
this.confirmLoading = true
|
||||
this.loading = true
|
||||
//queryDepartUserTreeList
|
||||
//queryUserTreeList
|
||||
postAction('sys/user/queryUserTreeList', {
|
||||
//queryDepartUserTreeList post
|
||||
//queryUserTreeList get
|
||||
//换接口需要改请求
|
||||
getAction('sys/user/queryUserTreeList', {
|
||||
// departId: this.departId,
|
||||
// json: gData,
|
||||
// flag: '1'
|
||||
@@ -481,7 +486,7 @@
|
||||
}
|
||||
this.defaultCheckedKeys = this.userIds
|
||||
this.defaultCheckedKeys = [...this.defaultCheckedKeys]
|
||||
this.defaultCheckedKeysName = []
|
||||
// this.defaultCheckedKeysName = []
|
||||
// if (this.defaultCheckedKeys.length > 0) {
|
||||
// for (let i = 0; i < this.defaultCheckedKeys.length; i++) {
|
||||
// this.defaultCheckedKeysName.push({
|
||||
|
||||
@@ -15,18 +15,38 @@
|
||||
allowClear
|
||||
:placeholder="$t('NodeQuickLookup')"/>
|
||||
<div class="drawer-content">
|
||||
<a-tree
|
||||
v-if="visibleTree"
|
||||
style="margin-bottom: 60px;height: 600px"
|
||||
checkable
|
||||
:autoExpandParent="false"
|
||||
:tree-data="gData"
|
||||
@select="onSelect"
|
||||
@check="checkChange"
|
||||
@expand="onExpand"
|
||||
:defaultExpandedKeys="defaultExpandedKeys"
|
||||
>
|
||||
</a-tree>
|
||||
<virtualNodeTree
|
||||
v-if="treeVisible"
|
||||
ref="virtualNodeTreeRef"
|
||||
:keeps="40"
|
||||
show-checkbox
|
||||
v-model="checkboxList"
|
||||
class="treeWrap"
|
||||
:defaultCheckedKeys="defaultCheckedKeys"
|
||||
:defaultExpandAll="defaultExpandAll"
|
||||
:check-strictly="false"
|
||||
node-key="id"
|
||||
@check="handleCheckChange"
|
||||
@check-change="checkChange"
|
||||
:data.sync="gData">
|
||||
<span slot-scope="{ data }">
|
||||
<span :class="{'active':data.color ? true:false}">
|
||||
{{ data.title }}
|
||||
</span>
|
||||
</span>
|
||||
</virtualNodeTree>
|
||||
<!-- <a-tree-->
|
||||
<!-- v-if="visibleTree"-->
|
||||
<!-- style="margin-bottom: 60px;height: 600px"-->
|
||||
<!-- checkable-->
|
||||
<!-- :autoExpandParent="false"-->
|
||||
<!-- :tree-data="gData"-->
|
||||
<!-- @select="onSelect"-->
|
||||
<!-- @check="checkChange"-->
|
||||
<!-- @expand="onExpand"-->
|
||||
<!-- :defaultExpandedKeys="defaultExpandedKeys"-->
|
||||
<!-- >-->
|
||||
<!-- </a-tree>-->
|
||||
</div>
|
||||
</a-spin>
|
||||
<div class="drawer-bootom-button">
|
||||
@@ -40,15 +60,20 @@
|
||||
<script>
|
||||
import { getAction, postAction } from '@/api/manage'
|
||||
import eventBUs from '../../common/event'
|
||||
import virtualNodeTree from '@/components/virtualNodeTree/tree'
|
||||
|
||||
export default {
|
||||
name: 'index',
|
||||
components: {
|
||||
virtualNodeTree
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
gData: [],
|
||||
searchModel: '',
|
||||
autoExpandParent: true,
|
||||
expandedKeys: [],
|
||||
checkboxList: [],
|
||||
visible: false,
|
||||
confirmLoading: false,
|
||||
selectedKey: [],
|
||||
@@ -56,42 +81,149 @@
|
||||
userIds: [],
|
||||
departId: '',
|
||||
defaultExpandedKeys: [],
|
||||
defaultExpandAll: false,
|
||||
defaultCheckedKeys: [],
|
||||
content: [],
|
||||
userName: [],
|
||||
submitLoading: false,
|
||||
visibleTree: false
|
||||
visibleTree: false,
|
||||
treeVisible: false
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
|
||||
},
|
||||
methods: {
|
||||
getPush(data) {
|
||||
this.tableKey = data
|
||||
this.userName = []
|
||||
this.content = []
|
||||
this.searchModel = ''
|
||||
this.visible = true
|
||||
this.visibleTree = false
|
||||
this.$nextTick(() => {
|
||||
this.departId = ''
|
||||
this.queryDepartUserTreeList()
|
||||
})
|
||||
},
|
||||
onSelect(selectedKeys) {
|
||||
this.selectedKey = selectedKeys
|
||||
},
|
||||
onExpand(selectedKeys, val) {
|
||||
if (this.searchModel == '' || !this.searchModel) {
|
||||
if (val.expanded) {
|
||||
if (this.departId == val.node.value) {
|
||||
} else {
|
||||
this.departId = val.node.value
|
||||
this.queryDepartUserTreeList()
|
||||
checkChange(val, checked, indeterminate) {
|
||||
if (!checked && this.searchData) {
|
||||
this.userName = this.userName.filter(res => {
|
||||
return res != val.title
|
||||
})
|
||||
this.userIds = this.userIds.filter(res => {
|
||||
return res != val.id
|
||||
})
|
||||
for (let i = 0; i < this.userIds.length; i++) {
|
||||
if (this.userIds[i] == val.parentId) {
|
||||
this.userIds.splice(i, 1)
|
||||
this.userName.splice(i, 1)
|
||||
i--
|
||||
}
|
||||
}
|
||||
} else if (checked && this.searchData) {
|
||||
this.userName.push(val.title)
|
||||
this.userIds.push(val.id)
|
||||
}
|
||||
},
|
||||
handleCheckChange(val, data, checked) {
|
||||
if (!this.searchData) {
|
||||
this.userName = []
|
||||
this.userIds = []
|
||||
if (data.checkedNodes && data.checkedNodes.length > 0) {
|
||||
data.checkedNodes.forEach(res => {
|
||||
this.userName.push(res.title)
|
||||
this.userIds.push(res.id)
|
||||
})
|
||||
}
|
||||
}
|
||||
},
|
||||
getPush(data) {
|
||||
this.tableKey = data
|
||||
this.userName = []
|
||||
this.userIds = []
|
||||
this.content = []
|
||||
this.defaultCheckedKeys = []
|
||||
this.searchModel = ''
|
||||
this.visible = true
|
||||
this.visibleTree = false
|
||||
this.treeVisible = false
|
||||
// this.$nextTick(() => {
|
||||
// this.departId = ''
|
||||
// this.queryDepartUserTreeList()
|
||||
// })
|
||||
let gData = localStorage.getItem('gData')
|
||||
if (gData) {
|
||||
let dataList = JSON.parse(gData)
|
||||
dataList.forEach(res => {
|
||||
if (res.type == 'Depart') {
|
||||
res.disabled = true
|
||||
}
|
||||
})
|
||||
this.dataList = this.toTree(dataList)
|
||||
}
|
||||
setTimeout(() => {
|
||||
if (gData) {
|
||||
this.gData = this.dataList
|
||||
this.gData = [...this.gData]
|
||||
this.treeVisible = true
|
||||
} else {
|
||||
this.queryDepartUserTreeList(1)
|
||||
}
|
||||
}, 200)
|
||||
},
|
||||
deleteChildren(value, arr) {
|
||||
let newarr = []
|
||||
arr.forEach(element => {
|
||||
if (element.title.indexOf(value) > -1) { // 判断条件
|
||||
newarr.push(element)
|
||||
} else {
|
||||
if (element.children && element.children.length > 0) {
|
||||
let redata = this.deleteChildren(value, element.children)
|
||||
if (redata && redata.length > 0) {
|
||||
let obj = {
|
||||
...element,
|
||||
children: redata
|
||||
}
|
||||
newarr.push(obj)
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
return newarr
|
||||
},
|
||||
// 将数据拼成树形结构
|
||||
toTree(config, num) {
|
||||
// 删除 所有 children,以防止多次调用
|
||||
config.forEach(function(item) {
|
||||
delete item.children
|
||||
})
|
||||
// 将数据存储为 以 id 为 KEY 的 map 索引数据列
|
||||
let map = {}
|
||||
config.forEach((item) => {
|
||||
item.label = item.name
|
||||
item.key = item.id
|
||||
|
||||
item.title = item.name + (item.itemName ? ' ' + item.itemName : '')
|
||||
map[item.id] = item
|
||||
})
|
||||
let val = []
|
||||
config.forEach((item) => {
|
||||
// 以当前遍历项,的pid,去map对象中找到索引的id
|
||||
let parent = map[item.parentId]
|
||||
|
||||
// 如果找到索引,那么说明此项不在顶级当中,那么需要把此项添加到,他对应的父级中
|
||||
if (parent) {
|
||||
(parent.children || (parent.children = [])).push(item)
|
||||
} else {
|
||||
//如果没有在map中找到对应的索引ID,那么直接把 当前的item添加到 val结果集中,作为顶级
|
||||
val.push(item)
|
||||
}
|
||||
})
|
||||
return val
|
||||
},
|
||||
// onSelect(selectedKeys) {
|
||||
// this.selectedKey = selectedKeys
|
||||
// },
|
||||
// onExpand(selectedKeys, val) {
|
||||
// if (this.searchModel == '' || !this.searchModel) {
|
||||
// if (val.expanded) {
|
||||
// if (this.departId == val.node.value) {
|
||||
// } else {
|
||||
// this.departId = val.node.value
|
||||
// this.queryDepartUserTreeList()
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// },
|
||||
handleCancel() {
|
||||
this.visible = false
|
||||
this.visibleTree = false
|
||||
@@ -125,84 +257,137 @@
|
||||
})
|
||||
},
|
||||
onSearch(e) {
|
||||
this.gData = []
|
||||
this.departId = ''
|
||||
this.visibleTree = false
|
||||
if (e) {
|
||||
this.getUserAndDepart()
|
||||
} else {
|
||||
this.queryDepartUserTreeList()
|
||||
}
|
||||
},
|
||||
getUserAndDepart() {
|
||||
getAction('sys/user/getUserAndDepart', { name: this.searchModel }).then((res) => {
|
||||
if (res){
|
||||
this.gData = res.filter(ele => ele.flag === 'DEPART');
|
||||
} else {
|
||||
this.gData = []
|
||||
}
|
||||
this.visibleTree = true
|
||||
this.treeVisible = false
|
||||
let p = new Promise((resolve, reject) => {
|
||||
resolve()
|
||||
})
|
||||
p.then(() => {
|
||||
this.searchData = e
|
||||
let gData = localStorage.getItem('gData')
|
||||
let content = []
|
||||
if (gData) {
|
||||
if (e) {
|
||||
JSON.parse(gData).forEach(res => {
|
||||
if (res.type == 'User') {
|
||||
if (res.name.includes(e)) {
|
||||
res.color = true
|
||||
content.push(res)
|
||||
}
|
||||
}
|
||||
})
|
||||
let gDataAdmin = this.toTree(content)
|
||||
this.gData = this.deleteChildren(e, gDataAdmin)
|
||||
this.defaultExpandAll = true
|
||||
this.treeVisible = true
|
||||
this.defaultCheckedKeys = this.userIds
|
||||
this.defaultCheckedKeys = [...this.defaultCheckedKeys]
|
||||
this.loading = false
|
||||
} else {
|
||||
let content = JSON.parse(gData)
|
||||
content.forEach(res => {
|
||||
if (res.type == 'Depart') {
|
||||
res.disabled = true
|
||||
}
|
||||
})
|
||||
this.gData = this.toTree(content)
|
||||
this.defaultExpandAll = false
|
||||
this.defaultCheckedKeys = this.userIds
|
||||
this.defaultCheckedKeys = [...this.defaultCheckedKeys]
|
||||
this.treeVisible = true
|
||||
this.loading = false
|
||||
}
|
||||
}
|
||||
})
|
||||
// this.gData = []
|
||||
// this.departId = ''
|
||||
// this.visibleTree = false
|
||||
// if (e) {
|
||||
// this.getUserAndDepart()
|
||||
// } else {
|
||||
// this.queryDepartUserTreeList()
|
||||
// }
|
||||
},
|
||||
// getUserAndDepart() {
|
||||
// getAction('sys/user/getUserAndDepart', { name: this.searchModel }).then((res) => {
|
||||
// if (res) {
|
||||
// this.gData = res.filter(ele => ele.flag === 'DEPART')
|
||||
// } else {
|
||||
// this.gData = []
|
||||
// }
|
||||
// this.visibleTree = true
|
||||
// })
|
||||
// },
|
||||
queryDepartUserTreeList() {
|
||||
let gData = JSON.parse(JSON.stringify(this.gData))
|
||||
if (gData && gData.length > 0) {
|
||||
gData = JSON.stringify(gData)
|
||||
} else {
|
||||
gData = ''
|
||||
}
|
||||
// let gData = JSON.parse(JSON.stringify(this.gData))
|
||||
// if (gData && gData.length > 0) {
|
||||
// gData = JSON.stringify(gData)
|
||||
// } else {
|
||||
// gData = ''
|
||||
// }
|
||||
this.confirmLoading = true
|
||||
postAction('sys/user/queryDepartUserTreeList', {
|
||||
departId: this.departId,
|
||||
flag: '1',
|
||||
json: gData
|
||||
getAction('sys/user/queryUserTreeList', {
|
||||
// departId: this.departId,
|
||||
// flag: '1',
|
||||
// json: gData
|
||||
}).then((res) => {
|
||||
this.confirmLoading = false
|
||||
if (res.success) {
|
||||
this.gData = res.result
|
||||
this.defaultExpandedKeys = [this.departId]
|
||||
let content = JSON.parse(JSON.stringify(res.result))
|
||||
res.result.forEach(res => {
|
||||
if (res.type == 'Depart') {
|
||||
res.disabled = true
|
||||
}
|
||||
})
|
||||
localStorage.removeItem('gData')
|
||||
localStorage.setItem('gData', JSON.stringify(content))
|
||||
this.gData = this.toTree(res.result)
|
||||
this.gData = [...this.gData]
|
||||
// this.gData = res.result
|
||||
// this.defaultExpandedKeys = [this.departId]
|
||||
this.defaultExpandAll = false
|
||||
this.treeVisible = true
|
||||
this.visibleTree = true
|
||||
} else {
|
||||
this.gData = []
|
||||
}
|
||||
})
|
||||
},
|
||||
checkChange(e, info) {
|
||||
this.userIds = e
|
||||
this.userName = []
|
||||
if (info.checkedNodes && info.checkedNodes.length > 0) {
|
||||
info.checkedNodes.forEach(res => {
|
||||
if (res.data.props.dataRef.key) {
|
||||
this.content.push({
|
||||
id: res.data.props.dataRef.key,
|
||||
title: res.data.props.dataRef.title
|
||||
})
|
||||
} else {
|
||||
this.content.push({
|
||||
id: res.data.props.id,
|
||||
title: res.data.props.title
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
if (this.content && this.content.length > 0) {
|
||||
for (let i = 0; i < this.content.length; i++) {
|
||||
for (let j = i + 1; j < this.content.length; j++) {
|
||||
if (this.content[i].id == this.content[j].id) {
|
||||
this.content.splice(j, 1)
|
||||
j--
|
||||
}
|
||||
}
|
||||
}
|
||||
this.userIds.forEach(res => {
|
||||
this.content.forEach(val => {
|
||||
if (res == val.id) {
|
||||
this.userName.push(val.title)
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
// checkChange(e, info) {
|
||||
// this.userIds = e
|
||||
// this.userName = []
|
||||
// if (info.checkedNodes && info.checkedNodes.length > 0) {
|
||||
// info.checkedNodes.forEach(res => {
|
||||
// if (res.data.props.dataRef.key) {
|
||||
// this.content.push({
|
||||
// id: res.data.props.dataRef.key,
|
||||
// title: res.data.props.dataRef.title
|
||||
// })
|
||||
// } else {
|
||||
// this.content.push({
|
||||
// id: res.data.props.id,
|
||||
// title: res.data.props.title
|
||||
// })
|
||||
// }
|
||||
// })
|
||||
// }
|
||||
// if (this.content && this.content.length > 0) {
|
||||
// for (let i = 0; i < this.content.length; i++) {
|
||||
// for (let j = i + 1; j < this.content.length; j++) {
|
||||
// if (this.content[i].id == this.content[j].id) {
|
||||
// this.content.splice(j, 1)
|
||||
// j--
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// this.userIds.forEach(res => {
|
||||
// this.content.forEach(val => {
|
||||
// if (res == val.id) {
|
||||
// this.userName.push(val.title)
|
||||
// }
|
||||
// })
|
||||
// })
|
||||
// }
|
||||
// }
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -243,4 +428,11 @@
|
||||
height: calc(100% - 60px);
|
||||
overflow: auto;
|
||||
}
|
||||
.treeWrap {
|
||||
height: calc(100vh - 240px);
|
||||
}
|
||||
.active {
|
||||
color: #21c9cc;
|
||||
display: inline-block;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
loading: false,
|
||||
visibleFile:false,
|
||||
downLoadFileUrl: window._CONFIG['domianPreviewURL'] + '/sys/common/download',
|
||||
downLoadImgUrl: window._CONFIG['domianWebImgURL'] + '/sys/common/download',
|
||||
columnsFile: [
|
||||
{
|
||||
title: this.$t('fileName'),
|
||||
@@ -78,10 +79,12 @@
|
||||
} else if (fileSuffix == '.docx' || fileSuffix == '.doc') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls'
|
||||
|| fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg') {
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else if(fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg'){
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadImgUrl + '/' + fileQuery.id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else {
|
||||
downloadFile('/sys/common/downLoadFile', fileQuery.fileName, { id: fileQuery.id })
|
||||
}
|
||||
|
||||
@@ -759,8 +759,8 @@
|
||||
}
|
||||
|
||||
.el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner:before {
|
||||
background-color: #c0c4cc;
|
||||
border-color: #c0c4cc
|
||||
background-color: #fff;
|
||||
border-color: #fff;
|
||||
}
|
||||
|
||||
.el-checkbox__input.is-checked .el-checkbox__inner, .el-checkbox__input.is-indeterminate .el-checkbox__inner {
|
||||
@@ -927,7 +927,6 @@
|
||||
.el-checkbox-button.is-checked:first-child .el-checkbox-button__inner {
|
||||
border-left-color: #409eff
|
||||
}
|
||||
|
||||
.el-checkbox-button.is-disabled .el-checkbox-button__inner {
|
||||
color: #c0c4cc;
|
||||
cursor: not-allowed;
|
||||
|
||||
+1
-1
@@ -209,7 +209,7 @@
|
||||
actiProcInstId: this.actiProcInstId
|
||||
}
|
||||
downloadFile('/lawsOpinionGather/lawsOpinionAssessmentResultEO/exportXls',
|
||||
this.$t('evaluationResults') + '.zip', query)
|
||||
this.$route.query.serialNumber+ ' ' +this.$t('evaluationResults') + '.zip', query)
|
||||
},
|
||||
getData() {
|
||||
this.formInline = JSON.parse(JSON.stringify(this.$route.query))
|
||||
|
||||
@@ -193,6 +193,13 @@
|
||||
ellipsis: true,
|
||||
dataIndex: 'gatherResultShow'
|
||||
},
|
||||
{
|
||||
title: this.$t('Sponsor'),
|
||||
align: 'center',
|
||||
width: 140,
|
||||
ellipsis: true,
|
||||
dataIndex: 'createBy'
|
||||
},
|
||||
{
|
||||
title: this.$t('dateOfInitiation'),
|
||||
align: 'center',
|
||||
|
||||
+5
-2
@@ -127,6 +127,7 @@
|
||||
applyMarkets: '',
|
||||
header_text: '',
|
||||
downLoadFileUrl: window._CONFIG['domianPreviewURL'] + '/sys/common/download',
|
||||
downLoadImgUrl: window._CONFIG['domianWebImgURL'] + '/sys/common/download',
|
||||
url: {
|
||||
list: '/problemKnowledgeBase/countryCardTempEO/list',
|
||||
deleteOne: ''
|
||||
@@ -153,10 +154,12 @@
|
||||
} else if (fileSuffix == '.docx' || fileSuffix == '.doc') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls'
|
||||
|| fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg') {
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
}else if(fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg'){
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadImgUrl + '/' + fileQuery.id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else {
|
||||
downloadFile('/sys/common/downLoadFile', fileQuery.contentFileName, { id: fileQuery.id })
|
||||
}
|
||||
|
||||
+2
-2
@@ -662,12 +662,12 @@
|
||||
margin-top: 10px;
|
||||
|
||||
.content-box-content-botton-text {
|
||||
width: 118px;
|
||||
max-width: 198px;
|
||||
height: 32px;
|
||||
display: inline-block;
|
||||
text-align: center;
|
||||
line-height: 32px;
|
||||
padding: 0 6px;
|
||||
padding: 0 10px;
|
||||
background: #EFF1F3;
|
||||
border-radius: 4px;
|
||||
text-overflow: ellipsis;
|
||||
|
||||
+10
-5
@@ -200,6 +200,7 @@
|
||||
queryForm: {},
|
||||
isPraise: false,
|
||||
downLoadFileUrl: window._CONFIG['domianPreviewURL'] + '/sys/common/download',
|
||||
downLoadImgUrl: window._CONFIG['domianWebImgURL'] + '/sys/common/download',
|
||||
isCollect: false
|
||||
}
|
||||
},
|
||||
@@ -218,10 +219,12 @@
|
||||
} else if (fileSuffix == '.docx' || fileSuffix == '.doc') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls'
|
||||
|| fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg') {
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else if (fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadImgUrl + '/' + fileQuery.id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else {
|
||||
downloadFile('/sys/common/downLoadFile', fileQuery.fileName, { id: fileQuery.id })
|
||||
}
|
||||
@@ -491,12 +494,13 @@
|
||||
margin-top: 10px;
|
||||
|
||||
.content-box-content-botton-text {
|
||||
width: 140px;
|
||||
max-width: 200px;
|
||||
/*min-width: 120px;*/
|
||||
height: 32px;
|
||||
display: inline-block;
|
||||
text-align: center;
|
||||
line-height: 32px;
|
||||
padding: 0 6px;
|
||||
padding: 0 10px;
|
||||
background: #EFF1F3;
|
||||
border-radius: 4px;
|
||||
text-overflow: ellipsis;
|
||||
@@ -509,7 +513,7 @@
|
||||
cursor: pointer;
|
||||
|
||||
.file-text {
|
||||
width: 90px;
|
||||
width: calc(100% - 30px);
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
@@ -519,6 +523,7 @@
|
||||
}
|
||||
|
||||
.icon-text {
|
||||
width: 24px;
|
||||
font-size: 16px;
|
||||
overflow: hidden;
|
||||
margin-bottom: 9px;
|
||||
|
||||
+1
-1
@@ -144,7 +144,7 @@
|
||||
width: 170
|
||||
},
|
||||
{
|
||||
title: this.$t('chapterContents'),
|
||||
title: this.$t('secondaryDirectory'),
|
||||
align: 'center',
|
||||
dataIndex: 'memoriesChapterName',
|
||||
ellipsis: true,
|
||||
|
||||
+5
-2
@@ -108,6 +108,7 @@
|
||||
pageNo: 1,
|
||||
queryParam: {},
|
||||
downLoadFileUrl: window._CONFIG['domianPreviewURL'] + '/sys/common/download',
|
||||
downLoadImgUrl: window._CONFIG['domianWebImgURL'] + '/sys/common/download',
|
||||
userData: {},
|
||||
columns: [
|
||||
{
|
||||
@@ -216,10 +217,12 @@
|
||||
} else if (fileSuffix === '.docx' || fileSuffix === '.doc') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + item.fileId + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else if (fileSuffix === '.xlsx' || fileSuffix === '.xls'
|
||||
|| fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg') {
|
||||
} else if (fileSuffix === '.xlsx' || fileSuffix === '.xls') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + item.fileId + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
}else if(fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg'){
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadImgUrl + '/' + item.fileId + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else {
|
||||
if (item.createBy == this.userInfo().username) {
|
||||
downloadFile('/sys/common/downLoadFile', item.name, { id: item.fileId, userName: this.userInfo().username })
|
||||
|
||||
+70
-28
@@ -4,8 +4,9 @@
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text"
|
||||
:title="$t('title')">{{$t('title')}}</span>
|
||||
<span class="Required" v-if="!disabled">*</span>
|
||||
<span class="title-text-text"
|
||||
:title="$t('title')">{{$t('title')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="titleCn">
|
||||
<a-input class="box-input"
|
||||
@@ -18,8 +19,9 @@
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text"
|
||||
:title="$t('englishTitle')">{{$t('englishTitle')}}</span>
|
||||
<span class="Required" v-if="!disabled">*</span>
|
||||
<span class="title-text-text"
|
||||
:title="$t('englishTitle')">{{$t('englishTitle')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="titleEn">
|
||||
<a-input class="box-input"
|
||||
@@ -34,10 +36,11 @@
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text"
|
||||
:title="$t('technicalField')">{{$t('technicalField')}}</span>
|
||||
<span class="Required" v-if="!disabled">*</span>
|
||||
<span class="title-text-text"
|
||||
:title="$t('technicalField')">{{$t('technicalField')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel-multi" prop="technologyTerritory">
|
||||
<a-form-model-item class="itemModel" prop="technologyTerritory">
|
||||
<a-tree-select
|
||||
tree-node-filter-prop="title"
|
||||
v-model="formInline.technologyTerritory"
|
||||
@@ -53,20 +56,20 @@
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text"
|
||||
:title="$t('implementationModel')">{{$t('implementationModel')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="implementCar">
|
||||
<a-input class="box-input"
|
||||
:disabled="disabled"
|
||||
v-model.trim="formInline.implementCar"
|
||||
:placeholder="$t('PleaseEnter')+$t('implementationModel')"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
<!-- <a-col :span="12">-->
|
||||
<!-- <div class="box-title-text">-->
|
||||
<!-- <div class="title-text">-->
|
||||
<!-- <span class="title-text-text"-->
|
||||
<!-- :title="$t('implementationModel')">{{$t('implementationModel')}}</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- <a-form-model-item class="itemModel" prop="implementCar">-->
|
||||
<!-- <a-input class="box-input"-->
|
||||
<!-- :disabled="disabled"-->
|
||||
<!-- v-model.trim="formInline.implementCar"-->
|
||||
<!-- :placeholder="$t('PleaseEnter')+$t('implementationModel')"/>-->
|
||||
<!-- </a-form-model-item>-->
|
||||
<!-- </div>-->
|
||||
<!-- </a-col>-->
|
||||
<!-- <a-col :span="12">-->
|
||||
<!-- <div class="box-title-text">-->
|
||||
<!-- <div class="title-text">-->
|
||||
@@ -108,10 +111,10 @@
|
||||
:title="$t('status')">{{$t('status')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel-multi itemModel-multi-one">
|
||||
<j-multi-select-tag class="box-input" v-model="formInline.state"
|
||||
<j-dict-select-tag class="box-input" v-model="formInline.state"
|
||||
:disabled="disabled"
|
||||
:placeholder="$t('PleaseSelect')+$t('status')"
|
||||
:type="'checkbox'"
|
||||
:type="'radio'"
|
||||
:triggerChange="false" :dictCode="'state'"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
@@ -125,9 +128,9 @@
|
||||
:title="$t('usage')">{{$t('usage')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel-multi itemModel-multi-one">
|
||||
<j-multi-select-tag class="box-input" v-model="formInline.useMethod"
|
||||
<j-dict-select-tag class="box-input" v-model="formInline.useMethod"
|
||||
:placeholder="$t('PleaseSelect')+$t('usage')"
|
||||
:type="'checkbox'"
|
||||
:type="'radio'"
|
||||
:disabled="disabled"
|
||||
:triggerChange="false" :dictCode="'yong4_fa3'"/>
|
||||
</a-form-model-item>
|
||||
@@ -156,10 +159,11 @@
|
||||
:title="$t('ImplementationDate')">{{$t('ImplementationDate')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="newCarImplementTime">
|
||||
<!-- :placeholder="$t('PleaseEnter')+$t('ImplementationDate')"-->
|
||||
<a-input class="box-input"
|
||||
:disabled="disabled"
|
||||
v-model.trim="formInline.newCarImplementTime"
|
||||
:placeholder="$t('PleaseEnter')+$t('ImplementationDate')"/>
|
||||
:placeholder="'202X.X.X'"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
@@ -170,10 +174,11 @@
|
||||
:title="$t('vehicleInProductionDate')">{{$t('vehicleInProductionDate')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="productionCarImplementTime">
|
||||
<!-- $t('PleaseEnter')+$t('vehicleInProductionDate')-->
|
||||
<a-input class="box-input"
|
||||
:disabled="disabled"
|
||||
v-model.trim="formInline.productionCarImplementTime"
|
||||
:placeholder="$t('PleaseEnter')+$t('vehicleInProductionDate')"/>
|
||||
:placeholder="'202X.X.X'"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
@@ -185,6 +190,7 @@
|
||||
<a-col :span="24">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="Required" v-if="!disabled">*</span>
|
||||
<span class="title-text-text" :title="$t('primaryCoverageCn')">{{$t('primaryCoverageCn')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="contentCn">
|
||||
@@ -200,6 +206,7 @@
|
||||
<a-col :span="24">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="Required" v-if="!disabled">*</span>
|
||||
<span class="title-text-text" :title="$t('primaryCoverageEn')">{{$t('primaryCoverageEn')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="contentEn">
|
||||
@@ -245,9 +252,10 @@
|
||||
<a-col :span="24">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="Required" v-if="!disabled">*</span>
|
||||
<span class="title-text-text" :title="$t('regulatoryContact')">{{$t('regulatoryContact')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel">
|
||||
<a-form-model-item class="itemModel" prop="lawsContactName">
|
||||
<PersonnelSelection
|
||||
:query="{db_field_name:'lawsContact',db_field_txt:$t('regulatoryContact')}"
|
||||
:personneQuery="formInline"
|
||||
@@ -290,7 +298,19 @@
|
||||
data() {
|
||||
return {
|
||||
rules: {
|
||||
lawsContactName:[
|
||||
{
|
||||
required: true,
|
||||
message: this.$t('regulatoryContact') + this.$t('cannotEmpty'),
|
||||
trigger: 'change'
|
||||
}
|
||||
],
|
||||
titleCn: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t('title') + this.$t('cannotEmpty'),
|
||||
trigger: 'blur'
|
||||
},
|
||||
{
|
||||
max: 500,
|
||||
message: this.$t('title') + this.$t('cannotExceed') + 500 + this.$t('Characters'),
|
||||
@@ -298,6 +318,11 @@
|
||||
}
|
||||
],
|
||||
titleEn: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t('englishTitle') + this.$t('cannotEmpty'),
|
||||
trigger: 'blur'
|
||||
},
|
||||
{
|
||||
max: 500,
|
||||
message: this.$t('englishTitle') + this.$t('cannotExceed') + 500 + this.$t('Characters'),
|
||||
@@ -354,6 +379,11 @@
|
||||
}
|
||||
],
|
||||
contentEn: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t('primaryCoverageEn') + this.$t('cannotEmpty'),
|
||||
trigger: 'blur'
|
||||
},
|
||||
{
|
||||
max: 300,
|
||||
message: this.$t('primaryCoverageEn') + this.$t('cannotExceed') + 300 + this.$t('Characters'),
|
||||
@@ -361,11 +391,23 @@
|
||||
}
|
||||
],
|
||||
contentCn: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t('primaryCoverageCn') + this.$t('cannotEmpty'),
|
||||
trigger: 'blur'
|
||||
},
|
||||
{
|
||||
max: 300,
|
||||
message: this.$t('primaryCoverageCn') + this.$t('cannotExceed') + 300 + this.$t('Characters'),
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
technologyTerritory: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t('technicalField') + this.$t('cannotEmpty'),
|
||||
trigger: 'change'
|
||||
}
|
||||
]
|
||||
},
|
||||
formInline: {},
|
||||
|
||||
+24
@@ -4,6 +4,7 @@
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="Required" v-if="!disabled">*</span>
|
||||
<span class="title-text-text"
|
||||
:title="$t('title')">{{$t('title')}}</span>
|
||||
</div>
|
||||
@@ -18,6 +19,7 @@
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="Required" v-if="!disabled">*</span>
|
||||
<span class="title-text-text"
|
||||
:title="$t('englishTitle')">{{$t('englishTitle')}}</span>
|
||||
</div>
|
||||
@@ -110,6 +112,7 @@
|
||||
<a-col :span="24">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="Required" v-if="!disabled">*</span>
|
||||
<span class="title-text-text" :title="$t('primaryCoverageCn')">{{$t('primaryCoverageCn')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="contentCn">
|
||||
@@ -125,6 +128,7 @@
|
||||
<a-col :span="24">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="Required" v-if="!disabled">*</span>
|
||||
<span class="title-text-text" :title="$t('primaryCoverageEn')">{{$t('primaryCoverageEn')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="contentEn">
|
||||
@@ -165,6 +169,11 @@
|
||||
return {
|
||||
rules: {
|
||||
titleCn: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t('title') + this.$t('cannotEmpty'),
|
||||
trigger: 'blur'
|
||||
},
|
||||
{
|
||||
max: 500,
|
||||
message: this.$t('title') + this.$t('cannotExceed') + 500 + this.$t('Characters'),
|
||||
@@ -172,6 +181,11 @@
|
||||
}
|
||||
],
|
||||
titleEn: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t('englishTitle') + this.$t('cannotEmpty'),
|
||||
trigger: 'blur'
|
||||
},
|
||||
{
|
||||
max: 500,
|
||||
message: this.$t('englishTitle') + this.$t('cannotExceed') + 500 + this.$t('Characters'),
|
||||
@@ -221,6 +235,11 @@
|
||||
}
|
||||
],
|
||||
contentEn: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t('primaryCoverageEn') + this.$t('cannotEmpty'),
|
||||
trigger: 'blur'
|
||||
},
|
||||
{
|
||||
max: 300,
|
||||
message: this.$t('primaryCoverageEn') + this.$t('cannotExceed') + 300 + this.$t('Characters'),
|
||||
@@ -228,6 +247,11 @@
|
||||
}
|
||||
],
|
||||
contentCn: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t('primaryCoverageCn') + this.$t('cannotEmpty'),
|
||||
trigger: 'blur'
|
||||
},
|
||||
{
|
||||
max: 300,
|
||||
message: this.$t('primaryCoverageCn') + this.$t('cannotExceed') + 300 + this.$t('Characters'),
|
||||
|
||||
+6
-5
@@ -6,13 +6,14 @@
|
||||
:visible="visible"
|
||||
:confirm-loading="confirmLoading"
|
||||
:maskClosable="false"
|
||||
:footer="null"
|
||||
@cancel="visible = false"
|
||||
>
|
||||
<template slot="footer">
|
||||
<a-button key="back" @click="visible = false">
|
||||
{{$t('cancel')}}
|
||||
</a-button>
|
||||
</template>
|
||||
<!-- <template slot="footer">-->
|
||||
<!-- <a-button key="back" @click="visible = false">-->
|
||||
<!-- {{$t('cancel')}}-->
|
||||
<!-- </a-button>-->
|
||||
<!-- </template>-->
|
||||
<div style="margin-bottom: 10px;text-align: center">
|
||||
<div @click="handleModule" class="operator-text">
|
||||
<a-icon type="download"/>
|
||||
|
||||
+65
-14
@@ -39,22 +39,22 @@
|
||||
<!-- </div>-->
|
||||
<a-card :bordered="false" class="box-clause" style="margin-top: 20px"
|
||||
v-for="(item,index) in dataSource">
|
||||
<div class="table-operator-admin">
|
||||
<div class="operator-text" v-if="item.id" :class="{'operator-text-feed':index == 0 ? true:false}"
|
||||
style="font-size: 16px">
|
||||
{{$t('engineer')+item.createBy+$t('feedbackResults')}}
|
||||
</div>
|
||||
<div class="text-results" v-if="item.id">
|
||||
{{$t('complianceResults')}}:{{item.complianceResultName}}
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="table-operator-admin">-->
|
||||
<!-- <div class="operator-text" v-if="item.id" :class="{'operator-text-feed':index == 0 ? true:false}"-->
|
||||
<!-- style="font-size: 16px">-->
|
||||
<!-- {{$t('engineer')+item.createBy+$t('feedbackResults')}}-->
|
||||
<!-- </div>-->
|
||||
<!-- <div class="text-results" v-if="item.id">-->
|
||||
<!-- {{$t('complianceResults')}}:{{item.complianceResultName}}-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<div class="table-operator-admin-right">
|
||||
<div @click="fileExportClick" v-if="index == 0" class="operator-text-index">
|
||||
<a-icon type="export" :rotate="-90"/>
|
||||
{{$t('fileExport')}}
|
||||
</div>
|
||||
<!-- style="margin-left: 18px"-->
|
||||
<a-table
|
||||
style="margin-left: 18px"
|
||||
ref="table"
|
||||
size="middle"
|
||||
:loading="loading"
|
||||
@@ -96,8 +96,8 @@
|
||||
return {
|
||||
queryParam: {},
|
||||
dataSource: [],
|
||||
userInfoQuery:{},
|
||||
administrators:false,
|
||||
userInfoQuery: {},
|
||||
administrators: false,
|
||||
url: {
|
||||
list: '/lawsTechnologyEvaluation/lawsTechnologyEvaluationComplianceResultEO/list',
|
||||
exportData: 'lawsTechnologyEvaluation/lawsTechnologyEvaluationComplianceResultEO/exportZip'
|
||||
@@ -106,6 +106,44 @@
|
||||
loading: false,
|
||||
|
||||
columns: [
|
||||
{
|
||||
title: this.$t('engineer'),
|
||||
dataIndex: 'createBy',
|
||||
align: 'center',
|
||||
width: 160,
|
||||
ellipsis: true,
|
||||
customRender: (value, row, index) => {
|
||||
const obj = {
|
||||
children: value,
|
||||
attrs: {}
|
||||
}
|
||||
if (index === 0) {
|
||||
obj.attrs.rowSpan = row.indexData
|
||||
} else {
|
||||
obj.attrs.rowSpan = 0
|
||||
}
|
||||
return obj
|
||||
}
|
||||
},
|
||||
{
|
||||
title: this.$t('complianceResults'),
|
||||
dataIndex: 'complianceResultName',
|
||||
align: 'center',
|
||||
width: 160,
|
||||
ellipsis: true,
|
||||
customRender: (value, row, index) => {
|
||||
const obj = {
|
||||
children: value,
|
||||
attrs: {}
|
||||
}
|
||||
if (index === 0) {
|
||||
obj.attrs.rowSpan = row.indexData
|
||||
} else {
|
||||
obj.attrs.rowSpan = 0
|
||||
}
|
||||
return obj
|
||||
}
|
||||
},
|
||||
{
|
||||
title: this.$t('relevantSections'),
|
||||
dataIndex: 'relatedSection',
|
||||
@@ -190,6 +228,18 @@
|
||||
getAction(this.url.list, query).then((res) => {
|
||||
if (res.success) {
|
||||
this.dataSource = res.result || []
|
||||
if (this.dataSource && this.dataSource.length > 0) {
|
||||
this.dataSource.forEach(val => {
|
||||
if (val.lawsTechnologyEvaluationResultEOList && val.lawsTechnologyEvaluationResultEOList.length > 0) {
|
||||
val.lawsTechnologyEvaluationResultEOList.forEach(ol => {
|
||||
ol.indexData = val.lawsTechnologyEvaluationResultEOList.length
|
||||
ol.complianceResultName = val.complianceResultName
|
||||
ol.createBy = val.createBy
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
console.log(this.dataSource)
|
||||
if (this.dataSource.length == 0) {
|
||||
this.dataSource.push({
|
||||
name: ''
|
||||
@@ -353,9 +403,10 @@
|
||||
|
||||
.table-operator-admin-right {
|
||||
float: left;
|
||||
width: calc(100% - 240px);
|
||||
width: 100%;
|
||||
text-align: right;
|
||||
border-left: 1px solid #e8e8e8;
|
||||
margin-bottom: 20px;
|
||||
/*border-left: 1px solid #e8e8e8;*/
|
||||
}
|
||||
|
||||
.operator-text-index {
|
||||
|
||||
@@ -33,6 +33,7 @@
|
||||
monthlyReportRegulationsList: [],
|
||||
loading: false,
|
||||
downLoadFileUrl: window._CONFIG['domianPreviewURL'] + '/sys/common/download',
|
||||
downLoadImgUrl: window._CONFIG['domianWebImgURL'] + '/sys/common/download',
|
||||
url: {
|
||||
list: '/report/lawsMonthlyReportManageEO/page'
|
||||
}
|
||||
@@ -74,10 +75,12 @@
|
||||
} else if (fileSuffix === '.docx' || fileSuffix === '.doc') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + item.fileId + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else if (fileSuffix === '.xlsx' || fileSuffix === '.xls'
|
||||
|| fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg') {
|
||||
} else if (fileSuffix === '.xlsx' || fileSuffix === '.xls') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + item.fileId + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
}else if(fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg'){
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadImgUrl + '/' + item.fileId + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else {
|
||||
if (item.createBy == this.userInfo().username){
|
||||
downloadFile('/sys/common/downLoadFile', item.name, { id: item.fileId, userName: this.userInfo().username })
|
||||
|
||||
@@ -319,6 +319,7 @@
|
||||
serial_number: '',
|
||||
confirmLoading: false,
|
||||
downLoadFileUrl: window._CONFIG['domianPreviewURL'] + '/sys/common/download',
|
||||
downLoadImgUrl: window._CONFIG['domianWebImgURL'] + '/sys/common/download',
|
||||
loading: false,
|
||||
dataSource: [],
|
||||
pageNo: 1,
|
||||
@@ -462,10 +463,12 @@
|
||||
} else if (fileSuffix == '.docx' || fileSuffix == '.doc') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls'
|
||||
|| fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg') {
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
}else if(fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg'){
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadImgUrl + '/' + fileQuery.id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else {
|
||||
downloadFile('/sys/common/downLoadFile', fileQuery.fileName, { id: fileQuery.id })
|
||||
}
|
||||
|
||||
+5
-2
@@ -196,6 +196,7 @@
|
||||
pageNoRight: 1,
|
||||
formInline: {},
|
||||
downLoadFileUrl: window._CONFIG['domianPreviewURL'] + '/sys/common/download',
|
||||
downLoadImgUrl: window._CONFIG['domianWebImgURL'] + '/sys/common/download',
|
||||
rules: {
|
||||
remark: [
|
||||
{
|
||||
@@ -388,10 +389,12 @@
|
||||
} else if (fileSuffix == '.docx' || fileSuffix == '.doc') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.fileId + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls'
|
||||
|| fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg') {
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.fileId + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
}else if(fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg'){
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadImgUrl + '/' + fileQuery.fileId + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else {
|
||||
downloadFile('/sys/common/downLoadFile', fileQuery.fileName, { id: fileQuery.fileId })
|
||||
}
|
||||
|
||||
@@ -126,6 +126,7 @@
|
||||
dataSource: [],
|
||||
selectedRowKeys: [],
|
||||
downLoadFileUrl: window._CONFIG['domianPreviewURL'] + '/sys/common/download',
|
||||
downLoadImgUrl: window._CONFIG['domianWebImgURL'] + '/sys/common/download',
|
||||
total: 0,
|
||||
pageSize: 10,
|
||||
pageNo: 1,
|
||||
@@ -422,10 +423,12 @@
|
||||
} else if (fileSuffix === '.docx' || fileSuffix === '.doc') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + row.fileIdLeft + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else if (fileSuffix === '.xlsx' || fileSuffix === '.xls'
|
||||
|| fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg') {
|
||||
} else if (fileSuffix === '.xlsx' || fileSuffix === '.xls') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + row.fileIdLeft + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
}else if(fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg'){
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadImgUrl + '/' + row.fileIdLeft + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else {
|
||||
downloadFile('/sys/common/downLoadFile', row.fileNameLeft, { id: row.fileIdLeft })
|
||||
}
|
||||
@@ -440,10 +443,12 @@
|
||||
} else if (fileSuffix === '.docx' || fileSuffix === '.doc') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + row.fileIdRight + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else if (fileSuffix === '.xlsx' || fileSuffix === '.xls'
|
||||
|| fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg') {
|
||||
} else if (fileSuffix === '.xlsx' || fileSuffix === '.xls') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + row.fileIdRight + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
}else if(fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg'){
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadImgUrl + '/' + row.fileIdRight + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else {
|
||||
downloadFile('/sys/common/downLoadFile', row.fileNameRight, { id: row.fileIdRight })
|
||||
}
|
||||
|
||||
@@ -352,6 +352,7 @@
|
||||
selectModel: '',
|
||||
fileList: [],
|
||||
downLoadFileUrl: window._CONFIG['domianPreviewURL'] + '/sys/common/download',
|
||||
downLoadImgUrl: window._CONFIG['domianWebImgURL'] + '/sys/common/download',
|
||||
queryParamSeach: '',
|
||||
mapOne: {},
|
||||
mapTwo: {},
|
||||
@@ -696,10 +697,12 @@
|
||||
} else if (fileSuffix == '.docx' || fileSuffix == '.doc') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls'
|
||||
|| fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg') {
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
}else if(fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg'){
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadImgUrl + '/' + fileQuery.id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else {
|
||||
downloadFile('/sys/common/downLoadFile', fileQuery.fileName || fileQuery.file_name, { id: fileQuery.id })
|
||||
}
|
||||
|
||||
+9
-4
@@ -92,6 +92,7 @@
|
||||
total: 0,
|
||||
pageSize: 10,
|
||||
downLoadFileUrl: window._CONFIG['domianPreviewURL'] + '/sys/common/download',
|
||||
downLoadImgUrl: window._CONFIG['domianWebImgURL'] + '/sys/common/download',
|
||||
pageNo: 1,
|
||||
queryParam: {}
|
||||
}
|
||||
@@ -129,10 +130,12 @@
|
||||
} else if (fileSuffix == '.docx' || fileSuffix == '.doc') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + item.file_id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls'
|
||||
|| fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg') {
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + item.file_id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
}else if(fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg'){
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadImgUrl + '/' + item.file_id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
}
|
||||
},
|
||||
ResetSearch() {
|
||||
@@ -151,10 +154,12 @@
|
||||
} else if (fileSuffix == '.docx' || fileSuffix == '.doc') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id.slice(0, 32) + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls'
|
||||
|| fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg') {
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id.slice(0, 32) + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
}else if(fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg'){
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadImgUrl + '/' + fileQuery.id.slice(0, 32) + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else {
|
||||
downloadFile('/sys/common/downLoadFile', fileQuery.file_name, { id: fileQuery.id.slice(0, 32) })
|
||||
}
|
||||
|
||||
@@ -132,6 +132,7 @@
|
||||
loading: false,
|
||||
fileList: [],
|
||||
downLoadFileUrl: window._CONFIG['domianPreviewURL'] + '/sys/common/download',
|
||||
downLoadImgUrl: window._CONFIG['domianWebImgURL'] + '/sys/common/download',
|
||||
mapOne: {},
|
||||
mapTwo: {},
|
||||
queryParamOne: {},
|
||||
@@ -267,10 +268,12 @@
|
||||
} else if (fileSuffix == '.docx' || fileSuffix == '.doc') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls'
|
||||
|| fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg') {
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
}else if(fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg'){
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadImgUrl + '/' + fileQuery.id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else {
|
||||
downloadFile('/sys/common/downLoadFile', fileQuery.fileName || fileQuery.file_name, { id: fileQuery.id })
|
||||
}
|
||||
|
||||
@@ -116,6 +116,7 @@
|
||||
total: 0,
|
||||
pageSize: 10,
|
||||
downLoadFileUrl: window._CONFIG['domianPreviewURL'] + '/sys/common/download',
|
||||
downLoadImgUrl: window._CONFIG['domianWebImgURL'] + '/sys/common/download',
|
||||
pageNo: 1,
|
||||
queryParam: {}
|
||||
}
|
||||
@@ -170,10 +171,12 @@
|
||||
} else if (fileSuffix == '.docx' || fileSuffix == '.doc') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id.slice(0, 32) + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls'
|
||||
|| fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg') {
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id.slice(0, 32) + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
}else if(fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg'){
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadImgUrl + '/' + fileQuery.id.slice(0, 32) + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else {
|
||||
downloadFile('/sys/common/downLoadFile', fileQuery.file_name, { id: fileQuery.id.slice(0, 32) })
|
||||
}
|
||||
@@ -239,10 +242,12 @@
|
||||
} else if (fileSuffix == '.docx' || fileSuffix == '.doc') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + item.file_id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls'
|
||||
|| fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg') {
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + item.file_id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
}else if(fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg'){
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadImgUrl + '/' + item.file_id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
}
|
||||
},
|
||||
titleClick(item) {
|
||||
|
||||
@@ -279,6 +279,7 @@
|
||||
components: {},
|
||||
visibleFile: false,
|
||||
downLoadFileUrl: window._CONFIG['domianPreviewURL'] + '/sys/common/download',
|
||||
downLoadImgUrl: window._CONFIG['domianWebImgURL'] + '/sys/common/download',
|
||||
dataSourceFile: [],
|
||||
columnsFile: [
|
||||
{
|
||||
@@ -830,10 +831,12 @@
|
||||
} else if (fileSuffix == '.docx' || fileSuffix == '.doc') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls'
|
||||
|| fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg') {
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
}else if(fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg'){
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadImgUrl + '/' + fileQuery.id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else {
|
||||
downloadFile('/sys/common/downLoadFile', fileQuery.fileName, { id: fileQuery.id })
|
||||
}
|
||||
@@ -848,10 +851,12 @@
|
||||
} else if (fileSuffix == '.docx' || fileSuffix == '.doc') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls'
|
||||
|| fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg') {
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
}else if(fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg'){
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadImgUrl + '/' + id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else {
|
||||
downloadFile('/sys/common/downLoadFile', name, { id: id })
|
||||
}
|
||||
|
||||
@@ -31,25 +31,29 @@
|
||||
:rules="[{ required: true, message: $t('relevantSections') + $t('cannotEmpty'), trigger: 'blur'},
|
||||
{max: 300,message: $t('relevantSections') + $t('cannotExceed') + 300 + $t('Characters'),trigger: 'blur'
|
||||
}]">
|
||||
<a-input class="box-input"
|
||||
:disabled="disabled"
|
||||
v-model="item.relatedSection"
|
||||
:placeholder="$t('PleaseEnter')+$t('relevantSections')"/>
|
||||
<a-textarea :placeholder="$t('PleaseEnter')+$t('relevantSections')"
|
||||
:disabled="disabled"
|
||||
v-model="item.relatedSection" :rows="4"/>
|
||||
<!-- <a-input class="box-input"-->
|
||||
<!-- :disabled="disabled"-->
|
||||
<!-- v-model="item.relatedSection"-->
|
||||
<!-- :placeholder="$t('PleaseEnter')+$t('relevantSections')"/>-->
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text" :title="$t('enclosure')">{{$t('enclosure')}}</span>
|
||||
<span class="title-text-text" :title="$t('clauseContent')">{{$t('clauseContent')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="accessoryFile">
|
||||
<a-button type="primary" class="button-text"
|
||||
@click="clickButtonToUpload('accessoryFile',index)">
|
||||
{{ (item.accessoryFile === 'null' || item.accessoryFile === '' ||
|
||||
item.accessoryFile == null) ? $t('clickUpload') : $t('viewUploadedFiles')
|
||||
}}
|
||||
</a-button>
|
||||
<a-form-model-item class="itemModel"
|
||||
:prop="'dataList.'+index+'.clauseContent'"
|
||||
:rules="[
|
||||
{max: 300,message: $t('clauseContent') + $t('cannotExceed') + 300 + $t('Characters'),trigger: 'blur'
|
||||
}]">
|
||||
<a-textarea :placeholder="$t('PleaseEnter')+$t('clauseContent')"
|
||||
:disabled="disabled"
|
||||
v-model="item.clauseContent" :rows="4"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
@@ -95,16 +99,15 @@
|
||||
<a-col :span="12">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="title-text-text" :title="$t('clauseContent')">{{$t('clauseContent')}}</span>
|
||||
<span class="title-text-text" :title="$t('enclosure')">{{$t('enclosure')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel"
|
||||
:prop="'dataList.'+index+'.clauseContent'"
|
||||
:rules="[
|
||||
{max: 300,message: $t('clauseContent') + $t('cannotExceed') + 300 + $t('Characters'),trigger: 'blur'
|
||||
}]">
|
||||
<a-textarea :placeholder="$t('PleaseEnter')+$t('clauseContent')"
|
||||
:disabled="disabled"
|
||||
v-model="item.clauseContent" :rows="4"/>
|
||||
<a-form-model-item class="itemModel" prop="accessoryFile">
|
||||
<a-button type="primary" class="button-text"
|
||||
@click="clickButtonToUpload('accessoryFile',index)">
|
||||
{{ (item.accessoryFile === 'null' || item.accessoryFile === '' ||
|
||||
item.accessoryFile == null) ? $t('clickUpload') : $t('viewUploadedFiles')
|
||||
}}
|
||||
</a-button>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
|
||||
@@ -71,6 +71,7 @@
|
||||
return {
|
||||
dataSource: [],
|
||||
downLoadFileUrl: window._CONFIG['domianPreviewURL'] + '/sys/common/download',
|
||||
downLoadImgUrl: window._CONFIG['domianWebImgURL'] + '/sys/common/download',
|
||||
columns: [
|
||||
{
|
||||
title: this.$t('ProcessType'),
|
||||
@@ -187,10 +188,12 @@
|
||||
} else if (fileSuffix == '.docx' || fileSuffix == '.doc') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls'
|
||||
|| fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg') {
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
}else if(fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg'){
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadImgUrl + '/' + fileQuery.id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else {
|
||||
downloadFile('/sys/common/downLoadFile', fileQuery.fileName, { id: fileQuery.id })
|
||||
}
|
||||
@@ -205,10 +208,12 @@
|
||||
} else if (fileSuffix == '.docx' || fileSuffix == '.doc') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls'
|
||||
|| fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg') {
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
}else if(fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg'){
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadImgUrl + '/' + id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else {
|
||||
downloadFile('/sys/common/downLoadFile', name, { id: id })
|
||||
}
|
||||
|
||||
@@ -848,6 +848,7 @@
|
||||
AndUserIdEdit: '/project/projectLibraryRoleRelEO/edit'
|
||||
},
|
||||
downLoadFileUrl: window._CONFIG['domianPreviewURL'] + '/sys/common/download',
|
||||
downLoadImgUrl: window._CONFIG['domianWebImgURL'] + '/sys/common/download',
|
||||
loading: false,
|
||||
dataSource: [],
|
||||
isResultReported: false,
|
||||
@@ -2126,10 +2127,12 @@
|
||||
} else if (fileSuffix == '.docx' || fileSuffix == '.doc') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls'
|
||||
|| fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg') {
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
}else if(fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg'){
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadImgUrl + '/' + fileQuery.id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else {
|
||||
downloadFile('/sys/common/downLoadFile', fileQuery.fileName, { id: fileQuery.id })
|
||||
}
|
||||
@@ -2145,10 +2148,12 @@
|
||||
} else if (fileSuffix == '.docx' || fileSuffix == '.doc') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls'
|
||||
|| fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg') {
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
}else if(fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg'){
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadImgUrl + '/' + id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else {
|
||||
downloadFile('/sys/common/downLoadFile', name, { id: id, userName: this.userInfo().username })
|
||||
}
|
||||
|
||||
@@ -49,6 +49,7 @@
|
||||
myuploadAction: window._CONFIG['domianURL'] + this.thisFileUploadUrl,
|
||||
upDataList: [],
|
||||
downLoadFileUrl: window._CONFIG['domianPreviewURL'] + '/sys/common/download',
|
||||
downLoadImgUrl: window._CONFIG['domianWebImgURL'] + '/sys/common/download',
|
||||
fileList: [],
|
||||
myfileList: [],
|
||||
isLoding: false,
|
||||
@@ -214,10 +215,12 @@
|
||||
} else if (fileSuffix === '.docx' || fileSuffix === '.doc') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else if (fileSuffix === '.xlsx' || fileSuffix === '.xls'
|
||||
|| fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg') {
|
||||
} else if (fileSuffix === '.xlsx' || fileSuffix === '.xls') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
}else if(fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg'){
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadImgUrl + '/' + fileQuery.id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else {
|
||||
downloadFile('/sys/common/downLoadFile', fileQuery.fileName, { id: fileQuery.id,userName:this.userInfo().username })
|
||||
}
|
||||
|
||||
@@ -363,6 +363,7 @@
|
||||
list: '/project/projectVersionInfoEO/list'
|
||||
},
|
||||
downLoadFileUrl: window._CONFIG['domianPreviewURL'] + '/sys/common/download',
|
||||
downLoadImgUrl: window._CONFIG['domianWebImgURL'] + '/sys/common/download',
|
||||
loading: false,
|
||||
dataSource: [],
|
||||
// fieldList | array |✔| 需要查询的列集合示例如下,type类型有:date/datetime/string/int/number
|
||||
@@ -468,10 +469,12 @@
|
||||
} else if (fileSuffix == '.docx' || fileSuffix == '.doc') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls'
|
||||
|| fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg') {
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
}else if(fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg'){
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadImgUrl + '/' + fileQuery.id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else {
|
||||
downloadFile('/sys/common/downLoadFile', fileQuery.fileName, { id: fileQuery.id })
|
||||
}
|
||||
@@ -486,10 +489,12 @@
|
||||
} else if (fileSuffix == '.docx' || fileSuffix == '.doc') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls'
|
||||
|| fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg') {
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
}else if(fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg'){
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadImgUrl + '/' + id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else {
|
||||
downloadFile('/sys/common/downLoadFile', name, { id: id })
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user