用ssm写合同审核页面,审核不通过弹出对话框,填写不通过原因
时间: 2024-05-11 15:18:09 浏览: 61
首先,在合同审核页面中,需要添加一个审核不通过按钮或者链接,该按钮或链接可以触发审核不通过的操作。可以使用JS或jQuery的Ajax方法向后台发送请求,请求后台审核不通过的接口。
后台可以使用SpringMVC框架,定义一个审核不通过的Controller方法,该方法接收前端传来的审核不通过原因,并将审核结果存储在数据库中。同时,后台需要返回一个响应,告知前端审核不通过的结果。
在前端,可以在Ajax请求成功的回调函数中,判断审核不通过的结果,如果审核不通过,则弹出对话框,让用户填写不通过的原因。可以使用Bootstrap的Modal组件实现弹出对话框的效果。用户填写完原因后,可以再次触发审核不通过的操作,将不通过原因提交给后台进行存储。
下面是一个简单的代码示例:
合同审核页面:
```html
<button id="rejectBtn" class="btn btn-danger">审核不通过</button>
<script>
$('#rejectBtn').click(function() {
$.ajax({
url: '/rejectContract',
type: 'POST',
data: {contractId: 'xxx'},
success: function(data) {
if (data.result == 'success') {
// 审核通过
} else {
// 审核不通过,弹出对话框让用户填写原因
$('#rejectModal').modal('show');
}
}
});
});
</script>
<!-- 不通过原因的弹出对话框 -->
<div id="rejectModal" class="modal fade" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">审核不通过</h4>
<button type="button" class="close" data-dismiss="modal">×</button>
</div>
<div class="modal-body">
<label>不通过原因:</label>
<textarea id="rejectReason" class="form-control"></textarea>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
<button id="submitRejectReason" type="button" class="btn btn-primary">提交</button>
</div>
</div>
</div>
</div>
```
SpringMVC Controller:
```java
@Controller
public class ContractController {
@Autowired
private ContractService contractService;
@RequestMapping("/rejectContract")
@ResponseBody
public Map<String, Object> rejectContract(@RequestParam("contractId") String contractId) {
Contract contract = contractService.findContractById(contractId);
contract.setStatus(ContractStatus.REJECTED);
contractService.saveOrUpdateContract(contract);
Map<String, Object> resultMap = new HashMap<>();
resultMap.put("result", "success");
return resultMap;
}
@RequestMapping("/saveRejectReason")
@ResponseBody
public Map<String, Object> saveRejectReason(@RequestParam("contractId") String contractId,
@RequestParam("rejectReason") String rejectReason) {
Contract contract = contractService.findContractById(contractId);
contract.setRejectReason(rejectReason);
contractService.saveOrUpdateContract(contract);
Map<String, Object> resultMap = new HashMap<>();
resultMap.put("result", "success");
return resultMap;
}
}
```
在上面的代码示例中,我假设了一个Contract类,它有一个status属性表示合同的审核状态,一个rejectReason属性表示审核不通过的原因。在审核不通过的Controller方法中,我将合同的status属性设置为REJECTED,然后将合同存储到数据库中。在保存不通过原因的Controller方法中,我将合同的rejectReason属性设置为前端传来的rejectReason参数,然后将合同存储到数据库中。
阅读全文
相关推荐
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)