栏目管理

This commit is contained in:
zkr_liushenlu 2021-03-26 15:51:41 +08:00
parent 453ff2e880
commit db2df8c70f
8 changed files with 219 additions and 38 deletions

View File

@ -9,7 +9,7 @@ ruoyi:
# 实例演示开关
demoEnabled: true
# 文件路径 示例( Windows配置D:/ruoyi/uploadPathLinux配置 /home/ruoyi/uploadPath
profile: D:/ruoyi/uploadPath
profile: /Users/liushenlu/Desktop
# 获取ip地址开关
addressEnabled: false
@ -96,7 +96,7 @@ shiro:
# 首页地址
indexUrl: /index
# 验证码开关
captchaEnabled: true
captchaEnabled: false
# 验证码类型 math 数组计算 char 字符
captchaType: math
cookie:

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- 日志存放路径 -->
<property name="log.path" value="/home/ruoyi/logs" />
<property name="log.path" value="/Users/liushenlu/Desktop/logs" />
<!-- 日志输出格式 -->
<property name="log.pattern" value="%d{HH:mm:ss.SSS} [%thread] %-5level %logger{20} - [%method,%line] - %msg%n" />

View File

@ -1,6 +1,7 @@
package com.ruoyi.content.controller;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.content.domain.BaseCode;
import com.ruoyi.content.domain.BaseCodeTree;
@ -187,25 +188,19 @@ public class BaseCodeController extends BaseController {
/**
* 删除栏目
*
* @param request
* @param response
* @return
*/
@RequestMapping("/delColumn")
@ResponseBody
public Message delColumn(HttpServletRequest request, HttpServletResponse response) {
public AjaxResult delColumn(String ids) {
logger.info("进入删除栏目状态栏目控制层方法");
Message msg = new Message();
Thread.currentThread().setName(UUID.randomUUID().toString());
String ids = request.getParameter("ids");
try {
msg = baseCodeService.delBaseCode(ids);
return toAjax(baseCodeService.delBaseCode(ids));
} catch (Exception e) {
logger.info("修改栏目失败【{}】", e.getMessage());
e.printStackTrace();
}
logger.info("跳出删除栏目控制层方法");
return msg;
return toAjax(0);
}
/**

View File

@ -78,7 +78,7 @@ public interface BaseCodeService {
* @param ids
* @return
*/
Message delBaseCode(String ids);
Integer delBaseCode(String ids);
/**
* 查询栏目树

View File

@ -311,14 +311,13 @@ public class BaseCodeServiceImpl implements BaseCodeService {
* 删除栏目信息
*/
@Override
public Message delBaseCode(String ids) {
public Integer delBaseCode(String ids) {
String companyId = "1";
logger.info("进入删除栏目信息的业务方法。");
if (StringUtils.isBlank(ids)) {
logger.info("删除栏目失败,参数不足 ids【{}】", ids);
throw new ParameterException("栏目删除失败,参数不足!");
}
Message msg = new Message();
try {
String[] arr = ids.split(",");
for (String id : arr) {
@ -350,32 +349,25 @@ public class BaseCodeServiceImpl implements BaseCodeService {
}
logger.info("删除的redis的key是" + "baseCode_companyId" + companyId + "_branchId" + baseCode.getBranchId() + "_" + delCodeType);
redisManager.delete("baseCode_companyId" + companyId + "_branchId" + baseCode.getBranchId() + "_" + delCodeType);
//redisManager.delete("baseCode_companyId"+companyId+"_branchId"+baseCode.getBranchId()+"_"+baseCode.getCodeType());
}
msg.setInfo("成功删除栏目状态。");
msg.setResult(true);
logger.info("成功删除栏目状态!");
} else {
msg.setInfo("删除栏目状态失败。");
msg.setResult(false);
logger.info("删除栏目状态失败!");
return 0;
}
} else {
msg.setInfo("删除栏目状态失败。");
msg.setResult(false);
logger.info("删除栏目状态失败!");
return 0;
}
}
} catch (Exception e) {
logger.info("删除栏目状态异常【{}】", e.getMessage());
e.printStackTrace();
msg.setInfo("删除栏目状态失败!");
msg.setResult(false);
return 0;
}
logger.info("删除栏目状态的业务方法结束。");
return msg;
return 1;
}
/**

View File

@ -53,7 +53,7 @@
<if test="orderNo != null and orderNo!=''">
and ORDER_NO = #{orderNo,jdbcType=VARCHAR}
</if>
order by CODE_TYPE DESC,ORDER_NO*1 ASC, CREATE_TIME ASC, UPDATE_TIME ASC
order by CODE_TYPE DESC,ORDER_NO*1 ASC, CREATE_TIME DESC, UPDATE_TIME DESC
</select>
<resultMap id="BaseTreeResultMap" type="com.ruoyi.content.domain.BaseCodeTree">

View File

@ -29,7 +29,8 @@
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>
<a class="btn btn-success btn-rounded btn-sm" onclick="$.operate.add()">
<a class="btn btn-success btn-rounded btn-sm" data-toggle="modal" data-target="#myModal2"
onclick="">
<i class="fa fa-plus"></i> 添加
</a>
</li>
@ -42,21 +43,118 @@
</div>
</div>
</div>
<div class="modal inmodal" id="myModal2" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content animated flipInY">
<div class="modal-header" style="border-bottom: 0px solid #e5e5e5;">
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span
class="sr-only">Close</span>
</button>
<h5 class="modal-title" style="text-align: left;">添加栏目</h5>
</div>
<div class="modal-body" style="background: #ffffff;">
<form class="form-horizontal m" id="form-picAdverts-add">
<div class="col-md-12">
<div class="form-group">
<label class="col-sm-4 control-label">选择栏目所在公司:</label>
<div class="col-sm-8">
<select class="form-control" id="branchId" name="branchId"></select>
</div>
</div>
<div id="articleRadio">
<div class="form-group">
<label class="col-sm-4 control-label">栏目层级:</label>
<div class="col-sm-8">
<select class="form-control" name="sencondType" th:id="sencondType"
th:onchange="changeTab()">
<option value="sec">新建二级栏目</option>
<option value="thr">新建三级栏目</option>
</select>
</div>
</div>
</div>
<div id="addSecColumn">
<div class="form-group">
<label class="col-sm-4 control-label is-required">一级栏目名称:</label>
<div class="col-sm-8">
<select id="codeTypes" name="codeTypes" class="form-control"></select>
</div>
</div>
<div class="form-group">
<label class="col-sm-4 control-label is-required">二级栏目名称:</label>
<div class="col-sm-8">
<input type="text" class="form-control" id="codeCnames" name="codeCnames">
</div>
</div>
<div class="form-group" style="display:none">
<label class="col-sm-4 control-label">展示序号:</label>
<div class="col-sm-8">
<input type="text" class="form-control" id="orderNos" name="orderNos" value="1"/>
<label class="red">序号越小,展示越靠前。</label>
</div>
</div>
</div>
<div id="addThirdColumn" style="display:none">
<div class="form-group">
<label class="col-sm-4 control-label is-required">一级栏目名称:</label>
<div class="col-sm-8">
<select class="form-control">
<option>文库</option>
</select>
</div>
</div>
<div class="form-group" id="articleSelect">
<label class="col-sm-4 control-label is-required">选择二级栏目:</label>
<div class="col-sm-8">
<select th:id="selectSec" class="form-control" name="selectSec"></select>
</div>
</div>
<div class="form-group">
<label class="col-sm-4 control-label is-required">三级栏目名称:</label>
<div class="col-sm-8">
<input type="text" class="form-control" id="thirdCodeCnames" name="thirdCodeCnames">
</div>
<br/><br/><br/>
<div class="form-group" style="display:none">
<label class="col-sm-4 control-label">三级展示序号:</label>
<div class="col-sm-8">
<input type="text" class="form-control" id="thirdOrderNos" name="thirdOrderNos"
value="1" style="width:210px"/>
<label class="red">序号越小,展示越靠前。</label>
</div>
</div>
</div>
</div>
</div>
</form>
</div>
<div class="modal-footer" style="border-top: 0px solid #e5e5e5;">
<button type="button" class="btn btn-white" data-dismiss="modal">关闭</button>
<button type="button" class="btn btn-primary" th:onclick="addColumn()">确定</button>
</div>
</div>
</div>
</div>
<th:block th:include="include :: footer"/>
<script th:inline="javascript">
var prefix = ctx + 'column';
var prefix1 = ctx + 'ldcom/queryldcomList';
var prefix2 = ctx + 'column/addColumn';
var baseDataList = [];
var articleSecList = [];
var companyList = [];
var isClick = false;
$(function () {
var options = {
url: prefix + "/columnArry",
createUrl: prefix + "/add",
updateUrl: prefix + "/edit/{id}",
removeUrl: prefix + "/remove",
removeUrl: prefix + "/delColumn",
exportUrl: prefix + "/export",
modalName: "基础代码",
modalName: "栏目",
columns: [{
checkbox: true
},
@ -171,8 +269,39 @@
getBaseCode("FIRST_COLUMN");
setValueTolist();
selectArticleSecColumn();
queryCompany();
});
function changeTab() {
var radioValue = $("#sencondType option:selected").val();
if (radioValue == "sec") {
$("#addSecColumn").show();
$("#addThirdColumn").hide();
} else {
$("#addSecColumn").hide();
$("#addThirdColumn").show();
selectArticleSecColumn();
}
}
function queryCompany() {
$.ajax({
type: "post",
url: prefix1,
data: {},
async: false,
success: function (data) {
companyList = data.object.ldcomList;
for (var i = 0; i < companyList.length; i++) {
$("#branchId").append(
"<option value='" + companyList[i].comcode + "'>"
+ companyList[i].shortname + "</option>")
}
}
})
}
// 查询一级栏目
function getBaseCode(type) {
$.ajax({
@ -207,14 +336,14 @@
async: false,
type: "post",
success: function (data) {
if (data.dataRows != null && data.dataRows.length > 0) {
const dataRows = data.dataRows;
if (data.rows != null && data.rows.length > 0) {
const dataRows = data.rows;
articleSecList = dataRows;
$("#selectSec").empty();
$.each(dataRows, function (index, item) {
$("#selectSec").append("<option value='" + item.codeCode + "'>" + item.codeCname + "</option>");
});
for (var i = 0; i < dataRows.length; i++) {
$("#selectSec").append("<option value='" + dataRows[i].codeCode + "'>" + dataRows[i].codeCname + "</option>");
}
}
}
});
@ -230,6 +359,9 @@
$("#codeType").append(
"<option value='" + obj[i].codeCode + "'>" + obj[i].codeCname
+ "</option>");
$("#codeTypes").append(
"<option value='" + obj[i].codeCode + "'>" + obj[i].codeCname
+ "</option>");
}
}
@ -255,6 +387,68 @@
}
}
function addColumn() {
var consoleDlg = $("#addColumn");
var branchId = $("#branchId").val();
var radioValue = $("#sencondType option:selected").val();
var codeType = $("#codeTypes").val();
var codeCname = $("#codeCnames").val();
var selectSec = $("#selectSec").val();
var thirdCodeCnames = $("#thirdCodeCnames").val();
if (isClick) {
return false;
}
if (radioValue == "sec") {
if (codeType == '' || codeType == null) {
$.modal.alertSuccess("请选择一级栏目!");
return false;
}
if (codeCname == '' || codeCname == null) {
$.modal.alertSuccess("请填写二级栏目名称!");
return false;
}
} else {
if (selectSec == '' || selectSec == null) {
$.modal.alertSuccess("请选择二级栏目!");
return false;
}
if (thirdCodeCnames == '' || thirdCodeCnames == null) {
$.modal.alertSuccess("请填写三级栏目!");
return false;
}
}
isClick = true;
$.ajax({
url: prefix2,
data: {
"branchId": branchId,
"radioValue": radioValue,
"codeType": codeType,
"codeCname": codeCname,
"selectSec": selectSec,
"thirdCodeCnames": thirdCodeCnames
},
dataType: "json",
type: "post",
cache: false,
success: function (data) {
isClick = false;
if (data.result) {
const code = {
'code': 0
};
$.operate.successCallback(code);
} else {
$.modal.alertSuccess(data.info);
}
},
error: function (textStatus, e) {
isClick = false;
$.modal.alertSuccess('系统异常,请稍后重试!');
}
});
};
</script>
</body>
</html>

View File

@ -51,14 +51,14 @@
<div class="modal inmodal" id="myModal2" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content animated flipInY">
<div class="modal-header">
<div class="modal-header" style="border-bottom: 0px solid #e5e5e5;">
<input th:hidden="true" value="" th:id="pictureId"/>
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span
class="sr-only">Close</span>
</button>
<h5 class="modal-title" style="text-align: left;">分配栏目</h5>
</div>
<div class="modal-body">
<div class="modal-body" style="background: #ffffff;">
<div class="select-list">
<ul style="margin-top: -15px;">
<li>
@ -72,7 +72,7 @@
</ul>
</div>
</div>
<div class="modal-footer">
<div class="modal-footer" style="border-top: 0px solid #e5e5e5;">
<button type="button" class="btn btn-white" data-dismiss="modal">关闭</button>
<button type="button" class="btn btn-primary" th:onclick="saveData()">确定</button>
</div>