项目列表初步完成

master
wangjiuyun 2025-05-30 17:32:14 +08:00
parent 3c4e7d691c
commit 623be7c554
10 changed files with 662 additions and 388 deletions

View File

@ -666,7 +666,7 @@
/** 紫色主题 skin-purple **/
.skin-purple .navbar {
background-color: #F3F5FA
background-color: #fafcfe
}
.skin-purple .navbar-default .nav>li.selected>a,
@ -989,7 +989,7 @@
.theme-blue.skin-purple .navbar-default .nav>li.selected>a,
.theme-blue.skin-purple .navbar-default .nav>li.selected>a:focus {
background-color: #722ed1;
background-color: #e2e8fa;
color: rgba(255,255,255,1);
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@ -1,4 +1,4 @@
<!-- 通用CSS -->
其它<!-- 通用CSS -->
<head th:fragment=header(title)>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">

View File

@ -214,7 +214,7 @@
<div class="row border-bottom">
<nav class="navbar navbar-static-top" role="navigation" style="margin-bottom: 0">
<div class="navbar-header">
<a class="navbar-minimalize minimalize-styl-2" style="color:#FFF;" href="javascript:;" title="收起菜单">
<a class="navbar-minimalize minimalize-styl-2" style="color:#000;" href="javascript:;" title="收起菜单">
<i class="fa fa-bars"></i>
</a>
</div>

View File

@ -192,7 +192,7 @@
<div class="row border-bottom">
<nav class="navbar navbar-static-top" role="navigation" style="margin-bottom: 0">
<div class="navbar-header">
<a class="navbar-minimalize minimalize-styl-2" style="color:#FFF;" href="javascript:;" title="收起菜单">
<a class="navbar-minimalize minimalize-styl-2" style="color:#000;" href="javascript:;" title="收起菜单">
<i class="fa fa-bars"></i>
</a>
</div>

View File

@ -18,8 +18,8 @@
<label class="col-sm-4 control-label is-required">关联合同:</label>
<div class="col-sm-8">
<div class="input-group">
<input style="display: none" th:orderId="*{orderId}" name="orderId" class="form-control" readonly type="text" required>
<input name="orderName" th:orderName="*{orderName}" readonly class="form-control" type="text" onclick="openList()" required>
<input style="display: none" th:field="*{orderId}" name="orderId" class="form-control" readonly type="text" required>
<input name="orderName" th:field="*{orderName}" readonly class="form-control" type="text" onclick="openList()" required>
<span class="input-group-addon"><i class="fa fa-search" onclick="openList()"></i></span>
</div>
</div>
@ -136,23 +136,6 @@
$("#form-delivery-edit").validate({
focusCleanup: true
});
$(function (){
setTimeout( getOrderList(),500)
})
function getOrderList() {
$.operate.post(prefixOrder + "/list",{isTable:0}, function (res){
orderList=res.rows
var orderId=$("[name='orderId']").attr('orderid')
orderList.forEach((ele)=>{
if(ele.id==orderId){
$("[name='orderName']").val(ele.orderName)
$("[name='orderId']").val(ele.id)
}
})
})
}
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/edit", $('#form-delivery-edit').serialize());

View File

@ -1,197 +1,233 @@
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<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 :: header('新增项目管理')"/>
<th:block th:include="include :: datetimepicker-css"/>
</head>
<style>
body { font-family: "微软雅黑", Arial, sans-serif; }
table { border-collapse: collapse; width: 100%; margin-bottom: 20px; }
th, td { border: 1px solid #ccc; padding: 8px; }
th { background: #f5f5f5; }
.section-title { font-weight: bold; font-size: 18px; padding: 10px 0; }
.checkbox-group label { margin-right: 20px; }
.add-btn { background: #409eff; color: #fff; border: none; padding: 5px 10px; cursor: pointer; }
.checkbox-box{
display: flex;
flex-direction:row;
gap: 10px;
}
.checkbox-box label{
display: flex;
flex-direction:row;
gap: 5px;
align-items: center;
}
</style>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-product-add">
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">项目编码:</label>
<div class="col-sm-8">
<input name="projectCode" class="form-control" type="text">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form id="form-product-add">
<div class="section-title">项目信息</div>
<table>
<tr>
<td>项目编码*</td>
<td><input type="text" name="project_code" class="form-control" value="V00001"></td>
<td>项目名称*</td>
<td><input type="text" name="project_name" class="form-control" value="广州市天河区公安分局"></td>
</tr>
<tr>
<td>客户名称*</td>
<td><input type="text" name="customer_name" class="form-control" value="北京安兰技术有限公司"></td>
<td>行业*</td>
<td>
<select name="industry" class="form-control">
<option>政府</option>
<option>企业</option>
</select>
</td>
</tr>
<tr>
<td>项目阶段*</td>
<td>
<select name="project_stage" class="form-control">
<option>初步报价</option>
<option>实施阶段</option>
</select>
</td>
<td>项目把握度*</td>
<td>
<select name="project_confidence" class="form-control">
<option>A</option>
<option>B</option>
</select>
</td>
</tr>
<tr>
<td>运作机构</td>
<td>
<select name="operation_org" class="form-control">
<option>代理商</option>
</select>
</td>
<td>代理商</td>
<td><input type="text" name="agent" value="合肥思佳网络科技有限公司" class="form-control"></td>
</tr>
<tr>
<td>预计金额RMB</td>
<td><input type="text" name="budget" value="1258958.00" class="form-control"></td>
<td>预计下单时间</td>
<td><input type="date" name="order_date" value="2025-07-28" class="form-control"></td>
</tr>
<tr>
<td>汇智支援人员</td>
<td><input type="text" name="support_person" value="陈畅" class="form-control"></td>
<td>联系方式</td>
<td><input type="text" name="contact" value="文韬豪:15196975107" class="form-control"></td>
</tr>
<tr>
<td>预计发货时间</td>
<td><input type="date" name="delivery_date" value="2025-07-28" class="form-control"></td>
<td>层地*</td>
<td>
<select name="location" class="form-control">
<option>安徽</option>
</select>
</td>
</tr>
<tr>
<td>竞争对手</td>
<td colspan="3" class="checkbox-group">
<div class="checkbox-box">
<label><input type="checkbox" name="competitor" value="华为">华为</label>
<label><input type="checkbox" name="competitor" value="锐捷">锐捷</label>
<label><input type="checkbox" name="competitor" value="深信服">深信服</label>
<label><input type="checkbox" name="competitor" value="中兴">中兴</label>
<label><input type="checkbox" name="competitor" value="曙云">曙云</label>
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">项目名称:</label>
<div class="col-sm-8">
<input name="projectName" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">客户code</label>
<div class="col-sm-8">
<input name="customerCode" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">客户名称:</label>
<div class="col-sm-8">
<input name="customerName" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">属地:</label>
<div class="col-sm-8">
<input name="province" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">项目阶段:</label>
<div class="col-sm-8">
<input name="projectStage" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">项目把握度:</label>
<div class="col-sm-8">
<input name="projectGraspDegree" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">汇智支撑人员id</label>
<div class="col-sm-8">
<input name="hzSupportUser" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">运作机构:</label>
<div class="col-sm-8">
<input name="operateInstitution" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">代理商code</label>
<div class="col-sm-8">
<input name="partnerCode" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">联系方式:</label>
<div class="col-sm-8">
<input name="contactWay" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">预计金额:</label>
<div class="col-sm-8">
<input name="estimatedAmount" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">预计下单时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="estimatedOrderTime" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">预计发货时间:</label>
<div class="col-sm-8">
<div class="input-group date">
<input name="estimatedDeliverTime" class="form-control" placeholder="yyyy-MM-dd" type="text">
<span class="input-group-addon"><i class="fa fa-calendar"></i></span>
</div>
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">竞争对手:</label>
<div class="col-sm-8">
<input name="competitor" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">是否国产:</label>
<div class="col-sm-8">
<input name="countryProduct" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">服务器配置:</label>
<div class="col-sm-8">
<input name="serverConfiguration" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">关键技术问题:</label>
<div class="col-sm-8">
<input name="keyProblem" class="form-control" type="text">
</div>
</div>
</div>
<div class="col-xs-12">
<div class="form-group">
<label class="col-sm-3 control-label">项目描述:</label>
<div class="col-sm-8">
<input name="projectDesc" class="form-control" type="text">
</div>
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<th:block th:include="include :: datetimepicker-js" />
<script th:inline="javascript">
var prefix = ctx + "sip/project"
$("#form-product-add").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/add", $('#form-product-add').serialize());
}
其它:<input type="text" name="competitor_other" class="form-control">
</td>
</tr>
<tr>
<td>关键技术问题</td>
<td colspan="3"><input type="text" name="key_tech_issue" style="width:98%;"
value="512+1存储不能选配让其紫光计算机选购" class="form-control"></td>
</tr>
<tr>
<td>项目描述*</td>
<td colspan="3"><textarea name="project_desc" style="width:98%;" rows="2" class="form-control">(项目背景,项目描述)</textarea>
</td>
</tr>
</table>
<div class="section-title">配置信息</div>
<table>
<tr>
<th colspan="5">添加软件
<button type="button" class="add-btn">+</button>
</th>
</tr>
<tr>
<th>序号</th>
<th>软件编码</th>
<th>软件型号</th>
<th>数量</th>
<th>备注</th>
</tr>
<tr>
<td>1</td>
<td></td>
<td></td>
<td>100</td>
<td></td>
</tr>
<tr>
<th colspan="5">添加硬件
<button type="button" class="add-btn">+</button>
</th>
</tr>
<tr>
<th>序号</th>
<th>硬件编码</th>
<th>硬件型号</th>
<th>数量</th>
<th>备注</th>
</tr>
<tr>
<td>1</td>
<td>9801A3H0</td>
<td>C5523V</td>
<td>100</td>
<td></td>
</tr>
<tr>
<td colspan="5">
服务器配置<br>
H3C C5523V 桌面云终端-Intel 6核2.9GHz/8GB DDR4/256GB
SSD/4*USB3.0/4*USB2.0/1*HDMI/1*VGA/1*1000M/WiFi6
</td>
</tr>
<tr>
<td colspan="4">是否国产</td>
<td>
<select name="domestic">
<option></option>
<option></option>
</select>
</td>
</tr>
</table>
<div class="section-title">工作进度</div>
<table>
<tr>
<th>序号</th>
<th>更新内容</th>
<th>更新人员</th>
<th>更新时间</th>
<th>
<button type="button" class="add-btn">添加+</button>
</th>
</tr>
<!-- 可动态添加行 -->
</table>
<button type="submit">提交</button>
</form>
</div>
<th:block th:include="include :: footer"/>
<th:block th:include="include :: datetimepicker-js"/>
<script th:inline="javascript">
var prefix = ctx + "sip/project"
$("#form-product-add").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/add", $('#form-product-add').serialize());
}
}
$("input[name='estimatedOrderTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$("input[name='estimatedOrderTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$("input[name='estimatedDeliverTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
$("input[name='estimatedDeliverTime']").datetimepicker({
format: "yyyy-mm-dd",
minView: "month",
autoclose: true
});
$(function (){
parent.layer.style(parent.layer.index, {
width: '1100px',
height: '630px',
top: '30px',
left: '300px'
});
</script>
})
</script>
</body>
</html>

View File

@ -1,153 +1,170 @@
<!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('项目管理列表')" />
<th:block th:include="include :: header('项目管理列表')"/>
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="formId">
<div class="select-list">
<ul>
<li>
<label>项目编码:</label>
<input type="text" name="projectCode"/>
</li>
<li>
<label>项目名称:</label>
<input type="text" name="projectName"/>
</li>
<li>
<label>客户code</label>
<input type="text" name="customerCode"/>
</li>
<li>
<label>客户名称:</label>
<input type="text" name="customerName"/>
</li>
<li>
<label>属地:</label>
<input type="text" name="province"/>
</li>
<li>
<label>项目阶段:</label>
<input type="text" name="projectStage"/>
</li>
<li>
<label>项目把握度:</label>
<input type="text" name="projectGraspDegree"/>
</li>
<li>
<label>汇智支撑人员id</label>
<input type="text" name="hzSupportUser"/>
</li>
<li>
<label>运作机构:</label>
<input type="text" name="operateInstitution"/>
</li>
<li>
<label>代理商code</label>
<input type="text" name="partnerCode"/>
</li>
<li>
<label>联系方式:</label>
<input type="text" name="contactWay"/>
</li>
<li>
<label>预计金额:</label>
<input type="text" name="estimatedAmount"/>
</li>
<li>
<label>预计下单时间:</label>
<input type="text" class="time-input" placeholder="请选择预计下单时间" name="estimatedOrderTime"/>
</li>
<li>
<label>预计发货时间:</label>
<input type="text" class="time-input" placeholder="请选择预计发货时间" name="estimatedDeliverTime"/>
</li>
<li>
<label>竞争对手:</label>
<input type="text" name="competitor"/>
</li>
<li>
<label>是否国产:</label>
<input type="text" name="countryProduct"/>
</li>
<li>
<label>服务器配置:</label>
<input type="text" name="serverConfiguration"/>
</li>
<li>
<label>关键技术问题:</label>
<input type="text" name="keyProblem"/>
</li>
<li>
<label>项目描述:</label>
<input type="text" name="projectDesc"/>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i 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>
</li>
</ul>
</div>
</form>
</div>
<style>
.sortBox {
display: flex;
float: right;
flex-direction: column;
gap: 0;
height: 20px;
justify-content: center;
}
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="sip:product:add">
<i class="fa fa-plus"></i> 添加
</a>
<a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="sip:product:edit">
<i class="fa fa-edit"></i> 修改
</a>
<a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="sip:product:remove">
<i class="fa fa-remove"></i> 删除
</a>
<a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="sip:product:export">
<i class="fa fa-download"></i> 导出
</a>
</div>
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
</div>
.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;
}
.highlightRow {
color: red;
}
</style>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="formId">
<div class="select-list">
<ul>
<li>
<label>项目编号:</label>
<input type="text" name="projectCode"/>
</li>
<li>
<label>项目名称:</label>
<input type="text" name="projectName"/>
</li>
<li>
<label>客户信息:</label>
<input type="text" name="customerCode"/>
</li>
<li>
<label>行业:</label>
<input type="text" name="customerName"/>
</li>
<li>
<label>属地:</label>
<input type="text" name="province"/>
</li>
<li>
<label>项目阶段:</label>
<input type="text" name="projectStage"/>
</li>
<li>
<label>项目把握度:</label>
<input type="text" name="projectGraspDegree"/>
</li>
<li>
<label>汇智支撑:</label>
<input type="text" name="hzSupportUser"/>
</li>
<li class="timeSearch" style="width: 80%">
<div>
<label>时间选择:</label>
<select name="timeType" onchange="changeTimeType()" value="0">
<option value="0">预计下单时间</option>
<option value="1">预计发货时间</option>
<option value="2">最后一次更新时间</option>
</select>
</div>
<div class="timeSearch">
<input name="estimatedOrderTimeStart" type="text" class="input-sm form-control"
id="laydate-startTime"
placeholder="yyyy-MM-dd"/>
<span></span>
<input name="estimatedOrderTime" type="text" class="input-sm form-control"
id="laydate-endTime"
placeholder="yyyy-MM-dd"/>
</div>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i
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>
</li>
</ul>
<input type="hidden" name="orderByColumn"/>
<input type="hidden" name="isAsc"/>
</div>
</form>
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="sip:product:add">
<i class="fa fa-plus"></i> 添加
</a>
<a class="btn btn-primary single disabled" onclick="$.operate.edit()"
shiro:hasPermission="sip:product:edit">
<i class="fa fa-edit"></i> 修改
</a>
<a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()"
shiro:hasPermission="sip:product:remove">
<i class="fa fa-remove"></i> 删除
</a>
<a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="sip:product:export">
<i class="fa fa-download"></i> 导出
</a>
</div>
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
</div>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var editFlag = [[${@permission.hasPermi('sip:product:edit')}]];
var removeFlag = [[${@permission.hasPermi('sip:product:remove')}]];
var prefix = ctx + "sip/project";
</div>
<th:block th:include="include :: footer"/>
<script th:inline="javascript">
var editFlag = [[${@permission.hasPermi('sip:product:edit')}]];
var removeFlag = [[${@permission.hasPermi('sip:product:remove')}]];
var prefix = ctx + "sip/project";
$(function() {
var options = {
url: prefix + "/list",
createUrl: prefix + "/add",
updateUrl: prefix + "/edit/{id}",
removeUrl: prefix + "/remove",
exportUrl: prefix + "/export",
modalName: "项目管理",
columns: [{
checkbox: true
},
$(function () {
var options = {
url: prefix + "/list",
createUrl: prefix + "/add",
updateUrl: prefix + "/edit/{id}",
removeUrl: prefix + "/remove",
exportUrl: prefix + "/export",
modalName: "项目管理",
columns: [{
checkbox: true
},
{
field: 'id',
title: '',
visible: false
visible: false,
},
{
field: 'projectCode',
title: '项目编码'
title: '项目编码',
escape: true,
formatter: (value, row, index) => {
if (row.highlight) {
return `<span class="highlight">${value}</span>`
}
}
},
{
field: 'projectName',
title: '项目名称'
},
{
field: 'customerCode',
title: '客户code'
},
{
field: 'customerName',
title: '客户名称'
@ -160,79 +177,148 @@
field: 'province',
title: '属地'
},
{
field: 'projectStage',
title: '项目阶段'
},
{
field: 'projectGraspDegree',
title: '项目把握度'
},
{
field: 'projectStage',
title: '项目阶段'
},
{
field: 'hzSupportUser',
title: '汇智支撑人员id'
},
{
field: 'operateInstitution',
title: '运作机构'
},
{
field: 'partnerCode',
title: '代理商code'
},
{
field: 'contactWay',
title: '联系方式'
title: '汇智支撑人员'
},
{
field: 'estimatedAmount',
title: '预计金额'
},
{
field: 'currencyType',
title: '币种'
title: '预计金额(RMB)'
},
{
field: 'estimatedOrderTime',
title: '预计下单时间'
title: '预计下单时间',
class: 'time1'
},
{
field: 'estimatedDeliverTime',
title: '预计发货时间'
},
{
field: 'competitor',
title: '竞争对手'
},
{
field: 'countryProduct',
title: '是否国产'
},
{
field: 'serverConfiguration',
title: '服务器配置'
},
{
field: 'keyProblem',
title: '关键技术问题'
title: '预计发货时间',
class: 'time2'
},
{
field: 'projectDesc',
title: '项目描述'
title: '最后一次更新时间',
class: 'time3'
},
{
title: '操作',
align: 'center',
formatter: function(value, row, index) {
formatter: function (value, row, index) {
var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>项目详情</a> ');
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick=`openOrder(${row})`><i class="fa fa-edit"></i>生成订单</a> ');
actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a>');
return actions.join('');
}
}]
};
$.table.init(options);
});
</script>
}],
onPostBody: () => {
initHighlight()
}
};
$.table.init(options);
initSrot()
changeTimeType()
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 = '';
}
}
});
})
});
function initHighlight() {
console.log($('.highlight'), 11)
$('span.highlight').parent().parent().addClass('highlightRow')
}
function initSrot() {
let sort1 = $(`<div class="sortBox"><div class="sortBtn timeAction" sort="asc"></div><div class="sortBtn" sort="desc"></div></div>`)
$('thead .time1 .th-inner').append(sort1)
let sort2 = $(`<div class="sortBox"><div class="sortBtn" sort="asc"></div><div class="sortBtn" sort="desc"></div></div>`)
$('thead .time2 .th-inner').append(sort2)
let sort3 = $(`<div class="sortBox"><div class="sortBtn" sort="asc"></div><div class="sortBtn" sort="desc"></div></div>`)
$('thead .time3 .th-inner').append(sort3)
bindSort([sort1, sort2, sort3])
}
function bindSort(list) {
list.forEach((ele, index) => {
$(ele).find('.sortBtn').on('click', function () {
changeSort(this, index)
})
})
}
function changeSort(ele, index) {
let arr = ['estimated_orderTime', 'estimated_deliverTime', 'update_time']
$('.sortBox').find('.timeAction').removeClass('timeAction')
$(ele).addClass('timeAction')
$('input[name="orderByColumn"]').val(arr[index])
$('input[name="isAsc"]').val($(ele).attr('sort'))
$.table.search()
}
function changeTimeType() {
let timeType = $("[name='timeType']").val()
if (timeType == 0) {
$('#laydate-startTime').attr('name', 'estimatedOrderTimeStart')
$('#laydate-endTime').attr('name', 'estimatedOrderTimeEnd')
} else if (timeType == 1) {
$('#laydate-startTime').attr('name', 'estimatedDeliverTimeStart')
$('#laydate-endTime').attr('name', 'estimatedDeliverTimeEnd')
} else if (timeType == 2) {
$('#laydate-startTime').attr('name', 'updateTimeStart')
$('#laydate-endTime').attr('name', 'updateTimeEnd')
}
}
</script>
</body>
</html>

View File

@ -0,0 +1,169 @@
<!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>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="formId">
<div class="select-list">
<ul>
<li>
<label>发货单号:</label>
<input type="text" name="deliveryCode"/>
</li>
<li>
<label>发货日期:</label>
<input type="text" class="time-input" placeholder="请选择发货日期" name="deliveryDate"/>
</li>
<li>
<label>发货方式:</label>
<select name="deliveryType" th:with="type=${@dict.getType('delivery_type')}">
<option value="">所有</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</li>
<li>
<label>物流公司:</label>
<input type="text" name="logisticsCompany"/>
</li>
<li>
<label>发货状态:</label>
<select name="deliveryStatus" th:with="type=${@dict.getType('delivery_status')}">
<option value="">所有</option>
<option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}"></option>
</select>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i 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>
</li>
</ul>
</div>
</form>
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="manage:delivery:add">
<i class="fa fa-plus"></i> 添加
</a>
<a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="manage:delivery:edit">
<i class="fa fa-edit"></i> 修改
</a>
<a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="manage:delivery:remove">
<i class="fa fa-remove"></i> 删除
</a>
<a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="manage:delivery:export">
<i class="fa fa-download"></i> 导出
</a>
</div>
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var listFlag = [[${@permission.hasPermi('manage:delivery:list')}]];
var editFlag = [[${@permission.hasPermi('manage:delivery:edit')}]];
var removeFlag = [[${@permission.hasPermi('manage:delivery:remove')}]];
var deliveryTypeDatas = [[${@dict.getType('delivery_type')}]];
var deliveryStatusDatas = [[${@dict.getType('delivery_status')}]];
var prefix = ctx + "manage/delivery";
$(function() {
var options = {
url: prefix + "/list",
createUrl: prefix + "/add",
updateUrl: prefix + "/edit/{id}",
removeUrl: prefix + "/remove",
exportUrl: prefix + "/export",
modalName: "发货记录",
columns: [{
checkbox: true
},
{
field: 'id',
title: '主键',
visible: false
},
{
field: 'orderCode',
title: '关联合同编号'
},
{
field: 'orderName',
title: '关联合同名称'
},
{
field: 'deliveryCode',
title: '发货单号'
},
{
field: 'total',
title: '发货数量',
formatter: function(value, row, index) {
if (value){
return value
}else{
return 0
}
}
},
{
field: 'deliveryDate',
title: '发货日期'
},
{
field: 'deliveryType',
title: '发货方式',
formatter: function(value, row, index) {
return $.table.selectDictLabel(deliveryTypeDatas, value);
}
},
{
field: 'deliveryStatus',
title: '发货状态',
formatter: function(value, row, index) {
return $.table.selectDictLabel(deliveryStatusDatas, value);
}
},
{
field: 'createByName',
title: '创建人'
},
{
title: '操作',
align: 'center',
formatter: function(value, row, index) {
var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + listFlag + '" href="javascript:void(0)" onclick="openList(\'' + row.id + '\')"><i class="fa fa-list"></i>发货清单</a> ');
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> ');
actions.push('<a class="btn btn-danger btn-xs ' + removeFlag + '" href="javascript:void(0)" onclick="$.operate.remove(\'' + row.id + '\')"><i class="fa fa-remove"></i>删除</a>');
return actions.join('');
}
}]
};
$.table.init(options);
});
function openList(id){
var options = {
title: "发货清单",
url: prefix + `/import/${id}`,
// skin: 'layui-layer-gray',
maxmin: false,
full: false,
index:1000,
width: 1050,
callBack: doClose
};
$.modal.openOptions(options)
}
function doClose(index){
$.modal.close(index);
}
</script>
</body>
</html>