diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/ehs/EhsMaterialDetailController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/ehs/EhsMaterialDetailController.java
new file mode 100644
index 0000000..ad53724
--- /dev/null
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/ehs/EhsMaterialDetailController.java
@@ -0,0 +1,127 @@
+package com.ruoyi.web.controller.ehs;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Arrays;
+import javax.servlet.http.HttpServletResponse;
+
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.ehsMaterial.domain.EhsMaterial;
+import com.ruoyi.ehsMaterial.service.IEhsMaterialService;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.ehsMaterialDetail.domain.EhsMaterialDetail;
+import com.ruoyi.ehsMaterialDetail.service.IEhsMaterialDetailService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 资源管理出库入库明细Controller
+ *
+ * @author ruoyi
+ * @date 2023-12-05
+ */
+@Api(tags="资源管理出库入库明细管理")
+@RestController
+@RequestMapping("/EhsMaterialDetail/EhsMaterialDetail")
+public class EhsMaterialDetailController extends BaseController
+{
+    @Autowired
+    private IEhsMaterialDetailService ehsMaterialDetailService;
+	@Autowired
+	private IEhsMaterialService ehsMaterialService;
+/**
+ * 查询资源管理出库入库明细列表
+ */
+@PreAuthorize("@ss.hasPermi('EhsMaterialDetail:EhsMaterialDetail:list')")
+@GetMapping("/list")
+	public TableDataInfo list(EhsMaterialDetail ehsMaterialDetail)
+	{
+		startPage();
+		List<EhsMaterialDetail> list = ehsMaterialDetailService.selectEhsMaterialDetailList(ehsMaterialDetail);
+		return getDataTable(list);
+	}
+
+	/**
+	 * 导出资源管理出库入库明细列表
+	 */
+	@PreAuthorize("@ss.hasPermi('EhsMaterialDetail:EhsMaterialDetail:export')")
+	@Log(title = "资源管理出库入库明细", businessType = BusinessType.EXPORT)
+	@PostMapping("/export")
+	public void export(HttpServletResponse response, EhsMaterialDetail ehsMaterialDetail)
+	{
+		List<EhsMaterialDetail> list = ehsMaterialDetailService.selectEhsMaterialDetailList(ehsMaterialDetail);
+		ExcelUtil<EhsMaterialDetail> util = new ExcelUtil<EhsMaterialDetail>(EhsMaterialDetail.class);
+		util.exportExcel(response, list, "资源管理出库入库明细数据");
+	}
+
+	/**
+	 * 获取资源管理出库入库明细详细信息
+	 */
+	@PreAuthorize("@ss.hasPermi('EhsMaterialDetail:EhsMaterialDetail:query')")
+	@GetMapping(value = "/{materialDetailId}")
+	public AjaxResult getInfo(@PathVariable("materialDetailId") Long materialDetailId)
+	{
+		return success(ehsMaterialDetailService.selectEhsMaterialDetailByMaterialDetailId(materialDetailId));
+	}
+
+    /**
+     * 新增资源管理出库入库明细
+     */
+    @ApiOperation("新增资源管理出库入库明细")
+    @PreAuthorize("@ss.hasPermi('EhsMaterialDetail:EhsMaterialDetail:add')")
+    @Log(title = "资源管理出库入库明细", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody EhsMaterialDetail ehsMaterialDetail)
+    {
+	    ehsMaterialDetail.setSendTime(new Date());
+	    ehsMaterialDetail.setSendUserId(SecurityUtils.getUserId());
+        return toAjax(ehsMaterialDetailService.save(ehsMaterialDetail));
+    }
+
+    /**
+     * 修改资源管理出库入库明细
+     */
+    @ApiOperation("执行出库指令")
+    @PreAuthorize("@ss.hasPermi('EhsMaterialDetail:EhsMaterialDetail:edit')")
+    @Log(title = "执行出库指令", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody EhsMaterialDetail ehsMaterialDetail)
+    {
+	    ehsMaterialDetail.setOutboundTime(new Date());
+	    ehsMaterialDetail.setOutboundUserId(SecurityUtils.getUserId());
+	    EhsMaterialDetail md = ehsMaterialDetailService.selectEhsMaterialDetailByMaterialDetailId(ehsMaterialDetail.getMaterialDetailId());
+	    ehsMaterialDetail.setOutboundQuantity(md.getOutboundQuantity()) ;
+	    //更新物资表数量
+	    EhsMaterial ehsMaterial = ehsMaterialService.selectEhsMaterialByMaterialId(ehsMaterialDetail.getMaterialDetailId());
+	    ehsMaterial.setMaterialQuantity(String.valueOf(Long.parseLong(ehsMaterial.getMaterialQuantity())- Long.parseLong(md.getSendQuantity()) ));
+	    return toAjax(ehsMaterialDetailService.updateById(ehsMaterialDetail));
+    }
+
+    /**
+     * 删除资源管理出库入库明细
+     */
+    @ApiOperation("按物资表删除未执行出库指令")
+    @PreAuthorize("@ss.hasPermi('EhsMaterialDetail:EhsMaterialDetail:remove')")
+    @Log(title = "按物资表删除未执行出库指令", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{materialDetailIds}")
+    public AjaxResult remove(@PathVariable Long  materialId)
+    {
+        //return toAjax(ehsMaterialDetailService.removeByIds(Arrays.asList(materialDetailIds)));
+	    return toAjax(ehsMaterialDetailService.deleteEhsMaterialDetailByMaterialId(materialId));
+    }
+}
diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml
index d73f497..7919ea1 100644
--- a/ruoyi-admin/src/main/resources/application.yml
+++ b/ruoyi-admin/src/main/resources/application.yml
@@ -18,7 +18,7 @@ ruoyi:
 # 开发环境配置
 server:
   # 服务器的HTTP端口,默认为8080
-  port: 8080
+  port: 8083
   servlet:
     # 应用的访问路径
     context-path: /
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/BaseEntity.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/BaseEntity.java
index 74dec0a..5b75c06 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/BaseEntity.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/BaseEntity.java
@@ -38,6 +38,7 @@ public class BaseEntity implements Serializable
     private Long deptId;
     /** 上报部门 */
     @Excel(name = "上报部门")
+    @TableField(exist = false)
     private String  deptName;
     /** 创建时间 */
     @TableField(fill = FieldFill.INSERT)
diff --git a/ruoyi-system/src/main/java/com/ruoyi/ehsMaterial/domain/EhsMaterial.java b/ruoyi-system/src/main/java/com/ruoyi/ehsMaterial/domain/EhsMaterial.java
index be5b6af..1731a1c 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/ehsMaterial/domain/EhsMaterial.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/ehsMaterial/domain/EhsMaterial.java
@@ -65,7 +65,10 @@ public class EhsMaterial extends BaseEntity
     /** 联系电话 */
     @Excel(name = "联系电话")
     private String tel;
-
+    /** 上报部门 */
+    @Excel(name = "待处理出库")
+    @TableField(exist = false)
+    private String  sendQuantity;
 
 
 }
diff --git a/ruoyi-system/src/main/java/com/ruoyi/ehsMaterial/service/impl/EhsMaterialServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/ehsMaterial/service/impl/EhsMaterialServiceImpl.java
index 0155774..f452cba 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/ehsMaterial/service/impl/EhsMaterialServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/ehsMaterial/service/impl/EhsMaterialServiceImpl.java
@@ -3,6 +3,7 @@ package com.ruoyi.ehsMaterial.service.impl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.ruoyi.common.utils.SecurityUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.beans.factory.annotation.Autowired;
 import com.ruoyi.common.utils.StringUtils;
@@ -45,6 +46,10 @@ public class EhsMaterialServiceImpl extends ServiceImpl<EhsMaterialMapper, EhsMa
     @Override
     public List<EhsMaterial> selectEhsMaterialList(EhsMaterial ehsMaterial)
     {
+        if(SecurityUtils.getLoginUser().getUser().getDept().getParentId()!=null &&
+                SecurityUtils.getLoginUser().getUser().getDept().getParentId().longValue()!=0){
+            ehsMaterial.setDeptId(SecurityUtils.getLoginUser().getUser().getDept().getParentId().longValue());
+        }
         return ehsMaterialMapper.selectEhsMaterialList(ehsMaterial);
     }
 
diff --git a/ruoyi-system/src/main/java/com/ruoyi/ehsMaterialDetail/domain/EhsMaterialDetail.java b/ruoyi-system/src/main/java/com/ruoyi/ehsMaterialDetail/domain/EhsMaterialDetail.java
new file mode 100644
index 0000000..4dc9b4b
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/ehsMaterialDetail/domain/EhsMaterialDetail.java
@@ -0,0 +1,70 @@
+package com.ruoyi.ehsMaterialDetail.domain;
+
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * 资源管理出库入库明细对象 ehs_material_detail
+ *
+ * @author ruoyi
+ * @date 2023-12-05
+ */
+@Data
+@ToString
+@NoArgsConstructor
+@Accessors(chain = true)
+@TableName("ehs_material_detail")
+public class EhsMaterialDetail extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 主键 */
+    @TableId(type= IdType.AUTO)
+    private Long materialDetailId;
+
+    /** 物资表 */
+    @Excel(name = "物资表")
+    private Long materialId;
+
+    /** 出库指令发送人 */
+    @Excel(name = "出库指令发送人")
+    @TableField(exist = false)
+    private String sendUserName;
+    private Long sendUserId;
+
+    /** 出库指令发送数量 */
+    @Excel(name = "出库指令发送数量")
+    private String sendQuantity;
+
+    /** 出库指令发送时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "出库指令发送时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date sendTime;
+
+    /** 出库人 */
+    @Excel(name = "出库人")
+    @TableField(exist = false)
+    private String outboundUserName;
+    private Long outboundUserId;
+
+    /** 出库数量 */
+    @Excel(name = "出库数量")
+    private String outboundQuantity;
+
+    /** 出库时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "出库时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date outboundTime;
+
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/ehsMaterialDetail/mapper/EhsMaterialDetailMapper.java b/ruoyi-system/src/main/java/com/ruoyi/ehsMaterialDetail/mapper/EhsMaterialDetailMapper.java
new file mode 100644
index 0000000..82f1cc6
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/ehsMaterialDetail/mapper/EhsMaterialDetailMapper.java
@@ -0,0 +1,37 @@
+package com.ruoyi.ehsMaterialDetail.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ruoyi.ehsMaterialDetail.domain.EhsMaterialDetail;
+import java.util.List;
+
+/**
+ * 资源管理出库入库明细Mapper接口
+ *
+ * @author ruoyi
+ * @date 2023-12-05
+ */
+public interface EhsMaterialDetailMapper extends BaseMapper<EhsMaterialDetail> {
+	/**
+	 * 查询资源管理出库入库明细
+	 *
+	 * @param materialDetailId 资源管理出库入库明细主键
+	 * @return 资源管理出库入库明细
+	 */
+	public EhsMaterialDetail selectEhsMaterialDetailByMaterialDetailId(Long materialDetailId);
+
+	/**
+	 * 查询资源管理出库入库明细列表
+	 *
+	 * @param ehsMaterialDetail 资源管理出库入库明细
+	 * @return 资源管理出库入库明细集合
+	 */
+	public List<EhsMaterialDetail> selectEhsMaterialDetailList(EhsMaterialDetail ehsMaterialDetail);
+
+	/**
+	 * 按主表id删除未执行指令的记录
+	 *
+	 * @param materialId 物资表ID
+	 * @return 结果
+	 */
+	public int deleteEhsMaterialDetailByMaterialId(Long materialId);
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/ehsMaterialDetail/service/IEhsMaterialDetailService.java b/ruoyi-system/src/main/java/com/ruoyi/ehsMaterialDetail/service/IEhsMaterialDetailService.java
new file mode 100644
index 0000000..fe33bce
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/ehsMaterialDetail/service/IEhsMaterialDetailService.java
@@ -0,0 +1,37 @@
+package com.ruoyi.ehsMaterialDetail.service;
+
+import java.util.List;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.ruoyi.ehsMaterialDetail.domain.EhsMaterialDetail;
+
+/**
+ * 资源管理出库入库明细Service接口
+ *
+ * @author ruoyi
+ * @date 2023-12-05
+ */
+public interface IEhsMaterialDetailService extends IService<EhsMaterialDetail> {
+
+	/**
+	 * 查询资源管理出库入库明细
+	 *
+	 * @param materialDetailId 资源管理出库入库明细主键
+	 * @return 资源管理出库入库明细
+	 */
+	public EhsMaterialDetail selectEhsMaterialDetailByMaterialDetailId(Long materialDetailId);
+
+	/**
+	 * 查询资源管理出库入库明细列表
+	 *
+	 * @param ehsMaterialDetail 资源管理出库入库明细
+	 * @return 资源管理出库入库明细集合
+	 */
+	public List<EhsMaterialDetail> selectEhsMaterialDetailList(EhsMaterialDetail ehsMaterialDetail);
+	/**
+	 * 按主表id删除未执行指令的记录
+	 *
+	 * @param materialId 物资表ID
+	 * @return 结果
+	 */
+	public int deleteEhsMaterialDetailByMaterialId(Long materialId);
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/ehsMaterialDetail/service/impl/EhsMaterialDetailServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/ehsMaterialDetail/service/impl/EhsMaterialDetailServiceImpl.java
new file mode 100644
index 0000000..b2a0714
--- /dev/null
+++ b/ruoyi-system/src/main/java/com/ruoyi/ehsMaterialDetail/service/impl/EhsMaterialDetailServiceImpl.java
@@ -0,0 +1,76 @@
+package com.ruoyi.ehsMaterialDetail.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import org.springframework.stereotype.Service;
+import org.springframework.beans.factory.annotation.Autowired;
+import com.ruoyi.common.utils.StringUtils;
+import java.util.List;
+import java.util.Map;
+import com.ruoyi.ehsMaterialDetail.mapper.EhsMaterialDetailMapper;
+import com.ruoyi.ehsMaterialDetail.domain.EhsMaterialDetail;
+import com.ruoyi.ehsMaterialDetail.service.IEhsMaterialDetailService;
+
+/**
+ * 资源管理出库入库明细Service业务层处理
+ *
+ * @author ruoyi
+ * @date 2023-12-05
+ */
+@Service
+public class EhsMaterialDetailServiceImpl extends ServiceImpl<EhsMaterialDetailMapper, EhsMaterialDetail> implements IEhsMaterialDetailService {
+
+	@Autowired
+	private EhsMaterialDetailMapper ehsMaterialDetailMapper;
+
+	/**
+	 * 查询资源管理出库入库明细
+	 *
+	 * @param materialDetailId 资源管理出库入库明细主键
+	 * @return 资源管理出库入库明细
+	 */
+	@Override
+	public EhsMaterialDetail selectEhsMaterialDetailByMaterialDetailId(Long materialDetailId)
+	{
+		return ehsMaterialDetailMapper.selectEhsMaterialDetailByMaterialDetailId(materialDetailId);
+	}
+
+	/**
+	 * 查询资源管理出库入库明细列表
+	 *
+	 * @param ehsMaterialDetail 资源管理出库入库明细
+	 * @return 资源管理出库入库明细
+	 */
+	@Override
+	public List<EhsMaterialDetail> selectEhsMaterialDetailList(EhsMaterialDetail ehsMaterialDetail)
+	{
+		return ehsMaterialDetailMapper.selectEhsMaterialDetailList(ehsMaterialDetail);
+	}
+	/**
+	 * 按主表id删除未执行指令的记录
+	 *
+	 * @param materialId 物资表ID
+	 * @return 结果
+	 */
+	@Override
+	public int deleteEhsMaterialDetailByMaterialId(Long materialId){
+		return ehsMaterialDetailMapper.deleteEhsMaterialDetailByMaterialId(materialId);
+	}
+
+	private LambdaQueryWrapper<EhsMaterialDetail> buildQueryWrapper(EhsMaterialDetail query) {
+		Map<String, Object> params = query.getParams();
+		LambdaQueryWrapper<EhsMaterialDetail> lqw = Wrappers.lambdaQuery();
+					lqw.eq(query.getMaterialId() != null, EhsMaterialDetail::getMaterialId, query.getMaterialId());
+					lqw.eq(query.getSendUserId() != null, EhsMaterialDetail::getSendUserId, query.getSendUserId());
+					lqw.eq(StringUtils.isNotBlank(query.getSendQuantity()), EhsMaterialDetail::getSendQuantity, query.getSendQuantity());
+					lqw.eq(query.getSendTime() != null, EhsMaterialDetail::getSendTime, query.getSendTime());
+					lqw.eq(query.getOutboundUserId() != null, EhsMaterialDetail::getOutboundUserId, query.getOutboundUserId());
+					lqw.eq(StringUtils.isNotBlank(query.getOutboundQuantity()), EhsMaterialDetail::getOutboundQuantity, query.getOutboundQuantity());
+					lqw.eq(query.getOutboundTime() != null, EhsMaterialDetail::getOutboundTime, query.getOutboundTime());
+				lqw.orderByDesc(EhsMaterialDetail::getCreateTime);
+					lqw.eq(query.getDeptId() != null, EhsMaterialDetail::getDeptId, query.getDeptId());
+		return lqw;
+	}
+
+}
diff --git a/ruoyi-system/src/main/java/com/ruoyi/ehsRisk/service/impl/EhsRiskServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/ehsRisk/service/impl/EhsRiskServiceImpl.java
index 9b3e63d..50c8a0a 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/ehsRisk/service/impl/EhsRiskServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/ehsRisk/service/impl/EhsRiskServiceImpl.java
@@ -47,7 +47,7 @@ public class EhsRiskServiceImpl extends ServiceImpl<EhsRiskMapper, EhsRisk> impl
     {
         if(SecurityUtils.getLoginUser().getUser().getDept().getParentId()!=null &&
                 SecurityUtils.getLoginUser().getUser().getDept().getParentId().longValue()!=0){
-            ehsRisk.setDeptId(SecurityUtils.getLoginUser().getUser().getDept().getParentId().longValue());
+            ehsRisk.setDeptId(SecurityUtils.getLoginUser().getUser().getDept().getDeptId().longValue());
         }
         return ehsRiskMapper.selectEhsRiskList(ehsRisk);
     }
diff --git a/ruoyi-system/src/main/resources/mapper/ehs/EhsMaterialDetailMapper.xml b/ruoyi-system/src/main/resources/mapper/ehs/EhsMaterialDetailMapper.xml
new file mode 100644
index 0000000..1372dc1
--- /dev/null
+++ b/ruoyi-system/src/main/resources/mapper/ehs/EhsMaterialDetailMapper.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.ruoyi.ehsMaterialDetail.mapper.EhsMaterialDetailMapper">
+
+    <resultMap type="EhsMaterialDetail" id="EhsMaterialDetailResult">
+            <result property="materialDetailId"    column="material_detail_id"    />
+            <result property="materialId"    column="material_id"    />
+            <result property="sendUserId"    column="send_user_id"    />
+            <result property="sendUserName"    column="send_user_name"    />
+            <result property="sendQuantity"    column="send_quantity"    />
+            <result property="sendTime"    column="send_time"    />
+            <result property="outboundUserId"    column="outbound_user_id"    />
+            <result property="outboundUserName"    column="outbound_user_Name"    />
+            <result property="outboundQuantity"    column="outbound_quantity"    />
+            <result property="outboundTime"    column="outbound_time"    />
+            <result property="createBy"    column="create_by"    />
+            <result property="createTime"    column="create_time"    />
+            <result property="updateBy"    column="update_by"    />
+            <result property="updateTime"    column="update_time"    />
+            <result property="remark"    column="remark"    />
+            <result property="deptId"    column="dept_id"    />
+            <result property="createUserId"    column="create_user_id"    />
+    </resultMap>
+
+    <sql id="selectEhsMaterialDetailVo">
+        select mt.*,u1.nick_name send_user_name,u2.nick_name outbound_user_Name
+        from ehs_material_detail mt left join sys_user u1 on mt.send_user_id=u1.user_id
+        left join sys_user u2 on mt.outbound_user_id=u2.user_id
+    </sql>
+
+    <select id="selectEhsMaterialDetailList" parameterType="EhsMaterialDetail" resultMap="EhsMaterialDetailResult">
+        <include refid="selectEhsMaterialDetailVo"/>
+        <where>
+                        <if test="materialId != null "> and material_id = #{materialId}</if>
+                        <if test="sendUserId != null "> and send_user_id = #{sendUserId}</if>
+                        <if test="sendQuantity != null  and sendQuantity != ''"> and send_quantity = #{sendQuantity}</if>
+                        <if test="sendTime != null "> and send_time = #{sendTime}</if>
+                        <if test="outboundUserId != null "> and outbound_user_id = #{outboundUserId}</if>
+                        <if test="outboundQuantity != null  and outboundQuantity != ''"> and outbound_quantity = #{outboundQuantity}</if>
+                        <if test="outboundTime != null "> and outbound_time = #{outboundTime}</if>
+                        <if test="deptId != null "> and dept_id = #{deptId}</if>
+        </where>
+    </select>
+
+    <select id="selectEhsMaterialDetailByMaterialDetailId" parameterType="Long" resultMap="EhsMaterialDetailResult">
+            <include refid="selectEhsMaterialDetailVo"/>
+            where material_detail_id = #{materialDetailId}
+    </select>
+
+    <delete id="deleteEhsMaterialDetailByMaterialId" parameterType="Long">
+        delete from ehs_material_detail where material_id = #{materialId} and outbound_user_id is null
+    </delete>
+
+
+</mapper>
\ No newline at end of file
diff --git a/ruoyi-system/src/main/resources/mapper/ehs/EhsMaterialMapper.xml b/ruoyi-system/src/main/resources/mapper/ehs/EhsMaterialMapper.xml
index aa279ce..dc5562b 100644
--- a/ruoyi-system/src/main/resources/mapper/ehs/EhsMaterialMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/ehs/EhsMaterialMapper.xml
@@ -15,6 +15,7 @@
         <result property="reserveLocation"    column="reserve_location"    />
         <result property="managerPerson"    column="Manager_person"    />
         <result property="tel"    column="tel"    />
+        <result property="sendQuantity"    column="send_quantity"    />
         <result property="createBy"    column="create_by"    />
         <result property="createTime"    column="create_time"    />
         <result property="updateBy"    column="update_by"    />
@@ -26,12 +27,18 @@
     </resultMap>
 
     <sql id="selectEhsMaterialVo">
-        select material_id, material_type, class_first, class_second, material_name, material_specs, material_quantity, reserve_location, Manager_person, tel, create_by, create_time, update_by, update_time, remark, dept_id, create_user_id, update_user_id from ehs_material
+        select m.* , d.dept_name,a.send_quantity   from ehs_material m
+             left join sys_dept d on m.dept_id = d.dept_id
+             left join (select GROUP_CONCAT(send_quantity ) send_quantity,m.material_id
+                    from  ehs_material m left join  ehs_material_detail dt
+                    on dt.material_id= m.material_id and dt.outbound_user_id is null group by dt.material_id ) a
+		on a.material_id= m.material_id
     </sql>
 
     <select id="selectEhsMaterialList" parameterType="EhsMaterial" resultMap="EhsMaterialResult">
         <include refid="selectEhsMaterialVo"/>
         <where>
+            <if test="deptId != null "> and r.dept_Id = #{deptId}</if>
             <if test="materialType != null "> and material_type = #{materialType}</if>
             <if test="classFirst != null "> and class_first = #{classFirst}</if>
             <if test="classSecond != null  and classSecond != ''"> and class_second = #{classSecond}</if>
diff --git a/ruoyi-ui/src/api/ehs/EhsMaterialDetail.js b/ruoyi-ui/src/api/ehs/EhsMaterialDetail.js
new file mode 100644
index 0000000..d87c679
--- /dev/null
+++ b/ruoyi-ui/src/api/ehs/EhsMaterialDetail.js
@@ -0,0 +1,44 @@
+import request from '@/utils/request'
+
+// 查询资源管理出库入库明细列表
+export function listEhsMaterialDetail(query) {
+  return request({
+    url: '/EhsMaterialDetail/EhsMaterialDetail/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询资源管理出库入库明细详细
+export function getEhsMaterialDetail(materialDetailId) {
+  return request({
+    url: '/EhsMaterialDetail/EhsMaterialDetail/' + materialDetailId,
+    method: 'get'
+  })
+}
+
+// 新增资源管理出库入库明细
+export function addEhsMaterialDetail(data) {
+  return request({
+    url: '/EhsMaterialDetail/EhsMaterialDetail',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改资源管理出库入库明细
+export function updateEhsMaterialDetail(data) {
+  return request({
+    url: '/EhsMaterialDetail/EhsMaterialDetail',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除资源管理出库入库明细
+export function delEhsMaterialDetail(materialDetailId) {
+  return request({
+    url: '/EhsMaterialDetail/EhsMaterialDetail/' + materialDetailId,
+    method: 'delete'
+  })
+}
diff --git a/ruoyi-ui/src/views/ehs/EhsMaterialDetail/index.vue b/ruoyi-ui/src/views/ehs/EhsMaterialDetail/index.vue
new file mode 100644
index 0000000..28917f8
--- /dev/null
+++ b/ruoyi-ui/src/views/ehs/EhsMaterialDetail/index.vue
@@ -0,0 +1,366 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="物资表" prop="materialId">
+        <el-input
+          v-model="queryParams.materialId"
+          placeholder="请输入物资表"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="出库指令发送人" prop="sendUserId">
+        <el-input
+          v-model="queryParams.sendUserId"
+          placeholder="请输入出库指令发送人"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="出库指令发送数量" prop="sendQuantity">
+        <el-input
+          v-model="queryParams.sendQuantity"
+          placeholder="请输入出库指令发送数量"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="出库指令发送时间" prop="sendTime">
+        <el-date-picker clearable
+          v-model="queryParams.sendTime"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="请选择出库指令发送时间">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="出库人" prop="outboundUserId">
+        <el-input
+          v-model="queryParams.outboundUserId"
+          placeholder="请输入出库人"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="出库数量" prop="outboundQuantity">
+        <el-input
+          v-model="queryParams.outboundQuantity"
+          placeholder="请输入出库数量"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="出库时间" prop="outboundTime">
+        <el-date-picker clearable
+          v-model="queryParams.outboundTime"
+          type="date"
+          value-format="yyyy-MM-dd"
+          placeholder="请选择出库时间">
+        </el-date-picker>
+      </el-form-item>
+      <el-form-item label="创建者部门" prop="deptId">
+        <el-input
+          v-model="queryParams.deptId"
+          placeholder="请输入创建者部门"
+          clearable
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['EhsMaterialDetail:EhsMaterialDetail:add']"
+        >新增</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['EhsMaterialDetail:EhsMaterialDetail:edit']"
+        >修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['EhsMaterialDetail:EhsMaterialDetail:remove']"
+        >删除</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['EhsMaterialDetail:EhsMaterialDetail:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="EhsMaterialDetailList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="主键" align="center" prop="materialDetailId" />
+      <el-table-column label="物资表" align="center" prop="materialId" />
+      <el-table-column label="出库指令发送人" align="center" prop="sendUserId" />
+      <el-table-column label="出库指令发送数量" align="center" prop="sendQuantity" />
+      <el-table-column label="出库指令发送时间" align="center" prop="sendTime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.sendTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="出库人" align="center" prop="outboundUserId" />
+      <el-table-column label="出库数量" align="center" prop="outboundQuantity" />
+      <el-table-column label="出库时间" align="center" prop="outboundTime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.outboundTime, '{y}-{m}-{d}') }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['EhsMaterialDetail:EhsMaterialDetail:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['EhsMaterialDetail:EhsMaterialDetail:remove']"
+          >删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改资源管理出库入库明细对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="物资表" prop="materialId">
+          <el-input v-model="form.materialId" placeholder="请输入物资表" />
+        </el-form-item>
+        <el-form-item label="出库指令发送人" prop="sendUserId">
+          <el-input v-model="form.sendUserId" placeholder="请输入出库指令发送人" />
+        </el-form-item>
+        <el-form-item label="出库指令发送数量" prop="sendQuantity">
+          <el-input v-model="form.sendQuantity" placeholder="请输入出库指令发送数量" />
+        </el-form-item>
+        <el-form-item label="出库指令发送时间" prop="sendTime">
+          <el-date-picker clearable
+            v-model="form.sendTime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="请选择出库指令发送时间">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="出库人" prop="outboundUserId">
+          <el-input v-model="form.outboundUserId" placeholder="请输入出库人" />
+        </el-form-item>
+        <el-form-item label="出库数量" prop="outboundQuantity">
+          <el-input v-model="form.outboundQuantity" placeholder="请输入出库数量" />
+        </el-form-item>
+        <el-form-item label="出库时间" prop="outboundTime">
+          <el-date-picker clearable
+            v-model="form.outboundTime"
+            type="date"
+            value-format="yyyy-MM-dd"
+            placeholder="请选择出库时间">
+          </el-date-picker>
+        </el-form-item>
+        <el-form-item label="备注" prop="remark">
+          <el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listEhsMaterialDetail, getEhsMaterialDetail, delEhsMaterialDetail, addEhsMaterialDetail, updateEhsMaterialDetail } from "@/api/ehs/EhsMaterialDetail";
+
+export default {
+  name: "EhsMaterialDetail",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 资源管理出库入库明细表格数据
+      EhsMaterialDetailList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        materialId: null,
+        sendUserId: null,
+        sendQuantity: null,
+        sendTime: null,
+        outboundUserId: null,
+        outboundQuantity: null,
+        outboundTime: null,
+        deptId: null,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询资源管理出库入库明细列表 */
+    getList() {
+      this.loading = true;
+      listEhsMaterialDetail(this.queryParams).then(response => {
+        this.EhsMaterialDetailList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        materialDetailId: null,
+        materialId: null,
+        sendUserId: null,
+        sendQuantity: null,
+        sendTime: null,
+        outboundUserId: null,
+        outboundQuantity: null,
+        outboundTime: null,
+        createBy: null,
+        createTime: null,
+        updateBy: null,
+        updateTime: null,
+        remark: null,
+        deptId: null,
+        createUserId: null
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.materialDetailId)
+      this.single = selection.length!==1
+      this.multiple = !selection.length
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加资源管理出库入库明细";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const materialDetailId = row.materialDetailId || this.ids
+      getEhsMaterialDetail(materialDetailId).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改资源管理出库入库明细";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.materialDetailId != null) {
+            updateEhsMaterialDetail(this.form).then(response => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addEhsMaterialDetail(this.form).then(response => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const materialDetailIds = row.materialDetailId || this.ids;
+      this.$modal.confirm('是否确认删除资源管理出库入库明细编号为"' + materialDetailIds + '"的数据项?').then(function() {
+        return delEhsMaterialDetail(materialDetailIds);
+      }).then(() => {
+        this.getList();
+        this.$modal.msgSuccess("删除成功");
+      }).catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download('EhsMaterialDetail/EhsMaterialDetail/export', {
+        ...this.queryParams
+      }, `EhsMaterialDetail_${new Date().getTime()}.xlsx`)
+    }
+  }
+};
+</script>
diff --git a/ruoyi-ui/src/views/ehs/ehsMaterial/index.vue b/ruoyi-ui/src/views/ehs/ehsMaterial/index.vue
index 2530411..5b68f57 100644
--- a/ruoyi-ui/src/views/ehs/ehsMaterial/index.vue
+++ b/ruoyi-ui/src/views/ehs/ehsMaterial/index.vue
@@ -1,14 +1,26 @@
 <template>
   <div class="app-container">
     <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
-<!--      <el-form-item label="类别" prop="classFirst">
-        <el-input
-          v-model="queryParams.classFirst"
-          placeholder="请输入类别"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>-->
+      <el-form-item label="部门" prop="deptId" v-show="deptShow">
+        <el-select v-model="queryParams.deptId" placeholder="请选择部门" clearable>
+          <el-option
+            v-for="dict in allDeptList"
+            :key="dict.deptId"
+            :label="dict.deptName"
+            :value="dict.deptId"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="性质"   prop="materialType">
+        <el-select v-model="queryParams.materialType" placeholder="请选择性质" clearable>
+          <el-option
+            v-for="dict in materialTypeOptions"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          ></el-option>
+        </el-select>
+      </el-form-item>
       <el-form-item label="类别"   prop="classSecond">
         <el-select v-model="queryParams.classSecond" placeholder="请选择类别" clearable>
           <el-option
@@ -122,17 +134,31 @@
 
     <el-table v-loading="loading" :data="ehsMaterialList" @selection-change="handleSelectionChange">
       <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="主键" align="center" prop="materialId" />
-      <el-table-column label="性质" align="center" prop="materialType" />
-      <el-table-column label="类别" align="center" prop="classFirst" />
+      <el-table-column label="上报部门" align="center" prop="deptName" />
+     <!-- <el-table-column label="主键" align="center" prop="materialId" />-->
+      <el-table-column label="性质" align="center" prop="materialType">
+        <template slot-scope="scope">
+          <span> {{ materialTypeOptions[scope.row.materialType-1].label}}</span>
+        </template>
+      </el-table-column>
+ <!--     <el-table-column label="类别" align="center" prop="classFirst" />-->
       <el-table-column label="类别" align="center" prop="classSecond">
         <template slot-scope="scope">
-          <dict-tag :options="curDict" :value="scope.row.classSecond"/>
+          <template v-for="(item, index) in curDict">
+            <el-tag v-show = "item.value == scope.row.classSecond"
+              :disable-transitions="true"
+              :key="item.value"
+              :index="index"
+            >
+              {{ item.label + ' ' }}
+            </el-tag>
+          </template>
         </template>
       </el-table-column>
       <el-table-column label="物资名称" align="center" prop="materialName" />
       <el-table-column label="规格/参数" align="center" prop="materialSpecs" />
       <el-table-column label="数量" align="center" prop="materialQuantity" />
+      <el-table-column label="待处理出库" align="center" prop="sendQuantity" />
       <el-table-column label="储备地点" align="center" prop="reserveLocation" />
       <el-table-column label="管理责任人" align="center" prop="managerPerson" />
       <el-table-column label="联系电话" align="center" prop="tel" />
@@ -152,6 +178,34 @@
             @click="handleDelete(scope.row)"
             v-hasPermi="['ehsMaterial:ehsMaterial:remove']"
           >删除</el-button>
+          <el-button v-show="scope.row.sendQuantity==null"
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleSendCommand(scope.row)"
+            v-hasPermi="['EhsMaterialDetail:EhsMaterialDetail:add']"
+          >下发出库指令</el-button>
+          <el-button v-show="scope.row.sendQuantity!=null"
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleOutbound(scope.row)"
+            v-hasPermi="['EhsMaterialDetail:EhsMaterialDetail:edit']"
+          >执行出库指令</el-button>
+          <el-button v-show="scope.row.sendQuantity!=null"
+             size="mini"
+             type="text"
+             icon="el-icon-delete"
+             @click="handleDelDetail(scope.row)"
+             v-hasPermi="['EhsMaterialDetail:EhsMaterialDetail:remove']"
+          >终止出库指令</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDetail(scope.row)"
+            v-hasPermi="['EhsMaterialDetail:EhsMaterialDetail:list']"
+          >出入库明细</el-button>
         </template>
       </el-table-column>
     </el-table>
@@ -167,9 +221,16 @@
     <!-- 添加或修改物资信息包含  通用应急救援装备”“防汛抗旱应急救援装备”“森林防灭火应急救援装备”“救灾物资”对话框 -->
     <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
-        <!--<el-form-item label="类别" prop="classFirst">
-          <el-input v-model="form.classFirst" placeholder="请输入类别" />
-        </el-form-item>-->
+        <el-form-item label="性质"   prop="materialType">
+          <el-select v-model="form.materialType" placeholder="请选择性质" clearable>
+            <el-option
+              v-for="dict in materialTypeOptions"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value"
+            ></el-option>
+          </el-select>
+        </el-form-item>
         <el-form-item label="类别" prop="classSecond">
           <el-select v-model="form.classSecond" placeholder="请选择类别">
             <el-option
@@ -207,11 +268,35 @@
         <el-button @click="cancel">取 消</el-button>
       </div>
     </el-dialog>
+    <el-dialog :title="titleDetail" :visible.sync="openDetail" width="800px" append-to-body>
+      <el-table v-loading="loading" :data="ehsMaterialDetailList" @selection-change="handleSelectionChange">
+        <el-table-column type="selection" width="55" align="center" />
+<!--        <el-table-column label="主键" align="center" prop="materialDetailId" />
+        <el-table-column label="物资表" align="center" prop="materialId" />-->
+        <el-table-column label="出库指令发送人" align="center" prop="sendUserId" />
+        <el-table-column label="出库指令发送数量" align="center" prop="sendQuantity" />
+        <el-table-column label="出库指令发送时间" align="center" prop="sendTime" width="180">
+          <template slot-scope="scope">
+            <span>{{ parseTime(scope.row.sendTime, '{y}-{m}-{d}') }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="出库人" align="center" prop="outboundUserId" />
+        <el-table-column label="出库数量" align="center" prop="outboundQuantity" />
+        <el-table-column label="出库时间" align="center" prop="outboundTime" width="180">
+          <template slot-scope="scope">
+            <span>{{ parseTime(scope.row.outboundTime, '{y}-{m}-{d}') }}</span>
+          </template>
+        </el-table-column>
+
+      </el-table>
+    </el-dialog>
   </div>
 </template>
 
 <script>
   import { listEhsMaterial, getEhsMaterial, delEhsMaterial, addEhsMaterial, updateEhsMaterial } from "@/api/ehs/ehsMaterial";
+  import {listAllDept } from "@/api/system/dept";
+  import {addEhsMaterialDetail,listEhsMaterialDetail, updateEhsMaterialDetail , delEhsMaterialDetail} from "@/api/ehs/EhsMaterialDetail";
   import { getDicts } from "@/api/system/dict/data";
   export default {
     name: "EhsMaterial",
@@ -238,7 +323,27 @@
         title: "",
         // 是否显示弹出层
         open: false,
+        // 弹出层标题
+        titleDetail: "出入库明细",
+        // 是否显示弹出层
+        openDetail: false,
+        ehsMaterialDetailList:[],
+        totalDetail: 0,
         materialClass:0,
+        //是否显示部门列表查询条件
+        deptShow: false,
+        //所有部门列表字典
+        allDeptList: [],
+        sendQuantity:"",//发送的指令
+        materialTypeOptions: [{
+          value: '1',
+          label: '自储',
+          raw:{listClass: 'default'}
+        }, {
+          value: '2',
+          label: '社会代储',
+          raw:{listClass: 'default'}
+        }],
         // 查询参数
         queryParams: {
           pageNum: 1,
@@ -260,6 +365,11 @@
         },
         // 表单校验
         rules: {
+          materialQuantity: [
+            { required: true, message: "企业名称不能为空", trigger: "blur" },
+            {type: 'string', required: true, pattern:/^\d+$|^\d+[.]?\d+$/, message:'请输入正确的数量', trigger: 'blur'}
+
+    ],
         }
       };
     },
@@ -267,6 +377,9 @@
       this.getList();
       this.materialClass = this.$route.query.classFirst;
       this.getDictList();
+      this.getListAllDept();
+      this.deptShow = this.$store.state.user.parentId==0 ?true :false;
+      console.log(this.curDict);
     },
 
     methods: {
@@ -279,6 +392,15 @@
           this.loading = false;
         });
       },
+      /** 单位信息列表 */
+      getListAllDept() {
+        console.log(this.$store.state.user.deptId);
+        this.loading = true;
+        listAllDept().then(response => {
+          this.allDeptList = response.data;
+          this.loading = false;
+        });
+      },
       getDictList() {
         this.loading = true;
         let str = "";
@@ -399,7 +521,64 @@
         this.download('ehsMaterial/ehsMaterial/export', {
           ...this.queryParams
         }, `ehsMaterial_${new Date().getTime()}.xlsx`)
-      }
+      },
+      handleSendCommand(row) {
+        if(row.sendQuantity!=null){
+          this.$message.error('此物资已有待处理出库,无法重复发送出库指令!');
+          return;
+        }
+        this.$prompt('请输入出库数量', '提示', {
+          confirmButtonText: '确定',
+          cancelButtonText: '取消',
+          inputPattern: /^\d+$|^\d+[.]?\d+$/,
+          inputErrorMessage: '出库数量只能是数字'
+        }).then(({ value }) => {
+          this.loading = true;
+            //this.sendQuantity = value;
+            addEhsMaterialDetail({"sendQuantity":value,"materialId":row.materialId}).then(response => {
+            this.$modal.msgSuccess("出库指令发送成功");
+            this.loading = false;
+            this.getList();
+          });
+          /*this.$message({
+            type: 'success',
+            message: '你的邮箱是: ' + value
+          });*/
+        }).catch(() => {
+          this.$message({
+            type: 'info',
+            message: '取消输入'
+          });
+        });
+      },
+      getListDetail(id) {
+        this.loading = true;
+        listEhsMaterialDetail({"materialId":id}).then(response => {
+          this.ehsMaterialDetailList = response.rows;
+          this.totalDetail = response.total;
+          this.loading = false;
+        });
+      },
+      handleDetail(row) {
+        this.openDetail=true;
+        this.getListDetail(row.materialId);
+      },/**  */
+      handleOutbound(row) {
+        this.$modal.confirm('是否执行出库指令?' ).then(function() {
+          return updateEhsMaterialDetail(row.materialId);
+        }).then(() => {
+          this.getList();
+          this.$modal.msgSuccess("执行成功");
+        }).catch(() => {});
+      },
+      handleDelDetail(row) {
+        this.$modal.confirm('是否终止出库指令?' ).then(function() {
+          return delEhsMaterialDetail(row.materialId);
+        }).then(() => {
+          this.getList();
+          this.$modal.msgSuccess("终止成功");
+        }).catch(() => {});
+      },
     }
   };
 </script>
diff --git a/ruoyi-ui/src/views/ehs/ehsRisk/index.vue b/ruoyi-ui/src/views/ehs/ehsRisk/index.vue
index d3edd0c..e28f857 100644
--- a/ruoyi-ui/src/views/ehs/ehsRisk/index.vue
+++ b/ruoyi-ui/src/views/ehs/ehsRisk/index.vue
@@ -31,7 +31,7 @@
           />
         </el-select>
       </el-form-item>
-      <el-form-item label="风险点位置" prop="riskLocation">
+      <!--<el-form-item label="风险点位置" prop="riskLocation">
         <el-input
           v-model="queryParams.riskLocation"
           placeholder="请输入风险点位置"
@@ -102,7 +102,7 @@
           clearable
           @keyup.enter.native="handleQuery"
         />
-      </el-form-item>
+      </el-form-item>-->
       <el-form-item>
         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
@@ -168,7 +168,7 @@
           <dict-tag :options="dict.type.risk_report_address_type" :value="scope.row.reportAddressType"/>
         </template>
       </el-table-column>
-      <el-table-column label="上报单位" align="center" prop="deptName" />
+      <el-table-column label="上报单位" v-show="false"  align="center" prop="deptName" />
       <el-table-column label="风险点位置" align="center" prop="riskLocation" />
       <el-table-column label="联系电话" align="center" prop="tel" />
       <el-table-column label="涉及群众数量" align="center" prop="peopleQuantity" />
diff --git a/ruoyi-ui/vue.config.js b/ruoyi-ui/vue.config.js
index 9c8c139..87d1b2a 100644
--- a/ruoyi-ui/vue.config.js
+++ b/ruoyi-ui/vue.config.js
@@ -35,7 +35,7 @@ module.exports = {
     proxy: {
       // detail: https://cli.vuejs.org/config/#devserver-proxy
       [process.env.VUE_APP_BASE_API]: {
-        target: `http://localhost:8080`,
+        target: `http://localhost:8083`,
         changeOrigin: true,
         pathRewrite: {
           ['^' + process.env.VUE_APP_BASE_API]: ''