From 42206b6e31138d5be6d22bb4bba22e03ffe107aa Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期五, 26 九月 2025 17:09:14 +0800
Subject: [PATCH] 容器添加初始化功能 商品档案添加批量修改功能
---
src/main/java/com/zy/asrs/utils/MatExcelListener.java | 1
src/main/webapp/static/js/mat/mat.js | 192 ++++++++----
src/main/webapp/views/mat/mat.html | 52 ++
pom.xml | 5
src/main/java/com/zy/asrs/service/impl/MatServiceImpl.java | 26 +
src/main/webapp/static/js/basContainer/basContainer.js | 154 +++++++---
src/main/java/com/zy/asrs/enums/CommonEnum.java | 4
src/main/java/com/zy/asrs/service/impl/BasContainerServiceImpl.java | 59 +++
src/main/java/com/zy/asrs/entity/Mat.java | 1
src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java | 5
src/main/java/com/zy/asrs/service/BasContainerService.java | 9
src/main/java/com/zy/asrs/controller/MatController.java | 68 ++-
src/main/webapp/static/js/common.js | 1
src/main/java/com/zy/asrs/service/MatService.java | 3
src/main/webapp/views/basContainer/initContainer.html | 164 ++++++++++
src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java | 8
src/main/java/com/zy/asrs/entity/param/ContainerParams.java | 30 ++
src/main/java/com/zy/asrs/entity/BasContainer.java | 4
src/main/java/com/zy/asrs/controller/PackController.java | 1
src/main/webapp/views/basContainer/basContainer.html | 68 ++++
src/main/java/com/zy/asrs/entity/param/BatchMatsUpdateParam.java | 24 +
src/main/java/com/zy/asrs/controller/BasContainerController.java | 11
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | 2
src/main/resources/application.yml | 2
src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java | 1
25 files changed, 720 insertions(+), 175 deletions(-)
diff --git a/pom.xml b/pom.xml
index 80e972e..4e61b50 100644
--- a/pom.xml
+++ b/pom.xml
@@ -46,6 +46,11 @@
<version>${cool.version}</version>
</dependency>
<dependency>
+ <groupId>org.apache.tika</groupId>
+ <artifactId>tika-core</artifactId>
+ <version>2.1.0</version>
+ </dependency>
+ <dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql-driver.version}</version>
diff --git a/src/main/java/com/zy/asrs/controller/BasContainerController.java b/src/main/java/com/zy/asrs/controller/BasContainerController.java
index c9efadb..74d91ec 100644
--- a/src/main/java/com/zy/asrs/controller/BasContainerController.java
+++ b/src/main/java/com/zy/asrs/controller/BasContainerController.java
@@ -7,6 +7,7 @@
import com.baomidou.mybatisplus.plugins.Page;
import com.core.common.DateUtils;
import com.zy.asrs.entity.BasContainer;
+import com.zy.asrs.entity.param.ContainerParams;
import com.zy.asrs.service.BasContainerService;
import com.core.annotations.ManagerAuth;
import com.core.common.BaseRes;
@@ -66,6 +67,16 @@
return R.ok();
}
+ @RequestMapping(value = "/basContainer/init/auth")
+ @ManagerAuth
+ public R init(@RequestBody ContainerParams container) {
+ if (Objects.isNull(container)) {
+ throw new RuntimeException("鑳芥暟涓嶈兘涓虹┖锛侊紒");
+ }
+ return basContainerService.init(container);
+ }
+
+
@RequestMapping(value = "/basContainer/update/auth")
@ManagerAuth
public R update(BasContainer basContainer){
diff --git a/src/main/java/com/zy/asrs/controller/MatController.java b/src/main/java/com/zy/asrs/controller/MatController.java
index 53e9135..04785d0 100644
--- a/src/main/java/com/zy/asrs/controller/MatController.java
+++ b/src/main/java/com/zy/asrs/controller/MatController.java
@@ -13,6 +13,7 @@
import com.zy.asrs.entity.Mat;
import com.zy.asrs.entity.MatPrint;
import com.zy.asrs.entity.OrderDetl;
+import com.zy.asrs.entity.param.BatchMatsUpdateParam;
import com.zy.asrs.entity.param.EmptyPlateOutParam;
import com.zy.asrs.entity.result.KeyValueVo;
import com.zy.asrs.service.MatService;
@@ -44,13 +45,13 @@
private SnowflakeIdWorker snowflakeIdWorker;
@RequestMapping(value = "/mat/auto/matnr/auth")
- public R autoMatnr(){
+ public R autoMatnr() {
return R.ok().add("YJ" + DateUtils.convert(new Date(), DateUtils.yyyyMMddHHmmsssss).substring(0, 16));
}
@RequestMapping(value = "/mat/list/pda/auth")
@ManagerAuth
- public R pdaList(@RequestParam(required = true)Long tagId){
+ public R pdaList(@RequestParam(required = true) Long tagId) {
EntityWrapper<Mat> wrapper = new EntityWrapper<>();
wrapper.eq("tag_id", tagId);
wrapper.orderBy("create_time", false);
@@ -60,7 +61,7 @@
@RequestMapping(value = "/mat/search/pda/auth")
@ManagerAuth
- public R pdaSearch(@RequestParam(required = false)String condition){
+ public R pdaSearch(@RequestParam(required = false) String condition) {
EntityWrapper<Mat> wrapper = new EntityWrapper<>();
if (!Cools.isEmpty(condition)) {
// wrapper.like("matnr", condition).or().like("maktx", condition);
@@ -85,11 +86,11 @@
@RequestMapping(value = "/mat/list/auth")
@ManagerAuth
- public R list(@RequestParam(defaultValue = "1")Integer curr,
- @RequestParam(defaultValue = "10")Integer limit,
- @RequestParam(required = false)String orderByField,
- @RequestParam(required = false)String orderByType,
- @RequestParam Map<String, Object> param){
+ public R list(@RequestParam(defaultValue = "1") Integer curr,
+ @RequestParam(defaultValue = "10") Integer limit,
+ @RequestParam(required = false) String orderByField,
+ @RequestParam(required = false) String orderByType,
+ @RequestParam Map<String, Object> param) {
Object tagId = param.get("tag_id");
if (Cools.isEmpty(tagId)) {
tagId = getOriginTag().getId();
@@ -103,10 +104,10 @@
}
- private void convert(Map<String, Object> map, EntityWrapper wrapper){
- for (Map.Entry<String, Object> entry : map.entrySet()){
+ private void convert(Map<String, Object> map, EntityWrapper wrapper) {
+ for (Map.Entry<String, Object> entry : map.entrySet()) {
String val = String.valueOf(entry.getValue());
- if (val.contains(RANGE_TIME_LINK)){
+ if (val.contains(RANGE_TIME_LINK)) {
String[] dates = val.split(RANGE_TIME_LINK);
wrapper.ge(entry.getKey(), DateUtils.convert(dates[0]));
wrapper.le(entry.getKey(), DateUtils.convert(dates[1]));
@@ -127,6 +128,7 @@
mat.setCreateTime(now);
mat.setUpdateBy(getUserId());
mat.setUpdateTime(now);
+ mat.setLocType(mat.getTagId());
mat.setStatus(1);
if (!matService.insert(mat)) {
throw new CoolException("娣诲姞澶辫触锛岃鑱旂郴绠$悊鍛�");
@@ -134,26 +136,34 @@
return R.ok();
}
- @RequestMapping(value = "/mat/update/auth")
- @ManagerAuth
- public R update(Mat mat){
- if (Cools.isEmpty(mat) || null==mat.getId()){
+ @RequestMapping(value = "/mat/update/auth")
+ @ManagerAuth
+ public R update(Mat mat) {
+ if (Cools.isEmpty(mat) || null == mat.getId()) {
return R.error();
}
mat.setUpdateBy(getUserId());
+ mat.setLocType(mat.getTagId());
mat.setUpdateTime(new Date());
matService.updateById(mat);
return R.ok();
}
+ @PostMapping("mat/batch/auth")
+ @ManagerAuth
+ public R batchUpdate(@RequestBody BatchMatsUpdateParam params) {
+
+ return matService.batchInfo(params);
+ }
+
@RequestMapping(value = "/mat/delete/auth")
@ManagerAuth
- public R delete(@RequestParam String param){
+ public R delete(@RequestParam String param) {
List<Mat> list = JSONArray.parseArray(param, Mat.class);
- if (Cools.isEmpty(list)){
+ if (Cools.isEmpty(list)) {
return R.error();
}
- for (Mat entity : list){
+ for (Mat entity : list) {
if (!matService.delete(new EntityWrapper<>(entity))) {
throw new CoolException("鍒犻櫎澶辫触锛岃鑱旂郴绠$悊鍛�");
}
@@ -163,15 +173,15 @@
@RequestMapping(value = "/mat/turn/over/list/auth")
@ManagerAuth
- public R turnOverList(@RequestParam(defaultValue = "1")Integer curr,
- @RequestParam(defaultValue = "10")Integer limit,
- @RequestParam Map<String, Object> param){
+ public R turnOverList(@RequestParam(defaultValue = "1") Integer curr,
+ @RequestParam(defaultValue = "10") Integer limit,
+ @RequestParam Map<String, Object> param) {
return R.ok(matService.getMatTurnPage(toPage(curr, limit, param, Mat.class)));
}
@RequestMapping("/mat/turn/over/take/site")
@ManagerAuth()
- public R availableTakeSite(@RequestParam(required = false) String matnr){
+ public R availableTakeSite(@RequestParam(required = false) String matnr) {
List<Map<String, Object>> result = new ArrayList<>();
List<Mat> mats = matService.selectByMatnrLink(matnr);
for (Mat mat : mats) {
@@ -185,7 +195,7 @@
@RequestMapping(value = "/mat/export/auth")
@ManagerAuth
- public R export(@RequestBody JSONObject param){
+ public R export(@RequestBody JSONObject param) {
EntityWrapper<Mat> wrapper = new EntityWrapper<>();
List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
Map<String, Object> map = excludeTrash(param.getJSONObject("mat"));
@@ -201,7 +211,7 @@
wrapper.like("matnr", condition).or().like("maktx", condition);
Page<Mat> page = matService.selectPage(new Page<>(0, 10), wrapper);
List<Map<String, Object>> result = new ArrayList<>();
- for (Mat mat : page.getRecords()){
+ for (Mat mat : page.getRecords()) {
Map<String, Object> map = new HashMap<>();
map.put("id", mat.getId());
map.put("value", mat.getMatnr() + "(" + mat.getMaktx() + ")");
@@ -214,7 +224,7 @@
@ManagerAuth
public R query(@RequestBody JSONObject param) {
Wrapper<Mat> wrapper = new EntityWrapper<Mat>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val"));
- if (null != matService.selectOne(wrapper)){
+ if (null != matService.selectOne(wrapper)) {
return R.parse(BaseRes.REPEAT).add(getComment(Mat.class, String.valueOf(param.get("key"))));
}
return R.ok();
@@ -241,7 +251,7 @@
, @RequestParam String param
, HttpServletResponse response) throws Exception {
AdminInterceptor.cors(response);
- if (Cools.isEmpty(param)){
+ if (Cools.isEmpty(param)) {
return R.parse(BaseRes.EMPTY);
}
BufferedImage img;
@@ -262,11 +272,11 @@
@RequestMapping(value = "/mat/print/auth")
@ManagerAuth(memo = "鍟嗗搧缂栫爜鎵撳嵃")
public R matCodePrint(@RequestParam(value = "param[]") String[] param) {
- if(Cools.isEmpty(param)) {
+ if (Cools.isEmpty(param)) {
return R.parse(CodeRes.EMPTY);
}
List<MatPrint> res = new ArrayList<>();
- for (String matnr : param){
+ for (String matnr : param) {
Mat mat = matService.selectByMatnr(matnr);
// 鎵撳嵃鏁版嵁娉ㄥ叆
MatPrint print = new MatPrint();
@@ -307,7 +317,7 @@
public R matExcelImport(MultipartFile file) throws IOException {
MatExcelListener listener = new MatExcelListener(getUserId());
EasyExcel.read(file.getInputStream(), MatExcel.class, listener).sheet().doRead();
- return R.ok("鎴愬姛鍚屾"+listener.getTotal()+"鏉″晢鍝佹暟鎹�");
+ return R.ok("鎴愬姛鍚屾" + listener.getTotal() + "鏉″晢鍝佹暟鎹�");
}
/*************************************** xm-select ***********************************************/
diff --git a/src/main/java/com/zy/asrs/controller/PackController.java b/src/main/java/com/zy/asrs/controller/PackController.java
index 542d0a8..20b7b5a 100644
--- a/src/main/java/com/zy/asrs/controller/PackController.java
+++ b/src/main/java/com/zy/asrs/controller/PackController.java
@@ -83,6 +83,7 @@
}
Mat mat = new Mat();
mat.setTagId(tagService.getTop().getId());
+ mat.setLocType(tagService.getTop().getId());
mat.setMatnr(barcode);
mat.setMaktx(barcode);
mat.setStatus(1);
diff --git a/src/main/java/com/zy/asrs/entity/BasContainer.java b/src/main/java/com/zy/asrs/entity/BasContainer.java
index 5dc10ee..71aa45d 100644
--- a/src/main/java/com/zy/asrs/entity/BasContainer.java
+++ b/src/main/java/com/zy/asrs/entity/BasContainer.java
@@ -1,5 +1,6 @@
package com.zy.asrs.entity;
+import com.baomidou.mybatisplus.annotations.TableField;
import com.core.common.Cools;import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.enums.IdType;
@@ -34,9 +35,10 @@
private String barcode;
@ApiModelProperty("瀹瑰櫒绫诲瀷")
- private String type;
+ private Long type;
@ApiModelProperty("鏄惁娣锋斁")
+ @TableField("flag_mix")
private Integer flagMix;
@ApiModelProperty("鏈�澶ф贩鏀剧绫�")
diff --git a/src/main/java/com/zy/asrs/entity/Mat.java b/src/main/java/com/zy/asrs/entity/Mat.java
index bdd9654..1ccd199 100644
--- a/src/main/java/com/zy/asrs/entity/Mat.java
+++ b/src/main/java/com/zy/asrs/entity/Mat.java
@@ -309,6 +309,7 @@
@ApiModelProperty("搴撲綅绫诲瀷")
@TableField("loc_type")
+ @ExcelProperty(value = "搴撲綅绫诲瀷")
private Long locType;
/**
diff --git a/src/main/java/com/zy/asrs/entity/param/BatchMatsUpdateParam.java b/src/main/java/com/zy/asrs/entity/param/BatchMatsUpdateParam.java
new file mode 100644
index 0000000..1b24b8e
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/param/BatchMatsUpdateParam.java
@@ -0,0 +1,24 @@
+package com.zy.asrs.entity.param;
+
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import java.util.List;
+
+@Data
+@Accessors(chain = true)
+@ApiModel(value = "BatchMatsUpdateParam", description = "鎵归噺淇敼鍙傛暟")
+public class BatchMatsUpdateParam {
+
+ @ApiModelProperty("ids")
+ private List<Long> ids;
+
+ @ApiModelProperty("搴撲綅绫诲瀷")
+ private Long type;
+
+ @ApiModelProperty("缁勬墭涓婇檺")
+ private Double upQty;
+}
diff --git a/src/main/java/com/zy/asrs/entity/param/ContainerParams.java b/src/main/java/com/zy/asrs/entity/param/ContainerParams.java
new file mode 100644
index 0000000..e1ca331
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/param/ContainerParams.java
@@ -0,0 +1,30 @@
+package com.zy.asrs.entity.param;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+
+@Data
+@Accessors(chain = true)
+@ApiModel(value = "ContainerParams",description = "瀹瑰櫒鍒濆鍖栧弬鏁�")
+public class ContainerParams implements Serializable {
+
+ @ApiModelProperty("璧风偣")
+ private Integer start;
+
+ @ApiModelProperty("缁堢偣")
+ private Integer end;
+
+ @ApiModelProperty("绫诲瀷")
+ private Long type;
+
+ @ApiModelProperty("鏄惁鍒濆鍖�")
+ private Integer flagInit;
+
+ @ApiModelProperty("闀垮害")
+ private Integer length;
+
+}
diff --git a/src/main/java/com/zy/asrs/enums/CommonEnum.java b/src/main/java/com/zy/asrs/enums/CommonEnum.java
index f6faefa..e2fcbf9 100644
--- a/src/main/java/com/zy/asrs/enums/CommonEnum.java
+++ b/src/main/java/com/zy/asrs/enums/CommonEnum.java
@@ -9,9 +9,9 @@
public enum CommonEnum {
//閫氱敤绫诲瀷
- COMMON_ENUM_Y(0, "鍚�"),
+ COMMON_ENUM_Y(1, "鏄�"),
//閫氱敤
- COMMON_ENUM_N(1, "鏄�");
+ COMMON_ENUM_N(0, "鍚�");
public Integer type;
diff --git a/src/main/java/com/zy/asrs/service/BasContainerService.java b/src/main/java/com/zy/asrs/service/BasContainerService.java
index 925a7af..ad2f9af 100644
--- a/src/main/java/com/zy/asrs/service/BasContainerService.java
+++ b/src/main/java/com/zy/asrs/service/BasContainerService.java
@@ -1,8 +1,17 @@
package com.zy.asrs.service;
+import com.core.common.R;
import com.zy.asrs.entity.BasContainer;
import com.baomidou.mybatisplus.service.IService;
+import com.zy.asrs.entity.param.ContainerParams;
public interface BasContainerService extends IService<BasContainer> {
+ /**
+ * @author Ryan
+ * @date 2025/9/26
+ * @description: TODO
+ * @version 1.0
+ */
+ R init(ContainerParams container);
}
diff --git a/src/main/java/com/zy/asrs/service/MatService.java b/src/main/java/com/zy/asrs/service/MatService.java
index dd30afd..dbfd443 100644
--- a/src/main/java/com/zy/asrs/service/MatService.java
+++ b/src/main/java/com/zy/asrs/service/MatService.java
@@ -2,7 +2,9 @@
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService;
+import com.core.common.R;
import com.zy.asrs.entity.Mat;
+import com.zy.asrs.entity.param.BatchMatsUpdateParam;
import java.util.List;
@@ -18,4 +20,5 @@
Mat selectNewUpdateTime();
+ R batchInfo(BatchMatsUpdateParam params);
}
diff --git a/src/main/java/com/zy/asrs/service/impl/BasContainerServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/BasContainerServiceImpl.java
index c4fbcbf..3919e27 100644
--- a/src/main/java/com/zy/asrs/service/impl/BasContainerServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/BasContainerServiceImpl.java
@@ -1,12 +1,71 @@
package com.zy.asrs.service.impl;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.core.common.R;
+import com.core.exception.CoolException;
+import com.zy.asrs.entity.param.ContainerParams;
+import com.zy.asrs.enums.CommonEnum;
+import com.zy.asrs.enums.ContainerType;
import com.zy.asrs.mapper.BasContainerMapper;
import com.zy.asrs.entity.BasContainer;
import com.zy.asrs.service.BasContainerService;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import org.apache.tika.utils.StringUtils;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.awt.*;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.Objects;
@Service("basContainerService")
public class BasContainerServiceImpl extends ServiceImpl<BasContainerMapper, BasContainer> implements BasContainerService {
+ /**
+ * @author Ryan
+ * @date 2025/9/26
+ * @description: 瀹瑰櫒鍒濆鍖�
+ * @version 1.0
+ */
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public R init(ContainerParams container) {
+ Integer length = 7;
+ if (Objects.isNull(container.getType())) {
+ throw new CoolException("瀹瑰櫒绫诲瀷涓嶈兘涓虹┖锛�");
+ }
+ if (!Objects.isNull(container.getLength())) {
+ length = container.getLength();
+ }
+ if (!Objects.isNull(container.getFlagInit()) && container.getFlagInit().equals(CommonEnum.COMMON_ENUM_Y.type)) {
+ this.delete(new EntityWrapper<>());
+ }
+ for (int i = container.getStart(); i <= container.getEnd(); i++) {
+ BasContainer basContainer = new BasContainer();
+ String prefix = "", ruleCode = "";
+ if (container.getType().equals(ContainerType.CONTAINER_TYPE_BOX.type)) {
+ prefix = "LX2";
+ basContainer.setMixMax(3);
+ } else if (container.getType().equals(ContainerType.CONTAINER_TYPE_CAGE.type)) {
+ prefix = "LK3";
+ basContainer.setMixMax(2);
+ } else if (container.getType().equals(ContainerType.CONTAINER_TYPE_SALVER.type)) {
+ prefix = "TP4";
+ basContainer.setMixMax(2);
+ }
+ ruleCode = prefix + StringUtils.leftPad(i + "", length, "0");
+ basContainer.setType(container.getType())
+ .setCreateTime(new Date())
+ .setUpdateTime(new Date())
+ .setId(null)
+ .setFlagMix(1)
+ .setBarcode(ruleCode);
+ if (!this.insert(basContainer)) {
+ throw new CoolException("瀹瑰櫒淇濆瓨澶辫触锛侊紒");
+ }
+ }
+ return R.ok();
+ }
}
diff --git a/src/main/java/com/zy/asrs/service/impl/MatServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MatServiceImpl.java
index 8ab8e75..f2fddbd 100644
--- a/src/main/java/com/zy/asrs/service/impl/MatServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MatServiceImpl.java
@@ -1,11 +1,16 @@
package com.zy.asrs.service.impl;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.core.common.R;
+import com.core.exception.CoolException;
+import com.zy.asrs.entity.param.BatchMatsUpdateParam;
import org.springframework.stereotype.Service;
import com.zy.asrs.entity.Mat;
import com.zy.asrs.mapper.MatMapper;
import com.zy.asrs.service.MatService;
+import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@@ -37,6 +42,27 @@
return this.baseMapper.selectNewUpdateTime();
}
+ /**
+ * @author Ryan
+ * @date 2025/9/26
+ * @description: 鎵归噺淇敼鐗╂枡淇℃伅
+ * @version 1.0
+ */
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public R batchInfo(BatchMatsUpdateParam params) {
+ List<Long> ids = params.getIds();
+ List<Mat> mats = this.baseMapper.selectList(new EntityWrapper<Mat>().in("id", ids));
+ mats.forEach(mat -> {
+ mat.setLocType(params.getType());
+ mat.setUpQty(params.getUpQty());
+ if (this.updateById(mat)) {
+ throw new CoolException("鐗╂枡淇℃伅淇敼澶辫触锛侊紒");
+ }
+ });
+ return R.ok();
+ }
+
@Override
public Page<Mat> getMatTurnPage(Page<Mat> page){
page.setRecords(baseMapper.getMatTurnPage(page.getCondition()));
diff --git a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
index 716a7ed..59c0c8f 100644
--- a/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/MobileServiceImpl.java
@@ -683,17 +683,16 @@
if (Cools.isEmpty(mat)) {
throw new CoolException(detlDto.getMatnr() + "鍟嗗搧妗f涓嶅瓨鍦�");
}
-
//鏈�澶氬彲鏀炬暟閲�
Double singleMax = mat.getUpQty() * suplus;
if (singleMax.compareTo(detlDto.getAnfme()) < 0) {
- throw new CoolException("鍗曟鏈�澶х粍鎵樹笂闄愪负锛�" + singleMax);
+ throw new CoolException("鐗╂枡锛�" + detlDto.getMatnr() + "鍗曟缁勬墭涓婇檺涓猴細" + mat.getUpQty() + ",褰撳墠鎬婚噺瓒呭嚭鎵樼洏瑁呰浇涓婇檺!!");
}
BigDecimal decimal = new BigDecimal(detlDto.getAnfme() / mat.getUpQty());
//褰撳墠鐗╂枡闇�瑕佸崰鐢ㄦ枡绠辨牸鏁�
Integer curr = decimal.setScale(0, RoundingMode.CEILING).intValue();
suplus = suplus - curr;
- if (suplus == 0 || suplus < 0) {
+ if (suplus < 0) {
throw new CoolException("鐗╂枡锛�" + detlDto.getMatnr() + ", 瓒呭嚭褰撳墠鎵樼洏瑁呰浇涓婇檺锛侊紒");
}
diff --git a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
index 29dfc78..5277f6f 100644
--- a/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
+++ b/src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -465,6 +465,7 @@
tagId = tagService.getTop().getId();
}
mat.setTagId(tagId);
+ mat.setLocType(tagId);
mat.setMatnr(analyse.getMatnr());
mat.setMaktx(param.getMaterialName());
mat.setSpecs(param.getConfigureDesc());
@@ -571,6 +572,7 @@
// mat.setModel(param.getModel());
mat.setTagId(tagId);
+ mat.setLocType(tagId);
mat.setStatus(1);
mat.setCreateTime(now);
mat.setUpdateTime(now);
diff --git a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
index 9bab122..80f7eb4 100644
--- a/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
+++ b/src/main/java/com/zy/asrs/task/handler/WorkMastHandler.java
@@ -656,10 +656,10 @@
if (!basStationService.updateById(devNo)) {
throw new CoolException("绔欑偣淇℃伅淇敼澶辫触锛侊紒");
}
-// task.setWrkSts(15L);
-// if (!taskService.updateById(task)) {
-// throw new CoolException("浠诲姟鐘舵�佷慨鏀瑰け璐ワ紒锛�");
-// }
+ task.setWrkSts(15L);
+ if (!taskService.updateById(task)) {
+ throw new CoolException("浠诲姟鐘舵�佷慨鏀瑰け璐ワ紒锛�");
+ }
} else {
}
diff --git a/src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java b/src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java
index 6443a4b..7165153 100644
--- a/src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java
+++ b/src/main/java/com/zy/asrs/task/kingdee/handler/InboundOrderHandler.java
@@ -146,6 +146,7 @@
mat.setMaktx(jsonArray.get(0).toString());
mat.setSpecs(jsonArray.get(3).toString());//瑙勬牸
mat.setTagId(tag.getId());
+ mat.setLocType(tag.getId());
mat.setCreateTime(jsonDate);//鍟嗗搧鍒涘缓鏃堕棿
mat.setUpdateTime(new Date());
mat.setStatus(1);
diff --git a/src/main/java/com/zy/asrs/utils/MatExcelListener.java b/src/main/java/com/zy/asrs/utils/MatExcelListener.java
index 0c7ff89..7e53bac 100644
--- a/src/main/java/com/zy/asrs/utils/MatExcelListener.java
+++ b/src/main/java/com/zy/asrs/utils/MatExcelListener.java
@@ -131,6 +131,7 @@
if (mat == null) {
mat = excel;
mat.setTagId(tagId);
+ mat.setLocType(tagId);
if (!matService.insert(mat)) {
throw new CoolException("淇濆瓨鍟嗗搧淇℃伅澶辫触锛屽晢鍝佺紪鐮侊細" + excel.getMatnr());
}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 890bdc6..4069581 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -43,7 +43,7 @@
# global-config:
# field-strategy: 0
configuration:
-# log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
+ log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
map-underscore-to-camel-case: true
cache-enabled: true
call-setters-on-nulls: true
diff --git a/src/main/webapp/static/js/basContainer/basContainer.js b/src/main/webapp/static/js/basContainer/basContainer.js
index e63b6af..9781c7c 100644
--- a/src/main/webapp/static/js/basContainer/basContainer.js
+++ b/src/main/webapp/static/js/basContainer/basContainer.js
@@ -1,7 +1,7 @@
var pageCurr;
layui.config({
base: baseUrl + "/static/layui/lay/modules/"
-}).use(['table','laydate', 'form', 'admin'], function(){
+}).use(['table', 'laydate', 'form', 'admin'], function () {
var table = layui.table;
var $ = layui.jquery;
var layer = layui.layer;
@@ -13,7 +13,7 @@
tableIns = table.render({
elem: '#basContainer',
headers: {token: localStorage.getItem('token')},
- url: baseUrl+'/basContainer/list/auth',
+ url: baseUrl + '/basContainer/list/auth',
page: true,
limit: 15,
limits: [15, 30, 50, 100, 200, 500],
@@ -22,13 +22,13 @@
height: 'full-120',
cols: [[
{type: 'checkbox'}
- ,{field: 'barcode', align: 'center',title: '瀹瑰櫒缂栫爜'}
- ,{field: 'type$', align: 'center',title: '瀹瑰櫒绫诲瀷'}
- ,{field: 'flagMix$', align: 'center',title: '鏄惁娣锋斁'}
- ,{field: 'mixMax', align: 'center',title: '娣锋斁绉嶇被'}
- ,{field: 'createTime', align: 'center',title: '鍒涘缓鏃堕棿'}
- ,{field: 'updateTime', align: 'center',title: '淇敼鏃堕棿'}
- ,{fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:120}
+ , {field: 'barcode', align: 'center', title: '瀹瑰櫒缂栫爜'}
+ , {field: 'type$', align: 'center', title: '瀹瑰櫒绫诲瀷'}
+ , {field: 'flagMix$', align: 'center', title: '鏄惁娣锋斁'}
+ , {field: 'mixMax', align: 'center', title: '娣锋斁绉嶇被'}
+ , {field: 'createTime', align: 'center', title: '鍒涘缓鏃堕棿'}
+ , {field: 'updateTime', align: 'center', title: '淇敼鏃堕棿'}
+ , {fixed: 'right', title: '鎿嶄綔', align: 'center', toolbar: '#operate', width: 120}
]],
request: {
pageName: 'curr',
@@ -45,11 +45,11 @@
response: {
statusCode: 200
},
- done: function(res, curr, count) {
+ done: function (res, curr, count) {
if (res.code === 403) {
- top.location.href = baseUrl+"/";
+ top.location.href = baseUrl + "/";
}
- pageCurr=curr;
+ pageCurr = curr;
limit();
}
});
@@ -57,7 +57,7 @@
// 鐩戝惉鎺掑簭浜嬩欢
table.on('sort(basContainer)', function (obj) {
var searchData = {};
- $.each($('#search-box [name]').serializeArray(), function() {
+ $.each($('#search-box [name]').serializeArray(), function () {
searchData[this.name] = this.value;
});
searchData['orderByField'] = obj.field;
@@ -71,23 +71,26 @@
// 鐩戝惉澶村伐鍏锋爮浜嬩欢
table.on('toolbar(basContainer)', function (obj) {
var checkStatus = table.checkStatus(obj.config.id).data;
- switch(obj.event) {
+ switch (obj.event) {
case 'addData':
showEditModel();
break;
case 'deleteData':
- if (checkStatus.length === 0) {
- layer.msg('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁', {icon: 2});
- return;
- }
- del(checkStatus.map(function (d) {
- return d.id;
- }));
- break;
+ if (checkStatus.length === 0) {
+ layer.msg('璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁', {icon: 2});
+ return;
+ }
+ del(checkStatus.map(function (d) {
+ return d.id;
+ }));
+ break;
+ case 'init':
+ initContainer();
+ break;
case 'exportData':
- admin.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){
- var titles=[];
- var fields=[];
+ admin.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function () {
+ var titles = [];
+ var fields = [];
obj.config.cols[0].map(function (col) {
if (col.type === 'normal' && col.hide === false && col.toolbar == null) {
titles.push(col.title);
@@ -95,7 +98,7 @@
}
});
var exportData = {};
- $.each($('#search-box [name]').serializeArray(), function() {
+ $.each($('#search-box [name]').serializeArray(), function () {
exportData[this.name] = this.value;
});
var param = {
@@ -103,18 +106,18 @@
'fields': fields
};
$.ajax({
- url: baseUrl+"/basContainer/export/auth",
+ url: baseUrl + "/basContainer/export/auth",
headers: {'token': localStorage.getItem('token')},
data: JSON.stringify(param),
- dataType:'json',
- contentType:'application/json;charset=UTF-8',
+ dataType: 'json',
+ contentType: 'application/json;charset=UTF-8',
method: 'POST',
success: function (res) {
layer.closeAll();
if (res.code === 200) {
- table.exportFile(titles,res.data,'xls');
+ table.exportFile(titles, res.data, 'xls');
} else if (res.code === 403) {
- top.location.href = baseUrl+"/";
+ top.location.href = baseUrl + "/";
} else {
layer.msg(res.msg, {icon: 2})
}
@@ -126,7 +129,7 @@
});
// 鐩戝惉琛屽伐鍏蜂簨浠�
- table.on('tool(basContainer)', function(obj){
+ table.on('tool(basContainer)', function (obj) {
var data = obj.data;
switch (obj.event) {
case 'edit':
@@ -137,6 +140,43 @@
break;
}
});
+
+ function initContainer() {
+ admin.open({
+ type: 1,
+ area: '600px',
+ title: '鍒濆鍖�',
+ content: $('#initContainer').html(),
+ success: function (layero, dIndex) {
+ // layDateRender(mData);
+ // form.val('detail', mData);
+ form.on('submit(initDo)', function (data) {
+ var loadIndex = layer.load(2);
+ $.ajax({
+ url: baseUrl + "/basContainer/init/auth",
+ headers: {'token': localStorage.getItem('token'), 'Content-Type': 'application/json'},
+ data: JSON.stringify(data.field),
+ method: 'POST',
+ success: function (res) {
+ layer.close(loadIndex);
+ if (res.code === 200) {
+ layer.close(dIndex);
+ layer.msg(res.msg, {icon: 1});
+ tableReload();
+ } else if (res.code === 403) {
+ top.location.href = baseUrl + "/";
+ } else {
+ layer.msg(res.msg, {icon: 2});
+ }
+ }
+ })
+ return false;
+ });
+ $(layero).children('.layui-layer-content').css('overflow', 'visible');
+ layui.form.render('select');
+ }
+ });
+ }
/* 寮圭獥 - 鏂板銆佷慨鏀� */
function showEditModel(mData) {
@@ -151,19 +191,19 @@
form.on('submit(editSubmit)', function (data) {
var loadIndex = layer.load(2);
$.ajax({
- url: baseUrl+"/basContainer/"+(mData?'update':'add')+"/auth",
+ url: baseUrl + "/basContainer/" + (mData ? 'update' : 'add') + "/auth",
headers: {'token': localStorage.getItem('token')},
data: data.field,
method: 'POST',
success: function (res) {
layer.close(loadIndex);
- if (res.code === 200){
+ if (res.code === 200) {
layer.close(dIndex);
layer.msg(res.msg, {icon: 1});
tableReload();
- } else if (res.code === 403){
- top.location.href = baseUrl+"/";
- }else {
+ } else if (res.code === 403) {
+ top.location.href = baseUrl + "/";
+ } else {
layer.msg(res.msg, {icon: 2});
}
}
@@ -185,17 +225,17 @@
layer.close(i);
var loadIndex = layer.load(2);
$.ajax({
- url: baseUrl+"/basContainer/delete/auth",
+ url: baseUrl + "/basContainer/delete/auth",
headers: {'token': localStorage.getItem('token')},
data: {ids: ids},
method: 'POST',
success: function (res) {
layer.close(loadIndex);
- if (res.code === 200){
+ if (res.code === 200) {
layer.msg(res.msg, {icon: 1});
tableReload();
- } else if (res.code === 403){
- top.location.href = baseUrl+"/";
+ } else if (res.code === 403) {
+ top.location.href = baseUrl + "/";
} else {
layer.msg(res.msg, {icon: 2});
}
@@ -217,33 +257,55 @@
tableReload(false);
});
+ form.on('submit(init)', function (data) {
+ $.ajax({
+ url: baseUrl + "/basContainer/init/auth",
+ headers: {'token': localStorage.getItem('token')},
+ data: data.field,
+ method: 'POST',
+ async: false,
+ success: function (res) {
+ if (res.code === 200) {
+ layer.msg(res.msg);
+ layer.closeAll();
+ tableReload(false);
+ } else if (res.code === 403) {
+ parent.location.href = "/";
+ } else {
+ layer.msg(res.msg)
+ }
+ }
+ })
+ });
+
// 鏃堕棿閫夋嫨鍣�
function layDateRender(data) {
setTimeout(function () {
layDate.render({
elem: '.layui-laydate-range'
- ,type: 'datetime'
- ,range: true
+ , type: 'datetime'
+ , range: true
});
}, 300);
}
+
layDateRender();
});
// 鍏抽棴鍔ㄤ綔
-$(document).on('click','#data-detail-close', function () {
+$(document).on('click', '#data-detail-close', function () {
parent.layer.closeAll();
});
function tableReload(child) {
var searchData = {};
- $.each($('#search-box [name]').serializeArray(), function() {
+ $.each($('#search-box [name]').serializeArray(), function () {
searchData[this.name] = this.value;
});
tableIns.reload({
where: searchData,
page: {curr: pageCurr}
- });
+ });
}
diff --git a/src/main/webapp/static/js/common.js b/src/main/webapp/static/js/common.js
index e003331..42a5a42 100644
--- a/src/main/webapp/static/js/common.js
+++ b/src/main/webapp/static/js/common.js
@@ -188,6 +188,7 @@
,{field: 'model', align: 'center',title: '浠g爜', hide: true}
,{field: 'color', align: 'center',title: '棰滆壊', hide: true}
,{field: 'brand', align: 'center',title: '鍝佺墝', hide: true}
+ ,{field: 'upQty', align: 'center',title: '缁勬墭涓婇檺'}
,{field: 'unit', align: 'center',title: '鍗曚綅', hide: false}
,{field: 'price', align: 'center',title: '鍗曚环', hide: true}
,{field: 'sku', align: 'center',title: 'sku', hide: true}
diff --git a/src/main/webapp/static/js/mat/mat.js b/src/main/webapp/static/js/mat/mat.js
index 3e02ded..777cab7 100644
--- a/src/main/webapp/static/js/mat/mat.js
+++ b/src/main/webapp/static/js/mat/mat.js
@@ -1,18 +1,19 @@
var pageCurr;
var printMatCodeNos = [];
var admin;
+
function getCol() {
var cols = [
{type: 'checkbox'}
- ,{field: 'tagId$', align: 'center',title: '褰掔被', templet: '#tagTpl'}
- ,{field: 'locType$', align: 'center',title: '搴撲綅绫诲瀷'}
+ , {field: 'tagId$', align: 'center', title: '褰掔被', templet: '#tagTpl'}
+ , {field: 'locType$', align: 'center', title: '搴撲綅绫诲瀷'}
// ,{field: 'store_max', align: 'center',title: '搴撳瓨涓婇檺'}
// ,{field: 'store_min', align: 'center',title: '搴撳瓨涓嬮檺'}
// ,{field: 'store_max_date', align: 'center',title: '搴撻緞涓婇檺(澶�)'}
];
cols.push.apply(cols, matCols);
cols.push(
- {fixed: 'right', title:'鎿嶄綔', align: 'center', toolbar: '#operate', width:150}
+ {fixed: 'right', title: '鎿嶄綔', align: 'center', toolbar: '#operate', width: 150}
)
return cols;
}
@@ -21,7 +22,7 @@
base: baseUrl + "/static/layui/lay/modules/"
}).extend({
dropdown: 'dropdown/dropdown',
-}).use(['table','laydate', 'form', 'treeTable', 'admin', 'xmSelect', 'dropdown', 'element'], function(){
+}).use(['table', 'laydate', 'form', 'treeTable', 'admin', 'xmSelect', 'dropdown', 'element'], function () {
var table = layui.table;
var $ = layui.jquery;
var layer = layui.layer;
@@ -34,7 +35,7 @@
// 鍟嗗搧鍒嗙被鏁版嵁
var insTb = treeTable.render({
elem: '#tag',
- url: baseUrl+'/tag/list/auth',
+ url: baseUrl + '/tag/list/auth',
headers: {token: localStorage.getItem('token')},
tree: {
iconIndex: 2, // 鎶樺彔鍥炬爣鏄剧ず鍦ㄧ鍑犲垪
@@ -53,7 +54,7 @@
tableIns = table.render({
elem: '#mat',
headers: {token: localStorage.getItem('token')},
- url: baseUrl+'/mat/list/auth',
+ url: baseUrl + '/mat/list/auth',
page: true,
limit: 16,
limits: [16, 30, 50, 100, 200, 500],
@@ -76,17 +77,17 @@
response: {
statusCode: 200
},
- done: function(res, curr, count) {
+ done: function (res, curr, count) {
if (res.code === 403) {
- top.location.href = baseUrl+"/";
+ top.location.href = baseUrl + "/";
}
- pageCurr=curr;
+ pageCurr = curr;
limit();
form.on('checkbox(tableCheckbox)', function (data) {
- var _index = $(data.elem).attr('table-index')||0;
- if(data.elem.checked){
+ var _index = $(data.elem).attr('table-index') || 0;
+ if (data.elem.checked) {
res.data[_index][data.value] = 'Y';
- }else{
+ } else {
res.data[_index][data.value] = 'N';
}
});
@@ -96,7 +97,7 @@
// 鐩戝惉鎺掑簭浜嬩欢
table.on('sort(locMast)', function (obj) {
var searchData = {};
- $.each($('#search-box [name]').serializeArray(), function() {
+ $.each($('#search-box [name]').serializeArray(), function () {
searchData[this.name] = this.value;
});
searchData['orderByField'] = obj.field;
@@ -108,9 +109,9 @@
},
done: function (res, curr, count) {
if (res.code === 403) {
- top.location.href = baseUrl+"/";
+ top.location.href = baseUrl + "/";
}
- pageCurr=curr;
+ pageCurr = curr;
limit();
}
});
@@ -119,28 +120,28 @@
// 鐩戝惉澶村伐鍏锋爮浜嬩欢
table.on('toolbar(mat)', function (obj) {
var checkStatus = table.checkStatus(obj.config.id);
- switch(obj.event) {
+ switch (obj.event) {
case 'addData':
showEditModel()
break;
case 'deleteData':
var data = checkStatus.data;
- if (data.length === 0){
+ if (data.length === 0) {
layer.msg('璇烽�夋嫨鏁版嵁');
} else {
- layer.confirm('纭畾鍒犻櫎'+(data.length===1?'姝�':data.length)+'鏉℃暟鎹悧', function(){
+ layer.confirm('纭畾鍒犻櫎' + (data.length === 1 ? '姝�' : data.length) + '鏉℃暟鎹悧', function () {
$.ajax({
- url: baseUrl+"/mat/delete/auth",
+ url: baseUrl + "/mat/delete/auth",
headers: {'token': localStorage.getItem('token')},
data: {param: JSON.stringify(data)},
method: 'POST',
- traditional:true,
+ traditional: true,
success: function (res) {
- if (res.code === 200){
+ if (res.code === 200) {
layer.closeAll();
tableReload(false);
- } else if (res.code === 403){
- top.location.href = baseUrl+"/";
+ } else if (res.code === 403) {
+ top.location.href = baseUrl + "/";
} else {
layer.msg(res.msg)
}
@@ -150,9 +151,9 @@
}
break;
case 'exportData':
- layer.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){
- var titles=[];
- var fields=[];
+ layer.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function () {
+ var titles = [];
+ var fields = [];
obj.config.cols[0].map(function (col) {
if (col.type === 'normal' && col.hide === false && col.toolbar == null) {
titles.push(col.title);
@@ -160,7 +161,7 @@
}
});
var exportData = {};
- $.each($('#search-box [name]').serializeArray(), function() {
+ $.each($('#search-box [name]').serializeArray(), function () {
exportData[this.name] = this.value;
});
var param = {
@@ -168,18 +169,18 @@
'fields': fields
};
$.ajax({
- url: baseUrl+"/mat/export/auth",
+ url: baseUrl + "/mat/export/auth",
headers: {'token': localStorage.getItem('token')},
data: JSON.stringify(param),
- dataType:'json',
- contentType:'application/json;charset=UTF-8',
+ dataType: 'json',
+ contentType: 'application/json;charset=UTF-8',
method: 'POST',
success: function (res) {
layer.closeAll();
if (res.code === 200) {
- table.exportFile(titles,res.data,'xls');
+ table.exportFile(titles, res.data, 'xls');
} else if (res.code === 403) {
- top.location.href = baseUrl+"/";
+ top.location.href = baseUrl + "/";
} else {
layer.msg(res.msg)
}
@@ -191,17 +192,17 @@
case "btnPrintBatch":
printMatCodeNos = [];
var data = checkStatus.data;
- if (data.length === 0){
+ if (data.length === 0) {
layer.msg('璇烽�夋嫨鎵撳嵃鏁版嵁');
} else {
layer.open({
type: 1,
- title: '鎵归噺鎵撳嵃 [鏁伴噺'+ data.length +']',
+ title: '鎵归噺鎵撳嵃 [鏁伴噺' + data.length + ']',
area: ['500px'],
shadeClose: true,
content: $('#printDataDiv'),
- success: function(layero, index){
- for (var i = 0; i<data.length;i++) {
+ success: function (layero, index) {
+ for (var i = 0; i < data.length; i++) {
printMatCodeNos.push(data[i].matnr);
}
},
@@ -210,11 +211,59 @@
});
}
break;
+ case "batchModifties":
+ var selected = checkStatus.data;
+ if (selected.length === 0) {
+ layer.msg('璇烽�夋嫨淇敼鏁版嵁');
+ } else {
+ let selIds = selected.map(item => {
+ return item.id
+ });
+ layer.open({
+ type: 1,
+ title: '鎵归噺淇敼',
+ area: ['500px'],
+ shadeClose: true,
+ content: $('#batchModifties'),
+ success: function (layero, index) {
+ layer.iframeAuto(index);
+ form.on('submit(batchModify)', function (data) {
+ let params = {...data?.field}
+ params.id = selIds
+ $.ajax({
+ url: baseUrl + "/mat/batch/auth",
+ headers: {'token': localStorage.getItem('token')},
+ data: JSON.stringify(params),
+ dataType: 'json',
+ contentType: 'application/json;charset=UTF-8',
+ method: 'POST',
+ success: function (res) {
+ layer.closeAll();
+ if (res.code === 200) {
+
+ } else if (res.code === 403) {
+ top.location.href = baseUrl + "/";
+ } else {
+ layer.msg(res.msg)
+ }
+ }
+ });
+ layer.closeAll();
+ });
+ },
+ end: function () {
+
+ }
+ });
+ }
+ break;
+ default:
+ break;
}
});
// 鐩戝惉琛屽伐鍏蜂簨浠�
- table.on('tool(mat)', function(obj){
+ table.on('tool(mat)', function (obj) {
var data = obj.data;
switch (obj.event) {
// 鎵撳嵃
@@ -226,7 +275,7 @@
area: ['500px'],
shadeClose: true,
content: $('#printDataDiv'),
- success: function(layero, index){
+ success: function (layero, index) {
layer.iframeAuto(index);
printMatCodeNos.push(data.matnr);
},
@@ -259,7 +308,6 @@
}
// 琛ㄥ崟鎻愪氦浜嬩欢
form.on('submit(editSubmit)', function (data) {
- console.log(data)
data.field.tagId = insXmSel.getValue('valueStr');
if (isEmpty(data.field.tagId)) {
layer.msg('鍒嗙被涓嶈兘涓虹┖', {icon: 2});
@@ -267,19 +315,19 @@
}
var loadIndex = layer.load(2);
$.ajax({
- url: baseUrl+"/mat/"+(mData?'update':'add')+"/auth",
+ url: baseUrl + "/mat/" + (mData ? 'update' : 'add') + "/auth",
headers: {'token': localStorage.getItem('token')},
data: data.field,
method: 'POST',
success: function (res) {
layer.close(loadIndex);
- if (res.code === 200){
+ if (res.code === 200) {
layer.close(dIndex);
layer.msg(res.msg, {icon: 1});
$(".layui-laypage-btn")[0].click();
- } else if (res.code === 403){
- top.location.href = baseUrl+"/";
- }else {
+ } else if (res.code === 403) {
+ top.location.href = baseUrl + "/";
+ } else {
layer.msg(res.msg, {icon: 2});
}
}
@@ -316,40 +364,41 @@
// 妯℃澘閫夋嫨
form.on('radio(selectTemplateRadio)', function (data) {
$('.template-preview').hide();
- $('#template-preview-'+data.value).show();
+ $('#template-preview-' + data.value).show();
});
// 寮�濮嬫墦鍗�
form.on('submit(doPrint)', function (data) {
var templateNo = data.field.selectTemplate;
$.ajax({
- url: baseUrl+"/mat/print/auth",
+ url: baseUrl + "/mat/print/auth",
headers: {'token': localStorage.getItem('token')},
data: {param: printMatCodeNos},
method: 'POST',
async: false,
success: function (res) {
- if (res.code === 200){
+ if (res.code === 200) {
layer.closeAll();
- for (let i=0;i<res.data.length;i++){
- var templateDom = $("#templatePreview"+templateNo);
+ for (let i = 0; i < res.data.length; i++) {
+ var templateDom = $("#templatePreview" + templateNo);
var className = templateDom.attr("class");
if (className === 'template-barcode') {
- res.data[i]["barcodeUrl"]=baseUrl+"/mac/code/auth?type=1¶m="+res.data[i].matnr;
+ res.data[i]["barcodeUrl"] = baseUrl + "/mac/code/auth?type=1¶m=" + res.data[i].matnr;
} else {
- res.data[i]["barcodeUrl"]=baseUrl+"/mac/code/auth?type=2¶m="+res.data[i].matnr;
+ res.data[i]["barcodeUrl"] = baseUrl + "/mac/code/auth?type=2¶m=" + res.data[i].matnr;
}
}
var tpl = templateDom.html();
var template = Handlebars.compile(tpl);
var html = template(res);
var box = $("#box");
- box.html(html);box.show();
- box.print({mediaPrint:true});
+ box.html(html);
+ box.show();
+ box.print({mediaPrint: true});
box.hide();
- } else if (res.code === 403){
- top.location.href = baseUrl+"/";
- }else {
+ } else if (res.code === 403) {
+ top.location.href = baseUrl + "/";
+ } else {
layer.msg(res.msg)
}
}
@@ -383,8 +432,8 @@
});
// excel瀵煎叆妯℃澘涓嬭浇
-function excelMouldDownload(){
- layer.load(1, {shade: [0.1,'#fff']});
+function excelMouldDownload() {
+ layer.load(1, {shade: [0.1, '#fff']});
location.href = baseUrl + "/mat/excel/import/mould";
layer.closeAll('loading');
}
@@ -393,13 +442,14 @@
function importExcel() {
$("#importExcel").trigger("click");
}
-function upload(obj){
- if(!obj.files) {
+
+function upload(obj) {
+ if (!obj.files) {
return;
}
var file = obj.files[0];
- admin.confirm('纭鍚屾 [' + file.name +'] 鏂囦欢鍚楋紵', function (index) {
- layer.load(1, {shade: [0.1,'#fff']});
+ admin.confirm('纭鍚屾 [' + file.name + '] 鏂囦欢鍚楋紵', function (index) {
+ layer.load(1, {shade: [0.1, '#fff']});
var url = baseUrl + "/mat/excel/import/auth";
var form = new FormData();
form.append("file", file);
@@ -407,30 +457,32 @@
xhr.open("post", url, true); //post鏂瑰紡锛寀rl涓烘湇鍔″櫒璇锋眰鍦板潃锛宼rue 璇ュ弬鏁拌瀹氳姹傛槸鍚﹀紓姝ュ鐞嗐��
xhr.setRequestHeader('token', localStorage.getItem('token'));
xhr.onload = uploadComplete; //璇锋眰瀹屾垚
- xhr.onerror = uploadFailed; //璇锋眰澶辫触
+ xhr.onerror = uploadFailed; //璇锋眰澶辫触
xhr.onloadend = function () { // // 涓婁紶瀹屾垚閲嶇疆鏂囦欢娴�
layer.closeAll('loading');
$("#importExcel").val("");
};
// xhr.upload.onprogress = progressFunction;//銆愪笂浼犺繘搴﹁皟鐢ㄦ柟娉曞疄鐜般��
- xhr.upload.onloadstart = function(){//涓婁紶寮�濮嬫墽琛屾柟娉�
+ xhr.upload.onloadstart = function () {//涓婁紶寮�濮嬫墽琛屾柟娉�
ot = new Date().getTime(); //璁剧疆涓婁紶寮�濮嬫椂闂�
oloaded = 0;//璁剧疆涓婁紶寮�濮嬫椂锛屼互涓婁紶鐨勬枃浠跺ぇ灏忎负0
};
xhr.send(form);
- }, function(index){
+ }, function (index) {
$("#importExcel").val("");
});
}
+
function uploadComplete(evt) {
var res = JSON.parse(evt.target.responseText);
- if(res.code === 200) {
+ if (res.code === 200) {
layer.msg(res.msg, {icon: 1});
loadTree("");
} else {
layer.msg(res.msg, {icon: 2});
}
}
+
function uploadFailed(evt) {
var res = JSON.parse(evt.target.responseText);
layer.msg(res.msg, {icon: 2});
@@ -444,7 +496,7 @@
function tableReload(child) {
var searchData = {};
- $.each($('#search-box [name]').serializeArray(), function() {
+ $.each($('#search-box [name]').serializeArray(), function () {
searchData[this.name] = this.value;
});
(child ? parent.tableIns : tableIns).reload({
@@ -454,14 +506,14 @@
},
done: function (res, curr, count) {
if (res.code === 403) {
- top.location.href = baseUrl+"/";
+ top.location.href = baseUrl + "/";
}
- pageCurr=curr;
+ pageCurr = curr;
if (res.data.length === 0 && count !== 0) {
tableIns.reload({
where: searchData,
page: {
- curr: pageCurr-1
+ curr: pageCurr - 1
}
});
pageCurr -= 1;
diff --git a/src/main/webapp/views/basContainer/basContainer.html b/src/main/webapp/views/basContainer/basContainer.html
index f4ee0cf..8756c3a 100644
--- a/src/main/webapp/views/basContainer/basContainer.html
+++ b/src/main/webapp/views/basContainer/basContainer.html
@@ -22,14 +22,16 @@
<input class="layui-input" type="text" name="id" placeholder="缂栧彿" autocomplete="off">
</div>
</div>
- <div class="layui-inline" style="width: 300px">
+ <div class="layui-inline" style="width: 300px">
<div class="layui-input-inline">
- <input class="layui-input layui-laydate-range" name="create_time" type="text" placeholder="璧峰鏃堕棿 - 缁堟鏃堕棿" autocomplete="off" style="width: 300px">
+ <input class="layui-input layui-laydate-range" name="create_time" type="text"
+ placeholder="璧峰鏃堕棿 - 缁堟鏃堕棿" autocomplete="off" style="width: 300px">
</div>
</div>
<div class="layui-inline">
<div class="layui-input-inline">
- <input class="layui-input" type="text" name="condition" placeholder="璇疯緭鍏�" autocomplete="off">
+ <input class="layui-input" type="text" name="condition" placeholder="璇疯緭鍏�"
+ autocomplete="off">
</div>
</div>
<div class="layui-inline"> 
@@ -51,7 +53,7 @@
<div class="layui-btn-container">
<button class="layui-btn layui-btn-sm" id="btn-add" lay-event="addData">鏂板</button>
<button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-delete" lay-event="deleteData">鍒犻櫎</button>
- <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-export" lay-event="exportData" style="float: right">瀵煎嚭</button>
+ <button class="layui-btn layui-btn-primary layui-btn-sm" id="btn-init" lay-event="init">鍒濆鍖�</button>
</div>
</script>
@@ -78,8 +80,18 @@
<input class="layui-input" name="barcode" placeholder="璇疯緭鍏ュ鍣ㄧ紪鐮�">
</div>
</div>
-
- </div>
+ <div class="layui-form-item">
+ <label class="layui-form-label">瀹瑰櫒绫诲瀷</label>
+ <div class="layui-input-inline">
+ <select name="type">
+ <option style="display: none"></option>
+ <option value="12">鏂欑</option>
+ <option value="13">绗兼</option>
+ <option value="14">鎵樼洏</option>
+ </select>
+ </div>
+ </div>
+ </div>
</div>
<hr class="layui-bg-gray">
<div class="layui-form-item text-right">
@@ -88,5 +100,49 @@
</div>
</form>
</script>
+
+<div id="initContainer" style="margin: auto; display: none">
+ <div class="layui-form layui-form-pane" style="padding: 25px;">
+ <div class="layui-form-item">
+ <div class="layui-inline">
+ <label class="layui-form-label">鍒犻櫎瀹瑰櫒</label>
+ <div class="layui-input-inline" style="width: 100px;">
+ <input type="checkbox" name="flagInit" lay-skin="switch" value="0" lay-text="鍒犻櫎|淇濈暀">
+ </div>
+ </div>
+ </div>
+ <!-- 鎺� -->
+ <div class="layui-form-item">
+ <div class="layui-inline">
+ <label class="layui-form-label">璧锋</label>
+ <div class="layui-input-inline" style="width: 100px;">
+ <input type="text" name="start" autocomplete="off" class="layui-input"
+ lay-verify="required|number">
+ </div>
+ <div class="layui-form-mid">-</div>
+ <div class="layui-input-inline" style="width: 100px;">
+ <input type="text" name="end" autocomplete="off" class="layui-input"
+ lay-verify="required|number">
+ </div>
+ </div>
+ </div>
+ <!-- 瀹瑰櫒绫诲瀷 -->
+ <div class="layui-form-item">
+ <label class="layui-form-label">瀹瑰櫒绫诲瀷</label>
+ <div class="layui-input-inline">
+ <select name="type">
+ <option style="display: none"></option>
+ <option value="12">鏂欑</option>
+ <option value="13">绗兼</option>
+ <option value="14">鎵樼洏</option>
+ </select>
+ </div>
+ </div>
+ <div style="text-align: center; margin-top: 20px">
+ <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button>
+ <button class="layui-btn layui-btn-normal" id="initDo" lay-submit lay-filter="initDo">纭畾</button>
+ </div>
+ </div>
+</div>
</html>
diff --git a/src/main/webapp/views/basContainer/initContainer.html b/src/main/webapp/views/basContainer/initContainer.html
new file mode 100644
index 0000000..ac92aaf
--- /dev/null
+++ b/src/main/webapp/views/basContainer/initContainer.html
@@ -0,0 +1,164 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="utf-8">
+ <title></title>
+ <meta name="renderer" content="webkit">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+ <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+ <link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
+ <link rel="stylesheet" href="../../static/css/cool.css" media="all">
+ <link rel="stylesheet" href="../../static/css/common.css" media="all">
+ <style>
+ </style>
+</head>
+<body>
+<div class="layui-inline" style="width:31%;margin-top: 20px">
+ <label class="layui-form-label">搴� 浣� 鍙凤細</label>
+ <div class="layui-input-inline">
+ <input id="locNo" class="layui-input" type="text" disabled="disabled">
+ </div>
+</div>
+
+<!-- 瀹瑰櫒鍒濆鍖� -->
+<div id="initContainer" style="margin: 20px 0 10px 30px; display: none">
+ <div class="layui-form layui-form-pane">
+ <div class="layui-form-item">
+ <div class="layui-inline">
+ <label class="layui-form-label">鍒犻櫎搴撲綅</label>
+ <div class="layui-input-inline" style="width: 100px;">
+ <input type="checkbox" name="enable" lay-skin="switch" value="1" lay-text="鍒犻櫎|淇濈暀">
+ </div>
+ </div>
+ </div>
+ <div class="layui-form-item">
+ <div class="layui-inline">
+ <label class="layui-form-label"><span class="not-null">*</span>搴撳尯鍚嶇О锛�</label>
+ <div class="layui-input-inline cool-auto-complete">
+ <input id="identifying" name="identifying" class="layui-input" type="text" style="display: none">
+ <input id="identifying$" class="layui-input cool-auto-complete-div" onclick="autoShow(this.id)"
+ type="text" onfocus=this.blur()>
+ <div class="cool-auto-complete-window">
+ <input class="cool-auto-complete-window-input" data-key="basAreasQueryBywhsType"
+ onkeyup="autoLoad(this.getAttribute('data-key'))">
+ <select class="cool-auto-complete-window-select" data-key="basAreasQueryBywhsTypeSelect"
+ onchange="confirmed(this.getAttribute('data-key'))" multiple="multiple">
+ </select>
+ </div>
+ </div>
+ </div>
+ </div>
+ <!-- 鎺� -->
+ <div class="layui-form-item">
+ <div class="layui-inline">
+ <label class="layui-form-label">璧锋鎺�</label>
+ <div class="layui-input-inline" style="width: 100px;">
+ <input type="text" name="startRow" autocomplete="off" class="layui-input"
+ lay-verify="required|number">
+ </div>
+ <div class="layui-form-mid">-</div>
+ <div class="layui-input-inline" style="width: 100px;">
+ <input type="text" name="endRow" autocomplete="off" class="layui-input"
+ lay-verify="required|number">
+ </div>
+ </div>
+ </div>
+ <!-- 鍒� -->
+ <div class="layui-form-item">
+ <div class="layui-inline">
+ <label class="layui-form-label">璧锋鍒�</label>
+ <div class="layui-input-inline" style="width: 100px;">
+ <input type="text" name="startBay" autocomplete="off" class="layui-input"
+ lay-verify="required|number">
+ </div>
+ <div class="layui-form-mid">-</div>
+ <div class="layui-input-inline" style="width: 100px;">
+ <input type="text" name="endBay" autocomplete="off" class="layui-input"
+ lay-verify="required|number">
+ </div>
+ </div>
+ </div>
+ <!-- 灞� -->
+ <div class="layui-form-item">
+ <div class="layui-inline">
+ <label class="layui-form-label">璧锋灞�</label>
+ <div class="layui-input-inline" style="width: 100px;">
+ <input type="text" name="startLev" autocomplete="off" class="layui-input"
+ lay-verify="required|number">
+ </div>
+ <div class="layui-form-mid">-</div>
+ <div class="layui-input-inline" style="width: 100px;">
+ <input type="text" name="endLev" autocomplete="off" class="layui-input"
+ lay-verify="required|number">
+ </div>
+ </div>
+ </div>
+ <div class="layui-form-item">
+ <label class="layui-form-label">鍫嗗灈鏈烘暟閲�</label>
+ <div class="layui-input-inline">
+ <input type="text" name="crnAmount" lay-verify="required|number" autocomplete="off" class="layui-input">
+ </div>
+ </div>
+ <div class="layui-form-item">
+ <div class="layui-inline">
+ <label class="layui-form-label">璧峰鍫嗗灈鏈�</label>
+ <div class="layui-input-inline">
+ <input type="text" name="staCrn" autocomplete="off" class="layui-input" lay-verify="number">
+ </div>
+ </div>
+ </div>
+ <!-- 搴撲綅绫诲瀷 -->
+ <div class="layui-form-item">
+ <label class="layui-form-label">楂樹綆绫诲瀷</label>
+ <div class="layui-input-inline">
+ <select name="locType1">
+ <option style="display: none"></option>
+ <option value="0">鏈煡</option>
+ <option value="1">浣庡簱浣�</option>
+ <option value="2">楂樺簱浣�</option>
+ </select>
+ </div>
+ </div>
+ <div class="layui-form-item">
+ <label class="layui-form-label">瀹界獎绫诲瀷</label>
+ <div class="layui-input-inline">
+ <select name="locType2">
+ <option style="display: none"></option>
+ <option value="0">鏈煡</option>
+ <option value="1">绐勫簱浣�</option>
+ <option value="2">瀹藉簱浣�</option>
+ </select>
+ </div>
+ </div>
+ <div class="layui-form-item">
+ <label class="layui-form-label">杞婚噸绫诲瀷</label>
+ <div class="layui-input-inline">
+ <select name="locType3">
+ <option style="display: none"></option>
+ <option value="0">鏈煡</option>
+ <option value="1">杞诲簱浣�</option>
+ <option value="2">閲嶅簱浣�</option>
+ </select>
+ </div>
+ </div>
+ <div style="text-align: center; margin-top: 20px">
+ <button class="layui-btn layui-btn-radius layui-btn-normal" id="initDo" lay-submit lay-filter="initDo">
+ 纭畾
+ </button>
+ </div>
+ </div>
+</div>
+
+
+</body>
+<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
+<script type="text/javascript" src="../../static/js/locMast/locMast.js" charset="utf-8"></script>
+<script type="text/javascript">
+
+
+</script>
+
+</html>
\ No newline at end of file
diff --git a/src/main/webapp/views/mat/mat.html b/src/main/webapp/views/mat/mat.html
index 6cdad50..19ed4fb 100644
--- a/src/main/webapp/views/mat/mat.html
+++ b/src/main/webapp/views/mat/mat.html
@@ -127,6 +127,7 @@
<div class="layui-btn-container">
<button class="layui-btn layui-btn-sm" id="btn-print-batch" lay-event="btnPrintBatch">鎵归噺鎵撳嵃</button>
<button class="layui-btn layui-btn-sm layui-btn-normal" id="btn-add" lay-event="addData">鏂板</button>
+ <button class="layui-btn layui-btn-sm" id="btn-print-batch" lay-event="batchModifties">鎵归噺淇敼</button>
<button class="layui-btn layui-btn-sm layui-btn-danger" id="btn-delete" lay-event="deleteData">鍒犻櫎</button>
<!-- 鍟嗗搧/鐗╂枡 鏁版嵁涓績 -->
<div class="dropdown-menu" style="float: right">
@@ -181,46 +182,44 @@
<input name="updateTime$" type="hidden">
<input name="updateBy" type="hidden">
<div class="layui-row">
-
<div class="layui-col-md6">
-
<div class="layui-form-item">
<label class="layui-form-label">鍒嗙被</label>
<div class="layui-input-block">
<div id="tagSel" class="ew-xmselect-tree"></div>
</div>
</div>
-
<div class="layui-form-item">
<label class="layui-form-label layui-form-required">鍟嗗搧鍚嶇О</label>
<div class="layui-input-block">
<input name="maktx" placeholder="璇疯緭鍏ュ晢鍝佸悕绉�" class="layui-input" lay-vertype="tips" lay-verify="required" required="">
</div>
</div>
-
+ <div class="layui-form-item">
+ <label class="layui-form-label layui-form-required">缁勬墭涓婇檺</label>
+ <div class="layui-input-block">
+ <input name="upQty" placeholder="璇疯緭鍏ユ渶澶х粍鎵樻暟閲�" class="layui-input" lay-vertype="tips" lay-verify="required" required="">
+ </div>
+ </div>
<div class="layui-form-item">
<label class="layui-form-label">閰嶇疆</label>
<div class="layui-input-block">
<input name="specs" placeholder="璇疯緭鍏ラ厤缃�" class="layui-input">
</div>
</div>
-
<div class="layui-form-item">
<label class="layui-form-label">鍗曠鍑�閲�</label>
<div class="layui-input-block">
<input name="weight" placeholder="璇疯緭鍏ュ崟绠卞噣閲嶆牸" class="layui-input">
</div>
</div>
-
<div class="layui-form-item">
<label class="layui-form-label">鍗曠浣撶Н</label>
<div class="layui-input-block">
<input name="volume" placeholder="璇疯緭鍏ュ崟绠变綋绉�" class="layui-input">
</div>
</div>
-
</div>
-
<div class="layui-col-md6">
<div class="layui-form-item">
<label class="layui-form-label layui-form-required">鍟嗗搧缂栧彿</label>
@@ -228,35 +227,30 @@
<input id="matnr" name="matnr" placeholder="璇疯緭鍏ュ晢鍝佺紪鍙�" class="layui-input" lay-vertype="tips" lay-verify="required" required="">
</div>
</div>
-
<div class="layui-form-item">
<label class="layui-form-label">瑙勬牸</label>
<div class="layui-input-block">
<input name="specs" placeholder="璇疯緭鍏ヤ唬鐮�" class="layui-input">
</div>
</div>
-
<div class="layui-form-item">
<label class="layui-form-label">澶囨敞</label>
<div class="layui-input-block">
<input name="memo" placeholder="璇疯緭鍏ュ娉�" class="layui-input">
</div>
</div>
-
<div class="layui-form-item">
<label class="layui-form-label">鍗曠姣涢噸</label>
<div class="layui-input-block">
<input name="manLength" placeholder="璇疯緭鍏ュ崟绠辨瘺閲�" class="layui-input">
</div>
</div>
-
<div class="layui-form-item">
<label class="layui-form-label">鍗曠浣撶Н</label>
<div class="layui-input-block">
<input name="threeCode" placeholder="璇疯緭鍏ョ瀛愬昂瀵�" class="layui-input">
</div>
</div>
-
</div>
</div>
<hr class="layui-bg-gray">
@@ -350,6 +344,38 @@
</div>
</div>
+<div id="batchModifties" style="display: none;padding: 40px">
+ <form class="layui-form">
+ <input name="id" type="hidden">
+ <div class="layui-row">
+ <div class="layui-col-md8">
+ <div class="layui-form-item">
+ <label class="layui-form-label">搴撲綅绫诲瀷</label>
+ <div class="layui-input-block">
+ <select name="type">
+ <option style="display: none"></option>
+ <option value="12">鏂欑</option>
+ <option value="13">绗兼</option>
+ <option value="14">鎵樼洏</option>
+ </select>
+ </div>
+ </div>
+ <div class="layui-form-item">
+ <label class="layui-form-label layui-form-required">缁勬墭涓婇檺</label>
+ <div class="layui-input-block">
+ <input name="upQty" placeholder="璇疯緭鍏ユ渶澶х粍鎵樻暟閲�" class="layui-input" lay-vertype="tips" lay-verify="required" required="">
+ </div>
+ </div>
+ </div>
+ </div>
+ <hr class="layui-bg-gray">
+ <div class="layui-form-item text-right">
+ <button class="layui-btn" lay-filter="batchModify" lay-submit="batchModify">淇濆瓨</button>
+ <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button>
+ </div>
+ </form>
+</div>
+
<div id="box" style="display: block"></div>
<!-- 鍒濆鍖栨墦鍗版ā鏉跨殑鏉″舰鐮� -->
--
Gitblit v1.9.1