Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
mes-ui
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
周远喜
mes-ui
Commits
c99d2402
Commit
c99d2402
authored
Apr 20, 2020
by
仇晓婷
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'product' of
http://git.mes123.com/zhouyx/mes-ui
into product
parents
a588fab5
b2b3a142
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
281 additions
and
53 deletions
+281
-53
customTable.vue
components/customTable/customTable.vue
+1
-1
opration.vue
components/page/opration.vue
+10
-10
index.vue
pages/aps/aps/index.vue
+11
-6
index.vue
pages/aps/dispatch/index.vue
+85
-4
api.js
pages/aps/plan/api.js
+3
-0
dispatch.vue
pages/aps/plan/dispatch.vue
+6
-0
index.vue
pages/aps/plan/index.vue
+148
-32
index.vue
pages/mesPlan/index.vue
+1
-0
index.js
store/index.js
+16
-0
No files found.
components/customTable/customTable.vue
View file @
c99d2402
...
...
@@ -128,7 +128,7 @@
ok-text=
"确定"
cancel-text=
"取消"
>
{{ metCodesStrTxt }}
<p
style=
"word-break:break-all;word-wrap:break-word;"
>
{{ metCodesStrTxt }}
</p>
<div
slot=
"footer"
>
<Button
@
click=
"ModalInfo = false"
>
取消
</Button>
<Button
type=
"primary"
@
click=
"modalInfoOk"
>
确定
</Button>
...
...
components/page/opration.vue
View file @
c99d2402
<
template
>
<Tooltip
trigger=
"hover"
v-if=
"title"
:content=
"title"
placement=
"top-end"
>
<a
class=
"op"
:class=
"css"
@
click=
"handler"
>
<slot>
<Icon
v-if=
"type=='icon'"
:type=
"icon"
/>
<span
v-else=
"type=='text'"
v-text=
"text"
></span>
</slot>
</a>
<Tooltip
trigger=
"hover"
v-if=
"title"
:content=
"title"
placement=
"top-end"
>
<a
class=
"op"
:class=
"css"
@
click=
"handler"
>
<slot>
<Icon
v-if=
"type=='icon'"
:type=
"icon"
/>
<span
v-else=
"type=='text'"
v-text=
"text"
></span>
</slot>
</a>
</Tooltip>
<a
class=
"op"
v-else
:class=
"css"
@
click=
"handler"
>
<a
class=
"op"
v-else
:class=
"css"
@
click=
"handler"
>
<slot>
<Icon
v-if=
"type=='icon'"
:type=
"icon"
/>
<span
v-else=
"type=='text'"
v-text=
"text"
></span>
...
...
@@ -25,8 +25,8 @@ export default {
type
:
String
},
type
:
{
type
:
String
,
default
:
"text"
type
:
String
,
default
:
"text"
},
title
:{
type
:
String
...
...
pages/aps/aps/index.vue
View file @
c99d2402
...
...
@@ -150,7 +150,7 @@ export default {
title
:
this
.
l
(
"mes_code"
),
align
:
"left"
,
high
:
true
,
width
:
240
,
width
:
240
},
{
key
:
"product_name"
,
...
...
@@ -182,7 +182,7 @@ export default {
align
:
"left"
,
high
:
true
,
code
:
"plan.order.urgencyLevel"
,
width
:
100
,
width
:
100
},
{
key
:
"priority"
,
...
...
@@ -199,7 +199,7 @@ export default {
title
:
this
.
l
(
"plan_qty"
),
align
:
"right"
,
width
:
100
,
high
:
true
,
high
:
true
},
{
key
:
"spare_qty"
,
...
...
@@ -207,7 +207,7 @@ export default {
align
:
"right"
,
width
:
100
,
high
:
true
,
hide
:
true
,
hide
:
true
},
{
key
:
"plan_start"
,
...
...
@@ -242,7 +242,7 @@ export default {
align
:
"center"
,
resizable
:
true
,
width
:
150
,
type
:
"date"
type
:
"date"
},
{
key
:
"demand_finish"
,
...
...
@@ -251,7 +251,7 @@ export default {
high
:
true
,
resizable
:
true
,
width
:
150
,
type
:
"date"
type
:
"date"
},
{
key
:
"badjustflag"
,
...
...
@@ -372,6 +372,11 @@ export default {
if
(
r
.
success
)
{
this
.
$Message
.
success
(
"移出排产池操作成功"
);
this
.
loadList
();
//移出排产后将aps对应的store数量去掉
this
.
$store
.
commit
(
"setCountAps"
,
this
.
$store
.
state
.
countAps
-
paramsArry
.
length
);
}
});
},
...
...
pages/aps/dispatch/index.vue
View file @
c99d2402
...
...
@@ -23,16 +23,33 @@
<p
slot=
"title"
class=
"card_top"
>
<Checkbox
v-model=
"item.checked"
:disabled=
"item.
dispatchStatus==2
"
>
工
单号:
{{
item
.
mesCode
}}
</Checkbox>
:disabled=
"item.
status!=-1
"
>
订
单号:
{{
item
.
mesCode
}}
</Checkbox>
</p>
<div
class=
"h60"
>
<p
class=
"g_title"
>
{{
item
.
productName
}}
--
{{
item
.
equipCode
}}
</p>
<p>
<Icon
type=
"ios-pricetags"
/>
工序
{{
item
.
process_seq
}}
:
{{
item
.
process_name
}}
工序
{{
item
.
process_seq
}}
:
{{
item
.
process_name
}}
;
产品数量:
{{
item
.
quantity
}}
<op
title=
"拆分"
type=
"icon"
icon=
"md-cut"
v-if=
"item.quantity > 1 && item.pid == 0 && item.status==-1"
@
click=
"setChai(item,index)"
></op>
<op
title=
"删除"
type=
"icon"
icon=
"md-close-circle"
v-else-if=
"item.pid != 0"
@
click=
"removeDetail(item,index)"
></op>
<!-- -->
</p>
<p>
{{
item
.
beginTime
}}
--
{{
item
.
endTime
}}
</p>
<p>
人员 :
{{
item
.
userNames
}}
</p>
<!--
<p>
设备 :
{{
item
.
equipCode
}}
</p>
-->
</div>
</Card>
...
...
@@ -114,6 +131,13 @@
</div>
</Col>
</Row>
<!-- 拆分 fenModel -->
<Modal
v-model=
"chaiModal"
title=
"拆分工序"
:width=
"400"
:mask-closable=
"false"
ok-text=
"拆分"
@
on-ok=
"okChai()"
>
拆分数量:
<Tag>
{{
chaiNum
}}
</Tag>
<Slider
v-model=
"chaiNum"
:max=
"maxnum"
show-stops
:min=
"1"
></Slider>
</Modal>
<FooterToolbar
style=
"height:65px"
v-show=
"showOperate&&footerToolbar"
>
<Button
class=
"span ml20"
type=
"primary"
@
click=
"openDrawer"
>
设置
</Button>
<Button
@
click=
"footerToolbar=false"
>
取消
</Button>
...
...
@@ -241,6 +265,11 @@ export default {
listMan
:
[],
//人员列表
listTask
:
[],
//工单列表数据
newList
:
[],
//选中数据
chaiModal
:
false
,
//拆分弹框
chaiNum
:
1
,
//拆分数量
maxnum
:
1
,
rowIndex
:
0
,
//多选项的index
chaiId
:
0
,
entity
:
{
taskTime
:
''
,
//工时
userIds
:
null
,
//选中人员
...
...
@@ -346,7 +375,33 @@ export default {
getEntryList
(
id
)
{
let
parme
=
{
departmentId
:
id
,
DispatchStatus
:
this
.
status
}
Api
.
getEntryList
(
parme
).
then
((
res
)
=>
{
this
.
listTask
=
res
.
result
var
savedUl
=
[]
res
.
result
.
map
((
u
)
=>
{
let
detailnew
=
{
beginTime
:
u
.
beginTime
,
//开始时间
dispatchStatus
:
u
.
dispatchStatus
,
//
endTime
:
u
.
endTime
,
//
equipCode
:
u
.
equipCode
,
//
equipId
:
u
.
equipId
,
//
executeId
:
u
.
executeId
,
//
id
:
u
.
id
,
//
mesCode
:
u
.
mesCode
,
//
order_id
:
u
.
order_id
,
//
process_content
:
u
.
process_content
,
//
process_name
:
u
.
process_name
,
//
process_seq
:
u
.
process_seq
,
//
productName
:
u
.
productName
,
//
quantity
:
u
.
quantity
,
//
routingDetailId
:
u
.
routingDetailId
,
//
routingHeaderId
:
u
.
routingHeaderId
,
//
status
:
u
.
status
,
//
userIds
:
u
.
userIds
,
//
userNames
:
u
.
userNames
,
pid
:
0
,
//拆分项id
}
savedUl
.
push
(
detailnew
)
})
this
.
listTask
=
savedUl
})
},
// 时间改变方法
...
...
@@ -364,6 +419,7 @@ export default {
},
// 过滤条件
changeStatus
(
a
)
{
// console.log(a)
this
.
getUserInfoFn
()
},
// 打开抽屉
...
...
@@ -440,6 +496,31 @@ export default {
})
},
// 拆分方法
setChai
(
item
,
index
)
{
this
.
chaiModal
=
true
this
.
chaiNum
=
1
this
.
maxnum
=
item
.
quantity
-
1
this
.
rowIndex
=
index
// this.chaiId = item.id
},
okChai
()
{
var
detail
=
this
.
$u
.
clone
(
this
.
listTask
[
this
.
rowIndex
])
this
.
listTask
[
this
.
rowIndex
].
quantity
-=
this
.
chaiNum
// detail.id = 0
// detail.pid = this.chaiId
detail
.
pid
=
this
.
$u
.
guid
()
detail
.
quantity
=
this
.
chaiNum
this
.
listTask
.
splice
(
this
.
rowIndex
+
1
,
0
,
detail
)
},
// 删除行
removeDetail
(
item
,
index
)
{
let
oldList
=
this
.
listTask
;
let
clickRow
=
oldList
.
filter
(
listRow
=>
listRow
.
process_name
===
item
.
process_name
)[
0
];
clickRow
.
quantity
+=
this
.
chaiNum
this
.
listTask
.
splice
(
index
,
1
)
this
.
$Message
.
success
(
'拆分项已删除。'
)
},
cancle
()
{
//取消
this
.
facilityModal
=
false
this
.
manModal
=
false
...
...
pages/aps/plan/api.js
View file @
c99d2402
...
...
@@ -28,4 +28,7 @@ export default {
moveintoaps
()
{
//跳转进入排产池前判断
return
Api
.
post
(
`
${
PlanUrl
}
/messchedule/moveintoaps`
);
},
getpoolordercount
(){
//各排产池订单数量
return
Api
.
get
(
`
${
PlanUrl
}
/messchedule/getpoolordercount`
);
},
}
\ No newline at end of file
pages/aps/plan/dispatch.vue
View file @
c99d2402
...
...
@@ -18,6 +18,12 @@
</FormItem>
</Col>
</Row>
<Row
>
</Row>
<Row
>
</Row>
<FormItem>
<Button
type=
"primary"
@
click=
"handleSubmit"
:disabled=
"disabled"
>
保存
</Button>
<Button
@
click=
"handleClose"
class=
"ml20"
>
取消
</Button>
...
...
pages/aps/plan/index.vue
View file @
c99d2402
...
...
@@ -21,10 +21,33 @@
</Form>
</
template
>
<
template
slot=
"searchBack"
>
<a
href=
"javascript:;"
@
click=
"goAps"
>
APS排产
</a>
<a>
智能排产
</a>
<a>
整机排产
</a>
<a>
流水排产
</a>
<Badge
:count=
"this.$store.state.countAps"
overflow-count=
"99"
style=
"margin-right:15px;"
type=
"info"
>
<a
href=
"javascript:;"
@
click=
"goAps"
>
APS排产
</a>
</Badge>
<Badge
:count=
"this.$store.state.countAi"
overflow-count=
"99"
style=
"margin-right:15px;"
type=
"info"
>
<a
href=
"javascript:;"
>
智能排产
</a>
</Badge>
<Badge
:count=
"this.$store.state.countAll"
overflow-count=
"99"
style=
"margin-right:15px;"
type=
"info"
>
<a
href=
"javascript:;"
>
整机排产
</a>
</Badge>
<Badge
:count=
"this.$store.state.countRun"
overflow-count=
"99"
type=
"info"
>
<a
href=
"javascript:;"
>
流水排产
</a>
</Badge>
</
template
>
<
template
slot=
"searchForm"
>
<Search
/>
...
...
@@ -56,16 +79,29 @@
<Modal
v-model=
"dispatchModal"
title=
"工艺派发"
footer-hide
width=
"800"
>
<Dispatch
@
on-close=
"cancel"
:ids=
"listBatchIds"
@
on-ok=
"addOk"
/>
</Modal>
<Modal
v-model=
"scheduleModal"
title=
"移入排产"
width=
"800"
@
on-ok=
"scheduleOk"
@
on-cancel=
"cancel"
>
<Modal
v-model=
"scheduleModal"
title=
"移入排产"
width=
"800"
>
<p>
</p>
<p>
</p>
<p>
确定将订单 {{resultsOrderList}} 移入排产?
</p>
<h4>
请选择排产模型:
</h4>
<RadioGroup
v-model=
"scheduleType"
class=
"radioList"
@
on-change=
"onchangeScheduleType"
>
<Radio
label=
"1"
border
>
APS排产
</Radio>
<Radio
label=
"2"
border
>
智能排产
</Radio>
<Radio
label=
"3"
border
>
整机排产
</Radio>
<Radio
label=
"4"
border
>
流水排产
</Radio>
</RadioGroup>
<p
class=
"pl30 pt10"
v-show=
"scheduleType!=''"
>
确定将订单
<span
class=
"fwBold"
>
{{resultsOrderList}}
</span>
移入
<span
class=
"red fwBold"
>
{{scheduleTypeName}}
</span>
?
</p>
<p>
</p>
<p>
</p>
<div
slot=
"footer"
>
<Button
@
click=
"cancel"
>
取消
</Button>
<Button
type=
"primary"
@
click=
"scheduleOk"
>
确定
</Button>
</div>
</Modal>
<Modal
v-model=
"orderSupportModal"
title=
"配套下发"
footer-hide
width=
"1300"
>
<orderSupport
ref=
"orderSupport"
></orderSupport>
<Modal
v-model=
"orderSupportModal"
title=
"配套下发"
footer-hide
width=
"1300"
>
<orderSupport
ref=
"orderSupport"
></orderSupport>
</Modal>
</div>
</template>
...
...
@@ -166,7 +202,7 @@ export default {
align
:
"left"
,
easy
:
true
,
high
:
true
,
code
:
"plan.order.urgencyLevel"
,
code
:
"plan.order.urgencyLevel"
},
{
...
...
@@ -306,12 +342,14 @@ export default {
},
on
:
{
click
:
()
=>
params
.
row
.
isSupportingFinish
==
2
||
params
.
row
.
isSupportingFinish
==
3
params
.
row
.
isSupportingFinish
==
2
||
params
.
row
.
isSupportingFinish
==
3
?
this
.
supportDis
(
params
.
row
)
:
null
}
},
params
.
row
.
isSupportingFinish
==
2
||
params
.
row
.
isSupportingFinish
==
3
params
.
row
.
isSupportingFinish
==
2
||
params
.
row
.
isSupportingFinish
==
3
?
"配套派发"
:
""
)
...
...
@@ -330,11 +368,13 @@ export default {
resultsStatus
:
0
,
dispatchStatus
:
0
,
//派发标识
scheduleStatus
:
0
,
//排产标识
resultsOrderList
:
""
resultsOrderList
:
""
,
scheduleType
:
""
,
scheduleTypeName
:
""
};
},
mounted
()
{
console
.
log
(
this
);
this
.
loadInitCount
(
);
},
async
fetch
({
store
,
params
})
{
await
store
.
dispatch
(
"loadDictionary"
);
// 加载数据字典
...
...
@@ -415,6 +455,8 @@ export default {
},
modalSchedule
()
{
//移入排产
this
.
scheduleType
=
""
this
.
scheduleTypeName
=
""
this
.
listBatchIds
=
this
.
listBatchIds1
;
if
(
this
.
scheduleStatus
==
1
)
{
this
.
scheduleModal
=
true
;
...
...
@@ -424,8 +466,11 @@ export default {
},
goMethod
(
value
)
{
//行内点击后面按钮
this
.
canselFooter
()
this
.
resultsOrderList
=
value
.
mesCode
;
this
.
listBatchIds
=
[
value
.
id
];
this
.
scheduleType
=
""
this
.
scheduleTypeName
=
""
if
(
value
.
mainRoutingSetStatus
==
0
)
{
//this.dispatchStatus = 1
//this.scheduleStatus = 0
...
...
@@ -437,26 +482,37 @@ export default {
}
},
supportDis
(
value
)
{
this
.
orderSupportModal
=
true
,
this
.
$refs
.
orderSupport
.
loaddata
(
value
.
id
);
(
this
.
orderSupportModal
=
true
),
this
.
$refs
.
orderSupport
.
loaddata
(
value
.
id
);
},
scheduleOk
()
{
let
params
=
{
ids
:
this
.
listBatchIds
};
Api
.
moveinbatch
(
params
)
.
then
(
r
=>
{
if
(
r
.
success
)
{
this
.
$Message
.
success
(
"移入排产成功"
);
this
.
$refs
.
grid
.
reload
(
this
.
easySearch
);
}
else
{
if
(
this
.
scheduleType
==
""
)
{
this
.
$Message
.
error
(
"请选择排产模型"
);
}
else
{
let
params
=
{
ids
:
this
.
listBatchIds
,
poolType
:
Number
(
this
.
scheduleType
)
};
Api
.
moveinbatch
(
params
)
.
then
(
r
=>
{
if
(
r
.
success
&&
r
.
result
==
true
)
{
this
.
$Message
.
success
(
"移入排产成功"
);
this
.
$refs
.
grid
.
reload
(
this
.
easySearch
);
this
.
changeCountOut
(
this
.
scheduleType
,
this
.
listBatchIds
.
length
);
}
else
{
if
(
!
r
.
result
.
res
)
{
this
.
$Message
.
error
(
r
.
result
.
msg
);
}
else
{
this
.
$Message
.
error
(
"移入排产失败"
);
}
}
})
.
catch
(
err
=>
{
this
.
$Message
.
error
(
"移入排产失败"
);
}
})
.
catch
(
err
=>
{
this
.
$Message
.
error
(
"移入排产失败"
);
});
this
.
canselFooter
();
this
.
cancel
();
});
this
.
canselFooter
();
this
.
cancel
();
}
},
//跳转到aps排产池(有判断)
goAps
()
{
...
...
@@ -542,6 +598,57 @@ export default {
}
}
return
temp
;
},
//移入排产前选择排产模型
onchangeScheduleType
(
val
)
{
switch
(
val
)
{
case
"2"
:
this
.
scheduleTypeName
=
"智能排产"
;
break
;
case
"3"
:
this
.
scheduleTypeName
=
"整机排产"
;
break
;
case
"4"
:
this
.
scheduleTypeName
=
"流水排产"
;
break
;
default
:
this
.
scheduleTypeName
=
"APS排产"
;
}
},
//移入排产成功后给标题增加数量
changeCountOut
(
type
,
count
)
{
switch
(
type
)
{
case
"2"
:
//智能排产池排产订单数量
this
.
$store
.
commit
(
"setCountAi"
,
this
.
$store
.
state
.
countAi
+
count
);
break
;
case
"3"
:
//整机排产池排产订单数量
this
.
$store
.
commit
(
"setCountAll"
,
this
.
$store
.
state
.
countAll
+
count
);
break
;
case
"4"
:
//流水排产池排产订单数量
this
.
$store
.
commit
(
"setCountRun"
,
this
.
$store
.
state
.
countRun
+
count
);
break
;
default
:
//APS排产池排产订单数量
this
.
$store
.
commit
(
"setCountAps"
,
this
.
$store
.
state
.
countAps
+
count
);
}
},
//进入页面加载排产count-----
loadInitCount
()
{
this
.
$store
.
commit
(
"setCountAps"
,
0
);
this
.
$store
.
commit
(
"setCountAi"
,
0
);
this
.
$store
.
commit
(
"setCountAll"
,
0
);
this
.
$store
.
commit
(
"setCountRun"
,
0
);
Api
.
getpoolordercount
()
.
then
(
res
=>
{
if
(
res
.
success
&&
res
.
result
.
length
>
1
)
{
res
.
result
.
forEach
(
data
=>
{
this
.
changeCountOut
(
data
.
poolType
+
''
,
data
.
count
)
})
}
})
.
catch
(
err
=>
{
this
.
$Message
.
error
(
"获取排产模型数量失败"
);
});
}
}
};
...
...
@@ -550,4 +657,13 @@ export default {
.footerSpan {
width: 120px;
}
.demo-badge-alone {
background: #5cb85c !important;
}
.radioList {
margin: 10px 30px;
}
.radioList label {
margin-top: 5px;
}
</
style
>
\ No newline at end of file
pages/mesPlan/index.vue
View file @
c99d2402
...
...
@@ -713,6 +713,7 @@ export default {
this
.
curId
=
0
;
},
search
()
{
this
.
easySearch
.
keys
.
value
=
this
.
easySearch
.
keys
.
value
.
trim
();
this
.
$refs
.
grid
.
reload
(
this
.
easySearch
);
},
detail
(
row
)
{
...
...
store/index.js
View file @
c99d2402
...
...
@@ -10,6 +10,10 @@ export const state = () => ({
},
cart
:[],
count
:
0
,
countAps
:
0
,
//aps排产
countAi
:
0
,
//智能排产
countAll
:
0
,
//整机排产
countRun
:
0
,
//流水排产
})
export
const
getters
=
{
dictionaryByKey
:
(
state
)
=>
(
key
)
=>
{
...
...
@@ -59,6 +63,18 @@ export const mutations = {
},
setCartCount
(
state
,
count
)
{
state
.
count
=
count
;
},
setCountAps
(
state
,
count
)
{
//设置aps排产数量
state
.
countAps
=
count
;
},
setCountAi
(
state
,
count
)
{
//设置智能排产数量
state
.
countAi
=
count
;
},
setCountAll
(
state
,
count
)
{
//设置整机排产数量
state
.
countAll
=
count
;
},
setCountRun
(
state
,
count
)
{
//设置流水排产数量
state
.
countRun
=
count
;
}
}
...
...
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