Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
attendance-performance-platform
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
赵啸非
attendance-performance-platform
Commits
eac8d62c
Commit
eac8d62c
authored
1 year ago
by
姬鋆屾
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
tui
parent
7690a390
master
dazhou
pengxi
pengxi20240725
qionglai
reg
reg-first
No related merge requests found
Changes
12
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
511 additions
and
225 deletions
+511
-225
attendance-performance-manager-ui/admin/src/assets/images/logo.png
...e-performance-manager-ui/admin/src/assets/images/logo.png
+0
-0
attendance-performance-manager-ui/admin/src/components/Form.vue
...ance-performance-manager-ui/admin/src/components/Form.vue
+26
-23
attendance-performance-manager-ui/admin/src/components/FormField.vue
...performance-manager-ui/admin/src/components/FormField.vue
+142
-50
attendance-performance-manager-ui/admin/src/components/Header.vue
...ce-performance-manager-ui/admin/src/components/Header.vue
+16
-10
attendance-performance-manager-ui/admin/src/views/homeCharts/record/list.vue
...nce-manager-ui/admin/src/views/homeCharts/record/list.vue
+57
-0
attendance-performance-manager-ui/admin/src/views/perform/attend/appeal/list.vue
...manager-ui/admin/src/views/perform/attend/appeal/list.vue
+1
-1
attendance-performance-manager-ui/admin/src/views/perform/perpose/dialogshow.vue
...manager-ui/admin/src/views/perform/perpose/dialogshow.vue
+231
-133
attendance-performance-manager-ui/admin/src/views/perform/rules/attend/components/AttendIndex.vue
...src/views/perform/rules/attend/components/AttendIndex.vue
+17
-3
attendance-performance-manager-ui/admin/src/views/perform/rules/attend/list.vue
...-manager-ui/admin/src/views/perform/rules/attend/list.vue
+1
-1
attendance-performance-manager-ui/admin/src/views/perform/staff/conf/list.vue
...ce-manager-ui/admin/src/views/perform/staff/conf/list.vue
+1
-1
attendance-performance-manager-ui/admin/src/views/staff/perform/stat/dialogshow.vue
...ager-ui/admin/src/views/staff/perform/stat/dialogshow.vue
+1
-1
attendance-performance-manager-ui/admin/src/views/staff/perform/stat/list.vue
...ce-manager-ui/admin/src/views/staff/perform/stat/list.vue
+18
-2
No files found.
attendance-performance-manager-ui/admin/src/assets/images/logo.png
View replaced file @
7690a390
View file @
eac8d62c
81.4 KB
|
W:
0px
|
H:
0px
17 KB
|
W:
0px
|
H:
0px
2-up
Swipe
Onion skin
This diff is collapsed.
Click to expand it.
attendance-performance-manager-ui/admin/src/components/Form.vue
View file @
eac8d62c
<
template
>
<
template
>
<div
class=
'page layout-form'
>
<div
class=
"page layout-form"
>
<slot
name=
'breadcrumb'
>
<slot
name=
"breadcrumb"
>
<Breadcrumb
/>
<Breadcrumb
/>
</slot>
</slot>
<slot></slot>
<slot></slot>
...
@@ -8,64 +8,67 @@
...
@@ -8,64 +8,67 @@
</
template
>
</
template
>
<
style
lang=
"less"
>
<
style
lang=
"less"
>
@media screen and (max-width: 1440px){
@media screen and (max-width: 1440px)
{
.layout-form{
.layout-form
{
form{
form
{
width: 100%!important;
width: 100%
!important;
}
}
.el-col-12{
.el-col-12
{
width: 100%;
width: 100%;
}
}
}
}
}
}
.layout-form{
.layout-form
{
.el-breadcrumb{
.el-breadcrumb
{
padding-bottom: 12px;
padding-bottom: 12px;
margin-bottom: 12px;
margin-bottom: 12px;
border-bottom: 1px solid #ededed;
border-bottom: 1px solid #ededed;
}
}
form{
form
{
width: 1440px;
width: 1440px;
&[loading]{
&[loading]
{
pointer-events: none;
pointer-events: none;
.el-button{
.el-button
{
background: #eee;
background: #eee;
color: transparent;
color: transparent;
border-color: #eee;
border-color: #eee;
}
}
input,
input,
textarea{
textarea
{
background: #eee;
background: #eee;
color: transparent;
color: transparent;
border-color: #eee;
border-color: #eee;
}
}
span, input, button, li, label{
span,
input,
button,
li,
label {
color: #eee;
color: #eee;
}
}
}
}
.el-input-group--append{
.el-input-group--append
{
.el-select .el-input {
.el-select .el-input {
width: 80px;
width: 80px;
}
}
}
}
// 自定义的field组件
// 自定义的field组件
.my-form-field{
.my-form-field
{
.el-select{
.el-select
{
width: 100%;
width: 100%;
}
}
.el-date-editor.el-input{
.el-date-editor.el-input
{
width: 100%;
width: 100%;
}
}
.form-el-radio-group{
.form-el-radio-group
{
label{
label
{
width: 160px;
width: 160px;
}
}
.el-radio-button__inner{
.el-radio-button__inner
{
border: 0;
border: 0;
}
}
}
}
}
}
}
}
}
}
</
style
>
</
style
>
This diff is collapsed.
Click to expand it.
attendance-performance-manager-ui/admin/src/components/FormField.vue
View file @
eac8d62c
// 表单节点封装,支持 input textarea select radio checkbox 及slot方式
// 表单节点封装,支持 input textarea select radio checkbox 及slot方式
<
template
>
<
template
>
<el-col
:span=
'span'
>
<el-col
:span=
"span"
>
<el-form-item
:label=
"label"
:prop=
"prop"
class=
"my-form-field"
>
<el-form-item
:label=
"label"
:prop=
"prop"
class=
'my-form-field'
>
<slot>
<slot>
<el-input
show-word-limit
:maxlength=
"maxLength"
:disabled=
'disabled'
:placeholder=
'placeholder'
v-model=
"field"
@
change=
"emit"
@
input=
"emit"
v-if=
'type === "text"'
:class=
"inputClass"
:clearable=
'clearable'
></el-input>
<el-input
<el-input
show-word-limit
:maxlength=
"maxLength"
:disabled=
'disabled'
:placeholder=
'placeholder'
v-model=
"field"
@
change=
"emit"
@
input=
"emit"
type=
'password'
v-if=
'type === "password"'
></el-input>
show-word-limit
:maxlength=
"maxLength"
:disabled=
"disabled"
:placeholder=
"placeholder"
v-model=
"field"
@
change=
"emit"
@
input=
"emit"
v-if=
"type === 'text'"
:class=
"inputClass"
:clearable=
"clearable"
></el-input>
<el-input
show-word-limit
:maxlength=
"maxLength"
:disabled=
"disabled"
:placeholder=
"placeholder"
v-model=
"field"
@
change=
"emit"
@
input=
"emit"
type=
"password"
v-if=
"type === 'password'"
></el-input>
<el-input-number
:disabled=
'disabled'
v-model=
"field"
size=
"small"
:placeholder=
'placeholder'
@
change=
"emit"
@
input=
"emit"
v-if=
'type === "num"'
></el-input-number>
<el-input-number
:disabled=
"disabled"
v-model=
"field"
size=
"small"
:placeholder=
"placeholder"
@
change=
"emit"
@
input=
"emit"
v-if=
"type === 'num'"
></el-input-number>
<el-input
show-word-limit
:disabled=
'disabled'
:placeholder=
'placeholder'
v-model=
"field"
:maxlength=
"maxLength"
<el-input
@
change=
"emit"
:rows=
'rows'
@
input=
"emit"
v-if=
'type === "textarea"'
type=
'textarea'
:autosize=
"textareaSize"
:class=
"inputClass"
></el-input>
show-word-limit
:disabled=
"disabled"
:placeholder=
"placeholder"
v-model=
"field"
:maxlength=
"maxLength"
@
change=
"emit"
:rows=
"rows"
@
input=
"emit"
v-if=
"type === 'textarea'"
type=
"textarea"
:autosize=
"textareaSize"
:class=
"inputClass"
></el-input>
<!-- 一级 -->
<!-- 一级 -->
<el-select
:disabled=
'disabled'
v-model=
"field"
@
change=
"emit"
:multiple=
'multiple'
:filterable=
'filterable'
:clearable=
'clearable'
v-if=
'type === "select"'
>
<el-select
:disabled=
"disabled"
v-model=
"field"
@
change=
"emit"
:multiple=
"multiple"
:filterable=
"filterable"
:clearable=
"clearable"
v-if=
"type === 'select'"
style=
"width: 100%;"
>
<el-option
<el-option
v-for=
"($label, $value) in enumData"
v-for=
"($label, $value) in enumData"
:key=
"$value"
:key=
"$value"
...
@@ -23,34 +72,78 @@
...
@@ -23,34 +72,78 @@
</el-select>
</el-select>
<!-- 多级 -->
<!-- 多级 -->
<el-cascader
:disabled=
'disabled'
v-model=
"field"
@
change=
"emit"
:options=
"enumData"
:clearable=
'clearable'
<el-cascader
:props=
"
{label:'label',value:'id',multiple:multiple}"
:disabled=
"disabled"
v-if='type === "cascader"'>
v-model=
"field"
@
change=
"emit"
:options=
"enumData"
:clearable=
"clearable"
:props=
"
{ label: 'label', value: 'id', multiple: multiple }"
v-if="type === 'cascader'"
>
</el-cascader>
</el-cascader>
<!-- 联级选择 -->
<!-- 联级选择 -->
<el-cascader-panel
:disabled=
'disabled'
v-model=
"field"
@
change=
"emit"
:options=
"enumData"
:clearable=
'clearable'
<el-cascader-panel
:props=
"
{label:'label',value:'id',multiple:multiple}" v-if='type === "cascaderpanel"'>
</el-cascader-panel>
:disabled=
"disabled"
v-model=
"field"
@
change=
"emit"
:options=
"enumData"
:clearable=
"clearable"
:props=
"
{ label: 'label', value: 'id', multiple: multiple }"
v-if="type === 'cascaderpanel'"
>
</el-cascader-panel>
<el-radio-group
:disabled=
'disabled'
v-model=
"field"
@
change=
"emit"
v-if=
'type === "radio"'
>
<el-radio-group
:disabled=
"disabled"
v-model=
"field"
@
change=
"emit"
v-if=
"type === 'radio'"
>
<el-radio
<el-radio
v-for=
'($label, $value) in enumData'
v-for=
"($label, $value) in enumData"
:key=
'$value'
:key=
"$value"
:label=
"$value"
:label=
"$value"
>
{{
$label
}}
</el-radio>
>
{{
$label
}}
</el-radio
>
</el-radio-group>
</el-radio-group>
<el-checkbox-group
:disabled=
'disabled'
v-model=
"field"
@
change=
"emit"
v-if=
'type === "checkbox"'
>
<el-checkbox-group
:disabled=
"disabled"
v-model=
"field"
@
change=
"emit"
v-if=
"type === 'checkbox'"
>
<el-checkbox
<el-checkbox
v-for=
'($label, $value) in enumData'
v-for=
"($label, $value) in enumData"
:key=
'$value'
:key=
"$value"
:label=
"$value"
:label=
"$value"
>
{{
$label
}}
</el-checkbox>
>
{{
$label
}}
</el-checkbox
>
</el-checkbox-group>
</el-checkbox-group>
<el-date-picker
:disabled=
'disabled'
type=
"date"
value-format=
"yyyy-MM-dd HH:mm:ss"
v-model=
"field"
@
change=
"emit"
@
input=
"emit"
placeholder=
"选择日期"
v-if=
'type === "date"'
></el-date-picker>
<el-date-picker
<el-date-picker
:disabled=
'disabled'
type=
"datetime"
value-format=
"yyyy-MM-dd HH:mm:ss"
v-model=
"field"
@
change=
"emit"
@
input=
"emit"
placeholder=
"选择日期"
v-if=
'type === "datetime"'
></el-date-picker>
:disabled=
"disabled"
type=
"date"
value-format=
"yyyy-MM-dd HH:mm:ss"
v-model=
"field"
@
change=
"emit"
@
input=
"emit"
placeholder=
"选择日期"
style=
"width: 100%;"
v-if=
"type === 'date'"
></el-date-picker>
<el-date-picker
:disabled=
"disabled"
type=
"datetime"
value-format=
"yyyy-MM-dd HH:mm:ss"
v-model=
"field"
@
change=
"emit"
@
input=
"emit"
placeholder=
"选择日期"
v-if=
"type === 'datetime'"
style=
"width: 100%;"
></el-date-picker>
</slot>
</slot>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
...
@@ -59,7 +152,7 @@
...
@@ -59,7 +152,7 @@
<
script
>
<
script
>
export
default
{
export
default
{
props
:
{
props
:
{
// 字段值
// 字段值
value
:
{
value
:
{
type
:
[
String
,
Number
,
Array
],
type
:
[
String
,
Number
,
Array
],
},
},
...
@@ -71,17 +164,17 @@ export default {
...
@@ -71,17 +164,17 @@ export default {
// 字段类型: text,password,textarea,select,radio,checkbox,date,datetime
// 字段类型: text,password,textarea,select,radio,checkbox,date,datetime
type
:
{
type
:
{
type
:
String
,
type
:
String
,
default
:
'
text
'
,
default
:
"
text
"
,
},
},
// 字段name
// 字段name
prop
:
{
prop
:
{
type
:
String
,
type
:
String
,
default
:
''
,
default
:
""
,
},
},
// 字段中文标题
// 字段中文标题
label
:
{
label
:
{
type
:
String
,
type
:
String
,
default
:
''
,
default
:
""
,
},
},
// 是否禁用
// 是否禁用
disabled
:
{
disabled
:
{
...
@@ -91,17 +184,17 @@ export default {
...
@@ -91,17 +184,17 @@ export default {
// 是否提示
// 是否提示
placeholder
:
{
placeholder
:
{
type
:
String
,
type
:
String
,
default
:
''
,
default
:
""
,
},
},
// 字段所需的枚举类型
// 字段所需的枚举类型
enumData
:
{
enumData
:
{
type
:
Object
,
type
:
Object
,
default
:
()
=>
{},
default
:
()
=>
{},
},
},
// textarea专用-自适应内容高度
// textarea专用-自适应内容高度
textareaSize
:
{
textareaSize
:
{
type
:
Object
,
type
:
Object
,
default
:
()
=>
{},
default
:
()
=>
{},
},
},
// select专用-是否可搜索
// select专用-是否可搜索
filterable
:
{
filterable
:
{
...
@@ -121,44 +214,43 @@ export default {
...
@@ -121,44 +214,43 @@ export default {
// 字段所需的枚举类型
// 字段所需的枚举类型
options
:
{
options
:
{
type
:
Array
,
type
:
Array
,
default
:
()
=>
[],
default
:
()
=>
[],
},
},
children
:
{
children
:
{
type
:
Array
,
type
:
Array
,
default
:
()
=>
[],
default
:
()
=>
[],
},
},
inputClass
:
{
inputClass
:
{
type
:
String
,
type
:
String
,
default
:
''
,
default
:
""
,
},
maxLength
:
{
type
:
Number
,
default
:
256
,
},
},
maxLength
:{
type
:
Number
,
default
:
256
,
}
},
},
methods
:
{
methods
:
{
emit
()
{
emit
()
{
this
.
$emit
(
'
input
'
,
this
.
newVal
)
this
.
$emit
(
"
input
"
,
this
.
newVal
);
this
.
$emit
(
'
change
'
,
this
.
newVal
)
this
.
$emit
(
"
change
"
,
this
.
newVal
);
//this.$emit('focus', this.newVal)
//this.$emit('focus', this.newVal)
this
.
$emit
(
'
cascaderChange
'
,
this
.
newVal
)
this
.
$emit
(
"
cascaderChange
"
,
this
.
newVal
);
}
}
,
},
},
computed
:
{
computed
:
{
field
:
{
field
:
{
get
()
{
get
()
{
return
this
.
value
return
this
.
value
;
},
},
set
(
val
)
{
set
(
val
)
{
this
.
newVal
=
val
;
this
.
newVal
=
val
;
}
}
,
}
}
,
},
},
data
()
{
data
()
{
return
{
return
{
newVal
:
this
.
value
,
newVal
:
this
.
value
,
}
}
;
}
}
,
}
}
;
</
script
>
</
script
>
This diff is collapsed.
Click to expand it.
attendance-performance-manager-ui/admin/src/components/Header.vue
View file @
eac8d62c
...
@@ -9,11 +9,16 @@
...
@@ -9,11 +9,16 @@
<i
class=
"el-icon-menu"
@
click=
"showMobileMenu = !showMobileMenu"
>
<i
class=
"el-icon-menu"
@
click=
"showMobileMenu = !showMobileMenu"
>
</i>
</i>
<router-link
to=
"/"
>
<router-link
to=
"/"
>
<!--
<img
src=
"../assets/images/logo.png"
style=
"margin-bottom:5px"
height=
"40"
alt=
""
>
-->
<img
<b
style=
"color:white;font-size:20px;"
src=
"../assets/images/logo.png"
>
智慧政务绩效管理系统
style=
"margin-bottom:5px;margin-left: 24px;"
</b
height=
"40"
>
alt=
""
/>
<b
style=
"color:white;font-size:20px;"
>
智慧政务绩效管理系统
</b>
</router-link>
</router-link>
</div>
</div>
<!-- 一级菜单 -->
<!-- 一级菜单 -->
...
@@ -183,9 +188,9 @@ export default {
...
@@ -183,9 +188,9 @@ export default {
.layout-menu-wrapper {
.layout-menu-wrapper {
height: 72px;
height: 72px;
line-height: 72px;
line-height: 72px;
font-size: 1
6
px;
font-size: 1
4
px;
color: #eee;
color: #eee;
background:
#1848c8
;
background:
linear-gradient(90deg, #1845c6, #2999ff) !important
;
.layout-logo {
.layout-logo {
height: 50px;
height: 50px;
.el-icon-menu {
.el-icon-menu {
...
@@ -207,13 +212,14 @@ export default {
...
@@ -207,13 +212,14 @@ export default {
height: 100%;
height: 100%;
color: #eee;
color: #eee;
cursor: pointer;
cursor: pointer;
margin-right:
1
0px;
margin-right:
2
0px;
}
}
.active {
.active {
color: #fff;
color: #fff;
list-style-type: none;
list-style-type: none;
border-bottom: 3px solid #fff;
// border-bottom: 3px solid #fff;
padding-bottom: 2px;
// padding-bottom: 2px;
background-color: #1890ff;
}
}
}
}
}
}
...
...
This diff is collapsed.
Click to expand it.
attendance-performance-manager-ui/admin/src/views/homeCharts/record/list.vue
View file @
eac8d62c
...
@@ -4,6 +4,11 @@
...
@@ -4,6 +4,11 @@
<div
class=
"left_top"
>
<div
class=
"left_top"
>
<div
class=
"title"
>
<div
class=
"title"
>
部门绩效总分排名TOP10
部门绩效总分排名TOP10
<div
class=
"button_box"
>
<span>
今年
</span>
<span
class=
"check"
>
本月
</span>
<span>
今日
</span>
</div>
</div>
</div>
<dv-scroll-ranking-board
<dv-scroll-ranking-board
:config=
"config"
:config=
"config"
...
@@ -11,6 +16,11 @@
...
@@ -11,6 +16,11 @@
/>
/>
</div>
</div>
<div
class=
"left_mid"
>
<div
class=
"left_mid"
>
<div
class=
"button_box"
>
<span>
今年
</span>
<span
class=
"check"
>
本月
</span>
<span>
今日
</span>
</div>
<div
id=
"leida"
style=
"width: 100%;height: 100%;"
></div>
<div
id=
"leida"
style=
"width: 100%;height: 100%;"
></div>
</div>
</div>
<div
class=
"left_down"
>
<div
class=
"left_down"
>
...
@@ -176,6 +186,11 @@
...
@@ -176,6 +186,11 @@
</div>
</div>
<div
class=
"right"
>
<div
class=
"right"
>
<div
class=
"right_top"
>
<div
class=
"right_top"
>
<div
class=
"button_box"
>
<span>
今年
</span>
<span
class=
"check"
>
本月
</span>
<span>
今日
</span>
</div>
<div
class=
"title"
>
<div
class=
"title"
>
个人绩效总分排名TOP10
个人绩效总分排名TOP10
</div>
</div>
...
@@ -185,6 +200,11 @@
...
@@ -185,6 +200,11 @@
/>
/>
</div>
</div>
<div
class=
"right_mid"
>
<div
class=
"right_mid"
>
<div
class=
"button_box"
>
<span>
今年
</span>
<span
class=
"check"
>
本月
</span>
<span>
今日
</span>
</div>
<div
id=
"shensuPie"
style=
"width: 100%;height: 100%;"
></div>
<div
id=
"shensuPie"
style=
"width: 100%;height: 100%;"
></div>
</div>
</div>
<div
class=
"right_down"
>
<div
class=
"right_down"
>
...
@@ -326,6 +346,8 @@ export default {
...
@@ -326,6 +346,8 @@ export default {
legend
:
{
legend
:
{
data
:
[
"
加分
"
,
"
扣分
"
],
data
:
[
"
加分
"
,
"
扣分
"
],
right
:
0
,
right
:
0
,
bottom
:
"
50px
"
,
orient
:
"
vertical
"
,
},
},
radar
:
[
radar
:
[
{
{
...
@@ -843,6 +865,7 @@ export default {
...
@@ -843,6 +865,7 @@ export default {
.right_top,
.right_top,
.right_mid,
.right_mid,
.right_down {
.right_down {
position: relative;
width: 100%;
width: 100%;
height: 33%;
height: 33%;
background: #fff;
background: #fff;
...
@@ -864,5 +887,39 @@ export default {
...
@@ -864,5 +887,39 @@ export default {
height: 30%;
height: 30%;
margin: 15px 0;
margin: 15px 0;
}
}
.button_box {
position: absolute;
top: 8px;
right: 10px;
display: flex;
span {
border-width: 0px;
width: 40px;
height: 24px;
display: flex;
font-family: "微软雅黑", sans-serif;
font-weight: 400;
font-style: normal;
font-size: 12px;
color: #797979;
background-color: rgba(28, 117, 221, 0.0980392156862745);
border: none;
border-radius: 4px;
justify-content: center;
align-items: center;
margin-right: 5px;
cursor: pointer;
}
.check {
background: linear-gradient(
90deg,
rgba(23, 67, 198, 1) 0%,
rgba(31, 116, 223, 1) 50%,
rgba(44, 140, 240, 1) 99%
);
font-size: 12px;
color: #ffffff;
}
}
}
}
</
style
>
</
style
>
This diff is collapsed.
Click to expand it.
attendance-performance-manager-ui/admin/src/views/perform/attend/appeal/list.vue
View file @
eac8d62c
...
@@ -255,7 +255,7 @@ export default {
...
@@ -255,7 +255,7 @@ export default {
overflow: hidden;
overflow: hidden;
/deep/.el-tabs__item {
/deep/.el-tabs__item {
width: 120px;
width: 120px;
font-size: 1
8
px;
font-size: 1
4
px;
text-align: center;
text-align: center;
}
}
.content {
.content {
...
...
This diff is collapsed.
Click to expand it.
attendance-performance-manager-ui/admin/src/views/perform/perpose/dialogshow.vue
View file @
eac8d62c
<
template
>
<
template
>
<!-- 弹出框表单 -->
<!-- 弹出框表单 -->
<el-dialog
:title=
"title"
:visible.sync=
"open"
width=
"90%"
append-to-body
>
<el-dialog
:title=
"title"
:visible.sync=
"open"
width=
"90%"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"180px"
>
<el-row>
<el-row>
<Field
label=
"负责人id号"
prop=
"ownerId"
v-model=
"form.ownerId"
placeholder=
"请输入负责人id号"
/>
<Field
<Field
label=
"负责人名称"
prop=
"ownerName"
v-model=
"form.ownerName"
placeholder=
"请输入负责人名称"
/>
label=
"负责人id号"
<Field
label=
"窗口工作人员id号"
prop=
"staffId"
v-model=
"form.staffId"
placeholder=
"请输入窗口工作人员id号"
/>
prop=
"ownerId"
<Field
label=
"请假类型"
prop=
"assessmentType"
v-model=
"form.assessmentType"
type=
"select"
:enumData=
"dict.assessmentType"
placeholder=
"请选择请假类型"
/>
v-model=
"form.ownerId"
<Field
label=
"考核范围"
prop=
"assessmentScope"
v-model=
"form.assessmentScope"
type=
"select"
:enumData=
"dict.assessmentScope"
placeholder=
"请选择考核范围"
/>
placeholder=
"请输入负责人id号"
<Field
label=
"考比较类型"
prop=
"compareScope"
v-model=
"form.compareScope"
type=
"select"
:enumData=
"dict.compareScope"
placeholder=
"请选择考比较类型"
/>
/>
<Field
label=
"比例"
prop=
"ratio"
v-model=
"form.ratio"
placeholder=
"请输入比例"
/>
<Field
<Field
label=
"周期类型"
prop=
"periodType"
v-model=
"form.periodType"
type=
"select"
:enumData=
"dict.periodType"
placeholder=
"请选择周期类型"
/>
label=
"负责人名称"
<Field
label=
"年"
prop=
"year"
v-model=
"form.year"
placeholder=
"请输入年"
/>
prop=
"ownerName"
<Field
label=
"月"
prop=
"month"
v-model=
"form.month"
type=
"select"
:enumData=
"dict.month"
placeholder=
"请选择月"
/>
v-model=
"form.ownerName"
<Field
label=
"半年类型"
prop=
"halfYear"
v-model=
"form.halfYear"
type=
"select"
:enumData=
"dict.halfYear"
placeholder=
"请选择半年类型"
/>
placeholder=
"请输入负责人名称"
<Field
label=
"半年类型"
prop=
"halfYear"
v-model=
"form.halfYear"
type=
"select"
:enumData=
"dict.halfYear"
placeholder=
"请选择半年类型"
/>
/>
<Field
label=
"季度类型"
prop=
"quarter"
v-model=
"form.quarter"
type=
"select"
:enumData=
"dict.quarter"
placeholder=
"请选择季度类型"
/>
<Field
<Field
label=
"负责人,多个逗号分割"
prop=
"leaders"
v-model=
"form.leaders"
type=
"textarea"
placeholder=
"请输入负责人,多个逗号分割"
/>
label=
"窗口工作人员id号"
<Field
label=
"负责人电话,多个逗号分割"
prop=
"leaderMobiles"
v-model=
"form.leaderMobiles"
type=
"textarea"
placeholder=
"请输入负责人电话,多个逗号分割"
/>
prop=
"staffId"
<Field
label=
"备注"
prop=
"remark"
v-model=
"form.remark"
type=
"textarea"
placeholder=
"请输入备注"
/>
v-model=
"form.staffId"
placeholder=
"请输入窗口工作人员id号"
</el-row>
/>
<Field
</el-form>
label=
"请假类型"
<div
slot=
"footer"
class=
"dialog-footer"
>
prop=
"assessmentType"
<el-button
type=
"primary"
v-if=
"pageInfo.type !== 'view'"
@
click=
"submitForm"
>
确 定
</el-button>
v-model=
"form.assessmentType"
<el-button
@
click=
"cancel"
>
取 消
</el-button>
type=
"select"
</div>
:enumData=
"dict.assessmentType"
</el-dialog>
placeholder=
"请选择请假类型"
/>
<Field
label=
"考核范围"
prop=
"assessmentScope"
v-model=
"form.assessmentScope"
type=
"select"
:enumData=
"dict.assessmentScope"
placeholder=
"请选择考核范围"
/>
<Field
label=
"考比较类型"
prop=
"compareScope"
v-model=
"form.compareScope"
type=
"select"
:enumData=
"dict.compareScope"
placeholder=
"请选择考比较类型"
/>
<Field
label=
"比例"
prop=
"ratio"
v-model=
"form.ratio"
placeholder=
"请输入比例"
/>
<Field
label=
"周期类型"
prop=
"periodType"
v-model=
"form.periodType"
type=
"select"
:enumData=
"dict.periodType"
placeholder=
"请选择周期类型"
/>
<Field
label=
"年"
prop=
"year"
v-model=
"form.year"
placeholder=
"请输入年"
/>
<Field
label=
"月"
prop=
"month"
v-model=
"form.month"
type=
"select"
:enumData=
"dict.month"
placeholder=
"请选择月"
/>
<Field
label=
"半年类型"
prop=
"halfYear"
v-model=
"form.halfYear"
type=
"select"
:enumData=
"dict.halfYear"
placeholder=
"请选择半年类型"
/>
<Field
label=
"半年类型"
prop=
"halfYear"
v-model=
"form.halfYear"
type=
"select"
:enumData=
"dict.halfYear"
placeholder=
"请选择半年类型"
/>
<Field
label=
"季度类型"
prop=
"quarter"
v-model=
"form.quarter"
type=
"select"
:enumData=
"dict.quarter"
placeholder=
"请选择季度类型"
/>
<Field
label=
"负责人,多个逗号分割"
prop=
"leaders"
v-model=
"form.leaders"
type=
"textarea"
placeholder=
"请输入负责人,多个逗号分割"
/>
<Field
label=
"负责人电话,多个逗号分割"
prop=
"leaderMobiles"
v-model=
"form.leaderMobiles"
type=
"textarea"
placeholder=
"请输入负责人电话,多个逗号分割"
/>
<Field
label=
"备注"
prop=
"remark"
v-model=
"form.remark"
type=
"textarea"
placeholder=
"请输入备注"
/>
</el-row>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
v-if=
"pageInfo.type !== 'view'"
@
click=
"submitForm"
>
确 定
</el-button
>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
</div>
</el-dialog>
</
template
>
</
template
>
<
script
>
<
script
>
import
form
from
"
@/assets/mixins/formdialog
"
;
import
form
from
"
@/assets/mixins/formdialog
"
;
import
dialogShow
from
"
./dialogshow
"
;
import
dialogShow
from
"
./dialogshow
"
;
export
default
{
export
default
{
mixins
:
[
form
],
mixins
:
[
form
],
components
:
{
components
:
{
dialogShow
,
dialogShow
,
},
},
data
()
{
data
()
{
return
{
return
{
// 遮罩层
// 遮罩层
loading
:
true
,
loading
:
true
,
// 弹出层标题
// 弹出层标题
title
:
"
考核目标
"
,
title
:
"
考核目标
"
,
// 是否显示弹出层
// 是否显示弹出层
open
:
false
,
open
:
false
,
toString
:[
toString
:
[
"
assessmentType
"
,
"
assessmentType
"
,
"
assessmentScope
"
,
"
assessmentScope
"
,
"
compareScope
"
,
"
compareScope
"
,
"
periodType
"
,
"
periodType
"
,
"
month
"
,
"
month
"
,
"
halfYear
"
,
"
halfYear
"
,
"
halfYear
"
,
"
halfYear
"
,
"
quarter
"
,
"
quarter
"
,
],
],
// 表单校验
// 表单校验
rules
:
{
rules
:
{
year
:
[
year
:
[{
required
:
true
,
message
:
"
请输入年
"
,
trigger
:
"
blur
"
}],
{
required
:
true
,
message
:
"
请输入年
"
,
trigger
:
"
blur
"
},
month
:
[{
required
:
true
,
message
:
"
请输入月
"
,
trigger
:
"
blur
"
}],
],
},
month
:
[
};
{
required
:
true
,
message
:
"
请输入月
"
,
trigger
:
"
blur
"
},
},
],
}
};
},
methods
:
{
methods
:
{
/** 编辑 */
/** 编辑 */
edit
(
row
)
{
edit
(
row
)
{
this
.
reset
()
this
.
reset
();
this
.
query
=
{
id
:
row
.
id
};
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
perform/perpose/edit
"
;
this
.
urls
.
currUrl
=
"
perform/perpose/edit
"
;
this
.
getData
();
this
.
getData
();
this
.
pageInfo
.
type
=
"
edit
"
this
.
pageInfo
.
type
=
"
edit
"
;
this
.
title
=
"
修改考核目标
"
;
this
.
title
=
"
修改考核目标
"
;
},
},
/** 新增 */
/** 新增 */
add
(
row
)
{
add
(
row
)
{
this
.
reset
()
this
.
reset
();
this
.
urls
.
currUrl
=
"
perform/perpose/add
"
;
this
.
urls
.
currUrl
=
"
perform/perpose/add
"
;
this
.
getData
();
this
.
getData
();
this
.
pageInfo
.
type
=
"
add
"
this
.
pageInfo
.
type
=
"
add
"
;
this
.
title
=
"
新增考核目标
"
;
this
.
title
=
"
新增考核目标
"
;
},
},
/** 查看*/
/** 查看*/
view
(
row
)
{
view
(
row
)
{
this
.
reset
()
this
.
reset
();
this
.
query
=
{
id
:
row
.
id
};
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
perform/perpose/view
"
;
this
.
urls
.
currUrl
=
"
perform/perpose/view
"
;
this
.
getData
();
this
.
getData
();
this
.
pageInfo
.
type
=
"
view
"
this
.
pageInfo
.
type
=
"
view
"
;
this
.
title
=
"
考核目标详细
"
;
this
.
title
=
"
考核目标详细
"
;
},
},
/**取消按钮 */
/**取消按钮 */
cancel
()
{
cancel
()
{
this
.
open
=
false
;
this
.
open
=
false
;
},
},
/**获取数据后弹框 */
/**获取数据后弹框 */
afterRender
(
data
)
{
afterRender
(
data
)
{
this
.
open
=
true
;
this
.
open
=
true
;
},
},
afterSubmit
(
data
)
{
afterSubmit
(
data
)
{
this
.
open
=
false
;
this
.
open
=
false
;
this
.
$emit
(
"
ok
"
);
this
.
$emit
(
"
ok
"
);
},
},
// 表单重置
// 表单重置
reset
()
{
reset
()
{
this
.
form
=
{
this
.
form
=
{
ownerId
:
null
,
ownerId
:
null
,
ownerName
:
""
,
ownerName
:
""
,
staffId
:
null
,
staffId
:
null
,
assessmentType
:
null
,
assessmentType
:
null
,
assessmentScope
:
1
,
assessmentScope
:
1
,
compareScope
:
1
,
compareScope
:
1
,
ratio
:
0.0
0
,
ratio
:
0.
0
,
periodType
:
1
,
periodType
:
1
,
year
:
null
,
year
:
null
,
month
:
null
,
month
:
null
,
halfYear
:
1
,
halfYear
:
1
,
halfYear
:
1
,
halfYear
:
1
,
quarter
:
1
,
quarter
:
1
,
leaders
:
""
,
leaders
:
""
,
leaderMobiles
:
""
,
leaderMobiles
:
""
,
remark
:
""
,
remark
:
""
,
};
};
this
.
resetForm
(
"
form
"
);
this
.
resetForm
(
"
form
"
);
},
},
resetForm
(
refName
)
{
resetForm
(
refName
)
{
if
(
this
.
$refs
[
refName
])
{
if
(
this
.
$refs
[
refName
])
{
this
.
$refs
[
refName
].
resetFields
();
this
.
$refs
[
refName
].
resetFields
();
}
}
},
},
},
},
};
};
</
script
>
</
script
>
This diff is collapsed.
Click to expand it.
attendance-performance-manager-ui/admin/src/views/perform/rules/attend/components/AttendIndex.vue
View file @
eac8d62c
...
@@ -23,9 +23,22 @@
...
@@ -23,9 +23,22 @@
<div
class=
"right_box"
>
<div
class=
"right_box"
>
<h3>
规则管理
</h3>
<h3>
规则管理
</h3>
<div
class=
"search_box"
>
<div
class=
"search_box"
>
<el-button
type=
"primary"
style=
"margin:20px 0"
@
click=
"addRules"
>
<div
class=
"left_search"
>
+ 新增规则
</el-button
<el-button
type=
"primary"
style=
"margin:20px 0"
@
click=
"addRules"
>
>
+ 新增规则
</el-button
>
<el-switch
v-model=
"switchValue"
active-color=
"#13ce66"
inactive-color=
"#1890ff"
active-value=
"100"
inactive-value=
"0"
inactive-text=
"按分值排序"
active-text=
"按更新时间排序"
style=
"margin-left: 10px;"
>
</el-switch>
</div>
<div
class=
"search"
>
<div
class=
"search"
>
<el-input
<el-input
placeholder=
"请输入考核内容关键字搜索"
placeholder=
"请输入考核内容关键字搜索"
...
@@ -70,6 +83,7 @@ export default {
...
@@ -70,6 +83,7 @@ export default {
},
},
data
()
{
data
()
{
return
{
return
{
switchValue
:
"
0
"
,
index
:
-
1
,
index
:
-
1
,
dataArr
:
[],
dataArr
:
[],
config
:
{
config
:
{
...
...
This diff is collapsed.
Click to expand it.
attendance-performance-manager-ui/admin/src/views/perform/rules/attend/list.vue
View file @
eac8d62c
...
@@ -46,7 +46,7 @@ export default {
...
@@ -46,7 +46,7 @@ export default {
overflow: hidden;
overflow: hidden;
/deep/.el-tabs__item {
/deep/.el-tabs__item {
width: 180px;
width: 180px;
font-size: 1
8
px;
font-size: 1
4
px;
text-align: center;
text-align: center;
}
}
}
}
...
...
This diff is collapsed.
Click to expand it.
attendance-performance-manager-ui/admin/src/views/perform/staff/conf/list.vue
View file @
eac8d62c
...
@@ -218,7 +218,7 @@ export default {
...
@@ -218,7 +218,7 @@ export default {
overflow: hidden;
overflow: hidden;
/deep/.el-tabs__item {
/deep/.el-tabs__item {
width: 120px;
width: 120px;
font-size: 1
8
px;
font-size: 1
4
px;
text-align: center;
text-align: center;
}
}
.content {
.content {
...
...
This diff is collapsed.
Click to expand it.
attendance-performance-manager-ui/admin/src/views/staff/perform/stat/dialogshow.vue
View file @
eac8d62c
<
template
>
<
template
>
<!-- 弹出框表单 -->
<!-- 弹出框表单 -->
<el-dialog
:title=
"title"
:visible.sync=
"open"
width=
"90%"
append-to-body
>
<el-dialog
:title=
"title"
:visible.sync=
"open"
width=
"90%"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"1
2
0px"
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"1
8
0px"
>
<el-row>
<el-row>
<Field
<Field
label=
"负责人id号"
label=
"负责人id号"
...
...
This diff is collapsed.
Click to expand it.
attendance-performance-manager-ui/admin/src/views/staff/perform/stat/list.vue
View file @
eac8d62c
...
@@ -3,11 +3,27 @@
...
@@ -3,11 +3,27 @@
<el-tabs
v-model=
"activeName"
@
tab-click=
"handleClick"
>
<el-tabs
v-model=
"activeName"
@
tab-click=
"handleClick"
>
<el-tab-pane
label=
"目标看板"
name=
"1"
>
<el-tab-pane
label=
"目标看板"
name=
"1"
>
<div
class=
"content"
>
<div
class=
"content"
>
<div
class=
"top"
>
<div
class=
"top
search_top
"
>
<el-radio-group
v-model=
"type"
>
<el-radio-group
v-model=
"type"
>
<el-radio-button
label=
"1"
>
按部门
</el-radio-button>
<el-radio-button
label=
"1"
>
按部门
</el-radio-button>
<el-radio-button
label=
"2"
>
按个人
</el-radio-button>
<el-radio-button
label=
"2"
>
按个人
</el-radio-button>
</el-radio-group>
</el-radio-group>
<div
class=
"search_box"
>
<el-select
v-model=
"dateValue"
placeholder=
"请选择"
style=
"margin: 0 10px;"
>
<el-option
v-for=
"item in optionsMonths"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
>
</el-option>
</el-select>
<el-button
type=
"primary"
>
搜索
</el-button>
</div>
</div>
</div>
<div
class=
"mid"
>
<div
class=
"mid"
>
<div
class=
"mid_top"
>
<div
class=
"mid_top"
>
...
@@ -326,7 +342,7 @@ export default {
...
@@ -326,7 +342,7 @@ export default {
overflow: hidden;
overflow: hidden;
/deep/.el-tabs__item {
/deep/.el-tabs__item {
width: 120px;
width: 120px;
font-size: 1
8
px;
font-size: 1
4
px;
text-align: center;
text-align: center;
}
}
.content {
.content {
...
...
This diff is collapsed.
Click to expand it.
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