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
fb5d624d
Commit
fb5d624d
authored
Jun 23, 2020
by
周远喜
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'product' of
http://git.mes123.com/zhouyx/mes-ui
into product
parents
e9b1096e
07734a85
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
27 changed files
with
1357 additions
and
294 deletions
+1357
-294
base.less
assets/css/base.less
+2
-2
iview-reset.less
assets/css/iview-reset.less
+5
-0
userSelect.vue
components/page/userSelect.vue
+2
-1
zh-CN.js
i18n/locale/zh-CN.js
+3
-3
package-lock.json
package-lock.json
+12
-2
api.js
pages/aps/plan/api.js
+3
-0
index.vue
pages/aps/plan/index.vue
+55
-5
datalist.vue
pages/dncmnc/dnc/datalist.vue
+92
-45
difftext.vue
pages/dncmnc/dnc/difftext.vue
+65
-0
textdiff.png
pages/dncmnc/image/textdiff.png
+0
-0
echart3.vue
pages/dncmnc/mnc/compose/echart3.vue
+1
-1
echart4.vue
pages/dncmnc/mnc/compose/echart4.vue
+47
-127
echart5.vue
pages/dncmnc/mnc/compose/echart5.vue
+594
-0
mnc.less
pages/dncmnc/mnc/mnc.less
+8
-2
monitoring.vue
pages/dncmnc/mnc/monitoring.vue
+6
-6
detail.vue
pages/handle/examine13/detail.vue
+15
-10
footer.vue
pages/handle/footer.vue
+8
-0
index.vue
pages/handle/index.vue
+24
-21
process.vue
pages/handle/process.vue
+21
-36
processold.vue
pages/handle/processold.vue
+206
-0
shen.less
pages/handle/shen.less
+40
-0
details.vue
pages/materiel/masterData/details.vue
+5
-3
masterData.vue
pages/materiel/masterData/masterData.vue
+15
-12
submit.vue
pages/materiel/masterData/submit.vue
+71
-12
index.vue
pages/technology/productMix/index.vue
+1
-0
bom.vue
pages/technology/productMix/product/bom.vue
+31
-0
index.vue
pages/technology/productMix/product/index.vue
+25
-6
No files found.
assets/css/base.less
View file @
fb5d624d
...
...
@@ -1241,12 +1241,12 @@ html [type=button] {
left: 0;
text-align: center;
padding: 20px 0;
background: #
d0d2d9
;
background: #
08080894
;
div {
height: 25px;
font-size: 14px;
color: #
333
;
color: #
ffffff
;
line-height: 28px;
}
...
...
assets/css/iview-reset.less
View file @
fb5d624d
...
...
@@ -165,6 +165,11 @@
padding: 10px 12px 10px 0;
box-sizing: border-box;
}
.footers{
.ivu-form .ivu-form-item-label{
color: white;
}
}
.ivu-input {
font-size: 14px;
...
...
components/page/userSelect.vue
View file @
fb5d624d
...
...
@@ -2,7 +2,7 @@
<div>
<div
v-if=
"theme=='list'"
class=
"flex fd userSelect"
>
<div
class=
"fg1 users"
>
<dl
v-for=
"(g,i) in group"
>
<dl
v-for=
"(g,i) in group"
:key=
"i"
>
<dt
:class=
"
{checked:g.opened}" class="flex fc-b">
<div
class=
"ib fg"
>
<Checkbox
v-model=
"g.checked"
@
on-change=
"checkAll(g,i)"
>
...
...
@@ -18,6 +18,7 @@
<dd
v-show=
"g.opened"
v-for=
"(li,j) in g.children"
:key=
"j"
@
click=
"checkItem(i,j,li)"
:class=
"
{checked:li.checked}"
>
{{
li
.
userName
}}
</dd>
...
...
i18n/locale/zh-CN.js
View file @
fb5d624d
...
...
@@ -603,9 +603,9 @@ export default {
currentNodeName
:
'当前环节'
,
nextNodeId
:
'下一环节Id'
,
nextNodeName
:
'下一环节'
,
creatorUserId
:
'
创建
用户Id'
,
creator
:
'
创建
人'
,
creationTime
:
'
创建
时间'
,
creatorUserId
:
'
发起
用户Id'
,
creator
:
'
发起
人'
,
creationTime
:
'
发起
时间'
,
},
processList
:
{
//工艺规程列表
id
:
'id'
,
...
...
package-lock.json
View file @
fb5d624d
...
...
@@ -22195,8 +22195,8 @@
},
"vue-class-component"
:
{
"version"
:
"7.2.3"
,
"resolved"
:
"https://registry.npm
js.org/vue-class-component/-
/vue-class-component-7.2.3.tgz"
,
"integrity"
:
"sha
512-oEqYpXKaFN+TaXU+mRLEx8dX0ah85aAJEe61mpdoUrq0Bhe/6sWhyZX1JjMQLhVsHAkncyhedhmCdDVSasUtDw=
="
"resolved"
:
"https://registry.npm
.taobao.org/vue-class-component/download
/vue-class-component-7.2.3.tgz"
,
"integrity"
:
"sha
1-pbGr1TUTpyrVEJh1Li3t1JmAfMo
="
},
"vue-client-only"
:
{
"version"
:
"2.0.0"
,
...
...
@@ -22420,8 +22420,13 @@
},
"vue-slider-component"
:
{
"version"
:
"3.1.5"
,
<<<<<<<
HEAD
"resolved"
:
"https://registry.npmjs.org/vue-slider-component/-/vue-slider-component-3.1.5.tgz"
,
"integrity"
:
"sha512-RIDL2cjIfSMKxv7IeNQ5gn936SAaLi+UKc97xd8yN92zz0n5dK343GGSay/3ypzhR1C5YIN3n7/LclUQrIDoFg=="
,
=======
"resolved"
:
"https://registry.npm.taobao.org/vue-slider-component/download/vue-slider-component-3.1.5.tgz?cache=0&sync_timestamp=1590980161427&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fvue-slider-component%2Fdownload%2Fvue-slider-component-3.1.5.tgz"
,
"integrity"
:
"sha1-2a1vGhBcigp7cvW4+VZW0HuOTDY="
,
>>>>>>>
07734
a
85
a
7
ff
7845
f
4
f
995
bf
7879
d
342
b
5
bda
7
d
3
"requires"
:
{
"core-js"
:
"^3.6.5"
,
"vue-property-decorator"
:
"^8.0.0"
...
...
@@ -22429,8 +22434,13 @@
"dependencies"
:
{
"core-js"
:
{
"version"
:
"3.6.5"
,
<<<<<<<
HEAD
"resolved"
:
"https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz"
,
"integrity"
:
"sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA=="
=======
"resolved"
:
"https://registry.npm.taobao.org/core-js/download/core-js-3.6.5.tgz"
,
"integrity"
:
"sha1-c5XcJzrzf7LlDpvT2f6EEoUjHRo="
>>>>>>>
07734
a
85
a
7
ff
7845
f
4
f
995
bf
7879
d
342
b
5
bda
7
d
3
}
}
},
...
...
pages/aps/plan/api.js
View file @
fb5d624d
...
...
@@ -31,4 +31,7 @@ export default {
getpoolordercount
(){
//各排产池订单数量
return
Api
.
get
(
`
${
PlanUrl
}
/messchedule/getpoolordercount`
);
},
listbyuser
(
params
)
{
//获取当前登录用户可操作的排产
return
Api
.
post
(
`
${
authUrl
}
/api/services/app/setschedulecompany/listbyuser`
,
params
);
},
}
\ No newline at end of file
pages/aps/plan/index.vue
View file @
fb5d624d
...
...
@@ -26,6 +26,7 @@
overflow-count=
"99"
style=
"margin-right:15px;"
type=
"info"
v-if=
"showAps"
>
<a
href=
"javascript:;"
@
click=
"goAps"
>
APS排产
</a>
</Badge>
...
...
@@ -34,6 +35,7 @@
overflow-count=
"99"
style=
"margin-right:15px;"
type=
"info"
v-if=
"showAi"
>
<a
href=
"javascript:;"
>
智能排产
</a>
</Badge>
...
...
@@ -42,10 +44,11 @@
overflow-count=
"99"
style=
"margin-right:15px;"
type=
"info"
v-if=
"showAll"
>
<a
href=
"javascript:;"
@
click=
"goCemplate"
>
整机排产
</a>
</Badge>
<Badge
:count=
"this.$store.state.countRun"
overflow-count=
"99"
type=
"info"
>
<Badge
:count=
"this.$store.state.countRun"
overflow-count=
"99"
type=
"info"
v-if=
"showRun"
>
<a
href=
"javascript:;"
@
click=
"goStream"
>
流水排产
</a>
</Badge>
</
template
>
...
...
@@ -82,7 +85,14 @@
<Modal
v-model=
"scheduleModal"
title=
"移入排产"
width=
"800"
>
<p>
</p>
<h4>
请选择排产模型:
</h4>
<Dictionary
code=
"aps.plan.scheduleType"
v-model=
"scheduleType"
class=
"radioList"
:border=
"true"
type=
"radio"
@
on-change=
"onchangeScheduleType"
></Dictionary>
<Dictionary
code=
"aps.plan.scheduleType"
v-model=
"scheduleType"
class=
"radioList"
:border=
"true"
type=
"radio"
@
on-change=
"onchangeScheduleType"
></Dictionary>
<p
class=
"pl30 pt10"
v-show=
"scheduleType!=null"
>
确定将订单
<span
class=
"fwBold"
>
{{resultsOrderList}}
</span>
移入
...
...
@@ -310,7 +320,13 @@ export default {
h
(
"op"
,
{
attrs
:
{
oprate
:
"detail"
,
title
:
params
.
row
.
mainRoutingSetStatus
==
0
?
"工艺派发"
:
"移入排产"
},
attrs
:
{
oprate
:
"detail"
,
title
:
params
.
row
.
mainRoutingSetStatus
==
0
?
"工艺派发"
:
"移入排产"
},
style
:
{
color
:
params
.
row
.
mainRoutingSetStatus
==
0
?
"red"
:
""
},
...
...
@@ -331,7 +347,14 @@ export default {
h
(
"op"
,
{
attrs
:
{
oprate
:
"detail"
,
title
:
params
.
row
.
isSupportingFinish
==
2
||
params
.
row
.
isSupportingFinish
==
3
?
"配套派发"
:
""
},
attrs
:
{
oprate
:
"detail"
,
title
:
params
.
row
.
isSupportingFinish
==
2
||
params
.
row
.
isSupportingFinish
==
3
?
"配套派发"
:
""
},
style
:
{
color
:
params
.
row
.
mainRoutingSetStatus
==
0
?
"red"
:
""
},
...
...
@@ -365,7 +388,11 @@ export default {
scheduleStatus
:
0
,
//排产标识
resultsOrderList
:
""
,
scheduleType
:
null
,
scheduleTypeName
:
""
scheduleTypeName
:
""
,
showAps
:
false
,
showAi
:
false
,
showAll
:
false
,
showRun
:
false
};
},
mounted
()
{
...
...
@@ -640,6 +667,29 @@ export default {
},
//进入页面加载排产count-----
loadInitCount
()
{
let
currentUserId
=
this
.
$store
.
state
.
userInfo
.
userId
;
let
para
=
{
id
:
currentUserId
};
Api
.
listbyuser
(
para
).
then
(
datas
=>
{
if
(
datas
.
success
&&
datas
.
result
&&
datas
.
result
.
length
>
0
)
{
datas
.
result
.
forEach
(
dateScheduleId
=>
{
switch
(
dateScheduleId
.
apsScheduleId
)
{
case
1
:
this
.
showAps
=
true
;
break
;
case
2
:
this
.
showAll
=
true
;
break
;
case
3
:
this
.
showRun
=
true
;
break
;
default
:
this
.
showAi
=
true
;
}
});
}
});
this
.
$store
.
commit
(
"setCountAps"
,
0
);
this
.
$store
.
commit
(
"setCountAi"
,
0
);
this
.
$store
.
commit
(
"setCountAll"
,
0
);
...
...
pages/dncmnc/dnc/datalist.vue
View file @
fb5d624d
...
...
@@ -9,7 +9,7 @@
<p
class=
"dispatch_part_top"
>
<b
class=
"mr10"
>
设备列表
</b>
共
{{
listSheBei
.
length
}}
台
<
!--
{{
ids
}}
--
>
<
span
style=
"display:none"
>
{{
ids
}}
</span
>
</p>
<div
class=
"dispatch_part_body"
:style=
"
{height:byheight}">
<h4
class=
"tc"
v-if=
"this.listSheBei.length==0"
>
暂无数据
</h4>
...
...
@@ -33,12 +33,13 @@
<p
class=
"show_btn"
>
<a
@
click=
"showRow(item.id,item.btnShow)"
>
<Tooltip
content=
"所属程序列表"
>
<Icon
v-if=
"
btnModal
"
type=
"ios-arrow-down"
/>
<Icon
v-if=
"
item.btnShow
"
type=
"ios-arrow-down"
/>
<Icon
v-else
type=
"ios-arrow-up"
/>
</Tooltip>
</a>
</p>
<div
class=
"h60"
v-if=
"!btnModal"
>
<div
class=
"h60"
v-if=
"item.btnShow"
>
<span
style=
"display:none"
>
{{
liOrderIds
}}
</span>
<Row
class=
"card_body02"
v-for=
"(li,index) in item.row"
:key=
"index"
>
<Col
span=
"8"
class=
"dispatch_li"
>
<Checkbox
v-model=
"li.checked"
>
程序名:
{{
li
.
mdcNmae
}}
</Checkbox>
...
...
@@ -46,7 +47,6 @@
<Col
span=
"8"
class=
"dispatch_li"
>
大小:
{{
li
.
size
}}
</Col>
<Col
span=
"8"
class=
"dispatch_li"
>
下载时间:
{{
li
.
downTime
}}
</Col>
</Row>
<!--
{{
liOrderIds
}}
-->
</div>
</div>
</div>
...
...
@@ -100,7 +100,7 @@
</Modal>
<!-- 底部 -->
<FooterToolbar
style=
"height:65px"
v-show=
"showOperate&&footerToolbar"
>
<!--
<span>
已选程序:
{{
chengXuIds
.
length
}}
</span>
-->
<!--
<span
v-if=
"beyong"
>
已选程序:
{{
chengXuIds
.
length
}}
</span>
-->
<Button
class=
"span ml20"
type=
"primary"
v-if=
"xiaZai"
@
click=
"downFile"
>
下载
</Button>
<Button
class=
"span ml20"
type=
"primary"
v-if=
"beyong"
@
click=
"fileBeyong"
>
文本对比
</Button>
<Button
@
click=
"footerToolbar=false"
>
取消
</Button>
...
...
@@ -200,21 +200,19 @@ export default {
{
mdcNmae
:
"00123_281"
,
id
:
101
,
size
:
"12
8
Mb"
,
size
:
"12
0
Mb"
,
downTime
:
"2020-05-26 10:30:26"
,
checked
:
false
},
{
},{
mdcNmae
:
"00123_282"
,
id
:
102
,
size
:
"1
28
Mb"
,
size
:
"1
33
Mb"
,
downTime
:
"2020-05-26 10:30:26"
,
checked
:
false
},
{
},{
mdcNmae
:
"00123_283"
,
id
:
103
,
size
:
"1
28
Mb"
,
size
:
"1
00
Mb"
,
downTime
:
"2020-05-26 10:30:26"
,
checked
:
false
}
...
...
@@ -230,25 +228,59 @@ export default {
id
:
2
,
row
:
[
{
mdcNmae
:
"00123_28
1
"
,
mdcNmae
:
"00123_28
4
"
,
id
:
201
,
size
:
"128Mb"
,
downTime
:
"2020-05-26 10:30:26"
,
checked
:
false
},
{
mdcNmae
:
"00123_282"
,
},{
mdcNmae
:
"00123_285"
,
id
:
202
,
size
:
"1
2
8Mb"
,
size
:
"1
1
8Mb"
,
downTime
:
"2020-05-26 10:30:26"
,
checked
:
false
},
{
mdcNmae
:
"00123_283"
,
},{
mdcNmae
:
"00123_286"
,
id
:
203
,
size
:
"100Mb"
,
downTime
:
"2020-05-26 10:30:26"
,
checked
:
false
}
]
},{
dncCode
:
"19212_0665003"
,
dncName
:
"数控机床03"
,
dncUser
:
"刘蕾"
,
dncArea
:
"区域03"
,
dncStatue
:
"空闲"
,
checked
:
false
,
btnShow
:
false
,
id
:
3
,
row
:
[
{
mdcNmae
:
"00123_287"
,
id
:
201
,
size
:
"128Mb"
,
downTime
:
"2020-05-26 10:30:26"
,
checked
:
false
},{
mdcNmae
:
"00123_288"
,
id
:
202
,
size
:
"110Mb"
,
downTime
:
"2020-05-26 10:30:26"
,
checked
:
false
},{
mdcNmae
:
"00123_289"
,
id
:
203
,
size
:
"130Mb"
,
downTime
:
"2020-05-26 10:30:26"
,
checked
:
false
},{
mdcNmae
:
"00123_290"
,
id
:
203
,
size
:
"135Mb"
,
downTime
:
"2020-05-26 10:30:26"
,
checked
:
false
}
]
}
...
...
@@ -292,7 +324,6 @@ export default {
endTime
:
"2020/05/26 "
}
],
btnModal
:
true
,
//箭头
listTitle
:
[],
//订单号列表
newList
:
[],
//选中数据
chaiModal
:
false
,
//拆分弹框
...
...
@@ -386,14 +417,12 @@ export default {
this
.
footerToolbar
=
true
;
},
// 切换箭头
showRow
(
id
,
btn
){
// console.log(id)
// let ss=!btnModal
// this.listSheBei.map(u=>{
// })
// console.log(btnModal = ss)
this
.
btnModal
=
!
this
.
btnModal
showRow
(
rowid
,
btn
){
this
.
listSheBei
.
map
(
u
=>
{
if
(
u
.
id
==
rowid
){
u
.
btnShow
=
!
u
.
btnShow
}
})
},
// 获取查询人员
getselectuser
(
id
)
{
...
...
@@ -472,10 +501,11 @@ export default {
this
.
getUserInfoFn
();
},
downFile
(){
this
.
$Message
.
success
(
"下载文件"
)
this
.
$Message
.
success
(
"下载文件
中...
"
)
},
fileBeyong
(){
this
.
$Message
.
success
(
"对比文件"
)
this
.
$router
.
push
(
"/dncmnc/dnc/difftext"
);
},
// 打开抽屉
openDrawer
()
{
...
...
@@ -609,8 +639,13 @@ export default {
}
});
if
(
ids
.
length
>
0
)
{
this
.
footerToolbar
=
true
;
this
.
xiaZai
=
true
;
// if(this.liOrderIds.length>0){
// this.$Message.info("设备和所属程序不能同时选择!")
// }else{
this
.
footerToolbar
=
true
;
this
.
xiaZai
=
true
;
this
.
beyong
=
false
;
// }
}
return
ids
;
},
...
...
@@ -633,23 +668,35 @@ export default {
return
orders
;
},
liOrderIds
()
{
let
liOrderIds
=
[];
let
rowList
;
this
.
listSheBei
.
map
(
u
=>
{
rowList
=
u
.
row
});
// rowList.map(item=>{ rowData.push(item) })
// rowList.map(tm=>{
// if(tm.checked){
// liOrderIds.push(tm.id)
// }
// })
let
rowList
=
[]
;
let
liOrderIds
=
[]
;
let
cardData
=
this
.
listSheBei
;
for
(
let
i
=
0
;
i
<
cardData
.
length
;
i
++
){
cardData
[
i
].
row
.
map
(
u
=>
{
rowList
.
push
(
u
)
})
}
rowList
.
map
(
tem
=>
{
if
(
tem
.
checked
)
{
liOrderIds
.
push
(
tem
.
id
);
}
});
if
(
liOrderIds
.
length
>
0
){
if
(
this
.
ids
.
length
>
0
){
this
.
$Message
.
info
(
"设备和所属程序不能同时选择!"
)
this
.
footerToolbar
=
false
;
}
else
{
this
.
footerToolbar
=
true
;
this
.
xiaZai
=
false
;
this
.
beyong
=
true
;
}
}
return
liOrderIds
;
// this.footerToolbar = true;
return
rowList
;
},
showOperate
()
{
return
(
this
.
ids
.
length
>
0
&&
(
this
.
chengXuIds
.
length
>
0
)
// || this.liOrderIds.length > 0
(
this
.
ids
.
length
>
0
||
this
.
liOrderIds
.
length
>
0
)
&&
(
this
.
chengXuIds
.
length
>
0
)
);
}
},
...
...
pages/dncmnc/dnc/difftext.vue
0 → 100644
View file @
fb5d624d
<
style
lang=
"less"
scoped
>
@import "./dispatch.less";
</
style
>
<
template
>
<div
class=
"diff_box"
>
<a
class=
"back_href"
@
click=
"goView"
>
<Icon
type=
"ios-undo-outline"
size=
"24"
/>
返回设备监控
</a>
<div
class=
"diff_card"
>
<div
class=
"diff_top"
>
程序名:00123_281
</div>
<div
class=
"diff_top"
>
程序名:1288-268
绑定设备:数控机床
</div>
<img
src=
"../image/textdiff.png"
alt=
""
>
</div>
</div>
</
template
>
<
script
>
import
Api
from
"./api"
;
export
default
{
components
:
{},
data
()
{
return
{
action
:
Api
.
index
,
byheight
:
"450px"
,
};
},
created
()
{
// this.getUserInfoFn();
this
.
byheight
=
window
.
innerHeight
-
178
+
"px"
;
},
mounted
()
{
this
.
byheight
=
window
.
innerHeight
-
178
+
"px"
;
},
async
fetch
({
store
,
params
})
{
await
store
.
dispatch
(
"loadDictionary"
);
// 加载数据字典
},
methods
:
{
goView
(){
//返回数控程序传输页面
this
.
$router
.
push
(
"/dncmnc/dnc/datalist"
);
},},
computed
:
{},
watch
:
{}
};
</
script
>
<
style
lang=
"less"
>
.diff_card{
width: 100%;
height: 86vh;
.diff_top{
width: 50%;
float: left;
text-align: center;
}
img{
display: block;
width: 90%;
margin: 0vh auto;
}
}
</
style
>
\ No newline at end of file
pages/dncmnc/image/textdiff.png
0 → 100644
View file @
fb5d624d
6.98 KB
pages/dncmnc/mnc/compose/echart3.vue
View file @
fb5d624d
<
template
>
<div>
<div
id=
"myChart03"
style=
"width:8
6
5px;height:316px;top: 0px;"
></div>
<div
id=
"myChart03"
style=
"width:8
9
5px;height:316px;top: 0px;"
></div>
</div>
</
template
>
<
script
>
...
...
pages/dncmnc/mnc/compose/echart4.vue
View file @
fb5d624d
<
template
>
<div>
<div
id=
"
gauge01"
style=
"width:200px;height:150px
;top: 0px;"
></div>
<div
id=
"
myChart04"
style=
"width:100%;height:340px;margin:20px auto
;top: 0px;"
></div>
</div>
</
template
>
<
script
>
...
...
@@ -17,141 +17,61 @@ export default {
},
loadEchart
()
{
// 基于准备好的dom,初始化echarts实例
var
gauge01
=
this
.
$echarts
.
init
(
document
.
getElementById
(
'gauge01'
))
var
score
=
78
;
var
name
=
'名称'
;
var
myChart04
=
this
.
$echarts
.
init
(
document
.
getElementById
(
'myChart04'
))
var
option
=
{
series
:
[
title
:
{
text
:
''
},
legend
:
{
data
:
[
'开机'
,
'关机'
,
'故障'
,
'运行'
],
right
:
55
,
},
tooltip
:
{
trigger
:
'axis'
},
grid
:
{
left
:
'3%'
,
right
:
'4%'
,
bottom
:
'3%'
,
containLabel
:
true
},
xAxis
:
{
data
:
[
'1日'
,
'2日'
,
'3日'
,
'4日'
,
'5日'
,
'6日'
,
'7日'
,
'8日'
,
'9日'
,
'10日'
,
'11日'
,
'12日'
,
'13日'
,
'14日'
,
'15日'
,
'16日'
,
'17日'
,
'18日'
]
},
yAxis
:
{
type
:
'value'
},
series
:
[
{
type
:
'gauge'
,
min
:
0
,
max
:
100
,
radius
:
'80%'
,
startAngle
:
180
,
endAngle
:
0
,
axisLine
:
{
show
:
false
,
lineStyle
:
{
opacity
:
0
,
width
:
12
}
},
splitLine
:
{
show
:
false
},
pointer
:
{
show
:
false
},
axisTick
:
{
splitNumber
:
10
,
length
:
12
,
lineStyle
:
{
color
:
'#004fb0'
}
},
title
:
{
show
:
true
,
fontSize
:
16
,
color
:
'#5faeff'
,
offsetCenter
:
[
0
,
'-115%'
]
},
detail
:
{
formatter
:
function
(
value
)
{
return
'{a|'
+
value
+
'} {b|分}'
},
offsetCenter
:
[
0
,
-
20
],
rich
:
{
a
:
{
fontSize
:
32
,
color
:
'#15e198'
},
b
:
{
fontSize
:
14
,
color
:
'#15e198'
,
padding
:
[
0
,
0
,
5
,
0
]
}
}
},
data
:
[{
value
:
[
score
],
name
:
name
}]
name
:
'开机'
,
type
:
'bar'
,
barWidth
:
8
,
data
:
[
120
,
132
,
101
,
134
,
90
,
230
,
210
,
120
,
132
,
101
,
134
,
90
,
230
,
210
,
120
,
132
,
101
,
134
]
},
{
name
:
'score'
,
type
:
'pie'
,
startAngle
:
180
,
hoverAnimation
:
false
,
radius
:
[
105
,
115
],
label
:
{
normal
:
{
show
:
false
}
},
data
:
[
{
value
:
0.4
,
name
:
0.4
,
itemStyle
:
{
normal
:
{
color
:
'#fff'
}
}
},
{
value
:
0.4
,
itemStyle
:
{
normal
:
{
color
:
'transparent'
}
}
}
]
name
:
'关机'
,
type
:
'bar'
,
barWidth
:
8
,
data
:
[
220
,
182
,
191
,
234
,
290
,
330
,
310
,
220
,
182
,
191
,
234
,
290
,
330
,
310
,
220
,
182
,
191
,
234
,
290
,
330
,
310
]
},
{
name
:
'score'
,
type
:
'pie'
,
startAngle
:
180
,
hoverAnimation
:
false
,
radius
:
[
105
,
115
],
label
:
{
normal
:
{
show
:
false
}
},
data
:
[
{
value
:
[(
score
*
0.5
/
100
).
toFixed
(
2
)],
name
:
[(
score
*
0.5
/
100
).
toFixed
(
2
)],
itemStyle
:
{
normal
:
{
color
:
{
type
:
'linear'
,
x
:
0
,
y
:
0
,
x2
:
0
,
y2
:
1
,
colorStops
:
[{
offset
:
0
,
color
:
'#15e198'
},
{
offset
:
1
,
color
:
'#409eff'
}]
}
}
}
},
{
value
:
[
1
-
(
score
*
0.5
/
100
).
toFixed
(
2
)],
itemStyle
:
{
normal
:
{
color
:
'transparent'
}
}
}
]
name
:
'故障'
,
type
:
'bar'
,
barWidth
:
8
,
data
:
[
150
,
232
,
201
,
154
,
190
,
330
,
410
,
150
,
232
,
201
,
154
,
190
,
330
,
410
,
150
,
232
,
201
,
154
,
190
,
330
,
410
]
},
{
name
:
'运行'
,
type
:
'bar'
,
barWidth
:
8
,
data
:
[
320
,
332
,
301
,
334
,
390
,
330
,
320
,
320
,
332
,
301
,
334
,
390
,
330
,
320
,
320
,
332
,
301
,
334
,
390
,
330
,
320
]
}
]
]
}
// 绘制图表
gauge01
.
setOption
(
option
)
myChart04
.
setOption
(
option
)
}
},
mounted
()
{
...
...
pages/dncmnc/mnc/compose/echart5.vue
0 → 100644
View file @
fb5d624d
This diff is collapsed.
Click to expand it.
pages/dncmnc/mnc/mnc.less
View file @
fb5d624d
...
...
@@ -42,24 +42,30 @@
border-radius: 3px;
}
}
.set_masage02{
line-height: 35px;
}
}
}
}
#echarts{
.set_echarts{
.echart3{
height: 800px;
}
.tips{
// padding: 20px;
.tips_item{
background: #eff1f7;
margin: 20px;
line-height: 3
6
px;
line-height: 3
8
px;
padding: 0 20px;
.item_top{
border-bottom: 1px solid #b1b1b1;
}
.item_center{
text-align: center;
line-height: 32px;
//
line-height: 32px;
}
.item_right{
float: right;
...
...
pages/dncmnc/mnc/monitoring.vue
View file @
fb5d624d
...
...
@@ -80,7 +80,7 @@
</div>
</Col>
<Col
span=
"15"
>
<div
class=
"set_masage"
>
<div
class=
"set_masage
set_masage02
"
>
<p>
当前状态开始时间:
</p>
<p
class=
"time_bg"
>
11:45:05
</p>
<p>
当前状态持续时间:
</p>
...
...
@@ -102,13 +102,13 @@
<p
class=
"set_top"
>
加工状态实时信息
</p>
<div
class=
"set_echarts"
>
<Row>
<Col
span=
"1
6
"
>
<Col
span=
"1
7
"
>
<div
class=
"echart3"
>
<Echart3
></Echart3>
<Echart
4
></Echart4
>
<Echart
5
></Echart5
>
</div>
</Col>
<Col
span=
"
8
"
>
<Col
span=
"
7
"
>
<div
class=
"tips"
>
<div
class=
"tips_item"
>
<Row
class=
"item_top"
>
...
...
@@ -164,12 +164,12 @@
<
script
>
import
Echart2
from
'./compose/echart2'
import
Echart3
from
'./compose/echart3'
import
Echart
4
from
'./compose/echart4
'
import
Echart
5
from
'./compose/echart5
'
export
default
{
components
:
{
Echart2
,
Echart3
,
Echart
4
,
Echart
5
,
},
data
(){
return
{
...
...
pages/handle/examine13/detail.vue
View file @
fb5d624d
<
style
lang=
"less"
scope
>
@import "../shen.less";
</
style
>
<
template
>
<div
class=
"new-detail"
style=
"width:90%;margin:0 auto"
>
<div
class=
"new-detail"
>
<Row>
<Filed
:span=
"8"
name=
"编码:"
>
{{
!
entity
.
code
?
'未分配'
:
entity
.
code
}}
</Filed>
<Filed
:span=
"8"
name=
"名称:"
>
{{
entity
.
name
}}
</Filed>
<Filed
:span=
"8"
name=
"状态:"
>
<State
code=
"materail.category.status"
:value=
"parseInt(entity.status)"
/>
<State
code=
"materail.main.status"
:value=
"parseInt(entity.status)"
/>
</Filed>
<Filed
:span=
"8"
name=
"版本:"
>
<State
code=
"material.main.version"
:value=
"parseInt(entity.version)"
/>
</Filed>
<Filed
:span=
"8"
name=
"版本:"
>
{{
entity
.
version
}}
</Filed>
<Filed
:span=
"8"
name=
"描述:"
>
{{
entity
.
description
}}
</Filed>
</Row>
<Divider
orientation=
"
left"
>
扩展属性
</Divider>
<Divider
orientation=
"
center"
><h3>
扩展属性
</h3>
</Divider>
<Row>
<Filed
v-for=
"li in fileds"
:key=
"li.field"
:span=
"li.span"
:name=
"li.title+':'"
>
<State
v-if=
"li.dataType==3"
:code=
"li.note"
:value=
"entity[li.field]"
/>
<div
v-else-if=
"li.dataType==8"
>
{{
entity
[
li
.
field
]
}}
</div>
<div
v-else-if=
"li.dataType==5"
v-html=
"entity[li.field]"
></div>
<DTSpan
v-else-if=
"li.dataType==4"
:value=
"entity[li.field]"
/>
<DTSpan
v-else-if=
"li.dataType==4"
:value=
"entity[li.field]"
/>
<span
v-else
>
{{
entity
[
li
.
field
]
}}
</span>
<State
v-if=
"li.unitName&&(li.dataType==1||li.dataType==2)"
:code=
"li.note"
:value=
"entity[li.field]"
/>
<State
v-if=
"li.unitName&&(li.dataType==1||li.dataType==2)"
:code=
"li.note"
:value=
"entity[li.field]"
/>
</Filed>
</Row>
</div>
...
...
pages/handle/footer.vue
View file @
fb5d624d
...
...
@@ -288,3 +288,11 @@ export default {
watch
:
{}
}
</
script
>
<
style
lang=
"less"
>
// .footers{
// .ivu-form .ivu-form-item-label{
// color: white!important;
// }
// }
</
style
>
\ No newline at end of file
pages/handle/index.vue
View file @
fb5d624d
<
template
>
<div
class=
"myBug"
>
<Tabs
:animated=
"false"
@
on-click=
"tab"
value=
"3"
>
...
...
@@ -103,6 +104,29 @@ export default {
key
:
"schemaId"
,
hide
:
true
},
{
title
:
this
.
l
(
"status"
),
key
:
"status"
,
align
:
"center"
,
width
:
120
,
high
:
true
,
code
:
"Handle.todoList.status"
},
{
title
:
this
.
l
(
"creatorUserId"
),
key
:
"creatorUserId"
,
hide
:
true
},
{
title
:
this
.
l
(
"creator"
),
key
:
"creator"
,
align
:
"center"
},
{
title
:
this
.
l
(
"creationTime"
),
key
:
"creationTime"
,
align
:
"center"
},
{
title
:
this
.
l
(
"schemaName"
),
key
:
"schemaName"
...
...
@@ -135,27 +159,6 @@ export default {
title
:
this
.
l
(
"nextNodeName"
),
key
:
"nextNodeName"
},
{
title
:
this
.
l
(
"status"
),
key
:
"status"
,
high
:
true
,
code
:
"Handle.todoList.status"
},
{
title
:
this
.
l
(
"creatorUserId"
),
key
:
"creatorUserId"
,
hide
:
true
},
{
title
:
this
.
l
(
"creator"
),
key
:
"creator"
,
align
:
"center"
},
{
title
:
this
.
l
(
"creationTime"
),
key
:
"creationTime"
,
align
:
"center"
},
{
title
:
"操作"
,
...
...
pages/handle/process.vue
View file @
fb5d624d
<
style
lang=
"less"
scope
>
@import "./shen.less";
</
style
>
<
template
>
<div
class=
"Design"
>
<h3>
{{
processTitle
}}
</h3>
...
...
@@ -10,7 +13,6 @@
{{
item
.
name
}}
(
<state
code=
"workflow.form.audit.type"
:value=
"item.operation"
/>
)
<Icon
v-if=
"item.isFixed"
title=
"固定"
type=
"ios-lock"
/>
<span
class=
"auditedTime"
>
{{
item
.
auditedTime
}}
</span>
</p>
<div
class=
"content"
>
<div
class=
"records"
v-if=
"index==cur"
>
...
...
@@ -22,30 +24,16 @@
class=
"mr5"
/>
</div>
<div
v-else-if=
"index>cur"
>
<CheckboxGroup
v-model=
"immutData"
>
<span>
审批人:
</span>
<Checkbox
v-for=
"(item1, index1) in item.defaultUsers.immutable"
:key=
"index1"
:label=
"item1"
:disabled=
"item.isFixed"
>
<User
:value=
"item1"
style=
"margin-right:5px;"
/>
</Checkbox>
</CheckboxGroup>
</div>
<div
class=
"wait"
v-else
>
<span>
审批人:
</span>
<User
v-for=
"(item2, index2) in item.defaultUsers.immutable"
:key=
"index2"
:value=
"item2"
class=
"mr5"
/>
</div>
<div
style=
"width:98%"
v-if=
"com(item.records).length>0"
>
<Table
:columns=
"columns"
border
size=
"small"
width=
"90%"
:data=
"com(item.records)"
></Table>
<!--
<Table
:columns=
"columns"
border
size=
"small"
width=
"90%"
:data=
"com(item.records)"
></Table>
-->
<p
class=
"shen_row"
v-for=
"(item3, index3) in item.records"
:key=
"index3"
:value=
"item3"
>
<User
class=
"user_span"
:value=
"item3.operatorId"
/>
<span
class=
"plr row_time"
>
{{
item3
.
operationTime
}}
</span>
<state
code=
"workflow.record.status"
:value=
"item3.status"
type=
"text"
></state>
<span
class=
"plr remark"
v-if=
"item3.remark"
>
{{
item3
.
remark
}}
</span>
<a
class=
"plr row_ditill"
v-if=
"item3.contextData"
@
click=
"edit(item3)"
>
详情
</a>
<!--
<span>
{{
item3
.
contextData
}}
</span>
-->
</p>
</div>
</div>
</TimelineItem>
...
...
@@ -57,12 +45,16 @@ import Api from './api'
export
default
{
name
:
'process'
,
components
:
{},
async
fetch
({
store
,
params
})
{
await
store
.
dispatch
(
'loadDictionary'
)
// 加载数据字典
},
data
()
{
return
{
currentUserId
:
0
,
processTitle
:
'审批流程'
,
currentNodeId
:
null
,
dataImmut
:
[],
creatRows
:
[],
cur
:
0
,
columns
:
[
{
...
...
@@ -136,8 +128,8 @@ export default {
Api
.
getdetail
({
Id
:
this
.
idVal
}).
then
((
r
)
=>
{
if
(
r
.
success
)
{
this
.
dataImmut
=
r
.
result
.
nodes
this
.
processTitle
=
r
.
result
.
schemaName
this
.
currentNodeId
=
r
.
result
.
currentNodeId
let
idUser
=
[]
r
.
result
.
nodes
.
map
((
u
,
i
)
=>
{
//查找当前节点索引
if
(
u
.
id
==
this
.
currentNodeId
)
{
...
...
@@ -152,6 +144,7 @@ export default {
// console.log("this.dataImmut[this.cur + 1]:",this.dataImmut[this.cur + 1],this.cur,this.dataImmut.length )
this
.
immutData
=
this
.
dataImmut
[
this
.
cur
+
1
].
defaultUsers
.
immutable
||
(
this
.
dataImmut
[
this
.
cur
+
1
].
defaultUsers
.
mutable
)
//审核人员bug
}
}
else
{
this
.
$Message
.
error
(
'加载失败'
)
}
...
...
@@ -178,8 +171,8 @@ export default {
com
(
items
)
{
if
(
items
)
return
items
.
filter
((
u
)
=>
{
return
[
2
,
3
,
5
,
6
].
indexOf
(
u
.
status
)
>
-
1
})
return
[
2
,
3
,
5
,
6
].
indexOf
(
u
.
status
)
>
-
1
})
else
return
[];
},
...
...
@@ -191,12 +184,4 @@ export default {
computed
:
{},
watch
:
{}
}
</
script
>
<
style
lang=
"less"
>
.Design{
margin:20px auto; width:90%;
.ivu-timeline-item-head{
background-color: transparent;
}
}
</
style
>
\ No newline at end of file
</
script
>
\ No newline at end of file
pages/handle/processold.vue
0 → 100644
View file @
fb5d624d
<
style
lang=
"less"
scope
>
@import "./shen.less";
</
style
>
<
template
>
<div
class=
"Design"
>
<h3>
{{
processTitle
}}
</h3>
<Divider
/>
<Timeline>
<TimelineItem
v-for=
"(item, index) in dataImmut"
:key=
"index"
>
<Badge
:count=
"index + 1"
slot=
"dot"
:type=
"type(index)"
></Badge>
<p
class=
"title"
>
<state
code=
"workflow.record.status"
:value=
"item.status"
type=
"tag"
/>
{{
item
.
name
}}
(
<state
code=
"workflow.form.audit.type"
:value=
"item.operation"
/>
)
<Icon
v-if=
"item.isFixed"
title=
"固定"
type=
"ios-lock"
/>
<!--
<span
class=
"auditedTime"
>
{{
item
.
auditedTime
}}
</span>
-->
</p>
<div
class=
"content"
>
<div
class=
"records"
v-if=
"index==cur"
>
<span>
审批人:
</span>
<User
v-for=
"(item3, index3) in item.records"
:key=
"index3"
:value=
"item3.operatorId"
class=
"mr5"
/>
</div>
<div
v-else-if=
"index>cur"
>
<CheckboxGroup
v-model=
"immutData"
>
<span>
审批人:
</span>
<Checkbox
v-for=
"(item1, index1) in item.defaultUsers.immutable"
:key=
"index1"
:label=
"item1"
:disabled=
"item.isFixed"
>
<User
:value=
"item1"
style=
"margin-right:5px;"
/>
</Checkbox>
</CheckboxGroup>
</div>
<div
class=
"wait"
v-else
>
<span>
审批人:
</span>
<User
v-for=
"(item2, index2) in item.defaultUsers.immutable"
:key=
"index2"
:value=
"item2"
class=
"mr5"
/>
</div>
<div
style=
"width:98%"
v-if=
"com(item.records).length>0"
>
<Table
:columns=
"columns"
border
size=
"small"
width=
"90%"
:data=
"com(item.records)"
></Table>
<p>
<state
code=
"workflow.record.status"
:value=
"item.status"
type=
"text"
></state>
<!--
<User
:value=
"item.operatorId"
class=
"mr5"
/>
-->
<span>
{{
item
.
auditedTime
}}
</span>
<!--
<span>
{{
item
}}
</span>
-->
</p>
</div>
</div>
</TimelineItem>
</Timeline>
</div>
</
template
>
<
script
>
import
Api
from
'./api'
export
default
{
name
:
'process'
,
components
:
{},
async
fetch
({
store
,
params
})
{
await
store
.
dispatch
(
'loadDictionary'
)
// 加载数据字典
},
data
()
{
return
{
currentUserId
:
0
,
processTitle
:
'审批流程'
,
currentNodeId
:
null
,
dataImmut
:
[],
cur
:
0
,
columns
:
[
{
key
:
'status'
,
title
:
'结果'
,
align
:
'left'
,
width
:
100
,
render
:
(
h
,
params
)
=>
{
return
h
(
'state'
,
{
attrs
:
{
value
:
params
.
row
.
status
,
code
:
'workflow.record.status'
}
})
}
},
{
key
:
'operatorId'
,
title
:
'操作人'
,
align
:
'left'
,
width
:
100
,
easy
:
true
,
high
:
true
,
render
:
(
h
,
params
)
=>
{
return
h
(
'User'
,
{
attrs
:
{
value
:
params
.
row
.
operatorId
}
})
}
},
{
title
:
'时间'
,
key
:
'operationTime'
,
width
:
200
,
align
:
'center'
},
{
title
:
'备注'
,
key
:
'remark'
,
align
:
'center'
},
{
key
:
'contextData'
,
title
:
'详细'
,
width
:
100
,
align
:
'left'
,
render
:
(
h
,
params
)
=>
{
if
(
params
.
row
.
contextData
.
length
>
2
)
return
h
(
'a'
,
{
on
:
{
click
:
()
=>
this
.
edit
(
params
.
row
)
}
},
'详情'
)
return
h
(
'span'
,
''
)
}
}
],
dataMut
:
[],
immutData
:
[],
schemaId
:
''
}
},
props
:
{
idVal
:
{
type
:
String
,
default
:
''
}
},
created
()
{
this
.
currentUserId
=
this
.
$store
.
state
.
userInfo
.
userId
this
.
dataImmut
=
[]
this
.
dataMut
=
[]
Api
.
getdetail
({
Id
:
this
.
idVal
}).
then
((
r
)
=>
{
if
(
r
.
success
)
{
this
.
dataImmut
=
r
.
result
.
nodes
this
.
processTitle
=
r
.
result
.
schemaName
this
.
currentNodeId
=
r
.
result
.
currentNodeId
r
.
result
.
nodes
.
map
((
u
,
i
)
=>
{
//查找当前节点索引
if
(
u
.
id
==
this
.
currentNodeId
)
{
this
.
cur
=
i
};
// if(u.defaultUsers.mutable&&u.defaultUsers.mutable.length>0){
// u.defaultUsers.immutable=u.defaultUsers.immutable.concat(u.defaultUsers.mutable)
u
.
defaultUsers
.
immutable
=
u
.
defaultUsers
.
immutable
||
(
u
.
defaultUsers
.
mutable
)
//审核人员bug
// }
})
if
(
this
.
dataImmut
.
length
>
this
.
cur
+
1
)
{
// console.log("this.dataImmut[this.cur + 1]:",this.dataImmut[this.cur + 1],this.cur,this.dataImmut.length )
this
.
immutData
=
this
.
dataImmut
[
this
.
cur
+
1
].
defaultUsers
.
immutable
||
(
this
.
dataImmut
[
this
.
cur
+
1
].
defaultUsers
.
mutable
)
//审核人员bug
}
}
else
{
this
.
$Message
.
error
(
'加载失败'
)
}
})
},
methods
:
{
load
(
v
)
{},
type
(
i
)
{
if
(
i
<
this
.
cur
)
{
return
'primary'
}
else
if
(
i
==
this
.
cur
)
{
return
'info'
}
else
if
(
i
==
this
.
cur
+
1
)
{
return
'warning'
}
else
{
return
'normal'
}
},
edit
(
record
)
{
// alert(record.id)
this
.
$emit
(
'node-click'
,
record
)
console
.
log
(
record
)
},
com
(
items
)
{
if
(
items
)
return
items
.
filter
((
u
)
=>
{
return
[
2
,
3
,
5
,
6
].
indexOf
(
u
.
status
)
>
-
1
})
else
return
[];
},
l
(
key
)
{
key
=
'orderInfo'
+
'.'
+
key
return
this
.
$t
(
key
)
}
},
computed
:
{},
watch
:
{}
}
</
script
>
\ No newline at end of file
pages/handle/shen.less
0 → 100644
View file @
fb5d624d
.new-detail{
margin: 0 auto;
width: 98%;
background: #fff;
box-shadow: 0px 2px 6px rgba(0,0,0,0.16);
}
.Design{
margin:20px auto;
width: 98%;
padding: 20px;
background: #fff;
box-shadow: 0px 2px 6px rgba(0,0,0,0.16);
.ivu-timeline-item-head{
background-color: transparent;
}
.shen_row{
border-bottom: 1px solid #ccc;
line-height: 30px;
padding: 0 0 0 5px;
.user_span{
max-width: 150px;
width: 120px;
}
.row_time{
width: 180px;
}
.row_ditill{
width: 150px;
}
.plr{
display: inline-block;
padding: 0 20px;
}
.remark{
max-width: 1260px;
min-width: 100px;
}
}
}
\ No newline at end of file
pages/materiel/masterData/details.vue
View file @
fb5d624d
...
...
@@ -20,9 +20,11 @@
<Filed
:span=
"8"
name=
"编码:"
>
{{
!
entity
.
code
?
'未分配'
:
entity
.
code
}}
</Filed>
<Filed
:span=
"8"
name=
"名称:"
>
{{
entity
.
name
}}
</Filed>
<Filed
:span=
"8"
name=
"状态:"
>
<State
code=
"materail.category.status"
:value=
"parseInt(entity.status)"
/>
<State
code=
"material.main.status"
:value=
"parseInt(entity.status)"
/>
</Filed>
<Filed
:span=
"8"
name=
"版本:"
>
<State
code=
"material.main.version"
:value=
"parseInt(entity.version)"
/>
</Filed>
<Filed
:span=
"8"
name=
"版本:"
>
{{
entity
.
version
}}
</Filed>
<Filed
:span=
"8"
name=
"描述:"
>
{{
entity
.
description
}}
</Filed>
</Row>
<Divider
orientation=
"left"
>
扩展属性
</Divider>
...
...
@@ -117,7 +119,7 @@ export default {
}).
then
(
r
=>
{
if
(
r
.
result
)
{
this
.
fileds
=
r
.
result
.
filter
(
function
(
item
)
{
console
.
log
(
item
);
//
console.log(item);
item
.
span
=
8
;
if
(
item
.
dataType
==
8
||
item
.
dataType
==
5
)
{
item
.
span
=
24
;
...
...
pages/materiel/masterData/masterData.vue
View file @
fb5d624d
...
...
@@ -136,11 +136,11 @@ export default {
align
:
"left"
,
code
:
"material.main.version"
},
{
key
:
"description"
,
title
:
"描述"
,
align
:
"left"
},
//
{
//
key: "description",
//
title: "描述",
//
align: "left"
//
},
{
key
:
"creationTime"
,
title
:
"创建时间"
,
...
...
@@ -159,7 +159,7 @@ export default {
title
:
"操作"
,
key
:
"action"
,
width
:
150
,
align
:
"
center
"
,
align
:
"
left
"
,
render
:
(
h
,
params
)
=>
{
return
h
(
"div"
,
{
class
:
"action"
},
[
h
(
...
...
@@ -226,6 +226,8 @@ export default {
return
data
;
},
onSelect
(
a
,
b
)
{
// console.log(a);
// console.log(b);
//批量选择
this
.
rootCategoryId
=
a
[
0
].
rootCategoryId
;
this
.
selectRows
=
a
;
...
...
@@ -265,7 +267,7 @@ export default {
});
this
.
cols
=
this
.
$u
.
clone
(
this
.
columns
);
let
extra
=
items
.
map
(
u
=>
{
//
console.log(u);
console
.
log
(
u
);
var
col
=
{
key
:
u
.
field
,
title
:
u
.
title
...
...
@@ -360,7 +362,7 @@ export default {
watch
:
{
nodeInfo
:
{
handler
(
newName
,
oldName
)
{
console
.
log
(
"ovo"
,
newName
,
oldName
);
//
console.log("ovo", newName, oldName);
if
(
newName
.
rootCategoryId
)
{
this
.
initCols
(()
=>
{
if
(
newName
.
categoryId
)
{
...
...
@@ -379,9 +381,10 @@ export default {
}
};
</
script
>
<
style
lang=
"less"
scoped
>
.spare-parts {
width: 100%;
height: 100%;
<
style
lang=
"less"
>
.master-data {
.ivu-footer-toolbar-right {
margin-right: 72% !important;
}
}
</
style
>
\ No newline at end of file
pages/materiel/masterData/submit.vue
View file @
fb5d624d
...
...
@@ -6,9 +6,11 @@
<Filed
:span=
"8"
name=
"编码:"
>
{{
!
entity
.
code
?
'未分配'
:
entity
.
code
}}
</Filed>
<Filed
:span=
"8"
name=
"名称:"
>
{{
entity
.
name
}}
</Filed>
<Filed
:span=
"8"
name=
"状态:"
>
<State
code=
"materail.category.status"
:value=
"parseInt(entity.status)"
/>
<State
code=
"material.main.status"
:value=
"parseInt(entity.status)"
/>
</Filed>
<Filed
:span=
"8"
name=
"版本:"
>
<State
code=
"material.main.version"
:value=
"parseInt(entity.version)"
/>
</Filed>
<Filed
:span=
"8"
name=
"版本:"
>
{{
entity
.
version
}}
</Filed>
<Filed
:span=
"8"
name=
"描述:"
>
{{
entity
.
description
}}
</Filed>
</Row>
<Divider
orientation=
"left"
>
扩展属性
</Divider>
...
...
@@ -28,14 +30,26 @@
</Filed>
</Row>
</div>
<Table
<DataGrid
v-if=
"osrOneList2"
:columns=
"cols"
ref=
"grid"
:conditions=
"easySearch"
:action=
"action"
:initsearch=
"sets"
:tool=
"false"
:page=
"false"
:height=
"300"
:format=
"formatFun"
/>
<!--
<Table
:loading=
"loading"
border
:columns=
"cols"
:data=
"dataList"
class=
"tableCommon"
v-if=
"osrOneList2"
></Table>
></Table>
-->
<Process
ref=
"userProcess"
schemaIdVal=
"b6303ddc-8b5e-40a3-a51b-294657d1d913"
/>
<div
slot=
"footer"
>
<Button
@
click=
"modalInfo"
>
取消
</Button>
...
...
@@ -68,12 +82,13 @@ export default {
components
:
{
Process
},
props
:
[
"eid"
,
"rootCategoryId"
,
"rowsTable"
],
props
:
[
"eid"
,
"rootCategoryId"
,
"
nodeInfo"
,
"
rowsTable"
],
async
fetch
({
store
,
params
})
{
await
store
.
dispatch
(
"loadDictionary"
);
// 加载数据字典
},
data
()
{
return
{
action
:
Api
.
index
,
rowId
:
""
,
entity
:
{},
metCodesStrTxt
:
""
,
...
...
@@ -83,6 +98,17 @@ export default {
divHeight
:
"300px"
,
osrOneList1
:
false
,
//一条数据显示
osrOneList2
:
false
,
sets
:
v
=>
{
v
.
categoryId
=
this
.
nodeInfo
.
categoryId
;
v
.
rootCategoryId
=
this
.
nodeInfo
.
rootCategoryId
;
},
easySearch
:
{
keys
:
{
op
:
"code,name"
,
value
:
null
},
categoryId
:
{
op
:
"In"
,
value
:
this
.
nodeInfo
.
ids
}
},
info
:
true
,
ruleValidate
:
{},
orderSearchForm
:
{
...
...
@@ -138,13 +164,22 @@ export default {
{
key
:
"version"
,
title
:
"版本"
,
align
:
"left"
},
{
key
:
"description"
,
title
:
"描述"
,
align
:
"left"
align
:
"left"
,
render
:
(
h
,
params
)
=>
{
return
h
(
"state"
,
{
props
:
{
code
:
"material.main.version"
,
type
:
"text"
,
value
:
params
.
row
.
status
+
""
}
});
}
}
// {
// key: "description",
// title: "描述",
// align: "left"
// }
]
};
},
...
...
@@ -159,7 +194,6 @@ export default {
this
.
osrOneList1
=
false
;
this
.
osrOneList2
=
true
;
this
.
getTable
();
this
.
dataList
=
this
.
rowsTable
;
}
},
mounted
()
{
...
...
@@ -172,6 +206,11 @@ export default {
};
},
methods
:
{
//格式化原始数据
formatFun
(
data
)
{
data
=
this
.
rowsTable
;
return
data
;
},
getDetails
(
v
)
{
Api
.
get
({
id
:
v
}).
then
(
r
=>
{
if
(
r
.
result
)
{
...
...
@@ -239,6 +278,19 @@ export default {
if
(
u
.
dataType
==
3
)
{
col
.
code
=
u
.
note
;
}
if
(
u
.
dataType
==
4
)
{
col
.
type
=
"date"
;
}
if
(
u
.
unitName
&&
(
u
.
dataType
==
1
||
u
.
dataType
==
2
))
{
var
units
=
this
.
$store
.
getters
.
dictionaryByKey
(
"material.main.unitName"
);
let
item
=
units
.
filter
(
p
=>
{
return
p
.
code
==
u
.
unitName
;
});
// console.log(units, item);
col
.
title
+=
"("
+
item
[
0
].
name
+
")"
;
}
return
col
;
});
this
.
cols
=
this
.
cols
.
concat
(
extra
);
...
...
@@ -302,6 +354,13 @@ export default {
modalInfo
()
{
this
.
$emit
(
"on-close"
);
}
},
watch
:
{
rootCategoryId
(
v
)
{
if
(
v
)
{
this
.
easySearch
.
categoryId
.
value
=
"-1"
;
}
}
}
};
</
script
>
...
...
pages/technology/productMix/index.vue
View file @
fb5d624d
...
...
@@ -41,6 +41,7 @@ export default {
this
.
showMenu
=
true
;
},
productSearch
(
id
,
item
,
ids
)
{
console
.
log
(
item
)
this
.
parent
.
parentName
=
item
.
title
;
this
.
parent
.
id
=
id
;
this
.
parent
.
ids
=
ids
;
...
...
pages/technology/productMix/product/bom.vue
0 → 100644
View file @
fb5d624d
<
template
>
<div
class=
"bom"
>
<Layout>
<Sider
width=
"300"
>
<div
class=
"p-list"
>
ddd
</div>
</Sider>
<Content>
ff
</Content>
</Layout>
</div>
</
template
>
<
style
lang=
"less"
>
.bom {
.ivu-layout-sider {
background: rgba(255, 255, 255, 1);
margin-right: 10px;
box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.15);
height: 90vh;
padding: 10px;
overflow: auto;
}
.ivu-layout-content {
// margin-left: 5px;
background: rgba(255, 255, 255, 1);
box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.15);
padding: 10px;
height: 90vh;
overflow: auto;
}
}
</
style
>
\ No newline at end of file
pages/technology/productMix/product/index.vue
View file @
fb5d624d
...
...
@@ -31,7 +31,7 @@
<Col
:span=
"12"
>
名称:
{{
row
.
name
}}
</Col>
<Col
:span=
"12"
class=
"btn-click"
>
物料编号:
{{
row
.
mmcode
}}
</Col>
</Row>
<Row
class=
"row-down"
>
<Row
class=
"row-down"
:gutter=
"20"
>
<Col
span=
"7"
>
<div
class=
"img-i"
>
<img
:src=
"downUrl +row.productUrl"
/>
...
...
@@ -42,6 +42,9 @@
<div>
图号:
{{
row
.
drawingNo
}}
</div>
<div>
主制单位:
{{
row
.
madeCompanyTitle
}}
</div>
<p
class=
"a-icon"
>
<a
@
click=
"bom(row.id)"
>
<Icon
type=
"ios-brush"
/>
BOM
</a>
<a
@
click=
"edit(row.id)"
>
<Icon
type=
"md-create"
/>
编辑
</a>
...
...
@@ -57,7 +60,7 @@
</div>
</
template
>
</DataGrid>
<Modal
v-model=
"modal"
:title=
"title"
width=
"1200"
footer-hide
>
<Modal
v-model=
"modal"
:title=
"title"
width=
"1200"
footer-hide
:fullscreen=
"fullscreen"
>
<component
:is=
"detail"
:eid=
"curId"
@
on-close=
"cancel"
@
on-ok=
"ok"
:parents=
"parent"
/>
</Modal>
</div>
...
...
@@ -85,6 +88,7 @@ export default {
data
()
{
return
{
action
:
Api
.
index
,
fullscreen
:
false
,
easySearch
:
{
keys
:
{
op
:
"mmcode,name,productCode"
,
value
:
null
}
},
...
...
@@ -121,28 +125,43 @@ export default {
this
.
$refs
.
grid
.
reload
(
this
.
easySearch
);
},
add
()
{
this
.
curId
=
0
;
this
.
title
=
"新增"
;
this
.
detail
=
()
=>
import
(
"./add"
);
this
.
modal
=
true
;
if
(
this
.
parent
.
id
)
{
this
.
curId
=
0
;
this
.
title
=
"新增"
;
this
.
detail
=
()
=>
import
(
"./add"
);
this
.
modal
=
true
;
this
.
fullscreen
=
false
;
}
else
{
this
.
$Message
.
error
(
"请先选择产品分类"
);
}
},
copy
(
id
)
{
this
.
curId
=
id
;
this
.
title
=
"克隆"
;
this
.
detail
=
()
=>
import
(
"./add"
);
this
.
modal
=
true
;
this
.
fullscreen
=
false
;
},
view
(
id
)
{
this
.
curId
=
id
;
this
.
title
=
"详情"
;
this
.
detail
=
()
=>
import
(
"./detail"
);
this
.
modal
=
true
;
this
.
fullscreen
=
false
;
},
edit
(
id
)
{
this
.
curId
=
id
;
this
.
title
=
"编辑"
;
this
.
detail
=
()
=>
import
(
"./edit"
);
this
.
modal
=
true
;
this
.
fullscreen
=
false
;
},
bom
(
id
)
{
this
.
curId
=
id
;
this
.
title
=
"BOM"
;
this
.
detail
=
()
=>
import
(
"./bom"
);
this
.
modal
=
true
;
this
.
fullscreen
=
true
;
},
remove
(
row
)
{
this
.
$Modal
.
confirm
({
...
...
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