Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
孙克
/
QisdaNew
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 2c8a7a76
由
sunke
编写于
2021-03-10 13:15:38 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
新增库位管理功能
1 个父辈
afe0c59c
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
13 个修改的文件
包含
418 行增加
和
14 行删除
myproject/src/main/java/com/myproject/bean/json/UsageItem.java
myproject/src/main/java/com/myproject/bean/qisda/OutItemBindBean.java
myproject/src/main/java/com/myproject/bean/search/StoragePosManageCriteria.java
myproject/src/main/java/com/myproject/webapp/controller/storage/StoragePosManageController.java
myproject/src/main/java/com/myproject/webapp/controller/webService/TaskService.java
myproject/src/main/webapp/WEB-INF/pages/component/storagePosFind.jsp
myproject/src/main/webapp/WEB-INF/pages/storage/storagePosManage.jsp
myproject/src/main/webapp/WEB-INF/pages/storage/storageSearch.jsp
myproject/src/main/webapp/WEB-INF/pages/storage/storageUpdate.jsp
myproject/src/main/webapp/WEB-INF/pages/updateHistory.jsp
myproject/src/main/webapp/assets/global/css/components.css
myproject/src/main/webapp/decorators/metro.jsp
myproject/src/main/webapp/resources/admin/linePositions.csv
myproject/src/main/java/com/myproject/bean/json/UsageItem.java
查看文件 @
2c8a7a7
...
@@ -34,6 +34,9 @@ public class UsageItem {
...
@@ -34,6 +34,9 @@ public class UsageItem {
}
}
public
int
getUsedCount
()
{
public
int
getUsedCount
()
{
if
(
usedCount
>
totalCount
){
return
totalCount
;
}
return
usedCount
;
return
usedCount
;
}
}
...
...
myproject/src/main/java/com/myproject/bean/qisda/OutItemBindBean.java
0 → 100644
查看文件 @
2c8a7a7
package
com
.
myproject
.
bean
.
qisda
;
import
com.myproject.bean.update.StoragePos
;
import
com.myproject.bean.update.qisda.OutItem
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* Created by sunke on 2020/12/2.
* 需求单详情绑定
*/
public
class
OutItemBindBean
{
public
OutItemBindBean
(
OutItem
outItem
)
{
this
.
outItem
=
outItem
;
}
private
OutItem
outItem
;
private
List
<
StoragePos
>
bindReelPosList
=
new
ArrayList
<>();
public
List
<
StoragePos
>
getBindReelPosList
()
{
return
bindReelPosList
;
}
public
void
setBindReelPosList
(
List
<
StoragePos
>
bindReelPosList
)
{
this
.
bindReelPosList
=
bindReelPosList
;
}
public
OutItem
getOutItem
()
{
return
outItem
;
}
public
void
setOutItem
(
OutItem
outItem
)
{
this
.
outItem
=
outItem
;
}
public
void
addBindPos
(
StoragePos
pos
){
bindReelPosList
.
add
(
pos
);
}
public
StoragePos
takeOnePos
(){
StoragePos
pos
=
null
;
if
(
bindReelPosList
.
size
()
>
0
){
pos
=
bindReelPosList
.
get
(
0
);
bindReelPosList
.
remove
(
pos
);
}
return
pos
;
}
public
Integer
getBindReelCount
(){
return
bindReelPosList
.
size
();
}
}
myproject/src/main/java/com/myproject/bean/search/StoragePosManageCriteria.java
0 → 100755
查看文件 @
2c8a7a7
package
com
.
myproject
.
bean
.
search
;
/**
* Created by kangmor on 2015/12/4.
*/
public
class
StoragePosManageCriteria
extends
BaseSearchCriteria
{
/**
* 类型
*/
private
Boolean
enabled
=
false
;
private
String
storageId
;
private
String
posName
;
public
String
getStorageId
()
{
return
storageId
;
}
public
void
setStorageId
(
String
storageId
)
{
this
.
storageId
=
storageId
;
}
public
Boolean
getEnabled
()
{
return
enabled
;
}
public
void
setEnabled
(
Boolean
enabled
)
{
this
.
enabled
=
enabled
;
}
public
String
getPosName
()
{
return
posName
;
}
public
void
setPosName
(
String
posName
)
{
this
.
posName
=
posName
;
}
}
myproject/src/main/java/com/myproject/webapp/controller/storage/StoragePosManageController.java
0 → 100755
查看文件 @
2c8a7a7
package
com
.
myproject
.
webapp
.
controller
.
storage
;
import
com.google.common.base.Strings
;
import
com.myproject.bean.search.BaseSearchCriteria
;
import
com.myproject.bean.search.PageList
;
import
com.myproject.bean.search.StoragePosFindCriteria
;
import
com.myproject.bean.search.StoragePosManageCriteria
;
import
com.myproject.bean.update.Storage
;
import
com.myproject.manager.IStoragePosManager
;
import
com.myproject.util.StorageConstants
;
import
com.myproject.webapp.controller.webService.DataCache
;
import
com.myproject.webapp.controller.webService.ITaskService
;
import
org.displaytag.properties.SortOrderEnum
;
import
org.displaytag.tags.TableTagParameters
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.web.bind.annotation.ModelAttribute
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.ArrayList
;
import
java.util.Comparator
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.regex.Pattern
;
/**
* Created by kangmor on 2015/12/4.
*/
@Controller
public
class
StoragePosManageController
extends
BaseSearchController
{
@Autowired
protected
IStoragePosManager
storagePosManager
;
@Autowired
protected
ITaskService
taskService
;
@Autowired
protected
DataCache
dataCache
;
public
final
static
String
SUCCESS_VIEW
=
"storage/storagePosManage"
;
@RequestMapping
(
"/storage/storagePosManage*"
)
public
String
onSubmit
(
@ModelAttribute
(
"searchCriteria"
)
StoragePosManageCriteria
searchCriteria
,
HttpServletRequest
request
)
{
List
<
Storage
>
storages
=
new
ArrayList
<>(
dataCache
.
getAllStorage
().
values
());
storages
.
sort
(
new
Comparator
<
Storage
>()
{
@Override
public
int
compare
(
Storage
o1
,
Storage
o2
)
{
return
o1
.
getCid
().
compareTo
(
o2
.
getCid
());
}
});
request
.
setAttribute
(
"allStorage"
,
storages
);
Query
query
=
new
Query
();
Criteria
baseCriteria
=
new
Criteria
();
if
(
searchCriteria
.
getEnabled
()
!=
null
){
baseCriteria
.
and
(
"enabled"
).
is
(
searchCriteria
.
getEnabled
());
}
String
storageId
=
searchCriteria
.
getStorageId
();
if
(!
Strings
.
isNullOrEmpty
(
storageId
)){
baseCriteria
.
and
(
"storageId"
).
is
(
storageId
);
}
String
posName
=
searchCriteria
.
getPosName
();
if
(!
Strings
.
isNullOrEmpty
(
posName
)){
Pattern
pattern
=
Pattern
.
compile
(
posName
,
Pattern
.
CASE_INSENSITIVE
);
baseCriteria
.
and
(
"posName"
).
regex
(
pattern
);
}
query
.
addCriteria
(
baseCriteria
);
//最近入库的
//query.with(new Sort(Sort.Direction.ASC,"updateDate"));
PageList
pageList
=
searchCriteria
.
getPageList
();
if
(
"id"
.
equals
(
pageList
.
getSortCriterion
())){
pageList
.
setSortCriterion
(
"updateDate"
);
pageList
.
setSortDirection
(
SortOrderEnum
.
DESCENDING
);
}
//导出
if
(
request
.
getParameter
(
TableTagParameters
.
PARAMETER_EXPORTING
)
!=
null
){
pageList
.
setPageNumber
(-
1
);
}
searchCriteria
.
setPageList
(
storagePosManager
.
findByQuery
(
query
,
pageList
));
return
SUCCESS_VIEW
;
}
private
Criteria
addLikeParam
(
Criteria
criteria
,
HttpServletRequest
request
,
String
fieldStr
){
String
fieldValue
=
request
.
getParameter
(
fieldStr
);
if
(!
Strings
.
isNullOrEmpty
(
fieldValue
)){
Pattern
pattern
=
Pattern
.
compile
(
fieldValue
,
Pattern
.
CASE_INSENSITIVE
);
criteria
.
and
(
"barcode."
+
fieldStr
).
regex
(
pattern
);
request
.
setAttribute
(
fieldStr
,
fieldValue
);
}
return
criteria
;
}
@Override
protected
BaseSearchCriteria
getNewSearchCriteria
()
{
return
new
StoragePosManageCriteria
();
}
}
myproject/src/main/java/com/myproject/webapp/controller/webService/TaskService.java
查看文件 @
2c8a7a7
...
@@ -730,6 +730,11 @@ public class TaskService implements ITaskService {
...
@@ -730,6 +730,11 @@ public class TaskService implements ITaskService {
//从正在执行和等待列表中移除
//从正在执行和等待列表中移除
taskMap
.
remove
(
task
.
getId
());
taskMap
.
remove
(
task
.
getId
());
String
barcode
=
task
.
getBarcode
();
String
barcode
=
task
.
getBarcode
();
if
(
task
.
isExecuting
()
||
task
.
isWait
()){
task
.
setStatus
(
StorageConstants
.
OP_STATUS
.
CANCEL
.
name
());
}
if
(!
Strings
.
isNullOrEmpty
(
barcode
)){
if
(!
Strings
.
isNullOrEmpty
(
barcode
)){
task
.
setStopSendToQisda
(
true
);
task
.
setStopSendToQisda
(
true
);
task
.
setStatus
(
StorageConstants
.
OP_STATUS
.
CANCEL
.
name
());
task
.
setStatus
(
StorageConstants
.
OP_STATUS
.
CANCEL
.
name
());
...
@@ -770,10 +775,16 @@ public class TaskService implements ITaskService {
...
@@ -770,10 +775,16 @@ public class TaskService implements ITaskService {
public
boolean
cancelTask
(
String
taskId
)
{
public
boolean
cancelTask
(
String
taskId
)
{
DataLog
task
=
dataLogDao
.
findOneById
(
taskId
);
DataLog
task
=
dataLogDao
.
findOneById
(
taskId
);
if
(
task
!=
null
){
if
(
task
!=
null
){
List
<
DataLog
>
tasks
=
dataLogDao
.
findUnExecuteTasks
(
task
.
getBarcode
(),
task
.
getType
());
String
barcode
=
task
.
getBarcode
();
for
(
DataLog
dataLog
:
tasks
)
{
if
(
Strings
.
isNullOrEmpty
(
barcode
)){
cancelTask
(
dataLog
);
cancelTask
(
task
);
}
else
{
List
<
DataLog
>
tasks
=
dataLogDao
.
findUnExecuteTasks
(
barcode
,
task
.
getType
());
for
(
DataLog
dataLog
:
tasks
)
{
cancelTask
(
dataLog
);
}
}
}
return
true
;
return
true
;
}
}
...
...
myproject/src/main/webapp/WEB-INF/pages/component/storagePosFind.jsp
查看文件 @
2c8a7a7
...
@@ -178,7 +178,7 @@
...
@@ -178,7 +178,7 @@
<display:column property="barcode.appendInfo.facility" titleKey="Facility" sortProperty="barcode.appendInfo.facility" sortable="true"/>
<display:column property="barcode.appendInfo.facility" titleKey="Facility" sortProperty="barcode.appendInfo.facility" sortable="true"/>
<display:column titleKey="时间" sortProperty="barcode.updateDate" sortable="true">
<display:column titleKey="时间" sortProperty="barcode.updateDate" sortable="true">
<fmt:formatDate value="${pos.updateDate}" pattern="yyyy-MM-dd HH:mm"/>
<fmt:formatDate value="${pos.
barcode.
updateDate}" pattern="yyyy-MM-dd HH:mm"/>
</display:column>
</display:column>
<display:column titleKey="barcode.amount" sortProperty="barcode.amount" sortable="true">
<display:column titleKey="barcode.amount" sortProperty="barcode.amount" sortable="true">
...
...
myproject/src/main/webapp/WEB-INF/pages/storage/storagePosManage.jsp
0 → 100644
查看文件 @
2c8a7a7
<%@ page import="com.myproject.webapp.controller.webService.DataCache" %>
<%@ page import="java.util.Date" %><%--
Created by IntelliJ IDEA.
User: kangmor
Date: 2015/12/4
Time: 9:28
To change this template use File | Settings | File Templates.
--%>
<%@ include file="/common/taglibs.jsp" %>
<%@ page language="java" pageEncoding="UTF-8" %>
<c:if test="${screen != 'tablet'}">
<!-- BEGIN PAGE HEADER-->
<h3 class="page-title">
库位管理
</h3>
</c:if>
<!-- BEGIN PAGE CONTENT-->
<div class="row">
<div class="col-md-12">
<div class="portlet box blue">
<c:if test="${screen != 'tablet'}">
<div class="portlet-title">
<div class="caption">
<%--<i class="fa fa-list-alt"></i><fmt:message key="component.list"/>--%>
</div>
<div class="tools">
</div>
</div>
</c:if>
<div class="portlet-body">
<!-- 正常展示-->
<form:form commandName="searchCriteria" class="form-horizontal form-bordered" id="searchCriteria"
action="storagePosManage.html">
<div class="form-group">
<label class="control-label col-md-1 col-xs-2"><fmt:message key="dataLog.storageName"/></label>
<div class="col-md-2">
<form:select path="storageId" class="form-control">
<form:option value=""><fmt:message key="select.all"/></form:option>
<c:forEach items="${allStorage}" var="storage">
<form:option value="${storage.id}"> ${storage.name}</form:option>
</c:forEach>
</form:select>
</div>
<label class="control-label col-md-1"><fmt:message key="仓位"/></label>
<div class="col-md-2">
<div style="text-align:left">
<form:input path="posName" class="form-control"/>
</div>
</div>
<label class="control-label col-md-1 col-xs-2"><fmt:message key="storage.enable"/></label>
<div class="col-md-2">
<form:select path="enabled" class="form-control">
<form:option value=""><fmt:message key="select.all"/></form:option>
<form:option value="true"> <fmt:message key="storage.enable.yes"/></form:option>
<form:option value="false"> <fmt:message key="storage.enable.no"/></form:option>
</form:select>
</div>
<div class="col-md-2">
<button class="btn purple" type="submit"><i class="fa fa-search"></i><fmt:message key="button.search"/> </button>
</div>
</div>
</form:form>
<div class="table-scrollable">
<c:set var="today" value="<%= new Date()%>"/>
<display:table name="searchCriteria.pageList" requestURI="storagePosManage.html" sort="external"
defaultsort="1" class="table table-striped table-bordered table-hover" export="true"
id="pos" >
<display:setProperty name="export.csv.filename" value="posList.csv" />
<c:set var="enabledClass" value=""/>
<c:if test="${!pos.enabled}">
<c:set var="enabledClass" value="enabled"/>
</c:if>
<display:column titleKey="storagePosFind.index">${pos_rowNum}</display:column>
<display:column property="posName" titleKey="checkOut.pos" sortProperty="posName" sortable="true"/>
<display:column titleKey="storage.enable" class="${enabledClass}">
<c:if test="${!pos.enabled}">
<fmt:message key="storage.enable.no"/>
[
<a onclick="enablePos(this,'${pos.id}',true);">
启用
</a>]
</c:if>
<c:if test="${pos.enabled}" >
<fmt:message key="storage.enable.yes"/>
[
<a onclick="enablePos(this,'${pos.id}',false);">
禁用
</a>]
</c:if>
</display:column>
<display:column titleKey="storage.posSize">
${pos.sizeStr}
</display:column>
<display:column property="barcode.barcode" titleKey="barcode.barcode" sortProperty="barcode.barcode" sortable="true"/>
<display:column titleKey="时间" sortProperty="updateDate" sortable="true">
<fmt:formatDate value="${pos.updateDate}" pattern="yyyy-MM-dd HH:mm"/>
</display:column>
<display:column titleKey="">
<button class="btn yellow" id="btn${pos.id}" onclick="checkoutPos('${pos.id}')">
<i class="fa fa-sign-out"></i><fmt:message key="button.checkout"/></button>
</display:column>
</display:table>
</div>
</div>
</div>
<!-- END EXAMPLE TABLE PORTLET-->
</div>
</div>
<!-- END PAGE CONTENT-->
<form method="get" action="${ctx}/service/store/checkout.html" id="checkoutForm">
<input type="hidden" name="pid" id="pid"/>
</form>
<c:set var="scripts" scope="request">
<script>
function enablePos(linkDom, posId,enabled){
$.post("${ctx}/service/store/enablePos", {pid: posId,enabled:enabled }, function (data) {
if(data != ''){
alert(data);
}else{
$(linkDom).parents("tr").toggleClass("font-grey");
$(linkDom).toggleClass("enabled");
if(enabled){
$(linkDom).parents("td").html("是[<a onclick='enablePos(this,"+posId+",false);'>禁用</a>]");
}else{
$(linkDom).parents("td").html("否[<a onclick='enablePos(this,"+posId+",true);'>启用</a>]");
}
alert("操作成功");
}
})
}
$(".enabled").each(function(){
var oldClass = $(this).parent().attr("class");
$(this).parents("tr").attr("class",oldClass + " font-grey");
});
function checkoutPos(posId) {
$("#btn"+posId).attr("disabled","true");
$.post("${ctx}/service/store/checkout.html", {pids: posId}, function (data) {
alert(data);
});
}
</script>
</c:set>
\ No newline at end of file
\ No newline at end of file
myproject/src/main/webapp/WEB-INF/pages/storage/storageSearch.jsp
查看文件 @
2c8a7a7
...
@@ -25,6 +25,8 @@
...
@@ -25,6 +25,8 @@
<i class="fa fa-list-alt"></i><fmt:message key="storage.search.subtitle"/>
<i class="fa fa-list-alt"></i><fmt:message key="storage.search.subtitle"/>
</div>
</div>
<div class="actions">
<div class="actions">
<a href="storagePosManage.html" class="btn btn-default btn-sm">
<i class="fa fa-building"></i> <fmt:message key="库位管理"/> </a>
<a href="storageUpdate.html" class="btn btn-default btn-sm">
<a href="storageUpdate.html" class="btn btn-default btn-sm">
<i class="fa fa-plus"></i> <fmt:message key="button.add"/> </a>
<i class="fa fa-plus"></i> <fmt:message key="button.add"/> </a>
</div>
</div>
...
@@ -48,11 +50,6 @@
...
@@ -48,11 +50,6 @@
<display:table name="searchCriteria.pageList" id="storage"
<display:table name="searchCriteria.pageList" id="storage"
defaultsort="1" class="table table-striped table-bordered table-hover" export="false" requestURI="storageSearch.html">
defaultsort="1" class="table table-striped table-bordered table-hover" export="false" requestURI="storageSearch.html">
<display:column property="name" escapeXml="true" titleKey="storage.name"/>
<display:column property="name" escapeXml="true" titleKey="storage.name"/>
<display:column titleKey="storage.boxCount" property="boxCount"/>
<display:column titleKey="storage.slotAmount">
${storage.totalSlots - storage.emptySlots} / ${storage.totalSlots}
</display:column>
<display:setProperty name="paging.banner.items_name"><fmt:message
<display:setProperty name="paging.banner.items_name"><fmt:message
key="storage.item.name"/></display:setProperty>
key="storage.item.name"/></display:setProperty>
<display:column escapeXml="true" titleKey=""
<display:column escapeXml="true" titleKey=""
...
...
myproject/src/main/webapp/WEB-INF/pages/storage/storageUpdate.jsp
查看文件 @
2c8a7a7
...
@@ -512,7 +512,7 @@
...
@@ -512,7 +512,7 @@
}else{
}else{
$("#"+posId).toggleClass("font-grey");
$("#"+posId).toggleClass("font-grey");
if(enabled){
if(enabled){
$("#td"+posId).html("
否
[<a onclick='enablePos("+posId+",false);'>禁用</a>]");
$("#td"+posId).html("
是
[<a onclick='enablePos("+posId+",false);'>禁用</a>]");
}else{
}else{
$("#td"+posId).html("否[<a onclick='enablePos("+posId+",true);'>启用</a>]");
$("#td"+posId).html("否[<a onclick='enablePos("+posId+",true);'>启用</a>]");
}
}
...
...
myproject/src/main/webapp/WEB-INF/pages/updateHistory.jsp
查看文件 @
2c8a7a7
...
@@ -12,6 +12,23 @@
...
@@ -12,6 +12,23 @@
<div class="row">
<div class="row">
<div class="col-md-12">
<div class="col-md-12">
<ul class="timeline">
<ul class="timeline">
<li class="timeline-green">
<div class="timeline-time">
<span class="date">2021</span>
<span class="time">01-25</span>
</div>
<div class="timeline-icon">
<i class="fa fa-clock-o"></i>
</div>
<div class="timeline-body">
<h2>版本: V2021012514</h2>
<div class="timeline-content">
<ul>
<li>优化未出完的指定料需求单再次出库功能</li>
</ul>
</div>
</div>
</li>
<li class="timeline-blue">
<li class="timeline-blue">
<div class="timeline-time">
<div class="timeline-time">
<span class="date">2021 </span>
<span class="date">2021 </span>
...
...
myproject/src/main/webapp/assets/global/css/components.css
查看文件 @
2c8a7a7
...
@@ -8050,7 +8050,7 @@ Grey Default
...
@@ -8050,7 +8050,7 @@ Grey Default
/* General Text & Icon Font Colors */
/* General Text & Icon Font Colors */
.font-grey
{
.font-grey
{
color
:
#
e5e5e
5
!important
;
color
:
#
b5b5b
5
!important
;
}
}
/***
/***
...
@@ -8060,7 +8060,7 @@ Grey Steel
...
@@ -8060,7 +8060,7 @@ Grey Steel
.grey-steel.btn
{
.grey-steel.btn
{
color
:
#80898e
;
color
:
#80898e
;
background-color
:
#e9edef
;
background-color
:
#e9edef
;
border-color
:
""
;
border-color
:
none
;
}
}
.grey-steel.btn
:hover
,
.grey-steel.btn
:focus
,
.grey-steel.btn
:active
,
.grey-steel.btn.active
{
.grey-steel.btn
:hover
,
.grey-steel.btn
:focus
,
.grey-steel.btn
:active
,
.grey-steel.btn.active
{
color
:
#80898e
;
color
:
#80898e
;
...
...
myproject/src/main/webapp/decorators/metro.jsp
查看文件 @
2c8a7a7
...
@@ -40,7 +40,7 @@
...
@@ -40,7 +40,7 @@
<!-- END PAGE STYLES -->
<!-- END PAGE STYLES -->
<!-- BEGIN THEME STYLES -->
<!-- BEGIN THEME STYLES -->
<!-- DOC: To use 'rounded corners' style just load 'components-rounded.css' stylesheet instead of 'components.css' in the below style tag -->
<!-- DOC: To use 'rounded corners' style just load 'components-rounded.css' stylesheet instead of 'components.css' in the below style tag -->
<link
href=
"${ctx}/assets/global/css/components.css?id=
3
"
id=
"style_components"
rel=
"stylesheet"
type=
"text/css"
/>
<link
href=
"${ctx}/assets/global/css/components.css?id=
4
"
id=
"style_components"
rel=
"stylesheet"
type=
"text/css"
/>
<link
href=
"${ctx}/assets/global/css/plugins.css"
rel=
"stylesheet"
type=
"text/css"
/>
<link
href=
"${ctx}/assets/global/css/plugins.css"
rel=
"stylesheet"
type=
"text/css"
/>
<link
href=
"${ctx}/assets/admin/layout/css/layout.css"
rel=
"stylesheet"
type=
"text/css"
/>
<link
href=
"${ctx}/assets/admin/layout/css/layout.css"
rel=
"stylesheet"
type=
"text/css"
/>
<link
href=
"${ctx}/assets/admin/layout/css/themes/default.css"
rel=
"stylesheet"
type=
"text/css"
id=
"style_color"
/>
<link
href=
"${ctx}/assets/admin/layout/css/themes/default.css"
rel=
"stylesheet"
type=
"text/css"
id=
"style_color"
/>
...
@@ -239,7 +239,7 @@
...
@@ -239,7 +239,7 @@
<div
class=
"page-footer-inner"
>
<div
class=
"page-footer-inner"
>
2016
©
<a
href=
"${ctx}/updateHistory.html"
>
SMD BOX
</a>
2016
©
<a
href=
"${ctx}/updateHistory.html"
>
SMD BOX
</a>
</div>
</div>
<span
class=
"right"
style=
"color: #a3a3a3;"
>
Version: 2021.03.
02
</span>
<span
class=
"right"
style=
"color: #a3a3a3;"
>
Version: 2021.03.
10
</span>
<div
class=
"scroll-to-top"
>
<div
class=
"scroll-to-top"
>
<i
class=
"icon-arrow-up"
></i>
<i
class=
"icon-arrow-up"
></i>
</div>
</div>
...
...
myproject/src/main/webapp/resources/admin/linePositions.csv
查看文件 @
2c8a7a7
此文件的差异被折叠,
点击展开。
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论