提交 c4d4087d 作者: dingtalk_nnkplh

增加录入专业QS排名功能,代码优化

上级 93f9955f
package com.ruoyi.web.controller.school;
import java.util.List;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.system.domain.TbSchoolMajorQsRecord;
import com.ruoyi.system.service.ITbSchoolMajorQsRecordService;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.utils.poi.ExcelUtil;
import com.ruoyi.common.core.page.TableDataInfo;
/**
* 学校专业QSController
*
* @author ruoyi
* @date 2022-11-16
*/
@Controller
@RequestMapping("/system/record")
public class TbSchoolMajorQsRecordController extends BaseController
{
private String prefix = "system/record";
@Autowired
private ITbSchoolMajorQsRecordService tbSchoolMajorQsRecordService;
@RequiresPermissions("system:record:view")
@GetMapping()
public String record()
{
return prefix + "/record";
}
/**
* 查询学校专业QS列表
*/
@RequiresPermissions("system:record:list")
@PostMapping("/list")
@ResponseBody
public TableDataInfo list(TbSchoolMajorQsRecord tbSchoolMajorQsRecord)
{
startPage();
List<TbSchoolMajorQsRecord> list = tbSchoolMajorQsRecordService.selectTbSchoolMajorQsRecordList(tbSchoolMajorQsRecord);
return getDataTable(list);
}
/**
* 导出学校专业QS列表
*/
@RequiresPermissions("system:record:export")
@Log(title = "学校专业QS", businessType = BusinessType.EXPORT)
@PostMapping("/export")
@ResponseBody
public AjaxResult export(TbSchoolMajorQsRecord tbSchoolMajorQsRecord)
{
List<TbSchoolMajorQsRecord> list = tbSchoolMajorQsRecordService.selectTbSchoolMajorQsRecordList(tbSchoolMajorQsRecord);
ExcelUtil<TbSchoolMajorQsRecord> util = new ExcelUtil<TbSchoolMajorQsRecord>(TbSchoolMajorQsRecord.class);
return util.exportExcel(list, "学校专业QS数据");
}
/**
* 新增学校专业QS
*/
@GetMapping("/add")
public String add()
{
return prefix + "/add";
}
/**
* 新增保存学校专业QS
*/
@RequiresPermissions("system:record:add")
@Log(title = "学校专业QS", businessType = BusinessType.INSERT)
@PostMapping("/add")
@ResponseBody
public AjaxResult addSave(TbSchoolMajorQsRecord tbSchoolMajorQsRecord)
{
return toAjax(tbSchoolMajorQsRecordService.insertTbSchoolMajorQsRecord(tbSchoolMajorQsRecord));
}
/**
* 修改学校专业QS
*/
@RequiresPermissions("system:record:edit")
@GetMapping("/edit/{id}")
public String edit(@PathVariable("id") Long id, ModelMap mmap)
{
TbSchoolMajorQsRecord tbSchoolMajorQsRecord = tbSchoolMajorQsRecordService.selectTbSchoolMajorQsRecordById(id);
mmap.put("tbSchoolMajorQsRecord", tbSchoolMajorQsRecord);
return prefix + "/edit";
}
/**
* 修改保存学校专业QS
*/
@RequiresPermissions("system:record:edit")
@Log(title = "学校专业QS", businessType = BusinessType.UPDATE)
@PostMapping("/edit")
@ResponseBody
public AjaxResult editSave(TbSchoolMajorQsRecord tbSchoolMajorQsRecord)
{
return toAjax(tbSchoolMajorQsRecordService.updateTbSchoolMajorQsRecord(tbSchoolMajorQsRecord));
}
/**
* 删除学校专业QS
*/
@RequiresPermissions("system:record:remove")
@Log(title = "学校专业QS", businessType = BusinessType.DELETE)
@PostMapping( "/remove")
@ResponseBody
public AjaxResult remove(String ids)
{
return toAjax(tbSchoolMajorQsRecordService.deleteTbSchoolMajorQsRecordByIds(ids));
}
}
...@@ -1155,9 +1155,9 @@ var table = { ...@@ -1155,9 +1155,9 @@ var table = {
return; return;
} }
var url = table.options.updateUrl.replace("{id}", row[table.options.uniqueId]); var url = table.options.updateUrl.replace("{id}", row[table.options.uniqueId]);
$.modal.open("修改" + table.options.modalName, url); $.modal.openFull("修改" + table.options.modalName, url);
} else { } else {
$.modal.open("修改" + table.options.modalName, $.operate.editUrl(id)); $.modal.openFull("修改" + table.options.modalName, $.operate.editUrl(id));
} }
}, },
// 修改信息,以tab页展现 // 修改信息,以tab页展现
......
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
</div> </div>
<div class="btn-group-sm" id="toolbar" role="group"> <div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="system:news:add"> <a class="btn btn-success" onclick="$.operate.addFull()" shiro:hasPermission="system:news:add">
<i class="fa fa-plus"></i> 添加 <i class="fa fa-plus"></i> 添加
</a> </a>
<a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:news:edit"> <a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:news:edit">
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
</form> </form>
</div> </div>
<div class="btn-group-sm" id="toolbar" role="group"> <div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="business:notice:add"> <a class="btn btn-success" onclick="$.operate.addFull()" shiro:hasPermission="business:notice:add">
<i class="fa fa-plus"></i> 添加 <i class="fa fa-plus"></i> 添加
</a> </a>
<a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="business:notice:edit"> <a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="business:notice:edit">
......
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
</div> </div>
<div class="btn-group-sm" id="toolbar" role="group"> <div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="system:atlas:add"> <a class="btn btn-success" onclick="$.operate.addFull()" shiro:hasPermission="system:atlas:add">
<i class="fa fa-plus"></i> 添加 <i class="fa fa-plus"></i> 添加
</a> </a>
<a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:atlas:edit"> <a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:atlas:edit">
......
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
</div> </div>
<div class="btn-group-sm" id="toolbar" role="group"> <div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="system:demo:add"> <a class="btn btn-success" onclick="$.operate.addFull()" shiro:hasPermission="system:demo:add">
<i class="fa fa-plus"></i> 添加 <i class="fa fa-plus"></i> 添加
</a> </a>
<a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:demo:edit"> <a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:demo:edit">
......
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
</div> </div>
<div class="btn-group-sm" id="toolbar" role="group"> <div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="system:facilities:add"> <a class="btn btn-success" onclick="$.operate.addFull()" shiro:hasPermission="system:facilities:add">
<i class="fa fa-plus"></i> 添加 <i class="fa fa-plus"></i> 添加
</a> </a>
<a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:facilities:edit"> <a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:facilities:edit">
......
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
</div> </div>
<div class="btn-group-sm" id="toolbar" role="group"> <div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="system:icon:add"> <a class="btn btn-success" onclick="$.operate.addFull()" shiro:hasPermission="system:icon:add">
<i class="fa fa-plus"></i> 添加 <i class="fa fa-plus"></i> 添加
</a> </a>
<a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:icon:edit"> <a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:icon:edit">
......
...@@ -42,32 +42,23 @@ ...@@ -42,32 +42,23 @@
<input name="majorCnName" class="form-control" type="text" required> <input name="majorCnName" class="form-control" type="text" required>
</div> </div>
</div> </div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">专业QS排名:</label>
<div class="col-sm-8">
<input name="qs" class="form-control" type="text" required>
</div>
</div>
<!-- <div class="form-group">--> <!-- <div class="form-group">-->
<!-- <label class="col-sm-3 control-label is-required">专业图标:</label>--> <!-- <label class="col-sm-3 control-label is-required">专业QS排名:</label>-->
<!-- <input name="majorIcon" type="hidden" id="majorIcon"/>-->
<!-- <div class="col-sm-8">--> <!-- <div class="col-sm-8">-->
<!-- <div class="file-loading">--> <!-- <input name="qs" class="form-control" type="text" required>-->
<!-- <input id="singleFile" name="file" type="file">--> <!-- </div>-->
<!-- </div>-->
<!-- <div class="form-group">-->
<!-- <label class="col-sm-3 control-label">专业图标:</label>-->
<!-- <div class="col-sm-8">-->
<!-- <input id="majorIcon" name="majorIcon" class="form-control" type="text" placeholder="选择图标">-->
<!-- <div class="ms-parent" style="width: 100%;">-->
<!-- <div class="icon-drop animated flipInX" style="display: none;max-height:200px;overflow-y:auto">-->
<!-- <div data-th-include="system/major/icon"></div>-->
<!-- </div>-->
<!-- </div>--> <!-- </div>-->
<!-- </div>--> <!-- </div>-->
<!-- </div>--> <!-- </div>-->
<div class="form-group">
<label class="col-sm-3 control-label">专业图标:</label>
<div class="col-sm-8">
<input id="majorIcon" name="majorIcon" class="form-control" type="text" placeholder="选择图标">
<div class="ms-parent" style="width: 100%;">
<div class="icon-drop animated flipInX" style="display: none;max-height:200px;overflow-y:auto">
<div data-th-include="system/major/icon"></div>
</div>
</div>
</div>
</div>
<!-- <div class="form-group">--> <!-- <div class="form-group">-->
<!-- <label class="col-sm-3 control-label is-required">专业封面(大小:390*280):</label>--> <!-- <label class="col-sm-3 control-label is-required">专业封面(大小:390*280):</label>-->
<!-- <input name="majorCover" type="hidden" id="majorCover"/>--> <!-- <input name="majorCover" type="hidden" id="majorCover"/>-->
...@@ -242,28 +233,28 @@ ...@@ -242,28 +233,28 @@
focusCleanup: true focusCleanup: true
}); });
$(function() { // $(function() {
$("input[name='majorIcon']").focus(function() { // $("input[name='majorIcon']").focus(function() {
$(".icon-drop").show(); // $(".icon-drop").show();
}); // });
$("#form-major-add").click(function(event) { // $("#form-major-add").click(function(event) {
var obj = event.srcElement || event.target; // var obj = event.srcElement || event.target;
if (!$(obj).is("input[name='majorIcon']")) { // if (!$(obj).is("input[name='majorIcon']")) {
$(".icon-drop").hide(); // $(".icon-drop").hide();
} // }
}); // });
$(".icon-drop").find(".ico-list img").on("click", function() { // $(".icon-drop").find(".ico-list img").on("click", function() {
$('#majorIcon').val($(this).attr('class')); // $('#majorIcon').val($(this).attr('class'));
}); // });
}); // });
function submitHandler() { function submitHandler() {
// var a=$("#majorCover").val(); // var a=$("#majorCover").val();
var b=$("#majorIcon").val(); // var b=$("#majorIcon").val();
if(b==null || b.length<=0){ // if(b==null || b.length<=0){
alert("请选择专业图标"); // alert("请选择专业图标");
return ; // return ;
} // }
// if(a==null || a.length<=0){ // if(a==null || a.length<=0){
// alert("请上传专业封面"); // alert("请上传专业封面");
......
...@@ -35,26 +35,26 @@ ...@@ -35,26 +35,26 @@
<input id="majorCnName" th:field="*{majorCnName}" class="form-control" type="text" required> <input id="majorCnName" th:field="*{majorCnName}" class="form-control" type="text" required>
</div> </div>
</div> </div>
<div class="form-group"> <!-- <div class="form-group">-->
<label class="col-sm-3 control-label is-required">专业QS排名:</label> <!-- <label class="col-sm-3 control-label is-required">专业QS排名:</label>-->
<div class="col-sm-8"> <!-- <div class="col-sm-8">-->
<input id="qs" th:field="*{qs}" class="form-control" type="text" required> <!-- <input id="qs" th:field="*{qs}" class="form-control" type="text" required>-->
</div> <!-- </div>-->
</div> <!-- </div>-->
<div class="form-group"> <!-- <div class="form-group">-->
<label class="col-sm-3 control-label is-required">专业图标:</label> <!-- <label class="col-sm-3 control-label is-required">专业图标:</label>-->
<div class="col-sm-8"> <!-- <div class="col-sm-8">-->
<!-- <div class="file-loading">--> <!--&lt;!&ndash; <div class="file-loading">&ndash;&gt;-->
<!-- <input id="singleFile" name="file" type="file">--> <!--&lt;!&ndash; <input id="singleFile" name="file" type="file">&ndash;&gt;-->
<!--&lt;!&ndash; </div>&ndash;&gt;-->
<!-- <input id="majorIcon" class="form-control" th:field="*{majorIcon}">-->
<!-- <div class="ms-parent" style="width: 100%;">-->
<!-- <div class="icon-drop animated flipInX" style="display: none;max-height:200px;overflow-y:auto">-->
<!-- <div data-th-include="system/major/icon"></div>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>--> <!-- </div>-->
<input id="majorIcon" class="form-control" th:field="*{majorIcon}">
<div class="ms-parent" style="width: 100%;">
<div class="icon-drop animated flipInX" style="display: none;max-height:200px;overflow-y:auto">
<div data-th-include="system/major/icon"></div>
</div>
</div>
</div>
</div>
<!-- <div class="form-group">--> <!-- <div class="form-group">-->
<!-- <label class="col-sm-3 control-label is-required">专业封面:</label>--> <!-- <label class="col-sm-3 control-label is-required">专业封面:</label>-->
<!-- <input type="hidden" class="form-control" th:field="*{majorCover}">--> <!-- <input type="hidden" class="form-control" th:field="*{majorCover}">-->
...@@ -160,20 +160,20 @@ ...@@ -160,20 +160,20 @@
focusCleanup: true focusCleanup: true
}); });
$(function() { // $(function() {
$("input[name='majorIcon']").focus(function() { // $("input[name='majorIcon']").focus(function() {
$(".icon-drop").show(); // $(".icon-drop").show();
}); // });
$("#form-major-edit").click(function(event) { // $("#form-major-edit").click(function(event) {
var obj = event.srcElement || event.target; // var obj = event.srcElement || event.target;
if (!$(obj).is("input[name='majorIcon']")) { // if (!$(obj).is("input[name='majorIcon']")) {
$(".icon-drop").hide(); // $(".icon-drop").hide();
} // }
}); // });
$(".icon-drop").find(".ico-list img").on("click", function() { // $(".icon-drop").find(".ico-list img").on("click", function() {
$('#majorIcon').val($(this).attr('class')); // $('#majorIcon').val($(this).attr('class'));
}); // });
}); // });
function submitHandler() { function submitHandler() {
if ($.validate.form()) { if ($.validate.form()) {
......
...@@ -26,30 +26,30 @@ ...@@ -26,30 +26,30 @@
<input name="majorCnName" th:field="*{majorCnName}" class="form-control" type="text" disabled="true"> <input name="majorCnName" th:field="*{majorCnName}" class="form-control" type="text" disabled="true">
</div> </div>
</div> </div>
<div class="form-group"> <!-- <div class="form-group">-->
<label class="col-sm-3 control-label is-required">专业QS排名:</label> <!-- <label class="col-sm-3 control-label is-required">专业QS排名:</label>-->
<div class="col-sm-8"> <!-- <div class="col-sm-8">-->
<input id="qs" th:field="*{qs}" class="form-control" type="text" disabled="true"> <!-- <input id="qs" th:field="*{qs}" class="form-control" type="text" disabled="true">-->
</div> <!-- </div>-->
</div> <!-- </div>-->
<div class="form-group"> <!-- <div class="form-group">-->
<label class="col-sm-3 control-label is-required">专业图标:</label> <!-- <label class="col-sm-3 control-label is-required">专业图标:</label>-->
<input type="hidden" class="form-control" th:field="*{majorIcon}"> <!-- <input type="hidden" class="form-control" th:field="*{majorIcon}">-->
<div class="col-sm-8"> <!-- <div class="col-sm-8">-->
<div class="file-loading"> <!-- <div class="file-loading">-->
<input id="singleFile" name="file" type="file"> <!-- <input id="singleFile" name="file" type="file">-->
</div> <!-- </div>-->
</div> <!-- </div>-->
</div> <!-- </div>-->
<div class="form-group"> <!-- <div class="form-group">-->
<label class="col-sm-3 control-label is-required">专业封面:</label> <!-- <label class="col-sm-3 control-label is-required">专业封面:</label>-->
<input type="hidden" class="form-control" th:field="*{majorCover}"> <!-- <input type="hidden" class="form-control" th:field="*{majorCover}">-->
<div class="col-sm-8"> <!-- <div class="col-sm-8">-->
<div class="file-loading"> <!-- <div class="file-loading">-->
<input id="singleMajorCover" name="file" type="file"> <!-- <input id="singleMajorCover" name="file" type="file">-->
</div> <!-- </div>-->
</div> <!-- </div>-->
</div> <!-- </div>-->
<div class="form-group"> <div class="form-group">
<label class="col-sm-3 control-label is-required">学位中文名称:</label> <label class="col-sm-3 control-label is-required">学位中文名称:</label>
<div class="col-sm-8"> <div class="col-sm-8">
......
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
</div> </div>
<div class="btn-group-sm" id="toolbar" role="group"> <div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="system:material:add"> <a class="btn btn-success" onclick="$.operate.addFull()" shiro:hasPermission="system:material:add">
<i class="fa fa-plus"></i> 添加 <i class="fa fa-plus"></i> 添加
</a> </a>
<a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:material:edit"> <a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:material:edit">
......
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
<a class="btn btn-success" onclick="$.operate.addFull()" shiro:hasPermission="system:notice:add"> <a class="btn btn-success" onclick="$.operate.addFull()" shiro:hasPermission="system:notice:add">
<i class="fa fa-plus"></i> 新增 <i class="fa fa-plus"></i> 新增
</a> </a>
<a class="btn btn-primary single disabled" onclick="$.operate.editFull()" shiro:hasPermission="system:notice:edit"> <a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:notice:edit">
<i class="fa fa-edit"></i> 修改 <i class="fa fa-edit"></i> 修改
</a> </a>
<a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="system:notice:remove"> <a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="system:notice:remove">
......
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
</div> </div>
<div class="btn-group-sm" id="toolbar" role="group"> <div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="system:partners:add"> <a class="btn btn-success" onclick="$.operate.addFull()" shiro:hasPermission="system:partners:add">
<i class="fa fa-plus"></i> 添加 <i class="fa fa-plus"></i> 添加
</a> </a>
<a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:partners:edit"> <a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:partners:edit">
......
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('新增学校专业QS')" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-record-add">
<div class="form-group">
<label class="col-sm-3 control-label is-required">所属学校id:</label>
<div class="col-sm-8">
<select id="schoolId" class="form-control select2-multiple">
<option>请选择学校</option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">专业名称:</label>
<div class="col-sm-8">
<input name="majorName" class="form-control" type="text" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">专业排名:</label>
<div class="col-sm-8">
<input name="majorQs" class="form-control" type="text" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label">专业图标:</label>
<div class="col-sm-8">
<input id="majorIcon" name="majorIcon" class="form-control" type="text" placeholder="选择图标">
<div class="ms-parent" style="width: 100%;">
<div class="icon-drop animated flipInX" style="display: none;max-height:200px;overflow-y:auto">
<div data-th-include="system/major/icon"></div>
</div>
</div>
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var prefix = ctx + "system/record"
$("#form-record-add").validate({
focusCleanup: true
});
function submitHandler() {
var b=$("#majorIcon").val();
if(b==null || b.length<=0){
alert("请选择专业图标");
return ;
}
if ($.validate.form()) {
$.operate.save(prefix + "/add", $('#form-record-add').serialize()+"&schoolId="+$("#schoolId")[0].value);
}
}
$(function() {
$("input[name='majorIcon']").focus(function() {
$(".icon-drop").show();
});
$("#form-record-add").click(function(event) {
var obj = event.srcElement || event.target;
if (!$(obj).is("input[name='majorIcon']")) {
$(".icon-drop").hide();
}
});
$(".icon-drop").find(".ico-list img").on("click", function() {
$('#majorIcon').val($(this).attr('class'));
});
});
$(document).ready(function() {
<!--异步请求-->
$.ajax({
<!--请求路径,与后端对应-->
url: ctx + "system/school/getList",
<!--请求类型-->
type: "get",
<!--期待的返回数据类型-->
dataType: "json",
<!--前端接收数据成功是执行的该函数-->
success: function (data) {
<!--清空下拉框中的缓存-->
// $("#city").empty();
<!--使用循环解析后端传来的数据,并用使用js动态拼接html语言-->
for (var i = 0; i < data.length; i++)
$("#schoolId").append("<option value='" + data[i].id + "'>" + data[i].schoolCnName + "</option>");
}
});
});
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('修改学校专业QS')" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-record-edit" th:object="${tbSchoolMajorQsRecord}">
<input name="id" th:field="*{id}" type="hidden">
<div class="form-group">
<label class="col-sm-3 control-label is-required">学校名称:</label>
<div class="col-sm-8">
<input name="schoolId" th:field="*{schoolName}" class="form-control" type="text" disabled="true">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">专业名称:</label>
<div class="col-sm-8">
<input name="majorName" th:field="*{majorName}" class="form-control" type="text" disabled="true">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">专业排名:</label>
<div class="col-sm-8">
<input name="majorQs" th:field="*{majorQs}" class="form-control" type="text" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">专业图标:</label>
<div class="col-sm-8">
<input id="majorIcon" class="form-control" th:field="*{majorIcon}">
<div class="ms-parent" style="width: 100%;">
<div class="icon-drop animated flipInX" style="display: none;max-height:200px;overflow-y:auto">
<div data-th-include="system/major/icon"></div>
</div>
</div>
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var prefix = ctx + "system/record";
$("#form-record-edit").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(prefix + "/edit", $('#form-record-edit').serialize());
}
}
$(function() {
$("input[name='majorIcon']").focus(function() {
$(".icon-drop").show();
});
$("#form-record-edit").click(function(event) {
var obj = event.srcElement || event.target;
if (!$(obj).is("input[name='majorIcon']")) {
$(".icon-drop").hide();
}
});
$(".icon-drop").find(".ico-list img").on("click", function() {
$('#majorIcon').val($(this).attr('class'));
});
});
</script>
</body>
</html>
\ No newline at end of file
<!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('学校专业QS列表')" />
</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>
<select id="schoolId" class="form-control select2-multiple">
<option>请选择学校</option>
</select>
</li>
<li>
<label>专业名称:</label>
<input type="text" name="majorName"/>
</li>
<!-- <li>-->
<!-- <label>专业排名:</label>-->
<!-- <input type="text" name="majorQs"/>-->
<!-- </li>-->
<!-- <li>-->
<!-- <label>专业图标:</label>-->
<!-- <input type="text" name="majorIcon"/>-->
<!-- </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.addFull()" shiro:hasPermission="system:record:add">
<i class="fa fa-plus"></i> 添加
</a>
<a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:record:edit">
<i class="fa fa-edit"></i> 修改
</a>
<a class="btn btn-danger multiple disabled" onclick="$.operate.removeAll()" shiro:hasPermission="system:record:remove">
<i class="fa fa-remove"></i> 删除
</a>
<!-- <a class="btn btn-warning" onclick="$.table.exportExcel()" shiro:hasPermission="system:record: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 editFlag = [[${@permission.hasPermi('system:record:edit')}]];
var removeFlag = [[${@permission.hasPermi('system:record:remove')}]];
var prefix = ctx + "system/record";
$(function() {
var options = {
url: prefix + "/list",
queryParams: queryParams,
createUrl: prefix + "/add",
updateUrl: prefix + "/edit/{id}",
removeUrl: prefix + "/remove",
exportUrl: prefix + "/export",
modalName: "学校专业QS",
columns: [{
checkbox: true
},
{
field: 'id',
title: '${comment}',
visible: false
},
{
field: 'schoolName',
title: '学校名称'
},
{
field: 'majorName',
title: '专业名称'
},
{
field: 'majorQs',
title: '专业排名'
},
{
field: 'majorIcon',
title: '专业图标'
},
{
title: '操作',
align: 'center',
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-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);
});
$(document).ready(function() {
<!--异步请求-->
$.ajax({
<!--请求路径,与后端对应-->
url: ctx + "system/school/getList",
<!--请求类型-->
type: "get",
<!--期待的返回数据类型-->
dataType: "json",
<!--前端接收数据成功是执行的该函数-->
success: function (data) {
<!--清空下拉框中的缓存-->
// $("#city").empty();
<!--使用循环解析后端传来的数据,并用使用js动态拼接html语言-->
for (var i = 0; i < data.length; i++)
$("#schoolId").append("<option value='" + data[i].id + "'>" + data[i].schoolCnName + "</option>");
}
});
});
function queryParams(params) {
var search = $.table.queryParams(params);
var ii=$("#schoolId")[0].value;
if(ii != '请选择学校'){
search.schoolId= ii;
}
return search;
}
</script>
</body>
</html>
\ No newline at end of file
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
</form> </form>
</div> </div>
<div class="btn-group-sm" id="toolbar" role="group"> <div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="system:requirements:add"> <a class="btn btn-success" onclick="$.operate.addFull()" shiro:hasPermission="system:requirements:add">
<i class="fa fa-plus"></i> 添加 <i class="fa fa-plus"></i> 添加
</a> </a>
<a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:requirements:edit"> <a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:requirements:edit">
......
...@@ -16,46 +16,12 @@ ...@@ -16,46 +16,12 @@
<option>请选择学校</option> <option>请选择学校</option>
</select> </select>
</li> </li>
<!-- <li>-->
<!-- <label>校区:</label>-->
<!-- <select id="campusId" class="form-control select2-multiple">-->
<!-- <option>请选择校区</option>-->
<!-- </select>-->
<!-- </li>-->
<li> <li>
<label>专业:</label> <label>专业:</label>
<select id="majorId" class="form-control select2-multiple"> <select id="majorId" class="form-control select2-multiple">
<option>请选择专业</option> <option>请选择专业</option>
</select> </select>
</li> </li>
<!-- <li>-->
<!-- <label>开学时间:</label>-->
<!-- <input type="text" class="time-input" placeholder="请选择入学时间" name="enrollmentTime"/>-->
<!-- </li>-->
<!-- <li>-->
<!-- <label>申请开始时间:</label>-->
<!-- <input type="text" class="time-input" placeholder="请选择申请开始时间" name="applyStartDate"/>-->
<!-- </li>-->
<!-- <li>-->
<!-- <label>申请结束时间:</label>-->
<!-- <input type="text" class="time-input" placeholder="请选择申请结束时间" name="applyEndDate"/>-->
<!-- </li>-->
<!-- <li>-->
<!-- <label>创建人:</label>-->
<!-- <input type="text" name="creator"/>-->
<!-- </li>-->
<!-- <li>-->
<!-- <label>修改人:</label>-->
<!-- <input type="text" name="modifiedBy"/>-->
<!-- </li>-->
<!-- <li>-->
<!-- <label>审核人:</label>-->
<!-- <input type="text" name="checker"/>-->
<!-- </li>-->
<!-- <li>-->
<!-- <label>审核时间:</label>-->
<!-- <input type="text" class="time-input" placeholder="请选择审核时间" name="checkTime"/>-->
<!-- </li>-->
<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-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> <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i>&nbsp;重置</a>
...@@ -66,7 +32,7 @@ ...@@ -66,7 +32,7 @@
</div> </div>
<div class="btn-group-sm" id="toolbar" role="group"> <div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="$.operate.add()" shiro:hasPermission="system:time:add"> <a class="btn btn-success" onclick="$.operate.addFull()" shiro:hasPermission="system:time:add">
<i class="fa fa-plus"></i> 添加 <i class="fa fa-plus"></i> 添加
</a> </a>
<a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:time:edit"> <a class="btn btn-primary single disabled" onclick="$.operate.edit()" shiro:hasPermission="system:time:edit">
......
package com.ruoyi.system.domain;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
/**
* 学校专业QS对象 tb_school_major_qs_record
*
* @author ruoyi
* @date 2022-11-16
*/
public class TbSchoolMajorQsRecord extends BaseEntity
{
private static final long serialVersionUID = 1L;
/** $column.columnComment */
private Long id;
/** 所属学校id */
@Excel(name = "所属学校id")
private Long schoolId;
private String schoolName;
/** 专业名称 */
@Excel(name = "专业名称")
private String majorName;
/** 专业排名 */
@Excel(name = "专业排名")
private String majorQs;
/** 专业图标 */
@Excel(name = "专业图标")
private String majorIcon;
public void setId(Long id)
{
this.id = id;
}
public Long getId()
{
return id;
}
public void setSchoolId(Long schoolId)
{
this.schoolId = schoolId;
}
public Long getSchoolId()
{
return schoolId;
}
public void setMajorName(String majorName)
{
this.majorName = majorName;
}
public String getMajorName()
{
return majorName;
}
public void setMajorQs(String majorQs)
{
this.majorQs = majorQs;
}
public String getMajorQs()
{
return majorQs;
}
public void setMajorIcon(String majorIcon)
{
this.majorIcon = majorIcon;
}
public String getMajorIcon()
{
return majorIcon;
}
public String getSchoolName() {
return schoolName;
}
public void setSchoolName(String schoolName) {
this.schoolName = schoolName;
}
@Override
public String toString() {
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("schoolId", getSchoolId())
.append("majorName", getMajorName())
.append("majorQs", getMajorQs())
.append("majorIcon", getMajorIcon())
.toString();
}
}
package com.ruoyi.system.mapper;
import java.util.List;
import com.ruoyi.system.domain.TbSchoolMajorQsRecord;
import org.apache.ibatis.annotations.Mapper;
/**
* 学校专业QSMapper接口
*
* @author ruoyi
* @date 2022-11-16
*/
@Mapper
public interface TbSchoolMajorQsRecordMapper
{
/**
* 查询学校专业QS
*
* @param id 学校专业QS主键
* @return 学校专业QS
*/
public TbSchoolMajorQsRecord selectTbSchoolMajorQsRecordById(Long id);
/**
* 查询学校专业QS列表
*
* @param tbSchoolMajorQsRecord 学校专业QS
* @return 学校专业QS集合
*/
public List<TbSchoolMajorQsRecord> selectTbSchoolMajorQsRecordList(TbSchoolMajorQsRecord tbSchoolMajorQsRecord);
/**
* 新增学校专业QS
*
* @param tbSchoolMajorQsRecord 学校专业QS
* @return 结果
*/
public int insertTbSchoolMajorQsRecord(TbSchoolMajorQsRecord tbSchoolMajorQsRecord);
/**
* 修改学校专业QS
*
* @param tbSchoolMajorQsRecord 学校专业QS
* @return 结果
*/
public int updateTbSchoolMajorQsRecord(TbSchoolMajorQsRecord tbSchoolMajorQsRecord);
/**
* 删除学校专业QS
*
* @param id 学校专业QS主键
* @return 结果
*/
public int deleteTbSchoolMajorQsRecordById(Long id);
/**
* 批量删除学校专业QS
*
* @param ids 需要删除的数据主键集合
* @return 结果
*/
public int deleteTbSchoolMajorQsRecordByIds(String[] ids);
}
package com.ruoyi.system.service;
import java.util.List;
import com.ruoyi.system.domain.TbSchoolMajorQsRecord;
/**
* 学校专业QSService接口
*
* @author ruoyi
* @date 2022-11-16
*/
public interface ITbSchoolMajorQsRecordService
{
/**
* 查询学校专业QS
*
* @param id 学校专业QS主键
* @return 学校专业QS
*/
public TbSchoolMajorQsRecord selectTbSchoolMajorQsRecordById(Long id);
/**
* 查询学校专业QS列表
*
* @param tbSchoolMajorQsRecord 学校专业QS
* @return 学校专业QS集合
*/
public List<TbSchoolMajorQsRecord> selectTbSchoolMajorQsRecordList(TbSchoolMajorQsRecord tbSchoolMajorQsRecord);
/**
* 新增学校专业QS
*
* @param tbSchoolMajorQsRecord 学校专业QS
* @return 结果
*/
public int insertTbSchoolMajorQsRecord(TbSchoolMajorQsRecord tbSchoolMajorQsRecord);
/**
* 修改学校专业QS
*
* @param tbSchoolMajorQsRecord 学校专业QS
* @return 结果
*/
public int updateTbSchoolMajorQsRecord(TbSchoolMajorQsRecord tbSchoolMajorQsRecord);
/**
* 批量删除学校专业QS
*
* @param ids 需要删除的学校专业QS主键集合
* @return 结果
*/
public int deleteTbSchoolMajorQsRecordByIds(String ids);
/**
* 删除学校专业QS信息
*
* @param id 学校专业QS主键
* @return 结果
*/
public int deleteTbSchoolMajorQsRecordById(Long id);
}
package com.ruoyi.system.service.impl;
import java.util.List;
import java.util.stream.Collectors;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.system.mapper.TbSchoolMajorQsRecordMapper;
import com.ruoyi.system.domain.TbSchoolMajorQsRecord;
import com.ruoyi.system.service.ITbSchoolMajorQsRecordService;
import com.ruoyi.common.core.text.Convert;
/**
* 学校专业QSService业务层处理
*
* @author ruoyi
* @date 2022-11-16
*/
@Service
public class TbSchoolMajorQsRecordServiceImpl implements ITbSchoolMajorQsRecordService
{
@Autowired
private TbSchoolMajorQsRecordMapper tbSchoolMajorQsRecordMapper;
@Autowired
private CommonServiceImpl commonService;
/**
* 查询学校专业QS
*
* @param id 学校专业QS主键
* @return 学校专业QS
*/
@Override
public TbSchoolMajorQsRecord selectTbSchoolMajorQsRecordById(Long id)
{
TbSchoolMajorQsRecord tbSchoolMajorQsRecord=tbSchoolMajorQsRecordMapper.selectTbSchoolMajorQsRecordById(id);
tbSchoolMajorQsRecord.setSchoolName(commonService.getSchoolCnName(tbSchoolMajorQsRecord.getSchoolId()));
return tbSchoolMajorQsRecord;
}
/**
* 查询学校专业QS列表
*
* @param tbSchoolMajorQsRecord 学校专业QS
* @return 学校专业QS
*/
@Override
public List<TbSchoolMajorQsRecord> selectTbSchoolMajorQsRecordList(TbSchoolMajorQsRecord tbSchoolMajorQsRecord)
{
List<TbSchoolMajorQsRecord> list=tbSchoolMajorQsRecordMapper.selectTbSchoolMajorQsRecordList(tbSchoolMajorQsRecord);
list.stream().filter(tbSchoolMajorQsRecord1 -> {
tbSchoolMajorQsRecord1.setSchoolName(commonService.getSchoolCnName(tbSchoolMajorQsRecord1.getSchoolId()));
return true;
}).collect(Collectors.toList());
return list;
}
/**
* 新增学校专业QS
*
* @param tbSchoolMajorQsRecord 学校专业QS
* @return 结果
*/
@Override
public int insertTbSchoolMajorQsRecord(TbSchoolMajorQsRecord tbSchoolMajorQsRecord)
{
return tbSchoolMajorQsRecordMapper.insertTbSchoolMajorQsRecord(tbSchoolMajorQsRecord);
}
/**
* 修改学校专业QS
*
* @param tbSchoolMajorQsRecord 学校专业QS
* @return 结果
*/
@Override
public int updateTbSchoolMajorQsRecord(TbSchoolMajorQsRecord tbSchoolMajorQsRecord)
{
return tbSchoolMajorQsRecordMapper.updateTbSchoolMajorQsRecord(tbSchoolMajorQsRecord);
}
/**
* 批量删除学校专业QS
*
* @param ids 需要删除的学校专业QS主键
* @return 结果
*/
@Override
public int deleteTbSchoolMajorQsRecordByIds(String ids)
{
return tbSchoolMajorQsRecordMapper.deleteTbSchoolMajorQsRecordByIds(Convert.toStrArray(ids));
}
/**
* 删除学校专业QS信息
*
* @param id 学校专业QS主键
* @return 结果
*/
@Override
public int deleteTbSchoolMajorQsRecordById(Long id)
{
return tbSchoolMajorQsRecordMapper.deleteTbSchoolMajorQsRecordById(id);
}
}
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ruoyi.system.mapper.TbSchoolMajorQsRecordMapper">
<resultMap type="TbSchoolMajorQsRecord" id="TbSchoolMajorQsRecordResult">
<result property="id" column="id" />
<result property="schoolId" column="school_id" />
<result property="majorName" column="major_name" />
<result property="majorQs" column="major_qs" />
<result property="majorIcon" column="major_icon" />
</resultMap>
<sql id="selectTbSchoolMajorQsRecordVo">
select id, school_id, major_name, major_qs, major_icon from tb_school_major_qs_record
</sql>
<select id="selectTbSchoolMajorQsRecordList" parameterType="TbSchoolMajorQsRecord" resultMap="TbSchoolMajorQsRecordResult">
<include refid="selectTbSchoolMajorQsRecordVo"/>
<where>
<if test="schoolId != null "> and school_id = #{schoolId}</if>
<if test="majorName != null and majorName != ''"> and major_name like concat('%', #{majorName}, '%')</if>
<!-- <if test="majorQs != null "> and major_qs = #{majorQs}</if>-->
<!-- <if test="majorIcon != null and majorIcon != ''"> and major_icon = #{majorIcon}</if>-->
</where>
</select>
<select id="selectTbSchoolMajorQsRecordById" parameterType="Long" resultMap="TbSchoolMajorQsRecordResult">
<include refid="selectTbSchoolMajorQsRecordVo"/>
where id = #{id}
</select>
<insert id="insertTbSchoolMajorQsRecord" parameterType="TbSchoolMajorQsRecord" useGeneratedKeys="true" keyProperty="id">
insert into tb_school_major_qs_record
<trim prefix="(" suffix=")" suffixOverrides=",">
<if test="schoolId != null">school_id,</if>
<if test="majorName != null and majorName != ''">major_name,</if>
<if test="majorQs != null">major_qs,</if>
<if test="majorIcon != null and majorIcon != ''">major_icon,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="schoolId != null">#{schoolId},</if>
<if test="majorName != null and majorName != ''">#{majorName},</if>
<if test="majorQs != null">#{majorQs},</if>
<if test="majorIcon != null and majorIcon != ''">#{majorIcon},</if>
</trim>
</insert>
<update id="updateTbSchoolMajorQsRecord" parameterType="TbSchoolMajorQsRecord">
update tb_school_major_qs_record
<trim prefix="SET" suffixOverrides=",">
<!-- <if test="schoolId != null">school_id = #{schoolId},</if>-->
<!-- <if test="majorName != null and majorName != ''">major_name = #{majorName},</if>-->
<if test="majorQs != null">major_qs = #{majorQs},</if>
<if test="majorIcon != null and majorIcon != ''">major_icon = #{majorIcon},</if>
</trim>
where id = #{id}
</update>
<delete id="deleteTbSchoolMajorQsRecordById" parameterType="Long">
delete from tb_school_major_qs_record where id = #{id}
</delete>
<delete id="deleteTbSchoolMajorQsRecordByIds" parameterType="String">
delete from tb_school_major_qs_record where id in
<foreach item="id" collection="array" open="(" separator="," close=")">
#{id}
</foreach>
</delete>
</mapper>
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论