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
b7f7b50d
Commit
b7f7b50d
authored
Apr 24, 2020
by
周远喜
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'product' of
http://git.mes123.com/zhouyx/mes-ui
into product
parents
4e1a4474
0783264b
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
1133 additions
and
391 deletions
+1133
-391
iview-reset.less
assets/css/iview-reset.less
+3
-0
technologyTree.vue
components/modalTree/technologyTree.vue
+193
-0
api.js
pages/aps/complete/api.js
+18
-15
checkboxList.vue
pages/aps/complete/checkboxList.vue
+105
-45
index.vue
pages/aps/complete/index.vue
+136
-103
api.js
pages/aps/stream/api.js
+23
-14
checkboxList.vue
pages/aps/stream/checkboxList.vue
+149
-67
index.vue
pages/aps/stream/index.vue
+168
-53
set.vue
pages/aps/stream/set.vue
+196
-53
index.vue
pages/order/monitoring/index.vue
+34
-21
record.vue
pages/order/monitoring/record.vue
+1
-1
speed.vue
pages/order/monitoring/speed.vue
+79
-7
index.vue
pages/processManage/Process/index.vue
+2
-2
index.vue
pages/resource/resource/index.vue
+1
-1
index.vue
pages/technology/index.vue
+11
-3
technolog.less
pages/technology/technolog.less
+14
-6
No files found.
assets/css/iview-reset.less
View file @
b7f7b50d
...
...
@@ -339,9 +339,12 @@
color: #fff;
}
}
<<<<<<< HEAD
// .ivu-select-dropdown{
// z-index: 910!important;
// }
=======
>>>>>>> 0783264b39c101d895bac10d6ee7ec375f8653a3
.manyTabs {
.ivu-tabs-bar {
position: absolute;
...
...
components/modalTree/technologyTree.vue
0 → 100644
View file @
b7f7b50d
<
template
>
<div>
<h3
class=
"title"
>
<Input
search
placeholder=
"请输入查询条件"
style=
"width:72%"
clearable
v-model=
"treeInputSearch"
/>
<ButtonGroup
class=
"fr"
size=
"small"
>
<Button>
<Icon
:type=
"expand ? 'md-arrow-dropright' : 'md-arrow-dropdown'"
size=
"16"
@
click=
"toggle"
title=
"展开/合并"
/>
</Button>
<Button>
<Icon
type=
"md-refresh"
size=
"16"
@
click=
"loadTree"
title=
"刷新"
/>
</Button>
</ButtonGroup>
</h3>
<div
class=
"tree"
:style=
"
{height:divHeight}">
<Tree
:data=
"searchList"
@
on-select-change=
"selectTreeNode"
/>
</div>
</div>
</
template
>
<
script
>
export
default
{
name
:
'technologyTree'
,
data
()
{
return
{
expand
:
false
,
treeData
:
[],
treeInputSearch
:
''
,
}
},
props
:
{
type
:
{
type
:
Number
,
default
:
0
}
},
computed
:{
searchList
()
{
let
nodeList
=
this
.
treeData
var
text
=
this
.
treeInputSearch
var
newNodeList
=
[]
function
searchTree
(
nodeLists
,
value
)
{
for
(
let
i
=
0
;
i
<
nodeLists
.
length
;
i
++
)
{
if
(
nodeLists
[
i
].
title
.
indexOf
(
value
)
!=
-
1
)
{
newNodeList
.
push
(
nodeLists
[
i
])
}
else
if
(
nodeLists
[
i
].
children
.
length
>
0
)
{
searchTree
(
nodeLists
[
i
].
children
,
value
)
}
}
}
if
(
text
!=
''
)
{
searchTree
(
nodeList
,
text
)
}
else
{
return
nodeList
}
return
newNodeList
}
},
mounted
()
{
window
.
onresize
=
()
=>
{
///浏览器窗口大小变化
return
(()
=>
{
window
.
screenHeight
=
window
.
innerHeight
;
this
.
divHeight
=
window
.
innerHeight
-
260
+
"px"
;
})();
};
},
created
()
{
this
.
loadTree
()
var
theight
=
window
.
innerHeight
-
260
+
'px'
this
.
divHeight
=
theight
},
methods
:
{
toggle
()
{
this
.
expand
=
!
this
.
expand
this
.
loadTree
()
},
async
loadTree
()
{
var
sumData
=
[]
this
.
$http
.
order
.
getallselecttree
().
then
((
res
)
=>
{
if
(
res
.
result
)
{
for
(
var
i
=
0
;
i
<
res
.
result
.
length
;
i
++
)
{
sumData
=
sumData
.
concat
(
res
.
result
[
i
])
}
this
.
treeData
=
sumData
}
else
{
this
.
$Message
.
error
(
'加载产品树失败!'
)
}
})
},
selectTreeNode
(
value
)
{
if
(
value
!=
null
&&
value
.
length
>
0
)
{
this
.
ProductSelected
=
value
}
if
(
value
.
length
>
0
)
{
this
.
ids
=
[]
this
.
getAllIds
(
value
)
if
(
this
.
ids
.
length
>
0
)
{
this
.
productid
=
this
.
ids
.
join
(
','
)
}
else
{
this
.
productid
=
'-1'
}
this
.
pageindex
=
1
this
.
loaddata
()
}
},
//重构左侧树
getTrees
(
trees
)
{
var
expand
=
this
.
expand
trees
.
forEach
((
data
,
index
)
=>
{
var
that
=
this
data
.
expand
=
expand
if
(
data
.
children
.
length
>
0
)
{
this
.
getTrees
(
data
.
children
)
}
})
return
trees
},
renderContent
(
h
,
{
root
,
node
,
data
})
{
return
h
(
'span'
,
{
style
:
{
color
:
data
.
isClick
?
'#000'
:
'#bbb'
,
//根据选中状态设置样式
cursor
:
data
.
isClick
?
'pointer'
:
''
,
background
:
node
.
node
.
selected
&&
data
.
isClick
?
'#AAD8D4'
:
'#ffffff'
,
paddingLeft
:
'10px'
,
paddingRight
:
'10px'
,
paddingTop
:
'3px'
,
paddingBottom
:
'3px'
},
on
:
{
// click: () => {
// if (!node.node.selected) {
// this.$refs.tree.handleSelect(node.nodeKey) //手动选择树节点
// }
// }
}
},
data
.
title
)
},
//得到此树节点下所有是产品的Id
getAllIds
(
trees
)
{
trees
.
forEach
((
data
,
index
)
=>
{
var
that
=
this
if
(
data
.
isClick
)
{
this
.
ids
.
push
(
data
.
id
)
}
if
(
data
.
children
.
length
>
0
)
{
this
.
getAllIds
(
data
.
children
)
}
})
},
change
(
value
)
{
if
(
value
.
length
>
0
)
{
if
(
value
[
0
].
isClick
)
{
this
.
ids
=
[]
this
.
getAllIds
(
value
)
if
(
this
.
ids
.
length
>
0
)
{
this
.
$emit
(
'storeIds'
,
this
.
ids
)
//this.easySearch.storeId.value = this.ids
}
else
{
this
.
$emit
(
'storeIds'
,
[
-
1
])
}
}
else
{
this
.
$Message
.
error
(
'当前操作用户无此库位的权限'
)
this
.
$emit
(
'storeIds'
,
[
-
1
])
}
}
},
change1
(
value
)
{
if
(
value
.
length
>
0
)
{
this
.
ids
=
[]
this
.
getAllIds
(
value
)
if
(
this
.
ids
.
length
>
0
)
{
this
.
$emit
(
'storeIds'
,
this
.
ids
)
}
else
{
this
.
$emit
(
'storeIds'
,
[
-
1
])
}
}
}
}
}
</
script
>
pages/aps/complete/api.js
View file @
b7f7b50d
import
Api
from
'@/plugins/request'
export
default
{
get
mesorder
(
params
)
{
return
Api
.
get
(
`
${
apsManualUrl
}
/aps/getmesorder`
,
params
);
//待排产
订单数据
get
pooltypeorderlist
(
params
)
{
return
Api
.
get
(
`
${
PlanUrl
}
/messchedule/getpooltypeorderlist`
,
params
);
//排产池
订单数据
},
gettaskseqinfo
(
params
)
{
return
Api
.
get
(
`
${
apsManualUrl
}
/aps/gettaskseqinfo`
,
params
);
//根据订单获取全部工序数据
cmonestepschedule
(
params
)
{
return
Api
.
post
(
`
${
PlanUrl
}
/messchedule/cmonestepschedule`
,
params
);
//整机排产--一级排产
},
getlist
(
params
)
{
return
Api
.
get
(
`
${
apsManualUrl
}
/mes_sys_shop_info/getlist`
,
params
);
//手工排产:查询所在车间下的所有班组信息
},
getbyshopid
(
params
)
{
return
Api
.
get
(
`
${
apsManualUrl
}
/mes_sys_user_info/getuserbyshopid`
,
params
);
//手工排产:根据班组ID,加载人员信息
},
getlistEquip
(
params
)
{
return
Api
.
get
(
`
${
apsManualUrl
}
/mes_equip_info/getlist`
,
params
);
//手工排产:获取所在车间的设备
},
getbyequippk
(
params
)
{
return
Api
.
get
(
`
${
apsManualUrl
}
/mes_sys_user_info/getuserbyequippk`
,
params
);
//手工排产:根据设备ID,加载人员信息
cmtwostepschedule
(
params
)
{
return
Api
.
post
(
`
${
PlanUrl
}
/messchedule/cmtwostepschedule`
,
params
);
//整机排产--二级排产
},
// getlist(params) {
// return Api.get(`${PlanUrl}/mes_sys_shop_info/getlist`, params); //手工排产:查询所在车间下的所有班组信息
// },
// getbyshopid(params) {
// return Api.get(`${PlanUrl}/mes_sys_user_info/getuserbyshopid`, params); //手工排产:根据班组ID,加载人员信息
// },
// getlistEquip(params) {
// return Api.get(`${PlanUrl}/mes_equip_info/getlist`, params); //手工排产:获取所在车间的设备
// },
// getbyequippk(params) {
// return Api.get(`${PlanUrl}/mes_sys_user_info/getuserbyequippk`, params); //手工排产:根据设备ID,加载人员信息
// },
}
\ No newline at end of file
pages/aps/complete/checkboxList.vue
View file @
b7f7b50d
...
...
@@ -20,7 +20,15 @@
</div>
</Col>
</Row>
<div
class=
"row-name"
>
张芳
&
nbsp
&
nbsp 1级
</div>
<ul
v-show=
"singleList.isClick"
>
<li
ref=
"liId"
v-for=
"(item,index) in list"
:key=
"index"
@
click=
"onclick(index)"
>
{{
item
.
name
}}
&
nbsp
&
nbsp
{{
item
.
class
}}
</li>
</ul>
<!--
<CheckboxGroup
v-model=
"checkAllGroup"
@
on-change=
"checkAllGroupChange"
...
...
@@ -38,6 +46,7 @@ export default {
props
:
[
"singleList"
],
data
()
{
return
{
chooseNum
:
null
,
indeterminate
:
true
,
checkAll
:
false
,
checkAllGroup
:
[],
...
...
@@ -45,7 +54,20 @@ export default {
show
:
-
1
,
list
:
[
{
name
:
"张芳"
name
:
"张芳"
,
class
:
"1级"
},
{
name
:
"张芳"
,
class
:
"1级"
},
{
name
:
"张芳"
,
class
:
"1级"
},
{
name
:
"张芳"
,
class
:
"1级"
}
],
taglistData
:
[]
...
...
@@ -56,47 +78,74 @@ export default {
// this.checkList()
},
methods
:
{
onclick
(
index
)
{
if
(
this
.
$refs
.
liId
[
index
].
className
.
length
<=
0
)
{
this
.
$refs
.
liId
[
index
].
className
=
"li-focus"
;
// 添加类
let
list
=
[];
this
.
$refs
.
liId
.
forEach
((
element
,
index
)
=>
{
if
(
this
.
$refs
.
liId
[
index
].
className
)
{
list
.
push
(
this
.
$refs
.
liId
[
index
].
className
);
}
});
if
(
list
.
length
==
this
.
list
.
length
)
{
this
.
checkAll
=
true
;
}
}
else
{
this
.
$refs
.
liId
[
index
].
className
=
""
;
// 选中再取消的情况
this
.
checkAll
=
false
;
}
},
handleCheckAll
(
id
)
{
// console.log(this.list)
// this.list.map((u) => {
// console.log(u)
// })
// this.checkList(id)
this
.
checkAll
=
!
this
.
checkAll
;
if
(
this
.
checkAll
)
{
let
listNew
=
[];
this
.
list
.
map
(
u
=>
{
if
(
this
.
resourcesType
==
0
)
{
listNew
.
push
(
u
.
user_name
);
}
else
if
(
this
.
resourcesType
==
2
)
{
listNew
.
push
(
u
.
equip_name
);
}
this
.
$refs
.
liId
.
forEach
((
element
,
index
)
=>
{
this
.
$refs
.
liId
[
index
].
className
=
"li-focus"
;
// 添加类
});
this
.
checkAllGroup
=
listNew
;
this
.
$emit
(
"changeData"
,
this
.
checkAllGroup
);
}
else
{
this
.
checkAllGroup
=
[];
this
.
$refs
.
liId
.
forEach
((
element
,
index
)
=>
{
this
.
$refs
.
liId
[
index
].
className
=
""
;
// 选中再取消的情况
});
}
// // console.log(this.list)
// // this.list.map((u) => {
// // console.log(u)
// // })
// // this.checkList(id)
// this.checkAll = !this.checkAll;
// if (this.checkAll) {
// let listNew = [];
// this.list.map(u => {
// if (this.resourcesType == 0) {
// listNew.push(u.user_name);
// } else if (this.resourcesType == 2) {
// listNew.push(u.equip_name);
// }
// });
// this.checkAllGroup = listNew;
// this.$emit("changeData", this.checkAllGroup);
// } else {
// this.checkAllGroup = [];
// }
},
checkAllGroupChange
(
data
)
{
console
.
log
(
data
);
console
.
log
(
this
.
list
);
//
checkAllGroupChange(data) {
//
console.log(data);
//
console.log(this.list);
this
.
checkAllGroup
=
data
;
this
.
$emit
(
"changeData"
,
this
.
checkAllGroup
);
if
(
data
.
length
===
this
.
list
.
length
)
{
this
.
indeterminate
=
false
;
this
.
checkAll
=
true
;
}
else
if
(
data
.
length
>
0
)
{
this
.
indeterminate
=
true
;
this
.
checkAll
=
false
;
}
else
{
this
.
indeterminate
=
false
;
this
.
checkAll
=
false
;
}
},
//
this.checkAllGroup = data;
//
this.$emit("changeData", this.checkAllGroup);
//
if (data.length === this.list.length) {
//
this.indeterminate = false;
//
this.checkAll = true;
//
} else if (data.length > 0) {
//
this.indeterminate = true;
//
this.checkAll = false;
//
} else {
//
this.indeterminate = false;
//
this.checkAll = false;
//
}
//
},
checkList
(
id
)
{
if
(
this
.
resourcesType
==
0
)
{
//班组
...
...
@@ -145,6 +194,7 @@ export default {
.checkbox-list {
.icon-down {
text-align: right;
cursor: pointer;
}
.check-title {
height: 40px;
...
...
@@ -152,17 +202,27 @@ export default {
padding: 0 10px;
background: rgba(38, 128, 235, 0.5);
}
.row-name {
text-align: center;
width: 100px;
height: 30;
border-radius: 20px;
margin: 5px;
cursor: pointer;
background: rgba(38, 128, 235, 0.2);
}
.row-name:hover {
border: 1px solid rgba(38, 128, 235, 0.5);
ul {
min-height: 60px;
padding: 10px 5px;
display: flex;
li {
list-style-type: none;
text-align: center;
width: 100px;
height: 30px;
line-height: 30px;
border-radius: 20px;
margin: 0 5px;
cursor: pointer;
background: rgba(38, 128, 235, 0.1);
}
li:hover {
border: 1px solid rgba(38, 128, 235, 0.5);
}
.li-focus {
border: 1px solid rgba(38, 128, 235, 0.5);
}
}
}
</
style
>
\ No newline at end of file
pages/aps/complete/index.vue
View file @
b7f7b50d
This diff is collapsed.
Click to expand it.
pages/aps/stream/api.js
View file @
b7f7b50d
import
Api
from
'@/plugins/request'
export
default
{
get
mesorder
(
params
)
{
return
Api
.
get
(
`
${
apsManualUrl
}
/aps/getmesorder`
,
params
);
//待排产
订单数据
get
pooltypeorderlist
(
params
)
{
return
Api
.
get
(
`
${
PlanUrl
}
/messchedule/getpooltypeorderlist`
,
params
);
//排产池
订单数据
},
get
taskseqinfo
(
params
)
{
return
Api
.
get
(
`
${
apsManualUrl
}
/aps/gettaskseqinfo`
,
params
);
//根据订单获取全部工序数据
get
routingdetails
(
params
)
{
return
Api
.
get
(
`
${
PlanUrl
}
/messchedule/getroutingdetails`
,
params
);
//工序信息
},
getlist
(
params
)
{
return
Api
.
get
(
`
${
apsManualUrl
}
/mes_sys_shop_info/getlist`
,
params
);
//手工排产:查询所在车间下的所有班组信息
flonestepschedule
(
params
)
{
return
Api
.
post
(
`
${
PlanUrl
}
/messchedule/flonestepschedule`
,
params
);
//流水一级
},
getbyshopid
(
params
)
{
return
Api
.
get
(
`
${
apsManualUrl
}
/mes_sys_user_info/getuserbyshopid`
,
params
);
//手工排产:根据班组ID,加载人员信息
},
getlistEquip
(
params
)
{
return
Api
.
get
(
`
${
apsManualUrl
}
/mes_equip_info/getlist`
,
params
);
//手工排产:获取所在车间的设备
},
getbyequippk
(
params
)
{
return
Api
.
get
(
`
${
apsManualUrl
}
/mes_sys_user_info/getuserbyequippk`
,
params
);
//手工排产:根据设备ID,加载人员信息
fltwostepschedule
(
params
)
{
return
Api
.
post
(
`
${
PlanUrl
}
/messchedule/fltwostepschedule`
,
params
);
//流水二级
},
// gettaskseqinfo(params) {
// return Api.get(`${apsManualUrl}/aps/gettaskseqinfo`, params); //根据订单获取全部工序数据
// },
// getlist(params) {
// return Api.get(`${apsManualUrl}/mes_sys_shop_info/getlist`, params); //手工排产:查询所在车间下的所有班组信息
// },
// getbyshopid(params) {
// return Api.get(`${apsManualUrl}/mes_sys_user_info/getuserbyshopid`, params); //手工排产:根据班组ID,加载人员信息
// },
// getlistEquip(params) {
// return Api.get(`${apsManualUrl}/mes_equip_info/getlist`, params); //手工排产:获取所在车间的设备
// },
// getbyequippk(params) {
// return Api.get(`${apsManualUrl}/mes_sys_user_info/getuserbyequippk`, params); //手工排产:根据设备ID,加载人员信息
// },
}
\ No newline at end of file
pages/aps/stream/checkboxList.vue
View file @
b7f7b50d
<
template
>
<div
class=
"checkbox-list"
>
<Row
style=
"border-bottom: 1px solid #e9e9e9;margin-bottom:6px;
"
>
<Row
class=
"check-title
"
>
<Col
span=
"20"
>
<div>
<!-- :indeterminate="indeterminate" -->
<!-- :label="resourcesType==0?singleList.shop_name:resourcesType==2?singleList.equip_name:''" -->
<Checkbox
:label=
"
resourcesType==0?singleList.shop_name:resourcesType==2?singleList.equip_name:''
"
:label=
"
singleList.equip_name
"
v-model=
"checkAll"
@
click
.
prevent
.
native=
"handleCheckAll(singleList.shop_id)"
>
{{
resourcesType
==
0
?
singleList
.
shop_name
:
resourcesType
==
2
?
singleList
.
equip_name
:
''
}}
</Checkbox>
>
{{
singleList
.
equip_name
}}
</Checkbox>
<!--
{{
resourcesType
==
0
?
singleList
.
shop_name
:
resourcesType
==
2
?
singleList
.
equip_name
:
''
}}
-->
</div>
</Col>
<Col
span=
"4"
>
...
...
@@ -18,112 +20,163 @@
</div>
</Col>
</Row>
<CheckboxGroup
<ul
v-if=
"singleList.isClick"
>
<li
ref=
"liId"
v-for=
"(item,index) in list"
:key=
"index"
@
click=
"onclick(index)"
>
{{
item
.
name
}}
&
nbsp
&
nbsp
{{
item
.
class
}}
</li>
</ul>
<!--
<CheckboxGroup
v-model=
"checkAllGroup"
@
on-change=
"checkAllGroupChange"
v-if=
"singleList.isClick"
>
<Checkbox
:label=
"resourcesType==0?item.user_name:resourcesType==2?item.equip_name:''"
v-for=
"(item,index) in list"
:key=
"item.user_id"
></Checkbox>
</CheckboxGroup>
>
-->
<!-- :label="resourcesType==0?item.user_name:resourcesType==2?item.equip_name:''" -->
<!--
<Checkbox
v-for=
"(item,index) in list"
:key=
"index"
:label=
"item.name"
>
{{
item
.
name
}}
</Checkbox>
</CheckboxGroup>
-->
</div>
</
template
>
<
script
>
import
Api
from
'./api'
import
Api
from
"./api"
;
export
default
{
name
:
'CheckboxList'
,
props
:
[
'singleList'
,
'resourcesType'
],
name
:
"CheckboxList"
,
props
:
[
"singleList"
],
data
()
{
return
{
chooseNum
:
null
,
indeterminate
:
true
,
checkAll
:
false
,
checkAllGroup
:
[],
typeIcon
:
'ios-arrow-down'
,
typeIcon
:
"ios-arrow-down"
,
show
:
-
1
,
list
:
[],
list
:
[
{
name
:
"张芳"
,
class
:
"1级"
},
{
name
:
"张芳"
,
class
:
"1级"
},
{
name
:
"张芳"
,
class
:
"1级"
},
{
name
:
"张芳"
,
class
:
"1级"
}
],
taglistData
:
[]
}
}
;
},
mounted
()
{
// this.checkList()
},
methods
:
{
handleCheckAll
(
id
)
{
// console.log(this.list)
// this.list.map((u) => {
// console.log(u)
// })
// this.checkList(id)
this
.
checkAll
=
!
this
.
checkAll
if
(
this
.
checkAll
)
{
let
listNew
=
[]
this
.
list
.
map
((
u
)
=>
{
if
(
this
.
resourcesType
==
0
)
{
listNew
.
push
(
u
.
user_name
)
}
else
if
(
this
.
resourcesType
==
2
)
{
listNew
.
push
(
u
.
equip_name
)
onclick
(
index
)
{
if
(
this
.
$refs
.
liId
[
index
].
className
.
length
<=
0
)
{
this
.
$refs
.
liId
[
index
].
className
=
"li-focus"
;
// 添加类
let
list
=
[];
this
.
$refs
.
liId
.
forEach
((
element
,
index
)
=>
{
if
(
this
.
$refs
.
liId
[
index
].
className
)
{
list
.
push
(
this
.
$refs
.
liId
[
index
].
className
);
}
})
this
.
checkAllGroup
=
listNew
this
.
$emit
(
'changeData'
,
this
.
checkAllGroup
)
});
if
(
list
.
length
==
this
.
list
.
length
)
{
this
.
checkAll
=
true
;
}
}
else
{
this
.
checkAllGroup
=
[]
this
.
$refs
.
liId
[
index
].
className
=
""
;
// 选中再取消的情况
this
.
checkAll
=
false
;
}
},
checkAllGroupChange
(
data
)
{
console
.
log
(
data
)
console
.
log
(
this
.
list
)
this
.
checkAllGroup
=
data
this
.
$emit
(
'changeData'
,
this
.
checkAllGroup
)
if
(
data
.
length
===
this
.
list
.
length
)
{
this
.
indeterminate
=
false
this
.
checkAll
=
true
}
else
if
(
data
.
length
>
0
)
{
this
.
indeterminate
=
true
this
.
checkAll
=
false
handleCheckAll
(
id
)
{
this
.
checkAll
=
!
this
.
checkAll
;
if
(
this
.
checkAll
)
{
this
.
$refs
.
liId
.
forEach
((
element
,
index
)
=>
{
this
.
$refs
.
liId
[
index
].
className
=
"li-focus"
;
// 添加类
});
}
else
{
this
.
indeterminate
=
false
this
.
checkAll
=
false
this
.
$refs
.
liId
.
forEach
((
element
,
index
)
=>
{
this
.
$refs
.
liId
[
index
].
className
=
""
;
// 选中再取消的情况
});
}
// // console.log(this.list)
// // this.list.map((u) => {
// // console.log(u)
// // })
// // this.checkList(id)
// this.checkAll = !this.checkAll;
// if (this.checkAll) {
// let listNew = [];
// this.list.map(u => {
// if (this.resourcesType == 0) {
// listNew.push(u.user_name);
// } else if (this.resourcesType == 2) {
// listNew.push(u.equip_name);
// }
// });
// this.checkAllGroup = listNew;
// this.$emit("changeData", this.checkAllGroup);
// } else {
// this.checkAllGroup = [];
// }
},
// checkAllGroupChange(data) {
// console.log(data);
// console.log(this.list);
// this.checkAllGroup = data;
// this.$emit("changeData", this.checkAllGroup);
// if (data.length === this.list.length) {
// this.indeterminate = false;
// this.checkAll = true;
// } else if (data.length > 0) {
// this.indeterminate = true;
// this.checkAll = false;
// } else {
// this.indeterminate = false;
// this.checkAll = false;
// }
// },
checkList
(
id
)
{
if
(
this
.
resourcesType
==
0
)
{
//班组
Api
.
getbyshopid
({
shop_id
:
id
}).
then
(
(
r
)
=>
{
Api
.
getbyshopid
({
shop_id
:
id
}).
then
(
r
=>
{
// console.log(r)
if
(
r
.
success
)
{
r
.
result
.
forEach
(
(
e
)
=>
{
e
.
ischeckBox
=
false
})
this
.
list
=
r
.
result
r
.
result
.
forEach
(
e
=>
{
e
.
ischeckBox
=
false
;
})
;
this
.
list
=
r
.
result
;
}
})
})
;
}
else
if
(
this
.
resourcesType
==
2
)
{
//设备
Api
.
getbyequippk
({
equip_pk
:
91
}).
then
(
(
r
)
=>
{
Api
.
getbyequippk
({
equip_pk
:
91
}).
then
(
r
=>
{
// console.log(r)
if
(
r
.
success
)
{
r
.
result
.
forEach
(
(
e
)
=>
{
e
.
ischeckBox
=
false
})
this
.
list
=
r
.
result
r
.
result
.
forEach
(
e
=>
{
e
.
ischeckBox
=
false
;
})
;
this
.
list
=
r
.
result
;
}
})
})
;
}
},
upDown
(
post
)
{
if
(
!
post
.
isClick
)
{
this
.
$set
(
post
,
'isClick'
,
true
)
this
.
checkList
(
post
.
shop_id
)
this
.
$set
(
post
,
"isClick"
,
true
);
this
.
checkList
(
post
.
shop_id
)
;
}
else
{
this
.
$set
(
post
,
'isClick'
,
false
)
this
.
$set
(
post
,
"isClick"
,
false
);
}
}
}
...
...
@@ -135,12 +188,41 @@ export default {
// deep: true
// }
// }
}
}
;
</
script
>
<
style
lang=
"less"
scoped
>
.checkbox-list {
.icon-down {
text-align: right;
cursor: pointer;
}
.check-title {
height: 40px;
line-height: 40px;
padding: 0 10px;
background: rgba(38, 128, 235, 0.5);
}
ul {
min-height: 60px;
padding: 10px 5px;
display: flex;
li {
list-style-type: none;
text-align: center;
width: 100px;
height: 30px;
line-height: 30px;
border-radius: 20px;
margin: 0 5px;
cursor: pointer;
background: rgba(38, 128, 235, 0.1);
}
li:hover {
border: 1px solid rgba(38, 128, 235, 0.5);
}
.li-focus {
border: 1px solid rgba(38, 128, 235, 0.5);
}
}
}
</
style
>
\ No newline at end of file
pages/aps/stream/index.vue
View file @
b7f7b50d
...
...
@@ -5,8 +5,8 @@
<Col
:span=
"6"
class=
"chan-chi"
>
排产池
</Col>
<Col
:span=
"18"
class=
"l-ringht"
>
<RadioGroup
v-model=
"status"
type=
"button"
@
on-change=
"changeStatus"
size=
"small"
>
<Radio
label=
"
0
"
>
全部
</Radio>
<Radio
label=
"
1
"
>
未排产
</Radio>
<Radio
label=
"
-1
"
>
全部
</Radio>
<Radio
label=
"
0
"
>
未排产
</Radio>
<Radio
label=
"2"
>
已排查
</Radio>
</RadioGroup>
</Col>
...
...
@@ -15,7 +15,7 @@
class=
"left-body"
v-for=
"(li,index) in list"
:key=
"index"
@
click=
"listData(li
.part_task_pk,index
)"
@
click=
"listData(li)"
:class=
"isactive == index ? 'addclass' : '' "
>
<Row
class=
"title-i"
>
...
...
@@ -37,7 +37,7 @@
<Row
class=
"g-list"
>
<Col
:span=
"2"
class=
"chan-chi"
>
工序列表
</Col>
<Col
:span=
"22"
class=
"l-ringht"
>
<RadioGroup
v-model=
"status"
type=
"button"
@
on-change=
"change
Status
"
size=
"small"
>
<RadioGroup
v-model=
"status"
type=
"button"
@
on-change=
"change
Rodio
"
size=
"small"
>
<Radio
label=
"0"
>
全部
</Radio>
<Radio
label=
"1"
>
未排产
</Radio>
<Radio
label=
"2"
>
已排查
</Radio>
...
...
@@ -45,98 +45,194 @@
</Col>
</Row>
<div
class=
"right-body"
>
<List
:result=
"result"
></List>
<div
class=
"list"
>
<Timeline>
<TimelineItem
v-for=
"(item, index) in result"
:key=
"index"
>
<Badge
:count=
"index+ 1"
slot=
"dot"
:type=
"type(index)"
></Badge>
<div
class=
"set-name"
>
<span
@
click=
"sets(item.routingHeaderId)"
>
{{
item
.
taskname
}}
</span>
&
nbsp
<Tooltip
content=
"拆分工序"
placement=
"top"
>
<Icon
type=
"md-bluetooth"
@
click=
"split"
/>
</Tooltip>
<Icon
type=
"ios-trash"
@
click=
"remove"
/>
</div>
<div>
{{
item
.
equip_id
}}
</div>
<div>
{{
item
.
equip_type
}}
</div>
<div>
{{
item
.
resources_Type_Name
}}
</div>
</TimelineItem>
</Timeline>
<div>
<Drawer
title=
"排产设置盘"
:closable=
"false"
v-model=
"set"
width=
"55%"
:mask-closable=
"false"
>
<Set
:group=
"group"
@
closeOk=
"closeOk"
></Set>
</Drawer>
</div>
<!--
<List
:result=
"result"
></List>
-->
</div>
</div>
</div>
<!-- 拆分 fenModel -->
<Modal
v-model=
"chaiModal"
title=
"拆分工序"
:width=
"400"
:mask-closable=
"false"
ok-text=
"拆分"
@
on-ok=
"okChai()"
>
拆分数量:
<InputNumber
v-model=
"chaiNum"
></InputNumber>
<Slider
v-model=
"chaiNum"
:min=
"1"
></Slider>
</Modal>
</div>
</
template
>
<
script
>
import
List
from
"./list.vue"
;
// import List from "./list.vue";
import
Set
from
"./set"
;
import
Api
from
"./api"
;
export
default
{
name
:
"list"
,
components
:
{
List
Set
// List
},
async
fetch
({
store
,
params
})
{
await
store
.
dispatch
(
"loadDictionary"
);
// 加载数据字典
},
data
()
{
return
{
group
:
{
orderId
:
0
,
routingHeaderId
:
0
},
activeindex
:
1
,
list
:
[
list
:
[],
status
:
"-1"
,
//全部排产-1,0为未排产;2为已排查;
result
:
[
{
part_task_pk
:
"euuei"
,
order_id
:
"hdhfk"
,
routing_version
:
"fsslllsl"
,
demand_start
:
"2020-3-30"
,
demand_finish
:
"2020-3-30"
taskname
:
"工序名称"
,
equip_id
:
"制造资源"
,
equip_type
:
"排产资源"
,
resources_Type_Name
:
"备注信息"
},
{
part_task_pk
:
"euuei"
,
order_id
:
"hdhfk"
,
routing_version
:
"fsslllsl"
,
demand_start
:
"2020-3-30"
,
demand_finish
:
"2020-3-30"
taskname
:
"工序名称"
,
equip_id
:
"制造资源"
,
equip_type
:
"排产资源"
,
resources_Type_Name
:
"备注信息"
}
],
status
:
"0"
,
//全部排产0,1为未排产;2为已排查;
partTaskPk
:
""
,
//车间
result
:
[],
isactive
:
0
,
selectName
:
"all"
resourcesType
:
null
,
set
:
false
,
chaiNum
:
1
,
//拆分数量
chaiModal
:
false
};
},
created
()
{
//
this.orderlist();
this
.
orderlist
();
},
methods
:
{
// 过滤条件
//
排产池
过滤条件
changeStatus
(
a
)
{
console
.
log
(
a
);
// this.orderlist(a);
this
.
orderlist
(
a
);
},
//排产池列表
orderlist
()
{
Api
.
get
mesorder
({
status
:
2
,
workshop_id
:
3
}).
then
(
r
=>
{
Api
.
get
pooltypeorderlist
({
PoolType
:
3
,
status
:
this
.
status
}).
then
(
r
=>
{
// console.log(r)
if
(
r
.
success
)
{
r
.
result
.
forEach
(
e
=>
{
return
(
e
.
checked
=
false
);
});
this
.
list
=
r
.
result
;
this
.
listData
(
r
.
result
[
0
].
part_task_pk
,
0
);
}
});
},
listData
(
li
,
index
)
{
this
.
status
=
""
;
this
.
partTaskPk
=
li
;
this
.
tagClick
(
"all"
);
//点击选中排产订单
listData
(
li
)
{
this
.
isactive
=
index
;
this
.
group
.
orderId
=
li
.
id
;
this
.
tagTata
(
li
.
id
);
},
tagClick
(
name
)
{
this
.
selectName
=
name
;
this
.
tagTata
(
this
.
selectName
);
},
tagTata
(
name
)
{
if
(
name
==
"all"
)
{
this
.
status
=
""
;
}
if
(
name
==
"yi"
)
{
this
.
status
=
13
;
}
if
(
name
==
"wei"
)
{
this
.
status
=
0
;
}
let
data
=
{
part_task_pk
:
this
.
partTaskPk
,
status
:
this
.
status
};
Api
.
gettaskseqinfo
(
data
).
then
(
r
=>
{
// console.log(r)
//工序列表
tagTata
(
id
)
{
Api
.
getroutingdetails
({
id
:
id
}).
then
(
r
=>
{
if
(
r
.
success
)
{
this
.
result
=
r
.
result
;
}
});
},
close
()
{}
//工序排产过滤
changeRodio
(
a
)
{
console
.
log
(
a
);
},
//删除排产订单
close
()
{
this
.
$Modal
.
confirm
({
title
:
"删除"
,
content
:
"<p>您确定要移除此订单吗</p>"
,
onOk
:
()
=>
{
this
.
$Message
.
success
(
"删除成功"
);
},
onCancel
:
()
=>
{
this
.
$Message
.
info
(
"您已取消删除"
);
}
});
},
//工序列表序列设置
type
(
i
)
{
if
(
i
==
0
)
{
return
"normal"
;
}
else
if
(
i
==
1
)
{
return
"normal"
;
}
else
if
(
i
==
2
)
{
return
"normal"
;
}
else
if
(
i
===
this
.
result
.
length
)
{
return
"success"
;
}
},
//设置工序
sets
(
name
)
{
this
.
set
=
true
;
this
.
group
.
routingHeaderId
=
name
;
},
//拆分工序
split
()
{
this
.
chaiModal
=
true
;
},
//拆分保存
okChai
()
{
// Api.saveTeamentry(this.chaiNum).then(res => {
// if (res.success) {
// this.getUserInfoFn();
// this.$Message.success("拆分成功。");
// } else {
// this.$Message.error("拆分失败...");
// }
// });
},
//删除工序
remove
()
{
this
.
$Modal
.
confirm
({
title
:
"删除"
,
content
:
"<p>您确定要移除此工序吗</p>"
,
onOk
:
()
=>
{
this
.
$Message
.
success
(
"删除成功"
);
},
onCancel
:
()
=>
{
this
.
$Message
.
info
(
"您已取消删除"
);
}
});
},
closeOk
()
{
this
.
set
=
false
;
}
}
};
</
script
>
...
...
@@ -227,6 +323,25 @@ export default {
}
.right-body {
margin-top: 15px;
.list {
padding-left: 10px;
.set-name {
font-weight: bold;
color: rgba(38, 128, 235, 0.8);
span {
cursor: pointer;
}
.ivu-icon {
cursor: pointer;
}
.top {
text-align: center;
}
}
div {
height: 30px;
}
}
}
}
}
...
...
pages/aps/stream/set.vue
View file @
b7f7b50d
...
...
@@ -6,11 +6,18 @@
type=
"datetimerange"
format=
"yyyy-MM-dd HH:mm"
placeholder=
"请选择工时"
@
on-change=
"changeFormat"
v-model=
"formItem.time"
style=
"width:300px"
></DatePicker>
</FormItem>
<FormItem
label=
"人员分组形式"
>
<FormItem
label=
"类型"
>
<RadioGroup
v-model=
"formItem.radio"
>
<Radio
label=
"0"
>
人员
</Radio>
<Radio
label=
"1"
>
班组
</Radio>
</RadioGroup>
</FormItem>
<FormItem
label=
"人员分组形式"
v-if=
"formItem.radio==0"
>
<Dictionary
disabled
code=
"aps.scheduling.groupingForm"
...
...
@@ -18,64 +25,132 @@
type=
"radio"
></Dictionary>
</FormItem>
<FormItem>
<div
v-for=
"(li,index) in listGroup"
:key=
"index"
>
<FormItem
label=
"班组"
v-if=
"formItem.radio==1"
>
<Select
v-model=
"formItem.shopId"
style=
"width:300px"
multiple
>
<Option
v-for=
"item in classList"
:value=
"item.shopId"
:key=
"item.shopId"
>
{{
item
.
label
}}
</Option>
</Select>
</FormItem>
<FormItem
v-if=
"formItem.radio==0"
>
<!--
<UserSelect
ref=
"userSelected"
v-model=
"formItem.DistributeMainRouting"
/>
-->
<div
class=
"list-check"
>
<Checkbox-List
:single-list=
"li"
ref=
"groups"
@
changeData=
"setData"
:resourcesType=
"resourcesType"
v-for=
"(li,index) in listGroup"
:key=
"index"
></Checkbox-List>
</div>
</FormItem>
<FormItem
label=
"已选择"
>
<Tag
closable
@
on-close=
"handleClose"
:key=
"index"
v-for=
"(val, index) in tagGroup"
>
{{
val
}}
</Tag>
<!-- v-if="tagGroup.lenght>0" -->
<FormItem
label=
"已选择"
v-if=
"formItem.radio==0"
>
<div
class=
"tag-list"
>
<div
v-for=
"(item,index) in tagGroup"
:key=
"index"
class=
"tag-group"
>
<span>
{{
item
.
name
}}
&
nbsp
&
nbsp
{{
item
.
class
}}
</span>
<Icon
type=
"md-close"
@
click=
"closeTag"
/>
</div>
<!--
<Tag
color=
"rgba(38,128,235,0.3)"
closable
@
on-close=
"handleClose"
:key=
"index"
v-for=
"(val, index) in tagGroup"
>
{{
val
.
name
}}
</Tag>
-->
</div>
</FormItem>
<FormItem
label=
"备注"
>
<Input
v-model=
"formItem.textarea"
type=
"textarea"
:autosize=
"
{minRows: 2,maxRows: 5}"
placeholder="
Enter something...
"
placeholder="
请输入备注信息
"
>
</Input>
</FormItem>
<FormItem>
<Button
style=
"margin-left: 8px"
>
取消
</Button>
<Button
type=
"primary"
>
排产
</Button>
<Button
style=
"margin-left: 8px"
@
click=
"closeOk"
>
取消
</Button>
<Button
type=
"primary"
@
click=
"lowerHair"
>
排产
</Button>
</FormItem>
</Form>
</div>
</
template
>
<
script
>
import
CheckboxList
from
'./checkboxList'
import
Api
from
'./api'
import
CheckboxList
from
"./checkboxList"
;
import
Api
from
"./api"
;
export
default
{
name
:
'set'
,
name
:
"set"
,
components
:
{
CheckboxList
},
props
:
{
resourcesType
:
Number
group
:
{
default
:
Object
,
orderId
:
Number
,
routingHeaderId
:
Number
}
},
data
()
{
return
{
orderId
:
0
,
//订单id
routingHeaderId
:
0
,
//工艺规程id
formItem
:
{
resourcesType
:
0
,
input
:
''
,
select
:
''
,
radio
:
'male'
,
checkbox
:
[],
switch
:
true
,
date
:
''
,
time
:
''
,
slider
:
[
20
,
50
],
textarea
:
''
,
day
:
0
radio
:
"0"
,
time
:
""
,
beginTime
:
""
,
endTime
:
""
,
textarea
:
""
},
tagdata
:
[],
listGroup
:
[],
tagGroup
:
[]
}
listGroup
:
[
{
equip_name
:
"调试组"
,
isClick
:
true
},
{
equip_name
:
"装配组"
}
],
tagGroup
:
[
{
id
:
1
,
name
:
"张芳"
,
class
:
"1级"
},
{
id
:
2
,
name
:
"张芳"
,
class
:
"1级"
},
{
id
:
4
,
name
:
"张芳"
,
class
:
"1级"
},
{
id
:
5
,
name
:
"张芳"
,
class
:
"1级"
}
],
classList
:
[
{
shopId
:
"0"
,
label
:
"调试组"
},
{
shopId
:
"1"
,
label
:
"装配组"
},
{
shopId
:
"2"
,
label
:
"计划组"
},
{
shopId
:
"3"
,
label
:
"管理组"
}
]
};
},
mounted
()
{},
// computed: {
...
...
@@ -92,43 +167,111 @@ export default {
// }
// },
methods
:
{
getList
(
v
)
{
if
(
v
==
0
)
{
//班组
Api
.
getlist
({
workshop_pk
:
3
}).
then
((
r
)
=>
{
console
.
log
(
r
)
lowerHair
(
v
)
{
if
(
this
.
formItem
.
radio
==
0
)
{
//一级排产选择人员
let
urseId
=
[];
for
(
var
i
=
0
;
i
<
this
.
tagGroup
.
length
;
i
++
)
{
urseId
.
push
(
this
.
tagGroup
[
i
].
id
);
}
let
items
=
[
{
detailId
:
0
,
userIds
:
urseId
,
quantity
:
0
,
beginTime
:
this
.
formItem
.
beginTime
,
endTime
:
this
.
formItem
.
endTime
}
];
let
params1
=
{
orderIds
:
this
.
group
.
orderId
,
routingHeaderId
:
this
.
group
.
routingHeaderId
,
items
:
items
};
Api
.
flonestepschedule
(
params1
).
then
(
r
=>
{
if
(
r
.
success
)
{
}
});
}
else
if
(
this
.
formItem
.
radio
==
1
)
{
//二级排产选择班组
let
items
=
[
{
detailId
:
0
,
userIds
:
urseId
,
quantity
:
0
,
beginTime
:
this
.
formItem
.
beginTime
,
endTime
:
this
.
formItem
.
endTime
}
];
let
params2
=
{
orderIds
:
this
.
group
.
orderId
,
routingHeaderId
:
this
.
group
.
routingHeaderId
,
items
:
items
};
Api
.
fltwostepschedule
(
params2
).
then
(
r
=>
{
if
(
r
.
success
)
{
r
.
result
.
forEach
((
u
)
=>
{
u
.
isClick
=
false
})
this
.
listGroup
=
r
.
result
}
})
}
else
if
(
v
==
2
)
{
//设备
Api
.
getlistEquip
({
workshop_pk
:
3
}).
then
((
r
)
=>
{
console
.
log
(
r
)
r
.
result
.
forEach
((
u
)
=>
{
u
.
isClick
=
false
})
this
.
listGroup
=
r
.
result
})
});
}
},
closeOk
()
{
this
.
$emit
(
"closeOk"
);
},
handleClose
(
nodeKey
)
{
// this.$refs.users.handleCheck({ checked: false, nodeKey: nodeKey });
},
setData
(
val
)
{
this
.
tagGroup
=
val
}
this
.
tagGroup
=
val
;
},
//工时时间范围
changeFormat
(
val
)
{
this
.
formItem
.
beginTime
=
val
[
0
];
this
.
formItem
.
endTime
=
val
[
1
];
},
closeTag
()
{}
},
watch
:
{
resourcesType
(
v
)
{
if
(
v
!=
null
)
{
this
.
formItem
.
resourcesType
=
v
this
.
getList
(
v
)
// resourcesType(v) {
// if (v != null) {
// this.formItem.resourcesType = v;
// this.getList(v);
// }
// }
}
};
</
script
>
<
style
lang=
"less"
scoped
>
.set {
border: 1px solid rgba(228, 230, 237, 0.5);
width: 100%;
padding: 15px;
margin-left: 10px;
// box-shadow: darkgrey 2px 2px 8px 1px; //边框阴影
.r-title {
font-size: 14px;
font-weight: bold;
margin-bottom: 10px;
}
.list-check {
border: 1px solid rgba(38, 128, 235, 0.5);
}
.tag-list {
width: 100%;
min-height: 50px;
border: 1px solid rgba(228, 230, 237, 0.5);
.tag-group {
display: inline-block;
text-align: center;
width: 100px;
height: 30;
line-height: 30px;
border-radius: 20px;
margin: 5px;
background: rgba(38, 128, 235, 0.2);
.ivu-icon {
cursor: pointer;
}
}
}
}
</
s
cript
>
</
s
tyle
>
pages/order/monitoring/index.vue
View file @
b7f7b50d
...
...
@@ -28,7 +28,7 @@
<Record
:eid=
"recordId"
/>
</Modal>
<Modal
v-model=
"SpeedModal"
title=
"工单信息"
fullscreen
footer-hide
class=
"recordM"
>
<Speed
:result=
"result"
/>
<Speed
:result=
"result"
:load=
"loading"
/>
</Modal>
</div>
</template>
...
...
@@ -68,7 +68,7 @@ export default {
{
title
:
"序号"
,
type
:
"index"
,
width
:
4
0
,
width
:
7
0
,
align
:
"center"
},
{
...
...
@@ -77,13 +77,13 @@ export default {
code
:
"plan.order.status"
,
align
:
"center"
,
easy
:
true
,
high
:
true
high
:
true
,
width
:
100
},
{
key
:
"mesCode"
,
title
:
this
.
l
(
"mesCode"
),
align
:
"left"
,
width
:
230
,
render
:
(
h
,
params
)
=>
{
return
h
(
"div"
,
[
params
.
row
.
mesCode
,
...
...
@@ -174,7 +174,6 @@ export default {
align
:
"left"
,
easy
:
true
,
high
:
true
,
width
:
130
},
{
...
...
@@ -243,7 +242,8 @@ export default {
align
:
"left"
,
code
:
"mes_xingchi_plan.order_material.routingType"
,
easy
:
true
,
high
:
true
high
:
true
,
width
:
100
,
},
{
title
:
this
.
l
(
"jindu"
),
...
...
@@ -273,7 +273,6 @@ export default {
}
}
},
params
.
row
.
unstartCount
//未开工数
),
h
(
...
...
@@ -289,7 +288,6 @@ export default {
}
}
},
params
.
row
.
startCount
//开工数
),
h
(
...
...
@@ -307,7 +305,6 @@ export default {
}
}
},
params
.
row
.
stopCount
//暂停数
),
h
(
...
...
@@ -325,7 +322,7 @@ export default {
}
},
params
.
row
.
finishCount
//完
工
数
params
.
row
.
finishCount
//完
成
数
)
]
)
...
...
@@ -335,7 +332,8 @@ export default {
{
key
:
"remark"
,
title
:
this
.
l
(
"remark"
),
align
:
"center"
align
:
"center"
,
hide
:
true
},
{
title
:
"暂停记录"
,
...
...
@@ -411,7 +409,8 @@ export default {
]);
}
}
]
],
loading
:
false
};
},
mounted
()
{},
...
...
@@ -427,15 +426,29 @@ export default {
this
.
recordId
=
id
;
},
speed
(
row
)
{
this
.
SpeedModal
=
true
;
Api
.
info
({
routingHeaderId
:
row
.
routingHeaderId
,
dispatchExecuteId
:
row
.
dispatchExecuteId
}).
then
(
r
=>
{
if
(
r
.
success
)
{
this
.
result
=
r
.
result
;
}
});
if
(
row
.
finishCount
==
0
&&
row
.
stopCount
==
0
&&
row
.
startCount
==
0
&&
row
.
unstartCount
==
0
)
{
this
.
$Message
.
error
(
"进度数据错误"
);
}
else
{
this
.
result
=
[];
this
.
loading
=
true
;
this
.
SpeedModal
=
true
;
Api
.
info
({
routingHeaderId
:
row
.
routingHeaderId
,
dispatchExecuteId
:
row
.
dispatchExecuteId
}).
then
(
r
=>
{
if
(
r
.
success
)
{
this
.
result
=
r
.
result
;
this
.
loading
=
false
;
}
}).
catch
(
err
=>
{
this
.
$Message
.
error
(
"连接错误"
);
});
}
},
suspendOk
()
{
this
.
suspendModal
=
false
;
...
...
pages/order/monitoring/record.vue
View file @
b7f7b50d
...
...
@@ -29,7 +29,7 @@ export default {
{
title
:
"序号"
,
type
:
"index"
,
width
:
6
0
,
width
:
7
0
,
align
:
"center"
},
{
...
...
pages/order/monitoring/speed.vue
View file @
b7f7b50d
<
template
>
<div
class=
"record"
>
<DataGrid
:columns=
"columns"
:data=
"result"
border
:tool=
'false'
:height=
"820"
></DataGrid>
<div
v-if=
"load"
style=
"width:100px;margin:0 auto;padding-top:260px;"
>
<Spin
size=
"large"
></Spin>
</div>
<div
v-show=
"!load"
>
<DataGrid
:columns=
"columns"
:data=
"result"
border
:tool=
"false"
:height=
"820"
:page=
"false"
></DataGrid>
</div>
</div>
</
template
>
<
script
>
...
...
@@ -15,12 +20,14 @@ export default {
{
key
:
"detailId"
,
title
:
this
.
l
(
"detailId"
),
align
:
"center"
align
:
"center"
,
width
:
100
},
{
key
:
"taskSeq"
,
title
:
this
.
l
(
"taskSeq"
),
align
:
"center"
align
:
"center"
,
width
:
100
},
{
key
:
"detailName"
,
...
...
@@ -97,15 +104,61 @@ export default {
{
key
:
"status"
,
title
:
'工单状态'
,
title
:
"工单状态"
,
code
:
"taskList.status"
,
align
:
"center"
align
:
"center"
,
width
:
140
,
filters
:
this
.
getArry
(
this
.
$store
.
getters
.
dictionaryByKey
(
"taskList.status"
)
),
filterMethod
(
value
,
row
)
{
let
statusChar
=
row
.
status
+
""
;
return
statusChar
.
indexOf
(
value
)
>
-
1
;
}
},
{
title
:
"操作"
,
key
:
"action"
,
width
:
120
,
align
:
"center"
,
render
:
(
h
,
params
)
=>
{
return
h
(
"div"
,
{
class
:
"action"
},
[
// h(
// "op",
// {
// attrs: { oprate: "detail" },
// on: { click: () => this.detail(params.row) }
// },
// "查看"
// ),
h
(
"op"
,
{
attrs
:
{
oprate
:
"remove"
},
on
:
{
click
:
()
=>
this
.
edit
(
params
.
row
)
},
style
:
params
.
row
.
status
==
14
?
""
:
"display:none"
},
"暂停"
),
h
(
"op"
,
{
attrs
:
{
oprate
:
"edit"
},
on
:
{
click
:
()
=>
this
.
remove
(
params
.
row
)
},
style
:
params
.
row
.
status
==
5
?
""
:
"display:none"
},
"分卡"
)
]);
}
}
]
],
listTask
:
[],
};
},
props
:
{
result
:
Array
result
:
Array
,
load
:
Boolean
,
},
async
fetch
({
store
,
params
})
{
await
store
.
dispatch
(
"loadDictionary"
);
// 加载数据字典
...
...
@@ -119,6 +172,25 @@ export default {
l
(
key
)
{
let
vkey
=
"mes_order_watch"
+
"."
+
key
;
return
this
.
$t
(
vkey
)
||
key
;
},
//得到数据字典对应的label和value,用于table排序
getArry
(
arryList
)
{
let
arry
=
[];
arryList
.
forEach
(
data
=>
{
var
that
=
this
;
let
arryObj
=
{};
arryObj
[
"label"
]
=
data
.
name
;
arryObj
[
"value"
]
=
data
.
code
;
arry
.
push
(
arryObj
);
});
return
arry
;
}
},
watch
:
{
result
(
v
)
{
if
(
v
&&
v
.
length
>
0
)
{
this
.
load
=
false
;
}
}
}
};
...
...
pages/processManage/Process/index.vue
View file @
b7f7b50d
...
...
@@ -599,8 +599,8 @@ export default {
let
that
=
this
var
url
=
`
${
systemUrl
}
/cache/generate_serialcode_x?Code=GY`
service
.
get
(
`
${
url
}
`
).
then
((
response
)
=>
{
that
.
addpdefm
.
formValidate
.
code
=
response
.
result
that
.
addpdefm
.
gycode
=
response
.
result
that
.
addpdefm
.
formValidate
.
code
=
response
.
result
[
0
]
that
.
addpdefm
.
gycode
=
response
.
result
[
0
]
})
//编号
var
url
=
...
...
pages/resource/resource/index.vue
View file @
b7f7b50d
...
...
@@ -381,7 +381,7 @@ export default {
},
remove
(
row
)
{
if
(
row
.
totalNum
!=
row
.
numberAvailable
)
{
this
.
$Message
.
error
(
"资源有
接触
不能删除"
);
this
.
$Message
.
error
(
"资源有
借出
不能删除"
);
}
else
{
this
.
deletelModal
=
true
;
this
.
curId
=
row
.
id
;
...
...
pages/technology/index.vue
View file @
b7f7b50d
...
...
@@ -9,9 +9,10 @@
<h4
class=
"tree_tit pl5"
>
产品结构
<a
class=
"menu_play fr"
@
click=
"hideMenu"
title=
"收起"
>
<Icon
type=
"ios-arrow-back"
size=
"24"
/>
<!--
<Icon
type=
"md-arrow-round-back"
/>
-->
</a>
</h4>
<StoreHouseLeft
class=
"tree_left"
@
storeIds=
"storeIds"
></StoreHouseLeft>
<!-- :type="4" -->
</div>
</Sider>
<div
v-if=
"!showMenu"
class=
"show_menu"
>
...
...
@@ -21,15 +22,18 @@
</a>
</div>
<Layout>
<Content
:class=
"showMenu?'tech_body':'tech_body02'"
:style=
"
{ height: treeHeight + 'px' }">Content
</Content>
<Content
:class=
"showMenu?'tech_body':'tech_body02'"
:style=
"
{ height: treeHeight + 'px' }">
<a
class=
"detail_href"
@
click=
"detail"
>
<Icon
type=
"ios-undo-outline"
/>
详情页面
</a>
</Content>
</Layout>
</Layout>
</div>
</
template
>
<
script
>
import
StoreHouseLeft
from
"@/components/modalTree/technologyTree.vue"
;
export
default
{
components
:
{},
components
:
{
StoreHouseLeft
},
data
()
{
return
{
showMenu
:
true
,
...
...
@@ -60,6 +64,10 @@ export default {
showMenuFn
(){
//this.$Message.info("展开左侧树")
this
.
showMenu
=
true
},
// 详情页面
detail
(){
this
.
$router
.
push
(
'technology/details'
)
},
}
}
</
script
>
pages/technology/technolog.less
View file @
b7f7b50d
...
...
@@ -24,6 +24,12 @@
color: #646464;
}
}
.tree_left{
padding: 8px 15px;
.ivu-tree{
// height: ;
}
}
}
.show_menu{
width: 30px;
...
...
@@ -40,9 +46,6 @@
color: #515A6E;
border-top-right-radius: 5px;
border-bottom-right-radius: 5px;
// position: absolute;
// top: 100px;
// left: 0px;
background: #ffffff;
box-shadow: #ccc 2px 2px 4px 1px;
}
...
...
@@ -89,6 +92,7 @@
line-height: 50px;
border-left: 1px solid #ccc;
background: #f5f7f9;
z-index: 888;
.ivu-menu-item{
width: 140px;
border-right: 1px solid #ccc;
...
...
@@ -108,13 +112,17 @@
}
}
.setdetail_body{
// padding: 0 20px;
// padding: 0 20px;
.ivu-layout-header{
height: 0;
}
.ivu-menu-horizontal{
height: 40px;
line-height: 40px;
.ivu-menu-item{
width: 97px;
text-align: center;
}
a.ivu-menu-item-active::before{
content: "";
display: block;
...
...
@@ -125,7 +133,7 @@
height: 0;
position: absolute;
bottom: -6px;
left: 4
0
%;
left: 4
3
%;
}
a.ivu-menu-item-active::after{
content: "";
...
...
@@ -137,7 +145,7 @@
height: 0;
position: absolute;
bottom: -4px;
left: 4
1
%;
left: 4
4
%;
}
}
...
...
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