From c041523ff100a6a43ebc4411125a3e566e19f193 Mon Sep 17 00:00:00 2001
From: jinlin <jinlin>
Date: 星期五, 24 十一月 2023 14:16:16 +0800
Subject: [PATCH] Changes
---
zt/core/src/main/java/com/zt/modules/oss/enums/OssStatus.java | 2
web/src/views/modules/itemCirculatOrder/ItemCirculatOrder-AddOrUpdate.vue | 18
web/src/components/config-uploader/src/config-uploader.vue | 67 +
zt/core/src/main/java/com/zt/modules/oss/encry/NoEncryptService.java | 10
web/src/components/table-uploader/src/table-uploader.vue | 23
modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/controller/ItemCirculatOrderController.java | 19
zt/core/src/main/java/com/zt/modules/oss/annotation/DataFieldParser.java | 16
modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/model/ItemCirculatOrder.java | 11
web/packages/components/zt-uploader/src/zt-uploader.vue | 1199 ++++++++++++++++++++++++++++++-------------
web/package.json | 2
zt/core/src/main/resources/mapper/oss/SysOssDao.xml | 1
modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/model/ItemCirculatOrderTechnical.java | 9
zt/core/src/main/resources/mapper/sys/SysDictTypeDao.xml | 2
zt/common/src/main/java/com/zt/core/sys/dto/DictIstance.java | 2
modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/dto/ItemCirculatOrderDto.java | 3
modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/service/ItemCirculatOrderTechnicalService.java | 4
web/src/views/modules/itemCirculatOrder/ItemCirculatOrder.vue | 11
zt/core/src/main/java/com/zt/modules/oss/cloud/LocalStorageService.java | 19
zt/core/src/main/java/com/zt/modules/oss/service/SysOssService.java | 4
web/src/views/modules/project/SoftwareTestOrder-AddOrUpdate.vue | 3
zt/core/src/main/java/com/zt/modules/oss/controller/chunkUploadController.java | 11
modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/service/ItemCirculatOrderService.java | 7
zt/core/src/main/java/com/zt/modules/oss/cloud/StorageConfig.java | 4
zt/core/src/main/java/com/zt/modules/oss/controller/SysOssController.java | 8
zt/core/src/main/java/com/zt/modules/oss/mapstruct/OssMapper.java | 3
modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/dao/ItemCirculatOrderDao.java | 2
modules/mainPart/src/main/resources/mapper/itemCirculatOrder/ItemCirculatOrderDao.xml | 12
zt/core/src/main/java/com/zt/modules/oss/model/OssFieldDefine.java | 7
zt/core/src/main/java/com/zt/modules/oss/model/SysOss.java | 6
modules/mainPart/src/main/resources/mapper/itemCirculatOrder/ItemCirculatOrderTechnicalDao.xml | 13
modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/dao/ItemCirculatOrderTechnicalDao.java | 2
web/package-lock.json | 80 ++
32 files changed, 1,072 insertions(+), 508 deletions(-)
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/controller/ItemCirculatOrderController.java b/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/controller/ItemCirculatOrderController.java
index 2a1cebe..1866021 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/controller/ItemCirculatOrderController.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/controller/ItemCirculatOrderController.java
@@ -14,7 +14,9 @@
import com.zt.common.validator.group.UpdateGroup;
import com.zt.life.modules.itemCirculatOrder.dto.ItemCirculatOrderDto;
import com.zt.life.modules.itemCirculatOrder.model.ItemCirculatOrder;
+import com.zt.life.modules.itemCirculatOrder.model.ItemCirculatOrderTechnical;
import com.zt.life.modules.itemCirculatOrder.service.ItemCirculatOrderService;
+import com.zt.life.modules.itemCirculatOrder.service.ItemCirculatOrderTechnicalService;
import com.zt.life.modules.project.dto.SoftwareTestOrderDto;
import com.zt.life.sys.dto.OssDto;
import com.zt.life.sys.service.SysOssConfigService;
@@ -52,6 +54,9 @@
@Autowired
private SysOssConfigService sysOssConfigService;
+ @Autowired
+ private ItemCirculatOrderTechnicalService technicalService;
+
@GetMapping("page")
@ApiOperation("鍒嗛〉")
@ApiImplicitParams({
@@ -59,7 +64,10 @@
@ApiImplicitParam(name = Constant.Q.LIMIT, value = Constant.QV.LIMIT, required = true, dataType = Constant.QT.INT),
@ApiImplicitParam(name = Constant.Q.ORDER_FIELD, value = Constant.QV.ORDER_FIELD, dataType = Constant.QT.STRING),
@ApiImplicitParam(name = Constant.Q.ORDER, value = Constant.QV.ORDER, dataType = Constant.QT.STRING),
- @ApiImplicitParam(name = "code", value = "鐗╁搧娴佽浆鍗曠紪鍙�", dataType = Constant.QT.STRING, format = "code^LK") })
+ @ApiImplicitParam(name = "code", value = "鐗╁搧娴佽浆鍗曠紪鍙�", dataType = Constant.QT.STRING, format = "code^LK"),
+ @ApiImplicitParam(name = "softwareName", value = "鐗╁搧鍚嶇О", dataType = Constant.QT.STRING, format = "software_name^EQ"),
+ @ApiImplicitParam(name = "softwareIdentity", value = "鐗╁搧缂栧彿", dataType = Constant.QT.STRING, format = "software_identity^EQ")
+ })
public PageResult<ItemCirculatOrder> page(@ApiIgnore @QueryParam QueryFilter queryFilter){
return PageResult.ok(itemCirculatOrderService.page(queryFilter));
@@ -70,9 +78,12 @@
public Result<ItemCirculatOrderDto> getDto(Long projectId, Long circulatOrderid) {
ItemCirculatOrderDto data = itemCirculatOrderService.getDto(projectId, circulatOrderid);
if (circulatOrderid!=null) {
- OssDto ossDto = sysOssConfigService.getOssByBusiType(circulatOrderid, "circulat_order");
- if (ossDto != null) {
- data.setFiles(ossDto);
+ for (ItemCirculatOrderTechnical technical : technicalService.getList(circulatOrderid)) {
+ Long technicalId = technical.getId();
+ OssDto ossDto = sysOssConfigService.getOssByBusiType(technicalId, "circulat_order");
+ if (ossDto != null) {
+ technical.setFiles(ossDto);
+ }
}
}
return Result.ok(data);
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/dao/ItemCirculatOrderDao.java b/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/dao/ItemCirculatOrderDao.java
index ded9dfb..51d96dd 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/dao/ItemCirculatOrderDao.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/dao/ItemCirculatOrderDao.java
@@ -22,5 +22,5 @@
List<ItemCirculatOrder> getList(Map<String, Object> params);
- List<DictIstance> itemList(Long projectId);
+
}
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/dao/ItemCirculatOrderTechnicalDao.java b/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/dao/ItemCirculatOrderTechnicalDao.java
index b5d4b51..fce5a18 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/dao/ItemCirculatOrderTechnicalDao.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/dao/ItemCirculatOrderTechnicalDao.java
@@ -1,6 +1,7 @@
package com.zt.life.modules.itemCirculatOrder.dao;
import com.zt.common.dao.BaseDao;
+import com.zt.core.sys.dto.DictIstance;
import com.zt.life.modules.itemCirculatOrder.model.ItemCirculatOrderTechnical;
import org.apache.ibatis.annotations.Mapper;
@@ -19,5 +20,6 @@
public interface ItemCirculatOrderTechnicalDao extends BaseDao<ItemCirculatOrderTechnical> {
List<ItemCirculatOrderTechnical> getList(Map<String, Object> params);
+ List<DictIstance> itemList(Long projectId);
}
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/dto/ItemCirculatOrderDto.java b/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/dto/ItemCirculatOrderDto.java
index ebc9840..7a25f53 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/dto/ItemCirculatOrderDto.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/dto/ItemCirculatOrderDto.java
@@ -23,8 +23,7 @@
private ItemCirculatOrder circulatOrder;
@ApiModelProperty(value = "娴嬭瘯鏈烘瀯淇℃伅")
private TestAgencyInfo TestAgencyInfo;
- @ApiModelProperty(value = "闄勪欢")
- private OssDto files;
+
@ApiModelProperty(value = "鎶�鏈祫鏂�")
private List<ItemCirculatOrderTechnical> technicalList = new ArrayList<>();
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/model/ItemCirculatOrder.java b/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/model/ItemCirculatOrder.java
index 462b976..e16ba9d 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/model/ItemCirculatOrder.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/model/ItemCirculatOrder.java
@@ -1,5 +1,6 @@
package com.zt.life.modules.itemCirculatOrder.model;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.zt.common.entity.BusiEntity;
@@ -51,6 +52,7 @@
@JsonFormat(pattern = "yyyy-MM-dd")
private Date detectDate;
+
@ApiModelProperty(value = "鏍″噯妫�娴嬫儏鍐佃鏄�")
private String detectSituation;
@@ -80,4 +82,13 @@
@ApiModelProperty(value = "骞翠唤")
private String year;
+ @TableField(exist = false)
+ @ApiModelProperty(value = "鐗╁搧鍚嶇О")
+ private String softwareName;
+
+ @TableField(exist = false)
+ @ApiModelProperty(value = "鐗╁搧缂栧彿")
+ private String softwareIdentity;
+
+
}
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/model/ItemCirculatOrderTechnical.java b/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/model/ItemCirculatOrderTechnical.java
index ed8d8e9..c71d036 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/model/ItemCirculatOrderTechnical.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/model/ItemCirculatOrderTechnical.java
@@ -1,7 +1,9 @@
package com.zt.life.modules.itemCirculatOrder.model;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.zt.common.entity.BusiEntity;
+import com.zt.life.sys.dto.OssDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -28,7 +30,7 @@
private Integer no;
@ApiModelProperty(value = "鎶�鏈祫鏂欏悕绉�")
- private String infoName;
+ private String name;
@ApiModelProperty(value = "鏍囪瘑")
private String identify;
@@ -48,7 +50,8 @@
@ApiModelProperty(value = "澶囨敞")
private String remark;
- @ApiModelProperty(value = "鏂囦欢")
- private String file;
+ @TableField(exist = false)
+ @ApiModelProperty(value = "闄勪欢")
+ private OssDto files;
}
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/service/ItemCirculatOrderService.java b/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/service/ItemCirculatOrderService.java
index 54ded60..b527118 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/service/ItemCirculatOrderService.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/service/ItemCirculatOrderService.java
@@ -6,6 +6,7 @@
import com.zt.core.sys.dto.DictLeafDto;
import com.zt.life.export.dto.WordFile;
import com.zt.life.modules.itemCirculatOrder.dao.ItemCirculatOrderDao;
+import com.zt.life.modules.itemCirculatOrder.dao.ItemCirculatOrderTechnicalDao;
import com.zt.life.modules.itemCirculatOrder.dto.ItemCirculatOrderDto;
import com.zt.life.modules.itemCirculatOrder.model.ItemCirculatOrder;
import com.zt.life.modules.itemCirculatOrder.model.ItemCirculatOrderTechnical;
@@ -14,6 +15,7 @@
import com.zt.life.modules.project.service.ProjectService;
import com.zt.life.modules.project.service.SoftwareTestOrderService;
import com.zt.life.modules.sysBaseInfo.service.TestAgencyInfoService;
+import com.zt.life.sys.dto.OssDto;
import com.zt.life.sys.service.SysOssConfigService;
import com.zt.modules.coderule.service.SysCodeRuleService;
import com.zt.modules.oss.service.SysOssService;
@@ -101,6 +103,7 @@
circulatOrderTechnical.setCirculatOrderId(circulatOrderid);
technicalService.insert(circulatOrderTechnical);
}
+ sysOssConfigService.updateOss(circulatOrderTechnical.getId(), circulatOrderTechnical.getFiles());// 淇濆瓨闄勪欢
}
if (itemCirculatOrderDto.getTestAgencyInfo().getId() == 10000) {
@@ -109,7 +112,6 @@
} else {
testAgencyInfoService.update(itemCirculatOrderDto.getTestAgencyInfo());
}
- sysOssConfigService.updateOss(itemCirculatOrderDto.getId(), itemCirculatOrderDto.getFiles());// 淇濆瓨闄勪欢
return true;
}
@@ -130,10 +132,9 @@
} else {
ItemCirculatOrder itemCirculatOrder =new ItemCirculatOrder();
data.setCirculatOrder(itemCirculatOrder);
- List<?> resultList = baseDao.itemList(projectId);
+ List<?> resultList = technicalService.itemList(projectId);
List<?> technicalList = resultList;
data.setTechnicalList((List<ItemCirculatOrderTechnical>) technicalList);
-
}
if (projectId != null) {
diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/service/ItemCirculatOrderTechnicalService.java b/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/service/ItemCirculatOrderTechnicalService.java
index 99914bb..a96f816 100644
--- a/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/service/ItemCirculatOrderTechnicalService.java
+++ b/modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/service/ItemCirculatOrderTechnicalService.java
@@ -1,6 +1,7 @@
package com.zt.life.modules.itemCirculatOrder.service;
import com.zt.common.service.BaseService;
+import com.zt.core.sys.dto.DictIstance;
import com.zt.life.modules.itemCirculatOrder.dao.ItemCirculatOrderTechnicalDao;
import com.zt.life.modules.itemCirculatOrder.model.ItemCirculatOrderTechnical;
import com.zt.life.modules.project.model.SoftwareTestOrderMeasured;
@@ -45,5 +46,8 @@
params.put("circulatOrderid",circulatOrderid);
return baseDao.getList(params);
}
+ public List<DictIstance> itemList(Long projectId) {
+ return baseDao.itemList(projectId);
+ }
}
diff --git a/modules/mainPart/src/main/resources/mapper/itemCirculatOrder/ItemCirculatOrderDao.xml b/modules/mainPart/src/main/resources/mapper/itemCirculatOrder/ItemCirculatOrderDao.xml
index 0944e7b..f9e3d1c 100644
--- a/modules/mainPart/src/main/resources/mapper/itemCirculatOrder/ItemCirculatOrderDao.xml
+++ b/modules/mainPart/src/main/resources/mapper/itemCirculatOrder/ItemCirculatOrderDao.xml
@@ -17,16 +17,6 @@
ORDER BY ${orderBySql}
</if>
</select>
- <select id="itemList" resultType="com.zt.core.sys.dto.DictIstance">
- SELECT m.*
- FROM software_test_order_measured m
- JOIN software_test_order s ON s.id = m.order_id
- <where>
- s.is_delete = 0 and m.is_delete = 0
- <if test="projectId!=null">
- and s.project_id = ${projectId}
- </if>
- </where>
- </select>
+
</mapper>
diff --git a/modules/mainPart/src/main/resources/mapper/itemCirculatOrder/ItemCirculatOrderTechnicalDao.xml b/modules/mainPart/src/main/resources/mapper/itemCirculatOrder/ItemCirculatOrderTechnicalDao.xml
index a97e622..cd3052e 100644
--- a/modules/mainPart/src/main/resources/mapper/itemCirculatOrder/ItemCirculatOrderTechnicalDao.xml
+++ b/modules/mainPart/src/main/resources/mapper/itemCirculatOrder/ItemCirculatOrderTechnicalDao.xml
@@ -16,5 +16,16 @@
ORDER BY ${orderBySql}
</if>
</select>
-
+ <select id="itemList" resultType="com.zt.core.sys.dto.DictIstance">
+ SELECT m.*, p.secret_class
+ FROM software_test_order_measured m
+ JOIN software_test_order s ON s.id = m.order_id
+ JOIN project p ON p.id = ${projectId}
+ <where>
+ s.is_delete = 0 and m.is_delete = 0
+ <if test="projectId!=null">
+ and s.project_id = ${projectId}
+ </if>
+ </where>
+ </select>
</mapper>
diff --git a/web/package-lock.json b/web/package-lock.json
index 483c60c..e06527d 100644
--- a/web/package-lock.json
+++ b/web/package-lock.json
@@ -7504,8 +7504,7 @@
"duplexer": {
"version": "0.1.2",
"resolved": "https://registry.npmmirror.com/duplexer/-/duplexer-0.1.2.tgz",
- "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==",
- "dev": true
+ "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg=="
},
"duplexer2": {
"version": "0.0.2",
@@ -8452,6 +8451,27 @@
"integrity": "sha512-z7IyloorXvKbFx9Bpie2+vMJKKx1fH1EN5yiTfp8CiLOTptSYy1g8H4yDpGlEdshL1PBiFtBHepF2cNsqeEeFQ==",
"dev": true
},
+ "event-stream": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmmirror.com/event-stream/-/event-stream-4.0.1.tgz",
+ "integrity": "sha512-qACXdu/9VHPBzcyhdOWR5/IahhGMf0roTeZJfzz077GwylcDd90yOHLouhmv7GJ5XzPi6ekaQWd8AvPP2nOvpA==",
+ "requires": {
+ "duplexer": "^0.1.1",
+ "from": "^0.1.7",
+ "map-stream": "0.0.7",
+ "pause-stream": "^0.0.11",
+ "split": "^1.0.1",
+ "stream-combiner": "^0.2.2",
+ "through": "^2.3.8"
+ },
+ "dependencies": {
+ "map-stream": {
+ "version": "0.0.7",
+ "resolved": "https://registry.npmmirror.com/map-stream/-/map-stream-0.0.7.tgz",
+ "integrity": "sha512-C0X0KQmGm3N2ftbTGBhSyuydQ+vV1LC3f3zPvT3RXHXNZrvfPZcoXp/N5DOa8vedX/rTMm2CjTtivFg2STJMRQ=="
+ }
+ }
+ },
"eventemitter3": {
"version": "2.0.3",
"resolved": "https://registry.npmmirror.com/eventemitter3/-/eventemitter3-2.0.3.tgz",
@@ -9295,6 +9315,11 @@
"resolved": "https://registry.npmmirror.com/fresh/-/fresh-0.5.2.tgz",
"integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
"dev": true
+ },
+ "from": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmmirror.com/from/-/from-0.1.7.tgz",
+ "integrity": "sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g=="
},
"from2": {
"version": "2.3.0",
@@ -12860,6 +12885,11 @@
"lodash._objecttypes": "~2.4.1"
}
},
+ "lodash.assign": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmmirror.com/lodash.assign/-/lodash.assign-4.2.0.tgz",
+ "integrity": "sha512-hFuH8TY+Yji7Eja3mGiuAxBqLagejScbG8GbG0j6o9vzn0YL14My+ktnqtZgFTosKymC9/44wP6s7xyuLfnClw=="
+ },
"lodash.clonedeep": {
"version": "4.5.0",
"resolved": "https://registry.npmmirror.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
@@ -13533,6 +13563,11 @@
"matches-selector": "^1.2.0",
"min-dash": "^3.8.1"
}
+ },
+ "mingo": {
+ "version": "6.4.9",
+ "resolved": "https://registry.npmmirror.com/mingo/-/mingo-6.4.9.tgz",
+ "integrity": "sha512-jsOiIEJ19UtTaWjNFN4CnuKWqELm2sINZcHqI/nmjezMvXthBIQOftJrlT85NuIDoSFc0vrbjD+GnrzEgYnPbA=="
},
"mini-css-extract-plugin": {
"version": "0.8.2",
@@ -14878,6 +14913,14 @@
"integrity": "sha512-ad/3bsalbbWhmBo0D6FZ4RNMwsLsPpL6gnvhuSaU5Vm7b06Kr5ubSltQQ0T7YKsiJQO+g22zJ4dJKNTXIyOXtA==",
"dev": true,
"optional": true
+ },
+ "pause-stream": {
+ "version": "0.0.11",
+ "resolved": "https://registry.npmmirror.com/pause-stream/-/pause-stream-0.0.11.tgz",
+ "integrity": "sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==",
+ "requires": {
+ "through": "~2.3"
+ }
},
"pbkdf2": {
"version": "3.1.2",
@@ -17340,6 +17383,17 @@
}
}
},
+ "save": {
+ "version": "2.9.0",
+ "resolved": "https://registry.npmmirror.com/save/-/save-2.9.0.tgz",
+ "integrity": "sha512-eg8+g8CjvehE/2C6EbLdtK1pINVD27pcJLj4M9PjWWhoeha/y5bWf4dp/0RF+OzbKTcG1bae9qi3PAqiR8CJTg==",
+ "requires": {
+ "async": "^3.2.2",
+ "event-stream": "^4.0.1",
+ "lodash.assign": "^4.2.0",
+ "mingo": "^6.1.0"
+ }
+ },
"sax": {
"version": "1.3.0",
"resolved": "https://registry.npmmirror.com/sax/-/sax-1.3.0.tgz",
@@ -17967,6 +18021,11 @@
"resolved": "https://registry.npmmirror.com/source-map-url/-/source-map-url-0.4.1.tgz",
"integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw=="
},
+ "spark-md5": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmmirror.com/spark-md5/-/spark-md5-3.0.2.tgz",
+ "integrity": "sha512-wcFzz9cDfbuqe0FZzfi2or1sgyIrsDwmPwfZC4hiNidPdPINjeUwNfv5kldczoEAcjl9Y1L3SM7Uz2PUEQzxQw=="
+ },
"sparkles": {
"version": "1.0.1",
"resolved": "https://registry.npmmirror.com/sparkles/-/sparkles-1.0.1.tgz",
@@ -18085,6 +18144,14 @@
"safe-buffer": "~5.2.0"
}
}
+ }
+ },
+ "split": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmmirror.com/split/-/split-1.0.1.tgz",
+ "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==",
+ "requires": {
+ "through": "2"
}
},
"split-string": {
@@ -18254,6 +18321,15 @@
}
}
},
+ "stream-combiner": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmmirror.com/stream-combiner/-/stream-combiner-0.2.2.tgz",
+ "integrity": "sha512-6yHMqgLYDzQDcAkL+tjJDC5nSNuNIx0vZtRZeiPh7Saef7VHX9H5Ijn9l2VIol2zaNYlYEX6KyuT/237A58qEQ==",
+ "requires": {
+ "duplexer": "~0.1.1",
+ "through": "~2.3.4"
+ }
+ },
"stream-consume": {
"version": "0.1.1",
"resolved": "https://registry.npmmirror.com/stream-consume/-/stream-consume-0.1.1.tgz",
diff --git a/web/package.json b/web/package.json
index f9c65f0..7af0b41 100644
--- a/web/package.json
+++ b/web/package.json
@@ -49,7 +49,9 @@
"qs": "^6.7.0",
"quill": "^1.3.6",
"sass-loader": "^7.1.0",
+ "save": "^2.9.0",
"screenfull": "^4.2.1",
+ "spark-md5": "^3.0.2",
"v-distpicker": "^1.2.6",
"v-gantt-chart": "^1.5.1",
"vue": "^2.7.14",
diff --git a/web/packages/components/zt-uploader/src/zt-uploader.vue b/web/packages/components/zt-uploader/src/zt-uploader.vue
index 5fcb43b..a8f22b3 100644
--- a/web/packages/components/zt-uploader/src/zt-uploader.vue
+++ b/web/packages/components/zt-uploader/src/zt-uploader.vue
@@ -4,39 +4,65 @@
<el-upload
ref="upload"
class="upload-input"
- :class="{hide: uploadDisabled || !isShowUpload}"
- :accept="accept"
:action="uploadAction"
- :before-upload="handleBeforeUpload"
:data="data"
- :disabled="uploading"
:drag="false"
:limit="limit"
list-type="text"
:multiple="multiple"
- :name="name"
- :on-change="handleChange"
- :on-error="handleUploadError"
+ :auto-upload="true"
+ :before-upload="handleBeforeUpload"
+ :http-request="checkedFile"
+ :before-remove="removeFile"
:on-exceed="handleExceed"
- :on-success="handleUploadSuccess"
- :on-progress="onUploadProgress"
:show-file-list="false"
:file-list="fileList"
v-if="!image && !crop"
-
>
- <el-button class="upload-btn" size="mini" type="primary" icon="el-icon-upload"
- v-show="!uploadDisabled && isShowUpload">{{ buttonText }}
+ <!-- <el-upload-->
+ <!-- ref="upload"-->
+ <!-- class="upload-input"-->
+ <!-- :class="{hide: uploadDisabled || !isShowUpload}"-->
+ <!-- :accept="accept"-->
+ <!-- :action="uploadAction"-->
+ <!-- :before-upload="handleBeforeUpload"-->
+ <!-- :data="data"-->
+ <!-- :disabled="uploading"-->
+ <!-- :drag="false"-->
+ <!-- :limit="limit"-->
+ <!-- list-type="text"-->
+ <!-- :multiple="multiple"-->
+ <!-- :name="name"-->
+ <!-- :on-change="handleChange"-->
+ <!-- :on-error="handleUploadError"-->
+ <!-- :on-exceed="handleExceed"-->
+ <!-- :on-success="handleUploadSuccess"-->
+ <!-- :on-progress="onUploadProgress"-->
+ <!-- :show-file-list="false"-->
+ <!-- :file-list="fileList"-->
+ <!-- v-if="!image && !crop"-->
+ <!-- :auto-upload="true"-->
+ <!-- :http-request="checkedFile"-->
+ <!-- :before-remove="removeFile"-->
+ <!-- >-->
+ <div style="display:inline-block;width:600px;text-align: center" v-if="onlyUploadFile" class="el-upload__tip">
+ {{computerFileName}}
+ </div>
+ <el-button slot="trigger" v-if="onlyUploadFile" size="small" type="primary">閫夊彇鏂囦欢</el-button>
+ <el-button type="primary" v-if="onlyUploadFile" size="small" style="margin-left:20px" @click="myCheckedFile">鎻� 浜�
</el-button>
+ <el-button class="upload-btn" size="mini" type="primary" icon="el-icon-upload"
+ v-show="!uploadDisabled && isShowUpload && !onlyUploadFile">{{ buttonText }}
+ </el-button>
+
<div slot="tip" class="el-upload__tip" v-show="!uploadDisabled && isShowUpload && tip">{{ tip }}</div>
</el-upload>
-
+ <br/>
<div v-show="progressFlag">
- <el-progress :text-inside="true" :stroke-width="30" :percentage="progressPercent" :format="format"></el-progress>
+ <el-progress :text-inside="true" :stroke-width="30" :percentage="progressPercent" :format="format"></el-progress>
+ </div>
-</div>
-
- <ul class="el-upload-list el-upload-list--text" v-if="!image && !crop && showFileList">
+ <ul class="el-upload-list el-upload-list--text" v-if="!image && !crop && !onlyUploadFile">
<li tabindex="0" class="el-upload-list__item is-success" v-for="(file, index) in uploadList" :key="file.id">
<a class="el-upload-list__item-name" :href="file.url" target="_blank"><i
class="el-icon-document"></i>{{ file.name }}</a>
@@ -71,6 +97,7 @@
:limit="limit"
:list-type="drag ? 'picture' : 'picture-card'"
:multiple="multiple"
+ :name="name"
:on-change="handleChange"
:on-error="handleUploadError"
:on-exceed="handleExceed"
@@ -161,386 +188,816 @@
</template>
<script>
-import Cookies from 'js-cookie'
-import Cropper from 'vue-image-crop-upload'
-import EleGallery from '../../vue-ele-gallery'
+ import Cookies from 'js-cookie'
+ import Cropper from 'vue-image-crop-upload'
+ import EleGallery from '../../vue-ele-gallery'
+ import SparkMD5 from "spark-md5";
+ import axios from "axios";
+ import {getUUID} from "../../../utils";
-export default {
- name: 'ZtUploader',
- props: {
- // 鍊�
- value: {
- type: [Object, Array],
- default() {
- return this.multiple ? [] : null
- }
- },
- action: {
- type: String,
- default: '/sys/oss/upload'
- },
- // 鏄惁涓哄浘鐗�
- image: {
- type: Boolean,
- default: false
- },
- // 鏄惁鍓
- crop: {
- type: Boolean,
- default: false
- },
- // 瑁佸壀楂樺害
- cropHeight: {
- type: Number
- },
- // 瑁佸壀瀹藉害
- cropWidth: {
- type: Number
- },
- // 鏄惁鍚敤鎷栨嫿涓婁紶
- drag: {
- type: Boolean,
- default: false
- },
- // 鏄惁鏀寔澶氶�夋枃浠�
- multiple: {
- type: Boolean,
- default: false
- },
- // 鍥剧墖鏄剧ず澶у皬
- size: {
- type: Number,
- default: 100
- },
- // 澶у皬闄愬埗(MB)
- fileSize: {
- type: Number
- },
- // 鏂囦欢绫诲瀷, 渚嬪['png', 'jpg', 'jpeg']
- fileType: {
- type: Array,
- default: () => []
- },
- // 缂╃暐鍥惧悗缂�, 渚嬪涓冪墰浜戠缉鐣ュ浘鏍峰紡 (?imageView2/1/w/20/h/20)
- thumbSuffix: {
- type: String,
- default: ''
- },
- // 鏄惁鏄剧ず鎻愮ず
- isShowTip: {
- type: Boolean,
- default: true
- },
- // 寮圭獥鏍囬
- title: String,
- // 鍥剧墖鎳掑姞杞�
- lazy: {
- type: Boolean,
- default: false
- },
- // 鏂囦欢涓暟鏄剧ず
- limit: {
- type: Number,
- default: 10
- },
- // 涓婁紶鏃堕檮甯︾殑棰濆鍙傛暟
- data: Object,
- // 涓婁紶鐨勬枃浠跺瓧娈靛悕
- name: {
- type: String,
- default: 'file'
- },
- // 鎺ュ彈涓婁紶鐨勬枃浠剁被鍨嬶紙thumbnail-mode 妯″紡涓嬫鍙傛暟鏃犳晥锛�
- accept: String,
- buttonText: {
- type: String,
- default: '涓婁紶'
- },
- tip: String,
- showFileList: {
- type: Boolean,
- default: true
- },
- disabled: {
- type: Boolean,
- default: false
- }
- },
- components: {
- Cropper,
- EleGallery
- },
- inject: {
- elForm: {
- default: ''
- }
- },
- data() {
- return {
- progressPercent: 0,
- uploadAction: `${window.SITE_CONFIG['apiURL']}${this.action}?token=${Cookies.get('token')}`,
- cropData: {},
- isShowCrop: false,
- uploading: false,
- fileList: this.getUploadList(this.value),
- uploadList: this.getUploadList(this.value),
- progressFlag:false
- }
- },
- computed: {
- // 鏄惁鏄剧ず鎻愮ず
- showTip() {
- return this.isShowTip && (this.fileType.length || this.fileSize)
- },
- galleryValues() {
- let urls = []
- if (this.value) {
- if (this.multiple) {
- this.value.forEach(v => urls.push({
- src: v.url,
- title: v.name
- }))
- } else {
- urls.push({
- src: this.value.url,
- title: this.value.name
- })
+ export default {
+ name: 'ZtUploader',
+ props: {
+ // 鍊�
+ value: {
+ type: [Object, Array],
+ default() {
+ return this.multiple ? [] : null
}
+ },
+ dataForm: Object,
+ action: {
+ type: String,
+ default: '/sys/oss/uploadNew'
+ },
+ // 鏄惁涓哄浘鐗�
+ showFileList: {
+ type: Boolean,
+ default: true
+ },
+ onlyUploadFile: {
+ type: Boolean,
+ default: false
+ },
+ // 鏄惁涓哄浘鐗�
+ image: {
+ type: Boolean,
+ default: false
+ },
+ // 鏄惁鍓
+ crop: {
+ type: Boolean,
+ default: false
+ },
+ // 瑁佸壀楂樺害
+ cropHeight: {
+ type: Number
+ },
+ // 瑁佸壀瀹藉害
+ cropWidth: {
+ type: Number
+ },
+ // 鏄惁鍚敤鎷栨嫿涓婁紶
+ drag: {
+ type: Boolean,
+ default: false
+ },
+ // 鏄惁鏀寔澶氶�夋枃浠�
+ multiple: {
+ type: Boolean,
+ default: false
+ },
+ // 鍥剧墖鏄剧ず澶у皬
+ size: {
+ type: Number,
+ default: 100
+ },
+ // 澶у皬闄愬埗(MB)
+ fileSize: {
+ type: Number
+ },
+ // 鏂囦欢绫诲瀷, 渚嬪['png', 'jpg', 'jpeg']
+ fileType: {
+ type: Array,
+ default: () => []
+ },
+ // 缂╃暐鍥惧悗缂�, 渚嬪涓冪墰浜戠缉鐣ュ浘鏍峰紡 (?imageView2/1/w/20/h/20)
+ thumbSuffix: {
+ type: String,
+ default: ''
+ },
+ // 鏄惁鏄剧ず鎻愮ず
+ isShowTip: {
+ type: Boolean,
+ default: true
+ },
+ // 寮圭獥鏍囬
+ title: String,
+ // 鍥剧墖鎳掑姞杞�
+ lazy: {
+ type: Boolean,
+ default: false
+ },
+ // 鏂囦欢涓暟鏄剧ず
+ limit: {
+ type: Number,
+ default: 10
+ },
+ // 涓婁紶鏃堕檮甯︾殑棰濆鍙傛暟
+ data: Object,
+ // 涓婁紶鐨勬枃浠跺瓧娈靛悕
+ name: {
+ type: String,
+ default: 'file'
+ },
+ // 鎺ュ彈涓婁紶鐨勬枃浠剁被鍨嬶紙thumbnail-mode 妯″紡涓嬫鍙傛暟鏃犳晥锛�
+ accept: String,
+ buttonText: {
+ type: String,
+ default: '涓婁紶'
+ },
+ tip: String,
+ disabled: {
+ type: Boolean,
+ default: false
}
- return urls
},
- isShowUpload() { // 鏄惁鏄剧ず涓婁紶鎸夐挳
- if (this.multiple) {
- return this.uploadList.length < this.limit
+ components: {
+ Cropper,
+ EleGallery
+ },
+ inject: {
+ elForm: {
+ default: ''
+ }
+ },
+ data() {
+ return {
+ isUpload: false,
+ maxSize: 50 * 1024 * 1024 * 1024, // 涓婁紶鏈�澶ф枃浠堕檺鍒� 鏈�灏忓崟浣嶆槸b
+ multiUploadSize: 10 * 1024 * 1024, // 澶т簬杩欎釜澶у皬鐨勬枃浠朵娇鐢ㄥ垎鍧椾笂浼�(鍚庣鍙互鏀寔鏂偣缁紶) 100mb
+ eachSize: 10 * 1024 * 1024, // 姣忓潡鏂囦欢澶у皬 100mb
+ requestCancelQueue: [], // 璇锋眰鏂规硶闃熷垪锛堣皟鐢ㄥ彇娑堜笂浼�
+ // 姣忎笂浼犱竴鍧楃殑杩涘害
+ eachProgress: 0,
+ // 鎬诲叡鏈夊灏戝潡銆傛柇鐐圭画浼犱娇鐢�
+ chunksKeep: 0,
+ // 鍒囧壊鍚庣殑鏂囦欢鏁扮粍
+ fileChunksKeep: [],
+ // 杩欎釜鏂囦欢锛屾柇鐐圭画浼�
+ fileKeep: null,
+ // 鏂偣缁紶锛屾枃浠秏d5
+ fileMd5Keep: "",
+ progressPercent: 0,
+ uploadAction: `${window.SITE_CONFIG['apiURL']}/sys/oss/upload_chunk?token=${Cookies.get('token')}`,
+ uploadCheckAction: `${window.SITE_CONFIG['apiURL']}/sys/oss/upload_success?token=${Cookies.get('token')}`,
+ uploadProcessAction: `${window.SITE_CONFIG['apiURL']}${this.action}?token=${Cookies.get('token')}`,
+ cropData: {},
+ isShowCrop: false,
+ uploading: false,
+ fileList: this.getUploadList(this.value),
+ uploadList: this.getUploadList(this.value),
+ progressFlag: false
+ }
+ },
+ created() {
+ if (this.onlyUploadFile) {
+ this.fileList = [{id: '1', name: '', url: ''}]
} else {
- return this.uploadList.length === 0
+ this.fileList = []
}
},
- uploadDisabled() {
- return this.disabled || (this.elForm || {}).disabled
- },
- successFiles() {
- return this.uploadList.filter((file) => file.status === 'success')
- },
- isShowGrllery() {
- return this.galleryValues.length > 0
- }
- },
- watch: {
- value(val, oldval) {
- if (this.uploadList !== val) {
- this.uploadList = this.getUploadList(val)
- this.fileList = this.getUploadList(val)
- console.log(this.fileList,'this.fileList this.fileList')
- this.$emit('getUploaderImg',this.fileList)
- }
- },
- isShowCrop(value) {
- if (value === false) {
- this.cropData = {}
- }
- }
- },
- methods: {
- format(percentage) {
- return percentage === 100 ? '鍚庡彴姝e湪澶勭悊' : `${percentage}%`;
- },
- // 鑾峰彇宸蹭笂浼犵殑鏂囦欢鍒楄〃
- getUploadList(val) {
- if (val) {
- // console.log(val, 'getUploadList val')
- if (!this.multiple) { // 鍗曢��
- return [val]
- } else {
- // console.log([...val], 'getUploadList [...val]')
- return [...val]
+ computed: {
+ // 鏄惁鏄剧ず鎻愮ず
+ showTip() {
+ return this.isShowTip && (this.fileType.length || this.fileSize)
+ },
+ computerFileName(computerFileName) {
+ let fileName = 'aaaa'
+ if (this.fileList.length > 0) {
+ fileName = this.fileList[0].name
}
- } else {
- return []
- }
- },
- onUploadProgress(event, file, fileList) {
- this.progressFlag = true
- let per = Number(
- ((event.loaded / event.total) * 100).toFixed(2)
- )
- this.progressPercent = per > 100 ? 100 : per
- },
- handleSetFileSet(fileName, fileType, fileSize) {
- const uid = this.cropData.uid || new Date().getTime()
- this.cropData = {
- name: fileName,
- percentage: 0,
- size: fileSize,
- type: fileType,
- status: 'ready',
- uid: uid
- }
- },
- handleCropSuccess(b64Data) {
- this.cropData.url = b64Data
- },
- handleCropUploadError(status) {
- this.$message.error('涓婁紶澶辫触, 璇烽噸璇�')
- this.$emit('error', status)
- },
- handleCropUploadSuccess(response) {
- this.cropData.status = 'success'
- this.cropData.percentage = 100
- this.cropData.response = response
- const file = Object.assign({}, this.cropData)
- this.handleUploadSuccess(response, file)
- },
- // 涓婁紶鍓嶆牎妫�鏍煎紡鍜屽ぇ灏�
- handleBeforeUpload(file) {
- let isAccept = true
- if (this.fileType.length) { // 鏂囦欢绫诲瀷锛堝悗缂�锛変竴鑷�
- let fileExtension = ''
- if (file.name.lastIndexOf('.') > -1) {
- fileExtension = file.name.slice(file.name.lastIndexOf('.') + 1)
- }
- isAccept = this.fileType.some((type) => {
- if (file.type.indexOf(type) > -1) return true
- if (fileExtension && fileExtension.indexOf(type) > -1) return true
- return false
- })
- }
- if (!isAccept) {
- this.$message.error(`鏂囦欢鏍煎紡涓嶆纭�, 璇蜂笂浼�${this.fileType.join('/')}鏍煎紡鏂囦欢!`)
- return false
- }
- if (this.fileSize) {
- const isLt = file.size / 1024 / 1024 < this.fileSize
- if (!isLt) {
- this.$message.error(`涓婁紶澶у皬涓嶈兘瓒呰繃 ${this.fileSize} MB!`)
- return false
- }
- }
- this.uploading = true
- return true
- },
- handleChange() {
- this.uploading = false
- /*const config = {
- onUploadProgress: (progressEvent) => {
- this.progressPercent = Number(
- ((progressEvent.loaded / progressEvent.total) * 90).toFixed(2)
- )
- }
- }
- //this.progressFlag = true;
- let form = new FormData();
- form.append("file", params.file);
- this.$http.post( this.uploadAction,form,config ).then((res) => {
- this.progressPercent = 100;
- })*/
- },
- // 鏂囦欢涓暟瓒呭嚭
- handleExceed() {
- this.$message.error(`鏈�澶氫笂浼�${this.limit}涓猔)
- },
- // 涓婁紶澶辫触
- handleUploadError(err) {
- this.uploading = false
- this.$message.error('涓婁紶澶辫触, 璇烽噸璇�')
- this.$emit('error', err)
- },
- // 涓婁紶鎴愬姛鍥炶皟
- handleUploadSuccess(response, file) {
- console.log(response, file,'response, file')
- if (response.code === 0) {
- this.progressPercent = 100
- this.uploading = false
- // this.$message.success('涓婁紶鎴愬姛')
- if (this.multiple) {
- this.uploadList.push(response.data)
- this.$emit('input', this.uploadList)
- } else {
- this.$emit('input', response.data)
- }
- this.progressFlag = false
- this.progressPercent = 0
- }
- },
- async handleRemove(index) {
- let file = this.uploadList[index]
- if (file.status === 1) { // 璇佷功鏂囦欢锛岀洿鎺ヤ粠鍒楄〃鍒犻櫎锛屼笉淇濆瓨鏁版嵁搴�
- this.handRemoveAndSetValue(index)
- } else {
- if (await this.$tip.confirm(this.$t('prompt.info', {'handle': this.$t('delete')}))) {
- let res = await this.$http.delete('/sys/oss', {'data': [file.id]})
- if (res.success) {
- await this.$tip.success()
- this.handRemoveAndSetValue(index)
+ return fileName
+ },
+ galleryValues() {
+ let urls = []
+ if (this.value) {
+ if (this.multiple) {
+ this.value.forEach(v => urls.push({
+ src: v.url,
+ title: v.name
+ }))
+ } else {
+ urls.push({
+ src: this.value.url,
+ title: this.value.name
+ })
}
}
+ return urls
+ },
+ isShowUpload() { // 鏄惁鏄剧ず涓婁紶鎸夐挳
+ if (this.multiple) {
+ return this.uploadList.length < this.limit
+ } else {
+ return this.uploadList.length === 0 || this.onlyUploadFile
+ }
+ },
+ uploadDisabled() {
+ return this.disabled || (this.elForm || {}).disabled
+ },
+ successFiles() {
+ return this.uploadList.filter((file) => file.status === 'success')
+ },
+ isShowGrllery() {
+ return this.galleryValues.length > 0
}
},
- handRemoveAndSetValue(index) {
- if (this.multiple) {
- this.uploadList.splice(index, 1)
- this.$refs.upload.uploadFiles.splice(index, 1)
- this.$emit('input', this.uploadList || [])
- } else {
- this.$emit('input', null)
+ watch: {
+ // eslint-disable-next-line no-unused-vars
+ value(val, oldval) {
+ if (this.uploadList !== val) {
+ this.uploadList = this.getUploadList(val)
+ this.fileList = this.getUploadList(val)
+ if (this.fileList.length>0){
+ console.log(this.fileList[0].status, 'val.files[0].status23')
+ // alert('2222'+this.fileList[0].status)
+ }
+ }
+ },
+ isShowCrop(value) {
+ if (value === false) {
+ this.cropData = {}
+ }
+ }
+ },
+ methods: {
+ format(percentage) {
+ return percentage === 100 ? '鍚庡彴姝e湪澶勭悊' : percentage === 99 ? '姝e湪杩涜鏂囦欢鏍¢獙' : `宸蹭笂浼�${percentage}%`;
+ },
+ // 鑾峰彇宸蹭笂浼犵殑鏂囦欢鍒楄〃
+ getUploadList(val) {
+ if (val) {
+ if (val.length > 0) {
+ if (!this.multiple) { // 鍗曢��
+ console.log(val, 'getUploadList val')
+ return val
+ } else {
+ console.log([...val], 'getUploadList [...val]')
+ return [...val]
+ }
+ } else {
+ return []
+ }
+ }
+ },
+ // eslint-disable-next-line no-unused-vars
+ onUploadProgress(event, file, fileList) {
+ this.progressFlag = true
+ /*let per = Number(
+ ((event.loaded / event.total) * 100).toFixed(2)
+ )
+ this.progressPercent = per > 100 ? 100 : per*/
+ },
+ handleSetFileSet(fileName, fileType, fileSize) {
+ const uid = this.cropData.uid || new Date().getTime()
+ this.cropData = {
+ name: fileName,
+ percentage: 0,
+ size: fileSize,
+ type: fileType,
+ status: 'ready',
+ uid: uid
+ }
+ },
+ handleCropSuccess(b64Data) {
+ this.cropData.url = b64Data
+ },
+ handleCropUploadError(status) {
+ this.$message.error('涓婁紶澶辫触, 璇烽噸璇�')
+ this.$emit('error', status)
+ },
+ handleCropUploadSuccess(response) {
+ console.log(response, 'handleCropUploadSuccess response')
+ this.cropData.status = 'success'
+ this.cropData.percentage = 100
+ this.cropData.response = response
+ const file = Object.assign({}, this.cropData)
+ this.handleUploadSuccess(response, file)
+ },
+ // 涓婁紶鍓嶆牎妫�鏍煎紡鍜屽ぇ灏�
+ handleBeforeUpload(file) {
+ let isAccept = true
+ if (this.fileType.length) { // 鏂囦欢绫诲瀷锛堝悗缂�锛変竴鑷�
+ let fileExtension = ''
+ if (file.name.lastIndexOf('.') > -1) {
+ fileExtension = file.name.slice(file.name.lastIndexOf('.') + 1)
+ }
+ isAccept = this.fileType.some((type) => {
+ if (file.type.indexOf(type) > -1) return true
+ if (fileExtension && fileExtension.indexOf(type) > -1) return true
+ return false
+ })
+ }
+ if (!isAccept) {
+ this.$message.error(`鏂囦欢鏍煎紡涓嶆纭�, 璇蜂笂浼�${this.fileType.join('/')}鏍煎紡鏂囦欢!`)
+ return false
+ }
+ if (this.fileSize) {
+ const isLt = file.size / 1024 / 1024 < this.fileSize
+ if (!isLt) {
+ this.$message.error(`涓婁紶澶у皬涓嶈兘瓒呰繃 ${this.fileSize} MB!`)
+ return false
+ }
+ }
+ if (this.dataForm) {
+ // eslint-disable-next-line vue/no-mutating-props
+ this.dataForm.hasUploadFinsh = 50
+ }
+ this.uploading = true
+ return true
+ },
+ async handleChange() {
+ this.uploading = false
+ /*const config = {
+ onUploadProgress: (progressEvent) => {
+ this.progressPercent = Number(
+ ((progressEvent.loaded / progressEvent.total) * 90).toFixed(2)
+ )
+ }
+ }
+ //this.progressFlag = true;
+ let form = new FormData();
+ form.append("file", params.file);
+ this.$http.post( this.uploadAction,form,config ).then((res) => {
+ this.progressPercent = 100;
+ })*/
+ },
+ // 鏂囦欢涓暟瓒呭嚭
+ handleExceed(files, fileList) {
+ if (this.onlyUploadFile) {
+ this.$set(fileList[0], 'raw', files[0])
+ this.$set(fileList[0], 'name', files[0].name)
+ /* this.$refs.upload.clearFiles()
+ this.$refs.upload.handleStart(files[0])*/
+ }
+ //this.$message.error(`鏈�澶氫笂浼�${this.limit}涓猔)
+ },
+ // 涓婁紶澶辫触
+ handleUploadError(err) {
+ this.uploading = false
+ this.$message.error('涓婁紶澶辫触, 璇烽噸璇�')
+ this.$emit('error', err)
+ },
+ // 涓婁紶鎴愬姛鍥炶皟
+ // eslint-disable-next-line no-unused-vars
+ handleUploadSuccess(response, file) {
+ console.log(response, 'handleUploadSuccess response')
+ if (response.code === 0) {
+ this.progressPercent = 100
+ this.uploading = false
+ // this.$message.success('涓婁紶鎴愬姛')
+ if (this.multiple) {
+ this.uploadList.push(response.data)
+ this.$emit('input', this.uploadList)
+ } else {
+ this.$emit('input', response.data)
+ }
+ this.progressFlag = false
+ this.progressPercent = 0
+ }
+ },
+ async handleRemove(index) {
+ let file = this.uploadList[index]
+ if (file.status === 1) { // 璇佷功鏂囦欢锛岀洿鎺ヤ粠鍒楄〃鍒犻櫎锛屼笉淇濆瓨鏁版嵁搴�
+ this.handRemoveAndSetValue(index)
+ } else {
+ if (await this.$tip.confirm(this.$t('prompt.info', {'handle': this.$t('delete')}))) {
+ let res = await this.$http.delete('/sys/oss', {'data': [file.id]})
+ if (res.success) {
+ await this.$tip.success()
+ this.handRemoveAndSetValue(index)
+ }
+ }
+ }
+ },
+ handRemoveAndSetValue(index) {
+ console.log(index, 'handRemoveAndSetValue')
+ if (this.multiple) {
+ this.uploadList.splice(index, 1)
+ this.$refs.upload.uploadFiles.splice(index, 1)
+ this.$emit('input', this.uploadList || [])
+ } else {
+ this.$emit('input', null)
+ }
+ },
+ nullFunction(param) {
+ },
+ //寮�濮嬪垎鐗囦笂浼爉yCheckedFile
+ async myCheckedFile() {
+ if (!this.handleBeforeUpload(this.fileList[0].raw))
+ return
+ let options = {
+ file: this.fileList[0].raw,
+ onProgress: function (val) {
+ },
+ onSuccess: function (val) {
+ },
+ onError: function (val) {
+ }
+ }
+ await this.checkedFile(options)
+ },
+ async checkedFile(options) {
+ if (!this.isUpload) {
+ this.isUpload = true;
+ } else {
+ return this.$message({
+ message: `褰撳墠鏂囦欢姝e湪涓婁紶`,
+ type: "warning"
+ });
+ }
+ this.progressFlag = true
+ const {
+ maxSize,
+ multiUploadSize,
+ getSize,
+ splitUpload,
+ singleUpload
+ } = this; // 瑙f瀯璧嬪��
+ const {file, onProgress, onSuccess, onError} = options; // 瑙f瀯璧嬪��
+
+ file.uid = getUUID().toString()
+ if (file.size > maxSize) {
+ return this.$message({
+ message: `鎮ㄩ�夋嫨鐨勬枃浠跺ぇ浜�${getSize(maxSize)}`,
+ type: "error"
+ });
+ }
+ this.fileKeep = file;
+ const uploadFunc =
+ file.size > multiUploadSize ? splitUpload : singleUpload; // 閫夋嫨涓婁紶鏂瑰紡
+ try {
+ await uploadFunc(file, onProgress);
+ onSuccess();
+ } catch (e) {
+ console.error(e);
+ this.$message({
+ message: e.message,
+ type: "error"
+ });
+ this.progressFlag = false;
+ this.progressPercent = 0;
+ onError();
+ }
+ },
+ // 鏍煎紡鍖栨枃浠跺ぇ灏忔樉绀烘枃瀛�
+ getSize(size) {
+ return size > 1024
+ ? size / 1024 > 1024
+ ? size / (1024 * 1024) > 1024
+ ? (size / (1024 * 1024 * 1024)).toFixed(2) + "GB"
+ : (size / (1024 * 1024)).toFixed(2) + "MB"
+ : (size / 1024).toFixed(2) + "KB"
+ : size.toFixed(2) + "B";
+ },
+ // 鍗曟枃浠剁洿鎺ヤ笂浼�
+ async singleUpload(file, onProgress) {
+ await this.postFile(
+ {file, uid: file.uid, fileName: file.fileName, chunk: 0},
+ onProgress
+ );
+ const reader = new FileReader();
+
+ reader.readAsArrayBuffer(file);
+ console.log(file, 'singleUpload file');
+ let hashMd5 = "";
+ console.log(hashMd5);
+ const that = this;
+
+ function getHash(cb) {
+ console.log(cb, "杩涘叆鍗曚釜涓婁紶鐨刧etHash");
+ console.log("杩涘叆鍗曚釜涓婁紶鐨刧etHash");
+ reader.onload = function (e) {
+ console.log("杩涘叆鍗曚釜涓婁紶鐨刧etHash鐨勫嚱鏁�2");
+ console.log(hashMd5);
+ console.log(this);
+ // console.log(e)
+ const hash = SparkMD5.ArrayBuffer.hash(e.target.result, false);
+ console.log(e.target.result, 'e.target.result');
+ console.log(hash, 'hash');
+ that.hashMd5 = hash;
+ console.log(that.hashMd5, 'hashMd5');
+ that.fileMd5Keep = hash;
+ cb(hash);
+ };
+ }
+
+ await getHash(function (hash) {
+ console.log(hash, 'getHash(function (hash) hash');
+ console.log(that, 'getHash(function (hash) that');
+ // 璇锋眰鎺ュ彛
+ that.validateFile({
+ name: file.name,
+ uid: file.uid,
+ md5: hash,
+ chunks: 1,
+ filter_type: "user_data_file"
+ });
+ });
+ },
+
+ // 澶ф枃浠跺垎鍧椾笂浼�
+ splitUpload(file, onProgress) {
+ console.log(file, 'splitUpload(file');
+ // eslint-disable-next-line no-async-promise-executor
+ return new Promise(async (resolve, reject) => {
+ try {
+ const {eachSize} = this;
+ const chunks = Math.ceil(file.size / eachSize);
+ this.chunksKeep = chunks;
+ const fileChunks = await this.splitFile(file, eachSize, chunks);
+ this.fileChunksKeep = fileChunks;
+ //鍒ゆ柇姣忎笂浼犱竴涓枃浠讹紝杩涘害鏉℃定澶氬皯,淇濈暀涓や綅灏忔暟
+ this.eachProgress = 100 / chunks;
+ this.progressFlag = true;
+ let currentChunk = 0;
+ let percent = 0;
+ for (let i = 0; i < fileChunks.length; i++) {
+ // 鏈嶅姟绔娴嬪凡缁忎笂浼犲埌绗琧urrentChunk鍧椾簡锛岄偅灏辩洿鎺ヨ烦鍒扮currentChunk鍧楋紝瀹炵幇鏂偣缁紶
+ // 姝ゆ椂闇�瑕佸垽鏂繘搴︽潯
+ if (Number(currentChunk) === i) {
+ // 姣忓潡涓婁紶瀹屽悗鍒欒繑鍥為渶瑕佹彁浜ょ殑涓嬩竴鍧楃殑index
+ await this.postFile(
+ {
+ chunked: true,
+ chunk: i,
+ chunks,
+ eachSize,
+ fileName: file.name,
+ fullSize: file.size,
+ uid: file.uid,
+ file: fileChunks[i]
+ },
+ onProgress
+ );
+ currentChunk++;
+
+ // 涓婁紶瀹屼竴鍧楀悗锛岃繘搴︽潯澧炲姞
+ percent = percent + this.eachProgress;
+ // 涓嶈兘瓒呰繃100
+ this.progressPercent = percent > 100 ? 99 : Math.floor(percent);
+ }
+ }
+ const spark = new SparkMD5.ArrayBuffer();
+ let currentChunkMd5 = 0;
+ const that = this;
+ const reader = new FileReader();
+ reader.onload = async function (e) {
+ spark.append(e.target.result);
+ currentChunkMd5++;
+
+ if (currentChunkMd5 < chunks) {
+ await loadNext();
+ } else {
+ // console.log(spark.end());
+ const hashMd5111 = spark.end();
+ that.fileMd5Keep = hashMd5111;
+ // 鍦ㄨ繖閲岃姹傛帴鍙�
+ await that.validateFile({
+ name: file.name,
+ uid: file.uid,
+ md5: hashMd5111,
+ chunks: fileChunks.length,
+ filter_type: "git_secret_file"
+ });
+ }
+ };
+
+ // eslint-disable-next-line no-inner-declarations
+ async function loadNext() {
+ const start = currentChunkMd5 * eachSize;
+ const end =
+ start + eachSize >= file.size ? file.size : start + eachSize;
+ await reader.readAsArrayBuffer(file.slice(start, end));
+ }
+
+ await loadNext();
+ resolve();
+ } catch (error) {
+ reject(error);
+ }
+ });
+ },
+ // 鏂偣缁紶
+ againSplitUpload(file, array) {
+ console.log("file,array");
+ console.log(file);
+ console.log(array);
+ // eslint-disable-next-line no-async-promise-executor
+ return new Promise(async (resolve, reject) => {
+ try {
+ // eslint-disable-next-line no-unused-vars
+ const {eachSize, fileKeep} = this;
+ const chunks = this.chunksKeep;
+ const fileChunks = this.fileChunksKeep;
+ this.progressFlag = true;
+ // let currentChunk = 0;
+ for (let i = 0; i < array.length; i++) {
+ // 鏈嶅姟绔娴嬪凡缁忎笂浼犲埌绗琧urrentChunk鍧椾簡锛岄偅灏辩洿鎺ヨ烦鍒扮currentChunk鍧楋紝瀹炵幇鏂偣缁紶
+ // 姝ゆ椂闇�瑕佸垽鏂繘搴︽潯
+ // 姣忓潡涓婁紶瀹屽悗鍒欒繑鍥為渶瑕佹彁浜ょ殑涓嬩竴鍧楃殑index
+ await this.postFile({
+ chunked: true,
+ chunk: array[i],
+ chunks,
+ name: file.name,
+ fullSize: fileKeep.size,
+ uid: file.uid,
+ file: fileChunks[array[i]]
+ });
+ // currentChunk++
+
+ // 涓婁紶瀹屼竴鍧楀悗锛岃繘搴︽潯澧炲姞
+ this.progressPercent += this.eachProgress;
+ // 涓嶈兘瓒呰繃100
+ this.progressPercent = this.progressPercent > 100 ? 100 : this.progressPercent;
+ }
+ let fileMd5KeepTwo = this.fileMd5Keep;
+
+ const isValidate = await this.validateFile({
+ name: file.name,
+ uid: file.uid,
+ md5: fileMd5KeepTwo,
+ chunks: fileChunks.length,
+ filter_type: "git_secret_file"
+ });
+ if (!isValidate) {
+ throw new Error("鏂囦欢鏍¢獙寮傚父");
+ }
+ // 鍏抽棴杩涘害鏉�
+ this.progressFlag = false;
+ // 閲嶇疆杩涘害鏉�
+ this.progressPercent = 0;
+ resolve();
+ } catch (e) {
+ reject(e);
+ }
+ });
+ },
+ // 鏂囦欢鍒嗗潡,鍒╃敤Array.prototype.slice鏂规硶
+ splitFile(file, eachSize, chunks) {
+ return new Promise((resolve, reject) => {
+ try {
+ setTimeout(() => {
+ const fileChunk = [];
+ for (let chunk = 0; chunks > 0; chunks--) {
+ fileChunk.push(file.slice(chunk, chunk + eachSize));
+ chunk += eachSize;
+ }
+ resolve(fileChunk);
+ }, 0);
+ } catch (e) {
+ console.error(e);
+ reject(new Error("鏂囦欢鍒囧潡鍙戠敓閿欒"));
+ }
+ });
+ },
+ removeFile(file) {
+ this.requestCancelQueue[file.uid]();
+ delete this.requestCancelQueue[file.uid];
+ return true;
+ },
+ // 鎻愪氦鏂囦欢鏂规硶,灏嗗弬鏁拌浆鎹负FormData, 鐒跺悗閫氳繃axios鍙戣捣璇锋眰
+ postFile(param, onProgress) {
+ const formData = new FormData();
+ formData.append("file", param.file); // 鏀逛簡
+ formData.append("fileName", param.fileName); // 鏀逛簡
+ formData.append("uid", param.uid);
+ formData.append("chunk", param.chunk);
+ formData.append("filter_type", "git_secret_file");
+ formData.append("chunks", param.chunks);
+ const {requestCancelQueue} = this;
+ const config = {
+ cancelToken: new axios.CancelToken(function executor(cancel) {
+ if (requestCancelQueue[param.uid]) {
+ requestCancelQueue[param.uid]();
+ delete requestCancelQueue[param.uid];
+ }
+ requestCancelQueue[param.uid] = cancel;
+ }),
+ onUploadProgress: e => {
+ if (param.chunked) {
+ e.percent = Number(
+ (
+ ((param.chunk * (param.eachSize - 1) + e.loaded) /
+ param.fullSize) *
+ 100
+ ).toFixed(2)
+ );
+ } else {
+ e.percent = Number(((e.loaded / e.total) * 100).toFixed(2));
+ }
+ onProgress(e)
+ }
+ }
+ //return axios.post('sys/oss/upload_chunk/', formData, config).then(rs => rs.data)
+ return this.$http({
+ url: "/sys/oss/upload_chunk/",
+ method: "POST",
+ data: formData
+ }).then(rs => rs.data
+ );
+ },
+ // 鏂囦欢鏍¢獙鏂规硶
+ validateFile(file) {
+ //return axios.post('sys/oss/upload_success/', file).then(rs => rs.data)
+ return this.$http({
+ url: "/sys/oss/upload_success/",
+ method: "POST",
+ data: file
+ }).then(res => {
+ console.log(res, "validateFile res")
+ if (res && !res.data) {
+ this.againSplitUpload(file, res.data.error_file)
+ this.$message({
+ message: "鏈夋枃浠朵笂浼犲け璐ワ紝姝e湪閲嶆柊涓婁紶",
+ type: "warning"
+ });
+ } else if (res && res.data) {
+ this.progressPercent = 100
+ if (!this.onlyUploadFile) {
+ this.$http({
+ url: this.action,
+ method: "POST",
+ data: file
+ }).then(res => {
+ console.log(res, '鍚庡彴澶勭悊 res1')
+ let aa = res.data.status
+ console.log(aa, 'res.data.status')
+
+ if (this.multiple) {
+ this.uploadList.push(res.data)
+ this.$emit('input', this.uploadList)
+ } else {
+ this.$emit('input', res.data)
+ }
+ this.uploading = false
+ this.progressFlag = false
+ this.progressPercent = 0
+ this.isUpload = false
+ })
+ } else {
+ console.log(file.uid, 'file.uid')
+ this.$emit('recall', file.uid)
+ this.uploading = false
+ this.progressFlag = false
+ this.progressPercent = 0
+ this.isUpload = false
+ }
+ } else if (res && res.status == 40008) {
+ this.$message.error(res.message);
+ this.progressFlag = false;
+ this.progressPercent = 0;
+ }
+ })
+ }
+ },
+ mounted() {
+ // 鎻掑叆鍒癰ody涓�, 閬垮厤寮瑰嚭灞傝閬洊
+ if (this.crop && this.$refs.cropper) {
+ document.body.appendChild(this.$refs.cropper.$el)
}
}
- },
- mounted() {
- // 鎻掑叆鍒癰ody涓�, 閬垮厤寮瑰嚭灞傝閬洊
- if (this.crop && this.$refs.cropper) {
- document.body.appendChild(this.$refs.cropper.$el)
- }
}
-}
</script>
<style>
-.zt-upload {
- line-height: 1;
-}
+ .zt-upload {
+ line-height: 1;
+ }
-.zt .upload-input .upload-btn {
- padding: 8px 12px;
-}
+ .zt .upload-input .upload-btn {
+ padding: 8px 12px;
+ }
-.zt .upload-input.hide {
- height: 0px;
-}
+ .zt .upload-input.hide {
+ height: 0px;
+ }
-.zt-upload .el-loading-spinner {
- line-height: 1;
-}
+ .zt-upload .el-loading-spinner {
+ line-height: 1;
+ }
-.zt-upload .el-icon-plus {
- vertical-align: middle;
-}
+ .zt-upload .el-icon-plus {
+ vertical-align: middle;
+ }
-.zt-upload .el-upload--picture-card {
- width: auto;
- height: auto;
- background: none;
- line-height: inherit;
-}
+ .zt-upload .el-upload--picture-card {
+ width: auto;
+ height: auto;
+ background: none;
+ line-height: inherit;
+ }
-/* 瑁佸壀 */
-.vue-image-crop-upload.zt-upload-image--cropper {
- z-index: 99;
-}
+ /* 瑁佸壀 */
+ .vue-image-crop-upload.zt-upload-image--cropper {
+ z-index: 99;
+ }
-.zt-upload-image--cropper .vicp-drop-area {
- background-color: #fbfdff !important;
-}
+ .zt-upload-image--cropper .vicp-drop-area {
+ background-color: #fbfdff !important;
+ }
-.zt-upload-image--cropper .vicp-icon1-arrow {
- border-bottom-color: #909399 !important;
-}
+ .zt-upload-image--cropper .vicp-icon1-arrow {
+ border-bottom-color: #909399 !important;
+ }
-.zt-upload-image--cropper .vicp-icon1-body {
- background-color: #909399 !important;
-}
+ .zt-upload-image--cropper .vicp-icon1-body {
+ background-color: #909399 !important;
+ }
-.zt-upload-image--cropper .vicp-icon1-bottom {
- border-color: #909399 !important;
-}
+ .zt-upload-image--cropper .vicp-icon1-bottom {
+ border-color: #909399 !important;
+ }
</style>
diff --git a/web/src/components/config-uploader/src/config-uploader.vue b/web/src/components/config-uploader/src/config-uploader.vue
index 4d45202..1e5fe8e 100644
--- a/web/src/components/config-uploader/src/config-uploader.vue
+++ b/web/src/components/config-uploader/src/config-uploader.vue
@@ -1,9 +1,9 @@
<template>
- <div>
- <el-collapse class="config-uploader" v-model="activeNames" v-if="oss && oss.groups.length>1">
+ <div v-if="oss">
+ <el-collapse class="config-uploader" v-model="activeNames" v-if="oss.groups.length>1">
<el-collapse-item name="1" v-for="group in (oss.groups || [])" :key="group.busiFieldGroup">
<template slot="title">
- <el-tag v-if="!image">{{group.busiFieldGroup}}</el-tag>
+ <el-tag>{{group.busiFieldGroup}}</el-tag>
</template>
<!-- <zt-form-item :label="field.busiFieldName" :prop="field.busiField" v-for="field in group.fields"
:key="field.busiField" :rules="field.isRequired ? 'required':''" style="width: 100%;">
@@ -11,15 +11,17 @@
:accept="field.accept" :file-size="field.fileSize" @input="change(field.busiField)"/>
</zt-form-item>-->
<el-table :data="group.fields" :show-header="false">
- <el-table-column width="250" style="text-align: left;white-space:nowrap;">
+ <el-table-column width="180" style="text-align: left;white-space:nowrap;">
<template slot-scope="scope">
- <span v-html="scope.row.busiFieldName"></span>
+ <span v-html="(scope.row.isRequired?'<font color=red>* </font>':'')+ scope.row.busiFieldName"></span>
</template>
</el-table-column>
<el-table-column align="left">
<template slot-scope="scope">
- <zt-uploader :image="image" v-model="dataForm[scope.row.busiField]" multiple :limit="scope.row.fileLimit" :file-type="scope.row.fileType"
- :accept="scope.row.accept" :file-size="scope.row.fileSize" @getUploaderImg="getUploaderImg" @input="change(scope.row.busiField)"/>
+ <zt-uploader v-model="dataForm[scope.row.busiField]" :dataForm="dataForm" multiple
+ :limit="scope.row.fileLimit" :file-type="scope.row.fileTypeArr"
+ :showFileList2="false" :accept="scope.row.accept" :file-size="scope.row.fileSize"
+ @input="change(scope.row.busiField)"/>
</template>
</el-table-column>
</el-table>
@@ -32,16 +34,26 @@
<zt-uploader v-model="dataForm[field.busiField]" multiple :limit="field.fileLimit" :file-type="field.fileType"
:accept="field.accept" :file-size="field.fileSize" @input="change(field.busiField)"/>
</zt-form-item>-->
+ <template slot="title">
+ <el-tag>{{group.busiFieldGroup}}</el-tag>
+ </template>
+ <!-- <zt-form-item :label="field.busiFieldName" :prop="field.busiField" v-for="field in group.fields"
+ :key="field.busiField" :rules="field.isRequired ? 'required':''" style="width: 100%;">
+ <zt-uploader v-model="dataForm[field.busiField]" multiple :limit="field.fileLimit" :file-type="field.fileType"
+ :accept="field.accept" :file-size="field.fileSize" @input="change(field.busiField)"/>
+ </zt-form-item>-->
<el-table :data="group.fields" :show-header="false">
- <el-table-column width="250" style="text-align: left;white-space:nowrap;">
+ <el-table-column width="180" style="text-align: left;white-space:nowrap;">
<template slot-scope="scope">
- <span v-html="scope.row.busiFieldName"></span>
+ <span v-html="(scope.row.isRequired?'<font color=red>* </font>':'')+ scope.row.busiFieldName"></span>
</template>
</el-table-column>
<el-table-column align="left">
<template slot-scope="scope">
- <zt-uploader :image="image" v-model="dataForm[scope.row.busiField]" multiple :limit="scope.row.fileLimit" :file-type="scope.row.fileType"
- :accept="scope.row.accept" :file-size="scope.row.fileSize" @getUploaderImg="getUploaderImg" @input="change(scope.row.busiField)"/>
+ <zt-uploader v-model="dataForm[scope.row.busiField]" :dataForm="dataForm" multiple
+ :limit="scope.row.fileLimit" :file-type="scope.row.fileTypeArr"
+ :showFileList2="false" :accept="scope.row.accept" :file-size="scope.row.fileSize"
+ @input="change(scope.row.busiField)"/>
</template>
</el-table-column>
</el-table>
@@ -58,7 +70,6 @@
props: {
value: Object,
dataForm: Object,
- image:false,
busiType: String // 涓氬姟绫诲瀷
},
data() {
@@ -72,7 +83,15 @@
let arr = []
if (this.dataForm.files && this.dataForm.files.groups) {
this.dataForm.files.groups.forEach(group => {
- group.fields.forEach(field => arr.push(field))
+ group.fields.forEach(field => {
+ let arrType = []
+ if (field.fileTypes) {
+ arrType = field.fileTypes.split(',')
+ }
+ //this.$set(field, 'fileTypeArr', arrType)
+ field.fileTypeArr = arrType
+ arr.push(field)
+ })
})
}
return arr
@@ -110,25 +129,31 @@
getOss() {
let arr = (this.$store.state.oss.configs || []).filter(config => config.busiType === this.busiType)
if (arr.length > 0) {
+ arr[0].groups.forEach(group => {
+ group.fields.forEach(field => {
+ let arrType = []
+ if (field.fileTypes) {
+ arrType = field.fileTypes.split(',')
+ }
+ //this.$set(field, 'fileTypeArr', arrType)
+ field.fileTypeArr = arrType
+ })
+ })
+ console.log(JSON.parse(JSON.stringify(arr[0])),'JSON.parse(JSON.stringify(arr[0]))')
return JSON.parse(JSON.stringify(arr[0]))
}
return null
},
change(busiField) {
- console.log(busiField,'busiField busiField')
this.fields.forEach(field => {
if (field.busiField === busiField) {
field.files.length = 0
this.dataForm[busiField].forEach(file => field.files.push(file))
+ if (this.dataForm) {
+ this.dataForm.hasUploadFinsh = 100
+ }
}
})
- },
- getUploaderImg(list){
- // this.imageList = list
- if(list[0].url){
- this.$emit('getImageUrl',list[0].url)
- }
-
}
}
}
diff --git a/web/src/components/table-uploader/src/table-uploader.vue b/web/src/components/table-uploader/src/table-uploader.vue
index dfde297..7856c5e 100644
--- a/web/src/components/table-uploader/src/table-uploader.vue
+++ b/web/src/components/table-uploader/src/table-uploader.vue
@@ -1,25 +1,12 @@
<template>
<div>
- <div class="config-uploader" >
+ <div class="config-uploader" v-if="oss">
<div v-for="group in (oss.groups || [])" :key="group.busiFieldGroup">
<zt-form-item v-for="field in group.fields" :prop="field.busiField"
:key="field.busiField" :rules="field.isRequired ? 'required':''" style="width: 100%;margin-bottom: 0">
<zt-uploader v-model="dataForm[field.busiField]" multiple :limit="field.fileLimit" :file-type="field.fileType"
:accept="field.accept" :file-size="field.fileSize" @input="change(field.busiField)"/>
</zt-form-item>
-<!-- <el-table :data="group.fields" :show-header="false">-->
-<!-- <el-table-column width="250" style="text-align: left;white-space:nowrap;">-->
-<!-- <template slot-scope="scope">-->
-<!-- <span v-html="scope.row.busiFieldName"></span>-->
-<!-- </template>-->
-<!-- </el-table-column>-->
-<!-- <el-table-column align="left">-->
-<!-- <template slot-scope="scope">-->
-<!-- <zt-uploader v-model="dataForm[scope.row.busiField]" multiple :limit="scope.row.fileLimit" :file-type="scope.row.fileType"-->
-<!-- :accept="scope.row.accept" :file-size="scope.row.fileSize" @getUploaderImg="getUploaderImg" @input="change(scope.row.busiField)"/>-->
-<!-- </template>-->
-<!-- </el-table-column>-->
-<!-- </el-table>-->
</div>
</div>
</div>
@@ -60,6 +47,7 @@
...this.getOss(),
...(val || {})
}
+ console.log(this.oss,"this.oss")
// this.dataForm.files = this.oss
this.$set(this.dataForm, 'files', this.oss)
@@ -72,6 +60,7 @@
}
},
mounted() {
+
this.oss = this.getOss()
if (this.oss) {
this.oss.groups.forEach(group => {
@@ -91,10 +80,14 @@
},
change(busiField) {
console.log(busiField,'busiField busiField')
+
this.fields.forEach(field => {
if (field.busiField === busiField) {
field.files.length = 0
- this.dataForm[busiField].forEach(file => field.files.push(file))
+ this.dataForm[busiField].forEach(file => {
+ console.log(file,"change file")
+ field.files.push(file)
+ })
}
})
},
diff --git a/web/src/views/modules/itemCirculatOrder/ItemCirculatOrder-AddOrUpdate.vue b/web/src/views/modules/itemCirculatOrder/ItemCirculatOrder-AddOrUpdate.vue
index 04e7563..6b96d83 100644
--- a/web/src/views/modules/itemCirculatOrder/ItemCirculatOrder-AddOrUpdate.vue
+++ b/web/src/views/modules/itemCirculatOrder/ItemCirculatOrder-AddOrUpdate.vue
@@ -24,7 +24,7 @@
<el-input v-model="dataForm.project.softwareIdentity" placeholder="鐗╁搧缂栧彿"></el-input>
</el-form-item>
<el-form-item class="marginTopAndMarginBottom3" label="鏁� 閲�" style="width: 32%">
- <el-input v-model="dataForm.project.softwareName" placeholder="鏁伴噺"></el-input>
+ <el-input v-model="dataForm.project.isContract" placeholder="鏁伴噺"></el-input>
</el-form-item>
</div>
<div style="border-bottom: 1px solid rgba(0,0,0,.2);">
@@ -38,19 +38,19 @@
<span v-html="indexFormat(scope.$index)"></span>
</template>
</el-table-column>
- <el-table-column prop="Name" min-width="180" label="鎶�鏈祫鏂欏悕绉�">
+ <el-table-column prop="infoName" min-width="180" label="鎶�鏈祫鏂欏悕绉�">
<template v-slot="{ row }">
- <el-input v-model="row.Name" placeholder="鎶�鏈祫鏂欏悕绉�"></el-input>
+ <el-input v-model="row.name" placeholder="鎶�鏈祫鏂欏悕绉�"></el-input>
</template>
</el-table-column>
<el-table-column prop="identify" align="center" width="150" label="鏍囪瘑">
<template v-slot="{ row }">
- <el-input v-model="row.identify" placeholder="鏍囪瘑"></el-input>
+ <el-input v-model="row.version" placeholder="鏍囪瘑"></el-input>
</template>
</el-table-column>
<el-table-column prop="version" align="center" width="120" label="鐗堟湰">
<template v-slot="{ row }">
- <el-input v-model="row.version" placeholder="鐗堟湰"></el-input>
+ <el-input v-model="row.identify" placeholder="鐗堟湰"></el-input>
</template>
</el-table-column>
<el-table-column prop="secretClass" label="瀵嗙骇" width="100" align="center">
@@ -77,7 +77,7 @@
<el-table-column fixed="right" prop="files" label="涓婁紶闄勪欢" width="80" align="center">
<template v-slot="{ row }">
<!-- <zt-table-button @click="files(row.id)">涓婁紶闄勪欢</zt-table-button>-->
- <table-uploader busi-type="test_order" model-name="dataForm" :dataForm="dataForm"
+ <table-uploader busi-type="circulat_order" model-name="row" :dataForm="row"
v-model="row.files"/>
</template>
</el-table-column>
@@ -156,7 +156,7 @@
</div>
<div class="el-border-left " style="width: 35%;height: 40px;">
<el-form-item label="鏄惁婊¤冻娴嬭瘯瑕佹眰" label-width="150px" style="padding-left:20px;margin-bottom:0">
- <zt-dict v-model="dataForm.circulatOrder.acceptSituation" :radio="true" dict="is_or_not"></zt-dict>
+ <zt-dict v-model="dataForm.circulatOrder.cscs" :radio="true" dict="is_or_not"></zt-dict>
</el-form-item>
</div>
</div>
@@ -364,16 +364,18 @@
...this.dataForm,
...res.data
}
- console.log(this.dataForm,"this.dataForm")
+ console.log(this.dataForm,"getInfo this.dataForm")
},
// 琛ㄥ崟鎻愪氦
async formSubmit() {
+ console.log(this.dataForm,"this.dataForm11111")
let res = await this.$http[!this.dataForm.id ? 'post' : 'put']('/itemCirculatOrder/ItemCirculatOrder/', this.dataForm)
if (res.success) {
await this.$tip.success()
this.$refs.dialog.close()
this.$emit('refreshDataList')
}
+
}
}
}
diff --git a/web/src/views/modules/itemCirculatOrder/ItemCirculatOrder.vue b/web/src/views/modules/itemCirculatOrder/ItemCirculatOrder.vue
index d9aeac5..414a9ab 100644
--- a/web/src/views/modules/itemCirculatOrder/ItemCirculatOrder.vue
+++ b/web/src/views/modules/itemCirculatOrder/ItemCirculatOrder.vue
@@ -5,7 +5,12 @@
<el-form :inline="true" :model="dataForm" @keyup.enter.native="table.query()">
<el-form-item>
<el-input v-model="dataForm.code" placeholder="璇疯緭鍏ョ墿鍝佹祦杞崟缂栧彿" clearable></el-input>
-
+ </el-form-item>
+ <el-form-item>
+ <el-input v-model="dataForm.softwareName" placeholder="璇疯緭鍏ョ墿鍝佸悕绉�" clearable></el-input>
+ </el-form-item>
+ <el-form-item>
+ <el-input v-model="dataForm.softwareIdentity" placeholder="璇疯緭鍏ョ墿鍝佺紪鍙�" clearable></el-input>
</el-form-item>
<el-form-item>
<zt-button type="query" @click="table.query()"/>
@@ -16,6 +21,8 @@
<el-table v-loading="table.dataLoading" :data="table.dataList" height="100px" v-adaptive="{bottomOffset:70}" border @selection-change="table.selectionChangeHandle">
<el-table-column type="selection" width="40"/>
<el-table-column prop="code" label="鐗╁搧娴佽浆鍗曠紪鍙�"/>
+ <el-table-column prop="softwareName" label="鐗╁搧鍚嶇О"/>
+ <el-table-column prop="softwareIdentity" label="鐗╁搧缂栧彿"/>
<zt-table-column-handle :table="table" edit-perm="itemCirculatOrder:update" delete-perm="itemCirculatOrder::delete"/>
</el-table>
<!-- 寮圭獥, 鏂板 / 淇敼 -->
@@ -37,6 +44,8 @@
return {
dataForm: {
code: '',
+ softwareName:'',
+ softwareIdentity:'',
}
}
},
diff --git a/web/src/views/modules/project/SoftwareTestOrder-AddOrUpdate.vue b/web/src/views/modules/project/SoftwareTestOrder-AddOrUpdate.vue
index 0bf16d6..96d00e4 100644
--- a/web/src/views/modules/project/SoftwareTestOrder-AddOrUpdate.vue
+++ b/web/src/views/modules/project/SoftwareTestOrder-AddOrUpdate.vue
@@ -568,6 +568,7 @@
}
}
// console.log(this.dataForm, "this.dataForm")
+ console.log(this.dataForm,"getInfo this.dataForm")
},
async print(){
var params = qs.stringify({
@@ -579,7 +580,7 @@
},
// 琛ㄥ崟鎻愪氦
async formSubmit() {
- console.log(this.dataForm, ' this.dataForm')
+ console.log(this.dataForm, 'formSubmit this.dataForm')
if(this.dataForm.softwareTestOrder.testType1){
this.dataForm.softwareTestOrder.testType1=this.dataForm.softwareTestOrder.testType1.join(',')
}
diff --git a/zt/common/src/main/java/com/zt/core/sys/dto/DictIstance.java b/zt/common/src/main/java/com/zt/core/sys/dto/DictIstance.java
index cd55e37..52f5037 100644
--- a/zt/common/src/main/java/com/zt/core/sys/dto/DictIstance.java
+++ b/zt/common/src/main/java/com/zt/core/sys/dto/DictIstance.java
@@ -12,4 +12,6 @@
private String identify;
+ private String secretClass;
+
}
diff --git a/zt/core/src/main/java/com/zt/modules/oss/annotation/DataFieldParser.java b/zt/core/src/main/java/com/zt/modules/oss/annotation/DataFieldParser.java
index e35b5d8..9c7272f 100644
--- a/zt/core/src/main/java/com/zt/modules/oss/annotation/DataFieldParser.java
+++ b/zt/core/src/main/java/com/zt/modules/oss/annotation/DataFieldParser.java
@@ -1,10 +1,8 @@
package com.zt.modules.oss.annotation;
-import java.lang.reflect.Field;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
+import com.zt.common.annotation.OssField;
+import com.zt.modules.oss.model.OssFieldDefine;
+import io.swagger.annotations.ApiModel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.io.Resource;
import org.springframework.core.io.ResourceLoader;
@@ -16,10 +14,10 @@
import org.springframework.core.type.classreading.MetadataReaderFactory;
import org.springframework.stereotype.Component;
-import com.zt.common.annotation.OssField;
-import com.zt.modules.oss.model.OssFieldDefine;
-
-import io.swagger.annotations.ApiModel;
+import java.lang.reflect.Field;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
@Component("dataFieldParser")
public class DataFieldParser {
diff --git a/zt/core/src/main/java/com/zt/modules/oss/cloud/LocalStorageService.java b/zt/core/src/main/java/com/zt/modules/oss/cloud/LocalStorageService.java
index ec5a4f9..2a4854c 100644
--- a/zt/core/src/main/java/com/zt/modules/oss/cloud/LocalStorageService.java
+++ b/zt/core/src/main/java/com/zt/modules/oss/cloud/LocalStorageService.java
@@ -8,12 +8,10 @@
package com.zt.modules.oss.cloud;
-
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.spire.xls.Workbook;
import com.zt.common.exception.ErrorCode;
import com.zt.common.exception.RenException;
-import com.zt.common.utils.CommonUtils;
import com.zt.core.oss.encry.IOssEncryptService;
import com.zt.modules.oss.enums.CloudChannel;
import com.zt.modules.oss.model.QdSysOss;
@@ -29,7 +27,6 @@
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.net.URLEncoder;
-import java.util.Date;
/**
* 鏈湴涓婁紶
@@ -98,8 +95,6 @@
}
public void content(SysOss oss, HttpServletResponse response) throws Exception {
- Date beginDate = new Date();
- Date lastDate = beginDate;
if (oss == null) {
throw new IOException("鏂囦欢涓嶅瓨鍦紒");
}
@@ -118,15 +113,7 @@
System.out.println(File.separator);
System.out.println(oss.getPath());
// 鍒涘缓鏂囦欢杈撳叆娴�
- Date nowDate = new Date();
- System.out.println("鍑嗗鏃堕棿锛�" + CommonUtils.getDatePoor(nowDate, lastDate));
- lastDate = nowDate;
-
InputStream is = ossEncryptService.decrypt(file);
-
- nowDate = new Date();
- System.out.println("瑙e瘑鏃堕棿锛�" + CommonUtils.getDatePoor(nowDate, lastDate));
- lastDate = nowDate;
// 鍝嶅簲杈撳嚭娴�
ServletOutputStream out = response.getOutputStream();
// 鍒涘缓缂撳啿鍖�
@@ -138,9 +125,6 @@
is.close();
out.flush();
out.close();
- nowDate = new Date();
- System.out.println("杈撳嚭鏃堕棿锛�" + CommonUtils.getDatePoor(nowDate, lastDate));
- System.out.println("鎬绘椂闂达細" + CommonUtils.getDatePoor(nowDate, beginDate));
}
}
@@ -166,7 +150,8 @@
workbook.saveToStream(outputStream, com.spire.xls.FileFormat.Version2013); // 鎸囧畾鏂囦欢鏍煎紡
documentBytes = outputStream.toByteArray();
headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
- } else if (filename.endsWith(".docx") || filename.endsWith(".xlsx")) {
+ }
+ if (filename.endsWith(".doc") || filename.endsWith(".docx") || filename.endsWith(".xlsx")) {
documentBytes = FileCopyUtils.copyToByteArray(in);
headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);
headers.setContentDispositionFormData("attachment", filename);
diff --git a/zt/core/src/main/java/com/zt/modules/oss/cloud/StorageConfig.java b/zt/core/src/main/java/com/zt/modules/oss/cloud/StorageConfig.java
index a1dd892..b4e9aa6 100644
--- a/zt/core/src/main/java/com/zt/modules/oss/cloud/StorageConfig.java
+++ b/zt/core/src/main/java/com/zt/modules/oss/cloud/StorageConfig.java
@@ -8,10 +8,10 @@
package com.zt.modules.oss.cloud;
-import java.io.Serializable;
-
import lombok.Data;
+import java.io.Serializable;
+
/**
* 浜戝瓨鍌ㄩ厤缃俊鎭�
*
diff --git a/zt/core/src/main/java/com/zt/modules/oss/controller/SysOssController.java b/zt/core/src/main/java/com/zt/modules/oss/controller/SysOssController.java
index 070c5f0..b6caf03 100644
--- a/zt/core/src/main/java/com/zt/modules/oss/controller/SysOssController.java
+++ b/zt/core/src/main/java/com/zt/modules/oss/controller/SysOssController.java
@@ -8,7 +8,6 @@
package com.zt.modules.oss.controller;
-import cn.hutool.core.io.IoUtil;
import com.zt.common.annotation.LogOperation;
import com.zt.common.annotation.QueryParam;
import com.zt.common.constant.Constant;
@@ -30,21 +29,14 @@
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
-import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
-import org.springframework.util.FileCopyUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import springfox.documentation.annotations.ApiIgnore;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.InputStream;
-import java.nio.file.Files;
import java.util.Map;
/**
diff --git a/zt/core/src/main/java/com/zt/modules/oss/controller/chunkUploadController.java b/zt/core/src/main/java/com/zt/modules/oss/controller/chunkUploadController.java
index 8e74938..5124257 100644
--- a/zt/core/src/main/java/com/zt/modules/oss/controller/chunkUploadController.java
+++ b/zt/core/src/main/java/com/zt/modules/oss/controller/chunkUploadController.java
@@ -5,7 +5,6 @@
import io.swagger.annotations.Api;
import org.apache.tomcat.util.http.fileupload.FileUtils;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
@@ -26,11 +25,11 @@
@PostMapping("/upload_chunk/")
public Result<Boolean> uploadFile(@RequestParam("file") MultipartFile file,
- @RequestParam("uid") String uid,
- @RequestParam("chunk") int chunk,
- @RequestParam("filter_type") String filterType,
- @RequestParam("fileName") String fileName,
- @RequestParam(value = "chunks", required = false) String chunks) {
+ @RequestParam("uid") String uid,
+ @RequestParam("chunk") int chunk,
+ @RequestParam("filter_type") String filterType,
+ @RequestParam("fileName") String fileName,
+ @RequestParam(value = "chunks", required = false) String chunks) {
try {
String tempUploadDir = storageService.getConfig().getLocalPath() + File.separator + "TEMP_UPLOAD";
File dir = new File(tempUploadDir);
diff --git a/zt/core/src/main/java/com/zt/modules/oss/encry/NoEncryptService.java b/zt/core/src/main/java/com/zt/modules/oss/encry/NoEncryptService.java
index 5795a97..7431ccd 100644
--- a/zt/core/src/main/java/com/zt/modules/oss/encry/NoEncryptService.java
+++ b/zt/core/src/main/java/com/zt/modules/oss/encry/NoEncryptService.java
@@ -1,13 +1,11 @@
package com.zt.modules.oss.encry;
-import java.io.File;
-import java.io.InputStream;
-
+import cn.hutool.core.io.IoUtil;
+import com.zt.core.oss.encry.IOssEncryptService;
import org.springframework.stereotype.Service;
-import cn.hutool.core.io.IoUtil;
-
-import com.zt.core.oss.encry.IOssEncryptService;
+import java.io.File;
+import java.io.InputStream;
@Service("noEncryptService")
public class NoEncryptService implements IOssEncryptService {
diff --git a/zt/core/src/main/java/com/zt/modules/oss/enums/OssStatus.java b/zt/core/src/main/java/com/zt/modules/oss/enums/OssStatus.java
index f0a672c..dad9916 100644
--- a/zt/core/src/main/java/com/zt/modules/oss/enums/OssStatus.java
+++ b/zt/core/src/main/java/com/zt/modules/oss/enums/OssStatus.java
@@ -20,7 +20,7 @@
@Dictionary(type = "oss_status", name = "鏂囦欢鐘舵��")
public enum OssStatus implements IDictionary {
- TEMPORARY(0, "涓存椂"), PERMANENT(1, "姘镐箙");
+ TEMPORARY(100, "涓存椂"), PERMANENT(101, "姘镐箙");
private Integer value;
private String name;
diff --git a/zt/core/src/main/java/com/zt/modules/oss/mapstruct/OssMapper.java b/zt/core/src/main/java/com/zt/modules/oss/mapstruct/OssMapper.java
index b686019..30980df 100644
--- a/zt/core/src/main/java/com/zt/modules/oss/mapstruct/OssMapper.java
+++ b/zt/core/src/main/java/com/zt/modules/oss/mapstruct/OssMapper.java
@@ -1,9 +1,8 @@
package com.zt.modules.oss.mapstruct;
-import org.mapstruct.Mapper;
-
import com.zt.core.oss.dto.OssDto;
import com.zt.modules.oss.model.SysOss;
+import org.mapstruct.Mapper;
@Mapper(componentModel = "spring")
public interface OssMapper {
diff --git a/zt/core/src/main/java/com/zt/modules/oss/model/OssFieldDefine.java b/zt/core/src/main/java/com/zt/modules/oss/model/OssFieldDefine.java
index 1da4510..e59e3b0 100644
--- a/zt/core/src/main/java/com/zt/modules/oss/model/OssFieldDefine.java
+++ b/zt/core/src/main/java/com/zt/modules/oss/model/OssFieldDefine.java
@@ -1,11 +1,10 @@
package com.zt.modules.oss.model;
+import lombok.Data;
+import org.apache.commons.lang3.StringUtils;
+
import java.util.ArrayList;
import java.util.List;
-
-import lombok.Data;
-
-import org.apache.commons.lang3.StringUtils;
@Data
public class OssFieldDefine {
diff --git a/zt/core/src/main/java/com/zt/modules/oss/model/SysOss.java b/zt/core/src/main/java/com/zt/modules/oss/model/SysOss.java
index 719c461..6ed6cc9 100644
--- a/zt/core/src/main/java/com/zt/modules/oss/model/SysOss.java
+++ b/zt/core/src/main/java/com/zt/modules/oss/model/SysOss.java
@@ -8,16 +8,14 @@
package com.zt.modules.oss.model;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
-
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.zt.common.entity.BusiEntity;
-
import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
/**
* 鏂囦欢涓婁紶
diff --git a/zt/core/src/main/java/com/zt/modules/oss/service/SysOssService.java b/zt/core/src/main/java/com/zt/modules/oss/service/SysOssService.java
index 12edc47..4bc5321 100644
--- a/zt/core/src/main/java/com/zt/modules/oss/service/SysOssService.java
+++ b/zt/core/src/main/java/com/zt/modules/oss/service/SysOssService.java
@@ -1,6 +1,5 @@
package com.zt.modules.oss.service;
-import ch.qos.logback.core.util.FileUtil;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.io.IoUtil;
import cn.hutool.core.util.NumberUtil;
@@ -13,8 +12,6 @@
import com.zt.common.exception.ErrorCode;
import com.zt.common.exception.RenException;
import com.zt.common.service.BaseService;
-import com.zt.common.utils.MoveTotherFoldersUtils;
-import com.zt.common.utils.UUIDUtil;
import com.zt.core.oss.dto.OssDto;
import com.zt.core.oss.service.ISysOssService;
import com.zt.modules.oss.annotation.DataFieldParser;
@@ -38,7 +35,6 @@
import javax.crypto.Cipher;
import javax.crypto.KeyGenerator;
import java.io.*;
-import java.nio.file.Files;
import java.security.Key;
import java.security.SecureRandom;
import java.util.*;
diff --git a/zt/core/src/main/resources/mapper/oss/SysOssDao.xml b/zt/core/src/main/resources/mapper/oss/SysOssDao.xml
index fc61e61..c4f240a 100644
--- a/zt/core/src/main/resources/mapper/oss/SysOssDao.xml
+++ b/zt/core/src/main/resources/mapper/oss/SysOssDao.xml
@@ -45,5 +45,6 @@
</if>
ORDER by a.busi_id,a.sort
</select>
+ <select id="getOldFileList" resultType="com.zt.modules.oss.model.SysOss"></select>
</mapper>
diff --git a/zt/core/src/main/resources/mapper/sys/SysDictTypeDao.xml b/zt/core/src/main/resources/mapper/sys/SysDictTypeDao.xml
index a344df1..f69d260 100644
--- a/zt/core/src/main/resources/mapper/sys/SysDictTypeDao.xml
+++ b/zt/core/src/main/resources/mapper/sys/SysDictTypeDao.xml
@@ -5,7 +5,7 @@
<select id="getTenantDictTypes" resultType="com.zt.modules.sys.model.SysDictType">
select a.*
- from DJ_SYS_DICT_TYPE a
+ from SYS_DICT_TYPE a
where a.is_delete = 0
<if test="tenantId == 0">
and a.tenant_id = #{tenantId}
--
Gitblit v1.9.1