Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
P
pda-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
pda
pda-ui
Commits
52b839f8
Commit
52b839f8
authored
Mar 15, 2024
by
chenzj
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增编排单对照表
parent
b8926e16
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
1285 additions
and
0 deletions
+1285
-0
arrangeRule.js
src/api/mes/pro/arrangeRule.js
+44
-0
single.vue
src/components/itemType/single.vue
+278
-0
taskSelectSingle.vue
src/components/process/taskSelectSingle.vue
+191
-0
index.vue
src/views/mes/pro/arrangeRule/index.vue
+772
-0
No files found.
src/api/mes/pro/arrangeRule.js
0 → 100644
View file @
52b839f8
import
request
from
'@/utils/request'
// 查询编排单对照表列表
export
function
listProWorkOrderArrangeRule
(
query
)
{
return
request
({
url
:
'/mes/pro/ProWorkOrderArrangeRule/list'
,
method
:
'get'
,
params
:
query
})
}
// 查询编排单对照表详细
export
function
getProWorkOrderArrangeRule
(
arrangeRuleId
)
{
return
request
({
url
:
'/mes/pro/ProWorkOrderArrangeRule/'
+
arrangeRuleId
,
method
:
'get'
})
}
// 新增编排单对照表
export
function
addProWorkOrderArrangeRule
(
data
)
{
return
request
({
url
:
'/mes/pro/ProWorkOrderArrangeRule'
,
method
:
'post'
,
data
:
data
})
}
// 修改编排单对照表
export
function
updateProWorkOrderArrangeRule
(
data
)
{
return
request
({
url
:
'/mes/pro/ProWorkOrderArrangeRule'
,
method
:
'put'
,
data
:
data
})
}
// 删除编排单对照表
export
function
delProWorkOrderArrangeRule
(
arrangeRuleId
)
{
return
request
({
url
:
'/mes/pro/ProWorkOrderArrangeRule/'
+
arrangeRuleId
,
method
:
'delete'
})
}
src/components/itemType/single.vue
0 → 100644
View file @
52b839f8
<
template
>
<el-dialog
title=
"产品分类选择"
v-if=
"showFlag"
:visible
.
sync=
"showFlag"
:modal=
"true"
width=
"80%"
append-to-body
>
<el-row
:gutter=
"20"
>
<!--分类数据-->
<el-col
:span=
"4"
:xs=
"24"
>
<div
class=
"head-container"
>
<el-input
v-model=
"itemTypeName"
placeholder=
"请输入分类名称"
clearable
size=
"small"
prefix-icon=
"el-icon-search"
style=
"margin-bottom: 20px"
/>
</div>
<div
class=
"head-container"
>
<el-tree
:data=
"itemTypeOptions"
:props=
"defaultProps"
:expand-on-click-node=
"false"
:filter-node-method=
"filterNode"
ref=
"tree"
default-expand-all
@
node-click=
"handleNodeClick"
/>
</div>
</el-col>
<!--物料数据-->
<el-col
:span=
"20"
:xs=
"24"
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"68px"
>
<!--
<el-form-item
label=
"排序"
prop=
"orderNum"
>
<el-input
v-model=
"queryParams.orderNum"
placeholder=
"请输入排序"
clearable
style=
"width: 240px"
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item
label=
"物料/产品"
prop=
"itemOrProduct"
>
<el-input
v-model=
"queryParams.itemOrProduct"
placeholder=
"请输入排序"
clearable
style=
"width: 240px"
@
keyup
.
enter
.
native=
"handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button
type=
"primary"
icon=
"el-icon-search"
size=
"mini"
@
click=
"handleQuery"
>
搜索
</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"
>
<el-table-column
width=
"50"
align=
"center"
>
<template
v-slot=
"scope"
>
<el-radio
v-model=
"selectedItemId"
:label=
"scope.row.itemTypeId"
@
change=
"handleRowChange(scope.row)"
>
{{
""
}}
</el-radio
>
</
template
>
</el-table-column>
<el-table-column
label=
"分类"
align=
"left"
key=
"itemTypeName"
prop=
"itemTypeName"
v-if=
"columns[0].visible"
:show-overflow-tooltip=
"true"
>
</el-table-column>
<el-table-column
label=
"排序"
align=
"center"
key=
"orderNum"
prop=
"orderNum"
v-if=
"columns[1].visible"
:show-overflow-tooltip=
"true"
>
</el-table-column>
<el-table-column
label=
"物料/产品"
align=
"center"
key=
"itemOrProduct"
prop=
"itemOrProduct"
v-if=
"columns[2].visible"
:show-overflow-tooltip=
"true"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.mes_item_product"
:value=
"scope.row.itemOrProduct"
/>
</
template
>
</el-table-column>
</el-table>
<pagination
v-show=
"total > 0"
:total=
"total"
:page
.
sync=
"queryParams.pageNum"
:limit
.
sync=
"queryParams.pageSize"
@
pagination=
"getList"
/>
</el-col>
</el-row>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"confirmSelect"
>
确 定
</el-button>
<el-button
@
click=
"showFlag = false"
>
取 消
</el-button>
</div>
</el-dialog>
</template>
<
script
>
import
{
treeselect
,
listItemType
}
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
:
{
orderNum
:
null
,
itemTypeName
:
null
,
itemOrProduct
:
null
},
// 列信息
columns
:
[
{
key
:
0
,
label
:
`物料分类`
,
visible
:
true
},
{
key
:
1
,
label
:
`物料分类排序`
,
visible
:
true
},
{
key
:
2
,
label
:
`物料/产品`
,
visible
:
true
},
],
};
},
watch
:
{
// 根据名称筛选分类树
itemTypeName
(
val
)
{
this
.
$refs
.
tree
.
filter
(
val
);
},
},
created
()
{
this
.
getList
();
this
.
getTreeselect
();
},
methods
:
{
/** 查询物料编码列表 */
getList
()
{
this
.
loading
=
true
;
listItemType
(
this
.
queryParams
).
then
(
response
=>
{
this
.
itemList
=
response
.
data
;
// this.total = response.total;
this
.
loading
=
false
;
});
},
/** 查询分类下拉树结构 */
getTreeselect
()
{
treeselect
().
then
((
response
)
=>
{
this
.
itemTypeOptions
=
response
.
data
;
});
},
// 筛选节点
filterNode
(
value
,
data
)
{
if
(
!
value
)
return
true
;
return
data
.
label
.
indexOf
(
value
)
!==
-
1
;
},
// 节点单击事件
handleNodeClick
(
data
)
{
this
.
queryParams
.
itemTypeId
=
data
.
id
;
this
.
handleQuery
();
},
/** 搜索按钮操作 */
handleQuery
()
{
this
.
queryParams
.
pageNum
=
1
;
this
.
getList
();
},
/** 重置按钮操作 */
resetQuery
()
{
this
.
form
=
{
itemTypeName
:
null
,
orderNum
:
null
,
itemOrProduct
:
null
};
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
)
{
debugger
;
if
(
row
)
{
this
.
selectedRows
=
row
;
}
},
//确定选中
confirmSelect
()
{
if
(
this
.
selectedItemId
==
null
||
this
.
selectedItemId
==
0
)
{
this
.
$notify
({
title
:
"提示"
,
type
:
"warning"
,
message
:
"请至少选择一条数据!"
,
});
return
;
}
this
.
$emit
(
"onSelected"
,
this
.
selectedRows
);
this
.
showFlag
=
false
;
},
},
};
</
script
>
src/components/process/taskSelectSingle.vue
0 → 100644
View file @
52b839f8
<
template
>
<el-dialog
title=
"工序查询页面"
v-if=
"showFlag"
:visible
.
sync=
"showFlag"
:modal=
false
width=
"80%"
center
>
<el-form
:model=
"queryParams"
ref=
"queryForm"
size=
"small"
:inline=
"true"
v-show=
"showSearch"
label-width=
"100px"
>
<el-form-item
label=
"所属工序"
prop=
"processName"
>
<el-select
v-model=
"queryParams.processName"
placeholder=
"请选择工序"
>
<el-option
v-for=
"item in processOptions"
:key=
"item.processId"
:label=
"item.processName"
:value=
"item.processName"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"工序编码"
prop=
"processCode"
>
<el-input
v-model=
"queryParams.processCode"
placeholder=
"请输入工序编码"
clearable
@
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=
"protaskList"
@
current-change=
"handleCurrent"
@
row-dblclick=
"handleRowDbClick"
>
<el-table-column
width=
"55"
align=
"center"
>
<template
v-slot=
"scope"
>
<el-radio
v-model=
"selectedTaskId"
:label=
"scope.row.processId"
@
change=
"handleRowChange(scope.row)"
>
{{
""
}}
</el-radio>
</
template
>
</el-table-column>
<el-table-column
label=
"工序编码"
align=
"center"
prop=
"processCode"
/>
<el-table-column
label=
"工序名称"
align=
"center"
prop=
"processName"
/>
<el-table-column
label=
"是否启用"
align=
"center"
prop=
"enableFlag"
>
<
template
slot-scope=
"scope"
>
<dict-tag
:options=
"dict.type.sys_yes_no"
:value=
"scope.row.enableFlag"
/>
</
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
{
listProcess
,
getProcess
,
delProcess
,
addProcess
,
updateProcess
}
from
"@/api/mes/pro/process"
;
import
{
listAllProcess
}
from
"@/api/mes/pro/process"
;
import
WorkstationSelect
from
"@/components/workstationSelect/simpletableSingle.vue"
export
default
{
name
:
"ProtaskSelect"
,
dicts
:
[
'sys_yes_no'
],
components
:
{
WorkstationSelect
},
props
:
{
workorderId
:
null
,
workorderCode
:
null
,
processId
:
null
,
processCode
:
null
,
workstationId
:
null
,
workstationCode
:
null
},
watch
:
{
workorderId
(
v
){
this
.
queryParams
.
workorderId
=
v
;
}
},
data
()
{
return
{
showFlag
:
false
,
selectedTaskId
:
undefined
,
selectedRow
:
undefined
,
// 遮罩层
loading
:
true
,
// 选中数组
ids
:
[],
// 非单个禁用
single
:
true
,
// 非多个禁用
multiple
:
true
,
// 显示搜索条件
showSearch
:
true
,
// 总条数
total
:
0
,
// 生产任务表格数据
protaskList
:
[],
// 弹出层标题
title
:
""
,
// 是否显示弹出层
open
:
false
,
// 查询参数
queryParams
:
{
pageNum
:
1
,
pageSize
:
10
,
processCode
:
null
,
processName
:
null
,
enableFlag
:
null
,
},
// 表单参数
form
:
{},
};
},
created
()
{
this
.
getList
();
this
.
getProcess
();
},
methods
:
{
/** 查询生产任务列表 */
getList
()
{
this
.
loading
=
true
;
listProcess
(
this
.
queryParams
).
then
(
response
=>
{
this
.
protaskList
=
response
.
rows
;
this
.
total
=
response
.
total
;
this
.
loading
=
false
;
});
},
//查询工序信息
getProcess
(){
listAllProcess
().
then
(
response
=>
{
this
.
processOptions
=
response
.
data
;
});
},
/** 搜索按钮操作 */
handleQuery
()
{
this
.
queryParams
.
pageNum
=
1
;
this
.
getList
();
},
/** 重置按钮操作 */
resetQuery
()
{
this
.
form
=
{
processName
:
null
,
processCode
:
null
,
};
this
.
resetForm
(
"queryForm"
);
this
.
handleQuery
();
},
handleCurrent
(
row
){
if
(
row
){
this
.
selectedRow
=
row
;
}
},
//行双击选中
handleRowDbClick
(
row
){
if
(
row
){
this
.
selectedRow
=
row
;
this
.
$emit
(
'onSelected'
,
this
.
selectedRow
);
this
.
showFlag
=
false
;
}
},
// 单选选中数据
handleRowChange
(
row
)
{
debugger
;
if
(
row
){
this
.
selectedRow
=
row
;
}
},
//确定选中
confirmSelect
(){
if
(
this
.
selectedTaskId
==
null
||
this
.
selectedTaskId
==
0
){
this
.
$notify
({
title
:
'提示'
,
type
:
'warning'
,
message
:
'请至少选择一条数据!'
});
return
;
}
this
.
$emit
(
'onSelected'
,
this
.
selectedRow
);
this
.
showFlag
=
false
;
}
}
};
</
script
>
src/views/mes/pro/arrangeRule/index.vue
0 → 100644
View file @
52b839f8
This diff is collapsed.
Click to expand it.
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