feat(sip): 新增根据业务编码列表查询订单信息功能
- 在IProjectOrderInfoService接口中新增listByCodeList方法 - 在ProjectOrderInfoController中添加uploadFinalFile属性 - 在ProjectOrderInfoMapper中新增listByCodeList方法 - 在ProjectOrderInfoMapper.xml中添加listByCodeList查询SQL - 在ProjectOrderInfoServiceImpl中实现listByCodeList方法 - 在Todo实体类中新增businessId和businessName字段 - 在TodoMapper.xml中优化查询条件并支持按业务名称搜索 - 在TodoServiceImpl中注入IProjectOrderInfoService并关联业务信息master
parent
98cb07b710
commit
654cc07f01
|
|
@ -0,0 +1,267 @@
|
||||||
|
<!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>
|
||||||
|
<style>
|
||||||
|
.select-list li p, .select-list li label:not(.radio-box){
|
||||||
|
width: 80px;
|
||||||
|
}
|
||||||
|
.bootstrap-table table {
|
||||||
|
table-layout: fixed;
|
||||||
|
}
|
||||||
|
.sortBox {
|
||||||
|
display: flex;
|
||||||
|
float: right;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 0;
|
||||||
|
height: 20px;
|
||||||
|
justify-content: center;
|
||||||
|
margin-right: 30px;
|
||||||
|
}
|
||||||
|
.sortBox div {
|
||||||
|
font-size: 10px;
|
||||||
|
transform: scale(1.2, 1);
|
||||||
|
cursor: pointer;
|
||||||
|
color: #bbb;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sortBox .timeAction {
|
||||||
|
color: #000;
|
||||||
|
}
|
||||||
|
|
||||||
|
.timeSearch {
|
||||||
|
display: flex;
|
||||||
|
gap: 20px;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
|
<body class="gray-bg">
|
||||||
|
<div class="container-div">
|
||||||
|
<!-- <div th:replace="layout/product-list::product()"></div>-->
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-12 search-collapse">
|
||||||
|
<form id="formId">
|
||||||
|
<div id="content"></div>
|
||||||
|
<div class="select-list">
|
||||||
|
<input type="text" name="approve" value="approve" hidden="hidden" />
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<label>业务号:</label>
|
||||||
|
<input type="text" name="businessKey" placeholder="业务号" />
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<label>合同名称:</label>
|
||||||
|
<input type="text" name="businessName" placeholder="合同名称" />
|
||||||
|
</li>
|
||||||
|
<li class="select-time">
|
||||||
|
<label>审批时间:</label>
|
||||||
|
<input type="text" class="time-input" id="startTime" placeholder="开始时间" name="params[beginCreateTime]"/>
|
||||||
|
<span>-</span>
|
||||||
|
<input type="text" class="time-input" id="endTime" placeholder="结束时间" name="params[endCreateTime]"/>
|
||||||
|
</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>
|
||||||
|
<input type="hidden" name="orderByColumn"/>
|
||||||
|
<input type="hidden" name="isAsc"/>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="col-sm-12 select-table table-striped">
|
||||||
|
<table id="bootstrap-table"></table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<th:block th:include="include :: footer" />
|
||||||
|
<th:block th:include="include :: bootstrap-table-fixed-columns-js" />
|
||||||
|
<th:block th:include="include :: jquery-cxselect-js" />
|
||||||
|
|
||||||
|
<script th:inline="javascript">
|
||||||
|
var editFlag = [[${@permission.hasPermi('project:order:edit')}]];
|
||||||
|
var removeFlag = [[${@permission.hasPermi('project:order:remove')}]];
|
||||||
|
var prefix = ctx + "flow";
|
||||||
|
function initSrot() {
|
||||||
|
let sort3 = $(`<div class="sortBox"><div class="sortBtn" onclick="changeSort(this, 0)" sort="asc">▲</div><div class="sortBtn" onclick="changeSort(this, 0)" sort="desc">▼</div></div>`)
|
||||||
|
$('thead .time3 .th-inner').append(sort3)
|
||||||
|
let sort4 = $(`<div class="sortBox"><div class="sortBtn" onclick="changeSort(this, 1)" sort="asc">▲</div><div onclick="changeSort(this, 1)" class="sortBtn" sort="desc">▼</div></div>`)
|
||||||
|
$('thead .time4 .th-inner').append(sort4)
|
||||||
|
let sort5 = $(`<div class="sortBox"><div class="sortBtn" onclick="changeSort(this, 2)" sort="asc">▲</div><div onclick="changeSort(this, 2)" class="sortBtn" sort="desc">▼</div></div>`)
|
||||||
|
$('thead .time5 .th-inner').append(sort5)
|
||||||
|
bindSort([ sort3, sort4, sort5])
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
function changeTimeType() {
|
||||||
|
let timeType = $("[name='timeType']").val()
|
||||||
|
if (timeType == 0) {
|
||||||
|
$('#laydate-startTime').attr('name', 'deliveryTimeStart')
|
||||||
|
$('#laydate-endTime').attr('name', 'deliveryTimeEnd')
|
||||||
|
}else if(timeType==1){
|
||||||
|
$('#laydate-startTime').attr('name', 'estimatedOrderTimeStart')
|
||||||
|
$('#laydate-endTime').attr('name', 'estimatedOrderTimeEnd')
|
||||||
|
}else if(timeType==2){
|
||||||
|
$('#laydate-startTime').attr('name', 'orderEndTimeStart')
|
||||||
|
$('#laydate-endTime').attr('name', 'orderEndTimeEnd')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function bindSort(list) {
|
||||||
|
list.forEach((ele, index) => {
|
||||||
|
$(ele).find('.sortBtn').on('click', function () {
|
||||||
|
changeSort(this, index)
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
function changeSort(ele, index) {
|
||||||
|
let arr = ['deliveryTime','t2.estimatedOrderTime','orderEndTime']
|
||||||
|
$('.sortBox').find('.timeAction').removeClass('timeAction')
|
||||||
|
$(ele).addClass('timeAction')
|
||||||
|
$('input[name="orderByColumn"]').val(arr[index])
|
||||||
|
$('input[name="isAsc"]').val($(ele).attr('sort'))
|
||||||
|
$.table.search()
|
||||||
|
}
|
||||||
|
function openApproveDetail(processKey,id){
|
||||||
|
if (processKey.startsWith ('order_approve')){
|
||||||
|
$.modal.openFull("订单详情", ctx + "project/order/view/"+id)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$(function() {
|
||||||
|
// $('#content').load(ctx + 'project/order/add');
|
||||||
|
var urlChina = '/cnarea/select';
|
||||||
|
$.cxSelect.defaults.url = urlChina;
|
||||||
|
// $.cxSelect.defaults.jsonSpace = 'data';
|
||||||
|
$('#element1').cxSelect({
|
||||||
|
selects: ['province', 'city'],
|
||||||
|
nodata: 'none'
|
||||||
|
|
||||||
|
});
|
||||||
|
var options = {
|
||||||
|
url: prefix + "/completed/list",
|
||||||
|
|
||||||
|
modalName: "订单管理",
|
||||||
|
fixedColumns:true,
|
||||||
|
fixedRightNumber:1,
|
||||||
|
columns: [{
|
||||||
|
checkbox: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'id',
|
||||||
|
title: '',
|
||||||
|
visible: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'processInstanceId',
|
||||||
|
title: '流程编号',
|
||||||
|
width:100,
|
||||||
|
visible: false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'businessKey',
|
||||||
|
title: '业务号',
|
||||||
|
width:300,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'businessName',
|
||||||
|
title: '合同名称',
|
||||||
|
width:300,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'processName',
|
||||||
|
title: '流程名称',
|
||||||
|
width:200
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'applyUserName',
|
||||||
|
title: '发起人',
|
||||||
|
width:100
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
field: 'approveTime',
|
||||||
|
title: '审批时间',
|
||||||
|
width:200
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'approveStatus',
|
||||||
|
title: '审批状态',
|
||||||
|
width:100,
|
||||||
|
formatter: function(value, row, index) {
|
||||||
|
if(value==3){
|
||||||
|
return '通过'
|
||||||
|
}else if(value==2){
|
||||||
|
return '驳回'
|
||||||
|
}else{
|
||||||
|
return '提交'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: 'approveOpinion',
|
||||||
|
title: '审批意见',
|
||||||
|
width:100
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
title: '操作',
|
||||||
|
align: 'center',
|
||||||
|
width:200,
|
||||||
|
formatter: function(value, row, index) {
|
||||||
|
var actions = [];
|
||||||
|
actions.push('<a class="btn btn-success btn-xs " href="javascript:void(0)" onclick="openApproveDetail(\''+row.processKey+'\','+row.businessId+')"><i class="fa fa-edit"></i>查看详情</a> ');
|
||||||
|
return actions.join('');
|
||||||
|
}
|
||||||
|
}]
|
||||||
|
};
|
||||||
|
$.table.init(options);
|
||||||
|
initSrot()
|
||||||
|
layui.use('laydate', function () {
|
||||||
|
var laydate = layui.laydate;
|
||||||
|
var startDate = laydate.render({
|
||||||
|
elem: '#laydate-startTime',
|
||||||
|
max: $('#laydate-endTime').val(),
|
||||||
|
theme: 'molv',
|
||||||
|
trigger: 'click',
|
||||||
|
done: function (value, date) {
|
||||||
|
// 结束时间大于开始时间
|
||||||
|
if (value !== '') {
|
||||||
|
endDate.config.min.year = date.year;
|
||||||
|
endDate.config.min.month = date.month - 1;
|
||||||
|
endDate.config.min.date = date.date;
|
||||||
|
} else {
|
||||||
|
endDate.config.min.year = '';
|
||||||
|
endDate.config.min.month = '';
|
||||||
|
endDate.config.min.date = '';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
var endDate = laydate.render({
|
||||||
|
elem: '#laydate-endTime',
|
||||||
|
min: $('#laydate-startTime').val(),
|
||||||
|
theme: 'molv',
|
||||||
|
trigger: 'click',
|
||||||
|
done: function (value, date) {
|
||||||
|
// 开始时间小于结束时间
|
||||||
|
if (value !== '') {
|
||||||
|
startDate.config.max.year = date.year;
|
||||||
|
startDate.config.max.month = date.month - 1;
|
||||||
|
startDate.config.max.date = date.date;
|
||||||
|
} else {
|
||||||
|
startDate.config.max.year = '';
|
||||||
|
startDate.config.max.month = '';
|
||||||
|
startDate.config.max.date = '';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
})
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
Loading…
Reference in New Issue