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
b094023e
Commit
b094023e
authored
Aug 24, 2023
by
zhaopanyu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
zpy 8.24 修改
parent
6408f8b3
Hide whitespace changes
Inline
Side-by-side
Showing
33 changed files
with
1530 additions
and
1844 deletions
+1530
-1844
ruoyi-ui/src/api/smartSchool/gradeWork/stuLeaveView/index.js
+17
-9
ruoyi-ui/src/api/smartSchool/informationPush/personnelGrouping.js
+13
-6
ruoyi-ui/src/components/FilepersonUploadNew/index.vue
+3
-2
ruoyi-ui/src/layout/components/Navbar.vue
+10
-10
ruoyi-ui/src/router/index.js
+15
-6
ruoyi-ui/src/views/components/moduleComponets/TeacherSelect/index.vue
+8
-2
ruoyi-ui/src/views/smartSchool/gradeWork/clockManage/clockRecord.vue
+15
-25
ruoyi-ui/src/views/smartSchool/gradeWork/courseSelection/summerViewing/index.vue
+23
-21
ruoyi-ui/src/views/smartSchool/gradeWork/courseSelection/taskPublishing/index.vue
+1
-1
ruoyi-ui/src/views/smartSchool/gradeWork/parentsInfoPush/receiveList/index.vue
+49
-97
ruoyi-ui/src/views/smartSchool/gradeWork/studentLeaveView/index.vue
+32
-23
ruoyi-ui/src/views/smartSchool/gradeWork/studentManage/score/index.vue
+41
-96
ruoyi-ui/src/views/smartSchool/indexMould/myTask/purchaseApproval/components/TaskResolve.vue
+1
-1
ruoyi-ui/src/views/smartSchool/indexMould/myTask/studentLeaveApproval/HandleResolve/TaskResolve.vue
+1
-1
ruoyi-ui/src/views/smartSchool/indexMould/myTask/teachLeaveApprove/HandleResolve/TaskResolve.vue
+1
-1
ruoyi-ui/src/views/smartSchool/officialWork/clockManage/clockRecord.vue
+2
-0
ruoyi-ui/src/views/smartSchool/personWork/auditoriumReservation/index.vue
+9
-3
ruoyi-ui/src/views/smartSchool/personWork/awArds/businessAwards/index.vue
+87
-57
ruoyi-ui/src/views/smartSchool/personWork/awArds/materialPreparation/index.vue
+51
-46
ruoyi-ui/src/views/smartSchool/personWork/awArds/paperSituation/index.vue
+66
-54
ruoyi-ui/src/views/smartSchool/personWork/awArds/traiNing/index.vue
+53
-43
ruoyi-ui/src/views/smartSchool/personWork/clockRecord/index.vue
+27
-45
ruoyi-ui/src/views/smartSchool/schoolManage/schoolNotice/infoPush/components/receiveList.vue
+33
-75
ruoyi-ui/src/views/smartSchool/schoolManage/schoolNotice/infoPush/school/index.vue
+95
-152
ruoyi-ui/src/views/smartSchool/schoolManage/schoolNotice/personnelGrouping/authUser.vue
+194
-114
ruoyi-ui/src/views/smartSchool/schoolManage/schoolNotice/personnelGrouping/index.vue
+122
-244
ruoyi-ui/src/views/smartSchool/schoolManage/schoolNotice/personnelGrouping/selectUser.vue
+0
-138
ruoyi-ui/src/views/smartSchool/schoolProperty/classiFication/index.vue
+27
-17
ruoyi-ui/src/views/smartSchool/schoolProperty/equipmenTledger/index.vue
+462
-450
ruoyi-ui/src/views/smartSchool/teachAffairAdministration/affairGradeManage/gradeMemberList/index.vue
+0
-2
ruoyi-ui/src/views/smartSchool/teachAffairAdministration/affairStudentManage/index.vue
+1
-1
ruoyi-ui/src/views/smartSchool/teacherManage/teacherLeaveInfoSum/index.vue
+64
-81
ruoyi-ui/src/views/system/role/selectUser.vue
+7
-21
No files found.
ruoyi-ui/src/api/smartSchool/gradeWork/stuLeaveView/index.js
View file @
b094023e
import
request
from
'@/utils/request'
import
request
from
"@/utils/request"
;
// 查询学生请假信息列表
export
function
getlistStuLeave
(
query
)
{
console
.
log
(
query
)
console
.
log
(
query
)
;
return
request
({
url
:
'/school/studentLeave/gradeList'
,
method
:
'get'
,
params
:
query
})
url
:
"/school/studentLeave/gradeList"
,
method
:
"get"
,
params
:
query
,
});
}
//查看审批流程;
export
function
getProcess
(
query
)
{
return
request
({
url
:
`/activiti/process/listHistory/`
,
method
:
"get"
,
params
:
query
,
});
}
// 查询学生请假信息详情
export
function
getStuLeaveOne
(
id
)
{
return
request
({
url
:
'/school/studentLeave/queryOne/'
+
id
,
method
:
'get'
})
url
:
"/school/studentLeave/queryOne/"
+
id
,
method
:
"get"
,
})
;
}
ruoyi-ui/src/api/smartSchool/informationPush/personnelGrouping.js
View file @
b094023e
...
...
@@ -3,11 +3,19 @@ import request from "@/utils/request";
//人员分组
//获取分组集合
export
function
getUserList
(
data
)
{
export
function
getUserList
(
query
)
{
return
request
({
url
:
"/notification/list"
,
url
:
`/notification/list`
,
method
:
"get"
,
params
:
query
,
});
}
//修改详情
export
function
getXg
(
id
)
{
return
request
({
url
:
`/notification/selectOne/
${
id
}
`
,
// 在这里使用正确的拼接方式
method
:
"get"
,
data
,
});
}
...
...
@@ -16,7 +24,6 @@ export function getUser(notificationId) {
return
request
({
url
:
`/notification/getUserList/
${
notificationId
}
`
,
method
:
"get"
,
// params: id
});
}
...
...
@@ -39,7 +46,7 @@ export function addUser(data) {
}
//删除人员
export
function
deleteUser
()
{
export
function
deleteUser
(
data
)
{
return
request
({
url
:
"/notification/delectNotificationUser"
,
method
:
"put"
,
...
...
@@ -51,7 +58,7 @@ export function deleteUser() {
export
function
updateNotification
(
data
)
{
return
request
({
url
:
"/notification/update"
,
method
:
"p
os
t"
,
method
:
"p
u
t"
,
data
,
});
}
...
...
ruoyi-ui/src/components/FilepersonUploadNew/index.vue
View file @
b094023e
...
...
@@ -17,15 +17,16 @@
<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>
<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"
<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>
...
...
ruoyi-ui/src/layout/components/Navbar.vue
View file @
b094023e
<
template
>
<div
class=
"navbar"
>
<hamburger
id=
"hamburger-container"
:is-active=
"sidebar.opened"
class=
"hamburger-container"
@
toggleClick=
"toggleSideBar"
/>
@
toggleClick=
"toggleSideBar"
/>
<breadcrumb
id=
"breadcrumb-container"
class=
"breadcrumb-container"
v-if=
"!topNav"
/>
<top-nav
id=
"topmenu-container"
class=
"topmenu-container"
v-if=
"topNav"
/>
<breadcrumb
id=
"breadcrumb-container"
class=
"breadcrumb-container"
v-if=
"!topNav"
/>
<top-nav
id=
"topmenu-container"
class=
"topmenu-container"
v-if=
"topNav"
/>
<div
class=
"right-menu"
>
<template
v-if=
"device
!==
'mobile'"
>
<search
id=
"header-search"
class=
"right-menu-item"
/>
<screenfull
id=
"screenfull"
class=
"right-menu-item hover-effect"
/>
<template
v-if=
"device
!==
'mobile'"
>
<search
id=
"header-search"
class=
"right-menu-item"
/>
<screenfull
id=
"screenfull"
class=
"right-menu-item hover-effect"
/>
<el-tooltip
content=
"布局大小"
effect=
"dark"
placement=
"bottom"
>
<size-select
id=
"size-select"
class=
"right-menu-item hover-effect"
/>
<size-select
id=
"size-select"
class=
"right-menu-item hover-effect"
/>
</el-tooltip>
</
template
>
...
...
@@ -19,11 +19,11 @@
<el-dropdown
class=
"avatar-container right-menu-item hover-effect"
trigger=
"click"
>
<div
class=
"avatar-wrapper"
>
<img
:src=
"avatar"
@
error=
"handleError"
class=
"user-avatar"
>
<i
class=
"el-icon-caret-bottom"
/>
<i
class=
"el-icon-caret-bottom"
/>
</div>
<el-dropdown-menu
slot=
"dropdown"
>
<!-- <router-link to="/user/profile">-->
<router-link
to=
"/personWork/basicInfo"
>
<router-link
to=
"/personWork/
grxx/
basicInfo"
>
<el-dropdown-item>
个人中心
</el-dropdown-item>
</router-link>
<el-dropdown-item
@
click
.
native=
"setting = true"
>
...
...
@@ -39,7 +39,7 @@
</template>
<
script
>
import
{
mapGetters
}
from
'vuex'
import
{
mapGetters
}
from
'vuex'
import
Breadcrumb
from
'@/components/Breadcrumb'
import
TopNav
from
'@/components/TopNav'
import
Hamburger
from
'@/components/Hamburger'
...
...
ruoyi-ui/src/router/index.js
View file @
b094023e
...
...
@@ -131,20 +131,29 @@ export const dynamicRoutes = [
},
],
},
{
path
:
"/s
ystem/dict-data
"
,
path
:
"/s
choolManage/schoolNotice
"
,
component
:
Layout
,
hidden
:
true
,
permissions
:
[
"system:
dict:lis
t"
],
permissions
:
[
"system:
role:edi
t"
],
children
:
[
{
path
:
"index/:dictId(
\\
d+)"
,
component
:
()
=>
import
(
"@/views/system/dict/data"
),
name
:
"Data"
,
meta
:
{
title
:
"字典数据"
,
activeMenu
:
"/system/dict"
},
path
:
"/personnelGrouping/authUser"
,
component
:
()
=>
import
(
"@/views/smartSchool/schoolManage/schoolNotice/personnelGrouping/authUser.vue"
),
name
:
"AuthUser"
,
meta
:
{
title
:
"分配成员"
,
activeMenu
:
"/smartSchool/schoolManage/schoolNotice/personnelGrouping"
,
},
},
],
},
{
path
:
"/monitor/job-log"
,
component
:
Layout
,
...
...
ruoyi-ui/src/views/components/moduleComponets/TeacherSelect/index.vue
View file @
b094023e
...
...
@@ -40,7 +40,13 @@
</
template
>
</el-table-column>
<el-table-column
label=
"老师电话"
width=
"160"
align=
"center"
prop=
"teacherTel"
/>
<el-table-column
label=
"职工类型"
width=
"160"
align=
"center"
prop=
"employeeType"
/>
<el-table-column
label=
"职工类型"
width=
"160"
align=
"center"
prop=
"employeeType"
>
<
template
slot-scope=
"{ row }"
>
<div>
{{
selectDictLabel
(
dict
.
type
.
employee_type
,
row
.
employeeType
)
}}
</div>
</
template
>
</el-table-column>
<el-table-column
label=
"部门"
width=
"160"
align=
"center"
prop=
"deptName"
/>
<!-- <el-table-column label="家庭住址" align="center" prop="homeAddress" show-overflow-tooltip/>
<el-table-column label="身份证号" width="180" align="center" prop="idCard"/> -->
...
...
@@ -63,7 +69,7 @@ import { Gender } from "../../../../enums/common";
export
default
{
name
:
"TeacherSelect"
,
dicts
:
[
'sys_user_sex'
],
dicts
:
[
'sys_user_sex'
,
'employee_type'
],
components
:
{
ListImage
},
...
...
ruoyi-ui/src/views/smartSchool/gradeWork/clockManage/clockRecord.vue
View file @
b094023e
...
...
@@ -2,23 +2,12 @@
<div
class=
"app-container"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
label-width=
"80px"
>
<el-form-item
label=
"姓名"
prop=
"userName"
>
<el-input
v-model=
"queryParams.userName"
placeholder=
"请输入姓名"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
<el-input
v-model=
"queryParams.userName"
placeholder=
"请输入姓名"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"日期"
>
<el-date-picker
style=
"width: 300px"
v-model=
"dateRange"
value-format=
"yyyy-MM-dd"
type=
"datetimerange"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
>
<el-date-picker
style=
"width: 300px"
v-model=
"dateRange"
value-format=
"yyyy-MM-dd"
type=
"datetimerange"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
>
</el-date-picker>
</el-form-item>
<!--
<el-form-item
label=
"部门"
prop=
"department"
>
...
...
@@ -36,14 +25,14 @@
</el-form-item>
</el-form>
<el-table
v-loading=
"loading"
:data=
"clockRecordList"
stripe
>
<el-table-column
label=
"序号"
type=
"index"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"设备工号"
align=
"center"
prop=
"deviceNum"
/>
<el-table-column
label=
"员工工号"
align=
"center"
prop=
"teacherCode"
/>
<el-table-column
label=
"姓名"
align=
"center"
prop=
"userName"
/>
<el-table-column
label=
"部门"
align=
"center"
prop=
"orgname"
/>
<el-table-column
label=
"考勤日期"
align=
"center"
prop=
"clockDate"
/>
<el-table-column
label=
"打卡时间"
align=
"center"
prop=
"times"
/>
<el-table-column
label=
"备注"
align=
"center"
prop=
"remark"
/>
<el-table-column
label=
"序号"
type=
"index"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"设备工号"
align=
"center"
prop=
"deviceNum"
/>
<el-table-column
label=
"员工工号"
align=
"center"
prop=
"teacherCode"
/>
<el-table-column
label=
"姓名"
align=
"center"
prop=
"userName"
/>
<el-table-column
label=
"部门"
align=
"center"
prop=
"orgname"
/>
<el-table-column
label=
"考勤日期"
align=
"center"
prop=
"clockDate"
/>
<el-table-column
label=
"打卡时间"
align=
"center"
prop=
"times"
/>
<el-table-column
label=
"备注"
align=
"center"
prop=
"remark"
/>
<!--
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
<template
slot-scope=
"scope"
>
<el-button
...
...
@@ -57,11 +46,13 @@
</
template
>
</el-table-column>
-->
</el-table>
<pagination
v-show=
"total > 0"
:total=
"total"
:page
.
sync=
"queryParams.pageNum"
:limit
.
sync=
"queryParams.pageSize"
@
pagination=
"getList"
/>
</div>
</template>
<
script
>
import
{
personalList
,
checkRow
}
from
"@/api/smartSchool/gradeWork/monthRecord.js"
import
{
personalList
,
checkRow
}
from
"@/api/smartSchool/gradeWork/monthRecord.js"
export
default
{
name
:
'GradeWorkClockRecord'
,
...
...
@@ -121,5 +112,4 @@ export default {
}
};
</
script
>
<
style
scoped
>
</
style
>
<
style
scoped
></
style
>
ruoyi-ui/src/views/smartSchool/gradeWork/courseSelection/summerViewing/index.vue
View file @
b094023e
...
...
@@ -179,7 +179,6 @@ export default {
//获取每种课程选择人数
getCourseSelection
()
{
getsDivision
({
curriculaId
:
this
.
queryForm
.
curriculaId
}).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
selectedCourse
=
res
.
data
.
map
(
item
=>
{
return
{
...
...
@@ -232,7 +231,8 @@ export default {
// 分班按钮
submitForm
()
{
// 检查是否已经分班
const
alreadyDivided
=
this
.
selectedCourse
.
some
(
course
=>
course
.
divisionClassesRule
!==
null
);
const
alreadyDivided
=
this
.
selectedCourse
.
every
(
course
=>
course
.
divisionClassesRule
!==
""
);
console
.
log
(
'this.selectedCourse'
,
this
.
selectedCourse
);
if
(
alreadyDivided
)
{
this
.
$message
.
warning
(
"已经分班,无法重复操作"
);
return
;
...
...
@@ -242,25 +242,27 @@ export default {
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
let
that
=
this
;
for
(
let
i
=
0
;
i
<
this
.
selectedCourse
.
length
;
i
++
)
{
that
.
selectedCourse
[
i
].
divisionClassesRule
=
that
.
form
.
divisionClassesRule
;
const
course
=
this
.
selectedCourse
[
i
];
console
.
log
(
'course.divisionClassesRule:'
,
course
.
divisionClassesRule
);
console
.
log
(
'course.classesNumber:'
,
course
.
classesNumber
);
console
.
log
(
'course.peopleNumber:'
,
course
.
peopleNumber
);
if
(
course
.
divisionClassesRule
===
''
||
course
.
classesNumber
===
''
||
course
.
peopleNumber
===
''
)
{
this
.
$message
.
error
(
"分班规则、班级数量和每班人数不能为空"
);
return
;
}
let
totalPeopleNumber
=
course
.
classesNumber
*
course
.
peopleNumber
;
if
(
totalPeopleNumber
>
this
.
selectedCourse
.
length
)
{
this
.
$message
.
error
(
"班级数量和每班人数相乘不能超过总人数"
);
return
;
}
}
console
.
log
(
'this.selectedCourse'
,
this
.
selectedCourse
);
// let that = this;
// for (let i = 0; i
<
this
.
selectedCourse
.
length
;
i
++
)
{
// that.selectedCourse[i].divisionClassesRule = that.form.divisionClassesRule;
// const course = this.selectedCourse[i];
// console.log('course.divisionClassesRule:', course.divisionClassesRule);
// console.log('course.classesNumber:', course.classesNumber);
// console.log('course.peopleNumber:', course.peopleNumber);
// if (course.divisionClassesRule === '' || course.classesNumber === '' || course.peopleNumber === '') {
// this.$message.error("分班规则、班级数量和每班人数不能为空");
// return;
// }
// let totalPeopleNumber = course.classesNumber * course.peopleNumber;
// console.log('totalPeopleNumber', totalPeopleNumber);
// if (totalPeopleNumber > this.coursePeopleNumber) {
// console.log('this.coursePeopleNumber', this.coursePeopleNumber);
// this.$message.error("班级数量和每班人数相乘不能超过总人数");
// return;
// }
// }
// console.log('this.selectedCourse', this.selectedCourse);
addDivision
(
this
.
selectedCourse
).
then
((
response
)
=>
{
console
.
log
(
'this.selectedCourse'
,
this
.
selectedCourse
);
this
.
$modal
.
msgSuccess
(
"分班成功"
);
...
...
ruoyi-ui/src/views/smartSchool/gradeWork/courseSelection/taskPublishing/index.vue
View file @
b094023e
...
...
@@ -53,7 +53,7 @@
<el-button
class=
"purpleBtn"
size=
"small"
round
@
click=
"summerViewing(task.id, task.grade)"
>
夏季选课情况
</el-button>
<el-button
class=
"rowBtn"
size=
"small"
round
@
click=
"secondaryDivision(task.id, task.grade)"
>
夏季二次
选课
</el-button>
@
click=
"secondaryDivision(task.id, task.grade)"
>
夏季二次
分班
</el-button>
</div>
</div>
</div>
...
...
ruoyi-ui/src/views/smartSchool/gradeWork/parentsInfoPush/receiveList/index.vue
View file @
b094023e
...
...
@@ -4,71 +4,56 @@
<el-form
ref=
"form"
:model=
"form"
label-width=
"80px"
>
<el-row>
<el-col
:span=
"8"
:offset=
"2"
>
<el-form-item
label=
"标题"
prop=
"title"
>
<el-input
v-model=
"form.title"
disabled
/>
</el-form-item>
<el-form-item
label=
"标题"
prop=
"title"
>
<el-input
v-model=
"form.title"
disabled
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
:offset=
"2"
>
<el-form-item
label=
"类型"
prop=
"type"
>
<el-select
v-model=
"form.type"
disabled
style=
"width: 100%"
>
<el-option
v-for=
"dict in dict.type.sys_notice_type"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"类型"
prop=
"type"
>
<el-select
v-model=
"form.type"
disabled
style=
"width: 100%"
>
<el-option
v-for=
"dict in dict.type.sys_notice_type"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-form>
<h4
class=
"form-header h4"
>
详情列表
</h4>
<el-row
class=
"mb8"
:gutter=
"10"
>
<!--
<el-col
:span=
"1.5"
>
-->
<!--
<el-button-->
<!-- type="primary"-->
<!-- plain-->
<!-- size="mini"-->
<!-- icon="el-icon-plus"-->
<!-- @click="handleAdd"-->
<!-- >新增-->
<!--
</el-button>
-->
<!--
</el-col>
-->
<!--
<el-col
:span=
"1.5"
>
-->
<!--
<el-button-->
<!-- type="danger"-->
<!-- plain-->
<!-- size="mini"-->
<!-- icon="el-icon-delete"-->
<!-- :disabled="!isMultiple"-->
<!-- @click="handleDelete"-->
<!-- >删除-->
<!--
</el-button>
-->
<!--
</el-col>
-->
<!--
<el-col
:span=
"1.5"
>
-->
<!--
<el-button-->
<!-- type="primary"-->
<!-- plain-->
<!-- size="mini"-->
<!-- icon="el-icon-plus"-->
<!-- @click="handleAdd"-->
<!-- >新增-->
<!--
</el-button>
-->
<!--
</el-col>
-->
<!--
<el-col
:span=
"1.5"
>
-->
<!--
<el-button-->
<!-- type="danger"-->
<!-- plain-->
<!-- size="mini"-->
<!-- icon="el-icon-delete"-->
<!-- :disabled="!isMultiple"-->
<!-- @click="handleDelete"-->
<!-- >删除-->
<!--
</el-button>
-->
<!--
</el-col>
-->
<el-col
:span=
"1.5"
>
<el-button
type=
"info"
plain
size=
"mini"
icon=
"el-icon-close"
@
click=
"handleClose"
>
关闭
<el-button
type=
"info"
plain
size=
"mini"
icon=
"el-icon-close"
@
click=
"handleClose"
>
关闭
</el-button>
</el-col>
</el-row>
<el-table
ref=
"receiveList"
stripe
style=
"width: 100%;"
:data=
"receiveList"
@
selection-change=
"handleSelectChange"
>
<el-table
ref=
"receiveList"
stripe
style=
"width: 100%;"
:data=
"receiveList"
@
selection-change=
"handleSelectChange"
>
<el-table-column
type=
"selection"
align=
"center"
width=
"55"
></el-table-column>
<!--
<el-table-column
label=
"工作编号"
prop=
"teacherCode"
align=
"center"
></el-table-column>
-->
<el-table-column
label=
"姓名"
prop=
"parentName"
align=
"center"
></el-table-column>
<el-table-column
label=
"关系"
prop=
"relationship"
align=
"center"
>
<template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.relationship"
:value=
"scope.row.relationship"
/>
<dict-tag
:options=
"dict.type.relationship"
:value=
"scope.row.relationship"
/>
</
template
>
</el-table-column>
<!-- <el-table-column label="性别" prop="sex" align="center"></el-table-column>-->
...
...
@@ -76,24 +61,15 @@
<!-- <el-table-column label="身份号" prop="idCard" align="center"></el-table-column>-->
<el-table-column
label=
"是否阅读"
prop=
"status"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<el-tag
type=
"success"
v-if=
"scope.row.status
==
1"
>
已阅读
</el-tag>
<el-tag
type=
"success"
v-if=
"scope.row.status
==
1"
>
已阅读
</el-tag>
<el-tag
type=
"warning"
v-else
>
未阅读
</el-tag>
</
template
>
</el-table-column>
</el-table>
<ExPagination
v-show=
"total > 0"
:total=
"total"
:page
.
sync=
"queryForm.pageNum"
:limit
.
sync=
"queryForm.pageSize"
@
pagination=
"getList"
></ExPagination>
<ExPagination
v-show=
"total > 0"
:total=
"total"
:page
.
sync=
"queryForm.pageNum"
:limit
.
sync=
"queryForm.pageSize"
@
pagination=
"getList"
></ExPagination>
<el-dialog
:visible
.
sync=
"open"
title=
"选择推送人"
width=
"960px"
>
<el-dialog
:visible
.
sync=
"open"
title=
"选择推送人"
width=
"960px"
>
<el-form
:model=
"pushForm"
inline
size=
"small"
>
<el-form-item
label=
"姓名"
porp=
"userName"
>
<el-input
v-model=
"pushForm.userName"
></el-input>
...
...
@@ -102,44 +78,22 @@
<el-input
v-model=
"pushForm.phonenumber"
></el-input>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
size=
"small"
icon=
"el-icon-search"
@
click=
"handlePushQuery"
>
搜索
<el-button
type=
"primary"
size=
"small"
icon=
"el-icon-search"
@
click=
"handlePushQuery"
>
搜索
</el-button>
<el-button
plain
size=
"small"
icon=
"el-icon-refresh"
@
click=
"resetPushQuery"
>
重置
<el-button
plain
size=
"small"
icon=
"el-icon-refresh"
@
click=
"resetPushQuery"
>
重置
</el-button>
</el-form-item>
</el-form>
<el-table
ref=
"pushList"
stripe
width=
"100%"
v-loading=
"loading"
:data=
"pushList"
@
selection-change=
"handleSelectPush"
@
row-click=
"handleRowClick"
>
<el-table
ref=
"pushList"
stripe
width=
"100%"
v-loading=
"loading"
:data=
"pushList"
@
selection-change=
"handleSelectPush"
@
row-click=
"handleRowClick"
>
<el-table-column
type=
"selection"
align=
"center"
></el-table-column>
<el-table-column
type=
"index"
label=
"序号"
align=
"center"
></el-table-column>
<el-table-column
label=
"用户姓名"
prop=
"userName"
align=
"center"
></el-table-column>
<el-table-column
label=
"手机号"
prop=
"phonenumber"
align=
"center"
></el-table-column>
</el-table>
<ExPagination
v-show=
"total > 0"
:total=
"total"
:page
.
sync=
"queryForm.pageNum"
:limit
.
sync=
"queryForm.pageSize"
@
paginaiton=
"getList"
></ExPagination>
<ExPagination
v-show=
"total > 0"
:total=
"total"
:page
.
sync=
"queryForm.pageNum"
:limit
.
sync=
"queryForm.pageSize"
@
paginaiton=
"getList"
></ExPagination>
<div
slot=
"footer"
>
<el-button
:disabled=
"!isSimple"
type=
"primary"
size=
"small"
@
click=
"handleSelect"
>
确 认
</el-button>
...
...
@@ -151,7 +105,7 @@
</template>
<
script
>
import
{
addReceive
,
deleteReceive
,
getList
}
from
"@/api/smartSchool/informationPush/parentsDetails"
;
import
{
addReceive
,
deleteReceive
,
getList
}
from
"@/api/smartSchool/informationPush/parentsDetails"
;
export
default
{
name
:
"ParentInfo"
,
...
...
@@ -190,9 +144,9 @@ export default {
methods
:
{
/** 初始化参数数据、列表数据查询 */
init
()
{
const
{
title
,
type
}
=
this
.
$route
.
query
;
const
{
title
,
type
}
=
this
.
$route
.
query
;
this
.
pushId
=
this
.
$route
.
query
&&
this
.
$route
.
query
.
id
;
this
.
form
=
{
title
,
type
};
this
.
form
=
{
title
,
type
};
this
.
getList
();
},
/** 获取列表数据 */
...
...
@@ -235,7 +189,7 @@ export default {
/** 关闭 */
handleClose
()
{
this
.
$tab
.
closeOpenPage
({
path
:
'/gradeWork/parentsInfoPush'
path
:
'/gradeWork/
jxgy/
parentsInfoPush'
});
},
...
...
@@ -297,6 +251,4 @@ export default {
}
</
script
>
<
style
scoped
>
</
style
>
<
style
scoped
></
style
>
ruoyi-ui/src/views/smartSchool/gradeWork/studentLeaveView/index.vue
View file @
b094023e
...
...
@@ -14,8 +14,7 @@
</el-form-item>
<el-form-item
label=
"审批状态:"
prop=
"state"
label-width=
"105px"
>
<el-select
v-model=
"queryParams.state"
placeholder=
"请选择审批状态"
>
<el-option
v-for=
"dict in dict.type.approval_status"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
<el-option
v-for=
"dict in dict.type.approval_status"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
{{
dict
.
label
}}
</el-option>
</el-select>
...
...
@@ -26,35 +25,34 @@
</el-form-item>
</el-form>
<el-table
v-loading=
"loading"
:data=
"teacherLeaveList"
>
<el-table-column
type=
"index"
width=
"55"
label=
"序号"
fixed=
"left"
align=
"center"
/>
<el-table-column
label=
"姓名"
min-width=
"100"
align=
"center"
fixed=
"left"
prop=
"studentName"
/>
<el-table-column
label=
"班级"
align=
"center"
min-width=
"100"
prop=
"className"
/>
<el-table-column
label=
"请假开始时间"
sortable
prop=
"startTime"
align=
"center"
min-width=
"180"
/>
<el-table-column
label=
"请假结束时间"
sortable
align=
"center"
prop=
"endTime"
min-width=
"180"
/>
<el-table-column
type=
"index"
width=
"55"
label=
"序号"
fixed=
"left"
align=
"center"
/>
<el-table-column
label=
"姓名"
min-width=
"100"
align=
"center"
fixed=
"left"
prop=
"studentName"
/>
<el-table-column
label=
"班级"
align=
"center"
min-width=
"100"
prop=
"className"
/>
<el-table-column
label=
"请假开始时间"
sortable
prop=
"startTime"
align=
"center"
min-width=
"180"
/>
<el-table-column
label=
"请假结束时间"
sortable
align=
"center"
prop=
"endTime"
min-width=
"180"
/>
<el-table-column
label=
"请假类型"
align=
"center"
prop=
"type"
min-width=
"100"
>
<template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.biz_leave_type"
:value=
"scope.row.type"
></dict-tag>
</
template
>
</el-table-column>
<el-table-column
label=
"请假原因"
min-width=
"220"
align=
"center"
prop=
"leaveReason"
show-overflow-tooltip
/>
<el-table-column
label=
"请假原因"
min-width=
"220"
align=
"center"
prop=
"leaveReason"
show-overflow-tooltip
/>
<el-table-column
label=
"申请时间"
align=
"center"
prop=
"applyTime"
min-width=
"150"
>
<
template
slot-scope=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
applyTime
,
'{y
}
-{m
}
-{d
}
'
)
}}
<
/span
>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"申请人"
align
=
"center"
prop
=
"applyUser"
min
-
width
=
"100"
/>
<
el
-
table
-
column
label
=
"申请人"
align
=
"center"
prop
=
"applyUser"
min
-
width
=
"100"
/>
<
el
-
table
-
column
label
=
"审批状态"
align
=
"center"
prop
=
"state"
min
-
width
=
"100"
>
<
template
slot
-
scope
=
"scope"
>
<
dict
-
tag
:
options
=
"dict.type.approval_status"
:
value
=
"scope.row.state"
/>
<
dict
-
tag
:
options
=
"dict.type.approval_status"
:
value
=
"scope.row.state"
/>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"返校时间"
align
=
"center"
prop
=
"revokeTime"
min
-
width
=
"150px"
/>
<
el
-
table
-
column
label
=
"返校时间"
align
=
"center"
prop
=
"revokeTime"
min
-
width
=
"150px"
/>
<
el
-
table
-
column
label
=
"操作"
align
=
"center"
class
-
name
=
"small-padding fixed-width"
min
-
width
=
"100"
key
=
"operate"
>
<
template
slot
-
scope
=
"scope"
>
<!--
<
el
-
button
v
-
if
=
"scope.row.taskName === '等待销假'"
type
=
"text"
size
=
"mini"
icon
=
"el-icon-edit"
@
click
=
"handleResolve(scope.row, false)"
>
销假
<
/el-button> --
>
<
el
-
button
size
=
"mini"
type
=
"text"
icon
=
"el-icon-search"
@
click
=
"handleDetail(scope.row)"
v
-
hasPermi
=
"['system:teacherOvertime:edit']"
>
查看
v
-
hasPermi
=
"['system:teacherOvertime:edit']"
>
查看
<
/el-button
>
<
/template
>
<
/el-table-column
>
...
...
@@ -63,11 +61,11 @@
<!--
@
pagination
=
"getList"
><
/ExPagination>--
>
<!--
<
HandleResolve
v
-
if
=
"process.open"
:
process
-
open
.
sync
=
"process.open"
:
instanceId
=
"process.instanceId"
:
id
=
"process.id"
:
taskId
=
"process.taskId"
:
readOnly
=
"process.readOnly"
:
revoke
=
"process.revoke"
@
refreshData
=
"refreshData"
><
/HandleResolve> --
>
<
el
-
dialog
:
title
=
"title"
:
visible
.
sync
=
"dialogTeacherLeave"
width
=
"1000px"
append
-
to
-
body
>
<
el
-
form
ref
=
"form"
:
model
=
"form"
label
-
width
=
"120px"
style
=
"width: 100%; margin: auto"
>
<
el
-
form
ref
=
"form"
:
model
=
"form"
label
-
width
=
"120px"
style
=
"width: 100%; margin: auto"
:
disabled
=
"!isEditable"
>
<
el
-
row
>
<
el
-
col
:
span
=
"11"
>
<
el
-
form
-
item
label
=
"姓名"
prop
=
"studentName"
>
<
el
-
input
:
value
=
"form.studentName"
/>
<
el
-
input
:
value
=
"form.studentName"
/>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
offset
=
"2"
:
span
=
"11"
>
...
...
@@ -79,15 +77,15 @@
<
el
-
row
>
<
el
-
col
:
span
=
"11"
>
<
el
-
form
-
item
label
=
"请假开始时间"
prop
=
"startTime"
>
<
el
-
date
-
picker
style
=
"width: 100%"
:
value
=
"form.startTime"
type
=
"datetime"
value
-
format
=
"yyyy-MM-dd HH:mm"
placeholder
=
"选择开始时间"
><
/el-date-picker
>
<
el
-
date
-
picker
style
=
"width: 100%"
:
value
=
"form.startTime"
type
=
"datetime"
value
-
format
=
"yyyy-MM-dd HH:mm"
placeholder
=
"选择开始时间"
><
/el-date-picker
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
offset
=
"2"
:
span
=
"11"
>
<
el
-
form
-
item
label
=
"请假结束时间"
prop
=
"endTime"
>
<
el
-
date
-
picker
style
=
"width: 100%"
:
value
=
"form.endTime"
type
=
"datetime"
value
-
format
=
"yyyy-MM-dd HH:mm"
placeholder
=
"选择结束时间"
><
/el-date-picker
>
placeholder
=
"选择结束时间"
><
/el-date-picker
>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
...
...
@@ -96,13 +94,18 @@
<
el
-
form
-
item
label
=
"请假类型"
prop
=
"type"
>
<
el
-
select
:
value
=
"form.type"
style
=
"width: 100%"
placeholder
=
"请选择请假类型"
>
<
el
-
option
v
-
for
=
"dict in dict.type.biz_leave_type"
:
key
=
"dict.value"
:
label
=
"dict.label"
:
value
=
"dict.value"
><
/el-option
>
:
value
=
"dict.value"
><
/el-option
>
<
/el-select
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
offset
=
"2"
:
span
=
"11"
>
<
el
-
form
-
item
label
=
"当前任务"
prop
=
"taskName"
>
<
el
-
input
:
value
=
"form.taskName"
style
=
"width: 100%"
placeholder
=
"请输入"
/>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
<
el
-
form
-
item
label
=
"请假原因"
prop
=
"leaveReason"
>
<
el
-
input
type
=
"textarea"
resize
=
"none"
:
autosize
=
"{ minRows: 5
}
"
:
value
=
"form.leaveReason"
/>
<
el
-
input
type
=
"textarea"
resize
=
"none"
:
autosize
=
"{ minRows: 5
}
"
:
value
=
"form.leaveReason"
/>
<
/el-form-item
>
<
/el-form
>
<
div
slot
=
"footer"
class
=
"dialog-footer"
>
...
...
@@ -112,8 +115,9 @@
<
/div
>
<
/template
>
<
script
>
import
{
getlistStuLeave
,
getStuLeaveOne
}
from
'@/api/smartSchool/gradeWork/stuLeaveView'
import
{
getlistStuLeave
,
getStuLeaveOne
,
getProcess
}
from
'@/api/smartSchool/gradeWork/stuLeaveView'
import
HandleResolve
from
'@/views/smartSchool/gradeWork/studentLeaveView/components/HandleResolve'
import
{
courseSelectionSpringList
}
from
'../../../../api/smartSchool/gradeWork/courseSelection/courseSelection'
export
default
{
name
:
'StudentLeaveView'
,
...
...
@@ -123,6 +127,7 @@ export default {
}
,
created
()
{
this
.
getList
()
}
,
data
()
{
return
{
...
...
@@ -138,6 +143,7 @@ export default {
multiple
:
true
,
// 遮罩层
loading
:
true
,
isEditable
:
true
,
// 弹出层标题
title
:
''
,
dialogTeacherLeaveView
:
false
,
...
...
@@ -215,8 +221,11 @@ export default {
handleDetail
(
row
)
{
let
stuId
=
row
.
id
getStuLeaveOne
(
stuId
).
then
(
response
=>
{
this
.
form
=
response
.
data
this
.
dialogTeacherLeave
=
true
this
.
form
=
response
.
data
;
this
.
form
.
instanceId
=
response
.
data
.
instanceId
;
console
.
log
(
'this.form.instanceId'
,
this
.
form
.
instanceId
);
this
.
dialogTeacherLeave
=
true
;
this
.
isEditable
=
false
;
this
.
title
=
'学生请假信息详情'
}
)
}
,
...
...
ruoyi-ui/src/views/smartSchool/gradeWork/studentManage/score/index.vue
View file @
b094023e
...
...
@@ -5,17 +5,17 @@
<el-row
:gutter=
"20"
>
<el-col
:span=
"8"
>
<el-form-item
label=
"学生姓名"
prop=
"name"
>
<el-input
v-model=
"studentInfo.name"
disabled
/>
<el-input
v-model=
"studentInfo.name"
disabled
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"身份证号"
>
<el-input
v-model=
"studentInfo.idCard"
disabled
/>
<el-input
v-model=
"studentInfo.idCard"
disabled
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"注册序号"
>
<el-input
v-model=
"studentInfo.schoolNo"
disabled
/>
<el-input
v-model=
"studentInfo.schoolNo"
disabled
/>
</el-form-item>
</el-col>
</el-row>
...
...
@@ -23,48 +23,22 @@
<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:education:add']"
>
新增
<el-button
type=
"primary"
plain
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAdd"
v-hasPermi=
"['system:education: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:education:edit']"
>
修改
<el-button
type=
"success"
plain
icon=
"el-icon-edit"
size=
"mini"
:disabled=
"single"
@
click=
"handleUpdate"
v-hasPermi=
"['system:education: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:education:remove']"
>
删除
<el-button
type=
"danger"
plain
icon=
"el-icon-delete"
size=
"mini"
:disabled=
"multiple"
@
click=
"handleDelete"
v-hasPermi=
"['system:education:remove']"
>
删除
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"warning"
plain
icon=
"el-icon-download"
size=
"mini"
@
click=
"handleExport"
>
导出
<el-button
type=
"warning"
plain
icon=
"el-icon-download"
size=
"mini"
@
click=
"handleExport"
>
导出
</el-button>
</el-col>
<!--
<el-col
:span=
"1.5"
>
...
...
@@ -81,8 +55,8 @@
</el-row>
<el-table
:data=
"educationList"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
:selectable=
"selectable"
/>
<el-table-column
label=
"事件描述"
align=
"center"
prop=
"eventDescription"
show-overflow-tooltip
/>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
:selectable=
"selectable"
/>
<el-table-column
label=
"事件描述"
align=
"center"
prop=
"eventDescription"
show-overflow-tooltip
/>
<el-table-column
label=
"奖惩"
align=
"center"
prop=
"isReward"
show-overflow-tooltip
>
<template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
isReward
==
"1"
?
"奖"
:
"惩"
}}
</span>
...
...
@@ -102,57 +76,29 @@
<
/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
=
"openForAdd"
width
=
"500px"
>
<
pagination
v
-
show
=
"total > 0"
:
total
=
"total"
:
page
.
sync
=
"queryParams.pageNum"
:
limit
.
sync
=
"queryParams.pageSize"
@
pagination
=
"getList"
/>
<
el
-
dialog
:
title
=
"title"
:
visible
.
sync
=
"openForAdd"
width
=
"500px"
>
<
el
-
form
ref
=
"form"
:
model
=
"form"
label
-
width
=
"98px"
:
rules
=
"rules"
style
=
"text-align: center"
>
<
el
-
form
-
item
label
=
"事件描述:"
prop
=
"eventDescription"
>
<
el
-
input
v
-
model
=
"form.eventDescription"
><
/el-input
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"奖/惩:"
prop
=
"isReward"
>
<
el
-
select
v
-
model
=
"form.isReward"
style
=
"width: 100%"
>
<
el
-
option
v
-
for
=
"item in rewardOption"
:
key
=
"item.value"
:
label
=
"item.label"
:
value
=
"item.value"
><
/el-option
>
<
el
-
option
v
-
for
=
"item in rewardOption"
:
key
=
"item.value"
:
label
=
"item.label"
:
value
=
"item.value"
><
/el-option
>
<
/el-select
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"分值:"
prop
=
"score"
>
<
el
-
input
-
number
v
-
model
=
"form.score"
:
precision
=
"2"
:
step
=
"1"
:
max
=
"10"
:
min
=
"0"
controls
-
position
=
"right"
<
el
-
input
-
number
v
-
model
=
"form.score"
:
precision
=
"2"
:
step
=
"1"
:
max
=
"10"
:
min
=
"0"
controls
-
position
=
"right"
style
=
"width: 100%"
><
/el-input-number
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"日期:"
prop
=
"day"
>
<
el
-
date
-
picker
:
picker
-
options
=
"pickerOptions"
v
-
model
=
"form.day"
type
=
"date"
value
-
format
=
"yyyy-MM-dd"
placeholder
=
"选择日期"
style
=
"width: 100%;"
><
/el-date-picker
>
<
el
-
date
-
picker
:
picker
-
options
=
"pickerOptions"
v
-
model
=
"form.day"
type
=
"date"
value
-
format
=
"yyyy-MM-dd"
placeholder
=
"选择日期"
style
=
"width: 100%;"
><
/el-date-picker
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"级别:"
prop
=
"level"
>
<
el
-
select
v
-
model
=
"leveltype"
disabled
style
=
"width: 100%"
>
<
el
-
option
v
-
for
=
"item in levelOption"
:
key
=
"item.value"
:
label
=
"item.label"
:
value
=
"item.value"
><
/el-option
>
<
el
-
option
v
-
for
=
"item in levelOption"
:
key
=
"item.value"
:
label
=
"item.label"
:
value
=
"item.value"
><
/el-option
>
<
/el-select
>
<
/el-form-item
>
<
/el-form
>
...
...
@@ -163,11 +109,7 @@
<
/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
>
<
/div
>
<
/template
>
...
...
@@ -180,7 +122,7 @@ import {
addEducation
,
updateEducation
}
from
"@/api/smartSchool/studentManage/educationCheck.js"
;
import
{
ExportType
}
from
"@/enums/common"
;
import
{
ExportType
}
from
"@/enums/common"
;
import
SelectUser
from
"./components/selectUser.vue"
;
import
{
Path_Destination
,
...
...
@@ -189,7 +131,7 @@ import {
export
default
{
name
:
"Education"
,
components
:
{
SelectUser
}
,
components
:
{
SelectUser
}
,
data
()
{
this
.
educationDetail
=
(
id
)
=>
new
this
.
Path_Destination
(
`/studentmanage/score/${id
}
`
);
...
...
@@ -232,11 +174,11 @@ export default {
}
,
// 表单校验
rules
:
{
eventDescription
:
[{
required
:
true
,
message
:
'事件描述不能为空'
,
trigger
:
'blur'
}
],
isReward
:
[{
required
:
true
,
message
:
'奖惩不能为空'
,
trigger
:
'blur'
}
],
score
:
[{
required
:
true
,
message
:
'奖惩不能为空'
,
trigger
:
'blur'
}
],
day
:
[{
required
:
true
,
message
:
'日期不能为空'
,
trigger
:
'blur'
}
],
level
:
[{
required
:
true
,
message
:
'日期不能为空'
,
trigger
:
'blur'
}
],
eventDescription
:
[{
required
:
true
,
message
:
'事件描述不能为空'
,
trigger
:
'blur'
}
],
isReward
:
[{
required
:
true
,
message
:
'奖惩不能为空'
,
trigger
:
'blur'
}
],
score
:
[{
required
:
true
,
message
:
'奖惩不能为空'
,
trigger
:
'blur'
}
],
day
:
[{
required
:
true
,
message
:
'日期不能为空'
,
trigger
:
'blur'
}
],
level
:
[{
required
:
true
,
message
:
'日期不能为空'
,
trigger
:
'blur'
}
],
}
,
// 学生信息
studentInfo
:
{
}
,
...
...
@@ -294,23 +236,23 @@ export default {
computed
:
{
resolveClassName
()
{
return
info
=>
{
const
{
gradeName
,
className
,
yearValue
}
=
info
;
const
{
gradeName
,
className
,
yearValue
}
=
info
;
return
yearValue
+
'-'
+
gradeName
+
'-'
+
className
;
}
}
}
,
created
()
{
const
{
name
,
idCard
,
schoolNo
,
id
,
}
=
this
.
$route
?.
query
;
this
.
studentInfo
=
{
name
,
idCard
,
schoolNo
,
id
}
;
const
{
name
,
idCard
,
schoolNo
,
id
,
}
=
this
.
$route
?.
query
;
this
.
studentInfo
=
{
name
,
idCard
,
schoolNo
,
id
}
;
this
.
queryParams
.
studentId
=
id
;
this
.
queryParams
.
schoolYear
=
this
.
$route
?.
query
?.
schoolYear
;
this
.
getList
();
}
,
activated
()
{
const
{
name
,
idCard
,
schoolNo
,
id
}
=
this
.
$route
?.
query
;
this
.
studentInfo
=
{
name
,
idCard
,
schoolNo
,
id
}
;
const
{
name
,
idCard
,
schoolNo
,
id
}
=
this
.
$route
?.
query
;
this
.
studentInfo
=
{
name
,
idCard
,
schoolNo
,
id
}
;
this
.
queryParams
.
studentId
=
id
;
this
.
getList
();
}
,
...
...
@@ -324,6 +266,7 @@ export default {
listEducation
(
this
.
queryParams
).
then
(
response
=>
{
console
.
log
(
response
);
this
.
educationList
=
response
.
rows
;
console
.
log
(
'this.educationList'
,
this
.
educationList
);
this
.
total
=
response
.
total
;
this
.
loading
=
false
;
}
).
catch
(
error
=>
{
...
...
@@ -390,7 +333,7 @@ export default {
this
.
$refs
.
selectUser
.
open
();
}
,
// 确认选择的检查员
confirmUser
({
userName
,
userId
}
)
{
confirmUser
({
userName
,
userId
}
)
{
this
.
$set
(
this
.
form
,
'userName'
,
userName
);
this
.
$set
(
this
.
form
,
'inspectorId'
,
userId
);
}
,
...
...
@@ -429,12 +372,14 @@ export default {
if
(
valid
)
{
if
(
this
.
form
.
id
!=
null
)
{
updateEducation
(
this
.
form
).
then
(
response
=>
{
console
.
log
(
'this.form'
,
this
.
form
);
this
.
$modal
.
msgSuccess
(
"修改成功"
);
this
.
openForAdd
=
false
;
this
.
getList
();
}
);
}
else
{
addEducation
(
this
.
form
).
then
(
response
=>
{
console
.
log
(
'this.form'
,
this
.
form
);
this
.
$modal
.
msgSuccess
(
"新增成功"
);
this
.
openForAdd
=
false
;
this
.
getList
();
...
...
@@ -460,7 +405,7 @@ export default {
/** 导出按钮操作 */
handleExport
()
{
// this.exportOptions.open = true;
this
.
download
(
'/integral/export/'
+
this
.
queryParams
.
studentId
,
{
schoolYear
:
this
.
queryParams
.
schoolYear
}
,
`学生积分${Date.now()
}
.xlsx`
)
this
.
download
(
'/integral/export/'
+
this
.
queryParams
.
studentId
,
{
schoolYear
:
this
.
queryParams
.
schoolYear
}
,
`学生积分${Date.now()
}
.xlsx`
)
}
,
/** 关闭 */
// handleClose()
{
...
...
@@ -470,9 +415,9 @@ export default {
exportFile
(
callback
)
{
const
ids
=
this
.
ids
;
const
options
=
[
{
type
:
ExportType
.
TOTAL
,
path
:
'/school/education/export'
,
params
:
{
}
}
,
{
type
:
ExportType
.
SELECT
,
path
:
'/school/education/export/'
+
ids
,
params
:
{
}
}
,
{
type
:
ExportType
.
QUERY
,
path
:
'/school/education/export'
,
params
:
this
.
queryParams
}
,
{
type
:
ExportType
.
TOTAL
,
path
:
'/school/education/export'
,
params
:
{
}
}
,
{
type
:
ExportType
.
SELECT
,
path
:
'/school/education/export/'
+
ids
,
params
:
{
}
}
,
{
type
:
ExportType
.
QUERY
,
path
:
'/school/education/export'
,
params
:
this
.
queryParams
}
,
]
callback
(
options
,
`学生信息${new Date().getTime()
}
.xlsx`
);
}
,
...
...
ruoyi-ui/src/views/smartSchool/indexMould/myTask/purchaseApproval/components/TaskResolve.vue
View file @
b094023e
...
...
@@ -48,7 +48,7 @@ export default {
return
{
postForm
:
{
comment
:
''
,
pass
:
"
true
"
,
pass
:
""
,
},
// 意见模板
templateComment
:
''
,
...
...
ruoyi-ui/src/views/smartSchool/indexMould/myTask/studentLeaveApproval/HandleResolve/TaskResolve.vue
View file @
b094023e
...
...
@@ -48,7 +48,7 @@ export default {
return
{
postForm
:
{
comment
:
''
,
pass
:
'
true
'
pass
:
''
},
// 意见模板
templateComment
:
''
,
...
...
ruoyi-ui/src/views/smartSchool/indexMould/myTask/teachLeaveApprove/HandleResolve/TaskResolve.vue
View file @
b094023e
...
...
@@ -52,7 +52,7 @@ export default {
return
{
postForm
:
{
comment
:
''
,
pass
:
'
true
'
,
pass
:
''
,
},
// 意见模板
templateComment
:
''
,
...
...
ruoyi-ui/src/views/smartSchool/officialWork/clockManage/clockRecord.vue
View file @
b094023e
...
...
@@ -45,6 +45,8 @@
</
template
>
</el-table-column>
-->
</el-table>
<pagination
v-show=
"total > 0"
:total=
"total"
:page
.
sync=
"queryParams.pageNum"
:limit
.
sync=
"queryParams.pageSize"
@
pagination=
"getList"
/>
</div>
</template>
...
...
ruoyi-ui/src/views/smartSchool/personWork/auditoriumReservation/index.vue
View file @
b094023e
...
...
@@ -6,11 +6,12 @@
</el-form-item>
<el-form-item>
<el-date-picker
v-model=
"dateRange"
type=
"daterange"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
format=
"yyyy-MM-dd"
value-format=
"yyyy-MM-dd"
@
change=
"changeData(dateRange)"
>
</el-date-picker>
end-placeholder=
"结束日期"
format=
"yyyy-MM-dd"
value-format=
"yyyy-MM-dd"
@
change=
"changeData(dateRange)"
:clearable=
"true"
@
clear=
"clearDateRange"
>
</el-date-picker>
<!-- 时间短(天) -->
<span
v-if=
"diffDate !== ''"
style=
"font-size: 14px"
>
(
{{
diffDate
}}
)天
</span>
<span
v-if=
"diffDate !== ''
&& dateRange
"
style=
"font-size: 14px"
>
(
{{
diffDate
}}
)天
</span>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-circle-plus"
size=
"mini"
@
click=
"handleAdd"
>
新增
</el-button>
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"handleQuery"
>
搜索
</el-button>
...
...
@@ -549,6 +550,11 @@ export default {
},
methods
:
{
// 清空时间段
clearDateRange
()
{
this
.
dateRange
=
[];
// 或者设置为null,取决于数据类型
this
.
diffDate
=
''
;
// 清空 diffDate 变量
},
downloadFile
(
url
)
{
// 在这里编写下载文件的逻辑,可以使用浏览器的下载功能或者自定义的下载方法
window
.
open
(
url
,
"_blank"
);
...
...
ruoyi-ui/src/views/smartSchool/personWork/awArds/businessAwards/index.vue
View file @
b094023e
<
template
>
<div
class=
""
style=
"padding:15px 10px 0 10px"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
:inline=
"true"
style=
"padding:0 0 0 0"
size=
"small"
>
<el-form-item
prop=
"awardName"
>
<el-input
v-model=
"queryParams.awardName"
placeholder=
"
获奖名称
"
clearable
/>
<el-form-item
prop=
"awardName"
label=
"获奖名称"
>
<el-input
v-model=
"queryParams.awardName"
placeholder=
"
请输入
"
clearable
/>
</el-form-item>
<el-form-item
prop=
"awardTime"
>
<el-date-picker
v-model=
"queryParams.awardTime"
type=
"date"
value-format=
"yyyy-MM-dd"
placeholder=
"
获奖时间
"
<el-form-item
prop=
"awardTime"
label=
"获奖时间"
>
<el-date-picker
v-model=
"queryParams.awardTime"
type=
"date"
value-format=
"yyyy-MM-dd"
placeholder=
"
请选择
"
clearable
>
</el-date-picker>
</el-form-item>
<el-form-item
prop=
"gradeOfAward"
>
<el-select
v-model=
"queryParams.gradeOfAward"
placeholder=
"
获奖等级
"
clearable
>
<el-form-item
prop=
"gradeOfAward"
label=
"获奖等级"
>
<el-select
v-model=
"queryParams.gradeOfAward"
placeholder=
"
请选择
"
clearable
>
<el-option
v-for=
"dict in dict.type.
grade_type1"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
<el-form-item
prop=
"licenseIssuingAuthority"
>
<el-input
v-model=
"queryParams.licenseIssuingAuthority"
placeholder=
"
发证机关
"
clearable
/>
<el-form-item
prop=
"licenseIssuingAuthority"
label=
"发证机关"
>
<el-input
v-model=
"queryParams.licenseIssuingAuthority"
placeholder=
"
请输入
"
clearable
/>
</el-form-item>
<el-form-item>
...
...
@@ -43,11 +43,9 @@
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleLook(scope.row)"
>
查看
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleUpdate(scope.row)"
>
修改
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleUpdate(scope.row)"
>
修改
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"handleDelete(scope.row)"
>
删除
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"handleDelete(scope.row)"
>
删除
</el-button>
</
template
>
</el-table-column>
...
...
@@ -66,29 +64,29 @@
<el-col
:span=
"8"
>
<el-form-item
label=
"获奖时间:"
prop=
"awardTime"
>
<el-date-picker
v-model=
"form.awardTime"
type=
"date"
placeholder=
"选择获奖时间"
:style=
"{ width: '100%' }"
>
value-format=
"yyyy-MM-dd"
:style=
"{ width: '100%' }"
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"8"
>
<el-form-item
label=
"获奖等级"
>
<el-select
v-model=
"
queryParams.gradeOfAward"
placeholder=
"获奖等级"
clearable
>
<el-form-item
label=
"获奖等级"
prop=
"gradeOfAward"
>
<el-select
v-model=
"
form.gradeOfAward"
placeholder=
"获奖等级"
clearable
:style=
"{ width: '100%' }"
>
<el-option
v-for=
"dict in dict.type.
grade_type1"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"发证机关"
>
<el-form-item
label=
"发证机关"
prop=
"licenseIssuingAuthority"
>
<el-input
v-model=
"form.licenseIssuingAuthority"
:style=
"{ width: '100%' }"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"16"
>
<el-form-item
label=
"附件 :"
prop=
"url
"
>
<el-form-item
label=
"附件 :"
:rules=
"[{ required: true, message: '请上传附件' }]
"
>
<FilepersonUploadNew
@
input=
"getFileList"
:value=
"fileList"
></FilepersonUploadNew>
</el-form-item>
</el-col>
...
...
@@ -138,7 +136,7 @@
<el-form-item
label=
"附件 :"
>
<li
class=
"el-upload-list__item ele-upload-list__item-content"
v-for=
"file in fileList"
:key=
"file.id"
>
<el-link
:href=
"`${file.accessoryUrl}`"
:underline=
"false"
target=
"_blank"
>
<el-link
:href=
"`${
baseUrl}${
file.accessoryUrl}`"
:underline=
"false"
target=
"_blank"
>
<span
class=
"el-icon-document"
>
{{ file.accessoryName }}
</span>
</el-link>
</li>
...
...
@@ -176,6 +174,7 @@ export default {
},
data
()
{
return
{
baseUrl
:
process
.
env
.
VUE_APP_BASE_API
,
fileList
:
[],
queryParams
:
{
awardName
:
""
,
...
...
@@ -184,10 +183,30 @@ export default {
licenseIssuingAuthority
:
""
,
pageNum
:
1
,
pageSize
:
10
,
dataUrl
:
null
,
},
title
:
""
,
rules
:
{
awardName
:
[
{
required
:
true
,
message
:
"获奖名称不能为空"
,
trigger
:
"blur"
}
],
awardTime
:
[
{
required
:
true
,
message
:
"获奖时间不能为空"
,
trigger
:
"blur"
}
],
gradeOfAward
:
[
{
required
:
true
,
message
:
"获奖等级不能为空"
,
trigger
:
"blur"
}
],
licenseIssuingAuthority
:
[
{
required
:
true
,
message
:
"发证机关不能为空"
,
trigger
:
"blur"
}
],
},
// 查看表格
...
...
@@ -261,47 +280,57 @@ export default {
console
.
log
(
'schoolAccessoryList'
,
this
.
schoolAccessoryList
)
},
/** 提交按钮 */
submitForm
:
function
()
{
this
.
$refs
[
"form"
].
validate
(
valid
=>
{
submitForm
()
{
this
.
$refs
[
"form"
].
validate
(
(
valid
)
=>
{
if
(
valid
)
{
if
(
this
.
form
.
id
!==
undefined
)
{
const
newObj
=
{};
newObj
.
id
=
this
.
form
.
id
;
newObj
.
awardName
=
this
.
form
.
awardName
;
newObj
.
awardTime
=
this
.
form
.
awardTime
;
newObj
.
gradeOfAward
=
this
.
form
.
gradeOfAward
;
newObj
.
licenseIssuingAuthority
=
this
.
form
.
licenseIssuingAuthority
;
//附件列表
newObj
.
schoolAccessoryList
=
this
.
schoolAccessoryList
.
map
(
item
=>
{
return
{
"accessoryUrl"
:
item
.
accessoryUrl
,
"accessoryName"
:
item
.
accessoryName
}
});
updateaAward
(
newObj
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"修改成功"
);
this
.
open
=
false
;
this
.
getList
();
});
if
(
this
.
schoolAccessoryList
.
length
>
0
)
{
if
(
this
.
form
.
id
!==
undefined
)
{
// 更新操作
const
newObj
=
{
id
:
this
.
form
.
id
,
awardName
:
this
.
form
.
awardName
,
awardTime
:
this
.
form
.
awardTime
,
gradeOfAward
:
this
.
form
.
gradeOfAward
,
licenseIssuingAuthority
:
this
.
form
.
licenseIssuingAuthority
,
schoolAccessoryList
:
this
.
schoolAccessoryList
.
map
((
item
)
=>
({
accessoryUrl
:
item
.
accessoryUrl
,
accessoryName
:
item
.
accessoryName
,
})),
};
updateaAward
(
newObj
)
.
then
((
response
)
=>
{
this
.
$modal
.
msgSuccess
(
"修改成功"
);
this
.
open
=
false
;
this
.
getList
();
})
.
catch
((
error
)
=>
{
this
.
$message
.
error
(
"修改失败"
);
});
}
else
{
// 新增操作
const
newObj
=
{
id
:
this
.
form
.
id
,
awardName
:
this
.
form
.
awardName
,
awardTime
:
this
.
form
.
awardTime
,
gradeOfAward
:
this
.
form
.
gradeOfAward
,
licenseIssuingAuthority
:
this
.
form
.
licenseIssuingAuthority
,
schoolAccessoryList
:
this
.
schoolAccessoryList
.
map
((
item
)
=>
({
accessoryUrl
:
item
.
accessoryUrl
,
accessoryName
:
item
.
accessoryName
,
})),
};
addAward
(
newObj
)
.
then
((
response
)
=>
{
this
.
$modal
.
msgSuccess
(
"新增成功"
);
this
.
open
=
false
;
this
.
getList
();
})
.
catch
((
error
)
=>
{
this
.
$message
.
error
(
"新增失败"
);
});
}
}
else
{
const
newObj
=
{};
newObj
.
id
=
this
.
form
.
id
;
newObj
.
awardName
=
this
.
form
.
awardName
;
newObj
.
awardTime
=
this
.
form
.
awardTime
;
newObj
.
gradeOfAward
=
this
.
form
.
gradeOfAward
;
newObj
.
licenseIssuingAuthority
=
this
.
form
.
licenseIssuingAuthority
;
//附件列表
newObj
.
schoolAccessoryList
=
this
.
schoolAccessoryList
.
map
(
item
=>
{
return
{
"accessoryUrl"
:
item
.
accessoryUrl
,
"accessoryName"
:
item
.
accessoryName
}
});
addAward
(
newObj
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"新增成功"
);
this
.
open
=
false
;
this
.
getList
();
});
this
.
$message
.
error
(
"请上传附件"
);
}
}
});
...
...
@@ -346,6 +375,7 @@ export default {
};
this
.
fileList
=
[];
this
.
schoolAccessoryList
=
[];
this
.
resetForm
(
"form"
);
},
cancle
()
{
...
...
ruoyi-ui/src/views/smartSchool/personWork/awArds/materialPreparation/index.vue
View file @
b094023e
<
template
>
<div
class=
""
style=
"padding:15px 10px 0 10px"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
:inline=
"true"
style=
"padding:0 0 0 0"
size=
"small"
>
<el-form-item
prop=
"name"
>
<el-input
v-model=
"queryParams.name"
placeholder=
"
名称
"
/>
<el-form-item
prop=
"name"
label=
"获奖名称"
>
<el-input
v-model=
"queryParams.name"
placeholder=
"
请输入
"
/>
</el-form-item>
<el-form-item
prop=
"publishTime"
>
<el-date-picker
v-model=
"queryParams.publishTime"
type=
"date"
value-format=
"yyyy-MM-dd"
placeholder=
"
发表时间
"
>
<el-form-item
prop=
"publishTime"
label=
"发表时间"
>
<el-date-picker
v-model=
"queryParams.publishTime"
type=
"date"
value-format=
"yyyy-MM-dd"
placeholder=
"
请选择
"
>
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
size=
"mini"
plain
icon=
"el-icon-plus"
@
click=
"handleAdd"
>
新增
</el-button>
<el-button
icon=
"el-icon-search"
type=
"primary"
size=
"mini"
@
click=
"getList"
>
搜索
</el-button>
...
...
@@ -42,21 +41,21 @@
<el-form
ref=
"form"
:model=
"form"
label-width=
"114px"
:rules=
"rules"
>
<el-row>
<el-col
:span=
"8"
>
<el-form-item
label=
"名称"
>
<el-form-item
label=
"名称"
prop=
"name"
>
<el-input
v-model=
"form.name"
:style=
"{ width: '100%' }"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"发表时间:"
prop=
"publishTime"
>
<el-date-picker
v-model=
"form.publishTime"
type=
"date"
placeholder=
"选择发表时间"
:style=
"{ width: '100%' }"
>
:style=
"{ width: '100%' }"
value-format=
"yyyy-MM-dd"
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"16"
>
<el-form-item
label=
"附件 :"
prop=
"url
"
>
<el-form-item
label=
"附件 :"
:rules=
"[{ required: true, message: '请上传附件' }]
"
>
<FilepersonUploadNew
@
input=
"getFileList"
:value=
"fileList"
></FilepersonUploadNew>
</el-form-item>
</el-col>
...
...
@@ -90,7 +89,7 @@
<el-form-item
label=
"附件 :"
>
<li
class=
"el-upload-list__item ele-upload-list__item-content"
v-for=
"file in fileList"
:key=
"file.id"
>
<el-link
:href=
"`${file.accessoryUrl}`"
:underline=
"false"
target=
"_blank"
>
<el-link
:href=
"`${
baseUrl}${
file.accessoryUrl}`"
:underline=
"false"
target=
"_blank"
>
<span
class=
"el-icon-document"
>
{{ file.accessoryName }}
</span>
</el-link>
</li>
...
...
@@ -128,6 +127,7 @@ export default {
},
data
()
{
return
{
baseUrl
:
process
.
env
.
VUE_APP_BASE_API
,
fileList
:
[],
queryParams
:
{
name
:
""
,
...
...
@@ -137,7 +137,12 @@ export default {
},
title
:
""
,
rules
:
{
name
:
[
{
required
:
true
,
message
:
"获奖名称不能为空"
,
trigger
:
"blur"
}
],
publishTime
:
[
{
required
:
true
,
message
:
"发表时间不能为空"
,
trigger
:
"blur"
}
],
},
// 附件
schoolAccessoryList
:
[],
...
...
@@ -145,8 +150,7 @@ export default {
lookTable
:
[],
tableData
:
[],
options
:
[
// { value: '1', label: '启用' },
// { value: '2', label: '禁用' },
],
form
:
{
name
:
""
,
...
...
@@ -213,47 +217,48 @@ export default {
},
/** 提交按钮 */
submitForm
:
function
()
{
this
.
$refs
[
"form"
].
validate
(
valid
=>
{
submitForm
:
function
()
{
this
.
$refs
[
"form"
].
validate
(
(
valid
)
=>
{
if
(
valid
)
{
if
(
this
.
form
.
id
!==
undefined
)
{
const
newObj
=
{};
newObj
.
id
=
this
.
form
.
id
;
newObj
.
name
=
this
.
form
.
name
;
newObj
.
publishTime
=
this
.
form
.
publishTime
;
//附件列表
newObj
.
schoolAccessoryList
=
this
.
schoolAccessoryList
.
map
(
item
=>
{
return
{
"accessoryUrl"
:
item
.
accessoryUrl
,
"accessoryName"
:
item
.
accessoryName
}
});
updateMaterial
(
newObj
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"修改成功"
);
this
.
open
=
false
;
this
.
getList
();
});
if
(
this
.
schoolAccessoryList
.
length
>
0
)
{
if
(
this
.
form
.
id
!==
undefined
)
{
const
newObj
=
{
id
:
this
.
form
.
id
,
name
:
this
.
form
.
name
,
publishTime
:
this
.
form
.
publishTime
,
schoolAccessoryList
:
this
.
schoolAccessoryList
.
map
(
item
=>
({
accessoryUrl
:
item
.
accessoryUrl
,
accessoryName
:
item
.
accessoryName
}))
};
updateMaterial
(
newObj
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"修改成功"
);
this
.
open
=
false
;
this
.
getList
();
});
}
else
{
const
newObj
=
{
name
:
this
.
form
.
name
,
publishTime
:
this
.
form
.
publishTime
,
schoolAccessoryList
:
this
.
schoolAccessoryList
.
map
(
item
=>
({
accessoryUrl
:
item
.
accessoryUrl
,
accessoryName
:
item
.
accessoryName
}))
};
addMaterial
(
newObj
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"新增成功"
);
this
.
open
=
false
;
this
.
getList
();
});
}
}
else
{
const
newObj
=
{};
newObj
.
name
=
this
.
form
.
name
;
newObj
.
publishTime
=
this
.
form
.
publishTime
;
//附件列表
newObj
.
schoolAccessoryList
=
this
.
schoolAccessoryList
.
map
(
item
=>
{
return
{
"accessoryUrl"
:
item
.
accessoryUrl
,
"accessoryName"
:
item
.
accessoryName
}
});
addMaterial
(
newObj
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"新增成功"
);
this
.
open
=
false
;
this
.
getList
();
});
this
.
$message
.
error
(
"请上传附件"
);
}
}
});
},
/** 删除按钮操作 */
handleDelete
(
row
)
{
const
ids
=
row
.
id
||
this
.
ids
;
...
...
ruoyi-ui/src/views/smartSchool/personWork/awArds/paperSituation/index.vue
View file @
b094023e
<
template
>
<div
class=
""
style=
"padding:15px 10px 0 10px"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
:inline=
"true"
style=
"padding:0 0 0 0"
size=
"small"
>
<el-form-item
prop=
"thesisName"
>
<el-input
v-model=
"queryParams.thesisName"
placeholder=
"
论文名称
"
clearable
/>
<el-form-item
prop=
"thesisName"
label=
"论文名称"
>
<el-input
v-model=
"queryParams.thesisName"
placeholder=
"
请输入
"
clearable
/>
</el-form-item>
<el-form-item
prop=
"level"
>
<el-select
v-model=
"queryParams.level"
placeholder=
"
级别
"
clearable
>
<el-form-item
prop=
"level"
label=
"级别"
>
<el-select
v-model=
"queryParams.level"
placeholder=
"
请选择
"
clearable
>
<el-option
v-for=
"dict in dict.type.level"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
<el-form-item
prop=
"grade"
>
<el-select
v-model=
"queryParams.grade"
placeholder=
"
等级
"
clearable
>
<el-form-item
prop=
"grade"
label=
"等级"
>
<el-select
v-model=
"queryParams.grade"
placeholder=
"
请选择
"
clearable
>
<el-option
v-for=
"dict in dict.type.
grade_type1"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
<el-form-item
prop=
"publishTime"
>
<el-date-picker
v-model=
"queryParams.publishTime"
type=
"date"
value-format=
"yyyy-MM-dd"
placeholder=
"
发表日期
"
<el-form-item
prop=
"publishTime"
label=
"发表日期"
>
<el-date-picker
v-model=
"queryParams.publishTime"
type=
"date"
value-format=
"yyyy-MM-dd"
placeholder=
"
请选择
"
clearable
>
</el-date-picker>
</el-form-item>
...
...
@@ -66,12 +66,12 @@
<el-row>
<el-col
:span=
"10"
>
<el-form-item
label=
"论文名称"
>
<el-form-item
label=
"论文名称"
prop=
"thesisName"
>
<el-input
v-model=
"form.thesisName"
:style=
"{ width: '100%' }"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"10"
>
<el-form-item
label=
"级别"
>
<el-form-item
label=
"级别"
prop=
"level"
>
<el-select
v-model=
"form.level"
:style=
"{ width: '100%' }"
>
<el-option
v-for=
"dict in dict.type.level"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
...
...
@@ -81,7 +81,7 @@
</el-row>
<el-row>
<el-col
:span=
"10"
>
<el-form-item
label=
"等级:"
>
<el-form-item
label=
"等级:"
prop=
"grade"
>
<el-select
v-model=
"form.grade"
:style=
"{ width: '100%' }"
>
<el-option
v-for=
"dict in dict.type.grade_type1"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
...
...
@@ -91,14 +91,14 @@
<el-col
:span=
"10"
>
<el-form-item
label=
"发表时间:"
prop=
"publishTime"
>
<el-date-picker
v-model=
"form.publishTime"
type=
"date"
placeholder=
"选择发表时间"
:style=
"{ width: '100%' }"
>
:style=
"{ width: '100%' }"
value-format=
"yyyy-MM-dd"
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"16"
>
<el-form-item
label=
"附件 :"
prop=
"url
"
>
<el-form-item
label=
"附件 :"
:rules=
"[{ required: true, message: '请上传附件' }]
"
>
<FilepersonUploadNew
@
input=
"getFileList"
:value=
"fileList"
:style=
"{ width: '100%' }"
>
</FilepersonUploadNew>
</el-form-item>
...
...
@@ -149,10 +149,9 @@
</el-col>
<el-col
:span=
"10"
>
<el-form-item
label=
"附件 :"
>
<li
class=
"el-upload-list__item ele-upload-list__item-content"
v-for=
"file in fileList"
:key=
"file.id"
>
<el-link
:href=
"`${file.accessoryUrl}`"
:underline=
"false"
target=
"_blank"
>
<el-link
:href=
"`${
baseUrl}${
file.accessoryUrl}`"
:underline=
"false"
target=
"_blank"
>
<span
class=
"el-icon-document"
>
{{ file.accessoryName }}
</span>
</el-link>
</li>
...
...
@@ -185,13 +184,13 @@ import {
import
FilepersonUploadNew
from
"@/components/FilepersonUploadNew"
export
default
{
dicts
:
[
'level'
,
'grade_type1'
],
name
:
'paperSituation'
,
components
:
{
FilepersonUploadNew
,
},
data
()
{
return
{
baseUrl
:
process
.
env
.
VUE_APP_BASE_API
,
// 上传文件
fileList
:
[],
queryParams
:
{
...
...
@@ -204,7 +203,19 @@ export default {
},
title
:
""
,
rules
:
{
thesisName
:
[
{
required
:
true
,
message
:
"论文名称不能为空"
,
trigger
:
"blur"
}
],
level
:
[
{
required
:
true
,
message
:
"级别不能为空"
,
trigger
:
"blur"
}
],
grade
:
[
{
required
:
true
,
message
:
"等级不能为空"
,
trigger
:
"blur"
}
],
publishTime
:
[
{
required
:
true
,
message
:
"发表时间不能为空"
,
trigger
:
"blur"
}
],
},
// 查看表格
...
...
@@ -280,46 +291,46 @@ export default {
},
/** 提交按钮 */
submitForm
:
function
()
{
this
.
$refs
[
"form"
].
validate
(
valid
=>
{
this
.
$refs
[
"form"
].
validate
(
(
valid
)
=>
{
if
(
valid
)
{
if
(
this
.
form
.
id
!==
undefined
)
{
const
newObj
=
{};
newObj
.
id
=
this
.
form
.
id
;
newObj
.
thesisName
=
this
.
form
.
thesisName
;
newObj
.
level
=
this
.
form
.
level
;
newObj
.
grade
=
this
.
form
.
grade
;
newObj
.
publishTime
=
this
.
form
.
publishTime
;
//附件列表
newObj
.
schoolAccessoryList
=
this
.
schoolAccessoryList
.
map
(
item
=>
{
return
{
"accessoryUrl"
:
item
.
accessoryUrl
,
"accessoryName"
:
item
.
accessoryName
}
});
updateThesis
(
newObj
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"修改成功"
);
this
.
open
=
false
;
this
.
getList
();
});
if
(
this
.
schoolAccessoryList
.
length
>
0
)
{
if
(
this
.
form
.
id
!==
undefined
)
{
const
newObj
=
{
id
:
this
.
form
.
id
,
thesisName
:
this
.
form
.
thesisName
,
level
:
this
.
form
.
level
,
grade
:
this
.
form
.
grade
,
publishTime
:
this
.
form
.
publishTime
,
schoolAccessoryList
:
this
.
schoolAccessoryList
.
map
(
item
=>
({
accessoryUrl
:
item
.
accessoryUrl
,
accessoryName
:
item
.
accessoryName
}))
};
updateThesis
(
newObj
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"修改成功"
);
this
.
open
=
false
;
this
.
getList
();
});
}
else
{
const
newObj
=
{
thesisName
:
this
.
form
.
thesisName
,
level
:
this
.
form
.
level
,
grade
:
this
.
form
.
grade
,
publishTime
:
this
.
form
.
publishTime
,
schoolAccessoryList
:
this
.
schoolAccessoryList
.
map
(
item
=>
({
accessoryUrl
:
item
.
accessoryUrl
,
accessoryName
:
item
.
accessoryName
}))
};
addThesis
(
newObj
).
then
(
response
=>
{
console
.
log
(
'this.form'
,
this
.
form
);
this
.
$modal
.
msgSuccess
(
"新增成功"
);
this
.
open
=
false
;
this
.
getList
();
});
}
}
else
{
const
newObj
=
{};
newObj
.
thesisName
=
this
.
form
.
thesisName
;
newObj
.
level
=
this
.
form
.
level
;
newObj
.
grade
=
this
.
form
.
grade
;
newObj
.
publishTime
=
this
.
form
.
publishTime
;
//附件列表
newObj
.
schoolAccessoryList
=
this
.
schoolAccessoryList
.
map
(
item
=>
{
return
{
"accessoryUrl"
:
item
.
accessoryUrl
,
"accessoryName"
:
item
.
accessoryName
}
});
addThesis
(
newObj
).
then
(
response
=>
{
console
.
log
(
'this.form'
,
this
.
form
);
this
.
$modal
.
msgSuccess
(
"新增成功"
);
this
.
open
=
false
;
this
.
getList
();
});
this
.
$message
.
error
(
"请上传附件"
);
}
}
});
...
...
@@ -365,6 +376,7 @@ export default {
};
this
.
fileList
=
[];
this
.
schoolAccessoryList
=
[];
this
.
resetForm
(
"form"
);
},
cancle
()
{
...
...
ruoyi-ui/src/views/smartSchool/personWork/awArds/traiNing/index.vue
View file @
b094023e
<
template
>
<div
class=
""
style=
"padding:15px 10px 0 10px"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
:inline=
"true"
style=
"padding:0 0 0 0"
size=
"small"
>
<el-form-item
prop=
"trainingTime"
>
<el-form-item
prop=
"trainingTime"
label=
"培训时间"
>
<el-date-picker
v-model=
"queryParams.trainingTime"
type=
"date"
placeholder=
"选择日期"
value-format=
"yyyy-MM-dd"
format=
"yyyy-MM-dd"
clearable
>
</el-date-picker>
</el-form-item>
<el-form-item
prop=
"trainingName"
>
<el-form-item
prop=
"trainingName"
label=
"培训名称"
>
<el-input
v-model=
"queryParams.trainingName"
placeholder=
"培训名称"
clearable
/>
</el-form-item>
<el-form-item
prop=
"isQualified"
>
<el-form-item
prop=
"isQualified"
label=
"是否合格"
>
<el-select
v-model=
"queryParams.isQualified"
placeholder=
"是否合格"
>
<el-option
v-for=
"dict in dict.type.
is_qualified"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
clearable
/>
...
...
@@ -57,17 +57,17 @@
<el-col
:span=
"8"
>
<el-form-item
label=
"培训时间:"
prop=
"trainingTime"
>
<el-date-picker
v-model=
"form.trainingTime"
type=
"date"
placeholder=
"选择发表时间"
:style=
"{ width: '100%' }"
>
:style=
"{ width: '100%' }"
value-format=
"yyyy-MM-dd"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"培训名称"
>
<el-form-item
label=
"培训名称"
prop=
"trainingName"
>
<el-input
v-model=
"form.trainingName"
:style=
"{ width: '100%' }"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"是否合格"
>
<el-form-item
label=
"是否合格"
prop=
"isQualified"
>
<el-select
v-model=
"form.isQualified"
placeholder=
"是否合格"
:style=
"{ width: '100%' }"
>
<el-option
label=
"是"
value=
"1"
></el-option>
<el-option
label=
"否"
value=
"0"
></el-option>
...
...
@@ -78,7 +78,7 @@
<el-row>
<el-col
:span=
"16"
>
<el-form-item
label=
"附件 :"
prop=
"url
"
>
<el-form-item
label=
"附件 :"
:rules=
"[{ required: true, message: '请上传附件' }]
"
>
<FilepersonUploadNew
@
input=
"getFileList"
:value=
"fileList"
></FilepersonUploadNew>
</el-form-item>
</el-col>
...
...
@@ -122,7 +122,7 @@
<el-form-item
label=
"附件 :"
>
<li
class=
"el-upload-list__item ele-upload-list__item-content"
v-for=
"file in fileList"
:key=
"file.id"
>
<el-link
:href=
"`${file.accessoryUrl}`"
:underline=
"false"
target=
"_blank"
>
<el-link
:href=
"`${
baseUrl}${
file.accessoryUrl}`"
:underline=
"false"
target=
"_blank"
>
<span
class=
"el-icon-document"
>
{{ file.accessoryName }}
</span>
</el-link>
</li>
...
...
@@ -160,6 +160,7 @@ export default {
},
data
()
{
return
{
baseUrl
:
process
.
env
.
VUE_APP_BASE_API
,
fileList
:
[],
queryParams
:
{
trainingTime
:
""
,
...
...
@@ -173,7 +174,16 @@ export default {
schoolAccessoryList
:
[],
title
:
""
,
rules
:
{
trainingTime
:
[
{
required
:
true
,
message
:
"培训时间不能为空"
,
trigger
:
"blur"
}
],
trainingName
:
[
{
required
:
true
,
message
:
"培训名称不能为空"
,
trigger
:
"blur"
}
],
isQualified
:
[
{
required
:
true
,
message
:
"是否合格不能为空"
,
trigger
:
"blur"
}
],
},
// 查看表格
lookTable
:
[],
...
...
@@ -247,43 +257,43 @@ export default {
},
/** 提交按钮 */
submitForm
:
function
()
{
this
.
$refs
[
"form"
].
validate
(
valid
=>
{
this
.
$refs
[
"form"
].
validate
(
(
valid
)
=>
{
if
(
valid
)
{
if
(
this
.
form
.
id
!==
undefined
)
{
const
newObj
=
{};
newObj
.
id
=
this
.
form
.
id
;
newObj
.
trainingTime
=
this
.
form
.
trainingTime
;
newObj
.
trainingName
=
this
.
form
.
trainingName
;
newObj
.
isQualified
=
this
.
form
.
isQualified
;
//附件列表
newObj
.
schoolAccessoryList
=
this
.
schoolAccessoryList
.
map
(
item
=>
{
return
{
"accessoryUrl"
:
item
.
accessoryUrl
,
"accessoryName"
:
item
.
accessoryName
}
});
updateTraining
(
newObj
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"修改成功"
);
this
.
open
=
false
;
this
.
getList
();
});
if
(
this
.
schoolAccessoryList
.
length
>
0
)
{
if
(
this
.
form
.
id
!==
undefined
)
{
const
newObj
=
{
id
:
this
.
form
.
id
,
trainingTime
:
this
.
form
.
trainingTime
,
trainingName
:
this
.
form
.
trainingName
,
isQualified
:
this
.
form
.
isQualified
,
schoolAccessoryList
:
this
.
schoolAccessoryList
.
map
(
item
=>
({
accessoryUrl
:
item
.
accessoryUrl
,
accessoryName
:
item
.
accessoryName
}))
};
updateTraining
(
newObj
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"修改成功"
);
this
.
open
=
false
;
this
.
getList
();
});
}
else
{
const
newObj
=
{
trainingTime
:
this
.
form
.
trainingTime
,
trainingName
:
this
.
form
.
trainingName
,
isQualified
:
this
.
form
.
isQualified
,
schoolAccessoryList
:
this
.
schoolAccessoryList
.
map
(
item
=>
({
accessoryUrl
:
item
.
accessoryUrl
,
accessoryName
:
item
.
accessoryName
}))
};
addTraining
(
newObj
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"新增成功"
);
this
.
open
=
false
;
this
.
getList
();
});
}
}
else
{
const
newObj
=
{};
newObj
.
trainingTime
=
this
.
form
.
trainingTime
;
newObj
.
trainingName
=
this
.
form
.
trainingName
;
newObj
.
isQualified
=
this
.
form
.
isQualified
;
//附件列表
newObj
.
schoolAccessoryList
=
this
.
schoolAccessoryList
.
map
(
item
=>
{
return
{
"accessoryUrl"
:
item
.
accessoryUrl
,
"accessoryName"
:
item
.
accessoryName
}
});
addTraining
(
newObj
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"新增成功"
);
this
.
open
=
false
;
this
.
getList
();
});
this
.
$message
.
error
(
"请上传附件"
);
}
}
});
...
...
ruoyi-ui/src/views/smartSchool/personWork/clockRecord/index.vue
View file @
b094023e
...
...
@@ -2,88 +2,68 @@
<div
class=
"app-container"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
label-width=
"86px"
>
<el-form-item
label=
"日期"
prop=
"dateRange"
>
<el-date-picker
v-model=
"dateRange"
value-format=
"yyyy-MM-dd"
type=
"datetimerange"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
>
<el-date-picker
v-model=
"dateRange"
value-format=
"yyyy-MM-dd"
type=
"datetimerange"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
>
</el-date-picker>
</el-form-item>
<el-form-item
class=
"ml20"
>
<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=
"warning"
icon=
"el-icon-upload"
size=
"mini"
@
click=
"importRecord"
>
导入
</el-button>
-->
<el-button
style=
"margin-left: 20px"
type=
"success"
icon=
"el-icon-download"
size=
"mini"
@
click=
"handleExport"
>
导出
<el-button
style=
"margin-left: 20px"
type=
"success"
icon=
"el-icon-download"
size=
"mini"
@
click=
"handleExport"
>
导出
</el-button>
</el-form-item>
</el-form>
<el-table
v-loading=
"loading"
:data=
"clockRecordList"
stripe
>
<el-table-column
label=
"序号"
type=
"index"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"设备工号"
align=
"center"
prop=
"deviceNum"
/>
<el-table-column
label=
"员工工号"
align=
"center"
prop=
"teacherCode"
/>
<el-table-column
label=
"姓名"
align=
"center"
prop=
"userName"
/>
<el-table-column
label=
"部门"
align=
"center"
prop=
"orgname"
/>
<el-table-column
label=
"考勤日期"
align=
"center"
prop=
"clockDate"
/>
<el-table-column
label=
"打卡时间"
align=
"center"
min-width=
"200px"
prop=
"times"
/>
<el-table-column
label=
"备注"
align=
"center"
min-width=
"200px"
prop=
"remark"
/>
<el-table-column
label=
"序号"
type=
"index"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"设备工号"
align=
"center"
prop=
"deviceNum"
/>
<el-table-column
label=
"员工工号"
align=
"center"
prop=
"teacherCode"
/>
<el-table-column
label=
"姓名"
align=
"center"
prop=
"userName"
/>
<el-table-column
label=
"部门"
align=
"center"
prop=
"orgname"
/>
<el-table-column
label=
"考勤日期"
align=
"center"
prop=
"clockDate"
/>
<el-table-column
label=
"打卡时间"
align=
"center"
min-width=
"200px"
prop=
"times"
/>
<el-table-column
label=
"备注"
align=
"center"
min-width=
"200px"
prop=
"remark"
/>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
<template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleEdit(scope.row)"
>
编辑备注
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleEdit(scope.row)"
>
编辑备注
</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"
/> -->
<pagination
v-show=
"total > 0"
:total=
"total"
:page
.
sync=
"queryParams.pageNum"
:limit
.
sync=
"queryParams.pageSize"
@
pagination=
"getList"
/>
<el-dialog
title=
"编写备注"
:visible
.
sync=
"dialogEditNote"
width=
"1000px"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
label-width=
"110px"
style=
"width: 100%; margin: auto"
>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"设备工号"
prop=
"deviceNum"
>
<el-input
:value=
"form.deviceNum"
placeholder=
"请输入设备工号"
/>
<el-input
:value=
"form.deviceNum"
placeholder=
"请输入设备工号"
/>
</el-form-item>
<el-form-item
label=
"姓名"
prop=
"userName"
>
<el-input
:value=
"form.userName"
placeholder=
"请输入姓名"
/>
<el-input
:value=
"form.userName"
placeholder=
"请输入姓名"
/>
</el-form-item>
<el-form-item
label=
"考勤日期"
prop=
"clockDate"
>
<el-date-picker
v-model=
"form.clockDate"
type=
"date"
style=
"width: 100%"
placeholder=
"请选择考勤日期"
>
<el-date-picker
v-model=
"form.clockDate"
type=
"date"
style=
"width: 100%"
placeholder=
"请选择考勤日期"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"员工工号"
prop=
"teacherCode"
>
<el-input
:value=
"form.teacherCode"
placeholder=
"请输入员工工号"
/>
<el-input
:value=
"form.teacherCode"
placeholder=
"请输入员工工号"
/>
</el-form-item>
<el-form-item
label=
"部门"
prop=
"orgname"
>
<el-input
:value=
"form.orgname"
placeholder=
"请输入部门"
/>
<el-input
:value=
"form.orgname"
placeholder=
"请输入部门"
/>
</el-form-item>
<el-form-item
label=
"打卡时间"
prop=
"times"
>
<el-input
:value=
"form.times"
placeholder=
"请输入打卡时间"
/>
<el-input
:value=
"form.times"
placeholder=
"请输入打卡时间"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-form-item
label=
"备注"
prop=
"remark"
>
<el-input
v-model=
"form.remark"
type=
"textarea"
show-overflow-tooltip
placeholder=
"请输入备注"
/>
<el-input
v-model=
"form.remark"
type=
"textarea"
show-overflow-tooltip
placeholder=
"请输入备注"
/>
</el-form-item>
</el-row>
</el-form>
...
...
@@ -98,7 +78,7 @@
</template>
<
script
>
import
{
personalList
,
submitRemark
}
from
"@/api/smartSchool/personWork/clockRecord.js"
import
{
personalList
,
submitRemark
}
from
"@/api/smartSchool/personWork/clockRecord.js"
export
default
{
name
:
' PersonWorkClockRecord'
,
...
...
@@ -109,7 +89,10 @@ export default {
// 日期范围
dateRange
:
[],
// 模糊搜索
queryParams
:
{},
queryParams
:
{
pageNum
:
1
,
pageSize
:
10
,
},
// 加载遮罩
loading
:
true
,
// 记录条数
...
...
@@ -171,5 +154,4 @@ export default {
},
};
</
script
>
<
style
scoped
>
</
style
>
<
style
scoped
></
style
>
ruoyi-ui/src/views/smartSchool/schoolManage/schoolNotice/infoPush/components/receiveList.vue
View file @
b094023e
...
...
@@ -5,16 +5,13 @@
<el-row>
<el-col
:span=
"8"
:offset=
"2"
>
<el-form-item
label=
"标题"
prop=
"title"
>
<el-input
v-model=
"form.title"
disabled
/>
<el-input
v-model=
"form.title"
disabled
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
:offset=
"2"
>
<el-form-item
label=
"类型"
prop=
"type"
>
<el-select
v-model=
"form.type"
disabled
style=
"width: 100%"
>
<el-option
v-for=
"dict in dict.type.sys_notice_type"
:key=
"dict.value"
:label=
"dict.label"
<el-option
v-for=
"dict in dict.type.sys_notice_type"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
...
...
@@ -35,57 +32,29 @@
<!--
</el-button>
-->
<!--
</el-col>
-->
<el-col
:span=
"1.5"
>
<el-button
type=
"danger"
plain
size=
"mini"
icon=
"el-icon-delete"
:disabled=
"!isMultiple"
@
click=
"handleDelete"
>
删除
<el-button
type=
"danger"
plain
size=
"mini"
icon=
"el-icon-delete"
:disabled=
"!isMultiple"
@
click=
"handleDelete"
>
删除
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"info"
plain
size=
"mini"
icon=
"el-icon-close"
@
click=
"handleClose"
>
关闭
<el-button
type=
"info"
plain
size=
"mini"
icon=
"el-icon-close"
@
click=
"handleClose"
>
关闭
</el-button>
</el-col>
</el-row>
<el-table
ref=
"receiveList"
stripe
style=
"width: 100%;"
:data=
"receiveList"
@
selection-change=
"handleSelectChange"
>
<el-table
ref=
"receiveList"
stripe
style=
"width: 100%;"
:data=
"receiveList"
@
selection-change=
"handleSelectChange"
>
<el-table-column
type=
"selection"
align=
"center"
width=
"55"
></el-table-column>
<el-table-column
label=
"姓名"
prop=
"userName"
align=
"center"
></el-table-column>
<el-table-column
label=
"电话"
prop=
"phonenumber"
align=
"center"
></el-table-column>
<el-table-column
label=
"是否阅读"
prop=
"status"
align=
"center"
>
<template
slot-scope=
"scope"
>
<el-tag
type=
"success"
v-if=
"scope.row.status
==
1"
>
已阅读
</el-tag>
<el-tag
type=
"success"
v-if=
"scope.row.status
==
1"
>
已阅读
</el-tag>
<el-tag
type=
"warning"
v-else
>
未阅读
</el-tag>
</
template
>
</el-table-column>
</el-table>
<ExPagination
v-show=
"total > 0"
:total=
"total"
:page
.
sync=
"queryForm.pageNum"
:limit
.
sync=
"queryForm.pageSize"
@
pagination=
"getList"
></ExPagination>
<ExPagination
v-show=
"total > 0"
:total=
"total"
:page
.
sync=
"queryForm.pageNum"
:limit
.
sync=
"queryForm.pageSize"
@
pagination=
"getList"
></ExPagination>
<el-dialog
:visible
.
sync=
"open"
title=
"选择推送人"
width=
"960px"
>
<el-dialog
:visible
.
sync=
"open"
title=
"选择推送人"
width=
"960px"
>
<el-form
:model=
"pushForm"
inline
size=
"small"
>
<el-form-item
label=
"姓名"
porp=
"userName"
>
<el-input
v-model=
"pushForm.userName"
></el-input>
...
...
@@ -94,44 +63,22 @@
<el-input
v-model=
"pushForm.phonenumber"
></el-input>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
size=
"small"
icon=
"el-icon-search"
@
click=
"handlePushQuery"
>
搜索
<el-button
type=
"primary"
size=
"small"
icon=
"el-icon-search"
@
click=
"handlePushQuery"
>
搜索
</el-button>
<el-button
plain
size=
"small"
icon=
"el-icon-refresh"
@
click=
"resetPushQuery"
>
重置
<el-button
plain
size=
"small"
icon=
"el-icon-refresh"
@
click=
"resetPushQuery"
>
重置
</el-button>
</el-form-item>
</el-form>
<el-table
ref=
"assignorList"
stripe
width=
"100%"
v-loading=
"loading"
:data=
"pushList"
@
selection-change=
"handleSelectChange"
@
row-click=
"handleRowClick"
>
<el-table
ref=
"assignorList"
stripe
width=
"100%"
v-loading=
"loading"
:data=
"pushList"
@
selection-change=
"handleSelectChange"
@
row-click=
"handleRowClick"
>
<el-table-column
type=
"selection"
align=
"center"
></el-table-column>
<el-table-column
type=
"index"
label=
"序号"
align=
"center"
></el-table-column>
<el-table-column
label=
"用户姓名"
prop=
"userName"
align=
"center"
></el-table-column>
<el-table-column
label=
"手机号"
prop=
"phonenumber"
align=
"center"
></el-table-column>
</el-table>
<ExPagination
v-show=
"total > 0"
:total=
"total"
:page
.
sync=
"queryForm.pageNum"
:limit
.
sync=
"queryForm.pageSize"
@
paginaiton=
"getList"
></ExPagination>
<ExPagination
v-show=
"total > 0"
:total=
"total"
:page
.
sync=
"queryForm.pageNum"
:limit
.
sync=
"queryForm.pageSize"
@
paginaiton=
"getList"
></ExPagination>
<div
slot=
"footer"
>
<el-button
:disabled=
"!isSimple"
type=
"primary"
size=
"small"
@
click=
"handleSelect"
>
确 认
</el-button>
...
...
@@ -143,8 +90,10 @@
</template>
<
script
>
import
{
deleteReceive
,
getList
}
from
"@/api/smartSchool/informationPush/schoolDetail"
;
import
{
deleteReceive
,
getList
}
from
"@/api/smartSchool/informationPush/schoolDetail"
;
import
{
getUser
,
// 根据分类id获取人员信息
}
from
"@/api/smartSchool/informationPush/personnelGrouping"
;
export
default
{
name
:
"SchoolDetail"
,
dicts
:
[
'sys_user_sex'
,
'sys_notice_type'
],
...
...
@@ -183,11 +132,22 @@ export default {
methods
:
{
/** 初始化参数数据、列表数据查询 */
init
()
{
const
{
title
,
type
}
=
this
.
$route
.
query
;
const
{
title
,
type
}
=
this
.
$route
.
query
;
this
.
pushId
=
this
.
$route
.
query
&&
this
.
$route
.
query
.
id
;
this
.
form
=
{
title
,
type
};
this
.
form
=
{
title
,
type
};
this
.
getList
();
},
//根据组id查询组成员
getList
()
{
this
.
loading
=
true
;
this
.
notificationId
=
this
.
$route
.
query
.
id
;
console
.
log
(
'this..notificationId'
,
this
.
notificationId
);
getUser
(
this
.
notificationId
).
then
(
response
=>
{
this
.
userList
=
response
.
rows
;
console
.
log
(
'this.userList'
,
this
.
userList
);
this
.
loading
=
false
;
});
},
/** 获取列表数据 */
getList
()
{
this
.
loading
=
true
;
...
...
@@ -272,6 +232,4 @@ export default {
}
</
script
>
<
style
scoped
>
</
style
>
<
style
scoped
></
style
>
ruoyi-ui/src/views/smartSchool/schoolManage/schoolNotice/infoPush/school/index.vue
View file @
b094023e
...
...
@@ -9,22 +9,13 @@
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
<el-form-item
label=
"标题"
prop=
"title"
>
<el-input
size=
"small"
v-model=
"queryParams.title"
placeholder=
"请输入标题"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
<el-input
size=
"small"
v-model=
"queryParams.title"
placeholder=
"请输入标题"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"接收人"
prop=
"receivePacket"
>
<el-select
v-model=
"queryParams.receivePacket"
size=
"small"
@
keyup
.
enter
.
native=
"handleQuery"
placeholder=
"请选择接收人"
>
<el-option
v-for=
"item in roleList"
:key=
"item.roleId"
:label=
"item.roleName"
:value=
"item.roleId"
>
<el-form-item
label=
"接收人"
prop=
"groupId"
>
<el-select
v-model=
"queryParams.groupId"
size=
"small"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
placeholder=
"请选择接收人"
>
<el-option
v-for=
"item in roleList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
>
</el-option>
</el-select>
</el-form-item>
...
...
@@ -36,151 +27,88 @@
<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:push:add']"
>
新增
<el-button
type=
"primary"
plain
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAdd"
v-hasPermi=
"['system:push:add']"
>
新增
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"info"
plain
icon=
"el-icon-search"
size=
"mini"
:disabled=
"single"
@
click=
"viewDetailButton"
v-hasPermi=
"['system:push:export']"
>
详情
<el-button
type=
"info"
plain
icon=
"el-icon-search"
size=
"mini"
:disabled=
"single"
@
click=
"viewDetailButton"
v-hasPermi=
"['system:push:export']"
>
详情
</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:push:edit']"
>
修改
<el-button
type=
"success"
plain
icon=
"el-icon-edit"
size=
"mini"
:disabled=
"single"
@
click=
"handleUpdate"
v-hasPermi=
"['system:push: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:push:remove']"
>
删除
<el-button
type=
"danger"
plain
icon=
"el-icon-delete"
size=
"mini"
:disabled=
"multiple"
@
click=
"handleDelete"
v-hasPermi=
"['system:push:remove']"
>
删除
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"warning"
plain
icon=
"el-icon-download"
size=
"mini"
@
click=
"handleExport"
v-hasPermi=
"['system:push:export']"
>
导出
<el-button
type=
"warning"
plain
icon=
"el-icon-download"
size=
"mini"
@
click=
"handleExport"
v-hasPermi=
"['system:push:export']"
>
导出
</el-button>
</el-col>
<right-toolbar
:showSearch
.
sync=
"showSearch"
@
queryTable=
"getList"
:columns=
"columns"
></right-toolbar>
</el-row>
<el-table
ref=
"table"
v-loading=
"loading"
:data=
"pushList"
@
selection-change=
"handleSelectionChange"
@
row-click=
"rowClick"
>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"标题"
align=
"center"
v-if=
"columns[0].visible"
prop=
"title"
show-overflow-tooltip
/>
@
row-click=
"rowClick"
>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"标题"
align=
"center"
v-if=
"columns[0].visible"
prop=
"title"
show-overflow-tooltip
/>
<el-table-column
label=
"类型"
align=
"center"
prop=
"messageType"
>
<template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.sys_notice_type"
:value=
"scope.row.messageType"
></dict-tag>
</
template
>
</el-table-column>
<el-table-column
label=
"创建时间"
align=
"center"
v-if=
"columns[1].visible"
prop=
"createTime"
width=
"200"
show-overflow-tooltip
/>
show-overflow-tooltip
/>
<el-table-column
label=
"创建人"
align=
"center"
v-if=
"columns[2].visible"
prop=
"createBy"
width=
"200"
show-overflow-tooltip
/>
<el-table-column
label=
"接收人"
align=
"center"
v-if=
"columns[3].visible"
prop=
"
receivePacket
"
width=
"200"
show-overflow-tooltip
>
<
template
slot-scope=
"scope"
>
show-overflow-tooltip
/>
<el-table-column
label=
"接收人"
align=
"center"
v-if=
"columns[3].visible"
prop=
"
groupId
"
width=
"200"
show-overflow-tooltip
>
<
!-- <
template slot-scope="scope">
<span>{{ resolveRole(scope.row.receivePacket) }}</span>
</
template
>
</template>
-->
</el-table-column>
<el-table-column
label=
"状态"
align=
"center"
v-if=
"columns[4].visible"
prop=
"state"
width=
"200"
>
<
template
slot-scope=
"scope"
>
<el-switch
v-model=
"scope.row.state"
active-value=
"0"
inactive-value=
"1"
@
change=
"handleChangeState(scope.row)"
></el-switch>
<el-switch
v-model=
"scope.row.state"
active-value=
"0"
inactive-value=
"1"
@
change=
"handleChangeState(scope.row)"
></el-switch>
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
align=
"center"
v-if=
"columns[5].visible"
width=
"200"
class-name=
"small-padding fixed-width"
>
class-name=
"small-padding fixed-width"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-user"
@
click=
"getReceiveList(scope.row)"
v-hasPermi=
"['system:push:edit']"
>
接收人列表
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-user"
@
click=
"getReceiveList(scope.row)"
v-hasPermi=
"['system:push:edit']"
>
接收人列表
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleUpdate(scope.row)"
v-hasPermi=
"['system:push:edit']"
>
修改
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleUpdate(scope.row)"
v-hasPermi=
"['system:push:edit']"
>
修改
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"handleDelete(scope.row)"
v-hasPermi=
"['system:push:remove']"
>
删除
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"handleDelete(scope.row)"
v-hasPermi=
"['system:push: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"
/>
<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=
"960px"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"80px"
>
<el-row>
<el-col
:span=
"12"
>
<el-form-item
label=
"标题"
prop=
"title"
>
<el-input
size=
"small"
v-model=
"form.title"
placeholder=
"请输入标题"
/>
<el-input
size=
"small"
v-model=
"form.title"
placeholder=
"请输入标题"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"接收人"
prop=
"receivePacket"
>
<el-select
size=
"small"
v-model=
"form.receivePacket"
placeholder=
"请选择角色"
style=
"width: 100%;"
>
<el-option
v-for=
"item in roleList"
:key=
"item.roleId"
:label=
"item.roleName"
:value=
"item.roleId"
></el-option>
<el-form-item
label=
"接收人"
prop=
"groupId"
>
<el-select
size=
"small"
v-model=
"form.groupId"
placeholder=
"请选择角色"
style=
"width: 100%;"
>
<el-option
v-for=
"item in roleList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
</el-col>
...
...
@@ -189,18 +117,14 @@
<el-col
:span=
"12"
>
<el-form-item
label=
"类型"
prop=
"messageType"
>
<el-select
v-model=
"form.messageType"
style=
"width: 100%;"
>
<el-option
v-for=
"dict in dict.type.sys_notice_type"
:key=
"dict.value"
:value=
"dict.value"
:label=
"dict.label"
></el-option>
<el-option
v-for=
"dict in dict.type.sys_notice_type"
:key=
"dict.value"
:value=
"dict.value"
:label=
"dict.label"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col>
<el-form-item
label=
"内容"
prop=
"content"
>
<editor
v-model=
"form.content"
:min-height=
"192"
/>
<editor
v-model=
"form.content"
:min-height=
"192"
/>
</el-form-item>
</el-col>
</el-row>
...
...
@@ -217,7 +141,7 @@
<h1
style=
"display: inline-block"
>
{{ form.title }}
</h1>
</div>
<span
class=
"info-container"
:disabled=
"true"
v-html=
"form.content"
></span>
<br
/><br
/>
<br
/><br
/>
<div
style=
"float: right;"
>
<el-descriptions
column=
"3"
>
<!-- <el-descriptions-item label="标题">{{ form.title }}</el-descriptions-item>-->
...
...
@@ -230,15 +154,11 @@
</el-card>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"viewDetail
=
false"
>
关闭
</el-button>
<el-button
type=
"primary"
@
click=
"viewDetail
=
false"
>
关闭
</el-button>
</div>
</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>
</div>
</template>
...
...
@@ -251,10 +171,13 @@ import {
deleteInfo
,
changeState
}
from
"@/api/smartSchool/informationPush/school"
;
import
{
State
}
from
"@/enums/infoPush"
;
import
{
getUser
}
from
"@/api/system/user"
;
import
{
ExportType
}
from
"@/enums/common"
;
import
{
State
}
from
"@/enums/infoPush"
;
// import { getUser } from "@/api/system/user";
import
{
ExportType
}
from
"@/enums/common"
;
import
{
getUserList
,
//获取分组集合
}
from
"@/api/smartSchool/informationPush/personnelGrouping"
;
export
default
{
name
:
"SchoolMessage"
,
dicts
:
[
'status'
,
'inform_push_state'
,
'receive_packet'
,
'sys_notice_type'
],
...
...
@@ -288,7 +211,7 @@ export default {
pageNum
:
1
,
pageSize
:
10
,
title
:
null
,
receivePacket
:
null
,
groupId
:
null
,
state
:
State
.
NORMAL
,
// content: null,
// messageType: null,
...
...
@@ -298,30 +221,32 @@ export default {
title
:
'选择导出类别'
,
open
:
false
},
//分组
idList
:
[],
// 表单参数
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
:
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
},
],
// 表单校验
rules
:
{
title
:
[
{
required
:
true
,
message
:
"请输入标题"
,
trigger
:
"blur"
}
{
required
:
true
,
message
:
"请输入标题"
,
trigger
:
"blur"
}
],
receivePacket
:
[
{
required
:
true
,
message
:
"接收人不能为空"
,
trigger
:
"blur"
}
{
required
:
true
,
message
:
"接收人不能为空"
,
trigger
:
"blur"
}
],
messageType
:
[
{
required
:
true
,
message
:
"类型不能为空"
,
trigger
:
"blur"
}
{
required
:
true
,
message
:
"类型不能为空"
,
trigger
:
"blur"
}
],
content
:
[
{
required
:
true
,
message
:
"内容不能为空"
,
trigger
:
"blur"
}
{
required
:
true
,
message
:
"内容不能为空"
,
trigger
:
"blur"
}
],
},
// 当前状态
...
...
@@ -340,9 +265,23 @@ export default {
},
created
()
{
this
.
getList
();
this
.
getRoleList
();
// this.getRoleList();
this
.
groupList
();
},
methods
:
{
//接收人分组
groupList
()
{
getUserList
().
then
(
response
=>
{
this
.
roleList
=
response
.
rows
;
console
.
log
(
'this.roleList'
,
this
.
roleList
);
this
.
total
=
response
.
total
;
this
.
loading
=
false
;
});
},
/** 查询学校消息推送列表 */
getList
()
{
this
.
loading
=
true
;
...
...
@@ -404,8 +343,8 @@ export default {
path
:
'/schoolManage/infoPush/receiveList'
,
query
:
{
id
:
row
.
id
,
title
:
row
.
title
,
type
:
row
.
messageType
,
//
title: row.title,
//
type: row.messageType,
}
})
},
...
...
@@ -419,10 +358,14 @@ export default {
this
.
title
=
"修改学校消息推送"
;
getInfoOne
(
id
).
then
(
response
=>
{
this
.
form
=
response
.
data
;
console
.
log
(
'this.form'
,
this
.
form
);
});
},
/** 提交按钮 */
submitForm
()
{
const
groupId
=
this
.
form
.
groupId
this
.
form
.
group
=
groupId
==
''
?
''
:
this
.
roleList
.
find
(
item
=>
item
.
id
==
groupId
).
name
console
.
log
(
this
.
form
.
borrowBy
);
this
.
throttle
(()
=>
{
this
.
$refs
[
"form"
].
validate
(
valid
=>
{
if
(
valid
)
{
...
...
@@ -519,7 +462,7 @@ export default {
},
// 切换状态
handleTabChange
({
name
})
{
handleTabChange
({
name
})
{
if
(
name
==
State
.
NORMAL
)
{
this
.
pageState
=
0
}
else
{
...
...
@@ -530,18 +473,18 @@ export default {
},
// 获取角色信息
getRoleList
()
{
getUser
().
then
(
response
=>
{
this
.
roleList
=
response
.
roles
;
}).
catch
(
error
=>
{
})
},
//
getRoleList() {
//
getUser().then(response => {
//
this.roleList = response.roles;
//
}).catch(error => {
//
})
//
},
/** 导出 */
exportFile
(
callback
)
{
const
ids
=
this
.
ids
;
const
options
=
[
{
type
:
ExportType
.
TOTAL
,
path
:
'/schoolMessagePush/exportAll'
,
params
:
{
state
:
this
.
pageState
}
},
{
type
:
ExportType
.
SELECT
,
path
:
'/schoolMessagePush/export/'
+
ids
,
params
:
{}
},
{
type
:
ExportType
.
TOTAL
,
path
:
'/schoolMessagePush/exportAll'
,
params
:
{
state
:
this
.
pageState
}
},
{
type
:
ExportType
.
SELECT
,
path
:
'/schoolMessagePush/export/'
+
ids
,
params
:
{}
},
{
type
:
ExportType
.
QUERY
,
path
:
'/schoolMessagePush/exportAll'
,
params
:
{
state
:
this
.
pageState
,
...
...
ruoyi-ui/src/views/smartSchool/schoolManage/schoolNotice/personnelGrouping/authUser.vue
View file @
b094023e
...
...
@@ -2,77 +2,35 @@
<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-input
v-model=
"queryParams.userName"
placeholder=
"请输入用户名称"
clearable
style=
"width: 240px"
/>
</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-input
v-model=
"queryParams.phonenumber"
placeholder=
"请输入手机号码"
clearable
style=
"width: 240px"
/>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"
handleQuery
"
>
搜索
</el-button>
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"
getListss
"
>
搜索
</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
type=
"primary"
plain
icon=
"el-icon-plus"
size=
"mini"
@
click=
"openSelectUser"
>
添加用户
</el-button>
<el-button
type=
"danger"
plain
icon=
"el-icon-delete"
size=
"mini"
@
click=
"handleDelete()"
>
批量删除用户
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"warning"
plain
icon=
"el-icon-close"
size=
"mini"
@
click=
"handleClose"
>
关闭
<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
:data=
"userList"
@
selection-change=
"handleSelectionChanges"
>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"用户名称"
prop=
"userName"
:show-overflow-tooltip=
"true"
/>
<el-table-column
label=
"手机"
prop=
"phonenumber"
:show-overflow-tooltip=
"true"
/>
<el-table-column
label=
"创建时间"
align=
"center"
prop=
"createTime"
width=
"180"
>
<template
slot-scope=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
createTime
)
}}
</span>
...
...
@@ -80,39 +38,75 @@
</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
size=
"mini"
type=
"text"
icon=
"el-icon-circle-close"
@
click=
"handleDelete(scope.row)"
>
删除
</el-button>
</
template
>
</el-table-column>
</el-table>
<!-- 新增弹窗 -->
<el-dialog
title=
"选择用户"
:visible
.
sync=
"visible"
width=
"800px"
top=
"5vh"
append-to-body
>
<el-form
:model=
"queryParam"
ref=
"queryForm"
size=
"small"
:inline=
"true"
>
<el-form-item
label=
"用户名称"
prop=
"userName"
>
<el-input
v-model=
"queryParam.userName"
placeholder=
"请输入用户名称"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"手机号码"
prop=
"phonenumber"
>
<el-input
v-model=
"queryParam.phonenumber"
placeholder=
"请输入手机号码"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"getListcy"
>
搜索
</el-button>
<el-button
icon=
"el-icon-refresh"
size=
"mini"
@
click=
"resetQuerys"
>
重置
</el-button>
</el-form-item>
</el-form>
<el-row>
<el-table
@
row-click=
"clickRow"
ref=
"table"
:data=
"userListcy"
@
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=
"totalcy > 0"
:total=
"total"
:page
.
sync=
"queryParam.pageNum"
:limit
.
sync=
"queryParam.pageSize"
@
pagination=
"getListcy"
/>
</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>
<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"
;
import
{
getUser
,
// 根据分类id获取人员信息
addUser
,
//分组新增人员;
deleteUser
,
//删除人员,
}
from
"@/api/smartSchool/informationPush/personnelGrouping"
;
// import selectUser from "./selectUser";
import
{
unallocatedUserList
}
from
"@/api/system/role"
;
export
default
{
name
:
"AuthUser"
,
dicts
:
[
'sys_normal_disable'
],
components
:
{
selectUser
},
data
()
{
return
{
visible
:
false
,
// 遮罩层
loading
:
true
,
// 选中用户组
...
...
@@ -123,8 +117,10 @@ export default {
showSearch
:
true
,
// 总条数
total
:
0
,
totalcy
:
0
,
// 用户表格数据
userList
:
[],
userListcy
:
[],
// 查询参数
queryParams
:
{
pageNum
:
1
,
...
...
@@ -132,33 +128,85 @@ export default {
roleId
:
undefined
,
userName
:
undefined
,
phonenumber
:
undefined
},
queryParam
:
{
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
();
watch
:
{
$route
:
{
handler
(
to
,
from
)
{
console
.
log
(
'object'
,
from
);
if
(
from
.
path
==
'/schoolManage/schoolNotice/personnelGrouping'
)
{
this
.
getList
()
}
}
}
// '$route.query.id': function () {
// console.log("djuedhuiwhdeui");
// this.getList()
// }
},
created
()
{
this
.
getList
();
this
.
getListcy
();
},
mounted
()
{
},
methods
:
{
/**
查询授权
用户列表 */
/**
根据页面跳转所传id查询
用户列表 */
getList
()
{
this
.
loading
=
true
;
allocatedUserList
(
this
.
queryParams
).
then
(
response
=>
{
this
.
userList
=
response
.
rows
;
this
.
total
=
response
.
total
;
this
.
loading
=
false
;
}
);
this
.
notificationId
=
this
.
$route
.
query
.
id
;
console
.
log
(
'this..notificationId'
,
this
.
notificationId
);
getUser
(
this
.
notificationId
).
then
(
response
=>
{
this
.
userList
=
response
.
rows
;
console
.
log
(
'this.userList'
,
this
.
userList
);
this
.
loading
=
false
;
});
},
// 返回按钮
handleClose
()
{
const
obj
=
{
path
:
"/system/role"
};
this
.
$tab
.
closeOpenPage
(
obj
);
//添加用户
openSelectUser
()
{
this
.
visible
=
true
;
},
// 查询可分组表数据
getListcy
()
{
unallocatedUserList
(
this
.
queryParam
).
then
(
res
=>
{
this
.
userListcy
=
res
.
rows
;
this
.
totalcy
=
res
.
total
;
console
.
log
(
'this.userListcy'
,
this
.
userListcy
);
this
.
total
=
res
.
total
;
});
},
getListss
()
{
unallocatedUserList
(
this
.
queryParams
).
then
(
res
=>
{
this
.
userList
=
res
.
rows
;
this
.
total
=
res
.
total
;
console
.
log
(
'this.userListcy'
,
this
.
userListcy
);
this
.
total
=
res
.
total
;
});
},
clickRow
(
row
)
{
this
.
$refs
.
table
.
toggleRowSelection
(
row
);
},
// 多选框选中数据
handleSelectionChange
(
selection
)
{
console
.
log
(
'selection'
,
selection
);
this
.
userIds
=
selection
.
map
(
item
=>
item
.
userId
);
},
// 多选框选中数据
handleSelectionChanges
(
selection
)
{
this
.
userIds
=
selection
.
map
(
item
=>
item
.
userId
)
this
.
multiple
=
!
selection
.
length
},
/** 搜索按钮操作 */
handleQuery
()
{
this
.
queryParams
.
pageNum
=
1
;
...
...
@@ -167,40 +215,72 @@ export default {
/** 重置按钮操作 */
resetQuery
()
{
this
.
resetForm
(
"queryForm"
);
this
.
handleQuery
();
},
// 多选框选中数据
handleSelectionChange
(
selection
)
{
this
.
userIds
=
selection
.
map
(
item
=>
item
.
userId
)
this
.
multiple
=
!
selection
.
length
this
.
getList
();
},
/** 打开授权用户表弹窗 */
openSelectUser
()
{
this
.
$refs
.
select
.
show
();
resetQuerys
()
{
this
.
resetForm
(
"queryForm"
);
this
.
getListcy
();
},
/** 取消授权按钮操作 */
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
(()
=>
{
/** 选择成员操作 */
handleSelectUser
()
{
const
notificationId
=
this
.
$route
.
query
.
id
;
const
userIds
=
this
.
userIds
;
if
(
userIds
==
""
)
{
this
.
$modal
.
msgError
(
"请选择要分配的用户"
);
return
;
}
addUser
({
notificationId
:
notificationId
,
userId
:
userIds
}).
then
(
res
=>
{
this
.
$modal
.
msgSuccess
(
res
.
msg
);
if
(
res
.
code
===
200
)
{
this
.
visible
=
false
;
this
.
getList
();
this
.
$emit
(
"ok"
);
}
});
},
/** 批量取消授权按钮操作 */
cancelAuthUserAll
(
row
)
{
const
roleId
=
this
.
queryParams
.
roleId
;
const
userIds
=
this
.
userIds
.
join
(
","
);
this
.
$modal
.
confirm
(
'是否取消选中用户授权数据项?'
).
then
(
function
()
{
return
authUserCancelAll
({
roleId
:
roleId
,
userIds
:
userIds
});
// 返回按钮
handleClose
()
{
const
obj
=
{
path
:
"/system/role"
};
this
.
$tab
.
closeOpenPage
(
obj
);
},
/** 重置按钮操作 */
resetQuery
()
{
this
.
resetForm
(
"queryForm"
);
this
.
getList
();
},
/** 删除操作 */
handleDelete
(
row
)
{
console
.
log
(
row
,
'row'
);
const
notificationId
=
this
.
$route
.
query
.
id
;
console
.
log
(
notificationId
);
let
userIds
;
if
(
row
)
{
// 单个删除
userIds
=
[
row
.
userId
];
console
.
log
(
userIds
);
}
else
{
// 批量删除
userIds
=
this
.
userIds
;
console
.
log
(
userIds
);
}
this
.
$modal
.
confirm
(
'确认要取消该用户的分组吗?'
).
then
(()
=>
{
return
deleteUser
({
notificationId
:
notificationId
,
userId
:
userIds
});
}).
then
(()
=>
{
this
.
getList
();
this
.
$modal
.
msgSuccess
(
"
取消授权
成功"
);
}).
catch
(()
=>
{
this
.
$modal
.
msgSuccess
(
"
删除
成功"
);
}).
catch
((
error
)
=>
{
});
}
}
};
</
script
>
ruoyi-ui/src/views/smartSchool/schoolManage/schoolNotice/personnelGrouping/index.vue
View file @
b094023e
<
template
>
<div
class=
"app-container"
>
<el-form
:model=
"queryParams"
ref=
"query
Form
"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
>
<el-form
:model=
"queryParams"
ref=
"query
Params
"
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-input
v-model=
"queryParams.name"
placeholder=
"分组名称"
clearable
style=
"width: 240px"
/>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"
handleQuery
"
>
搜索
</el-button>
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"
getList
"
>
搜索
</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-button
type=
"primary"
plain
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAdd"
>
新增
</el-button>
<el-button
type=
"danger"
plain
icon=
"el-icon-delete"
size=
"mini"
@
click=
"handleDelete()"
>
批量删除
</el-button>
</el-col>
</el-row>
<el-table
v-loading=
"loading"
:data=
"roleList"
@
selection-change=
"handleSelectionChange"
>
<el-table
: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']"
>
<template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleUpdate(scope.row)"
>
修改
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"handleDelete(scope.row)"
>
删除
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-user"
@
click=
"handleAuthUser(scope.row.id)"
>
分配用户
</el-button>
</
template
>
...
...
@@ -51,80 +40,36 @@
<!-- 添加或修改角色配置对话框 -->
<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-input-number
v-model=
"form.sort"
controls-position=
"right"
:min=
"0"
style=
"width: 100%;"
/>
</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
,
//删除分组
getXg
}
from
"@/api/smartSchool/informationPush/personnelGrouping"
;
export
default
{
name
:
"Role"
,
dicts
:
[
'sys_normal_disable'
],
name
:
"index"
,
data
()
{
return
{
notificationId
:
''
,
// 遮罩层
loading
:
true
,
// 选中数组
...
...
@@ -141,90 +86,50 @@ export default {
roleList
:
[],
// 弹出层标题
title
:
""
,
selectedRoleId
:
""
,
// 是否显示弹出层
open
:
false
,
form
:
{
id
:
""
,
name
:
""
,
sort
:
""
,
remark
:
""
,
},
// 日期范围
dateRange
:
[],
// 部门列表
// deptOptions: [],
// 查询参数
queryParams
:
{
pageNum
:
1
,
pageSize
:
10
,
name
:
""
,
},
// 表单参数
form
:
{},
idList
:
[],
// 表单校验
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
=>
{
getUserList
(
this
.
queryParams
).
then
(
response
=>
{
this
.
roleList
=
response
.
rows
;
console
.
log
(
'this.roleList'
,
this
.
roleList
);
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
()
{
...
...
@@ -234,144 +139,113 @@ export default {
// 表单重置
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
.
form
=
{
id
:
undefined
,
name
:
undefined
,
sort
:
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
this
.
resetForm
(
"form"
);
this
.
queryParams
.
name
=
""
,
this
.
getList
();
},
// 更多操作触发
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;
// handleCommand(command, row) {
// switch (command) {
// case "handleDataScope":
// this.handleDataScope(row);
// break;
// case "handleAuthUser":
// this.handleAuthUser(row);
// break;
// default:
// break;
// }
// },
/** 新增按钮操作 */
handleAdd
()
{
this
.
reset
();
this
.
open
=
true
;
this
.
title
=
"添加
角色
"
;
this
.
title
=
"添加
分组
"
;
},
/** 修改按钮操作 */
handleUpdate
(
row
)
{
this
.
reset
();
const
notificationId
=
row
.
notificationId
||
this
.
ids
// const roleMenu = this.getRoleMenuTreeselect(roleId);
get
User
(
notificationI
d
).
then
(
response
=>
{
this
.
open
=
true
;
const
id
=
row
.
id
||
this
.
ids
get
Xg
(
i
d
).
then
(
response
=>
{
this
.
form
=
response
.
data
;
console
.
log
(
this
.
form
,
this
.
form
);
this
.
open
=
true
;
this
.
title
=
"修改角色"
;
});
this
.
title
=
"修改分组"
;
},
/** 选择角色权限范围触发 */
dataScopeSelectChange
(
value
)
{
if
(
value
!==
'2'
)
{
this
.
$refs
.
dept
.
setCheckedKeys
([]);
}
//根据id获取分组数据
groupList
()
{
this
.
roleList
.
forEach
(
role
=>
{
const
notificationId
=
role
.
id
;
getUser
(
notificationId
).
then
(
response
=>
{
this
.
idList
=
response
.
data
;
console
.
log
(
'this.idList'
,
this
.
idList
);
});
});
},
/** 分配用户跳转页面操作 */
handleAuthUser
(
id
)
{
console
.
log
(
id
,
'id'
);
this
.
$router
.
push
({
path
:
"/personnelGrouping/authUser"
,
query
:
{
id
}
});
},
/** 分配数据权限操作 */
// 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) {
// this.selectedRoleId = row.id;
// console.log(this.selectedRoleId, 'roleId');
// this.$router.push({
// path: "/personnelGrouping/authUser",
// query: {
// id: this.selectedRoleId // 使用保存的 roleId 值
// }
// })
// },
/
** 分配用户操作 */
handle
AuthUser
:
function
(
row
)
{
const
roleId
=
row
.
roleId
;
this
.
$router
.
push
(
"/system/role-auth/user/"
+
roleId
);
/
/ 多选框选中数据
handle
SelectionChange
(
selection
)
{
this
.
ids
=
selection
.
map
(
item
=>
item
.
id
)
this
.
multiple
=
!
selection
.
length
},
/** 提交按钮 */
submitForm
:
function
()
{
this
.
$refs
[
"form"
].
validate
(
valid
=>
{
if
(
valid
)
{
if
(
this
.
form
.
roleI
d
!=
undefined
)
{
if
(
this
.
form
.
i
d
!=
undefined
)
{
// this.form.menuIds = this.getMenuAllCheckedKeys();
update
Role
(
this
.
form
).
then
(
response
=>
{
update
Notification
(
this
.
form
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"修改成功"
);
this
.
open
=
false
;
this
.
getList
();
});
}
else
{
// this.form.menuIds = this.getMenuAllCheckedKeys();
add
Role
(
this
.
form
).
then
(
response
=>
{
add
Notification
(
this
.
form
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"新增成功"
);
this
.
open
=
false
;
this
.
getList
();
...
...
@@ -380,28 +254,31 @@ export default {
}
});
},
/** 提交按钮(数据权限) */
// 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
);
let
idList
=
''
if
(
row
)
{
let
idArr
=
[]
idArr
.
push
(
row
.
id
)
idList
=
idArr
.
toString
()
console
.
log
(
idList
);
}
else
{
idList
=
this
.
ids
.
toString
()
console
.
log
(
idList
);
}
this
.
$modal
.
confirm
(
'是否确认删除该数据项?'
).
then
(()
=>
{
return
deleteNotification
({
idList
});
}).
then
(()
=>
{
this
.
getList
();
this
.
$modal
.
msgSuccess
(
"删除成功"
);
}).
catch
(()
=>
{
});
},
}
};
</
script
>
\ No newline at end of file
ruoyi-ui/src/views/smartSchool/schoolManage/schoolNotice/personnelGrouping/selectUser.vue
deleted
100644 → 0
View file @
6408f8b3
<
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/schoolProperty/classiFication/index.vue
View file @
b094023e
...
...
@@ -60,7 +60,8 @@
<el-col
:span=
"16"
>
<el-form-item
label=
"分类编码"
prop=
"classificationCode"
>
<el-input
v-model=
"postForm.classificationCode"
></el-input>
<el-input
v-model=
"postForm.classificationCode"
:rules=
"[{ required: true, message: '会议名称不能为空' },]"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"16"
>
...
...
@@ -158,10 +159,10 @@ export default {
refreshTable
:
true
,
// 校验规则
rules
:
{
classificationCode
:
[{
required
:
true
,
message
:
'分类编码不能为空'
,
trigger
:
'blur'
}],
equipmentType
:
[{
required
:
true
,
message
:
'设备分类不能为空'
,
trigger
:
'blur'
}],
orderNum
:
[{
required
:
true
,
message
:
'显示排序不能为空'
,
trigger
:
'blur'
}],
adminId
:
[{
required
:
true
,
message
:
'管理员不能为空'
,
trigger
:
'blur'
}],
classificationCode
:
[{
required
:
true
,
message
:
"分类编码不能为空"
,
trigger
:
'blur'
}],
equipmentType
:
[{
required
:
true
,
message
:
"设备分类不能为空"
,
trigger
:
'blur'
}],
orderNum
:
[{
required
:
true
,
message
:
"显示排序不能为空"
,
trigger
:
'blur'
}],
adminId
:
[{
required
:
true
,
message
:
"管理员不能为空"
,
trigger
:
'blur'
}],
},
//管理员
adminUser
:
[],
...
...
@@ -248,7 +249,7 @@ export default {
this
.
getAdminUserList
();
console
.
log
(
'this.postForm修改'
,
this
.
postForm
);
this
.
open
=
true
;
this
.
title
=
"修改资产
信息
"
;
this
.
title
=
"修改资产
分类
"
;
});
},
...
...
@@ -268,9 +269,18 @@ export default {
});
},
// 确定
submitForm
()
{
const
adminId
=
this
.
postForm
.
adminId
this
.
postForm
.
admin
=
adminId
==
''
?
''
:
this
.
adminUser
.
find
(
item
=>
item
.
adminId
==
adminId
).
admin
submitForm
:
function
()
{
const
adminId
=
this
.
postForm
.
adminId
;
if
(
adminId
===
''
)
{
this
.
postForm
.
admin
=
''
;
}
else
{
const
adminUser
=
this
.
adminUser
.
find
(
item
=>
item
.
adminId
==
adminId
);
if
(
adminUser
)
{
this
.
postForm
.
admin
=
adminUser
.
admin
;
}
else
{
// 处理找不到匹配的管理员情况,你可以根据实际需要进行处理,例如设置默认值或显示错误提示等
}
}
this
.
$refs
[
"postForm"
].
validate
(
valid
=>
{
if
(
valid
)
{
if
(
this
.
postForm
.
id
!=
null
)
{
...
...
@@ -283,15 +293,15 @@ export default {
});
}
else
{
addProduct
(
this
.
postForm
).
then
(
response
=>
{
if
(
this
.
postForm
.
parentId
==
undefined
)
{
this
.
enuqLeader
();
}
this
.
$modal
.
msgSuccess
(
"新增成功"
);
this
.
open
=
false
;
this
.
getList
();
addProduct
(
this
.
postForm
).
then
(
response
=>
{
if
(
this
.
postForm
.
parentId
==
undefined
)
{
this
.
enuqLeader
();
}
this
.
$modal
.
msgSuccess
(
"新增成功"
);
this
.
open
=
false
;
this
.
getList
();
});
});
}
}
});
...
...
ruoyi-ui/src/views/smartSchool/schoolProperty/equipmenTledger/index.vue
View file @
b094023e
<
template
>
<div
class=
"app-container"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
inline
>
<el-row>
<el-col
:span=
"5"
>
<el-form-item
label=
"设备名称"
>
<el-input
style=
"width: 100%"
v-model=
"queryParams.equipmentName"
clearable
placeholder=
"请输入设备名称"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"5"
>
<el-form-item
label=
"分类编码"
>
<treeselect
v-model=
"queryParams.classificationCode"
:options=
"classificationOptions"
:normalizer=
"normalizer"
placeholder=
"请选择分类编码"
/>
</el-form-item>
</el-col>
<el-col
:span=
"5"
>
<el-form-item
label=
"设备状态"
>
<el-select
v-model=
"queryParams.equipmentState"
clearable
placeholder=
"请选择设备状态"
>
<el-option
v-for=
"dict in dict.type.equipment_state"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"5"
>
<el-form-item
label=
"归属类型"
>
<el-select
v-model=
"queryParams.affiliationType"
clearable
placeholder=
"请选择归属类型"
>
<el-option
v-for=
"dict in dict.type.affiliation_type"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-button
class=
"ml20"
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-col>
</el-row>
</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=
"showDetail(0)"
>
入库
</el-button>
<el-button
type=
"danger"
plain
icon=
"el-icon-minus"
size=
"mini"
@
click=
"handleDelete(0)"
:disabled=
"isDisabledBtn"
>
批量出库
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"success"
icon=
"el-icon-download"
size=
"mini"
@
click=
"upload.open = true"
>
导入
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"warning"
icon=
"el-icon-upload2"
size=
"mini"
@
click=
"handleExportClass"
>
导出
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"warning"
icon=
"el-icon-printer"
size=
"mini"
@
click=
"printBarcodes"
:disabled=
"isDisabledBtn"
>
批量打印条码
</el-button>
</el-col>
<div
class=
"app-container"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
inline
>
<el-row>
<el-col
:span=
"5"
>
<el-form-item
label=
"设备名称"
>
<el-input
style=
"width: 100%"
v-model=
"queryParams.equipmentName"
clearable
placeholder=
"请输入设备名称"
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"5"
>
<el-form-item
label=
"分类编码"
>
<treeselect
v-model=
"queryParams.classificationCode"
:options=
"classificationOptions"
:normalizer=
"normalizer"
placeholder=
"请选择分类编码"
/>
</el-form-item>
</el-col>
<el-col
:span=
"5"
>
<el-form-item
label=
"设备状态"
>
<el-select
v-model=
"queryParams.equipmentState"
clearable
placeholder=
"请选择设备状态"
>
<el-option
v-for=
"dict in dict.type.equipment_state"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"5"
>
<el-form-item
label=
"归属类型"
>
<el-select
v-model=
"queryParams.affiliationType"
clearable
placeholder=
"请选择归属类型"
>
<el-option
v-for=
"dict in dict.type.affiliation_type"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"4"
>
<el-button
class=
"ml20"
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-col>
</el-row>
</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=
"showDetail(0)"
>
入库
</el-button>
<el-button
type=
"danger"
plain
icon=
"el-icon-minus"
size=
"mini"
@
click=
"handleDelete(0)"
:disabled=
"isDisabledBtn"
>
批量出库
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"success"
icon=
"el-icon-download"
size=
"mini"
@
click=
"upload.open = true"
>
导入
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"warning"
icon=
"el-icon-upload2"
size=
"mini"
@
click=
"handleExportClass"
>
导出
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"warning"
icon=
"el-icon-printer"
size=
"mini"
@
click=
"printBarcodes"
:disabled=
"isDisabledBtn"
>
批量打印条码
</el-button>
</el-col>
</el-row>
<!-- 表单数据 -->
<el-table
v-loading=
"loading"
stripe
:data=
"deviceData"
@
selection-change=
"handleSelectionChange"
width=
"100%"
>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
align=
"center"
type=
"index"
label=
"序号"
width=
"55"
fixed=
"left"
/>
<el-table-column
align=
"center"
prop=
"encode"
label=
"自编码"
></el-table-column>
<el-table-column
align=
"center"
prop=
"equipmentName"
label=
"设备名称"
></el-table-column>
<el-table-column
align=
"center"
prop=
"model"
label=
"型号"
></el-table-column>
<el-table-column
align=
"center"
prop=
"specification"
label=
"规格"
></el-table-column>
<el-table-column
align=
"center"
prop=
"classificationCode"
label=
"分类编码"
></el-table-column>
<el-table-column
align=
"center"
prop=
"unit"
label=
"单位"
></el-table-column>
<el-table-column
align=
"center"
prop=
"affiliationType"
label=
"归属类型"
>
<template
slot-scope=
"
{ row }">
<div>
{{
selectDictLabel
(
dict
.
type
.
affiliation_type
,
row
.
affiliationType
)
}}
</div>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
prop=
"equipmentState"
label=
"设备状态"
>
<
template
slot-scope=
"{ row }"
>
<div>
{{
selectDictLabel
(
dict
.
type
.
equipment_state
,
row
.
equipmentState
)
}}
</div>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
prop=
"isAllowLend"
label=
"是否允许借出"
>
<
template
slot-scope=
"{ row }"
>
<div>
{{
selectDictLabel
(
dict
.
type
.
is_lend
,
row
.
isAllowLend
)
}}
</div>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
prop=
"isLend"
label=
"是否借出"
>
<
template
slot-scope=
"{ row }"
>
<div>
{{
selectDictLabel
(
dict
.
type
.
is_lend
,
row
.
isLend
)
}}
</div>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
prop=
"dateOfProduction"
label=
"投产日期"
></el-table-column>
<el-table-column
align=
"center"
prop=
"price"
label=
"价格(元)"
></el-table-column>
<el-table-column
align=
"center"
prop=
"lifeOfUtility"
label=
"效用年限(年)"
></el-table-column>
<el-table-column
align=
"center"
prop=
"place"
label=
"地点"
></el-table-column>
<el-table-column
align=
"center"
prop=
"useName"
label=
"使用人"
></el-table-column>
<el-table-column
align=
"center"
prop=
"remark"
label=
"备注"
></el-table-column>
<el-table-column
label=
"操作"
align=
"center"
min-width=
"220px"
fixed=
"right"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"showDetail(1, scope.row.id)"
>
编辑
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-view"
@
click=
"showDetail(2, scope.row.id)"
>
查看
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"handleDelete(1, scope.row)"
>
出库
</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=
"详细信息"
:visible
.
sync=
"dialogVisible"
width=
"50%"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"110px"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"24"
>
<el-form-item
v-if=
"nowOptionType != 0"
label=
"自编码:"
prop=
"encode"
>
<el-input
v-model=
"form.encode"
placeholder=
"请输入自编码"
disabled
></el-input>
</el-form-item>
</el-col>
</el-row>
<!-- 表单数据 -->
<el-table
v-loading=
"loading"
stripe
:data=
"deviceData"
@
selection-change=
"handleSelectionChange"
width=
"100%"
>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
align=
"center"
type=
"index"
label=
"序号"
width=
"55"
fixed=
"left"
/>
<el-table-column
align=
"center"
prop=
"encode"
label=
"自编码"
></el-table-column>
<el-table-column
align=
"center"
prop=
"equipmentName"
label=
"设备名称"
></el-table-column>
<el-table-column
align=
"center"
prop=
"model"
label=
"型号"
></el-table-column>
<el-table-column
align=
"center"
prop=
"specification"
label=
"规格"
></el-table-column>
<el-table-column
align=
"center"
prop=
"classificationCode"
label=
"分类编码"
></el-table-column>
<el-table-column
align=
"center"
prop=
"unit"
label=
"单位"
></el-table-column>
<el-table-column
align=
"center"
prop=
"affiliationType"
label=
"归属类型"
>
<template
slot-scope=
"
{ row }">
<div>
{{
selectDictLabel
(
dict
.
type
.
affiliation_type
,
row
.
affiliationType
)
}}
</div>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
prop=
"equipmentState"
label=
"设备状态"
>
<
template
slot-scope=
"{ row }"
>
<div>
{{
selectDictLabel
(
dict
.
type
.
equipment_state
,
row
.
equipmentState
)
}}
</div>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
prop=
"isAllowLend"
label=
"是否允许借出"
>
<
template
slot-scope=
"{ row }"
>
<div>
{{
selectDictLabel
(
dict
.
type
.
is_lend
,
row
.
isAllowLend
)
}}
</div>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
prop=
"isLend"
label=
"是否借出"
>
<
template
slot-scope=
"{ row }"
>
<div>
{{
selectDictLabel
(
dict
.
type
.
is_lend
,
row
.
isLend
)
}}
</div>
</
template
>
</el-table-column>
<el-table-column
align=
"center"
prop=
"dateOfProduction"
label=
"投产日期"
></el-table-column>
<el-table-column
align=
"center"
prop=
"price"
label=
"价格(元)"
></el-table-column>
<el-table-column
align=
"center"
prop=
"lifeOfUtility"
label=
"效用年限(年)"
></el-table-column>
<el-table-column
align=
"center"
prop=
"place"
label=
"地点"
></el-table-column>
<el-table-column
align=
"center"
prop=
"useName"
label=
"使用人"
></el-table-column>
<el-table-column
align=
"center"
prop=
"remark"
label=
"备注"
></el-table-column>
<el-table-column
label=
"操作"
align=
"center"
min-width=
"220px"
fixed=
"right"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"showDetail(1,scope.row.id)"
>
编辑
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-view"
@
click=
"showDetail(2,scope.row.id)"
>
查看
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"handleDelete(1,scope.row)"
>
出库
</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=
"dialogVisible"
width=
"50%"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"100px"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"24"
>
<el-form-item
v-if=
"nowOptionType != 0"
label=
"自编码:"
prop=
"encode"
>
<el-input
v-model=
"form.encode"
placeholder=
"请输入自编码"
disabled
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"分类编码:"
prop=
"classificationCode"
>
<treeselect
v-model=
"form.classificationCode"
:options=
"classificationOptions"
:normalizer=
"normalizer"
@
select=
"selectNode"
placeholder=
"请选择分类编码"
:disabled=
"nowOptionType==2?true:false"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"设备名称:"
prop=
"equipmentName"
>
<el-input
v-model=
"form.equipmentName"
placeholder=
"请输入设备名称"
:disabled=
"nowOptionType==2?true:false"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"型号:"
prop=
"model"
>
<el-input
v-model=
"form.model"
placeholder=
"请输入型号"
:disabled=
"nowOptionType==2?true:false"
clearable
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"规格:"
prop=
"specification"
>
<el-input
v-model=
"form.specification"
placeholder=
"请输入规格"
:disabled=
"nowOptionType==2?true:false"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"单位:"
prop=
"unit"
>
<el-input
v-model=
"form.unit"
placeholder=
"请输入单位"
:disabled=
"nowOptionType==2?true:false"
clearable
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"归属类型:"
prop=
"affiliationType"
>
<el-select
v-model=
"form.affiliationType"
clearable
placeholder=
"请选择归属类型"
:disabled=
"nowOptionType==2?true:false"
class=
"selectWidth"
>
<el-option
v-for=
"dict in dict.type.affiliation_type"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"设备状态:"
prop=
"equipmentState"
>
<el-select
v-model=
"form.equipmentState"
clearable
placeholder=
"请选择设备状态"
:disabled=
"nowOptionType==2?true:false"
class=
"selectWidth"
>
<el-option
v-for=
"dict in dict.type.equipment_state"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"是否允许借出:"
prop=
"isAllowLend"
>
<el-select
v-model=
"form.isAllowLend"
clearable
placeholder=
"请选择是否允许借出"
:disabled=
"nowOptionType==2?true:false"
class=
"selectWidth"
>
<el-option
v-for=
"dict in dict.type.is_lend"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"是否借出:"
prop=
"isLend"
>
<el-select
v-model=
"form.isLend"
clearable
placeholder=
"请选择是否借出"
:disabled=
"nowOptionType==2?true:false"
class=
"selectWidth"
>
<el-option
v-for=
"dict in dict.type.is_lend"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"投产日期:"
prop=
"dateOfProduction"
>
<el-date-picker
v-model=
"form.dateOfProduction"
type=
"date"
placeholder=
"选择日期"
class=
"selectWidth"
value-format=
"yyyy-MM-dd"
:disabled=
"nowOptionType==2?true:false"
clearable
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"价格:"
prop=
"price"
>
<el-input
v-model=
"form.price"
placeholder=
"请输入价格"
:disabled=
"nowOptionType==2?true:false"
clearable
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"效用年限:"
prop=
"lifeOfUtility"
>
<el-input
v-model=
"form.lifeOfUtility"
placeholder=
"请输入效用年限(年)"
:disabled=
"nowOptionType==2?true:false"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"地点:"
prop=
"place"
>
<el-input
v-model=
"form.place"
placeholder=
"请输入地点"
:disabled=
"nowOptionType==2?true:false"
clearable
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"使用人:"
prop=
"useName"
>
<el-select
v-model=
"form.useId"
filterable
placeholder=
"请选择使用人"
:disabled=
"nowOptionType==2?true:false"
clearable
>
<el-option
v-for=
"(item,index) in userList"
:key=
"index"
:label=
"item.userName"
:value=
"item.userId"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"24"
>
<el-form-item
label=
"备注:"
prop=
"remark"
>
<el-input
type=
"textarea"
v-model=
"form.remark"
placeholder=
"请输入备注"
:disabled=
"nowOptionType==2?true:false"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
v-if=
"nowOptionType != 2"
type=
"primary"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
@
click=
"dialogVisible = false"
>
取 消
</el-button>
</div>
</el-dialog>
<!-- 导入对话框-->
<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"
:disabled=
"upload.isUploading"
:on-progress=
"handleFileUploadProgress"
:on-success=
"handleFileSuccess"
:auto-upload=
"false"
drag
>
<i
class=
"el-icon-upload"
></i>
<div
class=
"el-upload__text"
>
将文件拖到此处,或
<em>
点击上传
</em></div>
<div
class=
"el-upload__tip text-center"
slot=
"tip"
>
<span>
仅允许导入xls、xlsx格式文件。
</span>
<el-link
type=
"primary"
:underline=
"false"
style=
"font-size: 12px; vertical-align: baseline"
@
click=
"importTemplate"
>
下载模板
</el-link>
</div>
</el-upload>
<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=
"printDialog"
width=
"30%"
>
<div
class=
"qrCodeList"
>
<div
v-for=
"(item,index) in chooseList"
:key=
"index"
>
<div
class=
"titlShow"
>
东营市二中
</div>
<div
class=
"flexBlock qrCode"
>
<div
class=
"qrCodeLeft"
>
<div
:id=
"'qrcode' + index"
></div>
<div>
{{item.encode}}
</div>
</div>
<div
class=
"qrCodeRight"
>
<div>
{{ item.equipmentName }}:{{ item.model }}
</div>
<div>
地点:{{ item.place }}
</div>
</div>
</div>
</div>
</div>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"printCode"
>
打 印
</el-button>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"分类编码:"
prop=
"classificationCode"
>
<treeselect
v-model=
"form.classificationCode"
:options=
"classificationOptions"
:normalizer=
"normalizer"
@
select=
"selectNode"
placeholder=
"请选择分类编码"
:disabled=
"nowOptionType == 2 ? true : false"
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"设备名称:"
prop=
"equipmentName"
>
<el-input
v-model=
"form.equipmentName"
placeholder=
"请输入设备名称"
:disabled=
"nowOptionType == 2 ? true : false"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"型号:"
prop=
"model"
>
<el-input
v-model=
"form.model"
placeholder=
"请输入型号"
:disabled=
"nowOptionType == 2 ? true : false"
clearable
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"规格:"
prop=
"specification"
>
<el-input
v-model=
"form.specification"
placeholder=
"请输入规格"
:disabled=
"nowOptionType == 2 ? true : false"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"单位:"
prop=
"unit"
>
<el-input
v-model=
"form.unit"
placeholder=
"请输入单位"
:disabled=
"nowOptionType == 2 ? true : false"
clearable
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"归属类型:"
prop=
"affiliationType"
>
<el-select
v-model=
"form.affiliationType"
clearable
placeholder=
"请选择归属类型"
:disabled=
"nowOptionType == 2 ? true : false"
class=
"selectWidth"
>
<el-option
v-for=
"dict in dict.type.affiliation_type"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"设备状态:"
prop=
"equipmentState"
>
<el-select
v-model=
"form.equipmentState"
clearable
placeholder=
"请选择设备状态"
:disabled=
"nowOptionType == 2 ? true : false"
class=
"selectWidth"
>
<el-option
v-for=
"dict in dict.type.equipment_state"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"是否允许借出:"
prop=
"isAllowLend"
>
<el-select
v-model=
"form.isAllowLend"
clearable
placeholder=
"请选择是否允许借出"
:disabled=
"nowOptionType == 2 ? true : false"
class=
"selectWidth"
>
<el-option
v-for=
"dict in dict.type.is_lend"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"是否借出:"
prop=
"isLend"
>
<el-select
v-model=
"form.isLend"
clearable
placeholder=
"请选择是否借出"
:disabled=
"nowOptionType == 2 ? true : false"
class=
"selectWidth"
>
<el-option
v-for=
"dict in dict.type.is_lend"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"投产日期:"
prop=
"dateOfProduction"
>
<el-date-picker
v-model=
"form.dateOfProduction"
type=
"date"
placeholder=
"选择日期"
class=
"selectWidth"
value-format=
"yyyy-MM-dd"
:disabled=
"nowOptionType == 2 ? true : false"
clearable
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"价格:"
prop=
"price"
>
<el-input
v-model=
"form.price"
placeholder=
"请输入价格"
:disabled=
"nowOptionType == 2 ? true : false"
clearable
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"效用年限:"
prop=
"lifeOfUtility"
>
<el-input
v-model=
"form.lifeOfUtility"
placeholder=
"请输入效用年限(年)"
:disabled=
"nowOptionType == 2 ? true : false"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"地点:"
prop=
"place"
>
<el-input
v-model=
"form.place"
placeholder=
"请输入地点"
:disabled=
"nowOptionType == 2 ? true : false"
clearable
></el-input>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"使用人:"
prop=
"useName"
>
<el-select
v-model=
"form.useId"
filterable
placeholder=
"请选择使用人"
:disabled=
"nowOptionType == 2 ? true : false"
clearable
>
<el-option
v-for=
"(item, index) in userList"
:key=
"index"
:label=
"item.userName"
:value=
"item.userId"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"24"
>
<el-form-item
label=
"备注:"
prop=
"remark"
>
<el-input
type=
"textarea"
v-model=
"form.remark"
placeholder=
"请输入备注"
:disabled=
"nowOptionType == 2 ? true : false"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
v-if=
"nowOptionType != 2"
type=
"primary"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
@
click=
"dialogVisible = false"
>
取 消
</el-button>
</div>
</el-dialog>
<!-- 导入对话框-->
<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"
:disabled=
"upload.isUploading"
:on-progress=
"handleFileUploadProgress"
:on-success=
"handleFileSuccess"
:auto-upload=
"false"
drag
>
<i
class=
"el-icon-upload"
></i>
<div
class=
"el-upload__text"
>
将文件拖到此处,或
<em>
点击上传
</em></div>
<div
class=
"el-upload__tip text-center"
slot=
"tip"
>
<span>
仅允许导入xls、xlsx格式文件。
</span>
<el-link
type=
"primary"
:underline=
"false"
style=
"font-size: 12px; vertical-align: baseline"
@
click=
"importTemplate"
>
下载模板
</el-link>
</div>
</el-dialog>
<!-- 打印二维码 弹框部分 -->
<!-- 隐藏二维码页面样式 -->
<div
id=
"printBlock"
>
<div
v-for=
"(item,index) in printList"
:key=
"index"
class=
"printBody"
>
<div
class=
"titlePrint"
>
东营市二中
</div>
<div
class=
"flexBlock printQrCode"
>
<div
class=
"printLeft"
>
<div
:id=
"'print' + index"
class=
"printImg"
></div>
<div>
{{item.encode}}
</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>
</div>
</el-dialog>
<!-- 打印二维码 弹框部分 -->
<el-dialog
title=
"打印条码预览"
:visible
.
sync=
"printDialog"
width=
"30%"
>
<div
class=
"qrCodeList"
>
<div
v-for=
"(item, index) in chooseList"
:key=
"index"
>
<div
class=
"titlShow"
>
东营市二中
</div>
<div
class=
"flexBlock qrCode"
>
<div
class=
"qrCodeLeft"
>
<div
:id=
"'qrcode' + index"
></div>
<div>
{{ item.encode }}
</div>
</div>
<div
class=
"
print
Right"
>
<div
class=
"
qrCode
Right"
>
<div>
{{ item.equipmentName }}:{{ item.model }}
</div>
<div>
地点:{{
item.place
}}
</div>
<div>
地点:{{
item.place
}}
</div>
</div>
</div>
<div
style=
"page-break-after:always"
></div>
</div>
</div>
<!-- 隐藏二维码页面样式 -->
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"printCode"
>
打 印
</el-button>
</div>
</el-dialog>
<!-- 打印二维码 弹框部分 -->
<!-- 隐藏二维码页面样式 -->
<div
id=
"printBlock"
>
<div
v-for=
"(item, index) in printList"
:key=
"index"
class=
"printBody"
>
<div
class=
"titlePrint"
>
东营市二中
</div>
<div
class=
"flexBlock printQrCode"
>
<div
class=
"printLeft"
>
<div
:id=
"'print' + index"
class=
"printImg"
></div>
<div>
{{ item.encode }}
</div>
</div>
<div
class=
"printRight"
>
<div>
{{ item.equipmentName }}:{{ item.model }}
</div>
<div>
地点:{{ item.place }}
</div>
</div>
</div>
<div
style=
"page-break-after:always"
></div>
</div>
</div>
<!-- 隐藏二维码页面样式 -->
</div>
</div>
</template>
<
script
>
...
...
@@ -325,75 +320,81 @@ import printJS from "print-js"; // 打印插件
export
default
{
name
:
"index"
,
dicts
:
[
'equipment_state'
,
'affiliation_type'
,
'is_lend'
],
dicts
:
[
'equipment_state'
,
'affiliation_type'
,
'is_lend'
],
components
:
{
Treeselect
},
data
()
{
return
{
loading
:
true
,
// 遮罩层
total
:
0
,
// 总条数
deviceData
:
[],
// 设备台账表格数据
title
:
""
,
// 弹出层标题
dialogVisible
:
false
,
// 添加或修改
queryParams
:
{
// 查询参数
pageNum
:
1
,
pageSize
:
10
,
equipmentName
:
''
,
classificationCode
:
undefined
,
equipmentState
:
''
,
affiliationType
:
''
,
},
classificationOptions
:[],
// 分类编码树状结构
upload
:
{
// 是否显示弹出层
open
:
false
,
// 弹出层标题
title
:
""
,
// 是否禁用上传
isUploading
:
false
,
// 设置上传的请求头部
headers
:
{
Authorization
:
"Bearer "
+
getToken
()
},
// 上传的地址
url
:
process
.
env
.
VUE_APP_BASE_API
+
"/equipmentLedger/importData"
},
form
:
{
id
:
''
,
encode
:
''
,
equipmentName
:
''
,
model
:
''
,
specification
:
''
,
classificationCode
:
undefined
,
unit
:
''
,
affiliationType
:
''
,
equipmentState
:
''
,
isAllowLend
:
''
,
isLend
:
''
,
dateOfProduction
:
''
,
price
:
''
,
lifeOfUtility
:
''
,
place
:
''
,
useId
:
''
,
useName
:
''
,
remark
:
''
,
},
rules
:
{
// 表单校验
equipmentName
:[
{
required
:
true
,
message
:
'请输入设备名称'
,
trigger
:
'blur'
},
],
classificationCode
:
[
{
required
:
true
,
message
:
'请选择分类编码'
,
trigger
:
'change'
}
],
equipmentState
:
[
{
required
:
true
,
message
:
'请选择设备状态'
,
trigger
:
'change'
}
],
},
nowOptionType
:
''
,
// 0 入库 1 编辑 2 查看
electItem
:[],
// 选中的数据
isDisabledBtn
:
true
,
chooseList
:[],
//用户选择的table数据
printDialog
:
false
,
// 打印二维码预览
printList
:[],
userList
:[]
//使用人列表
};
return
{
loading
:
true
,
// 遮罩层
total
:
0
,
// 总条数
deviceData
:
[],
// 设备台账表格数据
title
:
""
,
// 弹出层标题
dialogVisible
:
false
,
// 添加或修改
queryParams
:
{
// 查询参数
pageNum
:
1
,
pageSize
:
10
,
equipmentName
:
''
,
classificationCode
:
undefined
,
equipmentState
:
''
,
affiliationType
:
''
,
},
classificationOptions
:
[],
// 分类编码树状结构
upload
:
{
// 是否显示弹出层
open
:
false
,
// 弹出层标题
title
:
""
,
// 是否禁用上传
isUploading
:
false
,
// 设置上传的请求头部
headers
:
{
Authorization
:
"Bearer "
+
getToken
()
},
// 上传的地址
url
:
process
.
env
.
VUE_APP_BASE_API
+
"/equipmentLedger/importData"
},
form
:
{
id
:
''
,
encode
:
''
,
equipmentName
:
''
,
model
:
''
,
specification
:
''
,
classificationCode
:
undefined
,
unit
:
''
,
affiliationType
:
''
,
equipmentState
:
''
,
isAllowLend
:
''
,
isLend
:
''
,
dateOfProduction
:
''
,
price
:
''
,
lifeOfUtility
:
''
,
place
:
''
,
useId
:
''
,
useName
:
''
,
remark
:
''
,
},
rules
:
{
// 表单校验
equipmentName
:
[
{
required
:
true
,
message
:
'请输入设备名称'
,
trigger
:
'blur'
},
],
classificationCode
:
[
{
required
:
true
,
message
:
'请选择分类编码'
,
trigger
:
'change'
}
],
equipmentState
:
[
{
required
:
true
,
message
:
'请选择设备状态'
,
trigger
:
'change'
}
],
affiliationType
:
[
{
required
:
true
,
message
:
'请选择归属类型'
,
trigger
:
'change'
}
],
isAllowLend
:
[
{
required
:
true
,
message
:
'请选择是否允许借出'
,
trigger
:
'change'
}
]
},
nowOptionType
:
''
,
// 0 入库 1 编辑 2 查看
electItem
:
[],
// 选中的数据
isDisabledBtn
:
true
,
chooseList
:
[],
//用户选择的table数据
printDialog
:
false
,
// 打印二维码预览
printList
:
[],
userList
:
[]
//使用人列表
};
},
created
()
{
this
.
getClassificationCodeTree
()
...
...
@@ -401,9 +402,9 @@ export default {
},
methods
:
{
//获取分类编码树形下拉框
getClassificationCodeTree
(){
getProduct
().
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
getClassificationCodeTree
()
{
getProduct
().
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
classificationOptions
=
this
.
handleTree
(
res
.
rows
,
"id"
)
}
})
...
...
@@ -412,8 +413,8 @@ export default {
/** 查询列表 */
getList
()
{
this
.
loading
=
true
getEquipmentLedger
({
...
this
.
queryParams
}).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
getEquipmentLedger
({
...
this
.
queryParams
}).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
total
=
res
.
total
this
.
deviceData
=
res
.
rows
this
.
loading
=
false
...
...
@@ -426,10 +427,10 @@ export default {
this
.
queryParams
=
{
pageNum
:
1
,
pageSize
:
10
,
equipmentName
:
''
,
classificationCode
:
undefined
,
equipmentState
:
''
,
affiliationType
:
''
,
equipmentName
:
''
,
classificationCode
:
undefined
,
equipmentState
:
''
,
affiliationType
:
''
,
}
this
.
getList
()
},
...
...
@@ -447,42 +448,42 @@ export default {
},
//弹出层分类编码选择事件 获取当前分类编码的型号
selectNode
(
node
){
selectNode
(
node
)
{
const
id
=
node
.
classificationCode
getModelByID
(
id
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
getModelByID
(
id
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
form
.
model
=
res
.
data
.
model
}
})
},
//0 入库 1 编辑 2 查看
showDetail
(
type
,
id
)
{
showDetail
(
type
,
id
)
{
this
.
form
=
{
id
:
''
,
encode
:
''
,
equipmentName
:
''
,
model
:
''
,
specification
:
''
,
classificationCode
:
undefined
,
unit
:
''
,
affiliationType
:
''
,
equipmentState
:
''
,
isAllowLend
:
''
,
isLend
:
''
,
dateOfProduction
:
''
,
price
:
''
,
lifeOfUtility
:
''
,
place
:
''
,
useName
:
''
,
useId
:
''
,
remark
:
''
,
id
:
''
,
encode
:
''
,
equipmentName
:
''
,
model
:
''
,
specification
:
''
,
classificationCode
:
undefined
,
unit
:
''
,
affiliationType
:
''
,
equipmentState
:
''
,
isAllowLend
:
''
,
isLend
:
''
,
dateOfProduction
:
''
,
price
:
''
,
lifeOfUtility
:
''
,
place
:
''
,
useName
:
''
,
useId
:
''
,
remark
:
''
,
}
this
.
nowOptionType
=
type
this
.
getSelectUser
()
if
(
type
!=
0
)
{
getEquipmentLedgerDetailByID
(
id
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
if
(
type
!=
0
)
{
getEquipmentLedgerDetailByID
(
id
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
Object
.
keys
(
this
.
form
).
forEach
(
key
=>
{
res
.
data
[
key
]
&&
(
this
.
form
[
key
]
=
res
.
data
[
key
])
})
...
...
@@ -493,51 +494,51 @@ export default {
},
//使用人列表数据
getSelectUser
(){
getUserList
().
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
getSelectUser
()
{
getUserList
().
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
userList
=
res
.
rows
}
})
},
//表单提交
submitForm
(){
submitForm
()
{
const
useId
=
this
.
form
.
useId
this
.
form
.
useName
=
useId
==
''
?
''
:
this
.
userList
.
find
(
item
=>
item
.
userId
==
useId
).
userName
this
.
form
.
useName
=
useId
==
''
?
''
:
this
.
userList
.
find
(
item
=>
item
.
userId
==
useId
).
userName
this
.
$refs
[
'form'
].
validate
((
valid
)
=>
{
if
(
valid
)
{
if
(
this
.
nowOptionType
==
0
)
{
if
(
this
.
nowOptionType
==
0
)
{
//0 入库 1 编辑 2 查看
const
data
=
{
equipmentName
:
this
.
form
.
equipmentName
,
model
:
this
.
form
.
model
,
specification
:
this
.
form
.
specification
,
classificationCode
:
this
.
form
.
classificationCode
,
unit
:
this
.
form
.
unit
,
affiliationType
:
this
.
form
.
affiliationType
,
equipmentState
:
this
.
form
.
equipmentState
,
isAllowLend
:
this
.
form
.
isAllowLend
,
isLend
:
this
.
form
.
isLend
,
dateOfProduction
:
this
.
form
.
dateOfProduction
,
price
:
this
.
form
.
price
,
lifeOfUtility
:
this
.
form
.
lifeOfUtility
,
place
:
this
.
form
.
place
,
useName
:
this
.
form
.
useName
,
equipmentName
:
this
.
form
.
equipmentName
,
model
:
this
.
form
.
model
,
specification
:
this
.
form
.
specification
,
classificationCode
:
this
.
form
.
classificationCode
,
unit
:
this
.
form
.
unit
,
affiliationType
:
this
.
form
.
affiliationType
,
equipmentState
:
this
.
form
.
equipmentState
,
isAllowLend
:
this
.
form
.
isAllowLend
,
isLend
:
this
.
form
.
isLend
,
dateOfProduction
:
this
.
form
.
dateOfProduction
,
price
:
this
.
form
.
price
,
lifeOfUtility
:
this
.
form
.
lifeOfUtility
,
place
:
this
.
form
.
place
,
useName
:
this
.
form
.
useName
,
useId
,
remark
:
this
.
form
.
remark
,
remark
:
this
.
form
.
remark
,
}
addEquipmentLedger
(
data
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
addEquipmentLedger
(
data
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
$message
.
success
(
"设备台账入库成功!"
)
this
.
dialogVisible
=
false
this
.
getList
()
}
})
}
else
if
(
this
.
nowOptionType
==
1
)
{
}
else
if
(
this
.
nowOptionType
==
1
)
{
//1 编辑
editEquipmentLedger
({
...
this
.
form
}).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
editEquipmentLedger
({
...
this
.
form
}).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
$message
.
success
(
"设备台账编辑成功!"
)
this
.
dialogVisible
=
false
this
.
getList
()
...
...
@@ -549,16 +550,16 @@ export default {
},
//出库
handleDelete
(
type
,
item
)
{
let
idString
=
type
==
0
?
this
.
electItem
.
toString
():
item
.
id
let
message
=
type
==
0
?
'是否确认批量出库选中设备?'
:
`是否确认出库
${
item
.
model
}
设备?`
handleDelete
(
type
,
item
)
{
let
idString
=
type
==
0
?
this
.
electItem
.
toString
()
:
item
.
id
let
message
=
type
==
0
?
'是否确认批量出库选中设备?'
:
`是否确认出库
${
item
.
model
}
设备?`
this
.
$confirm
(
message
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
deleteEquipmentLedger
(
idString
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
deleteEquipmentLedger
(
idString
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
$message
({
type
:
'success'
,
message
:
'出库成功!'
...
...
@@ -575,7 +576,7 @@ export default {
},
//模版下载
importTemplate
(){
importTemplate
()
{
this
.
download
(
"/equipmentLedger/importTemplate"
,
{},
...
...
@@ -607,12 +608,12 @@ export default {
},
//导出
handleExportClass
(){
handleExportClass
()
{
const
data
=
{
equipmentName
:
this
.
queryParams
.
equipmentName
,
classificationCode
:
this
.
queryParams
.
classificationCode
,
equipmentState
:
this
.
queryParams
.
equipmentState
,
affiliationType
:
this
.
queryParams
.
affiliationType
,
equipmentName
:
this
.
queryParams
.
equipmentName
,
classificationCode
:
this
.
queryParams
.
classificationCode
,
equipmentState
:
this
.
queryParams
.
equipmentState
,
affiliationType
:
this
.
queryParams
.
affiliationType
,
}
this
.
download
(
'/equipmentLedger/export'
,
{
...
data
,
...
...
@@ -620,13 +621,13 @@ export default {
},
//生成批量打印条码
printBarcodes
(){
printBarcodes
()
{
this
.
printDialog
=
true
this
.
printList
=
this
.
chooseList
this
.
$nextTick
(()
=>
{
this
.
chooseList
.
map
((
item
,
index
)
=>
{
this
.
$nextTick
(()
=>
{
this
.
chooseList
.
map
((
item
,
index
)
=>
{
const
dom
=
document
.
getElementById
(
`qrcode
${
index
}
`
).
lastElementChild
if
(
dom
==
null
)
{
if
(
dom
==
null
)
{
new
QRCode
(
`qrcode
${
index
}
`
,
{
width
:
150
,
height
:
150
,
...
...
@@ -635,9 +636,9 @@ export default {
}
})
this
.
printList
.
map
((
item
,
index
)
=>
{
this
.
printList
.
map
((
item
,
index
)
=>
{
const
domPrint
=
document
.
getElementById
(
`print
${
index
}
`
).
lastElementChild
if
(
domPrint
==
null
)
{
if
(
domPrint
==
null
)
{
new
QRCode
(
`print
${
index
}
`
,
{
width
:
60
,
height
:
60
,
...
...
@@ -650,13 +651,13 @@ export default {
},
//打印条码
printCode
(){
printCode
()
{
printJS
({
printable
:
'printBlock'
,
// 标签元素id
type
:
'html'
,
targetStyles
:
[
'*'
],
font_size
:
'10px'
,
style
:
`
style
:
`
@media print{
@page{
size:auto;
...
...
@@ -675,10 +676,10 @@ export default {
// 多选框选中数据
handleSelectionChange
(
selection
)
{
this
.
chooseList
=
selection
this
.
electItem
=
selection
.
map
(
item
=>
{
this
.
electItem
=
selection
.
map
(
item
=>
{
return
item
.
id
})
this
.
isDisabledBtn
=
selection
.
length
!=
0
?
false
:
true
this
.
isDisabledBtn
=
selection
.
length
!=
0
?
false
:
true
},
},
...
...
@@ -687,16 +688,19 @@ export default {
<
style
scoped
>
::v-deep
.el-form-item
,
::v-deep
.el-select
{
::v-deep
.el-select
{
width
:
100%
;
}
::v-deep
.el-form-item--small
.el-form-item__content
{
width
:
75%
;
}
.qrCodeList
{
.qrCodeList
{
max-height
:
500px
;
overflow-y
:
scroll
;
}
.qrCode
{
width
:
300px
;
font-size
:
14px
;
...
...
@@ -704,12 +708,15 @@ export default {
align-items
:
flex-start
;
margin
:
0
auto
20px
auto
;
}
.qrCodeLeft
{
text-align
:
center
;
}
.qrCodeRight
{
padding
:
20px
0
20px
15px
;
padding
:
20px
0
20px
15px
;
}
.titlShow
{
font-weight
:
bold
;
text-align
:
center
;
...
...
@@ -719,7 +726,7 @@ export default {
#printBlock
{
display
:
none
;
margin
:
0px
!important
;
margin
:
0px
!important
;
}
.printLeft
{
...
...
@@ -728,24 +735,29 @@ export default {
align-items
:
center
;
text-align
:
center
;
}
.printBody
{
width
:
250px
;
}
.printQrCode
{
font-size
:
6px
;
line-height
:
20px
;
align-items
:
center
;
padding
:
8px
;
}
.printRight
{
width
:
60%
;
padding
:
0
5px
;
padding
:
0
5px
;
}
.titlePrint
{
font-size
:
8px
;
font-weight
:
bold
;
text-align
:
center
;
}
.printImg
{
display
:
block
;
}
...
...
ruoyi-ui/src/views/smartSchool/teachAffairAdministration/affairGradeManage/gradeMemberList/index.vue
View file @
b094023e
...
...
@@ -92,8 +92,6 @@
<el-table-column
label=
"工号"
align=
"center"
prop=
"teacherCode"
/>
<el-table-column
label=
"职务"
align=
"center"
prop=
"teacherPost"
/>
<el-table-column
label=
"电话号码"
align=
"center"
prop=
"teacherTel"
/>
<el-table-column
label=
"职务"
align=
"center"
prop=
"teacherPost"
/>
<el-table-column
label=
"电话号码"
align=
"center"
prop=
"teacherTel"
/>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
<
template
slot-scope=
"scope"
>
...
...
ruoyi-ui/src/views/smartSchool/teachAffairAdministration/affairStudentManage/index.vue
View file @
b094023e
...
...
@@ -124,7 +124,7 @@
<el-table-column
key=
"nativePlace"
min-width=
"100"
header-align=
"center"
align=
"center"
prop=
"nativePlace"
label=
"籍贯"
show-overflow-tooltip
></el-table-column>
<el-table-column
key=
"idCard"
width=
"180"
align=
"center"
prop=
"idCard"
label=
"身份证号"
/>
<el-table-column
key=
"schoolNo"
width=
"1
0
0"
align=
"center"
prop=
"schoolNo"
label=
"注册序号"
/>
<el-table-column
key=
"schoolNo"
width=
"1
6
0"
align=
"center"
prop=
"schoolNo"
label=
"注册序号"
/>
<el-table-column
key=
"stuTelephone"
width=
"130"
align=
"center"
prop=
"stuTelephone"
label=
"联系电话"
/>
<el-table-column
key=
"birthAddress"
width=
"150"
align=
"center"
prop=
"birthAddress"
label=
"出生地"
/>
<el-table-column
key=
"postalCode"
width=
"150"
align=
"center"
prop=
"postalCode"
label=
"邮政编码"
/>
...
...
ruoyi-ui/src/views/smartSchool/teacherManage/teacherLeaveInfoSum/index.vue
View file @
b094023e
<
template
>
<div
class=
"app-container"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
:inline=
"true"
size=
"small"
@
submit
.
native
.
prevent
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
:inline=
"true"
size=
"small"
@
submit
.
native
.
prevent
>
<el-form-item
label=
"教师姓名"
prop=
"teacherName"
>
<el-input
v-model=
"queryParams.teacherName"
clearable
placeholder=
"请输入教师姓名"
@
keyup
.
enter
.
native=
"handleQuery"
></el-input>
@
keyup
.
enter
.
native=
"handleQuery"
></el-input>
</el-form-item>
<el-form-item
label=
"请假类型"
prop=
"type"
>
<el-select
v-model=
"queryParams.type"
style=
"width: 100%"
placeholder=
"请选择请假类型"
>
<el-option
v-for=
"dict in dict.type.biz_leave_type"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
<el-option
v-for=
"dict in dict.type.biz_leave_type"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"级部/处室"
prop=
"applyOrgname"
>
<el-input
v-model=
"queryParams.applyOrgname"
clearable
placeholder=
"请输入级部/处室"
@
keyup
.
enter
.
native=
"handleQuery"
></el-input>
@
keyup
.
enter
.
native=
"handleQuery"
></el-input>
</el-form-item>
<el-form-item
label=
"请假时间"
>
<el-date-picker
v-model=
"dateRange"
style=
"width: 300px"
value-format=
"yyyy-MM-dd"
type=
"datetimerange"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
>
<el-date-picker
v-model=
"dateRange"
style=
"width: 300px"
value-format=
"yyyy-MM-dd"
type=
"datetimerange"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
>
</el-date-picker>
</el-form-item>
<el-form-item>
...
...
@@ -42,22 +26,20 @@
</el-form-item>
</el-form>
<el-table
v-loading=
"loading"
:data=
"teacherLeaveList"
>
<el-table-column
type=
"index"
width=
"55"
label=
"序号"
align=
"center"
/>
<el-table-column
label=
"教师名称"
key=
"teacherName"
min-width=
"120"
align=
"center"
prop=
"teacherName"
show-overflow-tooltip
/>
<el-table-column
label=
"级部/处室"
key=
"applyOrgname"
min-width=
"120"
align=
"center"
prop=
"applyOrgname"
/>
<el-table-column
type=
"index"
width=
"55"
label=
"序号"
align=
"center"
/>
<el-table-column
label=
"教师名称"
key=
"teacherName"
min-width=
"120"
align=
"center"
prop=
"teacherName"
show-overflow-tooltip
/>
<el-table-column
label=
"级部/处室"
key=
"applyOrgname"
min-width=
"120"
align=
"center"
prop=
"applyOrgname"
/>
<el-table-column
label=
"请假开始时间"
key=
"startTime"
min-width=
"150"
align=
"center"
prop=
"startTime"
>
<template
slot-scope=
"scope"
>
{{
parseTime
(
scope
.
row
.
startTime
,
'{y
}
-{m
}
-{d
}
'
)
}}
<
dict
-
tag
style
=
"display: inline-block"
:
options
=
"dict.type.course_num"
:
value
=
"scope.row.startSort"
/>
<
dict
-
tag
style
=
"display: inline-block"
:
options
=
"dict.type.course_num"
:
value
=
"scope.row.startSort"
/>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"请假结束时间"
key
=
"endTime"
min
-
width
=
"150"
align
=
"center"
prop
=
"endTime"
>
<
template
slot
-
scope
=
"scope"
>
{{
parseTime
(
scope
.
row
.
endTime
,
'{y
}
-{m
}
-{d
}
'
)
}}
<
dict
-
tag
style
=
"display: inline-block"
:
options
=
"dict.type.course_num"
:
value
=
"scope.row.endSort"
/>
<
dict
-
tag
style
=
"display: inline-block"
:
options
=
"dict.type.course_num"
:
value
=
"scope.row.endSort"
/>
<
/template
>
<
/el-table-column
>
<
el
-
table
-
column
label
=
"请假类型"
key
=
"type"
width
=
"100"
align
=
"center"
prop
=
"type"
>
...
...
@@ -69,33 +51,22 @@
<
/el-table-column
>
<
el
-
table
-
column
label
=
"操作"
align
=
"center"
class
-
name
=
"small-padding fixed-width"
min
-
width
=
"60"
key
=
"operate"
>
<
template
slot
-
scope
=
"scope"
>
<
el
-
button
size
=
"mini"
type
=
"text"
icon
=
"el-icon-search"
@
click
=
"handleDetail(scope.row)"
v
-
hasPermi
=
"['system:teacherOvertime:edit']"
>
查看
<
el
-
button
size
=
"mini"
type
=
"text"
icon
=
"el-icon-search"
@
click
=
"handleDetail(scope.row)"
v
-
hasPermi
=
"['system:teacherOvertime:edit']"
>
查看
<
/el-button
>
<
/template
>
<
/el-table-column
>
<
/el-table
>
<
ExPagination
v
-
show
=
"total > 0"
:
total
=
"total"
:
limit
.
sync
=
"queryParams.pageSize"
:
page
.
sync
=
"queryParams.pageNum"
@
pagination
=
"getList"
><
/ExPagination
>
<
ExPagination
v
-
show
=
"total > 0"
:
total
=
"total"
:
limit
.
sync
=
"queryParams.pageSize"
:
page
.
sync
=
"queryParams.pageNum"
@
pagination
=
"getList"
><
/ExPagination
>
<!--
添加或修改教师请假信息对话框
-->
<
el
-
dialog
:
title
=
"title"
:
visible
.
sync
=
"dialogTeacherLeave"
width
=
"
1000px
"
append
-
to
-
body
>
<
el
-
form
ref
=
"form"
:
model
=
"form"
label
-
width
=
"120px"
style
=
"width: 100%; margin: auto"
>
<
el
-
dialog
:
title
=
"title"
:
visible
.
sync
=
"dialogTeacherLeave"
width
=
"
70%
"
append
-
to
-
body
>
<
el
-
form
ref
=
"form"
:
model
=
"form"
label
-
width
=
"120px"
style
=
"width: 100%; margin: auto"
:
disabled
=
"isEdit"
>
<
el
-
row
>
<
el
-
col
:
span
=
"11"
>
<
el
-
form
-
item
label
=
"教师名称"
prop
=
"teacherName"
>
<
el
-
input
:
value
=
"form.teacherName"
@
click
.
native
=
"openTeacherSelect"
placeholder
=
"请输入教师名称"
/>
<
el
-
input
:
value
=
"form.teacherName"
@
click
.
native
=
"openTeacherSelect"
placeholder
=
"请输入教师名称"
/>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
offset
=
"2"
:
span
=
"11"
>
...
...
@@ -110,25 +81,45 @@
<
el
-
row
>
<
el
-
col
:
span
=
"11"
>
<
el
-
form
-
item
label
=
"请假开始时间"
prop
=
"startTime"
>
<
el
-
date
-
picker
style
=
"width: 100%"
:
value
=
"form.startTime"
type
=
"datetime"
value
-
format
=
"yyyy-MM-dd HH:mm"
placeholder
=
"选择开始时间"
>
<
/el-date-picker
>
<
el
-
row
>
<
template
v
-
if
=
"form.startSort"
>
<
el
-
col
:
span
=
"12"
>
<
el
-
date
-
picker
:
value
=
"form.startTime"
type
=
"date"
value
-
format
=
"yyyy-MM-dd"
placeholder
=
"选择开始时间"
><
/el-date-picker
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
input
:
value
=
"selectDictLabel(dict.type.course_num, form.startSort)"
><
/el-input
>
<
/el-col
>
<
/template
>
<
template
v
-
else
>
<
el
-
col
:
span
=
"12"
>
<
el
-
date
-
picker
:
value
=
"form.startTime"
type
=
"datetime"
style
=
"width: 323.34px"
value
-
format
=
"yyyy-MM-dd HH:mm"
placeholder
=
"选择开始时间"
><
/el-date-picker
>
<
/el-col
>
<
/template
>
<
/el-row
>
<
/el-form-item
>
<
/el-col
>
<
el
-
col
:
offset
=
"2"
:
span
=
"11"
>
<
el
-
form
-
item
label
=
"请假结束时间"
prop
=
"endTime"
>
<
el
-
date
-
picker
style
=
"width: 100%"
:
value
=
"form.endTime"
type
=
"datetime"
value
-
format
=
"yyyy-MM-dd HH:mm"
placeholder
=
"选择结束时间"
>
<
/el-date-picker
>
<
el
-
row
>
<
template
v
-
if
=
"form.endSort"
>
<
el
-
col
:
span
=
"12"
>
<
el
-
date
-
picker
:
value
=
"form.endTime"
type
=
"date"
value
-
format
=
"yyyy-MM-dd"
placeholder
=
"选择结束时间"
><
/el-date-picker
>
<
/el-col
>
<
el
-
col
:
span
=
"12"
>
<
el
-
input
:
value
=
"selectDictLabel(dict.type.course_num, form.endSort)"
><
/el-input
>
<
/el-col
>
<
/template
>
<
template
v
-
else
>
<
el
-
col
:
span
=
"12"
>
<
el
-
date
-
picker
style
=
"width: 323.34px"
:
value
=
"form.startTime"
type
=
"datetime"
value
-
format
=
"yyyy-MM-dd HH:mm"
placeholder
=
"选择开始时间"
><
/el-date-picker
>
<
/el-col
>
<
/template
>
<
/el-row
>
<
/el-form-item
>
<
/el-col
>
<
/el-row
>
...
...
@@ -136,10 +127,7 @@
<
el
-
col
:
span
=
"11"
>
<
el
-
form
-
item
label
=
"请假类型"
prop
=
"type"
>
<
el
-
select
:
value
=
"form.type"
style
=
"width: 100%"
placeholder
=
"请选择请假类型"
>
<
el
-
option
v
-
for
=
"dict in dict.type.biz_leave_type"
:
key
=
"dict.value"
:
label
=
"dict.label"
<
el
-
option
v
-
for
=
"dict in dict.type.biz_leave_type"
:
key
=
"dict.value"
:
label
=
"dict.label"
:
value
=
"dict.value"
>
<
/el-option
>
<
/el-select
>
...
...
@@ -148,12 +136,7 @@
<
/el-row
>
<
el
-
form
-
item
label
=
"请假原因"
prop
=
"reasonForLeave"
>
<
el
-
input
type
=
"textarea"
resize
=
"none"
:
autosize
=
"{minRows: 5
}
"
:
value
=
"form.reasonForLeave"
/>
<
el
-
input
type
=
"textarea"
resize
=
"none"
:
autosize
=
"{ minRows: 5
}
"
:
value
=
"form.reasonForLeave"
/>
<
/el-form-item
>
<
/el-form
>
...
...
@@ -186,11 +169,7 @@
<!--
<
/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
>
<
/div
>
<
/template
>
<
script
>
...
...
@@ -198,7 +177,7 @@ import {
listTeacherLeave
,
getTeacherLeave
,
}
from
"@/api/smartSchool/teacherManage/teacherLeaveInfoSum"
;
import
{
ExportType
}
from
"@/enums/common"
;
import
{
ExportType
}
from
"@/enums/common"
;
export
default
{
name
:
"index"
,
...
...
@@ -208,6 +187,8 @@ export default {
}
,
data
()
{
return
{
//禁用
isEdit
:
false
,
// 日期范围
dateRange
:
[],
teacherSelect
:
'教师信息'
,
...
...
@@ -294,13 +275,13 @@ export default {
const ids = this.ids;
// TODO: 这里因为是两种状态: 提交和未提交,所以需要判断状态
const options = [
{
type: ExportType.TOTAL, path: '/school/teacherLeave/export', params: {
}
}
,
{
type: ExportType.TOTAL, path: '/school/teacherLeave/export', params: {
}
}
,
{
type: ExportType.SELECT,
path: '/school/teacherLeave/export/' + ids,
params: {
}
}
,
{
type: ExportType.QUERY, path: '/school/teacherLeave/export', params: this.queryParams
}
,
{
type: ExportType.QUERY, path: '/school/teacherLeave/export', params: this.queryParams
}
,
]
callback(options, `
老师请假信息
$
{
new
Date
().
getTime
()
}
.
xlsx
`);
}
,
...
...
@@ -329,7 +310,9 @@ export default {
let teacherId = row.id
getTeacherLeave(teacherId).then(response => {
this.form = response.data;
console.log('object', this.form);
this.dialogTeacherLeave = true;
this.isEdit = true;
this.title = "教师请假信息详情";
}
);
}
,
...
...
ruoyi-ui/src/views/system/role/selectUser.vue
View file @
b094023e
...
...
@@ -3,20 +3,10 @@
<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-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-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>
...
...
@@ -24,7 +14,8 @@
</el-form-item>
</el-form>
<el-row>
<el-table
@
row-click=
"clickRow"
ref=
"table"
:data=
"userList"
@
selection-change=
"handleSelectionChange"
height=
"260px"
>
<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"
/>
...
...
@@ -32,7 +23,7 @@
<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"
/>
<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"
>
...
...
@@ -41,13 +32,8 @@
</
template
>
</el-table-column>
</el-table>
<pagination
v-show=
"total>0"
:total=
"total"
:page
.
sync=
"queryParams.pageNum"
:limit
.
sync=
"queryParams.pageSize"
@
pagination=
"getList"
/>
<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>
...
...
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