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
mes
mes-ui
Commits
6ca2d542
Commit
6ca2d542
authored
Mar 01, 2024
by
张海景
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update:提交工装夹具申请单新增接口联调
parent
e7e91326
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
534 additions
and
108 deletions
+534
-108
protask.js
src/api/mes/pro/protask.js
+17
-0
index.vue
src/components/itemSelect/index.vue
+1
-2
single.vue
src/components/itemSelect/single.vue
+0
-1
index.vue
src/views/mes/tm/toolrequest/index.vue
+171
-97
itemIndex.vue
src/views/mes/tm/toolrequest/itemIndex.vue
+82
-8
selectTask.vue
src/views/mes/tm/toolrequest/selectTask.vue
+263
-0
No files found.
src/api/mes/pro/protask.js
View file @
6ca2d542
...
...
@@ -18,6 +18,23 @@ export function listGanttTaskList(query) {
});
}
// 查询生产任务列表加上了字段workunitName
export
function
listTaskListDetail
(
query
)
{
return
request
({
url
:
"/mes/pro/protask/listDetail"
,
method
:
"get"
,
params
:
query
,
});
}
// 查询根据任务id获取刀模板
export
function
getTaskIdMaxProcessTool
(
query
)
{
return
request
({
url
:
`/mes/pro/protask/getMaxProcessTool/
${
query
.
taskId
}
`
,
method
:
"get"
,
params
:
query
,
});
}
// 查询生产任务详细
export
function
getProtask
(
taskId
)
{
return
request
({
...
...
src/components/itemSelect/index.vue
View file @
6ca2d542
...
...
@@ -4,7 +4,6 @@
:visible
.
sync=
"showFlag"
:modal=
false
width=
"80%"
center
>
<el-row
:gutter=
"20"
>
<!--分类数据-->
...
...
@@ -220,4 +219,4 @@ export default {
}
}
};
</
script
>
\ No newline at end of file
</
script
>
src/components/itemSelect/single.vue
View file @
6ca2d542
...
...
@@ -5,7 +5,6 @@
:visible
.
sync=
"showFlag"
:modal=
"true"
width=
"80%"
center
append-to-body
>
<el-row
:gutter=
"20"
>
...
...
src/views/mes/tm/toolrequest/index.vue
View file @
6ca2d542
This diff is collapsed.
Click to expand it.
src/views/mes/tm/toolrequest/itemIndex.vue
View file @
6ca2d542
<
template
>
<div
class=
"app-container"
>
<el-button
v-if=
"$attrs.optType === 'add'"
type=
"primary"
plain
icon=
"el-icon-plus"
size=
"mini"
@
click=
"$refs['ItemSelectRef'].showFlag = true"
>
新增
</el-button>
<ItemSelect
ref=
"ItemSelectRef"
@
onSelected=
"onItemSelect"
/>
<el-table
v-loading=
"loading"
:data=
"tmToolRequestItemList"
@
selection-change=
"handleSelectionChange"
>
<
el-table-column
type=
"selection"
width=
"55"
align=
"center"
/
>
<
!--
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
--
>
<!--
<el-table-column
label=
"主键id"
align=
"center"
prop=
"toolRequestItemId"
/>
<el-table-column
label=
"刀模板申请单id"
align=
"center"
prop=
"toolRequestId"
/>
-->
<el-table-column
label=
"刀模板物料名称"
align=
"center"
prop=
"itemName"
/>
<el-table-column
label=
"数量"
align=
"center"
prop=
"allQuantity"
/>
<el-table-column
label=
"预计使用寿命"
align=
"center"
prop=
"nextMaintenPeriod"
/>
<el-table-column
width=
"80px"
v-if=
"$attrs.optType === 'add'"
label=
"数量"
align=
"center"
prop=
"allQuantity"
>
<template
slot-scope=
"scope"
>
<el-input
v-model=
"scope.row.allQuantity"
@
blur=
"$emit('sum')"
placeholder=
"请输入数量"
/>
</
template
>
</el-table-column>
<el-table-column
width=
"120px"
v-else
label=
"数量"
align=
"center"
prop=
"allQuantity"
/>
<el-table-column
width=
"120px"
label=
"预计使用寿命"
align=
"center"
prop=
"nextMaintenPeriod"
/>
<el-table-column
width=
"100px"
v-if=
"$attrs.optType === 'add'"
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
<
template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"handleRemove(scope.row, scope.$index)"
>
删除
</el-button>
</
template
>
</el-table-column>
</el-table>
<pagination
v-show=
"total>0"
v-show=
"total>0
&&$attrs.optType !== 'add'
"
:total=
"total"
:page
.
sync=
"queryParams.pageNum"
:limit
.
sync=
"queryParams.pageSize"
...
...
@@ -43,9 +69,11 @@
<
script
>
import
{
listTmToolRequestItem
,
getTmToolRequestItem
,
delTmToolRequestItem
,
addTmToolRequestItem
,
updateTmToolRequestItem
}
from
"@/api/mes/tm/tmToolRequestItem"
;
import
{
getTaskIdMaxProcessTool
}
from
"@/api/mes/pro/protask"
;
import
ItemSelect
from
"@/components/itemSelect/index.vue"
;
export
default
{
name
:
"TmToolRequestItem"
,
components
:
{
ItemSelect
},
props
:{
toolRequestId
:{
type
:
String
,
...
...
@@ -55,7 +83,7 @@ export default {
data
()
{
return
{
// 遮罩层
loading
:
tru
e
,
loading
:
fals
e
,
// 选中数组
ids
:
[],
// 非单个禁用
...
...
@@ -84,10 +112,32 @@ export default {
}
};
},
watch
:
{
'$attrs.taskId'
(
newVal
,
oldVal
){
if
(
this
.
$attrs
.
optType
===
'add'
)
{
this
.
getTaskList
()
}
}
},
created
()
{
this
.
getList
();
if
(
this
.
$attrs
.
optType
!==
'add'
)
{
this
.
getList
();
}
},
methods
:
{
onItemSelect
(
list
){
// console.log(list, 'list')
const
datas
=
list
.
map
(
item
=>
{
return
{
itemId
:
item
.
itemId
,
itemName
:
item
.
itemName
,
allQuantity
:
1
,
nextMaintenPeriod
:
this
.
$attrs
.
quantity
}
})
this
.
tmToolRequestItemList
=
this
.
tmToolRequestItemList
.
concat
(
datas
)
this
.
$emit
(
'sum'
)
},
/** 查询刀模板物料申请单列表 */
getList
()
{
this
.
loading
=
true
;
...
...
@@ -98,6 +148,30 @@ export default {
this
.
loading
=
false
;
});
},
/** 查询任务刀模板申请单列表 */
getTaskList
()
{
this
.
loading
=
true
;
this
.
queryParams
.
taskId
=
this
.
$attrs
.
taskId
;
this
.
queryParams
.
pageSize
=
10000
;
getTaskIdMaxProcessTool
(
this
.
queryParams
).
then
(
response
=>
{
const
datas
=
response
.
data
.
map
(
item
=>
{
return
{
...
item
,
allQuantity
:
item
.
AllQuantity
}
});
this
.
tmToolRequestItemList
=
this
.
tmToolRequestItemList
.
concat
(
datas
)
// this.total = response.total;
this
.
loading
=
false
;
this
.
$emit
(
'sum'
)
});
},
handleRemove
(
row
,
index
)
{
console
.
log
(
row
,
index
)
// this.tags.splice(this.tags.indexOf(tag), 1)
this
.
tmToolRequestItemList
.
splice
(
this
.
tmToolRequestItemList
.
indexOf
(
row
),
1
)
this
.
$emit
(
'sum'
)
},
// 取消按钮
cancel
()
{
this
.
open
=
false
;
...
...
src/views/mes/tm/toolrequest/selectTask.vue
0 → 100644
View file @
6ca2d542
<
template
>
<el-dialog
title=
"请选择任务单"
v-if=
"showFlag"
:visible
.
sync=
"showFlag"
:modal=
"true"
width=
"80%"
append-to-body
:destroy-on-close=
"true"
:close-on-click-modal=
"false"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"100px"
>
<el-form-item
label=
"任务单编码"
prop=
"taskCode"
>
<el-input
v-model=
"queryParams.taskCode"
placeholder=
"请输入任务单编码"
clearable
style=
"width: 200px"
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"生产工单"
prop=
"workOrderCode"
>
<el-input
v-model=
"queryParams.workOrderCode"
placeholder=
"请输入生产工单"
clearable
style=
"width: 200px"
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"编排单号"
prop=
"arrangeCode"
>
<el-input
v-model=
"queryParams.arrangeCode"
placeholder=
"请输入编排单号"
clearable
style=
"width: 200px"
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"handleQuery"
>
搜索
</el-button
>
<el-button
icon=
"el-icon-refresh"
size=
"mini"
@
click=
"resetQuery"
>
重置
</el-button
>
</el-form-item>
</el-form>
<el-table
v-loading=
"loading"
:data=
"itemList"
@
current-change=
"handleCurrent"
@
row-dblclick=
"handleRowDbClick"
@
row-click=
"handleRowChange"
>
<el-table-column
width=
"50"
align=
"center"
>
<template
v-slot=
"scope"
>
<!--
<el-radio
v-model=
"selectedItemId"
:label=
"scope.row.itemId"
@
change=
"handleRowChange(scope.row)"
>
{{
""
}}
</el-radio
>
-->
<!-- 可以手动的修改label的值,从而控制选择哪一项 -->
<el-radio
class=
"radio"
v-model=
"selectedItemId"
:label=
"scope.row.taskId"
>
</el-radio
>
</
template
>
</el-table-column>
<el-table-column
label=
"任务单编码"
width=
"120"
align=
"center"
key=
"taskCode"
prop=
"taskCode"
>
</el-table-column>
<el-table-column
label=
"工序名称"
min-width=
"120"
align=
"center"
key=
"processName"
prop=
"processName"
:show-overflow-tooltip=
"true"
/>
<el-table-column
label=
"产品名称"
align=
"center"
key=
"itemName"
min-width=
"150"
prop=
"itemName"
:show-overflow-tooltip=
"true"
/>
<el-table-column
label=
"单位"
align=
"center"
width=
"80"
key=
"unitOfMeasure"
prop=
"unitOfMeasure"
:show-overflow-tooltip=
"true"
/>
<el-table-column
label=
"排产数量"
align=
"center"
key=
"quantity"
width=
"100"
prop=
"quantity"
:show-overflow-tooltip=
"true"
/>
<el-table-column
label=
"工作单元编码"
align=
"center"
prop=
"workunitId"
/>
<el-table-column
label=
"开始生产时间"
align=
"center"
prop=
"startTime"
width=
"180"
:show-overflow-tooltip=
"true"
>
<
template
slot-scope=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
startTime
,
"{y
}
-{m
}
-{d
}
:{h
}
-{m
}
-{s
}
"
)
}}
<
/span
>
<
/template
>
<
/el-table-column
>
<
/el-table
>
<
pagination
v
-
show
=
"total > 0"
:
total
=
"total"
:
page
.
sync
=
"queryParams.pageNum"
:
limit
.
sync
=
"queryParams.pageSize"
@
pagination
=
"getList"
/>
<
div
slot
=
"footer"
class
=
"dialog-footer"
>
<
el
-
button
type
=
"primary"
@
click
=
"confirmSelect"
>
确
定
<
/el-button
>
<
el
-
button
@
click
=
"showFlag = false"
>
取
消
<
/el-button
>
<
/div
>
<
/el-dialog
>
<
/template
>
<
script
>
import
{
listTaskListDetail
}
from
"@/api/mes/pro/protask"
;
import
{
genCode
}
from
"@/api/system/autocode/rule"
;
import
{
getToken
}
from
"@/utils/auth"
;
import
{
treeselect
}
from
"@/api/mes/md/itemtype"
;
import
Treeselect
from
"@riophae/vue-treeselect"
;
import
"@riophae/vue-treeselect/dist/vue-treeselect.css"
;
export
default
{
name
:
"MdItemSingle"
,
dicts
:
[
"sys_yes_no"
,
"mes_item_product"
],
components
:
{
Treeselect
}
,
data
()
{
return
{
showFlag
:
false
,
// 选中数组
selectedItemId
:
undefined
,
selectedRows
:
undefined
,
// 非单个禁用
single
:
true
,
// 非多个禁用
multiple
:
true
,
// 显示搜索条件
showSearch
:
true
,
// 总条数
total
:
0
,
// 物料产品表格数据
itemList
:
null
,
// 部门树选项
itemTypeOptions
:
undefined
,
// 部门名称
itemTypeName
:
undefined
,
defaultProps
:
{
children
:
"children"
,
label
:
"label"
,
}
,
// 查询参数
queryParams
:
{
pageNum
:
1
,
pageSize
:
10
,
workorderType
:
'SELF'
,
statusStr
:
'PREPARE,BEGINNING,ISSUEGENERATED'
}
,
}
;
}
,
watch
:
{
// 根据名称筛选分类树
itemTypeName
(
val
)
{
this
.
$refs
.
tree
.
filter
(
val
);
}
,
}
,
created
()
{
}
,
mounted
()
{
this
.
getList
();
}
,
methods
:
{
/** 查询物料编码列表 */
getList
()
{
this
.
loading
=
true
;
listTaskListDetail
(
this
.
queryParams
).
then
((
response
)
=>
{
this
.
itemList
=
response
.
rows
;
this
.
total
=
response
.
total
;
this
.
loading
=
false
;
}
);
}
,
/** 搜索按钮操作 */
handleQuery
()
{
this
.
queryParams
.
pageNum
=
1
;
this
.
getList
();
}
,
/** 重置按钮操作 */
resetQuery
()
{
this
.
resetForm
(
"queryForm"
);
this
.
handleQuery
();
}
,
handleCurrent
(
row
)
{
if
(
row
)
{
this
.
selectedRows
=
row
;
}
}
,
handleRowDbClick
(
row
)
{
if
(
row
)
{
this
.
selectedRows
=
row
;
this
.
$emit
(
"onSelected"
,
this
.
selectedRows
);
this
.
showFlag
=
false
;
}
}
,
// 单选选中数据
handleRowChange
(
row
)
{
if
(
row
)
{
this
.
selectedRows
=
row
;
this
.
selectedItemId
=
row
.
taskId
}
}
,
//确定选中
confirmSelect
()
{
if
(
this
.
selectedItemId
==
null
||
this
.
selectedItemId
==
0
)
{
this
.
$notify
({
title
:
"提示"
,
type
:
"warning"
,
message
:
"请至少选择一条数据!"
,
}
);
return
;
}
this
.
$emit
(
"onSelected"
,
this
.
selectedRows
);
this
.
showFlag
=
false
;
}
,
}
,
}
;
<
/script
>
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