Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
R
ruoyi
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
范晓龙
ruoyi
Commits
bf7dc4f2
提交
bf7dc4f2
authored
11月 10, 2022
作者:
dingtalk_nnkplh
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
学校上传图片功能修改,录入开学时间功能修改
上级
90a09e68
隐藏空白字符变更
内嵌
并排
正在显示
14 个修改的文件
包含
407 行增加
和
57 行删除
+407
-57
TbEnrollmentTimeController.java
...oyi/web/controller/school/TbEnrollmentTimeController.java
+12
-1
TbSchoolController.java
...a/com/ruoyi/web/controller/school/TbSchoolController.java
+6
-15
add.html
...n/src/main/resources/templates/system/facilities/add.html
+11
-0
add.html
...admin/src/main/resources/templates/system/school/add.html
+40
-8
edit.html
...dmin/src/main/resources/templates/system/school/edit.html
+43
-9
uploadSchoolBackground.html
...urces/templates/system/school/uploadSchoolBackground.html
+143
-0
add.html
...i-admin/src/main/resources/templates/system/time/add.html
+92
-24
TbEnrollmentTime.java
...c/main/java/com/ruoyi/system/domain/TbEnrollmentTime.java
+10
-0
TbEnrollmentTimeMapper.java
.../java/com/ruoyi/system/mapper/TbEnrollmentTimeMapper.java
+2
-0
TbSchoolMajorMapper.java
...ain/java/com/ruoyi/system/mapper/TbSchoolMajorMapper.java
+4
-0
ITbEnrollmentTimeService.java
...va/com/ruoyi/system/service/ITbEnrollmentTimeService.java
+4
-0
TbEnrollmentTimeServiceImpl.java
...uoyi/system/service/impl/TbEnrollmentTimeServiceImpl.java
+19
-0
TbEnrollmentTimeMapper.xml
...c/main/resources/mapper/system/TbEnrollmentTimeMapper.xml
+14
-0
TbSchoolMajorMapper.xml
.../src/main/resources/mapper/system/TbSchoolMajorMapper.xml
+7
-0
没有找到文件。
ruoyi-admin/src/main/java/com/ruoyi/web/controller/school/TbEnrollmentTimeController.java
浏览文件 @
bf7dc4f2
...
@@ -103,7 +103,8 @@ public class TbEnrollmentTimeController extends BaseController
...
@@ -103,7 +103,8 @@ public class TbEnrollmentTimeController extends BaseController
public
AjaxResult
addSave
(
TbEnrollmentTime
tbEnrollmentTime
)
public
AjaxResult
addSave
(
TbEnrollmentTime
tbEnrollmentTime
)
{
{
tbEnrollmentTime
.
setCreator
(
getUserId
());
tbEnrollmentTime
.
setCreator
(
getUserId
());
return
toAjax
(
tbEnrollmentTimeService
.
insertTbEnrollmentTime
(
tbEnrollmentTime
));
tbEnrollmentTimeService
.
insertTbEnrollmentTimeBatch
(
tbEnrollmentTime
);
return
AjaxResult
.
success
();
}
}
/**
/**
...
@@ -182,4 +183,14 @@ public class TbEnrollmentTimeController extends BaseController
...
@@ -182,4 +183,14 @@ public class TbEnrollmentTimeController extends BaseController
tbSchoolMajor
.
setMajorCnName
(
majorCnName
);
tbSchoolMajor
.
setMajorCnName
(
majorCnName
);
return
tbEnrollmentTimeService
.
selectDegreeBySchooIdAndMajorName
(
tbSchoolMajor
);
return
tbEnrollmentTimeService
.
selectDegreeBySchooIdAndMajorName
(
tbSchoolMajor
);
}
}
@RequiresPermissions
(
"system:time:list"
)
@GetMapping
(
"/selectDegrees/{schoolId}/{degreeType}"
)
@ResponseBody
public
List
<
TbSchoolMajor
>
selectDegreeBySchoolIdAndDegreeType
(
@PathVariable
String
schoolId
,
@PathVariable
String
degreeType
){
TbSchoolMajor
tbSchoolMajor
=
new
TbSchoolMajor
();
tbSchoolMajor
.
setSchoolId
(
schoolId
);
tbSchoolMajor
.
setDegreeType
(
degreeType
);
return
tbEnrollmentTimeService
.
selectDegreeBySchoolIdAndDegreeType
(
tbSchoolMajor
);
}
}
}
ruoyi-admin/src/main/java/com/ruoyi/web/controller/school/TbSchoolController.java
浏览文件 @
bf7dc4f2
...
@@ -258,24 +258,15 @@ public class TbSchoolController extends BaseController
...
@@ -258,24 +258,15 @@ public class TbSchoolController extends BaseController
return
prefix
+
"/uploadSchoolCover"
;
return
prefix
+
"/uploadSchoolCover"
;
}
}
@Log
(
title
=
"学校信息"
,
businessType
=
BusinessType
.
INSERT
)
@GetMapping
(
"/uploadSchoolBackground"
)
@PostMapping
(
"/uploadImage"
)
public
String
uploadSchoolBackground
(
ModelMap
mmap
)
@ResponseBody
public
AjaxResult
updateImage
(
@RequestParam
(
"imageFile"
)
MultipartFile
file
)
{
{
try
TbSchool
tbSchool
=
new
TbSchool
();
{
mmap
.
put
(
"school"
,
tbSchool
);
String
fileName
=
FileUploadUtils
.
upload
(
RuoYiConfig
.
getUploadPath
(),
file
,
MimeTypeUtils
.
IMAGE_EXTENSION
);
return
prefix
+
"/uploadSchoolBackground"
;
AjaxResult
ajax
=
AjaxResult
.
success
();
ajax
.
put
(
"fileName"
,
fileName
);
return
ajax
;
}
catch
(
Exception
e
)
{
return
AjaxResult
.
error
(
e
.
getMessage
());
}
}
}
@GetMapping
(
"/uploadFileName"
)
@GetMapping
(
"/uploadFileName"
)
public
AjaxResult
uploadFileName
(
@RequestParam
(
"schoolCover"
)
String
schoolCover
){
public
AjaxResult
uploadFileName
(
@RequestParam
(
"schoolCover"
)
String
schoolCover
){
AjaxResult
ajax
=
AjaxResult
.
success
();
AjaxResult
ajax
=
AjaxResult
.
success
();
...
...
ruoyi-admin/src/main/resources/templates/system/facilities/add.html
浏览文件 @
bf7dc4f2
...
@@ -2,6 +2,17 @@
...
@@ -2,6 +2,17 @@
<html
lang=
"zh"
xmlns:th=
"http://www.thymeleaf.org"
>
<html
lang=
"zh"
xmlns:th=
"http://www.thymeleaf.org"
>
<head>
<head>
<th:block
th:include=
"include :: header('新增学校设施')"
/>
<th:block
th:include=
"include :: header('新增学校设施')"
/>
<style>
input
[
type
=
"checkbox"
]
{
margin-right
:
10px
;
margin-left
:
10px
;
cursor
:
pointer
;
/*width: 30px;*/
/*height: 30px;*/
position
:
relative
;
font-size
:
large
;
}
</style>
</head>
</head>
<body
class=
"white-bg"
>
<body
class=
"white-bg"
>
<div
class=
"wrapper wrapper-content animated fadeInRight ibox-content"
>
<div
class=
"wrapper wrapper-content animated fadeInRight ibox-content"
>
...
...
ruoyi-admin/src/main/resources/templates/system/school/add.html
浏览文件 @
bf7dc4f2
...
@@ -149,7 +149,7 @@
...
@@ -149,7 +149,7 @@
<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=
"schoolCover"
id=
"schoolCover"
type=
"hidden"
>
<input
name=
"schoolCover"
id=
"schoolCover"
type=
"hidden"
>
<div
class=
"col-sm-8"
>
<div
class=
"col-sm-8"
>
<img
id=
"
abc
"
th:src=
"(${#strings.isEmpty(school.schoolCover)}) ? @{/img/profile.jpg} : @{${school.schoolCover}}"
th:onerror=
"'this.src=\'' + @{'/img/profile.jpg'} + '\''"
>
<img
id=
"
cover
"
th:src=
"(${#strings.isEmpty(school.schoolCover)}) ? @{/img/profile.jpg} : @{${school.schoolCover}}"
th:onerror=
"'this.src=\'' + @{'/img/profile.jpg'} + '\''"
>
<p><a
href=
"javascript:uploadImage()"
>
上传图像
</a></p>
<p><a
href=
"javascript:uploadImage()"
>
上传图像
</a></p>
</div>
</div>
</div>
</div>
...
@@ -157,9 +157,11 @@
...
@@ -157,9 +157,11 @@
<label
class=
"col-sm-3 control-label is-required"
>
学校背景图(大小:1920*300):
</label>
<label
class=
"col-sm-3 control-label is-required"
>
学校背景图(大小:1920*300):
</label>
<input
name=
"backgroundImage"
id=
"backgroundImage"
type=
"hidden"
>
<input
name=
"backgroundImage"
id=
"backgroundImage"
type=
"hidden"
>
<div
class=
"col-sm-8"
>
<div
class=
"col-sm-8"
>
<div
class=
"file-loading"
>
<!-- <div class="file-loading">-->
<input
id=
"singleFile1"
name=
"file"
type=
"file"
>
<!-- <input id="singleFile1" name="file" type="file">-->
</div>
<!-- </div>-->
<img
id=
"background"
th:src=
"(${#strings.isEmpty(school.backgroundImage)}) ? @{/img/profile.jpg} : @{${school.backgroundImage}}"
th:onerror=
"'this.src=\'' + @{'/img/profile.jpg'} + '\''"
>
<p><a
href=
"javascript:uploadSchoolBackground()"
>
上传图像
</a></p>
</div>
</div>
</div>
</div>
<div
class=
"form-group"
>
<div
class=
"form-group"
>
...
@@ -193,9 +195,8 @@
...
@@ -193,9 +195,8 @@
focusCleanup
:
true
focusCleanup
:
true
});
});
function
test
(
a
){
function
uploadCover
(
a
){
// $("#abc").src=a;
var
image
=
document
.
getElementById
(
'cover'
);
var
image
=
document
.
getElementById
(
'abc'
);
image
.
src
=
a
;
image
.
src
=
a
;
$
(
"#schoolCover"
).
val
(
a
);
$
(
"#schoolCover"
).
val
(
a
);
}
}
...
@@ -217,7 +218,38 @@
...
@@ -217,7 +218,38 @@
yes
:
function
(
index
,
layero
)
{
yes
:
function
(
index
,
layero
)
{
// alert("index="+index);
// alert("index="+index);
var
iframeWin
=
layero
.
find
(
'iframe'
)[
0
];
var
iframeWin
=
layero
.
find
(
'iframe'
)[
0
];
iframeWin
.
contentWindow
.
submitHandler
(
index
,
layero
,
test
);
iframeWin
.
contentWindow
.
submitHandler
(
index
,
layero
,
uploadCover
);
},
cancel
:
function
(
index
)
{
return
true
;
}
});
}
function
uploadBackground
(
a
){
var
image
=
document
.
getElementById
(
'background'
);
image
.
src
=
a
;
$
(
"#backgroundImage"
).
val
(
a
);
}
function
uploadSchoolBackground
(){
var
url
=
prefix
+
'/uploadSchoolBackground'
;
top
.
layer
.
open
({
type
:
2
,
area
:
[
$
(
window
).
width
()
+
'px'
,
$
(
window
).
height
()
+
'px'
],
fix
:
false
,
//不固定
maxmin
:
true
,
shade
:
0.3
,
title
:
"上传背景图"
,
content
:
url
,
btn
:
[
'确定'
,
'关闭'
],
// 弹层外区域关闭
shadeClose
:
true
,
yes
:
function
(
index
,
layero
)
{
// alert("index="+index);
var
iframeWin
=
layero
.
find
(
'iframe'
)[
0
];
iframeWin
.
contentWindow
.
submitHandler
(
index
,
layero
,
uploadBackground
);
},
},
cancel
:
function
(
index
)
{
cancel
:
function
(
index
)
{
return
true
;
return
true
;
...
...
ruoyi-admin/src/main/resources/templates/system/school/edit.html
浏览文件 @
bf7dc4f2
...
@@ -161,7 +161,7 @@
...
@@ -161,7 +161,7 @@
<label
class=
"col-sm-3 control-label is-required"
>
学校封面:
</label>
<label
class=
"col-sm-3 control-label is-required"
>
学校封面:
</label>
<input
type=
"hidden"
id=
"schoolCover"
name=
"schoolCover"
>
<input
type=
"hidden"
id=
"schoolCover"
name=
"schoolCover"
>
<div
class=
"col-sm-8"
>
<div
class=
"col-sm-8"
>
<img
id=
"
abc
"
th:src=
"*{schoolCover}"
>
<img
id=
"
cover
"
th:src=
"*{schoolCover}"
>
<p><a
href=
"javascript:uploadImage()"
>
修改封面
</a></p>
<p><a
href=
"javascript:uploadImage()"
>
修改封面
</a></p>
<!-- <div class="file-loading">-->
<!-- <div class="file-loading">-->
<!-- <input id="singleSchoolCover" name="file" type="file">-->
<!-- <input id="singleSchoolCover" name="file" type="file">-->
...
@@ -172,9 +172,11 @@
...
@@ -172,9 +172,11 @@
<label
class=
"col-sm-3 control-label is-required"
>
学校背景图:
</label>
<label
class=
"col-sm-3 control-label is-required"
>
学校背景图:
</label>
<input
type=
"hidden"
id=
"backgroundImage"
th:field=
"*{backgroundImage}"
>
<input
type=
"hidden"
id=
"backgroundImage"
th:field=
"*{backgroundImage}"
>
<div
class=
"col-sm-8"
>
<div
class=
"col-sm-8"
>
<div
class=
"file-loading"
>
<!-- <div class="file-loading">-->
<input
id=
"singleFile1"
name=
"file"
type=
"file"
>
<!-- <input id="singleFile1" name="file" type="file">-->
</div>
<!-- </div>-->
<img
id=
"background"
th:src=
"*{backgroundImage}"
>
<p><a
href=
"javascript:uploadSchoolBackground()"
>
上传图像
</a></p>
</div>
</div>
</div>
</div>
<input
id=
"liveType"
th:field=
"*{liveType}"
type=
"hidden"
>
<input
id=
"liveType"
th:field=
"*{liveType}"
type=
"hidden"
>
...
@@ -205,8 +207,8 @@
...
@@ -205,8 +207,8 @@
focusCleanup
:
true
focusCleanup
:
true
});
});
function
test
(
a
){
function
uploadCover
(
a
){
var
image
=
document
.
getElementById
(
'
abc
'
);
var
image
=
document
.
getElementById
(
'
cover
'
);
image
.
src
=
a
;
image
.
src
=
a
;
$
(
"#schoolCover"
).
val
(
a
);
$
(
"#schoolCover"
).
val
(
a
);
}
}
...
@@ -220,14 +222,46 @@
...
@@ -220,14 +222,46 @@
//不固定
//不固定
maxmin
:
true
,
maxmin
:
true
,
shade
:
0.3
,
shade
:
0.3
,
title
:
"修改封面"
,
title
:
"上传封面"
,
content
:
url
,
btn
:
[
'确定'
,
'关闭'
],
// 弹层外区域关闭
shadeClose
:
true
,
yes
:
function
(
index
,
layero
)
{
// alert("index="+index);
var
iframeWin
=
layero
.
find
(
'iframe'
)[
0
];
iframeWin
.
contentWindow
.
submitHandler
(
index
,
layero
,
uploadCover
);
},
cancel
:
function
(
index
)
{
return
true
;
}
});
}
function
uploadBackground
(
a
){
var
image
=
document
.
getElementById
(
'background'
);
image
.
src
=
a
;
$
(
"#backgroundImage"
).
val
(
a
);
}
function
uploadSchoolBackground
(){
var
url
=
prefix
+
'/uploadSchoolBackground'
;
top
.
layer
.
open
({
type
:
2
,
area
:
[
$
(
window
).
width
()
+
'px'
,
$
(
window
).
height
()
+
'px'
],
fix
:
false
,
//不固定
maxmin
:
true
,
shade
:
0.3
,
title
:
"上传背景图"
,
content
:
url
,
content
:
url
,
btn
:
[
'确定'
,
'关闭'
],
btn
:
[
'确定'
,
'关闭'
],
// 弹层外区域关闭
// 弹层外区域关闭
shadeClose
:
true
,
shadeClose
:
true
,
yes
:
function
(
index
,
layero
)
{
yes
:
function
(
index
,
layero
)
{
// alert("index="+index);
var
iframeWin
=
layero
.
find
(
'iframe'
)[
0
];
var
iframeWin
=
layero
.
find
(
'iframe'
)[
0
];
iframeWin
.
contentWindow
.
submitHandler
(
index
,
layero
,
test
);
iframeWin
.
contentWindow
.
submitHandler
(
index
,
layero
,
uploadBackground
);
},
},
cancel
:
function
(
index
)
{
cancel
:
function
(
index
)
{
return
true
;
return
true
;
...
@@ -366,7 +400,7 @@
...
@@ -366,7 +400,7 @@
initUpload
();
initUpload
();
// initSchoolCover();
// initSchoolCover();
initUpload1
();
//
initUpload1();
//初始化方法
//初始化方法
function
initUpload
()
{
function
initUpload
()
{
...
...
ruoyi-admin/src/main/resources/templates/system/school/uploadSchoolBackground.html
0 → 100644
浏览文件 @
bf7dc4f2
<!DOCTYPE html>
<html
lang=
"zh"
xmlns:th=
"http://www.thymeleaf.org"
>
<head>
<!-- <meta charset="utf-8">-->
<!-- <meta http-equiv="x-ua-compatible" content="ie=edge">-->
<!-- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">-->
<!-- <title>Cropper.js</title>-->
<link
rel=
"stylesheet"
href=
"https://unpkg.com/bootstrap@4/dist/css/bootstrap.min.css"
crossorigin=
"anonymous"
>
<th:block
th:include=
"include :: cropper-css"
/>
<style>
.label
{
cursor
:
pointer
;
}
.img-container
img
{
max-width
:
100%
;
}
</style>
</head>
<body>
<div
class=
"container"
>
<label
class=
"label"
data-toggle=
"tooltip"
title=
"上传图像"
>
<img
id=
"avatar"
th:src=
"(${#strings.isEmpty(school.backgroundImage)}) ? @{/img/profile.jpg} : @{${school.backgroundImage}}"
th:onerror=
"'this.src=\'' + @{'/img/profile.jpg'} + '\''"
>
<input
type=
"file"
class=
"sr-only"
id=
"input"
name=
"image"
accept=
"image/*"
>
</label>
<div
class=
"modal fade"
id=
"modal"
tabindex=
"-1"
role=
"dialog"
aria-labelledby=
"modalLabel"
aria-hidden=
"true"
>
<div
class=
"modal-dialog"
role=
"document"
>
<div
class=
"modal-content"
>
<div
class=
"modal-body"
>
<div
class=
"img-container"
>
<img
id=
"image"
th:src=
"@{/img/profile.jpg}"
>
</div>
</div>
<div
class=
"modal-footer"
>
<button
type=
"button"
class=
"btn btn-secondary"
data-dismiss=
"modal"
>
取消
</button>
<button
type=
"button"
class=
"btn btn-primary"
id=
"crop"
>
裁剪
</button>
</div>
</div>
</div>
</div>
<input
type=
"hidden"
name=
"backgroundImage"
id=
"backgroundImage"
>
</div>
<script
src=
"https://unpkg.com/jquery@3/dist/jquery.min.js"
crossorigin=
"anonymous"
></script>
<script
src=
"https://unpkg.com/bootstrap@4/dist/js/bootstrap.bundle.min.js"
crossorigin=
"anonymous"
></script>
<th:block
th:include=
"include :: cropper-js"
/>
<script
th:inline=
"javascript"
>
window
.
addEventListener
(
'DOMContentLoaded'
,
function
()
{
var
minCroppedWidth
=
1920
;
var
minCroppedHeight
=
300
;
var
maxCroppedWidth
=
1920
;
var
maxCroppedHeight
=
300
;
var
avatar
=
document
.
getElementById
(
'avatar'
);
var
image
=
document
.
getElementById
(
'image'
);
var
input
=
document
.
getElementById
(
'input'
);
var
$modal
=
$
(
'#modal'
);
var
cropper
;
input
.
addEventListener
(
'change'
,
function
(
e
)
{
var
files
=
e
.
target
.
files
;
var
done
=
function
(
url
)
{
input
.
value
=
''
;
image
.
src
=
url
;
$modal
.
modal
(
'show'
);
};
var
reader
;
var
file
;
if
(
files
&&
files
.
length
>
0
)
{
file
=
files
[
0
];
if
(
URL
)
{
done
(
URL
.
createObjectURL
(
file
));
}
else
if
(
FileReader
)
{
reader
=
new
FileReader
();
reader
.
onload
=
function
(
e
)
{
done
(
reader
.
result
);
};
reader
.
readAsDataURL
(
file
);
}
}
});
$modal
.
on
(
'shown.bs.modal'
,
function
()
{
cropper
=
new
Cropper
(
image
,
{
viewMode
:
3
,
zoomable
:
false
,
data
:
{
width
:
(
minCroppedWidth
+
maxCroppedWidth
)
/
2
,
height
:
(
minCroppedHeight
+
maxCroppedHeight
)
/
2
,
},
crop
:
function
(
event
)
{
var
width
=
event
.
detail
.
width
;
var
height
=
event
.
detail
.
height
;
if
(
width
<
minCroppedWidth
||
height
<
minCroppedHeight
||
width
>
maxCroppedWidth
||
height
>
maxCroppedHeight
)
{
cropper
.
setData
({
width
:
Math
.
max
(
minCroppedWidth
,
Math
.
min
(
maxCroppedWidth
,
width
)),
height
:
Math
.
max
(
minCroppedHeight
,
Math
.
min
(
maxCroppedHeight
,
height
)),
});
}
},
});
}).
on
(
'hidden.bs.modal'
,
function
()
{
cropper
.
destroy
();
cropper
=
null
;
});
document
.
getElementById
(
'crop'
).
addEventListener
(
'click'
,
function
()
{
// var initialAvatarURL;
var
canvas
;
$modal
.
modal
(
'hide'
);
if
(
cropper
)
{
canvas
=
cropper
.
getCroppedCanvas
();
// initialAvatarURL = avatar.src;
avatar
.
src
=
canvas
.
toDataURL
();
canvas
.
toBlob
(
function
(
blob
)
{
var
formdata
=
new
FormData
();
formdata
.
append
(
"file"
,
blob
);
$
.
ajax
({
url
:
"http://39.105.118.63:8080/common/upload"
,
data
:
formdata
,
type
:
"post"
,
processData
:
false
,
contentType
:
false
,
dataType
:
"json"
,
success
:
function
(
data
)
{
$
(
"#backgroundImage"
).
val
(
data
.
fileName
);
}
})
});
}
});
});
function
submitHandler
(
index
,
layero
,
fun
)
{
fun
(
$
(
"#backgroundImage"
).
val
());
top
.
layer
.
close
(
top
.
layer
.
index
);
}
</script>
</body>
</html>
\ No newline at end of file
ruoyi-admin/src/main/resources/templates/system/time/add.html
浏览文件 @
bf7dc4f2
...
@@ -3,6 +3,15 @@
...
@@ -3,6 +3,15 @@
<head>
<head>
<th:block
th:include=
"include :: header('新增入学时间')"
/>
<th:block
th:include=
"include :: header('新增入学时间')"
/>
<th:block
th:include=
"include :: datetimepicker-css"
/>
<th:block
th:include=
"include :: datetimepicker-css"
/>
<style>
input
[
type
=
"checkbox"
]
{
margin-right
:
10px
;
margin-left
:
10px
;
cursor
:
pointer
;
position
:
relative
;
font-size
:
large
;
}
</style>
</head>
</head>
<body
class=
"white-bg"
>
<body
class=
"white-bg"
>
<div
class=
"wrapper wrapper-content animated fadeInRight ibox-content"
>
<div
class=
"wrapper wrapper-content animated fadeInRight ibox-content"
>
...
@@ -15,27 +24,33 @@
...
@@ -15,27 +24,33 @@
</select>
</select>
</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"
>
<select
id=
"
majorCnNam
e"
class=
"form-control select2-multiple"
>
<select
id=
"
degreeTyp
e"
class=
"form-control select2-multiple"
>
<option>
请选择
专业
</option>
<option>
请选择
学位
</option>
</select>
</select>
</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"
>
<select
id=
"degreeCnName"
class=
"form-control select2-multiple"
>
<!-- <select id="majorCnName" class="form-control select2-multiple">-->
<option>
请选择学位
</option>
<!-- <option>请选择专业</option>-->
</select>
<!-- </select>-->
<!-- <label class="check-box" id="ff" name="ff">-->
<label
id=
"ff"
name=
"ff"
>
</label>
</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=
"input-group date"
>
<div
class=
"input-group date"
>
<input
name=
"enrollmentTime"
class=
"form-control"
placeholder=
"yyyy-MM"
type=
"text"
required
>
<input
id=
"enrollmentTime"
name=
"enrollmentTime"
class=
"form-control"
placeholder=
"yyyy-MM"
type=
"text"
required
>
<span
class=
"input-group-addon"
><i
class=
"fa fa-calendar"
></i></span>
<span
class=
"input-group-addon"
><i
class=
"fa fa-calendar"
></i></span>
</div>
</div>
</div>
</div>
...
@@ -44,7 +59,7 @@
...
@@ -44,7 +59,7 @@
<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=
"input-group date"
>
<div
class=
"input-group date"
>
<input
name=
"applyStartDate"
class=
"form-control"
placeholder=
"yyyy-MM-dd"
type=
"text"
required
>
<input
id=
"applyStartDate"
name=
"applyStartDate"
class=
"form-control"
placeholder=
"yyyy-MM-dd"
type=
"text"
required
>
<span
class=
"input-group-addon"
><i
class=
"fa fa-calendar"
></i></span>
<span
class=
"input-group-addon"
><i
class=
"fa fa-calendar"
></i></span>
</div>
</div>
</div>
</div>
...
@@ -53,11 +68,19 @@
...
@@ -53,11 +68,19 @@
<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=
"input-group date"
>
<div
class=
"input-group date"
>
<input
name=
"applyEndDate"
class=
"form-control"
placeholder=
"yyyy-MM-dd"
type=
"text"
required
>
<input
id=
"applyEndDate"
name=
"applyEndDate"
class=
"form-control"
placeholder=
"yyyy-MM-dd"
type=
"text"
required
>
<span
class=
"input-group-addon"
><i
class=
"fa fa-calendar"
></i></span>
<span
class=
"input-group-addon"
><i
class=
"fa fa-calendar"
></i></span>
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"form-group"
>
<label
class=
"col-sm-3 control-label"
></label>
<div
class=
"col-sm-8"
>
<a
class=
"btn btn-success"
onclick=
"add()"
>
<i
class=
"fa fa-plus"
></i>
保存
</a>
</div>
</div>
</form>
</form>
</div>
</div>
<th:block
th:include=
"include :: footer"
/>
<th:block
th:include=
"include :: footer"
/>
...
@@ -69,11 +92,41 @@
...
@@ -69,11 +92,41 @@
});
});
function
submitHandler
()
{
function
submitHandler
()
{
if
(
$
.
validate
.
form
())
{
// if ($.validate.form()) {
$
.
operate
.
save
(
prefix
+
"/add"
,
$
(
'#form-time-add'
).
serialize
()
+
// $.operate.save(prefix + "/add", $('#form-time-add').serialize()+
"&schoolId="
+
$
(
'#schoolId'
)[
0
].
value
+
// "&schoolId="+$('#schoolId')[0].value);
"&majorId="
+
$
(
'#degreeCnName'
)[
0
].
value
);
// }
}
top
.
layer
.
close
(
top
.
layer
.
index
);
}
function
add
(){
var
formData
=
new
FormData
();
formData
.
append
(
'schoolId'
,
$
(
"#schoolId"
)[
0
].
value
);
var
checkID
=
[];
//定义一个空数组
$
(
"input[name='majorIds']:checked"
).
each
(
function
(
i
){
//把所有被选中的复选框的值存入数组
checkID
[
i
]
=
$
(
this
).
val
();
});
formData
.
append
(
'majorIds'
,
checkID
);
formData
.
append
(
"enrollmentTime"
,
$
(
"#enrollmentTime"
).
val
());
formData
.
append
(
"applyStartDate"
,
$
(
"#applyStartDate"
).
val
());
formData
.
append
(
"applyEndDate"
,
$
(
"#applyEndDate"
).
val
());
$
.
ajax
({
url
:
prefix
+
"/add"
,
type
:
'post'
,
cache
:
false
,
data
:
formData
,
processData
:
false
,
contentType
:
false
,
dataType
:
"json"
,
success
:
function
(
result
)
{
// $.operate.successCallback(result);
$
(
"#enrollmentTime"
).
val
(
null
);
$
(
"#applyStartDate"
).
val
(
null
)
$
(
"#applyEndDate"
).
val
(
null
);
}
});
}
}
$
(
"input[name='enrollmentTime']"
).
datetimepicker
({
$
(
"input[name='enrollmentTime']"
).
datetimepicker
({
...
@@ -113,6 +166,21 @@
...
@@ -113,6 +166,21 @@
}
}
});
});
$
.
ajax
({
<!--
请求路径,与后端对应
-->
url
:
ctx
+
"system/dict/data/business_degree_type"
,
<!--
请求类型
-->
type
:
"get"
,
<!--
期待的返回数据类型
-->
dataType
:
"json"
,
<!--
前端接收数据成功是执行的该函数
-->
success
:
function
(
data
)
{
<!--
使用循环解析后端传来的数据,并用使用
js
动态拼接
html
语言
-->
for
(
var
i
=
0
;
i
<
data
.
length
;
i
++
)
$
(
"#degreeType"
).
append
(
"<option value='"
+
data
[
i
].
dictSort
+
"'>"
+
data
[
i
].
dictLabel
+
"</option>"
);
}
});
$
(
'#schoolId'
).
change
(
function
()
{
$
(
'#schoolId'
).
change
(
function
()
{
var
sid
=
$
(
'#schoolId'
)[
0
].
value
;
var
sid
=
$
(
'#schoolId'
)[
0
].
value
;
$
.
ajax
({
$
.
ajax
({
...
@@ -132,22 +200,22 @@
...
@@ -132,22 +200,22 @@
});
});
});
});
$
(
'#
majorCnNam
e'
).
change
(
function
()
{
$
(
'#
degreeTyp
e'
).
change
(
function
()
{
var
sid
=
$
(
'#schoolId'
)[
0
].
value
;
var
sid
=
$
(
'#schoolId'
)[
0
].
value
;
var
majorName
=
$
(
'#majorCnNam
e'
)[
0
].
value
;
var
did
=
$
(
'#degreeTyp
e'
)[
0
].
value
;
$
.
ajax
({
$
.
ajax
({
<!--
请求路径,与后端对应
-->
<!--
请求路径,与后端对应
-->
url
:
prefix
+
"/selectDegree
/"
+
sid
+
"/"
+
majorName
,
url
:
prefix
+
"/selectDegree
s/"
+
sid
+
"/"
+
did
,
<!--
请求类型
-->
<!--
请求类型
-->
type
:
"get"
,
type
:
"get"
,
<!--
期待的返回数据类型
-->
<!--
期待的返回数据类型
-->
dataType
:
"json"
,
dataType
:
"json"
,
<!--
前端接收数据成功是执行的该函数
-->
<!--
前端接收数据成功是执行的该函数
-->
success
:
function
(
data
)
{
success
:
function
(
data
)
{
$
(
"#
degreeCnName
"
).
empty
();
$
(
"#
ff
"
).
empty
();
<!--
使用循环解析后端传来的数据,并用使用
js
动态拼接
html
语言
-->
for
(
var
i
=
0
;
i
<
data
.
length
;
i
++
){
for
(
var
i
=
0
;
i
<
data
.
length
;
i
++
)
$
(
"#ff"
).
append
(
"<input id=
\"
majorIds
\"
name=
\"
majorIds
\"
type=
\"
checkbox
\"
value=
\"
"
+
data
[
i
].
id
+
"
\"
>"
+
data
[
i
].
degreeCnName
+
"</input>"
);
$
(
"#degreeCnName"
).
append
(
"<option value='"
+
data
[
i
].
id
+
"'>"
+
data
[
i
].
degreeCnName
+
"</option>"
);
}
}
}
});
});
});
});
...
...
ruoyi-system/src/main/java/com/ruoyi/system/domain/TbEnrollmentTime.java
浏览文件 @
bf7dc4f2
...
@@ -37,6 +37,8 @@ public class TbEnrollmentTime extends BaseEntity
...
@@ -37,6 +37,8 @@ public class TbEnrollmentTime extends BaseEntity
/** 专业id */
/** 专业id */
private
Long
majorId
;
private
Long
majorId
;
private
String
majorIds
;
@Excel
(
name
=
"专业名称"
)
@Excel
(
name
=
"专业名称"
)
private
String
majorName
;
private
String
majorName
;
...
@@ -192,6 +194,14 @@ public class TbEnrollmentTime extends BaseEntity
...
@@ -192,6 +194,14 @@ public class TbEnrollmentTime extends BaseEntity
this
.
degreeCnName
=
degreeCnName
;
this
.
degreeCnName
=
degreeCnName
;
}
}
public
String
getMajorIds
()
{
return
majorIds
;
}
public
void
setMajorIds
(
String
majorIds
)
{
this
.
majorIds
=
majorIds
;
}
@Override
@Override
public
String
toString
()
{
public
String
toString
()
{
return
new
ToStringBuilder
(
this
,
ToStringStyle
.
MULTI_LINE_STYLE
)
return
new
ToStringBuilder
(
this
,
ToStringStyle
.
MULTI_LINE_STYLE
)
...
...
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TbEnrollmentTimeMapper.java
浏览文件 @
bf7dc4f2
...
@@ -64,5 +64,7 @@ public interface TbEnrollmentTimeMapper
...
@@ -64,5 +64,7 @@ public interface TbEnrollmentTimeMapper
*/
*/
public
int
deleteTbEnrollmentTimeByIds
(
String
[]
ids
);
public
int
deleteTbEnrollmentTimeByIds
(
String
[]
ids
);
public
int
deleteTbEnrollmentTimeBySchoolIds
(
String
[]
ids
);
public
int
deleteTbEnrollmentTimeBySchoolIds
(
String
[]
ids
);
public
void
insertTbEnrollmentTimeBatch
(
List
<
TbEnrollmentTime
>
list
);
}
}
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TbSchoolMajorMapper.java
浏览文件 @
bf7dc4f2
...
@@ -82,4 +82,8 @@ public interface TbSchoolMajorMapper
...
@@ -82,4 +82,8 @@ public interface TbSchoolMajorMapper
public
List
<
TbSchoolMajor
>
selectSchoolMajorBySchoolId
(
Long
schoolId
);
public
List
<
TbSchoolMajor
>
selectSchoolMajorBySchoolId
(
Long
schoolId
);
public
List
<
TbSchoolMajor
>
selectDegreeBySchooIdAndMajorName
(
TbSchoolMajor
tbSchoolMajor
);
public
List
<
TbSchoolMajor
>
selectDegreeBySchooIdAndMajorName
(
TbSchoolMajor
tbSchoolMajor
);
public
List
<
TbSchoolMajor
>
selectDegreeBySchoolIdAndDegreeType
(
TbSchoolMajor
tbSchoolMajor
);
}
}
ruoyi-system/src/main/java/com/ruoyi/system/service/ITbEnrollmentTimeService.java
浏览文件 @
bf7dc4f2
...
@@ -39,6 +39,8 @@ public interface ITbEnrollmentTimeService
...
@@ -39,6 +39,8 @@ public interface ITbEnrollmentTimeService
*/
*/
public
int
insertTbEnrollmentTime
(
TbEnrollmentTime
tbEnrollmentTime
);
public
int
insertTbEnrollmentTime
(
TbEnrollmentTime
tbEnrollmentTime
);
public
void
insertTbEnrollmentTimeBatch
(
TbEnrollmentTime
tbEnrollmentTime
);
/**
/**
* 修改入学时间
* 修改入学时间
*
*
...
@@ -72,4 +74,6 @@ public interface ITbEnrollmentTimeService
...
@@ -72,4 +74,6 @@ public interface ITbEnrollmentTimeService
// public List<TbSchoolMajor> selectMajorBySchoolId(Long id);
// public List<TbSchoolMajor> selectMajorBySchoolId(Long id);
public
List
<
TbSchoolMajor
>
selectDegreeBySchooIdAndMajorName
(
TbSchoolMajor
tbSchoolMajor
);
public
List
<
TbSchoolMajor
>
selectDegreeBySchooIdAndMajorName
(
TbSchoolMajor
tbSchoolMajor
);
public
List
<
TbSchoolMajor
>
selectDegreeBySchoolIdAndDegreeType
(
TbSchoolMajor
tbSchoolMajor
);
}
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TbEnrollmentTimeServiceImpl.java
浏览文件 @
bf7dc4f2
package
com
.
ruoyi
.
system
.
service
.
impl
;
package
com
.
ruoyi
.
system
.
service
.
impl
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
...
@@ -147,6 +148,19 @@ public class TbEnrollmentTimeServiceImpl implements ITbEnrollmentTimeService
...
@@ -147,6 +148,19 @@ public class TbEnrollmentTimeServiceImpl implements ITbEnrollmentTimeService
return
tbEnrollmentTimeMapper
.
insertTbEnrollmentTime
(
tbEnrollmentTime
);
return
tbEnrollmentTimeMapper
.
insertTbEnrollmentTime
(
tbEnrollmentTime
);
}
}
@Override
public
void
insertTbEnrollmentTimeBatch
(
TbEnrollmentTime
tbEnrollmentTime
){
tbEnrollmentTime
.
setCreateTime
(
DateUtils
.
getNowDate
());
String
majorIds
=
tbEnrollmentTime
.
getMajorIds
();
String
[]
majorArray
=
majorIds
.
split
(
","
);
List
<
TbEnrollmentTime
>
list
=
new
ArrayList
<>(
majorArray
.
length
);
for
(
String
str
:
majorArray
){
tbEnrollmentTime
.
setMajorId
(
Long
.
parseLong
(
str
));
list
.
add
(
tbEnrollmentTime
);
}
tbEnrollmentTimeMapper
.
insertTbEnrollmentTimeBatch
(
list
);
}
/**
/**
* 修改入学时间
* 修改入学时间
*
*
...
@@ -210,4 +224,9 @@ public class TbEnrollmentTimeServiceImpl implements ITbEnrollmentTimeService
...
@@ -210,4 +224,9 @@ public class TbEnrollmentTimeServiceImpl implements ITbEnrollmentTimeService
public
List
<
TbSchoolMajor
>
selectDegreeBySchooIdAndMajorName
(
TbSchoolMajor
tbSchoolMajor
){
public
List
<
TbSchoolMajor
>
selectDegreeBySchooIdAndMajorName
(
TbSchoolMajor
tbSchoolMajor
){
return
tbSchoolMajorMapper
.
selectDegreeBySchooIdAndMajorName
(
tbSchoolMajor
);
return
tbSchoolMajorMapper
.
selectDegreeBySchooIdAndMajorName
(
tbSchoolMajor
);
}
}
@Override
public
List
<
TbSchoolMajor
>
selectDegreeBySchoolIdAndDegreeType
(
TbSchoolMajor
tbSchoolMajor
){
return
tbSchoolMajorMapper
.
selectDegreeBySchoolIdAndDegreeType
(
tbSchoolMajor
);
}
}
}
ruoyi-system/src/main/resources/mapper/system/TbEnrollmentTimeMapper.xml
浏览文件 @
bf7dc4f2
...
@@ -96,6 +96,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
...
@@ -96,6 +96,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</trim>
</trim>
</insert>
</insert>
<insert
id=
"insertTbEnrollmentTimeBatch"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
insert into tb_enrollment_time (
school_id,major_id,
enrollment_time,
apply_start_date,
apply_end_date,creator,
create_time,check_status)
values
<foreach
collection=
"list"
item=
"item"
separator=
","
>
(#{item.schoolId},#{item.majorId},#{item.enrollmentTime},#{item.applyStartDate},
#{item.applyEndDate},#{item.creator},sysdate(),1)
</foreach>
</insert>
<update
id=
"updateTbEnrollmentTime"
parameterType=
"TbEnrollmentTime"
>
<update
id=
"updateTbEnrollmentTime"
parameterType=
"TbEnrollmentTime"
>
update tb_enrollment_time
update tb_enrollment_time
<trim
prefix=
"SET"
suffixOverrides=
","
>
<trim
prefix=
"SET"
suffixOverrides=
","
>
...
...
ruoyi-system/src/main/resources/mapper/system/TbSchoolMajorMapper.xml
浏览文件 @
bf7dc4f2
...
@@ -206,4 +206,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
...
@@ -206,4 +206,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
WHERE school_id=#{schoolId} AND major_cn_name=#{majorCnName}
WHERE school_id=#{schoolId} AND major_cn_name=#{majorCnName}
</select>
</select>
<select
id=
"selectDegreeBySchoolIdAndDegreeType"
parameterType=
"TbSchoolMajor"
resultMap=
"TbSchoolMajorResult"
>
SELECT id,major_cn_name,degree_cn_name
FROM tb_school_major
WHERE school_id=#{schoolId} AND degree_type=#{degreeType}
</select>
</mapper>
</mapper>
\ No newline at end of file
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论