Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
M
mes-ui
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
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
ximai
mes-ui
Commits
7fe0e0a8
Commit
7fe0e0a8
authored
Dec 18, 2024
by
沈翠玲
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
生产报表
parent
a95b14d9
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
389 additions
and
57 deletions
+389
-57
single1.vue
src/components/userSelect/single1.vue
+246
-0
th_TH.json
src/i18n/lang/th_TH.json
+2
-1
zh_CN.json
src/i18n/lang/zh_CN.json
+2
-1
index.vue
src/views/mes/proTable/abnormalAnaly/index.vue
+35
-22
index.vue
src/views/mes/proTable/dayProduct/index.vue
+8
-4
index.vue
src/views/mes/proTable/dayStatist/index.vue
+1
-1
index.vue
src/views/mes/proTable/monthStatist/index.vue
+1
-1
index.vue
src/views/mes/proTable/productProcess/index.vue
+59
-6
index.vue
src/views/mes/proTable/statistAnaly/index.vue
+34
-20
index.vue
src/views/mes/proTable/weekStatist/index.vue
+1
-1
No files found.
src/components/userSelect/single1.vue
0 → 100644
View file @
7fe0e0a8
<
template
>
<el-dialog
:title=
"$t('人员选择')"
v-if=
"showFlag"
:visible
.
sync=
"showFlag"
:modal=
showModal
width=
"80%"
center
>
<el-row
:gutter=
"20"
>
<!--部门数据-->
<el-col
:span=
"4"
:xs=
"24"
>
<div
class=
"head-container"
>
<el-input
v-model=
"deptName"
:placeholder=
"$t('role.please_detname')"
clearable
size=
"small"
prefix-icon=
"el-icon-search"
style=
"margin-bottom: 20px"
/>
</div>
<div
class=
"head-container"
>
<el-tree
:data=
"deptOptions"
:props=
"defaultProps"
:expand-on-click-node=
"false"
:filter-node-method=
"filterNode"
ref=
"tree"
default-expand-all
@
node-click=
"handleNodeClick"
/>
</div>
</el-col>
<!--用户数据-->
<el-col
:span=
"20"
:xs=
"24"
>
<el-form
:model=
"queryParams"
@
submit
.
native
.
prevent
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
<el-form-item
:label=
"$t('role.username')"
prop=
"userName"
>
<el-input
v-model=
"queryParams.userName"
:placeholder=
"$t('role.please_username')"
clearable
style=
"width: 240px"
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
:label=
"$t('role.usernick')"
prop=
"nickName"
>
<el-input
v-model=
"queryParams.nickName"
clearable
style=
"width: 240px"
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"handleQuery"
>
{{
$t
(
'common.search'
)
}}
</el-button>
<el-button
icon=
"el-icon-refresh"
size=
"mini"
@
click=
"resetQuery"
>
{{
$t
(
'common.reset'
)
}}
</el-button>
</el-form-item>
</el-form>
<el-table
v-loading=
"loading"
:data=
"userList"
@
current-change=
"handleCurrent"
@
row-dblclick=
"handleRowDbClick"
>
<el-table-column
width=
"55"
align=
"center"
>
<template
v-slot=
"scope"
>
<el-radio
v-model=
"selectedId"
:label=
"scope.row.userId"
@
change=
"handleRowChange(scope.row)"
>
{{
""
}}
</el-radio>
</
template
>
</el-table-column>
<el-table-column
:label=
"$t('role.username')"
align=
"center"
key=
"userName"
prop=
"userName"
v-if=
"columns[1].visible"
:show-overflow-tooltip=
"true"
/>
<el-table-column
:label=
"$t('role.usernick')"
align=
"center"
key=
"nickName"
prop=
"nickName"
v-if=
"columns[2].visible"
:show-overflow-tooltip=
"true"
/>
</el-table>
<pagination
v-show=
"total>0"
:total=
"total"
:page
.
sync=
"queryParams.pageNum"
:limit
.
sync=
"queryParams.pageSize"
@
pagination=
"getList"
/>
</el-col>
</el-row>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"confirmSelect"
>
{{ $t('common.confirm') }}
</el-button>
<el-button
@
click=
"showFlag=false"
>
{{ $t('common.cancel') }}
</el-button>
</div>
</el-dialog>
</template>
<
script
>
import
{
listUser
,
getUser
,
delUser
,
addUser
,
updateUser
,
resetUserPwd
,
changeUserStatus
}
from
"@/api/system/user"
;
import
{
getToken
}
from
"@/utils/auth"
;
import
{
treeselect
}
from
"@/api/system/dept"
;
import
Treeselect
from
"@riophae/vue-treeselect"
;
import
"@riophae/vue-treeselect/dist/vue-treeselect.css"
;
export
default
{
name
:
"UserSingleSelect"
,
dicts
:
[
'sys_normal_disable'
,
'sys_user_sex'
],
props
:
{
showModal
:
{
default
:
false
}
},
components
:
{
Treeselect
},
data
()
{
return
{
showFlag
:
false
,
// 遮罩层
loading
:
true
,
// 选中数组
selectedId
:
null
,
selectedRow
:
null
,
// 非单个禁用
single
:
true
,
// 非多个禁用
multiple
:
true
,
// 显示搜索条件
showSearch
:
true
,
// 总条数
total
:
0
,
// 用户表格数据
userList
:
null
,
// 弹出层标题
title
:
""
,
// 部门树选项
deptOptions
:
undefined
,
// 是否显示弹出层
open
:
false
,
// 部门名称
deptName
:
undefined
,
// 日期范围
dateRange
:
[],
// 岗位选项
postOptions
:
[],
// 角色选项
roleOptions
:
[],
// 表单参数
form
:
{},
defaultProps
:
{
children
:
"children"
,
label
:
"label"
},
// 查询参数
queryParams
:
{
pageNum
:
1
,
pageSize
:
10
,
userName
:
undefined
,
nickName
:
undefined
,
status
:
undefined
,
deptId
:
undefined
},
// 列信息
columns
:
[
{
key
:
0
,
label
:
this
.
$t
(
'用户编号'
),
visible
:
true
},
{
key
:
1
,
label
:
this
.
$t
(
'用户名称'
),
visible
:
true
},
{
key
:
2
,
label
:
this
.
$t
(
'用户昵称'
),
visible
:
true
},
{
key
:
3
,
label
:
this
.
$t
(
'部门'
),
visible
:
true
},
{
key
:
4
,
label
:
this
.
$t
(
'手机号码'
),
visible
:
true
},
{
key
:
5
,
label
:
this
.
$t
(
'状态'
),
visible
:
true
},
{
key
:
6
,
label
:
this
.
$t
(
'创建时间'
),
visible
:
true
}
],
};
},
watch
:
{
// 根据名称筛选部门树
deptName
(
val
)
{
this
.
$refs
.
tree
.
filter
(
val
);
}
},
created
()
{
this
.
getList
();
this
.
getTreeselect
();
},
methods
:
{
/** 查询用户列表 */
getList
()
{
this
.
loading
=
true
;
listUser
(
this
.
addDateRange
(
this
.
queryParams
,
this
.
dateRange
)).
then
(
response
=>
{
this
.
userList
=
response
.
rows
;
this
.
total
=
response
.
total
;
this
.
loading
=
false
;
}
);
},
/** 查询部门下拉树结构 */
getTreeselect
()
{
treeselect
().
then
(
response
=>
{
this
.
deptOptions
=
response
.
data
;
});
},
// 筛选节点
filterNode
(
value
,
data
)
{
if
(
!
value
)
return
true
;
return
data
.
label
.
indexOf
(
value
)
!==
-
1
;
},
// 节点单击事件
handleNodeClick
(
data
)
{
this
.
queryParams
.
deptId
=
data
.
id
;
this
.
handleQuery
();
},
/** 搜索按钮操作 */
handleQuery
()
{
this
.
queryParams
.
pageNum
=
1
;
this
.
getList
();
},
/** 重置按钮操作 */
resetQuery
()
{
this
.
dateRange
=
[];
this
.
resetForm
(
"queryForm"
);
this
.
handleQuery
();
},
handleCurrent
(
row
){
if
(
row
){
this
.
selectedRow
=
row
;
}
},
//行双击选中
handleRowDbClick
(
row
){
if
(
row
){
this
.
selectedRow
=
row
;
this
.
$emit
(
'onSelected'
,
this
.
selectedRow
);
this
.
showFlag
=
false
;
}
},
// 单选选中数据
handleRowChange
(
row
)
{
debugger
;
if
(
row
){
this
.
selectedRow
=
row
;
}
},
//确定选中
confirmSelect
(){
if
(
this
.
selectedId
==
null
||
this
.
selectedId
==
0
){
this
.
$notify
({
title
:
this
.
$t
(
'提示'
),
type
:
'warning'
,
message
:
this
.
$t
(
'请至少选择一条数据!'
)
});
return
;
}
this
.
$emit
(
'onSelected'
,
this
.
selectedRow
);
this
.
showFlag
=
false
;
}
}
};
</
script
>
src/i18n/lang/th_TH.json
View file @
7fe0e0a8
...
@@ -3054,5 +3054,6 @@
...
@@ -3054,5 +3054,6 @@
"九月"
:
"กันยายน"
,
"九月"
:
"กันยายน"
,
"十月"
:
"ตุลาคม"
,
"十月"
:
"ตุลาคม"
,
"十一月"
:
"พฤศจิกายน"
,
"十一月"
:
"พฤศจิกายน"
,
"十二月"
:
"ธันวาคม"
"十二月"
:
"ธันวาคม"
,
"排产次数"
:
"จำนวนการปลดปล่อย"
}
}
src/i18n/lang/zh_CN.json
View file @
7fe0e0a8
...
@@ -3054,5 +3054,6 @@
...
@@ -3054,5 +3054,6 @@
"九月"
:
"九月"
,
"九月"
:
"九月"
,
"十月"
:
"十月"
,
"十月"
:
"十月"
,
"十一月"
:
"十一月"
,
"十一月"
:
"十一月"
,
"十二月"
:
"十二月"
"十二月"
:
"十二月"
,
"排产次数"
:
"排产次数"
}
}
src/views/mes/proTable/abnormalAnaly/index.vue
View file @
7fe0e0a8
...
@@ -54,8 +54,7 @@
...
@@ -54,8 +54,7 @@
</el-tab-pane>
</el-tab-pane>
<el-tab-pane
:label=
"$t('统计')"
>
<el-tab-pane
:label=
"$t('统计')"
>
<el-row
align=
"center"
style=
"line-height: 40px;"
>
<el-row
align=
"center"
style=
"line-height: 40px;"
>
<el-col
:span=
"1"
>
{{$t('统计方式')}}
</el-col>
<el-col
:span=
"7"
>
{{$t('统计方式')}}
<el-col
:span=
"4"
>
<el-select
v-model=
"statisisType"
clearable
:placeholder=
"$t('请选择统计方式')"
>
<el-select
v-model=
"statisisType"
clearable
:placeholder=
"$t('请选择统计方式')"
>
<el-option
v-for=
"item in statisisList"
<el-option
v-for=
"item in statisisList"
:key=
"item"
:key=
"item"
...
@@ -68,8 +67,8 @@
...
@@ -68,8 +67,8 @@
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"handleQuery"
>
{{$t('查询')}}
</el-button>
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"handleQuery"
>
{{$t('查询')}}
</el-button>
</el-col>
</el-col>
</el-row>
</el-row>
<el-table
v-loading=
"loading"
:data=
"tbodys"
:max-height=
"tableHeight"
>
<el-table
v-loading=
"loading"
:data=
"tbodys
1
"
:max-height=
"tableHeight"
>
<el-table-column
:label=
"item.label"
align=
"center"
:prop=
"item.value"
v-for=
"(item, index) in theaders"
:key=
"index"
>
<el-table-column
:label=
"item.label"
align=
"center"
:prop=
"item.value"
v-for=
"(item, index) in theaders
1
"
:key=
"index"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.mes_workorder_type"
:value=
"scope.row.workorderType"
v-if=
"item.value==='workorderType'"
/>
<dict-tag
:options=
"dict.type.mes_workorder_type"
:value=
"scope.row.workorderType"
v-if=
"item.value==='workorderType'"
/>
<div
v-else
>
{{
scope
.
row
[
item
.
value
]
}}
</div>
<div
v-else
>
{{
scope
.
row
[
item
.
value
]
}}
</div>
...
@@ -98,6 +97,7 @@ import i18n from '../../../../i18n/index'
...
@@ -98,6 +97,7 @@ import i18n from '../../../../i18n/index'
import
{
getList
,
getListByProcess
,
getListByUser
,
getListByWorkshop
,
getListByDefect
,
getListByWorkOrder
,
getListByWorkstation
,
getListByWorkunit
}
from
"@/api/mes/proTable/statistAnaly"
;
import
{
getList
,
getListByProcess
,
getListByUser
,
getListByWorkshop
,
getListByDefect
,
getListByWorkOrder
,
getListByWorkstation
,
getListByWorkunit
}
from
"@/api/mes/proTable/statistAnaly"
;
import
ItemSelect
from
"@/components/itemSelect/single.vue"
;
import
ItemSelect
from
"@/components/itemSelect/single.vue"
;
import
reasonSelect
from
"@/components/reasonSelect/single.vue"
import
reasonSelect
from
"@/components/reasonSelect/single.vue"
import
dayjs
from
'dayjs'
export
default
{
export
default
{
name
:
"ScheduleSetupRule"
,
name
:
"ScheduleSetupRule"
,
...
@@ -126,6 +126,8 @@ export default {
...
@@ -126,6 +126,8 @@ export default {
total
:
0
,
total
:
0
,
// 排产换型对照信息表格数据
// 排产换型对照信息表格数据
tbodys
:
[],
tbodys
:
[],
tbodys1
:
[],
theaders1
:
[],
theaders
:
[],
theaders
:
[],
// 弹出层标题
// 弹出层标题
title
:
""
,
title
:
""
,
...
@@ -134,7 +136,7 @@ export default {
...
@@ -134,7 +136,7 @@ export default {
// 是否显示弹出层
// 是否显示弹出层
open
:
false
,
open
:
false
,
tableHeight
:
0
,
tableHeight
:
0
,
daterangePurchaseDate
:
[],
daterangePurchaseDate
:
[
dayjs
().
startOf
(
'month'
).
format
(
'YYYY-MM-DD'
),
dayjs
().
endOf
(
'month'
).
format
(
'YYYY-MM-DD'
)
],
// 查询参数
// 查询参数
queryParams
:
{
queryParams
:
{
pageNum
:
1
,
pageNum
:
1
,
...
@@ -173,7 +175,12 @@ export default {
...
@@ -173,7 +175,12 @@ export default {
this
.
_resizeHandler
()
this
.
_resizeHandler
()
})
})
this
.
_resizeHandler
=
()
=>
{
this
.
_resizeHandler
=
()
=>
{
this
.
tableHeight
=
window
.
innerHeight
-
350
const
arr
=
document
.
getElementsByClassName
(
'el-form'
)
const
height
=
arr
[
0
].
offsetHeight
const
arr1
=
document
.
getElementsByClassName
(
'app-main'
)
const
height1
=
arr1
[
0
].
offsetHeight
console
.
log
(
'this.tabIndex'
,
this
.
tabIndex
)
this
.
tableHeight
=
height1
-
height
-
(
this
.
tabIndex
?
200
:
170
)
}
}
window
.
addEventListener
(
'resize'
,
this
.
_resizeHandler
)
window
.
addEventListener
(
'resize'
,
this
.
_resizeHandler
)
},
},
...
@@ -190,13 +197,13 @@ export default {
...
@@ -190,13 +197,13 @@ export default {
{
label
:
i18n
.
t
(
'订单号'
),
value
:
'orderCode'
,
width
:
'80px'
},
{
label
:
i18n
.
t
(
'订单号'
),
value
:
'orderCode'
,
width
:
'80px'
},
{
label
:
i18n
.
t
(
'生产工单'
),
value
:
'workorderCode'
,
width
:
'140px'
},
{
label
:
i18n
.
t
(
'生产工单'
),
value
:
'workorderCode'
,
width
:
'140px'
},
{
label
:
i18n
.
t
(
'产品编码'
),
value
:
'productCode'
,
width
:
'120px'
},
{
label
:
i18n
.
t
(
'产品编码'
),
value
:
'productCode'
,
width
:
'120px'
},
{
label
:
i18n
.
t
(
'产品名称'
),
value
:
'productName'
,
width
:
'
12
0px'
},
{
label
:
i18n
.
t
(
'产品名称'
),
value
:
'productName'
,
width
:
'
24
0px'
},
{
label
:
i18n
.
t
(
'工序任务'
),
value
:
'taskCode'
,
width
:
'120px'
},
{
label
:
i18n
.
t
(
'工序任务'
),
value
:
'taskCode'
,
width
:
'120px'
},
{
label
:
i18n
.
t
(
'工序名称'
),
value
:
'processName'
,
width
:
'80px'
},
{
label
:
i18n
.
t
(
'工序名称'
),
value
:
'processName'
,
width
:
'80px'
},
{
label
:
i18n
.
t
(
'工作中心编码'
),
value
:
'workstationCode'
,
width
:
'100px'
},
{
label
:
i18n
.
t
(
'工作中心编码'
),
value
:
'workstationCode'
,
width
:
'100px'
},
{
label
:
i18n
.
t
(
'工作中心名称'
),
value
:
'workstationName'
,
width
:
'140px'
},
{
label
:
i18n
.
t
(
'工作中心名称'
),
value
:
'workstationName'
,
width
:
'140px'
},
{
label
:
i18n
.
t
(
'工作单元编码'
),
value
:
'workunitCode'
,
width
:
'100px'
},
{
label
:
i18n
.
t
(
'工作单元编码'
),
value
:
'workunitCode'
,
width
:
'100px'
},
{
label
:
i18n
.
t
(
'工作单元名称'
),
value
:
'workunitName'
,
width
:
'
14
0px'
},
{
label
:
i18n
.
t
(
'工作单元名称'
),
value
:
'workunitName'
,
width
:
'
28
0px'
},
{
label
:
i18n
.
t
(
'报工人员编码'
),
value
:
'userName'
,
width
:
'140px'
},
{
label
:
i18n
.
t
(
'报工人员编码'
),
value
:
'userName'
,
width
:
'140px'
},
{
label
:
i18n
.
t
(
'报工人员名称'
),
value
:
'nickName'
,
width
:
'140px'
},
{
label
:
i18n
.
t
(
'报工人员名称'
),
value
:
'nickName'
,
width
:
'140px'
},
{
label
:
i18n
.
t
(
'派工数量'
),
value
:
'quantity'
,
width
:
'80px'
},
{
label
:
i18n
.
t
(
'派工数量'
),
value
:
'quantity'
,
width
:
'80px'
},
...
@@ -207,10 +214,6 @@ export default {
...
@@ -207,10 +214,6 @@ export default {
{
label
:
i18n
.
t
(
'不合格时间'
),
value
:
'feedbackTime'
,
width
:
'100px'
}
{
label
:
i18n
.
t
(
'不合格时间'
),
value
:
'feedbackTime'
,
width
:
'100px'
}
]
]
this
.
handleQuery
()
this
.
handleQuery
()
}
else
{
this
.
statisisType
=
null
this
.
theaders
=
[]
this
.
total
=
0
}
}
},
},
immediate
:
true
immediate
:
true
...
@@ -238,8 +241,10 @@ export default {
...
@@ -238,8 +241,10 @@ export default {
}
}
},
},
tabClick
(
val
){
tabClick
(
val
){
console
.
log
(
'this.tabIndex'
,
this
.
tabIndex
,
val
)
this
.
tabIndex
=
val
.
index
this
.
tabIndex
=
val
.
index
this
.
$nextTick
(()
=>
{
this
.
_resizeHandler
()
})
},
},
onItemSelect
(
row
)
{
onItemSelect
(
row
)
{
if
(
row
!=
undefined
)
{
if
(
row
!=
undefined
)
{
...
@@ -253,12 +258,15 @@ export default {
...
@@ -253,12 +258,15 @@ export default {
if
(
this
.
daterangePurchaseDate
&&
this
.
daterangePurchaseDate
.
length
>
0
)
{
if
(
this
.
daterangePurchaseDate
&&
this
.
daterangePurchaseDate
.
length
>
0
)
{
this
.
queryParams
[
'startDate'
]
=
this
.
daterangePurchaseDate
[
0
]
this
.
queryParams
[
'startDate'
]
=
this
.
daterangePurchaseDate
[
0
]
this
.
queryParams
[
'endDate'
]
=
this
.
daterangePurchaseDate
[
1
]
this
.
queryParams
[
'endDate'
]
=
this
.
daterangePurchaseDate
[
1
]
}
}
else
{
this
.
queryParams
[
'startDate'
]
=
null
this
.
queryParams
[
'endDate'
]
=
null
}
let
api
=
getList
let
api
=
getList
if
(
Number
(
this
.
tabIndex
)
===
1
)
{
if
(
Number
(
this
.
tabIndex
)
===
1
)
{
if
(
this
.
statisisType
===
i18n
.
t
(
'工单'
)){
if
(
this
.
statisisType
===
i18n
.
t
(
'工单'
)){
api
=
getListByWorkOrder
api
=
getListByWorkOrder
this
.
theaders
=
[
this
.
theaders
1
=
[
{
label
:
i18n
.
t
(
'工单编码'
),
value
:
'workorderCode'
},
{
label
:
i18n
.
t
(
'工单编码'
),
value
:
'workorderCode'
},
{
label
:
i18n
.
t
(
'工单名称'
),
value
:
'workorderName'
},
{
label
:
i18n
.
t
(
'工单名称'
),
value
:
'workorderName'
},
{
label
:
i18n
.
t
(
'报工数量'
),
value
:
'quantityFeedback'
},
{
label
:
i18n
.
t
(
'报工数量'
),
value
:
'quantityFeedback'
},
...
@@ -269,7 +277,7 @@ export default {
...
@@ -269,7 +277,7 @@ export default {
}
else
if
(
this
.
statisisType
===
i18n
.
t
(
'不合格原因'
)){
}
else
if
(
this
.
statisisType
===
i18n
.
t
(
'不合格原因'
)){
api
=
getListByDefect
api
=
getListByDefect
this
.
theaders
=
[
this
.
theaders
1
=
[
{
label
:
i18n
.
t
(
'不合格原因'
),
value
:
'abnormalReason'
},
{
label
:
i18n
.
t
(
'不合格原因'
),
value
:
'abnormalReason'
},
{
label
:
i18n
.
t
(
'不合格备注'
),
value
:
'abnormalRemark'
},
{
label
:
i18n
.
t
(
'不合格备注'
),
value
:
'abnormalRemark'
},
{
label
:
i18n
.
t
(
'报工数量'
),
value
:
'quantityFeedback'
},
{
label
:
i18n
.
t
(
'报工数量'
),
value
:
'quantityFeedback'
},
...
@@ -278,7 +286,7 @@ export default {
...
@@ -278,7 +286,7 @@ export default {
{
label
:
i18n
.
t
(
'合格率'
),
value
:
'qualificationRate'
}
{
label
:
i18n
.
t
(
'合格率'
),
value
:
'qualificationRate'
}
]
]
}
else
if
(
this
.
statisisType
===
i18n
.
t
(
'车间'
)){
}
else
if
(
this
.
statisisType
===
i18n
.
t
(
'车间'
)){
this
.
theaders
=
[
this
.
theaders
1
=
[
{
label
:
i18n
.
t
(
'车间编号'
),
value
:
'workshopCode'
},
{
label
:
i18n
.
t
(
'车间编号'
),
value
:
'workshopCode'
},
{
label
:
i18n
.
t
(
'车间名称'
),
value
:
'workshopName'
},
{
label
:
i18n
.
t
(
'车间名称'
),
value
:
'workshopName'
},
{
label
:
i18n
.
t
(
'报工数量'
),
value
:
'quantityFeedback'
},
{
label
:
i18n
.
t
(
'报工数量'
),
value
:
'quantityFeedback'
},
...
@@ -288,7 +296,7 @@ export default {
...
@@ -288,7 +296,7 @@ export default {
]
]
api
=
getListByWorkshop
api
=
getListByWorkshop
}
else
if
(
this
.
statisisType
===
i18n
.
t
(
'工作中心'
)){
}
else
if
(
this
.
statisisType
===
i18n
.
t
(
'工作中心'
)){
this
.
theaders
=
[
this
.
theaders
1
=
[
{
label
:
i18n
.
t
(
'工作中心编号'
),
value
:
'workstationCode'
},
{
label
:
i18n
.
t
(
'工作中心编号'
),
value
:
'workstationCode'
},
{
label
:
i18n
.
t
(
'工作中心名称'
),
value
:
'workstationName'
},
{
label
:
i18n
.
t
(
'工作中心名称'
),
value
:
'workstationName'
},
{
label
:
i18n
.
t
(
'报工数量'
),
value
:
'quantityFeedback'
},
{
label
:
i18n
.
t
(
'报工数量'
),
value
:
'quantityFeedback'
},
...
@@ -298,7 +306,7 @@ export default {
...
@@ -298,7 +306,7 @@ export default {
]
]
api
=
getListByWorkstation
api
=
getListByWorkstation
}
else
if
(
this
.
statisisType
===
i18n
.
t
(
'工作单元'
)){
}
else
if
(
this
.
statisisType
===
i18n
.
t
(
'工作单元'
)){
this
.
theaders
=
[
this
.
theaders
1
=
[
{
label
:
i18n
.
t
(
'工作单元编码'
),
value
:
'workunitCode'
},
{
label
:
i18n
.
t
(
'工作单元编码'
),
value
:
'workunitCode'
},
{
label
:
i18n
.
t
(
'工作单元名称'
),
value
:
'workunitName'
},
{
label
:
i18n
.
t
(
'工作单元名称'
),
value
:
'workunitName'
},
{
label
:
i18n
.
t
(
'报工数量'
),
value
:
'quantityFeedback'
},
{
label
:
i18n
.
t
(
'报工数量'
),
value
:
'quantityFeedback'
},
...
@@ -308,7 +316,7 @@ export default {
...
@@ -308,7 +316,7 @@ export default {
]
]
api
=
getListByWorkunit
api
=
getListByWorkunit
}
else
if
(
this
.
statisisType
===
i18n
.
t
(
'工序'
)){
}
else
if
(
this
.
statisisType
===
i18n
.
t
(
'工序'
)){
this
.
theaders
=
[
this
.
theaders
1
=
[
{
label
:
i18n
.
t
(
'工序编码'
),
value
:
'processCode'
},
{
label
:
i18n
.
t
(
'工序编码'
),
value
:
'processCode'
},
{
label
:
i18n
.
t
(
'工序名称'
),
value
:
'processName'
},
{
label
:
i18n
.
t
(
'工序名称'
),
value
:
'processName'
},
{
label
:
i18n
.
t
(
'报工数量'
),
value
:
'quantityFeedback'
},
{
label
:
i18n
.
t
(
'报工数量'
),
value
:
'quantityFeedback'
},
...
@@ -318,7 +326,7 @@ export default {
...
@@ -318,7 +326,7 @@ export default {
]
]
api
=
getListByProcess
api
=
getListByProcess
}
else
if
(
this
.
statisisType
===
i18n
.
t
(
'人员'
)){
}
else
if
(
this
.
statisisType
===
i18n
.
t
(
'人员'
)){
this
.
theaders
=
[
this
.
theaders
1
=
[
{
label
:
i18n
.
t
(
'报工人员编码'
),
value
:
'userName'
},
{
label
:
i18n
.
t
(
'报工人员编码'
),
value
:
'userName'
},
{
label
:
i18n
.
t
(
'报工人员名称'
),
value
:
'nickName'
},
{
label
:
i18n
.
t
(
'报工人员名称'
),
value
:
'nickName'
},
{
label
:
i18n
.
t
(
'报工数量'
),
value
:
'quantityFeedback'
},
{
label
:
i18n
.
t
(
'报工数量'
),
value
:
'quantityFeedback'
},
...
@@ -330,7 +338,12 @@ export default {
...
@@ -330,7 +338,12 @@ export default {
}
}
}
}
api
(
this
.
queryParams
).
then
(
response
=>
{
api
(
this
.
queryParams
).
then
(
response
=>
{
this
.
tbodys
=
response
.
rows
;
if
(
Number
(
this
.
tabIndex
)
===
1
)
{
this
.
tbodys1
=
response
.
rows
}
else
{
this
.
tbodys
=
response
.
rows
}
this
.
total
=
response
.
total
;
this
.
total
=
response
.
total
;
this
.
loading
=
false
;
this
.
loading
=
false
;
});
});
...
...
src/views/mes/proTable/dayProduct/index.vue
View file @
7fe0e0a8
...
@@ -98,6 +98,7 @@ import i18n from '../../../../i18n/index'
...
@@ -98,6 +98,7 @@ import i18n from '../../../../i18n/index'
import
{
getList
,
getListByProcess
,
getListByUser
,
getListByWorkshop
,
getListByDefect
,
getListByWorkOrder
,
getListByWorkstation
,
getListByWorkunit
}
from
"@/api/mes/proTable/statistAnaly"
;
import
{
getList
,
getListByProcess
,
getListByUser
,
getListByWorkshop
,
getListByDefect
,
getListByWorkOrder
,
getListByWorkstation
,
getListByWorkunit
}
from
"@/api/mes/proTable/statistAnaly"
;
import
ItemSelect
from
"@/components/itemSelect/single.vue"
;
import
ItemSelect
from
"@/components/itemSelect/single.vue"
;
import
reasonSelect
from
"@/components/reasonSelect/single.vue"
import
reasonSelect
from
"@/components/reasonSelect/single.vue"
import
dayjs
from
'dayjs'
export
default
{
export
default
{
name
:
"ScheduleSetupRule"
,
name
:
"ScheduleSetupRule"
,
...
@@ -134,7 +135,7 @@ export default {
...
@@ -134,7 +135,7 @@ export default {
// 是否显示弹出层
// 是否显示弹出层
open
:
false
,
open
:
false
,
tableHeight
:
0
,
tableHeight
:
0
,
daterangePurchaseDate
:
[],
daterangePurchaseDate
:
[
dayjs
().
startOf
(
'month'
).
format
(
'YYYY-MM-DD'
),
dayjs
().
endOf
(
'month'
).
format
(
'YYYY-MM-DD'
)
],
// 查询参数
// 查询参数
queryParams
:
{
queryParams
:
{
pageNum
:
1
,
pageNum
:
1
,
...
@@ -191,12 +192,12 @@ export default {
...
@@ -191,12 +192,12 @@ export default {
{
label
:
i18n
.
t
(
'生产工单'
),
value
:
'workorderCode'
,
width
:
'140px'
},
{
label
:
i18n
.
t
(
'生产工单'
),
value
:
'workorderCode'
,
width
:
'140px'
},
{
label
:
i18n
.
t
(
'产品编码'
),
value
:
'productCode'
,
width
:
'120px'
},
{
label
:
i18n
.
t
(
'产品编码'
),
value
:
'productCode'
,
width
:
'120px'
},
{
label
:
i18n
.
t
(
'产品名称'
),
value
:
'productName'
,
width
:
'120px'
},
{
label
:
i18n
.
t
(
'产品名称'
),
value
:
'productName'
,
width
:
'120px'
},
{
label
:
i18n
.
t
(
'工序任务'
),
value
:
'taskCode'
,
width
:
'
12
0px'
},
{
label
:
i18n
.
t
(
'工序任务'
),
value
:
'taskCode'
,
width
:
'
24
0px'
},
{
label
:
i18n
.
t
(
'工序名称'
),
value
:
'processName'
,
width
:
'80px'
},
{
label
:
i18n
.
t
(
'工序名称'
),
value
:
'processName'
,
width
:
'80px'
},
{
label
:
i18n
.
t
(
'工作中心编码'
),
value
:
'workstationCode'
,
width
:
'100px'
},
{
label
:
i18n
.
t
(
'工作中心编码'
),
value
:
'workstationCode'
,
width
:
'100px'
},
{
label
:
i18n
.
t
(
'工作中心名称'
),
value
:
'workstationName'
,
width
:
'140px'
},
{
label
:
i18n
.
t
(
'工作中心名称'
),
value
:
'workstationName'
,
width
:
'140px'
},
{
label
:
i18n
.
t
(
'工作单元编码'
),
value
:
'workunitCode'
,
width
:
'100px'
},
{
label
:
i18n
.
t
(
'工作单元编码'
),
value
:
'workunitCode'
,
width
:
'100px'
},
{
label
:
i18n
.
t
(
'工作单元名称'
),
value
:
'workunitName'
,
width
:
'
14
0px'
},
{
label
:
i18n
.
t
(
'工作单元名称'
),
value
:
'workunitName'
,
width
:
'
28
0px'
},
{
label
:
i18n
.
t
(
'报工人员编码'
),
value
:
'userName'
,
width
:
'140px'
},
{
label
:
i18n
.
t
(
'报工人员编码'
),
value
:
'userName'
,
width
:
'140px'
},
{
label
:
i18n
.
t
(
'报工人员名称'
),
value
:
'nickName'
,
width
:
'140px'
},
{
label
:
i18n
.
t
(
'报工人员名称'
),
value
:
'nickName'
,
width
:
'140px'
},
{
label
:
i18n
.
t
(
'派工数量'
),
value
:
'quantity'
,
width
:
'80px'
},
{
label
:
i18n
.
t
(
'派工数量'
),
value
:
'quantity'
,
width
:
'80px'
},
...
@@ -253,7 +254,10 @@ export default {
...
@@ -253,7 +254,10 @@ export default {
if
(
this
.
daterangePurchaseDate
&&
this
.
daterangePurchaseDate
.
length
>
0
)
{
if
(
this
.
daterangePurchaseDate
&&
this
.
daterangePurchaseDate
.
length
>
0
)
{
this
.
queryParams
[
'startDate'
]
=
this
.
daterangePurchaseDate
[
0
]
this
.
queryParams
[
'startDate'
]
=
this
.
daterangePurchaseDate
[
0
]
this
.
queryParams
[
'endDate'
]
=
this
.
daterangePurchaseDate
[
1
]
this
.
queryParams
[
'endDate'
]
=
this
.
daterangePurchaseDate
[
1
]
}
}
else
{
this
.
queryParams
[
'startDate'
]
=
null
this
.
queryParams
[
'endDate'
]
=
null
}
let
api
=
getList
let
api
=
getList
if
(
Number
(
this
.
tabIndex
)
===
1
)
{
if
(
Number
(
this
.
tabIndex
)
===
1
)
{
if
(
this
.
statisisType
===
i18n
.
t
(
'工单'
)){
if
(
this
.
statisisType
===
i18n
.
t
(
'工单'
)){
...
...
src/views/mes/proTable/dayStatist/index.vue
View file @
7fe0e0a8
...
@@ -124,7 +124,7 @@ import ProcessSelect from "@/components/process/taskSelectSingle.vue";
...
@@ -124,7 +124,7 @@ import ProcessSelect from "@/components/process/taskSelectSingle.vue";
import
workshopSelect
from
"@/components/workshopSelect/single.vue"
;
import
workshopSelect
from
"@/components/workshopSelect/single.vue"
;
import
WorkuintSelect
from
"@/components/workunitSelect/single.vue"
;
import
WorkuintSelect
from
"@/components/workunitSelect/single.vue"
;
import
WorkstationSelect
from
"@/components/workstationSelect/simpletableSingle.vue"
import
WorkstationSelect
from
"@/components/workstationSelect/simpletableSingle.vue"
import
UserSingleSelect
from
"@/components/userSelect/single.vue"
import
UserSingleSelect
from
"@/components/userSelect/single
1
.vue"
import
dayjs
from
'dayjs'
import
dayjs
from
'dayjs'
export
default
{
export
default
{
name
:
"ScheduleSetupRule"
,
name
:
"ScheduleSetupRule"
,
...
...
src/views/mes/proTable/monthStatist/index.vue
View file @
7fe0e0a8
...
@@ -121,7 +121,7 @@ import ProcessSelect from "@/components/process/taskSelectSingle.vue";
...
@@ -121,7 +121,7 @@ import ProcessSelect from "@/components/process/taskSelectSingle.vue";
import
workshopSelect
from
"@/components/workshopSelect/single.vue"
;
import
workshopSelect
from
"@/components/workshopSelect/single.vue"
;
import
WorkuintSelect
from
"@/components/workunitSelect/single.vue"
;
import
WorkuintSelect
from
"@/components/workunitSelect/single.vue"
;
import
WorkstationSelect
from
"@/components/workstationSelect/simpletableSingle.vue"
import
WorkstationSelect
from
"@/components/workstationSelect/simpletableSingle.vue"
import
UserSingleSelect
from
"@/components/userSelect/single.vue"
import
UserSingleSelect
from
"@/components/userSelect/single
1
.vue"
import
dayjs
from
'dayjs'
import
dayjs
from
'dayjs'
export
default
{
export
default
{
name
:
"ScheduleSetupRule"
,
name
:
"ScheduleSetupRule"
,
...
...
src/views/mes/proTable/productProcess/index.vue
View file @
7fe0e0a8
...
@@ -23,7 +23,7 @@
...
@@ -23,7 +23,7 @@
<el-button
icon=
"el-icon-refresh"
size=
"mini"
@
click=
"resetQuery"
>
{{
$t
(
'重置'
)
}}
</el-button>
<el-button
icon=
"el-icon-refresh"
size=
"mini"
@
click=
"resetQuery"
>
{{
$t
(
'重置'
)
}}
</el-button>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
<el-table
v-loading=
"loading"
:data=
"tbodys"
@
row-click=
"mainTableClick"
:
max-height=
"tableHeight
"
>
<el-table
v-loading=
"loading"
:data=
"tbodys"
@
row-click=
"mainTableClick"
:
height=
"tableHeight"
:row-class-name=
"tableRowClassName
"
>
<el-table-column
:label=
"$t('项目号')"
align=
"center"
prop=
"customerProjectNo"
></el-table-column>
<el-table-column
:label=
"$t('项目号')"
align=
"center"
prop=
"customerProjectNo"
></el-table-column>
<el-table-column
:label=
"$t('订单号')"
align=
"center"
prop=
"orderCode"
></el-table-column>
<el-table-column
:label=
"$t('订单号')"
align=
"center"
prop=
"orderCode"
></el-table-column>
<el-table-column
:label=
"$t('生产工单')"
align=
"center"
prop=
"workorderCode"
></el-table-column>
<el-table-column
:label=
"$t('生产工单')"
align=
"center"
prop=
"workorderCode"
></el-table-column>
...
@@ -51,7 +51,7 @@
...
@@ -51,7 +51,7 @@
@
pagination=
"getList"
@
pagination=
"getList"
/>
/>
<div
class=
"second-box"
v-if=
"isShowSecond"
>
<div
class=
"second-box"
v-if=
"isShowSecond"
>
<el-table
v-loading=
"loadingLeft"
:data=
"tbodysLeft"
border
@
row-click=
"secondTableClick"
:max-height=
"tableHeightSecond"
>
<el-table
v-loading=
"loadingLeft"
:data=
"tbodysLeft"
border
@
row-click=
"secondTableClick"
:max-height=
"tableHeightSecond"
:row-class-name=
"tableRowClassName1"
>
<el-table-column
:label=
"$t('状态')"
align=
"center"
prop=
"status"
></el-table-column>
<el-table-column
:label=
"$t('状态')"
align=
"center"
prop=
"status"
></el-table-column>
<el-table-column
:label=
"$t('工序名称')"
align=
"center"
prop=
"processName"
></el-table-column>
<el-table-column
:label=
"$t('工序名称')"
align=
"center"
prop=
"processName"
></el-table-column>
<el-table-column
:label=
"$t('派工数量')"
align=
"center"
prop=
"quantity"
></el-table-column>
<el-table-column
:label=
"$t('派工数量')"
align=
"center"
prop=
"quantity"
></el-table-column>
...
@@ -59,7 +59,11 @@
...
@@ -59,7 +59,11 @@
</el-table-column>
</el-table-column>
<el-table-column
:label=
"$t('合格数量')"
align=
"center"
prop=
"quantityQualify"
></el-table-column>
<el-table-column
:label=
"$t('合格数量')"
align=
"center"
prop=
"quantityQualify"
></el-table-column>
<el-table-column
:label=
"$t('不合格数量')"
align=
"center"
prop=
"quantityUnqualify"
></el-table-column>
<el-table-column
:label=
"$t('不合格数量')"
align=
"center"
prop=
"quantityUnqualify"
></el-table-column>
<el-table-column
:label=
"$t('合格率')"
align=
"center"
prop=
"passRate"
></el-table-column>
<el-table-column
:label=
"$t('合格率')"
align=
"center"
prop=
"passRate"
>
、
<
template
slot-scope=
"scope"
>
{{
scope
.
row
.
passRate
?
`${scope.row.passRate
}
%`
:
''
}}
<
/template
>
<
/el-table-column
>
<
/el-table
>
<
/el-table
>
<
el
-
table
v
-
loading
=
"loadingRight"
:
data
=
"tbodysRight"
border
:
max
-
height
=
"tableHeightSecond"
style
=
"margin-left: 15px"
>
<
el
-
table
v
-
loading
=
"loadingRight"
:
data
=
"tbodysRight"
border
:
max
-
height
=
"tableHeightSecond"
style
=
"margin-left: 15px"
>
<
el
-
table
-
column
:
label
=
"$t('报工人员')"
align
=
"center"
prop
=
"nickName"
><
/el-table-column
>
<
el
-
table
-
column
:
label
=
"$t('报工人员')"
align
=
"center"
prop
=
"nickName"
><
/el-table-column
>
...
@@ -98,6 +102,8 @@ export default {
...
@@ -98,6 +102,8 @@ export default {
loadingLeft
:
true
,
loadingLeft
:
true
,
loadingRight
:
true
,
loadingRight
:
true
,
isShowSecond
:
false
,
isShowSecond
:
false
,
highlightRow
:
null
,
// 当前高亮的行
highlightRow1
:
null
,
// 当前高亮的行
tbodysLeft
:[],
tbodysLeft
:[],
tbodysRight
:[],
tbodysRight
:[],
tableHeightSecond
:
0
,
tableHeightSecond
:
0
,
...
@@ -177,7 +183,8 @@ export default {
...
@@ -177,7 +183,8 @@ export default {
methods
:
{
methods
:
{
mainTableClick
(
row
){
mainTableClick
(
row
){
this
.
loadingLeft
=
true
;
this
.
loadingLeft
=
true
;
getProcessList
({
workorderCode
:
row
.
workorderCode
}).
then
(
response
=>
{
this
.
highlightRow
=
row
;
getProcessList
({
workorderCode
:
row
.
workorderCode
,
taskWorkunitId
:
row
.
taskWorkunitId
}
).
then
(
response
=>
{
response
.
rows
.
forEach
(
element
=>
{
response
.
rows
.
forEach
(
element
=>
{
element
[
'workorderCode'
]
=
row
.
workorderCode
element
[
'workorderCode'
]
=
row
.
workorderCode
}
);
}
);
...
@@ -189,7 +196,8 @@ export default {
...
@@ -189,7 +196,8 @@ export default {
}
,
}
,
secondTableClick
(
row
)
{
secondTableClick
(
row
)
{
this
.
loadingRight
=
true
;
this
.
loadingRight
=
true
;
getFeedbackList
({
workorderCode
:
row
.
workorderCode
,
taskId
:
row
.
taskId
}).
then
(
response
=>
{
this
.
highlightRow1
=
row
;
getFeedbackList
({
workorderCode
:
row
.
workorderCode
,
taskId
:
row
.
taskId
,
taskWorkunitId
:
row
.
taskWorkunitId
}
).
then
(
response
=>
{
this
.
tbodysRight
=
response
.
rows
;
this
.
tbodysRight
=
response
.
rows
;
this
.
loadingRight
=
false
;
this
.
loadingRight
=
false
;
}
);
}
);
...
@@ -199,10 +207,30 @@ export default {
...
@@ -199,10 +207,30 @@ export default {
this
.
queryParams
.
productName
=
row
.
itemName
;
this
.
queryParams
.
productName
=
row
.
itemName
;
}
}
}
,
}
,
tableRowClassName
({
row
,
rowIndex
}
)
{
if
(
!
row
.
workorderId
||
!
this
.
highlightRow
)
return
''
// 如果当前行是高亮行,则添加特定的类名
if
(
row
.
workorderId
===
this
.
highlightRow
.
workorderId
)
{
return
'highlight-row'
;
}
return
''
;
}
,
tableRowClassName1
({
row
,
rowIndex
}
)
{
// 如果当前行是高亮行,则添加特定的类名
if
(
row
===
this
.
highlightRow1
)
{
return
'highlight-row'
;
}
if
(
row
.
status
===
'已完工'
)
{
return
'green'
;
}
if
(
row
.
status
===
'故障停工'
||
row
.
status
===
'暂停'
)
{
return
'red'
;
}
if
(
row
.
status
===
'加工中'
)
{
return
'blue'
;
}
return
''
;
}
,
/** 查询排产换型对照信息列表 */
/** 查询排产换型对照信息列表 */
getList
()
{
getList
()
{
this
.
loading
=
true
;
this
.
loading
=
true
;
this
.
isShowSecond
=
false
this
.
queryParams
[
'defectStatus'
]
=
true
this
.
queryParams
[
'defectStatus'
]
=
true
if
(
this
.
daterangePurchaseDate
&&
this
.
daterangePurchaseDate
.
length
>
0
)
{
if
(
this
.
daterangePurchaseDate
&&
this
.
daterangePurchaseDate
.
length
>
0
)
{
this
.
queryParams
[
'startDate'
]
=
this
.
daterangePurchaseDate
[
0
]
this
.
queryParams
[
'startDate'
]
=
this
.
daterangePurchaseDate
[
0
]
...
@@ -261,5 +289,30 @@ export default {
...
@@ -261,5 +289,30 @@ export default {
.
pagination
-
container
{
.
pagination
-
container
{
padding
:
0
px
20
px
!
important
;
padding
:
0
px
20
px
!
important
;
}
}
::
v
-
deep
.
highlight
-
row
{
background
-
color
:
#
e5eeff
!
important
;
td
{
background
-
color
:
#
e5eeff
!
important
;
}
}
::
v
-
deep
.
green
{
background
-
color
:
#
aaf8aa
!
important
;
td
{
background
-
color
:
#
aaf8aa
!
important
;
}
}
::
v
-
deep
.
blue
{
background
-
color
:
#
82
ccf4
!
important
;
td
{
background
-
color
:
#
82
ccf4
!
important
;
}
}
::
v
-
deep
.
red
{
background
-
color
:
#
f48d82
!
important
;
td
{
background
-
color
:
#
f48d82
!
important
;
}
}
}
}
<
/style
>
<
/style
>
src/views/mes/proTable/statistAnaly/index.vue
View file @
7fe0e0a8
...
@@ -100,8 +100,7 @@
...
@@ -100,8 +100,7 @@
</el-tab-pane>
</el-tab-pane>
<el-tab-pane
:label=
"$t('统计')"
>
<el-tab-pane
:label=
"$t('统计')"
>
<el-row
align=
"center"
style=
"line-height: 40px;"
>
<el-row
align=
"center"
style=
"line-height: 40px;"
>
<el-col
:span=
"1"
>
{{$t('统计方式')}}
</el-col>
<el-col
:span=
"7"
>
{{$t('统计方式')}}
<el-col
:span=
"4"
>
<el-select
v-model=
"statisisType"
clearable
:placeholder=
"$t('请选择统计方式')"
>
<el-select
v-model=
"statisisType"
clearable
:placeholder=
"$t('请选择统计方式')"
>
<el-option
v-for=
"item in statisisList"
<el-option
v-for=
"item in statisisList"
:key=
"item"
:key=
"item"
...
@@ -114,8 +113,8 @@
...
@@ -114,8 +113,8 @@
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"handleQuery"
>
{{$t('查询')}}
</el-button>
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"handleQuery"
>
{{$t('查询')}}
</el-button>
</el-col>
</el-col>
</el-row>
</el-row>
<el-table
v-loading=
"loading"
:max-height=
"tableHeight"
:data=
"tbodys"
>
<el-table
v-loading=
"loading"
:max-height=
"tableHeight"
:data=
"tbodys
1
"
>
<el-table-column
:label=
"item.label"
align=
"center"
:prop=
"item.value"
v-for=
"(item, index) in theaders"
:key=
"index"
>
<el-table-column
:label=
"item.label"
align=
"center"
:prop=
"item.value"
v-for=
"(item, index) in theaders
1
"
:key=
"index"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.mes_workorder_type"
:value=
"scope.row.workorderType"
v-if=
"item.value==='workorderType'"
/>
<dict-tag
:options=
"dict.type.mes_workorder_type"
:value=
"scope.row.workorderType"
v-if=
"item.value==='workorderType'"
/>
<div
v-else
>
{{
item
.
value
===
'machineTime'
?
scope
.
row
[
item
.
value
]
?
Number
(
scope
.
row
[
item
.
value
]).
toFixed
(
2
)
:
scope
.
row
[
item
.
value
]
:
scope
.
row
[
item
.
value
]
}}
</div>
<div
v-else
>
{{
item
.
value
===
'machineTime'
?
scope
.
row
[
item
.
value
]
?
Number
(
scope
.
row
[
item
.
value
]).
toFixed
(
2
)
:
scope
.
row
[
item
.
value
]
:
scope
.
row
[
item
.
value
]
}}
</div>
...
@@ -156,6 +155,7 @@
...
@@ -156,6 +155,7 @@
<
script
>
<
script
>
import
i18n
from
'../../../../i18n/index'
import
i18n
from
'../../../../i18n/index'
import
dayjs
from
'dayjs'
import
{
getList
,
getListByProcess
,
getListByUser
,
getListByWorkshop
,
getListByWorkOrder
,
getListByWorkstation
,
getListByWorkunit
}
from
"@/api/mes/proTable/statistAnaly"
;
import
{
getList
,
getListByProcess
,
getListByUser
,
getListByWorkshop
,
getListByWorkOrder
,
getListByWorkstation
,
getListByWorkunit
}
from
"@/api/mes/proTable/statistAnaly"
;
import
ProcessSelect
from
"@/components/process/taskSelectSingle.vue"
;
import
ProcessSelect
from
"@/components/process/taskSelectSingle.vue"
;
...
@@ -163,7 +163,7 @@ import i18n from '../../../../i18n/index'
...
@@ -163,7 +163,7 @@ import i18n from '../../../../i18n/index'
import
workshopSelect
from
"@/components/workshopSelect/single.vue"
;
import
workshopSelect
from
"@/components/workshopSelect/single.vue"
;
import
WorkuintSelect
from
"@/components/workunitSelect/single.vue"
;
import
WorkuintSelect
from
"@/components/workunitSelect/single.vue"
;
import
WorkstationSelect
from
"@/components/workstationSelect/simpletableSingle.vue"
import
WorkstationSelect
from
"@/components/workstationSelect/simpletableSingle.vue"
import
UserSingleSelect
from
"@/components/userSelect/single.vue"
import
UserSingleSelect
from
"@/components/userSelect/single
1
.vue"
export
default
{
export
default
{
name
:
"ScheduleSetupRule"
,
name
:
"ScheduleSetupRule"
,
...
@@ -193,6 +193,8 @@ import i18n from '../../../../i18n/index'
...
@@ -193,6 +193,8 @@ import i18n from '../../../../i18n/index'
// 排产换型对照信息表格数据
// 排产换型对照信息表格数据
tbodys
:
[],
tbodys
:
[],
theaders
:
[],
theaders
:
[],
tbodys1
:
[],
theaders1
:
[],
// 弹出层标题
// 弹出层标题
title
:
""
,
title
:
""
,
statisisType
:
null
,
statisisType
:
null
,
...
@@ -200,7 +202,7 @@ import i18n from '../../../../i18n/index'
...
@@ -200,7 +202,7 @@ import i18n from '../../../../i18n/index'
// 是否显示弹出层
// 是否显示弹出层
open
:
false
,
open
:
false
,
tableHeight
:
0
,
tableHeight
:
0
,
daterangePurchaseDate
:
[],
daterangePurchaseDate
:
[
dayjs
().
startOf
(
'month'
).
format
(
'YYYY-MM-DD'
),
dayjs
().
endOf
(
'month'
).
format
(
'YYYY-MM-DD'
)
],
// 查询参数
// 查询参数
queryParams
:
{
queryParams
:
{
pageNum
:
1
,
pageNum
:
1
,
...
@@ -236,7 +238,12 @@ import i18n from '../../../../i18n/index'
...
@@ -236,7 +238,12 @@ import i18n from '../../../../i18n/index'
this
.
_resizeHandler
()
this
.
_resizeHandler
()
})
})
this
.
_resizeHandler
=
()
=>
{
this
.
_resizeHandler
=
()
=>
{
this
.
tableHeight
=
window
.
innerHeight
-
400
const
arr
=
document
.
getElementsByClassName
(
'el-form'
)
const
height
=
arr
[
0
].
offsetHeight
const
arr1
=
document
.
getElementsByClassName
(
'app-main'
)
const
height1
=
arr1
[
0
].
offsetHeight
console
.
log
(
'this.tabIndex'
,
this
.
tabIndex
)
this
.
tableHeight
=
height1
-
height
-
(
this
.
tabIndex
?
200
:
170
)
}
}
window
.
addEventListener
(
'resize'
,
this
.
_resizeHandler
)
window
.
addEventListener
(
'resize'
,
this
.
_resizeHandler
)
},
},
...
@@ -256,13 +263,13 @@ import i18n from '../../../../i18n/index'
...
@@ -256,13 +263,13 @@ import i18n from '../../../../i18n/index'
{
label
:
i18n
.
t
(
'订单号'
),
value
:
'orderCode'
,
width
:
'80px'
},
{
label
:
i18n
.
t
(
'订单号'
),
value
:
'orderCode'
,
width
:
'80px'
},
{
label
:
i18n
.
t
(
'生产工单'
),
value
:
'workorderCode'
,
width
:
'140px'
},
{
label
:
i18n
.
t
(
'生产工单'
),
value
:
'workorderCode'
,
width
:
'140px'
},
{
label
:
i18n
.
t
(
'产品编码'
),
value
:
'productCode'
,
width
:
'120px'
},
{
label
:
i18n
.
t
(
'产品编码'
),
value
:
'productCode'
,
width
:
'120px'
},
{
label
:
i18n
.
t
(
'产品名称'
),
value
:
'productName'
,
width
:
'
12
0px'
},
{
label
:
i18n
.
t
(
'产品名称'
),
value
:
'productName'
,
width
:
'
24
0px'
},
{
label
:
i18n
.
t
(
'工序任务'
),
value
:
'taskCode'
,
width
:
'120px'
},
{
label
:
i18n
.
t
(
'工序任务'
),
value
:
'taskCode'
,
width
:
'120px'
},
{
label
:
i18n
.
t
(
'工序名称'
),
value
:
'processName'
,
width
:
'80px'
},
{
label
:
i18n
.
t
(
'工序名称'
),
value
:
'processName'
,
width
:
'80px'
},
{
label
:
i18n
.
t
(
'工作中心编码'
),
value
:
'workstationCode'
,
width
:
'100px'
},
{
label
:
i18n
.
t
(
'工作中心编码'
),
value
:
'workstationCode'
,
width
:
'100px'
},
{
label
:
i18n
.
t
(
'工作中心名称'
),
value
:
'workstationName'
,
width
:
'140px'
},
{
label
:
i18n
.
t
(
'工作中心名称'
),
value
:
'workstationName'
,
width
:
'140px'
},
{
label
:
i18n
.
t
(
'工作单元编码'
),
value
:
'workunitCode'
,
width
:
'100px'
},
{
label
:
i18n
.
t
(
'工作单元编码'
),
value
:
'workunitCode'
,
width
:
'100px'
},
{
label
:
i18n
.
t
(
'工作单元名称'
),
value
:
'workunitName'
,
width
:
'
14
0px'
},
{
label
:
i18n
.
t
(
'工作单元名称'
),
value
:
'workunitName'
,
width
:
'
28
0px'
},
{
label
:
i18n
.
t
(
'报工人员编码'
),
value
:
'userName'
,
width
:
'140px'
},
{
label
:
i18n
.
t
(
'报工人员编码'
),
value
:
'userName'
,
width
:
'140px'
},
{
label
:
i18n
.
t
(
'报工人员名称'
),
value
:
'nickName'
,
width
:
'140px'
},
{
label
:
i18n
.
t
(
'报工人员名称'
),
value
:
'nickName'
,
width
:
'140px'
},
{
label
:
i18n
.
t
(
'派工数量'
),
value
:
'quantity'
,
width
:
'80px'
},
{
label
:
i18n
.
t
(
'派工数量'
),
value
:
'quantity'
,
width
:
'80px'
},
...
@@ -276,10 +283,6 @@ import i18n from '../../../../i18n/index'
...
@@ -276,10 +283,6 @@ import i18n from '../../../../i18n/index'
{
label
:
i18n
.
t
(
'报工时间'
),
value
:
'feedbackTime'
,
width
:
'100px'
}
{
label
:
i18n
.
t
(
'报工时间'
),
value
:
'feedbackTime'
,
width
:
'100px'
}
]
]
this
.
handleQuery
()
this
.
handleQuery
()
}
else
{
this
.
statisisType
=
null
this
.
theaders
=
[]
this
.
total
=
0
}
}
},
},
immediate
:
true
immediate
:
true
...
@@ -310,6 +313,9 @@ import i18n from '../../../../i18n/index'
...
@@ -310,6 +313,9 @@ import i18n from '../../../../i18n/index'
tabClick
(
val
){
tabClick
(
val
){
console
.
log
(
'this.tabIndex'
,
this
.
tabIndex
,
val
)
console
.
log
(
'this.tabIndex'
,
this
.
tabIndex
,
val
)
this
.
tabIndex
=
val
.
index
this
.
tabIndex
=
val
.
index
this
.
$nextTick
(()
=>
{
this
.
_resizeHandler
()
})
},
},
onItemSelect
(
row
)
{
onItemSelect
(
row
)
{
if
(
row
!=
undefined
)
{
if
(
row
!=
undefined
)
{
...
@@ -322,12 +328,15 @@ import i18n from '../../../../i18n/index'
...
@@ -322,12 +328,15 @@ import i18n from '../../../../i18n/index'
if
(
this
.
daterangePurchaseDate
&&
this
.
daterangePurchaseDate
.
length
>
0
)
{
if
(
this
.
daterangePurchaseDate
&&
this
.
daterangePurchaseDate
.
length
>
0
)
{
this
.
queryParams
[
'startDate'
]
=
this
.
daterangePurchaseDate
[
0
]
this
.
queryParams
[
'startDate'
]
=
this
.
daterangePurchaseDate
[
0
]
this
.
queryParams
[
'endDate'
]
=
this
.
daterangePurchaseDate
[
1
]
this
.
queryParams
[
'endDate'
]
=
this
.
daterangePurchaseDate
[
1
]
}
else
{
this
.
queryParams
[
'startDate'
]
=
null
this
.
queryParams
[
'endDate'
]
=
null
}
}
let
api
=
getList
let
api
=
getList
if
(
Number
(
this
.
tabIndex
)
===
1
)
{
if
(
Number
(
this
.
tabIndex
)
===
1
)
{
if
(
this
.
statisisType
===
i18n
.
t
(
'工单'
)){
if
(
this
.
statisisType
===
i18n
.
t
(
'工单'
)){
api
=
getListByWorkOrder
api
=
getListByWorkOrder
this
.
theaders
=
[
this
.
theaders
1
=
[
{
label
:
i18n
.
t
(
'工单编码'
),
value
:
'workorderCode'
},
{
label
:
i18n
.
t
(
'工单编码'
),
value
:
'workorderCode'
},
{
label
:
i18n
.
t
(
'工单名称'
),
value
:
'workorderName'
},
{
label
:
i18n
.
t
(
'工单名称'
),
value
:
'workorderName'
},
{
label
:
i18n
.
t
(
'报工数量'
),
value
:
'quantityFeedback'
},
{
label
:
i18n
.
t
(
'报工数量'
),
value
:
'quantityFeedback'
},
...
@@ -337,7 +346,7 @@ import i18n from '../../../../i18n/index'
...
@@ -337,7 +346,7 @@ import i18n from '../../../../i18n/index'
]
]
}
else
if
(
this
.
statisisType
===
i18n
.
t
(
'车间'
)){
}
else
if
(
this
.
statisisType
===
i18n
.
t
(
'车间'
)){
this
.
theaders
=
[
this
.
theaders
1
=
[
{
label
:
i18n
.
t
(
'车间编号'
),
value
:
'workshopCode'
},
{
label
:
i18n
.
t
(
'车间编号'
),
value
:
'workshopCode'
},
{
label
:
i18n
.
t
(
'车间名称'
),
value
:
'workshopName'
},
{
label
:
i18n
.
t
(
'车间名称'
),
value
:
'workshopName'
},
{
label
:
i18n
.
t
(
'报工数量'
),
value
:
'quantityFeedback'
},
{
label
:
i18n
.
t
(
'报工数量'
),
value
:
'quantityFeedback'
},
...
@@ -347,7 +356,7 @@ import i18n from '../../../../i18n/index'
...
@@ -347,7 +356,7 @@ import i18n from '../../../../i18n/index'
]
]
api
=
getListByWorkshop
api
=
getListByWorkshop
}
else
if
(
this
.
statisisType
===
i18n
.
t
(
'工作中心'
)){
}
else
if
(
this
.
statisisType
===
i18n
.
t
(
'工作中心'
)){
this
.
theaders
=
[
this
.
theaders
1
=
[
{
label
:
i18n
.
t
(
'工作中心编号'
),
value
:
'workstationCode'
},
{
label
:
i18n
.
t
(
'工作中心编号'
),
value
:
'workstationCode'
},
{
label
:
i18n
.
t
(
'工作中心名称'
),
value
:
'workstationName'
},
{
label
:
i18n
.
t
(
'工作中心名称'
),
value
:
'workstationName'
},
{
label
:
i18n
.
t
(
'报工数量'
),
value
:
'quantityFeedback'
},
{
label
:
i18n
.
t
(
'报工数量'
),
value
:
'quantityFeedback'
},
...
@@ -357,7 +366,7 @@ import i18n from '../../../../i18n/index'
...
@@ -357,7 +366,7 @@ import i18n from '../../../../i18n/index'
]
]
api
=
getListByWorkstation
api
=
getListByWorkstation
}
else
if
(
this
.
statisisType
===
i18n
.
t
(
'工作单元'
)){
}
else
if
(
this
.
statisisType
===
i18n
.
t
(
'工作单元'
)){
this
.
theaders
=
[
this
.
theaders
1
=
[
{
label
:
i18n
.
t
(
'工作单元编码'
),
value
:
'workunitCode'
},
{
label
:
i18n
.
t
(
'工作单元编码'
),
value
:
'workunitCode'
},
{
label
:
i18n
.
t
(
'工作单元名称'
),
value
:
'workunitName'
},
{
label
:
i18n
.
t
(
'工作单元名称'
),
value
:
'workunitName'
},
{
label
:
i18n
.
t
(
'报工数量'
),
value
:
'quantityFeedback'
},
{
label
:
i18n
.
t
(
'报工数量'
),
value
:
'quantityFeedback'
},
...
@@ -367,7 +376,7 @@ import i18n from '../../../../i18n/index'
...
@@ -367,7 +376,7 @@ import i18n from '../../../../i18n/index'
]
]
api
=
getListByWorkunit
api
=
getListByWorkunit
}
else
if
(
this
.
statisisType
===
i18n
.
t
(
'工序'
)){
}
else
if
(
this
.
statisisType
===
i18n
.
t
(
'工序'
)){
this
.
theaders
=
[
this
.
theaders
1
=
[
{
label
:
i18n
.
t
(
'工序编码'
),
value
:
'processCode'
},
{
label
:
i18n
.
t
(
'工序编码'
),
value
:
'processCode'
},
{
label
:
i18n
.
t
(
'工序名称'
),
value
:
'processName'
},
{
label
:
i18n
.
t
(
'工序名称'
),
value
:
'processName'
},
{
label
:
i18n
.
t
(
'报工数量'
),
value
:
'quantityFeedback'
},
{
label
:
i18n
.
t
(
'报工数量'
),
value
:
'quantityFeedback'
},
...
@@ -377,7 +386,7 @@ import i18n from '../../../../i18n/index'
...
@@ -377,7 +386,7 @@ import i18n from '../../../../i18n/index'
]
]
api
=
getListByProcess
api
=
getListByProcess
}
else
if
(
this
.
statisisType
===
i18n
.
t
(
'人员'
)){
}
else
if
(
this
.
statisisType
===
i18n
.
t
(
'人员'
)){
this
.
theaders
=
[
this
.
theaders
1
=
[
{
label
:
i18n
.
t
(
'报工人员编码'
),
value
:
'userName'
},
{
label
:
i18n
.
t
(
'报工人员编码'
),
value
:
'userName'
},
{
label
:
i18n
.
t
(
'报工人员名称'
),
value
:
'nickName'
},
{
label
:
i18n
.
t
(
'报工人员名称'
),
value
:
'nickName'
},
{
label
:
i18n
.
t
(
'报工数量'
),
value
:
'quantityFeedback'
},
{
label
:
i18n
.
t
(
'报工数量'
),
value
:
'quantityFeedback'
},
...
@@ -389,7 +398,12 @@ import i18n from '../../../../i18n/index'
...
@@ -389,7 +398,12 @@ import i18n from '../../../../i18n/index'
}
}
}
}
api
(
this
.
queryParams
).
then
(
response
=>
{
api
(
this
.
queryParams
).
then
(
response
=>
{
this
.
tbodys
=
response
.
rows
;
if
(
Number
(
this
.
tabIndex
)
===
1
)
{
this
.
tbodys1
=
response
.
rows
}
else
{
this
.
tbodys
=
response
.
rows
}
this
.
total
=
response
.
total
;
this
.
total
=
response
.
total
;
this
.
loading
=
false
;
this
.
loading
=
false
;
});
});
...
...
src/views/mes/proTable/weekStatist/index.vue
View file @
7fe0e0a8
...
@@ -121,7 +121,7 @@ import ProcessSelect from "@/components/process/taskSelectSingle.vue";
...
@@ -121,7 +121,7 @@ import ProcessSelect from "@/components/process/taskSelectSingle.vue";
import
workshopSelect
from
"@/components/workshopSelect/single.vue"
;
import
workshopSelect
from
"@/components/workshopSelect/single.vue"
;
import
WorkuintSelect
from
"@/components/workunitSelect/single.vue"
;
import
WorkuintSelect
from
"@/components/workunitSelect/single.vue"
;
import
WorkstationSelect
from
"@/components/workstationSelect/simpletableSingle.vue"
import
WorkstationSelect
from
"@/components/workstationSelect/simpletableSingle.vue"
import
UserSingleSelect
from
"@/components/userSelect/single.vue"
import
UserSingleSelect
from
"@/components/userSelect/single
1
.vue"
import
dayjs
from
'dayjs'
import
dayjs
from
'dayjs'
export
default
{
export
default
{
name
:
"ScheduleSetupRule"
,
name
:
"ScheduleSetupRule"
,
...
...
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