Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
J
JINRUN-PERPOSITION
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
xinzhedeai
JINRUN-PERPOSITION
Commits
b800848e
Commit
b800848e
authored
Nov 28, 2025
by
xinzhedeai
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add:员工 - 岗位 部门接口对接。删除编辑功能
parent
bd2c1637
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
133 additions
and
130 deletions
+133
-130
yuangong.js
src/api/jinrun/yuangong.js
+11
-5
yuangong.vue
src/views/person/yuangong.vue
+122
-125
No files found.
src/api/jinrun/yuangong.js
View file @
b800848e
...
...
@@ -20,7 +20,7 @@ export function unbindCard(data) {
// 新增人员信息
export
function
addInfo
(
data
)
{
return
request
({
url
:
'
/person/info/add
RemotePersonInfo
'
,
url
:
'
/person/info/add
Person
'
,
method
:
'
post
'
,
data
:
data
})
...
...
@@ -29,17 +29,23 @@ export function addInfo(data) {
// 修改人员信息
export
function
updateInfo
(
data
)
{
return
request
({
url
:
'
/person/info/update
RemotePersonInfo
'
,
url
:
'
/person/info/update
Person
'
,
method
:
'
put
'
,
data
:
data
})
}
export
function
getInfo
(
id
)
{
return
request
({
url
:
'
/person/info/getPersonById/
'
+
id
,
method
:
'
get
'
})
}
// 删除人员信息
export
function
delInfo
(
data
)
{
export
function
delInfo
(
id
)
{
return
request
({
url
:
'
/person/info/delete
RemotePersonInfo
'
,
url
:
'
/person/info/delete
Person/
'
+
id
,
method
:
'
delete
'
,
data
:
data
})
}
src/views/person/yuangong.vue
View file @
b800848e
...
...
@@ -62,43 +62,43 @@
<el-table-column
label=
"性别"
align=
"center"
prop=
"sex"
/>
<el-table-column
label=
"联系方式"
align=
"center"
prop=
"phone"
/>
<el-table-column
label=
"身份证号"
align=
"center"
prop=
"idCard"
/>
<el-table-column
label=
"所在部门
1"
align=
"center"
prop=
"dept
"
/>
<el-table-column
label=
"岗位名称
1"
align=
"center"
prop=
"idCard
"
/>
<el-table-column
label=
"所在部门
"
align=
"center"
prop=
"deptName
"
/>
<el-table-column
label=
"岗位名称
"
align=
"center"
prop=
"positionName
"
/>
<el-table-column
label=
"定位卡号"
align=
"center"
prop=
"cardId"
/>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
fixed=
"right"
width=
"
1
80"
width=
"
3
80"
>
<template
slot-scope=
"scope"
>
<el-button
size=
"mini
"
type=
"text
"
type=
"primary
"
size=
"small
"
icon=
"el-icon-link"
v-if=
"!scope.row.cardId"
@
click=
"handleBindCard(scope.row)"
>
定位卡绑定
</el-button
>
<el-button
size=
"mini
"
type=
"text
"
type=
"primary
"
size=
"small
"
icon=
"el-icon-unlock"
v-if=
"scope.row.cardId"
@
click=
"handleUnbindCard(scope.row)"
>
定位卡解绑
</el-button
>
<el-button
size=
"
mini
"
type=
"
text
"
size=
"
small
"
type=
"
primary
"
icon=
"el-icon-edit"
@
click=
"handleUpdate(scope.row)"
>
修改
</el-button
>
<el-button
size=
"
mini
"
type=
"
text
"
size=
"
small
"
type=
"
danger
"
icon=
"el-icon-delete"
@
click=
"handleDelete(scope.row)"
>
删除
</el-button
...
...
@@ -145,25 +145,27 @@
<el-col
:span=
"12"
>
<el-form-item
label=
"所在部门"
prop=
"deptId"
>
<treeselect
v-model=
"form.deptId
s
"
v-model=
"form.deptId"
:options=
"deptOptions"
placeholder=
"请选择部门"
:normalizer=
"normalizer"
@
select=
"handleDeptSelect"
></treeselect>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"岗位名称"
prop=
"
card
Id"
>
<el-form-item
label=
"岗位名称"
prop=
"
position
Id"
>
<el-select
v-model=
"form.
card
Id"
v-model=
"form.
position
Id"
placeholder=
"请选择岗位名称"
clearable
@
change=
"handlePositionChange"
>
<el-option
v-for=
"item in positionOptions"
:key=
"item.value"
:label=
"item.label"
:value=
"item.value"
:value=
"item.value
* 1
"
></el-option>
</el-select>
</el-form-item>
...
...
@@ -177,10 +179,10 @@
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"出生日期"
prop=
"birth"
>
<el-form-item
label=
"出生日期"
prop=
"birth
Time
"
>
<el-date-picker
clearable
v-model=
"form.birth"
v-model=
"form.birth
Time
"
type=
"date"
value-format=
"yyyy-MM-dd"
placeholder=
""
...
...
@@ -200,10 +202,10 @@
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"入职日期"
prop=
"
hireDat
e"
>
<el-form-item
label=
"入职日期"
prop=
"
joiningTim
e"
>
<el-date-picker
clearable
v-model=
"form.
hireDat
e"
v-model=
"form.
joiningTim
e"
type=
"date"
value-format=
"yyyy-MM-dd"
placeholder=
"请选择入职日期"
...
...
@@ -212,18 +214,18 @@
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"家庭住址
11"
prop=
"seniority
"
>
<el-input
v-model=
"form.
seniority
"
placeholder=
""
/>
<el-form-item
label=
"家庭住址
"
prop=
"address
"
>
<el-input
v-model=
"form.
address
"
placeholder=
""
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"职称"
prop=
"
professionalTitl
e"
>
<el-input
v-model=
"form.
professionalTitl
e"
placeholder=
""
/>
<el-form-item
label=
"职称"
prop=
"
jobNam
e"
>
<el-input
v-model=
"form.
jobNam
e"
placeholder=
""
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"职称证书编号"
prop=
"
professionalTitle
Number"
>
<el-input
v-model=
"form.
professionalTitle
Number"
placeholder=
""
/>
<el-form-item
label=
"职称证书编号"
prop=
"
job
Number"
>
<el-input
v-model=
"form.
job
Number"
placeholder=
""
/>
</el-form-item>
</el-col>
</el-row>
...
...
@@ -289,6 +291,7 @@ import {
listInfo
,
delInfo
,
addInfo
,
getInfo
,
// 引入获取人员信息的接口
updateInfo
,
unbindCard
,
getCardList
,
// 引入获取定位卡号列表的接口
...
...
@@ -304,12 +307,6 @@ export default {
components
:
{
Treeselect
},
data
()
{
return
{
// 级联选择器配置
cascaderProps
:
{
value
:
"
index
"
,
label
:
"
name
"
,
children
:
"
children
"
,
},
deptOptions
:
[
{
label
:
"
部门1
"
,
...
...
@@ -397,20 +394,105 @@ export default {
},
methods
:
{
/** 处理岗位选择 */
handlePositionChange
(
value
)
{
if
(
value
)
{
// 根据选择的岗位ID查找对应的岗位对象
const
positionItem
=
this
.
positionOptions
.
find
(
(
item
)
=>
item
.
value
===
value
);
if
(
positionItem
)
{
// 将岗位名称存储到form.positionName
this
.
form
.
positionName
=
positionItem
.
label
;
}
}
else
{
// 如果取消选择,清空岗位名称
this
.
form
.
positionName
=
null
;
}
},
normalizer
(
node
)
{
return
{
const
result
=
{
id
:
node
.
index
,
// 用index作为唯一标识
label
:
node
.
name
,
// 用name作为显示文本
children
:
node
.
children
||
[],
// 子节点(如果为null则转为空数组)
};
// 只有当children不为null且有值时才添加该属性
if
(
node
.
children
&&
node
.
children
.
length
>
0
)
{
result
.
children
=
node
.
children
;
}
return
result
;
},
/** 处理部门选择 */
handleDeptSelect
(
selectedNode
)
{
if
(
selectedNode
)
{
// 直接从选中的节点获取name属性值
this
.
form
.
deptName
=
selectedNode
.
name
;
// 同时设置deptId以便后续处理
this
.
form
.
deptId
=
selectedNode
.
index
;
}
else
{
// 如果取消选择,清空相关字段
this
.
form
.
deptName
=
null
;
this
.
form
.
deptId
=
null
;
}
},
/** 查找部门节点(递归函数,用于备用) */
findDepartmentNode
(
deptId
,
options
=
this
.
deptOptions
)
{
for
(
let
i
=
0
;
i
<
options
.
length
;
i
++
)
{
const
node
=
options
[
i
];
if
(
node
.
index
===
deptId
)
{
return
node
;
}
if
(
node
.
children
&&
node
.
children
.
length
>
0
)
{
const
found
=
this
.
findDepartmentNode
(
deptId
,
node
.
children
);
if
(
found
)
{
return
found
;
}
}
}
return
null
;
},
/** 获取部门列表 */
getDeptList
()
{
getDept
({})
.
then
((
response
)
=>
{
console
.
log
(
response
.
data
,
"
部门数据
"
);
// 检查数据格式是否正确
this
.
deptOptions
=
response
.
data
.
data
;
// 添加递归处理函数过滤children为null的情况
const
processDepartmentData
=
(
data
)
=>
{
if
(
!
data
||
!
Array
.
isArray
(
data
))
return
[];
return
data
.
map
((
item
)
=>
{
const
processedItem
=
{
...
item
};
// 如果children存在且是数组,递归处理
if
(
processedItem
.
children
&&
Array
.
isArray
(
processedItem
.
children
)
)
{
// 递归处理子部门
processedItem
.
children
=
processDepartmentData
(
processedItem
.
children
);
// 如果处理后的children为空数组,移除该属性
if
(
processedItem
.
children
.
length
===
0
)
{
delete
processedItem
.
children
;
}
}
else
if
(
processedItem
.
children
===
null
||
processedItem
.
children
===
undefined
)
{
// 如果children为null或undefined,移除该属性
delete
processedItem
.
children
;
}
return
processedItem
;
});
};
// 处理部门数据
this
.
deptOptions
=
processDepartmentData
(
// response.data.data[0].children
response
.
data
.
data
[
0
].
children
);
})
.
catch
((
error
)
=>
{
console
.
error
(
"
获取部门列表失败:
"
,
error
);
...
...
@@ -526,7 +608,7 @@ export default {
getList
()
{
this
.
loading
=
true
;
listInfo
(
this
.
queryParams
).
then
((
response
)
=>
{
this
.
infoList
=
response
.
data
;
this
.
infoList
=
response
.
records
;
this
.
total
=
response
.
total
;
this
.
loading
=
false
;
});
...
...
@@ -538,85 +620,7 @@ export default {
},
// 表单重置
reset
()
{
this
.
form
=
{
createBy
:
null
,
createTime
:
null
,
updateTime
:
null
,
remark
:
null
,
personId
:
null
,
personType
:
null
,
personTypeName
:
null
,
staffType
:
null
,
staffTypeName
:
null
,
positionIconType
:
null
,
positionIconTypeName
:
null
,
realName
:
null
,
phone
:
null
,
sex
:
"
男
"
,
birth
:
null
,
email
:
null
,
nativePlace
:
null
,
nation
:
null
,
maritalStatus
:
null
,
politicsStatus
:
null
,
healthStatus
:
null
,
idType
:
null
,
idNumber
:
null
,
personIc
:
null
,
personCode
:
null
,
personSource
:
null
,
company
:
null
,
companyName
:
null
,
administratorName
:
null
,
administratorPhone
:
null
,
jobNumber
:
null
,
jobStatus
:
null
,
hireDate
:
null
,
hireDateAlias
:
null
,
dimissionDate
:
null
,
officePhone
:
null
,
duty
:
null
,
professionalTitle
:
null
,
professionalTitleNumber
:
null
,
seniority
:
null
,
experience
:
null
,
yearPlusExperience
:
null
,
highestEducation
:
null
,
highestDegree
:
null
,
profession
:
null
,
school
:
null
,
diplomaNumber
:
null
,
cengNumber
:
null
,
accessory
:
null
,
accessoryList
:
null
,
contractorId
:
null
,
contractorName
:
null
,
receiveLeader
:
null
,
receivePhone
:
null
,
gateThrough
:
null
,
leaveTime
:
null
,
visitorStatus
:
null
,
visitTime
:
null
,
process
:
null
,
lastUpdateDate
:
null
,
lastCreateDate
:
null
,
updateFail
:
null
,
onlineStatus
:
null
,
inOutStatus
:
null
,
cardType
:
null
,
cardTypeName
:
null
,
cardId
:
null
,
icCardId
:
null
,
cardPower
:
null
,
personPhoto
:
null
,
photoSign
:
null
,
deptName
:
null
,
reservationEntryStartTime
:
null
,
reservationEntryEndTime
:
null
,
reservationVisitingTime
:
null
,
curUserName
:
null
,
visitorId
:
null
,
};
this
.
form
=
{};
this
.
resetForm
(
"
form
"
);
},
/** 搜索按钮操作 */
...
...
@@ -645,12 +649,8 @@ export default {
/** 修改按钮操作 */
handleUpdate
(
row
)
{
this
.
reset
();
listInfo
({
pageNum
:
1
,
pageSize
:
1
,
personId
:
row
.
personId
,
}).
then
((
response
)
=>
{
this
.
form
=
response
.
data
[
0
];
getInfo
(
row
.
personId
).
then
((
response
)
=>
{
this
.
form
=
response
;
this
.
open
=
true
;
this
.
title
=
"
修改员工信息
"
;
...
...
@@ -702,10 +702,7 @@ export default {
this
.
$modal
.
confirm
(
"
是否确认删除该数据项?
"
)
.
then
(
function
()
{
return
delInfo
({
personIds
:
[
row
.
personId
],
personType
:
row
.
personType
,
});
return
delInfo
(
row
.
personId
);
})
.
then
(()
=>
{
this
.
getList
();
...
...
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