Browse Source

[fix]

委外加工 委外入库
修改委外入库详情类,修改数量相关字段为Integer,新增已入库数、通知到货数、通知已到货数字段,去除之前已委外入库数和本次入库数;
修改mapper对应方法,新增字段;
修改新增委外入库service方法,添加总通知到货数和实际委外数校验,同时更新委外订单详情通知已到货数;
修改委外入库列表页面搜索栏定义,添加下拉框;
dev
王晓迪 2 months ago
parent
commit
d936a35c6d
  1. 52
      ruoyi-admin/src/main/java/com/ruoyi/system/domain/OutsourceStorageDetail.java
  2. 2
      ruoyi-admin/src/main/java/com/ruoyi/system/service/IOutsourceStorageOrderService.java
  3. 115
      ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/OutsourceStorageOrderServiceImpl.java
  4. 42
      ruoyi-admin/src/main/resources/mapper/system/OutsourceStorageDetailMapper.xml
  5. 12
      ruoyi-admin/src/main/resources/templates/system/outsource_storage/detail.html
  6. 27
      ruoyi-admin/src/main/resources/templates/system/outsource_storage/storage.html

52
ruoyi-admin/src/main/java/com/ruoyi/system/domain/OutsourceStorageDetail.java

@ -50,10 +50,10 @@ public class OutsourceStorageDetail extends BaseEntity {
private String processMethod;
/** 计划委外数 */
private BigDecimal plannedOutsourceAmount;
private Integer plannedOutsourceAmount;
// 实际委外数
private BigDecimal actualOutsourceAmount;
private Integer actualOutsourceAmount;
// 关联单号
private String correlationCodes;
@ -73,13 +73,17 @@ public class OutsourceStorageDetail extends BaseEntity {
// 交付时间信息
private String deliveryTimeInfo;
/** 已委外入库数 */
@Excel(name = "已委外入库数")
private BigDecimal takenMaterial;
/** 已入库数 */
@Excel(name = "已入库数")
private Integer hasStorageNum;
/** 本次委外入库数 */
@Excel(name = "本次委外入库数")
private BigDecimal takingMaterial;
/** 通知已到货数 (未保存)*/
@Excel(name = "通知已到货数")
private Integer notifyHasArrivedNum;
/** 通知到货数 */
@Excel(name = "通知到货数")
private Integer notifyArrivedNum;
public Long getOutsourceStorageDetailId() {
return outsourceStorageDetailId;
@ -169,19 +173,19 @@ public class OutsourceStorageDetail extends BaseEntity {
this.processMethod = processMethod;
}
public BigDecimal getPlannedOutsourceAmount() {
public Integer getPlannedOutsourceAmount() {
return plannedOutsourceAmount;
}
public void setPlannedOutsourceAmount(BigDecimal plannedOutsourceAmount) {
public void setPlannedOutsourceAmount(Integer plannedOutsourceAmount) {
this.plannedOutsourceAmount = plannedOutsourceAmount;
}
public BigDecimal getActualOutsourceAmount() {
public Integer getActualOutsourceAmount() {
return actualOutsourceAmount;
}
public void setActualOutsourceAmount(BigDecimal actualOutsourceAmount) {
public void setActualOutsourceAmount(Integer actualOutsourceAmount) {
this.actualOutsourceAmount = actualOutsourceAmount;
}
@ -233,20 +237,28 @@ public class OutsourceStorageDetail extends BaseEntity {
this.deliveryTimeInfo = deliveryTimeInfo;
}
public BigDecimal getTakenMaterial() {
return takenMaterial;
public Integer getHasStorageNum() {
return hasStorageNum;
}
public void setHasStorageNum(Integer hasStorageNum) {
this.hasStorageNum = hasStorageNum;
}
public Integer getNotifyArrivedNum() {
return notifyArrivedNum;
}
public void setTakenMaterial(BigDecimal takenMaterial) {
this.takenMaterial = takenMaterial;
public void setNotifyArrivedNum(Integer notifyArrivedNum) {
this.notifyArrivedNum = notifyArrivedNum;
}
public BigDecimal getTakingMaterial() {
return takingMaterial;
public Integer getNotifyHasArrivedNum() {
return notifyHasArrivedNum;
}
public void setTakingMaterial(BigDecimal takingMaterial) {
this.takingMaterial = takingMaterial;
public void setNotifyHasArrivedNum(Integer notifyHasArrivedNum) {
this.notifyHasArrivedNum = notifyHasArrivedNum;
}
public String getOutsourcePlanCode() {

2
ruoyi-admin/src/main/java/com/ruoyi/system/service/IOutsourceStorageOrderService.java

@ -33,7 +33,7 @@ public interface IOutsourceStorageOrderService
/**
* 新增委外入库
*
* @param warehouseStorageOrder 委外入库
* @param outsourceStorage 委外入库
* @return 结果
*/
public int insertWarehouseStorageOrder(OutsourceStorage outsourceStorage);

115
ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/OutsourceStorageOrderServiceImpl.java

@ -6,8 +6,10 @@ import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.common.exception.BusinessException;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.ShiroUtils;
import com.ruoyi.system.domain.OutsourceOrderDetail;
import com.ruoyi.system.domain.OutsourceStorage;
import com.ruoyi.system.domain.OutsourceStorageDetail;
import com.ruoyi.system.mapper.OutsourceOrderDetailMapper;
import com.ruoyi.system.mapper.OutsourceStorageDetailMapper;
import com.ruoyi.system.service.IOutsourceStorageOrderService;
import com.ruoyi.warehouse.domain.WarehouseStorageOrder;
@ -17,6 +19,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Map;
import java.util.Optional;
import java.util.stream.Collectors;
import com.ruoyi.common.utils.StringUtils;
@ -39,6 +42,9 @@ public class OutsourceStorageOrderServiceImpl implements IOutsourceStorageOrderS
@Autowired
private OutsourceStorageDetailMapper outsourceStorageDetailMapper;
@Autowired
private OutsourceOrderDetailMapper orderDetailMapper;
@Autowired
private RedisCache redisCache;
@ -61,14 +67,27 @@ public class OutsourceStorageOrderServiceImpl implements IOutsourceStorageOrderS
* @param outsourceStorage 委外入库
* @return 结果
*/
@Transactional
@Transactional(rollbackFor = Exception.class)
@Override
public int insertWarehouseStorageOrder(OutsourceStorage outsourceStorage)
{
WarehouseStorageOrder warehouseStorageOrder = new WarehouseStorageOrder();
String loginName = ShiroUtils.getLoginName();
warehouseStorageOrder.setCreateBy(loginName);
String outsourceOrderNo = outsourceStorage.getRelatedOrderCode();
List<OutsourceStorageDetail> outsourceStorageDetails = outsourceStorage.getStorageDetailList();
for (OutsourceStorageDetail detail:outsourceStorageDetails) {
int actualOutNum = Optional.ofNullable(detail.getActualOutsourceAmount()).orElse(0);
int notifyHasArriveNum = Optional.ofNullable(detail.getNotifyHasArrivedNum()).orElse(0);
/** 检查总通知到货数 > 实际委外数?*/
int allArrivedNum = notifyHasArriveNum + detail.getNotifyArrivedNum();
if(allArrivedNum > actualOutNum){
throw new BusinessException("物料" + detail.getMaterialNo() +"总通知到货数大于实际委外数,请检查");
}
}
String warehouseStorageCode = redisCache.generateBillNo("RK");
warehouseStorageOrder.setCreateBy(loginName);
warehouseStorageOrder.setCreateTime(DateUtils.getNowDate());
warehouseStorageOrder.setWarehouseOrderType("3");//委外订单
warehouseStorageOrder.setWarehouseStorageType("4");//委外入库
@ -81,39 +100,62 @@ public class OutsourceStorageOrderServiceImpl implements IOutsourceStorageOrderS
warehouseStorageOrder.setWarehouseStorageCode(warehouseStorageCode);
warehouseStorageOrder.setNotifyArrivedNum(outsourceStorage.getNotifyArrivedNum());
warehouseStorageOrder.setArrivedTime(DateUtils.getNowDate());
warehouseStorageOrder.setRelatedOrderCode(outsourceStorage.getRelatedOrderCode());
List<OutsourceStorageDetail> outsourceStorageDetails = outsourceStorage.getStorageDetailList();
if(StringUtils.isEmpty(outsourceStorageDetails)){
throw new BusinessException("新增委外入库单失败!入库单详情为空");
}
warehouseStorageOrder.setRelatedOrderCode(outsourceOrderNo);
List<WarehouseStorageOrderDetail> storageOrderDetails = new ArrayList<>();
for (OutsourceStorageDetail detail:outsourceStorageDetails) {
detail.setWarehouseStorageCode(warehouseStorageCode);
outsourceStorageDetailMapper.insertOutsourceStorageDetail(detail);
}
List<WarehouseStorageOrderDetail> warehouseStorageOrderDetailList = new ArrayList<>();
// 使用 Map 分组
Map<String, List<OutsourceStorageDetail>> groupedByMaterialNo = outsourceStorageDetails.stream()
.collect(Collectors.groupingBy(OutsourceStorageDetail::getMaterialNo));
// 遍历 Map 的每一个条目
for (Map.Entry<String, List<OutsourceStorageDetail>> entry : groupedByMaterialNo.entrySet()) {
String materialNo = entry.getKey();
List<OutsourceStorageDetail> details = entry.getValue();
// 获取列表中的第一条记录
if (!details.isEmpty()) {
OutsourceStorageDetail firstDetail = details.get(0);
// System.out.println("Material No: " + materialNo + ", First Detail: " + firstDetail);
WarehouseStorageOrderDetail warehouseStorageOrderDetail = generateWarehouseStorageOrderDetail(firstDetail);
warehouseStorageOrderDetail.setWarehouseStorageCode(warehouseStorageCode);
warehouseStorageOrderDetailList.add(warehouseStorageOrderDetail);
detail.setHasStorageNum(0);
detail.setCreateBy(loginName);
detail.setCreateTime(DateUtils.getNowDate());
int insertResult = outsourceStorageDetailMapper.insertOutsourceStorageDetail(detail);
if(insertResult <= 0){
throw new BusinessException("新增委外入库详情失败!");
}
}
if(warehouseStorageOrderDetailList!=null){
warehouseStorageOrder.setWarehouseStorageOrderDetailList(warehouseStorageOrderDetailList);
insertWarehouseStorageOrderDetail(warehouseStorageOrder);
}
// 去除重复的料号
List<OutsourceStorageDetail> uniqueStorageDetails = outsourceStorageDetails.stream()
.collect(Collectors.toMap(
OutsourceStorageDetail::getMaterialNo,
detail -> detail,
(existing, replacement) -> existing
))
.values()
.stream()
.collect(Collectors.toList());
for (OutsourceStorageDetail detail:uniqueStorageDetails) {
OutsourceOrderDetail tempDetail = new OutsourceOrderDetail();
tempDetail.setMaterialNo(detail.getMaterialNo());
tempDetail.setOutsourceOrderNo(outsourceOrderNo);
/** 更新委外订单通知已到货数 += 通知到货数(本次入库数)*/
List<OutsourceOrderDetail> orderDetails = orderDetailMapper.selectOutsourceOrderDetailByNos(tempDetail);
if(StringUtils.isEmpty(orderDetails)){
throw new BusinessException("关联委外订单详情为空");
}
for (OutsourceOrderDetail orderDetail: orderDetails) {
int notifyHasArrivedNum = Optional.ofNullable(orderDetail.getNotifyHasArrivedNum()).orElse(0);
notifyHasArrivedNum = notifyHasArrivedNum + detail.getNotifyArrivedNum();
orderDetail.setNotifyHasArrivedNum(notifyHasArrivedNum);
orderDetail.setUpdateBy(loginName);
orderDetail.setUpdateTime(DateUtils.getNowDate());
int orderUpdateResult = orderDetailMapper.updateOutsourceOrderDetail(orderDetail);
if(orderUpdateResult<=0){
throw new BusinessException("更新订单物料信息失败");
}
}
/** 根据委外入库单详情生成入库单详情*/
WarehouseStorageOrderDetail storageOrderDetail = generateWarehouseStorageOrderDetail(detail);
storageOrderDetail.setWarehouseStorageCode(warehouseStorageCode);
storageOrderDetails.add(storageOrderDetail);
if(storageOrderDetails!=null){
warehouseStorageOrder.setWarehouseStorageOrderDetailList(storageOrderDetails);
insertWarehouseStorageOrderDetail(warehouseStorageOrder);
}
}
int rows = warehouseStorageOrderMapper.insertWarehouseStorageOrder(warehouseStorageOrder);
return rows;
}
@ -121,13 +163,12 @@ public class OutsourceStorageOrderServiceImpl implements IOutsourceStorageOrderS
public WarehouseStorageOrderDetail generateWarehouseStorageOrderDetail(OutsourceStorageDetail outstorageDetail){
WarehouseStorageOrderDetail storageOrderDetail = new WarehouseStorageOrderDetail();
storageOrderDetail.setRelatedOrderCode(outstorageDetail.getOutsourceOrderNo());
storageOrderDetail.setWarehouseStorageStatus("0");
storageOrderDetail.setWarehouseQualityStatus("0");
storageOrderDetail.setWarehouseStorageType("4");
storageOrderDetail.setWarehouseOrderType("3");
storageOrderDetail.setNotifyArriveNum(outstorageDetail.getTakingMaterial().intValue());
// storageOrderDetail.setActualHasArrivedNum(outstorageDetail.getTakingMaterial().intValue());
storageOrderDetail.setNotifyHasArrivedNum(outstorageDetail.getTakingMaterial().intValue());
storageOrderDetail.setWarehouseStorageStatus("0");//待暂收
storageOrderDetail.setWarehouseQualityStatus("0");//待品质
storageOrderDetail.setWarehouseStorageType("4");//委外入库
storageOrderDetail.setWarehouseOrderType("3");//委外订单
storageOrderDetail.setNotifyArriveNum(outstorageDetail.getNotifyArrivedNum());
storageOrderDetail.setNotifyHasArrivedNum(outstorageDetail.getNotifyArrivedNum());
storageOrderDetail.setHasStorageNum(0);
storageOrderDetail.setActualHasArrivedNum(0);
storageOrderDetail.setTemporaryHasQualifiedNum(0);

42
ruoyi-admin/src/main/resources/mapper/system/OutsourceStorageDetailMapper.xml

@ -20,17 +20,27 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="processMethod" column="process_method" />
<result property="plannedOutsourceAmount" column="planned_outsource_amount" />
<result property="actualOutsourceAmount" column="actual_outsource_amount" />
<result property="takenMaterial" column="taken_material" />
<result property="takingMaterial" column="taking_material" />
<result property="notifyArrivedNum" column="notify_arrived_num" />
<result property="hasStorageNum" column="has_storage_num" />
<result property="outsourceProcessInfo" column="outsource_process_info" />
<result property="chargeUnitInfo" column="charge_unit_info" />
<result property="singleMaterialInfo" column="single_material_info" />
<result property="supplierInfo" column="supplier_info" />
<result property="deliveryTimeInfo" column="delivery_time_info" />
<result property="createBy" column="create_by" />
<result property="createTime" column="create_time" />
<result property="updateBy" column="update_by" />
<result property="updateTime" column="update_time" />
</resultMap>
<sql id="selectOutsourceStorageDetailVo">
select outsource_storage_detail_id, warehouse_storage_code, outsource_order_no, outsource_plan_code, correlation_codes, material_no, material_name, material_type, material_photo_url, description, brand, unit, process_method, planned_outsource_amount, actual_outsource_amount, taken_material, taking_material, outsource_process_info, charge_unit_info, single_material_info, supplier_info, delivery_time_info from outsource_storage_detail
select outsource_storage_detail_id, warehouse_storage_code, outsource_order_no,
outsource_plan_code, correlation_codes, material_no, material_name,
material_type, material_photo_url, description, brand, unit,
process_method, planned_outsource_amount, actual_outsource_amount,
notify_arrived_num, has_storage_num, outsource_process_info,
charge_unit_info, single_material_info, supplier_info,create_by,create_time,
delivery_time_info,update_by,update_time from outsource_storage_detail
</sql>
<select id="selectOutsourceStorageDetailList" parameterType="OutsourceStorageDetail" resultMap="OutsourceStorageDetailResult">
@ -50,8 +60,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="processMethod != null and processMethod != ''"> and process_method = #{processMethod}</if>
<if test="plannedOutsourceAmount != null "> and planned_outsource_amount = #{plannedOutsourceAmount}</if>
<if test="actualOutsourceAmount != null "> and actual_outsource_amount = #{actualOutsourceAmount}</if>
<if test="takenMaterial != null "> and taken_material = #{takenMaterial}</if>
<if test="takingMaterial != null "> and taking_material = #{takingMaterial}</if>
<if test="outsourceProcessInfo != null and outsourceProcessInfo != ''"> and outsource_process_info = #{outsourceProcessInfo}</if>
<if test="chargeUnitInfo != null and chargeUnitInfo != ''"> and charge_unit_info = #{chargeUnitInfo}</if>
<if test="singleMaterialInfo != null and singleMaterialInfo != ''"> and single_material_info = #{singleMaterialInfo}</if>
@ -82,13 +90,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="processMethod != null">process_method,</if>
<if test="plannedOutsourceAmount != null">planned_outsource_amount,</if>
<if test="actualOutsourceAmount != null">actual_outsource_amount,</if>
<if test="takenMaterial != null">taken_material,</if>
<if test="takingMaterial != null">taking_material,</if>
<if test="hasStorageNum != null">has_storage_num,</if>
<if test="notifyArrivedNum != null">notify_arrived_num,</if>
<if test="outsourceProcessInfo != null">outsource_process_info,</if>
<if test="chargeUnitInfo != null">charge_unit_info,</if>
<if test="singleMaterialInfo != null">single_material_info,</if>
<if test="supplierInfo != null">supplier_info,</if>
<if test="deliveryTimeInfo != null">delivery_time_info,</if>
<if test="createBy != null">create_by,</if>
<if test="createTime != null">create_time,</if>
<if test="updateBy != null">update_by,</if>
<if test="updateTime != null">update_time,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="warehouseStorageCode != null and warehouseStorageCode != ''">#{warehouseStorageCode},</if>
@ -105,13 +117,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="processMethod != null">#{processMethod},</if>
<if test="plannedOutsourceAmount != null">#{plannedOutsourceAmount},</if>
<if test="actualOutsourceAmount != null">#{actualOutsourceAmount},</if>
<if test="takenMaterial != null">#{takenMaterial},</if>
<if test="takingMaterial != null">#{takingMaterial},</if>
<if test="hasStorageNum != null">#{hasStorageNum},</if>
<if test="notifyArrivedNum != null">#{notifyArrivedNum},</if>
<if test="outsourceProcessInfo != null">#{outsourceProcessInfo},</if>
<if test="chargeUnitInfo != null">#{chargeUnitInfo},</if>
<if test="singleMaterialInfo != null">#{singleMaterialInfo},</if>
<if test="supplierInfo != null">#{supplierInfo},</if>
<if test="deliveryTimeInfo != null">#{deliveryTimeInfo},</if>
<if test="createBy != null">#{createBy},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateBy != null">#{updateBy},</if>
<if test="updateTime != null">#{updateTime},</if>
</trim>
</insert>
@ -132,13 +148,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="processMethod != null">process_method = #{processMethod},</if>
<if test="plannedOutsourceAmount != null">planned_outsource_amount = #{plannedOutsourceAmount},</if>
<if test="actualOutsourceAmount != null">actual_outsource_amount = #{actualOutsourceAmount},</if>
<if test="takenMaterial != null">taken_material = #{takenMaterial},</if>
<if test="takingMaterial != null">taking_material = #{takingMaterial},</if>
<if test="hasStorageNum != null">has_storage_num = #{hasStorageNum},</if>
<if test="notifyArrivedNum != null">notify_arrived_num = #{notifyArrivedNum},</if>
<if test="outsourceProcessInfo != null">outsource_process_info = #{outsourceProcessInfo},</if>
<if test="chargeUnitInfo != null">charge_unit_info = #{chargeUnitInfo},</if>
<if test="singleMaterialInfo != null">single_material_info = #{singleMaterialInfo},</if>
<if test="supplierInfo != null">supplier_info = #{supplierInfo},</if>
<if test="deliveryTimeInfo != null">delivery_time_info = #{deliveryTimeInfo},</if>
<if test="createBy != null">create_by = #{createBy},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateBy != null">update_by = #{updateBy},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
</trim>
where outsource_storage_detail_id = #{outsourceStorageDetailId}
</update>

12
ruoyi-admin/src/main/resources/templates/system/outsource_storage/detail.html

@ -127,8 +127,8 @@
correlationCodes: material.correlationCodes,
plannedOutsourceAmount: material.plannedOutsourceAmount,
actualOutsourceAmount: material.actualOutsourceAmount,
alreadyStorageAmount: material.takenMaterial,
nowStorageAmount: material.takingMaterial,
hasStorageNum: material.hasStorageNum,
notifyArrivedNum: material.notifyArrivedNum,
};
var materialData = [materialObj]; // Bootstrap Table需要一个数组作为数据源
materialList.push(material);
@ -241,8 +241,8 @@
},
{title: '计划委外数', field: 'plannedOutsourceAmount'},
{title: '实际委外数', field: 'actualOutsourceAmount'},
{title: '已入库数', field: 'alreadyStorageAmount'},
{title: '本次入库数', field: 'nowStorageAmount',
{title: '已入库数', field: 'hasStorageNum'},
{title: '通知到货数', field: 'notifyArrivedNum',
},
],
});
@ -277,8 +277,8 @@
correlationCodes: current.correlationCodes,
plannedOutsourceAmount: current.plannedOutsourceAmount,
actualOutsourceAmount: current.actualOutsourceAmount,
takenMaterial: current.takenMaterial,
takingMaterial: current.takingMaterial,
hasStorageNum: current.hasStorageNum,
notifyArrivedNum: current.notifyArrivedNum,
processList:[{
outsourceProcessInfo: current.outsourceProcessInfo,
chargeUnitInfo: current.chargeUnitInfo,

27
ruoyi-admin/src/main/resources/templates/system/outsource_storage/storage.html

@ -16,11 +16,17 @@
</li>
<li>
<label>入库状态:</label>
<input type="text" name="temporaryQualifiedNum"/>
<select name="warehouseStorageStatus" th:with="type=${@dict.getType('warehouse_storage_status')}">
<option value="">所有</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</li>
<li>
<label>品质状态:</label>
<input type="text" name="temporaryUnqualifiedNum"/>
<select name="warehouseQualityStatus" th:with="type=${@dict.getType('warehouse_quality_status')}">
<option value="">所有</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</li>
<li>
<label>关联订单号:</label>
@ -30,13 +36,18 @@
<label>仓库员:</label>
<input type="text" name="warehouseEmployee"/>
</li>
<li>
<label>入库部门:</label>
<input type="text" name="temporaryUnqualifiedNum"/>
</li>
<li>
<!-- <li>-->
<!-- <label>入库部门:</label>-->
<!-- <select name="warehouseDeptType" th:with="type=${@dict.getType('warehouse_dept_type')}">-->
<!-- <option value="">所有</option>-->
<!-- <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>-->
<!-- </select>-->
<!-- </li>-->
<li class="select-time">
<label>录入时间:</label>
<input type="text" class="time-input" placeholder="请选择入库时间" name="storageTime"/>
<input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[beginCreateTime]"/>
<span>-</span>
<input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[endCreateTime]"/>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>

Loading…
Cancel
Save