Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
J
jilinzhongdianrenqun-web
概览
Overview
Details
Activity
Cycle Analytics
版本库
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
问题
0
Issues
0
列表
Board
标记
里程碑
合并请求
0
Merge Requests
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
Snippets
成员
Members
Collapse sidebar
Close sidebar
活动
图像
聊天
创建新问题
作业
提交
Issue Boards
Open sidebar
吴超
jilinzhongdianrenqun-web
Commits
9aad480f
Commit
9aad480f
authored
Dec 30, 2025
by
yubin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
离职时间添加
parent
30a96ce8
全部展开
显示空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
101 行增加
和
3 行删除
+101
-3
src/api/key-dm-user.js
+10
-0
src/view/key-person/key_dm_conf/index.vue
+1
-1
src/view/key-person/key_dm_leave/index.vue
+0
-0
src/view/key-person/key_dm_user/index.vue
+90
-2
没有找到文件。
src/api/key-dm-user.js
View file @
9aad480f
...
@@ -60,3 +60,12 @@ export const getUserMultiSelectorList = (param) => {
...
@@ -60,3 +60,12 @@ export const getUserMultiSelectorList = (param) => {
data
:
param
data
:
param
})
})
}
}
// 根据ID获取单个用户信息
export
const
getDmUserById
=
(
param
)
=>
{
return
axios
.
request
({
url
:
'/api/ac/jilinsscgsdp/keyDmUser/getById'
,
method
:
'post'
,
data
:
param
})
}
\ No newline at end of file
src/view/key-person/key_dm_conf/index.vue
View file @
9aad480f
...
@@ -1035,7 +1035,7 @@ export default {
...
@@ -1035,7 +1035,7 @@ export default {
user_ids
:
userIds
user_ids
:
userIds
}).
then
(
ret
=>
{
}).
then
(
ret
=>
{
if
(
ret
.
data
&&
ret
.
data
.
errcode
===
0
)
{
if
(
ret
.
data
&&
ret
.
data
.
errcode
===
0
)
{
this
.
fetchList
(
"org"
)
this
.
fetchList
(
'org'
)
this
.
$Message
.
success
(
'保存成功'
)
this
.
$Message
.
success
(
'保存成功'
)
this
.
userAssignModal
.
visible
=
false
this
.
userAssignModal
.
visible
=
false
}
else
{
}
else
{
...
...
src/view/key-person/key_dm_leave/index.vue
View file @
9aad480f
差异被折叠。
点击展开。
src/view/key-person/key_dm_user/index.vue
View file @
9aad480f
...
@@ -61,11 +61,14 @@
...
@@ -61,11 +61,14 @@
<
Input
v
-
model
=
"editModal.form.leader_name"
readonly
placeholder
=
"点击选择直属领导"
@
click
.
native
=
"selectLeader"
style
=
"cursor: pointer"
/>
<
Input
v
-
model
=
"editModal.form.leader_name"
readonly
placeholder
=
"点击选择直属领导"
@
click
.
native
=
"selectLeader"
style
=
"cursor: pointer"
/>
<
/FormItem
>
<
/FormItem
>
<
FormItem
label
=
"是否离职"
>
<
FormItem
label
=
"是否离职"
>
<
Select
v
-
model
=
"editModal.form.is_leave"
style
=
"width: 160px"
>
<
Select
v
-
model
=
"editModal.form.is_leave"
style
=
"width: 160px"
@
on
-
change
=
"onIsLeaveChange"
>
<
Option
:
value
=
"0"
>
未离职
<
/Option
>
<
Option
:
value
=
"0"
>
未离职
<
/Option
>
<
Option
:
value
=
"1"
>
离职
<
/Option
>
<
Option
:
value
=
"1"
>
离职
<
/Option
>
<
/Select
>
<
/Select
>
<
/FormItem
>
<
/FormItem
>
<
FormItem
v
-
if
=
"editModal.form.is_leave === 1"
label
=
"离职时间"
>
<
Input
v
-
model
=
"editModal.form.leave_time"
type
=
"datetime"
placeholder
=
"请选择离职时间"
format
=
"yyyy-MM-dd HH:mm:ss"
disabled
/>
<
/FormItem
>
<
/Form
>
<
/Form
>
<
div
slot
=
"footer"
>
<
div
slot
=
"footer"
>
<
Button
@
click
=
"editModal.visible = false"
>
取消
<
/Button
>
<
Button
@
click
=
"editModal.visible = false"
>
取消
<
/Button
>
...
@@ -127,6 +130,52 @@ export default {
...
@@ -127,6 +130,52 @@ export default {
renderIsExt
(
h
,
{
row
}
)
{
renderIsExt
(
h
,
{
row
}
)
{
return
row
.
is_ext
===
1
?
'系统同步'
:
'手工录入'
return
row
.
is_ext
===
1
?
'系统同步'
:
'手工录入'
}
,
}
,
formatLeaveTime
(
leaveTime
)
{
if
(
!
leaveTime
||
leaveTime
===
null
||
leaveTime
===
''
)
return
'-'
// 如果是数字时间戳
if
(
typeof
leaveTime
===
'number'
)
{
return
this
.
formatDateTime
(
new
Date
(
leaveTime
))
}
// 如果是字符串
if
(
typeof
leaveTime
===
'string'
)
{
// 处理纯数字字符串(可能是时间戳)
if
(
/^
\d
+$/
.
test
(
leaveTime
))
{
try
{
return
this
.
formatDateTime
(
new
Date
(
Number
(
leaveTime
)))
}
catch
(
e
)
{
return
leaveTime
}
}
// 处理带T的ISO字符串或其他可解析字符串
if
(
leaveTime
.
includes
(
'T'
))
{
return
this
.
formatDateTime
(
leaveTime
)
}
// 尝试直接解析
const
parsed
=
new
Date
(
leaveTime
)
if
(
!
isNaN
(
parsed
.
getTime
()))
{
return
this
.
formatDateTime
(
parsed
)
}
}
// 尝试解析为Date对象
const
parsed
=
new
Date
(
leaveTime
)
if
(
!
isNaN
(
parsed
.
getTime
()))
{
return
this
.
formatDateTime
(
parsed
)
}
return
leaveTime
}
,
formatDateTime
(
date
)
{
if
(
!
date
)
return
'-'
const
d
=
date
instanceof
Date
?
date
:
new
Date
(
date
)
if
(
isNaN
(
d
.
getTime
()))
return
'-'
const
pad
=
(
n
)
=>
(
n
<
10
?
'0'
+
n
:
String
(
n
))
return
d
.
getFullYear
()
+
'-'
+
pad
(
d
.
getMonth
()
+
1
)
+
'-'
+
pad
(
d
.
getDate
())
+
' '
+
pad
(
d
.
getHours
())
+
':'
+
pad
(
d
.
getMinutes
())
+
':'
+
pad
(
d
.
getSeconds
())
}
,
fetchList
()
{
fetchList
()
{
this
.
loading
=
true
this
.
loading
=
true
const
payload
=
Object
.
assign
({
}
,
{
pageNo
:
this
.
pager
.
pageNo
,
pageSize
:
this
.
pager
.
pageSize
}
,
this
.
filters
)
const
payload
=
Object
.
assign
({
}
,
{
pageNo
:
this
.
pager
.
pageNo
,
pageSize
:
this
.
pager
.
pageSize
}
,
this
.
filters
)
...
@@ -195,12 +244,25 @@ export default {
...
@@ -195,12 +244,25 @@ export default {
// 直接拷贝记录用于编辑,并保证小写 id 可用
// 直接拷贝记录用于编辑,并保证小写 id 可用
const
copy
=
Object
.
assign
({
}
,
row
)
const
copy
=
Object
.
assign
({
}
,
row
)
if
(
copy
.
Id
!=
null
&&
copy
.
id
==
null
)
copy
.
id
=
copy
.
Id
if
(
copy
.
Id
!=
null
&&
copy
.
id
==
null
)
copy
.
id
=
copy
.
Id
// 保存原始离职时间用于提交(保持后端原始格式),并将 leave_time 转为供前端显示的格式化字符串(disabled Input)
copy
.
_raw_leave_time
=
copy
.
leave_time
copy
.
leave_time
=
this
.
formatLeaveTime
(
copy
.
leave_time
)
this
.
editModal
.
form
=
copy
this
.
editModal
.
form
=
copy
this
.
editModal
.
visible
=
true
this
.
editModal
.
visible
=
true
}
,
}
,
selectLeader
()
{
selectLeader
()
{
this
.
userSelectorVisible
=
true
this
.
userSelectorVisible
=
true
}
,
}
,
onIsLeaveChange
(
value
)
{
// 当切换为未离职,清理离职时间的显示与临时原始值,避免在提交时带上旧值
if
(
value
!==
1
)
{
if
(
this
.
editModal
&&
this
.
editModal
.
form
)
{
// 保证字段存在再删除
if
(
this
.
editModal
.
form
.
leave_time
!==
undefined
)
delete
this
.
editModal
.
form
.
leave_time
if
(
this
.
editModal
.
form
.
_raw_leave_time
!==
undefined
)
delete
this
.
editModal
.
form
.
_raw_leave_time
}
}
}
,
handleLeaderSelected
(
user
)
{
handleLeaderSelected
(
user
)
{
this
.
editModal
.
form
.
leader
=
user
.
id
this
.
editModal
.
form
.
leader
=
user
.
id
this
.
editModal
.
form
.
leader_name
=
user
.
name
this
.
editModal
.
form
.
leader_name
=
user
.
name
...
@@ -210,8 +272,34 @@ export default {
...
@@ -210,8 +272,34 @@ export default {
saveEdit
()
{
saveEdit
()
{
this
.
$refs
.
editForm
.
validate
(
valid
=>
{
this
.
$refs
.
editForm
.
validate
(
valid
=>
{
// no strict validation here, just save
// no strict validation here, just save
const
formData
=
Object
.
assign
({
}
,
this
.
editModal
.
form
)
// 如果当前为未离职状态,不提交离职时间字段
if
(
formData
.
is_leave
!==
1
)
{
if
(
formData
.
leave_time
!==
undefined
)
delete
formData
.
leave_time
if
(
formData
.
_raw_leave_time
!==
undefined
)
delete
formData
.
_raw_leave_time
}
else
{
// is_leave === 1 时按原逻辑处理离职时间
if
(
formData
.
_raw_leave_time
!==
undefined
)
{
formData
.
leave_time
=
formData
.
_raw_leave_time
}
else
if
(
formData
.
leave_time
&&
typeof
formData
.
leave_time
===
'string'
)
{
// 纯数字字符串(时间戳)
if
(
/^
\d
+$/
.
test
(
formData
.
leave_time
))
{
formData
.
leave_time
=
Number
(
formData
.
leave_time
)
}
else
{
// 尝试将常见格式 yyyy-MM-dd HH:mm:ss 转为 ISO 再解析
const
parsed
=
new
Date
(
formData
.
leave_time
.
replace
(
' '
,
'T'
))
if
(
!
isNaN
(
parsed
.
getTime
()))
{
formData
.
leave_time
=
parsed
.
getTime
()
}
}
}
else
if
(
formData
.
leave_time
instanceof
Date
)
{
formData
.
leave_time
=
formData
.
leave_time
.
getTime
()
}
// 清理临时字段
if
(
formData
.
_raw_leave_time
!==
undefined
)
delete
formData
.
_raw_leave_time
}
this
.
editModal
.
saving
=
true
this
.
editModal
.
saving
=
true
saveDmUser
(
this
.
editModal
.
form
).
then
(
ret
=>
{
saveDmUser
(
formData
).
then
(
ret
=>
{
if
(
ret
.
data
&&
ret
.
data
.
errcode
===
0
)
{
if
(
ret
.
data
&&
ret
.
data
.
errcode
===
0
)
{
this
.
$Message
.
success
(
'保存成功'
)
this
.
$Message
.
success
(
'保存成功'
)
this
.
editModal
.
visible
=
false
this
.
editModal
.
visible
=
false
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论