Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
bdc
/
bdcdj-web
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
7a2db79b
authored
2024-05-16 11:07:34 +0800
by
renchao@pashanhoo.com
Browse Files
Options
Browse Files
Tag
Download
Plain Diff
Merge branch 'dev'
2 parents
e1de1a15
5265bc92
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
414 additions
and
247 deletions
src/api/djbRepair.js
src/api/dzqm.js
src/api/file.js
src/layout/components/Navbar.vue
src/views/system/userInfo/index.vue
src/views/ywbl/ybx/ybxdata.js
src/api/djbRepair.js
View file @
7a2db79
/*
* @Description:
* @Autor: renchao
* @LastEditTime: 202
3-09-15 09:32:40
* @LastEditTime: 202
4-05-16 09:23:43
*/
import
request
from
'@/utils/request'
import
{
log
}
from
'bpmn-js-token-simulation'
let
SERVER
=
window
.
config
?
window
.
config
:
JSON
.
parse
(
localStorage
.
getItem
(
'ApiUrl'
))
/**
* @description: 添加补录记录
...
...
src/api/dzqm.js
0 → 100644
View file @
7a2db79
/*
* @Description:
* @Autor: renchao
* @LastEditTime: 2024-05-16 09:23:47
*/
import
request
from
'@/utils/request'
let
SERVER
=
window
.
config
?
window
.
config
:
JSON
.
parse
(
localStorage
.
getItem
(
'ApiUrl'
))
/**
* @description: 上传电子签名
* @param {*} data
* @author: renchao
*/
export
function
dzqmUpload
(
data
)
{
return
request
({
url
:
SERVER
.
SERVERAPI
+
'/rest/system/dzqm/upload'
,
method
:
'post'
,
data
})
}
\ No newline at end of file
src/api/file.js
View file @
7a2db79
...
...
@@ -21,3 +21,17 @@ export function upload (data) {
data
})
}
/**
* @description: 上传电子签名
* @param {*} data
* @author: renchao
*/
export
function
uploaddzqm
(
data
)
{
return
request
({
url
:
SERVER
.
SERVERAPI
+
'/rest/system/dzqm'
,
method
:
'post'
,
data
})
}
...
...
src/layout/components/Navbar.vue
View file @
7a2db79
...
...
@@ -17,309 +17,324 @@
}}
</span>
<span
style=
"padding-right: 10px"
>
{{
userInfo
.
name
}}
</span>
</p>
<img
:src=
"avatar + '?imageView2/1/w/80/h/80'"
class=
"user-avatar"
/>
<el-dropdown>
<span
class=
"el-dropdown-link"
>
<img
:src=
"avatar + '?imageView2/1/w/80/h/80'"
class=
"user-avatar"
/>
</span>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-item
command=
"user"
@
click
.
native=
"handleGetUser"
>
用户信息
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
<svg-icon
class=
"shutdown"
@
click
.
native=
"logout"
icon-class=
"shutdown"
/>
icon-class=
"shutdown"
/>
</div>
</div>
<NoticeBar
class=
"NoticeBar"
:noticeList=
"noticeList"
v-if=
"noticeList.length > 0"
/>
v-if=
"noticeList.length > 0"
/>
</div>
</
template
>
<
script
>
import
axios
from
"axios"
;
import
Cookies
from
"js-cookie"
;
import
{
mapGetters
}
from
"vuex"
;
import
NoticeBar
from
"@/components/NoticeBar/index"
;
import
{
getHomeNoticeList
}
from
"@/api/home"
;
import
{
setToken
}
from
"@/utils/util"
;
export
default
{
components
:
{
NoticeBar
,
},
computed
:
{
...
mapGetters
([
"sidebar"
,
"avatar"
,
"name"
,
"userInfo"
]),
baseUrl
()
{
return
window
.
_config
.
baseUrl
;
import
axios
from
"axios"
;
import
Cookies
from
"js-cookie"
;
import
{
mapGetters
}
from
"vuex"
;
import
NoticeBar
from
"@/components/NoticeBar/index"
;
import
{
getHomeNoticeList
}
from
"@/api/home"
;
import
{
setToken
}
from
"@/utils/util"
;
export
default
{
components
:
{
NoticeBar
,
},
},
data
()
{
return
{
logo
:
require
(
"../../image/bdclogo.png"
),
noticeList
:
[],
};
},
created
()
{
this
.
queryNoticeList
();
},
mounted
()
{
let
that
=
this
;
window
.
addEventListener
(
"message"
,
function
(
messageEvent
)
{
if
(
messageEvent
.
data
.
update
)
{
that
.
queryNoticeList
();
}
});
},
destroyed
()
{
window
.
removeEventListener
(
"message"
);
},
methods
:
{
/**
* @description: queryNoticeList
* @author: renchao
*/
queryNoticeList
()
{
getHomeNoticeList
().
then
((
res
)
=>
{
if
(
res
.
result
)
{
this
.
noticeList
=
res
.
result
.
noticeList
;
computed
:
{
...
mapGetters
([
"sidebar"
,
"avatar"
,
"name"
,
"userInfo"
]),
baseUrl
()
{
return
window
.
_config
.
baseUrl
;
},
},
data
()
{
return
{
logo
:
require
(
"../../image/bdclogo.png"
),
noticeList
:
[],
};
},
created
()
{
this
.
queryNoticeList
();
},
mounted
()
{
let
that
=
this
;
window
.
addEventListener
(
"message"
,
function
(
messageEvent
)
{
if
(
messageEvent
.
data
.
update
)
{
that
.
queryNoticeList
();
}
});
},
/**
* @description: logout
* @author: renchao
*/
logout
()
{
axios
.
post
(
window
.
_config
.
services
.
management
+
"/management/logout"
)
.
then
(()
=>
{
setToken
(
undefined
);
sessionStorage
.
removeItem
(
"token"
);
localStorage
.
setItem
(
"dj-location"
,
window
.
location
.
href
);
window
.
location
.
href
=
window
.
_config
.
casBaseURL
+
"/logout?service="
+
encodeURIComponent
(
window
.
location
.
href
);
});
destroyed
()
{
window
.
removeEventListener
(
"message"
);
},
methods
:
{
/**
* @description: themeChange
* @param {*} val
* @author: renchao
*/
themeChange
(
val
)
{
this
.
$store
.
dispatch
(
"app/updateTheme"
,
val
);
},
searchMessageCenter
()
{
this
.
$router
.
push
({
name
:
"messagecenter"
});
},
/**
* @description: handleCommand
* @param {*} command
* @author: renchao
*/
handleCommand
(
command
)
{
if
(
command
==
"a"
)
{
//个人中心
this
.
$router
.
push
({
name
:
"personal"
});
}
/**
* @description: 获取用户信息
* @author: renchao
*/
handleGetUser
()
{
this
.
$popupDialog
(
'用户信息'
,
'system/userInfo/index'
,
{},
'80%'
,
true
);
},
/**
* @description: queryNoticeList
* @author: renchao
*/
queryNoticeList
()
{
getHomeNoticeList
().
then
((
res
)
=>
{
if
(
res
.
result
)
{
this
.
noticeList
=
res
.
result
.
noticeList
;
}
});
},
/**
* @description: logout
* @author: renchao
*/
logout
()
{
axios
.
post
(
window
.
_config
.
services
.
management
+
"/management/logout"
)
.
then
(()
=>
{
setToken
(
undefined
);
sessionStorage
.
removeItem
(
"token"
);
localStorage
.
setItem
(
"dj-location"
,
window
.
location
.
href
);
window
.
location
.
href
=
window
.
_config
.
casBaseURL
+
"/logout?service="
+
encodeURIComponent
(
window
.
location
.
href
);
});
},
/**
* @description: themeChange
* @param {*} val
* @author: renchao
*/
themeChange
(
val
)
{
this
.
$store
.
dispatch
(
"app/updateTheme"
,
val
);
},
searchMessageCenter
()
{
this
.
$router
.
push
({
name
:
"messagecenter"
});
},
/**
* @description: handleCommand
* @param {*} command
* @author: renchao
*/
handleCommand
(
command
)
{
if
(
command
==
"a"
)
{
//个人中心
this
.
$router
.
push
({
name
:
"personal"
});
}
},
},
},
};
};
</
script
>
<
style
lang=
"scss"
scoped
>
.navbar-con
{
position
:
relative
;
}
.NoticeBar
{
position
:
absolute
;
bottom
:
0
;
}
.el-dropdown-menu
{
padding
:
0
!important
;
border
:
1px
solid
#ebeef5
;
box-shadow
:
0
2px
10px
0
rgba
(
0
,
0
,
0
,
0.12
);
border-radius
:
4px
0
0
4px
4px
;
.el-dropdown-menu__item
{
text-align
:
center
;
margin-top
:
0
!important
;
font-size
:
14px
;
font-family
:
PingFangSC-Regular
,
PingFang
SC
;
font-weight
:
400
;
color
:
#4a4a4a
;
width
:
140px
;
height
:
36px
;
line-height
:
36px
;
.navbar-con
{
position
:
relative
;
}
.el-dropdown-menu__item
:nth-child
(
6
)
{
border-top
:
1px
solid
#ebeef5
;
/
deep
/
.el-dropdown
{
height
:
32px
;
}
.popper__arrow
{
top
:
-11px
!important
;
left
:
110px
!important
;
transform
:
rotate
(
0deg
)
scale
(
2
);
.NoticeBar
{
position
:
absolute
;
bottom
:
0
;
}
.el-dropdown-menu__item
:not
(
.is-disabled
)
:hover
,
.el-dropdown-menu__item
:focus
{
background
:
#f6f7f9
;
color
:
#4a4a4a
;
}
}
.el-dropdown-menu
{
padding
:
0
!important
;
border
:
1px
solid
#ebeef5
;
box-shadow
:
0
2px
10px
0
rgba
(
0
,
0
,
0
,
0.12
);
border-radius
:
4px
0
0
4px
4px
;
.navbar
{
height
:
$
headerHeight
;
overflow
:
hidden
;
position
:
relative
;
background
:
#fff
;
//
background
:
linear-gradient
(
270deg
,
#148CEE
0%
,
#1870E3
100%
);
//默认颜色
box-shadow
:
0
1px
0px
rgba
(
0
,
21
,
41
,
0.08
);
display
:
flex
;
align-items
:
center
;
padding
:
0
20px
;
justify-content
:
space-between
;
.logo
{
//
margin-top
:
-20px
;
.header-logo
{
width
:
40px
;
float
:
left
;
vertical-align
:
middle
;
}
h4
{
float
:
left
;
vertical-align
:
middle
;
line-height
:
40px
;
font-size
:
22px
;
color
:
#fff
;
text-indent
:
6px
;
letter-spacing
:
2px
;
font-family
:
albbsht
;
.el-dropdown-menu__item
{
text-align
:
center
;
margin-top
:
0
!important
;
font-size
:
14px
;
font-family
:
PingFangSC-Regular
,
PingFang
SC
;
font-weight
:
400
;
color
:
#4a4a4a
;
width
:
140px
;
height
:
36px
;
line-height
:
36px
;
}
}
.backdrop
{
flex
:
1
;
width
:
60%
;
background
:
url("../../image/backdrop.png")
;
background-size
:
100%
100%
;
height
:
$
headerHeight
;
}
.hamburger-container
{
line-height
:
43px
;
height
:
100%
;
float
:
left
;
cursor
:
pointer
;
transition
:
background
0.3s
;
-webkit-tap-highlight-color
:
transparent
;
.el-dropdown-menu__item
:nth-child
(
6
)
{
border-top
:
1px
solid
#ebeef5
;
}
&:hover
{
background
:
rgba
(
0
,
0
,
0
,
0.025
);
.popper__arrow
{
top
:
-11px
!important
;
left
:
110px
!important
;
transform
:
rotate
(
0deg
)
scale
(
2
);
}
}
.breadcrumb-container
{
float
:
left
;
.el-dropdown-menu__item
:not
(
.is-disabled
)
:hover
,
.el-dropdown-menu__item
:focus
{
background
:
#f6f7f9
;
color
:
#4a4a4a
;
}
}
.right-menu
{
float
:
right
;
height
:
100%
;
line-height
:
50px
;
.navbar
{
height
:
$
headerHeight
;
overflow
:
hidden
;
position
:
relative
;
background
:
#fff
;
//
background
:
linear-gradient
(
270deg
,
#148CEE
0%
,
#1870E3
100%
);
//默认颜色
box-shadow
:
0
1px
0px
rgba
(
0
,
21
,
41
,
0.08
);
display
:
flex
;
align-items
:
center
;
padding
:
0
20px
;
justify-content
:
space-between
;
.function
{
margin
:
0
15px
;
cursor
:
pointer
;
.logo
{
//
margin-top
:
-20px
;
.header-logo
{
width
:
40px
;
float
:
left
;
vertical-align
:
middle
;
}
h4
{
float
:
left
;
vertical-align
:
middle
;
line-height
:
40px
;
font-size
:
22px
;
color
:
#fff
;
text-indent
:
6px
;
letter-spacing
:
2px
;
font-family
:
albbsht
;
}
}
.backdrop
{
flex
:
1
;
width
:
60%
;
background
:
url("../../image/backdrop.png")
;
background-size
:
100%
100%
;
height
:
$
headerHeight
;
}
.shutdown
{
font-size
:
20px
;
margin-left
:
15px
;
.hamburger-container
{
line-height
:
43px
;
height
:
100%
;
float
:
left
;
cursor
:
pointer
;
transition
:
background
0.3s
;
-webkit-tap-highlight-color
:
transparent
;
&:hover
{
background
:
rgba
(
0
,
0
,
0
,
0.025
);
}
}
.organization-item
{
margin-right
:
40px
;
margin-top
:
-40px
!important
;
.breadcrumb-container
{
float
:
left
;
}
.
item
{
margin-right
:
40px
;
margin-top
:
-20px
;
line-height
:
18.4
px
;
cursor
:
pointer
;
position
:
relative
;
.
right-menu
{
float
:
right
;
height
:
100%
;
line-height
:
50
px
;
display
:
flex
;
align-items
:
center
;
.item-box
{
position
:
absolute
;
top
:
-5px
;
left
:
3px
;
width
:
100%
;
min-width
:
25px
;
height
:
25px
;
.function
{
margin
:
0
15px
;
cursor
:
pointer
;
z-index
:
100
;
}
}
&
:focus
{
outline
:
none
;
}
.shutdown
{
font-size
:
20px
;
margin-left
:
15px
;
cursor
:
pointer
;
}
.right-menu-item
{
display
:
inline-block
;
font-size
:
18px
;
color
:
#fff
;
vertical-align
:
text-bottom
;
.organization-item
{
margin-right
:
40px
;
margin-top
:
-40px
!important
;
}
&.hover-effect
{
.item
{
margin-right
:
40px
;
margin-top
:
-20px
;
line-height
:
18.4px
;
cursor
:
pointer
;
transition
:
background
0.3s
;
display
:
flex
;
align-items
:
center
;
position
:
relative
;
&:hover
{
background
:
rgba
(
0
,
0
,
0
,
0.025
);
.item-box
{
position
:
absolute
;
top
:
-5px
;
left
:
3px
;
width
:
100%
;
min-width
:
25px
;
height
:
25px
;
cursor
:
pointer
;
z-index
:
100
;
}
}
}
.avatar-wrapper
{
position
:
relative
;
display
:
flex
;
height
:
40px
;
align-items
:
center
;
color
:
#ffffff
;
p
{
font-size
:
14px
;
height
:
40px
;
span
{
display
:
block
;
line-height
:
20px
;
text-align
:
right
;
}
&
:focus
{
outline
:
none
;
}
.user-avatar
{
cursor
:
pointer
;
width
:
35px
;
height
:
35px
;
border-radius
:
50%
;
.right-menu-item
{
display
:
inline-block
;
font-size
:
18px
;
color
:
#fff
;
vertical-align
:
text-bottom
;
&.hover-effect
{
cursor
:
pointer
;
transition
:
background
0.3s
;
display
:
flex
;
align-items
:
center
;
&:hover
{
background
:
rgba
(
0
,
0
,
0
,
0.025
);
}
}
}
.el-icon-caret-bottom
{
cursor
:
pointer
;
position
:
absolute
;
right
:
-15px
;
top
:
17px
;
font-size
:
12px
;
.avatar-wrapper
{
position
:
relative
;
display
:
flex
;
height
:
40px
;
align-items
:
center
;
color
:
#ffffff
;
p
{
font-size
:
14px
;
height
:
40px
;
span
{
display
:
block
;
line-height
:
20px
;
text-align
:
right
;
}
}
.user-avatar
{
cursor
:
pointer
;
width
:
35px
;
height
:
35px
;
border-radius
:
50%
;
}
.el-icon-caret-bottom
{
cursor
:
pointer
;
position
:
absolute
;
right
:
-15px
;
top
:
17px
;
font-size
:
12px
;
}
}
}
}
}
</
style
>
...
...
src/views/system/userInfo/index.vue
0 → 100644
View file @
7a2db79
<
template
>
<div
class=
"from-clues"
>
<!-- 表单部分 -->
<div
class=
"from-clues-header"
>
<el-form
:model=
"ruleForm"
label-width=
"100px"
>
<el-row>
<el-col
:span=
"6"
>
<el-form-item
label=
"用户名称:"
>
{{
ruleForm
.
name
}}
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"组织机构:"
>
{{
ruleForm
.
organizationName
}}
</el-form-item>
</el-col>
<el-col
:span=
"6"
>
<el-form-item
label=
"部门:"
>
{{
ruleForm
.
departmentName
}}
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"签名路径:"
>
<img
:src=
"ruleForm.dzqmurl"
class=
"signature-image"
>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<el-upload
class=
"upload-demo"
action=
""
:limit=
"1"
multiple
:key=
"key"
:auto-upload=
"false"
accept=
".jpg, .png, .jpeg"
:on-change=
"handleChange"
:before-upload=
"beforeUpload"
:show-file-list=
"false"
drag
>
<i
class=
"el-icon-upload"
></i>
<div
class=
"el-upload__text"
>
将图片拖到此处,或
<em>
点击上传
</em></div>
<div
class=
"el-upload__tip"
slot=
"tip"
>
只能上传jpg/png文件,且不超过5MB
</div>
</el-upload>
<!-- 表格 -->
</div>
</
template
>
<
script
>
import
{
dzqmUpload
}
from
'@/api/dzqm'
import
{
getUserInfo
}
from
'@/api/user'
export
default
{
name
:
"dzqm"
,
data
()
{
return
{
ruleForm
:
{},
key
:
0
,
}
},
mounted
()
{
this
.
getUserInfo
()
},
methods
:
{
async
getUserInfo
()
{
let
res
=
await
getUserInfo
()
this
.
ruleForm
=
res
.
result
},
beforeUpload
(
file
)
{
this
.
files
=
file
;
const
allowedExtensions
=
[
'jpg'
,
'jpeg'
,
'png'
];
const
maxFileSizeMB
=
5
;
const
extension
=
allowedExtensions
.
includes
(
file
.
name
.
split
(
'.'
).
pop
().
toLowerCase
());
const
isLt5M
=
file
.
size
/
1024
/
1024
<
maxFileSizeMB
;
if
(
!
extension
)
{
this
.
$message
.
warning
(
'上传模板只能是 jpg、jpeg、png 格式!'
);
}
else
if
(
!
isLt5M
)
{
this
.
$message
.
warning
(
`上传模板大小不能超过
${
maxFileSizeMB
}
MB!`
);
}
return
extension
&&
isLt5M
;
},
async
handleChange
(
file
)
{
var
formdata
=
new
FormData
();
formdata
.
append
(
"file"
,
file
.
raw
);
dzqmUpload
(
formdata
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
this
.
$message
({
message
:
'上传成功!'
,
type
:
'success'
})
this
.
key
++
this
.
ruleForm
.
dzqmurl
=
res
.
message
}
})
}
}
};
</
script
>
<
style
scoped
lang=
"scss"
>
@import
"~@/styles/public.scss"
;
.signature-image
{
width
:
100%
;
max-height
:
360px
;
object-fit
:
contain
;
}
</
style
>
\ No newline at end of file
src/views/ywbl/ybx/ybxdata.js
View file @
7a2db79
...
...
@@ -50,6 +50,14 @@ class data extends filter {
// }
// },
{
label
:
"流程状态"
,
width
:
'80'
,
render
:
(
h
,
scope
)
=>
{
return
<
div
>
完结
<
/div
>
}
},
{
label
:
"业务号"
,
width
:
'110'
,
render
:
(
h
,
scope
)
=>
{
...
...
Please
register
or
sign in
to post a comment