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
fff9fdfb
Commit
fff9fdfb
authored
Jul 18, 2023
by
赵啸非
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
beba6113
fba6e488
Changes
5
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
392 additions
and
214 deletions
+392
-214
attendance-performance-manager-ui/admin/src/components/FileUpload.vue
...erformance-manager-ui/admin/src/components/FileUpload.vue
+30
-29
attendance-performance-manager-ui/admin/src/views/attendance/leave/record/dialogshow.vue
...ui/admin/src/views/attendance/leave/record/dialogshow.vue
+196
-118
attendance-performance-manager-ui/admin/src/views/attendance/leave/record/draweraudit.vue
...i/admin/src/views/attendance/leave/record/draweraudit.vue
+151
-57
attendance-performance-manager-ui/admin/src/views/attendance/leave/record/drawershow.vue
...ui/admin/src/views/attendance/leave/record/drawershow.vue
+14
-10
attendance-performance-manager-ui/admin/src/views/perform/rules/attend/components/AttendIndex.vue
...src/views/perform/rules/attend/components/AttendIndex.vue
+1
-0
No files found.
attendance-performance-manager-ui/admin/src/components/FileUpload.vue
View file @
fff9fdfb
...
...
@@ -41,7 +41,7 @@
class=
"el-upload-list__item ele-upload-list__item-content"
v-for=
"(file, index) in list"
>
<el-link
:href=
"baseUrl
+
file.url"
:underline=
"false"
target=
"_blank"
>
<el-link
:href=
"baseUrl
+
file.url"
:underline=
"false"
target=
"_blank"
>
<span
class=
"el-icon-document"
style=
"font-size: 12px"
>
{{ getFileName(file.name) }}
</span>
...
...
@@ -50,7 +50,7 @@
<el-link
:underline=
"false"
style=
"font-size: 12px"
@
click=
"handleDelete(file.url,index)"
@
click=
"handleDelete(file.url,
index)"
type=
"danger"
>
删除
</el-link
>
...
...
@@ -61,7 +61,6 @@
</template>
<
script
>
export
default
{
props
:
{
// 值
...
...
@@ -71,7 +70,7 @@ export default {
type
:
Number
,
default
:
200
,
},
fileNumber
:
{
fileNumber
:
{
type
:
Number
,
default
:
1
,
},
...
...
@@ -79,36 +78,37 @@ export default {
// default: () => ["doc", "xls", "pdf", "xml"],
fileType
:
{
type
:
Array
,
default
:
null
,
default
:
null
,
},
// 是否显示提示
isShowTip
:
{
type
:
Boolean
,
default
:
true
default
:
true
,
},
//保存服务器路径前缀地址
prePath
:
{
type
:
String
,
default
:
''
,
default
:
""
,
},
//默认文件名称
//默认文件名称
fileName
:
{
type
:
String
,
default
:
''
,
}
default
:
""
,
}
,
},
data
()
{
return
{
number
:
0
,
baseUrl
:
process
.
env
.
VUE_APP_API_BASE_URL
+
'
/
'
,
uploadFileUrl
:
process
.
env
.
VUE_APP_API_BASE_URL
+
"
/attendance/file/commonupload
"
,
baseUrl
:
process
.
env
.
VUE_APP_API_BASE_URL
+
"
/
"
,
uploadFileUrl
:
process
.
env
.
VUE_APP_API_BASE_URL
+
"
/attendance/file/commonupload
"
,
uploadList
:
[],
headers
:{},
headers
:
{},
fileList
:
[],
}
}
;
},
/* watch: {
/* watch: {
value: {
handler(val) {
console.log("value",this.value);
...
...
@@ -135,20 +135,19 @@ export default {
return
this
.
isShowTip
&&
(
this
.
fileType
||
this
.
fileSize
);
},
// 列表
list
()
{
list
()
{
let
temp
=
1
;
if
(
this
.
value
)
{
console
.
log
(
"
value
"
,
this
.
value
)
console
.
log
(
"
value
"
,
this
.
value
);
// 首先将值转为数组
const
list
=
Array
.
isArray
(
this
.
value
)
?
this
.
value
:
[
this
.
value
];
// 然后将数组转为对象数组
this
.
fileList
=
list
.
map
(
item
=>
{
item
=
{
name
:
item
.
name
,
url
:
item
.
url
};
this
.
fileList
=
list
.
map
(
(
item
)
=>
{
item
=
{
name
:
item
.
name
,
url
:
item
.
url
};
item
.
uid
=
item
.
uid
||
new
Date
().
getTime
()
+
temp
++
;
return
item
;
});
return
this
.
fileList
;
return
this
.
fileList
;
}
else
{
this
.
fileList
=
[];
return
[];
...
...
@@ -170,7 +169,9 @@ export default {
return
false
;
});
if
(
!
isTypeOk
)
{
this
.
$message
.
error
(
`文件格式不正确, 请上传
${
this
.
fileType
.
join
(
"
/
"
)}
格式文件!`
);
this
.
$message
.
error
(
`文件格式不正确, 请上传
${
this
.
fileType
.
join
(
"
/
"
)}
格式文件!`
);
return
false
;
}
}
...
...
@@ -187,7 +188,7 @@ export default {
},
// 文件个数超出
handleExceed
()
{
this
.
$message
.
error
(
`上传文件数量不能超过
${
this
.
limit
}
个!`
);
this
.
$message
.
error
(
`上传文件数量不能超过
${
this
.
fileNumber
}
个!`
);
},
// 上传失败
handleUploadError
(
err
)
{
...
...
@@ -197,7 +198,7 @@ export default {
handleUploadSuccess
(
res
,
file
)
{
if
(
res
.
code
===
1
)
{
this
.
uploadList
.
push
({
name
:
res
.
fileName
,
url
:
res
.
url
});
console
.
log
(
"
uploadList:
"
,
this
.
uploadList
)
console
.
log
(
"
uploadList:
"
,
this
.
uploadList
);
if
(
this
.
uploadList
.
length
===
this
.
number
)
{
this
.
fileList
=
this
.
fileList
.
concat
(
this
.
uploadList
);
this
.
uploadList
=
[];
...
...
@@ -213,21 +214,21 @@ export default {
// this.$emit("getFileName", res.fileName);
},
// 删除文件
handleDelete
(
url
,
index
)
{
handleDelete
(
url
,
index
)
{
//todo 接口请求删除
this
.
value
=
this
.
value
.
filter
(
item
=>
item
.
url
!=
url
)
this
.
value
=
this
.
value
.
filter
((
item
)
=>
item
.
url
!=
url
);
// this.fileList.splice(index, 1);
this
.
$emit
(
"
input
"
,
this
.
value
);
this
.
$emit
(
"
input
"
,
this
.
value
);
},
// 获取文件名称
getFileName
(
name
)
{
//console.log("name",name)
if
(
name
&&
name
.
lastIndexOf
(
"
/
"
)
>
-
1
)
{
if
(
name
&&
name
.
lastIndexOf
(
"
/
"
)
>
-
1
)
{
return
name
.
slice
(
name
.
lastIndexOf
(
"
/
"
)
+
1
).
toLowerCase
();
}
else
{
return
name
;
}
}
}
,
},
created
()
{
//this.fileList = this.list;
...
...
attendance-performance-manager-ui/admin/src/views/attendance/leave/record/dialogshow.vue
View file @
fff9fdfb
This diff is collapsed.
Click to expand it.
attendance-performance-manager-ui/admin/src/views/attendance/leave/record/draweraudit.vue
View file @
fff9fdfb
...
...
@@ -3,27 +3,127 @@
<el-dialog
:title=
"title"
:visible.sync=
"open"
width=
"90%"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"120px"
>
<el-row>
<Field
disabled
label=
"请假人"
prop=
"leavePerson"
v-model=
"form.leavePerson"
placeholder=
"请输入请假人"
/>
<Field
disabled
label=
"所属部门"
prop=
"deptName"
v-model=
"form.deptName"
type=
"textarea"
placeholder=
"请输入所属部门"
/>
<Field
disabled
label=
"电话号码"
prop=
"phoneNumber"
v-model=
"form.phoneNumber"
placeholder=
"请输入电话号码"
/>
<Field
disabled
label=
"请假类型"
prop=
"leaveType"
v-model=
"form.leaveType"
type=
"select"
:enumData=
"dict.leaveType"
placeholder=
"请选择请假类型"
/>
<Field
disabled
label=
"开始时间"
prop=
"startTime"
v-model=
"form.startTime"
type=
"date"
/>
<Field
disabled
label=
"结束时间"
prop=
"endTime"
v-model=
"form.endTime"
type=
"date"
/>
<Field
disabled
label=
"时长,单位秒"
prop=
"duration"
v-model=
"form.duration"
placeholder=
"请输入时长,单位秒"
/>
<Field
disabled
label=
"请假事由"
prop=
"reason"
v-model=
"form.reason"
type=
"textarea"
placeholder=
"请输入请假事由"
/>
<Field
disabled
label=
"审批负责人"
prop=
"approver"
v-model=
"form.approver"
placeholder=
"请输入审批负责人"
/>
<Field
disabled
label=
"附件"
prop=
"attachment"
v-model=
"form.attachment"
type=
"textarea"
placeholder=
"请输入附件"
/>
<Field
disabled
label=
"附件路径"
prop=
"attachmentPath"
v-model=
"form.attachmentPath"
type=
"textarea"
placeholder=
"请输入附件路径"
/>
<Field
disabled
label=
"备注"
prop=
"remark"
v-model=
"form.remark"
type=
"textarea"
placeholder=
"请输入备注"
/>
<Field
disabled
label=
"申请时间"
prop=
"appealTime"
v-model=
"form.appealTime"
type=
"date"
/>
<Field
label=
"审核结果"
prop=
"auditResult"
v-model=
"form.auditResult"
type=
"radio"
:enumData=
"dict.auditResult"
placeholder=
"请选择审核结果"
/>
<Field
label=
"审核说明"
prop=
"auditDesc"
v-model=
"form.auditDesc"
placeholder=
"请输入审核说明"
/>
<Field
disabled
label=
"请假人"
prop=
"leavePerson"
v-model=
"form.leavePerson"
placeholder=
"请输入请假人"
/>
<Field
disabled
label=
"所属部门"
prop=
"deptName"
v-model=
"form.deptName"
type=
"textarea"
placeholder=
"请输入所属部门"
/>
<Field
disabled
label=
"电话号码"
prop=
"phoneNumber"
v-model=
"form.phoneNumber"
placeholder=
"请输入电话号码"
/>
<Field
disabled
label=
"请假类型"
prop=
"leaveType"
v-model=
"form.leaveType"
type=
"select"
:enumData=
"dict.leaveType"
placeholder=
"请选择请假类型"
/>
<Field
disabled
label=
"开始时间"
prop=
"startTime"
v-model=
"form.startTime"
type=
"date"
/>
<Field
disabled
label=
"结束时间"
prop=
"endTime"
v-model=
"form.endTime"
type=
"date"
/>
<Field
disabled
label=
"时长,单位秒"
prop=
"duration"
v-model=
"form.duration"
placeholder=
"请输入时长,单位秒"
/>
<Field
disabled
label=
"请假事由"
prop=
"reason"
v-model=
"form.reason"
type=
"textarea"
placeholder=
"请输入请假事由"
/>
<Field
disabled
label=
"审批负责人"
prop=
"approver"
v-model=
"form.approver"
placeholder=
"请输入审批负责人"
/>
<Field
disabled
label=
"附件"
prop=
"attachment"
v-model=
"form.attachment"
type=
"textarea"
placeholder=
"请输入附件"
/>
<Field
disabled
label=
"附件路径"
prop=
"attachmentPath"
v-model=
"form.attachmentPath"
type=
"textarea"
placeholder=
"请输入附件路径"
/>
<Field
disabled
label=
"备注"
prop=
"remark"
v-model=
"form.remark"
type=
"textarea"
placeholder=
"请输入备注"
/>
<Field
disabled
label=
"申请时间"
prop=
"appealTime"
v-model=
"form.appealTime"
type=
"date"
/>
<Field
label=
"审核结果"
prop=
"auditResult"
v-model=
"form.auditResult"
type=
"radio"
:enumData=
"dict.auditResult"
placeholder=
"请选择审核结果"
/>
<Field
label=
"审核说明"
prop=
"auditDesc"
v-model=
"form.auditDesc"
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
type=
"primary"
v-if=
"pageInfo.type !== 'view'"
@
click=
"submitForm"
>
审 核
</el-button
>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
</div>
</el-dialog>
...
...
@@ -35,7 +135,7 @@ import dialogShow from "./dialogshow";
export
default
{
mixins
:
[
form
],
components
:
{
dialogShow
,
dialogShow
,
},
data
()
{
return
{
...
...
@@ -45,43 +145,38 @@ export default {
title
:
"
请假记录信息
"
,
// 是否显示弹出层
open
:
false
,
// urls: { saveUrl: "/check/attend/record/examine" },
toString
:[
"
leaveType
"
,
"
auditResult
"
,
"
processStatus
"
,
],
// urls: { saveUrl: "/check/attend/record/examine" },
toString
:
[
"
leaveType
"
,
"
auditResult
"
,
"
processStatus
"
],
// 表单校验
rules
:
{
}
rules
:
{},
};
},
methods
:
{
/** 编辑 */
edit
(
row
)
{
this
.
reset
()
this
.
reset
()
;
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
attendance/leave/record/edit
"
;
this
.
urls
.
currUrl
=
"
attendance/leave/record/edit
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
edit
"
this
.
pageInfo
.
type
=
"
edit
"
;
this
.
title
=
"
修改请假记录信息
"
;
},
/** 新增 */
add
(
row
)
{
this
.
reset
()
this
.
reset
()
;
this
.
urls
.
currUrl
=
"
attendance/leave/record/add
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
add
"
this
.
pageInfo
.
type
=
"
add
"
;
this
.
title
=
"
新增请假记录信息
"
;
},
/** 查看*/
view
(
row
)
{
this
.
reset
()
this
.
reset
()
;
this
.
query
=
{
id
:
row
.
id
};
this
.
urls
.
currUrl
=
"
attendance/leave/record/view
"
;
this
.
urls
.
currUrl
=
"
attendance/leave/record/view
"
;
this
.
getData
();
this
.
pageInfo
.
type
=
"
view
"
this
.
pageInfo
.
type
=
"
view
"
;
this
.
title
=
"
请假记录信息详细
"
;
},
/**取消按钮 */
...
...
@@ -94,8 +189,7 @@ export default {
},
beforeSubmit
(
data
)
{
data
.
processStatus
=
2
;
data
.
processStatus
=
2
;
return
data
;
},
...
...
@@ -107,26 +201,26 @@ export default {
// 表单重置
reset
()
{
this
.
form
=
{
leavePersonId
:
null
,
leavePerson
:
""
,
deptId
:
null
,
deptName
:
""
,
phoneNumber
:
""
,
leaveType
:
null
,
startTime
:
null
,
endTime
:
null
,
duration
:
null
,
reason
:
""
,
approverId
:
null
,
approver
:
""
,
attachment
:
""
,
attachmentPath
:
""
,
remark
:
""
,
appealTime
:
null
,
auditResult
:
null
,
auditDesc
:
""
,
auditTime
:
null
,
processStatus
:
1
,
leavePersonId
:
null
,
leavePerson
:
""
,
deptId
:
null
,
deptName
:
""
,
phoneNumber
:
""
,
leaveType
:
null
,
startTime
:
null
,
endTime
:
null
,
duration
:
null
,
reason
:
""
,
approverId
:
null
,
approver
:
""
,
attachment
:
""
,
attachmentPath
:
""
,
remark
:
""
,
appealTime
:
null
,
auditResult
:
null
,
auditDesc
:
""
,
auditTime
:
null
,
processStatus
:
1
,
};
this
.
resetForm
(
"
form
"
);
},
...
...
attendance-performance-manager-ui/admin/src/views/attendance/leave/record/drawershow.vue
View file @
fff9fdfb
...
...
@@ -90,9 +90,13 @@
/>
</el-row>
<el-form-item
label=
"附件路径"
prop=
"attachmentPath"
>
<FileUpload
@
input=
"uploadFn"
:value=
"attachmentPath"
/>
<FileUpload
@
input=
"uploadFn"
:value=
"attachmentPath"
:fileNumber=
"1"
/>
</el-form-item>
<form-buttons
@
submit=
"
beforeSubmit
"
noCancelBtn
/>
<form-buttons
@
submit=
"
submitForm
"
noCancelBtn
/>
</el-form>
</div>
</el-drawer>
...
...
@@ -132,7 +136,7 @@ export default {
{
validator
:
valid
.
phone
,
message
:
"
电话号码格式不正确
"
,
trigger
:
[
"
change
"
,
"
blur
"
]
,
trigger
:
"
blur
"
,
},
],
leaveType
:
[
...
...
@@ -161,13 +165,13 @@ export default {
},
methods
:
{
beforeSubmit
()
{
if
(
this
.
form
.
endTime
.
valueOf
()
>
this
.
form
.
startTime
.
valueOf
())
{
this
.
submitForm
();
}
else
{
this
.
$message
.
error
(
"
结束日期需大于请假日期
"
);
}
},
//
beforeSubmit() {
//
if (this.form.endTime.valueOf() > this.form.startTime.valueOf()) {
// //
this.submitForm();
//
} else {
//
this.$message.error("结束日期需大于请假日期");
//
}
//
},
uploadFn
(
e
)
{
this
.
attachmentPath
=
e
;
this
.
form
.
attachmentPath
=
this
.
attachmentPath
[
0
].
url
;
...
...
attendance-performance-manager-ui/admin/src/views/perform/rules/attend/components/AttendIndex.vue
View file @
fff9fdfb
...
...
@@ -318,6 +318,7 @@ export default {
.right_box {
flex: 1;
padding: 20px;
overflow: hidden;
.search_box {
width: 100%;
height: 60px;
...
...
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