Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
M
mes-pad
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-pad
Commits
5097c590
Commit
5097c590
authored
Sep 21, 2024
by
沈翠玲
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
序列号报工(新增)
parent
ade8498f
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
90 additions
and
666 deletions
+90
-666
http.api.js
common/http.api.js
+3
-27
index.vue
pages/mes/prodReport/index.vue
+87
-639
No files found.
common/http.api.js
View file @
5097c590
...
...
@@ -35,11 +35,6 @@ const install = (Vue, vm) => {
vm
.
$u
.
get
(
config
.
adminPath
+
'/md/appconfig/getVersion'
),
quantitywaitsum
:
(
params
=
{})
=>
vm
.
$u
.
postJson
(
config
.
adminPath
+
'/mes/pro/workorder/quantitywaitsum'
,
params
),
/**
* 系统设置API
*/
...
...
@@ -65,9 +60,6 @@ const install = (Vue, vm) => {
//获取当前工作中心的生产任务
getTaskList
:
(
params
=
{})
=>
vm
.
$u
.
get
(
config
.
adminPath
+
'/mobile/pro/protask/getTaskList'
,
params
),
//外协列表
getAssistProcesslist
:
(
params
=
{})
=>
vm
.
$u
.
postJson
(
config
.
adminPath
+
'/md/assistprocess/getAssistProcesslist'
,
params
),
//根据任务ID获取任务详情
getTaskInfo
:
(
params
=
{})
=>
vm
.
$u
.
get
(
config
.
adminPath
+
'/mobile/pro/protask/'
+
params
.
taskId
),
...
...
@@ -83,6 +75,9 @@ const install = (Vue, vm) => {
//生产报工
feedback
:
(
params
=
{})
=>
vm
.
$u
.
post
(
config
.
adminPath
+
'/mobile/pro/protask/feedback'
,
params
),
//序列号报工
validateSerialNo
:
(
params
=
{})
=>
vm
.
$u
.
postJson
(
config
.
adminPath
+
'/mobile/pro/protask/validateSerialNo'
,
params
),
//外协报工
assistFeedback
:
(
params
=
{})
=>
vm
.
$u
.
postJson
(
config
.
adminPath
+
'/mobile/pro/protask/assistFeedback'
,
params
),
...
...
@@ -95,9 +90,6 @@ const install = (Vue, vm) => {
// 查看修改报工列表
getFeedback
:
(
recordId
)
=>
vm
.
$u
.
get
(
config
.
adminPath
+
'/mes/pro/feedback/'
+
recordId
),
// 作业端试图展示
buttonList
:
(
taskWorkunitIds
)
=>
vm
.
$u
.
get
(
config
.
adminPath
+
'/mobile/pro/protask/buttonList/'
+
taskWorkunitIds
),
// 删除修改报工列表
delFeedback
:
(
recordId
)
=>
vm
.
$u
.
delete
(
config
.
adminPath
+
'/mes/pro/feedback/deleteOut5Min/'
+
recordId
),
...
...
@@ -323,14 +315,6 @@ const install = (Vue, vm) => {
config
.
adminPath
+
'/pro/materialRequest/recordList'
,
params
),
//退料申请
listMaterialReturn
:
(
params
=
{})
=>
vm
.
$u
.
post
(
config
.
adminPath
+
'/mobile/pro/proMaterial/listIssueLineselect'
,
params
),
addMaterialReturn
:
(
params
=
{})
=>
vm
.
$u
.
postJson
(
config
.
adminPath
+
'/mobile/pro/proMaterial/addMaterialReturn'
,
...
...
@@ -373,14 +357,6 @@ const install = (Vue, vm) => {
//查看生产工单
getWorkorder
:
(
params
=
{})
=>
vm
.
$u
.
get
(
config
.
adminPath
+
'/mes/pro/workorder/list'
,
params
),
//查看生产工单
getWorkorderWithSizeAndDirective
:
(
params
=
{})
=>
vm
.
$u
.
get
(
config
.
adminPath
+
'/mes/pro/workorder/listWithSizeAndDirective'
,
params
),
logout
:
(
params
=
{})
=>
vm
.
$u
.
get
(
config
.
adminPath
+
'/mobile/login/logout'
,
params
),
authInfo
:
(
params
=
{})
=>
...
...
pages/mes/prodReport/index.vue
View file @
5097c590
...
...
@@ -56,214 +56,9 @@
:title-style=
"
{ 'background-color': '#1E3770', color: '#FFFFFF', 'line-height': '37px', 'padding-top': '0px' }"
v-model="proVisible" width="1800rpx">
<view>
<!-- 是否包装工序isPackage为1是 -->
<scroll-view
style=
"max-height: 600px"
scroll-y=
"true"
class=
"scroll-Y"
>
<view
class=
"feedback-card"
v-for=
"(feedback, i) in feedbackForms"
:key=
"i"
>
<view
v-if=
"feedback.isPackage === '1'"
>
<u-form
label-width=
"80px"
:model=
"feedback"
:rules=
"rules"
labelAlign=
"right"
>
<u-row>
<u-col
span=
"4"
>
<u-form-item
label=
"任务单号:"
prop=
"quantity"
>
{{
feedback
.
taskCode
}}
</u-form-item>
</u-col>
<u-col
span=
"4"
>
<u-form-item
label=
"编排单号:"
prop=
"quantity"
>
{{
feedback
.
arrangeCode
}}
</u-form-item>
</u-col>
<u-col
span=
"4"
>
<u-form-item
label=
"工序:"
prop=
"nickName"
>
{{
feedback
.
processName
}}
</u-form-item>
</u-col>
</u-row>
<u-row>
<u-col
span=
"4"
>
<u-form-item
label=
"报工总数量:"
prop=
"quantity"
>
{{
feedback
.
quantity
}}
</u-form-item>
</u-col>
<u-col
span=
"4"
>
<u-form-item
label=
"已报工数:"
prop=
"quantity"
>
{{
feedback
.
reportQualify
}}
</u-form-item>
</u-col>
<u-col
:span=
"4"
>
<u-form-item
label=
"报工人:"
prop=
"nickName"
>
<u-input
v-model=
"feedback.nickName"
></u-input>
<u-button
@
tap=
"getCode(feedback)"
type=
"success"
size=
"mini"
>
报工人员
</u-button>
</u-form-item>
</u-col>
</u-row>
<u-row>
<u-col
span=
"4"
>
<u-form-item
label=
"包装类型:"
prop=
"packType"
>
<dict-tag
:options=
"dict.type.pro_pack_type"
:value=
"feedback.packType"
/>
</u-form-item>
</u-col>
<u-col
span=
"3"
>
<u-form-item
label=
"包装单位:"
prop=
"packUnitOfMeasure"
>
{{
feedback
.
packUnitOfMeasure
}}
</u-form-item>
</u-col>
<u-col
span=
"5"
>
<u-form-item
label-width=
"150px"
label=
"LOSS数是否单独包装:"
prop=
"lossIndividuallyWrap"
>
<dict-tag
:options=
"dict.type.sap_yes_no"
:value=
"feedback.lossIndividuallyWrap"
/>
</u-form-item>
</u-col>
</u-row>
<u-row>
<u-col
span=
"4"
>
<u-form-item
label=
"生产工单:"
prop=
"workorderId"
>
<uni-data-select
v-model=
"feedback.workorderId"
:localdata=
"feedback.workorderOption"
@
change=
"workorderSelect($event, i)"
></uni-data-select>
</u-form-item>
</u-col>
<u-col
span=
"4"
>
<u-form-item
label=
"不良品数量:"
prop=
"quantityUnqualify"
>
<u-number-box
:min=
"0"
v-model=
"feedback.quantityUnqualify"
:long-press=
"false"
:input-width=
"140"
></u-number-box>
</u-form-item>
</u-col>
<u-col
span=
"4"
>
<u-form-item
label=
"报工时间:"
prop=
"feedbackTime"
>
<uni-datetime-picker
return-type=
"string"
class=
"times"
type=
"datetime"
:clear-icon=
"false"
v-model=
"feedback.feedbackTime"
/>
</u-form-item>
</u-col>
</u-row>
<u-row>
<u-col
span=
"3"
>
<u-form-item
label=
"包装数量:"
prop=
"packNum"
>
<u-number-box
:min=
"0"
v-model=
"feedback.packNum"
:long-press=
"false"
:input-width=
"140"
></u-number-box>
</u-form-item>
</u-col>
<u-col
span=
"3"
>
<u-form-item
label=
"装箱数量:"
prop=
"encasementNum"
>
<u-number-box
:min=
"0"
v-model=
"feedback.encasementNum"
:long-press=
"false"
:input-width=
"140"
></u-number-box>
</u-form-item>
</u-col>
<u-col
span=
"6"
>
<u-form-item
label=
"检测人员:"
prop=
"checkBy"
>
<u-input
disabled
v-model=
"feedback.checkBy"
></u-input>
<u-button
@
tap=
"(userVisible = true), (useData = feedback)"
type=
"success"
size=
"mini"
>
选择人员
</u-button>
</u-form-item>
</u-col>
</u-row>
<u-row>
<u-col
span=
"6"
>
<u-form-item
label=
"打印模板:"
prop=
"printTemplate"
>
<u-input
v-model=
"feedback.printTemplate"
placeholder=
"请选择打印模板"
></u-input>
<u-button
@
tap=
"getPrintTemplate(feedback)"
type=
"success"
style=
"margin-left: 20rpx"
size=
"mini"
>
选择打印模板
</u-button>
</u-form-item>
</u-col>
<u-col
span=
"4"
>
<u-form-item
label-width=
"120px"
label=
"是否合并包装:"
prop=
"mergePack"
>
<view
class=
"uni-list-item__extra"
>
<!-- @change="handleChangePackNum(feedback, i)" -->
<u-radio-group
v-model=
"feedback.mergePack"
>
<u-radio
:name=
"1"
>
是
</u-radio>
<u-radio
:name=
"0"
>
否
</u-radio>
</u-radio-group>
</view>
</u-form-item>
</u-col>
<u-col
span=
"2"
>
<u-button
@
tap=
"handleChangePackNum(feedback, i)"
type=
"success"
size=
"mini"
>
计算包装标签
</u-button>
</u-col>
</u-row>
</u-form>
<view>
<u-tabs
:list=
"feedback.listTabPro"
:is-scroll=
"false"
:show-bar=
"false"
:current=
"feedback.currentTabPro"
@
change=
"handleChangeTabPro($event, feedback)"
></u-tabs>
<!-- 报工列表 -->
<view
v-if=
"feedback.tableOrderData.length"
>
<zb-table
:columns=
"tableOrderColumn"
:stripe=
"true"
:border=
"true"
:data=
"feedback.tableOrderData"
>
<template
slot=
"reportQuantity"
slot-scope=
"scope"
>
<!--
{{
scope
.
row
}}
-->
<u-input
v-model=
"scope.row.reportQuantity"
type=
"number"
></u-input>
</
template
>
<
template
slot=
"netWeight"
slot-scope=
"scope"
>
<!--
{{
scope
.
row
}}
-->
<u-input
v-model=
"scope.row.netWeight"
type=
"number"
></u-input>
</
template
>
<
template
slot=
"grossWeight"
slot-scope=
"scope"
>
<!--
{{
scope
.
row
}}
-->
<u-input
v-model=
"scope.row.grossWeight"
type=
"number"
placeholder=
""
v-if=
"scope.row.isEncase"
></u-input>
</
template
>
<
template
slot=
"packageStandard"
slot-scope=
"scope"
>
<!--
{{
scope
.
row
}}
-->
<uni-easyinput
type=
"text"
suffixIcon=
"scan"
v-model=
"scope.row.packageStandard"
style=
"width: 100%"
@
iconClick=
"() => iconPackageStandard(scope.row)"
placeholder=
""
v-if=
"scope.row.isEncase"
/>
</
template
>
<
template
slot=
"peration"
slot-scope=
"scope"
>
<!--
{{
scope
.
row
}}
-->
<u-button
v-if=
"scope.row.isEncase"
@
tap=
"handleBlPackagePrintInfo(feedback, scope.row, i)"
class=
"successBtn"
style=
"margin-left: 0"
>
打印
</u-button>
<u-button
v-else-if=
"scope.row.feedbackQuantity && Number(scope.row.feedbackQuantity) > 0"
@
tap=
"rePackageInfoPrint(feedback, scope.row, i)"
class=
"successBtn"
style=
"margin-left: 0"
>
补打印
</u-button>
<u-button
v-else-if=
"Number(scope.row.packageNum) > Number(scope.row.feedbackQuantity) || scope.row.printbtn"
@
tap=
"handleSubmitPackageFeedback(feedback, scope.row, i)"
class=
"successBtn"
style=
"margin-left: 0"
>
打印/报工
</u-button>
<!--
<u-input
v-model=
"scope.row.reportQuantity"
type=
"number"
></u-input>
-->
</
template
>
</zb-table>
</view>
<!-- 指令列表 -->
<view
v-if=
"feedback.tableDirectiveData.length"
>
<zb-table
:columns=
"tableDirectiveColumn"
:stripe=
"true"
:border=
"true"
:data=
"feedback.tableDirectiveData"
>
<
template
slot=
"reportQuantity"
slot-scope=
"scope"
>
<!--
{{
scope
.
row
}}
-->
<u-input
v-model=
"scope.row.reportQuantity"
type=
"number"
></u-input>
</
template
>
<
template
slot=
"netWeight"
slot-scope=
"scope"
>
<!--
{{
scope
.
row
}}
-->
<u-input
v-model=
"scope.row.netWeight"
type=
"number"
></u-input>
</
template
>
<
template
slot=
"grossWeight"
slot-scope=
"scope"
>
<!--
{{
scope
.
row
}}
-->
<u-input
v-model=
"scope.row.grossWeight"
type=
"number"
placeholder=
""
v-if=
"scope.row.isEncase"
></u-input>
</
template
>
<
template
slot=
"peration"
slot-scope=
"scope"
>
<u-button
@
tap=
"sizeclick(feedback, scope.row, i)"
class=
"successBtn"
style=
"margin-left: 0"
>
{{
getfeedbackQuantity
(
scope
.
row
)
}}
</u-button>
</
template
>
</zb-table>
</view>
<!-- SIZE列表 -->
<view
v-if=
"feedback.tableSizeData.length"
>
<zb-table
:columns=
"feedback.tableSizeColumn"
key=
"tableSizeData"
ref=
"feedSizeRef"
:stripe=
"true"
:border=
"true"
highlight
:data=
"feedback.tableSizeData"
:isTrClassStyle=
"(row) => isSizeClassStyle(row, feedback.tableSizeData)"
class=
"feedSize"
>
<
template
slot=
"reportQuantity"
slot-scope=
"scope"
>
<u-input
v-model=
"scope.row.reportQuantity"
type=
"number"
v-if=
"!scope.row.highlight"
></u-input>
</
template
>
<
template
slot=
"netWeight"
slot-scope=
"scope"
>
<u-input
v-model=
"scope.row.netWeight"
type=
"number"
v-if=
"!scope.row.highlight"
></u-input>
</
template
>
<
template
slot=
"grossWeight"
slot-scope=
"scope"
>
<u-input
v-model=
"scope.row.grossWeight"
type=
"number"
placeholder=
""
v-if=
"!scope.row.highlight && scope.row.isEncase"
></u-input>
</
template
>
<
template
slot=
"packageStandard"
slot-scope=
"scope"
>
<!--
{{
scope
.
row
}}
-->
<uni-easyinput
type=
"text"
suffixIcon=
"scan"
v-model=
"scope.row.packageStandard"
style=
"width: 100%"
@
iconClick=
"() => iconPackageStandard(scope.row)"
placeholder=
"装箱规格"
v-if=
"!scope.row.highlight && scope.row.isEncase"
/>
</
template
>
<
template
slot=
"peration"
slot-scope=
"scope"
>
<u-button
@
tap=
"sizeclick(feedback, scope.row, i)"
v-if=
"!scope.row.highlight"
class=
"successBtn"
style=
"margin-left: 0"
>
{{
getfeedbackQuantity
(
scope
.
row
)
}}
</u-button>
</
template
>
</zb-table>
</view>
</view>
</view>
<view
v-else
>
<u-form
label-width=
"100px"
:model=
"feedback"
:rules=
"rules"
labelAlign=
"right"
>
<template
v-if=
"isWaiXie"
>
<u-row>
...
...
@@ -324,7 +119,7 @@
<u-row>
<u-col
:span=
"6"
>
<u-form-item
label=
"已报工数:"
prop=
"quantity"
>
<span
:style=
"
{
background: feedback.overFeedback ? '#f56c6c' : '#fff',
padding: '0 5px'}">
{{
feedback
.
workorderFeedbackSum
}}
</span>
<span
:style=
"
{padding: '0 5px'}">
{{
feedback
.
workorderFeedbackSum
}}
</span>
<!--
{{
computedQuantityV2
}}
-->
</u-form-item>
</u-col>
...
...
@@ -340,37 +135,32 @@
<u-row>
<u-col
:span=
"6"
>
<u-form-item
label=
"生产工单:"
prop=
"workorderId"
>
<uni-data-select
v-model=
"feedback.workorderId"
:localdata=
"feedback.workorderOption"
@
change=
"workorderSelect($event, i)"
></uni-data-select>
{{
feedback
.
arrangeCode
}}
</u-form-item>
</u-col>
<u-col
:span=
"6"
v-if=
"feedback.isSerialReport && Number(feedback.isSerialReport) === 1"
>
<u-form-item
label=
"序列号:"
name=
"qrcode"
>
<uni-easyinput
type=
"text"
suffixIcon=
"scan"
v-model=
"feedback.qrcode"
style=
"width: 200px"
@
change=
"onQrcodechange"
@
iconClick=
"iconClickQrcode"
placeholder=
"请输入序列号"
/>
</u-form-item>
</u-col>
</u-row>
<u-row
v-if=
"feedback.isSerialReport && Number(feedback.isSerialReport) === 1"
>
<u-col
:span=
"6"
>
<u-form-item
label=
"Decompression:"
prop=
"Decompression"
label-width=
"110px"
>
<uni-easyinput
type=
"text"
v-model=
"feedback.decompressionValue"
style=
"width: 200px"
placeholder=
"请输入Decompression"
/>
</u-form-item>
</u-col>
<u-col
:span=
"6"
>
<u-form-item
label=
"备注:"
name=
"qrcode"
>
<uni-easyinput
type=
"text"
v-model=
"feedback.remark"
style=
"width: 200px"
placeholder=
"请输入备注"
/>
</u-form-item>
</u-col>
</u-row>
</
template
>
<u-row>
<!--
<view>
<block v-for="(feedback, i) in feedbackForms" :key="i">
<view class="feedback-card">
{{ i }} - {{ feedback.unitOfConvert }}- {{ feedback.quantity }}
</view>
</block>
<u-col span="6">
计算器 : {{ computedQuantity }}
feedbackQuantityFu: {{ feedbackQuantityFu }},
feedbackUnQuantityFu: {{ feedbackUnQuantityFu }},
quantityUnqualify: {{ feedback.quantityUnqualify }}
quantityqualify: {{ feedback.quantityQualify }}
unitOfConvert: {{ feedback.unitOfConvert }}
</u-col>
<view class="box" v-if="timeTest.isshow">123</view>
<button type="default" @tap="changeShow()">隐藏</button>
</view> -->
<u-col
span=
"6"
>
<u-form-item
label=
"合格数量:"
prop=
"quantityQualify"
>
<u-number-box
:min=
"0"
@
change=
"quantityChanged()"
:max=
"9999999999999999999999999999999999999999"
:input-width=
"190"
...
...
@@ -395,16 +185,6 @@
<u-button
@
tap=
"getCode(feedback)"
type=
"success"
size=
"mini"
>
报工人员
</u-button>
</u-form-item>
</u-col>
<!-- <u-col span="6" >
<u-form-item label="打印:" prop="whether">
<view class="uni-list-item__extra">
<u-radio-group v-model="feedback.whether">
<u-radio :name="1">是</u-radio>
<u-radio :name="0">否</u-radio>
</u-radio-group>
</view>
</u-form-item>
</u-col> -->
<u-col
span=
"6"
v-if=
"isWaiXie"
>
<u-form-item
label=
"是否关单:"
prop=
"whether"
>
<view
class=
"uni-list-item__extra"
>
...
...
@@ -414,27 +194,6 @@
</u-radio-group>
</view>
</u-form-item>
</u-col>
<u-col
span=
"6"
v-if=
"!isWaiXie"
v-show=
"!buttonShow || buttonShow.MaterialReturnView === '1'"
>
<u-form-item
label=
"退料:"
prop=
"returnMa"
>
<view
class=
"uni-list-item__extra"
>
<u-radio-group
v-model=
"feedback.returnMa"
>
<u-radio
:name=
"1"
>
是
</u-radio>
<u-radio
:name=
"0"
>
否
</u-radio>
</u-radio-group>
</view>
</u-form-item>
</u-col>
<u-col
span=
"6"
v-if=
"feedback.returnMa===1"
>
<u-form-item
label=
"打印二维码"
>
<u-input
v-model=
"materialReturnFormData.number"
></u-input>
</u-form-item>
</u-col>
<u-col
span=
"6"
v-if=
"feedback.returnMa===1"
>
<u-form-item
label=
"退料原因"
prop=
"returnReason"
>
<uni-data-select
v-model=
"curTaskInfo.returnReason"
:localdata=
"reasonReturnList"
@
change=
"pickingCauses"
></uni-data-select>
</u-form-item>
</u-col>
</u-row>
...
...
@@ -458,9 +217,6 @@
</u-form-item>
</u-col>
</view> -->
</u-row>
</u-form>
</view>
</view>
...
...
@@ -772,122 +528,6 @@
</u-form>
</view>
</u-modal>
<u-modal
title=
"退料申请"
@
confirm=
"materialReturnSave()"
show-cancel-button
:title-style=
"{ 'background-color': '#1E3770', color: '#FFFFFF', 'line-height': '37px', 'padding-top': '0px' }"
v-model=
"materialReturnVisible"
width=
"1600rpx"
>
<view
class=
"list-bar"
>
<u-form
:model=
"materialReturnFormData"
label-width=
"100px"
>
<u-row>
<u-col
span=
"6"
>
<u-form-item
label=
"编排单号"
>
{{ curTaskInfo.arrangeCode }}
</u-form-item>
</u-col>
<u-col
span=
"6"
>
<u-form-item
label=
"生产工单"
prop=
"workorderCode"
>
<uni-data-select
v-model=
"materialReturnFormData.workorderCode"
@
change=
"materialReturnWorkorderChange"
:localdata=
"curTaskInfo.workorderOption"
></uni-data-select>
</u-form-item>
</u-col>
<u-col
span=
"6"
>
<u-form-item
label=
"退料原因"
prop=
"returnReason"
>
<uni-data-select
v-model=
"curTaskInfo.returnReason"
:localdata=
"reasonReturnList"
@
change=
"pickingCauses"
></uni-data-select>
</u-form-item>
</u-col>
<u-col
span=
"6"
>
<u-form-item
label=
"打印二维码"
>
<u-input
v-model=
"materialReturnFormData.number"
></u-input>
</u-form-item>
</u-col>
</u-row>
</u-form>
<scroll-view
scroll-y=
"true"
class=
"scroll-list"
:style=
"{ height: this.screenHeight - 700 + 'px' }"
>
<uni-table
ref=
"qcTable"
border
stripe
:loading=
"loading"
emptyText=
"未查询到数据"
>
<uni-tr>
</uni-tr>
<uni-tr
v-for=
"(line, index) in materialReturnList"
:key=
"index"
>
</uni-tr>
</uni-table>
</scroll-view>
<!-- <scroll-view scroll-y="true" class="scroll-list" :style="{ height: this.screenHeight - 280 + 'px' }">
<uni-table ref="qcTable" border stripe :loading="loading" emptyText="未查询到数据">
<uni-tr>
<uni-th width="60px" align="center">操作</uni-th>
<uni-th width="110px" align="center">产品物料编码</uni-th>
<uni-th width="110px" align="center">产品物料名称</uni-th>
<uni-th width="80px" align="center">领料数量</uni-th>
<uni-th width="80px" align="center">本次退料数</uni-th>
<uni-th width="80px" align="center">累计退料数</uni-th>
<uni-th width="100px" align="center">版号</uni-th>
<uni-th width="110px" align="center">批次号</uni-th>
<uni-th width="60" align="center">合格</uni-th>
</uni-tr>
<uni-tr v-for="(line, index) in materialReturnList" :key="index">
<uni-td align="center">
<view class="uni-group">
<button class="uni-button" size="mini" type="primary"
@click="materialReturnFormShow(line)">退料</button>
</view>
</uni-td>
<uni-td align="center">{{ line.itemCode.substring(line.itemCode.length - 8, line.itemCode.length) }}</uni-td>
<uni-td align="center">{{ line.itemName }}({{ line.specification }})/{{ line.unitOfMeasure }}</uni-td>
<uni-td align="center">{{ line.quantityIssued }}</uni-td>
<uni-td align="center">{{ line.applyNum }}</uni-td>
<uni-td align="center">{{ line.totalBackNum }}</uni-td>
<uni-td align="center">{{ line.packNo }}</uni-td>
<uni-td align="center">{{ line.batchCode }}</uni-td>
<uni-td align="center">{{ line.isQualified == 1 ? '是' : '' }}{{ line.isQualified == 0 ? '否' : ''
}}</uni-td>
</uni-tr>
</uni-table>
</scroll-view> -->
</view>
</u-modal>
<u-modal
title=
"退料申请数量"
@
confirm=
"materialReturnSetting()"
show-cancel-button
:title-style=
"{ 'background-color': '#1E3770', color: '#FFFFFF', 'line-height': '37px', 'padding-top': '0px' }"
v-model=
"materialReturnFormVisible"
width=
"700rpx"
>
<view
class=
""
>
<u-form
label-width=
"100px"
>
<u-row>
<u-col>
<u-form-item
label=
"产品物料名称"
>
{{ materialReturnFormData.itemName }}
</u-form-item>
</u-col>
</u-row>
<u-row>
<u-col>
<u-form-item
label=
"退料数量"
>
<u-number-box
v-model=
"materialReturnFormData.applyNum"
:long-press=
"false"
:positive-integer=
"false"
:input-width=
"190"
></u-number-box>
</u-form-item>
</u-col>
</u-row>
<u-row>
<u-col>
<u-form-item
label=
"是否合格"
prop=
"printName"
>
<view
class=
"uni-list-item__extra"
>
<u-radio-group
v-model=
"materialReturnFormData.isQualified"
>
<u-radio
name=
"1"
>
是
</u-radio>
<u-radio
name=
"0"
>
否
</u-radio>
</u-radio-group>
</view>
</u-form-item>
</u-col>
</u-row>
</u-form>
</view>
</u-modal>
<u-modal
title=
"详细数据"
:showConfirmButton=
"true"
:title-style=
"{ 'background-color': '#1E3770', color: '#FFFFFF', 'line-height': '37px', 'padding-top': '0px' }"
v-model=
"showRowDeatilFlag"
width=
"1800rpx"
>
...
...
@@ -926,8 +566,6 @@
<uni-td
align=
"center"
>
{{ line.arrangeCode }}
</uni-td>
<uni-td
align=
"center"
>
<view
class=
"uni-group"
>
<!-- <button class="uni-button" size="mini" type="primary" @click="materialReturnFormShow(line)">退料 -->
<!-- <button class="uni-button" size="mini" type="primary" @click="viewSopsShow()">查看 -->
<button
class=
"uni-button"
size=
"mini"
type=
"primary"
@
click=
"viewSopsShow(line)"
>
查看
</button>
</view>
</uni-td>
...
...
@@ -1219,7 +857,6 @@ export default {
pickingReason
:
null
,
returnReason
:
null
,
},
buttonShow
:
null
,
bomFeeData
:
[],
bomFeeColumn
:
[
{
...
...
@@ -1263,6 +900,12 @@ export default {
type
:
'radio'
,
width
:
60
},
{
name
:
'arrangeCode'
,
label
:
'工单编号'
,
align
:
'center'
,
width
:
85
},
{
name
:
'scheduleStartDateStr'
,
label
:
'计划开始时间'
,
...
...
@@ -1443,7 +1086,6 @@ export default {
printTemplateData
:
null
,
printTemplateVisible
:
false
,
userTempVisible
:
false
,
materialReturnFormVisible
:
false
,
materialReturnSelected
:
{},
recoilMaterialColumn
:
[
{
...
...
@@ -1612,14 +1254,9 @@ export default {
},
{
name
:
'arrangeCode'
,
label
:
'
编排单
号'
,
label
:
'
工单编
号'
,
align
:
'center'
,
width
:
85
,
cellFun
:
(
row
,
index
)
=>
{
console
.
log
(
row
,
index
);
this
.
tableDataDetail
=
row
.
proWorkorderList
;
this
.
showRowDeatilFlag
=
true
;
}
width
:
85
},
{
name
:
'scheduleStartDateStr'
,
...
...
@@ -1870,6 +1507,32 @@ export default {
}
});
},
iconClickQrcode
()
{
uni
.
scanCode
({
success
:
(
res
)
=>
{
// console.log(res, 'res');
this
.
feedbackForms
[
0
][
'qrcode'
]
=
res
.
result
this
.
onQrcodechange
();
},
fail
:
()
=>
{
this
.
$u
.
toast
(
'扫码失败,请重新扫描'
);
}
});
},
onQrcodechange
(){
const
datas
=
Object
.
assign
({},
this
.
feedbackForms
[
0
]);
this
.
$u
.
api
.
validateSerialNo
({
"qrcode"
:
datas
.
qrcode
,
"taskWorkunitId"
:
datas
.
taskWorkunitId
}).
then
(
res
=>
{
if
(
res
.
code
===
200
)
{
}
else
{
console
.
log
(
'sadasd'
,
res
)
this
.
$u
.
toast
(
res
.
msg
||
'序列号扫描报错'
)
}
})
},
numclik
(...
arg
)
{
console
.
log
(
'99999999'
,
arg
);
},
...
...
@@ -1971,9 +1634,6 @@ export default {
}
else
{
this
.
doFeedback
();
}
this
.
materialReturnShows
();
this
.
pickingCauses
();
break
;
case
'editProd'
:
this
.
doEditProd
();
...
...
@@ -2000,10 +1660,6 @@ export default {
this
.
materialRequestShow
();
this
.
pickingCause
();
break
;
case
'MaterialReturn'
:
this
.
materialReturnShow
();
this
.
pickingCauses
();
break
;
case
'StockIn'
:
this
.
stockInShow
();
break
;
...
...
@@ -2135,20 +1791,6 @@ export default {
console
.
log
(
arr
,
'this.tableSelectData'
);
this
.
tableSelectData
=
arr
;
if
(
this
.
tableSelectData
.
length
>
0
)
{
this
.
$u
.
api
.
buttonList
(
this
.
tableSelectData
[
0
][
'taskWorkunitId'
]).
then
(
res
=>
{
if
(
res
&&
res
.
length
>
0
)
{
this
.
buttonShow
=
res
[
0
]
}
else
{
this
.
buttonShow
=
null
}
}).
catch
(()
=>
{
this
.
buttonShow
=
null
});
}
else
{
this
.
buttonShow
=
null
}
},
knifeTemp
()
{
// this.$u.toast('刀具校验通过!');
...
...
@@ -2180,67 +1822,6 @@ export default {
stopReasonChange
(
e
)
{
this
.
stopReason
+=
e
;
},
workorderSelect
(
id
,
index
,
s
)
{
const
t
=
this
;
console
.
log
(
id
,
'9999'
);
const
row
=
this
.
feedbackForms
[
index
];
const
tem
=
row
.
workorderOption
.
find
(
v
=>
v
.
value
===
id
);
console
.
log
(
tem
)
const
taskInfo
=
this
.
tableSelectData
[
0
];
const
items
=
row
.
workorderList
.
find
((
item
)
=>
item
.
workorderId
===
id
);
if
(
!
id
)
{
row
.
packUnitOfMeasure
=
''
;
row
.
printContents
=
row
.
arrangeCode
;
row
.
tableDirectiveData
=
[];
row
.
tableSizeData
=
[];
row
.
tableOrderData
=
[];
row
.
packNum
=
''
;
row
.
packType
=
''
;
row
.
lossIndividuallyWrap
=
undefined
;
row
.
currentTabPro
=
0
;
row
.
workorderFeedbackSum
=
row
.
workorderFeedback
row
.
workorderUnfeedbackSum
=
row
.
workorderUnfeedback
row
.
quantityQualify
=
row
.
quantityWait
this
.
$set
(
this
.
feedbackForms
,
index
,
row
)
return
;
}
else
{
if
(
row
.
isPackage
===
'1'
)
{
row
.
packNum
=
items
.
usagePackNum
?
items
.
usagePackNum
:
0
;
row
.
mergePack
=
items
.
mergePack
?
items
.
mergePack
:
0
;
row
.
encasementNum
=
items
.
usageEncasementNum
?
items
.
usageEncasementNum
:
0
;
row
.
packType
=
items
.
packType
row
.
packUnitOfMeasure
=
items
.
packUnitOfMeasure
row
.
lossIndividuallyWrap
=
items
.
lossIndividuallyWrap
this
.
getWorkorderDirectiveList
(
id
,
index
);
}
else
{
this
.
$u
.
api
.
quantitywaitsum
({
workorderCode
:
items
.
workorderCode
,
taskWorkunitId
:
row
.
taskWorkunitId
}).
then
((
res
)
=>
{
if
(
res
.
code
===
200
)
{
row
.
quantityQualify
=
res
.
data
.
workorderQualify
row
.
workorderFeedbackSum
=
res
.
data
.
workorderFeedbackSum
row
.
workorderUnfeedbackSum
=
res
.
data
.
workorderUnfeedbackSum
row
.
overFeedback
=
res
.
data
.
overFeedback
this
.
$set
(
this
.
feedbackForms
,
index
,
row
)
}
})
}
}
row
.
workorderId
=
id
;
row
.
workorderCode
=
items
.
workorderCode
;
row
.
printName
=
items
.
workorderCode
;
//row.printContents =row.arrangeCode+row.workorderCode
row
.
printContents
=
row
.
workorderCode
;
row
.
packByDirective
=
items
.
packByDirective
;
row
.
packBySize
=
items
.
packBySize
;
this
.
$u
.
api
.
listMaterialReturn
({
taskId
:
taskInfo
.
taskId
,
workorderCode
:
tem
.
text
}).
then
((
res
)
=>
{
if
(
res
.
code
===
200
)
{
t
.
materialReturnList
=
res
.
data
;
}
});
},
stopReas
(
abnormalType
)
{
// 查询原因
...
...
@@ -2312,80 +1893,6 @@ export default {
});
},
async
getWorkorderWithSizeAndDirective
(
item
,
index
)
{
await
this
.
$u
.
api
.
getWorkorderWithSizeAndDirective
({
pageNum
:
1
,
pageSize
:
10
,
arrangeCode
:
item
.
arrangeCode
,
taskWorkunitId
:
item
.
taskWorkunitId
,
processId
:
item
.
processId
})
.
then
(
async
(
res
)
=>
{
item
.
workorderList
=
res
.
rows
;
//如果只关联一个订单,默认选中
if
(
res
.
rows
.
length
==
1
)
{
item
.
printContents
=
res
.
rows
[
0
].
workorderCode
;
item
.
workorderId
=
res
.
rows
[
0
].
workorderId
;
item
.
workorderCode
=
res
.
rows
[
0
].
workorderCode
;
item
.
packByDirective
=
res
.
rows
[
0
].
packByDirective
;
item
.
packBySize
=
res
.
rows
[
0
].
packBySize
;
item
.
unitOfConvert
=
res
.
rows
[
0
].
unitOfConvert
;
if
((
!
item
.
isPackage
||
item
.
isPackage
!==
'1'
)
&&
(
!
item
.
taskType
||
item
.
taskType
!==
3
))
{
// 请求了证明了中间的报工
await
this
.
$u
.
api
.
quantitywaitsum
({
workorderCode
:
item
.
workorderCode
,
taskWorkunitId
:
item
.
taskWorkunitId
}).
then
((
res
)
=>
{
if
(
res
.
code
===
200
)
{
item
.
quantityQualify
=
res
.
data
.
workorderQualify
item
.
workorderFeedbackSum
=
res
.
data
.
workorderFeedbackSum
item
.
workorderUnfeedbackSum
=
res
.
data
.
workorderUnfeedbackSum
item
.
overFeedback
=
res
.
data
.
overFeedback
}
})
}
}
this
.
feedbackForms
.
push
(
item
);
item
.
workorderOption
=
res
.
rows
.
map
((
temp
)
=>
{
if
(
temp
.
saleDirectiveList
!=
null
)
{
item
.
directiveData
[
temp
.
workorderId
]
=
temp
.
saleDirectiveList
.
map
((
temp2
)
=>
{
return
{
value
:
temp2
.
workorderSoDirectiveId
,
text
:
temp2
.
clientCmd
};
});
}
if
(
temp
.
sizeList2
!=
null
)
{
item
.
sizeData
[
temp
.
workorderId
]
=
temp
.
sizeList2
.
map
((
temp2
)
=>
{
return
{
value
:
temp2
.
workorderSoSizeItemId
,
text
:
temp2
.
standardSize
};
});
}
return
{
value
:
temp
.
workorderId
,
text
:
temp
.
workorderCode
};
});
if
(
item
.
isPackage
===
'1'
&&
res
.
rows
.
length
>
0
)
{
item
.
workorderId
=
res
.
rows
[
0
].
workorderId
;
item
.
packType
=
res
.
rows
[
0
].
packType
;
item
.
packUnitOfMeasure
=
res
.
rows
[
0
].
packUnitOfMeasure
;
item
.
lossIndividuallyWrap
=
res
.
rows
[
0
].
lossIndividuallyWrap
;
item
.
packNum
=
res
.
rows
[
0
].
usagePackNum
?
res
.
rows
[
0
].
usagePackNum
:
0
;
item
.
mergePack
=
res
.
rows
[
0
].
mergePack
?
res
.
rows
[
0
].
mergePack
:
0
;
item
.
encasementNum
=
res
.
rows
[
0
].
usageEncasementNum
?
res
.
rows
[
0
].
usageEncasementNum
:
0
;
this
.
getWorkorderDirectiveList
(
res
.
rows
[
0
].
workorderId
,
index
);
}
}).
catch
(()
=>
{
this
.
feedbackForms
.
push
(
item
);
});
},
getTaskList
(
params
)
{
this
.
form
=
{};
const
t
=
this
;
...
...
@@ -2394,7 +1901,9 @@ export default {
let
apires
if
(
this
.
isWaiXie
)
{
apires
=
this
.
$u
.
api
.
getAssistProcesslist
({
.
getTaskList
({
outsourced
:
1
,
workunitId
:
t
.
vuex_workunit
.
workunitId
,
workorderCode
:
this
.
tableParams
.
arrangeCode
,
allowProduce
:
this
.
tableParams
.
allowProduce
})
...
...
@@ -2599,6 +2108,7 @@ export default {
const
feedback
=
{
...
item
,
workorderFeedback
:
0
,
qrcode
:
''
,
workorderUnfeedback
:
0
,
workstationId
:
item
.
workstationId
,
userName
:
this
.
vuex_user
.
userName
,
...
...
@@ -2628,6 +2138,8 @@ export default {
closeType
:
null
,
printTemplate
:
''
,
tableSizeData
:
[],
decompressionValue
:
''
,
remark
:
''
,
tableSizeColumn
:
[
{
name
:
'standardSizeIdx'
,
...
...
@@ -2701,6 +2213,8 @@ export default {
tableDirectiveData
:
[],
currentTabPro
:
0
,
packNum
:
0
,
workorderUnfeedbackSum
:
item
.
quantityWait
,
workorderFeedbackSum
:
item
.
quantityQualify
,
encasementNum
:
0
,
mergePack
:
0
};
...
...
@@ -2710,21 +2224,8 @@ export default {
feedback
.
quantityUnqualify
=
item
.
quantityUnqualify
feedback
.
workorderCode
=
item
.
workorderCode
feedback
.
closeType
=
''
}
else
if
(
!
feedback
.
isPackage
||
feedback
.
isPackage
!==
'1'
)
{
this
.
$u
.
api
.
quantitywaitsum
({
taskWorkunitId
:
item
.
taskWorkunitId
}).
then
((
res
)
=>
{
if
(
res
.
code
===
200
)
{
// row.quantityQualify = res.data.workorderQualify
feedback
.
workorderFeedbackSum
=
res
.
data
.
workorderFeedbackSum
feedback
.
workorderUnfeedbackSum
=
res
.
data
.
workorderUnfeedbackSum
feedback
.
workorderFeedback
=
res
.
data
.
workorderFeedbackSum
feedback
.
workorderUnfeedback
=
res
.
data
.
workorderUnfeedbackSum
feedback
.
overFeedback
=
res
.
data
.
overFeedback
}
})
}
this
.
getWorkorderWithSizeAndDirective
(
feedback
,
index
);
this
.
feedbackForms
.
push
(
feedback
);
});
if
(
Array
.
from
(
new
Set
(
flagPackage
)).
length
===
2
)
{
this
.
$u
.
toast
(
'包装工序禁止多选报工'
);
...
...
@@ -3361,38 +2862,6 @@ export default {
}
});
},
materialReturnShow
()
{
const
t
=
this
;
if
(
this
.
tableSelectData
.
length
>
1
){
t
.
$u
.
toast
(
"不允许同时操作多条数据"
);
return
;
}
this
.
materialReturnVisible
=
true
;
const
taskInfo
=
this
.
tableSelectData
[
0
];
this
.
curTaskInfo
=
this
.
tableSelectData
[
0
];
this
.
curTaskInfo
.
workorderOption
=
this
.
curTaskInfo
.
proWorkorderList
.
map
((
s
)
=>
{
return
{
value
:
s
.
workorderCode
,
text
:
s
.
workorderCode
};
});
this
.
$u
.
api
.
listMaterialReturn
({
taskId
:
taskInfo
.
taskId
,
workorderCode
:
''
}).
then
((
res
)
=>
{
if
(
res
.
code
===
200
)
{
t
.
materialReturnList
=
res
.
data
;
}
});
},
materialReturnShows
()
{
const
t
=
this
;
const
taskInfo
=
this
.
tableSelectData
[
0
];
this
.
curTaskInfo
=
this
.
tableSelectData
[
0
];
this
.
curTaskInfo
.
workorderOption
=
this
.
curTaskInfo
.
proWorkorderList
.
map
((
s
)
=>
{
return
{
value
:
s
.
workorderCode
,
text
:
s
.
workorderCode
};
});
this
.
$u
.
api
.
listMaterialReturn
({
taskId
:
taskInfo
.
taskId
,
workorderCode
:
''
}).
then
((
res
)
=>
{
if
(
res
.
code
===
200
)
{
t
.
materialReturnList
=
res
.
data
;
}
});
},
viewiPctureShow
()
{
if
(
this
.
tableSelectData
.
length
>
1
){
this
.
$u
.
toast
(
'不允许同时操作多条任务'
);
...
...
@@ -3408,15 +2877,6 @@ export default {
}
});
},
materialReturnWorkorderChange
(
s
)
{
const
t
=
this
;
const
taskInfo
=
this
.
tableSelectData
[
0
];
this
.
$u
.
api
.
listMaterialReturn
({
taskId
:
taskInfo
.
taskId
,
workorderCode
:
s
}).
then
((
res
)
=>
{
if
(
res
.
code
===
200
)
{
t
.
materialReturnList
=
res
.
data
;
}
});
},
materialReturnWorkorderProcessItem
(
id
)
{
if
(
!
id
)
{
this
.
materialRequestArrays
=
this
.
materialRequestList
.
concat
([]);
...
...
@@ -3450,18 +2910,6 @@ export default {
}
},
materialReturnFormShow
(
line
)
{
this
.
materialReturnFormVisible
=
true
;
this
.
materialReturnFormData
=
{
itemName
:
line
.
itemName
,
applyNum
:
1
,
workorderCode
:
this
.
materialReturnFormData
.
workorderCode
,
isQualified
:
1
,
number
:
0
,
};
this
.
materialReturnSelected
=
line
;
},
viewSopsShow
(
row
)
{
// this.viewSopPicture = this.tableSelectData[0];
this
.
$u
.
api
.
viewpicture
.
viewSpecificationSheetInfo
({
workorderId
:
Number
(
row
.
workorderId
)
}).
then
((
res
)
=>
{
...
...
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