Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
D
dd_school
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wangqi
dd_school
Commits
86ef3e1c
Commit
86ef3e1c
authored
Oct 26, 2023
by
zhaopanyu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
zpy 10.26
parent
604e1338
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
513 additions
and
576 deletions
+513
-576
ruoyi-ui/src/api/smartSchool/personWork/leaveApply/index.js
+74
-70
ruoyi-ui/src/views/smartSchool/personWork/leaveApply/index.vue
+12
-5
ruoyi-ui/src/views/smartSchool/schoolManage/schoolMoments/components/schoolMomentsDetail/index.vue
+47
-131
ruoyi-ui/src/views/smartSchool/schoolManage/schoolMoments/index.vue
+34
-100
ruoyi-ui/src/views/smartSchool/teachAffairAdministration/affairStudentManage/components/studentTable/index.vue
+0
-2
ruoyi-ui/src/views/smartSchool/teachAffairAdministration/lessonManage/index.vue
+69
-232
ruoyi-ui/src/views/smartSchool/teachAffairAdministration/lessonManage/printLesson.vue
+271
-31
ruoyi-ui/src/views/smartSchool/teacherManage/teacherInforManage/index.vue
+6
-5
No files found.
ruoyi-ui/src/api/smartSchool/personWork/leaveApply/index.js
View file @
86ef3e1c
import
request
from
'@/utils/request'
import
request
from
"@/utils/request"
;
// 查询老师请假信息列表
// 查询老师请假信息列表
export
function
listTeacherLeave
(
query
)
{
export
function
listTeacherLeave
(
query
)
{
return
request
({
return
request
({
url
:
'/school/teacherLeave/list'
,
url
:
"/school/teacherLeave/list"
,
method
:
'get'
,
method
:
"get"
,
params
:
query
params
:
query
,
})
})
;
}
}
// 查询老师请假信息详细
// 查询老师请假信息详细
export
function
getTeacherLeave
(
id
)
{
export
function
getTeacherLeave
(
id
)
{
return
request
({
return
request
({
url
:
'/school/teacherLeave/queryOne/'
+
id
,
url
:
"/school/teacherLeave/queryOne/"
+
id
,
method
:
'get'
method
:
"get"
,
})
})
;
}
}
// 新增老师请假信息
// 新增老师请假信息
export
function
addTeacherLeave
(
data
)
{
export
function
addTeacherLeave
(
data
)
{
return
request
({
return
request
({
url
:
'/school/teacherLeave/add'
,
url
:
"/school/teacherLeave/add"
,
method
:
'post'
,
method
:
"post"
,
data
:
data
data
:
data
,
})
})
;
}
}
// 修改老师请假信息
// 修改老师请假信息
export
function
updateTeacherLeave
(
data
)
{
export
function
updateTeacherLeave
(
data
)
{
return
request
({
return
request
({
url
:
'/school/teacherLeave/edit'
,
url
:
"/school/teacherLeave/edit"
,
method
:
'put'
,
method
:
"put"
,
data
:
data
data
:
data
,
})
})
;
}
}
// 删除老师请假信息
// 删除老师请假信息
export
function
delTeacherLeave
(
ids
)
{
export
function
delTeacherLeave
(
ids
)
{
return
request
({
return
request
({
url
:
'/school/teacherLeave/delete/'
+
ids
,
url
:
"/school/teacherLeave/delete/"
+
ids
,
method
:
'delete'
method
:
"delete"
,
})
})
;
}
}
//提交申请
//提交申请
export
function
submitApply
(
id
)
{
export
function
submitApply
(
id
)
{
return
request
({
return
request
({
url
:
'/school/teacherLeave/submitApply/'
+
id
,
url
:
"/school/teacherLeave/submitApply/"
+
id
,
method
:
'post'
,
method
:
"post"
,
})
})
;
}
}
/**
/**
* 待办事项列表
* 待办事项列表
*/
*/
export
function
taskList
(
query
)
{
export
function
taskList
(
query
)
{
return
request
({
return
request
({
url
:
'/school/teacherLeave/taskList'
,
url
:
"/school/teacherLeave/taskList"
,
method
:
'get'
,
method
:
"get"
,
params
:
query
params
:
query
,
})
})
;
}
}
/**
/**
...
@@ -68,58 +67,58 @@ export function taskList(query) {
...
@@ -68,58 +67,58 @@ export function taskList(query) {
*/
*/
export
function
taskDoneList
(
query
)
{
export
function
taskDoneList
(
query
)
{
return
request
({
return
request
({
url
:
'/school/teacherLeave/taskDoneList'
,
url
:
"/school/teacherLeave/taskDoneList"
,
method
:
'get'
,
method
:
"get"
,
params
:
query
params
:
query
,
})
})
;
}
}
//审批历史列表
//审批历史列表
export
function
listHistory
(
data
)
{
export
function
listHistory
(
data
)
{
return
request
({
return
request
({
url
:
'/activiti/process/listHistory'
,
url
:
"/activiti/process/listHistory"
,
method
:
'get'
,
method
:
"get"
,
params
:
data
params
:
data
,
})
})
;
}
}
/** 销假列表(同历史任务接口,目前分两个接口来做) */
/** 销假列表(同历史任务接口,目前分两个接口来做) */
export
function
revokeList
(
data
)
{
export
function
revokeList
(
data
)
{
return
request
({
return
request
({
url
:
'/activiti/process/listHistory'
,
url
:
"/activiti/process/listHistory"
,
method
:
'get'
,
method
:
"get"
,
params
:
data
params
:
data
,
})
})
;
}
}
// 进度查看
// 进度查看
export
function
viewSchedule
(
data
)
{
export
function
viewSchedule
(
data
)
{
return
request
({
return
request
({
url
:
'/activiti/process/read-resource'
,
url
:
"/activiti/process/read-resource"
,
method
:
'get'
,
method
:
"get"
,
params
:
data
params
:
data
,
})
})
;
}
}
/** 审批任务 */
/** 审批任务 */
export
function
complete
({
taskId
,
instanceId
,
comment
,
pass
})
{
export
function
complete
({
taskId
,
instanceId
,
comment
,
pass
})
{
return
request
({
return
request
({
url
:
`/school/teacherLeave/complete/
${
taskId
}
/
${
instanceId
}
`
,
url
:
`/school/teacherLeave/complete/
${
taskId
}
/
${
instanceId
}
`
,
method
:
'post'
,
method
:
"post"
,
data
:
{
data
:
{
comment
,
comment
,
pass
pass
,
}
}
,
})
})
;
}
}
/** 销假 */
/** 销假 */
export
function
cancelLeave
(
taskId
,
postForm
)
{
export
function
cancelLeave
(
taskId
,
postForm
)
{
return
request
({
return
request
({
url
:
'/school/teacherLeave/cancelLeave/'
+
taskId
,
url
:
"/school/teacherLeave/cancelLeave/"
+
taskId
,
method
:
'post'
,
method
:
"post"
,
data
:
postForm
data
:
postForm
,
})
})
;
}
}
/*新增修改dialog*/
/*新增修改dialog*/
...
@@ -127,44 +126,49 @@ export function cancelLeave(taskId, postForm) {
...
@@ -127,44 +126,49 @@ export function cancelLeave(taskId, postForm) {
//获取级部/处室下拉框
//获取级部/处室下拉框
export
function
getGradeOfficeList
(
query
)
{
export
function
getGradeOfficeList
(
query
)
{
return
request
({
return
request
({
url
:
'/schoolGrade/getList'
,
url
:
"/schoolGrade/getList"
,
method
:
'get'
,
method
:
"get"
,
params
:
query
params
:
query
,
})
})
;
}
}
//获取级部/处室 主任 下拉框
//获取级部/处室 主任 下拉框
export
function
getGradeOfficeDirectorList
(
form
)
{
export
function
getGradeOfficeDirectorList
(
form
)
{
return
request
({
return
request
({
url
:
'/school/teacherLeave/getDeptLeader/'
+
form
.
applyOrgid
,
url
:
"/school/teacherLeave/getDeptLeader/"
+
form
.
applyOrgid
,
params
:
form
,
params
:
form
,
method
:
'get'
,
method
:
"get"
,
})
})
;
}
}
//分管领导/主要领导下拉框
//分管领导/主要领导下拉框
export
function
getLeaderList
(
form
)
{
export
function
getLeaderList
(
form
)
{
return
request
({
return
request
({
url
:
'/school/teacherLeave/getSchoolLeader'
,
url
:
"/school/teacherLeave/getSchoolLeader"
,
params
:
form
,
params
:
form
,
method
:
'get'
,
method
:
"get"
,
})
})
;
}
}
//根据请假开始时间和结束时间,获取请假时长
//根据请假开始时间和结束时间,获取请假时长
export
function
getLeaveTime
(
data
)
{
export
function
getLeaveTime
(
data
)
{
return
request
({
return
request
({
url
:
'/school/teacherLeave/getTotalTime'
,
url
:
"/school/teacherLeave/getTotalTime"
,
method
:
'get'
,
method
:
"get"
,
params
:
data
,
params
:
data
,
})
})
;
}
}
export
function
getDepId
()
{
export
function
getDepId
()
{
return
request
({
return
request
({
url
:
'/schoolGrade/getDeptOrGrade'
,
url
:
"/schoolGrade/getDeptOrGrade"
,
method
:
'get'
,
method
:
"get"
,
})
});
}
//判断用户所选部门是属于级部还是科室
export
function
getDepids
(
deptId
)
{
return
request
({
url
:
"/schoolGrade/judgeDeptOrGrade/"
+
deptId
,
method
:
"get"
,
});
}
}
ruoyi-ui/src/views/smartSchool/personWork/leaveApply/index.vue
View file @
86ef3e1c
...
@@ -284,7 +284,7 @@ import {
...
@@ -284,7 +284,7 @@ import {
getLeaderList
getLeaderList
}
from
"@/api/smartSchool/personWork/leaveApply"
;
}
from
"@/api/smartSchool/personWork/leaveApply"
;
import
{
formatDate
}
from
"../../../../utils"
;
import
{
formatDate
}
from
"../../../../utils"
;
import
{
getDepId
}
from
"../../../../api/smartSchool/personWork/leaveApply"
;
import
{
getDepId
,
getDepids
}
from
"../../../../api/smartSchool/personWork/leaveApply"
;
import
Treeselect
from
"@riophae/vue-treeselect"
;
import
Treeselect
from
"@riophae/vue-treeselect"
;
import
"@riophae/vue-treeselect/dist/vue-treeselect.css"
;
import
"@riophae/vue-treeselect/dist/vue-treeselect.css"
;
import
SelectUser
from
"./components/SelectUser"
;
import
SelectUser
from
"./components/SelectUser"
;
...
@@ -323,7 +323,7 @@ export default {
...
@@ -323,7 +323,7 @@ export default {
created
()
{
created
()
{
this
.
getList
();
this
.
getList
();
this
.
schoolLeader
();
this
.
schoolLeader
();
this
.
employeeType
=
this
.
$store
.
state
.
user
.
employeeType
;
//
this.employeeType = this.$store.state.user.employeeType;
this
.
form
.
teacherId
=
this
.
$store
.
state
.
user
.
userId
;
this
.
form
.
teacherId
=
this
.
$store
.
state
.
user
.
userId
;
}
,
}
,
...
@@ -529,8 +529,14 @@ export default {
...
@@ -529,8 +529,14 @@ export default {
}
,
}
,
deptIdAndName
(
node
)
{
deptIdAndName
(
node
)
{
this
.
form
.
applyOrgname
=
node
.
label
;
console
.
log
(
node
);
this
.
form
.
handUserName1
=
undefined
;
getDepids
(
node
.
id
).
then
(
response
=>
{
this
.
employeeType
=
response
.
employeeType
;
}
);
// this.form.applyOrgname = node.label;
// this.form.handUserName1 = undefined;
// this.gradeDirectorList()
// this.gradeDirectorList()
}
,
}
,
/** 导出按钮操作 */
/** 导出按钮操作 */
...
@@ -746,7 +752,6 @@ export default {
...
@@ -746,7 +752,6 @@ export default {
if
(
res
.
code
==
200
)
{
if
(
res
.
code
==
200
)
{
this
.
schoolLeaderList
=
res
.
rows
this
.
schoolLeaderList
=
res
.
rows
}
}
}
))
}
))
}
,
}
,
...
@@ -841,6 +846,8 @@ export default {
...
@@ -841,6 +846,8 @@ export default {
getDepId
().
then
(
res
=>
{
getDepId
().
then
(
res
=>
{
this
.
$set
(
this
.
form
,
"applyOrgid"
,
res
.
data
);
this
.
$set
(
this
.
form
,
"applyOrgid"
,
res
.
data
);
this
.
form
.
applyOrgid
=
res
.
data
this
.
form
.
applyOrgid
=
res
.
data
this
.
employeeType
=
res
.
employeeType
console
.
log
(
this
.
employeeType
,
'22'
);
let
arr
=
this
.
readNodes
(
this
.
gradeOfficeList
)
let
arr
=
this
.
readNodes
(
this
.
gradeOfficeList
)
const
node
=
arr
.
find
(
item
=>
{
const
node
=
arr
.
find
(
item
=>
{
if
(
item
.
id
==
this
.
form
.
applyOrgid
)
{
if
(
item
.
id
==
this
.
form
.
applyOrgid
)
{
...
...
ruoyi-ui/src/views/smartSchool/schoolManage/schoolMoments/components/schoolMomentsDetail/index.vue
View file @
86ef3e1c
...
@@ -2,12 +2,7 @@
...
@@ -2,12 +2,7 @@
<div
class=
"app-container"
>
<div
class=
"app-container"
>
<el-form
:model=
"queryForm"
:inline=
"true"
size=
"small"
@
submit
.
native
.
prevent
>
<el-form
:model=
"queryForm"
:inline=
"true"
size=
"small"
@
submit
.
native
.
prevent
>
<el-form-item
label=
"序号"
prop=
"sortId"
>
<el-form-item
label=
"序号"
prop=
"sortId"
>
<el-input
<el-input
clearable
placeholder=
"请输入序号"
v-model=
"queryForm.sortId"
@
keyup
.
enter
.
native=
"handleQuery"
>
clearable
placeholder=
"请输入序号"
v-model=
"queryForm.sortId"
@
keyup
.
enter
.
native=
"handleQuery"
>
</el-input>
</el-input>
</el-form-item>
</el-form-item>
...
@@ -20,63 +15,31 @@
...
@@ -20,63 +15,31 @@
<el-form>
<el-form>
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-col
:span=
"1.5"
>
<el-col
:span=
"1.5"
>
<el-button
<el-button
type=
"primary"
plain
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAdd"
type=
"primary"
v-hasPermi=
"['system:schoolTimeDetail:add']"
>
新增
plain
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAdd"
v-hasPermi=
"['system:schoolTimeDetail:add']"
>
新增
</el-button>
</el-button>
</el-col>
</el-col>
<el-col
:span=
"1.5"
>
<el-col
:span=
"1.5"
>
<el-button
<el-button
type=
"success"
plain
icon=
"el-icon-edit"
size=
"mini"
:disabled=
"single"
@
click=
"handleUpdate"
type=
"success"
v-hasPermi=
"['system:schoolTimeDetail:edit']"
>
修改
plain
icon=
"el-icon-edit"
size=
"mini"
:disabled=
"single"
@
click=
"handleUpdate"
v-hasPermi=
"['system:schoolTimeDetail:edit']"
>
修改
</el-button>
</el-button>
</el-col>
</el-col>
<el-col
:span=
"1.5"
>
<el-col
:span=
"1.5"
>
<el-button
<el-button
type=
"danger"
plain
icon=
"el-icon-delete"
size=
"mini"
:disabled=
"multiple"
@
click=
"handleDelete"
type=
"danger"
v-hasPermi=
"['system:schoolTimeDetail:remove']"
>
删除
plain
icon=
"el-icon-delete"
size=
"mini"
:disabled=
"multiple"
@
click=
"handleDelete"
v-hasPermi=
"['system:schoolTimeDetail:remove']"
>
删除
</el-button>
</el-button>
</el-col>
</el-col>
<el-col
:span=
"1.5"
>
<el-col
:span=
"1.5"
>
<el-button
<el-button
type=
"warning"
plain
icon=
"el-icon-download"
size=
"mini"
@
click=
"handleExport"
>
导出
type=
"warning"
plain
icon=
"el-icon-download"
size=
"mini"
@
click=
"handleExport"
>
导出
</el-button>
</el-button>
</el-col>
</el-col>
<el-col
:span=
"1.5"
>
<el-col
:span=
"1.5"
>
<el-button
<el-button
type=
"info"
plain
icon=
"el-icon-close"
size=
"mini"
@
click=
"handleClose"
type=
"info"
v-hasPermi=
"['system:schoolTimeDetail:close']"
>
关闭
plain
icon=
"el-icon-close"
size=
"mini"
@
click=
"handleClose"
v-hasPermi=
"['system:schoolTimeDetail:close']"
>
关闭
</el-button>
</el-button>
</el-col>
</el-col>
...
@@ -84,67 +47,34 @@
...
@@ -84,67 +47,34 @@
</el-row>
</el-row>
</el-form>
</el-form>
<el-table
<el-table
v-loading=
"loading"
:data=
"timeList"
@
selection-change=
"handleSelectionChange"
>
v-loading=
"loading"
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
:data=
"timeList"
<el-table-column
label=
"序号"
sortable
align=
"center"
width=
"80px"
prop=
"sortId"
/>
@
selection-change=
"handleSelectionChange"
>
<el-table-column
label=
"名称"
align=
"center"
prop=
"sortName"
show-overflow-tooltip
/>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
sortable
label=
"开始时间"
align=
"center"
prop=
"startTime"
show-overflow-tooltip
/>
<el-table-column
label=
"序号"
sortable
align=
"center"
width=
"80px"
prop=
"sortId"
/>
<el-table-column
label=
"结束时间"
sortable
align=
"center"
prop=
"endTime"
show-overflow-tooltip
>
<el-table-column
label=
"名称"
align=
"center"
prop=
"sortName"
show-overflow-tooltip
/>
<el-table-column
sortable
label=
"开始时间"
align=
"center"
prop=
"startTime"
show-overflow-tooltip
/>
<el-table-column
label=
"结束时间"
sortable
align=
"center"
prop=
"endTime"
show-overflow-tooltip
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"备注"
align=
"center"
prop=
"remark"
show-overflow-tooltip
>
<el-table-column
label=
"备注"
align=
"center"
prop=
"remark"
show-overflow-tooltip
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"操作"
align=
"center"
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
class-name=
"small-padding fixed-width"
>
<template
slot-scope=
"scope"
>
<template
slot-scope=
"scope"
>
<el-button
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleUpdate(scope.row)"
size=
"mini"
v-hasPermi=
"['system:schoolTimeDetail:edit']"
>
编辑
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleUpdate(scope.row)"
v-hasPermi=
"['system:schoolTimeDetail:edit']"
>
编辑
</el-button>
</el-button>
<el-button
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"handleDelete(scope.row)"
size=
"mini"
v-hasPermi=
"['system:schoolTimeDetail:remove']"
>
删除
type=
"text"
icon=
"el-icon-delete"
@
click=
"handleDelete(scope.row)"
v-hasPermi=
"['system:schoolTimeDetail:remove']"
>
删除
</el-button>
</el-button>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
<el-dialog
<el-dialog
:title=
"title"
:visible
.
sync=
"open"
width=
"600px"
append-to-body
@
close=
"cancel"
>
:title=
"title"
:visible
.
sync=
"open"
width=
"600px"
append-to-body
@
close=
"cancel"
>
<el-form
ref=
"postForm"
:model=
"postForm"
:rules=
"rules"
label-width=
"80px"
>
<el-form
ref=
"postForm"
:model=
"postForm"
:rules=
"rules"
label-width=
"80px"
>
<el-form-item
label=
"节次"
prop=
"sortName"
>
<el-form-item
label=
"节次"
prop=
"sortName"
>
<el-select
<el-select
v-model=
"postForm.sortName"
value-key=
"sortId"
placeholder=
"请选择节次"
clearable
@
change=
"setSortId"
v-model=
"postForm.sortName"
style=
"width: 100%"
>
value-key=
"sortId"
<el-option
v-for=
"item in dictList"
:key=
"item.value"
:label=
"item.label"
placeholder=
"请选择节次"
:value=
"{ sortId: item.value, sortName: item.label }"
:disabled=
"item.disabled"
/>
clearable
@
change=
"setSortId"
style=
"width: 100%"
>
<el-option
v-for=
"item in dictList"
:key=
"item.value"
:label=
"item.label"
:value=
"{sortId:item.value,sortName:item.label}"
:disabled=
"item.disabled"
/>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
...
@@ -153,29 +83,18 @@
...
@@ -153,29 +83,18 @@
</el-form-item> -->
</el-form-item> -->
<el-form-item
label=
"开始时间"
prop=
"startTime"
>
<el-form-item
label=
"开始时间"
prop=
"startTime"
>
<el-time-picker
<el-time-picker
v-model=
"postForm.startTime"
value-format=
"HH:mm"
format=
"HH:mm"
placeholder=
"选择开始时间"
v-model=
"postForm.startTime"
style=
"width: 100%"
>
value-format=
"HH:mm"
format=
"HH:mm"
placeholder=
"选择开始时间"
style=
"width: 100%"
>
</el-time-picker>
</el-time-picker>
</el-form-item>
</el-form-item>
<el-form-item
label=
"结束时间"
prop=
"endTime"
>
<el-form-item
label=
"结束时间"
prop=
"endTime"
>
<div
class=
"block"
>
<div
class=
"block"
>
<el-time-picker
<el-time-picker
v-model=
"postForm.endTime"
value-format=
"HH:mm"
format=
"HH:mm"
placeholder=
"选择结束时间"
v-model=
"postForm.endTime"
style=
"width: 100%"
>
value-format=
"HH:mm"
format=
"HH:mm"
placeholder=
"选择结束时间"
style=
"width: 100%"
>
</el-time-picker>
</el-time-picker>
</div>
</div>
</el-form-item>
</el-form-item>
<el-form-item
label=
"备注"
prop=
"remark"
>
<el-form-item
label=
"备注"
prop=
"remark"
>
<el-input
clearable
v-model=
"postForm.remark"
></el-input>
<el-input
clearable
v-model=
"postForm.remark"
></el-input>
</el-form-item>
</el-form-item>
...
@@ -186,11 +105,7 @@
...
@@ -186,11 +105,7 @@
</div>
</div>
</el-dialog>
</el-dialog>
<ExportTable
<ExportTable
:open-export
.
sync=
"exportOptions.open"
:title=
"exportOptions.title"
@
export=
"exportFile"
></ExportTable>
:open-export
.
sync=
"exportOptions.open"
:title=
"exportOptions.title"
@
export=
"exportFile"
></ExportTable>
</div>
</div>
</template>
</template>
...
@@ -203,10 +118,10 @@ import {
...
@@ -203,10 +118,10 @@ import {
queryOneDetail
,
queryOneDetail
,
deleteTimeDetail
deleteTimeDetail
}
from
'@/api/smartSchool/schoolManage/schoolMomentsDetail'
}
from
'@/api/smartSchool/schoolManage/schoolMomentsDetail'
import
{
ExportType
}
from
"@/enums/common"
import
{
ExportType
}
from
"@/enums/common"
import
{
TimeName
}
from
'@/enums/schedule/schoolMomentsDetail'
import
{
TimeName
}
from
'@/enums/schedule/schoolMomentsDetail'
import
{
CustomCellStyle
}
from
'@/enums/customStyle'
;
import
{
CustomCellStyle
}
from
'@/enums/customStyle'
;
import
{
getDicts
}
from
'@/api/system/dict/data'
import
{
getDicts
}
from
'@/api/system/dict/data'
import
{
closeCurrentTab
}
from
"../../../../../../utils/utilLibrary/routerBatch/routerBatch"
;
import
{
closeCurrentTab
}
from
"../../../../../../utils/utilLibrary/routerBatch/routerBatch"
;
export
default
{
export
default
{
...
@@ -247,13 +162,13 @@ export default {
...
@@ -247,13 +162,13 @@ export default {
// 表单校验
// 表单校验
rules
:
{
rules
:
{
sortName
:
[
sortName
:
[
{
required
:
true
,
message
:
"名称不能为空"
,
trigger
:
"blur"
}
{
required
:
true
,
message
:
"名称不能为空"
,
trigger
:
"blur"
}
],
],
startTime
:
[
startTime
:
[
{
required
:
true
,
message
:
"开始时间不能为空"
,
trigger
:
"blur"
}
{
required
:
true
,
message
:
"开始时间不能为空"
,
trigger
:
"blur"
}
],
],
endTime
:
[
endTime
:
[
{
required
:
true
,
message
:
"结束时间不能为空"
,
trigger
:
"blur"
}
{
required
:
true
,
message
:
"结束时间不能为空"
,
trigger
:
"blur"
}
],
],
},
},
// 弹出层标题
// 弹出层标题
...
@@ -291,8 +206,9 @@ export default {
...
@@ -291,8 +206,9 @@ export default {
exportType
:
''
,
exportType
:
''
,
}
}
},
},
created
()
{
created
()
{
this
.
schoolTimeId
=
this
.
$route
.
query
&&
this
.
$route
.
query
.
schoolTimeId
;
this
.
getList
();
this
.
getList
();
this
.
getDict
();
this
.
getDict
();
...
@@ -313,7 +229,9 @@ export default {
...
@@ -313,7 +229,9 @@ export default {
// 获取列表数据
// 获取列表数据
getList
()
{
getList
()
{
this
.
loading
=
true
;
this
.
loading
=
true
;
this
.
schoolTimeId
=
this
.
$route
.
query
&&
this
.
$route
.
query
.
schoolTimeId
;
getDetailList
(
this
.
queryForm
,
this
.
schoolTimeId
).
then
(
response
=>
{
getDetailList
(
this
.
queryForm
,
this
.
schoolTimeId
).
then
(
response
=>
{
console
.
log
(
this
.
queryForm
,
this
.
schoolTimeId
);
this
.
loading
=
false
this
.
loading
=
false
this
.
timeList
=
response
.
rows
this
.
timeList
=
response
.
rows
this
.
sortList
=
this
.
timeList
.
map
(
function
(
value
,
index
)
{
this
.
sortList
=
this
.
timeList
.
map
(
function
(
value
,
index
)
{
...
@@ -411,12 +329,12 @@ export default {
...
@@ -411,12 +329,12 @@ export default {
const
ids
=
this
.
ids
;
const
ids
=
this
.
ids
;
const
schoolTimeId
=
this
.
schoolTimeId
const
schoolTimeId
=
this
.
schoolTimeId
const
options
=
[
const
options
=
[
{
type
:
ExportType
.
TOTAL
,
path
:
'/schoolTimeDetail/export/'
,
params
:
{
schoolTimeId
}
},
{
type
:
ExportType
.
TOTAL
,
path
:
'/schoolTimeDetail/export/'
,
params
:
{
schoolTimeId
}
},
{
type
:
ExportType
.
SELECT
,
path
:
'/schoolTimeDetail/export/'
+
ids
,
params
:
{
schoolTimeId
}
},
{
type
:
ExportType
.
SELECT
,
path
:
'/schoolTimeDetail/export/'
+
ids
,
params
:
{
schoolTimeId
}
},
{
{
type
:
ExportType
.
QUERY
,
type
:
ExportType
.
QUERY
,
path
:
'/schoolTimeDetail/export/'
,
path
:
'/schoolTimeDetail/export/'
,
params
:
{
schoolTimeId
,
sortId
:
this
.
queryForm
.
sortId
}
params
:
{
schoolTimeId
,
sortId
:
this
.
queryForm
.
sortId
}
},
},
]
]
callback
(
options
,
`学校时刻明细
${
new
Date
().
getTime
()}
.xlsx`
);
callback
(
options
,
`学校时刻明细
${
new
Date
().
getTime
()}
.xlsx`
);
...
@@ -502,7 +420,7 @@ export default {
...
@@ -502,7 +420,7 @@ export default {
this
.
resetForm
(
'postForm'
)
this
.
resetForm
(
'postForm'
)
},
},
setSortId
(
data
)
{
setSortId
(
data
)
{
const
{
sortId
,
sortName
}
=
data
const
{
sortId
,
sortName
}
=
data
this
.
postForm
.
sortId
=
sortId
this
.
postForm
.
sortId
=
sortId
this
.
postForm
.
sortName
=
sortName
this
.
postForm
.
sortName
=
sortName
}
}
...
@@ -512,6 +430,4 @@ export default {
...
@@ -512,6 +430,4 @@ export default {
}
}
</
script
>
</
script
>
<
style
>
<
style
></
style
>
</
style
>
ruoyi-ui/src/views/smartSchool/schoolManage/schoolMoments/index.vue
View file @
86ef3e1c
...
@@ -2,12 +2,8 @@
...
@@ -2,12 +2,8 @@
<section
class=
"app-container"
>
<section
class=
"app-container"
>
<el-form
:model=
"queryParams"
:inline=
"true"
size=
"small"
@
submit
.
native
.
prevent
>
<el-form
:model=
"queryParams"
:inline=
"true"
size=
"small"
@
submit
.
native
.
prevent
>
<el-form-item
label=
"时刻名称"
prop=
"timeName"
>
<el-form-item
label=
"时刻名称"
prop=
"timeName"
>
<el-input
<el-input
clearable
v-model=
"queryParams.timeName"
@
keyup
.
enter
.
native=
"handleQuery"
clearable
placeholder=
"选择时刻"
></el-input>
v-model=
"queryParams.timeName"
@
keyup
.
enter
.
native=
"handleQuery"
placeholder=
"选择时刻"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"handleQuery"
>
搜索
</el-button>
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"handleQuery"
>
搜索
</el-button>
...
@@ -16,38 +12,18 @@
...
@@ -16,38 +12,18 @@
</el-form>
</el-form>
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-col
:span=
"1.5"
>
<el-col
:span=
"1.5"
>
<el-button
<el-button
type=
"primary"
plain
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAdd"
type=
"primary"
v-hasPermi=
"['system:schoolTime:add']"
>
新增
plain
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAdd"
v-hasPermi=
"['system:schoolTime:add']"
>
新增
</el-button>
</el-button>
</el-col>
</el-col>
<el-col
:span=
"1.5"
>
<el-col
:span=
"1.5"
>
<el-button
<el-button
type=
"success"
plain
icon=
"el-icon-edit"
size=
"mini"
:disabled=
"single"
@
click=
"handleUpdate"
type=
"success"
v-hasPermi=
"['system:schoolTime:edit']"
>
修改
plain
icon=
"el-icon-edit"
size=
"mini"
:disabled=
"single"
@
click=
"handleUpdate"
v-hasPermi=
"['system:schoolTime:edit']"
>
修改
</el-button>
</el-button>
</el-col>
</el-col>
<el-col
:span=
"1.5"
>
<el-col
:span=
"1.5"
>
<el-button
<el-button
type=
"danger"
plain
icon=
"el-icon-delete"
size=
"mini"
:disabled=
"multiple"
@
click=
"handleDelete"
type=
"danger"
v-hasPermi=
"['system:schoolTime:remove']"
>
删除
plain
icon=
"el-icon-delete"
size=
"mini"
:disabled=
"multiple"
@
click=
"handleDelete"
v-hasPermi=
"['system:schoolTime:remove']"
>
删除
</el-button>
</el-button>
</el-col>
</el-col>
<!--
<el-col
:span=
"1.5"
>
-->
<!--
<el-col
:span=
"1.5"
>
-->
...
@@ -63,83 +39,48 @@
...
@@ -63,83 +39,48 @@
<!--
</el-col>
-->
<!--
</el-col>
-->
<!--
<right-toolbar
:showSearch
.
sync=
"showSearch"
@
queryTable=
"getList"
:columns=
"columns"
></right-toolbar>
-->
<!--
<right-toolbar
:showSearch
.
sync=
"showSearch"
@
queryTable=
"getList"
:columns=
"columns"
></right-toolbar>
-->
</el-row>
</el-row>
<el-table
<el-table
v-loading=
"loading"
:data=
"momentList"
@
selection-change=
"handleSelectionChange"
>
v-loading=
"loading"
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
:data=
"momentList"
<el-table-column
label=
"时刻名称"
align=
"center"
v-if=
"columns[0].visible"
prop=
"timeName"
show-overflow-tooltip
/>
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"时刻名称"
align=
"center"
v-if=
"columns[0].visible"
prop=
"timeName"
show-overflow-tooltip
/>
<el-table-column
label=
"是否使用"
align=
"center"
v-if=
"columns[1].visible"
prop=
"isUsed"
>
<el-table-column
label=
"是否使用"
align=
"center"
v-if=
"columns[1].visible"
prop=
"isUsed"
>
<template
slot-scope=
"scope"
>
<template
slot-scope=
"scope"
>
<el-switch
<el-switch
v-model=
"scope.row.isUsed"
active-value=
"1"
inactive-value=
"0"
v-model=
"scope.row.isUsed"
@
change=
"handleUsedChange(scope.row)"
/>
active-value=
"1"
inactive-value=
"0"
@
change=
"handleUsedChange(scope.row)"
/>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"备注"
align=
"center"
v-if=
"columns[2].visible"
prop=
"remark"
>
<el-table-column
label=
"备注"
align=
"center"
v-if=
"columns[2].visible"
prop=
"remark"
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"操作"
align=
"center"
v-if=
"columns[3].visible"
<el-table-column
label=
"操作"
align=
"center"
v-if=
"columns[3].visible"
class-name=
"small-padding fixed-width"
>
class-name=
"small-padding fixed-width"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-button
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleUpdate(scope.row)"
size=
"mini"
v-hasPermi=
"['system:schoolTime:edit']"
>
编辑
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleUpdate(scope.row)"
v-hasPermi=
"['system:schoolTime:edit']"
>
编辑
</el-button>
</el-button>
<el-button
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-search"
@
click=
"handleViewDetail(scope.row)"
>
明细
size=
"mini"
type=
"text"
icon=
"el-icon-search"
@
click=
"handleViewDetail(scope.row)"
>
明细
</el-button>
</el-button>
<el-button
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"handleDelete(scope.row)"
size=
"mini"
v-hasPermi=
"['system:schoolTime:remove']"
>
删除
type=
"text"
icon=
"el-icon-delete"
@
click=
"handleDelete(scope.row)"
v-hasPermi=
"['system:schoolTime:remove']"
>
删除
</el-button>
</el-button>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
<pagination
<pagination
v-show=
"total > 0"
:total=
"total"
:page
.
sync=
"queryParams.pageNum"
:limit
.
sync=
"queryParams.pageSize"
v-show=
"total > 0"
@
pagination=
"getList"
></pagination>
:total=
"total"
<el-dialog
width=
"500px"
:visible
.
sync=
"open"
:fullscreen=
"isFullScreen"
:modal-append-to-body=
"false"
>
:page
.
sync=
"queryParams.pageNum"
:limit
.
sync=
"queryParams.pageSize"
@
pagination=
"getList"
></pagination>
<el-dialog
width=
"500px"
:visible
.
sync=
"open"
:fullscreen=
"isFullScreen"
:modal-append-to-body=
"false"
>
<
template
slot=
"title"
>
<
template
slot=
"title"
>
<div
class=
"custom-dialog__header"
>
<div
class=
"custom-dialog__header"
>
<span
class=
"el-dialog__title"
>
{{
title
}}
</span>
<span
class=
"el-dialog__title"
>
{{
title
}}
</span>
<div
class=
"custom-dialog__right"
>
<div
class=
"custom-dialog__right"
>
<div
class=
"custom__dialog__size"
@
click=
"isFullScreen = !isFullScreen"
>
<div
class=
"custom__dialog__size"
@
click=
"isFullScreen = !isFullScreen"
>
<svg-icon
style=
"color: #909399; font-size: 13px"
<svg-icon
style=
"color: #909399; font-size: 13px"
:icon-class=
"isFullScreen?'exit-fullscreen':'fullscreen'"
/>
:icon-class=
"isFullScreen ? 'exit-fullscreen' : 'fullscreen'"
/>
</div>
</div>
</div>
</div>
</div>
</div>
</
template
>
</
template
>
<el-form
:model=
"form"
ref=
"form"
label-width=
"100px"
:rules=
"rules"
>
<el-form
:model=
"form"
ref=
"form"
label-width=
"100px"
:rules=
"rules"
>
<el-form-item
label=
"时刻名称:"
prop=
"timeName"
>
<el-form-item
label=
"时刻名称:"
prop=
"timeName"
>
<el-input
clearable
v-model=
"form.timeName"
<el-input
clearable
v-model=
"form.timeName"
></el-input>
></el-input>
</el-form-item>
</el-form-item>
<!-- <el-form-item label="是否使用:">
<!-- <el-form-item label="是否使用:">
<el-select v-model="form.isUsed" style="width: 100%;">
<el-select v-model="form.isUsed" style="width: 100%;">
...
@@ -152,13 +93,8 @@
...
@@ -152,13 +93,8 @@
</el-select>
</el-select>
</el-form-item> -->
</el-form-item> -->
<el-form-item
label=
"备注:"
prop=
"remark"
>
<el-form-item
label=
"备注:"
prop=
"remark"
>
<el-input
<el-input
type=
"textarea"
maxlength=
"200"
:autosize=
"{ minRows: 2, maxRows: 5 }"
show-word-limit
type=
"textarea"
v-model=
"form.remark"
></el-input>
maxlength=
"200"
:autosize=
"{ minRows: 2, maxRows: 5}"
show-word-limit
v-model=
"form.remark"
></el-input>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<div
slot=
"footer"
class=
"dialog-footer"
>
...
@@ -179,7 +115,7 @@ import {
...
@@ -179,7 +115,7 @@ import {
deleteSelect
,
deleteSelect
,
changeUserStatus
changeUserStatus
}
from
'@/api/smartSchool/schoolManage/schoolMoments'
}
from
'@/api/smartSchool/schoolManage/schoolMoments'
import
{
UseStatus
}
from
"@/enums/schedule/schoolMoments"
;
import
{
UseStatus
}
from
"@/enums/schedule/schoolMoments"
;
export
default
{
export
default
{
name
:
"SchoolMoments"
,
name
:
"SchoolMoments"
,
...
@@ -211,15 +147,15 @@ export default {
...
@@ -211,15 +147,15 @@ export default {
// 校验
// 校验
rules
:
{
rules
:
{
timeName
:
[
timeName
:
[
{
required
:
true
,
message
:
'请输入时刻名称'
,
trigger
:
'blur'
}
{
required
:
true
,
message
:
'请输入时刻名称'
,
trigger
:
'blur'
}
],
],
},
},
// 列信息
// 列信息
columns
:
[
columns
:
[
{
key
:
0
,
label
:
`时刻名称`
,
visible
:
true
},
{
key
:
0
,
label
:
`时刻名称`
,
visible
:
true
},
{
key
:
1
,
label
:
`是否使用`
,
visible
:
true
},
{
key
:
1
,
label
:
`是否使用`
,
visible
:
true
},
{
key
:
2
,
label
:
`备注`
,
visible
:
true
},
{
key
:
2
,
label
:
`备注`
,
visible
:
true
},
{
key
:
3
,
label
:
`操作`
,
visible
:
true
}
{
key
:
3
,
label
:
`操作`
,
visible
:
true
}
],
],
// 选中数据
// 选中数据
ids
:
[],
ids
:
[],
...
@@ -300,16 +236,15 @@ export default {
...
@@ -300,16 +236,15 @@ export default {
/** 【学校时刻明细】按钮 */
/** 【学校时刻明细】按钮 */
handleViewDetail
(
row
)
{
handleViewDetail
(
row
)
{
// 这里进行一次路由跳转
this
.
$router
.
push
({
this
.
$router
.
push
({
// path: '/schoolManage/schoolMomentsDetail/' + row.id,
path
:
'/schoolManage/schoolMomentsDetail'
,
path
:
'/schoolManage/schoolMomentsDetail'
,
query
:
{
query
:
{
schoolTimeId
:
row
.
id
schoolTimeId
:
row
.
id
}
}
})
})
;
},
},
/** 【删除】按钮 */
/** 【删除】按钮 */
handleDelete
(
row
)
{
handleDelete
(
row
)
{
this
.
throttle
(()
=>
{
this
.
throttle
(()
=>
{
...
@@ -415,5 +350,4 @@ export default {
...
@@ -415,5 +350,4 @@ export default {
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
@import
"~@/assets/styles/moduleStyle/custom-dialog.scss"
;
@import
"~@/assets/styles/moduleStyle/custom-dialog.scss"
;
</
style
>
</
style
>
ruoyi-ui/src/views/smartSchool/teachAffairAdministration/affairStudentManage/components/studentTable/index.vue
View file @
86ef3e1c
...
@@ -9,9 +9,7 @@
...
@@ -9,9 +9,7 @@
<el-button
type=
"primary"
plain
size=
"mini"
@
click=
"printTable"
>
打印
<el-button
type=
"primary"
plain
size=
"mini"
@
click=
"printTable"
>
打印
</el-button>
</el-button>
</div>
</div>
</div>
</div>
<el-card
style=
"height: 100%;width: 900px;"
>
<el-card
style=
"height: 100%;width: 900px;"
>
<br/>
<br/>
<br/>
<br/>
<div
style=
"width: 100%; margin: auto;"
id=
"postFormContainer"
>
<div
style=
"width: 100%; margin: auto;"
id=
"postFormContainer"
>
...
...
ruoyi-ui/src/views/smartSchool/teachAffairAdministration/lessonManage/index.vue
View file @
86ef3e1c
...
@@ -3,37 +3,17 @@
...
@@ -3,37 +3,17 @@
<el-row>
<el-row>
<el-col
:span=
"4"
>
<el-col
:span=
"4"
>
<el-card
style=
"height: 950px"
>
<el-card
style=
"height: 950px"
>
<el-form
<el-form
:model=
"queryParams"
style=
"border-bottom: 1px solid #dfe6ec; padding: 10px 0 0 5px"
>
:model=
"queryParams"
style=
"border-bottom: 1px solid #dfe6ec; padding: 10px 0 0 5px"
>
<el-form-item
label=
"班级信息"
prop=
"schoolYear"
>
<el-form-item
label=
"班级信息"
prop=
"schoolYear"
>
<el-select
<el-select
v-model=
"queryParams.schoolYear"
@
change=
"getTreeData"
style=
"width: 100%"
size=
"mini"
>
v-model=
"queryParams.schoolYear"
<el-option
v-for=
"item in yearList"
:key=
"item.value"
:value=
"item.value"
:label=
"item.label"
>
@
change=
"getTreeData"
style=
"width: 100%"
size=
"mini"
>
<el-option
v-for=
"item in yearList"
:key=
"item.value"
:value=
"item.value"
:label=
"item.label"
>
</el-option>
</el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item></el-form-item>
<el-form-item></el-form-item>
</el-form>
</el-form>
<el-tree
<el-tree
ref=
"tree"
node-key=
"id"
:data=
"treeData"
:expand-on-click-node=
"false"
highlight-current
ref=
"tree"
default-expand-all
@
node-click=
"handleNodeClick"
></el-tree>
node-key=
"id"
:data=
"treeData"
:expand-on-click-node=
"false"
highlight-current
default-expand-all
@
node-click=
"handleNodeClick"
></el-tree>
<!--
</div>
-->
<!--
</div>
-->
</el-card>
</el-card>
</el-col>
</el-col>
...
@@ -41,109 +21,61 @@
...
@@ -41,109 +21,61 @@
<el-card
style=
"height: 950px"
class=
"mt50"
>
<el-card
style=
"height: 950px"
class=
"mt50"
>
<el-row>
<el-row>
<el-col
:span=
"8"
>
<el-col
:span=
"8"
>
<el-form
<el-form
:inline=
"true"
:model=
"formData"
style=
"padding: 12px 0 0 0"
>
:inline=
"true"
:model=
"formData"
style=
"padding: 12px 0 0 0"
>
<!--
<el-form-item>
-->
<!--
<el-form-item>
-->
<!--
<el-button
type=
"primary"
plain
size=
"mini"
--
>
<!--
<el-button
type=
"primary"
plain
size=
"mini"
--
>
<!-- @click="printTable">打印-->
<!-- @click="printTable">打印-->
<!--
</el-button>
-->
<!--
</el-button>
-->
<!--
</el-form-item>
-->
<!--
</el-form-item>
-->
<el-form-item
label=
"学期"
prop=
"termId"
>
<el-form-item
label=
"学期"
prop=
"termId"
>
<el-select
<el-select
v-model=
"formData.termId"
@
change=
"courseInfo"
placeholder=
"请选择学期"
>
v-model=
"formData.termId"
@
change=
"courseInfo"
placeholder=
"请选择学期"
>
<el-option
label=
"上学期"
value=
"0"
></el-option>
<el-option
label=
"上学期"
value=
"0"
></el-option>
<el-option
label=
"下学期"
value=
"1"
></el-option>
<el-option
label=
"下学期"
value=
"1"
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-col
:span=
"1.5"
>
<el-col
:span=
"1.5"
>
<el-button
<el-button
type=
"success"
plain
icon=
"el-icon-upload"
size=
"mini"
@
click=
"handleImport"
>
导入
type=
"success"
plain
icon=
"el-icon-upload"
size=
"mini"
@
click=
"handleImport"
>
导入
</el-button>
</el-button>
</el-col>
</el-col>
<el-col
:span=
"1.5"
>
<el-col
:span=
"1.5"
>
<el-button
<el-button
type=
"warning"
plain
icon=
"el-icon-download"
size=
"mini"
@
click=
"handleExport"
>
导出
type=
"warning"
plain
icon=
"el-icon-download"
size=
"mini"
@
click=
"handleExport"
>
导出
</el-button>
</el-button>
</el-col>
</el-col>
</el-row>
</el-row>
</el-form>
</el-form>
</el-col>
</el-col>
<el-col
:span=
"8"
>
<el-col
:span=
"8"
>
<div
<div
class=
"trash"
id=
"trashId"
draggable
@
dragenter=
"trashDragenter"
@
dragover=
"trashDragover"
class=
"trash"
@
dragleave=
"trashDragLeave"
@
drop=
"trashDrop"
>
id=
"trashId"
<i
style=
"font-size: 40px; pointer-events: none"
class=
"el-icon-delete"
></i>
draggable
@
dragenter=
"trashDragenter"
@
dragover=
"trashDragover"
@
dragleave=
"trashDragLeave"
@
drop=
"trashDrop"
>
<i
style=
"font-size: 40px; pointer-events: none"
class=
"el-icon-delete"
></i>
</div>
</div>
</el-col>
</el-col>
<el-col
:span=
"5"
:offset=
"3"
>
<el-col
:span=
"5"
:offset=
"3"
>
<div
<div
style=
"
style=
"
width: 100%;
width: 100%;
display: flex;
display: flex;
justify-content: center;
justify-content: center;
flex-direction: column;
flex-direction: column;
align-items: center;
align-items: center;
"
"
>
>
<el-button
type=
"primary"
plain
@
click=
"printTable"
>
打 印
<el-button
type=
"primary"
plain
@
click=
"printTable"
>
打 印
</el-button>
</el-button>
<br/>
<br
/>
<el-button
<el-button
type=
"primary"
class=
"affirmCourse"
size=
"medium"
@
click=
"getTableValue"
>
确认课表信息
type=
"primary"
class=
"affirmCourse"
size=
"medium"
@
click=
"getTableValue"
>
确认课表信息
</el-button>
</el-button>
</div>
</div>
</el-col>
</el-col>
</el-row>
</el-row>
<br/>
<br
/>
<el-row>
<el-row>
<el-col
:span=
"21"
>
<el-col
:span=
"21"
>
<div
class=
"course"
>
<div
class=
"course"
>
<el-table
<el-table
id=
"postFormContainer"
v-loading=
"loading"
border
:key=
"Math.random()"
id=
"postFormContainer"
:row-style=
"
{ height: '35px' }" :cell-style="{ padding: '0', margin: '0' }" :data="courseList" :row-key="(row) => {
v-loading=
"loading"
border
:key=
"Math.random()"
:row-style=
"
{ height: '35px' }"
:cell-style="{ padding: '0', margin: '0' }"
:data="courseList"
:row-key="
(row) => {
return row.id;
return row.id;
}
}
"
" height="710px">
height="710px"
>
<el-table-column
label=
"节次"
min-width=
"90"
align=
"center"
>
<el-table-column
label=
"节次"
min-width=
"90"
align=
"center"
>
<template
slot-scope=
"scope"
>
<template
slot-scope=
"scope"
>
{{
scope
.
row
.
sortName
}}
{{
scope
.
row
.
sortName
}}
...
@@ -152,83 +84,44 @@
...
@@ -152,83 +84,44 @@
<el-table-column
label=
"时间"
align=
"center"
min-width=
"90"
>
<el-table-column
label=
"时间"
align=
"center"
min-width=
"90"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<span
style=
"font-size: 8px"
>
<span
style=
"font-size: 8px"
>
{{
scope
.
row
.
startTime
}}
--
{{
scope
.
row
.
endTime
}}
</span
{{
scope
.
row
.
startTime
}}
--
{{
scope
.
row
.
endTime
}}
</span>
>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
prop=
"monday.courseName"
label=
"周一"
min-width=
"100"
align=
"center"
>
prop=
"monday.courseName"
label=
"周一"
min-width=
"100"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<div
<div
draggable
@
dragstart=
"(res) =>
{
draggable
@
dragstart=
"
(res) =>
{
dragstart(res, scope.$index, 'monday');
dragstart(res, scope.$index, 'monday');
}
}
"
" @dragover="dragover" @drop="(res) => {
@dragover="dragover"
@drop="
(res) => {
drop(res, scope.$index, 'monday');
drop(res, scope.$index, 'monday');
}
}
"
" @dragend="dragend" class="dragBox">
@dragend="dragend"
class="dragBox"
>
{{
scope
.
row
.
monday
&&
scope
.
row
.
monday
.
courseName
}}
{{
scope
.
row
.
monday
&&
scope
.
row
.
monday
.
courseName
}}
</div>
</div>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
prop=
"tuesday.courseName"
droppable
label=
"周二"
min-width=
"100"
align=
"center"
>
prop=
"tuesday.courseName"
droppable
label=
"周二"
min-width=
"100"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<div
<div
draggable
@
dragstart=
"(res) =>
{
draggable
@
dragstart=
"
(res) =>
{
dragstart(res, scope.$index, 'tuesday');
dragstart(res, scope.$index, 'tuesday');
}
}
"
" @dragover="dragover" @drop="(res) => {
@dragover="dragover"
@drop="
(res) => {
drop(res, scope.$index, 'tuesday');
drop(res, scope.$index, 'tuesday');
}
}
"
" @dragend="dragend" class="dragBox">
@dragend="dragend"
class="dragBox"
>
{{
scope
.
row
.
tuesday
&&
scope
.
row
.
tuesday
.
courseName
}}
{{
scope
.
row
.
tuesday
&&
scope
.
row
.
tuesday
.
courseName
}}
</div>
</div>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"周三"
min-width=
"100"
align=
"center"
>
<el-table-column
label=
"周三"
min-width=
"100"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<div
<div
draggable
@
dragstart=
"(res) =>
{
draggable
@
dragstart=
"
(res) =>
{
dragstart(res, scope.$index, 'wednesday');
dragstart(res, scope.$index, 'wednesday');
}
}
"
" @dragover="dragover" @drop="(res) => {
@dragover="dragover"
@drop="
(res) => {
drop(res, scope.$index, 'wednesday');
drop(res, scope.$index, 'wednesday');
}
}
"
" @dragend="dragend" class="dragBox">
@dragend="dragend"
class="dragBox"
>
{{
{{
scope
.
row
.
wednesday
&&
scope
.
row
.
wednesday
.
courseName
scope
.
row
.
wednesday
&&
scope
.
row
.
wednesday
.
courseName
}}
}}
...
@@ -237,22 +130,13 @@
...
@@ -237,22 +130,13 @@
</el-table-column>
</el-table-column>
<el-table-column
label=
"周四"
min-width=
"100"
align=
"center"
>
<el-table-column
label=
"周四"
min-width=
"100"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<div
<div
draggable
@
dragstart=
"(res) =>
{
draggable
@
dragstart=
"
(res) =>
{
dragstart(res, scope.$index, 'thursday');
dragstart(res, scope.$index, 'thursday');
}
}
"
" @dragover="dragover" @drop="(res) => {
@dragover="dragover"
@drop="
(res) => {
drop(res, scope.$index, 'thursday');
drop(res, scope.$index, 'thursday');
}
}
"
" @dragend="dragend" class="dragBox">
@dragend="dragend"
class="dragBox"
>
{{
{{
scope
.
row
.
thursday
&&
scope
.
row
.
thursday
.
courseName
scope
.
row
.
thursday
&&
scope
.
row
.
thursday
.
courseName
}}
}}
...
@@ -261,44 +145,26 @@
...
@@ -261,44 +145,26 @@
</el-table-column>
</el-table-column>
<el-table-column
label=
"周五"
min-width=
"100"
align=
"center"
>
<el-table-column
label=
"周五"
min-width=
"100"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<div
<div
draggable
@
dragstart=
"(res) =>
{
draggable
@
dragstart=
"
(res) =>
{
dragstart(res, scope.$index, 'friday');
dragstart(res, scope.$index, 'friday');
}
}
"
" @dragover="dragover" @drop="(res) => {
@dragover="dragover"
@drop="
(res) => {
drop(res, scope.$index, 'friday');
drop(res, scope.$index, 'friday');
}
}
"
" @dragend="dragend" class="dragBox">
@dragend="dragend"
class="dragBox"
>
{{
scope
.
row
.
friday
&&
scope
.
row
.
friday
.
courseName
}}
{{
scope
.
row
.
friday
&&
scope
.
row
.
friday
.
courseName
}}
</div>
</div>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"周六"
min-width=
"100"
align=
"center"
>
<el-table-column
label=
"周六"
min-width=
"100"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<div
<div
draggable
@
dragstart=
"(res) =>
{
draggable
@
dragstart=
"
(res) =>
{
dragstart(res, scope.$index, 'saturday');
dragstart(res, scope.$index, 'saturday');
}
}
"
" @dragover="dragover" @drop="(res) => {
@dragover="dragover"
@drop="
(res) => {
drop(res, scope.$index, 'saturday');
drop(res, scope.$index, 'saturday');
}
}
"
" @dragend="dragend" class="dragBox">
@dragend="dragend"
class="dragBox"
>
{{
{{
scope
.
row
.
saturday
&&
scope
.
row
.
saturday
.
courseName
scope
.
row
.
saturday
&&
scope
.
row
.
saturday
.
courseName
}}
}}
...
@@ -307,22 +173,13 @@
...
@@ -307,22 +173,13 @@
</el-table-column>
</el-table-column>
<el-table-column
label=
"周日"
min-width=
"100"
align=
"center"
>
<el-table-column
label=
"周日"
min-width=
"100"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<div
<div
draggable
@
dragstart=
"(res) =>
{
draggable
@
dragstart=
"
(res) =>
{
dragstart(res, scope.$index, 'sunday');
dragstart(res, scope.$index, 'sunday');
}
}
"
" @dragover="dragover" @drop="(res) => {
@dragover="dragover"
@drop="
(res) => {
drop(res, scope.$index, 'sunday');
drop(res, scope.$index, 'sunday');
}
}
"
" @dragend="dragend" class="dragBox">
@dragend="dragend"
class="dragBox"
>
{{
scope
.
row
.
sunday
&&
scope
.
row
.
sunday
.
courseName
}}
{{
scope
.
row
.
sunday
&&
scope
.
row
.
sunday
.
courseName
}}
</div>
</div>
</
template
>
</
template
>
...
@@ -332,17 +189,10 @@
...
@@ -332,17 +189,10 @@
</el-col>
</el-col>
<el-col
:span=
"2"
:offset=
"1"
>
<el-col
:span=
"2"
:offset=
"1"
>
<div
class=
"courseBox"
>
<div
class=
"courseBox"
>
<div
<div
v-for=
"(item, index) in courseTypeList"
:key=
"item.courseName"
draggable
@
dragstart=
"(res) => {
v-for=
"(item, index) in courseTypeList"
:key=
"item.courseName"
draggable
@
dragstart=
"
(res) => {
dragCloneStart(res, index);
dragCloneStart(res, index);
}
}
"
"
class=
"courseClone"
>
class=
"courseClone"
>
{{ item.courseName }}
{{ item.courseName }}
</div>
</div>
</div>
</div>
...
@@ -353,24 +203,10 @@
...
@@ -353,24 +203,10 @@
</el-row>
</el-row>
<!-- 用户导入对话框 -->
<!-- 用户导入对话框 -->
<el-dialog
<el-dialog
:title=
"upload.title"
:visible
.
sync=
"upload.open"
width=
"400px"
append-to-body
>
:title=
"upload.title"
<el-upload
ref=
"upload"
:limit=
"1"
accept=
".xlsx, .xls"
:headers=
"upload.headers"
:action=
"url"
:visible
.
sync=
"upload.open"
:disabled=
"upload.isUploading"
:on-progress=
"handleFileUploadProgress"
:on-success=
"handleFileSuccess"
width=
"400px"
:auto-upload=
"false"
drag
>
append-to-body
>
<el-upload
ref=
"upload"
:limit=
"1"
accept=
".xlsx, .xls"
:headers=
"upload.headers"
:action=
"url"
:disabled=
"upload.isUploading"
:on-progress=
"handleFileUploadProgress"
:on-success=
"handleFileSuccess"
:auto-upload=
"false"
drag
>
<i
class=
"el-icon-upload"
></i>
<i
class=
"el-icon-upload"
></i>
<div
class=
"el-upload__text"
>
将文件拖到此处,或
<em>
点击上传
</em></div>
<div
class=
"el-upload__text"
>
将文件拖到此处,或
<em>
点击上传
</em></div>
<div
class=
"el-upload__tip text-center"
slot=
"tip"
>
<div
class=
"el-upload__tip text-center"
slot=
"tip"
>
...
@@ -406,14 +242,14 @@ import {
...
@@ -406,14 +242,14 @@ import {
getClassTree
,
getClassTree
,
saveClassTable
,
saveClassTable
,
}
from
"@/api/smartSchool/teachAffairAdministration/lessonManage"
;
}
from
"@/api/smartSchool/teachAffairAdministration/lessonManage"
;
import
{
getYearList
}
from
"@/utils/utilLibrary/getYearList"
;
import
{
getYearList
}
from
"@/utils/utilLibrary/getYearList"
;
import
{
import
{
getFirstLeafNode
,
getFirstLeafNode
,
handleTreeData
,
handleTreeData
,
}
from
"@/utils/utilLibrary/getTreeClass"
;
}
from
"@/utils/utilLibrary/getTreeClass"
;
import
{
getToken
}
from
"@/utils/auth"
;
import
{
getToken
}
from
"@/utils/auth"
;
import
{
commonUpload
}
from
"@/api/common"
;
import
{
commonUpload
}
from
"@/api/common"
;
import
*
as
dd
from
'dingtalk-jsapi'
;
export
default
{
export
default
{
name
:
"index"
,
name
:
"index"
,
components
:
{
components
:
{
...
@@ -495,7 +331,7 @@ export default {
...
@@ -495,7 +331,7 @@ export default {
// 是否更新已经存在的数据
// 是否更新已经存在的数据
// updateSupport: 0,
// updateSupport: 0,
// 设置上传的请求头部
// 设置上传的请求头部
headers
:
{
Authorization
:
"Bearer "
+
getToken
()
},
headers
:
{
Authorization
:
"Bearer "
+
getToken
()
},
},
},
};
};
...
@@ -718,16 +554,18 @@ export default {
...
@@ -718,16 +554,18 @@ export default {
// 打印
// 打印
printTable
()
{
printTable
()
{
// 重置表单
const
baseUrl
=
window
.
location
.
protocol
+
'//'
+
window
.
location
.
host
+
'/printLesson'
;
printJS
({
const
urlWithParams
=
`
${
baseUrl
}
?courseList=
${
encodeURIComponent
(
JSON
.
stringify
(
this
.
courseList
))}
`
;
printable
:
"postFormContainer"
,
dd
.
biz
.
util
.
openLink
({
maxWidth
:
10000
,
url
:
urlWithParams
,
header
:
""
,
onSuccess
:
()
=>
{
ignoreElements
:
[
"no-print"
,
"back-no-print"
,
"front-no-print"
],
console
.
log
(
'跳转成功,准备打印'
);
targetStyles
:
[
"*"
],
// 打印条码
gridHeaderStyle
:
"border: 1px solid black"
,
// this.printCode();
type
:
"html"
,
},
gridStyle
:
`text-align: center; border: 1px solid black`
,
onFail
:
(
error
)
=>
{
console
.
error
(
'跳转失败'
,
error
);
}
});
});
},
},
/** 导入按钮操作 */
/** 导入按钮操作 */
...
@@ -750,7 +588,7 @@ export default {
...
@@ -750,7 +588,7 @@ export default {
response
.
msg
+
response
.
msg
+
"</div>"
,
"</div>"
,
"导入结果"
,
"导入结果"
,
{
dangerouslyUseHTMLString
:
true
}
{
dangerouslyUseHTMLString
:
true
}
);
);
},
},
// 上传成功回调
// 上传成功回调
...
@@ -847,7 +685,6 @@ export default {
...
@@ -847,7 +685,6 @@ export default {
/* line-height: 50px;*/
/* line-height: 50px;*/
/* text-align: center;*/
/* text-align: center;*/
/*}*/
/*}*/
</
style
>
</
style
>
...
...
ruoyi-ui/src/views/smartSchool/teachAffairAdministration/lessonManage/printLesson.vue
View file @
86ef3e1c
<
template
>
<
template
>
<div
class=
"app-container"
>
<div
class=
"app-container"
>
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-row>
<el-button
type=
"primary"
plain
@
click=
"printTable"
>
打 印
<el-col
:span=
"20"
>
<el-card
style=
"height: 950px"
class=
"mt50"
>
<el-row>
<!--
<el-col
:span=
"8"
>
-->
<!--
<el-form
:inline=
"true"
:model=
"formData"
style=
"padding: 12px 0 0 0"
>
-->
<!--
<el-form-item>
-->
<!--
<el-button
type=
"primary"
plain
size=
"mini"
--
>
<!-- @click="printTable">打印-->
<!--
</el-button>
-->
<!--
</el-form-item>
-->
<!--
<el-form-item
label=
"学期"
prop=
"termId"
>
<el-select
v-model=
"formData.termId"
@
change=
"courseInfo"
placeholder=
"请选择学期"
>
<el-option
label=
"上学期"
value=
"0"
></el-option>
<el-option
label=
"下学期"
value=
"1"
></el-option>
</el-select>
</el-form-item>
-->
<!--
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-col
:span=
"1.5"
>
<el-button
type=
"success"
plain
icon=
"el-icon-upload"
size=
"mini"
@
click=
"handleImport"
>
导入
</el-button>
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"warning"
plain
icon=
"el-icon-download"
size=
"mini"
@
click=
"handleExport"
>
导出
</el-button>
</el-col>
</el-row>
-->
<!--
</el-form>
-->
<!--
</el-col>
-->
<!--
<el-col
:span=
"8"
>
-->
<!--
<div
class=
"trash"
id=
"trashId"
draggable
@
dragenter=
"trashDragenter"
@
dragover=
"trashDragover"
@
dragleave=
"trashDragLeave"
@
drop=
"trashDrop"
>
<i
style=
"font-size: 40px; pointer-events: none"
class=
"el-icon-delete"
></i>
</div>
-->
<!--
</el-col>
-->
<el-col
>
<div
style=
"width: 100%; display: flex; justify-content: flex-end; align-items: flex-end;"
>
<el-button
type=
"primary"
plain
@
click=
"printTable"
>
打 印
</el-button>
<br
/>
</div>
</el-col>
</el-row>
</el-row>
<br
/>
<el-row>
<el-col
:span=
"21"
>
<el-col
:span=
"21"
>
<div
class=
"course"
>
<div
class=
"course"
>
<el-table
id=
"postFormContainer"
v-loading=
"loading"
border
:key=
"Math.random()"
<el-table
id=
"postFormContainer"
v-loading=
"loading"
border
:key=
"Math.random()"
:row-style=
"
{ height: '35px' }" :cell-style="{ padding: '0', margin: '0' }" :data="courseList" :row-key="(row) => {
:row-style=
"
{ height: '35px' }" :cell-style="{ padding: '0', margin: '0' }"
:data="courseList" :row-key="(row) => {
return row.id;
return row.id;
}
}
" height="710px">
" height="710px">
...
@@ -35,7 +78,8 @@
...
@@ -35,7 +78,8 @@
</div>
</div>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
prop=
"tuesday.courseName"
droppable
label=
"周二"
min-width=
"100"
align=
"center"
>
<el-table-column
prop=
"tuesday.courseName"
droppable
label=
"周二"
min-width=
"100"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<div
draggable
@
dragstart=
"(res) =>
{
<div
draggable
@
dragstart=
"(res) =>
{
dragstart(res, scope.$index, 'tuesday');
dragstart(res, scope.$index, 'tuesday');
...
@@ -132,6 +176,11 @@
...
@@ -132,6 +176,11 @@
</div>
</div>
</div>
</div>
</el-col>
</el-col>
</el-row>
</el-card>
</el-col>
</el-row>
</div>
</div>
</template>
</template>
...
@@ -139,21 +188,21 @@
...
@@ -139,21 +188,21 @@
<
script
>
<
script
>
import
draggable
from
"vuedraggable"
;
import
draggable
from
"vuedraggable"
;
import
printJS
from
"print-js"
;
import
printJS
from
"print-js"
;
//
import {
import
{
//
getNewYear,
//
getNewYear,
//
getClassType,
//
getClassType,
//
getCourseInfo,
getCourseInfo
,
//
getClassTree,
//
getClassTree,
//
saveClassTable,
//
saveClassTable,
//
} from "@/api/smartSchool/teachAffairAdministration/lessonManage";
}
from
"@/api/smartSchool/teachAffairAdministration/lessonManage"
;
// import { getYearList } from "@/utils/utilLibrary/getYearList";
// import { getYearList } from "@/utils/utilLibrary/getYearList";
// import {
// import {
// getFirstLeafNode,
// getFirstLeafNode,
// handleTreeData,
// handleTreeData,
// } from "@/utils/utilLibrary/getTreeClass";
// } from "@/utils/utilLibrary/getTreeClass";
//
import { getToken } from "@/utils/auth";
import
{
getToken
}
from
"@/utils/auth"
;
//
import { commonUpload } from "@/api/common";
import
{
commonUpload
}
from
"@/api/common"
;
import
*
as
dd
from
'dingtalk-jsapi'
;
export
default
{
export
default
{
name
:
"index"
,
name
:
"index"
,
components
:
{
components
:
{
...
@@ -168,18 +217,11 @@ export default {
...
@@ -168,18 +217,11 @@ export default {
"student_type"
,
"student_type"
,
"child_state"
,
"child_state"
,
],
],
created
()
{
created
()
{
// 获取 URL 参数
const
urlParams
=
new
URLSearchParams
(
window
.
location
.
search
);
const
urlParams
=
new
URLSearchParams
(
window
.
location
.
search
);
// 获取 courseList 参数的值
const
courseListParam
=
urlParams
.
get
(
'courseList'
);
const
courseListParam
=
urlParams
.
get
(
'courseList'
);
// 将 courseList 参数的值反序列化为 JavaScript 对象
this
.
courseList
=
JSON
.
parse
(
decodeURIComponent
(
courseListParam
));
// 将获取到的 courseList 赋值给 this.courseList
const
courseList
=
JSON
.
parse
(
decodeURIComponent
(
courseListParam
));
console
.
log
(
courseList
,
'courseList'
);
},
},
computed
:
{
computed
:
{
// 上传的地址
// 上传的地址
url
:
function
()
{
url
:
function
()
{
...
@@ -247,18 +289,144 @@ export default {
...
@@ -247,18 +289,144 @@ export default {
},
},
methods
:
{
methods
:
{
newYear
()
{
getNewYear
().
then
((
res
)
=>
{
// this.$set(queryParams, "schoolYear", Number(res.schoolYear))
this
.
queryParams
.
schoolYear
=
res
.
schoolYear
;
this
.
getTreeData
();
//关键性的一句
});
},
/** 获取班级下拉树数据 */
getTreeData
()
{
getClassTree
(
this
.
queryParams
)
.
then
((
response
)
=>
{
this
.
$nextTick
(()
=>
{
try
{
this
.
treeData
=
handleTreeData
(
response
.
data
,
this
.
dict
.
type
.
grade_type
,
this
.
dict
.
type
.
Grade
);
}
catch
(
exception
)
{
this
.
treeData
=
[];
}
const
searchItem
=
getFirstLeafNode
(
this
.
treeData
[
0
]);
this
.
handleNodeClick
.
apply
(
undefined
,
[
searchItem
]);
});
})
.
catch
((
error
)
=>
{
});
},
// 节点点击事件
handleNodeClick
(
data
)
{
this
.
currentTreeDatas
=
data
this
.
formData
.
classId
=
data
.
id
;
this
.
$nextTick
(()
=>
{
this
.
$refs
.
tree
.
setCurrentKey
(
data
.
id
);
});
this
.
courseInfo
();
},
/* ------------------安全线--------------------- */
//获取课程种类列表
classType
()
{
getClassType
().
then
((
res
)
=>
{
// this.courseTypeList = res.rows
this
.
courseTypeList
=
res
.
rows
.
map
((
item
)
=>
{
return
{
id
:
item
.
id
,
courseName
:
item
.
courseName
,
};
});
});
},
//上传课程表信息给后端保存
getTableValue
()
{
console
.
log
(
306
);
this
.
loading
=
true
;
console
.
log
(
this
.
courseList
,
307
);
this
.
courseList
.
map
((
item
)
=>
{
this
.
courseTypeList
.
map
((
items
)
=>
{
if
(
item
.
monday
[
"courseName"
]
==
items
[
"courseName"
])
{
item
.
monday
[
"id"
]
=
items
.
id
;
}
if
(
item
.
tuesday
[
"courseName"
]
==
items
[
"courseName"
])
{
item
.
tuesday
[
"id"
]
=
items
.
id
;
}
if
(
item
.
wednesday
[
"courseName"
]
==
items
[
"courseName"
])
{
item
.
wednesday
[
"id"
]
=
items
.
id
;
}
if
(
item
.
thursday
[
"courseName"
]
==
items
[
"courseName"
])
{
item
.
thursday
[
"id"
]
=
items
.
id
;
}
if
(
item
.
friday
[
"courseName"
]
==
items
[
"courseName"
])
{
item
.
friday
[
"id"
]
=
items
.
id
;
}
if
(
item
.
saturday
[
"courseName"
]
==
items
[
"courseName"
])
{
item
.
saturday
[
"id"
]
=
items
.
id
;
}
if
(
item
.
sunday
[
"courseName"
]
==
items
[
"courseName"
])
{
item
.
sunday
[
"id"
]
=
items
.
id
;
}
// return items
});
return
item
;
});
saveClassTable
(
this
.
formData
.
classId
,
this
.
formData
.
termId
,
this
.
courseList
)
.
then
((
res
)
=>
{
if
(
res
.
code
==
200
)
{
this
.
loading
=
false
;
this
.
$modal
.
msgSuccess
(
"录入成功"
);
}
})
.
catch
((
err
)
=>
{
this
.
loading
=
false
;
this
.
$modal
.
msgError
(
"录入失败"
);
});
},
//获取课表信息
courseInfo
()
{
this
.
loading
=
true
;
getCourseInfo
(
this
.
formData
)
.
then
((
res
)
=>
{
//课表
this
.
courseList
=
[];
this
.
courseList
=
res
.
rows
;
this
.
loading
=
false
;
})
.
catch
((
err
)
=>
{
});
},
//判断当前时间节点处在上学期还是下学期
getSession
()
{
let
d
=
new
Date
();
let
n
=
d
.
getMonth
()
+
1
;
if
(
n
>=
2
&&
n
<
8
)
{
//下学期
this
.
formData
.
termId
=
"1"
;
}
else
{
//上学期
this
.
formData
.
termId
=
"0"
;
}
},
handleYearList
()
{
// 获取年份选择框数组
this
.
yearList
=
getYearList
();
let
a
=
{};
a
.
value
=
new
Date
().
getFullYear
()
+
1
;
a
.
label
=
a
.
value
+
"年"
;
this
.
yearList
.
unshift
(
a
);
},
//拖动模块
//拖动模块
dragstart
(
event
,
index
,
weekNum
)
{
dragstart
(
event
,
index
,
weekNum
)
{
...
@@ -285,6 +453,20 @@ export default {
...
@@ -285,6 +453,20 @@ export default {
event
.
preventDefault
();
// *********必须声明的事件***********
event
.
preventDefault
();
// *********必须声明的事件***********
},
},
drop
(
event
,
index
,
weekNum
)
{
event
.
preventDefault
();
//作用于:目标元素
this
.
dragAimIndex
=
index
;
this
.
dragAimWeekNum
=
weekNum
;
this
.
listText
=
event
.
target
.
innerHTML
;
//3.获取到目标元素的DOM
const
drag_text
=
event
.
dataTransfer
.
getData
(
"drag_text"
);
//2.获取到拖拽元素的DOM
event
.
target
.
innerHTML
=
drag_text
;
//4.将目标元素更改为拖拽元素
if
(
this
.
state
==
"clone"
)
{
console
.
log
(
this
.
dragAimIndex
,
this
.
dragAimWeekNum
,
415
);
this
.
courseList
[
this
.
dragAimIndex
][
this
.
dragAimWeekNum
][
"courseName"
]
=
this
.
courseTypeList
[
this
.
dragIndex
][
"courseName"
];
}
},
trashDragenter
(
event
)
{
trashDragenter
(
event
)
{
// 作用于:被拖拽的元素
// 作用于:被拖拽的元素
...
@@ -300,8 +482,27 @@ export default {
...
@@ -300,8 +482,27 @@ export default {
event
.
preventDefault
();
event
.
preventDefault
();
document
.
getElementById
(
"trashId"
).
style
.
background
=
"white"
;
document
.
getElementById
(
"trashId"
).
style
.
background
=
"white"
;
},
},
trashDrop
(
event
)
{
//作用于:目标元素
event
.
preventDefault
();
document
.
getElementById
(
"trashId"
).
style
.
background
=
"white"
;
this
.
courseList
[
this
.
dragIndex
][
this
.
dragWeekNum
][
"courseName"
]
=
null
;
this
.
courseList
[
this
.
dragIndex
][
this
.
dragWeekNum
][
"id"
]
=
null
;
},
dragend
()
{
// 作用于:被拖拽的元素
event
.
preventDefault
();
event
.
target
.
innerHTML
=
this
.
listText
;
if
(
this
.
state
==
"drag"
)
{
let
temp
=
this
.
courseList
[
this
.
dragIndex
][
this
.
dragWeekNum
][
"courseName"
];
this
.
courseList
[
this
.
dragIndex
][
this
.
dragWeekNum
][
"courseName"
]
=
this
.
courseList
[
this
.
dragAimIndex
][
this
.
dragAimWeekNum
][
"courseName"
];
this
.
courseList
[
this
.
dragAimIndex
][
this
.
dragAimWeekNum
][
"courseName"
]
=
temp
;
}
},
// 打印
// 打印
printTable
()
{
printTable
()
{
// 重置表单
// 重置表单
...
@@ -318,9 +519,48 @@ export default {
...
@@ -318,9 +519,48 @@ export default {
},
},
/** 导入按钮操作 */
handleImport
()
{
this
.
upload
.
title
=
"课程表导入"
;
this
.
upload
.
open
=
true
;
},
// 文件上传中处理
handleFileUploadProgress
(
event
,
file
,
fileList
)
{
this
.
upload
.
isUploading
=
true
;
},
// 文件上传成功处理
handleFileSuccess
(
response
,
file
,
fileList
)
{
this
.
upload
.
open
=
false
;
this
.
upload
.
isUploading
=
false
;
this
.
$refs
.
upload
.
clearFiles
();
this
.
handleNodeClick
(
this
.
currentTreeDatas
)
this
.
$alert
(
"<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>"
+
response
.
msg
+
"</div>"
,
"导入结果"
,
{
dangerouslyUseHTMLString
:
true
}
);
},
// 上传成功回调
handleAvatarSuccess
(
res
,
file
)
{
this
.
imageUrl
=
res
.
data
.
url
;
this
.
commonUpload
(
file
);
},
// 提交上传文件
submitFileForm
()
{
this
.
$refs
.
upload
.
submit
()
},
// 导出
handleExport
()
{
this
.
download
(
`/schoolTimeTable/exportTable/
${
this
.
formData
.
classId
}
/
${
this
.
formData
.
termId
}
`
,
{
...
this
.
queryParams
,
},
`课程表_
${
new
Date
().
getTime
()}
.xlsx`
);
},
},
},
};
};
</
script
>
</
script
>
...
...
ruoyi-ui/src/views/smartSchool/teacherManage/teacherInforManage/index.vue
View file @
86ef3e1c
...
@@ -5,15 +5,13 @@
...
@@ -5,15 +5,13 @@
<div
class=
"head-container"
>
<div
class=
"head-container"
>
<el-input
v-model=
"deptName"
placeholder=
"请输入部门名称"
clearable
size=
"small"
prefix-icon=
"el-icon-search"
<el-input
v-model=
"deptName"
placeholder=
"请输入部门名称"
clearable
size=
"small"
prefix-icon=
"el-icon-search"
style=
"margin-bottom: 20px"
/>
style=
"margin-bottom: 20px"
/>
</div>
</div>
<div
class=
"head-container"
>
<div
class=
"head-container"
>
<el-tree
:data=
"deptOptions"
:props=
"defaultProps"
:expand-on-click-node=
"false"
<el-tree
:data=
"deptOptions"
:props=
"defaultProps"
:expand-on-click-node=
"false"
:filter-node-method=
"filterNode"
ref=
"tree"
default-expand-all
highlight-current
:filter-node-method=
"filterNode"
ref=
"tree"
default-expand-all
=
"false"
highlight-current
@
node-click=
"handleNodeClick"
/>
@
node-click=
"handleNodeClick"
/>
</div>
</div>
</el-col>
</el-col>
<el-col
:span=
"20"
:xs=
"24"
>
<el-col
:span=
"20"
:xs=
"24"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
label-width=
"90px"
:inline=
"true"
v-show=
"showSearch"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
label-width=
"90px"
:inline=
"true"
v-show=
"showSearch"
>
<el-form-item
label=
"姓名"
clearable
prop=
"teacherName"
>
<el-form-item
label=
"姓名"
clearable
prop=
"teacherName"
>
...
@@ -562,7 +560,7 @@ export default {
...
@@ -562,7 +560,7 @@ export default {
// If the selection exceeds the limit, remove the last item
// If the selection exceeds the limit, remove the last item
this
.
form
.
deptIds
.
pop
();
this
.
form
.
deptIds
.
pop
();
}
}
}
,
}
},
},
created
()
{
created
()
{
this
.
getList
();
this
.
getList
();
...
@@ -571,6 +569,7 @@ export default {
...
@@ -571,6 +569,7 @@ export default {
// this.initPassword = response.msg
// this.initPassword = response.msg
// })
// })
},
},
methods
:
{
methods
:
{
handleSelectionChange
(
selectedItems
)
{
handleSelectionChange
(
selectedItems
)
{
if
(
selectedItems
.
length
>
8
)
{
if
(
selectedItems
.
length
>
8
)
{
...
@@ -587,6 +586,8 @@ export default {
...
@@ -587,6 +586,8 @@ export default {
handleNodeClick
(
data
)
{
handleNodeClick
(
data
)
{
this
.
queryParams
.
deptId
=
data
.
id
;
this
.
queryParams
.
deptId
=
data
.
id
;
this
.
handleQuery
();
this
.
handleQuery
();
},
},
/** 查询学校老师列表 */
/** 查询学校老师列表 */
...
@@ -1077,7 +1078,7 @@ export default {
...
@@ -1077,7 +1078,7 @@ export default {
}
}
},
},
};
};
</
script
>
</
script
>
<
style
scoped
>
<
style
scoped
>
.avatar-uploader
{
.avatar-uploader
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment