Browse Source

[feat] 委外加工 仓库管理

整合新增委外入库通知单 controller
整合新增委外入库通知单 Service
整合新增委外入库通知单 ServiceImpl
修改仓库入库单 新增 委外相关删除和批量新增后端接口
新增 通过仓库入库订单专门查询委外订单后端接口
修改委外入库通知单的 url为 /system/outsource_storage
dev
liuxiaoxu 4 months ago
parent
commit
070f4bf916
  1. 126
      ruoyi-admin/src/main/java/com/ruoyi/system/controller/OutsourceStorageOrderController.java
  2. 63
      ruoyi-admin/src/main/java/com/ruoyi/system/service/IOutsourceStorageOrderService.java
  3. 133
      ruoyi-admin/src/main/java/com/ruoyi/system/service/impl/OutsourceStorageOrderServiceImpl.java
  4. 48
      ruoyi-admin/src/main/java/com/ruoyi/warehouse/mapper/WarehouseStorageOrderMapper.java
  5. 47
      ruoyi-admin/src/main/resources/mapper/warehouse/WarehouseStorageOrderMapper.xml
  6. 817
      ruoyi-admin/src/main/resources/templates/system/outsource_storage/add.html
  7. 874
      ruoyi-admin/src/main/resources/templates/system/outsource_storage/edit.html
  8. 207
      ruoyi-admin/src/main/resources/templates/system/outsource_storage/storage.html

126
ruoyi-admin/src/main/java/com/ruoyi/system/controller/OutsourceStorageOrderController.java

@ -0,0 +1,126 @@
package com.ruoyi.system.controller;
import java.util.List;
import com.ruoyi.system.service.IOutsourceStorageOrderService;
import com.ruoyi.warehouse.domain.WarehouseStorageOrder;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.*;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* 委外入库Controller
*
* @author ruoyi
* @date 2024-07-14
*/
@Controller
@RequestMapping("/system/outsource_storage")
public class OutsourceStorageOrderController extends BaseController
{
private String prefix = "system/outsource_storage";
@Autowired
private IOutsourceStorageOrderService outsourceStorageOrderService ;
@RequiresPermissions("system:storage:view")
@GetMapping()
public String storage()
{
return prefix + "/storage";
}
/**
* 查询委外入库列表
*/
@RequiresPermissions("system:storage:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(WarehouseStorageOrder warehouseStorageOrder)
{
startPage();
List<WarehouseStorageOrder> list = outsourceStorageOrderService.selectWarehouseStorageOrderList(warehouseStorageOrder);
return getDataTable(list);
}
/**
* 导出委外入库列表
*/
@RequiresPermissions("system:storage:export")
@Log(title = "委外入库", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@ResponseBody
public AjaxResult export(WarehouseStorageOrder warehouseStorageOrder)
{
List<WarehouseStorageOrder> list = outsourceStorageOrderService.selectWarehouseStorageOrderList(warehouseStorageOrder);
ExcelUtil<WarehouseStorageOrder> util = new ExcelUtil<WarehouseStorageOrder>(WarehouseStorageOrder.class);
return util.exportExcel(list, "委外入库数据");
}
/**
* 新增委外入库
*/
@GetMapping("/add")
public String add()
{
return prefix + "/add";
}
/**
* 新增保存委外入库
*/
@RequiresPermissions("system:storage:add")
@Log(title = "委外入库", businessType = BusinessType.INSERT)
@PostMapping("/addStorage")
@ResponseBody
public AjaxResult addSave(@RequestBody WarehouseStorageOrder warehouseStorageOrder)
{
System.out.println(warehouseStorageOrder);
return toAjax(outsourceStorageOrderService.insertWarehouseStorageOrder(warehouseStorageOrder));
}
/**
* 修改委外入库
*/
@RequiresPermissions("system:storage:edit")
@GetMapping("/edit/{warehouseStorageId}")
public String edit(@PathVariable("warehouseStorageId") Long warehouseStorageId, ModelMap mmap)
{
WarehouseStorageOrder warehouseStorageOrder = outsourceStorageOrderService.selectWarehouseStorageOrderByWarehouseStorageId(warehouseStorageId);
mmap.put("warehouseStorageOrder", warehouseStorageOrder);
return prefix + "/edit";
}
/**
* 修改保存委外入库
*/
@RequiresPermissions("system:storage:edit")
@Log(title = "委外入库", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
@ResponseBody
public AjaxResult editSave(WarehouseStorageOrder warehouseStorageOrder)
{
return toAjax(outsourceStorageOrderService.updateWarehouseStorageOrder(warehouseStorageOrder));
}
/**
* 删除委外入库
*/
@RequiresPermissions("system:storage:remove")
@Log(title = "委外入库", businessType = BusinessType.DELETE)
@PostMapping( "/remove")
@ResponseBody
public AjaxResult remove(String ids)
{
return toAjax(outsourceStorageOrderService.deleteWarehouseStorageOrderByWarehouseStorageIds(ids));
}
}

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

@ -0,0 +1,63 @@
package com.ruoyi.system.service;
import com.ruoyi.warehouse.domain.WarehouseStorageOrder;
import java.util.List;
/**
* 委外入库Service接口
*
* @author ruoyi
* @date 2024-07-14
*/
public interface IOutsourceStorageOrderService
{
/**
* 查询委外入库
*
* @param warehouseStorageId 委外入库主键
* @return 委外入库
*/
public WarehouseStorageOrder selectWarehouseStorageOrderByWarehouseStorageId(Long warehouseStorageId);
/**
* 查询委外入库列表
*
* @param warehouseStorageOrder 委外入库
* @return 委外入库集合
*/
public List<WarehouseStorageOrder> selectWarehouseStorageOrderList(WarehouseStorageOrder warehouseStorageOrder);
/**
* 新增委外入库
*
* @param warehouseStorageOrder 委外入库
* @return 结果
*/
public int insertWarehouseStorageOrder(WarehouseStorageOrder warehouseStorageOrder);
/**
* 修改委外入库
*
* @param warehouseStorageOrder 委外入库
* @return 结果
*/
public int updateWarehouseStorageOrder(WarehouseStorageOrder warehouseStorageOrder);
/**
* 批量删除委外入库
*
* @param warehouseStorageIds 需要删除的委外入库主键集合
* @return 结果
*/
public int deleteWarehouseStorageOrderByWarehouseStorageIds(String warehouseStorageIds);
/**
* 删除委外入库信息
*
* @param warehouseStorageId 委外入库主键
* @return 结果
*/
public int deleteWarehouseStorageOrderByWarehouseStorageId(Long warehouseStorageId);
}

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

@ -0,0 +1,133 @@
package com.ruoyi.system.service.impl;
import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.system.service.IOutsourceStorageOrderService;
import com.ruoyi.warehouse.domain.WarehouseStorageOrder;
import com.ruoyi.warehouse.domain.WarehouseStorageOrderDetail;
import com.ruoyi.warehouse.mapper.WarehouseStorageOrderMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.stream.Collectors;
import com.ruoyi.common.utils.StringUtils;
import org.springframework.transaction.annotation.Transactional;
import com.ruoyi.common.core.text.Convert;
/**
* 委外入库Service业务层处理
*
* @author ruoyi
* @date 2024-07-14
*/
@Service
public class OutsourceStorageOrderServiceImpl implements IOutsourceStorageOrderService
{
@Autowired
private WarehouseStorageOrderMapper warehouseStorageOrderMapper;
@Override
public WarehouseStorageOrder selectWarehouseStorageOrderByWarehouseStorageId(Long warehouseStorageId) {
return warehouseStorageOrderMapper.selectWarehouseStorageOrderById(warehouseStorageId);
}
@Override
public List<WarehouseStorageOrder> selectWarehouseStorageOrderList(WarehouseStorageOrder warehouseStorageOrder) {
//得到订单类型为委外订单的数据
List<WarehouseStorageOrder> warehouseStorageOrders = warehouseStorageOrderMapper.selectOutsourceStorageOrderList(warehouseStorageOrder);
return warehouseStorageOrders;
}
/**
* 新增委外入库
*
* @param warehouseStorageOrder 委外入库
* @return 结果
*/
@Transactional
@Override
public int insertWarehouseStorageOrder(WarehouseStorageOrder warehouseStorageOrder)
{
warehouseStorageOrder.setCreateTime(DateUtils.getNowDate());
warehouseStorageOrder.setWarehouseOrderType("3");
warehouseStorageOrder.setWarehouseStorageType("4");
warehouseStorageOrder.setWarehouseStorageCode("RK20231102002");
warehouseStorageOrder.setCreateBy("张三");
int rows = warehouseStorageOrderMapper.insertWarehouseStorageOrder(warehouseStorageOrder);
insertWarehouseStorageOrderDetail(warehouseStorageOrder);
return rows;
}
/**
* 修改委外入库
*
* @param warehouseStorageOrder 委外入库
* @return 结果
*/
@Transactional
@Override
public int updateWarehouseStorageOrder(WarehouseStorageOrder warehouseStorageOrder)
{
warehouseStorageOrder.setUpdateTime(DateUtils.getNowDate());
warehouseStorageOrderMapper.deleteWarehouseStorageOrderDetailByWarehouseStorageCode(warehouseStorageOrder.getWarehouseStorageId());
insertWarehouseStorageOrderDetail(warehouseStorageOrder);
return warehouseStorageOrderMapper.updateWarehouseStorageOrder(warehouseStorageOrder);
}
/**
* 批量删除委外入库
*
* @param warehouseStorageIds 需要删除的委外入库主键
* @return 结果
*/
@Transactional
@Override
public int deleteWarehouseStorageOrderByWarehouseStorageIds(String warehouseStorageIds)
{
warehouseStorageOrderMapper.deleteWarehouseStorageOrderDetailByWarehouseStorageCodes(Convert.toStrArray(warehouseStorageIds));
return warehouseStorageOrderMapper.deleteWarehouseStorageOrderByWarehouseStorageIds(Convert.toStrArray(warehouseStorageIds));
}
/**
* 删除委外入库信息
*
* @param warehouseStorageId 委外入库主键
* @return 结果
*/
@Transactional
@Override
public int deleteWarehouseStorageOrderByWarehouseStorageId(Long warehouseStorageId)
{
warehouseStorageOrderMapper.deleteWarehouseStorageOrderDetailByWarehouseStorageCode(warehouseStorageId);
return warehouseStorageOrderMapper.deleteWarehouseStorageOrderByWarehouseStorageId(warehouseStorageId);
}
/**
* 新增仓库入库单详情信息
*
* @param warehouseStorageOrder 委外入库对象
*/
public void insertWarehouseStorageOrderDetail(WarehouseStorageOrder warehouseStorageOrder)
{
List<WarehouseStorageOrderDetail> warehouseStorageOrderDetailList = warehouseStorageOrder.getWarehouseStorageOrderDetailList();
String warehouseStorageCode = warehouseStorageOrder.getWarehouseStorageCode();
if (StringUtils.isNotNull(warehouseStorageOrderDetailList))
{
List<WarehouseStorageOrderDetail> list = new ArrayList<WarehouseStorageOrderDetail>();
for (WarehouseStorageOrderDetail warehouseStorageOrderDetail : warehouseStorageOrderDetailList)
{
warehouseStorageOrderDetail.setWarehouseStorageCode(warehouseStorageCode);
warehouseStorageOrderDetail.setWarehouseOrderType("3");
list.add(warehouseStorageOrderDetail);
}
if (list.size() > 0)
{
warehouseStorageOrderMapper.batchWarehouseStorageOrderDetail(list);
}
}
}
}

48
ruoyi-admin/src/main/java/com/ruoyi/warehouse/mapper/WarehouseStorageOrderMapper.java

@ -95,4 +95,52 @@ public interface WarehouseStorageOrderMapper
*/
public int restoreWarehouseStorageOrderById(Long warehouseStorageId);
//以下是委外相关接口
/**
* 删除委外入库
*
* @param warehouseStorageId 委外入库主键
* @return 结果
*/
public int deleteWarehouseStorageOrderByWarehouseStorageId(Long warehouseStorageId);
/**
* 批量删除委外入库
*
* @param warehouseStorageIds 需要删除的数据主键集合
* @return 结果
*/
public int deleteWarehouseStorageOrderByWarehouseStorageIds(String[] warehouseStorageIds);
/**
* 批量删除仓库入库单详情
*
* @param warehouseStorageIds 需要删除的数据主键集合
* @return 结果
*/
public int deleteWarehouseStorageOrderDetailByWarehouseStorageCodes(String[] warehouseStorageIds);
/**
* 批量新增仓库入库单详情
*
* @param warehouseStorageOrderDetailList 仓库入库单详情列表
* @return 结果
*/
public int batchWarehouseStorageOrderDetail(List<WarehouseStorageOrderDetail> warehouseStorageOrderDetailList);
/**
* 通过委外入库主键删除仓库入库单详情信息
*
* @param warehouseStorageId 委外入库ID
* @return 结果
*/
public int deleteWarehouseStorageOrderDetailByWarehouseStorageCode(Long warehouseStorageId);
/**
* 查询委外入库通知单列表数据
* */
List<WarehouseStorageOrder> selectOutsourceStorageOrderList(WarehouseStorageOrder warehouseStorageOrder);
}

47
ruoyi-admin/src/main/resources/mapper/warehouse/WarehouseStorageOrderMapper.xml

@ -237,4 +237,51 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
update warehouse_storage_order set del_flag = '0' where warehouse_storage_id = #{warehouseStorageId}
</update>
<delete id="deleteWarehouseStorageOrderByWarehouseStorageId" parameterType="Long">
delete from warehouse_storage_order where warehouse_storage_id = #{warehouseStorageId}
</delete>
<delete id="deleteWarehouseStorageOrderByWarehouseStorageIds" parameterType="String">
delete from warehouse_storage_order where warehouse_storage_id in
<foreach item="warehouseStorageId" collection="array" open="(" separator="," close=")">
#{warehouseStorageId}
</foreach>
</delete>
<delete id="deleteWarehouseStorageOrderDetailByWarehouseStorageCodes" parameterType="String">
delete from warehouse_storage_order_detail where warehouse_storage_code in
<foreach item="warehouseStorageCode" collection="array" open="(" separator="," close=")">
#{warehouseStorageCode}
</foreach>
</delete>
<delete id="deleteWarehouseStorageOrderDetailByWarehouseStorageCode" parameterType="Long">
delete from warehouse_storage_order_detail where warehouse_storage_code = #{warehouseStorageCode}
</delete>
<insert id="batchWarehouseStorageOrderDetail">
insert into warehouse_storage_order_detail( warehouse_storage_detail_id, warehouse_storage_code, related_order_code, warehouse_storage_status, warehouse_quality_status, warehouse_storage_type, warehouse_storage_class, warehouse_order_type, warehouse_dept_type, warehouse_employee, warehouse_code, warehouse_name, warehouse_detail_address, supplier_code, supplier_name, customer_contact, contact_number, supplier_address, customer_id, customer_name, customer_contact_people, customer_contact_number, customer_company_address, material_no, material_name, material_type, material_photoUrl, material_brand, material_unit, material_describe, material_process_method, material_dept_type, make_total, notify_has_arrived_num, notify_arrive_num, actual_has_arrived_num, actual_arrive_num, temporary_has_qualified_num, temporary_qualified_num, has_storage_num, storage_num, make_storage_num, quality_has_qualified_num, quality_qualified_num, refunds_exchanges_num, arrived_time, temporary_time, delivery_inspection_time, quality_time, storage_time, storage_location, temporary_remark, temporary_report_url, create_time, create_by, update_by, update_time) values
<foreach item="item" index="index" collection="list" separator=",">
( #{item.warehouseStorageDetailId}, #{item.warehouseStorageCode}, #{item.relatedOrderCode}, #{item.warehouseStorageStatus}, #{item.warehouseQualityStatus}, #{item.warehouseStorageType}, #{item.warehouseStorageClass}, #{item.warehouseOrderType}, #{item.warehouseDeptType}, #{item.warehouseEmployee}, #{item.warehouseCode}, #{item.warehouseName}, #{item.warehouseDetailAddress}, #{item.supplierCode}, #{item.supplierName}, #{item.customerContact}, #{item.contactNumber}, #{item.supplierAddress}, #{item.customerId}, #{item.customerName}, #{item.customerContactPeople}, #{item.customerContactNumber}, #{item.customerCompanyAddress}, #{item.materialNo}, #{item.materialName}, #{item.materialType}, #{item.materialPhotourl}, #{item.materialBrand}, #{item.materialUnit}, #{item.materialDescribe}, #{item.materialProcessMethod}, #{item.materialDeptType}, #{item.makeTotal}, #{item.notifyHasArrivedNum}, #{item.notifyArriveNum}, #{item.actualHasArrivedNum}, #{item.actualArriveNum}, #{item.temporaryHasQualifiedNum}, #{item.temporaryQualifiedNum}, #{item.hasStorageNum}, #{item.storageNum}, #{item.makeStorageNum}, #{item.qualityHasQualifiedNum}, #{item.qualityQualifiedNum}, #{item.refundsExchangesNum}, #{item.arrivedTime}, #{item.temporaryTime}, #{item.deliveryInspectionTime}, #{item.qualityTime}, #{item.storageTime}, #{item.storageLocation}, #{item.temporaryRemark}, #{item.temporaryReportUrl}, #{item.createTime}, #{item.createBy}, #{item.updateBy}, #{item.updateTime})
</foreach>
</insert>
<select id="selectOutsourceStorageOrderList" parameterType="WarehouseStorageOrder" resultMap="WarehouseStorageOrderResult">
<include refid="selectWarehouseStorageOrderVo"/>
<where>
<if test="warehouseStorageCode != null and warehouseStorageCode != ''"> and warehouse_storage_code = #{warehouseStorageCode}</if>
<if test="relatedOrderCode != null and relatedOrderCode != ''"> and related_order_code = #{relatedOrderCode}</if>
<if test="warehouseStorageStatus != null and warehouseStorageStatus != ''"> and warehouse_storage_status = #{warehouseStorageStatus}</if>
<if test="warehouseQualityStatus != null and warehouseQualityStatus != ''"> and warehouse_quality_status = #{warehouseQualityStatus}</if>
<if test="warehouseDeptType != null and warehouseDeptType != ''"> and warehouse_dept_type = #{warehouseDeptType}</if>
<if test="warehouseEmployee != null and warehouseEmployee != ''"> and warehouse_employee = #{warehouseEmployee}</if>
<if test="params.beginCreateTime != null and params.beginCreateTime != '' and params.endCreateTime != null and params.endCreateTime != ''"> and create_time between #{params.beginCreateTime} and #{params.endCreateTime}</if>
and warehouse_order_type = '3'
</where>
order by create_time desc
</select>
</mapper>

817
ruoyi-admin/src/main/resources/templates/system/outsource_storage/add.html

@ -0,0 +1,817 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('新增委外入库')" />
<th:block th:include="include :: datetimepicker-css" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-storage-add">
<h4 class="form-header h4">委外入库信息</h4>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">入库单号:</label>
<div class="col-sm-8">
<input name="warehouseStorageCode" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">关联订单号:</label>
<div class="col-sm-8">
<input name="relatedOrderCode" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">通知已到货数量:</label>
<div class="col-sm-8">
<input name="notifyArrivedNum" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">实际已到货数量:</label>
<div class="col-sm-8">
<input name="actualArrivedNum" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">暂收合格数量:</label>
<div class="col-sm-8">
<input name="temporaryQualifiedNum" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">暂收不合格数量:</label>
<div class="col-sm-8">
<input name="temporaryUnqualifiedNum" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">品质合格数量:</label>
<div class="col-sm-8">
<input name="qualityQualifiedNum" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">品质不合格数量:</label>
<div class="col-sm-8">
<input name="qualityUnqualifiedNum" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">入库数量:</label>
<div class="col-sm-8">
<input name="storageNum" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">到货时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="arrivedTime" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">暂收时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="temporaryTime" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">交付质检时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="deliveryInspectionTime" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">品质时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="qualityTime" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">入库时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="storageTime" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">仓库员工:</label>
<div class="col-sm-8">
<input name="warehouseEmployee" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">仓库ID:</label>
<div class="col-sm-8">
<input name="warehouseCode" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">仓库名称:</label>
<div class="col-sm-8">
<input name="warehouseName" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">仓库详情地址:</label>
<div class="col-sm-8">
<input name="warehouseDetailAddress" class="form-control" type="text">
</div>
</div>
</div>
<h4 class="form-header h4">仓库入库单详情信息</h4>
<div class="row">
<div class="col-xs-12">
<button type="button" class="btn btn-white btn-sm" onclick="addRow()"><i class="fa fa-plus"> 增加</i></button>
<button type="button" class="btn btn-white btn-sm" onclick="sub.delRow()"><i class="fa fa-minus"> 删除</i></button>
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: datetimepicker-js" />
<script th:inline="javascript">
var prefix = ctx + "system/storage"
$("#form-storage-add").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/add", $('#form-storage-add').serialize());
}
}
$("input[name='arrivedTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$("input[name='temporaryTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$("input[name='deliveryInspectionTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$("input[name='qualityTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$("input[name='storageTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$(function() {
var options = {
pagination: false,
showSearch: false,
showRefresh: false,
showToggle: false,
showColumns: false,
sidePagination: "client",
columns: [{
checkbox: true
},
{
field: 'index',
align: 'center',
title: "序号",
formatter: function (value, row, index) {
var columnIndex = $.common.sprintf("<input type='hidden' name='index' value='%s'>", $.table.serialNumber(index));
return columnIndex + $.table.serialNumber(index);
}
},
{
field: 'relatedOrderCode',
align: 'center',
title: '关联订单号',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].relatedOrderCode' value='%s'>", index, value);
return html;
}
},
{
field: 'warehouseStorageStatus',
align: 'center',
title: '仓库入库状态',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].warehouseStorageStatus' value='%s'>", index, value);
return html;
}
},
{
field: 'warehouseQualityStatus',
align: 'center',
title: '仓库品质状态',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].warehouseQualityStatus' value='%s'>", index, value);
return html;
}
},
{
field: 'warehouseStorageType',
align: 'center',
title: '仓库入库类型',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].warehouseStorageType' value='%s'>", index, value);
return html;
}
},
{
field: 'warehouseStorageClass',
align: 'center',
title: '仓库入库类别',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].warehouseStorageClass' value='%s'>", index, value);
return html;
}
},
{
field: 'warehouseOrderType',
align: 'center',
title: '仓库订单类型',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].warehouseOrderType' value='%s'>", index, value);
return html;
}
},
{
field: 'warehouseDeptType',
align: 'center',
title: '仓库入库部门类型(0仓库,1采购 )',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].warehouseDeptType' value='%s'>", index, value);
return html;
}
},
{
field: 'warehouseEmployee',
align: 'center',
title: '仓库员工',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].warehouseEmployee' value='%s'>", index, value);
return html;
}
},
{
field: 'warehouseCode',
align: 'center',
title: '仓库ID',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].warehouseCode' value='%s'>", index, value);
return html;
}
},
{
field: 'warehouseName',
align: 'center',
title: '仓库名称',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].warehouseName' value='%s'>", index, value);
return html;
}
},
{
field: 'warehouseDetailAddress',
align: 'center',
title: '仓库详细地址',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].warehouseDetailAddress' value='%s'>", index, value);
return html;
}
},
{
field: 'supplierCode',
align: 'center',
title: '供应商ID',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].supplierCode' value='%s'>", index, value);
return html;
}
},
{
field: 'supplierName',
align: 'center',
title: '供应商名称',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].supplierName' value='%s'>", index, value);
return html;
}
},
{
field: 'customerContact',
align: 'center',
title: '退货联系人',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].customerContact' value='%s'>", index, value);
return html;
}
},
{
field: 'contactNumber',
align: 'center',
title: '联系人电话',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].contactNumber' value='%s'>", index, value);
return html;
}
},
{
field: 'supplierAddress',
align: 'center',
title: '公司地址',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].supplierAddress' value='%s'>", index, value);
return html;
}
},
{
field: 'customerId',
align: 'center',
title: '客户ID',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].customerId' value='%s'>", index, value);
return html;
}
},
{
field: 'customerName',
align: 'center',
title: '客户名称',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].customerName' value='%s'>", index, value);
return html;
}
},
{
field: 'customerContactPeople',
align: 'center',
title: '客户联系人',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].customerContactPeople' value='%s'>", index, value);
return html;
}
},
{
field: 'customerContactNumber',
align: 'center',
title: '客户联系人电话',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].customerContactNumber' value='%s'>", index, value);
return html;
}
},
{
field: 'customerCompanyAddress',
align: 'center',
title: '客户公司地址',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].customerCompanyAddress' value='%s'>", index, value);
return html;
}
},
{
field: 'materialNo',
align: 'center',
title: '料号',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].materialNo' value='%s'>", index, value);
return html;
}
},
{
field: 'materialName',
align: 'center',
title: '物料名称',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].materialName' value='%s'>", index, value);
return html;
}
},
{
field: 'materialType',
align: 'center',
title: '物料类型',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].materialType' value='%s'>", index, value);
return html;
}
},
{
field: 'materialPhotourl',
align: 'center',
title: '物料图片地址',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].materialPhotourl' value='%s'>", index, value);
return html;
}
},
{
field: 'materialBrand',
align: 'center',
title: '物料品牌',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].materialBrand' value='%s'>", index, value);
return html;
}
},
{
field: 'materialUnit',
align: 'center',
title: '物料单位',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].materialUnit' value='%s'>", index, value);
return html;
}
},
{
field: 'materialDescribe',
align: 'center',
title: '物料描述',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].materialDescribe' value='%s'>", index, value);
return html;
}
},
{
field: 'materialProcessMethod',
align: 'center',
title: '物料加工方式',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].materialProcessMethod' value='%s'>", index, value);
return html;
}
},
{
field: 'materialDeptType',
align: 'center',
title: '物料入库部门(0仓库,1采购 )',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].materialDeptType' value='%s'>", index, value);
return html;
}
},
{
field: 'makeTotal',
align: 'center',
title: '生产订单数',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].makeTotal' value='%s'>", index, value);
return html;
}
},
{
field: 'notifyHasArrivedNum',
align: 'center',
title: '通知已到货数量',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].notifyHasArrivedNum' value='%s'>", index, value);
return html;
}
},
{
field: 'notifyArriveNum',
align: 'center',
title: '通知到货数量',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].notifyArriveNum' value='%s'>", index, value);
return html;
}
},
{
field: 'actualHasArrivedNum',
align: 'center',
title: '实际已到货数量',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].actualHasArrivedNum' value='%s'>", index, value);
return html;
}
},
{
field: 'actualArriveNum',
align: 'center',
title: '实际到货数量',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].actualArriveNum' value='%s'>", index, value);
return html;
}
},
{
field: 'temporaryHasQualifiedNum',
align: 'center',
title: '暂收已合格数量',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].temporaryHasQualifiedNum' value='%s'>", index, value);
return html;
}
},
{
field: 'temporaryQualifiedNum',
align: 'center',
title: '暂收合格数量',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].temporaryQualifiedNum' value='%s'>", index, value);
return html;
}
},
{
field: 'hasStorageNum',
align: 'center',
title: '已入库数量',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].hasStorageNum' value='%s'>", index, value);
return html;
}
},
{
field: 'storageNum',
align: 'center',
title: '入库数量',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].storageNum' value='%s'>", index, value);
return html;
}
},
{
field: 'makeStorageNum',
align: 'center',
title: '生产入库数量',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].makeStorageNum' value='%s'>", index, value);
return html;
}
},
{
field: 'qualityHasQualifiedNum',
align: 'center',
title: '品质已合格数量',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].qualityHasQualifiedNum' value='%s'>", index, value);
return html;
}
},
{
field: 'qualityQualifiedNum',
align: 'center',
title: '品质合格数量',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].qualityQualifiedNum' value='%s'>", index, value);
return html;
}
},
{
field: 'refundsExchangesNum',
align: 'center',
title: '退换货数',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].refundsExchangesNum' value='%s'>", index, value);
return html;
}
},
{
field: 'arrivedTime',
align: 'center',
title: '到货时间',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].arrivedTime' value='%s'>", index, value);
return html;
}
},
{
field: 'temporaryTime',
align: 'center',
title: '暂收时间',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].temporaryTime' value='%s'>", index, value);
return html;
}
},
{
field: 'deliveryInspectionTime',
align: 'center',
title: '交付质检时间',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].deliveryInspectionTime' value='%s'>", index, value);
return html;
}
},
{
field: 'qualityTime',
align: 'center',
title: '品质时间',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].qualityTime' value='%s'>", index, value);
return html;
}
},
{
field: 'storageTime',
align: 'center',
title: '入库时间',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].storageTime' value='%s'>", index, value);
return html;
}
},
{
field: 'storageLocation',
align: 'center',
title: '存放位置',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].storageLocation' value='%s'>", index, value);
return html;
}
},
{
field: 'temporaryRemark',
align: 'center',
title: '暂收备注',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].temporaryRemark' value='%s'>", index, value);
return html;
}
},
{
field: 'temporaryReportUrl',
align: 'center',
title: '暂收报告',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].temporaryReportUrl' value='%s'>", index, value);
return html;
}
},
{
field: 'createTime',
align: 'center',
title: '录入时间',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].createTime' value='%s'>", index, value);
return html;
}
},
{
field: 'createBy',
align: 'center',
title: '录入人',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].createBy' value='%s'>", index, value);
return html;
}
},
{
field: 'updateBy',
align: 'center',
title: '更新人',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].updateBy' value='%s'>", index, value);
return html;
}
},
{
field: 'updateTime',
align: 'center',
title: '上次更新时间',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].updateTime' value='%s'>", index, value);
return html;
}
},
{
title: '操作',
align: 'center',
formatter: function(value, row, index) {
var value = $.common.isNotEmpty(row.index) ? row.index : $.table.serialNumber(index);
return '<a class="btn btn-danger btn-xs" href="javascript:void(0)" onclick="sub.delRowByIndex(\'' + value + '\')"><i class="fa fa-remove"></i>删除</a>';
}
}]
};
$.table.init(options);
});
function addRow() {
var count = $("#" + table.options.id).bootstrapTable('getData').length;
var row = {
index: $.table.serialNumber(count),
relatedOrderCode: "",
warehouseStorageStatus: "",
warehouseQualityStatus: "",
warehouseStorageType: "",
warehouseStorageClass: "",
warehouseOrderType: "",
warehouseDeptType: "",
warehouseEmployee: "",
warehouseCode: "",
warehouseName: "",
warehouseDetailAddress: "",
supplierCode: "",
supplierName: "",
customerContact: "",
contactNumber: "",
supplierAddress: "",
customerId: "",
customerName: "",
customerContactPeople: "",
customerContactNumber: "",
customerCompanyAddress: "",
materialNo: "",
materialName: "",
materialType: "",
materialPhotourl: "",
materialBrand: "",
materialUnit: "",
materialDescribe: "",
materialProcessMethod: "",
materialDeptType: "",
makeTotal: "",
notifyHasArrivedNum: "",
notifyArriveNum: "",
actualHasArrivedNum: "",
actualArriveNum: "",
temporaryHasQualifiedNum: "",
temporaryQualifiedNum: "",
hasStorageNum: "",
storageNum: "",
makeStorageNum: "",
qualityHasQualifiedNum: "",
qualityQualifiedNum: "",
refundsExchangesNum: "",
arrivedTime: "",
temporaryTime: "",
deliveryInspectionTime: "",
qualityTime: "",
storageTime: "",
storageLocation: "",
temporaryRemark: "",
temporaryReportUrl: "",
createTime: "",
createBy: "",
updateBy: "",
updateTime: "",
}
sub.addRow(row);
}
</script>
</body>
</html>

874
ruoyi-admin/src/main/resources/templates/system/outsource_storage/edit.html

@ -0,0 +1,874 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('修改委外入库')" />
<th:block th:include="include :: datetimepicker-css" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-storage-edit" th:object="${warehouseStorageOrder}">
<h4 class="form-header h4">委外入库信息</h4>
<input name="warehouseStorageId" th:field="*{warehouseStorageId}" type="hidden">
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">入库单号:</label>
<div class="col-sm-8">
<input name="warehouseStorageCode" th:field="*{warehouseStorageCode}" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">关联订单号:</label>
<div class="col-sm-8">
<input name="relatedOrderCode" th:field="*{relatedOrderCode}" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">通知已到货数量:</label>
<div class="col-sm-8">
<input name="notifyArrivedNum" th:field="*{notifyArrivedNum}" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">实际已到货数量:</label>
<div class="col-sm-8">
<input name="actualArrivedNum" th:field="*{actualArrivedNum}" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">暂收合格数量:</label>
<div class="col-sm-8">
<input name="temporaryQualifiedNum" th:field="*{temporaryQualifiedNum}" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">暂收不合格数量:</label>
<div class="col-sm-8">
<input name="temporaryUnqualifiedNum" th:field="*{temporaryUnqualifiedNum}" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">品质合格数量:</label>
<div class="col-sm-8">
<input name="qualityQualifiedNum" th:field="*{qualityQualifiedNum}" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">品质不合格数量:</label>
<div class="col-sm-8">
<input name="qualityUnqualifiedNum" th:field="*{qualityUnqualifiedNum}" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">入库数量:</label>
<div class="col-sm-8">
<input name="storageNum" th:field="*{storageNum}" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">到货时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="arrivedTime" th:value="${#dates.format(warehouseStorageOrder.arrivedTime, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">暂收时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="temporaryTime" th:value="${#dates.format(warehouseStorageOrder.temporaryTime, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">交付质检时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="deliveryInspectionTime" th:value="${#dates.format(warehouseStorageOrder.deliveryInspectionTime, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">品质时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="qualityTime" th:value="${#dates.format(warehouseStorageOrder.qualityTime, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">入库时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="storageTime" th:value="${#dates.format(warehouseStorageOrder.storageTime, 'yyyy-MM-dd')}" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">仓库员工:</label>
<div class="col-sm-8">
<input name="warehouseEmployee" th:field="*{warehouseEmployee}" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">仓库ID:</label>
<div class="col-sm-8">
<input name="warehouseCode" th:field="*{warehouseCode}" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">仓库名称:</label>
<div class="col-sm-8">
<input name="warehouseName" th:field="*{warehouseName}" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">仓库详情地址:</label>
<div class="col-sm-8">
<input name="warehouseDetailAddress" th:field="*{warehouseDetailAddress}" class="form-control" type="text">
</div>
</div>
</div>
<h4 class="form-header h4">仓库入库单详情信息</h4>
<div class="row">
<div class="col-sm-12">
<button type="button" class="btn btn-white btn-sm" onclick="addRow()"><i class="fa fa-plus"> 增加</i></button>
<button type="button" class="btn btn-white btn-sm" onclick="sub.delRow()"><i class="fa fa-minus"> 删除</i></button>
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: datetimepicker-js" />
<script th:inline="javascript">
var prefix = ctx + "system/storage";
$("#form-storage-edit").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/edit", $('#form-storage-edit').serialize());
}
}
$("input[name='arrivedTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$("input[name='temporaryTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$("input[name='deliveryInspectionTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$("input[name='qualityTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$("input[name='storageTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$(function() {
var options = {
data: [[${warehouseStorageOrder.warehouseStorageOrderDetailList}]],
pagination: false,
showSearch: false,
showRefresh: false,
showToggle: false,
showColumns: false,
sidePagination: "client",
columns: [{
checkbox: true
},
{
field: 'index',
align: 'center',
title: "序号",
formatter: function (value, row, index) {
var columnIndex = $.common.sprintf("<input type='hidden' name='index' value='%s'>", $.table.serialNumber(index));
return columnIndex + $.table.serialNumber(index);
}
},
{
field: 'relatedOrderCode',
align: 'center',
title: '关联订单号',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].relatedOrderCode' value='%s'>", index, value);
return html;
}
},
{
field: 'warehouseStorageStatus',
align: 'center',
title: '仓库入库状态',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].warehouseStorageStatus' value='%s'>", index, value);
return html;
}
},
{
field: 'warehouseQualityStatus',
align: 'center',
title: '仓库品质状态',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].warehouseQualityStatus' value='%s'>", index, value);
return html;
}
},
{
field: 'warehouseStorageType',
align: 'center',
title: '仓库入库类型',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].warehouseStorageType' value='%s'>", index, value);
return html;
}
},
{
field: 'warehouseStorageClass',
align: 'center',
title: '仓库入库类别',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].warehouseStorageClass' value='%s'>", index, value);
return html;
}
},
{
field: 'warehouseOrderType',
align: 'center',
title: '仓库订单类型',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].warehouseOrderType' value='%s'>", index, value);
return html;
}
},
{
field: 'warehouseDeptType',
align: 'center',
title: '仓库入库部门类型(0仓库,1采购 )',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].warehouseDeptType' value='%s'>", index, value);
return html;
}
},
{
field: 'warehouseEmployee',
align: 'center',
title: '仓库员工',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].warehouseEmployee' value='%s'>", index, value);
return html;
}
},
{
field: 'warehouseCode',
align: 'center',
title: '仓库ID',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].warehouseCode' value='%s'>", index, value);
return html;
}
},
{
field: 'warehouseName',
align: 'center',
title: '仓库名称',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].warehouseName' value='%s'>", index, value);
return html;
}
},
{
field: 'warehouseDetailAddress',
align: 'center',
title: '仓库详细地址',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].warehouseDetailAddress' value='%s'>", index, value);
return html;
}
},
{
field: 'supplierCode',
align: 'center',
title: '供应商ID',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].supplierCode' value='%s'>", index, value);
return html;
}
},
{
field: 'supplierName',
align: 'center',
title: '供应商名称',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].supplierName' value='%s'>", index, value);
return html;
}
},
{
field: 'customerContact',
align: 'center',
title: '退货联系人',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].customerContact' value='%s'>", index, value);
return html;
}
},
{
field: 'contactNumber',
align: 'center',
title: '联系人电话',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].contactNumber' value='%s'>", index, value);
return html;
}
},
{
field: 'supplierAddress',
align: 'center',
title: '公司地址',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].supplierAddress' value='%s'>", index, value);
return html;
}
},
{
field: 'customerId',
align: 'center',
title: '客户ID',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].customerId' value='%s'>", index, value);
return html;
}
},
{
field: 'customerName',
align: 'center',
title: '客户名称',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].customerName' value='%s'>", index, value);
return html;
}
},
{
field: 'customerContactPeople',
align: 'center',
title: '客户联系人',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].customerContactPeople' value='%s'>", index, value);
return html;
}
},
{
field: 'customerContactNumber',
align: 'center',
title: '客户联系人电话',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].customerContactNumber' value='%s'>", index, value);
return html;
}
},
{
field: 'customerCompanyAddress',
align: 'center',
title: '客户公司地址',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].customerCompanyAddress' value='%s'>", index, value);
return html;
}
},
{
field: 'materialNo',
align: 'center',
title: '料号',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].materialNo' value='%s'>", index, value);
return html;
}
},
{
field: 'materialName',
align: 'center',
title: '物料名称',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].materialName' value='%s'>", index, value);
return html;
}
},
{
field: 'materialType',
align: 'center',
title: '物料类型',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].materialType' value='%s'>", index, value);
return html;
}
},
{
field: 'materialPhotourl',
align: 'center',
title: '物料图片地址',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].materialPhotourl' value='%s'>", index, value);
return html;
}
},
{
field: 'materialBrand',
align: 'center',
title: '物料品牌',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].materialBrand' value='%s'>", index, value);
return html;
}
},
{
field: 'materialUnit',
align: 'center',
title: '物料单位',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].materialUnit' value='%s'>", index, value);
return html;
}
},
{
field: 'materialDescribe',
align: 'center',
title: '物料描述',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].materialDescribe' value='%s'>", index, value);
return html;
}
},
{
field: 'materialProcessMethod',
align: 'center',
title: '物料加工方式',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].materialProcessMethod' value='%s'>", index, value);
return html;
}
},
{
field: 'materialDeptType',
align: 'center',
title: '物料入库部门(0仓库,1采购 )',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].materialDeptType' value='%s'>", index, value);
return html;
}
},
{
field: 'makeTotal',
align: 'center',
title: '生产订单数',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].makeTotal' value='%s'>", index, value);
return html;
}
},
{
field: 'notifyHasArrivedNum',
align: 'center',
title: '通知已到货数量',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].notifyHasArrivedNum' value='%s'>", index, value);
return html;
}
},
{
field: 'notifyArriveNum',
align: 'center',
title: '通知到货数量',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].notifyArriveNum' value='%s'>", index, value);
return html;
}
},
{
field: 'actualHasArrivedNum',
align: 'center',
title: '实际已到货数量',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].actualHasArrivedNum' value='%s'>", index, value);
return html;
}
},
{
field: 'actualArriveNum',
align: 'center',
title: '实际到货数量',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].actualArriveNum' value='%s'>", index, value);
return html;
}
},
{
field: 'temporaryHasQualifiedNum',
align: 'center',
title: '暂收已合格数量',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].temporaryHasQualifiedNum' value='%s'>", index, value);
return html;
}
},
{
field: 'temporaryQualifiedNum',
align: 'center',
title: '暂收合格数量',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].temporaryQualifiedNum' value='%s'>", index, value);
return html;
}
},
{
field: 'hasStorageNum',
align: 'center',
title: '已入库数量',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].hasStorageNum' value='%s'>", index, value);
return html;
}
},
{
field: 'storageNum',
align: 'center',
title: '入库数量',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].storageNum' value='%s'>", index, value);
return html;
}
},
{
field: 'makeStorageNum',
align: 'center',
title: '生产入库数量',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].makeStorageNum' value='%s'>", index, value);
return html;
}
},
{
field: 'qualityHasQualifiedNum',
align: 'center',
title: '品质已合格数量',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].qualityHasQualifiedNum' value='%s'>", index, value);
return html;
}
},
{
field: 'qualityQualifiedNum',
align: 'center',
title: '品质合格数量',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].qualityQualifiedNum' value='%s'>", index, value);
return html;
}
},
{
field: 'refundsExchangesNum',
align: 'center',
title: '退换货数',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].refundsExchangesNum' value='%s'>", index, value);
return html;
}
},
{
field: 'arrivedTime',
align: 'center',
title: '到货时间',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].arrivedTime' value='%s'>", index, value);
return html;
}
},
{
field: 'temporaryTime',
align: 'center',
title: '暂收时间',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].temporaryTime' value='%s'>", index, value);
return html;
}
},
{
field: 'deliveryInspectionTime',
align: 'center',
title: '交付质检时间',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].deliveryInspectionTime' value='%s'>", index, value);
return html;
}
},
{
field: 'qualityTime',
align: 'center',
title: '品质时间',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].qualityTime' value='%s'>", index, value);
return html;
}
},
{
field: 'storageTime',
align: 'center',
title: '入库时间',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].storageTime' value='%s'>", index, value);
return html;
}
},
{
field: 'storageLocation',
align: 'center',
title: '存放位置',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].storageLocation' value='%s'>", index, value);
return html;
}
},
{
field: 'temporaryRemark',
align: 'center',
title: '暂收备注',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].temporaryRemark' value='%s'>", index, value);
return html;
}
},
{
field: 'temporaryReportUrl',
align: 'center',
title: '暂收报告',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].temporaryReportUrl' value='%s'>", index, value);
return html;
}
},
{
field: 'createTime',
align: 'center',
title: '录入时间',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].createTime' value='%s'>", index, value);
return html;
}
},
{
field: 'createBy',
align: 'center',
title: '录入人',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].createBy' value='%s'>", index, value);
return html;
}
},
{
field: 'updateBy',
align: 'center',
title: '更新人',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].updateBy' value='%s'>", index, value);
return html;
}
},
{
field: 'updateTime',
align: 'center',
title: '上次更新时间',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control' type='text' name='warehouseStorageOrderDetailList[%s].updateTime' value='%s'>", index, value);
return html;
}
},
{
title: '操作',
align: 'center',
formatter: function(value, row, index) {
var value = $.common.isNotEmpty(row.index) ? row.index : $.table.serialNumber(index);
return '<a class="btn btn-danger btn-xs" href="javascript:void(0)" onclick="sub.delRowByIndex(\'' + value + '\')"><i class="fa fa-remove"></i>删除</a>';
}
}]
};
$.table.init(options);
});
function addRow() {
var count = $("#" + table.options.id).bootstrapTable('getData').length;
var row = {
index: $.table.serialNumber(count),
relatedOrderCode: "",
warehouseStorageStatus: "",
warehouseQualityStatus: "",
warehouseStorageType: "",
warehouseStorageClass: "",
warehouseOrderType: "",
warehouseDeptType: "",
warehouseEmployee: "",
warehouseCode: "",
warehouseName: "",
warehouseDetailAddress: "",
supplierCode: "",
supplierName: "",
customerContact: "",
contactNumber: "",
supplierAddress: "",
customerId: "",
customerName: "",
customerContactPeople: "",
customerContactNumber: "",
customerCompanyAddress: "",
materialNo: "",
materialName: "",
materialType: "",
materialPhotourl: "",
materialBrand: "",
materialUnit: "",
materialDescribe: "",
materialProcessMethod: "",
materialDeptType: "",
makeTotal: "",
notifyHasArrivedNum: "",
notifyArriveNum: "",
actualHasArrivedNum: "",
actualArriveNum: "",
temporaryHasQualifiedNum: "",
temporaryQualifiedNum: "",
hasStorageNum: "",
storageNum: "",
makeStorageNum: "",
qualityHasQualifiedNum: "",
qualityQualifiedNum: "",
refundsExchangesNum: "",
arrivedTime: "",
temporaryTime: "",
deliveryInspectionTime: "",
qualityTime: "",
storageTime: "",
storageLocation: "",
temporaryRemark: "",
temporaryReportUrl: "",
createTime: "",
createBy: "",
updateBy: "",
updateTime: "",
}
sub.addRow(row);
}
</script>
</body>
</html>

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

@ -0,0 +1,207 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('委外入库列表')" />
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="formId">
<div class="select-list">
<ul>
<li>
<label>入库单号:</label>
<input type="text" name="warehouseStorageCode"/>
</li>
<li>
<label>入库状态:</label>
<input type="text" name="temporaryQualifiedNum"/>
</li>
<li>
<label>品质状态:</label>
<input type="text" name="temporaryUnqualifiedNum"/>
</li>
<li>
<label>关联订单号:</label>
<input type="text" name="relatedOrderCode"/>
</li>
<li>
<label>仓库员:</label>
<input type="text" name="warehouseEmployee"/>
</li>
<li>
<label>入库部门:</label>
<input type="text" name="temporaryUnqualifiedNum"/>
</li>
<li>
<label>录入时间:</label>
<input type="text" class="time-input" placeholder="请选择入库时间" name="storageTime"/>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
</li>
</ul>
</div>
</form>
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="system:storage:export">
<i class="fa fa-download"></i> 导出
</a>
</div>
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var editFlag = [[${@permission.hasPermi('system:storage:edit')}]];
var removeFlag = [[${@permission.hasPermi('system:storage:remove')}]];
var detailFlag = [[${@permission.hasPermi('system:storage:detail')}]];
var prefix = ctx + "system/outsource_storage";
$(function() {
var options = {
url: prefix + "/list",
createUrl: prefix + "/add",
updateUrl: prefix + "/edit/{id}",
detailUrl: prefix + "/detail/{id}",
removeUrl: prefix + "/remove",
exportUrl: prefix + "/export",
modalName: "委外入库",
columns: [{
checkbox: true
},
{
field: 'warehouseStorageId',
title: '入库单id',
visible: false
},
{
field: 'warehouseStorageCode',
title: '入库单号'
},
{
field: 'warehouseStorageStatus',
title: '入库状态',
// 仓库入库状态(0待暂收、1已暂收、2待入库、3部分入库、4全部入库)'
},
{
field: 'warehouseQualityStatus',
title: '品质状态',
// '仓库品质状态(0待品质、1部分品质、2全部品质)'
},
{
field: 'relatedOrderCode',
title: '关联订单号'
},
{
field: 'warehouseOrderType',
title: '订单类型'
},
{
field: 'warehouseStorageType',
title: '入库类型'
// (0采购入库、1供应商补货、2委内入库、3公司退货、4委外入库、5生产入库)
},
{
field: 'warehouseDeptType',
title: '入库部门',
// '仓库入库部门类型(0仓库,1采购 )'
},
{
field: 'notifyArrivedNum',
title: '通知已到货数'
},
{
field: 'actualArrivedNum',
title: '实际到货数'
},
{
field: 'temporaryQualifiedNum',
title: '暂收合格数'
},
{
field: 'temporaryUnqualifiedNum',
title: '暂收不合格数'
},
{
field: 'qualityQualifiedNum',
title: '品质合格数'
},
{
field: 'qualityUnqualifiedNum',
title: '品质不合格数'
},
{
field: 'storageNum',
title: '入库数'
},
{
field: 'arrivedTime',
title: '到货时间'
},
{
field: 'temporaryTime',
title: '暂收时间'
},
{
field: 'deliveryInspectionTime',
title: '交检时间'
},
{
field: 'qualityTime',
title: '品质时间'
},
{
field: 'storageTime',
title: '入库时间'
},
{
field: 'warehouseEmployee',
title: '仓库员'
},
{
field: 'warehouseCode',
title: '仓库ID'
},
{
field: 'warehouseName',
title: '仓库名称'
},
{
field: 'createBy',
title: '录入人'
},
{
field: 'createTime',
title: '录入时间'
},
{
field: 'updateBy',
title: '更新人'
},
{
field: 'updateTime',
title: '上次更新时间'
},
{
title: '操作',
align: 'center',
formatter: function(value, row, index) {
var actions = [];
actions.push('<a class="btn btn-info btn-xs ' + detailFlag + '" href="javascript:;" onclick="$.operate.detail(\'' + row.warehouseStorageId + '\')"><i class="fa fa-search"></i>详情</a> ');
return actions.join('');
}
}]
};
$.table.init(options);
});
</script>
</body>
</html>
Loading…
Cancel
Save