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
65d01770
Commit
65d01770
authored
Aug 21, 2023
by
zhaopanyu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
zpy 8.21
parent
d110de88
Hide whitespace changes
Inline
Side-by-side
Showing
25 changed files
with
1868 additions
and
1059 deletions
+1868
-1059
ruoyi-ui/src/api/smartSchool/informationPush/personnelGrouping.js
+66
-0
ruoyi-ui/src/components/FileUploadNew/index.vue
+2
-2
ruoyi-ui/src/router/routerMenus/schoolManage/index.js
+109
-77
ruoyi-ui/src/views/smartSchool/classAdviser/studentLeaveView/HandleResolve/StudentLeaveInfo.vue
+1
-1
ruoyi-ui/src/views/smartSchool/gradeWork/courseSelection/performance/index.vue
+353
-354
ruoyi-ui/src/views/smartSchool/gradeWork/studentLeaveView/components/HandleResolve/StudentLeaveInfo.vue
+1
-1
ruoyi-ui/src/views/smartSchool/indexMould/myTask/audApplicationapproval/components/auProgress.vue
+0
-1
ruoyi-ui/src/views/smartSchool/indexMould/myTask/audApplicationapproval/components/autaskResolve.vue
+4
-3
ruoyi-ui/src/views/smartSchool/indexMould/myTask/depBudgetapproval/components/deinfo.vue
+66
-21
ruoyi-ui/src/views/smartSchool/indexMould/myTask/depBudgetapproval/components/detaskResolve.vue
+28
-20
ruoyi-ui/src/views/smartSchool/indexMould/myTask/purchaseApproval/components/TaskResolve.vue
+10
-18
ruoyi-ui/src/views/smartSchool/indexMould/myTask/studentLeaveApproval/HandleResolve/StudentLeaveInfo.vue
+1
-1
ruoyi-ui/src/views/smartSchool/indexMould/myTask/teachLeaveApprove/HandleResolve/TeacherLeaveInfo.vue
+1
-1
ruoyi-ui/src/views/smartSchool/logisticsManage/purchaseInfo/index.vue
+1
-0
ruoyi-ui/src/views/smartSchool/logisticsManage/repairReport/index.vue
+1
-0
ruoyi-ui/src/views/smartSchool/officialWork/purchaseApply/index.vue
+67
-57
ruoyi-ui/src/views/smartSchool/personWork/auditoriumReservation/index copy.vue
+235
-0
ruoyi-ui/src/views/smartSchool/personWork/auditoriumReservation/index.vue
+6
-3
ruoyi-ui/src/views/smartSchool/personWork/logisticsWarranty/index.vue
+7
-5
ruoyi-ui/src/views/smartSchool/schoolManage/schoolNotice/infoPush/components/receiveList.vue
+0
-0
ruoyi-ui/src/views/smartSchool/schoolManage/schoolNotice/infoPush/school/index.vue
+0
-0
ruoyi-ui/src/views/smartSchool/schoolManage/schoolNotice/personnelGrouping/authUser.vue
+206
-0
ruoyi-ui/src/views/smartSchool/schoolManage/schoolNotice/personnelGrouping/index.vue
+408
-0
ruoyi-ui/src/views/smartSchool/schoolManage/schoolNotice/personnelGrouping/selectUser.vue
+138
-0
ruoyi-ui/src/views/smartSchool/teacherManage/teacherInforManage/index.vue
+157
-494
No files found.
ruoyi-ui/src/api/smartSchool/informationPush/personnelGrouping.js
0 → 100644
View file @
65d01770
import
request
from
"@/utils/request"
;
//人员分组
//获取分组集合
export
function
getUserList
(
data
)
{
return
request
({
url
:
"/notification/list"
,
method
:
"get"
,
data
,
});
}
// 根据分类id获取人员信息
export
function
getUser
(
notificationId
)
{
return
request
({
url
:
`/notification/getUserList/
${
notificationId
}
`
,
method
:
"get"
,
// params: id
});
}
//新增数据
export
function
addNotification
(
data
)
{
return
request
({
url
:
"/notification/add"
,
method
:
"post"
,
data
,
});
}
//分组新增人员;
export
function
addUser
(
data
)
{
return
request
({
url
:
"/notification/addNotificationUser"
,
method
:
"post"
,
data
,
});
}
//删除人员
export
function
deleteUser
()
{
return
request
({
url
:
"/notification/delectNotificationUser"
,
method
:
"put"
,
data
,
});
}
//修改分组信息
export
function
updateNotification
(
data
)
{
return
request
({
url
:
"/notification/update"
,
method
:
"post"
,
data
,
});
}
// 删除分组
export
function
deleteNotification
(
query
)
{
return
request
({
url
:
"/notification/deletes"
,
method
:
"delete"
,
params
:
query
,
});
}
ruoyi-ui/src/components/FileUploadNew/index.vue
View file @
65d01770
...
...
@@ -151,9 +151,9 @@ export default {
handleUploadSuccess
(
res
,
file
)
{
console
.
log
(
'res'
,
res
);
console
.
log
(
'file'
,
file
);
if
(
res
.
code
===
200
)
{
this
.
uploadList
.
push
({
fjmc
:
file
.
response
.
originalFilename
,
fjlj
:
file
.
response
.
url
});
// this.uploadList.push({ fjmc: file.res.originalFilename, fjlj: file.res.url });
this
.
uploadList
.
push
({
fjmc
:
res
.
originalFilename
,
fjlj
:
res
.
fileName
});
this
.
uploadedSuccessfully
();
}
else
{
this
.
number
--
;
...
...
ruoyi-ui/src/router/routerMenus/schoolManage/index.js
View file @
65d01770
...
...
@@ -3,143 +3,175 @@ import Layout from '@/layout'
export
default
[
// 校园简介编辑页面
{
path
:
'/schoolManage/schoolInfo'
,
path
:
"/schoolManage/schoolInfo"
,
component
:
Layout
,
hidden
:
true
,
permissions
:
[
'childrenHealth:earlyChildhoodSyndrome:archivesManagement:birthday:index'
],
permissions
:
[
"childrenHealth:earlyChildhoodSyndrome:archivesManagement:birthday:index"
,
],
children
:
[
{
path
:
'edit'
,
component
:
()
=>
import
(
'@/views/smartSchool/schoolManage/introduce/schoolInfo/index.vue'
),
name
:
'campusInfoEdit'
,
path
:
"edit"
,
component
:
()
=>
import
(
"@/views/smartSchool/schoolManage/introduce/schoolInfo/index.vue"
),
name
:
"campusInfoEdit"
,
meta
:
{
title
:
'校园简介编辑'
}
}
]
title
:
"校园简介编辑"
,
},
},
],
},
// 学校通知,接收人列表页面
{
path
:
'/schoolManage/infoPush'
,
path
:
"/schoolManage/infoPush"
,
component
:
Layout
,
hidden
:
true
,
permissions
:
[
'childrenHealth:earlyChildhoodSyndrome:archivesManagement:birthday:index'
],
permissions
:
[
"childrenHealth:earlyChildhoodSyndrome:archivesManagement:birthday:index"
,
],
children
:
[
{
path
:
'receiveList'
,
component
:
()
=>
import
(
'@/views/smartSchool/schoolManage/infoPush/components/receiveList.vue'
),
name
:
'schoolManage_receiveList'
,
path
:
"receiveList"
,
component
:
()
=>
import
(
"@/views/smartSchool/schoolManage/schoolNotice/infoPush/components/receiveList.vue"
),
name
:
"schoolManage_receiveList"
,
meta
:
{
title
:
'接收人列表'
}
}
]
title
:
"接收人列表"
,
}
,
}
,
]
,
},
// 校历管理,详细条目查看
{
path
:
'/schoolManage/calendar'
,
path
:
"/schoolManage/calendar"
,
component
:
Layout
,
hidden
:
true
,
permissions
:
[
'childrenHealth:earlyChildhoodSyndrome:archivesManagement:birthday:index'
],
permissions
:
[
"childrenHealth:earlyChildhoodSyndrome:archivesManagement:birthday:index"
,
],
children
:
[
{
path
:
'schoolCalendarDetail'
,
component
:
()
=>
import
(
'@/views/smartSchool/schoolManage/calendarManagement/schoolCalendarDetail/index.vue'
),
name
:
'schoolCalendarDetail'
,
path
:
"schoolCalendarDetail"
,
component
:
()
=>
import
(
"@/views/smartSchool/schoolManage/calendarManagement/schoolCalendarDetail/index.vue"
),
name
:
"schoolCalendarDetail"
,
meta
:
{
title
:
'校历明细'
}
}
]
title
:
"校历明细"
,
}
,
}
,
]
,
},
// 值班管理,值班安排明细
{
path
:
'/schoolManage/dutyManage/dutyArrange'
,
path
:
"/schoolManage/dutyManage/dutyArrange"
,
component
:
Layout
,
hidden
:
true
,
permissions
:
[
'childrenHealth:earlyChildhoodSyndrome:archivesManagement:birthday:index'
],
permissions
:
[
"childrenHealth:earlyChildhoodSyndrome:archivesManagement:birthday:index"
,
],
children
:
[
{
path
:
''
,
component
:
()
=>
import
(
'@/views/smartSchool/schoolManage/dutyManage/dutyArrange/index.vue'
),
name
:
'dutyArrange'
,
path
:
""
,
component
:
()
=>
import
(
"@/views/smartSchool/schoolManage/dutyManage/dutyArrange/index.vue"
),
name
:
"dutyArrange"
,
meta
:
{
title
:
'值班安排明细'
}
}
]
title
:
"值班安排明细"
,
}
,
}
,
]
,
},
// 值班管理,值班表
{
path
:
'/schoolManage/dutyManage/dutySchedule'
,
path
:
"/schoolManage/dutyManage/dutySchedule"
,
component
:
Layout
,
hidden
:
true
,
permissions
:
[
'childrenHealth:earlyChildhoodSyndrome:archivesManagement:birthday:index'
],
permissions
:
[
"childrenHealth:earlyChildhoodSyndrome:archivesManagement:birthday:index"
,
],
children
:
[
{
path
:
''
,
component
:
()
=>
import
(
'@/views/smartSchool/schoolManage/dutyManage/dutySchedule'
),
name
:
'dutySchedule'
,
path
:
""
,
component
:
()
=>
import
(
"@/views/smartSchool/schoolManage/dutyManage/dutySchedule"
),
name
:
"dutySchedule"
,
meta
:
{
title
:
'值班表'
}
}
]
title
:
"值班表"
,
}
,
}
,
]
,
},
// 学校消息推送
{
path
:
'/schoolManage/teacherMessage'
,
path
:
"/schoolManage/teacherMessage"
,
component
:
Layout
,
hidden
:
true
,
permissions
:
[
'childrenHealth:earlyChildhoodSyndrome:archivesManagement:birthday:index'
],
permissions
:
[
"childrenHealth:earlyChildhoodSyndrome:archivesManagement:birthday:index"
,
],
children
:
[
{
path
:
''
,
component
:
()
=>
import
(
'@/views/home/message/message.vue'
),
name
:
'teacherMessage'
,
path
:
""
,
component
:
()
=>
import
(
"@/views/home/message/message.vue"
),
name
:
"teacherMessage"
,
meta
:
{
title
:
'学校消息推送'
}
}
]
title
:
"学校消息推送"
,
}
,
}
,
]
,
},
// 冬夏时令---学校时刻明细
{
path
:
'/schoolManage'
,
path
:
"/schoolManage"
,
component
:
Layout
,
hidden
:
true
,
permissions
:
[
'childrenHealth:earlyChildhoodSyndrome:archivesManagement:birthday:index'
],
permissions
:
[
"childrenHealth:earlyChildhoodSyndrome:archivesManagement:birthday:index"
,
],
children
:
[
{
path
:
'schoolMomentsDetail'
,
component
:
()
=>
import
(
'@/views/smartSchool/schoolManage/schoolMoments/components/schoolMomentsDetail'
),
name
:
'SchoolMomentsDetail'
,
path
:
"schoolMomentsDetail"
,
component
:
()
=>
import
(
"@/views/smartSchool/schoolManage/schoolMoments/components/schoolMomentsDetail"
),
name
:
"SchoolMomentsDetail"
,
meta
:
{
title
:
'学校时刻明细'
}
}
]
title
:
"学校时刻明细"
,
}
,
}
,
]
,
},
// 公文流转--公文流转查看
{
path
:
'/schoolManage'
,
path
:
"/schoolManage"
,
component
:
Layout
,
hidden
:
true
,
permissions
:
[
'childrenHealth:earlyChildhoodSyndrome:archivesManagement:birthday:index'
],
permissions
:
[
"childrenHealth:earlyChildhoodSyndrome:archivesManagement:birthday:index"
,
],
children
:
[
{
path
:
'documentFlowView'
,
component
:
()
=>
import
(
'@/views/smartSchool/schoolManage/documentFlow/documentFlowView.vue'
),
name
:
'documentFlowView'
,
path
:
"documentFlowView"
,
component
:
()
=>
import
(
"@/views/smartSchool/schoolManage/documentFlow/documentFlowView.vue"
),
name
:
"documentFlowView"
,
meta
:
{
title
:
'公文流转查看'
}
}
]
}
]
title
:
"公文流转查看"
,
}
,
}
,
]
,
}
,
]
;
ruoyi-ui/src/views/smartSchool/classAdviser/studentLeaveView/HandleResolve/StudentLeaveInfo.vue
View file @
65d01770
...
...
@@ -2,7 +2,7 @@
<div>
<el-card>
<div
slot=
"header"
class=
"clearfix"
>
<span>
个人
基本信息
</span>
<span>
基本信息
</span>
</div>
<el-form
ref=
"form"
:model=
"infoForm"
:rules=
"rules"
label-width=
"120px"
>
<el-row
:gutter=
"20"
>
...
...
ruoyi-ui/src/views/smartSchool/gradeWork/courseSelection/performance/index.vue
View file @
65d01770
<
template
>
<div
class=
"app-container"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
label-width=
"80px"
>
<el-form-item
label=
"学生姓名"
prop=
"studentName"
>
<el-input
v-model=
"queryParams.studentName"
placeholder=
"请输入学生姓名"
clearable
/>
</el-form-item>
<el-form-item
label=
"考试类型"
prop=
"examType"
>
<el-select
v-model=
"queryParams.examType"
placeholder=
"请选择考试类型"
clearable
>
<el-option
v-for=
"(item,index) in dict.type.exam_type"
:key=
"index
"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"班级"
prop=
"className"
>
<el-select
v-model=
"queryParams.classId"
placeholder=
"请选择学生班级"
clearable
>
<el-option
v-for=
"(item,index) in classList"
:key=
"index
"
:label=
"item.className"
:value=
"item.classId"
></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"getList"
>
搜索
</el-button>
<el-button
icon=
"el-icon-refresh"
size=
"mini"
@
click=
"resetQuery"
>
重置
</el-button>
<el-button
type=
"success"
icon=
"el-icon-download"
size=
"mini"
@
click=
"upload.open = true"
>
导入
</el-button>
<el-button
type=
"warning"
icon=
"el-icon-upload2"
size=
"mini"
@
click=
"exportRecord"
>
导出
</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=
"handleOption(0)"
>
新增
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"danger"
plain
icon=
"el-icon-delet
e"
size=
"mini"
:disabled=
"!isMultiple"
@
click=
"handleDelete(1)"
>
批量删除
</el-button>
</el-col>
</el-row>
<el-table
v-loading=
"loading"
:data=
"achievementData"
stripe
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
></el-table-column>
<el-table-column
fixed=
"left"
label=
"序号"
type=
"index"
width=
"55"
align=
"center"
/>
<el-table-column
fixed=
"left"
label=
"学生姓名"
align=
"center"
prop=
"studentName"
/>
<el-table-column
fixed=
"left"
label=
"学号"
align=
"center"
prop=
"studentNumber"
/>
<el-table-column
fixed=
"left"
label=
"身份证号"
align=
"center"
prop=
"idCard"
/>
<el-table-column
fixed=
"left"
label=
"班级"
align=
"center"
prop=
"className"
/>
<el-table-column
fixed=
"left"
label=
"考试类型"
align=
"center"
prop=
"examType"
>
<template
slot-scope=
"
{ row }">
<div>
{{
selectDictLabel
(
dict
.
type
.
exam_type
,
row
.
examType
)
}}
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"总成绩"
align=
"center"
prop=
"totalScore"
/>
<el-table-column
label=
"学校排名"
align=
"center"
prop=
"ranking"
/>
<el-table-column
label=
"语文"
align=
"center"
prop=
"language"
/>
<el-table-column
label=
"学校排名"
align=
"center"
prop=
"ywRanking"
/>
<el-table-column
label=
"数学"
align=
"center"
prop=
"math"
/>
<el-table-column
label=
"学校排名"
align=
"center"
prop=
"sxRanking"
/>
<el-table-column
label=
"英语"
align=
"center"
prop=
"english"
/>
<el-table-column
label=
"学校排名"
align=
"center"
prop=
"yyRanking"
/>
<el-table-column
label=
"政治"
align=
"center"
prop=
"politics"
/>
<el-table-column
label=
"学校排名"
align=
"center"
prop=
"zzRanking"
/>
<el-table-column
label=
"地理"
align=
"center"
prop=
"geography"
/>
<el-table-column
label=
"学校排名"
align=
"center"
prop=
"dlRanking"
/>
<el-table-column
label=
"历史"
align=
"center"
prop=
"history"
/>
<el-table-column
label=
"学校排名"
align=
"center"
prop=
"lsRanking"
/>
<el-table-column
label=
"物理"
align=
"center"
prop=
"physics"
/>
<el-table-column
label=
"学校排名"
align=
"center"
prop=
"wlRanking"
/>
<el-table-column
label=
"化学"
align=
"center"
prop=
"chemistry"
/>
<el-table-column
label=
"学校排名"
align=
"center"
prop=
"hxRanking"
/>
<el-table-column
label=
"生物"
align=
"center"
prop=
"biology"
/>
<el-table-column
label=
"学校排名"
align=
"center"
prop=
"swRanking"
/>
<el-table-column
fixed=
"right"
label=
"操作"
align=
"center"
prop=
"orgname"
width=
"150"
>
<
template
slot-scope=
"{ row }"
>
<el-button
type=
"text"
size=
"small"
@
click=
"handleDelete(0,
row.id)"
>
删除
</el-button>
<el-button
type=
"text"
size=
"small"
@
click=
"handleOption(1,
row)"
>
编辑
</el-button>
</
template
>
</el-table-column>
</el-table>
<pagination
ref=
"pageBlock"
v-show=
"total > 0"
:total=
"total
"
:page
.
sync=
"queryParams.pageNum"
:limit
.
sync=
"queryParams.pageSize"
@
pagination=
"getList"
/>
<div
class=
"app-container"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
label-width=
"80px"
>
<el-form-item
label=
"学生姓名"
prop=
"studentName"
>
<el-input
v-model=
"queryParams.studentName"
placeholder=
"请输入学生姓名"
clearable
/>
</el-form-item>
<el-form-item
label=
"考试类型"
prop=
"examType"
>
<el-select
v-model=
"queryParams.examType"
placeholder=
"请选择考试类型"
clearable
>
<el-option
v-for=
"(item, index) in dict.type.exam_type"
:key=
"index"
:label=
"item.label
"
:value=
"item.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"班级"
prop=
"className"
>
<el-select
v-model=
"queryParams.classId"
placeholder=
"请选择学生班级"
clearable
>
<el-option
v-for=
"(item, index) in classList"
:key=
"index"
:label=
"item.className
"
:value=
"item.classId"
></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"getList"
>
搜索
</el-button>
<el-button
icon=
"el-icon-refresh"
size=
"mini"
@
click=
"resetQuery"
>
重置
</el-button>
<el-button
type=
"success"
icon=
"el-icon-download"
size=
"mini"
@
click=
"upload.open = true"
>
导入
</el-button>
<el-button
type=
"warning"
icon=
"el-icon-upload2"
size=
"mini"
@
click=
"exportRecord"
>
导出
</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=
"handleOption(0)"
>
新增
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"danger"
plain
icon=
"el-icon-delete"
size=
"mini"
:disabled=
"!isMultipl
e"
@
click=
"handleDelete(1)"
>
批量删除
</el-button>
</el-col>
</el-row>
<el-table
v-loading=
"loading"
:data=
"achievementData"
stripe
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
></el-table-column>
<el-table-column
fixed=
"left"
label=
"序号"
type=
"index"
width=
"55"
align=
"center"
/>
<el-table-column
fixed=
"left"
label=
"学生姓名"
align=
"center"
prop=
"studentName"
/>
<el-table-column
fixed=
"left"
label=
"学号"
align=
"center"
prop=
"studentNumber"
width=
"150"
/>
<el-table-column
fixed=
"left"
label=
"身份证号"
align=
"center"
prop=
"idCard"
width=
"200"
/>
<el-table-column
fixed=
"left"
label=
"班级"
align=
"center"
prop=
"className"
/>
<el-table-column
fixed=
"left"
label=
"考试类型"
align=
"center"
prop=
"examType"
>
<template
slot-scope=
"
{ row }">
<div>
{{
selectDictLabel
(
dict
.
type
.
exam_type
,
row
.
examType
)
}}
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"总成绩"
align=
"center"
prop=
"totalScore"
/>
<el-table-column
label=
"学校排名"
align=
"center"
prop=
"ranking"
/>
<el-table-column
label=
"语文"
align=
"center"
prop=
"language"
/>
<el-table-column
label=
"学校排名"
align=
"center"
prop=
"ywRanking"
/>
<el-table-column
label=
"数学"
align=
"center"
prop=
"math"
/>
<el-table-column
label=
"学校排名"
align=
"center"
prop=
"sxRanking"
/>
<el-table-column
label=
"英语"
align=
"center"
prop=
"english"
/>
<el-table-column
label=
"学校排名"
align=
"center"
prop=
"yyRanking"
/>
<el-table-column
label=
"政治"
align=
"center"
prop=
"politics"
/>
<el-table-column
label=
"学校排名"
align=
"center"
prop=
"zzRanking"
/>
<el-table-column
label=
"地理"
align=
"center"
prop=
"geography"
/>
<el-table-column
label=
"学校排名"
align=
"center"
prop=
"dlRanking"
/>
<el-table-column
label=
"历史"
align=
"center"
prop=
"history"
/>
<el-table-column
label=
"学校排名"
align=
"center"
prop=
"lsRanking"
/>
<el-table-column
label=
"物理"
align=
"center"
prop=
"physics"
/>
<el-table-column
label=
"学校排名"
align=
"center"
prop=
"wlRanking"
/>
<el-table-column
label=
"化学"
align=
"center"
prop=
"chemistry"
/>
<el-table-column
label=
"学校排名"
align=
"center"
prop=
"hxRanking"
/>
<el-table-column
label=
"生物"
align=
"center"
prop=
"biology"
/>
<el-table-column
label=
"学校排名"
align=
"center"
prop=
"swRanking"
/>
<el-table-column
fixed=
"right"
label=
"操作"
align=
"center"
prop=
"orgname"
width=
"150"
>
<
template
slot-scope=
"{ row }"
>
<el-button
type=
"text"
size=
"small"
@
click=
"handleDelete(0,
row.id)"
>
删除
</el-button>
<el-button
type=
"text"
size=
"small"
@
click=
"handleOption(1,
row)"
>
编辑
</el-button>
</
template
>
</el-table-column>
</el-table>
<pagination
ref=
"pageBlock"
v-show=
"total > 0"
:total=
"total"
:page
.
sync=
"queryParams.pageNum
"
:limit
.
sync=
"queryParams.pageSize"
@
pagination=
"getList"
/>
<!-- 导入弹出框 -->
<el-dialog
:title=
"upload.title"
:visible
.
sync=
"upload.open"
width=
"400px"
append-to-body
>
<el-upload
ref=
"upload"
:limit=
"1"
accept=
".xlsx, .xls"
:headers=
"upload.headers"
:data=
"{ 'curriculaId':queryParams.curriculaId }"
: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"
>
<el-link
type=
"primary"
:underline=
"false"
style=
"font-size: 12px; vertical-align: baseline"
@
click=
"downloadTemplate"
>
下载模板
</el-link>
</div>
</el-upload>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"submitFileForm"
>
确 定
</el-button>
<el-button
@
click=
"upload.open = false"
>
取 消
</el-button>
<!-- 导入弹出框 -->
<el-dialog
:title=
"upload.title"
:visible
.
sync=
"upload.open"
width=
"400px"
append-to-body
>
<el-upload
ref=
"upload"
:limit=
"1"
accept=
".xlsx, .xls"
:headers=
"upload.headers"
:data=
"{ 'curriculaId': queryParams.curriculaId }"
: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"
>
<el-link
type=
"primary"
:underline=
"false"
style=
"font-size: 12px; vertical-align: baseline"
@
click=
"downloadTemplate"
>
下载模板
</el-link>
</div>
</el-dialog>
<!-- 导入弹出框 -->
</el-upload>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"submitFileForm"
>
确 定
</el-button>
<el-button
@
click=
"upload.open = false"
>
取 消
</el-button>
</div>
</el-dialog>
<!-- 导入弹出框 -->
<!-- 新增编辑弹出框 -->
<el-dialog
title=
"详细信息"
:visible
.
sync=
"dialogVisible"
width=
"50%"
>
<el-form
:model=
"achievementForm"
:rules=
"achievementRules"
ref=
"achievementForm
"
label-width=
"80px"
label-position=
"left"
>
<el-row
:gutter=
"30"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"身份证号"
prop=
"idCard"
>
<el-input
v-model=
"achievementForm.idCard"
placeholder=
"请输入身份证号
"
@
change=
"searchStudentInfo"
:disabled=
"nowType==1?true:
false"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"学生姓名"
prop=
"studentName"
>
<el-input
v-model=
"achievementForm.studentName"
placeholder=
"请输入学生姓名"
:disabled=
"nowType==1?true:
false"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"30"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"班级"
prop=
"className"
>
<el-input
v-model=
"achievementForm.className"
placeholder=
"请输入班级"
:disabled=
"nowType==1?true:
false"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"学号"
prop=
"studentNumber"
>
<el-input
v-model=
"achievementForm.studentNumber"
placeholder=
"请输入学号"
:disabled=
"nowType==1?true:
false"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"30"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"考试类型"
prop=
"examType"
>
<el-select
v-model=
"achievementForm.examType"
filterable
placeholder=
"请选择考试类型
"
class=
"selectWidth"
:disabled=
"nowType==1?true:
false"
>
<el-option
v-for=
"(item,index) in dict.type.exam_type"
:key=
"index
"
:label=
"item.label"
:value=
"item.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"30"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"语文"
prop=
"language"
>
<el-input
v-model=
"achievementForm.language
"
placeholder=
"请输入语文"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"数学"
prop=
"math"
>
<el-input
v-model=
"achievementForm.math
"
placeholder=
"请输入数学"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"30"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"英语"
prop=
"english"
>
<el-input
v-model=
"achievementForm.english
"
placeholder=
"请输入英语"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"历史"
prop=
"history"
>
<el-input
v-model=
"achievementForm.history
"
placeholder=
"请输入历史"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"30"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"地理"
prop=
"geography"
>
<el-input
v-model=
"achievementForm.geography
"
placeholder=
"请输入地理"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"政治"
prop=
"politics"
>
<el-input
v-model=
"achievementForm.politics
"
placeholder=
"请输入政治"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"30"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"生物"
prop=
"biology"
>
<el-input
v-model=
"achievementForm.biology
"
placeholder=
"请输入生物"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"物理"
prop=
"physics"
>
<el-input
v-model=
"achievementForm.physics
"
placeholder=
"请输入物理"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"30"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"化学"
prop=
"chemistry"
>
<el-input
v-model=
"achievementForm.chemistry
"
placeholder=
"请输入化学"
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"dialogVisible = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"submitForm"
>
确 定
</el-button>
</span>
</el-dialog>
<!-- 新增编辑弹出框 -->
</div>
<!-- 新增编辑弹出框 -->
<el-dialog
title=
"详细信息"
:visible
.
sync=
"dialogVisible"
width=
"50%"
>
<el-form
:model=
"achievementForm"
:rules=
"achievementRules"
ref=
"achievementForm"
label-width=
"80px
"
label-position=
"left"
>
<el-row
:gutter=
"30"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"身份证号"
prop=
"idCard"
>
<el-input
v-model=
"achievementForm.idCard"
placeholder=
"请输入身份证号"
@
change=
"searchStudentInfo
"
:disabled=
"nowType == 1 ? true :
false"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"学生姓名"
prop=
"studentName"
>
<el-input
v-model=
"achievementForm.studentName"
placeholder=
"请输入学生姓名"
:disabled=
"nowType == 1 ? true :
false"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"30"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"班级"
prop=
"className"
>
<el-input
v-model=
"achievementForm.className"
placeholder=
"请输入班级"
:disabled=
"nowType == 1 ? true :
false"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"学号"
prop=
"studentNumber"
>
<el-input
v-model=
"achievementForm.studentNumber"
placeholder=
"请输入学号"
:disabled=
"nowType == 1 ? true :
false"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"30"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"考试类型"
prop=
"examType"
>
<el-select
v-model=
"achievementForm.examType"
filterable
placeholder=
"请选择考试类型"
class=
"selectWidth
"
:disabled=
"nowType == 1 ? true :
false"
>
<el-option
v-for=
"(item, index) in dict.type.exam_type"
:key=
"index"
:label=
"item.label
"
:value=
"item.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"30"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"语文"
prop=
"language"
>
<el-input
v-model=
"achievementForm.language"
type=
"number
"
placeholder=
"请输入语文"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"数学"
prop=
"math"
>
<el-input
v-model=
"achievementForm.math"
type=
"number
"
placeholder=
"请输入数学"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"30"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"英语"
prop=
"english"
>
<el-input
v-model=
"achievementForm.english"
type=
"number
"
placeholder=
"请输入英语"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"历史"
prop=
"history"
>
<el-input
v-model=
"achievementForm.history"
type=
"number
"
placeholder=
"请输入历史"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"30"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"地理"
prop=
"geography"
>
<el-input
v-model=
"achievementForm.geography"
type=
"number
"
placeholder=
"请输入地理"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"政治"
prop=
"politics"
>
<el-input
v-model=
"achievementForm.politics"
type=
"number
"
placeholder=
"请输入政治"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"30"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"生物"
prop=
"biology"
>
<el-input
v-model=
"achievementForm.biology"
type=
"number
"
placeholder=
"请输入生物"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"物理"
prop=
"physics"
>
<el-input
v-model=
"achievementForm.physics"
type=
"number
"
placeholder=
"请输入物理"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"30"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"化学"
prop=
"chemistry"
>
<el-input
v-model=
"achievementForm.chemistry"
type=
"number
"
placeholder=
"请输入化学"
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"dialogVisible = false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"submitForm"
>
确 定
</el-button>
</span>
</el-dialog>
<!-- 新增编辑弹出框 -->
</div>
</template>
<
script
>
...
...
@@ -214,21 +213,21 @@ import { classList } from "../../../../../api/smartSchool/gradeWork/courseSelect
export
default
{
dicts
:
[
'exam_type'
],
data
(){
data
()
{
return
{
queryParams
:{
curriculaId
:
''
,
studentName
:
''
,
examType
:
''
,
classId
:
''
,
queryParams
:
{
curriculaId
:
''
,
studentName
:
''
,
examType
:
''
,
classId
:
''
,
pageNum
:
1
,
pageSize
:
10
,
},
loading
:
false
,
total
:
0
,
isMultiple
:
false
,
// table是否有选择
achievementData
:[],
// table数据
dialogVisible
:
false
,
// 新增编辑弹出框
loading
:
false
,
total
:
0
,
isMultiple
:
false
,
// table是否有选择
achievementData
:
[],
// table数据
dialogVisible
:
false
,
// 新增编辑弹出框
upload
:
{
// 是否显示弹出层(用户导入)
open
:
false
,
...
...
@@ -244,95 +243,95 @@ export default {
url
:
process
.
env
.
VUE_APP_BASE_API
+
"/curricula/studentScore/importData"
,
},
achievementForm
:{
// 新增、编辑成绩数据
id
:
''
,
studentId
:
''
,
classId
:
''
,
studentName
:
''
,
studentNumber
:
''
,
idCard
:
''
,
className
:
''
,
examType
:
''
,
language
:
''
,
math
:
''
,
english
:
''
,
politics
:
''
,
geography
:
''
,
history
:
''
,
physics
:
''
,
chemistry
:
''
,
biology
:
''
,
achievementForm
:
{
// 新增、编辑成绩数据
id
:
''
,
studentId
:
''
,
classId
:
''
,
studentName
:
''
,
studentNumber
:
''
,
idCard
:
''
,
className
:
''
,
examType
:
''
,
language
:
''
,
math
:
''
,
english
:
''
,
politics
:
''
,
geography
:
''
,
history
:
''
,
physics
:
''
,
chemistry
:
''
,
biology
:
''
,
},
achievementRules
:{
achievementRules
:
{
idCard
:
[
{
required
:
true
,
message
:
'请输入身份证号'
,
trigger
:
'blur'
}
],
studentName
:
[
{
required
:
true
,
message
:
'请输入学生姓名'
,
trigger
:
'blur'
}
],
className
:
[
{
required
:
true
,
message
:
'请输入学生班级'
,
trigger
:
'blur'
}
],
studentNumber
:
[
{
required
:
true
,
message
:
'请输入学生学号'
,
trigger
:
'blur'
}
],
//
studentName: [
//
{ required: true, message: '请输入学生姓名', trigger: 'blur' }
//
],
//
className: [
//
{ required: true, message: '请输入学生班级', trigger: 'blur' }
//
],
//
studentNumber: [
//
{ required: true, message: '请输入学生学号', trigger: 'blur' }
//
],
examType
:
[
{
required
:
true
,
message
:
'请选择考试类型'
,
trigger
:
'change'
}
],
language
:
[
{
required
:
true
,
message
:
'请输入语文成绩'
,
trigger
:
'blur'
}
],
math
:
[
{
required
:
true
,
message
:
'请输入数学成绩'
,
trigger
:
'blur'
}
],
english
:
[
{
required
:
true
,
message
:
'请输入英语成绩'
,
trigger
:
'blur'
}
],
politics
:
[
{
required
:
true
,
message
:
'请输入政治成绩'
,
trigger
:
'blur'
}
],
geography
:
[
{
required
:
true
,
message
:
'请输入地理成绩'
,
trigger
:
'blur'
}
],
history
:
[
{
required
:
true
,
message
:
'请输入历史成绩'
,
trigger
:
'blur'
}
],
physics
:
[
{
required
:
true
,
message
:
'请输入物理成绩'
,
trigger
:
'blur'
}
],
chemistry
:
[
{
required
:
true
,
message
:
'请输入化学成绩'
,
trigger
:
'blur'
}
],
biology
:
[
{
required
:
true
,
message
:
'请输入生物成绩'
,
trigger
:
'blur'
}
],
//
language: [
//
{ required: true, message: '请输入语文成绩', trigger: 'blur' }
//
],
//
math: [
//
{ required: true, message: '请输入数学成绩', trigger: 'blur' }
//
],
//
english: [
//
{ required: true, message: '请输入英语成绩', trigger: 'blur' }
//
],
//
politics: [
//
{ required: true, message: '请输入政治成绩', trigger: 'blur' }
//
],
//
geography: [
//
{ required: true, message: '请输入地理成绩', trigger: 'blur' }
//
],
//
history: [
//
{ required: true, message: '请输入历史成绩', trigger: 'blur' }
//
],
//
physics: [
//
{ required: true, message: '请输入物理成绩', trigger: 'blur' }
//
],
//
chemistry: [
//
{ required: true, message: '请输入化学成绩', trigger: 'blur' }
//
],
//
biology: [
//
{ required: true, message: '请输入生物成绩', trigger: 'blur' }
//
],
},
classList
:[],
// 班级list
nowType
:
0
,
//当前弹框类型 1编辑 0新增
deleteArr
:[]
//删除数据ID数组
classList
:
[],
// 班级list
nowType
:
0
,
//当前弹框类型 1编辑 0新增
deleteArr
:
[]
//删除数据ID数组
}
},
mounted
()
{
this
.
getClassList
()
this
.
getList
()
},
methods
:{
methods
:
{
//获取班级下拉框数据
getClassList
(){
getClassList
()
{
let
grade
=
this
.
$route
.
query
.
grade
classList
(
grade
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
classList
(
grade
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
classList
=
res
.
data
}
})
},
//获取数据信息
getList
(){
getList
()
{
this
.
loading
=
true
this
.
queryParams
.
curriculaId
=
this
.
$route
.
query
.
id
performanceList
({
...
this
.
queryParams
}).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
performanceList
({
...
this
.
queryParams
}).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
achievementData
=
res
.
rows
this
.
total
=
res
.
total
this
.
loading
=
false
...
...
@@ -341,12 +340,12 @@ export default {
},
//重置
resetQuery
(){
resetQuery
()
{
this
.
queryParams
=
{
curriculaId
:
''
,
studentName
:
''
,
examType
:
''
,
classId
:
''
,
curriculaId
:
''
,
studentName
:
''
,
examType
:
''
,
classId
:
''
,
pageNum
:
1
,
pageSize
:
10
,
}
...
...
@@ -354,29 +353,29 @@ export default {
},
//新增、编辑成绩
handleOption
(
type
,
item
)
{
handleOption
(
type
,
item
)
{
this
.
nowType
=
type
if
(
type
==
0
)
{
if
(
type
==
0
)
{
//新增
this
.
achievementForm
=
{
studentId
:
''
,
classId
:
''
,
studentName
:
''
,
studentNumber
:
''
,
idCard
:
''
,
className
:
''
,
examType
:
''
,
language
:
''
,
math
:
''
,
english
:
''
,
politics
:
''
,
geography
:
''
,
history
:
''
,
physics
:
''
,
chemistry
:
''
,
biology
:
''
,
studentId
:
''
,
classId
:
''
,
studentName
:
''
,
studentNumber
:
''
,
idCard
:
''
,
className
:
''
,
examType
:
''
,
language
:
''
,
math
:
''
,
english
:
''
,
politics
:
''
,
geography
:
''
,
history
:
''
,
physics
:
''
,
chemistry
:
''
,
biology
:
''
,
}
}
else
{
}
else
{
//编辑
Object
.
keys
(
this
.
achievementForm
).
forEach
(
key
=>
{
item
[
key
]
&&
(
this
.
achievementForm
[
key
]
=
item
[
key
])
...
...
@@ -386,61 +385,61 @@ export default {
},
//表单提交数据
submitForm
(){
submitForm
()
{
let
data
=
{}
this
.
$refs
[
'achievementForm'
].
validate
((
valid
)
=>
{
if
(
valid
)
{
if
(
this
.
nowType
==
0
)
{
if
(
this
.
nowType
==
0
)
{
data
=
{
studentId
:
this
.
achievementForm
.
studentId
,
curriculaId
:
this
.
$route
.
query
.
id
,
classId
:
this
.
achievementForm
.
classId
,
examType
:
this
.
achievementForm
.
examType
,
language
:
this
.
achievementForm
.
language
,
math
:
this
.
achievementForm
.
math
,
english
:
this
.
achievementForm
.
english
,
politics
:
this
.
achievementForm
.
politics
,
geography
:
this
.
achievementForm
.
geography
,
history
:
this
.
achievementForm
.
history
,
physics
:
this
.
achievementForm
.
physics
,
chemistry
:
this
.
achievementForm
.
chemistry
,
biology
:
this
.
achievementForm
.
biology
,
studentId
:
this
.
achievementForm
.
studentId
,
curriculaId
:
this
.
$route
.
query
.
id
,
classId
:
this
.
achievementForm
.
classId
,
examType
:
this
.
achievementForm
.
examType
,
language
:
this
.
achievementForm
.
language
,
math
:
this
.
achievementForm
.
math
,
english
:
this
.
achievementForm
.
english
,
politics
:
this
.
achievementForm
.
politics
,
geography
:
this
.
achievementForm
.
geography
,
history
:
this
.
achievementForm
.
history
,
physics
:
this
.
achievementForm
.
physics
,
chemistry
:
this
.
achievementForm
.
chemistry
,
biology
:
this
.
achievementForm
.
biology
,
}
//新增
addPerformance
(
data
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
addPerformance
(
data
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
$message
.
success
(
"成绩添加成功!"
);
setTimeout
(()
=>
{
setTimeout
(()
=>
{
this
.
dialogVisible
=
false
;
this
.
getList
();
},
2000
)
},
2000
)
}
})
}
else
{
}
else
{
//编辑
data
=
{
id
:
this
.
achievementForm
.
id
,
studentId
:
this
.
achievementForm
.
studentId
,
curriculaId
:
this
.
$route
.
query
.
id
,
classId
:
this
.
achievementForm
.
classId
,
examType
:
this
.
achievementForm
.
examType
,
language
:
this
.
achievementForm
.
language
,
math
:
this
.
achievementForm
.
math
,
english
:
this
.
achievementForm
.
english
,
politics
:
this
.
achievementForm
.
politics
,
geography
:
this
.
achievementForm
.
geography
,
history
:
this
.
achievementForm
.
history
,
physics
:
this
.
achievementForm
.
physics
,
chemistry
:
this
.
achievementForm
.
chemistry
,
biology
:
this
.
achievementForm
.
biology
,
id
:
this
.
achievementForm
.
id
,
studentId
:
this
.
achievementForm
.
studentId
,
curriculaId
:
this
.
$route
.
query
.
id
,
classId
:
this
.
achievementForm
.
classId
,
examType
:
this
.
achievementForm
.
examType
,
language
:
this
.
achievementForm
.
language
,
math
:
this
.
achievementForm
.
math
,
english
:
this
.
achievementForm
.
english
,
politics
:
this
.
achievementForm
.
politics
,
geography
:
this
.
achievementForm
.
geography
,
history
:
this
.
achievementForm
.
history
,
physics
:
this
.
achievementForm
.
physics
,
chemistry
:
this
.
achievementForm
.
chemistry
,
biology
:
this
.
achievementForm
.
biology
,
}
editPerformance
(
data
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
editPerformance
(
data
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
$message
.
success
(
"成绩编辑成功!"
);
setTimeout
(()
=>
{
setTimeout
(()
=>
{
this
.
dialogVisible
=
false
;
this
.
getList
();
},
2000
)
},
2000
)
}
})
}
...
...
@@ -449,10 +448,10 @@ export default {
},
//根据身份证号获取学生信息
searchStudentInfo
(){
searchStudentInfo
()
{
const
idCard
=
this
.
achievementForm
.
idCard
getInfoByIdCard
(
idCard
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
getInfoByIdCard
(
idCard
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
Object
.
keys
(
this
.
achievementForm
).
forEach
(
key
=>
{
res
.
data
[
key
]
&&
(
this
.
achievementForm
[
key
]
=
res
.
data
[
key
])
})
...
...
@@ -461,22 +460,22 @@ export default {
},
//批量删除、删除
handleDelete
(
type
,
id
)
{
let
infoMessaage
=
type
==
1
?
'此操作将永久删除选中数据, 是否继续?'
:
'此操作将永久删除该数据, 是否继续?'
handleDelete
(
type
,
id
)
{
let
infoMessaage
=
type
==
1
?
'此操作将永久删除选中数据, 是否继续?'
:
'此操作将永久删除该数据, 是否继续?'
this
.
$confirm
(
infoMessaage
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
if
(
id
)
{
if
(
id
)
{
this
.
deleteArr
.
push
(
id
)
}
let
deleteStr
=
this
.
deleteArr
.
toString
()
deletePerformance
(
deleteStr
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
deletePerformance
(
deleteStr
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
$message
.
success
(
'删除成功!'
);
this
.
getList
()
}
else
{
}
else
{
this
.
$message
.
error
(
"删除失败!"
)
this
.
getList
()
}
...
...
@@ -488,19 +487,19 @@ export default {
//table点击事件
handleSelectionChange
(
val
)
{
this
.
isMultiple
=
val
.
length
==
0
?
false
:
true
this
.
deleteArr
=
val
.
map
(
item
=>
{
this
.
isMultiple
=
val
.
length
==
0
?
false
:
true
this
.
deleteArr
=
val
.
map
(
item
=>
{
return
item
.
id
})
},
//导出列表数据
exportRecord
(){
exportRecord
()
{
let
data
=
{
curriculaId
:
this
.
queryParams
.
curriculaId
,
studentName
:
this
.
queryParams
.
studentName
,
examType
:
this
.
queryParams
.
examType
,
classId
:
this
.
queryParams
.
classId
,
curriculaId
:
this
.
queryParams
.
curriculaId
,
studentName
:
this
.
queryParams
.
studentName
,
examType
:
this
.
queryParams
.
examType
,
classId
:
this
.
queryParams
.
classId
,
}
this
.
download
(
"curricula/studentScore/export"
,
...
...
@@ -514,7 +513,7 @@ export default {
//下载模板
downloadTemplate
()
{
this
.
download
(
"/curricula/studentScore/importTemplate"
,{},
"/curricula/studentScore/importTemplate"
,
{},
`成绩管理数据导入_template_
${
new
Date
().
getTime
()}
.xlsx`
);
},
...
...
ruoyi-ui/src/views/smartSchool/gradeWork/studentLeaveView/components/HandleResolve/StudentLeaveInfo.vue
View file @
65d01770
...
...
@@ -2,7 +2,7 @@
<div>
<el-card>
<div
slot=
"header"
class=
"clearfix"
>
<span>
个人
基本信息
</span>
<span>
基本信息
</span>
</div>
<el-form
ref=
"form"
:model=
"infoForm"
:rules=
"rules"
label-width=
"120px"
>
<el-row
:gutter=
"20"
>
...
...
ruoyi-ui/src/views/smartSchool/indexMould/myTask/audApplicationapproval/components/auProgress.vue
View file @
65d01770
...
...
@@ -38,7 +38,6 @@
<
script
>
import
{
listHistory
}
from
"@/api/progress"
;
export
default
{
name
:
"Progress"
,
props
:
{
...
...
ruoyi-ui/src/views/smartSchool/indexMould/myTask/audApplicationapproval/components/autaskResolve.vue
View file @
65d01770
...
...
@@ -38,7 +38,7 @@
import
{
completelt
,
/** 礼堂预约申请审批*/
}
from
"@/api/smartSchool/indexMould/myTask/audApplicationapproval"
;
export
default
{
name
:
"TaskResolve"
,
...
...
@@ -57,7 +57,7 @@ export default {
return
{
postForm
:
{
comment
:
''
,
pass
:
"
true
"
,
pass
:
""
,
},
// 意见模板
templateComment
:
''
,
...
...
@@ -75,7 +75,8 @@ export default {
methods
:
{
/** 处理意见模板选中 */
handleSelectChange
(
value
)
{
this
.
postForm
.
comment
=
value
;
this
.
postForm
.
comment
=
this
.
selectDictLabel
(
this
.
dict
.
type
.
template_comments
,
value
);
console
.
log
(
'this.postForm.comment'
,
this
.
postForm
.
comment
);
},
/** 【提交】按钮 */
...
...
ruoyi-ui/src/views/smartSchool/indexMould/myTask/depBudgetapproval/components/deinfo.vue
View file @
65d01770
...
...
@@ -4,27 +4,62 @@
<div
slot=
"header"
class=
"clearfix"
>
<span>
科室预算审批基本信息
</span>
</div>
<el-form
ref=
"form"
:model=
"infoForm"
:rules=
"rules"
label-width=
"100px"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"科室"
>
<el-input
:value=
"infoForm.deptName"
></el-input>
</el-form-item>
<el-form-item
label=
"填报人"
>
<el-input
:value=
"infoForm.informant"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"分管领导"
>
<el-input
:value=
"infoForm.leadershipName"
></el-input>
</el-form-item>
<el-form-item
label=
"填报时间"
>
<el-input
:value=
"infoForm.tbTime"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-form
ref=
"form"
:model=
"infoForm"
:rules=
"rules"
label-width=
"90px"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"科室"
>
<el-input
:value=
"infoForm.deptName"
></el-input>
</el-form-item>
<el-form-item
label=
"填报人"
>
<el-input
:value=
"infoForm.informant"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"分管领导"
>
<el-input
:value=
"infoForm.leadershipName"
></el-input>
</el-form-item>
<el-form-item
label=
"填报时间"
>
<el-input
:value=
"infoForm.tbTime"
></el-input>
</el-form-item>
</el-col>
</el-form>
<div
style=
"height:10px"
></div>
<el-table
border
:data=
"projectDetail"
style=
"width: 100%"
>
<el-table-column
prop=
"projectName"
label=
"项目名称"
align=
"center"
>
<template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
projectName
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"content"
label=
"申报政策依据、理由及主要内容"
align=
"center"
>
<
template
slot-scope=
"{ row }"
>
<span>
{{
row
.
content
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"projectExpenditures"
label=
"项目支出明细"
align=
"center"
>
<
template
slot-scope=
"{ row }"
>
<span>
{{
row
.
projectExpenditures
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"isGovernmentPurchase"
label=
"是否政府采购"
align=
"center"
>
<
template
slot-scope=
"{ row }"
>
<span
v-if=
"row.isGovernmentPurchase === '1' "
>
是
</span>
<span
v-else-if=
"row.isGovernmentPurchase === '0'"
>
否
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"applyMoney"
label=
"申请金额"
align=
"center"
>
<
template
slot-scope=
"{ row }"
>
<span>
{{
row
.
applyMoney
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"remark"
label=
"备注"
align=
"center"
>
<
template
slot-scope=
"{ row }"
>
<span>
{{
row
.
remark
}}
</span>
</
template
>
</el-table-column>
</el-table>
</el-card>
<TaskResolve
v-if=
"!$attrs.readOnly"
:taskId=
"this.$attrs.taskId"
:instanceId=
"instanceId"
:id=
"id"
v-on=
"this.$listeners"
></TaskResolve>
...
...
@@ -77,6 +112,7 @@ export default {
limitEndTime
,
limitStartTime
,
infoForm
:
{},
projectDetail
:
[],
rules
:
{
realityStartTime
:
[
{
required
:
true
,
message
:
'实际开始时间不能为空'
,
trigger
:
'change'
}
...
...
@@ -96,6 +132,7 @@ export default {
getDetailInfo
()
{
queryDepart
(
this
.
id
).
then
(
res
=>
{
this
.
infoForm
=
res
.
data
this
.
projectDetail
=
res
.
data
.
schoolDepartmentBudgetProjectmxList
})
},
...
...
@@ -118,4 +155,12 @@ export default {
}
</
script
>
<
style
scoped
></
style
>
<
style
scoped
>
.long-label
.el-form-item__label
{
white-space
:
nowrap
;
overflow
:
hidden
;
text-overflow
:
ellipsis
;
max-width
:
200px
;
/* 根据需要调整最大宽度 */
}
</
style
>
ruoyi-ui/src/views/smartSchool/indexMould/myTask/depBudgetapproval/components/detaskResolve.vue
View file @
65d01770
...
...
@@ -6,24 +6,20 @@
</div>
<div>
<el-form
ref=
"postForm"
:model=
"postForm"
:rules=
"rules"
>
<el-form-item
label=
"处理意见"
label-width=
"80px"
required
>
<el-select
:disabled=
"$attrs.readOnly"
placeholder=
"常用审批语"
v-model=
"templateComment"
@
change=
"handleSelectChange"
>
<el-option
v-for=
"dict in dict.type.template_comments"
:key=
"dict.value"
:value=
"dict.value"
:label=
"dict.label"
></el-option>
</el-select>
</el-form-item>
<el-form-item
prop=
"comment"
>
<el-input
type=
"textarea"
:rows=
"5"
:readonly=
"$attrs.readOnly"
v-model=
"postForm.comment"
></el-input>
</el-form-item>
<el-form-item
label=
"处理结果"
label-width=
"80px"
prop=
"pass"
>
<el-select
v-model=
"postForm.pass"
:disabled=
"$attrs.readOnly"
>
<el-select
v-model=
"postForm.pass"
:disabled=
"$attrs.readOnly"
@
change=
"handleSelectChange(postForm.pass)"
>
<el-option
v-for=
"dict in dict.type.apply_results"
:key=
"dict.value"
:value=
"dict.value"
:label=
"dict.label"
></el-option>
</el-select>
</el-form-item>
<el-form-item
prop=
"comment"
label=
"处理意见"
label-width=
"80px"
required
>
<el-input
type=
"textarea"
:rows=
"5"
:readonly=
"$attrs.readOnly"
v-model=
"postForm.comment"
></el-input>
</el-form-item>
</el-form>
<el-row
v-if=
"!$attrs.readOnly"
type=
"flex"
justify=
"center"
class=
"mb20"
>
<el-button
type=
"primary"
size=
"small"
@
click=
"handleSubmit"
>
确认提交
...
...
@@ -54,7 +50,7 @@ export default {
return
{
postForm
:
{
comment
:
''
,
pass
:
"
1
"
,
pass
:
""
,
},
// 意见模板
templateComment
:
''
,
...
...
@@ -71,19 +67,27 @@ export default {
},
methods
:
{
/** 处理意见模板选中 */
// handleSelectChange(value) {
// this.postForm.comment = this.selectDictLabel(this.dict.type.template_comments, value);
// console.log(value);
// console.log('this.postForm.comment', this.postForm.comment);
// },
handleSelectChange
(
value
)
{
this
.
postForm
.
comment
=
value
;
if
(
value
===
"true"
)
{
this
.
postForm
.
comment
=
"审核无误,同意该申请"
;
}
else
if
(
value
===
"false"
)
{
this
.
postForm
.
comment
=
"不同意该申请"
;
}
},
/** 【提交】按钮 */
handleSubmit
()
{
this
.
$refs
.
postForm
.
validate
(
valid
=>
{
// if (this.postForm.pass) {
// this.postForm.pass = "通过"
// } else {
// this.postForm.pass = "不通过"
// }
if
(
valid
)
{
this
.
$modal
.
loading
(
'正在提交数据,请稍等...'
);
complete
({
...
...
@@ -92,7 +96,10 @@ export default {
comment
:
this
.
postForm
.
comment
,
pass
:
this
.
postForm
.
pass
}).
then
(
response
=>
{
console
.
log
(
complete
);
console
.
log
(
'response'
,
response
);
this
.
$modal
.
closeLoading
();
console
.
log
(
'提交成功'
);
this
.
$message
.
success
(
'提交成功'
);
this
.
$emit
(
'submit'
);
}).
catch
(
error
=>
{
...
...
@@ -101,6 +108,7 @@ export default {
}
})
}
}
}
</
script
>
...
...
ruoyi-ui/src/views/smartSchool/indexMould/myTask/purchaseApproval/components/TaskResolve.vue
View file @
65d01770
...
...
@@ -8,13 +8,9 @@
<el-form
ref=
"postForm"
:model=
"postForm"
:rules=
"rules"
>
<el-form-item
label=
"处理意见"
label-width=
"80px"
required
>
<el-select
:disabled=
"$attrs.readOnly"
placeholder=
"常用审批语"
v-model=
"templateComment"
@
change=
"handleSelectChange"
>
<el-option
v-for=
"dict in dict.type.template_comments"
:key=
"dict.value"
:value=
"dict.value"
:label=
"dict.label"
></el-option>
@
change=
"handleSelectChange"
>
<el-option
v-for=
"dict in dict.type.template_comments"
:key=
"dict.value"
:value=
"dict.value"
:label=
"dict.label"
></el-option>
</el-select>
</el-form-item>
...
...
@@ -23,12 +19,8 @@
</el-form-item>
<el-form-item
label=
"处理结果"
label-width=
"80px"
prop=
"pass"
>
<el-select
v-model=
"postForm.pass"
:disabled=
"$attrs.readOnly"
>
<el-option
v-for=
"dict in dict.type.apply_results"
:key=
"dict.value"
:value=
"dict.value"
:label=
"dict.label"
></el-option>
<el-option
v-for=
"dict in dict.type.apply_results"
:key=
"dict.value"
:value=
"dict.value"
:label=
"dict.label"
></el-option>
</el-select>
</el-form-item>
</el-form>
...
...
@@ -42,7 +34,7 @@
</
template
>
<
script
>
import
{
complete
}
from
"@/api/smartSchool/index/purchaseApproval.js"
;
import
{
complete
}
from
"@/api/smartSchool/index/purchaseApproval.js"
;
export
default
{
name
:
"TaskResolve"
,
...
...
@@ -61,17 +53,17 @@ export default {
return
{
postForm
:
{
comment
:
''
,
pass
:
"
1
"
,
pass
:
"
true
"
,
},
// 意见模板
templateComment
:
''
,
circleUrl
:
"https://cube.elemecdn.com/3/7c/3ea6beec64369c2642b92c6726f1epng.png"
,
rules
:
{
comment
:
[
{
required
:
true
,
message
:
'处理意见不能为空'
,
trigger
:
'change'
}
{
required
:
true
,
message
:
'处理意见不能为空'
,
trigger
:
'change'
}
],
pass
:
[
{
required
:
true
,
message
:
'处理结果不能为空'
,
trigger
:
'change'
}
{
required
:
true
,
message
:
'处理结果不能为空'
,
trigger
:
'change'
}
]
}
}
...
...
@@ -79,7 +71,7 @@ export default {
methods
:
{
/** 处理意见模板选中 */
handleSelectChange
(
value
)
{
this
.
postForm
.
comment
=
value
;
this
.
postForm
.
comment
=
this
.
selectDictLabel
(
this
.
dict
.
type
.
template_comments
,
value
)
;
},
/** 【提交】按钮 */
...
...
ruoyi-ui/src/views/smartSchool/indexMould/myTask/studentLeaveApproval/HandleResolve/StudentLeaveInfo.vue
View file @
65d01770
...
...
@@ -2,7 +2,7 @@
<div>
<el-card>
<div
slot=
"header"
class=
"clearfix"
>
<span>
个人
基本信息
</span>
<span>
基本信息
</span>
</div>
<el-form
ref=
"form"
:model=
"infoForm"
:rules=
"rules"
label-width=
"120px"
>
<el-row
:gutter=
"20"
>
...
...
ruoyi-ui/src/views/smartSchool/indexMould/myTask/teachLeaveApprove/HandleResolve/TeacherLeaveInfo.vue
View file @
65d01770
...
...
@@ -2,7 +2,7 @@
<div>
<el-card>
<div
slot=
"header"
class=
"clearfix"
>
<span>
个人
基本信息
</span>
<span>
基本信息
</span>
</div>
<el-form
ref=
"form"
:model=
"infoForm"
:rules=
"rules"
label-width=
"120px"
>
<el-row
:gutter=
"20"
>
...
...
ruoyi-ui/src/views/smartSchool/logisticsManage/purchaseInfo/index.vue
View file @
65d01770
...
...
@@ -147,6 +147,7 @@ export default {
this
.
openPur
=
true
;
getPurchaseDetail
(
row
.
id
).
then
((
response
)
=>
{
this
.
form
=
response
.
data
;
console
.
log
(
'this.form'
,
this
.
form
);
}).
catch
(()
=>
{
})
},
...
...
ruoyi-ui/src/views/smartSchool/logisticsManage/repairReport/index.vue
View file @
65d01770
...
...
@@ -531,6 +531,7 @@ export default {
this
.
open
=
false
;
this
.
openLook
=
false
;
this
.
openfk
=
false
;
this
.
openpd
=
false
;
// this.resetQuery();
this
.
reset
();
},
...
...
ruoyi-ui/src/views/smartSchool/officialWork/purchaseApply/index.vue
View file @
65d01770
...
...
@@ -64,59 +64,70 @@
<ExPagination
v-show=
"total > 0"
:total=
"total"
:limit
.
sync=
"queryParams.pageSize"
:page
.
sync=
"queryParams.pageNum"
@
pagination=
"getList"
></ExPagination>
<!-- 新增或修改采购对话框 -->
<el-dialog
:title=
"title"
:visible
.
sync=
"openForPur"
width=
"
1000px
"
@
close=
"refreshValidate"
>
<el-dialog
:title=
"title"
:visible
.
sync=
"openForPur"
width=
"
55%
"
@
close=
"refreshValidate"
>
<!-- <div> -->
<el-form
ref=
"formPur"
:model=
"formPur"
:disabled=
"formPurDisable"
:rules=
"rules"
label-width=
"120px"
inline
>
<el-row
:gutter=
"10"
>
<el-col
:span=
"2
4
"
>
<el-row>
<el-col
:span=
"2
2
"
>
<el-form-item
label=
"标题"
prop=
"purchaseName"
>
<el-input
v-model=
"formPur.purchaseName"
placeholder=
"请输入采购申请标题"
clearable
style=
"width:576px"
></el-input>
<el-input
v-model=
"formPur.purchaseName"
placeholder=
"请输入采购申请标题"
clearable
style=
"width: 615px"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"10"
>
<el-form-item
label=
"申请部门"
prop=
"deptId"
>
<Treeselect
:disabled=
"formPurDisable"
v-model=
"formPur.deptId"
@
select=
"deptIdAndName"
:options=
"deptOptions"
:show-count=
"true"
placeholder=
"请选择归属部门"
:defaultExpandLevel=
1
style=
"width: 193px"
/>
</el-form-item>
</el-col>
<el-col
:span=
"10"
>
<el-form-item
label=
"期望日期"
prop=
"expectedDate"
>
<el-date-picker
v-model=
"formPur.expectedDate"
placeholder=
"请选择期望日期"
clearable
value-format=
"yyyy-MM-dd"
style=
"width: 193px"
></el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"10"
>
<el-form-item
label=
"批复项目"
prop=
"budgetId"
>
<el-select
v-model=
"formPur.budgetId"
@
change=
"getBudgetName"
placeholder=
"请选择批复项目"
style=
"width: 100%"
>
<el-option
v-for=
"item in budgetList"
:key=
"item.id"
:label=
"item.budgetName"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"10"
>
<el-form-item
label=
"采购金额(元)"
prop=
"purchaseMoney"
>
<el-input
:value=
"purchaseMoney"
readonly
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"10"
>
<el-form-item
label=
"分管处室领导"
prop=
"handUserName1"
>
<el-input
placeholder=
"请选择分管领导"
v-model=
"formPur.handUserName1"
clearable
@
click
.
native=
"selectBoss1(1)"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"10"
>
<el-form-item
label=
"财务领导"
prop=
"handUserName2"
>
<el-input
placeholder=
"请选择财务领导"
v-model=
"formPur.handUserName2"
clearable
@
click
.
native=
"selectBoss1(2)"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"22"
>
<el-form-item
label=
"采购说明"
>
<el-input
type=
"textarea"
v-model=
"formPur.remark"
placeholder=
"请输入采购说明"
clearable
style=
"width: 615px"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-form-item
label=
"申请部门"
prop=
"deptId"
>
<Treeselect
:disabled=
"formPurDisable"
v-model=
"formPur.deptId"
@
select=
"deptIdAndName"
:options=
"deptOptions"
:show-count=
"true"
placeholder=
"请选择归属部门"
:defaultExpandLevel=
1
style=
"width:224px"
/>
</el-form-item>
<el-form-item
label=
"期望日期"
prop=
"expectedDate"
>
<el-date-picker
v-model=
"formPur.expectedDate"
placeholder=
"请选择期望日期"
clearable
value-format=
"yyyy-MM-dd"
></el-date-picker>
</el-form-item>
<el-form-item
label=
"批复项目"
prop=
"budgetId"
>
<!-- <el-input v-model="formPur.budgetName" clearable></el-input> -->
<el-select
v-model=
"formPur.budgetId"
@
change=
"getBudgetName"
style=
"width: 100%"
placeholder=
"请选择批复项目"
>
<el-option
v-for=
"item in budgetList"
:key=
"item.id"
:label=
"item.budgetName"
:value=
"item.id"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"采购金额(元)"
prop=
"purchaseMoney"
>
<el-input
:value=
"purchaseMoney"
readonly
clearable
></el-input>
</el-form-item>
<el-form-item
label=
"分管处室领导"
prop=
"handUserName1"
>
<el-input
placeholder=
"请选择分管领导"
v-model=
"formPur.handUserName1"
clearable
@
click
.
native=
"selectBoss1(1)"
></el-input>
<!-- <el-select v-model="formPur.handUserName1" @change="leaderfgc" style="width: 100%"-->
<!-- >-->
<!-- <el-option v-for="item in schoolLeaderList" :key="item.id" :label="item.teacherName"-->
<!-- :value="{ handUserName1: item.teacherName, handUserId1: item.id }">-->
<!-- </el-option>-->
<!-- </el-select>-->
</el-form-item>
<el-form-item
label=
"财务领导"
prop=
"handUserName2"
>
<el-input
placeholder=
"请选择财务领导"
v-model=
"formPur.handUserName2"
clearable
@
click
.
native=
"selectBoss1(2)"
></el-input>
<!-- <el-select v-model="formPur.handUserName2" @change="leadercw" style="width: 100%"-->
<!-- >-->
<!-- <el-option v-for="item in schoolLeaderList" :key="item.id" :label="item.teacherName"-->
<!-- :value="{ handUserName2: item.teacherName, handUserId2: item.id }">-->
<!-- </el-option>-->
<!-- </el-select>-->
</el-form-item>
<el-form-item
label=
"采购说明"
>
<el-input
type=
"textarea"
v-model=
"formPur.remark"
placeholder=
"请输入采购说明"
clearable
style=
"width:578px"
></el-input>
</el-form-item>
</el-form>
<el-row
:gutter=
"10"
>
<el-col
:span=
"1.5"
>
<el-button
v-if=
"isEdit"
type=
"primary"
size=
"mini"
:disabled=
"add"
@
click=
"addRow"
>
增加
</el-button>
...
...
@@ -126,19 +137,18 @@
</el-col>
</el-row>
<div
style=
"height:10px"
></div>
<el-table
:data=
"projectDetail"
v-loading=
"loading"
style=
"width: 100%"
@
selection-change=
"handleSelectionChangeDetail"
>
<el-table-column
type=
"selection"
width=
"50"
align=
"center"
/>
<el-table-column
type=
"index"
label=
"序号"
width=
"
50
"
></el-table-column>
<el-table-column
prop=
"assetsTypeName"
label=
"资产分类"
align=
"center"
>
<el-table-column
type=
"index"
label=
"序号"
width=
"
48
"
></el-table-column>
<el-table-column
prop=
"assetsTypeName"
label=
"资产分类"
align=
"center"
width=
"120"
>
<
template
slot-scope=
"scope"
>
<span
v-show=
"!isEdit"
>
{{
scope
.
row
.
assetsTypeName
}}
</span>
<el-input
v-show=
"isEdit"
v-model=
"scope.row.assetsTypeName"
@
click
.
native=
"selectAssetsType(scope.$index)"
></el-input>
</
template
>
</el-table-column>
<el-table-column
prop=
"assetsName"
label=
"资产名称"
align=
"center"
>
<el-table-column
prop=
"assetsName"
label=
"资产名称"
align=
"center"
width=
"180px"
>
<
template
slot-scope=
"{ row }"
>
<span
v-show=
"!isEdit"
>
{{
row
.
assetsName
}}
</span>
<el-input
v-show=
"isEdit"
v-model=
"row.assetsName"
></el-input>
...
...
@@ -150,25 +160,25 @@
<el-input
v-show=
"isEdit"
v-model=
"row.assetsSpecs"
></el-input>
</
template
>
</el-table-column>
<el-table-column
prop=
"assetsUnit"
label=
"单位"
align=
"center"
>
<el-table-column
prop=
"assetsUnit"
label=
"单位"
align=
"center"
width=
"100px"
>
<
template
slot-scope=
"{ row }"
>
<span
v-show=
"!isEdit"
>
{{
row
.
assetsUnit
}}
</span>
<el-input
v-show=
"isEdit"
v-model=
"row.assetsUnit"
></el-input>
</
template
>
</el-table-column>
<el-table-column
prop=
"assetsPrice"
label=
"单价-元"
align=
"center"
width=
"1
5
0px"
>
<el-table-column
prop=
"assetsPrice"
label=
"单价-元"
align=
"center"
width=
"1
2
0px"
>
<
template
slot-scope=
"{ row }"
>
<span
v-show=
"!isEdit"
>
{{
row
.
assetsPrice
}}
</span>
<el-input
v-show=
"isEdit"
v-model=
"row.assetsPrice"
type=
"number"
></el-input>
<el-input
v-show=
"isEdit"
v-model=
"row.assetsPrice"
type=
"number"
></el-input>
</
template
>
</el-table-column>
<el-table-column
prop=
"assetsNumbers"
label=
"数量"
align=
"center"
>
<el-table-column
prop=
"assetsNumbers"
label=
"数量"
align=
"center"
width=
"110px"
>
<
template
slot-scope=
"{ row }"
>
<span
v-show=
"!isEdit"
>
{{
row
.
assetsNumbers
}}
</span>
<el-input
v-show=
"isEdit"
v-model=
"row.assetsNumbers"
></el-input>
<el-input
v-show=
"isEdit"
v-model=
"row.assetsNumbers"
></el-input>
</
template
>
</el-table-column>
<el-table-column
prop=
"totalPrice"
label=
"小计"
align=
"center"
>
<el-table-column
prop=
"totalPrice"
label=
"小计"
align=
"center"
width=
"120px"
>
<
template
slot-scope=
"{ row }"
>
<span>
{{
row
.
assetsPrice
*
row
.
assetsNumbers
}}
</span>
</
template
>
...
...
@@ -324,7 +334,7 @@ export default {
},
},
methods
:
{
addDetail
()
{
this
.
projectDetail
.
push
({
assetsType
:
""
,
...
...
ruoyi-ui/src/views/smartSchool/personWork/auditoriumReservation/index copy.vue
0 → 100644
View file @
65d01770
<
template
>
<div
class=
"upload-file"
>
<el-upload
multiple
:action=
"uploadFileUrl"
:before-upload=
"handleBeforeUpload"
:file-list=
"fileList"
:limit=
"limit"
:on-error=
"handleUploadError"
:on-exceed=
"handleExceed"
:on-success=
"handleUploadSuccess"
:show-file-list=
"false"
:headers=
"headers"
class=
"upload-file-uploader"
ref=
"fileUpload"
>
<!-- 上传按钮 -->
<el-button
size=
"mini"
type=
"primary"
icon=
"el-icon-upload"
style=
"margin-right: 10px;"
>
上传
</el-button>
<!-- 上传提示 -->
<!--
<div
class=
"el-upload__tip"
slot=
"tip"
v-if=
"showTip"
>
-->
<!-- 请上传-->
<!--
<template
v-if=
"fileSize"
>
大小不超过
<b
style=
"color: #f56c6c"
>
{{
fileSize
}}
MB
</b>
</
template
>
-->
<!-- <template v-if="fileType"> 格式为 <b style="color: #f56c6c">{{ fileType.join("/") }}</b> </template>-->
<!-- 的文件-->
<!-- </div>-->
</el-upload>
<!-- 文件列表 -->
<transition-group
class=
"upload-file-list el-upload-list el-upload-list--text"
name=
"el-fade-in-linear"
tag=
"ul"
>
<li
:key=
"file.url"
class=
"el-upload-list__item ele-upload-list__item-content"
v-for=
"(file, index) in fileList"
>
<el-link
:href=
"`${baseUrl}${file.url}`"
:underline=
"false"
target=
"_blank"
>
<span
class=
"el-icon-document"
>
{{ file.name }}
</span>
</el-link>
<div
class=
"ele-upload-list__item-content-action"
style=
"float: right"
>
<el-link
style=
"margin-left: 10px;color: #1890ff"
:href=
"`${baseUrl}${file.url}`"
:underline=
"false"
target=
"_blank"
>
下载
</el-link>
<el-link
style=
"margin-left: 15px"
:underline=
"false"
@
click=
"handleDelete(index)"
type=
"danger"
>
删除
</el-link>
</div>
</li>
</transition-group>
</div>
</template>
<
script
>
import
{
getToken
}
from
"@/utils/auth"
;
export
default
{
name
:
"UploadFileNew"
,
props
:
{
// 值
value
:
[
String
,
Object
,
Array
],
// 数量限制
limit
:
{
type
:
Number
,
default
:
5
,
},
// 大小限制(MB)
fileSize
:
{
type
:
Number
,
default
:
5
,
},
// 文件类型, 例如['png', 'jpg', 'jpeg']
fileType
:
{
type
:
Array
,
default
:
()
=>
[
"doc"
,
"xls"
,
"ppt"
,
"txt"
,
"pdf"
],
},
// 是否显示提示
isShowTip
:
{
type
:
Boolean
,
default
:
true
}
},
data
()
{
return
{
number
:
0
,
uploadList
:
[],
baseUrl
:
process
.
env
.
VUE_APP_BASE_API
,
uploadFileUrl
:
process
.
env
.
VUE_APP_BASE_API
+
"/common/upload"
,
// 上传文件服务器地址
headers
:
{
Authorization
:
"Bearer "
+
getToken
(),
},
fileList
:
[],
};
},
watch
:
{
value
:
{
handler
(
val
)
{
if
(
val
)
{
let
temp
=
1
;
// 首先将值转为数组
const
list
=
Array
.
isArray
(
val
)
?
val
:
this
.
value
.
split
(
','
);
// 然后将数组转为对象数组
this
.
fileList
=
list
.
map
(
item
=>
{
if
(
typeof
item
===
"string"
)
{
item
=
{
name
:
item
,
url
:
item
};
}
item
.
uid
=
item
.
uid
||
new
Date
().
getTime
()
+
temp
++
;
return
item
;
});
}
else
{
this
.
fileList
=
[];
return
[];
}
},
deep
:
true
,
immediate
:
true
}
},
computed
:
{
// 是否显示提示
showTip
()
{
return
this
.
isShowTip
&&
(
this
.
fileType
||
this
.
fileSize
);
},
},
methods
:
{
// 上传前校检格式和大小
handleBeforeUpload
(
file
)
{
// 校检文件类型
// if (this.fileType) {
// const fileName = file.name.split('.');
// const fileExt = fileName[fileName.length - 1];
// const isTypeOk = this.fileType.indexOf(fileExt) >= 0;
// if (!isTypeOk) {
// this.$modal.msgError(`文件格式不正确, 请上传${this.fileType.join("/")}格式文件!`);
// return false;
// }
// }
// 校检文件大小
// if (this.fileSize) {
// const isLt = file.size / 1024 / 1024
<
this
.
fileSize
;
// if (!isLt) {
// this.$modal.msgError(`上传文件大小不能超过 ${this.fileSize} MB!`);
// return false;
// }
// }
this
.
$modal
.
loading
(
"正在上传文件,请稍候..."
);
this
.
number
++
;
return
true
;
},
// 文件个数超出
handleExceed
()
{
this
.
$modal
.
msgError
(
`上传文件数量不能超过
${
this
.
limit
}
个!`
);
},
// 上传失败
handleUploadError
(
err
)
{
this
.
$modal
.
msgError
(
"上传文件失败,请重试"
);
this
.
$modal
.
closeLoading
()
},
// 上传成功回调
handleUploadSuccess
(
res
,
file
)
{
console
.
log
(
'handleUploadSuccess'
,
res
)
console
.
log
(
'file'
,
file
)
if
(
res
.
code
===
200
)
{
this
.
uploadList
.
push
({
name
:
res
.
newFileName
,
url
:
res
.
fileName
});
this
.
uploadList
.
push
({
name
:
res
.
originalFilename
,
url
:
res
.
fileName
});
this
.
uploadedSuccessfully
();
}
else
{
this
.
number
--
;
this
.
$modal
.
closeLoading
();
this
.
$modal
.
msgError
(
res
.
msg
);
this
.
$refs
.
fileUpload
.
handleRemove
(
file
);
this
.
uploadedSuccessfully
();
}
},
// 删除文件
handleDelete
(
index
)
{
this
.
fileList
.
splice
(
index
,
1
);
// this.$emit("input", this.listToString(this.fileList));
this
.
$emit
(
"input"
,
this
.
fileList
);
},
// 上传结束处理
uploadedSuccessfully
()
{
if
(
this
.
number
>
0
&&
this
.
uploadList
.
length
===
this
.
number
)
{
this
.
fileList
=
this
.
fileList
.
concat
(
this
.
uploadList
);
this
.
uploadList
=
[];
this
.
number
=
0
;
// this.$emit("input", this.listToString(this.fileList));
this
.
$emit
(
"input"
,
this
.
fileList
);
this
.
$modal
.
closeLoading
();
}
},
// 获取文件名称
getFileName
(
name
)
{
if
(
name
.
lastIndexOf
(
"/"
)
>
-
1
)
{
return
name
.
slice
(
name
.
lastIndexOf
(
"/"
)
+
1
);
}
else
{
return
""
;
}
},
// 对象转成指定字符串分隔
// listToString(list, separator) {
// let strs = "";
// separator = separator || ",";
// for (let i in list) {
// strs += list[i].url + separator;
// }
// return strs != '' ? strs.substr(0, strs.length - 1) : '';
// }
}
};
</
script
>
<
style
scoped
lang=
"scss"
>
.upload-file
{
vertical-align
:
center
;
width
:
100%
;
text-align
:
right
;
position
:
relative
;
}
::v-deep
.el-upload
{
position
:
absolute
;
right
:
0px
;
top
:
0px
;
}
.upload-file-uploader
{
margin-bottom
:
5px
;
}
.upload-file-list
{
width
:
85%
;
position
:
relative
!important
;
top
:
0px
!important
;
}
.upload-file-list
.el-upload-list__item
{
//
border
:
1px
solid
#e4e7ed
;
line-height
:
2
;
margin-bottom
:
10px
;
position
:
relative
;
}
.upload-file-list
.ele-upload-list__item-content
{
display
:
flex
;
justify-content
:
flex-start
;
;
align-items
:
center
;
color
:
inherit
;
}
.ele-upload-list__item-content-action
.el-link
{
margin-right
:
10px
;
\ No newline at end of file
ruoyi-ui/src/views/smartSchool/personWork/auditoriumReservation/index.vue
View file @
65d01770
...
...
@@ -261,7 +261,8 @@
</p> -->
<p>
<el-link
:underline=
"false"
:href=
"postForm.fjlj"
type=
"primary"
target=
"_blank"
>
<el-link
:underline=
"false"
:href=
"`${baseUrl}${postForm.fjlj}`"
type=
"primary"
target=
"_blank"
>
{{ postForm.fjmc }}
</el-link>
<!-- <el-button type="primary" size="mini" @click="downloadFile(postForm.fjlj)">
...
...
@@ -338,6 +339,8 @@ export default {
data
()
{
return
{
baseUrl
:
process
.
env
.
VUE_APP_BASE_API
,
// baseUrl: 'http://192.168.1.111:8848',
stateTexts
:
[
'未提交'
,
'审核中'
,
'审核通过'
,
'审核不通过'
],
// 上传
upload
:
{
...
...
@@ -873,7 +876,7 @@ export default {
this
.
throttle
(()
=>
{
this
.
$refs
[
"postForm"
].
validate
((
valid
)
=>
{
if
(
valid
)
{
console
.
log
(
'this.postForm'
,
this
.
postForm
);
console
.
log
(
'this.postForm
123
'
,
this
.
postForm
);
// this.$modal.loading("正在上传数据,请稍等...");
if
(
this
.
postForm
.
id
!=
null
)
{
if
(
this
.
fileList
.
length
!=
0
)
{
...
...
@@ -894,7 +897,7 @@ export default {
}
else
{
if
(
this
.
fileList
.
length
!=
0
)
{
console
.
log
(
'this.postForm'
,
this
.
postForm
);
console
.
log
(
'this.postForm
1234
'
,
this
.
postForm
);
addAuditor
(
this
.
postForm
)
.
then
((
response
)
=>
{
this
.
$modal
.
closeLoading
();
...
...
ruoyi-ui/src/views/smartSchool/personWork/logisticsWarranty/index.vue
View file @
65d01770
...
...
@@ -33,7 +33,7 @@
<el-table-column
align=
"center"
prop=
"id"
label=
"报修单号"
/>
<el-table-column
align=
"center"
prop=
"repairsName"
label=
"报修人"
width=
"85px"
/>
<el-table-column
align=
"center"
prop=
"phone"
label=
"联系方式"
width=
"130px"
/>
<el-table-column
align=
"center"
prop=
"repairsTime"
label=
"报修时间"
width=
"160px"
/>
<el-table-column
align=
"center"
prop=
"repairsTime"
label=
"报修时间"
width=
"160px"
/>
<el-table-column
align=
"center"
prop=
"failureEquipment"
label=
"故障设备"
/>
<el-table-column
align=
"center"
prop=
"failureEquipmentArea"
label=
"设备地点"
/>
<el-table-column
align=
"center"
prop=
"failureEquipmentDescribe"
label=
"故障描述"
/>
...
...
@@ -74,8 +74,6 @@
</el-button>
</div>
</
template
>
</el-table-column>
</el-table>
...
...
@@ -137,7 +135,6 @@
</el-dialog>
<!-- 查看对话框 -->
<el-dialog
:title=
"title"
:visible
.
sync=
"openLook"
width=
"1200px"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-row>
...
...
@@ -229,7 +226,12 @@
<el-input
v-model=
"formfk.maintainState"
placeholder=
"维修状态"
></el-input>
</el-form-item>
<el-form-item
label=
"报修结果"
prop=
"maintainResult"
>
<el-input
v-model=
"formfk.maintainResult"
placeholder=
"报修结果"
></el-input>
<el-select
v-model=
"formfk.maintainResult"
placeholder=
"请选择报修结果"
>
<el-option
label=
"已维修"
value=
"1"
></el-option>
<el-option
label=
"无法维修"
value=
"2"
></el-option>
<!-- 添加更多的选项 -->
</el-select>
</el-form-item>
<el-form-item
label=
"评价"
prop=
"phevaluateone"
>
<el-rate
v-model=
"formfk.evaluate"
:max=
"5"
></el-rate>
...
...
ruoyi-ui/src/views/smartSchool/schoolManage/infoPush/components/receiveList.vue
→
ruoyi-ui/src/views/smartSchool/schoolManage/
schoolNotice/
infoPush/components/receiveList.vue
View file @
65d01770
File moved
ruoyi-ui/src/views/smartSchool/schoolManage/infoPush/school/index.vue
→
ruoyi-ui/src/views/smartSchool/schoolManage/
schoolNotice/
infoPush/school/index.vue
View file @
65d01770
File moved
ruoyi-ui/src/views/smartSchool/schoolManage/schoolNotice/personnelGrouping/authUser.vue
0 → 100644
View file @
65d01770
<
template
>
<div
class=
"app-container"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
>
<el-form-item
label=
"用户名称"
prop=
"userName"
>
<el-input
v-model=
"queryParams.userName"
placeholder=
"请输入用户名称"
clearable
style=
"width: 240px"
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"手机号码"
prop=
"phonenumber"
>
<el-input
v-model=
"queryParams.phonenumber"
placeholder=
"请输入手机号码"
clearable
style=
"width: 240px"
@
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=
"openSelectUser"
v-hasPermi=
"['system:role:add']"
>
添加用户
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"danger"
plain
icon=
"el-icon-circle-close"
size=
"mini"
:disabled=
"multiple"
@
click=
"cancelAuthUserAll"
v-hasPermi=
"['system:role:remove']"
>
批量取消授权
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"warning"
plain
icon=
"el-icon-close"
size=
"mini"
@
click=
"handleClose"
>
关闭
</el-button>
</el-col>
<right-toolbar
:showSearch
.
sync=
"showSearch"
@
queryTable=
"getList"
></right-toolbar>
</el-row>
<el-table
v-loading=
"loading"
:data=
"userList"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"用户名称"
prop=
"userName"
:show-overflow-tooltip=
"true"
/>
<el-table-column
label=
"用户昵称"
prop=
"nickName"
:show-overflow-tooltip=
"true"
/>
<el-table-column
label=
"邮箱"
prop=
"email"
:show-overflow-tooltip=
"true"
/>
<el-table-column
label=
"手机"
prop=
"phonenumber"
:show-overflow-tooltip=
"true"
/>
<el-table-column
label=
"状态"
align=
"center"
prop=
"status"
>
<template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.sys_normal_disable"
:value=
"scope.row.status"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"创建时间"
align=
"center"
prop=
"createTime"
width=
"180"
>
<
template
slot-scope=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
createTime
)
}}
</span>
</
template
>
</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-circle-close"
@
click=
"cancelAuthUser(scope.row)"
v-hasPermi=
"['system:role: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"
/>
<select-user
ref=
"select"
:roleId=
"queryParams.roleId"
@
ok=
"handleQuery"
/>
</div>
</template>
<
script
>
import
{
allocatedUserList
,
authUserCancel
,
authUserCancelAll
}
from
"@/api/system/role"
;
import
selectUser
from
"./selectUser"
;
export
default
{
name
:
"AuthUser"
,
dicts
:
[
'sys_normal_disable'
],
components
:
{
selectUser
},
data
()
{
return
{
// 遮罩层
loading
:
true
,
// 选中用户组
userIds
:
[],
// 非多个禁用
multiple
:
true
,
// 显示搜索条件
showSearch
:
true
,
// 总条数
total
:
0
,
// 用户表格数据
userList
:
[],
// 查询参数
queryParams
:
{
pageNum
:
1
,
pageSize
:
10
,
roleId
:
undefined
,
userName
:
undefined
,
phonenumber
:
undefined
}
};
},
created
()
{
const
roleId
=
this
.
$route
.
params
&&
this
.
$route
.
params
.
roleId
;
console
.
log
(
"222222"
,
roleId
)
if
(
roleId
)
{
this
.
queryParams
.
roleId
=
roleId
;
this
.
getList
();
}
},
methods
:
{
/** 查询授权用户列表 */
getList
()
{
this
.
loading
=
true
;
allocatedUserList
(
this
.
queryParams
).
then
(
response
=>
{
this
.
userList
=
response
.
rows
;
this
.
total
=
response
.
total
;
this
.
loading
=
false
;
}
);
},
// 返回按钮
handleClose
()
{
const
obj
=
{
path
:
"/system/role"
};
this
.
$tab
.
closeOpenPage
(
obj
);
},
/** 搜索按钮操作 */
handleQuery
()
{
this
.
queryParams
.
pageNum
=
1
;
this
.
getList
();
},
/** 重置按钮操作 */
resetQuery
()
{
this
.
resetForm
(
"queryForm"
);
this
.
handleQuery
();
},
// 多选框选中数据
handleSelectionChange
(
selection
)
{
this
.
userIds
=
selection
.
map
(
item
=>
item
.
userId
)
this
.
multiple
=
!
selection
.
length
},
/** 打开授权用户表弹窗 */
openSelectUser
()
{
this
.
$refs
.
select
.
show
();
},
/** 取消授权按钮操作 */
cancelAuthUser
(
row
)
{
const
roleId
=
this
.
queryParams
.
roleId
;
this
.
$modal
.
confirm
(
'确认要取消该用户"'
+
row
.
userName
+
'"角色吗?'
).
then
(
function
()
{
return
authUserCancel
({
userId
:
row
.
userId
,
roleId
:
roleId
});
}).
then
(()
=>
{
this
.
getList
();
this
.
$modal
.
msgSuccess
(
"取消授权成功"
);
}).
catch
(()
=>
{
});
},
/** 批量取消授权按钮操作 */
cancelAuthUserAll
(
row
)
{
const
roleId
=
this
.
queryParams
.
roleId
;
const
userIds
=
this
.
userIds
.
join
(
","
);
this
.
$modal
.
confirm
(
'是否取消选中用户授权数据项?'
).
then
(
function
()
{
return
authUserCancelAll
({
roleId
:
roleId
,
userIds
:
userIds
});
}).
then
(()
=>
{
this
.
getList
();
this
.
$modal
.
msgSuccess
(
"取消授权成功"
);
}).
catch
(()
=>
{
});
}
}
};
</
script
>
ruoyi-ui/src/views/smartSchool/schoolManage/schoolNotice/personnelGrouping/index.vue
0 → 100644
View file @
65d01770
<
template
>
<div
class=
"app-container"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
>
<el-form-item
label=
"分组名称"
prop=
"name"
>
<el-input
v-model=
"queryParams.roleName"
placeholder=
"分组名称"
clearable
style=
"width: 240px"
@
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:role: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:role: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:role:remove']"
>
删除
</el-button>
</el-col>
</el-row>
<el-table
v-loading=
"loading"
:data=
"roleList"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"分组编号"
prop=
"id"
/>
<el-table-column
label=
"分组名称"
prop=
"name"
/>
<el-table-column
label=
"显示顺序"
prop=
"sort"
/>
<el-table-column
label=
"操作"
align=
"center"
>
<template
slot-scope=
"scope"
v-if=
"scope.row.roleId !== 1"
>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleUpdate(scope.row)"
v-hasPermi=
"['system:role:edit']"
>
修改
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"handleDelete(scope.row)"
v-hasPermi=
"['system:role:remove']"
>
删除
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-user"
@
click=
"handleCommand('handleAuthUser', scope.row)"
v-hasPermi=
"['system:role:edit']"
>
分配用户
</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=
"500px"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"100px"
>
<el-form-item
label=
"分组名称"
prop=
"name"
>
<el-input
v-model=
"form.name"
placeholder=
"请输入角色名称"
/>
</el-form-item>
<el-form-item
label=
"显示顺序"
prop=
"sort"
>
<el-input-number
v-model=
"form.sort"
controls-position=
"right"
:min=
"0"
/>
</el-form-item>
<!-- <el-form-item label="菜单权限">
<el-checkbox v-model="menuExpand" @change="handleCheckedTreeExpand($event, 'menu')">展开/折叠</el-checkbox>
<el-checkbox v-model="menuNodeAll" @change="handleCheckedTreeNodeAll($event, 'menu')">全选/全不选</el-checkbox>
<el-checkbox v-model="form.menuCheckStrictly"
@change="handleCheckedTreeConnect($event, 'menu')">父子联动</el-checkbox>
<el-tree class="tree-border" :data="menuOptions" show-checkbox ref="menu" node-key="id"
:check-strictly="!form.menuCheckStrictly" empty-text="加载中,请稍候" :props="defaultProps"></el-tree>
</el-form-item> -->
<!-- <el-form-item label="备注">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容"></el-input>
</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="openDataScope" width="500px" append-to-body>
<el-form :model="form" label-width="80px">
<el-form-item label="角色名称">
<el-input v-model="form.roleName" :disabled="true" />
</el-form-item>
<el-form-item label="权限字符">
<el-input v-model="form.roleKey" :disabled="true" />
</el-form-item>
<el-form-item label="权限范围">
<el-select v-model="form.dataScope" @change="dataScopeSelectChange">
<el-option v-for="item in dataScopeOptions" :key="item.value" :label="item.label"
:value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="数据权限" v-show="form.dataScope == 2">
<el-checkbox v-model="deptExpand" @change="handleCheckedTreeExpand($event, 'dept')">展开/折叠</el-checkbox>
<el-checkbox v-model="deptNodeAll" @change="handleCheckedTreeNodeAll($event, 'dept')">全选/全不选</el-checkbox>
<el-checkbox v-model="form.deptCheckStrictly"
@change="handleCheckedTreeConnect($event, 'dept')">父子联动</el-checkbox>
<el-tree class="tree-border" :data="deptOptions" show-checkbox default-expand-all ref="dept" node-key="id"
:check-strictly="!form.deptCheckStrictly" empty-text="加载中,请稍候" :props="defaultProps"></el-tree>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitDataScope">确 定</el-button>
<el-button @click="cancelDataScope">取 消</el-button>
</div>
</el-dialog> -->
</div>
</template>
<
script
>
import
{
listRole
,
getRole
,
delRole
,
addRole
,
updateRole
,
dataScope
,
changeRoleStatus
,
deptTreeSelect
}
from
"@/api/system/role"
;
import
{
treeselect
as
menuTreeselect
,
roleMenuTreeselect
}
from
"@/api/system/menu"
;
import
{
getUserList
,
//获取分组集合
getUser
,
// 根据分类id获取人员信息
addNotification
,
//新增数据
addUser
,
//分组新增人员;
deleteUser
,
//删除人员,
updateNotification
,
//修改分组信息
deleteNotification
,
//删除分组
}
from
"@/api/smartSchool/informationPush/personnelGrouping"
;
export
default
{
name
:
"Role"
,
dicts
:
[
'sys_normal_disable'
],
data
()
{
return
{
// 遮罩层
loading
:
true
,
// 选中数组
ids
:
[],
// 非单个禁用
single
:
true
,
// 非多个禁用
multiple
:
true
,
// 显示搜索条件
showSearch
:
true
,
// 总条数
total
:
0
,
// 角色表格数据
roleList
:
[],
// 弹出层标题
title
:
""
,
// 是否显示弹出层
open
:
false
,
// 日期范围
dateRange
:
[],
// 部门列表
// deptOptions: [],
// 查询参数
queryParams
:
{
pageNum
:
1
,
pageSize
:
10
,
},
// 表单参数
form
:
{},
// 表单校验
rules
:
{
roleName
:
[
{
required
:
true
,
message
:
"角色名称不能为空"
,
trigger
:
"blur"
}
],
roleKey
:
[
{
required
:
true
,
message
:
"权限字符不能为空"
,
trigger
:
"blur"
}
],
roleSort
:
[
{
required
:
true
,
message
:
"角色顺序不能为空"
,
trigger
:
"blur"
}
]
}
};
},
created
()
{
this
.
getList
();
},
methods
:
{
/** 查询角色列表 */
getList
()
{
this
.
loading
=
true
;
getUserList
().
then
(
response
=>
{
this
.
roleList
=
response
.
rows
;
this
.
total
=
response
.
total
;
this
.
loading
=
false
;
}
);
},
/** 查询菜单树结构 */
// getMenuTreeselect() {
// menuTreeselect().then(response => {
// this.menuOptions = response.data;
// });
// },
// 所有菜单节点数据
// getMenuAllCheckedKeys() {
// 目前被选中的菜单节点
// let checkedKeys = this.$refs.menu.getCheckedKeys();
// 半选中的菜单节点
// let halfCheckedKeys = this.$refs.menu.getHalfCheckedKeys();
// checkedKeys.unshift.apply(checkedKeys, halfCheckedKeys);
// return checkedKeys;
// },
// 所有部门节点数据
// getDeptAllCheckedKeys() {
// 目前被选中的部门节点
// let checkedKeys = this.$refs.dept.getCheckedKeys();
// // 半选中的部门节点
// let halfCheckedKeys = this.$refs.dept.getHalfCheckedKeys();
// checkedKeys.unshift.apply(checkedKeys, halfCheckedKeys);
// return checkedKeys;
// },
/** 根据角色ID查询菜单树结构 */
// getRoleMenuTreeselect(roleId) {
// return roleMenuTreeselect(roleId).then(response => {
// this.menuOptions = response.menus;
// return response;
// });
// },
/** 根据角色ID查询部门树结构 */
// getDeptTree(roleId) {
// return deptTreeSelect(roleId).then(response => {
// this.deptOptions = response.depts;
// return response;
// });
// },
// 取消按钮
cancel
()
{
this
.
open
=
false
;
this
.
reset
();
},
// 表单重置
reset
()
{
if
(
this
.
$refs
.
menu
!=
undefined
)
{
this
.
$refs
.
menu
.
setCheckedKeys
([]);
}
this
.
menuExpand
=
false
,
this
.
menuNodeAll
=
false
,
this
.
deptExpand
=
true
,
this
.
deptNodeAll
=
false
,
this
.
form
=
{
roleId
:
undefined
,
roleName
:
undefined
,
roleKey
:
undefined
,
roleSort
:
0
,
status
:
"0"
,
menuIds
:
[],
deptIds
:
[],
deptCheckStrictly
:
true
,
remark
:
undefined
};
this
.
resetForm
(
"form"
);
},
/** 搜索按钮操作 */
handleQuery
()
{
this
.
queryParams
.
pageNum
=
1
;
this
.
getList
();
},
/** 重置按钮操作 */
resetQuery
()
{
this
.
dateRange
=
[];
this
.
resetForm
(
"queryForm"
);
this
.
handleQuery
();
},
// 多选框选中数据
handleSelectionChange
(
selection
)
{
this
.
ids
=
selection
.
map
(
item
=>
item
.
roleId
)
this
.
single
=
selection
.
length
!=
1
this
.
multiple
=
!
selection
.
length
},
// 更多操作触发
handleCommand
(
command
,
row
)
{
switch
(
command
)
{
case
"handleDataScope"
:
this
.
handleDataScope
(
row
);
break
;
case
"handleAuthUser"
:
this
.
handleAuthUser
(
row
);
break
;
default
:
break
;
}
},
// 树权限(展开/折叠)
// handleCheckedTreeExpand(value, type) {
// if (type == 'menu') {
// let treeList = this.menuOptions;
// for (let i = 0; i
<
treeList
.
length
;
i
++
)
{
// this.$refs.menu.store.nodesMap[treeList[i].id].expanded = value;
// }
// } else if (type == 'dept') {
// let treeList = this.deptOptions;
// for (let i = 0; i
<
treeList
.
length
;
i
++
)
{
// this.$refs.dept.store.nodesMap[treeList[i].id].expanded = value;
// }
// }
// },
// 树权限(全选/全不选)
// handleCheckedTreeNodeAll(value, type) {
// if (type == 'menu') {
// this.$refs.menu.setCheckedNodes(value ? this.menuOptions : []);
// } else if (type == 'dept') {
// this.$refs.dept.setCheckedNodes(value ? this.deptOptions : []);
// }
// },
// 树权限(父子联动)
// handleCheckedTreeConnect(value, type) {
// if (type == 'menu') {
// this.form.menuCheckStrictly = value ? true : false;
// } else if (type == 'dept') {
// this.form.deptCheckStrictly = value ? true : false;
// }
// },
/** 新增按钮操作 */
handleAdd
()
{
this
.
reset
();
this
.
open
=
true
;
this
.
title
=
"添加角色"
;
},
/** 修改按钮操作 */
handleUpdate
(
row
)
{
this
.
reset
();
const
notificationId
=
row
.
notificationId
||
this
.
ids
// const roleMenu = this.getRoleMenuTreeselect(roleId);
getUser
(
notificationId
).
then
(
response
=>
{
this
.
form
=
response
.
data
;
this
.
open
=
true
;
this
.
title
=
"修改角色"
;
});
},
/** 选择角色权限范围触发 */
dataScopeSelectChange
(
value
)
{
if
(
value
!==
'2'
)
{
this
.
$refs
.
dept
.
setCheckedKeys
([]);
}
},
/** 分配数据权限操作 */
// handleDataScope(row) {
// this.reset();
// const deptTreeSelect = this.getDeptTree(row.roleId);
// getRole(row.roleId).then(response => {
// this.form = response.data;
// this.openDataScope = true;
// this.$nextTick(() => {
// deptTreeSelect.then(res => {
// this.$refs.dept.setCheckedKeys(res.checkedKeys);
// });
// });
// this.title = "分配数据权限";
// });
// },
/** 分配用户操作 */
handleAuthUser
:
function
(
row
)
{
const
roleId
=
row
.
roleId
;
this
.
$router
.
push
(
"/system/role-auth/user/"
+
roleId
);
},
/** 提交按钮 */
submitForm
:
function
()
{
this
.
$refs
[
"form"
].
validate
(
valid
=>
{
if
(
valid
)
{
if
(
this
.
form
.
roleId
!=
undefined
)
{
// this.form.menuIds = this.getMenuAllCheckedKeys();
updateRole
(
this
.
form
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"修改成功"
);
this
.
open
=
false
;
this
.
getList
();
});
}
else
{
// this.form.menuIds = this.getMenuAllCheckedKeys();
addRole
(
this
.
form
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"新增成功"
);
this
.
open
=
false
;
this
.
getList
();
});
}
}
});
},
/** 提交按钮(数据权限) */
// submitDataScope: function () {
// if (this.form.roleId != undefined) {
// this.form.deptIds = this.getDeptAllCheckedKeys();
// dataScope(this.form).then(response => {
// this.$modal.msgSuccess("修改成功");
// this.openDataScope = false;
// this.getList();
// });
// }
// },
/** 删除按钮操作 */
handleDelete
(
row
)
{
const
roleIds
=
row
.
roleId
||
this
.
ids
;
this
.
$modal
.
confirm
(
'是否确认删除角色编号为"'
+
roleIds
+
'"的数据项?'
).
then
(
function
()
{
return
delRole
(
roleIds
);
}).
then
(()
=>
{
this
.
getList
();
this
.
$modal
.
msgSuccess
(
"删除成功"
);
}).
catch
(()
=>
{
});
},
}
};
</
script
>
\ No newline at end of file
ruoyi-ui/src/views/smartSchool/schoolManage/schoolNotice/personnelGrouping/selectUser.vue
0 → 100644
View file @
65d01770
<
template
>
<!-- 授权用户 -->
<el-dialog
title=
"选择用户"
:visible
.
sync=
"visible"
width=
"800px"
top=
"5vh"
append-to-body
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
>
<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=
"phonenumber"
>
<el-input
v-model=
"queryParams.phonenumber"
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>
<el-table
@
row-click=
"clickRow"
ref=
"table"
:data=
"userList"
@
selection-change=
"handleSelectionChange"
height=
"260px"
>
<el-table-column
type=
"selection"
width=
"55"
></el-table-column>
<el-table-column
label=
"用户名称"
prop=
"userName"
:show-overflow-tooltip=
"true"
/>
<el-table-column
label=
"用户昵称"
prop=
"nickName"
:show-overflow-tooltip=
"true"
/>
<el-table-column
label=
"邮箱"
prop=
"email"
:show-overflow-tooltip=
"true"
/>
<el-table-column
label=
"手机"
prop=
"phonenumber"
:show-overflow-tooltip=
"true"
/>
<el-table-column
label=
"状态"
align=
"center"
prop=
"status"
>
<template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.sys_normal_disable"
:value=
"scope.row.status"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"创建时间"
align=
"center"
prop=
"createTime"
width=
"180"
>
<
template
slot-scope=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
createTime
)
}}
</span>
</
template
>
</el-table-column>
</el-table>
<pagination
v-show=
"total>0"
:total=
"total"
:page
.
sync=
"queryParams.pageNum"
:limit
.
sync=
"queryParams.pageSize"
@
pagination=
"getList"
/>
</el-row>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"handleSelectUser"
>
确 定
</el-button>
<el-button
@
click=
"visible = false"
>
取 消
</el-button>
</div>
</el-dialog>
</template>
<
script
>
import
{
unallocatedUserList
,
authUserSelectAll
}
from
"@/api/system/role"
;
export
default
{
dicts
:
[
'sys_normal_disable'
],
props
:
{
// 角色编号
roleId
:
{
type
:
[
Number
,
String
]
}
},
data
()
{
return
{
// 遮罩层
visible
:
false
,
// 选中数组值
userIds
:
[],
// 总条数
total
:
0
,
// 未授权用户数据
userList
:
[],
// 查询参数
queryParams
:
{
pageNum
:
1
,
pageSize
:
10
,
roleId
:
undefined
,
userName
:
undefined
,
phonenumber
:
undefined
}
};
},
methods
:
{
// 显示弹框
show
()
{
this
.
queryParams
.
roleId
=
this
.
roleId
;
this
.
getList
();
this
.
visible
=
true
;
},
clickRow
(
row
)
{
this
.
$refs
.
table
.
toggleRowSelection
(
row
);
},
// 多选框选中数据
handleSelectionChange
(
selection
)
{
this
.
userIds
=
selection
.
map
(
item
=>
item
.
userId
);
},
// 查询表数据
getList
()
{
unallocatedUserList
(
this
.
queryParams
).
then
(
res
=>
{
this
.
userList
=
res
.
rows
;
this
.
total
=
res
.
total
;
});
},
/** 搜索按钮操作 */
handleQuery
()
{
this
.
queryParams
.
pageNum
=
1
;
this
.
getList
();
},
/** 重置按钮操作 */
resetQuery
()
{
this
.
resetForm
(
"queryForm"
);
this
.
handleQuery
();
},
/** 选择授权用户操作 */
handleSelectUser
()
{
const
roleId
=
this
.
queryParams
.
roleId
;
const
userIds
=
this
.
userIds
.
join
(
","
);
if
(
userIds
==
""
)
{
this
.
$modal
.
msgError
(
"请选择要分配的用户"
);
return
;
}
authUserSelectAll
({
roleId
:
roleId
,
userIds
:
userIds
}).
then
(
res
=>
{
this
.
$modal
.
msgSuccess
(
res
.
msg
);
if
(
res
.
code
===
200
)
{
this
.
visible
=
false
;
this
.
$emit
(
"ok"
);
}
});
}
}
};
</
script
>
ruoyi-ui/src/views/smartSchool/teacherManage/teacherInforManage/index.vue
View file @
65d01770
...
...
@@ -3,114 +3,52 @@
<el-row
:gutter=
"20"
>
<el-col
:span=
"4"
:xs=
"24"
>
<div
class=
"head-container"
>
<el-input
v-model=
"deptName"
placeholder=
"请输入部门名称"
clearable
size=
"small"
prefix-icon=
"el-icon-search"
style=
"margin-bottom: 20px"
/>
<el-input
v-model=
"deptName"
placeholder=
"请输入部门名称"
clearable
size=
"small"
prefix-icon=
"el-icon-search"
style=
"margin-bottom: 20px"
/>
</div>
<div
class=
"head-container"
>
<el-tree
:data=
"deptOptions"
:props=
"defaultProps"
:expand-on-click-node=
"false"
:filter-node-method=
"filterNode"
ref=
"tree"
default-expand-all
highlight-current
@
node-click=
"handleNodeClick"
/>
<el-tree
:data=
"deptOptions"
:props=
"defaultProps"
:expand-on-click-node=
"false"
:filter-node-method=
"filterNode"
ref=
"tree"
default-expand-all
highlight-current
@
node-click=
"handleNodeClick"
/>
</div>
</el-col>
<el-col
:span=
"20"
:xs=
"24"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
label-width=
"60px"
:inline=
"true"
v-show=
"showSearch"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
label-width=
"90px"
:inline=
"true"
v-show=
"showSearch"
>
<el-form-item
label=
"姓名"
clearable
prop=
"teacherName"
>
<el-input
v-model=
"queryParams.teacherName"
placeholder=
"请输入姓名"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
<el-input
v-model=
"queryParams.teacherName"
placeholder=
"请输入姓名"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"用户状态"
label-width=
"70px"
prop=
"status"
>
<el-select
v-model=
"queryParams.status"
style=
"width: 100%"
@
keyup
.
enter
.
native=
"handleQuery"
placeholder=
"请选择状态"
>
<el-option
v-for=
"dict in dict.type.user_status"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
></el-option>
<el-select
v-model=
"queryParams.status"
style=
"width: 100%"
@
keyup
.
enter
.
native=
"handleQuery"
placeholder=
"请选择状态"
>
<el-option
v-for=
"dict in dict.type.user_status"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"学历"
prop=
"education"
>
<el-select
v-model=
"queryParams.education"
style=
"width: 100%"
@
keyup
.
enter
.
native=
"handleQuery"
clearable
placeholder=
"请选择学历"
>
<el-option
v-for=
"dict in dict.type.education"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
></el-option>
<el-form-item
label=
"职工类型"
prop=
"employeeType"
>
<el-select
v-model=
"queryParams.employeeType"
placeholder=
"请选择职工类型"
>
<el-option
v-for=
"dict in dict.type.employee_type"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"电话"
clearable
prop=
"teacherTel"
>
<el-input
v-model=
"queryParams.teacherTel"
placeholder=
"请输入电话"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
<el-input
v-model=
"queryParams.teacherTel"
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-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=
"['teacherManage:inform:add']"
>
新增
<el-button
type=
"primary"
plain
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAdd"
v-hasPermi=
"['teacherManage:inform:add']"
>
新增
</el-button>
</el-col>
<!--
<el-col
:span=
"1.5"
>
...
...
@@ -142,142 +80,56 @@
<!-- >
</right-toolbar>
-->
</el-row>
<el-table
v-loading=
"loading"
:data=
"informList"
:cell-style=
"cellStyle"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
:selectable=
"isSelected"
/>
<el-table-column
label=
"头像"
align=
"center"
prop=
"picUrl"
>
<el-table
v-loading=
"loading"
:data=
"informList"
:cell-style=
"cellStyle"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
:selectable=
"isSelected"
/>
<el-table-column
label=
"头像"
align=
"center"
prop=
"picUrl"
>
<template
slot-scope=
"scope"
>
<ListImage
:image-url=
"peV
+
scope.row.avatar"
></ListImage>
<ListImage
:image-url=
"peV
+
scope.row.avatar"
></ListImage>
</
template
>
</el-table-column>
<el-table-column
label=
"姓名"
align=
"center"
prop=
"teacherName"
min-width=
"150"
>
<el-table-column
label=
"姓名"
align=
"center"
prop=
"teacherName"
min-width=
"150"
>
<
template
slot-scope=
"scope"
>
<el-link
type=
"primary"
@
click=
"handleDetail(scope.row)"
:underline=
"false"
>
{{
scope
.
row
.
teacherName
}}
<el-link
type=
"primary"
@
click=
"handleDetail(scope.row)"
:underline=
"false"
>
{{
scope
.
row
.
teacherName
}}
</el-link>
</
template
>
</el-table-column>
<el-table-column
label=
"性别"
align=
"center"
prop=
"sex"
>
<el-table-column
label=
"性别"
align=
"center"
prop=
"sex"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.sys_user_sex"
:value=
"scope.row.sex"
/>
<dict-tag
:options=
"dict.type.sys_user_sex"
:value=
"scope.row.sex"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"工作编号"
width=
"110px"
align=
"center"
prop=
"teacherCode"
/>
<el-table-column
label=
"部门"
min-width=
"130px"
align=
"center"
prop=
"deptName"
/>
<el-table-column
label=
"手机号话"
width=
"120px"
align=
"center"
prop=
"teacherTel"
/>
<el-table-column
label=
"职工类型"
align=
"center"
prop=
"employeeType"
>
<el-table-column
label=
"工作编号"
width=
"110px"
align=
"center"
prop=
"teacherCode"
/>
<el-table-column
label=
"部门"
min-width=
"130px"
align=
"center"
prop=
"deptName"
/>
<el-table-column
label=
"手机号话"
width=
"120px"
align=
"center"
prop=
"teacherTel"
/>
<el-table-column
label=
"职工类型"
align=
"center"
prop=
"employeeType"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.employee_type"
:value=
"scope.row.employeeType"
/>
<dict-tag
:options=
"dict.type.employee_type"
:value=
"scope.row.employeeType"
/>
</
template
>
</el-table-column>
<el-table-column
label=
"状态"
min-width=
"70px"
align=
"center"
>
<el-table-column
label=
"状态"
min-width=
"70px"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<el-switch
v-model=
"scope.row.status"
:active-value=
"'0'"
:inactive-value=
"'1'"
active-color=
"#13ce66"
@
change=
"(res)=>
{switchChange(scope.row,res)}"
inactive-color="#ff4949">
<el-switch
v-model=
"scope.row.status"
:active-value=
"'0'"
:inactive-value=
"'1'"
active-color=
"#13ce66"
@
change=
"(res) =>
{ switchChange(scope.row, res) }" inactive-color="#ff4949">
</el-switch>
</
template
>
</el-table-column>
<el-table-column
label=
"签名"
width=
"100px"
align=
"center"
prop=
"sign"
>
<el-table-column
label=
"签名"
width=
"100px"
align=
"center"
prop=
"sign"
>
<
template
slot-scope=
"scope"
>
<ListImage
:image-url=
"peV
+
scope.row.sign"
></ListImage>
<ListImage
:image-url=
"peV
+
scope.row.sign"
></ListImage>
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
min-width=
"170"
fixed=
"right"
>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
min-width=
"170"
fixed=
"right"
>
<
template
slot-scope=
"scope"
>
<el-button
v-if=
"!(scope.row.id == '1')"
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleUpdate(scope.row)"
v-hasPermi=
"['teacherManage:inform:edit']"
>
修改
<el-button
v-if=
"!(scope.row.id == '1')"
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleUpdate(scope.row)"
v-hasPermi=
"['teacherManage:inform:edit']"
>
修改
</el-button>
<el-button
v-if=
"!(scope.row.id == '1')"
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"handleDelete(scope.row)"
v-hasPermi=
"['teacherManage:inform:remove']"
>
删除
<el-button
v-if=
"!(scope.row.id == '1')"
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"handleDelete(scope.row)"
v-hasPermi=
"['teacherManage:inform:remove']"
>
删除
</el-button>
<el-dropdown
size=
"mini"
@
command=
"(command) => handleCommand(command, scope.row)"
v-hasPermi=
"['system:user:resetPwd', 'system:user:edit']"
>
<el-dropdown
size=
"mini"
@
command=
"(command) => handleCommand(command, scope.row)"
v-hasPermi=
"['system:user:resetPwd', 'system:user:edit']"
>
<span
class=
"el-dropdown-link"
>
<i
class=
"el-icon-d-arrow-right el-icon--right"
></i>
更多
</span>
...
...
@@ -300,35 +152,16 @@
</
template
>
</el-table-column>
</el-table>
<ExPagination
v-show=
"total > 0"
:total=
"total"
:page
.
sync=
"queryParams.pageNum"
:limit
.
sync=
"queryParams.pageSize"
@
pagination=
"getList"
/>
<ExPagination
v-show=
"total > 0"
:total=
"total"
:page
.
sync=
"queryParams.pageNum"
:limit
.
sync=
"queryParams.pageSize"
@
pagination=
"getList"
/>
</el-col>
</el-row>
<!-- 导入 -->
<el-dialog
:title=
"upload.title"
:visible
.
sync=
"upload.open"
width=
"400px"
append-to-body
>
<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
>
<el-dialog
:title=
"upload.title"
:visible
.
sync=
"upload.open"
width=
"400px"
append-to-body
>
<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"
>
...
...
@@ -336,12 +169,8 @@
<!-- <el-checkbox v-model="upload.updateSupport" /> 是否更新已经存在的用户数据-->
<!--</div>-->
<span>
仅允许导入xls、xlsx格式文件。
</span>
<el-link
type=
"primary"
:underline=
"false"
style=
"font-size: 12px; vertical-align: baseline"
@
click=
"importTemplate"
>
下载模板
<el-link
type=
"primary"
:underline=
"false"
style=
"font-size: 12px; vertical-align: baseline"
@
click=
"importTemplate"
>
下载模板
</el-link>
</div>
</el-upload>
...
...
@@ -352,38 +181,18 @@
</el-dialog>
<!-- 导出对话框 -->
<ExportTable
:open-export
.
sync=
"exportOptions.open"
:title=
"exportOptions.title"
@
export=
"exportFile"
></ExportTable>
<ExportTable
:open-export
.
sync=
"exportOptions.open"
:title=
"exportOptions.title"
@
export=
"exportFile"
></ExportTable>
<!-- 添加或修改学校老师对话框 -->
<el-dialog
:title=
"title"
:visible
.
sync=
"open"
width=
"60%"
append-to-body
>
<el-form
size=
"small"
ref=
"form"
:model=
"form"
:rules=
"rules"
:disabled=
"isDisabled"
label-width=
"120px"
>
<el-form
size=
"small"
ref=
"form"
:model=
"form"
:rules=
"rules"
:disabled=
"isDisabled"
label-width=
"120px"
>
<el-row
:gutter=
"40"
>
<el-col
:span=
"12"
style=
"text-align: center;"
>
<el-form-item
prop=
"picUrl"
label-width=
"0px"
>
<
template
slot-scope=
"scope"
>
<el-upload
style=
" margin: auto"
v-loading=
"photoUploadLoading"
class=
"avatar-uploader"
action=
"#"
accept=
"image/*"
:show-file-list=
"false"
:on-success=
"handleAvatarSuccess"
:before-upload=
"beforeAvatarUpload"
:http-request=
"(res)=>uploadImage(res,'photo')"
>
<img
v-if=
"imageUrl"
:src=
"imageUrl"
class=
"avatar"
/>
<el-upload
style=
" margin: auto"
v-loading=
"photoUploadLoading"
class=
"avatar-uploader"
action=
"#"
accept=
"image/*"
:show-file-list=
"false"
:on-success=
"handleAvatarSuccess"
:before-upload=
"beforeAvatarUpload"
:http-request=
"(res) => uploadImage(res, 'photo')"
>
<img
v-if=
"imageUrl"
:src=
"imageUrl"
class=
"avatar"
/>
<i
v-else
class=
"el-icon-plus avatar-uploader-icon"
></i>
</el-upload>
...
...
@@ -391,86 +200,42 @@
</
template
>
</el-form-item>
<div
style=
"width:50px; height: 20px; margin:auto;"
><b>
照片
</b></div>
<br/>
<br
/>
<el-form-item
label=
"姓名"
prop=
"teacherName"
>
<el-input
v-model=
"form.teacherName"
placeholder=
"请输入姓名"
/>
<el-input
v-model=
"form.teacherName"
placeholder=
"请输入姓名"
/>
</el-form-item>
<el-form-item
label=
"手机号码"
prop=
"teacherTel"
>
<el-input
v-model=
"form.teacherTel"
placeholder=
"请输入老师电话"
/>
<el-input
v-model=
"form.teacherTel"
placeholder=
"请输入老师电话"
/>
</el-form-item>
<el-form-item
label=
"身份证号"
prop=
"idCard"
>
<el-input
v-model
.
trim=
"form.idCard"
placeholder=
"请输入身份证号"
/>
<el-input
v-model
.
trim=
"form.idCard"
placeholder=
"请输入身份证号"
/>
</el-form-item>
<el-form-item
label=
"性别"
prop=
"sex"
>
<el-select
v-model=
"form.sex"
style=
"width: 100%"
placeholder=
"请选择性别"
>
<el-option
v-for=
"dict in dict.type.sys_user_sex"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
></el-option>
<el-select
v-model=
"form.sex"
style=
"width: 100%"
placeholder=
"请选择性别"
>
<el-option
v-for=
"dict in dict.type.sys_user_sex"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"职工类型"
prop=
"employeeType"
>
<el-select
v-model=
"form.employeeType"
style=
"width: 100%"
placeholder=
"请选择职工类型"
>
<el-option
v-for=
"dict in dict.type.employee_type"
:key=
"dict.value"
:label=
"dict.label"
<el-option
v-for=
"dict in dict.type.employee_type"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"民族"
prop=
"nation"
>
<el-select
v-model=
"form.nation"
style=
"width: 100%"
placeholder=
"请选择民族"
>
<el-option
v-for=
"item in Nations"
:key=
"item.label"
:label=
"item.label"
:value=
"item.label"
></el-option>
<el-select
v-model=
"form.nation"
style=
"width: 100%"
placeholder=
"请选择民族"
>
<el-option
v-for=
"item in Nations"
:key=
"item.label"
:label=
"item.label"
:value=
"item.label"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"生日"
prop=
"birthday"
>
<el-date-picker
clearable
v-model=
"form.birthday"
type=
"date"
style=
"width: 100%"
value-format=
"yyyy-MM-dd"
placeholder=
"请选择生日"
></el-date-picker>
<el-date-picker
clearable
v-model=
"form.birthday"
type=
"date"
style=
"width: 100%"
value-format=
"yyyy-MM-dd"
placeholder=
"请选择生日"
></el-date-picker>
</el-form-item>
<el-form-item
label=
"岗位"
prop=
"postId"
>
<el-select
v-model=
"form.postIds"
multiple
placeholder=
"请选择岗位"
style=
"width: 100%"
>
<el-option
v-for=
"item in postOptions"
:key=
"item.postId"
:label=
"item.postName"
:value=
"item.postId"
></el-option>
<el-select
v-model=
"form.postIds"
multiple
placeholder=
"请选择岗位"
style=
"width: 100%"
>
<el-option
v-for=
"item in postOptions"
:key=
"item.postId"
:label=
"item.postName"
:value=
"item.postId"
></el-option>
</el-select>
</el-form-item>
...
...
@@ -479,103 +244,51 @@
<el-col
:span=
"12"
style=
"text-align: center"
>
<el-form-item
prop=
"picUrl"
label-width=
"0px"
>
<
template
slot-scope=
"scope"
>
<el-upload
style=
"margin: auto"
v-loading=
"signUploadLoading"
class=
"avatar-uploader"
action=
"#"
accept=
"image/*"
:show-file-list=
"false"
:on-success=
"handleAvatarSuccess"
:before-upload=
"beforeAvatarUpload"
:http-request=
"(res)=>uploadImage(res,'sign')"
>
<img
v-if=
"signUrl"
:src=
"signUrl"
class=
"avatar"
/>
<el-upload
style=
"margin: auto"
v-loading=
"signUploadLoading"
class=
"avatar-uploader"
action=
"#"
accept=
"image/*"
:show-file-list=
"false"
:on-success=
"handleAvatarSuccess"
:before-upload=
"beforeAvatarUpload"
:http-request=
"(res) => uploadImage(res, 'sign')"
>
<img
v-if=
"signUrl"
:src=
"signUrl"
class=
"avatar"
/>
<i
v-else
class=
"el-icon-plus avatar-uploader-icon"
></i>
</el-upload>
</
template
>
</el-form-item>
<div
style=
"width:50px; height: 20px;margin:auto;"
><b>
签名
</b></div>
<br/>
<br
/>
<el-form-item
label=
"归属部门"
prop=
"deptId"
>
<treeselect
:disabled=
"isDisabled"
v-model=
"form.deptId"
:options=
"deptOptions"
:show-count=
"true"
:defaultExpandLevel=
"2"
placeholder=
"请选择归属部门"
/>
<treeselect
:disabled=
"isDisabled"
v-model=
"form.deptId"
:options=
"deptOptions"
:show-count=
"true"
:defaultExpandLevel=
"2"
placeholder=
"请选择归属部门"
/>
</el-form-item>
<!-- :placeholder="isDisabled ? '' : '请选择归属部门'"-->
<el-form-item
label=
"密码"
v-if=
"!form.id"
prop=
"password"
>
<el-input
v-model=
"form.password"
placeholder=
"请输入密码"
class=
"pwd"
type=
"text"
autocomplete=
"new-password"
maxlength=
"20"
/>
<el-input
v-model=
"form.password"
placeholder=
"请输入密码"
class=
"pwd"
type=
"text"
autocomplete=
"new-password"
maxlength=
"20"
/>
</el-form-item>
<el-form-item
label=
"工作编号"
prop=
"teacherCode"
>
<el-input
v-model=
"form.teacherCode"
placeholder=
"请输入工作编号"
/>
<el-input
v-model=
"form.teacherCode"
placeholder=
"请输入工作编号"
/>
</el-form-item>
<el-form-item
label=
"设备工号"
prop=
"deviceNum"
>
<el-input
v-model=
"form.deviceNum"
placeholder=
"请输入设备工号"
style=
"width: 100%"
></el-input>
</el-form-item>
<el-form-item
label=
"邮箱"
prop=
"email"
>
<el-input
v-model=
"form.email"
placeholder=
"请输入邮箱"
/>
<el-input
v-model=
"form.email"
placeholder=
"请输入邮箱"
/>
</el-form-item>
<el-form-item
label=
"学历"
prop=
"education"
>
<el-select
v-model=
"form.education"
style=
"width: 100%"
placeholder=
"请选择学历"
>
<el-option
v-for=
"dict in dict.type.education"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
></el-option>
<el-select
v-model=
"form.education"
style=
"width: 100%"
placeholder=
"请选择学历"
>
<el-option
v-for=
"dict in dict.type.education"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"状态"
prop=
"status"
>
<el-select
v-model=
"form.status"
style=
"width: 100%"
placeholder=
"请选择用户状态"
>
<el-option
v-for=
"dict in dict.type.user_status"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
></el-option>
<el-select
v-model=
"form.status"
style=
"width: 100%"
placeholder=
"请选择用户状态"
>
<el-option
v-for=
"dict in dict.type.user_status"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"角色"
prop=
"roleId"
>
<el-select
v-model=
"form.roleIds"
multiple
placeholder=
"请选择角色"
style=
"width: 100%"
>
<el-option
v-for=
"item in roleOptions"
:key=
"item.roleId"
:label=
"item.roleName"
:value=
"item.roleId"
></el-option>
<el-select
v-model=
"form.roleIds"
multiple
placeholder=
"请选择角色"
style=
"width: 100%"
>
<el-option
v-for=
"item in roleOptions"
:key=
"item.roleId"
:label=
"item.roleName"
:value=
"item.roleId"
></el-option>
</el-select>
</el-form-item>
...
...
@@ -583,60 +296,34 @@
</el-row>
<el-row>
<el-form-item
label=
"家庭住址"
prop=
"homeAddress"
>
<el-input
type=
"textarea"
v-model=
"form.homeAddress"
placeholder=
"请输入家庭住址"
/>
<el-input
type=
"textarea"
v-model=
"form.homeAddress"
placeholder=
"请输入家庭住址"
/>
</el-form-item>
</el-row>
<el-row>
<el-form-item
label=
"备注"
prop=
"remark"
>
<el-input
type=
"textarea"
v-model=
"form.remark"
placeholder=
"请输入备注"
/>
<el-input
type=
"textarea"
v-model=
"form.remark"
placeholder=
"请输入备注"
/>
</el-form-item>
</el-row>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
v-show=
"!isDisabled"
type=
"primary"
@
click=
"submitForm"
>
确 定
</el-button
>
<el-button
v-show=
"!isDisabled"
type=
"primary"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
@
click=
"cancel"
>
{{
isDisabled ? "退 出" : "取 消"
}}
isDisabled ? "退 出" : "取 消"
}}
</el-button>
</div>
</el-dialog>
<!-- 分配角色 -->
<el-dialog
:title=
"title"
:visible
.
sync=
"assignRolesopen"
width=
"400px"
append-to-body
>
<el-dialog
:title=
"title"
:visible
.
sync=
"assignRolesopen"
width=
"400px"
append-to-body
>
<el-form
label-width=
"80px"
>
<el-form-item
label=
"姓名"
>
<el-input
v-model=
"teacherName"
style=
"width: 180px"
></el-input
>
<el-form-item
label=
"姓名"
>
<el-input
v-model=
"teacherName"
style=
"width: 180px"
></el-input>
</el-form-item>
<el-form-item
label=
"角色"
>
<el-select
v-model=
"authRole"
placeholder=
"请选择角色"
multiple
style=
"width: 180px"
>
<el-option
v-for=
"item in roleOptions"
:key=
"item.roleId"
:label=
"item.roleName"
:value=
"item.roleId"
></el-option>
<el-select
v-model=
"authRole"
placeholder=
"请选择角色"
multiple
style=
"width: 180px"
>
<el-option
v-for=
"item in roleOptions"
:key=
"item.roleId"
:label=
"item.roleName"
:value=
"item.roleId"
></el-option>
</el-select>
</el-form-item>
...
...
@@ -644,46 +331,24 @@
</el-form>
<div
style=
"margin: 20px 0 -10px 180px"
>
<el-button
@
click=
"close"
style=
"margin: 0 10px 0 0"
>
取消
</el-button>
<el-button
@
click=
"submitAssignRoles"
style=
"margin: 0 0 0 10px"
type=
"primary"
>
确定
</el-button
>
<el-button
@
click=
"submitAssignRoles"
style=
"margin: 0 0 0 10px"
type=
"primary"
>
确定
</el-button>
</div>
</el-dialog>
<!-- 重置密码 -->
<el-dialog
:title=
"title"
:visible
.
sync=
"resetPasswordopen"
width=
"400px"
append-to-body
>
<el-dialog
:title=
"title"
:visible
.
sync=
"resetPasswordopen"
width=
"400px"
append-to-body
>
<el-form
lable-with=
"100px"
>
<el-form-item
label=
"姓名"
>
<el-input
v-model=
"teacherName"
style=
"width: 60%"
></el-input
>
<el-form-item
label=
"姓名"
>
<el-input
v-model=
"teacherName"
style=
"width: 60%"
></el-input>
</el-form-item>
<el-form-item
label=
"密码"
>
<el-input
v-model=
"password"
show-password
style=
"width: 60%"
placeholder=
"请输入原密码"
></el-input>
<el-input
v-model=
"password"
show-password
style=
"width: 60%"
placeholder=
"请输入原密码"
></el-input>
</el-form-item>
</el-form>
<div
style=
"margin: 20px 0 -10px 180px"
>
<el-button
@
click=
"close"
style=
"margin: 0 10px 0 0"
>
取消
</el-button>
<el-button
@
click=
"submitReset"
style=
"margin: 0 0 0 10px"
type=
"primary"
>
确定
</el-button
>
<el-button
@
click=
"submitReset"
style=
"margin: 0 0 0 10px"
type=
"primary"
>
确定
</el-button>
</div>
</el-dialog>
</div>
...
...
@@ -699,17 +364,17 @@ import {
sendResetPassword
,
submitRoles
,
}
from
"@/api/smartSchool/teacherManage/teacherInforManage"
;
import
{
listResume
}
from
"@/api/smartSchool/teacherManage/resume"
;
import
{
listTeacherAward
}
from
"@/api/smartSchool/teacherManage/teacherAward"
;
import
{
CustomCellStyle
}
from
"@/enums/customStyle"
;
import
{
listResume
}
from
"@/api/smartSchool/teacherManage/resume"
;
import
{
listTeacherAward
}
from
"@/api/smartSchool/teacherManage/teacherAward"
;
import
{
CustomCellStyle
}
from
"@/enums/customStyle"
;
import
Treeselect
from
"@riophae/vue-treeselect"
;
import
"@riophae/vue-treeselect/dist/vue-treeselect.css"
;
import
{
ExportType
,
Gender
,
Nations
}
from
"@/enums/common"
;
import
{
checkIdcard
}
from
"@/utils/utilLibrary/validate"
;
import
{
getToken
}
from
"@/utils/auth"
;
import
{
uploadImage
as
commonUpload
,
signUpload
}
from
"@/api/common"
;
import
{
resetUserPwd
}
from
"@/api/system/user"
;
import
{
statusChange
}
from
"../../../../api/smartSchool/teacherManage/teacherInforManage"
;
import
{
ExportType
,
Gender
,
Nations
}
from
"@/enums/common"
;
import
{
checkIdcard
}
from
"@/utils/utilLibrary/validate"
;
import
{
getToken
}
from
"@/utils/auth"
;
import
{
uploadImage
as
commonUpload
,
signUpload
}
from
"@/api/common"
;
import
{
resetUserPwd
}
from
"@/api/system/user"
;
import
{
statusChange
}
from
"../../../../api/smartSchool/teacherManage/teacherInforManage"
;
export
default
{
name
:
"Inform"
,
...
...
@@ -796,40 +461,40 @@ export default {
form
:
{},
// 列信息
columns
:
[
{
key
:
0
,
label
:
`头像`
,
visible
:
true
},
{
key
:
1
,
label
:
`老师名称`
,
visible
:
true
},
{
key
:
2
,
label
:
`老师电话`
,
visible
:
true
},
{
key
:
3
,
label
:
`工作编号`
,
visible
:
true
},
{
key
:
4
,
label
:
`生日`
,
visible
:
true
},
{
key
:
5
,
label
:
`性别`
,
visible
:
true
},
{
key
:
6
,
label
:
`学历`
,
visible
:
true
},
{
key
:
7
,
label
:
`身份证号`
,
visible
:
true
},
{
key
:
8
,
label
:
`家庭住址`
,
visible
:
true
},
{
key
:
9
,
label
:
`民族`
,
visible
:
true
},
{
key
:
10
,
label
:
`操作`
,
visible
:
true
},
{
key
:
0
,
label
:
`头像`
,
visible
:
true
},
{
key
:
1
,
label
:
`老师名称`
,
visible
:
true
},
{
key
:
2
,
label
:
`老师电话`
,
visible
:
true
},
{
key
:
3
,
label
:
`工作编号`
,
visible
:
true
},
{
key
:
4
,
label
:
`生日`
,
visible
:
true
},
{
key
:
5
,
label
:
`性别`
,
visible
:
true
},
{
key
:
6
,
label
:
`学历`
,
visible
:
true
},
{
key
:
7
,
label
:
`身份证号`
,
visible
:
true
},
{
key
:
8
,
label
:
`家庭住址`
,
visible
:
true
},
{
key
:
9
,
label
:
`民族`
,
visible
:
true
},
{
key
:
10
,
label
:
`操作`
,
visible
:
true
},
],
// 表单校验
rules
:
{
teacherName
:
[
{
required
:
true
,
message
:
"老师名称不能为空"
,
trigger
:
"blur"
},
{
required
:
true
,
message
:
"老师名称不能为空"
,
trigger
:
"blur"
},
],
teacherTel
:
[
{
required
:
true
,
message
:
"手机号码不能为空"
,
trigger
:
"blur"
},
{
required
:
true
,
message
:
"手机号码不能为空"
,
trigger
:
"blur"
},
{
pattern
:
/^1
[
3|4|5|6|7|8|9
][
0-9
]\d{8}
$/
,
message
:
"请输入正确的手机号码"
,
trigger
:
"blur"
,
},
],
password
:
[{
required
:
true
,
message
:
"登录密码不能为空"
,
trigger
:
"blur"
},],
teacherCode
:
[{
required
:
true
,
message
:
"工作编号不能为空"
,
trigger
:
"blur"
},
{
message
:
"工作编号格式不正确"
,
trigger
:
"blur"
,
pattern
:
/
[
0-9
]\d
*/
},
password
:
[{
required
:
true
,
message
:
"登录密码不能为空"
,
trigger
:
"blur"
},],
teacherCode
:
[{
required
:
true
,
message
:
"工作编号不能为空"
,
trigger
:
"blur"
},
{
message
:
"工作编号格式不正确"
,
trigger
:
"blur"
,
pattern
:
/
[
0-9
]\d
*/
},
],
idCard
:
[{
required
:
true
,
validator
:
checkIdcard
,
trigger
:
"blur"
}],
deptId
:
[{
required
:
true
,
message
:
"归属部门不能为空"
,
trigger
:
"change"
}],
employeeType
:
[{
required
:
true
,
message
:
"职工类型不能为空"
,
trigger
:
"change"
}],
deviceNum
:
[{
required
:
true
,
message
:
"设备工号不能为空"
,
trigger
:
"change"
}],
sex
:
[{
required
:
true
,
message
:
"性别不能为空"
,
trigger
:
"change"
}],
idCard
:
[{
required
:
true
,
validator
:
checkIdcard
,
trigger
:
"blur"
}],
deptId
:
[{
required
:
true
,
message
:
"归属部门不能为空"
,
trigger
:
"change"
}],
employeeType
:
[{
required
:
true
,
message
:
"职工类型不能为空"
,
trigger
:
"change"
}],
deviceNum
:
[{
required
:
true
,
message
:
"设备工号不能为空"
,
trigger
:
"change"
}],
sex
:
[{
required
:
true
,
message
:
"性别不能为空"
,
trigger
:
"change"
}],
},
// 自定义列表单元格样式
...
...
@@ -853,7 +518,7 @@ export default {
// 是否更新已经存在的用户数据
updateSupport
:
0
,
// 设置上传的请求头部
headers
:
{
Authorization
:
"Bearer "
+
getToken
()
},
headers
:
{
Authorization
:
"Bearer "
+
getToken
()
},
// 上传的地址
url
:
process
.
env
.
VUE_APP_BASE_API
+
"/school/teacher/importData"
,
},
...
...
@@ -904,7 +569,7 @@ export default {
this
.
loading
=
true
;
listInform
(
this
.
queryParams
).
then
((
response
)
=>
{
this
.
informList
=
response
.
rows
;
this
.
total
=
response
.
total
;
this
.
loading
=
false
;
});
...
...
@@ -947,7 +612,7 @@ export default {
},
getResumelist
()
{
this
.
resumeListLoading
=
true
;
listResume
({
teacherId
:
this
.
teacherId
}).
then
((
res
)
=>
{
listResume
({
teacherId
:
this
.
teacherId
}).
then
((
res
)
=>
{
if
(
res
.
code
==
200
)
{
this
.
resumeList
=
res
.
rows
;
this
.
resumeListLoading
=
false
;
...
...
@@ -959,7 +624,7 @@ export default {
},
getHonorlist
()
{
this
.
honorListLoading
=
true
;
listTeacherAward
({
teacherId
:
this
.
teacherId
}).
then
((
res
)
=>
{
listTeacherAward
({
teacherId
:
this
.
teacherId
}).
then
((
res
)
=>
{
if
(
res
.
code
==
200
)
{
this
.
honorList
=
res
.
rows
;
this
.
honorListLoading
=
false
;
...
...
@@ -1003,7 +668,7 @@ export default {
closeOnClickModal
:
false
,
inputPattern
:
/^.
{5,20}
$/
,
inputErrorMessage
:
"用户密码长度必须介于 5 和 20 之间"
}).
then
(({
value
})
=>
{
}).
then
(({
value
})
=>
{
resetUserPwd
(
row
.
userId
,
value
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"修改成功,新密码是:"
+
value
);
});
...
...
@@ -1199,8 +864,7 @@ export default {
const
ids
=
row
.
id
||
this
.
ids
;
this
.
$modal
.
confirm
(
`是否确认删除选中的
${
Object
.
hasOwnProperty
.
call
(
ids
,
"length"
)
?
ids
.
length
:
1
`是否确认删除选中的
${
Object
.
hasOwnProperty
.
call
(
ids
,
"length"
)
?
ids
.
length
:
1
}
条数据?`
)
.
then
(()
=>
{
...
...
@@ -1303,7 +967,7 @@ export default {
this
.
postOptions
=
response
.
posts
;
console
.
log
(
this
.
postOptions
,
1304
);
console
.
log
(
this
.
postOptions
,
1304
);
this
.
roleOptions
=
response
.
roles
;
})
.
catch
((
error
)
=>
{
...
...
@@ -1333,7 +997,7 @@ export default {
response
.
msg
+
"</div>"
,
"导入结果"
,
{
dangerouslyUseHTMLString
:
true
}
{
dangerouslyUseHTMLString
:
true
}
);
this
.
getList
();
},
...
...
@@ -1345,7 +1009,7 @@ export default {
exportFile
(
callback
)
{
const
ids
=
this
.
ids
;
const
options
=
[
{
type
:
ExportType
.
TOTAL
,
path
:
"/school/teacher/export"
,
params
:
{}
},
{
type
:
ExportType
.
TOTAL
,
path
:
"/school/teacher/export"
,
params
:
{}
},
{
type
:
ExportType
.
SELECT
,
path
:
"/school/teacher/export/"
+
ids
,
...
...
@@ -1424,5 +1088,4 @@ export default {
text-security
:
disc
;
-webkit-text-security
:
disc
;
}
</
style
>
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