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
f3cf84a3
Commit
f3cf84a3
authored
Oct 20, 2020
by
仇晓婷
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
bug
parent
669c07ff
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
885 additions
and
802 deletions
+885
-802
index.vue
pages/aps/complete/index.vue
+108
-95
index.vue
pages/aps/stream/index.vue
+160
-149
add.vue
pages/qc/certificate/waitOpened/add.vue
+4
-2
index.vue
pages/resource/resource/index.vue
+604
-547
index.vue
pages/technology/details/routingsupporting/index.vue
+9
-9
No files found.
pages/aps/complete/index.vue
View file @
f3cf84a3
<
template
>
<div
class=
"scheduling"
>
<div
class=
"aps-l"
>
<Row
class=
"row-p"
>
<Col
:span=
"10"
class=
"chan-chi"
>
整机排产-排产池
</Col>
<Col
:span=
"14"
class=
"l-ringht"
>
<!--
<RadioGroup
v-model=
"status"
type=
"button"
@
on-change=
"changeStatus"
size=
"small"
>
<div>
<div
class=
"back-href"
>
<a
@
click=
"viewClose"
>
<Icon
type=
"ios-undo-outline"
size=
"24"
/>
返回计划管理
</a>
</div>
<div
class=
"scheduling"
>
<div
class=
"aps-l"
>
<Row
class=
"row-p"
>
<Col
:span=
"10"
class=
"chan-chi"
>
整机排产-排产池
</Col>
<Col
:span=
"14"
class=
"l-ringht"
>
<!--
<RadioGroup
v-model=
"status"
type=
"button"
@
on-change=
"changeStatus"
size=
"small"
>
<Radio
label=
"0"
>
未排产
</Radio>
-->
<!--
<Radio
label=
"2"
>
已排查
</Radio>
-->
<!--
<Radio
label=
"-1"
>
全部
</Radio>
-->
<!--
</RadioGroup>
-->
</Col>
</Row>
<div
class=
"left-down"
>
<div
class=
"left-body"
v-for=
"(li, index) in list"
:key=
"index"
:class=
"li.checked == true ? 'addclass' : ''"
>
<Row
class=
"title-i"
>
<Col
:span=
"20"
class=
"order-code"
>
<Checkbox
v-model=
"li.checked"
@
on-change=
"checkData(li)"
:disabled=
"li.status == 0 ? false : true"
>
订单号:
{{
li
.
mesCode
}}
</Checkbox
>
</Col>
<Col
:span=
"4"
class=
"order-ringht"
>
<Icon
type=
"md-close"
@
click=
"close(li.id)"
/>
</Col>
</Row>
<div
class=
"fa"
>
产品名称:
{{
li
.
productName
}}
</div>
<div
class=
"time-s"
>
产品数量:
{{
li
.
quantity
}}
</div>
<!--
<div
class=
"time-s"
>
<!--
<Radio
label=
"2"
>
已排查
</Radio>
-->
<!--
<Radio
label=
"-1"
>
全部
</Radio>
-->
<!--
</RadioGroup>
-->
</Col>
</Row>
<div
class=
"left-down"
>
<div
class=
"left-body"
v-for=
"(li, index) in list"
:key=
"index"
:class=
"li.checked == true ? 'addclass' : ''"
>
<Row
class=
"title-i"
>
<Col
:span=
"20"
class=
"order-code"
>
<Checkbox
v-model=
"li.checked"
@
on-change=
"checkData(li)"
:disabled=
"li.status == 0 ? false : true"
>
订单号:
{{
li
.
mesCode
}}
</Checkbox
>
</Col>
<Col
:span=
"4"
class=
"order-ringht"
>
<Icon
type=
"md-close"
@
click=
"close(li.id)"
/>
</Col>
</Row>
<div
class=
"fa"
>
产品名称:
{{
li
.
productName
}}
</div>
<div
class=
"time-s"
>
产品数量:
{{
li
.
quantity
}}
</div>
<!--
<div
class=
"time-s"
>
<span>
工序:
{{
li
.
drawnNumber
}}
</span>
</div>
-->
<div
class=
"time-s"
>
{{
li
.
demandFinishDate
}}
~
{{
li
.
demandStartDate
}}
<div
class=
"time-s"
>
{{
li
.
demandFinishDate
}}
~
{{
li
.
demandStartDate
}}
</div>
</div>
</div>
</div>
</div
>
<div
class=
"aps-r"
v-show=
"showSet"
>
<div
class=
"r-title"
>
排产设置盘
</div
>
<Form
:model=
"formItem"
:label-width=
"100
"
>
<FormItem
label=
"工时"
>
<DatePicker
type=
"datetimerange
"
format=
"yyyy-MM-dd HH:mm:ss
"
placeholder=
"请选择工时
"
@
on-change=
"changeFormat
"
v-model=
"formItem.time
"
style=
"width: 300px"
></DatePicker
>
</FormItem
>
<FormItem
label=
"类型
"
>
<RadioGroup
v-model=
"formItem.radio"
>
<Radio
label=
"0"
>
人员
</Radio>
<
Radio
label=
"1"
>
班组
</Radio
>
</
RadioGroup
>
</FormItem
>
<FormItem
v-if=
"formItem.radio == 0"
>
<
UserSelect
v-model=
"user"
:multiple=
"true"
/
>
</FormItem
>
<FormItem
label=
"班组"
v-if=
"formItem.radio == 1"
>
<!--
<DepartmentSelect
:type=
"3"
v-model=
"formItem.shopId"
/>
-->
<Select
v-model=
"formItem.shopId
"
placeholder=
"请选择
"
style=
"width: 300px"
>
<Option
v-for=
"(item, index) in listClass
"
:key=
"index
"
:value=
"item.value
"
:label=
"item.label
"
style=
"display: none"
></Option>
<Tree
key=
"mytree
"
:data=
"workShop
"
ref=
"mytree
"
:render=
"renderContent"
></Tree
>
</
Select
>
</FormItem
>
<FormItem
label=
"备注"
>
<Input
v-model=
"formItem.remark
"
type=
"textarea
"
:autosize=
"
{ minRows: 2, maxRows: 5 }
"
placeholder="请输入备注信息"
>
</Input
>
</
FormItem>
<FormItem
>
<Button
style=
"margin-left: 8px"
@
click=
"closeOk"
>
取消
</Button>
<
Button
type=
"primary"
@
click=
"lowerHair"
v-noClick
>
下发
</Button
>
</Form
Item
>
</
Form
>
<div
class=
"aps-r"
v-show=
"showSet"
>
<div
class=
"r-title"
>
排产设置盘
</div
>
<Form
:model=
"formItem"
:label-width=
"100"
>
<FormItem
label=
"工时
"
>
<DatePicker
type=
"datetimerange"
format=
"yyyy-MM-dd HH:mm:ss
"
placeholder=
"请选择工时
"
@
on-change=
"changeFormat
"
v-model=
"formItem.time
"
style=
"width: 300px
"
></DatePicker>
</FormItem
>
<FormItem
label=
"类型"
>
<RadioGroup
v-model=
"formItem.radio
"
>
<Radio
label=
"0"
>
人员
</Radio
>
<Radio
label=
"1"
>
班组
</Radio>
<
/RadioGroup
>
</
FormItem
>
<FormItem
v-if=
"formItem.radio == 0"
>
<UserSelect
v-model=
"user"
:multiple=
"true"
/
>
<
/FormItem
>
<FormItem
label=
"班组"
v-if=
"formItem.radio == 1"
>
<!--
<DepartmentSelect
:type=
"3"
v-model=
"formItem.shopId"
/>
--
>
<Select
v-model=
"formItem.shopId"
placeholder=
"请选择
"
style=
"width: 300px
"
>
<Option
v-for=
"(item, index) in listClass"
:key=
"index
"
:value=
"item.value
"
:label=
"item.label
"
style=
"display: none
"
></Option>
<Tree
key=
"mytree"
:data=
"workShop
"
ref=
"mytree
"
:render=
"renderContent
"
></Tree>
</Select
>
</
FormItem
>
<FormItem
label=
"备注"
>
<Input
v-model=
"formItem.remark"
type=
"textarea
"
:autosize=
"
{ minRows: 2, maxRows: 5 }
"
placeholder="请输入备注信息
"
>
</Input>
</FormItem
>
<
FormItem>
<Button
style=
"margin-left: 8px"
@
click=
"closeOk"
>
取消
</Button
>
<Button
type=
"primary"
@
click=
"lowerHair"
v-noClick
>
下发
</Button>
<
/FormItem
>
</Form>
</
div
>
</div>
</div>
</
template
>
...
...
@@ -126,7 +133,7 @@ export default {
showSet
:
false
,
// userName: ""
},
user
:
''
,
user
:
""
,
showSet
:
false
,
// listGroup: [
// {
...
...
@@ -169,6 +176,9 @@ export default {
this
.
orderlist
(
0
);
},
methods
:
{
viewClose
()
{
this
.
$router
.
push
(
"/aps/plan"
);
},
// 过滤条件
changeStatus
(
name
)
{
this
.
status
=
name
;
...
...
@@ -338,6 +348,9 @@ export default {
</
script
>
<
style
lang=
"less"
scoped
>
@import "../../../assets/css/custom.less";
.back-href {
height: 35px;
}
.addclass {
border-color: rgba(38, 128, 235, 0.2) !important;
.title-i {
...
...
pages/aps/stream/index.vue
View file @
f3cf84a3
<
template
>
<div
class=
"scheduling"
>
<div
class=
"aps-l"
>
<Row
class=
"row-p"
>
<Col
:span=
"9"
class=
"chan-chi"
>
流水排产-排产池
</Col>
<Col
:span=
"15"
class=
"l-ringht"
>
<!--
<RadioGroup
v-model=
"status"
type=
"button"
@
on-change=
"changeStatus"
size=
"small"
>
<div>
<div
class=
"back-href"
>
<a
@
click=
"viewClose"
>
<Icon
type=
"ios-undo-outline"
size=
"24"
/>
返回计划管理
</a>
</div>
<div
class=
"scheduling"
>
<div
class=
"aps-l"
>
<Row
class=
"row-p"
>
<Col
:span=
"9"
class=
"chan-chi"
>
流水排产-排产池
</Col>
<Col
:span=
"15"
class=
"l-ringht"
>
<!--
<RadioGroup
v-model=
"status"
type=
"button"
@
on-change=
"changeStatus"
size=
"small"
>
<Radio
label=
"0"
>
未排产
</Radio>
-->
<!--
<Radio
label=
"2"
>
已排查
</Radio>
-->
<!--
<Radio
label=
"-1"
>
全部
</Radio>
-->
<!--
</RadioGroup>
-->
</Col>
</Row>
<div
class=
"left-down"
>
<div
class=
"left-body"
v-for=
"(li, index) in list"
:key=
"index"
@
click=
"listData(li, index)"
:class=
"isactive == index ? 'addclass' : ''"
>
<Row
class=
"title-i"
>
<Col
:span=
"20"
class=
"order-code"
>
订单号:
{{
li
.
mesCode
}}
</Col>
<Col
:span=
"4"
class=
"order-ringht"
>
<Icon
type=
"md-close"
@
click=
"close(li.id)"
/>
</Col>
</Row>
<div
class=
"fa"
>
产品名称:
{{
li
.
productName
}}
</div>
<div
class=
"time-s"
>
<!--
<Icon
type=
"ios-copy"
/>
-->
<span>
工序:
{{
li
.
drawnNumber
}}
</span>
</div>
<div
class=
"time-s"
>
{{
li
.
demandFinishDate
}}
—
{{
li
.
demandStartDate
}}
<!--
<Radio
label=
"2"
>
已排查
</Radio>
-->
<!--
<Radio
label=
"-1"
>
全部
</Radio>
-->
<!--
</RadioGroup>
-->
</Col>
</Row>
<div
class=
"left-down"
>
<div
class=
"left-body"
v-for=
"(li, index) in list"
:key=
"index"
@
click=
"listData(li, index)"
:class=
"isactive == index ? 'addclass' : ''"
>
<Row
class=
"title-i"
>
<Col
:span=
"20"
class=
"order-code"
>
订单号:
{{
li
.
mesCode
}}
</Col>
<Col
:span=
"4"
class=
"order-ringht"
>
<Icon
type=
"md-close"
@
click=
"close(li.id)"
/>
</Col>
</Row>
<div
class=
"fa"
>
产品名称:
{{
li
.
productName
}}
</div>
<div
class=
"time-s"
>
<!--
<Icon
type=
"ios-copy"
/>
-->
<span>
工序:
{{
li
.
drawnNumber
}}
</span>
</div>
<div
class=
"time-s"
>
{{
li
.
demandFinishDate
}}
—
{{
li
.
demandStartDate
}}
</div>
</div>
</div>
</div>
</div>
<div
class=
"aps-r"
>
<!--
<div
class=
"g-list"
>
工序列表
</div>
-->
<Row
class=
"g-list"
>
<Col
:span=
"2"
>
<span
class=
"cha-chi"
>
工序列表
</span>
</Col>
<Col
:span=
"16"
>
<span></span>
</Col>
<Col
:span=
"6"
>
<RadioGroup
v-model=
"mode"
type=
"button"
size=
"small"
@
on-change=
"changeMode"
>
<Radio
:label=
"1"
>
一级排产
</Radio>
<Radio
:label=
"2"
>
二级排产
</Radio>
</RadioGroup>
<Button
type=
"primary"
@
click=
"lowerHair"
:disabled=
"!allow"
v-if=
"showXia"
>
下发
</Button
>
</Col>
</Row>
<Row
class=
"right-body"
>
<Col
class=
"list"
span=
"24"
>
<Timeline>
<TimelineItem
v-for=
"(item, index) in result"
:key=
"index"
>
<Badge
:count=
"item.seq"
slot=
"dot"
:type=
"type(index)"
></Badge>
<div
class=
"set-name"
>
<span
@
click=
"sets(item, index)"
class=
"mr20"
:class=
"active == index ? 'gongTitle' : ''"
>
工序名称:
{{
item
.
name
}}
</span
>
<op
title=
"拆分工序"
@
click=
"split(item, index)"
type=
"icon"
icon=
"ios-cut"
v-if=
"item.quantity > 1 && !item.chai"
></op>
<op
title=
"移除"
@
click=
"remove(item, index)"
type=
"icon"
icon=
"ios-trash"
oprate=
"delete"
v-if=
"item.chai"
></op>
</div>
<div
class=
"aps-r"
>
<!--
<div
class=
"g-list"
>
工序列表
</div>
-->
<Row
class=
"g-list"
>
<Col
:span=
"2"
>
<span
class=
"cha-chi"
>
工序列表
</span>
</Col>
<Col
:span=
"16"
>
<span></span>
</Col>
<Col
:span=
"6"
>
<RadioGroup
v-model=
"mode"
type=
"button"
size=
"small"
@
on-change=
"changeMode"
>
<Radio
:label=
"1"
>
一级排产
</Radio>
<Radio
:label=
"2"
>
二级排产
</Radio>
</RadioGroup>
<Button
type=
"primary"
@
click=
"lowerHair"
:disabled=
"!allow"
v-if=
"showXia"
>
下发
</Button
>
</Col>
</Row>
<Row
class=
"right-body"
>
<Col
class=
"list"
span=
"24"
>
<Timeline>
<TimelineItem
v-for=
"(item, index) in result"
:key=
"index"
>
<Badge
:count=
"item.seq"
slot=
"dot"
:type=
"type(index)"
></Badge>
<div
class=
"set-name"
>
<span
@
click=
"sets(item, index)"
class=
"mr20"
:class=
"active == index ? 'gongTitle' : ''"
>
工序名称:
{{
item
.
name
}}
</span
>
<op
title=
"拆分工序"
@
click=
"split(item, index)"
type=
"icon"
icon=
"ios-cut"
v-if=
"item.quantity > 1 && !item.chai"
></op>
<op
title=
"移除"
@
click=
"remove(item, index)"
type=
"icon"
icon=
"ios-trash"
oprate=
"delete"
v-if=
"item.chai"
></op>
</div>
<div
class=
"content"
>
数量:
{{
item
.
quantity
}}
</div>
<div
class=
"content"
>
数量:
{{
item
.
quantity
}}
</div>
<div
v-show=
"item.userIds"
class=
"content"
>
人员:
<span
v-for=
"(u, j) in item.userIds"
:key=
"j"
>
<User
:value=
"u"
></User>
</span>
</div>
<div
v-show=
"item.shopName"
class=
"content"
>
班组:
{{
item
.
shopName
}}
</div>
<div
v-show=
"item.beginTime"
class=
"content"
>
时间:
{{
item
.
beginTime
}}
——
{{
item
.
endTime
}}
</div>
<div
v-show=
"item.remark"
class=
"content"
>
备注:
{{
item
.
remark
}}
</div>
<!--
<div>
工序号:
{{
item
.
task_seq
}}
</div>
-->
</TimelineItem>
</Timeline>
<div>
<Drawer
title=
"排产设置盘"
:closable=
"false"
v-model=
"set"
width=
"55%"
>
<Set
:mode=
"mode"
:detailId=
"detailId"
:indexId=
"indexId"
@
closeOk=
"closeOk"
ref=
"setObj"
@
on-DetermineOk=
"DetermineOk"
></Set>
</Drawer>
</div>
<!--
<List
:result=
"result"
></List>
-->
</Col>
</Row>
<div
v-show=
"item.userIds"
class=
"content"
>
人员:
<span
v-for=
"(u, j) in item.userIds"
:key=
"j"
>
<User
:value=
"u"
></User>
</span>
</div>
<div
v-show=
"item.shopName"
class=
"content"
>
班组:
{{
item
.
shopName
}}
</div>
<div
v-show=
"item.beginTime"
class=
"content"
>
时间:
{{
item
.
beginTime
}}
——
{{
item
.
endTime
}}
</div>
<div
v-show=
"item.remark"
class=
"content"
>
备注:
{{
item
.
remark
}}
</div>
<!--
<div>
工序号:
{{
item
.
task_seq
}}
</div>
-->
</TimelineItem>
</Timeline>
<div>
<Drawer
title=
"排产设置盘"
:closable=
"false"
v-model=
"set"
width=
"55%"
>
<Set
:mode=
"mode"
:detailId=
"detailId"
:indexId=
"indexId"
@
closeOk=
"closeOk"
ref=
"setObj"
@
on-DetermineOk=
"DetermineOk"
></Set>
</Drawer>
</div>
<!--
<List
:result=
"result"
></List>
-->
</Col>
</Row>
</div>
<!-- 拆分 fenModel -->
<Modal
v-model=
"chaiModal"
title=
"拆分工序"
:width=
"400"
:mask-closable=
"false"
ok-text=
"拆分"
@
on-ok=
"okChai()"
>
拆分数量:
<InputNumber
v-model=
"chaiNum"
:min=
"1"
:max=
"maxnum"
></InputNumber>
<Slider
v-if=
"maxnum > 1"
v-model=
"chaiNum"
:min=
"1"
:max=
"maxnum"
></Slider>
</Modal>
</div>
<!-- 拆分 fenModel -->
<Modal
v-model=
"chaiModal"
title=
"拆分工序"
:width=
"400"
:mask-closable=
"false"
ok-text=
"拆分"
@
on-ok=
"okChai()"
>
拆分数量:
<InputNumber
v-model=
"chaiNum"
:min=
"1"
:max=
"maxnum"
></InputNumber>
<Slider
v-if=
"maxnum > 1"
v-model=
"chaiNum"
:min=
"1"
:max=
"maxnum"
></Slider>
</Modal>
</div>
</
template
>
<
script
>
...
...
@@ -197,6 +205,9 @@ export default {
this
.
orderlist
(
0
);
},
methods
:
{
viewClose
()
{
this
.
$router
.
push
(
"/aps/plan"
);
},
// 排产池过滤条件
changeStatus
(
a
)
{
this
.
status
=
a
;
...
...
pages/qc/certificate/waitOpened/add.vue
View file @
f3cf84a3
...
...
@@ -211,7 +211,7 @@ export default {
disabled
:
false
,
entity
:
{
id
:
0
,
status
:
""
,
status
:
0
,
items
:
[],
},
rules
:
{
...
...
@@ -225,6 +225,7 @@ export default {
columns
:
[
{
title
:
"序号"
,
// key: "index",
type
:
"index"
,
width
:
80
,
align
:
"center"
,
...
...
@@ -308,7 +309,8 @@ export default {
let
item
=
[];
item
=
this
.
checkList
;
if
(
item
)
{
item
.
forEach
((
c
)
=>
{
item
.
forEach
((
c
,
index
)
=>
{
c
.
index
=
index
;
return
delete
c
.
id
;
});
}
...
...
pages/resource/resource/index.vue
View file @
f3cf84a3
<
template
>
<Layout
class=
"full"
>
<Layout
class=
"full"
>
<Sider
hide-trigger
v-if=
"showMenu"
class=
"menu_side"
width=
"300"
>
<StoreTree
@
on-hide=
"onHide"
@
on-select=
"productSearch"
/>
<StoreTree
@
on-hide=
"onHide"
@
on-select=
"productSearch"
/>
</Sider>
<!--
<Icon
type=
"icon iconfont icondaochu"
size=
"24"
/>
-->
<div
v-if=
"!showMenu"
class=
"show_menu"
>
<a
class=
"menu_play fr"
@
click=
"showMenuFn"
title=
"展开"
>
<Icon
type=
"ios-arrow-forward"
size=
"24"
/>
</a>
<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"
:action=
"action"
:conditions=
"easySearch"
:batch=
"true"
:format=
"checkData"
@
all-change=
"allchange"
@
on-selection-change=
"onSelect"
exportTitle=
"制造资源"
>
<template
slot=
"easySearch"
>
<Form
ref=
"formInline"
:model=
"easySearch"
inline
>
<FormItem
prop=
"keys"
>
<Input
clearable
placeholder=
"请输入资源名称/资源编码/编码"
v-model
.
trim=
"easySearch.keys.value"
v-width=
"260"
/>
</FormItem>
<FormItem>
<Button
type=
"primary"
@
click=
"search"
>
查询
</Button>
</FormItem>
<FormItem>
<a
href=
"#"
@
click=
"lendingRecord"
class=
"ml20"
>
借出记录
</a>
</FormItem>
</Form>
</
template
>
<
template
slot=
"buttons"
>
<Button
type=
"primary"
@
click=
"add"
>
入库
</Button>
<!--
<Button
type=
"primary"
@
click=
"returnModel=true"
>
归还
</Button>
-->
<Badge
:count=
"this.$store.state.count"
overflow-count=
"99"
style=
"margin-right:5px;"
:offset=
'postion'
>
<Button
icon=
"md-cart"
@
click=
"showCart"
>
借出车
</Button>
</Badge>
<Button
@
click=
"openModalIm"
>
导入
</Button>
</
template
>
<
template
slot=
"batch"
>
<Button
type=
"primary"
class=
"mr10 ml10"
@
click=
"addCart"
>
加入借出车
</Button>
</
template
>
</DataGrid>
<Modal
v-model=
"modal"
:title=
"title"
width=
"1200"
footer-hide
:fullscreen=
"fscreeen"
>
<component
:is=
"detail"
:eid=
"curId"
:rootName=
"rootName"
:storeTitle=
"storeTitle"
:materialType=
"materialType"
:codeRuleType=
"codeRuleType"
:storeId=
"storeId"
:mcode=
"mCode"
:cartList=
"this.$u.clone(this.$store.state.cart)"
@
on-close=
"cancel"
@
on-ok=
"ok"
@
substr=
"substr"
/>
</Modal>
<ImportExcel
ref=
"importExcel"
@
on-get-data=
"getData"
modalTitle=
"制造资源"
:columns=
"columns"
:open=
"ModalIm"
@
on-cancel=
"ModalImCancel"
@
on-ok=
"ok"
/>
<Content
class=
"content"
:class=
"!showMenu ? 'con_bord' : ''"
>
<DataGrid
:columns=
"columns"
ref=
"grid"
:action=
"action"
:conditions=
"easySearch"
:batch=
"true"
:format=
"checkData"
@
all-change=
"allchange"
@
on-selection-change=
"onSelect"
exportTitle=
"制造资源"
>
<template
slot=
"easySearch"
>
<Form
ref=
"formInline"
:model=
"easySearch"
inline
>
<FormItem
prop=
"keys"
>
<Input
clearable
placeholder=
"请输入资源名称/资源编码/编码"
v-model
.
trim=
"easySearch.keys.value"
v-width=
"260"
/>
</FormItem>
<FormItem>
<Button
type=
"primary"
@
click=
"search"
>
查询
</Button>
</FormItem>
<FormItem>
<a
href=
"#"
@
click=
"lendingRecord"
class=
"ml20"
>
借出记录
</a>
</FormItem>
</Form>
</
template
>
<
template
slot=
"buttons"
>
<Button
type=
"primary"
@
click=
"add"
>
入库
</Button>
<!--
<Button
type=
"primary"
@
click=
"returnModel=true"
>
归还
</Button>
-->
<Badge
:count=
"this.$store.state.count"
overflow-count=
"99"
style=
"margin-right: 5px"
:offset=
"postion"
>
<Button
icon=
"md-cart"
@
click=
"showCart"
>
借出车
</Button>
</Badge>
<Button
@
click=
"openModalIm"
>
导入
</Button>
</
template
>
<
template
slot=
"batch"
>
<Button
type=
"primary"
class=
"mr10 ml10"
@
click=
"addCart"
>
加入借出车
</Button
>
</
template
>
</DataGrid>
<Modal
v-model=
"modal"
:title=
"title"
width=
"1200"
footer-hide
:fullscreen=
"fscreeen"
>
<component
:is=
"detail"
:eid=
"curId"
:rootName=
"rootName"
:storeTitle=
"storeTitle"
:materialType=
"materialType"
:codeRuleType=
"codeRuleType"
:storeId=
"storeId"
:mcode=
"mCode"
:cartList=
"this.$u.clone(this.$store.state.cart)"
@
on-close=
"cancel"
@
on-ok=
"ok"
@
substr=
"substr"
/>
</Modal>
<ImportExcel
ref=
"importExcel"
@
on-get-data=
"getData"
modalTitle=
"制造资源"
:columns=
"columns"
:open=
"ModalIm"
@
on-cancel=
"ModalImCancel"
@
on-ok=
"ok"
/>
</Content>
</Layout>
</Layout>
</template>
<
script
>
import
Api
from
"./api"
;
import
Search
from
"./search"
;
export
default
{
name
:
"list"
,
components
:
{
Search
,
},
// head: {
// title: "库存表",
// author: "henq",
// description: "stock 7/13/2020 11:48:09 AM",
// },
data
()
{
return
{
action
:
Api
.
index
,
showMenu
:
true
,
easySearch
:
{
keys
:
{
op
:
"nameOfResource,code,resourceCode"
,
value
:
null
,
},
},
postion
:
[
10
,
10
],
fscreeen
:
false
,
modal
:
false
,
title
:
"新增"
,
detail
:
null
,
curId
:
0
,
storeId
:
null
,
rootName
:
""
,
storeTitle
:
""
,
materialType
:
""
,
mCode
:
""
,
columns
:
[{
key
:
"selection"
,
type
:
"selection"
,
width
:
50
,
align
:
"center"
,
},
{
key
:
"id"
,
title
:
this
.
l
(
"id"
),
hide
:
true
,
align
:
"left"
,
sortable
:
true
,
},
{
key
:
"ico"
,
title
:
" "
,
align
:
"center"
,
easy
:
true
,
high
:
true
,
width
:
60
,
render
:
(
h
,
params
)
=>
{
return
h
(
"div"
,
{
class
:
"action"
,
},
[
h
(
params
.
row
.
numberAvailable
>
0
?
"op"
:
""
,
{
attrs
:
{
icon
:
"ios-cart-outline"
,
type
:
"icon"
,
},
on
:
{
click
:
()
=>
this
.
addCart
(
params
.
row
),
},
}),
]
);
},
},
{
key
:
"resourceCode"
,
title
:
this
.
l
(
"resourceId"
),
align
:
"left"
,
easy
:
true
,
},
{
key
:
"nameOfResource"
,
title
:
this
.
l
(
"nameOfResource"
),
align
:
"left"
,
easy
:
true
,
tooltip
:
true
,
},
{
key
:
"code"
,
title
:
"编码"
,
align
:
"left"
,
},
// {
// key: "creationTime",
// title: this.l("creationTime"),
// sortable: true,
// hide: true,
// align: "left",
// },
{
key
:
"creatorUserId"
,
title
:
this
.
l
(
"creatorUserId"
),
hide
:
false
,
type
:
"user"
,
align
:
"left"
,
},
{
key
:
"lastModificationTime"
,
title
:
this
.
l
(
"lastModificationTime"
),
hide
:
true
,
align
:
"left"
,
},
{
key
:
"lastModifierUserId"
,
title
:
this
.
l
(
"lastModifierUserId"
),
hide
:
true
,
align
:
"left"
,
},
{
key
:
"isDeleted"
,
title
:
this
.
l
(
"isDeleted"
),
hide
:
true
,
align
:
"left"
,
},
{
key
:
"deletionTime"
,
title
:
this
.
l
(
"deletionTime"
),
hide
:
true
,
align
:
"left"
,
},
{
key
:
"deleterUserId"
,
title
:
this
.
l
(
"deleterUserId"
),
hide
:
true
,
align
:
"left"
,
},
// {
// key: "specifications",
// title: this.l("specifications"),
// align: "left",
// easy: true,
// high: true,
// },
{
key
:
"totalNum"
,
title
:
this
.
l
(
"totalNum"
),
align
:
"right"
,
easy
:
true
,
},
{
key
:
"numberAvailable"
,
title
:
this
.
l
(
"numberAvailable"
),
align
:
"right"
,
easy
:
true
,
},
{
key
:
"measuringUnit"
,
title
:
this
.
l
(
"measuringUnit"
),
align
:
"left"
,
easy
:
true
,
high
:
true
,
hide
:
true
,
},
{
key
:
"qualityCharacteristics"
,
title
:
this
.
l
(
"qualityCharacteristics"
),
align
:
"left"
,
easy
:
true
,
high
:
true
,
hide
:
true
,
},
{
key
:
"batchNo"
,
title
:
this
.
l
(
"batchNo"
),
align
:
"left"
,
easy
:
true
,
high
:
true
,
hide
:
true
,
},
{
key
:
"storeId"
,
title
:
this
.
l
(
"storeId"
),
align
:
"left"
,
high
:
true
,
hide
:
true
,
},
{
key
:
"storeTitle"
,
title
:
this
.
l
(
"storeTitle"
),
align
:
"left"
,
},
{
key
:
"state"
,
title
:
this
.
l
(
"state"
),
align
:
"center"
,
code
:
"mes_xingchi_resource.resource.state"
,
},
// {
// key: "resourceType",
// title: this.l("resourceType"),
// align: "left",
// high: true,
// code: "mes_xingchi_resource.resource.resource_type",
// },
{
title
:
"操作"
,
width
:
190
,
align
:
"center"
,
key
:
"action"
,
hide
:
false
,
render
:
(
h
,
params
)
=>
{
return
h
(
"div"
,
{
class
:
"action"
,
},
[
h
(
"op"
,
{
attrs
:
{
oprate
:
"delete"
,
title
:
"删除"
,
},
class
:
params
.
row
.
totalNum
===
params
.
row
.
numberAvailable
?
"remove"
:
"disable"
,
on
:
{
click
:
()
=>
this
.
remove
(
params
.
row
),
},
},
"删除"
),
h
(
"op"
,
{
attrs
:
{
oprate
:
"detail"
,
title
:
"查看日志"
,
},
on
:
{
click
:
()
=>
this
.
logDetail
(
params
.
row
.
id
),
},
},
"查看日志"
),
]
);
},
},
],
treeData
:
[],
ocolumn
:
[],
treeHeight
:
""
,
ids
:
[],
list
:
[],
cartList
:
[],
cartListCount
:
0
,
selectRows
:
[],
//导入
ModalIm
:
false
,
codeRuleType
:
null
,
};
},
created
()
{
this
.
treeHeight
=
window
.
innerHeight
-
150
;
},
mounted
()
{
window
.
onresize
=
()
=>
{
///浏览器窗口大小变化
return
(()
=>
{
window
.
screenHeight
=
window
.
innerHeight
;
this
.
treeHeight
=
window
.
screenHeight
-
150
;
})();
};
},
async
fetch
({
store
,
params
})
{
await
store
.
dispatch
(
"loadDictionary"
);
// 加载数据字典
},
computed
:
{},
methods
:
{
checkData
(
items
)
{
// console.warn("items", items);
return
items
.
map
((
u
)
=>
{
u
.
_disabled
=
u
.
numberAvailable
<=
0
;
u
.
_checked
=
false
;
return
u
;
});
name
:
"list"
,
components
:
{
Search
,
},
// head: {
// title: "库存表",
// author: "henq",
// description: "stock 7/13/2020 11:48:09 AM",
// },
data
()
{
return
{
action
:
Api
.
index
,
showMenu
:
true
,
easySearch
:
{
keys
:
{
op
:
"nameOfResource,code,resourceCode"
,
value
:
null
,
},
allchange
(
item
)
{
this
.
selectRows
=
[];
this
.
selectRows
=
item
;
},
postion
:
[
10
,
10
],
fscreeen
:
false
,
modal
:
false
,
title
:
"新增"
,
detail
:
null
,
curId
:
0
,
storeId
:
null
,
rootName
:
""
,
storeTitle
:
""
,
materialType
:
""
,
mCode
:
""
,
columns
:
[
{
key
:
"selection"
,
type
:
"selection"
,
width
:
50
,
align
:
"center"
,
},
onSelect
(
item
)
{
this
.
selectRows
=
[];
this
.
selectRows
=
item
;
{
key
:
"id"
,
title
:
this
.
l
(
"id"
),
hide
:
true
,
align
:
"left"
,
sortable
:
true
,
},
//加入借出车
addCart
(
arr
)
{
this
.
cartListCount
=
this
.
$store
.
state
.
count
;
this
.
cartList
=
this
.
$store
.
state
.
cart
;
// console.log(this.cartListCount);
// console.log(this.cartList);
// console.log(this.selectRows);
if
(
arr
.
id
)
{
let
id
=
arr
.
id
;
if
(
arr
.
numberAvailable
>
0
)
{
const
index
=
this
.
$store
.
state
.
cart
.
findIndex
(
function
(
item
)
{
return
item
.
id
===
id
;
});
// console.log(index);
if
(
index
==
-
1
)
{
arr
.
numberAvailable1
=
arr
.
numberAvailable
;
//用于最大借出数量
this
.
cartList
.
push
(
arr
);
this
.
cartListCount
+=
1
;
this
.
$store
.
commit
(
"setCart"
,
this
.
cartList
);
this
.
$store
.
commit
(
"setCartCount"
,
this
.
cartListCount
);
this
.
$Message
.
success
(
"加入借出车成功"
);
}
else
{
this
.
$Message
.
error
(
"已加入借出车"
);
}
}
else
{
this
.
$Message
.
error
(
"资源无库存"
);
}
}
else
{
// this.$Message.success("已加入借出车,请在借出车查看");
let
arr
=
this
.
selectRows
.
concat
(
this
.
cartList
);
//两个数组对象合并
let
newArr
=
[];
//盛放去重后数据的新数组
arr
.
forEach
(
function
(
item
)
{
let
hasPush
=
false
;
newArr
.
forEach
((
item2
,
index
,
thisArr
)
=>
{
if
(
item
.
id
==
item2
.
id
)
{
hasPush
=
true
;
thisArr
[
index
]
=
{
...
item
,
...
item2
,
};
return
;
}
});
!
hasPush
&&
newArr
.
push
(
item
);
});
this
.
cartList
=
newArr
;
this
.
cartListCount
=
newArr
.
length
;
this
.
$store
.
commit
(
"setCart"
,
this
.
cartList
);
this
.
$store
.
commit
(
"setCartCount"
,
this
.
cartListCount
);
this
.
$refs
.
grid
.
load
();
this
.
$refs
.
grid
.
footerToolbar
=
false
;
}
{
key
:
"ico"
,
title
:
" "
,
align
:
"center"
,
easy
:
true
,
high
:
true
,
width
:
60
,
render
:
(
h
,
params
)
=>
{
return
h
(
"Tooltip"
,
{
class
:
"action"
,
props
:
{
content
:
"请加入借出车"
,
placement
:
"top"
,
},
},
[
h
(
params
.
row
.
numberAvailable
>
0
?
"op"
:
""
,
{
attrs
:
{
icon
:
"ios-cart-outline"
,
type
:
"icon"
,
},
on
:
{
click
:
()
=>
this
.
addCart
(
params
.
row
),
},
}),
]
);
},
},
//移除借出车
substr
(
value
,
index
)
{
// console.log(value);
// console.log(index);
if
(
index
>
-
1
)
{
this
.
cartListCount
-=
value
;
this
.
cartList
.
splice
(
index
,
1
);
if
(
value
==
0
||
this
.
cartList
.
length
==
0
)
{
this
.
cartListCount
=
0
;
}
this
.
$store
.
commit
(
"setCart"
,
this
.
cartList
);
this
.
$store
.
commit
(
"setCartCount"
,
this
.
cartListCount
);
}
else
{
this
.
cartListCount
=
0
;
this
.
cartList
=
[];
this
.
$store
.
commit
(
"setCart"
,
this
.
cartList
);
this
.
$store
.
commit
(
"setCartCount"
,
this
.
cartListCount
);
}
// console.log(this.$store.state.count);
// console.log(this.$store.state.cart);
{
key
:
"resourceCode"
,
title
:
this
.
l
(
"resourceId"
),
align
:
"left"
,
easy
:
true
,
},
showCart
()
{
if
(
this
.
$store
.
state
.
count
>
0
)
{
this
.
title
=
"借出车"
;
this
.
detail
=
()
=>
import
(
"./cart"
);
this
.
fscreeen
=
false
;
this
.
modal
=
true
;
}
else
{
this
.
$Message
.
error
(
"请将资源加入借出车"
);
}
{
key
:
"nameOfResource"
,
title
:
this
.
l
(
"nameOfResource"
),
align
:
"left"
,
easy
:
true
,
tooltip
:
true
,
},
lendingRecord
()
{
// window.open("/resource/resource/record", "_blank");
this
.
$router
.
push
(
"/resource/resource/record"
);
{
key
:
"code"
,
title
:
"编码"
,
align
:
"left"
,
},
ok
()
{
this
.
$refs
.
grid
.
load
();
this
.
modal
=
false
;
this
.
fscreeen
=
false
;
this
.
cartList
=
[];
// this.curId = 0;
// {
// key: "creationTime",
// title: this.l("creationTime"),
// sortable: true,
// hide: true,
// align: "left",
// },
{
key
:
"creatorUserId"
,
title
:
this
.
l
(
"creatorUserId"
),
hide
:
false
,
type
:
"user"
,
align
:
"left"
,
},
search
()
{
this
.
$refs
.
grid
.
reload
(
this
.
easySearch
);
{
key
:
"lastModificationTime"
,
title
:
this
.
l
(
"lastModificationTime"
),
hide
:
true
,
align
:
"left"
,
},
add
()
{
if
(
this
.
curId
)
{
if
(
this
.
codeRuleType
==
3
)
{
this
.
title
=
"新增"
;
this
.
detail
=
()
=>
import
(
"./add"
);
this
.
fscreeen
=
false
;
this
.
modal
=
true
;
}
else
{
this
.
$Message
.
error
(
"请先选择正确的库房类型"
);
}
}
else
{
this
.
$Message
.
error
(
"请先选择库房库位"
);
}
{
key
:
"lastModifierUserId"
,
title
:
this
.
l
(
"lastModifierUserId"
),
hide
:
true
,
align
:
"left"
,
},
copy
(
id
)
{
this
.
curId
=
id
;
this
.
title
=
"克隆"
;
this
.
detail
=
()
=>
import
(
"./add"
);
this
.
modal
=
true
;
{
key
:
"isDeleted"
,
title
:
this
.
l
(
"isDeleted"
),
hide
:
true
,
align
:
"left"
,
},
remove
(
id
)
{
Api
.
delete
(
id
).
then
((
r
)
=>
{
if
(
r
.
success
)
{
this
.
$refs
.
grid
.
load
();
this
.
$Message
.
success
(
"删除成功"
);
}
});
{
key
:
"deletionTime"
,
title
:
this
.
l
(
"deletionTime"
),
hide
:
true
,
align
:
"left"
,
},
logDetail
(
id
)
{
this
.
curId
=
id
;
this
.
title
=
"查看日志"
;
this
.
detail
=
()
=>
import
(
"./log"
);
this
.
fscreeen
=
false
;
this
.
modal
=
true
;
{
key
:
"deleterUserId"
,
title
:
this
.
l
(
"deleterUserId"
),
hide
:
true
,
align
:
"left"
,
},
cancel
()
{
this
.
curId
=
0
;
this
.
modal
=
false
;
// {
// key: "specifications",
// title: this.l("specifications"),
// align: "left",
// easy: true,
// high: true,
// },
{
key
:
"totalNum"
,
title
:
this
.
l
(
"totalNum"
),
align
:
"right"
,
easy
:
true
,
},
onHide
()
{
// this.$Message.info("收起左侧树")
this
.
showMenu
=
false
;
{
key
:
"numberAvailable"
,
title
:
this
.
l
(
"numberAvailable"
),
align
:
"right"
,
easy
:
true
,
},
showMenuFn
()
{
//this.$Message.info("展开左侧树")
this
.
showMenu
=
true
;
{
key
:
"measuringUnit"
,
title
:
this
.
l
(
"measuringUnit"
),
align
:
"left"
,
easy
:
true
,
high
:
true
,
hide
:
true
,
},
productSearch
(
item
,
ids
,
rootName
)
{
// console.log(item);
this
.
codeRuleType
=
null
;
this
.
curId
=
item
.
id
;
this
.
type
=
[];
this
.
type
=
item
.
codeRuleType
.
split
(
","
);
if
(
this
.
type
)
{
this
.
type
.
forEach
((
e
)
=>
{
if
(
e
==
3
)
{
this
.
codeRuleType
=
3
;
}
});
}
this
.
storeTitle
=
item
.
title
;
this
.
rootName
=
rootName
.
join
(
" / "
);
this
.
materialType
=
item
.
materialType
;
let
where
=
{
storeId
:
{
op
:
"In"
,
value
:
ids
,
},
};
this
.
$refs
.
grid
.
reload
(
where
);
{
key
:
"qualityCharacteristics"
,
title
:
this
.
l
(
"qualityCharacteristics"
),
align
:
"left"
,
easy
:
true
,
high
:
true
,
hide
:
true
,
},
setNum
(
row
)
{
this
.
curId
=
row
.
id
;
this
.
title
=
"预警"
;
// this.detail = () => import("./setNum");
this
.
fscreeen
=
false
;
this
.
modal
=
true
;
{
key
:
"batchNo"
,
title
:
this
.
l
(
"batchNo"
),
align
:
"left"
,
easy
:
true
,
high
:
true
,
hide
:
true
,
},
//批量导入start
//导入功能
openModalIm
()
{
this
.
ModalIm
=
true
;
{
key
:
"storeId"
,
title
:
this
.
l
(
"storeId"
),
align
:
"left"
,
high
:
true
,
hide
:
true
,
},
ModalImCancel
()
{
this
.
ModalIm
=
false
;
{
key
:
"storeTitle"
,
title
:
this
.
l
(
"storeTitle"
),
align
:
"left"
,
},
getData
(
val
)
{
let
url
=
`
${
resourceUrl
}
/resourceimportservice/import`
;
this
.
$refs
.
importExcel
.
deelData
(
url
,
this
.
columns
,
this
.
formatMethod
(
val
)
);
{
key
:
"state"
,
title
:
this
.
l
(
"state"
),
align
:
"center"
,
code
:
"mes_xingchi_resource.resource.state"
,
},
//根据页面二次处理数据
formatMethod
(
val
)
{
let
tempData
=
this
.
$u
.
clone
(
val
);
let
tempList
=
[];
tempData
.
forEach
((
ele
)
=>
{
let
obj
=
{
nameOfResource
:
ele
.
nameOfResource
?
ele
.
nameOfResource
:
""
,
resourceCode
:
ele
.
resourceCode
?
ele
.
resourceCode
:
""
,
code
:
ele
.
code
?
ele
.
code
:
""
,
totalNum
:
ele
.
totalNum
?
ele
.
totalNum
:
0
,
storeTitle
:
ele
.
storeTitle
?
ele
.
storeTitle
:
""
,
storeId
:
ele
.
storeId
?
ele
.
storeId
:
null
,
state
:
1
,
numberAvailable
:
ele
.
numberAvailable
?
ele
.
numberAvailable
:
0
,
json
:
{},
};
if
(
ele
.
nameOfResource
&&
ele
.
nameOfResource
!=
""
&&
ele
.
code
&&
ele
.
code
!=
""
&&
ele
.
resourceCode
&&
ele
.
resourceCode
!=
""
)
{
obj
.
ico
=
false
;
}
else
{
obj
.
ico
=
true
;
}
tempList
.
push
(
obj
);
});
return
tempList
;
// {
// key: "resourceType",
// title: this.l("resourceType"),
// align: "left",
// high: true,
// code: "mes_xingchi_resource.resource.resource_type",
// },
{
title
:
"操作"
,
width
:
190
,
align
:
"center"
,
key
:
"action"
,
hide
:
false
,
render
:
(
h
,
params
)
=>
{
return
h
(
"div"
,
{
class
:
"action"
,
},
[
h
(
"op"
,
{
attrs
:
{
oprate
:
"delete"
,
title
:
"删除"
,
},
class
:
params
.
row
.
totalNum
===
params
.
row
.
numberAvailable
?
"remove"
:
"disable"
,
on
:
{
click
:
()
=>
this
.
remove
(
params
.
row
),
},
},
"删除"
),
h
(
"op"
,
{
attrs
:
{
oprate
:
"detail"
,
title
:
"查看日志"
,
},
on
:
{
click
:
()
=>
this
.
logDetail
(
params
.
row
.
id
),
},
},
"查看日志"
),
]
);
},
},
//批量导入end
l
(
key
)
{
let
vkey
=
"resource"
+
"."
+
key
;
return
this
.
$t
(
vkey
)
||
key
;
],
treeData
:
[],
ocolumn
:
[],
treeHeight
:
""
,
ids
:
[],
list
:
[],
cartList
:
[],
cartListCount
:
0
,
selectRows
:
[],
//导入
ModalIm
:
false
,
codeRuleType
:
null
,
};
},
created
()
{
this
.
treeHeight
=
window
.
innerHeight
-
150
;
},
mounted
()
{
window
.
onresize
=
()
=>
{
///浏览器窗口大小变化
return
(()
=>
{
window
.
screenHeight
=
window
.
innerHeight
;
this
.
treeHeight
=
window
.
screenHeight
-
150
;
})();
};
},
async
fetch
({
store
,
params
})
{
await
store
.
dispatch
(
"loadDictionary"
);
// 加载数据字典
},
computed
:
{},
methods
:
{
checkData
(
items
)
{
// console.warn("items", items);
return
items
.
map
((
u
)
=>
{
u
.
_disabled
=
u
.
numberAvailable
<=
0
;
u
.
_checked
=
false
;
return
u
;
});
},
allchange
(
item
)
{
this
.
selectRows
=
[];
this
.
selectRows
=
item
;
},
onSelect
(
item
)
{
this
.
selectRows
=
[];
this
.
selectRows
=
item
;
},
//加入借出车
addCart
(
arr
)
{
this
.
cartListCount
=
this
.
$store
.
state
.
count
;
this
.
cartList
=
this
.
$store
.
state
.
cart
;
// console.log(this.cartListCount);
// console.log(this.cartList);
// console.log(this.selectRows);
if
(
arr
.
id
)
{
let
id
=
arr
.
id
;
if
(
arr
.
numberAvailable
>
0
)
{
const
index
=
this
.
$store
.
state
.
cart
.
findIndex
(
function
(
item
)
{
return
item
.
id
===
id
;
});
// console.log(index);
if
(
index
==
-
1
)
{
arr
.
numberAvailable1
=
arr
.
numberAvailable
;
//用于最大借出数量
this
.
cartList
.
push
(
arr
);
this
.
cartListCount
+=
1
;
this
.
$store
.
commit
(
"setCart"
,
this
.
cartList
);
this
.
$store
.
commit
(
"setCartCount"
,
this
.
cartListCount
);
this
.
$Message
.
success
(
"加入借出车成功"
);
}
else
{
this
.
$Message
.
error
(
"已加入借出车"
);
}
}
else
{
this
.
$Message
.
error
(
"资源无库存"
);
}
}
else
{
// this.$Message.success("已加入借出车,请在借出车查看");
let
arr
=
this
.
selectRows
.
concat
(
this
.
cartList
);
//两个数组对象合并
let
newArr
=
[];
//盛放去重后数据的新数组
arr
.
forEach
(
function
(
item
)
{
let
hasPush
=
false
;
newArr
.
forEach
((
item2
,
index
,
thisArr
)
=>
{
if
(
item
.
id
==
item2
.
id
)
{
hasPush
=
true
;
thisArr
[
index
]
=
{
...
item
,
...
item2
,
};
return
;
}
});
!
hasPush
&&
newArr
.
push
(
item
);
});
this
.
cartList
=
newArr
;
this
.
cartListCount
=
newArr
.
length
;
this
.
$store
.
commit
(
"setCart"
,
this
.
cartList
);
this
.
$store
.
commit
(
"setCartCount"
,
this
.
cartListCount
);
this
.
$refs
.
grid
.
load
();
this
.
$refs
.
grid
.
footerToolbar
=
false
;
}
},
//移除借出车
substr
(
value
,
index
)
{
// console.log(value);
// console.log(index);
if
(
index
>
-
1
)
{
this
.
cartListCount
-=
value
;
this
.
cartList
.
splice
(
index
,
1
);
if
(
value
==
0
||
this
.
cartList
.
length
==
0
)
{
this
.
cartListCount
=
0
;
}
this
.
$store
.
commit
(
"setCart"
,
this
.
cartList
);
this
.
$store
.
commit
(
"setCartCount"
,
this
.
cartListCount
);
}
else
{
this
.
cartListCount
=
0
;
this
.
cartList
=
[];
this
.
$store
.
commit
(
"setCart"
,
this
.
cartList
);
this
.
$store
.
commit
(
"setCartCount"
,
this
.
cartListCount
);
}
// console.log(this.$store.state.count);
// console.log(this.$store.state.cart);
},
showCart
()
{
if
(
this
.
$store
.
state
.
count
>
0
)
{
this
.
title
=
"借出车"
;
this
.
detail
=
()
=>
import
(
"./cart"
);
this
.
fscreeen
=
false
;
this
.
modal
=
true
;
}
else
{
this
.
$Message
.
error
(
"请将资源加入借出车"
);
}
},
lendingRecord
()
{
// window.open("/resource/resource/record", "_blank");
this
.
$router
.
push
(
"/resource/resource/record"
);
},
ok
()
{
this
.
$refs
.
grid
.
load
();
this
.
modal
=
false
;
this
.
fscreeen
=
false
;
this
.
cartList
=
[];
// this.curId = 0;
},
search
()
{
this
.
$refs
.
grid
.
reload
(
this
.
easySearch
);
},
add
()
{
if
(
this
.
curId
)
{
if
(
this
.
codeRuleType
==
3
)
{
this
.
title
=
"新增"
;
this
.
detail
=
()
=>
import
(
"./add"
);
this
.
fscreeen
=
false
;
this
.
modal
=
true
;
}
else
{
this
.
$Message
.
error
(
"请先选择正确的库房类型"
);
}
}
else
{
this
.
$Message
.
error
(
"请先选择库房库位"
);
}
},
copy
(
id
)
{
this
.
curId
=
id
;
this
.
title
=
"克隆"
;
this
.
detail
=
()
=>
import
(
"./add"
);
this
.
modal
=
true
;
},
remove
(
id
)
{
Api
.
delete
(
id
).
then
((
r
)
=>
{
if
(
r
.
success
)
{
this
.
$refs
.
grid
.
load
();
this
.
$Message
.
success
(
"删除成功"
);
}
});
},
logDetail
(
id
)
{
this
.
curId
=
id
;
this
.
title
=
"查看日志"
;
this
.
detail
=
()
=>
import
(
"./log"
);
this
.
fscreeen
=
false
;
this
.
modal
=
true
;
},
cancel
()
{
this
.
curId
=
0
;
this
.
modal
=
false
;
},
onHide
()
{
// this.$Message.info("收起左侧树")
this
.
showMenu
=
false
;
},
showMenuFn
()
{
//this.$Message.info("展开左侧树")
this
.
showMenu
=
true
;
},
productSearch
(
item
,
ids
,
rootName
)
{
// console.log(item);
this
.
codeRuleType
=
null
;
this
.
curId
=
item
.
id
;
this
.
type
=
[];
this
.
type
=
item
.
codeRuleType
.
split
(
","
);
if
(
this
.
type
)
{
this
.
type
.
forEach
((
e
)
=>
{
if
(
e
==
3
)
{
this
.
codeRuleType
=
3
;
}
});
}
this
.
storeTitle
=
item
.
title
;
this
.
rootName
=
rootName
.
join
(
" / "
);
this
.
materialType
=
item
.
materialType
;
let
where
=
{
storeId
:
{
op
:
"In"
,
value
:
ids
,
},
};
this
.
$refs
.
grid
.
reload
(
where
);
},
setNum
(
row
)
{
this
.
curId
=
row
.
id
;
this
.
title
=
"预警"
;
// this.detail = () => import("./setNum");
this
.
fscreeen
=
false
;
this
.
modal
=
true
;
},
//批量导入start
//导入功能
openModalIm
()
{
this
.
ModalIm
=
true
;
},
ModalImCancel
()
{
this
.
ModalIm
=
false
;
},
getData
(
val
)
{
let
url
=
`
${
resourceUrl
}
/resourceimportservice/import`
;
this
.
$refs
.
importExcel
.
deelData
(
url
,
this
.
columns
,
this
.
formatMethod
(
val
)
);
},
//根据页面二次处理数据
formatMethod
(
val
)
{
let
tempData
=
this
.
$u
.
clone
(
val
);
let
tempList
=
[];
tempData
.
forEach
((
ele
)
=>
{
let
obj
=
{
nameOfResource
:
ele
.
nameOfResource
?
ele
.
nameOfResource
:
""
,
resourceCode
:
ele
.
resourceCode
?
ele
.
resourceCode
:
""
,
code
:
ele
.
code
?
ele
.
code
:
""
,
totalNum
:
ele
.
totalNum
?
ele
.
totalNum
:
0
,
storeTitle
:
ele
.
storeTitle
?
ele
.
storeTitle
:
""
,
storeId
:
ele
.
storeId
?
ele
.
storeId
:
null
,
state
:
1
,
numberAvailable
:
ele
.
numberAvailable
?
ele
.
numberAvailable
:
0
,
json
:
{},
};
if
(
ele
.
nameOfResource
&&
ele
.
nameOfResource
!=
""
&&
ele
.
code
&&
ele
.
code
!=
""
&&
ele
.
resourceCode
&&
ele
.
resourceCode
!=
""
)
{
obj
.
ico
=
false
;
}
else
{
obj
.
ico
=
true
;
}
tempList
.
push
(
obj
);
});
return
tempList
;
},
//批量导入end
l
(
key
)
{
let
vkey
=
"resource"
+
"."
+
key
;
return
this
.
$t
(
vkey
)
||
key
;
},
},
};
</
script
>
<
style
lang=
"less"
>
.full {
margin-top: 0;
margin-top: 0;
.content {
margin-top: 6px;
.content {
margin-top: 6px;
.ivu-icon-ios-add:before {
content: "\f341";
}
.ivu-icon-ios-add:before {
content: "\f341";
}
.ivu-icon-ios-remove:before {
content: "\f33d";
}
.ivu-icon-ios-remove:before {
content: "\f33d";
}
}
}
</
style
>
pages/technology/details/routingsupporting/index.vue
View file @
f3cf84a3
...
...
@@ -94,15 +94,15 @@ export default {
import
:
true
,
},
{
key
:
"materialType"
,
title
:
this
.
l
(
"materialType"
),
align
:
"center"
,
easy
:
true
,
high
:
true
,
code
:
"mes_xingchi_resource.material.materialReType"
,
width
:
100
,
},
//
{
//
key: "materialType",
//
title: this.l("materialType"),
//
align: "center",
//
easy: true,
//
high: true,
//
code: "mes_xingchi_resource.material.materialReType",
//
width: 100,
//
},
{
key
:
"materialNumber"
,
title
:
this
.
l
(
"materialNumber"
),
...
...
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