feat(order): 新增订单管理功能
- 添加订单添加、编辑页面 - 实现订单列表查询、列表展示和操作 - 新增导出功能 - 优化产品订单状态和发货状态字段 - 调整订单详情展示内容master
parent
b0c278357c
commit
f1c9b9fd0a
|
@ -3,31 +3,8 @@
|
|||
<head>
|
||||
<title>配置信息表格组件</title>
|
||||
</head>
|
||||
<style>
|
||||
.add-btn-div {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.add-btn {
|
||||
background: #409eff;
|
||||
color: #fff;
|
||||
border: none;
|
||||
padding: 5px 10px;
|
||||
cursor: pointer;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
.section-title {
|
||||
font-weight: bold;
|
||||
font-size: 30px;
|
||||
padding: 10px 0;
|
||||
color: #0075ff;
|
||||
}
|
||||
|
||||
</style>
|
||||
<body>
|
||||
|
||||
<div id="config-info-component" th:fragment="configInfoTable()">
|
||||
<div class="layui-tab">
|
||||
<div class="section-title">配置信息</div>
|
||||
|
@ -35,78 +12,83 @@
|
|||
<h3>软件产品</h3>
|
||||
<button type="button" class="add-btn" onclick="addProduct({})">添加</button>
|
||||
</div>
|
||||
<table id="productTable" class="productTable">
|
||||
<div class="table-responsive">
|
||||
<table id="productTable" class="productTable table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width: 50px">序号</th>
|
||||
<th style="width: 100px;">产品编码</th>
|
||||
<th style="width: 150px;">产品型号</th>
|
||||
<th style="min-width: 400px;">描述</th>
|
||||
<th style="width: 90px;">数量</th>
|
||||
<th style="min-width: 90px">目录单价(¥)</th>
|
||||
<th style="min-width: 90px">指导折扣</th>
|
||||
<th style="width: 94px;">折扣</th>
|
||||
<th style="width: 100px;">单价(¥)</th>
|
||||
<th style="min-width: 120px">总价(¥)</th>
|
||||
<th style="min-width: 120px">目录总价(¥)</th>
|
||||
<th style="min-width: 120px">备注</th>
|
||||
<th style="min-width: 60px">操作</th>
|
||||
<th style="width: 50px;max-width: 50px;">序号</th>
|
||||
<th style="width: 100px;max-width: 100px;">产品编码</th>
|
||||
<th style="width: 150px;max-width: 150px;">产品型号</th>
|
||||
<th style="width: 400px;max-width: 400px;">描述</th>
|
||||
<th style="width: 100px;max-width: 100px;">数量</th>
|
||||
<th style="width: 120px;max-width: 120px;">目录单价(¥)</th>
|
||||
<th style="width: 90px;max-width: 90px;">指导折扣</th>
|
||||
<th style="width: 94px;max-width: 94px;">折扣</th>
|
||||
<th style="width: 100px;max-width: 100px;">单价(¥)</th>
|
||||
<th style="width: 120px;max-width: 120px;">总价(¥)</th>
|
||||
<th style="width: 120px;max-width: 120px;">目录总价(¥)</th>
|
||||
<th style="width: 120px;max-width: 120px;">备注</th>
|
||||
<th style="width: 60px;max-width: 60px;">操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="add-btn-div">
|
||||
<h3>终端产品</h3>
|
||||
<button type="button" class="add-btn" onclick="addProduct2({})">添加</button>
|
||||
</div>
|
||||
|
||||
<table id="productTable2" class="productTable">
|
||||
<div class="table-responsive">
|
||||
<table id="productTable2" class="productTable table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width: 50px">序号</th>
|
||||
<th style="width: 100px;">产品编码</th>
|
||||
<th style="width: 150px;">产品型号</th>
|
||||
<th style="min-width: 400px;">描述</th>
|
||||
<th style="width: 90px;">数量</th>
|
||||
<th style="min-width: 90px">目录单价(¥)</th>
|
||||
<th style="min-width: 90px">指导折扣</th>
|
||||
<th style="width: 94px;">折扣</th>
|
||||
<th style="width: 100px;">单价(¥)</th>
|
||||
<th style="min-width: 120px">总价(¥)</th>
|
||||
<th style="min-width: 120px">目录总价(¥)</th>
|
||||
<th style="min-width: 120px">备注</th>
|
||||
<th style="min-width: 60px">操作</th>
|
||||
<th style="width: 50px;max-width: 50px;">序号</th>
|
||||
<th style="width: 100px;max-width: 100px;">产品编码</th>
|
||||
<th style="width: 150px;max-width: 150px;">产品型号</th>
|
||||
<th style="width: 400px;max-width: 400px;">描述</th>
|
||||
<th style="width: 100px;max-width: 100px;">数量</th>
|
||||
<th style="width: 120px;max-width: 120px;">目录单价(¥)</th>
|
||||
<th style="width: 90px;max-width: 90px;">指导折扣</th>
|
||||
<th style="width: 94px;max-width: 94px;">折扣</th>
|
||||
<th style="width: 100px;max-width: 100px;">单价(¥)</th>
|
||||
<th style="width: 120px;max-width: 120px;">总价(¥)</th>
|
||||
<th style="width: 120px;max-width: 120px;">目录总价(¥)</th>
|
||||
<th style="width: 120px;max-width: 120px;">备注</th>
|
||||
<th style="width: 60px;max-width: 60px;">操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="add-btn-div">
|
||||
<h3>服务产品</h3>
|
||||
<button type="button" class="add-btn" onclick="addProduct3({})">添加</button>
|
||||
</div>
|
||||
<table id="productTable3" class="productTable">
|
||||
<div class="table-responsive">
|
||||
<table id="productTable3" class="productTable table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width: 50px">序号</th>
|
||||
<th style="width: 100px;">产品编码</th>
|
||||
<th style="width: 150px;">产品型号</th>
|
||||
<th style="min-width: 400px;">描述</th>
|
||||
<th style="width: 90px;">数量</th>
|
||||
<th style="min-width: 90px">目录单价(¥)</th>
|
||||
<th style="min-width: 90px">指导折扣</th>
|
||||
<th style="width: 94px;">折扣</th>
|
||||
<th style="width: 100px;">单价(¥)</th>
|
||||
<th style="min-width: 120px">总价(¥)</th>
|
||||
<th style="min-width: 120px">目录总价(¥)</th>
|
||||
<th style="min-width: 120px">备注</th>
|
||||
<th style="min-width: 60px">操作</th>
|
||||
<th style="width: 50px;max-width: 50px;">序号</th>
|
||||
<th style="width: 100px;max-width: 100px;">产品编码</th>
|
||||
<th style="width: 150px;max-width: 150px;">产品型号</th>
|
||||
<th style="width: 400px;max-width: 400px;">描述</th>
|
||||
<th style="width: 100px;max-width: 100px;">数量</th>
|
||||
<th style="width: 120px;max-width: 120px;">目录单价(¥)</th>
|
||||
<th style="width: 90px;max-width: 90px;">指导折扣</th>
|
||||
<th style="width: 94px;max-width: 94px;">折扣</th>
|
||||
<th style="width: 100px;max-width: 100px;">单价(¥)</th>
|
||||
<th style="width: 120px;max-width: 120px;">总价(¥)</th>
|
||||
<th style="width: 120px;max-width: 120px;">目录总价(¥)</th>
|
||||
<th style="width: 120px;max-width: 120px;">备注</th>
|
||||
<th style="width: 60px;max-width: 60px;">操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -148,15 +130,15 @@
|
|||
</label>
|
||||
</td>
|
||||
<td><input value="${data.discount || ''}" name="softwareProjectProductInfoList[${length}].discount" type="hidden" class="form-control discount" required>
|
||||
<label style="display: flex;align-items: center"><input style="width: calc(100% - 10px);" value="${data.discountFormat || ''}" type="number" min="0" max="100" step="0.1" class="form-control discount-format" required>%
|
||||
<label style="display: flex;align-items: center"><input style="width: calc(100% - 10px);" value="${data.discountFormat || ''}" type="number" min="0" max="100" step="0.01" class="form-control discount-format" required>%
|
||||
</label></td>
|
||||
<td>
|
||||
<input value="${data.price || ''}" name="softwareProjectProductInfoList[${length}].price" type="hidden" class="form-control price" placeholder="自动计算" required readonly>
|
||||
<input type="text" value="${data.priceFormmat || ''}" class="form-control price-formmat" placeholder="自动计算" required readonly>
|
||||
<input type="text" value="${data.priceFormmat || ''}" class="form-control price-formmat" onfocus="getData(this,'price')" onblur="this.value=formatAmountNumber(this.value)" placeholder="自动计算" required >
|
||||
</td>
|
||||
<td>
|
||||
<input value="${data.allPrice || ''}" name="softwareProjectProductInfoList[${length}].allPrice" type="hidden" class="form-control allPrice" placeholder="自动计算" required readonly>
|
||||
<input type="text" value="${data.allPriceFormmat || ''}" class="form-control allPrice-formmat" placeholder="自动计算" required readonly>
|
||||
<input type="text" value="${data.allPriceFormmat || ''}" class="form-control allPrice-formmat" placeholder="自动计算" required readonly>
|
||||
</td>
|
||||
<td>
|
||||
<input value="${data.catalogueAllPrice || ''}" name="softwareProjectProductInfoList[${length}].catalogueAllPrice" type="hidden" class="form-control catalogueAllPrice" placeholder="自动计算" required readonly>
|
||||
|
@ -182,7 +164,7 @@
|
|||
<td><input value="${data.quantity || ''}" name="hardwareProjectProductInfoList[${length}].quantity" type="number" class="form-control quantity" step="1" required></td>
|
||||
<td>
|
||||
<input value="${data.cataloguePrice || ''}" name="hardwareProjectProductInfoList[${length}].cataloguePrice" readonly type="hidden" class="form-control cataloguePrice" required>
|
||||
<input value="${data.cataloguePriceFormmat || ''}" readonly type="text" class="form-control cataloguePrice" required>
|
||||
<input value="${data.cataloguePriceFormmat || ''}" readonly type="text" class="form-control cataloguePrice" required>
|
||||
</td>
|
||||
<td>
|
||||
<input value="${data.guidanceDiscount || ''}" name="hardwareProjectProductInfoList[${length}].guidanceDiscount" readonly type="hidden" class="form-control guidanceDiscount" >
|
||||
|
@ -194,7 +176,7 @@
|
|||
</label></td>
|
||||
<td>
|
||||
<input value="${data.price || ''}" name="hardwareProjectProductInfoList[${length}].price" type="hidden" class="form-control price" placeholder="自动计算" required readonly>
|
||||
<input type="text" value="${data.priceFormmat || ''}" class="form-control price-formmat" placeholder="自动计算" required readonly>
|
||||
<input type="text" value="${data.priceFormmat || ''}" class="form-control price-formmat" placeholder="自动计算" onfocus="getData(this,'price')" onblur="this.value=formatAmountNumber(this.value)" required >
|
||||
</td>
|
||||
<td>
|
||||
<input value="${data.allPrice || ''}" name="hardwareProjectProductInfoList[${length}].allPrice" type="hidden" class="form-control allPrice" placeholder="自动计算" required readonly>
|
||||
|
@ -231,12 +213,12 @@
|
|||
</label>
|
||||
</td>
|
||||
<td><input value="${data.discount || ''}" name="maintenanceProjectProductInfoList[${length}].discount" type="hidden" class="form-control discount" required>
|
||||
<label style="display: flex;align-items: center"><input style="width: calc(100% - 10px);" value="${data.discountFormat || ''}" type="number" min="0" max="100" step="0.1" class="form-control discount-format" required>%
|
||||
<label style="display: flex;align-items: center"><input style="width: calc(100% - 10px);" value="${data.discountFormat || ''}" type="number" min="0" max="100" step="0.01" class="form-control discount-format" required>%
|
||||
</label>
|
||||
</td>
|
||||
<td>
|
||||
<input value="${data.price || ''}" name="maintenanceProjectProductInfoList[${length}].price" type="hidden" class="form-control price" placeholder="自动计算" required readonly>
|
||||
<input type="text" value="${data.priceFormmat || ''}" class="form-control price-formmat" placeholder="自动计算" required readonly>
|
||||
<input type="text" value="${data.priceFormmat || ''}" onfocus="getData(this,'price')" onblur="this.value=formatAmountNumber(this.value)" class="form-control price-formmat" placeholder="自动计算" required >
|
||||
</td>
|
||||
<td>
|
||||
<input value="${data.allPrice || ''}" name="maintenanceProjectProductInfoList[${length}].allPrice" type="hidden" class="form-control allPrice" placeholder="自动计算" required readonly>
|
||||
|
@ -254,7 +236,11 @@
|
|||
initSearchProduct('11,22,99')
|
||||
initPrice()
|
||||
}
|
||||
|
||||
function getData(that,name){
|
||||
let currentTd = $(that).closest('td'); // 获取当前 td 元素
|
||||
let priceVal = currentTd.find('.'+name).val()
|
||||
$(that).val(priceVal)
|
||||
}
|
||||
function initPrice() {
|
||||
$('.productTable .quantity').on('input', function () {
|
||||
let num = $(this).val()
|
||||
|
@ -291,7 +277,7 @@
|
|||
}
|
||||
|
||||
})
|
||||
// $('.productTable .guidanceDiscount').on('input', function () {
|
||||
// $('.productTable .guidanceDiscount-format').on('input', function () {
|
||||
// let val = $(this).val()
|
||||
// let cataloguePrice = $(this).parent().parent().find('.cataloguePrice').val()
|
||||
// $(this).parent().parent().find('.discount').val(val)
|
||||
|
@ -317,11 +303,19 @@
|
|||
let allPrice = $(this).parent().parent().parent().find('.allPrice').val()
|
||||
$(this).parent().parent().parent().find('.allPrice-formmat').val(formatAmountNumber(allPrice))
|
||||
})
|
||||
$('.productTable .price').change('input', function () {
|
||||
$('.productTable .price-formmat').change('input', function () {
|
||||
let val = $(this).val()
|
||||
let num = $(this).parent().parent().find('.quantity').val()
|
||||
$(this).parent().parent().find('.price').val(val)
|
||||
|
||||
$(this).parent().parent().find('.allPrice').val((val * num).toFixed(2))
|
||||
$(this).parent().parent().find('.allPrice-formmat').val(formatAmountNumber((val * num).toFixed(2)))
|
||||
|
||||
let cataloguePrice = $(this).parent().parent().find('.cataloguePrice').val()
|
||||
let discount = (val*1.0000/cataloguePrice).toFixed(4);
|
||||
$(this).parent().parent().find('.discount').val(discount)
|
||||
$(this).parent().parent().find('.discount-format').val(discount * 100)
|
||||
// $(this).val(formatAmountNumber(val))
|
||||
})
|
||||
}
|
||||
|
||||
|
@ -351,6 +345,7 @@
|
|||
$.modal.close(index);
|
||||
}
|
||||
|
||||
|
||||
/*]]>*/
|
||||
</script>
|
||||
</div>
|
||||
|
|
|
@ -102,7 +102,7 @@
|
|||
<label class="col-sm-4 control-label is-required">签定日期:</label>
|
||||
<div class="col-sm-8">
|
||||
<div class="input-group date">
|
||||
<input name="orderDate" class="form-control" placeholder="yyyy-MM-dd" type="text" required>
|
||||
<input name="orderDate" class="form-control" autocomplete="off" placeholder="yyyy-MM-dd" type="text" required>
|
||||
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -102,7 +102,7 @@
|
|||
<div class="col-sm-8">
|
||||
<div class="input-group date">
|
||||
<input name="orderDate" th:value="${#dates.format(orderInfo.orderDate, 'yyyy-MM-dd')}"
|
||||
class="form-control" placeholder="yyyy-MM-dd" type="text" required>
|
||||
class="form-control" placeholder="yyyy-MM-dd" autocomplete="off" type="text" required>
|
||||
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -377,20 +377,13 @@
|
|||
|
||||
}
|
||||
function changeName(){
|
||||
console.log('11111111')
|
||||
let name = $('#projectName').val()
|
||||
console.log(name)
|
||||
let versionCode = $('#versionCode').val()
|
||||
console.log(versionCode)
|
||||
let result='';
|
||||
if (name){
|
||||
result=name;
|
||||
console.log('22222')
|
||||
console.log(result)
|
||||
if (versionCode){
|
||||
result+='Rev '+versionCode;
|
||||
console.log('33333333')
|
||||
console.log(result)
|
||||
result+='Rev.'+versionCode;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -469,7 +462,7 @@
|
|||
window.localStorage.setItem('getDetail', 1)
|
||||
$.operate.get(ctx + `sip/project/query/${id}`, function (res) {
|
||||
let data = res.data
|
||||
$('#projectNameBox').text(data.projectName+'Rev 1')
|
||||
$('#projectNameBox').text(data.projectName+'Rev.1')
|
||||
$('[name="customerCode"]').val(data.customerCode);
|
||||
$('[name="customerName"]').val(data.customerName);
|
||||
$('[name="projectCode"]').val(data.projectCode);
|
||||
|
@ -523,6 +516,17 @@
|
|||
minView: "month",
|
||||
autoclose: true
|
||||
});
|
||||
|
||||
|
||||
|
||||
let user=[[${user}]]
|
||||
if (user){
|
||||
$("input[name='duty']").val(user.userId)
|
||||
$("input[name='dutyName']").val(user.userName)
|
||||
$("input[name='dutyEmail']").val(user.email)
|
||||
$("input[name='dutyPhone']").val(user.phonenumber)
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
function searchProject() {
|
||||
|
@ -567,7 +571,7 @@
|
|||
$.modal.alertWarning("请选择一个项目");
|
||||
return;
|
||||
}
|
||||
$('#projectNameBox').text(rows[0].projectName+'Rev 1')
|
||||
$('#projectNameBox').text(rows[0].projectName+'Rev.1')
|
||||
$('[name="customerCode"]').val(rows[0].customerCode);
|
||||
$('[name="customerName"]').val(rows[0].customerName);
|
||||
$('[name="projectCode"]').val(rows[0].projectCode);
|
||||
|
@ -835,23 +839,25 @@ ${
|
|||
|
||||
function initSaveDraft() {
|
||||
let draft = $(`
|
||||
<span class="saveDraft" style=" position: absolute;
|
||||
<span class="saveDraft" style="
|
||||
right: 160px;
|
||||
bottom: 12px;
|
||||
display: inline-block;
|
||||
background: #ff5722;
|
||||
padding: 6px 10px;
|
||||
border-radius: 5px;
|
||||
color: #fff;cursor: pointer"> 保存草稿</span>`)
|
||||
parent.$('.layui-layer-btn').before(draft)
|
||||
color: #fff;cursor: pointer"> 保存</span>`)
|
||||
parent.$('.layui-layer-btn1').before(draft)
|
||||
parent.$('.saveDraft').on('click', function () {
|
||||
$('[name="orderStatus"]').val(0)
|
||||
submitHandler('draft')
|
||||
})
|
||||
|
||||
parent.$('.layui-layer-btn0').on('click', function () {
|
||||
$('[name="orderStatus"]').val(1)
|
||||
submitHandler()
|
||||
})
|
||||
parent.$('.layui-layer-btn0').attr('style','display:none')
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -110,6 +110,8 @@
|
|||
<span class="title-text">编辑订单</span>
|
||||
<span style="position: relative;top: -3px;margin-left: 10px">|</span>
|
||||
<span id="projectNameBox" style="margin-left: 10px;color: black;font-size: 24px"></span>
|
||||
<span style="position: absolute;right: 10px;font-size: 24px;color: black;" id="version-show"
|
||||
></span>
|
||||
</div>
|
||||
<table>
|
||||
|
||||
|
@ -208,7 +210,7 @@
|
|||
required>
|
||||
</td>
|
||||
<td>版本号<span class="is-required">*</span></td>
|
||||
<td><input name="versionCode" class="form-control" th:field="*{versionCode}"
|
||||
<td><input onchange="changeName()" name="versionCode" class="form-control" th:field="*{versionCode}"
|
||||
required type="number" min="0"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
@ -485,6 +487,21 @@
|
|||
autoclose: true
|
||||
});
|
||||
initData()
|
||||
|
||||
|
||||
let user = [[${user}]]
|
||||
if (user) {
|
||||
if (!$("input[name='dutyName']").val()) {
|
||||
$("input[name='dutyName']").val(user.userName)
|
||||
$("input[name='duty']").val(user.userId)
|
||||
}
|
||||
if (!$("input[name='dutyEmail']").val()) {
|
||||
$("input[name='dutyEmail']").val(user.email)
|
||||
}
|
||||
if (!$("input[name='dutyPhone']").val()) {
|
||||
$("input[name='dutyPhone']").val(user.phonenumber)
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
function searchProject() {
|
||||
|
@ -567,12 +584,32 @@
|
|||
$('[name="industryType"]').val([[${projectOrderInfo.industryType}]]);
|
||||
let name = [[${projectOrderInfo.projectName}]];
|
||||
let versionCode = [[${projectOrderInfo.versionCode}]];
|
||||
let version = ''
|
||||
if (versionCode){
|
||||
name=name + 'Rev ' + versionCode
|
||||
version += 'Rev.' + versionCode + ' ';
|
||||
}
|
||||
let orderDate = [[${projectOrderInfo.estimatedOrderTime}]]
|
||||
if (orderDate) {
|
||||
version += [[${#dates.format(projectOrderInfo.estimatedOrderTime, 'yyyy-MM-dd')}]];
|
||||
}
|
||||
$('#version-show').text(version)
|
||||
if (name) {
|
||||
$('#projectNameBox').text(name)
|
||||
}
|
||||
}
|
||||
|
||||
function changeName() {
|
||||
let versionCode = $('input[name="versionCode"]').val()
|
||||
let version = ''
|
||||
if (versionCode) {
|
||||
version += 'Rev.' + versionCode + ' ';
|
||||
}
|
||||
let orderDate = [[${projectOrderInfo.estimatedOrderTime}]]
|
||||
if (orderDate) {
|
||||
version += [[${#dates.format(projectOrderInfo.estimatedOrderTime, 'yyyy-MM-dd')}]];
|
||||
}
|
||||
$('#version-show').text(version)
|
||||
}
|
||||
function doSubmitPeople(index, layero) {
|
||||
var rows = layero.find("iframe")[0].contentWindow.getSelections();
|
||||
if (rows.length == 0) {
|
||||
|
@ -795,15 +832,15 @@ ${
|
|||
|
||||
function initSaveDraft() {
|
||||
let draft = $(`
|
||||
<span class="saveDraft layui-layer-btn" style=" position: absolute;
|
||||
<span class="saveDraft layui-layer-btn" style="
|
||||
right: 160px;
|
||||
bottom: 12px;
|
||||
display: inline-block;
|
||||
background: #ff5722;
|
||||
padding: 6px 10px;
|
||||
border-radius: 5px;
|
||||
color: #fff;cursor: pointer"> 保存草稿</span>`)
|
||||
parent.$('.layui-layer-btn').before(draft)
|
||||
color: #fff;cursor: pointer"> 保存</span>`)
|
||||
parent.$('.layui-layer-btn1').before(draft)
|
||||
parent.$('.saveDraft').on('click', function () {
|
||||
$('[name="orderStatus"]').val(0)
|
||||
submitHandler('draft')
|
||||
|
@ -812,6 +849,7 @@ ${
|
|||
$('[name="orderStatus"]').val(1)
|
||||
submitHandler()
|
||||
})
|
||||
parent.$('.layui-layer-btn0').attr('style', 'display:none')
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -137,7 +137,7 @@
|
|||
},
|
||||
{
|
||||
field: 'createAt',
|
||||
title: ''
|
||||
title: '创建时间'
|
||||
},
|
||||
{
|
||||
title: '操作',
|
||||
|
|
|
@ -94,8 +94,9 @@ public class ProjectOrderInfoController extends BaseController
|
|||
*/
|
||||
@RequiresPermissions("project:order:add")
|
||||
@GetMapping("/add")
|
||||
public String add()
|
||||
public String add(ModelMap mmap)
|
||||
{
|
||||
mmap.put("user", ShiroUtils.getSysUser());
|
||||
return prefix + "/add";
|
||||
}
|
||||
|
||||
|
@ -120,6 +121,7 @@ public class ProjectOrderInfoController extends BaseController
|
|||
{
|
||||
ProjectOrderInfo projectOrderInfo = projectOrderInfoService.selectProjectOrderInfoById(id);
|
||||
mmap.put("projectOrderInfo", projectOrderInfo);
|
||||
mmap.put("user", ShiroUtils.getSysUser());
|
||||
return prefix + "/edit";
|
||||
}
|
||||
|
||||
|
|
|
@ -102,6 +102,10 @@ public class OrderInfo extends BaseEntity
|
|||
private List<OrderList> orderListList;
|
||||
private String serialNumber;
|
||||
private String createByName;
|
||||
/**
|
||||
* 0: 未发货 1:已发货
|
||||
*/
|
||||
private String ship;
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -202,7 +202,7 @@ public class OrderInfoServiceImpl implements IOrderInfoService
|
|||
if (StringUtils.isNotEmpty(dto.getSerialNumber())){
|
||||
queryParams.setSerialNumber(dto.getSerialNumber());
|
||||
}
|
||||
|
||||
queryParams.setShip("1");
|
||||
List<OrderInfo> orderInfos = orderInfoMapper.selectOrderInfoList(queryParams);
|
||||
if (CollUtil.isEmpty(orderInfos)) {
|
||||
return Collections.emptyList();
|
||||
|
|
|
@ -397,25 +397,26 @@ public class ProjectOrderInfoServiceImpl implements IProjectOrderInfoService {
|
|||
headerList.add(Collections.singletonList("行业"));
|
||||
headerList.add(Collections.singletonList("代表处"));
|
||||
headerList.add(Collections.singletonList("进货商接口人"));
|
||||
headerList.add(Collections.singletonList("Email"));
|
||||
// headerList.add(Collections.singletonList("Email"));
|
||||
headerList.add(Collections.singletonList("联系方式"));
|
||||
headerList.add(Collections.singletonList("合同编号"));
|
||||
headerList.add(Collections.singletonList("币种"));
|
||||
headerList.add(Collections.singletonList("订单金额"));
|
||||
headerList.add(Collections.singletonList("维保金额"));
|
||||
headerList.add(Collections.singletonList("执行单有效截止时间"));
|
||||
headerList.add(Collections.singletonList("要求到货时间"));
|
||||
headerList.add(Collections.singletonList("公司直发"));
|
||||
headerList.add(Collections.singletonList("下单时间"));
|
||||
// headerList.add(Collections.singletonList("执行单有效截止时间"));
|
||||
// headerList.add(Collections.singletonList("要求到货时间"));
|
||||
// headerList.add(Collections.singletonList("公司直发"));
|
||||
headerList.add(Collections.singletonList("下单通路"));
|
||||
headerList.add(Collections.singletonList("供货商"));
|
||||
// headerList.add(Collections.singletonList("供货商"));
|
||||
headerList.add(Collections.singletonList("汇智责任人"));
|
||||
headerList.add(Collections.singletonList("Email"));
|
||||
headerList.add(Collections.singletonList("联系方式"));
|
||||
// headerList.add(Collections.singletonList("Email"));
|
||||
// headerList.add(Collections.singletonList("联系方式"));
|
||||
headerList.add(Collections.singletonList("进货商"));
|
||||
headerList.add(Collections.singletonList("进货商代码"));
|
||||
// headerList.add(Collections.singletonList("进货商代码"));
|
||||
headerList.add(Collections.singletonList("进货商类型"));
|
||||
headerList.add(Collections.singletonList("进货商联系人"));
|
||||
headerList.add(Collections.singletonList("Email"));
|
||||
// headerList.add(Collections.singletonList("Email"));
|
||||
headerList.add(Collections.singletonList("联系方式"));
|
||||
headerList.add(Collections.singletonList("其他特别说明"));
|
||||
headerList.add(Collections.singletonList("订单状态"));
|
||||
|
@ -463,26 +464,27 @@ public class ProjectOrderInfoServiceImpl implements IProjectOrderInfoService {
|
|||
row.add(info.getIndustryType());
|
||||
row.add(info.getAgentName());
|
||||
row.add(info.getBusinessPerson());
|
||||
row.add(info.getBusinessEmail());
|
||||
// row.add(info.getBusinessEmail());
|
||||
row.add(info.getBusinessPhone());
|
||||
row.add(info.getOrderCode());
|
||||
row.add(DictUtils.getDictLabel("currency_type", info.getCurrencyType()));
|
||||
row.add(info.getShipmentAmount() != null ? info.getShipmentAmount().toString() : "");
|
||||
row.add(DateUtil.format(info.getOrderEndTime(), "yyyy-MM-dd"));
|
||||
row.add(DateUtil.format(info.getDeliveryTime(), "yyyy-MM-dd"));
|
||||
row.add(DictUtils.getDictLabel("company_delivery", info.getCompanyDelivery()));
|
||||
row.add(DateUtil.format(info.getEstimatedOrderTime(), "yyyy-MM-dd"));
|
||||
// row.add(DateUtil.format(info.getOrderEndTime(), "yyyy-MM-dd"));
|
||||
// row.add(DateUtil.format(info.getDeliveryTime(), "yyyy-MM-dd"));
|
||||
// row.add(DictUtils.getDictLabel("company_delivery", info.getCompanyDelivery()));
|
||||
|
||||
row.add(StringUtils.isEmpty(info.getOrderChannel()) ? "" :
|
||||
"1".equals(info.getOrderChannel()) ? "总代" : "直签");
|
||||
row.add(info.getSupplier());
|
||||
// row.add(info.getSupplier());
|
||||
row.add(info.getDutyName());
|
||||
row.add(info.getDutyEmail());
|
||||
row.add(info.getDutyPhone());
|
||||
// row.add(info.getDutyEmail());
|
||||
// row.add(info.getDutyPhone());
|
||||
row.add(info.getPartnerName());
|
||||
row.add(info.getPartnerCode());
|
||||
// row.add(info.getPartnerCode());
|
||||
row.add(DictUtils.getDictLabel("identify_level", info.getLevel()));
|
||||
row.add(info.getPartnerUserName());
|
||||
row.add(info.getPartnerEmail());
|
||||
// row.add(info.getPartnerEmail());
|
||||
row.add(info.getPartnerPhone());
|
||||
row.add(info.getRemark());
|
||||
row.add(DictUtils.getDictLabel("order_status", info.getOrderStatus()));
|
||||
|
@ -537,7 +539,7 @@ public class ProjectOrderInfoServiceImpl implements IProjectOrderInfoService {
|
|||
|
||||
row.add(totalPrice.toString());
|
||||
//维保金额
|
||||
row.add(12, maintenancePrice.toString());
|
||||
row.add(11, maintenancePrice.toString());
|
||||
|
||||
dataList.add(row);
|
||||
}
|
||||
|
|
|
@ -124,13 +124,30 @@
|
|||
t1.update_by,
|
||||
t2.user_name as create_by_name
|
||||
from order_info t1
|
||||
left join sys_user t2 on t1.create_by=t2.user_id
|
||||
left join sys_user t2 on t1.create_by=t2.user_id
|
||||
<where>
|
||||
and t1.status=0
|
||||
<if test="ship!=null and ship!=''">
|
||||
<choose>
|
||||
<when test="ship=='1'.toString()">
|
||||
and t1.id in (SELECT DISTINCT t2.order_id FROM delivery_list t1 INNER JOIN order_delivery t2 ON
|
||||
t1.delivery_id = t2.id)
|
||||
</when>
|
||||
<when test="ship=='0'.toString()">
|
||||
and t1.id not in (SELECT DISTINCT t2.order_id FROM delivery_list t1 INNER JOIN order_delivery t2
|
||||
ON t1.delivery_id = t2.id)
|
||||
</when>
|
||||
</choose>
|
||||
</if>
|
||||
|
||||
|
||||
<if test="orderCode != null and orderCode != ''">and t1.order_code like concat('%', #{orderCode}, '%')</if>
|
||||
<if test="orderName != null and orderName != ''">and t1.order_name like concat('%', #{orderName}, '%')</if>
|
||||
<if test="projectCode != null and projectCode != ''">and t1.project_code like concat('%', #{projectCode}, '%')</if>
|
||||
<if test="customerName != null and customerName != ''">and t1.customer_name like concat('%', #{customerName},
|
||||
<if test="projectCode != null and projectCode != ''">and t1.project_code like concat('%', #{projectCode},
|
||||
'%')
|
||||
</if>
|
||||
<if test="customerName != null and customerName != ''">and t1.customer_name like concat('%',
|
||||
#{customerName},
|
||||
'%')
|
||||
</if>
|
||||
<if test="orderType != null and orderType != ''">and t1.order_type = #{orderType}</if>
|
||||
|
|
Loading…
Reference in New Issue