来料和分料分页面展示,代码优化修改

This commit is contained in:
wangcl 2021-12-29 09:26:59 +08:00
parent e2bb23f0ca
commit e3e16fa568
14 changed files with 567 additions and 141 deletions

View File

@ -70,11 +70,19 @@ public class BusiMaterialOperateController extends BaseController
/**
* 新增物料操作流水
*/
@GetMapping("/add")
public String add(@RequestParam(name = "operType",required = false) String operType,ModelMap mmap)
@GetMapping("/addIn")
public String addIn()
{
mmap.put("operType",operType);
return prefix + "/add";
return prefix + "/addIn";
}
/**
* 新增物料操作流水
*/
@GetMapping("/addOut")
public String addOut()
{
return prefix + "/addOut";
}
/**

View File

@ -1,5 +1,6 @@
package com.ruoyi.busi.controller;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -131,15 +132,61 @@ public class BusiProductRequireController extends BaseController
return toAjax(busiProductRequireService.deleteBusiProductRequireByIds(ids));
}
////////////////
/**
* 通过订单ID查询 物料类型列表
*/
@PostMapping("/selMaterialTypeListByOrderId")
@ResponseBody
public AjaxResult selMaterialTypeListByOrderId(@RequestParam(name = "orderId",required = false) String orderId)
{
List<Map<String,String>> list = busiProductRequireService.selMaterialTypeListByOrderId(orderId);
return success(list);
}
/**
* 通过订单ID和物料类型查询 物料颜色列表
*/
@PostMapping("/selMaterialColorListByOrderIdAndType")
@ResponseBody
public AjaxResult selMaterialColorListByOrderIdAndType(@RequestParam Map<String,String> queryMap)
{
List<Map<String,String>> list = busiProductRequireService.selMaterialColorListByOrderIdAndType(queryMap);
return success(list);
}
/**
* 通过订单ID查询产品需求列表
*/
@PostMapping("/listByOrderId")
@ResponseBody
public AjaxResult list(@RequestParam(name = "orderId",required = false) String orderId)
public AjaxResult listByOrderId(@RequestParam(name = "orderId", required = false) String orderId) {
BusiProductRequire query = new BusiProductRequire();
query.setOrderId(orderId);
List<BusiProductRequire> list = busiProductRequireService.selectBusiProductRequireList(query);
return success(list);
}
/**
* 通过产品ID查询 物料类型列表
*/
@PostMapping("/selMaterialTypeListByProductId")
@ResponseBody
public AjaxResult selMaterialTypeListByProductId(@RequestParam(name = "productId",required = false) String productId)
{
List<Map<String,String>> list = busiProductRequireService.selectMaterialRequireByOrderId(orderId);
List<Map<String,String>> list = busiProductRequireService.selMaterialTypeListByProductId(productId);
return success(list);
}
/**
* 通过产品ID和查询物料颜色查询物料类型需求列表
*/
@PostMapping("/materialColorListByProductIdAndType")
@ResponseBody
public AjaxResult selMaterialColorListByProductIdAndType(@RequestParam Map<String,String> queryMap)
{
List<Map<String,String>> list = busiProductRequireService.selMaterialColorListByProductIdAndType(queryMap);
return success(list);
}
}

View File

@ -5,6 +5,8 @@ import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import java.math.BigDecimal;
/**
* 物料需求对象 busi_material_require
*
@ -24,7 +26,7 @@ public class BusiMaterialRequire extends BaseEntity
/** 数量 */
@Excel(name = "数量")
private Long amount;
private BigDecimal amount;
/** 单位 */
@Excel(name = "单位")
@ -56,16 +58,16 @@ public class BusiMaterialRequire extends BaseEntity
{
return productRequireId;
}
public void setAmount(Long amount)
{
public BigDecimal getAmount() {
return amount;
}
public void setAmount(BigDecimal amount) {
this.amount = amount;
}
public Long getAmount()
{
return amount;
}
public void setUnit(String unit)
public void setUnit(String unit)
{
this.unit = unit;
}

View File

@ -87,11 +87,11 @@ public interface BusiProductRequireMapper
*/
public int deleteBusiMaterialRequireByProductRequireId(String id);
/**
* 通过订单ID查询物料需求列表
*
* @param orderId 订单ID
* @return 结果
*/
List<Map<String, String>> selectMaterialRequireByOrderId(String orderId);
List<Map<String, String>> selMaterialTypeListByOrderId(String orderId);
List<Map<String, String>> selMaterialColorListByOrderIdAndType(Map<String, String> queryMap);
List<Map<String, String>> selMaterialTypeListByProductId(String productId);
List<Map<String, String>> selMaterialColorListByProductIdAndType(Map<String, String> queryMap);
}

View File

@ -61,11 +61,11 @@ public interface IBusiProductRequireService
*/
public int deleteBusiProductRequireById(String id);
/**
* 按订单查询物料需求
*
* @param id 产品需求主键
* @return 结果
*/
public List<Map<String,String>> selectMaterialRequireByOrderId(String orderId);
List<Map<String, String>> selMaterialTypeListByOrderId(String orderId);
List<Map<String, String>> selMaterialColorListByOrderIdAndType(Map<String, String> queryMap);
List<Map<String, String>> selMaterialTypeListByProductId(String productId);
List<Map<String, String>> selMaterialColorListByProductIdAndType(Map<String, String> queryMap);
}

View File

@ -111,8 +111,23 @@ public class BusiProductRequireServiceImpl implements IBusiProductRequireService
}
@Override
public List<Map<String, String>> selectMaterialRequireByOrderId(String orderId) {
return busiProductRequireMapper.selectMaterialRequireByOrderId(orderId);
public List<Map<String, String>> selMaterialTypeListByOrderId(String orderId) {
return busiProductRequireMapper.selMaterialTypeListByOrderId(orderId);
}
@Override
public List<Map<String, String>> selMaterialColorListByOrderIdAndType(Map<String, String> queryMap) {
return busiProductRequireMapper.selMaterialColorListByOrderIdAndType(queryMap);
}
@Override
public List<Map<String, String>> selMaterialTypeListByProductId(String productId) {
return busiProductRequireMapper.selMaterialTypeListByProductId(productId);
}
@Override
public List<Map<String, String>> selMaterialColorListByProductIdAndType(Map<String, String> queryMap) {
return busiProductRequireMapper.selMaterialColorListByProductIdAndType(queryMap);
}
/**

View File

@ -130,15 +130,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</foreach>
</insert>
<select id="selectMaterialRequireByOrderId" parameterType="String" resultType="java.util.Map">
select max(A.classify) classifyCode,max(sdd2.dict_label) classifyVal, max(A.color) colorCode, max(sdd.dict_label) colorVal,sum(A.amount) amount, MAX(sdd3.dict_label) unitVal, max(A.unit) as unitCode
from busi_material_require A
left join busi_product_require B on A.product_require_id = B.id
left join busi_order bo on B.order_id = bo.id
left join sys_dict_data sdd on sdd.dict_type='busi_color' and A.color = sdd.dict_value
left join sys_dict_data sdd2 on sdd2.dict_type='busi_material_type' and A.classify = sdd2.dict_value
left join sys_dict_data sdd3 on sdd3.dict_type='busi_material_unit' and A.unit = sdd3.dict_value
where B.order_id = #{orderId} group by (A.color + A.classify)
<select id="selMaterialTypeListByOrderId" parameterType="String" resultType="java.util.Map">
SELECT DISTINCT bmr.classify classifyCode
from busi_material_require bmr
LEFT JOIN busi_product_require bpr
on bmr.product_require_id = bpr.id
where bpr.order_id = #{orderId}
</select>
<select id="selMaterialColorListByOrderIdAndType" parameterType="java.util.Map" resultType="java.util.Map">
SELECT DISTINCT bmr.color AS colorCode
FROM busi_material_require bmr
LEFT JOIN busi_product_require bpr
ON bmr.product_require_id = bpr.id
WHERE bpr.order_id = #{orderId} AND bmr.classify = #{classify}
</select>
<select id="selMaterialTypeListByProductId" parameterType="String" resultType="java.util.Map">
SELECT DISTINCT bmr.classify AS classifyCode
FROM busi_material_require bmr
WHERE bmr.product_require_id = #{productId}
</select>
<select id="selMaterialColorListByProductIdAndType" parameterType="java.util.Map" resultType="java.util.Map">
SELECT DISTINCT bmr.color AS colorCode
FROM busi_material_require bmr
WHERE bmr.product_require_id = #{productId} AND bmr.classify = #{classify}
</select>
</mapper>

View File

@ -525,6 +525,20 @@ var table = {
}
return distinct ? $.common.uniqueFn(rows) : rows;
},
// 返回数据字典显示值
getDictText: function(datas, value) {
if ($.common.isEmpty(datas) || $.common.isEmpty(value)) {
return '';
}
var actions = [];
$.each(datas, function(index, dict) {
if (dict.dictValue == ('' + value)) {
actions.push(dict.dictLabel);
return false;
}
});
return actions.join('');
},
// 回显数据字典
selectDictLabel: function(datas, value) {
if ($.common.isEmpty(datas) || $.common.isEmpty(value)) {

View File

@ -1,113 +1,134 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('新增物料操作')" />
<th:block th:include="include :: header('新增来料')" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-materialperate-add">
<div class="form-group">
<label class="col-sm-3 control-label">订单:</label>
<div class="col-sm-8">
<input id="treeId" name="orderId" type="hidden">
<input id="treeName" name="orderName" readonly="true" onclick="selectOrder(1)" class="form-control" type="text" required>
</div>
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-materialperate-add">
<div class="form-group">
<label class="col-sm-3 control-label">订单:</label>
<div class="col-sm-8">
<input id="treeId" name="orderId" type="hidden">
<input id="treeName" name="orderName" readonly="true" onclick="selectOrder(1)" class="form-control" type="text" required>
</div>
<div class="form-group">
<label class="col-sm-3 control-label" title="若无对应的物料选项,请先在产品需求中添加物料需求">物料选择:<i class="fa fa-question-circle-o"></i></label>
<div class="col-sm-6">
<select id="post" name="colorAndType" class="form-control required" >
</select>
</div>
<label class="control-label text-danger">需求量:<span id="requireAmount" class=""> -- </span></label>
</div>
<div class="form-group">
<label class="col-sm-3 control-label" title="若无对应的物料选项,请先在产品需求中添加物料需求">物料选择:<i class="fa fa-question-circle-o"></i></label>
<div class="col-sm-3">
<select id="classify" name="classify" class="form-control required" >
</select>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">数量:</label>
<div class="col-sm-6">
<input name="amount" class="form-control" type="text" required>
</div>
<label class="control-label text-danger">库存量:<span id="requireAmount" class=""> -- </span></label>
<div class="col-sm-3">
<select id="color" name="color" class="form-control required" >
</select>
</div>
<div class="form-group" th:style="${operType==null}?'':'display:none'">
<label class="col-sm-3 control-label">操作类型:</label>
<div class="col-sm-8">
<select name="oprateType" class="form-control m-b">
<option value="1" th:selected="${operType ne '2'}">入库</option>
<option value="2" th:selected="${operType eq '2'}">出库</option>
</select>
</div>
<label class="control-label text-danger">需求量:<span id="requireAmount" class=""> -- </span></label>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">来料数量:</label>
<div class="col-sm-6">
<input name="amount" class="form-control" type="text" required>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">备注信息:</label>
<div class="col-sm-8">
<textarea name="remark" class="form-control"></textarea>
</div>
<label class="control-label text-danger">当前库存量:<span id="requireAmount" class=""> -- </span></label>
</div>
<div class="form-group" th:style="${operType==null}?'':'display:none'">
<label class="col-sm-3 control-label">操作类型:</label>
<div class="col-sm-8">
<select name="oprateType" class="form-control m-b">
<option value="1" th:selected="${operType ne '2'}">入库</option>
<option value="2" th:selected="${operType eq '2'}">出库</option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">备注信息:</label>
<div class="col-sm-8">
<textarea name="remark" class="form-control"></textarea>
</div>
</div>
<div class="form-group" th:if="${operType!=null}">
<div class="col-sm-5"></div>
<div class="col-sm-2">
<a class="btn btn-success" onclick="submitHandler()" >
保存
</a>
</div>
<div class="col-sm-3">
<a class="btn btn-info" onclick="$.modal.closeTab()" >
关闭
</a>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var prefix = ctx + "busi/materialperate"
$("#form-materialperate-add").validate({
focusCleanup: true
});
<div class="form-group" th:if="${operType!=null}">
<div class="col-sm-5"></div>
<div class="col-sm-2">
<a class="btn btn-success" onclick="submitHandler()" >
保存
</a>
</div>
<div class="col-sm-3">
<a class="btn btn-info" onclick="$.modal.closeTab()" >
关闭
</a>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var prefix = ctx + "busi/materialperate"
$("#form-materialperate-add").validate({
focusCleanup: true
});
$("#post").change(function(){
$("#requireAmount").empty().append($("#post :selected").attr("requireAmount"));
})
$("#classify").change(function(){
var orderId = $("#treeId").val();
var classify = $("#classify").val();
queryColorList(orderId, classify);
})
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/add", $('#form-materialperate-add').serialize());
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/add", $('#form-materialperate-add').serialize());
}
}
/*订单选择*/
function selectOrder(status) {
var options = {
title: '选择订单',
width: "480",
height: "500",
url: ctx + "busi/order/selectOrder/" + status,
callBack: function(index, layero){
var body = $.modal.getChildFrame(index);
$("#treeId").val(body.find('#treeId').val());
$("#treeName").val(body.find('#treeName').val());
$.modal.close(index);
queryClassifyList(body.find('#treeId').val());
}
}
};
$.modal.openOptions(options);
}
/*订单选择*/
function selectOrder(status) {
var options = {
title: '选择订单',
width: "480",
height: "500",
url: ctx + "busi/order/selectOrder/" + status,
callBack: function(index, layero){
var body = $.modal.getChildFrame(index);
$("#treeId").val(body.find('#treeId').val());
$("#treeName").val(body.find('#treeName').val());
$.modal.close(index);
queryMetarial(body.find('#treeId').val());
}
};
$.modal.openOptions(options);
}
/*物料需求类型查询*/
function queryClassifyList(orderId) {
var url = ctx + "busi/productRequire/selMaterialTypeListByOrderId?orderId=" + orderId;
$.operate.ajaxPost(url, {}, function (result) {
var data = result.data;
$("#classify").empty().append("<option value=''>请选择物料</option>");
for (var i = 0; i < data.length; i++) {
var val = data[i].classifyCode;
var text = data[i].classifyText;
$("#classify").append("<option value='" + val + "'>" + text + "</option>");
}
})
}
/*物料需求查询*/
function queryMetarial(orderId) {
var url = ctx + "busi/productRequire/listByOrderId?orderId=" + orderId;
$.operate.ajaxPost(url, {}, function (result) {
var data = result.data;
$("#post").empty();
$("#post").append("<option value=''>请选择物料</option>");
for (var i = 0; i < data.length; i++) {
var val = data[i].colorCode + ';' + data[i].classifyCode + ';' + data[i].unitCode;
var text = data[i].colorVal + ',' + data[i].classifyVal;
var requireAmount = data[i].amount + data[i].unitVal;
$("#post").append("<option requireAmount='" + requireAmount + "' value='" + val + "'>" + text + "</option>");
}
})
}
</script>
/*物料需求颜色查询*/
function queryColorList(orderId, classify) {
var url = ctx + "busi/productRequire/selMaterialColorListByOrderIdAndType";
$.operate.ajaxPost(url, {
orderId:orderId,
classify:classify
}, function (result) {
var data = result.data;
$("#color").empty().append("<option value=''>请选择颜色</option>");
for (var i = 0; i < data.length; i++) {
var val = data[i].colorCode;
var text = data[i].colorText;
$("#color").append("<option value='" + val + "'>" + text + "</option>");
}
})
}
</script>
</body>
</html>

View File

@ -0,0 +1,141 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('新增来料')" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-materialperate-add">
<input name="oprateType" type="hidden" value="1">
<div class="form-group">
<label class="col-sm-3 control-label">订单:</label>
<div class="col-sm-8">
<input id="treeId" name="orderId" type="hidden">
<input id="treeName" name="orderName" readonly="true" onclick="selectOrder(1)" class="form-control" type="text" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label" title="若无对应的物料选项,请先在产品需求中添加物料需求">物料选择:<i class="fa fa-question-circle-o"></i></label>
<div class="col-sm-3">
<select id="classify" name="classify" class="form-control required" >
</select>
</div>
<div class="col-sm-3">
<select id="color" name="color" class="form-control required" >
</select>
</div>
<label class="control-label text-danger">需求量:<span id="requireAmount" class=""> -- </span></label>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">来料数量:</label>
<div class="col-sm-6">
<input name="amount" class="form-control" type="text" required>
</div>
<label class="control-label text-danger">当前库存量:<span id="requireAmount" class=""> -- </span></label>
</div>
<!-- <div class="form-group" th:style="${operType==null}?'':'display:none'">-->
<!-- <label class="col-sm-3 control-label">操作类型:</label>-->
<!-- <div class="col-sm-8">-->
<!-- <select name="oprateType" class="form-control m-b">-->
<!-- <option value="1" th:selected="${operType ne '2'}">入库</option>-->
<!-- <option value="2" th:selected="${operType eq '2'}">出库</option>-->
<!-- </select>-->
<!-- </div>-->
<!-- </div>-->
<div class="form-group">
<label class="col-sm-3 control-label">备注信息:</label>
<div class="col-sm-8">
<textarea name="remark" class="form-control"></textarea>
</div>
</div>
<div class="form-group" th:if="${operType!=null}">
<div class="col-sm-5"></div>
<div class="col-sm-2">
<a class="btn btn-success" onclick="submitHandler()" >
保存
</a>
</div>
<div class="col-sm-3">
<a class="btn btn-info" onclick="$.modal.closeTab()" >
关闭
</a>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var prefix = ctx + "busi/materialperate";
var colorDatas = [[${@dict.getType('busi_color')}]];
var sizeDatas = [[${@dict.getType('busi_size')}]];
var classifyDatas = [[${@dict.getType('busi_material_type')}]];
$("#form-materialperate-add").validate({
focusCleanup: true
});
$("#classify").change(function(){
var orderId = $("#treeId").val();
var classify = $("#classify").val();
queryColorList(orderId, classify);
})
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/add", $('#form-materialperate-add').serialize());
}
}
/*订单选择*/
function selectOrder(status) {
var options = {
title: '选择订单',
width: "480",
height: "500",
url: ctx + "busi/order/selectOrder/" + status,
callBack: function(index, layero){
var body = $.modal.getChildFrame(index);
$("#treeId").val(body.find('#treeId').val());
$("#treeName").val(body.find('#treeName').val());
$.modal.close(index);
queryClassifyList(body.find('#treeId').val());
}
};
$.modal.openOptions(options);
}
/*物料需求类型查询*/
function queryClassifyList(orderId) {
var url = ctx + "busi/productRequire/selMaterialTypeListByOrderId?orderId=" + orderId;
$.operate.ajaxPost(url, {}, function (result) {
var data = result.data;
$("#color").empty();
$("#classify").empty().append("<option value=''>请选择物料</option>");
for (var i = 0; i < data.length; i++) {
var val = data[i].classifyCode;
var text = $.table.getDictText(classifyDatas, val);
$("#classify").append("<option value='" + val + "'>" + text + "</option>");
}
})
}
/*物料需求颜色查询*/
function queryColorList(orderId, classify) {
var url = ctx + "busi/productRequire/selMaterialColorListByOrderIdAndType";
$.operate.ajaxPost(url, {
orderId:orderId,
classify:classify
}, function (result) {
var data = result.data;
$("#color").empty().append("<option value=''>请选择颜色</option>");
for (var i = 0; i < data.length; i++) {
var val = data[i].colorCode;
var text = $.table.getDictText(colorDatas, val);;
$("#color").append("<option value='" + val + "'>" + text + "</option>");
}
})
}
</script>
</body>
</html>

View File

@ -0,0 +1,154 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('新增分料')" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-materialperate-add">
<input name="oprateType" type="hidden" value="1">
<div class="form-group">
<label class="col-sm-3 control-label">订单:</label>
<div class="col-sm-8">
<input id="treeId" name="orderId" type="hidden">
<input id="treeName" name="orderName" readonly="true" onclick="selectOrder(1)" class="form-control" type="text" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">产品:</label>
<div class="col-sm-8">
<select id="product" class="form-control" >
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label" title="若无对应的物料选项,请先添加来料">物料选择:<i class="fa fa-question-circle-o"></i></label>
<div class="col-sm-4">
<select id="classify" name="classify" class="form-control required" >
</select>
</div>
<div class="col-sm-4">
<select id="color" name="color" class="form-control required" >
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">数量:</label>
<div class="col-sm-6">
<input name="amount" class="form-control" type="text" required>
</div>
<label class="control-label text-danger">库存量:<span id="requireAmount" class=""> -- </span></label>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">备注信息:</label>
<div class="col-sm-8">
<textarea name="remark" class="form-control"></textarea>
</div>
</div>
<div class="form-group" th:if="${operType!=null}">
<div class="col-sm-5"></div>
<div class="col-sm-2">
<a class="btn btn-success" onclick="submitHandler()" >
保存
</a>
</div>
<div class="col-sm-3">
<a class="btn btn-info" onclick="$.modal.closeTab()" >
关闭
</a>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var prefix = ctx + "busi/materialperate"
var colorDatas = [[${@dict.getType('busi_color')}]];
var sizeDatas = [[${@dict.getType('busi_size')}]];
var classifyDatas = [[${@dict.getType('busi_material_type')}]];
$("#form-materialperate-add").validate({
focusCleanup: true
});
$("#product").change(function(){
queryClassifyList($("#product").val());
})
$("#classify").change(function(){
queryColorList($("#product").val(), $("#classify").val());
})
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/add", $('#form-materialperate-add').serialize());
}
}
/*订单选择*/
function selectOrder(status) {
var options = {
title: '选择订单',
width: "480",
height: "500",
url: ctx + "busi/order/selectOrder/" + status,
callBack: function(index, layero){
var body = $.modal.getChildFrame(index);
$("#treeId").val(body.find('#treeId').val());
$("#treeName").val(body.find('#treeName').val());
$.modal.close(index);
queryProductList(body.find('#treeId').val());
}
};
$.modal.openOptions(options);
}
/*产品需求查询*/
function queryProductList(orderId) {
var url = ctx + "busi/productRequire/listByOrderId?orderId=" + orderId;
$.operate.ajaxPost(url, {}, function (result) {
var data = result.data;
$("#color,#classify").empty();
$("#product").empty().append("<option value=''>请选择产品</option>");
for (var i = 0; i < data.length; i++) {
var val = data[i].id;
var text = $.table.getDictText(colorDatas, data[i].color) + "," + $.table.getDictText(sizeDatas, data[i].size);
$("#product").append("<option value='" + val + "'>" + text + "</option>");
}
})
}
/*物料需求类型查询*/
function queryClassifyList(productId) {
var url = ctx + "busi/productRequire/selMaterialTypeListByProductId?productId=" + productId;
$.operate.ajaxPost(url, {}, function (result) {
var data = result.data;
$("#color").empty();
$("#classify").empty().append("<option value=''>请选择物料</option>");
for (var i = 0; i < data.length; i++) {
var val = data[i].classifyCode;
var text = $.table.getDictText(classifyDatas, val);
$("#classify").append("<option value='" + val + "'>" + text + "</option>");
}
})
}
/*物料需求颜色查询*/
function queryColorList(productId, classify) {
var url = ctx + "busi/productRequire/materialColorListByProductIdAndType";
$.operate.ajaxPost(url, {
productId:productId,
classify:classify
}, function (result) {
var data = result.data;
$("#color").empty().append("<option value=''>请选择颜色</option>");
for (var i = 0; i < data.length; i++) {
var val = data[i].colorCode;
var text = $.table.getDictText(colorDatas, val);
$("#color").append("<option value='" + val + "'>" + text + "</option>");
}
})
}
</script>
</body>
</html>

View File

@ -43,8 +43,11 @@
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="busi:materialperate:add">
<i class="fa fa-plus"></i> 添加
<a class="btn btn-success" onclick="addIn()" shiro:hasPermission="busi:materialperate:add">
<i class="fa fa-plus"></i> 添加来料
</a>
<a class="btn btn-success" onclick="addOut()" shiro:hasPermission="busi:materialperate:add">
<i class="fa fa-minus"></i> 添加分料
</a>
<!-- <a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="busi:materialperate:edit">-->
<!-- <i class="fa fa-edit"></i> 修改-->
@ -169,6 +172,14 @@
};
$.modal.openOptions(options);
}
function addIn(){
$.modal.open("添加来料", prefix + "/addIn");
}
function addOut(){
$.modal.open("添加分料", prefix + "/addOut");
}
</script>
</body>
</html>

View File

@ -46,7 +46,7 @@
</div>
</div>
</div>
<h4 class="form-header h4">物料需求信息</h4>
<h4 class="form-header h4">单件产品物料需求</h4>
<div class="row">
<div class="col-sm-12">
<button type="button" class="btn btn-white btn-sm" onclick="addColumn()"><i class="fa fa-plus"> 增加</i></button>
@ -130,7 +130,7 @@
align: 'center',
title: '数量',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control digits required' type='text' name='busiMaterialRequireList[%s].amount' value='%s'>", index, value);
var html = $.common.sprintf("<input class='form-control number required' type='text' name='busiMaterialRequireList[%s].amount' value='%s'>", index, value);
return html;
}
},

View File

@ -47,7 +47,7 @@
</div>
</div>
</div>
<h4 class="form-header h4">物料需求信息</h4>
<h4 class="form-header h4">单件产品物料需求</h4>
<div class="row">
<div class="col-sm-12">
<button type="button" class="btn btn-white btn-sm" onclick="addColumn()"><i class="fa fa-plus"> 增加</i></button>
@ -132,7 +132,7 @@
align: 'center',
title: '数量',
formatter: function(value, row, index) {
var html = $.common.sprintf("<input class='form-control digits required' type='text' name='busiMaterialRequireList[%s].amount' value='%s'>", index, value);
var html = $.common.sprintf("<input class='form-control number required' type='text' name='busiMaterialRequireList[%s].amount' value='%s'>", index, value);
return html;
}
},