Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
W
workbook
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
黄志强
workbook
Commits
125a54c7
提交
125a54c7
authored
5月 14, 2020
作者:
黄志强
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
修改
上级
6159e473
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
28 个修改的文件
包含
525 行增加
和
93 行删除
+525
-93
element-changeStyle.css
src/assets/css/element-changeStyle.css
+23
-0
index.js
src/axios/index.js
+3
-3
services.js
src/axios/services.js
+8
-2
approvalDetailDialog.vue
src/components/approvalDetailDialog.vue
+1
-0
approvalDialog.vue
src/components/approvalDialog.vue
+1
-0
consumerDialog.vue
src/components/consumerDialog.vue
+8
-1
departmentAddDialog.vue
src/components/departmentAddDialog.vue
+4
-3
feedbackDialog.vue
src/components/feedbackDialog.vue
+1
-0
headerDetail.vue
src/components/headerDetail.vue
+7
-7
mainBreadcrumb.vue
src/components/mainBreadcrumb.vue
+4
-0
overtimeDetail.vue
src/components/overtimeDetail.vue
+1
-0
overtimeDialog.vue
src/components/overtimeDialog.vue
+1
-0
passwordChange.vue
src/components/passwordChange.vue
+38
-29
personInfoDialog.vue
src/components/personInfoDialog.vue
+26
-8
roleDialog.vue
src/components/roleDialog.vue
+1
-0
index.js
src/router/index.js
+6
-0
Feedback.vue
src/views/Feedback.vue
+5
-0
Login.vue
src/views/Login.vue
+6
-5
PersonDetails.vue
src/views/person/PersonDetails.vue
+28
-13
AuthorityManage.vue
src/views/root/AuthorityManage.vue
+1
-0
ConsumerManage.vue
src/views/root/ConsumerManage.vue
+15
-8
DepartmentManage.vue
src/views/root/DepartmentManage.vue
+3
-1
LogManage.vue
src/views/root/LogManage.vue
+196
-0
ParamsSetting.vue
src/views/root/ParamsSetting.vue
+1
-0
AddTask.vue
src/views/task/AddTask.vue
+126
-11
TaskDetails.vue
src/views/task/TaskDetails.vue
+0
-0
UnpublishedTask.vue
src/views/task/UnpublishedTask.vue
+9
-0
ViewTask.vue
src/views/task/ViewTask.vue
+2
-2
没有找到文件。
src/assets/css/element-changeStyle.css
浏览文件 @
125a54c7
...
@@ -495,3 +495,26 @@
...
@@ -495,3 +495,26 @@
border-bottom-color
:
#C0C4CC
;
border-bottom-color
:
#C0C4CC
;
}
}
.el-tag
{
background-color
:
#f3fdff
;
border-color
:
#d9ecff
;
font-size
:
18px
;
color
:
#5059D5
;
}
.el-tooltip__popper.is-light
{
font-size
:
18px
;
background
:
#FFF
;
border
:
1px
solid
#d1d1d1
;
/*no*/
box-shadow
:
10px
10px
10px
1px
#d1d1d1
;
}
.el-select-dropdown.is-multiple
.el-select-dropdown__item.selected
{
color
:
#5059D5
;
background-color
:
#FFF
;
}
.el-tree-node__content
>
.el-tree-node__expand-icon
{
padding
:
6px
;
margin-bottom
:
6px
;
}
src/axios/index.js
浏览文件 @
125a54c7
let
baseUrl
=
"http
s://workbook.zjtys.com.cn
:8289"
;
// 120.55.57.35 localhost 8289
let
baseUrl
=
"http
://192.168.1.12
:8289"
;
// 120.55.57.35 localhost 8289
let
env
=
process
.
env
.
VUE_APP_TITLE
===
'alpha'
?
'alpha'
:
'production'
;
let
env
=
process
.
env
.
VUE_APP_TITLE
===
'alpha'
?
'alpha'
:
'production'
;
switch
(
env
)
{
switch
(
env
)
{
case
'production'
:
case
'production'
:
// baseUrl = "http://192.168.1.248:8090"; // 测试环境
// baseUrl = "http://192.168.1.248:8090"; // 测试环境
baseUrl
=
"http
s://workbook.zjtys.com.cn
:8289"
;
// 测试环境
baseUrl
=
"http
://192.168.1.12
:8289"
;
// 测试环境
break
;
break
;
case
'alpha'
:
case
'alpha'
:
// baseUrl = "https://workbook.zjtys.com.cn"; // 阿里云环境
// baseUrl = "https://workbook.zjtys.com.cn"; // 阿里云环境
baseUrl
=
"http
s://workbook.zjtys.com.cn
:8289"
;
// 阿里云环境
baseUrl
=
"http
://192.168.1.12
:8289"
;
// 阿里云环境
break
;
break
;
}
}
// https://workbook.zjtys.com.cn:8289
// https://workbook.zjtys.com.cn:8289
...
...
src/axios/services.js
浏览文件 @
125a54c7
...
@@ -291,8 +291,8 @@ const requests = {
...
@@ -291,8 +291,8 @@ const requests = {
method
:
'get'
method
:
'get'
})
})
},
},
putPassword
(
data
)
{
// 修改密码
putPassword
(
id
,
data
)
{
// 修改密码
return
axios
(
ip
+
'/manage/user/password
'
,
{
return
axios
(
ip
+
'/manage/user/password
/'
+
id
,
{
method
:
'put'
,
method
:
'put'
,
data
:
data
data
:
data
})
})
...
@@ -420,6 +420,12 @@ const requests = {
...
@@ -420,6 +420,12 @@ const requests = {
return
axios
(
ip
+
'/attendance/approval/deleteWorkover/'
+
id
,
{
return
axios
(
ip
+
'/attendance/approval/deleteWorkover/'
+
id
,
{
method
:
'delete'
method
:
'delete'
})
})
},
postLogData
(
data
)
{
return
axios
(
ip
+
'/pas/log/findAllLogs'
,
{
method
:
'post'
,
data
:
data
})
}
}
};
};
...
...
src/components/approvalDetailDialog.vue
浏览文件 @
125a54c7
...
@@ -168,6 +168,7 @@
...
@@ -168,6 +168,7 @@
line-height
:
40px
;
line-height
:
40px
;
position
:
relative
;
position
:
relative
;
font-size
:
18px
;
font-size
:
18px
;
font-weight
:
bold
;
margin-left
:
0
!important
;
margin-left
:
0
!important
;
color
:
#19152c
;
color
:
#19152c
;
}
}
...
...
src/components/approvalDialog.vue
浏览文件 @
125a54c7
...
@@ -215,6 +215,7 @@
...
@@ -215,6 +215,7 @@
line-height
:
40px
;
line-height
:
40px
;
position
:
relative
;
position
:
relative
;
font-size
:
14px
;
font-size
:
14px
;
font-weight
:
bold
;
margin-left
:
0
!important
;
margin-left
:
0
!important
;
}
}
...
...
src/components/consumerDialog.vue
浏览文件 @
125a54c7
...
@@ -198,12 +198,16 @@
...
@@ -198,12 +198,16 @@
},
},
roleList
:
{
roleList
:
{
handler
(
val
)
{
handler
(
val
)
{
console
.
log
(
val
)
console
.
log
(
val
);
val
.
forEach
((
v
,
i
)
=>
{
v
.
disabled
=
false
;
})
this
.
roleLists
=
val
;
this
.
roleLists
=
val
;
}
}
},
},
editConsumer
:
{
editConsumer
:
{
handler
(
editConsumer
)
{
handler
(
editConsumer
)
{
console
.
log
(
editConsumer
)
if
(
JSON
.
stringify
(
editConsumer
)
!==
'{}'
)
{
if
(
JSON
.
stringify
(
editConsumer
)
!==
'{}'
)
{
let
data
=
JSON
.
parse
(
JSON
.
stringify
(
editConsumer
));
let
data
=
JSON
.
parse
(
JSON
.
stringify
(
editConsumer
));
let
roles
=
[];
let
roles
=
[];
...
@@ -234,6 +238,9 @@
...
@@ -234,6 +238,9 @@
this
.
createForm
.
email
=
''
;
this
.
createForm
.
email
=
''
;
this
.
createForm
.
entryTime
=
''
;
this
.
createForm
.
entryTime
=
''
;
this
.
createForm
.
roles
=
[];
this
.
createForm
.
roles
=
[];
this
.
roleLists
.
forEach
((
v
,
i
)
=>
{
v
.
disabled
=
false
;
})
this
.
$emit
(
'close'
,
val
);
this
.
$emit
(
'close'
,
val
);
},
},
// selectChange(e){
// selectChange(e){
...
...
src/components/departmentAddDialog.vue
浏览文件 @
125a54c7
...
@@ -37,7 +37,7 @@
...
@@ -37,7 +37,7 @@
export
default
{
export
default
{
name
:
"departmentAddDialog"
,
name
:
"departmentAddDialog"
,
//import引入的组件需要注入到对象中才能使用
//import引入的组件需要注入到对象中才能使用
props
:
[
'showDepartmentDialog'
,
'curr
r
entId'
],
props
:
[
'showDepartmentDialog'
,
'currentId'
],
components
:
{},
components
:
{},
data
()
{
data
()
{
//这里存放数据
//这里存放数据
...
@@ -65,7 +65,7 @@
...
@@ -65,7 +65,7 @@
immediate
:
true
,
immediate
:
true
,
handler
(
showDepartmentDialog
)
{
handler
(
showDepartmentDialog
)
{
this
.
dialogDepartmentAddVisible
=
showDepartmentDialog
;
this
.
dialogDepartmentAddVisible
=
showDepartmentDialog
;
console
.
log
(
this
.
curr
r
entId
);
console
.
log
(
this
.
currentId
);
}
}
},
},
},
},
...
@@ -80,7 +80,7 @@
...
@@ -80,7 +80,7 @@
if
(
valid
)
{
if
(
valid
)
{
console
.
log
(
this
.
departmentForm
)
console
.
log
(
this
.
departmentForm
)
let
data
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
departmentForm
));
let
data
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
departmentForm
));
data
.
parentId
=
this
.
curr
r
entId
;
data
.
parentId
=
this
.
currentId
;
console
.
log
(
data
)
console
.
log
(
data
)
this
.
$axios
.
postAddDepartment
(
data
).
then
((
res
)
=>
{
this
.
$axios
.
postAddDepartment
(
data
).
then
((
res
)
=>
{
console
.
log
(
res
);
console
.
log
(
res
);
...
@@ -140,6 +140,7 @@
...
@@ -140,6 +140,7 @@
line-height
:
40px
;
line-height
:
40px
;
position
:
relative
;
position
:
relative
;
font-size
:
14px
;
font-size
:
14px
;
font-weight
:
bold
;
margin-left
:
0
!important
;
margin-left
:
0
!important
;
}
}
...
...
src/components/feedbackDialog.vue
浏览文件 @
125a54c7
...
@@ -151,6 +151,7 @@
...
@@ -151,6 +151,7 @@
line-height
:
40px
;
line-height
:
40px
;
position
:
relative
;
position
:
relative
;
font-size
:
14px
;
font-size
:
14px
;
font-weight
:
bold
;
margin-left
:
0
!important
;
margin-left
:
0
!important
;
}
}
...
...
src/components/headerDetail.vue
浏览文件 @
125a54c7
...
@@ -14,13 +14,13 @@
...
@@ -14,13 +14,13 @@
</span>
</span>
</div>
</div>
<div
class=
"rightMenuDiv"
style=
""
>
<div
class=
"rightMenuDiv"
style=
""
>
<
span
>
<
!--
<span>
--
>
<
img
class=
"menuImgs"
v-show=
"!showSearch"
src=
"../assets/images/nav-top-ss.png"
title=
"搜索"
style=
"cursor: pointer;"
@
click=
"showSearch = true"
/
>
<
!--
<img
class=
"menuImgs"
v-show=
"!showSearch"
src=
"../assets/images/nav-top-ss.png"
title=
"搜索"
style=
"cursor: pointer;"
@
click=
"showSearch = true"
/>
--
>
<
div
v-show=
"showSearch"
class=
"div-search"
>
<
!--
<div
v-show=
"showSearch"
class=
"div-search"
>
--
>
<
i
class=
"search-icon"
@
click=
"openSearch()"
></i
>
<
!--
<i
class=
"search-icon"
@
click=
"openSearch()"
></i>
--
>
<
input
type=
"text"
v-model=
"searchHeader"
id=
"searchVal"
placeholder=
"请输入"
class=
"in-search"
@
keyup
.
enter=
"openSearch()"
/
>
<
!--
<input
type=
"text"
v-model=
"searchHeader"
id=
"searchVal"
placeholder=
"请输入"
class=
"in-search"
@
keyup
.
enter=
"openSearch()"
/>
--
>
<
/div
>
<
!--
</div>
--
>
<
/span
>
<
!--
</span>
--
>
<span>
<span>
<img
class=
"menuImgs"
title=
"帮助"
src=
"../assets/images/nav-top-wh.png"
style=
"cursor: pointer"
>
<img
class=
"menuImgs"
title=
"帮助"
src=
"../assets/images/nav-top-wh.png"
style=
"cursor: pointer"
>
</span>
</span>
...
...
src/components/mainBreadcrumb.vue
浏览文件 @
125a54c7
...
@@ -92,6 +92,10 @@
...
@@ -92,6 +92,10 @@
<img
class=
"paramsImg"
src=
"../assets/images/paramsIcon.png"
/>
<img
class=
"paramsImg"
src=
"../assets/images/paramsIcon.png"
/>
<span
slot=
"title"
>
参数配置
</span>
<span
slot=
"title"
>
参数配置
</span>
</el-menu-item>
</el-menu-item>
<el-menu-item
class=
"rootMenuItem"
v-if=
"authority.username === 'root'"
index=
"logManage"
>
<img
class=
"paramsImg"
src=
"../assets/images/paramsIcon.png"
/>
<span
slot=
"title"
>
日志管理
</span>
</el-menu-item>
</div>
</div>
</el-menu>
</el-menu>
</div>
</div>
...
...
src/components/overtimeDetail.vue
浏览文件 @
125a54c7
...
@@ -167,6 +167,7 @@
...
@@ -167,6 +167,7 @@
line-height
:
40px
;
line-height
:
40px
;
position
:
relative
;
position
:
relative
;
font-size
:
18px
;
font-size
:
18px
;
font-weight
:
bold
;
margin-left
:
0
!important
;
margin-left
:
0
!important
;
color
:
#19152c
;
color
:
#19152c
;
}
}
...
...
src/components/overtimeDialog.vue
浏览文件 @
125a54c7
...
@@ -278,6 +278,7 @@
...
@@ -278,6 +278,7 @@
line-height
:
40px
;
line-height
:
40px
;
position
:
relative
;
position
:
relative
;
font-size
:
14px
;
font-size
:
14px
;
font-weight
:
bold
;
margin-left
:
0
!important
;
margin-left
:
0
!important
;
}
}
...
...
src/components/passwordChange.vue
浏览文件 @
125a54c7
...
@@ -8,11 +8,14 @@
...
@@ -8,11 +8,14 @@
</div>
</div>
<div
class=
"passDiv"
>
<div
class=
"passDiv"
>
<el-form
:hide-required-asterisk=
"true"
:model=
"passwordForm"
:rules=
"rules"
ref=
"passwordForm"
label-width=
"100px"
class=
"demo-ruleForm"
>
<el-form
:hide-required-asterisk=
"true"
:model=
"passwordForm"
:rules=
"rules"
ref=
"passwordForm"
label-width=
"100px"
class=
"demo-ruleForm"
>
<el-form-item
label=
"原密码"
prop=
"old"
>
<el-input
v-model=
"passwordForm.old"
placeholder=
"请输入原密码"
></el-input>
</el-form-item>
<el-form-item
label=
"新密码"
prop=
"new"
>
<el-form-item
label=
"新密码"
prop=
"new"
>
<el-input
v-model=
"passwordForm.new"
placeholder=
"请输入新密码"
></el-input>
<el-input
v-model=
"passwordForm.new"
show-password
placeholder=
"请输入新密码"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"确认密码"
prop=
"confirm"
>
<el-form-item
label=
"确认密码"
prop=
"confirm"
>
<el-input
v-model=
"passwordForm.confirm"
placeholder=
"请输入确认密码"
></el-input>
<el-input
v-model=
"passwordForm.confirm"
show-password
placeholder=
"请输入确认密码"
></el-input>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
</div>
</div>
...
@@ -33,7 +36,9 @@
...
@@ -33,7 +36,9 @@
components
:
{},
components
:
{},
data
()
{
data
()
{
// let validateOld=(rule, value, callback)=>{
// let validateOld=(rule, value, callback)=>{
// if (value !== this.userDetail.password) {
// if (value === '') {
// callback(new Error('请输入原密码'));
// } else if (value !== this.userDetail.password) {
// callback(new Error('密码错误,请重新输入!'));
// callback(new Error('密码错误,请重新输入!'));
// } else{
// } else{
// callback();
// callback();
...
@@ -41,10 +46,12 @@
...
@@ -41,10 +46,12 @@
// };
// };
let
validateNew
=
(
rule
,
value
,
callback
)
=>
{
let
validateNew
=
(
rule
,
value
,
callback
)
=>
{
if
(
value
===
''
)
{
if
(
value
===
''
)
{
callback
(
new
Error
(
'请输入密码'
));
callback
(
new
Error
(
'请输入新密码'
));
}
else
if
(
value
===
this
.
passwordForm
.
old
){
}
callback
(
new
Error
(
'新密码不能和旧密码相同!'
));
// else if (value === this.passwordForm.old){
}
else
{
// callback(new Error('新密码不能和旧密码相同!'));
// }
else
{
if
(
this
.
passwordForm
.
confirm
!=
''
)
{
if
(
this
.
passwordForm
.
confirm
!=
''
)
{
this
.
$refs
.
passwordForm
.
validateField
(
'confirm'
);
this
.
$refs
.
passwordForm
.
validateField
(
'confirm'
);
}
}
...
@@ -53,9 +60,9 @@
...
@@ -53,9 +60,9 @@
};
};
let
validateConfirm
=
(
rule
,
value
,
callback
)
=>
{
let
validateConfirm
=
(
rule
,
value
,
callback
)
=>
{
if
(
value
===
""
)
{
if
(
value
===
""
)
{
callback
(
new
Error
(
"请
再次输入
密码"
));
callback
(
new
Error
(
"请
输入确认
密码"
));
}
else
if
(
value
!==
this
.
passwordForm
.
confirm
)
{
}
else
if
(
value
!==
this
.
passwordForm
.
new
)
{
callback
(
new
Error
(
"
两次输入
密码不一致!"
));
callback
(
new
Error
(
"
确认密码和新
密码不一致!"
));
}
else
{
}
else
{
callback
();
callback
();
}
}
...
@@ -74,8 +81,8 @@
...
@@ -74,8 +81,8 @@
// { required: true, message: '请输入新密码', trigger: 'blur' },
// { required: true, message: '请输入新密码', trigger: 'blur' },
],
],
old
:
[
old
:
[
// { validator: validateOld, trigger: 'blur' }
// { validator: validateOld, trigger: 'blur' }
,
{
required
:
true
,
message
:
'请输入
当前
密码'
,
trigger
:
'blur'
},
{
required
:
true
,
message
:
'请输入
原
密码'
,
trigger
:
'blur'
},
],
],
confirm
:
[
confirm
:
[
{
validator
:
validateConfirm
,
trigger
:
'blur'
}
{
validator
:
validateConfirm
,
trigger
:
'blur'
}
...
@@ -105,24 +112,25 @@
...
@@ -105,24 +112,25 @@
this
.
$refs
[
val
].
validate
((
valid
)
=>
{
this
.
$refs
[
val
].
validate
((
valid
)
=>
{
if
(
valid
)
{
if
(
valid
)
{
let
data
=
JSON
.
parse
(
this
.
$Base64
.
decode
(
localStorage
.
getItem
(
'login'
)));
let
data
=
JSON
.
parse
(
this
.
$Base64
.
decode
(
localStorage
.
getItem
(
'login'
)));
data
.
password
=
this
.
passwordForm
.
confirm
;
data
.
password
=
this
.
passwordForm
.
confirm
.
trim
();
this
.
$axios
.
putPassword
(
data
).
then
((
res
)
=>
{
let
old
=
this
.
passwordForm
.
old
.
trim
();
this
.
$axios
.
putPassword
(
old
,
data
).
then
((
res
)
=>
{
console
.
log
(
res
)
console
.
log
(
res
)
if
(
res
.
status
===
200
)
{
if
(
res
.
status
===
200
)
{
this
.
$message
({
//
this.$message({
message
:
'修改密码成功!'
,
//
message: '修改密码成功!',
type
:
'success'
//
type: 'success'
});
//
});
this
.
$emit
(
'close'
,
false
);
//
this.$emit('close', false);
let
that
=
this
;
//
let that = this;
setTimeout
(
function
()
{
//
setTimeout(function () {
that
.
$axios
.
getLogout
().
then
(
res
=>
{
// 登出
//
that.$axios.getLogout().then(res => { // 登出
if
(
res
.
data
.
code
===
200
)
{
//
if (res.data.code === 200) {
that
.
$router
.
push
({
name
:
'login'
});
//
that.$router.push({name: 'login'});
localStorage
.
clear
();
//
localStorage.clear();
}
//
}
})
//
})
},
500
)
//
}, 500)
}
}
})
})
}
else
{
}
else
{
...
@@ -178,7 +186,7 @@
...
@@ -178,7 +186,7 @@
.passDiv
{
.passDiv
{
width
:
50%
;
width
:
50%
;
margin
:
20
0px
auto
;
margin
:
15
0px
auto
;
}
}
.dialogBtns
{
.dialogBtns
{
...
@@ -209,6 +217,7 @@
...
@@ -209,6 +217,7 @@
line-height
:
40px
;
line-height
:
40px
;
position
:
relative
;
position
:
relative
;
font-size
:
14px
;
font-size
:
14px
;
font-weight
:
bold
;
margin-left
:
0
!important
;
margin-left
:
0
!important
;
}
}
</
style
>
</
style
>
src/components/personInfoDialog.vue
浏览文件 @
125a54c7
...
@@ -16,8 +16,8 @@
...
@@ -16,8 +16,8 @@
<img
v-show=
"listDetails.status === '1'"
class=
"statusImg"
src=
"../assets/images/statusNormal.png"
/>
<img
v-show=
"listDetails.status === '1'"
class=
"statusImg"
src=
"../assets/images/statusNormal.png"
/>
</div>
</div>
<div
class=
"nameDiv"
>
<div
class=
"nameDiv"
>
<div
class=
"nameStyle"
>
{{
listDetails
.
username
}}
</div>
<div
class=
"nameStyle"
>
<span
class=
"personSpan"
>
姓名
</span>
{{
listDetails
.
username
}}
</div>
<div
class=
"jobStyle"
>
{{
listDetails
.
jobs
}}
</div>
<div
class=
"jobStyle"
>
<span
class=
"personSpan"
>
岗位
</span>
{{
listDetails
.
jobs
}}
</div>
</div>
</div>
</div>
</div>
<div
class=
"elDiv"
>
<div
class=
"elDiv"
>
...
@@ -147,6 +147,7 @@
...
@@ -147,6 +147,7 @@
.detailTop
{
.detailTop
{
height
:
320px
;
height
:
320px
;
margin-top
:
50px
;
margin-top
:
50px
;
font-family
:
Alibaba
;
/*line-height: 320px;*/
/*line-height: 320px;*/
}
}
...
@@ -162,8 +163,8 @@
...
@@ -162,8 +163,8 @@
background-image
:
url("../assets/images/personPhoto.png")
;
background-image
:
url("../assets/images/personPhoto.png")
;
background-repeat
:
no-repeat
;
background-repeat
:
no-repeat
;
background-size
:
100%
100%
;
background-size
:
100%
100%
;
margin-right
:
1
6
0px
;
margin-right
:
1
4
0px
;
margin-left
:
-
18
0px
;
margin-left
:
-
2
0px
;
position
:
relative
;
position
:
relative
;
}
}
...
@@ -180,18 +181,35 @@
...
@@ -180,18 +181,35 @@
}
}
.nameDiv
{
.nameDiv
{
text-align
:
center
;
text-align
:
left
;
}
/*.nameStyle{*/
/*color: #5059D5;*/
/*font-size: 30px;*/
/*}*/
/*.jobStyle{*/
/*color: #19152C;*/
/*font-size: 20px;*/
/*margin-top: 30px;*/
/*}*/
.nameDiv
.personSpan
{
display
:
inline-block
;
margin-right
:
30px
;
font-size
:
30px
;
color
:
#19152c
;
}
}
.nameStyle
{
.nameStyle
{
color
:
#5059
D
5
;
color
:
#5059
d
5
;
font-size
:
30px
;
font-size
:
30px
;
}
}
.jobStyle
{
.jobStyle
{
color
:
#19152C
;
color
:
#5059d5
;
font-size
:
20px
;
margin-top
:
30px
;
margin-top
:
30px
;
font-size
:
30px
;
}
}
.elDiv
{
.elDiv
{
...
...
src/components/roleDialog.vue
浏览文件 @
125a54c7
...
@@ -280,6 +280,7 @@
...
@@ -280,6 +280,7 @@
line-height
:
40px
;
line-height
:
40px
;
position
:
relative
;
position
:
relative
;
font-size
:
14px
;
font-size
:
14px
;
font-weight
:
bold
;
margin-left
:
0
!important
;
margin-left
:
0
!important
;
}
}
...
...
src/router/index.js
浏览文件 @
125a54c7
...
@@ -173,6 +173,12 @@ const routes = [
...
@@ -173,6 +173,12 @@ const routes = [
name
:
'departmentManage'
,
name
:
'departmentManage'
,
meta
:
[
'root'
],
meta
:
[
'root'
],
component
:
()
=>
import
(
/* webpackChunkName: "home" */
'../views/root/DepartmentManage.vue'
)
component
:
()
=>
import
(
/* webpackChunkName: "home" */
'../views/root/DepartmentManage.vue'
)
},
{
path
:
'/logManage'
,
name
:
'logManage'
,
meta
:
[
'root'
],
component
:
()
=>
import
(
/* webpackChunkName: "home" */
'../views/root/LogManage.vue'
)
}
}
]
]
},
},
...
...
src/views/Feedback.vue
浏览文件 @
125a54c7
...
@@ -24,6 +24,7 @@
...
@@ -24,6 +24,7 @@
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
prop=
"des"
prop=
"des"
show-overflow-tooltip
label=
"反馈内容"
>
label=
"反馈内容"
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
...
@@ -130,4 +131,8 @@
...
@@ -130,4 +131,8 @@
border-radius
:
10px
;
border-radius
:
10px
;
background
:
#FFF
;
background
:
#FFF
;
}
}
/
deep
/
.el-tooltip__popper
{
padding
:
10px
10px
10px
20px
;
}
</
style
>
</
style
>
src/views/Login.vue
浏览文件 @
125a54c7
...
@@ -30,8 +30,8 @@
...
@@ -30,8 +30,8 @@
let
pwd
=
this
.
psd
;
let
pwd
=
this
.
psd
;
if
(
user
!==
''
&&
pwd
!==
''
)
{
if
(
user
!==
''
&&
pwd
!==
''
)
{
let
name
=
{
let
name
=
{
username
:
user
,
username
:
user
.
trim
()
,
password
:
pwd
password
:
pwd
.
trim
()
};
};
console
.
log
(
name
)
console
.
log
(
name
)
// if (name.username === '1') {
// if (name.username === '1') {
...
@@ -70,9 +70,10 @@
...
@@ -70,9 +70,10 @@
},
},
// 提示框
// 提示框
modal
(
msg
)
{
modal
(
msg
)
{
this
.
$alert
(
msg
,
'提示'
,
{
this
.
$message
.
error
(
msg
);
confirmButtonText
:
'确定'
// this.$alert(msg, '提示', {
});
// confirmButtonText: '确定',
// });
// this.$Modal.warning({
// this.$Modal.warning({
// title: '提示',
// title: '提示',
// content: '
<
p
>
' + msg + '
<
/p>
'
// content: '
<
p
>
' + msg + '
<
/p>
'
...
...
src/views/person/PersonDetails.vue
浏览文件 @
125a54c7
...
@@ -45,8 +45,8 @@
...
@@ -45,8 +45,8 @@
</el-col>
</el-col>
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<div
class=
"nameDiv"
>
<div
class=
"nameDiv"
>
<div
class=
"nameStyle
"
>
{{
userForm
.
username
}}
</div>
<div
class=
"nameStyle
ptp100"
><span
class=
"personSpan"
>
姓名
</span
>
{{
userForm
.
username
}}
</div>
<div
class=
"
jobStyle"
>
{{
userForm
.
jobs
}}
</div>
<div
class=
"
nameStyle jobStyle"
><span
class=
"personSpan"
>
岗位
</span
>
{{
userForm
.
jobs
}}
</div>
</div>
</div>
<el-form-item
class=
"first"
prop=
"email"
label=
"邮箱"
>
<el-form-item
class=
"first"
prop=
"email"
label=
"邮箱"
>
<el-input
v-model=
"userForm.email"
></el-input>
<el-input
v-model=
"userForm.email"
></el-input>
...
@@ -188,14 +188,18 @@
...
@@ -188,14 +188,18 @@
console
.
log
(
val
)
console
.
log
(
val
)
let
name
=
''
;
let
name
=
''
;
console
.
log
(
this
.
deOptions
)
console
.
log
(
this
.
deOptions
)
for
(
let
i
=
0
;
i
<
this
.
deOptions
.
length
;
i
++
)
{
if
(
this
.
deOptions
.
length
>
0
)
{
for
(
let
j
=
0
;
j
<
val
.
length
;
j
++
)
{
for
(
let
i
=
0
;
i
<
this
.
deOptions
.
length
;
i
++
)
{
if
(
this
.
deOptions
[
i
].
id
===
val
[
j
])
{
for
(
let
j
=
0
;
j
<
val
.
length
;
j
++
)
{
name
=
name
+
this
.
deOptions
[
i
].
name
+
'、'
;
if
(
this
.
deOptions
[
i
].
id
===
val
[
j
])
{
name
=
name
+
this
.
deOptions
[
i
].
name
+
'、'
;
}
}
}
}
}
name
=
name
.
substring
(
0
,
name
.
length
-
1
);
}
else
{
name
=
'无'
;
}
}
name
=
name
.
substring
(
0
,
name
.
length
-
1
);
console
.
log
(
name
);
console
.
log
(
name
);
return
name
;
return
name
;
},
},
...
@@ -362,15 +366,23 @@
...
@@ -362,15 +366,23 @@
height
:
242px
;
height
:
242px
;
}
}
.nameDiv
.personSpan
{
display
:
inline-block
;
margin-right
:
30px
;
font-size
:
30px
;
color
:
#19152c
;
}
.nameStyle
{
.nameStyle
{
color
:
#5059
D
5
;
color
:
#5059
d
5
;
font-size
:
30px
;
font-size
:
30px
;
padding-top
:
100px
;
}
}
.ptp100
{
padding-top
:
100px
;
}
.jobStyle
{
.jobStyle
{
color
:
#19152C
;
color
:
#5059d5
;
font-size
:
20px
;
margin-top
:
30px
;
margin-top
:
30px
;
}
}
...
@@ -379,7 +391,7 @@
...
@@ -379,7 +391,7 @@
vertical-align
:
middle
;
vertical-align
:
middle
;
float
:
none
;
float
:
none
;
font-size
:
18px
;
font-size
:
18px
;
color
:
#
606266
;
color
:
#
787682
;
line-height
:
40px
;
line-height
:
40px
;
padding
:
0
12px
0
0
;
padding
:
0
12px
0
0
;
-webkit-box-sizing
:
border-box
;
-webkit-box-sizing
:
border-box
;
...
@@ -391,6 +403,8 @@
...
@@ -391,6 +403,8 @@
position
:
relative
;
position
:
relative
;
font-size
:
14px
;
font-size
:
14px
;
margin-left
:
0
!important
;
margin-left
:
0
!important
;
color
:
#19152c
;
font-weight
:
bold
;
}
}
.formDiv
{
.formDiv
{
...
@@ -411,7 +425,8 @@
...
@@ -411,7 +425,8 @@
border
:
1px
solid
#DCDFE6
;
border
:
1px
solid
#DCDFE6
;
-webkit-box-sizing
:
border-box
;
-webkit-box-sizing
:
border-box
;
box-sizing
:
border-box
;
box-sizing
:
border-box
;
color
:
#606266
;
color
:
#19152c
;
font-weight
:
bold
;
display
:
inline-block
;
display
:
inline-block
;
font-size
:
18px
;
font-size
:
18px
;
height
:
40px
;
height
:
40px
;
...
...
src/views/root/AuthorityManage.vue
浏览文件 @
125a54c7
...
@@ -232,6 +232,7 @@
...
@@ -232,6 +232,7 @@
line-height
:
40px
;
line-height
:
40px
;
position
:
relative
;
position
:
relative
;
font-size
:
18px
;
font-size
:
18px
;
font-weight
:
bold
;
margin-left
:
0
!important
;
margin-left
:
0
!important
;
}
}
...
...
src/views/root/ConsumerManage.vue
浏览文件 @
125a54c7
...
@@ -66,7 +66,10 @@
...
@@ -66,7 +66,10 @@
align=
"center"
>
align=
"center"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<el-button
@
click=
"openDetails(scope.row)"
type=
"text"
size=
"small"
>
编辑
<i
class=
"el-icon-edit-outline"
></i></el-button>
<el-button
@
click=
"openDetails(scope.row)"
type=
"text"
size=
"small"
>
编辑
<i
class=
"el-icon-edit-outline"
></i></el-button>
<el-button
style=
"background: #EE4B4C"
@
click=
"deleteUSer(scope.row)"
type=
"text"
size=
"small"
>
删除
<i
class=
"el-icon-delete"
></i></el-button>
<el-popconfirm
title=
"确定删除吗?"
@
onConfirm=
"deleteUSer(scope.row)"
>
<el-button
slot=
"reference"
style=
"background: #EE4B4C"
type=
"text"
size=
"small"
>
删除
<i
class=
"el-icon-delete"
></i></el-button>
</el-popconfirm>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
...
@@ -113,6 +116,7 @@
...
@@ -113,6 +116,7 @@
console
.
log
(
this
.
searchHuman
)
console
.
log
(
this
.
searchHuman
)
},
},
deleteUSer
(
val
)
{
deleteUSer
(
val
)
{
console
.
log
(
val
)
this
.
$axios
.
deleteUsers
(
val
.
id
).
then
((
res
)
=>
{
this
.
$axios
.
deleteUsers
(
val
.
id
).
then
((
res
)
=>
{
console
.
log
(
res
);
console
.
log
(
res
);
if
(
res
.
request
.
status
===
200
)
{
if
(
res
.
request
.
status
===
200
)
{
...
@@ -160,27 +164,30 @@
...
@@ -160,27 +164,30 @@
openDetails
(
val
)
{
openDetails
(
val
)
{
console
.
log
(
val
)
console
.
log
(
val
)
this
.
doName
=
'修改用户'
;
this
.
doName
=
'修改用户'
;
let
data
=
JSON
.
parse
(
JSON
.
stringify
(
val
));
this
.
editConsumer
=
data
;
this
.
showConsumerDialog
=
true
;
this
.
showConsumerDialog
=
true
;
this
.
editConsumer
=
val
;
// localStorage.setItem('adminUser', this.$Base64.encode(JSON.stringify(val)));
// localStorage.setItem('adminUser', this.$Base64.encode(JSON.stringify(val)));
// this.$router.push({name: 'consumerDetails'});
// this.$router.push({name: 'consumerDetails'});
},
},
findDeparts
(
val
)
{
findDeparts
(
val
)
{
// console.log(val)
// console.log(val)
// console.log(this.departList)
// console.log(this.departList)
let
name
let
name
=
''
;
for
(
let
i
=
0
;
i
<
this
.
departList
.
length
;
i
++
)
{
if
(
val
!==
null
&&
val
!==
undefined
)
{
for
(
let
j
=
0
;
j
<
val
.
length
;
j
++
)
{
for
(
let
i
=
0
;
i
<
this
.
departList
.
length
;
i
++
)
{
if
(
val
[
j
]
===
this
.
departList
[
i
].
id
)
{
for
(
let
j
=
0
;
j
<
val
.
length
;
j
++
)
{
name
=
this
.
departList
[
i
].
name
if
(
val
[
j
]
===
this
.
departList
[
i
].
id
)
{
name
=
this
.
departList
[
i
].
name
}
}
}
}
}
}
}
return
name
;
// let ret1 = this.departList.find((value, index, arr) => {
// let ret1 = this.departList.find((value, index, arr) => {
// return value.id === val;
// return value.id === val;
// })
// })
// console.log(ret1)
// console.log(ret1)
return
name
},
},
getAllDepartmentList
()
{
getAllDepartmentList
()
{
this
.
$axios
.
getAllDepartment
().
then
((
res
)
=>
{
this
.
$axios
.
getAllDepartment
().
then
((
res
)
=>
{
...
...
src/views/root/DepartmentManage.vue
浏览文件 @
125a54c7
...
@@ -101,7 +101,7 @@
...
@@ -101,7 +101,7 @@
<!--
</el-col>
-->
<!--
</el-col>
-->
<!--
</el-row>
-->
<!--
</el-row>
-->
<!--
</div>
-->
<!--
</div>
-->
<add-dialog
:showDepartmentDialog=
"showDepartmentDialog"
:curr
r
entId=
"currentDepartment.id"
@
close=
"closeDialog"
></add-dialog>
<add-dialog
:showDepartmentDialog=
"showDepartmentDialog"
:currentId=
"currentDepartment.id"
@
close=
"closeDialog"
></add-dialog>
</div>
</div>
</
template
>
</
template
>
...
@@ -158,6 +158,7 @@
...
@@ -158,6 +158,7 @@
methods
:
{
methods
:
{
openDialog
()
{
openDialog
()
{
this
.
showDepartmentDialog
=
true
;
this
.
showDepartmentDialog
=
true
;
this
.
currentDepartment
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
companyData
))
},
},
closeDialog
()
{
closeDialog
()
{
this
.
showDepartmentDialog
=
false
;
this
.
showDepartmentDialog
=
false
;
...
@@ -364,6 +365,7 @@
...
@@ -364,6 +365,7 @@
line-height
:
40px
;
line-height
:
40px
;
position
:
relative
;
position
:
relative
;
font-size
:
14px
;
font-size
:
14px
;
font-weight
:
bold
;
margin-left
:
0
!important
;
margin-left
:
0
!important
;
}
}
...
...
src/views/root/LogManage.vue
0 → 100644
浏览文件 @
125a54c7
<!-- 日志管理 -->
<
template
>
<div
class=
'logManage'
>
<div
class=
"logHeader"
>
<el-date-picker
v-model=
"time"
type=
"datetimerange"
range-separator=
"至"
start-placeholder=
"开始时间"
:editable=
"false"
:clearable=
"false"
value-format=
"yyyy-MM-dd HH:mm:ss"
:default-time=
"['00:00:00', '23:59:59']"
@
change=
"timeChange"
end-placeholder=
"结束时间"
>
</el-date-picker>
</div>
<div>
<el-table
v-loading=
"loading"
:data=
"logList"
style=
"width: 100%"
>
<el-table-column
prop=
"userName"
align=
"center"
label=
"姓名"
>
</el-table-column>
<el-table-column
prop=
"logTime"
align=
"center"
label=
"时间"
>
</el-table-column>
<el-table-column
prop=
"description"
align=
"center"
show-overflow-tooltip
label=
"操作"
>
</el-table-column>
</el-table>
</div>
<div
class=
"pageClass"
>
<el-pagination
hide-on-single-page
background
@
size-change=
"handleSizeChange"
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"currentPage"
:page-size=
"pageSize"
layout=
"prev, pager, next, jumper"
:total=
"total"
>
</el-pagination>
</div>
</div>
</
template
>
<
script
>
//这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等)
//例如:import 《组件名称》 from '《组件路径》';
export
default
{
name
:
"logManage"
,
//import引入的组件需要注入到对象中才能使用
components
:
{},
data
()
{
//这里存放数据
return
{
loading
:
false
,
time
:
''
,
logList
:
[],
currentPage
:
1
,
pageSize
:
10
,
total
:
0
};
},
//监听属性 类似于data概念
computed
:
{},
//监控data中的数据变化
watch
:
{},
//方法集合
methods
:
{
getLog
()
{
let
start
=
''
;
let
end
=
''
;
if
(
this
.
time
[
0
]
!==
undefined
)
{
start
=
this
.
time
[
0
];
}
else
{
start
=
null
;
}
if
(
this
.
time
[
1
]
!==
undefined
)
{
end
=
this
.
time
[
1
];
}
else
{
end
=
null
;
}
let
obj
=
{
currentPage
:
this
.
currentPage
,
startTime
:
start
,
endTime
:
end
,
pageSize
:
10
,
totalCount
:
null
}
console
.
log
(
obj
)
this
.
$axios
.
postLogData
(
obj
).
then
((
res
)
=>
{
console
.
log
(
res
)
this
.
loading
=
false
;
this
.
logList
=
res
.
data
.
rows
;
this
.
total
=
res
.
data
.
totalCount
;
})
},
timeChange
(
val
)
{
console
.
log
(
val
)
this
.
currentPage
=
1
;
this
.
time
=
val
;
this
.
getLog
();
},
handleSizeChange
(
val
)
{
console
.
log
(
`每页
${
val
}
条`
);
},
handleCurrentChange
(
val
)
{
this
.
currentPage
=
val
;
this
.
getLog
();
// console.log(`当前页: ${val}`);
},
},
//生命周期 - 创建完成(可以访问当前this实例)
created
()
{
},
//生命周期 - 挂载完成(可以访问DOM元素)
mounted
()
{
let
data
=
this
.
$common
.
timeYMDFilter
(
new
Date
());
this
.
time
=
[
data
+
' '
+
'00:00:00'
,
data
+
' '
+
'23:59:59'
];
let
that
=
this
;
setTimeout
(
function
()
{
that
.
getLog
();
},
100
)
},
beforeCreate
()
{
},
//生命周期 - 创建之前
beforeMount
()
{
},
//生命周期 - 挂载之前
beforeUpdate
()
{
},
//生命周期 - 更新之前
updated
()
{
},
//生命周期 - 更新之后
beforeDestroy
()
{
},
//生命周期 - 销毁之前
destroyed
()
{
},
//生命周期 - 销毁完成
activated
()
{
},
//如果页面有keep-alive缓存功能,这个函数会触发
}
</
script
>
<
style
scoped
>
.logManage
{
}
.logHeader
{
margin
:
15px
0px
;
}
/
deep
/
.el-date-editor
.el-range__icon
{
font-size
:
14px
;
margin-left
:
-5px
;
color
:
#C0C4CC
;
float
:
left
;
line-height
:
32px
;
margin-bottom
:
0px
;
}
/
deep
/
.el-date-editor
.el-range-separator
{
padding
:
0
5px
;
line-height
:
32px
;
width
:
5%
;
color
:
#303133
;
margin-bottom
:
1px
;
}
/
deep
/
.el-date-editor
.el-range__close-icon
{
font-size
:
14px
;
color
:
#C0C4CC
;
width
:
25px
;
display
:
inline-block
;
float
:
right
;
line-height
:
30px
;
}
.pageClass
{
text-align
:
center
;
position
:
fixed
;
bottom
:
25px
;
left
:
0
;
right
:
0
;
width
:
500px
;
margin-left
:
44%
;
}
</
style
>
src/views/root/ParamsSetting.vue
浏览文件 @
125a54c7
...
@@ -528,6 +528,7 @@
...
@@ -528,6 +528,7 @@
line-height
:
40px
;
line-height
:
40px
;
position
:
relative
;
position
:
relative
;
font-size
:
14px
;
font-size
:
14px
;
font-weight
:
bold
;
margin-left
:
0
!important
;
margin-left
:
0
!important
;
color
:
#5059D5
;
color
:
#5059D5
;
}
}
...
...
src/views/task/AddTask.vue
浏览文件 @
125a54c7
...
@@ -3,18 +3,56 @@
...
@@ -3,18 +3,56 @@
<div
class=
'addTask'
>
<div
class=
'addTask'
>
<div
class=
"addHeader"
>
<div
class=
"addHeader"
>
<ul>
<ul>
<li>
发布者:
{{
announcer
}}
</li>
<li
style=
"font-weight: bold;"
>
发布者:
{{
announcer
}}
</li>
<li
class=
"addRightBtn"
>
<li
class=
"addRightBtn"
>
<el-button
type=
"primary"
@
click=
"submitForm('taskForm','unpublished')"
><span><img
class=
"addImgs"
src=
"../../assets/images/saveIcon.png"
/></span>
保存
</el-button>
<!--
<div
>
-->
<el-button
style=
"margin-left: 50px;"
type=
"primary"
@
click=
"submitForm('taskForm', 'ongoing')"
><span><img
class=
"addImgs"
src=
"../../assets/images/pushIcon.png"
/></span>
发布
</el-button>
<el-button
type=
"primary"
@
click=
"submitForm('taskForm','unpublished')"
><span><img
class=
"addImgs"
src=
"../../assets/images/saveIcon.png"
/></span>
保存
</el-button>
<el-button
style=
"margin-left: 50px;"
type=
"primary"
@
click=
"submitForm('taskForm', 'ongoing')"
><span><img
class=
"addImgs"
src=
"../../assets/images/pushIcon.png"
/></span>
发布
</el-button>
<!--
</div>
-->
</li>
</li>
</ul>
</ul>
</div>
</div>
<!--
<div
class=
"addRightBtn"
>
-->
<!--
<el-button
type=
"primary"
@
click=
"submitForm('taskForm','unpublished')"
><span><img
class=
"addImgs"
src=
"../../assets/images/saveIcon.png"
/></span>
保存
</el-button>
-->
<!--
<el-button
style=
"margin-left: 50px;"
type=
"primary"
@
click=
"submitForm('taskForm', 'ongoing')"
><span><img
class=
"addImgs"
src=
"../../assets/images/pushIcon.png"
/></span>
发布
</el-button>
-->
<!--
</div>
-->
<div>
<div>
<el-form
:model=
"taskForm"
:rules=
"rules"
ref=
"taskForm"
label-width=
"130px"
class=
"demo-ruleForm"
>
<el-form
:model=
"taskForm"
:rules=
"rules"
ref=
"taskForm"
label-width=
"130px"
class=
"demo-ruleForm"
>
<div
style=
"margin-bottom: 20px;
"
>
<div
class=
"addTips
"
>
<img
src=
"../../assets/images/tipMust.png"
/>
为必填项
<img
src=
"../../assets/images/tipMust.png"
/>
为必填项
</div>
</div>
<div
class=
"showMainTaskDetail"
v-show=
"saveStoreTaskDetailValue !== '' && saveStoreTaskDetailValue !== undefined"
>
<el-form-item
label=
"主任务名称"
>
<!--
<div
style=
"cursor: pointer;"
>
-->
<el-tooltip
placement=
"bottom"
effect=
"light"
>
<div
slot=
"content"
>
<ul
class=
"mainTaskTip"
>
<li><span
class=
"tipSpan"
>
主任务名称:
</span>
{{
saveStoreTaskDetailValue
.
title
}}
</li>
<li><span
class=
"tipSpan"
>
任务开始时间:
</span>
{{
saveStoreTaskDetailValue
.
stateTime
}}
</li>
<li><span
class=
"tipSpan"
>
预计完成时间:
</span>
{{
saveStoreTaskDetailValue
.
completeTime
}}
</li>
<li><span
class=
"tipSpan"
>
总任务量:
</span>
{{
saveStoreTaskDetailValue
.
workloadCount
}}
</li>
</ul>
</div>
<span
style=
"cursor:pointer;border-bottom: 1px solid #5059d5"
>
{{
saveStoreTaskDetailValue
.
title
}}
</span>
</el-tooltip>
<!--
</div>
-->
</el-form-item>
<!--
<el-popover-->
<!--placement="bottom"-->
<!--width="400"-->
<!--trigger="click">-->
<!--
<div>
-->
<!--
<ul>
-->
<!--
<li>
主任务名称:
{{
saveStoreTaskDetailValue
.
title
}}
</li>
-->
<!--
<li>
任务开始时间:
{{
saveStoreTaskDetailValue
.
stateTime
}}
</li>
-->
<!--
<li>
预计完成时间:
{{
saveStoreTaskDetailValue
.
completeTime
}}
</li>
-->
<!--
<li>
总任务量:
{{
saveStoreTaskDetailValue
.
workloadCount
}}
</li>
-->
<!--
</ul>
-->
<!--
</div>
-->
<!--
<el-button>
主任务名称:
</el-button>
-->
<!--
</el-popover>
-->
</div>
<el-row
:gutter=
"30"
>
<el-row
:gutter=
"30"
>
<el-col
:span=
"8"
>
<el-col
:span=
"8"
>
<el-form-item
label=
"任务名称"
prop=
"title"
>
<el-form-item
label=
"任务名称"
prop=
"title"
>
...
@@ -30,7 +68,7 @@
...
@@ -30,7 +68,7 @@
<el-option
<el-option
v-for=
"item in leaderOptions"
v-for=
"item in leaderOptions"
:key=
"item.id"
:key=
"item.id"
:label=
"item.username"
:label=
"item.username
+ '(' + $common.personStatusName(item.status) + ')'
"
:value=
"item.id"
>
:value=
"item.id"
>
<span
style=
"display: inline-block;width: 70px;"
>
{{
item
.
username
}}
</span>
<span
style=
"display: inline-block;width: 70px;"
>
{{
item
.
username
}}
</span>
<span
:style=
"
{color: $common.colorNum(item.status)}">(
{{
$common
.
personStatusName
(
item
.
status
)
}}
)
</span>
<span
:style=
"
{color: $common.colorNum(item.status)}">(
{{
$common
.
personStatusName
(
item
.
status
)
}}
)
</span>
...
@@ -43,7 +81,7 @@
...
@@ -43,7 +81,7 @@
</el-col>
</el-col>
<el-col
:span=
"8"
>
<el-col
:span=
"8"
>
<el-form-item
label=
"任务开始时间"
prop=
"stateTime"
>
<el-form-item
label=
"任务开始时间"
prop=
"stateTime"
>
<el-date-picker
:clearable=
"false"
:editable=
"false"
value-format=
"yyyy-MM-dd HH:mm:ss"
type=
"datetime"
placeholder=
"选择日期"
v-model=
"taskForm.stateTime"
style=
"width: 100%;"
></el-date-picker>
<el-date-picker
:clearable=
"false"
:editable=
"false"
value-format=
"yyyy-MM-dd HH:mm:ss"
type=
"datetime"
placeholder=
"选择日期"
v-model=
"taskForm.stateTime"
style=
"width: 100%;"
></el-date-picker>
</el-form-item>
</el-form-item>
<el-form-item
label=
"任务量(天)"
prop=
"workload"
>
<el-form-item
label=
"任务量(天)"
prop=
"workload"
>
<el-input
onkeyup=
"this.value=this.value.replace(/[^\d.]/g,'')"
v-model=
"taskForm.workload"
></el-input>
<el-input
onkeyup=
"this.value=this.value.replace(/[^\d.]/g,'')"
v-model=
"taskForm.workload"
></el-input>
...
@@ -53,8 +91,8 @@
...
@@ -53,8 +91,8 @@
<el-form-item
label=
"预计完成时间"
prop=
"completeTime"
>
<el-form-item
label=
"预计完成时间"
prop=
"completeTime"
>
<el-date-picker
:clearable=
"false"
:picker-options=
"pickerOptionsComplete"
:editable=
"false"
default-time=
"09:00:00"
value-format=
"yyyy-MM-dd HH:mm:ss"
type=
"datetime"
placeholder=
"选择日期"
v-model=
"taskForm.completeTime"
style=
"width: 100%;"
></el-date-picker>
<el-date-picker
:clearable=
"false"
:picker-options=
"pickerOptionsComplete"
:editable=
"false"
default-time=
"09:00:00"
value-format=
"yyyy-MM-dd HH:mm:ss"
type=
"datetime"
placeholder=
"选择日期"
v-model=
"taskForm.completeTime"
style=
"width: 100%;"
></el-date-picker>
</el-form-item>
</el-form-item>
<el-form-item
label=
"审核者"
prop=
"review
"
>
<el-form-item
v-if=
"showAuditName === false"
label=
"审核者"
prop=
"audit
"
>
<el-select
v-if=
"showAuditName === false"
style=
"width: 100%;"
v-model=
"taskForm.audit"
placeholder=
"请选择审核者"
>
<el-select
style=
"width: 100%;"
v-model=
"taskForm.audit"
placeholder=
"请选择审核者"
>
<el-option
<el-option
v-for=
"item in auditOptions"
v-for=
"item in auditOptions"
:key=
"item.id"
:key=
"item.id"
...
@@ -66,6 +104,9 @@
...
@@ -66,6 +104,9 @@
</el-select>
</el-select>
<span
v-if=
"showAuditName === true"
>
{{
userLoginData
.
username
}}
</span>
<span
v-if=
"showAuditName === true"
>
{{
userLoginData
.
username
}}
</span>
</el-form-item>
</el-form-item>
<el-form-item
v-if=
"showAuditName === true"
label=
"审核者"
>
<span>
{{
userLoginData
.
username
}}
</span>
</el-form-item>
</el-col>
</el-col>
</el-row>
</el-row>
<div>
<div>
...
@@ -283,13 +324,47 @@
...
@@ -283,13 +324,47 @@
this
.
taskForm
.
workload
=
count
;
this
.
taskForm
.
workload
=
count
;
}
}
},
},
'taskForm.stateTime'
:
function
(
val
)
{
console
.
log
(
val
)
let
count
;
if
(
val
!==
''
&&
val
!==
null
&&
this
.
taskForm
.
completeTime
!==
''
&&
this
.
taskForm
.
stateTime
!==
null
)
{
let
a1
=
Date
.
parse
(
val
);
let
a2
=
Date
.
parse
(
this
.
taskForm
.
completeTime
);
console
.
log
(
a1
,
a2
)
console
.
log
(
a2
-
a1
);
count
=
Math
.
ceil
((
a2
-
a1
)
/
(
1000
*
60
*
60
*
24
))
+
1
;
//核心:时间戳相减,然后除以天数
console
.
log
(
count
)
if
(
this
.
taskForm
.
executor
!==
''
)
{
if
(
this
.
taskForm
.
crewList
.
length
>
0
)
{
console
.
log
(
this
.
taskForm
.
executor
,
this
.
taskForm
.
crewList
)
let
crew
=
[...
this
.
taskForm
.
crewList
];
let
index
=
crew
.
indexOf
(
this
.
taskForm
.
executor
);
console
.
log
(
index
)
if
(
index
>
-
1
)
{
crew
.
splice
(
index
,
1
);
}
console
.
log
(
crew
.
length
)
count
=
(
1
+
crew
.
length
)
*
count
;
console
.
log
(
count
)
}
}
this
.
taskForm
.
workload
=
count
;
}
},
'taskForm.crewList'
:
function
(
val
)
{
'taskForm.crewList'
:
function
(
val
)
{
console
.
log
(
val
)
console
.
log
(
val
)
if
(
this
.
taskForm
.
completeTime
!==
''
&&
this
.
taskForm
.
completeTime
!==
null
)
{
if
(
this
.
taskForm
.
completeTime
!==
''
&&
this
.
taskForm
.
completeTime
!==
null
)
{
let
count
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
taskForm
.
workload
));
// let count = JSON.parse(JSON.stringify(this.taskForm.workload));
let
a1
=
Date
.
parse
(
this
.
taskForm
.
stateTime
);
let
a2
=
Date
.
parse
(
this
.
taskForm
.
completeTime
);
console
.
log
(
a1
,
a2
)
console
.
log
(
a2
-
a1
);
let
count
=
Math
.
ceil
((
a2
-
a1
)
/
(
1000
*
60
*
60
*
24
))
+
1
;
//核心:时间戳相减,然后除以天数
console
.
log
(
count
)
if
(
this
.
taskForm
.
executor
!==
''
)
{
if
(
this
.
taskForm
.
executor
!==
''
)
{
if
(
val
.
length
>
0
)
{
if
(
val
.
length
>
0
)
{
let
crew
=
[...
val
];
let
crew
=
[...
val
];
console
.
log
(
crew
)
let
index
=
crew
.
indexOf
(
this
.
taskForm
.
executor
);
let
index
=
crew
.
indexOf
(
this
.
taskForm
.
executor
);
console
.
log
(
index
)
console
.
log
(
index
)
if
(
index
>
-
1
)
{
if
(
index
>
-
1
)
{
...
@@ -331,6 +406,7 @@
...
@@ -331,6 +406,7 @@
if
(
res
.
request
.
status
===
200
)
{
if
(
res
.
request
.
status
===
200
)
{
this
.
showAuditName
=
false
;
this
.
showAuditName
=
false
;
if
(
JSON
.
stringify
(
this
.
$store
.
getters
.
getSuperior
.
superior
)
!==
'{}'
&&
JSON
.
stringify
(
this
.
$store
.
getters
.
getSuperior
.
superior
)
!==
undefined
)
{
if
(
JSON
.
stringify
(
this
.
$store
.
getters
.
getSuperior
.
superior
)
!==
'{}'
&&
JSON
.
stringify
(
this
.
$store
.
getters
.
getSuperior
.
superior
)
!==
undefined
)
{
console
.
log
(
this
.
$store
.
getters
.
getSuperior
.
superior
)
this
.
saveStoreTaskDetailValue
=
this
.
$store
.
getters
.
getSuperior
.
superior
;
this
.
saveStoreTaskDetailValue
=
this
.
$store
.
getters
.
getSuperior
.
superior
;
this
.
taskForm
.
title
=
this
.
$store
.
getters
.
getSuperior
.
superior
.
title
;
this
.
taskForm
.
title
=
this
.
$store
.
getters
.
getSuperior
.
superior
.
title
;
this
.
showAuditName
=
true
;
this
.
showAuditName
=
true
;
...
@@ -503,6 +579,23 @@
...
@@ -503,6 +579,23 @@
this
.
$store
.
commit
(
'changeSuperior'
,
{
this
.
$store
.
commit
(
'changeSuperior'
,
{
superior
:
{}
superior
:
{}
})
})
let
obj
=
{};
if
(
JSON
.
stringify
(
this
.
$store
.
getters
.
getSuperior
.
superior
)
!==
'{}'
&&
JSON
.
stringify
(
this
.
$store
.
getters
.
getSuperior
.
superior
)
!==
undefined
)
{
obj
=
{
active
:
'three'
,
page
:
1
,
url
:
'addTask'
}
}
else
{
obj
=
{
active
:
'four'
,
page
:
1
,
url
:
'addTask'
}
}
this
.
$store
.
commit
(
'changeSaveView'
,
{
saveView
:
obj
})
let
tip
;
let
tip
;
if
(
sta
===
'ongoing'
)
{
if
(
sta
===
'ongoing'
)
{
tip
=
'发布任务'
;
tip
=
'发布任务'
;
...
@@ -619,7 +712,7 @@
...
@@ -619,7 +712,7 @@
},
},
//生命周期 - 挂载完成(可以访问DOM元素)
//生命周期 - 挂载完成(可以访问DOM元素)
mounted
()
{
mounted
()
{
this
.
taskForm
.
stateTime
=
this
.
$common
.
timeYMD
HMSFilter
(
new
Date
())
;
this
.
taskForm
.
stateTime
=
this
.
$common
.
timeYMD
Filter
(
new
Date
())
+
' '
+
'09:00:00'
;
console
.
log
(
this
.
$store
.
getters
.
getLoginData
.
loginData
)
console
.
log
(
this
.
$store
.
getters
.
getLoginData
.
loginData
)
if
(
this
.
$store
.
getters
.
getLoginData
.
loginData
!==
undefined
)
{
if
(
this
.
$store
.
getters
.
getLoginData
.
loginData
!==
undefined
)
{
this
.
userLoginData
=
this
.
$store
.
getters
.
getLoginData
.
loginData
;
this
.
userLoginData
=
this
.
$store
.
getters
.
getLoginData
.
loginData
;
...
@@ -663,13 +756,17 @@
...
@@ -663,13 +756,17 @@
}
}
.addRightBtn
{
.addRightBtn
{
/*width: 76%;*/
position
:
fixed
;
position
:
fixed
;
/*bottom: 25px;*/
right
:
80px
;
right
:
80px
;
z-index
:
1000
;
z-index
:
1000
;
/*margin: 0 auto;*/
/*text-align: center;*/
}
}
.addHeader
{
.addHeader
{
line-height
:
6
0px
;
line-height
:
4
0px
;
border-bottom
:
1px
solid
#5059D5
;
border-bottom
:
1px
solid
#5059D5
;
margin-bottom
:
20px
;
margin-bottom
:
20px
;
}
}
...
@@ -711,6 +808,7 @@
...
@@ -711,6 +808,7 @@
line-height
:
40px
;
line-height
:
40px
;
position
:
relative
;
position
:
relative
;
font-size
:
18px
;
font-size
:
18px
;
/*font-weight: bold;*/
margin-left
:
0
!important
;
margin-left
:
0
!important
;
}
}
...
@@ -833,4 +931,21 @@
...
@@ -833,4 +931,21 @@
vertical-align
:
middle
;
vertical-align
:
middle
;
margin-right
:
5px
;
margin-right
:
5px
;
}
}
.mainTaskTip
li
{
line-height
:
40px
;
font-size
:
18px
;
color
:
#19152c
;
}
.mainTaskTip
.tipSpan
{
display
:
inline-block
;
width
:
130px
;
}
.addTips
{
margin-bottom
:
20px
;
color
:
#F6302E
;
font-size
:
18px
;
}
</
style
>
</
style
>
src/views/task/TaskDetails.vue
浏览文件 @
125a54c7
差异被折叠。
点击展开。
src/views/task/UnpublishedTask.vue
浏览文件 @
125a54c7
...
@@ -451,6 +451,14 @@
...
@@ -451,6 +451,14 @@
message
:
'发布任务成功!'
,
message
:
'发布任务成功!'
,
type
:
'success'
type
:
'success'
});
});
obj
=
{
active
:
'four'
,
page
:
1
,
url
:
'unpublishedTask'
};
this
.
$store
.
commit
(
'changeSaveView'
,
{
saveView
:
obj
})
this
.
$refs
[
formName
].
resetFields
();
this
.
$refs
[
formName
].
resetFields
();
this
.
$router
.
push
({
name
:
'viewTask'
});
this
.
$router
.
push
({
name
:
'viewTask'
});
}
}
...
@@ -675,6 +683,7 @@
...
@@ -675,6 +683,7 @@
line-height
:
40px
;
line-height
:
40px
;
position
:
relative
;
position
:
relative
;
font-size
:
18px
;
font-size
:
18px
;
font-weight
:
bold
;
margin-left
:
0
!important
;
margin-left
:
0
!important
;
}
}
...
...
src/views/task/ViewTask.vue
浏览文件 @
125a54c7
...
@@ -12,7 +12,7 @@
...
@@ -12,7 +12,7 @@
<view-task-table
:tableList=
"dataList"
@
trData=
"taskDetails"
></view-task-table>
<view-task-table
:tableList=
"dataList"
@
trData=
"taskDetails"
></view-task-table>
</div>
</div>
</el-tab-pane>
</el-tab-pane>
<el-tab-pane
name=
"four"
>
<el-tab-pane
name=
"four"
v-if=
"userDetail.roles !== undefined && userDetail.roles.length > 0 && userDetail.roles[0].authorities.findIndex(item => item.name === '发布任务') > -1"
>
<span
slot=
"label"
class=
"tabMargin"
>
<span
slot=
"label"
class=
"tabMargin"
>
<!--
<i
class=
"el-icon-date"
></i>
-->
<!--
<i
class=
"el-icon-date"
></i>
-->
发布任务
发布任务
...
@@ -267,7 +267,7 @@
...
@@ -267,7 +267,7 @@
console
.
log
(
storeValue
)
console
.
log
(
storeValue
)
// let thisStore = this.$store;
// let thisStore = this.$store;
setTimeout
(
function
()
{
setTimeout
(
function
()
{
if
(
storeValue
!==
undefined
&&
storeValue
.
url
!==
undefined
&&
storeValue
.
url
===
'taskDetails'
)
{
if
(
storeValue
!==
undefined
&&
storeValue
.
url
!==
undefined
&&
(
storeValue
.
url
===
'taskDetails'
||
storeValue
.
url
===
'addTask'
)
)
{
that
.
saveViewClick
(
storeValue
);
that
.
saveViewClick
(
storeValue
);
}
else
{
}
else
{
that
.
getDataListUpcoming
();
that
.
getDataListUpcoming
();
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论