Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
I
intelligent_station_web
Project
Project
Details
Activity
Releases
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
张伯涛
intelligent_station_web
Commits
2e27ff21
Commit
2e27ff21
authored
Aug 11, 2024
by
裴文涛
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
解决WebStorm控制台报错问题
parent
fc547f83
Changes
28
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
28 changed files
with
729 additions
and
671 deletions
+729
-671
busStudentInfo.js
src/api/busStudentInfo.js
+1
-1
dept.js
src/api/system/dept.js
+0
-1
index.vue
src/components/IconSelect/index.vue
+4
-4
Verify.vue
src/components/Verifition/Verify.vue
+15
-7
VerifySlide.vue
src/components/Verifition/Verify/VerifySlide.vue
+1
-1
ase.js
src/components/Verifition/utils/ase.js
+5
-5
util.js
src/components/Verifition/utils/util.js
+25
-25
index.vue
src/components/vanOnkyOffice/index.vue
+1
-1
Logo.vue
src/layout/components/Sidebar/Logo.vue
+2
-3
index.vue
src/layout/components/TagsView/index.vue
+1
-1
index.vue
src/layout/index.vue
+4
-5
main.js
src/main.js
+11
-1
layui.all.js
src/utils/halberd/js/layui.all.js
+23
-4
wayne.js
src/utils/wayne.js
+6
-6
index.vue
src/views/busClassesInfo/index.vue
+108
-104
index.vue
src/views/busStudentInfo/index.vue
+35
-32
index.vue
src/views/busTeacherInfo/index.vue
+21
-17
login.vue
src/views/login/login.vue
+10
-9
navigation.vue
src/views/navigation.vue
+1
-1
reSetPsw.vue
src/views/reSetPsw.vue
+1
-1
index.vue
src/views/resDatasetInfo/index.vue
+88
-85
index.vue
src/views/resLabelInfo/index.vue
+14
-14
data.vue
src/views/system/dict/data.vue
+3
-4
index.vue
src/views/system/dict/index.vue
+3
-4
index.vue
src/views/system/index.vue
+246
-240
index.vue
src/views/system/menu/index.vue
+3
-4
index.vue
src/views/system/post/index.vue
+53
-55
index.vue
src/views/system/sysSettings/index.vue
+44
-36
No files found.
src/api/busStudentInfo.js
View file @
2e27ff21
...
...
@@ -43,7 +43,7 @@ export function updateBusStudentInfo(data) {
const
businessId
=
data
.
businessId
data
=
Qs
.
stringify
(
data
)
return
request
({
url
:
'/busstudentinfo/update/'
+
businessId
,
url
:
'/busstudentinfo/update/'
+
businessId
,
method
:
'put'
,
data
})
...
...
src/api/system/dept.js
View file @
2e27ff21
...
...
@@ -155,4 +155,3 @@ export function transformDept(data) {
})
}
src/components/IconSelect/index.vue
View file @
2e27ff21
...
...
@@ -5,9 +5,9 @@
<i
slot=
"suffix"
class=
"el-icon-search el-input__icon"
/>
</el-input>
<div
class=
"icon-list"
>
<div
class=
"icon__single"
v-for=
"(item, index) in iconList"
:key=
"index
"
@
click=
"selectedIcon(item)"
>
<div
v-for=
"(item, index) in iconList"
:key=
"index"
class=
"icon__single
"
@
click=
"selectedIcon(item)"
>
<svg-icon
:icon-class=
"item"
style=
"height: 30px;width: 16px;display: block;margin-right: 5px"
/>
<div
:title=
"item"
class=
"icon__single__text"
style=
"width: calc(100% - 30px)"
>
{{
item
}}
</div>
<div
:title=
"item"
class=
"icon__single__text"
style=
"width: calc(100% - 30px)"
>
{{
item
}}
</div>
</div>
</div>
</div>
...
...
@@ -23,6 +23,8 @@ export default {
iconList
:
icons
}
},
mounted
()
{
},
methods
:
{
filterIcons
()
{
this
.
iconList
=
icons
...
...
@@ -38,8 +40,6 @@ export default {
this
.
name
=
''
this
.
iconList
=
icons
}
},
mounted
()
{
}
}
</
script
>
...
...
src/components/Verifition/Verify.vue
View file @
2e27ff21
...
...
@@ -43,6 +43,7 @@
* */
import
VerifySlide
from
'./Verify/VerifySlide'
import
VerifyPoints
from
'./Verify/VerifyPoints'
import
{
NULL
}
from
'node-sass'
export
default
{
name
:
'Vue2Verify'
,
...
...
@@ -68,23 +69,28 @@ export default {
},
captchaType
:
{
type
:
String
,
required
:
true
required
:
true
,
default
:
NULL
},
figure
:
{
type
:
Number
type
:
Number
,
default
:
NULL
},
arith
:
{
type
:
Number
type
:
Number
,
default
:
NULL
},
mode
:
{
type
:
String
,
default
:
'pop'
},
vSpace
:
{
type
:
Number
type
:
Number
,
default
:
NULL
},
explain
:
{
type
:
String
type
:
String
,
default
:
NULL
},
imgSize
:
{
type
:
Object
,
...
...
@@ -96,10 +102,12 @@ export default {
}
},
blockSize
:
{
type
:
Object
type
:
Object
,
default
:
NULL
},
barSize
:
{
type
:
Object
type
:
Object
,
default
:
NULL
}
},
data
()
{
...
...
src/components/Verifition/Verify/VerifySlide.vue
View file @
2e27ff21
...
...
@@ -187,7 +187,7 @@ export default {
showRefresh
:
true
,
transitionLeft
:
''
,
transitionWidth
:
''
,
isFlag
:
false
,
isFlag
:
false
}
},
computed
:
{
...
...
src/components/Verifition/utils/ase.js
View file @
2e27ff21
...
...
@@ -3,9 +3,9 @@ import CryptoJS from 'crypto-js'
* @word 要加密的内容
* @keyWord String 服务器随机返回的关键字
* */
export
function
aesEncrypt
(
word
,
keyWord
=
"XwKsGlMcdPMEhR1B"
)
{
var
key
=
CryptoJS
.
enc
.
Utf8
.
parse
(
keyWord
)
;
var
srcs
=
CryptoJS
.
enc
.
Utf8
.
parse
(
word
)
;
var
encrypted
=
CryptoJS
.
AES
.
encrypt
(
srcs
,
key
,
{
mode
:
CryptoJS
.
mode
.
ECB
,
padding
:
CryptoJS
.
pad
.
Pkcs7
})
;
return
encrypted
.
toString
()
;
export
function
aesEncrypt
(
word
,
keyWord
=
'XwKsGlMcdPMEhR1B'
)
{
var
key
=
CryptoJS
.
enc
.
Utf8
.
parse
(
keyWord
)
var
srcs
=
CryptoJS
.
enc
.
Utf8
.
parse
(
word
)
var
encrypted
=
CryptoJS
.
AES
.
encrypt
(
srcs
,
key
,
{
mode
:
CryptoJS
.
mode
.
ECB
,
padding
:
CryptoJS
.
pad
.
Pkcs7
})
return
encrypted
.
toString
()
}
src/components/Verifition/utils/util.js
View file @
2e27ff21
export
function
resetSize
(
vm
)
{
var
img_width
,
img_height
,
bar_width
,
bar_height
;
//
图片的宽度、高度,移动条的宽度、高度
var
img_width
,
img_height
,
bar_width
,
bar_height
//
图片的宽度、高度,移动条的宽度、高度
var
parentWidth
=
vm
.
$el
.
parentNode
.
offsetWidth
||
window
.
offsetWidth
var
parentHeight
=
vm
.
$el
.
parentNode
.
offsetHeight
||
window
.
offsetHeight
var
parentWidth
=
vm
.
$el
.
parentNode
.
offsetWidth
||
window
.
offsetWidth
var
parentHeight
=
vm
.
$el
.
parentNode
.
offsetHeight
||
window
.
offsetHeight
if
(
vm
.
imgSize
.
width
.
indexOf
(
'%'
)
!
=
-
1
)
{
img_width
=
parseInt
(
this
.
imgSize
.
width
)
/
100
*
parentWidth
+
'px'
}
else
{
img_width
=
this
.
imgSize
.
width
;
}
if
(
vm
.
imgSize
.
width
.
indexOf
(
'%'
)
!=
=
-
1
)
{
img_width
=
parseInt
(
this
.
imgSize
.
width
)
/
100
*
parentWidth
+
'px'
}
else
{
img_width
=
this
.
imgSize
.
width
}
if
(
vm
.
imgSize
.
height
.
indexOf
(
'%'
)
!
=
-
1
)
{
img_height
=
parseInt
(
this
.
imgSize
.
height
)
/
100
*
parentHeight
+
'px'
}
else
{
img_height
=
this
.
imgSize
.
height
}
if
(
vm
.
imgSize
.
height
.
indexOf
(
'%'
)
!=
=
-
1
)
{
img_height
=
parseInt
(
this
.
imgSize
.
height
)
/
100
*
parentHeight
+
'px'
}
else
{
img_height
=
this
.
imgSize
.
height
}
if
(
vm
.
barSize
.
width
.
indexOf
(
'%'
)
!
=
-
1
)
{
bar_width
=
parseInt
(
this
.
barSize
.
width
)
/
100
*
parentWidth
+
'px'
}
else
{
bar_width
=
this
.
barSize
.
width
}
if
(
vm
.
barSize
.
width
.
indexOf
(
'%'
)
!=
=
-
1
)
{
bar_width
=
parseInt
(
this
.
barSize
.
width
)
/
100
*
parentWidth
+
'px'
}
else
{
bar_width
=
this
.
barSize
.
width
}
if
(
vm
.
barSize
.
height
.
indexOf
(
'%'
)
!
=
-
1
)
{
bar_height
=
parseInt
(
this
.
barSize
.
height
)
/
100
*
parentHeight
+
'px'
}
else
{
bar_height
=
this
.
barSize
.
height
}
if
(
vm
.
barSize
.
height
.
indexOf
(
'%'
)
!=
=
-
1
)
{
bar_height
=
parseInt
(
this
.
barSize
.
height
)
/
100
*
parentHeight
+
'px'
}
else
{
bar_height
=
this
.
barSize
.
height
}
return
{
imgWidth
:
img_width
,
imgHeight
:
img_height
,
barWidth
:
bar_width
,
barHeight
:
bar_height
}
return
{
imgWidth
:
img_width
,
imgHeight
:
img_height
,
barWidth
:
bar_width
,
barHeight
:
bar_height
}
}
export
const
_code_chars
=
[
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
'a'
,
'b'
,
'c'
,
'd'
,
'e'
,
'f'
,
'g'
,
'h'
,
'i'
,
'j'
,
'k'
,
'l'
,
'm'
,
'n'
,
'o'
,
'p'
,
'q'
,
'r'
,
's'
,
't'
,
'u'
,
'v'
,
'w'
,
'x'
,
'y'
,
'z'
,
'A'
,
'B'
,
'C'
,
'D'
,
'E'
,
'F'
,
'G'
,
'H'
,
'I'
,
'J'
,
'K'
,
'L'
,
'M'
,
'N'
,
'O'
,
'P'
,
'Q'
,
'R'
,
'S'
,
'T'
,
'U'
,
'V'
,
'W'
,
'X'
,
'Y'
,
'Z'
]
export
const
_code_color1
=
[
'#fffff0'
,
'#f0ffff'
,
'#f0fff0'
,
'#fff0f0'
]
export
const
_code_color2
=
[
'#FF0033'
,
'#006699'
,
'#993366'
,
'#FF9900'
,
'#66CC66'
,
'#FF33CC'
]
\ No newline at end of file
export
const
_code_color2
=
[
'#FF0033'
,
'#006699'
,
'#993366'
,
'#FF9900'
,
'#66CC66'
,
'#FF33CC'
]
src/components/vanOnkyOffice/index.vue
View file @
2e27ff21
...
...
@@ -63,7 +63,7 @@ export default {
deleteCommentAuthorOnly
:
true
,
editCommentAuthorOnly
:
true
,
protect
:
true
,
review
:
option
.
isEdit
,
review
:
option
.
isEdit
}
},
...
...
src/layout/components/Sidebar/Logo.vue
View file @
2e27ff21
...
...
@@ -7,13 +7,13 @@
class=
"sidebar-logo-link"
to=
"/"
>
<img
:src=
"logo"
class=
"sidebar-logo"
/
>
<img
:src=
"logo"
class=
"sidebar-logo"
>
<!--
<div
class=
"sidebar-title"
>
{{
title
}}
</div>
-->
</router-link>
<router-link
v-else
key=
"expand"
class=
"sidebar-logo-link"
to=
"/"
>
<div
class=
"sidebar-logoTitle"
>
<div
class=
"sidebar-logoRow"
>
<img
:src=
"logo"
class=
"sidebar-logo"
/
>
<img
:src=
"logo"
class=
"sidebar-logo"
>
</div>
<div
class=
"sidebar-title"
>
{{
title
}}
</div>
</div>
...
...
@@ -23,7 +23,6 @@
</
template
>
<
script
>
import
{
isExternal
}
from
'@/utils/validate'
export
default
{
name
:
'SidebarLogo'
,
...
...
src/layout/components/TagsView/index.vue
View file @
2e27ff21
...
...
@@ -151,7 +151,7 @@ export default {
},
closeSelectedTag
(
view
)
{
// 关闭标签页清除存储的筛选条件数据
this
.
$store
.
dispatch
(
'searchSave/clearOneParams'
,
this
.
$route
.
path
)
this
.
$store
.
dispatch
(
'searchSave/clearOneParams'
,
this
.
$route
.
path
)
this
.
$store
.
dispatch
(
'tagsView/delView'
,
view
).
then
(({
visitedViews
})
=>
{
if
(
this
.
isActive
(
view
))
{
this
.
toLastView
(
visitedViews
,
view
)
...
...
src/layout/index.vue
View file @
2e27ff21
...
...
@@ -2,9 +2,9 @@
<div
v-if=
"
currentPath === '' ||
currentPath === null ||
currentPath === 'R' ||
currentPath === 'G'
currentPath === null ||
currentPath === 'R' ||
currentPath === 'G'
"
:class=
"classObj"
class=
"app-wrapper"
...
...
@@ -21,7 +21,7 @@
</div>
<div
class=
"nav-container-two"
>
<div
class=
"placeholder"
/>
<tags-view
v-if=
"themeType && themeType !== '8'"
/>
<tags-view
v-if=
"themeType && themeType !== '8'"
/>
<navbar
v-if=
"themeType && themeType !== '8'"
/>
</div>
<el-card
v-if=
"themeType && themeType === '8'"
style=
"margin:.75rem"
>
...
...
@@ -44,7 +44,6 @@ import RightPanel from '@/components/RightPanel'
import
settings
from
'@/layout/components/Settings/index.vue'
import
{
Navbar
,
Sidebar
,
AppMain
,
TagsView
,
Header
}
from
'./components'
import
ResizeMixin
from
'./mixin/ResizeHandler'
import
{
Card
}
from
'element-ui'
export
default
{
name
:
'Layout'
,
...
...
src/main.js
View file @
2e27ff21
...
...
@@ -59,11 +59,21 @@ import '@/permission' // permission control
import
{
includePermission
}
from
'@/utils/common'
import
{
getDict
}
from
'@/api/system/dict/data'
import
{
getConfigKey
}
from
'@/api/system/config'
import
{
parseTime
,
resetForm
,
addDateRange
,
selectDictLabel
,
download
,
handleTree
,
addDateRangeMothon
,
addDateLoginMothon
}
from
'@/utils/common'
import
{
parseTime
,
resetForm
,
addDateRange
,
selectDictLabel
,
download
,
handleTree
,
addDateRangeMothon
,
addDateLoginMothon
}
from
'@/utils/common'
import
Pagination
from
'@/components/Pagination'
import
{
uploadPublic
}
from
'@/api/fileUploadPublic'
import
Viewer
from
'v-viewer'
import
'viewerjs/dist/viewer.css'
Vue
.
use
(
Viewer
)
Viewer
.
setDefaults
({
Options
:
{
...
...
src/utils/halberd/js/layui.all.js
View file @
2e27ff21
This diff is collapsed.
Click to expand it.
src/utils/wayne.js
View file @
2e27ff21
export
function
getFileType
(
fileType
)
{
let
docType
=
''
le
t
fileTypesDoc
=
[
'doc'
,
'docm'
,
'docx'
,
'dot'
,
'dotm'
,
'dotx'
,
'epub'
,
'fodt'
,
'htm'
,
'html'
,
'mht'
,
'odt'
,
'ott'
,
'pdf'
,
'rtf'
,
'txt'
,
'djvu'
,
'xps'
,
cons
t
fileTypesDoc
=
[
'doc'
,
'docm'
,
'docx'
,
'dot'
,
'dotm'
,
'dotx'
,
'epub'
,
'fodt'
,
'htm'
,
'html'
,
'mht'
,
'odt'
,
'ott'
,
'pdf'
,
'rtf'
,
'txt'
,
'djvu'
,
'xps'
]
le
t
fileTypesCsv
=
[
'csv'
,
'fods'
,
'ods'
,
'ots'
,
'xls'
,
'xlsm'
,
'xlsx'
,
'xlt'
,
'xltm'
,
'xltx'
,
cons
t
fileTypesCsv
=
[
'csv'
,
'fods'
,
'ods'
,
'ots'
,
'xls'
,
'xlsm'
,
'xlsx'
,
'xlt'
,
'xltm'
,
'xltx'
]
le
t
fileTypesPPt
=
[
'fodp'
,
'odp'
,
'otp'
,
'pot'
,
'potm'
,
'potx'
,
'pps'
,
'ppsm'
,
'ppsx'
,
'ppt'
,
'pptm'
,
'pptx'
,
cons
t
fileTypesPPt
=
[
'fodp'
,
'odp'
,
'otp'
,
'pot'
,
'potm'
,
'potx'
,
'pps'
,
'ppsm'
,
'ppsx'
,
'ppt'
,
'pptm'
,
'pptx'
]
if
(
fileTypesDoc
.
includes
(
fileType
))
{
docType
=
'text'
...
...
src/views/busClassesInfo/index.vue
View file @
2e27ff21
...
...
@@ -2,91 +2,95 @@
<div
class=
"app-container"
>
<div
v-if=
"themeType == '8'"
class=
"tableTitle"
>
班级管理列表
</div>
<div
class=
"search"
>
<el-form
ref=
"queryForm"
style=
"padding: 0 0 0 10px"
:model=
"queryParams"
:inline=
"true"
>
<el-form-item
label=
"编号"
prop=
"classesCode"
>
<el-input
v-model=
"queryParams.classesCode"
placeholder=
"请输入编号"
clearable
:maxlength=
"32"
size=
"small"
style=
"width: 150px"
/>
</el-form-item>
<el-form-item
label=
"班级名称"
prop=
"classesName"
>
<el-input
v-model=
"queryParams.classesName"
placeholder=
"请输入班级名称"
clearable
:maxlength=
"32"
size=
"small"
style=
"width: 150px"
/>
</el-form-item>
<el-form-item
label=
"班级负责人"
prop=
"classesTeaUser"
>
<el-input
v-model=
"queryParams.classesTeaUser"
placeholder=
"请输入班级负责人"
clearable
:maxlength=
"32"
size=
"small"
style=
"width: 150px"
/>
</el-form-item>
<el-form-item
label=
"负责人联系方式"
prop=
"classesTeaPhone"
>
<el-input
v-model=
"queryParams.classesTeaPhone"
placeholder=
"请输入负责人联系方式"
clearable
:maxlength=
"32"
size=
"small"
style=
"width: 150px"
/>
</el-form-item>
<el-form-item
label=
"状态"
prop=
"flag"
>
<el-select
v-model=
"queryParams.flag"
placeholder=
"请选择状态"
clearable
size=
"small"
>
<el-option
v-for=
"dict in statusOptions"
:key=
"dict.dictValue"
:label=
"dict.dictLabel"
:value=
"dict.dictValue"
<el-form
ref=
"queryForm"
style=
"padding: 0 0 0 10px"
:model=
"queryParams"
:inline=
"true"
>
<el-form-item
label=
"编号"
prop=
"classesCode"
>
<el-input
v-model=
"queryParams.classesCode"
placeholder=
"请输入编号"
clearable
:maxlength=
"32"
size=
"small"
style=
"width: 150px"
/>
</el-select>
</el-form-item>
<div
style=
"float: right"
>
<el-form-item>
<el-button
:class=
"commonField.queryClass"
:type=
"commonField.typePrimary"
:icon=
"commonField.queryIcon"
:size=
"commonField.smallSize"
@
click=
"handleQuery"
>
查询
</el-button>
<el-button
:class=
"commonField.resetClass"
:icon=
"commonField.resetIcon"
:size=
"commonField.smallSize"
@
click=
"resetQuery"
>
重置
</el-button>
</el-form-item>
<el-form-item>
<el-button
:class=
"commonField.addClass"
:type=
"commonField.typePrimary"
:icon=
"commonField.addIcon"
:size=
"commonField.smallSize"
@
click=
"handleAdd"
>
新增
</el-button>
<el-button
:class=
"commonField.exportClass"
:type=
"commonField.typeSuccess"
:icon=
"commonField.exportIcon"
:size=
"commonField.smallSize"
@
click=
"handleExport"
>
导出
</el-button>
</el-form-item>
</div>
</el-form>
</div>
<el-form-item
label=
"班级名称"
prop=
"classesName"
>
<el-input
v-model=
"queryParams.classesName"
placeholder=
"请输入班级名称"
clearable
:maxlength=
"32"
size=
"small"
style=
"width: 150px"
/>
</el-form-item>
<el-form-item
label=
"班级负责人"
prop=
"classesTeaUser"
>
<el-input
v-model=
"queryParams.classesTeaUser"
placeholder=
"请输入班级负责人"
clearable
:maxlength=
"32"
size=
"small"
style=
"width: 150px"
/>
</el-form-item>
<el-form-item
label=
"负责人联系方式"
prop=
"classesTeaPhone"
>
<el-input
v-model=
"queryParams.classesTeaPhone"
placeholder=
"请输入负责人联系方式"
clearable
:maxlength=
"32"
size=
"small"
style=
"width: 150px"
/>
</el-form-item>
<el-form-item
label=
"状态"
prop=
"flag"
>
<el-select
v-model=
"queryParams.flag"
placeholder=
"请选择状态"
clearable
size=
"small"
>
<el-option
v-for=
"dict in statusOptions"
:key=
"dict.dictValue"
:label=
"dict.dictLabel"
:value=
"dict.dictValue"
/>
</el-select>
</el-form-item>
<div
style=
"float: right"
>
<el-form-item>
<el-button
:class=
"commonField.queryClass"
:type=
"commonField.typePrimary"
:icon=
"commonField.queryIcon"
:size=
"commonField.smallSize"
@
click=
"handleQuery"
>
查询
</el-button>
<el-button
:class=
"commonField.resetClass"
:icon=
"commonField.resetIcon"
:size=
"commonField.smallSize"
@
click=
"resetQuery"
>
重置
</el-button>
</el-form-item>
<el-form-item>
<el-button
:class=
"commonField.addClass"
:type=
"commonField.typePrimary"
:icon=
"commonField.addIcon"
:size=
"commonField.smallSize"
@
click=
"handleAdd"
>
新增
</el-button>
<el-button
:class=
"commonField.exportClass"
:type=
"commonField.typeSuccess"
:icon=
"commonField.exportIcon"
:size=
"commonField.smallSize"
@
click=
"handleExport"
>
导出
</el-button>
</el-form-item>
</div>
</el-form>
</div>
<div
style=
"padding:5px 10px"
>
<div
v-if=
"themeType !== '8'"
class=
"tableTitle"
>
班级管理列表
</div>
<el-table
v-loading=
"loading"
border
:data=
"busClassesInfoList"
>
<el-table
v-loading=
"loading"
border
:data=
"busClassesInfoList"
>
<el-table-column
type=
"index"
label=
"序号"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"编号"
prop=
"classesCode"
:show-overflow-tooltip=
"true"
>
<template
slot-scope=
"scope"
>
...
...
@@ -148,11 +152,11 @@
</el-table>
</div>
<pagination
v-show=
"total>0"
:total=
"total"
:page
.
sync=
"queryParams.page"
:limit
.
sync=
"queryParams.rows"
@
pagination=
"getList"
v-show=
"total>0"
:total=
"total"
:page
.
sync=
"queryParams.page"
:limit
.
sync=
"queryParams.rows"
@
pagination=
"getList"
/>
<!-- 添加或修改班级信息配置对话框 -->
<el-dialog
:title=
"title"
:visible
.
sync=
"open"
width=
"800px"
append-to-body
>
...
...
@@ -169,12 +173,12 @@
<el-form-item
label=
"负责人联系方式"
prop=
"classesTeaPhone"
>
<el-input
v-model
.
trim=
"form.classesTeaPhone"
show-word-limit
:maxlength=
"11"
placeholder=
"请输入负责人联系方式"
/>
</el-form-item>
<el-form-item
label=
"状态"
>
<el-radio-group
v-model=
"form.flag"
>
<el-radio
label=
"1"
>
启用
</el-radio>
<el-radio
label=
"0"
>
停用
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
label=
"状态"
>
<el-radio-group
v-model=
"form.flag"
>
<el-radio
label=
"1"
>
启用
</el-radio>
<el-radio
label=
"0"
>
停用
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
label=
"备注"
prop=
"remarks"
>
<el-input
v-model
.
trim=
"form.remarks"
maxlength=
"250"
show-word-limit
type=
"textarea"
placeholder=
"请输入内容"
/>
</el-form-item>
...
...
@@ -236,11 +240,11 @@ export default {
form
:
{},
// 表单校验
rules
:
{
classesCode
:
[{
type
:
'string'
,
required
:
true
,
message
:
"班级编号必填"
,
trigger
:
'blur'
}],
classesName
:
[{
type
:
'string'
,
required
:
true
,
message
:
"班级名称必填"
,
trigger
:
'blur'
}],
classesTeaUser
:
[{
type
:
'string'
,
required
:
true
,
message
:
"负责人名称必填"
,
trigger
:
'blur'
}],
classesTeaPhone
:
[{
type
:
'string'
,
required
:
true
,
message
:
"负责人联系方式必填"
,
trigger
:
'blur'
}]
}
,
classesCode
:
[{
type
:
'string'
,
required
:
true
,
message
:
'班级编号必填'
,
trigger
:
'blur'
}],
classesName
:
[{
type
:
'string'
,
required
:
true
,
message
:
'班级名称必填'
,
trigger
:
'blur'
}],
classesTeaUser
:
[{
type
:
'string'
,
required
:
true
,
message
:
'负责人名称必填'
,
trigger
:
'blur'
}],
classesTeaPhone
:
[{
type
:
'string'
,
required
:
true
,
message
:
'负责人联系方式必填'
,
trigger
:
'blur'
}]
}
}
},
computed
:
{
...
...
@@ -251,8 +255,8 @@ export default {
return
commonField
}
},
/** 路由离开前存储筛选条件*/
beforeRouteLeave
(
to
,
from
,
next
)
{
/** 路由离开前存储筛选条件*/
beforeRouteLeave
(
to
,
from
,
next
)
{
setDataCache
(
this
.
$route
.
path
,
this
.
queryParams
)
next
()
},
...
...
@@ -265,11 +269,11 @@ export default {
getList
()
{
this
.
loading
=
true
listBusClassesInfo
(
this
.
queryParams
).
then
(
response
=>
{
this
.
busClassesInfoList
=
response
.
rows
this
.
total
=
response
.
total
this
.
loading
=
false
}
response
=>
{
this
.
busClassesInfoList
=
response
.
rows
this
.
total
=
response
.
total
this
.
loading
=
false
}
)
},
// 取消按钮
...
...
src/views/busStudentInfo/index.vue
View file @
2e27ff21
...
...
@@ -2,7 +2,7 @@
<div
class=
"app-container"
>
<div
v-if=
"themeType !== '8'"
class=
"tableTitle"
>
学生信息列表
</div>
<div
class=
"search"
>
<el-form
ref=
"queryForm"
style=
"padding: 0 0 0 10px"
:model=
"queryParams"
:inline=
"true"
>
<el-form
ref=
"queryForm"
style=
"padding: 0 0 0 10px"
:model=
"queryParams"
:inline=
"true"
>
<el-form-item
label=
"学号"
prop=
"userCode"
>
<el-input
v-model=
"queryParams.userCode"
...
...
@@ -53,41 +53,45 @@
/>
</el-select>
</el-form-item>
<div
style=
"float: right"
>
<el-form-item>
<el-button
:class=
"commonField.queryClass"
:type=
"commonField.typePrimary"
:icon=
"commonField.queryIcon"
:size=
"commonField.smallSize"
@
click=
"handleQuery"
>
查询
</el-button>
<el-button
:class=
"commonField.resetClass"
:type=
"commonField.typePrimary"
:icon=
"commonField.resetIcon"
:size=
"commonField.smallSize"
@
click=
"resetQuery"
>
重置
</el-button>
</el-form-item>
<el-button
:class=
"commonField.queryClass"
:type=
"commonField.typePrimary"
:icon=
"commonField.queryIcon"
:size=
"commonField.smallSize"
@
click=
"handleQuery"
>
查询
</el-button>
<el-button
:class=
"commonField.resetClass"
:type=
"commonField.typePrimary"
:icon=
"commonField.resetIcon"
:size=
"commonField.smallSize"
@
click=
"resetQuery"
>
重置
</el-button>
</el-form-item>
<el-form-item>
<el-button
:class=
"commonField.addClass"
:type=
"commonField.typePrimary"
:icon=
"commonField.addIcon"
:size=
"commonField.smallSize"
@
click=
"handleAdd"
>
新增
</el-button>
@
click=
"handleAdd"
>
新增
</el-button>
<el-button
:class=
"commonField.exportClass"
:type=
"commonField.typePrimary"
:icon=
"commonField.exportIcon"
:size=
"commonField.smallSize"
@
click=
"handleExport"
>
导出
</el-button>
@
click=
"handleExport"
>
导出
</el-button>
</el-form-item>
</div>
</el-form>
</div>
<div
style=
"padding:5px 10px"
>
<el-table
v-loading=
"loading"
border
:data=
"busStudentInfoList"
>
<el-table
v-loading=
"loading"
border
:data=
"busStudentInfoList"
>
<el-table-column
type=
"index"
label=
"序号"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"学号"
prop=
"userCode"
:show-overflow-tooltip=
"true"
>
<template
slot-scope=
"scope"
>
...
...
@@ -149,11 +153,11 @@
</el-table>
</div>
<pagination
v-show=
"total>0"
:total=
"total"
:page
.
sync=
"queryParams.page"
:limit
.
sync=
"queryParams.rows"
@
pagination=
"getList"
v-show=
"total>0"
:total=
"total"
:page
.
sync=
"queryParams.page"
:limit
.
sync=
"queryParams.rows"
@
pagination=
"getList"
/>
<!-- 添加或修改学生信息配置对话框 -->
<el-dialog
:title=
"title"
:visible
.
sync=
"open"
width=
"500px"
append-to-body
>
...
...
@@ -186,12 +190,12 @@
/>
</el-select>
</el-form-item>
<el-form-item
label=
"状态"
>
<el-radio-group
v-model=
"form.flag"
>
<el-radio
label=
"1"
>
启用
</el-radio>
<el-radio
label=
"0"
>
停用
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
label=
"状态"
>
<el-radio-group
v-model=
"form.flag"
>
<el-radio
label=
"1"
>
启用
</el-radio>
<el-radio
label=
"0"
>
停用
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
label=
"备注"
prop=
"remarks"
>
<el-input
v-model
.
trim=
"form.remarks"
maxlength=
"200"
show-word-limit
type=
"textarea"
placeholder=
"请输入内容"
/>
</el-form-item>
...
...
@@ -212,9 +216,8 @@ import {
addBusStudentInfo
,
updateBusStudentInfo
,
exportBusStudentInfo
}
from
'@/api/busStudentInfo'
import
{
listBusClassesInfo
}
from
'@/api/busClassesInfo'
import
{
listBusClassesInfo
}
from
'@/api/busClassesInfo'
import
commonField
from
'@/utils/commonField'
import
{
get
}
from
'js-cookie'
;
export
default
{
name
:
'BusStudentInfo'
,
data
()
{
...
...
@@ -300,7 +303,7 @@ export default {
this
.
getClassList
()
// 班级列表
},
methods
:
{
//查询班级列表
//
查询班级列表
getClassList
()
{
listBusClassesInfo
().
then
(
response
=>
{
...
...
src/views/busTeacherInfo/index.vue
View file @
2e27ff21
...
...
@@ -53,41 +53,45 @@
/>
</el-select>
</el-form-item>
<div
style=
"float: right"
>
<el-form-item>
<el-button
:class=
"commonField.queryClass"
:type=
"commonField.typePrimary"
:icon=
"commonField.queryIcon"
:size=
"commonField.smallSize"
@
click=
"handleQuery"
>
查询
</el-button>
<el-button
:class=
"commonField.resetClass"
:type=
"commonField.typePrimary"
:icon=
"commonField.resetIcon"
:size=
"commonField.smallSize"
@
click=
"resetQuery"
>
重置
</el-button>
</el-form-item>
<el-button
:class=
"commonField.queryClass"
:type=
"commonField.typePrimary"
:icon=
"commonField.queryIcon"
:size=
"commonField.smallSize"
@
click=
"handleQuery"
>
查询
</el-button>
<el-button
:class=
"commonField.resetClass"
:type=
"commonField.typePrimary"
:icon=
"commonField.resetIcon"
:size=
"commonField.smallSize"
@
click=
"resetQuery"
>
重置
</el-button>
</el-form-item>
<el-form-item>
<el-button
:class=
"commonField.addClass"
:type=
"commonField.typePrimary"
:icon=
"commonField.addIcon"
:size=
"commonField.smallSize"
@
click=
"handleAdd"
>
新增
</el-button>
@
click=
"handleAdd"
>
新增
</el-button>
<el-button
:class=
"commonField.exportClass"
:type=
"commonField.typeSuccess"
:icon=
"commonField.exportIcon"
:size=
"commonField.smallSize"
@
click=
"handleExport"
>
导出
</el-button>
@
click=
"handleExport"
>
导出
</el-button>
</el-form-item>
</div>
</el-form>
</div>
<div
style=
"padding:5px 10px"
>
<el-table
v-loading=
"loading"
border
:data=
"busTeacherInfoList"
>
<el-table
v-loading=
"loading"
border
:data=
"busTeacherInfoList"
>
<el-table-column
type=
"index"
label=
"序号"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"工号"
prop=
"userCode"
:show-overflow-tooltip=
"true"
>
<template
slot-scope=
"scope"
>
...
...
src/views/login/login.vue
View file @
2e27ff21
...
...
@@ -2,7 +2,7 @@
<div
class=
"login"
>
<!-- v-loading="vLoading"-->
<div
v-if=
"themeType && themeType === '7'"
class=
"loginTitle"
>
<img
class=
"login-logo"
src=
"../../assets/themeGImage/login_logo.png"
/
>
<img
class=
"login-logo"
src=
"../../assets/themeGImage/login_logo.png"
>
<span
class=
"loginTitle_text"
>
Square
</span>
</div>
<el-form
...
...
@@ -22,7 +22,7 @@
<div
v-if=
"themeType && themeType === '8'"
class=
"sub_title"
>
欢迎登录
</div>
信息化
<br
v-if=
"themeType && themeType === '8'"
/
>
信息化
<br
v-if=
"themeType && themeType === '8'"
>
管理系统
</div>
</div>
...
...
@@ -75,7 +75,7 @@
</el-input>
</el-form-item>
<div
class=
"login-code"
>
<img
class=
"login-codeImg"
:src=
"codeUrl"
@
click=
"getCode"
/
>
<img
class=
"login-codeImg"
:src=
"codeUrl"
@
click=
"getCode"
>
</div>
</div>
<el-form-item
...
...
@@ -149,11 +149,12 @@
v-if=
"themeType && themeType === '8'"
v-model=
"loginForm.rememberMe"
class=
"rem-code"
>
保持登录
</el-checkbox
>
<el-checkbox
v-else
v-model=
"loginForm.rememberMe"
class=
"rem-code"
>
记住密码
</el-checkbox
>
>
保持登录
</el-checkbox>
<el-checkbox
v-else
v-model=
"loginForm.rememberMe"
class=
"rem-code"
>
记住密码
</el-checkbox>
<!--
<el-link-->
<!-- :underline="false"-->
...
...
@@ -170,7 +171,7 @@
</
template
>
<
script
>
import
{
getCodeImg
,
captchaImage
,
getBwCaptcha
}
from
'@/api/login'
import
{
captchaImage
}
from
'@/api/login'
import
Cookies
from
'js-cookie'
import
{
passwordEncrypt
,
passwordDecrypt
}
from
'@/utils/jsencrypt'
import
Verify
from
'@/components/Verifition/Verify'
...
...
src/views/navigation.vue
View file @
2e27ff21
<
template
>
<router-view
></router-view
>
<router-view
/
>
</
template
>
<
script
>
export
default
{
...
...
src/views/reSetPsw.vue
View file @
2e27ff21
<
template
>
<section
class=
"forget-pwd-content"
>
<!--
<page-divider
/>
-->
<!--
<page-divider
/>
-->
<div
class=
"title"
>
修改密码
</div>
<el-form
ref=
"pwdForm"
...
...
src/views/resDatasetInfo/index.vue
View file @
2e27ff21
This diff is collapsed.
Click to expand it.
src/views/resLabelInfo/index.vue
View file @
2e27ff21
...
...
@@ -36,19 +36,19 @@
<div
style=
"float: right"
>
<el-form-item>
<el-button
:class=
"commonField.queryClass"
:type=
"commonField.typePrimary"
:icon=
"commonField.queryIcon"
:size=
"commonField.smallSize"
@
click=
"handleQuery"
>
查询
</el-button>
<el-button
:class=
"commonField.resetClass"
:type=
"commonField.typePrimary"
:icon=
"commonField.resetIcon"
:size=
"commonField.smallSize"
@
click=
"resetQuery"
>
重置
</el-button>
:class=
"commonField.queryClass"
:type=
"commonField.typePrimary"
:icon=
"commonField.queryIcon"
:size=
"commonField.smallSize"
@
click=
"handleQuery"
>
查询
</el-button>
<el-button
:class=
"commonField.resetClass"
:type=
"commonField.typePrimary"
:icon=
"commonField.resetIcon"
:size=
"commonField.smallSize"
@
click=
"resetQuery"
>
重置
</el-button>
<el-button
:class=
"commonField.addClass"
:type=
"commonField.typePrimary"
...
...
@@ -541,7 +541,7 @@ export default {
this
.
$message
.
error
(
res
.
message
)
this
.
importLoading
=
false
}
}).
catch
(
err
=>
{
}).
catch
(
()
=>
{
// this.$message.error(err.message)
that
.
importLoading
=
false
})
...
...
src/views/system/dict/data.vue
View file @
2e27ff21
...
...
@@ -4,7 +4,7 @@
<div
class=
"search"
>
<el-form
v-show=
"showSearch"
ref=
"queryForm"
style=
"padding: 0 0 0 10px"
:model=
"queryParams"
:inline=
"true"
>
<el-form-item
label=
"字典名称"
prop=
"dictType"
>
<el-select
disabled
v-model=
"queryParams.dictType"
placeholder=
"请选择字典名称"
clearable
size=
"small"
>
<el-select
v-model=
"queryParams.dictType"
disabled
placeholder=
"请选择字典名称"
clearable
size=
"small"
>
<el-option
v-for=
"item in typeOptions"
:key=
"item.businessId"
...
...
@@ -38,7 +38,7 @@
<el-button
class=
"resetBtn"
type=
"primary"
icon=
"el-icon-refresh"
size=
"small"
@
click=
"resetQuery"
>
重置
</el-button>
</el-form-item>
<div
style=
"padding-bottom: 15px"
class=
"dictBtnRow"
>
<coolbutton
:class-name=
"commonField.addClass"
:type=
"commonField.typePrimary"
:name=
"commonField.addName"
:icon=
"commonField.addIcon"
:size=
"commonField.size"
:haspermi=
"hasDataAddPerm"
@
btn-click=
"handleAdd"
/>
<coolbutton
:class-name=
"commonField.addClass"
:type=
"commonField.typePrimary"
:name=
"commonField.addName"
:icon=
"commonField.addIcon"
:size=
"commonField.size"
:haspermi=
"hasDataAddPerm"
@
btn-click=
"handleAdd"
/>
<el-button
class=
"importBtn"
type=
"warning"
...
...
@@ -175,7 +175,7 @@
</el-upload>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"upload.open = false"
>
取 消
</el-button>
<el-button
:loading=
"importLoading"
type=
"primary"
@
click
.
one
=
"submitFileForm"
>
确 定
</el-button>
<el-button
:loading=
"importLoading"
type=
"primary"
@
click=
"submitFileForm"
>
确 定
</el-button>
</div>
</el-dialog>
</div>
...
...
@@ -184,7 +184,6 @@
<
script
>
import
{
listData
,
getData
,
delData
,
addData
,
updateData
,
exportData
,
importExcel
,
importTemplate
}
from
'@/api/system/dict/data'
import
{
listType
,
getType
}
from
'@/api/system/dict/type'
import
dictCons
from
'@/utils/dictCons'
import
Coolbutton
from
'@/components/coolbutton'
import
{
getToken
}
from
'@/utils/auth'
import
{
uploadFalseFile
}
from
'@/api/system/user'
...
...
src/views/system/dict/index.vue
View file @
2e27ff21
...
...
@@ -72,10 +72,11 @@
>
{{
commonField
.
resetName
}}
</el-button>
</el-form-item>
<div
style=
"padding-bottom: 15px"
class=
"dictBtnRow"
>
<!-- //新增按钮-->
<!-- //新增按钮-->
<el-button
v-hasPermi=
"hasDictAddPerm"
:class=
"commonField.addClass"
FR
:class=
"commonField.addClass"
f-r
:type=
"commonField.typePrimary"
:icon=
"commonField.addIcon"
:size=
"commonField.smallSize"
...
...
@@ -222,12 +223,10 @@ import { listType,
clearCache
,
selectDictType
}
from
'@/api/system/dict/type'
import
Coolbutton
from
'@/components/coolbutton'
import
{
getDataCache
,
setDataCache
}
from
'@/assets/js/filterData'
import
commonField
from
'@/utils/commonField'
export
default
{
name
:
'Dict'
,
components
:
{
Coolbutton
},
data
()
{
return
{
options
:
[],
...
...
src/views/system/index.vue
View file @
2e27ff21
This diff is collapsed.
Click to expand it.
src/views/system/menu/index.vue
View file @
2e27ff21
...
...
@@ -157,7 +157,7 @@
</el-radio-group>
</el-form-item>
</el-col>
<el-col
:span=
"24"
v-if=
"form.menuType === 'C'
"
>
<el-col
v-if=
"form.menuType === 'C'"
:span=
"24
"
>
<el-form-item
label=
"跳转类型"
prop=
"jumpType"
>
<el-radio-group
v-model=
"form.jumpType"
>
<el-radio
label=
"R"
>
正常路由跳转
</el-radio>
...
...
@@ -252,7 +252,7 @@
</el-select>
</el-form-item>
</el-col>
<el-col
style=
"width: 100%;"
v-if=
"form.menuType === 'C'
"
:span=
"12"
>
<el-col
v-if=
"form.menuType === 'C'"
style=
"width: 100%;
"
:span=
"12"
>
<el-form-item
label=
"组件路径"
prop=
"component"
>
<el-input
v-model
.
trim=
"form.component"
style=
"width: 95%"
show-word-limit
maxlength=
"100"
placeholder=
"请输入组件路径"
/>
</el-form-item>
...
...
@@ -272,12 +272,11 @@ import { addMenu, delMenu, getMenu, listMenu, statusChange, updateMenu } from '@
import
TreeSelect
from
'@riophae/vue-treeselect'
import
'@riophae/vue-treeselect/dist/vue-treeselect.css'
import
IconSelect
from
'@/components/IconSelect'
import
Coolbutton
from
'@/components/coolbutton'
import
{
getDataCache
,
setDataCache
}
from
'@/assets/js/filterData'
import
commonField
from
'@/utils/commonField'
export
default
{
name
:
'Menu'
,
components
:
{
TreeSelect
,
IconSelect
,
Coolbutton
},
components
:
{
TreeSelect
,
IconSelect
},
data
()
{
const
trueGroupName
=
(
rule
,
value
,
callback
)
=>
{
if
(
!
value
.
trim
())
{
...
...
src/views/system/post/index.vue
View file @
2e27ff21
...
...
@@ -113,8 +113,7 @@
inactive-value=
"0"
active-value=
"1"
@
click
.
native=
"handleStatusChange(scope.row)"
>
</el-switch>
/>
</
template
>
<!-- <template slot-scope="scope">-->
<!-- {{ scope.row.flag || '-' }}-->
...
...
@@ -227,64 +226,63 @@ import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import
dictCons
from
'@/utils/dictCons'
import
{
listDept
}
from
'@/api/system/dept'
import
{
listRole
}
from
'@/api/system/role'
import
{
updateType
}
from
"@/api/system/dict/type"
;
import
{
getDataCache
,
setDataCache
}
from
'@/assets/js/filterData'
export
default
{
name
:
'Post'
,
components
:
{
Treeselect
},
data
()
{
const
verifyIDProp
=
(
rule
,
value
,
callback
)
=>
{
if
(
value
===
''
||
value
===
undefined
||
value
===
null
)
{
callback
()
}
else
if
(
!
this
.
form
.
postCodeOne
||
this
.
form
.
postCodeOne
!==
this
.
form
.
postCode
)
{
// 验证编码是否重复
checkpostIdUnique
(
this
.
form
.
postCode
).
then
(
(
res
)
=>
{
if
(
res
.
code
===
200
)
{
if
(
res
.
msg
===
'0'
)
{
callback
()
}
else
if
(
res
.
msg
===
'1'
)
{
callback
(
new
Error
(
'职务编码已存在'
))
}
else
{
callback
()
}
}
else
{
callback
()
}
}
).
catch
(
err
=>
{
callback
()
})
}
else
{
callback
()
}
}
const
verifyNameProp
=
(
rule
,
value
,
callback
)
=>
{
if
(
value
===
''
||
value
===
undefined
||
value
===
null
)
{
callback
()
}
else
if
(
!
this
.
form
.
postNameOne
||
this
.
form
.
postNameOne
!==
this
.
form
.
postName
)
{
// 验证编码是否重复
checkpostNameUnique
(
this
.
form
.
postName
).
then
(
(
res
)
=>
{
if
(
res
.
code
===
200
)
{
if
(
res
.
msg
===
'0'
)
{
callback
()
}
else
if
(
res
.
msg
===
'1'
)
{
callback
(
new
Error
(
'职务名称已存在'
))
}
else
{
callback
()
}
}
else
{
callback
()
}
}
).
catch
(
err
=>
{
callback
()
})
}
else
{
callback
()
}
}
//
const verifyIDProp = (rule, value, callback) => {
//
if (value === '' || value === undefined || value === null) {
//
callback()
//
} else if (!this.form.postCodeOne || this.form.postCodeOne !== this.form.postCode) {
//
// 验证编码是否重复
//
checkpostIdUnique(this.form.postCode).then(
//
(res) => {
//
if (res.code === 200) {
//
if (res.msg === '0') {
//
callback()
//
} else if (res.msg === '1') {
//
callback(new Error('职务编码已存在'))
//
} else {
//
callback()
//
}
//
} else {
//
callback()
//
}
//
}
//
).catch(err => {
//
callback()
//
})
//
} else {
//
callback()
//
}
//
}
//
const verifyNameProp = (rule, value, callback) => {
//
if (value === '' || value === undefined || value === null) {
//
callback()
//
} else if (!this.form.postNameOne || this.form.postNameOne !== this.form.postName) {
//
// 验证编码是否重复
//
checkpostNameUnique(this.form.postName).then(
//
(res) => {
//
if (res.code === 200) {
//
if (res.msg === '0') {
//
callback()
//
} else if (res.msg === '1') {
//
callback(new Error('职务名称已存在'))
//
} else {
//
callback()
//
}
//
} else {
//
callback()
//
}
//
}
//
).catch(err => {
//
callback()
//
})
//
} else {
//
callback()
//
}
//
}
return
{
// 选中数组
ids
:
[],
...
...
src/views/system/sysSettings/index.vue
View file @
2e27ff21
<
template
>
<div
class=
"container"
>
<div
class=
"header"
>
<div
v-if=
"themeType == '8'"
class=
"tableTitle"
>
系统设置信息
</div>
</div>
<div
class=
"header"
>
<div
v-if=
"themeType == '8'"
class=
"tableTitle"
>
系统设置信息
</div>
</div>
<el-main
class=
"main-content"
>
<div
class=
"input-field"
>
<div
class=
"system-name"
>
...
...
@@ -15,11 +15,12 @@
clearable
:maxlength=
"32"
size=
"middle"
@
blur=
"validateSystemName"
/>
@
blur=
"validateSystemName"
/>
</div>
</div>
<div
class=
"input-field"
>
<div
class=
"system-background-image"
>
<div
class=
"input-field"
>
<div
class=
"system-background-image"
>
<label
for=
"systemBg"
class=
"input-label"
>
系统背景图:
</label>
<el-upload
ref=
"upload"
...
...
@@ -33,9 +34,10 @@
:file-list=
"fileList"
:before-upload=
"handleBefore"
accept=
"image/png"
:on-remove=
"handleFileRemove"
>
:on-remove=
"handleFileRemove"
>
<i
v-if=
"!sysSettingsList.systemBg"
class=
"el-icon-plus"
/>
</el-upload>
</el-upload>
</div>
</div>
<hr
style=
"border: #889ba9 solid 5px"
>
...
...
@@ -48,7 +50,8 @@
clearable
:maxlength=
"50"
size=
"middle"
readonly
/>
readonly
/>
</div>
</div>
<div
class=
"input-field"
>
...
...
@@ -60,12 +63,13 @@
clearable
:maxlength=
"32"
size=
"middle"
readonly
/>
readonly
/>
</div>
</div>
<div
class=
"input-field"
>
<div
class=
"expiration-date"
>
<label
for=
"systemExpire"
class=
"input-label"
>
过期时间:
</label>
<label
for=
"systemExpire"
class=
"input-label"
>
过期时间:
</label>
<el-date-picker
v-model=
"dateRange"
size=
"middle"
...
...
@@ -73,7 +77,8 @@
value-format=
"yyyy-MM-dd"
type=
"dateRange"
placeholder=
"2025-08-01"
readonly
/>
readonly
/>
</div>
</div>
<div
class=
"input-field"
>
...
...
@@ -85,7 +90,8 @@
clearable
:maxlength=
"50"
size=
"middle"
readonly
/>
readonly
/>
</div>
</div>
<div
class=
"input-field"
>
...
...
@@ -97,7 +103,8 @@
clearable
:maxlength=
"50"
size=
"middle"
readonly
/>
readonly
/>
</div>
</div>
<div
class=
"input-field"
>
...
...
@@ -113,7 +120,7 @@
</div>
</div>
<div
class=
"input-field"
>
<div
style=
"width: 500px"
>
<div
style=
"width: 500px"
>
<label
for=
"systemLicense"
class=
"input-label"
>
系统license:
</label>
<el-input
v-model=
"sysSettingsList.systemLicense"
...
...
@@ -121,7 +128,7 @@
clearable
:maxlength=
"50"
:rows=
"5"
/>
/>
</div>
</div>
</el-main>
...
...
@@ -130,17 +137,18 @@
<
script
lang=
"ts"
>
import
{
getSysSettings
,
updateSysSettings
,
updateSysSettings
}
from
'@/api/sysSettings'
import
commonField
from
'@/utils/commonField'
import
{
getDataCache
,
setDataCache
}
from
"@/assets/js/filterData"
;
import
{
getDataCache
,
setDataCache
}
from
'@/assets/js/filterData'
import
{
uploadPublic
}
from
'@/api/system/ossInfo'
export
default
{
name
:
'SysSettings'
,
data
()
{
return
{
sysSettingsList
:
{
systemBg
:
''
,
// 存储系统背景图的 URL
systemBg
:
''
// 存储系统背景图的 URL
},
fileList
:
[],
// 文件列表
oss
:
true
,
// 控制图标显示
...
...
@@ -150,7 +158,6 @@ export default {
// 总条数
total
:
0
,
// 系统设置表格数据
sysSettingsList
:
[],
// 弹出层标题
title
:
''
,
// 是否显示弹出层
...
...
@@ -187,7 +194,7 @@ export default {
form
:
{},
// 表单校验
rules
:
{
systemName
:
[{
type
:
'string'
,
required
:
true
,
message
:
"系统名称必填"
,
trigger
:
'blur'
}],
systemName
:
[{
type
:
'string'
,
required
:
true
,
message
:
'系统名称必填'
,
trigger
:
'blur'
}]
}
}
},
...
...
@@ -207,7 +214,7 @@ export default {
created
()
{
this
.
sysSettingsList
=
JSON
.
parse
(
getDataCache
(
this
.
$route
.
path
))
// 获取存储的筛选项
this
.
getList
()
// 列表查询
this
.
loadCachedImage
()
;
this
.
loadCachedImage
()
},
methods
:
{
/**
...
...
@@ -226,13 +233,13 @@ export default {
})
},
loadCachedImage
()
{
const
cachedUrl
=
localStorage
.
getItem
(
'systemBg'
)
;
const
cachedUrl
=
localStorage
.
getItem
(
'systemBg'
)
if
(
cachedUrl
)
{
this
.
sysSettingsList
.
systemBg
=
cachedUrl
;
this
.
sysSettingsList
.
systemBg
=
cachedUrl
}
},
saveImageToCache
(
url
)
{
localStorage
.
setItem
(
'systemBg'
,
url
)
;
localStorage
.
setItem
(
'systemBg'
,
url
)
},
handleFileRemove
(
file
,
fileList
)
{
// 从 fileList 中移除已删除的文件
...
...
@@ -251,8 +258,10 @@ export default {
}
},
/** 查询系统设置列表 */
// 无listSysSettings接口,尚不清楚其逻辑,暂置
getList
()
{
this
.
loading
=
true
// eslint-disable-next-line no-undef
listSysSettings
(
this
.
addDateRange
(
this
.
queryParams
,
this
.
dateRange
)).
then
(
response
=>
{
this
.
sysSettingsList
=
response
.
rows
[
3
]
...
...
@@ -321,19 +330,19 @@ export default {
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(
function
()
{
}).
then
(
function
()
{
return
updateSysSettings
(
row
)
}).
then
(()
=>
{
this
.
$message
({
message
:
text
+
'成功'
,
type
:
'success'
})
}).
catch
(
function
()
{
}).
catch
(
function
()
{
row
.
flag
=
row
.
flag
===
'0'
?
'1'
:
'0'
})
},
/** 提交按钮 */
submitForm
:
function
()
{
submitForm
:
function
()
{
this
.
$refs
[
'form'
].
validate
(
valid
=>
{
if
(
valid
)
{
if
(
this
.
form
.
businessId
!==
undefined
)
{
...
...
@@ -343,6 +352,8 @@ export default {
this
.
getList
()
})
}
else
{
// 无addSysSettings接口,尚不清楚其逻辑,暂置
// eslint-disable-next-line no-undef
addSysSettings
(
this
.
form
).
then
(
response
=>
{
this
.
msgSuccess
(
'新增成功'
)
this
.
open
=
false
...
...
@@ -359,7 +370,8 @@ export default {
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(
function
()
{
}).
then
(
function
()
{
// eslint-disable-next-line no-undef
return
delSysSettings
(
id
)
}).
then
(()
=>
{
this
.
getList
()
...
...
@@ -367,7 +379,7 @@ export default {
message
:
'删除成功'
,
type
:
'success'
})
}).
catch
(
function
()
{
}).
catch
(
function
()
{
})
},
/** 导出按钮操作 */
...
...
@@ -377,7 +389,8 @@ export default {
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(
function
()
{
}).
then
(
function
()
{
// eslint-disable-next-line no-undef
return
exportSysSettings
(
queryParams
).
then
(
response
=>
{
const
blob
=
new
Blob
([
response
])
const
downloadElement
=
document
.
createElement
(
'a'
)
...
...
@@ -427,8 +440,6 @@ export default {
flex-shrink
:
0
;
}
.container
{
flex-direction
:
column
;
height
:
100%
;
...
...
@@ -442,7 +453,6 @@ export default {
justify-content
:
center
;
}
.system-name
{
display
:
flex
;
align-items
:
center
;
...
...
@@ -464,7 +474,6 @@ export default {
align-items
:
center
;
}
.expiration-date
{
display
:
flex
;
align-items
:
center
;
...
...
@@ -480,7 +489,6 @@ export default {
align-items
:
center
;
}
.system-auth-host
{
display
:
flex
;
align-items
:
center
;
...
...
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