Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
SuperMan
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
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
罗超
SuperMan
Commits
f42cd322
Commit
f42cd322
authored
Oct 15, 2024
by
黄奎
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
页面修改
parent
2a1a64e3
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
937 additions
and
860 deletions
+937
-860
Login.vue
src/components/Login.vue
+407
-386
Announcement.vue
src/components/administrative/Announcement.vue
+528
-455
guestSign.vue
src/components/guestSign.vue
+0
-2
config.js
src/router/config.js
+2
-17
No files found.
src/components/Login.vue
View file @
f42cd322
<
style
>
@import
"../assets/css/summaryLogin.css"
;
@import
"../assets/css/summaryLogin.css"
;
</
style
>
<
style
>
...
...
@@ -19,23 +20,28 @@
<div
class=
"sumMainTitle"
>
{{
groupModel
.
GroupName
?
groupModel
.
GroupName
:
''
}}
</div>
<div
class=
"login-commonBotm"
>
<i
class=
"icon-login-name iconfont icon-user11"
></i>
<input
class=
"input"
@
focus=
"name_bline=true"
@
blur=
"name_bline=false"
maxlength=
"20"
autocomplete=
"new-password"
v-model=
"userInfo.name"
style=
"background-color:transparent !important;"
type=
"text"
:placeholder=
"$t('login.login_account')"
@
keyup
.
enter=
"doLogin"
/>
<input
class=
"input"
@
focus=
"name_bline=true"
@
blur=
"name_bline=false"
maxlength=
"20"
autocomplete=
"new-password"
v-model=
"userInfo.name"
style=
"background-color:transparent !important;"
type=
"text"
:placeholder=
"$t('login.login_account')"
@
keyup
.
enter=
"doLogin"
/>
<div
class=
"name_bline_left"
:class=
"name_bline==true?'_bline_w':''"
></div>
<div
class=
"name_bline_right"
:class=
"name_bline==true?'_bline_w':''"
></div>
</div>
<div
class=
"error-msg"
>
<div
v-show=
"nameIsShow"
><img
src=
"../assets/img/login-error-tips.png"
/>
{{
nameErrorMsg
}}
</div>
<div
v-show=
"nameIsShow"
><img
src=
"../assets/img/login-error-tips.png"
/>
{{
nameErrorMsg
}}
</div>
</div>
<div
class=
"login-commonBotm"
>
<i
class=
"icon-login-password iconfont icon-mima"
></i>
<input
class=
"input"
@
focus=
"pwd_bline=true"
@
blur=
"pwd_bline=false"
maxlength=
"20"
autocomplete=
"new-password"
v-model=
"userInfo.password"
style=
"background-color:transparent !important"
type=
"password"
:placeholder=
"$t('login.login_password')"
@
keyup
.
enter=
"doLogin"
/>
<input
class=
"input"
@
focus=
"pwd_bline=true"
@
blur=
"pwd_bline=false"
maxlength=
"20"
autocomplete=
"new-password"
v-model=
"userInfo.password"
style=
"background-color:transparent !important"
type=
"password"
:placeholder=
"$t('login.login_password')"
@
keyup
.
enter=
"doLogin"
/>
<div
class=
"pwd_bline_left"
:class=
"pwd_bline==true?'_bline_w':''"
></div>
<div
class=
"pwd_bline_right"
:class=
"pwd_bline==true?'_bline_w':''"
></div>
</div>
<div
class=
"error-msg"
>
<div
v-show=
"passwordIsShow"
><img
src=
"../assets/img/login-error-tips.png"
/>
{{
passwordErrorMsg
}}
</div>
<div
v-show=
"passwordIsShow"
><img
src=
"../assets/img/login-error-tips.png"
/>
{{
passwordErrorMsg
}}
</div>
</div>
<button
type=
"button"
class=
"sLoginBtn"
:class=
"
{'loginIng':loginState==1}" :disabled="loginState==1" @click="doLogin">
{{
loginState
==
1
?
'登录中...'
:
'登录'
}}
</button>
<button
type=
"button"
class=
"sLoginBtn"
:class=
"
{'loginIng':loginState==1}" :disabled="loginState==1"
@click="doLogin">
{{
loginState
==
1
?
'登录中...'
:
'登录'
}}
</button>
<div
class=
"forgetPw"
>
<span
@
click=
"updatePwd"
>
{{
$t
(
'login.login_forgetpwd'
)
}}
?
</span>
</div>
...
...
@@ -55,16 +61,21 @@
<div
class=
"sumPhone"
>
绑定手机号
</div>
<div
class=
"login-commonBotm"
>
<i
class=
"icon-login-name iconfont icon-phone1"
></i>
<input
class=
"input"
@
focus=
"name_bline=true"
@
blur=
"name_bline=false"
onkeyup=
"value=value.replace(/[^\d]/g,'')"
maxlength=
"11"
autocomplete=
"new-password"
v-model=
"mobileNumber"
style=
"background-color:transparent !important;"
type=
"text"
placeholder=
"请输入手机号"
/>
<input
class=
"input"
@
focus=
"name_bline=true"
@
blur=
"name_bline=false"
onkeyup=
"value=value.replace(/[^\d]/g,'')"
maxlength=
"11"
autocomplete=
"new-password"
v-model=
"mobileNumber"
style=
"background-color:transparent !important;"
type=
"text"
placeholder=
"请输入手机号"
/>
<div
class=
"name_bline_left"
:class=
"name_bline==true?'_bline_w':''"
></div>
<div
class=
"name_bline_right"
:class=
"name_bline==true?'_bline_w':''"
></div>
</div>
<div
class=
"error-msg"
>
<div
v-show=
"nameIsShow"
><img
src=
"../assets/img/login-error-tips.png"
/>
{{
nameErrorMsg
}}
</div>
<div
v-show=
"nameIsShow"
><img
src=
"../assets/img/login-error-tips.png"
/>
{{
nameErrorMsg
}}
</div>
</div>
<div
class=
"login-commonBotm"
>
<i
class=
"icon-login-password iconfont icon-mima"
></i>
<input
class=
"input phoneValidate"
maxlength=
"4"
@
focus=
"pwd_bline=true"
onkeyup=
"value=value.replace(/[^\d]/g,'')"
@
blur=
"pwd_bline=false"
v-model=
"code"
autocomplete=
"new-password"
style=
"background-color:transparent !important"
type=
"text"
placeholder=
"验证码"
@
keyup
.
enter=
"doBind"
/>
<input
class=
"input phoneValidate"
maxlength=
"4"
@
focus=
"pwd_bline=true"
onkeyup=
"value=value.replace(/[^\d]/g,'')"
@
blur=
"pwd_bline=false"
v-model=
"code"
autocomplete=
"new-password"
style=
"background-color:transparent !important"
type=
"text"
placeholder=
"验证码"
@
keyup
.
enter=
"doBind"
/>
<div
class=
"pwd_bline_left"
:class=
"pwd_bline==true?'_bline_w':''"
></div>
<div
class=
"pwd_bline_right"
:class=
"pwd_bline==true?'_bline_w':''"
></div>
<div
class=
"validatCode"
>
...
...
@@ -73,9 +84,9 @@
</div>
</div>
<div
class=
"error-msg"
>
<div
v-show=
"passwordIsShow"
><img
src=
"../assets/img/login-error-tips.png"
/>
{{
passwordErrorMsg
}}
</div>
<div
v-show=
"passwordIsShow"
><img
src=
"../assets/img/login-error-tips.png"
/>
{{
passwordErrorMsg
}}
</div>
</div>
<input
type=
"button"
class=
"sLoginBtn"
@
click=
"doBind"
value=
"确认绑定"
/>
<input
type=
"button"
class=
"sLoginBtn"
@
click=
"doBind"
value=
"确认绑定"
/>
</div>
<div
v-if=
"isShow==3"
class=
"phoneLogin"
>
...
...
@@ -83,23 +94,29 @@
<div
class=
"sumPhone"
>
修改密码
</div>
<div
class=
"login-commonBotm"
>
<i
class=
"icon-login-name iconfont icon-phone1"
></i>
<input
class=
"input"
@
focus=
"name_bline=true"
onkeyup=
"value=value.replace(/[^\d]/g,'')"
maxlength=
"11"
@
blur=
"name_bline=false"
autocomplete=
"new-password"
v-model=
"mobileNumber"
style=
"background-color:transparent !important;"
type=
"text"
placeholder=
"请输入手机号"
/>
<input
class=
"input"
@
focus=
"name_bline=true"
onkeyup=
"value=value.replace(/[^\d]/g,'')"
maxlength=
"11"
@
blur=
"name_bline=false"
autocomplete=
"new-password"
v-model=
"mobileNumber"
style=
"background-color:transparent !important;"
type=
"text"
placeholder=
"请输入手机号"
/>
<div
class=
"name_bline_left"
:class=
"name_bline==true?'_bline_w':''"
></div>
<div
class=
"name_bline_right"
:class=
"name_bline==true?'_bline_w':''"
></div>
</div>
<div
class=
"error-msg"
>
<div
v-show=
"nameIsShow"
><img
src=
"../assets/img/login-error-tips.png"
/>
{{
nameErrorMsg
}}
</div>
<div
v-show=
"nameIsShow"
><img
src=
"../assets/img/login-error-tips.png"
/>
{{
nameErrorMsg
}}
</div>
</div>
<div
class=
"login-commonBotm"
>
<i
class=
"icon-login-password iconfont icon-mima"
></i>
<input
class=
"input"
@
focus=
"pwd_bline=true"
@
blur=
"pwd_bline=false"
autocomplete=
"new-password"
maxlength=
"20"
v-model=
"password"
style=
"background-color:transparent !important"
type=
"password"
placeholder=
"请输入新密码"
/>
<input
class=
"input"
@
focus=
"pwd_bline=true"
@
blur=
"pwd_bline=false"
autocomplete=
"new-password"
maxlength=
"20"
v-model=
"password"
style=
"background-color:transparent !important"
type=
"password"
placeholder=
"请输入新密码"
/>
<div
class=
"pwd_bline_left"
:class=
"pwd_bline==true?'_bline_w':''"
></div>
<div
class=
"pwd_bline_right"
:class=
"pwd_bline==true?'_bline_w':''"
></div>
</div>
<div
class=
"login-commonBotm btValidate"
>
<i
class=
"icon-login-password iconfont icon-mima"
></i>
<input
class=
"input phoneValidate"
maxlength=
"4"
onkeyup=
"value=value.replace(/[^\d]/g,'')"
@
focus=
"validate_bline=true"
@
blur=
"validate_bline=false"
v-model=
"code"
autocomplete=
"new-password"
style=
"background-color:transparent !important"
type=
"text"
placeholder=
"验证码"
@
keyup
.
enter=
"changePwd"
/>
<input
class=
"input phoneValidate"
maxlength=
"4"
onkeyup=
"value=value.replace(/[^\d]/g,'')"
@
focus=
"validate_bline=true"
@
blur=
"validate_bline=false"
v-model=
"code"
autocomplete=
"new-password"
style=
"background-color:transparent !important"
type=
"text"
placeholder=
"验证码"
@
keyup
.
enter=
"changePwd"
/>
<div
class=
"pwd_bline_left"
:class=
"validate_bline==true?'_bline_w':''"
></div>
<div
class=
"pwd_bline_right"
:class=
"validate_bline==true?'_bline_w':''"
></div>
<div
class=
"validatCode"
>
...
...
@@ -109,13 +126,13 @@
</div>
<div
class=
"forgetPw"
>
<div
class=
"error-msg"
style=
"float:left;width:auto;"
>
<div
v-show=
"passwordIsShow"
><img
src=
"../assets/img/login-error-tips.png"
/>
{{
passwordErrorMsg
}}
</div>
<div
v-show=
"passwordIsShow"
><img
src=
"../assets/img/login-error-tips.png"
/>
{{
passwordErrorMsg
}}
</div>
</div>
<span
@
click=
"goLogin"
>
去登录
</span>
</div>
<input
type=
"button"
class=
"sLoginBtn changeBtn"
@
click=
"changePwd"
value=
"确认修改"
/>
<input
type=
"button"
class=
"sLoginBtn changeBtn"
@
click=
"changePwd"
value=
"确认修改"
/>
</div>
<img
class=
"login_elephant"
src=
"../assets/img/elephant.gif"
alt=
""
/>
<img
class=
"login_elephant"
src=
"../assets/img/elephant.gif"
alt=
""
/>
</form>
</div>
</
template
>
...
...
@@ -123,16 +140,16 @@
<
script
>
import
url_1
from
"@/assets/img/login_bg_1.jpg"
;
import
url_2
from
"@/assets/img/login_bg_2.jpg"
;
export
default
{
export
default
{
name
:
"login-box"
,
data
()
{
return
{
userInfo
:
{
name
:
""
,
password
:
""
,
Domain
:
""
Domain
:
""
},
groupModel
:
""
,
groupModel
:
""
,
password
:
""
,
mobileNumber
:
""
,
code
:
""
,
...
...
@@ -151,10 +168,10 @@ export default {
pwd_bline
:
false
,
validate_bline
:
false
,
loginState
:
0
,
height
:
0
,
clock
:
null
,
crtIndex
:
0
,
imgs
:
[
height
:
0
,
clock
:
null
,
crtIndex
:
0
,
imgs
:
[
url_1
,
url_2
]
...
...
@@ -162,10 +179,10 @@ export default {
},
mounted
()
{
this
.
init
();
let
that
=
this
;
this
.
clock
=
setInterval
(()
=>
{
let
that
=
this
;
this
.
clock
=
setInterval
(()
=>
{
that
.
init
()
},
1000
);
},
1000
);
let
_audio
=
this
.
$refs
.
audio
;
try
{
_audio
.
playbackRate
=
0.5
;
...
...
@@ -202,34 +219,34 @@ export default {
window
.
onresize
();
},
methods
:
{
init
()
{
let
over
=
true
;
let
maxHeight
=
0
;
if
(
!
this
.
$refs
[
'swiper'
])
init
()
{
let
over
=
true
;
let
maxHeight
=
0
;
if
(
!
this
.
$refs
[
'swiper'
])
return
false
;
this
.
$refs
[
'swiper'
].
forEach
(
x
=>
{
if
(
x
.
complete
)
{
maxHeight
=
x
.
height
>
maxHeight
?
x
.
height
:
maxHeight
}
else
{
over
=
false
;
this
.
$refs
[
'swiper'
].
forEach
(
x
=>
{
if
(
x
.
complete
)
{
maxHeight
=
x
.
height
>
maxHeight
?
x
.
height
:
maxHeight
}
else
{
over
=
false
;
return
false
}
});
if
(
over
)
{
this
.
height
=
maxHeight
;
if
(
over
)
{
this
.
height
=
maxHeight
;
clearInterval
(
this
.
clock
);
let
that
=
this
;
let
that
=
this
;
that
.
change
();
setInterval
(()
=>
{
setInterval
(()
=>
{
that
.
change
()
},
8000
)
},
8000
)
}
},
change
()
{
if
(
this
.
crtIndex
<
this
.
imgs
.
length
-
1
)
change
()
{
if
(
this
.
crtIndex
<
this
.
imgs
.
length
-
1
)
this
.
crtIndex
++
else
this
.
crtIndex
=
0
this
.
crtIndex
=
0
},
//初始化数据
initData
()
{
...
...
@@ -238,13 +255,15 @@ export default {
this
.
userInfo
.
name
=
"17602887190"
;
this
.
userInfo
.
password
=
"123456"
;
}
this
.
userInfo
.
Domain
=
window
.
location
.
hostname
this
.
userInfo
.
Domain
=
window
.
location
.
hostname
},
getGroup
()
{
//获取集团
let
Domain
=
window
.
location
.
hostname
this
.
apipost
(
'admin_get_GetModelByDomain'
,{
'Domain'
:
Domain
},
res
=>
{
let
Domain
=
window
.
location
.
hostname
this
.
apipost
(
'admin_get_GetModelByDomain'
,
{
'Domain'
:
Domain
},
res
=>
{
this
.
groupModel
=
res
.
data
.
data
;
document
.
title
=
"欢迎使用 "
+
this
.
groupModel
.
GroupName
+
" ERP系统"
;
document
.
title
=
"欢迎使用 "
+
this
.
groupModel
.
GroupName
+
" ERP系统"
;
},
err
=>
{})
},
canplay
()
{
...
...
@@ -292,8 +311,8 @@ export default {
localStorage
.
removeItem
(
'orderObj'
)
localStorage
.
userInfo
=
userJson
;
let
firstTire
=
[]
userData
.
UserMenu
.
forEach
(
x
=>
{
if
(
x
.
MenuUrl
==
''
)
{
userData
.
UserMenu
.
forEach
(
x
=>
{
if
(
x
.
MenuUrl
==
''
)
{
firstTire
.
push
(
x
.
MenuName
)
}
})
...
...
@@ -302,10 +321,12 @@ export default {
this
.
$cookie
.
set
(
"EmployeeId"
,
userData
.
EmployeeId
);
this
.
$cookie
.
set
(
"RB_Branch_id"
,
userData
.
RB_Branch_id
);
this
.
$cookie
.
set
(
"RB_Group_id"
,
userData
.
RB_Group_id
);
localStorage
.
menu
=
JSON
.
stringify
(
firstTire
)
localStorage
.
menu
=
JSON
.
stringify
(
firstTire
)
this
.
loginState
=
0
;
this
.
$router
.
push
({
path
:
"/personalCenter"
});
this
.
$router
.
push
({
path
:
"/personalCenter"
});
}
else
{
this
.
$notify
.
error
({
...
...
@@ -352,8 +373,7 @@ export default {
mobileCodeType
:
this
.
mobileCodeType
};
this
.
apipost
(
"user_get_moblieNumber_code"
,
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
}
else
{
if
(
res
.
data
.
resultCode
==
1
)
{}
else
{
this
.
$notify
.
error
({
title
:
this
.
$t
(
'tips.tips'
),
customClass
:
"msgTips"
,
...
...
@@ -431,7 +451,8 @@ export default {
this
.
isShow
=
1
;
}
}
};
};
</
script
>
<!-- Add "scoped" attribute to limit CSS to this component only -->
src/components/administrative/Announcement.vue
View file @
f42cd322
...
...
@@ -3,21 +3,22 @@
<div
class=
"query-box"
>
<ul>
<li>
<span><em>
{{
$t
(
'adm.adm_title'
)
}}
:
</em><el-input
v-model=
'msg.Title'
class=
"permiss-input"
></el-input></span>
<span><em>
{{
$t
(
'adm.adm_title'
)
}}
:
</em>
<el-input
v-model=
'msg.Title'
class=
"permiss-input"
></el-input>
</span>
</li>
<li>
<span><em>
{{
$t
(
'adm.adm_Publisher'
)
}}
:
</em><el-select
filterable
clearable
v-model=
'msg.UpdateBy'
:placeholder=
"$t('pub.unlimitedSel')"
>
<span><em>
{{
$t
(
'adm.adm_Publisher'
)
}}
:
</em>
<el-select
filterable
clearable
v-model=
'msg.UpdateBy'
:placeholder=
"$t('pub.unlimitedSel')"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
value=
'-1'
></el-option>
<el-option
v-for=
'item in Employee'
:label=
'item.EmName'
:value=
'item.EmployeeId'
:key=
'item.EmployeeId'
>
<el-option
v-for=
'item in Employee'
:label=
'item.EmName'
:value=
'item.EmployeeId'
:key=
'item.EmployeeId'
>
</el-option>
</el-select>
</span>
</li>
<li>
<span><em>
{{
$t
(
'adm.adm_ublicationstatus'
)
}}
:
</em><el-select
v-model=
"msg.Status"
:placeholder=
"$t('pub.unlimitedSel')"
>
<span><em>
{{
$t
(
'adm.adm_ublicationstatus'
)
}}
:
</em>
<el-select
v-model=
"msg.Status"
:placeholder=
"$t('pub.unlimitedSel')"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
value=
'-1'
></el-option>
<el-option
:label=
"$t('adm.adm_tobepublish')"
value=
'0'
></el-option>
<el-option
:label=
"$t('adm.adm_published')"
value=
'1'
></el-option>
...
...
@@ -26,7 +27,8 @@
</span>
</li>
<li>
<span><em>
{{
$t
(
'adm.adm_Ceilingsituation'
)
}}
:
</em><el-select
v-model=
"msg.Is_top"
:placeholder=
"$t('pub.unlimitedSel')"
>
<span><em>
{{
$t
(
'adm.adm_Ceilingsituation'
)
}}
:
</em>
<el-select
v-model=
"msg.Is_top"
:placeholder=
"$t('pub.unlimitedSel')"
>
<el-option
:label=
"$t('pub.unlimitedSel')"
value=
'-1'
></el-option>
<el-option
:label=
"$t('adm.adm_Noroofset')"
value=
'0'
></el-option>
<el-option
:label=
"$t('adm.adm_roofset')"
value=
'1'
></el-option>
...
...
@@ -34,8 +36,11 @@
</span>
</li>
<li>
<input
type=
"button"
class=
"hollowFixedBtn"
:value=
"$t('pub.searchBtn')"
@
click=
"resetPageIndex(),getList()"
/>
<input
type=
"button"
@
click=
"outerVisible = true,dialogTitle=$t('objFill.v101.administrative.tianjiagogao'),layerType=2,clearMessage()"
class=
"normalBtn"
:value=
"$t('pub.addBtn')"
/>
<input
type=
"button"
class=
"hollowFixedBtn"
:value=
"$t('pub.searchBtn')"
@
click=
"resetPageIndex(),getList()"
/>
<input
type=
"button"
@
click=
"outerVisible = true,dialogTitle=$t('objFill.v101.administrative.tianjiagogao'),layerType=2,clearMessage()"
class=
"normalBtn"
:value=
"$t('pub.addBtn')"
/>
</li>
</ul>
</div>
...
...
@@ -56,11 +61,13 @@
<td>
{{
item
.
UpdateTime
|
dateFormat
(
item
.
UpdateTime
)
}}
</td>
<td>
<el-button-group>
<el-tooltip
v-if=
"item.Status!='0'"
class=
"item"
effect=
"dark"
:content=
"$t('fnc.xiangqing')"
placement=
"top-start"
>
<el-button
@
click=
'getDetails(item.Id, item.Title)'
type=
"primary"
icon=
"el-icon-tickets"
></el-button>
<el-tooltip
v-if=
"item.Status!='0'"
class=
"item"
effect=
"dark"
:content=
"$t('fnc.xiangqing')"
placement=
"top-start"
>
<el-button
@
click=
'getDetails(item.Id, item.Title)'
type=
"primary"
icon=
"el-icon-tickets"
></el-button>
</el-tooltip>
<el-tooltip
v-if=
"item.Status=='0'"
class=
"item"
effect=
"dark"
:content=
"$t('pub.updateMsg')"
placement=
"top-start"
>
<el-button
@
click=
'updateNotice(item.Id)'
type=
"primary"
icon=
"el-icon-edit"
></el-button>
<el-tooltip
v-if=
"item.Status=='0'"
class=
"item"
effect=
"dark"
:content=
"$t('pub.updateMsg')"
placement=
"top-start"
>
<el-button
@
click=
'updateNotice(item.Id)'
type=
"primary"
icon=
"el-icon-edit"
></el-button>
</el-tooltip>
<!--
<el-tooltip
v-if=
"item.Is_top==0&&item.Status=='1'"
class=
"item"
effect=
"dark"
:content=
"$t('adm.adm_roof')"
placement=
"top-start"
>
<el-button
@
click=
"setTop(item.Id)"
type=
"primary"
icon=
"iconfont icon-control-top"
></el-button>
...
...
@@ -68,27 +75,26 @@
<!--
<el-tooltip
v-if=
"item.Is_top==1&&item.Status=='1'"
class=
"item"
effect=
"dark"
:content=
"$t('adm.adm_exitroof')"
placement=
"top-start"
>
<el-button
@
click=
"setTop(item.Id)"
type=
"primary"
icon=
"iconfont icon-control-bottom"
></el-button>
</el-tooltip>
-->
<el-tooltip
v-if=
"item.Status=='1'"
class=
"item"
effect=
"dark"
:content=
"$t('adm.adm_chehui')"
placement=
"top-start"
>
<el-tooltip
v-if=
"item.Status=='1'"
class=
"item"
effect=
"dark"
:content=
"$t('adm.adm_chehui')"
placement=
"top-start"
>
<el-button
@
click=
'reCallNotice(item.Id)'
type=
"warning"
icon=
"el-icon-delete"
></el-button>
</el-tooltip>
<el-tooltip
v-if=
"item.Status=='0'"
class=
"item"
effect=
"dark"
:content=
"$t('system.table_delete')"
placement=
"top-start"
>
<el-button
@
click=
'deleteNotice(item.Id)'
type=
"danger"
icon=
"el-icon-delete"
></el-button>
<el-tooltip
v-if=
"item.Status=='0'"
class=
"item"
effect=
"dark"
:content=
"$t('system.table_delete')"
placement=
"top-start"
>
<el-button
@
click=
'deleteNotice(item.Id)'
type=
"danger"
icon=
"el-icon-delete"
></el-button>
</el-tooltip>
</el-button-group>
</td>
</tr>
</table>
<el-pagination
background
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"currentPage"
layout=
"total,prev, pager, next, jumper"
:page-size=
msg.pageSize
:total=
total
>
<el-pagination
background
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"currentPage"
layout=
"total,prev, pager, next, jumper"
:page-size=
msg.pageSize
:total=
total
>
</el-pagination>
<el-dialog
custom-class=
'w800'
:title=
"dialogTitle"
:visible
.
sync=
"outerVisible"
center
:before-close=
"closeChangeMachie"
>
<el-dialog
custom-class=
'w800'
:title=
"dialogTitle"
:visible
.
sync=
"outerVisible"
center
:before-close=
"closeChangeMachie"
>
<div
v-if=
'layerType==1'
>
<p
style=
"text-align: right; padding: 5px 0;"
>
{{
detailMessage
.
EmName
}}
{{
detailMessage
.
UpdateTime
}}
</p>
<p
style=
"text-align: right; padding: 5px 0;"
>
{{
detailMessage
.
EmName
}}
{{
detailMessage
.
UpdateTime
}}
</p>
<div
v-html=
"detailMessage.Content"
>
</div>
...
...
@@ -96,17 +102,19 @@
{{
detailMessage
.
Content
}}
</pre>
-->
<p
style=
"padding:0 10px; margin: 10px 0; background: #f1f1f1;"
>
{{
$t
(
'adm.adm_fujian'
)
}}
:
</p>
<p
style=
"height: 28px; padding: 0 10px; line-height: 28px;"
v-for=
"item in downLoadList"
class=
"AnnFileListPMeta"
>
<p
style=
"height: 28px; padding: 0 10px; line-height: 28px;"
v-for=
"item in downLoadList"
class=
"AnnFileListPMeta"
>
<i
class=
"iconfont icon-xiazai"
></i>
--
<span
@
click=
"downloadSingle(item)"
>
{{
item
.
Name
}}
</span>
</p>
</div>
<el-form
v-if=
'layerType==2'
:model=
"addMsg"
:rules=
"rules"
ref=
"addMsg"
label-width=
"100px"
>
<el-form
v-if=
'layerType==2'
:model=
"addMsg"
:rules=
"rules"
ref=
"addMsg"
label-width=
"100px"
>
<table
class=
"layerNoIcon"
>
<tr>
<td>
<el-form-item
:label=
"$t('adm.adm_title')"
prop=
"Title"
>
<el-input
class=
'w600'
type=
"text"
v-model=
"addMsg.Title"
:placeholder=
"$t('pub.pleaseImport')"
></el-input>
<el-input
class=
'w600'
type=
"text"
v-model=
"addMsg.Title"
:placeholder=
"$t('pub.pleaseImport')"
>
</el-input>
</el-form-item>
</td>
</tr>
...
...
@@ -117,10 +125,9 @@
</td>
</tr>
<tr>
<td><el-form-item
:label=
"$t('adm.adm_fujian')"
>
<el-upload
:http-request=
"UploadAttachment"
:multiple=
"true"
:show-file-list=
"false"
action=
""
>
<td>
<el-form-item
:label=
"$t('adm.adm_fujian')"
>
<el-upload
:http-request=
"UploadAttachment"
:multiple=
"true"
:show-file-list=
"false"
action=
""
>
<el-button
size=
"small"
type=
"danger"
icon=
"el-icon-upload2"
>
{{
$t
(
'adm.adm_content'
)
}}
</el-button>
</el-upload>
</el-form-item>
...
...
@@ -143,7 +150,8 @@
<div
v-if=
'layerType!=1'
slot=
"footer"
class=
"dialog-footer"
>
<button
class=
"hollowFixedBtn"
@
click=
"outerVisible = false,resetForm('addMsg')"
>
{{
$t
(
'pub.cancelBtn'
)
}}
</button>
<button
class=
"hollowFixedBtn"
@
click=
"outerVisible = false,resetForm('addMsg')"
>
{{
$t
(
'pub.cancelBtn'
)
}}
</button>
<button
class=
"normalBtn"
type=
"primary"
@
click=
"submitForm('addMsg',0)"
>
{{
$t
(
'fnc.zancun'
)
}}
</button>
...
...
@@ -161,21 +169,37 @@
data
()
{
return
{
editorOption
:
{
modules
:
{
toolbar
:
[
modules
:
{
toolbar
:
[
[
'bold'
,
'italic'
,
'underline'
,
'strike'
,
'image'
],
// toggled buttons
[{
'header'
:
[
1
,
2
,
3
,
4
,
5
,
6
,
false
]
}],
[{
'color'
:
[]
},
{
'background'
:
[]
}],
[{
'font'
:
[]
}],
[{
'align'
:
[]
}],
[{
'size'
:
[
'small'
,
false
,
'large'
,
'huge'
]
}],
[{
'list'
:
'ordered'
},
{
'list'
:
'bullet'
}]
[{
'header'
:
[
1
,
2
,
3
,
4
,
5
,
6
,
false
]
}],
[{
'color'
:
[]
},
{
'background'
:
[]
}],
[{
'font'
:
[]
}],
[{
'align'
:
[]
}],
[{
'size'
:
[
'small'
,
false
,
'large'
,
'huge'
]
}],
[{
'list'
:
'ordered'
},
{
'list'
:
'bullet'
}]
]
}
},
uploadList
:
[],
layerType
:
''
,
loading
:
true
,
uploadList
:
[],
layerType
:
''
,
loading
:
true
,
//分页
total
:
0
,
pageSize
:
''
,
...
...
@@ -193,15 +217,15 @@
Title
:
''
,
UpdateBy
:
'-1'
},
addMsg
:
{
Id
:
'-1'
,
Title
:
''
,
Content
:
''
,
Status
:
''
,
FileList
:
[],
RB_Group_Id
:
'-1'
,
addMsg
:
{
Id
:
'-1'
,
Title
:
''
,
Content
:
''
,
Status
:
''
,
FileList
:
[],
RB_Group_Id
:
'-1'
,
},
rules
:
{
rules
:
{
Title
:
[{
required
:
true
,
message
:
this
.
$t
(
'adm.adm_qsrgbbiaoti'
),
...
...
@@ -213,47 +237,47 @@
trigger
:
'blur'
}],
},
employeeMsg
:
{
GroupId
:
''
,
BranchId
:
0
,
DepartmentId
:
0
,
PostId
:
0
,
IsLeave
:
0
,
employeeMsg
:
{
GroupId
:
''
,
BranchId
:
0
,
DepartmentId
:
0
,
PostId
:
0
,
IsLeave
:
0
,
},
//返回结果
DataList
:
[],
Employee
:
[],
detailMessage
:
[],
downLoadList
:
[],
fabuStatus
:{
Employee
:
[],
detailMessage
:
[],
downLoadList
:
[],
fabuStatus
:
{
t1
:
this
.
$t
(
'objFill.fabuzts'
)[
0
],
t2
:
this
.
$t
(
'objFill.fabuzts'
)[
1
],
t3
:
this
.
$t
(
'objFill.fabuzts'
)[
2
],
}
}
},
filters
:
{
noticeFormat
(
status
)
{
if
(
status
==
"0"
)
filters
:
{
noticeFormat
(
status
)
{
if
(
status
==
"0"
)
return
this
.
fabuStatus
.
t1
if
(
status
==
"1"
)
if
(
status
==
"1"
)
return
this
.
fabuStatus
.
t2
if
(
status
==
"2"
)
if
(
status
==
"2"
)
return
this
.
fabuStatus
.
t3
},
dateFormat
(
date
)
{
return
date
.
replace
(
'T'
,
' '
)
dateFormat
(
date
)
{
return
date
.
replace
(
'T'
,
' '
)
}
},
mounted
()
{
let
userInfo
=
this
.
getLocalStorage
();
this
.
addMsg
.
RB_Group_Id
=
userInfo
.
RB_Group_id
let
userInfo
=
this
.
getLocalStorage
();
this
.
addMsg
.
RB_Group_Id
=
userInfo
.
RB_Group_id
this
.
getList
();
this
.
getEmployee
();
},
methods
:
{
UploadAttachment
(
file
)
{
//上传
if
(
file
.
file
.
size
>
1024
*
1024
*
100
)
{
if
(
file
.
file
.
size
>
1024
*
1024
*
100
)
{
this
.
$message
.
warning
(
this
.
$t
(
'adm.adm_filenotmoreM'
))
return
}
...
...
@@ -262,7 +286,7 @@
let
path
=
"/Upload/Temporary/"
this
.
$message
.
info
(
this
.
$t
(
'tips.shangchuanzhong'
))
this
.
UploadSelfFileT
(
path
,
newArr
,
x
=>
{
let
fileSize
=
file
.
file
.
size
<
1024
?
file
.
file
.
size
:
(
file
.
file
.
size
/
1024
).
toFixed
(
0
);
let
fileSize
=
file
.
file
.
size
<
1024
?
file
.
file
.
size
:
(
file
.
file
.
size
/
1024
).
toFixed
(
0
);
this
.
saveMsg
=
[]
this
.
saveMsg
.
push
({
Path
:
x
.
data
.
FilePath
,
...
...
@@ -271,36 +295,41 @@
FileSize
:
fileSize
,
FolderId
:
this
.
msg
.
ParentId
})
this
.
uploadList
.
push
({
url
:
x
.
data
.
FilePath
,
name
:
file
.
file
.
name
})
this
.
uploadList
.
push
({
url
:
x
.
data
.
FilePath
,
name
:
file
.
file
.
name
})
});
},
downloadSingle
(
obj
)
{
downloadSingle
(
obj
)
{
const
link
=
document
.
createElement
(
'a'
);
let
_loadUrl
=
this
.
domainManager
().
UploadUrl
;
let
_loadUrl
=
this
.
domainManager
().
UploadUrl
;
link
.
href
=
obj
.
Url
;
document
.
body
.
appendChild
(
link
);
window
.
open
(
obj
.
Url
)
},
downloadOne
(
obj
)
{
this
.
downloadFileRename
(
obj
.
url
,
obj
.
name
);
downloadOne
(
obj
)
{
this
.
downloadFileRename
(
obj
.
url
,
obj
.
name
);
},
deleteFile
(
obj
)
{
if
(
this
.
uploadList
.
findIndex
(
item
=>
item
.
url
===
obj
.
url
)
!=-
1
)
{
deleteFile
(
obj
)
{
if
(
this
.
uploadList
.
findIndex
(
item
=>
item
.
url
===
obj
.
url
)
!=
-
1
)
{
this
.
uploadList
.
splice
(
this
.
uploadList
.
findIndex
(
item
=>
item
.
url
===
obj
.
url
),
1
)
}
},
reCallNotice
(
id
)
{
reCallNotice
(
id
)
{
this
.
$confirm
(
this
.
$t
(
'adm.adm_sfchehui'
),
this
.
$t
(
'tips.tips'
),
{
confirmButtonText
:
this
.
$t
(
'pub.sureBtn'
),
cancelButtonText
:
this
.
$t
(
'pub.cancelBtn'
),
type
:
'warning'
}).
then
(()
=>
{
this
.
apipost
(
"User_post_NoticeSetRevocation"
,{
noticeId
:
id
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
$message
.
success
(
this
.
$t
(
'adm.adm_chsuccess'
))
this
.
apipost
(
"User_post_NoticeSetRevocation"
,
{
noticeId
:
id
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
$message
.
success
(
this
.
$t
(
'adm.adm_chsuccess'
))
this
.
getList
();
}
},
err
=>
{})
},
err
=>
{})
}).
catch
(()
=>
{
this
.
$message
({
type
:
'info'
,
...
...
@@ -309,18 +338,20 @@
});
},
deleteNotice
(
id
)
{
deleteNotice
(
id
)
{
this
.
$confirm
(
this
.
$t
(
'tips.shifoushanchu'
),
this
.
$t
(
'tips.tips'
),
{
confirmButtonText
:
this
.
$t
(
'pub.sureBtn'
),
cancelButtonText
:
this
.
$t
(
'pub.cancelBtn'
),
type
:
'warning'
}).
then
(()
=>
{
this
.
apipost
(
"User_post_NoticeRemove"
,{
noticeId
:
id
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
apipost
(
"User_post_NoticeRemove"
,
{
noticeId
:
id
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
$message
.
success
(
this
.
$t
(
'tips.shanchuchenggong'
))
this
.
getList
();
}
},
err
=>
{})
},
err
=>
{})
}).
catch
(()
=>
{
this
.
$message
({
type
:
'info'
,
...
...
@@ -329,10 +360,10 @@
});
},
getList
()
{
//公告列表
this
.
loading
=
true
;
this
.
loading
=
true
;
this
.
apipost
(
'User_get_NoticeGetPageList'
,
this
.
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
loading
=
false
;
this
.
DataList
=
res
.
data
.
data
.
pageData
;
this
.
total
=
res
.
data
.
data
.
count
;
}
...
...
@@ -340,19 +371,19 @@
},
getEmployee
()
{
//员工
this
.
apipost
(
'admin_get_EmployeeGetList'
,
this
.
employeeMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Employee
=
res
.
data
.
data
;
}
},
err
=>
{})
},
addNotice
(
_status
)
{
this
.
addMsg
.
FileList
=
this
.
uploadList
;
this
.
layerType
=
2
;
addNotice
(
_status
)
{
this
.
addMsg
.
FileList
=
this
.
uploadList
;
this
.
layerType
=
2
;
this
.
addMsg
.
Status
=
_status
;
this
.
apipost
(
'User_post_NoticeSet'
,
this
.
addMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
$message
.
success
(
res
.
data
.
message
)
this
.
outerVisible
=
false
;
this
.
outerVisible
=
false
;
this
.
getList
()
this
.
resetForm
(
'addMsg'
);
}
else
{
...
...
@@ -360,53 +391,62 @@
}
},
err
=>
{})
},
updateNotice
(
id
){
this
.
addMsg
.
Id
=
id
;
this
.
dialogTitle
=
this
.
$t
(
'tips.adm_xgnotice'
);
this
.
outerVisible
=
true
;
this
.
layerType
=
2
;
this
.
apipost
(
'User_get_NoticeGet'
,{
noticeId
:
id
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
addMsg
.
Title
=
res
.
data
.
data
.
Title
this
.
addMsg
.
Content
=
res
.
data
.
data
.
Content
this
.
uploadList
=
[]
if
(
res
.
data
.
data
.
File_url
){
let
_arr
=
JSON
.
parse
(
res
.
data
.
data
.
File_url
);
if
(
_arr
.
length
>
0
){
_arr
.
forEach
(
item
=>
{
this
.
uploadList
.
push
({
name
:
item
.
Name
,
url
:
item
.
Url
})
updateNotice
(
id
)
{
this
.
addMsg
.
Id
=
id
;
this
.
dialogTitle
=
this
.
$t
(
'tips.adm_xgnotice'
);
this
.
outerVisible
=
true
;
this
.
layerType
=
2
;
this
.
apipost
(
'User_get_NoticeGet'
,
{
noticeId
:
id
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
addMsg
.
Title
=
res
.
data
.
data
.
Title
this
.
addMsg
.
Content
=
res
.
data
.
data
.
Content
this
.
uploadList
=
[]
if
(
res
.
data
.
data
.
File_url
)
{
let
_arr
=
JSON
.
parse
(
res
.
data
.
data
.
File_url
);
if
(
_arr
.
length
>
0
)
{
_arr
.
forEach
(
item
=>
{
this
.
uploadList
.
push
({
name
:
item
.
Name
,
url
:
item
.
Url
})
})
}
}
}
},
err
=>
{})
},
err
=>
{})
},
getDetails
(
id
,
tit
){
this
.
outerVisible
=
true
;
this
.
layerType
=
1
;
this
.
dialogTitle
=
tit
;
this
.
apipost
(
'User_get_NoticeGet'
,{
noticeId
:
id
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
detailMessage
=
res
.
data
.
data
if
(
res
.
data
.
data
.
File_url
){
this
.
downLoadList
=
JSON
.
parse
(
res
.
data
.
data
.
File_url
)
this
.
downLoadList
.
forEach
(
item
=>
{
item
.
Url
=
this
.
domainManager
().
ViittoFileUrl
+
item
.
Url
getDetails
(
id
,
tit
)
{
this
.
outerVisible
=
true
;
this
.
layerType
=
1
;
this
.
dialogTitle
=
tit
;
this
.
apipost
(
'User_get_NoticeGet'
,
{
noticeId
:
id
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
detailMessage
=
res
.
data
.
data
if
(
res
.
data
.
data
.
File_url
)
{
this
.
downLoadList
=
JSON
.
parse
(
res
.
data
.
data
.
File_url
)
this
.
downLoadList
.
forEach
(
item
=>
{
item
.
Url
=
this
.
domainManager
().
ViittoFileUrl
+
item
.
Url
})
}
}
else
{
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
)
}
},
err
=>
{})
},
err
=>
{})
},
setTop
(
id
){
//置顶
setTop
(
id
)
{
//置顶
this
.
$confirm
(
this
.
$t
(
'adm.adm_shifouroof'
),
this
.
$t
(
'tips.tips'
),
{
confirmButtonText
:
this
.
$t
(
'pub.sureBtn'
),
cancelButtonText
:
this
.
$t
(
'pub.cancelBtn'
),
type
:
'warning'
}).
then
(()
=>
{
this
.
apipost
(
'User_post_NoticeSetTop'
,
{
noticeId
:
id
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
apipost
(
'User_post_NoticeSetTop'
,
{
noticeId
:
id
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
Employee
=
res
.
data
.
data
;
this
.
getList
();
}
else
{
...
...
@@ -421,8 +461,8 @@
});
},
clearMessage
()
{
this
.
uploadList
.
length
=
0
;
clearMessage
()
{
this
.
uploadList
.
length
=
0
;
},
handleCurrentChange
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
...
...
@@ -430,11 +470,11 @@
},
resetPageIndex
()
{
this
.
msg
.
pageIndex
=
1
;
this
.
currentPage
=
1
this
.
currentPage
=
1
},
submitForm
(
addMsg
,
_type
)
{
//提交创建、修改表单
submitForm
(
addMsg
,
_type
)
{
//提交创建、修改表单
this
.
$refs
[
addMsg
].
validate
((
valid
)
=>
{
if
(
valid
)
{
if
(
valid
)
{
this
.
addNotice
(
_type
)
}
else
{
return
false
;
...
...
@@ -450,24 +490,57 @@
this
.
$refs
[
formName
].
resetFields
();
}
this
.
addMsg
.
Id
=
'-1'
this
.
addMsg
.
Id
=
'-1'
}
}
}
</
script
>
<
style
>
.ann_detail_title
{
line-height
:
24px
;
font-size
:
15px
;
font-weight
:
bold
;
text-align
:
center
;}
.ann_textarea
textarea
{
height
:
400px
!important
;}
.AnnfileList
{
padding
:
5px
0
;}
.AnnfileList
li
{
height
:
30px
;
line-height
:
30px
;
padding
:
0
10px
;}
.AnnfileList
li
:hover
{
background
:
#f1f1f1
;}
.AnnfileList
li
>
i
{
float
:
right
;
margin-top
:
8px
;}
.AnnfileList
li
:hover
,
.AnnFileListPMeta
:hover
{
text-decoration
:
underline
;
color
:
#E95252
;
cursor
:
pointer
;}
.AnnFileListPMeta
{
.ann_detail_title
{
line-height
:
24px
;
font-size
:
15px
;
font-weight
:
bold
;
text-align
:
center
;
}
.ann_textarea
textarea
{
height
:
400px
!important
;
}
.AnnfileList
{
padding
:
5px
0
;
}
.AnnfileList
li
{
height
:
30px
;
line-height
:
30px
;
padding
:
0
10px
;
}
.AnnfileList
li
:hover
{
background
:
#f1f1f1
;
}
.AnnfileList
li
>
i
{
float
:
right
;
margin-top
:
8px
;
}
.AnnfileList
li
:hover
,
.AnnFileListPMeta
:hover
{
text-decoration
:
underline
;
color
:
#E95252
;
cursor
:
pointer
;
}
.AnnFileListPMeta
{
color
:
blue
}
.AnnFileListPMeta
.iconfon
{
.AnnFileListPMeta
.iconfon
{
font-size
:
12px
;
}
</
style
>
src/components/guestSign.vue
View file @
f42cd322
...
...
@@ -108,11 +108,9 @@
</el-radio-group>
</
template
>
<
template
v-if=
"item.SurveyType === 3"
>
<el-checkbox
v-for=
"(radio, rIndex) in item.SurveyOptionsList"
v-model=
"radio.IsCheckS"
:label=
"radio.ID"
:key=
"rIndex"
>
{{
radio
.
OptionsName
}}
</el-checkbox>
</
template
>
<
template
v-if=
"item.SurveyType === 4"
>
<el-input
type=
"textarea"
:rows=
"2"
:placeholder=
"$t('fnc.qsrneirong')"
v-model=
"item.TextContent"
>
...
...
src/router/config.js
View file @
f42cd322
...
...
@@ -6433,22 +6433,7 @@ export default {
meta
:
{
title
:
'财务批量打印页面'
},
},
// {
// path: '/guestlogin', //意见调查表登录
// name: 'guestlogin',
// component: resolve => require(['@/components/guestlogin'], resolve),
// meta: {
// title: '意见调查表登录'
// },
// },
// {
// path: '/guestSign', //意见调查表填写
// name: 'guestSign',
// component: resolve => require(['@/components/guestSign'], resolve),
// meta: {
// title: '意见调查表填写'
// },
// },
}
]
}
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