feat(sip): 优化订单

订单新增代理商
dev_1.0.0
chenhao 2025-09-10 10:54:24 +08:00
parent 6a3b274856
commit c688decad4
7 changed files with 50 additions and 17 deletions

View File

@ -28,7 +28,7 @@
<script th:src="@{/ajax/libs/bootstrap-table/extensions/mobile/bootstrap-table-mobile.js?v=1.22.6}"></script>
<!-- jquery-validate 表单验证插件 -->
<script th:src="@{/ajax/libs/validate/jquery.validate.min.js?v=1.21.0}"></script>
<script th:src="@{/ajax/libs/validate/jquery.validate.extend.js?v=1.21.0}"></script>
<script th:src="@{/ajax/libs/validate/jquery.validate.extend.js?v=1.22.0}"></script>
<script th:src="@{/ajax/libs/validate/messages_zh.js?v=1.21.0}"></script>
<!-- bootstrap-table 表格树插件 -->
<script th:src="@{/ajax/libs/bootstrap-table/extensions/tree/bootstrap-table-tree.min.js?v=1.22.6}"></script>

View File

@ -129,6 +129,16 @@
.padding-top-20{
padding-top: 20px;
}
label.error {
position: relative;
color: #ef392b;
right: 0px;
font-size: 12px;
z-index: 99;
}
.select2-hidden-accessible + label.error, select.error + label.error{
right: 0px;
}
</style>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
@ -621,7 +631,7 @@
jsonValue: 'v',
data: data??[
{
n: '直签合同',
n: '销售合同',
v: '0',
s:[{
n: '电子订单',
@ -636,10 +646,7 @@
{
n: '定制开发合同',
v: '2',
s:[{
n: '电子订单',
v: '0'
},
s:[
{
n: '纸质合同',
v: '1'

View File

@ -39,6 +39,9 @@
class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i
class="fa fa-refresh"></i>&nbsp;重置</a>
<a class="btn btn-success btn-rounded btn-sm" onclick="addPartner()">
<i class="fa fa-plus"></i> 添加
</a>
</li>
</ul>
</div>
@ -55,9 +58,13 @@
<script>
var prefix = ctx + "system/partner";
function addPartner() {
$.modal.open("添加代理商", prefix + "/add?level=04");
}
$(function () {
var options = {
url: prefix + "/list",
createUrl: prefix + "/add",
showSearch: true,
showColumns: false,
showToggle: false,

View File

@ -5,8 +5,7 @@
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<div class="col-xs-12"><label class="col-sm-12 control-label" style=" text-align: c
\enter;
<div id="showTitle" class="col-xs-12"><label class="col-sm-12 control-label" style=" text-align: center;
font-size: 20px;
color: #f8ac59;">创建代理商之前请先创建代理商用户</label></div>
<form class="form-horizontal m" id="form-partner-add">
@ -60,18 +59,18 @@
</div>
<div class="col-xs-6">
<div class="form-group">
<label class="col-sm-4 control-label is-required">邮件:</label>
<label id="contactEmailLabel" class="col-sm-4 control-label is-required contact-email">邮件:</label>
<div class="col-sm-8">
<input name="contactEmail" class="form-control" required type="text">
<input id="contactEmail" name="contactEmail" class="form-control contact-email" required type="text">
</div>
</div>
</div>
<div class="col-xs-6">
<div class="form-group">
<label class="col-sm-4 control-label is-required">系统用户:</label>
<label class="col-sm-4 control-label is-required system-user">系统用户:</label>
<div class="col-sm-8">
<input name="systemUserName" onclick="selectPeople()" class="form-control" required type="text">
<input name="systemUserId" class="form-control" required type="hidden">
<input name="systemUserName" onclick="selectPeople()" class="form-control system-user" required type="text">
<input name="systemUserId" class="form-control system-user" required type="hidden">
</div>
</div>
</div>
@ -105,6 +104,7 @@
<th:block th:include="include :: jquery-cxselect-js" />
<script th:inline="javascript">
var prefix = ctx + "system/partner"
const initLevel=[[${level}]]
$("#form-partner-add").validate({
focusCleanup: true
});
@ -118,8 +118,22 @@
});
$(function (){
if(initLevel){
$("#showTitle").css("display","none");
$("select[name='level']").val(initLevel);
$("select[name='level']").attr("disabled",true);
$(".contact-email").removeClass("is-required")
$(".contact-email").attr("required",false)
$(".system-user").attr("required",false)
$(".system-user").removeClass("is-required")
}
})
function submitHandler() {
if ($.validate.form()) {
$("select[name='level']").attr("disabled",false);
$.operate.save(prefix + "/add", $('#form-partner-add').serialize());
}
}

View File

@ -86,17 +86,18 @@ public class PartnerInfoController extends BaseController
/**
*
*/
@RequiresPermissions("system:partner:add")
// @RequiresPermissions("system:partner:add")
@GetMapping("/add")
public String add()
public String add(String level,ModelMap modelMap)
{
modelMap.put("level",level);
return prefix + "/add";
}
/**
*
*/
@RequiresPermissions("system:partner:add")
// @RequiresPermissions("system:partner:add")
@Log(title = "供应商管理", businessType = BusinessType.INSERT)
@PostMapping("/add")
@ResponseBody

View File

@ -2,6 +2,8 @@ package com.ruoyi.sip.service.impl;
import java.util.Collections;
import java.util.List;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
import cn.hutool.core.collection.CollUtil;
import com.ruoyi.common.exception.ServiceException;

View File

@ -387,7 +387,8 @@ public class ProjectOrderInfoServiceImpl implements IProjectOrderInfoService, To
}
if (ProjectOrderInfo.OrderStatus.WAIT_APPROVE.getCode().equals(projectOrderInfo.getOrderStatus())) {
List<PartnerInfo> partnerInfos = partnerInfoService.selectPartnerInfoByCode(Collections.singletonList(projectOrderInfo.getPartnerCode()));
if (CollUtil.isEmpty(partnerInfos) || StringUtils.isEmpty(partnerInfos.get(0).getSystemUserId())) {
//线下合同不走省代审批
if (ProjectOrderInfo.ProcessTypeEnum.ONLINE.getCode().equals(projectOrderInfo.getProcessType()) && (CollUtil.isEmpty(partnerInfos) || StringUtils.isEmpty(partnerInfos.get(0).getSystemUserId()))) {
throw new ServiceException(StrUtil.format("代理商配置[{}]未指定系统用户,无法提交审批", existProjectOrderInfo.getPartnerName()));
}
List<ProcessInstance> processInstanceList = todoService.listProcessInstance(existProjectOrderInfo.getOrderCode());
@ -405,6 +406,7 @@ public class ProjectOrderInfoServiceImpl implements IProjectOrderInfoService, To
//启动流程
todoService.startProcess(getFlowBusinessKey(existProjectOrderInfo.getOrderCode(), projectOrderInfo.getProcessType()), new HashMap<String, Object>() {{
put("processTemplate", projectOrderInfo.getProcessTemplate());
put("processType", projectOrderInfo.getProcessType());
put("applyUserName", ShiroUtils.getSysUser().getUserName());
put("applyUser", ShiroUtils.getUserId());
put("partnerUser",partnerInfos.get(0).getSystemUserId());