Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
N
NLT-e-cigarette
Project
Project
Details
Activity
Releases
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
张伯涛
NLT-e-cigarette
Commits
ed49a369
Commit
ed49a369
authored
Aug 10, 2022
by
秦嘉
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改
parent
8ee48ed0
Changes
6
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
1460 additions
and
22 deletions
+1460
-22
assembling.js
src/api/assembling.js
+27
-0
packing.js
src/api/packing.js
+9
-0
workOrder.js
src/api/workOrder.js
+15
-0
workOrder.vue
src/views/ProductionProcess/workOrder.vue
+94
-2
assembling.vue
src/views/productTraceability/assembling.vue
+1105
-17
packing.vue
src/views/productTraceability/packing.vue
+210
-3
No files found.
src/api/assembling.js
View file @
ed49a369
...
@@ -11,3 +11,30 @@ export function formAssembling(query) {
...
@@ -11,3 +11,30 @@ export function formAssembling(query) {
})
})
}
}
// 查询装配追溯详情
export
function
queryDeviceAss
(
query
)
{
return
request
({
url
:
'/nltorderlinelogic/queryByLine'
,
method
:
'get'
,
params
:
query
})
}
// 测试结果信息
export
function
queryTestInfo
(
query
)
{
return
request
({
url
:
'/NltTestInfo/queryNltTestInfoDetail'
,
method
:
'get'
,
params
:
query
})
}
// 批次详细信息
export
function
queryBatch
(
query
)
{
return
request
({
url
:
'/nltorderlinelogic/queryRecordByPackage'
,
method
:
'get'
,
params
:
query
})
}
src/api/packing.js
View file @
ed49a369
...
@@ -20,3 +20,12 @@ export function exportPacking(query) {
...
@@ -20,3 +20,12 @@ export function exportPacking(query) {
responseType
:
'blob'
responseType
:
'blob'
})
})
}
}
// 查询主机追溯详情
export
function
queryDetailDevice
(
query
)
{
return
request
({
url
:
'nltorderlinelogic/queryRecordByLineCode'
,
method
:
'get'
,
params
:
query
})
}
src/api/workOrder.js
View file @
ed49a369
// 生产工单-API
// 生产工单-API
import
request
from
'@/utils/request'
import
request
from
'@/utils/request'
import
Qs
from
'qs'
// 查询工单列表
// 查询工单列表
export
function
listOrder
(
query
)
{
export
function
listOrder
(
query
)
{
...
@@ -85,3 +86,17 @@ export function clearCache(businessId) {
...
@@ -85,3 +86,17 @@ export function clearCache(businessId) {
method
:
'delete'
method
:
'delete'
})
})
}
}
// 修改配置PO
export
function
editPo
(
data
)
{
const
businessId
=
data
.
businessId
data
=
Qs
.
stringify
(
data
)
return
request
({
url
:
'/nltorderlinelogic/update/'
+
businessId
,
method
:
'put'
,
data
,
headers
:
{
'Content-Type'
:
'application/x-www-form-urlencoded'
}
})
}
src/views/ProductionProcess/workOrder.vue
View file @
ed49a369
...
@@ -444,6 +444,15 @@
...
@@ -444,6 +444,15 @@
<span>
{{
scope
.
row
.
jobName
||
'-'
}}
</span>
<span>
{{
scope
.
row
.
jobName
||
'-'
}}
</span>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
:show-overflow-tooltip=
"true"
align=
"center"
>
<
template
slot=
"header"
>
<div>
操作
</div>
<!--
<div>
Name
</div>
-->
</
template
>
<
template
slot-scope=
"scope"
>
<el-link
type=
"primary"
@
click=
"changePo(scope.row)"
>
修改配置po
</el-link>
</
template
>
</el-table-column>
</el-table>
</el-table>
<pagination
<pagination
v-show=
"total2>0"
v-show=
"total2>0"
...
@@ -486,6 +495,36 @@
...
@@ -486,6 +495,36 @@
<el-button
class=
"redBtn"
type=
"danger"
@
click=
"OKImport"
>
确定 Confirm
</el-button>
<el-button
class=
"redBtn"
type=
"danger"
@
click=
"OKImport"
>
确定 Confirm
</el-button>
</div>
</div>
</el-dialog>
</el-dialog>
<el-dialog
:close-on-click-modal=
"false"
title=
"修改配置po"
class=
"workOrderDialogImport"
:visible
.
sync=
"poDialog"
width=
"40%"
append-to-body
>
<el-form
ref=
"formPo"
:model=
"formPo"
size=
"small"
:rules=
"rules1"
label-width=
"auto"
>
<el-form-item
class=
"labelHeight"
label=
"PO编号"
prop=
"batchNo"
>
<div
slot=
"label"
class=
"labelClassRequired"
>
<div
class=
"labelName"
>
po编号
</div>
<div
class=
"labelName"
>
PO
</div>
</div>
<el-input
v-model
.
trim =
"formPo.batchNo"
:maxlength=
"10"
show-word-limit
placeholder=
"请输入PO编号"
clearable
style=
"width: 100%;"
size=
"small"
/>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
class=
"canleBtn"
@
click=
"cancelPo"
>
关闭 Close
</el-button>
<el-button
class=
"redBtn"
type=
"danger"
@
click=
"OKPo"
>
确定 Confirm
</el-button>
</div>
</el-dialog>
</div>
</div>
</template>
</template>
...
@@ -499,7 +538,7 @@ import {
...
@@ -499,7 +538,7 @@ import {
listOrderMater
,
listOrderMater
,
listStation
,
listStation
,
clearCache
,
clearCache
,
manualImport
manualImport
,
editPo
}
from
'@/api/workOrder'
}
from
'@/api/workOrder'
import
moment
from
'moment'
import
moment
from
'moment'
...
@@ -513,6 +552,11 @@ export default {
...
@@ -513,6 +552,11 @@ export default {
},
},
data
()
{
data
()
{
return
{
return
{
// po表单
formPo
:
{
batchNo
:
''
,
businessId
:
''
},
// tabs默认选中
// tabs默认选中
tabsName
:
'bom'
,
tabsName
:
'bom'
,
// 搜索框参数
// 搜索框参数
...
@@ -522,6 +566,8 @@ export default {
...
@@ -522,6 +566,8 @@ export default {
orderNo
:
undefined
,
orderNo
:
undefined
,
partNo
:
undefined
partNo
:
undefined
},
},
// po弹窗标志
poDialog
:
false
,
// 遮罩标志
// 遮罩标志
Loading
:
true
,
Loading
:
true
,
Loading1
:
true
,
Loading1
:
true
,
...
@@ -583,6 +629,16 @@ export default {
...
@@ -583,6 +629,16 @@ export default {
{
required
:
true
,
message
:
'请输入工单编号'
,
trigger
:
'blur'
},
{
required
:
true
,
message
:
'请输入工单编号'
,
trigger
:
'blur'
},
{
min
:
1
,
max
:
30
,
message
:
'长度在 1 到 30 个字符'
,
trigger
:
'blur'
}
{
min
:
1
,
max
:
30
,
message
:
'长度在 1 到 30 个字符'
,
trigger
:
'blur'
}
]
]
},
/**
*po配置规则
*/
rules1
:
{
batchNo
:
[
{
required
:
true
,
message
:
'请输入po编号'
,
trigger
:
'blur'
},
{
min
:
10
,
message
:
'长度在 10个字符'
,
trigger
:
'blur'
}
]
}
}
}
}
},
},
...
@@ -843,7 +899,6 @@ export default {
...
@@ -843,7 +899,6 @@ export default {
* 点击标签事件
* 点击标签事件
*/
*/
tabClickFun
(
tab
)
{
tabClickFun
(
tab
)
{
console
.
log
(
tab
,
'hhh'
)
if
(
tab
.
name
===
'station'
)
{
if
(
tab
.
name
===
'station'
)
{
this
.
getStationTable
(
this
.
orderRow
)
this
.
getStationTable
(
this
.
orderRow
)
}
else
if
(
tab
.
name
===
'action'
)
{
}
else
if
(
tab
.
name
===
'action'
)
{
...
@@ -851,6 +906,43 @@ export default {
...
@@ -851,6 +906,43 @@ export default {
}
else
if
(
tab
.
name
===
'bom'
)
{
}
else
if
(
tab
.
name
===
'bom'
)
{
this
.
getBomTable
()
this
.
getBomTable
()
}
}
},
/**
* 修改配置po点击事件
*/
changePo
(
row
)
{
console
.
log
(
row
)
this
.
formPo
.
businessId
=
row
.
batchId
this
.
formPo
.
batchNo
=
JSON
.
parse
(
JSON
.
stringify
(
row
.
batchNo
))
this
.
poDialog
=
true
},
cancelPo
()
{
this
.
poDialog
=
false
},
OKPo
()
{
this
.
$refs
[
'formPo'
].
validate
(
validPO
=>
{
if
(
validPO
)
{
const
po
=
(
this
.
formPo
.
batchNo
).
substr
(
5
,
4
)
const
params
=
{
businessId
:
this
.
formPo
.
businessId
,
batchNo
:
this
.
formPo
.
batchNo
,
po
:
po
}
editPo
(
params
).
then
(
res
=>
{
if
(
res
.
code
===
200
)
{
this
.
$message
.
success
(
"操作成功"
)
this
.
getLineTable
()
this
.
formPo
.
businessId
=
''
this
.
formPo
.
batchNo
=
''
this
.
poDialog
=
false
}
else
{
this
.
$message
.
error
(
res
.
message
)
}
}).
catch
(
err
=>
{
this
.
$message
.
error
(
err
.
message
)
})
}
})
}
}
}
}
}
}
...
...
src/views/productTraceability/assembling.vue
View file @
ed49a369
This diff is collapsed.
Click to expand it.
src/views/productTraceability/packing.vue
View file @
ed49a369
...
@@ -153,7 +153,7 @@
...
@@ -153,7 +153,7 @@
<div>
Traceability Code for Starter Kit
</div>
<div>
Traceability Code for Starter Kit
</div>
</
template
>
</
template
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<
span>
{{
scope
.
row
.
lineCode
||
'-'
}}
</span
>
<
el-link
type=
"primary"
@
click=
"detailPacking"
>
{{
scope
.
row
.
lineCode
||
'-'
}}
</el-link
>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
width=
"250"
:show-overflow-tooltip=
"true"
align=
"center"
prop=
"packageCode"
>
<el-table-column
width=
"250"
:show-overflow-tooltip=
"true"
align=
"center"
prop=
"packageCode"
>
...
@@ -162,7 +162,7 @@
...
@@ -162,7 +162,7 @@
<div>
Traceability code for device
</div>
<div>
Traceability code for device
</div>
</
template
>
</
template
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<
span>
{{
scope
.
row
.
packageCode
||
'-'
}}
</span
>
<
el-link
type=
"primary"
@
click=
"detailDevice(scope.row)"
>
{{
scope
.
row
.
packageCode
||
'-'
}}
</el-link
>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
width=
"200"
:show-overflow-tooltip=
"true"
align=
"center"
prop=
"createDate"
>
<el-table-column
width=
"200"
:show-overflow-tooltip=
"true"
align=
"center"
prop=
"createDate"
>
...
@@ -185,12 +185,103 @@
...
@@ -185,12 +185,103 @@
</el-table-column>
</el-table-column>
</el-table>
</el-table>
</div>
</div>
<el-dialog
:close-on-click-modal=
"false"
:title=
"dialogTitle"
class=
"packingAndDeviceDialog"
:visible
.
sync=
"open"
width=
"80%"
append-to-body
@
close=
"cancel"
>
<el-form
ref=
"form"
:model=
"deviceAndPackingForm"
size=
"small"
label-width=
"120px"
>
<el-row>
<el-col
:span=
"8"
>
<el-form-item
class=
"labelHeight"
label=
"工单编号"
prop=
"orderNo"
>
<div
slot=
"label"
class=
"labelClass"
>
<div
class=
"labelName"
>
工单编号
</div>
<div
class=
"labelName"
>
Order No.
</div>
</div>
<el-input
v-model=
"deviceAndPackingForm.orderNo"
:disabled=
"true"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
class=
"labelHeight"
label=
"成品料号"
prop=
"orderNo"
>
<div
slot=
"label"
class=
"labelClass"
>
<div
class=
"labelName"
>
成品料号
</div>
<div
class=
"labelName"
>
Part No.
</div>
</div>
<el-input
v-model=
"deviceAndPackingForm.orderNo"
:disabled=
"true"
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
class=
"labelHeight"
label=
"生产数量"
prop=
"orderNo"
>
<div
slot=
"label"
class=
"labelClass"
>
<div
class=
"labelName"
>
生产数量
</div>
<div
class=
"labelName"
>
Order No.
</div>
</div>
<el-input
v-model=
"deviceAndPackingForm.orderNo"
:disabled=
"true"
/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-table
v-loading=
"false"
:data=
"deviceAndPackingData"
border
>
<el-table-column
type=
"index"
width=
"60"
>
<
template
slot=
"header"
>
<div>
序号
</div>
<div>
Sort
</div>
</
template
>
</el-table-column>
<el-table-column
:show-overflow-tooltip=
"true"
align=
"center"
prop=
"materCode"
>
<
template
slot=
"header"
>
<div>
物料料号
</div>
<!--
<div>
Part No.
</div>
-->
</
template
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
materCode
||
'-'
}}
</span>
</
template
>
</el-table-column>
<el-table-column
width=
"400"
:show-overflow-tooltip=
"true"
align=
"center"
prop=
"materDesc"
>
<
template
slot=
"header"
>
<div>
批次号
</div>
<!--
<div>
Part Description
</div>
-->
</
template
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
materDesc
||
'-'
}}
</span>
</
template
>
</el-table-column>
<el-table-column
:show-overflow-tooltip=
"true"
align=
"center"
prop=
"materUnit"
>
<
template
slot=
"header"
>
<div>
使用数量
</div>
<!--
<div>
Unit
</div>
-->
</
template
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
materUnit
||
'-'
}}
</span>
</
template
>
</el-table-column>
<el-table-column
:show-overflow-tooltip=
"true"
align=
"center"
prop=
"qtyRequired"
>
<
template
slot=
"header"
>
<div>
扫码时间
</div>
<!--
<div>
Qty
</div>
-->
</
template
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
qtyRequired
||
'-'
}}
</span>
</
template
>
</el-table-column>
</el-table>
</el-dialog>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
moment
from
'moment'
import
moment
from
'moment'
import
{
exportPacking
,
listPacking
}
from
'@/api/packing'
import
{
exportPacking
,
listPacking
,
queryDetailDevice
}
from
'@/api/packing'
export
default
{
export
default
{
name
:
'Packing'
,
name
:
'Packing'
,
/** 路由离开前存储筛选条件*/
/** 路由离开前存储筛选条件*/
...
@@ -224,9 +315,23 @@ export default {
...
@@ -224,9 +315,23 @@ export default {
Loading
:
false
,
Loading
:
false
,
// 包装追溯表格数据
// 包装追溯表格数据
packingList
:
[],
packingList
:
[],
// 弹窗开启标志
open
:
false
,
// 弹窗标题
dialogTitle
:
''
,
// 弹窗表单数据
deviceAndPackingForm
:
{},
// 弹窗表格数据
deviceAndPackingData
:
[],
}
}
},
},
methods
:
{
methods
:
{
/**
* 弹窗取消方法
*/
cancel
()
{
this
.
open
=
false
},
/**
/**
* 搜索按钮方法
* 搜索按钮方法
*/
*/
...
@@ -288,6 +393,28 @@ export default {
...
@@ -288,6 +393,28 @@ export default {
this
.
packingList
=
response
.
data
this
.
packingList
=
response
.
data
this
.
Loading
=
false
this
.
Loading
=
false
})
})
},
/**
* 包装追溯详情
*/
detailPacking
()
{
this
.
open
=
true
this
.
dialogTitle
=
'包装追溯号'
},
/**
* 主机追溯详情
*/
detailDevice
(
row
)
{
this
.
open
=
true
this
.
dialogTitle
=
'主机追溯号'
const
params
=
{
beginDate
:
this
.
queryParams
.
beginDate
,
endDate
:
this
.
queryParams
.
endDate
,
lineCode
:
row
.
lineCode
}
queryDetailDevice
(
params
).
then
(
res
=>
{
console
.
log
(
res
.
data
)
})
}
}
}
}
}
}
...
@@ -320,4 +447,84 @@ export default {
...
@@ -320,4 +447,84 @@ export default {
margin-left
:
15px
margin-left
:
15px
}
}
}
}
.packingAndDeviceDialog
{
.el-table
th
.cell
{
display
:
inline-block
!
important
;
}
.el-col-8
{
position
:
relative
;
right
:
20px
;
}
.table-drop
{
vertical-align
:
2px
;
line-height
:
20px
;
margin-left
:
15px
}
.labelHeight
{
.el-form-item__label
{
height
:
60px
;
}
.el-form-item__error
{
top
:
73%
;
line-height
:
0
;
}
}
.el-form-item--small
.el-form-item__label
{
line-height
:
17px
;
}
.labelName
{
display
:
flex
;
justify-content
:
end
;
white-space
:
nowrap
;
}
.labelClass
{
position
:
relative
;
bottom
:
1px
;
text-align
:
center
;
}
.labelClassRequired
{
text-align
:
center
;
position
:
relative
;
bottom
:
17px
;
right
:
13px
;
}
.tabBorder
{
border
:
1px
solid
#d1d1d1
;
}
.el-tabs--border-card
{
box-shadow
:
none
!
important
;
}
.el-tabs--border-card
>
.el-tabs__header
{
background-color
:
#f8f8f8
;
}
.el-tabs--border-card
>
.el-tabs__header
.el-tabs__item.is-active
{
color
:
#D20A10
;
}
.el-tabs--border-card
>
.el-tabs__header
.el-tabs__item
:not
(
.is-disabled
)
:hover
{
color
:
#D20A10
;
}
.el-dialog__headerbtn
:hover
.el-dialog__close
{
color
:
#D20A10
;
}
.el-input
{
[
disabled
]
{
background-color
:
#E9E9E9
;
}
}
}
</
style
>
</
style
>
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