a99eb7a5
wuxw
开发完成办公下功能
|
1
|
<template>
|
d4a6b78f
wuxw
OA 中考勤功能开发完成
|
2
3
4
|
<el-dialog
:title="$t('selectStaff.title')"
:visible.sync="visible"
|
a99eb7a5
wuxw
开发完成办公下功能
|
5
|
width="70%"
|
d4a6b78f
wuxw
OA 中考勤功能开发完成
|
6
7
|
:close-on-click-modal="false"
>
|
a99eb7a5
wuxw
开发完成办公下功能
|
8
9
|
<el-row :gutter="20">
<el-col :span="12" class="border-right">
|
d4a6b78f
wuxw
OA 中考勤功能开发完成
|
10
11
|
<div class="text-center mb-20">
<h4>{{ $t('selectStaff.orgInfo') }}</h4>
|
a99eb7a5
wuxw
开发完成办公下功能
|
12
|
</div>
|
d4a6b78f
wuxw
OA 中考勤功能开发完成
|
13
14
15
16
|
<org-tree-show
ref="orgTree"
@switchOrg="handleSwitchOrg"
></org-tree-show>
|
a99eb7a5
wuxw
开发完成办公下功能
|
17
|
</el-col>
|
d4a6b78f
wuxw
OA 中考勤功能开发完成
|
18
|
|
a99eb7a5
wuxw
开发完成办公下功能
|
19
|
<el-col :span="12">
|
d4a6b78f
wuxw
OA 中考勤功能开发完成
|
20
21
|
<div class="text-center mb-20">
<h4>{{ $t('selectStaff.staffInfo') }}</h4>
|
a99eb7a5
wuxw
开发完成办公下功能
|
22
|
</div>
|
d4a6b78f
wuxw
OA 中考勤功能开发完成
|
23
|
<div class="staff-list">
|
a99eb7a5
wuxw
开发完成办公下功能
|
24
|
<div
|
d4a6b78f
wuxw
OA 中考勤功能开发完成
|
25
|
v-for="(staff, index) in staffList"
|
a99eb7a5
wuxw
开发完成办公下功能
|
26
27
|
:key="index"
class="staff-item"
|
d4a6b78f
wuxw
OA 中考勤功能开发完成
|
28
29
30
|
:class="{ 'selected': currentStaffId === staff.staffId }"
@click="handleSelectStaff(staff)"
>
|
a99eb7a5
wuxw
开发完成办公下功能
|
31
|
<div>
|
d4a6b78f
wuxw
OA 中考勤功能开发完成
|
32
33
|
<i class="el-icon-user"></i>
{{ staff.name }}
|
a99eb7a5
wuxw
开发完成办公下功能
|
34
|
</div>
|
d4a6b78f
wuxw
OA 中考勤功能开发完成
|
35
|
<div>{{ staff.tel }}</div>
|
a99eb7a5
wuxw
开发完成办公下功能
|
36
37
38
39
|
</div>
</div>
</el-col>
</el-row>
|
d4a6b78f
wuxw
OA 中考勤功能开发完成
|
40
|
|
a99eb7a5
wuxw
开发完成办公下功能
|
41
|
<div
|
d4a6b78f
wuxw
OA 中考勤功能开发完成
|
42
43
44
45
46
47
|
v-if="staffData.from === 'bpmn' || staffData.from === 'purchase' || staffData.from === 'contract'"
slot="footer"
class="dialog-footer"
>
<el-button @click="handleFirstUser">{{ $t('selectStaff.submitter') }}</el-button>
<el-button @click="handleCustomUser">{{ $t('selectStaff.dynamicAssign') }}</el-button>
|
a99eb7a5
wuxw
开发完成办公下功能
|
48
49
50
51
52
|
</div>
</el-dialog>
</template>
<script>
|
d4a6b78f
wuxw
OA 中考勤功能开发完成
|
53
54
|
import OrgTreeShow from './OrgTreeShow'
import { queryStaffInfos } from '@/api/oa/addAttendanceClassesStaffApi'
|
a99eb7a5
wuxw
开发完成办公下功能
|
55
56
57
58
59
60
61
62
|
export default {
name: 'SelectStaff',
components: {
OrgTreeShow
},
data() {
return {
|
d4a6b78f
wuxw
OA 中考勤功能开发完成
|
63
64
65
66
67
|
visible: false,
staffData: {},
staffList: [],
currentStaffId: '',
currentOrgId: ''
|
a99eb7a5
wuxw
开发完成办公下功能
|
68
69
|
}
},
|
a99eb7a5
wuxw
开发完成办公下功能
|
70
71
|
methods: {
open(staff) {
|
d4a6b78f
wuxw
OA 中考勤功能开发完成
|
72
73
74
75
76
|
this.staffData = staff
this.visible = true
this.$nextTick(() => {
this.$refs.orgTree.refreshTree()
})
|
a99eb7a5
wuxw
开发完成办公下功能
|
77
|
},
|
d4a6b78f
wuxw
OA 中考勤功能开发完成
|
78
79
|
async handleSwitchOrg(org) {
this.currentOrgId = org.orgId
|
a99eb7a5
wuxw
开发完成办公下功能
|
80
81
82
83
84
85
86
|
try {
const params = {
page: 1,
row: 50,
orgId: org.orgId
}
const res = await queryStaffInfos(params)
|
d4a6b78f
wuxw
OA 中考勤功能开发完成
|
87
88
89
|
this.staffList = res.data.staffs
if (this.staffList.length > 0) {
this.currentStaffId = this.staffList[0].staffId
|
a99eb7a5
wuxw
开发完成办公下功能
|
90
91
|
}
} catch (error) {
|
d4a6b78f
wuxw
OA 中考勤功能开发完成
|
92
|
this.$message.error(this.$t('selectStaff.loadStaffFailed'))
|
a99eb7a5
wuxw
开发完成办公下功能
|
93
94
|
}
},
|
d4a6b78f
wuxw
OA 中考勤功能开发完成
|
95
96
97
98
99
100
101
|
handleSelectStaff(staff) {
this.$emit('change', {
staffId: staff.userId,
staffName: staff.userName,
staffTel: staff.tel
})
this.visible = false
|
a99eb7a5
wuxw
开发完成办公下功能
|
102
|
},
|
d4a6b78f
wuxw
OA 中考勤功能开发完成
|
103
104
105
106
107
108
|
handleFirstUser() {
this.$emit('change', {
staffId: '${startUserId}',
staffName: this.$t('selectStaff.submitter')
})
this.visible = false
|
a99eb7a5
wuxw
开发完成办公下功能
|
109
|
},
|
d4a6b78f
wuxw
OA 中考勤功能开发完成
|
110
111
112
113
114
115
|
handleCustomUser() {
this.$emit('change', {
staffId: '${nextUserId}',
staffName: this.$t('selectStaff.dynamicAssign')
})
this.visible = false
|
a99eb7a5
wuxw
开发完成办公下功能
|
116
117
118
119
120
121
122
123
124
125
|
}
}
}
</script>
<style lang="scss" scoped>
.border-right {
border-right: 1px solid #ebeef5;
}
|
d4a6b78f
wuxw
OA 中考勤功能开发完成
|
126
127
|
.text-center {
text-align: center;
|
a99eb7a5
wuxw
开发完成办公下功能
|
128
129
|
}
|
d4a6b78f
wuxw
OA 中考勤功能开发完成
|
130
131
|
.mb-20 {
margin-bottom: 20px;
|
a99eb7a5
wuxw
开发完成办公下功能
|
132
133
|
}
|
d4a6b78f
wuxw
OA 中考勤功能开发完成
|
134
135
|
.staff-list {
max-height: 500px;
|
a99eb7a5
wuxw
开发完成办公下功能
|
136
|
overflow-y: auto;
|
a99eb7a5
wuxw
开发完成办公下功能
|
137
138
139
140
141
142
143
144
|
}
.staff-item {
padding: 10px;
margin-bottom: 5px;
border: 1px solid #ebeef5;
border-radius: 4px;
cursor: pointer;
|
d4a6b78f
wuxw
OA 中考勤功能开发完成
|
145
|
|
a99eb7a5
wuxw
开发完成办公下功能
|
146
147
148
|
&:hover {
background-color: #f5f7fa;
}
|
d4a6b78f
wuxw
OA 中考勤功能开发完成
|
149
|
|
a99eb7a5
wuxw
开发完成办公下功能
|
150
151
152
153
154
|
&.selected {
background-color: #ecf5ff;
border-color: #d9ecff;
}
}
|
a99eb7a5
wuxw
开发完成办公下功能
|
155
|
</style>
|