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
8ba6f75a
Commit
8ba6f75a
authored
May 08, 2020
by
仇晓婷
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'product' of
http://git.mes123.com/zhouyx/mes-ui
into product
parents
aa489b06
7936cb0b
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
454 additions
and
27 deletions
+454
-27
storeHouseLeft.vue
components/modalTree/storeHouseLeft.vue
+1
-0
storeHouseTree.vue
components/modalTree/storeHouseTree.vue
+244
-0
productSelect.vue
components/page/productSelect.vue
+6
-5
resourceSelect.vue
components/page/resourceSelect.vue
+110
-0
tree-select.vue
iview-pro/src/components/tree-select/tree-select.vue
+2
-2
processMain.vue
pages/processManage/setProcess/processMain.vue
+4
-4
index.vue
pages/resource/material/powder/index.vue
+28
-6
index.vue
pages/resource/material/scraper/index.vue
+1
-0
index.vue
pages/technology/index.vue
+4
-4
test.vue
pages/test.vue
+10
-6
resource.vue
pages/test/resource.vue
+44
-0
No files found.
components/modalTree/storeHouseLeft.vue
View file @
8ba6f75a
...
...
@@ -66,6 +66,7 @@ export default {
this
.
$http
.
storeHouse
.
getpaged
({
materialType
:
this
.
type
})
.
then
((
res
)
=>
{
console
.
log
(
res
.
result
)
if
(
res
.
result
)
{
let
items
=
res
.
result
this
.
tree
=
this
.
getTrees
(
items
)
...
...
components/modalTree/storeHouseTree.vue
0 → 100644
View file @
8ba6f75a
<
template
>
<div
class=
"flex fd tree-menu"
>
<h3>
产品结构
<div
class=
"fr mr10 mt10"
>
<ButtonGroup
class=
"fr"
size=
"small"
>
<Button
:icon=
"expand ? 'md-arrow-dropright' : 'md-arrow-dropdown'"
@
click=
"toggle"
title=
"展开/合并"
></Button>
<Button
icon=
"md-refresh"
title=
"刷新"
@
click=
"loadTree"
></Button>
<Button
icon=
"md-rewind"
title=
"收起"
@
click=
"hide"
></Button>
</ButtonGroup>
</div>
</h3>
<div
class=
"search"
>
<Input
search
placeholder=
"关键字"
v-model=
"keys"
clearable
/>
</div>
<div
class=
"fg"
>
<div
class=
"tree"
>
<Tree
:data=
"tree"
ref=
"tree"
@
on-select-change=
"change"
:render=
"renderContent"
></Tree>
</div>
</div>
</div>
</
template
>
<
script
>
export
default
{
name
:
""
,
data
()
{
return
{
expand
:
false
,
ids
:
[],
tree
:
[],
divHeight
:
''
,
keys
:
""
,
// list: []
};
},
created
()
{
this
.
loadTree
();
},
methods
:
{
toggle
()
{
this
.
expand
=
!
this
.
expand
;
this
.
loadTree
()
},
async
loadTree
()
{
this
.
$http
.
storeHouse
.
getpaged
({
materialType
:
this
.
type
})
.
then
((
res
)
=>
{
console
.
log
(
res
.
result
)
if
(
res
.
result
)
{
let
items
=
res
.
result
;
// let item = this.$u.clone(res.result);
console
.
log
(
'items:'
,
items
)
this
.
tree
=
this
.
getTrees
(
items
)
this
.
change1
(
this
.
tree
)
search
(
this
.
keys
,
items
);
function
search
(
keys
,
items
)
{
items
.
map
(
u
=>
{
if
(
keys
.
length
<
3
)
{
u
.
expand
=
expand
;
result
.
push
(
u
);
}
else
{
u
.
expand
=
expand
;
if
(
u
.
title
.
indexOf
(
keys
)
>
-
1
)
{
result
.
push
(
u
);
}
else
if
(
u
.
children
)
{
search
(
keys
,
u
.
children
);
}
}
});
}
}
else
{
this
.
$Message
.
error
(
'加载库房库位树失败!'
)
}
})
},
//重构左侧树
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
])
}
}
},
// loadTree() {
// this.$http.storeHouse.getpaged({ materialType: this.type })
// .then(r => {
// console.log(r.result)
// var data = r.result;
// this.list = this.$u.clone(data);
// })
// },
// change(v, b) {
// let ids = [];
// ids.push(b.value);
// if (b.children) {
// addId(b.children);
// function addId(data) {
// data.map(u => {
// ids.push(u.value);
// if (u.children) {
// addId(u.children);
// }
// });
// }
// }
// this.$emit("on-select", b.value, b, ids);
// },
hide
()
{
this
.
$emit
(
"on-hide"
);
}
},
computed
:
{
data
()
{
let
items
=
this
.
$u
.
clone
(
this
.
list
);
let
expand
=
this
.
expand
;
let
result
=
[];
search
(
this
.
keys
,
items
);
function
search
(
keys
,
data
)
{
data
.
map
(
u
=>
{
if
(
keys
.
length
<
3
)
{
u
.
expand
=
expand
;
result
.
push
(
u
);
}
else
{
u
.
expand
=
expand
;
if
(
u
.
title
.
indexOf
(
keys
)
>
-
1
)
{
result
.
push
(
u
);
}
else
if
(
u
.
children
)
{
search
(
keys
,
u
.
children
);
}
}
});
}
return
result
;
}
}
};
</
script
>
<
style
lang=
"less"
>
.tree-menu {
h3 {
height: 50px;
font-size: 14px;
font-family: Microsoft YaHei;
font-weight: bold;
line-height: 50px;
color: rgba(81, 90, 110, 1);
background:rgba(245,246,250,1);
opacity: 1;
padding-left: 10px;
}
.search {
height: 50px;
padding: 5px 10px;
}
.fg {
flex: none;
// height:0;
overflow: auto;
padding-left: 10px;
}
.tree {
height: calc(100vh - 215px);
overflow: auto;
}
}
</
style
>
\ No newline at end of file
components/page/productSelect.vue
View file @
8ba6f75a
...
...
@@ -31,9 +31,9 @@ export default {
data
.
map
(
u
=>
{
u
.
title
=
u
.
name
;
u
.
value
=
u
.
id
;
//
u.expand = true;
//
u.selected = false;
//
u.checked = false;
u
.
expand
=
true
;
u
.
selected
=
false
;
u
.
checked
=
false
;
if
(
u
.
children
)
{
setTree
(
u
.
children
);
}
...
...
@@ -47,7 +47,7 @@ export default {
value
:
[
String
,
Number
,
Array
],
placeholder
:
{
type
:
String
,
default
:
"请选择
部门
"
default
:
"请选择
产品
"
},
multiple
:
{
type
:
Boolean
,
...
...
@@ -59,7 +59,7 @@ export default {
}
},
methods
:
{
change
(
v
)
{
change
(
v
,
item
,
items
)
{
console
.
log
(
v
);
this
.
dep
=
v
;
var
item
;
...
...
@@ -70,6 +70,7 @@ export default {
item
=
items
[
0
];
}
this
.
$emit
(
"on-change"
,
v
,
item
);
console
.
log
(
v
,
item
,
items
)
}
},
watch
:
{
...
...
components/page/resourceSelect.vue
0 → 100644
View file @
8ba6f75a
<
template
>
<Cascader
:data=
"data"
v-model=
"name"
@
on-change=
"change"
trigger=
"hover"
></Cascader>
</
template
>
<
script
>
export
default
{
name
:
"roleSelect"
,
model
:
{
prop
:
"value"
,
event
:
"on-change"
},
data
()
{
return
{
name
:
this
.
value
,
data
:
[],
resources
:
[],
types
:
[]
};
},
mounted
()
{
//
this
.
types
=
this
.
$store
.
getters
.
dictionaryByKey
(
"aps.resource.type"
);
let
url
=
`
${
systemUrl
}
/planresource/list`
;
this
.
$api
.
post
(
url
,
{
pageSize
:
2000
})
.
then
(
r
=>
{
this
.
resources
=
r
.
result
;
this
.
init
();
});
},
props
:
{
value
:
[
Array
]
},
methods
:
{
init
(
data
)
{
var
data
=
[];
this
.
types
.
map
(
u
=>
{
let
item
=
{
label
:
u
.
name
,
value
:
u
.
code
};
var
children
=
this
.
resources
.
filter
(
r
=>
{
return
r
.
type
==
u
.
code
;
});
if
(
children
&&
children
.
length
>
0
)
{
var
ul
=
[];
children
.
map
(
u
=>
{
ul
.
push
({
label
:
u
.
title
,
value
:
u
.
id
});
});
item
.
children
=
ul
;
}
else
{
item
.
disabled
=
true
}
data
.
push
(
item
);
});
this
.
data
=
data
;
},
change
(
value
,
selected
)
{
// console.log(event)
this
.
$emit
(
"on-change"
,
value
,
selected
);
},
//获取所有的选中项
getSelectItems
()
{
var
items
=
[];
this
.
value
.
forEach
(
v
=>
{
var
item
=
this
.
dic
.
filter
(
u
=>
u
.
value
==
v
);
if
(
item
&&
item
[
0
])
{
items
.
push
(
item
[
0
]);
}
});
return
items
;
},
//获取所有选中项的名称
getSelectNames
()
{
var
names
=
[];
this
.
getSelectItems
().
forEach
(
v
=>
{
names
.
push
(
v
.
label
);
});
return
names
;
}
},
computed
:
{
dic
()
{
let
result
=
[];
this
.
data
.
forEach
(
u
=>
{
result
.
push
({
value
:
u
.
id
,
label
:
u
.
name
});
});
return
result
;
}
},
watch
:
{
value
:
{
handler
(
v
,
o
)
{
this
.
name
=
v
;
},
deep
:
true
}
}
};
</
script
>
\ No newline at end of file
iview-pro/src/components/tree-select/tree-select.vue
View file @
8ba6f75a
...
...
@@ -123,8 +123,8 @@
this
.
isChangeValueInTree
=
true
;
this
.
$emit
(
'input'
,
this
.
currentValue
);
this
.
$emit
(
'on-change'
,
this
.
currentValue
);
this
.
$emit
(
'input'
,
this
.
currentValue
,
currentNode
,
selectedNodes
);
this
.
$emit
(
'on-change'
,
this
.
currentValue
,
currentNode
,
selectedNodes
);
this
.
dispatch
(
'FormItem'
,
'on-form-change'
,
this
.
currentValue
);
},
handleUpdateTreeNodes
(
data
,
isInit
=
false
)
{
...
...
pages/processManage/setProcess/processMain.vue
View file @
8ba6f75a
...
...
@@ -457,6 +457,7 @@ export default {
this
.
formValidate
.
mydate
=
date
;
},
onchange_createtype
()
{
if
(
this
.
createtype
==
1
)
{
this
.
isshow_selectpdefm
=
false
;
this
.
clearModal2
();
...
...
@@ -529,11 +530,10 @@ export default {
});
},
setparentcreatetype
(
type
,
headerid
)
{
this
.
$parent
.
$parent
.
createtype
=
type
this
.
$parent
.
$parent
.
headerid
=
headerid
this
.
$parent
.
$parent
.
$parent
.
createtype
=
type
this
.
$parent
.
$parent
.
$parent
.
headerid
=
headerid
},
bindRoutinglist
(
productid
)
{
...
...
pages/resource/material/powder/index.vue
View file @
8ba6f75a
...
...
@@ -3,7 +3,16 @@
<Sider
hide-trigger
:style=
"
{ background: '#fff' }" class="menu" width="240" style=" flex:0;">
<StoreHouseLeft
@
storeIds=
"storeIds"
:type=
"1"
></StoreHouseLeft>
</Sider>
<Content
class=
"content"
>
<!--
<Sider
hide-trigger
v-if=
"showMenu"
class=
"menu_side"
width=
"300"
>
-->
<!--
<storeHouseTree
@
on-hide=
"onHide"
@
storeIds=
"storeIds"
:type=
"1"
/>
-->
<!-- @on-select="productSearch" -->
<!--
</Sider>
-->
<div
v-if=
"!showMenu"
class=
"show_menu"
>
<a
class=
"menu_play fr"
@
click=
"showMenuFn"
title=
"展开"
>
<Icon
type=
"ios-arrow-forward"
size=
"24"
/>
</a>
</div>
<Content
class=
"content"
:class=
"!showMenu?'con_bord':''"
>
<DataGrid
:columns=
"columns"
ref=
"grid"
...
...
@@ -73,6 +82,7 @@ import Detail from "./detail";
import
Search
from
"./search"
;
import
Inventory
from
"./inventory"
;
import
StoreHouseLeft
from
"@/components/modalTree/storeHouseLeft.vue"
;
import
storeHouseTree
from
'@/components/modalTree/storeHouseTree.vue'
export
default
{
name
:
"list"
,
components
:
{
...
...
@@ -81,10 +91,12 @@ export default {
Detail
,
Search
,
Inventory
,
StoreHouseLeft
StoreHouseLeft
,
storeHouseTree
},
data
()
{
return
{
showMenu
:
true
,
action
:
Api
.
index
,
addModal
:
false
,
editModal
:
false
,
...
...
@@ -316,6 +328,20 @@ export default {
this
.
tdHeight
=
window
.
innerHeight
-
260
},
methods
:
{
onHide
()
{
this
.
showMenu
=
false
;
},
showMenuFn
()
{
this
.
showMenu
=
true
;
},
// productSearch(id, item, ids) {
// let where = { productId: { op: "In", value: ids } };
// this.$refs.grid.reload(where);
// },
storeIds
(
val
)
{
this
.
easySearch
.
storeId
.
value
=
val
;
this
.
$refs
.
grid
.
easySearch
();
},
addOk
()
{
this
.
$refs
.
grid
.
load
();
this
.
addModal
=
false
;
...
...
@@ -389,10 +415,6 @@ export default {
let
vkey
=
"MaterialPowder"
+
"."
+
key
;
return
this
.
$t
(
vkey
)
||
key
;
},
storeIds
(
val
)
{
this
.
easySearch
.
storeId
.
value
=
val
;
this
.
$refs
.
grid
.
easySearch
();
}
}
};
</
script
>
pages/resource/material/scraper/index.vue
View file @
8ba6f75a
...
...
@@ -63,6 +63,7 @@ import Detail from './detail'
import
Search
from
'./search'
import
Inventory
from
'./inventory'
import
StoreHouseLeft
from
'@/components/modalTree/storeHouseLeft.vue'
// import StoreHouseLeft from '@/components/modalTree/storeHouseTree.vue'
export
default
{
name
:
'list'
,
components
:
{
...
...
pages/technology/index.vue
View file @
8ba6f75a
...
...
@@ -331,6 +331,10 @@ export default {
//this.$Message.info("展开左侧树")
this
.
showMenu
=
true
;
},
productSearch
(
id
,
item
,
ids
)
{
let
where
=
{
productId
:
{
op
:
"In"
,
value
:
ids
}
};
this
.
$refs
.
grid
.
reload
(
where
);
},
// 详情页面
view
(
row
)
{
// this.$router.push("technology/details");
...
...
@@ -358,10 +362,6 @@ export default {
search
()
{
this
.
$refs
.
grid
.
reload
(
this
.
easySearch
);
},
productSearch
(
id
,
item
,
ids
)
{
let
where
=
{
productId
:
{
op
:
"In"
,
value
:
ids
}
};
this
.
$refs
.
grid
.
reload
(
where
);
},
add
()
{
this
.
curId
=
0
;
this
.
title
=
"新增"
;
...
...
pages/test.vue
View file @
8ba6f75a
<
style
lang=
"less"
>
.test_layout {
height: 100%;
.bg1
{
background:#fefefe
;
}
height: 100%;
.bg1
{
background: #fefefe
;
}
// &.fg {
// // overflow: auto;
// }
...
...
@@ -21,17 +21,21 @@
<div
class=
"layout-assistant"
>
<MenuItem
name=
"1"
to=
"/test/user"
>
人员选择
</MenuItem>
<MenuItem
name=
"2"
to=
"/test/com"
>
异步组件
</MenuItem>
<MenuItem
name=
"4"
to=
"/test/resource"
>
资源选择
</MenuItem>
<MenuItem
name=
"3"
>
Option 3
</MenuItem>
</div>
</Menu>
</div>
<div
class=
"fg"
>
<nuxt-child></nuxt-child>
<nuxt-child></nuxt-child>
</div>
</div>
</
template
>
<
script
>
export
default
{
layout
:
"empty"
layout
:
"empty"
,
async
fetch
({
store
,
params
})
{
await
store
.
dispatch
(
"loadDictionary"
);
// 加载数据字典
}
};
</
script
>
\ No newline at end of file
pages/test/resource.vue
0 → 100644
View file @
8ba6f75a
<
template
>
<div>
<ResourceSelect
v-model=
"model"
@
on-change=
"change"
></ResourceSelect>
<p>
{{
model
}}
</p>
<p>
{{
text
}}
</p>
<Button
@
click=
"set"
>
赋值
</Button>
<ProductSelect
v-model=
"product"
@
on-change=
"pchange"
></ProductSelect>
</div>
</
template
>
<
script
>
import
ResourceSelect
from
"@/components/page/resourceSelect"
export
default
{
components
:{
ResourceSelect
},
name
:
''
,
data
()
{
return
{
model
:[],
text
:
""
,
product
:
""
,
}
},
methods
:{
change
(
v
,
items
){
this
.
text
=
items
.
map
(
u
=>
u
.
label
).
join
(
'/'
);
},
set
(){
this
.
model
=
[
"1"
,
91
];
},
pchange
(
v
){
// this.text=items.map(u=>u.label).join('/');
},
}
}
</
script
>
<
style
lang=
"less"
>
</
style
>
\ No newline at end of file
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