From 975823f4d07c91a67162f553be9ff4ac25f3d47d Mon Sep 17 00:00:00 2001
From: czkh <czkh@163.com>
Date: 星期四, 06 十一月 2025 13:41:03 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/czkhasrs' into czkhasrs

---
 src/main/webapp/views/locDetl/locDetl.html                         |    4 
 src/main/java/com/zy/system/mapper/UserMapper.java                 |    5 
 src/main/webapp/views/barcodeMatnr/barcodeMatnr.html               |    5 
 src/main/java/com/zy/system/service/UserService.java               |    3 
 src/main/webapp/static/js/mat/mat.js                               |   33 +++++
 src/main/webapp/views/mat/mat.html                                 |    2 
 src/main/java/com/zy/system/service/impl/UserServiceImpl.java      |   10 +
 src/main/webapp/views/barcodeMatnr/barcodeMatnr_clamp.html         |    2 
 src/main/webapp/static/js/locDetl/locDetl.js                       |   57 +++++++++
 src/main/java/com/zy/asrs/entity/ImageView.java                    |   13 ++
 src/main/webapp/static/js/barcodeMatnr/barcodeMatnr.js             |   59 +++++++--
 src/main/java/com/zy/asrs/controller/BarcodeMatnrController.java   |   26 ++++
 src/main/java/com/zy/common/web/AuthController.java                |   13 ++
 src/main/java/com/zy/system/service/impl/UserLoginServiceImpl.java |    8 +
 src/main/java/com/zy/asrs/controller/ImagePreviewController.java   |   66 ++++++++--
 src/main/webapp/views/barcodeMatnr/barcodeMatnr_comb.html          |    2 
 src/main/java/com/zy/system/service/UserLoginService.java          |    3 
 src/main/java/com/zy/common/service/CommonService.java             |   20 ++
 src/main/java/com/zy/system/mapper/UserLoginMapper.java            |    5 
 19 files changed, 294 insertions(+), 42 deletions(-)

diff --git a/src/main/java/com/zy/asrs/controller/BarcodeMatnrController.java b/src/main/java/com/zy/asrs/controller/BarcodeMatnrController.java
index 005327a..97217ac 100644
--- a/src/main/java/com/zy/asrs/controller/BarcodeMatnrController.java
+++ b/src/main/java/com/zy/asrs/controller/BarcodeMatnrController.java
@@ -121,7 +121,7 @@
     /*缁勬墭
     *
     * */
-    @RequestMapping(value = "/barcodeMatnr/add1/auth")
+    @RequestMapping(value = "/barcodeMatnr/comb/auth")
     @ManagerAuth
     public R comb(WaitPakin waitPakin) {
         Mat mat = matService.selectById(waitPakin.getModiUser());
@@ -146,7 +146,7 @@
     /*骞舵澘
     *
     * */
-    @RequestMapping(value = "/barcodeMatnr/add2/auth")
+//    @RequestMapping(value = "/barcodeMatnr/clamp/auth")
     @ManagerAuth
     public R clamp(WaitPakin waitPakin) {
         if (Cools.isEmpty(waitPakin.getBarcode())||Cools.isEmpty(waitPakin.getModiUser())){
@@ -174,4 +174,26 @@
         mobileService.adjustNew(combParam, Boolean.TRUE, getUserId());
         return R.ok("骞舵澘鎴愬姛");
     }
+
+    /*鎵归噺骞舵澘*/
+    @RequestMapping(value = "/barcodeMatnr/clamp/auth")
+    @ManagerAuth
+    public R clamp2(@RequestBody List<MatBarcode> list){
+        if (Cools.isEmpty(list)){
+            return R.error(BaseRes.PARAM);
+        }
+        for (MatBarcode matBarcode : list) {
+            MobileAdjustParam combParam=new MobileAdjustParam();
+            ArrayList<CombParam.CombMat> combMats=new ArrayList<>();
+            CombParam.CombMat combMat=new CombParam.CombMat();
+            combMat.setMatnr(matBarcode.getMatnr());
+            combMat.setMaktx(matBarcode.getMaktx());
+            combMat.setAnfme(1.0);
+            combMats.add(combMat);
+            combParam.setBarcode(matBarcode.getZpallet());
+            combParam.setCombMats(combMats);
+            mobileService.adjustNew(combParam, Boolean.TRUE, getUserId());
+        }
+        return R.ok("骞舵澘鎴愬姛");
+    }
 }
diff --git a/src/main/java/com/zy/asrs/controller/ImagePreviewController.java b/src/main/java/com/zy/asrs/controller/ImagePreviewController.java
index ae763f0..71d1ee4 100644
--- a/src/main/java/com/zy/asrs/controller/ImagePreviewController.java
+++ b/src/main/java/com/zy/asrs/controller/ImagePreviewController.java
@@ -1,10 +1,14 @@
 package com.zy.asrs.controller;
 
+import com.core.common.R;
+import com.sun.prism.Image;
+import com.zy.asrs.entity.ImageView;
 import com.zy.asrs.utils.ImagePreviewUtils;
 import com.zy.common.web.BaseController;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiResponse;
 import io.swagger.annotations.ApiResponses;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -14,50 +18,50 @@
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
 import java.io.IOException;
+import java.nio.file.Files;
 import java.util.*;
 
+@Slf4j
 @RestController
 @RequestMapping()
 public class ImagePreviewController extends BaseController {
     //涓婁紶鍥剧墖
     @ApiResponses({@ApiResponse(code = 200, message = "涓婁紶鎴愬姛"), @ApiResponse(code = 400, message = "涓婁紶澶辫触"), @ApiResponse(code = 500, message = "鏈嶅姟鍣ㄥ唴閮ㄩ敊璇�")})
-    //@RequestMapping(value = "/saveImage", method = RequestMethod.POST)
-    public Map<String, Object> saveImage(@RequestParam("files") MultipartFile[] files) {
-        Map<String, Object> map = new HashMap<>();
+    @RequestMapping(value = "/saveImage", method = RequestMethod.POST)
+    public R saveImage(@RequestParam("files") MultipartFile[] files) {
+//        Map<String, Object> map = new HashMap<>();
         List<String> list = new ArrayList<>();
         for (int i = 0; i < files.length; i++) {
             MultipartFile mfile = files[i];
             //鑾峰彇鏂囦欢鍚庣紑
             String suffixName = ImagePreviewUtils.getSaveImagePath(mfile);
             //鐢熸垚鏂版枃浠跺悕绉�
-            String newFileName = ImagePreviewUtils.getNewImageFileName(suffixName);
+            //String newFileName = ImagePreviewUtils.getNewImageFileName(suffixName);
             //淇濆瓨鏂囦欢
-            File file = new File(ImagePreviewUtils.getNewImagePath(newFileName));
+            File file = new File(ImagePreviewUtils.getNewImagePath(mfile.getOriginalFilename()));
             boolean state = ImagePreviewUtils.saveImage(mfile, file);
             if (state) {
 //                 list.add(ImageUtil.getNewImagePath(newFileName));
                 //淇濆瓨鏁版嵁搴撶殑鍥剧墖璺緞涓�  鐩稿璺緞
-                list.add("uploadimage/" + newFileName);
+                list.add("uploadimage/" + mfile.getOriginalFilename());
             }
         }
-        map.put("imgList", list);
-        return map;
+//        map.put("imgList", list);
+        return R.ok("涓婁紶鎴愬姛");
 
     }
 
     //棰勮鍥剧墖
-    //@RequestMapping("previewImage")
+    @RequestMapping("/previewImage")
     @ApiOperation(value = "鏍规嵁鏂囦欢鍚嶅疄鐜伴瑙堝姛鑳�")
-    public void previewFile(
-            HttpServletResponse response) throws IOException {
-        showImg("D:\\"+"images\\"+"20251022efda188c-56b3-4c38-9940-78d0b61b43a1.png", response);
-    }
-
-    public static void showImg(String path, HttpServletResponse response){
-        if(path!=null&&!path.equals("")){
+    public String previewFile(
+            HttpServletResponse response,String maktx) throws IOException {
+//        String[] s = matnr.split("__");
+        showImg("D:\\"+"images\\"+maktx+".png", response,maktx);
+        if("D:\\"+"images\\"+maktx+".png"!=null){
 
             try {
-                FileInputStream fis = new FileInputStream(path);
+                FileInputStream fis = new FileInputStream("D:\\"+"images\\"+maktx+".png");
                 ServletOutputStream os = response.getOutputStream();
 
                 byte [] b = new byte[1024*8];
@@ -66,9 +70,37 @@
                 }
             } catch (FileNotFoundException e) {
                 e.printStackTrace();
+                return "璇ョ畝鍥句笉瀛樺湪锛岃涓婁紶";
             } catch (IOException e) {
                 e.printStackTrace();
             }
         }
+        return "";
+    }
+
+    public static void showImg(String path, HttpServletResponse response,String maktx){
+
+    }
+    public static R showImgToBase64(String path, HttpServletResponse response,String maktx){
+            byte[] imageBytes = null;
+            try {
+                File file =new File(path);
+                imageBytes = Files.readAllBytes(file.toPath());
+            }catch (IOException e){
+                e.printStackTrace();
+                return null;
+            }
+            String pics = Base64.getEncoder().encodeToString(imageBytes);
+            List<String> list = new ArrayList<>();
+            List<ImageView> imageViewList = new ArrayList<>();
+            ImageView imageView = new ImageView();
+            //String s = "http://192.168.0.2/image/"+pics+".jpg";
+            list.add(pics);
+            imageView.setPics(list);
+            imageView.setMaktx(maktx);
+            imageViewList.add(imageView);
+            //log.info(s);
+            log.info(pics);
+            return R.ok().add(imageViewList);
     }
 }
diff --git a/src/main/java/com/zy/asrs/entity/ImageView.java b/src/main/java/com/zy/asrs/entity/ImageView.java
new file mode 100644
index 0000000..05b57a6
--- /dev/null
+++ b/src/main/java/com/zy/asrs/entity/ImageView.java
@@ -0,0 +1,13 @@
+package com.zy.asrs.entity;
+
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class ImageView {
+    //鍥剧墖鐨刡ase64
+    private List<String> pics;
+
+    private String maktx;
+}
diff --git a/src/main/java/com/zy/common/service/CommonService.java b/src/main/java/com/zy/common/service/CommonService.java
index 02c56b1..2baab4d 100644
--- a/src/main/java/com/zy/common/service/CommonService.java
+++ b/src/main/java/com/zy/common/service/CommonService.java
@@ -338,12 +338,26 @@
                     continue;
                 }
                 String shallowLoc = Utils.getDeepLoc(slaveProperties, locMast1.getLocNo());
-                LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", shallowLoc).eq("loc_sts", "O"));
-                //LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", locMast1.getLocNo()).eq("loc_sts", "O"));
-                if (Cools.isEmpty(locMast2)) {
+                LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", shallowLoc));
+                if (Cools.isEmpty(locMast2)){
+                    continue;
+                }
+                if (locMast2.getLocSts().equals("P")||locMast2.getLocSts().equals("Q")||locMast2.getLocSts().equals("R")||locMast2.getLocSts().equals("S")){
+                    continue;
+                }
+                if (!Cools.isEmpty(locMast2)&&locMast2.getLocSts().equals("O")){
+                    locMast = locMast2;
+                    break;
+                }
+                if (!Cools.isEmpty(locMast2)&&(locMast2.getLocSts().equals("F")||locMast2.getLocSts().equals("D"))){
                     locMast = locMast1;
                     break;
                 }
+//                LocMast locMast2 = locMastService.selectOne(new EntityWrapper<LocMast>().eq("loc_no", shallowLoc).eq("loc_sts", "O"));
+//                if (Cools.isEmpty(locMast2)) {
+//                    locMast = locMast1;
+//                    break;
+//                }
             }
         }
 
diff --git a/src/main/java/com/zy/common/web/AuthController.java b/src/main/java/com/zy/common/web/AuthController.java
index c8bca4a..173de67 100644
--- a/src/main/java/com/zy/common/web/AuthController.java
+++ b/src/main/java/com/zy/common/web/AuthController.java
@@ -18,6 +18,7 @@
 import com.zy.system.service.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
+import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.*;
 
@@ -382,4 +383,16 @@
         return R.ok("婵�娲绘垚鍔燂紝鏈夋晥鏈熻嚦"+DateUtils.convert(exprTime));
     }
 
+//    @Scheduled(cron = "*/30 * * * * *")
+//    public void deleteToken(){
+//        List<User> userList = userService.selectAll();
+//        for (User user : userList) {
+//           UserLogin userLogin = userLoginService.selectByUserId(user.getId());
+//            if (System.currentTimeMillis() - userLogin.getCreateTime().getTime() > 30){
+//                    userLoginService.delete(new EntityWrapper<UserLogin>().eq("user_id", userLogin.getId()));
+//                }
+//        }
+//    }
+
+
 }
diff --git a/src/main/java/com/zy/system/mapper/UserLoginMapper.java b/src/main/java/com/zy/system/mapper/UserLoginMapper.java
index b275758..fc37f41 100644
--- a/src/main/java/com/zy/system/mapper/UserLoginMapper.java
+++ b/src/main/java/com/zy/system/mapper/UserLoginMapper.java
@@ -6,6 +6,8 @@
 import org.apache.ibatis.annotations.Select;
 import org.springframework.stereotype.Repository;
 
+import java.util.List;
+
 @Mapper
 @Repository
 public interface UserLoginMapper extends BaseMapper<UserLogin> {
@@ -13,4 +15,7 @@
     @Select("select count(1) from sys_user_login where yearweek(date_format(create_time,'%Y-%m-%d')) = yearweek(now())")
     int selectCountByCurrentWeek();
 
+    @Select("select * from sys_user_login where user_id = #{userId}")
+    UserLogin selectByUserId(Long id);
+
 }
diff --git a/src/main/java/com/zy/system/mapper/UserMapper.java b/src/main/java/com/zy/system/mapper/UserMapper.java
index 0e40b22..0230106 100644
--- a/src/main/java/com/zy/system/mapper/UserMapper.java
+++ b/src/main/java/com/zy/system/mapper/UserMapper.java
@@ -3,10 +3,15 @@
 import com.baomidou.mybatisplus.mapper.BaseMapper;
 import com.zy.system.entity.User;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
 import org.springframework.stereotype.Repository;
+
+import java.util.List;
 
 @Mapper
 @Repository
 public interface UserMapper extends BaseMapper<User> {
 
+    @Select("select * from sys_user;")
+    List<User> selectAll();
 }
diff --git a/src/main/java/com/zy/system/service/UserLoginService.java b/src/main/java/com/zy/system/service/UserLoginService.java
index 8bfa7b0..6def4b3 100644
--- a/src/main/java/com/zy/system/service/UserLoginService.java
+++ b/src/main/java/com/zy/system/service/UserLoginService.java
@@ -3,8 +3,11 @@
 import com.baomidou.mybatisplus.service.IService;
 import com.zy.system.entity.UserLogin;
 
+import java.util.List;
+
 public interface UserLoginService extends IService<UserLogin> {
 
     int selectCountByCurrentWeek();
 
+    UserLogin selectByUserId(Long id);
 }
diff --git a/src/main/java/com/zy/system/service/UserService.java b/src/main/java/com/zy/system/service/UserService.java
index adf1253..262fba3 100644
--- a/src/main/java/com/zy/system/service/UserService.java
+++ b/src/main/java/com/zy/system/service/UserService.java
@@ -3,6 +3,9 @@
 import com.baomidou.mybatisplus.service.IService;
 import com.zy.system.entity.User;
 
+import java.util.List;
+
 public interface UserService extends IService<User> {
 
+    List<User> selectAll();
 }
diff --git a/src/main/java/com/zy/system/service/impl/UserLoginServiceImpl.java b/src/main/java/com/zy/system/service/impl/UserLoginServiceImpl.java
index ebe5908..282b1f9 100644
--- a/src/main/java/com/zy/system/service/impl/UserLoginServiceImpl.java
+++ b/src/main/java/com/zy/system/service/impl/UserLoginServiceImpl.java
@@ -7,6 +7,9 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.Collections;
+import java.util.List;
+
 @Service("userLoginService")
 public class UserLoginServiceImpl extends ServiceImpl<UserLoginMapper, UserLogin> implements UserLoginService {
 
@@ -17,4 +20,9 @@
     public int selectCountByCurrentWeek() {
         return userLoginMapper.selectCountByCurrentWeek();
     }
+
+    @Override
+    public UserLogin selectByUserId(Long id) {
+        return userLoginMapper.selectByUserId(id);
+    }
 }
diff --git a/src/main/java/com/zy/system/service/impl/UserServiceImpl.java b/src/main/java/com/zy/system/service/impl/UserServiceImpl.java
index 67c0ce4..30214b2 100644
--- a/src/main/java/com/zy/system/service/impl/UserServiceImpl.java
+++ b/src/main/java/com/zy/system/service/impl/UserServiceImpl.java
@@ -4,9 +4,19 @@
 import com.zy.system.entity.User;
 import com.zy.system.mapper.UserMapper;
 import com.zy.system.service.UserService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+
+import java.util.Collections;
+import java.util.List;
 
 @Service("userService")
 public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
+    @Autowired
+    private UserMapper userMapper;
 
+    @Override
+    public List<User> selectAll() {
+        return userMapper.selectAll();
+    }
 }
diff --git a/src/main/webapp/static/js/barcodeMatnr/barcodeMatnr.js b/src/main/webapp/static/js/barcodeMatnr/barcodeMatnr.js
index b8471e1..c17bedc 100644
--- a/src/main/webapp/static/js/barcodeMatnr/barcodeMatnr.js
+++ b/src/main/webapp/static/js/barcodeMatnr/barcodeMatnr.js
@@ -185,19 +185,46 @@
                     });
                 }
                 break;
+            // case 'clampData':
+            //     layer.open({
+            //         type: 2,
+            //         title: '骞舵澘',
+            //         maxmin: true,
+            //         area: [top.detailWidth, top.detailHeight],
+            //         content: 'barcodeMatnr_clamp.html',
+            //         success: function(layero, index){
+            //             layer.getChildFrame('#data-detail-submit-edit', index).hide();
+            //             clearFormVal(layer.getChildFrame('#detail', index));
+            //             layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"});
+            //         }
+            //     });
+            //     break;
             case 'clampData':
-                layer.open({
-                    type: 2,
-                    title: '骞舵澘',
-                    maxmin: true,
-                    area: [top.detailWidth, top.detailHeight],
-                    content: 'barcodeMatnr_clamp.html',
-                    success: function(layero, index){
-                        layer.getChildFrame('#data-detail-submit-edit', index).hide();
-                        clearFormVal(layer.getChildFrame('#detail', index));
-                        layer.iframeAuto(index);layer.style(index, {top: (($(window).height()-layer.getChildFrame('#data-detail', index).height())/3)+"px"});
-                    }
-                });
+                if (checkStatus.data.length === 0){
+                    layer.msg('璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�', {icon: 2});
+                } else {
+                    layer.confirm('纭畾骞舵澘鍚�', function(){
+                        $.ajax({
+                            url: baseUrl+"/barcodeMatnr/clamp/auth",
+                            headers: {'token': localStorage.getItem('token')},
+                            data: JSON.stringify(checkStatus.data),
+                            contentType:'application/json;charset=UTF-8',
+                            method: 'POST',
+                            traditional:true,
+                            success: function (res) {
+                                if (res.code === 200){
+                                    layer.closeAll();
+                                    tableReload(false);
+                                    layer.msg(res.msg, {icon: 1})
+                                } else if (res.code === 403){
+                                    top.location.href = baseUrl+"/";
+                                } else {
+                                    layer.msg(res.msg, {icon: 2})
+                                }
+                            }
+                        })
+                    });
+                }
                 break;
             case 'exportData':
                 layer.confirm('纭畾瀵煎嚭Excel鍚�', {shadeClose: true}, function(){
@@ -367,20 +394,20 @@
         method("add");
     });
 
-    form.on('submit(save1)', function () {
+    form.on('submit(comb)', function () {
         if (banMsg != null){
             layer.msg(banMsg);
             return;
         }
-        method("add1");
+        method("comb");
     });
 
-    form.on('submit(save2)', function () {
+    form.on('submit(clamp)', function () {
         if (banMsg != null){
             layer.msg(banMsg);
             return;
         }
-        method("add2");
+        method("clamp");
     });
 
     // 鏁版嵁淇敼鍔ㄤ綔
diff --git a/src/main/webapp/static/js/locDetl/locDetl.js b/src/main/webapp/static/js/locDetl/locDetl.js
index e54a513..2aca998 100644
--- a/src/main/webapp/static/js/locDetl/locDetl.js
+++ b/src/main/webapp/static/js/locDetl/locDetl.js
@@ -17,7 +17,20 @@
         ,{field: 'brand', align: 'center',title: '鍝佺墝', hide: true}
         ,{field: 'unit', align: 'center',title: '鍗曚綅', hide: true}
         ,{field: 'price', align: 'center',title: '鍗曚环', hide: true}
-        ,{field: 'sku', align: 'center',title: '绠�鍥�', hide: true}
+        //,{fixed: 'right', title:'绠�鍥�', align: 'center', toolbar: '#operate1', width: 300}
+        // ,{fixed: 'right', align: 'center',title: '绠�鍥�', templet:function(row){
+        //         var html = "<img  src='http://127.0.0.1:8080/czkhasrs/previewImage?maktx=" +row.maktx+"'/>";
+        //         return html;
+        // }}
+
+
+
+        // ,{fixed: 'right', align: 'center', title: '绠�鍥�', templet: function(row){
+        //         var html = "<a href='http://127.0.0.1:8080/czkhasrs/previewImage?maktx=" + row.maktx + "' target='_blank' rel='noopener noreferrer'>鏌ョ湅绠�鍥�</a>";
+        //         return html;
+        // }}
+
+
         ,{field: 'units', align: 'center',title: '鍗曚綅閲�', hide: true}
         ,{field: 'barcode', align: 'center',title: '鏉$爜', hide: true}
         ,{field: 'origin', align: 'center',title: '浜у湴', hide: true}
@@ -371,6 +384,48 @@
                    });
                 }
                 break;
+            // 鏌ョ湅绠�鍥�
+            // case 'showPic':
+            //     let imgHtml = '<div style="height:100%;display: flex;justify-content: space-around;align-items: center;flex-wrap: wrap;">';
+            //     $.ajax({
+            //         url: baseUrl+"/previewImage",
+            //         headers: {'token': localStorage.getItem('token')},
+            //         data: {
+            //             maktx: data.maktx
+            //         },
+            //         method: 'GET',
+            //         traditional:true,
+            //         success: function (res) {
+            //             if (res.code === 200){
+            //                 res.data.forEach((item) => {
+            //                     let maktx = item.maktx;
+            //                     let pics = item.pics;
+            //                     pics.forEach((pic) => {
+            //                         let tmp = '<div><div><img width="600" src="' + pic + '" /></div><div>' + maktx + '</div></div>';
+            //                         imgHtml += tmp;
+            //                     })
+            //                 })
+            //                 imgHtml += "</div>";
+            //
+            //                 layer.open({
+            //                     type: 1,
+            //                     title: '鏌ョ湅绠�鍥�',
+            //                     area: [top.detailWidth, top.detailHeight],
+            //                     shadeClose: true,
+            //                     content: imgHtml,
+            //                     success: function(layero, index){
+            //                     }
+            //                 });
+            //
+            //             } else if (res.code === 403){
+            //                 top.location.href = baseUrl+"/";
+            //             } else {
+            //                 layer.msg(res.msg)
+            //             }
+            //         }
+            //     });
+            //     console.log(imgHtml)
+            //     break;
 
         }
     });
diff --git a/src/main/webapp/static/js/mat/mat.js b/src/main/webapp/static/js/mat/mat.js
index 68492d2..840d810 100644
--- a/src/main/webapp/static/js/mat/mat.js
+++ b/src/main/webapp/static/js/mat/mat.js
@@ -461,6 +461,10 @@
 function importExcel() {
     $("#importExcel").trigger("click");
 }
+// 绠�鍥句笂浼�
+function importImage() {
+    $("#importImage").trigger("click");
+}
 function upload(obj){
     if(!obj.files) {
         return;
@@ -490,6 +494,35 @@
         $("#importExcel").val("");
     });
 }
+function uploadImage(obj){
+    if(!obj.files) {
+        return;
+    }
+    var file = obj.files[0];
+    admin.confirm('纭鍚屾 [' + file.name +'] 鏂囦欢鍚楋紵', function (index) {
+        layer.load(1, {shade: [0.1,'#fff']});
+        var url = baseUrl + "/saveImage";
+        var form = new FormData();
+        form.append("files", file);
+        xhr = new XMLHttpRequest();
+        xhr.open("post", url, true); //post鏂瑰紡锛寀rl涓烘湇鍔″櫒璇锋眰鍦板潃锛宼rue 璇ュ弬鏁拌瀹氳姹傛槸鍚﹀紓姝ュ鐞嗐��
+        xhr.setRequestHeader('token', localStorage.getItem('token'));
+        xhr.onload = uploadComplete; //璇锋眰瀹屾垚
+        xhr.onerror =  uploadFailed; //璇锋眰澶辫触
+        xhr.onloadend = function () { // // 涓婁紶瀹屾垚閲嶇疆鏂囦欢娴�
+            layer.closeAll('loading');
+            $("#importImage").val("");
+        };
+        // xhr.upload.onprogress = progressFunction;//銆愪笂浼犺繘搴﹁皟鐢ㄦ柟娉曞疄鐜般��
+        xhr.upload.onloadstart = function(){//涓婁紶寮�濮嬫墽琛屾柟娉�
+            ot = new Date().getTime();   //璁剧疆涓婁紶寮�濮嬫椂闂�
+            oloaded = 0;//璁剧疆涓婁紶寮�濮嬫椂锛屼互涓婁紶鐨勬枃浠跺ぇ灏忎负0
+        };
+        xhr.send(form);
+    }, function(index){
+        $("#importImage").val("");
+    });
+}
 function uploadComplete(evt) {
     var res = JSON.parse(evt.target.responseText);
     if(res.code === 200) {
diff --git a/src/main/webapp/views/barcodeMatnr/barcodeMatnr.html b/src/main/webapp/views/barcodeMatnr/barcodeMatnr.html
index 21efd59..7650d15 100644
--- a/src/main/webapp/views/barcodeMatnr/barcodeMatnr.html
+++ b/src/main/webapp/views/barcodeMatnr/barcodeMatnr.html
@@ -24,6 +24,11 @@
             <input class="layui-input" type="text" name="matnr" placeholder="鍟嗗搧妯″叿鍚嶇О" autocomplete="off">
         </div>
     </div>
+    <div class="layui-inline">
+        <div class="layui-input-inline">
+            <input class="layui-input" type="text" name="specs" placeholder="瑙勬牸" autocomplete="off">
+        </div>
+    </div>
     <!-- 鏃ユ湡鑼冨洿 -->
 <!--    <div class="layui-inline" style="width: 300px">-->
 <!--        <div class="layui-input-inline">-->
diff --git a/src/main/webapp/views/barcodeMatnr/barcodeMatnr_clamp.html b/src/main/webapp/views/barcodeMatnr/barcodeMatnr_clamp.html
index 99f550e..ea9ff0d 100644
--- a/src/main/webapp/views/barcodeMatnr/barcodeMatnr_clamp.html
+++ b/src/main/webapp/views/barcodeMatnr/barcodeMatnr_clamp.html
@@ -112,7 +112,7 @@
         <hr class="layui-bg-gray">
 
         <div id="data-detail-btn" class="layui-btn-container layui-form-item">
-            <div id="data-detail-submit-save" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="save2">淇濆瓨</div>
+            <div id="data-detail-submit-save" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="clamp">淇濆瓨</div>
             <div id="data-detail-submit-edit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="edit">淇敼</div>
             <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">鍏抽棴</div>
         </div>
diff --git a/src/main/webapp/views/barcodeMatnr/barcodeMatnr_comb.html b/src/main/webapp/views/barcodeMatnr/barcodeMatnr_comb.html
index a7ba0bc..4259f44 100644
--- a/src/main/webapp/views/barcodeMatnr/barcodeMatnr_comb.html
+++ b/src/main/webapp/views/barcodeMatnr/barcodeMatnr_comb.html
@@ -112,7 +112,7 @@
         <hr class="layui-bg-gray">
 
         <div id="data-detail-btn" class="layui-btn-container layui-form-item">
-            <div id="data-detail-submit-save" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="save1">淇濆瓨</div>
+            <div id="data-detail-submit-save" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="comb">淇濆瓨</div>
             <div id="data-detail-submit-edit" type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="edit">淇敼</div>
             <div id="data-detail-close" type="button" class="layui-btn" lay-submit lay-filter="close">鍏抽棴</div>
         </div>
diff --git a/src/main/webapp/views/locDetl/locDetl.html b/src/main/webapp/views/locDetl/locDetl.html
index 5c139e9..e6f8062 100644
--- a/src/main/webapp/views/locDetl/locDetl.html
+++ b/src/main/webapp/views/locDetl/locDetl.html
@@ -88,7 +88,9 @@
 <script type="text/html" id="operate">
     <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">璇︽儏</a>
 </script>
-
+<!--<script type="text/html" id="operate1">-->
+<!--    <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="showPic" >鏌ョ湅绠�鍥�</a>-->
+<!--</script>-->
 <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>
diff --git a/src/main/webapp/views/mat/mat.html b/src/main/webapp/views/mat/mat.html
index fc3aeb1..8bb0424 100644
--- a/src/main/webapp/views/mat/mat.html
+++ b/src/main/webapp/views/mat/mat.html
@@ -128,6 +128,8 @@
         <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 layui-btn-danger" id="btn-delete" lay-event="deleteData">鍒犻櫎</button>
+<!--        <button class="layui-btn layui-btn-sm layui-btn-danger"><a onclick="importImage()" style="font-size: 15px"><i class="layui-icon layui-icon-upload"></i>涓婁紶绠�鍥�</a></button>-->
+<!--        <li style="display: none"><input id="importImage" type="file" onchange="uploadImage(this)" ></li>-->
         <!-- 鍟嗗搧/鐗╂枡 鏁版嵁涓績 -->
         <div class="dropdown-menu" style="float: right">
             <button class="layui-btn layui-btn-primary layui-border-black icon-btn layui-btn-sm">&nbsp;鏁版嵁鍚屾 <i class="layui-icon layui-icon-drop"></i></button>

--
Gitblit v1.9.1