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
7d2f8a30
Commit
7d2f8a30
authored
Feb 21, 2024
by
李驰骋
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
合并主分支代码,包括布局兼容调整、添加投料检验、反冲料登记、领料申请、退料申请前端交互逻辑
parent
0030240b
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
698 additions
and
362 deletions
+698
-362
config.js
common/config.js
+2
-2
manifest.json
manifest.json
+2
-2
index.vue
pages/mes/prodReport/index.vue
+694
-358
No files found.
common/config.js
View file @
7d2f8a30
...
@@ -21,9 +21,9 @@ const config = {
...
@@ -21,9 +21,9 @@ const config = {
}
}
// 设置后台接口服务的基础地址
// 设置后台接口服务的基础地址
//config.baseUrl = 'http://localhost
:8080';
config
.
baseUrl
=
'http://192.168.25.105
:8080'
;
//config.baseUrl = "http://101.43.244.58:8080/";
//config.baseUrl = "http://101.43.244.58:8080/";
//config.baseUrl = "/api";
//config.baseUrl = "/api";
config
.
baseUrl
=
"http://101.200.162.168:8080"
;
//
config.baseUrl = "http://101.200.162.168:8080";
export
default
config
;
export
default
config
;
\ No newline at end of file
manifest.json
View file @
7d2f8a30
{
{
"name"
:
"
ktg-
mes-pad"
,
"name"
:
"mes-pad"
,
"appid"
:
"__UNI__
5750C3E
"
,
"appid"
:
"__UNI__
EA378AB
"
,
"description"
:
"MES-PAD"
,
"description"
:
"MES-PAD"
,
"versionName"
:
"1.0.0"
,
"versionName"
:
"1.0.0"
,
"versionCode"
:
"100"
,
"versionCode"
:
"100"
,
...
...
pages/mes/prodReport/index.vue
View file @
7d2f8a30
...
@@ -67,19 +67,18 @@
...
@@ -67,19 +67,18 @@
</view>
</view>
<u-button
type=
"primary"
@
click=
"changeWorkstation"
>
切换工作站
</u-button>
<u-button
type=
"primary"
@
click=
"changeWorkstation"
>
切换工作站
</u-button>
<br/>
<br/>
<u-button
type=
"warning"
@
click=
"commonClick('KnifeTemp')"
>
刀模
上架
</u-button>
<u-button
type=
"warning"
@
click=
"commonClick('KnifeTemp')"
>
刀模
版上下机
</u-button>
<u-button
type=
"primary"
@
click=
"commonClick('Refresh')"
>
刷新
</u-button>
<u-button
type=
"primary"
@
click=
"commonClick('Refresh')"
>
刷新
</u-button>
<u-button
type=
"success"
@
click=
"commonClick('StartTask')"
>
开始作业
</u-button>
<u-button
type=
"success"
@
click=
"commonClick('StartTask')"
>
开始作业
</u-button>
<u-button
type=
"warning"
@
click=
"commonClick('StopTask')"
>
暂停作业
</u-button>
<u-button
type=
"warning"
@
click=
"commonClick('StopTask')"
>
暂停作业
</u-button>
<u-button
type=
"success"
@
click=
"commonClick('Prod')"
>
生产报工
</u-button>
<u-button
type=
"success"
@
click=
"commonClick('Prod')"
>
生产报工
</u-button>
<u-button
type=
"primary"
@
click=
"commonClick('FinshTask')"
>
完成作业
</u-button>
<u-button
type=
"primary"
@
click=
"commonClick('FinshTask')"
>
完成作业
</u-button>
<u-button
type=
"primary"
@
click=
"commonClick('abnormal')"
>
异常报告
</u-button>
<u-button
type=
"primary"
@
click=
"commonClick('abnormal')"
>
异常报告
</u-button>
<!--
<u-button
type=
"error"
@
click=
"commonClick('')"
>
报告异常
</u-button>
-->
<u-button
type=
"primary"
@
click=
"commonClick('FeedingInspection')"
>
投料检验
</u-button>
<!--
<u-button
type=
"warning"
@
click=
"commonClick('')"
>
检验通知
</u-button>
-->
<u-button
type=
"primary"
@
click=
"commonClick('RecoilMaterial')"
>
反冲料登记
</u-button>
<!--
<u-button
type=
"primary"
@
click=
"commonClick('')"
>
属性收集
</u-button>
-->
<u-button
type=
"primary"
@
click=
"commonClick('MaterialRequest')"
>
领料申请
</u-button>
<!--
<u-button
type=
"primary"
@
click=
"commonClick('')"
>
反扣冲减
</u-button>
-->
<u-button
type=
"primary"
@
click=
"commonClick('MaterialReturn')"
>
退料申请
</u-button>
<!--
<u-button
type=
"primary"
@
click=
"commonClick('')"
>
查看图纸
</u-button>
-->
<u-button
type=
"success"
@
click=
"commonClick('StockIn')"
>
完工入库申请
</u-button>
<!--
<u-button
type=
"warning"
@
click=
"commonClick('')"
>
完成全部
</u-button>
-->
</view>
</view>
</view>
</view>
...
@@ -153,60 +152,250 @@
...
@@ -153,60 +152,250 @@
</u-modal>
</u-modal>
<u-modal
title=
"暂停原因"
@
confirm=
"stopReasonSubmit()"
show-cancel-button
<u-modal
title=
"暂停原因"
@
confirm=
"stopReasonSubmit()"
show-cancel-button
:title-style=
"
{'background-color':'#1E3770','color': '#FFFFFF' ,'line-height': '37px','padding-top': '0px'}"
:title-style=
"
{'background-color':'#1E3770','color': '#FFFFFF' ,'line-height': '37px','padding-top': '0px'}"
v-model="stopReasonVisible" width="1300rpx">
v-model="stopReasonVisible" width="1300rpx">
<u-form
label-width=
"100px"
:model=
"feedback"
:rules=
"rules"
>
<u-form
label-width=
"100px"
:model=
"feedback"
:rules=
"rules"
>
<u-form-item
label=
"故障类型"
prop=
"quantity"
>
<u-form-item
label=
"故障类型"
prop=
"quantity"
>
<uni-data-select
:localdata=
"stopReasonList"
@
change=
"stopReasonChange"
></uni-data-select>
<uni-data-select
:localdata=
"stopReasonList"
@
change=
"stopReasonChange"
></uni-data-select>
</u-form-item>
</u-form-item>
<u-form-item
label=
"故障原因"
prop=
"nickName"
>
<u-form-item
label=
"故障原因"
prop=
"nickName"
>
<u-input
type=
"textarea"
height=
"150"
:border=
"true"
v-model=
"stopReason"
></u-input>
<u-input
type=
"textarea"
height=
"150"
:border=
"true"
v-model=
"stopReason"
></u-input>
</u-form-item>
</u-form-item>
</u-form>
</u-form>
</u-modal>
</u-modal>
<u-modal
title=
"异常报告"
@
confirm=
"newlyAddss()"
show-cancel-button
:title-style=
"
{'background-color':'#1E3770','color': '#FFFFFF' ,'line-height': '60px','padding-top': '0px'}"
v-model="aopen" width="1300rpx">
<u-form
label-width=
"90px"
:rules=
"rules"
>
<u-modal
title=
"异常报告"
@
confirm=
"newlyAddss()"
show-cancel-button
:title-style=
"
{'background-color':'#1E3770','color': '#FFFFFF' ,'line-height': '60px','padding-top': '0px'}"
v-model="aopen" width="1300rpx">
<u-form
label-width=
"90px"
:rules=
"rules"
>
<u-form-item
label=
"异常时间"
prop=
"abnormalTime"
>
<!--
<u-input
:border=
"true"
v-model=
"ExceptionForms.abnormalTime"
></u-input>
-->
<uni-datetime-picker
type=
"date"
:clear-icon=
"false"
v-model=
"ExceptionForms.abnormalTime"
/>
</u-form-item>
<u-row>
<u-col
span=
"6"
>
<u-form-item
label=
"异常类型"
prop=
"abnormalType"
>
<uni-data-select
:localdata=
"exception"
@
change=
"stopReas"
></uni-data-select>
</u-form-item>
</u-col>
<u-col
span=
"6"
>
<u-form-item
label=
"原因"
prop=
"abnormalReason"
>
<uni-data-select
:localdata=
"reasonList"
@
change=
"changeReason"
></uni-data-select>
</u-form-item>
</u-col>
</u-row>
<u-form-item
label=
"编批单号"
prop=
"batchNumber"
>
<u-input
:border=
"true"
v-model=
"ExceptionForms.batchNumber"
></u-input>
</u-form-item>
<u-form-item
label=
"异常时间"
prop=
"abnormalTime"
>
<u-form-item
label=
"工序"
prop=
"processName"
>
<!--
<u-input
:border=
"true"
v-model=
"ExceptionForms.abnormalTime"
></u-input>
-->
<u-input
:border=
"true"
v-model=
"ExceptionForms.processName"
></u-input>
<uni-datetime-picker
type=
"date"
:clear-icon=
"false"
v-model=
"ExceptionForms.abnormalTime"
/>
</u-form-item>
<u-row>
<u-col
span=
"6"
>
<u-form-item
label=
"异常类型"
prop=
"abnormalType"
>
<uni-data-select
:localdata=
"exception"
@
change=
"stopReas"
></uni-data-select>
</u-form-item>
</u-form-item>
</u-col>
<u-form-item
label=
"作业单元"
prop=
"workstationName"
>
<u-col
span=
"6"
>
<u-input
:border=
"true"
v-model=
"ExceptionForms.workstationName"
></u-input>
<u-form-item
label=
"原因"
prop=
"abnormalReason"
>
<uni-data-select
:localdata=
"reasonList"
@
change=
"changeReason"
></uni-data-select>
</u-form-item>
</u-form-item>
</u-col>
</u-row>
<u-form-item
label=
"编批单号"
prop=
"batchNumber"
>
<u-input
:border=
"true"
v-model=
"ExceptionForms.batchNumber"
></u-input>
</u-form-item>
<u-form-item
label=
"工序"
prop=
"processName"
>
<u-input
:border=
"true"
v-model=
"ExceptionForms.processName"
></u-input>
</u-form-item>
<u-form-item
label=
"作业单元"
prop=
"workstationName"
>
<u-input
:border=
"true"
v-model=
"ExceptionForms.workstationName"
></u-input>
</u-form-item>
</u-form>
</u-modal>
<u-modal
title=
"投料校验"
@
confirm=
"feedingInspectionScan()"
show-cancel-button
confirmText=
"继续扫码"
cancelText=
"关闭"
:title-style=
"
{'background-color':'#1E3770','color': '#FFFFFF' ,'line-height': '37px','padding-top': '0px'}"
v-model="feedingInspectionVisible" width="1300rpx">
<view
class=
"list-bar"
>
<scroll-view
scroll-y=
"true"
scroll-x=
"true"
class=
"scroll-list"
:style=
"
{ 'height': (this.screenHeight -280) + 'px' }">
<uni-table
border
stripe
:loading=
"loading"
emptyText=
"未查询到数据"
>
<uni-tr>
<uni-th
width=
"110px"
align=
"center"
>
产品物料编码
</uni-th>
<uni-th
width=
"110px"
align=
"center"
>
产品物料名称
</uni-th>
<uni-th
width=
"150px"
align=
"center"
>
规格型号
</uni-th>
<uni-th
width=
"60px"
align=
"center"
>
单位
</uni-th>
<uni-th
width=
"80px"
align=
"center"
>
领料数量
</uni-th>
<uni-th
width=
"110px"
align=
"center"
>
批次号
</uni-th>
<uni-th
width=
"100px"
align=
"center"
>
备注
</uni-th>
<uni-th
width=
"65px"
align=
"center"
>
状态
</uni-th>
<uni-th
width=
"100px"
align=
"center"
>
操作
</uni-th>
</uni-tr>
<uni-tr
v-for=
"(line,index) in feedingInspectionList"
:key=
"index"
>
<uni-td
align=
"center"
>
{{
line
.
itemCode
}}
</uni-td>
<uni-td
align=
"center"
>
{{
line
.
itemName
}}
</uni-td>
<uni-td
align=
"center"
>
{{
line
.
specification
}}
</uni-td>
<uni-td>
{{
line
.
unitOfMeasure
}}
</uni-td>
<uni-td
align=
"center"
>
{{
line
.
quantityIssued
}}
</uni-td>
<uni-td
align=
"center"
>
{{
line
.
batchCode
}}
</uni-td>
<uni-td
align=
"center"
>
{{
line
.
remark
}}
</uni-td>
<uni-td
align=
"center"
>
{{
line
.
state
}}
</uni-td>
<uni-td
align=
"center"
>
<view
class=
"uni-group"
>
<button
class=
"uni-button"
size=
"mini"
type=
"primary"
@
click=
"qcLineClick(line)"
>
校验
</button>
</view>
</uni-td>
</uni-tr>
</uni-table>
</scroll-view>
</view>
</u-modal>
<u-modal
title=
"反冲料登记"
@
confirm=
"recoilMaterialScan()"
show-cancel-button
confirmText=
"继续扫码"
cancelText=
"关闭"
:title-style=
"
{'background-color':'#1E3770','color': '#FFFFFF' ,'line-height': '37px','padding-top': '0px'}"
v-model="recoilMaterialVisible" width="1300rpx">
<view
class=
"list-bar"
>
<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=
"100px"
align=
"center"
>
操作
</uni-th>
<uni-th
width=
"110px"
align=
"center"
>
产品物料编码
</uni-th>
<uni-th
width=
"110px"
align=
"center"
>
产品物料名称
</uni-th>
<uni-th
width=
"150px"
align=
"center"
>
规格型号
</uni-th>
<uni-th
width=
"60px"
align=
"center"
>
单位
</uni-th>
<uni-th
width=
"110px"
align=
"center"
>
批次号
</uni-th>
<uni-th
width=
"100px"
align=
"center"
>
备注
</uni-th>
</uni-tr>
<uni-tr
v-for=
"(line,index) in recoilMaterialList"
:key=
"index"
>
<uni-td
align=
"center"
>
<view
class=
"uni-group"
>
<button
class=
"uni-button"
size=
"mini"
type=
"primary"
@
click=
"recoilMaterialDelete(line)"
>
删除
</button>
</view>
</uni-td>
<uni-td
align=
"center"
>
{{
line
.
itemCode
}}
</uni-td>
<uni-td
align=
"center"
>
{{
line
.
itemName
}}
</uni-td>
<uni-td
align=
"center"
>
{{
line
.
specification
}}
</uni-td>
<uni-td>
{{
line
.
unitOfMeasure
}}
</uni-td>
<uni-td
align=
"center"
>
{{
line
.
batchCode
}}
</uni-td>
<uni-td
align=
"center"
>
{{
line
.
remark
}}
</uni-td>
</uni-tr>
</uni-table>
</scroll-view>
</view>
</u-modal>
</u-form>
<u-modal
title=
"领料申请"
@
confirm=
"materialRequestSave()"
show-cancel-button
</u-modal>
:title-style=
"
{'background-color':'#1E3770','color': '#FFFFFF' ,'line-height': '37px','padding-top': '0px'}"
v-model="materialRequestVisible" width="1300rpx">
<view
class=
"list-bar"
>
<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=
"100px"
align=
"center"
>
操作
</uni-th>
<uni-th
width=
"110px"
align=
"center"
>
产品物料编码
</uni-th>
<uni-th
width=
"110px"
align=
"center"
>
产品物料名称
</uni-th>
<uni-th
width=
"150px"
align=
"center"
>
规格型号
</uni-th>
<uni-th
width=
"60px"
align=
"center"
>
单位
</uni-th>
<uni-th
width=
"80px"
align=
"center"
>
补料数量
</uni-th>
<uni-th
width=
"110px"
align=
"center"
>
批次号
</uni-th>
<uni-th
width=
"100px"
align=
"center"
>
备注
</uni-th>
<uni-th
width=
"65px"
align=
"center"
>
状态
</uni-th>
</uni-tr>
<uni-tr
v-for=
"(line,index) in materialRequestList"
:key=
"index"
>
<uni-td
align=
"center"
>
<view
class=
"uni-group"
>
<button
class=
"uni-button"
size=
"mini"
type=
"primary"
@
click=
"materialRequestFormShow(line)"
>
补料
</button>
</view>
</uni-td>
<uni-td
align=
"center"
>
{{
line
.
itemCode
}}
</uni-td>
<uni-td
align=
"center"
>
{{
line
.
itemName
}}
</uni-td>
<uni-td
align=
"center"
>
{{
line
.
specification
}}
</uni-td>
<uni-td>
{{
line
.
unitOfMeasure
}}
</uni-td>
<uni-td
align=
"center"
>
{{
line
.
quantityIssued
}}
</uni-td>
<uni-td
align=
"center"
>
{{
line
.
batchCode
}}
</uni-td>
<uni-td
align=
"center"
>
{{
line
.
remark
}}
</uni-td>
<uni-td
align=
"center"
>
{{
line
.
state
}}
</uni-td>
</uni-tr>
</uni-table>
</scroll-view>
</view>
</u-modal>
<u-modal
title=
"领料申请数量"
@
confirm=
"materialRequestSetting()"
show-cancel-button
:title-style=
"
{'background-color':'#1E3770','color': '#FFFFFF' ,'line-height': '37px','padding-top': '0px'}"
v-model="materialRequestFormVisible" width="700rpx">
<view
class=
""
>
<u-form
label-width=
"100px"
>
<u-row>
<u-col>
<u-form-item
label=
"产品物料名称"
>
{{
materialRequestFormData
.
itemName
}}
</u-form-item>
</u-col>
</u-row>
<u-row>
<u-col>
<u-form-item
label=
"领料数量"
>
<u-number-box
v-model=
"materialRequestFormData.applyNum"
:long-press=
"false"
:positive-integer=
"false"
:size=
"50"
:input-width=
"190"
></u-number-box>
</u-form-item>
</u-col>
</u-row>
</u-form>
</view>
</u-modal>
<u-modal
title=
"退料申请"
@
confirm=
"feedback()"
show-cancel-button
:title-style=
"
{'background-color':'#1E3770','color': '#FFFFFF' ,'line-height': '37px','padding-top': '0px'}"
v-model="materialReturnVisible" width="1300rpx">
<view
class=
"list-bar"
>
<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=
"100px"
align=
"center"
>
操作
</uni-th>
<uni-th
width=
"110px"
align=
"center"
>
产品物料编码
</uni-th>
<uni-th
width=
"110px"
align=
"center"
>
产品物料名称
</uni-th>
<uni-th
width=
"150px"
align=
"center"
>
规格型号
</uni-th>
<uni-th
width=
"60px"
align=
"center"
>
单位
</uni-th>
<uni-th
width=
"80px"
align=
"center"
>
领料数量
</uni-th>
<uni-th
width=
"80px"
align=
"center"
>
退料数量
</uni-th>
<uni-th
width=
"110px"
align=
"center"
>
批次号
</uni-th>
<uni-th
width=
"100px"
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
}}
</uni-td>
<uni-td
align=
"center"
>
{{
line
.
itemName
}}
</uni-td>
<uni-td
align=
"center"
>
{{
line
.
specification
}}
</uni-td>
<uni-td>
{{
line
.
unitOfMeasure
}}
</uni-td>
<uni-td
align=
"center"
>
{{
line
.
applyNum
}}
</uni-td>
<uni-td
align=
"center"
>
{{
line
.
quantityIssued
}}
</uni-td>
<uni-td
align=
"center"
>
{{
line
.
batchCode
}}
</uni-td>
<uni-td
align=
"center"
>
{{
line
.
remark
}}
</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"
:size=
"50"
:input-width=
"190"
></u-number-box>
</u-form-item>
</u-col>
</u-row>
</u-form>
</view>
</u-modal>
</view>
</view>
</
template
>
</
template
>
...
@@ -219,226 +408,226 @@ export default {
...
@@ -219,226 +408,226 @@ export default {
SearchInput
,
SearchInput
,
dModelList
dModelList
},
},
data
()
{
data
()
{
return
{
return
{
screenHeight
:
768
,
screenHeight
:
768
,
title
:
'生产报工'
,
title
:
'生产报工'
,
open
:
false
,
open
:
false
,
aopen
:
false
,
aopen
:
false
,
form
:
{},
form
:
{},
feedbackForm
:
{},
feedbackForm
:
{},
tableData
:
[],
tableData
:
[],
knifeTempVisible
:
false
,
knifeTempVisible
:
false
,
knifeTempSearch
:
{
knifeTempSearch
:
{
knifeTempCode
:
''
,
knifeTempCode
:
''
,
locationCode
:
''
locationCode
:
''
},
},
knifeTempInfo
:
{
knifeTempInfo
:
{
knifeTemplateCode
:
''
,
knifeTemplateCode
:
''
,
knifeTemplateName
:
''
,
knifeTemplateName
:
''
,
knifeTemplateSpec
:
''
,
knifeTemplateSpec
:
''
,
locationCode
:
''
,
locationCode
:
''
,
locationName
:
''
,
locationName
:
''
,
locationType
:
''
,
locationType
:
''
,
locationTypeCode
:
''
,
locationTypeCode
:
''
,
locationTypeDesc
:
''
,
locationTypeDesc
:
''
,
locationTypeDescCode
:
''
,
locationTypeDescCode
:
''
,
locationTypeDescName
:
''
,
locationTypeDescName
:
''
,
locationTypeDescNameCode
:
''
,
locationTypeDescNameCode
:
''
,
locationTypeDescNameCode2
:
''
locationTypeDescNameCode2
:
''
},
},
stopReasonList
:
[
stopReasonList
:
[
{
value
:
'中午休息吃饭。'
,
text
:
"休息吃饭"
},
{
value
:
'中午休息吃饭。'
,
text
:
"休息吃饭"
},
{
value
:
'刀头模具到期更换,更换期间。'
,
text
:
"刀头模具到期更换"
},
{
value
:
'刀头模具到期更换,更换期间。'
,
text
:
"刀头模具到期更换"
},
{
value
:
'没料了,正在领料'
,
text
:
"领料加仓"
}
{
value
:
'没料了,正在领料'
,
text
:
"领料加仓"
}
],
],
exception
:
[{
exception
:
[{
value
:
'PROD'
,
value
:
'PROD'
,
text
:
"生产异常"
text
:
"生产异常"
},
},
{
{
value
:
'QUAL'
,
value
:
'QUAL'
,
text
:
"质量异常"
text
:
"质量异常"
},
{
value
:
'DEVI'
,
text
:
"设备异常"
},
{
value
:
'WORK'
,
text
:
"车间异常"
}
],
stopReason
:
''
,
stopReasonVisible
:
false
,
rules
:
{
quantity
:
[{
required
:
true
,
message
:
"请输入合格品数量或者不良品数量!"
,
trigger
:
"blur"
}]
},
},
typeList
:
[
{
{
value
:
'DEVI'
,
name
:
'物料扣减'
text
:
"设备异常"
},
},
{
{
value
:
'WORK'
,
name
:
'BOM外扣减'
text
:
"车间异常"
}
}
],
],
stopReason
:
''
,
materialRecordInfo
:
{
stopReasonVisible
:
false
,
taskCode
:
''
,
rules
:
{
materialBatchNumber
:
''
,
quantity
:
[{
quantity
:
0
,
required
:
true
,
operatorTime
:
''
,
message
:
"请输入合格品数量或者不良品数量!"
,
depletionMethod
:
1
trigger
:
"blur"
},
}]
curTaskInfo
:
{},
},
currentType
:
0
,
typeList
:
[
bomFeeData
:
[],
{
bomFeeColumn
:
[
name
:
'物料扣减'
{
},
{
name
:
'BOM外扣减'
}
],
materialRecordInfo
:
{
taskCode
:
''
,
materialBatchNumber
:
''
,
quantity
:
0
,
operatorTime
:
''
,
depletionMethod
:
1
},
curTaskInfo
:
{},
currentType
:
0
,
bomFeeData
:
[],
bomFeeColumn
:
[
{
type
:
'selection'
,
width
:
35
},
{
name
:
'taskCode'
,
label
:
'物料批次'
,
align
:
"center"
,
width
:
150
},
{
name
:
'status'
,
label
:
'ERP物料批次'
,
align
:
"center"
,
width
:
150
},
{
name
:
'materialBatchNumber'
,
label
:
'物料编码'
,
width
:
150
},
{
name
:
'taskCode'
,
label
:
'序列号'
,
width
:
150
},
{
name
:
'quantity'
,
label
:
'数量'
,
width
:
150
},
{
name
:
'itemCode'
,
label
:
'物料描述'
,
}
],
tableColumn
:
[
{
type
:
'selection'
,
type
:
'selection'
,
width
:
35
width
:
35
},
},
{
{
name
:
'arrangeCode'
,
name
:
'taskCode'
,
label
:
'编排单号'
,
label
:
'物料批次'
,
width
:
140
,
align
:
"center"
,
func
:
"numclik"
width
:
150
},
},
{
{
name
:
'startTime'
,
label
:
'计划开始时间'
,
width
:
140
,
func
:
"numclik"
},
{
name
:
'endTime'
,
label
:
'计划结束时间'
,
width
:
140
,
},
{
name
:
'quantity'
,
label
:
'待加工数量'
,
width
:
140
,
},
{
name
:
'status'
,
name
:
'status'
,
label
:
'状态'
,
label
:
'ERP物料批次'
,
filters
:
{
align
:
"center"
,
// 'START': '生产中',
width
:
150
// 'PAUSE': '暂停',
},
// 'NORMARL': '未开始'
{
'PREPARE'
:
'未开工'
,
name
:
'materialBatchNumber'
,
'BEGINNING'
:
'已开工'
,
label
:
'物料编码'
,
'PAUSE'
:
'暂停'
,
width
:
150
'ERROR_STOP'
:
'异常停工'
,
},
'FINISH'
:
'完工'
{
},
width
:
60
,
align
:
"center"
},
// {
// name: 'date',
// label: '批号',
// width: 50,
// },
{
name
:
'taskCode'
,
name
:
'taskCode'
,
label
:
'任务单号'
,
label
:
'序列号'
,
width
:
110
,
width
:
150
},
},
{
{
name
:
'workorderCode'
,
label
:
'生产单号'
,
width
:
120
,
},
// {
// name: 'itemCode',
// label: '物料编号',
// width: 110,
// },
// {
// name: 'itemName',
// label: '物料名称'
// },
{
name
:
'processName'
,
label
:
'工序'
,
width
:
60
,
},
{
name
:
'quantity'
,
name
:
'quantity'
,
label
:
'数量'
,
label
:
'数量'
,
width
:
60
,
width
:
150
align
:
"center"
},
},
{
{
name
:
'itemCode'
,
name
:
'quantityQuanlify'
,
label
:
'物料描述'
,
label
:
'合格数量'
,
}
width
:
60
,
],
align
:
"center"
tableColumn
:
[
},
{
{
type
:
'selection'
,
name
:
'quantityUnquanlify'
,
width
:
35
label
:
'不合格数量'
,
},
width
:
60
,
{
align
:
"center"
name
:
'arrangeCode'
,
},
label
:
'编排单号'
,
{
width
:
140
,
name
:
'clientName'
,
func
:
"numclik"
label
:
'作业人员'
,
},
width
:
60
,
{
align
:
"center"
name
:
'startTime'
,
},
label
:
'计划开始时间'
,
],
width
:
140
,
dModelData
:
[],
func
:
"numclik"
tableSelectData
:
[],
},
feedbackForms
:
[],
{
ExceptionForms
:
{},
name
:
'endTime'
,
reasonList
:
[],
label
:
'计划结束时间'
,
materialUsageRecordList
:
[],
width
:
140
,
materialusagerecordLoading
:
false
,
},
issusLineList
:
[],
{
issusLineColumn
:
[
name
:
'quantity'
,
label
:
'待加工数量'
,
width
:
140
,
},
{
name
:
'status'
,
label
:
'状态'
,
filters
:
{
// 'START': '生产中',
// 'PAUSE': '暂停',
// 'NORMARL': '未开始'
'PREPARE'
:
'未开工'
,
'BEGINNING'
:
'已开工'
,
'PAUSE'
:
'暂停'
,
'ERROR_STOP'
:
'异常停工'
,
'FINISH'
:
'完工'
},
width
:
60
,
align
:
"center"
},
// {
// name: 'date',
// label: '批号',
// width: 50,
// },
{
name
:
'taskCode'
,
label
:
'任务单号'
,
width
:
110
,
},
{
name
:
'workorderCode'
,
label
:
'生产单号'
,
width
:
120
,
},
// {
// name: 'itemCode',
// label: '物料编号',
// width: 110,
// },
// {
// name: 'itemName',
// label: '物料名称'
// },
{
name
:
'processName'
,
label
:
'工序'
,
width
:
60
,
},
{
name
:
'quantity'
,
label
:
'数量'
,
width
:
60
,
align
:
"center"
},
{
name
:
'quantityQuanlify'
,
label
:
'合格数量'
,
width
:
60
,
align
:
"center"
},
{
name
:
'quantityUnquanlify'
,
label
:
'不合格数量'
,
width
:
60
,
align
:
"center"
},
{
name
:
'clientName'
,
label
:
'作业人员'
,
width
:
60
,
align
:
"center"
},
],
dModelData
:
[],
tableSelectData
:
[],
feedbackForms
:
[],
ExceptionForms
:
{},
reasonList
:
[],
materialUsageRecordList
:
[],
materialusagerecordLoading
:
false
,
issusLineList
:
[],
issusLineColumn
:
[
{
{
name
:
'itemCode'
,
name
:
'itemCode'
,
label
:
'产品物料编码'
,
label
:
'产品物料编码'
,
...
@@ -474,10 +663,36 @@ export default {
...
@@ -474,10 +663,36 @@ export default {
{
{
name
:
'areaName'
,
name
:
'areaName'
,
label
:
'库位名称'
,
label
:
'库位名称'
,
}]
}],
}
feedingInspectionVisible
:
false
,
},
recoilMaterialVisible
:
false
,
created
()
{
materialRequestVisible
:
false
,
materialReturnVisible
:
false
,
stockInVisible
:
false
,
feedingInspectionList
:
[],
recoilMaterialList
:
[],
materialRequestList
:
[],
materialReturnList
:
[],
materialRequestFormData
:
{
itemName
:
null
,
applyNum
:
null
},
materialRequestFormVisible
:
false
,
materialRequestSelected
:{},
materialReturnFormData
:
{
itemName
:
null
,
applyNum
:
null
},
materialReturnFormVisible
:
false
,
materialReturnSelected
:{}
}
},
mounted
()
{
//监听工作站切换事件
uni
.
$on
(
'switchWorkstation'
,
(
station
)
=>
{
this
.
getTaskList
();
})
},
created
()
{
//获取屏幕高度
//获取屏幕高度
uni
.
getSystemInfo
({
uni
.
getSystemInfo
({
success
(
res
)
{
success
(
res
)
{
...
@@ -531,7 +746,6 @@ export default {
...
@@ -531,7 +746,6 @@ export default {
case
'StopTask'
:
case
'StopTask'
:
this
.
stopReason
=
''
this
.
stopReason
=
''
this
.
stopReasonVisible
=
true
this
.
stopReasonVisible
=
true
break
;
break
;
case
'FinshTask'
:
case
'FinshTask'
:
this
.
tableSelectData
.
forEach
((
item
)
=>
{
this
.
tableSelectData
.
forEach
((
item
)
=>
{
...
@@ -547,17 +761,31 @@ export default {
...
@@ -547,17 +761,31 @@ export default {
break
;
break
;
case
'KnifeTemp'
:
case
'KnifeTemp'
:
this
.
knifeTempShow
()
this
.
knifeTempShow
()
break
;
break
;
case
'abnormal'
:
case
'abnormal'
:
this
.
doException
()
this
.
doException
()
break
;
break
;
case
'FeedingInspection'
:
this
.
feedingInspectionShow
();
break
;
case
'RecoilMaterial'
:
this
.
recoilMaterialShow
();
break
;
case
'MaterialRequest'
:
this
.
materialRequestShow
();
break
;
case
'MaterialReturn'
:
this
.
materialReturnShow
();
break
;
case
'StockIn'
:
this
.
stockInShow
();
break
;
default
:
default
:
this
.
$u
.
toast
(
'功能正在开发中!'
);
this
.
$u
.
toast
(
'功能正在开发中!'
);
break
break
}
}
},
},
knifeTempShow
()
{
async
knifeTempShow
()
{
if
(
this
.
tableSelectData
.
length
>
1
)
{
if
(
this
.
tableSelectData
.
length
>
1
)
{
return
return
...
@@ -575,55 +803,54 @@ export default {
...
@@ -575,55 +803,54 @@ export default {
}
}
this
.
addDModelRecord
(
params
)
this
.
addDModelRecord
(
params
)
},
},
async
upDownGetList
()
{
async
upDownGetList
()
{
const
params
=
{
const
params
=
{
arrangeCode
:
this
.
tableSelectData
[
0
].
arrangeCode
||
''
,
arrangeCode
:
this
.
tableSelectData
[
0
].
arrangeCode
||
''
,
processId
:
this
.
tableSelectData
[
0
].
processId
processId
:
this
.
tableSelectData
[
0
].
processId
}
const
records
=
await
this
.
$u
.
api
.
dModel
.
getRecordsByProcessIdAndArrangeCode
(
params
)
this
.
dModelData
=
records
.
data
},
// 新增刀模版上下机记录
async
addDModelRecord
(
params
)
{
const
{
data
}
=
await
this
.
$u
.
api
.
dModel
.
getToolsByProcessIdAndArrangeCode
(
params
)
if
(
data
?.
length
)
{
const
[
selectData
]
=
this
.
tableSelectData
const
ps
=
{
toolMachinesCode
:
''
,
arrangeCode
:
selectData
.
arrangeCode
,
workunitId
:
selectData
.
workunitId
,
processId
:
selectData
.
processId
,
workorderId
:
selectData
.
workorderId
,
toolRequestUseId
:
data
[
0
].
toolRequestUseId
,
toolMachinesRecordList
:
data
.
map
(
v
=>
{
return
{
toolRequestUseItemId
:
v
.
toolRequestUseItemId
,
type
:
3
,
upDate
:
''
,
downDate
:
''
}
})
}
}
const
records
=
await
this
.
$u
.
api
.
dModel
.
getRecordsByProcessIdAndArrangeCode
(
params
)
// 新增
this
.
dModelData
=
records
.
data
const
data2
=
await
this
.
$u
.
api
.
dModel
.
tmToolMachines
(
ps
)
},
if
(
data2
.
code
==
200
)
{
// 新增刀模版上下机记录
const
records
=
await
this
.
$u
.
api
.
dModel
.
getRecordsByProcessIdAndArrangeCode
(
params
)
async
addDModelRecord
(
params
)
{
this
.
dModelData
=
records
.
data
||
[]
const
{
this
.
knifeTempVisible
=
true
data
}
=
await
this
.
$u
.
api
.
dModel
.
getToolsByProcessIdAndArrangeCode
(
params
)
if
(
data
?.
length
)
{
const
[
selectData
]
=
this
.
tableSelectData
const
ps
=
{
toolMachinesCode
:
''
,
arrangeCode
:
selectData
.
arrangeCode
,
workunitId
:
selectData
.
workunitId
,
processId
:
selectData
.
processId
,
workorderId
:
selectData
.
workorderId
,
toolRequestUseId
:
data
[
0
].
toolRequestUseId
,
toolMachinesRecordList
:
data
.
map
(
v
=>
{
return
{
toolRequestUseItemId
:
v
.
toolRequestUseItemId
,
type
:
3
,
upDate
:
''
,
downDate
:
''
}
})
}
// 新增
const
data2
=
await
this
.
$u
.
api
.
dModel
.
tmToolMachines
(
ps
)
if
(
data2
.
code
==
200
)
{
const
records
=
await
this
.
$u
.
api
.
dModel
.
getRecordsByProcessIdAndArrangeCode
(
params
)
this
.
dModelData
=
records
.
data
||
[]
this
.
knifeTempVisible
=
true
}
}
}
},
}
getIssusLinebyWorkorderCodes
()
{
},
this
.
issusLineList
=
[]
getIssusLinebyWorkorderCodes
()
{
this
.
$u
.
api
.
getIssusLinebyWorkorderCodes
({
workorderCodes
:
this
.
curTaskInfo
.
workorderCodes
?.
split
(
','
)}).
then
(
res
=>
{
this
.
issusLineList
=
[]
if
(
res
.
code
===
200
)
{
this
.
$u
.
api
.
getIssusLinebyWorkorderCodes
({
workorderCodes
:
this
.
curTaskInfo
.
workorderCodes
?.
split
(
','
)}).
then
(
res
=>
{
this
.
issusLineList
=
res
.
rows
;
if
(
res
.
code
===
200
)
{
}
this
.
issusLineList
=
res
.
rows
;
});
}
},
});
},
rowClick
(
row
,
index
)
{
rowClick
(
row
,
index
)
{
this
.
curTaskInfo
=
row
;
this
.
curTaskInfo
=
row
;
this
.
getMaterialUsageRecordList
();
this
.
getMaterialUsageRecordList
();
...
@@ -646,27 +873,25 @@ export default {
...
@@ -646,27 +873,25 @@ export default {
stopReasonChange
(
e
)
{
stopReasonChange
(
e
)
{
this
.
stopReason
+=
e
;
this
.
stopReason
+=
e
;
},
},
changeReason
(
abnormalReason
)
{
changeReason
(
abnormalReason
)
{
this
.
ExceptionForms
.
abnormalReason
=
abnormalReason
this
.
ExceptionForms
.
abnormalReason
=
abnormalReason
},
},
stopReas
(
abnormalType
)
{
stopReas
(
abnormalType
)
{
this
.
ExceptionForms
.
abnormalType
=
abnormalType
// 查询原因
this
.
ExceptionForms
.
abnormalType
=
abnormalType
this
.
$u
.
api
.
abnormal
.
detail
({
// 查询原因
pageNum
:
1
,
this
.
$u
.
api
.
abnormal
.
detail
({
pageSize
:
10
,
pageNum
:
1
,
abnormalType
pageSize
:
10
,
}).
then
(
res
=>
{
abnormalType
this
.
reasonList
=
res
.
rows
.
map
(
item
=>
{
}).
then
(
res
=>
{
return
{
this
.
reasonList
=
res
.
rows
.
map
(
item
=>
{
value
:
item
.
abnormalReason
,
return
{
text
:
item
.
abnormalReason
value
:
item
.
abnormalReason
,
}
text
:
item
.
abnormalReason
}
})
})
})
},
})
},
getTaskList
()
{
getTaskList
()
{
this
.
form
=
{}
this
.
form
=
{}
this
.
$u
.
api
.
getTaskList
({
this
.
$u
.
api
.
getTaskList
({
...
@@ -783,28 +1008,28 @@ export default {
...
@@ -783,28 +1008,28 @@ export default {
this
.
open
=
true
;
this
.
open
=
true
;
},
},
doException
()
{
doException
()
{
this
.
ExceptionForms
=
{}
this
.
ExceptionForms
=
{}
const
item
=
this
.
tableSelectData
[
0
]
const
item
=
this
.
tableSelectData
[
0
]
Object
.
assign
(
this
.
ExceptionForms
,
{
Object
.
assign
(
this
.
ExceptionForms
,
{
...
item
,
...
item
,
batchNumber
:
item
.
arrangeCode
,
batchNumber
:
item
.
arrangeCode
,
processId
:
item
.
processId
,
processId
:
item
.
processId
,
processCode
:
item
.
processCode
,
processCode
:
item
.
processCode
,
processName
:
item
.
processName
,
processName
:
item
.
processName
,
workstationId
:
item
.
workstationId
,
workstationId
:
item
.
workstationId
,
workstationName
:
item
.
workstationName
,
workstationName
:
item
.
workstationName
,
workstationCode
:
item
.
workorderCodes
,
workstationCode
:
item
.
workorderCodes
,
abnormalType
:
''
,
abnormalType
:
''
,
abnormalReason
:
''
,
abnormalReason
:
''
,
abnormalTime
:
''
abnormalTime
:
''
})
})
this
.
aopen
=
true
;
this
.
aopen
=
true
;
},
},
async
newlyAddss
(){
async
newlyAddss
(){
const
res
=
await
this
.
$u
.
api
.
abnormal
.
newlyAdd
(
this
.
ExceptionForms
);
const
res
=
await
this
.
$u
.
api
.
abnormal
.
newlyAdd
(
this
.
ExceptionForms
);
this
.
getTaskList
();
this
.
getTaskList
();
},
},
cancel
()
{
cancel
()
{
this
.
open
=
false
;
this
.
open
=
false
;
},
},
...
@@ -841,6 +1066,117 @@ export default {
...
@@ -841,6 +1066,117 @@ export default {
})
})
this
.
getTaskList
()
this
.
getTaskList
()
this
.
open
=
false
;
this
.
open
=
false
;
},
feedingInspectionShow
(){
this
.
feedingInspectionVisible
=
true
;
this
.
feedingInspectionLoadAndScan
();
},
feedingInspectionLoadAndScan
(){
const
t
=
this
;
this
.
$u
.
api
.
listFeedingInspection
({
"batchNo"
:
""
}).
then
(
res
=>
{
if
(
res
.
code
===
200
)
{
t
.
feedingInspectionList
=
res
.
data
;
t
.
feedingInspectionScan
();
}
});
},
feedingInspectionScan
(){
const
t
=
this
;
uni
.
scanCode
({
success
:
function
(
res
)
{
t
.
$u
.
api
.
validateFeedingInspection
({
"batchNo"
:
res
.
result
}).
then
(
res2
=>
{
if
(
res2
.
code
===
200
)
{
t
.
feedingInspectionLoadAndScan
();
}
});
}
});
this
.
feedingInspectionVisible
=
true
;
},
recoilMaterialShow
(){
this
.
recoilMaterialVisible
=
true
;
this
.
recoilMaterialLoadAndScan
();
},
recoilMaterialLoadAndScan
(){
const
t
=
this
;
this
.
$u
.
api
.
recoilMaterialList
({
"batchNo"
:
""
}).
then
(
res
=>
{
if
(
res
.
code
===
200
)
{
t
.
recoilMaterialList
=
res
.
data
;
t
.
recoilMaterialScan
();
}
});
},
recoilMaterialScan
(){
const
t
=
this
;
uni
.
scanCode
({
success
:
function
(
res
)
{
t
.
$u
.
toast
(
res
.
result
);
t
.
$u
.
api
.
addRecoilMaterial
({
"batchNo"
:
res
.
result
}).
then
(
res2
=>
{
if
(
res2
.
code
===
200
)
{
t
.
recoilMaterialLoadAndScan
();
}
});
}
});
this
.
recoilMaterialVisible
=
true
;
},
recoilMaterialDelete
(
line
){
const
t
=
this
;
this
.
$u
.
api
.
deleteRecoilMaterial
({
"id"
:
line
.
id
}).
then
(
res2
=>
{
t
.
$u
.
api
.
recoilMaterialList
({
"batchNo"
:
""
}).
then
(
res
=>
{
if
(
res
.
code
===
200
)
{
t
.
recoilMaterialList
=
res
.
data
;
}
});
});
},
materialRequestShow
(){
console
.
log
(
this
.
$u
.
config
.
v
);
const
t
=
this
;
this
.
materialRequestVisible
=
true
;
this
.
$u
.
api
.
listMaterialRequest
({
"batchNo"
:
""
}).
then
(
res
=>
{
if
(
res
.
code
===
200
)
{
t
.
materialRequestList
=
res
.
data
;
}
});
},
materialRequestFormShow
(
line
){
this
.
materialRequestFormVisible
=
true
;
this
.
materialRequestFormData
=
{
itemName
:
line
.
itemName
};
this
.
materialRequestSelected
=
line
;
},
materialRequestSetting
(){
this
.
materialRequestSelected
.
quantityIssued
=
this
.
materialRequestFormData
.
applyNum
;
this
.
materialRequestFormVisible
=
false
;
},
materialRequestSave
(){
},
materialReturnShow
(){
console
.
log
(
this
.
$u
.
config
.
v
);
const
t
=
this
;
this
.
materialReturnVisible
=
true
;
this
.
$u
.
api
.
listMaterialReturn
({
"batchNo"
:
""
}).
then
(
res
=>
{
if
(
res
.
code
===
200
)
{
t
.
materialReturnList
=
res
.
data
;
}
});
},
materialReturnFormShow
(
line
){
this
.
materialReturnFormVisible
=
true
;
this
.
materialReturnFormData
=
{
itemName
:
line
.
itemName
};
this
.
materialReturnSelected
=
line
;
},
materialReturnSetting
(){
this
.
materialReturnSelected
.
quantityIssued
=
this
.
materialReturnFormData
.
applyNum
;
this
.
materialReturnFormVisible
=
false
;
},
materialReturnSave
(){
},
stockInShow
(){
this
.
stockInVisible
=
true
;
}
}
}
}
}
}
...
...
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