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
3a9e709f
Commit
3a9e709f
authored
Dec 25, 2025
by
wangchunyang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
统计及文件合并整理
parent
3f828572
显示空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
136 行增加
和
110 行删除
+136
-110
src/api/key-dm-stats.js
+0
-35
src/api/key-dm.js
+44
-59
src/view/key-person/key_dm_conf/dates.js
+42
-0
src/view/key-person/key_dm_conf/index.vue
+1
-1
src/view/key-person/key_dm_inventory/stats.vue
+49
-15
没有找到文件。
src/api/key-dm-stats.js
deleted
100644 → 0
View file @
3f828572
import
axios
from
'@/libs/api.request'
// 使用统计
export
const
getUsageStats
=
(
param
)
=>
{
return
axios
.
request
({
url
:
'/api/ac/jilinsscgsdp/keyDmStats/selectUsageStats'
,
method
:
'post'
,
data
:
param
})
}
export
const
getUsageDetails
=
(
param
)
=>
{
return
axios
.
request
({
url
:
'/api/ac/jilinsscgsdp/keyDmStats/selectUsageDetails'
,
method
:
'post'
,
data
:
param
})
}
// 工作量统计
export
const
getWorkloadStats
=
(
param
)
=>
{
return
axios
.
request
({
url
:
'/api/ac/jilinsscgsdp/keyDmStats/selectWorkloadStats'
,
method
:
'post'
,
data
:
param
})
}
export
const
getWorkloadDetails
=
(
param
)
=>
{
return
axios
.
request
({
url
:
'/api/ac/jilinsscgsdp/keyDmStats/selectWorkloadDetails'
,
method
:
'post'
,
data
:
param
})
}
src/api/key-dm.js
View file @
3a9e709f
import
axios
from
'@/libs/api.request'
import
axios
from
'@/libs/api.request'
// ===== 人员分类管理 =====
// ===== 人员权限配置 =====
export
const
getUserCategoryList
=
(
param
)
=>
{
export
const
getPermissionConfigList
=
()
=>
{
return
axios
.
request
({
url
:
'/api/ac/jilinsscgsdp/keyDmUserCategory/selectList'
,
method
:
'post'
,
data
:
param
})
}
export
const
saveUserCategory
=
(
param
)
=>
{
return
axios
.
request
({
url
:
'/api/ac/jilinsscgsdp/keyDmUserCategory/save'
,
method
:
'post'
,
data
:
param
})
}
export
const
deleteUserCategory
=
(
param
)
=>
{
return
axios
.
request
({
url
:
'/api/ac/jilinsscgsdp/keyDmUserCategory/delete'
,
method
:
'post'
,
data
:
param
})
}
export
const
findUserCategoryList
=
(
param
)
=>
{
return
axios
.
request
({
url
:
'/api/ac/jilinsscgsdp/keyDmUserCategory/findList'
,
method
:
'post'
,
data
:
param
})
}
// ===== 人员分类权限管理 =====
export
const
getUserCategoryPermissionList
=
(
param
)
=>
{
return
axios
.
request
({
return
axios
.
request
({
url
:
'/api/ac/jilinsscgsdp/keyDmUserCategoryPermission/selectList'
,
url
:
'/api/ac/jilinsscgsdp/keyDmUserCategory/selectPermissionConfigList'
,
method
:
'post'
,
method
:
'post'
data
:
param
})
})
}
}
export
const
save
UserCategoryPermission
=
(
param
)
=>
{
export
const
save
PermissionUsers
=
(
param
)
=>
{
return
axios
.
request
({
return
axios
.
request
({
url
:
'/api/ac/jilinsscgsdp/keyDmUserCategory
Permission/save
'
,
url
:
'/api/ac/jilinsscgsdp/keyDmUserCategory
/savePermissionUsers
'
,
method
:
'post'
,
method
:
'post'
,
data
:
param
data
:
param
})
})
...
@@ -53,7 +19,7 @@ export const saveUserCategoryPermission = (param) => {
...
@@ -53,7 +19,7 @@ export const saveUserCategoryPermission = (param) => {
// ===== 请假类型管理 =====
// ===== 请假类型管理 =====
export
const
getLeaveTypeList
=
(
param
)
=>
{
export
const
getLeaveTypeList
=
(
param
)
=>
{
return
axios
.
request
({
return
axios
.
request
({
url
:
'/api/ac/jilinsscgsdp/keyDm
LeaveType/select
List'
,
url
:
'/api/ac/jilinsscgsdp/keyDm
UserCategory/selectLeaveType
List'
,
method
:
'post'
,
method
:
'post'
,
data
:
param
data
:
param
})
})
...
@@ -61,7 +27,7 @@ export const getLeaveTypeList = (param) => {
...
@@ -61,7 +27,7 @@ export const getLeaveTypeList = (param) => {
export
const
saveLeaveType
=
(
param
)
=>
{
export
const
saveLeaveType
=
(
param
)
=>
{
return
axios
.
request
({
return
axios
.
request
({
url
:
'/api/ac/jilinsscgsdp/keyDm
LeaveType/sav
e'
,
url
:
'/api/ac/jilinsscgsdp/keyDm
UserCategory/saveLeaveTyp
e'
,
method
:
'post'
,
method
:
'post'
,
data
:
param
data
:
param
})
})
...
@@ -69,7 +35,7 @@ export const saveLeaveType = (param) => {
...
@@ -69,7 +35,7 @@ export const saveLeaveType = (param) => {
export
const
deleteLeaveType
=
(
param
)
=>
{
export
const
deleteLeaveType
=
(
param
)
=>
{
return
axios
.
request
({
return
axios
.
request
({
url
:
'/api/ac/jilinsscgsdp/keyDm
LeaveType/delet
e'
,
url
:
'/api/ac/jilinsscgsdp/keyDm
UserCategory/deleteLeaveTyp
e'
,
method
:
'post'
,
method
:
'post'
,
data
:
param
data
:
param
})
})
...
@@ -77,7 +43,7 @@ export const deleteLeaveType = (param) => {
...
@@ -77,7 +43,7 @@ export const deleteLeaveType = (param) => {
export
const
findLeaveTypeList
=
(
param
)
=>
{
export
const
findLeaveTypeList
=
(
param
)
=>
{
return
axios
.
request
({
return
axios
.
request
({
url
:
'/api/ac/jilinsscgsdp/keyDm
LeaveType/find
List'
,
url
:
'/api/ac/jilinsscgsdp/keyDm
UserCategory/findLeaveType
List'
,
method
:
'post'
,
method
:
'post'
,
data
:
param
data
:
param
})
})
...
@@ -86,7 +52,7 @@ export const findLeaveTypeList = (param) => {
...
@@ -86,7 +52,7 @@ export const findLeaveTypeList = (param) => {
// ===== 办公用品分类管理 =====
// ===== 办公用品分类管理 =====
export
const
getMaterialCategoryList
=
(
param
)
=>
{
export
const
getMaterialCategoryList
=
(
param
)
=>
{
return
axios
.
request
({
return
axios
.
request
({
url
:
'/api/ac/jilinsscgsdp/keyDm
MaterialCategory/select
List'
,
url
:
'/api/ac/jilinsscgsdp/keyDm
UserCategory/selectMaterialCategory
List'
,
method
:
'post'
,
method
:
'post'
,
data
:
param
data
:
param
})
})
...
@@ -94,7 +60,7 @@ export const getMaterialCategoryList = (param) => {
...
@@ -94,7 +60,7 @@ export const getMaterialCategoryList = (param) => {
export
const
saveMaterialCategory
=
(
param
)
=>
{
export
const
saveMaterialCategory
=
(
param
)
=>
{
return
axios
.
request
({
return
axios
.
request
({
url
:
'/api/ac/jilinsscgsdp/keyDm
MaterialCategory/save
'
,
url
:
'/api/ac/jilinsscgsdp/keyDm
UserCategory/saveMaterialCategory
'
,
method
:
'post'
,
method
:
'post'
,
data
:
param
data
:
param
})
})
...
@@ -102,7 +68,7 @@ export const saveMaterialCategory = (param) => {
...
@@ -102,7 +68,7 @@ export const saveMaterialCategory = (param) => {
export
const
deleteMaterialCategory
=
(
param
)
=>
{
export
const
deleteMaterialCategory
=
(
param
)
=>
{
return
axios
.
request
({
return
axios
.
request
({
url
:
'/api/ac/jilinsscgsdp/keyDm
MaterialCategory/delete
'
,
url
:
'/api/ac/jilinsscgsdp/keyDm
UserCategory/deleteMaterialCategory
'
,
method
:
'post'
,
method
:
'post'
,
data
:
param
data
:
param
})
})
...
@@ -110,7 +76,7 @@ export const deleteMaterialCategory = (param) => {
...
@@ -110,7 +76,7 @@ export const deleteMaterialCategory = (param) => {
export
const
findMaterialCategoryList
=
(
param
)
=>
{
export
const
findMaterialCategoryList
=
(
param
)
=>
{
return
axios
.
request
({
return
axios
.
request
({
url
:
'/api/ac/jilinsscgsdp/keyDm
MaterialCategory/find
List'
,
url
:
'/api/ac/jilinsscgsdp/keyDm
UserCategory/findMaterialCategory
List'
,
method
:
'post'
,
method
:
'post'
,
data
:
param
data
:
param
})
})
...
@@ -119,7 +85,7 @@ export const findMaterialCategoryList = (param) => {
...
@@ -119,7 +85,7 @@ export const findMaterialCategoryList = (param) => {
// ===== 办公用品管理 =====
// ===== 办公用品管理 =====
export
const
getMaterialList
=
(
param
)
=>
{
export
const
getMaterialList
=
(
param
)
=>
{
return
axios
.
request
({
return
axios
.
request
({
url
:
'/api/ac/jilinsscgsdp/keyDm
Material/select
List'
,
url
:
'/api/ac/jilinsscgsdp/keyDm
UserCategory/selectMaterial
List'
,
method
:
'post'
,
method
:
'post'
,
data
:
param
data
:
param
})
})
...
@@ -127,7 +93,7 @@ export const getMaterialList = (param) => {
...
@@ -127,7 +93,7 @@ export const getMaterialList = (param) => {
export
const
saveMaterial
=
(
param
)
=>
{
export
const
saveMaterial
=
(
param
)
=>
{
return
axios
.
request
({
return
axios
.
request
({
url
:
'/api/ac/jilinsscgsdp/keyDm
Material/save
'
,
url
:
'/api/ac/jilinsscgsdp/keyDm
UserCategory/saveMaterial
'
,
method
:
'post'
,
method
:
'post'
,
data
:
param
data
:
param
})
})
...
@@ -135,7 +101,7 @@ export const saveMaterial = (param) => {
...
@@ -135,7 +101,7 @@ export const saveMaterial = (param) => {
export
const
deleteMaterial
=
(
param
)
=>
{
export
const
deleteMaterial
=
(
param
)
=>
{
return
axios
.
request
({
return
axios
.
request
({
url
:
'/api/ac/jilinsscgsdp/keyDm
Material/delete
'
,
url
:
'/api/ac/jilinsscgsdp/keyDm
UserCategory/deleteMaterial
'
,
method
:
'post'
,
method
:
'post'
,
data
:
param
data
:
param
})
})
...
@@ -144,7 +110,7 @@ export const deleteMaterial = (param) => {
...
@@ -144,7 +110,7 @@ export const deleteMaterial = (param) => {
// 导入物料(Excel)
// 导入物料(Excel)
export
const
importMaterial
=
(
formData
)
=>
{
export
const
importMaterial
=
(
formData
)
=>
{
return
axios
.
request
({
return
axios
.
request
({
url
:
'/api/ac/jilinsscgsdp/keyDm
Material/importExce
l'
,
url
:
'/api/ac/jilinsscgsdp/keyDm
UserCategory/importMateria
l'
,
method
:
'post'
,
method
:
'post'
,
data
:
formData
data
:
formData
})
})
...
@@ -153,23 +119,42 @@ export const importMaterial = (formData) => {
...
@@ -153,23 +119,42 @@ export const importMaterial = (formData) => {
// 下载物料导入模板
// 下载物料导入模板
export
const
materialTemplateDownload
=
(
param
)
=>
{
export
const
materialTemplateDownload
=
(
param
)
=>
{
return
axios
.
request
({
return
axios
.
request
({
url
:
'/api/ac/jilinsscgsdp/keyDm
Material
/templateDownload'
,
url
:
'/api/ac/jilinsscgsdp/keyDm
UserCategory
/templateDownload'
,
method
:
'post'
,
method
:
'post'
,
data
:
param
data
:
param
})
})
}
}
// ===== 人员权限配置 =====
// --统计部分---------------------------------------------------------------------------------------------
export
const
getPermissionConfigList
=
()
=>
{
// 使用统计
export
const
getUsageStats
=
(
param
)
=>
{
return
axios
.
request
({
return
axios
.
request
({
url
:
'/api/ac/jilinsscgsdp/keyDmUserCategory/selectPermissionConfigList'
,
url
:
'/api/ac/jilinsscgsdp/keyDmStats/selectUsageStats'
,
method
:
'post'
method
:
'post'
,
data
:
param
})
})
}
}
export
const
savePermissionUser
s
=
(
param
)
=>
{
export
const
getUsageDetail
s
=
(
param
)
=>
{
return
axios
.
request
({
return
axios
.
request
({
url
:
'/api/ac/jilinsscgsdp/keyDmUserCategory/savePermissionUsers'
,
url
:
'/api/ac/jilinsscgsdp/keyDmStats/selectUsageDetails'
,
method
:
'post'
,
data
:
param
})
}
// 工作量统计
export
const
getWorkloadStats
=
(
param
)
=>
{
return
axios
.
request
({
url
:
'/api/ac/jilinsscgsdp/keyDmStats/selectWorkloadStats'
,
method
:
'post'
,
data
:
param
})
}
export
const
getWorkloadDetails
=
(
param
)
=>
{
return
axios
.
request
({
url
:
'/api/ac/jilinsscgsdp/keyDmStats/selectWorkloadDetails'
,
method
:
'post'
,
method
:
'post'
,
data
:
param
data
:
param
})
})
...
...
src/view/key-person/key_dm_conf/dates.js
0 → 100644
View file @
3a9e709f
/* eslint-disable */
export
function
normalizeVisitTimeValue
(
value
)
{
if
(
!
value
&&
value
!==
0
)
return
''
if
(
value
instanceof
Date
)
{
return
Number
.
isNaN
(
value
.
getTime
())
?
''
:
formatDateSegments
(
value
)
}
if
(
typeof
value
===
'number'
&&
!
Number
.
isNaN
(
value
))
{
const
fromNumber
=
new
Date
(
value
)
return
Number
.
isNaN
(
fromNumber
.
getTime
())
?
''
:
formatDateSegments
(
fromNumber
)
}
if
(
typeof
value
===
'string'
)
{
const
trimmed
=
value
.
trim
()
if
(
!
trimmed
)
return
''
const
direct
=
new
Date
(
trimmed
)
if
(
!
Number
.
isNaN
(
direct
.
getTime
()))
return
formatDateSegments
(
direct
)
const
withSlash
=
new
Date
(
trimmed
.
replace
(
/-/g
,
'/'
))
if
(
!
Number
.
isNaN
(
withSlash
.
getTime
()))
return
formatDateSegments
(
withSlash
)
const
match
=
trimmed
.
match
(
/^
(\d{4})
-
(\d{2})
-
(\d{2})(?:[
T
](\d{2})
:
(\d{2})(?:
:
(\d{2}))?)?
$/
)
if
(
match
)
{
const
[,
y
,
m
,
d
,
hh
=
'00'
,
mm
=
'00'
,
ss
=
'00'
]
=
match
return
`
${
y
}
-
${
m
}
-
${
d
}
${
hh
}
:
${
mm
}
:
${
ss
}
`
}
return
''
}
if
(
value
&&
typeof
value
===
'object'
&&
typeof
value
.
valueOf
===
'function'
)
{
const
timestamp
=
value
.
valueOf
()
if
(
!
Number
.
isNaN
(
timestamp
))
{
const
fromValue
=
new
Date
(
timestamp
)
return
Number
.
isNaN
(
fromValue
.
getTime
())
?
''
:
formatDateSegments
(
fromValue
)
}
}
return
''
}
function
formatDateSegments
(
d
)
{
const
y
=
d
.
getFullYear
()
const
mm
=
String
(
d
.
getMonth
()
+
1
).
padStart
(
2
,
'0'
)
const
dd
=
String
(
d
.
getDate
()).
padStart
(
2
,
'0'
)
const
HH
=
String
(
d
.
getHours
()).
padStart
(
2
,
'0'
)
const
MM
=
String
(
d
.
getMinutes
()).
padStart
(
2
,
'0'
)
const
SS
=
String
(
d
.
getSeconds
()).
padStart
(
2
,
'0'
)
return
`
${
y
}
-
${
mm
}
-
${
dd
}
${
HH
}
:
${
MM
}
:
${
SS
}
`
}
src/view/key-person/key_dm_conf/index.vue
View file @
3a9e709f
...
@@ -775,7 +775,7 @@ export default {
...
@@ -775,7 +775,7 @@ export default {
// 下载物料导入模板
// 下载物料导入模板
try
{
try
{
const
response
=
await
axios
.
post
(
const
response
=
await
axios
.
post
(
'/api/ac/jilinsscgsdp/keyDm
Material
/templateDownload'
,
'/api/ac/jilinsscgsdp/keyDm
UserCategory
/templateDownload'
,
{},
{},
{
{
responseType
:
'blob'
responseType
:
'blob'
...
...
src/view/key-person/key_dm_inventory/stats.vue
View file @
3a9e709f
...
@@ -51,16 +51,15 @@
...
@@ -51,16 +51,15 @@
<!-- 使用明细弹窗 -->
<!-- 使用明细弹窗 -->
<Modal
v-model=
"detailModal.visible"
title=
"明细"
width=
"800"
>
<Modal
v-model=
"detailModal.visible"
title=
"明细"
width=
"800"
>
<Table
:data=
"detailModal.rows"
size=
"small"
border
>
<Table
:data=
"detailModal.rows"
:columns=
"detailModal.columns"
size=
"small"
border
/>
<TableColumn
v-for=
"col in detailModal.columns"
:key=
"col.key"
:prop=
"col.key"
:title=
"col.title"
/>
</Table>
<div
slot=
"footer"
><Button
type=
"primary"
@
click=
"detailModal.visible=false"
>
关闭
</Button></div>
<div
slot=
"footer"
><Button
type=
"primary"
@
click=
"detailModal.visible=false"
>
关闭
</Button></div>
</Modal>
</Modal>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
{
getUsageStats
,
getUsageDetails
,
getWorkloadStats
,
getWorkloadDetails
}
from
'@/api/key-dm-stats'
import
{
getUsageStats
,
getUsageDetails
,
getWorkloadStats
,
getWorkloadDetails
}
from
'@/api/key-dm'
import
{
normalizeVisitTimeValue
}
from
'@/view/key-person/key_dm_conf/dates.js'
export
default
{
export
default
{
name
:
'key-dm-stats-index'
,
name
:
'key-dm-stats-index'
,
...
@@ -91,48 +90,83 @@ export default {
...
@@ -91,48 +90,83 @@ export default {
{
title
:
'请假时长(天)'
,
key
:
'leave_duration'
,
align
:
'center'
},
{
title
:
'请假时长(天)'
,
key
:
'leave_duration'
,
align
:
'center'
},
{
title
:
'操作'
,
slot
:
'action'
,
width
:
160
,
align
:
'center'
}
{
title
:
'操作'
,
slot
:
'action'
,
width
:
160
,
align
:
'center'
}
],
],
detailModal
:
{
visible
:
false
,
rows
:
[],
columns
:
[]
}
detailModal
:
{
visible
:
false
,
rows
:
[],
columns
:
[]
}
}
}
},
},
created
()
{
this
.
loadUsage
()
},
methods
:
{
methods
:
{
handleTabChange
(
name
)
{
handleTabChange
(
name
)
{
this
.
activeTab
=
name
this
.
activeTab
=
name
if
(
name
===
'usage'
)
{
this
.
loadUsage
()
}
else
{
this
.
loadWorkload
()
}
},
},
loadUsage
()
{
loadUsage
()
{
this
.
loading
.
usage
=
true
this
.
loading
.
usage
=
true
const
params
=
{
start
:
this
.
usageStart
,
end
:
this
.
usageEnd
,
material
:
this
.
usageMaterial
}
const
st
=
this
.
usageStart
?
normalizeVisitTimeValue
(
this
.
usageStart
)
:
null
getUsageStats
({
params
}).
then
(
ret
=>
{
const
et
=
this
.
usageEnd
?
normalizeVisitTimeValue
(
this
.
usageEnd
)
:
null
const
params
=
{
start
:
st
,
end
:
et
,
material
:
this
.
usageMaterial
}
getUsageStats
(
params
).
then
(
ret
=>
{
if
(
ret
.
data
&&
ret
.
data
.
errcode
===
0
)
this
.
tables
.
usage
=
ret
.
data
.
data
||
[]
if
(
ret
.
data
&&
ret
.
data
.
errcode
===
0
)
this
.
tables
.
usage
=
ret
.
data
.
data
||
[]
else
this
.
$Notice
.
error
({
title
:
'查询失败'
,
desc
:
ret
.
data
&&
ret
.
data
.
errmsg
})
else
this
.
$Notice
.
error
({
title
:
'查询失败'
,
desc
:
ret
.
data
&&
ret
.
data
.
errmsg
})
}).
finally
(()
=>
{
this
.
loading
.
usage
=
false
})
}).
finally
(()
=>
{
this
.
loading
.
usage
=
false
})
},
},
resetUsage
()
{
this
.
usageStart
=
null
;
this
.
usageEnd
=
null
;
this
.
usageMaterial
=
''
;
this
.
tables
.
usage
=
[]
},
resetUsage
()
{
this
.
usageStart
=
null
;
this
.
usageEnd
=
null
;
this
.
usageMaterial
=
''
;
this
.
tables
.
usage
=
[]
},
openUsageDetail
(
row
)
{
openUsageDetail
(
row
)
{
this
.
detailModal
.
columns
=
[{
key
:
'user_name'
,
title
:
'人员'
},
{
key
:
'quantity'
,
title
:
'数量'
},
{
key
:
'material_name'
,
title
:
'物料'
},
{
key
:
'department_name'
,
title
:
'部门'
}]
this
.
detailModal
.
columns
=
[
{
title
:
'部门'
,
key
:
'department_name'
,
align
:
'center'
},
{
title
:
'人员'
,
key
:
'user_name'
,
align
:
'center'
},
{
title
:
'物料'
,
key
:
'material_name'
,
align
:
'center'
},
{
title
:
'申请数量'
,
key
:
'apply_quantity'
,
align
:
'center'
},
{
title
:
'已归还数量'
,
key
:
'returned_quantity'
,
align
:
'center'
}
]
this
.
detailModal
.
visible
=
true
this
.
detailModal
.
visible
=
true
getUsageDetails
({
params
:
{
start
:
this
.
usageStart
,
end
:
this
.
usageEnd
,
material
:
this
.
usageMaterial
,
department
:
row
.
department_id
}
}).
then
(
ret
=>
{
const
st
=
this
.
usageStart
?
normalizeVisitTimeValue
(
this
.
usageStart
)
:
null
const
et
=
this
.
usageEnd
?
normalizeVisitTimeValue
(
this
.
usageEnd
)
:
null
getUsageDetails
({
start
:
st
,
end
:
et
,
material
:
row
.
material_id
,
department
:
row
.
department_id
}).
then
(
ret
=>
{
if
(
ret
.
data
&&
ret
.
data
.
errcode
===
0
)
this
.
detailModal
.
rows
=
ret
.
data
.
data
||
[]
if
(
ret
.
data
&&
ret
.
data
.
errcode
===
0
)
this
.
detailModal
.
rows
=
ret
.
data
.
data
||
[]
else
this
.
$Notice
.
error
({
title
:
'查询失败'
,
desc
:
ret
.
data
&&
ret
.
data
.
errmsg
})
else
this
.
$Notice
.
error
({
title
:
'查询失败'
,
desc
:
ret
.
data
&&
ret
.
data
.
errmsg
})
})
})
},
},
loadWorkload
()
{
loadWorkload
()
{
this
.
loading
.
workload
=
true
this
.
loading
.
workload
=
true
const
params
=
{
start
:
this
.
workStart
,
end
:
this
.
workEnd
}
const
st
=
this
.
workStart
?
normalizeVisitTimeValue
(
this
.
workStart
)
:
null
getWorkloadStats
({
params
}).
then
(
ret
=>
{
const
et
=
this
.
workEnd
?
normalizeVisitTimeValue
(
this
.
workEnd
)
:
null
const
params
=
{
start
:
st
,
end
:
et
}
getWorkloadStats
(
params
).
then
(
ret
=>
{
if
(
ret
.
data
&&
ret
.
data
.
errcode
===
0
)
this
.
tables
.
workload
=
ret
.
data
.
data
||
[]
if
(
ret
.
data
&&
ret
.
data
.
errcode
===
0
)
this
.
tables
.
workload
=
ret
.
data
.
data
||
[]
else
this
.
$Notice
.
error
({
title
:
'查询失败'
,
desc
:
ret
.
data
&&
ret
.
data
.
errmsg
})
else
this
.
$Notice
.
error
({
title
:
'查询失败'
,
desc
:
ret
.
data
&&
ret
.
data
.
errmsg
})
}).
finally
(()
=>
{
this
.
loading
.
workload
=
false
})
}).
finally
(()
=>
{
this
.
loading
.
workload
=
false
})
},
},
resetWorkload
()
{
this
.
workStart
=
null
;
this
.
workEnd
=
null
;
this
.
tables
.
workload
=
[]
},
resetWorkload
()
{
this
.
workStart
=
null
;
this
.
workEnd
=
null
;
this
.
tables
.
workload
=
[]
},
openWorkloadDetail
(
row
,
type
)
{
openWorkloadDetail
(
row
,
type
)
{
const
st
=
this
.
workStart
?
normalizeVisitTimeValue
(
this
.
workStart
)
:
null
const
et
=
this
.
workEnd
?
normalizeVisitTimeValue
(
this
.
workEnd
)
:
null
if
(
type
===
'leave'
)
{
if
(
type
===
'leave'
)
{
this
.
detailModal
.
columns
=
[{
key
:
'user_name'
,
title
:
'人员'
},
{
key
:
'start_time'
,
title
:
'开始'
},
{
key
:
'end_time'
,
title
:
'结束'
},
{
key
:
'duration'
,
title
:
'时长'
}]
this
.
detailModal
.
columns
=
[
getWorkloadDetails
({
params
:
{
user_id
:
row
.
user_id
,
start
:
this
.
workStart
,
end
:
this
.
workEnd
,
type
:
'leave'
}
}).
then
(
ret
=>
{
{
title
:
'人员'
,
key
:
'user_name'
,
align
:
'center'
},
{
title
:
'开始'
,
key
:
'start_time'
,
align
:
'center'
},
{
title
:
'结束'
,
key
:
'end_time'
,
align
:
'center'
},
{
title
:
'时长'
,
key
:
'duration'
,
align
:
'center'
}
]
getWorkloadDetails
({
user_id
:
row
.
user_id
,
start
:
st
,
end
:
et
,
type
:
'leave'
}).
then
(
ret
=>
{
if
(
ret
.
data
&&
ret
.
data
.
errcode
===
0
)
{
this
.
detailModal
.
rows
=
ret
.
data
.
data
||
[];
this
.
detailModal
.
visible
=
true
}
else
this
.
$Notice
.
error
({
title
:
'查询失败'
,
desc
:
ret
.
data
&&
ret
.
data
.
errmsg
})
if
(
ret
.
data
&&
ret
.
data
.
errcode
===
0
)
{
this
.
detailModal
.
rows
=
ret
.
data
.
data
||
[];
this
.
detailModal
.
visible
=
true
}
else
this
.
$Notice
.
error
({
title
:
'查询失败'
,
desc
:
ret
.
data
&&
ret
.
data
.
errmsg
})
})
})
}
else
{
}
else
{
this
.
detailModal
.
columns
=
[{
key
:
'application_no'
,
title
:
'申请单号'
},
{
key
:
'material_name'
,
title
:
'物料'
},
{
key
:
'apply_quantity'
,
title
:
'数量'
}]
this
.
detailModal
.
columns
=
[
getWorkloadDetails
({
params
:
{
user_id
:
row
.
user_id
,
start
:
this
.
workStart
,
end
:
this
.
workEnd
,
type
:
'inventory'
}
}).
then
(
ret
=>
{
{
title
:
'申请单号'
,
key
:
'application_no'
,
align
:
'center'
},
{
title
:
'物料'
,
key
:
'material_name'
,
align
:
'center'
},
{
title
:
'数量'
,
key
:
'apply_quantity'
,
align
:
'center'
}
]
getWorkloadDetails
({
user_id
:
row
.
user_id
,
start
:
st
,
end
:
et
,
type
:
'inventory'
}).
then
(
ret
=>
{
if
(
ret
.
data
&&
ret
.
data
.
errcode
===
0
)
{
this
.
detailModal
.
rows
=
ret
.
data
.
data
||
[];
this
.
detailModal
.
visible
=
true
}
else
this
.
$Notice
.
error
({
title
:
'查询失败'
,
desc
:
ret
.
data
&&
ret
.
data
.
errmsg
})
if
(
ret
.
data
&&
ret
.
data
.
errcode
===
0
)
{
this
.
detailModal
.
rows
=
ret
.
data
.
data
||
[];
this
.
detailModal
.
visible
=
true
}
else
this
.
$Notice
.
error
({
title
:
'查询失败'
,
desc
:
ret
.
data
&&
ret
.
data
.
errmsg
})
})
})
}
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论