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
314e1aee
Commit
314e1aee
authored
Dec 13, 2023
by
zhaopanyu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
zpy 12.13 教师电子档案
parent
5034f015
Hide whitespace changes
Inline
Side-by-side
Showing
34 changed files
with
4652 additions
and
739 deletions
+4652
-739
ruoyi-ui/src/api/smartSchool/electronicArchives/basicInformation.js
+8
-0
ruoyi-ui/src/api/smartSchool/electronicArchives/professionalDevelopment/comprehensiveHonors.js
+25
-0
ruoyi-ui/src/api/smartSchool/electronicArchives/professionalDevelopment/essaysWritings.js
+8
-0
ruoyi-ui/src/api/smartSchool/electronicArchives/professionalDevelopment/lectureAwards.js
+8
-0
ruoyi-ui/src/api/smartSchool/electronicArchives/professionalDevelopment/teacherAwards.js
+13
-5
ruoyi-ui/src/api/smartSchool/electronicArchives/teacherAssessment.js
+44
-0
ruoyi-ui/src/api/smartSchool/electronicArchives/workloadInformation.js
+44
-0
ruoyi-ui/src/components/ExportTable/index.vue
+1
-0
ruoyi-ui/src/views/smartSchool/electronicArchives/basicInformation/index.vue
+41
-28
ruoyi-ui/src/views/smartSchool/electronicArchives/personalInformation/index.vue
+14
-0
ruoyi-ui/src/views/smartSchool/electronicArchives/professionalDevelopment/academicAchievement/index.vue
+14
-0
ruoyi-ui/src/views/smartSchool/electronicArchives/professionalDevelopment/awardTutoringstu/index.vue
+60
-55
ruoyi-ui/src/views/smartSchool/electronicArchives/professionalDevelopment/comprehensiveHonors/components/SelectUser.vue
+174
-0
ruoyi-ui/src/views/smartSchool/electronicArchives/professionalDevelopment/comprehensiveHonors/index.vue
+276
-71
ruoyi-ui/src/views/smartSchool/electronicArchives/professionalDevelopment/essaysWritings/components/SelectUser.vue
+174
-0
ruoyi-ui/src/views/smartSchool/electronicArchives/professionalDevelopment/essaysWritings/index.vue
+84
-40
ruoyi-ui/src/views/smartSchool/electronicArchives/professionalDevelopment/lectureAwards/components/SelectUser.vue
+174
-0
ruoyi-ui/src/views/smartSchool/electronicArchives/professionalDevelopment/lectureAwards/index.vue
+91
-43
ruoyi-ui/src/views/smartSchool/electronicArchives/professionalDevelopment/projectResearch/index.vue
+60
-55
ruoyi-ui/src/views/smartSchool/electronicArchives/professionalDevelopment/teacherAwards/components/SelectUser.vue
+174
-0
ruoyi-ui/src/views/smartSchool/electronicArchives/professionalDevelopment/teacherAwards/index.vue
+239
-48
ruoyi-ui/src/views/smartSchool/electronicArchives/professionalDevelopment/teachingAchievements/index.vue
+204
-67
ruoyi-ui/src/views/smartSchool/electronicArchives/professionalDevelopment/teamAward/index.vue
+44
-58
ruoyi-ui/src/views/smartSchool/electronicArchives/professionalDevelopment/tutorAward/index.vue
+74
-63
ruoyi-ui/src/views/smartSchool/electronicArchives/teacherAssessment/index.vue
+537
-0
ruoyi-ui/src/views/smartSchool/electronicArchives/workloadInformation/index.vue
+915
-0
ruoyi-ui/src/views/smartSchool/personWork/comprehensiveHonors/components/SelectUser.vue
+174
-0
ruoyi-ui/src/views/smartSchool/personWork/comprehensiveHonors/index.vue
+186
-82
ruoyi-ui/src/views/smartSchool/personWork/essaysWritings/components/SelectUser.vue
+174
-0
ruoyi-ui/src/views/smartSchool/personWork/essaysWritings/index.vue
+86
-40
ruoyi-ui/src/views/smartSchool/personWork/lectureAwards/components/SelectUser.vue
+174
-0
ruoyi-ui/src/views/smartSchool/personWork/lectureAwards/index.vue
+93
-43
ruoyi-ui/src/views/smartSchool/personWork/teacherAwards/components/SelectUser.vue
+174
-0
ruoyi-ui/src/views/smartSchool/personWork/teacherAwards/index.vue
+91
-41
No files found.
ruoyi-ui/src/api/smartSchool/electronicArchives/basicInformation.js
View file @
314e1aee
...
...
@@ -50,3 +50,11 @@ export function exportInformation(data) {
data
:
data
,
});
}
//学生照片导入
export
function
filesUpload
(
files
)
{
return
request
({
url
:
"/teacher/basiclnformation/importTeacherPicture"
,
method
:
"post"
,
data
:
files
,
});
}
ruoyi-ui/src/api/smartSchool/electronicArchives/professionalDevelopment/comprehensiveHonors.js
View file @
314e1aee
...
...
@@ -8,6 +8,14 @@ export function listHonors(query) {
params
:
query
,
});
}
//查看综合荣誉列表(个人)
export
function
listHonorsgr
(
query
)
{
return
request
({
url
:
"/system/honors/listGr"
,
method
:
"get"
,
params
:
query
,
});
}
// 查询综合荣誉详细
export
function
getHonors
(
id
)
{
...
...
@@ -42,3 +50,20 @@ export function delHonors(id) {
method
:
"delete"
,
});
}
//获取用户
export
function
getUserList
(
data
)
{
return
request
({
url
:
"/system/achievements/getUserList"
,
method
:
"get"
,
params
:
data
,
});
}
//审核
export
function
audit
(
data
)
{
return
request
({
url
:
"/system/honors/audit"
,
method
:
"post"
,
data
:
data
,
});
}
ruoyi-ui/src/api/smartSchool/electronicArchives/professionalDevelopment/essaysWritings.js
View file @
314e1aee
...
...
@@ -42,3 +42,11 @@ export function delWorks(id) {
method
:
"delete"
,
});
}
//审核
export
function
audit
(
data
)
{
return
request
({
url
:
"/system/works/audit"
,
method
:
"post"
,
data
:
data
,
});
}
ruoyi-ui/src/api/smartSchool/electronicArchives/professionalDevelopment/lectureAwards.js
View file @
314e1aee
...
...
@@ -42,3 +42,11 @@ export function delAwards(id) {
method
:
"delete"
,
});
}
//审核
export
function
audit
(
data
)
{
return
request
({
url
:
"/system/awards/audit"
,
method
:
"post"
,
data
:
data
,
});
}
ruoyi-ui/src/api/smartSchool/electronicArchives/professionalDevelopment/teacherAwards.js
View file @
314e1aee
...
...
@@ -3,7 +3,7 @@ import request from "@/utils/request";
// 查询教师获奖列表
export
function
listAwards
(
query
)
{
return
request
({
url
:
"/s
ystem/a
wards/list"
,
url
:
"/s
chool/teacherA
wards/list"
,
method
:
"get"
,
params
:
query
,
});
...
...
@@ -12,7 +12,7 @@ export function listAwards(query) {
// 查询教师获奖详细
export
function
getAwards
(
id
)
{
return
request
({
url
:
"/s
ystem/a
wards/"
+
id
,
url
:
"/s
chool/teacherA
wards/"
+
id
,
method
:
"get"
,
});
}
...
...
@@ -20,7 +20,7 @@ export function getAwards(id) {
// 新增教师获奖
export
function
addAwards
(
data
)
{
return
request
({
url
:
"/s
ystem/a
wards"
,
url
:
"/s
chool/teacherA
wards"
,
method
:
"post"
,
data
:
data
,
});
...
...
@@ -29,7 +29,7 @@ export function addAwards(data) {
// 修改教师获奖
export
function
updateAwards
(
data
)
{
return
request
({
url
:
"/s
ystem/a
wards"
,
url
:
"/s
chool/teacherA
wards"
,
method
:
"put"
,
data
:
data
,
});
...
...
@@ -38,7 +38,15 @@ export function updateAwards(data) {
// 删除教师获奖
export
function
delAwards
(
id
)
{
return
request
({
url
:
"/s
ystem/a
wards/"
+
id
,
url
:
"/s
chool/teacherA
wards/"
+
id
,
method
:
"delete"
,
});
}
//审核
export
function
audit
(
data
)
{
return
request
({
url
:
"/school/teacherAwards/audit"
,
method
:
"post"
,
data
:
data
,
});
}
ruoyi-ui/src/api/smartSchool/electronicArchives/teacherAssessment.js
0 → 100644
View file @
314e1aee
import
request
from
"@/utils/request"
;
// 查询班主任考核列表
export
function
listAssessment
(
query
)
{
return
request
({
url
:
"/assessment/list"
,
method
:
"get"
,
params
:
query
,
});
}
// 查询班主任考核详细
export
function
getAssessment
(
id
)
{
return
request
({
url
:
"/assessment/"
+
id
,
method
:
"get"
,
});
}
// 新增班主任考核
export
function
addAssessment
(
data
)
{
return
request
({
url
:
"/assessment"
,
method
:
"post"
,
data
:
data
,
});
}
// 修改班主任考核
export
function
updateAssessment
(
data
)
{
return
request
({
url
:
"/assessment"
,
method
:
"put"
,
data
:
data
,
});
}
// 删除班主任考核
export
function
delAssessment
(
id
)
{
return
request
({
url
:
"/assessment/"
+
id
,
method
:
"delete"
,
});
}
ruoyi-ui/src/api/smartSchool/electronicArchives/workloadInformation.js
0 → 100644
View file @
314e1aee
import
request
from
"@/utils/request"
;
// 查询工作量信息列表
export
function
listAworkload
(
query
)
{
return
request
({
url
:
"/aworkload/list"
,
method
:
"get"
,
params
:
query
,
});
}
// 查询工作量信息详细
export
function
getAworkload
(
id
)
{
return
request
({
url
:
"/aworkload/"
+
id
,
method
:
"get"
,
});
}
// 新增工作量信息
export
function
addAworkload
(
data
)
{
return
request
({
url
:
"/aworkload"
,
method
:
"post"
,
data
:
data
,
});
}
// 修改工作量信息
export
function
updateAworkload
(
data
)
{
return
request
({
url
:
"/aworkload"
,
method
:
"put"
,
data
:
data
,
});
}
// 删除工作量信息
export
function
delAworkload
(
id
)
{
return
request
({
url
:
"/aworkload/"
+
id
,
method
:
"delete"
,
});
}
ruoyi-ui/src/components/ExportTable/index.vue
View file @
314e1aee
...
...
@@ -82,6 +82,7 @@ export default {
// 添加选中导出判断
isSelectedData
(
path
)
{
console
.
log
(
'path'
,
path
)
if
(
this
.
exportType
===
ExportType
.
SELECT
)
{
const
params
=
path
.
slice
(
path
.
lastIndexOf
(
"/"
)
+
1
);
if
(
!
params
)
{
...
...
ruoyi-ui/src/views/smartSchool/electronicArchives/basicInformation/index.vue
View file @
314e1aee
...
...
@@ -105,7 +105,7 @@
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"danger"
plain
icon=
"el-icon-delete"
size=
"mini"
:disabled=
"
multip
le"
@
click=
"handleDelete"
<el-button
type=
"danger"
plain
icon=
"el-icon-delete"
size=
"mini"
:disabled=
"
sing
le"
@
click=
"handleDelete"
v-hasPermi=
"['system:student:remove']"
>
删除
</el-button>
</el-col>
...
...
@@ -847,7 +847,8 @@
<
/div
>
<
/el-dialog
>
<!--
导出对话框
-->
<
ExportTable
:
open
-
export
.
sync
=
"exportOptions.open"
:
title
=
"exportOptions.title"
@
export
=
"exportFile"
><
/ExportTable
>
<
ExportTableNew
:
open
-
export
.
sync
=
"exportOptions.open"
:
title
=
"exportOptions.title"
@
export
=
"exportFile"
>
<
/ExportTableNew
>
<
/div
>
<
/template
>
...
...
@@ -857,6 +858,7 @@ import {
getInformation
,
delInformation
,
addInformation
,
filesUpload
,
updateInformation
,
}
from
"@/api/smartSchool/electronicArchives/basicInformation"
;
import
{
uploadImage
as
commonUpload
}
from
"@/api/common"
;
...
...
@@ -903,6 +905,7 @@ export default {
}
,
uploadForm
:
{
}
,
baseUrl
:
[
process
.
env
.
VUE_APP_BASE_API
],
uploadLoading
:
false
,
uploadFileLoading
:
false
,
// 遮罩层
loading
:
true
,
...
...
@@ -1258,8 +1261,9 @@ export default {
handleSelectionChange
(
selection
)
{
this
.
selection
=
selection
;
this
.
ids
=
selection
.
map
(
item
=>
item
.
id
);
this
.
single
=
selection
.
length
!==
1
;
this
.
multiple
=
!
selection
.
length
;
this
.
single
=
selection
.
length
==
1
;
this
.
multiple
=
selection
.
length
>
1
;
// 先定义 isMultiple 变量为 false
let
isMultiple
=
false
;
if
(
this
.
selection
.
length
===
1
)
{
...
...
@@ -1291,6 +1295,7 @@ export default {
const
id
=
row
.
id
||
this
.
ids
;
getInformation
(
id
).
then
((
response
)
=>
{
this
.
form
=
response
.
data
;
this
.
pictureUrl
=
this
.
pev
+
response
.
url
;
console
.
log
(
this
.
form
,
"this.form "
);
this
.
title
=
"修改教师基础信息"
;
}
);
...
...
@@ -1303,7 +1308,7 @@ export default {
updateInformation
(
this
.
form
).
then
((
response
)
=>
{
console
.
log
(
this
.
form
,
'this.form'
);
this
.
$modal
.
msgSuccess
(
"修改成功"
);
this
.
open
=
false
;
this
.
look
=
false
;
this
.
getList
();
}
);
}
else
{
...
...
@@ -1333,36 +1338,44 @@ export default {
}
,
/** 导出按钮操作 */
handleExport
()
{
this
.
exportOptions
.
open
=
true
;
this
.
download
(
'teacher/basiclnformation/export'
,
{
...
this
.
queryParams
}
,
`data_${Date.now()
}
.xlsx`
)
// this.exportOptions.open = true;
// this.download('/teacher/basiclnformation/export',
{
// ...this.queryParams
//
}
,
`information_${new Date().getTime()
}
.xlsx`
)
}
,
/** 导出 */
exportFile
(
callback
)
{
// 获取当前选中的多选项的 ids 和单选项的 id
const
ids
=
this
.
ids
;
const
id
=
this
.
id
;
console
.
log
(
ids
,
id
);
const
options
=
[
{
type
:
ExportType
.
TOTAL
,
path
:
"/teacher/basiclnformation/export"
,
params
:
{
}
,
}
,
{
type
:
ExportType
.
SELECT
,
path
:
"/teacher/basiclnformation/export/"
,
params
:
{
ids
,
id
}
,
}
,
{
type
:
ExportType
.
QUERY
,
path
:
"/teacher/basiclnformation/export"
,
params
:
this
.
queryParams
,
}
,
];
callback
(
options
,
`教师基础信息${Date.now()
}
.xlsx`
);
// let exportId = ''
// if (this.multiple == true)
{
// exportId = this.ids
//
}
else
{
// exportId = this.id
//
}
// console.log('exportId', exportId);
// const options = [
//
{
// type: ExportType.TOTAL,
// path: "/teacher/basiclnformation/export",
// params:
{
}
,
//
}
,
//
{
// type: ExportType.SELECT,
// path: "/teacher/basiclnformation/export/",
// params:
{
exportId
}
,
//
}
,
//
{
// type: ExportType.QUERY,
// path: "/teacher/basiclnformation/export",
// params: this.queryParams,
//
}
,
// ];
// callback(options, `教师基础信息$
{
Date
.
now
()
}
.
xlsx
`);
}
,
...
...
ruoyi-ui/src/views/smartSchool/electronicArchives/personalInformation/index.vue
0 → 100644
View file @
314e1aee
<
template
>
<div>
<h2>
教师个人信息汇总
</h2>
</div>
</
template
>
<
script
>
export
default
{
}
</
script
>
<
style
lang=
"scss"
scoped
></
style
>
\ No newline at end of file
ruoyi-ui/src/views/smartSchool/electronicArchives/professionalDevelopment/academicAchievement/index.vue
0 → 100644
View file @
314e1aee
<
template
>
<div>
<h2></h2>
</div>
</
template
>
<
script
>
export
default
{
}
</
script
>
<
style
lang=
"scss"
scoped
></
style
>
\ No newline at end of file
ruoyi-ui/src/views/smartSchool/electronicArchives/professionalDevelopment/awardTutoringstu/index.vue
View file @
314e1aee
...
...
@@ -2,25 +2,29 @@
<div
class=
"app-container"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
<el-form-item
label=
"学科"
prop=
"sub"
>
<el-select
v-model=
"
queryParams
.teachingSubject"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-select
v-model=
"
form
.teachingSubject"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-option
v-for=
"dict in dict.type.teaching_subjects"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"获奖类别"
prop=
"awardType"
>
<el-input
v-model=
"queryParams.awardType"
placeholder=
"请输入获奖类别"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"获奖级别"
prop=
"awardRank"
>
<el-select
v-model=
"
queryParams
.awardRank"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-select
v-model=
"
form
.awardRank"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-option
v-for=
"dict in dict.type.awards_level"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"获奖类别"
prop=
"awardType"
>
<el-select
v-model=
"form.awardType"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-option
v-for=
"dict in dict.type.award_categoriesjs"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"获奖等级"
prop=
"awardLevel"
>
<el-select
v-model=
"
queryParams
.awardLevel"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-select
v-model=
"
form
.awardLevel"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-option
v-for=
"dict in dict.type.award_rank"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
...
...
@@ -34,6 +38,7 @@
placeholder=
"请选择获奖时间"
>
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"handleQuery"
>
搜索
</el-button>
<el-button
icon=
"el-icon-refresh"
size=
"mini"
@
click=
"resetQuery"
>
重置
</el-button>
...
...
@@ -43,31 +48,31 @@
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-col
:span=
"1.5"
>
<el-button
type=
"primary"
plain
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAdd"
v-hasPermi=
"['system:
honor
s:add']"
>
新增
</el-button>
v-hasPermi=
"['system:
award
s:add']"
>
新增
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"success"
plain
icon=
"el-icon-edit"
size=
"mini"
:disabled=
"single"
@
click=
"handleUpdate"
v-hasPermi=
"['system:
honor
s:edit']"
>
修改
</el-button>
v-hasPermi=
"['system:
award
s:edit']"
>
修改
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"danger"
plain
icon=
"el-icon-delete"
size=
"mini"
:disabled=
"multiple"
@
click=
"handleDelete"
v-hasPermi=
"['system:
honor
s:remove']"
>
删除
</el-button>
v-hasPermi=
"['system:
award
s:remove']"
>
删除
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"warning"
plain
icon=
"el-icon-download"
size=
"mini"
@
click=
"handleExport"
v-hasPermi=
"['system:
honor
s:export']"
>
导出
</el-button>
v-hasPermi=
"['system:
award
s:export']"
>
导出
</el-button>
</el-col>
<right-toolbar
:showSearch
.
sync=
"showSearch"
@
queryTable=
"getList"
></right-toolbar>
</el-row>
<el-table
:data=
"
honor
sList"
@
selection-change=
"handleSelectionChange"
>
<el-table
:data=
"
award
sList"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"成长类型"
align=
"center"
prop=
"id"
/>
<el-table-column
label=
"学科"
align=
"center"
prop=
"sub"
/>
<el-table-column
label=
"获奖类
型
"
align=
"center"
prop=
"awardType"
/>
<el-table-column
label=
"获奖类
别
"
align=
"center"
prop=
"awardType"
/>
<el-table-column
label=
"获奖等级"
align=
"center"
prop=
"awardLevel"
/>
<el-table-column
label=
"获奖级别"
align=
"center"
prop=
"awardRank"
/>
<el-table-column
label=
"
综合荣誉
-成果名称"
align=
"center"
prop=
"resultName"
/>
<el-table-column
label=
"
教学获奖
-成果名称"
align=
"center"
prop=
"resultName"
/>
<el-table-column
label=
"获奖人"
align=
"center"
prop=
"userName"
/>
<el-table-column
label=
"主办单位"
align=
"center"
prop=
"org"
/>
<el-table-column
label=
"获奖时间"
align=
"center"
prop=
"awardTime"
width=
"180"
>
...
...
@@ -90,8 +95,8 @@
<
pagination
v
-
show
=
"total > 0"
:
total
=
"total"
:
page
.
sync
=
"queryParams.pageNum"
:
limit
.
sync
=
"queryParams.pageSize"
@
pagination
=
"getList"
/>
<!--
添加或修改
综合荣誉
对话框
-->
<
el
-
dialog
title
=
"详细信息
"
:
visible
.
sync
=
"open"
width
=
"1000px"
append
-
to
-
body
>
<!--
添加或修改
教师获奖
对话框
-->
<
el
-
dialog
:
title
=
"title
"
:
visible
.
sync
=
"open"
width
=
"1000px"
append
-
to
-
body
>
<
el
-
form
ref
=
"form"
:
model
=
"form"
:
rules
=
"rules"
label
-
width
=
"80px"
>
<
el
-
row
>
<
el
-
col
:
span
=
"12"
>
...
...
@@ -105,8 +110,11 @@
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"获奖类别"
prop
=
"awardType"
>
<
el
-
input
v
-
model
=
"queryParams.awardType"
placeholder
=
"请输入获奖类别"
clearable
@
keyup
.
enter
.
native
=
"handleQuery"
/>
<
el
-
select
v
-
model
=
"form.awardType"
placeholder
=
"请选择"
style
=
"width: 100%;"
>
<
el
-
option
v
-
for
=
"dict in dict.type.award_categoriesjs"
:
key
=
"dict.value"
:
label
=
"dict.label"
:
value
=
"dict.value"
>
<
/el-option
>
<
/el-select
>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
...
...
@@ -186,11 +194,11 @@
<
/template
>
<
script
>
// import
{
list
Honors
,
getHonors
,
delHonors
,
addHonors
,
updateHonors
}
from
"@/api/system/honor
s"
;
// import
{
list
Awards
,
getAwards
,
delAwards
,
addAwards
,
updateAwards
}
from
"@/api/system/award
s"
;
import
{
uploadImage
as
commonUpload
}
from
"@/api/common"
;
export
default
{
name
:
"
Honor
s"
,
dicts
:
[
"teaching_subjects"
,
'award_categories'
,
'awards_level'
,
'award_rank'
],
name
:
"
Award
s"
,
dicts
:
[
"teaching_subjects"
,
'award_categories
js
'
,
'awards_level'
,
'award_rank'
],
data
()
{
return
{
// 图片上传遮罩层
...
...
@@ -208,26 +216,26 @@ export default {
showSearch
:
true
,
// 总条数
total
:
0
,
//
综合荣誉
表格数据
honor
sList
:
[{
//
教师获奖
表格数据
award
sList
:
[{
id
:
1
,
sub
:
"语文"
,
awardType
:
"国家级"
,
awardRank
:
"国家级"
,
awardLevel
:
"国家级"
,
resultName
:
"成果名称"
,
userId
:
"1"
,
userName
:
"获奖人"
,
org
:
"主办单位"
,
awardTime
:
"2020-01-01"
,
remark
:
"备注"
,
pictureName
:
"证书图片名称"
,
pictureUrl
:
"证书图片地址"
,
createBy
:
"创建人"
,
createTime
:
"2020-01-01"
,
updateBy
:
"修改人"
,
updateTime
:
"2020-01-01"
,
delFlag
:
"0"
sub
:
1
,
awardType
:
1
,
awardRank
:
null
,
awardLevel
:
null
,
resultName
:
null
,
userId
:
null
,
userName
:
null
,
org
:
null
,
awardTime
:
null
,
remark
:
null
,
pictureName
:
null
,
pictureUrl
:
null
,
createBy
:
null
,
createTime
:
null
,
updateBy
:
null
,
updateTime
:
null
,
delFlag
:
null
}
],
// 弹出层标题
title
:
""
,
...
...
@@ -296,18 +304,15 @@ export default {
// this.getList();
}
,
methods
:
{
/** 查询
综合荣誉
列表 */
/** 查询
教师获奖
列表 */
getList
()
{
this
.
loading
=
true
;
list
Honor
s
(
this
.
queryParams
).
then
(
response
=>
{
this
.
honor
sList
=
response
.
rows
;
list
Award
s
(
this
.
queryParams
).
then
(
response
=>
{
this
.
award
sList
=
response
.
rows
;
this
.
total
=
response
.
total
;
this
.
loading
=
false
;
}
);
}
,
handleExamine
()
{
}
,
// 上传成功回调
handleAvatarSuccess
(
res
,
file
)
{
this
.
photoUrl
=
res
.
data
.
url
;
...
...
@@ -396,16 +401,16 @@ export default {
handleAdd
()
{
this
.
reset
();
this
.
open
=
true
;
this
.
title
=
"添加
综合荣誉
"
;
this
.
title
=
"添加
教师获奖
"
;
}
,
/** 修改按钮操作 */
handleUpdate
(
row
)
{
this
.
reset
();
this
.
open
=
true
;
const
id
=
row
.
id
||
this
.
ids
get
Honor
s
(
id
).
then
(
response
=>
{
get
Award
s
(
id
).
then
(
response
=>
{
this
.
form
=
response
.
data
;
this
.
title
=
"修改
综合荣誉
"
;
this
.
title
=
"修改
教师获奖
"
;
}
);
}
,
/** 提交按钮 */
...
...
@@ -413,13 +418,13 @@ export default {
this
.
$refs
[
"form"
].
validate
(
valid
=>
{
if
(
valid
)
{
if
(
this
.
form
.
id
!=
null
)
{
update
Honor
s
(
this
.
form
).
then
(
response
=>
{
update
Award
s
(
this
.
form
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"修改成功"
);
this
.
open
=
false
;
this
.
getList
();
}
);
}
else
{
add
Honor
s
(
this
.
form
).
then
(
response
=>
{
add
Award
s
(
this
.
form
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"新增成功"
);
this
.
open
=
false
;
this
.
getList
();
...
...
@@ -431,8 +436,8 @@ export default {
/** 删除按钮操作 */
handleDelete
(
row
)
{
const
ids
=
row
.
id
||
this
.
ids
;
this
.
$modal
.
confirm
(
'是否确认删除
综合荣誉
编号为"'
+
ids
+
'"的数据项?'
).
then
(
function
()
{
return
del
Honor
s
(
ids
);
this
.
$modal
.
confirm
(
'是否确认删除
教师获奖
编号为"'
+
ids
+
'"的数据项?'
).
then
(
function
()
{
return
del
Award
s
(
ids
);
}
).
then
(()
=>
{
this
.
getList
();
this
.
$modal
.
msgSuccess
(
"删除成功"
);
...
...
@@ -440,9 +445,9 @@ export default {
}
,
/** 导出按钮操作 */
handleExport
()
{
this
.
download
(
'system/
honor
s/export'
,
{
this
.
download
(
'system/
award
s/export'
,
{
...
this
.
queryParams
}
,
`
honor
s_${new Date().getTime()
}
.xlsx`
)
}
,
`
award
s_${new Date().getTime()
}
.xlsx`
)
}
}
}
;
...
...
ruoyi-ui/src/views/smartSchool/electronicArchives/professionalDevelopment/comprehensiveHonors/components/SelectUser.vue
0 → 100644
View file @
314e1aee
<
template
>
<el-dialog
:visible
.
sync=
"openDialog"
:title=
"title"
:width=
"width"
@
close=
"dialogClose"
>
<!-- 模糊查询-->
<el-form
:model=
"form"
ref=
"form"
size=
"small"
inline
>
<el-form-item
prop=
"userName"
label=
"姓名"
>
<el-input
v-model
.
trim=
"form.userName"
placeholder=
"请输入姓名"
clearable
@
keyup
.
enter
.
native=
"search"
></el-input>
</el-form-item>
<el-form-item
prop=
"phone"
label=
"联系电话"
>
<el-input
v-model
.
trim=
"form.phone"
placeholder=
"请输入联系电话"
clearable
@
keyup
.
enter
.
native=
"search"
></el-input>
</el-form-item>
<el-form-item>
<el-button
@
click=
"search"
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
>
搜索
</el-button>
<el-button
@
click=
"reset"
icon=
"el-icon-refresh"
size=
"mini"
>
重置
</el-button>
</el-form-item>
</el-form>
<!-- 列表数据-->
<el-table
ref=
"tableList"
v-loading=
"loading"
:data=
"userList"
@
selection-change=
"selectionChange"
@
row-click=
"rowClick"
>
<el-table-column
type=
"selection"
align=
"center"
></el-table-column>
<el-table-column
key=
"userName"
prop=
"userName"
label=
"姓名"
align=
"center"
></el-table-column>
<el-table-column
key=
"phone"
prop=
"phone"
label=
"联系电话"
align=
"center"
></el-table-column>
</el-table>
<!-- 分页-->
<pagination
v-show=
"total > 0"
:total=
"total"
:limit
.
sync=
"form.pageSize"
:page
.
sync=
"form.pageNum"
@
pagination=
"search"
></pagination>
<!-- 底部-->
<div
slot=
"footer"
>
<el-button
:disabled=
"!selectUser"
@
click=
"submit"
type=
"primary"
size=
"small"
>
确 定
</el-button>
<el-button
@
click=
"quit"
size=
"small"
>
取 消
</el-button>
</div>
</el-dialog>
</
template
>
<
script
>
import
{
getUserList
}
from
"@/api/smartSchool/electronicArchives/professionalDevelopment/comprehensiveHonors"
;
export
default
{
name
:
"SelectUser"
,
dicts
:
[
'sys_user_sex'
],
props
:
{
open
:
{
type
:
Boolean
,
require
:
true
},
title
:
{
type
:
String
,
default
:
''
},
width
:
{
type
:
[
Number
,
String
],
default
:
'50%'
},
execute
:
{
type
:
[
String
]
},
// 选择级部、处室主任
id
:
{
type
:
[
Number
,
String
]
}
},
data
()
{
return
{
baseURL
:
process
.
env
.
VUE_APP_BASE_API
,
form
:
{
userName
:
''
,
phone
:
''
,
pageNum
:
1
,
pageSize
:
10
},
total
:
0
,
loading
:
false
,
userList
:
[],
selectUser
:
null
}
},
computed
:
{
openDialog
:
{
get
()
{
return
this
.
open
;
},
set
(
value
)
{
this
.
$emit
(
'update:open'
,
value
);
}
}
},
watch
:
{
open
(
value
)
{
if
(
value
)
{
this
.
$nextTick
(()
=>
{
this
.
reset
();
})
}
}
},
methods
:
{
/** 搜索(交给子组件维护,当然也可以把接口交给父组件处理) */
async
search
()
{
if
(
isNaN
(
Number
(
this
.
id
)))
{
console
.
error
(
'Invalid ID'
);
return
;
}
try
{
this
.
loading
=
true
;
const
response
=
await
this
[
this
.
execute
]({
applyOrgid
:
this
.
id
,
...
this
.
form
});
this
.
userList
=
response
.
rows
||
[];
this
.
total
=
response
.
total
;
this
.
loading
=
false
;
}
catch
(
exception
)
{
this
.
loading
=
false
;
throw
new
Error
(
exception
);
}
},
/** 重置表单 */
reset
()
{
this
.
form
=
{
teacherName
:
''
,
teacherTel
:
''
,
pageNum
:
1
,
pageSize
:
10
};
this
.
resetForm
(
'form'
);
this
.
search
();
},
/** 选项选中发生变化 */
selectionChange
(
selections
)
{
this
.
selectUser
=
selections
[
0
];
},
/** 点击选中、取消 */
rowClick
(
row
,
column
)
{
console
.
log
(
'row'
,
row
);
this
.
$refs
[
'tableList'
].
clearSelection
();
this
.
$refs
[
'tableList'
].
toggleRowSelection
(
row
,
true
);
},
/** 提交选中 */
submit
()
{
this
.
$emit
(
'select'
,
{
id
:
this
.
selectUser
.
userId
,
name
:
this
.
selectUser
.
userName
,
tel
:
this
.
selectUser
.
phone
});
this
.
quit
();
},
/** 取消 */
quit
()
{
this
.
openDialog
=
false
;
},
/** 分管领导、主要领导 */
leaderList
(
form
)
{
return
getUserList
(
form
);
},
dialogClose
()
{
this
.
userList
=
[]
}
}
}
</
script
>
<
style
scoped
>
.footer
{
display
:
flex
;
justify-content
:
center
;
margin-top
:
30px
;
}
.radius-image
{
border-radius
:
40px
;
}
</
style
>
ruoyi-ui/src/views/smartSchool/electronicArchives/professionalDevelopment/comprehensiveHonors/index.vue
View file @
314e1aee
<
template
>
<div
class=
"app-container"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"
6
8px"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"
9
8px"
>
<el-form-item
label=
"学科"
prop=
"sub"
>
<el-select
v-model=
"queryParams.
teachingSubject"
placeholder=
"请选择"
style=
"width: 100%
;"
>
<el-select
v-model=
"queryParams.
sub"
placeholder=
"请选择"
style=
"width: 220px
;"
>
<el-option
v-for=
"dict in dict.type.teaching_subjects"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"获奖类别"
prop=
"awardType"
>
<el-input
v-model=
"queryParams.awardType"
placeholder=
"请输入获奖类别"
clearable
@
keyup
.
enter
.
native=
"handleQuery
"
/>
<el-input
v-model=
"queryParams.awardType"
placeholder=
"请输入获奖类别"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
style=
"width: 220px;
"
/>
</el-form-item>
<el-form-item
label=
"获奖级别"
prop=
"awardRank"
>
<el-select
v-model=
"queryParams.awardRank"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-select
v-model=
"queryParams.awardRank"
placeholder=
"请选择"
>
<el-option
v-for=
"dict in dict.type.awards_level"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"获奖等级"
prop=
"awardLevel"
>
<el-select
v-model=
"queryParams.awardLevel"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-select
v-model=
"queryParams.awardLevel"
placeholder=
"请选择"
>
<el-option
v-for=
"dict in dict.type.award_rank"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
...
...
@@ -29,9 +29,14 @@
<el-form-item
label=
"获奖人"
prop=
"userName"
>
<el-input
v-model=
"queryParams.userName"
placeholder=
"请输入获奖人"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"获奖时间"
prop=
"awardTime"
>
<el-date-picker
clearable
v-model=
"queryParams.awardTime"
type=
"date"
value-format=
"yyyy-MM-dd"
placeholder=
"请选择获奖时间"
>
<el-form-item
label=
"获奖开始时间"
prop=
"startTime"
>
<el-date-picker
clearable
v-model=
"queryParams.startTime"
type=
"date"
value-format=
"yyyy-MM-dd"
placeholder=
"请选择"
>
</el-date-picker>
</el-form-item>
<el-form-item
label=
"获奖结束时间"
prop=
"endTime"
>
<el-date-picker
clearable
v-model=
"queryParams.endTime"
type=
"date"
value-format=
"yyyy-MM-dd"
placeholder=
"请选择"
>
</el-date-picker>
</el-form-item>
<el-form-item>
...
...
@@ -62,11 +67,27 @@
<el-table
:data=
"honorsList"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"成长类型"
align=
"center"
prop=
"id"
/>
<el-table-column
label=
"学科"
align=
"center"
prop=
"sub"
/>
<el-table-column
label=
"获奖类型"
align=
"center"
prop=
"awardType"
/>
<el-table-column
label=
"获奖等级"
align=
"center"
prop=
"awardLevel"
/>
<el-table-column
label=
"获奖级别"
align=
"center"
prop=
"awardRank"
/>
<el-table-column
label=
"成长类型"
align=
"center"
prop=
"type"
>
<template>
<span>
综合荣誉
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"学科"
align=
"center"
prop=
"sub"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.teaching_subjects"
:value=
"scope.row.sub"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"获奖类别"
align=
"center"
prop=
"awardType"
/>
<el-table-column
label=
"获奖等级"
align=
"center"
prop=
"awardLevel"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.award_rank"
:value=
"scope.row.awardLevel"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"获奖级别"
align=
"center"
prop=
"awardType"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.awards_level"
:value=
"scope.row.awardType"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"综合荣誉-成果名称"
align=
"center"
prop=
"resultName"
/>
<el-table-column
label=
"获奖人"
align=
"center"
prop=
"userName"
/>
<el-table-column
label=
"主办单位"
align=
"center"
prop=
"org"
/>
...
...
@@ -78,11 +99,13 @@
<
el
-
table
-
column
label
=
"操作"
align
=
"center"
class
-
name
=
"small-padding fixed-width"
>
<
template
slot
-
scope
=
"scope"
>
<
el
-
button
size
=
"mini"
type
=
"text"
icon
=
"el-icon-edit"
@
click
=
"handleUpdate(scope.row)"
v
-
hasPermi
=
"['system:honors:edit']"
>
修改
<
/el-button
>
v
-
hasPermi
=
"['system:honors:edit']"
v
-
if
=
"scope.row.auditState === '1' || scope.row.auditState === '2' || scope.row.auditState === '3'"
>
修改
<
/el-button
>
<
el
-
button
size
=
"mini"
type
=
"text"
icon
=
"el-icon-delete"
@
click
=
"handleDelete(scope.row)"
v
-
hasPermi
=
"['system:honors:remove']"
>
删除
<
/el-button
>
v
-
hasPermi
=
"['system:honors:remove']"
v
-
if
=
"scope.row.auditState === '1' || scope.row.auditState === '2' || scope.row.auditState === '3'"
>
删除
<
/el-button
>
<
el
-
button
size
=
"mini"
type
=
"text"
icon
=
"el-icon-s-check"
@
click
=
"handleExamine(scope.row)"
v
-
hasPermi
=
"['system:honors:remove']"
>
审核
<
/el-button
>
v
-
hasPermi
=
"['system:honors:remove']"
v
-
if
=
"scope.row.auditState === '1'"
>
审核
<
/el-button
>
<
/template
>
<
/el-table-column
>
<
/el-table
>
...
...
@@ -96,7 +119,7 @@
<
el
-
row
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"学科"
prop
=
"sub"
>
<
el
-
select
v
-
model
=
"form.
teachingSubject
"
placeholder
=
"请选择"
style
=
"width: 100%;"
>
<
el
-
select
v
-
model
=
"form.
sub
"
placeholder
=
"请选择"
style
=
"width: 100%;"
>
<
el
-
option
v
-
for
=
"dict in dict.type.teaching_subjects"
:
key
=
"dict.value"
:
label
=
"dict.label"
:
value
=
"dict.value"
>
<
/el-option
>
...
...
@@ -105,7 +128,7 @@
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"获奖类别"
prop
=
"awardType"
>
<
el
-
input
v
-
model
=
"
queryParams
.awardType"
placeholder
=
"请输入获奖类别"
clearable
<
el
-
input
v
-
model
=
"
form
.awardType"
placeholder
=
"请输入获奖类别"
clearable
@
keyup
.
enter
.
native
=
"handleQuery"
/>
<
/el-form-item
>
<
/el-col
>
...
...
@@ -138,7 +161,9 @@
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"获奖人"
prop
=
"userName"
>
<
el
-
input
v
-
model
=
"form.userName"
placeholder
=
"请输入获奖人"
/>
<
el
-
input
v
-
model
=
"form.userName"
placeholder
=
"请选择分管领导"
@
input
=
"openSelect('选择分管领导', 'leaderList', 2)"
@
focus
=
"openSelect('选择分管领导', 'leaderList', 2)"
><
/el-input
>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
...
...
@@ -165,11 +190,12 @@
<
/el-row
>
<
el
-
row
>
<
el
-
col
:
span
=
"12"
class
=
"custom-margin"
>
<
el
-
form
-
item
label
=
"证书图片"
prop
=
"photo"
>
<
el
-
form
-
item
label
=
"证书图片"
prop
=
"pictureUrl"
:
rules
=
"[{ required: true, message: '证书图片不能为空', trigger: 'blur'
}
]"
>
<
el
-
upload
v
-
loading
=
"uploadLoading"
class
=
"avatar-uploader"
action
=
"#"
accept
=
"image/*"
:
show
-
file
-
list
=
"false"
:
on
-
success
=
"handleAvatarSuccess"
:
before
-
upload
=
"beforeAvatarUpload"
:
http
-
request
=
"uploadImage"
>
<
img
v
-
if
=
"form.p
hotoUrl"
:
src
=
"baseUrl + form.photo
Url"
<
img
v
-
if
=
"form.p
ictureUrl"
:
src
=
"baseUrl + form.picture
Url"
style
=
"max-width: 100%; max-height: 100%"
class
=
"avatar"
alt
=
""
/>
<
i
v
-
else
class
=
"el-icon-plus avatar-uploader-icon"
><
/i
>
<
/el-upload
>
...
...
@@ -182,17 +208,128 @@
<
el
-
button
@
click
=
"cancel"
>
取
消
<
/el-button
>
<
/div
>
<
/el-dialog
>
<!--
审核综合荣誉对话框
-->
<
el
-
dialog
title
=
"详细信息"
:
visible
.
sync
=
"look"
width
=
"1000px"
append
-
to
-
body
>
<
el
-
form
ref
=
"form"
:
model
=
"form"
:
rules
=
"rules"
label
-
width
=
"80px"
:
disabled
=
"isEdit"
>
<
el
-
row
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"学科"
prop
=
"sub"
>
<
el
-
select
v
-
model
=
"form.sub"
placeholder
=
"请选择"
style
=
"width: 100%;"
>
<
el
-
option
v
-
for
=
"dict in dict.type.teaching_subjects"
:
key
=
"dict.value"
:
label
=
"dict.label"
:
value
=
"dict.value"
>
<
/el-option
>
<
/el-select
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"获奖类别"
prop
=
"awardType"
>
<
el
-
input
v
-
model
=
"form.awardType"
placeholder
=
"请输入获奖类别"
clearable
@
keyup
.
enter
.
native
=
"handleQuery"
/>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
<
el
-
row
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"获奖级别"
prop
=
"awardRank"
>
<
el
-
select
v
-
model
=
"form.awardRank"
placeholder
=
"请选择"
style
=
"width: 100%;"
>
<
el
-
option
v
-
for
=
"dict in dict.type.awards_level"
:
key
=
"dict.value"
:
label
=
"dict.label"
:
value
=
"dict.value"
>
<
/el-option
>
<
/el-select
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"获奖等级"
prop
=
"awardLevel"
>
<
el
-
select
v
-
model
=
"form.awardLevel"
placeholder
=
"请选择"
style
=
"width: 100%;"
>
<
el
-
option
v
-
for
=
"dict in dict.type.award_rank"
:
key
=
"dict.value"
:
label
=
"dict.label"
:
value
=
"dict.value"
>
<
/el-option
>
<
/el-select
>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
<
el
-
row
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"成果名称"
prop
=
"resultName"
>
<
el
-
input
v
-
model
=
"form.resultName"
placeholder
=
"请输入成果名称"
/>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"获奖人"
prop
=
"userName"
>
<
el
-
input
v
-
model
=
"form.userName"
placeholder
=
"请选择分管领导"
@
input
=
"openSelect('选择分管领导', 'leaderList', 2)"
@
focus
=
"openSelect('选择分管领导', 'leaderList', 2)"
><
/el-input
>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
<
el
-
row
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"主办单位"
prop
=
"org"
>
<
el
-
input
v
-
model
=
"form.org"
placeholder
=
"请输入主办单位"
/>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"获奖时间"
prop
=
"awardTime"
>
<
el
-
date
-
picker
clearable
v
-
model
=
"form.awardTime"
type
=
"date"
value
-
format
=
"yyyy-MM-dd"
placeholder
=
"请选择获奖时间"
style
=
"width: 100%;"
>
<
/el-date-picker
>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
<
el
-
row
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"备注"
prop
=
"remark"
>
<
el
-
input
v
-
model
=
"form.remark"
placeholder
=
"请输入备注"
/>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
<
el
-
row
>
<
el
-
col
:
span
=
"12"
class
=
"custom-margin"
>
<
el
-
form
-
item
label
=
"证书图片"
prop
=
"pictureUrl"
:
rules
=
"[{ required: true, message: '证书图片不能为空', trigger: 'blur'
}
]"
>
<
el
-
upload
v
-
loading
=
"uploadLoading"
class
=
"avatar-uploader"
action
=
"#"
accept
=
"image/*"
:
show
-
file
-
list
=
"false"
:
on
-
success
=
"handleAvatarSuccess"
:
before
-
upload
=
"beforeAvatarUpload"
:
http
-
request
=
"uploadImage"
>
<
img
v
-
if
=
"form.pictureUrl"
:
src
=
"baseUrl + form.pictureUrl"
style
=
"max-width: 100%; max-height: 100%"
class
=
"avatar"
alt
=
""
/>
<
i
v
-
else
class
=
"el-icon-plus avatar-uploader-icon"
><
/i
>
<
/el-upload
>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
<
/el-form
>
<
div
slot
=
"footer"
class
=
"dialog-footer"
style
=
"display: flex;justify-content: center;"
>
<
el
-
button
@
click
=
"handleAgree"
type
=
"primary"
size
=
"small"
>
同意
<
/el-button
>
<
el
-
button
@
click
=
"handleDisagree"
type
=
"danger"
size
=
"small"
>
不同意
<
/el-button
>
<
/div
>
<
/el-dialog
>
<!--
选择对应处理人
-->
<
SelectUser
:
id
=
"selectHandles.id"
:
open
.
sync
=
"selectHandles.open"
:
title
=
"selectHandles.title"
:
width
=
"selectHandles.width"
:
execute
=
"selectHandles.method"
@
select
=
"selectUser"
><
/SelectUser
>
<
/div
>
<
/template
>
<
script
>
// import
{
listHonors
,
getHonors
,
delHonors
,
addHonors
,
updateHonors
}
from
"@/api/system/h
onors"
;
import
{
listHonors
,
getHonors
,
delHonors
,
addHonors
,
updateHonors
,
audit
}
from
"@/api/smartSchool/electronicArchives/professionalDevelopment/comprehensiveH
onors"
;
import
{
uploadImage
as
commonUpload
}
from
"@/api/common"
;
import
SelectUser
from
"./components/SelectUser"
;
export
default
{
name
:
"Honors"
,
components
:
{
SelectUser
,
}
,
dicts
:
[
"teaching_subjects"
,
'award_categories'
,
'awards_level'
,
'award_rank'
],
data
()
{
return
{
// 选择对应处理人
selectHandles
:
{
id
:
null
,
open
:
false
,
title
:
''
,
width
:
'50%'
,
method
:
null
,
type
:
null
// 处理类型: 1 级部/处室; 2 分管; 3 主管
}
,
// 图片上传遮罩层
uploadLoading
:
false
,
baseUrl
:
[
process
.
env
.
VUE_APP_BASE_API
],
...
...
@@ -209,45 +346,24 @@ export default {
// 总条数
total
:
0
,
// 综合荣誉表格数据
honorsList
:
[{
id
:
1
,
sub
:
"语文"
,
awardType
:
"国家级"
,
awardRank
:
"国家级"
,
awardLevel
:
"国家级"
,
resultName
:
"成果名称"
,
userId
:
"1"
,
userName
:
"获奖人"
,
org
:
"主办单位"
,
awardTime
:
"2020-01-01"
,
remark
:
"备注"
,
pictureName
:
"证书图片名称"
,
pictureUrl
:
"证书图片地址"
,
createBy
:
"创建人"
,
createTime
:
"2020-01-01"
,
updateBy
:
"修改人"
,
updateTime
:
"2020-01-01"
,
delFlag
:
"0"
}
],
honorsList
:
[],
// 弹出层标题
title
:
""
,
// 是否显示弹出层
open
:
false
,
look
:
false
,
isEdit
:
false
,
// 查询参数
queryParams
:
{
pageNum
:
1
,
pageSize
:
10
,
sub
:
null
,
awardType
:
null
,
awardRank
:
null
,
awardLevel
:
null
,
resultName
:
null
,
userId
:
null
,
userName
:
null
,
org
:
null
,
awardTime
:
null
,
pictureName
:
null
,
pictureUrl
:
null
,
sub
:
""
,
awardType
:
""
,
awardRank
:
""
,
awardLevel
:
""
,
userName
:
""
,
startTime
:
""
,
endTime
:
""
,
}
,
// 表单参数
form
:
{
}
,
...
...
@@ -268,9 +384,6 @@ export default {
resultName
:
[
{
required
:
true
,
message
:
"成果名称不能为空"
,
trigger
:
"blur"
}
],
userId
:
[
{
required
:
true
,
message
:
"获奖人id不能为空"
,
trigger
:
"blur"
}
],
userName
:
[
{
required
:
true
,
message
:
"获奖人不能为空"
,
trigger
:
"blur"
}
],
...
...
@@ -280,20 +393,15 @@ export default {
awardTime
:
[
{
required
:
true
,
message
:
"获奖时间不能为空"
,
trigger
:
"blur"
}
],
pictureName
:
[
{
required
:
true
,
message
:
"证书图片名称不能为空"
,
trigger
:
"blur"
}
],
pictureUrl
:
[
{
required
:
true
,
message
:
"证书图片
地址
不能为空"
,
trigger
:
"blur"
}
{
required
:
true
,
message
:
"证书图片不能为空"
,
trigger
:
"blur"
}
],
delFlag
:
[
{
required
:
true
,
message
:
"删除状态不能为空"
,
trigger
:
"blur"
}
]
}
}
;
}
,
created
()
{
//
this.getList();
this
.
getList
();
}
,
methods
:
{
/** 查询综合荣誉列表 */
...
...
@@ -305,12 +413,51 @@ export default {
this
.
loading
=
false
;
}
);
}
,
handleExamine
()
{
//审核
handleExamine
(
row
)
{
const
id
=
row
.
id
||
this
.
ids
;
getHonors
(
id
).
then
(
response
=>
{
this
.
look
=
true
;
this
.
isEdit
=
true
,
this
.
form
=
response
.
data
;
this
.
pictureUrl
=
this
.
pev
+
this
.
form
.
pictureUrl
this
.
title
=
"修改综合荣誉"
;
}
);
}
,
// 同意
handleAgree
()
{
const
params
=
{
id
:
this
.
form
.
id
,
auditState
:
'2'
// 表示同意
}
;
audit
(
params
).
then
(({
code
}
)
=>
{
console
.
log
(
this
.
form
,
'this.form'
);
if
(
code
==
200
)
{
this
.
$modal
.
msgSuccess
(
'操作成功'
)
this
.
look
=
false
;
this
.
getList
()
}
}
)
}
,
// 不同意
handleDisagree
()
{
const
params
=
{
id
:
this
.
form
.
id
,
auditState
:
'3'
// 表示不同意
}
;
audit
(
params
).
then
(({
code
}
)
=>
{
console
.
log
(
this
.
form
,
'this.form'
);
if
(
code
==
200
)
{
this
.
$modal
.
msgSuccess
(
'操作成功'
)
this
.
look
=
false
this
.
getList
()
}
}
)
}
,
// 上传成功回调
handleAvatarSuccess
(
res
,
file
)
{
this
.
p
hoto
Url
=
res
.
data
.
url
;
this
.
p
icture
Url
=
res
.
data
.
url
;
this
.
commonUpload
(
file
);
}
,
...
...
@@ -340,8 +487,8 @@ export default {
.
then
((
response
)
=>
{
this
.
uploadLoading
=
false
;
this
.
$modal
.
msgSuccess
(
"上传成功"
);
this
.
p
hoto
Url
=
this
.
pev
+
response
.
url
;
this
.
form
.
p
hoto
Url
=
response
.
url
;
this
.
p
icture
Url
=
this
.
pev
+
response
.
url
;
this
.
form
.
p
icture
Url
=
response
.
url
;
}
)
.
catch
((
error
)
=>
{
this
.
uploadLoading
=
false
;
...
...
@@ -350,6 +497,7 @@ export default {
// 取消按钮
cancel
()
{
this
.
open
=
false
;
this
.
look
=
false
;
this
.
reset
();
}
,
// 表单重置
...
...
@@ -405,11 +553,68 @@ export default {
const
id
=
row
.
id
||
this
.
ids
getHonors
(
id
).
then
(
response
=>
{
this
.
form
=
response
.
data
;
this
.
pictureUrl
=
this
.
pev
+
this
.
form
.
pictureUrl
this
.
title
=
"修改综合荣誉"
;
}
);
}
,
// 选择处理人:打开对话框
openSelect
(
title
,
method
,
type
)
{
console
.
log
(
'form.userName'
,
this
.
form
.
userName
);
if
(
this
.
form
.
userName
)
{
console
.
log
(
'有值'
,
this
.
form
.
userName
==
""
);
}
else
{
console
.
log
(
'没值'
,
this
.
form
.
userName
);
this
.
selectHandles
.
open
=
true
;
this
.
selectHandles
.
title
=
title
;
this
.
selectHandles
.
method
=
method
;
this
.
selectHandles
.
type
=
type
;
}
}
,
// openSelect(title, method, type)
{
// console.log(1);
// console.log('form.userName', this.form.userName);
// if (!this.form.id)
{
// console.log('新增操作');
// if (Object.keys(this.form).some(key => this.form[key]))
{
// console.log('有值', this.form.userName);
//
}
else
{
// console.log('没值', this.form.userName);
// this.selectHandles.open = true;
// this.selectHandles.title = title;
// this.selectHandles.method = method;
// this.selectHandles.type = type;
//
}
//
}
else
{
// console.log('修改操作');
// this.selectHandles.open = true;
// this.selectHandles.title = title;
// this.selectHandles.method = method;
// this.selectHandles.type = type;
//
}
//
}
,
// 选择处理人
selectUser
(
select
)
{
this
.
$set
(
this
.
form
,
`userName${this.selectHandles.type
}
`
,
select
.
name
);
console
.
log
(
select
.
name
);
this
.
$set
(
this
.
form
,
`userId${this.selectHandles.type
}
`
,
select
.
id
);
console
.
log
(
select
.
id
);
// 设置顶层的 userName 和 userId 字段
this
.
form
.
userName
=
select
.
name
;
console
.
log
(
124
,
this
.
form
.
userName
);
console
.
log
(
select
);
this
.
form
.
userId
=
select
.
id
;
console
.
log
(
this
.
form
.
userId
,
'this.form.userId'
);
// 重新赋值选中的 id
this
.
selectUser
.
id
=
select
.
id
;
}
,
/** 提交按钮 */
submitForm
()
{
this
.
form
.
auditState
=
'2'
;
this
.
$refs
[
"form"
].
validate
(
valid
=>
{
if
(
valid
)
{
if
(
this
.
form
.
id
!=
null
)
{
...
...
@@ -440,9 +645,9 @@ export default {
}
,
/** 导出按钮操作 */
handleExport
()
{
this
.
download
(
'system/honors/export'
,
{
this
.
download
(
'
/
system/honors/export'
,
{
...
this
.
queryParams
}
,
`
honors
_${new Date().getTime()
}
.xlsx`
)
}
,
`
综合荣誉
_${new Date().getTime()
}
.xlsx`
)
}
}
}
;
...
...
ruoyi-ui/src/views/smartSchool/electronicArchives/professionalDevelopment/essaysWritings/components/SelectUser.vue
0 → 100644
View file @
314e1aee
<
template
>
<el-dialog
:visible
.
sync=
"openDialog"
:title=
"title"
:width=
"width"
@
close=
"dialogClose"
>
<!-- 模糊查询-->
<el-form
:model=
"form"
ref=
"form"
size=
"small"
inline
>
<el-form-item
prop=
"userName"
label=
"姓名"
>
<el-input
v-model
.
trim=
"form.userName"
placeholder=
"请输入姓名"
clearable
@
keyup
.
enter
.
native=
"search"
></el-input>
</el-form-item>
<el-form-item
prop=
"phone"
label=
"联系电话"
>
<el-input
v-model
.
trim=
"form.phone"
placeholder=
"请输入联系电话"
clearable
@
keyup
.
enter
.
native=
"search"
></el-input>
</el-form-item>
<el-form-item>
<el-button
@
click=
"search"
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
>
搜索
</el-button>
<el-button
@
click=
"reset"
icon=
"el-icon-refresh"
size=
"mini"
>
重置
</el-button>
</el-form-item>
</el-form>
<!-- 列表数据-->
<el-table
ref=
"tableList"
v-loading=
"loading"
:data=
"userList"
@
selection-change=
"selectionChange"
@
row-click=
"rowClick"
>
<el-table-column
type=
"selection"
align=
"center"
></el-table-column>
<el-table-column
key=
"userName"
prop=
"userName"
label=
"姓名"
align=
"center"
></el-table-column>
<el-table-column
key=
"phone"
prop=
"phone"
label=
"联系电话"
align=
"center"
></el-table-column>
</el-table>
<!-- 分页-->
<pagination
v-show=
"total > 0"
:total=
"total"
:limit
.
sync=
"form.pageSize"
:page
.
sync=
"form.pageNum"
@
pagination=
"search"
></pagination>
<!-- 底部-->
<div
slot=
"footer"
>
<el-button
:disabled=
"!selectUser"
@
click=
"submit"
type=
"primary"
size=
"small"
>
确 定
</el-button>
<el-button
@
click=
"quit"
size=
"small"
>
取 消
</el-button>
</div>
</el-dialog>
</
template
>
<
script
>
import
{
getUserList
}
from
"@/api/smartSchool/electronicArchives/professionalDevelopment/comprehensiveHonors"
;
export
default
{
name
:
"SelectUser"
,
dicts
:
[
'sys_user_sex'
],
props
:
{
open
:
{
type
:
Boolean
,
require
:
true
},
title
:
{
type
:
String
,
default
:
''
},
width
:
{
type
:
[
Number
,
String
],
default
:
'50%'
},
execute
:
{
type
:
[
String
]
},
// 选择级部、处室主任
id
:
{
type
:
[
Number
,
String
]
}
},
data
()
{
return
{
baseURL
:
process
.
env
.
VUE_APP_BASE_API
,
form
:
{
userName
:
''
,
phone
:
''
,
pageNum
:
1
,
pageSize
:
10
},
total
:
0
,
loading
:
false
,
userList
:
[],
selectUser
:
null
}
},
computed
:
{
openDialog
:
{
get
()
{
return
this
.
open
;
},
set
(
value
)
{
this
.
$emit
(
'update:open'
,
value
);
}
}
},
watch
:
{
open
(
value
)
{
if
(
value
)
{
this
.
$nextTick
(()
=>
{
this
.
reset
();
})
}
}
},
methods
:
{
/** 搜索(交给子组件维护,当然也可以把接口交给父组件处理) */
async
search
()
{
if
(
isNaN
(
Number
(
this
.
id
)))
{
console
.
error
(
'Invalid ID'
);
return
;
}
try
{
this
.
loading
=
true
;
const
response
=
await
this
[
this
.
execute
]({
applyOrgid
:
this
.
id
,
...
this
.
form
});
this
.
userList
=
response
.
rows
||
[];
this
.
total
=
response
.
total
;
this
.
loading
=
false
;
}
catch
(
exception
)
{
this
.
loading
=
false
;
throw
new
Error
(
exception
);
}
},
/** 重置表单 */
reset
()
{
this
.
form
=
{
teacherName
:
''
,
teacherTel
:
''
,
pageNum
:
1
,
pageSize
:
10
};
this
.
resetForm
(
'form'
);
this
.
search
();
},
/** 选项选中发生变化 */
selectionChange
(
selections
)
{
this
.
selectUser
=
selections
[
0
];
},
/** 点击选中、取消 */
rowClick
(
row
,
column
)
{
console
.
log
(
'row'
,
row
);
this
.
$refs
[
'tableList'
].
clearSelection
();
this
.
$refs
[
'tableList'
].
toggleRowSelection
(
row
,
true
);
},
/** 提交选中 */
submit
()
{
this
.
$emit
(
'select'
,
{
id
:
this
.
selectUser
.
userId
,
name
:
this
.
selectUser
.
userName
,
tel
:
this
.
selectUser
.
phone
});
this
.
quit
();
},
/** 取消 */
quit
()
{
this
.
openDialog
=
false
;
},
/** 分管领导、主要领导 */
leaderList
(
form
)
{
return
getUserList
(
form
);
},
dialogClose
()
{
this
.
userList
=
[]
}
}
}
</
script
>
<
style
scoped
>
.footer
{
display
:
flex
;
justify-content
:
center
;
margin-top
:
30px
;
}
.radius-image
{
border-radius
:
40px
;
}
</
style
>
ruoyi-ui/src/views/smartSchool/electronicArchives/professionalDevelopment/essaysWritings/index.vue
View file @
314e1aee
...
...
@@ -3,28 +3,28 @@
<div
class=
"app-container"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
<el-form-item
label=
"学科"
prop=
"sub"
>
<el-select
v-model=
"
form.teachingSubject
"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-select
v-model=
"
queryParams.sub
"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-option
v-for=
"dict in dict.type.teaching_subjects"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"获奖类别"
prop=
"awardType"
>
<el-select
v-model=
"
form
.awardType"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-select
v-model=
"
queryParams
.awardType"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-option
v-for=
"dict in dict.type.award_categories"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"获奖级别"
prop=
"awardRank"
>
<el-select
v-model=
"
form
.awardRank"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-select
v-model=
"
queryParams
.awardRank"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-option
v-for=
"dict in dict.type.awards_level"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"获奖等级"
prop=
"awardLevel"
>
<el-select
v-model=
"
form
.awardLevel"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-select
v-model=
"
queryParams
.awardLevel"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-option
v-for=
"dict in dict.type.award_rank"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
...
...
@@ -67,11 +67,31 @@
<el-table
:data=
"worksList"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"成长类型"
align=
"center"
prop=
"id"
/>
<el-table-column
label=
"学科"
align=
"center"
prop=
"sub"
/>
<el-table-column
label=
"获奖类型"
align=
"center"
prop=
"awardType"
/>
<el-table-column
label=
"获奖等级"
align=
"center"
prop=
"awardLevel"
/>
<el-table-column
label=
"获奖级别"
align=
"center"
prop=
"awardRank"
/>
<el-table-column
label=
"成长类型"
align=
"center"
>
<template>
<span>
论文论著
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"学科"
align=
"center"
prop=
"sub"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.teaching_subjects"
:value=
"scope.row.sub"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"获奖类别"
align=
"center"
prop=
"awardType"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.award_categories"
:value=
"scope.row.awardType"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"获奖等级"
align=
"center"
prop=
"awardLevel"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.award_rank"
:value=
"scope.row.awardLevel"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"获奖级别"
align=
"center"
prop=
"awardRank"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.awards_level"
:value=
"scope.row.awardRank"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"成果名称"
align=
"center"
prop=
"resultName"
/>
<el-table-column
label=
"获奖人"
align=
"center"
prop=
"userName"
/>
<el-table-column
label=
"主办单位"
align=
"center"
prop=
"org"
/>
...
...
@@ -101,7 +121,7 @@
<
el
-
row
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"学科"
prop
=
"sub"
>
<
el
-
select
v
-
model
=
"form.
teachingSubject
"
placeholder
=
"请选择"
style
=
"width: 100%;"
>
<
el
-
select
v
-
model
=
"form.
sub
"
placeholder
=
"请选择"
style
=
"width: 100%;"
>
<
el
-
option
v
-
for
=
"dict in dict.type.teaching_subjects"
:
key
=
"dict.value"
:
label
=
"dict.label"
:
value
=
"dict.value"
>
<
/el-option
>
...
...
@@ -145,8 +165,9 @@
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"获奖人"
prop
=
"userName"
>
<
el
-
input
v
-
model
=
"form.userName"
placeholder
=
"请输入获奖人"
/>
<
el
-
form
-
item
label
=
"获奖人"
>
<
el
-
input
v
-
model
=
"form.userName"
placeholder
=
"请选择分管领导"
@
focus
=
"openSelect('选择分管领导', 'leaderList', 2)"
><
/el-input
>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
...
...
@@ -177,7 +198,7 @@
<
el
-
upload
v
-
loading
=
"uploadLoading"
class
=
"avatar-uploader"
action
=
"#"
accept
=
"image/*"
:
show
-
file
-
list
=
"false"
:
on
-
success
=
"handleAvatarSuccess"
:
before
-
upload
=
"beforeAvatarUpload"
:
http
-
request
=
"uploadImage"
>
<
img
v
-
if
=
"form.p
hotoUrl"
:
src
=
"baseUrl + form.photo
Url"
<
img
v
-
if
=
"form.p
ictureUrl"
:
src
=
"baseUrl + form.picture
Url"
style
=
"max-width: 100%; max-height: 100%"
class
=
"avatar"
alt
=
""
/>
<
i
v
-
else
class
=
"el-icon-plus avatar-uploader-icon"
><
/i
>
<
/el-upload
>
...
...
@@ -190,17 +211,34 @@
<
el
-
button
@
click
=
"cancel"
>
取
消
<
/el-button
>
<
/div
>
<
/el-dialog
>
<!--
选择对应处理人
-->
<
SelectUser
:
id
=
"selectHandles.id"
:
open
.
sync
=
"selectHandles.open"
:
title
=
"selectHandles.title"
:
width
=
"selectHandles.width"
:
execute
=
"selectHandles.method"
@
select
=
"selectUser"
><
/SelectUser
>
<
/div
>
<
/template
>
<
script
>
// import
{
listWorks
,
getWorks
,
delWorks
,
addWorks
,
updateWorks
}
from
"@/api/system/works"
;
import
{
listWorks
,
getWorks
,
delWorks
,
addWorks
,
updateWorks
}
from
"@/api/smartSchool/electronicArchives/professionalDevelopment/essaysWritings"
;
;
import
{
uploadImage
as
commonUpload
}
from
"@/api/common"
;
import
SelectUser
from
"./components/SelectUser"
;
export
default
{
name
:
"Works"
,
components
:
{
SelectUser
,
}
,
dicts
:
[
"teaching_subjects"
,
'award_categories'
,
'awards_level'
,
'award_rank'
],
data
()
{
return
{
// 选择对应处理人
selectHandles
:
{
id
:
null
,
open
:
false
,
title
:
''
,
width
:
'50%'
,
method
:
null
,
type
:
null
// 处理类型: 1 级部/处室; 2 分管; 3 主管
}
,
// 遮罩层
loading
:
true
,
// 选中数组
...
...
@@ -216,26 +254,7 @@ export default {
// 图片上传遮罩层
uploadLoading
:
false
,
// 论文著作表格数据
worksList
:
[{
id
:
1
,
sub
:
null
,
awardType
:
null
,
awardRank
:
null
,
awardLevel
:
null
,
resultName
:
null
,
userId
:
null
,
userName
:
null
,
org
:
null
,
awardTime
:
null
,
remark
:
null
,
pictureName
:
null
,
pictureUrl
:
null
,
createBy
:
null
,
createTime
:
null
,
updateBy
:
null
,
updateTime
:
null
,
delFlag
:
null
}
],
worksList
:
[],
// 弹出层标题
title
:
""
,
// 是否显示弹出层
...
...
@@ -305,7 +324,7 @@ export default {
}
;
}
,
created
()
{
//
this.getList();
this
.
getList
();
}
,
methods
:
{
/** 查询论文著作列表 */
...
...
@@ -317,6 +336,31 @@ export default {
this
.
loading
=
false
;
}
);
}
,
// 选择处理人:打开对话框
openSelect
(
title
,
method
,
type
)
{
console
.
log
(
1
);
this
.
selectHandles
.
open
=
true
;
this
.
selectHandles
.
title
=
title
;
this
.
selectHandles
.
method
=
method
;
this
.
selectHandles
.
type
=
type
;
}
,
// 选择处理人
selectUser
(
select
)
{
this
.
$set
(
this
.
form
,
`userName${this.selectHandles.type
}
`
,
select
.
name
);
console
.
log
(
select
.
name
);
this
.
$set
(
this
.
form
,
`userId${this.selectHandles.type
}
`
,
select
.
id
);
console
.
log
(
select
.
id
);
// 设置顶层的 userName 和 userId 字段
this
.
form
.
userName
=
select
.
name
;
console
.
log
(
124
,
this
.
form
.
userName
);
console
.
log
(
select
);
this
.
form
.
userId
=
select
.
id
;
console
.
log
(
this
.
form
.
userId
,
'this.form.userId'
);
// 重新赋值选中的 id
this
.
selectUser
.
id
=
select
.
id
;
}
,
// 取消按钮
cancel
()
{
this
.
open
=
false
;
...
...
@@ -324,7 +368,7 @@ export default {
}
,
// 上传成功回调
handleAvatarSuccess
(
res
,
file
)
{
this
.
p
hoto
Url
=
res
.
data
.
url
;
this
.
p
icture
Url
=
res
.
data
.
url
;
this
.
commonUpload
(
file
);
}
,
...
...
@@ -354,8 +398,8 @@ export default {
.
then
((
response
)
=>
{
this
.
uploadLoading
=
false
;
this
.
$modal
.
msgSuccess
(
"上传成功"
);
this
.
p
hoto
Url
=
this
.
pev
+
response
.
url
;
this
.
form
.
p
hoto
Url
=
response
.
url
;
this
.
p
icture
Url
=
this
.
pev
+
response
.
url
;
this
.
form
.
p
icture
Url
=
response
.
url
;
}
)
.
catch
((
error
)
=>
{
this
.
uploadLoading
=
false
;
...
...
@@ -449,9 +493,9 @@ export default {
}
,
/** 导出按钮操作 */
handleExport
()
{
this
.
download
(
'system/works/export'
,
{
this
.
download
(
'
/
system/works/export'
,
{
...
this
.
queryParams
}
,
`
works
_${new Date().getTime()
}
.xlsx`
)
}
,
`
论文论著
_${new Date().getTime()
}
.xlsx`
)
}
}
}
;
...
...
ruoyi-ui/src/views/smartSchool/electronicArchives/professionalDevelopment/lectureAwards/components/SelectUser.vue
0 → 100644
View file @
314e1aee
<
template
>
<el-dialog
:visible
.
sync=
"openDialog"
:title=
"title"
:width=
"width"
@
close=
"dialogClose"
>
<!-- 模糊查询-->
<el-form
:model=
"form"
ref=
"form"
size=
"small"
inline
>
<el-form-item
prop=
"userName"
label=
"姓名"
>
<el-input
v-model
.
trim=
"form.userName"
placeholder=
"请输入姓名"
clearable
@
keyup
.
enter
.
native=
"search"
></el-input>
</el-form-item>
<el-form-item
prop=
"phone"
label=
"联系电话"
>
<el-input
v-model
.
trim=
"form.phone"
placeholder=
"请输入联系电话"
clearable
@
keyup
.
enter
.
native=
"search"
></el-input>
</el-form-item>
<el-form-item>
<el-button
@
click=
"search"
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
>
搜索
</el-button>
<el-button
@
click=
"reset"
icon=
"el-icon-refresh"
size=
"mini"
>
重置
</el-button>
</el-form-item>
</el-form>
<!-- 列表数据-->
<el-table
ref=
"tableList"
v-loading=
"loading"
:data=
"userList"
@
selection-change=
"selectionChange"
@
row-click=
"rowClick"
>
<el-table-column
type=
"selection"
align=
"center"
></el-table-column>
<el-table-column
key=
"userName"
prop=
"userName"
label=
"姓名"
align=
"center"
></el-table-column>
<el-table-column
key=
"phone"
prop=
"phone"
label=
"联系电话"
align=
"center"
></el-table-column>
</el-table>
<!-- 分页-->
<pagination
v-show=
"total > 0"
:total=
"total"
:limit
.
sync=
"form.pageSize"
:page
.
sync=
"form.pageNum"
@
pagination=
"search"
></pagination>
<!-- 底部-->
<div
slot=
"footer"
>
<el-button
:disabled=
"!selectUser"
@
click=
"submit"
type=
"primary"
size=
"small"
>
确 定
</el-button>
<el-button
@
click=
"quit"
size=
"small"
>
取 消
</el-button>
</div>
</el-dialog>
</
template
>
<
script
>
import
{
getUserList
}
from
"@/api/smartSchool/electronicArchives/professionalDevelopment/comprehensiveHonors"
;
export
default
{
name
:
"SelectUser"
,
dicts
:
[
'sys_user_sex'
],
props
:
{
open
:
{
type
:
Boolean
,
require
:
true
},
title
:
{
type
:
String
,
default
:
''
},
width
:
{
type
:
[
Number
,
String
],
default
:
'50%'
},
execute
:
{
type
:
[
String
]
},
// 选择级部、处室主任
id
:
{
type
:
[
Number
,
String
]
}
},
data
()
{
return
{
baseURL
:
process
.
env
.
VUE_APP_BASE_API
,
form
:
{
userName
:
''
,
phone
:
''
,
pageNum
:
1
,
pageSize
:
10
},
total
:
0
,
loading
:
false
,
userList
:
[],
selectUser
:
null
}
},
computed
:
{
openDialog
:
{
get
()
{
return
this
.
open
;
},
set
(
value
)
{
this
.
$emit
(
'update:open'
,
value
);
}
}
},
watch
:
{
open
(
value
)
{
if
(
value
)
{
this
.
$nextTick
(()
=>
{
this
.
reset
();
})
}
}
},
methods
:
{
/** 搜索(交给子组件维护,当然也可以把接口交给父组件处理) */
async
search
()
{
if
(
isNaN
(
Number
(
this
.
id
)))
{
console
.
error
(
'Invalid ID'
);
return
;
}
try
{
this
.
loading
=
true
;
const
response
=
await
this
[
this
.
execute
]({
applyOrgid
:
this
.
id
,
...
this
.
form
});
this
.
userList
=
response
.
rows
||
[];
this
.
total
=
response
.
total
;
this
.
loading
=
false
;
}
catch
(
exception
)
{
this
.
loading
=
false
;
throw
new
Error
(
exception
);
}
},
/** 重置表单 */
reset
()
{
this
.
form
=
{
teacherName
:
''
,
teacherTel
:
''
,
pageNum
:
1
,
pageSize
:
10
};
this
.
resetForm
(
'form'
);
this
.
search
();
},
/** 选项选中发生变化 */
selectionChange
(
selections
)
{
this
.
selectUser
=
selections
[
0
];
},
/** 点击选中、取消 */
rowClick
(
row
,
column
)
{
console
.
log
(
'row'
,
row
);
this
.
$refs
[
'tableList'
].
clearSelection
();
this
.
$refs
[
'tableList'
].
toggleRowSelection
(
row
,
true
);
},
/** 提交选中 */
submit
()
{
this
.
$emit
(
'select'
,
{
id
:
this
.
selectUser
.
userId
,
name
:
this
.
selectUser
.
userName
,
tel
:
this
.
selectUser
.
phone
});
this
.
quit
();
},
/** 取消 */
quit
()
{
this
.
openDialog
=
false
;
},
/** 分管领导、主要领导 */
leaderList
(
form
)
{
return
getUserList
(
form
);
},
dialogClose
()
{
this
.
userList
=
[]
}
}
}
</
script
>
<
style
scoped
>
.footer
{
display
:
flex
;
justify-content
:
center
;
margin-top
:
30px
;
}
.radius-image
{
border-radius
:
40px
;
}
</
style
>
ruoyi-ui/src/views/smartSchool/electronicArchives/professionalDevelopment/lectureAwards/index.vue
View file @
314e1aee
<
template
>
<div
class=
"app-container"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"
6
8px"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"
9
8px"
>
<el-form-item
label=
"学科"
prop=
"sub"
>
<el-select
v-model=
"
form.teachingSubject"
placeholder=
"请选择"
style=
"width: 100%
;"
>
<el-select
v-model=
"
queryParams.sub"
placeholder=
"请选择"
style=
"width: 220px
;"
>
<el-option
v-for=
"dict in dict.type.teaching_subjects"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"获奖类别"
prop=
"awardType"
>
<el-select
v-model=
"
form.awardType"
placeholder=
"请选择"
style=
"width: 100%;
"
>
<el-select
v-model=
"
queryParams.awardType"
placeholder=
"请选择"
style=
"width: 220px
"
>
<el-option
v-for=
"dict in dict.type.award_categoriesjk"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"获奖级别"
prop=
"awardRank"
>
<el-select
v-model=
"
form
.awardRank"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-select
v-model=
"
queryParams
.awardRank"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-option
v-for=
"dict in dict.type.awards_level"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
...
...
@@ -24,7 +24,7 @@
</el-form-item>
<el-form-item
label=
"获奖等级"
prop=
"awardLevel"
>
<el-select
v-model=
"
form
.awardLevel"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-select
v-model=
"
queryParams
.awardLevel"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-option
v-for=
"dict in dict.type.award_rank"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
...
...
@@ -33,9 +33,14 @@
<el-form-item
label=
"获奖人"
prop=
"userName"
>
<el-input
v-model=
"queryParams.userName"
placeholder=
"请输入获奖人"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"获奖时间"
prop=
"awardTime"
>
<el-date-picker
clearable
v-model=
"queryParams.awardTime"
type=
"date"
value-format=
"yyyy-MM-dd"
placeholder=
"请选择获奖时间"
>
<el-form-item
label=
"获奖开始时间"
prop=
"awardTime"
>
<el-date-picker
clearable
v-model=
"queryParams.startTime"
type=
"date"
value-format=
"yyyy-MM-dd"
placeholder=
"请选择"
>
</el-date-picker>
</el-form-item>
<el-form-item
label=
"获奖结束时间"
prop=
"awardTime"
>
<el-date-picker
clearable
v-model=
"queryParams.endTime"
type=
"date"
value-format=
"yyyy-MM-dd"
placeholder=
"请选择"
>
</el-date-picker>
</el-form-item>
<el-form-item>
...
...
@@ -66,11 +71,31 @@
<el-table
:data=
"awardsList"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"成长类型"
align=
"center"
prop=
"id"
/>
<el-table-column
label=
"学科"
align=
"center"
prop=
"sub"
/>
<el-table-column
label=
"获奖类型"
align=
"center"
prop=
"awardType"
/>
<el-table-column
label=
"获奖等级"
align=
"center"
prop=
"awardLevel"
/>
<el-table-column
label=
"获奖级别"
align=
"center"
prop=
"awardRank"
/>
<el-table-column
label=
"成长类型"
align=
"center"
>
<template>
<span>
讲课获奖
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"学科"
align=
"center"
prop=
"sub"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.teaching_subjects"
:value=
"scope.row.sub"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"获奖类别"
align=
"center"
prop=
"awardType"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.award_categoriesjk"
:value=
"scope.row.awardType"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"获奖等级"
align=
"center"
prop=
"awardLevel"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.award_rank"
:value=
"scope.row.awardLevel"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"获奖级别"
align=
"center"
prop=
"awardRank"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.awards_level"
:value=
"scope.row.awardRank"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"讲课获奖-成果名称"
align=
"center"
prop=
"resultName"
/>
<el-table-column
label=
"获奖人"
align=
"center"
prop=
"userName"
/>
<el-table-column
label=
"主办单位"
align=
"center"
prop=
"org"
/>
...
...
@@ -100,7 +125,7 @@
<
el
-
row
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"学科"
prop
=
"sub"
>
<
el
-
select
v
-
model
=
"form.
teachingSubject
"
placeholder
=
"请选择"
style
=
"width: 100%;"
>
<
el
-
select
v
-
model
=
"form.
sub
"
placeholder
=
"请选择"
style
=
"width: 100%;"
>
<
el
-
option
v
-
for
=
"dict in dict.type.teaching_subjects"
:
key
=
"dict.value"
:
label
=
"dict.label"
:
value
=
"dict.value"
>
<
/el-option
>
...
...
@@ -147,7 +172,8 @@
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"获奖人"
prop
=
"userName"
>
<
el
-
input
v
-
model
=
"form.userName"
placeholder
=
"请输入获奖人"
/>
<
el
-
input
v
-
model
=
"form.userName"
placeholder
=
"请选择分管领导"
@
focus
=
"openSelect('选择分管领导', 'leaderList', 2)"
><
/el-input
>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
...
...
@@ -178,7 +204,7 @@
<
el
-
upload
v
-
loading
=
"uploadLoading"
class
=
"avatar-uploader"
action
=
"#"
accept
=
"image/*"
:
show
-
file
-
list
=
"false"
:
on
-
success
=
"handleAvatarSuccess"
:
before
-
upload
=
"beforeAvatarUpload"
:
http
-
request
=
"uploadImage"
>
<
img
v
-
if
=
"form.p
hotoUrl"
:
src
=
"baseUrl + form.photo
Url"
<
img
v
-
if
=
"form.p
ictureUrl"
:
src
=
"baseUrl + form.picture
Url"
style
=
"max-width: 100%; max-height: 100%"
class
=
"avatar"
alt
=
""
/>
<
i
v
-
else
class
=
"el-icon-plus avatar-uploader-icon"
><
/i
>
<
/el-upload
>
...
...
@@ -191,17 +217,32 @@
<
el
-
button
@
click
=
"cancel"
>
取
消
<
/el-button
>
<
/div
>
<
/el-dialog
>
<
SelectUser
:
id
=
"selectHandles.id"
:
open
.
sync
=
"selectHandles.open"
:
title
=
"selectHandles.title"
:
width
=
"selectHandles.width"
:
execute
=
"selectHandles.method"
@
select
=
"selectUser"
><
/SelectUser
>
<
/div
>
<
/template
>
<
script
>
// import
{
listAwards
,
getAwards
,
delAwards
,
addAwards
,
updateAwards
}
from
"@/api/system/a
wards"
;
import
{
listAwards
,
getAwards
,
delAwards
,
addAwards
,
updateAwards
}
from
"@/api/smartSchool/electronicArchives/professionalDevelopment/lectureA
wards"
;
import
{
uploadImage
as
commonUpload
}
from
"@/api/common"
;
import
SelectUser
from
"./components/SelectUser"
;
export
default
{
name
:
"Awards"
,
components
:
{
SelectUser
,
}
,
dicts
:
[
"teaching_subjects"
,
'award_categoriesjk'
,
'awards_level'
,
'award_rank'
],
data
()
{
return
{
// 选择对应处理人
selectHandles
:
{
id
:
null
,
open
:
false
,
title
:
''
,
width
:
'50%'
,
method
:
null
,
type
:
null
// 处理类型: 1 级部/处室; 2 分管; 3 主管
}
,
// 图片上传遮罩层
uploadLoading
:
false
,
baseUrl
:
[
process
.
env
.
VUE_APP_BASE_API
],
...
...
@@ -218,26 +259,7 @@ export default {
// 总条数
total
:
0
,
// 讲课获奖表格数据
awardsList
:
[{
id
:
1
,
sub
:
null
,
awardType
:
null
,
awardRank
:
null
,
awardLevel
:
null
,
resultName
:
null
,
userId
:
null
,
userName
:
null
,
org
:
null
,
awardTime
:
null
,
remark
:
null
,
pictureName
:
null
,
pictureUrl
:
null
,
createBy
:
null
,
createTime
:
null
,
upateBy
:
null
,
updateTime
:
null
,
delFlag
:
null
}
],
awardsList
:
[],
// 弹出层标题
title
:
""
,
// 是否显示弹出层
...
...
@@ -303,7 +325,7 @@ export default {
}
;
}
,
created
()
{
//
this.getList();
this
.
getList
();
}
,
methods
:
{
...
...
@@ -316,10 +338,36 @@ export default {
this
.
loading
=
false
;
}
);
}
,
// 选择处理人:打开对话框
openSelect
(
title
,
method
,
type
)
{
console
.
log
(
1
);
this
.
selectHandles
.
open
=
true
;
this
.
selectHandles
.
title
=
title
;
this
.
selectHandles
.
method
=
method
;
this
.
selectHandles
.
type
=
type
;
}
,
// 选择处理人
selectUser
(
select
)
{
this
.
$set
(
this
.
form
,
`userName${this.selectHandles.type
}
`
,
select
.
name
);
console
.
log
(
select
.
name
);
this
.
$set
(
this
.
form
,
`userId${this.selectHandles.type
}
`
,
select
.
id
);
console
.
log
(
select
.
id
);
// 设置顶层的 userName 和 userId 字段
this
.
form
.
userName
=
select
.
name
;
console
.
log
(
124
,
this
.
form
.
userName
);
console
.
log
(
select
);
this
.
form
.
userId
=
select
.
id
;
console
.
log
(
this
.
form
.
userId
,
'this.form.userId'
);
// 重新赋值选中的 id
this
.
selectUser
.
id
=
select
.
id
;
}
,
// 上传成功回调
handleAvatarSuccess
(
res
,
file
)
{
this
.
p
hoto
Url
=
res
.
data
.
url
;
this
.
p
icture
Url
=
res
.
data
.
url
;
this
.
commonUpload
(
file
);
}
,
// 上传前格式和图片大小限制
...
...
@@ -348,8 +396,8 @@ export default {
.
then
((
response
)
=>
{
this
.
uploadLoading
=
false
;
this
.
$modal
.
msgSuccess
(
"上传成功"
);
this
.
p
hoto
Url
=
this
.
pev
+
response
.
url
;
this
.
form
.
p
hoto
Url
=
response
.
url
;
this
.
p
icture
Url
=
this
.
pev
+
response
.
url
;
this
.
form
.
p
icture
Url
=
response
.
url
;
}
)
.
catch
((
error
)
=>
{
this
.
uploadLoading
=
false
;
...
...
@@ -448,9 +496,9 @@ export default {
}
,
/** 导出按钮操作 */
handleExport
()
{
this
.
download
(
'system/awards/export'
,
{
this
.
download
(
'
/
system/awards/export'
,
{
...
this
.
queryParams
}
,
`
awards
_${new Date().getTime()
}
.xlsx`
)
}
,
`
讲课获奖
_${new Date().getTime()
}
.xlsx`
)
}
}
}
;
...
...
ruoyi-ui/src/views/smartSchool/electronicArchives/professionalDevelopment/projectResearch/index.vue
View file @
314e1aee
...
...
@@ -2,25 +2,29 @@
<div
class=
"app-container"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
<el-form-item
label=
"学科"
prop=
"sub"
>
<el-select
v-model=
"
queryParams
.teachingSubject"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-select
v-model=
"
form
.teachingSubject"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-option
v-for=
"dict in dict.type.teaching_subjects"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"获奖类别"
prop=
"awardType"
>
<el-input
v-model=
"queryParams.awardType"
placeholder=
"请输入获奖类别"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"获奖级别"
prop=
"awardRank"
>
<el-select
v-model=
"
queryParams
.awardRank"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-select
v-model=
"
form
.awardRank"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-option
v-for=
"dict in dict.type.awards_level"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"获奖类别"
prop=
"awardType"
>
<el-select
v-model=
"form.awardType"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-option
v-for=
"dict in dict.type.project_research"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"获奖等级"
prop=
"awardLevel"
>
<el-select
v-model=
"
queryParams
.awardLevel"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-select
v-model=
"
form
.awardLevel"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-option
v-for=
"dict in dict.type.award_rank"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
...
...
@@ -34,6 +38,7 @@
placeholder=
"请选择获奖时间"
>
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"handleQuery"
>
搜索
</el-button>
<el-button
icon=
"el-icon-refresh"
size=
"mini"
@
click=
"resetQuery"
>
重置
</el-button>
...
...
@@ -43,31 +48,31 @@
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-col
:span=
"1.5"
>
<el-button
type=
"primary"
plain
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAdd"
v-hasPermi=
"['system:
honor
s:add']"
>
新增
</el-button>
v-hasPermi=
"['system:
award
s:add']"
>
新增
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"success"
plain
icon=
"el-icon-edit"
size=
"mini"
:disabled=
"single"
@
click=
"handleUpdate"
v-hasPermi=
"['system:
honor
s:edit']"
>
修改
</el-button>
v-hasPermi=
"['system:
award
s:edit']"
>
修改
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"danger"
plain
icon=
"el-icon-delete"
size=
"mini"
:disabled=
"multiple"
@
click=
"handleDelete"
v-hasPermi=
"['system:
honor
s:remove']"
>
删除
</el-button>
v-hasPermi=
"['system:
award
s:remove']"
>
删除
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"warning"
plain
icon=
"el-icon-download"
size=
"mini"
@
click=
"handleExport"
v-hasPermi=
"['system:
honor
s:export']"
>
导出
</el-button>
v-hasPermi=
"['system:
award
s:export']"
>
导出
</el-button>
</el-col>
<right-toolbar
:showSearch
.
sync=
"showSearch"
@
queryTable=
"getList"
></right-toolbar>
</el-row>
<el-table
:data=
"
honor
sList"
@
selection-change=
"handleSelectionChange"
>
<el-table
:data=
"
award
sList"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"成长类型"
align=
"center"
prop=
"id"
/>
<el-table-column
label=
"学科"
align=
"center"
prop=
"sub"
/>
<el-table-column
label=
"获奖类
型
"
align=
"center"
prop=
"awardType"
/>
<el-table-column
label=
"获奖类
别
"
align=
"center"
prop=
"awardType"
/>
<el-table-column
label=
"获奖等级"
align=
"center"
prop=
"awardLevel"
/>
<el-table-column
label=
"获奖级别"
align=
"center"
prop=
"awardRank"
/>
<el-table-column
label=
"
综合荣誉
-成果名称"
align=
"center"
prop=
"resultName"
/>
<el-table-column
label=
"
课题研究
-成果名称"
align=
"center"
prop=
"resultName"
/>
<el-table-column
label=
"获奖人"
align=
"center"
prop=
"userName"
/>
<el-table-column
label=
"主办单位"
align=
"center"
prop=
"org"
/>
<el-table-column
label=
"获奖时间"
align=
"center"
prop=
"awardTime"
width=
"180"
>
...
...
@@ -90,8 +95,8 @@
<
pagination
v
-
show
=
"total > 0"
:
total
=
"total"
:
page
.
sync
=
"queryParams.pageNum"
:
limit
.
sync
=
"queryParams.pageSize"
@
pagination
=
"getList"
/>
<!--
添加或修改
综合荣誉
对话框
-->
<
el
-
dialog
title
=
"详细信息
"
:
visible
.
sync
=
"open"
width
=
"1000px"
append
-
to
-
body
>
<!--
添加或修改
教师获奖
对话框
-->
<
el
-
dialog
:
title
=
"title
"
:
visible
.
sync
=
"open"
width
=
"1000px"
append
-
to
-
body
>
<
el
-
form
ref
=
"form"
:
model
=
"form"
:
rules
=
"rules"
label
-
width
=
"80px"
>
<
el
-
row
>
<
el
-
col
:
span
=
"12"
>
...
...
@@ -105,8 +110,11 @@
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"获奖类别"
prop
=
"awardType"
>
<
el
-
input
v
-
model
=
"queryParams.awardType"
placeholder
=
"请输入获奖类别"
clearable
@
keyup
.
enter
.
native
=
"handleQuery"
/>
<
el
-
select
v
-
model
=
"form.awardType"
placeholder
=
"请选择"
style
=
"width: 100%;"
>
<
el
-
option
v
-
for
=
"dict in dict.type.project_research"
:
key
=
"dict.value"
:
label
=
"dict.label"
:
value
=
"dict.value"
>
<
/el-option
>
<
/el-select
>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
...
...
@@ -186,11 +194,11 @@
<
/template
>
<
script
>
// import
{
list
Honors
,
getHonors
,
delHonors
,
addHonors
,
updateHonors
}
from
"@/api/system/honor
s"
;
// import
{
list
Awards
,
getAwards
,
delAwards
,
addAwards
,
updateAwards
}
from
"@/api/system/award
s"
;
import
{
uploadImage
as
commonUpload
}
from
"@/api/common"
;
export
default
{
name
:
"
Honor
s"
,
dicts
:
[
"teaching_subjects"
,
'
award_categories
'
,
'awards_level'
,
'award_rank'
],
name
:
"
Award
s"
,
dicts
:
[
"teaching_subjects"
,
'
project_research
'
,
'awards_level'
,
'award_rank'
],
data
()
{
return
{
// 图片上传遮罩层
...
...
@@ -208,26 +216,26 @@ export default {
showSearch
:
true
,
// 总条数
total
:
0
,
//
综合荣誉
表格数据
honor
sList
:
[{
//
教师获奖
表格数据
award
sList
:
[{
id
:
1
,
sub
:
"语文"
,
awardType
:
"国家级"
,
awardRank
:
"国家级"
,
awardLevel
:
"国家级"
,
resultName
:
"成果名称"
,
userId
:
"1"
,
userName
:
"获奖人"
,
org
:
"主办单位"
,
awardTime
:
"2020-01-01"
,
remark
:
"备注"
,
pictureName
:
"证书图片名称"
,
pictureUrl
:
"证书图片地址"
,
createBy
:
"创建人"
,
createTime
:
"2020-01-01"
,
updateBy
:
"修改人"
,
updateTime
:
"2020-01-01"
,
delFlag
:
"0"
sub
:
1
,
awardType
:
1
,
awardRank
:
null
,
awardLevel
:
null
,
resultName
:
null
,
userId
:
null
,
userName
:
null
,
org
:
null
,
awardTime
:
null
,
remark
:
null
,
pictureName
:
null
,
pictureUrl
:
null
,
createBy
:
null
,
createTime
:
null
,
updateBy
:
null
,
updateTime
:
null
,
delFlag
:
null
}
],
// 弹出层标题
title
:
""
,
...
...
@@ -296,18 +304,15 @@ export default {
// this.getList();
}
,
methods
:
{
/** 查询
综合荣誉
列表 */
/** 查询
教师获奖
列表 */
getList
()
{
this
.
loading
=
true
;
list
Honor
s
(
this
.
queryParams
).
then
(
response
=>
{
this
.
honor
sList
=
response
.
rows
;
list
Award
s
(
this
.
queryParams
).
then
(
response
=>
{
this
.
award
sList
=
response
.
rows
;
this
.
total
=
response
.
total
;
this
.
loading
=
false
;
}
);
}
,
handleExamine
()
{
}
,
// 上传成功回调
handleAvatarSuccess
(
res
,
file
)
{
this
.
photoUrl
=
res
.
data
.
url
;
...
...
@@ -396,16 +401,16 @@ export default {
handleAdd
()
{
this
.
reset
();
this
.
open
=
true
;
this
.
title
=
"添加
综合荣誉
"
;
this
.
title
=
"添加
教师获奖
"
;
}
,
/** 修改按钮操作 */
handleUpdate
(
row
)
{
this
.
reset
();
this
.
open
=
true
;
const
id
=
row
.
id
||
this
.
ids
get
Honor
s
(
id
).
then
(
response
=>
{
get
Award
s
(
id
).
then
(
response
=>
{
this
.
form
=
response
.
data
;
this
.
title
=
"修改
综合荣誉
"
;
this
.
title
=
"修改
教师获奖
"
;
}
);
}
,
/** 提交按钮 */
...
...
@@ -413,13 +418,13 @@ export default {
this
.
$refs
[
"form"
].
validate
(
valid
=>
{
if
(
valid
)
{
if
(
this
.
form
.
id
!=
null
)
{
update
Honor
s
(
this
.
form
).
then
(
response
=>
{
update
Award
s
(
this
.
form
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"修改成功"
);
this
.
open
=
false
;
this
.
getList
();
}
);
}
else
{
add
Honor
s
(
this
.
form
).
then
(
response
=>
{
add
Award
s
(
this
.
form
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"新增成功"
);
this
.
open
=
false
;
this
.
getList
();
...
...
@@ -431,8 +436,8 @@ export default {
/** 删除按钮操作 */
handleDelete
(
row
)
{
const
ids
=
row
.
id
||
this
.
ids
;
this
.
$modal
.
confirm
(
'是否确认删除
综合荣誉
编号为"'
+
ids
+
'"的数据项?'
).
then
(
function
()
{
return
del
Honor
s
(
ids
);
this
.
$modal
.
confirm
(
'是否确认删除
教师获奖
编号为"'
+
ids
+
'"的数据项?'
).
then
(
function
()
{
return
del
Award
s
(
ids
);
}
).
then
(()
=>
{
this
.
getList
();
this
.
$modal
.
msgSuccess
(
"删除成功"
);
...
...
@@ -440,9 +445,9 @@ export default {
}
,
/** 导出按钮操作 */
handleExport
()
{
this
.
download
(
'system/
honor
s/export'
,
{
this
.
download
(
'system/
award
s/export'
,
{
...
this
.
queryParams
}
,
`
honor
s_${new Date().getTime()
}
.xlsx`
)
}
,
`
award
s_${new Date().getTime()
}
.xlsx`
)
}
}
}
;
...
...
ruoyi-ui/src/views/smartSchool/electronicArchives/professionalDevelopment/teacherAwards/components/SelectUser.vue
0 → 100644
View file @
314e1aee
<
template
>
<el-dialog
:visible
.
sync=
"openDialog"
:title=
"title"
:width=
"width"
@
close=
"dialogClose"
>
<!-- 模糊查询-->
<el-form
:model=
"form"
ref=
"form"
size=
"small"
inline
>
<el-form-item
prop=
"userName"
label=
"姓名"
>
<el-input
v-model
.
trim=
"form.userName"
placeholder=
"请输入姓名"
clearable
@
keyup
.
enter
.
native=
"search"
></el-input>
</el-form-item>
<el-form-item
prop=
"phone"
label=
"联系电话"
>
<el-input
v-model
.
trim=
"form.phone"
placeholder=
"请输入联系电话"
clearable
@
keyup
.
enter
.
native=
"search"
></el-input>
</el-form-item>
<el-form-item>
<el-button
@
click=
"search"
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
>
搜索
</el-button>
<el-button
@
click=
"reset"
icon=
"el-icon-refresh"
size=
"mini"
>
重置
</el-button>
</el-form-item>
</el-form>
<!-- 列表数据-->
<el-table
ref=
"tableList"
v-loading=
"loading"
:data=
"userList"
@
selection-change=
"selectionChange"
@
row-click=
"rowClick"
>
<el-table-column
type=
"selection"
align=
"center"
></el-table-column>
<el-table-column
key=
"userName"
prop=
"userName"
label=
"姓名"
align=
"center"
></el-table-column>
<el-table-column
key=
"phone"
prop=
"phone"
label=
"联系电话"
align=
"center"
></el-table-column>
</el-table>
<!-- 分页-->
<pagination
v-show=
"total > 0"
:total=
"total"
:limit
.
sync=
"form.pageSize"
:page
.
sync=
"form.pageNum"
@
pagination=
"search"
></pagination>
<!-- 底部-->
<div
slot=
"footer"
>
<el-button
:disabled=
"!selectUser"
@
click=
"submit"
type=
"primary"
size=
"small"
>
确 定
</el-button>
<el-button
@
click=
"quit"
size=
"small"
>
取 消
</el-button>
</div>
</el-dialog>
</
template
>
<
script
>
import
{
getUserList
}
from
"@/api/smartSchool/electronicArchives/professionalDevelopment/comprehensiveHonors"
;
export
default
{
name
:
"SelectUser"
,
dicts
:
[
'sys_user_sex'
],
props
:
{
open
:
{
type
:
Boolean
,
require
:
true
},
title
:
{
type
:
String
,
default
:
''
},
width
:
{
type
:
[
Number
,
String
],
default
:
'50%'
},
execute
:
{
type
:
[
String
]
},
// 选择级部、处室主任
id
:
{
type
:
[
Number
,
String
]
}
},
data
()
{
return
{
baseURL
:
process
.
env
.
VUE_APP_BASE_API
,
form
:
{
userName
:
''
,
phone
:
''
,
pageNum
:
1
,
pageSize
:
10
},
total
:
0
,
loading
:
false
,
userList
:
[],
selectUser
:
null
}
},
computed
:
{
openDialog
:
{
get
()
{
return
this
.
open
;
},
set
(
value
)
{
this
.
$emit
(
'update:open'
,
value
);
}
}
},
watch
:
{
open
(
value
)
{
if
(
value
)
{
this
.
$nextTick
(()
=>
{
this
.
reset
();
})
}
}
},
methods
:
{
/** 搜索(交给子组件维护,当然也可以把接口交给父组件处理) */
async
search
()
{
if
(
isNaN
(
Number
(
this
.
id
)))
{
console
.
error
(
'Invalid ID'
);
return
;
}
try
{
this
.
loading
=
true
;
const
response
=
await
this
[
this
.
execute
]({
applyOrgid
:
this
.
id
,
...
this
.
form
});
this
.
userList
=
response
.
rows
||
[];
this
.
total
=
response
.
total
;
this
.
loading
=
false
;
}
catch
(
exception
)
{
this
.
loading
=
false
;
throw
new
Error
(
exception
);
}
},
/** 重置表单 */
reset
()
{
this
.
form
=
{
teacherName
:
''
,
teacherTel
:
''
,
pageNum
:
1
,
pageSize
:
10
};
this
.
resetForm
(
'form'
);
this
.
search
();
},
/** 选项选中发生变化 */
selectionChange
(
selections
)
{
this
.
selectUser
=
selections
[
0
];
},
/** 点击选中、取消 */
rowClick
(
row
,
column
)
{
console
.
log
(
'row'
,
row
);
this
.
$refs
[
'tableList'
].
clearSelection
();
this
.
$refs
[
'tableList'
].
toggleRowSelection
(
row
,
true
);
},
/** 提交选中 */
submit
()
{
this
.
$emit
(
'select'
,
{
id
:
this
.
selectUser
.
userId
,
name
:
this
.
selectUser
.
userName
,
tel
:
this
.
selectUser
.
phone
});
this
.
quit
();
},
/** 取消 */
quit
()
{
this
.
openDialog
=
false
;
},
/** 分管领导、主要领导 */
leaderList
(
form
)
{
return
getUserList
(
form
);
},
dialogClose
()
{
this
.
userList
=
[]
}
}
}
</
script
>
<
style
scoped
>
.footer
{
display
:
flex
;
justify-content
:
center
;
margin-top
:
30px
;
}
.radius-image
{
border-radius
:
40px
;
}
</
style
>
ruoyi-ui/src/views/smartSchool/electronicArchives/professionalDevelopment/teacherAwards/index.vue
View file @
314e1aee
<
template
>
<div
class=
"app-container"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"
6
8px"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"
9
8px"
>
<el-form-item
label=
"学科"
prop=
"sub"
>
<el-select
v-model=
"
form.teachingSubject"
placeholder=
"请选择"
style=
"width: 100%
;"
>
<el-select
v-model=
"
queryParams.sub"
placeholder=
"请选择"
style=
"width: 220px
;"
>
<el-option
v-for=
"dict in dict.type.teaching_subjects"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"获奖级别"
prop=
"awardRank"
>
<el-select
v-model=
"
form.awardRank"
placeholder=
"请选择"
style=
"width: 100%
;"
>
<el-select
v-model=
"
queryParams.awardRank"
placeholder=
"请选择"
style=
"width: 220px
;"
>
<el-option
v-for=
"dict in dict.type.awards_level"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
...
...
@@ -33,9 +33,14 @@
<el-form-item
label=
"获奖人"
prop=
"userName"
>
<el-input
v-model=
"queryParams.userName"
placeholder=
"请输入获奖人"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"获奖时间"
prop=
"awardTime"
>
<el-date-picker
clearable
v-model=
"queryParams.awardTime"
type=
"date"
value-format=
"yyyy-MM-dd"
placeholder=
"请选择获奖时间"
>
<el-form-item
label=
"获奖开始时间"
prop=
"awardTime"
>
<el-date-picker
clearable
v-model=
"queryParams.startTime"
type=
"date"
value-format=
"yyyy-MM-dd"
placeholder=
"请选择"
>
</el-date-picker>
</el-form-item>
<el-form-item
label=
"获奖结束时间"
prop=
"awardTime"
>
<el-date-picker
clearable
v-model=
"queryParams.endTime"
type=
"date"
value-format=
"yyyy-MM-dd"
placeholder=
"请选择"
>
</el-date-picker>
</el-form-item>
...
...
@@ -67,11 +72,31 @@
<el-table
:data=
"awardsList"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"成长类型"
align=
"center"
prop=
"id"
/>
<el-table-column
label=
"学科"
align=
"center"
prop=
"sub"
/>
<el-table-column
label=
"获奖类别"
align=
"center"
prop=
"awardType"
/>
<el-table-column
label=
"获奖等级"
align=
"center"
prop=
"awardLevel"
/>
<el-table-column
label=
"获奖级别"
align=
"center"
prop=
"awardRank"
/>
<el-table-column
label=
"成长类型"
align=
"center"
>
<template>
<span>
教学获奖
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"学科"
align=
"center"
prop=
"sub"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.teaching_subjects"
:value=
"scope.row.sub"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"获奖类别"
align=
"center"
prop=
"awardType"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.award_categoriesjs"
:value=
"scope.row.awardType"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"获奖等级"
align=
"center"
prop=
"awardLevel"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.award_rank"
:value=
"scope.row.awardLevel"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"获奖级别"
align=
"center"
prop=
"awardRank"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.awards_level"
:value=
"scope.row.awardRank"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"教学获奖-成果名称"
align=
"center"
prop=
"resultName"
/>
<el-table-column
label=
"获奖人"
align=
"center"
prop=
"userName"
/>
<el-table-column
label=
"主办单位"
align=
"center"
prop=
"org"
/>
...
...
@@ -83,11 +108,13 @@
<
el
-
table
-
column
label
=
"操作"
align
=
"center"
class
-
name
=
"small-padding fixed-width"
>
<
template
slot
-
scope
=
"scope"
>
<
el
-
button
size
=
"mini"
type
=
"text"
icon
=
"el-icon-edit"
@
click
=
"handleUpdate(scope.row)"
v
-
hasPermi
=
"['system:honors:edit']"
>
修改
<
/el-button
>
v
-
hasPermi
=
"['system:honors:edit']"
v
-
if
=
"scope.row.auditState === '1' || scope.row.auditState === '2' || scope.row.auditState === '3'"
>
修改
<
/el-button
>
<
el
-
button
size
=
"mini"
type
=
"text"
icon
=
"el-icon-delete"
@
click
=
"handleDelete(scope.row)"
v
-
hasPermi
=
"['system:honors:remove']"
>
删除
<
/el-button
>
v
-
hasPermi
=
"['system:honors:remove']"
v
-
if
=
"scope.row.auditState === '1' || scope.row.auditState === '2' || scope.row.auditState === '3'"
>
删除
<
/el-button
>
<
el
-
button
size
=
"mini"
type
=
"text"
icon
=
"el-icon-s-check"
@
click
=
"handleExamine(scope.row)"
v
-
hasPermi
=
"['system:honors:remove']"
>
审核
<
/el-button
>
v
-
hasPermi
=
"['system:honors:remove']"
v
-
if
=
"scope.row.auditState === '1'"
>
审核
<
/el-button
>
<
/template
>
<
/el-table-column
>
<
/el-table
>
...
...
@@ -101,7 +128,7 @@
<
el
-
row
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"学科"
prop
=
"sub"
>
<
el
-
select
v
-
model
=
"form.
teachingSubject
"
placeholder
=
"请选择"
style
=
"width: 100%;"
>
<
el
-
select
v
-
model
=
"form.
sub
"
placeholder
=
"请选择"
style
=
"width: 100%;"
>
<
el
-
option
v
-
for
=
"dict in dict.type.teaching_subjects"
:
key
=
"dict.value"
:
label
=
"dict.label"
:
value
=
"dict.value"
>
<
/el-option
>
...
...
@@ -146,7 +173,9 @@
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"获奖人"
prop
=
"userName"
>
<
el
-
input
v
-
model
=
"form.userName"
placeholder
=
"请输入获奖人"
/>
<
el
-
input
v
-
model
=
"form.userName"
placeholder
=
"请选择分管领导"
@
input
=
"openSelect('选择分管领导', 'leaderList', 2)"
@
focus
=
"openSelect('选择分管领导', 'leaderList', 2)"
><
/el-input
>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
...
...
@@ -173,11 +202,12 @@
<
/el-row
>
<
el
-
row
>
<
el
-
col
:
span
=
"12"
class
=
"custom-margin"
>
<
el
-
form
-
item
label
=
"证书图片"
prop
=
"photo"
>
<
el
-
form
-
item
label
=
"证书图片"
prop
=
"pictureUrl"
:
rules
=
"[{ required: true, message: '证书图片不能为空', trigger: 'blur'
}
]"
>
<
el
-
upload
v
-
loading
=
"uploadLoading"
class
=
"avatar-uploader"
action
=
"#"
accept
=
"image/*"
:
show
-
file
-
list
=
"false"
:
on
-
success
=
"handleAvatarSuccess"
:
before
-
upload
=
"beforeAvatarUpload"
:
http
-
request
=
"uploadImage"
>
<
img
v
-
if
=
"form.p
hotoUrl"
:
src
=
"baseUrl + form.photo
Url"
<
img
v
-
if
=
"form.p
ictureUrl"
:
src
=
"baseUrl + form.picture
Url"
style
=
"max-width: 100%; max-height: 100%"
class
=
"avatar"
alt
=
""
/>
<
i
v
-
else
class
=
"el-icon-plus avatar-uploader-icon"
><
/i
>
<
/el-upload
>
...
...
@@ -189,18 +219,127 @@
<
el
-
button
type
=
"primary"
@
click
=
"submitForm"
>
确
定
<
/el-button
>
<
el
-
button
@
click
=
"cancel"
>
取
消
<
/el-button
>
<
/div
>
<
/el-dialog><!-- 审核综合荣誉对话框 --
>
<
el
-
dialog
title
=
"详细信息"
:
visible
.
sync
=
"look"
width
=
"1000px"
append
-
to
-
body
>
<
el
-
form
ref
=
"form"
:
model
=
"form"
:
rules
=
"rules"
label
-
width
=
"80px"
:
disabled
=
"isEdit"
>
<
el
-
row
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"学科"
prop
=
"sub"
>
<
el
-
select
v
-
model
=
"form.sub"
placeholder
=
"请选择"
style
=
"width: 100%;"
>
<
el
-
option
v
-
for
=
"dict in dict.type.teaching_subjects"
:
key
=
"dict.value"
:
label
=
"dict.label"
:
value
=
"dict.value"
>
<
/el-option
>
<
/el-select
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"获奖类别"
prop
=
"awardType"
>
<
el
-
input
v
-
model
=
"form.awardType"
placeholder
=
"请输入获奖类别"
clearable
@
keyup
.
enter
.
native
=
"handleQuery"
/>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
<
el
-
row
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"获奖级别"
prop
=
"awardRank"
>
<
el
-
select
v
-
model
=
"form.awardRank"
placeholder
=
"请选择"
style
=
"width: 100%;"
>
<
el
-
option
v
-
for
=
"dict in dict.type.awards_level"
:
key
=
"dict.value"
:
label
=
"dict.label"
:
value
=
"dict.value"
>
<
/el-option
>
<
/el-select
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"获奖等级"
prop
=
"awardLevel"
>
<
el
-
select
v
-
model
=
"form.awardLevel"
placeholder
=
"请选择"
style
=
"width: 100%;"
>
<
el
-
option
v
-
for
=
"dict in dict.type.award_rank"
:
key
=
"dict.value"
:
label
=
"dict.label"
:
value
=
"dict.value"
>
<
/el-option
>
<
/el-select
>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
<
el
-
row
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"成果名称"
prop
=
"resultName"
>
<
el
-
input
v
-
model
=
"form.resultName"
placeholder
=
"请输入成果名称"
/>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"获奖人"
prop
=
"userName"
>
<
el
-
input
v
-
model
=
"form.userName"
placeholder
=
"请选择分管领导"
@
input
=
"openSelect('选择分管领导', 'leaderList', 2)"
@
focus
=
"openSelect('选择分管领导', 'leaderList', 2)"
><
/el-input
>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
<
el
-
row
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"主办单位"
prop
=
"org"
>
<
el
-
input
v
-
model
=
"form.org"
placeholder
=
"请输入主办单位"
/>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"获奖时间"
prop
=
"awardTime"
>
<
el
-
date
-
picker
clearable
v
-
model
=
"form.awardTime"
type
=
"date"
value
-
format
=
"yyyy-MM-dd"
placeholder
=
"请选择获奖时间"
style
=
"width: 100%;"
>
<
/el-date-picker
>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
<
el
-
row
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"备注"
prop
=
"remark"
>
<
el
-
input
v
-
model
=
"form.remark"
placeholder
=
"请输入备注"
/>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
<
el
-
row
>
<
el
-
col
:
span
=
"12"
class
=
"custom-margin"
>
<
el
-
form
-
item
label
=
"证书图片"
prop
=
"pictureUrl"
:
rules
=
"[{ required: true, message: '证书图片不能为空', trigger: 'blur'
}
]"
>
<
el
-
upload
v
-
loading
=
"uploadLoading"
class
=
"avatar-uploader"
action
=
"#"
accept
=
"image/*"
:
show
-
file
-
list
=
"false"
:
on
-
success
=
"handleAvatarSuccess"
:
before
-
upload
=
"beforeAvatarUpload"
:
http
-
request
=
"uploadImage"
>
<
img
v
-
if
=
"form.pictureUrl"
:
src
=
"baseUrl + form.pictureUrl"
style
=
"max-width: 100%; max-height: 100%"
class
=
"avatar"
alt
=
""
/>
<
i
v
-
else
class
=
"el-icon-plus avatar-uploader-icon"
><
/i
>
<
/el-upload
>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
<
/el-form
>
<
div
slot
=
"footer"
class
=
"dialog-footer"
style
=
"display: flex;justify-content: center;"
>
<
el
-
button
@
click
=
"handleAgree"
type
=
"primary"
size
=
"small"
>
同意
<
/el-button
>
<
el
-
button
@
click
=
"handleDisagree"
type
=
"danger"
size
=
"small"
>
不同意
<
/el-button
>
<
/div
>
<
/el-dialog
>
<
SelectUser
:
id
=
"selectHandles.id"
:
open
.
sync
=
"selectHandles.open"
:
title
=
"selectHandles.title"
:
width
=
"selectHandles.width"
:
execute
=
"selectHandles.method"
@
select
=
"selectUser"
><
/SelectUser
>
<
/div
>
<
/template
>
<
script
>
// import
{
listAwards
,
getAwards
,
delAwards
,
addAwards
,
updateAwards
}
from
"@/api/system/a
wards"
;
import
{
listAwards
,
getAwards
,
delAwards
,
addAwards
,
updateAwards
,
audit
}
from
"@/api/smartSchool/electronicArchives/professionalDevelopment/teacherA
wards"
;
import
{
uploadImage
as
commonUpload
}
from
"@/api/common"
;
import
SelectUser
from
"./components/SelectUser"
;
export
default
{
name
:
"Awards"
,
components
:
{
SelectUser
,
}
,
dicts
:
[
"teaching_subjects"
,
'award_categoriesjs'
,
'awards_level'
,
'award_rank'
],
data
()
{
return
{
// 选择对应处理人
selectHandles
:
{
id
:
null
,
open
:
false
,
title
:
''
,
width
:
'50%'
,
method
:
null
,
type
:
null
// 处理类型: 1 级部/处室; 2 分管; 3 主管
}
,
// 图片上传遮罩层
uploadLoading
:
false
,
baseUrl
:
[
process
.
env
.
VUE_APP_BASE_API
],
...
...
@@ -217,26 +356,7 @@ export default {
// 总条数
total
:
0
,
// 教师获奖表格数据
awardsList
:
[{
id
:
1
,
sub
:
1
,
awardType
:
1
,
awardRank
:
null
,
awardLevel
:
null
,
resultName
:
null
,
userId
:
null
,
userName
:
null
,
org
:
null
,
awardTime
:
null
,
remark
:
null
,
pictureName
:
null
,
pictureUrl
:
null
,
createBy
:
null
,
createTime
:
null
,
updateBy
:
null
,
updateTime
:
null
,
delFlag
:
null
}
],
awardsList
:
[],
// 弹出层标题
title
:
""
,
// 是否显示弹出层
...
...
@@ -294,14 +414,12 @@ export default {
pictureUrl
:
[
{
required
:
true
,
message
:
"证书图片地址不能为空"
,
trigger
:
"blur"
}
],
delFlag
:
[
{
required
:
true
,
message
:
"删除状态不能为空"
,
trigger
:
"blur"
}
]
}
}
;
}
,
created
()
{
//
this.getList();
this
.
getList
();
}
,
methods
:
{
/** 查询教师获奖列表 */
...
...
@@ -313,9 +431,81 @@ export default {
this
.
loading
=
false
;
}
);
}
,
// 选择处理人:打开对话框
openSelect
(
title
,
method
,
type
)
{
console
.
log
(
'form.userName'
,
this
.
form
.
userName
);
if
(
this
.
form
.
userName
)
{
console
.
log
(
'有值'
,
this
.
form
.
userName
==
""
);
}
else
{
console
.
log
(
'没值'
,
this
.
form
.
userName
);
this
.
selectHandles
.
open
=
true
;
this
.
selectHandles
.
title
=
title
;
this
.
selectHandles
.
method
=
method
;
this
.
selectHandles
.
type
=
type
;
}
}
,
// 选择处理人
selectUser
(
select
)
{
this
.
$set
(
this
.
form
,
`userName${this.selectHandles.type
}
`
,
select
.
name
);
console
.
log
(
select
.
name
);
this
.
$set
(
this
.
form
,
`userId${this.selectHandles.type
}
`
,
select
.
id
);
console
.
log
(
select
.
id
);
// 设置顶层的 userName 和 userId 字段
this
.
form
.
userName
=
select
.
name
;
console
.
log
(
124
,
this
.
form
.
userName
);
console
.
log
(
select
);
this
.
form
.
userId
=
select
.
id
;
console
.
log
(
this
.
form
.
userId
,
'this.form.userId'
);
// 重新赋值选中的 id
this
.
selectUser
.
id
=
select
.
id
;
}
,
//审核
handleExamine
(
row
)
{
const
id
=
row
.
id
||
this
.
ids
;
getHonors
(
id
).
then
(
response
=>
{
this
.
look
=
true
;
this
.
isEdit
=
true
,
this
.
form
=
response
.
data
;
this
.
pictureUrl
=
this
.
pev
+
this
.
form
.
pictureUrl
this
.
title
=
"修改综合荣誉"
;
}
);
}
,
// 同意
handleAgree
()
{
const
params
=
{
id
:
this
.
form
.
id
,
auditState
:
'2'
// 表示同意
}
;
audit
(
params
).
then
(({
code
}
)
=>
{
console
.
log
(
this
.
form
,
'this.form'
);
if
(
code
==
200
)
{
this
.
$modal
.
msgSuccess
(
'操作成功'
)
this
.
look
=
false
;
this
.
getList
()
}
}
)
}
,
// 不同意
handleDisagree
()
{
const
params
=
{
id
:
this
.
form
.
id
,
auditState
:
'3'
// 表示不同意
}
;
audit
(
params
).
then
(({
code
}
)
=>
{
console
.
log
(
this
.
form
,
'this.form'
);
if
(
code
==
200
)
{
this
.
$modal
.
msgSuccess
(
'操作成功'
)
this
.
look
=
false
this
.
getList
()
}
}
)
}
,
// 上传成功回调
handleAvatarSuccess
(
res
,
file
)
{
this
.
p
hoto
Url
=
res
.
data
.
url
;
this
.
p
icture
Url
=
res
.
data
.
url
;
this
.
commonUpload
(
file
);
}
,
...
...
@@ -345,8 +535,8 @@ export default {
.
then
((
response
)
=>
{
this
.
uploadLoading
=
false
;
this
.
$modal
.
msgSuccess
(
"上传成功"
);
this
.
p
hoto
Url
=
this
.
pev
+
response
.
url
;
this
.
form
.
p
hoto
Url
=
response
.
url
;
this
.
p
icture
Url
=
this
.
pev
+
response
.
url
;
this
.
form
.
p
icture
Url
=
response
.
url
;
}
)
.
catch
((
error
)
=>
{
this
.
uploadLoading
=
false
;
...
...
@@ -416,6 +606,7 @@ export default {
/** 提交按钮 */
submitForm
()
{
this
.
$refs
[
"form"
].
validate
(
valid
=>
{
this
.
form
.
auditState
=
'2'
;
if
(
valid
)
{
if
(
this
.
form
.
id
!=
null
)
{
updateAwards
(
this
.
form
).
then
(
response
=>
{
...
...
@@ -445,9 +636,9 @@ export default {
}
,
/** 导出按钮操作 */
handleExport
()
{
this
.
download
(
'
system/a
wards/export'
,
{
this
.
download
(
'
/school/teacherA
wards/export'
,
{
...
this
.
queryParams
}
,
`
awards
_${new Date().getTime()
}
.xlsx`
)
}
,
`
教师获奖
_${new Date().getTime()
}
.xlsx`
)
}
}
}
;
...
...
ruoyi-ui/src/views/smartSchool/electronicArchives/professionalDevelopment/teachingAchievements/index.vue
View file @
314e1aee
<
template
>
<div
class=
"app-container"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"
69
px"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"
100
px"
>
<el-form-item
label=
"姓名"
prop=
"userName"
>
<el-input
v-model=
"queryParams.userName"
placeholder=
"请输入"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
style=
"width: 200px;"
/>
<el-input
v-model=
"queryParams.userName"
placeholder=
"请输入"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"学年"
prop=
"year"
>
<el-input
v-model=
"queryParams.year"
placeholder=
"请输入"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
<el-form-item
label=
"学年"
prop=
"schoolYear"
>
<el-select
v-model=
"queryParams.schoolYear"
placeholder=
"请选择"
style=
"width: 190px;"
>
<el-option
v-for=
"dict in dict.type.yearda"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"学期"
prop=
"semster"
>
<el-form-item
label=
"学期"
prop=
"sem
e
ster"
>
<el-select
v-model=
"queryParams.semster"
placeholder=
"请选择"
>
<el-option
v-for=
"dict in dict.type.semester_jsdzda"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"届别"
prop=
"rank"
>
<el-input
v-model=
"queryParams.rank"
placeholder=
"请输入"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
<el-form-item
label=
"届别"
prop=
"year"
>
<el-select
v-model=
"queryParams.year"
placeholder=
"请选择"
>
<el-option
v-for=
"dict in dict.type.rankda"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"年级"
prop=
"grade"
>
<el-select
v-model=
"queryParams.grade"
placeholder=
"请选择"
style=
"width: 100%;"
>
...
...
@@ -25,26 +30,31 @@
</el-select>
</el-form-item>
<el-form-item
label=
"学科"
prop=
"sub"
>
<el-select
v-model=
"form.
teachingSubject
"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-select
v-model=
"form.
sub
"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-option
v-for=
"dict in dict.type.teaching_subjects"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"考试
时间"
prop=
"exam
Time"
>
<el-date-picker
clearable
v-model=
"queryParams.
exam
Time"
type=
"date"
value-format=
"yyyy-MM-dd"
placeholder=
"请选择"
style=
"width:
20
0px;"
>
<el-form-item
label=
"考试
开始时间"
prop=
"start
Time"
>
<el-date-picker
clearable
v-model=
"queryParams.
start
Time"
type=
"date"
value-format=
"yyyy-MM-dd"
placeholder=
"请选择"
style=
"width:
19
0px;"
>
</el-date-picker>
</el-form-item>
<el-form-item
label=
"考试类型"
prop=
"type"
>
<el-select
v-model=
"queryParams.type"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-form-item
label=
"考试结束时间"
prop=
"endTime"
>
<el-date-picker
clearable
v-model=
"queryParams.endTime"
type=
"date"
value-format=
"yyyy-MM-dd"
placeholder=
"请选择"
style=
"width: 190px;"
>
</el-date-picker>
</el-form-item>
<el-form-item
label=
"考试类型"
prop=
"examType"
>
<el-select
v-model=
"queryParams.examType"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-option
v-for=
"dict in dict.type.exam_typeda"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"班级"
prop=
"class"
>
<el-input
v-model=
"queryParams.class"
placeholder=
"请输入班级"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
<el-form-item
label=
"班级"
prop=
"class
Name
"
>
<el-input
v-model=
"queryParams.class
Name
"
placeholder=
"请输入班级"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"班级类型"
prop=
"classType"
>
<el-select
v-model=
"queryParams.classType"
placeholder=
"请选择"
style=
"width: 100%;"
>
...
...
@@ -91,19 +101,45 @@
<el-table
:data=
"achievementsList"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"学年"
align=
"center"
prop=
"schoolYear"
/>
<el-table-column
label=
"学期"
align=
"center"
prop=
"semester"
/>
<el-table-column
label=
"学期"
align=
"center"
prop=
"semester"
>
<template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.semester_jsdzda"
:value=
"scope.row.semester"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"考试时间"
align=
"center"
prop=
"examTime"
width=
"180"
>
<
template
slot-scope=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
examTime
,
'{y
}
-{m
}
-{d
}
'
)
}}
<
/span
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"考试类型"
align
=
"center"
prop
=
"examType"
/>
<
el
-
table
-
column
label
=
"考试类型"
align
=
"center"
prop
=
"examType"
>
<
template
slot
-
scope
=
"scope"
>
<
dict
-
tag
:
options
=
"dict.type.exam_typeda"
:
value
=
"scope.row.examType"
/>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"届别"
align
=
"center"
prop
=
"year"
/>
<
el
-
table
-
column
label
=
"年级"
align
=
"center"
prop
=
"grade"
/>
<
el
-
table
-
column
label
=
"年级"
align
=
"center"
prop
=
"grade"
>
<
template
slot
-
scope
=
"scope"
>
<
dict
-
tag
:
options
=
"dict.type.grade_da"
:
value
=
"scope.row.grade"
/>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"姓名"
align
=
"center"
prop
=
"userName"
/>
<
el
-
table
-
column
label
=
"学科"
align
=
"center"
prop
=
"sub"
/>
<
el
-
table
-
column
label
=
"班级"
align
=
"center"
prop
=
"class"
/>
<
el
-
table
-
column
label
=
"班级类型"
align
=
"center"
prop
=
"classType"
/>
<
el
-
table
-
column
label
=
"学科"
align
=
"center"
prop
=
"sub"
>
<
template
slot
-
scope
=
"scope"
>
<
dict
-
tag
:
options
=
"dict.type.teaching_subjects"
:
value
=
"scope.row.sub"
/>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"班级"
align
=
"center"
prop
=
"className"
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"班级类型"
align
=
"center"
>
<
template
slot
-
scope
=
"scope"
>
<
span
v
-
if
=
"getSelectedTypes(scope.row.classType).length > 0"
>
<
span
v
-
for
=
"(option, index) in getSelectedTypes(scope.row.classType)"
:
key
=
"index"
>
{{
option
.
label
}}
<
span
v
-
if
=
"index !== getSelectedTypes(scope.row.classType).length - 1"
>
,
<
/span
>
<
/span
>
<
/span
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"考核分"
align
=
"center"
prop
=
"assessmentScore"
/>
<
el
-
table
-
column
label
=
"操作"
align
=
"center"
class
-
name
=
"small-padding fixed-width"
>
<
template
slot
-
scope
=
"scope"
>
...
...
@@ -117,19 +153,44 @@
<
pagination
v
-
show
=
"total > 0"
:
total
=
"total"
:
page
.
sync
=
"queryParams.pageNum"
:
limit
.
sync
=
"queryParams.pageSize"
@
pagination
=
"getList"
/>
<
el
-
dialog
:
title
=
"title"
:
visible
.
sync
=
"uploadOpen"
width
=
"520px"
append
-
to
-
body
inline
@
close
=
"cancel"
>
<
el
-
form
ref
=
"uploadForm"
:
model
=
"uploadForm"
:
rules
=
"rules"
label
-
width
=
"70px"
>
<
el
-
form
-
item
prop
=
"dataUrl"
>
<
el
-
upload
ref
=
"upload"
:
limit
=
"1"
accept
=
".xlsx, .xls"
:
headers
=
"upload.headers"
:
action
=
"upload.url + '?updateSupport=' + upload.updateSupport"
:
disabled
=
"upload.isUploading"
:
on
-
progress
=
"handleFileUploadProgress"
:
on
-
success
=
"handleFileSuccess"
:
auto
-
upload
=
"false"
drag
>
<
i
class
=
"el-icon-upload"
><
/i
>
<
div
class
=
"el-upload__text"
>
将文件拖到此处,或
<
em
>
点击上传
<
/em></
div
>
<
div
class
=
"el-upload__tip text-center"
slot
=
"tip"
>
<
span
>
仅允许导入
xls
、
xlsx
格式文件。
<
/span
>
<
el
-
link
type
=
"primary"
:
underline
=
"false"
style
=
"font-size: 12px; vertical-align: baseline"
@
click
=
"importTemplate"
>
下载模板
<
/el-link
>
<
/div
>
<
/el-upload
>
<
/el-form-item
>
<
/el-form
>
<
div
slot
=
"footer"
class
=
"dialog-footer"
>
<
el
-
button
type
=
"primary"
@
click
=
"submitFileForm"
>
确
定
<
/el-button
>
<
el
-
button
@
click
=
"cancelFile"
>
取
消
<
/el-button
>
<
/div
>
<
/el-dialog
>
<!--
添加或修改教学成绩对话框
-->
<
el
-
dialog
:
title
=
"title"
:
visible
.
sync
=
"open"
width
=
"1000px"
append
-
to
-
body
>
<
el
-
form
ref
=
"form"
:
model
=
"form"
:
rules
=
"rules"
label
-
width
=
"80px"
>
<
el
-
row
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"学年"
prop
=
"year"
>
<
el
-
input
v
-
model
=
"form.year"
placeholder
=
"请输入"
clearable
@
keyup
.
enter
.
native
=
"handleQuery"
/>
<
el
-
form
-
item
label
=
"学年"
prop
=
"schoolYear"
>
<
el
-
select
v
-
model
=
"form.schoolYear"
placeholder
=
"请选择"
style
=
"width: 100%;"
>
<
el
-
option
v
-
for
=
"dict in dict.type.yearda"
:
key
=
"dict.value"
:
label
=
"dict.label"
:
value
=
"dict.value"
>
<
/el-option
>
<
/el-select
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"学期"
prop
=
"semster"
>
<
el
-
select
v
-
model
=
"form.semster"
placeholder
=
"请选择"
style
=
"width: 100%;"
>
<
el
-
form
-
item
label
=
"学期"
prop
=
"sem
e
ster"
>
<
el
-
select
v
-
model
=
"form.sem
e
ster"
placeholder
=
"请选择"
style
=
"width: 100%;"
>
<
el
-
option
v
-
for
=
"dict in dict.type.semester_jsdzda"
:
key
=
"dict.value"
:
label
=
"dict.label"
:
value
=
"dict.value"
><
/el-option
>
<
/el-select
>
...
...
@@ -145,10 +206,11 @@
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"考试类型"
prop
=
"
t
ype"
>
<
el
-
select
v
-
model
=
"form.
t
ype"
placeholder
=
"请选择"
style
=
"width: 100%;"
>
<
el
-
form
-
item
label
=
"考试类型"
prop
=
"
examT
ype"
>
<
el
-
select
v
-
model
=
"form.
examT
ype"
placeholder
=
"请选择"
style
=
"width: 100%;"
>
<
el
-
option
v
-
for
=
"dict in dict.type.exam_typeda"
:
key
=
"dict.value"
:
label
=
"dict.label"
:
value
=
"dict.value"
><
/el-option
>
:
value
=
"dict.value"
>
<
/el-option
>
<
/el-select
>
<
/el-form-item
>
<
/el-col
>
...
...
@@ -156,14 +218,19 @@
<
el
-
row
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"届别"
prop
=
"year"
>
<
el
-
input
v
-
model
=
"form.year"
placeholder
=
"请输入"
clearable
@
keyup
.
enter
.
native
=
"handleQuery"
/>
<
el
-
select
v
-
model
=
"form.year"
placeholder
=
"请选择"
style
=
"width: 100%;"
>
<
el
-
option
v
-
for
=
"dict in dict.type.rankda"
:
key
=
"dict.value"
:
label
=
"dict.label"
:
value
=
"dict.value"
>
<
/el-option
>
<
/el-select
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"年级"
prop
=
"grade"
>
<
el
-
select
v
-
model
=
"form.grade"
placeholder
=
"请选择"
style
=
"width: 100%;"
>
<
el
-
option
v
-
for
=
"dict in dict.type.grade_da"
:
key
=
"dict.value"
:
label
=
"dict.label"
:
value
=
"dict.value"
><
/el-option
>
:
value
=
"dict.value"
>
<
/el-option
>
<
/el-select
>
<
/el-form-item
>
<
/el-col
>
...
...
@@ -191,15 +258,15 @@
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"班级"
prop
=
"class"
>
<
el
-
input
v
-
model
=
"form.class"
placeholder
=
"请输入班级"
/>
<
el
-
form
-
item
label
=
"班级"
prop
=
"class
Name
"
>
<
el
-
input
v
-
model
=
"form.class
Name
"
placeholder
=
"请输入班级"
/>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
<
el
-
row
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"班级类型"
prop
=
"classType"
>
<
el
-
select
v
-
model
=
"form.classType"
placeholder
=
"请选择"
style
=
"width: 100%;"
>
<
el
-
select
v
-
model
=
"form.classType"
multiple
placeholder
=
"请选择"
style
=
"width: 100%;"
>
<
el
-
option
v
-
for
=
"dict in dict.type.class_type"
:
key
=
"dict.value"
:
label
=
"dict.label"
:
value
=
"dict.value"
>
<
/el-option
>
...
...
@@ -208,7 +275,7 @@
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"考核分"
prop
=
"assessmentScore"
>
<
el
-
input
v
-
model
=
"form.assessmentScore"
placeholder
=
"请输入考核分"
/>
<
el
-
input
v
-
model
=
"form.assessmentScore"
placeholder
=
"请输入考核分"
type
=
"number"
/>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
...
...
@@ -225,13 +292,34 @@
<
/template
>
<
script
>
// import
{
listAchievements
,
getAchievements
,
delAchievements
,
addAchievements
,
updateAchievements
}
from
"@/api/system/a
chievements"
;
import
{
listAchievements
,
getAchievements
,
delAchievements
,
addAchievements
,
updateAchievements
}
from
"@/api/smartSchool/electronicArchives/professionalDevelopment/teachingA
chievements"
;
import
{
checkIdcard
}
from
"@/utils/utilLibrary/validate"
;
import
{
getToken
}
from
'@/utils/auth'
export
default
{
name
:
"Achievements"
,
dicts
:
[
"teaching_subjects"
,
'semester_jsdzda'
,
'exam_typeda'
,
'grade_da'
,
'class_type'
],
dicts
:
[
"teaching_subjects"
,
'semester_jsdzda'
,
'exam_typeda'
,
'grade_da'
,
'class_type'
,
'yearda'
,
'rankda'
],
data
()
{
return
{
uploadOpen
:
false
,
upload
:
{
// 是否显示弹出层(用户导入)
open
:
false
,
// 弹出层标题(用户导入)
title
:
""
,
// 是否禁用上传
isUploading
:
false
,
// 是否更新已经存在的用户数据
updateSupport
:
0
,
// 设置上传的请求头部
headers
:
{
Authorization
:
"Bearer "
+
getToken
()
}
,
// 上传的地址
url
:
process
.
env
.
VUE_APP_BASE_API
+
"/system/achievements/importData"
,
}
,
uploadForm
:
{
}
,
// 遮罩层
loading
:
true
,
// 选中数组
...
...
@@ -246,9 +334,7 @@ export default {
total
:
0
,
// 教学成绩表格数据
achievementsList
:
[
{
year
:
2015
}
],
// 弹出层标题
title
:
""
,
...
...
@@ -258,19 +344,18 @@ export default {
queryParams
:
{
pageNum
:
1
,
pageSize
:
10
,
schoolYear
:
null
,
semester
:
null
,
examTime
:
null
,
examType
:
null
,
year
:
null
,
grade
:
null
,
userId
:
null
,
userName
:
null
,
idCard
:
null
,
sub
:
null
,
class
:
null
,
classType
:
null
,
assessmentScore
:
null
,
userName
:
""
,
schoolYear
:
""
,
semester
:
""
,
year
:
""
,
grade
:
""
,
sub
:
""
,
startTime
:
""
,
endTime
:
""
,
examType
:
""
,
className
:
""
,
classType
:
""
,
assessmentScore
:
""
,
}
,
// 表单参数
form
:
{
}
,
...
...
@@ -304,7 +389,7 @@ export default {
sub
:
[
{
required
:
true
,
message
:
"学科不能为空"
,
trigger
:
"change"
}
],
class
:
[
class
Name
:
[
{
required
:
true
,
message
:
"班级不能为空"
,
trigger
:
"blur"
}
],
classType
:
[
...
...
@@ -320,7 +405,7 @@ export default {
}
;
}
,
created
()
{
//
this.getList();
this
.
getList
();
}
,
methods
:
{
/** 查询教学成绩列表 */
...
...
@@ -351,26 +436,75 @@ export default {
userName
:
null
,
idCard
:
null
,
sub
:
null
,
class
:
null
,
class
Name
:
null
,
classType
:
null
,
assessmentScore
:
null
,
remark
:
null
,
createBy
:
null
,
createTime
:
null
,
updateBy
:
null
,
updateTime
:
null
,
delFlag
:
null
}
;
this
.
resetForm
(
"form"
);
}
,
// 提交上传文件
submitFileForm
()
{
this
.
$refs
.
upload
.
submit
()
}
,
//下载模版
importTemplate
()
{
this
.
download
(
"/system/achievements/importTemplate"
,
{
}
,
`教学成绩_${Date.now()
}
.xlsx`
);
}
,
/** 搜索按钮操作 */
handleQuery
()
{
this
.
queryParams
.
pageNum
=
1
;
this
.
getList
();
}
,
getSelectedTypes
(
classType
)
{
return
this
.
dict
.
type
.
class_type
.
filter
(
option
=>
classType
.
split
(
','
).
includes
(
option
.
value
.
toString
()));
}
,
/** 导入按钮操作 */
handleImport
(
row
)
{
this
.
reset
();
this
.
title
=
"导入"
this
.
uploadOpen
=
true
}
,
handleFileUploadProgress
(
event
,
file
,
fileList
)
{
this
.
upload
.
isUploading
=
true
;
// console.log(event, file, fileList);
}
,
// 文件上传成功处理
handleFileSuccess
(
response
,
file
,
fileList
)
{
this
.
uploadOpen
=
false
this
.
upload
.
isUploading
=
false
this
.
$refs
.
upload
.
clearFiles
()
this
.
$alert
(
"<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>"
+
response
.
msg
+
'</div>'
,
'导入结果'
,
{
dangerouslyUseHTMLString
:
true
}
)
this
.
getList
()
}
,
cancelFile
()
{
this
.
uploadOpen
=
false
this
.
upload
.
isUploading
=
false
this
.
$refs
.
upload
.
clearFiles
()
}
,
/** 重置按钮操作 */
resetQuery
()
{
this
.
resetForm
(
"queryForm"
);
this
.
queryParams
=
{
pageNum
:
1
,
pageSize
:
10
,
userName
:
""
,
schoolYear
:
""
,
semester
:
""
,
year
:
""
,
grade
:
""
,
sub
:
""
,
startTime
:
""
,
endTime
:
""
,
examType
:
""
,
className
:
""
,
classType
:
""
,
assessmentScore
:
""
,
}
,
this
.
resetForm
(
"queryParams"
);
this
.
handleQuery
();
}
,
// 多选框选中数据
...
...
@@ -392,21 +526,24 @@ export default {
const
id
=
row
.
id
||
this
.
ids
getAchievements
(
id
).
then
(
response
=>
{
this
.
form
=
response
.
data
;
this
.
form
.
classType
=
this
.
form
.
classType
.
split
(
','
);
this
.
title
=
"修改教学成绩"
;
}
);
}
,
/** 提交按钮 */
submitForm
()
{
this
.
$refs
[
"form"
].
validate
(
valid
=>
{
const
classTypeStr
=
this
.
form
.
classType
.
join
(
','
);
console
.
log
(
classTypeStr
);
// 输出转换后的字符串
if
(
valid
)
{
if
(
this
.
form
.
id
!=
null
)
{
updateAchievements
(
this
.
form
).
then
(
response
=>
{
updateAchievements
(
{
...
this
.
form
,
classType
:
classTypeStr
}
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"修改成功"
);
this
.
open
=
false
;
this
.
getList
();
}
);
}
else
{
addAchievements
(
this
.
form
).
then
(
response
=>
{
addAchievements
(
{
...
this
.
form
,
classType
:
classTypeStr
}
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"新增成功"
);
this
.
open
=
false
;
this
.
getList
();
...
...
@@ -427,9 +564,9 @@ export default {
}
,
/** 导出按钮操作 */
handleExport
()
{
this
.
download
(
'system/achievements/export'
,
{
this
.
download
(
'
/
system/achievements/export'
,
{
...
this
.
queryParams
}
,
`
achievements_
${new Date().getTime()
}
.xlsx`
)
}
,
`
教学成绩
${new Date().getTime()
}
.xlsx`
)
}
}
}
;
...
...
ruoyi-ui/src/views/smartSchool/electronicArchives/professionalDevelopment/teamAward/index.vue
View file @
314e1aee
...
...
@@ -2,25 +2,29 @@
<div
class=
"app-container"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
<el-form-item
label=
"学科"
prop=
"sub"
>
<el-select
v-model=
"
queryParams
.teachingSubject"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-select
v-model=
"
form
.teachingSubject"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-option
v-for=
"dict in dict.type.teaching_subjects"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"获奖类别"
prop=
"awardType"
>
<el-input
v-model=
"queryParams.awardType"
placeholder=
"请输入获奖类别"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"获奖级别"
prop=
"awardRank"
>
<el-select
v-model=
"
queryParams
.awardRank"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-select
v-model=
"
form
.awardRank"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-option
v-for=
"dict in dict.type.awards_level"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"获奖类别"
prop=
"awardType"
>
<el-select
v-model=
"form.awardType"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-option
v-for=
"dict in dict.type.award_categoriesjs"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"获奖等级"
prop=
"awardLevel"
>
<el-select
v-model=
"
queryParams
.awardLevel"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-select
v-model=
"
form
.awardLevel"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-option
v-for=
"dict in dict.type.award_rank"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
...
...
@@ -34,6 +38,7 @@
placeholder=
"请选择获奖时间"
>
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"handleQuery"
>
搜索
</el-button>
<el-button
icon=
"el-icon-refresh"
size=
"mini"
@
click=
"resetQuery"
>
重置
</el-button>
...
...
@@ -43,31 +48,31 @@
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-col
:span=
"1.5"
>
<el-button
type=
"primary"
plain
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAdd"
v-hasPermi=
"['system:
honor
s:add']"
>
新增
</el-button>
v-hasPermi=
"['system:
award
s:add']"
>
新增
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"success"
plain
icon=
"el-icon-edit"
size=
"mini"
:disabled=
"single"
@
click=
"handleUpdate"
v-hasPermi=
"['system:
honor
s:edit']"
>
修改
</el-button>
v-hasPermi=
"['system:
award
s:edit']"
>
修改
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"danger"
plain
icon=
"el-icon-delete"
size=
"mini"
:disabled=
"multiple"
@
click=
"handleDelete"
v-hasPermi=
"['system:
honor
s:remove']"
>
删除
</el-button>
v-hasPermi=
"['system:
award
s:remove']"
>
删除
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"warning"
plain
icon=
"el-icon-download"
size=
"mini"
@
click=
"handleExport"
v-hasPermi=
"['system:
honor
s:export']"
>
导出
</el-button>
v-hasPermi=
"['system:
award
s:export']"
>
导出
</el-button>
</el-col>
<right-toolbar
:showSearch
.
sync=
"showSearch"
@
queryTable=
"getList"
></right-toolbar>
</el-row>
<el-table
:data=
"
honor
sList"
@
selection-change=
"handleSelectionChange"
>
<el-table
:data=
"
award
sList"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"成长类型"
align=
"center"
prop=
"id"
/>
<el-table-column
label=
"学科"
align=
"center"
prop=
"sub"
/>
<el-table-column
label=
"获奖类
型
"
align=
"center"
prop=
"awardType"
/>
<el-table-column
label=
"获奖类
别
"
align=
"center"
prop=
"awardType"
/>
<el-table-column
label=
"获奖等级"
align=
"center"
prop=
"awardLevel"
/>
<el-table-column
label=
"获奖级别"
align=
"center"
prop=
"awardRank"
/>
<el-table-column
label=
"
综合荣誉
-成果名称"
align=
"center"
prop=
"resultName"
/>
<el-table-column
label=
"
教学获奖
-成果名称"
align=
"center"
prop=
"resultName"
/>
<el-table-column
label=
"获奖人"
align=
"center"
prop=
"userName"
/>
<el-table-column
label=
"主办单位"
align=
"center"
prop=
"org"
/>
<el-table-column
label=
"获奖时间"
align=
"center"
prop=
"awardTime"
width=
"180"
>
...
...
@@ -90,8 +95,8 @@
<
pagination
v
-
show
=
"total > 0"
:
total
=
"total"
:
page
.
sync
=
"queryParams.pageNum"
:
limit
.
sync
=
"queryParams.pageSize"
@
pagination
=
"getList"
/>
<!--
添加或修改
综合荣誉
对话框
-->
<
el
-
dialog
title
=
"详细信息
"
:
visible
.
sync
=
"open"
width
=
"1000px"
append
-
to
-
body
>
<!--
添加或修改
教师获奖
对话框
-->
<
el
-
dialog
:
title
=
"title
"
:
visible
.
sync
=
"open"
width
=
"1000px"
append
-
to
-
body
>
<
el
-
form
ref
=
"form"
:
model
=
"form"
:
rules
=
"rules"
label
-
width
=
"80px"
>
<
el
-
row
>
<
el
-
col
:
span
=
"12"
>
...
...
@@ -105,8 +110,11 @@
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"获奖类别"
prop
=
"awardType"
>
<
el
-
input
v
-
model
=
"queryParams.awardType"
placeholder
=
"请输入获奖类别"
clearable
@
keyup
.
enter
.
native
=
"handleQuery"
/>
<
el
-
select
v
-
model
=
"form.awardType"
placeholder
=
"请选择"
style
=
"width: 100%;"
>
<
el
-
option
v
-
for
=
"dict in dict.type.award_categoriesjs"
:
key
=
"dict.value"
:
label
=
"dict.label"
:
value
=
"dict.value"
>
<
/el-option
>
<
/el-select
>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
...
...
@@ -186,11 +194,11 @@
<
/template
>
<
script
>
// import
{
listHonors
,
getHonors
,
delHonors
,
addHonors
,
updateHonors
}
from
"@/api/system/honor
s"
;
import
{
listAwards
,
getAwards
,
delAwards
,
addAwards
,
updateAwards
}
from
"@/api/smartSchool/electronicArchives/professionalDevelopment/teacherAward
s"
;
import
{
uploadImage
as
commonUpload
}
from
"@/api/common"
;
export
default
{
name
:
"
Honor
s"
,
dicts
:
[
"teaching_subjects"
,
'award_categories'
,
'awards_level'
,
'award_rank'
],
name
:
"
Award
s"
,
dicts
:
[
"teaching_subjects"
,
'award_categories
js
'
,
'awards_level'
,
'award_rank'
],
data
()
{
return
{
// 图片上传遮罩层
...
...
@@ -208,27 +216,8 @@ export default {
showSearch
:
true
,
// 总条数
total
:
0
,
// 综合荣誉表格数据
honorsList
:
[{
id
:
1
,
sub
:
"语文"
,
awardType
:
"国家级"
,
awardRank
:
"国家级"
,
awardLevel
:
"国家级"
,
resultName
:
"成果名称"
,
userId
:
"1"
,
userName
:
"获奖人"
,
org
:
"主办单位"
,
awardTime
:
"2020-01-01"
,
remark
:
"备注"
,
pictureName
:
"证书图片名称"
,
pictureUrl
:
"证书图片地址"
,
createBy
:
"创建人"
,
createTime
:
"2020-01-01"
,
updateBy
:
"修改人"
,
updateTime
:
"2020-01-01"
,
delFlag
:
"0"
}
],
// 教师获奖表格数据
awardsList
:
[],
// 弹出层标题
title
:
""
,
// 是否显示弹出层
...
...
@@ -293,21 +282,18 @@ export default {
}
;
}
,
created
()
{
//
this.getList();
this
.
getList
();
}
,
methods
:
{
/** 查询
综合荣誉
列表 */
/** 查询
教师获奖
列表 */
getList
()
{
this
.
loading
=
true
;
list
Honor
s
(
this
.
queryParams
).
then
(
response
=>
{
this
.
honor
sList
=
response
.
rows
;
list
Award
s
(
this
.
queryParams
).
then
(
response
=>
{
this
.
award
sList
=
response
.
rows
;
this
.
total
=
response
.
total
;
this
.
loading
=
false
;
}
);
}
,
handleExamine
()
{
}
,
// 上传成功回调
handleAvatarSuccess
(
res
,
file
)
{
this
.
photoUrl
=
res
.
data
.
url
;
...
...
@@ -396,16 +382,16 @@ export default {
handleAdd
()
{
this
.
reset
();
this
.
open
=
true
;
this
.
title
=
"添加
综合荣誉
"
;
this
.
title
=
"添加
教师获奖
"
;
}
,
/** 修改按钮操作 */
handleUpdate
(
row
)
{
this
.
reset
();
this
.
open
=
true
;
const
id
=
row
.
id
||
this
.
ids
get
Honor
s
(
id
).
then
(
response
=>
{
get
Award
s
(
id
).
then
(
response
=>
{
this
.
form
=
response
.
data
;
this
.
title
=
"修改
综合荣誉
"
;
this
.
title
=
"修改
教师获奖
"
;
}
);
}
,
/** 提交按钮 */
...
...
@@ -413,13 +399,13 @@ export default {
this
.
$refs
[
"form"
].
validate
(
valid
=>
{
if
(
valid
)
{
if
(
this
.
form
.
id
!=
null
)
{
update
Honor
s
(
this
.
form
).
then
(
response
=>
{
update
Award
s
(
this
.
form
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"修改成功"
);
this
.
open
=
false
;
this
.
getList
();
}
);
}
else
{
add
Honor
s
(
this
.
form
).
then
(
response
=>
{
add
Award
s
(
this
.
form
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"新增成功"
);
this
.
open
=
false
;
this
.
getList
();
...
...
@@ -431,8 +417,8 @@ export default {
/** 删除按钮操作 */
handleDelete
(
row
)
{
const
ids
=
row
.
id
||
this
.
ids
;
this
.
$modal
.
confirm
(
'是否确认删除
综合荣誉
编号为"'
+
ids
+
'"的数据项?'
).
then
(
function
()
{
return
del
Honor
s
(
ids
);
this
.
$modal
.
confirm
(
'是否确认删除
教师获奖
编号为"'
+
ids
+
'"的数据项?'
).
then
(
function
()
{
return
del
Award
s
(
ids
);
}
).
then
(()
=>
{
this
.
getList
();
this
.
$modal
.
msgSuccess
(
"删除成功"
);
...
...
@@ -440,9 +426,9 @@ export default {
}
,
/** 导出按钮操作 */
handleExport
()
{
this
.
download
(
'system/
honor
s/export'
,
{
this
.
download
(
'system/
award
s/export'
,
{
...
this
.
queryParams
}
,
`
honor
s_${new Date().getTime()
}
.xlsx`
)
}
,
`
award
s_${new Date().getTime()
}
.xlsx`
)
}
}
}
;
...
...
ruoyi-ui/src/views/smartSchool/electronicArchives/professionalDevelopment/tutorAward/index.vue
View file @
314e1aee
...
...
@@ -2,16 +2,12 @@
<div
class=
"app-container"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
<el-form-item
label=
"学科"
prop=
"sub"
>
<el-select
v-model=
"queryParams.
teachingSubject
"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-select
v-model=
"queryParams.
sub
"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-option
v-for=
"dict in dict.type.teaching_subjects"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"获奖类别"
prop=
"awardType"
>
<el-input
v-model=
"queryParams.awardType"
placeholder=
"请输入获奖类别"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"获奖级别"
prop=
"awardRank"
>
<el-select
v-model=
"queryParams.awardRank"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-option
v-for=
"dict in dict.type.awards_level"
:key=
"dict.value"
:label=
"dict.label"
...
...
@@ -19,6 +15,13 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"获奖类别"
prop=
"awardType"
>
<el-select
v-model=
"queryParams.awardType"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-option
v-for=
"dict in dict.type.award_categoriesjs"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"获奖等级"
prop=
"awardLevel"
>
<el-select
v-model=
"queryParams.awardLevel"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-option
v-for=
"dict in dict.type.award_rank"
:key=
"dict.value"
:label=
"dict.label"
...
...
@@ -29,9 +32,14 @@
<el-form-item
label=
"获奖人"
prop=
"userName"
>
<el-input
v-model=
"queryParams.userName"
placeholder=
"请输入获奖人"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"获奖时间"
prop=
"awardTime"
>
<el-date-picker
clearable
v-model=
"queryParams.awardTime"
type=
"date"
value-format=
"yyyy-MM-dd"
placeholder=
"请选择获奖时间"
>
<el-form-item
label=
"获奖开始时间"
prop=
"awardTime"
>
<el-date-picker
clearable
v-model=
"queryParams.startTime"
type=
"date"
value-format=
"yyyy-MM-dd"
placeholder=
"请选择"
>
</el-date-picker>
</el-form-item>
<el-form-item
label=
"获奖结束时间"
prop=
"awardTime"
>
<el-date-picker
clearable
v-model=
"queryParams.endTime"
type=
"date"
value-format=
"yyyy-MM-dd"
placeholder=
"请选择"
>
</el-date-picker>
</el-form-item>
<el-form-item>
...
...
@@ -39,35 +47,38 @@
<el-button
icon=
"el-icon-refresh"
size=
"mini"
@
click=
"resetQuery"
>
重置
</el-button>
</el-form-item>
</el-form>
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-col
:span=
"1.5"
>
<el-button
type=
"primary"
plain
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAdd"
v-hasPermi=
"['system:
honor
s:add']"
>
新增
</el-button>
v-hasPermi=
"['system:
award
s:add']"
>
新增
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"success"
plain
icon=
"el-icon-edit"
size=
"mini"
:disabled=
"single"
@
click=
"handleUpdate"
v-hasPermi=
"['system:
honor
s:edit']"
>
修改
</el-button>
v-hasPermi=
"['system:
award
s:edit']"
>
修改
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"danger"
plain
icon=
"el-icon-delete"
size=
"mini"
:disabled=
"multiple"
@
click=
"handleDelete"
v-hasPermi=
"['system:
honor
s:remove']"
>
删除
</el-button>
v-hasPermi=
"['system:
award
s:remove']"
>
删除
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"warning"
plain
icon=
"el-icon-download"
size=
"mini"
@
click=
"handleExport"
v-hasPermi=
"['system:
honor
s:export']"
>
导出
</el-button>
v-hasPermi=
"['system:
award
s:export']"
>
导出
</el-button>
</el-col>
<right-toolbar
:showSearch
.
sync=
"showSearch"
@
queryTable=
"getList"
></right-toolbar>
</el-row>
<el-table
:data=
"
honor
sList"
@
selection-change=
"handleSelectionChange"
>
<el-table
:data=
"
award
sList"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"成长类型"
align=
"center"
prop=
"id"
/>
<el-table-column
label=
"成长类型"
align=
"center"
>
<template>
<span>
讲课获奖
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"学科"
align=
"center"
prop=
"sub"
/>
<el-table-column
label=
"获奖类
型
"
align=
"center"
prop=
"awardType"
/>
<el-table-column
label=
"获奖类
别
"
align=
"center"
prop=
"awardType"
/>
<el-table-column
label=
"获奖等级"
align=
"center"
prop=
"awardLevel"
/>
<el-table-column
label=
"获奖级别"
align=
"center"
prop=
"awardRank"
/>
<el-table-column
label=
"
综合荣誉
-成果名称"
align=
"center"
prop=
"resultName"
/>
<el-table-column
label=
"
教学获奖
-成果名称"
align=
"center"
prop=
"resultName"
/>
<el-table-column
label=
"获奖人"
align=
"center"
prop=
"userName"
/>
<el-table-column
label=
"主办单位"
align=
"center"
prop=
"org"
/>
<el-table-column
label=
"获奖时间"
align=
"center"
prop=
"awardTime"
width=
"180"
>
...
...
@@ -90,13 +101,13 @@
<
pagination
v
-
show
=
"total > 0"
:
total
=
"total"
:
page
.
sync
=
"queryParams.pageNum"
:
limit
.
sync
=
"queryParams.pageSize"
@
pagination
=
"getList"
/>
<!--
添加或修改
综合荣誉
对话框
-->
<
el
-
dialog
title
=
"详细信息
"
:
visible
.
sync
=
"open"
width
=
"1000px"
append
-
to
-
body
>
<!--
添加或修改
教师获奖
对话框
-->
<
el
-
dialog
:
title
=
"title
"
:
visible
.
sync
=
"open"
width
=
"1000px"
append
-
to
-
body
>
<
el
-
form
ref
=
"form"
:
model
=
"form"
:
rules
=
"rules"
label
-
width
=
"80px"
>
<
el
-
row
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"学科"
prop
=
"sub"
>
<
el
-
select
v
-
model
=
"form.
teachingSubject
"
placeholder
=
"请选择"
style
=
"width: 100%;"
>
<
el
-
select
v
-
model
=
"form.
sub
"
placeholder
=
"请选择"
style
=
"width: 100%;"
>
<
el
-
option
v
-
for
=
"dict in dict.type.teaching_subjects"
:
key
=
"dict.value"
:
label
=
"dict.label"
:
value
=
"dict.value"
>
<
/el-option
>
...
...
@@ -105,8 +116,11 @@
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"获奖类别"
prop
=
"awardType"
>
<
el
-
input
v
-
model
=
"queryParams.awardType"
placeholder
=
"请输入获奖类别"
clearable
@
keyup
.
enter
.
native
=
"handleQuery"
/>
<
el
-
select
v
-
model
=
"form.awardType"
placeholder
=
"请选择"
style
=
"width: 100%;"
>
<
el
-
option
v
-
for
=
"dict in dict.type.award_categoriesjs"
:
key
=
"dict.value"
:
label
=
"dict.label"
:
value
=
"dict.value"
>
<
/el-option
>
<
/el-select
>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
...
...
@@ -169,7 +183,7 @@
<
el
-
upload
v
-
loading
=
"uploadLoading"
class
=
"avatar-uploader"
action
=
"#"
accept
=
"image/*"
:
show
-
file
-
list
=
"false"
:
on
-
success
=
"handleAvatarSuccess"
:
before
-
upload
=
"beforeAvatarUpload"
:
http
-
request
=
"uploadImage"
>
<
img
v
-
if
=
"form.p
hotoUrl"
:
src
=
"baseUrl + form.photo
Url"
<
img
v
-
if
=
"form.p
ictureUrl"
:
src
=
"baseUrl + form.picture
Url"
style
=
"max-width: 100%; max-height: 100%"
class
=
"avatar"
alt
=
""
/>
<
i
v
-
else
class
=
"el-icon-plus avatar-uploader-icon"
><
/i
>
<
/el-upload
>
...
...
@@ -186,11 +200,11 @@
<
/template
>
<
script
>
// import
{
list
Honors
,
getHonors
,
delHonors
,
addHonors
,
updateHonors
}
from
"@/api/system/honor
s"
;
// import
{
list
Awards
,
getAwards
,
delAwards
,
addAwards
,
updateAwards
}
from
"@/api/system/award
s"
;
import
{
uploadImage
as
commonUpload
}
from
"@/api/common"
;
export
default
{
name
:
"
Honor
s"
,
dicts
:
[
"teaching_subjects"
,
'award_categories'
,
'awards_level'
,
'award_rank'
],
name
:
"
Award
s"
,
dicts
:
[
"teaching_subjects"
,
'award_categories
js
'
,
'awards_level'
,
'award_rank'
],
data
()
{
return
{
// 图片上传遮罩层
...
...
@@ -208,26 +222,26 @@ export default {
showSearch
:
true
,
// 总条数
total
:
0
,
//
综合荣誉
表格数据
honor
sList
:
[{
//
教师获奖
表格数据
award
sList
:
[{
id
:
1
,
sub
:
"语文"
,
awardType
:
"国家级"
,
awardRank
:
"国家级"
,
awardLevel
:
"国家级"
,
resultName
:
"成果名称"
,
userId
:
"1"
,
userName
:
"获奖人"
,
org
:
"主办单位"
,
awardTime
:
"2020-01-01"
,
remark
:
"备注"
,
pictureName
:
"证书图片名称"
,
pictureUrl
:
"证书图片地址"
,
createBy
:
"创建人"
,
createTime
:
"2020-01-01"
,
updateBy
:
"修改人"
,
updateTime
:
"2020-01-01"
,
delFlag
:
"0"
sub
:
1
,
awardType
:
1
,
awardRank
:
null
,
awardLevel
:
null
,
resultName
:
null
,
userId
:
null
,
userName
:
null
,
org
:
null
,
awardTime
:
null
,
remark
:
null
,
pictureName
:
null
,
pictureUrl
:
null
,
createBy
:
null
,
createTime
:
null
,
updateBy
:
null
,
updateTime
:
null
,
delFlag
:
null
}
],
// 弹出层标题
title
:
""
,
...
...
@@ -296,21 +310,18 @@ export default {
// this.getList();
}
,
methods
:
{
/** 查询
综合荣誉
列表 */
/** 查询
教师获奖
列表 */
getList
()
{
this
.
loading
=
true
;
list
Honor
s
(
this
.
queryParams
).
then
(
response
=>
{
this
.
honor
sList
=
response
.
rows
;
list
Award
s
(
this
.
queryParams
).
then
(
response
=>
{
this
.
award
sList
=
response
.
rows
;
this
.
total
=
response
.
total
;
this
.
loading
=
false
;
}
);
}
,
handleExamine
()
{
}
,
// 上传成功回调
handleAvatarSuccess
(
res
,
file
)
{
this
.
p
hoto
Url
=
res
.
data
.
url
;
this
.
p
icture
Url
=
res
.
data
.
url
;
this
.
commonUpload
(
file
);
}
,
...
...
@@ -340,8 +351,8 @@ export default {
.
then
((
response
)
=>
{
this
.
uploadLoading
=
false
;
this
.
$modal
.
msgSuccess
(
"上传成功"
);
this
.
p
hoto
Url
=
this
.
pev
+
response
.
url
;
this
.
form
.
p
hoto
Url
=
response
.
url
;
this
.
p
icture
Url
=
this
.
pev
+
response
.
url
;
this
.
form
.
p
icture
Url
=
response
.
url
;
}
)
.
catch
((
error
)
=>
{
this
.
uploadLoading
=
false
;
...
...
@@ -396,16 +407,16 @@ export default {
handleAdd
()
{
this
.
reset
();
this
.
open
=
true
;
this
.
title
=
"添加
综合荣誉
"
;
this
.
title
=
"添加
教师获奖
"
;
}
,
/** 修改按钮操作 */
handleUpdate
(
row
)
{
this
.
reset
();
this
.
open
=
true
;
const
id
=
row
.
id
||
this
.
ids
get
Honor
s
(
id
).
then
(
response
=>
{
get
Award
s
(
id
).
then
(
response
=>
{
this
.
form
=
response
.
data
;
this
.
title
=
"修改
综合荣誉
"
;
this
.
title
=
"修改
教师获奖
"
;
}
);
}
,
/** 提交按钮 */
...
...
@@ -413,13 +424,13 @@ export default {
this
.
$refs
[
"form"
].
validate
(
valid
=>
{
if
(
valid
)
{
if
(
this
.
form
.
id
!=
null
)
{
update
Honor
s
(
this
.
form
).
then
(
response
=>
{
update
Award
s
(
this
.
form
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"修改成功"
);
this
.
open
=
false
;
this
.
getList
();
}
);
}
else
{
add
Honor
s
(
this
.
form
).
then
(
response
=>
{
add
Award
s
(
this
.
form
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"新增成功"
);
this
.
open
=
false
;
this
.
getList
();
...
...
@@ -431,8 +442,8 @@ export default {
/** 删除按钮操作 */
handleDelete
(
row
)
{
const
ids
=
row
.
id
||
this
.
ids
;
this
.
$modal
.
confirm
(
'是否确认删除
综合荣誉
编号为"'
+
ids
+
'"的数据项?'
).
then
(
function
()
{
return
del
Honor
s
(
ids
);
this
.
$modal
.
confirm
(
'是否确认删除
教师获奖
编号为"'
+
ids
+
'"的数据项?'
).
then
(
function
()
{
return
del
Award
s
(
ids
);
}
).
then
(()
=>
{
this
.
getList
();
this
.
$modal
.
msgSuccess
(
"删除成功"
);
...
...
@@ -440,9 +451,9 @@ export default {
}
,
/** 导出按钮操作 */
handleExport
()
{
this
.
download
(
'system/
honor
s/export'
,
{
this
.
download
(
'system/
award
s/export'
,
{
...
this
.
queryParams
}
,
`
honor
s_${new Date().getTime()
}
.xlsx`
)
}
,
`
award
s_${new Date().getTime()
}
.xlsx`
)
}
}
}
;
...
...
ruoyi-ui/src/views/smartSchool/electronicArchives/teacherAssessment/index.vue
0 → 100644
View file @
314e1aee
<
template
>
<div
class=
"app-container"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"98px"
>
<el-form-item
label=
"姓名"
prop=
"teacherName"
>
<el-input
v-model=
"queryParams.teacherName"
placeholder=
"请输入"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"学年"
prop=
"schoolYear"
>
<el-select
v-model=
"queryParams.schoolYear"
placeholder=
"请选择"
style=
"width: 190px;"
>
<el-option
v-for=
"dict in dict.type.yearda"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"届别"
prop=
"year"
>
<el-select
v-model=
"queryParams.year"
placeholder=
"请选择"
>
<el-option
v-for=
"dict in dict.type.rankda"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"学期"
prop=
"semester"
>
<el-select
v-model=
"queryParams.semster"
placeholder=
"请选择"
>
<el-option
v-for=
"dict in dict.type.semester_jsdzda"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"年级"
prop=
"grade"
>
<el-select
v-model=
"queryParams.grade"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-option
v-for=
"dict in dict.type.grade_da"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"学科"
prop=
"sub"
>
<el-select
v-model=
"queryParams.sub"
placeholder=
"请选择"
style=
"width: 100%"
>
<el-option
v-for=
"dict in dict.type.teaching_subjects"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"班级类型"
prop=
"classType"
>
<el-select
v-model=
"queryParams.classType"
placeholder=
"请选择"
style=
"width: 100%"
>
<el-option
v-for=
"dict in dict.type.class_type"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"班级"
prop=
"className"
>
<el-input
v-model=
"queryParams.className"
placeholder=
"请输入"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"德育考核成绩"
prop=
"moralEduCheckAchievement"
>
<el-input
v-model=
"queryParams.moralEduCheckAchievement"
placeholder=
"请输入"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"智育考核成绩"
prop=
"intellEduCheckAchievement"
>
<el-input
v-model=
"queryParams.intellEduCheckAchievement"
placeholder=
"请输入"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"handleQuery"
>
搜索
</el-button>
<el-button
icon=
"el-icon-refresh"
size=
"mini"
@
click=
"resetQuery"
>
重置
</el-button>
</el-form-item>
</el-form>
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-col
:span=
"1.5"
>
<el-button
type=
"primary"
plain
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAdd"
v-hasPermi=
"['system:assessment:add']"
>
新增
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"success"
plain
icon=
"el-icon-edit"
size=
"mini"
:disabled=
"single"
@
click=
"handleUpdate"
v-hasPermi=
"['system:assessment:edit']"
>
修改
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"danger"
plain
icon=
"el-icon-delete"
size=
"mini"
:disabled=
"multiple"
@
click=
"handleDelete"
v-hasPermi=
"['system:assessment:remove']"
>
删除
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"success"
plain
icon=
"el-icon-upload"
size=
"mini"
@
click=
"handleImport"
v-hasPermi=
"['system:student:export']"
>
导入
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"warning"
plain
icon=
"el-icon-download"
size=
"mini"
@
click=
"handleExport"
v-hasPermi=
"['system:assessment:export']"
>
导出
</el-button>
</el-col>
<right-toolbar
:showSearch
.
sync=
"showSearch"
@
queryTable=
"getList"
></right-toolbar>
</el-row>
<el-table
:data=
"assessmentList"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"学年"
align=
"center"
prop=
"schoolYear"
/>
<el-table-column
label=
"学期"
align=
"center"
prop=
"semester"
>
<template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.semester_jsdzda"
:value=
"scope.row.semester"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"届别"
align=
"center"
prop=
"year"
/>
<el-table-column
label=
"年级"
align=
"center"
prop=
"grade"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.grade_da"
:value=
"scope.row.grade"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"班级"
align=
"center"
prop=
"className"
/>
<el-table-column
label=
"班级类型"
align=
"center"
prop=
"classType"
>
<
template
slot-scope=
"scope"
>
<span
v-if=
"getSelectedTypes(scope.row.classType).length > 0"
>
<span
v-for=
"(option, index) in getSelectedTypes(scope.row.classType)"
:key=
"index"
>
{{
option
.
label
}}
<span
v-if=
"index !== getSelectedTypes(scope.row.classType).length - 1"
>
,
</span>
</span>
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"姓名"
align=
"center"
prop=
"teacherName"
/>
<el-table-column
label=
"学科"
align=
"center"
prop=
"sub"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.teaching_subjects"
:value=
"scope.row.sub"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"德育考核成绩"
align=
"center"
prop=
"moralEduCheckAchievement"
/>
<el-table-column
label=
"智育考核成绩"
align=
"center"
prop=
"intellEduCheckAchievement"
/>
<el-table-column
label=
"总考核成绩"
align=
"center"
prop=
"totalCheckAchievement"
/>
<el-table-column
label=
"备注"
align=
"center"
prop=
"remark"
/>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleUpdate(scope.row)"
v-hasPermi=
"['system:assessment:edit']"
>
修改
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"handleDelete(scope.row)"
v-hasPermi=
"['system:assessment:remove']"
>
删除
</el-button>
</
template
>
</el-table-column>
</el-table>
<pagination
v-show=
"total > 0"
:total=
"total"
:page
.
sync=
"queryParams.pageNum"
:limit
.
sync=
"queryParams.pageSize"
@
pagination=
"getList"
/>
<!-- 添加或修改班主任考核对话框 -->
<el-dialog
:title=
"title"
:visible
.
sync=
"open"
width=
"800px"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"110px"
>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"学期"
prop=
"semester"
>
<el-select
v-model=
"form.semester"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-option
v-for=
"dict in dict.type.semester_jsdzda"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"届别"
prop=
"year"
>
<el-select
v-model=
"form.year"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-option
v-for=
"dict in dict.type.rankda"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"学年"
prop=
"schoolYear"
>
<el-select
v-model=
"form.schoolYear"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-option
v-for=
"dict in dict.type.yearda"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"年级"
prop=
"grade"
>
<el-select
v-model=
"form.grade"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-option
v-for=
"dict in dict.type.grade_da"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"班级"
prop=
"className"
>
<el-input
v-model=
"form.className"
placeholder=
"请输入"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"教师姓名"
prop=
"teacherName"
>
<el-input
v-model=
"form.teacherName"
placeholder=
"请输入"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"身份证号"
prop=
"idCard"
>
<el-input
v-model=
"form.idCard"
placeholder=
"请输入"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"德育考核成绩"
prop=
"moralEduCheckAchievement"
>
<el-input
v-model=
"form.moralEduCheckAchievement"
placeholder=
"请输入"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"智育考核成绩"
prop=
"intellEduCheckAchievement"
>
<el-input
v-model=
"form.intellEduCheckAchievement"
placeholder=
"请输入"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"总考核成绩"
prop=
"totalCheckAchievement"
>
<el-input
v-model=
"form.totalCheckAchievement"
placeholder=
"请输入"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"班级类型"
prop=
"classType"
>
<el-select
v-model=
"form.classType"
multiple
placeholder=
"请选择"
style=
"width: 100%"
>
<el-option
v-for=
"dict in dict.type.class_type"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"学科"
prop=
"sub"
>
<el-select
v-model=
"form.sub"
placeholder=
"请选择"
style=
"width: 100%"
>
<el-option
v-for=
"dict in dict.type.teaching_subjects"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-form-item
label=
"备注"
prop=
"remark"
>
<el-input
v-model=
"form.remark"
type=
"textarea"
placeholder=
"请输入"
/>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
</div>
</el-dialog>
<!-- 导入对话框 -->
<el-dialog
:title=
"title"
:visible
.
sync=
"uploadOpen"
width=
"520px"
append-to-body
inline
@
close=
"cancel"
>
<el-form
ref=
"uploadForm"
:model=
"uploadForm"
:rules=
"rules"
label-width=
"70px"
>
<el-form-item
prop=
"dataUrl"
>
<el-upload
ref=
"upload"
:limit=
"1"
accept=
".xlsx, .xls"
:headers=
"upload.headers"
:action=
"upload.url + '?updateSupport=' + upload.updateSupport"
:disabled=
"upload.isUploading"
:on-progress=
"handleFileUploadProgress"
:on-success=
"handleFileSuccess"
:auto-upload=
"false"
drag
>
<i
class=
"el-icon-upload"
></i>
<div
class=
"el-upload__text"
>
将文件拖到此处,或
<em>
点击上传
</em>
</div>
<div
class=
"el-upload__tip text-center"
slot=
"tip"
>
<span>
仅允许导入xls、xlsx格式文件。
</span>
<el-link
type=
"primary"
:underline=
"false"
style=
"font-size: 12px; vertical-align: baseline"
@
click=
"importTemplate"
>
下载模板
</el-link>
</div>
</el-upload>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"submitFileForm"
>
确 定
</el-button>
<el-button
@
click=
"cancelFile"
>
取 消
</el-button>
</div>
</el-dialog>
</div>
</template>
<
script
>
import
{
listAssessment
,
getAssessment
,
delAssessment
,
addAssessment
,
updateAssessment
}
from
"@/api/smartSchool/electronicArchives/teacherAssessment"
;
import
{
getToken
}
from
"@/utils/auth"
;
export
default
{
name
:
"Assessment"
,
dicts
:
[
"teaching_subjects"
,
'semester_jsdzda'
,
'exam_typeda'
,
'grade_da'
,
'class_type'
,
'yearda'
,
'rankda'
,
'appointment_situation'
,
'appointment_positions'
],
data
()
{
return
{
uploadOpen
:
false
,
upload
:
{
// 是否显示弹出层(用户导入)
open
:
false
,
// 弹出层标题(用户导入)
title
:
""
,
// 是否禁用上传
isUploading
:
false
,
// 是否更新已经存在的用户数据
updateSupport
:
0
,
// 设置上传的请求头部
headers
:
{
Authorization
:
"Bearer "
+
getToken
()
},
// 上传的地址
url
:
process
.
env
.
VUE_APP_BASE_API
+
"/assessment/importData"
,
},
uploadForm
:
{},
// 遮罩层
loading
:
true
,
// 选中数组
ids
:
[],
// 非单个禁用
single
:
true
,
// 非多个禁用
multiple
:
true
,
// 显示搜索条件
showSearch
:
true
,
// 总条数
total
:
0
,
// 班主任考核表格数据
assessmentList
:
[],
// 弹出层标题
title
:
""
,
// 是否显示弹出层
open
:
false
,
// 查询参数
queryParams
:
{
pageNum
:
1
,
pageSize
:
10
,
semester
:
null
,
year
:
null
,
schoolYear
:
null
,
grade
:
null
,
className
:
null
,
teacherName
:
null
,
idCard
:
null
,
moralEduCheckAchievement
:
null
,
intellEduCheckAchievement
:
null
,
totalCheckAchievement
:
null
,
classType
:
null
,
sub
:
null
,
},
// 表单参数
form
:
{},
// 表单校验
rules
:
{
semester
:
[
{
required
:
true
,
message
:
"学期不能为空"
,
trigger
:
"change"
}
],
year
:
[
{
required
:
true
,
message
:
"届别不能为空"
,
trigger
:
"change"
}
],
schoolYear
:
[
{
required
:
true
,
message
:
"学年不能为空"
,
trigger
:
"change"
}
],
grade
:
[
{
required
:
true
,
message
:
"年级不能为空"
,
trigger
:
"change"
}
],
className
:
[
{
required
:
true
,
message
:
"班级不能为空"
,
trigger
:
"blur"
}
],
teacherName
:
[
{
required
:
true
,
message
:
"姓名不能为空"
,
trigger
:
"blur"
}
],
idCard
:
[
{
required
:
true
,
message
:
"身份证号不能为空"
,
trigger
:
"blur"
}
],
moralEduCheckAchievement
:
[
{
required
:
true
,
message
:
"德育考核成绩不能为空"
,
trigger
:
"blur"
}
],
intellEduCheckAchievement
:
[
{
required
:
true
,
message
:
"智育考核成绩不能为空"
,
trigger
:
"blur"
}
],
totalCheckAchievement
:
[
{
required
:
true
,
message
:
"总成绩考核不能为空"
,
trigger
:
"blur"
}
],
classType
:
[
{
required
:
true
,
message
:
"班级类型不能为空"
,
trigger
:
"blur"
}
],
sub
:
[
{
required
:
true
,
message
:
"学科不能为空"
,
trigger
:
"blur"
}
],
}
};
},
created
()
{
this
.
getList
();
},
methods
:
{
/** 查询班主任考核列表 */
getList
()
{
this
.
loading
=
true
;
listAssessment
(
this
.
queryParams
).
then
(
response
=>
{
this
.
assessmentList
=
response
.
rows
;
this
.
total
=
response
.
total
;
this
.
loading
=
false
;
});
},
getSelectedTypes
(
classType
)
{
return
this
.
dict
.
type
.
class_type
.
filter
(
option
=>
classType
.
split
(
','
).
includes
(
option
.
value
.
toString
()));
},
// 取消按钮
cancel
()
{
this
.
open
=
false
;
this
.
reset
();
},
handleImport
()
{
this
.
reset
();
this
.
title
=
"导入"
;
this
.
uploadOpen
=
true
;
},
handleFileUploadProgress
(
event
,
file
,
fileList
)
{
this
.
upload
.
isUploading
=
true
;
},
// 提交上传文件
submitFileForm
()
{
this
.
$refs
.
upload
.
submit
();
},
cancelFile
()
{
this
.
uploadOpen
=
false
;
this
.
upload
.
isUploading
=
false
;
this
.
$refs
.
upload
.
clearFiles
();
},
// 文件上传成功处理
handleFileSuccess
(
response
,
file
,
fileList
)
{
this
.
uploadOpen
=
false
;
this
.
upload
.
isUploading
=
false
;
this
.
$refs
.
upload
.
clearFiles
();
this
.
$alert
(
"<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>"
+
response
.
msg
+
"</div>"
,
"导入结果"
,
{
dangerouslyUseHTMLString
:
true
}
);
this
.
getList
();
},
//下载模版
importTemplate
()
{
this
.
download
(
"/assessment/download"
,
{},
`班主任考核_
${
Date
.
now
()}
.xlsx`
);
},
// 表单重置
reset
()
{
this
.
form
=
{
id
:
null
,
semester
:
null
,
year
:
null
,
schoolYear
:
null
,
grade
:
null
,
className
:
null
,
teacherName
:
null
,
idCard
:
null
,
moralEduCheckAchievement
:
null
,
intellEduCheckAchievement
:
null
,
totalCheckAchievement
:
null
,
classType
:
null
,
sub
:
null
,
remark
:
null
,
createBy
:
null
,
createTime
:
null
,
updateBy
:
null
,
updateTime
:
null
,
delFlag
:
null
};
this
.
resetForm
(
"form"
);
},
/** 搜索按钮操作 */
handleQuery
()
{
this
.
queryParams
.
pageNum
=
1
;
this
.
getList
();
},
/** 重置按钮操作 */
resetQuery
()
{
this
.
resetForm
(
"queryForm"
);
this
.
handleQuery
();
},
// 多选框选中数据
handleSelectionChange
(
selection
)
{
this
.
ids
=
selection
.
map
(
item
=>
item
.
id
)
this
.
single
=
selection
.
length
!==
1
this
.
multiple
=
!
selection
.
length
},
/** 新增按钮操作 */
handleAdd
()
{
this
.
reset
();
this
.
open
=
true
;
this
.
title
=
"添加班主任考核"
;
},
/** 修改按钮操作 */
handleUpdate
(
row
)
{
this
.
reset
();
const
id
=
row
.
id
||
this
.
ids
getAssessment
(
id
).
then
(
response
=>
{
this
.
form
=
response
.
data
;
this
.
form
.
classType
=
this
.
form
.
classType
.
split
(
','
);
this
.
open
=
true
;
this
.
title
=
"修改班主任考核"
;
});
},
/** 提交按钮 */
submitForm
()
{
this
.
$refs
[
"form"
].
validate
(
valid
=>
{
const
classTypeStr
=
this
.
form
.
classType
.
join
(
','
);
console
.
log
(
classTypeStr
);
// 输出转换后的字符串
if
(
valid
)
{
if
(
this
.
form
.
id
!=
null
)
{
updateAssessment
({
...
this
.
form
,
classType
:
classTypeStr
}).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"修改成功"
);
this
.
open
=
false
;
this
.
getList
();
});
}
else
{
addAssessment
({
...
this
.
form
,
classType
:
classTypeStr
}).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"新增成功"
);
this
.
open
=
false
;
this
.
getList
();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete
(
row
)
{
const
ids
=
row
.
id
||
this
.
ids
;
this
.
$modal
.
confirm
(
'是否确认删除班主任考核编号为"'
+
ids
+
'"的数据项?'
).
then
(
function
()
{
return
delAssessment
(
ids
);
}).
then
(()
=>
{
this
.
getList
();
this
.
$modal
.
msgSuccess
(
"删除成功"
);
}).
catch
(()
=>
{
});
},
/** 导出按钮操作 */
handleExport
()
{
this
.
download
(
'/assessment/export'
,
{
...
this
.
queryParams
},
`班主任考核_
${
new
Date
().
getTime
()}
.xlsx`
)
}
}
};
</
script
>
ruoyi-ui/src/views/smartSchool/electronicArchives/workloadInformation/index.vue
0 → 100644
View file @
314e1aee
<
template
>
<div
class=
"app-container"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"89px"
>
<el-form-item
label=
"姓名"
prop=
"name"
>
<el-input
v-model=
"queryParams.name"
placeholder=
"请输入"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"学年"
prop=
"schoolYear"
>
<el-select
v-model=
"queryParams.schoolYear"
placeholder=
"请选择"
style=
"width: 190px;"
>
<el-option
v-for=
"dict in dict.type.yearda"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"学期"
prop=
"semester"
>
<el-select
v-model=
"queryParams.semster"
placeholder=
"请选择"
>
<el-option
v-for=
"dict in dict.type.semester_jsdzda"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"届别"
prop=
"year"
>
<el-select
v-model=
"queryParams.year"
placeholder=
"请选择"
>
<el-option
v-for=
"dict in dict.type.rankda"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"年级"
prop=
"grade"
>
<el-select
v-model=
"queryParams.grade"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-option
v-for=
"dict in dict.type.grade_da"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"学科"
prop=
"sub"
>
<el-select
v-model=
"queryParams.sub"
placeholder=
"请选择"
style=
"width: 100%"
>
<el-option
v-for=
"dict in dict.type.teaching_subjects"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"聘任岗位"
prop=
"appointmentPost"
>
<el-select
v-model=
"queryParams.appointmentPost"
placeholder=
"请选择"
style=
"width: 100%"
>
<el-option
v-for=
"dict in dict.type.appointment_positions"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"聘任职务"
prop=
"appointmentPosition"
>
<el-input
v-model=
"queryParams.appointmentPosition"
placeholder=
"请输入"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"班级"
prop=
"className"
>
<el-input
v-model=
"queryParams.className"
placeholder=
"请输入"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"班级类型"
prop=
"classType"
>
<el-select
v-model=
"queryParams.classType"
multiple
placeholder=
"请选择"
style=
"width: 100%"
>
<el-option
v-for=
"dict in dict.type.class_type"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"证明人"
prop=
"userName"
>
<el-input
v-model=
"queryParams.userName"
placeholder=
"请输入"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"聘任情况"
prop=
"appointmentSituation"
>
<el-select
v-model=
"queryParams.appointmentSituation"
placeholder=
"请选择"
style=
"width: 100%"
>
<el-option
v-for=
"dict in dict.type.appointment_situation"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"handleQuery"
>
搜索
</el-button>
<el-button
icon=
"el-icon-refresh"
size=
"mini"
@
click=
"resetQuery"
>
重置
</el-button>
</el-form-item>
</el-form>
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-col
:span=
"1.5"
>
<el-button
type=
"primary"
plain
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAdd"
v-hasPermi=
"['system:aworkload:add']"
>
新增
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"success"
plain
icon=
"el-icon-edit"
size=
"mini"
:disabled=
"single"
@
click=
"handleUpdate"
v-hasPermi=
"['system:aworkload:edit']"
>
修改
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"danger"
plain
icon=
"el-icon-delete"
size=
"mini"
:disabled=
"multiple"
@
click=
"handleDelete"
v-hasPermi=
"['system:aworkload:remove']"
>
删除
</el-button>
</el-col>
<el-button
type=
"success"
plain
icon=
"el-icon-upload"
size=
"mini"
@
click=
"handleImport"
v-hasPermi=
"['system:student:export']"
>
导入
</el-button>
<el-col
:span=
"1.5"
>
<el-button
type=
"warning"
plain
icon=
"el-icon-download"
size=
"mini"
@
click=
"handleExport"
v-hasPermi=
"['system:aworkload:export']"
>
导出
</el-button>
</el-col>
<right-toolbar
:showSearch
.
sync=
"showSearch"
@
queryTable=
"getList"
></right-toolbar>
</el-row>
<el-table
:data=
"aworkloadList"
@
selection-change=
"handleSelectionChange"
:default-sort=
"
{ prop: 'schoolYear', order: 'descending' }">
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"学年"
align=
"center"
prop=
"schoolYear"
width=
"90px"
fixed=
"left"
sortable
/>
<el-table-column
label=
"学期"
align=
"center"
prop=
"semester"
fixed=
"left"
sortable
>
<template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.semester_jsdzda"
:value=
"scope.row.semester"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"届别"
align=
"center"
prop=
"year"
fixed=
"left"
sortable
/>
<el-table-column
label=
"年级"
align=
"center"
prop=
"grade"
fixed=
"left"
sortable
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.grade_da"
:value=
"scope.row.grade"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"姓名"
align=
"center"
prop=
"name"
sortable
/>
<el-table-column
label=
"学科"
align=
"center"
prop=
"sub"
sortable
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.teaching_subjects"
:value=
"scope.row.sub"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"聘任岗位"
align=
"center"
prop=
"appointmentPost"
sortable
width=
"120px"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.appointment_positions"
:value=
"scope.row.appointmentPost"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"聘任职务"
align=
"center"
prop=
"appointmentPosition"
sortable
width=
"120px"
/>
<el-table-column
label=
"聘任情况"
align=
"center"
prop=
"appointmentSituation"
sortable
width=
"120px"
/>
<el-table-column
label=
"班级"
align=
"center"
prop=
"className"
sortable
/>
<el-table-column
label=
"班级类型"
align=
"center"
prop=
"classType"
width=
"120px"
sortable
>
<
template
slot-scope=
"scope"
>
<span
v-if=
"getSelectedTypes(scope.row.classType).length > 0"
>
<span
v-for=
"(option, index) in getSelectedTypes(scope.row.classType)"
:key=
"index"
>
{{
option
.
label
}}
<span
v-if=
"index !== getSelectedTypes(scope.row.classType).length - 1"
>
,
</span>
</span>
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"早读"
align=
"center"
prop=
"earlyReading"
sortable
/>
<el-table-column
label=
"正课"
align=
"center"
prop=
"requiredCourses"
sortable
/>
<el-table-column
label=
"晚自习"
align=
"center"
prop=
"eveningSelfStudy"
sortable
width=
"120px"
/>
<el-table-column
label=
"合计"
align=
"center"
prop=
"amountTo"
sortable
/>
<el-table-column
label=
"证明人"
align=
"center"
prop=
"userName"
width=
"120px"
fixed=
"right"
sortable
/>
<el-table-column
label=
"备注"
align=
"center"
prop=
"remark"
fixed=
"right"
sortable
/>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
width=
"120px"
fixed=
"right"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
@
click=
"handleUpdate(scope.row)"
v-hasPermi=
"['system:aworkload:edit']"
>
修改
</el-button>
<el-button
size=
"mini"
type=
"text"
@
click=
"handleLook(scope.row)"
v-hasPermi=
"['system:aworkload:edit']"
>
详情
</el-button>
<el-button
size=
"mini"
type=
"text"
@
click=
"handleDelete(scope.row)"
v-hasPermi=
"['system:aworkload:remove']"
>
删除
</el-button>
</
template
>
</el-table-column>
</el-table>
<pagination
v-show=
"total > 0"
:total=
"total"
:page
.
sync=
"queryParams.pageNum"
:limit
.
sync=
"queryParams.pageSize"
@
pagination=
"getList"
/>
<!-- 添加或修改工作量信息对话框 -->
<el-dialog
:title=
"title"
:visible
.
sync=
"open"
width=
"800px"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"90px"
>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"学年"
prop=
"schoolYear"
>
<el-select
v-model=
"form.schoolYear"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-option
v-for=
"dict in dict.type.yearda"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"学期"
prop=
"semester"
>
<el-select
v-model=
"form.semester"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-option
v-for=
"dict in dict.type.semester_jsdzda"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"届别"
prop=
"year"
>
<el-select
v-model=
"form.year"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-option
v-for=
"dict in dict.type.rankda"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"年级"
prop=
"grade"
>
<el-select
v-model=
"form.grade"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-option
v-for=
"dict in dict.type.grade_da"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"姓名"
prop=
"name"
>
<el-input
v-model=
"form.name"
placeholder=
"请输入"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"学科"
prop=
"sub"
>
<el-select
v-model=
"form.sub"
placeholder=
"请选择"
style=
"width: 100%"
>
<el-option
v-for=
"dict in dict.type.teaching_subjects"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"身份证号"
prop=
"idCard"
>
<el-input
v-model=
"form.idCard"
placeholder=
"请输入"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"聘任岗位"
prop=
"appointmentPost"
>
<el-select
v-model=
"form.appointmentPost"
placeholder=
"请选择"
style=
"width: 100%"
>
<el-option
v-for=
"dict in dict.type.appointment_positions"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"聘任职务"
prop=
"appointmentPosition"
>
<el-input
v-model=
"form.appointmentPosition"
placeholder=
"请输入"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"聘任情况"
prop=
"appointmentSituation"
>
<el-select
v-model=
"form.appointmentSituation"
placeholder=
"请选择"
style=
"width: 100%"
>
<el-option
v-for=
"dict in dict.type.appointment_situation"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"班级"
prop=
"className"
>
<el-input
v-model=
"form.className"
placeholder=
"请输入"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"班级类型"
prop=
"classType"
>
<el-select
v-model=
"form.classType"
multiple
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-option
v-for=
"dict in dict.type.class_type"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"早读"
prop=
"earlyReading"
>
<el-input
v-model=
"form.earlyReading"
placeholder=
"请输入早读"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"正课"
prop=
"requiredCourses"
>
<el-input
v-model=
"form.requiredCourses"
placeholder=
"请输入正课"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"晚自习"
prop=
"eveningSelfStudy"
>
<el-input
v-model=
"form.eveningSelfStudy"
placeholder=
"请输入晚自习"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"证明人"
prop=
"userName"
>
<el-input
v-model=
"form.userName"
placeholder=
"请输入证明人"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"备注"
prop=
"remark"
>
<el-input
v-model=
"form.remark"
type=
"textarea"
placeholder=
"请输入内容"
/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
</div>
</el-dialog>
<!-- 修改工作量信息对话框 -->
<el-dialog
:title=
"title"
:visible
.
sync=
"edit"
width=
"800px"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"90px"
>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"学年"
prop=
"schoolYear"
>
<el-select
v-model=
"form.schoolYear"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-option
v-for=
"dict in dict.type.yearda"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"学期"
prop=
"semester"
>
<el-select
v-model=
"form.semester"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-option
v-for=
"dict in dict.type.semester_jsdzda"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"届别"
prop=
"year"
>
<el-select
v-model=
"form.year"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-option
v-for=
"dict in dict.type.rankda"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"年级"
prop=
"grade"
>
<el-select
v-model=
"form.grade"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-option
v-for=
"dict in dict.type.grade_da"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"姓名"
prop=
"name"
>
<el-input
v-model=
"form.name"
placeholder=
"请输入"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"学科"
prop=
"sub"
>
<el-select
v-model=
"form.sub"
placeholder=
"请选择"
style=
"width: 100%"
>
<el-option
v-for=
"dict in dict.type.teaching_subjects"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"身份证号"
prop=
"idCard"
>
<el-input
v-model=
"form.idCard"
placeholder=
"请输入"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"聘任岗位"
prop=
"appointmentPost"
>
<el-select
v-model=
"form.appointmentPost"
placeholder=
"请选择"
style=
"width: 100%"
>
<el-option
v-for=
"dict in dict.type.appointment_positions"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"聘任职务"
prop=
"appointmentPosition"
>
<el-input
v-model=
"form.appointmentPosition"
placeholder=
"请输入"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"聘任情况"
prop=
"appointmentSituation"
>
<el-select
v-model=
"form.appointmentSituation"
placeholder=
"请选择"
style=
"width: 100%"
>
<el-option
v-for=
"dict in dict.type.appointment_situation"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"班级"
prop=
"className"
>
<el-input
v-model=
"form.className"
placeholder=
"请输入"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"班级类型"
prop=
"classType"
>
<el-select
v-model=
"form.classType"
multiple
placeholder=
"请选择"
style=
"width: 100%"
>
<el-option
v-for=
"dict in dict.type.class_type"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"早读"
prop=
"earlyReading"
>
<el-input
v-model=
"form.earlyReading"
placeholder=
"请输入早读"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"正课"
prop=
"requiredCourses"
>
<el-input
v-model=
"form.requiredCourses"
placeholder=
"请输入正课"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"晚自习"
prop=
"eveningSelfStudy"
>
<el-input
v-model=
"form.eveningSelfStudy"
placeholder=
"请输入晚自习"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"合计"
prop=
"amountTo"
>
<el-input
v-model=
"form.amountTo"
placeholder=
"请输入合计"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"证明人"
prop=
"userName"
>
<el-input
v-model=
"form.userName"
placeholder=
"请输入证明人"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"备注"
prop=
"remark"
>
<el-input
v-model=
"form.remark"
type=
"textarea"
placeholder=
"请输入内容"
/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
</div>
</el-dialog>
<!--查看工作量信息对话框 -->
<el-dialog
:title=
"title"
:visible
.
sync=
"look"
width=
"800px"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"90px"
:disabled=
"isEdit"
>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"学年"
prop=
"schoolYear"
>
<el-select
v-model=
"form.schoolYear"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-option
v-for=
"dict in dict.type.yearda"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"学期"
prop=
"semester"
>
<el-select
v-model=
"form.semester"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-option
v-for=
"dict in dict.type.semester_jsdzda"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"届别"
prop=
"year"
>
<el-select
v-model=
"form.year"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-option
v-for=
"dict in dict.type.rankda"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"年级"
prop=
"grade"
>
<el-select
v-model=
"form.grade"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-option
v-for=
"dict in dict.type.grade_da"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"姓名"
prop=
"name"
>
<el-input
v-model=
"form.name"
placeholder=
"请输入"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"学科"
prop=
"sub"
>
<el-select
v-model=
"form.sub"
placeholder=
"请选择"
style=
"width: 100%"
>
<el-option
v-for=
"dict in dict.type.teaching_subjects"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"身份证号"
prop=
"idCard"
>
<el-input
v-model=
"form.idCard"
placeholder=
"请输入"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"聘任岗位"
prop=
"appointmentPost"
>
<el-select
v-model=
"form.appointmentPost"
placeholder=
"请选择"
style=
"width: 100%"
>
<el-option
v-for=
"dict in dict.type.appointment_positions"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"聘任职务"
prop=
"appointmentPosition"
>
<el-input
v-model=
"form.appointmentPosition"
placeholder=
"请输入"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"聘任情况"
prop=
"appointmentSituation"
>
<el-select
v-model=
"form.appointmentSituation"
placeholder=
"请选择"
style=
"width: 100%"
>
<el-option
v-for=
"dict in dict.type.appointment_situation"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"班级"
prop=
"className"
>
<el-input
v-model=
"form.className"
placeholder=
"请输入"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"班级类型"
prop=
"classType"
>
<el-select
v-model=
"form.classType"
multiple
placeholder=
"请选择"
style=
"width: 100%"
>
<el-option
v-for=
"dict in dict.type.class_type"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"早读"
prop=
"earlyReading"
>
<el-input
v-model=
"form.earlyReading"
placeholder=
"请输入早读"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"正课"
prop=
"requiredCourses"
>
<el-input
v-model=
"form.requiredCourses"
placeholder=
"请输入正课"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"晚自习"
prop=
"eveningSelfStudy"
>
<el-input
v-model=
"form.eveningSelfStudy"
placeholder=
"请输入晚自习"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"合计"
prop=
"amountTo"
>
<el-input
v-model=
"form.amountTo"
placeholder=
"请输入合计"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"证明人"
prop=
"userName"
>
<el-input
v-model=
"form.userName"
placeholder=
"请输入证明人"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"备注"
prop=
"remark"
>
<el-input
v-model=
"form.remark"
type=
"textarea"
placeholder=
"请输入内容"
/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
</div>
</el-dialog>
<!-- 导入对话框 -->
<el-dialog
:title=
"title"
:visible
.
sync=
"uploadOpen"
width=
"520px"
append-to-body
inline
@
close=
"cancel"
>
<el-form
ref=
"uploadForm"
:model=
"uploadForm"
:rules=
"rules"
label-width=
"70px"
>
<el-form-item
prop=
"dataUrl"
>
<el-upload
ref=
"upload"
:limit=
"1"
accept=
".xlsx, .xls"
:headers=
"upload.headers"
:action=
"upload.url + '?updateSupport=' + upload.updateSupport"
:disabled=
"upload.isUploading"
:on-progress=
"handleFileUploadProgress"
:on-success=
"handleFileSuccess"
:auto-upload=
"false"
drag
>
<i
class=
"el-icon-upload"
></i>
<div
class=
"el-upload__text"
>
将文件拖到此处,或
<em>
点击上传
</em>
</div>
<div
class=
"el-upload__tip text-center"
slot=
"tip"
>
<span>
仅允许导入xls、xlsx格式文件。
</span>
<el-link
type=
"primary"
:underline=
"false"
style=
"font-size: 12px; vertical-align: baseline"
@
click=
"importTemplate"
>
下载模板
</el-link>
</div>
</el-upload>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"submitFileForm"
>
确 定
</el-button>
<el-button
@
click=
"cancelFile"
>
取 消
</el-button>
</div>
</el-dialog>
</div>
</template>
<
script
>
import
{
listAworkload
,
getAworkload
,
delAworkload
,
addAworkload
,
updateAworkload
}
from
"@/api/smartSchool/electronicArchives/workloadInformation"
;;
import
{
getToken
}
from
"@/utils/auth"
;
export
default
{
name
:
"Aworkload"
,
dicts
:
[
"teaching_subjects"
,
'semester_jsdzda'
,
'exam_typeda'
,
'grade_da'
,
'class_type'
,
'yearda'
,
'rankda'
,
'appointment_situation'
,
'appointment_positions'
],
data
()
{
return
{
uploadOpen
:
false
,
upload
:
{
// 是否显示弹出层(用户导入)
open
:
false
,
// 弹出层标题(用户导入)
title
:
""
,
// 是否禁用上传
isUploading
:
false
,
// 是否更新已经存在的用户数据
updateSupport
:
0
,
// 设置上传的请求头部
headers
:
{
Authorization
:
"Bearer "
+
getToken
()
},
// 上传的地址
url
:
process
.
env
.
VUE_APP_BASE_API
+
"/aworkload/importData"
,
},
uploadForm
:
{},
// 遮罩层
loading
:
true
,
// 选中数组
ids
:
[],
// 非单个禁用
single
:
true
,
// 非多个禁用
multiple
:
true
,
// 显示搜索条件
showSearch
:
true
,
// 总条数
total
:
0
,
// 工作量信息表格数据
aworkloadList
:
[],
// 弹出层标题
title
:
""
,
// 是否显示弹出层
open
:
false
,
look
:
false
,
edit
:
false
,
isEdit
:
false
,
// 查询参数
queryParams
:
{
pageNum
:
1
,
pageSize
:
10
,
schoolYear
:
null
,
semester
:
null
,
year
:
null
,
grade
:
null
,
name
:
null
,
sub
:
null
,
idCard
:
null
,
appointmentPost
:
null
,
appointmentPosition
:
null
,
appointmentSituation
:
null
,
className
:
null
,
classType
:
null
,
earlyReading
:
null
,
requiredCourses
:
null
,
eveningSelfStudy
:
null
,
userId
:
null
,
userName
:
null
,
},
// 表单参数
form
:
{},
// 表单校验
rules
:
{
schoolYear
:
[
{
required
:
true
,
message
:
"学年不能为空"
,
trigger
:
"change"
}
],
semester
:
[
{
required
:
true
,
message
:
"学期不能为空"
,
trigger
:
"change"
}
],
year
:
[
{
required
:
true
,
message
:
"届别不能为空"
,
trigger
:
"change"
}
],
grade
:
[
{
required
:
true
,
message
:
"年级不能为空"
,
trigger
:
"change"
}
],
name
:
[
{
required
:
true
,
message
:
"姓名不能为空"
,
trigger
:
"blur"
}
],
sub
:
[
{
required
:
true
,
message
:
"学科不能为空"
,
trigger
:
"blur"
}
],
idCard
:
[
{
required
:
true
,
message
:
"身份证号不能为空"
,
trigger
:
"blur"
}
],
appointmentPost
:
[
{
required
:
true
,
message
:
"聘任岗位不能为空"
,
trigger
:
"blur"
}
],
earlyReading
:
[
{
required
:
true
,
message
:
"早读不能为空"
,
trigger
:
"blur"
}
],
requiredCourses
:
[
{
required
:
true
,
message
:
"正读不能为空"
,
trigger
:
"blur"
}
],
eveningSelfStudy
:
[
{
required
:
true
,
message
:
"晚自习不能为空"
,
trigger
:
"blur"
}
],
userName
:
[
{
required
:
true
,
message
:
"证明人不能为空"
,
trigger
:
"blur"
}
]
}
};
},
created
()
{
this
.
getList
();
},
methods
:
{
/** 查询工作量信息列表 */
getList
()
{
listAworkload
(
this
.
queryParams
).
then
(
response
=>
{
this
.
aworkloadList
=
response
.
rows
;
this
.
total
=
response
.
total
;
this
.
loading
=
false
;
});
},
getSelectedTypes
(
classType
)
{
return
this
.
dict
.
type
.
class_type
.
filter
(
option
=>
classType
.
split
(
','
).
includes
(
option
.
value
.
toString
()));
},
handleImport
()
{
this
.
reset
();
this
.
title
=
"导入"
;
this
.
uploadOpen
=
true
;
},
handleFileUploadProgress
(
event
,
file
,
fileList
)
{
this
.
upload
.
isUploading
=
true
;
},
// 提交上传文件
submitFileForm
()
{
this
.
$refs
.
upload
.
submit
();
},
cancelFile
()
{
this
.
uploadOpen
=
false
;
this
.
upload
.
isUploading
=
false
;
this
.
$refs
.
upload
.
clearFiles
();
},
// 文件上传成功处理
handleFileSuccess
(
response
,
file
,
fileList
)
{
this
.
uploadOpen
=
false
;
this
.
upload
.
isUploading
=
false
;
this
.
$refs
.
upload
.
clearFiles
();
this
.
$alert
(
"<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>"
+
response
.
msg
+
"</div>"
,
"导入结果"
,
{
dangerouslyUseHTMLString
:
true
}
);
this
.
getList
();
},
//下载模版
importTemplate
()
{
this
.
download
(
"/aworkload/download"
,
{},
`教师基础信息_
${
Date
.
now
()}
.xlsx`
);
},
// 取消按钮
cancel
()
{
this
.
open
=
false
;
this
.
look
=
false
;
this
.
edit
=
false
;
this
.
reset
();
},
// 表单重置
reset
()
{
this
.
form
=
{
id
:
null
,
schoolYear
:
null
,
semester
:
null
,
year
:
null
,
grade
:
null
,
name
:
null
,
sub
:
null
,
idCard
:
null
,
appointmentPost
:
null
,
appointmentPosition
:
null
,
appointmentSituation
:
null
,
className
:
null
,
classType
:
null
,
earlyReading
:
null
,
requiredCourses
:
null
,
eveningSelfStudy
:
null
,
userId
:
null
,
userName
:
null
,
remark
:
null
,
createBy
:
null
,
createTime
:
null
,
updateBy
:
null
,
updateTime
:
null
,
delFlag
:
null
};
this
.
resetForm
(
"form"
);
},
/** 搜索按钮操作 */
handleQuery
()
{
this
.
queryParams
.
pageNum
=
1
;
this
.
getList
();
},
/** 重置按钮操作 */
resetQuery
()
{
this
.
resetForm
(
"queryForm"
);
this
.
handleQuery
();
},
// 多选框选中数据
handleSelectionChange
(
selection
)
{
this
.
ids
=
selection
.
map
(
item
=>
item
.
id
)
this
.
single
=
selection
.
length
!==
1
this
.
multiple
=
!
selection
.
length
},
/** 新增按钮操作 */
handleAdd
()
{
this
.
reset
();
this
.
open
=
true
;
this
.
title
=
"添加工作量信息"
;
},
/** 修改按钮操作 */
handleUpdate
(
row
)
{
this
.
reset
();
const
id
=
row
.
id
||
this
.
ids
getAworkload
(
id
).
then
(
response
=>
{
this
.
form
=
response
.
data
;
this
.
form
.
classType
=
this
.
form
.
classType
.
split
(
','
);
this
.
edit
=
true
;
this
.
title
=
"修改工作量信息"
;
});
},
/** 查看按钮操作 */
handleLook
(
row
)
{
this
.
reset
();
const
id
=
row
.
id
||
this
.
ids
this
.
isEdit
=
true
;
getAworkload
(
id
).
then
(
response
=>
{
this
.
form
=
response
.
data
;
this
.
form
.
classType
=
this
.
form
.
classType
.
split
(
','
);
this
.
look
=
true
;
this
.
title
=
"查看工作量信息"
;
});
},
/** 提交按钮 */
submitForm
()
{
this
.
$refs
[
"form"
].
validate
(
valid
=>
{
const
classTypeStr
=
this
.
form
.
classType
.
join
(
','
);
console
.
log
(
classTypeStr
);
// 输出转换后的字符串
if
(
valid
)
{
if
(
this
.
form
.
id
!=
null
)
{
updateAworkload
({
...
this
.
form
,
classType
:
classTypeStr
}).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"修改成功"
);
this
.
edit
=
false
;
this
.
getList
();
});
}
else
{
addAworkload
({
...
this
.
form
,
classType
:
classTypeStr
}).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"新增成功"
);
this
.
open
=
false
;
this
.
getList
();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete
(
row
)
{
const
ids
=
row
.
id
||
this
.
ids
;
this
.
$modal
.
confirm
(
'是否确认删除工作量信息编号为"'
+
ids
+
'"的数据项?'
).
then
(
function
()
{
return
delAworkload
(
ids
);
}).
then
(()
=>
{
this
.
getList
();
this
.
$modal
.
msgSuccess
(
"删除成功"
);
}).
catch
(()
=>
{
});
},
/** 导出按钮操作 */
handleExport
()
{
this
.
download
(
'/aworkload/download'
,
{
...
this
.
queryParams
},
`工作量信息_
${
new
Date
().
getTime
()}
.xlsx`
)
}
}
};
</
script
>
ruoyi-ui/src/views/smartSchool/personWork/comprehensiveHonors/components/SelectUser.vue
0 → 100644
View file @
314e1aee
<
template
>
<el-dialog
:visible
.
sync=
"openDialog"
:title=
"title"
:width=
"width"
@
close=
"dialogClose"
>
<!-- 模糊查询-->
<el-form
:model=
"form"
ref=
"form"
size=
"small"
inline
>
<el-form-item
prop=
"userName"
label=
"姓名"
>
<el-input
v-model
.
trim=
"form.userName"
placeholder=
"请输入姓名"
clearable
@
keyup
.
enter
.
native=
"search"
></el-input>
</el-form-item>
<el-form-item
prop=
"phone"
label=
"联系电话"
>
<el-input
v-model
.
trim=
"form.phone"
placeholder=
"请输入联系电话"
clearable
@
keyup
.
enter
.
native=
"search"
></el-input>
</el-form-item>
<el-form-item>
<el-button
@
click=
"search"
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
>
搜索
</el-button>
<el-button
@
click=
"reset"
icon=
"el-icon-refresh"
size=
"mini"
>
重置
</el-button>
</el-form-item>
</el-form>
<!-- 列表数据-->
<el-table
ref=
"tableList"
v-loading=
"loading"
:data=
"userList"
@
selection-change=
"selectionChange"
@
row-click=
"rowClick"
>
<el-table-column
type=
"selection"
align=
"center"
></el-table-column>
<el-table-column
key=
"userName"
prop=
"userName"
label=
"姓名"
align=
"center"
></el-table-column>
<el-table-column
key=
"phone"
prop=
"phone"
label=
"联系电话"
align=
"center"
></el-table-column>
</el-table>
<!-- 分页-->
<pagination
v-show=
"total > 0"
:total=
"total"
:limit
.
sync=
"form.pageSize"
:page
.
sync=
"form.pageNum"
@
pagination=
"search"
></pagination>
<!-- 底部-->
<div
slot=
"footer"
>
<el-button
:disabled=
"!selectUser"
@
click=
"submit"
type=
"primary"
size=
"small"
>
确 定
</el-button>
<el-button
@
click=
"quit"
size=
"small"
>
取 消
</el-button>
</div>
</el-dialog>
</
template
>
<
script
>
import
{
getUserList
}
from
"@/api/smartSchool/electronicArchives/professionalDevelopment/comprehensiveHonors"
;
export
default
{
name
:
"SelectUser"
,
dicts
:
[
'sys_user_sex'
],
props
:
{
open
:
{
type
:
Boolean
,
require
:
true
},
title
:
{
type
:
String
,
default
:
''
},
width
:
{
type
:
[
Number
,
String
],
default
:
'50%'
},
execute
:
{
type
:
[
String
]
},
// 选择级部、处室主任
id
:
{
type
:
[
Number
,
String
]
}
},
data
()
{
return
{
baseURL
:
process
.
env
.
VUE_APP_BASE_API
,
form
:
{
userName
:
''
,
phone
:
''
,
pageNum
:
1
,
pageSize
:
10
},
total
:
0
,
loading
:
false
,
userList
:
[],
selectUser
:
null
}
},
computed
:
{
openDialog
:
{
get
()
{
return
this
.
open
;
},
set
(
value
)
{
this
.
$emit
(
'update:open'
,
value
);
}
}
},
watch
:
{
open
(
value
)
{
if
(
value
)
{
this
.
$nextTick
(()
=>
{
this
.
reset
();
})
}
}
},
methods
:
{
/** 搜索(交给子组件维护,当然也可以把接口交给父组件处理) */
async
search
()
{
if
(
isNaN
(
Number
(
this
.
id
)))
{
console
.
error
(
'Invalid ID'
);
return
;
}
try
{
this
.
loading
=
true
;
const
response
=
await
this
[
this
.
execute
]({
applyOrgid
:
this
.
id
,
...
this
.
form
});
this
.
userList
=
response
.
rows
||
[];
this
.
total
=
response
.
total
;
this
.
loading
=
false
;
}
catch
(
exception
)
{
this
.
loading
=
false
;
throw
new
Error
(
exception
);
}
},
/** 重置表单 */
reset
()
{
this
.
form
=
{
teacherName
:
''
,
teacherTel
:
''
,
pageNum
:
1
,
pageSize
:
10
};
this
.
resetForm
(
'form'
);
this
.
search
();
},
/** 选项选中发生变化 */
selectionChange
(
selections
)
{
this
.
selectUser
=
selections
[
0
];
},
/** 点击选中、取消 */
rowClick
(
row
,
column
)
{
console
.
log
(
'row'
,
row
);
this
.
$refs
[
'tableList'
].
clearSelection
();
this
.
$refs
[
'tableList'
].
toggleRowSelection
(
row
,
true
);
},
/** 提交选中 */
submit
()
{
this
.
$emit
(
'select'
,
{
id
:
this
.
selectUser
.
userId
,
name
:
this
.
selectUser
.
userName
,
tel
:
this
.
selectUser
.
phone
});
this
.
quit
();
},
/** 取消 */
quit
()
{
this
.
openDialog
=
false
;
},
/** 分管领导、主要领导 */
leaderList
(
form
)
{
return
getUserList
(
form
);
},
dialogClose
()
{
this
.
userList
=
[]
}
}
}
</
script
>
<
style
scoped
>
.footer
{
display
:
flex
;
justify-content
:
center
;
margin-top
:
30px
;
}
.radius-image
{
border-radius
:
40px
;
}
</
style
>
ruoyi-ui/src/views/smartSchool/personWork/comprehensiveHonors/index.vue
View file @
314e1aee
<
template
>
<div
class=
"app-container"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"
6
8px"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"
9
8px"
>
<el-form-item
label=
"学科"
prop=
"sub"
>
<el-select
v-model=
"queryParams.
teachingSubject"
placeholder=
"请选择"
style=
"width: 100%
;"
>
<el-select
v-model=
"queryParams.
sub"
placeholder=
"请选择"
style=
"width: 220px
;"
>
<el-option
v-for=
"dict in dict.type.teaching_subjects"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"获奖类别"
prop=
"awardType"
>
<el-input
v-model=
"queryParams.awardType"
placeholder=
"请输入获奖类别"
clearable
@
keyup
.
enter
.
native=
"handleQuery
"
/>
<el-input
v-model=
"queryParams.awardType"
placeholder=
"请输入获奖类别"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
style=
"width: 220px;
"
/>
</el-form-item>
<el-form-item
label=
"获奖级别"
prop=
"awardRank"
>
<el-select
v-model=
"queryParams.awardRank"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-select
v-model=
"queryParams.awardRank"
placeholder=
"请选择"
>
<el-option
v-for=
"dict in dict.type.awards_level"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"获奖等级"
prop=
"awardLevel"
>
<el-select
v-model=
"queryParams.awardLevel"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-select
v-model=
"queryParams.awardLevel"
placeholder=
"请选择"
>
<el-option
v-for=
"dict in dict.type.award_rank"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
...
...
@@ -29,9 +29,14 @@
<el-form-item
label=
"获奖人"
prop=
"userName"
>
<el-input
v-model=
"queryParams.userName"
placeholder=
"请输入获奖人"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"获奖时间"
prop=
"awardTime"
>
<el-date-picker
clearable
v-model=
"queryParams.awardTime"
type=
"date"
value-format=
"yyyy-MM-dd"
placeholder=
"请选择获奖时间"
>
<el-form-item
label=
"获奖开始时间"
prop=
"startTime"
>
<el-date-picker
clearable
v-model=
"queryParams.startTime"
type=
"date"
value-format=
"yyyy-MM-dd"
placeholder=
"请选择"
>
</el-date-picker>
</el-form-item>
<el-form-item
label=
"获奖结束时间"
prop=
"endTime"
>
<el-date-picker
clearable
v-model=
"queryParams.endTime"
type=
"date"
value-format=
"yyyy-MM-dd"
placeholder=
"请选择"
>
</el-date-picker>
</el-form-item>
<el-form-item>
...
...
@@ -39,17 +44,12 @@
<el-button
icon=
"el-icon-refresh"
size=
"mini"
@
click=
"resetQuery"
>
重置
</el-button>
</el-form-item>
</el-form>
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-col
:span=
"1.5"
>
<el-button
type=
"primary"
plain
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAdd"
v-hasPermi=
"['system:honors:add']"
>
新增
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"success"
plain
icon=
"el-icon-edit"
size=
"mini"
:disabled=
"single"
@
click=
"handleUpdate"
v-hasPermi=
"['system:honors:edit']"
>
修改
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"danger"
plain
icon=
"el-icon-delete"
size=
"mini"
:disabled=
"multiple"
@
click=
"handleDelete"
v-hasPermi=
"['system:honors:remove']"
>
删除
</el-button>
</el-col>
...
...
@@ -62,11 +62,27 @@
<el-table
:data=
"honorsList"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"成长类型"
align=
"center"
prop=
"id"
/>
<el-table-column
label=
"学科"
align=
"center"
prop=
"sub"
/>
<el-table-column
label=
"获奖类型"
align=
"center"
prop=
"awardType"
/>
<el-table-column
label=
"获奖等级"
align=
"center"
prop=
"awardLevel"
/>
<el-table-column
label=
"获奖级别"
align=
"center"
prop=
"awardRank"
/>
<el-table-column
label=
"成长类型"
align=
"center"
prop=
"type"
>
<template>
<span>
综合荣誉
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"学科"
align=
"center"
prop=
"sub"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.teaching_subjects"
:value=
"scope.row.sub"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"获奖类别"
align=
"center"
prop=
"awardType"
/>
<el-table-column
label=
"获奖等级"
align=
"center"
prop=
"awardLevel"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.award_rank"
:value=
"scope.row.awardLevel"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"获奖级别"
align=
"center"
prop=
"awardType"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.awards_level"
:value=
"scope.row.awardType"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"综合荣誉-成果名称"
align=
"center"
prop=
"resultName"
/>
<el-table-column
label=
"获奖人"
align=
"center"
prop=
"userName"
/>
<el-table-column
label=
"主办单位"
align=
"center"
prop=
"org"
/>
...
...
@@ -77,10 +93,16 @@
<
/el-table-column
>
<
el
-
table
-
column
label
=
"操作"
align
=
"center"
class
-
name
=
"small-padding fixed-width"
>
<
template
slot
-
scope
=
"scope"
>
<
el
-
button
size
=
"mini"
type
=
"text"
icon
=
"el-icon-edit"
@
click
=
"handleUpdate(scope.row)"
v
-
hasPermi
=
"['system:honors:edit']"
>
修改
<
/el-button
>
<
el
-
button
size
=
"mini"
type
=
"text"
icon
=
"el-icon-delete"
@
click
=
"handleDelete(scope.row)"
v
-
hasPermi
=
"['system:honors:remove']"
>
删除
<
/el-button
>
<
el
-
button
size
=
"mini"
type
=
"text"
@
click
=
"handleUpdate(scope.row)"
v
-
hasPermi
=
"['system:honors:edit']"
v
-
if
=
"scope.row.auditState === '0' || scope.row.auditState === '3'"
>
修改
<
/el-button
>
<
el
-
button
size
=
"mini"
type
=
"text"
@
click
=
"handleLook(scope.row)"
v
-
hasPermi
=
"['system:honors:edit']"
v
-
if
=
"scope.row.auditState === '0' || scope.row.auditState === '1' || scope.row.auditState === '3' || scope.row.auditState === '2'"
>
查看
<
/el-button
>
<
el
-
button
size
=
"mini"
type
=
"text"
@
click
=
"handleDelete(scope.row)"
v
-
hasPermi
=
"['system:honors:remove']"
v
-
if
=
"scope.row.auditState === '0' || scope.row.auditState === '3'"
>
删除
<
/el-button
>
<
el
-
button
size
=
"mini"
type
=
"text"
@
click
=
"handleExamine(scope.row)"
v
-
hasPermi
=
"['system:honors:remove']"
v
-
if
=
"scope.row.auditState === '0'"
>
提交
<
/el-button
>
<
/template
>
<
/el-table-column
>
<
/el-table
>
...
...
@@ -90,11 +112,11 @@
<!--
添加或修改综合荣誉对话框
-->
<
el
-
dialog
title
=
"详细信息"
:
visible
.
sync
=
"open"
width
=
"1000px"
append
-
to
-
body
>
<
el
-
form
ref
=
"form"
:
model
=
"form"
:
rules
=
"rules"
label
-
width
=
"80px"
>
<
el
-
form
ref
=
"form"
:
model
=
"form"
:
rules
=
"rules"
label
-
width
=
"80px"
:
disabled
=
"isEdit"
>
<
el
-
row
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"学科"
prop
=
"sub"
>
<
el
-
select
v
-
model
=
"form.
teachingSubject
"
placeholder
=
"请选择"
style
=
"width: 100%;"
>
<
el
-
select
v
-
model
=
"form.
sub
"
placeholder
=
"请选择"
style
=
"width: 100%;"
>
<
el
-
option
v
-
for
=
"dict in dict.type.teaching_subjects"
:
key
=
"dict.value"
:
label
=
"dict.label"
:
value
=
"dict.value"
>
<
/el-option
>
...
...
@@ -103,7 +125,7 @@
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"获奖类别"
prop
=
"awardType"
>
<
el
-
input
v
-
model
=
"
queryParams
.awardType"
placeholder
=
"请输入获奖类别"
clearable
<
el
-
input
v
-
model
=
"
form
.awardType"
placeholder
=
"请输入获奖类别"
clearable
@
keyup
.
enter
.
native
=
"handleQuery"
/>
<
/el-form-item
>
<
/el-col
>
...
...
@@ -136,7 +158,7 @@
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"获奖人"
prop
=
"userName"
>
<
el
-
input
v
-
model
=
"form.userName"
placeholder
=
"请输入
获奖人"
/
>
<
el
-
input
v
-
model
=
"form.userName"
placeholder
=
"请输入
"
><
/el-input
>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
...
...
@@ -163,11 +185,12 @@
<
/el-row
>
<
el
-
row
>
<
el
-
col
:
span
=
"12"
class
=
"custom-margin"
>
<
el
-
form
-
item
label
=
"证书图片"
prop
=
"photo"
>
<
el
-
form
-
item
label
=
"证书图片"
prop
=
"pictureUrl"
:
rules
=
"[{ required: true, message: '证书图片不能为空', trigger: 'blur'
}
]"
>
<
el
-
upload
v
-
loading
=
"uploadLoading"
class
=
"avatar-uploader"
action
=
"#"
accept
=
"image/*"
:
show
-
file
-
list
=
"false"
:
on
-
success
=
"handleAvatarSuccess"
:
before
-
upload
=
"beforeAvatarUpload"
:
http
-
request
=
"uploadImage"
>
<
img
v
-
if
=
"form.p
hotoUrl"
:
src
=
"baseUrl + form.photo
Url"
<
img
v
-
if
=
"form.p
ictureUrl"
:
src
=
"baseUrl + form.picture
Url"
style
=
"max-width: 100%; max-height: 100%"
class
=
"avatar"
alt
=
""
/>
<
i
v
-
else
class
=
"el-icon-plus avatar-uploader-icon"
><
/i
>
<
/el-upload
>
...
...
@@ -176,21 +199,42 @@
<
/el-row
>
<
/el-form
>
<
div
slot
=
"footer"
class
=
"dialog-footer"
>
<
el
-
button
type
=
"primary"
@
click
=
"submitForm"
>
确
定
<
/el-button
>
<
el
-
button
@
click
=
"cancel"
>
取
消
<
/el-button
>
<
el
-
button
v
-
if
=
"isEdit === false"
type
=
"primary"
@
click
=
"submitForm"
>
确
定
<
/el-button
>
<
el
-
button
@
click
=
"cancel"
>
{{
isEdit
?
'取消'
:
'关闭'
}}
<
/el-button
>
<
/div
>
<
/el-dialog
>
<!--
选择对应处理人
-->
<
SelectUser
:
id
=
"selectHandles.id"
:
open
.
sync
=
"selectHandles.open"
:
title
=
"selectHandles.title"
:
width
=
"selectHandles.width"
:
execute
=
"selectHandles.method"
@
select
=
"selectUser"
><
/SelectUser
>
<
/div
>
<
/template
>
<
script
>
// import
{
listHonors
,
getHonors
,
delHonors
,
addHonors
,
updateHonors
}
from
"@/api/system/h
onors"
;
import
{
listHonorsgr
,
getHonors
,
delHonors
,
addHonors
,
updateHonors
,
audit
}
from
"@/api/smartSchool/electronicArchives/professionalDevelopment/comprehensiveH
onors"
;
import
{
uploadImage
as
commonUpload
}
from
"@/api/common"
;
import
SelectUser
from
"./components/SelectUser"
;
export
default
{
name
:
"Honors"
,
components
:
{
SelectUser
,
}
,
dicts
:
[
"teaching_subjects"
,
'award_categories'
,
'awards_level'
,
'award_rank'
],
data
()
{
return
{
isEdit
:
false
,
// 选择对应处理人
selectHandles
:
{
id
:
null
,
open
:
false
,
title
:
''
,
width
:
'50%'
,
method
:
null
,
type
:
null
// 处理类型: 1 级部/处室; 2 分管; 3 主管
}
,
// 图片上传遮罩层
uploadLoading
:
false
,
baseUrl
:
[
process
.
env
.
VUE_APP_BASE_API
],
...
...
@@ -207,45 +251,23 @@ export default {
// 总条数
total
:
0
,
// 综合荣誉表格数据
honorsList
:
[{
id
:
1
,
sub
:
"语文"
,
awardType
:
"国家级"
,
awardRank
:
"国家级"
,
awardLevel
:
"国家级"
,
resultName
:
"成果名称"
,
userId
:
"1"
,
userName
:
"获奖人"
,
org
:
"主办单位"
,
awardTime
:
"2020-01-01"
,
remark
:
"备注"
,
pictureName
:
"证书图片名称"
,
pictureUrl
:
"证书图片地址"
,
createBy
:
"创建人"
,
createTime
:
"2020-01-01"
,
updateBy
:
"修改人"
,
updateTime
:
"2020-01-01"
,
delFlag
:
"0"
}
],
honorsList
:
[],
// 弹出层标题
title
:
""
,
// 是否显示弹出层
open
:
false
,
look
:
false
,
// 查询参数
queryParams
:
{
pageNum
:
1
,
pageSize
:
10
,
sub
:
null
,
awardType
:
null
,
awardRank
:
null
,
awardLevel
:
null
,
resultName
:
null
,
userId
:
null
,
userName
:
null
,
org
:
null
,
awardTime
:
null
,
pictureName
:
null
,
pictureUrl
:
null
,
sub
:
""
,
awardType
:
""
,
awardRank
:
""
,
awardLevel
:
""
,
userName
:
""
,
startTime
:
""
,
endTime
:
""
,
}
,
// 表单参数
form
:
{
}
,
...
...
@@ -266,9 +288,6 @@ export default {
resultName
:
[
{
required
:
true
,
message
:
"成果名称不能为空"
,
trigger
:
"blur"
}
],
userId
:
[
{
required
:
true
,
message
:
"获奖人id不能为空"
,
trigger
:
"blur"
}
],
userName
:
[
{
required
:
true
,
message
:
"获奖人不能为空"
,
trigger
:
"blur"
}
],
...
...
@@ -278,37 +297,49 @@ export default {
awardTime
:
[
{
required
:
true
,
message
:
"获奖时间不能为空"
,
trigger
:
"blur"
}
],
pictureName
:
[
{
required
:
true
,
message
:
"证书图片名称不能为空"
,
trigger
:
"blur"
}
],
pictureUrl
:
[
{
required
:
true
,
message
:
"证书图片
地址
不能为空"
,
trigger
:
"blur"
}
{
required
:
true
,
message
:
"证书图片不能为空"
,
trigger
:
"blur"
}
],
delFlag
:
[
{
required
:
true
,
message
:
"删除状态不能为空"
,
trigger
:
"blur"
}
]
}
}
;
}
,
created
()
{
//
this.getList();
this
.
getList
();
}
,
methods
:
{
/** 查询综合荣誉列表 */
getList
()
{
this
.
loading
=
true
;
listHonors
(
this
.
queryParams
).
then
(
response
=>
{
listHonors
gr
(
this
.
queryParams
).
then
(
response
=>
{
this
.
honorsList
=
response
.
rows
;
this
.
total
=
response
.
total
;
this
.
loading
=
false
;
}
);
}
,
handleExamine
()
{
//提交
handleExamine
(
row
)
{
const
ids
=
row
.
id
||
this
.
ids
;
this
.
$modal
.
confirm
(
"是否提交该信息?"
)
.
then
(
function
()
{
const
params
=
{
id
:
row
.
id
,
auditState
:
'1'
}
;
return
audit
(
params
);
}
)
.
then
(()
=>
{
this
.
getList
();
this
.
$modal
.
msgSuccess
(
"提交成功"
);
}
)
.
catch
((
err
)
=>
{
console
.
error
(
err
);
}
);
}
,
// 上传成功回调
handleAvatarSuccess
(
res
,
file
)
{
this
.
p
hoto
Url
=
res
.
data
.
url
;
this
.
p
icture
Url
=
res
.
data
.
url
;
this
.
commonUpload
(
file
);
}
,
...
...
@@ -338,8 +369,8 @@ export default {
.
then
((
response
)
=>
{
this
.
uploadLoading
=
false
;
this
.
$modal
.
msgSuccess
(
"上传成功"
);
this
.
p
hoto
Url
=
this
.
pev
+
response
.
url
;
this
.
form
.
p
hoto
Url
=
response
.
url
;
this
.
p
icture
Url
=
this
.
pev
+
response
.
url
;
this
.
form
.
p
icture
Url
=
response
.
url
;
}
)
.
catch
((
error
)
=>
{
this
.
uploadLoading
=
false
;
...
...
@@ -348,6 +379,7 @@ export default {
// 取消按钮
cancel
()
{
this
.
open
=
false
;
this
.
look
=
false
;
this
.
reset
();
}
,
// 表单重置
...
...
@@ -393,6 +425,9 @@ export default {
/** 新增按钮操作 */
handleAdd
()
{
this
.
reset
();
this
.
isEdit
=
false
;
this
.
form
.
userName
=
this
.
$store
.
state
.
user
.
name
;
this
.
open
=
true
;
this
.
title
=
"添加综合荣誉"
;
}
,
...
...
@@ -400,14 +435,83 @@ export default {
handleUpdate
(
row
)
{
this
.
reset
();
this
.
open
=
true
;
this
.
isEdit
=
false
;
const
id
=
row
.
id
||
this
.
ids
getHonors
(
id
).
then
(
response
=>
{
this
.
form
=
response
.
data
;
this
.
pictureUrl
=
this
.
pev
+
this
.
form
.
pictureUrl
this
.
title
=
"修改综合荣誉"
;
}
);
}
,
// 查看按钮操作
handleLook
(
row
)
{
this
.
reset
();
this
.
open
=
true
;
this
.
isEdit
=
true
;
const
id
=
row
.
id
||
this
.
ids
getHonors
(
id
).
then
(
response
=>
{
this
.
form
=
response
.
data
;
this
.
pictureUrl
=
this
.
pev
+
this
.
form
.
pictureUrl
this
.
title
=
"查看综合荣誉"
;
}
);
}
,
// 选择处理人:打开对话框
openSelect
(
title
,
method
,
type
)
{
console
.
log
(
'form.userName'
,
this
.
form
.
userName
);
if
(
this
.
form
.
userName
)
{
console
.
log
(
'有值'
,
this
.
form
.
userName
==
""
);
}
else
{
console
.
log
(
'没值'
,
this
.
form
.
userName
);
this
.
selectHandles
.
open
=
true
;
this
.
selectHandles
.
title
=
title
;
this
.
selectHandles
.
method
=
method
;
this
.
selectHandles
.
type
=
type
;
}
}
,
// openSelect(title, method, type)
{
// console.log(1);
// console.log('form.userName', this.form.userName);
// if (!this.form.id)
{
// console.log('新增操作');
// if (Object.keys(this.form).some(key => this.form[key]))
{
// console.log('有值', this.form.userName);
//
}
else
{
// console.log('没值', this.form.userName);
// this.selectHandles.open = true;
// this.selectHandles.title = title;
// this.selectHandles.method = method;
// this.selectHandles.type = type;
//
}
//
}
else
{
// console.log('修改操作');
// this.selectHandles.open = true;
// this.selectHandles.title = title;
// this.selectHandles.method = method;
// this.selectHandles.type = type;
//
}
//
}
,
// 选择处理人
selectUser
(
select
)
{
this
.
$set
(
this
.
form
,
`userName${this.selectHandles.type
}
`
,
select
.
name
);
console
.
log
(
select
.
name
);
this
.
$set
(
this
.
form
,
`userId${this.selectHandles.type
}
`
,
select
.
id
);
console
.
log
(
select
.
id
);
// 设置顶层的 userName 和 userId 字段
this
.
form
.
userName
=
select
.
name
;
console
.
log
(
124
,
this
.
form
.
userName
);
console
.
log
(
select
);
this
.
form
.
userId
=
select
.
id
;
console
.
log
(
this
.
form
.
userId
,
'this.form.userId'
);
// 重新赋值选中的 id
this
.
selectUser
.
id
=
select
.
id
;
}
,
/** 提交按钮 */
submitForm
()
{
this
.
form
.
auditState
=
'0'
;
this
.
$refs
[
"form"
].
validate
(
valid
=>
{
if
(
valid
)
{
if
(
this
.
form
.
id
!=
null
)
{
...
...
@@ -438,9 +542,9 @@ export default {
}
,
/** 导出按钮操作 */
handleExport
()
{
this
.
download
(
'
system/honors/export
'
,
{
this
.
download
(
'
/system/honors/exportGr
'
,
{
...
this
.
queryParams
}
,
`
honors
_${new Date().getTime()
}
.xlsx`
)
}
,
`
综合荣誉
_${new Date().getTime()
}
.xlsx`
)
}
}
}
;
...
...
ruoyi-ui/src/views/smartSchool/personWork/essaysWritings/components/SelectUser.vue
0 → 100644
View file @
314e1aee
<
template
>
<el-dialog
:visible
.
sync=
"openDialog"
:title=
"title"
:width=
"width"
@
close=
"dialogClose"
>
<!-- 模糊查询-->
<el-form
:model=
"form"
ref=
"form"
size=
"small"
inline
>
<el-form-item
prop=
"userName"
label=
"姓名"
>
<el-input
v-model
.
trim=
"form.userName"
placeholder=
"请输入姓名"
clearable
@
keyup
.
enter
.
native=
"search"
></el-input>
</el-form-item>
<el-form-item
prop=
"phone"
label=
"联系电话"
>
<el-input
v-model
.
trim=
"form.phone"
placeholder=
"请输入联系电话"
clearable
@
keyup
.
enter
.
native=
"search"
></el-input>
</el-form-item>
<el-form-item>
<el-button
@
click=
"search"
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
>
搜索
</el-button>
<el-button
@
click=
"reset"
icon=
"el-icon-refresh"
size=
"mini"
>
重置
</el-button>
</el-form-item>
</el-form>
<!-- 列表数据-->
<el-table
ref=
"tableList"
v-loading=
"loading"
:data=
"userList"
@
selection-change=
"selectionChange"
@
row-click=
"rowClick"
>
<el-table-column
type=
"selection"
align=
"center"
></el-table-column>
<el-table-column
key=
"userName"
prop=
"userName"
label=
"姓名"
align=
"center"
></el-table-column>
<el-table-column
key=
"phone"
prop=
"phone"
label=
"联系电话"
align=
"center"
></el-table-column>
</el-table>
<!-- 分页-->
<pagination
v-show=
"total > 0"
:total=
"total"
:limit
.
sync=
"form.pageSize"
:page
.
sync=
"form.pageNum"
@
pagination=
"search"
></pagination>
<!-- 底部-->
<div
slot=
"footer"
>
<el-button
:disabled=
"!selectUser"
@
click=
"submit"
type=
"primary"
size=
"small"
>
确 定
</el-button>
<el-button
@
click=
"quit"
size=
"small"
>
取 消
</el-button>
</div>
</el-dialog>
</
template
>
<
script
>
import
{
getUserList
}
from
"@/api/smartSchool/electronicArchives/professionalDevelopment/comprehensiveHonors"
;
export
default
{
name
:
"SelectUser"
,
dicts
:
[
'sys_user_sex'
],
props
:
{
open
:
{
type
:
Boolean
,
require
:
true
},
title
:
{
type
:
String
,
default
:
''
},
width
:
{
type
:
[
Number
,
String
],
default
:
'50%'
},
execute
:
{
type
:
[
String
]
},
// 选择级部、处室主任
id
:
{
type
:
[
Number
,
String
]
}
},
data
()
{
return
{
baseURL
:
process
.
env
.
VUE_APP_BASE_API
,
form
:
{
userName
:
''
,
phone
:
''
,
pageNum
:
1
,
pageSize
:
10
},
total
:
0
,
loading
:
false
,
userList
:
[],
selectUser
:
null
}
},
computed
:
{
openDialog
:
{
get
()
{
return
this
.
open
;
},
set
(
value
)
{
this
.
$emit
(
'update:open'
,
value
);
}
}
},
watch
:
{
open
(
value
)
{
if
(
value
)
{
this
.
$nextTick
(()
=>
{
this
.
reset
();
})
}
}
},
methods
:
{
/** 搜索(交给子组件维护,当然也可以把接口交给父组件处理) */
async
search
()
{
if
(
isNaN
(
Number
(
this
.
id
)))
{
console
.
error
(
'Invalid ID'
);
return
;
}
try
{
this
.
loading
=
true
;
const
response
=
await
this
[
this
.
execute
]({
applyOrgid
:
this
.
id
,
...
this
.
form
});
this
.
userList
=
response
.
rows
||
[];
this
.
total
=
response
.
total
;
this
.
loading
=
false
;
}
catch
(
exception
)
{
this
.
loading
=
false
;
throw
new
Error
(
exception
);
}
},
/** 重置表单 */
reset
()
{
this
.
form
=
{
teacherName
:
''
,
teacherTel
:
''
,
pageNum
:
1
,
pageSize
:
10
};
this
.
resetForm
(
'form'
);
this
.
search
();
},
/** 选项选中发生变化 */
selectionChange
(
selections
)
{
this
.
selectUser
=
selections
[
0
];
},
/** 点击选中、取消 */
rowClick
(
row
,
column
)
{
console
.
log
(
'row'
,
row
);
this
.
$refs
[
'tableList'
].
clearSelection
();
this
.
$refs
[
'tableList'
].
toggleRowSelection
(
row
,
true
);
},
/** 提交选中 */
submit
()
{
this
.
$emit
(
'select'
,
{
id
:
this
.
selectUser
.
userId
,
name
:
this
.
selectUser
.
userName
,
tel
:
this
.
selectUser
.
phone
});
this
.
quit
();
},
/** 取消 */
quit
()
{
this
.
openDialog
=
false
;
},
/** 分管领导、主要领导 */
leaderList
(
form
)
{
return
getUserList
(
form
);
},
dialogClose
()
{
this
.
userList
=
[]
}
}
}
</
script
>
<
style
scoped
>
.footer
{
display
:
flex
;
justify-content
:
center
;
margin-top
:
30px
;
}
.radius-image
{
border-radius
:
40px
;
}
</
style
>
ruoyi-ui/src/views/smartSchool/personWork/essaysWritings/index.vue
View file @
314e1aee
...
...
@@ -3,28 +3,28 @@
<div
class=
"app-container"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
<el-form-item
label=
"学科"
prop=
"sub"
>
<el-select
v-model=
"
form.teachingSubject
"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-select
v-model=
"
queryParams.sub
"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-option
v-for=
"dict in dict.type.teaching_subjects"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"获奖类别"
prop=
"awardType"
>
<el-select
v-model=
"
form
.awardType"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-select
v-model=
"
queryParams
.awardType"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-option
v-for=
"dict in dict.type.award_categories"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"获奖级别"
prop=
"awardRank"
>
<el-select
v-model=
"
form
.awardRank"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-select
v-model=
"
queryParams
.awardRank"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-option
v-for=
"dict in dict.type.awards_level"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"获奖等级"
prop=
"awardLevel"
>
<el-select
v-model=
"
form
.awardLevel"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-select
v-model=
"
queryParams
.awardLevel"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-option
v-for=
"dict in dict.type.award_rank"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
...
...
@@ -67,11 +67,31 @@
<el-table
:data=
"worksList"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"成长类型"
align=
"center"
prop=
"id"
/>
<el-table-column
label=
"学科"
align=
"center"
prop=
"sub"
/>
<el-table-column
label=
"获奖类型"
align=
"center"
prop=
"awardType"
/>
<el-table-column
label=
"获奖等级"
align=
"center"
prop=
"awardLevel"
/>
<el-table-column
label=
"获奖级别"
align=
"center"
prop=
"awardRank"
/>
<el-table-column
label=
"成长类型"
align=
"center"
>
<template>
<span>
论文论著
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"学科"
align=
"center"
prop=
"sub"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.teaching_subjects"
:value=
"scope.row.sub"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"获奖类别"
align=
"center"
prop=
"awardType"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.award_categories"
:value=
"scope.row.awardType"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"获奖等级"
align=
"center"
prop=
"awardLevel"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.award_rank"
:value=
"scope.row.awardLevel"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"获奖级别"
align=
"center"
prop=
"awardRank"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.awards_level"
:value=
"scope.row.awardRank"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"成果名称"
align=
"center"
prop=
"resultName"
/>
<el-table-column
label=
"获奖人"
align=
"center"
prop=
"userName"
/>
<el-table-column
label=
"主办单位"
align=
"center"
prop=
"org"
/>
...
...
@@ -86,6 +106,8 @@
v
-
hasPermi
=
"['system:honors:edit']"
>
修改
<
/el-button
>
<
el
-
button
size
=
"mini"
type
=
"text"
icon
=
"el-icon-delete"
@
click
=
"handleDelete(scope.row)"
v
-
hasPermi
=
"['system:honors:remove']"
>
删除
<
/el-button
>
<
el
-
button
size
=
"mini"
type
=
"text"
icon
=
"el-icon-s-check"
@
click
=
"handleExamine(scope.row)"
v
-
hasPermi
=
"['system:honors:remove']"
>
审核
<
/el-button
>
<
/template
>
<
/el-table-column
>
<
/el-table
>
...
...
@@ -99,7 +121,7 @@
<
el
-
row
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"学科"
prop
=
"sub"
>
<
el
-
select
v
-
model
=
"form.
teachingSubject
"
placeholder
=
"请选择"
style
=
"width: 100%;"
>
<
el
-
select
v
-
model
=
"form.
sub
"
placeholder
=
"请选择"
style
=
"width: 100%;"
>
<
el
-
option
v
-
for
=
"dict in dict.type.teaching_subjects"
:
key
=
"dict.value"
:
label
=
"dict.label"
:
value
=
"dict.value"
>
<
/el-option
>
...
...
@@ -143,8 +165,9 @@
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"获奖人"
prop
=
"userName"
>
<
el
-
input
v
-
model
=
"form.userName"
placeholder
=
"请输入获奖人"
/>
<
el
-
form
-
item
label
=
"获奖人"
>
<
el
-
input
v
-
model
=
"form.userName"
placeholder
=
"请选择分管领导"
@
focus
=
"openSelect('选择分管领导', 'leaderList', 2)"
><
/el-input
>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
...
...
@@ -175,7 +198,7 @@
<
el
-
upload
v
-
loading
=
"uploadLoading"
class
=
"avatar-uploader"
action
=
"#"
accept
=
"image/*"
:
show
-
file
-
list
=
"false"
:
on
-
success
=
"handleAvatarSuccess"
:
before
-
upload
=
"beforeAvatarUpload"
:
http
-
request
=
"uploadImage"
>
<
img
v
-
if
=
"form.p
hotoUrl"
:
src
=
"baseUrl + form.photo
Url"
<
img
v
-
if
=
"form.p
ictureUrl"
:
src
=
"baseUrl + form.picture
Url"
style
=
"max-width: 100%; max-height: 100%"
class
=
"avatar"
alt
=
""
/>
<
i
v
-
else
class
=
"el-icon-plus avatar-uploader-icon"
><
/i
>
<
/el-upload
>
...
...
@@ -188,17 +211,34 @@
<
el
-
button
@
click
=
"cancel"
>
取
消
<
/el-button
>
<
/div
>
<
/el-dialog
>
<!--
选择对应处理人
-->
<
SelectUser
:
id
=
"selectHandles.id"
:
open
.
sync
=
"selectHandles.open"
:
title
=
"selectHandles.title"
:
width
=
"selectHandles.width"
:
execute
=
"selectHandles.method"
@
select
=
"selectUser"
><
/SelectUser
>
<
/div
>
<
/template
>
<
script
>
// import
{
listWorks
,
getWorks
,
delWorks
,
addWorks
,
updateWorks
}
from
"@/api/system/works"
;
import
{
listWorks
,
getWorks
,
delWorks
,
addWorks
,
updateWorks
}
from
"@/api/smartSchool/electronicArchives/professionalDevelopment/essaysWritings"
;
;
import
{
uploadImage
as
commonUpload
}
from
"@/api/common"
;
import
SelectUser
from
"./components/SelectUser"
;
export
default
{
name
:
"Works"
,
components
:
{
SelectUser
,
}
,
dicts
:
[
"teaching_subjects"
,
'award_categories'
,
'awards_level'
,
'award_rank'
],
data
()
{
return
{
// 选择对应处理人
selectHandles
:
{
id
:
null
,
open
:
false
,
title
:
''
,
width
:
'50%'
,
method
:
null
,
type
:
null
// 处理类型: 1 级部/处室; 2 分管; 3 主管
}
,
// 遮罩层
loading
:
true
,
// 选中数组
...
...
@@ -214,26 +254,7 @@ export default {
// 图片上传遮罩层
uploadLoading
:
false
,
// 论文著作表格数据
worksList
:
[{
id
:
1
,
sub
:
null
,
awardType
:
null
,
awardRank
:
null
,
awardLevel
:
null
,
resultName
:
null
,
userId
:
null
,
userName
:
null
,
org
:
null
,
awardTime
:
null
,
remark
:
null
,
pictureName
:
null
,
pictureUrl
:
null
,
createBy
:
null
,
createTime
:
null
,
updateBy
:
null
,
updateTime
:
null
,
delFlag
:
null
}
],
worksList
:
[],
// 弹出层标题
title
:
""
,
// 是否显示弹出层
...
...
@@ -303,7 +324,7 @@ export default {
}
;
}
,
created
()
{
//
this.getList();
this
.
getList
();
}
,
methods
:
{
/** 查询论文著作列表 */
...
...
@@ -315,6 +336,31 @@ export default {
this
.
loading
=
false
;
}
);
}
,
// 选择处理人:打开对话框
openSelect
(
title
,
method
,
type
)
{
console
.
log
(
1
);
this
.
selectHandles
.
open
=
true
;
this
.
selectHandles
.
title
=
title
;
this
.
selectHandles
.
method
=
method
;
this
.
selectHandles
.
type
=
type
;
}
,
// 选择处理人
selectUser
(
select
)
{
this
.
$set
(
this
.
form
,
`userName${this.selectHandles.type
}
`
,
select
.
name
);
console
.
log
(
select
.
name
);
this
.
$set
(
this
.
form
,
`userId${this.selectHandles.type
}
`
,
select
.
id
);
console
.
log
(
select
.
id
);
// 设置顶层的 userName 和 userId 字段
this
.
form
.
userName
=
select
.
name
;
console
.
log
(
124
,
this
.
form
.
userName
);
console
.
log
(
select
);
this
.
form
.
userId
=
select
.
id
;
console
.
log
(
this
.
form
.
userId
,
'this.form.userId'
);
// 重新赋值选中的 id
this
.
selectUser
.
id
=
select
.
id
;
}
,
// 取消按钮
cancel
()
{
this
.
open
=
false
;
...
...
@@ -322,7 +368,7 @@ export default {
}
,
// 上传成功回调
handleAvatarSuccess
(
res
,
file
)
{
this
.
p
hoto
Url
=
res
.
data
.
url
;
this
.
p
icture
Url
=
res
.
data
.
url
;
this
.
commonUpload
(
file
);
}
,
...
...
@@ -352,8 +398,8 @@ export default {
.
then
((
response
)
=>
{
this
.
uploadLoading
=
false
;
this
.
$modal
.
msgSuccess
(
"上传成功"
);
this
.
p
hoto
Url
=
this
.
pev
+
response
.
url
;
this
.
form
.
p
hoto
Url
=
response
.
url
;
this
.
p
icture
Url
=
this
.
pev
+
response
.
url
;
this
.
form
.
p
icture
Url
=
response
.
url
;
}
)
.
catch
((
error
)
=>
{
this
.
uploadLoading
=
false
;
...
...
@@ -447,9 +493,9 @@ export default {
}
,
/** 导出按钮操作 */
handleExport
()
{
this
.
download
(
'system/works/export'
,
{
this
.
download
(
'
/
system/works/export'
,
{
...
this
.
queryParams
}
,
`
works
_${new Date().getTime()
}
.xlsx`
)
}
,
`
论文论著
_${new Date().getTime()
}
.xlsx`
)
}
}
}
;
...
...
ruoyi-ui/src/views/smartSchool/personWork/lectureAwards/components/SelectUser.vue
0 → 100644
View file @
314e1aee
<
template
>
<el-dialog
:visible
.
sync=
"openDialog"
:title=
"title"
:width=
"width"
@
close=
"dialogClose"
>
<!-- 模糊查询-->
<el-form
:model=
"form"
ref=
"form"
size=
"small"
inline
>
<el-form-item
prop=
"userName"
label=
"姓名"
>
<el-input
v-model
.
trim=
"form.userName"
placeholder=
"请输入姓名"
clearable
@
keyup
.
enter
.
native=
"search"
></el-input>
</el-form-item>
<el-form-item
prop=
"phone"
label=
"联系电话"
>
<el-input
v-model
.
trim=
"form.phone"
placeholder=
"请输入联系电话"
clearable
@
keyup
.
enter
.
native=
"search"
></el-input>
</el-form-item>
<el-form-item>
<el-button
@
click=
"search"
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
>
搜索
</el-button>
<el-button
@
click=
"reset"
icon=
"el-icon-refresh"
size=
"mini"
>
重置
</el-button>
</el-form-item>
</el-form>
<!-- 列表数据-->
<el-table
ref=
"tableList"
v-loading=
"loading"
:data=
"userList"
@
selection-change=
"selectionChange"
@
row-click=
"rowClick"
>
<el-table-column
type=
"selection"
align=
"center"
></el-table-column>
<el-table-column
key=
"userName"
prop=
"userName"
label=
"姓名"
align=
"center"
></el-table-column>
<el-table-column
key=
"phone"
prop=
"phone"
label=
"联系电话"
align=
"center"
></el-table-column>
</el-table>
<!-- 分页-->
<pagination
v-show=
"total > 0"
:total=
"total"
:limit
.
sync=
"form.pageSize"
:page
.
sync=
"form.pageNum"
@
pagination=
"search"
></pagination>
<!-- 底部-->
<div
slot=
"footer"
>
<el-button
:disabled=
"!selectUser"
@
click=
"submit"
type=
"primary"
size=
"small"
>
确 定
</el-button>
<el-button
@
click=
"quit"
size=
"small"
>
取 消
</el-button>
</div>
</el-dialog>
</
template
>
<
script
>
import
{
getUserList
}
from
"@/api/smartSchool/electronicArchives/professionalDevelopment/comprehensiveHonors"
;
export
default
{
name
:
"SelectUser"
,
dicts
:
[
'sys_user_sex'
],
props
:
{
open
:
{
type
:
Boolean
,
require
:
true
},
title
:
{
type
:
String
,
default
:
''
},
width
:
{
type
:
[
Number
,
String
],
default
:
'50%'
},
execute
:
{
type
:
[
String
]
},
// 选择级部、处室主任
id
:
{
type
:
[
Number
,
String
]
}
},
data
()
{
return
{
baseURL
:
process
.
env
.
VUE_APP_BASE_API
,
form
:
{
userName
:
''
,
phone
:
''
,
pageNum
:
1
,
pageSize
:
10
},
total
:
0
,
loading
:
false
,
userList
:
[],
selectUser
:
null
}
},
computed
:
{
openDialog
:
{
get
()
{
return
this
.
open
;
},
set
(
value
)
{
this
.
$emit
(
'update:open'
,
value
);
}
}
},
watch
:
{
open
(
value
)
{
if
(
value
)
{
this
.
$nextTick
(()
=>
{
this
.
reset
();
})
}
}
},
methods
:
{
/** 搜索(交给子组件维护,当然也可以把接口交给父组件处理) */
async
search
()
{
if
(
isNaN
(
Number
(
this
.
id
)))
{
console
.
error
(
'Invalid ID'
);
return
;
}
try
{
this
.
loading
=
true
;
const
response
=
await
this
[
this
.
execute
]({
applyOrgid
:
this
.
id
,
...
this
.
form
});
this
.
userList
=
response
.
rows
||
[];
this
.
total
=
response
.
total
;
this
.
loading
=
false
;
}
catch
(
exception
)
{
this
.
loading
=
false
;
throw
new
Error
(
exception
);
}
},
/** 重置表单 */
reset
()
{
this
.
form
=
{
teacherName
:
''
,
teacherTel
:
''
,
pageNum
:
1
,
pageSize
:
10
};
this
.
resetForm
(
'form'
);
this
.
search
();
},
/** 选项选中发生变化 */
selectionChange
(
selections
)
{
this
.
selectUser
=
selections
[
0
];
},
/** 点击选中、取消 */
rowClick
(
row
,
column
)
{
console
.
log
(
'row'
,
row
);
this
.
$refs
[
'tableList'
].
clearSelection
();
this
.
$refs
[
'tableList'
].
toggleRowSelection
(
row
,
true
);
},
/** 提交选中 */
submit
()
{
this
.
$emit
(
'select'
,
{
id
:
this
.
selectUser
.
userId
,
name
:
this
.
selectUser
.
userName
,
tel
:
this
.
selectUser
.
phone
});
this
.
quit
();
},
/** 取消 */
quit
()
{
this
.
openDialog
=
false
;
},
/** 分管领导、主要领导 */
leaderList
(
form
)
{
return
getUserList
(
form
);
},
dialogClose
()
{
this
.
userList
=
[]
}
}
}
</
script
>
<
style
scoped
>
.footer
{
display
:
flex
;
justify-content
:
center
;
margin-top
:
30px
;
}
.radius-image
{
border-radius
:
40px
;
}
</
style
>
ruoyi-ui/src/views/smartSchool/personWork/lectureAwards/index.vue
View file @
314e1aee
<
template
>
<div
class=
"app-container"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"
6
8px"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"
9
8px"
>
<el-form-item
label=
"学科"
prop=
"sub"
>
<el-select
v-model=
"
form.teachingSubject"
placeholder=
"请选择"
style=
"width: 100%
;"
>
<el-select
v-model=
"
queryParams.sub"
placeholder=
"请选择"
style=
"width: 220px
;"
>
<el-option
v-for=
"dict in dict.type.teaching_subjects"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"获奖类别"
prop=
"awardType"
>
<el-select
v-model=
"
form.awardType"
placeholder=
"请选择"
style=
"width: 100%;
"
>
<el-select
v-model=
"
queryParams.awardType"
placeholder=
"请选择"
style=
"width: 220px
"
>
<el-option
v-for=
"dict in dict.type.award_categoriesjk"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"获奖级别"
prop=
"awardRank"
>
<el-select
v-model=
"
form
.awardRank"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-select
v-model=
"
queryParams
.awardRank"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-option
v-for=
"dict in dict.type.awards_level"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
...
...
@@ -24,7 +24,7 @@
</el-form-item>
<el-form-item
label=
"获奖等级"
prop=
"awardLevel"
>
<el-select
v-model=
"
form
.awardLevel"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-select
v-model=
"
queryParams
.awardLevel"
placeholder=
"请选择"
style=
"width: 100%;"
>
<el-option
v-for=
"dict in dict.type.award_rank"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
...
...
@@ -33,9 +33,14 @@
<el-form-item
label=
"获奖人"
prop=
"userName"
>
<el-input
v-model=
"queryParams.userName"
placeholder=
"请输入获奖人"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"获奖时间"
prop=
"awardTime"
>
<el-date-picker
clearable
v-model=
"queryParams.awardTime"
type=
"date"
value-format=
"yyyy-MM-dd"
placeholder=
"请选择获奖时间"
>
<el-form-item
label=
"获奖开始时间"
prop=
"awardTime"
>
<el-date-picker
clearable
v-model=
"queryParams.startTime"
type=
"date"
value-format=
"yyyy-MM-dd"
placeholder=
"请选择"
>
</el-date-picker>
</el-form-item>
<el-form-item
label=
"获奖结束时间"
prop=
"awardTime"
>
<el-date-picker
clearable
v-model=
"queryParams.endTime"
type=
"date"
value-format=
"yyyy-MM-dd"
placeholder=
"请选择"
>
</el-date-picker>
</el-form-item>
<el-form-item>
...
...
@@ -66,11 +71,31 @@
<el-table
:data=
"awardsList"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"成长类型"
align=
"center"
prop=
"id"
/>
<el-table-column
label=
"学科"
align=
"center"
prop=
"sub"
/>
<el-table-column
label=
"获奖类型"
align=
"center"
prop=
"awardType"
/>
<el-table-column
label=
"获奖等级"
align=
"center"
prop=
"awardLevel"
/>
<el-table-column
label=
"获奖级别"
align=
"center"
prop=
"awardRank"
/>
<el-table-column
label=
"成长类型"
align=
"center"
>
<template>
<span>
讲课获奖
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"学科"
align=
"center"
prop=
"sub"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.teaching_subjects"
:value=
"scope.row.sub"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"获奖类别"
align=
"center"
prop=
"awardType"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.award_categoriesjk"
:value=
"scope.row.awardType"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"获奖等级"
align=
"center"
prop=
"awardLevel"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.award_rank"
:value=
"scope.row.awardLevel"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"获奖级别"
align=
"center"
prop=
"awardRank"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.awards_level"
:value=
"scope.row.awardRank"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"讲课获奖-成果名称"
align=
"center"
prop=
"resultName"
/>
<el-table-column
label=
"获奖人"
align=
"center"
prop=
"userName"
/>
<el-table-column
label=
"主办单位"
align=
"center"
prop=
"org"
/>
...
...
@@ -85,6 +110,8 @@
v
-
hasPermi
=
"['system:honors:edit']"
>
修改
<
/el-button
>
<
el
-
button
size
=
"mini"
type
=
"text"
icon
=
"el-icon-delete"
@
click
=
"handleDelete(scope.row)"
v
-
hasPermi
=
"['system:honors:remove']"
>
删除
<
/el-button
>
<
el
-
button
size
=
"mini"
type
=
"text"
icon
=
"el-icon-s-check"
@
click
=
"handleExamine(scope.row)"
v
-
hasPermi
=
"['system:honors:remove']"
>
审核
<
/el-button
>
<
/template
>
<
/el-table-column
>
<
/el-table
>
...
...
@@ -98,7 +125,7 @@
<
el
-
row
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"学科"
prop
=
"sub"
>
<
el
-
select
v
-
model
=
"form.
teachingSubject
"
placeholder
=
"请选择"
style
=
"width: 100%;"
>
<
el
-
select
v
-
model
=
"form.
sub
"
placeholder
=
"请选择"
style
=
"width: 100%;"
>
<
el
-
option
v
-
for
=
"dict in dict.type.teaching_subjects"
:
key
=
"dict.value"
:
label
=
"dict.label"
:
value
=
"dict.value"
>
<
/el-option
>
...
...
@@ -145,7 +172,8 @@
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"获奖人"
prop
=
"userName"
>
<
el
-
input
v
-
model
=
"form.userName"
placeholder
=
"请输入获奖人"
/>
<
el
-
input
v
-
model
=
"form.userName"
placeholder
=
"请选择分管领导"
@
focus
=
"openSelect('选择分管领导', 'leaderList', 2)"
><
/el-input
>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
...
...
@@ -176,7 +204,7 @@
<
el
-
upload
v
-
loading
=
"uploadLoading"
class
=
"avatar-uploader"
action
=
"#"
accept
=
"image/*"
:
show
-
file
-
list
=
"false"
:
on
-
success
=
"handleAvatarSuccess"
:
before
-
upload
=
"beforeAvatarUpload"
:
http
-
request
=
"uploadImage"
>
<
img
v
-
if
=
"form.p
hotoUrl"
:
src
=
"baseUrl + form.photo
Url"
<
img
v
-
if
=
"form.p
ictureUrl"
:
src
=
"baseUrl + form.picture
Url"
style
=
"max-width: 100%; max-height: 100%"
class
=
"avatar"
alt
=
""
/>
<
i
v
-
else
class
=
"el-icon-plus avatar-uploader-icon"
><
/i
>
<
/el-upload
>
...
...
@@ -189,17 +217,32 @@
<
el
-
button
@
click
=
"cancel"
>
取
消
<
/el-button
>
<
/div
>
<
/el-dialog
>
<
SelectUser
:
id
=
"selectHandles.id"
:
open
.
sync
=
"selectHandles.open"
:
title
=
"selectHandles.title"
:
width
=
"selectHandles.width"
:
execute
=
"selectHandles.method"
@
select
=
"selectUser"
><
/SelectUser
>
<
/div
>
<
/template
>
<
script
>
// import
{
listAwards
,
getAwards
,
delAwards
,
addAwards
,
updateAwards
}
from
"@/api/system/a
wards"
;
import
{
listAwards
,
getAwards
,
delAwards
,
addAwards
,
updateAwards
}
from
"@/api/smartSchool/electronicArchives/professionalDevelopment/lectureA
wards"
;
import
{
uploadImage
as
commonUpload
}
from
"@/api/common"
;
import
SelectUser
from
"./components/SelectUser"
;
export
default
{
name
:
"Awards"
,
components
:
{
SelectUser
,
}
,
dicts
:
[
"teaching_subjects"
,
'award_categoriesjk'
,
'awards_level'
,
'award_rank'
],
data
()
{
return
{
// 选择对应处理人
selectHandles
:
{
id
:
null
,
open
:
false
,
title
:
''
,
width
:
'50%'
,
method
:
null
,
type
:
null
// 处理类型: 1 级部/处室; 2 分管; 3 主管
}
,
// 图片上传遮罩层
uploadLoading
:
false
,
baseUrl
:
[
process
.
env
.
VUE_APP_BASE_API
],
...
...
@@ -216,26 +259,7 @@ export default {
// 总条数
total
:
0
,
// 讲课获奖表格数据
awardsList
:
[{
id
:
1
,
sub
:
null
,
awardType
:
null
,
awardRank
:
null
,
awardLevel
:
null
,
resultName
:
null
,
userId
:
null
,
userName
:
null
,
org
:
null
,
awardTime
:
null
,
remark
:
null
,
pictureName
:
null
,
pictureUrl
:
null
,
createBy
:
null
,
createTime
:
null
,
upateBy
:
null
,
updateTime
:
null
,
delFlag
:
null
}
],
awardsList
:
[],
// 弹出层标题
title
:
""
,
// 是否显示弹出层
...
...
@@ -301,7 +325,7 @@ export default {
}
;
}
,
created
()
{
//
this.getList();
this
.
getList
();
}
,
methods
:
{
...
...
@@ -314,10 +338,36 @@ export default {
this
.
loading
=
false
;
}
);
}
,
// 选择处理人:打开对话框
openSelect
(
title
,
method
,
type
)
{
console
.
log
(
1
);
this
.
selectHandles
.
open
=
true
;
this
.
selectHandles
.
title
=
title
;
this
.
selectHandles
.
method
=
method
;
this
.
selectHandles
.
type
=
type
;
}
,
// 选择处理人
selectUser
(
select
)
{
this
.
$set
(
this
.
form
,
`userName${this.selectHandles.type
}
`
,
select
.
name
);
console
.
log
(
select
.
name
);
this
.
$set
(
this
.
form
,
`userId${this.selectHandles.type
}
`
,
select
.
id
);
console
.
log
(
select
.
id
);
// 设置顶层的 userName 和 userId 字段
this
.
form
.
userName
=
select
.
name
;
console
.
log
(
124
,
this
.
form
.
userName
);
console
.
log
(
select
);
this
.
form
.
userId
=
select
.
id
;
console
.
log
(
this
.
form
.
userId
,
'this.form.userId'
);
// 重新赋值选中的 id
this
.
selectUser
.
id
=
select
.
id
;
}
,
// 上传成功回调
handleAvatarSuccess
(
res
,
file
)
{
this
.
p
hoto
Url
=
res
.
data
.
url
;
this
.
p
icture
Url
=
res
.
data
.
url
;
this
.
commonUpload
(
file
);
}
,
// 上传前格式和图片大小限制
...
...
@@ -346,8 +396,8 @@ export default {
.
then
((
response
)
=>
{
this
.
uploadLoading
=
false
;
this
.
$modal
.
msgSuccess
(
"上传成功"
);
this
.
p
hoto
Url
=
this
.
pev
+
response
.
url
;
this
.
form
.
p
hoto
Url
=
response
.
url
;
this
.
p
icture
Url
=
this
.
pev
+
response
.
url
;
this
.
form
.
p
icture
Url
=
response
.
url
;
}
)
.
catch
((
error
)
=>
{
this
.
uploadLoading
=
false
;
...
...
@@ -446,9 +496,9 @@ export default {
}
,
/** 导出按钮操作 */
handleExport
()
{
this
.
download
(
'system/awards/export'
,
{
this
.
download
(
'
/
system/awards/export'
,
{
...
this
.
queryParams
}
,
`
awards
_${new Date().getTime()
}
.xlsx`
)
}
,
`
讲课获奖
_${new Date().getTime()
}
.xlsx`
)
}
}
}
;
...
...
ruoyi-ui/src/views/smartSchool/personWork/teacherAwards/components/SelectUser.vue
0 → 100644
View file @
314e1aee
<
template
>
<el-dialog
:visible
.
sync=
"openDialog"
:title=
"title"
:width=
"width"
@
close=
"dialogClose"
>
<!-- 模糊查询-->
<el-form
:model=
"form"
ref=
"form"
size=
"small"
inline
>
<el-form-item
prop=
"userName"
label=
"姓名"
>
<el-input
v-model
.
trim=
"form.userName"
placeholder=
"请输入姓名"
clearable
@
keyup
.
enter
.
native=
"search"
></el-input>
</el-form-item>
<el-form-item
prop=
"phone"
label=
"联系电话"
>
<el-input
v-model
.
trim=
"form.phone"
placeholder=
"请输入联系电话"
clearable
@
keyup
.
enter
.
native=
"search"
></el-input>
</el-form-item>
<el-form-item>
<el-button
@
click=
"search"
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
>
搜索
</el-button>
<el-button
@
click=
"reset"
icon=
"el-icon-refresh"
size=
"mini"
>
重置
</el-button>
</el-form-item>
</el-form>
<!-- 列表数据-->
<el-table
ref=
"tableList"
v-loading=
"loading"
:data=
"userList"
@
selection-change=
"selectionChange"
@
row-click=
"rowClick"
>
<el-table-column
type=
"selection"
align=
"center"
></el-table-column>
<el-table-column
key=
"userName"
prop=
"userName"
label=
"姓名"
align=
"center"
></el-table-column>
<el-table-column
key=
"phone"
prop=
"phone"
label=
"联系电话"
align=
"center"
></el-table-column>
</el-table>
<!-- 分页-->
<pagination
v-show=
"total > 0"
:total=
"total"
:limit
.
sync=
"form.pageSize"
:page
.
sync=
"form.pageNum"
@
pagination=
"search"
></pagination>
<!-- 底部-->
<div
slot=
"footer"
>
<el-button
:disabled=
"!selectUser"
@
click=
"submit"
type=
"primary"
size=
"small"
>
确 定
</el-button>
<el-button
@
click=
"quit"
size=
"small"
>
取 消
</el-button>
</div>
</el-dialog>
</
template
>
<
script
>
import
{
getUserList
}
from
"@/api/smartSchool/electronicArchives/professionalDevelopment/comprehensiveHonors"
;
export
default
{
name
:
"SelectUser"
,
dicts
:
[
'sys_user_sex'
],
props
:
{
open
:
{
type
:
Boolean
,
require
:
true
},
title
:
{
type
:
String
,
default
:
''
},
width
:
{
type
:
[
Number
,
String
],
default
:
'50%'
},
execute
:
{
type
:
[
String
]
},
// 选择级部、处室主任
id
:
{
type
:
[
Number
,
String
]
}
},
data
()
{
return
{
baseURL
:
process
.
env
.
VUE_APP_BASE_API
,
form
:
{
userName
:
''
,
phone
:
''
,
pageNum
:
1
,
pageSize
:
10
},
total
:
0
,
loading
:
false
,
userList
:
[],
selectUser
:
null
}
},
computed
:
{
openDialog
:
{
get
()
{
return
this
.
open
;
},
set
(
value
)
{
this
.
$emit
(
'update:open'
,
value
);
}
}
},
watch
:
{
open
(
value
)
{
if
(
value
)
{
this
.
$nextTick
(()
=>
{
this
.
reset
();
})
}
}
},
methods
:
{
/** 搜索(交给子组件维护,当然也可以把接口交给父组件处理) */
async
search
()
{
if
(
isNaN
(
Number
(
this
.
id
)))
{
console
.
error
(
'Invalid ID'
);
return
;
}
try
{
this
.
loading
=
true
;
const
response
=
await
this
[
this
.
execute
]({
applyOrgid
:
this
.
id
,
...
this
.
form
});
this
.
userList
=
response
.
rows
||
[];
this
.
total
=
response
.
total
;
this
.
loading
=
false
;
}
catch
(
exception
)
{
this
.
loading
=
false
;
throw
new
Error
(
exception
);
}
},
/** 重置表单 */
reset
()
{
this
.
form
=
{
teacherName
:
''
,
teacherTel
:
''
,
pageNum
:
1
,
pageSize
:
10
};
this
.
resetForm
(
'form'
);
this
.
search
();
},
/** 选项选中发生变化 */
selectionChange
(
selections
)
{
this
.
selectUser
=
selections
[
0
];
},
/** 点击选中、取消 */
rowClick
(
row
,
column
)
{
console
.
log
(
'row'
,
row
);
this
.
$refs
[
'tableList'
].
clearSelection
();
this
.
$refs
[
'tableList'
].
toggleRowSelection
(
row
,
true
);
},
/** 提交选中 */
submit
()
{
this
.
$emit
(
'select'
,
{
id
:
this
.
selectUser
.
userId
,
name
:
this
.
selectUser
.
userName
,
tel
:
this
.
selectUser
.
phone
});
this
.
quit
();
},
/** 取消 */
quit
()
{
this
.
openDialog
=
false
;
},
/** 分管领导、主要领导 */
leaderList
(
form
)
{
return
getUserList
(
form
);
},
dialogClose
()
{
this
.
userList
=
[]
}
}
}
</
script
>
<
style
scoped
>
.footer
{
display
:
flex
;
justify-content
:
center
;
margin-top
:
30px
;
}
.radius-image
{
border-radius
:
40px
;
}
</
style
>
ruoyi-ui/src/views/smartSchool/personWork/teacherAwards/index.vue
View file @
314e1aee
<
template
>
<div
class=
"app-container"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"
6
8px"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"
9
8px"
>
<el-form-item
label=
"学科"
prop=
"sub"
>
<el-select
v-model=
"
form.teachingSubject"
placeholder=
"请选择"
style=
"width: 100%
;"
>
<el-select
v-model=
"
queryParams.sub"
placeholder=
"请选择"
style=
"width: 220px
;"
>
<el-option
v-for=
"dict in dict.type.teaching_subjects"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"获奖级别"
prop=
"awardRank"
>
<el-select
v-model=
"
form.awardRank"
placeholder=
"请选择"
style=
"width: 100%
;"
>
<el-select
v-model=
"
queryParams.awardRank"
placeholder=
"请选择"
style=
"width: 220px
;"
>
<el-option
v-for=
"dict in dict.type.awards_level"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
...
...
@@ -33,9 +33,14 @@
<el-form-item
label=
"获奖人"
prop=
"userName"
>
<el-input
v-model=
"queryParams.userName"
placeholder=
"请输入获奖人"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"获奖时间"
prop=
"awardTime"
>
<el-date-picker
clearable
v-model=
"queryParams.awardTime"
type=
"date"
value-format=
"yyyy-MM-dd"
placeholder=
"请选择获奖时间"
>
<el-form-item
label=
"获奖开始时间"
prop=
"awardTime"
>
<el-date-picker
clearable
v-model=
"queryParams.startTime"
type=
"date"
value-format=
"yyyy-MM-dd"
placeholder=
"请选择"
>
</el-date-picker>
</el-form-item>
<el-form-item
label=
"获奖结束时间"
prop=
"awardTime"
>
<el-date-picker
clearable
v-model=
"queryParams.endTime"
type=
"date"
value-format=
"yyyy-MM-dd"
placeholder=
"请选择"
>
</el-date-picker>
</el-form-item>
...
...
@@ -67,11 +72,31 @@
<el-table
:data=
"awardsList"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"成长类型"
align=
"center"
prop=
"id"
/>
<el-table-column
label=
"学科"
align=
"center"
prop=
"sub"
/>
<el-table-column
label=
"获奖类别"
align=
"center"
prop=
"awardType"
/>
<el-table-column
label=
"获奖等级"
align=
"center"
prop=
"awardLevel"
/>
<el-table-column
label=
"获奖级别"
align=
"center"
prop=
"awardRank"
/>
<el-table-column
label=
"成长类型"
align=
"center"
>
<template>
<span>
教学获奖
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"学科"
align=
"center"
prop=
"sub"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.teaching_subjects"
:value=
"scope.row.sub"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"获奖类别"
align=
"center"
prop=
"awardType"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.award_categoriesjs"
:value=
"scope.row.awardType"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"获奖等级"
align=
"center"
prop=
"awardLevel"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.award_rank"
:value=
"scope.row.awardLevel"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"获奖级别"
align=
"center"
prop=
"awardRank"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.awards_level"
:value=
"scope.row.awardRank"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"教学获奖-成果名称"
align=
"center"
prop=
"resultName"
/>
<el-table-column
label=
"获奖人"
align=
"center"
prop=
"userName"
/>
<el-table-column
label=
"主办单位"
align=
"center"
prop=
"org"
/>
...
...
@@ -86,6 +111,8 @@
v
-
hasPermi
=
"['system:honors:edit']"
>
修改
<
/el-button
>
<
el
-
button
size
=
"mini"
type
=
"text"
icon
=
"el-icon-delete"
@
click
=
"handleDelete(scope.row)"
v
-
hasPermi
=
"['system:honors:remove']"
>
删除
<
/el-button
>
<
el
-
button
size
=
"mini"
type
=
"text"
icon
=
"el-icon-s-check"
@
click
=
"handleExamine(scope.row)"
v
-
hasPermi
=
"['system:honors:remove']"
>
审核
<
/el-button
>
<
/template
>
<
/el-table-column
>
<
/el-table
>
...
...
@@ -99,7 +126,7 @@
<
el
-
row
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"学科"
prop
=
"sub"
>
<
el
-
select
v
-
model
=
"form.
teachingSubject
"
placeholder
=
"请选择"
style
=
"width: 100%;"
>
<
el
-
select
v
-
model
=
"form.
sub
"
placeholder
=
"请选择"
style
=
"width: 100%;"
>
<
el
-
option
v
-
for
=
"dict in dict.type.teaching_subjects"
:
key
=
"dict.value"
:
label
=
"dict.label"
:
value
=
"dict.value"
>
<
/el-option
>
...
...
@@ -144,7 +171,9 @@
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
form
-
item
label
=
"获奖人"
prop
=
"userName"
>
<
el
-
input
v
-
model
=
"form.userName"
placeholder
=
"请输入获奖人"
/>
<
el
-
input
v
-
model
=
"form.userName"
placeholder
=
"请选择分管领导"
@
input
=
"openSelect('选择分管领导', 'leaderList', 2)"
@
focus
=
"openSelect('选择分管领导', 'leaderList', 2)"
><
/el-input
>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
...
...
@@ -175,7 +204,7 @@
<
el
-
upload
v
-
loading
=
"uploadLoading"
class
=
"avatar-uploader"
action
=
"#"
accept
=
"image/*"
:
show
-
file
-
list
=
"false"
:
on
-
success
=
"handleAvatarSuccess"
:
before
-
upload
=
"beforeAvatarUpload"
:
http
-
request
=
"uploadImage"
>
<
img
v
-
if
=
"form.p
hotoUrl"
:
src
=
"baseUrl + form.photo
Url"
<
img
v
-
if
=
"form.p
ictureUrl"
:
src
=
"baseUrl + form.picture
Url"
style
=
"max-width: 100%; max-height: 100%"
class
=
"avatar"
alt
=
""
/>
<
i
v
-
else
class
=
"el-icon-plus avatar-uploader-icon"
><
/i
>
<
/el-upload
>
...
...
@@ -188,17 +217,32 @@
<
el
-
button
@
click
=
"cancel"
>
取
消
<
/el-button
>
<
/div
>
<
/el-dialog
>
<
SelectUser
:
id
=
"selectHandles.id"
:
open
.
sync
=
"selectHandles.open"
:
title
=
"selectHandles.title"
:
width
=
"selectHandles.width"
:
execute
=
"selectHandles.method"
@
select
=
"selectUser"
><
/SelectUser
>
<
/div
>
<
/template
>
<
script
>
// import
{
listAwards
,
getAwards
,
delAwards
,
addAwards
,
updateAwards
}
from
"@/api/system/a
wards"
;
import
{
listAwards
,
getAwards
,
delAwards
,
addAwards
,
updateAwards
}
from
"@/api/smartSchool/electronicArchives/professionalDevelopment/teacherA
wards"
;
import
{
uploadImage
as
commonUpload
}
from
"@/api/common"
;
import
SelectUser
from
"./components/SelectUser"
;
export
default
{
name
:
"Awards"
,
components
:
{
SelectUser
,
}
,
dicts
:
[
"teaching_subjects"
,
'award_categoriesjs'
,
'awards_level'
,
'award_rank'
],
data
()
{
return
{
// 选择对应处理人
selectHandles
:
{
id
:
null
,
open
:
false
,
title
:
''
,
width
:
'50%'
,
method
:
null
,
type
:
null
// 处理类型: 1 级部/处室; 2 分管; 3 主管
}
,
// 图片上传遮罩层
uploadLoading
:
false
,
baseUrl
:
[
process
.
env
.
VUE_APP_BASE_API
],
...
...
@@ -215,26 +259,7 @@ export default {
// 总条数
total
:
0
,
// 教师获奖表格数据
awardsList
:
[{
id
:
1
,
sub
:
1
,
awardType
:
1
,
awardRank
:
null
,
awardLevel
:
null
,
resultName
:
null
,
userId
:
null
,
userName
:
null
,
org
:
null
,
awardTime
:
null
,
remark
:
null
,
pictureName
:
null
,
pictureUrl
:
null
,
createBy
:
null
,
createTime
:
null
,
updateBy
:
null
,
updateTime
:
null
,
delFlag
:
null
}
],
awardsList
:
[],
// 弹出层标题
title
:
""
,
// 是否显示弹出层
...
...
@@ -299,7 +324,7 @@ export default {
}
;
}
,
created
()
{
//
this.getList();
this
.
getList
();
}
,
methods
:
{
/** 查询教师获奖列表 */
...
...
@@ -311,9 +336,34 @@ export default {
this
.
loading
=
false
;
}
);
}
,
// 选择处理人:打开对话框
openSelect
(
title
,
method
,
type
)
{
console
.
log
(
1
);
this
.
selectHandles
.
open
=
true
;
this
.
selectHandles
.
title
=
title
;
this
.
selectHandles
.
method
=
method
;
this
.
selectHandles
.
type
=
type
;
}
,
// 选择处理人
selectUser
(
select
)
{
this
.
$set
(
this
.
form
,
`userName${this.selectHandles.type
}
`
,
select
.
name
);
console
.
log
(
select
.
name
);
this
.
$set
(
this
.
form
,
`userId${this.selectHandles.type
}
`
,
select
.
id
);
console
.
log
(
select
.
id
);
// 设置顶层的 userName 和 userId 字段
this
.
form
.
userName
=
select
.
name
;
console
.
log
(
124
,
this
.
form
.
userName
);
console
.
log
(
select
);
this
.
form
.
userId
=
select
.
id
;
console
.
log
(
this
.
form
.
userId
,
'this.form.userId'
);
// 重新赋值选中的 id
this
.
selectUser
.
id
=
select
.
id
;
}
,
// 上传成功回调
handleAvatarSuccess
(
res
,
file
)
{
this
.
p
hoto
Url
=
res
.
data
.
url
;
this
.
p
icture
Url
=
res
.
data
.
url
;
this
.
commonUpload
(
file
);
}
,
...
...
@@ -343,8 +393,8 @@ export default {
.
then
((
response
)
=>
{
this
.
uploadLoading
=
false
;
this
.
$modal
.
msgSuccess
(
"上传成功"
);
this
.
p
hoto
Url
=
this
.
pev
+
response
.
url
;
this
.
form
.
p
hoto
Url
=
response
.
url
;
this
.
p
icture
Url
=
this
.
pev
+
response
.
url
;
this
.
form
.
p
icture
Url
=
response
.
url
;
}
)
.
catch
((
error
)
=>
{
this
.
uploadLoading
=
false
;
...
...
@@ -443,9 +493,9 @@ export default {
}
,
/** 导出按钮操作 */
handleExport
()
{
this
.
download
(
'
system/a
wards/export'
,
{
this
.
download
(
'
/school/teacherA
wards/export'
,
{
...
this
.
queryParams
}
,
`
awards
_${new Date().getTime()
}
.xlsx`
)
}
,
`
教师获奖
_${new Date().getTime()
}
.xlsx`
)
}
}
}
;
...
...
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