Browse Source
整合新增委外入库通知单 controller 整合新增委外入库通知单 Service 整合新增委外入库通知单 ServiceImpl 修改仓库入库单 新增 委外相关删除和批量新增后端接口 新增 通过仓库入库订单专门查询委外订单后端接口 修改委外入库通知单的 url为 /system/outsource_storagedev
liuxiaoxu
4 months ago
8 changed files with 2315 additions and 0 deletions
@ -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)); |
|||
} |
|||
} |
@ -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); |
|||
} |
@ -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); |
|||
} |
|||
} |
|||
} |
|||
} |
@ -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> |
@ -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> |
@ -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> 搜索</a> |
|||
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i> 重置</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…
Reference in new issue