已重命名3个文件
已删除17个文件
已修改8个文件
已添加51个文件
| | |
| | | * ç¼å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 TYPE_IN = "IN"; |
| | | // åºå
¥åºç±»å-åºåº |
| | | public static final String TYPE_OUT = "OUT"; |
| | | // æµç¨-ç»è®° |
| | | public static final String PROGRESS_REGISTER = "REGISTER"; |
| | | // æµç¨-å
¥åºè´¨æ£ |
| | | public static final String PROGRESS_CHECK = "CHECK"; |
| | | // æµç¨-å¼ä» |
| | | public static final String PROGRESS_HANDLE = "HANDLE"; |
| | | // æµç¨-ç§°éï¼å
æ¬æ»¡è½¦ç§°éæè
空车称éï¼å½åç¶ææ¯è¾ç¹æ®ï¼ä¸ä½ä¸ºæµç¨èç¹ï¼åªä½ä¸ºæ ç¾ |
| | | public static final String PROGRESS_WEIGHT_TAG = "WEIGHT_TAG"; |
| | | // æµç¨-满车称é |
| | | public static final String PROGRESS_WEIGHT_FULL = "WEIGHT_FULL"; |
| | | // æµç¨-空车称é |
| | | public static final String PROGRESS_WEIGHT_EMPTY = "WEIGHT_EMPTY"; |
| | | // æµç¨-ç»ç® |
| | | public static final String PROGRESS_PAY = "PAY"; |
| | | // æµç¨-å¡çåæ¶ |
| | | public static final String PROGRESS_CARD_BACK = "CARD_BACK"; |
| | | // æµç¨-夿¡ï¼è¡¨ç¤ºæµç¨æ´ä½å®æå夿¡ï¼ |
| | | public static final String PROGRESS_RECORD = "RECORD"; |
| | | |
| | | /** |
| | | * åºå
¥åºé
ç½®çç±»å 10 = 车çè¯å« |
| | | */ |
| | | public static final String CONF_TYPE_10 = "10"; |
| | | |
| | | /** |
| | | * åºå
¥åºé
ç½®çç±»å 20 = æ¦æ ·æºå¨ |
| | | */ |
| | | public static final String CONF_TYPE_20 = "20"; |
| | | |
| | | /** |
| | | * åºå
¥åºé
ç½®çç±»å 21 = åéªæº |
| | | */ |
| | | public static final String CONF_TYPE_21 = "21"; |
| | | |
| | | /** |
| | | * åºå
¥åºé
ç½®çç±»å 30 = å°ç£
|
| | | */ |
| | | public static final String CONF_TYPE_30 = "30"; |
| | | |
| | | /** |
| | | * åºå
¥åºé
ç½®çç±»å40 = LEDæ¾ç¤ºå±å¹ |
| | | */ |
| | | public static final String CONF_TYPE_40 = "40"; |
| | | |
| | | /** |
| | | * åéªå¤§å±è§é¢ |
| | | */ |
| | | public static final String CONF_TYPE_50 = "50"; |
| | | |
| | | /** |
| | | * åºå
¥åºæææå头 |
| | | */ |
| | | public static final String CONF_TYPE_60 = "60"; |
| | | |
| | | /** |
| | | * ç§°é主æ§å¶å¨ |
| | | */ |
| | | public static final String CONF_TYPE_70 = "70"; |
| | | |
| | | /** |
| | | * æºæ
§å¡ |
| | | */ |
| | | public static final String CONF_TYPE_80 = "80"; |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.fzzy.igds.data; |
| | | |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * @Description åºå
¥åºéç¥åæ´ä½ä½¿ç¨å°è£
|
| | | * @Author CZT |
| | | * @Date 2025/11/29 16:33 |
| | | */ |
| | | @Data |
| | | public class NoticeDto { |
| | | |
| | | |
| | | /** |
| | | * éç¥åid |
| | | */ |
| | | private String id; |
| | | |
| | | |
| | | private String name; |
| | | |
| | | /** |
| | | * ç»ç»ç¼ç |
| | | */ |
| | | private String companyId; |
| | | |
| | | /** |
| | | * åºåºç¼ç |
| | | */ |
| | | private String deptId; |
| | | |
| | | /** |
| | | * ä»åºç¼ç |
| | | */ |
| | | private String depotId; |
| | | |
| | | /** |
| | | * 客æ·ç¼ç |
| | | */ |
| | | private String customerId; |
| | | |
| | | /** |
| | | * 客æ·åç§° |
| | | */ |
| | | private String customerName; |
| | | |
| | | /** |
| | | * åä½åç§° |
| | | */ |
| | | private String unitName; |
| | | |
| | | /** |
| | | * ç²®é£åç§ |
| | | */ |
| | | private String foodVariety; |
| | | |
| | | |
| | | /** |
| | | * ç²®é£æ§è´¨ |
| | | */ |
| | | private String foodType; |
| | | |
| | | |
| | | /** |
| | | * 年份 |
| | | */ |
| | | private String year; |
| | | |
| | | /** |
| | | * ç®æ æ°é |
| | | */ |
| | | private Double targetNumber = 0.0; |
| | | |
| | | /** |
| | | * 宿æ°é |
| | | */ |
| | | private Double completeNumber = 0.0; |
| | | |
| | | /** |
| | | * 宿æ¶é´ |
| | | */ |
| | | private Date completeTime; |
| | | |
| | | /** |
| | | * æå±åå |
| | | */ |
| | | private String contractName; |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | 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 NoticeParam { |
| | | |
| | | private String id; |
| | | |
| | | private String companyId; |
| | | |
| | | private String depotId; |
| | | |
| | | private String deptId;// æå±ååº |
| | | |
| | | private String customerName;// 客æ·åç§° |
| | | |
| | | private String foodVariety;// åç§ |
| | | |
| | | private String contractId;//ååå· |
| | | |
| | | private String planId;//计å |
| | | |
| | | private String foodType; // ç²®é£æ§è´¨ |
| | | |
| | | private String year;// 年份 |
| | | |
| | | private String type; |
| | | |
| | | private Double weight;// ééä¿¡æ¯ |
| | | |
| | | private Double taskNum = 0.0; |
| | | |
| | | private String completeStatus; // å®æç¶æ |
| | | |
| | | private Double storageReal;// åºåéé |
| | | |
| | | private Date start; |
| | | |
| | | private Date end; |
| | | |
| | | private String createUser; |
| | | |
| | | public NoticeParam() { |
| | | } |
| | | |
| | | public NoticeParam(String companyId, String deptId, String customerName, |
| | | String foodVariety, String id) { |
| | | this.companyId = companyId; |
| | | this.deptId = deptId; |
| | | this.customerName = customerName; |
| | | this.foodVariety = foodVariety; |
| | | this.id = id; |
| | | } |
| | | |
| | | public NoticeParam(String companyId, String deptId, String depotId, |
| | | String customerName, String foodVariety, String id) { |
| | | this.companyId = companyId; |
| | | this.deptId = deptId; |
| | | this.depotId = depotId; |
| | | this.customerName = customerName; |
| | | this.foodVariety = foodVariety; |
| | | this.id = id; |
| | | } |
| | | |
| | | } |
| | |
| | | @Transient |
| | | private String errorMsg; |
| | | |
| | | |
| | | public InoutConf() { |
| | | super(); |
| | | } |
| | | |
| | | public InoutConf(InoutConf conf) { |
| | | this.id = conf.getId(); |
| | | this.deptId = conf.getDeptId(); |
| | | this.sort = conf.getSort(); |
| | | this.inOrder = conf.getInOrder(); |
| | | this.inoutProgress = conf.getInoutProgress(); |
| | | this.name = conf.getName(); |
| | | this.sn = conf.getSn(); |
| | | this.ip = conf.getIp(); |
| | | this.port = conf.getPort(); |
| | | this.loginId = conf.getLoginId(); |
| | | this.pwd = conf.getPwd(); |
| | | this.chanNum = conf.getChanNum(); |
| | | this.portCtrl = conf.getPortCtrl(); |
| | | this.type = conf.getType(); |
| | | this.status = conf.getStatus(); |
| | | this.protocol = conf.getProtocol(); |
| | | this.playType = conf.getPlayType(); |
| | | this.snapType = conf.getSnapType(); |
| | | this.mediaAddr = conf.getMediaAddr(); |
| | | this.remark = conf.getRemark(); |
| | | this.errorMsg = conf.getErrorMsg(); |
| | | } |
| | | |
| | | public InoutConf(String sort) { |
| | | this.sort = sort; |
| | | } |
| | | |
| | | } |
| | |
| | | |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.bstek.dorado.annotation.PropertyDef; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | |
| | | @TableField("depot_id") |
| | | private String depotId; |
| | | |
| | | @Column(name = "customer_id", columnDefinition = "varchar(40) COMMENT 'å货客æ·'") |
| | | @TableField("customer_id") |
| | | private String customerId; |
| | | |
| | | @Column(name = "customer_name", columnDefinition = "varchar(40) COMMENT 'åè´§åä½'") |
| | | @TableField("customer_name") |
| | | private String customerName; |
| | |
| | | @TableField("complete_number") |
| | | private Double completeNumber = 0.0; |
| | | |
| | | @Column(name = "audit_status", columnDefinition = "varchar(2) COMMENT 'å®¡æ ¸ç¶æ(10=çç®¡å®¡æ ¸ï¼20=é¶è¡å®¡æ ¸ï¼30=éè¿)'") |
| | | @Column(name = "audit_status", columnDefinition = "varchar(10) COMMENT 'å®¡æ ¸ç¶æ(10=çç®¡å®¡æ ¸ï¼20=é¶è¡å®¡æ ¸ï¼30=éè¿)'") |
| | | @TableField("audit_status") |
| | | private String auditStatus = "10"; |
| | | |
| | |
| | | @TableField("remark") |
| | | private String remark; |
| | | |
| | | |
| | | @Transient |
| | | @PropertyDef(label = "æ è®°", description = "ç¨äºå¤æéç¥åæ¯å¦ä¸ºæ°å¢") |
| | | private String tag; |
| | | |
| | | } |
| | |
| | | |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.bstek.dorado.annotation.PropertyDef; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | |
| | | @TableField("remark") |
| | | private String remark; |
| | | |
| | | @Transient |
| | | @PropertyDef(label = "æ è®°", description = "ç¨äºå¤æéç¥åæ¯å¦ä¸ºæ°å¢") |
| | | private String tag; |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.fzzy.igds.mapper; |
| | | |
| | | import com.fzzy.igds.data.NoticeParam; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | /** |
| | | * @Description |
| | | * @Author CZT |
| | | * @Date 2025/11/29 16:39 |
| | | */ |
| | | public interface InoutNoticeMapper { |
| | | |
| | | /** |
| | | * å
¥åºéç¥å - æ ¹æ®åæ°éæ°è®¡ç®å®æé |
| | | * |
| | | * @param param |
| | | * @return |
| | | */ |
| | | int reSumNoticeInComplete(@Param("param") NoticeParam param); |
| | | |
| | | /** |
| | | * åºåºéç¥å - æ ¹æ®åæ°éæ°è®¡ç®å®æé |
| | | * |
| | | * @param param |
| | | * @return |
| | | */ |
| | | int reSumNoticeOutComplete(@Param("param") NoticeParam param); |
| | | |
| | | } |
| | |
| | | public interface DeviceSerRepository extends JpaRepository<DeviceSer, String> { |
| | | |
| | | /** |
| | | * æ ¹æ®ç»ç»ç¼ç è·åä»åºè´§ä½ä¿¡æ¯ |
| | | * æ ¹æ®ç»ç»ç¼ç è·åä¿¡æ¯ |
| | | * |
| | | * @param companyId |
| | | * @return |
| | | */ |
| | | @Query("from DeviceSer where companyId =:companyId order by orderNum") |
| | | List<DeviceSer> getDataByDeptId(@Param("companyId") String companyId); |
| | | List<DeviceSer> getAllSerByCompanyId(@Param("companyId") String companyId); |
| | | |
| | | /** |
| | | * æ ¹æ®ç»ç»ç¼ç è·åä»åºè´§ä½ä¿¡æ¯ |
| | | * |
| | | * @param deptId |
| | | * @return |
| | | */ |
| | | @Query("from DeviceSer where deptId =:deptId order by orderNum") |
| | | List<DeviceSer> getDataByDeptId(@Param("deptId") String deptId); |
| | | |
| | | |
| | | /** |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.fzzy.igds.repository; |
| | | |
| | | import com.fzzy.igds.domain.InoutNoticeIn; |
| | | import org.springframework.data.jpa.repository.JpaRepository; |
| | | import org.springframework.data.jpa.repository.JpaSpecificationExecutor; |
| | | import org.springframework.data.jpa.repository.Query; |
| | | import org.springframework.data.repository.query.Param; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @Description |
| | | * @Author CZT |
| | | * @Date 2025/11/29 16:33 |
| | | */ |
| | | @Service |
| | | public interface InoutNoticeInRepository extends JpaRepository<InoutNoticeIn, String> , JpaSpecificationExecutor<InoutNoticeIn> { |
| | | |
| | | /** |
| | | * æ ¹æ®ç»ç»ç¼ç ååºåºç¼ç è·åä¿¡æ¯ |
| | | * |
| | | * @param companyId |
| | | * @param deptId |
| | | * @param id |
| | | * @return |
| | | */ |
| | | @Query("from InoutNoticeIn where companyId =:companyId and deptId =:deptId and id =:id") |
| | | InoutNoticeIn getDataById(@Param("companyId") String companyId, @Param("deptId") String deptId, @Param("id") String id); |
| | | |
| | | /** |
| | | * æ ¹æ®ç»ç»ç¼ç ååºåºç¼ç è·åä¿¡æ¯ |
| | | * |
| | | * @param companyId |
| | | * @param deptId |
| | | * @param completeStatus |
| | | * @return |
| | | */ |
| | | @Query("from InoutNoticeIn where companyId =:companyId and deptId =:deptId and completeStatus =:completeStatus") |
| | | List<InoutNoticeIn> listNoticeIn(@Param("companyId") String companyId, @Param("deptId") String deptId, @Param("completeStatus") String completeStatus); |
| | | |
| | | /** |
| | | * æ ¹æ®ç»ç»ç¼ç ååºåºç¼ç è·åä¿¡æ¯ |
| | | * |
| | | * @param companyId |
| | | * @param completeStatus |
| | | * @return |
| | | */ |
| | | @Query("from InoutNoticeIn where companyId =:companyId and completeStatus =:completeStatus") |
| | | List<InoutNoticeIn> listNoticeIn(@Param("companyId") String companyId, @Param("completeStatus") String completeStatus); |
| | | |
| | | |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.fzzy.igds.repository; |
| | | |
| | | import com.fzzy.igds.domain.InoutNoticeOut; |
| | | import org.springframework.data.jpa.repository.JpaRepository; |
| | | import org.springframework.data.jpa.repository.JpaSpecificationExecutor; |
| | | import org.springframework.data.jpa.repository.Query; |
| | | import org.springframework.data.repository.query.Param; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @Description |
| | | * @Author CZT |
| | | * @Date 2025/11/29 16:34 |
| | | */ |
| | | @Service |
| | | public interface InoutNoticeOutRepository extends JpaRepository<InoutNoticeOut, String> , JpaSpecificationExecutor<InoutNoticeOut> { |
| | | |
| | | /** |
| | | * æ ¹æ®ç»ç»ç¼ç ååºåºç¼ç è·åä¿¡æ¯ |
| | | * |
| | | * @param companyId |
| | | * @param deptId |
| | | * @param id |
| | | * @return |
| | | */ |
| | | @Query("from InoutNoticeOut where companyId =:companyId and deptId =:deptId and id =:id") |
| | | InoutNoticeOut getDataById(@Param("companyId") String companyId, @Param("deptId") String deptId, @Param("id") String id); |
| | | |
| | | /** |
| | | * æ ¹æ®ç»ç»ç¼ç ååºåºç¼ç è·åä¿¡æ¯ |
| | | * |
| | | * @param companyId |
| | | * @param deptId |
| | | * @param completeStatus |
| | | * @return |
| | | */ |
| | | @Query("from InoutNoticeOut where companyId =:companyId and deptId =:deptId and completeStatus =:completeStatus") |
| | | List<InoutNoticeOut> listNoticeOut(@Param("companyId") String companyId, @Param("deptId") String deptId, @Param("completeStatus") String completeStatus); |
| | | |
| | | /** |
| | | * æ ¹æ®ç»ç»ç¼ç ååºåºç¼ç è·åä¿¡æ¯ |
| | | * |
| | | * @param companyId |
| | | * @param completeStatus |
| | | * @return |
| | | */ |
| | | @Query("from InoutNoticeOut where companyId =:companyId and completeStatus =:completeStatus") |
| | | List<InoutNoticeOut> listNoticeOut(@Param("companyId") String companyId, @Param("completeStatus") String completeStatus); |
| | | |
| | | |
| | | } |
| | |
| | | * |
| | | * @return |
| | | */ |
| | | public List<DeviceSer> getAllSerByCompanyId(String companyId) { |
| | | return deviceSerRepository.getAllSerByCompanyId(companyId); |
| | | } |
| | | |
| | | /** |
| | | * JPA æ¥è¯¢åæºå表 |
| | | * |
| | | * @return |
| | | */ |
| | | public List<DeviceSer> getAllSer() { |
| | | SysUser user = ContextUtil.getLoginUser(); |
| | | SysDept userDept = iSysDeptService.selectDeptById(user.getDeptId()); |
| | |
| | | }else { |
| | | return deviceSerRepository.getDataByParentId(user.getDeptId() + "%"); |
| | | } |
| | | |
| | | } |
| | | |
| | | /** |
| | |
| | | if (StringUtils.isEmpty(companyId)) { |
| | | companyId = ContextUtil.getCompanyId(); |
| | | } |
| | | List<DeviceSer> list = this.getAllSer(); |
| | | List<DeviceSer> list = this.getAllSerByCompanyId(companyId); |
| | | this.setCacheSer(list, companyId); |
| | | } |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.fzzy.igds.service; |
| | | |
| | | import com.fzzy.igds.constant.Constant; |
| | | import com.fzzy.igds.data.NoticeDto; |
| | | import com.fzzy.igds.data.NoticeParam; |
| | | import com.fzzy.igds.mapper.InoutNoticeMapper; |
| | | import com.fzzy.igds.repository.InoutNoticeInRepository; |
| | | import com.fzzy.igds.repository.InoutNoticeOutRepository; |
| | | import com.fzzy.igds.domain.InoutNoticeIn; |
| | | import com.fzzy.igds.domain.InoutNoticeOut; |
| | | import com.fzzy.igds.utils.ContextUtil; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.data.domain.Page; |
| | | import org.springframework.data.domain.Pageable; |
| | | import org.springframework.data.jpa.domain.Specification; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @Description åºå
¥åºéç¥åserviceå±ï¼å
å«å
¥åºéç¥åååºåºéç¥å |
| | | * @Author CZT |
| | | * @Date 2025/11/29 16:33 |
| | | */ |
| | | @Slf4j |
| | | @Service |
| | | public class InoutNoticeService { |
| | | |
| | | @Resource |
| | | private InoutNoticeInRepository noticeInRepository; |
| | | @Resource |
| | | private InoutNoticeOutRepository noticeOutRepository; |
| | | @Resource |
| | | private InoutNoticeMapper noticeMapper; |
| | | |
| | | /** |
| | | * JPAå页æ¥è¯¢æ°æ® |
| | | * |
| | | * @param specification |
| | | * @param pageable |
| | | * @return |
| | | */ |
| | | public Page<InoutNoticeIn> queryAllNoticeIn(Specification<InoutNoticeIn> specification, Pageable pageable) { |
| | | return noticeInRepository.findAll(specification, pageable); |
| | | } |
| | | |
| | | /** |
| | | * JPAæ¥è¯¢æ°æ® |
| | | * @param companyId |
| | | * @param deptId |
| | | * @return |
| | | */ |
| | | public List<InoutNoticeIn> listNoticeIn(String companyId, String deptId) { |
| | | return noticeInRepository.listNoticeIn(companyId, deptId, Constant.COMPLETE_STATUS_NONE); |
| | | } |
| | | |
| | | /** |
| | | * jpa è·åä¿¡æ¯ |
| | | * @param companyId |
| | | * @return |
| | | */ |
| | | public List<InoutNoticeIn> getUnComNoticeIn(String companyId) { |
| | | if (StringUtils.isEmpty(companyId)) { |
| | | companyId = ContextUtil.getCompanyId(); |
| | | } |
| | | return noticeInRepository.listNoticeIn(companyId, Constant.COMPLETE_STATUS_NONE); |
| | | } |
| | | |
| | | /** |
| | | * JPA - ä¿åæ´æ°æ°æ® |
| | | * |
| | | * @param data |
| | | * @return |
| | | */ |
| | | public String saveOrUpdateIn(InoutNoticeIn data) { |
| | | if (Constant.YN_Y.equals(data.getTag())) { |
| | | data.setCreateBy(ContextUtil.getLoginUserName()); |
| | | data.setCreateTime(new Date()); |
| | | data.setAuditStatus(Constant.COMPLETE_STATUS_NONE); |
| | | data.setCompleteStatus(Constant.COMPLETE_STATUS_NONE); |
| | | } |
| | | data.setUpdateBy(ContextUtil.getLoginUserName()); |
| | | data.setUpdateTime(new Date()); |
| | | noticeInRepository.save(data); |
| | | return null; |
| | | } |
| | | |
| | | /** |
| | | * JPA - å 餿°æ® |
| | | * |
| | | * @param data |
| | | * @return |
| | | */ |
| | | public String delDataIn(InoutNoticeIn data) { |
| | | noticeInRepository.delete(data); |
| | | return null; |
| | | } |
| | | |
| | | /** |
| | | * JPAå页æ¥è¯¢æ°æ® |
| | | * |
| | | * @param specification |
| | | * @param pageable |
| | | * @return |
| | | */ |
| | | public Page<InoutNoticeOut> queryAllNoticeOut(Specification<InoutNoticeOut> specification, Pageable pageable) { |
| | | return noticeOutRepository.findAll(specification, pageable); |
| | | } |
| | | |
| | | /** |
| | | * JPAæ¥è¯¢æ°æ® |
| | | * @param companyId |
| | | * @param deptId |
| | | * @return |
| | | */ |
| | | public List<InoutNoticeOut> listNoticeOut(String companyId, String deptId) { |
| | | return noticeOutRepository.listNoticeOut(companyId, deptId, Constant.COMPLETE_STATUS_NONE); |
| | | } |
| | | |
| | | /** |
| | | * Mybatis-plus è·åä¿¡æ¯ |
| | | * @param companyId |
| | | * @return |
| | | */ |
| | | public List<InoutNoticeOut> getUnComNoticeOut(String companyId) { |
| | | if (StringUtils.isEmpty(companyId)) { |
| | | companyId = ContextUtil.getCompanyId(); |
| | | } |
| | | return noticeOutRepository.listNoticeOut(companyId, Constant.COMPLETE_STATUS_NONE); |
| | | } |
| | | |
| | | /** |
| | | * JPA - ä¿åæ´æ°æ°æ® |
| | | * |
| | | * @param data |
| | | * @return |
| | | */ |
| | | public String saveOrUpdateOut(InoutNoticeOut data) { |
| | | if (Constant.YN_Y.equals(data.getTag())) { |
| | | data.setCreateBy(ContextUtil.getLoginUserName()); |
| | | data.setCreateTime(new Date()); |
| | | data.setAuditStatus(Constant.COMPLETE_STATUS_NONE); |
| | | data.setCompleteStatus(Constant.COMPLETE_STATUS_NONE); |
| | | } |
| | | data.setUpdateBy(ContextUtil.getLoginUserName()); |
| | | data.setUpdateTime(new Date()); |
| | | noticeOutRepository.save(data); |
| | | return null; |
| | | } |
| | | |
| | | /** |
| | | * JPA - å 餿°æ® |
| | | * |
| | | * @param data |
| | | * @return |
| | | */ |
| | | public String delDataOut(InoutNoticeOut data) { |
| | | noticeOutRepository.delete(data); |
| | | return null; |
| | | } |
| | | |
| | | /** |
| | | * JPA - æ ¹æ®IDè·åéç¥åä¿¡æ¯ |
| | | * @param id |
| | | * @param type |
| | | * @return |
| | | */ |
| | | public NoticeDto queryNoticeById(String id, String type) { |
| | | if (StringUtils.isEmpty(id) || StringUtils.isEmpty(type)) { |
| | | return null; |
| | | } |
| | | NoticeDto noticeDto = new NoticeDto(); |
| | | if (Constant.TYPE_IN.equals(type)) { |
| | | InoutNoticeIn noticeIn = noticeInRepository.getDataById(ContextUtil.getCompanyId(), ContextUtil.subDeptId(null), id); |
| | | BeanUtils.copyProperties(noticeIn, noticeDto); |
| | | } else { |
| | | InoutNoticeOut noticeOut = noticeOutRepository.getDataById(ContextUtil.getCompanyId(), ContextUtil.subDeptId(null), id); |
| | | BeanUtils.copyProperties(noticeOut, noticeDto); |
| | | } |
| | | return noticeDto; |
| | | } |
| | | |
| | | /** |
| | | * Mybatis-plus æ´æ°ä¿¡æ¯ |
| | | * @param noticeInList |
| | | * @return |
| | | */ |
| | | public void updateSumNoticeIn(List<InoutNoticeIn> noticeInList) { |
| | | |
| | | if (null == noticeInList || noticeInList.isEmpty()) { |
| | | return; |
| | | } |
| | | |
| | | //éåéç¥å |
| | | NoticeParam param; |
| | | for (InoutNoticeIn noticeIn : noticeInList) { |
| | | |
| | | param = new NoticeParam(noticeIn.getCompanyId(), noticeIn.getDeptId(), |
| | | noticeIn.getCustomerName(), noticeIn.getFoodVariety(), noticeIn.getId()); |
| | | |
| | | log.info("å¼å§æ´æ°åºåºéç¥å={}", param.toString()); |
| | | |
| | | String msg = this.reSumNoticeInComplete(param); |
| | | if (msg != null) { |
| | | log.info("å
¥åºéç¥å宿éç»è®¡å¤±è´¥={},失败åå ={}", param.toString(), msg); |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * Mybatis-plus è·åä¿¡æ¯ |
| | | * @param param |
| | | * @return |
| | | */ |
| | | public String reSumNoticeInComplete(NoticeParam param) { |
| | | if (StringUtils.isEmpty(param.getCustomerName())) { |
| | | return "客æ·ç¼ç 为空ï¼"; |
| | | } |
| | | if (StringUtils.isEmpty(param.getFoodVariety())) { |
| | | return "ç²®é£åç§ä¸ºç©ºï¼"; |
| | | } |
| | | if (StringUtils.isEmpty(param.getCompanyId())) { |
| | | param.setCompanyId(ContextUtil.getCompanyId()); |
| | | } |
| | | if (StringUtils.isEmpty(param.getDeptId())) { |
| | | param.setDeptId(ContextUtil.subDeptId(null)); |
| | | } |
| | | noticeMapper.reSumNoticeInComplete(param); |
| | | return null; |
| | | } |
| | | |
| | | /** |
| | | * Mybatis-plus æ´æ°ä¿¡æ¯ |
| | | * @param noticeOutList |
| | | * @return |
| | | */ |
| | | public void updateSumNoticeOut(List<InoutNoticeOut> noticeOutList) { |
| | | |
| | | if (null == noticeOutList || noticeOutList.isEmpty()) { |
| | | return; |
| | | } |
| | | |
| | | //éåéç¥å |
| | | NoticeParam param; |
| | | for (InoutNoticeOut noticeOut : noticeOutList) { |
| | | |
| | | param = new NoticeParam(noticeOut.getCompanyId(), noticeOut.getDeptId(), noticeOut.getDepotId(), |
| | | noticeOut.getCustomerId(), noticeOut.getFoodVariety(), noticeOut.getId()); |
| | | |
| | | log.info("å¼å§æ´æ°åºåºéç¥å={}", param.toString()); |
| | | |
| | | String msg = this.reSumNoticeOutComplete(param); |
| | | if (msg != null) { |
| | | log.info("åºåºéç¥å宿éç»è®¡å¤±è´¥={},失败åå ={}", param.toString(), msg); |
| | | } |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * Mybatis-plus æ´æ°ä¿¡æ¯ |
| | | * @param param |
| | | * @return |
| | | */ |
| | | public String reSumNoticeOutComplete(NoticeParam param) { |
| | | if (StringUtils.isEmpty(param.getCustomerName())) { |
| | | return "客æ·ç¼ç 为空ï¼"; |
| | | } |
| | | if (StringUtils.isEmpty(param.getFoodVariety())) { |
| | | return "ç²®é£åç§ä¸ºç©ºï¼"; |
| | | } |
| | | if (StringUtils.isEmpty(param.getDepotId())) { |
| | | return "ä»åºç¼ç 为空ï¼"; |
| | | } |
| | | if (StringUtils.isEmpty(param.getCompanyId())) { |
| | | param.setCompanyId(ContextUtil.getCompanyId()); |
| | | } |
| | | if (StringUtils.isEmpty(param.getDeptId())) { |
| | | param.setDeptId(ContextUtil.subDeptId(null)); |
| | | } |
| | | noticeMapper.reSumNoticeOutComplete(param); |
| | | return null; |
| | | } |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.fzzy.igds.service; |
| | | |
| | | import com.fzzy.igds.constant.Constant; |
| | | import com.fzzy.igds.constant.RedisConst; |
| | | import com.fzzy.igds.utils.ContextUtil; |
| | | import com.ruoyi.common.core.domain.entity.SysDept; |
| | | import com.ruoyi.common.core.domain.entity.SysUser; |
| | | import com.ruoyi.common.core.redis.RedisCache; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import com.ruoyi.system.mapper.SysUserMapper; |
| | | import com.ruoyi.system.service.ISysDeptService; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * @Description |
| | | * @Author CZT |
| | | * @Date 2024/11/22 18:03 |
| | | */ |
| | | @Slf4j |
| | | @Service |
| | | public class SysDeptService { |
| | | |
| | | @Resource |
| | | private SysUserMapper userMapper; |
| | | @Resource |
| | | private ISysDeptService iSysDeptService; |
| | | @Resource |
| | | private RedisCache redisCache; |
| | | |
| | | public void initUserDeptMap(String companyId) { |
| | | if(StringUtils.isEmpty(companyId)){ |
| | | companyId = ContextUtil.getCompanyId(); |
| | | } |
| | | |
| | | SysUser sysUser = new SysUser(); |
| | | sysUser.setCompanyId(companyId); |
| | | List<SysUser> list = userMapper.selectUserList(sysUser); |
| | | if (null == list || list.isEmpty()){ |
| | | return; |
| | | } |
| | | for (SysUser userDept : list) { |
| | | ContextUtil.updateSubDept(userDept.getLoginName(), userDept.getDeptId().toString()); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * å·æ°é¨é¨æ¶æä¿¡æ¯å°ç¼å |
| | | * @param companyId |
| | | */ |
| | | public List<SysDept> flushDeptCache(String companyId) { |
| | | if (StringUtils.isEmpty(companyId)) { |
| | | companyId = ContextUtil.getCompanyId(); |
| | | } |
| | | SysDept sysDept = new SysDept(); |
| | | sysDept.setCompanyId(companyId); |
| | | List<SysDept> listSysDept = iSysDeptService.selectDeptList(sysDept); |
| | | |
| | | String key = RedisConst.buildKey(companyId, RedisConst.KEY_DEPT_LIST); |
| | | |
| | | redisCache.setCacheObject(key, listSysDept); |
| | | return listSysDept; |
| | | } |
| | | |
| | | /** |
| | | * æ ¹æ®ç»ç»ç¼ç è·åææé¨é¨ä¿¡æ¯ |
| | | * @param companyId |
| | | * @return |
| | | */ |
| | | public List<SysDept> getCacheDept(String companyId) { |
| | | if (StringUtils.isEmpty(companyId)) { |
| | | companyId = ContextUtil.getCompanyId(); |
| | | } |
| | | String key = RedisConst.buildKey(companyId, RedisConst.KEY_DEPT_LIST); |
| | | |
| | | List<SysDept> listSysDept = redisCache.getCacheObject(key); |
| | | if(null == listSysDept){ |
| | | listSysDept = flushDeptCache(companyId); |
| | | } |
| | | return listSysDept; |
| | | } |
| | | |
| | | /** |
| | | * ç¼åè·åç»ç»ä¸ææåºåºå表 |
| | | * @param companyId |
| | | */ |
| | | public List<SysDept> getAllDeptByCompanyId(String companyId) { |
| | | List<SysDept> list = getCacheDept(companyId); |
| | | return list.stream() |
| | | .filter(item -> item.getType().equals(Constant.DEPT_TYPE_20)) |
| | | .collect(Collectors.toList()); |
| | | } |
| | | |
| | | /** |
| | | * æ ¹æ®idè·åé¨é¨ä¿¡æ¯ |
| | | * @param companyId |
| | | * @param deptId |
| | | * @return |
| | | */ |
| | | public SysDept getCacheDept(String companyId, String deptId) { |
| | | if (StringUtils.isEmpty(deptId)) { |
| | | return null; |
| | | } |
| | | List<SysDept> list = getCacheDept(companyId); |
| | | |
| | | if (null == list || list.isEmpty()){ |
| | | return null; |
| | | } |
| | | |
| | | for (SysDept dept : list) { |
| | | if (deptId.equals(dept.getDeptId() + "")) |
| | | return dept; |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | /** |
| | | * æ ¹æ®ç±»åè·åé¨é¨ä¿¡æ¯ |
| | | * type: 10-å
¬å¸ï¼20-åºåºï¼30-é¨é¨ |
| | | * @param type |
| | | * @return |
| | | */ |
| | | public List<SysDept> getDeptByType(String type) { |
| | | if (StringUtils.isEmpty(type)) { |
| | | return null; |
| | | } |
| | | List<SysDept> list = getCacheDept(null); |
| | | if (null == list || list.isEmpty()) { |
| | | return null; |
| | | } |
| | | //æ ¹æ®ç±»åæ¥è¯¢ |
| | | return list.stream() |
| | | .filter(item -> type.equals(item.getType())) |
| | | .collect(Collectors.toList()); |
| | | } |
| | | |
| | | /** |
| | | * æ ¹æ®ç±»åè·åé¨é¨ä¿¡æ¯ |
| | | * type: 00-å
¬å¸ï¼10-å
¬å¸ï¼20-åºåº,å¤ä¸ªç¨è±æéå·éå¼ |
| | | * |
| | | * @param |
| | | * @return |
| | | */ |
| | | public List<SysDept> getDeptById(SysDept dept) { |
| | | |
| | | if (null == dept) { |
| | | return null; |
| | | } |
| | | List<SysDept> list = getCacheDept(null); |
| | | if ("20".equals(dept.getType())) { |
| | | //æ ¹æ®ç±»åæ¥è¯¢ |
| | | return list.stream() |
| | | .filter(item -> dept.getDeptId().longValue() == item.getDeptId()) |
| | | .collect(Collectors.toList()); |
| | | } else if ("10".equals(dept.getType())) { |
| | | //æ ¹æ®ç±»åæ¥è¯¢ |
| | | return list.stream() |
| | | .filter(item -> dept.getDeptId().longValue() == item.getParentId()) |
| | | .collect(Collectors.toList()); |
| | | } else { |
| | | return list.stream() |
| | | .filter(item -> dept.getDeptId().toString().equals(item.getCompanyId()) && "20".equals(item.getType())) |
| | | .collect(Collectors.toList()); |
| | | } |
| | | |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.fzzy.igds.utils; |
| | | |
| | | import org.apache.commons.lang3.time.DateUtils; |
| | | |
| | | import java.util.Calendar; |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * æ¶é´ç¸å
³å·¥å
·ç±» |
| | | * |
| | | * @author jiazx |
| | | */ |
| | | public class DateUtil { |
| | | |
| | | |
| | | /** |
| | | * æ ¹æ®å½åæ¶é´è·ååªæ yyyy-MM-ddçæ¶é´ |
| | | * |
| | | * @param date |
| | | * @return |
| | | */ |
| | | public static Date getCurZero(Date date) { |
| | | //TimeZone.setDefault(TimeZone.getTimeZone("GMT+8")); |
| | | date = DateUtils.setHours(date, 0); |
| | | date = DateUtils.setMinutes(date, 0); |
| | | date = DateUtils.setSeconds(date, 0); |
| | | date = DateUtils.setMilliseconds(date, 0); |
| | | return date; |
| | | } |
| | | |
| | | /** |
| | | * è·åå½åæ¶é´ä¸ä¸å¤©çé¶ç¹é¶åé¶ç§ |
| | | * |
| | | * @param date |
| | | * @return |
| | | */ |
| | | public static Date getNextZero(Date date) { |
| | | //TimeZone.setDefault(TimeZone.getTimeZone("GMT+8")); |
| | | date = DateUtils.addDays(date, 1); |
| | | date = DateUtils.setHours(date, 0); |
| | | date = DateUtils.setMinutes(date, 0); |
| | | date = DateUtils.setSeconds(date, 0); |
| | | date = DateUtils.setMilliseconds(date, 0); |
| | | return date; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * è·åå½åæ¥ææå¨æç第ä¸å¤©ï¼æ°æ®ä¸ºï¼:00:00:00 |
| | | * |
| | | * @param date |
| | | * @return |
| | | */ |
| | | public static Date getMonthFirst(Date date) { |
| | | if (null == date) date = new Date(); |
| | | date = DateUtils.setDays(date, 1); |
| | | date = DateUtils.setHours(date, 0); |
| | | date = DateUtils.setMinutes(date, 0); |
| | | date = DateUtils.setSeconds(date, 0); |
| | | date = DateUtils.setMilliseconds(date, 0); |
| | | return date; |
| | | } |
| | | |
| | | /** |
| | | * è·åå½å年第ä¸å¤© |
| | | * |
| | | * @param date |
| | | * @return |
| | | */ |
| | | public static Date getYearFirst(Date date) { |
| | | if (null == date) date = new Date(); |
| | | Calendar currCal = Calendar.getInstance(); |
| | | currCal.setTime(date); |
| | | int currentYear = currCal.get(Calendar.YEAR); |
| | | |
| | | Calendar calendar = Calendar.getInstance(); |
| | | calendar.clear(); |
| | | calendar.set(Calendar.YEAR, currentYear); |
| | | Date currYearFirst = calendar.getTime(); |
| | | return currYearFirst; |
| | | } |
| | | |
| | | /** |
| | | * è·åå½åæ¶é´çä¸ä¸ªæ1å· |
| | | * |
| | | * @param date |
| | | * @return |
| | | */ |
| | | public static Date getNextMonthFirst(Date date) { |
| | | if (null == date) date = new Date(); |
| | | date = DateUtils.addMonths(date, 1); |
| | | date = DateUtils.setDays(date, 1); |
| | | date = DateUtils.setHours(date, 0); |
| | | date = DateUtils.setMinutes(date, 0); |
| | | date = DateUtils.setSeconds(date, 0); |
| | | date = DateUtils.setMilliseconds(date, 0); |
| | | return date; |
| | | } |
| | | |
| | | /** |
| | | * è·åå½åæ¶é´çä¸ä¸ªæ1å· |
| | | * |
| | | * @param date |
| | | * @return |
| | | */ |
| | | public static Date getPreMonthFirst(Date date) { |
| | | if (null == date) date = new Date(); |
| | | date = DateUtils.addMonths(date, -1); |
| | | date = DateUtils.setDays(date, 1); |
| | | date = DateUtils.setHours(date, 0); |
| | | date = DateUtils.setMinutes(date, 0); |
| | | date = DateUtils.setSeconds(date, 0); |
| | | date = DateUtils.setMilliseconds(date, 0); |
| | | return date; |
| | | } |
| | | |
| | | /** |
| | | * æ¶é´ï¼æ ¹æ®å¤©æ° æ·»å å å¤©ï¼æè
åå»å 天 |
| | | * |
| | | * @param date å½åæ¶é´ |
| | | * @param num æ£æ°æè
è´æ° |
| | | * @return |
| | | */ |
| | | public static Date getNewByDay(Date date, int num) { |
| | | if (null == date) date = new Date(); |
| | | date = DateUtils.addDays(date, num); |
| | | date = DateUtils.setHours(date, 0); |
| | | date = DateUtils.setMinutes(date, 0); |
| | | date = DateUtils.setSeconds(date, 0); |
| | | date = DateUtils.setMilliseconds(date, 0); |
| | | return date; |
| | | } |
| | | |
| | | /** |
| | | * æ¶é´ï¼æ ¹æ®å¤©æ° æ·»å å åéï¼æè
åå»å å |
| | | * |
| | | * @param date å½åæ¶é´ |
| | | * @param num æ£æ°æè
è´æ° |
| | | * @return |
| | | */ |
| | | public static Date getNewByMinute(Date date, int num) { |
| | | if (null == date) date = new Date(); |
| | | date = DateUtils.addMinutes(date, num); |
| | | return date; |
| | | } |
| | | |
| | | /** |
| | | * è·åæå¹´ç¬¬ä¸å¤©æ¥æ |
| | | * |
| | | * @param year 年份 |
| | | * @return Date |
| | | */ |
| | | public static Date getCurrYearFirst(int year) { |
| | | Calendar calendar = Calendar.getInstance(); |
| | | calendar.clear(); |
| | | calendar.set(Calendar.YEAR, year); |
| | | Date currYearFirst = calendar.getTime(); |
| | | return currYearFirst; |
| | | } |
| | | |
| | | /** |
| | | * è·å次年第ä¸å¤© 0ç¹ |
| | | * |
| | | * @param year 年份 |
| | | * @return Date |
| | | */ |
| | | public static Date getNextYearFirst(int year) { |
| | | Calendar calendar = Calendar.getInstance(); |
| | | calendar.clear(); |
| | | calendar.set(Calendar.YEAR, year); |
| | | calendar.roll(Calendar.DAY_OF_YEAR, -1); |
| | | |
| | | Date currYearLast = calendar.getTime(); |
| | | |
| | | currYearLast = DateUtils.addDays(currYearLast, 1); |
| | | |
| | | return currYearLast; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * è®¡ç®æ¶é´1䏿¶é´2ç´æ¥çåéæ°ï¼ |
| | | * |
| | | * @param begin |
| | | * @param end |
| | | * @return |
| | | */ |
| | | public static long difMin(Date begin, Date end) { |
| | | long between = (end.getTime() - begin.getTime()) / 1000;//é¤ä»¥1000æ¯ä¸ºäºè½¬æ¢æç§ |
| | | //long day1 = between / (24 * 3600); |
| | | // long hour1 = between % (24 * 3600) / 3600; |
| | | long minute1 = between % 3600 / 60; |
| | | // long second1 = between % 60 / 60; |
| | | return minute1; |
| | | } |
| | | |
| | | /** |
| | | * è®¡ç®æ¶é´1䏿¶é´2ç´æ¥ç天æ°ï¼ |
| | | * |
| | | * @param begin |
| | | * @param end |
| | | * @return |
| | | */ |
| | | public static long difDay(Date begin, Date end) { |
| | | int days = (int) ((end.getTime() - begin.getTime()) / (1000 * 3600 * 24)); |
| | | return days; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * è·åå½åæ¶é´ç å°æ¶,æ¶é´ä»1-24 |
| | | * |
| | | * @param date |
| | | * @return |
| | | */ |
| | | public static int getHour(Date date) { |
| | | Calendar calendar = Calendar.getInstance(); |
| | | calendar.setTime(date); |
| | | return calendar.get(Calendar.HOUR_OF_DAY); |
| | | } |
| | | |
| | | /** |
| | | * è·åå½åæ¶é´ç åé æ¶é´ä»0 -59 |
| | | * |
| | | * @param date |
| | | * @return |
| | | */ |
| | | public static int getMinute(Date date) { |
| | | Calendar calendar = Calendar.getInstance(); |
| | | calendar.setTime(date); |
| | | return calendar.get(Calendar.MINUTE); |
| | | } |
| | | |
| | | /** |
| | | * è·åå½åæ¶é´å°ç¬¬äºå¤©åæ¨çæ¶é´å·®ç§æ° |
| | | * |
| | | * @return |
| | | */ |
| | | public static Long getNowToNextDaySeconds() { |
| | | Calendar cal = Calendar.getInstance(); |
| | | cal.add(Calendar.DAY_OF_YEAR, 1); |
| | | cal.set(Calendar.HOUR_OF_DAY, 0); |
| | | cal.set(Calendar.SECOND, 0); |
| | | cal.set(Calendar.MINUTE, 0); |
| | | cal.set(Calendar.MILLISECOND, 0); |
| | | return (cal.getTimeInMillis() - System.currentTimeMillis()) / 1000; |
| | | } |
| | | |
| | | |
| | | public static void main(String[] args) { |
| | | System.out.println(getMinute(new Date())); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.fzzy.igds.utils; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | |
| | | /** |
| | | * @Description è·å客æ·ç»éä¿¡æ¯ |
| | | * @Author CZT |
| | | * @Date 2025/11/29 11:02 |
| | | */ |
| | | public class SystemUtil { |
| | | |
| | | /*** |
| | | * è·å客æ·ç«¯IPå°å |
| | | * @param request |
| | | */ |
| | | public static String getIP(HttpServletRequest request) { |
| | | if (request == null) { |
| | | return "127.0.0.1"; |
| | | } |
| | | String ip = request.getHeader("X-Real-IP"); |
| | | if (ip != null && !"".equals(ip) && !"unknown".equalsIgnoreCase(ip)) { |
| | | return ip; |
| | | } |
| | | ip = request.getHeader("X-Forwarded-For"); |
| | | if (ip != null && !"".equals(ip) && !"unknown".equalsIgnoreCase(ip)) { |
| | | // 夿¬¡åå代çå伿å¤ä¸ªIPå¼ï¼ç¬¬ä¸ä¸ªä¸ºçå®IPã |
| | | int index = ip.indexOf(','); |
| | | if (index != -1) { |
| | | return ip.substring(0, index); |
| | | } else { |
| | | return ip; |
| | | } |
| | | } else { |
| | | return request.getRemoteAddr(); |
| | | } |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <ViewConfig> |
| | | <Arguments/> |
| | | <Context/> |
| | | <Model> |
| | | <DataType name="dtMain"> |
| | | <Property name="creationType">com.fzzy.igds.domain.InoutNoticeIn</Property> |
| | | <PropertyDef name="id"> |
| | | <Property></Property> |
| | | <Property name="label">éç¥åå·</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="companyId"> |
| | | <Property></Property> |
| | | <Property name="label">ç»ç»ç¼ç </Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="deptId"> |
| | | <Property></Property> |
| | | <Property name="label">æå±ååº</Property> |
| | | <Property name="mapping"> |
| | | <Property name="mapValues">${dorado.getDataProvider("deptPR#getAllData").getResult()}</Property> |
| | | <Property name="keyProperty">id</Property> |
| | | <Property name="valueProperty">kqmc</Property> |
| | | </Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="name"> |
| | | <Property></Property> |
| | | <Property name="label">éç¥ååç§°</Property> |
| | | <Property name="required">true</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="type"> |
| | | <Property></Property> |
| | | <Property name="label">ç±»å</Property> |
| | | <Property name="mapping"> |
| | | <Property name="mapValues"> |
| | | <Collection> |
| | | <Entity> |
| | | <Property name="name">åºåºèªå»º</Property> |
| | | <Property name="code">10</Property> |
| | | </Entity> |
| | | <Entity> |
| | | <Property name="name">é¶è¡ç管</Property> |
| | | <Property name="code">20</Property> |
| | | </Entity> |
| | | </Collection> |
| | | </Property> |
| | | <Property name="keyProperty">code</Property> |
| | | <Property name="valueProperty">name</Property> |
| | | </Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="contractId"> |
| | | <Property></Property> |
| | | <Property name="label">è´¨æ¼åå</Property> |
| | | <Property name="required">false</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="depotId"> |
| | | <Property></Property> |
| | | <Property name="label">å
¥åºä»åº</Property> |
| | | <Property name="mapping"> |
| | | <Property name="mapValues">${dorado.getDataProvider("depotPR#getAllCache").getResult()}</Property> |
| | | <Property name="keyProperty">id</Property> |
| | | <Property name="valueProperty">name</Property> |
| | | </Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="customerName"> |
| | | <Property></Property> |
| | | <Property name="label">å货客æ·</Property> |
| | | <Property name="required">true</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="unitName"> |
| | | <Property></Property> |
| | | <Property name="label">æ¶è´§åä½</Property> |
| | | <Property name="required">false</Property> |
| | | <Property name="mapping"> |
| | | <Property name="mapValues">${dorado.getDataProvider("deptPR#getAllData").getResult()}</Property> |
| | | <Property name="keyProperty">id</Property> |
| | | <Property name="valueProperty">kqmc</Property> |
| | | </Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="foodVariety"> |
| | | <Property></Property> |
| | | <Property name="label">ç²®é£åç§</Property> |
| | | <Property name="mapping"> |
| | | <Property name="mapValues">${dorado.getDataProvider("dicPR#sysDictData").getResult("FOOD_VARIETY_")}</Property> |
| | | <Property name="keyProperty">dictValue</Property> |
| | | <Property name="valueProperty">dictLabel</Property> |
| | | </Property> |
| | | <Property name="required">true</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="year"> |
| | | <Property></Property> |
| | | <Property name="label">年份</Property> |
| | | <Property name="required">true</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="targetNumber"> |
| | | <Property name="dataType">Double</Property> |
| | | <Property name="displayFormat">#0.0 KG</Property> |
| | | <Property name="required">true</Property> |
| | | <Property name="label">ç®æ æ°é</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="completeNumber"> |
| | | <Property name="dataType">Double</Property> |
| | | <Property name="label">宿æ°é</Property> |
| | | <Property name="displayFormat">#0.0 KG</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="auditStatus"> |
| | | <Property></Property> |
| | | <Property name="label">å®¡æ ¸ç¶æ</Property> |
| | | <Property name="mapping"> |
| | | <Property name="mapValues"> |
| | | <Collection> |
| | | <Entity> |
| | | <Property name="name">çç®¡å®¡æ ¸</Property> |
| | | <Property name="code">10</Property> |
| | | </Entity> |
| | | <Entity> |
| | | <Property name="name">é¶è¡å®¡æ ¸</Property> |
| | | <Property name="code">20</Property> |
| | | </Entity> |
| | | <Entity> |
| | | <Property name="name">å·²å®¡æ ¸</Property> |
| | | <Property name="code">30</Property> |
| | | </Entity> |
| | | </Collection> |
| | | </Property> |
| | | <Property name="keyProperty">code</Property> |
| | | <Property name="valueProperty">name</Property> |
| | | </Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="auditUser"> |
| | | <Property></Property> |
| | | <Property name="label">å®¡æ ¸äºº</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="auditDate"> |
| | | <Property name="dataType">DateTime</Property> |
| | | <Property name="label">å®¡æ¹æ¶é´</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="completeStatus"> |
| | | <Property></Property> |
| | | <Property name="label">å®æç¶æ</Property> |
| | | <Property name="mapping"> |
| | | <Property name="mapValues"> |
| | | <Collection> |
| | | <Entity> |
| | | <Property name="name">æªå®æ</Property> |
| | | <Property name="code">NONE</Property> |
| | | </Entity> |
| | | <Entity> |
| | | <Property name="name">已宿</Property> |
| | | <Property name="code">COMPLETE</Property> |
| | | </Entity> |
| | | </Collection> |
| | | </Property> |
| | | <Property name="keyProperty">code</Property> |
| | | <Property name="valueProperty">name</Property> |
| | | </Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="completeTime"> |
| | | <Property name="dataType">DateTime</Property> |
| | | <Property name="label">宿æ¶é´</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="remark"> |
| | | <Property></Property> |
| | | <Property name="label">夿³¨ä¿¡æ¯</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="tag"> |
| | | <Property></Property> |
| | | <Property name="label">æ è®°</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="createTime"> |
| | | <Property name="dataType">DateTime</Property> |
| | | <Property name="label">å建æ¶é´</Property> |
| | | <Property name="readOnly">true</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="createBy"> |
| | | <Property></Property> |
| | | <Property name="label">å建人</Property> |
| | | <Property name="readOnly">true</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="updateTime"> |
| | | <Property name="dataType">DateTime</Property> |
| | | <Property name="label">æ´æ°æ¶é´</Property> |
| | | <Property name="readOnly">true</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="updateBy"> |
| | | <Property></Property> |
| | | <Property name="label">æ´æ°äºº</Property> |
| | | <Property name="readOnly">true</Property> |
| | | </PropertyDef> |
| | | </DataType> |
| | | <DataType name="dtQuery"> |
| | | <PropertyDef name="depotId"> |
| | | <Property></Property> |
| | | <Property name="label">è£
å¸ä»åº</Property> |
| | | <Property name="mapping"> |
| | | <Property name="mapValues">${dorado.getDataProvider("depotPR#getAllCache").getResult()}</Property> |
| | | <Property name="keyProperty">id</Property> |
| | | <Property name="valueProperty">name</Property> |
| | | </Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="customerName"> |
| | | <Property></Property> |
| | | <Property name="label">å货客æ·</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="foodVariety"> |
| | | <Property></Property> |
| | | <Property name="label">ç²®é£åç§</Property> |
| | | <Property name="mapping"> |
| | | <Property name="mapValues">${dorado.getDataProvider("dicPR#sysDictData").getResult("FOOD_VARIETY_")}</Property> |
| | | <Property name="keyProperty">dictValue</Property> |
| | | <Property name="valueProperty">dictLabel</Property> |
| | | </Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="completeStatus"> |
| | | <Property></Property> |
| | | <Property name="label">å®æç¶æ</Property> |
| | | <Property name="mapping"> |
| | | <Property name="mapValues"> |
| | | <Collection> |
| | | <Entity> |
| | | <Property name="name">æªå®æ</Property> |
| | | <Property name="code">NONE</Property> |
| | | </Entity> |
| | | <Entity> |
| | | <Property name="name">已宿</Property> |
| | | <Property name="code">COMPLETE</Property> |
| | | </Entity> |
| | | </Collection> |
| | | </Property> |
| | | <Property name="keyProperty">code</Property> |
| | | <Property name="valueProperty">name</Property> |
| | | </Property> |
| | | </PropertyDef> |
| | | </DataType> |
| | | <DataType name="dtQueryTitle"> |
| | | <PropertyDef name="title"> |
| | | <Property name="label">title</Property> |
| | | </PropertyDef> |
| | | </DataType> |
| | | </Model> |
| | | <View layout="padding:10"> |
| | | <ClientEvent name="onReady">var deptId = window.parent.deptId;//ç¶é¡µé¢ä¸çååºç¼ç 
 |
| | | var TYPE = "NOTICE_IN";
 |
| | | query = function(){
 |
| | | view.get("#dsQuery").set("parameter",{deptId:deptId}).flushAsync();
 |
| | | };
 |
| | | query();
 |
| | | 
 |
| | | queryTitle = function(){
 |
| | | view.get("#dsQueryTitle").set("parameter",{type:TYPE,deptId:deptId}).flushAsync();
 |
| | | };
 |
| | | queryTitle();
 |
| | | 
 |
| | | //æ°å¢
 |
| | | add = function(){
 |
| | | view.get("#ajaxInitAdd").set("parameter", TYPE).execute(function(data){
 |
| | | view.get("#dsMain").insert(data);
 |
| | | view.get("#dialogMain").show();
 |
| | | });
 |
| | | };</ClientEvent> |
| | | <Property name="packages">font-awesome,css-common</Property> |
| | | <DataSet id="dsMain"> |
| | | <Property name="dataType">[dtMain]</Property> |
| | | <Property name="dataProvider">inoutNoticePR#pageQueryIn</Property> |
| | | <Property name="pageSize">15</Property> |
| | | <Property name="loadMode">lazy</Property> |
| | | </DataSet> |
| | | <DataSet id="dsQuery"> |
| | | <Property name="dataType">dtQuery</Property> |
| | | <Property name="dataProvider">inoutNoticePR#getYearQuery</Property> |
| | | <Property name="loadMode">manual</Property> |
| | | </DataSet> |
| | | <DataSet id="dsQueryTitle"> |
| | | <Property name="dataType">dtQueryTitle</Property> |
| | | <Property name="dataProvider">inoutNoticePR#getTitle</Property> |
| | | <Property name="loadMode">manual</Property> |
| | | </DataSet> |
| | | <Container> |
| | | <Property name="className">c-param</Property> |
| | | <AutoForm> |
| | | <Property name="cols">*,*,*,*,90,90</Property> |
| | | <Property name="dataSet">dsQuery</Property> |
| | | <Property name="labelAlign">right</Property> |
| | | <Property name="labelWidth">100</Property> |
| | | <AutoFormElement> |
| | | <Property name="name">depotId</Property> |
| | | <Property name="property">depotId</Property> |
| | | <Editor/> |
| | | </AutoFormElement> |
| | | <AutoFormElement> |
| | | <Property name="name">customerName</Property> |
| | | <Property name="property">customerName</Property> |
| | | <Editor/> |
| | | </AutoFormElement> |
| | | <AutoFormElement> |
| | | <Property name="name">foodVariety</Property> |
| | | <Property name="property">foodVariety</Property> |
| | | <Editor/> |
| | | </AutoFormElement> |
| | | <AutoFormElement> |
| | | <Property name="name">completeStatus</Property> |
| | | <Property name="property">completeStatus</Property> |
| | | <Editor/> |
| | | </AutoFormElement> |
| | | <Button> |
| | | <ClientEvent name="onClick">var data = view.get("#dsQuery.data");
 |
| | | if(data){
 |
| | | view.get("#dsMain").set("parameter",data.toJSON()).flushAsync();
 |
| | | }else{
 |
| | | view.get("#dsMain").flushAsync();
 |
| | | }</ClientEvent> |
| | | <Property name="caption">æç´¢</Property> |
| | | <Property name="iconClass">fa fa-search</Property> |
| | | <Property name="exClassName">btn-q1</Property>> |
| | | </Button> |
| | | <Button> |
| | | <ClientEvent name="onClick">view.get("#dsQuery").flushAsync();</ClientEvent> |
| | | <Property name="caption">éç½®</Property> |
| | | <Property name="exClassName">btn-q2</Property> |
| | | <Property name="iconClass">fa fa-refresh</Property> |
| | | </Button> |
| | | </AutoForm> |
| | | </Container> |
| | | <Container> |
| | | <Property name="className">c-data</Property> |
| | | <ToolBar> |
| | | <ToolBarButton layoutConstraint="left"> |
| | | <ClientEvent name="onClick">add();</ClientEvent> |
| | | <Property name="caption">æ°å¢</Property> |
| | | <Property name="exClassName">btn1</Property> |
| | | <Property name="width">100</Property> |
| | | <Property name="iconClass">fa fa-plus</Property> |
| | | </ToolBarButton> |
| | | <ToolBarButton layoutConstraint="left"> |
| | | <ClientEvent name="onClick">
 |
| | | var select = view.get("#dataGridMain").get("selection");
 |
| | | if(select){
 |
| | | view.get("#dialogMain").show();
 |
| | | }else{
 |
| | | $notify("è¯·éæ©éè¦ä¿®æ¹çæ°æ®â¦â¦");
 |
| | | }</ClientEvent> |
| | | <Property name="caption">ä¿®æ¹</Property> |
| | | <Property name="exClassName">btn2</Property> |
| | | <Property name="width">100</Property> |
| | | <Property name="iconClass">fa fa-pencil-square-o</Property> |
| | | </ToolBarButton> |
| | | <ToolBarButton layoutConstraint="left"> |
| | | <ClientEvent name="onClick">
 |
| | | var select = view.get("#dataGridMain").get("selection");
 |
| | | if(select){
 |
| | | view.get("#ajaxDel").set("parameter",select).execute(function(result){
 |
| | | select.remove();
 |
| | | });
 |
| | | }else{
 |
| | | $notify("è¯·éæ©éè¦å é¤çä»åºâ¦â¦");
 |
| | | }</ClientEvent> |
| | | <Property name="caption">å é¤</Property> |
| | | <Property name="exClassName">btn3</Property> |
| | | <Property name="width">100</Property> |
| | | <Property name="iconClass">fa fa-times</Property> |
| | | </ToolBarButton> |
| | | <ToolBarButton layoutConstraint="left"> |
| | | <ClientEvent name="onClick">view.get("#recalculate").execute(function(result){
 |
| | | if(result == 'success'){
 |
| | | $notify("æ°æ®æ´æ°å®æï¼ï¼");
 |
| | | 
 |
| | | var data = view.get("#dsQuery.data");
 |
| | | view.get("#dsMain").set("parameter",data.toJSON()).flushAsync();
 |
| | | }else{
 |
| | | $notify("æ°æ®æ´æ°å¤±è´¥ï¼ï¼");
 |
| | | }
 |
| | | });</ClientEvent> |
| | | <Property name="caption">宿¶æ ¸ç®</Property> |
| | | <Property name="exClassName">btn4</Property> |
| | | <Property name="iconClass">fa fa-refresh</Property> |
| | | <Property name="width">100</Property> |
| | | <Property name="tip">宿éé»è®¤ç»è®¡å°æ¨å¤©ï¼æ¥ç宿¶å®æé请ç¹å»â宿¶æ ¸ç®âæé®</Property> |
| | | </ToolBarButton> |
| | | </ToolBar> |
| | | <DataGrid id="dataGridMain" layoutConstraint="padding:8"> |
| | | <ClientEvent name="onDataRowClick">view.get("#dataGridCamera").set("selection",arg.data);</ClientEvent> |
| | | <Property name="dataSet">dsMain</Property> |
| | | <Property name="readOnly">true</Property> |
| | | <Property name="selectionMode">singleRow</Property> |
| | | <Property name="readOnly">true</Property> |
| | | <RowSelectorColumn/> |
| | | <RowNumColumn> |
| | | <Property name="width">50</Property> |
| | | <Property name="caption">åºå·</Property> |
| | | </RowNumColumn> |
| | | <DataColumn name="id"> |
| | | <Property name="property">id</Property> |
| | | <Property name="width">200</Property> |
| | | <Property name="align">center</Property> |
| | | </DataColumn> |
| | | <DataColumn name="name"> |
| | | <Property name="property">name</Property> |
| | | <Property name="align">center</Property> |
| | | <Property name="width">120</Property> |
| | | </DataColumn> |
| | | <DataColumn> |
| | | <Property name="property">customerName</Property> |
| | | <Property name="name">customerName</Property> |
| | | <Property name="align">center</Property> |
| | | </DataColumn> |
| | | <DataColumn name="depotId"> |
| | | <Property name="property">depotId</Property> |
| | | <Property name="align">center</Property> |
| | | <Property name="width">150</Property> |
| | | </DataColumn> |
| | | <DataColumn name="foodVariety"> |
| | | <Property name="property">foodVariety</Property> |
| | | <Property name="align">center</Property> |
| | | <Property name="width">150</Property> |
| | | </DataColumn> |
| | | <DataColumn> |
| | | <Property name="property">targetNumber</Property> |
| | | <Property name="name">targetNumber</Property> |
| | | <Property name="align">center</Property> |
| | | <Property name="width">200</Property> |
| | | </DataColumn> |
| | | <DataColumn> |
| | | <Property name="property">completeStatus</Property> |
| | | <Property name="name">completeStatus</Property> |
| | | <Property name="align">center</Property> |
| | | <Property name="width">100</Property> |
| | | </DataColumn> |
| | | <DataColumn> |
| | | <Property name="property">createTime</Property> |
| | | <Property name="align">center</Property> |
| | | <Property name="name">createTime</Property> |
| | | <Property name="width">160</Property> |
| | | </DataColumn> |
| | | <DataColumn> |
| | | <Property name="property">updateBy</Property> |
| | | <Property name="align">center</Property> |
| | | <Property name="name">updateBy</Property> |
| | | <Property name="width">120</Property> |
| | | </DataColumn> |
| | | <DataColumn> |
| | | <Property name="property">updateTime</Property> |
| | | <Property name="align">center</Property> |
| | | <Property name="name">updateTime</Property> |
| | | <Property name="width">160</Property> |
| | | </DataColumn> |
| | | </DataGrid> |
| | | </Container> |
| | | <Container layoutConstraint="bottom"> |
| | | <Property name="className">c-bottom</Property> |
| | | <DataPilot layoutConstraint="right"> |
| | | <Property name="itemCodes">pageSize,pages</Property> |
| | | <Property name="dataSet">dsMain</Property> |
| | | </DataPilot> |
| | | </Container> |
| | | <Dialog id="dialogMain" layout="regionPadding:8"> |
| | | <Property name="closeable">false</Property> |
| | | <Property name="caption">å
¥åºéç¥å</Property> |
| | | <Property name="width">60%</Property> |
| | | <Property name="iconClass">fa fa-tasks</Property> |
| | | <Buttons> |
| | | <Button id="btnOk"> |
| | | <ClientEvent name="onClick">var data = view.get("#dsMain.data:#");
 |
| | | if(data.validate() != 'ok'){
 |
| | | $notify("æ°æ®æ ¡éªå¤±è´¥ï¼ï¼");
 |
| | | return;
 |
| | | }
 |
| | | view.get("#ajaxSave").set("parameter",data).execute(function(result){
 |
| | | if(result){
 |
| | | $alert(result);
 |
| | | return;
 |
| | | }
 |
| | | $notify("æ°æ®æ§è¡å®æï¼ï¼");
 |
| | | self.get("parent").hide();
 |
| | | });</ClientEvent> |
| | | <Property name="caption">ä¿å</Property> |
| | | <Property name="iconClass">fa fa-check-circle</Property> |
| | | <Property name="exClassName">btn1</Property> |
| | | <Property name="width">120</Property> |
| | | </Button> |
| | | <Button> |
| | | <ClientEvent name="onClick">view.get("#dsMain.data:#").cancel();
 |
| | | self.get("parent").hide();</ClientEvent> |
| | | <Property name="caption">åæ¶</Property> |
| | | <Property name="exClassName">btn3</Property> |
| | | <Property name="iconClass">fa fa-times-circle</Property> |
| | | <Property name="width">120</Property> |
| | | </Button> |
| | | </Buttons> |
| | | <Children> |
| | | <Container> |
| | | <AutoForm id="autoForm1" layoutConstraint="top padding:10"> |
| | | <Property name="cols">*,*,*,*,*,*,*</Property> |
| | | <Property name="dataSet">dsQueryTitle</Property> |
| | | <Property name="labelAlign">right</Property> |
| | | <Property name="showHint">false</Property> |
| | | <AutoFormElement layoutConstraint="colSpan:7"> |
| | | <Property name="name">title</Property> |
| | | <Property name="property">title</Property> |
| | | <Property name="showLabel">false</Property> |
| | | <Property name="editorType">Label</Property> |
| | | <Property name="style"> |
| | | <Property name="font">bold 30px Georgia, serif;</Property> |
| | | <Property name="text-align">center</Property> |
| | | </Property> |
| | | <Editor/> |
| | | </AutoFormElement> |
| | | </AutoForm> |
| | | <Container layout="padding:15"> |
| | | <AutoForm> |
| | | <Property name="dataSet">dsMain</Property> |
| | | <Property name="cols">*,*,*</Property> |
| | | <Property name="labelAlign">right</Property> |
| | | <Property name="labelSeparator">ï¼</Property> |
| | | <Property name="labelWidth">120</Property> |
| | | <AutoFormElement> |
| | | <Property name="name">name</Property> |
| | | <Property name="property">name</Property> |
| | | <Editor/> |
| | | </AutoFormElement> |
| | | <AutoFormElement> |
| | | <Property name="name">depotId</Property> |
| | | <Property name="property">depotId</Property> |
| | | <Editor/> |
| | | </AutoFormElement> |
| | | <AutoFormElement> |
| | | <Property name="name">id</Property> |
| | | <Property name="property">id</Property> |
| | | <Property name="readOnly">true</Property> |
| | | <Editor/> |
| | | </AutoFormElement> |
| | | <AutoFormElement> |
| | | <Property name="name">foodVariety</Property> |
| | | <Property name="property">foodVariety</Property> |
| | | <Editor/> |
| | | </AutoFormElement> |
| | | <AutoFormElement> |
| | | <Property name="name">customerName</Property> |
| | | <Property name="property">customerName</Property> |
| | | <Editor/> |
| | | </AutoFormElement> |
| | | <AutoFormElement> |
| | | <Property name="name">unitName</Property> |
| | | <Property name="property">unitName</Property> |
| | | <Editor/> |
| | | </AutoFormElement> |
| | | <AutoFormElement> |
| | | <Property name="name">year</Property> |
| | | <Property name="property">year</Property> |
| | | <Property name="trigger">defaultYearDropDown</Property> |
| | | <Editor/> |
| | | </AutoFormElement> |
| | | <AutoFormElement> |
| | | <Property name="name">targetNumber</Property> |
| | | <Property name="property">targetNumber</Property> |
| | | <Property name="readOnly">false</Property> |
| | | <Editor/> |
| | | </AutoFormElement> |
| | | <AutoFormElement> |
| | | <Property name="name">completeNumber</Property> |
| | | <Property name="property">completeNumber</Property> |
| | | <Property name="readOnly">false</Property> |
| | | <Editor/> |
| | | </AutoFormElement> |
| | | <AutoFormElement> |
| | | <Property name="name">type</Property> |
| | | <Property name="property">type</Property> |
| | | <Editor/> |
| | | </AutoFormElement> |
| | | <AutoFormElement> |
| | | <Property name="name">completeStatus</Property> |
| | | <Property name="property">completeStatus</Property> |
| | | <Editor/> |
| | | </AutoFormElement> |
| | | <AutoFormElement> |
| | | <Property name="name">completeTime</Property> |
| | | <Property name="property">completeTime</Property> |
| | | <Property name="readOnly">false</Property> |
| | | <Editor/> |
| | | </AutoFormElement> |
| | | <AutoFormElement> |
| | | <Property name="name">contractId</Property> |
| | | <Property name="property">contractId</Property> |
| | | <Editor/> |
| | | </AutoFormElement> |
| | | <Label layoutConstraint="colSpan:2"> |
| | | <Property name="style"> |
| | | <Property name="color">blue</Property> |
| | | </Property> |
| | | <Property name="text">注ï¼ç±»å为é¶è¡ç管æ¶ï¼éå
³èè´¨æ¼åå</Property> |
| | | </Label> |
| | | <AutoFormElement layoutConstraint="colSpan:2"> |
| | | <Property name="name">remark</Property> |
| | | <Property name="property">remark</Property> |
| | | <Property name="editorType">TextArea</Property> |
| | | <Editor/> |
| | | </AutoFormElement> |
| | | <AutoFormElement> |
| | | <Property name="name">createBy</Property> |
| | | <Property name="property">createBy</Property> |
| | | <Editor/> |
| | | </AutoFormElement> |
| | | <AutoFormElement> |
| | | <Property name="name">createTime</Property> |
| | | <Property name="property">createTime</Property> |
| | | <Editor/> |
| | | </AutoFormElement> |
| | | <AutoFormElement> |
| | | <Property name="name">updateBy</Property> |
| | | <Property name="property">updateBy</Property> |
| | | <Editor/> |
| | | </AutoFormElement> |
| | | <AutoFormElement> |
| | | <Property name="name">updateTime</Property> |
| | | <Property name="property">updateTime</Property> |
| | | <Editor/> |
| | | </AutoFormElement> |
| | | </AutoForm> |
| | | </Container> |
| | | </Container> |
| | | </Children> |
| | | <Tools/> |
| | | </Dialog> |
| | | <AjaxAction id="ajaxSave"> |
| | | <Property name="service">inoutNoticePR#saveIn</Property> |
| | | </AjaxAction> |
| | | <AjaxAction id="ajaxDel"> |
| | | <Property name="service">inoutNoticePR#delDataIn</Property> |
| | | <Property name="confirmMessage">ç¡®å®è¦æ§è¡å é¤ä¹ï¼</Property> |
| | | </AjaxAction> |
| | | <AjaxAction id="ajaxInitAdd"> |
| | | <Property name="service">inoutNoticePR#initAddIn</Property> |
| | | </AjaxAction> |
| | | <AjaxAction id="recalculate"> |
| | | <Property name="service">inoutNoticePR#updateSumNoticeIn</Property> |
| | | </AjaxAction> |
| | | </View> |
| | | </ViewConfig> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <ViewConfig> |
| | | <Arguments/> |
| | | <Context/> |
| | | <Model> |
| | | <DataType name="dtMain"> |
| | | <ClientEvent name="onDataChange">if(arg.property =="depotId"){
 |
| | | autoByDepot(arg.newValue);
 |
| | | }</ClientEvent> |
| | | <Property name="creationType">com.fzzy.igds.models.InoutNoticeOut</Property> |
| | | <PropertyDef name="id"> |
| | | <Property></Property> |
| | | <Property name="label">éç¥åå·</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="companyId"> |
| | | <Property></Property> |
| | | <Property name="label">ç»ç»ç¼ç </Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="deptId"> |
| | | <Property></Property> |
| | | <Property name="label">æå±ååº</Property> |
| | | <Property name="mapping"> |
| | | <Property name="mapValues">${dorado.getDataProvider("deptPR#loadParents").getResult()}</Property> |
| | | <Property name="keyProperty">deptId</Property> |
| | | <Property name="valueProperty">deptName</Property> |
| | | </Property> |
| | | <Property name="required">false</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="planId"> |
| | | <Property></Property> |
| | | <Property name="label">æå±è®¡å</Property> |
| | | <Property name="required">false</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="planName"> |
| | | <Property></Property> |
| | | <Property name="label">æå±è®¡å</Property> |
| | | <Property name="required">false</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="contractId"> |
| | | <Property></Property> |
| | | <Property name="label">æå±åå</Property> |
| | | <Property name="required">false</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="contractName"> |
| | | <Property></Property> |
| | | <Property name="label">æå±åå</Property> |
| | | <Property name="required">false</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="name"> |
| | | <Property></Property> |
| | | <Property name="label">éç¥ååç§°</Property> |
| | | <Property name="required">true</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="depotId"> |
| | | <Property></Property> |
| | | <Property name="label">åºåºä»åº</Property> |
| | | <Property name="mapping"> |
| | | <Property name="mapValues">${dorado.getDataProvider("depotPR#getAllCache").getResult()}</Property> |
| | | <Property name="keyProperty">id</Property> |
| | | <Property name="valueProperty">name</Property> |
| | | </Property> |
| | | <Property name="required">true</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="customerId"> |
| | | <Property></Property> |
| | | <Property name="label">æ¶è´§å®¢æ·</Property> |
| | | <Property name="required">true</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="customerName"> |
| | | <Property></Property> |
| | | <Property name="label">æ¶è´§å®¢æ·</Property> |
| | | <Property name="required">true</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="unitName"> |
| | | <Property></Property> |
| | | <Property name="label">åè´§åä½</Property> |
| | | <Property name="required">false</Property> |
| | | <Property name="mapping"> |
| | | <Property name="mapValues">${dorado.getDataProvider("deptPR#loadParents").getResult()}</Property> |
| | | <Property name="keyProperty">deptId</Property> |
| | | <Property name="valueProperty">deptName</Property> |
| | | </Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="foodVariety"> |
| | | <Property></Property> |
| | | <Property name="label">ç²®é£åç§</Property> |
| | | <Property name="mapping"> |
| | | <Property name="mapValues">${dorado.getDataProvider("dicPR#sysDictData").getResult("FOOD_VARIETY_")}</Property> |
| | | <Property name="keyProperty">dictValue</Property> |
| | | <Property name="valueProperty">dictLabel</Property> |
| | | </Property> |
| | | <Property name="required">true</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="year"> |
| | | <Property></Property> |
| | | <Property name="label">ç²®é£å¹´ä»½</Property> |
| | | <Property name="required">true</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="targetNumber"> |
| | | <Property name="dataType">double</Property> |
| | | <Property name="displayFormat">#,## kG</Property> |
| | | <Property name="required">true</Property> |
| | | <Property name="label">è®¡åæ°é</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="completeNumber"> |
| | | <Property name="dataType">double</Property> |
| | | <Property name="label">宿æ°é</Property> |
| | | <Property name="displayFormat">#,## kG</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="auditStatus"> |
| | | <Property></Property> |
| | | <Property name="label">å®¡æ ¸ç¶æ</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="auditUser"> |
| | | <Property></Property> |
| | | <Property name="label">å®¡æ ¸äºº</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="completeStatus"> |
| | | <Property></Property> |
| | | <Property name="label">å®æç¶æ</Property> |
| | | <Property name="mapping"> |
| | | <Property name="mapValues"> |
| | | <Collection> |
| | | <Entity> |
| | | <Property name="name">æªå®æ</Property> |
| | | <Property name="code">NONE</Property> |
| | | </Entity> |
| | | <Entity> |
| | | <Property name="name">已宿</Property> |
| | | <Property name="code">COMPLETE</Property> |
| | | </Entity> |
| | | </Collection> |
| | | </Property> |
| | | <Property name="keyProperty">code</Property> |
| | | <Property name="valueProperty">name</Property> |
| | | </Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="createTime"> |
| | | <Property name="dataType">DateTime</Property> |
| | | <Property name="label">å建æ¶é´</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="createUser"> |
| | | <Property></Property> |
| | | <Property name="label">å建人</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="completeTime"> |
| | | <Property name="dataType">DateTime</Property> |
| | | <Property name="label">宿æ¶é´</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="remark"> |
| | | <Property></Property> |
| | | <Property name="label">夿³¨ä¿¡æ¯</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="tag"> |
| | | <Property></Property> |
| | | <Property name="label">æ è®°</Property> |
| | | </PropertyDef> |
| | | </DataType> |
| | | <DataType name="dtQuery"> |
| | | <PropertyDef name="id"> |
| | | <Property></Property> |
| | | <Property name="label">éç¥åå·</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="deptId"> |
| | | <Property></Property> |
| | | <Property name="label">åè´§åä½</Property> |
| | | <Property name="mapping"> |
| | | <Property name="mapValues">${dorado.getDataProvider("deptPR#loadParents").getResult()}</Property> |
| | | <Property name="keyProperty">deptId</Property> |
| | | <Property name="valueProperty">deptName</Property> |
| | | </Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="foodVariety"> |
| | | <Property></Property> |
| | | <Property name="label">ç²®é£åç§</Property> |
| | | <Property name="mapping"> |
| | | <Property name="mapValues">${dorado.getDataProvider("dicPR#sysDictData").getResult("FOOD_VARIETY_")}</Property> |
| | | <Property name="keyProperty">dictValue</Property> |
| | | <Property name="valueProperty">dictLabel</Property> |
| | | </Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="year"> |
| | | <Property></Property> |
| | | <Property name="label">年份</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="completeStatus"> |
| | | <Property></Property> |
| | | <Property name="label">å®æç¶æ</Property> |
| | | <Property name="mapping"> |
| | | <Property name="mapValues"> |
| | | <Collection> |
| | | <Entity> |
| | | <Property name="name">æªå®æ</Property> |
| | | <Property name="code">NONE</Property> |
| | | </Entity> |
| | | <Entity> |
| | | <Property name="name">已宿</Property> |
| | | <Property name="code">COMPLETE</Property> |
| | | </Entity> |
| | | </Collection> |
| | | </Property> |
| | | <Property name="keyProperty">code</Property> |
| | | <Property name="valueProperty">name</Property> |
| | | </Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="depotId"> |
| | | <Property></Property> |
| | | <Property name="label">åºåºä»åº</Property> |
| | | <Property name="mapping"> |
| | | <Property name="mapValues">${dorado.getDataProvider("depotPR#getAllCache").getResult()}</Property> |
| | | <Property name="keyProperty">id</Property> |
| | | <Property name="valueProperty">name</Property> |
| | | </Property> |
| | | <Property name="required">true</Property> |
| | | </PropertyDef> |
| | | </DataType> |
| | | <DataType name="dtQueryTitle"> |
| | | <PropertyDef name="title"> |
| | | <Property name="label">title</Property> |
| | | </PropertyDef> |
| | | </DataType> |
| | | <DataType name="dtPlan"> |
| | | <Property name="creationType">com.fzzy.igds.models.InoutPlanDetail</Property> |
| | | <PropertyDef name="id"> |
| | | <Property></Property> |
| | | <Property name="label">计åæç»å·</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="planId"> |
| | | <Property name="label">计åç¼ç </Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="foodVariety"> |
| | | <Property></Property> |
| | | <Property name="label">ç²®é£åç§</Property> |
| | | <Property name="mapping"> |
| | | <Property name="mapValues">${dorado.getDataProvider("dicPR#sysDictData").getResult("FOOD_VARIETY_")}</Property> |
| | | <Property name="keyProperty">dictValue</Property> |
| | | <Property name="valueProperty">dictLabel</Property> |
| | | </Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="foodType"> |
| | | <Property></Property> |
| | | <Property name="label">ç²®é£æ§è´¨</Property> |
| | | <Property name="mapping"> |
| | | <Property name="mapValues">${dorado.getDataProvider("dicPR#sysDictData").getResult("FOOD_TYPE_")}</Property> |
| | | <Property name="keyProperty">dictValue</Property> |
| | | <Property name="valueProperty">dictLabel</Property> |
| | | </Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="foodLevel"> |
| | | <Property></Property> |
| | | <Property name="label">ç²®é£ç级</Property> |
| | | <Property name="mapping"> |
| | | <Property name="mapValues">${dorado.getDataProvider("dicPR#triggerFoodLevel").getResult()}</Property> |
| | | <Property name="keyProperty">dictValue</Property> |
| | | <Property name="valueProperty">dictLabel</Property> |
| | | </Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="year"> |
| | | <Property></Property> |
| | | <Property name="label">æ¶è·å¹´åº¦</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="depotId"> |
| | | <Property></Property> |
| | | <Property name="label">ä»åº</Property> |
| | | <Property name="mapping"> |
| | | <Property name="mapValues">${dorado.getDataProvider("depotPR#getAllCache").getResult()}</Property> |
| | | <Property name="keyProperty">id</Property> |
| | | <Property name="valueProperty">name</Property> |
| | | </Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="planNum"> |
| | | <Property name="dataType">Double</Property> |
| | | <Property name="label">è®¡åæ°é</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="type"> |
| | | <Property name="label">计åç±»å</Property> |
| | | <Property name="mapping"> |
| | | <Property name="mapValues">${dorado.getDataProvider("dicPR#triggerPlanType").getResult()}</Property> |
| | | <Property name="keyProperty">dictValue</Property> |
| | | <Property name="valueProperty">dictLabel</Property> |
| | | </Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="updateTime"> |
| | | <Property></Property> |
| | | <Property name="label">æ´æ°æ¶é´</Property> |
| | | </PropertyDef> |
| | | </DataType> |
| | | <DataType name="dtContract"> |
| | | <Property name="creationType">com.fzzy.igds.models.InoutContract</Property> |
| | | <PropertyDef name="id"> |
| | | <Property></Property> |
| | | <Property name="label">ID_</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="companyId"> |
| | | <Property></Property> |
| | | <Property name="label">ç»ç»ç¼ç </Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="deptId"> |
| | | <Property></Property> |
| | | <Property name="label">æå±åºåº</Property> |
| | | <Property name="mapping"> |
| | | <Property name="mapValues">${dorado.getDataProvider("deptPR#loadParents").getResult()}</Property> |
| | | <Property name="keyProperty">deptId</Property> |
| | | <Property name="valueProperty">deptName</Property> |
| | | </Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="planId"> |
| | | <Property></Property> |
| | | <Property name="label">æå±è®¡å</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="planName"> |
| | | <Property></Property> |
| | | <Property name="label">æå±è®¡å</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="type"> |
| | | <Property></Property> |
| | | <Property name="label">ååç±»å</Property> |
| | | <Property name="mapping"> |
| | | <Property name="mapValues">${dorado.getDataProvider("dicPR#triggerContractType").getResult()}</Property> |
| | | <Property name="keyProperty">dictValue</Property> |
| | | <Property name="valueProperty">dictLabel</Property> |
| | | </Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="name"> |
| | | <Property></Property> |
| | | <Property name="label">åååç§°</Property> |
| | | <Property name="required">true</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="year"> |
| | | <Property></Property> |
| | | <Property name="label">年份</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="customerId"> |
| | | <Property></Property> |
| | | <Property name="label">客æ·ç¼ç </Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="customerName"> |
| | | <Property></Property> |
| | | <Property name="label">客æ·åç§°</Property> |
| | | <Property name="required">true</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="customerType"> |
| | | <Property></Property> |
| | | <Property name="label">客æ·ç±»å</Property> |
| | | <Property name="mapping"> |
| | | <Property name="mapValues"> |
| | | <Collection> |
| | | <Entity> |
| | | <Property name="code">1</Property> |
| | | <Property name="name">1-ä¼ä¸</Property> |
| | | </Entity> |
| | | <Entity> |
| | | <Property name="code">2</Property> |
| | | <Property name="name">2-个人</Property> |
| | | </Entity> |
| | | </Collection> |
| | | </Property> |
| | | <Property name="keyProperty">code</Property> |
| | | <Property name="valueProperty">name</Property> |
| | | </Property> |
| | | <Property name="required">true</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="customerBank"> |
| | | <Property></Property> |
| | | <Property name="label">客æ·å¼æ·è¡</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="customerBankAccount"> |
| | | <Property></Property> |
| | | <Property name="label">客æ·å¼æ·è¡è´¦å·</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="customerSignUser"> |
| | | <Property></Property> |
| | | <Property name="label">客æ·ç¾çº¦äºº</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="bank"> |
| | | <Property></Property> |
| | | <Property name="label">æ¬æ¹å¼æ·è¡</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="bankAccount"> |
| | | <Property></Property> |
| | | <Property name="label">æ¬æ¹å¼æ·è¡è´¦å·</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="signUser"> |
| | | <Property></Property> |
| | | <Property name="label">æ¬æ¹ç¾çº¦äºº</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="signAddress"> |
| | | <Property></Property> |
| | | <Property name="label">ç¾çº¦å°å</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="price"> |
| | | <Property name="dataType">Double</Property> |
| | | <Property name="label">åä»·</Property> |
| | | <Property name="displayFormat">#,###0.000 å
/å
¬æ¤</Property> |
| | | <Property name="required">true</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="money"> |
| | | <Property name="dataType">Double</Property> |
| | | <Property name="label">æ»éé¢</Property> |
| | | <Property name="displayFormat">#,###0.000 å
</Property> |
| | | <Property name="required">true</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="contactAmount"> |
| | | <Property name="dataType">Double</Property> |
| | | <Property name="label">ååæ°é</Property> |
| | | <Property name="displayFormat">#,##0.00 KG</Property> |
| | | <Property name="required">true</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="completeNum"> |
| | | <Property name="dataType">Double</Property> |
| | | <Property name="label">åå宿æ°é</Property> |
| | | <Property name="displayFormat">#,##0.00 KG</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="foodVariety"> |
| | | <Property></Property> |
| | | <Property name="label">ç²®é£åç§</Property> |
| | | <Property name="mapping"> |
| | | <Property name="mapValues">${dorado.getDataProvider("dicPR#sysDictData").getResult("FOOD_VARIETY_")}</Property> |
| | | <Property name="keyProperty">dictValue</Property> |
| | | <Property name="valueProperty">dictLabel</Property> |
| | | </Property> |
| | | <Property name="required">true</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="foodType"> |
| | | <Property></Property> |
| | | <Property name="label">ç²®é£æ§è´¨</Property> |
| | | <Property name="mapping"> |
| | | <Property name="mapValues">${dorado.getDataProvider("dicPR#sysDictData").getResult("FOOD_TYPE_")}</Property> |
| | | <Property name="keyProperty">dictValue</Property> |
| | | <Property name="valueProperty">dictLabel</Property> |
| | | </Property> |
| | | <Property name="required">true</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="payType"> |
| | | <Property></Property> |
| | | <Property name="label">æ¯ä»æ¹å¼</Property> |
| | | <Property name="mapping"> |
| | | <Property name="mapValues">${dorado.getDataProvider("dicPR#sysDictData").getResult("PAY_TYPE")}</Property> |
| | | <Property name="valueProperty">dictLabel</Property> |
| | | <Property name="keyProperty">dictValue</Property> |
| | | </Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="createUser"> |
| | | <Property></Property> |
| | | <Property name="label">å建人</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="createTime"> |
| | | <Property name="dataType">Date</Property> |
| | | <Property name="label">å建æ¶é´</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="signingTime"> |
| | | <Property name="dataType">Date</Property> |
| | | <Property name="label">ç¾è®¢æ¶é´</Property> |
| | | <Property name="required">true</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="beginTime"> |
| | | <Property name="dataType">Date</Property> |
| | | <Property name="label">ææå¼å§æ¶é´</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="endTime"> |
| | | <Property name="dataType">Date</Property> |
| | | <Property name="label">æææªæ¢æ¶é´</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="remark"> |
| | | <Property></Property> |
| | | <Property name="label">夿³¨è¯´æ</Property> |
| | | </PropertyDef> |
| | | </DataType> |
| | | </Model> |
| | | <View layout="padding:5;regionPadding:5"> |
| | | <ClientEvent name="onReady">var deptId = window.parent.deptId;//ç¶é¡µé¢ä¸çååºç¼ç 
 |
| | | var TYPE = "NOTICE_OUT";
 |
| | | query = function(){
 |
| | | view.get("#dsQuery").set("parameter",{deptId:deptId}).flushAsync();
 |
| | | };
 |
| | | query();
 |
| | | 
 |
| | | queryTitle = function(){
 |
| | | view.get("#dsQueryTitle").set("parameter",{type:TYPE,deptId:deptId}).flushAsync();
 |
| | | };
 |
| | | queryTitle();
 |
| | | 
 |
| | | //æ°å¢
 |
| | | add = function(){
 |
| | | view.get("#ajaxInitAdd").set("parameter", TYPE).execute(function(data){
 |
| | | view.get("#dsMain").insert(data);
 |
| | | view.get("#dialogMain").show();
 |
| | | });
 |
| | | };
 |
| | | 
 |
| | | //æ ¹æ®ä»åºèªå¨åå¡«ç²®é£åç§ï¼ç级ï¼äº§å°æ°
 |
| | | autoByDepot = function(depotId){
 |
| | | view.get("#ajaxGetDepot").set("parameter",depotId).execute(function(result){
 |
| | | if(result){
 |
| | | var data = view.get("#dataGridMain.currentEntity");
 |
| | | data.set("foodVariety",result.foodVariety);
 |
| | | 
 |
| | | }
 |
| | | });
 |
| | | };</ClientEvent> |
| | | <Property name="packages">font-awesome,css-common</Property> |
| | | <DataSet id="dsMain"> |
| | | <Property name="dataType">[dtMain]</Property> |
| | | <Property name="dataProvider">inoutNoticePR#pageQueryOut</Property> |
| | | <Property name="pageSize">15</Property> |
| | | <Property name="loadMode">lazy</Property> |
| | | </DataSet> |
| | | <DataSet id="dsQueryTitle"> |
| | | <Property name="dataType">dtQueryTitle</Property> |
| | | <Property name="dataProvider">inoutNoticePR#getTitle</Property> |
| | | <Property name="loadMode">manual</Property> |
| | | </DataSet> |
| | | <DataSet id="dsQuery"> |
| | | <Property name="dataType">dtQuery</Property> |
| | | <Property name="dataProvider">inoutNoticePR#getYearQuery</Property> |
| | | <Property name="loadMode">manual</Property> |
| | | </DataSet> |
| | | <AutoForm layoutConstraint="top"> |
| | | <Property name="cols">*,*,*,*</Property> |
| | | <Property name="dataSet">dsQuery</Property> |
| | | <Property name="exClassName">bg-color</Property> |
| | | <AutoFormElement> |
| | | <Property name="name">foodVariety</Property> |
| | | <Property name="property">foodVariety</Property> |
| | | <Property name="editable">false</Property> |
| | | <Editor/> |
| | | </AutoFormElement> |
| | | <AutoFormElement> |
| | | <Property name="name">year</Property> |
| | | <Property name="property">year</Property> |
| | | <Property name="trigger">defaultYearDropDown</Property> |
| | | <Property name="editable">false</Property> |
| | | <Editor/> |
| | | </AutoFormElement> |
| | | <AutoFormElement> |
| | | <Property name="name">completeStatus</Property> |
| | | <Property name="property">completeStatus</Property> |
| | | <Property name="editable">false</Property> |
| | | <Editor/> |
| | | </AutoFormElement> |
| | | <Container layout="hbox regionPadding:15"> |
| | | <Button> |
| | | <ClientEvent name="onClick">var data = view.get("#dsQuery.data");
 |
| | | if(data){
 |
| | | view.get("#dsMain").set("parameter",data.toJSON()).flushAsync();
 |
| | | }else{
 |
| | | view.get("#dsMain").flushAsync();
 |
| | | }</ClientEvent> |
| | | <Property name="caption">æ¥è¯¢</Property> |
| | | <Property name="exClassName">btn1</Property> |
| | | <Property name="iconClass">fa fa-search</Property> |
| | | </Button> |
| | | <Button> |
| | | <ClientEvent name="onClick">view.get("#dsQuery").flushAsync();</ClientEvent> |
| | | <Property name="exClassName">btn2</Property> |
| | | <Property name="iconClass">fa fa-refresh</Property> |
| | | <Property name="caption">éç½®</Property> |
| | | </Button> |
| | | </Container> |
| | | <Container layout="regionPadding:10" layoutConstraint="type:top;colSpan:2"> |
| | | <Property name="exClassName">bg-color</Property> |
| | | <Property name="contentOverflow">hidden</Property> |
| | | <Property name="height">55</Property> |
| | | <Label layoutConstraint="left"> |
| | | <Property name="text">èåæ ï¼</Property> |
| | | </Label> |
| | | <Button layoutConstraint="left"> |
| | | <ClientEvent name="onClick">add();
 |
| | | //view.get("#dsMain").insert({
 |
| | | // name:"åºåºéç¥å"
 |
| | | // });
 |
| | | // view.get("#dialogMain").show();</ClientEvent> |
| | | <Property name="caption">æ°å¢</Property> |
| | | <Property name="exClassName">btn1</Property> |
| | | <Property name="iconClass">fa fa-plus</Property> |
| | | </Button> |
| | | <Button layoutConstraint="left"> |
| | | <ClientEvent name="onClick">
 |
| | | var select = view.get("#dataGridMain").get("selection");
 |
| | | if(select){
 |
| | | view.get("#dialogMain").show();
 |
| | | }else{
 |
| | | $notify("è¯·éæ©éè¦ä¿®æ¹çæ°æ®â¦â¦");
 |
| | | }</ClientEvent> |
| | | <Property name="caption">ç¼è¾</Property> |
| | | <Property name="exClassName">btn2</Property> |
| | | <Property name="iconClass">fa fa-pencil</Property> |
| | | </Button> |
| | | <Button layoutConstraint="left"> |
| | | <ClientEvent name="onClick">
 |
| | | var select = view.get("#dataGridMain").get("selection");
 |
| | | if(select){
 |
| | | view.get("#ajaxDel").set("parameter",select).execute(function(result){
 |
| | | select.remove();
 |
| | | });
 |
| | | }else{
 |
| | | $notify("è¯·éæ©éè¦å é¤çä»åºâ¦â¦");
 |
| | | }
 |
| | | </ClientEvent> |
| | | <Property name="caption">å é¤</Property> |
| | | <Property name="exClassName">btn3</Property> |
| | | <Property name="iconClass">fa fa-minus</Property> |
| | | </Button> |
| | | <Button layoutConstraint="left"> |
| | | <ClientEvent name="onClick">var data = view.get("#dsQuery.data");
 |
| | | var page = view.get("#dsMain");
 |
| | | var param = {
 |
| | | "pageSize":page.get("pageSize"),
 |
| | | "pageNo":page.get("pageNo"),
 |
| | | "foodVariety":data.get("foodVariety"),
 |
| | | "year":data.get("year"),
 |
| | | "completeStatus":data.get("completeStatus")
 |
| | | }
 |
| | | console.log(param);
 |
| | | window.parent.$.table.exportExcelDorado("./export/noticeOut-excel", "åºåºéç¥åæ°æ®", param);</ClientEvent> |
| | | <Property name="caption">导åºEXCEL</Property> |
| | | <Property name="exClassName">btn4</Property> |
| | | <Property name="iconClass">fa fa-file-excel-o</Property> |
| | | <Property name="action">exportExcel</Property> |
| | | </Button> |
| | | <Button layoutConstraint="left"> |
| | | <ClientEvent name="onClick">view.get("#recalculate").execute(function(result){
 |
| | | if(result == 'success'){
 |
| | | $notify("æ°æ®æ´æ°å®æï¼ï¼");
 |
| | | 
 |
| | | var data = view.get("#dsQuery.data");
 |
| | | view.get("#dsMain").set("parameter",data.toJSON()).flushAsync();
 |
| | | }else{
 |
| | | $notify("æ°æ®æ´æ°å¤±è´¥ï¼ï¼");
 |
| | | }
 |
| | | });</ClientEvent> |
| | | <Property name="caption">宿¶æ ¸ç®</Property> |
| | | <Property name="exClassName">btn2</Property> |
| | | <Property name="iconClass">fa fa-refresh</Property> |
| | | <Property name="tip">宿éé»è®¤ç»è®¡å°æ¨å¤©ï¼æ¥ç宿¶å®æé请ç¹å»â宿¶æ ¸ç®âæé®</Property> |
| | | </Button> |
| | | </Container> |
| | | </AutoForm> |
| | | <Container layoutConstraint="center"> |
| | | <Property name="exClassName">bg-color</Property> |
| | | <DataGrid id="dataGridMain" layoutConstraint="center"> |
| | | <ClientEvent name="onDataRowDoubleClick">var data = view.get("#dsMain.data:#");
 |
| | | if(data){
 |
| | | view.get("#dialogMain").show();
 |
| | | }</ClientEvent> |
| | | <Property name="dataSet">dsMain</Property> |
| | | <Property name="readOnly">true</Property> |
| | | <Property name="selectionMode">singleRow</Property> |
| | | <RowSelectorColumn/> |
| | | <RowNumColumn> |
| | | <Property name="width">50</Property> |
| | | <Property name="caption">åºå·</Property> |
| | | </RowNumColumn> |
| | | <DataColumn name="id"> |
| | | <Property name="property">id</Property> |
| | | <Property name="width">200</Property> |
| | | <Property name="align">center</Property> |
| | | </DataColumn> |
| | | <DataColumn name="name"> |
| | | <Property name="property">name</Property> |
| | | <Property name="align">center</Property> |
| | | <Property name="width">120</Property> |
| | | </DataColumn> |
| | | <DataColumn> |
| | | <Property name="property">customerName</Property> |
| | | <Property name="name">customerName</Property> |
| | | <Property name="align">center</Property> |
| | | </DataColumn> |
| | | <DataColumn> |
| | | <Property name="property">depotId</Property> |
| | | <Property name="name">depotId</Property> |
| | | <Property name="align">center</Property> |
| | | <Property name="width">100</Property> |
| | | </DataColumn> |
| | | <DataColumn name="foodVariety"> |
| | | <Property name="property">foodVariety</Property> |
| | | <Property name="align">center</Property> |
| | | <Property name="width">150</Property> |
| | | </DataColumn> |
| | | <DataColumn> |
| | | <Property name="property">targetNumber</Property> |
| | | <Property name="name">targetNumber</Property> |
| | | <Property name="align">center</Property> |
| | | <Property name="width">200</Property> |
| | | </DataColumn> |
| | | <DataColumn> |
| | | <Property name="property">completeNumber</Property> |
| | | <Property name="align">center</Property> |
| | | <Property name="name">completeNumber</Property> |
| | | <Property name="width">200</Property> |
| | | </DataColumn> |
| | | <DataColumn> |
| | | <Property name="property">completeStatus</Property> |
| | | <Property name="name">completeStatus</Property> |
| | | <Property name="align">center</Property> |
| | | <Property name="width">100</Property> |
| | | </DataColumn> |
| | | <DataColumn> |
| | | <Property name="property">createTime</Property> |
| | | <Property name="align">center</Property> |
| | | <Property name="name">createTime</Property> |
| | | <Property name="width">200</Property> |
| | | </DataColumn> |
| | | </DataGrid> |
| | | </Container> |
| | | <Container layoutConstraint="bottom"> |
| | | <Property name="exClassName">bg-color</Property> |
| | | <DataPilot layoutConstraint="right"> |
| | | <Property name="itemCodes">pageSize,pages</Property> |
| | | <Property name="dataSet">dsMain</Property> |
| | | </DataPilot> |
| | | </Container> |
| | | <Dialog id="dialogMain"> |
| | | <Property name="closeable">false</Property> |
| | | <Property name="caption">åºåºå</Property> |
| | | <Property name="width">60%</Property> |
| | | <Property name="iconClass">fa fa-tasks</Property> |
| | | <Buttons> |
| | | <Button id="btnOk"> |
| | | <ClientEvent name="onClick">var data = view.get("#dsMain.data:#");
 |
| | | if(data.validate() != 'ok'){
 |
| | | $notify("æ°æ®æ ¡éªå¤±è´¥ï¼ï¼");
 |
| | | return;
 |
| | | }
 |
| | | view.get("#ajaxSave").set("parameter",data).execute(function(result){
 |
| | | if(result){
 |
| | | $alert(result);
 |
| | | return;
 |
| | | }
 |
| | | $notify("æ°æ®æ§è¡å®æï¼ï¼");
 |
| | | self.get("parent").hide();
 |
| | | });</ClientEvent> |
| | | <Property name="caption">ç¡®å®</Property> |
| | | <Property name="iconClass">fa fa-check</Property> |
| | | <Property name="exClassName">btn1</Property> |
| | | </Button> |
| | | <Button> |
| | | <ClientEvent name="onClick">view.get("#dsMain.data:#").cancel();
 |
| | | self.get("parent").hide();</ClientEvent> |
| | | <Property name="caption">åæ¶</Property> |
| | | <Property name="iconClass">fa fa-times</Property> |
| | | <Property name="exClassName">btn3</Property> |
| | | </Button> |
| | | </Buttons> |
| | | <Children> |
| | | <Container> |
| | | <AutoForm id="autoForm1" layoutConstraint="top padding:10"> |
| | | <Property name="cols">*,*,*,*,*,*,*</Property> |
| | | <Property name="dataSet">dsQueryTitle</Property> |
| | | <Property name="labelAlign">right</Property> |
| | | <Property name="showHint">false</Property> |
| | | <AutoFormElement layoutConstraint="colSpan:7"> |
| | | <Property name="name">title</Property> |
| | | <Property name="property">title</Property> |
| | | <Property name="showLabel">false</Property> |
| | | <Property name="editorType">Label</Property> |
| | | <Property name="style"> |
| | | <Property name="font">bold 30px Georgia, serif;</Property> |
| | | <Property name="text-align">center</Property> |
| | | </Property> |
| | | <Editor/> |
| | | </AutoFormElement> |
| | | </AutoForm> |
| | | <Container layout="padding:15"> |
| | | <AutoForm> |
| | | <Property name="dataSet">dsMain</Property> |
| | | <Property name="cols">*,*</Property> |
| | | <Property name="labelAlign">right</Property> |
| | | <Property name="labelSeparator">ï¼</Property> |
| | | <Property name="labelWidth">120</Property> |
| | | <AutoFormElement> |
| | | <Property name="name">name</Property> |
| | | <Property name="property">name</Property> |
| | | <Editor/> |
| | | </AutoFormElement> |
| | | <AutoFormElement> |
| | | <Property name="name">id</Property> |
| | | <Property name="property">id</Property> |
| | | <Property name="readOnly">true</Property> |
| | | <Editor/> |
| | | </AutoFormElement> |
| | | <AutoFormElement> |
| | | <Property name="name">customerName</Property> |
| | | <Property name="property">customerName</Property> |
| | | <Property name="trigger">ddCustomer</Property> |
| | | <Editor/> |
| | | </AutoFormElement> |
| | | <AutoFormElement> |
| | | <Property name="name">unitName</Property> |
| | | <Property name="property">unitName</Property> |
| | | <Editor/> |
| | | </AutoFormElement> |
| | | <AutoFormElement> |
| | | <Property name="name">depotId</Property> |
| | | <Property name="property">depotId</Property> |
| | | <Editor/> |
| | | </AutoFormElement> |
| | | <AutoFormElement> |
| | | <Property name="name">foodVariety</Property> |
| | | <Property name="property">foodVariety</Property> |
| | | <Editor/> |
| | | </AutoFormElement> |
| | | <AutoFormElement> |
| | | <Property name="name">year</Property> |
| | | <Property name="property">year</Property> |
| | | <Property name="trigger">defaultYearDropDown</Property> |
| | | <Editor/> |
| | | </AutoFormElement> |
| | | <Label layoutConstraint="colSpan:1"/> |
| | | <AutoFormElement> |
| | | <Property name="name">targetNumber</Property> |
| | | <Property name="property">targetNumber</Property> |
| | | <Property name="readOnly">false</Property> |
| | | <Editor/> |
| | | </AutoFormElement> |
| | | <AutoFormElement> |
| | | <Property name="name">completeNumber</Property> |
| | | <Property name="property">completeNumber</Property> |
| | | <Property name="readOnly">false</Property> |
| | | <Editor/> |
| | | </AutoFormElement> |
| | | <AutoFormElement> |
| | | <Property name="name">planName</Property> |
| | | <Property name="property">planName</Property> |
| | | <Property name="trigger">ddPlan</Property> |
| | | <Editor/> |
| | | </AutoFormElement> |
| | | <Label layoutConstraint="colSpan:1"> |
| | | <Property name="style"> |
| | | <Property name="color">blue</Property> |
| | | </Property> |
| | | <Property name="text">注ï¼å½åéç¥åå
³èçåºåºè®¡å</Property> |
| | | </Label> |
| | | <AutoFormElement> |
| | | <Property name="name">contractName</Property> |
| | | <Property name="property">contractName</Property> |
| | | <Property name="trigger">ddContract</Property> |
| | | <Editor/> |
| | | </AutoFormElement> |
| | | <Label layoutConstraint="colSpan:1"> |
| | | <Property name="style"> |
| | | <Property name="color">blue</Property> |
| | | </Property> |
| | | <Property name="text">注ï¼å½åéç¥åå
³èçéå®åå</Property> |
| | | </Label> |
| | | <AutoFormElement> |
| | | <Property name="name">createTime</Property> |
| | | <Property name="property">createTime</Property> |
| | | <Editor/> |
| | | </AutoFormElement> |
| | | <AutoFormElement> |
| | | <Property name="name">completeTime</Property> |
| | | <Property name="property">completeTime</Property> |
| | | <Editor/> |
| | | </AutoFormElement> |
| | | <AutoFormElement> |
| | | <Property name="name">completeStatus</Property> |
| | | <Property name="property">completeStatus</Property> |
| | | <Editor/> |
| | | </AutoFormElement> |
| | | <AutoFormElement layoutConstraint="colSpan:2"> |
| | | <Property name="name">remark</Property> |
| | | <Property name="property">remark</Property> |
| | | <Property name="editorType">TextArea</Property> |
| | | <Editor/> |
| | | </AutoFormElement> |
| | | </AutoForm> |
| | | </Container> |
| | | </Container> |
| | | </Children> |
| | | <Tools/> |
| | | </Dialog> |
| | | <AjaxAction id="ajaxGetDepot"> |
| | | <Property name="service">depotPR#getDepot</Property> |
| | | </AjaxAction> |
| | | <AjaxAction id="ajaxSave"> |
| | | <Property name="service">inoutNoticePR#saveOut</Property> |
| | | </AjaxAction> |
| | | <AjaxAction id="ajaxDel"> |
| | | <Property name="service">inoutNoticePR#delDataOut</Property> |
| | | <Property name="confirmMessage">ç¡®å®è¦æ§è¡å é¤ä¹ï¼</Property> |
| | | </AjaxAction> |
| | | <AjaxAction id="ajaxInitAdd"> |
| | | <Property name="service">inoutNoticePR#initAddOut</Property> |
| | | </AjaxAction> |
| | | <CustomDropDown id="ddCustomer"> |
| | | <Property name="minHeight">400</Property> |
| | | <Property name="assignmentMap">customerId=id,customerName=name</Property> |
| | | <Property name="minWidth">500</Property> |
| | | <Property name="autoOpen">true</Property> |
| | | <Container layout="regionPadding:5"> |
| | | <DataSet id="dsCustomer"> |
| | | <Property name="dataProvider">inoutCustomerPR#queryListByKey</Property> |
| | | <Property name="dataType">[dtInoutCustomer]</Property> |
| | | <Property name="parameter"> |
| | | <Entity> |
| | | <Property name="type">OUT</Property> |
| | | </Entity> |
| | | </Property> |
| | | </DataSet> |
| | | <Container layout="hbox regionPadding:5"> |
| | | <TextEditor id="key"> |
| | | <Property name="blankText"> -- ç¼ç æè
åç§° --</Property> |
| | | <Property name="width">200</Property> |
| | | </TextEditor> |
| | | <Button> |
| | | <ClientEvent name="onClick">var key = view.get("#key.value");
 |
| | | var type = "${request.getParameter('type')}";
 |
| | | view.get("#dsCustomer").set("parameter",{key:key,type:type}).flushAsync();</ClientEvent> |
| | | <Property name="caption">æ¥è¯¢</Property> |
| | | <Property name="iconClass">fa fa-search</Property> |
| | | </Button> |
| | | <Button> |
| | | <ClientEvent name="onClick">var data = view.get("#dsCustomer.data:#");
 |
| | | if(data){
 |
| | | view.get("#ddCustomer").close(data.toJSON());
 |
| | | }</ClientEvent> |
| | | <Property name="iconClass">fa fa-check</Property> |
| | | <Property name="caption">ç¡®å®</Property> |
| | | </Button> |
| | | </Container> |
| | | <DataGrid> |
| | | <ClientEvent name="onDataRowDoubleClick">var data = view.get("#dsCustomer.data:#");
 |
| | | if(data){
 |
| | | view.get("#ddCustomer").close(data.toJSON());
 |
| | | }</ClientEvent> |
| | | <Property name="dataSet">dsCustomer</Property> |
| | | <Property name="readOnly">true</Property> |
| | | <DataColumn name="id"> |
| | | <Property name="property">id</Property> |
| | | <Property name="width">100</Property> |
| | | <Property name="align">center</Property> |
| | | </DataColumn> |
| | | <DataColumn name="name"> |
| | | <ClientEvent name="onRenderCell">arg.dom.style.fontWeight = "bold";
 |
| | | arg.processDefault = true;</ClientEvent> |
| | | <Property name="property">name</Property> |
| | | <Property name="align">center</Property> |
| | | </DataColumn> |
| | | </DataGrid> |
| | | </Container> |
| | | </CustomDropDown> |
| | | <AjaxAction id="recalculate"> |
| | | <Property name="service">inoutNoticePR#updateSumNoticeOut</Property> |
| | | </AjaxAction> |
| | | <CustomDropDown id="ddPlan"> |
| | | <Property name="minHeight">325</Property> |
| | | <Property name="assignmentMap">planId=id,planName=planId</Property> |
| | | <Property name="minWidth">900</Property> |
| | | <Property name="autoOpen">false</Property> |
| | | <Container layout="regionPadding:5"> |
| | | <DataSet id="dsPlan"> |
| | | <Property name="dataProvider">planManagePR#pagePlanDetail</Property> |
| | | <Property name="dataType">[dtPlan]</Property> |
| | | <Property name="parameter"></Property> |
| | | <Property name="pageSize">5</Property> |
| | | </DataSet> |
| | | <AutoForm layoutConstraint="top"> |
| | | <Property name="cols">*,*,*</Property> |
| | | <Property name="dataSet">dsQuery</Property> |
| | | <Property name="exClassName">bg-color</Property> |
| | | <Property name="labelAlign">right</Property> |
| | | <Property name="labelSeparator">:</Property> |
| | | <Property name="labelWidth">100</Property> |
| | | <AutoFormElement> |
| | | <Property name="name">depotId</Property> |
| | | <Property name="property">depotId</Property> |
| | | <Property name="editable">false</Property> |
| | | <Property name="label">计åä»åº</Property> |
| | | <Editor/> |
| | | </AutoFormElement> |
| | | <AutoFormElement> |
| | | <Property name="name">year</Property> |
| | | <Property name="property">year</Property> |
| | | <Property name="trigger">defaultYearDropDown</Property> |
| | | <Property name="editable">false</Property> |
| | | <Property name="label">æ¶è·å¹´ä»½</Property> |
| | | <Editor/> |
| | | </AutoFormElement> |
| | | <Container layout="hbox regionPadding:15"> |
| | | <Button> |
| | | <ClientEvent name="onClick">var data = view.get("#dsQuery.data");
 |
| | | if(data){
 |
| | | view.get("#dsPlan").set("parameter",data.toJSON()).flushAsync();
 |
| | | }else{
 |
| | | view.get("#dsPlan").flushAsync();
 |
| | | }
 |
| | | </ClientEvent> |
| | | <Property name="caption">æ¥è¯¢</Property> |
| | | <Property name="exClassName">btn-normal</Property> |
| | | <Property name="iconClass">fa fa-search</Property> |
| | | </Button> |
| | | <Button> |
| | | <ClientEvent name="onClick">var data = view.get("#dsPlan.data:#");
 |
| | | if(data){
 |
| | | view.get("#ddPlan").close(data.toJSON());
 |
| | | }</ClientEvent> |
| | | <Property name="iconClass">fa fa-check</Property> |
| | | <Property name="caption">ç¡®å®</Property> |
| | | </Button> |
| | | </Container> |
| | | </AutoForm> |
| | | <DataGrid> |
| | | <ClientEvent name="onDataRowDoubleClick">var data = view.get("#dsPlan.data:#");
 |
| | | if(data){
 |
| | | view.get("#ddPlan").close(data.toJSON());
 |
| | | }</ClientEvent> |
| | | <Property name="dataSet">dsPlan</Property> |
| | | <Property name="readOnly">true</Property> |
| | | <DataColumn> |
| | | <Property name="property">planId</Property> |
| | | <Property name="width">100</Property> |
| | | <Property name="align">center</Property> |
| | | <Property name="name">planId</Property> |
| | | <Property name="visible">false</Property> |
| | | </DataColumn> |
| | | <DataColumn name="depotId"> |
| | | <ClientEvent name="onRenderCell">arg.dom.style.fontWeight = "bold";
 |
| | | arg.processDefault = true;</ClientEvent> |
| | | <Property name="property">depotId</Property> |
| | | <Property name="align">center</Property> |
| | | </DataColumn> |
| | | <DataColumn> |
| | | <Property name="property">year</Property> |
| | | <Property name="width">200</Property> |
| | | <Property name="align">center</Property> |
| | | <Property name="name">year</Property> |
| | | </DataColumn> |
| | | <DataColumn> |
| | | <Property name="property">planNum</Property> |
| | | <Property name="width">80</Property> |
| | | <Property name="align">center</Property> |
| | | <Property name="name">planNum</Property> |
| | | </DataColumn> |
| | | <DataColumn> |
| | | <Property name="property">foodVariety</Property> |
| | | <Property name="width">80</Property> |
| | | <Property name="align">center</Property> |
| | | <Property name="name">foodVariety</Property> |
| | | </DataColumn> |
| | | <DataColumn> |
| | | <Property name="property">type</Property> |
| | | <Property name="align">center</Property> |
| | | <Property name="name">type</Property> |
| | | </DataColumn> |
| | | </DataGrid> |
| | | <DataPilot layoutConstraint="bottom"> |
| | | <Property name="dataSet">dsPlan</Property> |
| | | </DataPilot> |
| | | </Container> |
| | | </CustomDropDown> |
| | | <CustomDropDown id="ddContract"> |
| | | <Property name="minHeight">317</Property> |
| | | <Property name="assignmentMap">contractId=id,contractName=name</Property> |
| | | <Property name="minWidth">550</Property> |
| | | <Property name="autoOpen">false</Property> |
| | | <Container layout="regionPadding:5"> |
| | | <DataSet id="dsContract"> |
| | | <Property name="dataProvider">contractManagePR#pageContract</Property> |
| | | <Property name="dataType">[dtContract]</Property> |
| | | <Property name="parameter"></Property> |
| | | <Property name="pageSize">5</Property> |
| | | </DataSet> |
| | | <Container layout="hbox regionPadding:5"> |
| | | <TextEditor id="key3"> |
| | | <Property name="blankText"> -- åååç§°æè
æå±è®¡å --</Property> |
| | | <Property name="width">200</Property> |
| | | </TextEditor> |
| | | <Button> |
| | | <ClientEvent name="onClick">var key = view.get("#key3.value");
 |
| | | view.get("#dsContract").set("parameter",{key:key}).flushAsync();</ClientEvent> |
| | | <Property name="caption">æ¥è¯¢</Property> |
| | | <Property name="iconClass">fa fa-search</Property> |
| | | </Button> |
| | | <Button> |
| | | <ClientEvent name="onClick">var data = view.get("#dsContract.data:#");
 |
| | | if(data){
 |
| | | view.get("#ddContract").close(data.toJSON());
 |
| | | }</ClientEvent> |
| | | <Property name="iconClass">fa fa-check</Property> |
| | | <Property name="caption">ç¡®å®</Property> |
| | | </Button> |
| | | </Container> |
| | | <DataGrid> |
| | | <ClientEvent name="onDataRowDoubleClick">var data = view.get("#dsContract.data:#");
 |
| | | if(data){
 |
| | | view.get("#ddContract").close(data.toJSON());
 |
| | | }</ClientEvent> |
| | | <Property name="dataSet">dsContract</Property> |
| | | <Property name="readOnly">true</Property> |
| | | <DataColumn> |
| | | <Property name="property">id</Property> |
| | | <Property name="width">100</Property> |
| | | <Property name="align">center</Property> |
| | | <Property name="name">id</Property> |
| | | <Property name="visible">false</Property> |
| | | </DataColumn> |
| | | <DataColumn name="name"> |
| | | <ClientEvent name="onRenderCell">arg.dom.style.fontWeight = "bold";
 |
| | | arg.processDefault = true;</ClientEvent> |
| | | <Property name="property">name</Property> |
| | | <Property name="align">center</Property> |
| | | </DataColumn> |
| | | <DataColumn> |
| | | <Property name="property">planName</Property> |
| | | <Property name="align">center</Property> |
| | | <Property name="name">planName</Property> |
| | | </DataColumn> |
| | | <DataColumn> |
| | | <Property name="property">year</Property> |
| | | <Property name="width">80</Property> |
| | | <Property name="align">center</Property> |
| | | <Property name="name">year</Property> |
| | | </DataColumn> |
| | | </DataGrid> |
| | | <DataPilot layoutConstraint="bottom"> |
| | | <Property name="dataSet">dsContract</Property> |
| | | </DataPilot> |
| | | </Container> |
| | | </CustomDropDown> |
| | | </View> |
| | | </ViewConfig> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.fzzy.igds; |
| | | |
| | | |
| | | import com.bstek.dorado.annotation.DataProvider; |
| | | import com.bstek.dorado.annotation.Expose; |
| | | import com.bstek.dorado.data.provider.Page; |
| | | import com.fzzy.igds.constant.Constant; |
| | | import com.fzzy.igds.data.NoticeDto; |
| | | import com.fzzy.igds.service.InoutNoticeService; |
| | | import com.fzzy.igds.domain.InoutNoticeIn; |
| | | import com.fzzy.igds.domain.InoutNoticeOut; |
| | | import com.fzzy.igds.service.SysDeptService; |
| | | import com.fzzy.igds.utils.ContextUtil; |
| | | import com.ruoyi.common.core.domain.entity.SysDept; |
| | | import com.ruoyi.common.core.domain.entity.SysUser; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import org.apache.commons.lang3.time.DateFormatUtils; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.data.domain.PageRequest; |
| | | import org.springframework.data.domain.Pageable; |
| | | import org.springframework.data.domain.Sort; |
| | | import org.springframework.data.jpa.domain.Specification; |
| | | import org.springframework.stereotype.Component; |
| | | import javax.annotation.Resource; |
| | | import javax.persistence.criteria.CriteriaBuilder; |
| | | import javax.persistence.criteria.CriteriaQuery; |
| | | import javax.persistence.criteria.Predicate; |
| | | import javax.persistence.criteria.Root; |
| | | import java.util.*; |
| | | |
| | | /** |
| | | * @Description éç¥å管ç |
| | | * @Author CZT |
| | | * @Date 2024/12/16 10:10 |
| | | */ |
| | | @Component |
| | | public class InoutNoticePR { |
| | | |
| | | @Resource |
| | | private InoutNoticeService inoutNoticeService; |
| | | @Resource |
| | | private SysDeptService sysDeptService; |
| | | |
| | | /** |
| | | * inoutNoticePR#getTitle æ ¹æ®æ¥è¡¨ç±»åï¼è·åé»è®¤æ¥è¯¢ä¿¡æ¯ï¼æ¯å¦è¡¨å¤´ä¿¡æ¯ç |
| | | * |
| | | * @param |
| | | * @return |
| | | */ |
| | | @DataProvider |
| | | public Map<String, Object> getTitle(Map<String, Object> param) { |
| | | Map<String, Object> result = new HashMap<String, Object>(); |
| | | //è·å忰䏿¥è¡¨ç±»å |
| | | String type = (String)param.get("type"); |
| | | |
| | | //è·åååºç¼ç 对åºçååºåç§° |
| | | String deptName = ""; |
| | | SysDept subDept = sysDeptService.getCacheDept(null, ContextUtil.subDeptId(null)); |
| | | if (null != subDept) { |
| | | deptName = subDept.getDeptName(); |
| | | } |
| | | if ("NOTICE_IN".equals(type)) { |
| | | result.put("title", "å
¥åºéç¥å"); |
| | | if (StringUtils.isNotEmpty(deptName)) { |
| | | result.put("title", deptName + "å
¥åºéç¥å"); |
| | | } |
| | | } |
| | | if ("NOTICE_OUT".equals(type)) { |
| | | result.put("title", "åºåºéç¥å"); |
| | | if (StringUtils.isNotEmpty(deptName)) { |
| | | result.put("title", deptName + "åºåºéç¥å"); |
| | | } |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | /** |
| | | * inoutNoticePR#getYearQuery é»è®¤å¹´ä»½ |
| | | * |
| | | * @param |
| | | * @return |
| | | */ |
| | | @DataProvider |
| | | public Map<String, Object> getYearQuery(Map<String, Object> param) { |
| | | Map<String, Object> result = new HashMap<String, Object>(); |
| | | //è·ååæ°ä¸ååºç¼ç |
| | | String deptId = (String)param.get("deptId"); |
| | | |
| | | result.put("year", DateFormatUtils.format(new Date(), "yyyy")); |
| | | result.put("deptId", deptId); |
| | | return result; |
| | | } |
| | | |
| | | /** |
| | | * inoutNoticePR#queryNoticeByKey æ ¹æ®åæ°æ¥è¯¢åºå
¥åºéç¥åï¼ç¨äºæå¨è¡¥åæ¶ï¼éæ©éç¥å |
| | | * |
| | | * @param |
| | | * @return |
| | | */ |
| | | @DataProvider |
| | | public List<NoticeDto> queryNoticeByKey(Map<String, Object> param) { |
| | | if (param == null) { |
| | | return null; |
| | | } |
| | | String type = (String) param.get("type"); |
| | | if (StringUtils.isEmpty(type)) { |
| | | return null; |
| | | } |
| | | List<NoticeDto> list = new ArrayList<>(); |
| | | NoticeDto dto; |
| | | if (Constant.TYPE_IN.equals(type)) { |
| | | List<InoutNoticeIn> listIn = this.queryNoticeIn(param); |
| | | if (null != listIn && listIn.size() > 0) { |
| | | for (InoutNoticeIn inoutNoticeIn : listIn) { |
| | | dto = new NoticeDto(); |
| | | BeanUtils.copyProperties(inoutNoticeIn, dto); |
| | | list.add(dto); |
| | | } |
| | | } |
| | | } |
| | | if (Constant.TYPE_OUT.equals(type)) { |
| | | List<InoutNoticeOut> listOut = this.queryNoticeOut(param); |
| | | if (null != listOut && listOut.size() > 0) { |
| | | for (InoutNoticeOut inoutNoticeOut : listOut) { |
| | | dto = new NoticeDto(); |
| | | BeanUtils.copyProperties(inoutNoticeOut, dto); |
| | | list.add(dto); |
| | | } |
| | | } |
| | | } |
| | | return list; |
| | | } |
| | | |
| | | |
| | | /*==================== å
¥åºéç¥åç¸å
³ä¸å¡ ====================*/ |
| | | |
| | | /** |
| | | * inoutNoticePR#initAddIn å
¥åºéç¥åæ°å¢åå§å |
| | | * |
| | | * @return |
| | | */ |
| | | @Expose |
| | | public InoutNoticeIn initAddIn() { |
| | | SysUser user = ContextUtil.getLoginUser(); |
| | | InoutNoticeIn data = new InoutNoticeIn(); |
| | | data.setId("RKTZD_" + ContextUtil.generateId()); |
| | | data.setName("å
¥åºéç¥å"); |
| | | data.setCompanyId(user.getCompanyId()); |
| | | data.setDeptId(ContextUtil.subDeptId(user)); |
| | | data.setTag(Constant.YN_Y); |
| | | return data; |
| | | } |
| | | |
| | | /** |
| | | * inoutNoticePR#pageQueryIn è·åå
¥åºéç¥å |
| | | * |
| | | * @param param |
| | | * @return |
| | | */ |
| | | @DataProvider |
| | | public void pageQueryIn(Page<InoutNoticeIn> page, Map<String, Object> param) { |
| | | if (null == param) { |
| | | param = new HashMap<>(); |
| | | } |
| | | Map<String, Object> finalParam = param; |
| | | |
| | | //å¤åæ°å页æ¥è¯¢ |
| | | Pageable pageable = PageRequest.of(0, 10000, Sort.Direction.ASC, InoutNoticeIn.SORT_PROP); |
| | | Specification<InoutNoticeIn> specification = new Specification<InoutNoticeIn>() { |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | public Predicate toPredicate(Root<InoutNoticeIn> root, CriteriaQuery<?> query, CriteriaBuilder cb) { |
| | | List<Predicate> predicates = new ArrayList<Predicate>(); //ææçæè¨ |
| | | |
| | | Predicate predicate1 = cb.equal(root.get("companyId"), ContextUtil.getCompanyId()); |
| | | predicates.add(predicate1); |
| | | Predicate predicate2 = cb.equal(root.get("deptId"), ContextUtil.subDeptId(null)); |
| | | predicates.add(predicate2); |
| | | |
| | | String key = String.valueOf(finalParam.get("year")); |
| | | if (StringUtils.isBlank(key)) { |
| | | Predicate predicate3 = cb.equal(root.get("year"), key); |
| | | predicates.add(predicate3); |
| | | } |
| | | key = (String) finalParam.get("id"); |
| | | if (StringUtils.isBlank(key)) { |
| | | Predicate predicate4 = cb.equal(root.get("id"), key); |
| | | predicates.add(predicate4); |
| | | } |
| | | key = (String) finalParam.get("customerName"); |
| | | if (StringUtils.isBlank(key)) { |
| | | Predicate predicate5 = cb.like(root.get("customerName"), "%" + key + "%"); |
| | | predicates.add(predicate5); |
| | | } |
| | | key = (String) finalParam.get("completeStatus"); |
| | | if (StringUtils.isBlank(key)) { |
| | | Predicate predicate6 = cb.equal(root.get("completeStatus"), key); |
| | | predicates.add(predicate6); |
| | | } |
| | | key = (String) finalParam.get("foodVariety"); |
| | | if (StringUtils.isBlank(key)) { |
| | | Predicate predicate7 = cb.equal(root.get("foodVariety"), key); |
| | | predicates.add(predicate7); |
| | | } |
| | | return cb.and(predicates.toArray(new Predicate[0])); |
| | | } |
| | | }; |
| | | org.springframework.data.domain.Page<InoutNoticeIn> japPage = inoutNoticeService.queryAllNoticeIn(specification, pageable); |
| | | page.setEntityCount((int) japPage.getTotalElements()); |
| | | page.setEntities(japPage.getContent()); |
| | | } |
| | | |
| | | /** |
| | | * inoutNoticePR#saveIn æ´æ°å
¥åºéç¥å |
| | | */ |
| | | @Expose |
| | | public String saveIn(InoutNoticeIn data) { |
| | | InoutNoticeIn inoutNoticeIn = new InoutNoticeIn(); |
| | | BeanUtils.copyProperties(data, inoutNoticeIn); |
| | | return inoutNoticeService.saveOrUpdateIn(inoutNoticeIn); |
| | | } |
| | | |
| | | /** |
| | | * inoutNoticePR#delDataIn |
| | | */ |
| | | @Expose |
| | | public String delDataIn(InoutNoticeIn data) { |
| | | InoutNoticeIn inoutNoticeIn = new InoutNoticeIn(); |
| | | BeanUtils.copyProperties(data, inoutNoticeIn); |
| | | return inoutNoticeService.delDataIn(inoutNoticeIn); |
| | | } |
| | | |
| | | /** |
| | | * æ ¹æ®ä¸åæ¡ä»¶æ¥è¯¢ |
| | | * @param param |
| | | * @return |
| | | */ |
| | | public List<InoutNoticeIn> queryNoticeIn(Map<String, Object> param) { |
| | | if (null == param) { |
| | | param = new HashMap<>(); |
| | | } |
| | | Map<String, Object> finalParam = param; |
| | | |
| | | //å¤åæ°å页æ¥è¯¢ |
| | | Pageable pageable = PageRequest.of(0, 10000, Sort.Direction.ASC, InoutNoticeIn.SORT_PROP); |
| | | Specification<InoutNoticeIn> specification = new Specification<InoutNoticeIn>() { |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | public Predicate toPredicate(Root<InoutNoticeIn> root, CriteriaQuery<?> query, CriteriaBuilder cb) { |
| | | List<Predicate> predicates = new ArrayList<Predicate>(); //ææçæè¨ |
| | | |
| | | Predicate predicate1 = cb.equal(root.get("companyId"), ContextUtil.getCompanyId()); |
| | | predicates.add(predicate1); |
| | | Predicate predicate2 = cb.equal(root.get("deptId"), ContextUtil.subDeptId(null)); |
| | | predicates.add(predicate2); |
| | | Predicate predicate3 = cb.equal(root.get("completeStatus"), "NONE"); |
| | | predicates.add(predicate3); |
| | | |
| | | String key = (String) finalParam.get("customerId"); |
| | | if (StringUtils.isNotEmpty(key)) { |
| | | Predicate predicate4 = cb.equal(root.get("customerId"), key); |
| | | predicates.add(predicate4); |
| | | } |
| | | key = (String) finalParam.get("foodVariety"); |
| | | if (StringUtils.isNotEmpty(key)) { |
| | | Predicate predicate5 = cb.equal(root.get("foodVariety"), key); |
| | | predicates.add(predicate5); |
| | | } |
| | | key = (String) finalParam.get("depotId"); |
| | | if (StringUtils.isNotEmpty(key)) { |
| | | Predicate predicate6 = cb.equal(root.get("depotId"), key); |
| | | predicates.add(predicate6); |
| | | } |
| | | key = (String) finalParam.get("key"); |
| | | if (StringUtils.isNotEmpty(key)) { |
| | | Predicate predicate7 = cb.like(root.get("name"), "%" + key + "%"); |
| | | predicates.add(predicate7); |
| | | } |
| | | return cb.and(predicates.toArray(new Predicate[0])); |
| | | } |
| | | }; |
| | | org.springframework.data.domain.Page<InoutNoticeIn> japPage = inoutNoticeService.queryAllNoticeIn(specification, pageable); |
| | | |
| | | return japPage.getContent(); |
| | | } |
| | | |
| | | /** |
| | | * éæ°æ ¸ç®å
¥åºéç¥å宿é |
| | | * |
| | | * inoutNoticePR#updateSumNoticeIn |
| | | * |
| | | * @return |
| | | */ |
| | | @Expose |
| | | public String updateSumNoticeIn() { |
| | | |
| | | //è·åæææªå®æç¶æçå
¥åºéç¥å |
| | | String companyId = ContextUtil.getCompanyId(); |
| | | String deptId = ContextUtil.subDeptId(null); |
| | | |
| | | List<InoutNoticeIn> noticeInList = inoutNoticeService.getUnComNoticeIn(companyId); |
| | | |
| | | if (noticeInList != null && noticeInList.size() > 0) { |
| | | inoutNoticeService.updateSumNoticeIn(noticeInList); |
| | | return "success"; |
| | | } |
| | | |
| | | |
| | | return "fail"; |
| | | } |
| | | |
| | | /*==================== åºåºéç¥åç¸å
³ä¸å¡ ====================*/ |
| | | |
| | | /** |
| | | * inoutNoticePR#initAddOut åºåºéç¥åæ°å¢åå§å |
| | | * |
| | | * @return |
| | | */ |
| | | @Expose |
| | | public InoutNoticeOut initAddOut() { |
| | | SysUser user = ContextUtil.getLoginUser(); |
| | | InoutNoticeOut data = new InoutNoticeOut(); |
| | | data.setId("CKTZD_" + ContextUtil.generateId()); |
| | | data.setName("åºåºéç¥å"); |
| | | data.setCompanyId(user.getCompanyId()); |
| | | data.setDeptId(ContextUtil.subDeptId(user)); |
| | | data.setTag(Constant.YN_Y); |
| | | return data; |
| | | } |
| | | |
| | | /** |
| | | * inoutNoticePR#pageQueryOut è·ååºåºéç¥å |
| | | * @param page |
| | | * @param param |
| | | */ |
| | | @DataProvider |
| | | public void pageQueryOut(Page<InoutNoticeOut> page, Map<String, Object> param) { |
| | | |
| | | if (null == param) { |
| | | param = new HashMap<>(); |
| | | } |
| | | Map<String, Object> finalParam = param; |
| | | |
| | | //å¤åæ°å页æ¥è¯¢ |
| | | Pageable pageable = PageRequest.of(0, 10000, Sort.Direction.ASC, InoutNoticeOut.SORT_PROP); |
| | | Specification<InoutNoticeOut> specification = new Specification<InoutNoticeOut>() { |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | public Predicate toPredicate(Root<InoutNoticeOut> root, CriteriaQuery<?> query, CriteriaBuilder cb) { |
| | | List<Predicate> predicates = new ArrayList<Predicate>(); //ææçæè¨ |
| | | |
| | | Predicate predicate1 = cb.equal(root.get("companyId"), ContextUtil.getCompanyId()); |
| | | predicates.add(predicate1); |
| | | Predicate predicate2 = cb.equal(root.get("deptId"), ContextUtil.subDeptId(null)); |
| | | predicates.add(predicate2); |
| | | |
| | | String key = String.valueOf(finalParam.get("year")); |
| | | if (StringUtils.isNotEmpty(key)) { |
| | | Predicate predicate3 = cb.equal(root.get("year"), key); |
| | | predicates.add(predicate3); |
| | | } |
| | | key = (String) finalParam.get("id"); |
| | | if (StringUtils.isNotEmpty(key)) { |
| | | Predicate predicate4 = cb.equal(root.get("id"), key); |
| | | predicates.add(predicate4); |
| | | } |
| | | key = (String) finalParam.get("customerId"); |
| | | if (StringUtils.isNotEmpty(key)) { |
| | | Predicate predicate5 = cb.equal(root.get("customerId"), key); |
| | | predicates.add(predicate5); |
| | | } |
| | | key = (String) finalParam.get("completeStatus"); |
| | | if (StringUtils.isNotEmpty(key)) { |
| | | Predicate predicate6 = cb.equal(root.get("completeStatus"), key); |
| | | predicates.add(predicate6); |
| | | } |
| | | key = (String) finalParam.get("foodVariety"); |
| | | if (StringUtils.isNotEmpty(key)) { |
| | | Predicate predicate7 = cb.equal(root.get("foodVariety"), key); |
| | | predicates.add(predicate7); |
| | | } |
| | | return cb.and(predicates.toArray(new Predicate[0])); |
| | | } |
| | | }; |
| | | org.springframework.data.domain.Page<InoutNoticeOut> japPage = inoutNoticeService.queryAllNoticeOut(specification, pageable); |
| | | page.setEntityCount((int) japPage.getTotalElements()); |
| | | page.setEntities(japPage.getContent()); |
| | | } |
| | | |
| | | /** |
| | | * inoutNoticePR#saveOut æ´æ°åºåºéç¥å |
| | | * @param data |
| | | * @return |
| | | */ |
| | | @Expose |
| | | public String saveOut(InoutNoticeOut data) { |
| | | InoutNoticeOut inoutNoticeOut = new InoutNoticeOut(); |
| | | BeanUtils.copyProperties(data, inoutNoticeOut); |
| | | return inoutNoticeService.saveOrUpdateOut(inoutNoticeOut); |
| | | } |
| | | |
| | | /** |
| | | * inoutNoticePR#delDataOut |
| | | */ |
| | | @Expose |
| | | public String delDataOut(InoutNoticeOut data) { |
| | | InoutNoticeOut inoutNoticeOut = new InoutNoticeOut(); |
| | | BeanUtils.copyProperties(data, inoutNoticeOut); |
| | | return inoutNoticeService.delDataOut(inoutNoticeOut); |
| | | } |
| | | |
| | | /** |
| | | * æ ¹æ®ä¸åæ¡ä»¶æ¥è¯¢ |
| | | * @param param |
| | | * @return |
| | | */ |
| | | public List<InoutNoticeOut> queryNoticeOut(Map<String, Object> param) { |
| | | if (null == param) { |
| | | param = new HashMap<>(); |
| | | } |
| | | Map<String, Object> finalParam = param; |
| | | |
| | | //å¤åæ°å页æ¥è¯¢ |
| | | Pageable pageable = PageRequest.of(0, 10000, Sort.Direction.ASC, InoutNoticeOut.SORT_PROP); |
| | | Specification<InoutNoticeOut> specification = new Specification<InoutNoticeOut>() { |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | public Predicate toPredicate(Root<InoutNoticeOut> root, CriteriaQuery<?> query, CriteriaBuilder cb) { |
| | | List<Predicate> predicates = new ArrayList<Predicate>(); //ææçæè¨ |
| | | |
| | | Predicate predicate1 = cb.equal(root.get("companyId"), ContextUtil.getCompanyId()); |
| | | predicates.add(predicate1); |
| | | Predicate predicate2 = cb.equal(root.get("deptId"), ContextUtil.subDeptId(null)); |
| | | predicates.add(predicate2); |
| | | Predicate predicate3 = cb.equal(root.get("completeStatus"), "NONE"); |
| | | predicates.add(predicate3); |
| | | |
| | | String key = (String) finalParam.get("customerId"); |
| | | if (StringUtils.isNotEmpty(key)) { |
| | | Predicate predicate4 = cb.equal(root.get("customerId"), key); |
| | | predicates.add(predicate4); |
| | | } |
| | | key = (String) finalParam.get("foodVariety"); |
| | | if (StringUtils.isNotEmpty(key)) { |
| | | Predicate predicate5 = cb.equal(root.get("foodVariety"), key); |
| | | predicates.add(predicate5); |
| | | } |
| | | key = (String) finalParam.get("depotId"); |
| | | if (StringUtils.isNotEmpty(key)) { |
| | | Predicate predicate6 = cb.equal(root.get("depotId"), key); |
| | | predicates.add(predicate6); |
| | | } |
| | | key = (String) finalParam.get("key"); |
| | | if (StringUtils.isNotEmpty(key)) { |
| | | Predicate predicate7 = cb.like(root.get("name"), "%" + key + "%"); |
| | | predicates.add(predicate7); |
| | | } |
| | | return cb.and(predicates.toArray(new Predicate[0])); |
| | | } |
| | | }; |
| | | org.springframework.data.domain.Page<InoutNoticeOut> japPage = inoutNoticeService.queryAllNoticeOut(specification, pageable); |
| | | |
| | | return japPage.getContent(); |
| | | } |
| | | |
| | | /** |
| | | * éæ°æ ¸ç®åºåºéç¥å宿é |
| | | * |
| | | * inoutNoticePR#updateSumNoticeOut |
| | | * |
| | | * @return |
| | | */ |
| | | @Expose |
| | | public String updateSumNoticeOut() { |
| | | |
| | | //è·åæææªå®æç¶æçå
¥åºéç¥å |
| | | String companyId = ContextUtil.getCompanyId(); |
| | | String deptId = ContextUtil.subDeptId(null); |
| | | |
| | | List<InoutNoticeOut> noticeOutList = inoutNoticeService.getUnComNoticeOut(companyId); |
| | | |
| | | if (noticeOutList != null && noticeOutList.size() > 0) { |
| | | inoutNoticeService.updateSumNoticeOut(noticeOutList); |
| | | return "success"; |
| | | } |
| | | return "fail"; |
| | | } |
| | | |
| | | } |
| | |
| | | <PropertyDef name="storageReal"> |
| | | <Property name="dataType">Double</Property> |
| | | <Property name="label">å®é
å¨é</Property> |
| | | <Property name="displayFormat">#,##0 KG</Property> |
| | | <Property name="displayFormat">#0.0 KG</Property> |
| | | <Property name="required">true</Property> |
| | | </PropertyDef> |
| | | <PropertyDef name="remark"> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.fzzy.sys.controller.inout; |
| | | |
| | | import com.fzzy.igds.constant.Constant; |
| | | import com.fzzy.igds.domain.Depot; |
| | | import com.fzzy.igds.domain.InoutConf; |
| | | import com.fzzy.igds.utils.ContextUtil; |
| | | import com.fzzy.igds.utils.DateUtil; |
| | | import com.fzzy.sys.manager.common.CommonManager; |
| | | import com.fzzy.sys.manager.inout.InoutManager; |
| | | import com.ruoyi.common.core.domain.entity.SysDictData; |
| | | import com.ruoyi.common.core.domain.entity.SysUser; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.apache.commons.lang3.time.DateFormatUtils; |
| | | import org.springframework.stereotype.Controller; |
| | | import org.springframework.ui.ModelMap; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RequestParam; |
| | | |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @Description åºå
¥åºæ§å¶å± |
| | | * @Author CZT |
| | | * @Date 2025/11/29 10:56 |
| | | */ |
| | | @Slf4j |
| | | @Controller |
| | | @RequestMapping("basic/inout") |
| | | public class InoutController { |
| | | |
| | | private static final String prefix = "inout"; |
| | | |
| | | @Resource |
| | | private InoutManager inoutManager; |
| | | @Resource |
| | | private CommonManager commonManager; |
| | | |
| | | /** |
| | | * åºå
¥åºå¿«éç»è®° |
| | | * |
| | | * @param httpRequest |
| | | * @param sort é
å¥å· |
| | | * @param type ä¸å¡ç±»åï¼IN-å
¥åºï¼OUT-åºåº |
| | | * @param view |
| | | * @return |
| | | */ |
| | | @RequestMapping("/register") |
| | | public String register(HttpServletRequest httpRequest, |
| | | @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); |
| | | |
| | | String deptId = ContextUtil.subDeptId(user); |
| | | view.put("deptId", deptId); |
| | | |
| | | if (StringUtils.isEmpty(sort)) { |
| | | sort = "1"; |
| | | } |
| | | if (StringUtils.isEmpty(sort)) { |
| | | sort = inoutManager.getInoutWeightByClient(httpRequest); |
| | | } |
| | | |
| | | if (StringUtils.isEmpty(type)) { |
| | | //é»è®¤å
¥åº |
| | | type = Constant.TYPE_IN; |
| | | } |
| | | view.put("type", type); |
| | | |
| | | //ç§°éæ¯å¦å¯ç¼è¾æ ç¾ |
| | | String weightEditTag = inoutManager.getWeightEditTag(user.getCompanyId(), deptId); |
| | | view.put("weightEditTag", weightEditTag); |
| | | |
| | | //åºå
¥åºæµç¨ |
| | | String inoutProgress = inoutManager.getInoutProgressConf(user.getCompanyId(), ContextUtil.subDeptId(user), type); |
| | | view.put("inoutProgress", inoutProgress); |
| | | // å½åæµç¨èç¹ |
| | | view.put("progress", Constant.PROGRESS_REGISTER); |
| | | |
| | | // è·ååºå
¥åºé
ç½®ä¿¡æ¯ |
| | | List<InoutConf> listInoutConf = inoutManager.getListInoutConf(user.getCompanyId(), deptId); |
| | | |
| | | //æ ¹æ®åºå
¥åºè®¾å¤ä¿¡æ¯çéå°ç£
é
置信æ¯ï¼ææå°ç£
ï¼æ¯æç¨æ·æå¨éæ© |
| | | List<InoutConf> listWeight = inoutManager.getInoutConf(listInoutConf, Constant.CONF_TYPE_30); |
| | | view.put("listWeight", listWeight); |
| | | |
| | | // è·åå½åå°ç£
|
| | | 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); |
| | | |
| | | return prefix + "/inout-register"; |
| | | } |
| | | |
| | | /** |
| | | * è´¨æ£é¡µé¢ |
| | | * @return |
| | | */ |
| | | @RequestMapping("/check") |
| | | public String check(HttpServletRequest httpRequest, ModelMap view) { |
| | | |
| | | SysUser user = ContextUtil.getLoginUser(); |
| | | view.put(Constant.MODEL_KEY_LOGIN_USER, user); |
| | | |
| | | String deptId = ContextUtil.subDeptId(user); |
| | | |
| | | view.put("type", Constant.TYPE_IN); |
| | | view.put("deptId", deptId); |
| | | |
| | | // ä»åºå表å䏿æ¡ä½¿ç¨ |
| | | List<Depot> listDepot = commonManager.listDepotByDeptId(deptId); |
| | | view.put(Constant.MODEL_KEY_DEPOT_LIST, listDepot); |
| | | |
| | | //å
¥åºæµç¨ |
| | | String inoutProgress = inoutManager.getInoutProgressConf(user.getCompanyId(), deptId, Constant.TYPE_IN); |
| | | view.put("inoutProgress", inoutProgress); |
| | | |
| | | // å½åæµç¨èç¹ |
| | | view.put("progress", Constant.PROGRESS_CHECK); |
| | | |
| | | // ç²®é£åç§ä¸ææ¡ |
| | | 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); |
| | | |
| | | view.put("endTime", DateFormatUtils.format(new Date(), "yyyy-MM-dd")); |
| | | view.put("startTime", DateFormatUtils.format(DateUtil.getNewByDay(null, -30), "yyyy-MM-dd")); |
| | | |
| | | return prefix + "/inout-check"; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * å
¥åºç§°éæä½ï¼å
æ¬ç©ºè½¦ç§°éåæ»¡è½¦ç§°éï¼å
±ç¨ä¸ä¸ªé¡µé¢ |
| | | * |
| | | * @param sort 表示使ç¨çåºå
¥åºè®¾å¤é
å¥å·ï¼ä¸ä¼ éé»è®¤ä¸º1 |
| | | * @return |
| | | */ |
| | | @RequestMapping("/weight") |
| | | public String weight(HttpServletRequest httpRequest, |
| | | @RequestParam(value = "sort", required = false) String sort, |
| | | @RequestParam(value = "type", required = false) String type, |
| | | ModelMap view) { |
| | | |
| | | //å¦ææ²¡ææå®å°ç£
ï¼ä»ç¨æ·ä¸ä¸ä¸ªéæ©ä¸è·å |
| | | if (StringUtils.isEmpty(sort)) { |
| | | sort = "1"; |
| | | } |
| | | if (StringUtils.isEmpty(sort)) { |
| | | sort = inoutManager.getInoutWeightByClient(httpRequest); |
| | | } |
| | | |
| | | if (StringUtils.isEmpty(type)) { |
| | | //é»è®¤å
¥åº |
| | | type = Constant.TYPE_IN; |
| | | } |
| | | view.put("type", type); |
| | | |
| | | SysUser user = ContextUtil.getLoginUser(); |
| | | view.put(Constant.MODEL_KEY_LOGIN_USER, user); |
| | | |
| | | String deptId = ContextUtil.subDeptId(user); |
| | | view.put("type", type); |
| | | view.put("deptId", deptId); |
| | | |
| | | // ä»åºå表å䏿æ¡ä½¿ç¨ |
| | | List<Depot> listDepot = commonManager.listDepotByDeptId(deptId); |
| | | view.put(Constant.MODEL_KEY_DEPOT_LIST, listDepot); |
| | | |
| | | // å½åæµç¨æ ç¾ |
| | | view.put("progress", Constant.PROGRESS_WEIGHT_TAG); |
| | | |
| | | //å
¥åºæµç¨é
ç½® |
| | | String inoutProgress = inoutManager.getInoutProgressConf(user.getCompanyId(), deptId, Constant.TYPE_IN); |
| | | view.put("inoutProgress", inoutProgress); |
| | | |
| | | //ç§°éæ¯å¦å¯ç¼è¾æ ç¾ |
| | | String weightEditTag = inoutManager.getWeightEditTag(user.getCompanyId(), deptId); |
| | | view.put("weightEditTag", weightEditTag); |
| | | |
| | | // ç²®é£åç§ä¸ææ¡ |
| | | List<SysDictData> listFoodVariety = commonManager.getDicTrigger(Constant.TRIGGER_PARENT_FOOD_VARIETY, user.getCompanyId()); |
| | | view.put("listFoodVariety", listFoodVariety); |
| | | |
| | | // è·ååºå
¥åºè®¾å¤é
ç½®ä¿¡æ¯ |
| | | List<InoutConf> listInoutConf = inoutManager.getListInoutConf(user.getCompanyId(), deptId); |
| | | |
| | | //æ ¹æ®åºå
¥åºè®¾å¤ä¿¡æ¯çéå°ç£
é
置信æ¯ï¼ææå°ç£
ï¼æ¯æç¨æ·æå¨éæ© |
| | | List<InoutConf> listWeight = inoutManager.getInoutConf(listInoutConf, Constant.CONF_TYPE_30); |
| | | view.put("listWeight", listWeight); |
| | | |
| | | // è·åå½åå°ç£
|
| | | 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); |
| | | |
| | | return prefix + "/inout-weight"; |
| | | } |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.fzzy.sys.init; |
| | | |
| | | import com.bstek.dorado.annotation.Expose; |
| | | import com.fzzy.igds.service.*; |
| | | import com.ruoyi.system.domain.SysCompany; |
| | | import com.ruoyi.system.service.ISysCompanyService; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.boot.CommandLineRunner; |
| | | import org.springframework.core.annotation.Order; |
| | | import org.springframework.stereotype.Service; |
| | | import javax.annotation.Resource; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @Description é
置系ç»çº§å«ç项ç®å¯å¨åå§åä¿¡æ¯ |
| | | * @Author CZT |
| | | * @Date 2025/11/29 16:49 |
| | | */ |
| | | @Service |
| | | @Slf4j |
| | | @Order(value = 1) |
| | | public class SystemRunner implements CommandLineRunner { |
| | | |
| | | @Resource |
| | | private ISysCompanyService iSysCompanyService; |
| | | @Resource |
| | | private SysDeptService sysDeptService; |
| | | @Resource |
| | | private DicService dicService; |
| | | @Resource |
| | | private DepotService depotService; |
| | | @Resource |
| | | private DepotConfService depotConfService; |
| | | @Resource |
| | | private DeviceSerService deviceSerService; |
| | | |
| | | @Override |
| | | public void run(String... args) throws Exception { |
| | | //ç»ç»ä¿¡æ¯æ¾å
¥ç¼å |
| | | iSysCompanyService.resetCompanyCache(); |
| | | List<SysCompany> list = iSysCompanyService.selectAll(); |
| | | |
| | | for (SysCompany company : list) { |
| | | |
| | | flushCache(company.getCompanyId(), "ç³»ç»è°ç¨"); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * å¹³å°ç³»ç»ï¼æå¨å·æ°ææç¼å |
| | | * <p> |
| | | * systemRunner#flushAllCache |
| | | * |
| | | * @param companyId |
| | | */ |
| | | @Expose |
| | | public void flushAllCache(String companyId) { |
| | | flushCache(companyId, "æå¨è°ç¨"); |
| | | } |
| | | |
| | | /** |
| | | * åç»ç»åå§å |
| | | * |
| | | * @param companyId |
| | | * @param name |
| | | */ |
| | | public void flushCache(String companyId, String name) { |
| | | |
| | | //åå§åç¨æ·é¨é¨å°å
å |
| | | sysDeptService.initUserDeptMap(companyId); |
| | | |
| | | //åå§å常ç¨åå
¸å°å
å |
| | | dicService.initDicMap(companyId); |
| | | |
| | | //åå§åä»åºç¼å |
| | | depotService.flushCache(companyId); |
| | | //åæ°é
ç½® |
| | | depotConfService.flushConfCache(companyId); |
| | | //è®¾ç½®åæºå
¨é¨æçº¿ |
| | | deviceSerService.allOffLine(companyId); |
| | | //å·æ°åæºå°ç¼å |
| | | deviceSerService.refreshCache(companyId); |
| | | |
| | | log.info("* "); |
| | | log.info("* ========================"); |
| | | log.info("* "); |
| | | log.info("* ç»ç»={}ï¼{}åå§åç¼å宿â¦â¦â¦â¦", companyId, name); |
| | | log.info("* "); |
| | | log.info("* ========================"); |
| | | log.info("* "); |
| | | } |
| | | |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.fzzy.sys.manager.common; |
| | | |
| | | import com.fzzy.igds.domain.Depot; |
| | | import com.fzzy.igds.service.DepotService; |
| | | import com.fzzy.igds.service.DicService; |
| | | import com.fzzy.igds.utils.ContextUtil; |
| | | import com.ruoyi.common.core.domain.entity.SysDictData; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.stereotype.Component; |
| | | import javax.annotation.Resource; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @Description |
| | | * @Author CZT |
| | | * @Date 2025/11/29 15:19 |
| | | */ |
| | | @Slf4j |
| | | @Component |
| | | public class CommonManager { |
| | | @Resource |
| | | private DepotService depotService; |
| | | @Resource |
| | | private DicService dicService; |
| | | |
| | | /** |
| | | * æ ¹æ®åå
¸ç±»åè·ååå
¸å表 |
| | | * @param parentCode |
| | | * @param companyId |
| | | * @return |
| | | */ |
| | | public List<SysDictData> getDicTrigger(String parentCode, String companyId) { |
| | | return dicService.getDictDataByType(parentCode, companyId); |
| | | } |
| | | |
| | | /** |
| | | * æ ¹æ®åºåºç¼ç è·ååºåºä¸ææä»åºå表 |
| | | * |
| | | * @param deptId |
| | | * @return |
| | | */ |
| | | public List<Depot> listDepotByDeptId(String deptId) { |
| | | |
| | | if (StringUtils.isEmpty(deptId)) { |
| | | deptId = ContextUtil.subDeptId(null); |
| | | } |
| | | |
| | | return depotService.getCacheDepotList(ContextUtil.getCompanyId(), deptId); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.fzzy.sys.manager.inout; |
| | | |
| | | import com.fzzy.igds.constant.Constant; |
| | | import com.fzzy.igds.domain.InoutConf; |
| | | import com.fzzy.igds.domain.InoutSysConf; |
| | | import com.fzzy.igds.service.InoutConfService; |
| | | import com.fzzy.igds.utils.SystemUtil; |
| | | import com.ruoyi.common.core.redis.RedisCache; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @Description åºå
¥åºä¸å¡å¤ç |
| | | * @Author CZT |
| | | * @Date 2025/11/29 11:02 |
| | | */ |
| | | @Slf4j |
| | | @Component |
| | | public class InoutManager { |
| | | |
| | | @Resource |
| | | private RedisCache redisCache; |
| | | @Resource |
| | | private InoutConfService inoutConfService; |
| | | |
| | | /** |
| | | * æ ¹æ®ç¨æ·è¯·æ±ä¿¡æ¯ï¼æ ¹æ®å½å客æ·çµèIPï¼è·ååºå
¥åºç§°é䏿¬¡éæ©çå°ç£
|
| | | * |
| | | * @param httpRequest |
| | | * @return |
| | | */ |
| | | public String getInoutWeightByClient(HttpServletRequest httpRequest) { |
| | | String userIp = SystemUtil.getIP(httpRequest); |
| | | log.debug("----------------æ ¹æ®ç¨æ·IPè·åéæ©-å°ç£
----{}", userIp); |
| | | |
| | | String key = "INOUT:WEIGHT:" + userIp; |
| | | String sort = (String) redisCache.getCacheObject(key); |
| | | if (com.ruoyi.common.utils.StringUtils.isEmpty(sort)) sort = "1"; |
| | | return sort; |
| | | } |
| | | |
| | | /** |
| | | * è·ååºå
¥åºçæ´ä¸ªæµç¨ä¿¡æ¯ |
| | | * |
| | | * @param companyId |
| | | * @param deptId |
| | | * @param inoutType |
| | | * @return |
| | | */ |
| | | public String getInoutProgressConf(String companyId, String deptId, String inoutType) { |
| | | // ä»ç¼åä¸è·ååºå
¥åºç³»ç»é
ç½®ä¿¡æ¯ |
| | | InoutSysConf inoutSysConf = inoutConfService.getCacheInoutSysConf(companyId, deptId); |
| | | String progressConf = null; |
| | | if (inoutSysConf != null) { |
| | | if (Constant.TYPE_IN.equals(inoutType)) { |
| | | progressConf = inoutSysConf.getProgressIn(); |
| | | } |
| | | if (Constant.TYPE_OUT.equals(inoutType)) { |
| | | progressConf = inoutSysConf.getProgressOut(); |
| | | } |
| | | } |
| | | return progressConf; |
| | | } |
| | | |
| | | /** |
| | | * è·ååºå
¥åºè®¾å¤é
ç½®ä¿¡æ¯ |
| | | * |
| | | * @param companyId |
| | | * @param deptId |
| | | * @return |
| | | */ |
| | | public List<InoutConf> getListInoutConf(String companyId, String deptId) { |
| | | return inoutConfService.getCacheInoutConf(companyId, deptId); |
| | | } |
| | | |
| | | /** |
| | | * æ ¹æ®é
ç½®è·ååºå
¥åºçé
ç½®åæ° |
| | | * |
| | | * @param listInoutConf é
ç½®å表 |
| | | * @param sort æ¹æ¡åºå· |
| | | * @param type 设å¤ç±»å |
| | | * @param inoutProgress åºå
¥åºæµç¨ |
| | | * @return 车ç设å¤é
ç½®ï¼æ²¡æåè¿åNULL |
| | | */ |
| | | public InoutConf getInoutConf(List<InoutConf> listInoutConf, String sort, String type, String inoutProgress, int inOrder) { |
| | | if (null == listInoutConf) { |
| | | return new InoutConf(sort); |
| | | } |
| | | if (StringUtils.isEmpty(sort)) sort = "1"; |
| | | |
| | | InoutConf result = null; |
| | | for (InoutConf conf : listInoutConf) { |
| | | if (sort.equals(conf.getSort()) && type.equals(conf.getType()) && inoutProgress.equals(conf.getInoutProgress())) { |
| | | if (conf.getInOrder() == inOrder) { |
| | | result = conf; |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | |
| | | if (null == result) return new InoutConf(sort); |
| | | |
| | | return result; |
| | | } |
| | | |
| | | public List<InoutConf> getInoutConf(List<InoutConf> listInoutConf, String type) { |
| | | List<InoutConf> result = new ArrayList<>(); |
| | | if (null == listInoutConf) return result; |
| | | for (InoutConf conf : listInoutConf) { |
| | | if (type.equals(conf.getType())) { |
| | | result.add(conf); |
| | | } |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | public InoutConf getInoutConf(List<InoutConf> listInoutConf, String sort, String type) { |
| | | if (null == listInoutConf) return new InoutConf(sort); |
| | | if (StringUtils.isEmpty(sort)) sort = "1"; |
| | | |
| | | for (InoutConf conf : listInoutConf) { |
| | | if (sort.equals(conf.getSort()) && type.equals(conf.getType())) { |
| | | return conf; |
| | | } |
| | | } |
| | | return new InoutConf(sort); |
| | | } |
| | | |
| | | /** |
| | | * è·åå°ç£
ééç¼è¾æ ç¾ |
| | | * |
| | | * @param companyId |
| | | * @param deptId |
| | | * @return |
| | | */ |
| | | public String getWeightEditTag(String companyId, String deptId) { |
| | | // ä»ç¼åä¸è·ååºå
¥åºç³»ç»é
ç½®ä¿¡æ¯ |
| | | InoutSysConf inoutSysConf = inoutConfService.getCacheInoutSysConf(companyId, deptId); |
| | | String weightEditTag = Constant.YN_N; |
| | | if (inoutSysConf != null) { |
| | | weightEditTag = inoutSysConf.getWeightEditTag(); |
| | | } |
| | | if (null == weightEditTag) weightEditTag = Constant.YN_N; |
| | | |
| | | return weightEditTag; |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | //ç³»ç»å¸¸éå®ä¹ |
| | | |
| | | //设å¤ç¶æ |
| | | var DeviceStatus = { |
| | | CLOSE: "CLOSE", |
| | | OPEN: "OPEN", |
| | | W_CLOSE: "W_CLOSE", |
| | | W_OPEN: "W_OPEN", |
| | | F_OPEN: "F_OPEN", |
| | | F_OPEN_F: "F_OPEN_F", |
| | | F_CLOSE: "F_CLOSE", |
| | | ERROR: "ERROR", |
| | | ZERO: "ZERO" |
| | | }; |
| | | |
| | | // 设å¤ç±»å01-é£çª "02-è½´æµé£çª"),"03-离å¿é£æº"),"04-ç¯æµé£æº"),"05-空è°"),"06-ç
§æ"),"07-æ®ééé¨"),"08-æ°æ³µ"),"09-主éé¨"),"0B-éé£å£"),"0C-æ··æµé£æº"),"0D-å å飿º"); |
| | | var DeviceType = { |
| | | TYPE_01: "01", |
| | | TYPE_02: "02", |
| | | TYPE_03: "03", |
| | | TYPE_04: "04", |
| | | TYPE_05: "05", |
| | | TYPE_06: "06", |
| | | TYPE_07: "07", |
| | | TYPE_071: "071", // "071-空è°éé¨"),æå±è®¾å¤ç±»å |
| | | TYPE_08: "08", |
| | | TYPE_09: "09", |
| | | TYPE_0B: "0B", |
| | | TYPE_0C: "0C", |
| | | TYPE_0D: "0D" |
| | | }; |
| | | |
| | | // 设å¤ç±»å 01-æ£é¢ "02-èé¢"), "03-左侧"), "04-å³ä¾§"), "05-ä»å
"), |
| | | var DeviceLocation = { |
| | | L_01: "01", |
| | | L_02: "02", |
| | | L_03: "03", |
| | | L_04: "04", |
| | | L_05: "05" |
| | | }; |
| | | |
| | | // åºå
¥åº-æµç¨ |
| | | var InoutProgress = { |
| | | REGISTER: "REGISTER", |
| | | CHECK: "CHECK", |
| | | HANDLE: "HANDLE", |
| | | WEIGHT_TAG: "WEIGHT_TAG", |
| | | WEIGHT_FULL: "WEIGHT_FULL", |
| | | WEIGHT_EMPTY: "WEIGHT_EMPTY", |
| | | PAY: "PAY", |
| | | CARD_BACK: "CARD_BACK", |
| | | RECORD: "RECORD" |
| | | }; |
| | | |
| | | // ä»åºç±»å//å¹³æ¹ä»//æµ
åä»//æ²¹ç½//ç«çä»//楼æ¿ä»//å
¶ä»ç±»å |
| | | var DepotType = { |
| | | T_01: "01", |
| | | T_02: "02", |
| | | T_03: "03", |
| | | T_04: "04", |
| | | T_05: "05", |
| | | T_99: "99" |
| | | }; |
| | | |
| | | // ä»åºç¶æ |
| | | var DepotStatus = { |
| | | S_01: "1", //ç©ºä» |
| | | S_02: "2",//å
¥åºä¸ |
| | | S_03: "3",//å°ä» |
| | | S_04: "4",//åºåºä¸ |
| | | S_05: "31",//å°ä»-æ°è°ä¸ |
| | | S_06: "32",//å°ä»-çè¸ä¸ |
| | | S_07: "33",//å°ä»-éé£ä¸ |
| | | S_08: "34",//å°ä»-温æ§ä¸ |
| | | S_09: "9"//å
¶ä» |
| | | }; |
| | | |
| | | |
| | | //æåå¤´ææ¾æ¹å¼ |
| | | var PlayType = { |
| | | VLC: "VLC", //æ¬å°ï¼¶ï¼¬ï¼£æä»¶ |
| | | PLAY_TYPE_WEB_RTC_DH: "WEB_RTC_DH", //WEB-RTC-大å |
| | | PLAY_TYPE_WEB_RTC_HIK: "WEB_RTC_HIK", //WEB-RTC-海康 |
| | | FZZY_GB: "FZZY_GB",//FZZYæµåªä½ææ¾ |
| | | EASY_GBS: "EASY_GBS",//fzzy-easyæµåªä½ææ¾ |
| | | EASY_DSS: "EASY_DSS",//è¤ç³äºææ¾ |
| | | MEDIA_HIK: "MEDIA_HIK",//海康æµåªä½ |
| | | HIK_YS: "HIK_YS",//海康-è¤ç³äº |
| | | HIK_WEB4: "HIK_WEB4",//海康-WEBæä»¶ |
| | | IMOU: "IMOU",///乿©äº |
| | | DEFAULT: "DEFAULT",//é»è®¤å
¶ä» |
| | | OTHER: "OTHER"//ä¸ææ¾ |
| | | }; |
| | | |
| | | //åºå
¥åºåéªé¡¹ç® |
| | | var CHECK_ST = { |
| | | C01: "C01",//æ°´å |
| | | C02: "C02",//æè´¨ |
| | | C020101: "020101",//æ°´å |
| | | C01010301: "01010301"//æè´¨ |
| | | }; |
| | | |
| | | /** |
| | | * ç¨äºå®ä¹ç¼åçæå°æ¨¡æ¿ï¼é¿å
ç¸åé
ç½®çæ¨¡æ¿éæ°è·å |
| | | * @type {Map<any, any>} |
| | | * |
| | | * key = depotType_cable_cableCir |
| | | */ |
| | | var CACHE_PRINT_MODEL = new Map(); |
| | | |
| | | var CACHE_PRINT_MODEL_ALL = new Map(); |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | //æ ¹æ®æµè§å¨ä¸çå°ååå§åWSçè·¯å¾ |
| | | function initWsUrl() { |
| | | //http://ibms.fzzygf.com |
| | | //http://127.0.0.1:8080/igds |
| | | var href = window.location.href; |
| | | var arrUrl = href.split("//"); |
| | | href = arrUrl[1]; |
| | | arrUrl = href.split("/"); |
| | | //å¦ææ²¡æé
ç½®contextPath |
| | | if (arrUrl.length == 1) { |
| | | return "ws://" + arrUrl[0] + "/websocket"; |
| | | } |
| | | //妿contextPath = igds |
| | | if ("igds" == arrUrl[1]) { |
| | | return "ws://" + arrUrl[0] + "/" + arrUrl[1] + "/websocket"; |
| | | } |
| | | //妿contextPath = zxlk |
| | | if ("zxlk" == arrUrl[1]) { |
| | | return "ws://" + arrUrl[0] + "/" + arrUrl[1] + "/websocket"; |
| | | } |
| | | return "ws://" + arrUrl[0] + "/websocket"; |
| | | }; |
| | | |
| | | /** |
| | | * |
| | | * @param deptId ååºç¼ç |
| | | * @param bizType ä¸å¡ç¼å· |
| | | * @param bizTag èªå®ä¹ä¸å¡æ ç¾ å¦æä¸ºnullé»è®¤åcommon |
| | | * @param userId å½åç¨æ·Id |
| | | */ |
| | | function initWS(deptId, bizType, bizTag, userId) { |
| | | if (null == bizTag) bizTag = "common"; |
| | | var wsPath = initWsUrl() + "/" + deptId + "/" + bizType + "/" + bizTag + "/" + userId; |
| | | if (typeof (WebSocket) == "undefined") { |
| | | layer.msg("æ¨çæµè§å¨ä¸æ¯æWebSocketï¼è¯·ä½¿ç¨ä¸»æµæµè§å¨"); |
| | | return; |
| | | } |
| | | // åå»ºè¿æ¥ |
| | | var socket = new WebSocket(wsPath); |
| | | // æå¼äºä»¶ |
| | | socket.onopen = function () { |
| | | socket.send(bizType); |
| | | }; |
| | | // è·å¾æ¶æ¯äºä»¶æ¯åå°ç©¿ä»¶çWebPocketå¯¹è±¡ä¿¡æ¯ |
| | | socket.onmessage = function (result) { |
| | | var pocket = JSON.parse(result.data); |
| | | socketOnMessage(pocket); |
| | | }; |
| | | // å
³éäºä»¶ |
| | | socket.onclose = function () { |
| | | console.log("Socket closedâ¦â¦"); |
| | | }; |
| | | |
| | | // å
³éWebSocketè¿æ¥ |
| | | function closeWebSocket() { |
| | | socket.close(); |
| | | } |
| | | |
| | | // åçäºé误äºä»¶ |
| | | socket.onerror = function () { |
| | | alert("Socket errorâ¦â¦"); |
| | | }; |
| | | |
| | | $(window).unload(function () { |
| | | closeWebSocket(); |
| | | }); |
| | | } |
| | | |
| | | // åºå
¥åºä¸ç¨è¿æ¥ï¼æ·»å æµç¨èç¹åæ° |
| | | function initInoutWS(companyId, bizType, progress, userId) { |
| | | var wsPath = initWsUrl() + "/" + companyId + "/" + bizType + "/" + progress |
| | | + "/" + userId; |
| | | if (typeof (WebSocket) == "undefined") { |
| | | layer.msg("æ¨çæµè§å¨ä¸æ¯æWebSocketï¼è¯·ä½¿ç¨ä¸»æµæµè§å¨"); |
| | | return; |
| | | } |
| | | // å®ç°åWebSocketå¯¹è±¡ï¼æå®è¦è¿æ¥çæå¡å¨å°åä¸ç«¯å£  建ç«è¿æ¥ |
| | | var socket = new WebSocket(wsPath); |
| | | // æå¼äºä»¶ |
| | | socket.onopen = function () { |
| | | socket.send(bizType); |
| | | }; |
| | | // è·å¾æ¶æ¯äºä»¶æ¯åå°ç©¿ä»¶çWebPocketå¯¹è±¡ä¿¡æ¯ |
| | | socket.onmessage = function (result) { |
| | | var pocket = JSON.parse(result.data); |
| | | socketOnMessage(pocket); |
| | | }; |
| | | // å
³éäºä»¶ |
| | | socket.onclose = function () { |
| | | console.log("Socket closedâ¦â¦"); |
| | | }; |
| | | |
| | | // å
³éWebSocketè¿æ¥ |
| | | function closeWebSocket() { |
| | | socket.close(); |
| | | } |
| | | // åçäºé误äºä»¶ |
| | | socket.onerror = function () { |
| | | alert("Socket errorâ¦â¦"); |
| | | } |
| | | $(window).unload(function () { |
| | | socket.close(); |
| | | }); |
| | | }; |
| | | |
| | | function INOUT_PROGRESS_MSG(code) { |
| | | if (InoutProgress.REGISTER == code) return "ç»è®°"; |
| | | if (InoutProgress.CHECK == code) return "åéª"; |
| | | if (InoutProgress.HANDLE == code) return "å¼ä»"; |
| | | if (InoutProgress.WEIGHT_TAG == code) return "ç§°é"; |
| | | if (InoutProgress.WEIGHT_FULL == code) return "满车称é"; |
| | | if (InoutProgress.WEIGHT_EMPTY == code) return "空车称é"; |
| | | if (InoutProgress.PAY == code) return "æ¯ä»"; |
| | | if (InoutProgress.CARD_BACK == code) return "å¡åæ¶"; |
| | | if (InoutProgress.RECORD == code) return "æµç¨å®æ"; |
| | | return "æªç¥"; |
| | | }; |
| | | |
| | | /** |
| | | * æ ¹æ®ç¶æç¼ç è¿å䏿 |
| | | * @param code |
| | | */ |
| | | function DEPOT_STATUS_MSG(code) { |
| | | if (code == DepotStatus.S_01) return "空ä»"; |
| | | if (code == DepotStatus.S_02) return "å
¥åºä¸"; |
| | | if (code == DepotStatus.S_03) return "å°ä»"; |
| | | if (code == DepotStatus.S_04) return "åºåºä¸"; |
| | | if (code == DepotStatus.S_05) return "å°ä»-æ°è°ä¸"; |
| | | if (code == DepotStatus.S_06) return "å°ä»-çè¸ä¸"; |
| | | if (code == DepotStatus.S_07) return "å°ä»-éé£ä¸"; |
| | | if (code == DepotStatus.S_08) return "å°ä»-温æ§ä¸"; |
| | | if (code == DepotStatus.S_09) return "å
¶ä»"; |
| | | return code; |
| | | } |
| | | |
| | | /** |
| | | * fmt æ¶é´æ ¼å¼åä¾å¦ï¼yyyy-MM-dd hh:mm:ss date æ¶é´ return å符串 |
| | | */ |
| | | function dateFtt(fmt, date) { |
| | | if (!date) return ""; |
| | | var o = { |
| | | "M+": date.getMonth() + 1, // æä»½ |
| | | "d+": date.getDate(), // æ¥ |
| | | "h+": date.getHours(), // å°æ¶ |
| | | "m+": date.getMinutes(), // å |
| | | "s+": date.getSeconds(), // ç§ |
| | | "q+": Math.floor((date.getMonth() + 3) / 3), // å£åº¦ |
| | | "S": date.getMilliseconds() |
| | | // æ¯«ç§ |
| | | }; |
| | | if (/(y+)/.test(fmt)) |
| | | fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "") |
| | | .substr(4 - RegExp.$1.length)); |
| | | for (var k in o) |
| | | if (new RegExp("(" + k + ")").test(fmt)) |
| | | fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) |
| | | : (("00" + o[k]).substr(("" + o[k]).length))); |
| | | return fmt; |
| | | } |
| | | |
| | | function dateFtt2(fmt, date) { |
| | | if (!date) return ""; |
| | | var date2 = new Date(date); |
| | | return dateFtt(fmt, date2); |
| | | } |
| | | |
| | | // å·æ°æ¶é´ |
| | | function initTime() { |
| | | setInterval(function () { |
| | | $("#navBarDate").html(formatDate('mmæddæ¥', new Date())); |
| | | $("#navBarTime").html(formatDate('HH:MM:SS', new Date())); |
| | | $("#navBarWeek").html(getWeekDate()); |
| | | }, 1000); |
| | | } |
| | | |
| | | /** |
| | | * æ ¼å¼åæ¥æ |
| | | * |
| | | * @param fmt |
| | | * @param date |
| | | * @return {*} |
| | | */ |
| | | function formatDate(fmt, date) { |
| | | var ret; |
| | | var opt = { |
| | | "Y+": date.getFullYear().toString(), // å¹´ |
| | | "m+": (date.getMonth() + 1).toString(), // æ |
| | | "d+": date.getDate().toString(), // æ¥ |
| | | "H+": date.getHours().toString(), // æ¶ |
| | | "M+": date.getMinutes().toString(), // å |
| | | "S+": date.getSeconds().toString() // ç§ |
| | | // æå
¶ä»æ ¼å¼ååç¬¦éæ±å¯ä»¥ç»§ç»æ·»å ï¼å¿
须转åæå符串 |
| | | }; |
| | | for (var k in opt) { |
| | | ret = new RegExp("(" + k + ")").exec(fmt); |
| | | if (ret) { |
| | | fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0"))) |
| | | } |
| | | } |
| | | return fmt; |
| | | } |
| | | |
| | | /** |
| | | * è·åå½åææå |
| | | */ |
| | | function getWeekDate() { |
| | | var now = new Date(); |
| | | var day = now.getDay(); |
| | | var weeks = new Array("æææ¥", "ææä¸", "ææäº", "ææä¸", "ææå", "ææäº", "ææå
"); |
| | | var week = weeks[day]; |
| | | return week; |
| | | } |
| | | |
| | | /** |
| | | * åæ¢é¡µé¢ |
| | | * @param pageTag |
| | | */ |
| | | function changePage(pageTag) { |
| | | var url = "../dept-board/index"; |
| | | |
| | | if ("inout" == pageTag) { |
| | | url = "../dept-board/inout"; |
| | | } |
| | | if ("ai" == pageTag) { |
| | | url = "../dept-board/ai"; |
| | | } |
| | | if ("video" == pageTag) { |
| | | url = "../dept-board/video"; |
| | | } |
| | | //åå°ç®¡çé¦é¡µ |
| | | if ("backstage" == pageTag) { |
| | | url = "../index"; |
| | | window.parent.open(url, "_self"); |
| | | return; |
| | | } |
| | | |
| | | window.location.href = url; |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | //å½åèç¹ å
¥åºè´¨æ£ |
| | | var layer; |
| | | var laydate; |
| | | var form; |
| | | var table; |
| | | var scanCodeTag = false; |
| | | var page = 1; |
| | | var limit = 10; |
| | | var curCheckData = null;// å½åç¼è¾æ°æ® |
| | | var curCheckItems = null;// å½åæ°æ®çæ£æ¥é¡¹ä¿¡æ¯ |
| | | |
| | | $(function () { |
| | | layui.use(['layer', 'laydate', 'form', 'table'], function () { |
| | | layer = layui.layer; |
| | | form = layui.form; |
| | | table = layui.table; |
| | | 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', |
| | | value: foodYear, |
| | | type: 'year' |
| | | }); |
| | | |
| | | laydate.render({ |
| | | elem: '#checkTime', |
| | | theme: '#7b8e9f', |
| | | format: 'yyyy-MM-dd HH:mm:ss', |
| | | type: 'datetime' |
| | | }); |
| | | |
| | | // åå§åè¡¨åæ°æ® |
| | | renderTable(); |
| | | |
| | | // çå¬è¡å·¥å
·äºä»¶ |
| | | table.on('tool(tableData)', function (obj) { |
| | | if (obj.event === 'edit') { |
| | | //æ´æ°ä»åºä¸æå表 |
| | | updateSelect(); |
| | | //å±ç¤ºæ°æ® |
| | | showDetail(obj.data); |
| | | } |
| | | }); |
| | | |
| | | //çå¬ç²®é£åç§ï¼è·ååéªé¡¹ |
| | | layui.form.on('select(select_foodVariety)', function (data) { |
| | | updateFoodVariety(data.value); |
| | | }); |
| | | |
| | | //çå¬ç²®é£ç级ï¼è·åç²®é£å®ä»· |
| | | layui.form.on('select(select_foodLevel)', function (data) { |
| | | getPriceByFoodLevel(data.value); |
| | | }); |
| | | |
| | | //çå¬åéªç»æåå¡«åæ°æ®,å¹¶ç»åºæç¤ºç»æ |
| | | table.on('edit(tableCheckItem)', function (obj) { |
| | | getResult(obj); |
| | | }); |
| | | }); |
| | | |
| | | //æ¾ç¤ºå
¥åºæµç¨ |
| | | showProgress(); |
| | | }); |
| | | window.onbeforeunload = function () { |
| | | } |
| | | |
| | | window.onunload = function () { |
| | | } |
| | | window.onload = function () { |
| | | |
| | | //æ«ææªèªå¨å车äºä»¶ |
| | | $('#checkId').bind('keyup', function (event) { |
| | | if (event.keyCode == "13") { |
| | | // //廿ç¦ç¹ï¼é²æ¢å·æ°é¡µé¢ |
| | | // $('#checkId').blur(); |
| | | getDataByCheckId(); |
| | | } |
| | | }); |
| | | }; |
| | | |
| | | // socketä¿¡æ¯è¿åèç |
| | | function socketOnMessage(packet) { |
| | | layer.alert(packet.data); |
| | | window.parent.sysNotify(packet.data); |
| | | } |
| | | |
| | | //æ§å¶æµç¨ç¯èæ¾ç¤º |
| | | function showProgress() { |
| | | if (!inoutProgress) { |
| | | return; |
| | | } |
| | | if (inoutProgress.indexOf("REGISTER") == -1) { |
| | | $("#progress-register").css("display", "none"); |
| | | } |
| | | if (inoutProgress.indexOf("CHECK") == -1) { |
| | | $("#progress-check").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 getResult(obj) { |
| | | var data = obj.data; |
| | | //å¡«åçæ°æ®å¼ |
| | | var newValue = data.value; |
| | | //æ åå¼ |
| | | var limit = data.upperLimit; |
| | | //è¿ç®ç¬¦ |
| | | var symbol = data.operaSymbol; |
| | | if (symbol && limit) { |
| | | if (">=" == symbol) { |
| | | if (newValue < limit) { |
| | | data.result = "0"; |
| | | } else { |
| | | data.result = "1"; |
| | | } |
| | | } |
| | | if ("<=" == symbol) { |
| | | if (newValue > limit) { |
| | | data.result = "0"; |
| | | } else { |
| | | data.result = "1"; |
| | | } |
| | | } |
| | | if ("==" == symbol) { |
| | | if (newValue != limit) { |
| | | data.result = "0"; |
| | | } else { |
| | | data.result = "1"; |
| | | } |
| | | } |
| | | } |
| | | obj.update(data); |
| | | //æ ¹æ®åéªç»ææéæ¯å¦åæ ¼ |
| | | updateCheckResultTip(); |
| | | } |
| | | |
| | | //å¨ææ´æ¢ä»åºä¸æå表 |
| | | function updateSelect() { |
| | | $('#depotId option').remove(); |
| | | for (var i = 0; i < listDepot.length; i++) { |
| | | $('#depotId').append('<option value="' + listDepot[i].id + '">' + listDepot[i].name + '</option>'); |
| | | } |
| | | //éæ°æ¸²æ |
| | | form.render('select'); |
| | | } |
| | | |
| | | //æ ¹æ®åç§è·ååéªé¡¹ |
| | | function updateFoodVariety(foodVariety) { |
| | | if (null == foodVariety || "" == foodVariety) return; |
| | | form.val("form-detail", { |
| | | foodVariety: foodVariety |
| | | }); |
| | | form.render(); |
| | | |
| | | flushCheckItem(foodVariety); |
| | | } |
| | | |
| | | //æ ¹æ®éæ©ä»åºæ¾ç¤ºç²®é£åç§ |
| | | function getPriceByFoodLevel(foodLevel) { |
| | | if (null == foodLevel || "" == foodLevel) return; |
| | | form.val("form-detail", { |
| | | foodLevel: foodLevel |
| | | }); |
| | | form.render(); |
| | | var data = form.val("form-detail"); |
| | | |
| | | $.ajax({ |
| | | type: "POST", |
| | | url: "../../basic/inout/get-price", |
| | | dataType: "json", |
| | | contentType: "application/json;charset=UTF-8", |
| | | data: JSON.stringify(data), |
| | | success: function (result) { |
| | | if (result.code != "0000") { |
| | | layer.msg(result.msg); |
| | | } else { |
| | | $("#check-result-tip2").text("ç²®é£å®ä»·ï¼" + result.data.price + "å
/å
¬æ¤"); |
| | | } |
| | | }, |
| | | error: function () { |
| | | layer.msg("åå°å¼å¸¸ï¼è¯·éè¯æè
è系管çåï¼ï¼"); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // æ¥è¯¢ |
| | | function flushData() { |
| | | var index = layer.load(); |
| | | var param = form.val("form-param"); |
| | | |
| | | table.reload('tableData', { |
| | | url: "../../basic/inout/page-check-data", |
| | | where: param, |
| | | }); |
| | | |
| | | $("thead tr").css({ |
| | | "border-bottom": "2px solid #53adce", |
| | | "background": "#eff4f6" |
| | | }); |
| | | layer.close(index); |
| | | }; |
| | | |
| | | // å¯¼åºæ°æ®-- 跳转æ°é¡µé¢å¤ç |
| | | function exportData() { |
| | | // var url = "com.ld.igds.inout.ReportInoutCheck.d"; |
| | | // window.parent.openTab(url, "åéªç»æå¯¼åº", "checkDataExport"); |
| | | }; |
| | | |
| | | // æ¦æ ·æºè§£é¤æ¥å |
| | | function checkResetStop() { |
| | | var param = JSON.stringify(checkDto); |
| | | var index = layer.load(); |
| | | $.ajax({ |
| | | type: "POST", |
| | | url: "../../api/check/reset-stop", |
| | | dataType: "json", |
| | | contentType: "application/json;charset=UTF-8", |
| | | data: param, |
| | | success: function (result) { |
| | | layer.close(index); |
| | | if (result.code != "0000") { |
| | | layer.alert(result.msg); |
| | | } else { |
| | | layer.msg("æä½å½ä»¤åéæåï¼"); |
| | | } |
| | | }, |
| | | error: function () { |
| | | layer.close(index); |
| | | layer.alert("åå°å¼å¸¸ï¼æä½å½ä»¤åé失败ï¼"); |
| | | } |
| | | }); |
| | | }; |
| | | |
| | | // æ´æ°åéªç»ææéï¼åªåæéï¼ä¸åèªå¨å¤æ |
| | | function updateCheckResultTip() { |
| | | if (!curCheckItems || curCheckItems.length == 0) { |
| | | return; |
| | | } |
| | | if (curCheckData.checkStatus != "NONE") { |
| | | return; |
| | | } |
| | | var msg; |
| | | $.each(curCheckItems, function (index, data) { |
| | | if (!data.result) { |
| | | return true; |
| | | } |
| | | if (data.result == "0") { |
| | | msg = "ä¸åæ ¼"; |
| | | return false; |
| | | } |
| | | if (data.result == "1") { |
| | | msg = "åæ ¼"; |
| | | } |
| | | }); |
| | | if (msg) { |
| | | $("#check-result-tip").text("è´¨æ£ç»æï¼" + msg); |
| | | } else { |
| | | $("#check-result-tip").text("è´¨æ£ç»æï¼#"); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 渲æè¡¨æ ¼ |
| | | */ |
| | | function renderTableCheckItem() { |
| | | // æ¸
ç©ºæ°æ® |
| | | $("#tableCheckItem").empty(); |
| | | table.render({ |
| | | elem: '#tableCheckItem', |
| | | data: curCheckItems, |
| | | page: false, |
| | | // skin: 'line', |
| | | even: true, |
| | | cols: [[{ |
| | | field: 'standardName', |
| | | title: 'æ£éªé¡¹ç®', |
| | | align: 'center', |
| | | width: '10%' |
| | | }, { |
| | | field: 'value', |
| | | title: 'æ£éªå¼', |
| | | align: 'center', |
| | | width: '10%', |
| | | edit: 'text' |
| | | }, { |
| | | field: 'operaSymbolValue', |
| | | title: 'æ åå¼', |
| | | align: 'center', |
| | | width: '10%' |
| | | }, { |
| | | field: 'unit', |
| | | title: 'åä½', |
| | | align: 'center', |
| | | width: '10%' |
| | | }, { |
| | | field: 'deNum', |
| | | title: 'æ£é', |
| | | align: 'center', |
| | | width: '10%', |
| | | edit: 'text' |
| | | }, { |
| | | field: 'addNum', |
| | | title: 'å¢é', |
| | | align: 'center', |
| | | width: '10%', |
| | | edit: 'text' |
| | | }, { |
| | | field: 'dePrice', |
| | | title: 'æ£ä»·', |
| | | align: 'center', |
| | | width: '10%', |
| | | edit: 'text' |
| | | }, { |
| | | field: 'addPrice', |
| | | title: 'å¢ä»·', |
| | | align: 'center', |
| | | width: '10%', |
| | | edit: 'text' |
| | | }, { |
| | | field: 'result', |
| | | title: 'æ£éªç»æ', |
| | | align: 'center', |
| | | width: '10%', |
| | | templet: function (item) { |
| | | if (item.result == null) { |
| | | return ""; |
| | | } |
| | | if (item.result == '0') { |
| | | return "ä¸åæ ¼"; |
| | | } |
| | | if (item.result == '1') { |
| | | return "åæ ¼"; |
| | | } |
| | | } |
| | | }, { |
| | | field: 'remarks', |
| | | title: '夿³¨è¯´æ', |
| | | align: 'center', |
| | | edit: 'text' |
| | | }]], |
| | | limit: this.curCheckItems.length //æ¾ç¤ºçæ°é |
| | | }); |
| | | |
| | | $("thead tr").css({ |
| | | "border-bottom": "2px solid #53adce", |
| | | "background": "#eff4f6" |
| | | }); |
| | | } |
| | | |
| | | function showDetail(data) { |
| | | curCheckData = data; |
| | | if (!curCheckData.checkTime) { |
| | | curCheckData.checkTime = dateFtt("yyyy-MM-dd hh:mm:ss", new Date()); |
| | | } |
| | | curCheckData.checkUser = checkUser; |
| | | // èµå¼ |
| | | form.val("form-detail", curCheckData); |
| | | form.render(); |
| | | |
| | | layer.open({ |
| | | type: 1, |
| | | title: "åéªåæç»", |
| | | area: ['1400px', '700px'], |
| | | shade: 0, |
| | | content: $('#checkDetail'), |
| | | btnAlign: 'c', |
| | | btn: ['ä»
ä¿å', 'ä¿åæäº¤', 'å
³éåæ¶'], |
| | | yes: function () { |
| | | // æ´æ°å°é¡µé¢ |
| | | var data = form.val("form-detail"); |
| | | // åå¹¶æ´æ°ç¶åç¼è¾æ°æ® |
| | | Object.assign(curCheckData, data); |
| | | saveCheckData(); |
| | | if (scanCodeTag) { |
| | | showScanCode(); |
| | | } |
| | | }, btn2: function () { |
| | | // æ´æ°å°é¡µé¢ |
| | | var data = form.val("form-detail"); |
| | | // åå¹¶æ´æ°ç¶åç¼è¾æ°æ® |
| | | Object.assign(curCheckData, data); |
| | | submit(); |
| | | if (scanCodeTag) { |
| | | showScanCode(); |
| | | } |
| | | }, btn3: function () { |
| | | parent.layer.closeAll(); |
| | | if (scanCodeTag) { |
| | | showScanCode(); |
| | | } |
| | | }, |
| | | closeBtn: 0 |
| | | }); |
| | | //夿æ¯å¦åéªï¼è¥å·²ç»åéªï¼å䏿¾ç¤ºæäº¤æé®ï¼ä¸å
许修æ¹åéªç»æ |
| | | if (curCheckData.checkStatus != "NONE") { |
| | | $(".layui-layer-btn0").css('display', 'none'); |
| | | $(".layui-layer-btn1").css('display', 'none'); |
| | | } |
| | | // è·ååéªé¡¹ä¿¡æ¯ |
| | | flushCheckItem(curCheckData.foodVariety); |
| | | getPriceByFoodLevel(curCheckData.foodLevel); |
| | | } |
| | | |
| | | /** |
| | | * å·æ°åéªç»æé¡¹ |
| | | */ |
| | | function flushCheckItem(foodVariety) { |
| | | curCheckItems = null; |
| | | $("#check-result-tip").text("æ£éªç»æï¼#"); |
| | | $("#price-result-tip2").text("ç²®é£å®ä»·ï¼#å
/å
¬æ¤"); |
| | | curCheckData.foodVariety = foodVariety; |
| | | var index = layer.load(); |
| | | $.ajax({ |
| | | type: "POST", |
| | | url: "../../basic/inout/get-check-item", |
| | | dataType: "json", |
| | | contentType: "application/json;charset=UTF-8", |
| | | data: JSON.stringify(curCheckData), |
| | | success: function (result) { |
| | | if (result.code != "0000") { |
| | | layer.msg(result.msg); |
| | | } else { |
| | | curCheckItems = result.data; |
| | | // æ ¹æ®åéªç»ææéæ¯å¦åæ ¼ |
| | | updateCheckResultTip(); |
| | | // 页颿¸²ææ£æµé¡¹ |
| | | renderTableCheckItem(); |
| | | layer.close(index); |
| | | } |
| | | }, |
| | | error: function () { |
| | | layer.close(index); |
| | | layer.msg("åå°å¼å¸¸ï¼è¯·éè¯æè
è系管çåï¼ï¼"); |
| | | } |
| | | }); |
| | | }; |
| | | |
| | | //ä»
ä¿å |
| | | function saveCheckData() { |
| | | if (!curCheckData.foodVariety) { |
| | | layer.alert("请确认粮é£åç§ï¼ï¼"); |
| | | return; |
| | | } |
| | | curCheckData.checkItems = curCheckItems; |
| | | var index1 = layer.load(); |
| | | $.ajax({ |
| | | type: "POST", |
| | | url: "../../basic/inout/submit-checkItem", |
| | | dataType: "json", |
| | | contentType: "application/json;charset=UTF-8", |
| | | async: false, |
| | | data: JSON.stringify(curCheckData), |
| | | success: function (result) { |
| | | if (result.code != "0000") { |
| | | layer.close(index1); |
| | | notify(result.msg, result.data); |
| | | } else { |
| | | layer.closeAll(); |
| | | curCheckData = null; |
| | | notify("æ°æ®ä¿åæå", result.data); |
| | | flushData(); |
| | | } |
| | | }, |
| | | error: function () { |
| | | layer.close(index1); |
| | | layer.alert("ä¿å失败ï¼è¯·éæ°å°è¯ï¼"); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | //ä¿åæäº¤ |
| | | function submit() { |
| | | |
| | | if (curCheckData.checkStatus == "NONE" || curCheckData.checkStatus == "NONE2") { |
| | | layer.alert("请确认åéªç»æï¼ï¼"); |
| | | return; |
| | | } |
| | | if (!curCheckData.foodVariety) { |
| | | layer.alert("请确认粮é£åç§ï¼ï¼"); |
| | | return; |
| | | } |
| | | if (!curCheckData.foodLevel) { |
| | | layer.alert("请确认粮é£ç级ï¼ï¼"); |
| | | return; |
| | | } |
| | | if (!curCheckData.foodType) { |
| | | layer.alert("è¯·ç¡®è®¤ç²®é£æ§è´¨ï¼ï¼"); |
| | | return; |
| | | } |
| | | if (!curCheckData.price) { |
| | | layer.alert("请确认粮é£å®ä»·ï¼å¦ä¸èèå®ä»·ï¼è¯·å¡«å0.0"); |
| | | return; |
| | | } |
| | | curCheckData.checkItems = curCheckItems; |
| | | |
| | | var index = layer.load(); |
| | | $.ajax({ |
| | | type: "POST", |
| | | url: "../../basic/inout/submit-check", |
| | | dataType: "json", |
| | | contentType: "application/json;charset=UTF-8", |
| | | async: false, |
| | | data: JSON.stringify(curCheckData), |
| | | success: function (result) { |
| | | if (result.code != "0000") { |
| | | layer.close(index); |
| | | notify(result.msg, result.data); |
| | | } else { |
| | | parent.layer.closeAll(); |
| | | curCheckData = null; |
| | | notify("æ°æ®æäº¤æå", result.data); |
| | | flushData(); |
| | | } |
| | | }, |
| | | error: function () { |
| | | layer.close(index); |
| | | layer.alert("æäº¤å¤±è´¥ï¼è¯·éæ°å°è¯ï¼"); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | //æ«ç å¼¹çª |
| | | function showScanCode() { |
| | | //æ¸
空表å |
| | | $("#form-sacnCodeDetail")[0].reset(); |
| | | form.render(); |
| | | |
| | | //æ«ç å¼¹çª-èµå¼true |
| | | scanCodeTag = true; |
| | | layer.open({ |
| | | type: 1, |
| | | title: "æ«ç ä¿¡æ¯", |
| | | area: ['700px', '320px'], |
| | | shade: 0, |
| | | content: $('#scanCodeDetail'), |
| | | success: function () { |
| | | document.getElementById('checkId').focus(); |
| | | }, |
| | | btnAlign: 'c', |
| | | btn: ['æ¥è¯¢', 'å
³éåæ¶'], |
| | | yes: function () { |
| | | getDataByCheckId(); |
| | | }, btn2: function () { |
| | | scanCodeTag = false; |
| | | layer.closeAll(); |
| | | }, |
| | | closeBtn: 0 |
| | | }); |
| | | } |
| | | |
| | | //æ ¹æ®è´¨æ£åå·è·åä¿¡æ¯ |
| | | function getDataByCheckId() { |
| | | var param = form.val("form-sacnCodeDetail"); |
| | | if (!param.checkId) { |
| | | layer.alert("è´¨æ£åå·ä¸ºç©ºï¼è¯·æ«ç æè¾å
¥è´¨æ£åå·"); |
| | | } |
| | | var index = layer.load(); |
| | | $.ajax({ |
| | | type: "POST", |
| | | url: "../../basic/inout/inout-check-scan-code", |
| | | dataType: "json", |
| | | contentType: "application/json;charset=UTF-8", |
| | | data: JSON.stringify(param), |
| | | success: function (result) { |
| | | if (result.code != "0000") { |
| | | layer.close(index); |
| | | $("#form-sacnCodeDetail")[0].reset(); |
| | | form.render(); |
| | | notify(result.msg, result.data); |
| | | } else { |
| | | updateSelect(); |
| | | showDetail(result.data); |
| | | } |
| | | }, |
| | | error: function () { |
| | | layer.close(index); |
| | | $("#form-sacnCodeDetail")[0].reset(); |
| | | form.render(); |
| | | alertError("ä¿å失败ï¼è¯·éæ°å°è¯ï¼") |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // 渲æè¡¨åæ°æ® |
| | | function renderTable() { |
| | | var param = form.val("form-param"); |
| | | // æ¸
ç©ºæ°æ® |
| | | $("#tableData").empty(); |
| | | table.render({ |
| | | elem: '#tableData', |
| | | url: '../../basic/inout/page-check-data', |
| | | page: true, |
| | | limit: limit, |
| | | even: true, |
| | | method: 'POST', |
| | | contentType: "application/json;charset=UTF-8", |
| | | cols: [[{ |
| | | field: 'checkId', |
| | | title: 'è´¨æ£åå·', |
| | | width: '10%', |
| | | style: 'color: #f67d06;font-weight: bold' |
| | | }, { |
| | | field: 'plateNum', |
| | | title: '车çå·', |
| | | width: '9%', |
| | | style: 'font-weight: bold' |
| | | }, { |
| | | field: 'registerTime', |
| | | title: 'ç»è®°æ¶é´', |
| | | width: '13%', |
| | | style: 'font-weight: bold' |
| | | }, { |
| | | field: 'sampleStatus', |
| | | title: 'æ¯å¦æ¦æ ·', |
| | | width: '10%', |
| | | templet: function (item) { |
| | | if (item.sampleStatus == null) { |
| | | return "æªæ¦æ ·"; |
| | | } |
| | | if (item.sampleStatus == 'NONE') { |
| | | return "æªæ¦æ ·"; |
| | | } |
| | | if (item.sampleStatus == 'SAMPLE') { |
| | | return "å·²æ¦æ ·"; |
| | | } |
| | | } |
| | | }, { |
| | | field: 'sampleUser', |
| | | title: 'æ¦æ ·äºº', |
| | | width: '10%', |
| | | style: 'font-weight: bold' |
| | | }, { |
| | | field: 'sampleTime', |
| | | title: 'æ¦æ ·æ¶é´', |
| | | width: '13%', |
| | | style: 'font-weight: bold' |
| | | }, { |
| | | field: 'foodVariety', |
| | | title: 'ç²®é£åç§', |
| | | width: '9%', |
| | | 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: '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: 'checkStatus', |
| | | title: 'æ£éªç»æ', |
| | | style: 'font-weight: bold', |
| | | templet: function (item) { |
| | | if (item.checkStatus == 'NONE') { |
| | | return "æªåéª"; |
| | | } |
| | | if (item.checkStatus == 'PASS') { |
| | | return "åæ ¼"; |
| | | } |
| | | if (item.checkStatus == 'UNPASS') { |
| | | return "ä¸åæ ¼"; |
| | | } |
| | | return item.checkStatus == null ? "" : item.checkStatus; |
| | | } |
| | | }, { |
| | | field: '', |
| | | title: 'æä½', |
| | | width: '8%', |
| | | 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 resetForm() { |
| | | $("#form-param")[0].reset(); |
| | | form.render(); |
| | | } |
| | | |
| | | // ---------------------------ç²®é£äº§å° -å¼å§ -------------------// |
| | | // å¼¹åºç²®é£äº§å°ä¸ææ¡ |
| | | function showFoodLocation() { |
| | | var index = layer.load(); |
| | | // 渲æå¾æ¥åä½å表 |
| | | table.render({ |
| | | elem: '#tableFoodLoaction', |
| | | url: '../../basic/common/page-food-location', |
| | | page: false, |
| | | toolbar: '#toolbarFoodLocaton', |
| | | even: true, |
| | | method: 'POST', |
| | | contentType: "application/json;charset=UTF-8", |
| | | cols: [[{ |
| | | field: 'code', |
| | | title: 'ç¼ç ', |
| | | }, { |
| | | field: 'simple', |
| | | title: 'ç®æ¼', |
| | | }, { |
| | | field: 'name', |
| | | title: 'åç§°', |
| | | width: '60%' |
| | | }]], |
| | | where: { |
| | | "page": 1, |
| | | "limit": 100 |
| | | }, |
| | | 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 |
| | | } |
| | | } |
| | | }, |
| | | done: function (res) { |
| | | layer.close(index); |
| | | } |
| | | }); |
| | | |
| | | //å廿¾ç¤ºé䏿°æ® |
| | | table.on('rowDouble(tableFoodLoaction)', function (obj) { |
| | | var data = obj.data; |
| | | // èµå¼ |
| | | form.val("form-detail", { |
| | | foodLocation: data.name, |
| | | }); |
| | | // å
³é |
| | | layer.close(index2); |
| | | }); |
| | | |
| | | // å¼¹åºå¯¹è¯æ¡ |
| | | var index2 = layer.open({ |
| | | type: 1, |
| | | title: "éæ©ç²®äº§å°", |
| | | area: ['600px', '600px'], |
| | | shade: 0, |
| | | content: $('#listFoodLocation'), |
| | | btn: 0, |
| | | btn: ['åæ¶'], |
| | | yes: function () { |
| | | // å
³é |
| | | layer.close(index2); |
| | | }, |
| | | closeBtn: 0 |
| | | }); |
| | | |
| | | }; |
| | | |
| | | // å·æ° |
| | | function flushFoodLocation() { |
| | | var key = $("#key2").val(); |
| | | table.reload('tableFoodLoaction', { |
| | | url: "../../basic/common/page-food-location", |
| | | where: { |
| | | key: key |
| | | }, |
| | | done: function (res) { |
| | | if (key) { |
| | | $("#key2").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']}); |
| | | } |
| | | } |
| | | |
| | | // ---------------------------ç²®é£äº§å° -ç»æ -------------------// |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | //æ§å¶æµç¨ç¯èæ¾ç¤º |
| | | function showProgress() { |
| | | if (!inoutProgress) { |
| | | return; |
| | | } |
| | | if (inoutProgress.indexOf("REGISTER") == -1) { |
| | | $("#progress-register").css("display", "none"); |
| | | } |
| | | if (inoutProgress.indexOf("CHECK") == -1) { |
| | | $("#progress-check").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 alertError(msg) { |
| | | layer.alert(msg, { |
| | | icon: 5, |
| | | offset: ['300px', '300px'] |
| | | }); |
| | | } |
| | | |
| | | function alertSuccess(msg) { |
| | | layer.alert(msg, { |
| | | icon: 1, |
| | | offset: ['300px', '300px'] |
| | | }); |
| | | } |
| | | |
| | | /** |
| | | * å¼¹åºæéæ¡ |
| | | * @param msg æéä¿¡æ¯ |
| | | * @param data æ°æ®ä¿¡æ¯ï¼å¯è½ä¸ºç©º |
| | | */ |
| | | function notifyProgress(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 { |
| | | alertError(msg); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | /** |
| | | * æå°è¿ç£
å |
| | | */ |
| | | printWeight = function (htmlStr) { |
| | | // var LODOP = CLODOP |
| | | var LODOP = getLodop(); |
| | | if ("5016" == companyId || "5326" == companyId || "5347" == companyId || "5352" == companyId) { |
| | | LODOP.PRINT_INIT("ç§°éå"); |
| | | //å¼ä¸º1--纵åæå°ï¼åºå®çº¸å¼ ; |
| | | // å¼ä¸º2--横åæå°ï¼åºå®çº¸å¼ ; |
| | | // å¼ä¸º3--纵åæå°ï¼åºå®å®½åº¦ï¼é«åº¦ææå°å
容çé«åº¦èªéåº; |
| | | LODOP.SET_PRINT_PAGESIZE(1, 1050, 1400, ""); |
| | | LODOP.ADD_PRINT_HTM(0, 0, "100%", "100%", htmlStr); |
| | | LODOP.PREVIEW(); |
| | | } else { |
| | | LODOP.PRINT_INIT("è¿ç£
å"); |
| | | //LODOP.SET_PRINT_PAGESIZE(1, 0, '90mm', "A4"); |
| | | LODOP.SET_PRINT_PAGESIZE(1, '210mm', '140mm', "A4"); |
| | | LODOP.ADD_PRINT_HTM(0, 0, "100%", "100%", htmlStr); |
| | | //æå°å¤ä»½ |
| | | // LODOP.SET_PRINT_COPIES(3); |
| | | LODOP.PREVIEW(); |
| | | } |
| | | }; |
| | | |
| | | //æå°æ¦æ ·åæ¡å½¢ç ,checkId-æ¡å½¢ç ï¼html-åºåºåç§°åæ¦æ ·æ¶é´ |
| | | printBar = function (checkId, html) { |
| | | var LODOP = getLodop(); |
| | | |
| | | if(companyId && "5317" == companyId){ |
| | | LODOP.PRINT_INIT(""); |
| | | LODOP.SET_PRINT_PAGESIZE(1, '60mm', '40mm', ''); |
| | | |
| | | LODOP.ADD_PRINT_BARCODE(20, 30, '50mm', 80, "128A", checkId); |
| | | LODOP.ADD_PRINT_HTM(110, 20, '50mm', 80, html); |
| | | LODOP.SET_PRINT_STYLEA(0, "FontSize", 18); |
| | | |
| | | LODOP.SET_PRINTER_INDEX("æ¡ç æå°æº");//æå®æå°æº |
| | | LODOP.PREVIEW(); |
| | | }else { |
| | | LODOP.PRINT_INIT(""); |
| | | LODOP.SET_PRINT_PAGESIZE(1, '80mm', '60mm', ''); |
| | | |
| | | LODOP.ADD_PRINT_BARCODE(20, 30, '70mm', 80, "128A", checkId); |
| | | LODOP.ADD_PRINT_HTM(110, 10, '70mm', 80, html); |
| | | LODOP.SET_PRINT_STYLEA(0, "FontSize", 18); |
| | | |
| | | LODOP.SET_PRINTER_INDEX("æ¡ç æå°æº");//æå®æå°æº |
| | | LODOP.PREVIEW(); |
| | | } |
| | | }; |
| | | |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | //ç§°é-å
æ¬ç©ºè½¦å满车称é |
| | | var layer; |
| | | var form; |
| | | var table; |
| | | var recordData = null;// ä¸å¡æ°æ®ä¿¡æ¯ |
| | | var snapData;//ç³»ç»ææå¯¹è±¡ä¿¡æ¯ |
| | | var timerWeight; |
| | | var paramIntelCard;//设å¤è¯å«ç»æ |
| | | var paramIdCard;//设å¤è¯å«ç»æ |
| | | var curCheckItems = null;// å½åæ°æ®çæ£æ¥é¡¹ä¿¡æ¯ |
| | | var step = 1; |
| | | |
| | | $(function () { |
| | | layui.use(['layer', 'laydate', 'form', 'table', 'util'], function () { |
| | | var util = layui.util; |
| | | layer = layui.layer; |
| | | form = layui.form; |
| | | table = layui.table; |
| | | layui.laydate.render({ |
| | | elem: '#test1', |
| | | theme: '#7b8e9f' |
| | | }); |
| | | // å³ä¸è§æ·»å åºå®ä¿¡æ¯ |
| | | util.fixbar({ |
| | | bar1: true, |
| | | css: { |
| | | left: 10, |
| | | bottom: 10 |
| | | }, |
| | | bgcolor: '#53adce', |
| | | click: function (type) { |
| | | if (type === 'bar1') { |
| | | layer.closeAll(); |
| | | layer.open({ |
| | | type: 2, |
| | | title: false, |
| | | shadeClose: true, |
| | | shade: 0.3, |
| | | closeBtn: 2, |
| | | offset: ['50px', '120px'], |
| | | area: ['1000px', '640px'], |
| | | content: '../../basic/inout/inout-progress?type=' + type + "&t=" + Math.random() |
| | | }); |
| | | } |
| | | } |
| | | }); |
| | | |
| | | //çå¬éæ©æ°æ®äºä»¶ |
| | | table.on('tool(tableListProgressData)', function (obj) { |
| | | var data = obj.data; |
| | | if (obj.event === 'select') { |
| | | //æ¸
空表å |
| | | resetForm(); |
| | | flushData(data.intelCard, null); |
| | | layer.closeAll(); |
| | | } |
| | | }); |
| | | |
| | | }); |
| | | |
| | | //æ¾ç¤ºæµç¨ç¯è |
| | | showProgress(); |
| | | |
| | | // çå¬ééåå |
| | | $(".weight").blur(function () { |
| | | deAutoByIn(this.name); |
| | | }); |
| | | |
| | | // åå§åWebSocket |
| | | // initInoutWS(companyId, bizType, progress, userId); |
| | | }); |
| | | |
| | | window.onload = function () { |
| | | //èªå¨è¿æ¥å°ç£
ä¿¡æ¯ï¼2.5ç§è·å䏿¬¡å°ç£
ééä¿¡æ¯ |
| | | clearInterval(timerWeight); |
| | | timerWeight = setInterval(function () { |
| | | flushWeight(); |
| | | }, 2500); |
| | | |
| | | // å è½½è§é¢ |
| | | initVideo(snapDto1, snapDto2, snapDto3); |
| | | |
| | | //设置å°ç£
|
| | | $("#scaleName").val(weightDto.sort); |
| | | |
| | | //çå¬å°ç£
éæ© |
| | | $("#scaleName").change(function () { |
| | | layer.confirm('è°æ´å°ç£
ééæ°å 载页é¢ï¼ç¡®å®è°æ´ï¼', { |
| | | btn: ['ç¡®å®', 'åæ¶'] |
| | | }, function () { |
| | | updateWeight(); |
| | | }); |
| | | }); |
| | | }; |
| | | |
| | | // socketä¿¡æ¯è¿åèç |
| | | function socketOnMessage(packet) { |
| | | //ææ |
| | | } |
| | | |
| | | //ç¹å»ç§°é |
| | | function weight() { |
| | | // 没æä¸å¡æ°æ®ä¸å¯æ§è¡ |
| | | if (!recordData) { |
| | | alertError("æ²¡ææ¥è¯¢å°ä¸å¡æ°æ®ï¼æ§è¡è¢«æç»ï¼"); |
| | | return; |
| | | } |
| | | // 妿æ¯ç©ºè½¦ç§°é |
| | | if (InoutProgress.WEIGHT_EMPTY == recordData.progress) { |
| | | form.val("form-data", { |
| | | emptyWeight: weightDto.weight |
| | | }); |
| | | form.render(); |
| | | } |
| | | // å¦ææ¯æ»¡è½¦ç§°é |
| | | if (InoutProgress.WEIGHT_FULL == recordData.progress) { |
| | | form.val("form-data", { |
| | | fullWeight: weightDto.weight |
| | | }); |
| | | form.render(); |
| | | } |
| | | |
| | | // ç¹å»ç§°éèªå¨è°ç¨ææ |
| | | snapData = { |
| | | companyId: companyId, |
| | | deptId: deptId, |
| | | progress: recordData.progress, |
| | | bizType: type, |
| | | bizId: recordData.id, |
| | | plateNum: recordData.plateNum, |
| | | id1: snapDto1.id, |
| | | id2: snapDto2.id, |
| | | id3: snapDto3.id, |
| | | id4: snapDto2.id, |
| | | sort: $("#scaleName").val(), |
| | | weight: weightDto.weight |
| | | }; |
| | | |
| | | //å½åAJAXæå¡ä¸ºåæ¥æå¡ï¼è¿åæ°æ®å
è£
ç
§çä¿¡æ¯ |
| | | var index = layer.load(); |
| | | $.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) { |
| | | layer.close(index); |
| | | if (result.code != "0000") { |
| | | alertError(result.msg); |
| | | } else { |
| | | snapData = result.data; |
| | | } |
| | | }, |
| | | error: function () { |
| | | layer.close(index); |
| | | alertError("åå°è°ç¨æªå¾å¤±è´¥ï¼è¯·éæ°å°è¯"); |
| | | } |
| | | }); |
| | | //妿æ¯ç¬¬äºæ¬¡ç§°éï¼é»è®¤æ§è¡èªå¨è®¡ç® |
| | | if (InoutProgress.WEIGHT_EMPTY == recordData.progress) { |
| | | deAutoByIn("emptyWeight"); |
| | | } |
| | | } |
| | | |
| | | // ä½¿ç¨æä»¶è·åèº«ä»½è¯ |
| | | function flushIdCard() { |
| | | var index = layer.load(); |
| | | $.ajax({ |
| | | type: "GET", |
| | | async: true, |
| | | url: "http://127.0.0.1:9111/IDCARD", |
| | | data: {}, |
| | | dataType: "json", |
| | | // jsonp: "callback", |
| | | // jsonpCallback: "jsonpCallback", |
| | | success: function (json) { |
| | | layer.close(index); |
| | | var data = json; |
| | | if (data.code === "200" || data.code == 200) { |
| | | paramIdCard = data.idNum; |
| | | $("#text-param").text("è¯å«èº«ä»½è¯ï¼" + paramIdCard); |
| | | flushData(null, paramIdCard); |
| | | } else { |
| | | alertError("没æè¯»åå°èº«ä»½è¯ä¿¡æ¯ï¼"); |
| | | return; |
| | | } |
| | | |
| | | }, |
| | | error: function () { |
| | | alertError("没æè¯»åå°èº«ä»½è¯ä¿¡æ¯ï¼"); |
| | | layer.close(index); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | function flushByHand() { |
| | | var intelCard = $("#intelCard").val(); |
| | | flushData(intelCard, null); |
| | | } |
| | | |
| | | /** |
| | | * æå¨éæ©ï¼è·åå¾
ç§°éçæ°æ®ï¼å¼¹åºéæ© |
| | | */ |
| | | function selectByHand() { |
| | | var param = { |
| | | deptId: deptId, |
| | | type: type, |
| | | timer: Math.random() |
| | | }; |
| | | $.ajax({ |
| | | type: "POST", |
| | | url: "../../basic/inout/list-only-progress", |
| | | dataType: "json", |
| | | contentType: "application/json;charset=UTF-8", |
| | | data: JSON.stringify(param), |
| | | success: function (result) { |
| | | if (result.code != "0000") { |
| | | layer.msg(result.msg); |
| | | } else { |
| | | renderTableProgressData(result.data); |
| | | } |
| | | }, |
| | | error: function () { |
| | | layer.msg("ç³»ç»è·åæ°æ®åºç°å¼å¸¸ï¼éæ°å°è¯"); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | |
| | | 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 printBill() { |
| | | if (!recordData) { |
| | | alertError("没æè·åå°ä¸å¡æ°æ®ï¼æå°è¢«æç»ï¼"); |
| | | return; |
| | | } |
| | | // ä»åå°è·å模çå¹¶æå° |
| | | var data = form.val("form-data"); |
| | | // åå¹¶æ´æ°ç¶åç¼è¾æ°æ® |
| | | Object.assign(recordData, data); |
| | | |
| | | var index = layer.load(); |
| | | $.ajax({ |
| | | type: "POST", |
| | | url: "../../basic/inout/report/bill-weight", |
| | | dataType: "json", |
| | | contentType: "application/json;charset=UTF-8", |
| | | data: JSON.stringify(recordData), |
| | | success: function (result) { |
| | | layer.close(index); |
| | | if (result.code != "0000") { |
| | | alertError(result.msg); |
| | | } else { |
| | | layer.msg("å¼å§æ¸²ææå°åâ¦â¦"); |
| | | printWeight(result.data); |
| | | } |
| | | }, |
| | | error: function () { |
| | | layer.close(index); |
| | | alertError("è·åæå°æ¨¡ç失败ï¼è¯·è系管ç忥çåå "); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // è¡¨åæ¸
空 |
| | | function resetForm() { |
| | | $("#form-data")[0].reset(); |
| | | form.render(); |
| | | recordData = null; |
| | | weightDto.weight = 0.0; |
| | | $("#weightValue").text("0.0"); |
| | | $("#img_scale_statule").attr("src", "/img/web/inout/icon-red.png"); |
| | | |
| | | $("#text-param").val(null); |
| | | } |
| | | |
| | | function flushPage() { |
| | | layer.confirm('ç¡®å®è¦å·æ°é¡µé¢åï¼', {icon: 3, title: 'æç¤º'}, function (index) { |
| | | resetForm(); |
| | | layer.close(index); |
| | | }); |
| | | } |
| | | |
| | | |
| | | //çå¬è¡¨åéçæ°å¼åå |
| | | document.getElementById('intelCard').addEventListener('input', function (event) { |
| | | var intelCard = $("#intelCard").val(); |
| | | if (intelCard.length == 10) { |
| | | flushData(intelCard, null); |
| | | } |
| | | }); |
| | | |
| | | // --æ¥è¯¢æ¹æ³,è·å身份è¯å·ãå¡å·ã车çå·ï¼è¿è¡æ¥è¯¢ |
| | | function flushData(intelCard, userIdCard) { |
| | | var index = layer.load(); |
| | | var userIdCard = userIdCard; |
| | | var intelCard = intelCard; |
| | | var plateNum = $("#plateNum").val(); |
| | | var param = { |
| | | type: type, |
| | | progress: progress, |
| | | intelCard: intelCard, |
| | | userId: userIdCard, |
| | | plateNum: plateNum |
| | | }; |
| | | $.ajax({ |
| | | type: "POST", |
| | | url: "../../basic/inout/inout-query", |
| | | dataType: "json", |
| | | contentType: "application/json;charset=UTF-8", |
| | | data: JSON.stringify(param), |
| | | success: function (result) { |
| | | layer.close(index); |
| | | if (result.code != "0000") { |
| | | notifyProgress(result.msg, result.data); |
| | | } else { |
| | | recordData = result.data; |
| | | // è¿åçæ°æ®è¿è¡èµå¼ |
| | | form.val("form-data", recordData); |
| | | form.render(); |
| | | |
| | | updateEditAndProgress(); |
| | | } |
| | | }, |
| | | error: function () { |
| | | layer.close(index); |
| | | alertError("æ¥è¯¢å¤±è´¥ï¼è¯·éæ°å°è¯"); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * æ ¹æ®ä¸å¡æ°æ®æ´æ°é¡µé¢ä¸çç¶æ |
| | | */ |
| | | function updateEditAndProgress() { |
| | | if (recordData) { |
| | | if (InoutProgress.WEIGHT_EMPTY == recordData.progress) { |
| | | $("#emptyWeight").removeClass("rkbk-search-input"); |
| | | $("#emptyWeight").attr("disabled", false); |
| | | |
| | | $("#progress-hand").addClass("active"); |
| | | $("#progress-emptyWeight").addClass("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").removeClass("active"); |
| | | $("#progress-emptyWeight").removeClass("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-emptyWeight").removeClass("active"); |
| | | } |
| | | //æ ¹æ®é
置信æ¯è®¾ç½®å°ç£
æ¯å¦å¯ç¼è¾ |
| | | if (weightEditTag && weightEditTag == 'N') { |
| | | $("#fullWeight").addClass("rkbk-search-input"); |
| | | $("#fullWeight").attr("disabled", true); |
| | | |
| | | $("#emptyWeight").addClass("rkbk-search-input"); |
| | | $("#emptyWeight").attr("disabled", true); |
| | | } |
| | | } |
| | | |
| | | // å½å宿 |
| | | function submit() { |
| | | if (!recordData) { |
| | | alertError("没æä¸å¡æ°æ®ä¿¡æ¯ï¼æ§è¡è¢«æç»"); |
| | | return; |
| | | } |
| | | var data = form.val("form-data"); |
| | | |
| | | if (!data.depotId) { |
| | | alertError("æç¤ºï¼è£
å¸ä»åºå¿
å¡«"); |
| | | return; |
| | | } |
| | | if (!data.customerName) { |
| | | alertError("æç¤ºï¼å®¢æ·åç§°å¿
å¡«"); |
| | | return; |
| | | } |
| | | |
| | | // æ ¡éª-å
¥åºæ»¡è½¦ç§°é |
| | | if (InoutProgress.WEIGHT_FULL == recordData.progress) { |
| | | if (data.fullWeight <= 0.0) { |
| | | alertError("æç¤ºï¼æ»¡è½¦ç§°éä¿¡æ¯å¿
å¡«"); |
| | | return; |
| | | } |
| | | } |
| | | if (InoutProgress.WEIGHT_EMPTY == recordData.progress) { |
| | | if (data.emptyWeight <= 0.0) { |
| | | alertError("æç¤ºï¼ç©ºè½¦ç§°éä¿¡æ¯å¿
å¡«"); |
| | | return; |
| | | } |
| | | if (!data.foodVariety) { |
| | | alertError("æç¤ºï¼ç²®é£åç§å¿
å¡«"); |
| | | return; |
| | | } |
| | | |
| | | if (!data.settleWeight || data.settleWeight <= 0.0) { |
| | | alertError("ç»ç®ééä¸åè§ï¼è¯·æ ¸å¯¹"); |
| | | return; |
| | | } |
| | | if (!data.recordWeight || data.recordWeight <= 0.0) { |
| | | alertError("å
¥åºééä¸åè§ï¼è¯·æ ¸å¯¹"); |
| | | return; |
| | | } |
| | | } |
| | | //åå¹¶æ°æ® |
| | | Object.assign(recordData, data); |
| | | // è·åç
§ç |
| | | var files = [{ |
| | | fileName: snapData.fileName1 |
| | | }, { |
| | | fileName: snapData.fileName2 |
| | | }, { |
| | | fileName: snapData.fileName3 |
| | | }, { |
| | | fileName: snapData.fileName4 |
| | | }]; |
| | | recordData.files = files; |
| | | var index = layer.load(); |
| | | $.ajax({ |
| | | type: "POST", |
| | | url: "../../basic/inout/submit-weight", |
| | | dataType: "json", |
| | | contentType: "application/json;charset=UTF-8", |
| | | data: JSON.stringify(recordData), |
| | | success: function (result) { |
| | | if (result.code != "0000") { |
| | | alertError(result.msg); |
| | | } else { |
| | | notify("æ°æ®æäº¤æå", result.data); |
| | | if (InoutProgress.WEIGHT_FULL == recordData.progress) { |
| | | resetForm(); |
| | | } |
| | | } |
| | | layer.close(index); |
| | | }, |
| | | error: function () { |
| | | layer.close(index); |
| | | alertError("æäº¤å¤±è´¥ï¼è¯·éæ°å°è¯"); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | //æ¾ç¤ºè´¨æ£ä¿¡æ¯ |
| | | function showCheck() { |
| | | if (!recordData) { |
| | | alertError("没æä¸å¡æ°æ®ä¿¡æ¯ï¼æ§è¡è¢«æç»"); |
| | | return; |
| | | } |
| | | // è·ååéªé¡¹ä¿¡æ¯ |
| | | flushCheckItem(); |
| | | layer.open({ |
| | | type: 1, |
| | | title: "è´¨æ£è¯¦ç»", |
| | | offset: ['120px', '100px'], |
| | | area: ['1000px', '520px'], |
| | | shade: 0, |
| | | content: $('#checkDetail'), |
| | | btnAlign: 'c', |
| | | btn: ['åæ¶'], |
| | | yes: function () { |
| | | layer.closeAll(); |
| | | }, |
| | | closeBtn: 0 |
| | | }); |
| | | } |
| | | |
| | | /** |
| | | * å·æ°åéªç»æé¡¹ |
| | | */ |
| | | function flushCheckItem() { |
| | | curCheckItems = null; |
| | | $.ajax({ |
| | | type: "POST", |
| | | url: "../../basic/inout/get-check-item", |
| | | dataType: "json", |
| | | contentType: "application/json;charset=UTF-8", |
| | | data: JSON.stringify(recordData), |
| | | success: function (result) { |
| | | if (result.code != "0000") { |
| | | layer.msg(result.msg); |
| | | } else { |
| | | curCheckItems = result.data; |
| | | |
| | | // 页颿¸²ææ£æµé¡¹ |
| | | renderTableCheckItem(); |
| | | } |
| | | }, |
| | | error: function () { |
| | | layer.msg("åå°å¼å¸¸ï¼è¯·éè¯æè
è系管çåï¼ï¼"); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | /** |
| | | * å¼¹åºæéæ¡ |
| | | * @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 renderTableCheckItem() { |
| | | // æ¸
ç©ºæ°æ® |
| | | $("#tableCheckItem").empty(); |
| | | table.render({ |
| | | elem: '#tableCheckItem', |
| | | data: curCheckItems, |
| | | page: false, |
| | | even: true, |
| | | cols: [[{ |
| | | field: 'standardName', |
| | | title: 'æ£éªé¡¹ç®', |
| | | align: 'center', |
| | | width: '13%' |
| | | }, { |
| | | field: 'value', |
| | | title: 'æ£éªå¼', |
| | | align: 'center', |
| | | width: '9%' |
| | | }, { |
| | | field: 'operaSymbolValue', |
| | | title: 'æ åå¼', |
| | | align: 'center', |
| | | width: '10%' |
| | | }, { |
| | | field: 'unit', |
| | | title: 'åä½', |
| | | align: 'center', |
| | | width: '10%' |
| | | }, { |
| | | field: 'deNum', |
| | | title: 'æ£é', |
| | | align: 'center', |
| | | width: '9%' |
| | | }, { |
| | | field: 'addNum', |
| | | title: 'å¢é', |
| | | align: 'center', |
| | | width: '9%' |
| | | }, { |
| | | field: 'dePrice', |
| | | title: 'æ£ä»·', |
| | | align: 'center', |
| | | width: '9%' |
| | | }, { |
| | | field: 'addPrice', |
| | | title: 'å¢ä»·', |
| | | align: 'center', |
| | | width: '9%' |
| | | }, { |
| | | field: 'result', |
| | | title: 'æ£éªç»æ', |
| | | align: 'center', |
| | | width: '10%', |
| | | templet: function (item) { |
| | | if (item.result == null) { |
| | | return ""; |
| | | } |
| | | if (item.result == '0') { |
| | | return "ä¸åæ ¼"; |
| | | } |
| | | if (item.result == '1') { |
| | | return "åæ ¼"; |
| | | } |
| | | } |
| | | }, { |
| | | field: 'remarks', |
| | | title: '夿³¨è¯´æ', |
| | | align: 'center' |
| | | }]] |
| | | }); |
| | | |
| | | $("thead tr").css({ |
| | | "border-bottom": "2px solid #53adce", |
| | | "background": "#eff4f6" |
| | | }); |
| | | } |
| | | |
| | | function renderTableProgressData(list) { |
| | | // æ¸
ç©ºæ°æ® |
| | | $("#tableListProgressData").empty(); |
| | | layer.open({ |
| | | type: 1, |
| | | title: "éæ©æµç¨ä¸è½¦è¾", |
| | | offset: ['120px', '100px'], |
| | | area: ['1000px', '520px'], |
| | | shade: 0, |
| | | content: $('#listProgressData'), |
| | | closeBtn: 1 |
| | | }); |
| | | table.render({ |
| | | elem: '#tableListProgressData', |
| | | data: list, |
| | | page: true, |
| | | even: true, |
| | | cols: [[ |
| | | {type: 'numbers'}, { |
| | | field: 'id', |
| | | title: 'åæ®å·', |
| | | align: 'center' |
| | | }, { |
| | | field: 'userName', |
| | | title: 'æ¿è¿äºº', |
| | | align: 'center' |
| | | }, { |
| | | field: 'plateNum', |
| | | title: '车çå·', |
| | | align: 'center' |
| | | }, {fixed: 'right', title: 'éæ©æä½', align: 'center', toolbar: '#barSelectProgress'}]] |
| | | }); |
| | | $("thead tr").css({ |
| | | "border-bottom": "2px solid #53adce", |
| | | "background": "#eff4f6" |
| | | }); |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | @charset "utf-8"; |
| | | |
| | | /*----------------- |
| | | Author:xq |
| | | update:2020 |
| | | -------------------*/ |
| | | @font-face { |
| | | font-family: DINCond-Bold; |
| | | src: url('../fonts/DINCond-Bold.otf'); |
| | | } |
| | | |
| | | @font-face { |
| | | font-family: DigitalNumbers; |
| | | src: url(../fonts/DigitalNumbers.ttf); |
| | | } |
| | | |
| | | body { |
| | | font-family: "微软é
é»", Arial, sans-serif; |
| | | font-size: 14px; |
| | | background: #f3f5f8; |
| | | } |
| | | |
| | | i, em { |
| | | font-style: normal; |
| | | } |
| | | |
| | | |
| | | .radius-3, |
| | | .layui-btn, |
| | | .layui-input { |
| | | -webkit-border-radius: 3px; |
| | | -moz-border-radius: 3px; |
| | | -ms-border-radius: 3px; |
| | | -o-border-radius: 3px; |
| | | border-radius: 3px; |
| | | border-color: #bfbfbf !important; |
| | | } |
| | | |
| | | .radius-6, |
| | | .rk-step li:before { |
| | | -webkit-border-radius: 6px; |
| | | -moz-border-radius: 6px; |
| | | -ms-border-radius: 6px; |
| | | -o-border-radius: 6px; |
| | | border-radius: 6px; |
| | | } |
| | | |
| | | .rkbk-tit > i, |
| | | .rkbk-tit > i:before, |
| | | .rk-step-span, |
| | | .ckdj-radiobox .layui-form-radio:after { |
| | | -webkit-border-radius: 50%; |
| | | -moz-border-radius: 50%; |
| | | -ms-border-radius: 50%; |
| | | -o-border-radius: 50%; |
| | | border-radius: 50%; |
| | | } |
| | | |
| | | |
| | | .box-shadow { |
| | | -webkit-box-shadow: 0px 0px 9px 3px rgba(230, 230, 230, 0.6); |
| | | -moz-box-shadow: 0px 0px 9px 3px rgba(230, 230, 230, 0.6); |
| | | box-shadow: 0px 0px 9px 3px rgba(230, 230, 230, 0.6); |
| | | } |
| | | |
| | | .fl { |
| | | float: left; |
| | | } |
| | | |
| | | .fr { |
| | | float: right; |
| | | } |
| | | |
| | | input::-webkit-input-placeholder { |
| | | color: #b3babf |
| | | } |
| | | |
| | | input::-moz-placeholder { |
| | | /* Mozilla Firefox 19+ */ |
| | | color: #b3babf; |
| | | } |
| | | |
| | | input:-moz-placeholder { |
| | | /* Mozilla Firefox 4 to 18 */ |
| | | color: #b3babf; |
| | | } |
| | | |
| | | input:-ms-input-placeholder { |
| | | /* Internet Explorer 10-11 */ |
| | | color: #b3babf; |
| | | } |
| | | |
| | | /*rk-bk*/ |
| | | |
| | | |
| | | .l-container { |
| | | width: 100%; |
| | | /*max-width: 1680px;*/ |
| | | min-width: 1340px; |
| | | margin-left: auto; |
| | | margin-right: auto; |
| | | } |
| | | |
| | | .rk-main { |
| | | margin: 0 20px; |
| | | position: relative; |
| | | } |
| | | |
| | | .rkbk-quick { |
| | | height: 34px; |
| | | width: 100%; |
| | | margin: 30px 0; |
| | | } |
| | | |
| | | .rkbk-quick-btn { |
| | | height: 34px; |
| | | /*width: 150px;*/ |
| | | min-width: 100px; |
| | | display: inline-block; |
| | | line-height: 34px; |
| | | font-size: 16px; |
| | | } |
| | | |
| | | .layui-btn { |
| | | background-color: #2ab5ad; |
| | | } |
| | | |
| | | .layui-btn i { |
| | | display: inline-block; |
| | | width: 24px; |
| | | height: 24px; |
| | | position: relative; |
| | | top: -2px; |
| | | } |
| | | |
| | | .layui-btn i img { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | |
| | | .rkbk-searchBox { |
| | | padding: 20px 40px; |
| | | background: #fff; |
| | | } |
| | | |
| | | .rkbk-search-item { |
| | | height: 34px; |
| | | width: 28%; |
| | | margin-right: 8%; |
| | | position: relative; |
| | | } |
| | | |
| | | .rkbk-search-item.mr-0 { |
| | | margin-right: 0; |
| | | } |
| | | |
| | | .rkbk-search-tit, |
| | | .rkbk-search-btn { |
| | | width: 80px; |
| | | height: 34px; |
| | | line-height: 34px; |
| | | font-size: 16px; |
| | | position: absolute; |
| | | top: 0; |
| | | z-index: 3; |
| | | } |
| | | |
| | | .rkbk-search-tit { |
| | | left: 0; |
| | | color: #324251; |
| | | text-align: right; |
| | | } |
| | | |
| | | .rkbk-search-btn { |
| | | right: 0; |
| | | } |
| | | |
| | | .rkbk-search-inputbox { |
| | | margin: 0 90px; |
| | | } |
| | | |
| | | .rkbk-search-input { |
| | | /* height: 34px; */ |
| | | line-height: 34px; |
| | | padding-right: 10px; |
| | | font-size: 16px; |
| | | /*color: #666;*/ |
| | | color: #000; |
| | | background: #eff4f6; |
| | | border-color: #eff4f6; |
| | | } |
| | | |
| | | .layui-btn-normal { |
| | | background: #53adce; |
| | | } |
| | | |
| | | .rkbk-con { |
| | | width: 100%; |
| | | overflow: hidden; |
| | | margin-top: 15px; |
| | | } |
| | | |
| | | .rkbk-left-wrap { |
| | | width: 52%; |
| | | } |
| | | |
| | | .rkbk-right-wrap { |
| | | width: 46%; |
| | | } |
| | | |
| | | .rkbk-left-wrap, |
| | | .rkbk-right-wrap { |
| | | /*background: #dee6ec;*/ |
| | | background: #dee6ec; |
| | | min-height: 560px; |
| | | } |
| | | |
| | | .rkbk-left { |
| | | padding: 0 40px 0 20px; |
| | | } |
| | | |
| | | .rkbk-tit { |
| | | height: 30px; |
| | | line-height: 30px; |
| | | position: relative; |
| | | overflow: hidden; |
| | | margin-top: 10px; |
| | | } |
| | | |
| | | .rkbk-tit h3 { |
| | | color: #324251; |
| | | font-size: 18px; |
| | | font-weight: bold; |
| | | } |
| | | |
| | | .rkbk-tit > i { |
| | | width: 14px; |
| | | height: 14px; |
| | | display: inline-block; |
| | | background: #53adce; |
| | | position: relative; |
| | | float: left; |
| | | margin: 8px 10px 0 0; |
| | | } |
| | | |
| | | .rkbk-tit > i:before { |
| | | display: block; |
| | | content: ''; |
| | | width: 6px; |
| | | height: 6px; |
| | | background: #fff; |
| | | position: absolute; |
| | | left: 50%; |
| | | top: 50%; |
| | | margin-left: -3px; |
| | | margin-top: -3px; |
| | | z-index: 3; |
| | | } |
| | | |
| | | |
| | | .rkbk-form-box1 { |
| | | height: 304px; |
| | | position: relative; |
| | | padding-right: 315px; |
| | | } |
| | | |
| | | .rkbk-photo { |
| | | position: absolute; |
| | | width: 270px; |
| | | height: 304px; |
| | | z-index: 9; |
| | | right: 0; |
| | | top: 0; |
| | | } |
| | | |
| | | .rkbk-photo img { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | |
| | | .rkbk-left-form .layui-form-label, |
| | | .qyzj-con-top .layui-form-label { |
| | | color: #324251; |
| | | font-size: 16px; |
| | | padding: 7px 15px; |
| | | } |
| | | |
| | | |
| | | .rkbk-search-input.bg-date { |
| | | background: #eff4f6 url(../img/web/inout/icon-date.png) 98% center no-repeat; |
| | | } |
| | | |
| | | |
| | | .rkbk-left-form .layui-form-item { |
| | | margin-bottom: 20px; |
| | | } |
| | | |
| | | .rkbk-selBox .layui-form-select .layui-input { |
| | | height: 34px; |
| | | font-size: 16px; |
| | | line-height: 34px; |
| | | /*background: #eff4f6;*/ |
| | | background: #FFFFFF; |
| | | border-color: #eff4f6; |
| | | } |
| | | |
| | | .rkbk-selBox .layui-form-select dl { |
| | | top: 36px; |
| | | } |
| | | |
| | | .rkbk-left-form .layui-input-block { |
| | | min-height: 34px; |
| | | } |
| | | |
| | | .rkbk-form-box2, |
| | | .rkbk-left-form { |
| | | margin-top: 20px; |
| | | width: 100%; |
| | | } |
| | | |
| | | .rkbk-right-form .layui-input-block { |
| | | margin-right: 150px; |
| | | } |
| | | |
| | | .rkbk-r-btn { |
| | | width: 130px; |
| | | height: 34px; |
| | | line-height: 34px; |
| | | font-size: 16px; |
| | | } |
| | | |
| | | .rk-step-wrap { |
| | | padding: 8px 0 8px; |
| | | border-bottom: 1px solid #d1d7de; |
| | | text-align: center; |
| | | } |
| | | |
| | | .rk-step { |
| | | height: 60px; |
| | | margin: 0 auto; |
| | | text-align: center; |
| | | overflow: hidden; |
| | | } |
| | | |
| | | .rk-step li { |
| | | width: 60px; |
| | | height: 40px; |
| | | display: inline-block; |
| | | margin: 0 25px; |
| | | position: relative; |
| | | } |
| | | |
| | | .rk-step-span { |
| | | display: inline-block; |
| | | width: 40px; |
| | | height: 40px; |
| | | line-height: 40px; |
| | | background: #c9d0d7; |
| | | } |
| | | |
| | | .rk-step-span img { |
| | | width: 30px; |
| | | height: 30px; |
| | | } |
| | | |
| | | .rk-step li p { |
| | | line-height: 16px; |
| | | font-size: 14px; |
| | | color: #000; |
| | | height: 16px; |
| | | overflow: hidden; |
| | | margin: 5px 0 0; |
| | | font-weight: bold; |
| | | } |
| | | |
| | | .rk-step li:before { |
| | | display: block; |
| | | content: ''; |
| | | width: 60px; |
| | | height: 6px; |
| | | background: #dee2e7; |
| | | position: absolute; |
| | | left: -57px; |
| | | z-index: 3; |
| | | top: 20px; |
| | | } |
| | | |
| | | .rk-step li.rk-step-first:before { |
| | | display: none; |
| | | } |
| | | |
| | | .rk-step li.active .rk-step-span { |
| | | background: #53adce; |
| | | } |
| | | |
| | | .rk-step li.active:before { |
| | | background: #a3d1e3; |
| | | } |
| | | |
| | | .btn-green { |
| | | background-color: #8bc16a; |
| | | } |
| | | |
| | | .btn-violet { |
| | | background-color: #7494d1; |
| | | } |
| | | |
| | | .btn-red { |
| | | background-color: #e37878; |
| | | } |
| | | |
| | | .btn-blue { |
| | | background-color: #53adce; |
| | | } |
| | | |
| | | .layui-btn-primary { |
| | | font-size: 16px; |
| | | color: #324251; |
| | | background: none; |
| | | border-color: #9fabb6; |
| | | } |
| | | |
| | | .layui-btn.btn-sm { |
| | | width: 130px; |
| | | } |
| | | |
| | | |
| | | /*rk-ckdj*/ |
| | | .layui-text-center { |
| | | text-align: center; |
| | | } |
| | | |
| | | .ckdj-radiobox .layui-form-item { |
| | | margin-bottom: 0; |
| | | margin-top: 20px; |
| | | } |
| | | |
| | | .ckdj-radiobox .layui-form-label { |
| | | /*padding-left: 0;*/ |
| | | /*padding-right: 0;*/ |
| | | /*!*width: 100px;*!*/ |
| | | /*text-align: left;*/ |
| | | } |
| | | |
| | | .ckdj-radiobox .layui-form-label, |
| | | .ckdj-radiobox .layui-form-radio > div { |
| | | color: #324251; |
| | | font-size: 16px; |
| | | } |
| | | |
| | | .ckdj-radiobox .layui-form-radio { |
| | | position: relative; |
| | | } |
| | | |
| | | .ckdj-radiobox .layui-form-radio > i { |
| | | position: relative; |
| | | z-index: 9; |
| | | } |
| | | |
| | | .ckdj-radiobox .layui-form-radio:after { |
| | | background: #fff; |
| | | width: 20px; |
| | | height: 20px; |
| | | overflow: hidden; |
| | | display: block; |
| | | content: ''; |
| | | position: absolute; |
| | | left: 1px; |
| | | top: 4px; |
| | | z-index: 1; |
| | | } |
| | | |
| | | .ckdj-radiobox .layui-form-radio > i:hover, |
| | | .ckdj-radiobox .layui-form-radioed > i { |
| | | color: #5bb1d0; |
| | | } |
| | | |
| | | .jiange-bowen img { |
| | | width: 100%; |
| | | } |
| | | |
| | | .mb-20 { |
| | | margin-bottom: 20px; |
| | | } |
| | | |
| | | .pl-20 { |
| | | padding-left: 20px; |
| | | } |
| | | |
| | | .mr-30 { |
| | | margin-right: 30px; |
| | | } |
| | | |
| | | /*rk-qyzj*/ |
| | | |
| | | .qyzj-btnbox { |
| | | margin-top: 20px; |
| | | width: 100%; |
| | | } |
| | | |
| | | .btn-34 { |
| | | height: 34px; |
| | | line-height: 34px; |
| | | } |
| | | |
| | | .qyzj-btnbox .layui-btn { |
| | | margin-bottom: 0; |
| | | } |
| | | |
| | | .qyzj-btn-sm { |
| | | padding: 0 11px; |
| | | } |
| | | |
| | | .qyzj-btnbox .rkbk-quick { |
| | | margin: 0; |
| | | width: auto; |
| | | } |
| | | |
| | | .qyzj-con { |
| | | padding: 20px; |
| | | background: #fff; |
| | | margin-top: 20px; |
| | | } |
| | | |
| | | .qyzj-con-top .layui-input-block { |
| | | min-height: 34px; |
| | | } |
| | | |
| | | .qyzj-top-btn { |
| | | /*width: 80px;*/ |
| | | height: 34px; |
| | | line-height: 34px; |
| | | font-size: 16px; |
| | | } |
| | | |
| | | .layui-text-right { |
| | | text-align: right; |
| | | } |
| | | |
| | | .qyzj-tabBox { |
| | | margin-top: 15px; |
| | | overflow: hidden; |
| | | width: 100%; |
| | | } |
| | | |
| | | .qyzj-tabBox td, |
| | | .qyzj-tabBox th { |
| | | text-align: center; |
| | | color: #283a48; |
| | | } |
| | | |
| | | .qyzj-tabBox .qyzj-table-tit { |
| | | border-bottom: 1px solid #53adce; |
| | | background: #eff4f6; |
| | | } |
| | | |
| | | .qyzj-tabBox tbody tr:nth-child(2n) { |
| | | background: #f6f8f9; |
| | | } |
| | | |
| | | .qyzj-page-wrap { |
| | | margin-top: 20px; |
| | | width: 100%; |
| | | } |
| | | |
| | | .page-box1 { |
| | | color: #48536e; |
| | | } |
| | | |
| | | .page-box1 a, |
| | | .page-input { |
| | | display: inline-block; |
| | | width: 26px; |
| | | height: 26px; |
| | | text-align: center; |
| | | line-height: 26px; |
| | | border: 1px solid #bcc4cc; |
| | | font-size: 14px; |
| | | color: #9fabb6; |
| | | font-family: "arial"; |
| | | } |
| | | |
| | | .page-box1 a:hover, |
| | | .page-box1 a.active { |
| | | border-color: #53adce; |
| | | color: #fff; |
| | | background: #53adce; |
| | | } |
| | | |
| | | .page-box1 a:last-child, |
| | | .page-box1 a:first-child { |
| | | font-family: "å®ä½"; |
| | | font-weight: bold; |
| | | } |
| | | |
| | | .page-box2, |
| | | .page-box3 { |
| | | margin-left: 30px; |
| | | } |
| | | |
| | | .page-box2 select { |
| | | border: 1px solid #bcc4cc; |
| | | color: #9fabb6; |
| | | width: 94px; |
| | | font-size: 14px; |
| | | height: 28px; |
| | | } |
| | | |
| | | .page-box3 { |
| | | line-height: 28px; |
| | | font-size: 14px; |
| | | color: #9fabb6; |
| | | } |
| | | |
| | | .page-input { |
| | | font-family: "微软é
é»"; |
| | | margin: 0 10px; |
| | | } |
| | | |
| | | |
| | | /*rk-kccz*/ |
| | | |
| | | .kccz-con { |
| | | width: 100%; |
| | | overflow: hidden; |
| | | margin: 20px 0; |
| | | } |
| | | |
| | | .kccz-left { |
| | | width: 73%; |
| | | } |
| | | |
| | | .kccz-right { |
| | | width: 26%; |
| | | } |
| | | |
| | | .kccz-left, |
| | | .kccz-right { |
| | | min-height: 560px; |
| | | } |
| | | |
| | | .kccz-left-box1 { |
| | | /*background: #fff;*/ |
| | | background:#dee6ec; |
| | | padding: 1px 20px 20px 20px; |
| | | } |
| | | |
| | | .kccz-czxx-wrap { |
| | | padding-left: 24px; |
| | | /*margin-top: 20px;*/ |
| | | } |
| | | |
| | | .kccz-czxx-left .layui-form-item { |
| | | margin-bottom: 0; |
| | | } |
| | | |
| | | .kccz-czxx-left .layui-form-label { |
| | | color: #324251; |
| | | font-size: 16px; |
| | | padding: 7px 0; |
| | | text-align: left; |
| | | } |
| | | |
| | | .kccz-czxx-left .layui-input-block { |
| | | margin-left: 80px; |
| | | min-height: 34px; |
| | | } |
| | | |
| | | |
| | | .kccz-czxx-dl { |
| | | line-height: 24px; |
| | | overflow: hidden; |
| | | } |
| | | |
| | | .kccz-czxx-dl dt, |
| | | .kccz-czxx-dl dd { |
| | | float: left; |
| | | line-height: 24px; |
| | | } |
| | | |
| | | .kccz-czxx-dl dt { |
| | | width: 80px; |
| | | height: 24px; |
| | | color: #000; |
| | | font-size: 18px; |
| | | } |
| | | |
| | | .kccz-czxx-dl dt i { |
| | | width: 24px; |
| | | height: 24px; |
| | | display: inline-block; |
| | | margin-right: 5px; |
| | | } |
| | | |
| | | .kccz-czxx-dl dt i img { |
| | | width: 100%; |
| | | height: 100%; |
| | | vertical-align: top; |
| | | } |
| | | |
| | | .kccz-czxx-dl dd { |
| | | color: #9fabb6; |
| | | font-size: 14px; |
| | | margin-left: 30px; |
| | | } |
| | | |
| | | .kccz-czxx-num { |
| | | height: 90px; |
| | | background: url(../img/web/inout/czxx-bg_03.png) center repeat-x; |
| | | text-align: center; |
| | | line-height: 90px; |
| | | margin-top: 15px; |
| | | color: #ff0000; |
| | | } |
| | | |
| | | .kccz-czxx-num span { |
| | | font-size: 70px; |
| | | font-family: "DigitalNumbers"; |
| | | } |
| | | |
| | | .kccz-czxx-num em { |
| | | font-size: 50px; |
| | | margin-left: 10px; |
| | | font-family: "DINCond-Bold"; |
| | | } |
| | | |
| | | .kccz-r-item { |
| | | height: 220px; |
| | | background: #fff; |
| | | overflow: hidden; |
| | | } |
| | | |
| | | .kccz-r-box { |
| | | padding: 0 10px; |
| | | } |
| | | |
| | | .kccz-r-box .rkbk-tit { |
| | | margin: 5px 0; |
| | | } |
| | | |
| | | .kccz-r-con { |
| | | height: 170px; |
| | | position: relative; |
| | | } |
| | | |
| | | .kccz-r-vedio { |
| | | width: 100%; |
| | | height: 170px; |
| | | background: #dee6ec; |
| | | } |
| | | |
| | | .kccz-r-vedio img, |
| | | .kccz-r-vedio video { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | |
| | | |
| | | .kccz-r-btnbox { |
| | | width: 110px; |
| | | position: absolute; |
| | | right: 0; |
| | | top: 0; |
| | | z-index: 99; |
| | | } |
| | | |
| | | .kccz-r-btn { |
| | | display: block; |
| | | width: 110px; |
| | | height: 78px; |
| | | border: 1px solid #e7eaed; |
| | | text-align: center; |
| | | } |
| | | |
| | | .kccz-r-div{ |
| | | display: block; |
| | | height: 78px; |
| | | border: 1px solid #e7eaed; |
| | | background: #53adce; |
| | | text-align: center; |
| | | } |
| | | |
| | | .kccz-r-div span{ |
| | | display: inline-block; |
| | | width: 100px; |
| | | margin: 10px 0 0px; |
| | | height: 40px; |
| | | font-size: 18px; |
| | | font-weight: bold; |
| | | color: #FFF; |
| | | } |
| | | |
| | | .kccz-r-div p { |
| | | color: #fff; |
| | | } |
| | | |
| | | .kccz-r-btn span { |
| | | display: inline-block; |
| | | width: 30px; |
| | | height: 30px; |
| | | margin: 13px 0 0px; |
| | | } |
| | | |
| | | |
| | | .kccz-r-btn p { |
| | | color: #324251; |
| | | font-size: 14px; |
| | | } |
| | | |
| | | .kccz-r-pz { |
| | | background: url(../img/web/inout/icon-camera.png) no-repeat; |
| | | } |
| | | |
| | | .kccz-r-cp { |
| | | background: url(../img/web/inout/icon-camera-cp.png) no-repeat; |
| | | } |
| | | |
| | | .kccz-r-img { |
| | | background: url(../img/web/inout/icon-img.png) no-repeat; |
| | | } |
| | | |
| | | .kccz-r-img-red { |
| | | background: url(../img/web/inout/icon-img-red.png) no-repeat !important; |
| | | } |
| | | |
| | | .kccz-r-btn:hover, |
| | | .kccz-r-btn.active { |
| | | border-color: #53adce; |
| | | } |
| | | |
| | | .kccz-r-btn1:hover, |
| | | .kccz-r-btn1.active { |
| | | background: #53adce; |
| | | } |
| | | |
| | | |
| | | .kccz-r-btn1:hover .kccz-r-pz, |
| | | .kccz-r-btn1.active .kccz-r-pz { |
| | | background: url(../img/web/inout/icon-camera-h.png) no-repeat; |
| | | } |
| | | |
| | | .kccz-r-btn1:hover p, |
| | | .kccz-r-btn1.active p { |
| | | color: #fff; |
| | | } |
| | | |
| | | .mt-10 { |
| | | margin-top: 10px; |
| | | } |
| | | |
| | | .mt-20 { |
| | | margin-top: 20px; |
| | | } |
| | | |
| | | .kccz-left-box2 { |
| | | height: 680px; |
| | | padding: 1px 20px 0 20px; |
| | | /*background: #fff;*/ |
| | | background: #dee6ec; |
| | | } |
| | | |
| | | .kccz-data-form { |
| | | width: 100%; |
| | | margin-top: 20px; |
| | | } |
| | | |
| | | .kccz-data-form .layui-form-label { |
| | | color: #324251; |
| | | font-size: 16px; |
| | | padding: 7px 15px; |
| | | font-weight: 600; |
| | | } |
| | | |
| | | .kccz-data-form .layui-input-block { |
| | | min-height: 34px; |
| | | } |
| | | |
| | | .kccz-data-group-sm .layui-input-block { |
| | | position: relative; |
| | | padding-right: 90px; |
| | | } |
| | | |
| | | .kccz-data-btnbox .rkbk-search-btn { |
| | | position: relative; |
| | | margin-left: 10px; |
| | | } |
| | | |
| | | .kccz-data-group-md .layui-input-block { |
| | | padding-right: 30%; |
| | | position: relative; |
| | | } |
| | | |
| | | .kccz-data-bfb { |
| | | width: 27%; |
| | | z-index: 3; |
| | | |
| | | } |
| | | |
| | | .kccz-data-dw { |
| | | position: absolute; |
| | | right: 5px; |
| | | top: 1px; |
| | | z-index: 9; |
| | | line-height: 34px; |
| | | color: #324251; |
| | | font-size: 16px; |
| | | display: block; |
| | | height: 32px; |
| | | background: #eff4f6; |
| | | text-align: center; |
| | | } |
| | | |
| | | .posi-r { |
| | | position: relative; |
| | | } |
| | | |
| | | .bg-fff { |
| | | background: #fff; |
| | | } |
| | | |
| | | |
| | | .bg-ef { |
| | | background: #efefef; |
| | | } |
| | | |
| | | @media all and (max-width: 1650px) { |
| | | .layui-input { |
| | | padding-left: 5px; |
| | | font-size: 14px; |
| | | } |
| | | |
| | | } |
| | | |
| | | .layui-layer-title{ |
| | | font-weight: bold; |
| | | } |
| | | |
| | | .line-container { |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | } |
| | | .line { |
| | | flex: 1; |
| | | height: 1px; |
| | | background-color: #0e9aef; |
| | | } |
| | | .line-text { |
| | | padding: 0 10px; |
| | | color: #0e9aef; |
| | | } |
| | | |
| | | .layui-layer-title{ |
| | | color: #FFF !important; |
| | | background-color: #0e9aef !important; |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | //ç§°é-å
æ¬ç©ºè½¦å满车称é |
| | | var layer; |
| | | var form; |
| | | var table; |
| | | var recordData = null;// ä¸å¡æ°æ®ä¿¡æ¯ |
| | | var snapData;//ç³»ç»ææå¯¹è±¡ä¿¡æ¯ |
| | | var timerWeight; |
| | | var paramIntelCard;//设å¤è¯å«ç»æ |
| | | var paramIdCard;//设å¤è¯å«ç»æ |
| | | var curCheckItems = null;// å½åæ°æ®çæ£æ¥é¡¹ä¿¡æ¯ |
| | | var step = 1; |
| | | |
| | | $(function () { |
| | | layui.use(['layer', 'laydate', 'form', 'table', 'util'], function () { |
| | | var util = layui.util; |
| | | layer = layui.layer; |
| | | form = layui.form; |
| | | table = layui.table; |
| | | layui.laydate.render({ |
| | | elem: '#test1', |
| | | theme: '#7b8e9f' |
| | | }); |
| | | // å³ä¸è§æ·»å åºå®ä¿¡æ¯ |
| | | util.fixbar({ |
| | | bar1: true, |
| | | css: { |
| | | right: 10, |
| | | bottom: 20 |
| | | }, |
| | | bgcolor: '#53adce', |
| | | click: function (type) { |
| | | if (type === 'bar1') { |
| | | layer.closeAll(); |
| | | layer.open({ |
| | | type: 2, |
| | | title: false, |
| | | shadeClose: true, |
| | | shade: 0.3, |
| | | closeBtn: 2, |
| | | offset: ['50px', '120px'], |
| | | area: ['1000px', '640px'], |
| | | content: '../../basic/inout/inout-progress?type=' + type + "&t=" + Math.random() |
| | | }); |
| | | } |
| | | } |
| | | }); |
| | | |
| | | //çå¬éæ©æ°æ®äºä»¶ |
| | | table.on('tool(tableListProgressData)', function (obj) { |
| | | var data = obj.data; |
| | | if (obj.event === 'select') { |
| | | //æ¸
空表å |
| | | resetForm(); |
| | | flushData(data.intelCard, null); |
| | | layer.closeAll(); |
| | | } |
| | | }); |
| | | |
| | | }); |
| | | |
| | | //æ¾ç¤ºæµç¨ç¯è |
| | | showProgress(); |
| | | |
| | | // çå¬ééåå |
| | | $(".weight").blur(function () { |
| | | deAutoByIn(this.name); |
| | | }); |
| | | |
| | | // åå§åWebSocket |
| | | // initInoutWS(companyId, bizType, progress, userId); |
| | | }); |
| | | |
| | | window.onload = function () { |
| | | //èªå¨è¿æ¥å°ç£
ä¿¡æ¯ï¼2.5ç§è·å䏿¬¡å°ç£
ééä¿¡æ¯ |
| | | clearInterval(timerWeight); |
| | | timerWeight = setInterval(function () { |
| | | flushWeight(); |
| | | }, 2500); |
| | | |
| | | // å è½½è§é¢ |
| | | initVideo(snapDto1, snapDto2, snapDto3); |
| | | |
| | | //设置å°ç£
|
| | | $("#scaleName").val(weightDto.sort); |
| | | |
| | | //çå¬å°ç£
éæ© |
| | | $("#scaleName").change(function () { |
| | | layer.confirm('è°æ´å°ç£
ééæ°å 载页é¢ï¼ç¡®å®è°æ´ï¼', { |
| | | btn: ['ç¡®å®', 'åæ¶'] |
| | | }, function () { |
| | | updateWeight(); |
| | | }); |
| | | }); |
| | | }; |
| | | |
| | | // socketä¿¡æ¯è¿åèç |
| | | function socketOnMessage(packet) { |
| | | //ææ |
| | | } |
| | | |
| | | //ç¹å»ç§°é |
| | | function weight() { |
| | | // 没æä¸å¡æ°æ®ä¸å¯æ§è¡ |
| | | if (!recordData) { |
| | | alertError("æ²¡ææ¥è¯¢å°ä¸å¡æ°æ®ï¼æ§è¡è¢«æç»ï¼"); |
| | | return; |
| | | } |
| | | // 妿æ¯ç©ºè½¦ç§°é |
| | | if (InoutProgress.WEIGHT_EMPTY == recordData.progress) { |
| | | form.val("form-data", { |
| | | emptyWeight: weightDto.weight |
| | | }); |
| | | form.render(); |
| | | } |
| | | // å¦ææ¯æ»¡è½¦ç§°é |
| | | if (InoutProgress.WEIGHT_FULL == recordData.progress) { |
| | | form.val("form-data", { |
| | | fullWeight: weightDto.weight |
| | | }); |
| | | form.render(); |
| | | } |
| | | |
| | | // ç¹å»ç§°éèªå¨è°ç¨ææ |
| | | snapData = { |
| | | companyId: companyId, |
| | | deptId: deptId, |
| | | progress: recordData.progress, |
| | | bizType: type, |
| | | bizId: recordData.id, |
| | | plateNum: recordData.plateNum, |
| | | id1: snapDto1.id, |
| | | id2: snapDto2.id, |
| | | id3: snapDto3.id, |
| | | id4: snapDto2.id, |
| | | sort: $("#scaleName").val(), |
| | | weight: weightDto.weight |
| | | }; |
| | | |
| | | //å½åAJAXæå¡ä¸ºåæ¥æå¡ï¼è¿åæ°æ®å
è£
ç
§çä¿¡æ¯ |
| | | var index = layer.load(); |
| | | $.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) { |
| | | layer.close(index); |
| | | if (result.code != "0000") { |
| | | alertError(result.msg); |
| | | } else { |
| | | snapData = result.data; |
| | | } |
| | | }, |
| | | error: function () { |
| | | layer.close(index); |
| | | alertError("åå°è°ç¨æªå¾å¤±è´¥ï¼è¯·éæ°å°è¯"); |
| | | } |
| | | }); |
| | | //妿æ¯ç¬¬äºæ¬¡ç§°éï¼é»è®¤æ§è¡èªå¨è®¡ç® |
| | | if (InoutProgress.WEIGHT_EMPTY == recordData.progress) { |
| | | deAutoByIn("emptyWeight"); |
| | | } |
| | | } |
| | | |
| | | //è¯»æºæ
§å¡ |
| | | function flushICCard() { |
| | | if (!cardDto.protocol) { |
| | | flushICCard1(); |
| | | } else { |
| | | flushICCard2(); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * åè®®è¯»åæºæ
§å¡ |
| | | */ |
| | | function flushICCard2() { |
| | | var index = layer.load(); |
| | | var param = JSON.stringify(cardDto); |
| | | $.ajax({ |
| | | type: "POST", |
| | | url: "../../inout/api/get-icCard", |
| | | dataType: "json", |
| | | contentType: "application/json;charset=UTF-8", |
| | | data: param, |
| | | success: function (result) { |
| | | layer.close(index); |
| | | if (result.code != "0000") { |
| | | alertError(result.msg); |
| | | } else { |
| | | resultData = result.data; |
| | | paramIntelCard = resultData.icCardNo; |
| | | $("#text-param").text("è¯å«å¡å·ï¼" + paramIntelCard); |
| | | flushData(paramIntelCard, null); |
| | | } |
| | | }, |
| | | error: function () { |
| | | layer.close(index); |
| | | alertError("ICå¡è¯»å失败"); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | /** |
| | | * æ¬å°è¯»åæºæ
§å¡ |
| | | */ |
| | | function flushICCard1() { |
| | | var index = layer.load(); |
| | | $("#text-param").val(null); |
| | | $("#form-data")[0].reset(); |
| | | form.render(); |
| | | recordData = null; |
| | | $.ajax({ |
| | | type: "GET", |
| | | async: true, |
| | | url: "http://127.0.0.1:9111/ICCARD", |
| | | data: {}, |
| | | dataType: "json", |
| | | // jsonp: "callback", |
| | | // jsonpCallback: "jsonpCallback", |
| | | success: function (json) { |
| | | var data = json; |
| | | layer.close(index); |
| | | if (data.code === "200" || data.code == 200) { |
| | | paramIntelCard = data.no; |
| | | $("#text-param").text("è¯å«å¡å·ï¼" + paramIntelCard); |
| | | flushData(paramIntelCard, null); |
| | | } else { |
| | | alertError("è¯·éæ°è¯»å¡ï¼"); |
| | | } |
| | | }, |
| | | error: function () { |
| | | layer.close(index); |
| | | alertError("ICå¡è¯»ååºéï¼"); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // ä½¿ç¨æä»¶è·åèº«ä»½è¯ |
| | | function flushIdCard() { |
| | | var index = layer.load(); |
| | | $.ajax({ |
| | | type: "GET", |
| | | async: true, |
| | | url: "http://127.0.0.1:9111/IDCARD", |
| | | data: {}, |
| | | dataType: "json", |
| | | // jsonp: "callback", |
| | | // jsonpCallback: "jsonpCallback", |
| | | success: function (json) { |
| | | layer.close(index); |
| | | var data = json; |
| | | if (data.code === "200" || data.code == 200) { |
| | | paramIdCard = data.idNum; |
| | | $("#text-param").text("è¯å«èº«ä»½è¯ï¼" + paramIdCard); |
| | | flushData(null, paramIdCard); |
| | | } else { |
| | | alertError("没æè¯»åå°èº«ä»½è¯ä¿¡æ¯ï¼"); |
| | | return; |
| | | } |
| | | |
| | | }, |
| | | error: function () { |
| | | alertError("没æè¯»åå°èº«ä»½è¯ä¿¡æ¯ï¼"); |
| | | layer.close(index); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | function flushByHand() { |
| | | var intelCard = $("#intelCard").val(); |
| | | flushData(intelCard, null); |
| | | } |
| | | |
| | | /** |
| | | * æå¨éæ©ï¼è·åå¾
ç§°éçæ°æ®ï¼å¼¹åºéæ© |
| | | */ |
| | | function selectByHand() { |
| | | var param = { |
| | | deptId: deptId, |
| | | type: type, |
| | | timer: Math.random() |
| | | }; |
| | | $.ajax({ |
| | | type: "POST", |
| | | url: "../../basic/inout/list-only-progress", |
| | | dataType: "json", |
| | | contentType: "application/json;charset=UTF-8", |
| | | data: JSON.stringify(param), |
| | | success: function (result) { |
| | | if (result.code != "0000") { |
| | | layer.msg(result.msg); |
| | | } else { |
| | | renderTableProgressData(result.data); |
| | | } |
| | | }, |
| | | error: function () { |
| | | layer.msg("ç³»ç»è·åæ°æ®åºç°å¼å¸¸ï¼éæ°å°è¯"); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | |
| | | 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 printBill() { |
| | | if (!recordData) { |
| | | alertError("没æè·åå°ä¸å¡æ°æ®ï¼æå°è¢«æç»ï¼"); |
| | | return; |
| | | } |
| | | // ä»åå°è·å模çå¹¶æå° |
| | | var data = form.val("form-data"); |
| | | // åå¹¶æ´æ°ç¶åç¼è¾æ°æ® |
| | | Object.assign(recordData, data); |
| | | |
| | | var index = layer.load(); |
| | | $.ajax({ |
| | | type: "POST", |
| | | url: "../../basic/inout/report/bill-weight", |
| | | dataType: "json", |
| | | contentType: "application/json;charset=UTF-8", |
| | | data: JSON.stringify(recordData), |
| | | success: function (result) { |
| | | layer.close(index); |
| | | if (result.code != "0000") { |
| | | alertError(result.msg); |
| | | } else { |
| | | layer.msg("å¼å§æ¸²ææå°åâ¦â¦"); |
| | | printWeight(result.data); |
| | | } |
| | | }, |
| | | error: function () { |
| | | layer.close(index); |
| | | alertError("è·åæå°æ¨¡ç失败ï¼è¯·è系管ç忥çåå "); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // è¡¨åæ¸
空 |
| | | function resetForm() { |
| | | $("#form-data")[0].reset(); |
| | | form.render(); |
| | | recordData = null; |
| | | weightDto.weight = 0.0; |
| | | $("#weightValue").text("0.0"); |
| | | $("#img_scale_statule").attr("src", "/img/web/inout/icon-red.png"); |
| | | |
| | | $("#text-param").val(null); |
| | | } |
| | | |
| | | function flushPage() { |
| | | layer.confirm('ç¡®å®è¦å·æ°é¡µé¢åï¼', {icon: 3, title: 'æç¤º'}, function (index) { |
| | | resetForm(); |
| | | layer.close(index); |
| | | }); |
| | | } |
| | | |
| | | |
| | | //çå¬è¡¨åéçæ°å¼åå |
| | | document.getElementById('intelCard').addEventListener('input', function (event) { |
| | | var intelCard = $("#intelCard").val(); |
| | | if (intelCard.length == 10) { |
| | | flushData(intelCard, null); |
| | | } |
| | | }); |
| | | |
| | | // --æ¥è¯¢æ¹æ³,è·å身份è¯å·ãå¡å·ã车çå·ï¼è¿è¡æ¥è¯¢ |
| | | function flushData(intelCard, userIdCard) { |
| | | var index = layer.load(); |
| | | var userIdCard = userIdCard; |
| | | var intelCard = intelCard; |
| | | var plateNum = $("#plateNum").val(); |
| | | var param = { |
| | | type: type, |
| | | progress: progress, |
| | | intelCard: intelCard, |
| | | userId: userIdCard, |
| | | plateNum: plateNum |
| | | }; |
| | | $.ajax({ |
| | | type: "POST", |
| | | url: "../../basic/inout/inout-query", |
| | | dataType: "json", |
| | | contentType: "application/json;charset=UTF-8", |
| | | data: JSON.stringify(param), |
| | | success: function (result) { |
| | | layer.close(index); |
| | | if (result.code != "0000") { |
| | | notifyProgress(result.msg, result.data); |
| | | } else { |
| | | recordData = result.data; |
| | | // è¿åçæ°æ®è¿è¡èµå¼ |
| | | form.val("form-data", recordData); |
| | | form.render(); |
| | | |
| | | updateEditAndProgress(); |
| | | } |
| | | }, |
| | | error: function () { |
| | | layer.close(index); |
| | | alertError("æ¥è¯¢å¤±è´¥ï¼è¯·éæ°å°è¯"); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * æ ¹æ®ä¸å¡æ°æ®æ´æ°é¡µé¢ä¸çç¶æ |
| | | */ |
| | | function updateEditAndProgress() { |
| | | if (recordData) { |
| | | if (InoutProgress.WEIGHT_EMPTY == recordData.progress) { |
| | | $("#emptyWeight").removeClass("rkbk-search-input"); |
| | | $("#emptyWeight").attr("disabled", false); |
| | | |
| | | $("#progress-hand").addClass("active"); |
| | | $("#progress-emptyWeight").addClass("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").removeClass("active"); |
| | | $("#progress-emptyWeight").removeClass("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-emptyWeight").removeClass("active"); |
| | | } |
| | | //æ ¹æ®é
置信æ¯è®¾ç½®å°ç£
æ¯å¦å¯ç¼è¾ |
| | | if (weightEditTag && weightEditTag == 'N') { |
| | | $("#fullWeight").addClass("rkbk-search-input"); |
| | | $("#fullWeight").attr("disabled", true); |
| | | |
| | | $("#emptyWeight").addClass("rkbk-search-input"); |
| | | $("#emptyWeight").attr("disabled", true); |
| | | } |
| | | } |
| | | |
| | | // å½å宿 |
| | | function submit() { |
| | | if (!recordData) { |
| | | alertError("没æä¸å¡æ°æ®ä¿¡æ¯ï¼æ§è¡è¢«æç»"); |
| | | return; |
| | | } |
| | | var data = form.val("form-data"); |
| | | |
| | | if (!data.depotId) { |
| | | alertError("æç¤ºï¼è£
å¸ä»åºå¿
å¡«"); |
| | | return; |
| | | } |
| | | if (!data.customerName) { |
| | | alertError("æç¤ºï¼å®¢æ·åç§°å¿
å¡«"); |
| | | return; |
| | | } |
| | | |
| | | // æ ¡éª-å
¥åºæ»¡è½¦ç§°é |
| | | if (InoutProgress.WEIGHT_FULL == recordData.progress) { |
| | | if (data.fullWeight <= 0.0) { |
| | | alertError("æç¤ºï¼æ»¡è½¦ç§°éä¿¡æ¯å¿
å¡«"); |
| | | return; |
| | | } |
| | | } |
| | | if (InoutProgress.WEIGHT_EMPTY == recordData.progress) { |
| | | if (data.emptyWeight <= 0.0) { |
| | | alertError("æç¤ºï¼ç©ºè½¦ç§°éä¿¡æ¯å¿
å¡«"); |
| | | return; |
| | | } |
| | | if (!data.foodVariety) { |
| | | alertError("æç¤ºï¼ç²®é£åç§å¿
å¡«"); |
| | | return; |
| | | } |
| | | |
| | | if (!data.settleWeight || data.settleWeight <= 0.0) { |
| | | alertError("ç»ç®ééä¸åè§ï¼è¯·æ ¸å¯¹"); |
| | | return; |
| | | } |
| | | if (!data.recordWeight || data.recordWeight <= 0.0) { |
| | | alertError("å
¥åºééä¸åè§ï¼è¯·æ ¸å¯¹"); |
| | | return; |
| | | } |
| | | } |
| | | //åå¹¶æ°æ® |
| | | Object.assign(recordData, data); |
| | | // è·åç
§ç |
| | | var files = [{ |
| | | fileName: snapData.fileName1 |
| | | }, { |
| | | fileName: snapData.fileName2 |
| | | }, { |
| | | fileName: snapData.fileName3 |
| | | }, { |
| | | fileName: snapData.fileName4 |
| | | }]; |
| | | recordData.files = files; |
| | | var index = layer.load(); |
| | | $.ajax({ |
| | | type: "POST", |
| | | url: "../../basic/inout/submit-weight", |
| | | dataType: "json", |
| | | contentType: "application/json;charset=UTF-8", |
| | | data: JSON.stringify(recordData), |
| | | success: function (result) { |
| | | if (result.code != "0000") { |
| | | alertError(result.msg); |
| | | } else { |
| | | notify("æ°æ®æäº¤æå", result.data); |
| | | if (InoutProgress.WEIGHT_FULL == recordData.progress) { |
| | | resetForm(); |
| | | } |
| | | } |
| | | layer.close(index); |
| | | }, |
| | | error: function () { |
| | | layer.close(index); |
| | | alertError("æäº¤å¤±è´¥ï¼è¯·éæ°å°è¯"); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | //æ¾ç¤ºè´¨æ£ä¿¡æ¯ |
| | | function showCheck() { |
| | | if (!recordData) { |
| | | alertError("没æä¸å¡æ°æ®ä¿¡æ¯ï¼æ§è¡è¢«æç»"); |
| | | return; |
| | | } |
| | | // è·ååéªé¡¹ä¿¡æ¯ |
| | | flushCheckItem(); |
| | | layer.open({ |
| | | type: 1, |
| | | title: "è´¨æ£è¯¦ç»", |
| | | offset: ['120px', '100px'], |
| | | area: ['1000px', '520px'], |
| | | shade: 0, |
| | | content: $('#checkDetail'), |
| | | btnAlign: 'c', |
| | | btn: ['åæ¶'], |
| | | yes: function () { |
| | | layer.closeAll(); |
| | | }, |
| | | closeBtn: 0 |
| | | }); |
| | | } |
| | | |
| | | /** |
| | | * å·æ°åéªç»æé¡¹ |
| | | */ |
| | | function flushCheckItem() { |
| | | curCheckItems = null; |
| | | $.ajax({ |
| | | type: "POST", |
| | | url: "../../basic/inout/get-check-item", |
| | | dataType: "json", |
| | | contentType: "application/json;charset=UTF-8", |
| | | data: JSON.stringify(recordData), |
| | | success: function (result) { |
| | | if (result.code != "0000") { |
| | | layer.msg(result.msg); |
| | | } else { |
| | | curCheckItems = result.data; |
| | | |
| | | // 页颿¸²ææ£æµé¡¹ |
| | | renderTableCheckItem(); |
| | | } |
| | | }, |
| | | error: function () { |
| | | layer.msg("åå°å¼å¸¸ï¼è¯·éè¯æè
è系管çåï¼ï¼"); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | /** |
| | | * å¼¹åºæéæ¡ |
| | | * @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 renderTableCheckItem() { |
| | | // æ¸
ç©ºæ°æ® |
| | | $("#tableCheckItem").empty(); |
| | | table.render({ |
| | | elem: '#tableCheckItem', |
| | | data: curCheckItems, |
| | | page: false, |
| | | even: true, |
| | | cols: [[{ |
| | | field: 'standardName', |
| | | title: 'æ£éªé¡¹ç®', |
| | | align: 'center', |
| | | width: '13%' |
| | | }, { |
| | | field: 'value', |
| | | title: 'æ£éªå¼', |
| | | align: 'center', |
| | | width: '9%' |
| | | }, { |
| | | field: 'operaSymbolValue', |
| | | title: 'æ åå¼', |
| | | align: 'center', |
| | | width: '10%' |
| | | }, { |
| | | field: 'unit', |
| | | title: 'åä½', |
| | | align: 'center', |
| | | width: '10%' |
| | | }, { |
| | | field: 'deNum', |
| | | title: 'æ£é', |
| | | align: 'center', |
| | | width: '9%' |
| | | }, { |
| | | field: 'addNum', |
| | | title: 'å¢é', |
| | | align: 'center', |
| | | width: '9%' |
| | | }, { |
| | | field: 'dePrice', |
| | | title: 'æ£ä»·', |
| | | align: 'center', |
| | | width: '9%' |
| | | }, { |
| | | field: 'addPrice', |
| | | title: 'å¢ä»·', |
| | | align: 'center', |
| | | width: '9%' |
| | | }, { |
| | | field: 'result', |
| | | title: 'æ£éªç»æ', |
| | | align: 'center', |
| | | width: '10%', |
| | | templet: function (item) { |
| | | if (item.result == null) { |
| | | return ""; |
| | | } |
| | | if (item.result == '0') { |
| | | return "ä¸åæ ¼"; |
| | | } |
| | | if (item.result == '1') { |
| | | return "åæ ¼"; |
| | | } |
| | | } |
| | | }, { |
| | | field: 'remarks', |
| | | title: '夿³¨è¯´æ', |
| | | align: 'center' |
| | | }]] |
| | | }); |
| | | |
| | | $("thead tr").css({ |
| | | "border-bottom": "2px solid #53adce", |
| | | "background": "#eff4f6" |
| | | }); |
| | | } |
| | | |
| | | function renderTableProgressData(list) { |
| | | // æ¸
ç©ºæ°æ® |
| | | $("#tableListProgressData").empty(); |
| | | layer.open({ |
| | | type: 1, |
| | | title: "éæ©æµç¨ä¸è½¦è¾", |
| | | offset: ['120px', '100px'], |
| | | area: ['1000px', '520px'], |
| | | shade: 0, |
| | | content: $('#listProgressData'), |
| | | closeBtn: 1 |
| | | }); |
| | | table.render({ |
| | | elem: '#tableListProgressData', |
| | | data: list, |
| | | page: true, |
| | | even: true, |
| | | cols: [[ |
| | | {type: 'numbers'}, { |
| | | field: 'id', |
| | | title: 'åæ®å·', |
| | | align: 'center' |
| | | }, { |
| | | field: 'userName', |
| | | title: 'æ¿è¿äºº', |
| | | align: 'center' |
| | | }, { |
| | | field: 'plateNum', |
| | | title: '车çå·', |
| | | align: 'center' |
| | | }, {fixed: 'right', title: 'éæ©æä½', align: 'center', toolbar: '#barSelectProgress'}]] |
| | | }); |
| | | $("thead tr").css({ |
| | | "border-bottom": "2px solid #53adce", |
| | | "background": "#eff4f6" |
| | | }); |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | var playNum = 1; |
| | | var playUrl = null; |
| | | var videoId = null; |
| | | let webrtc1; |
| | | let mediaStream1; |
| | | let webrtc2; |
| | | let mediaStream2; |
| | | let webrtc3; |
| | | let mediaStream3; |
| | | /** |
| | | * 页颿å¤åæ¶è°ç¨ä¸ä¸ªè§é¢ï¼ä¸ä¸ªè½¦çè¯å«ï¼ææï¼ä¸ä¸ªé¡ºåºæ§è¡ |
| | | * @param lprParam 车çè¯å«åæ° |
| | | * @param snapParam1 ææåæ°1 |
| | | * @param snapPram2 ææåæ°2 |
| | | */ |
| | | function initVideo(snapParam1, snapParam2, snapPram3) { |
| | | |
| | | //车çè¯å«ææ¾ |
| | | if (snapParam1) { |
| | | $.ajax({ |
| | | type: "POST", |
| | | url: "../../inout/api/inout-video-play", |
| | | dataType: "json", |
| | | contentType: "application/json;charset=UTF-8", |
| | | data: JSON.stringify(snapParam1), |
| | | success: function (result) { |
| | | if (result.code != "SUCCESS") { |
| | | layer.msg(result.msg); |
| | | } else { |
| | | initSnapVideo(result, 1); |
| | | } |
| | | //æ§è¡ç¬¬äºä¸ª |
| | | initVideo2(snapParam2, snapPram3); |
| | | }, |
| | | error: function () { |
| | | layer.msg("è¿ç¨1æå头é
置失败â¦â¦"); |
| | | //æ§è¡ç¬¬äºä¸ª |
| | | initVideo2(snapParam2, snapPram3); |
| | | } |
| | | }); |
| | | } else { |
| | | initVideo2(snapParam2, snapPram3); |
| | | } |
| | | } |
| | | |
| | | function initVideo2(snapParam2, snapParam3) { |
| | | if (snapParam2) { |
| | | $.ajax({ |
| | | type: "POST", |
| | | url: "../../inout/api/inout-video-play", |
| | | dataType: "json", |
| | | contentType: "application/json;charset=UTF-8", |
| | | data: JSON.stringify(snapParam2), |
| | | success: function (result) { |
| | | if (result.code != "SUCCESS") { |
| | | layer.msg(result.msg); |
| | | } else { |
| | | initSnapVideo(result, 2); |
| | | } |
| | | //æ§è¡ç¬¬ä¸ä¸ª |
| | | initVideo3(snapParam3) |
| | | }, |
| | | error: function () { |
| | | layer.msg("è¿ç¨2æå头é
置失败â¦â¦"); |
| | | //æ§è¡ç¬¬ä¸ä¸ª |
| | | initVideo3(snapParam3); |
| | | } |
| | | }); |
| | | } else { |
| | | initVideo3(snapParam3); |
| | | } |
| | | } |
| | | |
| | | function initVideo3(snapParam3) { |
| | | if (!snapParam3) return; |
| | | $.ajax({ |
| | | type: "POST", |
| | | url: "../../inout/api/inout-video-play", |
| | | dataType: "json", |
| | | contentType: "application/json;charset=UTF-8", |
| | | data: JSON.stringify(snapParam3), |
| | | success: function (result) { |
| | | if (result.code != "SUCCESS") { |
| | | layer.msg(result.msg); |
| | | } else { |
| | | initSnapVideo(result, 3); |
| | | } |
| | | }, |
| | | error: function () { |
| | | layer.msg("è¿ç¨3æå头é
置失败â¦â¦"); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * è§é¢ææ¾ |
| | | * @param data |
| | | * @param order |
| | | */ |
| | | function initSnapVideo(data, order) { |
| | | var htm = ""; |
| | | //海康web4.0ææ¾ |
| | | if (PlayType.HIK_WEB4 == data.playType) { |
| | | var url = "../../inout/api/iframe-hik?id=" + data.id; |
| | | if (ship && ship == "ship") { //è¹è¿ç§°éé¡µé¢ |
| | | url += "&length=340&width=195"; |
| | | } else { //ç§°éé¡µé¢ |
| | | url += "&length=310&width=170"; |
| | | } |
| | | htm = '<iframe src=' + url + ' style="width: 100%;height: 100%"></iframe>'; |
| | | } |
| | | //VLCææ¾ |
| | | if (PlayType.VLC == data.playType) { |
| | | htm = "<object type='application/x-vlc-plugin' " |
| | | + "events='true' width='100%' height='100%'" |
| | | + "pluginspage='http://www.videolan.org'" |
| | | + "th:codebase='@{../../static/plugins/vlc/npapi-vlc-2.2.2.tar.xz}'>\n" |
| | | + "<param name='mrl' value='" + data.playUrl + "'/>\n" |
| | | + "<param name='volume' value='50'/>\n" |
| | | + "<param name='autoplay' value='true'/>\n" |
| | | + "<param name='loop' value='false'/>\n" |
| | | + "<param name='fullscreen' value='true'/>\n" |
| | | + "<param name='toolbar' value='false'/>\n" + "</object>"; |
| | | } |
| | | //web-rtcææ¾æ¹å¼ |
| | | if (PlayType.PLAY_TYPE_WEB_RTC_DH == data.playType || PlayType.PLAY_TYPE_WEB_RTC_HIK == data.playType) { |
| | | playUrl = data.playUrl; |
| | | playNum = order; |
| | | videoId = data.cameraId; |
| | | htm = '<video class="video" id="video' + playNum + '" autoplay="" muted="" playsinline=""></video>'; |
| | | } |
| | | |
| | | if (1 == order) { |
| | | $("#kccz-r-video1").append(htm); |
| | | } |
| | | if (2 == order) { |
| | | $("#kccz-r-video2").append(htm); |
| | | } |
| | | if (3 == order) { |
| | | $("#kccz-r-video3").append(htm); |
| | | } |
| | | if (PlayType.PLAY_TYPE_WEB_RTC_DH == data.playType || PlayType.PLAY_TYPE_WEB_RTC_HIK == data.playType) { |
| | | if (1 == order) { |
| | | webRtcToPlay1(); |
| | | } |
| | | if (2 == order) { |
| | | webRtcToPlay2(); |
| | | } |
| | | if (3 == order) { |
| | | webRtcToPlay3(); |
| | | } |
| | | } |
| | | } |
| | | |
| | | /*============= webRtcè§é¢ææ¾1 ----- å¼å§ ===============*/ |
| | | /** |
| | | * å¼å§ææ¾ |
| | | * @param winTag ææ¾çªå£ |
| | | * @returns {Promise<void>} |
| | | */ |
| | | async function webRtcToPlay1() { |
| | | if (playUrl) { |
| | | mediaStream1 = new MediaStream(); |
| | | $("#video" + playNum)[0].srcObject = mediaStream1; |
| | | webrtc1 = new RTCPeerConnection({ |
| | | iceServers: [{ |
| | | urls: ["stun:stun.l.google.com:19302"] |
| | | }], |
| | | sdpSemantics: "unified-plan" |
| | | }); |
| | | webrtc1.onsignalingstatechange = signalingstatechange1; |
| | | |
| | | webrtc1.ontrack = ontrack1 |
| | | let offer = await webrtc1.createOffer({ |
| | | |
| | | offerToReceiveAudio: true, |
| | | offerToReceiveVideo: true |
| | | }); |
| | | await webrtc1.setLocalDescription(offer); |
| | | } |
| | | } |
| | | |
| | | function ontrack1(event) { |
| | | mediaStream1.addTrack(event.track); |
| | | } |
| | | |
| | | async function signalingstatechange1() { |
| | | switch (webrtc1.signalingState) { |
| | | case 'have-local-offer': |
| | | // let uuid = $('#uuid').val(); |
| | | let url = playUrl + "?uuid=" + videoId + "&channel=0"; |
| | | $.post(url, { |
| | | data: btoa(webrtc1.localDescription.sdp) |
| | | }, function (data) { |
| | | try { |
| | | console.log(data); |
| | | webrtc1.setRemoteDescription(new RTCSessionDescription({ |
| | | type: 'answer', |
| | | sdp: atob(data) |
| | | })) |
| | | } catch (e) { |
| | | console.warn(e); |
| | | } |
| | | |
| | | }); |
| | | break; |
| | | case 'stable': |
| | | break; |
| | | case 'closed': |
| | | break; |
| | | default: |
| | | console.log(`unhandled signalingState is ${webrtc1.signalingState}`); |
| | | break; |
| | | } |
| | | } |
| | | |
| | | /*============= è§é¢ææ¾ ----- ç»æ ===============*/ |
| | | |
| | | /*============= webRtcè§é¢ææ¾2 ----- å¼å§ ===============*/ |
| | | /** |
| | | * å¼å§ææ¾ |
| | | * @param winTag ææ¾çªå£ |
| | | * @returns {Promise<void>} |
| | | */ |
| | | async function webRtcToPlay2() { |
| | | if (playUrl) { |
| | | mediaStream2 = new MediaStream(); |
| | | $("#video" + playNum)[0].srcObject = mediaStream2; |
| | | webrtc2 = new RTCPeerConnection({ |
| | | iceServers: [{ |
| | | urls: ["stun:stun.l.google.com:19302"] |
| | | }], |
| | | sdpSemantics: "unified-plan" |
| | | }); |
| | | webrtc2.onsignalingstatechange = signalingstatechange2; |
| | | |
| | | webrtc2.ontrack = ontrack2 |
| | | let offer = await webrtc2.createOffer({ |
| | | |
| | | offerToReceiveAudio: true, |
| | | offerToReceiveVideo: true |
| | | }); |
| | | await webrtc2.setLocalDescription(offer); |
| | | } |
| | | } |
| | | |
| | | function ontrack2(event) { |
| | | mediaStream2.addTrack(event.track); |
| | | } |
| | | |
| | | async function signalingstatechange2() { |
| | | switch (webrtc2.signalingState) { |
| | | case 'have-local-offer': |
| | | // let uuid = $('#uuid').val(); |
| | | let url = playUrl + "?uuid=" + videoId + "&channel=0"; |
| | | $.post(url, { |
| | | data: btoa(webrtc2.localDescription.sdp) |
| | | }, function (data) { |
| | | try { |
| | | console.log(data); |
| | | webrtc2.setRemoteDescription(new RTCSessionDescription({ |
| | | type: 'answer', |
| | | sdp: atob(data) |
| | | })) |
| | | } catch (e) { |
| | | console.warn(e); |
| | | } |
| | | |
| | | }); |
| | | break; |
| | | case 'stable': |
| | | break; |
| | | case 'closed': |
| | | break; |
| | | default: |
| | | console.log(`unhandled signalingState is ${webrtc2.signalingState}`); |
| | | break; |
| | | } |
| | | } |
| | | |
| | | /*============= è§é¢ææ¾ ----- ç»æ ===============*/ |
| | | |
| | | /*============= webRtcè§é¢ææ¾3 ----- å¼å§ ===============*/ |
| | | /** |
| | | * å¼å§ææ¾ |
| | | * @param winTag ææ¾çªå£ |
| | | * @returns {Promise<void>} |
| | | */ |
| | | async function webRtcToPlay3() { |
| | | if (playUrl) { |
| | | mediaStream3 = new MediaStream(); |
| | | $("#video" + playNum)[0].srcObject = mediaStream3; |
| | | webrtc3 = new RTCPeerConnection({ |
| | | iceServers: [{ |
| | | urls: ["stun:stun.l.google.com:19302"] |
| | | }], |
| | | sdpSemantics: "unified-plan" |
| | | }); |
| | | webrtc3.onsignalingstatechange = signalingstatechange3; |
| | | |
| | | webrtc3.ontrack = ontrack3 |
| | | let offer = await webrtc3.createOffer({ |
| | | |
| | | offerToReceiveAudio: true, |
| | | offerToReceiveVideo: true |
| | | }); |
| | | await webrtc3.setLocalDescription(offer); |
| | | } |
| | | } |
| | | |
| | | function ontrack3(event) { |
| | | mediaStream3.addTrack(event.track); |
| | | } |
| | | |
| | | async function signalingstatechange3() { |
| | | switch (webrtc3.signalingState) { |
| | | case 'have-local-offer': |
| | | // let uuid = $('#uuid').val(); |
| | | let url = playUrl + "?uuid=" + videoId + "&channel=0"; |
| | | $.post(url, { |
| | | data: btoa(webrtc3.localDescription.sdp) |
| | | }, function (data) { |
| | | try { |
| | | console.log(data); |
| | | webrtc3.setRemoteDescription(new RTCSessionDescription({ |
| | | type: 'answer', |
| | | sdp: atob(data) |
| | | })) |
| | | } catch (e) { |
| | | console.warn(e); |
| | | } |
| | | |
| | | }); |
| | | break; |
| | | case 'stable': |
| | | break; |
| | | case 'closed': |
| | | break; |
| | | default: |
| | | console.log(`unhandled signalingState is ${webrtc3.signalingState}`); |
| | | break; |
| | | } |
| | | } |
| | | |
| | | /*============= è§é¢ææ¾ ----- ç»æ ===============*/ |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | /** |
| | | * å
¥åº-ç§°éèªå¨è®¡ç® |
| | | * @param name 触åäºä»¶ç屿§åç§° |
| | | */ |
| | | function deAutoByIn(name) { |
| | | var curData = form.val("form-data"); |
| | | if (curData.fullWeight == 0 || curData.emptyWeight == 0) { |
| | | return; |
| | | } |
| | | // åé |
| | | var netWeight = curData.fullWeight - curData.emptyWeight; |
| | | if (netWeight <= 0) { |
| | | alertError("åé<=0ï¼å½åç¯èåå¨é»è¾é误ï¼è¯·æ ¸å¯¹"); |
| | | return; |
| | | } |
| | | //å
¶ä»ä¿¡æ¯ |
| | | var deHandle = curData.deHandle, dePackage = curData.dePackage, deOther = curData.deOther, settleWeight = 0, |
| | | recordWeight = 0, deCheck = curData.deCheck, addCheck = curData.addCheck; |
| | | recordWeight = Number(netWeight) - Number(deHandle) - Number(dePackage) - Number(deOther) - Number(deCheck); |
| | | settleWeight = Number(recordWeight) + Number(addCheck); |
| | | |
| | | netWeight = netWeight.toFixed(1); |
| | | recordWeight = recordWeight.toFixed(1); |
| | | settleWeight = settleWeight.toFixed(1); |
| | | |
| | | form.val("form-data", { |
| | | netWeight: netWeight, |
| | | settleWeight: settleWeight, |
| | | recordWeight: recordWeight |
| | | }); |
| | | form.render(); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * åºåº-ç§°éèªå¨è®¡ç® |
| | | * 1ãåé = æ¯é - ç®é ï¼ æ»æ£é = è´¨æ£æ£é + å
¶ä»æ£é |
| | | * 2ãç»ç®éé = åé - æ»æ£é + è´¨æ£æ£éï¼ å
¥åºéé = åé - æ»æ£é |
| | | * 注æï¼å¦ææ¯æå¨ä¿®æ¹äºæ°´ååæè´¨çæ£éï¼å䏿ç
§é
ç½®è§åè¿è¡å¢æ£éè®¡ç® |
| | | * @param name 触åäºä»¶ç屿§åç§° |
| | | */ |
| | | function deAutoByOut(name) { |
| | | var curData = form.val("form-data"); |
| | | if (curData.fullWeight == 0 || curData.emptyWeight == 0) { |
| | | return; |
| | | } |
| | | // åé |
| | | var netWeight = curData.fullWeight - curData.emptyWeight; |
| | | if (netWeight <= 0) { |
| | | alertError("åé<=0ï¼å½åç¯èåå¨é»è¾é误ï¼è¯·æ ¸å¯¹"); |
| | | return; |
| | | } |
| | | //å
¶ä»ä¿¡æ¯ |
| | | var dePackage = curData.dePackage, deOther = curData.deOther, settleWeight = 0, |
| | | recordWeight = 0, deSum = 0, deCheck = curData.deCheck, addCheck = curData.addCheck; |
| | | |
| | | recordWeight = Number(netWeight) - Number(dePackage) - Number(deOther) - Number(deCheck); |
| | | settleWeight = Number(recordWeight) + Number(addCheck); |
| | | |
| | | deSum = Number(deOther) + Number(deCheck) |
| | | |
| | | netWeight = netWeight.toFixed(1); |
| | | recordWeight = recordWeight.toFixed(1); |
| | | settleWeight = settleWeight.toFixed(1); |
| | | deSum = deSum.toFixed(1); |
| | | |
| | | form.val("form-data", { |
| | | netWeight: netWeight, |
| | | settleWeight: settleWeight, |
| | | recordWeight: recordWeight, |
| | | deSum: deSum |
| | | }); |
| | | form.render(); |
| | | } |
| | | |
| | | // function deAutoByOut(name) { |
| | | // var curData = form.val("form-data"); |
| | | // |
| | | // if (curData.fullWeight == 0 || curData.emptyWeight == 0) { |
| | | // return; |
| | | // } |
| | | // //æ±æ»ç»æ |
| | | // var deSum = 0, addSum = 0, settleWeight = 0, recordWeight = 0; |
| | | // // åé |
| | | // var netWeight = curData.fullWeight - curData.emptyWeight; |
| | | // //æ£æ°´æ |
| | | // var deWet = curData.deWet, deImpurity = curData.deImpurity; |
| | | // |
| | | // if (netWeight <= 0) { |
| | | // layer.alert("åéå°äº0ï¼å½åç§°éåå¨é»è¾é®é¢"); |
| | | // return; |
| | | // } |
| | | // |
| | | // var deBase = 0, multiple = 0; |
| | | // //æ°´åæè´¨ï¼æ´æ¹æ¯ä¾å¹¶ä¸æ°´åæ£éè¿æ²¡è®¡ç®æ
åµä¸ |
| | | // if ("fullWeight" == name || null == deWet) { |
| | | // var checkItem = this.getCheckItem(recordData.checkItems, CHECK_ST.C01, CHECK_ST.C020101); |
| | | // if (checkItem) { |
| | | // deBase = Number(curData.wet) - Number(checkItem.upperLimit); |
| | | // if (deBase == 0) return; |
| | | // multiple = parseInt(deBase / checkItem.ruleNum);//åæ° |
| | | // deWet = (netWeight * multiple * checkItem.ruleReduce / 100.00).toFixed(0); |
| | | // } |
| | | // } |
| | | // //æè´¨ |
| | | // if ("fullWeight" == name || null == deImpurity) { |
| | | // checkItem = this.getCheckItem(recordData.checkItems, CHECK_ST.C02, CHECK_ST.C01010301); |
| | | // if (checkItem) { |
| | | // deBase = Number(curData.impurity) - Number(checkItem.upperLimit); |
| | | // if (deBase == 0) return; |
| | | // multiple = parseInt(deBase / checkItem.ruleNum); |
| | | // deImpurity = (netWeight * multiple * checkItem.ruleReduce / 100.00).toFixed(0); |
| | | // } |
| | | // } |
| | | // |
| | | // /** æ»æ£éï¼ä¸å«å¢é*/ |
| | | // deSum = Number(curData.deOther) + Number(curData.deHandle); |
| | | // |
| | | // |
| | | // if (Number(deWet) > 0) {//å¢é |
| | | // addSum = addSum + Number(deWet); |
| | | // } else { |
| | | // deSum = deSum + Number(deWet); |
| | | // } |
| | | // |
| | | // if (Number(deImpurity) > 0) {//æ£é |
| | | // deSum = deSum + Number(deImpurity); |
| | | // } else { |
| | | // addSum = addSum + Number(deImpurity); |
| | | // } |
| | | // |
| | | // deSum = deSum.toFixed(0); |
| | | // /** å¢éè½¬æ£æ°ï¼ä¾¿äºè®¡ç® */ |
| | | // addSum = Math.abs(addSum).toFixed(0); |
| | | // /** å
¥åºéé = åé - æ»æ£é */ |
| | | // recordWeight = Number(netWeight) - Number(deSum); |
| | | // /** ç»ç®éé = åé - æ»æ£é + å¢é */ |
| | | // settleWeight = Number(netWeight) - Number(deSum) + Number(addSum); |
| | | // |
| | | // form.val("form-data", { |
| | | // netWeight: netWeight, |
| | | // deImpurity: deImpurity, |
| | | // deWet: deWet, |
| | | // deSum: deSum, |
| | | // settleWeight: settleWeight, |
| | | // recordWeight: recordWeight |
| | | // }); |
| | | // form.render(); |
| | | // } |
| | | |
| | | /** |
| | | * æ ¹æ®åéªé¡¹åä¼ éè¿æ¥çåæ°è·åå½ååæ°çé
ç½®ä¿¡æ¯ |
| | | * @param checkItems |
| | | * @param code1 ç³»ç»åæ°ID |
| | | * @param code2 彿 忰ID |
| | | * @returns {undefined} |
| | | */ |
| | | function getCheckItem(checkItems, code1, code2) { |
| | | var checkData = null; |
| | | if (!checkItems) return checkData; |
| | | $.each(checkItems, function (index, checkItem) { |
| | | if (checkItem.standardId == code1 || checkItem.standardId == code2) { |
| | | if (checkItem.ruleNum && checkItem.upperLimit > 0.0) { |
| | | checkData = checkItem; |
| | | return true; |
| | | } |
| | | } |
| | | }); |
| | | return checkData; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * æ´æ°ç¨æ·éæ©å°ç£
|
| | | */ |
| | | function updateWeight() { |
| | | var scale = $("#scaleName").val(); |
| | | $.ajax({ |
| | | type: "POST", |
| | | url: "../../basic/inout/update-select-weight", |
| | | dataType: "json", |
| | | contentType: "application/json;charset=UTF-8", |
| | | data: JSON.stringify({"key": scale}), |
| | | success: function (result) { |
| | | if (result.code != "0000") { |
| | | notify(result.msg, result.data); |
| | | } else { |
| | | window.location.reload(); |
| | | } |
| | | }, |
| | | error: function () { |
| | | notify("æäº¤å¤±è´¥ï¼è¯·éæ°å°è¯", null); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // ---------------------------éç¥å-å¼å§ -------------------// |
| | | // å¼¹åºå¾æ¥åä½ä¸ææ¡ |
| | | function showNotice() { |
| | | var titleCustomer = "éè´§åä½"; |
| | | var url = "../../basic/inout/list-notice-in"; |
| | | if ("OUT" == type) { |
| | | titleCustomer = "æ¶è´§åä½"; |
| | | url = "../../basic/inout/list-notice-out" |
| | | } |
| | | var index = layer.load(); |
| | | var param = { |
| | | type: type |
| | | }; |
| | | |
| | | console.log(url); |
| | | |
| | | table.render({ |
| | | elem: '#tableNotice', |
| | | url: url, |
| | | page: false, |
| | | even: true, |
| | | method: 'POST', |
| | | contentType: "application/json;charset=UTF-8", |
| | | cols: [[{ |
| | | field: 'name', |
| | | title: 'éç¥ååç§°', |
| | | width: '15%' |
| | | }, { |
| | | field: 'customerName', |
| | | title: titleCustomer |
| | | }, { |
| | | field: 'foodVarietyName', |
| | | title: 'ç²®é£åç§', |
| | | width: '10%' |
| | | }, { |
| | | field: 'year', |
| | | title: '年份', |
| | | width: '8%' |
| | | }, { |
| | | field: 'depotName', |
| | | title: "ææ¶ä»åº" |
| | | }, { |
| | | field: 'contractName', |
| | | title: 'æå±åå' |
| | | }]], |
| | | where: param, |
| | | 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(tableNotice)', function (obj) { |
| | | var data = obj.data; |
| | | console.log(data) |
| | | form.val("form-data", { |
| | | customerName: data.customerName, |
| | | noticeId: data.id, |
| | | foodYear: data.year, |
| | | depotId: data.depotId, |
| | | foodVariety: data.foodVariety |
| | | }); |
| | | layer.closeAll(); |
| | | }); |
| | | // å¼¹åºå¯¹è¯æ¡ |
| | | layer.open({ |
| | | type: 1, |
| | | offset: ['100px', '250px'], |
| | | title: "éç¥åå表ï¼åå»éä¸ï¼", |
| | | area: ['900px', '600px'], |
| | | shade: 0, |
| | | content: $('#listNotice'), |
| | | btn: 0, |
| | | btn: ['åæ¶'], |
| | | yes: function () { |
| | | layer.closeAll(); |
| | | }, |
| | | closeBtn: 0 |
| | | }); |
| | | } |
| | | |
| | | // ---------------------------ç²®é£äº§å°-å¼å§ -------------------// |
| | | function showFoodLocation() { |
| | | var index = layer.load(); |
| | | table.render({ |
| | | elem: '#tableFoodLoaction', |
| | | url: '../../basic/inout/page-dicArea', |
| | | page: false, |
| | | toolbar: '#toolbarFoodLocaton', |
| | | even: true, |
| | | method: 'POST', |
| | | contentType: "application/json;charset=UTF-8", |
| | | cols: [[{ |
| | | field: 'code', |
| | | title: 'ç¼ç ', |
| | | }, { |
| | | field: 'simple', |
| | | title: 'ç®æ¼', |
| | | }, { |
| | | field: 'name', |
| | | title: 'åç§°', |
| | | width: '60%' |
| | | }]], |
| | | where: { |
| | | "page": 1, |
| | | "limit": 100 |
| | | }, |
| | | 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 |
| | | } |
| | | } |
| | | }, |
| | | done: function (res) { |
| | | layer.close(index); |
| | | } |
| | | }); |
| | | |
| | | //å廿¾ç¤ºé䏿°æ® |
| | | table.on('rowDouble(tableFoodLoaction)', function (obj) { |
| | | var data = obj.data; |
| | | // èµå¼ |
| | | form.val("form-data", { |
| | | foodLocation: data.name, |
| | | foodLocationId: data.code |
| | | }); |
| | | // å
³é |
| | | layer.closeAll(); |
| | | }); |
| | | |
| | | // å¼¹åºå¯¹è¯æ¡ |
| | | layer.open({ |
| | | type: 1, |
| | | title: "éæ©ç²®äº§å°", |
| | | area: ['600px', '600px'], |
| | | shade: 0, |
| | | content: $('#listFoodLocation'), |
| | | btn: 0, |
| | | btn: ['åæ¶'], |
| | | yes: function () { |
| | | layer.closeAll(); |
| | | }, |
| | | closeBtn: 0 |
| | | }); |
| | | } |
| | | |
| | | // å·æ° |
| | | function flushFoodLocation() { |
| | | var key = $("#key2").val(); |
| | | table.reload('tableFoodLoaction', { |
| | | url: "../../basic/inout/page-dicArea", |
| | | where: { |
| | | key: key |
| | | }, |
| | | done: function (res) { |
| | | if (key) { |
| | | $("#key2").val(key); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | | |
| | | // ---------------------------ç²®é£äº§å° -ç»æ -------------------// |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | var CreatedOKLodop7766 = null, CLodopIsLocal; |
| | | |
| | | //====夿æ¯å¦éè¦ Webæå°æå¡CLodop:=== |
| | | //===(䏿¯ææä»¶çæµè§å¨çæ¬éè¦ç¨å®)=== |
| | | function needCLodop() { |
| | | try { |
| | | var ua = navigator.userAgent; |
| | | if (ua.match(/Windows\sPhone/i)) |
| | | return true; |
| | | if (ua.match(/iPhone|iPod|iPad/i)) |
| | | return true; |
| | | if (ua.match(/Android/i)) |
| | | return true; |
| | | if (ua.match(/Edge\D?\d+/i)) |
| | | return true; |
| | | |
| | | var verTrident = ua.match(/Trident\D?\d+/i); |
| | | var verIE = ua.match(/MSIE\D?\d+/i); |
| | | var verOPR = ua.match(/OPR\D?\d+/i); |
| | | var verFF = ua.match(/Firefox\D?\d+/i); |
| | | var x64 = ua.match(/x64/i); |
| | | if ((!verTrident) && (!verIE) && (x64)) |
| | | return true; |
| | | else if (verFF) { |
| | | verFF = verFF[0].match(/\d+/); |
| | | if ((verFF[0] >= 41) || (x64)) |
| | | return true; |
| | | } else if (verOPR) { |
| | | verOPR = verOPR[0].match(/\d+/); |
| | | if (verOPR[0] >= 32) |
| | | return true; |
| | | } else if ((!verTrident) && (!verIE)) { |
| | | var verChrome = ua.match(/Chrome\D?\d+/i); |
| | | if (verChrome) { |
| | | verChrome = verChrome[0].match(/\d+/); |
| | | if (verChrome[0] >= 41) |
| | | return true; |
| | | } |
| | | } |
| | | return false; |
| | | } catch (err) { |
| | | return true; |
| | | } |
| | | } |
| | | |
| | | //====页é¢å¼ç¨CLodopäºæå°å¿
é¡»çJSæä»¶,ç¨å端å£(8000å18000ï¼é¿å
å
¶ä¸æä¸ªè¢«å ç¨ï¼==== |
| | | if (needCLodop()) { |
| | | var src1 = "http://localhost:8000/CLodopfuncs.js?priority=1"; |
| | | var src2 = "http://localhost:18000/CLodopfuncs.js?priority=0"; |
| | | |
| | | var head = document.head || document.getElementsByTagName("head")[0] || document.documentElement; |
| | | var oscript = document.createElement("script"); |
| | | oscript.src = src1; |
| | | head.insertBefore(oscript, head.firstChild); |
| | | oscript = document.createElement("script"); |
| | | oscript.src = src2; |
| | | head.insertBefore(oscript, head.firstChild); |
| | | CLodopIsLocal = !!((src1 + src2).match(/\/\/localho|\/\/127.0.0./i)); |
| | | } |
| | | |
| | | //====è·åLODOP对象ç主è¿ç¨ï¼==== |
| | | function getLodop(oOBJECT, oEMBED) { |
| | | var strHtmInstall = "<br><font color='#FF00FF'>æå°æ§ä»¶æªå®è£
!ç¹å»è¿é<a href='install_lodop32.exe' target='_self'>æ§è¡å®è£
</a>,å®è£
åè¯·å·æ°é¡µé¢æéæ°è¿å
¥ã</font>"; |
| | | var strHtmUpdate = "<br><font color='#FF00FF'>æå°æ§ä»¶éè¦å级!ç¹å»è¿é<a href='install_lodop32.exe' target='_self'>æ§è¡å级</a>,å级åè¯·éæ°è¿å
¥ã</font>"; |
| | | var strHtm64_Install = "<br><font color='#FF00FF'>æå°æ§ä»¶æªå®è£
!ç¹å»è¿é<a href='install_lodop64.exe' target='_self'>æ§è¡å®è£
</a>,å®è£
åè¯·å·æ°é¡µé¢æéæ°è¿å
¥ã</font>"; |
| | | var strHtm64_Update = "<br><font color='#FF00FF'>æå°æ§ä»¶éè¦å级!ç¹å»è¿é<a href='install_lodop64.exe' target='_self'>æ§è¡å级</a>,å级åè¯·éæ°è¿å
¥ã</font>"; |
| | | var strHtmFireFox = "<br><br><font color='#FF00FF'>ï¼æ³¨æï¼å¦æ¾å®è£
è¿Lodopæ§çéä»¶npActiveXPLugin,请å¨ãå·¥å
·ã->ãéå ç»ä»¶ã->ãæ©å±ãä¸å
å¸å®ï¼</font>"; |
| | | var strHtmChrome = "<br><br><font color='#FF00FF'>(妿æ¤åæ£å¸¸ï¼ä»
å æµè§å¨å级æéå®è£
èåºé®é¢ï¼ééæ°æ§è¡ä»¥ä¸å®è£
ï¼</font>"; |
| | | var strCLodopInstall_1 = "<br><font color='#FF00FF'>Webæå°æå¡CLodopæªå®è£
å¯å¨ï¼ç¹å»è¿é<a href='CLodop_Setup_for_Win32NT.exe' target='_self'>ä¸è½½æ§è¡å®è£
</a>"; |
| | | var strCLodopInstall_2 = "<br>ï¼è¥æ¤åå·²å®è£
è¿ï¼å¯<a href='CLodop.protocol:setup' target='_self'>ç¹è¿éç´æ¥å次å¯å¨</a>ï¼"; |
| | | var strCLodopInstall_3 = "ï¼æååè¯·å·æ°æ¬é¡µé¢ã</font>"; |
| | | var strCLodopUpdate = "<br><font color='#FF00FF'>Webæå°æå¡CLodopéå级!ç¹å»è¿é<a href='CLodop_Setup_for_Win32NT.exe' target='_self'>æ§è¡å级</a>,å级åè¯·å·æ°é¡µé¢ã</font>"; |
| | | var LODOP; |
| | | try { |
| | | var ua = navigator.userAgent; |
| | | var isIE = !!(ua.match(/MSIE/i)) || !!(ua.match(/Trident/i)); |
| | | if (needCLodop()) { |
| | | try { |
| | | LODOP = getCLodop(); |
| | | } catch (err) {} |
| | | if (!LODOP && document.readyState !== "complete") { |
| | | alert("ç½é¡µè¿æ²¡ä¸è½½å®æ¯ï¼è¯·ç¨çä¸ä¸åæä½."); |
| | | return; |
| | | } |
| | | if (!LODOP) { |
| | | document.body.innerHTML = strCLodopInstall_1 + (CLodopIsLocal ? strCLodopInstall_2 : "") + strCLodopInstall_3 + document.body.innerHTML; |
| | | return; |
| | | } else { |
| | | if (CLODOP.CVERSION < "3.0.9.2") { |
| | | document.body.innerHTML = strCLodopUpdate + document.body.innerHTML; |
| | | } |
| | | if (oEMBED && oEMBED.parentNode) |
| | | oEMBED.parentNode.removeChild(oEMBED); |
| | | if (oOBJECT && oOBJECT.parentNode) |
| | | oOBJECT.parentNode.removeChild(oOBJECT); |
| | | } |
| | | } else { |
| | | var is64IE = isIE && !!(ua.match(/x64/i)); |
| | | //=====妿页颿Lodopå°±ç´æ¥ä½¿ç¨ï¼æ²¡æåæ°å»º:========== |
| | | if (oOBJECT || oEMBED) { |
| | | if (isIE) |
| | | LODOP = oOBJECT; |
| | | else |
| | | LODOP = oEMBED; |
| | | } else if (!CreatedOKLodop7766) { |
| | | LODOP = document.createElement("object"); |
| | | LODOP.setAttribute("width", 0); |
| | | LODOP.setAttribute("height", 0); |
| | | LODOP.setAttribute("style", "position:absolute;left:0px;top:-100px;width:0px;height:0px;"); |
| | | if (isIE) |
| | | LODOP.setAttribute("classid", "clsid:2105C259-1E0C-4534-8141-A753534CB4CA"); |
| | | else |
| | | LODOP.setAttribute("type", "application/x-print-lodop"); |
| | | document.documentElement.appendChild(LODOP); |
| | | CreatedOKLodop7766 = LODOP; |
| | | } else |
| | | LODOP = CreatedOKLodop7766; |
| | | //=====Lodopæä»¶æªå®è£
æ¶æç¤ºä¸è½½å°å:========== |
| | | if ((!LODOP) || (!LODOP.VERSION)) { |
| | | if (ua.indexOf('Chrome') >= 0) |
| | | document.body.innerHTML = strHtmChrome + document.body.innerHTML; |
| | | if (ua.indexOf('Firefox') >= 0) |
| | | document.body.innerHTML = strHtmFireFox + document.body.innerHTML; |
| | | document.body.innerHTML = (is64IE ? strHtm64_Install : strHtmInstall) + document.body.innerHTML; |
| | | return LODOP; |
| | | } |
| | | } |
| | | if (LODOP.VERSION < "6.2.2.6") { |
| | | if (!needCLodop()) |
| | | document.body.innerHTML = (is64IE ? strHtm64_Update : strHtmUpdate) + document.body.innerHTML; |
| | | } |
| | | //===å¦ä¸ç©ºç½ä½ç½®éåè°ç¨ç»ä¸åè½(妿³¨åè¯å¥ãè¯è¨éæ©ç):== |
| | | |
| | | |
| | | |
| | | //======================================================= |
| | | return LODOP; |
| | | } catch (err) { |
| | | alert("getLodopåºé:" + err); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <!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 type="text/css"> |
| | | .qyzj-tabBox { |
| | | margin-top: 0px !important; |
| | | overflow: hidden; |
| | | width: 100%; |
| | | } |
| | | |
| | | #layui-table-page1 { |
| | | text-align: right !important; |
| | | } |
| | | |
| | | .display-none { |
| | | display: none; |
| | | } |
| | | |
| | | .control-btn { |
| | | height: 35px; |
| | | line-height: 30px; |
| | | background-color: #f67d06; |
| | | } |
| | | |
| | | .tip-red { |
| | | text-align: right; |
| | | padding-left: 40px; |
| | | font-size: 16px; |
| | | color: red; |
| | | font-weight: bold; |
| | | } |
| | | |
| | | thead span { |
| | | font-weight: bold |
| | | } |
| | | |
| | | #label1, #label4, #label5 { |
| | | color: red; |
| | | } |
| | | |
| | | .layui-select-disabled .layui-disabled { |
| | | color: #000 !important; |
| | | } |
| | | |
| | | .layui-table td { |
| | | font-weight: bold; |
| | | } |
| | | |
| | | .rk-step-wrap { |
| | | padding: 0px; |
| | | border-bottom: 0px; |
| | | text-align: center; |
| | | } |
| | | |
| | | .qyzj-btnbox { |
| | | margin-top: 10px; |
| | | } |
| | | |
| | | .qyzj-btnbox .rkbk-quick { |
| | | margin-top: 13px; |
| | | } |
| | | |
| | | .qyzj-con { |
| | | margin-top: 10px; |
| | | background: #dee6ec; |
| | | } |
| | | |
| | | .rkbk-search-input { |
| | | background: #FFF !important; |
| | | } |
| | | |
| | | .rkbk-search-input.bg-date { |
| | | background: #FFF !important; |
| | | } |
| | | |
| | | thead span { |
| | | font-weight: bold |
| | | } |
| | | |
| | | .red { |
| | | color: red; |
| | | font-weight: bold; |
| | | } |
| | | |
| | | .layui-select-disabled .layui-disabled { |
| | | color: #000 !important; |
| | | } |
| | | |
| | | .layui-table td { |
| | | font-weight: bold; |
| | | } |
| | | |
| | | .layui-elem-quote { |
| | | padding: 10px; |
| | | color: blue; |
| | | margin-bottom: unset; |
| | | } |
| | | |
| | | .input_ba { |
| | | background: #e7eaec !important; |
| | | } |
| | | |
| | | .layui-layer-btn .layui-layer-btn1 { |
| | | border-color: #53adce; |
| | | background-color: #53adce; |
| | | color: #fff; |
| | | } |
| | | </style> |
| | | |
| | | </head> |
| | | |
| | | <body> |
| | | <div class="l-container layui-clear"> |
| | | <div class="rk-main"> |
| | | |
| | | <div class="qyzj-btnbox layui-clear"> |
| | | <!--æµç¨å¼å¯¼--> |
| | | <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-fullWeight"> |
| | | <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-emptyWeight"> |
| | | <span class="rk-step-span"> |
| | | <img th:src="@{/img/web/inout/icon-chengzhong.png}"/> |
| | | </span> |
| | | <p>空车称é</p> |
| | | </li> |
| | | </ul> |
| | | </div> |
| | | <!--æµç¨å¼å¯¼ç»æ--> |
| | | </div> |
| | | <!--qyzj-btnbox end--> |
| | | |
| | | |
| | | <div class="qyzj-con radius-6"> |
| | | <div class="qyzj-con-top layui-row"> |
| | | <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="progress" th:value="${progress}" |
| | | autocomplete="off" class="layui-input rkbk-search-input"> |
| | | </div> |
| | | </div> |
| | | <div class="layui-col-xs3"> |
| | | <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-xs3"> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label">ç²®é£åç§</label> |
| | | <div class="layui-input-block rkbk-selBox"> |
| | | <select name="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-xs3"> |
| | | <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-xs3"> |
| | | <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-xs3"> |
| | | <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-xs3"> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label">æ¯å¦åéª</label> |
| | | <div class="layui-input-block rkbk-selBox"> |
| | | <select name="checkStatus"> |
| | | <option value="NONE" selected>æªåéª</option> |
| | | <option value="CHECK">å·²åéª</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="layui-col-xs3 layui-text-right"> |
| | | <input type="button" value="æ¥è¯¢/å·æ°" |
| | | class="qyzj-top-btn layui-btn btn-blue" onclick="flushData()"/> |
| | | <input type="button" value="æ¸
空æ¡ä»¶" |
| | | class="qyzj-top-btn layui-btn btn-red" onclick="resetForm()"/> |
| | | </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="10%"> |
| | | <col width=""> |
| | | <col width="10%"> |
| | | </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> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <script th:inline="javascript"> |
| | | var progress = [[${progress}]]; |
| | | var listDepot = [[${listDepot}]]; |
| | | //ä¸å¡æ¥éª¤ |
| | | var bizType = [[${bizType}]]; |
| | | //åºå
¥åºç±»å |
| | | var type = [[${type}]]; |
| | | //userId |
| | | var userId = [[${loginUser.loginName}]]; |
| | | |
| | | var checkUser = [[${loginUser.userName}]]; |
| | | |
| | | var companyId = [[${loginUser.companyId}]]; |
| | | //åç§ |
| | | var listFoodVariety = [[${listFoodVariety}]]; |
| | | //æ§è´¨ |
| | | var listFoodType = [[${listFoodType}]]; |
| | | var startTime = [[${startTime}]]; |
| | | var endTime = [[${endTime}]]; |
| | | var foodYear = [[${foodYear}]]; |
| | | //æ¦æ ·æºä¿¡æ¯ |
| | | var checkDto = [[${checkDto}]]; |
| | | |
| | | //æå±ååº |
| | | var deptId = [[${deptId}]]; |
| | | |
| | | var inoutProgress = [[${inoutProgress}]]; |
| | | |
| | | </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="@{/web/inout/inout-check.js}"></script> |
| | | |
| | | <script type="text/html" id="barControl"> |
| | | <a class="layui-btn control-btn" lay-event="edit">ç»æå½å
¥</a> |
| | | </script> |
| | | </body> |
| | | |
| | | <!-- æ«ç å¼¹çª --> |
| | | <div class="layui-tab-content" id="scanCodeDetail" style="display: none;" οnsubmit="return false;"> |
| | | <!-- 表ååºæ¬ä¿¡æ¯ --> |
| | | <form class="layui-form" id="form-sacnCodeDetail" lay-filter="form-sacnCodeDetail"> |
| | | <div class="layui-col-xs12"> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label">è´¨æ£åå·</label> |
| | | <div class="layui-input-block"> |
| | | <input type="text" id="checkId" name="checkId" placeholder="请æ«ç ï¼ä¹å¯æå¨è¾å
¥" class="layui-input"> |
| | | <!--è¿è¡ä»£ç ä¸è½å --> |
| | | <!--å½form表åä¸åªæä¸ä¸ªinputæ¶æå车æé®ä¼å·æ°é¡µé¢ï¼å æ¤æ·»å ä¸ä¸ªinputå¹¶éèï¼ä¸è½ä½¿ç¨type="hidden"æ¹å¼éè--> |
| | | <input type="text" id="hiddenText" name="hiddenText" style="display:none"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="layui-col-xs12" style="margin-bottom: 10px"> |
| | | <div style="padding-left: 50px; color: #2ab5ad;"> |
| | | <span style="font-weight: bold; margin-right: 10px;">夿³¨ï¼è´¨æ£åå·å¯ä»¥æ«ç ï¼ä¹å¯ä»¥æå¨è¾å
¥ï¼æå¨è¾å
¥åéè¦ç¹å»æ¥è¯¢</span> |
| | | </div> |
| | | </div> |
| | | </form> |
| | | </div> |
| | | |
| | | |
| | | <!-- æå¨å½ååéªä¿¡æ¯å¼¹çª --> |
| | | <div class="layui-tab-content" id="checkDetail" style="display: none;"> |
| | | |
| | | <!-- 表ååºæ¬ä¿¡æ¯ --> |
| | | <form class="layui-form" id="form-detail" lay-filter="form-detail"> |
| | | |
| | | <div class="layui-col-xs12" style="display: none;"> |
| | | <div class="layui-form-item"> |
| | | <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> |
| | | |
| | | <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" autocomplete="off" |
| | | class="layui-input input_ba" disabled=""> |
| | | </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="sampleUser" autocomplete="off" |
| | | class="layui-input input_ba" disabled=""> |
| | | </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="sampleTime" autocomplete="off" |
| | | class="layui-input input_ba" disabled=""> |
| | | </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="checkUser" autocomplete="off" |
| | | class="layui-input"> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="layui-col-xs4"> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label red">è£
å¸ä»åº</label> |
| | | <div class="layui-input-block"> |
| | | <select name="depotId" id="depotId" lay-filter="select_depot"> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="layui-col-xs4"> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label red">ç²®é£åç§</label> |
| | | <div class="layui-input-block"> |
| | | <select name="foodVariety" style="font-weight: bold" |
| | | id="foodVariety" lay-filter="select_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">è´¨æ£æ¶é´</label> |
| | | <div class="layui-input-block"> |
| | | <input type="text" name="checkTime" 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="price" id="price" |
| | | class="layui-input rkbk-search-input" placeholder="æ ¹æ®ç²®é£ç级带å
¥/æå¨å½å
¥"> |
| | | <em class="kccz-data-dw">å
/å
¬æ¤</em> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="layui-col-xs4"> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label red">ç²®é£ç级</label> |
| | | <div class="layui-input-block"> |
| | | <select id="foodLevel" name="foodLevel" lay-filter="select_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-xs4"> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label">ç²®é£å¹´ä»½</label> |
| | | <div class="layui-input-block"> |
| | | <input type="text" name="foodYear" placeholder="请è¾å
¥" autocomplete="off" |
| | | class="layui-input rkbk-search-input bg-date" id="foodYear"> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="layui-col-xs4"> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label red">ç²®é£æ§è´¨</label> |
| | | <div class="layui-input-block"> |
| | | <select id="foodType" name="foodType" lay-filter="select_foodType"> |
| | | <option value=""></option> |
| | | <option th:each="dic,dicSet:${listFoodType}" |
| | | 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 red">åéªç»æ</label> |
| | | <div class="layui-input-block"> |
| | | <select name="checkStatus" id="checkStatus"> |
| | | <option value="NONE">æªåéª</option> |
| | | <option value="PASS">åæ ¼</option> |
| | | <option value="UNPASS">ä¸åæ ¼</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="layui-col-xs12"> |
| | | <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-xs12" style="margin-bottom: 10px"> |
| | | <div style="padding-left: 50px; color: #2ab5ad;"> |
| | | <span style="font-weight: bold; margin-right: 10px;">夿³¨è¯´æï¼1.ç»æå¤å®ï¼ç³»ç»æ ¹æ®ååéªé¡¹ç»æå¤å®ï¼æååéªç»æéæå¨éæ©ç¡®è®¤ï¼2.æ ¸ç®å®ä»·ï¼æ ¹æ®åéªé¡¹é
置计ç®ç¸å
³å¢æ£ä»·ï¼æååä»·éæå¨ç¡®è®¤ã</span> |
| | | </div> |
| | | </div> |
| | | <div class="layui-col-xs6"> |
| | | <blockquote class="layui-elem-quote" style="width: 95%;float: left;"> |
| | | <div> |
| | | <span style="font-weight: bold; margin-right: 10px;">ç»æå¤å®ï¼</span> |
| | | <span id="check-result-tip" style="margin-right: 25px;">åéªç»æï¼</span> |
| | | </div> |
| | | </blockquote> |
| | | </div> |
| | | <div class="layui-col-xs6"> |
| | | <blockquote class="layui-elem-quote" style="width: 95%;float: right;"> |
| | | <div> |
| | | <span style="font-weight: bold; margin-right: 10px;">å®ä»·å¤å®ï¼</span> |
| | | <span id="check-result-tip2" style="margin-right: 25px;">æ¶ç²®åä»·ï¼#å
/å
¬æ¤</span> |
| | | </div> |
| | | </blockquote> |
| | | </div> |
| | | </form> |
| | | |
| | | <!-- åéªç»æä¿¡æ¯ --> |
| | | <table class="layui-table tableCheckItem" id="tableCheckItem" |
| | | lay-filter="tableCheckItem"> |
| | | <colgroup> |
| | | <col width="10%"> |
| | | <col width="10%"> |
| | | <col width="10%"> |
| | | <col width="10%"> |
| | | <col width="10%"> |
| | | <col width="10%"> |
| | | <col width="10%"> |
| | | <col width="10%"> |
| | | <col width="10%"> |
| | | <col width=""> |
| | | </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> |
| | | <th>夿³¨</th> |
| | | </tr> |
| | | </thead> |
| | | <tbody> |
| | | </tbody> |
| | | </table> |
| | | |
| | | </div> |
| | | |
| | | <!-- å¼¹åºæ¡çä¿¡æ¯ --> |
| | | <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> |
| | | </html> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <!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> |
| | | .kccz-r-btnbox { |
| | | width: 86px !important; |
| | | } |
| | | |
| | | .kccz-r-btn { |
| | | width: 86px !important; |
| | | } |
| | | |
| | | #text-param { |
| | | font-size: 14px; |
| | | color: red; |
| | | padding-left: 10px; |
| | | } |
| | | |
| | | .display-none { |
| | | display: none; |
| | | } |
| | | |
| | | .cursor { |
| | | cursor: pointer; |
| | | } |
| | | |
| | | .kccz-czxx-dl dt { |
| | | width: 25px; |
| | | height: 24px; |
| | | color: #000; |
| | | font-size: 18px; |
| | | } |
| | | |
| | | .kccz-left-box2 { |
| | | height: 400px; |
| | | } |
| | | |
| | | .color-red { |
| | | color: red !important; |
| | | } |
| | | |
| | | .layui-table td { |
| | | font-weight: bold; |
| | | } |
| | | |
| | | .layui-select-disabled .layui-disabled { |
| | | color: #000 !important; |
| | | } |
| | | |
| | | .depot-food input { |
| | | line-height: 34px; |
| | | padding-right: 10px; |
| | | font-size: 16px; |
| | | color: #666; |
| | | background: #eff4f6; |
| | | } |
| | | |
| | | .rk-step-wrap { |
| | | padding: 0px; |
| | | border-bottom: 0px; |
| | | text-align: center; |
| | | } |
| | | |
| | | .rkbk-quick { |
| | | margin-top: 15px !important; |
| | | } |
| | | |
| | | .kccz-con { |
| | | margin: 10px 0px; |
| | | } |
| | | |
| | | .border-no { |
| | | border: 0px; |
| | | } |
| | | |
| | | .qyzj-btnbox { |
| | | margin-top: 10px; |
| | | } |
| | | |
| | | .kccz-data-btnbox { |
| | | min-height: 38px; |
| | | padding-top: 2px; |
| | | } |
| | | |
| | | .layui-layer-title { |
| | | font-weight: bold; |
| | | } |
| | | |
| | | .rkbk-search-btn { |
| | | width: 100px; |
| | | height: 30px; |
| | | line-height: 30px; |
| | | font-size: 16px; |
| | | } |
| | | .r-360 { |
| | | right: 360px; |
| | | } |
| | | .r-240 { |
| | | right: 240px; |
| | | } |
| | | .r-120 { |
| | | right: 120px; |
| | | } |
| | | .rkbk-search-input { |
| | | background: #FFF !important; |
| | | } |
| | | |
| | | .rkbk-search-input.bg-date { |
| | | background: #FFF !important; |
| | | } |
| | | |
| | | #scaleName { |
| | | width: 130px; |
| | | height: 28px; |
| | | } |
| | | .layui-table, .layui-table-view { |
| | | margin: 0 0; |
| | | } |
| | | .layui-table-body { |
| | | max-height: 350px; |
| | | } |
| | | .video { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | .layui-form-radio { |
| | | margin: unset; |
| | | margin-top: 5px; |
| | | padding-right: unset; |
| | | } |
| | | .rk-step li { |
| | | width: 60px; |
| | | height: 40px; |
| | | display: inline-block; |
| | | margin: 0 20px; |
| | | position: relative; |
| | | } |
| | | |
| | | .kccz-r-box .rkbk-tit { |
| | | margin: 6px 0; |
| | | float: left; |
| | | width: 5%; |
| | | height: 100%; |
| | | text-align: center; |
| | | margin-left: 6px; |
| | | } |
| | | .kccz-r-con { |
| | | height: 215px; |
| | | position: relative; |
| | | float: right; |
| | | width: 90%; |
| | | margin: 10px 0; |
| | | } |
| | | .kccz-r-vedio { |
| | | width: 100%; |
| | | height: 100%; |
| | | background: #dee6ec; |
| | | } |
| | | .kccz-r-item { |
| | | height: 235px; |
| | | } |
| | | </style> |
| | | |
| | | </head> |
| | | |
| | | <body> |
| | | |
| | | <div class="l-container layui-clear"> |
| | | <div class="rk-main"> |
| | | <div class="kccz-con"> |
| | | <div class="kccz-left fl"> |
| | | <div class="kccz-left-box1 radius-6"> |
| | | <div class="rkbk-tit"> |
| | | <i></i> |
| | | <div> |
| | | <h3 style="width: 150px; float: left;">ç»è®°ä¿¡æ¯</h3> |
| | | <div style="float: right;margin-top: -5px"> |
| | | <button class="rkbk-quick-btn layui-btn btn-blue" onclick="weight()"> |
| | | <i><img th:src="@{/img/web/inout/icon-hyd.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> |
| | | </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">身份è¯å·</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">å° å</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 radius-6" style="margin-top: 10px"> |
| | | <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"> |
| | | <div class="rkbk-tit"> |
| | | <i></i> |
| | | <h3>ç§°éæ°æ®<span id="text-param"></span></h3> |
| | | <div style="float: right;margin-top: -35px"> |
| | | <button class="rkbk-quick-btn layui-btn" onclick="selectByHand()"> |
| | | <i><img th:src="@{/img/web/inout/icon-hyd.png}"/></i>éæ©è½¦è¾ |
| | | </button> |
| | | <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> |
| | | <div class="kccz-data-form layui-row"> |
| | | <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">车çå·</label> |
| | | <div class="layui-input-block"> |
| | | <input type="text" name="plateNum" id="plateNum" 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="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"> |
| | | <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="userName" placeholder="èªå¨å¸¦å
¥ï¼ä¸å¯ç¼è¾" class="layui-input" |
| | | disabled> |
| | | </div> |
| | | </div> |
| | | </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="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">身份è¯å·</label> |
| | | <div class="layui-input-block"> |
| | | <input type="text" name="userId" id="userId" 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"> |
| | | <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">å é</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">æ£é</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> |
| | | <!--kccz-left end--> |
| | | <div class="kccz-right fr"> |
| | | <ul class="rk-step" style="background-color: #FFFFFF;border-radius: 6px;margin-bottom: 10px;padding: 10px 0;"> |
| | | <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 class="kccz-r-item radius-6"> |
| | | <div class="kccz-r-box"> |
| | | <div class="rkbk-tit"> |
| | | <i style="margin: 8px 3px 0 3px"></i> |
| | | <h3>车çè¯å«è§é¢</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 style="margin: 8px 3px 0 3px"></i> |
| | | <h3>车顶ææè§é¢</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 style="margin: 8px 3px 0 3px"></i> |
| | | <h3>车尾ææè§é¢</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:inline="javascript"> |
| | | //æµç¨ç¯è |
| | | var inoutProgress = [[${inoutProgress}]]; |
| | | var progress = [[${progress}]]; |
| | | var deptId = [[${deptId}]]; |
| | | var listDepot = [[${listDepot}]]; |
| | | var weightEditTag = [[${weightEditTag}]]; |
| | | //userId |
| | | var userId = [[${loginUser.loginName}]]; |
| | | //åºå
¥åºç±»å |
| | | var type = [[${type}]]; |
| | | var companyId = [[${loginUser.companyId}]]; |
| | | |
| | | //å°ç£
ä¿¡æ¯ |
| | | var weightDto = [[${weightDto}]]; |
| | | |
| | | //è¿ç¨æå头 |
| | | var snapDto1 = [[${snapDto1}]]; |
| | | var snapDto2 = [[${snapDto2}]]; |
| | | var snapDto3 = [[${snapDto3}]]; |
| | | |
| | | </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/inout-print.js}"></script> |
| | | <script th:src="@{/inout/video-play.js}"></script> |
| | | <script th:src="@{/inout/weight.js}"></script> |
| | | <script th:src="@{/inout/inout-register.js}"></script> |
| | | |
| | | </body> |
| | | |
| | | <!-- å¼¹åºéç¥å --> |
| | | <div class="layui-tab-content" id="listNotice" style="display: none;"> |
| | | <table class="layui-table" lay-skin="nob" id="tableNotice" |
| | | lay-filter="tableNotice" style="margin: 0px;"></table> |
| | | </div> |
| | | |
| | | <!-- å¼¹åºç²®é£äº§å° --> |
| | | <div class="layui-tab-content" id="listFoodLocation" |
| | | style="display: none;"> |
| | | <table class="layui-table" lay-skin="nob" id="tableFoodLoaction" |
| | | lay-filter="tableFoodLoaction" style="margin: 0px;"></table> |
| | | </div> |
| | | |
| | | <!-- è´¨æ£ä¿¡æ¯ --> |
| | | <div class="layui-tab-content" id="checkDetail" style="display: none;"> |
| | | <!-- åéªç»æä¿¡æ¯ --> |
| | | <table class="layui-table tableCheckItem" id="tableCheckItem" |
| | | lay-filter="tableCheckItem"> |
| | | <colgroup><col><col><col><col><col><col><col><col><col><col> |
| | | </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> |
| | | <th>夿³¨</th> |
| | | </tr> |
| | | </thead> |
| | | <tbody> |
| | | </tbody> |
| | | </table> |
| | | </div> |
| | | <!-- æµç¨æ°æ®ä¿¡æ¯ --> |
| | | <div class="layui-tab-content" id="listProgressData" style="display: none;"> |
| | | <table class="layui-table tableListProgressData" id="tableListProgressData" |
| | | lay-filter="tableListProgressData"> |
| | | <thead> |
| | | <tr class="qyzj-table-tit"> |
| | | <th>åæ®å·</th><th>æ¿è¿äºº</th><th>车çå·</th><th>æä½</th> |
| | | </tr> |
| | | </thead> |
| | | <tbody> |
| | | </tbody> |
| | | </table> |
| | | </div> |
| | | |
| | | <!-- å¼¹åºæ¡çä¿¡æ¯ --> |
| | | <div class="layui-tab-content" id="dialog-from-notify" style="display: none;"> |
| | | <table class="layui-table"> |
| | | <colgroup> |
| | | <col> |
| | | </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> |
| | | |
| | | <script type="text/html" id="toolbarFoodLocaton"> |
| | | <div class=""> |
| | | <div class="layui-col-xs6"> |
| | | <input type="text" id="key2" placeholder="è¾å
¥ç¼ç æè
åç§°â¦â¦" class="layui-input"> |
| | | </div> |
| | | <div class="layui-col-xs6" style="padding-left: 10px;"> |
| | | <button class="layui-btn layui-btn-sm" onclick="flushFoodLocation()">æ¥è¯¢</button> |
| | | </div> |
| | | </div> |
| | | </script> |
| | | |
| | | <script type="text/html" id="barSelectProgress"> |
| | | <a class="layui-btn layui-btn-xs" lay-event="select">éæ©ç§°é</a> |
| | | </script> |
| | | |
| | | </html> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <!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> |
| | | .kccz-r-btnbox { |
| | | width: 86px !important; |
| | | } |
| | | |
| | | .kccz-r-btn { |
| | | width: 86px !important; |
| | | } |
| | | |
| | | #text-param { |
| | | font-size: 14px; |
| | | color: red; |
| | | padding-left: 10px; |
| | | } |
| | | |
| | | .display-none { |
| | | display: none; |
| | | } |
| | | |
| | | .cursor { |
| | | cursor: pointer; |
| | | } |
| | | |
| | | .kccz-czxx-dl dt { |
| | | width: 25px; |
| | | height: 24px; |
| | | color: #000; |
| | | font-size: 18px; |
| | | } |
| | | |
| | | .kccz-left-box2 { |
| | | height: 555px; |
| | | } |
| | | |
| | | .color-red { |
| | | color: red !important; |
| | | } |
| | | |
| | | .layui-table td { |
| | | font-weight: bold; |
| | | } |
| | | |
| | | .layui-select-disabled .layui-disabled { |
| | | color: #000 !important; |
| | | } |
| | | |
| | | .depot-food input { |
| | | line-height: 34px; |
| | | padding-right: 10px; |
| | | font-size: 16px; |
| | | color: #666; |
| | | background: #eff4f6; |
| | | } |
| | | |
| | | .rk-step-wrap { |
| | | padding: 0px; |
| | | border-bottom: 0px; |
| | | text-align: center; |
| | | } |
| | | |
| | | .rkbk-quick { |
| | | margin-top: 15px !important; |
| | | } |
| | | |
| | | .kccz-con { |
| | | margin: 10px 0px; |
| | | } |
| | | |
| | | .border-no { |
| | | border: 0px; |
| | | } |
| | | |
| | | .qyzj-btnbox { |
| | | margin-top: 10px; |
| | | } |
| | | |
| | | .kccz-data-btnbox { |
| | | min-height: 38px; |
| | | padding-top: 2px; |
| | | } |
| | | |
| | | .layui-layer-title { |
| | | font-weight: bold; |
| | | } |
| | | |
| | | .rkbk-search-btn { |
| | | width: 100px; |
| | | height: 30px; |
| | | line-height: 30px; |
| | | font-size: 16px; |
| | | } |
| | | .r-360 { |
| | | right: 360px; |
| | | } |
| | | .r-240 { |
| | | right: 240px; |
| | | } |
| | | .r-120 { |
| | | right: 120px; |
| | | } |
| | | .rkbk-search-input { |
| | | background: #FFF !important; |
| | | } |
| | | |
| | | .rkbk-search-input.bg-date { |
| | | background: #FFF !important; |
| | | } |
| | | |
| | | #scaleName { |
| | | width: 130px; |
| | | height: 28px; |
| | | } |
| | | .layui-table, .layui-table-view { |
| | | margin: 0 0; |
| | | } |
| | | .layui-table-body { |
| | | max-height: 350px; |
| | | } |
| | | .video { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | .layui-form-radio { |
| | | margin: unset; |
| | | margin-top: 5px; |
| | | padding-right: unset; |
| | | } |
| | | |
| | | .kccz-r-box .rkbk-tit { |
| | | margin: 6px 0; |
| | | float: left; |
| | | width: 5%; |
| | | height: 100%; |
| | | text-align: center; |
| | | margin-left: 6px; |
| | | } |
| | | .kccz-r-con { |
| | | height: 215px; |
| | | position: relative; |
| | | float: right; |
| | | width: 90%; |
| | | margin: 10px 0; |
| | | } |
| | | .kccz-r-vedio { |
| | | width: 100%; |
| | | height: 100%; |
| | | background: #dee6ec; |
| | | } |
| | | .kccz-r-item { |
| | | height: 235px; |
| | | } |
| | | </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-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" onclick="showCheck()"> |
| | | <i><img th:src="@{/img/web/inout/icon-hyd.png}"/></i>è´¨æ£è¯¦ç» |
| | | </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"> |
| | | <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" class="active"> |
| | | <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"> |
| | | <div class="kccz-left fl"> |
| | | <div class="kccz-left-box1 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"> |
| | | <div class="rkbk-tit"> |
| | | <i></i> |
| | | <h3>ä¸å¡æ°æ®<span id="text-param"></span></h3> |
| | | </div> |
| | | <div class="kccz-data-form layui-row"> |
| | | <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">车çå·</label> |
| | | <div class="layui-input-block"> |
| | | <input type="text" name="plateNum" id="plateNum" 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="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"> |
| | | <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="userName" placeholder="èªå¨å¸¦å
¥ï¼ä¸å¯ç¼è¾" class="layui-input" |
| | | disabled> |
| | | </div> |
| | | </div> |
| | | </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="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">身份è¯å·</label> |
| | | <div class="layui-input-block"> |
| | | <input type="text" name="userId" id="userId" 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"> |
| | | <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">å é</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">æ£é</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> |
| | | <!--kccz-left end--> |
| | | <div class="kccz-right fr"> |
| | | <div class="kccz-r-item radius-6"> |
| | | <div class="kccz-r-box"> |
| | | <div class="rkbk-tit"> |
| | | <i style="margin: 8px 3px 0 3px"></i> |
| | | <h3>车çè¯å«è§é¢</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 style="margin: 8px 3px 0 3px"></i> |
| | | <h3>车顶ææè§é¢</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 style="margin: 8px 3px 0 3px"></i> |
| | | <h3>车尾ææè§é¢</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:inline="javascript"> |
| | | //æµç¨ç¯è |
| | | var inoutProgress = [[${inoutProgress}]]; |
| | | var progress = [[${progress}]]; |
| | | var deptId = [[${deptId}]]; |
| | | var listDepot = [[${listDepot}]]; |
| | | //ä¸å¡æ¥éª¤ |
| | | var bizType = [[${bizType}]]; |
| | | var weightEditTag = [[${weightEditTag}]]; |
| | | //userId |
| | | var userId = [[${loginUser.loginName}]]; |
| | | //åºå
¥åºç±»å |
| | | var type = [[${type}]]; |
| | | var companyId = [[${loginUser.companyId}]]; |
| | | //åç§ |
| | | var listFoodVariety = [[${listFoodVariety}]]; |
| | | |
| | | //å°ç£
ä¿¡æ¯ |
| | | var weightDto = [[${weightDto}]]; |
| | | |
| | | //è¿ç¨æå头 |
| | | var snapDto1 = [[${snapDto1}]]; |
| | | var snapDto2 = [[${snapDto2}]]; |
| | | var snapDto3 = [[${snapDto3}]]; |
| | | var gateDto = [[${gateDto}]]; |
| | | //æºæ
§å¡ |
| | | var cardDto = [[${cardDto}]]; |
| | | |
| | | 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/inout-print.js}"></script> |
| | | <script th:src="@{/inout/video-play.js}"></script> |
| | | <script th:src="@{/inout/weight.js}"></script> |
| | | <script th:src="@{/web/inout/inout-weight.js}"></script> |
| | | |
| | | </body> |
| | | |
| | | <!-- å¼¹åºéç¥å --> |
| | | <div class="layui-tab-content" id="listNotice" style="display: none;"> |
| | | <table class="layui-table" lay-skin="nob" id="tableNotice" |
| | | lay-filter="tableNotice" style="margin: 0px;"></table> |
| | | </div> |
| | | |
| | | <!-- å¼¹åºç²®é£äº§å° --> |
| | | <div class="layui-tab-content" id="listFoodLocation" |
| | | style="display: none;"> |
| | | <table class="layui-table" lay-skin="nob" id="tableFoodLoaction" |
| | | lay-filter="tableFoodLoaction" style="margin: 0px;"></table> |
| | | </div> |
| | | |
| | | <!-- è´¨æ£ä¿¡æ¯ --> |
| | | <div class="layui-tab-content" id="checkDetail" style="display: none;"> |
| | | <!-- åéªç»æä¿¡æ¯ --> |
| | | <table class="layui-table tableCheckItem" id="tableCheckItem" |
| | | lay-filter="tableCheckItem"> |
| | | <colgroup><col><col><col><col><col><col><col><col><col><col> |
| | | </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> |
| | | <th>夿³¨</th> |
| | | </tr> |
| | | </thead> |
| | | <tbody> |
| | | </tbody> |
| | | </table> |
| | | </div> |
| | | <!-- æµç¨æ°æ®ä¿¡æ¯ --> |
| | | <div class="layui-tab-content" id="listProgressData" style="display: none;"> |
| | | <table class="layui-table tableListProgressData" id="tableListProgressData" |
| | | lay-filter="tableListProgressData"> |
| | | <thead> |
| | | <tr class="qyzj-table-tit"> |
| | | <th>åæ®å·</th><th>æ¿è¿äºº</th><th>车çå·</th><th>æä½</th> |
| | | </tr> |
| | | </thead> |
| | | <tbody> |
| | | </tbody> |
| | | </table> |
| | | </div> |
| | | |
| | | <!-- å¼¹åºæ¡çä¿¡æ¯ --> |
| | | <div class="layui-tab-content" id="dialog-from-notify" style="display: none;"> |
| | | <table class="layui-table"> |
| | | <colgroup> |
| | | <col> |
| | | </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> |
| | | |
| | | <script type="text/html" id="toolbarFoodLocaton"> |
| | | <div class=""> |
| | | <div class="layui-col-xs6"> |
| | | <input type="text" id="key2" placeholder="è¾å
¥ç¼ç æè
åç§°â¦â¦" class="layui-input"> |
| | | </div> |
| | | <div class="layui-col-xs6" style="padding-left: 10px;"> |
| | | <button class="layui-btn layui-btn-sm" onclick="flushFoodLocation()">æ¥è¯¢</button> |
| | | </div> |
| | | </div> |
| | | </script> |
| | | |
| | | <script type="text/html" id="barSelectProgress"> |
| | | <a class="layui-btn layui-btn-xs" lay-event="select">éæ©ç§°é</a> |
| | | </script> |
| | | |
| | | </html> |
| | |
| | | <script src="../static/ajax/libs/layer/layer.min.js" th:src="@{/ajax/libs/layer/layer.min.js}"></script> |
| | | <script src="../static/ajax/libs/blockUI/jquery.blockUI.js" th:src="@{/ajax/libs/blockUI/jquery.blockUI.js}"></script> |
| | | <script src="../static/ruoyi/js/ry-ui.js" th:src="@{/ruoyi/js/ry-ui.js?v=4.7.8}"></script> |
| | | <script src="../static/ruoyi/register.js" th:src="@{/ruoyi/register.js}"></script> |
| | | <script src="../static/ruoyi/register.js" th:src="@{/ruoyi/inout-register.js}"></script> |
| | | </body> |
| | | </html> |