Browse Source
委外加工 委外报价 修改委外报价VO实体类 修改委外报价实体类 添加审批流程必需字段 修改前端页面 添加审批相关内容 修改添加委外报价页面 取消添加委外工序按钮身份认证标识 修改mapper文件返回实体类字段,更新、插入记录的方法 修改委外报价列表查询方法 新增启动审批流程、发起人节点判断方法 修改后端接口 新增加载审批弹窗、审批任务完成的处理流程方法 [feat] 委外加工 委外报价 新增委外报价委外经理、委外主管审核页面dev
王晓迪
4 months ago
12 changed files with 971 additions and 214 deletions
@ -1,115 +1,36 @@ |
|||
package com.ruoyi.system.domain.Vo; |
|||
|
|||
import com.ruoyi.common.core.domain.BaseEntity; |
|||
import com.ruoyi.system.domain.OutsourceQuote; |
|||
import com.ruoyi.system.domain.OutsourceQuoteChild; |
|||
import lombok.Data; |
|||
|
|||
import java.math.BigDecimal; |
|||
import java.util.Date; |
|||
import java.util.List; |
|||
|
|||
public class OutsourceQuoteVO extends BaseEntity { |
|||
|
|||
/** 委外报价单号 */ |
|||
private String outsourceQuoteCode; |
|||
|
|||
/** 供应商编号 */ |
|||
private String supplierQuoteCode; |
|||
|
|||
/** 供应商名称 */ |
|||
private String supplierName; |
|||
|
|||
/** 工序合计 */ |
|||
private String processAmount; |
|||
|
|||
/** 税率 */ |
|||
private BigDecimal taxRate; |
|||
|
|||
/** 定价日期 */ |
|||
private Date pricingDate; |
|||
|
|||
/** 审核状态 */ |
|||
private String auditStatus; |
|||
|
|||
|
|||
/** 委外报价工序信息 */ |
|||
private List<OutsourceQuoteChild> outsourceQuoteChildList; |
|||
|
|||
|
|||
public String getOutsourceQuoteCode() { |
|||
return outsourceQuoteCode; |
|||
} |
|||
|
|||
public void setOutsourceQuoteCode(String outsourceQuoteCode) { |
|||
this.outsourceQuoteCode = outsourceQuoteCode; |
|||
} |
|||
|
|||
public String getSupplierQuoteCode() { |
|||
return supplierQuoteCode; |
|||
} |
|||
|
|||
public void setSupplierQuoteCode(String supplierQuoteCode) { |
|||
this.supplierQuoteCode = supplierQuoteCode; |
|||
} |
|||
|
|||
public String getSupplierName() { |
|||
return supplierName; |
|||
} |
|||
|
|||
public void setSupplierName(String supplierName) { |
|||
this.supplierName = supplierName; |
|||
} |
|||
|
|||
public String getProcessAmount() { |
|||
return processAmount; |
|||
} |
|||
|
|||
public void setProcessAmount(String processAmount) { |
|||
this.processAmount = processAmount; |
|||
} |
|||
|
|||
public BigDecimal getTaxRate() { |
|||
return taxRate; |
|||
} |
|||
|
|||
public void setTaxRate(BigDecimal taxRate) { |
|||
this.taxRate = taxRate; |
|||
} |
|||
|
|||
public Date getPricingDate() { |
|||
return pricingDate; |
|||
} |
|||
|
|||
public void setPricingDate(Date pricingDate) { |
|||
this.pricingDate = pricingDate; |
|||
} |
|||
|
|||
public String getAuditStatus() { |
|||
return auditStatus; |
|||
} |
|||
|
|||
public void setAuditStatus(String auditStatus) { |
|||
this.auditStatus = auditStatus; |
|||
} |
|||
|
|||
public List<OutsourceQuoteChild> getOutsourceQuoteChildList() { |
|||
return outsourceQuoteChildList; |
|||
} |
|||
|
|||
public void setOutsourceQuoteChildList(List<OutsourceQuoteChild> outsourceQuoteChildList) { |
|||
this.outsourceQuoteChildList = outsourceQuoteChildList; |
|||
} |
|||
|
|||
@Override |
|||
public String toString() { |
|||
return "OutsourceQuoteChildVO{" + |
|||
"outsourceQuoteCode='" + outsourceQuoteCode + '\'' + |
|||
", supplierQuoteCode='" + supplierQuoteCode + '\'' + |
|||
", supplierName='" + supplierName + '\'' + |
|||
", processAmount='" + processAmount + '\'' + |
|||
", taxRate=" + taxRate + |
|||
", pricingDate='" + pricingDate + '\'' + |
|||
", auditStatus='" + auditStatus + '\'' + |
|||
", outsourceQuoteChildList=" + outsourceQuoteChildList + |
|||
'}'; |
|||
} |
|||
@Data |
|||
public class OutsourceQuoteVO extends OutsourceQuote { |
|||
|
|||
/** 申请人姓名 */ |
|||
private String applyUserName; |
|||
/** 任务ID */ |
|||
private String taskId; |
|||
/** 任务名称 */ |
|||
private String taskName; |
|||
/** 办理时间 */ |
|||
private Date doneTime; |
|||
/** 创建人 */ |
|||
private String createUserName; |
|||
/** 流程实例状态 1 激活 2 挂起 */ |
|||
private String suspendState; |
|||
/** 待办用户id */ |
|||
private String todoUserId; |
|||
/** 流程实例类型名称 */ |
|||
private String instanceTypeName; |
|||
|
|||
/** |
|||
* 关键词 |
|||
*/ |
|||
private String keyword; |
|||
} |
|||
|
@ -0,0 +1,32 @@ |
|||
package com.ruoyi.system.domain.Vo; |
|||
|
|||
import com.ruoyi.system.domain.OutsourceRequisition; |
|||
import lombok.Data; |
|||
|
|||
import java.util.Date; |
|||
|
|||
@Data |
|||
public class OutsourceRequisitionVO extends OutsourceRequisition { |
|||
|
|||
/** 申请人姓名 */ |
|||
private String applyUserName; |
|||
/** 任务ID */ |
|||
private String taskId; |
|||
/** 任务名称 */ |
|||
private String taskName; |
|||
/** 办理时间 */ |
|||
private Date doneTime; |
|||
/** 创建人 */ |
|||
private String createUserName; |
|||
/** 流程实例状态 1 激活 2 挂起 */ |
|||
private String suspendState; |
|||
/** 待办用户id */ |
|||
private String todoUserId; |
|||
/** 流程实例类型名称 */ |
|||
private String instanceTypeName; |
|||
|
|||
/** |
|||
* 关键词 |
|||
*/ |
|||
private String keyword; |
|||
} |
@ -0,0 +1,160 @@ |
|||
<!DOCTYPE html> |
|||
<html lang="zh" xmlns:th="http://www.thymeleaf.org" > |
|||
<head> |
|||
<th:block th:include="include :: header('委外经理审核委外报价单')" /> |
|||
<th:block th:include="include :: datetimepicker-css" /> |
|||
<th:block th:include="include :: summernote-css" /> |
|||
</head> |
|||
<body class="white-bg"> |
|||
<div class="wrapper wrapper-content animated fadeInRight ibox-content"> |
|||
<form class="form-horizontal m" id="form-outsourceQuote-wwjl" th:object="${formData}"> |
|||
<input name="outsourceQuoteId" th:field="*{outsourceQuoteId}" type="hidden"> |
|||
<input name="taskId" th:field="*{taskId}" type="hidden"> |
|||
<input name="taskName" th:field="*{taskName}" type="hidden"> |
|||
<input name="instanceId" th:field="*{instanceId}" type="hidden"> |
|||
<input name="instanceType" th:field="*{instanceType}" type="hidden"> |
|||
<input type="hidden" name="p_COM_comment" /> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">委外报价单号:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="outsourceQuoteCode" th:field="*{outsourceQuoteCode}" class="form-control" type="text" readonly> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">供应商编号:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="supplierQuoteCode" th:field="*{supplierQuoteCode}" class="form-control" type="text" readonly> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">供应商名称:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="supplierName" th:field="*{supplierName}" class="form-control" type="text" readonly> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">工序合计:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="processAmount" th:field="*{processAmount}" class="form-control" type="text" readonly> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">税率:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="taxRate" th:field="*{taxRate}" class="form-control" type="text" readonly> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">定价日期:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="pricingDate" th:field="*{pricingDate}" class="form-control" type="text" readonly> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">备注:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="remark" th:field="*{remark}" class="form-control" type="text" readonly> |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label is-required" for="wwjlVerifyApproved">审批意见:</label> |
|||
<div class="col-sm-6"> |
|||
<select name="p_B_wwjlVerifyApproved" id="wwjlVerifyApproved" class="form-control" required> |
|||
<option value=""></option> |
|||
<option value="true">同意</option> |
|||
<option value="false">拒绝</option> |
|||
</select> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-6 control-label">批注:</label> |
|||
<div class="col-sm-6"> |
|||
<textarea name="comment" class="form-control"></textarea> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
|
|||
</div> |
|||
</form> |
|||
<div class="col-sm-12"> |
|||
<h4>委外工序信息</h4> |
|||
<div class="col-sm-12 select-table table-striped"> |
|||
<table id="bootstrap-table-process"></table> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<th:block th:include="include :: footer" /> |
|||
<th:block th:include="include :: datetimepicker-js" /> |
|||
<th:block th:include="include :: summernote-js" /> |
|||
<script th:src="@{/js/activiti.js}"></script> |
|||
<script th:inline="javascript"> |
|||
var prefix = ctx + "system/outsource_quote"; |
|||
$("#form-outsourceQuote-wwjl").validate({ |
|||
focusCleanup: true |
|||
}); |
|||
var childData = [[${formData.outsourceQuoteChildList}]]; |
|||
function submitHandler() { |
|||
|
|||
if ($.validate.form()) { |
|||
if ($('textarea[name="comment"]').val()) { |
|||
$('input[name="p_COM_comment"]').val($('textarea[name="comment"]').val()); |
|||
} |
|||
var taskId = [[${taskId}]]; |
|||
$.operate.save(prefix + "/complete/" + taskId, $('#form-outsourceQuote-wwjl').serialize()); |
|||
} |
|||
} |
|||
|
|||
$(function() { |
|||
console.log(childData); |
|||
var options = { |
|||
id: "bootstrap-table-process", |
|||
pagination: false, |
|||
showSearch: false, |
|||
showRefresh: false, |
|||
showToggle: false, |
|||
showColumns: false, |
|||
sidePagination: "client", |
|||
data: [[${formData.outsourceQuoteChildList}]], |
|||
columns: [ |
|||
{ |
|||
field: 'outsourceProcessId', |
|||
align: 'center', |
|||
title: '委外工序主键', |
|||
visible: false, |
|||
}, |
|||
{ |
|||
field: 'outsourceProcessNo', |
|||
align: 'center', |
|||
title: '委外工序编号', |
|||
}, |
|||
{ |
|||
field: 'outsourceProcessName', |
|||
align: 'center', |
|||
title: '委外工序名称', |
|||
}, |
|||
{ |
|||
field: 'chargeUnit', |
|||
align: 'center', |
|||
title: '计价单位', |
|||
}, |
|||
{ |
|||
field: 'materialNormb', |
|||
align: 'center', |
|||
title: '工序的不含税单价(RMB) ', |
|||
}, |
|||
{ |
|||
field: 'materialRmb', |
|||
align: 'center', |
|||
title: '工序的含税单价(RMB)', |
|||
|
|||
} |
|||
] |
|||
}; |
|||
$.table.init(options); |
|||
var quoteDetail = options.data; |
|||
|
|||
}); |
|||
</script> |
|||
</body> |
|||
</html> |
@ -0,0 +1,160 @@ |
|||
<!DOCTYPE html> |
|||
<html lang="zh" xmlns:th="http://www.thymeleaf.org" > |
|||
<head> |
|||
<th:block th:include="include :: header('业务主管审核委外报价单')" /> |
|||
<th:block th:include="include :: datetimepicker-css" /> |
|||
<th:block th:include="include :: summernote-css" /> |
|||
</head> |
|||
<body class="white-bg"> |
|||
<div class="wrapper wrapper-content animated fadeInRight ibox-content"> |
|||
<form class="form-horizontal m" id="form-outsourceQuote-wwzg" th:object="${formData}"> |
|||
<input name="outsourceQuoteId" th:field="*{outsourceQuoteId}" type="hidden"> |
|||
<input name="taskId" th:field="*{taskId}" type="hidden"> |
|||
<input name="taskName" th:field="*{taskName}" type="hidden"> |
|||
<input name="instanceId" th:field="*{instanceId}" type="hidden"> |
|||
<input name="instanceType" th:field="*{instanceType}" type="hidden"> |
|||
<input type="hidden" name="p_COM_comment" /> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">委外报价单号:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="outsourceQuoteCode" th:field="*{outsourceQuoteCode}" class="form-control" type="text" readonly> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">供应商编号:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="supplierQuoteCode" th:field="*{supplierQuoteCode}" class="form-control" type="text" readonly> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">供应商名称:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="supplierName" th:field="*{supplierName}" class="form-control" type="text" readonly> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">工序合计:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="processAmount" th:field="*{processAmount}" class="form-control" type="text" readonly> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">税率:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="taxRate" th:field="*{taxRate}" class="form-control" type="text" readonly> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">定价日期:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="pricingDate" th:field="*{pricingDate}" class="form-control" type="text" readonly> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label">备注:</label> |
|||
<div class="col-sm-8"> |
|||
<input name="remark" th:field="*{remark}" class="form-control" type="text" readonly> |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="form-group"> |
|||
<label class="col-sm-3 control-label is-required" for="wwzgVerifyApproved">审批意见:</label> |
|||
<div class="col-sm-6"> |
|||
<select name="p_B_wwzgVerifyApproved" id="wwzgVerifyApproved" class="form-control" required> |
|||
<option value=""></option> |
|||
<option value="true">同意</option> |
|||
<option value="false">拒绝</option> |
|||
</select> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-sm-6 control-label">批注:</label> |
|||
<div class="col-sm-6"> |
|||
<textarea name="comment" class="form-control"></textarea> |
|||
</div> |
|||
</div> |
|||
<div class="form-group"> |
|||
|
|||
</div> |
|||
</form> |
|||
<div class="col-sm-12"> |
|||
<h4>委外工序信息</h4> |
|||
<div class="col-sm-12 select-table table-striped"> |
|||
<table id="bootstrap-table-process"></table> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<th:block th:include="include :: footer" /> |
|||
<th:block th:include="include :: datetimepicker-js" /> |
|||
<th:block th:include="include :: summernote-js" /> |
|||
<script th:src="@{/js/activiti.js}"></script> |
|||
<script th:inline="javascript"> |
|||
var prefix = ctx + "system/outsource_quote"; |
|||
$("#form-outsourceQuote-wwzg").validate({ |
|||
focusCleanup: true |
|||
}); |
|||
var childData = [[${formData.outsourceQuoteChildList}]]; |
|||
function submitHandler() { |
|||
|
|||
if ($.validate.form()) { |
|||
if ($('textarea[name="comment"]').val()) { |
|||
$('input[name="p_COM_comment"]').val($('textarea[name="comment"]').val()); |
|||
} |
|||
var taskId = [[${taskId}]]; |
|||
$.operate.save(prefix + "/complete/" + taskId, $('#form-outsourceQuote-wwzg').serialize()); |
|||
} |
|||
} |
|||
|
|||
$(function() { |
|||
console.log(childData); |
|||
var options = { |
|||
id: "bootstrap-table-process", |
|||
pagination: false, |
|||
showSearch: false, |
|||
showRefresh: false, |
|||
showToggle: false, |
|||
showColumns: false, |
|||
sidePagination: "client", |
|||
data: [[${formData.outsourceQuoteChildList}]], |
|||
columns: [ |
|||
{ |
|||
field: 'outsourceProcessId', |
|||
align: 'center', |
|||
title: '委外工序主键', |
|||
visible: false, |
|||
}, |
|||
{ |
|||
field: 'outsourceProcessNo', |
|||
align: 'center', |
|||
title: '委外工序编号', |
|||
}, |
|||
{ |
|||
field: 'outsourceProcessName', |
|||
align: 'center', |
|||
title: '委外工序名称', |
|||
}, |
|||
{ |
|||
field: 'chargeUnit', |
|||
align: 'center', |
|||
title: '计价单位', |
|||
}, |
|||
{ |
|||
field: 'materialNormb', |
|||
align: 'center', |
|||
title: '工序的不含税单价(RMB) ', |
|||
}, |
|||
{ |
|||
field: 'materialRmb', |
|||
align: 'center', |
|||
title: '工序的含税单价(RMB)', |
|||
|
|||
} |
|||
] |
|||
}; |
|||
$.table.init(options); |
|||
var quoteDetail = options.data; |
|||
}); |
|||
|
|||
</script> |
|||
</body> |
|||
</html> |
Loading…
Reference in new issue