Browse Source
整合新增委外订单 controller 整合新增委外订单 Service 整合新增委外订单 ServiceImpl 整合新增委外订单 Mapper 整合新增委外订单 Mapper.xml 整合新增委外订单 相关前端页面dev
liuxiaoxu
4 months ago
12 changed files with 2461 additions and 0 deletions
@ -0,0 +1,173 @@ |
|||||
|
package com.ruoyi.system.controller; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
|
||||
|
import com.ruoyi.common.utils.poi.ExcelUtil; |
||||
|
import com.ruoyi.system.domain.OutsourceOrder; |
||||
|
import com.ruoyi.system.domain.OutsourceOrderDetail; |
||||
|
import com.ruoyi.system.service.IOutsourceOrderService; |
||||
|
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.core.page.TableDataInfo; |
||||
|
|
||||
|
/** |
||||
|
* 委外订单Controller |
||||
|
* |
||||
|
* @author ruoyi |
||||
|
* @date 2024-07-12 |
||||
|
*/ |
||||
|
@Controller |
||||
|
@RequestMapping("/system/outsource_order") |
||||
|
public class OutsourceOrderController extends BaseController |
||||
|
{ |
||||
|
private String prefix = "system/outsource_order"; |
||||
|
|
||||
|
@Autowired |
||||
|
private IOutsourceOrderService outsourceOrderService; |
||||
|
|
||||
|
@RequiresPermissions("system:outsource_order:view") |
||||
|
@GetMapping() |
||||
|
public String outsource_order() |
||||
|
{ |
||||
|
return prefix + "/outsource_order"; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 查询委外订单列表 |
||||
|
*/ |
||||
|
@RequiresPermissions("system:outsource_order:list") |
||||
|
@PostMapping("/list") |
||||
|
@ResponseBody |
||||
|
public TableDataInfo list(OutsourceOrder outsourceOrder) |
||||
|
{ |
||||
|
startPage(); |
||||
|
List<OutsourceOrder> list = outsourceOrderService.selectOutsourceOrderList(outsourceOrder); |
||||
|
return getDataTable(list); |
||||
|
} |
||||
|
/** |
||||
|
* 表格细节视图 |
||||
|
*/ |
||||
|
@RequiresPermissions("system:outsource_order:detail") |
||||
|
@GetMapping("/detail/{outsourceOrderId}") |
||||
|
public String detail(@PathVariable("outsourceOrderId") long outsourceOrderId, ModelMap mmap) |
||||
|
{ |
||||
|
mmap.put("outsourceOrder", outsourceOrderService.selectOutsourceOrderByOutsourceOrderId(outsourceOrderId)); |
||||
|
return prefix + "/detail"; |
||||
|
} |
||||
|
/** |
||||
|
* 查询委外计划详情 |
||||
|
*/ |
||||
|
@GetMapping("/sublist") |
||||
|
@ResponseBody |
||||
|
public TableDataInfo subList(@RequestParam("outsourceOrderId") Long outsourceOrderId, ModelMap mmap) |
||||
|
{ |
||||
|
OutsourceOrder outsourceOrder = outsourceOrderService.selectOutsourceOrderByOutsourceOrderId(outsourceOrderId); |
||||
|
List<OutsourceOrderDetail> list = outsourceOrder.getOutsourceOrderDetailList(); |
||||
|
return getDataTable(list); |
||||
|
} |
||||
|
/** |
||||
|
* 导出委外订单列表 |
||||
|
*/ |
||||
|
@RequiresPermissions("system:outsource_order:export") |
||||
|
@Log(title = "委外订单", businessType = BusinessType.EXPORT) |
||||
|
@PostMapping("/export") |
||||
|
@ResponseBody |
||||
|
public AjaxResult export(OutsourceOrder outsourceOrder) |
||||
|
{ |
||||
|
List<OutsourceOrder> list = outsourceOrderService.selectOutsourceOrderList(outsourceOrder); |
||||
|
ExcelUtil<OutsourceOrder> util = new ExcelUtil<OutsourceOrder>(OutsourceOrder.class); |
||||
|
return util.exportExcel(list, "委外订单数据"); |
||||
|
} |
||||
|
/** |
||||
|
* 添加委外领料单 |
||||
|
*/ |
||||
|
@GetMapping("/addRequisition/{outsourceOrderNos}") |
||||
|
|
||||
|
public String addOutsourceOrder(@PathVariable("outsourceOrderNos") String outsourceOrderNos, ModelMap mmap) |
||||
|
{ |
||||
|
List<OutsourceOrder> outsourceOrder = outsourceOrderService.selectOutsourceOrderByOutsourceOrderNo(outsourceOrderNos); |
||||
|
// System.out.println(outsourceOrderNos);
|
||||
|
mmap.put("outsourceOrderList", outsourceOrder); |
||||
|
// System.out.println(outsourceOrder);
|
||||
|
return prefix + "/addRequisition"; |
||||
|
} |
||||
|
/** |
||||
|
* 添加委外入库单 |
||||
|
*/ |
||||
|
@GetMapping("/addStorage/{outsourceOrderNo}") |
||||
|
|
||||
|
public String addOutsourceStorage(@PathVariable("outsourceOrderNo") String outsourceOrderNo, ModelMap mmap) |
||||
|
{ |
||||
|
List<OutsourceOrder> outsourceOrder = outsourceOrderService.selectOutsourceOrderByOutsourceOrderNo(outsourceOrderNo); |
||||
|
// System.out.println(outsourceOrderNos);
|
||||
|
mmap.put("outsourceOrderList", outsourceOrder); |
||||
|
// System.out.println(outsourceOrder);
|
||||
|
return prefix + "/addStorage"; |
||||
|
} |
||||
|
/** |
||||
|
* 新增委外订单 |
||||
|
*/ |
||||
|
@GetMapping("/add") |
||||
|
public String add() |
||||
|
{ |
||||
|
return prefix + "/add"; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 新增保存委外订单 |
||||
|
*/ |
||||
|
@RequiresPermissions("system:outsource_order:add") |
||||
|
@Log(title = "委外订单", businessType = BusinessType.INSERT) |
||||
|
@PostMapping("/add") |
||||
|
@ResponseBody |
||||
|
public AjaxResult addSave(OutsourceOrder outsourceOrder) |
||||
|
{ |
||||
|
return toAjax(outsourceOrderService.insertOutsourceOrder(outsourceOrder)); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 修改委外订单 |
||||
|
*/ |
||||
|
@RequiresPermissions("system:outsource_order:edit") |
||||
|
@GetMapping("/edit/{outsourceOrderId}") |
||||
|
public String edit(@PathVariable("outsourceOrderId") Long outsourceOrderId, ModelMap mmap) |
||||
|
{ |
||||
|
OutsourceOrder outsourceOrder = outsourceOrderService.selectOutsourceOrderByOutsourceOrderId(outsourceOrderId); |
||||
|
mmap.put("outsourceOrder", outsourceOrder); |
||||
|
return prefix + "/edit"; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 修改保存委外订单 |
||||
|
*/ |
||||
|
@RequiresPermissions("system:outsource_order:edit") |
||||
|
@Log(title = "委外订单", businessType = BusinessType.UPDATE) |
||||
|
@PostMapping("/edit") |
||||
|
@ResponseBody |
||||
|
public AjaxResult editSave(OutsourceOrder outsourceOrder) |
||||
|
{ |
||||
|
return toAjax(outsourceOrderService.updateOutsourceOrder(outsourceOrder)); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 删除委外订单 |
||||
|
*/ |
||||
|
@RequiresPermissions("system:outsource_order:remove") |
||||
|
@Log(title = "委外订单", businessType = BusinessType.DELETE) |
||||
|
@PostMapping( "/remove") |
||||
|
@ResponseBody |
||||
|
public AjaxResult remove(String ids) |
||||
|
{ |
||||
|
return toAjax(outsourceOrderService.deleteOutsourceOrderByOutsourceOrderIds(ids)); |
||||
|
} |
||||
|
} |
@ -0,0 +1,111 @@ |
|||||
|
package com.ruoyi.system.mapper; |
||||
|
|
||||
|
import com.ruoyi.system.domain.OutsourceMaterial; |
||||
|
import com.ruoyi.system.domain.OutsourceOrder; |
||||
|
import com.ruoyi.system.domain.OutsourceOrderDetail; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* 委外订单Mapper接口 |
||||
|
* |
||||
|
* @author ruoyi |
||||
|
* @date 2024-07-12 |
||||
|
*/ |
||||
|
public interface OutsourceOrderMapper |
||||
|
{ |
||||
|
/** |
||||
|
* 查询委外订单 |
||||
|
* |
||||
|
* @param outsourceOrderId 委外订单主键 |
||||
|
* @return 委外订单 |
||||
|
*/ |
||||
|
public OutsourceOrder selectOutsourceOrderByOutsourceOrderId(Long outsourceOrderId); |
||||
|
|
||||
|
/** |
||||
|
* 查询委外订单 |
||||
|
* |
||||
|
* @param outsourceOrderNo 委外订单编号 |
||||
|
* @return 委外订单 |
||||
|
*/ |
||||
|
public List<OutsourceOrder> selectOutsourceOrderByOutsourceOrderNo(String outsourceOrderNo); |
||||
|
/** |
||||
|
* 查询委外订单列表 |
||||
|
* |
||||
|
* @param outsourceOrder 委外订单 |
||||
|
* @return 委外订单集合 |
||||
|
*/ |
||||
|
public List<OutsourceOrder> selectOutsourceOrderList(OutsourceOrder outsourceOrder); |
||||
|
/** |
||||
|
* 查询委外订单详情列表 |
||||
|
* |
||||
|
* @param outsourceOrderNo 委外订单 |
||||
|
* @return 委外订单集合 |
||||
|
*/ |
||||
|
public List<OutsourceOrderDetail> selectOutsourceOrderDetailList(String outsourceOrderNo); |
||||
|
|
||||
|
/** |
||||
|
* 新增委外订单 |
||||
|
* |
||||
|
* @param outsourceOrder 委外订单 |
||||
|
* @return 结果 |
||||
|
*/ |
||||
|
public int insertOutsourceOrder(OutsourceOrder outsourceOrder); |
||||
|
|
||||
|
/** |
||||
|
* 修改委外订单 |
||||
|
* |
||||
|
* @param outsourceOrder 委外订单 |
||||
|
* @return 结果 |
||||
|
*/ |
||||
|
public int updateOutsourceOrder(OutsourceOrder outsourceOrder); |
||||
|
|
||||
|
/** |
||||
|
* 删除委外订单 |
||||
|
* |
||||
|
* @param outsourceOrderId 委外订单主键 |
||||
|
* @return 结果 |
||||
|
*/ |
||||
|
public int deleteOutsourceOrderByOutsourceOrderId(Long outsourceOrderId); |
||||
|
|
||||
|
/** |
||||
|
* 批量删除委外订单 |
||||
|
* |
||||
|
* @param outsourceOrderIds 需要删除的数据主键集合 |
||||
|
* @return 结果 |
||||
|
*/ |
||||
|
public int deleteOutsourceOrderByOutsourceOrderIds(String[] outsourceOrderIds); |
||||
|
|
||||
|
/** |
||||
|
* 批量删除委外订单详情 |
||||
|
* |
||||
|
* @param outsourceOrderIds 需要删除的数据主键集合 |
||||
|
* @return 结果 |
||||
|
*/ |
||||
|
public int deleteOutsourceOrderDetailByOutsourceOrderNos(String[] outsourceOrderIds); |
||||
|
|
||||
|
/** |
||||
|
* 批量新增委外订单详情 |
||||
|
* |
||||
|
* @param outsourceOrderDetailList 委外订单详情列表 |
||||
|
* @return 结果 |
||||
|
*/ |
||||
|
public int batchOutsourceOrderDetail(List<OutsourceOrderDetail> outsourceOrderDetailList); |
||||
|
/** |
||||
|
* 查询委外物料 |
||||
|
* |
||||
|
* @param materialNo 需要查询的数据编码 |
||||
|
* @return 结果 |
||||
|
*/ |
||||
|
public OutsourceMaterial selectMaterialByCode(String materialNo); |
||||
|
|
||||
|
/** |
||||
|
* 通过委外订单主键删除委外订单详情信息 |
||||
|
* |
||||
|
* @param outsourceOrderId 委外订单ID |
||||
|
* @return 结果 |
||||
|
*/ |
||||
|
public int deleteOutsourceOrderDetailByOutsourceOrderNo(Long outsourceOrderId); |
||||
|
} |
@ -0,0 +1,69 @@ |
|||||
|
package com.ruoyi.system.service; |
||||
|
|
||||
|
import com.ruoyi.system.domain.OutsourceOrder; |
||||
|
|
||||
|
import java.util.List; |
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* 委外订单Service接口 |
||||
|
* |
||||
|
* @author ruoyi |
||||
|
* @date 2024-07-12 |
||||
|
*/ |
||||
|
public interface IOutsourceOrderService |
||||
|
{ |
||||
|
/** |
||||
|
* 查询委外订单 |
||||
|
* |
||||
|
* @param outsourceOrderId 委外订单主键 |
||||
|
* @return 委外订单 |
||||
|
*/ |
||||
|
public OutsourceOrder selectOutsourceOrderByOutsourceOrderId(Long outsourceOrderId); |
||||
|
|
||||
|
/** |
||||
|
* 查询委外订单列表 |
||||
|
* |
||||
|
* @param outsourceOrder 委外订单 |
||||
|
* @return 委外订单集合 |
||||
|
*/ |
||||
|
public List<OutsourceOrder> selectOutsourceOrderList(OutsourceOrder outsourceOrder); |
||||
|
|
||||
|
/** |
||||
|
* 新增委外订单 |
||||
|
* |
||||
|
* @param outsourceOrder 委外订单 |
||||
|
* @return 结果 |
||||
|
*/ |
||||
|
public int insertOutsourceOrder(OutsourceOrder outsourceOrder); |
||||
|
|
||||
|
/** |
||||
|
* 修改委外订单 |
||||
|
* |
||||
|
* @param outsourceOrder 委外订单 |
||||
|
* @return 结果 |
||||
|
*/ |
||||
|
public int updateOutsourceOrder(OutsourceOrder outsourceOrder); |
||||
|
/** |
||||
|
* 查询委外订单 |
||||
|
* |
||||
|
* @param outsourceOrderNo 委外订单编号 |
||||
|
* @return 委外订单 |
||||
|
*/ |
||||
|
public List<OutsourceOrder> selectOutsourceOrderByOutsourceOrderNo(String outsourceOrderNo); |
||||
|
/** |
||||
|
* 批量删除委外订单 |
||||
|
* |
||||
|
* @param outsourceOrderIds 需要删除的委外订单主键集合 |
||||
|
* @return 结果 |
||||
|
*/ |
||||
|
public int deleteOutsourceOrderByOutsourceOrderIds(String outsourceOrderIds); |
||||
|
|
||||
|
/** |
||||
|
* 删除委外订单信息 |
||||
|
* |
||||
|
* @param outsourceOrderId 委外订单主键 |
||||
|
* @return 结果 |
||||
|
*/ |
||||
|
public int deleteOutsourceOrderByOutsourceOrderId(Long outsourceOrderId); |
||||
|
} |
@ -0,0 +1,165 @@ |
|||||
|
package com.ruoyi.system.service.impl; |
||||
|
|
||||
|
import java.util.List; |
||||
|
import com.ruoyi.common.utils.DateUtils; |
||||
|
|
||||
|
import com.ruoyi.system.domain.OutsourceMaterial; |
||||
|
import com.ruoyi.system.domain.OutsourceOrder; |
||||
|
import com.ruoyi.system.domain.OutsourceOrderDetail; |
||||
|
import com.ruoyi.system.mapper.OutsourceOrderMapper; |
||||
|
import com.ruoyi.system.service.IOutsourceOrderService; |
||||
|
import org.springframework.beans.factory.annotation.Autowired; |
||||
|
import org.springframework.stereotype.Service; |
||||
|
import java.util.ArrayList; |
||||
|
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-12 |
||||
|
*/ |
||||
|
@Service |
||||
|
public class OutsourceOrderServiceImpl implements IOutsourceOrderService |
||||
|
{ |
||||
|
@Autowired |
||||
|
private OutsourceOrderMapper outsourceOrderMapper; |
||||
|
|
||||
|
/** |
||||
|
* 查询委外订单 |
||||
|
* |
||||
|
* @param outsourceOrderId 委外订单主键 |
||||
|
* @return 委外订单 |
||||
|
*/ |
||||
|
@Override |
||||
|
public OutsourceOrder selectOutsourceOrderByOutsourceOrderId(Long outsourceOrderId) |
||||
|
{ |
||||
|
OutsourceOrder outsourceOrder = outsourceOrderMapper.selectOutsourceOrderByOutsourceOrderId(outsourceOrderId); |
||||
|
List<OutsourceOrderDetail> details = outsourceOrderMapper.selectOutsourceOrderDetailList(outsourceOrder.getOutsourceOrderNo()); |
||||
|
outsourceOrder.setOutsourceOrderDetailList(details); |
||||
|
return outsourceOrder; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 查询委外订单列表 |
||||
|
* |
||||
|
* @param outsourceOrder 委外订单 |
||||
|
* @return 委外订单 |
||||
|
*/ |
||||
|
@Override |
||||
|
public List<OutsourceOrder> selectOutsourceOrderList(OutsourceOrder outsourceOrder) |
||||
|
{ |
||||
|
return outsourceOrderMapper.selectOutsourceOrderList(outsourceOrder); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 新增委外订单 |
||||
|
* |
||||
|
* @param outsourceOrder 委外订单 |
||||
|
* @return 结果 |
||||
|
*/ |
||||
|
@Transactional |
||||
|
@Override |
||||
|
public int insertOutsourceOrder(OutsourceOrder outsourceOrder) |
||||
|
{ |
||||
|
outsourceOrder.setCreateTime(DateUtils.getNowDate()); |
||||
|
int rows = outsourceOrderMapper.insertOutsourceOrder(outsourceOrder); |
||||
|
insertOutsourceOrderDetail(outsourceOrder); |
||||
|
return rows; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 修改委外订单 |
||||
|
* |
||||
|
* @param outsourceOrder 委外订单 |
||||
|
* @return 结果 |
||||
|
*/ |
||||
|
@Transactional |
||||
|
@Override |
||||
|
public int updateOutsourceOrder(OutsourceOrder outsourceOrder) |
||||
|
{ |
||||
|
outsourceOrder.setUpdateTime(DateUtils.getNowDate()); |
||||
|
outsourceOrderMapper.deleteOutsourceOrderDetailByOutsourceOrderNo(outsourceOrder.getOutsourceOrderId()); |
||||
|
insertOutsourceOrderDetail(outsourceOrder); |
||||
|
return outsourceOrderMapper.updateOutsourceOrder(outsourceOrder); |
||||
|
} |
||||
|
|
||||
|
@Override |
||||
|
public List<OutsourceOrder> selectOutsourceOrderByOutsourceOrderNo(String outsourceOrderNo) { |
||||
|
List<OutsourceOrder> outsourceOrders = outsourceOrderMapper.selectOutsourceOrderByOutsourceOrderNo(outsourceOrderNo); |
||||
|
for (OutsourceOrder order:outsourceOrders) { |
||||
|
List<OutsourceOrderDetail> details= outsourceOrderMapper.selectOutsourceOrderDetailList(order.getOutsourceOrderNo()); |
||||
|
for (OutsourceOrderDetail detail:details |
||||
|
) { |
||||
|
OutsourceMaterial material = outsourceOrderMapper.selectMaterialByCode(detail.getMaterialNo()); |
||||
|
// 确保 material 的 OrderDetails 集合已初始化
|
||||
|
if (material.getOrderDetails() == null) { |
||||
|
material.setOrderDetails(new ArrayList<>()); |
||||
|
} |
||||
|
material.getOrderDetails().add(detail); |
||||
|
|
||||
|
// 确保 order 的 Materials 集合已初始化
|
||||
|
if (order.getMaterials() == null) { |
||||
|
order.setMaterials(new ArrayList<>()); |
||||
|
} |
||||
|
order.getMaterials().add(material); |
||||
|
} |
||||
|
} |
||||
|
return outsourceOrders; |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 批量删除委外订单 |
||||
|
* |
||||
|
* @param outsourceOrderIds 需要删除的委外订单主键 |
||||
|
* @return 结果 |
||||
|
*/ |
||||
|
@Transactional |
||||
|
@Override |
||||
|
public int deleteOutsourceOrderByOutsourceOrderIds(String outsourceOrderIds) |
||||
|
{ |
||||
|
outsourceOrderMapper.deleteOutsourceOrderDetailByOutsourceOrderNos(Convert.toStrArray(outsourceOrderIds)); |
||||
|
return outsourceOrderMapper.deleteOutsourceOrderByOutsourceOrderIds(Convert.toStrArray(outsourceOrderIds)); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 删除委外订单信息 |
||||
|
* |
||||
|
* @param outsourceOrderId 委外订单主键 |
||||
|
* @return 结果 |
||||
|
*/ |
||||
|
@Transactional |
||||
|
@Override |
||||
|
public int deleteOutsourceOrderByOutsourceOrderId(Long outsourceOrderId) |
||||
|
{ |
||||
|
outsourceOrderMapper.deleteOutsourceOrderDetailByOutsourceOrderNo(outsourceOrderId); |
||||
|
return outsourceOrderMapper.deleteOutsourceOrderByOutsourceOrderId(outsourceOrderId); |
||||
|
} |
||||
|
|
||||
|
/** |
||||
|
* 新增委外订单详情信息 |
||||
|
* |
||||
|
* @param outsourceOrder 委外订单对象 |
||||
|
*/ |
||||
|
public void insertOutsourceOrderDetail(OutsourceOrder outsourceOrder) |
||||
|
{ |
||||
|
List<OutsourceOrderDetail> outsourceOrderDetailList = outsourceOrder.getOutsourceOrderDetailList(); |
||||
|
String OutsourceOrderNo = outsourceOrder.getOutsourceOrderNo(); |
||||
|
if (StringUtils.isNotNull(outsourceOrderDetailList)) |
||||
|
{ |
||||
|
List<OutsourceOrderDetail> list = new ArrayList<OutsourceOrderDetail>(); |
||||
|
for (OutsourceOrderDetail outsourceOrderDetail : outsourceOrderDetailList) |
||||
|
{ |
||||
|
outsourceOrderDetail.setOutsourceOrderNo(OutsourceOrderNo); |
||||
|
list.add(outsourceOrderDetail); |
||||
|
} |
||||
|
if (list.size() > 0) |
||||
|
{ |
||||
|
outsourceOrderMapper.batchOutsourceOrderDetail(list); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
@ -0,0 +1,248 @@ |
|||||
|
<?xml version="1.0" encoding="UTF-8" ?> |
||||
|
<!DOCTYPE mapper |
||||
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" |
||||
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
||||
|
<mapper namespace="com.ruoyi.system.mapper.OutsourceOrderMapper"> |
||||
|
|
||||
|
<resultMap type="OutsourceOrder" id="OutsourceOrderResult"> |
||||
|
<result property="outsourceOrderId" column="outsource_order_id" /> |
||||
|
<result property="outsourceOrderNo" column="outsource_order_no" /> |
||||
|
<result property="outsourcePlanCode" column="outsource_plan_code" /> |
||||
|
<result property="outsourceStaff" column="outsource_staff" /> |
||||
|
<result property="supplierAmount" column="supplier_amount" /> |
||||
|
<result property="materialAmount" column="material_amount" /> |
||||
|
<result property="outsourceMaterialAmount" column="outsource_material_amount" /> |
||||
|
<result property="outsourceProcessType" column="outsource_process_type" /> |
||||
|
<result property="outsourceProcessAmount" column="outsource_process_amount" /> |
||||
|
<result property="outsourceTotalPrice" column="outsource_total_price" /> |
||||
|
<result property="outsourceNoPrice" column="outsource_no_price" /> |
||||
|
<result property="createBy" column="create_by" /> |
||||
|
<result property="createTime" column="create_time" /> |
||||
|
<result property="updateBy" column="update_by" /> |
||||
|
<result property="updateTime" column="update_time" /> |
||||
|
<result property="useStatus" column="use_status" /> |
||||
|
<result property="receiveStatus" column="receive_status" /> |
||||
|
<result property="warehouseStatus" column="warehouse_status" /> |
||||
|
<result property="closedStatus" column="closed_status" /> |
||||
|
<result property="remitStatus" column="remit_status" /> |
||||
|
<result property="auditStatus" column="audit_status" /> |
||||
|
<result property="actualMaterialAmount" column="actual_material_amount" /> |
||||
|
<result property="actualProcessAmount" column="actual_process_amount" /> |
||||
|
<result property="stockNo" column="stock_no" /> |
||||
|
<result property="stockName" column="stock_name" /> |
||||
|
<result property="receivePerson" column="receive_person" /> |
||||
|
<result property="receiveTelephone" column="receive_telephone" /> |
||||
|
<result property="receiveAddress" column="receive_address" /> |
||||
|
</resultMap> |
||||
|
|
||||
|
<resultMap id="OutsourceOrderOutsourceOrderDetailResult" type="OutsourceOrder" extends="OutsourceOrderResult"> |
||||
|
<collection property="outsourceOrderDetailList" ofType="OutsourceOrderDetail" column="outsource_order_id" select="selectOutsourceOrderDetailList" /> |
||||
|
</resultMap> |
||||
|
|
||||
|
<resultMap type="OutsourceOrderDetail" id="OutsourceOrderDetailResult"> |
||||
|
<result property="outsourceOrderDetailId" column="outsource_order_detail_id" /> |
||||
|
<result property="outsourceOrderNo" column="outsource_order_no" /> |
||||
|
<result property="materialNo" column="material_no" /> |
||||
|
<result property="outsourceProcessNo" column="outsource_process_no" /> |
||||
|
<result property="outsourceProcessName" column="outsource_process_name" /> |
||||
|
<result property="chargeUnit" column="charge_unit" /> |
||||
|
<result property="singleMaterial" column="single_material" /> |
||||
|
<result property="deliveryTime" column="delivery_time" /> |
||||
|
<result property="actualOutsourceAmount" column="actual_outsource_amount" /> |
||||
|
<result property="materialRmb" column="material_rmb" /> |
||||
|
<result property="materialNoRmb" column="material_no_rmb" /> |
||||
|
<result property="supplierCode" column="supplier_code" /> |
||||
|
<result property="supplierName" column="supplier_name" /> |
||||
|
<result property="closedStatus" column="closed_status" /> |
||||
|
<result property="remitStatus" column="remit_status" /> |
||||
|
</resultMap> |
||||
|
|
||||
|
<!-- 委外物料--> |
||||
|
<resultMap type="OutsourceMaterial" id="OutsourceMaterialResult"> |
||||
|
<result property="outsourceMaterialId" column="outsource_material_id" /> |
||||
|
<result property="materialNo" column="material_no" /> |
||||
|
<result property="materialName" column="material_name" /> |
||||
|
<result property="outsourceProcessNo" column="outsource_process_no" /> |
||||
|
<result property="outsourceProcessName" column="outsource_process_name" /> |
||||
|
<result property="materialType" column="material_type" /> |
||||
|
<result property="materialPhotourl" column="material_photoUrl" /> |
||||
|
<result property="unit" column="unit" /> |
||||
|
<result property="description" column="description" /> |
||||
|
<result property="brand" column="brand" /> |
||||
|
<result property="processMethod" column="process_method" /> |
||||
|
<result property="plannedOutsourceAmount" column="planned_outsource_amount" /> |
||||
|
</resultMap> |
||||
|
|
||||
|
<sql id="selectOutsourceOrderVo"> |
||||
|
select outsource_order_id, outsource_order_no, outsource_plan_code, outsource_staff, supplier_amount, material_amount, outsource_material_amount, outsource_process_type, outsource_process_amount, outsource_total_price, outsource_no_price, create_by, create_time, update_by, update_time, use_status, receive_status, warehouse_status, closed_status, remit_status, audit_status, actual_material_amount, actual_process_amount, stock_no, stock_name, receive_person, receive_telephone, receive_address from outsource_order |
||||
|
</sql> |
||||
|
|
||||
|
<select id="selectOutsourceOrderList" parameterType="OutsourceOrder" resultMap="OutsourceOrderResult"> |
||||
|
<include refid="selectOutsourceOrderVo"/> |
||||
|
<where> |
||||
|
<if test="outsourceOrderNo != null and outsourceOrderNo != ''"> and outsource_order_no = #{outsourceOrderNo}</if> |
||||
|
<if test="outsourceStaff != null and outsourceStaff != ''"> and outsource_staff = #{outsourceStaff}</if> |
||||
|
<if test="createBy != null and createBy != ''"> and create_by = #{createBy}</if> |
||||
|
<if test="createTime != null "> and create_time = #{createTime}</if> |
||||
|
<if test="useStatus != null and useStatus != ''"> and use_status = #{useStatus}</if> |
||||
|
<if test="receiveStatus != null and receiveStatus != ''"> and receive_status = #{receiveStatus}</if> |
||||
|
<if test="warehouseStatus != null and warehouseStatus != ''"> and warehouse_status = #{warehouseStatus}</if> |
||||
|
<if test="closedStatus != null and closedStatus != ''"> and closed_status = #{closedStatus}</if> |
||||
|
<if test="remitStatus != null and remitStatus != ''"> and remit_status = #{remitStatus}</if> |
||||
|
<if test="auditStatus != null and auditStatus != ''"> and audit_status = #{auditStatus}</if> |
||||
|
<if test="actualMaterialAmount != null "> and actual_material_amount = #{actualMaterialAmount}</if> |
||||
|
</where> |
||||
|
</select> |
||||
|
|
||||
|
<select id="selectOutsourceOrderByOutsourceOrderId" parameterType="Long" resultMap="OutsourceOrderOutsourceOrderDetailResult"> |
||||
|
select outsource_order_id, outsource_order_no, outsource_plan_code, outsource_staff, supplier_amount, material_amount, outsource_material_amount, outsource_process_type, outsource_process_amount, outsource_total_price, outsource_no_price, create_by, create_time, update_by, update_time, use_status, receive_status, warehouse_status, closed_status, remit_status, audit_status, actual_material_amount, actual_process_amount, stock_no, stock_name, receive_person, receive_telephone, receive_address |
||||
|
from outsource_order |
||||
|
where outsource_order_id = #{outsourceOrderId} |
||||
|
</select> |
||||
|
|
||||
|
<select id="selectOutsourceOrderByOutsourceOrderNo" parameterType="String" resultMap="OutsourceOrderOutsourceOrderDetailResult"> |
||||
|
select outsource_order_id, outsource_order_no, outsource_plan_code, outsource_staff, supplier_amount, material_amount, outsource_material_amount, outsource_process_type, outsource_process_amount, outsource_total_price, outsource_no_price, create_by, create_time, update_by, update_time, use_status, receive_status, warehouse_status, closed_status, remit_status, audit_status, actual_material_amount, actual_process_amount, stock_no, stock_name, receive_person, receive_telephone, receive_address |
||||
|
from outsource_order |
||||
|
where outsource_order_no = #{outsourceOrderNo} |
||||
|
</select> |
||||
|
|
||||
|
<!-- 按料号查询委外物料--> |
||||
|
<select id="selectMaterialByCode" parameterType="String" resultMap="OutsourceMaterialResult"> |
||||
|
select material_no, material_name, material_type, material_photoUrl, description, brand, unit, planned_outsource_amount, process_method, outsource_process_no, outsource_process_name |
||||
|
from outsource_material |
||||
|
where material_no =#{materialNo} |
||||
|
</select> |
||||
|
|
||||
|
|
||||
|
<select id="selectOutsourceOrderDetailList" resultType="OutsourceOrderDetail" resultMap="OutsourceOrderDetailResult"> |
||||
|
select outsource_order_detail_id, outsource_order_no, material_no, outsource_process_no, outsource_process_name, charge_unit, single_material, delivery_time, actual_outsource_amount, material_rmb, material_no_rmb, supplier_code, supplier_name, closed_status, remit_status |
||||
|
from outsource_order_detail |
||||
|
where outsource_order_no = #{outsource_order_no} |
||||
|
</select> |
||||
|
|
||||
|
<insert id="insertOutsourceOrder" parameterType="OutsourceOrder" useGeneratedKeys="true" keyProperty="outsourceOrderId"> |
||||
|
insert into outsource_order |
||||
|
<trim prefix="(" suffix=")" suffixOverrides=","> |
||||
|
<if test="outsourceOrderNo != null and outsourceOrderNo != ''">outsource_order_no,</if> |
||||
|
<if test="outsourcePlanCode != null and outsourcePlanCode != ''">outsource_plan_code,</if> |
||||
|
<if test="outsourceStaff != null">outsource_staff,</if> |
||||
|
<if test="supplierAmount != null">supplier_amount,</if> |
||||
|
<if test="materialAmount != null">material_amount,</if> |
||||
|
<if test="outsourceMaterialAmount != null">outsource_material_amount,</if> |
||||
|
<if test="outsourceProcessType != null">outsource_process_type,</if> |
||||
|
<if test="outsourceProcessAmount != null">outsource_process_amount,</if> |
||||
|
<if test="outsourceTotalPrice != null">outsource_total_price,</if> |
||||
|
<if test="outsourceNoPrice != null">outsource_no_price,</if> |
||||
|
<if test="createBy != null">create_by,</if> |
||||
|
<if test="createTime != null">create_time,</if> |
||||
|
<if test="updateBy != null">update_by,</if> |
||||
|
<if test="updateTime != null">update_time,</if> |
||||
|
<if test="useStatus != null">use_status,</if> |
||||
|
<if test="receiveStatus != null">receive_status,</if> |
||||
|
<if test="warehouseStatus != null">warehouse_status,</if> |
||||
|
<if test="closedStatus != null">closed_status,</if> |
||||
|
<if test="remitStatus != null">remit_status,</if> |
||||
|
<if test="auditStatus != null">audit_status,</if> |
||||
|
<if test="actualMaterialAmount != null">actual_material_amount,</if> |
||||
|
<if test="actualProcessAmount != null">actual_process_amount,</if> |
||||
|
<if test="stockNo != null">stock_no,</if> |
||||
|
<if test="stockName != null">stock_name,</if> |
||||
|
<if test="receivePerson != null">receive_person,</if> |
||||
|
<if test="receiveTelephone != null">receive_telephone,</if> |
||||
|
<if test="receiveAddress != null">receive_address,</if> |
||||
|
</trim> |
||||
|
<trim prefix="values (" suffix=")" suffixOverrides=","> |
||||
|
<if test="outsourceOrderNo != null and outsourceOrderNo != ''">#{outsourceOrderNo},</if> |
||||
|
<if test="outsourcePlanCode != null and outsourcePlanCode != ''">#{outsourcePlanCode},</if> |
||||
|
<if test="outsourceStaff != null">#{outsourceStaff},</if> |
||||
|
<if test="supplierAmount != null">#{supplierAmount},</if> |
||||
|
<if test="materialAmount != null">#{materialAmount},</if> |
||||
|
<if test="outsourceMaterialAmount != null">#{outsourceMaterialAmount},</if> |
||||
|
<if test="outsourceProcessType != null">#{outsourceProcessType},</if> |
||||
|
<if test="outsourceProcessAmount != null">#{outsourceProcessAmount},</if> |
||||
|
<if test="outsourceTotalPrice != null">#{outsourceTotalPrice},</if> |
||||
|
<if test="outsourceNoPrice != null">#{outsourceNoPrice},</if> |
||||
|
<if test="createBy != null">#{createBy},</if> |
||||
|
<if test="createTime != null">#{createTime},</if> |
||||
|
<if test="updateBy != null">#{updateBy},</if> |
||||
|
<if test="updateTime != null">#{updateTime},</if> |
||||
|
<if test="useStatus != null">#{useStatus},</if> |
||||
|
<if test="receiveStatus != null">#{receiveStatus},</if> |
||||
|
<if test="warehouseStatus != null">#{warehouseStatus},</if> |
||||
|
<if test="closedStatus != null">#{closedStatus},</if> |
||||
|
<if test="remitStatus != null">#{remitStatus},</if> |
||||
|
<if test="auditStatus != null">#{auditStatus},</if> |
||||
|
<if test="actualMaterialAmount != null">#{actualMaterialAmount},</if> |
||||
|
<if test="actualProcessAmount != null">#{actualProcessAmount},</if> |
||||
|
<if test="stockNo != null">#{stockNo},</if> |
||||
|
<if test="stockName != null">#{stockName},</if> |
||||
|
<if test="receivePerson != null">#{receivePerson},</if> |
||||
|
<if test="receiveTelephone != null">#{receiveTelephone},</if> |
||||
|
<if test="receiveAddress != null">#{receiveAddress},</if> |
||||
|
</trim> |
||||
|
</insert> |
||||
|
|
||||
|
<update id="updateOutsourceOrder" parameterType="OutsourceOrder"> |
||||
|
update outsource_order |
||||
|
<trim prefix="SET" suffixOverrides=","> |
||||
|
<if test="outsourceOrderNo != null and outsourceOrderNo != ''">outsource_order_no = #{outsourceOrderNo},</if> |
||||
|
<if test="outsourcePlanCode != null and outsourcePlanCode != ''">outsource_plan_code = #{outsourcePlanCode},</if> |
||||
|
<if test="outsourceStaff != null">outsource_staff = #{outsourceStaff},</if> |
||||
|
<if test="supplierAmount != null">supplier_amount = #{supplierAmount},</if> |
||||
|
<if test="materialAmount != null">material_amount = #{materialAmount},</if> |
||||
|
<if test="outsourceMaterialAmount != null">outsource_material_amount = #{outsourceMaterialAmount},</if> |
||||
|
<if test="outsourceProcessType != null">outsource_process_type = #{outsourceProcessType},</if> |
||||
|
<if test="outsourceProcessAmount != null">outsource_process_amount = #{outsourceProcessAmount},</if> |
||||
|
<if test="outsourceTotalPrice != null">outsource_total_price = #{outsourceTotalPrice},</if> |
||||
|
<if test="outsourceNoPrice != null">outsource_no_price = #{outsourceNoPrice},</if> |
||||
|
<if test="createBy != null">create_by = #{createBy},</if> |
||||
|
<if test="createTime != null">create_time = #{createTime},</if> |
||||
|
<if test="updateBy != null">update_by = #{updateBy},</if> |
||||
|
<if test="updateTime != null">update_time = #{updateTime},</if> |
||||
|
<if test="useStatus != null">use_status = #{useStatus},</if> |
||||
|
<if test="receiveStatus != null">receive_status = #{receiveStatus},</if> |
||||
|
<if test="warehouseStatus != null">warehouse_status = #{warehouseStatus},</if> |
||||
|
<if test="closedStatus != null">closed_status = #{closedStatus},</if> |
||||
|
<if test="remitStatus != null">remit_status = #{remitStatus},</if> |
||||
|
<if test="auditStatus != null">audit_status = #{auditStatus},</if> |
||||
|
<if test="actualMaterialAmount != null">actual_material_amount = #{actualMaterialAmount},</if> |
||||
|
<if test="actualProcessAmount != null">actual_process_amount = #{actualProcessAmount},</if> |
||||
|
<if test="stockNo != null">stock_no = #{stockNo},</if> |
||||
|
<if test="stockName != null">stock_name = #{stockName},</if> |
||||
|
<if test="receivePerson != null">receive_person = #{receivePerson},</if> |
||||
|
<if test="receiveTelephone != null">receive_telephone = #{receiveTelephone},</if> |
||||
|
<if test="receiveAddress != null">receive_address = #{receiveAddress},</if> |
||||
|
</trim> |
||||
|
where outsource_order_id = #{outsourceOrderId} |
||||
|
</update> |
||||
|
|
||||
|
<delete id="deleteOutsourceOrderByOutsourceOrderId" parameterType="Long"> |
||||
|
delete from outsource_order where outsource_order_id = #{outsourceOrderId} |
||||
|
</delete> |
||||
|
|
||||
|
<delete id="deleteOutsourceOrderByOutsourceOrderIds" parameterType="String"> |
||||
|
delete from outsource_order where outsource_order_id in |
||||
|
<foreach item="outsourceOrderId" collection="array" open="(" separator="," close=")"> |
||||
|
#{outsourceOrderId} |
||||
|
</foreach> |
||||
|
</delete> |
||||
|
|
||||
|
<delete id="deleteOutsourceOrderDetailByOutsourceOrderNos" parameterType="String"> |
||||
|
delete from outsource_order_detail where outsource_order_no in |
||||
|
<foreach item="outsourceOrderNo" collection="array" open="(" separator="," close=")"> |
||||
|
#{outsourceOrderNo} |
||||
|
</foreach> |
||||
|
</delete> |
||||
|
|
||||
|
<delete id="deleteOutsourceOrderDetailByOutsourceOrderNo" parameterType="Long"> |
||||
|
delete from outsource_order_detail where outsource_order_no = #{outsourceOrderNo} |
||||
|
</delete> |
||||
|
|
||||
|
<insert id="batchOutsourceOrderDetail"> |
||||
|
insert into outsource_order_detail( outsource_order_detail_id, outsource_order_no, material_no, outsource_process_no, outsource_process_name, charge_unit, single_material, delivery_time, actual_outsource_amount, material_rmb, material_no_rmb, supplier_code, supplier_name, closed_status, remit_status) values |
||||
|
<foreach item="item" index="index" collection="list" separator=","> |
||||
|
( #{item.outsourceOrderDetailId}, #{item.outsourceOrderNo}, #{item.materialNo}, #{item.outsourceProcessNo}, #{item.outsourceProcessName}, #{item.chargeUnit}, #{item.singleMaterial}, #{item.deliveryTime}, #{item.actualOutsourceAmount}, #{item.materialRmb}, #{item.materialNoRmb}, #{item.supplierCode}, #{item.supplierName}, #{item.closedStatus}, #{item.remitStatus}) |
||||
|
</foreach> |
||||
|
</insert> |
||||
|
|
||||
|
</mapper> |
@ -0,0 +1,334 @@ |
|||||
|
<!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-outsource_order-add"> |
||||
|
<h4 class="form-header h4">委外订单信息</h4> |
||||
|
<div class="col-xs-12"> |
||||
|
<div class="form-group"> |
||||
|
<label class="col-sm-3 control-label is-required">委外订单编号:</label> |
||||
|
<div class="col-sm-8"> |
||||
|
<input name="outsourceOrderNo" class="form-control" type="text" required> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-xs-12"> |
||||
|
<div class="form-group"> |
||||
|
<label class="col-sm-3 control-label is-required">委外计划单号:</label> |
||||
|
<div class="col-sm-8"> |
||||
|
<input name="outsourcePlanCode" class="form-control" type="text" required> |
||||
|
</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="outsourceStaff" 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="supplierAmount" 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="materialAmount" 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="outsourceMaterialAmount" 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="outsourceProcessAmount" 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="outsourceTotalPrice" 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="outsourceNoPrice" 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="actualMaterialAmount" 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="actualProcessAmount" 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="stockNo" 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="stockName" 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="receivePerson" 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="receiveTelephone" 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="receiveAddress" 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" /> |
||||
|
<script th:inline="javascript"> |
||||
|
var prefix = ctx + "system/outsource_order" |
||||
|
$("#form-outsource_order-add").validate({ |
||||
|
focusCleanup: true |
||||
|
}); |
||||
|
|
||||
|
function submitHandler() { |
||||
|
if ($.validate.form()) { |
||||
|
$.operate.save(prefix + "/add", $('#form-outsource_order-add').serialize()); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
$(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: 'materialNo', |
||||
|
align: 'center', |
||||
|
title: '料号', |
||||
|
formatter: function(value, row, index) { |
||||
|
var html = $.common.sprintf("<input class='form-control' type='text' name='outsourceOrderDetailList[%s].materialNo' value='%s'>", index, value); |
||||
|
return html; |
||||
|
} |
||||
|
}, |
||||
|
{ |
||||
|
field: 'outsourceProcessNo', |
||||
|
align: 'center', |
||||
|
title: '委外工序编号', |
||||
|
formatter: function(value, row, index) { |
||||
|
var html = $.common.sprintf("<input class='form-control' type='text' name='outsourceOrderDetailList[%s].outsourceProcessNo' value='%s'>", index, value); |
||||
|
return html; |
||||
|
} |
||||
|
}, |
||||
|
{ |
||||
|
field: 'outsourceProcessName', |
||||
|
align: 'center', |
||||
|
title: '委外工序名称', |
||||
|
formatter: function(value, row, index) { |
||||
|
var html = $.common.sprintf("<input class='form-control' type='text' name='outsourceOrderDetailList[%s].outsourceProcessName' value='%s'>", index, value); |
||||
|
return html; |
||||
|
} |
||||
|
}, |
||||
|
{ |
||||
|
field: 'chargeUnit', |
||||
|
align: 'center', |
||||
|
title: '计价单位', |
||||
|
formatter: function(value, row, index) { |
||||
|
var html = $.common.sprintf("<input class='form-control' type='text' name='outsourceOrderDetailList[%s].chargeUnit' value='%s'>", index, value); |
||||
|
return html; |
||||
|
} |
||||
|
}, |
||||
|
{ |
||||
|
field: 'singleMaterial', |
||||
|
align: 'center', |
||||
|
title: '每个物料规格', |
||||
|
formatter: function(value, row, index) { |
||||
|
var html = $.common.sprintf("<input class='form-control' type='text' name='outsourceOrderDetailList[%s].singleMaterial' value='%s'>", index, value); |
||||
|
return html; |
||||
|
} |
||||
|
}, |
||||
|
{ |
||||
|
field: 'deliveryTime', |
||||
|
align: 'center', |
||||
|
title: '交付时间', |
||||
|
formatter: function(value, row, index) { |
||||
|
var html = $.common.sprintf("<input class='form-control' type='text' name='outsourceOrderDetailList[%s].deliveryTime' value='%s'>", index, value); |
||||
|
return html; |
||||
|
} |
||||
|
}, |
||||
|
{ |
||||
|
field: 'actualOutsourceAmount', |
||||
|
align: 'center', |
||||
|
title: '实际委外数', |
||||
|
formatter: function(value, row, index) { |
||||
|
var html = $.common.sprintf("<input class='form-control' type='text' name='outsourceOrderDetailList[%s].actualOutsourceAmount' value='%s'>", index, value); |
||||
|
return html; |
||||
|
} |
||||
|
}, |
||||
|
{ |
||||
|
field: 'materialRmb', |
||||
|
align: 'center', |
||||
|
title: '含税委外总价(RMB) ', |
||||
|
formatter: function(value, row, index) { |
||||
|
var html = $.common.sprintf("<input class='form-control' type='text' name='outsourceOrderDetailList[%s].materialRmb' value='%s'>", index, value); |
||||
|
return html; |
||||
|
} |
||||
|
}, |
||||
|
{ |
||||
|
field: 'materialNoRmb', |
||||
|
align: 'center', |
||||
|
title: '不含税委外总价(RMB)', |
||||
|
formatter: function(value, row, index) { |
||||
|
var html = $.common.sprintf("<input class='form-control' type='text' name='outsourceOrderDetailList[%s].materialNoRmb' value='%s'>", index, value); |
||||
|
return html; |
||||
|
} |
||||
|
}, |
||||
|
{ |
||||
|
field: 'supplierCode', |
||||
|
align: 'center', |
||||
|
title: '供应商编号', |
||||
|
formatter: function(value, row, index) { |
||||
|
var html = $.common.sprintf("<input class='form-control' type='text' name='outsourceOrderDetailList[%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='outsourceOrderDetailList[%s].supplierName' value='%s'>", index, value); |
||||
|
return html; |
||||
|
} |
||||
|
}, |
||||
|
{ |
||||
|
field: 'closedStatus', |
||||
|
align: 'center', |
||||
|
title: '结案状态', |
||||
|
formatter: function(value, row, index) { |
||||
|
var html = $.common.sprintf("<input class='form-control' type='text' name='outsourceOrderDetailList[%s].closedStatus' value='%s'>", index, value); |
||||
|
return html; |
||||
|
} |
||||
|
}, |
||||
|
{ |
||||
|
field: 'remitStatus', |
||||
|
align: 'center', |
||||
|
title: '打款状态', |
||||
|
formatter: function(value, row, index) { |
||||
|
var html = $.common.sprintf("<input class='form-control' type='text' name='outsourceOrderDetailList[%s].remitStatus' 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), |
||||
|
materialNo: "", |
||||
|
outsourceProcessNo: "", |
||||
|
outsourceProcessName: "", |
||||
|
chargeUnit: "", |
||||
|
singleMaterial: "", |
||||
|
deliveryTime: "", |
||||
|
actualOutsourceAmount: "", |
||||
|
materialRmb: "", |
||||
|
materialNoRmb: "", |
||||
|
supplierCode: "", |
||||
|
supplierName: "", |
||||
|
closedStatus: "", |
||||
|
remitStatus: "", |
||||
|
} |
||||
|
sub.addRow(row); |
||||
|
} |
||||
|
</script> |
||||
|
</body> |
||||
|
</html> |
@ -0,0 +1,331 @@ |
|||||
|
<!DOCTYPE html> |
||||
|
<html lang="zh" xmlns:th="http://www.thymeleaf.org" > |
||||
|
<head> |
||||
|
<th:block th:include="include :: header('添加委外领料单')" /> |
||||
|
<th:block th:include="include :: select2-css" /> |
||||
|
<th:block th:include="include :: datetimepicker-css" /> |
||||
|
<th:block th:include="include :: bootstrap-editable-css" /> |
||||
|
</head> |
||||
|
<body class="white-bg"> |
||||
|
<div class="wrapper wrapper-content animated fadeInRight ibox-content"> |
||||
|
<form class="form-horizontal m" id="form-order-outsourceRequisition-add" > |
||||
|
|
||||
|
<div class="container" id="material"> |
||||
|
|
||||
|
</div> |
||||
|
</form> |
||||
|
<!-- 订单合计--> |
||||
|
<div class="container"> |
||||
|
<div class="row"><h4 class="card-header">订单合计:</h4></div> |
||||
|
<div class="form-group"> |
||||
|
<label for="materialAmount" class="col-sm-2 col-form-label">物料合计:</label> |
||||
|
<div class="col-sm-4"> |
||||
|
<input type="text" class="form-control" value="0" id="materialAmount"> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="form-group"> |
||||
|
<label for="outsourceMaterialAmount" class="col-sm-2 col-form-label">委外数量合计:</label> |
||||
|
<div class="col-sm-4"> |
||||
|
<input type="text" class="form-control" value="0" id="outsourceMaterialAmount"> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<th:block th:include="include :: footer" /> |
||||
|
<th:block th:include="include :: select2-js" /> |
||||
|
<th:block th:include="include :: datetimepicker-js" /> |
||||
|
<th:block th:include="include :: bootstrap-table-editable-js" /> |
||||
|
<script th:inline="javascript"> |
||||
|
var prefix = ctx + "system/outsource_requisition"; |
||||
|
$("#form-order-outsourceRequisition-add").validate({focusCleanup: true}); |
||||
|
var outsourcePlanDetailList = []; |
||||
|
// var chargeUnitDatas = [[${@dict.getType("charge_unit")}]] |
||||
|
// var formId = "form-plan-outsourceOrder-add"; |
||||
|
var outsourcePlanCode = ''; |
||||
|
var materialList = []; |
||||
|
var tableIdList = []; |
||||
|
var supplierList = []; |
||||
|
var $processContent; |
||||
|
var $supplierheaderContent; |
||||
|
var materials; |
||||
|
var outsourceProcessAmount = 0; |
||||
|
var actualOutsourceAmount = 0; |
||||
|
var outsourceOrderList = [[${outsourceOrderList}]]; |
||||
|
var originMaterial = [] |
||||
|
|
||||
|
$(function() { |
||||
|
|
||||
|
// console.log(outsourceOrderList); |
||||
|
|
||||
|
originMaterial = outsourceOrderList[0].materials; |
||||
|
// console.log(originMaterial); |
||||
|
// 根据料号去重 |
||||
|
materials = mergeRecords(originMaterial); |
||||
|
// console.log(materials); |
||||
|
|
||||
|
// 遍历委外计划详情信息 |
||||
|
materials.forEach(function (material, index) { |
||||
|
var tableId = 'materialNo-' + (index+1); |
||||
|
// console.log("料号:"+index); |
||||
|
// console.log(tableId); |
||||
|
var materialTable = "bootstrap-table_" + tableId; |
||||
|
tableIdList.push(materialTable); |
||||
|
// 创建物料信息的容器 |
||||
|
var $tableWrapper = $('<div id="material-' + tableId + '"></div>'); |
||||
|
// 将整个物料信息容器添加到页面 |
||||
|
$('#material').append($tableWrapper); |
||||
|
// 添加关联销售订单号信息 |
||||
|
var $headerDiv = |
||||
|
$('<div class="row">' + |
||||
|
'<div class="col-xs-12" >' + |
||||
|
'<h3>' + |
||||
|
'<span><strong>物料 ' + (index+1) + ': </strong> ' + '<strong>关联订单号: </strong></span>' + '<span class="correlationCodes" style="color: blue" id="correlationCodes-' + tableId + '"></span>' + |
||||
|
'</h3>' + |
||||
|
'<div class="col-sm-12">' + |
||||
|
'<table class="table-materialNo" id="' + materialTable + '">' + '</table>' + |
||||
|
'</div>' + |
||||
|
'</div>' + |
||||
|
'</div>'); |
||||
|
$tableWrapper.append($headerDiv); |
||||
|
|
||||
|
$(".correlationCodes").text(outsourceOrderList[0].outsourceOrderNo); |
||||
|
$("#materialAmount").val(materials.length); |
||||
|
|
||||
|
// console.log(outsourceOrderList[0].outsourceOrderNo); |
||||
|
var materialObj = { |
||||
|
materialNo: material.materialNo, |
||||
|
materialPhotourl: material.materialPhotourl, |
||||
|
materialName: material.materialName, |
||||
|
materialType: material.materialType, |
||||
|
description: material.description, |
||||
|
unit: material.unit, |
||||
|
brand: material.brand, |
||||
|
processMethod: material.processMethod, |
||||
|
correlationCodes: material.correlationCodes, |
||||
|
actualOutsourceAmount: material.orderDetails[0].actualOutsourceAmount, |
||||
|
alreadyRequisitionAmount: 0, |
||||
|
plannedOutsourceAmount: material.plannedOutsourceAmount, |
||||
|
}; |
||||
|
var materialData = [materialObj]; // Bootstrap Table需要一个数组作为数据源 |
||||
|
materialList.push(material); |
||||
|
tables(materialTable, materialData); |
||||
|
|
||||
|
var $MaterialNumDiv = |
||||
|
$('<div class="row">' + |
||||
|
'<div class="form-group">' + |
||||
|
'<div class="col-xs-12">' + |
||||
|
'<h3>' + |
||||
|
'<span><strong>供应商</strong></span>' + |
||||
|
'</h3>' + |
||||
|
'</div>' + |
||||
|
'</div>' + |
||||
|
'</div>'); |
||||
|
$tableWrapper.append($MaterialNumDiv); |
||||
|
|
||||
|
var $processInfo = $('<div class="process-card" style="height: 60px;" id="processInfo-' + tableId + '"></div>'); |
||||
|
|
||||
|
if(material.orderDetails.length <= 0){ |
||||
|
var $noProcessDiv = $('<div class="no-process">暂无委外工序信息,请先添加委外工序信息。</div>'); |
||||
|
$tableWrapper.append($noProcessDiv); |
||||
|
}else{ |
||||
|
material.orderDetails.forEach(function(detail, detailsIndex) { |
||||
|
// console.log(processIndex); |
||||
|
var processSelectId = 'process-select-' + tableId + '_' + (detailsIndex+1); |
||||
|
var processTableId = 'process-' + tableId + '_' + (detailsIndex+1); |
||||
|
switch (detail.chargeUnit) { |
||||
|
case "0": |
||||
|
detail.unitInfo = "按重量计"; |
||||
|
break; |
||||
|
case "1": |
||||
|
detail.unitInfo = "按数量计"; |
||||
|
break; |
||||
|
case "2": |
||||
|
detail.unitInfo = "按面积计"; |
||||
|
break; |
||||
|
default:; |
||||
|
} |
||||
|
// console.log(detail); |
||||
|
// console.log(processSelectId); |
||||
|
// console.log(process); |
||||
|
$processContent = |
||||
|
$('<div class="card-header process_card" id="process-' + tableId + '_' + (detailsIndex+1) + '">' + |
||||
|
'<div class="row">' + |
||||
|
'<div class="card-text">' + |
||||
|
'<h5>委外工序 ' + (detailsIndex+1) + ':' + |
||||
|
'<span class="processNo">' + detail.outsourceProcessNo + '</span>' + '-' + |
||||
|
'<span class="processName">' + detail.outsourceProcessName + '</span>' + |
||||
|
'</h5>' + |
||||
|
'</div>' + |
||||
|
'<div class="col-sm-2" id="chargeUnit-'+processSelectId+'">' + |
||||
|
'<span class="chargeUnit">*计价单位:</span>' + '-' + |
||||
|
'<span class="">' + detail.unitInfo + '</span>' + |
||||
|
'<span class="singleMaterial">每个物料:</span>' + |
||||
|
'<span class="singleMaterialInfo">' + detail.singleMaterial + '</span>' + |
||||
|
'</div>' + |
||||
|
'</div>' + |
||||
|
'</div>'); |
||||
|
|
||||
|
$tableWrapper.append($processContent); |
||||
|
$supplierheaderContent = |
||||
|
$('<div class="card-header suppplier_card" id = "supplier-' + processTableId + '_' + ' ">' + |
||||
|
'<div class="row">' + |
||||
|
'<div class="card-text">' + |
||||
|
'<input type="radio" id="supplier-' + processTableId + '_' + '" name="supplier-' + processTableId + '" value="">' + |
||||
|
'<span class="supplierCode">' + detail.supplierCode + '</span>' + '-' + |
||||
|
'<span class="supplierName">' + detail.supplierName + '</span>' + |
||||
|
'-最新不含税采购价: ' + '<span id="materialNormb-' + processTableId + '" class="materialNormb">' + detail.materialNoRmb + '</span>' + |
||||
|
' RMB 最新含税采购价: ' + '<span id="materialRmb-' + processTableId + '" class="materialRmb">' + detail.materialRmb + '</span> RMB ' + |
||||
|
// '<span class="supplierPurchasePlanCode" hidden="hidden" >' + material.planCodes + '</span>' + |
||||
|
// '<span class="supplierCorrelationCode" hidden="hidden" >' + material.correlationCodes + '</span>' + |
||||
|
// '<span class="supplierPurchaseQuoteCode" hidden="hidden" >' + supplier.purchaseQuoteCode + '</span>' + |
||||
|
'<div class="form-row deliveryTime-'+processTableId+'" >' + |
||||
|
'<label class="col-sm-2">计划交付时间: </label>' + |
||||
|
'<div class ="col-sm-4">' + |
||||
|
'<div class="input-group date"> ' + |
||||
|
'<input type="text" name="deliveryTime" value="' + detail.deliveryTime + '" class="form-control supplierDeliveryTime" id="deliveryTime_' + processTableId + '">' + |
||||
|
'<span class="input-group-addon"><i class="fa fa-calendar"></i></span>' + |
||||
|
'<hr style="border: none; height: 1px; background-color: #ccc;">' + |
||||
|
'</div>' + |
||||
|
'</div>' + |
||||
|
'</div>'+ |
||||
|
'</div>' + |
||||
|
'</div>' + |
||||
|
'</div>'); |
||||
|
$("#"+processTableId).append($supplierheaderContent); |
||||
|
}); |
||||
|
} |
||||
|
// tableSetup($processInfo, tableId); |
||||
|
}); |
||||
|
}); |
||||
|
|
||||
|
function tables(tableId, data) { |
||||
|
$('#' + tableId).bootstrapTable({ |
||||
|
showExport: false, |
||||
|
showFooter: false, |
||||
|
showSearch: false, |
||||
|
showRefresh: false, |
||||
|
showColumns: false, |
||||
|
showToggle: false, |
||||
|
data: data, |
||||
|
columns: [ |
||||
|
{checkbox: false}, |
||||
|
{title: '料号', field: 'materialNo'}, |
||||
|
{title: '图片', field: 'materialPhotourl', formatter: function (value, row, index) { |
||||
|
return $.table.imageView(value); |
||||
|
} |
||||
|
}, |
||||
|
{title: '物料名称', field: 'materialName'}, |
||||
|
{title: '物料描述', field: 'description'}, |
||||
|
{title: '品牌', field: 'brand'}, |
||||
|
{title: '单位', field: 'unit', align: 'center', }, |
||||
|
{title: '加工方式', field: 'processMethod', align: 'center',}, |
||||
|
{title: '计划委外数', field: 'plannedOutsourceAmount'}, |
||||
|
{title: '实际委外数', field: 'actualOutsourceAmount'}, |
||||
|
{title: '已委外领料数', field: 'alreadyOutsourceAmount'}, |
||||
|
{title: '本次领料数', field: 'nowRequisitionAmount', |
||||
|
formatter: function(value, row, index) { |
||||
|
var html = $.common.sprintf("<input class='form-control' type='number' name='nowRequisitionAmount' id = 'nowRequisitionAmount_"+tableId+"'>", index, value); |
||||
|
return html; |
||||
|
} |
||||
|
}, |
||||
|
], |
||||
|
}); |
||||
|
} |
||||
|
// 函数用于合并重复的material的记录 |
||||
|
function mergeRecords(items) { |
||||
|
return items.reduce((merged, current) => { |
||||
|
const existingRecord = merged.find(record => record.materialNo === current.materialNo); |
||||
|
if (existingRecord) { |
||||
|
// console.log(existingRecord); |
||||
|
// 合并字段及委外订单详情列表 |
||||
|
if (!existingRecord.orderDetails) { |
||||
|
existingRecord.orderDetails = []; |
||||
|
} |
||||
|
existingRecord.orderDetails = current.orderDetails; |
||||
|
} else { |
||||
|
// console.log(current); |
||||
|
// 如果是第一次遇到这个materialNo,创建一个新的记录 |
||||
|
merged.push({ |
||||
|
materialNo: current.materialNo, |
||||
|
materialPhotourl: current.materialPhotourl, |
||||
|
materialName: current.materialName, |
||||
|
materialType: current.materialType, |
||||
|
description: current.description, |
||||
|
unit: current.unit, |
||||
|
brand: current.brand, |
||||
|
processMethod: current.processMethod, |
||||
|
// correlationCodes: current.correlationCodes, |
||||
|
plannedOutsourceAmount: current.plannedOutsourceAmount, |
||||
|
orderDetails: current.orderDetails |
||||
|
}); |
||||
|
} |
||||
|
return merged; |
||||
|
}, []); |
||||
|
}; |
||||
|
// 保存信息 刷新表格 |
||||
|
function saveJson(url, data, callback) { |
||||
|
var config = { |
||||
|
url: url, |
||||
|
type: "post", |
||||
|
dataType: "json", |
||||
|
contentType: "application/json;charset=utf-8", |
||||
|
data: data, |
||||
|
beforeSend: function () { |
||||
|
$.modal.loading("正在处理中,请稍后..."); |
||||
|
$.modal.disable(); |
||||
|
}, |
||||
|
success: function(result) { |
||||
|
if (typeof callback == "function") { |
||||
|
callback(result); |
||||
|
} |
||||
|
$.operate.successCallback(result); |
||||
|
} |
||||
|
}; |
||||
|
$.ajax(config) |
||||
|
}; |
||||
|
function submitHandler() { |
||||
|
var outsourceRequisition = { |
||||
|
outsourceOrderNo: outsourceOrderList[0].outsourceOrderNo, |
||||
|
materialAmount: materials.length, |
||||
|
totalAmount: 0, |
||||
|
outsourceRequisitionDetailList:[] |
||||
|
}; |
||||
|
|
||||
|
if ($.validate.form()) { |
||||
|
let requisitionSum = 0; |
||||
|
var requisitionDetail; |
||||
|
$('.table-materialNo').each(function(index, tableElement) { |
||||
|
|
||||
|
var tableId = tableIdList[index]; |
||||
|
let materialObj = materialList[index]; |
||||
|
if (typeof materialObj === 'undefined') return; |
||||
|
|
||||
|
var rows = $("#" + tableId).bootstrapTable('getData').length; |
||||
|
for(var i = 0;i < rows;i++){ |
||||
|
var data = $("#" + tableId).bootstrapTable('getData')[i]; |
||||
|
// console.log(data.nowRequisitionAmount); |
||||
|
// console.log($('[id^="nowRequisitionAmount_' + tableId + '"]').val()); |
||||
|
let value = Number($('[id^="nowRequisitionAmount_' + tableId + '"]').val()); |
||||
|
if (!isNaN(value)) { |
||||
|
requisitionSum += value; |
||||
|
} |
||||
|
requisitionDetail = { |
||||
|
materialNo: data.materialNo, |
||||
|
// takenMaterial: (data.alreadyOutsourceAmount==='undefined'?0:data.alreadyOutsourceAmount), |
||||
|
takenMaterial:0, |
||||
|
takingMaterial: $('[id^="nowRequisitionAmount_' + tableId + '"]').val(), |
||||
|
}; |
||||
|
} |
||||
|
outsourceRequisition.totalAmount += requisitionSum; |
||||
|
outsourceRequisition.outsourceRequisitionDetailList.push(requisitionDetail); |
||||
|
console.log(outsourceRequisition) |
||||
|
}); |
||||
|
}; |
||||
|
// 发送数据到后端API |
||||
|
saveJson(prefix + "/addRequisition",JSON.stringify(outsourceRequisition)); |
||||
|
} |
||||
|
</script> |
||||
|
</body> |
||||
|
</html> |
@ -0,0 +1,333 @@ |
|||||
|
<!DOCTYPE html> |
||||
|
<html lang="zh" xmlns:th="http://www.thymeleaf.org" > |
||||
|
<head> |
||||
|
<th:block th:include="include :: header('添加委外入库单')" /> |
||||
|
<th:block th:include="include :: select2-css" /> |
||||
|
<th:block th:include="include :: datetimepicker-css" /> |
||||
|
<th:block th:include="include :: bootstrap-editable-css" /> |
||||
|
</head> |
||||
|
<body class="white-bg"> |
||||
|
<div class="wrapper wrapper-content animated fadeInRight ibox-content"> |
||||
|
<form class="form-horizontal m" id="form-order-outsourceStorage-add" > |
||||
|
|
||||
|
<div class="container" id="material"> |
||||
|
|
||||
|
</div> |
||||
|
</form> |
||||
|
<!-- 订单合计--> |
||||
|
<div class="container"> |
||||
|
<div class="row"><h4 class="card-header">订单合计:</h4></div> |
||||
|
<div class="form-group"> |
||||
|
<label for="materialAmount" class="col-sm-2 col-form-label">物料合计:</label> |
||||
|
<div class="col-sm-4"> |
||||
|
<input type="text" class="form-control" value="0" id="materialAmount"> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="form-group"> |
||||
|
<label for="outsourceMaterialAmount" class="col-sm-2 col-form-label">委外数量合计:</label> |
||||
|
<div class="col-sm-4"> |
||||
|
<input type="text" class="form-control" value="0" id="outsourceMaterialAmount"> |
||||
|
</div> |
||||
|
</div> |
||||
|
|
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<th:block th:include="include :: footer" /> |
||||
|
<th:block th:include="include :: select2-js" /> |
||||
|
<th:block th:include="include :: datetimepicker-js" /> |
||||
|
<th:block th:include="include :: bootstrap-table-editable-js" /> |
||||
|
<script th:inline="javascript"> |
||||
|
var prefix = ctx + "system/storage"; |
||||
|
$("#form-order-outsourceStorage-add").validate({focusCleanup: true}); |
||||
|
var outsourcePlanDetailList = []; |
||||
|
// var chargeUnitDatas = [[${@dict.getType("charge_unit")}]] |
||||
|
var formId = "form-plan-outsourceOrder-add"; |
||||
|
var outsourcePlanCode = ''; |
||||
|
var materialList = []; |
||||
|
var tableIdList = []; |
||||
|
var supplierList = []; |
||||
|
var $processContent; |
||||
|
var $supplierheaderContent; |
||||
|
var materials; |
||||
|
var outsourceProcessAmount = 0; |
||||
|
var actualOutsourceAmount = 0; |
||||
|
var outsourceOrderList = [[${outsourceOrderList}]]; |
||||
|
var originMaterial = [] |
||||
|
|
||||
|
$(function() { |
||||
|
|
||||
|
|
||||
|
originMaterial = outsourceOrderList[0].materials; |
||||
|
// 根据料号去重 |
||||
|
materials = mergeRecords(originMaterial); |
||||
|
|
||||
|
// 遍历委外计划详情信息 |
||||
|
materials.forEach(function (material, index) { |
||||
|
var tableId = 'materialNo-' + (index+1); |
||||
|
var materialTable = "bootstrap-table_" + tableId; |
||||
|
tableIdList.push(materialTable); |
||||
|
// 创建物料信息的容器 |
||||
|
var $tableWrapper = $('<div id="material-' + tableId + '"></div>'); |
||||
|
// 将整个物料信息容器添加到页面 |
||||
|
$('#material').append($tableWrapper); |
||||
|
// 添加关联销售订单号信息 |
||||
|
var $headerDiv = |
||||
|
$('<div class="row">' + |
||||
|
'<div class="col-xs-12" >' + |
||||
|
'<h3>' + |
||||
|
'<span><strong>物料 ' + (index+1) + ': </strong> ' + '<strong>关联订单号: </strong></span>' + '<span class="correlationCodes" style="color: blue" id="correlationCodes-' + tableId + '"></span>' + |
||||
|
'</h3>' + |
||||
|
'<div class="col-sm-12">' + |
||||
|
'<table class="table-materialNo" id="' + materialTable + '">' + '</table>' + |
||||
|
'</div>' + |
||||
|
'</div>' + |
||||
|
'</div>'); |
||||
|
$tableWrapper.append($headerDiv); |
||||
|
|
||||
|
$(".correlationCodes").text(outsourceOrderList[0].outsourceOrderNo); |
||||
|
$("#materialAmount").val(materials.length); |
||||
|
|
||||
|
var materialObj = { |
||||
|
materialNo: material.materialNo, |
||||
|
materialPhotourl: material.materialPhotourl, |
||||
|
materialName: material.materialName, |
||||
|
materialType: material.materialType, |
||||
|
description: material.description, |
||||
|
unit: material.unit, |
||||
|
brand: material.brand, |
||||
|
processMethod: material.processMethod, |
||||
|
correlationCodes: material.correlationCodes, |
||||
|
plannedOutsourceAmount: material.plannedOutsourceAmount, |
||||
|
actualOutsourceAmount: material.orderDetails[0].actualOutsourceAmount, |
||||
|
alreadyStorageAmount: 0, |
||||
|
nowStorageAmount: 0, |
||||
|
}; |
||||
|
var materialData = [materialObj]; // Bootstrap Table需要一个数组作为数据源 |
||||
|
materialList.push(material); |
||||
|
tables(materialTable, materialData); |
||||
|
|
||||
|
var $MaterialNumDiv = |
||||
|
$('<div class="row">' + |
||||
|
'<div class="form-group">' + |
||||
|
'<div class="col-xs-12">' + |
||||
|
'<h3>' + |
||||
|
'<span><strong>供应商</strong></span>' + |
||||
|
'</h3>' + |
||||
|
'</div>' + |
||||
|
'</div>' + |
||||
|
'</div>'); |
||||
|
$tableWrapper.append($MaterialNumDiv); |
||||
|
|
||||
|
var $processInfo = $('<div class="process-card" style="height: 60px;" id="processInfo-' + tableId + '"></div>'); |
||||
|
|
||||
|
if(material.orderDetails.length <= 0){ |
||||
|
var $noProcessDiv = $('<div class="no-process">暂无委外工序信息,请先添加委外工序信息。</div>'); |
||||
|
$tableWrapper.append($noProcessDiv); |
||||
|
}else{ |
||||
|
material.orderDetails.forEach(function(detail, detailsIndex) { |
||||
|
// console.log(processIndex); |
||||
|
var processSelectId = 'process-select-' + tableId + '_' + (detailsIndex+1); |
||||
|
var processTableId = 'process-' + tableId + '_' + (detailsIndex+1); |
||||
|
switch (detail.chargeUnit) { |
||||
|
case "0": |
||||
|
detail.unitInfo = "按重量计"; |
||||
|
break; |
||||
|
case "1": |
||||
|
detail.unitInfo = "按数量计"; |
||||
|
break; |
||||
|
case "2": |
||||
|
detail.unitInfo = "按面积计"; |
||||
|
break; |
||||
|
default:; |
||||
|
} |
||||
|
$processContent = |
||||
|
$('<div class="card-header process_card" id="process-' + tableId + '_' + (detailsIndex+1) + '">' + |
||||
|
'<div class="row">' + |
||||
|
'<div class="card-text">' + |
||||
|
'<h5>委外工序 ' + (detailsIndex+1) + ':' + |
||||
|
'<span class="processNo">' + detail.outsourceProcessNo + '</span>' + '-' + |
||||
|
'<span class="processName">' + detail.outsourceProcessName + '</span>' + |
||||
|
'</h5>' + |
||||
|
'</div>' + |
||||
|
'<div class="col-sm-2" id="chargeUnit-'+processSelectId+'">' + |
||||
|
'<span class="chargeUnit">*计价单位:</span>' + '-' + |
||||
|
'<span class="">' + detail.unitInfo + '</span>' + |
||||
|
'<span class="singleMaterial">每个物料:</span>' + |
||||
|
'<span class="singleMaterialInfo">' + detail.singleMaterial + '</span>' + |
||||
|
'</div>' + |
||||
|
'</div>' + |
||||
|
'</div>'); |
||||
|
|
||||
|
$tableWrapper.append($processContent); |
||||
|
$supplierheaderContent = |
||||
|
$('<div class="card-header suppplier_card" id = "supplier-' + processTableId + '_' + ' ">' + |
||||
|
'<div class="row">' + |
||||
|
'<div class="card-text">' + |
||||
|
'<input type="radio" id="supplier-' + processTableId + '_' + '" name="supplier-' + processTableId + '" value="">' + |
||||
|
'<span class="supplierCode">' + detail.supplierCode + '</span>' + '-' + |
||||
|
'<span class="supplierName">' + detail.supplierName + '</span>' + |
||||
|
'-最新不含税采购价: ' + '<span id="materialNormb-' + processTableId + '" class="materialNormb">' + detail.materialNoRmb + '</span>' + |
||||
|
' RMB 最新含税采购价: ' + '<span id="materialRmb-' + processTableId + '" class="materialRmb">' + detail.materialRmb + '</span> RMB ' + |
||||
|
// '<span class="supplierPurchasePlanCode" hidden="hidden" >' + material.planCodes + '</span>' + |
||||
|
// '<span class="supplierCorrelationCode" hidden="hidden" >' + material.correlationCodes + '</span>' + |
||||
|
// '<span class="supplierPurchaseQuoteCode" hidden="hidden" >' + supplier.purchaseQuoteCode + '</span>' + |
||||
|
'<div class="form-row deliveryTime-'+processTableId+'" >' + |
||||
|
'<label class="col-sm-2">计划交付时间: </label>' + |
||||
|
'<div class ="col-sm-4">' + |
||||
|
'<div class="input-group date"> ' + |
||||
|
'<input type="text" name="deliveryTime" value="' + detail.deliveryTime + '" class="form-control supplierDeliveryTime" id="deliveryTime_' + processTableId + '">' + |
||||
|
'<span class="input-group-addon"><i class="fa fa-calendar"></i></span>' + |
||||
|
'<hr style="border: none; height: 1px; background-color: #ccc;">' + |
||||
|
'</div>' + |
||||
|
'</div>' + |
||||
|
'</div>'+ |
||||
|
'</div>' + |
||||
|
'</div>' + |
||||
|
'</div>'); |
||||
|
$("#"+processTableId).append($supplierheaderContent); |
||||
|
}); |
||||
|
} |
||||
|
// tableSetup($processInfo, tableId); |
||||
|
}); |
||||
|
}); |
||||
|
|
||||
|
function tables(tableId, data) { |
||||
|
$('#' + tableId).bootstrapTable({ |
||||
|
showExport: false, |
||||
|
showFooter: false, |
||||
|
showSearch: false, |
||||
|
showRefresh: false, |
||||
|
showColumns: false, |
||||
|
showToggle: false, |
||||
|
data: data, |
||||
|
columns: [ |
||||
|
{checkbox: false}, |
||||
|
{title: '料号', field: 'materialNo'}, |
||||
|
{title: '图片', field: 'materialPhotourl', formatter: function (value, row, index) { |
||||
|
return $.table.imageView(value); |
||||
|
} |
||||
|
}, |
||||
|
{title: '物料名称', field: 'materialName'}, |
||||
|
{title: '物料描述', field: 'description'}, |
||||
|
{title: '品牌', field: 'brand'}, |
||||
|
{title: '单位', field: 'unit', align: 'center', }, |
||||
|
{title: '加工方式', field: 'processMethod', align: 'center',}, |
||||
|
{title: '计划委外数', field: 'plannedOutsourceAmount'}, |
||||
|
{title: '已入库数', field: 'alreadyStorageAmount'}, |
||||
|
{title: '本次入库数', field: 'nowStorageAmount', |
||||
|
formatter: function(value, row, index) { |
||||
|
var html = $.common.sprintf("<input class='form-control' type='text' name='nowStorageAmount' value='' id='nowStorageAmount_"+tableId+"'>", index, value); |
||||
|
return html; |
||||
|
} |
||||
|
}, |
||||
|
], |
||||
|
}); |
||||
|
} |
||||
|
// 函数用于合并重复的material的记录 |
||||
|
function mergeRecords(items) { |
||||
|
return items.reduce((merged, current) => { |
||||
|
const existingRecord = merged.find(record => record.materialNo === current.materialNo); |
||||
|
if (existingRecord) { |
||||
|
// console.log(existingRecord); |
||||
|
// 合并字段及委外订单详情列表 |
||||
|
if (!existingRecord.orderDetails) { |
||||
|
existingRecord.orderDetails = []; |
||||
|
} |
||||
|
existingRecord.orderDetails = current.orderDetails; |
||||
|
} else { |
||||
|
console.log(current); |
||||
|
// 如果是第一次遇到这个materialNo,创建一个新的记录 |
||||
|
merged.push({ |
||||
|
materialNo: current.materialNo, |
||||
|
materialPhotourl: current.materialPhotourl, |
||||
|
materialName: current.materialName, |
||||
|
materialType: current.materialType, |
||||
|
description: current.description, |
||||
|
unit: current.unit, |
||||
|
brand: current.brand, |
||||
|
processMethod: current.processMethod, |
||||
|
// correlationCodes: current.correlationCodes, |
||||
|
plannedOutsourceAmount: current.plannedOutsourceAmount, |
||||
|
orderDetails: current.orderDetails |
||||
|
}); |
||||
|
} |
||||
|
return merged; |
||||
|
}, []); |
||||
|
}; |
||||
|
|
||||
|
// 保存信息 刷新表格 |
||||
|
function saveJson(url, data, callback) { |
||||
|
var config = { |
||||
|
url: url, |
||||
|
type: "post", |
||||
|
dataType: "json", |
||||
|
contentType: "application/json;charset=utf-8", |
||||
|
data: data, |
||||
|
beforeSend: function () { |
||||
|
$.modal.loading("正在处理中,请稍后..."); |
||||
|
$.modal.disable(); |
||||
|
}, |
||||
|
success: function(result) { |
||||
|
if (typeof callback == "function") { |
||||
|
callback(result); |
||||
|
} |
||||
|
$.operate.successCallback(result); |
||||
|
} |
||||
|
}; |
||||
|
$.ajax(config) |
||||
|
}; |
||||
|
function submitHandler() { |
||||
|
var outsourceStorage = { |
||||
|
relatedOrderCode: outsourceOrderList[0].outsourceOrderNo, |
||||
|
materialAmount: materials.length, |
||||
|
storageNum: 0, |
||||
|
warehouseStorageOrderDetailList:[] |
||||
|
}; |
||||
|
if ($.validate.form()) { |
||||
|
let storageSum = 0; |
||||
|
var storageDetail; |
||||
|
$('.table-materialNo').each(function(index, tableElement) { |
||||
|
|
||||
|
var tableId = tableIdList[index]; |
||||
|
let materialObj = materialList[index]; |
||||
|
if (typeof materialObj === 'undefined') return; |
||||
|
|
||||
|
var rows = $("#" + tableId).bootstrapTable('getData').length; |
||||
|
console.log(rows); |
||||
|
for(var i = 0;i < rows;i++){ |
||||
|
var data = $("#" + tableId).bootstrapTable('getData')[i]; |
||||
|
// console.log(data.nowRequisitionAmount); |
||||
|
// console.log($('[id^="nowRequisitionAmount_' + tableId + '"]').val()); |
||||
|
let value = Number($('[id^="nowStorageAmount_' + tableId + '"]').val()); |
||||
|
if (!isNaN(value)) { |
||||
|
storageSum += value; |
||||
|
} |
||||
|
storageDetail = { |
||||
|
relatedOrderCode: outsourceOrderList[0].outsourceOrderNo, |
||||
|
materialNo: data.materialNo, |
||||
|
materialName: data.materialName, |
||||
|
materialPhotourl: data.materialPhotoUrl, |
||||
|
materialBrand: data.brand, |
||||
|
materialUnit: data.unit, |
||||
|
materialDescribe: data.description, |
||||
|
materialProcessMethod: data.processMethod, |
||||
|
// takenMaterial: (data.alreadyOutsourceAmount==='undefined'?0:data.alreadyOutsourceAmount), |
||||
|
takenMaterial:0, |
||||
|
takingMaterial: $('[id^="nowStorageAmount_' + tableId + '"]').val(), |
||||
|
}; |
||||
|
console.log(storageDetail); |
||||
|
} |
||||
|
outsourceStorage.storageNum += storageSum; |
||||
|
outsourceStorage.warehouseStorageOrderDetailList.push(storageDetail); |
||||
|
}); |
||||
|
console.log(outsourceStorage); |
||||
|
|
||||
|
}; |
||||
|
// 发送数据到后端API |
||||
|
saveJson(prefix + "/addStorage",JSON.stringify(outsourceStorage)); |
||||
|
} |
||||
|
|
||||
|
</script> |
||||
|
</body> |
||||
|
</html> |
@ -0,0 +1,62 @@ |
|||||
|
<!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-outsource_order_closed" th:object="${outsourceOrder}"> |
||||
|
<input name="outsourceOrderId" th:field="*{outsourceOrderId}" type="hidden"> |
||||
|
<div class="col-xs-12"> |
||||
|
<div class="form-group"> |
||||
|
<label class="col-sm-3 control-label is-required">委外单号:</label> |
||||
|
<div class="col-sm-8"> |
||||
|
<div class="form-control-static" th:text="${outsourceOrder.outsourceOrderCode}"></div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<h5>已选择供应商:</h5> |
||||
|
|
||||
|
<div class="col-sm-12 table-striped"> |
||||
|
<table id="bootstrap-table"></table> |
||||
|
</div> |
||||
|
|
||||
|
</form> |
||||
|
</div> |
||||
|
<th:block th:include="include :: footer" /> |
||||
|
<script th:inline="javascript"> |
||||
|
var prefix = ctx + "system/outsource_order"; |
||||
|
$("#form-outsource_process-edit").validate({ |
||||
|
focusCleanup: true, |
||||
|
|
||||
|
}); |
||||
|
|
||||
|
$(function() { |
||||
|
var options = { |
||||
|
data: [[${outsourceOrder.outsourceOrderDetailList}]], |
||||
|
columns: [ |
||||
|
{ |
||||
|
field: 'supplierCode', |
||||
|
title: '供应商编码', |
||||
|
}, |
||||
|
{ |
||||
|
field: 'supplierName', |
||||
|
title: '供应商名称' |
||||
|
}, |
||||
|
{ |
||||
|
field: 'remitStatus', |
||||
|
title: '打款状态' |
||||
|
} |
||||
|
] |
||||
|
}; |
||||
|
$.table.init(options); |
||||
|
}); |
||||
|
|
||||
|
function submitHandler() { |
||||
|
if ($.validate.form()) { |
||||
|
$.operate.save(prefix + "/closed", $('#form-outsource_order_closed').serialize()); |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
</body> |
||||
|
</html> |
@ -0,0 +1,10 @@ |
|||||
|
<!DOCTYPE html> |
||||
|
<html lang="en"> |
||||
|
<head> |
||||
|
<meta charset="UTF-8"> |
||||
|
<title>Title</title> |
||||
|
</head> |
||||
|
<body> |
||||
|
|
||||
|
</body> |
||||
|
</html> |
@ -0,0 +1,349 @@ |
|||||
|
<!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-outsource_order-edit" th:object="${outsourceOrder}"> |
||||
|
<h4 class="form-header h4">委外订单信息</h4> |
||||
|
<input name="outsourceOrderId" th:field="*{outsourceOrderId}" type="hidden"> |
||||
|
<div class="col-xs-12"> |
||||
|
<div class="form-group"> |
||||
|
<label class="col-sm-3 control-label is-required">委外订单编号:</label> |
||||
|
<div class="col-sm-8"> |
||||
|
<input name="outsourceOrderNo" th:field="*{outsourceOrderNo}" class="form-control" type="text" required> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="col-xs-12"> |
||||
|
<div class="form-group"> |
||||
|
<label class="col-sm-3 control-label is-required">委外计划单号:</label> |
||||
|
<div class="col-sm-8"> |
||||
|
<input name="outsourcePlanCode" th:field="*{outsourcePlanCode}" class="form-control" type="text" required> |
||||
|
</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="outsourceStaff" th:field="*{outsourceStaff}" 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="supplierAmount" th:field="*{supplierAmount}" 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="materialAmount" th:field="*{materialAmount}" 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="outsourceMaterialAmount" th:field="*{outsourceMaterialAmount}" 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="outsourceProcessAmount" th:field="*{outsourceProcessAmount}" 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="outsourceTotalPrice" th:field="*{outsourceTotalPrice}" 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="outsourceNoPrice" th:field="*{outsourceNoPrice}" 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="actualMaterialAmount" th:field="*{actualMaterialAmount}" 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="actualProcessAmount" th:field="*{actualProcessAmount}" 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="stockNo" th:field="*{stockNo}" 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="stockName" th:field="*{stockName}" 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="receivePerson" th:field="*{receivePerson}" 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="receiveTelephone" th:field="*{receiveTelephone}" 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="receiveAddress" th:field="*{receiveAddress}" 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" /> |
||||
|
<script th:inline="javascript"> |
||||
|
var prefix = ctx + "system/outsource_order"; |
||||
|
$("#form-outsource_order-edit").validate({ |
||||
|
focusCleanup: true |
||||
|
}); |
||||
|
|
||||
|
function submitHandler() { |
||||
|
if ($.validate.form()) { |
||||
|
$.operate.save(prefix + "/edit", $('#form-outsource_order-edit').serialize()); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
$(function() { |
||||
|
var options = { |
||||
|
data: [[${outsourceOrder.outsourceOrderDetailList}]], |
||||
|
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: 'materialNo', |
||||
|
align: 'center', |
||||
|
title: '料号', |
||||
|
formatter: function(value, row, index) { |
||||
|
var html = $.common.sprintf("<input class='form-control' type='text' name='outsourceOrderDetailList[%s].materialNo' value='%s'>", index, value); |
||||
|
return html; |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
{ |
||||
|
field: 'outsourceProcessNo', |
||||
|
align: 'center', |
||||
|
title: '委外工序编号', |
||||
|
formatter: function(value, row, index) { |
||||
|
var html = $.common.sprintf("<input class='form-control' type='text' name='outsourceOrderDetailList[%s].outsourceProcessNo' value='%s'>", index, value); |
||||
|
return html; |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
{ |
||||
|
field: 'outsourceProcessName', |
||||
|
align: 'center', |
||||
|
title: '委外工序名称', |
||||
|
formatter: function(value, row, index) { |
||||
|
var html = $.common.sprintf("<input class='form-control' type='text' name='outsourceOrderDetailList[%s].outsourceProcessName' value='%s'>", index, value); |
||||
|
return html; |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
{ |
||||
|
field: 'chargeUnit', |
||||
|
align: 'center', |
||||
|
title: '计价单位', |
||||
|
formatter: function(value, row, index) { |
||||
|
var html = $.common.sprintf("<input class='form-control' type='text' name='outsourceOrderDetailList[%s].chargeUnit' value='%s'>", index, value); |
||||
|
return html; |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
{ |
||||
|
field: 'singleMaterial', |
||||
|
align: 'center', |
||||
|
title: '每个物料规格', |
||||
|
formatter: function(value, row, index) { |
||||
|
var html = $.common.sprintf("<input class='form-control' type='text' name='outsourceOrderDetailList[%s].singleMaterial' value='%s'>", index, value); |
||||
|
return html; |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
{ |
||||
|
field: 'deliveryTime', |
||||
|
align: 'center', |
||||
|
title: '交付时间', |
||||
|
formatter: function(value, row, index) { |
||||
|
var html = $.common.sprintf("<input class='form-control' type='text' name='outsourceOrderDetailList[%s].deliveryTime' value='%s'>", index, value); |
||||
|
return html; |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
{ |
||||
|
field: 'actualOutsourceAmount', |
||||
|
align: 'center', |
||||
|
title: '实际委外数', |
||||
|
formatter: function(value, row, index) { |
||||
|
var html = $.common.sprintf("<input class='form-control' type='text' name='outsourceOrderDetailList[%s].actualOutsourceAmount' value='%s'>", index, value); |
||||
|
return html; |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
{ |
||||
|
field: 'materialRmb', |
||||
|
align: 'center', |
||||
|
title: '含税委外总价(RMB) ', |
||||
|
formatter: function(value, row, index) { |
||||
|
var html = $.common.sprintf("<input class='form-control' type='text' name='outsourceOrderDetailList[%s].materialRmb' value='%s'>", index, value); |
||||
|
return html; |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
{ |
||||
|
field: 'materialNoRmb', |
||||
|
align: 'center', |
||||
|
title: '不含税委外总价(RMB)', |
||||
|
formatter: function(value, row, index) { |
||||
|
var html = $.common.sprintf("<input class='form-control' type='text' name='outsourceOrderDetailList[%s].materialNoRmb' value='%s'>", index, value); |
||||
|
return html; |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
{ |
||||
|
field: 'supplierCode', |
||||
|
align: 'center', |
||||
|
title: '供应商编号', |
||||
|
formatter: function(value, row, index) { |
||||
|
var html = $.common.sprintf("<input class='form-control' type='text' name='outsourceOrderDetailList[%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='outsourceOrderDetailList[%s].supplierName' value='%s'>", index, value); |
||||
|
return html; |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
{ |
||||
|
field: 'closedStatus', |
||||
|
align: 'center', |
||||
|
title: '结案状态', |
||||
|
formatter: function(value, row, index) { |
||||
|
var html = $.common.sprintf("<input class='form-control' type='text' name='outsourceOrderDetailList[%s].closedStatus' value='%s'>", index, value); |
||||
|
return html; |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
{ |
||||
|
field: 'remitStatus', |
||||
|
align: 'center', |
||||
|
title: '打款状态', |
||||
|
formatter: function(value, row, index) { |
||||
|
var html = $.common.sprintf("<input class='form-control' type='text' name='outsourceOrderDetailList[%s].remitStatus' 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), |
||||
|
materialNo: "", |
||||
|
outsourceProcessNo: "", |
||||
|
outsourceProcessName: "", |
||||
|
chargeUnit: "", |
||||
|
singleMaterial: "", |
||||
|
deliveryTime: "", |
||||
|
actualOutsourceAmount: "", |
||||
|
materialRmb: "", |
||||
|
materialNoRmb: "", |
||||
|
supplierCode: "", |
||||
|
supplierName: "", |
||||
|
closedStatus: "", |
||||
|
remitStatus: "", |
||||
|
} |
||||
|
sub.addRow(row); |
||||
|
} |
||||
|
</script> |
||||
|
</body> |
||||
|
</html> |
@ -0,0 +1,276 @@ |
|||||
|
<!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="outsourceOrderNo"/> |
||||
|
</li> |
||||
|
<li> |
||||
|
<label>委外员:</label> |
||||
|
<input type="text" name="outsourceStaff"/> |
||||
|
</li> |
||||
|
<li> |
||||
|
<label>录入人:</label> |
||||
|
<input type="text" name="createBy"/> |
||||
|
</li> |
||||
|
<li> |
||||
|
<label>录入时间:</label> |
||||
|
<input type="text" class="time-input" placeholder="请选择录入时间" name="createTime"/> |
||||
|
</li> |
||||
|
<li> |
||||
|
<label>实际委外物料合计:</label> |
||||
|
<input type="text" name="actualMaterialAmount"/> |
||||
|
</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-success" onclick="$.operate.add()" shiro:hasPermission="system:outsource_order:add"> |
||||
|
<i class="fa fa-plus"></i> 导入合同 |
||||
|
</a> |
||||
|
<a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="system:outsource_order:export"> |
||||
|
<i class="fa fa-download"></i> 导出合同 |
||||
|
</a> |
||||
|
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="system:outsource_order:add"> |
||||
|
<i class="fa fa-plus"></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:outsource_order:edit')}]]; |
||||
|
var removeFlag = [[${@permission.hasPermi('system:outsource_order:remove')}]]; |
||||
|
var detailFlag = [[${@permission.hasPermi('system:outsource_order:detail')}]]; |
||||
|
|
||||
|
var auditStatusDatas = [[${@dict.getType('audit_status')}]]; |
||||
|
var useStatusDatas = [[${@dict.getType('use_status')}]]; |
||||
|
var receiveStatusDatas = [[${@dict.getType('receive_status')}]]; |
||||
|
var remitStatusDatas = [[${@dict.getType('remit_status')}]]; |
||||
|
var closedStatusDatas = [[${@dict.getType('closed_status')}]]; |
||||
|
|
||||
|
|
||||
|
var prefix = ctx + "system/outsource_order"; |
||||
|
function addRequisition(outsourceOrderNo) { |
||||
|
// var selections = $("#bootstrap-table").bootstrapTable("getSelections"); |
||||
|
// if(selections.length === 0){ |
||||
|
// $.modal.alertWarning("请选择委外订单"); |
||||
|
// return; |
||||
|
// }else{ |
||||
|
// outsourceOrderNos=selections[0].outsourceOrderNo; |
||||
|
// if(selections.length > 1 ){ |
||||
|
// //·拼接采购计划单号 |
||||
|
// for(let i=0;i<selections.length;i++){ |
||||
|
// if(i === selections.length - 1){ |
||||
|
// outsourcePlanCodes += selections[i].outsourceOrderNo ; |
||||
|
// }else{ |
||||
|
// outsourcePlanCodes += selections[i].outsourceOrderNo + ","; |
||||
|
// } |
||||
|
// } |
||||
|
// }else if(selections.length === 1){ |
||||
|
// outsourcePlanCodes = selections[0].outsourceOrderNo; |
||||
|
// } |
||||
|
// } |
||||
|
console.log(outsourceOrderNo); |
||||
|
$.modal.open("新增委外领料单", prefix + "/addRequisition/" + outsourceOrderNo); |
||||
|
} |
||||
|
function addStorage(outsourceOrderNo){ |
||||
|
$.modal.open("新增委外入库单", prefix + "/addStorage/" + outsourceOrderNo) |
||||
|
} |
||||
|
$(function() { |
||||
|
|
||||
|
function addRequisition(outsourceOrderNo) { |
||||
|
$.modal.open("新增委外领料单", prefix + "/addRequisition/" + outsourceOrderNo); |
||||
|
} |
||||
|
|
||||
|
var options = { |
||||
|
url: prefix + "/list", |
||||
|
createUrl: prefix + "/add", |
||||
|
updateUrl: prefix + "/edit/{id}", |
||||
|
removeUrl: prefix + "/remove", |
||||
|
exportUrl: prefix + "/export", |
||||
|
modalName: "委外订单", |
||||
|
detailView: true, |
||||
|
onExpandRow : function(index, row, $detail) { |
||||
|
initChildTable(index, row, $detail); |
||||
|
}, |
||||
|
columns: [{ |
||||
|
checkbox: true |
||||
|
}, |
||||
|
{ |
||||
|
field: 'outsourceOrderId', |
||||
|
title: '委外订单表id', |
||||
|
visible: false |
||||
|
}, |
||||
|
{ |
||||
|
field: 'auditStatus', |
||||
|
title: '审核状态', |
||||
|
formatter: function(value, row, index) { |
||||
|
return $.table.selectDictLabel(auditStatusDatas, value); |
||||
|
} |
||||
|
}, |
||||
|
{ |
||||
|
field: 'useStatus', |
||||
|
title: '使用状态', |
||||
|
formatter: function(value, row, index) { |
||||
|
return $.table.selectDictLabel(useStatusDatas, value); |
||||
|
} |
||||
|
}, |
||||
|
{ |
||||
|
field: 'receiveStatus', |
||||
|
title: '收货状态', |
||||
|
formatter: function(value, row, index) { |
||||
|
return $.table.selectDictLabel(receiveStatusDatas, value); |
||||
|
} |
||||
|
}, |
||||
|
{ |
||||
|
field: 'remitStatus', |
||||
|
title: '打款状态', |
||||
|
formatter: function(value, row, index) { |
||||
|
return $.table.selectDictLabel(remitStatusDatas, value); |
||||
|
} |
||||
|
}, |
||||
|
{ |
||||
|
field: 'closedStatus', |
||||
|
title: '结案状态', |
||||
|
formatter: function(value, row, index) { |
||||
|
return $.table.selectDictLabel(closedStatusDatas, value); |
||||
|
} |
||||
|
}, |
||||
|
{ |
||||
|
field: 'outsourceOrderNo', |
||||
|
title: '委外订单编号' |
||||
|
}, |
||||
|
{ |
||||
|
field: 'outsourceStaff', |
||||
|
title: '委外员' |
||||
|
}, |
||||
|
{ |
||||
|
field: 'materialAmount', |
||||
|
title: '物料合计' |
||||
|
}, |
||||
|
{ |
||||
|
field: 'outsourceMaterialAmount', |
||||
|
title: '委外物料数量合计' |
||||
|
}, |
||||
|
{ |
||||
|
field: 'outsourceProcessType', |
||||
|
title: '委外工序种类' |
||||
|
}, |
||||
|
{ |
||||
|
field: 'outsourceProcessAmount', |
||||
|
title: '委外工序合计' |
||||
|
}, |
||||
|
{ |
||||
|
field: 'actualMaterialAmount', |
||||
|
title: '物料合计' |
||||
|
}, |
||||
|
{ |
||||
|
field: 'actualProcessAmount', |
||||
|
title: '委外工序合计' |
||||
|
}, |
||||
|
{ |
||||
|
field: 'outsourceTotalPrice', |
||||
|
title: '含税委外总价' |
||||
|
}, |
||||
|
{ |
||||
|
field: 'outsourceNoPrice', |
||||
|
title: '不含税委外总价' |
||||
|
}, |
||||
|
{ |
||||
|
field: 'createTime', |
||||
|
title: '录入时间' |
||||
|
}, |
||||
|
{ |
||||
|
field: 'updateTime', |
||||
|
title: '上次更新时间' |
||||
|
}, |
||||
|
{ |
||||
|
title: '操作', |
||||
|
align: 'center', |
||||
|
formatter: function(value, row, index) { |
||||
|
var actions = []; |
||||
|
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.outsourceOrderId + '\')"><i class="fa fa-edit"></i>编辑</a> '); |
||||
|
actions.push('<a class="btn btn-success btn-xs" onclick="addRequisition(\''+row.outsourceOrderNo+'\')"><i class="fa fa-edit"></i>委外领料</a> '); |
||||
|
actions.push('<a class="btn btn-warning btn-xs" onclick="addStorage(\''+row.outsourceOrderNo+'\')"><i class="fa fa-edit"></i>入库通知</a> '); |
||||
|
actions.push('<a class="btn btn-info btn-xs ' + detailFlag + '" href="javascript:void(0)" onclick="$.operate.detail(\'' + row.outsourceOrderId + '\')"><i class="fa fa-detail"></i>详情</a>'); |
||||
|
return actions.join(''); |
||||
|
} |
||||
|
}] |
||||
|
}; |
||||
|
$.table.init(options); |
||||
|
}); |
||||
|
initChildTable = function(index, row, $detail) { |
||||
|
var childTable = $detail.html('<table style="table-layout:fixed"></table>').find('table'); |
||||
|
$(childTable).bootstrapTable({ |
||||
|
url: prefix + "/sublist?outsourceOrderId="+row.outsourceOrderId, |
||||
|
method: 'get', |
||||
|
sidePagination: "server", |
||||
|
contentType: "application/x-www-form-urlencoded", |
||||
|
queryParams : { |
||||
|
// userName: '测试8' |
||||
|
}, |
||||
|
columns: [ |
||||
|
{ |
||||
|
field : 'supplierCode', |
||||
|
title : '供应商ID', |
||||
|
align: 'center', |
||||
|
}, |
||||
|
{ |
||||
|
field : 'supplierName', |
||||
|
title : '供应商名称', |
||||
|
align: 'center', |
||||
|
}, |
||||
|
{ |
||||
|
field : 'materialAmount', |
||||
|
title : '数量合计' |
||||
|
}, |
||||
|
{ |
||||
|
field : 'outsourceProcessType', |
||||
|
title : '委外工序种类' |
||||
|
}, |
||||
|
{ |
||||
|
field : 'outsourceProcessAmount', |
||||
|
title : '委外工序合计' |
||||
|
}, |
||||
|
{ |
||||
|
field : 'materialNoRmb', |
||||
|
title : '不含税委外总价' |
||||
|
}, |
||||
|
{ |
||||
|
field : 'materialRmb', |
||||
|
title : '含税委外总价' |
||||
|
}, |
||||
|
{ |
||||
|
field: 'remitStatus', |
||||
|
title: '打款状态' |
||||
|
}, |
||||
|
{ |
||||
|
field: 'closedStatus', |
||||
|
title: '结案状态' |
||||
|
}, |
||||
|
] |
||||
|
}); |
||||
|
}; |
||||
|
|
||||
|
</script> |
||||
|
</body> |
||||
|
</html> |
Loading…
Reference in new issue