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
63b7773f
Commit
63b7773f
authored
Oct 23, 2023
by
zhaopanyu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
zpy 10.23
parent
95681fcd
Show whitespace changes
Inline
Side-by-side
Showing
30 changed files
with
2040 additions
and
456 deletions
+2040
-456
ruoyi-ui/README.md
+4
-1
ruoyi-ui/src/permission.js
+2
-0
ruoyi-ui/src/router/index.js
+25
-0
ruoyi-ui/src/views/activiti/definition/index.vue
+1
-1
ruoyi-ui/src/views/smartSchool/InstrumentDrugAdministration/instrumentManagement/index.vue
+2
-2
ruoyi-ui/src/views/smartSchool/classAdviser/headmasterLesson/headmasterLesson.vue
+0
-0
ruoyi-ui/src/views/smartSchool/gradeWork/courseSelection/secondaryDivision/index.vue
+34
-35
ruoyi-ui/src/views/smartSchool/gradeWork/courseSelection/summerViewing/index.vue
+47
-45
ruoyi-ui/src/views/smartSchool/gradeWork/courseSelection/taskPublishing/index.vue
+2
-2
ruoyi-ui/src/views/smartSchool/gradeWork/laboratoryManagement/laboratoryAppointment/index.vue
+7
-9
ruoyi-ui/src/views/smartSchool/indexMould/myTask/teachLeaveApprove/HandleResolve/TeacherLeaveInfo.vue
+8
-10
ruoyi-ui/src/views/smartSchool/indexMould/myTask/teachLeaveApprove/HandleResolve/index.vue
+0
-4
ruoyi-ui/src/views/smartSchool/laboratoryManagement/laboratoryManagements/laboratoryCompetition/index.vue
+38
-24
ruoyi-ui/src/views/smartSchool/massOrganization/basicInformationManagement/index.vue
+28
-108
ruoyi-ui/src/views/smartSchool/massOrganization/communityStyle/index.vue
+27
-111
ruoyi-ui/src/views/smartSchool/personWork/logisticsWarranty/index.vue
+4
-1
ruoyi-ui/src/views/smartSchool/schoolManage/schoolNotice/infoPush/components/receiveList.vue
+1
-1
ruoyi-ui/src/views/smartSchool/schoolManage/schoolNotice/infoPush/school/index.vue
+0
-1
ruoyi-ui/src/views/smartSchool/schoolManage/schoolNotice/personnelGrouping/authUser.vue
+1
-1
ruoyi-ui/src/views/smartSchool/schoolProperty/equipmenTledger/index copy.vue
+778
-0
ruoyi-ui/src/views/smartSchool/schoolProperty/equipmenTledger/index.vue
+44
-46
ruoyi-ui/src/views/smartSchool/schoolProperty/equipmenTledger/printBarcodes copy.vue
+773
-0
ruoyi-ui/src/views/smartSchool/schoolProperty/lendingReturn/index.vue
+2
-2
ruoyi-ui/src/views/smartSchool/teachAffairAdministration/affairStudentManage/index.vue
+33
-9
ruoyi-ui/src/views/smartSchool/teachAffairAdministration/affairStudentManage/studentRegistra.vue
+136
-0
ruoyi-ui/src/views/smartSchool/teacherManage/teacherInforManage/components/AwardDetails.vue
+1
-1
ruoyi-ui/src/views/smartSchool/teacherManage/teacherInforManage/components/Resume.vue
+24
-25
ruoyi-ui/src/views/smartSchool/teacherManage/teacherInforManage/index.vue
+2
-1
ruoyi-ui/src/views/system/user/authRole.vue
+15
-15
ruoyi-ui/src/views/whitePage.vue
+1
-1
No files found.
ruoyi-ui/README.md
View file @
63b7773f
...
@@ -33,4 +33,7 @@ npm run build:prod
...
@@ -33,4 +33,7 @@ npm run build:prod
在index页面,打开created中 this.csToken()
在index页面,打开created中 this.csToken()
#生产环境
#生产环境
在index页面,打开created中 this.getCode()
在index页面,打开created中 this.getCode()
Navbar.vue中的退出登录注销。
<!-- <el-dropdown-item divided @click.native="logout">
<span>
退出登录
</span>
</el-dropdown-item>
-->
ruoyi-ui/src/permission.js
View file @
63b7773f
...
@@ -15,6 +15,8 @@ const whiteList = [
...
@@ -15,6 +15,8 @@ const whiteList = [
"/register"
,
"/register"
,
"/index"
,
"/index"
,
"/dd"
,
"/dd"
,
"/studentRegistra"
,
"/printBarcodes"
,
];
];
router
.
beforeEach
((
to
,
from
,
next
)
=>
{
router
.
beforeEach
((
to
,
from
,
next
)
=>
{
...
...
ruoyi-ui/src/router/index.js
View file @
63b7773f
...
@@ -62,6 +62,31 @@ export const constantRoutes = [
...
@@ -62,6 +62,31 @@ export const constantRoutes = [
hidden
:
true
,
hidden
:
true
,
},
},
{
{
path
:
"/studentRegistra"
,
component
:
()
=>
import
(
"@/views/smartSchool/teachAffairAdministration/affairStudentManage/studentRegistra"
),
hidden
:
true
,
},
//设备台账
{
path
:
"/printBarcodes"
,
component
:
()
=>
import
(
"@/views/smartSchool/schoolProperty/equipmenTledger/printBarcodes"
),
hidden
:
true
,
},
{
path
:
"/studentRegistra"
,
component
:
()
=>
import
(
"@/views/smartSchool/teachAffairAdministration/affairStudentManage/studentRegistra"
),
hidden
:
true
,
},
{
path
:
"/register"
,
path
:
"/register"
,
component
:
()
=>
import
(
"@/views/register"
),
component
:
()
=>
import
(
"@/views/register"
),
hidden
:
true
,
hidden
:
true
,
...
...
ruoyi-ui/src/views/activiti/definition/index.vue
View file @
63b7773f
...
@@ -130,7 +130,7 @@
...
@@ -130,7 +130,7 @@
<
script
>
<
script
>
import
{
listDefinition
,
delDefinition
,
suspendOrActiveDefinition
,
convert2Model
}
from
"@/api/activiti/definition.js"
import
{
listDefinition
,
delDefinition
,
suspendOrActiveDefinition
,
convert2Model
}
from
"@/api/activiti/definition.js"
import
{
format
}
from
"@/utils/activiti/myUtil.js"
import
{
format
}
from
"@/utils/activiti/myUtil.js"
export
default
{
export
default
{
name
:
"Definition"
,
name
:
"Definition"
,
...
...
ruoyi-ui/src/views/smartSchool/InstrumentDrugAdministration/instrumentManagement/index.vue
View file @
63b7773f
...
@@ -6,7 +6,7 @@
...
@@ -6,7 +6,7 @@
</el-form-item>
</el-form-item>
<el-form-item
label=
"仪器分类"
>
<el-form-item
label=
"仪器分类"
>
<treeselect
v-model=
"queryForm.instrumentTypeId"
:options=
"equiList"
:normalizer=
"normalizer"
<treeselect
v-model=
"queryForm.instrumentTypeId"
:options=
"equiList"
:normalizer=
"normalizer"
placeholder=
"选择分类编码"
clearable
style=
"width: 192px"
/>
placeholder=
"选择分类编码"
clearable
style=
"width: 192px"
noOptionsText=
"暂无数据"
/>
</el-form-item>
</el-form-item>
<el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"getList"
>
搜索
</el-button>
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"getList"
>
搜索
</el-button>
...
@@ -58,7 +58,7 @@
...
@@ -58,7 +58,7 @@
<el-col
:span=
"20"
>
<el-col
:span=
"20"
>
<el-form-item
label=
"仪器分类"
prop=
"instrumentTypeName"
>
<el-form-item
label=
"仪器分类"
prop=
"instrumentTypeName"
>
<treeselect
v-model=
"form.instrumentTypeName"
:options=
"equiList"
:normalizer=
"normalizer"
<treeselect
v-model=
"form.instrumentTypeName"
:options=
"equiList"
:normalizer=
"normalizer"
placeholder=
"选择"
clearable
style=
"width: 100%"
/>
placeholder=
"选择"
clearable
style=
"width: 100%"
noOptionsText=
"暂无数据"
/>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
</el-row>
</el-row>
...
...
ruoyi-ui/src/views/smartSchool/classAdviser/headmasterLesson/headmasterLesson.vue
0 → 100644
View file @
63b7773f
ruoyi-ui/src/views/smartSchool/gradeWork/courseSelection/secondaryDivision/index.vue
View file @
63b7773f
...
@@ -202,21 +202,33 @@ export default {
...
@@ -202,21 +202,33 @@ export default {
resetQuery
()
{
resetQuery
()
{
this
.
queryForm
=
{
this
.
queryForm
=
{
pageNum
:
1
,
pageNum
:
1
,
pageSize
:
10
,
curriculaId
:
""
,
studentName
:
""
,
classId
:
""
,
selectedCourse
:
""
,
pageNum
:
1
,
pageSize
:
10
pageSize
:
10
};
};
this
.
resetForm
(
"queryForm"
);
this
.
resetForm
(
"queryForm"
);
this
.
getList
();
this
.
getList
();
},
},
// 重置
// 重置
reset
()
{
reset
()
{
this
.
postForm
=
{
this
.
form
=
{
curriculaId
:
''
,
curriculaId
:
""
,
course
:
""
,
courseName
:
""
,
coursePeopleNumber
:
""
,
classesNumber
:
""
,
peopleNumber
:
""
,
divisionClassesRule
:
""
,
divisionClassesFrequency
:
'1'
,
}
}
this
.
resetForm
(
'
postF
orm'
);
this
.
resetForm
(
'
f
orm'
);
},
},
// 取消按钮
// 取消按钮
cancel
()
{
cancel
()
{
this
.
open
=
false
;
this
.
open
=
false
;
...
@@ -232,45 +244,32 @@ export default {
...
@@ -232,45 +244,32 @@ export default {
},
},
// 分班按钮
// 分班按钮
submitForm
()
{
submitForm
()
{
// 检查是否已经分班
const
alreadyDivided
=
this
.
selectedCourse
.
every
(
course
=>
course
.
divisionClassesRule
!==
""
);
console
.
log
(
'this.selectedCourse'
,
this
.
selectedCourse
);
if
(
alreadyDivided
)
{
this
.
$message
.
warning
(
"已经分班,无法重复操作"
);
return
;
}
this
.
$confirm
(
'确定要分班吗?'
,
'提示'
,
{
this
.
$confirm
(
'确定要分班吗?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
type
:
'warning'
}).
then
(()
=>
{
}).
then
(()
=>
{
// let that = this;
const
formData
=
this
.
selectedCourse
.
map
((
course
)
=>
{
// for (let i = 0; i
<
this
.
selectedCourse
.
length
;
i
++
)
{
console
.
log
(
course
);
// that.selectedCourse[i].divisionClassesRule = that.form.divisionClassesRule;
return
{
// const course = this.selectedCourse[i];
curriculaId
:
this
.
queryForm
.
curriculaId
,
// console.log('course.divisionClassesRule:', course.divisionClassesRule);
course
:
course
.
course
,
// console.log('course.classesNumber:', course.classesNumber);
classesNumber
:
course
.
classesNumber
,
// console.log('course.peopleNumber:', course.peopleNumber);
peopleNumber
:
course
.
peopleNumber
,
// if (course.divisionClassesRule === '' || course.classesNumber === '' || course.peopleNumber === '') {
coursePeopleNumber
:
course
.
peopleNumber
,
// this.$message.error("分班规则、班级数量和每班人数不能为空");
divisionClassesRule
:
this
.
form
.
divisionClassesRule
,
// return;
divisionClassesFrequency
:
course
.
divisionClassesFrequency
// }
};
// let totalPeopleNumber = course.classesNumber * course.peopleNumber;
});
// if (totalPeopleNumber > this.selectedCourse.length) {
addDivisionec
(
formData
).
then
((
response
)
=>
{
// this.$message.error("班级数量和每班人数相乘不能超过总人数");
console
.
log
(
response
);
// return;
this
.
$modal
.
msgSuccess
(
'分班成功'
);
// }
// }
// console.log('this.selectedCourse', this.selectedCourse);
addDivisionec
(
this
.
selectedCourse
).
then
((
response
)
=>
{
console
.
log
(
'this.selectedCourse'
,
this
.
selectedCourse
);
this
.
$modal
.
msgSuccess
(
"分班成功"
);
this
.
open
=
false
;
this
.
open
=
false
;
this
.
getList
();
this
.
getList
();
}).
catch
(
error
=>
{
}).
catch
(
error
=>
{
console
.
error
(
error
);
});
})
})
})
...
...
ruoyi-ui/src/views/smartSchool/gradeWork/courseSelection/summerViewing/index.vue
View file @
63b7773f
...
@@ -49,8 +49,8 @@
...
@@ -49,8 +49,8 @@
<el-col
:span=
"24"
>
<el-col
:span=
"24"
>
<el-form-item
label=
"分班规则"
prop=
"divisionClassesRule"
>
<el-form-item
label=
"分班规则"
prop=
"divisionClassesRule"
>
<el-radio-group
v-model=
"form.divisionClassesRule"
>
<el-radio-group
v-model=
"form.divisionClassesRule"
>
<el-radio
label=
'1'
>
平行分班
</el-radio>
<el-radio
label=
"1"
>
平行分班
</el-radio>
<el-radio
label=
'2'
>
分层分班
</el-radio>
<el-radio
label=
"2"
>
分层分班
</el-radio>
</el-radio-group>
</el-radio-group>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
...
@@ -63,9 +63,9 @@
...
@@ -63,9 +63,9 @@
<el-input
v-model=
"course.peopleNumber"
placeholder=
"每班人数"
></el-input>
<el-input
v-model=
"course.peopleNumber"
placeholder=
"每班人数"
></el-input>
</div>
</div>
</el-form-item>
</el-form-item>
</div>
</div>
</el-form>
</el-form>
<div
style=
"text-align: center"
>
<div
style=
"text-align: center"
>
<el-button
type=
"primary"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
type=
"primary"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
...
@@ -88,15 +88,15 @@ export default {
...
@@ -88,15 +88,15 @@ export default {
dicts
:
[
'section_type'
],
dicts
:
[
'section_type'
],
data
()
{
data
()
{
return
{
return
{
divisionClassesRule
:
''
,
selectedCourse
:
[],
selectedCourse
:
[],
classList
:
[],
classList
:
[],
// 查询表单
// 查询表单
queryForm
:
{
queryForm
:
{
divisionClassesRule
:
''
,
curriculaId
:
""
,
curriculaId
:
''
,
studentName
:
""
,
studentsName
:
''
,
classId
:
""
,
classId
:
''
,
selectedCourse
:
""
,
selectedCourse
:
''
,
pageNum
:
1
,
pageNum
:
1
,
pageSize
:
10
pageSize
:
10
},
},
...
@@ -188,12 +188,12 @@ export default {
...
@@ -188,12 +188,12 @@ export default {
coursePeopleNumber
:
item
.
peopleNumber
,
coursePeopleNumber
:
item
.
peopleNumber
,
classesNumber
:
''
,
classesNumber
:
''
,
peopleNumber
:
''
,
peopleNumber
:
''
,
divisionClassesRule
:
''
,
divisionClassesRule
:
""
,
divisionClassesFrequency
:
'1'
divisionClassesFrequency
:
'1'
}
}
});
});
//
console.log('this.selectedCourse', this.selectedCourse);
console
.
log
(
'this.selectedCourse'
,
this
.
selectedCourse
);
}
}
})
})
},
},
...
@@ -202,7 +202,14 @@ export default {
...
@@ -202,7 +202,14 @@ export default {
resetQuery
()
{
resetQuery
()
{
this
.
queryForm
=
{
this
.
queryForm
=
{
pageNum
:
1
,
pageNum
:
1
,
pageSize
:
10
,
curriculaId
:
""
,
studentName
:
""
,
classId
:
""
,
selectedCourse
:
""
,
pageNum
:
1
,
pageSize
:
10
pageSize
:
10
};
};
this
.
resetForm
(
"queryForm"
);
this
.
resetForm
(
"queryForm"
);
this
.
getList
();
this
.
getList
();
...
@@ -210,10 +217,17 @@ export default {
...
@@ -210,10 +217,17 @@ export default {
// 重置
// 重置
reset
()
{
reset
()
{
this
.
postForm
=
{
this
.
form
=
{
curriculaId
:
''
,
curriculaId
:
""
,
course
:
""
,
courseName
:
""
,
coursePeopleNumber
:
""
,
classesNumber
:
""
,
peopleNumber
:
""
,
divisionClassesRule
:
""
,
divisionClassesFrequency
:
'1'
,
}
}
this
.
resetForm
(
'
postF
orm'
);
this
.
resetForm
(
'
f
orm'
);
},
},
// 取消按钮
// 取消按钮
...
@@ -230,47 +244,33 @@ export default {
...
@@ -230,47 +244,33 @@ export default {
},
},
// 分班按钮
// 分班按钮
submitForm
()
{
submitForm
()
{
// 检查是否已经分班
const
alreadyDivided
=
this
.
selectedCourse
.
every
(
course
=>
course
.
divisionClassesRule
!==
""
);
console
.
log
(
'this.selectedCourse'
,
this
.
selectedCourse
);
if
(
alreadyDivided
)
{
this
.
$message
.
warning
(
"已经分班,无法重复操作"
);
return
;
}
this
.
$confirm
(
'确定要分班吗?'
,
'提示'
,
{
this
.
$confirm
(
'确定要分班吗?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
type
:
'warning'
}).
then
(()
=>
{
}).
then
(()
=>
{
// let that = this;
const
formData
=
this
.
selectedCourse
.
map
((
course
)
=>
{
// for (let i = 0; i
<
this
.
selectedCourse
.
length
;
i
++
)
{
// that.selectedCourse[i].divisionClassesRule = that.form.divisionClassesRule;
return
{
// const course = this.selectedCourse[i];
curriculaId
:
this
.
queryForm
.
curriculaId
,
// console.log('course.divisionClassesRule:', course.divisionClassesRule);
course
:
course
.
course
,
// console.log('course.classesNumber:', course.classesNumber);
classesNumber
:
course
.
classesNumber
,
// console.log('course.peopleNumber:', course.peopleNumber);
peopleNumber
:
course
.
peopleNumber
,
// if (course.divisionClassesRule === '' || course.classesNumber === '' || course.peopleNumber === '') {
coursePeopleNumber
:
course
.
peopleNumber
,
// this.$message.error("分班规则、班级数量和每班人数不能为空");
divisionClassesRule
:
this
.
form
.
divisionClassesRule
,
// return;
divisionClassesFrequency
:
course
.
divisionClassesFrequency
// }
};
// let totalPeopleNumber = course.classesNumber * course.peopleNumber;
});
// console.log('totalPeopleNumber', totalPeopleNumber);
// if (totalPeopleNumber > this.coursePeopleNumber) {
addDivision
(
formData
).
then
((
response
)
=>
{
// console.log('this.coursePeopleNumber', this.coursePeopleNumber);
console
.
log
(
response
);
// this.$message.error("班级数量和每班人数相乘不能超过总人数");
this
.
$modal
.
msgSuccess
(
'分班成功'
);
// return;
// }
// }
// console.log('this.selectedCourse', this.selectedCourse);
addDivision
(
this
.
selectedCourse
).
then
((
response
)
=>
{
console
.
log
(
'this.selectedCourse'
,
this
.
selectedCourse
);
this
.
$modal
.
msgSuccess
(
"分班成功"
);
this
.
open
=
false
;
this
.
open
=
false
;
this
.
getList
();
this
.
getList
();
}).
catch
(
error
=>
{
}).
catch
(
error
=>
{
console
.
error
(
error
);
});
})
})
})
...
@@ -285,6 +285,8 @@ export default {
...
@@ -285,6 +285,8 @@ export default {
}
}
}
}
</
script
>
</
script
>
...
...
ruoyi-ui/src/views/smartSchool/gradeWork/courseSelection/taskPublishing/index.vue
View file @
63b7773f
...
@@ -72,8 +72,8 @@
...
@@ -72,8 +72,8 @@
<el-col
:span=
"16"
>
<el-col
:span=
"16"
>
<el-form-item
label=
"发布时间"
>
<el-form-item
label=
"发布时间"
>
<el-date-picker
v-model=
"dateRange"
type=
"daterange"
range-separator=
"至"
<el-date-picker
v-model=
"dateRange"
type=
"daterange"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
format=
"yyyy-MM-dd
HH:mm:ss
"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
format=
"yyyy-MM-dd"
value-format=
"yyyy-MM-dd
HH:mm:ss
"
:style=
"
{ width: '100%' }">
value-format=
"yyyy-MM-dd"
:style=
"
{ width: '100%' }">
</el-date-picker>
</el-date-picker>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
...
...
ruoyi-ui/src/views/smartSchool/gradeWork/laboratoryManagement/laboratoryAppointment/index.vue
View file @
63b7773f
...
@@ -86,8 +86,6 @@
...
@@ -86,8 +86,6 @@
<el-option
v-for=
"item in tableList"
:key=
"item.id"
:value=
"item.experimentName"
<el-option
v-for=
"item in tableList"
:key=
"item.id"
:value=
"item.experimentName"
:label=
"item.experimentName"
></el-option>
:label=
"item.experimentName"
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"8"
>
<el-col
:span=
"8"
>
...
@@ -267,7 +265,6 @@ export default {
...
@@ -267,7 +265,6 @@ export default {
},
},
methods
:
{
methods
:
{
//表单查询
//表单查询
getList
()
{
getList
()
{
getLabplanlist
(
this
.
queryForm
).
then
(
response
=>
{
getLabplanlist
(
this
.
queryForm
).
then
(
response
=>
{
...
@@ -289,10 +286,8 @@ export default {
...
@@ -289,10 +286,8 @@ export default {
//选择实验名称自动带出信息
//选择实验名称自动带出信息
getName
()
{
getName
()
{
const
selectedExperiment
=
this
.
tableList
.
find
(
experiment
=>
experiment
.
experimentName
===
this
.
form
.
experimentName
);
const
selectedExperiment
=
this
.
tableList
.
find
(
experiment
=>
experiment
.
experimentName
===
this
.
form
.
experimentName
);
if
(
selectedExperiment
)
{
if
(
selectedExperiment
)
{
this
.
selectedExperiment
=
selectedExperiment
;
// 确保将选中的实验赋值给 selectedExperiment
this
.
selectedExperiment
=
selectedExperiment
;
// 确保将选中的实验赋值给 selectedExperiment
// 将实验的字段赋值给表单字段
// 将实验的字段赋值给表单字段
this
.
form
.
experimentPlanId
=
selectedExperiment
.
chapterContent
?.
id
||
""
;
this
.
form
.
experimentPlanId
=
selectedExperiment
.
chapterContent
?.
id
||
""
;
this
.
form
.
chapterContent
=
selectedExperiment
.
chapterContent
||
""
;
this
.
form
.
chapterContent
=
selectedExperiment
.
chapterContent
||
""
;
...
@@ -368,7 +363,8 @@ export default {
...
@@ -368,7 +363,8 @@ export default {
this
.
nowType
=
type
;
this
.
nowType
=
type
;
this
.
getSchholyear
();
this
.
getSchholyear
();
if
(
type
!=
0
)
{
if
(
type
!=
0
)
{
const
id
=
row
.
id
if
(
row
&&
row
.
id
)
{
const
id
=
row
.
id
;
getLabplanxq
(
id
).
then
(
response
=>
{
getLabplanxq
(
id
).
then
(
response
=>
{
if
(
response
.
code
==
200
)
{
if
(
response
.
code
==
200
)
{
console
.
log
(
response
);
console
.
log
(
response
);
...
@@ -376,9 +372,11 @@ export default {
...
@@ -376,9 +372,11 @@ export default {
if
(
response
.
data
[
key
])
{
if
(
response
.
data
[
key
])
{
this
.
$set
(
this
.
form
,
key
,
response
.
data
[
key
]);
this
.
$set
(
this
.
form
,
key
,
response
.
data
[
key
]);
}
}
})
});
}
}
})
});
}
}
}
this
.
dialogTableVisible
=
true
;
this
.
dialogTableVisible
=
true
;
},
},
...
@@ -418,7 +416,7 @@ export default {
...
@@ -418,7 +416,7 @@ export default {
declareState
:
'0'
,
declareState
:
'0'
,
};
};
console
.
log
(
params
);
addLabplan
(
params
).
then
(
response
=>
{
addLabplan
(
params
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
'保存成功'
);
this
.
$modal
.
msgSuccess
(
'保存成功'
);
this
.
dialogTableVisible
=
false
;
this
.
dialogTableVisible
=
false
;
...
...
ruoyi-ui/src/views/smartSchool/indexMould/myTask/teachLeaveApprove/HandleResolve/TeacherLeaveInfo.vue
View file @
63b7773f
...
@@ -8,7 +8,7 @@
...
@@ -8,7 +8,7 @@
<el-row
:gutter=
"20"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"老师姓名"
prop=
"teacherName"
>
<el-form-item
label=
"老师姓名"
prop=
"teacherName"
>
<el-input
readonly
:value=
"infoForm.teacherName"
/>
<el-input
readonly
:value=
"infoForm.teacherName"
/>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
...
@@ -32,14 +32,14 @@
...
@@ -32,14 +32,14 @@
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"请假开始时间"
prop=
"startTime"
>
<el-form-item
label=
"请假开始时间"
prop=
"startTime"
>
<el-date-picker
readonly
style=
"width: 100%"
v-model=
"infoForm.startTime"
type=
"datetime"
<el-date-picker
readonly
style=
"width: 100%"
v-model=
"infoForm.startTime"
type=
"datetime"
value-format=
"yyyy-MM-
dd HH:mm:ss"
placeholder=
"选择开始时间"
></el-date-picker>
value-format=
"yyyy/MM/
dd HH:mm:ss"
placeholder=
"选择开始时间"
></el-date-picker>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"请假结束时间"
prop=
"endTime"
>
<el-form-item
label=
"请假结束时间"
prop=
"endTime"
>
<el-date-picker
readonly
style=
"width: 100%"
v-model=
"infoForm.endTime"
type=
"datetime"
<el-date-picker
readonly
style=
"width: 100%"
v-model=
"infoForm.endTime"
type=
"datetime"
value-format=
"yyyy-MM-
dd HH:mm:ss"
placeholder=
"选择结束时间"
></el-date-picker>
value-format=
"yyyy/MM/
dd HH:mm:ss"
placeholder=
"选择结束时间"
></el-date-picker>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
</el-row>
</el-row>
...
@@ -74,7 +74,7 @@
...
@@ -74,7 +74,7 @@
<el-col>
<el-col>
<el-form-item
label=
"请假原因"
>
<el-form-item
label=
"请假原因"
>
<el-input
readonly
:value=
"infoForm.reasonForLeave"
type=
"textarea"
placeholder=
""
<el-input
readonly
:value=
"infoForm.reasonForLeave"
type=
"textarea"
placeholder=
""
:autosize=
"
{ minRows: 3 }"
/>
:autosize=
"
{ minRows: 3 }"
/>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
</el-row>
</el-row>
...
@@ -82,15 +82,13 @@
...
@@ -82,15 +82,13 @@
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"实际开始时间"
prop=
"realityStartTime"
>
<el-form-item
label=
"实际开始时间"
prop=
"realityStartTime"
>
<el-date-picker
style=
"width: 100%"
v-model=
"infoForm.realityStartTime"
type=
"datetime"
<el-date-picker
style=
"width: 100%"
v-model=
"infoForm.realityStartTime"
type=
"datetime"
value-format=
"yyyy-MM-dd HH:mm:ss"
placeholder=
""
value-format=
"yyyy-MM-dd HH:mm:ss"
placeholder=
""
:picker-options=
"limitStartTime"
></el-date-picker>
:picker-options=
"limitStartTime"
></el-date-picker>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"实际结束时间"
prop=
"realityEndTime"
>
<el-form-item
label=
"实际结束时间"
prop=
"realityEndTime"
>
<el-date-picker
style=
"width: 100%"
v-model=
"infoForm.realityEndTime"
type=
"datetime"
<el-date-picker
style=
"width: 100%"
v-model=
"infoForm.realityEndTime"
type=
"datetime"
value-format=
"yyyy-MM-dd HH:mm:ss"
placeholder=
""
value-format=
"yyyy-MM-dd HH:mm:ss"
placeholder=
""
:picker-options=
"limitEndTime"
></el-date-picker>
:picker-options=
"limitEndTime"
></el-date-picker>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
</el-row>
</el-row>
...
@@ -156,8 +154,8 @@ export default {
...
@@ -156,8 +154,8 @@ export default {
limitStartTime
,
limitStartTime
,
infoForm
:
{},
infoForm
:
{},
rules
:
{
rules
:
{
realityStartTime
:
[{
required
:
true
,
message
:
'实际开始时间不能为空'
,
trigger
:
'change'
}],
realityStartTime
:
[{
required
:
true
,
message
:
'实际开始时间不能为空'
,
trigger
:
'change'
}],
realityEndTime
:
[{
required
:
true
,
message
:
'实际结束时间不能为空'
,
trigger
:
'change'
}]
realityEndTime
:
[{
required
:
true
,
message
:
'实际结束时间不能为空'
,
trigger
:
'change'
}]
}
}
}
}
},
},
...
...
ruoyi-ui/src/views/smartSchool/indexMould/myTask/teachLeaveApprove/HandleResolve/index.vue
View file @
63b7773f
...
@@ -5,7 +5,6 @@
...
@@ -5,7 +5,6 @@
:modal=
"false"
:modal=
"false"
fullscreen
fullscreen
:modal-append-to-body=
"false"
:modal-append-to-body=
"false"
>
>
<!--
<template
slot=
"title"
>
-->
<!--
<template
slot=
"title"
>
-->
<!--
<div
class=
"custom-dialog__header"
>
-->
<!--
<div
class=
"custom-dialog__header"
>
-->
...
@@ -15,7 +14,6 @@
...
@@ -15,7 +14,6 @@
<!--
</div>
-->
<!--
</div>
-->
<!--
</div>
-->
<!--
</div>
-->
<!--
</
template
>
-->
<!--
</
template
>
-->
<div
class=
"resolve-dialog-bady"
>
<div
class=
"resolve-dialog-bady"
>
<div
class=
"left-menu"
>
<div
class=
"left-menu"
>
<el-tabs
tab-position=
"left"
v-model=
"asyncComponent"
@
tab-click=
"selectMenu"
style=
"height: 800px"
>
<el-tabs
tab-position=
"left"
v-model=
"asyncComponent"
@
tab-click=
"selectMenu"
style=
"height: 800px"
>
...
@@ -40,8 +38,6 @@
...
@@ -40,8 +38,6 @@
</keep-alive>
</keep-alive>
</div>
</div>
</div>
</div>
</el-dialog>
</el-dialog>
</div>
</div>
</template>
</template>
...
...
ruoyi-ui/src/views/smartSchool/laboratoryManagement/laboratoryManagements/laboratoryCompetition/index.vue
View file @
63b7773f
...
@@ -38,10 +38,15 @@
...
@@ -38,10 +38,15 @@
</el-table-column>
</el-table-column>
<el-table-column
label=
"证书照片"
align=
"center"
prop=
"schoolAccessoryList"
>
<el-table-column
label=
"证书照片"
align=
"center"
prop=
"schoolAccessoryList"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-image
style=
"width: 100px; height: 100px"
:src=
"scope.row.pictureUrl"
<el-carousel
:interval=
"4000"
height=
"100px"
>
:preview-src-list=
"scope.row.previewUrls"
></el-image>
<el-carousel-item
v-for=
"(item, index) in scope.row.schoolAccessoryList"
:key=
"index"
>
<el-image
style=
"width: 100px; height: 100px"
:src=
"item.accessoryUrl"
:preview-src-list=
"[item.accessoryUrl]"
></el-image>
</el-carousel-item>
</el-carousel>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"备注1"
align=
"center"
prop=
"remark1"
/>
<el-table-column
label=
"备注1"
align=
"center"
prop=
"remark1"
/>
<el-table-column
label=
"备注2"
align=
"center"
prop=
"remark2"
/>
<el-table-column
label=
"备注2"
align=
"center"
prop=
"remark2"
/>
<el-table-column
label=
"备注3"
align=
"center"
prop=
"remark3"
/>
<el-table-column
label=
"备注3"
align=
"center"
prop=
"remark3"
/>
...
@@ -115,11 +120,15 @@
...
@@ -115,11 +120,15 @@
<el-upload
v-loading=
"uploadLoading"
class=
"avatar-uploader"
action=
"#"
accept=
"image/*"
<el-upload
v-loading=
"uploadLoading"
class=
"avatar-uploader"
action=
"#"
accept=
"image/*"
:show-file-list=
"false"
:on-success=
"handleAvatarSuccess"
:before-upload=
"beforeAvatarUpload"
:show-file-list=
"false"
:on-success=
"handleAvatarSuccess"
:before-upload=
"beforeAvatarUpload"
:http-request=
"uploadImage"
>
:http-request=
"uploadImage"
>
<img
v-if=
"form.schoolAccessoryList && form.schoolAccessoryList.length > 0"
<div
v-if=
"form.schoolAccessoryList && form.schoolAccessoryList.length > 0"
>
:src=
"form.schoolAccessoryList[0].accessoryUrl"
class=
"avatar"
/>
<el-image
v-for=
"(photo, index) in form.schoolAccessoryList"
:key=
"index"
style=
"width: 100px; height: 100px; margin-right: 10px"
:src=
"photo.accessoryUrl"
:preview-src-list=
"[photo.accessoryUrl]"
></el-image>
</div>
<i
v-else
class=
"el-icon-plus avatar-uploader-icon"
></i>
<i
v-else
class=
"el-icon-plus avatar-uploader-icon"
></i>
</el-upload>
</el-upload>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"10"
>
<el-col
:span=
"10"
>
<el-form-item
label=
"备注1"
>
<el-form-item
label=
"备注1"
>
...
@@ -232,11 +241,13 @@ export default {
...
@@ -232,11 +241,13 @@ export default {
schoolAccessoryList
:
[
schoolAccessoryList
:
[
{
required
:
true
,
message
:
"证书照片不能为空"
,
trigger
:
"change"
}
{
required
:
true
,
message
:
"证书照片不能为空"
,
trigger
:
"change"
}
],
],
competitionName
:
[
{
required
:
true
,
message
:
"比赛项目名称不能为空"
,
trigger
:
"change"
}
],
},
},
previewDialogVisible
:
false
,
previewDialogVisible
:
false
,
teacherList
:
[],
teacherList
:
[],
rules
:
{},
nowType
:
0
,
// 0新增、1编辑、2查看
nowType
:
0
,
// 0新增、1编辑、2查看
}
}
},
},
...
@@ -301,27 +312,30 @@ export default {
...
@@ -301,27 +312,30 @@ export default {
// 上传图片
// 上传图片
uploadImage
(
file
)
{
uploadImage
(
file
)
{
const
fileData
=
file
.
file
const
fileData
=
file
.
file
;
const
formData
=
new
FormData
()
const
formData
=
new
FormData
();
formData
.
append
(
'file'
,
fileData
)
formData
.
append
(
'file'
,
fileData
);
this
.
uploadLoading
=
true
this
.
uploadLoading
=
true
;
// Upload the file and add the uploaded file to the schoolAccessoryList
commonUpload
(
formData
)
commonUpload
(
formData
)
.
then
(
response
=>
{
.
then
(
response
=>
{
this
.
uploadLoading
=
false
this
.
uploadLoading
=
false
;
this
.
$modal
.
msgSuccess
(
'上传成功'
)
this
.
$modal
.
msgSuccess
(
'上传成功'
)
;
this
.
imageUrl
=
process
.
env
.
VUE_APP_BASE_API
+
response
.
url
//
添加以下代码将文件信息添加到 uploadedFiles 数组中
//
Add the uploaded file to the schoolAccessoryList
this
.
uploadedFiles
.
push
({
this
.
form
.
schoolAccessoryList
.
push
({
accessoryUrl
:
process
.
env
.
VUE_APP_BASE_API
+
response
.
url
,
accessoryUrl
:
process
.
env
.
VUE_APP_BASE_API
+
response
.
url
,
accessoryName
:
fileData
.
name
accessoryName
:
fileData
.
name
})
})
;
})
})
.
catch
(
error
=>
{
.
catch
(
error
=>
{
this
.
uploadLoading
=
false
this
.
uploadLoading
=
false
;
})
})
;
},
},
//重置
//重置
resetQuery
()
{
resetQuery
()
{
this
.
queryParams
=
{
this
.
queryParams
=
{
...
@@ -371,25 +385,26 @@ export default {
...
@@ -371,25 +385,26 @@ export default {
}
}
this
.
nowType
=
type
;
this
.
nowType
=
type
;
if
(
type
!=
0
)
{
if
(
type
!=
0
)
{
const
id
=
row
.
id
const
id
=
row
.
id
;
getCompetitionxq
(
id
).
then
(
response
=>
{
getCompetitionxq
(
id
).
then
(
response
=>
{
if
(
response
.
code
==
200
)
{
if
(
response
.
code
==
200
)
{
Object
.
keys
(
this
.
form
).
forEach
(
key
=>
{
Object
.
keys
(
this
.
form
).
forEach
(
key
=>
{
if
(
response
.
data
[
key
])
{
if
(
response
.
data
[
key
])
{
this
.
$set
(
this
.
form
,
key
,
response
.
data
[
key
]);
this
.
$set
(
this
.
form
,
key
,
response
.
data
[
key
]);
}
}
});
// Populate the schoolAccessoryList with multiple images
if
(
response
.
data
.
schoolAccessoryList
&&
response
.
data
.
schoolAccessoryList
.
length
>
0
)
{
if
(
response
.
data
.
schoolAccessoryList
&&
response
.
data
.
schoolAccessoryList
.
length
>
0
)
{
this
.
imageUrl
=
response
.
data
.
schoolAccessoryList
[
0
].
accessoryUrl
;
// 将图片地址赋值给 imageUrl
this
.
form
.
schoolAccessoryList
=
response
.
data
.
schoolAccessoryList
;
}
}
})
}
}
})
})
;
}
}
this
.
dialogVisible
=
true
;
this
.
dialogVisible
=
true
;
},
},
//查询老师
//查询老师
getTeacher
()
{
getTeacher
()
{
getTeacher
().
then
(
response
=>
{
getTeacher
().
then
(
response
=>
{
...
@@ -412,7 +427,6 @@ export default {
...
@@ -412,7 +427,6 @@ export default {
accessoryName
:
file
.
accessoryName
accessoryName
:
file
.
accessoryName
});
});
}
}
updateCompetition
(
this
.
form
).
then
(({
code
})
=>
{
updateCompetition
(
this
.
form
).
then
(({
code
})
=>
{
if
(
code
==
200
)
{
if
(
code
==
200
)
{
this
.
$modal
.
msgSuccess
(
'修改成功'
)
this
.
$modal
.
msgSuccess
(
'修改成功'
)
...
...
ruoyi-ui/src/views/smartSchool/massOrganization/basicInformationManagement/index.vue
View file @
63b7773f
<
template
>
<
template
>
<div
class=
"app-container"
>
<div
class=
"app-container"
>
<el-form
<el-form
:model=
"queryForm"
ref=
"queryForm"
size=
"small"
:inline=
"true"
label-width=
"80px"
>
:model=
"queryForm"
ref=
"queryForm"
size=
"small"
:inline=
"true"
label-width=
"80px"
>
<el-form-item
prop=
"name"
label=
"社团名称"
>
<el-form-item
prop=
"name"
label=
"社团名称"
>
<el-input
v-model=
"queryForm.name"
placeholder=
"社团名称"
></el-input>
<el-input
v-model=
"queryForm.name"
placeholder=
"社团名称"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
prop=
"teachers"
label=
"指导教师"
>
<el-form-item
prop=
"teachers"
label=
"指导教师"
>
<el-input
<el-input
v-model=
"queryForm.teachers"
placeholder=
"指导教师"
></el-input>
v-model=
"queryForm.teachers"
placeholder=
"指导教师"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item>
<el-form-item>
<el-button
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"handleQuery"
>
搜索
</el-button>
type=
"primary"
<el-button
icon=
"el-icon-refresh"
size=
"mini"
@
click=
"resetQuery"
>
重置
</el-button>
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-item>
</el-form>
</el-form>
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-col
:span=
"1.5"
>
<el-col
:span=
"1.5"
>
<el-button
<el-button
type=
"primary"
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAdd()"
>
新增
</el-button>
type=
"primary"
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAdd()"
>
新增
</el-button
>
</el-col>
</el-col>
</el-row>
</el-row>
<!-- 列表 -->
<!-- 列表 -->
<div
class=
"listBlock"
>
<div
class=
"listBlock"
>
<div
class=
"itemBlock"
v-for=
"(task, index) in tasks"
:key=
"index"
>
<div
class=
"itemBlock"
v-for=
"(task, index) in tasks"
:key=
"index"
>
<div
<div
style=
"
style=
"
display: flex;
display: flex;
justify-content: space-between;
justify-content: space-between;
align-items: center;
align-items: center;
"
"
>
>
<div
style=
"width: 50%"
>
<div
style=
"width: 50%"
>
<!-- 任务详细信息 -->
<!-- 任务详细信息 -->
<div
class=
"task-info"
>
<div
class=
"task-info"
>
...
@@ -77,49 +52,17 @@
...
@@ -77,49 +52,17 @@
<!-- 按钮 -->
<!-- 按钮 -->
<div
class=
"task-buttons"
>
<div
class=
"task-buttons"
>
<el-button
<el-button
style=
"margin-left: 10px"
size=
"mini"
type=
"danger"
round
@
click=
"handleDelete(task)"
>
删除
style=
"margin-left: 10px"
size=
"mini"
type=
"danger"
round
@
click=
"handleDelete(task)"
>
删除
</el-button>
</el-button>
<el-button
<el-button
type=
"success"
size=
"small"
round
type=
"success"
@
click=
"clubRegistrationReview(task.id, task.teachers)"
>
社团报名审核
</el-button>
size=
"small"
<el-button
type=
"info"
size=
"small"
round
@
click=
"clubActivityRecord(task.id)"
>
社团活动记录
</el-button>
round
<el-button
type=
"warning"
size=
"small"
round
@
click=
"memberManagement(task.id)"
>
成员管理
@
click=
"clubRegistrationReview(task.id, task.teachers)"
>
社团报名审核
</el-button
>
<el-button
type=
"info"
size=
"small"
round
@
click=
"clubActivityRecord(task.id)"
>
社团活动记录
</el-button
>
<el-button
type=
"warning"
size=
"small"
round
@
click=
"memberManagement(task.id)"
>
成员管理
</el-button>
</el-button>
<el-button
<el-button
class=
"purpleBtn"
size=
"small"
round
type=
"primary"
class=
"purpleBtn"
@
click=
"communityStyle(task.id, task.teachers)"
>
社团风采
size=
"small"
round
type=
"primary"
@
click=
"communityStyle(task.id, task.teachers)"
>
社团风采
</el-button>
</el-button>
<el-button
<el-button
type=
"primary"
size=
"small"
round
@
click=
"basicInformation(task.id, task.teachers)"
>
基础信息管理
type=
"primary"
size=
"small"
round
@
click=
"basicInformation(task.id, task.teachers)"
>
基础信息管理
</el-button>
</el-button>
</div>
</div>
</div>
</div>
...
@@ -129,45 +72,22 @@
...
@@ -129,45 +72,22 @@
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"110px"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"110px"
>
<div>
<div>
<el-form-item
label=
"社团名称"
prop=
"name"
>
<el-form-item
label=
"社团名称"
prop=
"name"
>
<el-input
<el-input
v-model=
"form.name"
placeholder=
"请输入社团名称"
></el-input>
v-model=
"form.name"
placeholder=
"请输入社团名称"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"指导教师"
prop=
"teachers"
>
<el-form-item
label=
"指导教师"
prop=
"teachers"
>
<el-select
<el-select
style=
"width: 100%"
multiple
v-model=
"form.teachers"
filterable
placeholder=
"请选择指导教师"
style=
"width: 100%"
@
change=
"changeTeacher"
>
multiple
<el-option
v-for=
"item in teacherInfo"
:key=
"item.teacherCode"
:label=
"item.teacherName"
v-model=
"form.teachers"
:value=
"item.teacherCode"
>
filterable
placeholder=
"请选择指导教师"
@
change=
"changeTeacher"
>
<el-option
v-for=
"item in teacherInfo"
:key=
"item.teacherCode"
:label=
"item.teacherName"
:value=
"item.teacherCode"
>
</el-option>
</el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<el-form-item
label=
"社团宗旨"
prop=
"aim"
>
<el-form-item
label=
"社团宗旨"
prop=
"aim"
>
<el-input
<el-input
type=
"textarea"
:rows=
"4"
v-model=
"form.aim"
placeholder=
"请输入社团宗旨"
></el-input>
type=
"textarea"
:rows=
"4"
v-model=
"form.aim"
placeholder=
"请输入社团宗旨"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"社团简介"
prop=
"intro"
>
<el-form-item
label=
"社团简介"
prop=
"intro"
>
<el-input
<el-input
type=
"textarea"
:rows=
"4"
v-model=
"form.intro"
placeholder=
"请输入社团简介"
></el-input>
type=
"textarea"
:rows=
"4"
v-model=
"form.intro"
placeholder=
"请输入社团简介"
></el-input>
</el-form-item>
</el-form-item>
</div>
</div>
</el-form>
</el-form>
...
@@ -368,7 +288,7 @@ export default {
...
@@ -368,7 +288,7 @@ export default {
this
.
$message
.
success
(
"修改成功"
);
this
.
$message
.
success
(
"修改成功"
);
this
.
open
=
false
;
this
.
open
=
false
;
})
})
.
catch
((
err
)
=>
{});
.
catch
((
err
)
=>
{
});
}
else
{
}
else
{
// 新增
// 新增
const
params
=
{
const
params
=
{
...
@@ -385,7 +305,7 @@ export default {
...
@@ -385,7 +305,7 @@ export default {
this
.
$message
.
success
(
"新增成功"
);
this
.
$message
.
success
(
"新增成功"
);
this
.
open
=
false
;
this
.
open
=
false
;
})
})
.
catch
((
err
)
=>
{});
.
catch
((
err
)
=>
{
});
}
}
}
}
});
});
...
@@ -403,7 +323,7 @@ export default {
...
@@ -403,7 +323,7 @@ export default {
this
.
getList
();
this
.
getList
();
this
.
$modal
.
msgSuccess
(
"删除成功"
);
this
.
$modal
.
msgSuccess
(
"删除成功"
);
})
})
.
catch
(()
=>
{});
.
catch
(()
=>
{
});
},
},
// 重置表单
// 重置表单
reset
()
{
reset
()
{
...
@@ -466,7 +386,7 @@ export default {
...
@@ -466,7 +386,7 @@ export default {
text-align
:
left
;
text-align
:
left
;
}
}
.task-level
>
span
{
.task-level
>
span
{
margin-right
:
25px
;
margin-right
:
25px
;
}
}
...
@@ -490,13 +410,13 @@ export default {
...
@@ -490,13 +410,13 @@ export default {
padding-left
:
60%
;
padding-left
:
60%
;
}
}
.task-count
>
.count
{
.task-count
>
.count
{
font-weight
:
bold
;
font-weight
:
bold
;
color
:
#307def
;
color
:
#307def
;
font-size
:
45px
;
font-size
:
45px
;
}
}
.task-count
>
.sun
{
.task-count
>
.sun
{
color
:
rgba
(
16
,
16
,
16
,
1
);
color
:
rgba
(
16
,
16
,
16
,
1
);
font-size
:
18px
;
font-size
:
18px
;
text-align
:
center
;
text-align
:
center
;
...
...
ruoyi-ui/src/views/smartSchool/massOrganization/communityStyle/index.vue
View file @
63b7773f
<
template
>
<
template
>
<div
class=
"app-container"
>
<div
class=
"app-container"
>
<el-form
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
<el-form-item
label=
"标题"
prop=
"theme"
>
<el-form-item
label=
"标题"
prop=
"theme"
>
<el-input
<el-input
v-model=
"queryParams.theme"
placeholder=
"请输入标题"
clearable
/>
v-model=
"queryParams.theme"
placeholder=
"请输入标题"
clearable
/>
</el-form-item>
</el-form-item>
<el-form-item>
<el-form-item>
<el-button
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"handleQuery"
>
搜索
</el-button>
type=
"primary"
<el-button
icon=
"el-icon-refresh"
size=
"mini"
@
click=
"resetQuery"
>
重置
</el-button>
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-item>
</el-form>
</el-form>
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-row
:gutter=
"10"
class=
"mb8"
>
<el-col
:span=
"1.5"
>
<el-col
:span=
"1.5"
>
<el-button
<el-button
type=
"primary"
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAdd"
>
新增
type=
"primary"
icon=
"el-icon-plus"
size=
"mini"
@
click=
"handleAdd"
>
新增
</el-button>
</el-button>
</el-col>
</el-col>
<el-col
:span=
"1.5"
>
<el-col
:span=
"1.5"
>
<el-button
<el-button
type=
"danger"
icon=
"el-icon-delete"
size=
"mini"
:disabled=
"multiple"
@
click=
"handleDelete"
>
删除
type=
"danger"
icon=
"el-icon-delete"
size=
"mini"
:disabled=
"multiple"
@
click=
"handleDelete"
>
删除
</el-button>
</el-button>
</el-col>
</el-col>
</el-row>
</el-row>
<el-table
<el-table
v-loading=
"loading"
ref=
"table"
:data=
"picList"
@
selection-change=
"handleSelectionChange"
>
v-loading=
"loading"
ref=
"table"
:data=
"picList"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"序号"
align=
"center"
type=
"index"
width=
"80"
/>
<el-table-column
label=
"序号"
align=
"center"
type=
"index"
width=
"80"
/>
<el-table-column
label=
"风采主题"
align=
"center"
prop=
"theme"
/>
<el-table-column
label=
"风采主题"
align=
"center"
prop=
"theme"
/>
...
@@ -68,84 +33,39 @@
...
@@ -68,84 +33,39 @@
</el-table-column>
</el-table-column>
<el-table-column
label=
"是否发布"
align=
"center"
prop=
"isfb"
>
<el-table-column
label=
"是否发布"
align=
"center"
prop=
"isfb"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-switch
<el-switch
v-model=
"scope.row.isShow"
active-value=
"1"
inactive-value=
"0"
v-model=
"scope.row.isShow"
@
change=
"handleIsShow(scope.row)"
></el-switch>
active-value=
"1"
inactive-value=
"0"
@
change=
"handleIsShow(scope.row)"
></el-switch>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<!-- 未发布可以修改删除 -->
<!-- 未发布可以修改删除 -->
<div>
<div>
<el-button
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleUpdate(scope.row)"
>
修改
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleUpdate(scope.row)"
>
修改
</el-button>
</el-button>
<el-button
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"handleDelete(scope.row)"
>
删除
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"handleDelete(scope.row)"
>
删除
</el-button>
</el-button>
</div>
</div>
<el-button
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleCheck(scope.row)"
>
查看
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleCheck(scope.row)"
>
查看
</el-button>
</el-button>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
<pagination
<pagination
v-show=
"total > 0"
:total=
"total"
:page
.
sync=
"queryParams.pageNum"
:limit
.
sync=
"queryParams.pageSize"
v-show=
"total > 0"
@
pagination=
"getList"
/>
:total=
"total"
:page
.
sync=
"queryParams.pageNum"
:limit
.
sync=
"queryParams.pageSize"
@
pagination=
"getList"
/>
<!-- 添加或修改社团主题对话框 -->
<!-- 添加或修改社团主题对话框 -->
<el-dialog
:title=
"title"
:visible
.
sync=
"open"
width=
"900px"
append-to-body
>
<el-dialog
:title=
"title"
:visible
.
sync=
"open"
width=
"900px"
append-to-body
>
<el-form
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"90px"
style=
"width: 80%; margin: auto"
>
ref=
"form"
<el-form-item
prop=
"file"
style=
"
:model=
"form"
:rules=
"rules"
label-width=
"90px"
style=
"width: 80%; margin: auto"
>
<el-form-item
prop=
"file"
style=
"
display: flex;
display: flex;
text-align: center;
text-align: center;
justify-content: center;
justify-content: center;
transform: translateX(-30px);
transform: translateX(-30px);
"
"
>
>
<el-upload
v-loading=
"uploadLoading"
class=
"avatar-uploader"
action=
"#"
accept=
"image/*"
:show-file-list=
"false"
<el-upload
:on-success=
"handleAvatarSuccess"
:before-upload=
"beforeAvatarUpload"
:http-request=
"uploadImage"
>
v-loading=
"uploadLoading"
class=
"avatar-uploader"
action=
"#"
accept=
"image/*"
:show-file-list=
"false"
:on-success=
"handleAvatarSuccess"
:before-upload=
"beforeAvatarUpload"
:http-request=
"uploadImage"
>
<img
v-if=
"form.file"
:src=
"form.file"
class=
"avatar"
/>
<img
v-if=
"form.file"
:src=
"form.file"
class=
"avatar"
/>
<i
v-else
class=
"el-icon-plus avatar-uploader-icon"
></i>
<i
v-else
class=
"el-icon-plus avatar-uploader-icon"
></i>
</el-upload>
</el-upload>
...
@@ -154,12 +74,8 @@
...
@@ -154,12 +74,8 @@
<el-row
:gutter=
"20"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"风采主题:"
prop=
"theme"
>
<el-form-item
label=
"风采主题:"
prop=
"theme"
>
<el-input
<el-input
:readonly=
"check == true ? true : false"
v-model=
"form.theme"
placeholder=
"请输入风采主题"
:readonly=
"check == true ? true : false"
style=
"width: 100%"
/>
v-model=
"form.theme"
placeholder=
"请输入风采主题"
style=
"width: 100%"
/>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
</el-row>
</el-row>
...
@@ -463,7 +379,7 @@ export default {
...
@@ -463,7 +379,7 @@ export default {
this
.
$message
.
success
(
"修改成功"
);
this
.
$message
.
success
(
"修改成功"
);
this
.
open
=
false
;
this
.
open
=
false
;
})
})
.
catch
((
err
)
=>
{});
.
catch
((
err
)
=>
{
});
}
else
{
}
else
{
// 新增
// 新增
const
params
=
{
const
params
=
{
...
@@ -478,7 +394,7 @@ export default {
...
@@ -478,7 +394,7 @@ export default {
this
.
$message
.
success
(
"新增成功"
);
this
.
$message
.
success
(
"新增成功"
);
this
.
open
=
false
;
this
.
open
=
false
;
})
})
.
catch
((
err
)
=>
{});
.
catch
((
err
)
=>
{
});
}
}
}
}
});
});
...
@@ -489,8 +405,7 @@ export default {
...
@@ -489,8 +405,7 @@ export default {
if
(
ids
)
{
if
(
ids
)
{
this
.
$modal
this
.
$modal
.
confirm
(
.
confirm
(
`是否确认删除选中的
${
`是否确认删除选中的
${
Object
.
hasOwnProperty
.
call
(
ids
,
"length"
)
?
ids
.
length
:
1
Object
.
hasOwnProperty
.
call
(
ids
,
"length"
)
?
ids
.
length
:
1
}
条数据?`
}
条数据?`
)
)
.
then
(()
=>
{
.
then
(()
=>
{
...
@@ -522,7 +437,7 @@ export default {
...
@@ -522,7 +437,7 @@ export default {
isCommunityFb
(
data
)
isCommunityFb
(
data
)
.
then
((
response
)
=>
{
.
then
((
response
)
=>
{
this
.
$modal
.
closeLoading
();
this
.
$modal
.
closeLoading
();
this
.
$m
odal
.
msgS
uccess
(
"修改成功"
);
this
.
$m
essage
.
s
uccess
(
"修改成功"
);
})
})
.
catch
((
error
)
=>
{
.
catch
((
error
)
=>
{
this
.
$modal
.
closeLoading
();
this
.
$modal
.
closeLoading
();
...
@@ -532,6 +447,7 @@ export default {
...
@@ -532,6 +447,7 @@ export default {
// 取消操作时的逻辑
// 取消操作时的逻辑
});
});
},
},
},
},
};
};
</
script
>
</
script
>
...
...
ruoyi-ui/src/views/smartSchool/personWork/logisticsWarranty/index.vue
View file @
63b7773f
...
@@ -502,8 +502,11 @@ export default {
...
@@ -502,8 +502,11 @@ export default {
}
}
}
}
});
});
})
})
();
},
},
// 反馈结果按钮
// 反馈结果按钮
submitFormfk
()
{
submitFormfk
()
{
this
.
$refs
.
formfk
.
validate
((
valid
)
=>
{
this
.
$refs
.
formfk
.
validate
((
valid
)
=>
{
...
...
ruoyi-ui/src/views/smartSchool/schoolManage/schoolNotice/infoPush/components/receiveList.vue
View file @
63b7773f
...
@@ -188,7 +188,7 @@ export default {
...
@@ -188,7 +188,7 @@ export default {
/** 关闭 */
/** 关闭 */
handleClose
()
{
handleClose
()
{
this
.
$tab
.
closeOpenPage
({
this
.
$tab
.
closeOpenPage
({
path
:
'/schoolManage/school
InfoPush
'
path
:
'/schoolManage/school
Notice/school
'
});
});
},
},
...
...
ruoyi-ui/src/views/smartSchool/schoolManage/schoolNotice/infoPush/school/index.vue
View file @
63b7773f
...
@@ -6,7 +6,6 @@
...
@@ -6,7 +6,6 @@
<el-tab-pane
label=
"停用"
:name=
"State.STOP"
></el-tab-pane>
<el-tab-pane
label=
"停用"
:name=
"State.STOP"
></el-tab-pane>
</el-tabs>
</el-tabs>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
<el-form-item
label=
"标题"
prop=
"title"
>
<el-form-item
label=
"标题"
prop=
"title"
>
<el-input
size=
"small"
v-model=
"queryParams.title"
placeholder=
"请输入标题"
clearable
<el-input
size=
"small"
v-model=
"queryParams.title"
placeholder=
"请输入标题"
clearable
...
...
ruoyi-ui/src/views/smartSchool/schoolManage/schoolNotice/personnelGrouping/authUser.vue
View file @
63b7773f
...
@@ -244,7 +244,7 @@ export default {
...
@@ -244,7 +244,7 @@ export default {
// 返回按钮
// 返回按钮
handleClose
()
{
handleClose
()
{
const
obj
=
{
path
:
"/s
ystem/role
"
};
const
obj
=
{
path
:
"/s
choolManage/schoolNotice/personnelGrouping
"
};
this
.
$tab
.
closeOpenPage
(
obj
);
this
.
$tab
.
closeOpenPage
(
obj
);
},
},
...
...
ruoyi-ui/src/views/smartSchool/schoolProperty/equipmenTledger/index copy.vue
0 → 100644
View file @
63b7773f
<
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>
</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=
"自编码"
width=
"140"
fixed=
"left"
></el-table-column>
<el-table-column
align=
"center"
prop=
"equipmentName"
label=
"设备名称"
fixed=
"left"
></el-table-column>
<el-table-column
align=
"center"
prop=
"model"
label=
"型号"
fixed=
"left"
></el-table-column>
<el-table-column
align=
"center"
prop=
"specification"
label=
"规格"
fixed=
"left"
></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=
"是否允许借出"
width=
"120"
>
<
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=
"投产日期"
width=
"120"
></el-table-column>
<el-table-column
align=
"center"
prop=
"price"
label=
"价格(元)"
width=
"100"
></el-table-column>
<el-table-column
align=
"center"
prop=
"lifeOfUtility"
label=
"效用年限(年)"
width=
"120"
></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-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>
</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>
</template>
<
script
>
import
{
getToken
}
from
"@/utils/auth"
;
import
{
addEquipmentLedger
,
deleteEquipmentLedger
,
editEquipmentLedger
,
getEquipmentLedger
,
getEquipmentLedgerDetailByID
,
getModelByID
,
getUserList
}
from
"../../../../api/smartSchool/schoolProperty/equipmenTledger"
;
import
{
getProduct
}
from
"../../../../api/smartSchool/schoolProperty/classiFication"
;
import
Treeselect
from
"@riophae/vue-treeselect"
;
import
"@riophae/vue-treeselect/dist/vue-treeselect.css"
;
import
QRCode
from
"qrcodejs2"
;
// 生成二维码插件
import
printJS
from
"print-js"
;
// 打印插件
import
*
as
dd
from
'dingtalk-jsapi'
;
export
default
{
name
:
"index"
,
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'
}
],
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
()
this
.
getList
()
},
methods
:
{
//获取分类编码树形下拉框
getClassificationCodeTree
()
{
getProduct
().
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
classificationOptions
=
this
.
handleTree
(
res
.
rows
,
"id"
)
}
})
},
/** 查询列表 */
getList
()
{
this
.
loading
=
true
getEquipmentLedger
({
...
this
.
queryParams
}).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
total
=
res
.
total
this
.
deviceData
=
res
.
rows
this
.
loading
=
false
}
})
},
/** 重置按钮操作 */
resetQuery
()
{
this
.
queryParams
=
{
pageNum
:
1
,
pageSize
:
10
,
equipmentName
:
''
,
classificationCode
:
undefined
,
equipmentState
:
''
,
affiliationType
:
''
,
}
this
.
getList
()
},
/** 转换分类编码数据结构 */
normalizer
(
node
)
{
if
(
node
.
children
&&
!
node
.
children
.
length
)
{
delete
node
.
children
;
}
return
{
id
:
node
.
classificationCode
,
label
:
node
.
equipmentType
,
children
:
node
.
children
};
},
//弹出层分类编码选择事件 获取当前分类编码的型号
selectNode
(
node
)
{
const
id
=
node
.
classificationCode
getModelByID
(
id
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
form
.
model
=
res
.
data
.
model
}
})
},
//0 入库 1 编辑 2 查看
showDetail
(
type
,
id
)
{
this
.
form
=
{
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
)
{
Object
.
keys
(
this
.
form
).
forEach
(
key
=>
{
res
.
data
[
key
]
&&
(
this
.
form
[
key
]
=
res
.
data
[
key
])
})
}
})
}
this
.
dialogVisible
=
true
},
//使用人列表数据
getSelectUser
()
{
getUserList
().
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
userList
=
res
.
rows
}
})
},
//表单提交
submitForm
()
{
const
useId
=
this
.
form
.
useId
this
.
form
.
useName
=
useId
==
''
?
''
:
this
.
userList
.
find
(
item
=>
item
.
userId
==
useId
).
userName
this
.
$refs
[
'form'
].
validate
((
valid
)
=>
{
if
(
valid
)
{
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
,
useId
,
remark
:
this
.
form
.
remark
,
}
addEquipmentLedger
(
data
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
$message
.
success
(
"设备台账入库成功!"
)
this
.
dialogVisible
=
false
this
.
getList
()
}
})
}
else
if
(
this
.
nowOptionType
==
1
)
{
//1 编辑
editEquipmentLedger
({
...
this
.
form
}).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
$message
.
success
(
"设备台账编辑成功!"
)
this
.
dialogVisible
=
false
this
.
getList
()
}
})
}
}
})
},
//出库
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
)
{
this
.
$message
({
type
:
'success'
,
message
:
'出库成功!'
});
this
.
getList
();
}
})
}).
catch
(()
=>
{
this
.
$message
({
type
:
'info'
,
message
:
'已取消出库!'
});
});
},
//模版下载
importTemplate
()
{
this
.
download
(
"/equipmentLedger/importTemplate"
,
{},
`设备台账_template_
${
new
Date
().
getTime
()}
.xlsx`
);
},
// 文件上传中处理
handleFileUploadProgress
(
event
,
file
,
fileList
)
{
this
.
upload
.
isUploading
=
true
;
},
// 文件上传成功处理
handleFileSuccess
(
response
,
file
,
fileList
)
{
this
.
upload
.
open
=
false
;
this
.
upload
.
isUploading
=
false
;
this
.
$refs
.
upload
.
clearFiles
();
this
.
$alert
(
"<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>"
+
response
.
msg
+
"</div>"
,
"导入结果"
,
{
dangerouslyUseHTMLString
:
true
}
);
this
.
getList
();
},
// 提交上传文件
submitFileForm
()
{
this
.
$refs
.
upload
.
submit
();
},
//导出
handleExportClass
()
{
const
data
=
{
equipmentName
:
this
.
queryParams
.
equipmentName
,
classificationCode
:
this
.
queryParams
.
classificationCode
,
equipmentState
:
this
.
queryParams
.
equipmentState
,
affiliationType
:
this
.
queryParams
.
affiliationType
,
}
this
.
download
(
'/equipmentLedger/export'
,
{
...
data
,
},
`设备台账_
${
Date
.
now
()}
.xlsx`
)
},
//生成批量打印条码
printBarcodes
()
{
const
url
=
`http://192.168.1.109:1024`
;
dd
.
biz
.
util
.
openLink
({
url
:
url
,
onSuccess
:
()
=>
{
console
.
log
(
newURL
,
'newURL'
);
console
.
log
(
'跳转成功,准备打印'
);
// 打印条码
this
.
printCode
();
},
onFail
:
(
error
)
=>
{
console
.
error
(
'跳转失败'
,
error
);
}
});
},
// 打印条码
printCode
()
{
this
.
printList
=
this
.
chooseList
;
this
.
$nextTick
(()
=>
{
this
.
chooseList
.
map
((
item
,
index
)
=>
{
const
dom
=
document
.
getElementById
(
`qrcode
${
index
}
`
).
lastElementChild
;
if
(
dom
==
null
)
{
new
QRCode
(
`qrcode
${
index
}
`
,
{
width
:
150
,
height
:
150
,
text
:
item
.
encode
,
});
}
});
this
.
printList
.
map
((
item
,
index
)
=>
{
const
domPrint
=
document
.
getElementById
(
`print
${
index
}
`
).
lastElementChild
;
if
(
domPrint
==
null
)
{
new
QRCode
(
`print
${
index
}
`
,
{
width
:
60
,
height
:
60
,
text
:
item
.
encode
,
});
}
});
printJS
({
printable
:
'printBlock'
,
// 标签元素id
type
:
'html'
,
targetStyles
:
[
'*'
],
font_size
:
'10px'
,
style
:
`
@media print{
@page{
size:auto;
margin:4mm 0mm 0mm 0mm
}
@page :first {
margin-top:2mm
}
#printBlock{
display:block!important
}
}`
});
});
},
// 多选框选中数据
handleSelectionChange
(
selection
)
{
this
.
chooseList
=
selection
this
.
electItem
=
selection
.
map
(
item
=>
{
return
item
.
id
})
this
.
isDisabledBtn
=
selection
.
length
!=
0
?
false
:
true
},
},
};
</
script
>
<
style
scoped
>
::v-deep
.el-form-item
,
::v-deep
.el-select
{
width
:
100%
;
}
::v-deep
.el-form-item--small
.el-form-item__content
{
width
:
75%
;
}
.qrCodeList
{
max-height
:
500px
;
overflow-y
:
scroll
;
}
.qrCode
{
width
:
300px
;
font-size
:
14px
;
line-height
:
30px
;
align-items
:
flex-start
;
margin
:
0
auto
20px
auto
;
}
.qrCodeLeft
{
text-align
:
center
;
}
.qrCodeRight
{
padding
:
20px
0
20px
15px
;
}
.titlShow
{
font-weight
:
bold
;
text-align
:
center
;
padding-bottom
:
10px
;
font-size
:
16px
;
}
#printBlock
{
display
:
none
;
margin
:
0px
!important
;
}
.printLeft
{
display
:
flex
;
flex-direction
:
column
;
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
;
}
.titlePrint
{
font-size
:
8px
;
font-weight
:
bold
;
text-align
:
center
;
}
.printImg
{
display
:
block
;
}
</
style
>
ruoyi-ui/src/views/smartSchool/schoolProperty/equipmenTledger/index.vue
View file @
63b7773f
...
@@ -316,6 +316,7 @@ import Treeselect from "@riophae/vue-treeselect";
...
@@ -316,6 +316,7 @@ import Treeselect from "@riophae/vue-treeselect";
import
"@riophae/vue-treeselect/dist/vue-treeselect.css"
;
import
"@riophae/vue-treeselect/dist/vue-treeselect.css"
;
import
QRCode
from
"qrcodejs2"
;
// 生成二维码插件
import
QRCode
from
"qrcodejs2"
;
// 生成二维码插件
import
printJS
from
"print-js"
;
// 打印插件
import
printJS
from
"print-js"
;
// 打印插件
import
*
as
dd
from
'dingtalk-jsapi'
;
export
default
{
export
default
{
...
@@ -621,58 +622,55 @@ export default {
...
@@ -621,58 +622,55 @@ export default {
},
`设备台账_
${
Date
.
now
()}
.xlsx`
)
},
`设备台账_
${
Date
.
now
()}
.xlsx`
)
},
},
//
生成批量打印条码
//
点击批量打印跳转
printBarcodes
()
{
printBarcodes
()
{
this
.
printDialog
=
true
// this.printDialog = true;
this
.
printList
=
this
.
chooseList
this
.
printList
=
this
.
chooseList
;
this
.
$nextTick
(()
=>
{
console
.
log
(
11
,
this
.
printList
);
this
.
chooseList
.
map
((
item
,
index
)
=>
{
const
url
=
'http://localhost:1024/printBarcodes'
;
const
dom
=
document
.
getElementById
(
`qrcode
${
index
}
`
).
lastElementChild
console
.
log
(
url
,
'url'
);
if
(
dom
==
null
)
{
const
ids
=
this
.
electItem
.
join
(
','
);
new
QRCode
(
`qrcode
${
index
}
`
,
{
console
.
log
(
ids
,
'ids'
);
width
:
150
,
const
encodes
=
this
.
chooseList
.
map
(
item
=>
item
.
encode
).
join
(
','
);
height
:
150
,
console
.
log
(
encodes
,
'encodes'
);
text
:
item
.
encode
,
const
printListParam
=
encodeURIComponent
(
JSON
.
stringify
(
this
.
printList
));
});
dd
.
biz
.
util
.
openLink
({
url
:
`
${
url
}
?ids=
${
ids
}
&encodes=
${
encodes
}
&printList=
${
printListParam
}
`
,
onSuccess
:
()
=>
{
console
.
log
(
'跳转成功,准备打印'
);
// 打印条码
// this.printCode();
},
onFail
:
(
error
)
=>
{
console
.
error
(
'跳转失败'
,
error
);
}
}
})
this
.
printList
.
map
((
item
,
index
)
=>
{
const
domPrint
=
document
.
getElementById
(
`print
${
index
}
`
).
lastElementChild
if
(
domPrint
==
null
)
{
new
QRCode
(
`print
${
index
}
`
,
{
width
:
60
,
height
:
60
,
text
:
item
.
encode
,
});
});
}
})
})
},
},
//打印条码
//打印条码
printCode
()
{
//
printCode() {
printJS
({
//
printJS({
printable
:
'printBlock'
,
// 标签元素id
//
printable: 'printBlock', // 标签元素id
type
:
'html'
,
//
type: 'html',
targetStyles
:
[
'*'
],
//
targetStyles: ['*'],
font_size
:
'10px'
,
//
font_size: '10px',
style
:
`
//
style: `
@media print{
//
@media print{
@page{
//
@page{
size:auto;
//
size:auto;
margin:4mm 0mm 0mm 0mm
//
margin:4mm 0mm 0mm 0mm
}
//
}
@page :first {
//
@page :first {
margin-top:2mm
//
margin-top:2mm
}
//
}
#printBlock{
//
#printBlock{
display:block!important
//
display:block!important
}
//
}
}`
//
}`
})
//
})
},
//
},
// 多选框选中数据
// 多选框选中数据
handleSelectionChange
(
selection
)
{
handleSelectionChange
(
selection
)
{
...
...
ruoyi-ui/src/views/smartSchool/schoolProperty/equipmenTledger/printBarcodes copy.vue
0 → 100644
View file @
63b7773f
<
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>
</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=
"自编码"
width=
"140"
fixed=
"left"
></el-table-column>
<el-table-column
align=
"center"
prop=
"equipmentName"
label=
"设备名称"
fixed=
"left"
></el-table-column>
<el-table-column
align=
"center"
prop=
"model"
label=
"型号"
fixed=
"left"
></el-table-column>
<el-table-column
align=
"center"
prop=
"specification"
label=
"规格"
fixed=
"left"
></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=
"是否允许借出"
width=
"120"
>
<
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=
"投产日期"
width=
"120"
></el-table-column>
<el-table-column
align=
"center"
prop=
"price"
label=
"价格(元)"
width=
"100"
></el-table-column>
<el-table-column
align=
"center"
prop=
"lifeOfUtility"
label=
"效用年限(年)"
width=
"120"
></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-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>
</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>
</template>
<
script
>
import
{
getToken
}
from
"@/utils/auth"
;
import
{
addEquipmentLedger
,
deleteEquipmentLedger
,
editEquipmentLedger
,
getEquipmentLedger
,
getEquipmentLedgerDetailByID
,
getModelByID
,
getUserList
}
from
"../../../../api/smartSchool/schoolProperty/equipmenTledger"
;
import
{
getProduct
}
from
"../../../../api/smartSchool/schoolProperty/classiFication"
;
import
Treeselect
from
"@riophae/vue-treeselect"
;
import
"@riophae/vue-treeselect/dist/vue-treeselect.css"
;
import
QRCode
from
"qrcodejs2"
;
// 生成二维码插件
import
printJS
from
"print-js"
;
// 打印插件
export
default
{
name
:
"index"
,
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'
}
],
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
()
this
.
getList
()
},
methods
:
{
//获取分类编码树形下拉框
getClassificationCodeTree
()
{
getProduct
().
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
classificationOptions
=
this
.
handleTree
(
res
.
rows
,
"id"
)
}
})
},
/** 查询列表 */
getList
()
{
this
.
loading
=
true
getEquipmentLedger
({
...
this
.
queryParams
}).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
total
=
res
.
total
this
.
deviceData
=
res
.
rows
this
.
loading
=
false
}
})
},
/** 重置按钮操作 */
resetQuery
()
{
this
.
queryParams
=
{
pageNum
:
1
,
pageSize
:
10
,
equipmentName
:
''
,
classificationCode
:
undefined
,
equipmentState
:
''
,
affiliationType
:
''
,
}
this
.
getList
()
},
/** 转换分类编码数据结构 */
normalizer
(
node
)
{
if
(
node
.
children
&&
!
node
.
children
.
length
)
{
delete
node
.
children
;
}
return
{
id
:
node
.
classificationCode
,
label
:
node
.
equipmentType
,
children
:
node
.
children
};
},
//弹出层分类编码选择事件 获取当前分类编码的型号
selectNode
(
node
)
{
const
id
=
node
.
classificationCode
getModelByID
(
id
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
form
.
model
=
res
.
data
.
model
}
})
},
//0 入库 1 编辑 2 查看
showDetail
(
type
,
id
)
{
this
.
form
=
{
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
)
{
Object
.
keys
(
this
.
form
).
forEach
(
key
=>
{
res
.
data
[
key
]
&&
(
this
.
form
[
key
]
=
res
.
data
[
key
])
})
}
})
}
this
.
dialogVisible
=
true
},
//使用人列表数据
getSelectUser
()
{
getUserList
().
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
userList
=
res
.
rows
}
})
},
//表单提交
submitForm
()
{
const
useId
=
this
.
form
.
useId
this
.
form
.
useName
=
useId
==
''
?
''
:
this
.
userList
.
find
(
item
=>
item
.
userId
==
useId
).
userName
this
.
$refs
[
'form'
].
validate
((
valid
)
=>
{
if
(
valid
)
{
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
,
useId
,
remark
:
this
.
form
.
remark
,
}
addEquipmentLedger
(
data
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
$message
.
success
(
"设备台账入库成功!"
)
this
.
dialogVisible
=
false
this
.
getList
()
}
})
}
else
if
(
this
.
nowOptionType
==
1
)
{
//1 编辑
editEquipmentLedger
({
...
this
.
form
}).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
$message
.
success
(
"设备台账编辑成功!"
)
this
.
dialogVisible
=
false
this
.
getList
()
}
})
}
}
})
},
//出库
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
)
{
this
.
$message
({
type
:
'success'
,
message
:
'出库成功!'
});
this
.
getList
();
}
})
}).
catch
(()
=>
{
this
.
$message
({
type
:
'info'
,
message
:
'已取消出库!'
});
});
},
//模版下载
importTemplate
()
{
this
.
download
(
"/equipmentLedger/importTemplate"
,
{},
`设备台账_template_
${
new
Date
().
getTime
()}
.xlsx`
);
},
// 文件上传中处理
handleFileUploadProgress
(
event
,
file
,
fileList
)
{
this
.
upload
.
isUploading
=
true
;
},
// 文件上传成功处理
handleFileSuccess
(
response
,
file
,
fileList
)
{
this
.
upload
.
open
=
false
;
this
.
upload
.
isUploading
=
false
;
this
.
$refs
.
upload
.
clearFiles
();
this
.
$alert
(
"<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>"
+
response
.
msg
+
"</div>"
,
"导入结果"
,
{
dangerouslyUseHTMLString
:
true
}
);
this
.
getList
();
},
// 提交上传文件
submitFileForm
()
{
this
.
$refs
.
upload
.
submit
();
},
//导出
handleExportClass
()
{
const
data
=
{
equipmentName
:
this
.
queryParams
.
equipmentName
,
classificationCode
:
this
.
queryParams
.
classificationCode
,
equipmentState
:
this
.
queryParams
.
equipmentState
,
affiliationType
:
this
.
queryParams
.
affiliationType
,
}
this
.
download
(
'/equipmentLedger/export'
,
{
...
data
,
},
`设备台账_
${
Date
.
now
()}
.xlsx`
)
},
//生成批量打印条码
printBarcodes
()
{
this
.
printDialog
=
true
this
.
printList
=
this
.
chooseList
this
.
$nextTick
(()
=>
{
this
.
chooseList
.
map
((
item
,
index
)
=>
{
const
dom
=
document
.
getElementById
(
`qrcode
${
index
}
`
).
lastElementChild
if
(
dom
==
null
)
{
new
QRCode
(
`qrcode
${
index
}
`
,
{
width
:
150
,
height
:
150
,
text
:
item
.
encode
,
});
}
})
this
.
printList
.
map
((
item
,
index
)
=>
{
const
domPrint
=
document
.
getElementById
(
`print
${
index
}
`
).
lastElementChild
if
(
domPrint
==
null
)
{
new
QRCode
(
`print
${
index
}
`
,
{
width
:
60
,
height
:
60
,
text
:
item
.
encode
,
});
}
})
})
},
//打印条码
printCode
()
{
printJS
({
printable
:
'printBlock'
,
// 标签元素id
type
:
'html'
,
targetStyles
:
[
'*'
],
font_size
:
'10px'
,
style
:
`
@media print{
@page{
size:auto;
margin:4mm 0mm 0mm 0mm
}
@page :first {
margin-top:2mm
}
#printBlock{
display:block!important
}
}`
})
},
// 多选框选中数据
handleSelectionChange
(
selection
)
{
this
.
chooseList
=
selection
this
.
electItem
=
selection
.
map
(
item
=>
{
return
item
.
id
})
this
.
isDisabledBtn
=
selection
.
length
!=
0
?
false
:
true
},
},
};
</
script
>
<
style
scoped
>
::v-deep
.el-form-item
,
::v-deep
.el-select
{
width
:
100%
;
}
::v-deep
.el-form-item--small
.el-form-item__content
{
width
:
75%
;
}
.qrCodeList
{
max-height
:
500px
;
overflow-y
:
scroll
;
}
.qrCode
{
width
:
300px
;
font-size
:
14px
;
line-height
:
30px
;
align-items
:
flex-start
;
margin
:
0
auto
20px
auto
;
}
.qrCodeLeft
{
text-align
:
center
;
}
.qrCodeRight
{
padding
:
20px
0
20px
15px
;
}
.titlShow
{
font-weight
:
bold
;
text-align
:
center
;
padding-bottom
:
10px
;
font-size
:
16px
;
}
#printBlock
{
display
:
none
;
margin
:
0px
!important
;
}
.printLeft
{
display
:
flex
;
flex-direction
:
column
;
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
;
}
.titlePrint
{
font-size
:
8px
;
font-weight
:
bold
;
text-align
:
center
;
}
.printImg
{
display
:
block
;
}
</
style
>
ruoyi-ui/src/views/smartSchool/schoolProperty/lendingReturn/index.vue
View file @
63b7773f
...
@@ -100,8 +100,8 @@
...
@@ -100,8 +100,8 @@
<el-row
:gutter=
"30"
>
<el-row
:gutter=
"30"
>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"借用期限(天)"
prop=
"deadline"
>
<el-form-item
label=
"借用期限(天)"
prop=
"deadline"
>
<el-input
v-model=
"lendReturnForm.deadline"
placeholder=
"请输入借用期限"
<el-input
v-model=
"lendReturnForm.deadline"
placeholder=
"请输入借用期限"
:disabled=
"nowType == 2 ? true : false"
:disabled=
"nowType == 2 ? true : false
"
></el-input>
type=
"number
"
></el-input>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
...
...
ruoyi-ui/src/views/smartSchool/teachAffairAdministration/affairStudentManage/index.vue
View file @
63b7773f
...
@@ -619,7 +619,8 @@ import { uploadImage as commonUpload } from '@/api/common'
...
@@ -619,7 +619,8 @@ import { uploadImage as commonUpload } from '@/api/common'
import
{
ExportType
,
Gender
,
Nations
,
Area
}
from
'@/enums/common'
import
{
ExportType
,
Gender
,
Nations
,
Area
}
from
'@/enums/common'
import
{
getYearList
}
from
'@/utils/utilLibrary/getYearList'
import
{
getYearList
}
from
'@/utils/utilLibrary/getYearList'
import
{
getNewYear
}
from
"@/api/smartSchool/teachAffairAdministration/affairClassView"
;
import
{
getNewYear
}
from
"@/api/smartSchool/teachAffairAdministration/affairClassView"
;
import
*
as
dd
from
'dingtalk-jsapi'
;
import
{
im_1_0
}
from
'@alicloud/dingtalk'
export
default
{
export
default
{
name
:
'AffairStudentManage'
,
name
:
'AffairStudentManage'
,
components
:
{
ClassSelect
,
PicAvatar
},
components
:
{
ClassSelect
,
PicAvatar
},
...
@@ -921,17 +922,40 @@ export default {
...
@@ -921,17 +922,40 @@ export default {
})
})
},
},
// 学籍证明
// 学籍证明
// studentProve(row) {
// this.$router.push({
// path: '/teachAffairAdministration/studentProve',
// query: {
// id: row.id,
// name: row.studentName,
// idCard: row.idCard,
// schoolNo: row.schoolNo
// }
// })
// },
studentProve
(
row
)
{
studentProve
(
row
)
{
this
.
$router
.
push
({
console
.
log
(
'准备跳转'
);
path
:
'/teachAffairAdministration/studentProve'
,
const
baseUrl
=
window
.
location
.
protocol
+
'//'
+
window
.
location
.
host
;
// 获取当前页面的协议、主机作为前缀URL
query
:
{
console
.
log
(
'im_1_0'
,
baseUrl
);
id
:
row
.
id
,
const
url
=
`http://localhost:1024/studentRegistra?id=
${
row
.
id
}
&name=
${
row
.
studentName
}
&idCard=
${
row
.
idCard
}
&schoolNo=
${
row
.
schoolNo
}
`
;
name
:
row
.
studentName
,
// const newURL = `${baseUrl}/studentRegistra?id=${encodeURIComponent(row.id)}&name=${encodeURIComponent(row.studentName)}&idCard=${encodeURIComponent(row.idCard)}&schoolNo=${encodeURIComponent(row.schoolNo)}`;
idCard
:
row
.
idCard
,
dd
.
biz
.
util
.
openLink
({
schoolNo
:
row
.
schoolNo
// url: newURL,
url
:
url
,
onSuccess
:
()
=>
{
console
.
log
(
newURL
,
'newURL'
);
console
.
log
(
'跳转成功,准备打印'
);
},
onFail
:
(
err
)
=>
{
console
.
log
(
'跳转失败'
,
err
);
}
}
})
})
;
},
},
/** 提交按钮 */
/** 提交按钮 */
submitForm
:
function
()
{
submitForm
:
function
()
{
this
.
$refs
[
'form'
].
validate
(
valid
=>
{
this
.
$refs
[
'form'
].
validate
(
valid
=>
{
...
...
ruoyi-ui/src/views/smartSchool/teachAffairAdministration/affairStudentManage/studentRegistra.vue
0 → 100644
View file @
63b7773f
<
template
>
<div
class=
"app-container"
>
<div
style=
"width: 100%; display: flex; justify-content: center; flex-wrap: nowrap;"
>
<!--
<el-button
type=
"primary"
plain
size=
"mini"
@
click=
"closeCurrentTab"
>
关闭
</el-button>
-->
<el-button
type=
"primary"
plain
size=
"mini"
@
click=
"downloadProve"
>
下载
</el-button>
<el-button
type=
"primary"
plain
size=
"mini"
@
click=
"printTable"
>
打印
</el-button>
</div>
<el-card
:style=
"
{ width: '850px', height: clientHeight, margin: '0 auto' }">
<div
id=
"postFormContainer"
>
<br
/><br
/>
<div
style=
"display: block; font-weight: 600; font-size: 35px; text-align: center"
>
学籍证明
</div>
<br
/>
<span
style=
"display: block; font-size: 25px; text-indent:50px; line-height: 40px"
>
{{
studentInfo
.
studentName
}}
同学,身份证号
{{
studentInfo
.
idCard
}}
,性别
{{
studentInfo
.
sex
}}
,
{{
studentInfo
.
birthday
}}
生,
省学籍辅号
{{
studentInfo
.
schoolNo
}}
,全国学籍号
{{
studentInfo
.
nationalNumber
}}
,系东营市第二中学
{{
studentInfo
.
enrollmentYear
}}
级
{{
studentInfo
.
classValue
}}
班学生,特此证明。
</span>
<br
/><br
/><br
/>
<div
style=
"width: 100%; display:flex; justify-content: center; font-size:20px;"
>
<div>
<el-image
style=
"width: 160px; height: 200px"
:src=
"url"
></el-image>
<br
/>
<div
style=
"text-align: center"
>
山东学籍管理
</div>
</div>
</div>
<br
/><br
/><br
/>
<div
style=
"position: relative; background: #1ab394"
>
<div
style=
"position: absolute; right: 30px; font-size: 20px "
>
<span>
东营市第二中学
</span>
<br
/><br
/>
<span>
{{
time
}}
</span>
</div>
</div>
</div>
</el-card>
</div>
</
template
>
<
script
>
import
printJS
from
"print-js"
;
import
{
closeCurrentTab
}
from
"@/utils/utilLibrary/routerBatch/routerBatch.js"
;
import
{
getStudent
}
from
'@/api/smartSchool/teachAffairAdministration/affairStudentManage'
export
default
{
name
:
'StudentProve'
,
data
()
{
return
{
clientHeight
:
document
.
body
.
scrollHeight
+
'px'
,
baseUrl
:
process
.
env
.
VUE_APP_BASE_API
,
studentInfo
:
{},
url
:
''
,
time
:
" "
,
}
},
components
:
{},
methods
:
{
closeCurrentTab
,
getImage
()
{
const
studentId
=
this
.
$route
.
query
.
id
;
getStudent
(
studentId
).
then
((
res
)
=>
{
this
.
studentInfo
=
res
.
data
if
(
res
.
data
.
sex
==
0
)
{
this
.
studentInfo
.
sex
=
"男"
}
else
{
this
.
studentInfo
.
sex
=
"女"
}
if
(
res
.
data
.
birthday
.
charAt
(
5
)
==
0
)
{
if
(
res
.
data
.
birthday
.
charAt
(
8
)
==
0
)
{
this
.
studentInfo
.
birthday
=
res
.
data
.
birthday
.
slice
(
0
,
4
)
+
"年"
+
res
.
data
.
birthday
.
slice
(
6
,
7
)
+
"月"
+
res
.
data
.
birthday
.
slice
(
9
,
10
)
+
"日"
}
else
{
this
.
studentInfo
.
birthday
=
res
.
data
.
birthday
.
slice
(
0
,
4
)
+
"年"
+
res
.
data
.
birthday
.
slice
(
6
,
7
)
+
"月"
+
res
.
data
.
birthday
.
slice
(
8
,
10
)
+
"日"
}
}
else
{
if
(
res
.
data
.
birthday
.
charAt
(
8
)
==
0
)
{
this
.
studentInfo
.
birthday
=
res
.
data
.
birthday
.
slice
(
0
,
4
)
+
"年"
+
res
.
data
.
birthday
.
slice
(
5
,
7
)
+
"月"
+
res
.
data
.
birthday
.
slice
(
9
,
10
)
+
"日"
}
else
{
this
.
studentInfo
.
birthday
=
res
.
data
.
birthday
.
slice
(
0
,
4
)
+
"年"
+
res
.
data
.
birthday
.
slice
(
5
,
7
)
+
"月"
+
res
.
data
.
birthday
.
slice
(
8
,
10
)
+
"日"
}
}
this
.
url
=
this
.
baseUrl
+
this
.
studentInfo
.
avatar
console
.
log
(
this
.
url
,
107
)
});
},
// 打印
printTable
()
{
// 重置表单
printJS
({
printable
:
'postFormContainer'
,
targetStyles
:
[
'*'
],
type
:
"html"
,
})
},
/**
* 获取当前时间
*/
currentTime
()
{
var
date
=
new
Date
();
var
year
=
date
.
getFullYear
();
//月份从0~11,所以加一
let
month
=
date
.
getMonth
();
console
.
log
(
"month"
,
month
);
var
dateArr
=
[
date
.
getMonth
()
+
1
,
date
.
getDate
(),
];
var
strDate
=
year
+
"年"
+
dateArr
[
0
]
+
"月"
+
dateArr
[
1
]
+
"日"
console
.
log
(
"strDate"
,
strDate
);
return
strDate
},
downloadProve
()
{
this
.
download
(
`/school/studentStatus/proofStatus/
${
this
.
$route
.
query
.
id
}
`
,
{},
`
${
this
.
studentInfo
.
studentName
}
.docx`
)
},
},
created
()
{
this
.
getImage
()
this
.
time
=
this
.
currentTime
()
},
activated
()
{
this
.
getImage
()
this
.
time
=
this
.
currentTime
()
}
}
</
script
>
<
style
scoped
></
style
>
ruoyi-ui/src/views/smartSchool/teacherManage/teacherInforManage/components/AwardDetails.vue
View file @
63b7773f
...
@@ -247,7 +247,7 @@ export default {
...
@@ -247,7 +247,7 @@ export default {
// 关闭页面
// 关闭页面
closePage
()
{
closePage
()
{
this
.
$tab
.
closeOpenPage
({
this
.
$tab
.
closeOpenPage
({
path
:
'/teacherManage/teacherInforManage'
path
:
'/
schoolManage/
teacherManage/teacherInforManage'
})
})
},
},
},
},
...
...
ruoyi-ui/src/views/smartSchool/teacherManage/teacherInforManage/components/Resume.vue
View file @
63b7773f
<
template
>
<
template
>
<div
class=
"app-container"
>
<div
class=
"app-container"
>
<span>
老师信息
</span>
<span>
老师信息
</span>
<hr/>
<hr
/>
<br/>
<br
/>
<el-form
:model=
"techerInfoForm"
ref=
"reftecherInfoForm"
size=
"small"
:inline=
"true"
label-width=
"100px"
>
<el-form
:model=
"techerInfoForm"
ref=
"reftecherInfoForm"
size=
"small"
:inline=
"true"
label-width=
"100px"
>
<el-row>
<el-row>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"教师名称"
clearable
prop=
"teacherName"
>
<el-form-item
label=
"教师名称"
clearable
prop=
"teacherName"
>
<el-input
v-model=
"techerInfoForm.teacherName"
disabled
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
<el-input
v-model=
"techerInfoForm.teacherName"
disabled
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
...
@@ -22,19 +22,19 @@
...
@@ -22,19 +22,19 @@
<el-row>
<el-row>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"教师电话"
clearable
prop=
"teacherTel"
>
<el-form-item
label=
"教师电话"
clearable
prop=
"teacherTel"
>
<el-input
disabled
v-model=
"techerInfoForm.teacherTel"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
<el-input
disabled
v-model=
"techerInfoForm.teacherTel"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"工作编号"
clearable
prop=
"teacherCode"
>
<el-form-item
label=
"工作编号"
clearable
prop=
"teacherCode"
>
<el-input
disabled
v-model=
"techerInfoForm.teacherCode"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
<el-input
disabled
v-model=
"techerInfoForm.teacherCode"
clearable
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
</el-row>
</el-row>
</el-form>
</el-form>
<span>
履历信息
</span>
<span>
履历信息
</span>
<hr/>
<hr
/>
<br/>
<br
/>
<el-row>
<el-row>
<el-button
type=
"primary"
icon=
"el-icon-plus"
size=
"mini"
@
click=
"resumeAdd"
>
增加
</el-button>
<el-button
type=
"primary"
icon=
"el-icon-plus"
size=
"mini"
@
click=
"resumeAdd"
>
增加
</el-button>
<el-button
type=
"success"
icon=
"el-icon-edit"
size=
"mini"
:disabled=
"single"
@
click=
"resumeEdit"
>
修改
</el-button>
<el-button
type=
"success"
icon=
"el-icon-edit"
size=
"mini"
:disabled=
"single"
@
click=
"resumeEdit"
>
修改
</el-button>
...
@@ -42,27 +42,26 @@
...
@@ -42,27 +42,26 @@
</el-button>
</el-button>
<el-button
type=
"info"
size=
"mini"
plain
icon=
"el-icon-close"
@
click=
"closePage"
>
关闭
</el-button>
<el-button
type=
"info"
size=
"mini"
plain
icon=
"el-icon-close"
@
click=
"closePage"
>
关闭
</el-button>
</el-row>
</el-row>
<br/>
<br
/>
<el-table
stripe
v-loading=
"loading"
style=
"width: 100%"
:data=
"resumeList"
<el-table
stripe
v-loading=
"loading"
style=
"width: 100%"
:data=
"resumeList"
@
selection-change=
"handleSelectionChange"
>
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
align=
"center"
width=
"55"
/>
<el-table-column
type=
"selection"
align=
"center"
width=
"55"
/>
<el-table-column
label=
"序号"
type=
"index"
align=
"center"
width=
"55"
/>
<el-table-column
label=
"序号"
type=
"index"
align=
"center"
width=
"55"
/>
<el-table-column
label=
"学校/工作单位"
width=
"width"
align=
"center"
prop=
"learnSchool"
/>
<el-table-column
label=
"学校/工作单位"
width=
"width"
align=
"center"
prop=
"learnSchool"
/>
<el-table-column
label=
"履历开始时间"
:formatter=
"dateFormat"
width=
"width"
align=
"center"
<el-table-column
label=
"履历开始时间"
:formatter=
"dateFormat"
width=
"width"
align=
"center"
prop=
"learnStart"
></el-table-column>
prop=
"learnStart"
></el-table-column>
<el-table-column
label=
"履历结束时间"
:formatter=
"dateFormat"
width=
"width"
align=
"center"
<el-table-column
label=
"履历结束时间"
:formatter=
"dateFormat"
width=
"width"
align=
"center"
prop=
"learnEnd"
></el-table-column>
prop=
"learnEnd"
></el-table-column>
<el-table-column
label=
"备注"
width=
"width"
align=
"center"
prop=
"remark"
/>
<el-table-column
label=
"备注"
width=
"width"
align=
"center"
prop=
"remark"
/>
</el-table>
</el-table>
<ExPagination
v-show=
"total > 0"
:total=
"total"
:page
.
sync=
"queryParams.pageNum"
:limit
.
sync=
"queryParams.pageSize"
<ExPagination
v-show=
"total > 0"
:total=
"total"
:page
.
sync=
"queryParams.pageNum"
:limit
.
sync=
"queryParams.pageSize"
@
pagination=
"getList"
/>
@
pagination=
"getList"
/>
<!-- 履历编辑修改,新增弹窗-->
<!-- 履历编辑修改,新增弹窗-->
<el-dialog
:title=
"title"
:visible
.
sync=
"openTeacherResume"
width=
"800px"
>
<el-dialog
:title=
"title"
:visible
.
sync=
"openTeacherResume"
width=
"800px"
>
<el-form
:model=
"resumeForm"
:rules=
"resumeRules"
ref=
"refresumeForm"
size=
"small"
<el-form
:model=
"resumeForm"
:rules=
"resumeRules"
ref=
"refresumeForm"
size=
"small"
style=
"width: 90%; margin: auto"
style=
"width: 90%; margin: auto"
label-width=
"110px"
>
label-width=
"110px"
>
<el-form-item
label=
"学校/工作单位"
prop=
"learnSchool"
>
<el-form-item
label=
"学校/工作单位"
prop=
"learnSchool"
>
<el-input
v-model=
"resumeForm.learnSchool"
clearable
style=
"width: 100%"
/>
<el-input
v-model=
"resumeForm.learnSchool"
clearable
style=
"width: 100%"
/>
</el-form-item>
</el-form-item>
<el-form-item
label=
"履历开始时间"
prop=
"learnStart"
>
<el-form-item
label=
"履历开始时间"
prop=
"learnStart"
>
<el-date-picker
v-model=
"resumeForm.learnStart"
type=
"date"
style=
"width: 100%"
<el-date-picker
v-model=
"resumeForm.learnStart"
type=
"date"
style=
"width: 100%"
...
@@ -73,7 +72,7 @@
...
@@ -73,7 +72,7 @@
placeholder=
"履历结束时间"
></el-date-picker>
placeholder=
"履历结束时间"
></el-date-picker>
</el-form-item>
</el-form-item>
<el-form-item
label=
"备注"
clearable
prop=
"remark"
>
<el-form-item
label=
"备注"
clearable
prop=
"remark"
>
<el-input
type=
"textarea"
:rows=
"3"
style=
"width: 100%"
v-model=
"resumeForm.remark"
clearable
/>
<el-input
type=
"textarea"
:rows=
"3"
style=
"width: 100%"
v-model=
"resumeForm.remark"
clearable
/>
</el-form-item>
</el-form-item>
<el-form-item>
<el-form-item>
<div
style=
"width: 300px; margin: auto"
>
<div
style=
"width: 300px; margin: auto"
>
...
@@ -87,8 +86,8 @@
...
@@ -87,8 +86,8 @@
</
template
>
</
template
>
<
script
>
<
script
>
import
{
getInform
}
from
'@/api/smartSchool/teacherManage/teacherInformation'
import
{
getInform
}
from
'@/api/smartSchool/teacherManage/teacherInformation'
import
{
listResume
,
getOneResume
,
addResume
,
editResume
,
deleteResume
}
from
'@/api/smartSchool/teacherManage/resume'
import
{
listResume
,
getOneResume
,
addResume
,
editResume
,
deleteResume
}
from
'@/api/smartSchool/teacherManage/resume'
// import message from "@/views/home/message/message";
// import message from "@/views/home/message/message";
export
default
{
export
default
{
...
@@ -126,9 +125,9 @@ export default {
...
@@ -126,9 +125,9 @@ export default {
resumeForm
:
{},
resumeForm
:
{},
// 履历校验规则
// 履历校验规则
resumeRules
:
{
resumeRules
:
{
learnSchool
:
[{
required
:
true
,
message
:
'学校/工作单位不能为空'
,
trigger
:
'blur'
}],
learnSchool
:
[{
required
:
true
,
message
:
'学校/工作单位不能为空'
,
trigger
:
'blur'
}],
learnStart
:
[{
required
:
true
,
message
:
'履历开始时间不能为空'
,
trigger
:
'blur'
}],
learnStart
:
[{
required
:
true
,
message
:
'履历开始时间不能为空'
,
trigger
:
'blur'
}],
learnEnd
:
[{
required
:
true
,
message
:
'履历结束时间不能为空'
,
trigger
:
'blur'
}]
learnEnd
:
[{
required
:
true
,
message
:
'履历结束时间不能为空'
,
trigger
:
'blur'
}]
}
}
}
}
},
},
...
@@ -280,7 +279,7 @@ export default {
...
@@ -280,7 +279,7 @@ export default {
// 关闭页面
// 关闭页面
closePage
()
{
closePage
()
{
this
.
$tab
.
closeOpenPage
({
this
.
$tab
.
closeOpenPage
({
path
:
'/teacherManage/teacherInforManage'
path
:
'/
schoolManage/
teacherManage/teacherInforManage'
})
})
}
}
},
},
...
...
ruoyi-ui/src/views/smartSchool/teacherManage/teacherInforManage/index.vue
View file @
63b7773f
...
@@ -28,7 +28,7 @@
...
@@ -28,7 +28,7 @@
</el-form-item>
</el-form-item>
<el-form-item
label=
"职工类型"
prop=
"employeeType"
>
<el-form-item
label=
"职工类型"
prop=
"employeeType"
>
<el-select
v-model=
"queryParams.employeeType"
placeholder=
"请选择职工类型"
>
<el-select
v-model=
"queryParams.employeeType"
placeholder=
"请选择职工类型"
clearable
>
<el-option
v-for=
"dict in dict.type.employee_type"
:key=
"dict.value"
:label=
"dict.label"
<el-option
v-for=
"dict in dict.type.employee_type"
:key=
"dict.value"
:label=
"dict.label"
:value=
"dict.value"
>
:value=
"dict.value"
>
</el-option>
</el-option>
...
@@ -456,6 +456,7 @@ export default {
...
@@ -456,6 +456,7 @@ export default {
education
:
null
,
education
:
null
,
status
:
null
,
status
:
null
,
deptId
:
null
,
deptId
:
null
,
employeeType
:
null
,
},
},
// 表单参数
// 表单参数
form
:
{},
form
:
{},
...
...
ruoyi-ui/src/views/system/user/authRole.vue
View file @
63b7773f
...
@@ -10,12 +10,12 @@
...
@@ -10,12 +10,12 @@
<!--
</el-col>
-->
<!--
</el-col>
-->
<el-col
:span=
"8"
:offset=
"2"
>
<el-col
:span=
"8"
:offset=
"2"
>
<el-form-item
label=
"登录账号"
prop=
"phonenumber"
>
<el-form-item
label=
"登录账号"
prop=
"phonenumber"
>
<el-input
v-model=
"form.phonenumber"
disabled
/>
<el-input
v-model=
"form.phonenumber"
disabled
/>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"8"
:offset=
"2"
>
<el-col
:span=
"8"
:offset=
"2"
>
<el-form-item
label=
"用户名称"
prop=
"userName"
>
<el-form-item
label=
"用户名称"
prop=
"userName"
>
<el-input
v-model=
"form.userName"
disabled
/>
<el-input
v-model=
"form.userName"
disabled
/>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
</el-row>
</el-row>
...
@@ -23,24 +23,24 @@
...
@@ -23,24 +23,24 @@
<h4
class=
"form-header h4"
>
角色信息
</h4>
<h4
class=
"form-header h4"
>
角色信息
</h4>
<el-table
v-loading=
"loading"
:row-key=
"getRowKey"
@
row-click=
"clickRow"
ref=
"table"
<el-table
v-loading=
"loading"
:row-key=
"getRowKey"
@
row-click=
"clickRow"
ref=
"table"
@
selection-change=
"handleSelectionChange"
:data=
"roles.slice((pageNum-1)*pageSize,pageNum*
pageSize)"
>
@
selection-change=
"handleSelectionChange"
:data=
"roles.slice((pageNum - 1) * pageSize, pageNum *
pageSize)"
>
<el-table-column
type=
"selection"
:reserve-selection=
"true"
width=
"85"
></el-table-column>
<el-table-column
type=
"selection"
:reserve-selection=
"true"
width=
"85"
></el-table-column>
<el-table-column
label=
"序号"
type=
"index"
align=
"center"
>
<el-table-column
label=
"序号"
type=
"index"
align=
"center"
>
<template
slot-scope=
"scope"
>
<template
slot-scope=
"scope"
>
<span>
{{
(
pageNum
-
1
)
*
pageSize
+
scope
.
$index
+
1
}}
</span>
<span>
{{
(
pageNum
-
1
)
*
pageSize
+
scope
.
$index
+
1
}}
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
label=
"角色编号"
align=
"center"
prop=
"roleId"
/>
<el-table-column
label=
"角色编号"
align=
"center"
prop=
"roleId"
/>
<el-table-column
label=
"角色名称"
align=
"center"
prop=
"roleName"
/>
<el-table-column
label=
"角色名称"
align=
"center"
prop=
"roleName"
/>
<el-table-column
label=
"权限字符"
align=
"center"
prop=
"roleKey"
/>
<el-table-column
label=
"权限字符"
align=
"center"
prop=
"roleKey"
/>
<!-- <el-table-column label="创建时间" align="center" prop="createTime" width="180">-->
<!-- <el-table-column label="创建时间" align="center" prop="createTime" width="180">-->
<!-- <template slot-scope="scope">-->
<!-- <template slot-scope="scope">-->
<!-- <span>{{ parseTime(scope.row.createTime) }}</span>-->
<!-- <span>{{ parseTime(scope.row.createTime) }}</span>-->
<!-- </template>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- </el-table-column>-->
</el-table>
</el-table>
<pagination
v-show=
"total > 0"
:total=
"total"
:page
.
sync=
"pageNum"
:limit
.
sync=
"pageSize"
/>
<pagination
v-show=
"total > 0"
:total=
"total"
:page
.
sync=
"pageNum"
:limit
.
sync=
"pageSize"
/>
<el-form
label-width=
"100px"
>
<el-form
label-width=
"100px"
>
<el-form-item
style=
"text-align: center;margin-left:-120px;margin-top:30px;"
>
<el-form-item
style=
"text-align: center;margin-left:-120px;margin-top:30px;"
>
...
@@ -52,7 +52,7 @@
...
@@ -52,7 +52,7 @@
</template>
</template>
<
script
>
<
script
>
import
{
getAuthRole
,
updateAuthRole
}
from
"@/api/system/user"
;
import
{
getAuthRole
,
updateAuthRole
}
from
"@/api/system/user"
;
export
default
{
export
default
{
name
:
"AuthRole"
,
name
:
"AuthRole"
,
...
@@ -109,14 +109,14 @@ export default {
...
@@ -109,14 +109,14 @@ export default {
submitForm
()
{
submitForm
()
{
const
userId
=
this
.
form
.
userId
;
const
userId
=
this
.
form
.
userId
;
const
roleIds
=
this
.
roleIds
.
join
(
","
);
const
roleIds
=
this
.
roleIds
.
join
(
","
);
updateAuthRole
({
userId
:
userId
,
roleIds
:
roleIds
}).
then
((
response
)
=>
{
updateAuthRole
({
userId
:
userId
,
roleIds
:
roleIds
}).
then
((
response
)
=>
{
this
.
$modal
.
msgSuccess
(
"授权成功"
);
this
.
$modal
.
msgSuccess
(
"授权成功"
);
this
.
close
();
this
.
close
();
});
});
},
},
/** 关闭按钮 */
/** 关闭按钮 */
close
()
{
close
()
{
const
obj
=
{
path
:
"/teacherManage/teacherInforManage"
};
const
obj
=
{
path
:
"/schoolManage/teacherManage/teacherInforManage"
};
this
.
$tab
.
closeOpenPage
(
obj
);
this
.
$tab
.
closeOpenPage
(
obj
);
},
},
},
},
...
...
ruoyi-ui/src/views/whitePage.vue
View file @
63b7773f
<
template
>
<
template
>
<div>
<div>
<
button
@
click=
"csToken"
>
获取钉钉授权码
</button
>
<
!--
<button
@
click=
"csToken"
>
获取钉钉授权码
</button>
--
>
</div>
</div>
</
template
>
</
template
>
...
...
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