From a04453432c9898df83961eaea26dd97b65537f02 Mon Sep 17 00:00:00 2001
From: sgj <1442489573@qq.com>
Date: 星期三, 03 十二月 2025 09:56:34 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 fzzy-igdss-web/src/main/resources/static/inout/out-easy.js                      | 1053 +++++++++++++++
 fzzy-igdss-core/src/main/java/com/fzzy/igds/constant/Constant.java              |   29 
 fzzy-igdss-core/src/main/java/com/fzzy/igds/data/IgdsBaseParam.java             |    9 
 fzzy-igdss-core/src/main/java/com/fzzy/igds/data/InoutParam.java                |   71 +
 fzzy-igdss-core/src/main/java/com/fzzy/igds/mapper/InoutRecordMapper.java       |   12 
 fzzy-igdss-web/src/main/java/com/fzzy/sys/controller/inout/InoutController.java |  206 +++
 fzzy-igdss-web/src/main/java/com/fzzy/sys/manager/common/CommonManager.java     |    7 
 fzzy-igdss-web/src/main/java/com/fzzy/sys/manager/inout/InoutManager.java       |  282 ++++
 fzzy-igdss-web/src/main/resources/templates/inout/out-register.html             |  325 ++++
 fzzy-igdss-web/src/main/resources/static/inout/out-register.js                  |  591 ++++++++
 fzzy-igdss-web/src/main/resources/static/inout/inout-style.css                  |    3 
 fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/InoutRecord.java             |    8 
 fzzy-igdss-core/src/main/java/com/fzzy/igds/service/DicService.java             |   12 
 fzzy-igdss-core/src/main/java/com/fzzy/igds/data/PageResponse.java              |   65 
 fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutRecordService.java     |  227 +++
 fzzy-igdss-core/src/main/java/com/fzzy/igds/constant/RespCodeEnum.java          |   36 
 fzzy-igdss-web/src/main/resources/templates/inout/out-easy.html                 |  983 ++++++++++++++
 17 files changed, 3,904 insertions(+), 15 deletions(-)

diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/constant/Constant.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/constant/Constant.java
index 0d11939..5d74546 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/igds/constant/Constant.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/constant/Constant.java
@@ -77,19 +77,29 @@
      * 缂撳瓨KEY-鍑哄叆搴撻厤缃俊鎭紦瀛�
      */
     public static final String CACHE_INOUT_CONF_LIST = "INOUT_CONF";
-
     public static final String MODEL_KEY_LOGIN_USER = "loginUser";
-
-    // 浠撳簱鍒楄〃
     public static final String MODEL_KEY_DEPOT_LIST = "listDepot";
 
-
-    // 瀹屾垚鐘舵��-鏈畬鎴�
+    /**
+     * 閫氱煡鍗曠姸鎬�
+     */
     public static final String COMPLETE_STATUS_NONE = "NONE";
-    // 鍑哄叆搴撶被鍨�-鍏ュ簱
+    public static final String COMPLETE_STATUS_COMPLETE = "COMPLETE";
+    /**
+     * 鍖栭獙缁撴灉
+     */
+    public static final String STATUS_NONE = "NONE";
+    public static final String STATUS_PASS = "PASS";
+
+    /**
+     * 鍑哄叆搴撶被鍨�
+     */
     public static final String TYPE_IN = "IN";
-    // 鍑哄叆搴撶被鍨�-鍑哄簱
     public static final String TYPE_OUT = "OUT";
+
+    /**
+     * 鍑哄叆搴撴祦绋�
+     */
     // 娴佺▼-鐧昏
     public static final String PROGRESS_REGISTER = "REGISTER";
     // 娴佺▼-鍏ュ簱璐ㄦ
@@ -153,4 +163,9 @@
      * 鏅烘収鍗�
      */
     public static final String CONF_TYPE_80 = "80";
+
+    /**
+     * 缂撳瓨-鍏ュ簱ID
+     */
+    public static final String CACHE_RECORD_ID = "RECORD_ID";
 }
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/constant/RespCodeEnum.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/constant/RespCodeEnum.java
new file mode 100644
index 0000000..1b3448f
--- /dev/null
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/constant/RespCodeEnum.java
@@ -0,0 +1,36 @@
+package com.fzzy.igds.constant;
+
+import lombok.Getter;
+
+/**
+ * @Description
+ * @Author CZT
+ * @Date 2025/11/29 16:33
+ */
+@Getter
+public enum RespCodeEnum {
+
+	/**
+	 *
+	 */
+	CODE_0000("0000", "鎴愬姛"),
+	CODE_1111("1111", "鍚庣鏈嶅姟寮傚父"),
+	CODE_1001("1001","鏁版嵁鏍煎紡鏍¢獙澶辫触"),
+	CODE_1002("1002","璇ュ簲鐢ㄦ棤婵�娲绘巿鏉�"),
+	CODE_1003("1003","璇ュ簲鐢ㄥ凡缁忔巿鏉冩垚鍔�"),
+	CODE_1004("1004","璁惧閫氳澶辫触"),
+	CODE_1005("1005","璇ヨ澶囦笉瀛樺湪"),
+	CODE_1006("1006","褰撳墠鐧诲綍浜哄凡鎺夌嚎"),
+	CODE_1007("1007","璇锋眰鍙傛暟寮傚父"),
+	CODE_1008("1008","娴佺▼涓嶆纭�"),
+	CODE_2000("2000","鍝嶅簲鏁版嵁涓虹┖")
+	;
+
+	private String code;
+	private String msg;
+
+	RespCodeEnum(String code, String msg) {
+		this.code = code;
+		this.msg = msg;
+	}
+}
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/data/IgdsBaseParam.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/data/IgdsBaseParam.java
index 3db8abe..21f23dc 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/igds/data/IgdsBaseParam.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/data/IgdsBaseParam.java
@@ -1,5 +1,6 @@
 package com.fzzy.igds.data;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 
 import java.util.Date;
@@ -19,8 +20,16 @@
 
     private String key;//鑷畾涔夊叧閿瓧
 
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
     private Date start;
 
+    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd", timezone = "GMT+8")
     private Date end;
 
+    private int limit = 10;// LAYUI 涓撶敤锛屾瘡椤垫樉绀虹殑鏉℃暟銆俵aypage灏嗕細鍊熷姪 count 鍜� limit 璁$畻鍑哄垎椤垫暟
+
+    private int curr = 1;// LAYUI 涓撶敤 璧峰椤点�備竴鑸敤浜庡埛鏂扮被鍨嬬殑璺抽〉浠ュ強HASH璺抽〉
+
+    private int page = 1;// 鐩爣椤甸潰
+
 }
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/data/InoutParam.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/data/InoutParam.java
new file mode 100644
index 0000000..90e9de2
--- /dev/null
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/data/InoutParam.java
@@ -0,0 +1,71 @@
+package com.fzzy.igds.data;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import java.util.Date;
+
+/**
+ * @Description 鍑哄叆搴撶殑椤甸潰鍙傛暟瀹氫箟
+ * @Author CZT
+ * @Date 2025/11/29 16:33
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class InoutParam extends IgdsBaseParam {
+
+    public String plateNum;
+
+    private String id;
+
+    private String progress;
+
+    private String type;
+
+    private String foodVariety;
+
+    private String foodType;
+
+    private String checkStatus;
+
+    private String customerName;
+
+    private String recordStatus;
+
+    private String userId;
+
+    private String year;
+
+    private double weight;//閲嶉噺淇℃伅
+
+    private Double deOther;
+
+    private Double fullWeight;
+
+    private String fullWeightUser;
+
+    private Date fullWeightTime;
+
+    private Double emptyWeight;
+
+    private Date emptyWeightTime;
+
+    private Date completeTime;
+
+    private String emptyWeightUser;
+
+    private Double netWeight;
+
+    private Double settleWeight;
+
+    private Double recordWeight;
+
+    private Double price;
+
+    private String settleBizType;
+
+    private String settleTag;
+
+    private Double settleMoney;
+
+    private Date updateTime = new Date();
+}
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/data/PageResponse.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/data/PageResponse.java
new file mode 100644
index 0000000..5a69d20
--- /dev/null
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/data/PageResponse.java
@@ -0,0 +1,65 @@
+package com.fzzy.igds.data;
+
+import com.fzzy.igds.constant.RespCodeEnum;
+import lombok.Data;
+import org.apache.commons.lang3.time.DateFormatUtils;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * @Description 绯荤粺椤甸潰璋冪敤鎺ュ彛锛屽弬鏁拌繑鍥炲璞″皝瑁�
+ * @Author CZT
+ * @Date 2025/11/29 16:33
+ */
+@Data
+public class PageResponse<T> implements Serializable {
+
+    private String DATE_FORMAT_YMDHMS = "yyyy-MM-dd HH:mm:ss";
+
+    /**
+     *
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 鍝嶅簲鐮�
+     */
+    private String code;
+    /**
+     * 鍝嶅簲淇℃伅
+     */
+    private String msg;
+
+    /**
+     * 鍝嶅簲鏃堕棿
+     */
+    private String respDateTime;
+
+    /**
+     * 杩斿洖鏁版嵁
+     */
+    private T data;
+
+    public PageResponse() {
+        super();
+    }
+
+    public PageResponse(String code, String msg) {
+        this.code = code;
+        this.msg = msg;
+    }
+
+    public PageResponse(String code, String msg,  T data) {
+        this.code = code;
+        this.msg = msg;
+        this.data = data;
+        this.respDateTime = DateFormatUtils.format(new Date(), DATE_FORMAT_YMDHMS);
+    }
+
+    public PageResponse(RespCodeEnum code, T data) {
+        this.code = code.getCode();
+        this.data = data;
+        this.msg = code.getMsg();
+        this.respDateTime = DateFormatUtils.format(new Date(), DATE_FORMAT_YMDHMS);
+    }
+}
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/InoutRecord.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/InoutRecord.java
index 8ea7bb7..87918b3 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/InoutRecord.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/domain/InoutRecord.java
@@ -101,8 +101,8 @@
     @TableField("food_variety")
     private String foodVariety;
 
-    @Column(name = "food_locationId", columnDefinition = "varchar(40) COMMENT '绮浜у湴'")
-    @TableField("food_locationId")
+    @Column(name = "food_location_id", columnDefinition = "varchar(40) COMMENT '绮浜у湴'")
+    @TableField("food_location_id")
     private String foodLocationId;
 
     @Column(name = "food_location", columnDefinition = "varchar(40) COMMENT '绮浜у湴'")
@@ -118,9 +118,9 @@
     @TableField("food_level")
     private String foodLevel;
 
-    @Column(name = "check_status", columnDefinition = "varchar(10) COMMENT '璐ㄦ缁撴灉'")
+    @Column(name = "check_status", columnDefinition = "varchar(10) COMMENT '鍖栭獙鐘舵��'")
     @TableField("check_status")
-    private String checkStatus = "NONE";
+    private String checkStatus = Constant.STATUS_NONE;
 
     @Column(name = "check_user", columnDefinition = "varchar(40) COMMENT '璐ㄦ浜�'")
     @TableField("check_user")
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/mapper/InoutRecordMapper.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/mapper/InoutRecordMapper.java
new file mode 100644
index 0000000..3a4b62c
--- /dev/null
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/mapper/InoutRecordMapper.java
@@ -0,0 +1,12 @@
+package com.fzzy.igds.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fzzy.igds.domain.InoutRecord;
+
+/**
+ * @Description
+ * @Author CZT
+ * @Date 2025/12/2 10:36
+ */
+public interface InoutRecordMapper extends BaseMapper<InoutRecord> {
+}
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/DicService.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/DicService.java
index 4f0794c..c682d83 100644
--- a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/DicService.java
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/DicService.java
@@ -370,4 +370,16 @@
         list.add(new SysDictData("涓嬮敟褰�", Constant.CABLE_CONE_2));
         return list;
     }
+
+    /**
+     *
+     * @return
+     */
+    public List<SysDictData> getInoutType() {
+
+        List<SysDictData> list = new ArrayList<SysDictData>();
+        list.add(new SysDictData("鍏ュ簱", Constant.TYPE_IN));
+        list.add(new SysDictData("鍑哄簱", Constant.TYPE_OUT));
+        return list;
+    }
 }
diff --git a/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutRecordService.java b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutRecordService.java
new file mode 100644
index 0000000..007066b
--- /dev/null
+++ b/fzzy-igdss-core/src/main/java/com/fzzy/igds/service/InoutRecordService.java
@@ -0,0 +1,227 @@
+package com.fzzy.igds.service;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fzzy.igds.constant.Constant;
+import com.fzzy.igds.constant.RedisConst;
+import com.fzzy.igds.data.InoutParam;
+import com.fzzy.igds.domain.InoutRecord;
+import com.fzzy.igds.mapper.InoutRecordMapper;
+import com.fzzy.igds.utils.ContextUtil;
+import com.ruoyi.common.core.redis.RedisCache;
+import com.ruoyi.common.utils.StringUtils;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.time.DateFormatUtils;
+import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @Description
+ * @Author CZT
+ * @Date 2025/12/2 10:36
+ */
+@Slf4j
+@Service
+public class InoutRecordService {
+
+    @Resource
+    private InoutRecordMapper inoutRecordMapper;
+    @Resource
+    private RedisCache redisCache;
+
+    /**
+     * 鍒嗛〉鏌ヨ鏁版嵁
+     * @param page
+     * @param param
+     */
+    public void listPageInout(Page<InoutRecord> page, InoutParam param) {
+        QueryWrapper<InoutRecord> queryWrapper = new QueryWrapper<>();
+
+        param.setCompanyId(ContextUtil.getCompanyId());
+        param.setDeptId(ContextUtil.subDeptId(null));
+        queryWrapper.eq("company_id", param.getCompanyId());
+        queryWrapper.eq("dept_id", param.getDeptId());
+
+        if (StringUtils.isNotBlank(param.getDepotId())) {
+            queryWrapper.eq("depot_id", param.getDepotId());
+        }
+        if (StringUtils.isNotBlank(param.getType())) {
+            queryWrapper.eq("type", param.getType());
+        }
+        queryWrapper.orderByDesc("create_time");
+        inoutRecordMapper.selectPage(page, queryWrapper);
+    }
+
+
+    /**
+     * 鏍规嵁id鏌ヨ鏁版嵁
+     * @param id
+     * @return
+     */
+    public InoutRecord selectById(String id) {
+        if(StringUtils.isBlank(id)){
+            return null;
+
+        }
+        return inoutRecordMapper.selectById(id);
+    }
+
+    /**
+     * 楠岃瘉杞︾墝鍙锋槸鍚﹀湪娴佺▼涓�
+     * @param companyId
+     * @param plateNum
+     * @return
+     */
+    public int checkExist(String companyId, String plateNum) {
+        if (StringUtils.isEmpty(companyId)) {
+            companyId = ContextUtil.getCompanyId();
+        }
+        QueryWrapper<InoutRecord> queryWrapper = new QueryWrapper<>();
+
+        queryWrapper.eq("company_id", companyId);
+        queryWrapper.eq("plate_num", plateNum);
+        queryWrapper.ne("progress", Constant.PROGRESS_RECORD);
+        queryWrapper.eq("record_status", "NORMAL");
+
+        return inoutRecordMapper.selectCount(queryWrapper);
+    }
+
+    /**
+     * 鏂板鍑哄叆搴撹褰�
+     *
+     * @param data
+     * @return
+     */
+    public int addInoutRecord(InoutRecord data) {
+
+        if (StringUtils.isBlank(data.getId())) {
+            String id = this.createId(data.getRegisterTime(), data.getCompanyId());
+            if (Constant.TYPE_IN.equals(data.getType())) {
+                data.setId("R_" + id);
+            } else if (Constant.TYPE_OUT.equals(data.getType())) {
+                data.setId("C_" + id);
+            }else {
+                data.setId("M_" + id);
+            }
+        }
+        data.setCreateBy(ContextUtil.getLoginUserName());
+        data.setCreateTime(new Date());
+        data.setUpdateBy(ContextUtil.getLoginUserName());
+        data.setUpdateTime(new Date());
+
+        int num = inoutRecordMapper.insert(data);
+        //TODO 鏇存柊缂撳瓨
+        //updateInoutCache(data);
+        return num;
+        
+    }
+
+    /**
+     * 鏂板鍑哄叆搴撹褰�
+     *
+     * @param data
+     * @return
+     */
+    public int updateInoutRecord(InoutRecord data) {
+
+        data.setUpdateBy(ContextUtil.getLoginUserName());
+        data.setUpdateTime(new Date());
+
+        int num = inoutRecordMapper.updateById(data);
+        //TODO 鏇存柊缂撳瓨
+        //updateInoutCache(data);
+        return num;
+
+    }
+
+    /**
+     * 鍑哄叆搴撴祦绋婭D鍒涘缓 202001030001 202001030001
+     * @param registerTime
+     * @param companyId
+     * @return
+     */
+    public String createId(Date registerTime, String companyId) {
+
+        // 鏃堕棿鎴虫爣绛�
+        String timeKey = DateFormatUtils.format(registerTime, "yyyyMMdd");
+
+        // 浠庣紦瀛樹腑鑾峰彇宸叉湁鐨勭粍缁囩紪鐮�
+        String cacheKey = RedisConst.buildKey(companyId, Constant.CACHE_RECORD_ID);
+
+        String cacheId = (String) redisCache.getCacheObject(cacheKey);
+
+        if (null != cacheId && cacheId.indexOf(timeKey) >= 0) {
+            String temp = cacheId.substring(cacheId.length() - 4);
+            Integer i = Integer.valueOf(temp);
+            i++;
+            temp = String.valueOf(i);
+            if (temp.length() == 1) {
+                cacheId = timeKey + "000" + temp;
+            }
+            if (temp.length() == 2) {
+                cacheId = timeKey + "00" + temp;
+            }
+            if (temp.length() == 3) {
+                cacheId = timeKey + "0" + temp;
+            }
+            if (temp.length() == 4) {
+                cacheId = timeKey + temp;
+            }
+        } else {
+            String result = this.getMaxId(companyId, timeKey);
+            if (null == result) {
+                cacheId = timeKey + "0001";
+            } else {
+                // 鑾峰彇鏈�鍚庡洓浣�
+                int i = Integer.valueOf(result.substring(result.length() - 4));
+                i++;
+                String temp = String.valueOf(i);
+                if (temp.length() == 1) {
+                    cacheId = timeKey + "000" + temp;
+                }
+                if (temp.length() == 2) {
+                    cacheId = timeKey + "00" + temp;
+                }
+                if (temp.length() == 3) {
+                    cacheId = timeKey + "0" + temp;
+                }
+                if (temp.length() == 4) {
+                    cacheId = timeKey + temp;
+                }
+            }
+        }
+
+        // 鏇存柊缂撳瓨
+        redisCache.setCacheObject(cacheKey, cacheId);
+
+        return cacheId;
+    }
+
+    /**
+     * 鏌ヨ鏈�澶d鍙凤紝涓虹┖鍒欒繑鍥瀗ull
+     * @param companyId
+     * @param timeKey
+     * @return
+     */
+    public String getMaxId(String companyId, String timeKey) {
+
+        if (StringUtils.isEmpty(companyId)) {
+            companyId = ContextUtil.getCompanyId();
+        }
+        QueryWrapper<InoutRecord> queryWrapper = new QueryWrapper<>();
+
+        queryWrapper.eq("company_id", companyId);
+        queryWrapper.like("id", timeKey);
+        queryWrapper.orderByDesc("create_time");
+
+        List<InoutRecord> inoutRecords = inoutRecordMapper.selectList(queryWrapper);
+        if(null == inoutRecords || inoutRecords.isEmpty()){
+            return null;
+        }else {
+            return inoutRecords.get(0).getId();
+        }
+    }
+
+}
diff --git a/fzzy-igdss-web/src/main/java/com/fzzy/sys/controller/inout/InoutController.java b/fzzy-igdss-web/src/main/java/com/fzzy/sys/controller/inout/InoutController.java
index 6c51134..4ad68b4 100644
--- a/fzzy-igdss-web/src/main/java/com/fzzy/sys/controller/inout/InoutController.java
+++ b/fzzy-igdss-web/src/main/java/com/fzzy/sys/controller/inout/InoutController.java
@@ -1,8 +1,12 @@
 package com.fzzy.sys.controller.inout;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fzzy.igds.constant.Constant;
+import com.fzzy.igds.data.InoutParam;
+import com.fzzy.igds.data.PageResponse;
 import com.fzzy.igds.domain.Depot;
 import com.fzzy.igds.domain.InoutConf;
+import com.fzzy.igds.domain.InoutRecord;
 import com.fzzy.igds.utils.ContextUtil;
 import com.fzzy.igds.utils.DateUtil;
 import com.fzzy.sys.manager.common.CommonManager;
@@ -13,10 +17,12 @@
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.time.DateFormatUtils;
 import org.springframework.stereotype.Controller;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
-
+import org.springframework.web.bind.annotation.ResponseBody;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import java.util.Date;
@@ -233,4 +239,202 @@
         return prefix + "/inout-weight";
     }
 
+    /**
+     * 鍑哄簱鐧昏
+     *
+     * @param sort 琛ㄧず浣跨敤鐨勫嚭鍏ュ簱璁惧閰嶅鍙凤紝涓嶄紶閫掗粯璁や负1
+     * @return
+     */
+    @RequestMapping("/out-register")
+    public String outRegister(HttpServletRequest httpRequest,
+                              @RequestParam(value = "sort", required = false) String sort,
+                              ModelMap view) {
+
+        SysUser user = ContextUtil.getLoginUser();
+        view.put(Constant.MODEL_KEY_LOGIN_USER, user);
+
+        if (StringUtils.isEmpty(sort)) {
+            sort = inoutManager.getInoutWeightByClient(httpRequest);
+        }
+
+        if (StringUtils.isEmpty(sort)) {
+            sort = "1";
+        }
+
+        String deptId = ContextUtil.subDeptId(user);
+        view.put("type", Constant.TYPE_OUT);
+        view.put("deptId", deptId);
+
+        // 绫诲瀷
+        List<SysDictData> listInoutType = commonManager.getInoutType();
+        view.put("listInoutType", listInoutType);
+
+        //鍏ュ簱娴佺▼
+        String inoutProgress = inoutManager.getInoutProgressConf(user.getCompanyId(), ContextUtil.subDeptId(user), Constant.TYPE_OUT);
+        view.put("inoutProgress", inoutProgress);
+        // 褰撳墠娴佺▼鑺傜偣
+        view.put("progress", Constant.PROGRESS_REGISTER);
+
+        // 鑾峰彇鍑哄叆搴撻厤缃俊鎭�
+        List<InoutConf> listInoutConf = inoutManager.getListInoutConf(user.getCompanyId(), deptId);
+
+        // 杞︾墝璇嗗埆鍙傛暟灏佽
+        InoutConf conf = inoutManager.getInoutConf(listInoutConf, sort, Constant.CONF_TYPE_10, Constant.PROGRESS_REGISTER, 1);
+        view.put("lprDto", conf);
+
+        return prefix + "/out-register";
+    }
+
+    /**
+     * 鍑哄簱绠�鏄撴搷浣滈〉闈�
+     *
+     * @param sort 琛ㄧず浣跨敤鐨勫嚭鍏ュ簱璁惧閰嶅鍙凤紝涓嶄紶閫掗粯璁や负1
+     * @return
+     */
+    @RequestMapping("/out-easy")
+    public String outEasy(@RequestParam(value = "sort", required = false) String sort,
+                                @RequestParam(value = "type", required = false) String type,
+                                ModelMap view) {
+
+        SysUser user = ContextUtil.getLoginUser();
+        view.put(Constant.MODEL_KEY_LOGIN_USER, user);
+
+        view.put("type", Constant.TYPE_OUT);
+        String deptId = ContextUtil.subDeptId(user);
+        view.put("deptId", deptId);
+
+        // 浠撳簱鍒楄〃鍋氫笅鎷夋浣跨敤
+        List<Depot> listDepot = commonManager.listDepotByDeptId(deptId);
+        view.put(Constant.MODEL_KEY_DEPOT_LIST, listDepot);
+
+        //鍏ュ簱娴佺▼
+        String inoutProgress = inoutManager.getInoutProgressConf(user.getCompanyId(),
+                ContextUtil.subDeptId(user), Constant.TYPE_IN);
+        view.put("inoutProgress", inoutProgress);
+
+
+        // 绮鍝佺涓嬫媺妗�
+        List<SysDictData> listFoodVariety = commonManager.getDicTrigger(Constant.TRIGGER_PARENT_FOOD_VARIETY, user.getCompanyId());
+        view.put("listFoodVariety", listFoodVariety);
+
+        // 绮鎬ц川涓嬫媺妗�
+        List<SysDictData> listFoodType = commonManager.getDicTrigger(Constant.TRIGGER_PARENT_FOOD_TYPE, user.getCompanyId());
+        view.put("listFoodType", listFoodType);
+
+        // 绮绛夌骇涓嬫媺妗�
+        List<SysDictData> listFoodLevel = commonManager.getDicTrigger(Constant.TRIGGER_PARENT_FOOD_LEVEL, user.getCompanyId());
+        view.put("listFoodLevel", listFoodLevel);
+
+        // 绫诲瀷
+        List<SysDictData> listInoutType = commonManager.getInoutType();
+        view.put("listInoutType", listInoutType);
+
+        // 褰撳墠娴佺▼鏍囩
+        view.put("progress", Constant.PROGRESS_WEIGHT_TAG);
+
+        // 鑾峰彇鍑哄叆搴撻厤缃俊鎭�
+        List<InoutConf> listInoutConf = inoutManager.getListInoutConf(user.getCompanyId(), deptId);
+
+        // 鑾峰彇鍦扮淇℃伅
+        InoutConf weightDto = inoutManager.getInoutConf(listInoutConf, sort, Constant.CONF_TYPE_30);
+        view.put("weightDto", weightDto);
+
+        // 杩囩▼鎽勫儚澶�1
+        InoutConf conf = inoutManager.getInoutConf(listInoutConf, sort, Constant.CONF_TYPE_60, Constant.PROGRESS_WEIGHT_TAG, 1);
+        view.put("snapDto1", conf);
+
+        // 杩囩▼鎽勫儚澶�2
+        conf = inoutManager.getInoutConf(listInoutConf, sort, Constant.CONF_TYPE_60, Constant.PROGRESS_WEIGHT_TAG, 2);
+        view.put("snapDto2", conf);
+
+        // 杩囩▼鎽勫儚澶�3
+        conf = inoutManager.getInoutConf(listInoutConf, sort, Constant.CONF_TYPE_60, Constant.PROGRESS_WEIGHT_TAG, 3);
+        view.put("snapDto3", conf);
+
+        //榛樿鏌ヨ鏃堕棿
+        view.put("endTime", DateFormatUtils.format(new Date(), "yyyy-MM-dd"));
+        view.put("startTime", DateFormatUtils.format(DateUtil.getNewByDay(null, -30), "yyyy-MM-dd"));
+
+        return prefix + "/out-easy";
+    }
+
+    /**
+     * 鍒嗛〉鑾峰彇娴佺▼鏈畬鎴愮殑鏁版嵁
+     *
+     * @param param
+     * @return
+     */
+    @RequestMapping("/page-inout-data")
+    @ResponseBody
+    public PageResponse<Page<InoutRecord>> pageInoutData(@RequestBody InoutParam param) {
+        return inoutManager.pageInoutData(param);
+    }
+
+    /**
+     * 鍑哄叆搴撴暟鎹煡璇紝鏍规嵁鏉′欢鏌ヨ鏁版嵁锛屽嚭鍏ュ簱鏁版嵁淇℃伅
+     *
+     * @param param
+     * @return
+     */
+    @RequestMapping("/inout-query")
+    @ResponseBody
+    public PageResponse<InoutRecord> inoutQuery(@RequestBody InoutParam param) {
+        if (null == param.getCompanyId()) param.setCompanyId(ContextUtil.getCompanyId());
+        return inoutManager.inoutQuery(param);
+    }
+
+
+    /**
+     * 鍑哄叆搴撶櫥璁版彁浜�
+     *
+     * @param data
+     * @return
+     */
+    @RequestMapping("/submit-register")
+    @ResponseBody
+    public PageResponse<InoutRecord> submitRegister(@RequestBody InoutRecord data) {
+
+        return inoutManager.submitRegister(data);
+    }
+
+    /**
+     * 鍑哄叆搴撳寲楠屼俊鎭彁浜�
+     * @param data
+     * @return
+     */
+    @RequestMapping("/submit-check")
+    @ResponseBody
+    public PageResponse<InoutRecord> submitCheck(@RequestBody InoutRecord data) {
+
+        return inoutManager.submitCheck(data);
+    }
+
+    /**
+     * 鍑哄叆搴撶О閲嶇幆鑺傛彁浜�
+     * @param data
+     * @return
+     */
+    @RequestMapping("/submit-weight")
+    @ResponseBody
+    public PageResponse<InoutRecord> submitWeight(@RequestBody InoutRecord data) {
+
+        return inoutManager.submitWeight(data);
+    }
+
+
+    /**
+     * 鍑哄叆搴撶О閲嶇幆鑺傛彁浜わ紝璇锋敞鎰忥細鍊间粨鎸戞彁浜ょ殑鏁版嵁闈炲嚭鍏ュ簱娴佹按瀹屾暣淇℃伅锛屼笉鑳界洿鎺ヨ皟鐢╱pdate鏂规硶
+     *
+     * @param data
+     * @return
+     */
+    @RequestMapping("/submit-handle")
+    @Transactional
+    @ResponseBody
+    public PageResponse<InoutRecord> submitHandle(@RequestBody InoutRecord data) {
+
+        log.debug("-------------submitHandle------------------");
+        return inoutManager.submitHandle(data);
+    }
+
 }
diff --git a/fzzy-igdss-web/src/main/java/com/fzzy/sys/manager/common/CommonManager.java b/fzzy-igdss-web/src/main/java/com/fzzy/sys/manager/common/CommonManager.java
index a5f1ca7..ffda277 100644
--- a/fzzy-igdss-web/src/main/java/com/fzzy/sys/manager/common/CommonManager.java
+++ b/fzzy-igdss-web/src/main/java/com/fzzy/sys/manager/common/CommonManager.java
@@ -48,4 +48,11 @@
 
         return depotService.getCacheDepotList(ContextUtil.getCompanyId(), deptId);
     }
+
+    /**
+     * @return
+     */
+    public List<SysDictData> getInoutType() {
+        return dicService.getInoutType();
+    }
 }
diff --git a/fzzy-igdss-web/src/main/java/com/fzzy/sys/manager/inout/InoutManager.java b/fzzy-igdss-web/src/main/java/com/fzzy/sys/manager/inout/InoutManager.java
index 222cd44..3cc9821 100644
--- a/fzzy-igdss-web/src/main/java/com/fzzy/sys/manager/inout/InoutManager.java
+++ b/fzzy-igdss-web/src/main/java/com/fzzy/sys/manager/inout/InoutManager.java
@@ -1,18 +1,27 @@
 package com.fzzy.sys.manager.inout;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fzzy.igds.constant.Constant;
+import com.fzzy.igds.constant.RespCodeEnum;
+import com.fzzy.igds.data.InoutParam;
+import com.fzzy.igds.data.PageResponse;
 import com.fzzy.igds.domain.InoutConf;
+import com.fzzy.igds.domain.InoutRecord;
 import com.fzzy.igds.domain.InoutSysConf;
 import com.fzzy.igds.service.InoutConfService;
+import com.fzzy.igds.service.InoutRecordService;
+import com.fzzy.igds.utils.ContextUtil;
 import com.fzzy.igds.utils.SystemUtil;
+import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.core.redis.RedisCache;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.StringUtils;
+import com.ruoyi.common.utils.StringUtils;
 import org.springframework.stereotype.Component;
-
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -28,6 +37,8 @@
     private RedisCache redisCache;
     @Resource
     private InoutConfService inoutConfService;
+    @Resource
+    private InoutRecordService inoutRecordService;
 
     /**
      * 鏍规嵁鐢ㄦ埛璇锋眰淇℃伅锛屾牴鎹綋鍓嶅鎴风數鑴慖P锛岃幏鍙栧嚭鍏ュ簱绉伴噸涓婃閫夋嫨鐨勫湴纾�
@@ -109,6 +120,12 @@
         return result;
     }
 
+    /**
+     * 鏍规嵁閰嶇疆鑾峰彇鍑哄叆搴撶殑閰嶇疆鍙傛暟
+     * @param listInoutConf
+     * @param type
+     * @return
+     */
     public List<InoutConf> getInoutConf(List<InoutConf> listInoutConf, String type) {
         List<InoutConf> result = new ArrayList<>();
         if (null == listInoutConf) return result;
@@ -120,6 +137,13 @@
         return result;
     }
 
+    /**
+     * 鏍规嵁閰嶇疆鑾峰彇鍑哄叆搴撶殑閰嶇疆鍙傛暟
+     * @param listInoutConf
+     * @param sort
+     * @param type
+     * @return
+     */
     public InoutConf getInoutConf(List<InoutConf> listInoutConf, String sort, String type) {
         if (null == listInoutConf) return new InoutConf(sort);
         if (StringUtils.isEmpty(sort)) sort = "1";
@@ -150,4 +174,258 @@
 
         return weightEditTag;
     }
+
+    /**
+     * 鍑哄叆搴撴敞鍐屾暟鎹彁浜わ紝鍑哄叆搴撶櫥璁颁娇鐢ㄥ悓涓�涓柟娉�
+     *
+     * @param data
+     * @return
+     */
+    public PageResponse<InoutRecord> submitRegister(InoutRecord data) {
+        SysUser user = ContextUtil.getLoginUser();
+        if (StringUtils.isEmpty(data.getCompanyId())) {
+            data.setCompanyId(user.getCompanyId());
+        }
+        if (StringUtils.isEmpty(data.getDeptId())) {
+            data.setDeptId(ContextUtil.subDeptId(user));
+        }
+
+        int num = inoutRecordService.checkExist(data.getCompanyId(), data.getPlateNum());
+        if (num > 0) {
+            return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), "褰撳墠杞︾墝鍙锋鍦ㄦ墽琛屾祦绋嬫湭缁撴潫锛岃鏍告煡杞︾墝鎴栬仈绯荤鐞嗗憳", data);
+        }
+
+        // 鑾峰彇绯荤粺鍙傛暟閰嶇疆
+        InoutSysConf inoutSysConf = inoutConfService.getCacheInoutSysConf(data.getCompanyId(), data.getDeptId());
+        if (null == inoutSysConf) {
+            return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), "鎻愮ず锛氬綋鍓嶅簱鍖烘湭閰嶇疆鍑哄叆搴撴祦绋嬩俊鎭紝璇疯仈绯荤鐞嗗憳", data);
+        }
+
+        // 鑾峰彇涓嬩竴涓祦绋嬬姸鎬�
+        String curProgress = data.getProgress();
+        String nextProgress = getNextProgress(curProgress, data.getType(), inoutSysConf);
+        data.setProgress(nextProgress);
+
+        //鍘婚櫎韬唤璇佸彿涓殑绌烘牸
+        if (StringUtils.isNotEmpty(data.getUserId())) {
+            data.setUserId(data.getUserId().trim());
+        }
+        //鍘婚櫎濮撳悕涓殑绌烘牸
+        if (StringUtils.isNotEmpty(data.getUserName())) {
+            data.setUserName(data.getUserName().trim());
+        }
+        //鐧昏浜哄強鐧昏鏃堕棿
+        data.setRegisterUser(user.getUserName());
+        data.setRegisterTime(new Date());
+
+        num = inoutRecordService.addInoutRecord(data);
+
+        if (num == 0) {
+            return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), "鐧昏澶辫触锛�", data);
+        }
+
+        //TODO 闄勪欢澶勭悊
+//        List<FileData> files = data.getFiles();
+//        if (null != files && files.size() > 0) {
+//            // 鎵ц闄勪欢淇℃伅
+//            fileService.saveInoutFiles(files, data.getCompanyId(), data.getId(), curProgress);
+//        }
+
+        return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "鐧昏鎴愬姛锛�", data);
+    }
+
+    /**
+     * 鍖栭獙淇℃伅鎻愪氦
+     * @param data
+     * @return
+     */
+    public PageResponse<InoutRecord> submitCheck(InoutRecord data) {
+        SysUser user = ContextUtil.getLoginUser();
+        if (StringUtils.isEmpty(data.getCompanyId())) {
+            data.setCompanyId(user.getCompanyId());
+        }
+        if (StringUtils.isEmpty(data.getDeptId())) {
+            data.setDeptId(ContextUtil.subDeptId(user));
+        }
+
+        //鍖栭獙浜哄強鏃堕棿
+        data.setCheckUser(user.getUserName());
+        data.setCheckTime(new Date());
+        data.setCheckStatus(Constant.STATUS_PASS);
+
+        int num = inoutRecordService.updateInoutRecord(data);
+
+        if (num == 0) {
+            return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), "鎻愪氦澶辫触锛�", data);
+        }
+
+        return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "鎻愪氦鎴愬姛锛�", data);
+    }
+
+    /**
+     * 绉伴噸鎻愪氦锛屽寘鍚О閲嶇櫥璁版彁浜ゅ強鍗曠嫭绉伴噸鎻愪氦
+     * @param data
+     * @return
+     */
+    public PageResponse<InoutRecord> submitWeight(InoutRecord data) {
+
+        // 鑾峰彇绯荤粺鍙傛暟閰嶇疆
+        InoutSysConf inoutSysConf = inoutConfService.getCacheInoutSysConf(data.getCompanyId(), data.getDeptId());
+        if (null == inoutSysConf) {
+            return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), "鎻愮ず锛氬綋鍓嶇郴缁熶腑娴佺▼閰嶇疆寮傚父锛岃鑱旂郴绠$悊鍛�", data);
+        }
+
+        // 鑾峰彇涓嬩竴涓祦绋嬬姸鎬�
+        String curProgress = data.getProgress();
+        String nextProgress = getNextProgress(curProgress, data.getType(), inoutSysConf);
+        data.setProgress(nextProgress);
+
+        int num;
+        if(StringUtils.isBlank(data.getId())){
+            data.setRegisterTime(new Date());
+            data.setRegisterUser(ContextUtil.getLoginUserName());
+
+            //璁剧疆鍒濇鎻愪氦鏃剁О閲嶆椂闂翠俊鎭�
+            if(data.getFullWeight() > 0){
+                data.setFullWeightUser(ContextUtil.getLoginUserName());
+                data.setFullWeightTime(new Date());
+            }
+            if(data.getEmptyWeight() > 0){
+                data.setEmptyWeightUser(ContextUtil.getLoginUserName());
+                data.setEmptyWeightTime(new Date());
+            }
+            //绉伴噸鐧昏
+            num = inoutRecordService.addInoutRecord(data);
+        }else {
+            if (Constant.PROGRESS_WEIGHT_EMPTY.equals(curProgress)) {
+                data.setEmptyWeightTime(new Date());
+                data.setEmptyWeightUser(ContextUtil.getLoginUserName());
+            }
+            if (Constant.PROGRESS_WEIGHT_FULL.equals(curProgress)) {
+                data.setFullWeightTime(new Date());
+                data.setFullWeightUser(ContextUtil.getLoginUserName());
+            }
+            //绉伴噸鏇存柊
+            num = inoutRecordService.updateInoutRecord(data);
+        }
+
+        if (num == 0) {
+            return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), "鎻愪氦澶辫触锛�", data);
+        }
+
+        //TODO 闄勪欢澶勭悊
+//        List<FileData> files = data.getFiles();
+//        if (null != files && files.size() > 0) {
+//            // 鎵ц闄勪欢淇℃伅
+//            fileService.saveInoutFiles(files, data.getCompanyId(), data.getId(), curProgress);
+//        }
+
+        return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "鎵ц鎴愬姛", data);
+    }
+
+    /**
+     * 鍊间粨淇℃伅鎻愪氦
+     * @param data
+     * @return
+     */
+    public PageResponse<InoutRecord> submitHandle(InoutRecord data) {
+
+        // 鑾峰彇绯荤粺鍙傛暟閰嶇疆
+        InoutSysConf inoutSysConf = inoutConfService.getCacheInoutSysConf(data.getCompanyId(), data.getDeptId());
+        if (null == inoutSysConf) {
+            return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), "鎻愮ず锛氬綋鍓嶇郴缁熶腑娴佺▼閰嶇疆寮傚父锛岃鑱旂郴绠$悊鍛�", data);
+        }
+
+        // 鑾峰彇涓嬩竴涓祦绋嬬姸鎬�
+        String curProgress = data.getProgress();
+        String nextProgress = getNextProgress(curProgress, data.getType(), inoutSysConf);
+        data.setProgress(nextProgress);
+
+        data.setHandleEnd(new Date());
+        data.setHandleUser(ContextUtil.getLoginUserName());
+        // 鎵ц鏁版嵁鏇存柊
+        int num = inoutRecordService.updateInoutRecord(data);
+
+        if (num == 0) {
+            return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), "鎻愪氦澶辫触锛�", data);
+        }
+
+        //TODO 闄勪欢澶勭悊
+//        List<FileData> files = data.getFiles();
+//        if (null != files && files.size() > 0) {
+//            // 鎵ц闄勪欢淇℃伅
+//            fileService.saveInoutFiles(files, data.getCompanyId(), data.getId(), curProgress);
+//        }
+
+        return new PageResponse<>(RespCodeEnum.CODE_0000.getCode(), "鎻愪氦鎴愬姛", data);
+    }
+
+    /**
+     * 鑾峰彇涓嬩竴娴佺▼
+     *
+     * @param curProgress
+     * @param type
+     * @param sysConf
+     * @return
+     */
+    private String getNextProgress(String curProgress, String type, InoutSysConf sysConf) {
+        String nextProgress = null;
+        List<String> list = null;
+        if (Constant.TYPE_IN.equals(type)) {
+            list = Arrays.asList(sysConf.getProgressIn().split("-"));
+        }
+        if (Constant.TYPE_OUT.equals(type)) {
+            list = Arrays.asList(sysConf.getProgressOut().split("-"));
+        }
+        if (list != null) {
+            for (int i = 0; i < list.size() - 1; i++) {
+                if (curProgress.equals(list.get(i))) {
+                    nextProgress = list.get(i + 1);
+                    break;
+                }
+            }
+        }
+        return nextProgress;
+    }
+
+    /**
+     * 鍒嗛〉鏌ヨ鏁版嵁
+     * @param param
+     * @return
+     */
+    public PageResponse<Page<InoutRecord>> pageInoutData(InoutParam param) {
+        if (StringUtils.isEmpty(param.getCompanyId())) {
+            param.setCompanyId(ContextUtil.getCompanyId());
+        }
+        if (StringUtils.isEmpty(param.getDeptId())) {
+            param.setDeptId(ContextUtil.subDeptId(null));
+        }
+
+        Page<InoutRecord> corePage = new Page<>(param.getPage(), param.getLimit());
+        inoutRecordService.listPageInout(corePage, param);
+
+        if (null == corePage.getRecords() || corePage.getRecords().isEmpty()) {
+            return new PageResponse<>(RespCodeEnum.CODE_2000.getCode(), "鑾峰彇鍒版暟鎹俊鎭负绌�");
+        }
+
+        return new PageResponse<>(RespCodeEnum.CODE_0000, corePage);
+    }
+
+    /**
+     * 鏌ヨ鏁版嵁
+     * @param param
+     * @return
+     */
+    public PageResponse<InoutRecord> inoutQuery(InoutParam param) {
+        if (StringUtils.isEmpty(param.getId())) {
+            return new PageResponse<>(RespCodeEnum.CODE_1007.getCode(), "鏌ヨ鍙傛暟涓嶅畬鏁达紝鏌ヨ澶辫触锛�");
+        }
+
+        InoutRecord result = inoutRecordService.selectById(param.getId());
+        if (null == result) {
+            return new PageResponse<>(RespCodeEnum.CODE_2000.getCode(),
+                    "绯荤粺鏈煡璇㈠埌鎵ц涓殑鍗曟嵁淇℃伅", null);
+        }
+        return new PageResponse<>(RespCodeEnum.CODE_0000, result);
+    }
 }
diff --git a/fzzy-igdss-web/src/main/resources/static/inout/inout-style.css b/fzzy-igdss-web/src/main/resources/static/inout/inout-style.css
index 10cfaf4..4c7ec84 100644
--- a/fzzy-igdss-web/src/main/resources/static/inout/inout-style.css
+++ b/fzzy-igdss-web/src/main/resources/static/inout/inout-style.css
@@ -287,7 +287,7 @@
 
 
 .rkbk-search-input.bg-date {
-	background: #eff4f6 url(../img/web/inout/icon-date.png) 98% center no-repeat;
+	background: #FFFFFF url(../img/web/inout/icon-date.png) 98% center no-repeat;
 }
 
 
@@ -520,6 +520,7 @@
 	padding: 20px;
 	background: #fff;
 	margin-top: 20px;
+	height: 782px;
 }
 
 .qyzj-con-top .layui-input-block {
diff --git a/fzzy-igdss-web/src/main/resources/static/inout/out-easy.js b/fzzy-igdss-web/src/main/resources/static/inout/out-easy.js
new file mode 100644
index 0000000..127e2cf
--- /dev/null
+++ b/fzzy-igdss-web/src/main/resources/static/inout/out-easy.js
@@ -0,0 +1,1053 @@
+//褰撳墠鑺傜偣 鍏ュ簱璐ㄦ
+var layer;
+var form;
+var table;
+var upload;
+var page = 1;
+var limit = 15;
+var recordData = null;
+var selectData = null;  //鍗曢�夌殑淇℃伅
+var snapData;//绯荤粺鎶撴媿瀵硅薄淇℃伅
+var timerWeight;
+var img1, img2, img3;// 椤甸潰涓殑鍥剧墖涓婁紶鍚嶇О
+
+$(function () {
+    layui.use(['layer', 'laydate', 'form', 'table', 'util', 'upload'], function () {
+        var util = layui.util;
+        upload = layui.upload;
+        layer = layui.layer;
+        form = layui.form;
+        table = layui.table;
+        var laydate = layui.laydate;
+
+        laydate.render({
+            elem: '#start',
+            theme: '#7b8e9f',
+            value: startTime
+        });
+
+        laydate.render({
+            elem: '#end',
+            theme: '#7b8e9f',
+            value: endTime
+        });
+
+        laydate.render({
+            elem: '#foodYear',
+            theme: '#7b8e9f',
+            type: 'year'
+        });
+        //涓婁紶
+        upload.render({
+            elem: '#kccz-r-btn1',
+            url: '../file/update-file', //涓婁紶鎺ュ彛
+            size: 4 * 1024, //闄愬埗鏂囦欢澶у皬锛屽崟浣岾B, 鏈�澶т笂浼�4MB
+            accept: 'images',
+            before: function (obj) {
+                var plateNum = $("#plateNum").val();
+                this.data = {"plateNum": plateNum, "type": "1"};//鎼哄甫鍙傛暟
+                //棰勮鏈湴鏂囦欢绀轰緥锛屼笉鏀寔ie8
+                obj.preview(function (index, file, result) {
+                    $('#kccz-r-img1').attr('src', result); //鍥剧墖閾炬帴锛坆ase64锛�
+                });
+            },
+            done: function (res) {
+                //濡傛灉涓婁紶澶辫触
+                if (res.code > 0) {
+                    layer.msg("鍥剧墖涓婁紶澶辫触锛�");
+                }
+                //涓婁紶鎴愬姛
+                img1 = res.msg;
+                layer.msg("鍥剧墖涓婁紶鎴愬姛锛�");
+                //console.log(img1);
+            }
+        });
+        upload.render({
+            elem: '#kccz-r-btn2',
+            url: '../file/update-file', //涓婁紶鎺ュ彛
+            size: 4 * 1024, //闄愬埗鏂囦欢澶у皬锛屽崟浣岾B, 鏈�澶т笂浼�4MB
+            accept: 'images',
+            before: function (obj) {
+                var plateNum = $("#plateNum").val();
+                this.data = {"plateNum": plateNum, "type": "1"};//鎼哄甫鍙傛暟
+                //棰勮鏈湴鏂囦欢绀轰緥锛屼笉鏀寔ie8
+                obj.preview(function (index, file, result) {
+                    $('#kccz-r-img2').attr('src', result); //鍥剧墖閾炬帴锛坆ase64锛�
+                });
+            },
+            done: function (res) {
+                //濡傛灉涓婁紶澶辫触
+                if (res.code > 0) {
+                    layer.msg("鍥剧墖涓婁紶澶辫触锛�");
+                }
+                //涓婁紶鎴愬姛
+                img2 = res.msg;
+                layer.msg("鍥剧墖涓婁紶鎴愬姛锛�");
+                // console.log(img2);
+            }
+        });
+        upload.render({
+            elem: '#kccz-r-btn3',
+            url: '../file/update-file', //涓婁紶鎺ュ彛
+            size: 4 * 1024, //闄愬埗鏂囦欢澶у皬锛屽崟浣岾B, 鏈�澶т笂浼�4MB
+            accept: 'images',
+            before: function (obj) {
+                var plateNum = $("#plateNum").val();
+                this.data = {"plateNum": plateNum}; //鎼哄甫鍙傛暟
+                //棰勮鏈湴鏂囦欢绀轰緥锛屼笉鏀寔ie8
+                obj.preview(function (index, file, result) {
+                    $('#kccz-r-img3').attr('src', result); //鍥剧墖閾炬帴锛坆ase64锛�
+                });
+            },
+            done: function (res) {
+                //濡傛灉涓婁紶澶辫触
+                if (res.code > 0) {
+                    layer.msg("鍥剧墖涓婁紶澶辫触锛�");
+                }
+                //涓婁紶鎴愬姛
+                img3 = res.msg;
+                layer.msg("鍥剧墖涓婁紶鎴愬姛锛�");
+            }
+        });
+
+        // 鐩戝惉琛屽伐鍏蜂簨浠�
+        table.on('tool(tableData)', function (obj) {
+            if (obj.event === 'edit') {
+                //灞曠ず寮圭獥
+                afreshGetData(obj);
+            }
+        });
+
+        // 鐩戝惉浠撳簱閫夋嫨锛岄�夋嫨鍚庤嚜鍔ㄨ皟鐢ㄤ粨搴撶殑绮搧绉嶅拰浜у湴淇℃伅
+        form.on('select(select_depotId)', function (obj) {
+            updateFoodVarietyByDepot(obj.value);
+        });
+        // 鍒濆鍖栬〃鍗曟暟鎹�
+        renderTable();
+    });
+
+    //鏄剧ず绉伴噸寮圭獥娴佺▼
+    showProgress();
+
+    // 鐩戝惉姣斾緥鍊煎~鍐�
+    $(".per").blur(function () {
+        deAutoByPer();
+    });
+
+    // 鐩戝惉姣斾緥鍊煎~鍐�
+    $(".weight").blur(function () {
+        deAutoByWeight();
+    });
+    //鍒濆鍖朩ebSocket
+    // initWS(deptId, bizType, progress, userId);
+});
+
+window.onload = function () {
+    //鑷姩杩炴帴鍦扮淇℃伅锛�2.5绉掕幏鍙栦竴娆″湴纾呴噸閲忎俊鎭�
+    clearInterval(timerWeight);
+    timerWeight = setInterval(function () {
+        flushWeight();
+    }, 2500);
+
+    // 鍔犺浇瑙嗛
+    initVideo(lprDto, snapDto1, snapDto2);
+
+    //璁剧疆鍦扮
+    $("#scaleName").val(weightDto.sort);
+
+    //鐩戝惉鍦扮閫夋嫨
+    $("#scaleName").change(function () {
+        layer.confirm('璋冩暣鍦扮闇�閲嶆柊鍔犺浇椤甸潰锛岀‘瀹氳皟鏁达紵', {
+            btn: ['纭畾', '鍙栨秷']
+        }, function () {
+            updateWeight();
+        });
+    });
+};
+
+//鏍规嵁鏉′欢鏌ヨ鏁版嵁
+function flushData() {
+    var index = layer.load();
+    var param = form.val("form-param");
+    table.reload('tableData', {
+        url: "/basic/inout/page-inout-data",
+        where: param
+    });
+    $("thead tr").css({
+        "border-bottom": "2px solid #53adce",
+        "background": "#eff4f6"
+    });
+    layer.close(index);
+}
+
+//琛ㄥ崟娓呯┖
+function resetForm() {
+    $("#form-param")[0].reset();
+    form.render();
+}
+
+// 娓叉煋琛ㄥ崟鏁版嵁
+function renderTable() {
+    var param = form.val("form-param");
+    // 娓呯┖鏁版嵁
+    $("#tableData").empty();
+    table.render({
+        elem: '#tableData',
+        url: '/basic/inout/page-inout-data',
+        page: true,
+        limit: limit,
+        even: true,
+        method: 'POST',
+        contentType: "application/json;charset=UTF-8",
+        cols: [[{
+            type: 'numbers',
+            title: '搴忓彿'
+        }, {
+            field: 'id',
+            title: '鍗曟嵁鍙�',
+            width: '13%',
+            style: 'color: #f67d06;font-weight: bold'
+        }, {
+            field: 'plateNum',
+            title: '杞︾墝',
+            width: '11%',
+            style: 'font-weight: bold'
+        }, {
+            field: 'type',
+            title: '绫诲瀷',
+            templet: function (item) {
+                var result = item.type;
+                return result == "IN" ? "鍏ュ簱" : "鍑哄簱";
+            }
+        }, {
+            field: 'customerName',
+            title: '鍙戣揣鍗曚綅'
+        }, {
+            field: 'deptName',
+            title: '鏀惰揣鍗曚綅'
+        }, {
+            field: 'depotId',
+            title: '瑁呭嵏浠撳簱',
+            width: '10%',
+            templet: function (item) {
+                var result = item.depotId;
+                $.each(listDepot, function (index, data) {
+                    if (item.depotId == data.id) {
+                        result = data.name;
+                        return true;
+                    }
+                });
+                return result == null ? "" : result;
+            }
+        }, {
+            field: 'foodVariety',
+            title: '鍝佺',
+            width: '10%',
+            templet: function (item) {
+                var result = item.foodVariety;
+                $.each(listFoodVariety, function (index, data) {
+                    if (item.foodVariety == data.code) {
+                        result = data.name;
+                        return true;
+                    }
+                });
+                return result == null ? "" : result;
+            }
+        }, {
+            field: 'progress',
+            title: '娴佺▼杩涘害',
+            width: '10%',
+            style: 'font-weight: bold',
+            templet: function (item) {
+                return INOUT_PROGRESS_MSG(item.progress);
+            }
+        }, {
+            field: '',
+            title: '鎿嶄綔',
+            width: '9%',
+            toolbar: "#barControl"
+        }]],
+        where: param,
+        parseData: function (res) {
+            if ("0000" == res.code) {
+                return {
+                    "code": "0",
+                    "msg": res.msg,
+                    "count": res.data.total,
+                    "data": res.data.records
+                }
+            } else {
+                return {
+                    "code": "1",
+                    "msg": res.msg
+                }
+            }
+        }
+    });
+    $("thead tr").css({
+        "border-bottom": "2px solid #53adce",
+        "background": "#eff4f6"
+    });
+}
+
+/*-----------------------寮圭獥鏄剧ず娓叉煋-寮�濮�------------------------------*/
+
+//鎿嶄綔鍓嶏紝閲嶆柊娴佹按鏁版嵁褰撳墠淇℃伅
+function afreshGetData(obj) {
+    var index = layer.load();
+    recordData = null;
+    var data = obj.data;
+    var param = {
+        userId: data.userId,
+        plateNum: data.plateNum,
+        id: data.id
+    };
+    $.ajax({
+        type: "POST",
+        url: "../../basic/inout/inout-query",
+        dataType: "json",
+        contentType: "application/json;charset=UTF-8",
+        data: JSON.stringify(param),
+        success: function (result) {
+            if (result.code != "0000") {
+                layer.alert("璇峰埛鏂伴〉闈㈠悗锛岄噸鏂版搷浣滐紒锛�");
+            } else {
+                recordData = result.data;
+                showWindows(recordData.progress);
+            }
+            layer.close(index);
+        },
+        error: function () {
+            layer.close(index);
+            layer.alert("璇峰埛鏂伴〉闈㈠悗锛岄噸鏂版搷浣滐紒锛�");
+        }
+    });
+}
+
+//鏄剧ず娴佺▼鎿嶄綔寮圭獥
+function quickRegister() {
+    //鐧昏鎸夐挳鏀惧紑
+    $("#btn_register").css("display", "block");
+    //绉伴噸鎿嶄綔寮圭獥
+    var pro = '鐧昏';
+    updateEditAndProgress();
+    flushPage();
+    layer.open({
+        type: 1,
+        title: pro,
+        area: ['1283px', '815px'],
+        cancel: function (index, layero) {
+            $("#weightDetail").css("display", "none");
+        },
+        shade: 0,
+        scrollbar: 0,
+        content: $('#weightDetail'),
+        offset: ['16px', '16px']
+    });
+}
+
+//鏄剧ず娴佺▼鎿嶄綔寮圭獥
+function showWindows(progress) {
+    console.log(progress);
+    if (progress == 'WEIGHT_FULL' || progress == 'WEIGHT_EMPTY') {
+        //鐧昏鎸夐挳鏀惧紑
+        $("#btn_register").css("display", "none");
+        //绉伴噸鎿嶄綔寮圭獥
+        var pro = '绌鸿溅绉伴噸';
+        if (progress == 'WEIGHT_FULL') {
+            pro = '婊¤溅绉伴噸';
+        }
+        updateEditAndProgress();
+        flushPage();
+        layer.open({
+            type: 1,
+            title: "绉伴噸" + pro + " - 鍗曞彿锛�" + recordData.id,
+            area: ['1283px', '815px'],
+            cancel: function (index, layero) {
+                $("#weightDetail").css("display", "none");
+            },
+            shade: 0,
+            scrollbar: 0,
+            content: $('#weightDetail'),
+            offset: ['16px', '16px']
+        });
+    } else if (progress == 'HANDLE') {
+        //鍊间粨鎿嶄綔寮圭獥
+        form.val("form-handle", recordData);
+        form.render();
+        layer.open({
+            type: 1,
+            title: "鍊间粨 - 鍗曞彿锛�" + recordData.id,
+            area: ['1283px', '815px'],
+            cancel: function (index, layero) {
+                $("#handleDetail").css("display", "none");
+            },
+            shade: 0,
+            scrollbar: 0,
+            content: $('#handleDetail'),
+            offset: ['16px', '16px']
+        });
+    } else {
+        layer.alert("璇峰埌瀵瑰簲椤甸潰杩涜鎿嶄綔锛侊紒锛�");
+    }
+}
+
+//绉伴噸寮圭獥涓祦绋嬬幆鑺傛樉绀�
+function showProgress() {
+    if (!inoutProgress) {
+        return;
+    }
+    if (inoutProgress.indexOf("REGISTER") == -1) {
+        $("#progress-register").css("display", "none");
+    }
+    if (inoutProgress.indexOf("WEIGHT_FULL") == -1) {
+        $("#progress-fullWeight").css("display", "none");
+    }
+    if (inoutProgress.indexOf("HANDLE") == -1) {
+        $("#progress-hand").css("display", "none");
+    }
+    if (inoutProgress.indexOf("WEIGHT_EMPTY") == -1) {
+        $("#progress-emptyWeight").css("display", "none");
+    }
+    if (inoutProgress.indexOf("CARD_BACK") == -1) {
+        $("#progress-cardBack").css("display", "none");
+    }
+}
+
+//绉伴噸寮圭獥涓洿鏂版祦绋嬭妭鐐�
+function updateEditAndProgress() {
+    if (recordData) {
+        if (InoutProgress.WEIGHT_EMPTY == recordData.progress) {
+            $("#emptyWeight").removeClass("rkbk-search-input");
+            $("#emptyWeight").attr("disabled", false);
+
+            $("#progress-hand").removeClass("active");
+            $("#progress-fullWeight").removeClass("active");
+
+            $("#fullWeight").addClass("rkbk-search-input");
+            $("#fullWeight").attr("disabled", true);
+        }
+
+        if (InoutProgress.WEIGHT_FULL == recordData.progress) {
+            $("#fullWeight").removeClass("rkbk-search-input");
+            $("#fullWeight").attr("disabled", false);
+
+            $("#progress-hand").addClass("active");
+            $("#progress-fullWeight").addClass("active");
+
+            $("#emptyWeight").addClass("rkbk-search-input");
+            $("#emptyWeight").attr("disabled", true);
+        }
+    } else {
+        $("#fullWeight").addClass("rkbk-search-input");
+        $("#fullWeight").attr("disabled", true);
+
+        $("#emptyWeight").addClass("rkbk-search-input");
+        $("#emptyWeight").attr("disabled", true);
+
+        $("#progress-hand").removeClass("active");
+        $("#progress-fullWeight").removeClass("active");
+    }
+}
+
+/*-----------------------寮圭獥鏄剧ず娓叉煋-缁撴潫------------------------------*/
+
+/*-----------------------绉伴噸鎿嶄綔-寮�濮�------------------------------*/
+
+//鑷姩杩炴帴鍦扮淇℃伅锛�2.5绉掕幏鍙栦竴娆″湴纾呴噸閲忎俊鎭�
+function timerGetWeight() {
+    clearInterval(timerWeight);
+    timerWeight = setInterval(function () {
+        flushWeight();
+    }, 2500);
+}
+
+//鍙戦�佽姹傝幏鍙栫О閲嶆暟鎹�
+function flushWeight() {
+    var ip = "127.0.0.1";
+    if (weightDto.ip) {
+        ip = weightDto.ip;
+    }
+    var port = "9111";
+    if (weightDto.port) {
+        port = weightDto.port;
+    }
+    var sn = "WEIGHT";
+    if (weightDto.sn) {
+        sn = weightDto.sn;
+    }
+    var url = "http://" + ip + ":" + port + "/" + sn;
+    $.ajax({
+        type: "GET",
+        async: true,
+        timeout: 2000,
+        url: url,
+        data: {},
+        dataType: "json",
+        success: function (json) {
+            var data = json.content;
+            if (!data) data = 0.0;
+            weightDto.weight = data;
+            $("#weightValue").text(data);
+            $("#img_scale_statule").attr("src", "/img/web/inout/icon-gree.png");
+        },
+        error: function () {
+            weightDto.weight = 0.0;
+            $("#weightValue").text("0.0");
+            $("#img_scale_statule").attr("src", "/img/web/inout/icon-red.png");
+        }
+    });
+}
+
+//鐐瑰嚮绉伴噸
+function weight() {
+    // 娌℃湁涓氬姟鏁版嵁涓嶅彲鎵ц
+    if (!recordData) {
+        layer.alert("娌℃湁鏌ヨ鍒颁笟鍔℃暟鎹紝鎵ц琚嫆缁濓紒锛�");
+        return;
+    }
+    // 濡傛灉鏄┖杞︾О閲�
+    if (InoutProgress.WEIGHT_EMPTY == recordData.progress) {
+        form.val("form-weight", {
+            emptyWeight: weightDto.weight
+        });
+    }
+    // 濡傛灉鏄弧杞︾О閲�
+    if (InoutProgress.WEIGHT_FULL == recordData.progress) {
+        form.val("form-weight", {
+            fullWeight: weightDto.weight
+        });
+    }
+    form.render();
+    snapData == null;
+
+    //鐐瑰嚮绉伴噸鏃跺�欒嚜鍔ㄦ姄鎷嶆暟鎹�
+    layer.msg("绯荤粺鑷姩鎶撴媿淇濈暀璁板綍鈥︹��");
+    snapData = {
+        companyId: companyId,
+        deptId: deptId,
+        bizTag: recordData.progress,
+        bizType: bizType,
+        plateNum: recordData.plateNum + "-" + recordData.carNum,
+
+        id1: (null != lprDto) ? lprDto.id : null,
+        id2: (null != snapDto1) ? snapDto1.id : null,
+        id3: (null != snapDto2) ? snapDto2.id : null
+    };
+
+    console.log(snapData);
+    //褰撳墠AJAX鏈嶅姟涓哄悓姝ユ湇鍔★紝杩斿洖鏁版嵁鍖呰鐓х墖淇℃伅
+    var index = layer.load();
+    $.ajax({
+        sync: false,
+        type: "POST",
+        url: "../../basic/inout/snap-img",
+        dataType: "json",
+        contentType: "application/json;charset=UTF-8",
+        data: JSON.stringify(snapData),
+        success: function (result) {
+            layer.close(index);
+            if (result.code != "0000") {
+                layer.alert(result.msg);
+            } else {
+                snapData = result.data;
+            }
+        },
+        error: function () {
+            layer.close(index);
+            layer.msg("鍚庡彴璋冪敤鎴浘澶辫触锛岃閲嶆柊灏濊瘯锛侊紒");
+        }
+    });
+    //浜屾绉伴噸鍚庯紝鑷姩璋冪敤涓嬭嚜鍔ㄨ绠�
+    if (InoutProgress.WEIGHT_EMPTY == recordData.progress) {
+        deAutoByPer();
+    }
+    flushBtn("btn-weight");
+}
+
+// 鑷姩璁$畻锛屾敞鎰忥細鍑哄簱姘村垎鏄� +锛屽叆搴撴按鍒嗛渶瑕� -
+function deAutoByPer() {
+    var curData = form.val("form-weight");
+
+    var netWeight = 0, deImpurity = 0, deWet = 0, deSum = 0, settleWeight = 0;
+
+    if (curData.fullWeight == 0 || curData.emptyWeight == 0) {
+        return;
+    }
+    // 璁$畻鍑�閲�
+    netWeight = curData.fullWeight - curData.emptyWeight;
+
+    if (netWeight <= 0) {
+        layer.msg("鍑�閲嶅皬浜庣瓑浜�0锛屽綋鍓嶈绠椾笉姝g‘锛�");
+        return;
+    }
+
+    // 鏉傝川鎵i噸
+    if (curData.impurity > 0) {
+        deImpurity = (netWeight * curData.impurity / 100.00).toFixed(0);
+    }
+    // 姘村垎澧為噸
+    if (curData.wet > 0) {
+        deWet = (netWeight * curData.wet / 100.00).toFixed(0);
+    }
+
+
+    // 鎬绘墸閲�
+    deSum = Number(deImpurity) + Number(curData.deOther)
+        + Number(curData.deHandle);
+    deSum = deSum.toFixed(0);
+
+    // 缁撶畻鍑�閲嶏紝鎶婃按鍒嗘坊鍔犺繎鏉�
+    settleWeight = Number(netWeight) - Number(deSum) + Number(deWet);
+    settleWeight = settleWeight.toFixed(0);
+
+    form.val("form-weight", {
+        netWeight: netWeight,
+        deImpurity: deImpurity,
+        deWet: deWet,
+        deSum: deSum,
+        settleWeight: settleWeight
+    });
+    form.render();
+}
+
+// 鑷姩璁$畻
+function deAutoByWeight() {
+    var curData = form.val("form-weight");
+
+    var netWeight = 0, impurity = 0, wet = 0, deSum = 0, settleWeight = 0;
+
+    if (curData.fullWeight == 0 || curData.emptyWeight == 0) {
+        return;
+    }
+    // 鍑�閲�
+    netWeight = curData.fullWeight - curData.emptyWeight;
+
+    if (netWeight <= 0) {
+        layer.msg("鍑�閲嶅皬浜庣瓑浜�0锛屽綋鍓嶈绠椾笉姝g‘锛�");
+        return;
+    }
+
+    // 鏉傝川-鐧惧垎姣�
+    if (curData.deImpurity > 0) {
+        impurity = (curData.deImpurity / netWeight * 100).toFixed(2);
+    }
+    // 姘村垎 -鐧惧垎姣�
+    if (curData.deWet > 0) {
+        wet = (curData.deWet / netWeight * 100).toFixed(2);
+    }
+
+    // 鎬绘墸閲�= 鏉傝川鎵i噸 + 涓嶅畬鍠勬墸閲� + 姘斾綋鎵i噸 + 鍊间粨鎵i噸 + 鍖呰鎵i噸
+    deSum = Number(curData.deImpurity)
+        + Number(curData.deOther) + Number(curData.deHandle);
+
+    deSum = deSum.toFixed(0);
+
+    // 缁撶畻鍑�閲嶏紝鎶婃按鍒嗘坊鍔犺繎鏉�
+    settleWeight = Number(netWeight) - Number(deSum) + Number(curData.deWet);
+    settleWeight = settleWeight.toFixed(0);
+
+    form.val("form-weight", {
+        netWeight: netWeight,
+        impurity: impurity,
+        wet: wet,
+        deSum: deSum,
+        settleWeight: settleWeight
+    });
+    form.render();
+}
+
+//鏍规嵁褰撳墠鎿嶄綔鐨勬寜閽甀D鏇存柊鍏朵粬鎸夐挳鐘舵��
+function flushBtn(btnId) {
+    if ("btn-weight" == btnId) {// 绉伴噸鍚庡彲浠ョ偣鍑诲畬鎴愮О閲�
+        $("#btn-submit").removeClass("layui-btn-disabled");
+        $("#btn-submit").attr("disabled", false);
+    }
+    if ("btn-submit" == btnId) {
+        $("#btn-submit").addClass("layui-btn-disabled");
+        $("#btn-submit").attr("disabled", true);
+        flushData();
+        if (InoutProgress.WEIGHT_EMPTY == recordData.progress) {// 鍑哄簱锛屽鏋滄槸绌鸿溅绉伴噸锛屽畬鎴愭敹鐩存帴鍒锋柊椤甸潰
+            layer.closeAll();
+        } else {
+            // 瀹屾垚绉伴噸鍚庢帶鍒舵寜閽�
+            $("#btn-weight").addClass("layui-btn-disabled");
+            $("#btn-weight").attr("disabled", true);
+
+            $("#btn-printBill").removeClass("layui-btn-disabled");
+            $("#btn-printBill").attr("disabled", false);
+            addDisabled();
+        }
+    }
+    if ("btn-printBill" == btnId) {// 鎵撳嵃杩囩鍗曪紝璇存槑涓氬姟瀹屾垚
+        $("#btn-weight").removeClass("layui-btn-disabled");
+        $("#btn-weight").attr("disabled", false);
+
+        $("#btn-submit").addClass("layui-btn-disabled");
+        $("#btn-submit").attr("disabled", true);
+
+        $("#btn-printBill").addClass("layui-btn-disabled");
+        $("#btn-printBill").attr("disabled", true);
+        layer.closeAll();
+        flushData();
+    }
+}
+
+//鏇存敼鎵i噸淇℃伅妗嗕笉鍙紪杈�
+function addDisabled() {
+    //鏉傝川
+    $("#impurity").attr("disabled", true);
+    $("#deImpurity").attr("disabled", true);
+    //姘村垎
+    $("#wet").attr("disabled", true);
+    $("#deWet").attr("disabled", true);
+    //鍊间粨
+    $("#deHandle").attr("disabled", true);
+    //鍏朵粬
+    $("#deOther").attr("disabled", true);
+}
+
+//鎭㈠鎵i噸淇℃伅妗嗙紪杈戠姸鎬�
+function delDisabled() {
+    //鏉傝川
+    $("#impurity").attr("disabled", false);
+    $("#deImpurity").attr("disabled", false);
+    //姘村垎
+    $("#wet").attr("disabled", false);
+    $("#deWet").attr("disabled", false);
+    //鍊间粨
+    $("#deHandle").attr("disabled", false);
+    //鍏朵粬
+    $("#deOther").attr("disabled", false);
+}
+
+// 鐐瑰嚮鎵撳嵃锛岀郴缁熷垽鏂槸鍚﹀凡缁忔墽琛屽畬鎴愶紝濡傛灉宸茬粡瀹屾垚锛岀洿鎺ユ墦鍗帮紝濡傛灉鏈畬鎴愬垯鍏堟墽琛屽畬鎴�
+function printBill() {
+    if (!recordData) {
+        layer.alert("娌℃湁鑾峰彇鍒颁笟鍔℃暟鎹紝涓嶆敮鎸佹墦鍗帮紒");
+        return;
+    }
+    // 浠庡悗鍙拌幏鍙栨ā鐗堝苟鎵撳嵃
+    var data = form.val("form-weight");
+    // 鍚堝苟鏇存柊鐣跺墠缂栬緫鏁版嵁
+    Object.assign(recordData, data);
+
+    printBillStep2();
+};
+
+// 鐐瑰嚮鎵撳嵃锛屽厛鎵ц绯荤粺榛樿鎵ц瀹屾垚鍗″洖鏀�
+function printBillStep2() {
+    var index = layer.load();
+    $.ajax({
+        type: "POST",
+        url: "../../basic/inout-report/inout-bill-weight",
+        dataType: "json",
+        contentType: "application/json;charset=UTF-8",
+        data: JSON.stringify(recordData),
+        success: function (result) {
+            layer.close(index);
+            if (result.code != "0000") {
+                layer.msg(result.msg);
+            } else {
+                layer.msg("寮�濮嬫覆鏌撴墦鍗板崟鈥︹��");
+                printWeight(result.data);
+                // 鍒锋柊鎸夐挳
+                flushBtn("btn-printBill");
+            }
+        },
+        error: function () {
+            layer.close(index);
+            layer.msg("鑾峰彇鎵撳嵃妯$増澶辫触锛岃鑱旂郴绠$悊鍛樻煡鐪嬪師鍥狅紒锛�");
+        }
+    });
+};
+
+//瀹屾垚绉伴噸
+function submitWeight() {
+    if (null == recordData) {
+        notify("娌℃湁鏁版嵁鍙互鎻愪氦", null);
+        return;
+    }
+    var data = form.val("form-weight");
+    if (!data.depotId) {
+        notify("瑁呭嵏浠撳簱蹇呴』濉啓", null);
+        return;
+    }
+    // 鏍¢獙-鍑哄簱绌鸿溅
+    if (InoutProgress.WEIGHT_EMPTY == recordData.progress) {
+        if (data.emptyWeight <= 0.0) {
+            notify("绌鸿溅绉伴噸淇℃伅蹇呭~", null);
+            return;
+        }
+        if (!data.customerName) {
+            notify("寰�鏉ュ崟浣嶄俊鎭繀濉�", null);
+            return;
+        }
+    } else {
+        if (data.fullWeight <= 0.0) {
+            notify("婊¤溅绉伴噸淇℃伅蹇呭~", null);
+            return;
+        }
+        if (!data.foodVariety) {
+            notify("绮鍝佺蹇呭~", null);
+            return;
+        }
+        if (!data.foodLocation) {
+            notify("绮浜у湴蹇呭~", null);
+            return;
+        }
+        if (!data.settleWeight || data.settleWeight <= 0.0) {
+            notify("鎵i噸鍚庡噣淇℃伅涓嶆纭紝璇锋牳瀹炶绠�", null);
+            return;
+        }
+    }
+    // 鍚堝苟鏇存柊鐣跺墠缂栬緫鏁版嵁
+    Object.assign(recordData, data);
+
+    // 鑾峰彇鐓х墖
+    var files = [{
+        fileName: snapData.fileName1
+    }, {
+        fileName: snapData.fileName2
+    }, {
+        fileName: snapData.fileName3
+    }];
+    recordData.files = files;
+
+    var index = layer.load();
+    $.ajax({
+        type: "POST",
+        url: "../../basic/inout/inout-next-step",
+        dataType: "json",
+        contentType: "application/json;charset=UTF-8",
+        data: JSON.stringify(recordData),
+        success: function (result) {
+            if (result.code != "0000") {
+                layer.alert("鏁版嵁鎻愪氦澶辫触锛岃閲嶈瘯锛侊紒");
+            } else {
+                clearInterval(timerWeight);
+                layer.alert("鏁版嵁鎻愪氦鎴愬姛锛侊紒");
+                // 鏇存柊鎸夐挳鏄剧ず
+                flushBtn("btn-submit");
+            }
+            layer.close(index);
+        },
+        error: function () {
+            layer.close(index);
+            layer.alert("鎻愪氦澶辫触锛岃閲嶆柊灏濊瘯锛侊紒");
+        }
+    });
+}
+
+//閲嶆柊绉伴噸鏃讹紝琛ㄥ崟涓嶆竻绌猴紝鎸夐挳閲嶇疆
+function flushPage() {
+
+    weightDto.weight = 0.0;
+    $("#weightValue").text("0.0");
+    $("#img_scale_statule").attr("src", "/img/web/inout/icon-red.png");
+    timerGetWeight();
+
+    //鎵i噸淇℃伅妗嗘仮澶嶄负鍙紪杈�
+    delDisabled();
+    //琛ㄥ崟鏁版嵁閲嶇疆
+    form.val("form-weight", recordData);
+    form.render();
+}
+
+//鏍规嵁閫夋嫨鐨勪粨搴撲俊鎭�,鏇存柊绮鍝佺
+function updateFoodVarietyByDepot(selectId) {
+    var selectDepot;
+    $.each(listDepot, function (index, data) {
+        if (data.id === selectId) {
+            selectDepot = data;
+            return false;
+        }
+    });
+
+    if (selectDepot) {
+        form.val("form-weight", {
+            foodVariety: selectDepot.foodVariety,
+            foodLocation: selectDepot.foodLocation,
+            foodLevel: selectDepot.foodLevel,
+            noticeId: selectDepot.noticeId
+        });
+        form.render();
+    }
+}
+
+/*-----------------------绉伴噸鎿嶄綔-缁撴潫------------------------------*/
+
+/*-----------------------鍊间粨鎿嶄綔-寮�濮�------------------------------*/
+
+//鍊间粨鎻愪氦
+function submitHandle() {
+    if (null == recordData) {
+        layer.alert("娌℃湁鏁版嵁鍙互鎻愪氦锛侊紒锛�");
+        return;
+    }
+    var index = layer.load();
+    var data = form.val("form-handle");
+
+    // 鍚堝苟鏇存柊鐣跺墠缂栬緫鏁版嵁
+    Object.assign(recordData, data);
+
+    // 鑾峰彇鍥剧墖鍚嶇О
+    recordData.files = [{
+        fileName: img1
+    }, {
+        fileName: img2
+    }, {
+        fileName: img3
+    }];
+
+    console.log(recordData);
+
+    $.ajax({
+        type: "POST",
+        url: "../../basic/inout/inout-next-step",
+        dataType: "json",
+        contentType: "application/json;charset=UTF-8",
+        data: JSON.stringify(recordData),
+        success: function (result) {
+            if (result.code != "0000") {
+                layer.alert("鎻愪氦澶辫触锛岃閲嶆柊灏濊瘯锛侊紒");
+            } else {
+                layer.alert("鍊间粨瀹屾垚锛侊紒");
+                layer.closeAll();
+                flushData();
+            }
+            layer.close(index);
+        },
+        error: function () {
+            layer.close(index);
+            layer.alert("鎻愪氦澶辫触锛岃閲嶆柊灏濊瘯锛侊紒");
+        }
+    });
+}
+
+// ---------------------------寰�鏉ュ崟浣嶆搷浣�--寮�濮� -------------------//
+// 寮瑰嚭寰�鏉ュ崟浣嶄笅鎷夋
+function showCustomer() {
+    var index = layer.load();
+
+    // 娓叉煋寰�鏉ュ崟浣嶅垪琛�
+    table.render({
+        elem: '#tableCustomer',
+        url: '../../basic/inout/list-out-customer',
+        page: false,
+        // skin : "nob",
+        // size : 'sm',
+        toolbar: '#toolbarCustomer',
+        even: true,
+        method: 'POST',
+        contentType: "application/json;charset=UTF-8",
+        cols: [[{
+            field: 'id',
+            title: '缂栫爜'
+        }, {
+            field: 'name',
+            title: '鍚嶇О'
+        }, {
+            field: 'cardId',
+            title: '韬唤璇�'
+        }]],
+        parseData: function (res) {
+            if ("0000" == res.code) {
+                return {
+                    "code": "0",
+                    "msg": res.msg,
+                    "data": res.data
+                }
+            } else {
+                return {
+                    "code": "1",
+                    "msg": res.msg
+                }
+            }
+        },
+        done: function (res) {
+            layer.close(index);
+        }
+    });
+
+    //鍙屽嚮鏄剧ず閫変腑鏁版嵁
+    table.on('rowDouble(tableCustomer)', function (obj) {
+        var data = obj.data;
+        // 璧嬪��
+        form.val("form-weight", {
+            customerId: data.id,
+            customerName: data.name
+        });
+        // 鍏抽棴
+        layer.close(index2);
+    });
+
+    // 寮瑰嚭瀵硅瘽妗�
+    var index2 = layer.open({
+        type: 1,
+        title: "閫夋嫨寰�鏉ュ崟浣�",
+        area: ['600px', '600px'],
+        shade: 0,
+        content: $('#listCustomer'),
+        btn: 0,
+        btn: ['鍙栨秷'],
+        yes: function () {
+            layer.close(index2);
+        },
+        closeBtn: 0
+    });
+}
+
+// 鍒锋柊寰�鏉ュ崟浣嶆暟鎹�
+function flushCustomer() {
+    var key = $("#key").val();
+    var param = {
+        key: key
+    };
+    table.reload('tableCustomer', {
+        url: "../../basic/inout/list-out-customer",
+        where: param,
+        done: function (res) {
+            if (key) {
+                $("#key").val(key);
+            }
+        }
+    });
+}
+
+// ---------------------------寰�鏉ュ崟浣嶆搷浣�--缁撴潫-------------------//
+
+/**
+ * 寮瑰嚭鎻愰啋妗�
+ * @param msg 鎻愰啋淇℃伅
+ * @param data 鏁版嵁淇℃伅锛屽彲鑳戒负绌�
+ */
+function notify(msg, data) {
+    if (data) {
+        //璧嬪��
+        $("#resultMsg").text(msg);
+        $("#resultUserName").text(data.userName);
+        $("#resultPlateNum").text(data.plateNum);
+        if ("IN" == data.type) {
+            $("#resultType").text("鍏ュ簱-" + INOUT_PROGRESS_MSG(data.progress));
+        } else {
+            $("#resultType").text("鍑哄簱-" + INOUT_PROGRESS_MSG(data.progress));
+        }
+        $("#resultIntelCard").text(data.intelCard);
+
+        layer.open({
+            type: 1,
+            offset: ['150px', '200px'],
+            area: '450px;',
+            shade: 0.8,
+            id: 'dialog_notify_info',
+            btn: ['纭畾'],
+            content: $('#dialog-from-notify'),
+            yes: function (index) {
+                layer.closeAll();
+            }
+        });
+    } else {
+        layer.alert(msg, {offset: ['300px', '300px']});
+    }
+};
\ No newline at end of file
diff --git a/fzzy-igdss-web/src/main/resources/static/inout/out-register.js b/fzzy-igdss-web/src/main/resources/static/inout/out-register.js
new file mode 100644
index 0000000..b0acf49
--- /dev/null
+++ b/fzzy-igdss-web/src/main/resources/static/inout/out-register.js
@@ -0,0 +1,591 @@
+var layer;
+var form;
+var snapData;//鐧昏鐓х墖
+
+$(function () {
+    layui.use(['layer', 'laydate', 'form', 'util'], function () {
+        var util = layui.util;
+        var laydate = layui.laydate;
+        layer = layui.layer;
+        form = layui.form;
+        laydate.render({
+            elem: '#userBirthday'
+        });
+    });
+
+    showProgress();
+
+    var rightH = $(".rkbk-left-wrap").height();
+    $(".rkbk-right-wrap").height(rightH);
+
+    $(window).resize(function () {
+        var rightH = $(".rkbk-left-wrap").height();
+        $(".rkbk-right-wrap").height(rightH);
+    });
+
+    // 鍒濆鍖朩ebSocket
+    // initWS(deptId, bizType, progress, userId);
+});
+
+window.onload = function () {
+    // 鍔犺浇瑙嗛
+    initVideo(lprDto, null, null);
+};
+
+
+//鎺у埗娴佺▼鐜妭鏄剧ず
+function showProgress() {
+    if (!inoutProgress) {
+        return;
+    }
+    if (inoutProgress.indexOf("REGISTER") == -1) {
+        $("#progress-register").css("display", "none");
+    }
+    if (inoutProgress.indexOf("WEIGHT_FULL") == -1) {
+        $("#progress-fullWeight").css("display", "none");
+    }
+    if (inoutProgress.indexOf("HANDLE") == -1) {
+        $("#progress-hand").css("display", "none");
+    }
+    if (inoutProgress.indexOf("WEIGHT_EMPTY") == -1) {
+        $("#progress-emptyWeight").css("display", "none");
+    }
+    if (inoutProgress.indexOf("CARD_BACK") == -1) {
+        $("#progress-cardBack").css("display", "none");
+    }
+}
+
+// socket淇℃伅杩斿洖铏曠悊
+function socketOnMessage(packet) {
+
+};
+
+//浣跨敤鎻掍欢璇诲彇韬唤璇�
+function flushIdCard() {
+    var index = layer.load();
+    $.ajax({
+        type: "GET",
+        async: true,
+        url: "http://127.0.0.1:9111/IDCARD",
+        data: {},
+        dataType: "json",
+        success: function (json) {
+            layer.close(index);
+            var data = json;
+            if (data.code === "200" || data.code == 200) {
+                // 涓存椂璧嬪��
+                $("#userName").val(data.cnName);
+                $("#userSex").val(data.sex);
+                $("#userNation").val(data.nation);
+                $("#userAddress").val(data.address);
+                //$("#id_img_pers").attr("src",data.Image);
+                var time = data.birthdate;
+                if (time.length == 8) {
+                    time = time.substring(0, 4) + "-" + time.substring(4, 6) + "-" + time.substring(6);
+                }
+                $("#userBirthday").val(time);
+                $("#userId").val(data.idNum);
+                if (data.Image) {
+                    $("#id_img_pers").attr("src", data.Image);
+                }
+                getPhone();
+            }else{
+                alertError("娌℃湁鑾峰彇鍒拌韩浠借瘉淇℃伅锛�");
+                return;
+            }
+
+        },
+        error: function () {
+            layer.alert("韬唤璇佽鍙栧け璐ワ紒", {
+                offset: ['300px', '300px']
+            });
+            layer.close(index);
+        }
+    });
+}
+
+
+//浣跨敤鎻掍欢璇诲彇鏅烘収鍗″彿
+function flushICCard() {
+    $("#intelCard").val(null);
+    $.ajax({
+        type: "GET",
+        async: true,
+        url: "http://127.0.0.1:9111/ICCARD",
+        data: {},
+        dataType: "json",
+        // jsonp: "callback",
+        // jsonpCallback: "jsonpCallback",
+        success: function (json) {
+            //console.log(json);
+            var data = json;
+            //console.log(data);
+            if (data.code === "200" || data.code == 200) {
+                $("#intelCard").val(data.no);
+            } else {
+                layer.alert("璇烽噸鏂拌鍗★紒", {offset: ['300px', '300px']});
+            }
+        },
+        error: function () {
+            layer.alert("IC鍗¤鍙栧嚭閿欙紒", {offset: ['300px', '300px']});
+        }
+    });
+}
+
+
+//鑾峰彇鑱旂郴鏂瑰紡
+function getPhone() {
+    var userId = $("#userId").val();
+    var data = {
+        userId: userId
+    };
+    $.ajax({
+        type: "POST",
+        url: "../../basic/inout/driver-phone",
+        dataType: "json",
+        contentType: "application/json;charset=UTF-8",
+        data: JSON.stringify(data),
+        success: function (result) {
+            if (result.code != "0000") {
+                layer.msg("鏈幏鍙栧埌鍙告満淇℃伅锛岃濉啓鑱旂郴鏂瑰紡");
+            } else {
+                $("#userContact").val(result.data.mobile);
+            }
+        },
+        error: function () {
+            layer.msg("鏈幏鍙栧埌鍙告満淇℃伅锛岃濉啓鑱旂郴鏂瑰紡");
+        }
+    });
+}
+
+
+//璇诲彇杞︾墝鍙�
+function flushPlateNum() {
+    var param = JSON.stringify(lprDto);
+    var index = layer.load();
+    $.ajax({
+        type: "POST",
+        url: "../../inout/api/get-plateNum",
+        dataType: "json",
+        contentType: "application/json;charset=UTF-8",
+        data: param,
+        success: function (result) {
+            if (result.code != "0000") {
+                alertError(result.msg);
+            } else {
+                $("#plateNum").val(result.data.plateNum);
+                $("#plateNum2").val(result.data.plateNum);
+                if (plateTag === "Y") {
+                    plateNumImg(result.data.plateNum, result.data.platePath);
+                }
+            }
+            layer.close(index);
+            getPlateNumAfter()
+        },
+        error: function () {
+            layer.close(index);
+            alertError("杞︾墝璇嗗埆澶辫触锛�");
+        }
+    });
+}
+
+
+//鑾峰彇鎸傝溅鍙�
+function getPlateNumAfter() {
+    var plateNum = $("#plateNum").val();
+    var data = {
+        plateNum: plateNum
+    };
+    $.ajax({
+        type: "POST",
+        url: "../../basic/inout/plate-num",
+        dataType: "json",
+        contentType: "application/json;charset=UTF-8",
+        data: JSON.stringify(data),
+        success: function (result) {
+            if (result.code != "0000") {
+                layer.msg("鏈幏鍙栧埌杞︾墝淇℃伅锛岃濉啓鎸傝溅鍙�");
+            } else {
+                $("#plateNumAfter").val(result.data.plateNumAfter);
+            }
+        },
+        error: function () {
+            layer.msg("鏈幏鍙栧埌杞︾墝淇℃伅锛岃濉啓鎸傝溅鍙�");
+        }
+    });
+}
+
+///閲嶇疆杞︾墝璇嗗埆淇℃伅
+function resetPlateNum() {
+    var index = layer.load();
+    var param = JSON.stringify(lprDto);
+    $.ajax({
+        type: "POST",
+        url: "../../inout/api/reset-lpr",
+        dataType: "json",
+        contentType: "application/json;charset=UTF-8",
+        data: param,
+        success: function (result) {
+            if (result.code != "0000") {
+                layer.alert(result.msg, {
+                    offset: ['300px', '300px']
+                });
+            } else {
+                layer.alert("閲嶇疆鎴愬姛锛岃閲嶆柊鑾峰彇杞︾墝淇℃伅", {
+                    offset: ['300px', '300px']
+                });
+            }
+            layer.close(index);
+        },
+        error: function () {
+            layer.close(index);
+            layer.alert("閲嶇疆鎵ц澶辫触", {
+                offset: ['300px', '300px']
+            });
+        }
+    });
+}
+
+// 琛ㄥ崟娓呯┖
+function resetForm() {
+    $("#form-data")[0].reset();
+    form.render();
+    // 韬唤璇侀噸缃�
+    $("#id_img_pers").attr("src", "../../static/images/rkbk-photo_03.png");
+    $("#pz-img").removeClass("kccz-r-img-red");
+    $("#pz-text").text("鑷姩鎶撴媿");
+}
+
+// 褰撳墠瀹屾垚
+function submit() {
+    var data = form.val("form-data");
+    if (!data.plateNum) {
+        alertError("鎵胯繍浜鸿溅鐗屽彿涓嶈兘涓虹┖");
+        return;
+    }
+    if (!data.userName) {
+        alertError("鎵胯繍浜哄鍚嶄笉鑳戒负绌�");
+        return;
+    }
+    if (!data.userId) {
+        alertError("鎵胯繍浜鸿韩浠借瘉鍙蜂笉鑳戒负绌�");
+        return;
+    }
+    if (!data.userContact) {
+        alertError("鎵胯繍浜鸿仈绯绘柟寮忎笉鑳戒负绌�");
+        return;
+    }
+    var isPhone = checkPhone(data.userContact);
+    if (!isPhone) {
+        alertError("鎵嬫満鍙锋牸寮忎笉瀵癸紝璇锋鏌ヤ竴涓嬫墜鏈哄彿");
+        return;
+    }
+    var isUserId = checkPsidno(data.userId);
+    if (!isUserId) {
+        alertError("韬唤璇佸彿鏍煎紡涓嶅锛岃妫�鏌ヤ竴涓嬭韩浠借瘉鍙�");
+        return;
+    }
+    var isPlateNum = checkPlateNum(data.plateNum);
+    if (!isPlateNum) {
+        alertError("杞︾墝鍙锋牸寮忎笉瀵癸紝璇锋鏌ヤ竴涓嬭溅鐗屽彿");
+        return;
+    }
+
+    //绯荤粺鎶撴媿
+    layer.msg("绯荤粺鑷姩鎶撴媿璁板綍鈥︹��");
+    snapData = {
+        companyId: companyId,
+        deptId: deptId,
+        progress: progress,
+        bizType: type,
+        plateNum: data.plateNum,
+        id1: (null != lprDto) ? lprDto.id : null,
+        id2: (null != lprDto) ? lprDto.id : null,
+    };
+    $.ajax({
+        sync: false,
+        type: "POST",
+        url: "../../inout/api/snap-img",
+        dataType: "json",
+        contentType: "application/json;charset=UTF-8",
+        data: JSON.stringify(snapData),
+        success: function (result) {
+            if (result.code != "0000") {
+                layer.alert(result.msg);
+                submitData(data);
+            } else {
+                snapData = result.data;
+
+                $("#pz-img").addClass("kccz-r-img-red");
+                $("#pz-text").text("宸叉媿鐓�");
+
+                submitData(data);
+            }
+        },
+        error: function () {
+            layer.msg("鍚庡彴璋冪敤鎴浘澶辫触锛岃閲嶆柊灏濊瘯锛侊紒");
+            submitData(data);
+        }
+    });
+}
+
+//鎵ц淇濆瓨鏁版嵁
+function submitData(data) {
+    var index = layer.load();
+
+    var files = [{
+        fileName: snapData.fileName1
+    },{
+        fileName: snapData.fileName2
+    }];
+    data.files = files;
+
+    $.ajax({
+        type: "POST",
+        url: "../../basic/inout/submit-register",
+        dataType: "json",
+        contentType: "application/json;charset=UTF-8",
+        data: JSON.stringify(data),
+        success: function (result) {
+            layer.close(index);
+            if (result.code != "0000") {
+                notify(result.msg, result.data);
+            } else {
+                notify("鏁版嵁鎻愪氦鎴愬姛", result.data);
+                // 閲嶇疆椤甸潰
+                resetForm();
+            }
+        },
+        error: function () {
+            layer.close(index);
+            layer.alert("鎻愪氦澶辫触锛岃閲嶆柊灏濊瘯锛侊紒");
+        }
+    });
+}
+
+/**
+ * 寮瑰嚭鎻愰啋妗�
+ * @param msg 鎻愰啋淇℃伅
+ * @param data 鏁版嵁淇℃伅锛屽彲鑳戒负绌�
+ */
+function notify(msg, data) {
+    if (data) {
+        //璧嬪��
+        $("#resultMsg").text(msg);
+        $("#resultUserName").text(data.userName);
+        $("#resultPlateNum").text(data.plateNum);
+        if ("IN" == data.type) {
+            $("#resultType").text("鍏ュ簱-" + INOUT_PROGRESS_MSG(data.progress));
+        } else {
+            $("#resultType").text("鍑哄簱-" + INOUT_PROGRESS_MSG(data.progress));
+        }
+        $("#resultIntelCard").text(data.intelCard);
+
+        layer.open({
+            type: 1,
+            offset: ['150px', '200px'],
+            area: '450px;',
+            shade: 0.8,
+            id: 'dialog_notify_info',
+            btn: ['纭畾'],
+            content: $('#dialog-from-notify'),
+            yes: function (index) {
+                layer.closeAll();
+            }
+        });
+    } else {
+        layer.alert(msg, {offset: ['300px', '300px']});
+    }
+}
+
+function checkPhone(str) {
+    var reg = /^1[3456789]\d{9}$/;
+    // ^1  浠�1寮�澶�
+    // [3456789] 绗�2浣嶏紝浣跨敤鍘熷瓙琛ㄩ噷鐨勪换鎰忎竴涓師瀛愰兘鍙互
+    // \d{9}$  绗笁浣�  鏈濆悗鍙互鏄换鎰忔暟瀛�  骞朵笖鏈�鍚庣粨灏惧繀椤绘槸鏁板瓧
+
+    if (reg.test(str)) {
+        return true;
+    } else {
+        return false;
+    }
+}
+
+/**
+ * @description : 鏍¢獙韬唤璇佸彿鏄惁鍚堣锛�18浣嶃��15浣嶏級
+ * @param        value
+ * @return       {Boolean} true-鍚堣 false-涓嶅悎瑙�
+ */
+function checkPsidno(value) {
+    var psidno = String(value)
+    // 1.鏍¢獙韬唤璇佸彿鏍煎紡鍜岄暱搴�
+    var regPsidno = /^(^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$)|(^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[X])$)$/
+    if (!regPsidno.test(psidno)) {
+        return false;
+    }
+    // 2.鏍¢獙鍓嶄袱浣嶇殑鐪佷唤缂栫爜鏄惁姝g‘
+    var province = {
+        11: '鍖椾含',
+        12: '澶╂触',
+        13: '娌冲寳',
+        14: '灞辫タ',
+        15: '鍐呰挋鍙�',
+        21: '杈藉畞',
+        22: '鍚夋灄',
+        23: '榛戦緳姹� ',
+        31: '涓婃捣',
+        32: '姹熻嫃',
+        33: '娴欐睙',
+        34: '瀹夊窘',
+        35: '绂忓缓',
+        36: '姹熻タ',
+        37: '灞变笢',
+        41: '娌冲崡',
+        42: '婀栧寳 ',
+        43: '婀栧崡',
+        44: '骞夸笢',
+        45: '骞胯タ',
+        46: '娴峰崡',
+        50: '閲嶅簡',
+        51: '鍥涘窛',
+        52: '璐靛窞',
+        53: '浜戝崡',
+        54: '瑗胯棌 ',
+        61: '闄曡タ',
+        62: '鐢樿們',
+        63: '闈掓捣',
+        64: '瀹佸',
+        65: '鏂扮枂',
+        71: '鍙版咕',
+        81: '棣欐腐',
+        82: '婢抽棬',
+        91: '鍥藉'
+    }
+    if (!province[Number(psidno.slice(0, 2))]) {
+        return false;
+    }
+    var reg;
+    var arrSplit;
+    var year;
+    var month;
+    var day;
+    // 3.鏍¢獙鍑虹敓鏃ユ湡
+    if (psidno.length === 15) {
+        // 15浣嶅彿鐮� 鐪侊紙2浣嶏級甯傦紙2浣嶏級鍘匡紙2浣嶏級骞达紙2浣嶏級鏈堬紙2浣嶏級鏃ワ紙2浣嶏級鏍¢獙鐮侊紙3浣嶏級
+        reg = new RegExp(/^(\d{6})(\d{2})(\d{2})(\d{2})(\d{3})$/)
+        arrSplit = psidno.match(reg)
+        // 15浣嶅彿鐮佸湪骞翠唤鍓嶈ˉ 19 鎴� 20
+        year = Number(arrSplit[2].charAt(0)) > 0 ? '19' + arrSplit[2] : '20' + arrSplit[2]
+        month = arrSplit[3]
+        day = arrSplit[4]
+        if (!validateBirthday(year, month, day)) {
+            return false;
+        }
+    } else if (psidno.length === 18) {
+        // 18浣嶅彿鐮� 鐪侊紙2浣嶏級甯傦紙2浣嶏級鍘匡紙2浣嶏級骞达紙4浣嶏級鏈堬紙2浣嶏級鏃ワ紙2浣嶏級鏍¢獙鐮侊紙4浣嶏級
+        reg = new RegExp(/^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$/)
+        arrSplit = psidno.match(reg)
+        year = arrSplit[2]
+        month = arrSplit[3]
+        day = arrSplit[4]
+        if (!validateBirthday(year, month, day)) {
+            return false;
+        }
+    } else {
+        return false;
+    }
+    // 4.18浣嶅彿鐮佹牎楠岀敓鎴愮殑鏍¢獙鐮�
+    if (psidno.length === 18) {
+        var Wi = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2] // 鍔犳潈鍥犲瓙
+        var parity = ['1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'] // 鏍¢獙鐮�
+        var sum = 0;
+        for (var i = 0; i < 17; i++) {
+            sum += Number(psidno.charAt(i)) * Wi[i];
+        }
+        if (parity[sum % 11] !== psidno[17]) {
+            return false;
+        }
+    }
+    return true;
+}
+
+// 鏍¢獙鍑虹敓鏃ユ湡鏄惁鍚堢悊
+function validateBirthday(year, month, day) {
+    year = Number(year) // 骞�
+    month = Number(month) // 鏈�
+    day = Number(day) // 鏃�
+    var nowTime = new Date().getTime() // 褰撳墠鏃堕棿鎴�
+    var birthTime = new Date(year, month, day).getTime() // 鑾峰彇鍑虹敓鏃ユ湡鐨勬椂闂存埑
+    // 涓嶈兘鏄槑澶╁嚭鐢熺殑鍚�
+    if (birthTime > nowTime) {
+        return false;
+    }
+    // 涓�鑸汉娲讳笉鍒�150宀佸惂
+    var nowYear = new Date().getFullYear()
+    if ((nowYear - year) > 150) {
+        return false;
+    }
+    // 涓嶈兘鏄�13鏈堝嚭鐢熺殑鍚�
+    if (month < 1 || month > 12) {
+        return false;
+    }
+    // 涓嶈兘鏄�2鏈�30鍙枫��4鏈�31鍙枫��5鏈�32鍙峰嚭鐢熺殑鍚�
+    var date = new Date(year, month, 0) // 鑾峰彇褰撴湀鐨勬渶鍚庝竴澶�
+    if (day < 1 || day > date.getDate()) {
+        return false;
+    }
+    return true;
+}
+
+//杞︾墝鍙烽獙璇佹柟娉�
+
+function checkPlateNum(plateNum) {
+
+    var xreg = /^[浜触娌笣鍐�璞簯杈介粦婀樼殩椴佹柊鑻忔禉璧i剛妗傜敇鏅嬭挋闄曞悏闂借吹绮ら潚钘忓窛瀹佺惣浣块A-Z]{1}[A-Z]{1}(([0-9]{5}[DF]$)|([DF][A-HJ-NP-Z0-9][0-9]{4}$))/;
+
+    var creg = /^[浜触娌笣鍐�璞簯杈介粦婀樼殩椴佹柊鑻忔禉璧i剛妗傜敇鏅嬭挋闄曞悏闂借吹绮ら潚钘忓窛瀹佺惣浣块A-Z]{1}[A-Z]{1}[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9鎸傚璀︽腐婢砞{1}$/;
+
+    if (plateNum.length === 7) {
+        return creg.test(plateNum);
+    } else if (plateNum.length === 8) {
+        return xreg.test(plateNum);
+    } else {
+        return false;
+    }
+}
+
+/**
+ * 寮瑰嚭鎻愰啋妗�
+ * @param plateNum 鎻愰啋淇℃伅
+ * @param platePath 鏁版嵁淇℃伅锛屽彲鑳戒负绌�
+ */
+plateNumImg = function (plateNum, platePath) {
+    var mainDiv = $("#plateNumId");
+    mainDiv.empty();
+    var html = ""
+    if (!plateNum) {
+        console.log("1")
+        html += "<div style=\"color: red; font-size: 50px; text-align: center;\"><span>鏈鍙栧埌杞︾墝鍙�</span></div>";
+    } else {
+        console.log(plateNum)
+        html += "<div style=\"color: red; font-size: 50px; text-align: center;\"><span>" + plateNum + "</span></div>";
+    }
+
+    html += "<div style=\"text-align: center\"><img class ='cut-img' src='../../basic/common/getImg?filePath=" + platePath + "' /></div>";
+
+    mainDiv.html(html);
+
+    layer.open({
+        type: 1,
+        title: "杞︾墝鍙峰姣�",
+        offset: 'l',
+        shade: 0.8,
+        area: ['55%', '90%'],
+        id: 'dialog_plate_img',
+        btn: ['纭畾'],
+        content: $('#plateNumImg'),
+        yes: function (index) {
+            layer.closeAll();
+        }
+    });
+};
diff --git a/fzzy-igdss-web/src/main/resources/templates/inout/out-easy.html b/fzzy-igdss-web/src/main/resources/templates/inout/out-easy.html
new file mode 100644
index 0000000..afaf467
--- /dev/null
+++ b/fzzy-igdss-web/src/main/resources/templates/inout/out-easy.html
@@ -0,0 +1,983 @@
+<!DOCTYPE html>
+<html lang="zh-cn" xmlns:th=http://www.thymeleaf.org>
+<head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+    <meta name="viewport"
+          content="width=device-width, initial-scale=1, maximum-scale=1">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="renderer" content="webkit">
+    <title>鍑哄叆搴撶鐞�-鍑哄簱绠�鏄撴搷浣�</title>
+
+    <link rel="stylesheet" type="text/css" th:href="@{/ajax/libs/layui/css/layui.css}"/>
+    <link rel="stylesheet" type="text/css" th:href="@{/inout/inout-style.css}">
+
+    <!--浣跨敤鎵撳嵃鎻掍欢 闅愯棌褰撳墠鎻掍欢 -->
+    <script th:src="@{/js/plugins/lodop/LodopFuncs.js}"></script>
+    <style type="text/css">
+        .qyzj-tabBox {
+            margin-top: 0px !important;
+            overflow: hidden;
+            width: 100%;
+        }
+
+        .layui-table, .layui-table-view {
+            margin: 0;
+        }
+
+        #layui-table-page1 {
+            text-align: right !important;
+        }
+
+        .display-none {
+            display: none;
+        }
+
+        .control-btn {
+            height: 35px;
+            line-height: 30px;
+        }
+
+        .tip-red {
+            text-align: right;
+            padding-left: 40px;
+            font-size: 16px;
+            color: red;
+            font-weight: bold;
+        }
+
+        thead span {
+            font-weight: bold
+        }
+
+        .red-color {
+            color: red;
+        }
+
+        .layui-select-disabled .layui-disabled {
+            color: #000 !important;
+        }
+
+        .layui-table td {
+            font-weight: bold;
+        }
+
+        .depot-food input {
+            line-height: 34px;
+            padding-right: 10px;
+            font-size: 16px;
+            color: #666;
+            background: #eff4f6;
+        }
+
+        .rk-main {
+            margin: 0 16px;
+        }
+
+        .qyzj-con {
+            margin-top: 0;
+            padding: 15px;
+        }
+
+        .kccz-con {
+            margin: 16px 0;
+        }
+
+        .kccz-r-item {
+            height: 265px;
+        }
+
+        .kccz-r-con {
+            height: unset;
+            padding-right: unset;
+        }
+
+        .kccz-r-vedio {
+            height: 215px;
+        }
+
+        .layui-flow-more a *, .layui-laypage input, .layui-table-view select[lay-ignore] {
+            display: none;
+        }
+
+        .layui-laypage .layui-laypage-skip {
+            display: none;
+        }
+
+        .color-red {
+            color: red !important;
+        }
+
+        .rkbk-search-input {
+            background: #FFFFFF;
+        }
+    </style>
+
+</head>
+
+<body>
+<div class="l-container layui-clear">
+    <div class="rk-main">
+        <div class="kccz-con">
+            <div class="kccz-left fl" style="width: 76%;">
+                <div class="qyzj-con radius-6">
+                    <div class="qyzj-con-top layui-row" style="margin-top: 5px;">
+                        <form class="layui-form" action="" id="form-param"
+                              lay-filter="form-param">
+
+                            <div class="layui-form-item display-none">
+                                <label class="layui-form-label">闅愯棌-绫诲瀷</label>
+                                <div class="layui-input-block">
+                                    <input type="text" name="type" th:value="${type}"
+                                           autocomplete="off" class="layui-input rkbk-search-input">
+                                </div>
+                            </div>
+                            <div class="layui-form-item display-none">
+                                <label class="layui-form-label">闅愯棌-搴撳尯缂栫爜</label>
+                                <div class="layui-input-block">
+                                    <input type="text" name="deptId" th:value="${deptId}"
+                                           autocomplete="off" class="layui-input rkbk-search-input">
+                                </div>
+                            </div>
+                            <div class="layui-col-xs4">
+                                <div class="layui-form-item">
+                                    <label class="layui-form-label">鍗曟嵁鍙�</label>
+                                    <div class="layui-input-block">
+                                        <input type="text" name="checkId" placeholder="璇疯緭鍏�"
+                                               autocomplete="off" class="layui-input rkbk-search-input">
+                                    </div>
+                                </div>
+                            </div>
+                            <div class="layui-col-xs4">
+                                <div class="layui-form-item">
+                                    <label class="layui-form-label">鐩爣浠撳簱</label>
+                                    <div class="layui-input-block rkbk-selBox">
+                                        <select name="depotId">
+                                            <option value=""></option>
+                                            <option th:each="depot,depotSet:${listDepot}"
+                                                    th:value="${depot.id}" th:text="${depot.name}"></option>
+                                        </select>
+                                    </div>
+                                </div>
+                            </div>
+                            <div class="layui-col-xs4">
+                                <div class="layui-form-item">
+                                    <label class="layui-form-label">寰�鏉ュ崟浣�</label>
+                                    <div class="layui-input-block">
+                                        <input type="text" name="customerName" placeholder="璇疯緭鍏�"
+                                               autocomplete="off" class="layui-input rkbk-search-input">
+                                    </div>
+                                </div>
+                            </div>
+                            <div class="layui-col-xs4">
+                                <div class="layui-form-item">
+                                    <label class="layui-form-label">寮�濮嬫椂闂�</label>
+                                    <div class="layui-input-block">
+                                        <input type="text" name="start" placeholder="璇烽�夋嫨"
+                                               autocomplete="off"
+                                               class="layui-input rkbk-search-input bg-date" id="start">
+                                    </div>
+                                </div>
+                            </div>
+                            <div class="layui-col-xs4">
+                                <div class="layui-form-item">
+                                    <label class="layui-form-label">缁撴潫鏃堕棿</label>
+                                    <div class="layui-input-block">
+                                        <input type="text" name="end" placeholder="璇烽�夋嫨"
+                                               autocomplete="off"
+                                               class="layui-input rkbk-search-input bg-date" id="end">
+                                    </div>
+                                </div>
+                            </div>
+                            <div class="layui-col-xs4 layui-text-right">
+                                <input type="button" style="border-radius: 50px;background-color: #1c84c6 !important;width: 94px;height: 32px;line-height: 32px;font-size: 14px;" value="鎼滅储" class="qyzj-top-btn layui-btn btn-blue" onclick="flushData()"/>
+                                <input type="button" style="border-radius: 50px;background-color: #f8ac59 !important;width: 94px;height: 32px;line-height: 32px;font-size: 14px;" value="閲嶇疆" class="qyzj-top-btn layui-btn btn-red" onclick="resetForm()"/>
+                                <input type="button" style="border-radius: 50px;background-color: #1ab394 !important;width: 94px;height: 32px;line-height: 32px;font-size: 14px;" value="鐧昏" class="qyzj-top-btn layui-btn btn-group" onclick="quickRegister()"/>
+                            </div>
+
+                        </form>
+                    </div>
+                    <!--qyzj-con-oop end-->
+
+                    <div class="qyzj-tabBox">
+                        <table class="layui-table" lay-skin="nob" id="tableData"
+                               lay-filter="tableData">
+                            <colgroup>
+                                <col width="10%">
+                                <col width="10%">
+                                <col width="10%">
+                                <col width="10%">
+                                <col width="10%">
+                                <col width="10%">
+                                <col width="10%">
+                                <col width="">
+                                <col width="15%">
+                            </colgroup>
+                            <thead>
+                            <tr class="qyzj-table-tit">
+                                <th>鍗曟嵁鍙�</th>
+                                <th>杞︾墝鍙�</th>
+                                <th>绫诲瀷</th>
+                                <th>鍙戣揣鍗曚綅</th>
+                                <th>鏀惰揣鍗曚綅</th>
+                                <th>瑁呭嵏浠撳簱</th>
+                                <th>绮鍝佺</th>
+                                <th>娴佺▼杩涘害</th>
+                                <th>鎿嶄綔</th>
+                            </tr>
+                            </thead>
+                            <tbody>
+                            </tbody>
+                        </table>
+
+                    </div>
+                    <!--qyzj-tabBox end-->
+
+                    <!--qyzj-page-wrap end-->
+
+                </div>
+                <!--qyzj-con end-->
+            </div>
+
+            <!--kccz-left end-->
+            <div class="kccz-right fr" style=" width: 23%;">
+                <div class="kccz-r-item radius-6">
+                    <div class="kccz-r-box">
+                        <div class="rkbk-tit">
+                            <i></i>
+                            <h3>杩囩▼鎶撴媿瑙嗛1</h3>
+                        </div>
+                        <div class="kccz-r-con">
+                            <div class="kccz-r-vedio" id="kccz-r-video1">
+
+                            </div>
+                        </div>
+
+                    </div>
+
+                </div>
+                <!--kccz-r-item end-->
+
+                <div class="kccz-r-item radius-6 mt-10">
+                    <div class="kccz-r-box">
+                        <div class="rkbk-tit">
+                            <i></i>
+                            <h3>杩囩▼鎶撴媿瑙嗛2</h3>
+                        </div>
+                        <div class="kccz-r-con">
+                            <div class="kccz-r-vedio" id="kccz-r-video2">
+
+                            </div>
+                        </div>
+
+                    </div>
+
+                </div>
+                <!--kccz-r-item end-->
+
+                <div class="kccz-r-item radius-6 mt-10">
+                    <div class="kccz-r-box">
+                        <div class="rkbk-tit">
+                            <i></i>
+                            <h3>杩囩▼鎶撴媿瑙嗛3</h3>
+                        </div>
+                        <div class="kccz-r-con">
+                            <div class="kccz-r-vedio" id="kccz-r-video3">
+
+                            </div>
+                        </div>
+
+                    </div>
+
+                </div>
+                <!--kccz-r-item end-->
+
+            </div>
+        </div>
+        <!--kccz-con end-->
+
+    </div>
+    <!--rk-main end-->
+
+</div>
+<!--l-container end-->
+
+<script th:src="@{/ajax/libs/layui/layui.js}"></script>
+<script th:src="@{/js/jquery.min.js}"></script>
+<script th:src="@{/common/constant.js}"></script>
+<script th:src="@{/common/igds-common.js}"></script>
+<script th:src="@{/inout/inout-common.js}"></script>
+<script th:src="@{/inout/inout-print.js}"></script>
+<script th:src="@{/inout/video-play.js}"></script>
+<script th:src="@{/inout/weight.js}"></script>
+<script th:src="@{/inout/out-easy.js}"></script>
+
+<script th:inline="javascript">
+    //娴佺▼鐜妭
+    var inoutProgress = [[${inoutProgress}]];
+    //搴撳尯缂栫爜
+    var deptId = [[${deptId}]];
+    //浠撳簱鍒楄〃
+    var listDepot = [[${listDepot}]];
+    //涓氬姟姝ラ
+    var bizType = [[${bizType}]];
+    //userId
+    var userId = [[${loginUser.loginName}]];
+    //鍑哄叆搴撶被鍨�
+    var type = [[${type}]];
+    var companyId = [[${loginUser.companyId}]];
+    //鍝佺
+    var listFoodVariety = [[${listFoodVariety}]];
+    //褰撳墠娴佺▼
+    var progress = [[${progress}]];
+    //鍦扮淇℃伅
+    var weightDto = [[${weightDto}]];
+
+    //鎶撴媿鎽勫儚鏈�
+    var snapDto1 = [[${snapDto1}]];
+    var snapDto2 = [[${snapDto2}]];
+    var snapDto3 = [[${snapDto3}]];
+    //榛樿鏌ヨ鏃堕棿
+    var startTime = [[${startTime}]];
+    var endTime = [[${endTime}]];
+</script>
+
+<script type="text/html" id="barControl">
+    <a class="layui-btn control-btn" lay-event="edit">鎿嶄綔</a>
+</script>
+<script type="text/html" id="toolbarCustomer">
+    <div class="">
+        <div class="layui-col-xs6">
+            <input type="text" id="key" placeholder="杈撳叆缂栫爜鎴栬�呭悕绉扳�︹��" class="layui-input">
+        </div>
+        <div class="layui-col-xs6" style="padding-left: 10px;">
+            <button class="layui-btn layui-btn-sm" onclick="flushCustomer()">鏌ヨ</button>
+        </div>
+    </div>
+</script>
+</body>
+
+<!-- --------------寮瑰嚭寰�鏉ュ崟浣嶅垪琛�-------------- -->
+<div class="layui-tab-content" id="listCustomer" style="display: none;">
+    <table class="layui-table" lay-skin="nob" id="tableCustomer"
+           lay-filter="tableCustomer" style="margin: 0px;"></table>
+</div>
+<!-- --------------绉伴噸鎿嶄綔寮圭獥-------------- -->
+<div class="layui-tab-content" id="weightDetail" style="display: none;padding: 10px 10px;">
+    <div class="rk-main" style="margin: 0;">
+        <div class="qyzj-btnbox layui-clear" style="margin-top: unset;">
+            <div class="rkbk-quick fl" style="line-height: 60px">
+                <button class="rkbk-quick-btn layui-btn btn-blue" onclick="weight()">
+                    <i><img th:src="@{/img/web/inout/icon-chengzhong.png}"/></i>姝ラ1锛氱О閲嶅強鎶撴媿
+                </button>
+                <button class="rkbk-quick-btn layui-btn btn-green" onclick="submit()">
+                    <i><img th:src="@{/img/web/inout/icon-ok.png}"/></i>姝ラ2锛氬畬鎴愮О閲�
+                </button>
+                <button class="rkbk-quick-btn layui-btn btn-blue" onclick="printBill()">
+                    <i><img th:src="@{/img/web/inout/icon-dayin.png}"/></i>姝ラ3锛氭墦鍗拌繃纾呭崟
+                </button>
+                <button class="rkbk-quick-btn layui-btn btn-violet"
+                        onclick="flushPage()">
+                    <i><img th:src="@{/img/web/inout/icon-shuaxin2.png}"/></i>鍒锋柊椤甸潰
+                </button>
+            </div>
+            <!-- 娴佺▼寮曞 -->
+            <div class="rk-step-wrap fr" style="padding: unset;border-bottom: unset">
+                <ul class="rk-step">
+                    <li id="progress-register" class="active rk-step-first">
+                        <span class="rk-step-span">
+                            <img th:src="@{/img/web/inout/icon-dengji.png}"/>
+                        </span>
+                        <p>鍏ュ簱鐧昏</p>
+                    </li>
+                    <li id="progress-fullWeight">
+                        <span class="rk-step-span">
+                            <img th:src="@{/img/web/inout/icon-chengzhong.png}"/>
+                        </span>
+                        <p>婊¤溅绉伴噸</p>
+                    </li>
+                    <li id="progress-hand" class="">
+                        <span class="rk-step-span">
+                            <img th:src="@{/img/web/inout/icon-xiehuo.png}"/>
+                        </span>
+                        <p>鍏ュ簱鍊间粨</p>
+                    </li>
+                    <li id="progress-emptyWeight" class="">
+                        <span class="rk-step-span">
+                            <img th:src="@{/img/web/inout/icon-chengzhong.png}"/>
+                        </span>
+                        <p>绌鸿溅绉伴噸</p>
+                    </li>
+                </ul>
+            </div>
+            <!-- 娴佺▼寮曞EDN -->
+        </div>
+        <!--qyzj-btnbox end-->
+        <div class="kccz-con" style="margin: 5px 0 0 0">
+            <div class="kccz-left fl" style="width: 100%">
+                <div class="kccz-left-box1 radius-6" style="padding: 1px 20px 10px 20px">
+                    <div class="rkbk-tit">
+                        <i></i>
+                        <div>
+                            <h3 style="width: 150px; float: left;">鐧昏淇℃伅</h3>
+                            <div id="btn_register" style="display: none">
+                                <input type="button" value="璇昏韩浠借瘉" style="right: 120px;width: unset;"
+                                       class="rkbk-search-btn layui-btn" onclick="flushIdCard()">
+                                <input type="button" value="杞︾墝璇嗗埆" style="width: unset;"
+                                       class="rkbk-search-btn layui-btn" onclick="flushICCard()">
+                            </div>
+                        </div>
+                    </div>
+                    <div class="kccz-data-form layui-row">
+                        <form class="layui-form" action="" id="form-data-regster"
+                              lay-filter="form-data-regster">
+                            <div class="layui-col-xs4">
+                                <div class="layui-form-item">
+                                    <label class="layui-form-label color-red">鎵胯繍浜�</label>
+                                    <div class="layui-input-block">
+                                        <input type="text" name="userName1" placeholder="璇疯緭鍏�" class="layui-input">
+                                    </div>
+                                </div>
+                            </div>
+                            <div class="layui-col-xs4">
+                                <div class="layui-form-item">
+                                    <label class="layui-form-label color-red">韬唤璇佸彿</label>
+                                    <div class="layui-input-block">
+                                        <input type="text" name="userId1" id="userId1" placeholder="璇疯緭鍏�"
+                                               autocomplete="off" class="layui-input">
+                                    </div>
+                                </div>
+                            </div>
+                            <div class="layui-col-xs4">
+                                <div class="layui-form-item">
+                                    <label class="layui-form-label color-red">杞︾墝鍙�</label>
+                                    <div class="layui-input-block">
+                                        <input type="text" name="plateNum1" id="plateNum1" placeholder="璇疯緭鍏�"
+                                               autocomplete="off" class="layui-input">
+                                    </div>
+                                </div>
+                            </div>
+                            <div class="layui-col-xs4">
+                                <div class="layui-form-item">
+                                    <label class="layui-form-label">鑱旂郴鐢佃瘽</label>
+                                    <div class="layui-input-block">
+                                        <input type="text" name="userContact" id="userContact" placeholder="璇疯緭鍏�"
+                                               autocomplete="off" class="layui-input">
+                                    </div>
+                                </div>
+                            </div>
+                            <div class="layui-col-xs8">
+                                <div class="layui-form-item">
+                                    <label class="layui-form-label">鍦�&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;鍧�</label>
+                                    <div class="layui-input-block">
+                                        <input type="text" name="userAddress" id="userAddress" placeholder="璇疯緭鍏�"
+                                               autocomplete="off" class="layui-input">
+                                    </div>
+                                </div>
+                            </div>
+                        </form>
+                    </div>
+                    <!--kccz-czxx-wrap end-->
+
+                </div>
+                <div class="kccz-left-box1 mt-10 radius-6">
+                    <div class="rkbk-tit">
+                        <i></i>
+                        <div>
+                            <h3 style="width: 150px; float: left;">绉伴噸淇℃伅</h3>
+                            <div style="float: right;">
+                                <div class="kccz-czxx-left fl">
+                                    <div class="layui-form-item">
+                                        <label class="layui-form-label">褰撳墠鍦扮</label>
+                                        <div class="layui-input-block">
+                                            <select name="depotId" id="scaleName" lay-filter="select_scaleName">
+                                                <option th:each="dto,weightSet:${listWeight}"
+                                                        th:value="${dto.sort}" th:text="${dto.name}"></option>
+                                            </select>
+                                        </div>
+                                    </div>
+                                </div>
+                                <div class="kccz-czxx-right fr">
+                                    <dl class="kccz-czxx-dl" style="padding-left: 15px;">
+                                        <dt>
+                                            <i><img id="img_scale_statule"
+                                                    th:src="@{/img/web/inout/icon-red.png}"/></i>
+                                        </dt>
+                                    </dl>
+
+                                </div>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="kccz-czxx-wrap">
+                        <div class="kccz-czxx-num">
+                            <span id="weightValue">0.00</span><em>KG</em>
+                        </div>
+                    </div>
+                    <!--kccz-czxx-wrap end-->
+
+                </div>
+                <!--kccz-left-box1 end-->
+
+                <div class="kccz-left-box2 mt-10 radius-6" style="height: unset;">
+                    <div class="rkbk-tit">
+                        <i></i>
+                        <h3>涓氬姟鏁版嵁</h3>
+                    </div>
+                    <div class="kccz-data-form layui-row" style="margin-top: unset;padding: 10px 0 0 0;">
+                        <form class="layui-form" action="" id="form-data"
+                              lay-filter="form-data">
+                            <div class="layui-form-item display-none">
+                                <input type="text" name="id">
+                            </div>
+                            <div class="layui-form-item display-none">
+                                <input type="text" name="progress">
+                            </div>
+                            <div class="layui-form-item display-none">
+                                <input type="text" name="type">
+                            </div>
+                            <div class="layui-form-item display-none">
+                                <input type="text" name="foodLocationId">
+                            </div>
+                            <div class="layui-form-item display-none">
+                                <input type="text" name="noticeId">
+                            </div>
+                            <div class="layui-form-item display-none">
+                                <input type="text" name="foodType">
+                            </div>
+                            <div class="layui-col-xs4">
+                                <div class="layui-form-item">
+                                    <label class="layui-form-label  color-red" id="depotIdLabel">瑁呭嵏浠撳簱</label>
+                                    <div class="layui-input-block">
+                                        <select name="depotId" id="depotId" lay-filter="select_depotId">
+                                            <option value=""></option>
+                                            <option th:each="depot,depotSet:${listDepot}"
+                                                    th:value="${depot.id}" th:text="${depot.name}"></option>
+                                        </select>
+                                    </div>
+                                </div>
+                            </div>
+                            <div class="layui-col-xs4">
+                                <div class="layui-form-item">
+                                    <label class="layui-form-label color-red">姣涢噸(婊¤溅)</label>
+                                    <div class="layui-input-block">
+                                        <input type="text" name="fullWeight" id="fullWeight" autocomplete="off"
+                                               placeholder="鍦扮鑷姩甯﹀叆" class="layui-input rkbk-search-input" disabled>
+                                        <em
+                                                class="kccz-data-dw">KG</em>
+                                    </div>
+                                </div>
+                            </div>
+                            <div class="layui-col-xs4">
+                                <div class="layui-form-item">
+                                    <label class="layui-form-label color-red">鐨噸(绌鸿溅)</label>
+                                    <div class="layui-input-block">
+                                        <input type="text" name="emptyWeight" id="emptyWeight" autocomplete="off"
+                                               placeholder="鍦扮鑷姩甯﹀叆" class="layui-input weight rkbk-search-input"
+                                               disabled>
+                                        <em
+                                                class="kccz-data-dw">KG</em>
+                                    </div>
+                                </div>
+                            </div>
+                            <div class="layui-col-xs4">
+                                <div class="layui-form-item">
+                                    <label class="layui-form-label color-red">閫氱煡鍗�</label>
+                                    <div class="layui-input-block">
+                                        <input type="text" name="customerName" placeholder="璇烽�夋嫨"
+                                               autocomplete="off" class="layui-input" disabled="disabled"> <em
+                                            class="kccz-data-dw cursor" onclick="showNotice()">鈥︹��</em>
+                                    </div>
+                                </div>
+                            </div>
+                            <div class="layui-col-xs4">
+                                <div class="layui-form-item">
+                                    <label class="layui-form-label color-red">绮鍝佺</label>
+                                    <div class="layui-input-block">
+                                        <select name="foodVariety" id="foodVariety">
+                                            <option value=""></option>
+                                            <option th:each="dic,dicSet:${listFoodVariety}"
+                                                    th:value="${dic.dictValue}" th:text="${dic.dictLabel}"></option>
+                                        </select>
+                                    </div>
+                                </div>
+                            </div>
+                            <div class="layui-col-xs4">
+                                <div class="layui-form-item">
+                                    <label class="layui-form-label">鍑�&nbsp;&nbsp;&nbsp;&nbsp;閲�</label>
+                                    <div class="layui-input-block">
+                                        <input type="text" name="netWeight" autocomplete="off"
+                                               placeholder="鑷姩璁$畻锛屼笉鍙紪杈�" class="layui-input rkbk-search-input"
+                                               disabled> <em class="kccz-data-dw">KG</em>
+                                    </div>
+                                </div>
+                            </div>
+                            <div class="layui-col-xs4">
+                                <div class="layui-form-item">
+                                    <label class="layui-form-label">绮浜у湴</label>
+                                    <div class="layui-input-block">
+                                        <input type="text" name="foodLocation" placeholder="璇烽�夋嫨"
+                                               autocomplete="off" class="layui-input" disabled="disabled"> <em
+                                            class="kccz-data-dw cursor" onclick="showFoodLocation()">鈥︹��</em>
+                                    </div>
+                                </div>
+                            </div>
+                            <div class="layui-col-xs4">
+                                <div class="layui-form-item">
+                                    <label class="layui-form-label">姘村垎</label>
+                                    <div class="layui-input-block">
+                                        <input id="perWet" type="text" name="perWet" autocomplete="off"
+                                               placeholder="璇疯緭鍏�" class="layui-input weight"> <em
+                                            class="kccz-data-dw">%</em>
+                                    </div>
+                                </div>
+                            </div>
+                            <div class="layui-col-xs4">
+                                <div class="layui-form-item">
+                                    <label class="layui-form-label">鎵i噸</label>
+                                    <div class="layui-input-block">
+                                        <input id="deOther" type="text" name="deOther" autocomplete="off"
+                                               placeholder="璇疯緭鍏�" class="layui-input weight"> <em
+                                            class="kccz-data-dw">KG</em>
+                                    </div>
+                                </div>
+                            </div>
+                            <div class="layui-col-xs4">
+                                <div class="layui-form-item">
+                                    <label class="layui-form-label">鍗曚环</label>
+                                    <div class="layui-input-block">
+                                        <input id="price" type="text" name="price" autocomplete="off"
+                                               placeholder="璇疯緭鍏�" class="layui-input weight"> <em
+                                            class="kccz-data-dw">鍏�</em>
+                                    </div>
+                                </div>
+                            </div>
+                            <div class="layui-col-xs4">
+                                <div class="layui-form-item">
+                                    <label class="layui-form-label">鏉傝川</label>
+                                    <div class="layui-input-block">
+                                        <input id="perImpurity" type="text" name="perImpurity" autocomplete="off"
+                                               placeholder="璇疯緭鍏�" class="layui-input weight"> <em
+                                            class="kccz-data-dw">%</em>
+                                    </div>
+                                </div>
+                            </div>
+                            <div class="layui-col-xs4">
+                                <div class="layui-form-item">
+                                    <label class="layui-form-label">鍏ュ簱閲嶉噺</label>
+                                    <div class="layui-input-block">
+                                        <input type="text" name="recordWeight" placeholder="鑷姩璁$畻"
+                                               autocomplete="off" class="layui-input rkbk-search-input"
+                                               disabled> <em class="kccz-data-dw">KG</em>
+                                    </div>
+                                </div>
+                            </div>
+                            <div class="layui-col-xs8">
+                                <div class="layui-form-item">
+                                    <label class="layui-form-label">澶囨敞璇存槑</label>
+                                    <div class="layui-input-block">
+                                        <input type="text" name="remarks" placeholder="璇疯緭鍏ュ唴瀹�"
+                                               class="layui-input">
+                                    </div>
+                                </div>
+                            </div>
+                            <div class="layui-col-xs4">
+                                <div class="layui-form-item">
+                                    <label class="layui-form-label">缁撶畻閲嶉噺</label>
+                                    <div class="layui-input-block">
+                                        <input type="text" name="settleWeight" placeholder="鑷姩璁$畻"
+                                               autocomplete="off" class="layui-input rkbk-search-input"
+                                               disabled> <em class="kccz-data-dw">KG</em>
+                                    </div>
+                                </div>
+                            </div>
+                        </form>
+                    </div>
+                </div>
+                <!--kccz-left-box2 end-->
+            </div>
+
+        </div>
+    </div>
+</div>
+<!-- --------------鍊间粨鎿嶄綔寮圭獥-------------- -->
+<div class="layui-tab-content" id="handleDetail" style="display: none;padding: 15px 10px;" >
+    <div class="rk-main" style="margin: 0;">
+        <!--qyzj-btnbox end-->
+        <div class="kccz-con" style="margin: 0;">
+            <div class="kccz-left radius-6 fl" style="width: 70%">
+                <div class="kccz-left-box1" style="background: #FFFFFF;padding: 1px 20px 10px 20px;">
+                    <button class="rkbk-quick-btn layui-btn btn-green btn-sm"
+                            onclick="submitHandle()">
+                        <i><img th:src="@{/img/web/inout/icon-ok.png}"/></i>鍊间粨瀹屾垚
+                    </button>
+                </div>
+                <div class="kccz-left-box2 bg-ef" style="height: unset">
+                    <div class="rkbk-tit">
+                        <i></i>
+                        <h3>鍗曟嵁淇℃伅</h3>
+                    </div>
+                    <div class="kccz-data-form layui-row">
+                        <form class="layui-form" action="" id="form-handle"
+                              lay-filter="form-handle">
+                            <div class="layui-form-item display-none">
+                                <label class="layui-form-label">闅愯棌瀛楁-娴佹按鍙�</label>
+                                <div class="layui-input-block">
+                                    <input type="text" name="id" autocomplete="off"
+                                           class="layui-input rkbk-search-input">
+                                </div>
+                            </div>
+                            <div class="layui-form-item display-none">
+                                <label class="layui-form-label">闅愯棌瀛楁-缁勭粐缂栫爜</label>
+                                <div class="layui-input-block">
+                                    <input type="text" name="companyId" autocomplete="off"
+                                           class="layui-input rkbk-search-input">
+                                </div>
+                            </div>
+                            <div class="layui-form-item display-none">
+                                <label class="layui-form-label">闅愯棌瀛楁-鎵�灞炲簱鍖�</label>
+                                <div class="layui-input-block">
+                                    <input type="text" name="deptId" autocomplete="off"
+                                           class="layui-input rkbk-search-input">
+                                </div>
+                            </div>
+                            <div class="layui-form-item display-none">
+                                <label class="layui-form-label">闅愯棌瀛楁-娴佺▼鑺傜偣</label>
+                                <div class="layui-input-block">
+                                    <input type="text" name="progress" autocomplete="off"
+                                           class="layui-input rkbk-search-input">
+                                </div>
+                            </div>
+                            <div class="layui-form-item display-none">
+                                <label class="layui-form-label">闅愯棌瀛楁-閫氱煡鍗昳d</label>
+                                <div class="layui-input-block">
+                                    <input type="text" name="noticeId" autocomplete="off"
+                                           class="layui-input rkbk-search-input">
+                                </div>
+                            </div>
+                            <div class="layui-col-xs6">
+                                <div class="layui-form-item">
+                                    <label class="layui-form-label">涓氬姟绫诲瀷</label>
+                                    <div class="layui-input-block">
+                                        <select name="type">
+                                            <option th:each="dic,dicSet:${listInoutType}"
+                                                    th:value="${dic.dictValue}" th:text="${dic.dictLabel}"></option>
+                                        </select>
+                                    </div>
+                                </div>
+                            </div>
+                            <div class="layui-col-xs6">
+                                <div class="layui-form-item">
+                                    <label class="layui-form-label">瑁呭嵏浠撳簱</label>
+                                    <div class="layui-input-block">
+                                        <select name="depotId">
+                                            <option th:each="depot,depotSet:${listDepot}"
+                                                    th:value="${depot.id}" th:text="${depot.name}"></option>
+                                        </select>
+                                    </div>
+                                </div>
+                            </div>
+                            <div class="layui-col-xs6">
+                                <div class="layui-form-item">
+                                    <label class="layui-form-label">杞︾墝鍙�</label>
+                                    <div class="layui-input-block">
+                                        <input type="text" name="plateNum"
+                                               autocomplete="off" class="layui-input">
+                                    </div>
+                                </div>
+                            </div>
+                            <div class="layui-col-xs6">
+                                <div class="layui-form-item">
+                                    <label class="layui-form-label">婊¤溅绉伴噸</label>
+                                    <div class="layui-input-block">
+                                        <input type="text" name="fullWeight" autocomplete="off" placeholder="涓嶅彲鏀�"
+                                               class="layui-input rkbk-search-input" disabled> <em
+                                            class="kccz-data-dw">KG</em>
+                                    </div>
+                                </div>
+                            </div>
+                            <div class="layui-col-xs6">
+                                <div class="layui-form-item">
+                                    <label class="layui-form-label">韬唤璇佸彿</label>
+                                    <div class="layui-input-block">
+                                        <input type="text" name="userId"
+                                               placeholder="鎵胯繍浜鸿韩浠借瘉鍙�" autocomplete="off" class="layui-input">
+                                    </div>
+                                </div>
+                            </div>
+                            <div class="layui-col-xs6">
+                                <div class="layui-form-item">
+                                    <label class="layui-form-label">绌鸿溅绉伴噸</label>
+                                    <div class="layui-input-block">
+                                        <input type="text" name="emptyWeight" autocomplete="off" placeholder="涓嶅彲鏀�"
+                                               class="layui-input rkbk-search-input" disabled> <em
+                                            class="kccz-data-dw">KG</em>
+                                    </div>
+                                </div>
+                            </div>
+                            <div class="layui-col-xs6">
+                                <div class="layui-form-item">
+                                    <label class="layui-form-label">寰�鏉ュ崟浣�</label>
+                                    <div class="layui-input-block">
+                                        <input type="text" name="customerName" placeholder="涓嶅彲鏀�"
+                                               autocomplete="off" class="layui-input rkbk-search-input"
+                                               disabled>
+                                    </div>
+                                </div>
+                            </div>
+                            <div class="layui-col-xs6">
+                                <div class="layui-form-item">
+                                    <label class="layui-form-label">鍑�&nbsp;&nbsp;&nbsp;&nbsp;閲�</label>
+                                    <div class="layui-input-block">
+                                        <input type="text" name="netWeight" autocomplete="off" placeholder="涓嶅彲鏀�"
+                                               class="layui-input rkbk-search-input" disabled> <em
+                                            class="kccz-data-dw">KG</em>
+                                    </div>
+                                </div>
+                            </div>
+                            <div class="layui-col-xs6">
+                                <div class="layui-form-item">
+                                    <label class="layui-form-label">绮鍝佺</label>
+                                    <div class="layui-input-block">
+                                        <select name="foodVariety">
+                                            <option th:each="dic,dicSet:${listFoodVariety}"
+                                                    th:value="${dic.dictValue}" th:text="${dic.dictLabel}"></option>
+                                        </select>
+                                    </div>
+                                </div>
+                            </div>
+                            <div class="layui-col-xs6">
+                                <div class="layui-form-item">
+                                    <label class="layui-form-label">鎵i噸</label>
+                                    <div class="layui-input-block">
+                                        <input type="text" name="deOther" placeholder="璇疯緭鍏�"
+                                               autocomplete="off" class="layui-input"> <em class="kccz-data-dw">KG</em>
+                                    </div>
+                                </div>
+                            </div>
+                            <div class="layui-col-xs6">
+                                <div class="layui-form-item">
+                                    <label class="layui-form-label">绮绛夌骇</label>
+                                    <div class="layui-input-block">
+                                        <select name="foodLevel" id="foodLevel">
+                                            <option value="">涓嶅彲鏀�</option>
+                                            <option th:each="dic,dicSet:${listFoodLevel}"
+                                                    th:value="${dic.dictValue}" th:text="${dic.dictLabel}"></option>
+                                        </select>
+                                    </div>
+                                </div>
+                            </div>
+                            <div class="layui-col-xs6">
+                                <div class="layui-form-item">
+                                    <label class="layui-form-label">鍗曚环</label>
+                                    <div class="layui-input-block">
+                                        <input type="text" name="price" placeholder="璇疯緭鍏�"
+                                               autocomplete="off" class="layui-input"> <em
+                                            class="kccz-data-dw">鍏�/KG</em>
+                                    </div>
+                                </div>
+                            </div>
+                            <div class="layui-col-xs6">
+                                <div class="layui-form-item">
+                                    <label class="layui-form-label">璐ㄦ姘村垎</label>
+                                    <div class="layui-input-block">
+                                        <input type="text" name="perWet" placeholder="璇疯緭鍏�"
+                                               autocomplete="off" class="layui-input"> <em class="kccz-data-dw">%</em>
+                                    </div>
+                                </div>
+                            </div>
+                            <div class="layui-col-xs6">
+                                <div class="layui-form-item">
+                                    <label class="layui-form-label">璐ㄦ鏉傝川</label>
+                                    <div class="layui-input-block">
+                                        <input type="text" name="perImpurity" placeholder="璇疯緭鍏�"
+                                               autocomplete="off" class="layui-input"> <em class="kccz-data-dw">%</em>
+                                    </div>
+                                </div>
+                            </div>
+                            <div class="layui-col-xs12">
+                                <div class="layui-form-item">
+                                    <label class="layui-form-label">澶�&nbsp;娉�</label>
+                                    <div class="layui-input-block">
+                                        <input type="text" name="remarks" placeholder="璇疯緭鍏ュ唴瀹�"
+                                               class="layui-input">
+                                    </div>
+                                </div>
+                            </div>
+                        </form>
+                    </div>
+                </div>
+                <!--kccz-left-box2 end-->
+
+            </div>
+            <!--kccz-left end-->
+            <div class="kccz-right fr" style="width: 29%;margin-top: 5px;">
+                <div class="kccz-r-item" style="height: unset">
+                    <div class="kccz-r-box" style="padding: 0;">
+                        <div class="rkbk-tit">
+                            <i></i>
+                            <h3>鍊间粨璁板綍1</h3>
+                        </div>
+                        <div class="kccz-r-con" style="padding-right: 80px;background: #f3f5f8;">
+                            <div class="kccz-r-vedio" style="height: 170px"><img id="kccz-r-img1"></div>
+                            <div class="kccz-r-btnbox" style="width: 78px;background: #FFFFFF;">
+                                <a href="javascript:;" class="kccz-r-btn" id="kccz-r-btn1" style="width: 76px"> <span
+                                        class="kccz-r-img"></span>
+                                    <p>涓婁紶鍥剧墖</p>
+                                </a>
+                            </div>
+                        </div>
+
+                    </div>
+
+                </div>
+                <!--kccz-r-item end-->
+
+                <div class="kccz-r-item" style="height: unset">
+                    <div class="kccz-r-box" style="padding: 0;">
+                        <div class="rkbk-tit">
+                            <i></i>
+                            <h3>鍊间粨璁板綍2</h3>
+                        </div>
+                        <div class="kccz-r-con" style="padding-right: 80px;background: #f3f5f8;">
+                            <div class="kccz-r-vedio" style="height: 170px"><img id="kccz-r-img2"></div>
+                            <div class="kccz-r-btnbox" style="width: 78px;background: #FFFFFF;">
+                                <a href="javascript:;" class="kccz-r-btn" id="kccz-r-btn2" style="width: 76px"> <span
+                                        class="kccz-r-img"></span>
+                                    <p>涓婁紶鍥剧墖</p>
+                                </a>
+                            </div>
+                        </div>
+
+                    </div>
+
+                </div>
+                <!--kccz-r-item end-->
+
+                <div class="kccz-r-item" style="height: unset">
+                    <div class="kccz-r-box" style="padding: 0;">
+                        <div class="rkbk-tit">
+                            <i></i>
+                            <h3>鍊间粨璁板綍3</h3>
+                        </div>
+                        <div class="kccz-r-con" style="padding-right: 80px;background: #f3f5f8;">
+                            <div class="kccz-r-vedio" style="height: 170px"><img id="kccz-r-img3"></div>
+                            <div class="kccz-r-btnbox" style="width: 78px;background: #FFFFFF;">
+                                <a href="javascript:;" class="kccz-r-btn" id="kccz-r-btn3" style="width: 76px"> <span
+                                        class="kccz-r-img"></span>
+                                    <p>涓婁紶鍥剧墖</p>
+                                </a>
+                            </div>
+                        </div>
+
+                    </div>
+
+                </div>
+                <!--kccz-r-item end-->
+
+            </div>
+        </div>
+        <!--kccz-con end-->
+
+    </div>
+</div>
+</html>
\ No newline at end of file
diff --git a/fzzy-igdss-web/src/main/resources/templates/inout/out-register.html b/fzzy-igdss-web/src/main/resources/templates/inout/out-register.html
new file mode 100644
index 0000000..52ca228
--- /dev/null
+++ b/fzzy-igdss-web/src/main/resources/templates/inout/out-register.html
@@ -0,0 +1,325 @@
+<!DOCTYPE html>
+<html lang="zh-cn" xmlns:th=http://www.thymeleaf.org>
+<head>
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="renderer" content="webkit">
+    <title>鍑哄叆搴撶鐞�-鍑哄簱鐧昏</title>
+
+    <link rel="stylesheet" type="text/css" th:href="@{/ajax/libs/layui/css/layui.css}"/>
+    <link rel="stylesheet" type="text/css" th:href="@{/inout/inout-style.css}">
+
+    <style>
+        .display-none {
+            display: none;
+        }
+
+        .kccz-r-con2 {
+            /* height: 230px; */
+            padding-right: 120px;
+            position: relative;
+            margin-top: 10px;
+        }
+
+        .kccz-r-vedio {
+            width: 100%;
+            height: 280px;
+            /* 	background: #dee6ec; */
+            background: #000;
+            color: #FFF;
+            text-align: center;
+        }
+
+        .kccz-r-btnbox {
+            width: 100px;
+            position: absolute;
+            right: 0px;
+            top: 0px;
+            z-index: 99;
+        }
+
+        .layui-form-label {
+            font-weight: bold;
+        }
+
+        .ckdj-radiobox .layui-form-item {
+            margin-bottom: 0px;
+            margin-top: 10px;
+        }
+
+        .rk-step-wrap {
+            padding: 0px;
+            border-bottom: 0px;
+            text-align: center;
+        }
+
+        .qyzj-btnbox .rkbk-quick {
+            margin-top: 15px !important;
+        }
+
+        .color-red {
+            color: red !important;
+        }
+
+        .layui-form-item .layui-input-inline {
+            width: unset;
+        }
+
+        .rkbk-search-input {
+            background: #FFF !important;
+        }
+
+        .rkbk-search-input.bg-date {
+            background: #FFF !important;
+        }
+        .video {
+            width: 100%;
+            height: 100%;
+        }
+    </style>
+</head>
+<body>
+
+<div class="l-container layui-clear">
+    <div class="rk-main">
+
+        <div class="qyzj-btnbox layui-clear">
+            <!-- 鎿嶄綔鑿滃崟-->
+            <div class="rkbk-quick fl">
+                <button class="rkbk-quick-btn layui-btn btn-red"
+                        onclick="resetForm()">
+                    <i><img th:src="@{/img/web/inout/icon-clear.png}"/></i> 娓呯┖鏁版嵁
+                </button>
+                <button class="rkbk-quick-btn layui-btn btn-green"
+                        onclick="submit()">
+                    <i><img th:src="@{/img/web/inout/icon-ok.png}"/></i> 瀹屾垚鐧昏
+                </button>
+            </div>
+
+            <!--娴佺▼寮曞-->
+            <div class="rk-step-wrap fr">
+                <ul class="rk-step">
+                    <li id="progress-register" class="active rk-step-first">
+                        <span class="rk-step-span">
+                            <img th:src="@{/img/web/inout/icon-dengji.png}"/>
+                        </span>
+                        <p>鍑哄簱鐧昏</p>
+                    </li>
+                    <li id="progress-emptyWeight">
+                        <span class="rk-step-span">
+                            <img th:src="@{/img/web/inout/icon-chengzhong.png}"/>
+                        </span>
+                        <p>绌鸿溅绉伴噸</p>
+                    </li>
+                    <li id="progress-hand">
+                        <span class="rk-step-span">
+                            <img th:src="@{/img/web/inout/icon-xiehuo.png}"/>
+                        </span>
+                        <p>鍑哄簱鍊间粨</p>
+                    </li>
+                    <li id="progress-fullWeight">
+                        <span class="rk-step-span">
+                            <img th:src="@{/img/web/inout/icon-chengzhong.png}"/>
+                        </span>
+                        <p>婊¤溅绉伴噸</p>
+                    </li>
+                    <li id="progress-cardBack">
+                        <span class="rk-step-span">
+                            <img th:src="@{/img/web/inout/icon-banli.png}"/>
+                        </span>
+                        <p>绂诲簱纭</p>
+                    </li>
+                </ul>
+            </div>
+            <!--娴佺▼寮曞缁撴潫-->
+        </div>
+
+        <form class="layui-form" action="" id="form-data"
+              lay-filter="form-data">
+
+            <div class="rkbk-con">
+
+                <div class="radius-6 rkbk-left-wrap fl">
+                    <div class="rkbk-left">
+                        <div class="rkbk-tit">
+                            <i></i>
+                            <h3>鎵胯繍浜轰俊鎭�</h3>
+                        </div>
+                        <div class="rkbk-left-form">
+
+                            <div class="rkbk-form-box1">
+
+                                <div class="layui-form-item display-none">
+                                    <label class="layui-form-label">闅愯棌瀛楁-绫诲瀷</label>
+                                    <input type="text" name="type" th:value="${type}">
+                                </div>
+
+                                <div class="rkbk-form-left">
+                                    <div class="layui-form-item">
+                                        <label class="layui-form-label color-red">濮�&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;鍚嶏細</label>
+                                        <div class="layui-input-block">
+                                            <input type="text" name="userName" id="userName" required
+                                                   lay-verify="required" placeholder="蹇呭~淇℃伅" autocomplete="off"
+                                                   class="layui-input rkbk-search-input">
+                                        </div>
+                                    </div>
+                                    <div class="layui-form-item">
+                                        <label class="layui-form-label color-red">韬唤璇佸彿锛�</label>
+                                        <div class="layui-input-block">
+                                            <input type="text" name="userId" id="userId" required
+                                                   lay-verify="required" placeholder="蹇呭~淇℃伅" autocomplete="off"
+                                                   oninput="getPhone()" class="layui-input rkbk-search-input">
+                                        </div>
+                                    </div>
+                                    <div class="layui-form-item">
+                                        <label class="layui-form-label color-red">鑱旂郴鏂瑰紡锛�</label>
+                                        <div class="layui-input-block">
+                                            <input type="text" name="userContact" id="userContact"
+                                                   placeholder="璇疯緭鍏�" autocomplete="off"
+                                                   class="layui-input rkbk-search-input">
+                                        </div>
+                                    </div>
+                                    <div class="layui-form-item">
+                                        <label class="layui-form-label">鍦�&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;鍧�锛�</label>
+                                        <div class="layui-input-block">
+                                            <input type="text" name="userNation" id="userNation"
+                                                   required lay-verify="required" placeholder="璇疯緭鍏�"
+                                                   autocomplete="off" class="layui-input rkbk-search-input">
+                                        </div>
+                                    </div>
+                                </div>
+                                <!--rk-form-left end-->
+
+                                <div class="rkbk-photo">
+                                    <a href="#"><img id="id_img_pers"
+                                                     th:src="@{/img/web/inout/rkbk-photo_03.png}"/></a>
+                                </div>
+
+                            </div>
+                            <!--rkbk-form-box1 end-->
+                            <!--rkbk-form-box2 end-->
+
+                            <div class="rkbk-quick layui-text-center">
+                                <button id="button_readID" type="button"
+                                        onclick="flushIdCard()"
+                                        class="rkbk-quick-btn layui-btn btn-blue">璇诲彇韬唤璇�
+                                </button>
+                            </div>
+
+                        </div>
+                    </div>
+
+                </div>
+                <!--rkbk-left end-->
+
+                <div class="radius-6 rkbk-right-wrap fr" style="height: 512px;">
+                    <div class="rkbk-left">
+                        <div class="rkbk-tit">
+                            <i></i>
+                            <h3>杩愯緭淇℃伅</h3>
+                        </div>
+
+                        <div class="rkbk-left-form rkbk-right-form">
+                            <div class="layui-form-item">
+                                <label class="layui-form-label color-red">涓氬姟绫诲瀷锛�</label>
+                                <div class="layui-input-block">
+                                    <select name="type">
+                                        <option th:each="dic,dicSet:${listInoutType}"
+                                                th:value="${dic.dictValue}" th:text="${dic.dictLabel}"></option>
+                                    </select>
+                                </div>
+                            </div>
+                            <div class="layui-form-item">
+                                <input type="button" value="璇昏溅鐗�"
+                                       class="rkbk-r-btn fr layui-btn layui-btn-normal"
+                                       onclick="flushPlateNum()"/>
+                                <label class="layui-form-label color-red">杩愯緭杞︾墝锛�</label>
+                                <div class="layui-input-block">
+                                    <input type="text" name="plateNum" id="plateNum" required placeholder="濉啓鍓嶈溅鐗屽彿"
+                                           lay-verify="required" autocomplete="off"
+                                           class="layui-input rkbk-search-input">
+                                </div>
+                            </div>
+                        </div>
+
+                    </div>
+
+                    <!-- 瑙嗛 -->
+                    <div class="rkbk-left">
+                        <div class="rkbk-tit">
+                            <i></i>
+                            <h3>鐧昏瑙嗛</h3>
+                        </div>
+                        <div class="kccz-r-con2">
+                            <div class="kccz-r-vedio" id="kccz-r-video1"></div>
+                        </div>
+                    </div>
+                </div>
+                <!--rkbk-right end-->
+            </div>
+            <!--rkbk-con end-->
+        </form>
+    </div>
+    <!--rk-main end-->
+
+</div>
+<!--l-container end-->
+
+<script th:inline="javascript">
+    //娴佺▼鐜妭
+    var inoutProgress = [[${inoutProgress}]];
+    //褰撳墠鑺傜偣
+    var progress = [[${progress}]];
+    var deptId = [[${deptId}]];
+    //鍑哄叆搴撶被鍨�
+    var type = [[${type}]];
+    var userId = [[${loginUser.loginName}]];
+    var companyId = [[${loginUser.companyId}]];
+    //杞︾墝璇嗗埆
+    var lprDto = [[${lprDto}]];
+    var plateTag = [[${plateTag}]];
+    var ship = null; //鏄惁鑸硅繍椤甸潰鏍囪瘑
+</script>
+
+<script th:src="@{/ajax/libs/layui/layui.js}"></script>
+<script th:src="@{/js/jquery.min.js}"></script>
+<script th:src="@{/common/constant.js}"></script>
+<script th:src="@{/common/igds-common.js}"></script>
+<script th:src="@{/inout/inout-common.js}"></script>
+<script th:src="@{/inout/video-play.js}"></script>
+<script th:src="@{/inout/out-register.js}"></script>
+
+<!-- 寮瑰嚭妗嗙殑淇℃伅 -->
+<div class="layui-tab-content" id="dialog-from-notify" style="display: none;">
+    <table class="layui-table">
+        <colgroup>
+            <col width="100">
+        </colgroup>
+        <tbody>
+        <tr>
+            <td>杩斿洖淇℃伅</td>
+            <td id="resultMsg" style="color: red;font-weight: bold;"></td>
+        </tr>
+        <tr>
+            <td>鎵胯繍浜�</td>
+            <td id="resultUserName" style="font-weight: bold;"></td>
+        </tr>
+        <tr>
+            <td>杞︾墝鍙�</td>
+            <td id="resultPlateNum" style="font-weight: bold;"></td>
+        </tr>
+        <tr>
+            <td>涓嬩竴姝�</td>
+            <td id="resultType" style="font-weight: bold;"></td>
+        </tr>
+        <tr>
+            <td>鏅烘収鍗″彿</td>
+            <td id="resultIntelCard" style="font-weight: bold;"></td>
+        </tr>
+        </tbody>
+    </table>
+</div>
+</body>
+
+</html>
\ No newline at end of file

--
Gitblit v1.9.3