Merge remote-tracking branch 'origin/master'

This commit is contained in:
wangzhijiang
2022-02-28 18:42:54 +08:00
36 changed files with 953 additions and 250 deletions
@@ -123,7 +123,7 @@
<select id="getFieldList" resultType="com.jero.generater.modules.online.cgform.entity.OnlCgformField">
select * from onl_cgform_field ocf
left join onl_cgform_head och on ocf.cgform_head_id = och.id
where table_name =#{tableName}
where table_name =#{tableName} and is_delete = 0
order by order_num asc
</select>
@@ -815,7 +815,7 @@ public class OnlCgformFieldServiceImpl extends ServiceImpl<OnlCgformFieldMapper,
public List<OnlCgformField> getFieldList(String flag){
List<OnlCgformField> fieldList = new ArrayList<>();
if(ModuleEnum.DOCUMENT_LIBRARY.getValue().equals(flag)){
fieldList = onlCgformFieldMapper.getFieldList(TableEnum.BUSS_DOCUMENT_LIBRARY.getTable());
fieldList = onlCgformFieldMapper.getFieldList(TableEnum.BUSS_DOCUMENT_LIBRARY.getTable()+" ");
}else if(ModuleEnum.OCR_RECORD.getValue().equals(flag)){
fieldList = onlCgformFieldMapper.getFieldList(TableEnum.OCR_RECORD.getTable());
}else if(ModuleEnum.ONL_CGFORM_TAG.getValue().equals(flag)){
@@ -91,7 +91,8 @@ public class SysDict implements Serializable {
/**
* 是否为标签内容-数据字典(1是 0否)
*/
@Excel(name = "展示区域", width = 15, dictTable = "sys_dict", dicText = "is_tag_dict", dicCode = "is_tag_dict")
@Excel(name = "是否为标签内容", width = 15)/*, dictTable = "sys_dict", dicText = "is_tag_dict", dicCode = "is_tag_dict")
@Dict(dictTable = "onl_cgform_field", dicText = "is_tag_dict", dicCode = "is_tag_dict")*/
private java.lang.Integer isTagDict;
/**
@@ -83,8 +83,8 @@ public class SysDictItem implements Serializable {
private Date updateTime;
/**是否为标签内容-数据字典(1是 0否)*/
@Excel(name = "展示区域", width = 15, dictTable = "sys_dict", dicText = "is_tag_dict", dicCode = "is_tag_dict")
@Dict(dictTable = "onl_cgform_field", dicText = "is_tag_dict", dicCode = "is_tag_dict")
@Excel(name = "是否为标签内容", width = 15)/*, dictTable = "sys_dict", dicText = "is_tag_dict", dicCode = "is_tag_dict")
@Dict(dictTable = "onl_cgform_field", dicText = "is_tag_dict", dicCode = "is_tag_dict")*/
private java.lang.Integer isTagDict;
/**是否是只读(2字段固定,内部可配1固定字段 0非固定字段)*/
@@ -117,6 +117,20 @@ public class BussDocumentLibraryEOController extends JeroController<BussDocument
return Result.OK(infoPage);
}
/**
* ocr识别调取已入库文件
* @param parameter
* @return
*/
@AutoLog(value = "ocr识别调取已入库文件分页")
@ApiOperation(value="ocr识别调取已入库文件", notes="ocr识别调取已入库文件")
@PostMapping(value = "/ocrPageInfo")
@ResponseBody
public Result<?> ocrPageInfo(@RequestBody Map<String,Object> parameter) {
IPage infoPage = bussDocumentLibraryEOService.ocrPageInfo(parameter);
return Result.OK(infoPage);
}
/**
* 列表查询
*
@@ -242,6 +256,20 @@ public class BussDocumentLibraryEOController extends JeroController<BussDocument
return Result.OK(list);
}
/**
* ocr识别调取已入库文件-中英文切换
* @param flag 标识传 1-->用于查询文档库字段属性
* @return
*/
@AutoLog(value = "文档库信息表-ocr表头和查询条件")
@ApiOperation(value="文档库信息表-ocr表头和查询条件", notes="文档库信息表-ocr表头和查询条件")
@GetMapping(value = "/getHeaderOrConditionForOcr")
public Result<List<Map<String,Object>>> getHeaderOrConditionForOcr(@RequestParam(name="flag",required=true) String flag,
@RequestParam(name="cut",required=true) String cut) {
List<Map<String, Object>> list = bussDocumentLibraryEOService.getHeaderOrConditionForOcr(flag,cut);
return Result.OK(list);
}
/**
* 编辑数据查询
* @param id
@@ -55,5 +55,17 @@ public interface BussDocumentLibraryEOMapper extends BaseMapper<BussDocumentLibr
@Param("field") String field,
@Param("condition") String condition);
/**
* ocr识别调取已入库文件分页
*
* @param page
* @param field
* @param condition
* @return
*/
IPage ocrPageInfo(@Param("page") IPage page,
@Param("field") String field,
@Param("condition") String condition);
}
@@ -54,5 +54,10 @@
select ${field} from buss_document_library
${condition}
</select>
<!--ocr识别调取已入库文件分页-->
<select id="ocrPageInfo" resultType="java.util.LinkedHashMap">
select ${field}
${condition}
</select>
</mapper>
@@ -110,6 +110,13 @@ public interface IBussDocumentLibraryEOService extends IService<BussDocumentLibr
*/
IPage replacePageInfo(Map<String,Object> parameter);
/**
* ocr识别调取已入库文件分页
* @param parameter
* @return
*/
IPage ocrPageInfo(Map<String,Object> parameter);
/**
* 添加收藏
* @param id
@@ -156,5 +163,12 @@ public interface IBussDocumentLibraryEOService extends IService<BussDocumentLibr
*/
void exportTemplate(Map<String,Object> map,HttpServletResponse response, HttpServletRequest request);
/**
* ocr识别调取已入库文件-中英文切换
* @param flag
* @param cut
* @return
*/
List<Map<String, Object>> getHeaderOrConditionForOcr(String flag, String cut);
}
@@ -21,6 +21,7 @@ import com.jero.modules.document.mapper.BussDocumentLibraryEOMapper;
import com.jero.modules.document.service.IBussDocumentLibraryEOService;
import com.jero.modules.log.entity.BussLogEO;
import com.jero.modules.log.service.IBussLogEOService;
import com.jero.modules.ocr.util.LineHumpUtil;
import com.jero.modules.oss.entity.OSSFile;
import com.jero.modules.oss.service.IOSSFileService;
import com.jero.modules.subscribe.entity.OnlCgformSubscribe;
@@ -249,10 +250,16 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
}
List<Map<String, Object>> result = new ArrayList<>();
for (OnlCgformArea onlCgformAreaTemp : areaList) {
String areaName = "";
if(CutEnum.CN.getValue().equals(cut)){
areaName = onlCgformAreaTemp.getShowArea();
}else{
areaName = onlCgformAreaTemp.getEnName();
}
List<OnlCgformField> fieldListTemp = fieldList.stream().filter(e -> onlCgformAreaTemp.getId().equals(e.getShowArea())).collect(Collectors.toList());
for (OnlCgformField onlCgformField : fieldListTemp) {
Map<String, Object> map = new HashMap<>();
mapPut(cut, map, "field_show_type", onlCgformField.getFieldShowType(), "dict_field", onlCgformField.getDictField(), "db_field_name", onlCgformField.getDbFieldName(), "db_field_txt", onlCgformField.getDbFieldTxt(), "db_field_en_name", onlCgformField.getDbFieldEnName(), "area", onlCgformAreaTemp.getShowArea());
mapPut(cut, map, "field_show_type", onlCgformField.getFieldShowType(), "dict_field", onlCgformField.getDictField(), "db_field_name", onlCgformField.getDbFieldName(), "db_field_txt", onlCgformField.getDbFieldTxt(), "db_field_en_name", onlCgformField.getDbFieldEnName(), "area", areaName);
map.put("field_must_input", onlCgformField.getFieldMustInput());//区域
result.add(map);
}
@@ -757,27 +764,31 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
//查询内容
String field = " id,serial_number,title,state";
//查询条件
StringBuilder conditionSb = new StringBuilder("where 1 = 1");
//编码
String serialNumber = (String) parameter.get("serialNumber");
//标题
String title = (String) parameter.get("title");
if (StringUtils.isNotBlank(serialNumber)) {
conditionSb.append(" and " + "serial_number" + " like concat(concat('%','" + serialNumber + "'),'%')");
}
if (StringUtils.isNotBlank(title)) {
conditionSb.append(" and " + "title" + " like concat(concat('%','" + title + "'),'%')");
}
conditionSb.append(" order by create_time desc");
//需求变更,搜索条件有原来的编码和标题改为和文档库一致
// //查询条件
// StringBuilder conditionSb = new StringBuilder("where 1 = 1");
//
// //编码
// String serialNumber = (String) parameter.get("serialNumber");
//
// //标题
// String title = (String) parameter.get("title");
// if (StringUtils.isNotBlank(serialNumber)) {
// conditionSb.append(" and " + "serial_number" + " like concat(concat('%','" + serialNumber + "'),'%')");
// }
// if (StringUtils.isNotBlank(title)) {
// conditionSb.append(" and " + "title" + " like concat(concat('%','" + title + "'),'%')");
// }
//
// conditionSb.append(" order by create_time desc");
//封装查询条件
String condition = getConditionStr(parameter);
int pageNo = Integer.parseInt(parameter.get("pageNo").toString());
int pageSize = Integer.parseInt(parameter.get("pageSize").toString());
IPage page = new Page(pageNo, pageSize);
IPage infoPage = bussDocumentLibraryEOMapper.replacePageInfo(page, field, conditionSb.toString());
// IPage infoPage = bussDocumentLibraryEOMapper.replacePageInfo(page, field, conditionSb.toString());
IPage infoPage = bussDocumentLibraryEOMapper.replacePageInfo(page, field, condition);
//数据字典
List<SysDictItem> sysDictItems = sysDictItemServiceImpl.selectItemsAll();
@@ -801,6 +812,100 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
return infoPage;
}
/**
* ocr识别调取已入库文件分页
*
* @param parameter
* @return
*/
public IPage ocrPageInfo(Map<String, Object> parameter) {
//需要查询的字段
List<OnlCgformField> fieldList = onlCgformFieldService.getFieldList("1");
fieldList = fieldList.stream().filter(e -> FieldTypeEnum.FILE.getValue().equals(e.getFieldShowType())).collect(Collectors.toList());
List<String> fileFieldList = fieldList.stream().map(OnlCgformField::getDbFieldName).collect(Collectors.toList());
//查询字段
StringBuilder fieldSb = new StringBuilder();
StringBuilder join = new StringBuilder();
int i = 1;
if (ObjectUtils.isNotEmpty(fileFieldList)) {
for (String fileField : fileFieldList) {
fieldSb.append("bdl." + fileField + ",");
if (i == 1) {
join.append(" on of.connect_id = bdl." + fileField);
i++;
continue;
}
join.append(" or of.connect_id = bdl." + fileField);
}
}
String fieldStr = fieldSb.substring(0, fieldSb.length() - 1);
String field = " bdl.id,bdl.serial_number,bdl.title,bdl.state,of.file_name,of.connect_id," + fieldStr
+ " from oss_file of join buss_document_library bdl" + join.toString();
//查询条件
StringBuilder conditionSb = new StringBuilder("where 1 = 1");
//编码
String serialNumber = (String) parameter.get("serialNumber");
//标题
String title = (String) parameter.get("title");
//状态
String stateTemp = (String) parameter.get("state");
if (StringUtils.isNotBlank(serialNumber)) {
conditionSb.append(" and " + "serial_number" + " like concat(concat('%','" + serialNumber + "'),'%')");
}
if (StringUtils.isNotBlank(title)) {
conditionSb.append(" and " + "title" + " like concat(concat('%','" + title + "'),'%')");
}
if (StringUtils.isNotBlank(stateTemp)) {
conditionSb.append(" and " + "state" + " ='" + stateTemp + "'");
}
conditionSb.append(" order by bdl.create_time desc");
int pageNo = Integer.parseInt(parameter.get("pageNo").toString());
int pageSize = Integer.parseInt(parameter.get("pageSize").toString());
IPage page = new Page(pageNo, pageSize);
IPage infoPage = bussDocumentLibraryEOMapper.ocrPageInfo(page, field, conditionSb.toString());
List records = infoPage.getRecords();
//数据字典
List<SysDictItem> sysDictItems = sysDictItemServiceImpl.selectItemsAll();
//下拉选处理数据字典
for (Object record : records) {
Map<String, Object> record1 = (Map) record;
String key = "";
for (Map.Entry<String, Object> entry : record1.entrySet()) {
//状态数据字典
if ("state".equals(entry.getKey())) {
List<SysDictItem> stateList = sysDictItems.stream()
.filter(e -> StringUtils.isNotBlank(e.getDictCode()) && e.getDictCode().equals("state"))
.collect(Collectors.toList());
List<SysDictItem> state = stateList.stream().filter(e -> e.getItemValue().equals(entry.getValue())).collect(Collectors.toList());
if (state.size() != 0) {
entry.setValue(state.get(0).getItemText());
}
}
//添加文本信息
String connectId = (String) record1.get("connect_id");
if (connectId.equals(entry.getValue())) {
key = entry.getKey();
}
}
String finalKey = key;
List<OnlCgformField> onlCgformFieldList = fieldList.stream().filter(e -> e.getDbFieldName().equals(finalKey)).collect(Collectors.toList());
record1.put("text_info", onlCgformFieldList.get(0).getDbFieldTxt());
}
return infoPage;
}
public IPage getInfoPage(Map<String, Object> parameter) {
//需要查询的字段
List<OnlCgformField> fieldList = onlCgformFieldService.getFieldList("1");
@@ -921,6 +1026,9 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
*/
private void collectAndSubscribe(List<Map> records, List<String> idList) {
//收藏
if (idList.size() == 0) {
return;
}
LambdaQueryWrapper<OnlCgformCollection> wrapper = new LambdaQueryWrapper<>();
wrapper.in(OnlCgformCollection::getDocumentId, idList);
List<OnlCgformCollection> collectList = iOnlCgformCollectionService.list(wrapper);
@@ -1068,7 +1176,9 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
*/
@Override
public void exportExcel(Map<String, Object> map, HttpServletResponse response, HttpServletRequest request) {
String flag = "file";
//String flag = "file"为带文件导出标识
String flag = (String) map.get("flag");
// String flag = "file";
OutputStream os = null;
Workbook workbook = new XSSFWorkbook();
try {
@@ -1092,7 +1202,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
&& !"sys_org_code".equals(e.getDbFieldName())
&& !"warn_flag".equals(e.getDbFieldName())).collect(Collectors.toList());
//只导出数据时,过滤掉文件类型
if(!"file".equals(flag)){
if (!"file".equals(flag)) {
fieldListTemp = fieldListTemp.stream().filter(e -> !FieldTypeEnum.FILE.getValue().equals(e.getFieldShowType())).collect(Collectors.toList());
}
headerFieldList = fieldListTemp.stream().map(OnlCgformField::getDbFieldTxt).collect(Collectors.toList());
@@ -1118,15 +1228,15 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
// 创建数据
createDatas(workbook, sheet, datas, header, fieldListTemp);
if(!"file".equals(flag)){
if (!"file".equals(flag)) {
//不带文件导出
os = response.getOutputStream();
workbook.write(os);
os.flush();
}else{
} else {
String path = uploadpath + "/tempZip";
File fileTemp = new File(path);
if (fileTemp.exists()){
if (fileTemp.exists()) {
fileTemp.delete();
}
fileTemp.mkdirs();
@@ -1142,34 +1252,34 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
List<String> fileFieldList = onlCgformFieldList.stream().map(OnlCgformField::getDbFieldName).collect(Collectors.toList());
for (Map<String, Object> data : datas) {
if(StringUtils.isBlank((String) data.get("serial_number"))){
if (StringUtils.isBlank((String) data.get("serial_number"))) {
continue;
}
String fileNowPath = uploadpath + "/tempZip/" + (String) data.get("serial_number");
File file = new File(fileNowPath);
if (file.exists()){
if (file.exists()) {
file.delete();
}
file.mkdirs();
List<String> valueList = new ArrayList<>();
for (String field : fileFieldList) {
String value = (String) data.get(field);
if(StringUtils.isNotBlank(value)){
if (StringUtils.isNotBlank(value)) {
valueList.add(value);
}
}
//每一个编号下的所有的文件
if(valueList.size()!= 0){
if (valueList.size() != 0) {
List<OSSFile> fileInfosList = iOSSFileService.getFileInfosByConnectId(StringUtils.join(valueList, ","));
for (OSSFile ossFile : fileInfosList) {
String url = ossFile.getUrl();
copyFile(url, fileNowPath+ "/"+ossFile.getFileName());
copyFile(url, fileNowPath + "/" + ossFile.getFileName());
}
}
}
ZipUtil.zip(path,path+".zip");
ZipUtil.zip(path, path + ".zip");
//文件
FileInputStream fis = new FileInputStream(path+".zip");
FileInputStream fis = new FileInputStream(path + ".zip");
os = response.getOutputStream();
int len = 0;
@@ -1202,14 +1312,14 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
for (Map<String, Object> data : datas) {
for (OnlCgformField onlCgformField : fileFieldList) {
String value = (String) data.get(onlCgformField.getDbFieldName());
if(StringUtils.isNotBlank(value)){
if (StringUtils.isNotBlank(value)) {
connectIdList.add(value);
}
}
}
//所有的文件信息
List<OSSFile> fileInfos = new ArrayList<>();
if(connectIdList.size() != 0){
if (connectIdList.size() != 0) {
fileInfos = iOSSFileService.getFileInfosByConnectId(StringUtils.join(connectIdList, ","));
}
@@ -1233,20 +1343,20 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
if (ObjectUtils.isNotEmpty(data.get(onlCgformField.getDbFieldName()))) {
value = sdf.format(data.get(onlCgformField.getDbFieldName()));
}
}else if(FieldTypeEnum.FILE.getValue().equals(onlCgformField.getFieldShowType())){
} else if (FieldTypeEnum.FILE.getValue().equals(onlCgformField.getFieldShowType())) {
//处理文件名称(由connect_id转化为文件名)
if(fileInfos.size() != 0){
if (fileInfos.size() != 0) {
List<OSSFile> ossFileList = fileInfos.stream()
.filter(e -> e.getConnectId().equals(data.get(onlCgformField.getDbFieldName())))
.collect(Collectors.toList());
if(ossFileList.size()!= 0){
if (ossFileList.size() != 0) {
List<String> fileNameList = ossFileList.stream().map(OSSFile::getFileName).collect(Collectors.toList());
value = StringUtils.join(fileNameList,",");
}else{
value = StringUtils.join(fileNameList, ",");
} else {
value = "";
}
}
}else {
} else {
value = (String) data.get(onlCgformField.getDbFieldName());
}
row.createCell(sheetNum).setCellValue(value);
@@ -1300,6 +1410,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
/**
* 带文件导出
*
* @param map
* @param response
* @param request
@@ -1308,7 +1419,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
public void exportZip(Map<String, Object> map,
HttpServletResponse response,
HttpServletRequest request) {
exportExcel(map,response,request);
exportExcel(map, response, request);
}
@@ -1476,15 +1587,15 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
public static void copyFile(String oldFile, String newFile) throws IOException {
File file2 = new File(newFile);
if(!file2.exists()){
if (!file2.exists()) {
file2.createNewFile();
}
// file2.mkdir();
File temp = new File(oldFile );
File temp = new File(oldFile);
if (temp.isFile()) {
try(FileInputStream in = new FileInputStream(temp);
FileOutputStream ou = new FileOutputStream(newFile);) {
try (FileInputStream in = new FileInputStream(temp);
FileOutputStream ou = new FileOutputStream(newFile);) {
byte[] bs = new byte[1024];
int count = 0;
@@ -1500,5 +1611,94 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
}
}
/**
* ocr识别调取已入库文件-中英文切换
* @param flag header-表头,condition-查询条件
* @param cut
* @return
*/
@Override
public List<Map<String, Object>> getHeaderOrConditionForOcr(String flag, String cut) {
List<Map<String, Object>> list = new ArrayList<>();
Map<String, Object> map1 = new HashMap<>();
Map<String, Object> map2 = new HashMap<>();
Map<String, Object> map3 = new HashMap<>();
Map<String, Object> map4 = new HashMap<>();
Map<String, Object> map5 = new HashMap<>();
if("header".equals(flag)) {
if (CutEnum.CN.getValue().equals(cut)) {
//编号
map1.put("db_field_name", "serial_number");//字段
map1.put("db_field_txt", "编号");//字段中文名
list.add(map1);
//标题
map2.put("db_field_name", "title");//字段
map2.put("db_field_txt", "标题");//字段中文名
list.add(map2);
//状态
map3.put("db_field_name", "state");//字段
map3.put("db_field_txt", "状态");//字段中文名
list.add(map3);
//文件名称
map4.put("db_field_name", "file_name");//字段
map4.put("db_field_txt", "文件名称");//字段中文名
list.add(map4);
//文件信息
map5.put("db_field_name", "text_info");//字段
map5.put("db_field_txt", "文件信息");//字段中文名
list.add(map5);
} else {
//编号
map1.put("db_field_name", "serial_number");//字段
map1.put("db_field_txt", "serial number");//字段中文名
list.add(map1);
//标题
map2.put("db_field_name", "title");//字段
map2.put("db_field_txt", "title");//字段中文名
list.add(map2);
//状态
map3.put("db_field_name", "state");//字段
map3.put("db_field_txt", "state");//字段中文名
list.add(map3);
//文件名称
map4.put("db_field_name", "file_name");//字段
map4.put("db_field_txt", "file name");//字段中文名
list.add(map4);
//文件信息
map5.put("db_field_name", "text_info");//字段
map5.put("db_field_txt", "text info");//字段中文名
list.add(map5);
}
}else if("condition".equals(flag)) {
if (CutEnum.CN.getValue().equals(cut)) {
//编号
map1.put("db_field_name", "serial_number");//字段
map1.put("db_field_txt", "编号");//字段中文名
map1.put("dict_field", "");//数据字典
map1.put("field_show_type", "1");
list.add(map1);
//标题
map2.put("db_field_name", "title");//字段
map2.put("db_field_txt", "标题");//字段中文名
map2.put("dict_field", "");//数据字典
map2.put("field_show_type", "1");
list.add(map2);
} else {
//编号
map1.put("db_field_name", "serial_number");//字段
map1.put("db_field_txt", "serial number");//字段中文名
map1.put("dict_field", "");//数据字典
map1.put("field_show_type", "1");
list.add(map1);
//标题
map2.put("db_field_name", "title");//字段
map2.put("db_field_txt", "title");//字段中文名
map2.put("dict_field", "");//数据字典
map2.put("field_show_type", "1");
list.add(map2);
}
}
return list;
}
}
@@ -85,6 +85,7 @@ public class OcrRecordEO implements Serializable {
/**转换结果*/
@Excel(name = "转换结果", width = 15)
@Dict(dicCode = "result_content")
@ApiModelProperty(value = "转换结果")
private String resultContent;
@@ -8,6 +8,7 @@ import com.jero.modules.ocr.entity.OcrRecordEO;
import com.jero.modules.ocr.mapper.OcrRecordEOMapper;
import com.jero.modules.ocr.service.IOcrRecordEOService;
import com.jero.modules.ocr.util.LineHumpUtil;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -122,7 +123,14 @@ public class OcrRecordEOServiceImpl extends ServiceImpl<OcrRecordEOMapper, OcrRe
if ("update_time".equals(onlCgformField.getDbFieldName())) {
map.put("sort", "true");//列表排序标识
}
map.put("db_field_name", LineHumpUtil.lineToHump(onlCgformField.getDbFieldName()));//字段
String dbFieldName = onlCgformField.getDbFieldName();
if (StringUtils.isNotBlank(onlCgformField.getDictField())) {
map.put("db_field_name", LineHumpUtil.lineToHump(dbFieldName)+ "_dictText");//配置了数据字典的字段,需要特殊处理
}else{
map.put("db_field_name", LineHumpUtil.lineToHump(dbFieldName));//字段
}
if(CutEnum.CN.getValue().equals(cut)){
map.put("db_field_txt", onlCgformField.getDbFieldTxt());//字段中文名
}else{
@@ -162,7 +170,7 @@ public class OcrRecordEOServiceImpl extends ServiceImpl<OcrRecordEOMapper, OcrRe
}
/**
* 查询条件中英文切换
* 表单中英文切换
*
* @return
*/
@@ -1,6 +1,7 @@
package com.jero.modules.tag.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
@@ -23,7 +24,7 @@ import java.io.Serializable;
* @Version: V1.0
*/
@Data
@TableName("onl_cgform_tag")
@TableName("onl_cgform_field")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="onl_cgform_tag对象", description="标签项管理")
@@ -36,64 +37,76 @@ public class OnlCgformTag implements Serializable {
private java.lang.String id;
/**创建人*/
@TableField(exist = false)
@ApiModelProperty(value = "创建人")
private java.lang.String createBy;
/**创建日期*/
@TableField(exist = false)
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建日期")
private java.util.Date createTime;
/**更新人*/
@TableField(exist = false)
@ApiModelProperty(value = "更新人")
private java.lang.String updateBy;
/**更新日期*/
@TableField(exist = false)
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新日期")
private java.util.Date updateTime;
/**所属部门*/
@TableField(exist = false)
@ApiModelProperty(value = "所属部门")
private java.lang.String sysOrgCode;
/**所属模块(1文档库,0文档拆分)*/
@TableField(exist = false)
@Excel(name = "所属模块(1文档库,0文档拆分", width = 15, dicCode = "module")
@Dict(dicCode = "module")
@ApiModelProperty(value = "所属模块(1文档库,0文档拆分")
private java.lang.String isModel;
/**字段备注*/
@Excel(name = "字段备注", width = 15)
@Excel(name = "字段备注", width = 15,dictTable = "onl_cgform_field", dicText = "db_field_txt", dicCode = "db_field_txt")
@Dict(dictTable = "onl_cgform_field", dicText = "db_field_txt", dicCode = "db_field_txt")
@ApiModelProperty(value = "字段备注")
private java.lang.String dbFieldTxt;
/**字段英文名称描述*/
@Excel(name = "字段英文名称描述", width = 15)
@Excel(name = "字段英文名称描述", width = 15,dictTable = "onl_cgform_field", dicText = "db_field_en_name", dicCode = "db_field_en_name")
@Dict(dictTable = "onl_cgform_field", dicText = "db_field_en_name", dicCode = "db_field_en_name")
@ApiModelProperty(value = "字段英文名称描述")
private java.lang.String dbFieldName;
private java.lang.String dbFieldEnName;
/**表单控件类型*/
@Excel(name = "表单控件类型", width = 15, dicCode = "field_show_type")
@Dict(dicCode = "field_show_type")
@Excel(name = "表单控件类型", width = 15,dictTable = "onl_cgform_field", dicText = "field_show_type",dicCode ="field_show_type")
@Dict(dictTable = "onl_cgform_field", dicText = "field_show_type",dicCode ="field_show_type")
@ApiModelProperty(value = "表单控件类型")
private java.lang.String fieldShowType;
/**字典名称*/
@TableField(exist = false)
@Excel(name = "字典名称", width = 15, dictTable = "sys_dict", dicText = "dict_name", dicCode = "dict_name")
@Dict(dictTable = "sys_dict", dicText = "dict_name", dicCode = "dict_name")
@ApiModelProperty(value = "字典名称")
private java.lang.String dictName;
/**数据库字段长度*/
@Excel(name = "数据库字段长度", width = 15)
@Excel(name = "数据库字段长度", width = 15,dictTable = "onl_cgform_field", dicText = "db_length", dicCode = "db_length")
@Dict(dictTable = "onl_cgform_field", dicText = "db_length", dicCode = "db_length")
@ApiModelProperty(value = "数据库字段长度")
private java.lang.Integer dbLength;
/**排序*/
@Excel(name = "排序", width = 15)
@Excel(name = "排序", width = 15,dictTable = "onl_cgform_field", dicText = "order_num", dicCode = "order_num")
@Dict(dictTable = "onl_cgform_field", dicText = "order_num", dicCode = "order_num")
@ApiModelProperty(value = "排序")
private java.lang.Integer orderNum;
@@ -122,6 +135,7 @@ public class OnlCgformTag implements Serializable {
private java.lang.Integer isReadOnly;
/**展示区域*/
@TableField(exist = false)
@Excel(name = "展示区域", width = 15, dictTable = "onl_cgform_area", dicText = "show_area", dicCode = "id")
@Dict(dictTable = "onl_cgform_area", dicText = "show_area", dicCode = "id")
@ApiModelProperty(value = "展示区域")
@@ -10,7 +10,7 @@
<result column="sys_org_code" property="sysOrgCode" />
<result column="is_model" property="isModel" />
<result column="db_field_txt" property="dbFieldTxt" />
<result column="db_field_name" property="dbFieldName" />
<result column="db_field_en_name" property="dbFieldEnName" />
<result column="field_show_type" property="fieldShowType" />
<result column="dict_name" property="dictName" />
<result column="db_length" property="dbLength" />
+1 -1
View File
@@ -1,6 +1,6 @@
/*列表上方操作按钮区域*/
.ant-card-body .table-operator {
margin-bottom: 18px;
margin-bottom: 29px;
text-align: right;
}
+19
View File
@@ -170,6 +170,8 @@ module.exports = {
DataRules:'Data rules',
menuMnagementPage:'This is the menu management page',
MenuName:'Menu name',
MenuEnName:'Menu En name',
enterMenuEnName:'Please enter menu En name',
MenuType:'Menu type',
menu:'menu',
ButtonsPermissions:'Buttons / permissions',
@@ -343,4 +345,21 @@ module.exports = {
ModificationTime:'Modification time',
ModificationContent:'Modification content',
personnel:'personnel',
dataExport:'Data export',
exportWithFile:'Export with file',
Push:'Push',
templateDownload:'Template download',
textInformation:'Text information',
relatedInformation:'Related information',
RetrieveFiles:'Retrieve received files',
SplitText:'Split received text',
ImportResults:'Import split results',
copy:'copy',
TemplateDownload:'Template download',
MergerClause:'Merger clause',
BatchSetting:'Batch setting',
BatchCancel:'Batch cancel collection',
SubscriptionManagement:'Subscription domain management',
BatchCancellation:'Batch cancellation',
}
+18
View File
@@ -347,4 +347,22 @@ module.exports = {
ModificationTime:'修改时间',
ModificationContent:'修改内容',
personnel:'人员',
dataExport:'数据导出',
exportWithFile:'带文件导出',
Push:'推送',
templateDownload:'模板下载',
textInformation:'文本信息',
relatedInformation:'关联信息',
RetrieveFiles:'调取已入库文件',
SplitText:'拆分已入库文本',
ImportResults:'导入拆分结果',
copy:'复制',
TemplateDownload:'模板下载',
MergerClause:'合并条款',
BatchSetting:'批量设置',
BatchCancel:'批量取消收藏',
SubscriptionManagement:'订阅领域管理',
BatchCancellation:'批量取消',
enterMenuEnName:'请输入菜单英文名称',
MenuEnName:'菜单英文名称',
}
+8 -3
View File
@@ -1,12 +1,13 @@
<template>
<div>
<a-upload name="file" :showUploadList="false"
class="upload-text"
:multiple="false" :headers="tokenHeader"
:action="url.importZipUrl"
@change="handleImportZip"
accept=".zip">
<a-icon type="import" :rotate="270"/>
导入
{{$t('import')}}
</a-upload>
</div>
</template>
@@ -93,6 +94,10 @@
}
</script>
<style scoped>
<style>
.upload-text .ant-upload{
font-size: 14px!important;
font-weight: 400!important;
color: #040B29!important;
}
</style>
@@ -143,7 +143,7 @@
handleSubmit() {
let content = []
this.content.forEach(res => {
content.push(res.name)
content.push(res.title)
})
this.$emit('input', content.join(','))
this.visible = false
@@ -152,15 +152,15 @@
this.$emit('input', event.target.value)
},
onSelectChange(value) {
this.selectedRowKeys = value
this.content = []
value.forEach(val => {
this.data.forEach((res) => {
if (res.key === val) {
this.dataList.forEach((res) => {
if (res.id === val) {
this.content.push(res)
}
})
})
this.selectedRowKeys = value
},
searchQuery() {
this.replacePage()
+16 -15
View File
@@ -7,7 +7,7 @@
<div class="box-title-text">
<div class="title-text">
<span class="Required" v-if="item.field_must_input == 0">*</span>
<span class="title-text-text">{{item.db_field_txt}}</span>
<span class="title-text-text" :title="item.db_field_txt">{{item.db_field_txt}}</span>
</div>
<a-form-model-item class="itemModel" :prop="item.db_field_name">
<a-input class="box-input"
@@ -22,7 +22,7 @@
<div class="box-title-text">
<div class="title-text">
<span class="Required" v-if="item.field_must_input == 0">*</span>
<span class="title-text-text">{{item.db_field_txt}}</span>
<span class="title-text-text" :title="item.db_field_txt">{{item.db_field_txt}}</span>
</div>
<a-form-model-item class="itemModel" :prop="item.db_field_name">
<a-input-number class="box-input"
@@ -37,7 +37,7 @@
<div class="box-title-text">
<div class="title-text">
<span class="Required" v-if="item.field_must_input == 0">*</span>
<span class="title-text-text">{{item.db_field_txt}}</span>
<span class="title-text-text" :title="item.db_field_txt">{{item.db_field_txt}}</span>
</div>
<a-form-model-item class="itemModel" :prop="item.db_field_name">
<j-dict-select-tag class="box-input" v-model="formInline[item.db_field_name]"
@@ -54,7 +54,7 @@
<div class="box-title-text">
<div class="title-text">
<span class="Required" v-if="item.field_must_input == 0">*</span>
<span class="title-text-text">{{item.db_field_txt}}</span>
<span class="title-text-text" :title="item.db_field_txt">{{item.db_field_txt}}</span>
</div>
<a-form-model-item class="itemModel" :prop="item.db_field_name">
<j-multi-select-tag class="box-input" v-model="formInline[item.db_field_name]"
@@ -69,7 +69,7 @@
<div class="box-title-text">
<div class="title-text">
<span class="Required" v-if="item.field_must_input == 0">*</span>
<span class="title-text-text">{{item.db_field_txt}}</span>
<span class="title-text-text" :title="item.db_field_txt">{{item.db_field_txt}}</span>
</div>
<a-form-model-item class="itemModel" :prop="item.db_field_name">
<a-date-picker class="box-input"
@@ -86,7 +86,7 @@
<div class="box-title-text">
<div class="title-text">
<span class="Required" v-if="item.field_must_input == 0">*</span>
<span class="title-text-text">{{item.db_field_txt}}</span>
<span class="title-text-text" :title="item.db_field_txt">{{item.db_field_txt}}</span>
</div>
<a-form-model-item class="itemModel" :prop="item.db_field_name">
<a-range-picker class="box-input" v-model="formInline[item.db_field_name]"
@@ -101,7 +101,7 @@
<div class="box-title-text">
<div class="title-text">
<span class="Required" v-if="item.field_must_input == 0">*</span>
<span class="title-text-text">{{item.db_field_txt}}</span>
<span class="title-text-text" :title="item.db_field_txt">{{item.db_field_txt}}</span>
</div>
<a-form-model-item class="itemModel" :prop="item.db_field_name">
<a-button type="primary" class="button-text"
@@ -118,7 +118,7 @@
<div class="box-title-text">
<div class="title-text">
<span class="Required" v-if="item.field_must_input == 0">*</span>
<span class="title-text-text">{{item.db_field_txt}}</span>
<span class="title-text-text" :title="item.db_field_txt">{{item.db_field_txt}}</span>
</div>
<a-form-model-item class="itemModel" :prop="item.db_field_name">
<a-textarea
@@ -133,7 +133,7 @@
<div class="box-title-text">
<div class="title-text">
<span class="Required" v-if="item.field_must_input == 0">*</span>
<span class="title-text-text">{{item.db_field_txt}}</span>
<span class="title-text-text" :title="item.db_field_txt">{{item.db_field_txt}}</span>
</div>
<a-form-model-item class="itemModel" :prop="item.db_field_name">
<PersonnelSelection :query="item"
@@ -147,7 +147,7 @@
<div class="box-title-text">
<div class="title-text">
<span class="Required" v-if="item.field_must_input == 0">*</span>
<span class="title-text-text">{{item.db_field_txt}}</span>
<span class="title-text-text" :title="item.db_field_txt">{{item.db_field_txt}}</span>
</div>
<a-form-model-item class="itemModel" :prop="item.db_field_name">
<StandardSelection :query="item"
@@ -161,7 +161,7 @@
<div class="box-title-text">
<div class="title-text">
<span class="Required" v-if="item.field_must_input == 0">*</span>
<span class="title-text-text">{{item.db_field_txt}}</span>
<span class="title-text-text" :title="item.db_field_txt">{{item.db_field_txt}}</span>
</div>
<a-form-model-item class="itemModel" :prop="item.db_field_name">
<j-dict-select-tag v-model="formInline[item.db_field_name]"
@@ -177,7 +177,7 @@
<div class="box-title-text">
<div class="title-text">
<span class="Required" v-if="item.field_must_input == 0">*</span>
<span class="title-text-text">{{item.db_field_txt}}</span>
<span class="title-text-text" :title="item.db_field_txt">{{item.db_field_txt}}</span>
</div>
<a-form-model-item class="itemModel" :prop="item.db_field_name">
<a-tree-select
@@ -196,7 +196,7 @@
<div class="box-title-text">
<div class="title-text">
<span class="Required" v-if="item.field_must_input == 0">*</span>
<span class="title-text-text">{{item.db_field_txt}}</span>
<span class="title-text-text" :title="item.db_field_txt">{{item.db_field_txt}}</span>
</div>
<a-form-model-item class="itemModel" :prop="item.db_field_name">
<j-multi-select-tag class="box-input" v-model="formInline[item.db_field_name]"
@@ -453,6 +453,8 @@
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
height: 42px;
line-height: 42px;
}
.box-input {
@@ -473,8 +475,7 @@
}
.title-text-text {
margin-top: 11px;
display: inline-block;
margin-top: 9px;
}
.formAdd {
@@ -12,7 +12,7 @@
<div class="box-title-text">
<div class="title-text">
<span class="Required" v-if="item.field_must_input == 0">*</span>
<span class="title-text-text">{{item.db_field_txt}}</span>
<span class="title-text-text" :title="item.db_field_txt">{{item.db_field_txt}}</span>
</div>
<a-form-model-item class="itemModel" :prop="item.db_field_name">
<a-input class="box-input"
@@ -27,7 +27,7 @@
<div class="box-title-text">
<div class="title-text">
<span class="Required" v-if="item.field_must_input == 0">*</span>
<span class="title-text-text">{{item.db_field_txt}}</span>
<span class="title-text-text" :title="item.db_field_txt">{{item.db_field_txt}}</span>
</div>
<a-form-model-item class="itemModel" :prop="item.db_field_name">
<a-input-number class="box-input"
@@ -42,7 +42,7 @@
<div class="box-title-text">
<div class="title-text">
<span class="Required" v-if="item.field_must_input == 0">*</span>
<span class="title-text-text">{{item.db_field_txt}}</span>
<span class="title-text-text" :title="item.db_field_txt">{{item.db_field_txt}}</span>
</div>
<a-form-model-item class="itemModel" :prop="item.db_field_name">
<j-dict-select-tag class="box-input" v-model="formInline[item.db_field_name]"
@@ -59,7 +59,7 @@
<div class="box-title-text">
<div class="title-text">
<span class="Required" v-if="item.field_must_input == 0">*</span>
<span class="title-text-text">{{item.db_field_txt}}</span>
<span class="title-text-text" :title="item.db_field_txt">{{item.db_field_txt}}</span>
</div>
<a-form-model-item class="itemModel" :prop="item.db_field_name">
<j-multi-select-tag class="box-input" v-model="formInline[item.db_field_name]"
@@ -74,7 +74,7 @@
<div class="box-title-text">
<div class="title-text">
<span class="Required" v-if="item.field_must_input == 0">*</span>
<span class="title-text-text">{{item.db_field_txt}}</span>
<span class="title-text-text" :title="item.db_field_txt">{{item.db_field_txt}}</span>
</div>
<a-form-model-item class="itemModel" :prop="item.db_field_name">
<a-date-picker class="box-input"
@@ -91,7 +91,7 @@
<div class="box-title-text">
<div class="title-text">
<span class="Required" v-if="item.field_must_input == 0">*</span>
<span class="title-text-text">{{item.db_field_txt}}</span>
<span class="title-text-text" :title="item.db_field_txt">{{item.db_field_txt}}</span>
</div>
<a-form-model-item class="itemModel" :prop="item.db_field_name">
<a-range-picker class="box-input" v-model="formInline[item.db_field_name]"
@@ -106,7 +106,7 @@
<div class="box-title-text">
<div class="title-text">
<span class="Required" v-if="item.field_must_input == 0">*</span>
<span class="title-text-text">{{item.db_field_txt}}</span>
<span class="title-text-text" :title="item.db_field_txt">{{item.db_field_txt}}</span>
</div>
<a-form-model-item class="itemModel" :prop="item.db_field_name">
<a-button type="primary" class="button-text"
@@ -123,7 +123,7 @@
<div class="box-title-text">
<div class="title-text">
<span class="Required" v-if="item.field_must_input == 0">*</span>
<span class="title-text-text">{{item.db_field_txt}}</span>
<span class="title-text-text" :title="item.db_field_txt">{{item.db_field_txt}}</span>
</div>
<a-form-model-item class="itemModel" :prop="item.db_field_name">
<a-textarea
@@ -138,7 +138,7 @@
<div class="box-title-text">
<div class="title-text">
<span class="Required" v-if="item.field_must_input == 0">*</span>
<span class="title-text-text">{{item.db_field_txt}}</span>
<span class="title-text-text" :title="item.db_field_txt">{{item.db_field_txt}}</span>
</div>
<a-form-model-item class="itemModel" :prop="item.db_field_name">
<PersonnelSelection :query="item"
@@ -152,7 +152,7 @@
<div class="box-title-text">
<div class="title-text">
<span class="Required" v-if="item.field_must_input == 0">*</span>
<span class="title-text-text">{{item.db_field_txt}}</span>
<span class="title-text-text" :title="item.db_field_txt">{{item.db_field_txt}}</span>
</div>
<a-form-model-item class="itemModel" :prop="item.db_field_name">
<Standardselection :query="item"
@@ -166,7 +166,7 @@
<div class="box-title-text">
<div class="title-text">
<span class="Required" v-if="item.field_must_input == 0">*</span>
<span class="title-text-text">{{item.db_field_txt}}</span>
<span class="title-text-text" :title="item.db_field_txt">{{item.db_field_txt}}</span>
</div>
<a-form-model-item class="itemModel" :prop="item.db_field_name">
<j-dict-select-tag v-model="formInline[item.db_field_name]"
@@ -179,7 +179,7 @@
</a-col>
<a-col :span="12" v-else-if="item.field_show_type === 'treeSelect'">
<div class="box-title-text">
<div class="box-title-text" :title="item.db_field_txt">
<div class="title-text">
<span class="Required" v-if="item.field_must_input == 0">*</span>
<span class="title-text-text">{{item.db_field_txt}}</span>
@@ -201,7 +201,7 @@
<div class="box-title-text">
<div class="title-text">
<span class="Required" v-if="item.field_must_input == 0">*</span>
<span class="title-text-text">{{item.db_field_txt}}</span>
<span class="title-text-text" :title="item.db_field_txt">{{item.db_field_txt}}</span>
</div>
<a-form-model-item class="itemModel" :prop="item.db_field_name">
<j-multi-select-tag class="box-input" v-model="formInline[item.db_field_name]"
@@ -268,15 +268,15 @@
uploadName: '',
headerText: [
{
text: '基本信息',
text: this.$t('essentialInformation'),
content: []
},
{
text: '文本信息',
text: this.$t('textInformation'),
content: []
},
{
text: '关联信息',
text: this.$t('relatedInformation'),
content: []
}
],
@@ -545,6 +545,8 @@
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
height: 42px;
line-height: 42px;
}
.box-input {
@@ -565,8 +567,7 @@
}
.title-text-text {
margin-top: 11px;
display: inline-block;
margin-top: 9px;
}
.header-text {
@@ -690,7 +690,7 @@
.content {
.table-operator {
margin-bottom: 18px;
margin-bottom: 29px;
button {
margin-right: 8px;
+12 -8
View File
@@ -4,21 +4,21 @@
<a-col :md="6" :sm="8" v-for="(item,index) in searchList" :key="index" style="line-height: 48px">
<template>
<div class="box-title-text" v-if="item.field_show_type == '1'">
<div class="title-text">
<div class="title-text" :title="item.db_field_txt">
<span>{{item.db_field_txt}}</span>
</div>
<a-input class="box-input" :placeholder="$t('PleaseEnter')+item.db_field_txt"
v-model="queryParam[item.db_field_name]"></a-input>
</div>
<div class="box-title-text" v-if="item.field_show_type == '2'">
<div class="title-text">
<div class="title-text" :title="item.db_field_txt">
<span>{{item.db_field_txt}}</span>
</div>
<a-input-number class="box-input" :placeholder="$t('PleaseEnter')+item.db_field_txt"
v-model="queryParam[item.db_field_name]" :min="1" :max="99999999"/>
</div>
<div class="box-title-text" v-else-if="item.field_show_type == '4'">
<div class="title-text">
<div class="box-title-text" v-else-if="item.field_show_type == '3'">
<div class="title-text" :title="item.db_field_txt">
<span>{{item.db_field_txt}}</span>
</div>
<j-multi-select-tag class="box-input" v-model="queryParam[item.db_field_name]"
@@ -26,7 +26,7 @@
:triggerChange="false" :dictCode="item.dict_field"/>
</div>
<div class="box-title-text" v-else-if="item.field_show_type == '6'">
<div class="title-text">
<div class="title-text" :title="item.db_field_txt">
<span>{{item.db_field_txt}}</span>
</div>
<a-range-picker class="box-input" v-model="queryParam[item.db_field_name]"
@@ -34,7 +34,7 @@
@change="onChange(item.db_field_name)"></a-range-picker>
</div>
<div class="box-title-text" v-else-if="item.field_show_type == '5'">
<div class="title-text">
<div class="title-text" :title="item.db_field_txt">
<span>{{item.db_field_txt}}</span>
</div>
<a-date-picker class="box-input"
@@ -42,8 +42,8 @@
@change="dateChange(item.db_field_name)"
v-model="queryParam[item.db_field_name]"/>
</div>
<div class="box-title-text" v-else-if="item.field_show_type == '3'">
<div class="title-text">
<div class="box-title-text" v-else-if="item.field_show_type == '4'">
<div class="title-text" :title="item.db_field_txt">
<span>{{item.db_field_txt}}</span>
</div>
<j-dict-select-tag class="box-input" v-model="queryParam[item.db_field_name]"
@@ -135,12 +135,16 @@
.title-text {
width: 20%;
min-width: 90px;
color: #000F16;
display: inline-block;
font-weight: 500;
font-size: 14px;
margin-right: 16px;
margin-top: 3px;
text-align: right;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.box-input {
+33 -16
View File
@@ -5,30 +5,36 @@
class="table"
rowKey="id"
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
:columns="columns"
:pagination="false"
:scroll="{x: 1600}"
:scroll="{x: true}"
:data-source="dataSource"
:loading="loading"
:columns="columns"
@change="tableOnChange"
>
<span slot="operation" slot-scope="record">
<a class="text" v-for="(ol,index) in OperationList"
@click="OperationClick(ol,record)">
<span v-if="ol.text == '取消收藏'">
{{!record.collectFlag || record.collectFlag == 0 ? '收藏' :'取消收藏'}}
</span>
<span v-else-if="ol.text == '取消订阅'">
{{!record.subscribeFlag || record.subscribeFlag == 0 ? '订阅' :'取消订阅'}}
</span>
<span v-else>
{{ol.text}}
</span>
</a>
</span>
<a class="text" v-for="(ol,index) in OperationList"
@click="OperationClick(ol,record)">
<span v-if="ol.text == '取消收藏'">
{{!record.collectFlag || record.collectFlag == 0 ? '收藏' :'取消收藏'}}
</span>
<span v-else-if="ol.text == '取消订阅'">
{{!record.subscribeFlag || record.subscribeFlag == 0 ? '订阅' :'取消订阅'}}
</span>
<span v-else>
{{ol.text}}
</span>
</a>
</span>
<span slot="detailClick" slot-scope="text,record">
<a class="text" :title="text" @click="detailClick(record)">{{text}}</a>
<a class="text" :title="text" @click="detailClick(record)">{{text}}</a>
</span>
<span slot="detailText" slot-scope="text,record">
<span class="text" :title="text">
{{text.length > 18?text.slice(0,17)+'...':text}}
</span>
</span>
</a-table>
</div>
<div class="page" v-if="dataSource.length > 0">
@@ -138,6 +144,10 @@
this.columns[index].scopedSlots = {
customRender: 'detailClick'
}
} else {
this.columns[index].scopedSlots = {
customRender: 'detailText'
}
}
})
let width = 0
@@ -177,6 +187,9 @@
postAction(this.url.tableList, params).then((res) => {
if (res.success) {
this.dataSource = res.result.records
this.dataSource.forEach((val) => {
val.function_territory = val.function_territory + 'dsfsdfs 收到付款了山东黄搞定;分两个地方骨科大夫的咖啡馆里的法国金弗兰克是的积分流口水的房间的斯洛伐克第三方'
})
this.total = res.result.total
this.loading = false
} else {
@@ -209,6 +222,10 @@
.table .ant-table-column-title {
font-weight: bold;
}
.ant-table td {
white-space: nowrap;
}
</style>
<style scoped>
.box {
@@ -29,7 +29,7 @@
<a-col :md="6" :sm="8">
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
<a-button type="primary" @click="searchQuery" icon="search">{{$t('query')}}</a-button>
<a-button @click="searchReset" icon="reload" style="margin-left: 8px">清空</a-button>
<a-button @click="searchReset" icon="reload" style="margin-left: 8px">{{ $t('reset') }}</a-button>
</span>
</a-col>
</a-row>
@@ -40,7 +40,7 @@
<div class="table-operator">
<div class="operator-text" @click="handleBatCancel">
<a-icon type="delete" />
批量取消收藏
{{ $t('BatchCancel') }}
</div>
</div>
<div class="colloction-table">
@@ -6,23 +6,23 @@
<div class="table-operator">
<div @click="handleDel" class="operator-text">
<a-icon type="delete"/>
批量删除
{{$t('BatchDelete')}}
</div>
<div @click="handleExport" class="operator-text">
<a-icon type="export" :rotate="-90"/>
数据导出
{{$t('dataExport')}}
</div>
<div @click="handleFileExport" class="operator-text">
<a-icon type="mail"/>
带文件导出
{{$t('exportWithFile')}}
</div>
<div @click="handleCompare" class="operator-text">
<a-icon type="rocket" :rotate="45"/>
推送
{{$t('Push')}}
</div>
<div @click="handleModule" class="operator-text">
<a-icon type="download"/>
模板下载
{{$t('templateDownload')}}
</div>
<div class="operator-text">
<ImportFile :url="url"/>
@@ -73,9 +73,10 @@
import libraryPush from '@/components/libraryPush/index'
import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage'
import eventBUs from '../../../common/event'
import { ACCESS_TOKEN } from "@/store/mutation-types"
import { ACCESS_TOKEN } from '@/store/mutation-types'
import ImportFile from '@/components/ImportFile/index'
import Vue from 'vue'
export default {
name: 'docLibrary',
components: {
@@ -103,11 +104,11 @@
{
text: '删除',
ClickEvent: 'deleteTable'
},
}
],
selectedRowKeys: [],
loading: false,
tokenHeader: {'X-Access-Token': Vue.ls.get(ACCESS_TOKEN)},
tokenHeader: { 'X-Access-Token': Vue.ls.get(ACCESS_TOKEN) },
//url传参严格按照当前命名
url: {
tableHeader: 'document/bussDocumentLibraryEO/getHeader', //表格头部字段
@@ -118,9 +119,9 @@
updateInfo: 'document/bussDocumentLibraryEO/updateInfo', //编辑
getDocumentInfo: 'document/bussDocumentLibraryEO/getDocumentInfoById', //查看
deleteBatch: 'document/bussDocumentLibraryEO/deleteBatch', //删除
pullMessage:'document/bussDocumentLibraryEO/pullMessage',//推送
importZipUrl:'document/bussDocumentLibraryEO/importZip',//导入
},
pullMessage: 'document/bussDocumentLibraryEO/pullMessage',//推送
importZipUrl: 'document/bussDocumentLibraryEO/importZip'//导入
},
idList: []
}
},
@@ -134,7 +135,7 @@
...this.$refs.searchRef.queryParam,
id: this.idList.join(',')
}
downloadFile('document/bussDocumentLibraryEO/exportExcel', '文档库.xls', query,this.Deselect)
downloadFile('document/bussDocumentLibraryEO/exportExcel', '文档库.xls', query, this.Deselect)
},
Deselect() {
this.$refs.tableDataRef.selectedRowKeys = []
@@ -146,7 +147,7 @@
...this.$refs.searchRef.queryParam,
id: this.idList.join(',')
}
downloadFile('document/bussDocumentLibraryEO/exportZip', '文档库.zip', query,this.Deselect)
downloadFile('document/bussDocumentLibraryEO/exportZip', '文档库.zip', query, this.Deselect)
},
//新增
handleAdd() {
@@ -272,7 +273,8 @@
<style scoped>
@import '~@assets/less/common.less';
ddd{
ddd {
background: #fff;
}
</style>
@@ -7,15 +7,15 @@
<div class="table-operator">
<div class="operator-text" @click="handleUpload">
<a-icon type="plus" />
上传
{{ $t('upload1') }}
</div>
<div class="operator-text" @click="handleFileExport">
<a-icon type="export" />
调取已入库文件
{{ $t('RetrieveFiles') }}
</div>
<div class="operator-text" @click="handleDel">
<a-icon type="delete" />
批量删除
{{ $t('BatchDelete') }}
</div>
</div>
@@ -4,6 +4,7 @@
class="doc-table-drawer"
title="调取已入库文件"
placement="right"
v-if="visible"
:visible="visible"
:after-visible-change="afterVisibleChange"
@close="onClose"
@@ -11,16 +12,16 @@
>
<div class="doc-table-content">
<div class="doc-header">
<a-form layout="inline" @keyup.enter.native="searchQuery(queryParams)">
<a-form layout="inline" v-model="queryParams" @keyup.enter.native="searchQuery(queryParams)">
<a-row :gutter="24">
<a-col :md="6" :sm="12">
<a-form-item :label="'编号'">
<j-input :placeholder="'请输入编号'" v-model="queryParams.standNumber"></j-input>
<j-input :placeholder="'请输入编号'" v-model="queryParams.serialNumber"></j-input>
</a-form-item>
</a-col>
<a-col :md="6" :sm="12">
<a-form-item :label="'标题'">
<j-input :placeholder="'请输入标题'" v-model="queryParams.standName"></j-input>
<j-input :placeholder="'请输入标题'" v-model="queryParams.title"></j-input>
</a-form-item>
</a-col>
<a-col :md="6" :sm="8">
@@ -60,6 +61,7 @@
</template>
<script>
import { getAction, postAction, deleteAction } from '@/api/manage'
export default {
name: 'docTable',
props:{
@@ -72,9 +74,11 @@
visible:false,
queryParams:{
pageNo:1,
pageSize:10
pageSize:10,
serialNumber:'',
title:''
},
currentPage:1,
total:0,
ipagination: {
defaultPageSize: 10,
defaultCurrent: 1,
@@ -99,47 +103,59 @@
},
{
title:'标准编号',
key: 'standNumber',
key: 'serial_number',
align:"center",
dataIndex: 'standNumber',
dataIndex: 'serial_number',
ellipsis: true,
},
{
title:'标题',
key: 'standName',
key: 'title',
align:"center",
dataIndex: 'standName',
dataIndex: 'title',
ellipsis: true,
},
{
title:'文本状态',
key: 'fileType_dictText',
title:'状态',
key: 'state',
align:"center",
dataIndex: 'fileType_dictText',
dataIndex: 'state',
ellipsis: true,
},
{
title:'文件名称',
key: 'fileName',
key: 'file_name',
align:"center",
dataIndex: 'fileName',
dataIndex: 'file_name',
ellipsis: true,
},
{
title:'文件信息',
key: 'fileInfo',
key: 'text_info',
align:"center",
dataIndex: 'fileInfo',
dataIndex: 'text_info',
ellipsis: true,
},
]
],
}
},
mounted() {
this.visible=this.drawVisible
this.tableSource= [...this.drawTableSorce]
this.loadData()
// this.tableSource= [...this.drawTableSorce]
},
methods: {
loadData(){
let params={
...this.queryParams
}
postAction(`document/bussDocumentLibraryEO/ocrPageInfo`,params).then(res=>{
if(res.success){
this.total=res.result.total
this.tableSource=[...res.result.records]
}
})
},
afterVisibleChange(val) {
console.log('visible', val);
},
@@ -7,15 +7,15 @@
<div class="table-operator">
<div class="operator-text" @click="handleModule">
<a-icon type="plus" />
拆分已入库文本
{{ $t('SplitText') }}
</div>
<div class="operator-text" @click="handleExport">
<a-icon type="export" />
导入拆分结果
{{ $t('ImportResults') }}
</div>
<div class="operator-text" @click="handleDel">
<a-icon type="delete" />
批量删除
{{ $t('BatchDelete') }}
</div>
</div>
<div class="splitting-table">
@@ -0,0 +1,290 @@
<template>
<div class="split-add-form">
<div class="split-add-form-wrapper">
<a-drawer
class="split-table-drawer"
title="新增条款"
placement="right"
:visible="visible"
:after-visible-change="afterVisibleChange"
@close="onClose"
width="1100"
>
<a-form>
<a-form-model
class="split-content"
:model="form"
:rules="validatorRules"
ref="splitEditForm"
:label-col="labelCol"
:wrapper-col="wrapperCol"
>
<a-row :gutter="24">
<a-col :span="12">
<a-form-model-item label="条款号" prop="number">
<a-input v-model="form.number" placeholder="请输入条款号" />
</a-form-model-item>
</a-col>
<a-col :span="12">
<a-form-model-item label="条款名称" prop="name">
<a-input v-model="form.name" placeholder="请输入条款名称" />
</a-form-model-item>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="12">
<a-form-model-item label="功能领域" prop="funArea">
<j-dict-select-tag type="list" v-model="form.funArea" dictCode="function_territory" placeholder="请选择功能领域" />
</a-form-model-item>
</a-col>
<a-col :span="12">
<a-form-model-item label="技术领域" prop="tecArea">
<j-dict-select-tag type="list" v-model="form.tecArea" dictCode="technology_territory" placeholder="请选择技术领域" />
</a-form-model-item>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="12">
<a-form-model-item label="信息类别" prop="infoType">
<j-dict-select-tag type="list" v-model="form.infoType" dictCode="xxx" placeholder="请选择信息类别" />
</a-form-model-item>
</a-col>
</a-row>
<span class="con-divider">内容简介</span>
<a-divider dashed />
<a-row :gutter="24" class="split-content" id="split-content" v-for="(item, index) in contentList" :key="item.id">
<div class="split-row">
<div class="row-left">
<a-textarea v-if="item.type=='TEXT'" v-model="item.textContent" placeholder="请输入内容" auto-size />
</div>
<div class="row-right">
<a-button class="row-btn-add" @click="splitAdd">增加</a-button>
<a-button @click="splitDelete">删除</a-button>
</div>
</div>
</a-row>
</a-form-model>
</a-form>
<div class="split-form-footer">
<a-button type="primary" class="footer-btn-save" @click="splitSave">保存</a-button>
<a-button type="primary" @click="splitCancel">取消</a-button>
</div>
<!-- 类型选择弹框-->
<a-modal
:title="Title"
class="split-title"
:visible="addConVisible"
:confirm-loading="confirmLoading"
@ok="handleOk"
@cancel="handleCancel"
>
<div class="title-wraper">
<div class="title-top">
<span class="title-flex title-text" :class="{'title-flex-active':selected==1}" @click="selectTitle(1)">文本</span>
<span class="title-flex title-pic" :class="{'title-flex-active':selected==2}" @click="selectTitle(2)">图片</span>
<span class="title-flex title-table" :class="{'title-flex-active':selected==3}" @click="selectTitle(3)">表格</span>
</div>
<div class="title-num" v-if="selectedNum">
<span class="title-num-add">添加数量</span>
<a-input-number class="title-num-edit" :min="1" v-model="textNumber" placeholder="请输入数据"></a-input-number>
</div>
</div>
</a-modal>
</a-drawer>
</div>
</div>
</template>
<script>
import Vue from 'vue'
export default {
name: 'splitAddForm',
data(){
return{
contentList:[
{
id:'001',
type:'TEXT',
textContent:'本标准规定了车辆正面碰撞时前排外侧座椅乘员保护方面的术语和定义、要求和试验方法。'
},
{
id:'002',
type:'TEXT',
textContent:'本标准适用于M1类汽车和最大设计总质量不大于2500kg的N1类汽车,以及多用途货车。'
}
],
content:{},
selected:1,
selectedNum:true,
textNumber:1,
Title:'新增',
confirmLoading: false,
labelCol: {
xs: { span: 24 },
sm: { span: 5 },
},
wrapperCol: {
xs: { span: 24 },
sm: { span: 16 },
},
visible:false,
addConVisible:false,
form:{},
validatorRules:{
number:[
{ required:true,message: '请输入条款号',trigger: 'blur' }
],
name:[
{ required:true,message: '请输入条款名称',trigger: 'blur' }
]
}
}
},
props:{
addVisible:Boolean
},
watch:{
selected(val){
if(this.selected==1){
this.selectedNum=true
}else{
this.selectedNum=false
}
}
},
mounted() {
this.visible=this.addVisible
},
methods:{
afterVisibleChange(){
},
onClose(){
this.$emit('closeVisible',false)
},
//增加按钮
splitAdd(){
this.addConVisible=true
},
//删除按钮
splitDelete(){
},
//保存
splitSave(){
this.$refs.splitEditForm.validate(valid=>{
if(valid){
}
})
},
//取消
splitCancel(){
this.visible=false
this.$emit('closeVisible',false)
},
//确定增加的类型
handleOk(){
this.addConVisible=false
if(this.selected==1){
}
},
handleCancel(){
this.addConVisible=false
},
selectTitle(val){
this.selected=val
}
}
}
</script>
<style lang="less" scoped>
.split-add-form{
.split-add-form-wrapper{
}
}
.split-table-drawer{
.split-content{
.con-divider{
font-size: 16px;
font-weight: 500;
color: rgba(0, 0, 0, 0.85)
}
.split-row{
display: flex;
justify-content: space-between;
margin: 0 20px 20px;
.row-left{
flex: 1;
/*border:1px solid #9e9e9e;*/
}
.row-right{
min-width: 150px;
margin-left: 20px;
.row-btn-add{
margin-right: 20px;
}
}
}
}
.split-form-footer{
margin-top: 20px;
text-align: center;
.footer-btn-save{
margin-right: 20px;
}
}
}
.split-title{
.title-wraper {
.title-top {
display: flex;
justify-content: space-around;
.title-flex {
border: 1px solid #d9d9d9;
padding: 10px 40px;
cursor: pointer;
}
.title-flex-active {
background: #00B3BE;
border-color: #00B3BE;
color:#FFFFFF;
}
}
.title-num {
margin: 20px 20px 0;
line-height: 32px;
display: flex;
justify-content: start;
.title-num-add {
min-width: 70px;
}
.title-num-edit {
flex: 1;
}
}
}
}
</style>
<style lang="less">
.split-title{
.ant-modal-footer{
text-align: center;
}
}
</style>
@@ -47,7 +47,7 @@
<a-col :md="6" :sm="8">
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
<a-button type="primary" @click="searchQuery" icon="search">{{$t('query')}}</a-button>
<a-button @click="searchReset" icon="reload" style="margin-left: 8px">清空</a-button>
<a-button @click="searchReset" icon="reload" style="margin-left: 8px">{{ $t('reset') }}</a-button>
</span>
</a-col>
</a-row>
@@ -57,35 +57,35 @@
<div class="table-operator">
<div class="operator-text" @click="handleCopyManage">
<a-icon type="copy" />
复制
{{ $t('copy') }}
</div>
<div class="operator-text" @click="handleAddManage">
<a-icon type="plus" />
新增
{{ $t('add') }}
</div>
<div class="operator-text" @click="handleImportManage">
<a-icon type="import" :rotate="-90" />
导入
{{ $t('import') }}
</div>
<div class="operator-text" @click="handleExportManage">
<a-icon type="export" :rotate="-90"/>
导出
{{ $t('export') }}
</div>
<div class="operator-text" @click="handleDownManage">
<a-icon type="download" />
模板下载
{{ $t('TemplateDownload') }}
</div>
<div class="operator-text" @click="handleMergeManage">
<a-icon type="snippets" />
合并条款
{{ $t('MergerClause') }}
</div>
<div class="operator-text" @click="handleManage">
<a-icon type="setting" />
批量设置
{{ $t('BatchSetting') }}
</div>
<div class="operator-text" @click="handleBatCancel">
<a-icon type="delete" />
批量删除
{{ $t('BatchDelete') }}
</div>
</div>
<div class="split-detail-table">
@@ -110,15 +110,19 @@
</div>
</div>
</div>
<splitAddForm v-if="addVisible" :addVisible="addVisible" @closeVisible="closeVisible"></splitAddForm>
</div>
</a-card>
</div>
</template>
<script>
import splitAddForm from './splitAddForm'
export default {
name: 'splitDetail',
components:{
splitAddForm
},
data() {
return {
queryParams:{
@@ -191,6 +195,7 @@
key: 'serialContent',
align: "center",
width: 200,
ellipsis: true,
},
{
title: '功能领域',
@@ -215,7 +220,8 @@
align: "center",
width: 80
}
]
],
addVisible:false
}
},
mounted() {
@@ -319,7 +325,10 @@
},
//新增
handleAddManage(){
this.addVisible=true
},
closeVisible(val){
this.addVisible=val
},
//导入
handleImportManage(){
@@ -28,7 +28,7 @@
<a-col :md="6" :sm="8">
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
<a-button type="primary" @click="searchQuery" icon="search">{{$t('query')}}</a-button>
<a-button @click="searchReset" icon="reload" style="margin-left: 8px">清空</a-button>
<a-button @click="searchReset" icon="reload" style="margin-left: 8px">{{ $t('reset') }}</a-button>
</span>
</a-col>
</a-row>
@@ -39,11 +39,11 @@
<div class="table-operator">
<div class="operator-text" @click="handleBatManage">
<a-icon type="plus" />
订阅领域管理
{{ $t('SubscriptionManagement') }}
</div>
<div class="operator-text" @click="handleBatCancel">
<a-icon type="delete" />
批量取消
{{ $t('BatchCancellation') }}
</div>
</div>
<div class="colloction-table">
@@ -54,15 +54,16 @@
<a-table bordered :data-source="tableData" :columns="columns" :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" :pagination="false" class="tag-con-table">
<template slot="action" slot-scope="text, record">
<a-popover placement="right" v-model="typeVisible[record.id]" trigger="click">
<template slot="content" class="type-popover-content">
<div class="type-popover">
<p class="type type-input" @click="handleDicPop(record,'list')">下拉选择</p>
<p class="type type-select" @click="handleDicPop(record,'tree')">树状结构</p>
</div>
</template>
<a class="action-dict" href="javascript:;">字典配置</a>
</a-popover>
<a class="action-dict" href="javascript:;" @click="handleDicPop(record)">字典配置</a>
<!-- <a-popover placement="right" v-model="typeVisible[record.id]" trigger="click">-->
<!-- <template slot="content" class="type-popover-content">-->
<!-- <div class="type-popover">-->
<!-- <p class="type type-input" @click="handleDicPop(record,'list')">下拉选择</p>-->
<!-- <p class="type type-select" @click="handleDicPop(record,'tree')">树状结构</p>-->
<!-- </div>-->
<!-- </template>-->
<!-- <a class="action-dict" href="javascript:;">字典配置</a>-->
<!-- </a-popover>-->
<a class="action-edit" href="javascript:;" @click="actionEdit(record)">编辑</a>
<a-popconfirm
v-if="tableData.length"
@@ -295,15 +296,13 @@
this.contentVisible=true
},
//字典配置
handleDicPop(record,val){
handleDicPop(record){
this.record=record
this.dictVal=val
if(val=='list'){
if(record.attributeType=='1'){
this.typeVisible[record.id]=false
this.dicVisible=true
}else if(val == 'tree'){
}else{
this.typeVisible[record.id]=false
this.dicVisible=true
@@ -132,7 +132,7 @@
title: '英文名称',
align: "center",
width: 100,
dataIndex: 'dbFieldName',
dataIndex: 'dbFieldEnName',
},
{
title: '属性类型',
@@ -71,7 +71,7 @@
</div>
</div>
</div>
<div class="text-right">
<div class="text-right" :class="{'text-right-right':searchShow}">
<div class="search-text-title">
<span>检索范围:</span>
<span>纯电动</span>
@@ -101,11 +101,9 @@
</a-table>
<ul v-if="!searchShow">
<a-checkbox-group v-model="checkboxText" style="margin-top: 20px;">
<a-checkbox-group v-model="checkboxText">
<li v-for="item in conList" :key="item.id">
<div style="margin-top: -67px;
margin-bottom: 10px;
padding: 24px 24px 24px 0;position: relative">
<div style="margin-bottom: 10px;position: relative">
<a-checkbox :value="item.id" class="checkbox-left"></a-checkbox>
<div class="text-text-right"
@click="checkedClick(item)"
@@ -384,13 +382,13 @@
},
methods: {
checkedClick(item) {
if (item.checked){
this.checkboxText = this.checkboxText.filter(res=>{
return res !== item.id
})
}else{
this.checkboxText.push(item.id)
}
if (item.checked) {
this.checkboxText = this.checkboxText.filter(res => {
return res !== item.id
})
} else {
this.checkboxText.push(item.id)
}
console.log(this.checkboxText)
},
selectModel(value) {
@@ -441,7 +439,13 @@
}
}
</script>
<style>
.search-center .ant-tabs-nav-container {
font-size: 18px !important;
font-weight: 400 !important;
color: #040B29 !important;
}
</style>
<style lang="less" scoped>
.search-center {
/*background-color: #ffffff;*/
@@ -528,26 +532,27 @@
justify-content: flex-start;
.text-left {
border-right: 1px solid #e8e8e8;
min-width: 310px;
padding: 0 10px;
width: 358px;
padding: 24px 24px 24px 0;
box-sizing: border-box;
.text-left-wrap {
padding: 5px;
.text-left-select {
display: flex;
justify-content: space-between;
margin: 23px 0;
margin-bottom: 24px;
line-height: 32px;
.text-sel {
//span{
// float: right;
//}
font-size: 14px;
font-weight: 400;
color: #000F16;
text-align: right;
margin-right: 27px;
margin-right: 14px;
min-width: 83px;
}
@@ -565,8 +570,11 @@
span.data-fb {
text-align: right;
margin-right: 26px;
margin-right: 14px;
min-width: 84px;
font-size: 14px;
font-weight: 400;
color: #000F16;
}
}
}
@@ -575,10 +583,16 @@
.text-right {
width: 100%;
position: relative;
margin-left: 16px;
padding: 26px 0 22px 0;
box-sizing: border-box;
.search-text-title {
padding: 16px 5px;
padding: 0 0 22px 0;
span {
font-size: 14px;
font-weight: 400;
color: #040B29;
}
.search-header-right {
float: right;
@@ -621,7 +635,7 @@
.search-text-list {
ul {
padding: 10px;
padding:0 0 0 18px;
margin: 0;
li {
@@ -629,15 +643,25 @@
//background: #f6f6f6;
//border: 1px solid #000000;
//border-radius: 10px;
padding: 10px;
/*padding: 10px;*/
.text-header {
margin-bottom: 11px;
span {
margin-right: 20px;
font-size: 18px;
font-weight: 600;
margin-right: 52px;
font-size: 16px;
font-weight: bold;
color: #040B29;
}
}
.text-content {
font-size: 14px;
font-weight: 400;
color: #040B29;
opacity: 0.8;
}
}
}
@@ -667,8 +691,13 @@
}
.text-text-right {
padding: 12px 20px;
padding: 19px 28px;
box-sizing: border-box;
margin-left: 38px;
}
.text-right-right{
border-left: 2px solid #E6E7EC;
padding: 24px 0 24px 24px!important;
box-sizing: border-box;
margin-left: 35px;
}
</style>
+25 -24
View File
@@ -87,7 +87,6 @@
import JEllipsis from '@/components/jero/JEllipsis'
export default {
name: 'PermissionList',
mixins: [JeroListMixin],
@@ -105,16 +104,19 @@
title: this.$t('MenuName'),
dataIndex: 'name',
key: 'name'
}, {
},
{
title: this.$t('MenuEnName'),
dataIndex: 'menuEn',
key: 'menuEn'
},
{
title: this.$t('MenuType'),
dataIndex: 'menuType',
key: 'menuType',
customRender: this.text
},/*{
title: '权限编码',
dataIndex: 'perms',
key: 'permissionCode',
},*/{
},
{
title: 'icon',
dataIndex: 'icon',
key: 'icon'
@@ -155,18 +157,17 @@
}
}
},
computed:{
text:function(){
if (text == 0) {
return this.$t('menu')
} else if (text == 1) {
return this.$t('menu')
} else if (text == 2) {
return this.$t('ButtonsPermissions')
} else {
return text
}
computed: {
text: function() {
if (text == 0) {
return this.$t('menu')
} else if (text == 1) {
return this.$t('menu')
} else if (text == 2) {
return this.$t('ButtonsPermissions')
} else {
return text
}
}
},
methods: {
@@ -184,14 +185,14 @@
this.$refs.PermissionDataRuleList.edit(record)
},
handleAddSub(record) {
this.$refs.modalForm.title = this.$t('AddSubmenu');
this.$refs.modalForm.localMenuType = 1;
this.$refs.modalForm.disableSubmit = false;
this.$refs.modalForm.edit({status:'1',permsType:'1',route:true,'parentId':record.id});
this.$refs.modalForm.title = this.$t('AddSubmenu')
this.$refs.modalForm.localMenuType = 1
this.$refs.modalForm.disableSubmit = false
this.$refs.modalForm.edit({ status: '1', permsType: '1', route: true, 'parentId': record.id })
},
handleExpandedRowsChange(expandedRows) {
this.expandedRowKeys = expandedRows
},
}
}
}
</script>
@@ -26,6 +26,14 @@
<a-input :placeholder="$t('enterMenuName')" v-decorator="[ 'name', validatorRules.name]" :readOnly="disableSubmit"/>
</a-form-item>
<a-form-item
:labelCol="labelCol"
:wrapperCol="wrapperCol"
:label="$t('MenuEnName')"
hasFeedback >
<a-input :placeholder="$t('enterMenuEnName')" v-decorator="[ 'menuEn', validatorRules.menuEn]" :readOnly="disableSubmit"/>
</a-form-item>
<a-form-item
v-show="localMenuType!=0"
@@ -221,6 +229,7 @@
validatorRules:function() {
return {
name:{rules: [{ required: true, message: this.$t('enterMenuTitle') }]},
menuEn:{rules: [{ required: true, message: this.$t('enterMenuEnName') }]},
component:{rules: [{ required: this.show, message: this.$t('enterFrontComponents') }]},
url:{rules: [{ required: this.show, message: this.$t('enterMenuPath') }]},
permsType:{rules: [{ required: true, message: this.$t('enterAuthorizationPolicy') }]},
@@ -290,7 +299,7 @@
this.visible = true;
this.loadTree();
let fieldsVal = pick(this.model,'name','perms','permsType','component','redirect','url','sortNo','menuType','status');
let fieldsVal = pick(this.model,'name','menuEn','perms','permsType','component','redirect','url','sortNo','menuType','status');
this.$nextTick(() => {
this.form.setFieldsValue(fieldsVal)
});